@charset "utf-8";
/* CSS Document */

.service-office {
    display: none;
}

/*———————————
key
———————————*/
.key {
    color: var(--base-color);
}

.key_txt {
    font-size: 2.08vw;
    padding: 3em 0;
}
@media screen and (max-width:768px){
.key_txt {
    font-size: 1.8rem;
    padding: 1.5em 0;
}
.key_txt span {
    font-size: .6em;
}
}



/*———————————
breadcrumbs
———————————*/
.breadcrumbs {
    margin: 25px 0;
}



/*———————————
common-data
———————————*/
.common-data {
    border-bottom: 1px solid var(--base-color);
    display: grid;
    gap: 20px;
    grid-template-columns: 30% 1fr;
    padding: 20px;
}
@media screen and (max-width:767px){
.common-data {
    gap: 10px;
    grid-template-columns: auto;
}
}

.common-data dt {
    color: var(--base-color);
    font-size: 1.25rem;
}



/*———————————
専門家個人ページ
———————————*/
.author-info {
    padding-top: 0;
}

.author-info-wrap {
    align-items: flex-start;
    background: #fff;
    border-top: 10px solid var(--base-color);
    border-radius: 10px;
    box-shadow: 0 3px 6px rgba(0,0,0,.16);
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    padding: 30px 40px;
    position: relative;
}
@media screen and (max-width:768px){
.author-info-wrap {
    display: block;
    padding: 20px;
}
}

@media screen and (min-width:768px){
.author-info-wrap .user-list_badge {
    font-size: 14px;
}
}

.author-info_img {
    border-radius: 50%;
    flex-shrink: 0;
    height: 347px;
    overflow: hidden;
    width: 347px;
}
.author-info_img img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}
@media screen and (max-width:768px){
.author-info_img {
    height: 200px;
    margin: 0 auto;
    width: 200px;
}
}

.author-info-article {
    flex-grow: 1;
    margin-right: 40px;
    padding: 30px 0;
}
@media screen and (max-width:768px){
.author-info-article {
    margin: 20px 0 0;
}
}

.author-info_position {
    font-size: 1.25rem;
}

.author-info_name {
    color: var(--base-color);
    font-size: 1.57rem;
    margin-top: 20px;
}

.author-info_description {
    margin: 20px 0;
    text-align: left;
}

.author-info_description strong {
    border-bottom: 2px solid var(--main-color);
    display: inline-block;
    margin-bottom: 5px;
}

.author-info-nav {
    gap: 20px;
}
@media screen and (max-width:767px){
.author-info-nav {
    flex-direction: column;
}
}

.author-info-nav a {
    text-decoration: underline;
    width: 40%;
}
@media screen and (max-width:767px){
.author-info-nav a {
    width: 100%;
}
}



/*———————————
投稿系共通
———————————*/
.entry-footer {
    margin: 50px 0;
}

.entry-footer .column-author-info {
    border: 1px solid;
    border-radius: 10px;
    margin-left: auto;
    max-width: 350px;
    padding: 20px;
    width: 100%;
}
@media screen and (max-width:767px){
.entry-footer .column-author-info {
    max-width: none;
}
}



/*———————————
コラム・お知らせシングルページ
———————————*/
.post_thumbnail {
    margin: 0 auto 50px;
}

.columns .entry-content h2,
.news .entry-content h2,
.post-114 .entry-content h2 {
    background: var(--main-color);
    border-left: 10px solid var(--base-color);
    color: #fff;
    line-height: 1.5;
    margin: 3em 0 1em;
    padding: 5px 10px;
}

.columns .entry-content h3,
.news .entry-content h3,
.post-114 .entry-content h3 {
    align-items: center;
    color: var(--base-color);
    display: flex;
    margin: 2em 0 1em;
    position: relative;
}
.columns .entry-content h3::before,
.news .entry-content h3::before,
.post-114 .entry-content h3::before {
    background: linear-gradient(to bottom left, rgba(255,255,255,0) 50%, var(--main-color) 50.5%) no-repeat top left/100% 100%;
    content: "";
    display: block;
    height: 1.875em;
    margin-right: 10px;
    position: relative;
    width: 1em;
    z-index: 0;
}
.columns .entry-content h3::after,
.news .entry-content h3::after,
.post-114 .entry-content h3::after {
    background: linear-gradient(to top left, rgba(255,255,255,0) 50%, var(--base-color) 50.5%) no-repeat top left/100% 100%;
    content: "";
    display: block;
    filter: drop-shadow(1px 1px 1px rgba(0,0,0,.16));
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 1.125em;
    z-index: 1;
}

.columns .entry-content h4,
.news .entry-content h4,
.post-114 .entry-content h4 {
    border-left: 6px solid var(--base-color);
    margin: 2em 0 1em;
    padding: 3px 6px;
}

.columns .entry-content h5,
.columns .entry-content p,
.news .entry-content h5,
.news .entry-content p,
.post-114 .entry-content h5,
.post-114 .entry-content p {
    margin-top: 1em;
}



/*———————————
よくある質問
———————————*/
.faq-list + .faq-list,
* + .faq-list_item {
    margin-top: 60px;
}

.faq_caption {
    align-items: center;
    display: flex;
    color: #2687ce;
    font-size: 1.5rem;
    gap: 10px;
    margin-top: 5rem;
}
.faq_caption::before,
.faq_caption::after {
    background: #2687ce;
    content: "";
    display: block;
    flex-grow: 1;
    height: 1px;
}
@media screen and (max-width:767px){
.faq_caption {
    font-size: 1.3rem;
}
}

.faq-list_title {
    align-items: center;
    color: #b5085f;
    display: flex;
    font-size: 1.5rem;
}
@media screen and (max-width:767px){
.faq-list_title {
    font-size: 1.2rem;
}
}

.faq-list_txt {
    align-items: flex-start;
    display: flex;
    margin-top: 30px;
    padding-left: 20px;
}
@media screen and (max-width:767px){
.faq-list_txt {
    padding-left: 0;
}
}

.faq-list_title::before,
.faq-list_txt::before {
    align-items: center;
    border-radius: 50%;
    color: #fff;
    display: flex;
    flex-shrink: 0;
    font-size: 1.875rem;
    height: 1.5em;
    justify-content: center;
    margin-right: .5em;
    width: 1.5em
}
.faq-list_title::before {
    background: #b5085f;
    content: "Q";
}
.faq-list_txt::before {
    background: var(--base-color);
    content: "A";
}



/*———————————
お客様の声
———————————*/

/*
一覧
———————————*/
.voice-list {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(auto-fit,minmax(300px,1fr));
}

.voice-list_item {
    background: url("../img/page/voice/voice_bg.svg") no-repeat 90% 90%/45% auto,#fff;
    box-shadow: 0 3px 6px rgba(0,0,0,.16);
    padding: 20px;
}

.voice-list_item a {
    color: inherit;
    text-decoration: none;
}

.voice-list_title {
    color: var(--base-color);
    font-size: 1.5rem;
    text-align: center;
    text-decoration: underline;
}

.voice-list_excerpt {
    margin-top: 20px;
}

.voice-list_item .column-list-terms {
    background: none;
    color: var(--base-color);
    margin: 10px 0 0;
}


/*
シングル
———————————*/
.voice-service {
    display: flex;
    margin: 10px 0 30px;
}

.voice-service dt,
.voice-service dd {
    padding: 10px;
}

.voice-service dt {
    background: var(--main-color);
    color: #fff;
}



/*———————————
アバウトページ
———————————*/
.greeting-wrap > div > div {
    align-items: flex-start;
    display: grid;
    gap: 30px;
    grid-template-columns: 350px 1fr;
}
@media screen and (max-width:767px){
.greeting-wrap > div > div {
    display: flex;
    flex-direction: column-reverse;
}
}

.greeting_img {
    background: #f7fcff;
    box-shadow: 1px 1px 1px rgba(0,0,0,.16), 10px 10px 0 rgb(151 211 255);
    margin: 0;
    padding: 20px;
}
.greeting_img figcaption {
    margin: 5px 0 0;
}
.greeting_img figcaption span {
    display: block;
    font-size: 1.125rem;
    text-align: right;
}
@media screen and (max-width:767px){
.greeting_img {
    margin: 0 auto 50px;
    max-width: 300px;
}
.greeting_img img {
    margin: 0 auto;
    max-width: 176px;
}
}

.greeting * + p {
    margin-top: 1em;
}

.greeting-article figure {
    margin: 1rem 0;
}

@media screen and (max-width:767px){
.overview td:first-child {
    width: 6em;
}
}



/*———————————
利用の流れ
———————————*/
.flow-detail .flow-wrap {
    display: grid;
    gap: 80px;
    grid-template-columns: auto;
}

.flow-detail .flow-content {
    align-items: center;
    display: grid;
    gap: 40px;
    grid-template-columns: auto 1fr;
}
@media screen and (max-width:767px){
.flow-detail .flow-content {
    gap: 20px;
    grid-template-columns: auto;
}
.flow-detail .flow-content:nth-child(2n) {
    transform: none;
}
}

.flow-detail .flow-content:not(:last-child) .flow-icon::after {
    bottom: -70px;
    left: 0;
    right: 0;
    top: auto;
    transform: rotate(90deg);
}
@media screen and (max-width:767px){
.flow-detail .flow-icon {
    margin: 0 auto;
}
.flow-detail .flow-content:first-child .flow-icon::after {
    display: none
}
.flow-detail .flow-content:not(:first-child) .flow-icon::after {
    background: url(../img/common/icon/arrow-blue.svg) no-repeat center center/contain;
    bottom: auto;
    content: "";
    height: 34px;
    position: absolute;
    top: -60px;
    transform: rotate(90deg);
    width: 26px;
}
}

.flow-detail .flow_txt {
    font-size: 1rem;
    text-align: left;
}



/*——————————————————————
サービスページ
——————————————————————*/
.service-wrap > p {
    margin-bottom: 1rem;
}

.service-wrap .flow-wrap {
    margin-top: 2rem;
}



/*———————————
プライバシーポリシーページなど
———————————*/
.other-page {
    counter-reset: count;
}

@media screen and (min-width:1024px){
.other-page_caption {
    text-align: center;
}
}

.other-page_title {
    color: var(--base-color);
    font-size: 1.25rem;
    margin: 80px 0 30px;
}
.other-page_title::before {
    content: counter(count)". ";
    counter-increment: count;
}

@media screen and (min-width:768px){
.other-page-article {
    padding-left: 50px;
}
}

.other-page-article h4 {
    margin-top: 30px;
}

.other-page-article p {
    line-height: 2;
}
.other-page-article * + p {
    margin-top: 1em;
}

.other-page-table {
    margin-top: 30px;
}

.other-page-table table {
    border-left: 1px solid var(--base-color);
    border-top: 1px solid var(--base-color);
    margin-top: 10px;
    width: 100%;
}

.other-page-table th,
.other-page-table td {
    border-bottom: 1px solid var(--base-color);
    border-right: 1px solid var(--base-color);
    padding: 15px;
}

.other-page-table th {
    font-size: 1.125rem;
    font-weight: 500;
    text-align: center;
    width: 35%;
}

.other-page-table td {
    width: 65%;
}

.other-page-table thead th,
.other-page-table thead td {
    background: var(--main-color);
    color: #fff;
    text-align: center;
}

@media screen and (min-width:768px){
.other-page ul {
    padding-left: 1em;
}
}

.other-page ol {
    list-style: decimal;
    padding-left: 2em;
}

.other-page li {
    margin-top: 10px;
}
.other-page ul li::before {
    color: var(--base-color);
    content: "●";
    margin-right: .5em;
}

.other-page-border {
    border: 1px solid;
    margin-top: 10px;
    padding: 20px;
}



/*———————————
form
———————————*/
.form-wrap {
    display: grid;
    gap: 25px;
    grid-template-columns: repeat(auto-fit,100%);
}

.form-content:not(.form-privacy) {
    display: grid;
    gap: 20px;
    grid-template-columns: 300px 1fr;
}
.form-content.form-naiyou {
    align-items: flex-start;
}
.form-content.form-privacy {
    text-align: center;
}
@media screen and (max-width:767px){
.form-content:not(.form-privacy) {
    gap: 10px;
    grid-template-columns: 100%;
}
}

.form-content:not(.form-privacy) dt {
    color: var(--base-color);
    font-size: 1.125rem;
}
.form-content.hissu dt {
    align-items: center;
    display: flex;
    justify-content: space-between;
}
.form-content.hissu dt::after {
    background: #b5085f;
    color: #fff;
    content: "必須項目";
    display: inline-block;
    font-size: 12px;
    padding: 3px 10px;
}

.form-btn {
    display: flex;
    justify-content: center;
}
.form-btn input {
    background: linear-gradient(to bottom,#00429B,#4D83D9);
    border: 1px solid transparent;
    border-radius: 5px;
    color: #fff;
    cursor: pointer;
    font-family: inherit;
    font-size: 1.5rem;
    padding: .3em 3em;
    transition: .4s;
}
.form-btn input[name="submitBack"] {
    background: #505050;
    margin-right: 25px;
    transform: scale(.9);
}
.form-btn input:hover {
    background: #fff;
    border: 1px solid;
    box-shadow: 0 0 3px rgba(0,66,155,.3);
    color: #00429B;
}
.form-btn input[name="submitBack"]:hover {  
    box-shadow: 0 0 3px rgba(80,80,80,.3);
    color: #505050;
}
.form-btn input:focus {
    outline: none;
}
@media screen and (max-width:767px){
.form-btn {
    flex-direction: column-reverse;
}
.form-btn input {
    font-size: 1.2rem;
}
.form-btn input[name="submitBack"] {
    margin: 20px 0 0;
}
}

input:not([type="checkbox"]):not([type="submit"]):not([name*="tel_num"]),
textarea {
    width: 100%;
}

input,
textarea,
select {
    font-family: inherit;
    font-size: 1rem;
    padding: 3px;
}

.mwform-checkbox-field label {
    cursor: pointer;
}





/*——————————————————————
コンサル一覧ページのサービス内容
——————————————————————*/
.service-advisor_title {
    margin: 0;
}

.service-advisor {
    margin-bottom: 50px;
}

.service-advisor-content {
    margin: 0 auto;
    max-width: 700px;
}

.service-advisor-content p {
    margin-bottom: 0;
}




/*——————————————————————
サービスページ大改造
——————————————————————*/
.post-114 p.link-gaibu {
    display: flex;
    gap: 20px;
    justify-content: center;
    margin-top: 2em;
}

.post-114 .link-gaibu a {
    align-items: center;
    background: var(--accent-color);
    border: 2px solid var(--accent-color);
    border-radius: 6px;
    color: #fff;
    display: inline-flex;
    font-size: 1.125rem;
    gap: 10px;
    padding: 10px 30px;
    text-align: center;
    text-decoration: none;
    transition: .4s;
}
.post-114 .link-gaibu a:hover {
    background: #fff;
    color: var(--accent-color);
    opacity: 1;
}
.post-114 .link-gaibu a::after {
    background: url("../img/common/icon/gaibu-white.svg") no-repeat center center/contain;
    content: "";
    display: block;
    height: 1em;
    width: 1em;
}

.post-114 .entry-content figure {
    margin-top: 1em;
}
.post-114 .entry-content figcaption {
    text-align: center;
}
.post-114 .entry-content figure img {
    margin: 0 auto;
}



