@charset "utf-8";
* {
    box-sizing: border-box;
}
.dn-pc {
    display: none;
}
.dn-sp {
    display: block;
}
@media screen and (max-width: 1000px){
    .header_01 {
        width: 100%;
        padding: 0 10px;
    }
    .contact01 {
        right: 10px;
    }
    .logo_fitlc {
        display: none;
    }
    .header_02 {
        width: 100%;
    }
    .header_02 li {
        width: 24%;
    }
    .mainvisual_txt {
        width: 100%;
        padding: 50px 20px 0;
    }
    .mainvisual_txt > img {
        display: block;
        width: 100%;
        height: auto;
        max-width: 574px;
        margin: 0 auto;
    }
    .movie01 {
        width: 100%;
        max-width: 684px;
        height: auto;
        margin: 36px auto 0;
        padding-top: 0;
    }
    .movie01 > img {
        width: 100%;
        height: auto;
    }
    .bt_video {
        right: 50%;
        top: 50%;
        margin-top: -65px;
        margin-right: -55px;
    }
    .section {
        width: 100%;
        padding: 0 20px;
    }
    .about-cont {
        padding: 10px 20px 40px;
    }
    .col {
        width: 100%;
    }
    .col div {
        width: 47%;
    }
    .col div img {
        width: 100%;
        height: auto;
    }
    .col div:first-child {
        margin-right: 0;
    }
    .col div:nth-child(2) {
        width: 6%;
        height: auto;
        margin: 105px 0 0 0;
        padding-left: 2%;
    }
    .col div:nth-child(2) img {
        width: 20px;
        height: auto;
    }
    p.bg_b {
        width: 100%;
        height: auto;
        padding: 15px;
        line-height: 1.8;
    }
    .demerit img {
        width: 100%;
        height: auto;
        padding: 0 20px;
    }
    .contents01-contact,
    .contents04-contact {
        height: auto;
    }
    .contents01-contact {
        padding: 40px 20px 0;
    }
    .contents04-contact .section {
        padding: 10px 20px 30px;
    }
    .contents01-contact p:first-child {
        max-width: 400px;
        width: 100%;
        margin: 0 auto 30px;
    }
    .contents01-contact p:first-child img {
        width: 100%;
        height: auto;
    }
    .contents01-contact p:nth-child(2) {
        max-width: 648px;
        width: 100%;
        margin: 0 auto;
    }
    .contents01-contact p:nth-child(2) img {
        width: 100%;
        height: auto;
    }
    .contents_btn {
        margin: 0 auto;
        padding: 40px 0;
        width: 100%;
        max-width: 340px;
    }
    .contents_btn a img {
        width: 100%;
        height: auto;
    }
    #contents02 dl {
        width: 31%;
    }
    #contents02 dl:nth-child(3) {
        margin: 0 2.75%;
    }
    #contents02 dl dd img {
        width: 100%;
        height: auto;
    }
    #contents03 p.imgFull img {
        width: 100%;
        height: auto;
    }
    #contents04 {
        height: auto;
    }
    #contents04 p {
        width: 100%;
        max-width: 784px;
        margin: 0 auto;
        padding-bottom: 40px;
    }
    #contents04 p img {
        width: 100%;
        height: auto;
    }
}
@media screen and (max-width: 767px){
    .dn-pc {
        display: block;
    }
    .dn-sp {
        display: none;
    }
    h2 > img {
        width: auto;
        height: 32px;
    }
    #header02 {
        height: 90px;
    }
    .header_02 li {
        width: 50%;
    }
    .header_02 li:nth-child(-n+2) {
        border-width: 0 0 1px 1px;
    }
    .section {
        padding: 0 15px;
    }
    #mainvisual {
        height: auto;
    }
    .col div {
        float: none;
        width: 100%;
    }
    .col div:nth-child(2) {
        width: 20px;
        margin: 10px auto;
        float: none;
    }
    .col div:nth-child(2) img {
        transform: rotate(90deg);
    }
    p.bg_b {
        font-size: 18px;
    }
    .demerit img {
        padding: 0 10px;
    }
    #contents01 h2 {
        padding: 40px 0;
    }
    .contents01-contact {
        padding: 30px 0 0;
    }
    #contents02 {
        padding: 50px 0 30px;
    }
    #contents02 dl {
        width: 100%;
    }
    #contents02 dl:nth-child(3) {
        margin: 30px auto;
    }
    #contents03 {
        padding-bottom: 30px;
    }
    #contents03 h2 {
        padding: 30px 0;
    }
    #contents04 h2 {
        padding: 30px 0;
    }
    .contents04-contact li {
        font-size: 15px;
    }
    #page_top {
        right: 15px;
    }
    #page_top a img {
        width: 40px;
        height: 40px;
    }
}