@charset "utf-8";

/*webfont*/

/*
下層ページ用のスタイルです。
*/
img {
    width: 100%;
    max-width: 100%;
}


/* --------------- */
/* #intro */
/* --------------- */




/* --------------- */
/* #page_head */
/* --------------- */
#page_head {
    width: 100%;
    height: 300px;
    position: relative;
    display: flex;
    justify-content: space-between;
    background-image: url(./images/season/head_bg_repeat.png);
    background-position: center;
}

#page_head h1 {
    color: #fff;
    width: 100%;
    font-size: 2.125rem;
    font-weight: normal;
    text-align: center;
}

.lang_en #page_head h1 {
    font-weight: bold;
    font-family: "Quicksand", "M PLUS Rounded 1c", "游ゴシック体", "Yu Gothic", YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
}

#page_head h1 span {
    font-size: 1.1875rem;
    line-height: 1em;
    display: block;
    font-family: "Quicksand", "M PLUS Rounded 1c", "游ゴシック体", "Yu Gothic", YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
    font-weight: bold;
}

#page_head::before {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 0;
    transform: translate(-50%, 0);
    content: "";
    width: 100%;
    height: 300px;
    background-image: url(./images/season/head_obj.png);
    background-position: center;
    background-repeat: no-repeat;
}




/* --------------- */
/* para_obj */
/* --------------- */
.para_obj_content {
    z-index: 10;
}

.v_turn {
    transform: scale(-1, 1);
}


/* --------------- */
/* article */
/* --------------- */
article h2 {
    font-size: 2.625rem;
    font-family: "Quicksand", "M PLUS Rounded 1c", "游ゴシック体", "Yu Gothic", YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
    padding-top: 5.75rem;
    margin-bottom: 2.875rem;
}

article h2 span {
    display: block;
    font-size: 1rem;
    line-height: 1em;
}


/* ------------- */
/* .ribbon_title */
/* ------------- */
.ribbon_title {
    color: #fff;
    position: relative;
    padding: 0;
    margin: 0 auto;
}

.ribbon_title::before,
.ribbon_title::after {
    content: "";
    display: block;
    width: 0px;
    height: 0px;
    position: absolute;
    top: 0;
    z-index: 1;
    border-style: solid;
}

.ribbon_title::before {
    left: 0;
    border-color: transparent transparent transparent #fff;
}

.ribbon_title::after {
    right: 0;
    border-color: transparent #fff transparent transparent;
}


/* ----------- */
/* .btn_style */
/* ----------- */
.btn_style1,
.btn_style2 {
    color: #fff;
    display: inline-block;
    border-radius: 3px;
    border: 2px solid;
    transition: 0.3s ease;
}

.btn_style1 {
    background-color: #6fba2c !important;
    border-color: #6fba2c;
}

.btn_style2 {
    background-color: #000 !important;
    border-color: #000;
}

.btn_style1:hover {
    cursor: pointer;
    color: #6fba2c;
    background-color: #fff !important;
}

.btn_style2:hover {
    cursor: pointer;
    color: #000;
    background-color: #fff !important;
}

/* ----- */
/* slick */
/* ----- */
.slick-dots li {
    margin: 0 !important;
}


/* ---------- */
/* .detail_area */
/* ---------- */
.detail_area {
    text-align: left;
}

.detail_area h3.title_style01 {
    color: #6fba2c;
    font-size: 1.675rem;
    line-height: 2.25rem;
    margin-bottom: 2.5rem;
}

.detail_area h3.title_style01 span {
    color: #000;
    font-size: 16px;
    display: block;
}

.detail_area h3.title_style01 span::before {
    content: "";
    background-color: #000;
    display: block;
    width: 70px;
    height: 4px;
    margin-top: 1.625rem;
    margin-bottom: 1rem;
}

.detail_area p {
    color: #000;
    line-height: 2.375rem;
    margin-bottom: 1.125rem;
}

/* ---------- */
/* .image_area */
/* ---------- */
.image_area {
    text-align: center;
}


/* ---------- */
/* .left_detail */
/* ---------- */
.left_detail.content_wrap {
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
}

.left_detail.content_wrap .detail_area {
    width: 36.666%;
}


/* ---------- */
/* .right_detail */
/* ---------- */
.content_wrap.right_detail {
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
}

.content_wrap.right_detail .detail_area {
    width: 36.666%;
}




/* ----------------- */
/* .center_detail_01 */
/* ----------------- */
.center_detail_01.content_wrap {
    flex-wrap: nowrap;
}

.center_detail_01.content_wrap .detail_area p {
    color: #666;
    text-align: left;
}

.center_detail_01.content_wrap .detail_area h3 {
    color: #3d6492;
}



/* ----------------- */
/* .bg_obj_navy */
/* ----------------- */
.bg_obj_navy {
    position: relative;
}

.bg_obj_navy::before {
    content: "";
    display: block;
    background-color: rgba(61, 100, 150, 1);
    position: absolute;
    bottom: 0;
    left: 50%;
    z-index: -1;
    width: 1140px;
    height: 10rem;
    transform: translateX(-50%);
}


/* ----------------- */
/* .border_block */
/* ----------------- */
.border_block {
    position: relative;
}

.border_block::before {
    content: "";
    display: block;
    background-color: #000;
    position: absolute;
    left: 0;
    bottom: -1px;
    z-index: -1;
    width: 100%;
    height: 1px;
}

.border_block::after {
    content: "";
    display: block;
    background-color: #000;
    position: absolute;
    bottom: -3px;
    right: 0;
    z-index: -1;
    width: 24%;
    height: 2px;
}

.border_block.bo_opt_right::after {
    right: auto;
    left: 0;
}

.border_block.bo_opt_top::before {
    bottom: auto;
    top: -3px;
}

.border_block.bo_opt_top::after {
    bottom: auto;
    top: -2px;
}


/* ---------- */
/* .border_list */
/* ---------- */
.border_list > li {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.border_list > li::before,
.border_list > li::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #000;

}

.border_list > li::before {
    width: 24%;
    height: 2px;
    order: 1;
}

.border_list > li span,
.border_list > li div {
    display: block;
    font-size: 0.875rem;
    line-height: 1.375rem;
    padding: 1.25rem 0;
    box-sizing: border-box;
    text-align: left;
}

.border_list > li span:first-child,
.border_list > li div:first-child {
    color: #919191;
    width: 24%;
    padding-left: 0.375rem;
}

.border_list > li span:last-child,
.border_list > li div:last-child {
    color: #616161;
    width: 76%;
    padding-left: 3.625rem;
}

.border_list > li a:hover span,
.border_list > li a:hover div {
    color: #4eb1e1;
}



/* -------- */
/* .caution */
/* -------- */
.caution {
    font-size: 0.8125rem;
    text-align: left;
    padding-left: 1.25rem;
    position: relative;
}

.caution::before {
    content: "※";
    position: absolute;
    line-height: 1em;
    left: 0;
    top: 0;
}

.lang_en .caution::before {
    top: 3px;
}



/* ------------- */
/* .pager */
/* ------------- */
.pager {}

.pager ul {
    display: flex;
    justify-content: center;
}

.pager a,
.pager .current {
    margin-left: 0.5rem;
    padding: 0 0.25rem;
}

.pager a {
    color: #6fba2c;
    position: relative;
}

.lecture .pager a {
    color: #f49184;
}

.etc .pager a {
    color: #eca350;
}

.pager a::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
    transform: scaleX(0);
    transform-origin: right;
    width: 100%;
    height: 1px;
    background-color: #4eb1e1;
    transition: 200ms transform;
}

.news_list .pager a:hover::after {
    transform: scaleX(1);
    transform-origin: left;
}

.pager .current {
    color: #666;
    pointer-events: none;
}

/*
@media screen and (max-width:767px) {
	.pager {
		padding: 1.5rem 0 0;
	}
}*/




/* ------------------ */
/* .tal_area */
/* ------------------ */
.tal_area {
    text-align: center !important;
    color: #fff !important;
    margin: 0 auto;
    display: inline-block;
    background-color: rgba(61, 100, 150, 1);
    padding: 1rem 2rem;
}

.tal_area .tel_num {
    font-size: 2rem;
    display: block;
    padding-left: 2.5rem;
    background-image: url(./images/free_dial.png);
    background-repeat: no-repeat;
    background-position: center left;
    background-size: 36px;
}

.tal_area .tel_num p {}








/* -------- */
/* #activity */
/* -------- */

#activity .page_news_cat_btn {
    display: flex;
    justify-content: space-between;
}

#activity .page_news_cat_btn li {
    width: 27.77%;
    font-size: 0.9375rem;
    position: relative;
    z-index: 1;
}

#activity .page_news_cat_btn li::after {
    width: 100%;
    content: "";
    position: absolute;
    bottom: -5px;
    right: -5px;
    z-index: -1;
    background-image: url(./images/seminar/btn_shadow.png);
    background-position: left -1px bottom;
}

#activity .page_news_cat_btn li a {
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #fff;
    border: 2px solid #000;
}

#activity .page_news_cat_btn li a:hover {
    background-color: #dbe158;
    transition: 0.3s ease-out;
}

@media (max-width:767px) {
    #activity .page_news_cat_btn {
        margin: 50px 0 0;
        display: block;
    }

    #activity .page_news_cat_btn li {
        width: 100%;
        margin-bottom: 10px;
    }
    
    #activity .page_news_cat_btn li:last-child {margin-bottom: 0;}
    

    #activity .page_news_cat_btn li a:hover {
        background-color: transparent;
    }

    #activity .page_news_cat_btn li a:active {
        background-color: #dbe158;
        transition: 0.3s ease-out;
    }
}



.intro_title {
    font-size: 1.65rem;
    position: relative;
}

.intro_title:not(body.lang_en .intro_title) {
    line-height: 3.6rem;
    letter-spacing: 0.175em;
}

@media (max-width:1024px) {
    .intro_title {
        font-size: 1.2rem;
    }

    .intro_title:not(body.lang_en .intro_title) {
        line-height: 2.5rem;
        letter-spacing: 0.1em;
    }
}

.intro_title--activity::before {
    content: '';
    display: block;
    position: absolute;
    top: 20px;
    left: 10px;
    width: 33.64px;
    height: 106.84px;
    background: url(./images/activity/person02.svg) no-repeat;
}

.intro_title--activity::after {
    content: '';
    display: block;
    position: absolute;
    top: -80px;
    right: 20px;
    width: 45.42px;
    height: 114.42px;
    background: url(./images/activity/person01.svg) no-repeat;
}

@media (max-width:1024px) {

    .intro_title--activity::before,
    .intro_title--activity::after {
        display: none;
    }
}

@media (min-width:1025px) {
    .content_narrow_wrap__news ul {
        padding-right: 1rem;
        padding-left: 1rem;
    }

}

/* -------- */
/* #about */
/* -------- */

@media (min-width: 768px) and (max-width:1024px) {
    p.intro_text--02 {
        margin-top: 20px;
        line-height: 2rem;
        padding-bottom: 0;
    }
}

.about_learning > figure {
    margin-top: 50px;
}

@media (min-width: 768px) and (max-width:1024px) {
    .about_learning > figure {
        padding: 0 4.75rem;
    }
}

@media (max-width:1024px) {
    .category_bg_images:nth-of-type(2) {
        margin-top: 5.8125vw;
        margin-bottom: 5.8125vw;
    }

    /* .about_learning > figure > img:nth-child(2){
		margin-top: 5.8125vw;
		margin-bottom: 5.8125vw;
	} */

}

/* @media (max-width:767px) {
	.about_learning > figure > img:nth-child(2){
		margin-top: 20px;
		margin-bottom: 20px;
	}
} */
.category_bg_images {
    width: 100%;
    padding-top: 111.09%;
    background: url(./images/about/fd_category.svg) no-repeat center center;
    position: relative;
}

.category_bg_images:nth-of-type(2) {

    padding-top: 132.47%;
    background: url(./images/about/sd_category.svg) no-repeat center center;
}

.category_bg_images:nth-of-type(3) {
    padding-top: 126.51%;
    background: url(./images/about/learning_category.svg) no-repeat center center;
}

.category_bg_images > div {
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
}

@media (max-width:1024px) {
    .category_bg_images.eng {
        width: 100%;
        padding-top: 111.09%;
        background: url(./images/about/fd_category_sp_eng.svg) no-repeat center center;
        position: relative;
    }

    .category_bg_images.eng:nth-of-type(2) {

        padding-top: 132.47%;
        background: url(./images/about/sd_category_sp_eng.svg) no-repeat center center;
    }

    .category_bg_images.eng:nth-of-type(3) {
        padding-top: 126.51%;
        background: url(./images/about/learning_category_sp_eng.svg) no-repeat center center;
    }
}

.category_bg_images > div > h3 {
    padding-top: 8px;
    font-size: 1.2rem;
    letter-spacing: 0.2rem;
}

.category_bg_images:nth-of-type(3) > div > h3 {
    letter-spacing: -0.1rem;
}

.category_bg_images > div > h4 {
    padding-top: 36px;
    font-size: 1.6rem;
    letter-spacing: 0.3rem;
    color: #fff;
    /* text-shadow: 1px 1px 5px #555; */
}

body.lang_en .category_bg_images > div > h4 {
    letter-spacing: 0;
}

.category_bg_images > div > p {
    padding: 0 60px;
    font-size: 0.8125rem;
    line-height: 1.5;
    text-align: left;
    /* text-shadow: 1px 1px 5px #555; */
    color: #fff;
}


.category_bg_images:nth-of-type(2) > div > p {
    padding: 0 50px;
}

.category_bg_images:nth-of-type(3) > div > p {
    padding: 0 48px;
    letter-spacing: -0.1rem;
}

.category_bg_images > div > p.eng {
    letter-spacing: 0;
    font-size: 12px;
    line-height: 1.3;
}

.category_bg_images:nth-of-type(2) > div > p.eng,
.category_bg_images:nth-of-type(3) > div > p.eng {
    padding: 0 37px;
}

@media (max-width:374px) {
    .category_bg_images > div > p {
        padding: 0 24px;
        font-size: 0.75rem;
    }

    .category_bg_images:nth-of-type(2) > div > p {
        padding: 0 19px;
    }

    .category_bg_images:nth-of-type(3) > div > p {
        padding: 0 21px;
    }

    div.content_narrow_wrap p.intro_title.white-space-nowrap {
        white-space: normal;
    }
}

@media (max-width:1024px) {
    .category_bg_images:nth-of-type(1) > div > h3 {
        padding-top: 5px;
    }

    body.lang_en .category_bg_images:nth-of-type(1) > div > h3 {
        padding-top: 3px;
    }

    body.lang_en .category_bg_images:nth-of-type(2) > div > h3 {
        padding-top: 23px;
    }

    body.lang_en .category_bg_images.eng > div > h4 {
        /* letter-spacing: -0.1rem; */
        font-size: 1.25rem;
    }

    .category_bg_images:nth-of-type(3) > div > h3 {
        padding-top: 6px;
    }

    .category_bg_images:nth-of-type(1) > div > h4 {
        padding-top: 30px;
    }

    .category_bg_images:nth-of-type(2) > div > h4 {
        padding-top: 40px;
    }

    .category_bg_images:nth-of-type(1) > div > p.eng {
        padding: 0 48px;
    }

}


@media (min-width:1025px) {
    .about_learning > figure {
        display: flex;
        justify-content: space-between;
        align-items: start;
        margin-top: 72px;
    }

    .category_bg_images {
        width: calc(278 / 900 * 100%);
        padding-top: 34.3%;
        background: url(./images/about/fd_category.svg);
    }

    .category_bg_images:nth-of-type(2) {
        width: calc(247.72 / 900 * 100%);
        padding-top: 36.3%;
        background: url(./images/about/sd_category.svg);
    }

    .category_bg_images:nth-of-type(3) {
        width: calc(257.93 / 900 * 100%);
        padding-top: 36%;
        background: url(./images/about/learning_category.svg);
    }

    .category_bg_images.eng {
        width: calc(278 / 900 * 100%);
        padding-top: 34.0%;
        background: url(./images/about/fd_category_eng.svg);
    }

    .category_bg_images.eng:nth-of-type(2) {
        width: calc(267.73 / 900 * 100%);
        padding-top: 36.5%;
        background: url(./images/about/sd_category_eng.svg);
    }

    .category_bg_images.eng:nth-of-type(3) {
        width: calc(276.57 / 900 * 100%);
        padding-top: 36.2%;
        background: url(./images/about/learning_category_eng.svg);
    }

    body.lang_en .category_bg_images > div > h3 {
        padding-top: 6px;
    }

}

.about_training_title_bg {
    background: url(./images/about/training_title.svg) no-repeat center center/contain;
    width: 347px;
    height: 200px;
    margin: 0 auto -42px;
    color: #fff;
    /* padding-top: 40px; */
    transform: translateY(-57px);
}

@media (max-width:1024px) {
    .about_training_title_bg {
        width: 240px;
        height: 75px;
        margin-bottom: 1rem;
        font-size: 1.5rem;
        padding-top: 30px;
        transform: translateY(-11px);
    }
}


@media (max-width:374px) {
    .about_training_title_bg {
        width: 240px;
        height: 75px;
        transform: translateY(-14px);
    }
}

.about_training_card > li > h3 {
    position: relative;
    margin-top: 80px;
    margin-bottom: 24px;
}

.about_training_card > li > h3:not(body.lang_en .about_training_card >li > h3) {
    letter-spacing: 0.2rem;
}


/* @media (max-width:767px) { */
@media (max-width:1024px) {
    .about_training_card > li > h3 {
        margin-bottom: 0.65rem;
        font-size: 1.3rem;
    }
}

.about_training_card > li > h3::before,
.about_training_card > li > h3::after {
    content: "";
    display: block;
    position: absolute;
    top: -38px;
    left: 50%;
    width: 32px;
    height: 15px;
    font-size: 12px;
    color: #fff;
    padding-top: 6px;
    padding-left: 3px;
    background: #64c0ab;
    transform: translateX(-50%);
}

.about_training_card > li > h3::after {
    content: "1";
    top: -45px;
    width: 20px;
    height: 15px;
}

.about_training_card > li:nth-child(2) > h3::after {
    content: "2";
}

.about_training_card > li:nth-child(3) > h3::after {
    content: "3";
}

.about_training_card:nth-child(4) > li:nth-child(1) > h3::after {
    content: "4";
}

.about_training_card:nth-child(4) > li:nth-child(2) > h3::after {
    content: "5";
}

.about_training_card:nth-child(4) > li:nth-child(3) > h3::after {
    content: "6";
}

.about_training_card > li > p {
    text-align: left;
    font-size: 0.8125rem;
}

@media (min-width:1025px) {
    .about_training_card > li > p.padding_lr {
        padding: 0 20px;
    }

    .about_training_card > li > p.pc_padding_top34 {
        padding-top: 34px;
    }
}

.about_training_card > li {
    display: flex;
    flex-direction: column;
    align-items: center;

}

@media (max-width:767px) {
    ul.about_training_card > li {
        padding-bottom: 0;
        margin-left: 5.8125vw;
        margin-right: 5.8125vw;
    }
}

@media (min-width: 768px) and (max-width:1024px) {
    .about_training_card > li > figure > img {
        margin-top: 20px;
    }
}


@media (max-width:1024px) {
    .about_training_card--first {
        margin-top: -10px;
    }

    .about_training_card > li {
        padding-bottom: 50px;
        margin-left: 10.8125vw;
        margin-right: 10.8125vw;
        border-bottom: 2px solid #64c0ab;
    }

    .about_training_card:nth-of-type(2) > li:last-child {
        border-bottom: none;
    }

    .about_training_card > li > figure > img {
        width: 48vw;
        height: 170px;
        margin-bottom: 10px;
    }

    .about_training_card > li:nth-child(2) > figure > img {
        width: 50vw;
    }

    .about_training_card > li:nth-child(3) > figure > img {
        width: 48vw;
    }

    .about_training_card:nth-child(4) > li:nth-child(1) > figure > img {
        width: 48vw;
    }

    .about_training_card:nth-child(4) > li:nth-child(2) > figure > img {
        width: 40vw;
    }

    .about_training_card:nth-child(4) > li:nth-child(3) > figure > img {
        width: 44vw;
    }

}

@media (min-width:1025px) {
    .about_training_card {
        display: flex;
        flex-wrap: wrap;
        /* padding-left: 25px;
		padding-right: 25px; */
        margin-left: 25px;
        margin-right: 25px;
        position: relative;
        justify-content: space-between;
    }

    .about_training_card--first {
        padding-top: 10px;
    }

    .about_training_card--first::after {
        content: '';
        display: block;
        position: absolute;
        bottom: 0;
        left: 0px;
        width: 100%;
        height: 2px;
        border-bottom: 2px solid #64c0ab;
    }

    .about_training_card > li {
        width: 33%;
        position: relative;
    }

    .about_training_card > li::before {
        content: url(./images/about/border_dotted.svg);
        display: block;
        position: absolute;
        bottom: 21px;
        left: 0px;
        width: 1.7px;
    }

    .about_training_card > li:last-child:after {
        content: url(./images/about/border_dotted.svg);
        display: block;
        position: absolute;
        bottom: 21px;
        right: 0px;
        width: 1.7px;
        /* height: 50px; */
    }

    .about_training_card > li:nth-child(1) {
        padding-bottom: 10px;
        /* padding-bottom: 20px; */
    }

    .about_training_card > li > figure > img {
        width: 142.42px;
        height: 132px;
    }

    .about_training_card > li:nth-child(2) > figure > img {
        width: 156.7228px;
    }

    .about_training_card > li:nth-child(3) > figure > img {
        width: 128.355px;
    }

    .about_training_card:nth-child(4) > li:nth-child(1) > figure > img {
        width: 140.4458px;
    }

    .about_training_card:nth-child(4) > li:nth-child(2) > figure > img {
        width: 111.5884px;
    }

    .about_training_card:nth-child(4) > li:nth-child(3) > figure > img {
        width: 125.4872px;
    }
}


.about_training_media {
    border-radius: 10px;
    background: #64c0ab;
    padding: 30px;
    color: #fff;
}

@media (max-width:767px) {
    div.about_training_media {
        margin: 0;
    }
}

@media (max-width:1024px) {
    .about_training_media {
        margin: 0 50px 50px;
    }
}

@media (min-width:1025px) {
    .about_training_media {
        display: flex;
        justify-content: space-between;
        margin-top: 20px;
    }

    .about_training_media > div {
        /* width: calc(295 / 900 * 100%); */
        width: calc(322 / 900 * 100%);
    }

    /* .about_training_media > div > figure{
		width: calc(295 / 900 * 100%);
	}
	.about_training_media > div > figure:nth-child(2){
		width: calc(192 / 900 * 100%);
	} */
    .about_training_media > figure:nth-of-type(2) {
        margin-left: -12px;
    }

}

.about_training_media > div > p:first-child {
    background: #000;
    padding: 10px 15px;
    border-radius: 22.25px;
    position: relative;
    font-size: 0.9rem;
}

@media (max-width:1024px) {
    .about_training_media > div > p:first-child {
        font-size: 0.8rem;
    }

}

.about_training_media > div > p:first-child::before {
    content: '';
    display: block;
    position: absolute;
    bottom: -14px;
    left: 50%;
    transform: translateX(-50%);
    width: 6px;
    height: 20px;
    border-radius: 3px;
    background: #000;
}

.about_training_media > div > h3 {
    margin-top: 20px;
    margin-bottom: 10px;
    font-size: 1.75rem;
}

.about_training_media > div > p:nth-child(3) {
    text-align: left;
    font-size: 0.8125rem;
}

@media (max-width:1024px) {
    .about_training_media > div > p:nth-child(3) {
        margin-bottom: 20px;
    }
}



.about_certification {
    background: #fff;
    margin-top: 40px;
    margin-right: 2px;
    margin-left: 2px;
    padding: 40px 40px 32px 40px;
    position: relative;
}

@media (max-width:1024px) {
    .about_certification {
        padding: 30px 20px;
    }
}

.about_certification::before,
.about_certification::after {
    content: '';
    display: block;
    position: absolute;
    top: -2.5px;
    left: -2px;
    width: calc(100% + 4px);
    height: 5px;
    border-radius: 2.5px;
    background: #c79f62;
}

.about_certification::after {
    top: auto;
    bottom: -2.5px;
}

.about_certification p {
    font-size: 0.8125rem;
    line-height: 1.2rem;
}

@media (min-width:1025px) {
    .about_certification p.eng {
        margin: 0px 128px;
    }
}

.about_certification p.about_certification_fz_s,
.about_certification span.about_certification_fz_s {
    font-size: 0.75rem;
}

@media (max-width:1024px) {
    .about_certification p {
        font-size: 0.75rem;
    }

    .about_certification > p:nth-of-type(1).eng {
        margin: 0 20px;
        text-align: center;
    }

    .about_certification p.eng {
        text-align: left;
    }

    .about_certification span.about_certification_fz_s {
        font-size: 0.6rem;
        letter-spacing: -1px;
    }
}

.about_certification > h3 {
    font-size: 2rem;
    color: #c79f62;
    padding: 8px 0 14px;
    position: relative;
}

.about_certification > h3 > span {
    letter-spacing: 0.8rem;
}

.about_certification > h3.eng > span {
    letter-spacing: 0.1rem;
}

.about_certification > h3::before,
.about_certification > h3::after {
    content: url(./images/about/parenthesis_left.svg);
    display: block;
    position: absolute;
    top: 50%;
    left: calc(50% - 153px);
    transform: translate(-50%, -50%);
    width: 20px;
    height: 45px;
}

.about_certification > h3::after {
    content: url(./images/about/parenthesis_right.svg);
    left: calc(50% + 152px);
}

@media (min-width:1025px) {
    .about_certification > h3.eng::before {
        left: calc(50% - 192px);

    }

    .about_certification > h3.eng::after {
        left: calc(50% + 192px);
    }
}

@media (max-width:767px) {
    div.about_certification_col_right > p {
        margin-bottom: 0;
    }
}

@media (max-width:1024px) {
    .about_certification > h3 {
        font-size: 1.8rem;
        color: #c79f62;
        padding: 6px 0 14px;
        position: relative;
    }

    .about_certification > h3.eng {
        line-height: 1.2;
    }

    .about_certification > h3 > span {
        letter-spacing: 0.35rem;
    }

    /* .about_certification > h3.eng > span{
		letter-spacing: 0.1rem;
	} */
    .about_certification > h3::before,
    .about_certification > h3::after {
        /* top: 50%;  */
        left: calc(50% - 125px);
        /* transform: translate(-50%, -50%); */
        width: 18px;
        /* height: 45px; */
    }

    .about_certification > h3::after {
        left: calc(50% + 125px);

    }

    .about_certification > h3.eng::before {
        content: url(./images/about/parenthesis_left_sp_eng.svg);
        left: calc(50% - 115px);
        top: 37%;
    }

    .about_certification > h3.eng::after {
        content: url(./images/about/parenthesis_right_sp_eng.svg);
        left: calc(50% + 115px);
        top: 37%;
    }

    .about_certification_col_left {
        margin-top: 30px;
    }

    .about_certification_col_left > p {
        text-align: right;
        margin-top: 10px;
        margin-bottom: 10px;
        font-size: 0.6rem;
    }

    .about_certification_col_right {
        padding-left: calc(27% + 10px);
        background-image: url(images/about/Certificate-of-merit.svg);
        background-repeat: no-repeat;
        background-size: 27%;
        background-position: bottom left;
    }

    .about_certification_col_right > figure {
        margin-top: 20px;
        /* width: 70%; */
        text-align: left;
    }

    .about_certification_col_right > figure > img {
        width: 60%;
    }

    .about_certification_col_right > p {
        /* margin-left: 34%;
		margin-top: -13%; */
        padding-top: 5px;
        padding-left: 10px;
        margin-bottom: 50px;
    }

    /* 
	.about_certification_col_right > p.eng {
		margin-top: -31%;
		padding-bottom: 20px;
	} */

}

@media (min-width:1025px) {
    .about_certification_col_right > p {
        margin: 12px auto 0;
        width: 134px;
    }

    .about_certification_col_right > p.eng {
        margin: 9px 0 0 19px;
        width: 164px;
    }

    .about_certification_col {
        display: flex;
        align-items: center;
        justify-content: center;
        padding-top: 40px;
    }

    .about_certification_col_left {
        /* width: calc(580 / 900 * 100%); */
        width: 580px;
    }

    .about_certification_col_left > p {
        text-align: left;
        margin-top: 12px;
    }

    .about_certification_col_right {
        /* width: calc(160 / 900 * 100%); */
        width: 160px;

    }

}

#about #about_chart figure:hover {
    opacity: 0.7;
}

#about article#about_staff h2 {
    margin-bottom: 4.875rem;
}

#about #about_staff h3 {
    max-width: 900px;
    margin: 0 auto 2.875rem;
    padding-top: 0;
    display: flex;
    align-items: center;
    font-size: 1.75rem;
}

#about #about_staff h3::before,
#about #about_staff h3::after {
    content: '';
    height: 1px;
    background-color: #333;
    flex-grow: 1;
}

#about #about_staff h3::before {
    margin-right: 1em;
}

#about #about_staff h3::after {
    margin-left: 1em;
}

#about .staff_list_type1 ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: -5.125rem;
}

#about .staff_list_type1 ul li {
    margin-bottom: 5.125rem;
}

#about .staff_list_type1 ul li div {
    margin-bottom: 1.375rem;
}

#about .staff_list_type1 ul li p.staff_name {
    font-size: 1.6785rem;
    display: flex;
    align-items: center;
}

#about .staff_list_type1 ul li p.staff_name span {
    font-size: 0.875rem;
    padding-right: 1rem;
    line-height: 1em;
}

#about .staff_list_type1 ul li p.staff_comment {
    font-size: 0.75rem;
    line-height: 1.5rem;
    margin-bottom: 0;
}

#about .staff_list_type1 ul li p.staff_subtext {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    margin-bottom: 0;
    min-height: 2.5rem;
}

#about .staff_list_type1 ul li p.staff_subtext span:first-child {
    color: #fff;
    font-size: 0.75rem;
    line-height: 1em;
    width: 74px;
    height: 20px;
    display: block;
    background-color: #6fba2c;
    text-align: center;
    border-radius: 3px;
    padding-top: 4px;
    margin-right: 0.5rem;
}

#about .staff_list_type1 ul li p.staff_subtext span:nth-child(2) {
    font-size: 0.8125rem;
    line-height: 1.125rem;
    display: block;
    text-align: left;
    padding-top: 1px;
}

#about .staff_list_type1 ul li p.staff_subtext span:first-child {}

#about.lang_en .staff_list_type1 ul li p.staff_name {
    font-size: 1.5rem;
    display: block;
}

#about.lang_en .staff_list_type1 ul li p.staff_name span {
    display: block;
    font-size: 0.75rem;
    line-height: 1.75em;
}

#about.lang_en .staff_list_type1 ul li p.staff_subtext span:first-child {
    display: block;
    width: 90px;
    min-width: 90px;
    height: 100%;
    padding-bottom: 3px;
}


#about_staff .staff_list_type2 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

#about_staff .staff_list_type2 h4 {
    font-size: 1.125em;
    font-weight: normal;
}

#about_staff .staff_list_type2 h4::before {
    content: '●';
    color: #6fba2c;
}

#about #about_staff .staff_list_type2 ul {
    background-image: none !important;
    padding-bottom: 2rem;
}

#about #about_staff .staff_list_type2 ul li {
    width: auto;
    margin: 0;
    font-size: 12px;
}


#about_facility .detail_area p {
    font-size: 0.75rem;
    line-height: 1.5rem;
}

#about_access{position: relative;
z-index: 15;}

#about_access .content_wrap {
    align-items: center;
}

#about_access .detail_area #access_info_wrap {
    border-top: solid 2px #000;
    border-bottom: solid 2px #000;
}

#about_access h3 {
    font-size: 1.4375rem;
    padding: 1.75rem 0.625rem;
    margin: 0;
}

#about_access h3 span {
    font-size: 0.75rem;
    display: block;
}

#about_access p {
    font-size: 0.75rem;
    padding: 1.75rem 0.625rem;
    line-height: 1.5em;
    margin-bottom: 0;
    border-top: dashed #000 1px;
}

#about_access .image_area,
#about_access iframe {
    height: 300px;
}

.about_news_info_none {
    margin-top: 0.75rem;
}

/* -------- */
/* #seminar */
/* -------- */
#seminar #event_year {
    display: flex;
    justify-content: center;
    margin-bottom: 0;
}

#seminar #event_year li {
    padding: 3px 3px 0;
    border-radius: 10px 10px 0 0;
}

#seminar #event_year li a {
    color: #69ba50;
    display: block;
    background-color: #fff;
    border-radius: 7px 7px 0 0;
}

#seminar #event_year li a:hover {
    opacity: 0.7;
}

#seminar #event_year li.current_year a {
    color: #fff;
    background-color: transparent;
    pointer-events: none;
}

#seminar #event_list_wrap {
    background-color: #fff;
    border-radius: 5px;
}

#seminar #event_list_wrap,
#seminar #event_list_inner_wrap {
    border-radius: 5px;
}

#seminar ul.news_cat_btn {
    display: flex;
    justify-content: space-between;
}

#seminar ul.news_cat_btn li {
    position: relative;
    z-index: 1;
}

#seminar ul.news_cat_btn li a {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #fff;
    border: 2px solid #000;
}

#seminar ul.news_cat_btn li a:hover,
#seminar ul.news_cat_btn li.active_cat a {
    background-color: #dbe158;
}

#seminar ul.news_cat_btn li::after {
    width: 100%;
    content: "";
    position: absolute;
    bottom: -5px;
    right: -5px;
    z-index: -1;
    background-image: url(./images/seminar/btn_shadow.png);
    background-position: left -1px bottom;
}

#seminar .news_list {
    text-align: left;
    max-width: none;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
}



/* --------------- */
/* #seminar_single */
/* --------------- */
#seminar_title_wrap {
    display: flex;
    flex-direction: column-reverse;
}

#seminar_title {
    color: #6fba2c;
    font-size: 2.25rem;
    padding-top: 0;
    padding-right: 35px;
    padding-left: 35px;
}

#seminar_title_wrap .tag_wrap {
    position: relative;
    z-index: 10;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 0.5rem;
}

#seminar_title_wrap .tag_wrap span {
    display: block;
    background-color: #fff;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    padding: 0.125rem 0.75rem;
    margin: 0 0.25rem 1em;
}

.seminar_content strong {
    color: #0098e1;
}

.seminar_content blockquote {
    border: #666 1px solid;
    background-color: #eee;
    padding: 0.5rem 1rem;
}

.seminar_content blockquote p:last-child {
    margin-bottom: 0;
}



.seminar_desc {
    max-width: 800px;
    margin: 0 auto 3rem;
    font-size: 0.875rem;
}

.seminar_desc .desc_list {
    border-top: 2px solid #000;
    border-bottom: 2px solid #000;
}

.seminar_desc .desc_list li {
    padding: 1em 0;
    display: flex;
    justify-content: flex-start;
    border-bottom: dotted 1px #000;
}

.seminar_desc .desc_list li:last-child {
    border-bottom: none;
}

.seminar_desc .desc_list li p:first-child span {
    color: #fff;
    border-radius: 3px;
    display: inline-block;
    background-color: #6fba2c;
    text-align: center;
}

.lang_en .seminar_desc .desc_list li p:first-child span {
    font-size: 0.75rem;
}

#seminar_single .seminar_desc img {
    width: auto;
    margin-bottom: 0.5rem;
}




/* ----------- */
/* #consulting */
/* ----------- */
#consulting_point {
    display: flex;
    justify-content: space-between;
}

#consulting_point li {
    position: relative;
    background-color: #f2f2f2;
    border-radius: 3px;
    background-repeat: no-repeat;
}

#consulting_point li img {
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
}

#consulting_point li::after {
    content: "";
    position: absolute;
    z-index: 1;
}

#consulting_point li:nth-child(1)::after {
    background-image: url(./images/consulting/consulting1.svg);
}

#consulting_point li:nth-child(2)::after {
    background-image: url(./images/consulting/consulting2.svg);
}

#consulting_point li:nth-child(3)::after {
    background-image: url(./images/consulting/consulting3.svg);
}

#consulting_point li p.point_title {
    color: #6fba2c;
    display: flex;
    justify-content: center;
    align-items: center;
}

#consulting_point li p.point_text {
    text-align: left;
}


#support_period {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#support_period > p {
    text-align: left;
}

#support_period > ul {
    display: flex;
    justify-content: space-between;
}

#support_period > ul > li {
    color: #fff;
    background-size: contain;
    background-repeat: no-repeat;
}

#support_period > ul > li:nth-child(1) {
    background-image: url(./images/season/support_period_bg2.png);
}

#support_period > ul > li:nth-child(2) {
    background-image: url(./images/season/support_period_bg1.png);
}

#support_period > ul > li:nth-child(3) {
    background-image: url(./images/season/support_period_bg3.png);
}

#support_period ul li p {
    letter-spacing: 5px;
}

.lang_en #support_period ul li p {
    letter-spacing: 0;
}


#support_period ul li ul {
    padding-left: 0;
}

#support_period ul li ul li {
    text-align: left;
    font-size: 0.84375rem;
    line-height: 1.125rem;
    display: inline-block;
    position: relative;
    padding-left: 1.175em;
}

#support_period ul li ul li::before {
    content: "●";
    font-size: 0.25em;
    position: absolute;
    left: 0;
    top: 2px;
}




#consulting_examples_wrap {
    background-image: url(./images/consulting/examples_bg.png);
    background-repeat: repeat-x;
    background-position: center bottom 50px;
}

#consulting_examples h2 {
    background-image: url(./images/consulting/examples_title_bg.png);
    background-repeat: no-repeat;
    background-position: center bottom;
}

#consulting_examples h2 span {
    font-weight: normal;
    color: #fff;
}

.lang_en #consulting_examples h2 {
    background-image: url(./images/consulting/examples_title_bg_en.png);
}


#consulting_examples ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

#consulting_examples ul li {
    position: relative;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center top;
}

#consulting_examples ul li:nth-child(1) {
    background-image: url(./images/season/qa_bg01.png);
}

#consulting_examples ul li:nth-child(2) {
    background-image: url(./images/season/qa_bg02.png);
}

#consulting_examples ul li:nth-child(3) {
    background-image: url(./images/season/qa_bg03.png);
}

#consulting_examples ul li:nth-child(4) {
    background-image: url(./images/season/qa_bg04.png);
}

#consulting_examples div.qa_text {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

#consulting_examples div.qa_text p {
    color: #fff;
    text-align: left;
}

/* #consulting_examples div.qa_text .question::before,
#consulting_examples div.qa_text .answer::before {
	text-align: center;
	display: block;
}
 */
#consulting_examples div.qa_text .question_title,
#consulting_examples div.qa_text .answer_title {
    font-size: 1rem;
    text-align: center;
}

#consulting_examples div.qa_text .question_title::before {
    content: "Q";
}

#consulting_examples div.qa_text .answer_title::before {
    content: "A";
}

#consulting_examples div.qa_text .question_title::before,
#consulting_examples div.qa_text .answer_title::before {
    padding-right: 0.5rem;
}

#consulting_examples #contact_arrow {
    position: relative;
}

#consulting_examples #contact_arrow img {
    position: absolute;
    bottom: -50px;
    left: 50%;
    transform: translate(-50%, 0);
}

#consulting_examples_wrap::before,
#consulting_examples::before,
#consulting_examples ul li:nth-child(1)::before,
#consulting_examples ul li:nth-child(2)::before,
#consulting_examples ul li:nth-child(3)::before,
#consulting_examples ul li:nth-child(4)::before {
    display: block;
    position: absolute;
}

#consulting_examples_wrap::before {
    content: url(./images/season/person04.svg);
}

#consulting_examples::before {
    content: url(./images/season/person01.svg);
}

#consulting_examples ul li:nth-child(1)::before {
    content: url(./images/season/person06.svg);
}







/* --- */
/* #sd */
/* --- */
/* .sd_list {
	border-top: #000 solid 2px;
	border-bottom: #000 solid 2px;
}

.sd_list li {
	border-bottom: dotted #000 1px;
	border-color: rgba(000,000,000,0.8);
}

.sd_list li:last-child {
	border-bottom: none;
}

.sd_list li a {
	display: flex;
	justify-content: flex-start;
}

.sd_list li a:hover {
	opacity: 0.7;
	background-color: #eee;
}

.sd_list li p.sd_date {
	color: #fff;
	text-align: center;
	background-color: rgba(111,186,44,0.9);
	display: flex;
	justify-content: center;
	align-items: center;
}

.sd_list li:nth-child(even) p.sd_date {
	background-color: rgba(111,186,44,0.7);
} */


/* --------------- */
/* #activity */
/* --------------- */
.activity_title--texture {
    max-width: calc(650px + 2.5rem);
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    max-width: 650px;
    margin-top: 80px;
    margin-left: auto;
    margin-right: auto;
    height: 70px;
    /* background: url(./images/activity/activity_title_texture_g.png) no-repeat center center/cover; */
    background: url(./images/activity/activity_title_texture_p.png) no-repeat center center/cover;
    border-radius: 10px;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.875rem;
    letter-spacing: 0.2em;
    position: relative;
}

.activity_title--texture.-fdsd

/* ,.lecture .activity_title--texture */
    {
    background: url(./images/activity/activity_title_texture_g.png) no-repeat center center/cover;
    /* background: url(./images/activity/activity_title_texture_p.png) no-repeat center center/cover; */
}

.activity_title--texture.-etc,
.etc .activity_title--texture {
    background: url(./images/activity/activity_title_texture_o.png) no-repeat center center/cover;
}

@media (max-width:1024px) {
    .activity_title--texture {
        font-size: 1.2rem;
        min-height: 50px;
        height: fit-content;
    }
}

.activity_title--texture::before,
.lecture .activity_title--texture:before {
    content: "";
    display: block;
    position: absolute;
    top: -80px;
    left: 50%;
    height: 80px;
    width: 80.4px;
    /* height: 80px;
	width: 156.5169px; */
    transform: translateX(-50%);
    /* background: url(./images/activity/activity_title_icon_g.svg); */
    background: url(./images/activity/activity_title_icon_p.svg);
}

.activity_title--texture.-fdsd:before

/* ,.lecture .activity_title--texture:before */
    {
    height: 80px;
    width: 156.5169px;
    /* height: 80px;
	width: 80.4px; */
    /* background: url(./images/activity/activity_title_icon_p.svg);	 */
    background: url(./images/activity/activity_title_icon_g.svg);
}

.activity_title--texture.-etc:before,
.etc .activity_title--texture:before {
    height: 70px;
    width: 81.0526px;
    background: url(./images/activity/activity_title_icon_o.svg);
}


/* 人物 */
.activity_title--texture:nth-of-type(2):after {
    content: '';
    display: block;
    position: absolute;
    top: 30px;
    right: -80px;
    width: 36.21px;
    height: 110.75px;
    background: url(./images/activity/person03.svg) no-repeat;
}

.activity_title--texture:nth-of-type(3):after {
    content: '';
    display: block;
    position: absolute;
    top: 40px;
    left: -80px;
    width: 46.2px;
    height: 109.14px;
    background: url(./images/activity/person04.svg) no-repeat;
}


@media (max-width:1024px) {
    .activity_title--texture::before {
        top: calc(-80px * 0.8);
        /* height: calc(80px * 0.8);
		width: calc(156.5169px * 0.8); */
        height: calc(80px * 0.8);
        width: calc(80.4px * 0.8);
    }

    .activity_title--texture.-fdsd:before {
        /* height: calc(80px * 0.8);
		width: calc(80.4px * 0.8); */
        height: calc(80px * 0.8);
        width: calc(156.5169px * 0.8);
    }

    .activity_title--texture.-etc:before {
        height: calc(70px * 0.8);
        width: calc(81.0526px * 0.8);
    }

    .activity_title--texture:nth-of-type(2):after,
    .activity_title--texture:nth-of-type(3):after {
        display: none;
    }
}



.more_link {
    text-align: right;
    font-size: 1.25rem;
}

@media screen and (max-width:1024px) {
    .more_link {
        font-size: 1rem;
        line-height: 1;
    }
}

/* --------------- */
/* #activity_single */
/* --------------- */
#activity_single .date_text {
    padding: 1em 0;
    margin-bottom: 1em;
    display: flex;
    justify-content: flex-start;
    border-bottom: dotted 1px #000;
    border-top: 2px solid #000;
    border-bottom: 2px solid #000;
}

#activity_single .date_text p:first-child {
    width: 100px;
    color: #fff;
    border-radius: 3px;
    display: inline-block;
    background-color: #6fba2c;
    text-align: center;
    margin: 0 20px;
}



/* ------------- */
/* #publications */
/* ------------- */
.creation_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.creation_list li div.img_block {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.creation_list li div.img_block img {
    width: 100%;
}

.creation_list li div.img_block img.noimage {
    width: 45%;
}

.creation_list li p {
    text-align: left;
}

.creation_list li p.creation_date {
    font-size: 0.8125rem;
    color: #6fba2c;
    padding: 0.75em 0 0.5em;
}

.creation_list li p.creation_title {
    font-size: 0.75rem;
    line-height: 1.21875rem;
}



/* -------------------- */
/* #publications_single */
/* -------------------- */
#publications_single_content #img_block div.slick-slide {
    position: relative;
}

#publications_single_content #img_block div.slick-slide img {
    position: absolute;

    top: 50%;
    left: 50%;
    z-index: 0;
    transform: translate(-50%, -50%);

    width: auto;
    height: auto;
}

#publications_single_content #desc_block {
    text-align: left;
}

#pub_title {
    border-top: 3px solid #6fba2c;
    border-bottom: 3px solid #6fba2c;
}

#desc_block #pub_date {
    color: #6fba2c;
}

#desc_block #back_btn img {
    width: auto;
}

#desc_block .dl_btn {
    text-align: center;
}

#desc_block .dl_btn a {
    font-size: 0.875em;
}

/* ----------- */
/*    #fdsd    */
/* ----------- */
#fdsd #fdsd_logo {
    width: 100%;
}

#fdsd .btn_wrap {
    width: 100%;
    max-width: 900px;
    display: flex;
    flex-wrap: wrap;
}

#fdsd .btn_wrap div a {
    width: 100%;
    height: 100%;
    display: block;
    border: #000 3.5px solid;
    border-radius: 10px;
    font-weight: bold;
}

#fdsd .btn_wrap div a:hover {
    background-color: #555;
    border-color: #555;
    color: #fff;
}

#fdsd .btn_wrap div.forum_btn {
    width: 100%;
    position: relative;
    margin-bottom: 0px;
}

#fdsd .btn_wrap div.forum_btn span {
    width: 100%;
    display: block;
}

#fdsd .btn_wrap div.forum_btn a {
    width: 100%;
    height: 100%;
    display: block;
    background-color: #000;
    border: #000 3.5px solid;
    border-radius: 10px;
    color: #fff;
    font-weight: bold;
}

#fdsd .btn_wrap div.forum_btn a:hover {
    background-color: #FFF;
    border: #000 3.5px solid;
    color: #000;
}

#fdsd .btn_wrap div.forum_btn::after {
    position: absolute;
    content: "";
    top: 0;
    bottom: 0;
    margin: auto;
    vertical-align: middle;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

#conceptual_img_wrap {
    width: 100%;
    max-width: 880px;
    display: flex;
    margin: 0 auto 50px auto;
}

#conceptual_drawing h2 {
    position: relative;
    display: inline-block;
    padding-bottom: 1.2rem;
    line-height: 2.3rem;
}

#conceptual_drawing h2:before {
    height: 3.5px;
    background-color: #000;
    display: inline-block;
    content: '';
    position: absolute;
    left: 50%;
    border-radius: 2px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

#conceptual_drawing p.intro_text {
    max-width: 420px;
    margin: 0 auto 45px;
    padding: 0rem 0 0;
    text-align: left;
}

#cd_activity_content dl {
    max-width: 690px;
    position: relative;
    display: flex;
    margin: 0 auto 15px;
}

#cd_activity_content dl::after {
    background-image: url(./images/fdsd/arrow_conceptual_bottom.svg);
    background-repeat: no-repeat;
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    /*上下左右中央に*/
}

.lang_en #cd_activity_content dl dt img {
    transform: rotate(180deg);
    transform-origin: center;
}

#cd_activity_content dl dd ol {
    counter-reset: counter;
    list-style: none;
    padding: 0;
    margin: 0;
}

#cd_activity_content dl dd ol li {
    position: relative;
    text-align: left;
    padding-left: 23px;
}

#cd_activity_content dl dd ol li:before {
    width: 17px;
    height: 17px;
    content: counter(counter);
    counter-increment: counter;
    background-color: #000;
    border: 1px solid;
    border-radius: 50%;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 7px;
    left: 0;
    color: #ffffff;
    font-size: 75%;
    line-height: 2rem;
}

#cd_activity_content p {
    position: relative;
}

#cd_activity_content p::after {
    background-image: url(./images/fdsd/arrow_conceptual_bottom.svg);
    background-repeat: no-repeat;
    margin: auto;
    /*上下左右中央に*/
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
}

#cd_activity_content p:last-child {
    position: relative;
    margin-bottom: 0px;
    padding-bottom: 0px;
}

#cd_activity_content p:last-child:after {
    display: none;
}

#about_participation h2.hedding02 {
    position: relative;
    border-top: #000 3.5px solid;
    border-bottom: #000 3.5px solid;
    margin: 0 auto 50px auto;
    padding: 15px 0;
    font-size: 1.625rem;
}

#about_participation p.intro_text,
#member_schools p.intro_text {
    max-width: 550px;
    margin: 0 auto;
    padding-top: 0;
    text-align: left;
}

#about_participation article h3.hedding03 {
    display: inline-block;
    margin: 0 auto 40px auto;
    padding: 0em 55px;
    position: relative;
    font-size: 21px;
    line-height: 3.2rem;
}

#about_participation article h3.hedding03:before,
#about_participation article h3.hedding03:after {
    width: 25px;
    height: 87%;
    display: inline-block;
    position: absolute;
    top: 0;
    content: '';
}

#about_participation article h3.hedding03:before {
    border-left: solid 3.5px #000;
    border-top: solid 3.5px #000;
    border-bottom: solid 3.5px #000;
    border-radius: 7px 0 0 7px;
    left: 0;
}

#about_participation article h3.hedding03:after {
    content: '';
    border-top: solid 3.5px #000;
    border-right: solid 3.5px #000;
    border-bottom: solid 3.5px #000;
    border-radius: 0 7px 7px 0;
    right: 0;
}

#member_schools .dl_tit {
    font-weight: bold;
}

.registration_wrap {
    display: flex;
    flex-wrap: wrap;
    margin: 1.25rem auto 3.125rem;
}

.registration_wrap div a {
    width: 100%;
    height: 100%;
    display: block;
    border: #000 3.5px solid;
    border-radius: 10px;
    font-weight: bold;
}

.registration_wrap div a:hover {
    background-color: #555;
    border-color: #555;
    color: #fff;
}

#fdsd #contents_wrap {
    width: 550px;
    border-bottom: solid 3.5px #000;
    margin: 0 auto 55px auto;
}

#fdsd #contents_wrap p.con_tit {
    width: 100%;
    position: relative;
    display: inline-block;
    font-weight: bold;
}

#fdsd #contents_wrap p.con_tit:before,
#fdsd #contents_wrap p.con_tit:after {
    height: 3.5px;
    background-color: black;
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
}

#fdsd #contents_wrap p.con_tit:before {
    left: 0;
}

#fdsd #contents_wrap p.con_tit:after {
    right: 0;
}

#fdsd #contents_wrap p.con_name {
    margin-bottom: 15px;
    line-height: 1.8rem;
}

#fdsd #privacy h2 {
    position: relative;
    display: inline-block;
    padding-bottom: 1.2rem;
    padding-top: 2rem;
}

#fdsd #privacy h2:before {
    height: 3.5px;
    display: inline-block;
    background-color: black;
    border-radius: 2px;
    content: '';
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

#fdsd #privacy p.intro_text {
    max-width: 600px;
    margin: 0 auto;
    padding-top: 0;
    text-align: left;
}

#fdsd .privacy_wrap {
    max-width: 600px;
    height: 200px;
    box-sizing: border-box;
    overflow-y: scroll;
    border: #000 3.5px solid;
    margin: 0 auto 40px auto;
    padding: 20px;
    text-align: left;
}

#fdsd .privacy_wrap article h3 {
    margin-bottom: 15px;
    font-size: 17px;
    line-height: 1.5rem;
    text-align: center;
}

#fdsd .privacy_wrap article {
    margin-bottom: 15px;
}

#fdsd .privacy_wrap ul li {
    list-style: inside disc;
}

#cd_activity_content p:first-of-type,
#cd_activity_content p:last-of-type,
#conceptual_drawing p.intro_text,
#fdsd #contents_wrap {
    position: relative;
}

#cd_activity_content p:first-of-type:before,
#cd_activity_content p:last-of-type:before,
#conceptual_drawing p.intro_text:before,
#fdsd #contents_wrap:before {
    display: block;
    position: absolute;
    z-index: 15;
}

#cd_activity_content p:first-of-type:before {
    content: "";
    background-image: url(./images/fdsd/person01.svg);
}

#cd_activity_content p:last-of-type:before {
    content: "";
    background-image: url(./images/fdsd/person02.svg);
    background-repeat: no-repeat;
}

#conceptual_drawing p.intro_text:before {
    content: "";
    background-image: url(./images/fdsd/person04.svg);
    background-repeat: no-repeat;
}

#fdsd #contents_wrap:before {
    content: "";
    background-image: url(./images/fdsd/person03.svg);
    background-repeat: no-repeat;
}

/* ------ */
/* .forum */
/* ------ */
#fdsd_intro h2 {
    margin-bottom: 0rem;
}

.forum_wrap.contents_inner p,
.forum_wrap.contents_inner ul,
.forum_wrap.contents_inner ol {
    font-weight: normal;
    font-size: 16px;
}

.forum_wrap.contents_inner > p:last-of-type {
    margin-bottom: 0px;
}

.forum_wrap.contents_inner h3 {
    text-align: left;
    font-size: 20px;
    font-weight: bold;
}

.forum_wrap.contents_inner ul li {
    font-size: 16px;
    list-style: inside decimal;
    text-indent: -1em;
    padding-left: 1em;
}

.forum_wrap.contents_inner ol {
    counter-reset: number;
    /*数字をリセット*/
    list-style-type: none !important;
    /*数字を一旦消す*/
}

.forum_wrap.contents_inner ol li {
    position: relative;
    line-height: 1.5em;
    padding: 0.5em 0.5em 0.5em 20px;
    font-size: 16px;
    text-align: left;
}

.forum_wrap.contents_inner ol li:before {
    /* 以下数字をつける */
    position: absolute;
    counter-increment: number;
    content: counter(number);
    /*以下数字のデザイン変える*/
    display: inline-block;
    background: #FFF;
    color: #000;
    border: #000 1px solid;
    font-weight: bold;
    font-size: 10px;
    border-radius: 50%;
    left: 0;
    width: 14px;
    height: 14px;
    line-height: 14px;
    text-align: center;
    /*以下 上下中央寄せのため*/
    top: 21px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}




/* ------ */
/* #links */
/* ------ */
#links #link_list_wrap {
    display: flex;
    justify-content: flex-start;
}

#links #link_list_wrap ul li {
    text-align: left;
    padding-left: 1em;
    position: relative;
}

#links #link_list_wrap li::before {
    color: #6fba2c;
    content: "■";
    font-size: 12px;
    position: absolute;
    top: 4px;
    left: 0;
}

/* --------- */
/* #search */
/* --------- */
#search .snumber {
    font-size: 1.25rem;
    margin-bottom: 1.5rem;
}

#search .snumber span {
    color: #4eacb9;
}

#search .news_list li p {
    text-align: left;
}

#search .news_list li p.post_type {
    font-weight: bold;
    color: #6fba2c;
}




/* ------ */
/* footer */
/* ------ */
.mailform #foot_contact_area .black_border_btn a {
    display: none;
}



/* ---- */
/* LAST */
/* ---- */
