/* ------------------------------------------------
    REQUEST
------------------------------------------------- */
.requestForm {
    margin-top: 20px;
}

.requestForm__inner {
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.16);
    padding: calc(8px * 6) calc(8px * 10) calc(8px * 12);
}

.requestForm__title {
    color: var(--colorBlack);
    font-size: var(--fontSize32);
    font-weight: bold;
    letter-spacing: 4px;
    text-align: center;
}

.requestForm__item {
    align-items: center;
    display: grid;
    grid-template-columns: auto 680px;
    margin-top: calc(8px * 6);
}

.requestForm__item:nth-of-type(n+2) {
    margin-top: calc(8px * 4);
}

.requestForm__item--head {
    align-items: flex-start;
}

.requestForm__item--title {
    font-size: var(--fontSize16);
    font-weight: bold;
    position: relative;
}

.requestForm__item--title.is-required::after {
    background: #E9D642;
    border-radius: 4px;
    color: #fff;
    content: "必須";
    display: inline-block;
    font-size: 13px;
    font-weight: 400;
    margin-left: calc(8px * 2);
    padding: 4px 6px;
}

.requestForm__item--title.is-any::after {
    background: #DDDDDD;
    border-radius: 4px;
    color: #fff;
    content: "必須";
    display: inline-block;
    font-size: 13px;
    font-weight: 400;
    margin-left: calc(8px * 2);
    padding: 4px 6px;
}

.requestForm__itemBox input[type="text"],
.requestForm__itemBox input[type="email"], 
.requestForm__itemBox input[type="number"] {
    border: 1px solid #999;
    border-radius: 4px;
    font-size: var(--fontSize16);
    padding: calc(8px * 1) calc(8px * 2);
}

.wpcf7-list-item {
    font-size: var(--fontSize16);
}

.requestForm__itemBox--notes {
    font-size: var(--fontSize16);
}

.requestForm__itemBox--notes a {
    color: var(--colorBlack);
    text-decoration: underline;
}

.requestForm__button {
    column-gap: calc(8px * 6);
    display: flex;
    margin-top: calc(8px * 8);
    justify-content: center;
}

.buttonReset {
    background: #fff;
    border: 4px solid #E9D642;
    border-radius: 40px;
    cursor: pointer;
    display: inline-block;
    font-size: var(--fontSize20);
    font-weight: bold;
    padding: calc(8px * 2) calc(8px * 12);
}

.buttonSend {
    background: #E9D642;
    border: 4px solid #E9D642;
    border-radius: 40px;
    cursor: pointer;
    display: inline-block;
    font-size: var(--fontSize20);
    font-weight: bold;
    padding: calc(8px * 2) calc(8px * 12);
}

@media screen and (max-width: 767px) {
    .requestForm {
        margin-top: 10px;
    }
    
    .requestForm__inner {
        box-shadow: 0 3px 8px rgba(0, 0, 0, 0.16);
        padding: calc(8px * 4) calc(8px * 2) calc(8px * 6);
    }
    
    .requestForm__title {
        letter-spacing: 2px;
    }
    
    .requestForm__item {
        grid-template-columns: 100%;
        margin-top: calc(8px * 4);
        row-gap: calc(8px * 1);
    }
    
    .requestForm__item--title.is-required::after {
        font-size: 11px;
        margin-left: calc(8px * 1);
    }
    
    .requestForm__item--title.is-any::after {
        font-size: 11px;
        margin-left: calc(8px * 1);
    }
    
    .requestForm__itemBox input[type="text"],
    .requestForm__itemBox input[type="email"], 
    .requestForm__itemBox input[type="number"] {
        padding: calc(8px * 2) calc(8px * 2);
    }

    .wpcf7-list-item {
        margin: calc(8px * 1) 0 0;
        width: 100%;
    }
    
    .requestForm__button {
        display: grid;
        margin-top: calc(8px * 4);
        justify-items: center;
        grid-template-columns: 100%;
        row-gap: calc(8px * 2);
    }
    
    .buttonReset {
        border: 3px solid #E9D642;
        padding: calc(8px * 1) calc(8px * 10);
    }
    
    .buttonSend {
        border: 3px solid #E9D642;
        padding: calc(8px * 1) calc(8px * 10);
        width: 100%;
    }
}

/* ------------------------------------------------
    CONTACT
------------------------------------------------- */
.contactHead {
    margin-top: calc(8px * 5);
}

.contactHead__title {
    border-bottom: 1px solid var(--colorBlack);
    color: var(--colorBlack);
    font-size: var(--fontSize32);
    padding-bottom: calc(8px * 4);
    text-align: center;
}

.contactBanner {
    margin-top: calc(8px * 6);
}

.contactBanner .container {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.contactBanner__img img {
    height: 150px;
    width: 100%;
}

.contactForm {
    margin-top: calc(8px * 10);
}

.contactForm__inner {
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.16);
    padding: calc(8px * 6) calc(8px * 10) calc(8px * 12);
}

.contactForm__title {
    color: var(--colorBlack);
    font-size: var(--fontSize32);
    font-weight: bold;
    letter-spacing: 4px;
    text-align: center;
}

.contactForm__item {
    align-items: center;
    display: grid;
    grid-template-columns: auto 680px;
    margin-top: calc(8px * 6);
}

.contactForm__item:nth-of-type(n+2) {
    margin-top: calc(8px * 4);
}

.contactForm__item--head {
    align-items: flex-start;
}

.contactForm__item--title {
    font-size: var(--fontSize16);
    font-weight: bold;
    position: relative;
}

.contactForm__item--title.is-required::after {
    background: #E9D642;
    border-radius: 4px;
    color: #fff;
    content: "必須";
    display: inline-block;
    font-size: 13px;
    font-weight: 400;
    margin-left: calc(8px * 2);
    padding: 4px 6px;
}

.contactForm__item--title.is-any::after {
    background: #DDDDDD;
    border-radius: 4px;
    color: #fff;
    content: "必須";
    display: inline-block;
    font-size: 13px;
    font-weight: 400;
    margin-left: calc(8px * 2);
    padding: 4px 6px;
}

.contactForm__itemBox input[type="text"],
.contactForm__itemBox input[type="email"], 
.contactForm__itemBox input[type="number"] {
    border: 1px solid #999;
    border-radius: 4px;
    font-size: var(--fontSize16);
    padding: calc(8px * 1) calc(8px * 2);
}

.wpcf7-list-item {
    font-size: var(--fontSize16);
}

.contactForm__itemBox--notes {
    font-size: var(--fontSize15);
    margin: 10px 0;
}

.contactForm__itemBox--notes li {
    line-height: 1.5;
}

.contactForm__itemBox--notes a {
    color: var(--colorBlack);
    text-decoration: underline;
}

.contactForm__button {
    column-gap: calc(8px * 6);
    display: flex;
    margin-top: calc(8px * 8);
    justify-content: center;
}

.buttonReset {
    background: #fff;
    border: 4px solid #E9D642;
    border-radius: 40px;
    cursor: pointer;
    display: inline-block;
    font-size: var(--fontSize20);
    font-weight: bold;
    padding: calc(8px * 2) calc(8px * 12);
}

@media screen and (max-width: 767px) {
    .contactHead {
        margin-top: calc(8px * 3);
    }

    .contactHead__title {
        padding-bottom: calc(8px * 2);
    }
    
    .contactBanner {
        margin-top: calc(8px * 4);
    }
    
    .contactBanner .container {
        display: grid;
        grid-template-columns: 100%;
    }
    
    .contactBanner__img img {
        height: auto;
        width: 100%;
    }
    
    .contactForm {
        margin-top: calc(8px * 4);
    }
    
    .contactForm__inner {
        box-shadow: 0 3px 8px rgba(0, 0, 0, 0.16);
        padding: calc(8px * 4) calc(8px * 2) calc(8px * 6);
    }
    
    .contactForm__title {
        letter-spacing: 2px;
    }
    
    .contactForm__item {
        grid-template-columns: 100%;
        margin-top: calc(8px * 4);
        row-gap: calc(8px * 1);
    }
    
    .contactForm__item--title.is-required::after {
        font-size: 11px;
        margin-left: calc(8px * 1);
    }
    
    .contactForm__item--title.is-any::after {
        font-size: 11px;
        margin-left: calc(8px * 1);
    }
    
    .contactForm__itemBox input[type="text"],
    .contactForm__itemBox input[type="email"], 
    .contactForm__itemBox input[type="number"] {
        padding: calc(8px * 2) calc(8px * 2);
    }

    .wpcf7-list-item {
        margin: calc(8px * 1) 0 0;
        width: 100%;
    }
    
    .contactForm__button {
        display: grid;
        margin-top: calc(8px * 4);
        justify-items: center;
        grid-template-columns: 100%;
        row-gap: calc(8px * 2);
    }
    
    .buttonReset {
        border: 3px solid #E9D642;
        padding: calc(8px * 1) calc(8px * 10);
    }
}


/* ------------------------------------------------
    CONSULTATION
------------------------------------------------- */
.consultationHead {
    margin-top: calc(8px * 8);
}

.consultationHead__title {
    color: var(--colorBlack);
    font-size: var(--fontSize48);
    text-align: center;
}

.consultationHead__title span {
    color: #E9D642;
}

.consultationHead__lead {
    color: var(--colorBlack);
    font-size: var(--fontSize18);
    line-height: 2;
    margin-top: calc(8px * 8);
    text-align: center;
}

.consultationHead__list {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.16);
    display: grid;
    margin-top: calc(8px * 8);
    padding: calc(8px * 4);
    grid-template-columns: 1fr 1fr;
    row-gap: calc(8px * 2);
}

.consultationHead__list li {
    color: var(--colorBlack);
    font-size: var(--fontSize16);
    font-weight: bold;
    padding-left: calc(8px * 3);
    position: relative;
}

.consultationHead__list li::before {
    background: #E9D642;
    content: "";
    height: 14px;
    left: 0;
    margin-top: -5px;
    position: absolute;
    top: 50%;
    width: 14px;
}

.consultationHead__thumbnail {
    margin-top: calc(8px * 8);
    text-align: center;
}

.consultationHead__thumbnail img {
    height: auto;
    width: 80%;
}

.consultationHead__word {
    border-bottom: 1px solid var(--colorBlack);
    color: var(--colorBlack);
    font-size: var(--fontSize32);
    margin-top: calc(8px * 15);
    padding-bottom: calc(8px * 4);
    text-align: center;
}

.consultationHead__img {
    margin-top: calc(8px * 4);
    text-align: center;
}

.consultationHead__img img {
    height: auto;
    width: 80%;
}

.consultationForm {
    margin-top: calc(8px * 10);
}

.consultationForm__inner {
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.16);
    padding: calc(8px * 6) calc(8px * 10) calc(8px * 12);
}

.consultationForm__title {
    color: var(--colorBlack);
    font-size: var(--fontSize32);
    font-weight: bold;
    letter-spacing: 4px;
    text-align: center;
}

.consultationForm__item {
    align-items: center;
    display: grid;
    grid-template-columns: auto 680px;
    margin-top: calc(8px * 6);
}

.contactForm__item:nth-of-type(n+2) {
    margin-top: calc(8px * 4);
}

.contactForm__item--head {
    align-items: flex-start;
}

.contactForm__item--title {
    font-size: var(--fontSize16);
    font-weight: bold;
    position: relative;
}

.contactForm__item--title.is-required::after {
    background: #E9D642;
    border-radius: 4px;
    color: #fff;
    content: "必須";
    display: inline-block;
    font-size: 13px;
    font-weight: 400;
    margin-left: calc(8px * 2);
    padding: 4px 6px;
}

.contactForm__item--title.is-any::after {
    background: #DDDDDD;
    border-radius: 4px;
    color: #fff;
    content: "必須";
    display: inline-block;
    font-size: 13px;
    font-weight: 400;
    margin-left: calc(8px * 2);
    padding: 4px 6px;
}

.wpcf7-list-item {
    font-size: var(--fontSize16);
}

.contactForm__itemBox--head {
    font-size: var(--fontSize15);
    margin: 10px 0;
}

.contactForm__itemBox__grid--input {
    width: 15%;
}

.contactForm__itemBox__grid--number {
    width: 15%;
}

.contactForm__itemBox__grid--numberText {
    width: 35%;
}

.contactForm__itemBox--days:nth-child(n+2){
    margin-top: 10px;
}

.contactForm__button {
    column-gap: calc(8px * 6);
    display: flex;
    margin-top: calc(8px * 8);
    justify-content: center;
}

.buttonReset {
    background: #fff;
    border: 4px solid #E9D642;
    border-radius: 40px;
    cursor: pointer;
    display: inline-block;
    font-size: var(--fontSize20);
    font-weight: bold;
    padding: calc(8px * 2) calc(8px * 12);
}

@media screen and (max-width: 767px) {
    .consultationHead {
        margin-top: calc(8px * 4);
    }
    
    .consultationHead__title {
        font-size: 24px;
    }
    
    .consultationHead__lead {
        font-weight: 400;
        margin-top: calc(8px * 3);
        text-align: left;
    }

    .consultationHead__lead br {
        display: none;
    }
    
    .consultationHead__list {
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.16);
        display: grid;
        margin-top: calc(8px * 3);
        padding: calc(8px * 3) calc(8px * 3);
        grid-template-columns: 100%;
        row-gap: calc(8px * 2);
    }
    
    .consultationHead__list li {
        line-height: 1.7;
        padding-left: calc(8px * 2.5);
    }
    
    .consultationHead__list li::before {
        height: 10px;
        width: 10px;
    }
    
    .consultationHead__thumbnail {
        margin-top: calc(8px * 4);
    }
    
    .consultationHead__thumbnail img {
        width: 100%;
    }
    
    .consultationHead__word {
        font-size: 18px;
        margin-top: calc(8px * 6);
        padding-bottom: calc(8px * 2);
    }
    
    .consultationHead__img {
        margin-top: calc(8px * 3);
    }
    
    .consultationHead__img img {
        width: 100%;
    }
    
    .consultationForm {
        margin-top: calc(8px * 5);
    }
    
    .consultationForm__inner {
        box-shadow: 0 3px 8px rgba(0, 0, 0, 0.16);
        padding: calc(8px * 4) calc(8px * 3) calc(8px * 6);
    }
    
    .consultationForm__title {
        font-size: 18px;
        letter-spacing: 0;
    }
    
    .consultationForm__item {
        grid-template-columns: 100%;
        margin-top: calc(8px * 5);
    }
    
    .contactForm__item:nth-of-type(n+2) {
        margin-top: calc(8px * 3);
    }

    .contactForm__itemBox__grid {
        display: flex;
        font-size: var(--fontSize16);
        margin-bottom: calc(8px * 2);
        margin-top: calc(8px * 2);
    }
    
    .contactForm__itemBox__grid--input {
        width: 70%;
    }
    
    .contactForm__itemBox__grid--number {
        margin-right: calc(8px * 2);
        width: 35%;
    }

    .contactForm__itemBox__grid--numberText{
        width: 55%;
    }
    
    .contactForm__itemBox--days {
        margin-top: calc(8px * 1);
    }
    
    .contactForm__itemBox--notes {
        font-size: 11px;
        line-height: 2;
    }
    
    .contactForm__button {
        column-gap: calc(8px * 6);
        display: grid;
        margin-top: calc(8px * 4);
        justify-content: center;
        grid-template-columns: 100%;
    }
    
    .buttonReset {
        background: #fff;
        border: 4px solid #E9D642;
        border-radius: 40px;
        cursor: pointer;
        display: inline-block;
        font-size: var(--fontSize20);
        font-weight: bold;
        padding: calc(8px * 2) calc(8px * 12);
    }
}

/* ------------------------------------------------
    EVENT
------------------------------------------------- */
.contactForm__itemBox__date,
.contactForm__itemBox__time {
    height: 50px;
    width: 40%;
}

.contactForm__itemBox__date {
    margin-right: 24px;
}

.contactForm__itemBox__people {
    height: 50px;
    margin-right: 24px;
    width: 30%;
}

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

    .contactForm__itemBox__date,
    .contactForm__itemBox__time {
        height: 40px;
        width: 45%;
    }
    
    .contactForm__itemBox__date {
        margin-right: 16px;
    }
    
    .contactForm__itemBox__people {
        height: 40px;
        margin-right: 0;
        margin-bottom: 16px;
        margin-top: 8px;
        width: 100%;
    }    
}