@charset "utf-8";
/*******************************************************
mescius -http://www.mescius.jp/
Copyright(c)
by mescius GCTeam AC
*******************************************************/
/*** Form normalizing style  ***/
/* Base for label styling */


/**************
Consult
****************/
.img--consult {
	display: flex;
	width: 100%;
	max-width: 705px;
	height: auto;
	margin: 0 auto 3rem;	
}



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

.main-visual {
	margin: 2.5rem auto 1.5rem;
	}
	
}

@media only screen and (max-width : 480px) {
.table--case { min-width: 100%; }
table .table--tr {
	display: flex;
	flex-direction: column;
	border-top: none !important;
}
table .table--case-th, table .table--case-td{
	width:100%;
	border: none;
	border-top: none !important;
	}

table .table--tr:last-of-type { border-top:solid 1px #999 !important; }
}


/**************
contact
****************/

.contact-wrap {
	display: grid;
	grid-template-columns: auto 260px;
	grid-template-rows: auto;
	column-gap: 5%;
}
.contact-list-wrap {
	display: grid;
	grid-template-columns: auto;
	grid-template-rows: auto;
}
.pos_sticky {
    position: sticky;
    top: 120px;
    transition: all 0.3s;
}

body:has(.hide) .pos_sticky {
    top: 0;
}
.contact-wrap .title-h2 {
	/* display: inline-block; */
    position: relative;
    font-size: 36px;
    font-weight: 600;
    color: #005893;
    text-align: center;
    padding-left: 0;
    line-height: 1.6;
}
.contact-wrap .title-h3 {
	/* display: inline-block; */
    position: relative;
    font-size: 1.125rem;
    font-weight: 600;
    color: #005893;
    padding-left: 0;
    border-bottom: solid 1px #68c8f4;
}
.contact-wrap .btn--blue-line__larger {
    transition: all 0.3s;
}

.contact-list-ul {
    padding-left: 1rem;
}
.contact-list-ul li {
    font-size: 1rem;
    list-style-type: none;
}
.inquiry-btn-wrap {
    padding-left: 0;
    padding-top: 2rem;
}
.inquiry-btn-wrap li {
    margin-bottom: 1rem;
    list-style-type: none;
}
.inquiry-btn {
    display: grid;
    align-items: center;
    height: 70px;
    color: #fff;
    font-size: 1.125rem;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: normal;
    text-align: center;
    background-color: #37AFD6;
    outline: 1px solid #37AFD6;
    border-radius: 20px;
    transition: all 0.3s;
}
.inquiry-btn:hover,
.inquiry-btn:active {
    color: #fff;
    background-color: rgb(75, 182, 233);
}

.inquiry-btn__user {
    color: #37AFD6;
    background-color: #fff;
    outline-width: 2px;
    outline-offset: -2px;
}
.inquiry-btn__user:hover,
.inquiry-btn__user:active {
    color: #37AFD6;
    background-color: #fff;
}




.contact-wrap .small-icon {
    font-size: 12px;
    margin-left: 0;
}

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

    .contact-wrap {
        grid-template-columns: auto;
        column-gap: 0;
    }
    .contact-list-wrap {
        grid-template-columns: 48% 48%;
        column-gap: 4%;
        padding-top: 2rem;
    }
    .pos_sticky {
        position: relative;
        top: 0;
    }
    .inquiry-btn-wrap li {
        margin-bottom: 2rem;
    }
    .inquiry-btn {
        height: 46px;
        border-radius: 23px;
    }
    .display-pc-only {
        display: none;
    }

}

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

    .contact-wrap .title-h3 {
        margin-bottom: 1rem;
    }
    .contact-list-wrap {
        grid-template-columns: auto;
        column-gap: 0;
    }
    .contact-list {
        align-items: start;
    }

}
@media only screen and (max-width: 640px) {
    .inquiry-btn {
        height: 64px;
        border-radius: 32px;
    }

}

/* QA */
.qa-list {
    margin: 0;
    border-top: 1px solid #c6c6c6;
}

.qa-list:last-child {
    border-bottom: 1px solid #c6c6c6;
}

.qa-list-q {
    cursor: pointer;
    padding: 24px 60px 24px 12px;
    position: relative;
}

.qa-list-q span {
    background-image: linear-gradient(#c6c6c6, #c6c6c6);
    background-size: 0 2px;
    background-position: left bottom;
    background-repeat: no-repeat;
    transition: all 0.3s ease-out;
}

.qa-list-q:hover span,
.qa-list-q:active span {
    background-size: 100% 2px;
}

.qa-list-q:after {
    position: absolute;
    content: "";
    display: block;
    top: 40%;
    right: 28px;
    width: 10px;
    height: 10px;
    background-color: initial;
    border-top: 2px solid rgb(var(--color-sub));
    border-right: 2px solid rgb(var(--color-sub));
    transform: rotate(135deg);
    transition: all 0.1s;
}
.qa-list-q.open:after {
    transform: rotate(-45deg);
}
.qa-list-a {
    display: none;
    padding: 10px 40px;
    margin-bottom: 24px;
    background-color: #fff;
    margin-left: 2rem;
    margin-right: 4rem;
}

@media only screen and (max-width: 640px) {
    .qa-list-a {
        margin-left: 1rem;
        margin-right: 1rem;
        padding: 10px 20px;
    }

}
