@charset "utf-8";
@import url("../font/load.css");


/* CSS Document */

body {
    min-width: 1280px;
    max-width: 1920px;
    margin: 0 auto;
    font-size: 1.6rem;
    line-height: 1.5;
    color: #56362a;
    font-family: 'Noto Serif JP', serif;
    background: #fcedee;
    letter-spacing: 0.1em;
}


/*========================================
ここからheaderの設定
==========================================*/

.h_fixed {
    position: fixed;
    top: 0;
    left: 0;
    background: #fceced;
    z-index: 50;
    width: 100%;
}

.h_boxs h1 {
    font-size: 1.2rem;
    color: #a0a0a0;
    margin-bottom: 5px;
}

.h_top_space {
    margin-bottom: 10px;
}

.h_ads {
    align-items: flex-end;
}

.h_ads_gp {
    line-height: 1;
    margin-right: 10px;
}

.h_ads_gp p {
    font-size: 1.4rem;
    text-align: right;
    margin-bottom: 5px;
}

.ads_tel {
    font-weight: 600;
    font-size: 2.4rem;
}

.ads_tel span {
    font-size: 1.8rem;
}

.sns_btn {
    font-size: 1.2rem;
    color: #1949a4;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    border: 1px solid;
    width: 165px;
    height: 28px;
    transition: .5s;
}

.sns_btn:hover {
    box-shadow: 0 0 3px #1949a4 inset;
}

.line_sns {
    color: #08ac0c;
    margin-left: 5px;
}

.line_sns:hover {
    box-shadow: 0 0 3px #08ac0c inset;
}

.h_nav {
    padding-bottom: 10px;
}

.h_nav_space li {
    position: relative;
}

.h_nav_space li:not(:last-child)::before {
    content: '';
    position: absolute;
    top: 3px;
    right: 0;
    transform: rotate(20deg);
    transition: 0s;
    height: 25px;
    border-right: 1px solid #a6885b;
}

.h_nav_space li a {
    display: block;
    width: 100%;
    height: 100%;
    text-align: center;
    transition: .5s;
}

.h_nav_space li a:hover {
    transform: translateY(-5px);
}

.h_nav_space li:not(:last-child) a {
    padding-right: 47px;
}

.h_nav_space li:not(:first-child) a {
    padding-left: 47px;
}


/*========================================
ここからfooterの設定
==========================================*/

.fixed2{
  position: fixed;
  z-index: 8;
  right: -450px;
  bottom: 100px;
  visibility: visible;
  opacity: 1;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.fixed2:hover{
    right: 0;
}

footer {
    background: url(../images/top/f_bg.png) no-repeat center / cover;
    padding: 25px 0 0;
}

.f_top {
    text-align: center;
}

.f_area_space {
    margin-bottom: 40px;
}

.f_ads_in:not(:last-child) {
    margin-bottom: 30px;
}

.f_nav li a {
    display: block;
    text-align: right;
    width: 150px;
    border-bottom: 1px dotted #a6a6a6;
    padding: 7px 0;
}

#copyright {
    font-size: 1.2rem;
    text-align: center;
    padding-bottom: 15px;
}


/*========================================
ここからメインビジュアルの設定
==========================================*/

.main_visual {
    position: relative;
    margin-top: 125px;
}

.main_visual .slider {
    height: 800px;
}

.main_visual .slider img {
    width: 100%;
    height: 800px;
    object-fit: cover;
}

.main_visual h2 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 20;
}

/*.main_visual h2{
font-size: 2.7rem;
color: #fff;
position: absolute;
top: 80%;
left: 50%;
transform: translate(-50%, -50%);
z-index: 20;
text-shadow:#fff 2px 0px 10px, #4e4232 -2px 0px 10px,
#4e4232 0px -2px 10px;
font-weight: 300;
}
.main_visual h23 span{
display: block;
}*/

/*========================================
ここからTOPメイン領域の設定
==========================================*/

/*greeting*/

.top_greeting {
    background: url(../images/top/top_greeting_bg.png) no-repeat center / cover;
    padding: 190px 0 185px;
}

.top_greeting_in {
    max-width: 830px;
    width: 100%;
    margin: 0 auto;
    background: url(../images/top/top_greeting_in_item01.png) no-repeat top left,        url(../images/top/top_greeting_in_item02.png) no-repeat top right,        url(../images/top/top_greeting_in_item03.png) no-repeat bottom left,        url(../images/top/top_greeting_in_item04.png) no-repeat bottom right,#e3d5d8;
    padding: 50px 95px 60px;
}

/*coaching*/

.top_coaching_boxs {
    padding: 70px 0;
}

.top_coaching {
    background: url(../images/top/top_coaching_bg.png) no-repeat center / cover;
    padding:
}

.top_coaching {
    text-align: center;
}

.top_coaching_txt {
    max-width: 580px;
    width: 100%;
    margin: 0 auto 40px;
}

.top_coaching_txt p {
    margin-bottom: 24px;
}

.top_coaching_subttl {
    position: relative;
    max-width: 625px;
    width: 100%;
    margin: 0 auto;
}

.top_coaching_subttl::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: 0s;
    width: 103px;
    height: 143px;
    background: url(../images/top/top_coaching_subttl_item.png) no-repeat center;
}

.top_coaching_subttl p {
    font-size: 2.4rem;
    padding: 45px 0;
    width: 280px;
    background: url(../images/top/top_coaching_subttl_bg01.png) no-repeat center top,
        url(../images/top/top_coaching_subttl_bg02.png) no-repeat center bottom;
    letter-spacing: 0.2em;
    z-index: 20;
}

/*seminar*/

.top_seminar {
    background: url(../images/top/top_seminar_bg.png) no-repeat center / cover;
}

.top_seminar_boxs {
    padding: 70px 0 50px;
}

.top_seminar_in {
    max-width: 540px;
    width: 100%;
    padding-left: 25px;
    margin-top: -60px;
}

.top_seminar_gp {
    background: url(../images/top/top_seminar_gp_bg.png) no-repeat center;
    width: 369px;
    height: 292px;
    text-align: center;
    padding: 60px 0 0;
    margin: 0 auto 20px;
}

.top_seminar_gp h4 {
    font-size: 2.4rem;
    margin-bottom: 30px;
}

.top_seminar_in_txt {
    margin-bottom: 50px;
}

.top_seminar_in_txt p:not(:last-child) {
    margin-bottom: 24px;
}

.top_seminar_recommendation {
    background: url(../images/top/recommendation_item01.png) no-repeat left top,
        url(../images/top/recommendation_item02.png) no-repeat right top,
        url(../images/top/recommendation_item03.png) no-repeat left bottom,
        url(../images/top/recommendation_item04.png) no-repeat right bottom;
    padding: 30px 25px 35px;
}

.top_seminar_recommendation h4 {
    font-size: 2.2rem;
    text-align: center;
    margin-bottom: 25px;
}

/*description*/

.top_description {
    background: #f9e8e9;
}

.top_description_boxs {
    padding: 110px 0;
}

.top_description_in {
    position: relative;
    max-width: 530px;
    width: 100%;
    letter-spacing: 0.05em;
}

.top_example::before {
    content: '';
    position: absolute;
    top: -30px;
    right: -26px;
    transition: 0s;
    width: 34px;
    height: 440px;
    background: url(../images/top/top_example_item.png) no-repeat center;
}


.top_example_pt {
    margin-bottom: 30px;
}

.top_voice .cmn_ttl {
    margin-bottom: 50px;
}

.top_coach_representative_gp {
    max-width: 500px;
    width: 100%;
    padding-left: 55px;
}

.top_coach_representative_gp h4 {
    line-height: 1;
    margin-bottom: 25px;
}

.top_coach_representative_gp h4 span {
    display: block;
    margin-top: 5px;
    font-size: 2.2rem;
}

/*coach*/

.top_coach {
    background: #fbf3f2;
}

.top_coach_boxs {
    padding: 50px 0 90px;
}

.top_coach_representative {
    margin-bottom: 20px;
}

.top_career_gp {
    max-width: 540px;
    width: 100%;
    margin-top: 55px;
}

.top_career_gp h4 {
    position: relative;
    font-size: 2.2rem;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
    margin-bottom: 10px;
}

.top_career_gp h4::before {
    display: block;
    content: url(../images/top/top_career_item01.png);
    margin-right: 15px;
}

.top_career_gp h4::after {
    display: block;
    content: url(../images/top/top_career_item02.png);
    margin-left: 15px;
}

.top_career_txt {
    display: flex;
}

.top_career_txt dt,
.top_career_txt dd {
    padding: 15px 0;
}

.top_career_txt dt {
    width: 80px;
    padding-left: 15px;
}

.top_career_txt dd {
    width: calc(100% - 90px);
    padding-left: 10px;
}

.top_career_txt dd p:not(:last-child) {
    margin-bottom: 24px;
}

.top_career_txt:nth-child(even) {
    background: #f2dcdd;
}

.top_career_link {
    max-width: 510px;
    width: 100%;
}

.top_career_link a {
    display: block;
}

.top_career_link a:not(:last-child) {
    margin-bottom: 15px;
}

/*info*/

.top_info {
    background: url(../images/top/top_info_bg.png) no-repeat center / cover;
    padding: 70px 0 65px;
}

.top_info_boxs {
    position: relative;
}

.top_info_list {
    margin-bottom: 30px;
}

.top_info_list li:not(:last-child) {
    margin-bottom: 15px;
}

.top_info_list_flex {
    position: relative;
    background: #fff;
    padding: 20px;
}

.top_info_list_flex::before {
    content: '';
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    transition: .5s;
    width: 24px;
    height: 7px;
    background: url(../images/top/arow.png) no-repeat center;
}

.top_info_list_flex:hover::before {
    right: 10px;
}

.top_info_list time {
    display: block;
    margin-right: 15px;
    color: #b0946a;
}

.info_tag {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #18499d;
    border: 1px solid;
    width: 95px;
    height: 26px;
    margin-right: 15px;
}

.top_info_list h4 {
    max-width: 755px;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.top_info_btn {
    position: absolute;
    top: 0;
    right: 0;
    color: #ae284a;
    background: #e5bdbf;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 210px;
    height: 54px;
    border: 1px solid #e5bdbf;
    transition: .5s;
}

.top_info_btn:hover {
    border-color: #ae284a;
    background: #ae284a;
    color: #e5bdbf;
}

.ameba_btn {
    max-width: 423px;
    display: block;
    margin: 0 auto;
}

/*contact*/

.top_contact_boxs {
    padding: 60px 0;
}



/*お知らせ一覧*/

.sub_main_visual {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 125px;
    background: url(../images/top/slide01.png) no-repeat center top / cover;
    height: 400px;
}

.sub_main_visual h2 {
    font-size: 5.0rem;
    background: rgba(255, 255, 255, .8);
    padding: 0 30px;
}















/*========================================
ここからnewsの設定
==========================================*/

.news_list li:not(:last-child) {
    margin-bottom: 30px;
}

.news_list li a {
    justify-content: flex-start;
    border: 1px solid;
    padding: 10px;
}

.news_list li time {
    display: inline-block;
    margin-right: 20px;
}

.news_txt {
    width: calc(100% - 150px);
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}


.news_area_inner h3 {
    font-size: 2.3rem;
    border-bottom: 1px solid;
    margin-bottom: 20px;
}

.news_area_txt img {
    max-width: 100%;
    height: auto;
}

.news_inner_time {
    font-size: 1.4rem;
    margin-bottom: 20px;
}

.news_area_txt {
    margin-bottom: 60px;
}

.paginated-link {
    position: relative;
}

.paginated-link a {
    display: block;
}

.prev-link {
    float: left;
}

.next-link {
    float: right;
}

.back-link {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.back-link::before,
.back-link::after {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 25px;
    background: #000;
}

.back-link::before {
    left: -20px;
}

.back-link::after {
    right: -20px;
}

/*========================================
ここからprivacyの設定
==========================================*/

.privacy_boxs h4 {
    font-size: 2.3rem;
    font-weight: bold;
    margin-bottom: 15px;
}

.privacy_boxs section {
    margin-bottom: 30px;
}

/*========================================
ここからsiteの設定
==========================================*/

.site_list a {
    position: relative;
    display: block;
    border-bottom: 1px solid;
    margin-bottom: 20px;
    padding: 7px 0 7px 30px;
}

.site_list a::before {
    content: '';
    position: absolute;
    top: 18px;
    left: 10px;
    width: 5px;
    height: 5px;
    border-right: 1px solid;
    border-bottom: 1px solid;
    transform: rotate(-45deg);
    transition: 0.5s;
}

.site_list a:hover::before {
    left: 20px;
}

@media screen and (max-width:767px) {

    body {
        min-width: 350px;
        font-size: 1.4rem;
        line-height: 1.6;
    }

    /*========================================
    ここからheaderの設定(SP)
    ==========================================*/

    .h_fixed {
        display: none;
    }

    /*========================================
    ここからfooterの設定(SP)
    ==========================================*/
    .fixed2{
        display: none;
    }

    .f_top {
        margin-bottom: 40px;
    }

    .f_nav {
        display: none;
    }

    /*========================================
    ここからメインビジュアルの設定(SP)
    ==========================================*/

    .main_visual {
        margin-top: 55px;
    }

    .main_visual h2 {
        width: 90%;
    }

    .main_visual .slider {
        height: 400px;
    }

    .main_visual .slider img {
        height: 400px;
    }



    /*========================================
    ここから全体メイン領域の設定(SP)
    ==========================================*/


    .top_greeting {
        padding: 60px 0;
    }

    .top_greeting_in {
        background: url(../images/top/top_greeting_in_item01.png) no-repeat top 10px left 10px / 50px,
            url(../images/top/top_greeting_in_item02.png) no-repeat top 10px right 10px / 50px,
            url(../images/top/top_greeting_in_item03.png) no-repeat bottom 10px left 10px / 50px, url(../images/top/top_greeting_in_item04.png) no-repeat bottom 10px right 10px / 50px, #fae9ea;
        padding: 50px 15px 80px;
    }

    .top_coaching_boxs {
        padding: 60px 0;
    }

    .top_coaching_txt {
        text-align: left;
    }

    .top_coaching_subttl {
        max-width: 350px;
    }

    .top_coaching_subttl p {
        font-size: 1.6rem;
        background-size: 140px;
        padding: 26px 0;
        width: 140px;
    }

    .top_coaching_subttl::before {
        background-size: contain;
        width: 55px;
        height: 70px;
    }

    .top_seminar_boxs {
        padding: 60px 0;
    }

    .top_seminar_gp {
        width: 300px;
        background-size: 305px;
        padding-top: 75px;
    }

    .top_seminar_gp h4 {
        font-size: 2.0rem;
        margin-bottom: 20px;
    }

    .top_seminar_recommendation h4 {
        font-size: 2.0rem;
    }

    .top_seminar_in {
        padding-left: 0;
        margin: 0 auto;
    }

    .top_seminar_recommendation {
        background-size: 50px;
        padding-left: 20px;
        padding-right: 20px;
    }

    .top_description_boxs {
        padding: 60px 0;
    }

    .top_description_boxs {
        flex-direction: column;
        align-items: center;
    }

    .top_description_in {
        padding: 30px 0 40px;
    }

    .top_example::before {
        top: auto;
        bottom: -15px;
        left: 50%;
        right: auto;
        width: 300px;
        height: 30px;
        transform: translateX(-50%);
        background: url(../images/top/top_example_item_sp.png) no-repeat center / contain;
    }

    .top_coach_boxs {
        padding: 60px 0;
    }

    .top_coach_representative_gp {
        padding-left: 0;
    }

    .top_coach_representative_gp h4 span {
        font-size: 1.8rem;
    }

    .top_coach_representative_gp {
        order: 2;
        margin: 0 auto 30px;
    }

    .top_coach_representative_img {
        width: 85%;
        margin: 0 auto 30px;
        text-align: center;
    }

    .top_career_gp {
        margin: 0 auto 60px;
    }

    .top_career_txt dt,
    .top_career_txt dd {
        padding: 10px 0;
    }

    .top_career_txt dt {
        padding-left: 10px;
    }

    .top_career_gp h4 {
        font-size: 2.0rem;
        margin-bottom: 30px;
    }

    .top_info {
        padding: 60px 0;
    }

    .top_info_btn {
        position: static;
        width: 230px;
        height: 45px;
        margin: 0 auto 60px;
    }

    .top_info_list_flex {
        padding: 10px;
    }

    .info_tag {
        font-size: 1.3rem;
        margin-right: 0;
        width: 80px;
        height: 25px;
    }

    .top_info_list h4 {
        width: 100%;
        margin-top: 10px;
    }

    .top_info_list_flex::before {
        background-size: contain;
        width: 20px;
        top: 36%;
    }

    .top_career_link {
        margin: 0 auto;
    }


    /*一覧ページのCSS*/

    .sub_main_visual {
        margin-top: 55px;
        height: 200px;
    }

    .sub_main_visual h2 {
        font-size: 3.0rem;
    }






    /*========================================
    ここからnewsの設定
    ==========================================*/

    .news_list li:not(:last-child) {
        margin-bottom: 25px;
    }

    .news_list li a {
        justify-content: flex-start;
        padding: 2%;
        font-size: 1.2rem;
    }

    .news_list li time {
        display: block;
        width: 100%;
        margin: initial;
    }


    .news_area_inner h3 {
        font-size: 2.0rem;
        margin-bottom: 15px;
    }

    .news_inner_time {
        font-size: 1.4rem;
        margin-bottom: 10px;
    }

    .news_area_txt {
        margin-bottom: 30px;
    }

    .news_txt {
        width: 100%;
        font-size: 1.5rem;
    }

    .back-link::before,
    .back-link::after {
        height: 20px;
    }


    /*========================================
    ここからprivacyの設定
    ==========================================*/

    .privacy_boxs h4 {
        font-size: 1.9rem;
        font-weight: bold;
        margin-bottom: 10px;
    }

    .privacy_boxs section {
        margin-bottom: 30px;
    }


    /*========================================
    ここからsiteの設定
    ==========================================*/

    .site_list a {
        position: relative;
        display: block;
        margin-bottom: 20px;
        padding: 7px 0 7px 30px;
    }

    .site_list a::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 10px;
        width: 5px;
        height: 5px;
        transform: translateY(-50%) rotate(-45deg);
        transition: All .5s;
    }

    .site_list a:hover::before {
        left: 20px;
    }

}
