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




body {
    background: #000;
    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: #fff;
}

@media (min-width: 768px) {
    body {
        background: #000;
        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: #fff;
        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: "Oswald", sans-serif;
}

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

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

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

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

.clear {
    clear: both;
}



.left02 {
    float: left;
}

.right02 {
    float: right;
}

@media print,
screen and (min-width: 992px) {
    .pc_right {
    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: #fff;
    text-decoration: none;
}

.decoration_none a:hover {
    color: #fff;
    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;
}
.ml30 {
    margin-left: 30px;
}

/*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 {
    /* display: -webkit-flex;
    display: flex;
    align-items: center; */
    font-weight: 700;
    font-size: 90%;
    line-height: 1.4em;
    color: #b79960;
}

.title1.white {
    color: #fff;
}

.title1 i {
    font-size: 6px;
    margin-right: 10px;
}

.title1_en {
    font-family: "Oswald", sans-serif;
    font-weight: normal;
    font-size: 300%;
    line-height: 1.4em;
    color: #b79960;
}

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

    .title1 {
        font-size: 150%;
    }
}

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

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

    .title1 {
        font-size: 20px;
    }
}

.title1_en.white {
    color: #fff;
}

/**/
.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 #fff;
    padding-bottom: 7px;
    color: #fff;
    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;
    }
}



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

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

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

}

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

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

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

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

.table1 ul {
    margin: 0;
}

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

.table2 th {
    width: 1%;
    white-space: nowrap;
    background: #000;
    border-bottom: 1px solid #ccc;
    box-sizing: border-box;
    padding: 5px;
    vertical-align: middle;
    font-weight: normal;
    text-align: center;
}

.table2 td {
    /*  background: #000;*/
    border-bottom: 1px solid #ccc;
    box-sizing: border-box;
    padding: 5px;
    vertical-align: middle;
}

/**/

.table4 {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    background: #000;
}

.table4 th {
    width: 1%;
    white-space: nowrap;
    background: #000;
    border: 1px solid #ccc;
    box-sizing: border-box;
    padding: 8px 5px;
    vertical-align: middle;
    font-weight: normal;
    text-align: center;
}

.table4 td {
    background: #000;
    border: 1px solid #ccc;
    box-sizing: border-box;
    padding: 8px 5px;
    vertical-align: middle;
    text-align: center;
}



.sp_bg {
    background: #f1f1f1;
}

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

/**/
.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: #000;
}

.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: #b79960;
}

.bg_blue2 {
    background: #bfcce4;
}



.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-left: 40px;
    }
}

@media print,
screen and (min-width:1200px) {
    .text_padding {
        padding-top: 80px;
        padding-left: 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: #000;
    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: #fff;
}

.gold {
    color: #b79960;
}

.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: 20px;
        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: 50px 0;
}

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

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

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

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

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

.space3 {
    padding: 50px 0 0px;
}

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

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

.space4 {
    padding: 20px 0;
}

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

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

.space5 {
    padding: 20px 0;
}

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

@media (min-width: 992px) {
    .space5 {
        padding: 80px 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: #000;
    width: 100%;
} */



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

@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: 10px 0px 10px 0px;
    }
}

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

/**/

.lh_normal {
    line-height: normal;
}

.lh_0 {
    line-height: 0%;
}

.header_tel {
    font-size: 16px;
}

@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: 25px;
    }
}

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

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


.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: #fff;
    text-decoration: none
}

.tel_link a:hover {
    color: #fff;
    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: #fff;
    text-decoration: none
}

.sp_telicon a:hover {
    color: #fff;
    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: #b79960;
    text-decoration: none;
    background: #eee;
    -webkit-transition: 0.8s;
    -moz-transition: 0.8s;
    -o-transition: 0.8s;
    -ms-transition: 0.8s;
    transition: 0.8s;
}

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

.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: #b79960;
        text-decoration: none;
        /* border-bottom: 1px solid #fff; */
        background: none;
    }

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

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

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

/*ダウン　active*/
.activedown{
        color: #b79960;
    }


/*アニメ*/
@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: #000;
        /*下線の色*/
        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: #b79960;
}

.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: #000;
    margin-top: 12px;
    margin-right: 15px;
}


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

.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-color: rgba(0, 0, 0, 1);
    }

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

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

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

    @media screen and (min-width:830px) {
        .sp_header .navi100 {
            top: 10%;
        }
    }



    /*
    .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: #000;
    }
}

/*
@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: #000;
    }
}
*/



/*
@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: #fff;
}

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

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

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

}

.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: #fff;
}

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

.navbar-light .navbar-text a:hover,
.navbar-light .navbar-text a:focus {
    color: #fff;
    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: #fff;
}








/*英語小文字*/
/* .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(0, 0, 0, 1);
    }

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

}


/*sns*/
.sns{
    margin-top:25px;
}
.sns a:link,
.sns a:visited {
    color: #fff;
    text-decoration: none;
    line-height: normal;
}
.sns a:hover {
    color: #b79960;
    text-decoration: none;
    -webkit-transition: 0.8s;
    -moz-transition: 0.8s;
    -o-transition: 0.8s;
    -ms-transition: 0.8s;
    transition: 0.8s;
}

.sns .bi{margin-right: 5px;}

/*== ボタン共通設定 */
.snsbtn_anime {
    /*アニメーションの起点とするためrelativeを指定*/
    position: relative;
    overflow: hidden;
    /*ボタンの形状*/
    text-decoration: none;
    display: block;
    border: 1px solid #b79960;
    /* border-radius: 30px; */
    background: #b79960;
    padding:3px 5px;
    text-align: center;
    outline: none;
    font-weight: bold;
    /*アニメーションの指定*/
    transition: ease .2s;
}

@media print,
screen and (min-width:1200px) {
    .snsbtn_anime {
        padding:3px 5px;
    }
}

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

.snsbtn_anime:hover span {
    color: #b79960;
}

/*== 背景が流れる（左から右） */
.snsbgleft:before {
    content: '';
    /*絶対配置で位置を指定*/
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    /*色や形状*/
    background: #000;
    /*背景色*/
    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した際の形状*/
.snsbgleft:hover:before {
    transform-origin: left top;
    transform: scale(1, 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: 17px;
    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: 17px;
    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: #b79960;
}

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

@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;
}

/**/

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

.read_more2 {
    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_more2 {
        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_more2 {
        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_more2 {
        position: relative;
        display: inline-flex;
        align-items: center;
        height: 148px;
        margin-left: -37px;
        padding-left: 128px;
        line-height: 1.8;
    }
}


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

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


.read_more_text2 {
    font-size: 17px;
    font-weight: 700;
    transition: .2s ease-out;
}

.read_more_circle2 {
    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_circle2 {
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        width: 148px;
        height: 148px;
        border-radius: 50%;
        overflow: hidden;
        z-index: 0;
    }
}


.read_more_circle2::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_circle2::after {
    transform: translateY(-50%);
    content: attr(data-text);
    position: absolute;
    top: 50%;
    left: 128px;
    /* border-bottom: 1px solid transparent; */
    font-size: 17px;
    font-weight: 700;
    line-height: 1.8;
    color: #b79960;
    white-space: nowrap;
    opacity: 0;
    transition: opacity .5s cubic-bezier(.19, 1, .22, 1);
}

.read_more2.inversion2 .read_more_text2 {
    color: #fff;
}

.read_more2.inversion2 .read_more_circle2::before {
    background: #000;
}

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

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

    .read_more2:hover .read_more_circle2::after {
        opacity: 1;
    }

    .read_more2:hover .read_more_text2 {
        border-bottom-color: transparent !important;
    }
}


/**/


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

@media print,
screen and (min-width:1200px) {
    .btn_anime {
        padding:3px 5px;
    }
}

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

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

/*== 背景が流れる（左から右） */
.bgleft:before {
    content: '';
    /*絶対配置で位置を指定*/
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    /*色や形状*/
    background: #000;
    /*背景色*/
    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: 992px) {
    .header_margin {
        margin: 5px 0 0;
    }
}

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

@media print,
screen and (min-width: 1200px) {
    .header_margin2 {
        margin: 10px 0 0;
    }
}

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

@media print,
screen and (min-width:1200px) {
    .btn_anime2 {
        padding: 15px 10px;
    }
}

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

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

/*== 背景が流れる（左から右） */
.bgleft2:before {
    content: '';
    /*絶対配置で位置を指定*/
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    /*色や形状*/
    background: #000;
    /*背景色*/
    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: 350px;
    }
}

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


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

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

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

.btn_anime3:hover span {
    color: #b79960;
}

/*== 背景が流れる（左から右） */
.bgleft3:before {
    content: '';
    /*絶対配置で位置を指定*/
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    /*色や形状*/
    background: #000;
    /*背景色*/
    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);
}

/*== ボタン共通設定 */
.btn_anime4 {
    /*アニメーションの起点とするためrelativeを指定*/
    position: relative;
    overflow: hidden;
    /*ボタンの形状*/
    text-decoration: none;
    display: block;
    border: 1px solid #b79960;
    border-radius: 30px;
    background: #b79960;
    padding: 15px 15px;
    text-align: center;
    outline: none;
    /*アニメーションの指定*/
    transition: ease .2s;
}

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

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

.btn_anime4:hover span {
    color: #b79960;
}

/*== 背景が流れる（左から右） */
.bgleft4:before {
    content: '';
    /*絶対配置で位置を指定*/
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    /*色や形状*/
    background: #000;
    /*背景色*/
    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 #b79960;
    border-radius: 30px;
    background: #b79960;
    padding: 15px 15px;
    text-align: center;
    outline: none;
    /*アニメーションの指定*/
    transition: ease .2s;
}

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

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

.btn_anime5:hover span {
    color: #b79960;
}

/*== 背景が流れる（左から右） */
.bgleft5:before {
    content: '';
    /*絶対配置で位置を指定*/
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    /*色や形状*/
    background: #000;
    /*背景色*/
    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);
}

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

/*== ボタン共通設定 */
.btn_anime6 {
    /*アニメーションの起点とするためrelativeを指定*/
    position: relative;
    overflow: hidden;
    /*ボタンの形状*/
    text-decoration: none;
    display: block;
    border: 1px solid #b79960;
    border-radius: 30px;
    background: #000;
    padding: 15px 15px;
    text-align: center;
    outline: none;
    /*アニメーションの指定*/
    transition: ease .2s;
}

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

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

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

/*== 背景が流れる（左から右） */
.bgleft6:before {
    content: '';
    /*絶対配置で位置を指定*/
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    /*色や形状*/
    background: #b79960;
    /*背景色*/
    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した際の形状*/
.bgleft6:hover:before {
    transform-origin: left top;
    transform: scale(1, 1);
}

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



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

.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: #fff;
    text-decoration: none;
    padding: 20px 10px;
    display: block;
    background: #000;
}

.morebtn_white a:hover {
    color: #fff;
    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;
}


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



/*添付取り消しボタン*/
.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: #000;
}

@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;
    }
}



/**/


/* anime
---------------------------------------------------- */

.grid figure figcaption {
    padding: 1em;
}

.effect-bubba h3 {
    font-size: 20px;
    font-weight: bold !important;
}

@media (min-width: 768px) {
    .effect-bubba h3 {
        font-size: 21px;
    }
}

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

.grid figure p {
    font-size: 16px;
}

@media (min-width: 768px) {
    .grid figure p {
        font-size: 16px;
    }
}

.effect-bubba {
    margin-bottom: 0px;
    height: auto;
    max-height: 400px;
}

@media (min-width: 768px) {
    .effect-bubba {
        margin-bottom: 0px;
        height: auto;
        max-height: 600px;
    }
}

figure.effect-bubba h3 {
    padding-top: 40%;
}

@media (min-width: 768px) {
    figure.effect-bubba h3 {
        padding-top: 50%;
    }
}

@media (min-width: 992px) {
    figure.effect-bubba h3 {
        padding-top: 60%;
    }
}


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

.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/contact_h2.jpg) no-repeat scroll 50% 50% / cover;
}

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

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

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

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

.h2_tit {
    text-align: center;
    padding: 5px 0px 40px;
    font-size: 120%;
    line-height: 120%;
    font-weight: 700;
    /* -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: 5px 0px 60px;
        font-size: 20px;
        letter-spacing: 0.15em;

    }
}

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

.h2_sub {
    text-align: center;
    font-weight: normal;
    font-size: 300%;
    line-height: 1.4em;
    color: #fff;
    text-shadow: 2px 2px 8px #111;
    letter-spacing: 0.10em;
    padding-top: 60px;
}

@media print,
screen and (min-width: 768px) {
    .h2_sub {
        font-size: 350%;
        padding-top: 60px;
    }
}

@media print,
screen and (min-width: 992px) {
    .h2_sub {
        font-size: 500%;
        padding-top: 150px;
    }
}

/**/
.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: "Oswald", sans-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; */
}

.swiper-slide img {
    height: 65vh;
    width: 100%;
    object-fit: cover;
}

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

@media (min-width: 992px),
print {
    .swiper-slide img {
        object-fit: cover;
        height: 100%;
    }
}


/*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;
    width: 100%;
    overflow: hidden;
}

#mainimage .main_moji {
    z-index: 2;
    position: absolute;
    top: 50%;
    left: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    width: 100%;
}

#mainimage .main_moji img {
    width: 90%;
    max-width: 1224px;
    margin: 0 auto;
    /*ゆっくり動かす（ポイントはhoverではなくaの箇所のcssに記載）*/
    -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) {
    #mainimage .main_moji img {
        width: 80%;
    }
}

.swiper-button-next,
.swiper-button-prev {
    z-index: 200 !important;
    position: absolute !important;
}

#mainimage .main_moji h2 {
    position: relative;
    z-index: 0;
    max-width: 1224px;
    margin: 0 auto;
}

#mainimage .main_moji h2 .maru {
    position: absolute;
    left: 0;
    top: 0;
}

#mainimage.move .main_moji {
    top: auto;
    bottom: 5%;
    left: 5%;
    width: auto;
}

#mainimage.move .main_moji img {
    width: 70%;
    margin: 0;
    /*ゆっくり動かす（ポイントはhoverではなくaの箇所のcssに記載）*/
    -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) {
    #mainimage.move .main_moji img {
        width: 50%;
    }
}

#mainimage.move .main_moji h2 {
    margin: 0;
}

@media print,
screen and (min-width: 1200px) {
    #mainimage .main_moji img {
        width: 90%;
    }
}

@media print,
screen and (min-width: 1600px) {
    #mainimage .main_moji img {
        width: 100%;
    }
}

#mainimage .img-fluid {
    display: block;
}

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

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




/* top
----------------------------------------------------------*/

/* 固定背景 */
.b_box {
    width: 100%;
    height: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.b_fixed_bg {
    position: relative;
    /* min-height: 100%; */
    /*height: 100vh;*/
    height: 100vh;
    max-height: 666px;
    background-size: cover;
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-position: center center;
    z-index: 2;
    /* pointer-events: none; */
    transition: all 0.5s ease-in-out;
}

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

    /*iPad横でも不具合でたため、1199px以下にした*/
    .b_fixed_bg {
        height: 500px;
        background-attachment: scroll;
        /*スマホ・タブ(ios)では不具合がでるため幅992px以下ではこの指定（印刷時のスタイルも）*/
    }

    /*
    .b_fixed_bg.takame {
        height: 900px;
    }
	*/
}

/* 後ろの画像urlはプレロード */
.b_fixed_bg.b_bg1 {
    background-image: url("../images/bg1.jpg"), url(../images/bg1.jpg);
    position: relative;
    z-index: 0;
}

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

/*カーテンアニメ*/
.anime_wrap {
    position: relative;
    overflow: hidden;
}

.anime_wrap p {
    position: absolute;
    top: 30px;
    left: 30px;
    font-size: 40px;
    font-weight: bold;
}

.pattern6::before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: #000;
    z-index: 2;
    transition: .5s;
}

.pattern6.show::before {
    transform: translateX(100%);
}

.pattern6 img {
    opacity: 0;
    transition: .5s;
}

.pattern6.show img {
    opacity: 1;
}

.pattern6 p {
    color: #FFF;
    opacity: 0;
    transform: translateX(-40px);
    transition: .5s;
    transition-delay: .5s;
    z-index: 1;
    overflow: hidden;
}

.pattern6.show p {
    opacity: 1;
    transform: translateX(0);
}

.pattern6 p::before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: #000;
    transition: .5s;
    transition-delay: 1s;
}

.pattern6.show p::before {
    transform: translateX(100%);
}

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

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









/* results.html
---------------------------------------------------- */
/*タブ*/
/* .tabs {
  max-width: 500px;
  margin: 10% auto;
} */

.tab-list {
    display: flex;
}

.tab-item {
    /* border-radius: 5px 5px 0 0; */
    background-color: #000;
    border: solid 1px 555;
    padding: 0.7em 1.2em;
    cursor: pointer; 
}
@media print,
screen and (min-width: 768px) {
    .tab-item {
        width: 30%;
        font-size: 120%;
}
}

.tab-content {
    border: 1px solid #555;    
}

.tab-panel {
    display: none;
}

.tab-item.tab_active {
    background-color: #555;
    color: #fff;
    /* font-weight: bold; */
    transition: .5s;
}

.tab-panel.tab_active {
    display: block;
    padding: 3%;
}

.tab-panel.tab_active h2 {
    font-size: 20px;
    font-weight: bold;
}

.tab-item:hover {
    background-color: #555;
    color: #fff;
    transition: .5s;
}


/**/

/* service.html
---------------------------------------------------- */
.bg_gray {
    background: #333;
}


.btn100 {
    text-align: center;
    display: block;
    font-weight: bold;   
}

.btn100 a:link,
.btn100 a:visited {
    color: #fff;
    text-decoration: none;
    padding: 20px 5px;
    display: block;
    background: #b79960;
}

.btn100 a:hover {
    color: #fff;
    background: #000;
    display: block;
    padding: 20px 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: 768px) {
    .btn100 a:link,
    .btn100 a:visited {
        padding: 15px 5px;
    }

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


/* スクロールアニメーション
-------------------------------------*/
@media print {
    .animate {
      opacity: 1 !important;
      transform: none !important; }
 }
 .animate {
     opacity: 0;
     transition: opacity 0.6s ease-out, transform 0.6s ease-out;
 }
 
 .animate.from-bottom {
     transform: translateY(100px);
 }
 
 .animate.from-right {
     transform: translateX(100px);
 }
 
 .animate.from-left {
     transform: translateX(-100px);
 }
 
 .animate.scale-up {
     transform: scale(0.8);
 }
 
 .animate.pop {
     opacity: 0;
     transform: scale(0.5);
     transition: transform 0.3s ease-out, opacity 0.3s ease-out;
 }
 
 .animate.fade-in {
     opacity: 0;
     transform: none;
     transition: opacity 2s ease-out;
     /* 2秒でフェードイン */
 }
 
 .animate.visible {
     opacity: 1;
     transform: none;
     /* 透明度のみを変化させる */
 }
 
 .animate:nth-child(1) {
     transition-delay: 0s;
 }
 
 .animate:nth-child(2) {
     transition-delay: 0.4s;
 }
 
 .animate:nth-child(3) {
     transition-delay: 0.8s;
 }
 .animate:nth-child(4) {
     transition-delay: 1.2s;
 }
 
 .animate:nth-child(5) {
     transition-delay: 1.6s;
 }

 .animate:nth-child(6) {
    transition-delay: 2.0s;
}


 
 @media only screen and (max-width: 767px){
    .animate {
		opacity: 1 !important;
		transform: none !important;
	}
 }
/*----------*/


.circle {
    display: inline-block;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: #fff;
    color: #000;
    text-align: center;
    line-height: 80px;
    margin-right: 15px;
}

@media print,
screen and (min-width: 1200px) {
    .circle {
        width: 120px;
        height: 120px;
        line-height: 120px;
    }
}

.circle_text {
    padding: 0 15px;
}

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

.overflow_clip {
    overflow-x: clip;
}

.circle_text2 {
    padding: 15px 15px 0;
}

@media print,
screen and (min-width: 768px) {
    .circle_text2 {
        padding: 20px 40px 0;
    }
}
/*-------*/



/*QA*/
.fp-accordion .newstit {
	margin: 0;
    color: #fff;
	padding: 10px 10px;
	cursor: pointer;
    border: none !important;
    background: #000;
    border-radius: 10px;
    line-height: 130%;
}


@media print,
screen and (min-width: 992px) {
 .fp-accordion .newstit {
	/* font-size: 19px; */
	/* font-weight: 900; */
	margin: 0;
    color: #fff;
	padding: 5px 10px 10px;
	cursor: pointer;
    border: none !important;
    /* border-radius: 10px; */
    line-height: 130%;
}   
}


.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: #333;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition: 0.5s;
}
@media print,
screen and (min-width: 768px) {
.fp-accordion .icons .fa {
	color: #b79960;
}
}

.fp-accordion .icons .fa:last-child {
	opacity: 0;
}
.fp-accordion .icons:hover {
	background-color: #333;
}
.fp-accordion .icons:hover .fa {
	color: #fff;
}
.fp-accordion.active .toggle-content {
	display: block;
}
.fp-accordion.active .icons {
	background-color: #b79960;
}
.fp-accordion.active .fa:last-child {
	opacity: 1;
	color: #fff;
}
.fp-accordion.active .fa:first-child {
	opacity: 0;
}
.fp-accordion.style-1 {
    background-color: #333;
	border: 1px solid #333;
	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 10px 0;
}
.fp-accordion.style-1 .icons {
	width: 35px;
	height: 35px;
	line-height: 35px;
	margin-top: 10px;
    margin-right: 5px;
	border-radius: 50%;
	float: right;
}
.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: #333;
}
.fp-accordion.style-1.active .fa:first-child {
	opacity: 0;
}
/**/




















/* 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: 1px solid #fff;
    padding: 20px;
    font-size: 20px;
}

@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;
        font-size: 30px;
    }
}

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

.tel_box_telnum {
    font-size: 35px;
    line-height: 1.4em;
}

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

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

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

/**/
.tel_box2 {
    border: 1px solid #fff;
    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 #555; */
    /*    background: #000;*/
}

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

.table_form td {
    width: 100%;
    border-bottom: 1px solid #333;
    padding: 15px 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 #000;
        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 {
    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: #000;
}

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

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

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

input,
textarea {
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    -Webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

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

.form-control {
    color: #000;
}

.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: #333;
    padding: 20px 20px;
    border-collapse: collapse;
    border: 1px solid #333;
    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: 80px 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: 35px;
    color: #fff;
}

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

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

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

.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: 40px;
        letter-spacing: 0.05em;
    }
}

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



/* footer
----------------------------------------------------------*/
#foot_bg {
    border-top: 1px solid #b79960;
    line-height: 160%;
    /* background: #111;
    color: #fff; */
    font-size: 16px;
}

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


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

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

    .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 15px 0 0px;
    }

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

}

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

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

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

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

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

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

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


.f_btn {
    margin: 0 auto 20px;
}

@media print,
screen and (min-width: 992px) {
    .f_btn {
        float: right;
    }
}

/*== ボタン共通設定 */
.f_btn_anime {
    /*アニメーションの起点とするためrelativeを指定*/
    position: relative;
    overflow: hidden;
    /*ボタンの形状*/
    text-decoration: none;
    display: block;
    border: 1px solid #fff;
    /* border-radius: 30px; */
    background: #fff;
    padding:3px 5px;
    text-align: center;
    outline: none;
    font-weight: bold;
    /*アニメーションの指定*/
    transition: ease .2s;
}

@media print,
screen and (min-width:1200px) {
    .f_btn_anime {
        padding:3px 5px;
    }
}

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

.f_btn_anime:hover span {
    color: #b79960;
}
@media print,
screen and (min-width: 768px) {
    .f_btn_anime {
        width: 200px;
    }
}


/* copy
---------------------------------------------------- */
.copy {
    text-align: center;
    padding-top: 10px;
}

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

@media print,
screen and (min-width: 992px) {
    .copy {
        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;
    }

    .cb-header {
        display: none;
    }



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

   
   

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

    .sp_modalbtn {
        display: none;
    }

    /**/

    .btn_anime {
        padding: 10px;
    }


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



    #main_mt {
        margin-top: 0px;
    }

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

    .h2_sub {
        padding: 150px 0 0px;
    }

    .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;
    }



}