@charset "UTF-8";

/** 個別 BOX **/
#NewsBox_Top {
    margin: 0 auto 100px auto;
}

#NewsBox_Top ul {
    display: flex;
    flex-wrap: wrap;
}

#NewsBox_Top ul li {
    width: calc(25% - 1em);
    margin: 0 0.5em 1em 0.5em;
    display: inline-block;
}

#NewsBox_Top ul li a {
    background-color: #efefef;
    width: 100%;
    height: 100%;
    color: #333333;
    padding: 1em!important;
    border: #efefef solid;
    border-width: 1px;
    text-align: left;
    display: inline-block;
}

#NewsBox_Top ul li a:hover {
    text-decoration: none;
    border: #aaaaaa solid;
    border-width: 1px;
    box-shadow: 0 10px 25px 0 rgba(0, 0, 0, .5);
}

#NewsBox_Top ul li .title {
    text-align: center;
    font-weight: 400;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    display: inline-block;
    width: 100%;
    margin: 0 auto 0.5em 0;
}

#NewsBox_Top ul li .box_photo {
    overflow: hidden;
    margin: 0 auto 10px auto;
    width: 100%;
    height: calc(15vw * 0.7 - 40px);
    position: relative;
}

#NewsBox_Top ul li .box_photo div {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    margin: 0 auto;
    transition: 0.2s;
    display: block;
}

#NewsBox_Top ul li .box_photo div:hover {
    /*transform: scale(1.1);*/
}

#NewsBox_Top ul li .box_photo .cat_tag {
    display: inline-block;
    position: absolute;
    bottom: 0;
    padding: 0 2em;
}

#NewsBox_Top ul li span.comment {
    font-size: 90%;
    line-height: 1.3em;
}

/* リストページ */
#NewsBox_List {
    margin: 0 auto 100px auto;
}

#NewsBox_List ul {
    display: flex;
    flex-wrap: wrap;
}

#NewsBox_List ul li {
    width: calc(25% - 1em);
    margin: 0 0.5em 1em 0.5em;
    display: inline-block;
}

#NewsBox_List ul li a {
    background-color: #efefef;
    width: 100%;
    height: 100%;
    color: #333333;
    padding: 1em!important;
    border: #efefef solid;
    border-width: 1px;
    text-align: left;
    display: inline-block;
}

#NewsBox_List ul li a:hover {
    text-decoration: none;
    border: #aaaaaa solid;
    border-width: 1px;
    box-shadow: 0 10px 25px 0 rgba(0, 0, 0, .5);
}

#NewsBox_List ul li .title {
    text-align: center;
    font-weight: 400;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    display: inline-block;
    width: 100%;
    margin: 0 auto 0.5em 0;
}

#NewsBox_List ul li .box_photo {
    overflow: hidden;
    margin: 0 auto 10px auto;
    width: 100%;
    height: calc(15vw * 0.7 - 40px);
    position: relative;
}

#NewsBox_List ul li .box_photo div {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    margin: 0 auto;
    transition: 0.2s;
    display: block;
}

#NewsBox_List ul li .box_photo div:hover {
    /*transform: scale(1.1);*/
}

#NewsBox_List ul li .box_photo .cat_tag {
    display: inline-block;
    position: absolute;
    bottom: 0;
    padding: 0 2em;
}

#NewsBox_List ul li span.comment {
    font-size: 90%;
    line-height: 1.3em;
}

/* ディテールページ */
#NewsBox_Detail {
    border: #000000 solid;
    border-width: 1px 0; /*List liがないため*/
    padding: 0.6em 0 2em 0;
    margin: 0 auto 1em auto;
}

#NewsBox_Detail h2 {
    padding:  0 0.5em 0.5em 0;
    text-align: left;
    margin: 0 0 1em 0;
    border: #000000 solid;
    border-width: 0 0 1px 0;
    position: relative;
    line-height: 1.3em;
}

#NewsBox_Detail h2 span {
    overflow: hidden;
    display: inherit;
}

#NewsBox_Detail h2 .cat_tag {
    margin: 0 0 0 1em;
    padding: 3px 1em 5px 1em;
    float: right;
}

.sq_button .btn {
    width: 10em;
    margin: 0 0.5em;
}

.category_link {
    margin: 0 0.5em 0.5em 0.5em;
}

.category_link a {
    display: inline-block;
    padding: 0.2em 0.5em;
    font-size: 90%;
    background-color: #000000;
    color: #ffffff;
    line-height: 0;
    margin: 0 2px 0.5em 0;
    border-radius: 4px;
}

.category_link a span {
    display: inline-block;
    vertical-align: middle;
}

.category_link a span img {
    display: inline-block;
    vertical-align: middle;
    margin: 0 5px 0 0;
}

/* ビフォー アフター */

.column {
    display: inline;
    overflow: hidden;
    vertical-align: top;
}

.column a {
    display: inline-block;
    overflow: hidden;
    width: 20%;
    height: calc(20vw * 0.45);
    position: relative;
} 

.column a img {
    width: 100%;
    display: inline-block;
    border: #ffffff solid 1px;
    margin: 0 auto 1em auto;
    transition: 0.2s;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.column a:hover img {
    transform: translateY(-50%) scale(1.1);
    transition: 0.2s;
}

.column .comment_box {
    width: auto;
    margin: 0 auto 1em auto;
    display: inline-block;
}

.after_allow_pc,
.after_allow_sp {
    display: none!important;
}

.column1,
.column3 {
    width:  47%;
    height: auto;
    position: relative;
    display: inline-block;
    vertical-align: middle;
    margin: 0 auto 1em auto;
    border: #cccccc solid 1px;
    text-align: center;
}

.column2 {
    width: 4%;
    height: 100px;;
    display: inline-block;
    vertical-align: middle;
    margin: 0 1% 0 1%;
    background-image: url("../img/after_allow_pc.png");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
}

.column2 a {
    cursor: none;
    pointer-events: none;
}

.column2 .after_allow_pc {
    display: block!important;
}

.column1 a,
.column2 a,
.column3 a {
    margin: 0!important;
    vertical-align: top;
    display: inline!important;
    overflow: auto!important;
}

.column1 a img,
.column3 a img {
    width: auto!important;
    max-width: 100%;
    max-height: 40vh!important;
    height: auto!important;
    margin: 0!important;
    position: static!important;
    top: auto!important;
    transform: translateY(0)!important;
}

.column2 a img {
    width: 100%;
    max-height: none;
    height: auto;
    position: static!important;
    top: auto!important;
    transform: translateY(0)!important;
}

.column1 a:hover img,
.column3 a:hover img {
    transform: scale(1.1)!important;
}


.column1 .comment_box {
    display: inline-block;
    padding: 0.2em 2em;
    background-color: rgba(255,255,255,0.7);
    color: #000000;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    margin: 0;
    width: 100%!important
}

.column3 .comment_box {
    display: inline-block;
    padding: 0.2em 2em;
    background-color: rgba(0,0,0,0.7);
    color: #ffffff;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    margin: 0;
    width: 100%!important
}

.column2 .comment_box {
    display: none;
}

/* ------------------------------------------------------ */
/* Media Query for Tablets */
@media only screen and (max-width : 1440px) {
/* ------------------------------------------------------ */
#NewsBox_Top ul li .box_photo {
    height: calc(15vw * 0.8 - 40px);
}

#NewsBox_Top ul li {
    width: calc(25% - 1em);
}

}

/* ------------------------------------------------------ */
/* Media Query for Tablets */
@media only screen and (max-width : 1280px) {
/* ------------------------------------------------------ */

}

/* ------------------------------------------------------ */
/* Media Query for Tablets */
@media only screen and (max-width : 1024px) {
/* ------------------------------------------------------ */

}

/* ------------------------------------------------------ */
/* Media Query for Tablets */
@media only screen and (max-width : 960px) {
/* ------------------------------------------------------ */


}

/* ------------------------------------------------------ */
/* Media Query for Tablets */
@media only screen and (max-width : 768px) {
/* ------------------------------------------------------ */
#NewsBox_Top ul li .box_photo {
    height: calc(15vw  - 40px);
}

#NewsBox_Top ul li .box_photo .cat_tag {
    padding: 0 1em;
}
    
#NewsBox_List ul li {
    width: calc(33% - 1em);
    margin: 0 0.5em 1em 0.5em;
    display: inline-block;
}
    
#NewsBox_List ul li .box_photo {
    height: calc(25vw * 0.7 - 40px);
}

}

/* ------------------------------------------------------ */
/* Media Query for Mobile */
@media only screen and (max-width : 420px) {
/* ------------------------------------------------------ */
    #NewsBox_List ul li {
    width: calc(50% - 1em);
    margin: 0 0.5em 1em 0.5em;
    display: inline-block;
}

#NewsBox_Top ul li .box_photo {
    height: calc(100vw  - 40px);
}

#NewsBox_List ul li .box_photo {
    height: calc(100vw * 0.4  - 40px);
}

#NewsBox_Detail .no_photo {
    width: calc(100vw * 0.9)!important; /*親要素の幅に合わせて乗算*/
    height: calc(56.25vw * 0.9)!important; /*親要素の幅に合わせて乗算*/
    margin: 0 auto 1em auto;
    overflow: hidden;
    display: block;
}
    
    #NewsBox_Detail img.NewsPhoto {
        max-width: 100%;
    }
    
    .column a {
        width: 33.3%;
        height: calc(33.3vw * 0.45);
    }
    
    .column a img {
    width: 100%;
    height: auto;
} 

.column1 .comment_box,
.column3 .comment_box {
    margin: 0 auto 0 auto;
}

.column1,
.column3 {
    width: 100%;
}

.column1 {
    margin: 0 auto;
}

.column3 {
    margin: 0 auto 1em auto;
}

.column2 {
    width: 100%;
    height: 3em;
    display: block;
    margin: 0.5em auto;
    text-align: center;
}
    

.column2 a img {
    width: auto;
    height: 3em;
    margin: 0 auto;
}

.column1 a,
.column3 a {
    width: auto;
    height: auto;
    max-height: none;
    margin: 0 auto;
}
    

.column1 a img,
.column3 a img {
    width: 100%;
    height: auto;
    max-height: none;
    margin: 0 auto;
}
    
.column2 .after_allow_pc {
    display: none!important;
}
    
 .column2 .after_allow_sp {
    display: inline-block!important;
}
    
.column2 {
    width: 100%;
    height: 50px;;
    display: inline-block;
    vertical-align: middle;
    margin:  0.5em 0;
    background-image: url("../img/after_allow_sp.png");
}
    
    .after_allow_sp {
        clear: both;
    }


}

/* ------------------------------------------------------ */
/* Media Query for Mobile iPhoneSE */
@media only screen and (max-width : 320px) {
/* ------------------------------------------------------ */

}