/*************************
*******Typography******
**************************/




body {
    background: #fff;
    font-family: "メイリオ", 'Noto Sans JP', sans-serif, Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
    line-height: 180%;
    font-size: 16px;
    color: #555;
    /* letter-spacing: 0.08em; */
}

@media (min-width: 768px) {
    body {
        background: #fff;
        font-family: "メイリオ", 'Noto Sans JP', sans-serif, Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
        line-height: 180%;
        font-size: 17px;
        color: #555;
        /* letter-spacing: 0.08em; */
    }
} 

/* bootstrapcss修正
----------------------------------------------------------*/
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;
}

ul{
    margin-bottom: 0;
}


/* 汎用
----------------------------------------------------------*/
.en {
    font-family: 'Roboto', sans-serif;

}

.jp {
    font-family: 'M PLUS 1p', sans-serif;
}


/**/
/**/

/* 
a {
    outline: none;
    color: #555;
    text-decoration: underline
}

a:link,
a:visited {
    color: #555;
    text-decoration: underline
}

a:hover {
    color: #555;
    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: #555;
    text-decoration: none;
}

.decoration_none a:hover {
    color: #555;
    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_ml15 {
        margin-left: 15px;
    }

    .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_ml15 {
        margin-left: 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;
    }

    .pc_ml15 {
        margin-left: 15px;
    }
}

/*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;
    }
}

/*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_mt30 {
        margin-top: 30px;
    }
}

@media print,
screen and (min-width: 992px) {
    .tab_mt30 {
        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;
    }
}

@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_mt200 {
        margin-top: 200px;
    }
}

/*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-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.04em;
    font-size: 30px;
    line-height: 140%;
}

@media (min-width: 768px) {
    .title1 {
        font-size: 35px;
    }
}

@media (min-width: 992px) {
    .title1 {
        font-size: 38px;
    }
}

@media (min-width: 1200px) {
    .title1 {
        font-size: 40px;
    }
}

.title2 {
    letter-spacing: 0.04em;
    font-size: 22px;
    font-weight: bold;
    line-height: 130%;
}

@media (min-width: 768px) {
    .title2 {
        font-size: 25px;
        line-height: 140%;
    }
}

@media (min-width: 992px) {
    .title2 {
        font-size: 30px;
    }
}

@media (min-width: 1200px) {
    .title2 {
        font-size: 30px;
    }
}

.title3 {
    letter-spacing: 0.06em;
    font-size: 28px;
    font-weight: bold;
    line-height: 140%;
}

@media (min-width: 768px) {
    .title3 {
        font-size: 40px;
    }
}

@media (min-width: 992px) {
    .title3 {
        font-size: 60px;
    }
}

@media (min-width: 1200px) {
    .title3 {
        font-size: 80px;
    }
}

/**/


.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%;
    }
}

/**/


.midashi2 {
    font-size: 120%;
    line-height: 150%;
    margin-bottom: 15px;
    font-weight: bold;
    border-bottom: 1px solid #555;
    padding-bottom: 7px;
    color: #555;
}

@media (min-width: 768px) {
    .midashi2 {
        font-size: 20px;
        margin-bottom: 15px;
    }
}

@media (min-width: 992px) {
    .midashi2 {
        font-size: 23px;
        margin-bottom: 30px;
    }
}

.midashi3 {
    font-size: 120%;
    line-height: 150%;
    margin-bottom: 10px;
    font-weight: bold;
    color: #fff;
    background: #555;
    padding: 8px;
}

@media (min-width: 768px) {
    .midashi3 {
        font-size: 20px;
        margin-bottom: 20px;
        padding: 10px;
    }
}

@media (min-width: 992px) {
    .midashi3 {
        font-size: 23px;
        margin-bottom: 40px;
    }
}





/* table
----------------------------------------------------------*/
.table1 {
    width: 100%;
    border-collapse: collapse;
    border-right: 1px solid #555;
    border-left: 1px solid #555;
    border-bottom: 1px solid #555;
}

.table1 th {
    width: 100%;
    padding: 10px 10px 10px 10px;
    display: block;
    background: #fef9e4;
    border-top: 1px solid #555;
}

.table1 td {
    width: 100%;
    padding: 10px;
    display: block;
    background: #fff;

}

@media print,
screen and (min-width: 768px) {
    .table1 th {
        width: 28%;
        padding: 15px 12px;
        vertical-align: middle;
        display: table-cell;
        border: 1px solid #555;
        text-align: center;
    }

    .table1 td {
        width: 100%;
        padding: 15px;
        display: table-cell;
        vertical-align: middle;
        border: 1px solid #555;
    }
}

@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-bottom: 1px solid #555;
}

.table2 th {
    width: 100%;
    padding: 10px 10px 0px 10px;
    display: block;
}

.table2 td {
    width: 100%;
    padding: 3px 10px 10px 10px;
    display: block;

}

@media print,
screen and (min-width: 768px) {
    .table2 th {
        width: 28%;
        padding: 15px 12px;
        vertical-align: middle;
        display: table-cell;
        border-bottom: 1px solid #555;
        text-align: center;
    }

    .table2 td {
        width: 100%;
        padding: 15px;
        display: table-cell;
        vertical-align: middle;
        border-bottom: 1px solid #555;
    }
}

@media print,
screen and (min-width: 992px) {
    .table2 th {
        width: 28%;
        padding: 25px 15px;
    }

    .table2 td {
        padding: 25px 15px;
    }
}

.table2 ul {
    margin: 0;
}

/**/
.table3 {
    width: 100%;
    border-collapse: collapse;
    border-right: 1px solid #0b2d7f;
    border-left: 1px solid #0b2d7f;
    border-bottom: 1px solid #0b2d7f;
}

.table3 th {
    width: 100%;
    padding: 10px 10px 10px 10px;
    display: block;
    background: #0099ff;
    border-top: 1px solid #0b2d7f;
    color: #fff;
}

.table3 td {
    width: 100%;
    padding: 10px;
    display: block;
    background: #fff;

}

@media print,
screen and (min-width: 768px) {
    .table3 th {
        width: 28%;
        padding: 15px 12px;
        vertical-align: middle;
        display: table-cell;
        border: 1px solid #0b2d7f;
        text-align: center;
    }

    .table3 td {
        width: 100%;
        padding: 15px;
        display: table-cell;
        vertical-align: middle;
        border: 1px solid #0b2d7f;
    }
}

@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: center;
    border: 1px solid #555;
    white-space: nowrap;
    background: #fef9e4;
}

.table_noblock td {
    padding: 10px;
    vertical-align: middle;
    border: 1px solid #555;
    overflow-wrap: break-word;
}

@media screen and (min-width:768px) {
    .table_noblock th {
        padding: 10px 15px;
    }

    .table_noblock td {
        padding: 10px 15px;
    }
}

/**/
.table_noblock2 {
    width: 100%;
    border-collapse: collapse;
}

.table_noblock2 th {
    padding: 10px;
    vertical-align: middle;
    text-align: center;
    border: 1px solid #555;
    white-space: nowrap;
    background: #555;
    color: #fff;
}

.table_noblock2 td {
    padding: 10px;
    vertical-align: middle;
    border: 1px solid #555;
    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
---------------------------------------------------- */







.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;
}

.green {
    color: #1fcc83;
}

.yellow {
    color: #f6e000;
}

.orange {
    color: #ea7427;
}

.red {
    color: #1fcc83;
}

.pink {
    color: #f078ad;
}


/* 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;
}




.m_font {
    font-size: 110%;
    line-height: 160%;
}

@media (min-width: 768px) {
    .m_font {
        font-size: 18px;
        line-height: 1.6em;
    }
}

@media (min-width: 992px) {
    .m_font {
        font-size: 20px;
        line-height: 1.8em;
    }
}

.l_font {
    font-size: 25px;
    line-height: 150%;
}
@media (min-width: 768px) {
    .l_font {
        font-size: 28px;
        line-height: 150%;
    }
}
@media (min-width: 992px) {
    .l_font {
        font-size: 30px;
        line-height: 1.7em;
    }
}


.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: 35px;
    }
}

@media (min-width:1600px) {
    .ll_font {
        font-size: 40px;
    }
}




/* 余白
----------------------------------------------------------*/
.space {
    padding: 40px 0;
}

@media (min-width: 768px) {
    .space {
        padding: 60px 0;
    }
}

@media (min-width: 992px) {
    .space {
        padding: 60px 0;
    }
}

.space2 {
    padding: 40px 0;
}

@media (min-width: 768px) {
    .space2 {
        padding: 80px 0;
    }
}

@media (min-width: 992px) {
    .space2 {
        padding: 120px 0;
    }
}

.space3 {
    padding: 40px 0;
}

@media (min-width: 768px) {
    .space3 {
        padding: 80px 0;
    }
}

@media (min-width: 992px) {
    .space3 {
        padding: 140px 0;
    }
}

.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;
    }
}

.space6 {
    padding: 40px 0 0;
}

@media (min-width: 768px) {
    .space6 {
        padding: 80px 0 0;
    }
}

@media (min-width: 992px) {
    .space6 {
        padding: 120px 0 0;
    }
}


/**/



/* 縦横比固定
----------------------------------------------------------*/
.photo-ofi {
    height: 0;
    display: block;
    padding-bottom: 75%;
    /* 高さを指定（ボックスの横幅を基準） */
    /*background-color: #EFEFEF;*/
    overflow: hidden;
    position: relative;
    /*margin-bottom: 10px;*/
}

.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;
}

.object-fit img {
    object-fit: cover;
    font-family: 'object-fit: cover;';
    /*IE対策*/
}


/* tel
----------------------------------------------------------*/
.tel_link a:link,
.tel_link a:visited {
    color: #555;
    text-decoration: none
}

.tel_link a:hover {
    color: #555;
    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_linkblue a:link,
.tel_linkblue a:visited {
    color: #1fcc83;
    text-decoration: none
}

.tel_linkblue a:hover {
    color: #1fcc83;
    text-decoration: none
}

/*---*/



/* sp_tel
----------------------------------------------------------*/
.sp_telicon {
    font-size: 35px;
    text-align: right;
    margin-top: 16px;
    color: #555111;
}

@media print,
screen and (min-width: 576px) {
    .sp_telicon {
        margin-top: 20px;
    }
}

.sp_telicon a:link,
.sp_telicon a:visited {
    color: #555;
    text-decoration: none
}

.sp_telicon a:hover {
    color: #555;
    text-decoration: none
}

.sp_telicon .fa {
    margin: 0;
}




/* 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: #555;
}

.read_more.inversion .read_more_circle::before {
    background: #555;
}

@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;
}

/**/




.btn1 {
    text-align: center;
    display: block;
    color: #fff;
}

.btn1 a:link,
.btn1 a:visited {
    color: #fff;
    text-decoration: none;
    padding: 7px 5px;
    display: block;
    background: #1fcc83;
    border-bottom-left-radius: 20px;
}

.btn1 a:hover {
    background: #656565;
    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) {

    .btn1 a:link,
    .btn1 a:visited {
        padding: 10px 0px;
    }

    .btn1 a:hover {
        padding: 10px 0px;
    }
}

@media print,
screen and (min-width: 1200px) {

    .btn1 a:link,
    .btn1 a:visited {
        padding: 15px 0px;
    }

    .btn1 a:hover {
        padding: 15px 0px;
    }
}

.btn1 .far {
    font-size: 1.5em;
}

/**/

.btn2 {
    text-align: center;
    display: block;
    color: #fff;
    font-weight: bold;
}

.btn2 a:link,
.btn2 a:visited {
    color: #fff;
    text-decoration: none;
    padding: 7px 5px;
    display: block;
    background: #1fcc83;
}

.btn2 a:hover {
    background: #656565;
    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) {

    .btn2 a:link,
    .btn2 a:visited {
        padding: 25px 0px;
    }

    .btn2 a:hover {
        padding: 25px 0px;
    }
}

@media print,
screen and (min-width: 1200px) {

    .btn2 a:link,
    .btn2 a:visited {
        padding: 25px 0px;
    }

    .btn2 a:hover {
        padding: 25px 0px;
    }
}

.btn2 .far {
    font-size: 1.5em;
}


/*問い合わせページメールボタン*/

.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: #656565;
}

.hover_btn1 a:hover {
    background: #656565;
    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;
    }
}

/*------*/



/*背景が流れる（左から右）*/
/*== ボタン共通設定 */
.btn_anime {
    /*アニメーションの起点とするためrelativeを指定*/
    position: relative;
    overflow: hidden;
    /*ボタンの形状*/
    text-decoration: none;
    display: block;
    border: 1px solid #1fcc83;
    background: #1fcc83;
    padding: 12px 30px;
    text-align: center;
    outline: none;
    /*アニメーションの指定*/
    transition: ease .2s;
    border-radius: 30px;
}

/*ボタン内spanの形状*/
.btn_anime span {
    position: relative;
    z-index: 3;
    /*z-indexの数値をあげて文字を背景よりも手前に表示*/
    color: #fff;
}

.btn_anime:hover span {
    color: #1fcc83;
}

/*== 背景が流れる（左から右） */
.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: 250px;
    }
}

/*背景が流れる（左から右）*/
/*== ボタン共通設定 */
.btn_anime2 {
    /*アニメーションの起点とするためrelativeを指定*/
    position: relative;
    overflow: hidden;
    /*ボタンの形状*/
    text-decoration: none;
    display: block;
    border: 1px solid #fff;
    background: #fff;
    padding: 12px 30px;
    text-align: center;
    outline: none;
    /*アニメーションの指定*/
    transition: ease .2s;
    border-radius: 30px;
}

/*ボタン内spanの形状*/
.btn_anime2 span {
    position: relative;
    z-index: 3;
    /*z-indexの数値をあげて文字を背景よりも手前に表示*/
    color: #1fcc83;
}

.btn_anime2:hover span {
    color: #fff;
}

/*== 背景が流れる（左から右） */
.bgleft2:before {
    content: '';
    /*絶対配置で位置を指定*/
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    /*色や形状*/
    background: #1fcc83;
    /*背景色*/
    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: 250px;
    }
}

@media print,
screen and (min-width: 992px) {
    .btn_anime2 {
        width: 240px;
    }
}

@media print,
screen and (min-width:1400px) {
    .btn_anime2 {
        width: 280px;
    }
}

/**/

.btn_anime3 {
    /*アニメーションの起点とするためrelativeを指定*/
    position: relative;
    overflow: hidden;
    /*ボタンの形状*/
    text-decoration: none;
    display: block;
    border: 1px solid #ea7427;
    background: #ea7427;
    padding: 12px 30px;
    text-align: center;
    outline: none;
    /*アニメーションの指定*/
    transition: ease .2s;
    border-radius: 30px;
}

/*ボタン内spanの形状*/
.btn_anime3 span {
    position: relative;
    z-index: 3;
    /*z-indexの数値をあげて文字を背景よりも手前に表示*/
    color: #fff;
}

.btn_anime3:hover span {
    color: #fff;
}

/*== 背景が流れる（左から右） */
.bgleft3:before {
    content: '';
    /*絶対配置で位置を指定*/
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    /*色や形状*/
    background: #febb08;
    /*背景色*/
    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した際の形状*/
.bgleft3:hover:before {
    transform-origin: left top;
    transform: scale(1, 1);
}

@media print,
screen and (min-width: 768px) {
    .btn_anime3 {
        padding: 20px 30px;
        border-radius: 40px;
    }
}


/*背景が流れる（左から右）*/
/*== ボタン共通設定 */
.btn_anime4 {
    /*アニメーションの起点とするためrelativeを指定*/
    position: relative;
    overflow: hidden;
    /*ボタンの形状*/
    text-decoration: none;
    display: block;
    border: 1px solid #1fcc83;
    background: #1fcc83;
    padding: 12px 30px;
    text-align: center;
    outline: none;
    /*アニメーションの指定*/
    transition: ease .2s;
    border-radius: 30px;
}

/*ボタン内spanの形状*/
.btn_anime4 span {
    position: relative;
    z-index: 3;
    /*z-indexの数値をあげて文字を背景よりも手前に表示*/
    color: #fff;
}

.btn_anime4:hover span {
    color: #1fcc83;
}

/*== 背景が流れる（左から右） */
.bgleft4: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した際の形状*/
.bgleft4:hover:before {
    transform-origin: left top;
    transform: scale(1, 1);
}

@media print,
screen and (min-width: 768px) {
    .btn_anime4 {
        width: 350px;
    }
}
/**/
.btn_anime5 {
    /*アニメーションの起点とするためrelativeを指定*/
    position: relative;
    overflow: hidden;
    /*ボタンの形状*/
    text-decoration: none;
    display: block;
    border: 1px solid #1fcc83;
    background: #1fcc83;
    padding: 12px 10px;
    text-align: center;
    outline: none;
    /*アニメーションの指定*/
    transition: ease .2s;
    border-radius: 30px;
}

/*ボタン内spanの形状*/
.btn_anime5 span {
    position: relative;
    z-index: 3;
    /*z-indexの数値をあげて文字を背景よりも手前に表示*/
    color: #fff;
}

.btn_anime5:hover span {
    color: #1fcc83;
}

/*== 背景が流れる（左から右） */
.bgleft5: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した際の形状*/
.bgleft5:hover:before {
    transform-origin: left top;
    transform: scale(1, 1);
}







/*-------背景が流れる（左から右）ここまで----------*/


.morebtn {
    text-align: center;
    display: block;
    font-weight: bold;
}

.morebtn a:link,
.morebtn a:visited {
    color: #fff;
    text-decoration: none;
    padding: 20px 10px;
    display: block;
    background: #1fcc83;
    border-radius: 30px;
}

.morebtn a:hover {
    color: #fff;
    background: #555;
    border-radius: 30px;
    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: 300px;
        font-weight: bold;
    }

    .morebtn a:link,
    .morebtn a:visited {
        padding: 12px 10px;
    }

    .morebtn a:hover {
        padding: 12px 10px;
    }
}





/*--------*/


.morebtn2 {
    text-align: center;
    display: block;
}

.morebtn2 a:link,
.morebtn2 a:visited {
    color: #fff;
    text-decoration: none;
    padding: 20px 10px;
    display: block;
    background: #1a49ba;
}

.morebtn2 a:hover {
    color: #fff;
    background: #656565;
    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) {

    .morebtn2 a:link,
    .morebtn2 a:visited {
        padding: 20px 10px;
    }

    .morebtn2 a:hover {
        padding: 20px 10px;
    }
}

/*--------*/


/*--------*/


.morebtn_white {
    text-align: center;
    display: block;
    font-weight: bold;

}

.morebtn_white a:link,
.morebtn_white a:visited {
    color: #1fcc83;
    background: #fff;
    text-decoration: none;
    padding: 20px 10px;
    display: block;
    border-radius: 30px;
}

.morebtn_white a:hover {
    color: #fff;
    background: #656565;
    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_white a:link,
    .morebtn_white a:visited {
        padding: 20px 10px;
    }

    .morebtn_white a:hover {
        padding: 20px 10px;
    }
}

@media print,
screen and (min-width: 768px) {
    .morebtn_white {
        width: 300px;
    }
}

/*--------*/

.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: #1fcc83;
    font-weight: bold;
    font-size: 2em;
}

.circlebtn a:hover {
    color: #fff;
    background: #656565;
    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: 30px;
}

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 #555;
}

@media print,
screen and (min-width: 768px) {
    .text_box {
        padding: 20px;
    }
}

@media print,
screen and (min-width: 992px) {
    .text_box {
        padding: 50px;
    }
}

@media print,
screen and (min-width: 1200px) {
    .text_box {
        padding: 80px;
    }
}

/**/


.text_box2 {
    padding: 20px;
    border: 1px solid #555;
}

@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
---------------------------------------------------- */
.h2_tit {
    text-align: center;
    padding: 40px 0px;
    font-size: 28px;
    line-height: 120%;
    font-weight: bold;
    /* -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; */
    color: #fff;
    text-shadow: 2px 2px 8px #555;
    letter-spacing: 0.10em;
}

@media print,
screen and (min-width: 768px) {
    .h2_tit {
        padding: 60px 0;
        font-size: 38px;
        letter-spacing: 0.15em;

    }
}

@media print,
screen and (min-width: 992px) {
    .h2_tit {
        padding: 120px 0 120px;
        font-size: 45px;
    }
}





/* brandsブランドページ
----------------------------------------------------------*/

.lh120{line-height: 120%;}

.midashi4 {
    font-size: 120%;
    line-height: 140%;
    margin-bottom: 15px;
    font-weight: 600;
    border-left: 5px solid #5f9474;
    padding-left: 10px;
}
@media (min-width: 768px) {
    .midashi4 {
        font-size: 26px;
        margin-bottom: 20px;
    }
}
@media (min-width: 992px) {
    .midashi4 {
        font-size: 26px;
        margin-bottom: 30px;
    }
}

.brand_box{
    padding: 10px;
    border: 1px solid #555;
}
@media (min-width: 768px) {
    .brand_box{
        padding:20px;
    }
}
@media (min-width: 992px) {
    .brand_box{
        padding:30px;
    }
}

.brand_space {
    padding: 0px 0 40px;
}

@media (min-width: 768px) {
    .brand_space {
        padding: 0px 0 80px;
    }
}

@media (min-width: 992px) {
    .brand_space {
        padding: 0px 0 100px;
    }
}

.midashi_brand {
    font-size: 120%;
    line-height: 150%;
    margin-bottom: 15px;
    font-weight: 600;
    color: #5f9474;
}
@media (min-width: 768px) {
    .midashi_brand {
        font-size: 20px;
        margin-bottom: 15px;
    }
}
@media (min-width: 992px) {
    .midashi_brand {
        font-size: 23px;
        margin-bottom: 20px;
    }
}

.midashi_brand2 {
    font-size: 120%;
    line-height: 150%;
    font-weight: 600;
    color: #5f9474;
}
@media (min-width: 768px) {
    .midashi_brand2 {
        font-size: 20px;
    }
}
@media (min-width: 992px) {
    .midashi_brand2 {
        font-size: 23px;
    }
}
/**/
.midashi_brand3 {
    font-size: 120%;
    line-height: 150%;
    font-weight: 600;
}
@media (min-width: 768px) {
    .midashi_brand3 {
        font-size: 20px;
    }
}
@media (min-width: 992px) {
    .midashi_brand3 {
        font-size: 23px;
    }
}


/* 折り畳み*/
.fp-accordion .newstit {
	margin: 0;
    color: #fff;
	padding: 15px 10px;
	cursor: pointer;
    border: none !important;
    background: #666;
    /* border-radius: 10px; */
    display: block;
}

@media print,
screen and (min-width: 992px) {
 .fp-accordion .newstit {
	font-size: 17px;
	/* font-weight: 900; */
	margin: 0;
    color: #fff;
	padding: 10px 10px;
	cursor: pointer;
    border: none !important;
    background: #666;
    /* border-radius: 10px; */
    
}   
}

/* .faqwrper {
	margin: 30px 0 0;
} */
.faqwrper .newstit span {
	font-weight: 600;
}
.fp-accordion .toggle-content {
	display: none;
}
.fp-accordion .icons {
	display: inline-block;
	text-align: center;
	position: relative;
	cursor: pointer;
	transition: 0.5s;
    margin-left: 10px;
}
.fp-accordion .icons .fa {
	font-size: 14px;
	color: #DD5D50;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition: 0.5s;
}
.fp-accordion .icons .fa:last-child {
	opacity: 0;
}
.fp-accordion .icons:hover {
	background-color: #DD5D50;
}
.fp-accordion .icons:hover .fa {
	color: #fff;
}
.fp-accordion.active .toggle-content {
	display: block;
}
.fp-accordion.active .icons {
	background-color: #DD5D50;;
}
.fp-accordion.active .fa:last-child {
	opacity: 1;
	color: #fff;
}
.fp-accordion.active .fa:first-child {
	opacity: 0;
}
.fp-accordion.style-1 {
    background-color: #fff;
	border: 1px solid #ccc;
	margin-bottom: 10px;
	padding: 10px 5px 10px 10px;
    /* border-radius: 10px; */
}
.fp-accordion.style-1 .toggle-content, .fp-accordion.style-1 h3 {
	margin-right: 5px;
}
.fp-accordion.style-1 .toggle-content {
	padding: 10px 0 0;
}
.fp-accordion.style-1 .icons {
	width: 35px;
	height: 35px;
	line-height: 35px;
	margin-top: 10px;
    margin-right: 5px;
	border-radius: 50%;
	float: right;
}
@media print,
screen and (min-width: 992px) {
    .fp-accordion.style-1 .icons {
        margin-top: 7px;
    }
}


.fp-accordion.style-1 .icons .fa {
	font-size: 18px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition: 0.5s;
}
.fp-accordion.style-1 .icons .fa:last-child {
	opacity: 0;
}
.fp-accordion.style-1 .icons:hover .fa {
	color: #fff;
}
.fp-accordion.style-1.active .toggle-content {
	display: block;
}
.fp-accordion.style-1.active .fa:last-child {
	opacity: 1;
	color: #fff;
}
.fp-accordion.style-1.active .fa:first-child {
	opacity: 0;
}
/**/

/*boot icon*/
.bi-arrow-right-circle{
    margin-right: 5px;
}
/**/

/* カテゴリ */
.category_list {
    list-style: none;
}

.category_list li a {
    border-radius: 5px;
    display: inline-block;
    border: 1px solid #5f9474;
    background: #5f9474;
    text-align: center;
    line-height: normal;
    font-size: 1em;
    color: #fff;
    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: #fff;
    color: #5f9474 !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: #5f9474;
    border-radius: 5px;

}

.category_list .active:hover {
    background-color: #5f9474;
    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 10px;

    }
}

@media print,
screen and (min-width: 992px) {
    .category_list {
        /*    margin-bottom: 60px; */
    }

    .category_list li {
        width: calc(25% - 5px);
    }

    .category_list li a {
        padding: 12px 10px;
        font-size: 1.0em;
    }
}

/**/




/* 印刷改行
----------------------------------------------------------*/
.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 !important;
        margin-left:0;
        font-size: 6px;
    }

    .menu>ul>li a {
        padding:0 !important;
        margin-left:0;
        font-size: 6px;
    }

    /**/


    /*top*/

    .sidebtn{
        display: none;
    }

    .pickup_absolute {
        margin: 0;
        position: absolute;
        left: 2%;
        top: 40%;
        z-index: 999;
        width: 37%;
    }


    #main_mt {
        margin-top: 100px;
    }

    .btn_anime2 {
        width: 200px;
    }

    .imgtext_inr5 {
        padding: 20px;
    }

    .imgtext_item5 img {
        height: 300px;
    }

    .h2_tit {
        padding: 40px 0 40px;
        font-size: 30px;
    }

    .h2_sub {
        padding: 0px 0 40px;
    }





    /*印刷時matchHeight無効*/

    .mheight {
        height: 100% !important;
    }
















    /*footer*/
    .contact_bg {
        background: #0a2639;
    }


    .copy {
        font-size: 12px;
    }

    .footer_telnum {
        font-size: 35px;
    }













    /*印刷時matchHeight無効*/
    /*
    .mheight {
        height: 100% !important;
    }

    .mheight2 {
        height: 100% !important;
    }
*/


    /*印刷時非表示*/
    .display_none {
        display: none !important;
    }



}