@charset "utf-8";

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

(c) 2023 Roppongi Energy Service Co., Ltd.

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


/* ----------------------------------- 
    header
 ----------------------------------- */

.gNav ul li.gNav_contact a:after {
    content: "";
    width: 2rem;
    height: 4px;
    top: 2rem;
    left: calc(50% - 1rem);
    position: absolute;
    background-color: #fff;
}


/* ----------------------------------- 
    contact
 ----------------------------------- */
.contact .wrapper button {
    width: 20rem;
    margin: 0 auto 2rem auto;
    text-align: center;
}

.contact .wrapper:last-child {
    margin-top: 4rem;
}

.contact .wrapper:last-child p {
    text-align: center;
}

.contact .wrapper:last-child span.telNo {
    display: block;
    font-weight: bold;
    font-size: 1.5rem;   /* 24px */
    padding: .5rem 0;
}


/* ----------------------------------- 
    form
 ----------------------------------- */

.form .wrapper {
    padding:0;
    background-color: transparent;
}

.form .inner {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 2rem 2rem 2rem;
    background-color: #fff;
}


.form dl {
    display: flex;
    justify-content: space-between;
    column-gap: 2rem;
    padding: 2rem 0;
    border-bottom: solid 1px #7794A6;
}

.form dt {
    width: 10em;
    font-weight: bold;
    color: #152040;
    text-align: left;
    font-size: 1.125rem; /* 18px */
}

.form dd {
    width: auto;
    text-align: left;
}

.form dd.required {
    width: 3em;
    padding-top: .125rem;
}

.form dd.required span {
    width: 100%;
    text-align: center;
    display: block;
    color: #fff;
    background-color: #21A668;
}

.form dd.field {
    flex: 1;
}

.form .hidden {
    display: none;
}

input#datepicker {
    width: 12rem;
}

.ui-datepicker {
    z-index: 99 !important;
}

input#room {
    width: 8rem;
}

input#name {
    margin-bottom: 1rem;
}

label.select.residence {
    margin-right: 2rem;
}

label.select.residence:after {
    content: "▼";
    width: 1rem;
    height: 1rem;
    top:calc(50% - .725rem);
    right: 2.5rem;
    position: absolute;
    z-index: 10;
}

.form .address {
    padding-top:1.5rem;
}

.form dd .address span {
    display: block;
    font-size: .875rem;  /* 14px */
    margin-bottom: 1rem;
}

.form dd .address label,
.p-locality {
    margin-bottom: 1rem;
}

.form dd .address label.add_zipcode,
.form dd .address label.select {
    display:inline-block;
}

label.add_zipcode {
    position: relative;
}

label.add_zipcode:after {
    content: "〒";
    color: #707070;
    width: 1rem;
    height: 1rem;
    top:calc(50% - .725rem);
    left: 1rem;
    position: absolute;
    z-index: 10;
}

input#add_zipcode {
    width: 9.5rem;
    margin-right: 1rem;
}

.p-postal-code {
    padding-left: 2rem;
}

.form dd.field.inquiry_type label {
    width: auto;
    display: block;
    padding-bottom: 1rem;
}

.form dd.field.inquiry_type label:last-of-type {
    padding-bottom: 0;
}

.form dd.field ul li {
    font-size: .875rem;  /* 14px */
    padding: 0 0 .5rem 1rem;
    position: relative;
}

.form dd.field ul li:before {
    content: "・";
    width: 1rem;
    height: 1rem;
    left: 0;
    position: absolute;
}

.form dd.field ul li span {
    font-size: .75rem;   /* 12px */
}

.form dl.agreement {
    background-color: #fff;
    border-bottom: none;
}

.form dl.agreement dd.field {
    font-size: 1.125rem; /* 18px */
    font-weight: bold;
}

.form .privacy {
    height: 18rem;
    overflow: scroll;
    background-color: #EEEEEE;
    border: solid 1px #707070;
    margin: 3rem auto;
    padding: 1.5rem;
}

.form .privacy h2 {
    text-align: left;
    padding-bottom: 0;
}

.form .buttons {
    width: 100%;
    text-align: center;
    display: flex;
    justify-content: center;
    column-gap: 2rem;
    margin: 3rem auto 0 auto;
}




/* ----------------------------------- 
    for tablet / ～1280
 ----------------------------------- */

@media screen and (max-width: 1279px) {
    .gNav ul li.gNav_contact a:after {
        content: "";
        width: .5rem;
        height: .5rem;
        top: calc(50% - .25rem);
        left: -1rem;
        border-radius: 50%;
        position: absolute;
        background-color: #21A668;
    }
    
    .gNav ul li.gNav_privacy a:after {
        display: none;
    }
    
    /* ----------------------------------- 
        form
     ----------------------------------- */
    .form p:not(.privacy p) {
        font-size: .875rem;  /* 14px */
    }
    
    .form dl {
        width: 100%;
        flex-wrap: wrap;
        justify-content: flex-start;
    }
    
    .form dl::after {
        content: '';
        width: 100%;
    }
    
    .form dt {
       width: auto;
    }
    
    .form dt br {
        display: none;
    }
    
    .form dd.field {
        order: 1;
        width: 100%;
        padding-top: 1rem;
    }
    
    .form dl.agreement dd.field {
        order: 0;
        width: auto;
        padding-top: 0;
    }
}




/* ----------------------------------- 
    for mobile / ～519
 ----------------------------------- */

@media screen and (max-width: 519px) {
    
    .contact .wrapper:first-child,
    .form .wrapper {
        width: 100%;
        background-color: transparent;
        padding: 2rem 0 0 0;
    }
    
    .contact .wrapper:last-child {
        margin: 2rem auto;
    }
    
    .contact .wrapper button:first-of-type {
        margin-top:2rem;
    }
    
    .form h2 {
        width: 90%;
        margin: 2rem auto 1rem auto;
    }
    
    .contact p:first-of-type,
    .form p:first-of-type,
    .form p.center {
        width: 90%;
        text-align: left;
    }    
    
    .form .inner {
        background-color: transparent;
    }

    .form dl dt {
        font-size: 1rem;
    }
    
    .form dd.required {
        font-size: .875rem;  /* 14px */
    }
    
    .form .buttons {
        width: 90%;
        padding-bottom: 2rem;
        flex-direction: column-reverse;
        align-items: center;
    }
    
    .form .buttons button {
        width: 4rem;
    }
    
    
    /* ----------------------------------- 
        form
     ----------------------------------- */
    input:not(#datepicker):not(#room):not(#add_zipcode) {
        width: 100%;
    }
    
    textarea {
        width: 100%;
    }
    
    label.select.residence {
        display:inline-block;
        margin-bottom: 1rem;
    }
    
    .form .privacy {
        width: 90%;
        padding-top: 0;
    }
    
    .form .privacy h2 {
        width: 100%;
    }

    .form dl.agreement {
        padding-left: 5%;
        padding-right: 5%;
        align-items: center;
    }
    
    .form dl.agreement dt {
        display: none;
    }
    
    .form dl.agreement dd.field {
        margin: auto;
        font-size: 1rem; /* 16px */
    }
    
}