@charset "UTF-8";
.hl-content_large.-noline::after {
    display: none;
}

.p-box_title.-button {
    position: relative;
    padding-right: 220px;
}
.p-box_title .-type {
    display: inline-block;
    margin-bottom: 12px;
    padding: 0 10px;
    height: 28px;
    background: #003b87;
    font-size: 1.3rem;
    color: #fff;
    line-height: 27px;
}
.p-box_title .btn-special {
    position: absolute;
    top: 56px;
    right: 0;
    display: block;
    padding: 0 14px;
    background: #ddb85b;
    white-space: nowrap;
    font-weight: bold;
    color: #fff;
    font-size: 1.5rem;
    text-decoration: none;
    text-align: center;
    width: 200px;
    height: 48px;
    line-height: 47px;
    border-radius: 4px;
    box-shadow: 0 1px 0 rgba(0,0,0,.1);
}
@media only screen and (max-width: 900px) {
    .p-box_title.-button {
        padding-right: 0;
    }
    .p-box_title .-type {
        height: 24px;
        padding: 0 6px;
        font-size: 1rem;
        line-height: 23px;
    }
    .p-box_title .btn-special {
        top: 20px;
        height: 28px;
        padding: 0 10px;
        line-height: 27px;
        width: 132px;
        font-size: 1.2rem;
    }
}

.p-detail_title {
    position: relative;
}
.p-detail_title .hl-content_large {
    padding-right: 100px;
}
@media only screen and (max-width: 900px) {
    .p-detail_title .hl-content_large {
        padding-right: 64px;
    }
}

.p-box_update {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 24px;
    font-size: 1.2rem;
}
.p-box_update .btn-notice {
    display: block;
    margin-right: 20px;
    height: 28px;
    padding: 0 18px 0 16px;
    border-radius: 3px;
    border: 1px solid #003b87;
    box-shadow: 0 1px 2px rgba(0,0,0,.15);
    color: #003b87;
    line-height: 27px;
    transition: background .3s ease, box-shadow .3s ease, transform .3s ease;
}
.p-box_update .btn-notice span {
    display: inline-block;
    padding-left: 24px;
    background: url(/common/img/ico_mail_b.png) center left /14px auto no-repeat;
}
.p-box_update .btn-notice:hover {
    background: #e8ecf7;
    box-shadow: none;
    transform: translateY(1px);
    transition: background .3s ease, box-shadow .3s ease, transform .3s ease;
}
.p-box_update .w-data {
    display: flex;
}
.p-box_update .c-data {
    display: flex;
    color: #283546;
}
.p-box_update .c-data:not(:last-child)::after {
    display: inline-block;
    margin: 0 2px;
    content: '／';
    color: #dbdbdb;
}
.p-box_update .c-data dt {
    font-weight: 500;
}
.p-box_update .c-data dt::after {
    content: '：';
}
.p-box_update .c-data dd {
    font-weight: 200;
}
.p-label_feature.-detail {
    margin-bottom: 24px;
}
.p-label_feature.-detail > li {
    width: calc((100% - (6px * 5)) / 6);
    margin: 0 6px 6px 0;
    padding: 7px 0;
    font-size: 1.3rem;
}
.p-label_feature.-detail > li:nth-child(6n) {
    margin-right: 0;
}
@media only screen and (max-width: 1120px) {
    .p-label_feature.-detail > li {
        width: calc((100% - (6px * 3)) / 4);
    }
    .p-label_feature.-detail > li:nth-child(4n) {
        margin-right: 0;
    }
    .p-label_feature.-detail > li:nth-child(6n) {
        margin-right: 6px;
    }
}
@media only screen and (max-width: 900px) {
    .p-box_update .w-data {
        width: 100%;
    }
    .p-box_update .c-data {
        flex-wrap: wrap;
        margin-bottom: 6px;
    }
    .p-box_update .btn-notice {
        margin-bottom: 8px;
    }
    .p-label_feature.-detail > li {
        width: calc((100% - (4px * 2)) / 3);
        margin: 0 4px 4px 0;
        font-size: 1rem;
    }
    .p-label_feature.-detail > li:nth-child(3n) {
        margin-right: 0;
    }
    .p-label_feature.-detail > li:nth-child(4n) {
        margin-right: 4px;
    }
    .p-label_feature.-detail > li:nth-child(6n) {
        margin-right: 0;
    }
}
@media only screen and (max-width: 900px) {
    .p-box_update .w-data {
        flex-wrap: wrap;
    }
    .p-box_update .c-data.-schedule::after {
        display: none;
    }
    .p-box_update .c-data.-number {
        width: 100%;
    }
}

@media only screen and (max-width: 900px) {
    .l-detail {
        display: flex;
        flex-wrap: wrap;
    }
}

.p-detail_data {
    display: flex;
    justify-content: space-between;
    margin-bottom: 64px;
}
.p-detail_data .row-data {
    width: calc(100% - 320px);
}
.p-detail_data .c-data_item {
    position: relative;
    padding: 0;
}
.p-detail_data .c-data_item dt {
    display: block;
    width: 106px;
    padding: 18px 16px;
    background: #f1f4fd;
    font-size: 1.4rem;
    color: #283546;
}
.p-detail_data .c-data_item dd {
    padding: 16px 24px;
    font-size: 1.5rem;
}
.p-detail_data .c-data_item dd.-inbtn {
    padding-right: 200px;
}
.btn-detail_data {
    position: absolute;
    top: 0;
    right: 3px;
    bottom: 0;
    margin: auto;
    display: block;
    height: 28px;
    width: 170px;
    border-radius: 3px;
    border: 1px solid #003b87;
    box-shadow: 0 1px 2px rgba(0,0,0,.15);
    color: #003b87;
    font-size: 1.3rem;
    line-height: 27px;
    text-align: center;
    text-decoration: none;
    transition: background .3s ease, box-shadow .3s ease, transform .3s ease;
}
.btn-detail_data:hover {
    background: #e8ecf7;
    box-shadow: none;
    transform: translateY(1px);
    transition: background .3s ease, box-shadow .3s ease, transform .3s ease;
}
.p-detail_data .row-tags {
    width: 286px;
}
.c-tag_list {
    margin-bottom: 36px;
}
.c-tag_list > li {
    display: inline-block;
    margin: 0 0 12px 8px;
    font-size: 1.2rem;
    color: #2d3858;
}
.c-tag_list > li::before {
    content: '#';
}
.p-detail_conv.-section {
    display: none;
}
.p-detail_conv .c-box_cv {
    margin-bottom: 18px;
}
.p-detail_conv .c-box_cv li:first-child {
    margin-left: 0;
}
.p-detail_conv .btn-cv_common {
    width: 230px;
    height: 48px;
    line-height: 47px;
}
.p-detail_conv .btn-favorite {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 48px;
    height: 48px;
    line-height: 47px;
}
.p-detail_conv .c-contact a {
    position: relative;
    display: inline-block;
    padding-left: 40px;
    font-size: 2.8rem;
    font-weight: bold;
    color: #003b87;
    text-decoration: none;
}
.p-detail_conv .c-contact a::before {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    display: block;
    width: 30px;
    height: 30px;
    border-radius: 3px;
    background: #003b87 url(/common/img/ico_tel.png) center /15px 15px no-repeat;
}
.p-detail_conv .c-contact dl {
    margin-top: 8px;
}
.p-detail_conv .c-contact dt {
    margin-bottom: 4px;
    font-weight: bold;
    font-size: 1.5rem;
}
.p-detail_conv .c-contact dd {
    font-size: 1.2rem;
}
@media only screen and (max-width: 1120px) {
    .p-detail_data .row-data {
        width: calc(100% - 270px);
    }
    .p-detail_data .row-tags {
        width: 240px;
    }
    .p-detail_conv .btn-cv_common {
        width: 180px;
    }
}
@media only screen and (max-width: 900px) {
    .p-detail_data {
        order: 3;
        display: block;
        width: 100%;
    }
    .p-data_table {
        border: 1px solid #bbcbe0;
    }
    .p-detail_data .row-data {
        width: 100%;
        margin-bottom: 32px;
    }
    .p-detail_data .c-data_item {
        display: block;
    }
    .p-detail_data .c-data_item dt,
    .p-detail_data .c-data_item dd {
        width: 100%;
        padding: 14px;
    }
    .p-detail_data .c-data_item dt {
        border-bottom: 1px solid #eee;
    }
    .p-detail_data .c-data_item dd.-inbtn {
        padding-right: 14px;
    }
    .btn-detail_data {
        position: relative;
        left: 0;
        margin: 8px 0 0;
    }
    .p-detail_data .p-flex_between {
        display: block;
    }
    .p-detail_data .p-flex_between .c-row {
        width: 100%;
    }
    .p-detail_data .row-tags {
        width: 100%;
    }
    .c-tag_list {
        margin-bottom: 0;
    }
    .p-detail_conv,
    .p-detail_conv.-section {
        position: fixed;
        left: 0;
        bottom: 0;
        z-index: 100;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        padding: 10px 0;
        background: #fff;
    }
    .p-detail_conv .c-box_cv {
        width: auto;
        margin: 0 10px 0 0;
    }
    .c-box_cv li {
        margin-left: 4px!important;
    }
    .p-detail_conv .btn-cv_common {
        width: 116px;
        height: 42px;
        padding: 0;
        font-size: 1.1rem;
        line-height: 41px;
    }
    .p-detail_conv .btn-favorite {
        width: 42px;
        height: 42px;
    }
    .p-detail_conv .c-contact a {
        padding-top: 2px;
        padding-left: 24px;
        font-size: 1.5rem;
    }
    .p-detail_conv .c-contact a::before {
        width: 20px;
        height: 20px;
        background-size: 8px 8px;
    }
    .p-detail_conv .c-contact dl {
        margin-top: 4px;
    }
    .p-detail_conv .c-contact dt {
        margin-bottom: 2px;
        font-size: 1.2rem;
    }
    .p-detail_conv .c-contact dd {
        font-size: 9px;
    }
}

.p-detail_image {
    margin-bottom: 80px;
}
.p-3d {
    margin-bottom: 40px;
    background: #2e3b4c;
}
.p-3d iframe{
    display: block;
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
    height: 460px;
    border: 1px solid #4b505b;
}
.w-gallery {
    position: relative;
    margin-bottom: 16px;
    background: #182435;
    overflow: hidden;
}
.p-gallery {
    position: relative;
    width: 100%;
}
.p-gallery::before,
.p-gallery::after {
    position: absolute;
    top: 0;
    z-index: 1;
    display: block;
    width: calc((100% - 700px) / 2);
    height: 100%;
    background: rgba(24,36,53,.7);
    content: '';
}
.p-gallery::before {
    left: 0;
}
.p-gallery::after {
    right: 0;
}
.p-gallery .slick-list {
    width: 700px;
    margin: 0 auto;
    overflow: visible;
}
@media only screen and (min-width: 901px) {
    .p-gallery .slick-slide {
        width: 700px!important;
    }
}
.p-gallery .slick-slide img {
    width: 100%;
}
.p-gallery .slick-prev,
.p-gallery .slick-next {
    display: flex!important;
    justify-content: center;
    align-items: center;
    top: auto;
    bottom: -52px;
    z-index: 1;
}
.p-gallery .slick-prev {
    left: auto;
    right: 75px;
}
.p-gallery .slick-next {
    right: 12px;
}
.p-gallery .slick-prev::before,
.p-gallery .slick-next::before {
    width: 9px;
    height: 9px;
    border-color: #fff;
    border-width: 2px;
}
.p-thumb {
    margin-bottom: 48px;
}
.p-thumb .slick-track {
    transform: none!important;
}
.p-thumb .c-thumb_item {
    position: relative;
    display: inline-block;
    width: calc((100% - (8px * 6)) / 7)!important;
    margin: 0 8px 8px 0;
    cursor: pointer;
    opacity: .8;
    transition: opacity .3s ease;
}
.p-thumb .c-thumb_item:hover {
    opacity: 1;
    transition: opacity .3s ease;
}
.p-thumb .c-thumb_item::before {
    box-sizing: border-box;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    border: 4px solid transparent;
    content: '';
    transition: border-color .3s ease;
}
.p-thumb .c-thumb_item:nth-child(7n) {
    margin-right: 0;
}
.p-thumb .c-thumb_item.slick-current {
    opacity: 1;
    transition: opacity .3s ease;
}
.p-thumb .c-thumb_item.slick-current::before {
    border-color: #226ac8;
    transition: border-color .3s ease;
}
.p-thumb .c-thumb_item img {
    width: 100%;
}
.p-gallery_data {
    width: 700px;
    margin: 0 auto;
    padding: 16px 0;
    color: #fff;
}
.p-gallery_data .c-data_name {
    font-size: 1.5rem;
}
.p-gallery_data .c-data_num {
    position: absolute;
    right: 28px;
    bottom: 13px;
    display: block;
    width: 60px;
    height: 28px;
    font-size: 1.3rem;
    text-align: center;
    line-height: 27px;
    font-weight: bold;
}
.p-bnr_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.p-bnr_list::before,
.p-bnr_list::after {
    content: '';
    width: calc((100% - (24px * 3)) / 4);
}
.p-bnr_list::before {
    order: 1;
}
.p-bnr_list .c-bnr_item {
    width: calc((100% - (24px * 3)) / 4);
    margin-bottom: 24px;
}
.p-bnr_list .c-bnr_item:nth-child(4n) {
    margin-right: 0;
}
.p-bnr_list .c-bnr_item a {
    display: block;
    text-decoration: none;
}
.p-bnr_list .c-bnr_item img {
    display: block;
    max-width: 100%;
    margin-bottom: 12px;
    border-radius: 3px;
    transition: box-shadow .3s ease;
}
.p-bnr_list .c-bnr_item figure {
    margin: 0;
}
.p-bnr_list .c-bnr_item figcaption {
    font-size: 1.6rem;
    text-align: center;
    font-weight: bold;
    transition: color .3s ease;
}
.p-bnr_list .c-bnr_item a:hover img {
    box-shadow: 0 4px 12px rgba(0,0,0,.24);
    transition: box-shadow .3s ease;
}
.p-bnr_list .c-bnr_item a:hover figcaption {
    color: #003b87;
    transition: color .3s ease;
}
@media only screen and (max-width: 900px) {
    .p-detail_image {
        order: 1;
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        margin-bottom: 54px;
    }
    .p-3d {
        display: none;
    }
    .w-gallery {
        order: 1;
        width: 100%;
        overflow: visible;
        margin-bottom: 32px;
    }
    .w-gallery::before,
    .w-gallery::after {
        position: absolute;
        top: 0;
        z-index: 1;
        display: block;
        width: calc((100vw - 100%) / 2);
        height: 100%;
        background: rgba(24,36,53,.7);
        content: '';
    }
    .w-gallery::before {
        left: calc(-1 * ((100vw - 100%) / 2));
    }
    .w-gallery::after {
        right: calc(-1 * ((100vw - 100%) / 2));
    }
    .p-gallery::before,
    .p-gallery::after {
        display: none;
    }
    .p-gallery .slick-list {
        width: 100%;
    }
    .p-gallery_data {
        position: relative;
        width: 100%;
    }
    .p-gallery_data::before {
        position: absolute;
        top: 0;
        left: -6vw;
        z-index: -1;
        content: '';
        display: block;
        width: 102vw;
        height: 100%;
        background: #182435;
    }
    .p-gallery_data .c-data_name {
        font-size: 1.4rem;
    }
    .p-thumb {
        display: none;
    }
    .p-bnr_list {
        order: 2;
        width: 100%;
    }
    .p-bnr_list .c-bnr_item {
        width: calc((100% - (20px * 2)) / 3);
        margin-bottom: 20px;
    }
}
@media only screen and (max-width: 600px) {
    .p-bnr_list .c-bnr_item img {
        margin-bottom: 8px;
    }
    .p-bnr_list .c-bnr_item figcaption {
        font-size: 1.4rem;
    }
    .p-bnr_list .c-bnr_item {
        width: calc((100% - (12px * 1)) / 2);
        margin-bottom: 16px;
    }
}

.p-detail_recommend {
    margin-bottom: 100px;
}
.hl-recommend {
    margin-bottom: 24px;
    text-align: center;
}
.p-box_recommend {
    position: relative;
    padding: 50px 0;
}
.p-box_recommend::before {
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -2000px;
    width: 4000px;
    height: 100%;
    background: url(/details/img/recommend_bg.gif) center /1200px 1200px;
    content: '';
}
.p-box_recommend .inner {
    position: relative;
    left: 50%;
    width: 650px;
    margin-left: -360px;
    padding: 40px 80px;
    border-radius: 10px;
    background: #fff;
    border: 1px solid #fbbd98;
}
.p-box_recommend .inner::after {
    position: absolute;
    bottom: -12px;
    right: -176px;
    content: url(/details/img/sales_accesory.png);
}
.p-box_recommend h3 {
    margin-bottom: 20px;
}
.p-box_recommend h3 span {
    background: #ffff00;
    font-size: 2rem;
    font-weight: bold;
    color: #ff0000;
}
.p-box_recommend p {
    margin-bottom: 14px;
    font-size: 1.4rem;
    line-height: 1.4;
}
.p-box_recommend p::before {
    display: inline-block;
    position: relative;
    top: -1px;
    content: '◆';
    margin-right: 2px;
    font-size: 1.2rem;
}
.p-box_recommend p strong {
    background: #ffff99;
    font-size: 1.8rem;
    color: #ff00ff;
    text-decoration: underline;
}
.p-box_recommend p em {
    font-style: normal;
}
@media only screen and (max-width: 900px) {
    .p-box_recommend {
        padding: 40px 0;
    }
    .p-box_recommend::before {
        background-size: 600px 600px;
    }
    .hl-recommend img {
        max-width: 88%;
    }
    .p-detail_recommend {
        width: 100%;
        order: 2;
        margin-bottom: 60px;
    }
    .p-box_recommend .inner {
        left: 0;
        width: 100%;
        margin-left: 0;
        padding: 40px 24px;
    }
    .p-box_recommend .inner::after {
        display: none;
    }
    .p-box_recommend h3 span {
        font-size: 1.6rem;
    }
    .p-box_recommend p strong {
        font-size: 1.5rem;
    }
}

.p-plan_select {
    display: flex;
    justify-content: space-between;
    margin-bottom: 60px;
}
.p-plan_select .row-image {
    width: calc(100% - 330px);
    border: 2px solid #c1c8d4;
}
.p-image_list {
    position: relative;
    height: 100%;
}
.p-image_list::after {
    position: absolute;
    right: 24px;
    bottom: 24px;
    display: block;
    width: 36px;
    height: 36px;
    background: url(/common/img/ico_zoom.png) center /contain no-repeat;
    content: '';
    pointer-events: none;
}
.p-image_list .c-image_item {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 20px;
    cursor: pointer;
}
.p-image_list .c-image_item:not(:first-child) {
    display: none;
}
.p-image_list .c-image_item img {
    position: absolute;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.p-plan_select .row-list {
    width: 300px;
}
.p-plan_select .p-data_table {
    border: 1px solid #c1c8d4;
    border-bottom: none;
}
.p-plan_select .p-data_table .c-data_item {
    padding: 0;
    border-bottom: 1px solid #c1c8d4;
}
.p-plan_select .p-data_table dt,
.p-plan_select .p-data_table dd {
    padding: 16px;
    text-align: center;
    font-weight: bold;
}
.p-plan_select .p-data_table dt {
    display: block;
    width: 108px;
    font-size: 1.5rem;
    background: #f1f4fd;
}
.p-plan_select .p-data_table dd {
    width: calc(100% - 108px);
    font-size: 1.6rem;
}
.p-plan_select .p-data_table dd .-sold {
    color: #ef060c;
}
.p-plan_select .p-data_table dd a {
    position: relative;
    display: inline-block;
    color: #003b87;
    text-decoration: none;
}
.p-plan_select .p-data_table dd a::after {
    position: absolute;
    top: -3px;
    right: -36px;
    display: block;
    width: 24px;
    height: 24px;
    background: url(/details/img/plan_select_arrow.png) center /contain no-repeat;
    content: '';
    transition: right .3s ease;
}
.p-plan_select .p-data_table dd a:hover::after {
    right: -40px;
    transition: right .3s ease;
}
.w-plan_list {
    position: relative;
    padding-bottom: 30px;
}
.w-plan_list::before {
    position: absolute;
    top: 160px;
    left: 50%;
    margin-left: -2000px;
    width: 4000px;
    height: calc(100% - 160px);
    background: #f4f4f6;
    content: '';
}
.p-plan_arrow {
    display: none;
}
.p-plan_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.p-plan_list::after {
    content: '';
    display: block;
    width: calc((100% - (56px * 2)) / 3);
}
.p-plan_list .c-plan_item {
    position: relative;
    width: calc((100% - (56px * 2)) / 3);
    margin-bottom: 56px;
    border: 1px solid #bdc5d1;
    border-radius: 2px;
    background: #fff;
}
.p-plan_list .c-plan_item .c-num {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100px;
    height: 44px;
    background: #003b87;
    color: #fff;
    font-weight: bold;
    font-size: 1.8rem;
    line-height: 43px;
    text-align: center;
}
.p-plan_list .p-data_table {
    margin-bottom: 10px;
    border: none;
    border-top: 1px solid #dde5f0;
}
.p-plan_list .c-plan_item figure {
    margin: 0;
    padding: 20px 18px 24px;
}
.p-plan_list .c-plan_item .w-plan_img {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    height: 260px;
    margin-bottom: 16px;
}
.p-plan_list .c-plan_item figure img {
    position: absolute;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.p-plan_list .c-plan_item .hl-plan {
    margin-bottom: 12px;
    color: #003b87;
    font-weight: bold;
    font-size: 1.6rem;
    line-height: 1.2;
}
.p-plan_list .c-data_item {
    padding: 0;
    font-size: 1.3rem;
}
.p-plan_list .c-data_item dt,
.p-plan_list .c-data_item dd {
    padding: 8px 6px;
}
.p-plan_list .c-data_item dt {
    display: block;
    width: 72px;
    font-weight: bold;
}
.p-plan_list .p-note_list {
    padding-left: 6px;
    line-height: 1.2;
}
.p-plan_list .p-note_list > li:not(:last-child) {
    margin-bottom: 2px;
}
.btn-plan {
    display: none;
}
.c-plan_overlay {
    display: none;
}
@media only screen and (max-width: 1120px) {
    .p-plan_list .c-plan_item {
        width: calc((100% - (24px * 2)) / 3);
    }
}
@media only screen and (max-width: 900px) {
    .p-detail_plan {
        order: 4;
        width: 100%;
    }
    .p-plan_select {
        display: block;
    }
    .p-plan_select .row-image {
        width: 100%;
        margin-bottom: 20px;
    }
    .p-image_list::after {
        right: 20px;
        bottom: 20px;
        width: 24px;
        height: 24px;
    }
    .p-image_list .slick-prev::before,
    .p-image_list .slick-next::before {
        width: 16px;
        height: 16px;
        border-color: #003b87;
    }
    .p-image_list .slick-prev {
        left: 10px;
        z-index: 1;
    }
    .p-image_list .slick-next {
        right: 10px;
        z-index: 1;
    }
    .p-image_list .c-image_item {
        height: 360px;
        padding: 0;
    }
    .p-image_list .c-image_item:not(:first-child) {
        display: flex;
    }
    .p-image_list .c-image_item img {
        left: 0;
        right: 0;
        margin: auto;
        padding: 20px;
    }
    .p-plan_select .row-list {
        width: 100%;
    }
    .p-plan_select .p-data_table {
        display: flex;
        flex-wrap: wrap;
    }
    .p-plan_select .p-data_table .c-data_item {
        display: flex;
        width: 50%;
    }
    .p-plan_select .p-data_table dt,
    .p-plan_select .p-data_table dd {
        padding: 16px 10px;
    }
    .p-plan_select .p-data_table dt {
        width: 60px;
        font-size: 1.2rem;
    }
    .p-plan_select .p-data_table dd {
        width: calc(100% - 60px);
        font-size: 1.3rem;
    }
    .p-plan_select .p-data_table dd a {
        left: -8px;
    }
    .p-plan_select .p-data_table dd a::after {
        top: 0;
        right: -20px;
        width: 16px;
        height: 16px;
    }
    .p-plan_select .p-data_table dd a:hover::after {
        right: -20px;
    }
    .w-plan_list {
        opacity: 0;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 100;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 100vh;
        padding: 0;
        pointer-events: none;
    }
    .w-plan_list::before {
        display: none;
    }
    .w-plan_list.-active {
        opacity: 1;
        pointer-events: all;
    }
    .p-plan_arrow {
        position: absolute;
        top: 0;
        bottom: 0;
        z-index: 10;
        margin: auto;
        display: block;
        width: 64px;
        height: 64px;
        border-radius: 50%;
        background: rgba(0, 59, 135, .8) no-repeat;
        background-size: 28px 28px;
    }
    .p-plan_arrow.-prev {
        left: -32px;
        background-image: url(/common/img/prev.png);
        background-position: center right 4px;
    }
    .p-plan_arrow.-next {
        right: -32px;
        background-image: url(/common/img/next.png);
        background-position: center left 4px;
    }
    .p-plan_list {
        display: block;
        width: 90%;
    }
    .p-plan_list::after {
        display: none;
    }
    .p-plan_list .c-plan_item {
        display: none;
        margin-bottom: 0;
    }
    .p-plan_list .c-plan_item::before,
    .p-plan_list .c-plan_item::after {
        position: absolute;
        top: -20px;
        right: 0;
        display: block;
        width: 20px;
        height: 2px;
        border-radius: 1px;
        background: #fff;
        content: '';
        pointer-events: none;
    }
    .p-plan_list .c-plan_item::before {
        transform: rotate(45deg);
    }
    .p-plan_list .c-plan_item::after {
        transform: rotate(-45deg);
    }
    .p-plan_list .c-plan_item.-show {
        z-index: 1;
        display: block;
        width: 100%;
    }
    .p-plan_list .c-plan_item .c-num {
        width: 80px;
        height: 32px;
        font-size: 1.4rem;
        line-height: 31px;
    }
    .p-plan_list .c-plan_item figure {
        padding-bottom: 16px;
    }
    .p-plan_list .c-plan_item .w-plan_img {
        height: 200px;
    }
    .btn-plan {
        display: block;
        width: calc(100% - (18px * 2));
        border-radius: 2px;
        height: 36px;
        background: #003b87;
        text-align: center;
        line-height: 35px;
        margin: 0 auto 22px;
        color: #fff;
        font-size: 1.4rem;
        text-decoration: none;
    }
    .c-plan_overlay {
        position: absolute;
        top: 0;
        left: 0;
        display: block;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,.7);
    }
}
@media only screen and (max-width: 600px) {
    .p-image_list .c-image_item {
        height: 320px;
    }
}

.p-detail_reason {
    margin-bottom: 132px;
}
.p-detail_reason img {
    max-width: 100%;
}
@media only screen and (max-width: 900px) {
    .p-detail_reason {
        order: 6;
        width: 100%;
        margin-bottom: 80px;
    }
}

.p-detail_access {
    margin-bottom: 80px;
}
.p-box_access {
    margin-bottom: 14px;
}
.p-box_access iframe {
    width: 100%;
    height: 600px;
    vertical-align: bottom;
}
.p-access_how {
    display: flex;
    padding: 40px 0;
    background: #003b87;
}
.p-access_how .c-how_item {
    position: relative;
    width: 50%;
    padding: 0 20px 60px;
    text-align: center;
}
.p-access_how .c-how_item:not(:last-child)::after {
    position: absolute;
    display: block;
    top: 12px;
    right: 0;
    width: 1px;
    height: calc(100% - 12px);
    background: rgba(226,226,226,.5);
    content: '';
}
.p-access_how .c-how_item dl {
    max-width: 390px;
    margin: 0 auto;
    color: #fff;
}
.p-access_how .c-how_item dt {
    margin-bottom: 32px;
    position: relative;
    padding: 10px 16px;
    background: rgba(166,181,204,.3);
    font-size: 1.8rem;
    font-weight: bold;
}
.p-access_how .c-how_item dt::after {
    position: absolute;
    bottom: -9px;
    left: 0;
    right: 0;
    margin: auto;
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 9px 9px 0 9px;
    border-color: rgba(166,181,204,.3) transparent transparent transparent;
}
.p-access_how .c-how_item dd {
    font-size: 1.6rem;
}
.p-access_how .c-how_item dd .-station {
    display: inline-block;
    margin-bottom: 16px;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(193,200,212,.5);
    font-weight: bold;
    font-size: 1.6rem
}
.p-access_how .c-how_item dd span {
    display: inline-block;
    font-size: 1.4rem;
}
.p-access_how .c-how_item dd input {
    margin-top: 12px;
    padding: 12px 18px;
    border-radius: 3px;
    border: 1px solid rgba(255,255,255,.5);
    width: 330px;
    background: none;
    font-size: 1.6rem;
    color: #fff;
}
.p-access_how .c-how_item dd input:focus {
    border-color: #fff;
}
.p-access_how .c-how_item dd input::placeholder {
    color: rgba(255,255,255,.5);
}
.p-access_how .c-how_btns {
    position: absolute;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    max-width: 338px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
}
.p-access_how .btn-how {
    display: block;
    height: 40px;
    background: #fff;
    margin: 0 4px;
    width: calc((100% - (10px * 2)) / 3);
    font-size: 1.6rem;
    font-weight: 500;
    color: #003b87;
    text-align: center;
    line-height: 39px;
    text-decoration: none;
    border-radius: 3px;
    transition: background .3s ease, transform .3s ease;
}
.p-access_how .btn-how:hover {
    background: #e8ecf7;
    box-shadow: none;
    transform: translateY(1px);
    transition: background .3s ease, transform .3s ease;
}
.p-access_how .btn-how.-root {
    width: 130px;
}
.c-access_note {
    text-align: center;
    font-size: 1.2rem;
}
@media only screen and (max-width: 1120px) {
    .p-box_access iframe {
        height: 480px;
    }
}
@media only screen and (max-width: 900px) {
    .p-detail_access {
        order: 5;
        width: 100%;
        margin-bottom: 60px;
    }
    .p-box_access iframe {
        height: 320px;
    }
    .p-access_how {
        display: none;
    }
    .c-access_note {
        display: none;
    }
}

.p-detail_around {
    margin-bottom: 60px;
}
.p-around_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.p-around_list::before,
.p-around_list::after {
    content: '';
    width: calc((100% - (20px * 3)) / 4);
}
.p-around_list::before {
    order: 1;
}
.p-around_list .c-around_item {
    width: calc((100% - (20px * 3)) / 4);
    margin-bottom: 24px;
}
.p-around_list .c-around_item a {
    display: block;
    text-decoration: none;
    cursor: pointer;
}
.p-around_list .c-around_item figure {
    margin: 0;
}
.p-around_list .c-around_item .w-around_img {
    display: block;
    margin-bottom: 12px;
    transition: box-shadow .3s ease;
}
.p-around_list .c-around_item .w-around_img img {
    max-width: 100%;
    vertical-align: bottom;
}
.p-around_list .c-around_item figcaption {
    font-size: 1.4rem;
    text-align: center;
    transition: color .3s ease;
}
.p-around_list .c-around_item a:hover .w-around_img {
    box-shadow: 0 4px 12px rgba(0,0,0,.24);
    transition: box-shadow .3s ease;
}
.p-around_list .c-around_item a:hover figcaption {
    color: #003b87;
    transition: color .3s ease;
}
@media only screen and (max-width: 900px) {
    .p-detail_around {
        order: 6;
        width: 100%;
        margin-bottom: 36px;
    }
    .p-around_list .c-around_item {
        width: calc((100% - (10px * 2)) / 3);
    }
}
@media only screen and (max-width: 600px) {
    .p-around_list .c-around_item {
        width: calc((100% - (10px * 1)) / 2);
    }
}

.p-detail_summary {
    margin-bottom: 120px;
}
.p-summary_table {
    width: 100%;
    border: 1px solid #bbcbe0;
    border-collapse: collapse;
}
.p-summary_table th,
.p-summary_table td {
    padding: 14px;
    border: 1px solid #eee;
    vertical-align: middle;
    font-size: 1.5rem;
    line-height: 1.4;
}
.p-summary_table th {
    width: 160px;
    background: #f1f4fd;
    text-align: left;
}
.p-summary_table td {
    width: 39%;
}
.p-summary_table td p:not(:last-child) {
    margin-bottom: 12px;
}
.p-summary_table td p img {
    max-width: 100%;
    height: auto;
    margin-bottom: 8px;
}
.p-summary_table .hl-summary {
    margin: 30px 0 10px;
    padding-left: 8px;
    border-left: 2px solid #022d6a;
    font-weight: bold;
    font-size: 1.6rem;
    text-align: left;
}
.p-summary_table:first-of-type .hl-summary {
    margin-top: 0;
}
@media only screen and (max-width: 900px) {
    .p-detail_summary {
        order: 7;
        width: 100%;
        margin-bottom: 60px;
    }
    .p-summary_table th,
    .p-summary_table td {
        display: block;
        width: 100%;
    }
}

.p-detail_sales {
    position: relative;
    margin-bottom: 100px;
    padding: 100px 0 86px;
}
.p-detail_sales::before {
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -2000px;
    width: 4000px;
    height: 100%;
    background: url(/details/img/sales_bg.gif) center /1200px 1200px;
    content: '';
}
.p-box_sales {
    position: relative;
    padding: 68px 0 50px;
    border-radius: 10px;
    background: #fff;
    border: 1px solid #86a9d6;
}
.p-box_sales .hl-sales {
    position: absolute;
    top: -26px;
    left: 0;
    right: 0;
    margin: auto;
    width: 548px;
    border-radius: 28px;
    background: #eff6ff;
    border: 2px solid #003b87;
    font-size: 2.4rem;
    color: #003b87;
    text-align: center;
    line-height: 55px;
}
.p-box_sales .hl-sales span {
    position: relative;
    display: inline-block;
    padding: 0 8px 0 64px;
}
.p-box_sales .hl-sales span::before {
    position: absolute;
    top: -40px;
    left: 0;
    display: block;
    width: 72px;
    height: 88px;
    background: url(/details/img/sales_title_accesory.png) center /contain no-repeat;
    content: '';
}
.p-box_sales .inner {
    display: flex;
    justify-content: space-between;
}
.p-box_sales .row-figure {
    margin: 0;
    width: 260px;
    padding: 0 32px;
    text-align: center;
}
.p-box_sales .row-figure img {
    margin-bottom: 18px;
    width: 190px;
}
.p-box_sales .row-figure figcaption {
    font-size: 1.5rem;
    line-height: 1.4;
}
.p-box_sales .btn-sales {
    display: block;
    border-radius: 2px;
    height: 36px;
    background: #003b87;
    text-align: center;
    line-height: 35px;
    margin-top: 22px;
    color: #fff;
    font-size: 1.4rem;
    text-decoration: none;
}
.p-box_sales .row-message {
    width: calc(100% - 260px);
    padding: 0 40px;
    border-left: 1px solid #d4e0e2;
}
.p-box_sales .row-message p {
    font-size: 1.5rem;
    line-height: 1.8;
}
.p-box_sales .row-message p:not(:last-child) {
    margin-bottom: 24px;
}
@media only screen and (max-width: 900px) {
    .p-detail_sales {
        order: 8;
        width: 100%;
        margin-bottom: 60px;
        padding: 60px 0 40px;
    }
    .p-detail_sales::before {
        background-size: 600px 600px;
    }
    .p-box_sales {
        padding: 48px 0 24px;
    }
    .p-box_sales .inner {
        flex-wrap: wrap;
    }
    .p-box_sales .hl-sales {
        top: -24px;
        width: 300px;
        font-size: 1.8rem;
        line-height: 44px;
    }
    .p-box_sales .hl-sales span {
        padding: 0 8px 0 34px;
    }
    .p-box_sales .hl-sales span::before {
        top: -24px;
        width: 48px;
        height: 58px;
    }
    .p-box_sales .row-figure {
        margin: 0 auto;
        order: 2;
        width: 100%;
    }
    .p-box_sales .row-figure img {
        margin-bottom: 8px;
    }
    .p-box_sales .row-figure figcaption {
        font-size: 1.2rem;
    }
    .p-box_sales .btn-sales {
        width: 190px;
        margin: 12px auto;
    }
    .p-box_sales .row-message {
        order: 1;
        width: 100%;
        margin-bottom: 32px;
        padding: 0 24px;
    }
    .p-box_sales .row-message p:not(:last-child) {
        margin-bottom: 16px;
    }
}

.p-detail_contact {
    margin-bottom: 80px;
}
.p-contact_title {
    display: flex;
    justify-content: space-between;
    margin-bottom: 60px;
}
.p-contact_title .hl-contact {
    padding: 4px 0 4px 24px;
    border-left: 6px solid #dc4748;
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.6;
}
.btn-contact-large {
    width: 490px;
    height: 114px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 4px;
    background: #dc4748;
    color: #fff;
    font-size: 2.2rem;
    font-weight: bold;
    box-shadow: 0 2px 4px rgba(0,0,0,.3);
    text-decoration: none;
    transition: background .3s ease, box-shadow .3s ease, transform .3s ease;
}
.btn-contact-large:hover {
    background: #e46464;
    box-shadow: none;
    transform: translateY(2px);
    transition: background .3s ease, box-shadow .3s ease, transform .3s ease;
}
.p-contact_list {
    display: flex;
    margin-bottom: 36px;
}
.p-contact_list .c-contact_item {
    position: relative;
    width: calc(100% / 3);
    padding: 0 60px;
}
.p-contact_list .c-contact_item:not(:last-child)::after {
    position: absolute;
    right: -1px;
    top: 16px;
    content: '';
    display: block;
    width: 2px;
    height: 96px;
    background: #e2e2e2;
}
.p-contact_list .c-contact_item > dl > dt {
    position: relative;
    margin-bottom: 20px;
    padding-bottom: 12px;
    font-size: 1.8rem;
    font-weight: 500;
    text-align: center;
}
.p-contact_list .c-contact_item > dl > dt::after {
    position: absolute;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    display: block;
    width: 30px;
    height: 1px;
    background: #434343;
    content: '';
}
.p-contact_list .c-contact {
    text-align: center;
}
.p-contact_list .c-contact a {
    position: relative;
    display: inline-block;
    padding-left: 40px;
    font-size: 2.8rem;
    font-weight: bold;
    color: #003b87;
    text-decoration: none;
}
.p-contact_list .c-contact a::before {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    display: block;
    width: 30px;
    height: 30px;
    border-radius: 3px;
    background: #003b87 url(/common/img/ico_tel.png) center /15px 15px no-repeat;
}
.p-contact_list .c-contact dl {
    margin-top: 8px;
}
.p-contact_list .c-contact dt {
    margin-bottom: 4px;
    font-weight: bold;
    font-size: 1.5rem;
}
.p-contact_list .c-contact dd {
    font-size: 1.2rem;
}
.btn-contact {
    display: block;
    width: 100%;
    height: 50px;
    border-radius: 4px;
    border: 1px solid #008086;
    background: #fff;
    box-shadow: 0 2px 3px rgba(0,0,0,.3);
    text-align: center;
    font-size: 1.6rem;
    font-weight: bold;
    color: #008086;
    line-height: 49px;
    transition: background .3s ease, box-shadow .3s ease, transform .3s ease;
}
.btn-contact span {
    display: inline-block;
    padding-left: 32px;
    background: center left /20px 20px no-repeat;
}
.btn-contact.-favorite span {
    background-image: url(/details/img/ico_star_g.png);
}
.btn-contact.-mail span {
    background-image: url(/details/img/ico_mail_g.png);
}
.btn-contact:hover {
    background: #e9f6f7;
    box-shadow: none;
    transform: translateY(2px);
    transition: background .3s ease, box-shadow .3s ease, transform .3s ease;
}
.p-send_list {
    display: flex;
    justify-content: center;
    padding-bottom: 48px;
    border-bottom: 1px solid #e2e2e2;
}
.p-send_list .c-send_item:not(:last-child) {
    margin-right: 72px;
}
.p-send_list .c-send_item a {
    display: inline-block;
    padding-left: 40px;
    background: center left /32px auto no-repeat;
    text-decoration: none;
    font-size: 1.4rem;
    transition: color .3s ease, background-position .3s ease;
}
.p-send_list .c-send_item a.-mail {
    background-image: url(/details/img/ico_send_mail.png);
}
.p-send_list .c-send_item a.-line {
    background-image: url(/details/img/ico_send_line.png);
}
.p-send_list .c-send_item a:hover {
    color: #003b87;
    background-position: center left 3px;
    transition: color .3s ease, background-position .3s ease;
}
@media only screen and (max-width: 1120px) {
    .p-contact_title .hl-contact {
        font-size: 2.2rem;
    }
    .btn-contact-large {
        width: 360px;
        font-size: 2rem;
    }
}
@media only screen and (max-width: 900px) {
    .p-detail_contact {
        display: none;
    }
}

.p-detail_qa {
    padding: 48px 60px 72px;
    border-radius: 5px;
    background: #f1f4fd;
}
.p-detail_qa .hl-qa {
    position: relative;
    margin-bottom: 40px;
    padding-bottom: 30px;
    font-size: 3rem;
    font-weight: bold;
    text-align: center;
}
.p-detail_qa .hl-qa::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: '';
    display: block;
    width: 46px;
    height: 3px;
    background: #003b87;
}
.p-detail_qa .c-qa_item {
    margin-bottom: 6px;
    background: #fff;
    border-radius: 2px;
    box-shadow: 0 1px 1px rgba(0,0,0,.15);
}
.p-detail_qa .c-qa_item dt {
    position: relative;
    padding: 18px 20px 18px 72px;
    cursor: pointer;
    font-weight: bold;
    font-size: 2rem;
    line-height: 1.4;
    transition: background .3s ease;
}
.p-detail_qa .c-qa_item dt.-active {
    color: #003b87;
}
.p-detail_qa .c-qa_item dt::before {
    position: absolute;
    top: 17px;
    left: 28px;
    content: 'Q.';
    color: rgba(0,60,135,.8);
    font-size: 2.2rem;
}
.p-detail_qa .c-qa_item dt:hover {
    background: #e8ecf7;
    transition: background .3s ease;
}
.p-detail_qa .c-qa_item dt .inner {
    position: relative;
    padding-right: 40px;
}
.p-detail_qa .c-qa_item dt .-arrow {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    display: block;
    width: 28px;
    height: 28px;
    background: url(/details/img/qa_arrow.png) center /contain no-repeat;
    transition: transform .3s ease;
}
.p-detail_qa .c-qa_item dt.-active .-arrow {
    transform: rotate(180deg);
    transition: transform .3s ease;
}
.p-detail_qa .c-qa_item dd {
    position: relative;
    display: none;
    padding: 6px 128px 24px 104px;
    font-size: 1.6rem;
    line-height: 1.5;
}
.p-detail_qa .c-qa_item dd::before {
    position: absolute;
    top: 2px;
    left: 72px;
    content: 'A.';
    font-size: 2rem;
    font-weight: bold;
}
.p-detail_qa .c-qa_item dd p:not(:last-child) {
    margin-bottom: 20px;
}
.p-detail_qa .c-qa_item dd p a {
    display: inline-block;
    padding-left: 26px;
    background: url(/details/img/ico_arrow.png) center left /13px 13px no-repeat;
    text-decoration: none;
}
@media only screen and (max-width: 900px) {
    .p-detail_qa {
        order: 9;
        width: 100%;
        padding: 32px 20px;
    }
    .p-detail_qa .hl-qa {
        margin-bottom: 30px;
        padding-bottom: 20px;
        font-size: 2.4rem;
    }
    .p-detail_qa .hl-qa::after {
        width: 36px;
        height: 2px;
    }
    .p-detail_qa .c-qa_item dt {
        padding: 16px 12px 16px 36px;
        font-size: 1.4rem;
    }
    .p-detail_qa .c-qa_item dt::before {
        top: 13px;
        left: 12px;
        font-size: 1.8rem;
    }
    .p-detail_qa .c-qa_item dt .inner {
        padding-right: 30px;
    }
    .p-detail_qa .c-qa_item dt .-arrow {
        width: 20px;
        height: 20px;
    }
    .p-detail_qa .c-qa_item dd {
        padding: 6px 12px 24px 56px;
        font-size: 1.4rem;
    }
    .p-detail_qa .c-qa_item dd::before {
        left: 36px;
        font-size: 1.6rem;
    }
}

.l-detail_index {
    position: fixed;
    left: 40px;
    bottom: 32px;
}
.p-detail_list .c-detail_item:not(:last-child) {
    margin-bottom: 14px;
}
.p-detail_list .c-detail_item a {
    font-size: 1.4rem;
    opacity: .4;
    text-decoration: none;
}
.p-detail_list .c-detail_item a.-active {
    color: #003b87;
    font-weight: bold;
    opacity: 1;
}
@media only screen and (max-height: 860px) {
    .l-detail_index {
        display: none;
    }
}
@media only screen and (max-width: 1120px) {
    .l-detail_index {
        display: none;
    }
}

/* 棟詳細ページ */
.p-section_data {
    margin-bottom: 32px;
}
.p-section_data .p-data_table {
    border-collapse: collapse;
    border: 1px solid #c1c8d4;
    width: 100%;
}
.p-section_data .p-data_table tbody {
    display: table;
    width: 100%;
}
.p-section_data .p-data_table tr {
    display: table-cell;
}
.p-section_data .p-data_table th,
.p-section_data .p-data_table td {
    padding: 16px;
    text-align: center;
    font-weight: bold;
    font-size: 1.4rem;
}
.p-section_data .p-data_table th {
    background: #f1f4fd;
}
.p-section_data .p-data_table td {
    color: #3a4757;
    font-weight: bold;
    text-align: center;
}
@media only screen and (max-width: 1120px) {
    .p-section_data .p-data_table tr {
        display: table-row;
    }
}
@media only screen and (max-width: 900px) {
    .p-section_about {
        display: flex;
        flex-wrap: wrap;
    }
    .p-section_data {
        order: 2;
        width: 100%;
        margin-bottom: 54px;
    }
    .p-section_data .p-data_table tr {
        display: block;
    }
    .p-section_data .p-data_table th,
    .p-section_data .p-data_table td {
        display: block;
        padding: 14px;
        text-align: left;
    }
    .p-detail_image {
        order: 1;
        width: 100%;
        margin-bottom: 0;
    }
}

.p-detail_others {
    position: relative;
    margin-bottom: 120px;
    padding: 48px 0;
}
.p-detail_others::before {
    position: absolute;
    top: 0;
    left: -100px;
    display: block;
    width: calc(100% + (100px * 2));
    height: 100%;
    background: #f4f4f6;
    border: 1px solid #dfdfe9;
    content: '';
}
.p-detail_others .hl-others {
    position: relative;
    width: 720px;
    margin: 0 auto 32px;
    padding: 16px 0;
    border-top: 1px solid #4972a8;
    border-bottom: 1px solid #4972a8;
    text-align: center;
    font-weight: bold;
    font-size: 2.5rem;
    color: #003b87;
}
.p-detail_others .p-plan_list {
    max-width: 980px;
    margin: 0 auto;
}
.p-detail_others .p-plan_list::after {
    width: calc((100% - (30px * 2)) / 3);
}
.p-detail_others .p-plan_list .c-plan_item {
    width: calc((100% - (30px * 2)) / 3);
    margin-bottom: 30px;
    padding-bottom: 58px;
}
.p-detail_others .p-plan_list .c-plan_item::before,
.p-detail_others .p-plan_list .c-plan_item::after {
    display: none;
}
.p-detail_others .btn-plan {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 24px;
    margin: auto;
    display: block;
    width: calc(100% - (18px * 2));
    border-radius: 2px;
    height: 36px;
    background: #003b87;
    text-align: center;
    line-height: 35px;
    color: #fff;
    font-size: 1.4rem;
    text-decoration: none;
}
.btn-others {
    position: absolute;
    right: 0;
    bottom: -24px;
    left: 0;
    margin: auto;
    width: 340px;
    height: 50px;
    border-radius: 4px;
    border: 1px solid #003b87;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0,0,0,.15);
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 49px;
    text-align: center;
    color: #003b87;
    text-decoration: none;
}
.btn-others span {
    position: relative;
    padding: 0 8px 0 36px;
}
.btn-others span::before {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    display: block;
    width: 13px;
    height: 13px;
    background: url(/details/img/ico_arrow_b.png) center /contain no-repeat;
    content: '';
    transform: rotate(180deg);
}
@media only screen and (max-width: 900px) {
    .p-detail_others {
        margin-bottom: 80px;
        padding: 48px 0 36px;
    }
    .p-detail_others .hl-others {
        width: 100%;
        padding: 12px 0;
        font-size: 2rem;
    }
    .p-detail_others .p-plan_list {
        width: 100%;
        display: flex;
    }
    .p-detail_others .p-plan_list::after {
        width: calc((100% - (20px * 1)) / 2);
    }
    .p-detail_others .p-plan_list .c-plan_item {
        display: block;
        width: calc((100% - (20px * 1)) / 2);
        margin-bottom: 20px;
    }
    .btn-others {
        width: 100%;
        max-width: 280px;
        height: 44px;
        font-size: 1.4rem;
        line-height: 43px;
    }
    .btn-others span {
        padding: 0 4px 0 20px;
    }
}
@media only screen and (max-width: 600px) {
    .p-detail_others .p-plan_list {
        display: block;
    }
    .p-detail_others .p-plan_list .c-plan_item {
        width: 100%;
    }
}

.p-detail_features {
    margin-bottom: 100px;
}
.p-features_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.p-features_list::before,
.p-features_list::after {
    content: '';
    width: calc((100% - (8px * 3)) / 4);
}
.p-features_list::before {
    order: 1;
}
.p-features_list .c-features_item {
    display: flex;
    align-items: center;
    width: calc((100% - (8px * 3)) / 4);
    margin-bottom: 8px;
    padding: 8px;
    border-radius: 2px;
    border: 1px solid #bdcee6;
    font-size: 1.2rem;
}
.p-features_list .c-features_item img {
    width: 41px;
    height: 41px;
    margin-right: 8px;
}
@media only screen and (max-width: 900px) {
    .p-detail_features {
        margin-bottom: 60px;
    }
    .p-features_list .c-features_item {
        width: calc((100% - (8px * 2)) / 3);
    }
}
@media only screen and (max-width: 600px) {
    .p-features_list .c-features_item {
        width: calc((100% - (4px * 2)) / 3);
        margin-bottom: 4px;
        padding: 6px;
        font-size: 1rem;
    }
    .p-features_list .c-features_item img {
        width: 24px;
        height: 24px;
        margin-right: 4px;
    }
}

.p-detail_btns {
    position: relative;
    margin-bottom: 120px;
    padding: 48px 0;
}
.p-detail_btns::before {
    position: absolute;
    top: 0;
    left: -100px;
    display: block;
    width: calc(100% + (100px * 2));
    height: 100%;
    background: #f4f4f6;
    border: 1px solid #dfdfe9;
    content: '';
}
.p-detail_btns .hl-others {
    position: relative;
    width: 720px;
    margin: 0 auto 32px;
    padding: 16px 0;
    border-top: 1px solid #4972a8;
    border-bottom: 1px solid #4972a8;
    text-align: center;
    font-weight: bold;
    font-size: 2.5rem;
    color: #003b87;
}
.p-btns_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.p-btns_list::after {
    content: '';
    width: calc((100% - (30px * 2)) / 3);
}
.p-btns_list .c-btns_item {
    position: relative;
    width: calc((100% - (30px * 2)) / 3);
    margin-bottom: 30px;
}
.p-btns_list .c-btns_item a {
    display: block;
    padding: 16px 20px;
    background: #003b87;
    color: #fff;
    text-decoration: none;
    border-radius: 4px;
    box-shadow: 0 1px 2px rgba(0,0,0,.15);
}
.p-btns_list .c-btns_item a strong {
    display: block;
    margin-bottom: 6px;
    font-size: 1.6rem;
}
.p-btns_list .c-btns_item a span {
    font-size: 1.2rem;
}
@media only screen and (max-width: 900px) {
    .p-detail_btns {
        padding: 48px 0 36px;
    }
    .p-detail_btns .hl-others {
        width: 100%;
        padding: 12px 0;
        font-size: 2rem;
    }
    .p-btns_list .c-btns_item {
        width: calc((100% - (20px * 1)) / 2);
        margin-bottom: 20px;
    }
}
@media only screen and (max-width: 600px) {
    .p-btns_list .c-btns_item {
        width: 100%;
        margin-bottom: 16px;
    }
}

/* テーマで探す */
.p-theme_intro {
    margin-bottom: 32px;
    font-size: 1.5rem;
}
.p-theme_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.p-theme_list::after {
    content: '';
    width: calc((100% - (24px * 2)) / 3);
}
.p-theme_list .c-theme_item {
    width: calc((100% - (24px * 2)) / 3);
    margin-bottom: 48px;
}
.p-theme_list .c-theme_item a {
    display: block;
    text-decoration: none;
    transition: color .3s ease;
}
.p-theme_list .c-theme_item figure {
    position: relative;
    margin: 0;
}
.p-theme_list .c-theme_item .w-img {
    width: 100%;
    height: 215px;
    border-radius: 4px;
    margin-bottom: 16px;
    overflow: hidden;
    background: #000;
}
.p-theme_list .c-theme_item .w-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.p-theme_list .c-theme_item dt {
    margin-bottom: 10px;
    font-weight: bold;
    font-size: 1.8rem;
    line-height: 1.25;
}
.p-theme_list .c-theme_item dd {
    font-size: 1.4rem;
    line-height: 1.4;
}
.p-theme_list .c-theme_item a:hover {
    color: #003b87;
    transition: color .3s ease;
}
@media only screen and (max-width: 900px) {
    .p-theme_list::after {
        display: none;
    }
    .p-theme_list .c-theme_item {
        width: calc((100% - (20px * 1)) / 2);
        margin-bottom: 40px;
    }
    .p-theme_list .c-theme_item .w-img {
        height: 200px;
    }
}
@media only screen and (max-width: 600px) {
    .p-theme_list::after {
        display: none;
    }
    .p-theme_list .c-theme_item {
        width: 100%;
        margin-bottom: 24px;
    }
    .p-theme_list .c-theme_item .w-img {
        height: 160px;
    }
    .p-theme_list .c-theme_item dt {
        margin-bottom: 8px;
        font-size: 1.6rem;
    }
    .p-theme_list .c-theme_item dd {
        font-size: 1.2rem;
    }
}

/* 住宅ローンシミュレーション */
.l-main.-loan {
    max-width: 1120px;
}
.p-simulator_tab {
    display: flex;
}
.c-simulator_tab_item a {
    display: flex;
    align-items: center;
    height: 60px;
    padding: 0 28px;
    background: #eaeef3;
    font-size: 2rem;
    font-weight: bold;
    text-decoration: none;
    letter-spacing: .024em;
    border-radius: 8px 8px 0 0;
    line-height: 1.25;
    color: #7c96b8;
}
.c-simulator_tab_item a.-active {
    background: #003b87;
    color: #fff;
}
.w-simulator {
    margin-bottom: 100px;
    padding: 80px;
    border-radius: 0 0 10px 10px;
    border: 2px solid #003b87;
    box-shadow: 0 2px 2px rgba(0,0,0,.15);
}
.w-simulator .inner {
    max-width: 1000px;
    margin: 0 auto;
}
.p-simulator_intro {
    margin-bottom: 48px;
}
.p-simulator_intro h2 {
    margin-bottom: 28px;
    font-size: 3.2rem;
    font-weight: bold;
    line-height: 1.5;
}
.p-simulator_intro p {
    font-size: 1.6rem;
    line-height: 1.5;
}
.p-simulator_table {
    width: 100%;
    border-collapse: collapse;
}
.p-simulator_table th,
.p-simulator_table td {
    padding: 25px 20px;
    border-bottom: 1px solid #ddd;
    vertical-align: middle;
}
.p-simulator_table th {
    position: relative;
    width: 280px;
    padding-right: 80px;
    font-weight: bold;
    font-size: 2rem;
    text-align: left;
}
.p-simulator_table th span {
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    margin: auto;
    display: block;
    width: 48px;
    height: 24px;
    border-radius: 3px;
    background: #f00;
    font-size: 1.2rem;
    color: #fff;
    text-align: center;
    line-height: 23px;
}
.p-simulator_table th i {
    font-style: normal;
    font-size: 1.4rem;
}
.p-simulator_table td {
    width: calc(100% - 320px);
    font-size: 1.6rem;
    font-weight: bold;
}
.btn-loan {
    display: inline-block;
    height: 28px;
    width: 134px;
    margin-top: 12px;
    border-radius: 3px;
    border: 1px solid #003b87;
    box-shadow: 0 1px 2px rgba(0,0,0,.15);
    color: #003b87;
    font-size: 1.2rem;
    font-weight: normal;
    line-height: 27px;
    text-align: center;
    text-decoration: none;
    transition: background .3s ease, box-shadow .3s ease, transform .3s ease;
}
.btn-loan:hover {
    background: #e8ecf7;
    box-shadow: none;
    transform: translateY(1px);
    transition: background .3s ease, box-shadow .3s ease, transform .3s ease;
}
.w-financial {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100vh;
    opacity: 0;
    transition: opacity .3s ease;
    pointer-events: none;
}
.w-financial.-show {
    opacity: 1;
    transition: opacity .3s ease;
    pointer-events: all;
}
.p-financial {
    position: relative;
    z-index: 1;
    width: 90%;
    max-width: 1200px;
    max-height: 90vh;
    overflow-y: auto;
    padding: 40px;
    border-radius: 8px;
    background: #fff;
}
.c-financial_close {
    position: sticky;
    top: 0;
    right: 0;
    display: block;
    margin: 0 0 0 auto;
    width: 48px;
    height: 48px;
    background: url(/common/img/ico_close.svg) center /32px 32px no-repeat;
    cursor: pointer;
    content: '';
    transform: translate(16px, -16px);
}
.p-financial h2 {
    margin-top: -48px;
    font-size: 2.2rem;
    padding-left: 12px;
    border-left: 2px solid #003b87;
}
.p-financial h3 {
    margin: 28px 0 20px;
    font-size: 1.8rem;
    font-weight: bold;
}
#interest_selector {
    padding: 10px 16px;
    background: #f4f4f4;
    border: 1px solid #ddd;
    font-size: 1.5rem;
}
.p-financial_list {
    display: none;
}
.p-financial_list::after {
    content: '';
    display: block;
    width: calc((100% - 60px) / 3);
}
.p-financial_list.-show {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.c-financial_item {
    width: calc((100% - 60px) / 3);
    margin-top: -1px;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}
.c-financial_item > a {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 0 16px 18px;
    font-size: 1.5rem;
    text-decoration: none;
    transition: color .3s ease;
}
.c-financial_item > a::before {
    position: absolute;
    right: 0;
    bottom: -1px;
    width: 0;
    height: 1px;
    background: #008086;
    content: '';
    transition: width .3s ease;
}
.c-financial_item > a::after {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    display: block;
    width: 6px;
    height: 6px;
    border-top: 2px solid #ddd;
    border-right: 2px solid #ddd;
    transform: rotate(45deg);
    content: '';
    transition: border-color .3s ease;
}
.c-financial_item > a strong {
    margin-right: .2em;
    font-size: 1.2em;
}
.c-financial_item > a:hover {
    color: #008086;
    transition: color .3s ease;
}
.c-financial_item > a:hover::before {
    width: 100%;
    left: 0;
    right: auto;
    transition: width .3s ease;
}
.c-financial_item > a:hover::after {
    border-color: #008086;
}
.c-financial_item > a.-disable {
    pointer-events: none;
    color: #ccc;
}
.c-financial_item > a.-disable span {
    display: none;
}
.p-financial_note {
    margin-top: 20px;
    padding-left: 1em;
    font-size: 1.2rem;
    text-indent: -1em;
    line-height: 1.4;
}
.p-financial_note::before {
    content: '※';
}
.c-financial_overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,.8);
}
.p-simulator_data {
    display: flex;
    align-items: center;
}
.c-data_input {
    display: flex;
    align-items: center;
    width: 290px;
    margin-right: 20px;
}
.p-simulator_data select {
    width: 140px;
    margin-right: 10px;
    padding: 16px;
    border-radius: 8px;
    background: #f6f6f6;
    border: 1px solid #ddd;
    font-weight: bold;
}
.c-data_input input {
    width: 120px;
    margin-right: 10px;
    padding: 10px;
    border-radius: 5px;
    background: #f6f6f6;
    border: 1px solid #ddd;
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
}
.c-data_input ul {
    width: 110px;
    margin-left: 16px;
}
.c-data_input li {
    margin-bottom: 4px;
    padding-left: 1em;
    font-size: 1.3rem;
    font-weight: normal;
    color: #003b87;
    text-indent: -1em;
    line-height: 1.3;
}
.c-data_input li:last-child {
    margin-bottom: 0;
}
.c-data_input li::before {
    content: '※';
}
.c-data_meter {
    width: 320px;
}
.c-data_meter input {
    width: 100%;
}
.c-data_input input[type="number"]::-webkit-outer-spin-button, 
.c-data_input input[type="number"]::-webkit-inner-spin-button { 
    -webkit-appearance: none; 
    margin: 0; 
}
.c-data_input input[type="number"] { 
    -moz-appearance:textfield; 
}
.c-data_meter input[type="range"] {
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
    outline: none;
    height: 14px;
    width: 100%;
    background: #c9d6e7;
    border-radius: 10px;
    border: solid 3px #edf2f7;
}
.c-data_meter input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    background: #003b87;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.15);
}
.c-data_meter input[type="range"]::-moz-range-thumb {
    background: #003b87;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.15);
    border: none;
}
.c-data_meter input[type="range"]::-moz-focus-outer {
    border: 0;
}
.c-data_meter input[type="range"]:active::-webkit-slider-thumb {
    box-shadow: 0px 5px 10px -2px rgba(0, 0, 0, 0.3);
}
input[type=range]::-ms-fill-lower {
    background: #1a5aad;
}
.p-simulator_result {
    /* position: fixed; */
    /* bottom: 0; */
    display: flex;
    justify-content: center;
    align-items: baseline;
    width: 100%;
    max-width: 956px;
    background: #f5f8fc;
    color: #96a2b1;
    opacity: 0;
    pointer-events: none;
}
.p-simulator_result.-show {
    opacity: .9;
    pointer-events: all;
    transition: opacity .3s ease;
}
.p-simulator_result.-active {
    opacity: .9;
    color: #fff;
    pointer-events: all;
    background: #003b87;
    transition: opacity .3s ease, background .3s ease;
    position: relative;
    max-width: 100%;    
}
.p-simulator_result.-stop {
    position: relative;
    max-width: 100%;
}
.p-simulator_result .hl-result {
    position: relative;
    width: 50%;
    padding: 28px 0;
    background: rgba(0,0,0,.3);
    margin-right: 40px;
    font-size: 1.8rem;
    color: #fff;
    font-weight: bold;
    text-align: center;
    letter-spacing: .06em;
}
.p-simulator_result .hl-result::after {
    position: absolute;
    top: 0;
    right: -16px;
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 38px 0 38px 16px;
    border-color: transparent transparent transparent rgba(0,0,0,.3);
}
.p-simulator_result.-active .hl-result {
    background: #04254e;
}
.p-simulator_result.-active .hl-result::after {
    border-color: transparent transparent transparent #04254e;
}
.p-simulator_result dl {
    position: relative;
    top: 3px;
    display: flex;
    align-items: baseline;
    justify-content: center;
    flex-wrap: wrap;
    width: 60%;
    font-weight: bold;
    font-size: 1.6rem;
}
.p-simulator_result dl.-monthly {
    top: -8px;
}
.p-simulator_result dt {
    margin-right: 8px;
    letter-spacing: .06em;
}
.p-simulator_result dd .result {
    position: relative;
    top: 3px;
    margin: 0 3px;
    font-size: 3.2rem;
}
.p-simulator_result.-active dd .result {
    color: #f5ac19;
    transition: color .3s ease;
}
.p-simulator_result dd.-bonus {
    font-size: 1.4rem;
    width: 100%;
    margin-top: 3px;
    text-align: center;
}
.p-simulator_result dd.-bonus strong {
    font-size: 1.2em;
}
.p-simulator_result.-active dd.-bonus strong {
    color: #f5ac19;
}
.p-loan_result {
    margin-top: 32px;
    padding: 16px 24px 24px;
    background: #f6f9fc;
}
.p-loan_result dl {
    display: flex;
    justify-content: center;
    align-items: baseline;
    font-size: 1.8rem;
    font-weight: bold;
}
.p-loan_result dt {
    margin-right: 20px;
}
.p-loan_result dd .result {
    position: relative;
    top: 3px;
    margin: 0 3px;
    font-size: 4rem;
    color: #003b87;
}
.p-simulator_close {
    margin-top: 40px;
    text-align: center;
}
.btn-simulator_close {
    display: inline-block;
    padding: 10px 24px;
    border-radius: 3px;
    border: 1px solid #003b87;
    box-shadow: 0 1px 2px rgba(0,0,0,.15);
    color: #003b87;
    font-size: 1.4rem;
    transition: background .3s ease, box-shadow .3s ease, transform .3s ease;
}
.btn-simulator_close span {
    display: inline-block;
    padding-left: 20px;
    background: url(/common/img/ico_close.svg) center left /14px 14px no-repeat;
}
.btn-simulator_close:hover {
    background: #e8ecf7;
    box-shadow: none;
    transform: translateY(1px);
    transition: background .3s ease, box-shadow .3s ease, transform .3s ease;
}
.p-simulator_note {
    margin-top: 40px;
    margin-bottom: 40px;
}
.p-simulator_note > li {
    margin-bottom: 8px;
    padding-left: 1em;
    font-size: 1.4rem;
    text-indent: -1em;
    line-height: 1.4;
}
.p-simulator_note > li::before {
    content: '※';
}
.btn-search {
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    border: none;
    font-size: 1.8rem;
    font-weight: bold;
    color: #fff;
    padding: 15px 10px;
    border-radius: 3px;
    background: #f5ac19;
    cursor: pointer;
    box-shadow: 0 2px 1px rgba(0,0,0,.2);
    max-width: 480px;
    text-decoration: none;
    line-height: 1.4;
    transition: background .3s ease, box-shadow .3s ease;
}
.btn-search.-disable {
    background: #b4b5b8;
    pointer-events: none;
    box-shadow: none;
    transition: background .3s ease, box-shadow .3s ease;
}
.btn-search span {
    display: inline-block;
    padding: 4px 0 4px 30px;
    background: url(/common/img/ico_house.png) center left /22px auto no-repeat;
}
.p-message {
    display: none;
    margin-bottom: 0;
    padding: 30px;
    border-radius: 0;
    background: #fbf1c7;
    text-align: center;
    font-size: 2rem;
    line-height: 1.6;
    font-weight: bold;
    color: #eb4430;
    opacity: 1;
}
.p-message span {
    position: relative;
    display: inline-block;
}
.p-message span::before {
    position: absolute;
    left: -3px;
    bottom: 7px;
    z-index: -1;
    width: calc(100% + 4px);
    height: 10px;
    background: #fcff4e;
    content: '';
}
.p-message_sub {
    position: fixed;
    bottom: 76px;
    width: 100%;
    max-width: 956px;
    padding: 20px;
    background: #fff2bc;
    text-align: center;
    font-size: 1.6rem;
    line-height: 1.6;
    font-weight: bold;
    color: #e5351f;
    opacity: 0;
    pointer-events: none;
}
.p-message_sub span {
    position: relative;
    display: inline-block;
}
.p-message_sub span::before {
    position: absolute;
    left: -3px;
    bottom: 3px;
    z-index: -1;
    width: calc(100% + 4px);
    height: 7px;
    background: #fcff4e;
    content: '';
}
.p-message_sub.-show {
    opacity: .9;
    transition: opacity .3s ease;
    pointer-events: all;
}
.p-message_sub.-hidden {
    opacity: 0;
    transition: opacity .3s ease;
    pointer-events: none;
}
/* .js-result_stop {
    height: 76px;
} */
.js-result_stop.-total-stop {
    height: 0;
}

@media only screen and (max-width: 1400px) {
    .w-simulator {
        padding: 60px 40px;
    }
    .w-simulator .inner {
        max-width: 800px;
    }
    .p-message_sub {
        max-width: 800px;
    }
    .p-simulator_result {
        max-width: 800px;
    }
    .c-data_input {
        flex-wrap: wrap;
        width: 180px;
    }
    .c-data_input ul {
        width: 100%;
        margin: 10px 0 0;
    }
    .c-data_meter {
        width: 280px;
    }
}
@media only screen and (max-width: 1120px) {
    .w-simulator .inner {
        max-width: 100%;
    }
    .p-message_sub {
        max-width: calc(100% - 80px - 10vw);
    }
    .p-simulator_result {
        max-width: calc(100% - 80px - 10vw);
    }
}
@media only screen and (max-width: 900px) {
    .c-simulator_tab_item a {
        justify-content: center;
        font-size: 1.4rem;
    }
    .w-simulator {
        padding: 60px 32px;
    }
    .p-simulator_intro h2 {
        margin-bottom: 24px;
        font-size: 2.4rem;
    }
    .p-simulator_table th,
    .p-simulator_table td {
        padding: 24px 0;
    }
    .p-simulator_table th {
        width: 210px;
        padding-right: 64px;
        font-size: 1.8rem;
    }
    .p-simulator_table th.-bonus {
        padding-right: 0;
    }
    .p-simulator_table td {
        padding-left: 20px;
    }
    .p-simulator_data {
        display: block;
    }
    .p-financial {
        padding: 28px;
    }
    .c-financial_item {
        width: calc((100% - 24px) / 2);
    }
    .c-data_input {
        width: 100%;
        margin: 0 0 20px;
    }
    .c-data_input ul {
        width: auto;
        margin: 0 0 0 16px;
    }
    .c-data_meter {
        width: 100%;
    }
    .p-simulator_result {
        max-width: calc(90% - (32px * 2));
    }
    .p-simulator_result.-stop {
        max-width: 100%;
    }
    .p-simulator_result .hl-result {
        font-size: 1.8rem;
    }
    .p-simulator_result dl {
        font-size: 1.6rem;
    }
    .p-simulator_result dd .result {
        font-size: 3.2rem;
    }
    .p-message {
        padding: 32px 24px;
    }
    .p-message_sub {
        max-width: calc(90% - (32px * 2));
    }
    .js-result_stop {
        height: 80px;
    }
}

@media only screen and (max-width: 600px) {
    .c-simulator_tab_item a {
        padding: 0 16px;
        font-size: 1.3rem;
    }
    .w-simulator {
        padding: 40px 20px;
    }
    .p-simulator_intro h2 {
        margin-bottom: 20px;
        font-size: 2rem;
    }
    .p-simulator_table {
        margin-bottom: 48px;
    }
    .p-simulator_table tr {
        display: block;
        position: relative;
    }
    .p-simulator_table th,
    .p-simulator_table td {
        display: block;
        width: 100%;
    }
    .p-simulator_table th {
        padding: 34px 0;
        border-bottom: none;
        font-size: 1.6rem;
    }
    .p-simulator_table th.-bonus {
        padding: 26px 0;
    }
    .p-simulator_table th span {
        display: inline-block;
        right: auto;
        width: 40px;
        font-size: 1.1rem;
        margin-left: 10px;
    }
    .p-simulator_table th i {
        display: block;
        margin-top: 4px;
        font-size: 1.2rem;
    }
    .p-simulator_table th br {
        display: none;
    }
    .btn-loan {
        position: absolute;
        left: 0;
        bottom: -4px;
    }
    .p-simulator_table td {
        padding: 4px 0 22px;
        font-size: 1.4rem;
    }
    .p-simulator_table th.-hasbutton + td {
        margin-top: 20px;
    }
    .p-financial {
        padding: 20px 16px;
    }
    .p-financial h2 {
        padding-left: 8px;
        font-size: 1.8rem;
    }
    .p-financial h3 {
        margin: 22px 0 16px;
        font-size: 1.5rem;
    }
    #interest_selector {
        font-size: 1.3rem;
    }
    .c-financial_item {
        width: 100%;
    }
    .c-financial_item > a {
        padding: 12px 0 12px 14px;
        font-size: 1.3rem;
    }
    .c-financial_item > a::after {
        width: 5px;
        height: 5px;
    }
    .p-financial_note {
        margin-top: 16px;
        font-size: 1.1rem;
    }
    .c-data_input {
        position: absolute;
        top: 16px;
        right: 0;
        width: 124px;
    }
    .c-data_input input {
        width: 80px;
        margin-right: 6px;
        padding: 10px;
        font-size: 1.6rem;
    }
    .c-data_input ul {
        margin: 6px 0 0;
    }
    .c-data_input li {
        font-size: 1rem;
    }
    .p-simulator_data select {
        width: 100%;
    }
    .c-data_meter input[type="range"] {
        pointer-events: none;
    }
    .c-data_meter input[type="range"]::-webkit-slider-thumb {
        pointer-events: all;
    }
    .c-data_meter input[type="range"]::-moz-range-thumb {
        pointer-events: all;
    }
    .p-simulator_result {
        left: calc(5% + 2px);
        display: block;
        max-width: calc(90% - 4px);
        padding: 20px 0 16px;
    }
    .p-simulator_result.-stop {
        left: 0;
        max-width: 100%;
    }
    .p-simulator_result .hl-result {
        position: absolute;
        top: -16px;
        left: 0;
        right: 0;
        margin: auto;
        width: 164px;
        padding: 10px 0;
        border-radius: 20px;
        font-size: 1.2rem;
        text-align: center;
    }
    .p-simulator_result .hl-result::after {
        top: auto;
        right: 0;
        bottom: -6px;
        left: 0;
        width: 0;
        height: 0;
        margin: auto;
        border-style: solid;
        border-width: 6px 8px 0 8px;
        border-color: rgba(0,0,0,.3) transparent transparent transparent;
    }
    .p-simulator_result.-active .hl-result {
        background: #04254e;
    }
    .p-simulator_result.-active .hl-result::after {
        border-color: #04254e transparent transparent transparent;
    }
    .p-simulator_result dl {
        width: 100%;
        font-size: 1.4rem;
    }
    .p-simulator_result dl.-monthly {
        top: 3px;
    }
    .p-simulator_result dd .result {
        top: 2px;
        margin: 0 2px;
        font-size: 2.4rem;
    }
    .p-loan_result {
        margin-top: 20px;
        padding: 8px 16px 16px;
    }
    .p-loan_result dl {
        font-size: 1.4rem;
    }
    .p-loan_result dt {
        margin-right: 10px;
    }
    .p-simulator_result dd.-bonus {
        font-size: 1.3rem;
    }
    .p-loan_result dd .result {
        top: 2px;
        margin: 0 2px;
        font-size: 2.4rem;
    }
    .p-simulator_close {
        margin-top: 24px;
    }
    .btn-simulator_close {
        padding: 8px 20px;
    }
    .btn-search {
        margin: 0 auto;
        padding: 14px 16px;
        font-size: 1.3rem;
    }
    .btn-search span {
        padding-left: 22px;
        background-size: 16px auto;
    }
    .p-message {
        padding: 28px 20px;
        font-size: 1.4rem;
        line-height: 1.6;
    }
    .p-message span::before {
        bottom: 5px;
        height: 7px;
    }
    .p-simulator_note > li {
        font-size: 1.2rem;
    }
    .p-message br {
        display: none;
    }
    .p-message_sub {
        bottom: 63px;
        left: calc(5% + 2px);
        max-width: calc(90% - 4px);
        padding: 14px 6px 25px;
        font-size: 1.2rem;
        line-height: 1.6;
    }
    .p-message_sub.-monthly {
        bottom: 87px;
    }
    .p-message_sub span::before {
        height: 5px;
    }
    .js-result_stop {
        height: 63px;
    }
}

/* お客様インタビュー */
/* index */
.w-result_conditions {
    display: none;
}
.w-result_conditions.-show {
    display: block;
}
.p-case_tab {
    position: relative;
    display: flex;
    justify-content: space-between;
}
.p-case_tab::after {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
    width: 4000px;
    height: 2px;
    margin-left: -400px;
    background: #003b87;
    content: '';
}
.p-case_tab .c-tab_item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 49%;
    height: 56px;
    background: #fff;
    border: 2px solid #003b87;
    border-radius: 6px 6px 0 0;
    font-size: 1.8rem;
    text-decoration: none;
    letter-spacing: .024em;
    line-height: 1.25;
    color: #003b87;
    cursor: pointer;
    opacity: .4;
    transition: opacity .3s ease;
}
.p-case_tab .c-tab_item:hover {
    opacity: 1;
    transition: opacity .3s ease;
}
.p-case_tab .c-tab_item.-active {
    background: #eef2f7;
    border-bottom: none;
    font-weight: bold;
    opacity: 1;
}
.p-case_tab .c-tab_item span {
    display: inline-block;
    padding: 1px 0 0 24px;
    background: center left /16px 16px no-repeat;
}
.p-case_tab .c-tab_item[data-tab="conditions"] span {
    background-image: url(/case/img/ico_sort.png);
}
.p-case_tab .c-tab_item[data-tab="image"] span {
    background-image: url(/case/img/ico_house_image.png);
}
.p-case_sort {
    position: relative;
    margin-bottom: 60px;
    padding: 40px 0 28px;
    background: #eef2f7;
}
.p-case_sort.-fixed {
    position: fixed;
    top: 0;
    max-width: 1220px;
    margin-bottom: 0;
    padding: 20px 0 12px;
    transition: .3s ease;
}
.p-case_sort.-fixed + .p-case_list_interview {
    margin-top: 380px;
}
.p-case_sort::after {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 4000px;
    height: 100%;
    margin-left: -400px;
    background: #eef2f7;
    content: '';
}
.hl-case_sort {
    margin-bottom: 16px;
    padding-left: 8px;
    border-left: 2px solid #022d6a;
    font-weight: bold;
    font-size: 1.6rem;
    text-align: left;
}
.p-case_sort.-fixed .hl-case_sort {
    display: none;
}
.p-sort_area {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 24px;
}
.p-case_sort.-fixed .p-sort_area {
    margin-bottom: 4px;
}
.p-sort_area::before,
.p-sort_area::after {
    content: '';
    display: block;
    width: calc((100% - (12px * 4)) / 5);
}
.p-sort_area::before {
    order: 1;
}
.p-sort_area > li {
    width: calc((100% - (12px * 4)) / 5);
    margin-bottom: 12px;
}
.p-case_sort.-fixed .p-sort_area > li {
    margin-bottom: 10px;
}
.p-sort_area > li a {
    display: block;
    height: 36px;
    border-radius: 3px;
    border: 1px solid #003b87;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0,0,0,.15);
    color: #003b87;
    font-size: 1.5rem;
    line-height: 35px;
    text-align: center;
    text-decoration: none;
    transition: background .3s ease, box-shadow .3s ease, transform .3s ease, color .3s ease;
}
.p-sort_area > li a:hover {
    background: #003b87;
    color: #fff;
    box-shadow: none;
    transform: translateY(1px);
    transition: background .3s ease, box-shadow .3s ease, transform .3s ease, color .3s ease;
}
.p-sort_tag {
    display: flex;
    flex-wrap: wrap;
}
.p-sort_tag > li {
    display: inline-block;
    margin: 0 4px 4px 0;
}
.p-sort_tag > li a {
    display: block;
    padding: 6px 10px;
    border-radius: 16px;
    font-size: 1.4rem;
    text-decoration: none;
    transition: background .3s ease;
}
.p-sort_tag > li a::before {
    content: '#';
    color: #003b87;
    font-weight: bold;
}
.p-sort_tag > li a:hover {
    background: #d4dde7;
    transition: background .3s ease;
}
.p-case_list_interview .hl-case_list {
    margin-bottom: 32px;
    padding-left: 14px;
    border-left: 2px solid #022d6a;
    font-size: 2.7rem;
    letter-spacing: .08em;
}
.p-case_list_interview .p-list_interview {
    flex-wrap: wrap;
}
.p-case_list_interview .p-list_interview::after {
    content: '';
    display: block;
    width: 31%;
}
.p-case_list_interview .c-interview_item {
    margin-bottom: 40px;
}
.p-case_list_interview .c-interview_item .c-thumb {
    height: 200px;
    margin-bottom: 14px;
}
.p-case_list_interview .c-interview_item .c-text {
    height: auto;
}
.p-case_list_interview .c-interview_item .c-name {
    margin-top: 8px;
}
.p-case_list_interview .c-interview_item .c-tag {
    margin-top: 12px;
}
.p-case_list_interview .c-interview_item .c-tag > li {
    display: inline-block;
    margin: 0 6px 6px 0px;
    font-size: 1.2rem;
    color: #2d3858;
}
.p-case_list_interview .c-interview_item .c-tag > li::before {
    content: '#';
}
.w-result_image {
    display: none;
}
.w-result_image.-show {
    display: block;
}
.p-search_image {
    margin-top: 56px;
}
.p-search_image_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.c-search_image_item {
    width: 48%;
    margin-bottom: 40px;
}
.c-search_image_item a {
    display: block;
    text-decoration: none;
}
.c-search_image_item figure {
    margin: 0;
}
.c-search_image_item img {
    margin-bottom: 20px;
    max-width: 100%;
}
.c-search_image_item figcaption {
    font-size: 1.6rem;
    font-weight: bold;
}
@media only screen and (max-width: 900px) {
    .p-case_tab .c-tab_item {
        height: 40px;
        padding: 0 22px;
        font-size: 1.4rem;
    }
    .p-case_sort {
        padding: 24px 0 20px;
    }
    .p-sort_area > li {
        width: calc((100% - (12px * 3)) / 4);
    }
    .p-sort_area > li a {
        height: 32px;
        line-height: 31px;
        font-size: 1.4rem;
    }
    .p-sort_tag > li a {
        font-size: 1.2rem;
    }
    .p-case_list_interview .c-interview_item {
        width: 49%;
    }
    .p-case_list_interview .c-interview_item a {
        display: block;
        padding: 6px 8px;
    }
    .p-case_list_interview .c-interview_item .c-thumb {
        width: 100%;
        height: 24vw;
        margin-bottom: 16px;
    }
    .p-case_list_interview .c-interview_item .c-box_text {
        width: 100%;
        padding-left: 0;
    }
    .p-search_image {
        margin-top: 48px;
    }
    .c-search_image_item img {
        margin-bottom: 16px;
    }
}
@media only screen and (max-width: 600px) {
    .p-case_tab .c-tab_item {
        border-radius: 4px 4px 0 0;
    }
    .p-case_sort {
        margin-bottom: 32px;
        padding: 20px 0 16px;
    }
    .hl-case_sort {
        margin-bottom: 12px;
        font-size: 1.4rem;
    }
    .p-sort_area > li {
        width: calc((100% - (12px * 1)) / 3);
        margin-bottom: 8px;
    }
    .p-sort_area > li a {
        height: 28px;
        line-height: 27px;
        font-size: 1.1rem;
    }
    .p-sort_tag > li a {
        padding: 4px 6px;
    }
    .p-case_list_interview .hl-case_list {
        padding-left: 10px;
        font-size: 2.2rem;
    }
    .p-case_list_interview .c-interview_item {
        width: 100%;
        max-width: none;
        margin-bottom: 24px;
    }
    .p-case_list_interview .c-interview_item a {
        padding: 0;
    }
    .p-case_list_interview .c-interview_item .c-thumb {
        height: 54vw;
        max-height: none;
        margin-bottom: 12px;
    }
    .c-interview_item .c-thumb img {
        width: 100%;
    }
    .p-case_list_interview .c-interview_item .c-text {
        font-size: 1.5rem;
    }
    .p-case_list_interview .c-interview_item .c-name {
        margin-top: 8px;
        font-size: 1.3rem;
    }
    .p-case_list_interview .c-interview_item .c-name .-label {
        margin-right: 6px;
        font-size: 1.2rem;
    }
    .p-search_image {
        margin-top: 28px;
    }
    .c-search_image_item {
        width: 100%;
        margin-bottom: 24px;
    }
    .c-search_image_item img {
        margin-bottom: 12px;
    }
    .c-search_image_item figcaption {
        font-size: 1.4rem;
    }
}
/* single */
.p-case_title {
    margin-bottom: 0!important;
}
.p-case_title .hl-content_large {
    margin-bottom: 30px;
}
.p-case_head {
    position: relative;
    display: flex;
    justify-content: space-between;
    padding-bottom: 0;
}
.p-case_head::before {
    display: none;
}
.p-case_head .c-head_figure {
    position: relative;
    left: 0;
    width: 60%;
    margin: 0;
}
.p-case_head .c-head_figure img {
    width: 100%;
    height: 480px;
    object-fit: cover;
    object-position: top;
    box-shadow: 0 8px 24px -2px rgba(0,0,0,.12);
}
.p-case_head .c-head_text {
    position: relative;
    width: 40%;
    margin: 0;
    padding: 48px 0 0 60px;
    border-radius: 0;
    background: transparent;
}
.p-case_head .c-head_text h1 {
    margin-bottom: 40px;
    font-size: 3.8rem;
    line-height: 1.4;
}
.p-case_head .c-head_text h2 {
    font-size: 2rem;
    color: #003b87;
    line-height: 1.4;
}
.p-case_head .c-head_content {
    position: relative;
    min-height: 320px;
    padding: 40px 0 100px;
}
.p-case_head .c-head_content::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: -65vw;
    z-index: -1;
    width: 200vw;
    height: 100%;
    background: #f7f8fa;
}
.c-head_data {
    margin: 14px 0 6px;
    display: flex;
    align-items: center;
}
.p-case_head .c-head_num {
    display: inline-block;
    margin: 0 8px 0 0;
    padding: 6px 10px;
    background: #003b87;
    color: #fff;
    font-size: 1.2rem;
}
.p-case_head .c-head_name {
    margin: 0;
    font-size: 1.6rem;
}
.p-case_head .c-head_text h3 {
    position: relative;
    margin-bottom: 8px;
    font-size: 1.4rem;
}
.p-case_head .c-head_text h3::before {
    position: absolute;
    left: 0;
    bottom: 14px;
    display: block;
    width: 100%;
    height: 1px;
    background: #dfe2e7;
    content: '';
}
.p-case_head .c-head_text h3 span {
    position: relative;
    display: inline-block;
    padding: 20px 10px 6px 20px;
    background: #f7f8fa url(/details/img/sales_title_accesory.png) left center /22px auto no-repeat;
}
.p-case_head .c-head_reason {
    display: flex;
    flex-wrap: wrap;
    font-size: 1.2rem;
    line-height: 1.8;
}
.p-case_head .c-head_reason > li {
    margin-top: 8px;
}
.p-case_head .c-head_reason > li::after {
    content: '/';
}
.p-case_head .c-head_reason > li:last-child::after {
    display: none;
}
.p-case_head .c-head_tag {
    position: relative;
    margin: 40px auto 0;
}
.p-case_article {
    margin-bottom: 100px;
    background: #fff;
}
.p-case_article h2 {
    margin: 80px 0 40px;
    padding-left: 0;
    border-left: none;
    font-weight: bold;
    font-size: 3.2rem;
    text-align: left;
    line-height: 1.4;
}
.p-case_article h3 {
    margin: 32px 0 16px;
    font-size: 2.2rem;
    color: #003b87;
    line-height: 1.4;
}
.mt-be-column > h3:first-child {
    margin-top: 0;
}
.p-case_article p {
    margin-bottom: 20px;
    font-size: 1.6rem;
    line-height: 1.7;
    font-feature-settings: "palt";
    letter-spacing: .06em;
}
.p-case_article p a {
    color: #003b87;
    border-bottom: 1px solid;
    text-decoration: none;
}
.p-case_article p a[target="_blank"] {
    margin-right: 2px;
    padding-right: 18px;
    background: url(/common/img/ico_blank.svg) center right 2px /12px 12px no-repeat;
}
.p-case_article p > img {
    width: 100%;
}
.p-case_article figure {
    margin: 0;
    width: 100%;
}
.p-case_article figure img {
    width: 100%;
}
.p-case_article figcaption {
    margin-top: 8px;
    color: #666;
    font-size: 1.3rem;
    text-align: center;
    line-height: 1.3;
}
.p-case_article figure + p {
    margin-top: 20px;
}
.p-case_article iframe {
    width: 100%;
    margin-bottom: 20px;
}
.p-case_pickup {
    margin-bottom: 100px;
    padding: 32px 32px 28px;
    background: #f6f6f6;
}
.p-case_pickup .p-pickup_list {
    display: flex;
    flex-wrap: wrap;
}
.p-case_pickup .p-pickup_list > li {
    display: inline-block;
    margin: 0 4px 4px 0;
}
.p-case_pickup .p-pickup_list > li a {
    display: block;
    padding: 6px 10px;
    border-radius: 16px;
    font-size: 1.4rem;
    text-decoration: none;
    transition: background .3s ease;
}
.p-case_pickup .p-pickup_list > li a::before {
    content: '#';
    color: #003b87;
    font-weight: bold;
}
.p-case_pickup .p-pickup_list > li a:hover {
    background: #e7e7e7;
    transition: background .3s ease;
}
.p-case_album {
    position: relative;
    padding: 80px 0 100px;
}
.p-case_album::before {
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -2000px;
    width: 4000px;
    height: 100%;
    background: #f7f8fa;
    content: '';
}
.p-case_album .hl-album {
    position: relative;
    font-size: 2.7rem;
    letter-spacing: .05em;
    margin-bottom: 4rem;
    line-height: 1.4;
    text-align: center;
}
.p-case_album .hl-album::after {
    content: "";
    display: block;
    width: 36px;
    height: 2px;
    background: #f6ac19;
    margin: 20px auto 0;
}
.w-album_list {
    display: none;
}
.p-album_list {
    position: relative;
    overflow: visible;
}
.p-album_list.-less3,
.p-album_list.-less4 {
    margin-bottom: 0;
}
.p-album_list .slick-track {
    margin: 0 auto;
}
.p-album_list figure {
    margin: 0;
}
.p-album_list figcaption {
    margin-top: 12px;
    font-size: 1.2rem;
    text-align: center;
    line-height: 1.4;
}
.p-album_list .slick-list {
    overflow: visible;
}
.p-album_list .c-album_item,
.p-album_list .slick-slide {
    width: calc((100% - (20px * 3)) / 4);
    margin: 0 20px;
}
.p-album_list .c-album_item figure img,
.p-album_list .slick-slide img {
    width: 100%;
    height: 360px!important;
    object-fit: cover;
    border-radius: 6px;
}
.p-album_list .slick-dots {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -45px;
    display: flex;
    width: 70%;
    padding: 0;
    margin: 0 auto;
    list-style: none;
    text-align: center;
}
.p-album_list.-less3 .slick-dots,
.p-album_list.-less4 .slick-dots {
    display: none;
}
.p-album_list .slick-dots li {
    position: relative;
    display: inline-block;
    width: 100%;
    height: 6px;
    margin: 0;
    padding: 0;
    cursor: pointer;
}
.p-album_list .slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 100%;
    height: 6px;
    padding: 0;
    background: #e5e9ef;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
}
.p-album_list .slick-dots li.slick-active button {
    background: #004098;
}
.p-album_list .slick-dots li button::before {
    display: none;
}
.p-album_list .slick-prev,
.p-album_list .slick-next {
    top: 180px;
    z-index: 10;
}
.p-album_list .slick-prev::before,
.p-album_list .slick-next::before {
    width: 24px;
    height: 24px;
    border-top: 4px solid #2e3b4c;
    border-right: 4px solid #2e3b4c;
}
.w-gallery_btn {
    display: none;
}
.p-case_sales {
    margin: 0 0 100px;
    padding: 86px 0;
}
.p-case_sales .p-box_sales {
    padding: 48px 0;
}
.p-case_sales .row-figure h3 {
    margin-bottom: 4px;
    font-size: 1.5rem;
}
.p-case_sales .row-figure dl {
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
}
.p-case_sales .row-figure dt {
    margin-right: 12px;
}
.p-box_sales .row-message h2 {
    margin-bottom: 16px;
    font-size: 1.8rem;
    color: #003b87;
}
.btn-sales_others {
    display: block;
    height: 36px;
    margin-top: 12px;
    border-radius: 3px;
    border: 1px solid #003b87;
    box-shadow: 0 1px 2px rgba(0,0,0,.15);
    color: #003b87;
    font-size: 1.4rem;
    line-height: 33px;
    text-align: center;
    text-decoration: none;
    transition: background .3s ease, box-shadow .3s ease, transform .3s ease;
}
.btn-sales_others:hover {
    background: #e8ecf7;
    box-shadow: none;
    transform: translateY(1px);
    transition: background .3s ease, box-shadow .3s ease, transform .3s ease;
}
.mt-be-columns {
    display: flex;
    justify-content: space-between;
    margin: 40px 0;
}
.mt-be-column {
    margin-right: 48px;
    width: 100%;
}
.mt-be-column:last-of-type {
    margin-right: 0;
}
.p-case_conv {
    margin-top: 100px;
}
.p-case_conv .inner {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.p-case_conv a {
    display: block;
    width: calc((100% - 40px) / 2);
}
.p-case_conv .-area {
    width: 100%;
    height: 100px;
    margin-bottom: 40px;
    border: none;
    background: #dc4748;
    font-size: 2.2rem;
    font-weight: bold;
    color: #fff;
    line-height: 99px;
    transition: background .3s ease, box-shadow .3s ease, transform .3s ease;
}
.p-case_conv .-area span {
    padding-left: 0;
}
.p-case_conv .-area:hover {
    background: #e46464;
    box-shadow: none;
    transform: translateY(2px);
    transition: background .3s ease, box-shadow .3s ease, transform .3s ease;
}
.p-case_conv .-contact span {
    background-image: url(/case/img/ico_mail_g.png);
}
.p-case_conv .-search span {
    background-image: url(/case/img/ico_house_g.png);
}
.p-recommend {
    position: relative;
    margin-top: 100px;
    padding: 80px 0 90px;
}
.p-recommend::before {
    background: #f7f8fa;
    display: block;
    position: absolute;
    width: 116%;
    height: 100%;
    top: 0;
    left: -8%;
    z-index: -1;
    content: '';
}
.p-recommend .hl-recommend {
    position: relative;
    font-size: 2.7rem;
    letter-spacing: .05em;
    margin-bottom: 24px;
    line-height: 1.4;
    text-align: center;
}
.p-recommend .hl-recommend::after {
    content: "";
    display: block;
    width: 36px;
    height: 2px;
    background: #f6ac19;
    margin: 20px auto 0;
}
.p-recommend .hl-recommend br {
    display: none;
}
.p-recommend .hl-recommend-s {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 24px;
    text-align: left;
    font-size: 1.8rem;
    color: #003b87;
    text-align: center;
}
.p-recommend .hl-recommend-s span {
    margin-left: 14px;
    display: inline-block;
    padding: 6px 10px;
    border-radius: 3px;
    background: #003b87;
    font-size: 1.2rem;
    color: #fff;
    font-weight: normal;
}
.p-recommend .p-list_interview {
    margin-bottom: 60px;
}
.p-recommend .p-list_interview .c-interview_item:nth-child(n + 4) {
    display: none;
}
.p-recommend .c-interview_item .c-thumb {
    height: 228px;
}
.p-recommend_list {
    display: flex;
    justify-content: space-between;
    margin-bottom: 40px;
}
.p-recommend_list .c-recommend_item {
    width: 31%;
    max-width: none;
    margin: 0 0 20px;
}
.p-recommend_list .c-recommend_item a {
    border: none;
}
.p-recommend_list .c-recommend_item img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    margin-bottom: 12px;
}
.p-recommend_list .c-recommend_item dd {
    margin-bottom: 8px;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.4;
}
.p-recommend_list .c-recommend_item dt {
    font-size: 1.3rem;
    line-height: 1.4;
}
.p-recommend_tag {
    position: relative;
    text-align: center;
}
.p-recommend_tag > li {
    display: inline-block;
    margin: 0 6px 12px 0;
}
.p-recommend_tag > li::after {
    display: none;
}
.p-recommend_tag > li a {
    display: block;
    padding: 7px 14px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid #003b87;
    font-size: 1.4rem;
    text-decoration: none;
    transition: background .3s ease, color .3s ease;
}
.p-recommend_tag > li a::before {
    content: '#';
    color: #003b87;
    transition: color .3s ease;
}
.p-recommend_tag > li a:hover {
    background: #003b87;
    color: #fff;
    transition: background .3s ease, color .3s ease;
}
.p-recommend_tag > li a:hover::before {
    color: #fff;
    transition: color .3s ease;
}
@media only screen and (max-width: 1120px) {
    .p-case_head::before {
        left: -6vw;
    }
    .p-case_head .c-head_figure {
        left: 0;
    }
    .p-case_head .c-head_figure img {
        height: 480px;
    }
    .p-recommend_list .c-recommend_item img {
        height: 160px;
    }
    .p-case_head .c-head_text {
        padding: 40px 0 0 48px;
    }
    .p-case_head .c-head_text h1 {
        font-size: 3.2rem;
    }
}
@media only screen and (max-width: 900px) {
    .p-case_head {
        display: block;
        margin: 0 0 60px;
        padding-bottom: 40px;
    }
    .p-case_head::before {
        position: absolute;
        display: block;
        top: 0;
        left: -5vw;
        width: 100vw;
        height: 100%;
        background: #f7f8fa;
        content: '';
    }
    .p-case_head .c-head_figure {
        left: 0;
        width: 100%;
    }
    .p-case_head .c-head_figure img {
        position: relative;
        left: -5vw;
        width: 100vw;
        height: 360px;
    }
    .p-case_head .c-head_text {
        margin: 20px 0 0;
        width: 100%;
        padding: 0;
    }
    .p-case_head .c-head_content::before {
        display: none;
    }
    .p-case_head .c-head_text h1 {
        margin-bottom: 0;
        font-size: 2.4rem;
    }
    .p-case_head .c-head_content {
        min-height: auto;
        padding: 20px 0 0;
    }
    .p-case_head .c-head_text h2 {
        font-size: 1.6rem;
    }
    .c-head_data {
        margin: 12px 0 6px;
    }
    .p-case_head .c-head_text h3 {
        margin-bottom: 4px;
        font-size: 1.4rem;
    }
    .p-case_head .c-head_tag > li {
        margin-top: 6px;
    }
    .p-case_head .c-head_tag > li a {
        padding: 6px 10px;
        font-size: 1.2rem;
    }
    .p-case_head .c-head_tag {
        margin: 20px auto 0;
    }
    .p-case_head .c-head_tag > li {
        margin: 0 8px 8px 0;
    }
    .p-case_article {
        margin-bottom: 80px;
    }
    .p-case_article p {
        margin-bottom: 12px;
        font-size: 1.5rem;
    }
    .p-case_article figure + p {
        margin-top: 0;
    }
    .p-case_head .c-head_num {
        padding: 5px 8px;
        font-size: 1rem;
    }
    .p-case_article h2 {
        margin: 48px 0 24px;
        font-size: 2rem;
    }
    .p-case_article h3 {
        margin: 24px 0 12px;
        font-size: 1.7rem;
    }
    .p-case_article iframe {
        margin-bottom: 12px;
    }
    .mt-be-columns {
        margin: 30px 0;
    }
    .mt-be-column {
        margin-right: 24px;
        width: 100%;
    }
    .mt-be-column:last-of-type {
        margin-right: 0;
    }
    .p-case_pickup {
        padding: 24px 24px 20px;
    }
    .p-case_pickup .p-pickup_list > li a {
        font-size: 1.2rem;
    }
    .p-case_album {
        padding: 40px 0 60px;
    }
    .p-case_album .hl-album {
        font-size: 2rem;
    }
    .p-case_album .hl-album::after {
        margin: 15px auto 0;
    }
    .p-album_list.-less4 {
        margin-bottom: 30px;
    }
    .p-album_list .c-album_item,
    .p-album_list .slick-slide {
        margin: 0 8px;
    }
    .p-album_list .c-album_item figure img,
    .p-album_list .slick-slide img {
        height: 240px!important;
    }
    .p-album_list .slick-dots {
        bottom: -32px;
        width: 90%;
    }
    .p-album_list.-less4 .slick-dots {
        display: flex!important;
    }
    .p-album_list .slick-prev,
    .p-album_list .slick-next {
        top: 120px;
    }
    .p-album_list .slick-prev {
        left: -8px;
    }
    .p-album_list .slick-next {
        right: -8px;
    }
    .p-case_sales {
        margin: 0 0 60px;
        padding: 40px 0;
    }
    .p-case_sales .p-box_sales {
        padding: 32px 0 24px;
    }
    .p-case_sales .row-figure h3 {
        font-size: 1.4rem;
    }
    .p-box_sales .row-message h2 {
        margin-bottom: 12px;
        font-size: 1.7rem;
    }
    .btn-sales_others {
        width: 100%;
        max-width: 400px;
        margin: 16px auto 0;
    }
    .p-case_conv {
        margin-top: 60px;
    }
    .p-case_conv a {
        width: calc((100% - 20px) / 2);
        padding: 0;
        font-size: 1.4rem;
    }
    .p-case_conv .-area {
        margin-bottom: 32px;
        height: 60px;
        font-size: 1.6rem;
        line-height: 59px;
    }
    .p-recommend {
        margin-top: 80px;
        padding: 60px 0;
    }
    .p-recommend .hl-recommend {
        font-size: 2rem;
    }
    .p-recommend .hl-recommend::after {
        margin: 15px auto 0;
    }
    .p-recommend .hl-recommend-s {
        margin-bottom: 18px;
        font-size: 1.5rem;
    }
    .p-recommend .c-interview_item .c-thumb {
        height: 160px;
    }
    .p-recommend_list {
        margin-bottom: 20px;
    }
    .p-recommend_list .c-recommend_item {
        width: calc((100% - (20px * 2)) / 3);
        margin: 0 0 20px;
    }
    .p-recommend_tag > li {
        margin: 0 8px 8px 0;
    }
    .p-recommend_tag > li a {
        padding: 6px 10px;
        font-size: 1.2rem;
    }
}
@media only screen and (max-width: 700px) {
    .p-recommend .c-interview_item {
        margin: 2px auto;
    }
    .p-recommend .c-interview_item .c-thumb {
        height: 100px;
    }
}
@media only screen and (max-width: 600px) {
    .p-case_head {
        margin: 0 0 40px;
    }
    .p-case_head .c-head_figure img {
        height: 320px;
    }
    .p-case_head .c-head_text {
        margin: 20px 0 0;
        padding: 0;
    }
    .p-case_head .c-head_text h1 {
        margin-bottom: 0;
        font-size: 2rem;
        line-height: 1.28;
    }
    .p-case_head .c-head_text h2 {
        line-height: 1.28;
    }
    .c-head_data {
        margin: 10px 0 6px;
    }
    .p-case_head .c-head_num {
        padding: 4px 6px;
    }
    .p-case_head .c-head_name {
        font-size: 1.2rem;
    }
    .p-case_head .c-head_text h3 {
        margin-bottom: 6px;
    }
    .p-case_head .c-head_reason > li {
        margin-top: 6px;
        font-size: 1rem;
    }
    .p-case_head .c-head_tag {
        margin: 16px auto 0;
    }
    .p-case_head .c-head_tag > li {
        margin: 0 6px 6px 0;
    }
    .p-case_head .c-head_tag > li a {
        padding: 4px 8px;
        font-size: 1rem;
    }
    .p-case_article h2 {
        margin: 48px 0 20px;
    }
    .p-case_article h3 {
        margin: 0 0 10px;
    }
    .mt-be-column > h3:first-child {
        margin-top: 0;
    }
    .p-case_article p > img {
        position: relative;
        left: -5vw;
        width: 100vw;
        max-width: none!important;
        margin: 12px 0 24px;
        border-top: 1px solid #eee;
        border-bottom: 1px solid #eee;
    }
    .p-case_article figure {
        position: relative;
        left: -5vw;
        width: 100vw;
        margin: 0 0 24px;
    }
    .p-case_article figure img {
        border-top: 1px solid #eee;
        border-bottom: 1px solid #eee;
    }
    .p-case_article figcaption {
        width: 90%;
        margin: 6px auto 0;
    }
    .p-case_article iframe {
        height: 49vw;
    }
    .mt-be-columns {
        flex-wrap: wrap;
        margin: 0;
    }
    .mt-be-columns.-rev {
        flex-direction: column-reverse;
        margin-top: 20px;
    }
    .mt-be-column {
        width: 100%;
        margin-right: 0;
    }
    .p-case_pickup {
        margin-bottom: 80px;
        padding: 16px 12px 12px;
    }
    .p-case_pickup .p-pickup_list > li a {
        padding: 4px 6px;
    }
    .p-case_album .hl-album {
        margin-bottom: 24px;
    }
    .p-album_list.-less3 {
        margin-bottom: 30px;
    }
    .p-album_list .slick-prev,
    .p-album_list .slick-next {
        top: 50vw;
    }
    .p-album_list.-less3 .slick-dots {
        display: flex!important;
    }
    .p-album_list .slick-dots {
        bottom: -20px;
        width: calc(100% - (8px * 2));
    }
    .p-album_list .c-album_item figure img,
    .p-album_list .slick-slide img {
        height: 100vw!important;
    }
    .w-gallery_btn {
        position: relative;
        display: block;
        margin-top: 48px;
        text-align: center;
    }
    .w-album_list {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 10;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 100vh;
        opacity: 0;
        pointer-events: none;
        transition: opacity .3s ease;
    }
    .w-album_list.-show {
        opacity: 1;
        pointer-events: all;
        transition: opacity .3s ease;
    }
    .w-album_list .p-album_list {
        position: relative;
        z-index: 1;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        width: 90%;
        max-height: 80vh;
    }
    .w-album_list .p-album_list::before {
        position: absolute;
        top: -40px;
        right: 0;
        content: '';
        width: 32px;
        height: 32px;
        background: url(../img/close.png) center /contain no-repeat;
        pointer-events: none;
    }
    .w-album_list .p-album_list::after {
        content: '';
        width: calc((100% - (2px * 2)) / 3);
    }
    .w-album_list .p-album_list .c-album_item {
        width: calc((100% - (2px * 2)) / 3);
        margin: 1px 0;
    }
    .w-album_list .p-album_list .c-album_item a {
        vertical-align: bottom;
    }
    .w-album_list .p-album_list .c-album_item img {
        object-fit: cover;
        height: 30vw!important;
        border-radius: 0;
    }
    .w-album_list .p-album_list .mt-figure,
    .w-album_list .p-album_list > p {
        width: calc((100% - (2px * 2)) / 3);
        margin: 1px 0;
    }
    .w-album_list .p-album_list .mt-figure a,
    .w-album_list .p-album_list > p a {
        vertical-align: bottom;
    }
    .w-album_list .p-album_list .mt-figure img,
    .w-album_list .p-album_list > p img {
        height: 30vw!important;
        border-radius: 0;
    }
    .w-album_list .p-album_list figcaption {
        display: none;
    }
    .w-album_list .c-album_overlay {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,.8);
    }
    .btn-gallery {
        display: inline-block;
        padding: 4px 2px 4px 26px;
        background: url(/case/img/ico_camera.png) center left 2px /16px 16px no-repeat;
        font-size: 1.4rem;
        color: #003b87;
        text-decoration: none;
        border-bottom: 1px solid #003b87;
    }
    .btn-sales_others {
        font-size: 1.3rem;
    }
    .p-case_conv .inner {
        display: block;
    }
    .p-case_conv a {
        width: 100%;
        margin-bottom: 16px;
    }
    .p-case_conv .-area {
        font-size: 1.5rem;
    }
    .p-recommend .hl-recommend br {
        display: inherit;
    }
    .p-recommend .hl-recommend-s {
        font-size: 1.4rem;
    }
    .p-recommend .hl-recommend-s span {
        margin-left: 8px;
        padding: 4px 6px;
        font-size: 1rem;
    }
    .p-recommend .c-interview_item {
        margin: 2px auto;
    }
    .p-recommend .c-interview_item .c-thumb {
        height: 100px;
    }
    .p-recommend_list .c-recommend_item {
        width: calc((100% - (16px * 1)) / 2);
    }
    .p-recommend_list .c-recommend_item img {
        margin-bottom: 8px;
    }
    .p-recommend_list .c-recommend_item p {
        font-size: 1.2rem;
    }
    .p-recommend_tag > li {
        margin: 0 6px 6px 0;
    }
    .p-recommend_tag > li a {
        padding: 4px 8px;
        font-size: 1rem;
    }
}

/* 支店・営業所 */
/* index */
.w-location.-tabfixed {
    padding-top: 112px;
}
.p-location_tab {
    display: flex;
    flex-wrap: wrap;
    padding: 20px 20px 12px;
    border-radius: 3px;
    background: #eef2f7;
}
.p-location_tab.-fixed {
    position: fixed;
    top: 0;
    z-index: 2;
    width: 75vw;
    max-width: 1220px;
}
.p-location_tab .c-tab_item {
    margin: 0 4px 8px 4px;
}
.p-location_tab .c-tab_item a {
    display: block;
    height: 32px;
    padding: 0 12px;
    border-radius: 3px;
    border: 1px solid #003b87;
    background: #fff;
    box-shadow: 0 1px 2px rgb(0 0 0 / 15%);
    color: #003b87;
    font-size: 1.4rem;
    line-height: 31px;
    text-align: center;
    text-decoration: none;
    transition: background .3s ease, box-shadow .3s ease, transform .3s ease, color .3s ease;
}
.p-location_tab .c-tab_item a:hover {
    background: #003b87;
    color: #fff;
    box-shadow: none;
    transform: translateY(1px);
    transition: background .3s ease, box-shadow .3s ease, transform .3s ease, color .3s ease;
}
.p-box_location {
    padding-top: 48px;
}
.hl-location {
    margin-bottom: 20px;
    padding-left: 8px;
    border-left: 2px solid #022d6a;
    font-weight: bold;
    font-size: 2rem;
    text-align: left;
}
.p-location_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.p-location_list::after {
    content: '';
    display: block;
    width: 31%;
}
.c-location_item {
    position: relative;
    width: 31%;
    margin-top: -1px;
    padding: 18px 0 64px;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
}
.c-location_item dl {
    display: block;
}
.c-location_item dt {
    width: 100%;
    margin-bottom: 10px;
    font-weight: bold;
}
.c-location_item dt a {
    position: relative;
    display: inline-block;
    padding-right: 16px;
    font-size: 1.6rem;
    font-weight: bold;
    text-decoration: none;
    color: #003b87;
    border-bottom: 1px solid;
}
.c-location_item dt a::before,
.c-location_item dt a::after {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    display: block;
    content: '';
}
.c-location_item dt a::before {
    right: 0;
    width: 6px;
    height: 6px;
    border-top: 2px solid #003b87;
    border-right: 2px solid #003b87;
    transform: rotate(45deg);
}
.c-location_item dt a::after {
    right: 0;
    width: 10px;
    height: 2px;
    background: #003b87;
}
.c-location_item dt a:hover {
    text-decoration: underline;
}
.c-location_item .-address {
    width: 100%;
    margin-bottom: 10px;
    padding-right: 0;
    font-size: 1.6rem;
    line-height: 1.4;
}
.c-location_item .-tel {
    position: relative;
    padding-left: 30px;
    font-weight: bold;
    font-size: 1.8rem;
    width: 100%;
}
.c-location_item .-tel::before,
.c-location_item .-tel::after {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: '';
}
.c-location_item .-tel::before {
    left: 0px;
    background: #003b87;
    width: 24px;
    height: 24px;
    border-radius: 50%;
}
.c-location_item .-tel::after {
    left: 7px;
    width: 10px;
    height: 10px;
    background: url(/common/img/ico_tel.png) center /contain no-repeat;
}
.c-location_item .-property {
    width: 100%;
}
.c-location_item .btn-property {
    position: absolute;
    left: 0;
    bottom: 20px;
    display: block;
    width: 100%;
    padding: 8px 0;
    border-radius: 3px;
    background: #26a4aa;
    box-shadow: 0 1px 2px rgba(0,0,0,.15);
    color: #fff;
    font-size: 1.4rem;
    font-weight: normal;
    text-decoration: none;
    text-align: center;
    white-space: nowrap;
    transition: background .3s ease, box-shadow .3s ease, transform .3s ease, color .3s ease;
}
.c-location_item .btn-property br {
    display: none;
}
@media only screen and (max-width: 1120px) {
    .p-location_tab.-fixed {
        width: 90%;
    }
}
@media only screen and (max-width: 900px) {
    .c-location_item {
        padding: 16px 0 60px;
        width: calc((100% - (20px * 2)) / 3);
    }
    .c-location_item dt {
        width: 100%;
    }
    .c-location_item .-address {
        width: 100%;
        padding-right: 20px;
        font-size: 1.3rem;
    }
    .c-location_item .-tel {
        width: 100%;
        padding-left: 26px;
        font-size: 1.5rem;
    }
    .c-location_item .-tel::before {
        width: 20px;
        height: 20px;
    }
    .c-location_item .-tel::after {
        left: 6px;
        width: 8px;
        height: 8px;
    }
    .c-location_item .-property {
        width: 130px;
    }
    .c-location_item .btn-property {
        font-size: 1.2rem;
    }
}
@media only screen and (max-width: 600px) {
    .p-box_location {
        padding-top: 40px;
    }
    .p-location_tab {
        padding: 20px 12px 12px;
    }
    .p-location_tab .c-tab_item a {
        padding: 0 10px;
        height: 30px;
        font-size: 1.2rem;
        line-height: 29px;
    }
    .c-location_item {
        width: 100%;
        padding: 16px 0 12px;
    }
    .c-location_item dl {
        display: flex;
        flex-wrap: wrap;
    }
    .c-location_item dt {
        width: 100%;
        margin-bottom: 10px;
    }
    .c-location_item dt a {
        font-size: 1.6rem;
    }
    .c-location_item .-address {
        width: 100%;
        margin-bottom: 10px;
        padding-right: 0;
        font-size: 1.4rem;
    }
    .c-location_item .-tel {
        width: calc(100% - 130px);
    }
    .c-location_item .-tel a {
        text-decoration: none;
    }
    .c-location_item .btn-property {
        position: relative;
        left: auto;
        bottom: auto;
    }
}
/* branch */
.w-branch_content {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    margin-bottom: -32px;
}
.hl-branch {
    margin: 80px 0 24px;
    padding-left: 12px;
    border-left: 2px solid #022d6a;
    font-weight: bold;
    font-size: 2rem;
    text-align: left;
}
.w-branch_content .hl-branch {
    margin-top: 32px;
}
.p-box_branch {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 0 12px;
    border-top: 1px solid #e4e4e4;
}
.p-box_branch.-underline {
    border-bottom: 1px solid #e4e4e4;
}
.p-box_branch .c-branch_image {
    width: 240px;
    margin: 0;
    padding: 10px 0;
}
.p-box_branch .c-branch_image img {
    max-width: 100%;
}
.p-box_branch .btn-sales {
    display: block;
    margin-top: 10px;
    padding: 10px 10px;
    border-radius: 3px;
    background: #3f80d4;
    font-size: 1.2em;
    box-shadow: 0 1px 2px rgba(0,0,0,.2);
    color: #fff;
    text-decoration: none;
    text-align: center;
}
.p-box_branch .c-branch_about {
    width: calc(100% - (240px + 30px));
}
.p-branch_table {
    width: 100%;
    border-collapse: collapse;
}
.p-branch_table th,
.p-branch_table td {
    padding: 6px 0;
    vertical-align: middle;
    font-size: 1.4rem;
    line-height: 1.6;
}
.p-branch_table th {
    width: 150px;
    text-align: left;
    white-space: nowrap;
}
.p-branch_table th span {
    display: block;
    padding: 5px;
    border-radius: 4px;
    background: #f2f2f2;
    text-align: center;
}
.p-branch_table td {
    padding-left: 12px;
}
.p-branch_table td > div,
.p-branch_table td > p {
    margin: 8px 0;
}
.p-branch_table td a {
    font-weight: bold;
    color: #003b87;
}
.p-iso_list {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-bottom: 16px;
    padding: 12px;
    border-radius: 4px;
    background: #f6f6f6;
}
.c-iso_item {
    margin: 0 12px;
}
.c-iso_item img {
    margin-bottom: 4px;
}
.c-iso_item span {
    display: block;
    text-align: center;
    font-size: 1.1rem;
}
.p-branch_message {
    margin-bottom: 16px;
    padding: 24px 32px;
    border-radius: 4px;
    background: #f0f3f8;
}
.p-branch_message h3 {
    margin: 0 0 12px;
    padding: 4px 0 4px 34px;
    background: url(/location/img/ico_message.png) center left /24px 24px no-repeat;
    font-size: 1.6rem;
    color: #003b87;
}
.p-branch_message p {
    font-size: 1.4rem;
    line-height: 1.8;
    color: #0c1014;
}
.w-branch_message_interview {
    margin: 20px 0 -20px;
    padding-top: 20px;
    border-top: 1px solid #dee3eb;
}
.w-branch_message_interview h3 {
    margin-bottom: 16px;
}
.p-branch_message_interview {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.p-branch_message_interview .c-interview_item {
    width: calc((100% - (20px * 1)) / 2);
    margin-bottom: 20px;
}
.p-branch_message_interview .c-interview_item:nth-child(n + 3) {
    display: none;
}
.p-branch_message_interview.-open .c-interview_item {
    display: block;
}
.p-branch_message_interview .c-interview_item a {
    display: block;
    transition: color .3s ease;
}
.p-branch_message_interview .c-interview_item figure {
    margin: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.p-branch_message_interview .c-interview_item img {
    width: 108px;
    height: auto;
}
.p-branch_message_interview .c-interview_item figcaption {
    width: calc(100% - 120px);
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1.6;
}
.p-branch_message_interview .c-interview_item a:hover {
    color: #003b87;
    transition: color .3s ease;
}
.btn-interview_more {
    display: block;
    margin-bottom: 20px;
    padding: 10px;
    border: 1px solid #d4dae5;
    font-size: 1.4rem;
    text-align: center;
    cursor: pointer;
}
.btn-interview_more span {
    position: relative;
    display: inline-block;
    padding-right: 18px;
}
.btn-interview_more span::after {
    position: absolute;
    top: 4px;
    right: 0;
    display: block;
    width: 5px;
    height: 5px;
    border-right: 1px solid #003b87;
    border-bottom: 1px solid #003b87;
    content: '';
    transform: rotate(45deg);
    transition: transform .3s ease;
}
.btn-interview_more.-active span::after {
    top: 6px;
    transform: rotate(-135deg);
    transition: transform .3s ease;
}
.p-branch_movie iframe {
    width: 100%;
    height: 180px;
}
.p-branch_staff {
    width: calc(100% - (280px + 60px));
}
.p-branch_shop {
    width: 280px;
    margin-bottom: 16px;
}
.p-branch_shop .inner {
    position: sticky;
    top: 0;
}
.p-branch_shop .p-box_branch {
    display: block;
}
.p-branch_shop .c-branch_image {
    width: 280px;
}
.p-branch_shop .c-branch_image .slick-dots {
    bottom: 20px;
}
.p-branch_shop .c-branch_image .slick-dots li {
    width: 12px;
    height: 12px;
}
.p-branch_shop .c-branch_image .slick-dots li button {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid #003b87;
}
.p-branch_shop .c-branch_image .slick-dots li.slick-active button {
    background: #003b87;
}
.p-branch_shop .c-branch_image .slick-dots li button::before {
    display: none;
}
.p-branch_shop .c-branch_about {
    width: auto;
}
.p-branch_shop .p-branch_table th,
.p-branch_shop .p-branch_table td {
    padding: 6px 0;
    font-size: 1.2rem;
}
.p-branch_shop .p-branch_table th {
    width: 80px;
}
.p-branch_shop .p-branch_table td {
    padding-left: 12px;
    color: #0c1014;
}
.p-branch_shop .p-branch_table a[href="#branchMap"] {
    display: inline-block;
    margin-top: 4px;
}
.p-branch_shop .p-branch_message {
    padding: 20px 24px;
}
.p-branch_map {
    width: 100%;
    height: 400px;
    margin-bottom: 8px;
}
.p-branch_access {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
}
.p-branch_access .p-branch_table {
    width: calc(100% - 500px);
}
.p-branch_access_send {
    display: flex;
    margin-top: 6px;
}
.p-branch_access_send > li + li {
    margin-left: 8px;
}
.p-branch_access_send .btn-access {
    display: block;
    width: 160px;
    padding: 6px 10px;
    border-radius: 3px;
    border: 1px solid #888;
    box-shadow: 0 1px 2px rgba(0,0,0,.15);
    font-size: 1.3rem;
    text-decoration: none;
    text-align: center;
}
.p-branch_access_send .btn-access span {
    display: inline-block;
    padding: 3px 0 2px 40px;
    background: center left /32px auto no-repeat;
}
.p-branch_access_send .btn-access.-gmap span {
    padding-left: 0;
}
.p-branch_access_send .btn-access.-mail span {
    background-image: url(/location/img/ico_send_mail.png);
}
.p-branch_access_send .btn-access.-line span {
    background-image: url(/location/img/ico_send_line.png);
}
.p-branch_news {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.p-branch_news::after {
    content: '';
    display: block;
    width: 31%;
}
.p-branch_news .c-news_item {
    width: 31%;
}
.p-branch_news .c-news_item a {
    display: block;
    text-decoration: none;
}
.p-branch_news .c-news_item figure {
    margin: 0;
}
.p-branch_news .c-news_item figure img {
    width: 100%;
    height: 240px;
    margin-bottom: 20px;
    object-fit: cover;
}
.p-branch_news .c-news_item dt {
    margin-bottom: 4px;
    font-size: 1.2rem;
}
.p-branch_news .c-news_item .-name {
    margin-bottom: 12px;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.4;
}
.p-branch_news .c-news_item .-content {
    font-size: 1.4rem;
    color: #0c1014;
    line-height: 1.6;
}
.p-visit_news {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.p-visit_news::after {
    content: '';
    display: block;
    width: 31%;
}
.p-visit_news .c-visit_item {
    width: 31%;
}
.p-visit_news .c-visit_item a {
    display: block;
    text-decoration: none;
}
.p-visit_news .c-visit_item figure {
    margin: 0;
}
.p-visit_news .c-visit_item figure img {
    width: 100%;
    height: 240px;
    margin-bottom: 20px;
    object-fit: cover;
}
.p-visit_news .c-visit_item figcaption {
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.4;
}
.p-branch_contact {
    margin-top: 100px;
    padding: 32px 48px;
    background: #f7f3ed;
}
.p-branch_contact br {
    display: none;
}
.p-branch_contact dl {
    margin-bottom: 20px;
}
.p-branch_contact dt {
    margin-bottom: 8px;
    font-size: 1.8rem;
    font-weight: bold;
}
.p-branch_contact dd {
    font-size: 1.4rem;
    line-height: 1.4;
}
.p-branch_contact dd strong {
    margin-right: 4px;
    color: #dc4748;
    font-size: 1.6rem;
    font-weight: bold;
}
.p-branch_contact__note {
    margin-top: 16px;
    padding-left: 1em;
    font-size: 1.2rem;
    text-indent: -1em;
    line-height: 1.4;
}
.btn-branch_contact {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    text-decoration: none;
    font-size: 1.8rem;
    line-height: 1.4;
    font-weight: bold;
    padding: 16px;
    border-radius: 3px;
    background: #f5ac19;
    cursor: pointer;
    box-shadow: 0 2px 1px rgba(0,0,0,.2);
}
.btn-branch_contact span {
    position: relative;
    display: inline-block;
    padding-right: 40px;
}
.btn-branch_contact span::before,
.btn-branch_contact span::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    display: block;
    margin: auto;
    content: '';
}
.btn-branch_contact span::before {
    width: 16px;
    height: 4px;
    background: #fff;
}
.btn-branch_contact span::after {
    width: 10px;
    height: 10px;
    border-top: 4px solid #fff;
    border-right: 4px solid #fff;
    transform: rotate(45deg);
}
.btn-branch_contact br {
    display: inherit;
}
.btn-branch_contact br.-sp {
    display: none;
}
@media only screen and (max-width: 1120px) {
    .p-branch_staff {
        width: calc(100% - (240px + 48px));
    }
    .p-box_branch .c-branch_image {
        width: 200px;
    }
    .p-box_branch .c-branch_about {
        width: calc(100% - (200px + 30px));
    }
    .p-branch_shop {
        width: 240px;
    }
    .p-branch_shop .c-branch_image {
        width: 240px;
    }
    .p-branch_shop .c-branch_about {
        width: auto;
    }
    .p-branch_table th,
    .p-branch_table td {
        font-size: 1.2rem;
    }
    .p-branch_table th {
        width: 130px;
    }
}
@media only screen and (max-width: 900px) {
    .w-branch_content {
        display: block;
        margin-bottom: 0;
    }
    .w-branch_content .hl-branch {
        margin-top: 80px;
    }
    .p-box_branch .c-branch_image {
        width: 32%;
    }
    .p-box_branch .c-branch_about {
        width: 64%;
    }
    .p-branch_table th {
        width: 100px;
    }
    .p-branch_message {
        padding: 24px;
    }
    .p-branch_staff {
        width: 100%;
    }
    .p-branch_shop {
        width: 100%;
        margin-bottom: 40px;
    }
    .p-branch_shop .inner {
        position: relative;
        top: auto!important;
    }
    .p-branch_shop .hl-branch {
        margin-top: 32px;
    }
    .p-branch_shop .p-box_branch {
        display: flex;
    }
    .p-branch_movie iframe {
        height: 54vw;
    }
    .p-branch_map {
        height: 320px;
    }
    .p-branch_access {
        display: block;
    }
    .p-branch_access_send {
        margin: 0 0 10px;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .p-branch_access_send > li {
        width: calc((100% - 8px) / 2);
        margin-bottom: 8px;
    }
    .p-branch_access_send > li:first-child {
        width: 100%;
    }
    .p-branch_access_send > li + li {
        margin-left: 0;
    }
    .p-branch_access_send .btn-access {
        width: 100%;
    }
    .p-branch_access .p-branch_table {
        width: 100%;
    }
    .p-branch_access .p-branch_table th {
        width: 120px;
    }
    .p-branch_news .c-news_item figure img {
        height: 160px;
    }
    .p-visit_news .c-visit_item figure img {
        height: 160px;
    }
    .p-branch_contact {
        padding: 24px;
    }
}
@media only screen and (max-width: 600px) {
    .hl-branch {
        margin: 36px 0 16px;
        padding-left: 8px;
        font-size: 1.6rem;
    }
    .w-branch_content .hl-branch {
        margin-top: 36px;
    }
    .p-branch_shop .hl-branch {
        margin-top: 24px;
    }
    .p-box_branch {
        display: block;
        padding: 16px 0 12px;
    }
    .p-box_branch .c-branch_image {
        width: 100%;
        margin-bottom: 8px;
        padding: 0;
    }
    .p-box_branch .c-branch_about {
        width: 100%;
    }
    .p-branch_table th,
    .p-branch_table td {
        padding: 5px 0;
        font-size: 1.3rem;
    }
    .p-branch_table td {
        padding-left: 12px;
    }
    .p-branch_table th span {
        padding: 5px 8px;
    }
    .p-branch_message {
        margin-bottom: 24px;
        padding: 12px 16px 16px;
    }
    .p-branch_message h3 {
        margin-bottom: 4px;
        padding-left: 24px;
        font-size: 1.5rem;
        background-size: 16px 16px;
    }
    .p-branch_message p {
        font-size: 1.3rem;
    }
    .w-branch_message_interview {
        margin: 16px 0 -8px;
        padding-top: 16px;
    }
    .w-branch_message_interview h3 {
        margin-bottom: 8px;
    }
    .p-branch_message_interview .c-interview_item {
        width: 100%;
        max-width: none;
        margin: 0 0 12px;
    }
    .p-branch_message_interview .c-interview_item figcaption {
        font-size: 1.1rem;
    }
    .btn-interview_more {
        margin-bottom: 10px;
    }
    .p-branch_shop .p-box_branch {
        display: block;
    }
    .p-branch_shop .p-branch_message {
        margin-bottom: 16px;
        padding: 12px 16px 16px;
    }
    .p-branch_map {
        height: 360px;
        margin-bottom: 12px;
    }
    .p-branch_news {
        display: block;
    }
    .p-branch_news .c-news_item {
        width: 100%;
        margin-bottom: 24px;
    }
    .p-branch_news .c-news_item figure img {
        height: 48vw;
        margin-bottom: 12px;
    }
    .p-branch_news .c-news_item dt {
        font-size: 1rem;
    }
    .p-branch_news .c-news_item .-name {
        margin-bottom: 6px;
        font-size: 1.5rem;
    }
    .p-branch_news .c-news_item .-content {
        font-size: 1.3rem;
    }
    .p-visit_news {
        display: block;
    }
    .p-visit_news .c-visit_item {
        width: 100%;
        margin-bottom: 24px;
    }
    .p-visit_news .c-visit_item figure img {
        height: 48vw;
        margin-bottom: 12px;
    }
    .p-visit_news .c-visit_item figcaption {
        font-size: 1.5rem;
    }
    .p-branch_contact {
        margin-top: 60px;
        padding: 24px 16px;
    }
    .p-branch_contact br {
        display: inherit;
    }
    .p-branch_contact dt {
        font-size: 1.6rem;
    }
    .p-branch_contact dd strong {
        display: inline-block;
        margin: 0 0 4px;
    }
    .p-branch_contact dd strong a {
        color: #dc4748;
    }
    .btn-branch_contact {
        font-size: 1.4rem;
    }
    .btn-branch_contact span {
        padding-right: 20px;
    }
    .btn-branch_contact span::before {
        width: 12px;
        height: 3px;
    }
    .btn-branch_contact span::after {
        width: 8px;
        height: 8px;
        border-width: 3px;
    }
    .btn-branch_contact br.-sp {
        display: inherit;
    }
}

/* news */
.w-news {
    display: flex;
    justify-content: space-between;
    font-weight: 400;
}
.w-news > section {
    width: calc(100% - (280px + 80px));
}
.w-news .w-year_list {
    width: 280px;
    margin-top: 40px;
    padding: 24px 40px 40px;
    border-radius: 8px;
    background: #f6f6f6;
}
.w-news .p-year_list {
    position: sticky;
    top: 0;
}
.w-news .p-year_list a {
    position: relative;
    display: block;
    padding: 16px 0;
    border-bottom: 1px solid #ddd;
    font-size: 1.6rem;
    text-decoration: none;
}
.w-news .p-year_list a::after {
    position: absolute;
    top: 0;
    right: 4px;
    bottom: 0;
    margin: auto;
    display: block;
    width: 5px;
    height: 5px;
    border-top: 1px solid #555;
    border-right: 1px solid #555;
    transform: rotate(45deg);
    content: '';
}
.p-news_list .c-article_item > a {
    display: flex;
    padding-right: 30px;
    line-height: 1.4;
    flex-direction: row;
}
.p-news_list .c-article_item time {
    width: 9em;
    margin-bottom: 0;
}
.p-news_list .c-article_item span {
    max-width: calc(100% - 9em);
}
.p-news_article {
    font-weight: 400;
}
.p-news_article time {
    display: block;
    margin-bottom: 20px;
    font-size: 1.4rem;
    letter-spacing: .02em;
    color: #999;
}
.p-news_article h2 {
    margin: 44px 0 20px;
    padding-left: 14px;
    border-left: 2px solid #003b87;
    font-weight: bold;
    font-size: 2.4rem;
    line-height: 1.4;
}
.p-news_article h3 {
    margin: 32px 0 14px;
    font-weight: bold;
    font-size: 2rem;
    line-height: 1.4;
}
.p-news_article p {
    margin-bottom: 20px;
    font-size: 1.6rem;
    line-height: 1.7;
    font-feature-settings: "palt";
    letter-spacing: .06em;
}
.p-news_article img {
    max-width: 100%;
    height: auto;
}
.p-news_article ul {
    margin: 30px 0;
}
.p-news_article ul > li {
    position: relative;
    margin-bottom: .6em;
    padding-left: 14px;
    font-size: 1.6rem;
    font-feature-settings: "palt";
    letter-spacing: .06em;
    line-height: 1.7;
}
.p-news_article ul > li::before {
    position: absolute;
    top: 11px;
    left: 0;
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #003b87;
    content: '';
}
.p-news_article ol {
    margin: 30px 0;
    counter-reset: number;
}
.p-news_article ol > li {
    position: relative;
    margin-bottom: .6em;
    padding-left: 24px;
    font-size: 1.6rem;
    font-feature-settings: "palt";
    letter-spacing: .06em;
    line-height: 1.7;
}
.p-news_article ol > li::before {
    counter-increment: number;
    content: counter(number)".";
    position: absolute;
    top: 2px;
    left: 0;
    color: #003b87;
    font-weight: bold;
    font-size: 1.5rem;
}
.p-news_article table {
    margin: 30px 0;
}
.p-news_article th, td {
    padding: 20px;
    font-size: 1.6rem;
    line-height: 1.5;
}
.p-news_url {
    display: flex;
    align-items: center;
    margin-top: 48px;
    padding: 32px;
    background: #f6f6f6;
    font-size: 1.6rem;
}
.p-news_url > dt {
    width: 140px;
}
.p-news_url > dd {
    width: calc(100% - 140px);
}
.p-news_url > dd a {
    text-decoration: underline;
    color: #26a4aa;
    word-break: break-all;
    line-height: 1.2;
}
.w-news_navigation {
    margin-top: 100px;
    padding: 32px 0;
    border-top: 1px solid #ddd;
}
.p-news_navigation {
    display: flex;
    justify-content: center;
}
.p-news_navigation > li {
    width: calc((100% - 200px) / 2);
}
.p-news_navigation > li.-list {
    width: 200px;
}
.p-news_navigation > li a {
    position: relative;
    height: 100%;
    display: flex;
    justify-content: center;
    font-size: 1.4rem;
    line-height: 1.4;
    align-items: center;
    text-decoration: none;
}
.p-news_navigation > li.-list a span {
    display: inline-block;
    padding-left: 28px;
    background: url(/common/img/ico_list.svg) center left /18px 18px no-repeat;
}
.p-news_navigation > li.-prev a {
    justify-content: flex-start;
    padding-left: 24px;
}
.p-news_navigation > li.-prev a::before {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    display: block;
    width: 6px;
    height: 6px;
    border-top: 2px solid #003b87;
    border-left: 2px solid #003b87;
    content: '';
    transform: rotate(-45deg);
}
.p-news_navigation > li.-next a {
    justify-content: flex-end;
    padding-right: 24px;
}
.p-news_navigation > li.-next a::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    display: block;
    width: 6px;
    height: 6px;
    border-top: 2px solid #003b87;
    border-right: 2px solid #003b87;
    content: '';
    transform: rotate(45deg);
}
@media only screen and (max-width: 1120px) {
    .w-news > section {
        width: calc(100% - (240px + 60px));
    }
    .w-news .w-year_list {
        width: 240px;
    }
}
@media only screen and (max-width: 900px) {
    .w-news {
        display: block;
    }
    .w-news > section {
        width: 100%;
        margin-bottom: 40px;
    }
    .w-news .w-year_list {
        width: 100%;
        margin-top: 20px;
        padding: 10px 24px 12px;
        border-radius: 4px;
    }
    .w-news .p-year_list a {
        padding: 12px 0;
        font-size: 1.4rem;
    }
    .w-news .p-year_list > li:last-child a {
        border-bottom: none;
    }
    .p-news_list .c-article_item {
        font-size: 1.4rem;
    }
    .p-news_list .c-article_item > a {
        flex-direction: column;
        padding: 20px 30px 20px 0;
    }
    .p-news_list .c-article_item time {
        display: block;
        width: 100%;
        margin-bottom: 5px;
    }
    .p-news_list .c-article_item span {
        display: block;
        max-width: none;
    }
    .w-news_navigation {
        margin-top: 60px;
        padding: 0;
    }
    .p-news_article time {
        font-size: 1.2rem;
    }
    .p-news_article h2 {
        margin: 32px 0 14px;
        padding-left: 12px;
        font-size: 2rem;
    }
    .p-news_article h3 {
        margin: 24px 0 10px;
        font-size: 1.7rem;
    }
    .p-news_article p {
        margin-bottom: 16px;
        font-size: 1.5rem;
    }
    .p-news_article ul {
        margin: 24px 0;
    }
    .p-news_article ul > li {
        padding-left: 12px;
        font-size: 1.5rem;
    }
    .p-news_article ul > li::before {
        top: 9px;
        width: 5px;
        height: 5px;
    }
    .p-news_article ol {
        margin: 24px 0;
    }
    .p-news_article ol > li {
        padding-left: 20px;
        font-size: 1.5rem;
    }
    .p-news_article ol > li::before {
        top: 1px;
        font-size: 1.3rem;
    }
    .p-news_article table {
        margin: 24px 0;
    }
    .p-news_article th, td {
        padding: 16px 10px;
        font-size: 1.4rem;
    }
    .p-news_url {
        margin-top: 32px;
        padding: 24px;
    }
    .p-news_navigation {
        flex-wrap: wrap;
    }
    .p-news_navigation > li {
        width: 100%;
    }
    .p-news_navigation > li.-prev {
        order: 2;
    }
    .p-news_navigation > li.-list {
        width: 140px;
        order: 3;
    }
    .p-news_navigation > li a {
        padding: 20px 0;
        border-bottom: 1px solid #ddd;
        font-size: 1.3rem;
    }
    .p-news_navigation > li.-prev a {
        padding-left: 16px;
    }
    .p-news_navigation > li.-next a {
        padding-right: 16px;
    }
    .p-news_navigation > li.-list a {
        height: auto;
        padding: 0;
        border-bottom: none;
        margin-top: 24px;
    }
}
@media only screen and (max-width: 900px) {
    .p-news_url {
        display: block;
        margin-top: 32px;
        padding: 16px;
        font-size: 1.5rem;
    }
    .p-news_url > dt {
        width: 100%;
        margin-bottom: 8px;
    }
    .p-news_url > dd {
        width: 100%;
    }
}

.c-name .-label {
    width: 4.6em;
}

/* よくある質問 */
.p-faq_tab {
    display: flex;
    margin-top: 48px;
}
.p-faq_tab .c-tab_item + .c-tab_item {
    margin-left: 3px;
}
.p-faq_tab .c-tab_item a {
    display: block;
    padding: 18px 32px;
    background: #eaeef3;
    border-radius: 8px 8px 0 0;
    font-size: 1.6rem;
    text-decoration: none;
    font-weight: bold;
    color: #7c96b8;
}
.p-faq_tab .c-tab_item a.-active {
    background: #003b87;
    color: #fff;
    font-weight: bold;
}
.w-faq_list {
    position: relative;
    padding-top: 60px;
}
.w-faq_list::before {
    position: absolute;
    top: 0;
    left: -400px;
    z-index: -1;
    display: block;
    width: 200vw;
    height: 200%;
    border-top: 2px solid #003b87;
    content: '';
}
.p-faq_list {
    counter-reset: number 0;
}
.c-faq_item {
    margin-bottom: 24px;
    border-radius: 8px;
    border: 1px solid #f0f3f7;
    box-shadow: 0 2px 4px rgba(0,0,0,.12);
    overflow: hidden;
}
.p-faq > dt {
    position: relative;
    padding: 24px 32px 24px 78px;
    background: #f0f3f7;
    font-size: 2rem;
    line-height: 1.4;
    cursor: pointer;
}
.p-faq > dt::before {
    position: absolute;
    top: 0;
    left: 32px;
    bottom: 0;
    margin: auto;
    width: 30px;
    height: 28px;
    line-height: 28px;
    counter-increment: number 1;
    content: "Q"counter(number)".";
}
.p-faq > dd {
    padding: 24px 32px;
    background: #fff;
}
.p-faq > dd h3 {
    position: relative;
    padding-right: 150px;
    font-size: 1.8rem;
    color: #003b87;
    line-height: 1.4;
}
.p-faq > dd h3 a {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    display: block;
    width: 130px;
    height: 40px;
    border-radius: 20px;
    background: #003b87;
    font-size: 1.4rem;
    color: #fff;
    text-align: center;
    font-weight: normal;
    line-height: 40px;
    cursor: pointer;
}
.p-faq > dd h3 a span {
    position: relative;
    display: inline-block;
    padding-right: 14px;
}
.p-faq > dd h3 a span::after {
    position: absolute;
    display: block;
    width: 5px;
    height: 5px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    content: '';
}
.p-faq > dd h3 a.-next span::after {
    top: 16px;
    right: 0;
    transform: rotate(135deg);
    transition: transform .3s ease;
}
.p-faq > dd h3 a.-next.-active span::after {
    top: 18px;
    transform: rotate(-45deg);
    transition: transform .3s ease;
}
.p-faq > dd h3 a.-link span::after {
    transform: rotate(45deg);
    top: 0;
    right: 2px;
    bottom: 0;
    margin: auto;
}
.p-faq_detail {
    display: none;
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid #e4eaf1;
}
.p-faq_detail > *:first-child {
    margin-top: 0;
}
.p-faq_detail h4 {
    margin: 20px 0 10px;
    font-size: 1.6rem;
    line-height: 1.4;
}
.p-faq_detail a {
    display: inline-block;
    padding: 10px 40px 10px 16px;
    border-radius: 4px;
    text-decoration: none;
    background: #26a4aa url(/common/img/ico_arrow_right.svg) center right 16px /12px 12px no-repeat;
    font-size: 1.6rem;
    color: #fff;
    line-height: 1.3;
}
.p-faq_detail a[target="_blank"] {
    background: #26a4aa url(/common/img/ico_blank_w.svg) center right 16px /12px 12px no-repeat;
}
.p-faq > dd > *:last-child {
    margin-bottom: 0;
}
.p-faq > dd  p {
    margin-bottom: 1em;
    font-size: 1.6rem;
    line-height: 1.6;
}
.p-faq > dd  ul {
    margin: 1em 0;
}
.p-faq > dd  ul > li {
    position: relative;
    margin-bottom: .6em;
    padding-left: 16px;
    font-size: 1.6rem;
    line-height: 1.6;
}
.p-faq > dd  ul.-links > li {
    padding-left: 0;
}
.p-faq > dd  ul > li:last-child {
    margin-bottom: 0;
}
.p-faq > dd  ul > li::before {
    position: absolute;
    top: 10px;
    left: 0;
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #003b87;
    content: '';
}
.p-faq > dd  ul.-links > li::before {
    display: none;
}
.p-faq > dd  ul.-note > li {
    font-size: 1.2rem;
}
.p-faq > dd  ul.-note > li::before {
    top: 0;
    width: auto;
    height: auto;
    border-radius: none;
    background: none;
    content: '※';
}
@media only screen and (max-width: 900px) {
    .w-faq_list {
        padding-top: 40px;
    }
    .p-faq_tab {
        margin-top: 24px;
    }
    .p-faq_tab .c-tab_item a {
        padding: 14px 20px;
        font-size: 1.4rem;
        line-height: 1.25;
    }
    .p-faq > dt {
        padding: 16px 20px 16px 58px;
        font-size: 1.6rem;
    }
    .p-faq > dt::before {
        left: 20px;
    }
    .p-faq > dd {
        padding: 20px;
    }
    .p-faq > dd h3 {
        padding-right: 116px;
        font-size: 1.6rem;
    }
    .p-faq > dd h3 a {
        width: 100px;
        font-size: 1.1rem;
    }
    .p-faq > dd h3 a span {
        padding-right: 12px;
    }
    .p-faq > dd h3 a.-next span::after {
        top: 15px;
    }
    .p-faq > dd p {
        font-size: 1.4rem;
    }
    .p-faq_detail h4 {
        margin: 20px 0 8px;
        font-size: 1.4rem;
    }
    .p-faq > dd ul > li {
        font-size: 1.4rem;
    }
    .p-faq_detail {
        margin-top: 20px;
        padding-top: 20px;
    }
}
@media only screen and (max-width: 600px) {
    .p-faq_tab .c-tab_item + .c-tab_item {
        margin-left: 2px;
    }
    .p-faq_tab .c-tab_item a {
        padding: 14px 12px;
        font-size: 1.2rem;
    }
    .w-faq_list::before {
        width: 100vw;
        left: -5vw;
    }
    .c-faq_item {
        margin-bottom: 16px;
    }
    .p-faq > dt {
        padding: 16px 16px 16px 50px;
        font-size: 1.4rem;
        line-height: 1.2;
    }
    .p-faq > dt::before {
        left: 16px;
    }
    .p-faq > dd {
        padding: 16px;
    }
    .p-faq > dd h3 {
        padding-right: 0;
        font-size: 1.4rem;
    }
    .p-faq > dd h3 a {
        position: relative;
        height: 36px;
        margin: 10px auto 0;
        line-height: 36px;
    }
    .p-faq > dd h3 a.-next span::after {
        top: 13px;
    }
    .p-faq > dd h3 a.-next.-active span::after {
        top: 17px;
    }
    .p-faq_detail h4 {
        margin: 16px 0 6px;
        font-size: 1.3rem;
    }
    .p-faq > dd p {
        font-size: 1.3rem;
        line-height: 1.5;
    }
    .p-faq > dd ul {
        margin: .8em 0;
    }
    .p-faq > dd ul > li {
        padding-left: 12px;
        font-size: 1.3rem;
        line-height: 1.4;
    }
    .p-faq > dd ul > li::before {
        top: 6px;
        width: 5px;
        height: 5px;
    }
    .p-faq_detail a {
        display: block;
        padding: 9px 30px 9px 12px;
        border-radius: 4px;
        background-position: center right 12px;
        font-size: 1.3rem;
        line-height: 1.3;
    }
    .p-faq_detail {
        margin-top: -18px;
        padding-top: 28px;
    }
}

/* ご契約までの道のり */
.p-process_content .hl-content_large {
    margin: 40px 0 20px;
}
.p-process_content > p {
    font-size: 1.6rem;
    line-height: 1.8;
}
.p-step_order {
    position: relative;
    margin-top: 60px;
    padding-left: 48px;
}
.p-step_order::before {
    position: absolute;
    top: 70px;
    left: 6px;
    display: block;
    width: 1px;
    height: calc(100% - 70px);
    background: #003b87;
    content: '';
}
.c-step_item {
    padding: 40px 0;
    border-bottom: 1px solid #ddd;
}
.c-step_item:first-child {
    border-top: 1px solid #ddd;
}
.p-step_box {
    display: flex;
}
.c-step_title {
    width: 350px;
}
.c-step_title > div {
    position: sticky;
    top: 20px;
    padding: 16px 0;
}
.c-step_title h3 {
    position: relative;
    font-size: 2.2rem;
    color: #003b87;
    letter-spacing: .04em;
}
.c-step_title h3::before {
    position: absolute;
    top: 0;
    left: -47px;
    bottom: 0;
    margin: auto;
    display: block;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: #003b87;
    content: '';
}
.c-step_item:last-child .c-step_title h3::after {
    position: absolute;
    top: 10px;
    left: -47px;
    z-index: -1;
    display: block;
    width: 11px;
    height: 480px;
    background: #fff;
    content: '';
}
.c-step_title h3 span {
    display: inline-block;
    width: 80px;
    font-size: 1.8rem;
}
.c-step_title h3 span i {
    margin-left: .16em;
    font-style: normal;
    font-size: 2.2rem;
}
.p-role_list {
    position: relative;
    display: flex;
    justify-content: center;
    margin-top: 16px;
    width: 300px;
    padding: 12px 0;
    border-radius: 8px;
    background: #ebf0f7;
}
.c-step_item:last-child .p-role_list::before {
    display: none;
}
.p-role_list > li {
    position: relative;
    width: 49px;
    height: 53px;
    margin-right: 40px;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
.p-role_list > li::after {
    position: absolute;
    top: 0;
    right: -32px;
    bottom: 0;
    margin: auto;
    display: block;
    width: 24px;
    height: 24px;
    background: url(/process/img/arrow_1.png) center /contain no-repeat;
    content: '';
}
.p-role_list.-to > li::after {
    background-image: url(/process/img/arrow_2.png);
}
.p-role_list > li:last-child {
    margin-right: 0;
}
.p-role_list > li:last-child::after {
    display: none!important;
}
.p-role_list > li.-customer {
    background-image: url(/process/img/ico_customer.png);
}
.p-role_list > li.-company {
    background-image: url(/process/img/ico_company.png);
}
.p-role_list > li.-bank {
    background-image: url(/process/img/ico_bank.png);
}
.p-role_list > li.-service {
    background-image: url(/process/img/ico_service.png);
}
.c-step_content {
    position: relative;
    width: calc(100% - 350px);
    padding: 16px 0 16px 40px;
    border-left: 1px solid #ddd;
}
.c-step_content.-hidden {
    position: relative;
    max-height: 160px;
    overflow: hidden;
}
.c-step_content.-open {
    padding-bottom: 54px;
}
.c-step_content.-hidden::before {
    position: absolute;
    left: 0;
    bottom: 0;
    display: block;
    width: 100%;
    height: 120px;
    background: linear-gradient(rgba(255,255,255,0), rgba(255,255,255,1) 80%);
    content: '';
}
.c-step_content > h4 {
    margin: 32px 0 20px;
    border-left: 8px solid #ced6e8;
    padding-left: 0.7em;
    letter-spacing: .08em;
    font-size: 2.2rem;
    color: #003b87;
    line-height: 1.4;
}
.c-step_content > h4:first-child {
    margin-top: 0;
}
.c-step_content > h5 {
    margin: 24px 0 10px;
    font-size: 1.8rem;
    letter-spacing: .06em;
}
.c-step_content > p {
    margin-bottom: .8em;
    font-size: 1.4rem;
    line-height: 1.6;
}
.c-step_content > p:last-child {
    margin-bottom: 0;
}
.c-step_content > ul {
    margin: 20px 0;
    padding-left: 20px;
}
.c-step_content > ul:last-child {
    margin-bottom: 0;
}
.c-step_content > ul > li {
    margin-bottom: 8px;
    list-style: disc;
    font-size: 1.4rem;
    line-height: 1.4;
}
.c-step_content > ul > li:last-child {
    margin-bottom: 0;
}
.c-step_content > table {
    width: 100%;
    margin: 16px 0;
}
.c-step_content th,
.c-step_content td {
    padding: 16px;
    background: #f4f4f4;
    font-size: 1.4rem;
}
.c-step_content > p a,
.c-step_content > ul > li a {
    position: relative;
    display: inline-block;
    border-bottom: 1px solid;
    text-decoration: none;
    transition: color .3s ease;
}
.c-step_content > p a[target="_blank"],
.c-step_content > ul > li a[target="_blank"] {
    padding-right: 20px;
    background: url(/common/img/ico_blank.svg) center right /14px 14px no-repeat;
}
.c-step_content > p a:hover,
.c-step_content > ul > li a {
    color: #003b87;
    transition: color .3s ease;
}
.p-note_list {
    margin: .5em 0 12px!important;
    padding-left: 0!important;
}
.p-note_list.-small {
    margin-top: .5em;
}
.p-note_list > li {
    margin-bottom: 6px;
    padding-left: 1.5em;
    text-indent: -1.5em;
    font-size: 1.2rem!important;
    line-height: 1.4;
    list-style: none!important;
}
.p-note_list > li::before {
    content: '※ ';
}
.box-note {
    padding-left: 14px;
    margin-top: 12px;
    border-left: 1px solid #ddd;
}
.box-fire-insurance {
    padding: 24px;
    background: #f4f4f4;
}
.box-fire-insurance h5 {
    margin-bottom: 16px;
    font-size: 1.6rem;
    letter-spacing: .06em;
    line-height: 1.4;
}
.box-fire-insurance .box-flex {
    display: flex;
    justify-content: space-between;
}
.box-fire-insurance p {
    font-size: 1.4rem;
    line-height: 1.6;
}
.box-fire-insurance figure {
    margin: 0 0 0 24px;
    width: 150px;
}
.box-fire-insurance figure img {
    width: 100%;
}
.box-fire-insurance figure figcaption {
    margin-top: 8px;
    text-align: center;
    font-size: 1.4rem;
}
.box-fire-insurance figure figcaption span {
    position: relative;
    display: inline-block;
    padding-right: 16px;
}
.box-fire-insurance figure figcaption span::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    display: block;
    width: 5px;
    height: 5px;
    border-top: 1px solid #003b87;
    border-right: 1px solid #003b87;
    transform: rotate(45deg);
    content: '';
}
.btn-process {
    position: absolute;
    right: 0;
    bottom: 0;
    display: block;
    width: 200px;
    padding: 12px 0;
    border-radius: 20px;
    background: #003b87;
    font-size: 1.4rem;
    color: #fff;
    text-align: center;
}
.btn-process span {
    position: relative;
    display: inline-block;
    padding-right: 24px;
}
.btn-process span::after {
    position: absolute;
    top: 2px;
    right: 0;
    display: block;
    width: 6px;
    height: 6px;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
    content: '';
    transform: rotate(45deg);
    transition: transform .3s ease;
}
.btn-process.-active span::after {
    top: 6px;
    transform: rotate(-135deg);
    transition: transform .3s ease;
}
.p-customer_message {
    margin-top: 100px;
    padding: 32px 40px;
    border-radius: 8px;
    background: #f4f7fb;
    box-shadow: 0 4px 8px rgba(113,146,189,.2);
}
.p-customer_message figure {
    margin: 0 0 14px 32px;
    float: right;
    width: 160px;
}
.p-customer_message figure img {
    max-width: 100%;
}
.c-message_content h2 {
    margin-bottom: 20px;
    font-size: 2rem;
    letter-spacing: .04em;
}
.c-message_content h2 span {
    display: inline-block;
    padding-left: 36px;
    background: url(/common/img/ico_message.png) center left /24px 24px no-repeat;
}
@media only screen and (max-width: 900px) {
    .p-step_order {
        padding-left: 32px;
    }
    .p-step_order::before {
        top: 54px;
        height: calc(100% - 54px);
    }
    .c-step_item {
        padding: 28px 0;
    }
    .c-step_title {
        width: 250px;
    }
    .c-step_title h3 {
        font-size: 1.6rem;
    }
    .c-step_title h3::before {
        left: -30px;
        width: 9px;
        height: 9px;
    }
    .c-step_item:last-child .c-step_title h3::after {
        left: -30px;
    }
    .c-step_title h3 span {
        width: 54px;
        font-size: 1.3rem;
    }
    .c-step_title h3 span i {
        font-size: 1.6rem;
    }
    .p-role_list {
        width: 210px;
    }
    .p-role_list > li {
        width: 35px;
        height: 42px;
    }
    .c-step_content {
        width: calc(100% - 210px);
        padding-left: 24px;
    }
    .c-step_content > h4 {
        border-width: 6px;
        font-size: 1.8rem;
    }
    .box-fire-insurance figure {
        width: 100px;
        margin: 0 0 0 16px;
    }
    .box-fire-insurance figure figcaption {
        font-size: 1.2rem;
    }
}
@media only screen and (max-width: 600px) {
    .p-step_order {
        padding-left: 20px;
    }
    .p-step_order::before {
        left: 0;
    }
    .p-process_content .hl-content_large {
        margin: 32px 0 16px;
        line-height: 1.4;
    }
    .c-step_item {
        padding: 24px 0;
    }
    .p-step_box {
        display: block;
    }
    .c-step_title {
        width: 100%;
    }
    .c-step_title > div {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0;
    }
    .c-step_item:last-child .c-step_title h3::after {
        top: 8px;
        left: -24px;
    }
    .c-step_title h3::before {
        left: -24px;
    }
    .c-step_title h3 span {
        display: block;
        margin: 0 0 4px;
        font-size: 1.2rem;
    }
    .c-step_title h3 span i {
        font-size: 1.4rem;
    }
    .p-role_list {
        width: auto;
        margin: 0;
        padding: 7px 14px;
    }
    .c-step_item:last-child .p-role_list {
        width: auto;
    }
    .p-role_list::before {
        display: none;
    }
    .p-role_list > li {
        width: 30px;
        height: 35px;
        margin-right: 36px;
    }
    .p-role_list > li::after {
        right: -28px;
        width: 20px;
        height: 20px;
    }
    .c-step_content {
        width: 100%;
        padding: 20px 0 0;
        border-left: none;
    }
    .c-step_content > h4 {
        margin-bottom: 16px;
        font-size: 1.6rem;
    }
    .c-step_content > h5 {
        margin: 20px 0 8px;
        font-size: 1.5rem;
        letter-spacing: .04em;
    }
    .c-step_content > ul {
        margin: 16px 0;
    }
    .c-step_content > ul > li {
        margin-bottom: 6px;
    }
    .c-step_content th,
    .c-step_content td {
        padding: 14px 10px;
        font-size: 1.2rem;
    }
    .box-fire-insurance .box-flex {
        flex-direction: column-reverse;
        flex-wrap: wrap;
    }
    .box-fire-insurance .box-flex > div {
        width: 100%;
    }
    .box-fire-insurance figure {
        width: 64%;
        margin: 0 auto 16px;
    }
    .btn-process {
        width: 140px;
        font-size: 1.3rem;
    }
    .btn-process span {
        padding-right: 20px;
    }
    .p-customer_message {
        padding: 24px;
    }
    .p-customer_message figure {
        margin: 0 auto 16px;
        float: none;
    }
    .c-message_content h2 {
        margin-bottom: 10px;
        text-align: center;
        font-size: 1.8rem;
    }
    .c-message_content h2 span {
        padding: 2px 12px 2px 36px;
    }
    .p-point_content p {
        font-size: 1.4rem;
    }
}

/* 現地見学ガイド */
.p-guide_title {
    position: relative;
    margin: -15px 0 80px;
    padding: 108px 0;
}
.p-guide_title::before {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: -1;
    margin-left: -2000px;
    width: 4000px;
    height: 100%;
    background: url(/process/guide/img/mv.jpg) center /contain repeat-x;
    content: '';
}
.p-guide_title h2 {
    margin-bottom: 3rem;
    color: #fff;
    font-size: 2.8rem;
    letter-spacing: .05em;
    text-align: center;
}
.p-guide_title h2::after {
    content: "";
    display: block;
    width: 36px;
    height: 2px;
    background: #f6ac19;
    margin: 20px auto 0;
}
.p-guide_title p {
    color: #fff;
    font-size: 1.8rem;
    text-align: center;
    line-height: 1.8;
}
.p-guide_title p br.-sp {
    display: none;
}
.p-guide_intro {
    margin-bottom: 80px;
    font-size: 1.8rem;
    text-align: center;
    line-height: 2.2;
}
.p-guide_intro strong span {
    position: relative;
    display: inline-block;
}
.p-guide_intro strong span::before {
    position: absolute;
    left: 5%;
    bottom: 7px;
    z-index: -1;
    display: block;
    width: 90%;
    height: 9px;
    background: #f6e519;
    content: '';
}
.p-guide_intro br.-sp {
    display: none;
}
.p-guide_point {
    position: relative;
    display: flex;
    padding: 40px 0 80px;
}
.p-guide_point::before {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: -1;
    margin-left: -2000px;
    width: 4000px;
    height: 100%;
    background: linear-gradient(90deg, #e2e2fd, #e5f9ee);
    content: '';
}
.p-guide_point::after {
    position: absolute;
    top: 40px;
    left: 0;
    right: 0;
    z-index: -1;
    margin: auto;
    display: block;
    width: 1px;
    height: calc(100% - 40px - 80px);
    background: #b5c8cf;
    content: '';
}
.c-point_item {
    width: 50%;
}
.c-point_item a {
    display: block;
    padding: 32px;
    border-radius: 8px;
    text-align: center;
    transition: background .3s ease, transform .3s ease;
}
.c-point_item a img {
    margin-bottom: 10px;
}
.c-point_item a figcaption {
    position: relative;
    margin-top: -6px;
    padding-bottom: 46px;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.5;
}
.c-point_item a figcaption span {
    position: absolute;
    bottom: -2px;
    left: 50%;
    margin-left: -20px;
    display: block;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 4px rgba(0,0,0,.12);
    transition: box-shadow .3s ease;
}
.c-point_item a figcaption span::before,
.c-point_item a figcaption span::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    box-sizing: border-box;
    content: '';
}
.c-point_item a figcaption span::before {
    width: 12px;
    height: 12px;
    border-top: 2px solid #003b87;
    border-right: 2px solid #003b87;
    transform: rotate(45deg);
}
.c-point_item a figcaption span::after {
    width: 14px;
    height: 2px;
    background: #003b87;
}
.c-point_item a:hover {
    transform: scale(1.04);
    transition: background .3s ease, transform .3s ease;
}
.c-point_item a.-point1:hover {
    background: #eaf8ff;
}
.c-point_item a.-point2:hover {
    background: #edfffd;
}
.c-point_item a:hover figcaption span {
    box-shadow: none;
    transition: box-shadow .3s ease;
}
.p-guide_useful {
    display: flex;
    justify-content: space-between;
    margin: -40px 0 80px;
}
.c-useful_item {
    width: calc((100% - (10px * 2)) / 3);
    padding: 36px 0 40px;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 2px 6px rgba(0,0,0,.12);
}
.c-useful_item h3 {
    margin-bottom: 28px;
    font-size: 2rem;
    text-align: center;
}
.p-time_figure {
    margin: 0 0 16px;
    text-align: center;
}
.p-time_figure img {
    margin-bottom: 8px;
}
.p-time_figure figcaption {
    font-size: 1.6rem;
    font-weight: bold;
    color: #003b87;
}
.p-time_figure figcaption strong {
    display: inline-block;
    margin-left: .2em;
    font-size: 1.4em;
}
.p-time_note {
    padding: 0 24px;
    font-size: 1.3rem;
    line-height: 1.6;
}
.p-useful_goods {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
.c-goods_item {
    margin-bottom: 24px;
    width: 140px;
}
.c-goods_item:nth-child(n + 3) {
    margin-bottom: 0;
}
.c-goods_item figure {
    position: relative;
    margin: 0;
    text-align: center;
}
.c-goods_item figure::before {
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -48px;
    display: block;
    width: 96px;
    height: 96px;
    border-radius: 50%;
    background: #f1f5f9;
    content: '';
}
.c-goods_item img {
    position: relative;
    margin-bottom: -13px;
    display: inline-block;
    padding: 24px;
}
.c-goods_item figcaption {
    position: relative;
    font-size: 1.6rem;
    font-weight: bold;
    color: #003b87;
}
.p-useful_clothes {
    position: relative;
    margin: 0;
    padding-top: 44px;
    text-align: center;
}
.p-useful_clothes::before {
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -100px;
    display: block;
    width: 200px;
    height: 200px;
    border-radius: 50%;
    background: #f1f5f9;
    content: '';
}
.p-useful_clothes img {
    position: relative;
    margin-bottom: 16px;
}
.p-useful_clothes figcaption {
    position: relative;
    font-size: 1.6rem;
    font-weight: bold;
    color: #003b87;
    line-height: 1.6;
}
.p-guide_message {
    margin-bottom: 100px;
}
.p-guide_message h2 {
    margin-bottom: 30px;
    font-size: 2.4rem;
    line-height: 2;
    font-weight: bold;
    color: #003b87;
    text-align: center;
}
.p-guide_message h2 span {
    border-bottom: 1px solid #003b87;
    padding-bottom: 5px;
}
.p-guide_message p {
    margin-bottom: 1em;
    font-size: 1.6rem;
    line-height: 2;
    text-align: center;
}
.p-guide_merit {
    margin-bottom: 80px;
}
.p-guide_merit h2 {
    margin-bottom: 20px;
    font-size: 3rem;
    text-align: center;
    color: #003b87;
    letter-spacing: .04em;
}
.p-guide_merit h2 span {
    position: relative;
    display: inline-block;
    padding: 0 22px 0 24px;
}
.p-guide_merit h2 span::before,
.p-guide_merit h2 span::after {
    position: absolute;
    top: 3px;
    display: block;
    width: 3px;
    height: 30px;
    background: #003b87;
    border-radius: 2px;
    content: '';
}
.p-guide_merit h2 span::before {
    left: 0;
    transform: rotate(-20deg);
}
.p-guide_merit h2 span::after {
    right: 0;
    transform: rotate(20deg);
}
.p-merit_list {
    padding: 20px;
    background: #f6f6f6;
    counter-reset: meritNum;
}
.c-merit_item {
    display: flex;
    margin-bottom: 4px;
}
.c-merit_item:last-child {
    margin-bottom: 0;
}
.c-merit_item figure {
    width: 300px;
    margin: 0;
}
.c-merit_item figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    vertical-align: bottom;
}
.c-merit_item > div {
    width: calc(100% - 300px);
    padding: 24px 32px;
    background: #fff;
}
.c-merit_item > div h3 {
    margin-bottom: 16px;
    font-size: 1.6rem;
    line-height: 1.4;
}
.c-merit_item > div h3::before {
    border-bottom: 1px solid;
    margin-right: 8px;
    color: #26a4aa;
    counter-increment: meritNum;
    content: "MERRIT "counter(meritNum)".";
}
.c-merit_item > div p {
    margin-bottom: 1em;
    font-size: 1.4rem;
    line-height: 1.6;
}
.c-merit_item > div ul {
    margin: 1em 0;
}
.c-merit_item > div ul > li {
    position: relative;
    margin-bottom: .4em;
    padding-left: 12px;
    font-size: 1.4rem;
    line-height: 1.6;
}
.c-merit_item > div ul > li::before {
    position: absolute;
    top: 8px;
    left: 0;
    display: block;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #003b87;
    content: '';
}
.c-merit_item > div > *:last-child {
    margin-bottom: 0;
}
.p-guide_flow h2 {
    margin-bottom: 20px;
    font-size: 3rem;
    text-align: center;
    color: #003b87;
    letter-spacing: .04em;
}
.p-guide_flow h2 span {
    position: relative;
    display: inline-block;
    padding: 0 22px 0 24px;
}
.p-guide_flow h2 span::before,
.p-guide_flow h2 span::after {
    position: absolute;
    top: 3px;
    display: block;
    width: 3px;
    height: 30px;
    background: #003b87;
    border-radius: 2px;
    content: '';
}
.p-guide_flow h2 span::before {
    left: 0;
    transform: rotate(-20deg);
}
.p-guide_flow h2 span::after {
    right: 0;
    transform: rotate(20deg);
}
.p-flow_list {
    position: relative;
    padding: 20px;
    background: #f6f6f6;
}
.p-flow_list::before {
    position: absolute;
    top: 20px;
    left: 68px;
    z-index: 1;
    display: block;
    width: 1px;
    height: calc(100% - 40px);
    background: #4abfc5;
    content: '';
}
.c-flow_item {
    position: relative;
    margin-bottom: 4px;
    padding: 24px;
    background: #fff;
}
.c-flow_item:last-child {
    margin-bottom: 0;
}
.c-flow_item:first-child::before,
.c-flow_item:last-child::before {
    position: absolute;
    left: 24px;
    z-index: 1;
    display: block;
    width: 48px;
    height: 50%;
    background: #fff;
    content: '';
}
.c-flow_item:first-child::before {
    top: 0;
}
.c-flow_item:last-child::before {
    bottom: 0;
}
.c-flow_item dl {
    display: flex;
    align-items: center;
}
.c-flow_item dt {
    position: relative;
    width: 300px;
    padding-left: 64px;
    font-size: 1.6rem;
    font-weight: bold;
}
.c-flow_item dt span {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 1;
    margin: auto;
    display: block;
    width: 48px;
    height: 48px;
    padding-top: 10px;
    border-radius: 50%;
    background: #26a4aa;
    color: #fff;
    font-size: 1.1rem;
    font-weight: normal;
    text-align: center;
    line-height: 1.1;
}
.c-flow_item dt span strong {
    display: block;
    font-size: 1.6rem;
    font-weight: bold;
}
.c-flow_item dd {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: calc(100% - 300px);
    padding-left: 24px;
    border-left: 1px solid #ddd;
}
.c-flow_item p {
    width: calc(100% - (200px + 20px));
    font-size: 1.4rem;
    line-height: 1.6;
}
.c-flow_item figure {
    width: 200px;
    height: 100%;
    margin: 0 0 0 20px;
}
.c-flow_item figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.p-point_intro {
    position: relative;
    margin-bottom: 40px;
    padding-right: 140px;
    font-size: 1.6rem;
}
.p-point_intro::after {
    position: absolute;
    right: 0;
    bottom: -12px;
    display: block;
    box-sizing: border-box;
    width: 120px;
    height: 120px;
    padding-top: 68px;
    border-radius: 50%;
    background: top 20px center /40px 40px no-repeat;
    font-size: 1rem;
    font-weight: bold;
    white-space: pre;
    text-align: center;
    font-feature-settings: "palt";
}
.p-point_intro.-point1::after {
    background-color: #e7f2f7;
    background-image: url(/process/guide/img/ico_guide_point_1.png);
    content: '建築中物件\A現地見学のポイント';
}
.p-point_intro.-point2::after {
    background-color: #e5f7f5;
    background-image: url(/process/guide/img/ico_guide_point_2.png);
    content: '完成済み物件\A現地見学のポイント';
}
.p-point_mv {
    display: flex;
    padding-bottom: 60px;
    position: relative;
    z-index: 5;
    margin-bottom: 60px;
}
.p-point_mv.-mt {
    margin-top: 100px;
}
.p-point_mv::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: -15vw;
    z-index: -1;
    width: calc(100vw - 18px);
    height: 50%;
    background: #f7f8fa;
}
.p-point_mv .row-img {
    border: none;
    width: 60%;
    padding-top: 400px;
    overflow: hidden;
    box-shadow: 2px 2px 10px rgb(0 0 0 / 10%);
    position: relative;
}
.p-point_mv .row-img img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: 50% 0;
    position: absolute;
    left: 0;
    top: 0;
}
.p-point_mv .row-text {
    width: 40%;
    padding: 60px 0 0 5%;
    position: relative;
}
.p-point_mv .row-text h2 {
    position: relative;
    font-size: 3.5rem;
    line-height: 1.4;
    letter-spacing: .05em;
}
.p-point_mv .row-text h2 span {
    display: block;
    position: absolute;
    bottom: -46px;
    background: #003b87;
    padding: 5px 14px;
    border-radius: 17px;
    font-size: 1.6rem;
    color: #fff;
}
.p-point_mv .row-text .c-box_read {
    position: absolute;
    bottom: 0;
}
.p-point_content > h2 {
    margin: 60px 0 24px;
    font-size: 2.2rem;
    border-left: 8px solid #ced6e8;
    padding-left: 0.7em;
    color: #003b87;
    font-weight: bold;
    position: relative;
    line-height: 1;
}
.p-point_content > h2:first-child {
    margin-top: 0;
}
.p-point_content p {
    font-size: 1.5rem;
    line-height: 1.8;
}
.p-point_content > figure {
    margin: 20px 0;
}
.p-point_content > figure.-div2,
.p-point_content > figure.-div3 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.p-point_content > figure.-div2 img {
    width: calc((100% - 10px) / 2);
}
.p-point_content > figure.-div3 img {
    width: calc((100% - (10px * 2)) / 3);
}
.p-point_content > figure img {
    max-width: 100%;
}
.p-point_content .-flex {
    display: flex;
    justify-content: space-between;
}
.p-point_content .-flex > div {
    width: calc((100% - 48px) / 2);
}
.p-point_content .-flex h2 {
    margin: 60px 0 24px;
    font-size: 2.2rem;
    border-left: 8px solid #ced6e8;
    padding-left: 0.7em;
    color: #003b87;
    font-weight: bold;
    position: relative;
    line-height: 1;
}
.p-point_content .-flex figure {
    margin: 0 0 16px;
}
.p-point_content .-flex figure img {
    max-width: 100%;
}
.w-check_list {
    margin: 20px 0;
    padding: 20px;
    background: #f6f6f6;
}
.p-check_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.c-check_item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: calc((100% - 4px) / 2);
    margin-bottom: 4px;
    padding: 24px;
    background: #fff;
}
.c-check_item figure {
    width: 165px;
    margin: 0;
}
.c-check_item figure img {
    max-width: 100%;
    border-radius: 8px;
}
.c-check_item dl {
    width: calc(100% - 165px - 24px);
}
.c-check_item dt {
    margin-bottom: 12px;
    font-size: 1.6rem;
    font-weight: bold;
}
.c-check_item dd {
    font-size: 1.4rem;
    line-height: 1.5;
}
.p-check_note {
    margin-top: 16px;
}
.p-check_note > li {
    position: relative;
    margin-bottom: .4em;
    padding-left: 1.2em;
    font-size: 1.2rem;
    margin-bottom: .4em;
    line-height: 1.4;
}
.p-check_note > li::before {
    position: absolute;
    top: 0;
    left: 0;
    content: '※';
}
.p-check_note > li:last-child {
    margin-bottom: 0;
}
.p-point_reason {
    margin-top: 80px;
    padding: 0 40px 40px;
    background: #eef4fb;
}
.p-point_reason h2 {
    position: relative;
    top: -16px;
    margin-bottom: 8px;
    text-align: center;
}
.p-point_reason h2 span {
    display: inline-block;
    padding: 12px 28px;
    border-radius: 28px;
    background: #003b87;
    color: #fff;
    font-size: 2.2rem;
    letter-spacing: .04em;
}
.p-point_reason p {
    margin-bottom: .8em;
    text-align: center;
}
.p-reason_list {
    display: flex;
    justify-content: space-between;
    margin-top: 40px;
}
.c-reason_item {
    width: calc((100% - 10px) / 2);
    padding: 24px 32px 28px;
    border-radius: 8px;
    background: #fff;
}
.c-reason_item dt {
    margin-bottom: 20px;
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
}
.c-reason_item dd {
    font-size: 1.4rem;
    line-height: 1.5;
}
.c-reason_item dd img {
    display: block;
    border: 1px solid #ddd;
    max-width: 100%;
    margin-bottom: 10px;
}
.c-reason_item dd a {
    display: block;
    margin-top: 16px;
    padding: 10px 40px 10px 16px;
    border-radius: 4px;
    text-decoration: none;
    background: #26a4aa url(/common/img/ico_arrow_right.svg) center right 16px /12px 12px no-repeat;
    font-size: 1.6rem;
    color: #fff;
    line-height: 1.3;
}
.p-point_links {
    display: flex;
    justify-content: space-between;
    margin-top: 80px;
}
.c-links_item {
    width: calc((100% - 24px) / 2);
}
.c-links_item a {
    display: block;
    padding: 24px 32px 24px 96px;
    border-radius: 8px;
    font-size: 1.6rem;
    line-height: 1.4;
    text-decoration: none;
}
.c-links_item a[href="point_1.html"] {
    background: #e7f2f7 url(/process/guide/img/ico_guide_point_1.png) center left 32px /40px 40px no-repeat;
}
.c-links_item a[href="point_2.html"] {
    background: #e5f7f5 url(/process/guide/img/ico_guide_point_2.png) center left 32px /40px 40px no-repeat;
}
.c-links_item a span {
    display: block;
    padding-right: 32px;
    background: url(/common/img/ico_arrow_b.svg) center right /16px auto no-repeat;
}
@media only screen and (max-width: 1300px) {
    .p-point_mv::after {
        width: calc(100vw - (18px + 1.9%));
    }
}
@media only screen and (max-width: 1120px) {
    .c-useful_item h3 {
        font-size: 1.8rem;
    }
    .c-goods_item {
        width: 44%;
    }
    .c-goods_item figcaption {
        font-size: 1.4rem;
    }
    .p-point_mv::after {
        left: -5%;
        width: calc(100vw - 21px);
    }
    .p-point_mv .row-text {
        padding: 40px 0 0 5%;
    }
}
@media only screen and (max-width: 900px) {
    .p-guide_title {
        margin: -15px 0 60px;
        padding: 80px 0;
    }
    .p-guide_title h2 {
        margin-bottom: 2rem;
        font-size: 2.4rem;
    }
    .p-guide_title p {
        font-size: 1.5rem;
    }
    .p-guide_intro {
        margin-bottom: 60px;
        font-size: 1.5rem;
    }
    .p-guide_intro strong span::before {
        bottom: 6px;
        height: 7px;
    }
    .c-point_item a {
        padding: 20px;
    }
    .c-point_item a figcaption {
        font-size: 1.5rem;
    }
    .p-guide_useful {
        display: block;
        margin-bottom: 60px;
    }
    .c-useful_item {
        margin-bottom: 10px;
        width: 100%;
    }
    .p-time_figure figcaption {
        font-size: 1.4rem;
    }
    .c-useful_item h3 {
        margin-bottom: 20px;
    }
    .c-goods_item {
        max-width: 140px;
    }
    .p-useful_clothes figcaption {
        font-size: 1.4rem;
    }
    .p-guide_message {
        margin-bottom: 60px;
    }
    .p-guide_message h2 {
        font-size: 2rem;
    }
    .p-guide_message p {
        font-size: 1.5rem;
    }
    .p-guide_merit {
        margin-bottom: 60px;
    }
    .p-guide_merit h2 {
        font-size: 2.4rem;
    }
    .p-guide_merit h2 span {
        padding: 0 18px 0 20px;
    }
    .p-guide_merit h2 span::before,
    .p-guide_merit h2 span::after {
        height: 24px;
    }
    .c-merit_item figure {
        width: 40%;
    }
    .c-merit_item > div {
        width: 60%;
    }
    .p-guide_flow h2 {
        font-size: 2.4rem;
    }
    .p-guide_flow h2 span {
        padding: 0 18px 0 20px;
    }
    .p-guide_flow h2 span::before,
    .p-guide_flow h2 span::after {
        height: 24px;
    }
    .p-flow_list::before {
        left: 64px;
    }
    .c-flow_item {
        padding: 20px;
    }
    .c-flow_item dt {
        width: 180px;
        padding-left: 58px;
        padding-right: 24px;
        font-size: 1.4rem;
        line-height: 1.4;
    }
    .c-flow_item dd {
        width: calc(100% - 180px);
    }
    .c-flow_item p {
        width: calc(100% - (140px + 20px));
    }
    .c-flow_item figure {
        width: 140px;
    }
    .c-check_item {
        width: 100%;
    }
    .p-point_reason h2 span {
        padding: 10px 24px;
        font-size: 2rem;
    }
    .p-point_reason {
        padding: 0 20px 40px;
    }
    .c-reason_item {
        padding: 24px 20px 20px;
    }
    .c-reason_item dt {
        font-size: 1.6rem;
    }
    .p-point_content > .-flex {
        display: block;
    }
    .p-point_content > .-flex > div {
        width: 100%;
    }
    .c-links_item {
        width: calc((100% - 12px) / 2);
    }
}
@media only screen and (max-width: 600px) {
    .p-guide_title {
        margin-bottom: 48px;
        padding: 60px 0;
    }
    .p-guide_title h2 {
        font-size: 2rem;
    }
    .p-guide_title p {
        font-size: 1.4rem;
    }
    .p-guide_title p br.-sp {
        display: inherit;
    }
    .p-guide_intro br.-sp {
        display: inherit;
    }
    .p-guide_intro {
        margin-bottom: 48px;
        font-size: 1.4rem;
    }
    .p-guide_point {
        padding: 30px 0 70px;
    }
    .c-point_item a figure {
        margin: 0;
    }
    .c-point_item a img {
        width: 80px;
        margin-bottom: 6px;
    }
    .c-point_item a figcaption {
        padding-bottom: 42px;
        font-size: 1.3rem;
    }
    .c-point_item a figcaption span {
        bottom: 0;
        margin-left: -17px;
        width: 34px;
        height: 34px;
    }
    .c-point_item a figcaption span::before {
        width: 10px;
        height: 10px;
    }
    .c-point_item a figcaption span::after {
        width: 12px;
    }
    .p-guide_useful {
        margin-bottom: 48px;
    }
    .c-useful_item {
        padding: 24px 0 28px;
    }
    .c-useful_item h3 {
        font-size: 1.6rem;
    }
    .p-time_figure img {
        margin-bottom: 4px;
    }
    .c-goods_item {
        width: 40%;
    }
    .p-useful_clothes {
        padding-top: 40px;
    }
    .p-useful_clothes::before {
        width: 160px;
        height: 160px;
        margin-left: -80px;
    }
    .p-useful_clothes img {
        width: 120px;
    }
    .p-guide_message {
        margin-bottom: 48px;
    }
    .p-guide_merit {
        margin-bottom: 48px;
    }
    .p-guide_merit h2 {
        font-size: 2rem;
    }
    .p-guide_merit h2 span {
        padding: 0 16px 0 18px;
    }
    .p-guide_merit h2 span::before,
    .p-guide_merit h2 span::after {
        width: 2px;
        height: 22px;
        border-radius: 1px;
    }
    .p-guide_message h2 {
        margin-bottom: 20px;
    }
    .p-guide_message p {
        line-height: 1.8;
        text-align: left;
    }
    .p-merit_list {
        position: relative;
        left: -5vw;
        width: 100vw;
    }
    .c-merit_item {
        display: block;
    }
    .c-merit_item figure {
        width: 100%;
    }
    .c-merit_item > div {
        width: 100%;
        padding: 20px;
    }
    .c-merit_item > div h3 {
        margin-bottom: 12px;
        font-size: 1.5rem;
    }
    .c-merit_item > div p {
        font-size: 1.3rem;
    }
    .c-merit_item > div ul > li {
        font-size: 1.3rem;
    }
    .c-merit_item > div ul > li::before {
        top: 7px;
    }
    .p-guide_flow h2 {
        font-size: 2rem;
    }
    .p-guide_flow h2 span {
        padding: 0 16px 0 18px;
    }
    .p-guide_flow h2 span::before,
    .p-guide_flow h2 span::after {
        width: 2px;
        height: 22px;
        border-radius: 1px;
    }
    .p-flow_list {
        position: relative;
        left: -5vw;
        width: 100vw;
    }
    .p-flow_list::before {
        left: 52px;
    }
    .c-flow_item {
        padding: 28px 20px 20px;
    }
    .c-flow_item:first-child::before,
    .c-flow_item:last-child::before {
        left: 12px;
        width: 44px;
    }
    .c-flow_item:first-child::before {
        height: 28px;
    }
    .c-flow_item:last-child::before {
        height: calc(100% - 28px);
    }
    .c-flow_item dl {
        display: block;
    }
    .c-flow_item dt {
        width: 100%;
        margin-bottom: 16px;
        padding: 0 0 0 42px;
        font-size: 1.5rem;
    }
    .c-flow_item dt span {
        left: -10px;
        width: 44px;
        height: 44px;
        font-size: 1rem;
    }
    .c-flow_item dt span strong {
        font-size: 1.4rem;
    }
    .c-flow_item dd {
        width: 100%;
        padding-left: 40px;
        border-left: none;
        flex-wrap: wrap;
        flex-direction: column-reverse;
    }
    .c-flow_item p {
        width: 100%;
    }
    .c-flow_item figure {
        width: 100%;
        margin: 0 0 12px;
    }
    .p-point_intro {
        padding-right: calc(24vw + 20px);
        font-size: 1.4rem;
        line-height: 1.4;
    }
    .p-point_intro::after {
        width: 24vw;
        height: 24vw;
        padding-top: 15vw;
        border-radius: 50%;
        background: top 4vw center /10vw 10vw no-repeat;
        font-size: 1.8vw;
        line-height: 1.2;
    }
    .p-point_mv {
        flex-direction: column;
        padding-bottom: 20px;
        margin-bottom: 40px;
    }
    .p-point_mv::after {
        left: -5%;
        width: 100vw;
    }
    .p-point_mv .row-img {
        width: 100%;
        padding-top: 300px;
        box-shadow: 2px 2px 10px rgb(0 0 0 / 10%);
    }
    .p-point_mv .row-text {
        width: 100%;
        padding: 25px 5% 20px;
    }
    .p-point_mv .row-text h2 {
        font-size: 2rem;
        line-height: 1.2;
        margin-bottom: 20px;
    }
    .p-point_mv .row-text h2 span {
        top: 0;
        bottom: 0;
        right: 0;
        margin: auto;
        height: 32px;
        line-height: 32px;
        padding: 0 14px;
    }
    .p-point_mv .row-text .c-box_read {
        position: initial;
    }
    .p-point_content > h2 {
        font-size: 1.8rem;
        margin: 40px 0 20px;
        border-left: 5px solid #ced6e8;
        padding-left: 0.5em;
    }
    .p-point_content p {
        font-size: 1.4rem;
    }
    .p-point_content > figure.-div2 img,
    .p-point_content > figure.-div3 img {
        width: 100%;
        margin-bottom: 10px;
    }
    .p-point_content > figure.-div2 img:last-child
    .p-point_content > figure.-div3 img:last-child {
        margin-bottom: 0;
    }
    .p-point_content .-flex {
        display: block;
    }
    .p-point_content .-flex > div {
        width: 100%;
    }
    .p-point_content .-flex h2 {
        font-size: 1.8rem;
        margin: 40px 0 20px;
        border-left: 5px solid #ced6e8;
        padding-left: 0.5em;
    }
    .w-check_list {
        position: relative;
        left: -5vw;
        width: 100vw;
    }
    .c-check_item {
        padding: 20px;
    }
    .c-check_item figure {
        width: 120px;
    }
    .c-check_item dl {
        width: calc(100% - 120px - 20px);
    }
    .c-check_item dt {
        margin-bottom: 8px;
        font-size: 1.4rem;
    }
    .c-check_item dd {
        font-size: 1.2rem;
    }
    .p-point_reason {
        padding: 0 20px 32px;
    }
    .p-point_reason h2 {
        top: -18px;
        margin-bottom: 0;
    }
    .p-point_reason h2 span {
        padding: 10px 20px;
        font-size: 1.6rem;
    }
    .p-point_content p {
        text-align: left;
    }
    .p-reason_list {
        display: block;
        margin-top: 20px;
    }
    .c-reason_item {
        width: 100%;
        margin-bottom: 10px;
    }
    .c-reason_item:last-child {
        margin-bottom: 0;
    }
    .c-reason_item dt {
        font-size: 1.4rem;
    }
    .c-reason_item dd {
        font-size: 1.2rem;
    }
    .c-reason_item dd a {
        font-size: 1.4rem;
    }
    .p-point_links {
        display: block;
        margin-top: 60px;
    }
    .c-links_item {
        width: 100%;
        margin-bottom: 12px;
    }
    .c-links_item:last-child {
        margin-bottom: 0;
    }
    .c-links_item a {
        padding: 20px 20px 20px 60px;
        border-radius: 4px;
        font-size: 1.4rem;
        background-size: 28px 28px!important;
        background-position: center left 20px!important;
    }
    .c-links_item a span {
        background-size: 12px auto;
    }
    .c-links_item a br {
        display: none;
    }
}

/* アフターサービス */
.p-after_content .hl-concept {
    margin: 40px 0 64px;
}
.p-after_content .hl-concept br.-sp {
    display: none;
}
.p-after_content .hl-content_large {
    line-height: 1.4;
}
.p-after_content > h3 {
    margin: 40px 0 22px;
    font-size: 2rem;
    line-height: 1.4;
}
.p-after_content > p {
    margin-bottom: .8em;
    font-size: 1.6rem;
    line-height: 1.8;
}
.box-after {
    padding: 32px 40px;
    background: #f6f6f6;
}
.box-after h4 {
    margin-bottom: 20px;
    font-size: 1.8rem;
    line-height: 1.3;
}
.p-after_list {
    padding-left: 2em;
}
.p-after_list > li {
    margin-bottom: .8em;
    font-size: 1.6rem;
    list-style: disc;
    line-height: 1.4;
}
.p-after_list > li:last-child {
    margin-bottom: 0;
}
.p-after_content a[target="_blank"] {
    display: inline-block;
    padding-right: 20px;
    border-bottom: 1px solid;
    background: url(/common/img/ico_blank.svg) center right /14px 14px no-repeat;
    text-decoration: none;
}
@media only screen and (max-width: 600px) {
    .p-after_content .hl-concept {
        margin: 32px 0 48px;
    }
    .p-after_content .hl-concept br.-sp {
        display: inherit;
    }
    .box-after {
        padding: 28px 24px;
    }
}