#com_sec01 {
    padding-top: 70px;
    padding-bottom: 90px;
}

.com01_flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top: 30px;
}

.com01_flex .left {
    width: 44%;
}

.com01_flex .right {
    width: 52%;
}

.com01_flex img {
    display: block;
    width: 100%;
}

.com01_flex p {
    margin-top: 40px;
}

.com01_name {
    display: block;
    width: 220px !important;
    margin-left: auto;
    margin-top: 60px;
}

@media screen and (max-width:640px) {
    .com01_flex .left {
        width: 100%;
    }

    .com01_flex .right {
        width: 100%;
    }

    .com01_flex .left img {
        margin: 0 auto 30px;
        max-width: 414px;
    }

    .com01_flex p {
        margin-top: 20px;
    }

    .com01_name {
        margin-top: 30px;
    }
}

#com_sec02 {
    margin-bottom: 70px;
}

.com02_table {
    max-width: 1000px;
    width: 100%;
    margin: auto;
    margin-top: 35px;
    line-height: 1.6;
    border-bottom: solid 1px #CCCCCC;
}

.com02_table tr {
    border-top: solid 1px #CCCCCC;
}

.com02_table th {
    width: 220px;
    padding: 15px 30px 15px 60px;
    text-align-last: justify;
    color: #666666;
    vertical-align: top;
    font-weight: bold;
}

.com02_table td {
    padding: 15px 60px 15px 30px;
}

@media screen and (max-width:640px) {
    .com02_table th {
        text-align-last: inherit;
        text-align: left;
        display: block;
        padding: 15px;
        width: 100%;
    }

    .com02_table td {
        display: block;
        padding: 0 30px 15px;
        width: 100%;
    }
}

.com03_ttl {
    text-align: center;
    line-height: 1.6;
    margin-bottom: 30px;
    z-index: 2;
    position: relative;
}

.com03_ttl .en {
    font-size: 15px;
    color: #B3B3B3;
}

.com03_ttl .jp {
    font-size: 26px;
    color: #4D4D4D;
    padding: 0 50px;
    position: relative;
}

.com03_ttl .jp::before {
    position: absolute;
    content: '';
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    height: 1px;
    width: 100%;
    background: #CCCCCC;
    z-index: -1;
}

.com03_ttl .jp::after {
    position: absolute;
    content: '';
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 250px;
    height: 10px;
    background: white;
    z-index: -1;
}


.com03_bg {
    background: #F2F2F2;
    margin-top: 30px;
    padding-top: 30px;
}

.com03_flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 60px;
    padding-top: 45px;
    padding-bottom: 20px;
    margin-bottom: 50px;
}

.com03_flex img {
    display: block;
    width: 100%;
}

.com03_flex .left {
    width: 320px;
}

.com03_flex .left img {
    margin-top: 30px;
}

.com03_flex .left span {
    font-size: 12px;
}

.com03_flex .right {
    width: calc(96% - 320px);
}

.com03_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.com03_list li {
    width: 32%;
    padding-bottom: 30px;
}

.com03_list li p {
    color: #666666;
    font-weight: bold;
    text-align: center;
    background: white;
    line-height: 2;
}

@media screen and (max-width:640px) {
    .com03_ttl .en {
        font-size: 14px;
    }

    .com03_ttl .jp {
        font-size: 22px;
    }

    .com03_ttl .jp::after {
        width: 50vw;
    }
}

#com_sec04 {
    padding-top: 60px;
    padding-bottom: 60px;
}

.com04_flex {
    display: flex;
    flex-wrap: wrap;
}

.com04_flex > * {
    display: block;
    width: 50%;
}

.com04_bg01 {
    display: block;
    width: 30%;
    margin-right: auto;
}

.com04_bg02 {
    display: block;
    width: 30%;
    margin-left: auto;
}

#com_sec05 {
    padding-top: 120px;
    padding-bottom: 100px;
}

.com05_table {
    max-width: 1000px;
    width: 100%;
    margin: auto;
    margin-top: 35px;
    line-height: 1.6;
    border-bottom: solid 1px #CCCCCC;
}

.com05_table tr {
    border-top: solid 1px #CCCCCC;
}

.com05_table tr td:nth-child(1) {
    width: 170px;
    padding: 15px;
    padding-left: 30px;
    text-align: right;
}

.com05_table tr td:nth-child(1) span {
    font-size: 20px;
}

.com05_table tr td:nth-child(2) {
    width: 80px;
    padding: 15px;
    text-align: right;
}

.com05_table th {
    padding: 15px 30px;
    text-align: left;
}

@media screen and (max-width:768px) {
    .com05_table tr td:nth-child(1) {
        width: 110px;
        padding-left: 0;
    }

    .com05_table td {
        display: inline-block;
    }

    .com05_table th {
        display: block;
        padding-top: 0;
        width: 100%;
    }
}

.com06_flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 80px;
}

.com06_flex img {
    display: block;
    width: 100%;
}

.com06_flex > * {
    width: 48%;
}

.com06_flex .right {
    padding-top: 80px;
    line-height: 2;
}

.com06_flex.honten {
    margin-top: 50px;
}

.com06_flex.souko {
    margin-top: 120px;
}

.gmap-wrap {
    position: relative;
    height: 0;
    padding-bottom: 31.25%;
    overflow: hidden;
    margin-bottom: 30px;
}

.gmap-wrap iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 450px;
    width: 100%;
}

@media screen and (max-width:768px) {
    .com06_flex {
        margin-bottom: 30px;
    }
    
    .com06_flex.souko {
        margin-top: 0px;
    }

    .gmap-wrap {
        overflow: visible;
        height: auto;
        padding-bottom: 0;
        margin-bottom: 50px;
    }

    .gmap-wrap iframe {
        position: static;
        height: 300px;
    }
}

@media screen and (max-width:640px) {
    .com06_flex > * {
        width: 100%;
    }

    .com06_flex .left img {
        margin: auto;
    }

    .com06_flex .left img {
        width: 100%;
        max-width: 414px;
    }

    .com06_flex .right {
        margin: auto;
        padding-top: 20px;
        max-width: 414px;
    }
}
