@charset "utf-8";
@import url("root.css");
/***************************************
-------------- VISIT --------------
***************************************/
.page_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto 60px;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    border: 2px solid var(--base-color01);
    background: #fff;
    padding: 5%;
}

#visit h2 {
    margin-bottom: 30px;
}
#visit .step {
    margin-bottom: 60px;
    display: grid;
    grid-template-rows: calc(2rem * 1.7) 1fr;
    grid-template-columns: 67.5% 30%;
    grid-template-areas:
        "h3  img"
        "txt img";
    justify-content: space-between;
    grid-row-gap: 15px;
    position: relative;
}
.step_txt {
    grid-area: txt;
}
.step_txt p {
    text-align: justify;
}
.step_img {
    grid-area: img;
}
#visit .step:nth-of-type(1)::after,
#visit .step:nth-of-type(2)::after {
    content: "";
    position: absolute;
    bottom: -45px;
    right: calc(50% - 15px);
    transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    width: 30px;
    height: 45px;
    background: url(../img/arrow_bl.svg) no-repeat;
    background-size: contain;
    background-position: center;
}
#visit h3,
.caution h3 {
    grid-area: h3;
    display: flex;
    align-items: center;
    width: 100%;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.0;
    padding-bottom: 5px;
    color: var(--base-color01);
    border-bottom: 2px solid var(--base-color01);
}
#visit h3 span {
    display: block;
    text-align: center;
    line-height: 1.0;
    width: 64px;
    color: #fff;
    font-weight: normal;
    margin-right: 10px;
    padding: 5px;
    background: var(--base-color01);
}

#visit .contact {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border: 4px solid var(--base-color01);
    margin-bottom: 30px;
    padding: 30px;
    border-radius: 8px;
}
#visit .contact h4 {
    display: block;
    width: 100%;
    font-size: 2.4rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 30px;
}

#visit .contact .mail,
#visit .contact .tel {
    width: 48%;
}
#visit .contact .mail a,
#visit .contact .tel a {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    color: #fff;
    width: 100%;
    padding: 10px 0;
    border-radius: 8px;
}
#visit .contact .mail a:hover,
#visit .contact .tel a:hover {
    opacity: 0.8;
}
#visit .contact .mail a {
    background: linear-gradient(#2a33a1,#1e257c);
}
#visit .contact .tel a {
    background: linear-gradient(#ca5a4b,#b12714);
}
#visit .contact .mail a p,
#visit .contact .tel a p {
    width: 100%;
    text-align: center;
}
#visit .contact .mail a .parent,
#visit .contact .tel a .parent {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: auto;
    margin: auto;
    padding: 5px 0;
    text-align: center;
    font-size: 2.4rem;
    line-height: 1.0;
    font-weight: bold;
}
#visit .contact .mail a .parent span {
    width: 24px;
    height: auto;
    margin-top: 3px;/*位置の微調整*/
    margin-right: 5px;
    background: url(../img/mail_wh.svg) no-repeat;
    background-size: contain;
    background-position: center;
}
#visit .contact .tel a .parent span {
    width: auto;
    height: 18px;
    margin-right: 5px;
    background: url(../img/icn_tel_wh.svg) no-repeat;
    background-size: contain;
    background-position: center;
    aspect-ratio: 41 / 30;
    margin-top: 2px;
}

.akutoku_box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 20px;
    margin-bottom: 30px;
}

.akutoku_box .akutoku_img {
    width: 45%;
}
.akutoku_box p {
    width: 50%;
}
.akutoku_box p span {
    font-size: inherit;
}
.red {
    color: #e10000;
}
.bold {
    font-weight: bold;
}
.underline {
    text-decoration: underline;
}

/* =======================
  PC
======================== */
@media screen and (min-width: 1200px) {}
/* =======================
  TABLET
======================== */
@media screen and (max-width:768px) {
    .akutoku_box .akutoku_img {
        width: 100%;
    }
    .akutoku_box p {
        width: 100%;
        margin-top: 20px;
    }
}
/* =======================
  SP
======================== */
@media screen and (max-width: 599px) {
    #visit .step {
        display: flex;
        flex-wrap: wrap;
    }
    #visit .step h3 { order: 1;}
    #visit .step .step_img { order: 2;}
    #visit .step .step_txt { order: 3;}
    #visit .contact .mail,
    #visit .contact .tel {
        width: 100%;
    }
    #visit .contact .mail {
        margin-bottom: 30px;
    }
}






