@charset "utf-8";
/*-----------------------------------------------------------------------
    Header & Footer
------------------------------------------------------------------------*/
.page-title { min-height:560px; }

/* -----  Page Title Area ----------------------- */
/* Common */
.page-title.subpage-style {
    padding-bottom: 5em;
    background-image:none;
    background-color: #33668B;
}
    .subpage-style .page-title_inner {
        position: relative;
        margin: 3em 0;
    }
        .subpage-style .page-title_inner p {
            position: absolute;
            margin:auto;
            top:60%;
            left:50%;
            transform: translate(-50%, -40%);
            -webkit-transform: translate(-50%, -40%);
            -ms-transform: translate(-50%, -40%);
            color:#fff;
            text-align: center;
            font-size: 16px;
            line-height: 1.1em;
        }
        .subpage-style .page-title_inner p span { display: none; }
        .subpage-style .page-title_inner.style-other p { font-size: 30px; }
            .subpage-style .page-title_inner.style-other p span {
                display: block;
                font-size: 48px;
                font-weight: bold;
                line-height: 1.5em;
            }

    /* About Us */
    .page-title_inner.style-aboutus { background:url("../imgs/bg_aboutus.svg") no-repeat 50% 50%; }

    /* Product */
    .page-title_inner.style-products { background:url("../imgs/bg_products.svg") no-repeat 50% 50%; }

    /* Service */
    .page-title_inner.style-service { background:url("../imgs/bg_service.svg") no-repeat 50% 50%; }

    /* NEXIA */
    .page-title_inner.style-nexia { background:url("../imgs/bg_nexia.svg") no-repeat 50% 50%; }

    /* AGEHa */
    .page-title_inner.style-ageha { background:url("../imgs/bg_ageha.svg") no-repeat 50% 50%; }

    /* Support */
    .page-title_inner.style-support { background:url("../imgs/bg_support.svg") no-repeat 50% 50%; }
    
    /* Other Style */
    .substyle {
        width: 53%;
        margin-left: 0;
        padding: 0 0 4em 0;
        border-left:0;
        text-align: left;
    }
        .substyle::after { display: none; }
        .substyle h2 img { height:4em; }

        .substyle .page-explain { margin-top:2em; }
        .substyle .page-explain span { display: block; font-size: 1.6em; }

        .substyle-products {
            display: flex;
            justify-content: space-between;
            align-items: flex-end;
            width: 100%;
            margin-left: 0;
            margin-bottom: 10em;
            padding: 0;
            border-left:0;
            text-align: left;
        }
        .substyle-products::after { display: none; }
        .substyle-products h2 img { height:4em; }

    /* Text */
    .substyle-txt { width: calc(50% + 5em); margin-right:5em; }
    .substyle-txt .page-explain { margin-top:2em; }
    .substyle-txt .page-explain h3 { display: block; font-size: 1.4em; }

    /* IMG */
    .substyle-img { margin:1em auto 0; }

/* --- BreakPoint --- */
@media screen and (max-width:961px) {
    /* Product */
    .substyle-products {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        width: 100%;
        margin-left: 0;
        margin-bottom: 10em;
    }
    .substyle-txt { width: 100%; margin-right: 0; }
}
@media screen and (max-width:640px) {
    .page-title { min-height:450px; }

    .substyle-txt { width: 100%; }
    .page-title.subpage-style {
        padding-top: 2em;
        padding-bottom: 2em;
    }
    .subpage-style .page-title_inner.style-other p { font-size: 1.25em; }
        .subpage-style .page-title_inner.style-other p span {
            display: block;
            margin-top: .6em
        }
}
@media screen and (max-width:480px) {
    .subpage-style .page-title_inner.style-other p { font-size: 16px; line-height: 24px; }
        .subpage-style .page-title_inner.style-other p span {
            display: block;
            margin-top: .6em
            font-size: 32px;
        }
}
/*-----------------------------------------------------------------------
    Content Layout 
------------------------------------------------------------------------*/
/* ----- SubPage Layout ----- */
/* 白BOX + コンテンツセンター */
.subpage-style-basic__center {
    display: block;
    /*width:calc(100% - 8em);*/
    width:100%;
    margin:auto;
    padding: 5em 4em;
    text-align: center;
}
.subpage-style-basic__center .txt-area {
        width:90%;
        margin:auto;
    }
    .subpage-style-basic__center .style-basic__center-secbox {
        position: relative;
        width:100%;
        margin:auto;
        padding:4em 6em;
        background-color:#EBF0F3;
    }
    .style-basic__center-secbox__inner {
        margin:auto;
        padding:0 4em;
        text-align: center;
    }
        .style-basic__center-secbox h3 { margin-top:3em; }
        .style-basic__center-secbox h3:first-child { margin-top:0; }

        /* Subpage Column Layout */
        .style-basic__center-secbox__inner__flex { padding:0; }
        .style-basic__center-secbox__inner__flex-parents {
            display: flex;
            margin-top:3em;
            padding:0;
        }
            .style-basic__center-secbox__inner__flex-parents:first-child { margin-top:0; }
            .style-basic__center-secbox__inner__flex-parents h3 {
                display: flex;
                justify-content: space-between;
                align-items: center;
                width:auto;
                color:#33668B;
                font-size:clamp(1em, 1.6em, 2em);
                font-weight:500;
            }
                .style-basic__center-secbox__inner__flex h3:before,
                .style-basic__center-secbox__inner__flex h3:after { display:none; }
                .style-basic__center-secbox__inner__flex-txt {
                    width: 60%;
                    margin-right:3em;
                    text-align: left;
                }
                .style-basic__center-secbox__inner__flex-img { display: flex; }

            .style-basic__center-secbox__inner__flex-dl dl {
                display: flex;
                flex-direction: column;
                justify-content: center;
                align-items: center;
                width: 100%;
            }
                .style-basic__center-secbox__inner__flex-dl dt {
                    width: 100%;
                    padding:.5em 1em;
                    color:#fff;
                    text-align: center;
                    background-color:#33668B;
                }
                .style-basic__center-secbox__inner__flex-dl dd {
                    width: 100%;
                    margin:0;
                    padding:.5em 2em;
                    font-size: .9em;
                    text-align: left;
                    background-color:#fff;
                }
                .style-basic__center-secbox__inner__flex-dl dd ol,
                .style-basic__center-secbox__inner__flex-dl dd ol li { margin:0; padding:0 0 0 .5em; }

/* 白BOX + コンテンツ左寄 */
.subpage-style-basic {
    display: block;
    width:100%;
    margin:auto;
    padding: 5em 4em;
    text-align: left;
}
    .subpage-style-basic h2 { margin-top:3em; }
    .subpage-style-basic h2:first-child { margin-top:0; }

/* Common */
.list-box-2box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin:.5em;
    padding: 1em 1em 1em 2.5em;
    border:solid 1px #33668B;
    text-align: left;
}
.detail-box {
    display: inline-block;
    margin:1em auto;
    padding:2em 3em;
    text-align: left;
    border:solid 1px #33668B;
    background-color: #fff;
}
.detail-box-shift {
	position: relative;
	display: inline-block;
	margin:2em auto 1em;
	padding: 24px 72px 24px 48px;
	font-size: clamp(14px, 100%, 18px);
	background-color: #fff;
	text-align: left;
}
.detail-box-shift::after {
    content:"";
    position: absolute;
    top:-5px;
    left:-5px;
    display: inline-block;
    width: 100%;
    height: 100%;
    border:solid 2px #33668B;
}
.batch-columnbox {
    max-width: 640px;
    margin: 60px auto auto;
}
.batch-columnbox div:first-of-type { 
	padding-bottom: 16px;
}

/* Headline */
.h3-border-center {
    display: flex;
    align-items: center;
    width:auto;
    color:#33668B;
    font-size:1.6em;
    font-weight:500;
}
    .h3-border-center::before,
    .h3-border-center::after {
        content: "";
        height: 1px;
        flex-grow: 1;
        background-color: #B2B2B2;
    }
    .h3-border-center::before { margin-right: 1rem; }
    .h3-border-center::after { margin-left: 1rem; }

/* ----- Breack point ----- */
@media screen and (max-width:1000px) {
    .sec-contentsbox__inner { padding:0; }
}
@media screen and (max-width:961px) {
    .simplebox .txt-area { width: 85%; }
    .subpage-style-basic__center .style-basic__center-secbox { padding: 4em; }
}
@media screen and (max-width:961px) {
    .style-basic__center-secbox__inner { padding: 0 1em; }
}
@media screen and (max-width:769px) {
    .page-title.subpages .page-title_inner {
        height: 200px;
        margin:3em 0;
    }
    .container-title {
        width: calc(100% - 3.5em);
        min-width: 250px;
        margin-left: 0;
        padding: 4em 2em 2em 1.5em;
        border-left: 0;
    }
    .container-title.substyle-products {
        width: 100%;
        margin-bottom: 3em;
        padding-top:0;
    }
        .container-detail { width:auto; padding: 0 2em 4em 2em; }

        /* basic */
        .subpage-style-basic { padding: 4em 2em; }

        /* simple */
        .subpage-style-basic__center { padding: 5em 2em; }
        .subpage-style-basic__center .style-basic__center-secbox { padding: 3em 2em; }
        .style-basic__center-secbox__inner { padding: 0; }
        .style-basic__center-secbox__inner__flex-parents {
            flex-direction: column;
            justify-content: center;
            align-items: center;
        }
        .style-basic__center-secbox__inner__flex-txt {
            width: 100%;
            margin-right: 0;
            text-align: center;
        }
        .style-basic__center-secbox__inner__flex-parents h3 {
            display:block;
            margin:auto;
            text-align: center;
        }
        .list-box-2box { padding: 1em 1em 1em 2em; }

        .detail-box-shift {
            margin:2em auto 1em;
            padding: 24px 48px 24px 24px;
        }
        
}
@media screen and (max-width:640px) {
    /* Page Title */
    .page-title {
        min-height: 200px;
        background-position: 50% 20%;
        background-size: 60%;
    }
    .page-title_inner, .subpage-style .page-title_inner {
        display: block;
        width: 94%;
        max-height: 180px;
        margin: 0;

        height: 180px;
        background: url(../imgs/bg_other.svg) no-repeat 50% 30%;
        background-size: contain;
    }
    .page-title.subpages .page-title_inner {
        height: 200px;
        margin: 3em 0;
    }
    .subpage-style .page-title_inner p {
        top: 50%;
        width: 100%;
        font-size: 1.3em;
    }
    .subpage-style .page-title_inner p { font-size: 1.2em; }
        .subpage-style .page-title_inner p span {
            display: block;
            font-size: 1.7em;
            font-weight: 600;
            line-height: 1.3em;
        }

    /* content */
    .container-title { margin-bottom: 0; /*padding: 0 2em 2em 1.5em;*/ }
    .subpage-style-basic__center {
        padding: 5em 2em;
        text-align: center;
    }
    .subpage-style-basic__center .txt-area,
    .container-title, .container-detail { width:100%; }
    .detail-box { padding: 2em; }
}
@media screen and (max-width: 480px) {
    .subpage-style .page-title_inner p { font-size: 16px; line-height: 24px; }
    .subpage-style .page-title_inner p span { font-size: 32px; }
    /* content */
    .container-title { margin-bottom: 0; padding: 2em 2em 2.5em 1.5em; }
        .container-title::after {
            top: 2.5em;
            height: 5.5em;
        }
        .container-detail { padding: 0 2em; }
    
    .subpage-style-basic__center {
        width: 100%;
        padding: 2em 0;
    }
        .subpage-style-basic__center .style-basic__center-secbox {
            width: 100%;
            padding: 4em 2em;
        }
        .detail-box { padding: 1em; }
        .detail-box-shift { padding: 24px; }
    .subpage-style-basic { padding: 2em; }
    .subpage-style-basic__center .txt-area, .container-detail,
    /*-.style-basic__center-secbox__inner { text-align: left; }-*/

    .style-basic__center-secbox__inner__flex-parents h3 { font-size: clamp(1em, 4.7vw, 1em); }
}
/*-----------------------------------------------------------------------
    About Us
------------------------------------------------------------------------*/
.container-detail.dl-list dl { display: flex; }
    .container-detail.dl-list dl dt { min-width: 8em; }

.aboutus-profile { margin-top:1em; }
    .aboutus-profile__detail { display: flex; }
    .aboutus-profile__img {
        width:150px;
        height:150px;
        background: #ccc;
    }
        .aboutus-profile__img figure { margin:0; }
        .aboutus-profile__txt { width:67%; }

            .aboutus-profile__txt p {
                margin:0;
                padding-left:1.5em;
                font-size:.85em;
                line-height: 1.5em;
            }
            .aboutus-profile .name {
                padding: .5em 0 0 .5em;
                font-weight: bold;
                border-bottom: solid 1px #ccc;
            }

/* Partner List */
.contents-container:nth-of-type(even) + .partner {
    margin:0;
    background-color:#EBF0F3;
}
.partner-title {
    font-size:1.4em;
    font-weight:bold;
}
    .partner div#wpsm_team_2_b_row_77 {
        width: 90%;
        margin:2em auto 5em;
    }

    .wpsm_team_2_member_wrapper { border-radius: .5em; }
    .wpsm_team_2_mem_img { border-radius: .5em .5em 0 0; }
    #wpsm_team_2_b_row_77 .wpsm_team_2_member_wrapper_inner h3{ position: relative; }
    #wpsm_team_2_b_row_77 .wpsm_team_2_member_wrapper_inner h3::after {
        content: "";
        display: block;
        width: 2.5em;
        height: 2px;
        margin: .5em auto;
        border-bottom: solid 2px #33668B;
    }
    #wpsm_team_2_b_row_77 .wpsm_team_2_b_desc {
        padding: 0;
        margin: 0;
        text-align: left;
        line-height: 20px;
    }
    .wpsm-col-div { padding-right: 8px!important; padding-left: 8px!important; }

/* --- BreakPoint --- */
@media screen and (max-width:480px) {
    /* Corp Profile */
    .container-detail.dl-list dl { flex-direction: column; }
        .container-detail.dl-list dl dt {
            padding-bottom: .5em;
            font-weight: bold;
            border-bottom: dashed 1px #d6d6d6;
        }
        .container-detail.dl-list dl dd {
            margin-left: 0;
            padding: .5em 0 1em;
        }

    /* Profile */
    .aboutus-profile__detail { flex-direction: column; }
    .aboutus-profile__img {
        width: 200px;
        height: 200px;
        margin: auto;
    }
    .aboutus-profile__txt {
        width: 98%;
        margin: 2em auto 0;
    }
    .aboutus-profile__txt p { padding-left: 0; }
}

/*-----------------------------------------------------------------------
    Products
------------------------------------------------------------------------*/
.join-procedure { padding:40px 80px; }
.join-procedure__step-single { min-width:120px; }
.join-procedure__step-multi { min-width:120px; }

.price-box{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom:8px;
    border-bottom:solid 1px #33668B;
    font-size:1.5em;
    font-weight:normal;
}
    .price-box div { padding:0 0 0 16px; }
    .price-box p { margin-bottom:0; }
    .price {
        padding-right: 12px;
        font-size: 44px;
        font-weight: 600;
        letter-spacing: -0.08em;
    }
    .price-info { font-size: 16px; }

/* --- BreakPoint --- */
@media screen and (max-width:1024px) {
    .join-procedure { padding:32px 40px; }
    .price-box{ line-height: 1.2em; }
    .price { font-size: 36px; }
}
@media screen and (max-width:769px) {
    .join-procedure { padding: 32px 24px; }
    .join-procedure__step-single { padding-top:24px; }
    .price { font-size: 30px; }
    .price-info { font-size: 14px; }

    .join-procedure .bol-so1w { border-left: 0; }
}
@media screen and (max-width:480px) {
    .join-procedure__step-single, .join-procedure__step-multi { text-align: center; }
    .price-box{
        flex-direction:column;
        justify-content: center;
    }
    .price-box div { padding:0; }
    .price-en {
        display: block;
        font-size: 16px;
        text-align: center;
    }
}

/*-----------------------------------------------------------------------
    Ageha
------------------------------------------------------------------------*/
.bg_ageha { position: relative; width: 100%; }
.bg_ageha::before {
    content: "";
    display: block;
    width: 100%;
    height: 100px;
    position: absolute;
    top: -3.3em;
    background-image: url("../imgs/txt_about_ageha.svg");
    background-position: 50% 0%;
    background-repeat: no-repeat;
    background-size: 500px;
}
/* --- BreakPoint --- */
@media screen and (max-width:769px) {
    .bg_ageha::before {
        top: -3em;
        background-size: 440px;
    }
}
@media screen and (max-width:640px) {
    .bg_ageha::before {
        top: -2.6em;
        background-size: 380px;
    }
}
@media screen and (max-width:480px) {
    .bg_ageha::before {
        top: -2em;
        background-size: 300px;
    }
}
/*-----------------------------------------------------------------------
    NEXIA
------------------------------------------------------------------------*/
.bg_nexia { position: relative; width: 100%; }
.bg_nexia::before {
    content: "";
    display: block;
    width: 100%;
    height: 100px;
    position: absolute;
    top: -3.48em;
    background-image: url("../imgs/txt_about_nexia.svg");
    background-position: 50% 0%;
    background-repeat: no-repeat;
    background-size: 500px;
}
.nexia-top-img {
    max-width: 500px;
    max-height:297px;
}

/* --- BreakPoint --- */
@media screen and (max-width:769px) {
    .bg_nexia::before {
        top: -3.1em;
        background-size: 450px;
    }
}
@media screen and (max-width:640px) {
    .bg_nexia::before {
        top: -2.8em;
        background-size: 380px;
    }
    .nexia-top-img {
        width:100%;
        height:100%;
    }
}
@media screen and (max-width:480px) {
    .bg_nexia::before {
        top: -2em;
        background-size: 300px;
    }
}
/*-----------------------------------------------------------------------
    Service
------------------------------------------------------------------------*/
.service-name {
    margin:auto;
    color:#33668B;
    text-align: center;
    font-size: clamp(1em, 5.5vw, 1.5em);
}
    .service-name img {
        height:100px;
        margin-top:1em;
    }
    .service-explain {
        width:65%;
        margin:4em auto;
    }

/* --- BreakPoint --- */
@media screen and (max-width:769px) {
    .service-name img { height: auto; }
    .service-explain { width:82%; }
}
@media screen and (max-width:480px) {
    .service-name { padding:24px 16px; }
}
/*-----------------------------------------------------------------------
    Support
------------------------------------------------------------------------*/
.bg_support { position: relative; width: 100%; }
    .bg_support::before {
        content: "";
        display: block;
        width: 100%;
        height: 100px;
        position: absolute;
        top: -3.3em;
        background-image: url("../imgs/txt_about_support.svg");
        background-position: 50% 0%;
        background-repeat: no-repeat;
        background-size: 600px;
    }
.link__contact-form {
    margin:3em 0 0;
    padding:1em;
}
    .link__contact-form a:hover, .link__contact-form a:active{ color:#33668B; }

.support-info-box {
    display: inline-block;
    width: 75%;
    margin:5em auto 2em;
    padding:2em 4.5em;
    text-align: left;
    background-color:#fff;
}

/* Subpages Option Title */
.sec-contentsbox.bg_sup { margin-top:5em; }
    .sec-contentsbox.bg_sup::before {
        content: "";
        display: block;
        width: 80%;
        height: 100px;
        position: absolute;
        top: -3.5em;
        background-image: url("../imgs/txt_about_support.svg");
        background-position: 50% 0%;
        background-repeat: no-repeat;
        background-size: 65%;
    }
/* --- BreakPoint --- */
@media screen and (max-width:1025px) {
    .support-info-box {
        width: 85%;
        padding: 2em 4em;
    }
}
@media screen and (max-width:961px) {
    .bg_support::before {
        top: -3em;
        background-size: 480px;
    }
    .support-info-box {
        width: 90%;
        padding: 2em 3.2em;
    }
}
@media screen and (max-width:769px) {
    .bg_support::before { top: -3.1em; }
    .support-info-box {
        width: 100%;
        margin: 3em auto 2em;
        padding: 2em;
    }
}
@media screen and (max-width:640px) {
    .bg_support::before {
        top: -2.3em;
        background-size: 400px;
    }
    .support-info-box h4 {
        flex-direction: column;
        margin-top: 1em;
        text-align: center;
    }
    .support-info-box h4 div { margin-bottom: 1em; }
}
@media screen and (max-width:480px) {
    .bg_support::before {
        top: -2em;
        background-size: 320px;
    }
    .support-info-box {
        width: 100%;
        margin: 2em auto;
        padding: 2em;
    }
        /* .link__contact-form {
            margin: 0;
            padding: 1em;
        } */
        .but-br-box { width: 100%; }
}
/*-----------------------------------------------------------------------
    Other
------------------------------------------------------------------------*/
.page-title_inner.style-other {
    height:180px;
    margin: 3em 0;
    background:url("../imgs/bg_other.svg") no-repeat 50% 30%;
    background-size: contain;
}
.other_pages .subpage-style { min-height:auto; }
    .page-title .page-title_inner.style-other p { top:50%; }

@media screen and (max-width:640px) {
    .page-title_inner.style-other { height: 180px; margin: 0; }
}

/*-----------------------------------------------------------------------
    Contact
------------------------------------------------------------------------*/
.wpcf7 {
    margin-top:1em;
    padding:2em 3em;
    border-top: dashed 1px #d1d1d1;
}
form input, form textarea {
    font-family: 'HiraginoSans', 'Yu GothicPro','Yu Gothic',-apple-system, BlinkMacSystemFont, 'Open Sans', 'Helvetica Neue', sans-serif;
    padding:.7em;
    border:0;
    background-color:#e1e1e1;
}
form textarea { width:clamp( 300px, 40%, 90% ); }
    form input[type="submit"] {
        -webkit-appearance: none;
        padding:.7em 1.7em;
        color:#fff;
        font-weight:bold;
        background-color:#33668B;
        cursor: pointer;
    }
form input[type="submit"]:hover, form input[type="submit"]:active {
    -webkit-appearance: none;
    background-color:#244964;
}


/* --- BreakPoint --- */
@media screen and (max-width:769px) {
    .wpcf7 { padding: 1.5em 1em; }
}
@media screen and (max-width:480px) {
    .wpcf7 { padding: 0; }
    .wpcf7 form input {
        width: 100%;
        padding: .5em 1em;
    }
}
/*-----------------------------------------------------------------------
    Blog
------------------------------------------------------------------------*/
/* List Page */
.article {
    padding: 2em 0;
    border-top:solid 1px #d1d1d1;
}
.article:first-child { padding-top: 0; border-top:0; }
.article h2 { margin-bottom: .3em; }
.article-subinfo {
    display: flex;
    margin:1em 0;
    padding-top:1em;
    border-top:dashed 1px #d9d9d9;
    font-size: .8em;
}
    .article-subinfo .category ul {
        margin: 0;
        padding: 0;
    }
        .article-subinfo .category ul li {
            display: inline;
            list-style: none;
        }
/* Pagenation */
.pagenation { padding-top: 60px}
.pagenation a { padding:.2em .5em; }
.pagenation a.page-numbers {
    color:#fff;
    background-color: #33668B;
}
.pagenation a.page-numbers:hover, .pagenation a.page-numbers:active { background-color: #3e7ca9; }
.pagenation .next.page-numbers, .pagenation .prev.page-numbers { color:#33668B; background-color: transparent; }
.pagenation .next.page-numbers:hover, .pagenation .prev.page-numbers:hover,
.pagenation .next.page-numbers:active, .pagenation .prev.page-numbers:active {font-weight: bold; background-color: transparent; }

.pagenation .page-numbers.current {
    padding:.2em .3em;
    font-weight: bold;
}

/* Article Page -------------------------------------------------------------------------------------*/
.other_pages.blog .subpage-style-basic { padding: 3em 4em; }

/* title -------------------------------------------------------------------------------------*/
.blog-title--wrap h2 { margin-top:0; } 
.blog-title--wrap .blog-title--p { margin-bottom:0; }

/* Contents -------------------------------------------------------------------------------------*/
.blog-content {
        padding: 1em 0 2em;
        border-bottom: dashed 1px #d9d9d9;
    }

.background-color-gray{
	background-color: #F2F2F2;
	padding: 20px;
	margin-bottom: 32px;
}

.background-color-gray p{
	padding-bottom :0 ;
}
