@charset "UTF-8";

/* =======================================

	ContentsElements

======================================= */
/*-----------------------------------------
	common
-----------------------------------------*/
.mt_0 {
    margin-top: 0 !important;
}

.mt_10 {
    margin-top: 10px !important;
}

.mt_20 {
    margin-top: 20px !important;
}

.mt_30 {
    margin-top: 30px !important;
}

.mt_40 {
    margin-top: 40px !important;
}

.mb_0 {
    margin-bottom: 0 !important;
}

.mb_10 {
    margin-bottom: 10px !important;
}

.mb_20 {
    margin-bottom: 20px !important;
}

.mb_30 {
    margin-bottom: 30px !important;
}

.mb_40 {
    margin-bottom: 40px !important;
}

.margin-auto {
    margin-right: auto !important;
    margin-left: auto !important;
}

@media screen and (min-width: 769px) {

    .u_sp {
        display: none !important;
    }
}

@media screen and (max-width: 768px) {
    .u_pc {
        display: none !important;
    }

    .u_sp {
        display: block;
    }
}

/*-----------------------------------------
	common parts
-----------------------------------------*/
/*main {
	margin: 63px 0 0;
}*/
main>*:not(.intro):first-child {
    padding-top: 120px;
}

main>section:not(.block_wrap):not(.course_field):not(.oc_field):nth-of-type(2n+1),
.sec_bg_w {
    background: #FFF;
    padding: 120px 0 112px;
}

main>section:not(.block_wrap):not(.course_field):not(.oc_field):nth-of-type(2n),
.sec_bg_g {
    background: #F7F7F7;
    padding: 120px 0 112px;
}

main>section.no_top_pad {
    padding-top: 0 !important;
}

main>section.no_bottom_pad {
    padding-bottom: 0 !important;
}

.course_field::before,
.course_field::after,
.course_field ul::after {
    content: none;
}

@media only screen and (max-width: 768px) {
    main>*:not(.intro):first-child {
        padding-top: 60px;
    }

    main>section:not(.block_wrap):not(.course_field):not(.oc_field):nth-of-type(2n+1),
    .sec_bg_w {
        padding: 60px 0;
    }

    main>section:not(.block_wrap):not(.course_field):not(.oc_field):nth-of-type(2n),
    .sec_bg_g {
        padding: 60px 0;
    }

    #global_header {
        -webkit-box-shadow: 0 3px 16px rgba(0, 0, 0, .09);
        box-shadow: 0 3px 16px rgba(0, 0, 0, .09);
    }

    .course_field ul {
        display: block;
    }

    .course_field li {
        width: 100%;
    }
}


/* img */
.entry_base img {
    max-width: 100%;
    height: auto;
}

.entry_base .full {
    max-width: auto;
    max-width: initial;
    width: 100%;
}

.entry_base .short {
    max-width: auto;
    max-width: initial;
    width: 800px;
}

.entry_base .img_border {
    padding: 30px 57px;
    border-radius: 5px;
    border: 1px solid #E2E2E2;
}

.entry_base .img_ma {
    margin: 0 auto;
    margin-top: 20px !important;
    border-radius: 10px;
}

.entry_base .img_c {
    background: #FFF;
    margin: 0 auto;
    margin-bottom: 30px;
    display: block;
}

.entry_base .img_l,
.entry_base .mt-image-left {
    max-width: 50%;
    margin: 0 40px 30px 0 !important;
    float: left;
}

.entry_base .img_r,
.entry_base .mt-image-right {
    max-width: 50%;
    margin: 0 0 30px 40px !important;
    float: right;
}

.entry_base .fig_center {
    margin: 0 auto 30px;
    display: table;
    text-align: center;
}

.entry_base .fig_left {
    max-width: 50%;
    margin: 0 40px 30px 0;
    float: left;
    display: table;
}

.entry_base .fig_right {
    max-width: 30%;
    margin: 0 0 30px 40px;
    float: right;
    display: table;
}

.entry_base .fig_center img:not(.short),
.entry_base .fig_left img:not(.short),
.entry_base .fig_right img:not(.short) {
    width: 100%;
    /*  IE*/
}

.entry_base .figwrap figcaption {
    display: table-caption;
    caption-side: bottom;
    margin: 10px 0 0;
    text-align: left;
    font-size: 1.3rem;
    color: #222222;
    line-height: 1.7;
}

.entry_base .figradius {
    border-radius: 2px;
}

@media only screen and (max-width: 768px) {
    .entry_base .img_border {
        padding: 5%;
    }

    .entry_base .img_c {
        width: 100%;
        margin: 0 auto;
        margin-bottom: 20px;
        display: block;
    }

    .entry_base .img_l {
        margin: 0 20px 20px 0;
    }

    .entry_base .img_r {
        margin: 0 0 20px 20px;
    }

    .entry_base .mt-image-left {
        margin: 0 20px 20px 0 !important;
    }

    .entry_base .mt-image-right {
        margin: 0 0 20px 20px !important;
    }

    .entry_base .fig_center {
        margin: 0 auto 20px;
    }

    .entry_base .fig_center img {
        max-width: none;
        max-width: initial;
        width: 100%;
    }

    .entry_base .fig_left {
        float: none;
        max-width: auto;
        max-width: initial;
        margin: 0 auto 20px;
    }

    .entry_base .fig_right {
        float: none;
        max-width: auto;
        max-width: initial;
        margin: 0 auto 20px;
    }

    .entry_base .figwrap figcaption {
        margin: 10px 0 0;
        font-size: 1rem;
        line-height: 1.5;
    }

    .entry_base .mt-image-right,
    .entry_base .mt-image-left {
        max-width: 50%;
        height: auto;
    }
}

/* ------------------------------------
	layout
------------------------------------ */
main .cont_outer {
    max-width: 1280px;
    padding-left: 40px;
    padding-right: 40px;
    margin-left: auto;
    margin-right: auto;
}

.sec_wrap {
    margin: 0 0 112px;
}

.short_width {
    width: calc(100% - 120px);
    margin-right: auto;
    margin-left: auto;
}

@media only screen and (max-width: 768px) {
    main .cont_outer {
        padding-right: 4%;
        padding-left: 4%;
    }

    .sec_wrap {
        margin: 0 0 60px;
    }

    .short_width {
        width: 92%;
    }

    .cont_outer .short_width {
        width: 100%;
    }
}

/* ------------------------------------
	deco
------------------------------------ */
.deco,
.bg_deco {
    position: relative;
}

.deco::before,
.deco::after,
.bg_deco::before,
.bg_deco::after {
    display: block;
    position: absolute;
    z-index: -1;
}

.deco.zindex0::before,
.deco.zindex0::after,
.bg_deco.zindex0::before,
.bg_deco.zindex0::after {
    z-index: 0;
}

.bg_deco.l_zindex0::before {
    z-index: 0;
}

.bg_deco.r_zindex0::after {
    z-index: 0;
}

.deco.zindex1::before,
.deco.zindex1::after,
.bg_deco.zindex1::before,
.bg_deco.zindex1::after {
    z-index: 1;
}

.bg_deco.l_zindex1::before {
    z-index: 1;
}

.bg_deco.r_zindex1::after {
    z-index: 1;
}

/* ttl_deco */
/*.ttl_deco_lb::before {
	content: url(/files/common/bg_deco01.png);
	background-size: contain;
	top: 323px;
	left: -284px;
}
.ttl_deco_rt::after {
	content: url(/files/common/bg_deco_intro_r.png);
	background-size: contain;
	top: 15px;
	right: -220px;
}

/* deco_l*/
/*.deco_l_01::before {
	content: url(/files/common/bg_deco01.png);
	background-size: contain;
	top: 205px;
	left: -280px;
}
.deco_l_02::before {
	content: url(/files/common/bg_deco03.png);
	background-size: contain;
	top: -234px;
	left: -135px;
	z-index: 0;
}
.deco_lc_02::before {
	content: url(/files/common/bg_deco03.png);
	background-size: contain;
	top: 50%;
	left: -135px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.deco_l_03::before {
	content: url(/files/common/bg_deco05.png);
	background-size: contain;
	top: -176px;
	left: -222px;
}
.deco_l_04::before {
	content: url(/files/common/bg_deco03.png);
	background-size: contain;
	top: -234px;
	left: -135px;
}

/* deco_r */
/*.deco_r_01::after {
	content: url(/files/common/bg_deco02.png);
	background-size: contain;
	top: 265px;
	right: -260px;
}
.deco_r_02::after {
	content: url(/files/common/bg_deco04.png);
	background-size: contain;
	top: -180px;
	right: -268px;
}
.deco_r_03::after {
	content: url(/files/common/bg_deco02.png);
	background-size: contain;
	right: -260px;
}

/* bg_deco ページ上部から位置指定 */
.bg_deco.deco_l_01::before {
    top: 660px;
}

.bg_deco.deco_l_02::before {
    top: 3485px;
}

.bg_deco.deco_l_03::before {
    top: 7400px;
}

.bg_deco.deco_l_04::before {
    top: 10976px;
}

.bg_deco.deco_r_01::after {
    top: 1800px;
}

.bg_deco.deco_r_02::after {
    top: 6124px;
}

.bg_deco.deco_r_03::after {
    top: 9145px;
}

/* c_dec */
/*.deco_r_c_01::after {
	content: url(/files/common/circle_deco01.png);
	background-size: contain;
	top: -98px;
	right: 54px;
	z-index: 0;
}
.deco_r_c_02::after {
	content: url(/files/common/circle_deco02.png);
	background-size: contain;
	top: -30px;
	right: 97px;
}*/

@media only screen and (max-width: 768px) {

    /* 120px追加 */
    .ttl_deco_lb::before {
        left: -404px;
    }

    .ttl_deco_rt::after {
        right: -340px;
    }

    .deco_l_01::before {
        left: -400px;
    }

    .deco_l_02::before {
        left: -255px;
    }

    .deco_lc_02::before {
        left: -255px;
    }

    .deco_l_03::before {
        left: -342px;
    }

    .deco_l_04::before {
        left: -255px;
    }

    .deco_r_01::after {
        right: -380px;
    }

    .deco_r_02::after {
        right: -388px;
    }

    .deco_r_03::after {
        right: -380px;
    }

    .deco_r_c_02::after {
        /*top: -40px;
		right: -23px;*/
        display: none;
    }
}

/* special */
.special_sec_wrap.deco::before {
    top: -50px;
    z-index: 0;
}

@media only screen and (max-width: 768px) {
    .special_sec_wrap.deco::before {
        z-index: -1;
    }
}

/* majors */
.majors_wrap.deco::before {
    top: -50px;
    z-index: 0;
}

@media only screen and (max-width: 768px) {
    .majors_wrap.deco::before {
        z-index: -1;
    }
}

/* .image_area */
@media only screen and (max-width: 768px) {
    .image_area.deco::after {
        right: 1%;
    }
}

/* pickup */
.pickup_wrap.deco_r_01::after {
    top: 206px;
}

/* about */
.about_deco.deco_l_02:before {
    top: -100px;
}

/*-----------------------------------------
	page ttl
-----------------------------------------*/

.pg_ttl {
    margin: 84px 0 0;
    padding: 75px 0 85px;
    height: 344px;
    text-align: center;
    position: relative;
}

.pg_ttl::before {
    content: '';
    display: block;
    background: url(/files/common/bg_head_dots.png) repeat;
    width: 100%;
    height: 344px;
    position: absolute;
    top: 0;
    z-index: 0;
}

.pg_ttl::after {
    content: '';
    display: block;
    /*background: rgba(67, 31, 49, 0.35);*/
    width: 100%;
    height: 344px;
    position: absolute;
    top: 0;
    z-index: 0;
}

/* .short_height */
.short_height.pg_ttl,
.short_height.pg_ttl::before,
.short_height.pg_ttl::after {
    height: 230px;
}

.pg_ttl h1 {
    text-align: left;
    padding-right: 80px;
    padding-left: 80px;
    position: relative;
    /*	top: 50%;*/
    top: 30%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 1;
}

.pg_ttl h1 span {
    padding: 10px 14px;
    display: table;
    font-size: 3.8rem;
    font-weight: 500;
    line-height: 1;
    background: rgba(255, 255, 255, 0.9);
    border-left: 5px solid #DE0975;
}

.pg_ttl p {
    position: absolute;
    top: 50%;
    display: table;
    background: rgba(255, 255, 255, 0.9);
    border-left: 5px solid #DE0975;
    margin-left: 80px;
    padding: 7px 14px;
    letter-spacing: 0.05em;
    line-height: 1;
    font-size: 2.2rem;
    font-weight: 700;
}

.pg_ttl p span {
    text-align: left;
    display: block;
    line-height: 1.2;
}

.pg_ttl h1 .sub {
    margin: 10px 0 0;
    padding: 7px 14px;
    letter-spacing: 0.05em;
    line-height: 1;
    font-size: 2.2rem;
    font-weight: 700;
}

/*.pg_ttl h1 .en {
	margin: 0 0 5px;
	padding: 5px 12px;
	color: #DE0975;
	letter-spacing: 0.05em;
	line-height: 1;
	font-size: 1.8rem;
	font-family: 'PT Sans', sans-serif;
}*/

@media only screen and (max-width: 768px) {
    .pg_ttl {
        width: 92%;
        height: 185px;
        border-radius: 5px;
        overflow: hidden;
        margin: 77px 4% 0;
    }

    .pg_ttl::after {
        height: 185px;
    }

    .pg_ttl h1 {
        font-size: 2.2rem;
        padding-right: 4%;
        padding-left: 4%;
        top: 0%;
    }

    .pg_ttl h1 span {
        padding: 8px 14px;
        line-height: 1.25;
        font-size: 1.8rem;
    }

    .pg_ttl p {
        top: 55%;
        margin-left: 0.7em;
    }

    .pg_ttl p span {
        line-height: 1.25;
        font-size: 1.4rem;
    }

    .pg_ttl h1 .sub {
        line-height: 1.25;
        font-size: 1.4rem;
    }

    /*.pg_ttl h1 .en {
		font-size: 1.4rem;
	}*/

    /* .short_height */
    .short_height.pg_ttl {
        width: 100%;
        height: 159px;
        margin: 50px 0 0;
        border-radius: 0;
    }

    .pg_ttl_deco {
        width: 92%;
        margin-left: auto;
        margin-right: auto;
        border-radius: 0 0 5px 5px;
    }

    .pg_ttl_deco .pg_ttl {
        width: 100%;
        margin: 77px 0 0;
        border-radius: 5px 5px 0 0;
    }
}

/*-----------------------------------------
	breadcrumbs
-----------------------------------------*/
.breadcrumbs {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
}

.breadcrumbs ul {
    margin: -60px 0 0;
    padding: 18px 50px 18px 60px;
    background: #FFF;
}

.pg_ttl_deco+.breadcrumbs ul {
    margin: -77px 0 0;
}

.breadcrumbs li {
    font-size: 1.3rem;
    display: inline-block;
    position: relative;
}

.breadcrumbs li:not(:last-child) {
    padding-right: 35px;
}

.breadcrumbs li:not(:last-child)::after {
    content: '';
    width: 8px;
    height: 1px;
    background: #DDDDDD;
    position: absolute;
    top: 50%;
    right: 10px;
}

.breadcrumbs li a {
    color: #333333;
}

.breadcrumbs li:first-child a {
    color: #DC3A87;
    padding: 0 0 0 25px;
}

.breadcrumbs li:first-child a::before {
    content: '\e90f';
    font-family: 'tdg';
    color: #DC3A87;
    font-size: 1.4rem;
    line-height: 1;
    position: absolute;
    top: 2px;
    left: 0px;
}

@media only screen and (max-width: 768px) {

    /*modified by m-kim : 20220316*/
    /*display:none → view*/
    .breadcrumbs {
        margin-top: 0;
        /*-2em*/
        width: 100%;
        position: absolute;
        z-index: 10;
        /*top: 200px;
		z-index: 50;
		padding-bottom: 0.5em;
        margin-bottom: 1em;*/
    }

    .breadcrumbs ul {
        margin: 0 auto;
        margin-right: 0;
        padding: 0;
        padding-top: 0.2em;
        padding-left: 0.5em;
        padding-right: 0.5em;
        height: 3em;
        line-height: 1.5;
        font-feature-settings: "palt";
        text-align: center;
        font-size: 0.5erm;
        overflow: hidden;
        letter-spacing: 0.1em;
    }

    .pg_ttl_deco+.breadcrumbs ul {
        margin: 0 auto;
        margin-right: 0;
    }
}


/*-----------------------------------------
	copy
-----------------------------------------*/
.entry_base .copy {
    margin: 0 0 5px;
    font-size: 2.7rem;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.06em;
    position: relative;
}

.entry_base .copy::before {
    content: none;
}

.entry_base .copy::after {
    content: "\e905";
    font-family: 'tdg';
    display: block;
    color: #CD3074;
    font-size: 1.8rem;
    text-align: center;
    margin: 10px 0 0;
}

.entry_base .copy strong {
    color: #CD3074;
}

@media only screen and (max-width: 768px) {
    .entry_base .copy {
        font-size: 2.0rem;
    }
}

/*-----------------------------------------
	heading
-----------------------------------------*/
.entry_base .head_wrap {
    margin: 0 auto 60px;
}

/* head_ttl */
.entry_base .head_ttl {
    text-align: center;
    margin: 0 0 80px;
}

.entry_base .head_ttl img {
    width: 400px;
}

/* size_s */
.entry_base .head_ttl.size_s img {
    width: 268px;
}

/* sec_head */
.entry_base .sec_head {
    font-size: 2.7rem;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    padding: 0 0 25px;
    border-bottom: none;
    border-left: none;
    background: transparent !important;
}

/*.entry_base .sec_head::before {
	content: none;
}*/
.entry_base .sec_head::after {
    bottom: auto;
    margin-top: 10px;
}

/* award */
.entry_base .sec_head.award::before {
    content: '\e922';
    font-family: 'tdg';
    display: block;
    text-align: left;
    font-size: 4.7rem;
    color: #FFAD14;
    line-height: 1;
    margin: 0 0 15px -10px;
}

/* faq */
.entry_base .sec_head.faq::before {
    content: url(/faq/files/icon_faq.png);
    display: block;
    text-align: center;
    margin: 0 0 20px;
}

/* ao */
.entry_base .sec_head.ao {
    color: #DE0975;
}

.entry_base .sec_head.ao img:first-child {
    width: 410px;
    margin-bottom: 18px;
}

.entry_base .sec_head.ao img:nth-child(2) {
    width: 458px;
}

/* tdg-world */
.entry_base .sec_head.tdg-world::after {
    content: none;
}

.entry_base .sec_head.tdg-world img {
    width: 500px;
    margin-bottom: 18px;
}

.entry_base .sec_head.tdg_deco::before {
    content: url(/tdg-world/files/tdg_world_deco.png);
    display: block;
    text-align: center;
    margin: 0 0 20px;
}

/* lp-main */
.entry_base .sec_head.lp-main::after {
    content: none;
}

.entry_base .sec_head.lp-main img {
    width: 980px;
    margin-bottom: 18px;
}

.entry_base .sec_head.lp-main::before {
    content: none;
}

/* lp-main _end*/
.entry_base .sec_head img {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.entry_base .sec_head span {
    font-family: 'PT Sans', sans-serif;
    color: #DE0975;
    font-size: 1.4rem;
    letter-spacing: 0.1em;
    margin: 5px 0 0;
    display: block;
}

/* .vct360 */
.entry_base .sec_head .vct360 {
    display: block;
    font-size: 3.8rem;
    line-height: 1.2;
    font-weight: 700;
    margin: 0 0 30px;
}

.entry_base .sec_head .vct360>span {
    font-size: 5.7rem;
    color: #DE0975;
    margin: 0;
}

.entry_base .sec_head::after {
    font-size: 1.8rem;
}

.entry_base .sec_head+p,
.entry_base .sec_text {
    text-align: center;
    /*width: 890px;*/
    width: 92%;
    font-size: 1.6rem;
    margin: 0 auto 25px;
}

/* type_dpt */
.entry_base h3.type_dpt::before {
    content: none;
}

.entry_base h2 {
    display: table;
    margin: 0 0 30px;
    padding: 0 0 10px;
    font-size: 2.2rem;
    line-height: 1.5;
    border-bottom: 1px solid #CD3074;
}

.entry_base h3 {
    display: block;
    font-size: 2.0rem;
    color: #333333;
    padding: 10px 22px;
    margin: 0 0 45px;
    background: #F7F5F6;
    border-left: 5px solid #DE0975;
    border-bottom: none;
}

main>section:not(.block_wrap):not(.course_field):not(.oc_field):nth-of-type(2n) .entry_base h3,
.sec_bg_g .entry_base h3 {
    background: #FFF;
}

main>section:not(.block_wrap):not(.course_field):not(.oc_field):nth-of-type(2n) .base_inner h3,
.sec_bg_g .base_inner h3 {
    background: #F7F5F6;
}

.entry_base h4:not(.marker) {
    margin: 0 0 20px;
    font-size: 2.0rem;
    color: #DE0975;
    font-weight: 700;
}

.entry_base h5 {
    margin: 0 0 18px;
    font-size: 1.8rem;
    color: #DE0975;
    font-weight: 500;
}

.entry_base h6 {
    margin: 0 0 18px;
    font-size: 1.6rem;
    font-weight: 700;
}

/*SEO対策　講師名前h3に変更*/
.entry_base .kosi_h3 {
    display: inline-block;
    font-size: inherit;
    color: inherit;
    padding: inherit;
    margin: 0 auto;
    background: none;
    border-left: none;
    border-bottom: none;
}

main>section:not(.block_wrap):not(.course_field):not(.oc_field):nth-of-type(2n) .entry_base .kosi_h3,
.sec_bg_g .entry_base .kosi_h3 {
    background: none;
}

/* sec_l_border */
.entry_base .sec_l_border {
    display: block;
    font-size: 1.6rem;
    color: #DE0975;
    background: none;
    padding: 0 10px;
    margin: 0 0 16px;
    border-left: 3px solid #DE0975;
}

.entry_base .sec_l_border::before {
    content: none;
}

/* sec_deco */
.entry_base .sec_deco {
    display: inline-block;
    font-family: 'PT Sans', sans-serif;
    font-size: 1.6rem;
    font-weight: 700;
    margin: 0 0 28px;
    padding: 0;
    position: relative;
    border-left: none;
    background: transparent;
}

.entry_base .sec_deco::after {
    content: "\e905";
    font-family: 'tdg';
    display: block;
    font-size: 1.4rem;
    color: #CD3074;
    position: absolute;
    right: -32px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

/* sec_num */
.entry_base .sec_num {
    font-size: 2.2rem !important;
    margin-bottom: 55px !important;
    font-weight: 400 !important;
    color: #222 !important;
    text-align: center;
    position: relative;
}

.entry_base .sec_num .num {
    display: block;
    margin: 0 auto 10px;
    font-family: 'PT Sans', sans-serif;
    font-size: 2.7rem;
    font-weight: 700;
    text-align: center;
    color: #FFF;
    position: relative;
    width: 40px;
    height: 40px;
    background: #DE0975;
    border-radius: 50%;
}

.entry_base .sec_num .marker_wrap {
    display: block;
    font-size: 3.2rem;
    margin: 0 0 15px;
    font-weight: 700;
}

.entry_base .sec_num+p {
    font-size: 1.6rem;
    text-align: center;
}

/* sec_marker_copy */
.entry_base .sec_marker_copy {
    font-size: 2.4rem;
    font-weight: 700;
    margin: 0 0 30px;
    text-align: center;
    background: transparent !important;
    border-left: none;
}

.entry_base .sec_marker_copy .marker_wrap {
    display: block;
}

.entry_base .sec_marker_copy .marker {
    font-size: 3.3rem;
}

/* sec_line */
.entry_base .sec_line {
    font-size: 2.0rem;
    position: relative;
    margin: 0 0 20px;
    padding-left: 38px;
    font-weight: 400 !important;
    color: #222 !important;
}

.entry_base .sec_line::before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 3px;
    background: #DE0975;
    position: absolute;
    left: 0;
    top: 14px;
}

.entry_base .sec_line_indent {
    margin-left: 40px;
}

/* sec_check */
.entry_base .sec_check {
    display: block;
    font-family: 'PT Sans', sans-serif;
    font-size: 1.6rem;
    font-weight: 700;
    color: #FFF;
    text-align: center;
    margin: 0 0 20px;
    padding: 11px;
    border-radius: 5px;
    border-left: none;
}

.entry_base .sec_check::before {
    content: none;
}

.entry_base .sec_check span {
    display: inline-block;
    position: relative;
    padding: 0 0 0 27px;
}

.entry_base .sec_check span::before {
    content: "\e921";
    font-family: 'tdg';
    display: block;
    font-size: 1.4rem;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.entry_base p {
    font-size: 1.4rem;
    margin: 0 0 40px;
    line-height: 2.0;
}

.entry_base p.margin_s {
    margin: 0 0 20px;
}

.entry_base p.font_l {
    font-size: 1.6rem;
}

.entry_base .accent {
    color: #DE0975;
}

.entry_base .attention_text {
    font-size: 1.6rem;
    color: #FF1D00;
}

.entry_base .pdf_icon {
    padding: 0 24px 0 0;
    font-size: 1.4rem;
    color: #333;
    position: relative;
    cursor: pointer;
    background: url(/files/common/icon_pdf.png) no-repeat center right;
}

.entry_base .pdf_icon>span {
    color: #8D8D8D;
    margin-left: 10px;
}

/* diamond */
.entry_base .diamond {
    position: relative;
}

.entry_base .diamond::before {
    content: '';
    display: block;
    width: 7px;
    height: 7px;
    background: #DE0975;
    position: absolute;
    top: 50%;
    left: -15px;
    -webkit-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
}

.entry_base .font_s {
    font-size: 1.4rem !important;
}

.entry_base .marker {
    padding: 0;
    display: inline;
    text-align: center;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(65%, transparent), color-stop(0%, rgba(252, 0, 128, .2)));
    background: linear-gradient(transparent 65%, rgba(252, 0, 128, .2) 0%);
}

hr {
    margin: 60px -40px;
    border: 0;
    border-top: 2px solid #F7F7F7;
}

/* .base_inner */
.base_inner {
    background: rgba(255, 255, 255, 0.95);
    padding: 80px 100px;
    border-radius: 15px;
    -webkit-box-shadow: 0 0 8px rgba(105, 105, 105, .08);
    box-shadow: 0 0 8px rgba(105, 105, 105, .08);
    position: relative;
}

.base_inner.short_padd {
    padding: 80px 60px;
}

@media only screen and (max-width: 768px) {
    .entry_base .head_wrap {
        margin-bottom: 32px;
    }

    .entry_base .head_ttl {
        margin: 0 auto 60px;
    }

    .entry_base .sec_head {
        padding: 0;
        margin: 0 auto 60px;
        font-size: 2rem;
        letter-spacing: 0.05em;
    }

    .entry_base .sec_head.ao img {
        width: 80% !important;
    }

    .entry_base .sec_head.award::before {
        text-align: center;
    }

    .entry_base .sec_num {
        font-size: 2.0rem;
        margin-bottom: 30px;
    }

    .entry_base .sec_num .marker_wrap {
        font-size: 2.5rem;
    }

    .entry_base .sec_marker_copy {
        font-size: 2.2rem;
    }

    .entry_base .sec_marker_copy .marker {
        font-size: 2.5rem;
    }

    .entry_base .sec_line {
        font-size: 1.8rem;
        padding-left: 28px;
        margin: 0 0 10px;
    }

    .entry_base .sec_line::before {
        width: 18px;
    }

    .entry_base .sec_line_indent {
        margin-left: 0;
    }

    .entry_base .sec_head span {
        margin: 5px 0 0 0;
    }

    .entry_base .sec_head+p,
    .entry_base .sec_text {
        width: auto;
        font-size: 1.4rem;
    }

    .entry_base h3 {
        margin: 0 0 30px;
    }

    .entry_base p {
        letter-spacing: 0.05em;
    }

    hr {
        margin: 30px 0;
    }

    .base_inner,
    .base_inner.short_padd {
        padding: 10% 5%;
    }
}

/* marker_ttl */
.marker_ttl {
    text-align: center;
    margin: 0 0 40px;
}

.marker_ttl p {
    font-family: 'M PLUS 1p', sans-serif;
    font-size: 3.2rem;
    line-height: 1.6;
}

.marker_ttl strong {
    font-size: 6.4rem;
    padding: 0 8px 0 10px;
}

.marker_ttl .accent {
    padding: 0 8px 0 0;
}

@media only screen and (max-width: 768px) {
    .marker_ttl {
        margin: 0 0 20px;
    }

    .marker_ttl p {
        font-size: 2.2rem;
    }

    .marker_ttl strong {
        font-size: 4.0rem;
        padding: 5px;
    }
}

/* stage_ttl */
.stage_ttl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    max-width: 235px;
    height: 58px;
    text-align: center;
    color: #FFF;
    background: #75C30C;
    margin: 0 auto 30px;
    border-radius: 50px;
    position: relative;
}

.stage_ttl.first {
    background: #75C30C;
}

.stage_ttl.second {
    background: #24ADA8;
}

.stage_ttl .icon {
    display: inline-block;
    background: #FFF;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 6px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.stage_ttl .icon::before {
    content: "\e90e";
    font-family: 'tdg';
    display: block;
    color: #75C30C;
    font-size: 2.7rem;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.stage_ttl.first .icon::before {
    content: "\e90e";
    color: #75C30C;
}

.stage_ttl.second .icon::before {
    content: "\e911";
    color: #24ADA8;
}

.stage_ttl>span:nth-child(2) {
    font-size: 1.8rem;
    font-weight: 700;
    width: 70px;
    margin: 0 0 0 55px;
    border-right: 1px solid #FFF;
}

.stage_ttl>span:last-child {
    font-family: 'PT Sans', sans-serif;
    font-size: 1.8rem;
    font-weight: 700;
    flex: 1;
    text-align: center;
}

/* list */
.entry_base ul.basic {
    margin: 0 0 30px;
    font-size: 1.6rem;
    list-style: none;
}

.entry_base ul.basic li {
    margin: 0 0 2px;
    padding: 0 0 0 25px;
    position: relative;
    font-weight: 700;
    line-height: 2.0;
}

/*.entry_base ul.basic li:before {
	content: '';
	width: 0;
	height: 0;
	display: block;
	position: absolute;
	top: 0.7em;
	left: 0;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 8px solid #DE0975;
}*/
/* circle */
.entry_base ul.basic.circle li:before {
    width: 5px;
    height: 5px;
    background: #DE0975;
    border-radius: 50%;
    top: 0.9em;
    left: 0.4em;
    border: none;
}

.entry_base ol.basic {
    margin: 0 0 30px;
    font-size: 1.6rem;
    counter-reset: num;
    list-style: none;
}

.entry_base ol.basic li {
    margin: 0 0 10px;
    padding: 0 0 0 20px;
    letter-spacing: 0;
    position: relative;
    line-height: 2.0;
}

.entry_base ol.basic span {
    color: #DE0975;
}

/*.entry_base ol.basic li:before {
	counter-increment: num;
	content: counter(num);
	display: block;
	text-align: center;
	font-family: 'PT Sans', sans-serif;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 20px;
	color: #DE0975;
	position: absolute;
	top: 0.5em;
	left: 0;
}*/

.entry_base ol.basic.circle>li {
    padding: 0 0 0 30px;
}

.entry_base ol.basic.circle>li:before {
    counter-increment: num;
    content: counter(num);
    width: 20px;
    height: 20px;
    display: block;
    text-align: center;
    font-family: 'PT Sans', sans-serif;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 20px;
    color: #FFF;
    position: absolute;
    top: 0.5em;
    left: 0;
    background: #DE0975;
    border-radius: 100%;
}

/* nest style */
.entry_base ul.basic .basic {
    margin: 10px 0 0;
    counter-reset: num;
}

.entry_base ul.basic ol.basic>li:before {
    border: none;
}

.entry_base ol.basic .basic {
    margin: 15px 0 0 -20px;
    counter-reset: num;
}

.entry_base ol.basic ul.basic>li:before {
    width: 0;
    height: 0;
    position: absolute;
    top: 0.4em;
    left: 7px;
    background: none;
    border-radius: 0;
}

@media only screen and (max-width: 768px) {
    .entry_base ul.basic {
        font-size: 1.4rem;
    }

    .entry_base ol.basic {
        font-size: 1.4rem;
    }

    .entry_base ol.basic li::before {
        top: 0.4em;
    }

    .entry_base ol.basic.circle li::before {
        top: 0.3em;
    }
}

/* table */
.entry_base table {
    width: 100%;
    margin: 0 0 30px;
    border-collapse: collapse;
}

.entry_base table caption {
    margin: 0 0 20px 0;
    text-align: left;
    word-break: break-all;
}

.entry_base table th,
.entry_base table td {
    font-weight: bold;
    vertical-align: middle;
}

.entry_base table th {
    font-weight: bold;
}

.entry_base table thead th,
.entry_base table thead td {
    padding: 13px 20px;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 2.0;
    background: #E6E6E6;
    border: 2px solid #FFF;
}

.entry_base table tbody th,
.entry_base table tbody td {
    padding: 13px 20px;
    word-wrap: break-word;
    font-weight: 500;
    line-height: 2.0;
    color: #000;
}

.entry_base table tbody th {
    font-size: 1.6rem;
    background: #FCE7F2;
    border: 2px solid #FFF;
}

.entry_base table tbody td {
    font-size: 1.6rem;
    background: #F7F7F7;
    border: 2px solid #FFF;
}

.entry_base table td>*:last-child {
    margin: 0;
}

@media only screen and (max-width: 768px) {
    .entry_base table {
        margin: 0 0 20px;
    }

    .entry_base table thead th,
    .entry_base table thead td {
        padding: 10px 15px;
        font-size: 1.4rem;
    }

    .entry_base table tbody th {
        font-size: 1.4rem;
    }

    .entry_base table tbody td {
        font-size: 1.2rem;
    }

    /*.entry_base table.noScroll tbody th,
	.entry_base table.noScroll tbody td {
		width: 100%!important;
		margin-top: -1px;
		padding: 10px 15px;
		display: block;
	}*/
    .entry_base table.noScroll tbody th,
    .entry_base table.noScroll tbody td {
        width: 50%;
        margin-top: -1px;
        padding: 10px 15px;
    }

    .entry_base .tblScroll {
        margin: 0 0 20px;
        overflow-x: auto;
    }

    .entry_base .tblScroll table {
        width: 1120px;
        margin: 0;
    }

    .entry_base .tblScroll tbody th,
    .entry_base .tblScroll tbody td {
        padding: 10px 15px;
        border: 1px solid #ebebeb;
        display: table-cell;
    }

    .entry_base .tblScroll tbody th {
        font-size: 1.4rem;
    }

    .entry_base .tblScroll tbody td {
        font-size: 1.2rem;
    }

    .entry_base .tblScroll::-webkit-scrollbar {
        height: 5px;
    }

    .entry_base .tblScroll::-webkit-scrollbar-track {
        border-radius: 5px;
        background: #eee;
    }

    .entry_base .tblScroll::-webkit-scrollbar-thumb {
        border-radius: 5px;
        background: #666;
    }
}

/* dl */
.entry_base dl.basic {
    margin: 0 auto 30px;
}

.entry_base dl.basic dt {
    margin: 0 auto 30px;
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 1.8;
    display: inline;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, rgba(85, 173, 234, .1)));
    background: linear-gradient(transparent 60%, rgba(222, 9, 117, .23) 0%);
}

.entry_base dl.basic dd {
    margin: 16px 0 0;
    font-size: 1.5rem;
    line-height: 2.2;
}

/*-----------------------------------------
	intro
-----------------------------------------*/
.intro {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    align-items: flex-start;
    margin: 62px 80px 50px 50px;
    /*62px 80px 135px 0*/
    z-index: 1;
}

/*.intro.deco_lb::before {
	content: url(/files/common/bg_deco_intro_l.png);
	display: block;
	position: absolute;
	top: 260px;
	left: -125px;
	background-size: contain;
	z-index: -1;
}*/
.intro.ttl_deco_lb::before {
    top: 440px;
}

/*.intro.deco_rt::after {
	content: url(/files/common/bg_deco_intro_r.png);
	display: block;
	position: absolute;
	top: 15px;
	right: -305px;
	background-size: contain;
}*/
.intro .main_img {
    width: 500px;
    margin-right: 100px;
    position: relative;
}

.intro .main_img img {
    width: 100%;
    height: auto;
    /*border-radius: 0 5px 5px 0;*/
}

.intro .main_img::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(186, 57, 123, 0.08);
    border-radius: 0 5px 5px 0;
    position: absolute;
    top: 0;
    z-index: 1;
}

.intro .entry_base {
    width: calc(100% - 0px);
    /*calc(100% - 623px)*/
}

.intro .copy::after {
    text-align: left;
}

.intro .entry_base p {
    font-size: 1.8rem;
}

@media only screen and (max-width: 1260px) {
    .intro {
        margin: 62px 40px 85px 50px;
        /*62px 40px 135px 0*/
    }

    .intro .main_img {
        border-radius: 0 5px 5px 0;
        margin-right: 5%;
    }

    .intro .entry_base {
        width: calc(95% - 0px);
        /*calc(95% - 500px)*/
    }
}

@media only screen and (max-width: 768px) {
    .intro {
        display: block;
        margin-right: 0;
        margin: 46px 0 80px 0;
    }

    .intro.deco_lb::before {
        top: 437px;
        left: -245px;
    }

    .intro.deco_rt::after {
        content: none;
    }

    .intro .main_img {
        width: 87%;
        height: 260px;
        margin: 0 0 45px 0;
        overflow: hidden;
    }

    .intro .main_img img {
        /*margin-top: -70px;*/
        /*height: 260px;
		width: 100%;*/
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
    }

    /* minH */
    .intro .main_img.minH {
        height: auto;
    }

    .intro .main_img.minH img {
        position: static;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }

    .intro .entry_base {
        width: 92%;
        margin-left: 4%;
        margin-right: 4%;
    }

    .intro .entry_base p {
        font-size: 1.6rem;
    }
}


/*-----------------------------------------
	point_wrap
-----------------------------------------*/
.entry_base .point_wrap {
    /*margin: 0 auto 112px;*/
}

.entry_base .point_wrap h2 {
    margin: 0 auto 60px;
    font-size: 3.6rem;
    font-weight: 500;
    text-align: center;
    border-bottom: none;
}

.entry_base .point_wrap h2 img {
    display: block;
    width: 215px;
    margin: 0 auto 5px;
}

/*.entry_base .point_wrap dt span {
	color: #55ADEA;
}*/
.entry_base .point_list {
    /*margin: 0 0 30px;*/
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.entry_base .point_list li {
    padding: 65px 40px 50px;
    margin: 0 0 80px 0;
    border-radius: 5px;
    background: #FDFAFA;
    list-style: none;
    position: relative;
    -webkit-box-shadow: 0 0 16px rgba(90, 62, 62, .08);
    box-shadow: 0 0 16px rgba(90, 62, 62, .08);
    border-style: solid;
    border-width: 8px 0 0 0;
    border-color: #DE0975;
}

.entry_base .point_list li .num {
    font-family: 'PT Sans', sans-serif;
    /*color: #DD4C34;*/
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 1.0;
    text-align: center;
    width: 92px;
    height: 92px;
    border-radius: 50%;
    position: absolute;
    top: -46px;
    left: 37px;
    border-style: dashed;
    border-width: 1.5px;
    background: #FFF;
    padding: 10px 0 0;
}

.entry_base .point_list li .num span {
    font-size: 4.8rem;
    display: block;
    text-align: center;
    color: #FFF;
    text-shadow:
        1px 1px 0px #DD4C34,
        -1px 1px 0px #DD4C34,
        1px -1px 0px #DD4C34,
        -1px -1px 0px #DD4C34,
        1px 0px 0px #DD4C34,
        0px 1px 0px #DD4C34,
        -1px 0px 0px #DD4C34,
        0px -1px 0px #DD4C34;
}

.entry_base .point_list li .ttl {
    margin: 0 0 10px;
    font-size: 2.0rem;
    font-weight: 500;
}

.entry_base .point_list li p {
    margin: 0 0 30px;
    font-size: 1.4rem;
}

.entry_base .point_list li p:last-child {
    margin-bottom: 0;
}

@media only screen and (max-width: 1100px) {
    .entry_base .point_list li .ttl br {
        display: none;
    }
}

@media only screen and (max-width: 768px) {
    .entry_base .point_list li {
        padding: 30px 5% 5%;
        margin: 0 0 46px 0;
        border-width: 4px 0 0 0;
    }

    /*.entry_base .point_list li:last-child {
			margin: 0;
	}*/
    .entry_base .point_list li .num {
        font-size: 0.9rem;
        width: 52px;
        height: 52px;
        top: -26px;
        left: 20px;
        padding: 8px 0 0;
    }

    .entry_base .point_list li .num span {
        font-size: 2.7rem;
    }

    .entry_base .point_list li .ttl {
        font-size: 1.4rem;
    }
}

/* type_check */
.entry_base .point_list.type_check {
    position: relative;
    margin: 80px 0 0;
    z-index: 1;
}

.entry_base .point_list.type_check::before,
.entry_base .point_list.type_check::after {
    display: block;
    position: absolute;
}

/*.entry_base .point_list.type_check::before {
	content: url(/ao-guide/files/point_deco_01.png);
	background-size: contain;
	top: -130px;
	left: -72px;
}
.entry_base .point_list.type_check::after {
	content: url(/ao-guide/files/point_deco_02.png);
	background-size: contain;
	bottom: -20px;
	right: -90px;
	z-index: -1;
}*/
.entry_base .point_list.type_check li {
    margin: 0 0 60px 0;
    padding: 45px 30px 30px;
    background: rgba(255, 255, 255, 0.95);
}

.entry_base .point_list.type_check li .num {
    width: 90px;
    height: 90px;
    color: #FFF;
    background: #DE0975;
    border: none;
    top: -53px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.entry_base .point_list.type_check li .num span {
    font-size: 3.6rem;
    text-shadow: none;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.entry_base .point_list.type_check li .num span::before {
    content: "\e921";
    font-family: 'tdg';
    display: block;
    font-size: 1.6rem;
    font-weight: 500;
    position: absolute;
    left: 50%;
    top: -20px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.entry_base .point_list.type_check li p {
    font-size: 1.8rem;
    text-align: center;
}

.entry_base .point_list.type_check+.marker_ttl {
    margin: 0 0 112px;
}

@media only screen and (max-width: 768px) {
    .entry_base .point_list.type_check {
        margin-bottom: 20px;
    }

    .entry_base .point_list.type_check li {
        padding: 30px 5% 5%;
    }

    .entry_base .point_list.type_check li .num {
        width: 70px;
        height: 70px;
        top: -40px;
    }

    .entry_base .point_list.type_check li .num span {
        font-size: 2.6rem;
    }

    .entry_base .point_list.type_check li .num span::before {
        font-size: 1.2rem;
        top: -16px;
    }

    .entry_base .point_list.type_check+.marker_ttl {
        margin: 0 0 20px;
    }
}

/*-----------------------------------------
	stage_set
-----------------------------------------*/
.stage_set {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

/* num_area */
.stage_set .num_area {
    width: 175px;
    padding: 68px 25px;
    background: #DE0975;
    color: #FFF;
    position: relative;
}

.stage_set:first-of-type .num_area {
    border-radius: 15px 0 0 0;
}

.stage_set:last-of-type .num_area {
    border-radius: 0 0 0 15px;
}

.stage_set:not(:last-of-type) .num_area::after {
    content: '';
    display: block;
    position: absolute;
    bottom: -18px;
    left: 0;
    width: 100%;
    height: 35px;
    background: url(/department/files/stage_arrow.svg) no-repeat center center;
    z-index: 1;
}

.dpt_designsogo .stage_set:not(:last-of-type) .num_area::after {
    background: url("/department/files/stage_arrow-designsogo.svg") no-repeat center center;
}

.stage_set .num {
    font-size: 2.3rem;
    font-weight: 500;
    text-align: center;
    margin: 0 0 35px;
}

.stage_set .num span {
    display: block;
    font-family: 'PT Sans', sans-serif;
    font-size: 2.0rem;
    text-align: center;
    font-weight: 700;
}

.stage_set .icon {
    display: block;
    margin: 0 auto 13px;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: #FFF;
    position: relative;
}

.stage_set .icon::before {
    display: table;
    font-family: 'tdg';
    font-size: 5.0rem;
    color: #DE0975;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.stage_set .icon-sprout::before {
    font-size: 3.5rem;
}

.stage_set .label {
    display: table;
    font-size: 2.0rem;
    color: #DE0975;
    border-radius: 5px;
    padding: 0 15px;
    margin: 0 auto;
    background: #FFF;
}

/* cont_area */
.stage_set .cont_area {
    width: calc(100% - 190px);
    padding: 55px 40px 65px;
    background: #FFF;
}

.stage_set:not(:last-of-type) .cont_area {
    border-bottom: 2px solid #F7F7F7;
}

.stage_set:first-of-type .cont_area {
    border-radius: 0 15px 0 0;
}

.stage_set:last-of-type .cont_area {
    border-radius: 0 0 15px 0;
}

.stage_set .cont_area ul:not(:last-child) {
    margin: 0 0 20px 0;
}

.stage_set .cont_area ul li {
    margin-bottom: 25px;
}

.stage_set .img_area {
    width: 41.5%;
}

.stage_set .text_area {
    width: 54%;
}

.stage_set .cont_area figure {
    /*margin: 0 0 25px;*/
    border-radius: 5px;
    overflow: hidden;
}

.stage_set .cont_area h3 {
    /*color: #DD4C34;*/
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 2.0;
    letter-spacing: 0.05em;
    margin: 0 0 40px;
    position: relative;
    padding: 0;
    border-left: none;
    background: none;
}

.stage_set .cont_area h4 {
    font-size: 1.6rem;
    font-weight: 500;
    color: #222;
    padding: 0 0 0 10px;
    margin: 25px 0 15px 0;
    border-left: 3px solid #DE0975;
    background: none;
}

.stage_set .cont_area h4+p {
    font-size: 1.4rem;
    line-height: 1.8;
    padding: 0 0 0 13px;
}

@media only screen and (max-width: 768px) {
    .stage_set {
        display: block;
    }

    .stage_set .num_area {
        width: 100%;
        margin: 0;
        padding: 3% 5% 8%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        position: relative;
    }

    .stage_set:first-of-type .num_area {
        border-radius: 15px 15px 0 0;
    }

    .stage_set:not(:last-of-type) .num_area::after {
        background: none;
    }

    .stage_set .num_area::before {
        content: '';
        display: block;
        position: absolute;
        bottom: 0 !important;
        left: 0;
        width: 0 !important;
        height: 0 !important;
        border-style: solid;
        border-width: 12px 0 0 50vw;
        border-color: transparent transparent transparent #ffffff;
    }

    .stage_set .num_area::after {
        content: '';
        position: absolute;
        bottom: 0 !important;
        left: auto !important;
        right: 0 !important;
        width: 0 !important;
        height: 0 !important;
        border-style: solid;
        border-width: 0 0 12px 50vw;
        border-color: transparent transparent #ffffff transparent;
    }

    .stage_set .num {
        order: 2;
        width: calc(100% - 90px);
        margin: 0;
        text-align: left;
    }

    .stage_set .num span {
        text-align: left;
    }

    .stage_set .icon_wrap {
        order: 1;
    }

    .stage_set .icon {
        width: 62px;
        height: 62px;
    }

    .stage_set .icon::before {
        font-size: 3.0rem;
    }

    .stage_set .label {
        font-size: 1.2rem;
        padding: 0 10px;
    }

    .stage_set .cont_area {
        width: 100%;
        padding: 5%;
        border-radius: 0 !important;
    }

    .stage_set .img_area {
        width: 100%;
    }

    .stage_set .text_area {
        width: 100%;
    }
}

/*-----------------------------------------
	step_set
-----------------------------------------*/
.step_wrap {
    position: relative;
}

.step_wrap::before {
    content: '';
    display: block;
    border-radius: 15px 15px 0 0;
    position: absolute;
    top: 520px;
    left: auto;
    right: 55px;
    width: 58px;
    height: calc(100% - 635px);
    background: #DE0975;
    background: -moz-linear-gradient(0deg, #FFE93C 0%, #DE0975 100%);
    background: -webkit-gradient(linear, left top, right bottom, from(#FFE93C), to(#DE0975));
    background: -webkit-linear-gradient(0deg, #FFE93C 0%, #DE0975 100%);
    background: -o-linear-gradient(0deg, #FFE93C 0%, #DE0975 100%);
    background: linear-gradient(0deg, #FFE93C 0%, #DE0975 100%);
    -webkit-transform: translateY(0);
    transform: translateY(0);
    z-index: 2;
}

.step_wrap::after {
    content: '';
    display: block;
    position: absolute;
    right: 45px;
    bottom: 68px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 48px 40px 0 40px;
    border-color: #FFE93C transparent transparent transparent;
    z-index: 1;
}

.step_wrap .ao_deco {
    position: relative;
}

.step_wrap .ao_deco::before {
    content: url(/ao-guide/files/ao_deco2.png);
    background-size: contain;
    display: block;
    position: absolute;
    width: 210px;
    height: 210px;
    top: 330px;
    right: -20px;
    background-color: #FFF;
    border-radius: 50%;
    z-index: 2;
}

.step_set {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

/* num_area */
.step_set .num_area {
    width: 175px;
    padding: 68px 25px;
    background: #DD4C34;
    color: #FFF;
    position: relative;
}

.step_set:first-child .num_area {
    background: #DE0975;
    background: -moz-linear-gradient(top, #DE0975 0%, #e32b6c 100%);
    background: -webkit-linear-gradient(top, #DE0975 0%, #e32b6c 100%);
    background: linear-gradient(to bottom, #DE0975 0%, #e32b6c 100%);
}

.step_set:nth-child(2) .num_area {
    background: #e32b6c;
    background: -moz-linear-gradient(top, #e32b6c 0%, #ed725a 100%);
    background: -webkit-linear-gradient(top, #e32b6c 0%, #ed725a 100%);
    background: linear-gradient(to bottom, #e32b6c 0%, #ed725a 100%);
}

.step_set:nth-child(3) .num_area {
    background: #ed725a;
    background: -moz-linear-gradient(top, #ed725a 0%, #f4a44d 100%);
    background: -webkit-linear-gradient(top, #ed725a 0%, #f4a44d 100%);
    background: linear-gradient(to bottom, #ed725a 0%, #f4a44d 100%);
}

.step_set:nth-child(4) .num_area {
    background: #f4a44d;
    background: -moz-linear-gradient(top, #f4a44d 0%, #fcd740 100%);
    background: -webkit-linear-gradient(top, #f4a44d 0%, #fcd740 100%);
    background: linear-gradient(to bottom, #f4a44d 0%, #fcd740 100%);
}

.step_set:last-child .num_area {
    background: #fcd740;
    background: -moz-linear-gradient(top, #fcd740 0%, #FFE93C 100%);
    background: -webkit-linear-gradient(top, #fcd740 0%, #FFE93C 100%);
    background: linear-gradient(to bottom, #fcd740 0%, #FFE93C 100%);
}

.step_set:first-child .num_area {
    border-radius: 15px 0 0 0;
}

.step_set:last-child .num_area {
    border-radius: 0 0 0 15px;
}

.step_set:not(:last-child) .num_area::after {
    content: '';
    display: block;
    position: absolute;
    bottom: -30px;
    left: 0;
    width: 100%;
    height: 35px;
    background: url(/ao-guide/files/step_arrow.svg) no-repeat center center;
    z-index: 1;
}

.step_set .num {
    font-family: 'PT Sans', sans-serif;
    font-size: 4.8rem;
    text-align: center;
    font-weight: 700;
    text-align: center;
}

.step_set .num span {
    display: block;
    font-size: 2.0rem;
    text-align: center;
    font-weight: 700;
}

/* cont_area */
.step_set .cont_area {
    width: calc(100% - 175px);
    padding: 50px 170px 50px 55px;
    background: #FFF;
    position: relative;
}

.step_set:not(:last-child) .cont_area::after {
    content: '';
    display: block;
    background: #F7F7F7;
    height: 2px;
    width: calc(100% - 15px);
    position: absolute;
    left: 15px;
    bottom: 0;
}

.step_set:first-child .cont_area {
    border-radius: 0 15px 0 0;
}

.step_set:last-child .cont_area {
    border-radius: 0 0 15px 0;
}

/*.step_set .cont_area ul:not(:last-child) {
	margin: 0 0 20px 0;
}
.step_set .cont_area ul li {
	margin-bottom: 25px;
}*/
.step_set .img_area {
    width: 41.5%;
}

.step_set .text_area {
    width: 54%;
}

.step_set .cont_area figure {
    /*margin: 0 0 25px;*/
    border-radius: 5px;
    overflow: hidden;
}

.step_set .cont_area h3 {
    color: #DE0975;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 2.0;
    letter-spacing: 0.05em;
    margin: 0 0 20px;
    position: relative;
    padding: 0;
    border-left: none;
    background: none;
}

.step_set .cont_area h4 {
    font-size: 1.6rem;
    font-weight: 500;
    color: #222;
    padding: 0 0 0 10px;
    margin: 25px 0 15px 0;
    border-left: 3px solid #DE0975;
    background: none;
}

.step_set .cont_area p {
    font-size: 1.6rem;
    letter-spacing: 0.05em;
}

.step_set .cont_area p:last-of-type {
    margin: 0;
}

.step_set .cont_area h4+p {
    font-size: 1.4rem;
    line-height: 1.8;
    padding: 0 0 0 13px;
}

.step_set .cont_area h4+ol {
    margin-left: 15px !important;
}

.step_set .cont_area .btn {
    width: 284px;
}

.step_set .cont_area .clm_wrap {
    border-radius: 5px;
    border: 1px solid #E2E2E2;
    padding: 25px;
    margin: 22px 0 25px -30px;
}

.step_set .cont_area .clm_wrap>div {
    margin-bottom: 0;
}

.step_set .cont_area .clm_wrap>.mail {
    width: 42%;
}

.step_set .cont_area .clm_wrap>.web {
    width: 52%;
}

.step_set .cont_area .clm_wrap h4 {
    margin: 0 0 15px;
    border-left: none;
    position: relative;
    color: #DE0975;
    font-size: 1.4rem;
    padding: 0 0 0 28px;
}

.step_set .cont_area .clm_wrap h4>span {
    display: inline-block;
    background: #FA9813;
    color: #FFF;
    border-radius: 5px;
    padding: 0 15px;
    margin: 0 0 0 23px;
    position: relative;
}

.step_set .cont_area .clm_wrap h4>span::before {
    content: '';
    display: block;
    position: absolute;
    left: -8px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4px 8px 4px 0;
    border-color: transparent #fa9a13 transparent transparent;
}

.step_set .cont_area .clm_wrap .mail h4::before {
    border-left: none;
    content: "\e925";
    font-family: 'tdg';
    font-size: 1.5rem;
    position: absolute;
    top: 0;
    left: 0;
}

.step_set .cont_area .clm_wrap .web h4::before {
    border-left: none;
    content: "\e923";
    font-family: 'tdg';
    font-size: 2.0rem;
    position: absolute;
    top: -0.2em;
    left: 0;
}

.step_set .cont_area .clm_wrap ol {
    font-size: 1.4rem;
}

.step_set .cont_area .clm_wrap li {
    letter-spacing: -0.05em;
}

.step_set .cont_area .clm_wrap li::before {
    top: 0.3em;
}

@media only screen and (max-width: 768px) {

    /*.step_wrap::before,
	.step_wrap::after,
	.step_wrap .ao_deco::before {
		content: none;
	}*/
    .step_wrap::before {
        width: 30px;
        height: calc(100% - 710px);
        top: 580px;
        right: 15px;
    }

    .step_wrap::after {
        right: 8px;
        bottom: 3.6%;
        border-width: 25px 22px 0 22px;
    }

    .step_wrap .ao_deco::before {
        top: 450px;
        right: -75px;
        transform: scale(0.4, 0.4);
    }

    .step_set {
        display: block;
    }

    .step_set .num_area {
        width: 100%;
        margin: 0;
        padding: 3% 5% 4%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        position: relative;
    }

    .step_set:first-child .num_area {
        border-radius: 15px 15px 0 0;
    }

    .step_set:not(:last-child) .num_area::after {
        background: none;
    }

    .step_set .num_area::before {
        content: '';
        display: block;
        position: absolute;
        bottom: 0 !important;
        left: 0;
        width: 0 !important;
        height: 0 !important;
        border-style: solid;
        border-width: 12px 0 0 50vw;
        border-color: transparent transparent transparent #ffffff;
    }

    .step_set .num_area::after {
        content: '';
        position: absolute;
        bottom: 0 !important;
        left: auto !important;
        right: 0 !important;
        width: 0 !important;
        height: 0 !important;
        border-style: solid;
        border-width: 0 0 12px 50vw;
        border-color: transparent transparent #ffffff transparent;
    }

    .step_set .num {
        font-size: 3.8rem;
        line-height: 1.2;
        order: 2;
        width: 100%;
        margin: 0;
        text-align: center;
    }

    .step_set .num span {
        font-size: 1.8rem;
        text-align: center;
    }

    .step_set .icon_wrap {
        order: 1;
    }

    .step_set .icon {
        width: 62px;
        height: 62px;
    }

    .step_set .icon::before {
        font-size: 3.0rem;
    }

    .step_set .label {
        font-size: 1.2rem;
        padding: 0 10px;
    }

    .step_set .cont_area {
        width: 100%;
        padding: 5%;
        border-radius: 0 !important;
    }

    .step_set:not(:first-child) .cont_area {
        padding: 5% 55px 5% 5%;
    }

    .step_set:not(:last-child) .cont_area::after {
        content: none;
    }

    .step_set .cont_area .clm_wrap {
        padding: 5%;
    }

    .step_set .cont_area .clm_wrap>.mail,
    .step_set .cont_area .clm_wrap>.web {
        width: 100%;
    }

    .step_set .cont_area .clm_wrap ol {
        margin: 15px 0 0 8px !important;
    }

    .step_set .cont_area .btn {
        width: 90%;
    }

    .step_set .img_area {
        width: 100%;
    }

    .step_set .text_area {
        width: 100%;
    }
}


/*-----------------------------------------
	admission_list
-----------------------------------------*/
.admission_list {
    position: relative;
    z-index: 1;
}

.admission_list li {
    position: relative;
    background: #FFF;
    border-radius: 5px;
    -webkit-box-shadow: 0 0 16px rgba(90, 62, 62, .08);
    box-shadow: 0 0 16px rgba(90, 62, 62, .08);
    /*min-height: 200px;*/
}

.admission_list li:not(:last-child) {
    margin-bottom: 20px;
}

.admission_list li::before {
    content: '';
    display: block;
    width: 200px;
    height: 100%;
    position: absolute;
    background: #DD4C34;
    top: 0;
    border-radius: 5px 0 0 5px;
}

.admission_list li::after {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    left: 22px;
    width: 34px;
    height: 90%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    opacity: 0.5;
}

.admission_list li figure {
    width: 188px;
    height: 188px;
    /*border-radius: 50%;
	overflow: hidden;*/
    position: absolute;
    top: 37px;
    left: 75px;
    z-index: 1;
}

.admission_list li figure img {
    width: 100%;
    height: auto;
    /*max-width: auto;
	max-width: initial;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);*/
}

/* profile */
.admission_list li .profile {
    height: 100%;
    padding: 52px 80px 45px 310px;
    position: relative;
    overflow: hidden;
}

.admission_list li .profile::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 160px;
    width: 40px;
    height: 101%;
    background: url(/department/files/admission_bg_v.svg) no-repeat center center;
    background-size: cover;
}

.admission_list li .profile strong {
    display: block;
    font-size: 2.8rem;
    font-weight: 500;
    margin: 0 0 10px;
}

.admission_list li .profile strong span {
    font-family: 'PT Sans', sans-serif;
    font-size: 1.5rem;
    color: #8D8D8D;
    margin: 0 0 0 12px;
}

.admission_list li .profile p {
    font-size: 1.4rem;
}

/* message */
.admission_list li .message {
    background: #F5F5F5;
    border-radius: 5px;
    padding: 30px 34px;
}

.admission_list li .message strong {
    font-family: 'PT Sans', sans-serif;
    font-weight: 700;
    font-size: 1.6rem;
    color: #DD4C34;
    padding: 0 0 0 28px;
    position: relative;
}

.admission_list li .message strong::before {
    content: "\e90c";
    font-family: 'tdg';
    font-size: 2.0rem;
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.admission_list li .message p {
    margin: 0;
}

@media only screen and (max-width: 768px) {
    .admission_list li::before {
        width: 100%;
        height: 170px;
        border-radius: 5px 5px 0 0;
    }

    .admission_list li::after {
        content: '';
        display: block;
        position: absolute;
        top: 23px;
        left: 50%;
        width: 90%;
        height: 34px;
        z-index: 1;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }

    .admission_list li figure {
        width: 137px;
        height: 137px;
        top: 60px;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }

    .admission_list li .profile {
        overflow: hidden;
        padding: 238px 5% 5%;
    }

    .admission_list li .profile::before {
        height: 40px;
        width: 102%;
        top: 130px;
        left: 50%;
        background: url(/department/files/admission_bg.svg) no-repeat center top;
        background-size: cover;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }

    .admission_list li .message {
        padding: 5%;
    }
}

/*-----------------------------------------
	schedule_list
-----------------------------------------*/
.schedule_list {
    position: relative;
    margin: 0 auto;
    width: 85%;
}

.schedule_list::before {
    content: '';
    display: block;
    border-radius: 15px 15px 0 0;
    position: absolute;
    top: 138px;
    left: -34px;
    width: 58px;
    height: calc(100% - 584px);
    background: #DE0975;
    background: -moz-linear-gradient(0deg, #FFE93C 0%, #DE0975 100%);
    background: -webkit-gradient(linear, left top, right bottom, from(#FFE93C), to(#DE0975));
    background: -webkit-linear-gradient(0deg, #FFE93C 0%, #DE0975 100%);
    background: -o-linear-gradient(0deg, #FFE93C 0%, #DE0975 100%);
    background: linear-gradient(0deg, #FFE93C 0%, #DE0975 100%);
    z-index: -1;
}

.schedule_list::after {
    content: '';
    display: block;
    position: absolute;
    left: -45px;
    bottom: 398px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 48px 40px 0 40px;
    border-color: #FFE93C transparent transparent transparent;
    z-index: -1;
}

.schedule_list li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background: rgba(255, 255, 255, 0.95);
    padding: 25px 0;
    border-radius: 15px;
    -webkit-box-shadow: 0 0 16px rgba(105, 105, 105, .08);
    box-shadow: 0 0 16px rgba(105, 105, 105, .08);
    position: relative;
}

.schedule_deco::before,
.schedule_deco::after {
    display: block;
    position: absolute;
    z-index: 1;
}

.schedule_list li:not(:last-child) {
    margin: 0 0 50px;
}

/* ttl_area */
.schedule_list li .ttl_area {
    width: 24%;
    min-width: 233px;
    padding: 0 20px;
}

.schedule_list li .ttl_area figure {
    text-align: center;
    margin: 30px 10px 20px;
    position: relative;
}

.schedule_list li .ttl_area figure::before {
    position: absolute;
    display: block;
    left: 50%;
    bottom: -8px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 1;
}

.schedule_list li .ttl_area>span {
    display: block;
    text-align: center;
}

.schedule_list li .ttl_area .label {
    font-size: 1.8rem;
}

.schedule_list li .ttl_area .season {
    font-size: 2.2rem;
}

.schedule_list li .ttl_area .season>strong {
    font-size: 4.2rem;
    font-weight: 700;
}

.schedule_list li .ttl_area .season>span {
    font-size: 2.7rem;
    margin: 0 5px;
}

/* spring_area */
.schedule_list .spring_area .ttl_area .label,
.schedule_list .spring_area .ttl_area .season>strong {
    color: #DE0975;
}

.schedule_list .spring_area .ttl_area figure::before {
    content: url(/highschool3/files/icon_spring.png);
    background-size: contain;
}

/* summer_area */
.schedule_list .summer_area .ttl_area .label,
.schedule_list .summer_area .ttl_area .season>strong {
    color: #13B1C6;
}

.schedule_list .summer_area .ttl_area figure::before {
    content: url(/highschool3/files/icon_summer.png);
    background-size: contain;
    bottom: -14px;
}

/* autumn_area */
.schedule_list .autumn_area .ttl_area .label,
.schedule_list .autumn_area .ttl_area .season>strong {
    color: #D99700;
}

.schedule_list .autumn_area .ttl_area figure::before {
    content: url(/highschool3/files/icon_autumn.png);
    background-size: contain;
}

/* winter_area */
.schedule_list .winter_area .ttl_area .label,
.schedule_list .winter_area .ttl_area .season>strong {
    color: #9E5EAD;
}

.schedule_list .winter_area .ttl_area figure::before {
    content: url(/highschool3/files/icon_winter.png);
    background-size: contain;
}

/* text_area */
.schedule_list li .text_area {
    padding: 20px 0 30px;
    border: 2px solid #EFEFEF;
    border-width: 0 0 0 2px;
    position: relative;
}

.schedule_list li .text_area>* {
    margin: 0 50px 30px;
}

.schedule_list li .text_area>*:last-child {
    margin-bottom: 0 !important;
}

.schedule_list li .num {
    font-family: 'M PLUS 1p', sans-serif;
    font-size: 5.2rem;
    font-weight: 500;
    line-height: 1;
    position: absolute;
    top: -50px;
    left: 45px;
    margin: 0;
}

/* spring_area */
.spr_deco01::before {
    content: url(/highschool3/files/spring_deco01.png);
    background-size: contain;
    top: -50px;
    left: -90px;
}

.spr_deco02::after {
    content: url(/highschool3/files/spring_deco02.png);
    background-size: contain;
    bottom: 213px;
    right: -86px;
}

.schedule_list .spring_area .num {
    color: #FEB4DA;
}

.schedule_list li .text_area .marker_wrap {
    margin-bottom: 40px;
}

.schedule_list li .text_area .marker_wrap_p {
    margin-bottom: 24px;
}

/* summer_area */
.sum_deco01::before {
    content: url(/highschool3/files/summer_deco01.png);
    background-size: contain;
    top: -50px;
    right: -86px;
}

.sum_deco02::after {
    content: url(/highschool3/files/summer_deco02.png);
    background-size: contain;
    bottom: 297px;
    left: -50px;
}

.sum_deco03::before {
    content: url(/highschool3/files/summer_deco03.png);
    background-size: contain;
    top: 416px;
    left: -110px;
}

.schedule_list .summer_area .num {
    color: #13B1C6;
}

/* autumn_area */
.aut_deco01::before {
    content: url(/highschool3/files/autumn_deco01.png);
    background-size: contain;
    top: -12px;
    left: -110px;
}

.aut_deco02::after {
    content: url(/highschool3/files/autumn_deco02.png);
    background-size: contain;
    bottom: 36px;
    right: -65px;
}

.schedule_list .autumn_area .num {
    color: #D97D0B;
}

/* winter_area */
.win_deco01::before {
    content: url(/highschool3/files/winter_deco01.png);
    background-size: contain;
    top: 312px;
    right: -74px;
}

.win_deco02::after {
    content: url(/highschool3/files/winter_deco02.png);
    background-size: contain;
    bottom: -80px;
    left: -100px;
}

.schedule_list .winter_area .num {
    color: #9F5EAA;
}

/* marker */
.schedule_list .summer_area .marker.blue {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(65%, transparent), color-stop(0%, rgba(19, 177, 198, .2)));
    background: linear-gradient(transparent 65%, rgba(19, 177, 198, .2) 0%);
}

.schedule_list .autumn_area .marker.yellow {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(65%, transparent), color-stop(0%, rgba(216, 125, 15, .2)));
    background: linear-gradient(transparent 65%, rgba(216, 125, 15, .2) 0%);
}

.schedule_list .winter_area .marker.purple {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(65%, transparent), color-stop(0%, rgba(158, 94, 173, .2)));
    background: linear-gradient(transparent 65%, rgba(158, 94, 173, .2) 0%);
}

.schedule_list li .text_area h2 {
    font-size: 2.2rem;
    border-bottom: none;
}

/*.schedule_list li .text_area h2::before {
	content: none;
}*/
.schedule_list li .text_area h3 {
    font-size: 1.8rem;
    color: #333333;
    padding: 0;
    margin-bottom: 10px;
    border-left: none;
    background: none;
}

.schedule_list li .text_area p {
    font-size: 1.6rem;
}

.schedule_list li .text_area figure:first-of-type {
    margin: 0 0 50px;
}

.schedule_list li .text_area figure img {
    width: 100%;
}

.schedule_list li .text_area .btn:not(:last-child) {
    margin-right: 20px;
}

.schedule_list li .text_area .btn {
    width: 224px;
    margin-bottom: 12px;
}

/* PC Hover */
@media only screen and (min-width: 768px) {

    body:not(.tab_view) .schedule_list li .text_area .btn.type_line:hover,
    body:not(.tab_view) .schedule_list li .text_area .btn.type_ao:hover {
        opacity: 0.6;
    }

    body:not(.tab_view) .schedule_list li .text_area .btn.type_ao:hover,
    body:not(.tab_view) .schedule_list li .text_area .btn.type_ao:hover::after {
        color: #DE0975;
    }

    body:not(.tab_view) .schedule_list li .text_area .btn.type_line:hover::before,
    body:not(.tab_view) .schedule_list li .text_area .btn.type_ao:hover::before {
        content: none;
    }
}

@media only screen and (max-width: 768px) {
    .schedule_list {
        width: 100%;
        margin: 0;
    }

    .schedule_list::before {
        left: -8px;
    }

    .schedule_list::after {
        left: -19px;
    }

    .schedule_list li {
        display: block;
        padding: 4%;
    }

    .schedule_list li:not(:last-child) {
        margin: 0 0 35px;
    }

    .schedule_list li .ttl_area {
        width: 100%;
        min-width: auto;
        min-width: initial;
        padding-bottom: 30px;
    }

    .schedule_list li .ttl_area .label {
        font-size: 1.6rem;
    }

    .schedule_list li .ttl_area .season {
        font-size: 1.9rem;
    }

    .schedule_list li .ttl_area .season>strong {
        font-size: 3.7rem;
    }

    .schedule_list li .ttl_area .season>span {
        font-size: 2.2rem;
    }

    .schedule_list li .text_area {
        padding: 36px 0;
        border-width: 2px 0 0 0;
    }

    .schedule_list li .text_area>* {
        margin: 0 0 20px;
    }

    .schedule_list li .text_area figure:first-of-type {
        margin: 0 -4.4% 30px;
    }

    .schedule_list li .num {
        font-size: 3.6rem;
        position: static;
    }

    .schedule_list li .text_area h2 {
        font-size: 2.0rem;
    }

    .schedule_list li .text_area h3 {
        font-size: 1.6rem;
    }

    .schedule_list li .text_area p {
        font-size: 1.4rem;
    }

    .schedule_list li .text_area .btn {
        display: table;
    }

    .schedule_list li .text_area .btn:not(:last-child) {
        margin: 0 0 13px;
    }

    .schedule_list li .ttl_area figure {
        margin: 20px 10px 30px;
    }

    .schedule_list .ttl_area figure::before {
        bottom: -16px !important;
        -webkit-transform: translateX(-50%) scale(0.8, 0.8) !important;
        transform: translateX(-50%) scale(0.8, 0.8) !important;
    }

    .schedule_list .summer_area .ttl_area figure::before {
        bottom: -28px !important;
    }

    .schedule_list .spring_area .ttl_area figure img {
        width: 116px;
        height: 47px;
    }

    .schedule_list .summer_area .ttl_area figure img {
        width: 142px;
        height: 41px;
    }

    .schedule_list .autumn_area .ttl_area figure img {
        width: 122px;
        height: 39px;
    }

    .schedule_list .winter_area .ttl_area figure img {
        width: 103px;
        height: 37px;
    }

    .spr_deco01::before {
        top: -40px;
        left: -33px;
        transform: scale(0.65, 0.65);
    }

    .spr_deco02::after {
        bottom: auto;
        top: 105px;
        right: -70px;
        transform: scale(0.65, 0.65);
    }

    .sum_deco01::before {
        top: -15px;
        right: -80px;
    }

    .sum_deco02::after {
        content: none;
    }

    .sum_deco03::before {
        top: -82px;
        left: -15px;
        transform: scale(0.65, 0.65);
    }

    .aut_deco01::before {
        content: none;
    }

    .aut_deco02::after {
        bottom: auto;
        top: 105px;
        right: -42px;
        transform: scale(0.65, 0.65);
    }

    .win_deco01::before {
        content: none;
    }

    .win_deco02::after {
        bottom: auto;
        left: auto;
        top: 70px;
        right: -90px;
        transform: scale(0.5, 0.5);
    }
}


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

.flow_list::before {
    content: '';
    display: block;
    border-radius: 15px 15px 0 0;
    position: absolute;
    top: 105px;
    left: 50%;
    width: 12px;
    height: calc(100% - 305px);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background: #DE0975;
    background: -moz-linear-gradient(0deg, #FFE93C 0%, #DE0975 100%);
    background: -webkit-gradient(linear, left top, right bottom, from(#FFE93C), to(#DE0975));
    background: -webkit-linear-gradient(0deg, #FFE93C 0%, #DE0975 100%);
    background: -o-linear-gradient(0deg, #FFE93C 0%, #DE0975 100%);
    background: linear-gradient(0deg, #FFE93C 0%, #DE0975 100%);
    z-index: 2;
}

.flow_list::after {
    content: '';
    display: block;
    position: absolute;
    left: 50%;
    bottom: 185px;
    width: 0;
    height: 0;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    border-style: solid;
    border-width: 16px 8px 0 8px;
    border-color: #FFE93C transparent transparent transparent;
    z-index: 2;
}

.flow_list .text_img_set {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative;
}

.flow_list .text_img_set:first-of-type {
    margin-top: 0;
}

.flow_list .text_img_set:not(:last-of-type) {
    margin-bottom: 35px;
}

.flow_list .text_img_set .flow_month {
    font-size: 3.6rem;
    font-weight: 700;
    color: #FFF;
    text-align: center;
    line-height: 1.0;
    background: #DE0975;
    width: 79px;
    height: 79px;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 2;
}

.flow_list .text_img_set .flow_month small {
    font-family: 'PT Sans', sans-serif;
    font-size: 1.6rem;
    font-weight: 700;
    display: block;
    margin-top: 16px;
}

.flow_list .text_img_set .img_area {
    width: 47%;
    max-width: auto;
    max-width: initial;
    margin: 0 !important;
    overflow: visible;
    border-radius: 5px;
    position: relative;
    order: 1;
}

_:-ms-lang(x)::-ms-backdrop,
.flow_list .text_img_set .img_area {
    margin: 0 0 0 -79px !important;
}

_:-ms-lang(x)::-ms-backdrop,
.flow_list .text_img_set.odd .img_area {
    margin: 0 !important;
}

_:-ms-lang(x)::-ms-backdrop,
.flow_list .text_img_set.odd .text_area {
    margin: 0 0 0 -79px !important;
}

.flow_list .text_img_set .img_area img {
    border-radius: 5px;
}

.flow_list .text_img_set .img_area::before {
    display: block;
}

/*.flow_list .text_img_set.deco_01 .img_area::before {
	content: url(/about/files/curriculum_flow_deco_01.png);
	position: absolute;
	bottom: -122px;
	right: 26px;
	z-index: 1;
}
.flow_list .text_img_set.deco_02 .img_area::before {
	content: url(/about/files/curriculum_flow_deco_02.png);
	position: absolute;
	bottom: -104px;
	right: 48px;
	z-index: 1;
}
.flow_list .text_img_set.deco_03 .img_area::before {
	content: url(/about/files/curriculum_flow_deco_03.png);
	position: absolute;
	top: -96px;
	right: 22px;
	z-index: 1;
}*/
.flow_list .text_img_set .text_area {
    width: 45%;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent;
    order: 2;
}

.flow_list .text_img_set .text_area .marker_wrap {
    margin: 0 0 10px;
}

.flow_list .text_img_set .text_area h4 {
    font-size: 2.0rem;
    position: relative;
}

.flow_list .text_img_set .text_area h4::before {
    font-family: 'tdg';
    display: block;
    text-align: left;
    color: #DE0975;
    font-size: 2.9rem;
    position: absolute;
    top: -23px;
    left: -20px;
}

.flow_list .text_img_set .text_area p {
    font-size: 1.4rem;
    margin: 0;
}

.flow_list .text_img_set.odd .img_area {
    order: 2;
}

.flow_list .text_img_set.odd .text_area {
    order: 1;
}

@media only screen and (max-width: 1060px) {
    .flow_list::before {
        height: calc(100% - 270px);
    }

    .flow_list::after {
        bottom: 155px;
    }
}

@media only screen and (max-width: 768px) {
    .flow_list::before {
        height: calc(100% - 23%);
        top: 0;
        left: auto;
        right: -10px;
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

    .flow_list::after {
        left: auto;
        right: -12px;
        bottom: calc(23% - 16px);
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

    .flow_list .text_img_set .flow_month {
        top: 10px;
        left: auto;
        right: -29px;
        font-size: 2.4rem;
        width: 50px;
        height: 50px;
        -webkit-transform: translate(0, -50%);
        transform: translate(0, -50%);
    }

    .flow_list .text_img_set .flow_month small {
        font-size: 1.2rem;
        margin-top: 9px;
    }

    .flow_list .text_img_set .text_area {
        width: 95% !important;
    }

    .flow_list .text_img_set .text_area h4::before {
        font-size: 2.0rem;
        top: -10px;
        left: -14px;
    }

    .flow_list .text_img_set .img_area {
        width: 95% !important;
        margin-bottom: 30px !important;
    }

    .flow_list .text_img_set.deco_01 .img_area::before {
        right: -10%;
        bottom: -70px;
    }

    .flow_list .text_img_set.deco_02 .img_area::before {
        right: auto;
        left: -4%;
        bottom: -75px;
    }

    .flow_list .text_img_set.deco_03 .img_area::before {
        right: -10%;
        top: -70px;
    }
}

/*-----------------------------------------
	image_table
-----------------------------------------*/
.image_table {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 0 0 70px;
}

.image_table>* {
    width: 45%;
}

.image_table p {
    width: 50%;
    font-size: 1.8rem;
    padding: 80px 6%;
    text-align: center;
    background: url(/about/files/curriculum_intern_deco_01.png) no-repeat;
    background-size: 100% 100%;
}

.image_table p .accent {
    font-weight: 700;
}

@media only screen and (max-width: 768px) {
    .image_table {
        margin: 0 0 50px;
    }

    .image_table>* {
        width: 100% !important;
    }

    .image_table p {
        font-size: 1.6rem;
        padding: 40px 6%;
    }
}

/*-----------------------------------------
	junior_area
-----------------------------------------*/
.faq_deco {
    position: relative;
}

.faq_deco::before,
.faq_deco::after {
    position: absolute;
    display: block;
    z-index: 1;
}

/*.q1_deco01::before {
	content: '';
	background: url(/junior/files/q1_deco01.png) no-repeat;
	background-size: contain;
	width: 234px;
	height: 151px;
	top: -138px;
	right: -35px;
}
.q1_deco02::after {
	content: '';
	background: url(/junior/files/q1_deco02.png) no-repeat;
	background-size: contain;
	width: 265px;
	height: 271px;
	bottom: -230px;
	right: -108px;
}
.q2_deco01::before {
	content: '';
	background: url(/junior/files/q2_deco01.png) no-repeat;
	background-size: contain;
	width: 234px;
	height: 173px;
	top: 154px;
	left: -168px;
}
.q3_deco01::before {
	content: '';
	background: url(/junior/files/q3_deco01.png) no-repeat;
	background-size: contain;
	width: 269px;
	height: 280px;
	top: -155px;
	right: -100px;
}
.q3_deco02::after {
	content: '';
	background: url(/junior/files/q3_deco02.png) no-repeat;
	background-size: contain;
	width: 167px;
	height: 189px;
	top: 145px;
	left: -85px;
}
.q4_deco01::before {
	content: '';
	background: url(/junior/files/q4_deco01.png) no-repeat;
	background-size: contain;
	width: 235px;
	height: 233px;
	top: -92px;
	right: -95px;
}
.q4_deco02::after {
	content: '';
	background: url(/junior/files/q4_deco02.png) no-repeat;
	background-size: contain;
	width: 152px;
	height: 128px;
	top: 250px;
	left: -103px;
}
.q4_deco03::after {
	content: '';
	background: url(/junior/files/q4_deco03.png) no-repeat;
	background-size: contain;
	width: 165px;
	height: 145px;
	bottom: -20px;
	right: -265px;
}
.q5_deco01::before {
	content: '';
	background: url(/junior/files/q5_deco01.png) no-repeat;
	background-size: contain;
	width: 217px;
	height: 202px;
	bottom: -50px;
	left: -102px;
}
.q5_deco02::after {
	content: '';
	background: url(/junior/files/q5_deco02.png) no-repeat;
	background-size: contain;
	width: 396px;
	height: 285px;
	top: -75px;
	right: -145px;
}
.q1_deco10::after {
	content: '';
	background: url(/files/q1_deco10.png) no-repeat;
	background-size: contain;
	width: 265px;
	height: 430px;
	bottom: -110px;
	right: -220px;
}
.q5_deco10::after {
	content: '';
	background: url(/files/q5_deco10.png) no-repeat;
	background-size: contain;
	width: 335px;
	height: 330px;
	top: -95px;
	right: -85px;
}
.q4_deco10::after {
	content: '';
	background: url(/junior/files/q4_deco02.png) no-repeat;
	background-size: contain;
	width: 252px;
	height: 228px;
	top: 250px;
	left: -70px;
}*/
@media only screen and (max-width: 1280px) {
    .q1_deco02::after {
        right: -50px;
    }

    .q2_deco01::before {
        width: 180px;
        height: 133px;
        left: -104px;
    }

    .q3_deco01::before {
        right: -20px;
    }

    .q3_deco02::after {
        left: -40px;
    }

    .q5_deco01::before {
        left: -100px;
    }

    .q1_deco10::after {
        right: -50px;
    }
}

@media only screen and (max-width: 768px) {
    .q1_deco01::before {
        width: 167px;
        height: 108px;
        top: -153px;
        right: 22px;
    }

    .q1_deco02::after {
        width: 160px;
        height: 164px;
        right: 10px;
        bottom: -145px;
    }

    .q2_deco01::before {
        width: 148px;
        height: 109px;
        left: -7px;
        top: -188px;
    }

    .q3_deco01::before {
        width: 176px;
        height: 183px;
        top: -225px;
        right: 0;
    }

    .q3_deco02::after {
        width: 113px;
        height: 128px;
        top: -280px;
        left: 4px;
    }

    .q4_deco01::before {
        width: 190px;
        height: 188px;
        top: -252px;
        right: -3px;
    }

    .q4_deco02::after {
        width: 95px;
        height: 80px;
        left: 13px;
        top: -227px;
    }

    .q4_deco03::after {
        display: none;
    }

    .q5_deco01::before {
        width: 158px;
        height: 147px;
        bottom: -99px;
        left: 8px;
    }

    .q5_deco02::after {
        width: 270px;
        height: 194px;
        top: -232px;
        right: calc(50% - 140px);
    }

    .q1_deco10::after {
        display: none;
        /*width: 180px;
		height: 220px;
		right: -80px;
		bottom: -125px;*/
    }

    .q5_deco10::after {
        width: 205px;
        height: 180px;
        top: -85px;
        right: -60px;
        /*calc(20% - 50px)*/
    }

    /*.q4_deco10::after {
	content: '';
	background: url(/junior/files/q4_deco02.png) no-repeat;
	background-size: contain;
	width: 152px;
	height: 128px;
	top: 100px;
	left: -50px;
}*/
}

.junior_area section {
    margin: 135px 0 200px;
    padding: 115px 78px 74px;
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.95);
    -webkit-box-shadow: 0 0 8px rgba(105, 105, 105, .08);
    box-shadow: 0 0 8px rgba(105, 105, 105, .08);
    position: relative;
}

.junior_area section:last-child {
    margin-bottom: 0;
}

.junior_area .faq_short {
    width: 82%;
    margin: 0 auto 60px;
}

.junior_area p {
    font-size: 1.6rem;
}

.junior_area h2 {
    position: absolute;
    top: -38px;
    left: 100px;
    z-index: 2;
    border-bottom: none;
}

/*.junior_area h2::before {
	content: none;
}*/
.junior_area h2::after {
    content: '';
    display: block;
    position: absolute;
    top: -52px;
    left: -175px;
    z-index: -1;
}

/* num */
.junior_area h2 .num {
    font-family: 'PT Sans', sans-serif;
    font-size: 6.2rem;
    font-weight: 700;
    line-height: 1.0;
    position: absolute;
    top: -17px;
    left: -126px;
    -webkit-transform: rotate(-4deg);
    transform: rotate(-4deg);
}

.junior_area h2 .num>span {
    font-size: 9.3rem;
}

/* ttl */
.junior_area h2 .ttl {
    display: table;
    font-size: 3.2rem;
    font-weight: 700;
    color: #FFF;
    padding: 0 16px;
    white-space: nowrap;
    -webkit-transform: rotate(-4deg);
    transform: rotate(-4deg);
}

/* indention */
.junior_area h2 .ttl.indention {
    background: transparent !important;
}

.junior_area h2 .ttl.indention>span {
    display: table;
    font-size: 3.2rem;
    font-weight: 700;
    color: #FFF;
    padding: 0 16px;
    white-space: nowrap;
    background: #DE0975 !important;
}

/*.junior_area section:nth-of-type(2n+1) h2 .ttl.indention > span {
	background: #DE0975 !important;
}
.junior_area section:nth-of-type(2n) h2 .ttl.indention > span {
	background: #00C7C7;
}*/
.junior_area h2 .ttl.indention>span:nth-child(2) {
    margin-left: 72px;
}

.junior_area h2 .ttl.indention>span:not(:last-child) {
    margin-bottom: 5px;
}

.junior_area .btn {
    width: 224px;
}

.junior_area .click {
    font-size: 1.6rem;
    background: #FDFDFD;
    border-radius: 15px;
    display: table;
    text-align: center;
    padding: 10px 20px 10px 55px;
    margin: 0 auto 24px;
    position: relative;
}

.junior_area .click::before {
    content: "\e912";
    font-family: 'tdg';
    font-size: 1.8rem;
    position: absolute;
    top: 50%;
    left: 26px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

/* 奇数 */
/*.junior_area section.odd h2::after{
	content: url(/junior/files/odd_deco.png);
	background-size: contain;
}*/
.junior_area section.odd h2 .num {
    color: #DE0975;

}

.junior_area section.odd h2 .ttl {
    background: #DE0975;
}

/* 偶数 */
/*.junior_area section:nth-of-type(2n) h2 {
	position: absolute;
	top: -25px;
	left: 50%;
	-webkit-transform: translateX(calc(-50% + 62px));
	transform: translateX(calc(-50% + 62px));
}*/
/*.junior_area section.even h2::after{
	top: -26px;
	content: url(/junior/files/even_deco.png);
	background-size: cover;
}*/
.junior_area section.even h2 .num {
    color: #00C7C7;
    /*top: -34px;*/
}

.junior_area section.even h2 .ttl {
    background: #00C7C7;
}

@media only screen and (max-width: 768px) {
    .junior_area section {
        margin: 100px 0 260px !important;
        padding: 80px 5% 50px;
    }

    .junior_area section:first-of-type {
        margin: 206px 0 260px !important;
    }

    .junior_area section:last-of-type {
        margin: 100px 0 200px !important;
    }

    .junior_area .faq_short {
        width: 100%;
        margin: 0 auto 30px;
    }

    .junior_area .click {
        font-size: 1.2rem;
        margin: 0 auto 45px;
    }

    .junior_area h2 {
        top: -20px;
        left: 130px;
    }

    .junior_area h2 .num {
        font-size: 3.6rem;
        top: 0;
    }

    .junior_area h2 .num>span {
        font-size: 5.4rem;
    }

    .junior_area h2 .ttl {
        display: block;
        background: transparent !important;
    }

    .junior_area h2 .ttl>span {
        display: table !important;
        font-size: 2.0rem !important;
        letter-spacing: 0;
        white-space: normal !important;
        padding: 0 5px !important;
        margin-left: -65px;
    }

    .junior_area h2 .ttl.font_s>span {
        font-size: 1.7rem !important;
    }

    .junior_area section.odd h2 .ttl>span {
        background: #DE0975;
    }

    .junior_area section.even h2 .ttl>span {
        background: #00C7C7;
    }

    .junior_area h2 .ttl>span:nth-child(2) {
        margin-left: -65px !important;
    }

    .junior_area h2 .ttl>span:not(:last-child) {
        margin-bottom: 5px !important;
    }

    .junior_area section.even h2::after {
        top: -55px;
    }

    .junior_area section.even h2 .num {
        top: -14px;
    }
}

/* faq_text_img */
.faq_text_img {
    /*display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;*/
}

.faq_text_img .text_area {
    width: calc(100% - 429px);
}

.faq_text_img .img_area {
    margin: 0 0 30px;
    width: 544px;
    position: absolute;
    top: 20px;
    right: -65px;
}

@media only screen and (max-width: 768px) {
    .faq_text_img .text_area {
        width: 100%;
    }

    .faq_text_img .text_area .btn_area {
        margin: 0 0 45px;
    }

    .faq_text_img .img_area {
        position: static;
        width: 100%;
        margin: 0;
    }
}

/* faq_block */
.faq_block {
    display: flex;
    display: -ms-flexbox;
    display: -webkit-box;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.faq_wrap.ttl {
    width: 20%;
    padding-top: 192px;
}

.faq_wrap.ttl .ttl_wrap {
    margin: 13px 0 55px;
    position: relative;
    z-index: 0;
}

.faq_wrap.ttl .ttl_wrap::after {
    content: '';
    display: block;
    width: 130%;
    height: 5px;
    background: #F2EDF0;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: -1;
}

.faq_wrap.ttl .ttl_wrap p {
    margin: 0;
    padding: 12px;
    background: #F2EDF0;
    border-radius: 15px;
    font-size: 1.6rem;
    color: #6A6A6A;
    text-align: center;
}

/* .faq_head */
.faq_head {
    margin: 0 0 25px;
}

.faq_head figure {
    width: 84px;
    height: 84px;
    margin: 0 auto 10px;
    border-radius: 50%;
    position: relative;
}

.faq_head figure img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.faq_head p {
    font-size: 2.4rem;
    margin: 0;
}

.faq_head p+span {
    color: #222222;
    font-size: 1.8rem;
}

.faq_block ul li {
    margin-bottom: 34px;
}

/* tdg */
.faq_wrap.tdg {
    width: 37%;
    text-align: center;
}

.faq_wrap.tdg .faq_head figure {
    background: #DE0975;
}

.faq_wrap.tdg .faq_head figure img {
    width: 62px;
}

.faq_wrap.tdg .faq_head p {
    color: #DE0975;
}

.faq_wrap.tdg .balloon_btn {
    background: #FFEFF7;
}

.faq_wrap.tdg .balloon_btn::before {
    color: rgba(222, 9, 117, .5);
}

/* university */
.faq_wrap.university {
    width: 37%;
    text-align: center;
}

.faq_wrap.university .faq_head figure {
    background: #00C7C7;
}

.faq_wrap.university .faq_head figure img {
    width: 45px;
}

.faq_wrap.university .faq_head p {
    color: #00C7C7;
}

.faq_wrap.university .faq_head .marker {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(65%, transparent), color-stop(0%, rgba(0, 199, 199, .15)));
    background: linear-gradient(transparent 65%, rgba(0, 199, 199, .15) 0%);
}

.faq_wrap.university .balloon_btn {
    background: #D6F4F4;
}

.faq_wrap.university .balloon_btn::before {
    color: rgba(0, 199, 199, .5);
}

/* .balloon */
.balloon_wrap {
    position: relative;
}

.balloon_btn {
    height: 77px;
    position: relative;
    cursor: pointer;
    border-radius: 5px;
    font-size: 1.6rem;
    padding: 15px 45px 15px 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-shadow: 0px 0 8px rgba(18, 22, 23, .08);
    box-shadow: 0px 0 8px rgba(18, 22, 23, .08);
}

.balloon_btn::before {
    content: "\e912";
    font-family: 'tdg';
    font-size: 1.8rem;
    position: absolute;
    top: 50%;
    right: 20px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

/* .balloon_box */
.balloon_box {
    width: 187%;
    display: none;
    padding: 25px 30px;
    background: #FFF;
    position: absolute;
    border-radius: 15px;
    -webkit-box-shadow: 0px 0 16px rgba(0, 0, 0, .16);
    box-shadow: 0px 0 16px rgba(0, 0, 0, .16);
    z-index: 2;
}

.balloon_box::before {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 19px 9px 0 9px;
    border-color: #fff transparent transparent transparent;
    position: absolute;
    bottom: -19px;
}

.balloon_box p {
    text-align: left;
    font-size: 1.4rem;
    margin: 0 0 18px;
}

.balloon_box .close {
    display: block;
    width: 140px;
    margin: 0 0 0 auto;
    border: 1px solid #8D8D8D;
    padding: 10px;
    border-radius: 25px;
    cursor: pointer;
}

.faq_wrap.tdg .balloon_box {
    left: -15%;
}

.faq_wrap.tdg .balloon_box::before {
    left: 10%;
}

.faq_wrap.university .balloon_box {
    right: -15%;
}

.faq_wrap.university .balloon_box::before {
    left: 55%;
}

@media only screen and (max-width: 768px) {
    .faq_block {
        display: block;
    }

    .faq_block ul li {
        margin-bottom: 15px;
    }

    .sp_ttl {
        background: #F2EDF0;
        color: #6A6A6A;
        font-size: 1.4rem;
        border-radius: 15px;
        margin: 0 0 10px !important;
    }

    .faq_head {
        position: relative;
        text-align: left;
        padding: 0 0 0 92px;
        margin: 0 0 27px;
    }

    .faq_head figure {
        margin: 0;
        width: 70px;
        height: 70px;
        position: absolute;
        left: 0;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
    }

    .faq_head p {
        font-size: 2.0rem;
        line-height: 1.5;
    }

    .faq_head p+span {
        font-size: 1.6rem;
    }

    .faq_wrap:not(:last-child) {
        margin: 0 0 45px;
    }

    .faq_wrap.tdg,
    .faq_wrap.university {
        width: 100%;
    }

    .faq_wrap.ttl {
        display: none;
    }

    .balloon_btn {
        height: auto;
        height: initial;
    }

    .balloon_box {
        width: 110%;
        padding: 25px 10%;
    }

    .balloon_box p {
        margin: 0 0 20px;
    }

    .faq_wrap.tdg .balloon_box {
        left: -5%;
    }

    .faq_wrap.university .balloon_box {
        right: auto;
        left: -5%;
    }

    .faq_wrap.university .balloon_box::before {
        left: 10%;
    }
}

/*-----------------------------------------
	more_btn_list
-----------------------------------------*/
.more_btn_list li {
    margin-bottom: 35px;
}

.more_btn_list li a {
    display: block;
    font-weight: 500;
    border-radius: 15px;
    overflow: hidden;
    -webkit-box-shadow: 0px 0 16px rgba(0, 0, 0, .08);
    box-shadow: 0px 0 16px rgba(0, 0, 0, .08);
}

.more_btn_list li figure {
    position: relative;
    margin-bottom: 0;
}

.more_btn_list li figure:not(.no_filter)::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #000;
    opacity: 0.15;
    display: block;
    /*border-radius: 5px;*/
    z-index: 1;
}

.more_btn_list li figure.no_filter {
    background: #F8F8F8;
}

.more_btn_list li figure img {
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

.more_btn_list li p {
    color: #333333;
    font-size: 2.0rem;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    line-height: 1.8;
    margin: 0;
    padding: 30px 90px 30px 26px;
    background: #FFF;
    position: relative;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

.more_btn_list li p .sub {
    font-family: 'PT Sans', 'Noto Sans JP', sans-serif;
    font-size: 1.4rem;
    color: #FFF;
    background: #DE0975;
    border-radius: 2px;
    padding: 5px 15px;
    position: absolute;
    top: -16px;
    z-index: 1;
}

.more_btn_list li p .more {
    margin: 0;
    position: absolute;
    top: 50%;
    right: 20px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

/* more_ruby  */
.more_btn_list.more_ruby li p {
    display: block !important;
}

/* active */
.more_btn_list li.active a {
    font-weight: 700;
    color: #222222;
}

.more_btn_list li.active a p {
    background: rgba(221, 52, 91, 0.08);
}

.more_btn_list li.active a p::after {
    color: #222222;
    font-weight: 500;
}

/* PC Hover */
@media only screen and (min-width: 768px) {
    body:not(.tab_view) .more_btn_list li a:hover figure img {
        -webkit-transform: scale(1.1, 1.1);
        transform: scale(1.1, 1.1);
    }

    body:not(.tab_view) .more_btn_list li a:hover p {
        color: #DE0975;
    }
}

@media only screen and (max-width: 768px) {
    .more_btn_list li:last-child {
        margin-bottom: 0;
    }

    .more_btn_list li p {
        font-size: 1.8rem;
        padding: 5% 85px 5% 5%;
    }

    .more_btn_list li p::after {
        right: 5%;
    }

    .more_btn_list li p .sub {
        padding: 2px 15px;
    }

    .more_btn_list li p .more {
        right: 5%;
    }

    /* more_ruby  */
    .more_btn_list.more_ruby li p {
        padding: 7% 85px 5% 5%;
    }
}

/*-----------------------------------------
	more_btn_list_lower
-----------------------------------------*/
.more_btn_list_lower {
    -webkit-box-align: start;
    ;
    -ms-flex-align: start;
    ;
    align-items: flex-start;
}

.more_btn_list_lower>li {
    margin-bottom: 35px;
}

.more_btn_list_lower>li {
    display: block;
    font-weight: 500;
    border-radius: 15px;
    overflow: hidden;
    -webkit-box-shadow: 0px 0 16px rgba(0, 0, 0, .08);
    box-shadow: 0px 0 16px rgba(0, 0, 0, .08);
}

.more_btn_list_lower>li figure {
    position: relative;
    margin-bottom: 0;
}

.more_btn_list_lower>li figure:not(.no_filter)::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #000;
    opacity: 0.15;
    display: block;
    /*border-radius: 5px;*/
    z-index: 1;
}

.more_btn_list_lower>li figure.no_filter {
    background: #F8F8F8;
}

.more_btn_list_lower>li figure img {
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

.more_btn_list_lower>li p {
    color: #333333;
    font-size: 2.0rem;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    line-height: 1.8;
    margin: 0;
    padding: 30px 90px 20px 26px;
    background: #FFF;
    position: relative;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

.more_btn_list_lower>li p .sub {
    font-family: 'PT Sans', 'Noto Sans JP', sans-serif;
    font-size: 1.4rem;
    color: #FFF;
    background: #DE0975;
    border-radius: 2px;
    padding: 5px 15px;
    position: absolute;
    top: -16px;
    z-index: 1;
}

.more_btn_list_lower>li p .more {
    margin: 0;
    position: absolute;
    top: 50%;
    right: 20px;
    -webkit-transform: translateY(-50%) translateY(6px);
    transform: translateY(-50%) translateY(6px);
}

.more_btn_list_lower>li>ul {
    border-top: 1px solid #E2E2E2;
    margin: 0 auto 20px;
    padding-top: 25px;
    width: 87%;
}

.more_btn_list_lower>li>ul>li {
    margin-bottom: 10px;
    padding: 0 0 0 15px;
    position: relative;
}

.more_btn_list_lower>li>ul>li::before {
    content: "\e902";
    font-family: 'tdg';
    font-size: 1.0rem;
    color: #DE0975;
    display: block;
    position: absolute;
    top: 6px;
    left: 0;
    -webkit-transform: scale(0.8, 0.8);
    transform: scale(0.8, 0.8);
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

.more_btn_list_lower>li>ul>li a {
    color: #333333;
}

/* active */
.more_btn_list_lower>li.active a {
    font-weight: 700;
    color: #222222;
}

.more_btn_list_lower>li.active a p {
    background: rgba(221, 52, 91, 0.08);
}

.more_btn_list_lower>li.active a p::after {
    color: #222222;
    font-weight: 500;
}

/*SEO対策 h2に変更*/
.more_btn_list_lower>li .list_h2 {
    color: #333333;
    font-size: 2.0rem;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    line-height: 1.8;
    margin: 0;
    padding: 30px 90px 20px 26px;
    background: #FFF;
    position: relative;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
    border-bottom: none;
}

.more_btn_list_lower>li .list_h2 .sub {
    font-family: 'PT Sans', 'Noto Sans JP', sans-serif;
    font-size: 1.4rem;
    color: #FFF;
    background: #DE0975;
    border-radius: 2px;
    padding: 5px 15px;
    position: absolute;
    top: -16px;
    z-index: 1;
}

.more_btn_list_lower>li .list_h2 .more {
    margin: 0;
    position: absolute;
    top: 50%;
    right: 20px;
    -webkit-transform: translateY(-50%) translateY(6px);
    transform: translateY(-50%) translateY(6px);
}

.more_btn_list_lower>li.active a .list_h2 {
    background: rgba(221, 52, 91, 0.08);
}

.more_btn_list_lower>li.active a .list_h2::after {
    color: #222222;
    font-weight: 500;
}

/* PC Hover */
@media only screen and (min-width: 768px) {
    body:not(.tab_view) .more_btn_list_lower>li:hover figure img {
        -webkit-transform: scale(1.1, 1.1);
        transform: scale(1.1, 1.1);
    }

    body:not(.tab_view) .more_btn_list_lower>li:hover p {
        color: #DE0975;
    }

    /*SEO対策 h2に変更*/
    body:not(.tab_view) .more_btn_list_lower>li:hover .list_h2 {
        color: #DE0975;
    }
}

@media only screen and (max-width: 768px) {
    .more_btn_list_lower>li>ul {
        margin: 0 auto 25px;
        width: 90%;
    }

    .more_btn_list_lower>li:last-child {
        margin-bottom: 0;
    }

    .more_btn_list_lower>li p {
        font-size: 1.8rem;
        padding: 5% 85px 5% 5%;
    }

    .more_btn_list_lower>li p::after {
        right: 5%;
    }

    .more_btn_list_lower>li p .sub {
        padding: 2px 15px;
    }

    .more_btn_list_lower>li p .more {
        top: 50%;
        right: 5%;
        -webkit-transform: translateY(-50%) translateY(0px);
        transform: translateY(-50%) translateY(0px);
    }

    /*SEO対策 h2に変更*/
    .more_btn_list_lower>li .list_h2 {
        font-size: 1.8rem;
        padding: 5% 85px 5% 5%;
    }

    .more_btn_list_lower>li .list_h2::after {
        right: 5%;
    }

    .more_btn_list_lower>li .list_h2 .sub {
        padding: 2px 15px;
    }

    .more_btn_list_lower>li .list_h2 .more {
        top: 50%;
        right: 5%;
        -webkit-transform: translateY(-50%) translateY(0px);
        transform: translateY(-50%) translateY(0px);
    }
}

/*-----------------------------------------
	anc_btn_list
-----------------------------------------*/
.anc_btn_list {
    border-radius: 5px 5px 0 0;
    margin-bottom: 50px;
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.anc_btn_list li {
    margin-right: 0;
    position: relative;
    background: rgba(255, 255, 255, 0.75);
    border-bottom: 5px solid #DE0975;
}

.anc_btn_list.clm_2 li {
    width: 50%
}

.anc_btn_list.clm_3 li {
    width: 33.3%;
    margin-bottom: 15px;
}

.anc_btn_list.clm_3 li:nth-child(3n)::after {
    content: none;
}

.anc_btn_list.clm_4 li {
    width: 25%;
}

.anc_btn_list.clm_auto {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.anc_btn_list.clm_auto li.flex_grow1 {
    flex-grow: 1;
}

.anc_btn_list.clm_auto li.flex_grow2 {
    flex-grow: 1;
}

.anc_btn_list li:not(:last-child)::after {
    content: '';
    display: block;
    width: 1px;
    height: 44px;
    background: #E2E2E2;
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.anc_btn_list a {
    font-size: 1.8rem;
    font-weight: 500;
    color: #222222;
    text-align: center;
    display: block;
    padding: 25px 5%;
}

.anc_btn_list.clm_3 a {
    padding: 25px 3%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.anc_btn_list li span {
    display: inline-block;
    padding: 0 20px 0 0;
    position: relative;
}

.anc_btn_list li span::after {
    content: "\e914";
    font-family: 'tdg';
    font-size: 1.4rem;
    color: #CD3074;
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

/*---------20220627 入学説明会ページbolder color追加----------*/
.anc_btn_list-new {
    border-radius: 5px 5px 0 0;
    margin-bottom: 50px;
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.anc_btn_list-new li {
    margin-right: 0;
    position: relative;
    background: #063910;
    box-shadow: 0 5px 0 #777777;
    transition: .4s;
}

.anc_btn_list-new li:hover {
    /*opacity: 0.6;*/
    transform: translateY(4px);
    box-shadow: 0 0 0 #777777;
}

.anc_btn_list-new.clm_2 li {
    width: 45%;
    margin: 0 2.5% 1em 2.5%;
}

.anc_btn_list-new.clm_3 li {
    width: 33.3%;
    margin-bottom: 15px;
}

.anc_btn_list-new.clm_3 li:nth-child(3n)::after {
    content: none;
}

.anc_btn_list-new.clm_4 li {
    width: 25%;
}

.anc_btn_list-new.clm_auto {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.anc_btn_list-new.clm_auto li.flex_grow1 {
    flex-grow: 1;
}

.anc_btn_list-new.clm_auto li.flex_grow2 {
    flex-grow: 1;
}

.anc_btn_list-new li:not(:last-child)::after {
    content: '';
    display: block;
    width: 1px;
    height: 44px;
    background: #FFFFFFF;
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.anc_btn_list-new a {
    font-size: 1.8rem;
    font-weight: 500;
    color: #ffffff;
    text-align: center;
    display: block;
    padding: 25px 5%;
}

.anc_btn_list-new.clm_3 a {
    padding: 25px 3%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.anc_btn_list-new li span {
    display: inline-block;
    padding: 0 20px 0 0;
    position: relative;
}

.anc_btn_list-new li span::after {
    content: "\e914";
    font-family: 'tdg';
    font-size: 1.4rem;
    color: #ffffff;
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.anc_btn_list-new .b-color1 {
    /*border-bottom: 10px solid #063910;*/
}

.anc_btn_list-new .b-color2 {
    background-color: #0f1457;
}

/*---------------END---------------*/
@media only screen and (max-width: 1260px) {
    .anc_btn_list.clm_auto a {
        font-size: 1.6rem;
    }

    .anc_btn_list.clm_3 a {
        padding: 25px 5%;
    }

    .anc_btn_list-new.clm_auto a {
        font-size: 1.6rem;
    }

    .anc_btn_list-new.clm_3 a {
        padding: 25px 5%;
    }
}

@media only screen and (max-width: 768px) {
    .anc_btn_list {
        margin-bottom: 50px;
        border-radius: 0;
    }

    .anc_btn_list li {
        width: 100% !important;
        margin-bottom: 10px;
    }

    .anc_btn_list li:not(:last-child)::after {
        content: none;
    }

    .anc_btn_list a {
        padding: 10px !important;
        font-size: 1.6rem !important;
    }

    .anc_btn_list-new {
        margin-bottom: 50px;
        border-radius: 0;
    }

    .anc_btn_list-new li {
        width: 100% !important;
        margin-bottom: 10px;
    }

    .anc_btn_list-new li:not(:last-child)::after {
        content: none;
    }

    .anc_btn_list-new a {
        padding: 10px !important;
        font-size: 1.6rem !important;
    }
}

/*-----------------------------------------
	check_list
-----------------------------------------*/
.check_list_wrap {
    border: 1px solid #CD3074;
    border-radius: 15px;
    padding: 28px 45px;
    background: #FFF;
    position: relative;
}

.check_list_wrap::after {
    content: "\e926";
    font-family: 'tdg';
    font-size: 7.4rem;
    display: block;
    color: #DE0975;
    position: absolute;
    top: -40px;
    right: 6px;
}

.check_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
}

.check_list dt {
    width: 148px;
    font-size: 1.6rem;
    color: #CD3074;
    position: relative;
    padding: 0 0 12px 42px;
    margin: 0 0 12px;
    border-bottom: 2px solid #EFEFEF;
}

.check_list dt::before {
    content: "\e921";
    font-family: 'tdg';
    display: block;
    font-size: 1.6rem;
    position: absolute;
    left: 14px;
    top: 2px;
}

.check_list dd {
    width: calc(100% - 148px);
    padding: 0 50px 12px 0;
    margin: 0 0 12px;
    border-bottom: 2px solid #EFEFEF;
}

@media only screen and (max-width: 768px) {
    .check_list_wrap {
        padding: 5%;
    }

    .check_list_wrap::after {
        font-size: 6.4rem;
    }

    .check_list {
        display: block;
    }

    .check_list dt {
        width: 100%;
        padding: 0 0 0 35px;
        border-bottom: none;
    }

    .check_list dt::before {
        left: 0;
    }

    .check_list dd {
        width: 100%;
        font-size: 1.4rem;
        padding: 0 0 12px;
    }
}

/*-----------------------------------------
	basic_check_list
-----------------------------------------*/
.basic_check_list_wrap {
    margin-bottom: 60px;
}

.basic_check_list_wrap>p {
    font-size: 2.7rem;
    margin-bottom: 15px;
}

.basic_check_list li {
    font-size: 1.6rem;
    line-height: 2.0;
    color: #363636;
    position: relative;
    padding: 0 0 0 30px;
    margin: 0 0 4px !important;
}

.basic_check_list li::before {
    content: "\e921";
    font-family: 'tdg';
    display: block;
    color: #DE0975;
    font-size: 1.6rem;
    position: absolute;
    left: 0;
    top: 2px;
}

.basic_check_list li span {
    color: #DE0975;
}

@media only screen and (max-width: 768px) {
    .basic_check_list_wrap {
        margin-bottom: 30px;
    }

    .basic_check_list_wrap>p {
        font-size: 2.4rem;
    }

    .basic_check_list li {
        font-size: 1.4rem;
        padding: 0 0 0 25px;
    }

    .basic_check_list li::before {
        font-size: 1.4rem;
    }
}


/*-----------------------------------------
	btn_list
-----------------------------------------*/
/*.btn_list {
	margin-bottom: 30px;
}
.btn_list li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
.btn_list li a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}*/

/*-----------------------------------------
	ext_btn
-----------------------------------------*/
/*.entry_base .ext_btn li {
	margin-bottom: 50px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
.entry_base .ext_btn figure img {
	margin-right: 28px;
	width: 240px;
}
.entry_base .ext_btn.ext_img_m figure {
	margin-right: 28px;
	font-size: 0;
	-webkit-box-flex: 3;
	  -ms-flex: 3;
	      flex: 3;
}
.entry_base .ext_btn.ext_img_m figure img {
	width: 30%;
}
.entry_base .ext_btn.ext_img_m figure img:last-child {
	margin-right: 0;
}

.entry_base .ext_btn dl {
	-webkit-box-flex: 1;
	  -ms-flex: 1;
	      flex: 1;
}
.entry_base .ext_btn dt {
	margin-bottom: 5px;
}
.entry_base .ext_btn dt small {
	display: block;
	padding-top: 10px;
	font-size: 1.3rem;
	color: #222;
	letter-spacing: 0;
}
.entry_base .ext_btn dd {
	font-size: 1.4rem;
	line-height: 2.0;
}
.entry_base .ext_btn dd .btn_area {
	margin: 20px 0 0;
}

@media only screen and (max-width: 768px) {
	.entry_base .ext_btn li {
		display: block;
	}
	.entry_base .ext_btn li:last-child {
		margin-bottom: 0;
	}
	.entry_base .ext_btn figure {
		margin: 0 0 20px;
		text-align: center;
	}
	.entry_base .ext_btn.ext_img_m figure {
		margin-right: 0;
	}
	.entry_base .ext_btn figure img {
		margin-right: 0;
	}
	.entry_base .ext_btn.ext_img_m figure img {
		width: 240px;
		margin: 0 0 8px;
	}
}*/

/*-----------------------------------------
	thumb_link
-----------------------------------------*/
/* thumb_link */
.thumb_link li {
    margin-bottom: 25px;
    padding: 0 0 25px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    /*-webkit-box-align: center;
		-ms-flex-align: center;
			align-items: center;*/
}

.thumb_link li figure {
    width: 40%;
}

.thumb_link li figure img {
    width: 100%;
    display: block;
}

.thumb_link li .txt_info {
    width: 55%;
}

.thumb_link li .txt_info .ttl {
    margin: 0 0 10px;
    font-size: 1.6rem;
}

.thumb_link li .txt_info .ttl small {
    font-size: 1.3rem;
    color: #222;
}

.thumb_link li .txt_info p {
    margin: 0 0 20px;
    line-height: 2.1;
}

.thumb_link li .txt_info .btn {
    width: 100%;
    min-width: auto;
    min-width: none;
    margin: 0;
    padding: 15px;
    color: #FFF;
}

/* thumb_link_m */
.thumb_link.thumb_link_m figure {
    margin-right: 28px;
    font-size: 0;
    -webkit-box-flex: 2;
    -ms-flex: 2;
    flex: 2;
}

.thumb_link.thumb_link_m figure img {
    width: 46%;
    display: inline-block;
}

.thumb_link.thumb_link_m figure img:not(:last-child) {
    margin-right: 28px;
}

.thumb_link.thumb_link_m .txt_info {
    -webkit-box-flex: 2;
    -ms-flex: 2;
    flex: 2;
}

@media only screen and (max-width: 768px) {
    .thumb_link li {
        margin: 0 auto;
        padding: 20px 0;
    }

    .thumb_link li:first-of-type {
        padding: 0 0 20px;
    }

    .thumb_link li:last-of-type {
        margin: 0 auto 20px;
    }

    .thumb_link li .txt_info .ttl {
        font-size: 1.4rem;
    }

    .thumb_link li .txt_info p {
        margin: 5px 0px 0px;
        line-height: 1.7;
    }

    .thumb_link li .txt_info .btn {
        width: 100%;
        min-width: auto;
        min-width: none;
        margin: 10px 0px 0px;
        /*padding: 10px;*/
        font-size: 1.2rem;
    }

    .thumb_link li .txt_info .btn:before {
        font-size: 1.3rem;
    }

    .thumb_link.thumb_link_m li {
        display: block;
    }

    .thumb_link.thumb_link_m figure {
        width: 100%;
        margin-bottom: 20px;
    }

    .thumb_link.thumb_link_m figure img {
        width: 47%;
    }

    .thumb_link.thumb_link_m figure img:not(:last-child) {
        margin-right: 5%;
    }

    .thumb_link.thumb_link_m li .txt_info {
        width: 100%;
    }
}


/*-----------------------------------------
	relate_btn_list
-----------------------------------------*/
.relate_field {
    padding: 55px 0 25px;
    background: #FFF;
    border: 1px solid #EFEFEF;
    border-width: 1px 0 0 0;
    position: relative;
    z-index: 1;
}

/*.relate_field h3 {
	display: inline-block;
	font-family: 'PT Sans', sans-serif;
	font-size: 1.6rem;
	font-weight: 700;
	margin: 0 0 28px;
	position: relative;
}
.relate_field h3::after {
	content: "\e905";
	font-family: 'tdg';
	display: block;
	font-size: 1.4rem;
	color: #CD3074;
	position: absolute;
	right: -32px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}*/
.relate_btn_list {
    margin-bottom: 30px;
}

.relate_btn_list li {
    margin-bottom: 18px;
}

.relate_btn_list li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 1.6rem;
    padding: 27px 50px 27px 36px;
    position: relative;
    border-radius: 5px;
    border: 1px solid #E2E2E2;
    background: #FFF;
}

.relate_btn_list li a::after {
    content: "\e902";
    font-family: 'tdg';
    font-size: 1.2rem;
    font-weight: 500;
    position: absolute;
    top: 50%;
    right: 20px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

/* btn_ruby  */
.relate_btn_list.btn_ruby li a {
    display: block;
}

/* active */
.relate_btn_list li.active a {
    font-weight: 700;
    color: #222222;
    background: rgba(205, 48, 116, 0.06);
    border: 1px solid #CD3074;
}

.relate_btn_list li.active a::after {
    color: #222222;
    font-weight: 500;
}

/* PC Hover */
@media only screen and (min-width: 768px) {
    body:not(.tab_view) .relate_btn_list li a:hover {
        opacity: 1 !important;
        font-weight: 700;
        color: #222222;
        background: rgba(205, 48, 116, 0.06);
        border: 1px solid #CD3074;
    }

    body:not(.tab_view) .relate_btn_list li a:hover::after {
        color: #222222;
        font-weight: 500;
    }
}

@media only screen and (max-width: 768px) {
    .relate_btn_list li a {
        padding: 5% 12% 5% 5%;
    }

    .relate_btn_list li a::after {
        right: 5%;
    }
}

/*-----------------------------------------
	dpt_btn_list
-----------------------------------------*/
.dpt_btn_field {
    padding: 107px 0;
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid #EFEFEF;
    border-width: 1px 0 0 0;
}

/*.dpt_btn_list {
	margin-bottom: 90px;
}*/
.dpt_btn_list li {
    margin-bottom: 18px;
    border: 1px solid #E2E2E2;
    border-radius: 5px;
    overflow: hidden;
    background: #ffffff;
}

.dpt_btn_list li a {
    margin-bottom: 30px;
    font-weight: 500;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

.dpt_btn_list li a:hover {
    font-weight: normal;
}

.dpt_btn_list li p {
    font-size: 1.6rem;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    line-height: 1.8;
    margin: 0;
    padding: 30px 50px 30px 36px;
    background: #FFF;
    position: relative;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

.dpt_btn_list li p::after {
    content: "\e902";
    font-family: 'tdg';
    font-size: 1.2rem;
    position: absolute;
    top: 50%;
    right: 20px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

/*SEO対策h3に変更*/
.dpt_btn_list li .list_h3 {
    font-size: 1.6rem;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    line-height: 1.8;
    margin: 0;
    padding: 30px 50px 10px 36px;
    background: #FFF;
    position: relative;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
    color: inherit;
    border-left: none;
}

.dpt_btn_list li .list_h3::after {
    content: "\e902";
    font-family: 'tdg';
    font-size: 1.2rem;
    position: absolute;
    top: 65%;
    right: 20px;
    -webkit-transform: translateY(-65%);
    transform: translateY(-65%);
}

.dpt_btn_list li .list_p {
    font-size: 1.4rem;
    color: #222222;
    padding-top: 0;
}

.dpt_btn_list li .list_p::after {
    content: none;
}

/* active */
.dpt_btn_list li.active a {
    font-weight: 700;
    color: #222222;
}

.dpt_btn_list li.active a p {
    background: rgba(221, 52, 91, 0.08);
}

.dpt_btn_list li.active a p::after {
    color: #222222;
    font-weight: 500;
}

/*SEO対策h3に変更*/
.dpt_btn_list li.active a .list_h3,
.dpt_btn_list li.active a span {
    background: rgba(221, 52, 91, 0.08);
}

.dpt_btn_list li.active a .list_h3::after,
.dpt_btn_list li.active a span {
    color: #222222;
    font-weight: 500;
}

/* 20231023 先行説明文追加 */
.dpt_btn_list li .list_span {
    color: black;
    padding: 0 20px 20px;
    font-size: 1.4rem;
    display: block;
    background: #ffffff;
}

/* PC Hover */
@media only screen and (min-width: 768px) {
    body:not(.tab_view) .dpt_btn_list li a:hover {
        font-weight: 700;
        color: #222222;
    }

    body:not(.tab_view) .dpt_btn_list li a:hover p {
        background: rgba(221, 52, 91, 0.08);
    }

    body:not(.tab_view) .dpt_btn_list li a:hover p::after {
        color: #222222;
        font-weight: 500;
    }

    /*SEO対策h3に変更*/
    body:not(.tab_view) .dpt_btn_list li a:hover .list_h3,
    body:not(.tab_view) .dpt_btn_list li a:hover span {
        background: rgba(221, 52, 91, 0.08);
        transition: all 0.3s ease-out;
    }

    body:not(.tab_view) .dpt_btn_list li a:hover .list_h3::after,
    body:not(.tab_view) .dpt_btn_list li a:hover span {
        color: #222222;
        font-weight: 500;
    }
}

@media only screen and (max-width: 768px) {
    .dpt_btn_field {
        padding: 60px 0;
    }

    .dpt_btn_list li p {
        padding: 5% 12% 5% 5%;
    }

    .dpt_btn_list li p::after {
        right: 5%;
    }

    /*SEO対策h3に変更*/
    .dpt_btn_list li .list_h3 {
        padding: 5% 12% 2% 5%;
    }

    .dpt_btn_list li .list_h3::after {
        right: 5%;
    }
}

/*-----------------------------------------
	lower_btn_list
-----------------------------------------*/
.lower_btn_field {
    padding: 107px 0;
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid #EFEFEF;
    border-width: 1px 0 0 0;
}

.lower_btn_list {
    margin-bottom: 30px;
}

.lower_btn_list li {
    margin-bottom: 18px;
    overflow: hidden;
    border: 1px solid #E2E2E2;
    border-radius: 5px;
    background: #FFF;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

.lower_btn_list li a {
    display: block;
    font-weight: 500;
}

.lower_btn_list li p {
    font-size: 1.6rem;
    line-height: 1.8;
    margin: 0;
    padding: 30px 40px 30px 36px;
    border-radius: 0 0 5px 5px;
    position: relative;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

.lower_btn_list li p::after {
    content: "\e902";
    font-family: 'tdg';
    font-size: 1.2rem;
    position: absolute;
    top: 32px;
    right: 20px;
}

.lower_btn_list li p>span {
    font-size: 1.4rem;
    font-weight: 400;
    color: #222222;
    display: block;
    margin-top: 15px;
}

/* active */
.lower_btn_list li.active a {
    font-weight: 700;
    color: #222222;
}

.lower_btn_list li.active a p {
    background: rgba(221, 52, 91, 0.08);
}

.lower_btn_list li.active a p::after {
    color: #222222;
    font-weight: 500;
}

/* PC Hover */
@media only screen and (min-width: 768px) {
    body:not(.tab_view) .lower_btn_list li:hover {
        border: 1px solid rgba(222, 9, 117, 0.25);
        background: rgba(221, 52, 91, 0.08);
    }

    body:not(.tab_view) .lower_btn_list li:hover a {
        font-weight: 700;
        color: #222222;
        margin-bottom: 0;
        opacity: 1 !important;
    }

    body:not(.tab_view) .lower_btn_list li:hover p::after {
        color: #222222;
        font-weight: 500;
    }
}

@media only screen and (max-width: 768px) {
    .lower_btn_field {
        padding: 60px 0;
    }

    .lower_btn_list li p {
        padding: 5% 12% 5% 5%;
    }

    .lower_btn_list li p::after {
        right: 5%;
    }
}

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

.block_link .left_area {
    width: 62%;
    margin: 0;
    padding: 100px 18% 100px 80px;
}

.block_link .left_area p {
    width: auto;
    font-size: 1.6rem;
    text-align: left;
}

.block_link .left_area *:last-child {
    margin: 0;
}

.block_link .sec_head {
    margin: 0 0 32px;
    text-align: left;
}

.block_link .sec_head::after {
    color: #DE0975;
    left: 0;
    -webkit-transform: translateX(0);
    transform: translateX(0);
}

.block_link .sec_head span {
    text-align: left;
    color: #8D8D8D !important;
}

.block_link .right_area {
    width: 46%;
    display: block;
    border-radius: 5px;
    /* overflow: hidden;*/
    position: absolute;
    top: 50%;
    right: 80px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-box-shadow: 0 3px 16px rgba(102, 102, 102, .08);
    box-shadow: 0 3px 16px rgba(102, 102, 102, .08);
    background: #FFF;
}

.block_link .right_area:not(.no_pad) {
    padding: 44px;
}

.block_link .right_area>*:last-child {
    margin-bottom: 0;
}

.block_link .right_area .more {
    position: absolute;
    right: 25px;
    bottom: 20px;
    z-index: 1;
}

@media only screen and (max-width: 1280px) {
    .block_link .left_area p .br_tab_none {
        display: none !important;
    }
}

@media only screen and (max-width: 768px) {
    .block_link .left_area {
        width: 100%;
        padding: 64px 4% 20%;
    }

    .block_link .sec_head {
        margin: 0 auto 45px;
        text-align: center;
    }

    .block_link .sec_head::after {
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }

    .block_link .sec_head span {
        text-align: center;
    }

    .block_link .right_area {
        width: 92%;
        margin: -17% 4% 0;
        position: static;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }

    .block_link .right_area:not(.no_pad) {
        padding: 5%;
    }

    .block_link .right_area .more {
        right: 5%;
        bottom: 5%;
    }
}

/*-----------------------------------------
	block_description
-----------------------------------------*/
.block_description {
    background: #FAFAFA;
    border-radius: 5px;
    padding: 60px 70px;
    margin: 0 0 93px;
    display: flex;
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative;
}

.block_description>figure img {
    width: 52px;
    height: 52px;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) translate(0, -30px);
    transform: translate(-50%, -50%) translate(0, -30px);
}

.block_description>div {
    text-align: center;
    width: 42%;
}

.block_description>div .label {
    display: inline-block;
    font-size: 1.5rem;
    color: #fff;
    border-radius: 15px;
    padding: 5px 28px;
}

.block_description>.basic_class .label {
    background: #75C30C;
}

.block_description>.elective_lessons .label {
    background: #24ADA8;
}

.block_description>div .label+p {
    font-size: 2.4rem;
    margin: 0 0 10px;
}

.block_description>div figure {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    margin: 0 auto 25px;
    position: relative;
}

.block_description>.basic_class figure {
    background: rgba(117, 195, 12, 0.12);
}

.block_description>.elective_lessons figure {
    background: rgba(36, 173, 168, 0.12);
}

.block_description>div figure img {
    position: absolute;
    width: 55%;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.block_description>div p.text {
    text-align: left;
}

.block_description>div p.text:last-child {
    margin: 0;
}

@media only screen and (max-width: 1260px) {
    .block_description {
        padding: 60px;
    }
}

@media only screen and (max-width: 768px) {
    .block_description {
        display: block;
        padding: 10% 5%;
        margin: 0 auto 40px;
    }

    .block_description>div {
        width: 100%;
    }

    .block_description>figure {
        text-align: center;
        margin: 30px auto;
    }

    .block_description>figure img {
        position: static;
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
    }
}

/*-----------------------------------------
	image_area
-----------------------------------------*/
.image_area {
    padding-top: 20px;
    padding-bottom: 20px;
    background: rgba(253, 250, 250, 0.75);
}

.image_area figure {
    margin-bottom: 0;
}

.image_area img {
    border-radius: 5px;
}

/*-----------------------------------------
	no_pad_image_area
-----------------------------------------*/
.no_pad_image_area {
    width: 132%;
    margin: 0 0 0 -16%;
    padding-top: 7px;
    padding-bottom: 7px;
    background: rgba(222, 9, 117, .15);
}

.no_pad_image_area ul {
    display: flex;
    display: -ms-flexbox;
    display: -webkit-box;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
}

.no_pad_image_area ul li {
    width: 25%;
    position: relative;
}

.no_pad_image_area ul li::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: url(/files/common/bg_head_dots.png)
}

.no_pad_image_area ul li::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: #FFF;
    opacity: 0.15;
}

.no_pad_image_area img {
    width: 100%;
}

@media only screen and (max-width: 768px) {}

/*-----------------------------------------
	future_wrap
-----------------------------------------*/
.future_wrap {
    /*margin: 50px 0;*/
    /*width: 980px;*/
    widht: 1200px;
    background: #FFF;
    margin-left: auto;
    margin-right: auto;
    border-radius: 15px;
    -webkit-box-shadow: 0 0 16px rgba(105, 105, 105, .08);
    box-shadow: 0 0 16px rgba(105, 105, 105, .08);
    position: relative;
}

.future_wrap .ttl {
    display: inline-block;
    padding: 14px 20px 14px 50px;
    border-radius: 25px;
    background: #DD4C34;
    font-size: 1.7rem;
    color: #FFF;
    position: absolute;
    top: -34px;
    left: 27px;
}

.future_wrap .ttl::before {
    content: '\e913';
    font-family: 'tdg';
    font-size: 2.0rem;
    line-height: 1;
    position: absolute;
    top: 50%;
    left: 20px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.future_wrap .ttl::after {
    content: '';
    display: block;
    position: absolute;
    left: 40px;
    bottom: -9px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 10px 10px 0;
    border-color: transparent #DD4C34 transparent transparent;
}

.future_wrap .ttl span {
    display: inline-block;
    font-family: 'PT Sans', sans-serif;
    font-weight: 700;
    font-size: 1.3rem;
    color: rgba(255, 255, 255, 0.65);
    padding: 0 0 0 12px;
}

.future_wrap ul {
    padding: 40px 30px 25px;
}

.future_wrap ul li {
    position: relative;
    font-size: 1.35rem;
    padding: 0 0 15px 20px;
    margin-bottom: 0;
}

.future_wrap ul li::before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 100%;
    background: #DD4C34;
    position: absolute;
    top: 10px;
    left: 0;
}

@media only screen and (max-width: 768px) {
    .future_wrap {
        width: 100%;
    }

    .future_wrap ul {
        padding-left: 4%;
        padding-right: 4%;
    }

    .future_wrap .ttl {
        left: 10px;
    }
}

/*-----------------------------------------
	course_field_lower
-----------------------------------------*/
.course_field_lower {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}

.course_field_lower>li {
    margin-bottom: 35px;
    display: block;
    font-weight: 500;
    border-radius: 25px;
    overflow: hidden;
    background: #FFF;
    -webkit-box-shadow: 0px 0 16px rgba(0, 0, 0, .08);
    box-shadow: 0px 0 16px rgba(0, 0, 0, .08);
    position: relative;
}

.course_field_lower>li .label {
    font-family: 'PT Sans', sans-serif;
    font-size: 2.9rem;
    font-weight: 700;
    line-height: 2.0;
    text-align: center;
    color: #FFF;
    width: 57px;
    height: 57px;
    border-radius: 25px 0 25px 0;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
}

.course_field_lower>li .newpageIcon {
    position: absolute;
    top: 10px;
    left: 10px;
    width: 75px;
    height: 75px;
    z-index: 10;
}

@media only screen and (max-width: 768px) {
    .course_field_lower>li .newpageIcon {
        width: 50px;
        height: 50px;
    }
}

.course_field_lower>li .new {
    background: #FF0081;
    color: #FFF;
    font-weight: 700;
    position: absolute;
    right: 15px;
    top: 15px;
    padding: 5px 14px;
    z-index: 1;
}

/*20230330 学科紹介ページ吹き出し追加*/
.balloon1-top {
    position: relative;
    display: inline-block;
    /*margin: 1.5em 0;*/
    margin: 0.9em 0 0;
    padding: 7px 10px;
    min-width: 120px;
    max-width: 100%;
    color: #FFF;
    font-size: 16px;
    background: #FF0081;
}

.balloon1-top:before {
    content: "";
    position: absolute;
    top: -30px;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-bottom: 15px solid #FF0081;
}

.balloon1-top span {
    margin: 0;
    padding: 0;
}

/*吹き出しend*/
.course_field_lower>li figure {
    max-height: 226px;
    overflow: hidden;
    margin-bottom: 0;
}

.course_field_lower>li figure img {
    width: 100%;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

.course_field_lower>li p {
    width: 90%;
    color: #333333;
    font-size: 2.0rem;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    line-height: 1.8;
    margin: 0 auto;
    padding: 30px 75px 20px 0;
    background: #FFF;
    border-bottom: 1px solid #E2E2E2;
    position: relative;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

.course_field_lower>li p .sub {
    position: absolute;
    top: -47px;
    z-index: 1;
}

.course_field_lower>li p .sub img {
    max-height: 33px;
    max-width: 100%;
}

.course_field_lower>li p .more {
    margin: 0;
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%) translateY(6px);
    transform: translateY(-50%) translateY(6px);
}

.course_field_lower>li>ul {
    margin: 0 auto 20px;
    padding-top: 25px;
    width: 90%;
}

.course_field_lower>li>ul>li {
    letter-spacing: 0.08em;
    margin-bottom: 10px;
    padding: 0 0 0 15px;
    position: relative;
}

.course_field_lower>li>ul>li::before {
    content: "\e902";
    font-family: 'tdg';
    font-size: 1.0rem;
    color: #DE0975;
    display: block;
    position: absolute;
    top: 6px;
    left: 0;
    -webkit-transform: scale(0.8, 0.8);
    transform: scale(0.8, 0.8);
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

.course_field_lower>li>ul>li a {
    color: #333333;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

.course_field_lower>li>p.note {
    font-size: 1.6rem;
    margin-bottom: 15px;
    border-bottom: none;
}

/* active */
.course_field_lower>li.active a {
    font-weight: 700;
    color: #222222;
}

.course_field_lower>li.active a p {
    background: rgba(221, 52, 91, 0.08);
}

.course_field_lower>li.active a p::after {
    color: #222222;
    font-weight: 500;
}

/* PC Hover */
@media only screen and (min-width: 768px) {
    body:not(.tab_view) .course_field_lower>li:hover figure img {
        -webkit-transform: scale(1.1, 1.1);
        transform: scale(1.1, 1.1);
    }

    body:not(.tab_view) .course_field_lower>li:hover p {
        color: #DE0975;
    }

    body:not(.tab_view) .course_field_lower>li>ul>li a:hover {
        opacity: 0.6;
        -webkit-box-shadow: none;
        box-shadow: none;
    }
}

@media only screen and (max-width: 768px) {
    .course_field_lower>li>ul {
        margin: 0 auto 25px;
        width: 90%;
    }

    .course_field_lower>li:last-child {
        margin-bottom: 0;
    }

    .course_field_lower>li p {
        font-size: 1.8rem;
        padding: 5% 70px 5% 0;
    }

    .course_field_lower>li p::after {
        right: 5%;
    }

    .course_field_lower>li p .sub {
        padding: 2px 0;
    }

    .course_field_lower>li p .sub img {
        max-height: 25px;
    }

    .course_field_lower>li p .more {
        top: 50%;
        right: 0;
        -webkit-transform: translateY(-50%) translateY(0px);
        transform: translateY(-50%) translateY(0px);
    }
}

/*-----------------------------------------
	dpt_course_wrap
-----------------------------------------*/
.dpt_course_wrap {
    padding: 40px 50px;
    border-radius: 5px;
    border: 1px solid #E2E2E2;
}

.dpt_course_wrap figure {
    margin: 0 0 25px;
    border-radius: 5px;
    overflow: hidden;
}

.dpt_course_wrap h2 {
    border-left: none;
}

.dpt_course_wrap p {
    margin: 0;
}

.dpt_course_wrap .clm_2>* {
    width: 48%;
    margin-right: 4%;
}

.dpt_course_wrap .clm_2>*:nth-of-type(2n) {
    margin-right: 0;
}

@media only screen and (max-width: 768px) {
    .dpt_course_wrap {
        padding: 5%;
    }

    .dpt_course_wrap .clm_2>* {
        width: 100%;
        margin-right: 0;
    }
}

/*-----------------------------------------
	other_intro
-----------------------------------------*/
.other_intro ul li {
    margin-bottom: 50px;
}

.other_intro .head_wrap {
    margin-bottom: 15px;
}

.other_intro .sec_head {
    padding: 0;
}

.other_intro .sec_head::after {
    content: none;
}

.other_intro figure {
    position: relative;
    margin: 0 0 15px;
}

.other_intro figure::before {
    content: '';
    border-radius: 15px;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0.25;
    display: block;
    background: -moz-linear-gradient(-45deg, #DE0975 0%, #EADCA0 100%);
    background: -webkit-linear-gradient(-45deg, #DE0975 0%, #EADCA0 100%);
    background: linear-gradient(135deg, #DE0975 0%, #EADCA0 100%);
}

.other_intro figure+p {
    min-height: 56px;
}

.other_intro .btn {
    width: 300px;
    padding: 15px 35px 15px 25px;
}

@media only screen and (max-width: 768px) {
    .other_intro ul li:last-child {
        margin-bottom: 0;
    }

    .other_intro figure+p {
        min-height: auto;
        min-height: initial;
    }
}


/*-----------------------------------------
	more_link
-----------------------------------------*/
.more_link {
    margin: 0 0 25px;
    /*display: -webkit-box;
	display: -ms-flexbox;
	display: flex;*/
    position: relative;
}

.more_link figure {
    width: 55%;
    border-radius: 15px;
    overflow: hidden;
}

.more_link figure img {
    width: 100%;
}

.more_link .text_area {
    width: 50%;
    margin: -162px 0 0 auto;
    padding: 42px 45px 75px;
    border-radius: 15px;
    background: #FFF;
    /*position: absolute;
	top: 142px;*/
    /*bottom: -60px;*/
    /*right: 0;*/
    -webkit-box-shadow: 0 0 8px rgba(34, 34, 34, .06);
    box-shadow: 0 0 8px rgba(34, 34, 34, .06);
    position: relative;
    z-index: 1;
    ;
}

.more_link .text_area h3 {
    font-size: 2.2rem;
    margin: 0 0 10px;
    border-left: none;
    background: none;
    padding: 0;
}

.more_link .text_area p {
    margin: 0;
}

.more_link .btn_area {
    position: absolute;
    right: 46px;
    bottom: -25px;
}

.more_link .btn {
    width: 290px;
    padding: 15px 35px 15px 25px;
}

@media only screen and (max-width: 768px) {
    .more_link figure {
        width: 100%;
    }

    .more_link .text_area {
        width: 90%;
        margin: -25px -3% 0 auto;
        padding: 5% 5% 12%;
    }

    .more_link .text_area h3 {
        font-size: 2.0rem;
    }

    .more_link .btn_area {
        width: 100%;
        right: 4%;
        text-align: right;
    }

    .more_link .btn_area .btn {
        width: 60%;
    }
}

/* ------------------------------
	text_img_set
------------------------------ */
.text_img_set {
    /*padding: 0 80px;*/
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    position: relative;
    background: transparent !important;
}

.text_img_set:first-of-type {
    margin-top: 130px;
}

.text_img_set:not(:last-of-type) {
    margin-bottom: 120px;
}

/* text_area */
.text_img_set .text_area {
    width: 75%;
    border-radius: 15px;
    margin: 0 -15% 0 0;
    padding: 80px 18% 95px 50px;
    position: relative;
    background: #FFF;
    -ms-flex-order: 1;
    order: 1;
}

.text_img_set .text_area h3 {
    font-size: 2.2rem;
    padding: 0;
    margin: 0 0 10px;
    border-left: none;
    background: none;
}

.text_img_set .text_area h3 .label {
    font-size: 1.4rem;
    color: #FFF;
    display: inline-block;
    border-radius: 2px;
    background: #888888;
    padding: 0 5px;
    margin: 0 0 0 58px;
}

.text_img_set .text_area p {
    font-size: 1.6rem;
}

.text_img_set .text_area p:last-child {
    margin: 0;
}

/* img_area */
.text_img_set .img_area {
    width: 46%;
    max-width: 552px;
    margin: -5% 0 0 0;
    z-index: 1;
    border-radius: 15px;
    overflow: hidden;
    -ms-flex-order: 2;
    order: 2;
}

.text_img_set .img_area img {
    max-width: auto;
    max-width: initial;
    width: 100%;
}

.text_img_set.odd .text_area {
    margin: 0 0 0 -15%;
    padding: 80px 5% 95px 18%;
    -ms-flex-order: 2;
    order: 2;
}

.text_img_set.odd .img_area {
    margin: -5% 0 0 0;
    -ms-flex-order: 1;
    order: 1;
}

/* attention */
/*.text_img_set .attention {
	margin: 50px 0 0;
}
.text_img_set .attention .ttl {
	position: relative;
	padding: 0 0 5px 25px;
}
.text_img_set .attention .ttl::before {
	content: '\e903';
	display: block;
	font-family: 'tdg';
	font-size: 1.6rem;
	line-height: 1;
	position: absolute;
	top: 5px;
	left: 0px;
	-webkit-transform: rotate(-15deg);
	transform: rotate(-15deg);
}
.text_img_set .attention p {
	font-size: 1.4rem;
	padding: 0 0 0 25px;
	margin: 0;
}*/

@media only screen and (max-width: 768px) {
    .text_img_set .text_area p {
        font-size: 1.4rem;
    }
}

/* type_pickup */
.text_img_set.type_pickup .text_area {
    position: relative;
}

.text_img_set.type_pickup .text_area::before {
    content: '';
    display: block;
    width: 123px;
    height: 48px;
    background-size: contain;
    position: absolute;
    top: -30px;
    z-index: 1;
}

/* .type_glitter  */
/*.text_img_set.type_ao {
	margin: 0;
}*/
.text_img_set.type_ao .text_area {
    width: 48%;
    margin: 0 0 0 -5%;
    padding: 50px;
    background: #FFF;
    z-index: 2;
    order: 2;
}

.text_img_set.type_ao .text_area h3 {
    font-size: 2.4rem;
    color: #DE0975;
    position: relative;
}

.text_img_set.type_ao .text_area h3::before {
    content: "\e924";
    display: block;
    font-family: 'tdg';
    color: #DE0975;
    font-size: 2.9rem;
    position: absolute;
    top: -30px;
    left: -20px;
}

.text_img_set.type_ao .text_area p {
    margin: 0;
}

.text_img_set.type_ao .img_area {
    width: 58%;
    border-radius: 5px;
    order: 1;
}

@media only screen and (max-width: 768px) {
    .text_img_set.type_ao {
        margin: 0 0 60px;
    }

    .text_img_set.type_ao .text_area {
        width: 110%;
        padding: 10% 5% 15%;
        margin: 0 -5%;
    }

    .text_img_set.type_ao .img_area {
        width: 100%;
        z-index: 2;
    }

    .text_img_set.type_ao .text_area h3::before {
        left: -5px;
    }
}

/* .type_special  */
.text_img_set.type_special {
    margin: 108px 0 0 -5%;
    position: relative;
}

.text_img_set.type_special .img_area {
    width: 698px;
    /*width: 90%;*/
    max-width: auto;
    max-width: initial;
    border-radius: 0 15px 0 5px;
    /*margin: -396px -100px 0 0;*/
    margin: 0;
    overflow: visible;
    position: absolute;
    top: -396px;
    right: -100px;
}

.text_img_set.type_special .img_area img {
    border-radius: 0 15px 0 5px;
}

.text_img_set.type_special .img_area figure {
    position: relative;
}

.text_img_set.type_special .img_area figure::before {
    content: '';
    display: block;
    border-radius: 5px;
    background: rgba(250, 217, 234, 0.36);
    width: 100%;
    height: 100%;
    position: absolute;
    right: 54px;
    bottom: -54px;
    z-index: -1;
}

.text_img_set.type_special .text_area {
    width: 672px;
    background: #FFF;
    border-radius: 5px;
    padding: 50px;
    position: relative;
    z-index: 2;
}

.text_img_set.type_special .text_area h3 {
    color: #DE0975;
    font-size: 2.4rem;
    margin: 0 0 20px;
    padding: 0;
    border-left: none;
    background: none;
}

.text_img_set.type_special .text_area p {
    font-size: 1.6rem;
}

.text_img_set.type_special .text_area p:last-child {
    margin: 0;
}

@media only screen and (max-width: 768px) {
    .text_img_set.type_special {
        margin: 60px 0 50px;
    }

    .text_img_set.type_special .img_area {
        position: static;
        width: auto;
        border-radius: none;
        margin: 0px -5.5% 0 0;
    }

    .text_img_set.type_special .img_area figure::before {
        right: 25px;
        bottom: -25px;
    }

    .text_img_set.type_special .text_area {
        width: 111%;
        padding: 5%;
        margin: 30px -5.5% 0;
    }

    .text_img_set.type_special .text_area h3 {
        font-size: 2.2rem;
    }

    .text_img_set.type_special .text_area p {
        font-size: 1.4rem;
    }
}

/* .type_tdg_list  */
.text_img_set.type_tdg_list {
    margin: 80px 0 0;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.text_img_set.type_tdg_list .text_area {
    width: 63%;
    margin: 0;
    padding: 55px 38px 42px 30px;
    border: 3px solid #FA22F9;
    position: relative;
}

.text_img_set.type_tdg_list .text_area::before {
    content: '';
    display: block;
    position: absolute;
    right: -30px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 14.5px 0 14.5px 30px;
    border-color: transparent transparent transparent #FFF;
    z-index: 1;
}

.text_img_set.type_tdg_list .text_area::after {
    content: '';
    display: block;
    position: absolute;
    right: -35px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 17.5px 0 17.5px 35px;
    border-color: transparent transparent transparent #FA22F9;
}

.text_img_set.type_tdg_list:nth-child(2n) .text_area::before {
    right: auto;
    left: -30px;
    -webkit-transform: translateY(-50%) rotate(180deg);
    transform: translateY(-50%) rotate(180deg);
}

.text_img_set.type_tdg_list:nth-child(2n) .text_area::after {
    right: auto;
    left: -35px;
    -webkit-transform: translateY(-50%) rotate(180deg);
    transform: translateY(-50%) rotate(180deg);
}

.text_img_set.type_tdg_list .text_area h3 {
    display: table;
    background: #FFF;
    padding: 10px 25px;
    border-radius: 5px;
    position: absolute;
    top: -28px;
    left: 40px;
    font-size: 2.0rem;
    color: #FA22F9;
    z-index: 1;
}

.text_img_set.type_tdg_list .text_area h3::before {
    content: "\e927";
    font-family: 'tdg';
    color: rgba(222, 9, 117, 0.15);
    font-size: 3.4rem;
    position: absolute;
    top: -12px;
    left: 12px;
    z-index: -1;
}

.text_img_set.type_tdg_list .text_area li {
    position: relative;
    border-bottom: 1px solid #FA22F9;
    margin-left: 22px;
    padding-bottom: 10px;
    margin-bottom: 8px;
    font-size: 1.4rem;
    letter-spacing: 0;
}

.text_img_set.type_tdg_list .text_area li::before {
    content: "\e921";
    font-family: 'tdg';
    display: block;
    font-size: 1.4rem;
    color: #FA22F9;
    position: absolute;
    left: -22px;
    top: 4px;
}

.text_img_set.type_tdg_list .img_area {
    margin: -50px -15px 0 0;
    width: 36%;
    border-radius: 0;
    overflow: visible;
    position: relative;
}

.text_img_set.type_tdg_list:nth-child(2n) .img_area {
    margin: 0 0 0 -40px;
}


.text_img_set.type_tdg_list:nth-child(2) .text_area {
    border-color: #00F8F8;
}

.text_img_set.type_tdg_list:nth-child(2) .text_area::after {
    border-color: transparent transparent transparent #00F8F8;
}

.text_img_set.type_tdg_list:nth-child(2) .text_area h3 {
    color: #00A2A2;
}

.text_img_set.type_tdg_list:nth-child(2) .text_area h3::before {
    color: rgba(0, 248, 248, 0.3);
}

.text_img_set.type_tdg_list:nth-child(2) .text_area li {
    border-bottom: 1px solid #00F8F8;
}

.text_img_set.type_tdg_list:nth-child(2) .text_area li::before {
    color: #00D5D5;
}

/*.text_img_set.type_tdg_list:nth-child(2) .img_area:before {
	display: block;
	content: url(/tdg-world/files/tdg_person_deco_01.png);
	position: absolute;
	top: -130px;
	right: -75px;
	z-index: 1;
}*/

.text_img_set.type_tdg_list:nth-child(3) .text_area {
    border-color: #F9F500;
}

.text_img_set.type_tdg_list:nth-child(3) .text_area::after {
    border-color: transparent transparent transparent #F9F500;
}

.text_img_set.type_tdg_list:nth-child(3) .text_area h3 {
    color: #958900;
}

.text_img_set.type_tdg_list:nth-child(3) .text_area h3::before {
    color: rgba(249, 245, 0, 0.3);
}

.text_img_set.type_tdg_list:nth-child(3) .text_area li {
    border-bottom: 1px solid #F9F500;
}

.text_img_set.type_tdg_list:nth-child(3) .text_area li::before {
    color: #CBBB00;
}

.text_img_set.type_tdg_list:nth-child(3) .img_area {
    margin: -50px -15px 0 0;
}

/*.text_img_set.type_tdg_list:nth-child(3) .img_area:before {
	display: block;
	content: url(/tdg-world/files/tdg_person_deco_02.png);
	position: absolute;
	top: -80px;
	right: 16px;
	z-index: 1;
}*/
.text_img_set.type_tdg_list:nth-child(4) .text_area li::before {
    color: #DE0975;
}

.text_img_set.type_tdg_list:nth-child(4) .img_area {
    margin: -56px -15px 0 0;
}

/*.text_img_set.type_tdg_list:nth-child(4) .img_area:before {
	display: block;
	content: url(/tdg-world/files/tdg_person_deco_03.png);
	position: absolute;
	top: -63px;
	right: -25px;
	z-index: 1;
}*/

@media only screen and (max-width: 768px) {
    .text_img_set.type_tdg_list .text_area {
        width: 100% !important;
        padding: 10% 5% 8%;
        margin: 0 !important;
    }

    .text_img_set.type_tdg_list .text_area::before,
    .text_img_set.type_tdg_list .text_area::after {
        content: none;
    }

    .text_img_set.type_tdg_list .text_area>div::before {
        transform: scale(0.6, 0.6);
    }

    .text_img_set.type_tdg_list .text_area h3 {
        padding: 10px 5px;
        font-size: 1.8rem;
        left: 5%;
    }

    .text_img_set.type_tdg_list .img_area {
        width: 70% !important;
        margin: 0 auto 50px !important;
    }

    .text_img_set.type_tdg_list .img_area:before {
        transform: scale(0.6, 0.6);
    }
}


/* type_img_shadow */
.text_img_set.type_img_shadow {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 80px;
}

.text_img_set.type_img_shadow .img_area {
    width: 56%;
    max-width: auto;
    max-width: initial;
    border-radius: 5px;
    margin: 0;
    order: 1;
}

.text_img_set.type_img_shadow .img_area figure {
    margin: 0 20px 25px;
    overflow: visible;
    position: relative;
}

.text_img_set.type_img_shadow .img_area figure::before {
    content: '';
    display: block;
    border-radius: 5px;
    background: rgba(250, 217, 234, 0.36);
    width: 100%;
    height: 100%;
    position: absolute;
    right: -20px;
    bottom: -24px;
    z-index: -1;
}

.text_img_set.type_img_shadow .img_area figure img {
    border-radius: 5px;
}

.text_img_set.type_img_shadow .text_area {
    width: 50%;
    padding: 35px 34px 52px;
    margin: -20px 0 0 -6%;
    border-radius: 5px;
    background: #FFF;
    order: 2;
    z-index: 2;
}

.text_img_set.type_img_shadow .text_area h3 {
    font-size: 2.4rem;
    color: #DE0975;
    background: transparent !important;
}

.text_img_set.type_img_shadow .text_area p {
    font-size: 1.4rem;
    letter-spacing: 0;
    margin: 0;
}

.text_img_set.odd.type_img_shadow .img_area {
    order: 2;
}

.text_img_set.odd.type_img_shadow .img_area figure::before {
    right: auto;
    left: -20px;
}

.text_img_set.odd.type_img_shadow .text_area {
    margin: -20px -6% 0 0;
    order: 1;
}

/* reverse */
.text_img_set.reverse.type_img_shadow .text_area {
    order: 1;
    margin: -20px -6% 0 0;
}

.text_img_set.reverse.type_img_shadow .img_area figure::before {
    right: auto;
    left: -20px;
}

.text_img_set.reverse.type_img_shadow .img_area {
    order: 2;
}

.text_img_set.reverse.odd.type_img_shadow .text_area {
    order: 2;
    margin: -20px 0 0 -6%;
}

.text_img_set.reverse.odd.type_img_shadow .img_area {
    order: 1;
}

.text_img_set.reverse.odd.type_img_shadow .img_area figure::before {
    left: auto;
    right: -20px;
}

@media only screen and (max-width: 768px) {
    .text_img_set.type_img_shadow .text_area {
        padding: 0 !important;
        margin: 0 0 30px !important;
        width: 100% !important;
        background: transparent;
    }

    .text_img_set.type_img_shadow .text_area h3 {
        font-size: 2.2rem;
    }

    .text_img_set.type_img_shadow .img_area {
        margin: 0 !important;
        width: 100% !important;
    }

    .text_img_set.type_img_shadow .img_area figure {
        margin: 0 20px 25px 0 !important;
    }

    .text_img_set.odd.type_img_shadow .img_area figure::before {
        left: auto;
        right: -20px;
    }
}

/* .type_tdg_message  */
.text_img_set.type_tdg_message {
    display: block;
}

.text_img_set.type_tdg_message .img_area {
    width: 83%;
    max-width: auto;
    max-width: initial;
    background-color: #FAFBFD;
    overflow: visible;
    margin: 0 0 0 auto;
    position: relative;
}

.text_img_set.type_tdg_message .img_area::before {
    position: absolute;
    display: block;
    content: url(/tdg-world/files/tdg_message_deco_01.png);
    background-size: contain;
    top: -35px;
    left: -100px;
    z-index: 1;
}

.text_img_set.type_tdg_message .img_area::after {
    position: absolute;
    display: block;
    content: url(/tdg-world/files/tdg_message_deco_02.png);
    background-size: contain;
    top: 124px;
    left: -134px;
    z-index: 1;
}

.text_img_set.type_tdg_message .img_area img {
    border-radius: 5px;
}

.text_img_set.type_tdg_message .text_area {
    width: 83%;
    padding: 62px 54px;
    margin: -62px 0 0;
    border-radius: 5px;
    z-index: 1;
}

.text_img_set.type_tdg_message .text_area h3 {
    font-size: 2.4rem;
    color: #DE0975;
}

.text_img_set.type_tdg_message .text_area p {
    font-size: 1.6rem;
    margin: 0;
}

/* 20220328追加 SPDC0403  */
.text_img_set.type_tdg_message .img_area_new1 {
    width: 83%;
    max-width: auto;
    max-width: initial;
    background-color: #FAFBFD;
    overflow: visible;
    margin: 0 0 0 auto;
    position: relative;
}

.text_img_set.type_tdg_message .img_area_new1::before {
    position: absolute;
    display: block;
    content: url(/files/spdc_guest_01.png);
    width: 17%;
    max-width: auto;
    max-width: initial;
    background-size: contain;
    bottom: -20px;
    left: -200px;
    z-index: 3;
}

.text_img_set.type_tdg_message .img_area_new1 img {
    border-radius: 5px;
}

.text_img_set.type_tdg_message .img_area_new2 {
    width: 83%;
    max-width: auto;
    max-width: initial;
    background-color: #FAFBFD;
    overflow: visible;
    margin: 0 0 0 auto;
    position: relative;
}

.text_img_set.type_tdg_message .img_area_new2 img {
    border-radius: 5px;
}

.text_img_set.type_tdg_message .img_area_new3 {
    width: 83%;
    max-width: auto;
    max-width: initial;
    background-color: #FAFBFD;
    overflow: visible;
    margin: 0 0 0 auto;
    position: relative;
}

.text_img_set.type_tdg_message .img_area_new3::before {
    position: absolute;
    display: block;
    content: url(/files/spdc_guest_03.png);
    width: 17%;
    max-width: auto;
    max-width: initial;
    background-size: contain;
    bottom: -20px;
    left: -200px;
    z-index: 3;
}

.text_img_set.type_tdg_message .img_area_new3 img {
    border-radius: 5px;
}

.text_img_set.type_tdg_message .img_area_new5 {
    width: 83%;
    max-width: auto;
    max-width: initial;
    background-color: #FAFBFD;
    overflow: visible;
    margin: 0 0 0 auto;
    position: relative;
}

.text_img_set.type_tdg_message .img_area_new5::before {
    position: absolute;
    display: block;
    content: url(/files/spdc_guest_05.png);
    width: 17%;
    max-width: auto;
    max-width: initial;
    background-size: contain;
    bottom: -20px;
    left: -200px;
    z-index: 3;
}

.text_img_set.type_tdg_message .img_area_new5 img {
    border-radius: 5px;
}

/* 20220525追加 PDC0605  */
.text_img_set.type_tdg_message .img_area_pdc1 {
    width: 83%;
    max-width: auto;
    max-width: initial;
    background-color: #FAFBFD;
    overflow: visible;
    margin: 0 0 0 auto;
    position: relative;
}

.text_img_set.type_tdg_message .img_area_pdc1::before {
    position: absolute;
    display: block;
    content: url(/pdc/pdc_guest_01.png);
    width: 17%;
    max-width: auto;
    max-width: initial;
    background-size: contain;
    bottom: -20px;
    left: -220px;
    z-index: 3;
}

.text_img_set.type_tdg_message .img_area_pdc1 img {
    border-radius: 5px;
}

.text_img_set.type_tdg_message .img_area_pdc2 {
    width: 83%;
    max-width: auto;
    max-width: initial;
    background-color: #FAFBFD;
    overflow: visible;
    margin: 0 0 0 auto;
    position: relative;
}

.text_img_set.type_tdg_message .img_area_pdc2::before {
    position: absolute;
    display: block;
    content: url(/pdc/pdc_guest_02.png);
    width: 17%;
    max-width: auto;
    max-width: initial;
    background-size: contain;
    bottom: -20px;
    left: -200px;
    z-index: 3;
}

.text_img_set.type_tdg_message .img_area_pdc2 img {
    border-radius: 5px;
}

.text_img_set.type_tdg_message .img_area_pdc3 {
    width: 83%;
    max-width: auto;
    max-width: initial;
    background-color: #FAFBFD;
    overflow: visible;
    margin: 0 0 0 auto;
    position: relative;
}

.text_img_set.type_tdg_message .img_area_pdc3::before {
    position: absolute;
    display: block;
    content: url(/pdc/pdc_guest_03.png);
    width: 17%;
    max-width: auto;
    max-width: initial;
    background-size: contain;
    bottom: -20px;
    left: -220px;
    z-index: 3;
}

.text_img_set.type_tdg_message .img_area_pdc3 img {
    border-radius: 5px;
}

.text_img_set.type_tdg_message .img_area_pdc4 {
    width: 83%;
    max-width: auto;
    max-width: initial;
    background-color: #FAFBFD;
    overflow: visible;
    margin: 0 0 2em auto;
    position: relative;
}

.text_img_set.type_tdg_message .img_area_pdc4::before {
    position: absolute;
    display: block;
    content: url(/pdc/pdc_guest_04.png);
    width: 17%;
    max-width: auto;
    max-width: initial;
    background-size: contain;
    bottom: -50px;
    left: -220px;
    z-index: 3;
}

.text_img_set.type_tdg_message .img_area_pdc4 img {
    border-radius: 5px;
}

.text_img_set.type_tdg_message .img_area_pdc6 {
    width: 83%;
    max-width: auto;
    max-width: initial;
    background-color: #FAFBFD;
    overflow: visible;
    margin: 0 0 0 auto;
    position: relative;
}

.text_img_set.type_tdg_message .img_area_pdc6::before {
    position: absolute;
    display: block;
    content: url(/pdc/pdc_guest_06.png);
    width: 17%;
    max-width: auto;
    max-width: initial;
    background-size: contain;
    bottom: -20px;
    left: -220px;
    z-index: 3;
}

.text_img_set.type_tdg_message .img_area_pdc6 img {
    border-radius: 5px;
}

/* text_area */
.text_img_set .text_area_new {
    width: 75%;
    border-radius: 15px;
    margin: 0 -15% 0 0;
    padding: 80px 18% 95px 50px;
    position: relative;
    background: #FFF;
    -ms-flex-order: 1;
    order: 1;
    box-shadow: 15px 15px rgba(250, 217, 234, 0.36);
}

.text_img_set .text_area_new h3 {
    font-size: 2.2rem;
    padding: 0;
    margin: 0 0 10px;
    border-left: none;
    background: none;
}

.text_img_set .text_area_new h3 .label {
    font-size: 1.4rem;
    color: #FFF;
    display: inline-block;
    border-radius: 2px;
    background: #888888;
    padding: 0 5px;
    margin: 0 0 0 58px;
}

.text_img_set .text_area_new p {
    font-size: 1.6rem;
}

.text_img_set .text_area_new p:last-child {
    margin: 0;
}

.text_img_set.type_tdg_message .text_area_new {
    width: 70%;
    padding: 62px 54px;
    margin: -42px 0 100px 150px;
    border-radius: 5px;
    z-index: 1;
}

.text_img_set.type_tdg_message .text_area_new h3 {
    font-size: 2.4rem;
    color: #DE0975;
}

.text_img_set.type_tdg_message .text_area_new p {
    font-size: 1.6rem;
    margin: 0;
}

@media only screen and (max-width: 768px) {
    .text_img_set.type_tdg_message {
        margin-top: 100px;
    }

    .text_img_set.type_tdg_message .img_area {
        width: 90%;
    }

    .text_img_set.type_tdg_message .img_area::before {
        top: -80px;
        left: -70px;
        z-index: -1;
    }

    .text_img_set.type_tdg_message .img_area::after {
        top: 5%;
        left: -80px;
        -webkit-transform: scale(0.6, 0.6);
        transform: scale(0.6, 0.6);
        z-index: -1;
    }

    .text_img_set.type_tdg_message .text_area {
        width: 95%;
        margin: -5% 0 0;
        padding: 5%;
    }

    .text_img_set.type_tdg_message .text_area h3 {
        font-size: 2.2rem;
    }

    .text_img_set.type_tdg_message .text_area p {
        font-size: 1.4rem;
    }

    /**20220328追加**/
    .text_img_set.type_tdg_message .img_area_new1 {
        width: 90%;
    }

    .text_img_set.type_tdg_message .img_area_new1::before {
        bottom: -70px;
        left: -90px;
        -webkit-transform: scale(0.6, 0.6);
        transform: scale(0.6, 0.6);
    }

    .text_img_set.type_tdg_message .img_area_new2 {
        width: 90%;
    }

    .text_img_set.type_tdg_message .img_area_new3 {
        width: 90%;
    }

    .text_img_set.type_tdg_message .img_area_new3::before {
        bottom: -70px;
        left: -90px;
        -webkit-transform: scale(0.6, 0.6);
        transform: scale(0.6, 0.6);
    }

    .text_img_set.type_tdg_message .img_area_new5 {
        width: 90%;
    }

    .text_img_set.type_tdg_message .img_area_new5::before {
        bottom: -70px;
        left: -90px;
        -webkit-transform: scale(0.6, 0.6);
        transform: scale(0.6, 0.6);
    }

    /**20220525追加**/
    .text_img_set.type_tdg_message .img_area_pdc1 {
        width: 90%;
    }

    .text_img_set.type_tdg_message .img_area_pdc1::before {
        bottom: -70px;
        left: -90px;
        -webkit-transform: scale(0.6, 0.6);
        transform: scale(0.6, 0.6);
    }

    .text_img_set.type_tdg_message .img_area_pdc2 {
        width: 90%;
    }

    .text_img_set.type_tdg_message .img_area_pdc2::before {
        bottom: -70px;
        left: -90px;
        -webkit-transform: scale(0.6, 0.6);
        transform: scale(0.6, 0.6);
    }

    .text_img_set.type_tdg_message .img_area_pdc3 {
        width: 90%;
    }

    .text_img_set.type_tdg_message .img_area_pdc3::before {
        bottom: -70px;
        left: -90px;
        -webkit-transform: scale(0.6, 0.6);
        transform: scale(0.6, 0.6);
    }

    .text_img_set.type_tdg_message .img_area_pdc4 {
        width: 90%;
    }

    .text_img_set.type_tdg_message .img_area_pdc4::before {
        bottom: -100px;
        left: -90px;
        -webkit-transform: scale(0.6, 0.6);
        transform: scale(0.6, 0.6);
    }

    .text_img_set.type_tdg_message .img_area_pdc6 {
        width: 90%;
        margin-bottom: 1em;
    }

    .text_img_set.type_tdg_message .img_area_pdc6::before {
        bottom: -90px;
        left: -90px;
        -webkit-transform: scale(0.6, 0.6);
        transform: scale(0.6, 0.6);
    }

    .text_img_set.type_tdg_message .text_area_new {
        width: 95%;
        margin: -2% 0 0.5em;
        padding: 5%;
    }

    .text_img_set.type_tdg_message .text_area_new h3 {
        font-size: 2.2rem;
    }

    .text_img_set.type_tdg_message .text_area_new p {
        font-size: 1.4rem;
    }
}

/*20230714追加*/
.text_img_set.type_tdg_message .img_area_sdc1::before {
    position: absolute;
    display: block;
    content: url(/dream-campus/sdc_guest_01.png);
    width: 17%;
    max-width: auto;
    max-width: initial;
    background-size: contain;
    bottom: 100px;
    left: -50px;
    z-index: 3;
}

@media only screen and (max-width: 768px) {
    .text_img_set.type_tdg_message .text_area_new {
        width: 95%;
        margin: 40% 0 0.5em;
        padding: 5%;
    }

    .text_img_set.type_tdg_message .img_area_sdc1::before {
        bottom: 110px;
        left: 180px;
        -webkit-transform: scale(0.6, 0.6);
        transform: scale(0.6, 0.6);
    }
}

/* clm_area */
.short_wrap {
    width: 90%;
    margin: 0 auto;
}

.clm_area figure {
    margin: 0 0 25px;
    border-radius: 5px;
    overflow: hidden;
}

.clm_area .marker_wrap {
    position: relative;
    padding: 0 0 0 44px;
    margin: 0 0 20px;
}

.clm_area .marker_wrap::before {
    content: '';
    display: block;
    height: 3px;
    width: 20px;
    background: #DE0975;
    position: absolute;
    top: 15px;
    left: 0;
}

.clm_area h4 {
    font-size: 2.0rem;
}

.clm_area .marker_wrap+p {
    padding-left: 44px;
    margin-bottom: 80px;
    font-size: 1.4rem;
}

.clm_area .text_img_set {
    margin: 0 auto 35px;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.clm_area .text_img_set .text_area,
.clm_area .text_img_set .img_area {
    width: 48%;
}

.clm_area .text_img_set .text_area {
    margin: 0;
    padding: 0;
    border-radius: 0;
    order: 2;
    background: none;
}

.clm_area .text_img_set.odd .text_area {
    order: 1;
}

.clm_area .text_img_set .img_area {
    margin: 0;
    max-width: auto;
    max-width: initial;
    border-radius: 5px;
    order: 1;
}

.clm_area .text_img_set .img_area figure {
    margin: 0;
}

.clm_area .text_img_set.odd .img_area {
    order: 2;
}

.clm_area .clm_wrap.clm_4>* {
    width: 22.75%;
    margin-right: 3%;
}

.clm_area .clm_wrap.clm_3>* {
    width: 30.6%;
    margin-right: 4.1%;
}

.clm_area .clm_wrap.clm_4>*:nth-of-type(4n),
.clm_area .clm_wrap.clm_3>*:nth-of-type(3n) {
    margin-right: 0;
}

.clm_area .clm_wrap h4 {
    font-size: 1.6rem;
    position: relative;
    padding: 0 0 0 24px;
    margin: 0 0 20px;
    font-weight: 400;
    color: #222;
}

.clm_area .clm_wrap h4::before {
    content: '';
    display: block;
    height: 3px;
    width: 12px;
    background: #DE0975;
    position: absolute;
    top: 12px;
    left: 0;
}

.clm_area .clm_wrap p {
    font-size: 1.3rem;
}

/* type_no_padd */
.clm_area.type_no_padd .text_img_set h4::before {
    font-family: 'tdg';
    display: block;
    text-align: left;
    color: #DE0975;
    font-size: 3.6rem;
}

.clm_area.type_no_padd .marker_wrap {
    padding: 0;
}

.clm_area.type_no_padd .marker_wrap::before {
    content: none;
}

.clm_area.type_no_padd .marker_wrap+p {
    padding-left: 0;
}

@media only screen and (max-width: 768px) {
    .text_img_set {
        display: block;
        padding: 0;
    }

    .text_img_set:not(:last-child) {
        margin: 0 0 60px;
    }

    .text_img_set .text_area,
    .text_img_set.odd .text_area {
        width: 110%;
        margin: 0 0 0 -5%;
        border-radius: 0;
        padding: 10% 5% 15%;
    }

    .text_img_set .img_area,
    .text_img_set.odd .img_area {
        width: 100%;
        max-width: auto;
        max-width: initial;
        margin: -8% 0 0;
        position: relative;
        z-index: 1;
    }

    .short_wrap {
        width: 100%;
    }

    .clm_area {
        width: 100%;
    }

    .clm_area figure {
        margin: 0 0 15px !important;
    }

    .clm_area .marker_wrap {
        margin: 0 0 10px;
        padding: 0 0 0 35px;
    }

    .clm_area .marker_wrap+p {
        margin: 0 0 30px;
        padding-left: 35px;
    }

    .clm_area .text_img_set {
        margin: 0 0 30px;
    }

    .clm_area .text_img_set .text_area,
    .clm_area .text_img_set .img_area {
        width: 100%;
        margin: 0;
        padding: 0;
    }

    .clm_area .clm_wrap h4 {
        font-size: 1.5rem;
    }

    .clm_area .clm_wrap h4::before {
        top: 10px;
    }
}



/*-----------------------------------------
	case_study_list
-----------------------------------------*/
.case_study_list .text_img_set .ttl_num {
    display: block;
    position: absolute;
    top: -30px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    white-space: nowrap;
    z-index: 1
}

.case_study_list .text_img_set .ttl_num img {
    vertical-align: middle;
}

.case_study_list .text_img_set .ttl_num .circle {
    font-family: 'PT Sans', sans-serif;
    font-size: 2.6rem;
    font-weight: 700;
    text-align: center;
    display: inline-block;
    color: #FFF;
    background: #DE0975;
    width: 39px;
    height: 39px;
    border-radius: 50%;
    margin-left: 10px;
}

.case_study_list .text_img_set .text_area {
    position: relative;
    padding: 50px 34px;
}

/*.case_study_list .text_img_set .text_area::before {
	content: url(/about/files/curriculum_case_deco.png);
	position: absolute;
	top: -85px;
	left: -75px;
	z-index: 1;
}*/
.case_study_list .text_img_set:nth-child(2n) .text_area::before {
    top: -80px;
    left: auto;
    right: -92px;
}

.case_study_list .text_img_set .text_area h4 {
    font-size: 2.6rem;
    font-weight: 400;
    color: #222;
    position: relative;
    padding-left: 60px;
    margin: 0 0 30px 55px;
}

.case_study_list .text_img_set .text_area h4 img {
    padding: 0 30px;
}

.case_study_list .dpt_label {
    font-family: 'PT Sans', sans-serif;
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 2.4;
    text-align: center;
    color: #FFF;
    width: 57px;
    height: 57px;
    border-radius: 15px 0 15px 0;
    position: absolute;
    top: -8px;
    left: 0;
    z-index: 1;
}

@media only screen and (max-width: 1260px) {
    .case_study_list .text_img_set .text_area h4 {
        margin: 0 0 30px;
    }

    .case_study_list .text_img_set .text_area h4 img {
        padding: 0 20px;
    }
}

@media only screen and (max-width: 768px) {
    .case_study_list .text_img_set {
        margin: 60px 0;
    }

    .case_study_list .text_img_set .text_area {
        padding: 60px 5% 5% !important;
        margin: 80px 0 30px !important;
    }

    .case_study_list .text_img_set.odd .text_area::before {
        top: -75px;
    }

    .case_study_list .text_img_set .text_area h4 {
        padding-left: 45px;
        margin: 0 0 30px;
    }

    .case_study_list .text_img_set .text_area h4 img {
        padding: 0 5px;
        -webkit-transform: scale(0.8, 0.8);
        transform: scale(0.8, 0.8);
    }

    .case_study_list .dpt_label {
        font-size: 2.2rem;
        line-height: 1.9;
        width: 40px;
        height: 40px;
        top: 2px;
    }
}

/*-----------------------------------------
	message_list
-----------------------------------------*/
.message_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.message_list .img_area {
    width: 18%;
}

.message_list .img_area figure {
    border-radius: 50%;
    border: 1px solid #E2E2E2;
    background: #FFF;
    position: relative;
}

.message_list .img_area figure::before {
    content: '';
    width: 96px;
    height: 37px;
    background: url(/about/files/curriculum_voice_ttl.png) no-repeat;
    background-size: contain;
    font-size: 2.8rem;
    font-family: 'PT Sans', sans-serif;
    font-weight: 700;
    display: block;
    color: #DE0975;
    position: absolute;
    top: -20px;
    left: calc(50% + 10px);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 1;
}

.message_list .text_area {
    width: calc(100% - 20%);
}

.message_list .text_area .sub {
    font-size: 1.6rem;
    margin: 0 0 5px;
    display: block;
}

.message_list .text_area .name {
    font-size: 2.2rem;
    margin: 0 0 15px;
    display: block;
}

.message_list .text_area .name small {
    font-size: 1.6rem;
    margin-left: 10px;
}

.message_list .text_area p {
    margin: 0;
}

@media only screen and (max-width: 768px) {
    .message_list {
        display: block;
    }

    .message_list .img_area {
        width: 50%;
        margin: 0 auto 30px;
    }

    .message_list .text_area {
        width: 100%;
    }
}

/*-----------------------------------------
	access
-----------------------------------------*/
.map_wrap {
    margin: 0 0 38px;
}

@media only screen and (max-width: 768px) {
    .map_wrap {
        margin: 0 0 20px;
    }
}

/*-----------------------------------------
	attention_wrap
-----------------------------------------*/
.attention_wrap {
    border-radius: 5px;
    border: 1px solid #E2E2E2;
    background: #FFF;
    padding: 25px 50px;
}

#payment_rules::before {
    content: " ";
    margin-top: -80px;
    height: 80px;
    display: block;
    visibility: hidden;
}

.attention_wrap .attention:not(:last-child) {
    padding-bottom: 20px;
    margin-bottom: 24px;
    border-bottom: 2px solid #F7F7F7;
}

.attention_wrap .attention .ttl {
    color: #DE0975;
    position: relative;
    padding: 0 0 5px 25px;
}

.attention_wrap .attention .ttl::before {
    content: '\e903';
    display: block;
    font-family: 'tdg';
    font-size: 1.6rem;
    line-height: 1;
    position: absolute;
    top: 5px;
    left: 0px;
    -webkit-transform: rotate(-15deg);
    transform: rotate(-15deg);
}

.attention_wrap .attention p,
.attention_wrap .attention ul {
    font-size: 1.4rem !important;
    padding: 0 0 0 25px;
    margin: 0;
}

.attention_wrap .attention ul {
    margin-top: 5px;
}

.attention_wrap .attention ul li {
    font-weight: 500;
}

@media only screen and (max-width: 768px) {
    .attention_wrap {
        padding: 5%;
    }

    .attention_wrap .attention p,
    .attention_wrap .attention ul {
        padding: 0;
    }
}


/*-----------------------------------------
	360viewer
-----------------------------------------*/
.viewer360_wrap {
    padding: 55px 60px !important;
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.95);
    -webkit-box-shadow: 0 0 8px rgba(105, 105, 105, .08);
    box-shadow: 0 0 8px rgba(105, 105, 105, .08);
}

.viewer360 {
    visibility: hidden;
    margin-bottom: 44px;
    border-bottom: 1px solid #F7F7F7;
}

.viewer360 .screenWrap {
    margin: 0 auto 20px auto;
    width: 100%;
    height: 540px;
    position: relative;
    z-index: 1;
}

.viewer360 .screenWrap .pnlm-container {
    border-radius: 5px;
}

.viewer360 .screenWrap .prev,
.viewer360 .screenWrap .next {
    text-decoration: none;
    width: 38px;
    height: 38px;
    margin-top: -23px;
    display: block;
    overflow: hidden;
    color: #fff;
    text-shadow: none;
    background: #000;
    border: 1px solid #000;
    position: absolute;
    top: 50%;
    z-index: 10;
    opacity: 1;
    cursor: pointer;
    transition: all 0.2s ease-out;
    border-radius: 5px;
    -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
}

.viewer360 .screenWrap .prev {
    left: -45px;
    text-align: right;
    border-right: none;
}

.viewer360 .screenWrap .next {
    right: -45px;
    text-align: left;
    border-left: none;
}

/*.viewer360 .screenWrap .prev:before,
.viewer360 .screenWrap .next:before {
	content: "" !important;
	width: 0;
	height: 100%;
	display: inline-block;
	background: #fff;
	transition: all 0.2s ease-out;
}*/
.viewer360 .screenWrap .prev:after,
.viewer360 .screenWrap .next:after {
    content: "\e902" !important;
    font-family: 'tdg';
    color: #fff;
    font-size: 1.6rem;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-40%, -50%);
    transform: translate(-40%, -50%);
    transition: all 0.2s ease-out;
    text-shadow: none !important;
}

.viewer360 .screenWrap .prev:after {
    -webkit-transform: translate(-80%, -50%) rotate(180deg);
    transform: translate(-80%, -50%) rotate(180deg);
}

/*PC Hover*/
@media only screen and (min-width: 768px) {

    body:not(.tab_view) .viewer360 .screenWrap .prev:hover:before,
    body:not(.tab_view) .viewer360 .screenWrap .next:hover:before {
        width: 100%;
    }

    body:not(.tab_view) .viewer360 .screenWrap .prev:hover:after,
    body:not(.tab_view) .viewer360 .screenWrap .next:hover:after {
        color: #000 !important;
    }
}

.viewer360 #screen {
    /*width: 1120px;*/
    height: 540px;
    position: relative;
}

.viewer360 .viewCaption {
    margin: 0 auto;
    padding: 35px 0 0 40px;
    /*width: 1120px;*/
    font-size: 1.8rem;
    text-align: left;
    opacity: 0;
}

.viewer360 .viewCaption.capShow {
    transition: all 1s ease-out;
    opacity: 1;
}

.viewer360 .viewCaption span {
    font-family: 'M PLUS 1p', sans-serif;
    color: #DE0975;
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.0;
    display: block;
    position: relative;
}

.viewer360 .viewCaption.capShow span::before {
    content: '';
    display: block;
    width: 20px;
    height: 3px;
    background: #DE0975;
    position: absolute;
    top: 50%;
    left: -28px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.viewer360 .viewCaption p.name {
    font-size: 2rem;
    font-weight: 700;
    line-height: 2;
}

.viewer360 .viewCaption p {
    font-size: 1.4rem;
}

.viewer360 nav {
    margin: 20px auto;
}

.viewer360 nav ul {
    /*width: 1120px;*/
    margin: 0 auto;
    position: relative;
    text-align: center;
}

.viewer360 nav ul li {
    /*width: 76px;
	height: 76px;*/
    width: calc((100% - 150px) / 15);
    margin: 0 5px;
    text-align: center;
    display: inline-block;
    position: relative;
    border-radius: 10px;
}

.viewer360 nav ul li::after {
    content: "";
    display: block;
    padding-top: 100%;
}

.viewer360 nav ul li a {
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    display: block;
    position: absolute;
    background-size: cover;
    box-sizing: border-box;
    border-radius: 10px;
    transition: all 0.4s ease-in-out;
}

.viewer360 nav ul li a:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-radius: 3px;
    border: 2px solid transparent;
    background-color: #000;
    opacity: 0.35;
    display: block;
}

.viewer360 nav ul li a {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 5px;
    -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, .08);
    box-shadow: 0 0 6px rgba(0, 0, 0, .08);
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

.viewer360 nav ul li a:hover {
    opacity: 0.7;
    -webkit-transition: all 0.1s ease-out;
    -o-transition: all 0.1s ease-out;
    transition: all 0.1s ease-out;
}

.viewer360 nav ul li a.active {
    opacity: 1;
    border: 2px solid #CD3074;
}

.viewer360 nav ul li a.active::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #DE0975;
    opacity: 0.15;
    display: block;
    border-radius: 5px;
}

.viewer360 nav a.view1 {
    background-image: url(/virtual/files/view1.jpg);
}

.viewer360 nav a.view2 {
    background-image: url(/virtual/files/view2.jpg);
}

.viewer360 nav a.view3 {
    background-image: url(/virtual/files/view3.jpg);
}

.viewer360 nav a.view4 {
    background-image: url(/virtual/files/view4.jpg);
}

.viewer360 nav a.view5 {
    background-image: url(/virtual/files/view5.jpg);
}

.viewer360 nav a.view6 {
    background-image: url(/virtual/files/view6.jpg);
}

.viewer360 nav a.view7 {
    background-image: url(/virtual/files/view7.jpg);
}

.viewer360 nav a.view8 {
    background-image: url(/virtual/files/view8.jpg);
}

.viewer360 nav a.view9 {
    background-image: url(/virtual/files/view9.jpg);
}

.viewer360 nav a.view10 {
    background-image: url(/virtual/files/view10.jpg);
}

.viewer360 nav a.view11 {
    background-image: url(/virtual/files/view11.jpg);
}

.viewer360 nav a.view12 {
    background-image: url(/virtual/files/view12.jpg);
}

.viewer360 nav a.view13 {
    background-image: url(/virtual/files/view13.jpg);
}

.viewer360 nav a.view14 {
    background-image: url(/virtual/files/view14.jpg);
}

.viewer360 nav a.view15 {
    background-image: url(/virtual/files/view15.jpg);
}

.viewer360 nav ul li a span {
    width: 100%;
    display: block;
    overflow: hidden;
    line-height: 40px;
    color: #fff;
    font-size: 2.0rem;
    font-weight: 700;
    text-align: center;
    font-family: 'PT Sans', sans-serif;
    transition: all 0.4s ease-in-out;
    position: absolute;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    top: 50%;
    left: 0;
}

.pnlm-render-container {
    visibility: hidden;
    opacity: 0;
}

@media only screen and (max-width: 768px) {
    .viewer360_wrap {
        padding: 5% !important;
    }

    .viewer360 {
        margin-bottom: 24px;
    }

    .viewer360 .screenWrap {
        margin: 10px auto;
        width: 100%;
        height: 180px;
        position: relative;
    }

    .viewer360 #screen {
        width: 100%;
        height: 180px;
        margin: 0 auto;
    }

    .viewer360 .screenWrap .prev,
    .viewer360 .screenWrap .next {
        text-decoration: none;
        top: 17vw;
        width: 32px;
        height: 32px;
    }

    .viewer360 .screenWrap .prev {
        left: -6.5vw;
    }

    .viewer360 .screenWrap .next {
        right: -6.5vw;
    }

    .viewer360 .screenWrap .prev:after,
    .viewer360 .screenWrap .next:after {
        font-size: 1.4rem;
    }


    .viewer360 .viewCaption {
        padding: 35px 0 0 30px;
        width: 100%;
    }

    .viewer360 .viewCaption.capShow span::before {
        left: -20px;
    }

    .viewer360 nav ul {
        width: 100%;
        text-align: left;
    }

    .viewer360 nav ul li {
        display: inline-block;
        margin: 0 3px 8px;
        width: calc((100% - 36px) / 6);
        max-width: 63px;
        /*margin: 1vw;
		width: 12vw;
		height: 12vw;*/
    }
}

/*-----------------------------------------

	news list

-----------------------------------------*/
/* news_tab */
.news_tab {
    margin: 0 0 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    /*-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;*/
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.news_tab li {
    /*width: 19%;*/
    text-align: center;
}

.news_tab li:not(:last-child) {
    margin-right: 15px;
}

.news_tab li a {
    padding: 8px 44px;
    display: block;
    font-size: 1.4rem;
    font-weight: 500;
    color: #DE0975;
    background: #FFF;
    border: 2px solid #E2E2E2;
    border-radius: 25px;
}

.news_tab li.active a {
    background: #F5F5F5;
}

/* news_area */
.no_article {
    margin: 0 0 40px;
    padding: 40px;
    color: #999;
    text-align: center;
    background: #f5f5f5;
}

.no_article span {
    display: block;
    font-size: 4.0rem;
    font-family: 'PT Sans', sans-serif;
}

.news_area {
    padding: 12px 0;
    margin: 0 0 40px;
    border: 5px solid #CD3074;
    border-width: 5px 0;
}

.news_area li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative;
    padding: 20px;
    color: #222;
    letter-spacing: 0;
}

.news_area li:not(:last-child) a:before {
    content: '';
    width: 100%;
    height: 1px;
    display: block;
    position: absolute;
    right: 50%;
    bottom: 0;
    -webkit-transform: translateX(50%);
    transform: translateX(50%);
    background: #E2E2E2;
}

.news_area li figure {
    width: 20%;
    margin: 0 2% 0 0;
}

.news_area li .txt_info {
    width: 78%;
    position: relative;
}

.news_area li .txt_info::before {
    content: "\e902";
    font-family: 'tdg';
    font-size: 1.4rem;
    color: #CD3074;
    position: absolute;
    top: 50%;
    right: 0px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.news_area li .ttl {
    margin: 8px 0 4px;
    font-size: 1.8rem;
    line-height: 1.5;
}

.news_area li .trim {
    width: 90%;
    margin: 0 0 38px;
    font-size: 1.4rem;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

.news_area li .news_info {
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.news_area .date {
    font-family: 'PT Sans', sans-serif;
    font-weight: 700;
    color: #8D8D8D;
    line-height: 1;
}

.news_area .date::after {
    content: '/';
    font-size: 1.4rem;
    color: #E2E2E2;
    display: inline-block;
    padding: 0 10px;
}

.news_area .label_wrap {
    line-height: 1;
}

.news_area .label {
    font-size: 1.4rem;
}

.news_area li .tag_list {
    font-size: 1.4rem;
    color: #666666;
    position: absolute;
    bottom: 20px;
}

.news_area li .tag_list span {
    margin: 0 40px 0 0;
}

/* no_thumb */
.news_area.no_thumb li .txt_info {
    width: 100%;
}

.news_area.no_thumb .date::after {
    content: none;
}

.news_area.no_thumb li .trim {
    margin: 0 0 5px;
}

/*-- page_nation --*/
.page_nation ul {
    width: 100%;
    padding: 0 0 40px;
    text-align: center;
    position: relative;
}

.page_nation ul li {
    margin: 0 8px;
    display: inline-block;
}

.page_nation ul li a {
    width: 22px;
    height: 30px;
    display: inline-block;
    color: #073346;
    font-size: 1.8rem;
    text-align: center;
    font-family: 'PT Sans', sans-serif;
    font-weight: 700;
    border-bottom: 3px solid transparent;
}

.page_nation ul li.active a {
    color: #DE0975;
    border-bottom: 3px solid #CD3074;
}

.page_nation ul li a.link_before,
.page_nation ul li a.link_next,
.page_nation ul li.pn_prev a,
.page_nation ul li.pn_next a {
    font-size: 1.6rem;
    color: #D0D0D0;
    width: 6em;
    position: absolute;
    top: 0;
    background: none;
    border: none;
}

.page_nation ul li.pn_prev.active a,
.page_nation ul li.pn_next.active a {
    color: #DE0975;
}

/*.page_nation ul li a.link_before:before,
.page_nation ul li a.link_next:before,
.page_nation ul li.pn_prev a:before,
.page_nation ul li.pn_next a:before {
	content: '';
	width: 100%;
	height: 3px;
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	background: #F7F7F7;
	border-radius: 5px;
	-webkit-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}*/
.page_nation ul li a.link_before span,
.page_nation ul li a.link_next span,
.page_nation ul li.pn_prev a span,
.page_nation ul li.pn_next a span {}

.page_nation ul li a.link_before {
    left: 0;
}

.page_nation ul li a.link_next {
    right: 0;
}

.page_nation ul li.pn_prev a {
    left: 6.5em;
}

.page_nation ul li.pn_next a {
    right: 6.5em;
}

/* hover */
@media only screen and (min-width: 768px) {
    body:not(.tab_view) .news_area a:hover {
        opacity: 1 !important;
        background: rgba(205, 48, 116, 0.02);
    }

    body:not(.tab_view) .page_nation ul li:not(.pn_next):not(.pn_prev) a:hover {
        opacity: 1 !important;
        color: #DE0975;
        border-bottom: 3px solid #CD3074;
    }

    /*ation ul li a.link_next:hover:before,
	.page_nation ul li.pn_prev a:hover:before,
	.page_nation ul li.pn_next a:hover:before {
		background: #55ADEA;
	}*/
}

@media only screen and (max-width: 1260px) {
    .news_tab li a {
        padding: 12px 22px;
    }
}

@media only screen and (max-width: 768px) {
    .news_tab {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

    .news_tab li {
        width: 49%;
        margin: 2% 0 0 !important;
    }

    .news_tab li:first-of-type {
        width: 100%;
        margin: 0;
    }

    .news_tab li a {
        padding: 8px 0;
        font-size: 1.3rem;
    }

    .news_area {
        margin: 0 0 30px;
    }

    .news_area li:nth-child(n+5) {
        display: block;
    }

    .news_area li a {
        padding: 20px 10% 20px 4%;
    }

    .news_area li a:before {
        width: 100%;
    }

    .news_area li:last-of-type a:before {
        content: none;
    }

    .news_area li figure {
        width: 34%;
    }

    .news_area li .txt_info {
        width: 63%;
        position: relative;
    }

    .news_area li .txt_info::before {
        right: -2%;
    }

    .news_area li .label {
        font-size: 1.2rem;
    }

    .news_area li .news_info {
        margin: 0;
        position: static;
    }

    .news_area li .date {
        font-size: 1.4rem;
    }

    .news_area li .tag_list {
        position: static;
        font-size: 1rem;
    }

    .news_area li .tag_list span {
        margin: 0 5px 0 0;
    }

    .news_area li .ttl {
        margin: 8px 0 4px;
        font-size: 1.3rem;
    }

    .news_area li .trim {
        margin: 0;
        font-size: 1.2rem;
    }

    .page_nation {
        margin: 0 -4% 30px;
    }

    .page_nation ul {
        padding: 0 0 13vw;
    }

    .page_nation ul li {
        margin: 0 2px;
    }

    .page_nation ul li a {
        width: 7vw;
        height: 8vw;
        line-height: 8vw;
        font-size: 5.0vw;
    }

    .page_nation ul li.pn_prev a,
    .page_nation ul li.pn_next a {
        width: 30%;
        top: auto;
        bottom: 0;
    }

    .page_nation ul li.pn_prev a span,
    .page_nation ul li.pn_next a span {
        font-size: 1.6rem;
    }

    .page_nation ul li a.link_before,
    .page_nation ul li a.link_next {
        display: none;
    }

    .page_nation ul li a.link_before {
        left: 0;
    }

    .page_nation ul li a.link_next {
        right: 0;
    }

    .page_nation ul li.pn_prev a {
        left: 0;
    }

    .page_nation ul li.pn_next a {
        right: 0;
    }
}

/*-----------------------------------------

	news contents

-----------------------------------------*/
/*.news_head {
	width: 800px;
	margin: 0 auto 50px;
}*/
.news_ttl {
    margin: 0 0 55px;
    text-align: center;
}

.news_ttl::after {
    content: '';
    display: block;
    height: 1px;
    width: 42%;
    margin: 0 auto;
    background: #E2E2E2;
}

.news_ttl .news_info {
    margin: 0 0 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.news_ttl .date {
    font-family: 'PT Sans', sans-serif;
    font-size: 1.8rem;
    font-weight: 700;
    color: #8D8D8D;
    line-height: 1;
}

.news_ttl .date::after {
    content: '/';
    font-size: 1.4rem;
    color: #E2E2E2;
    display: inline-block;
    padding: 0 10px;
}

.news_ttl.important .date::after {
    content: none;
}

.news_ttl .label_wrap {
    line-height: 1;
}

.news_ttl .label {
    display: inline-block;
    font-size: 1.6rem;
    color: #FFF;
}

.news_ttl .ttl {
    margin: 0 0 15px;
    font-size: 3.0rem;
    font-weight: 500;
}

.news_ttl .tag_list {
    margin: 0 0 26px;
}

.news_wrap .tag_list span,
.news_wrap .tag_list a {
    margin: 0 16px 0 0;
}

.news_ttl .tag_list span,
.news_ttl .tag_list a {
    font-size: 1.4rem;
    color: #666666;
}

.news_ttl .tag_list span:last-child,
.news_ttl .tag_list a:last-child {
    margin-right: 0;
}

/* news_wrap */
.news_wrap figure {
    margin-bottom: 50px;
}

/*.news_wrap p {
	line-height: 2.3;
}*/
/*.news_wrap hr.tag {
	margin: 60px 0 12px;
}*/
/*.news_wrap .btn_area {
	margin: 40px 0 0;
	text-align: center;
}*/

@media only screen and (max-width: 768px) {

    /*.news_head {
		width: 100%;
		margin: 0 auto 20px;
	}*/
    .news_ttl {
        margin: 0 0 30px;
    }

    .news_ttl .news_info {
        margin: 0 0 10px;
    }

    .news_ttl .date {
        font-size: 1.4rem;
    }

    .news_ttl .label_wrap {
        line-height: 1;
    }

    .news_ttl .label {
        font-size: 1.2rem;
    }

    .news_ttl .ttl {
        margin: 8px 0 4px;
        font-size: 2rem;
    }

    .news_ttl .tag_list {
        margin: 0 0 20px;
    }

    .news_wrap figure {
        margin-bottom: 20px;
    }
}


/*-----------------------------------------

	architecture

-----------------------------------------*/
.special_sec_wrap .special_copy {
    display: block;
    font-size: 3.8rem;
    font-weight: 700;
    margin: 0 0 20px;
}

.special_sec_wrap .special_copy .accent {
    margin-left: 10px;
}

.special_sec_wrap .special_copy img {
    padding: 0 17px;
}

.special_sec_wrap .special_copy.font_s {
    font-size: 2.2rem !important;
    margin: 0 0 10px;
}

.special_sec_wrap .text_img_set .text_area {
    position: relative;
    padding: 70px 34px 52px !important;
}

.special_sec_wrap .text_img_set .text_area>img {
    position: absolute;
    width: 200px;
    top: -40px;
    left: -22px;
}

.special_sec_wrap .text_img_set .text_area p {
    margin: 0 0 20px !important;
}

.special_sec_wrap .btn_area {
    width: 50%;
    position: absolute;
    bottom: -25px;
    right: 34px;
}

@media only screen and (max-width: 768px) {
    .special_sec_wrap .copy_wrap {
        margin: 0;
    }

    .special_sec_wrap .special_copy {
        font-size: 5.8vw;
        padding: 2px 5px;
        margin: 0 0 10px;
    }

    .special_sec_wrap .special_copy.font_s {
        font-size: 5vw !important;
        white-space: nowrap;
    }

    .special_sec_wrap .special_copy .accent {
        margin-left: 5px;
    }

    .special_sec_wrap .special_copy img {
        padding: 0 5px;
        height: 20px;
        vertical-align: middle;
    }

    .special_sec_wrap .text_img_set {
        margin-top: 0;
        margin-bottom: 0;
    }

    .special_sec_wrap .text_img_set .text_area {
        position: static;
        padding: 70px 5% 30px !important;
        background: #FFF;
    }

    .special_sec_wrap .text_img_set .text_area>img {
        width: 180px;
        top: -34px;
        left: -12px;
    }

    .special_sec_wrap .btn_area {
        width: 100%;
        max-width: 224px;
        position: static;
    }
}


/*-----------------------------------------

	special contents

-----------------------------------------*/
.special_wrap {
    position: relative;
    padding-top: 0 !important;
}

.special_header>h2 {
    position: absolute;
    top: -100px;
    left: 50px;
    width: 400px;
    border-bottom: none;
    z-index: 2;
}

.special_header>h2 img {
    width: 100%;
    /* IE */
}

.special_header .copy_wrap {
    margin: 0 0 0 -40px;
    padding: 160px 0 0;
}

.special_header .special_copy {
    display: table;
    font-size: 4.2rem;
    font-weight: 700;
    background: #FFF;
    margin: 0 0 15px;
    padding: 2px 38px;
    position: relative;
    z-index: 2;
}

.special_header .special_copy .accent {
    margin-left: 10px;
}

.special_header .special_copy img {
    padding: 0 17px;
}

.special_header .special_copy:nth-child(2) {
    margin-left: 25px;
}

.special_header .special_copy.font_s {
    font-size: 2.8rem !important;
}

@media only screen and (max-width: 768px) {
    .special_header {
        padding-top: 0;
    }

    .special_header h2 {
        top: -40px;
        left: 5%;
        width: 50%;
        max-width: 360px;
    }

    .special_header h2 img {}

    .special_header .copy_wrap {
        margin: 0;
        padding: 22% 0 0;
    }

    .special_header .special_copy {
        font-size: 5.8vw;
        padding: 2px 5px;
        margin: 0 0 10px;
    }

    .special_header .special_copy.font_s {
        font-size: 5vw !important;
        white-space: nowrap;
    }

    .special_header .special_copy:nth-child(2) {
        margin-left: 10px;
    }

    .special_header .special_copy .accent {
        margin-left: 5px;
    }

    .special_header .special_copy img {
        padding: 0 5px;
        height: 20px;
        vertical-align: middle;
    }
}

/* discussion_member */
.discussion_member {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.discussion_member figure {
    text-align: center;
    position: relative;
    margin: 0 auto 24px;
}

.discussion_member figure::before {
    font-family: 'PT Sans', sans-serif;
    font-weight: 700;
    display: block;
    color: #DE0975;
    position: absolute;
    top: -0.5em;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 1;
}

.discussion_member figure img {
    border-radius: 50%;
    border: 1px solid #E2E2E2;
}

.discussion_member .name {
    margin: 0 0 10px;
    font-size: 2.2rem;
    text-align: center;
}

.discussion_member .name small {
    font-size: 1.6rem;
}

.discussion_member p {
    font-size: 1.2rem;
    margin: 0;
    line-height: 1.8;
}

.discussion_member .instructor {
    width: 40%;
    padding: 0 100px 0 0;
    position: relative;
}

.discussion_member .instructor::after {
    content: url(/department/files/icon_multiply.svg);
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.discussion_member .instructor figure {
    width: 175px;
    height: 175px;
}

.discussion_member .instructor figure::before {
    content: 'Instructor';
    font-size: 2.8rem;
}

.discussion_member .student {
    width: 15%;
}

.discussion_member .student figure {
    margin: 0 0 28px;
}

.discussion_member .student figure::before {
    content: 'Student';
    font-size: 2.0rem;
}

.discussion_member .student .name {
    margin: 0 0 5px;
    font-size: 1.8rem;
    text-align: center;
}

.discussion_member .student .name small {
    font-size: 1.2rem;
}

.discussion_member .student p {
    text-align: center;
}

/*20220906 建築学科スペシャルコンテンツ*/
.discussion_member .ob,
.discussion_member .og {
    width: 20%;
}

.discussion_member .ob figure,
.discussion_member .og figure {
    margin: 0 0 28px;
}

/*.discussion_member .ob figure::before {
	content: 'OB';
	font-size: 2.0rem;
    position: absolute;
    top: -1.2em;
    left: 50%;
    z-index: 2;
}
.discussion_member .og figure::before {
	content: 'OG';
	font-size: 2.0rem;
    position: absolute;
    top: -1.2em;
    left: 50%;
    z-index: 2;
}*/
.discussion_member .ob .name,
.discussion_member .og .name {
    margin: 0 0 5px;
    font-size: 1.8rem;
    text-align: center;
}

.discussion_member .ob .name small,
.discussion_member .og .name small {
    font-size: 1.2rem;
}

.discussion_member .ob p,
.discussion_member .og p {
    text-align: center;
}

@media only screen and (max-width: 768px) {
    .discussion_member .instructor {
        width: 100%;
        padding: 0 0 60px 0;
        margin: 0 0 5%;
    }

    .discussion_member .instructor::after {
        top: auto;
        right: auto;
        bottom: 0;
        left: 50%;
        -webkit-transform: translate(-50%, 0);
        transform: translate(-50%, 0);
    }

    .discussion_member .student {
        width: 30%;
    }

    .discussion_member .student .name {
        font-size: 1.3rem;
    }

    .discussion_member p {
        font-size: 1.1rem;
    }

    .discussion_member .ob,
    .discussion_member .og {
        width: 30%;
    }

    .discussion_member .ob .name,
    .discussion_member .og .name {
        font-size: 1.3rem;
    }
}

/* discussion_area */
.discussion_area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.discussion_area .text_area {
    width: 65%;
}

.discussion_area .text_area dl {
    line-height: 2.2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.discussion_area .text_area dt {
    color: #DE0975;
    width: 4em;
    font-size: 1.6rem;
    margin: 0 0 25px;
}

.discussion_area .text_area dt::after {
    content: ':';
    display: inline-block;
    margin: 0 5px;
}

.discussion_area .text_area dd {
    width: calc(100% - 5em);
    font-size: 1.4rem;
    margin: 0.25em 0 25px;
}

.discussion_area .img_area {
    width: 30%;
    margin: 85px 0 0;
}

.discussion_area .img_area figure {
    margin: 0 0 75px;
}

.discussion_area .img_area figure img {
    border-radius: 5px;
    margin: 0 0 20px;
}

.discussion_area .img_area figcaption {
    font-size: 1.2rem;
}

@media only screen and (max-width: 768px) {
    .discussion_area {
        display: block;
    }

    .discussion_area .text_area {
        width: 100%;
    }

    .discussion_area .text_area dl {
        display: block;
        margin: 0 0 50px;
    }

    .discussion_area .text_area dt {
        width: 100%;
        margin: 0;
    }

    .discussion_area .text_area dd {
        width: 100%;
        margin: 0 0 10px;
    }

    .discussion_area .img_area {
        width: 100%;
        margin: 0;
    }

    .discussion_area .img_area figure {
        margin: 0 0 30px;
    }

    .discussion_area .img_area figure img {
        margin: 0 0 10px;
    }
}

/*-----------------------------------------
	accordion_box
-----------------------------------------*/
.accordion_box {
    margin: 0 0 50px;
    border: 5px solid #DE0975;
    border-width: 5px 0;
    background: rgba(255, 255, 255, 0.75);
}

.accordion_box dl {
    padding: 0;
    border-bottom: 1px dotted #8E8E8E;
    position: relative;
}

.accordion_box dl:last-child {
    padding: 0;
    border-bottom: none;
}

.accordion_box dl:before {
    content: "\e91e";
    font-family: 'tdg';
    display: block;
    color: #222222;
    font-size: 2.2rem;
    line-height: 1;
    position: absolute;
    top: 23px;
    right: 20px;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

.accordion_box dl.open:before {
    content: "\e91d";
    color: #DE0975;
}

.accordion_box dt {
    padding: 18px 50px 18px 60px;
    font-size: 2.0rem;
    color: #222222;
    position: relative;
    cursor: pointer;
}

.accordion_box dl.open dt {
    color: #DE0975;
}

.accordion_box dt:after {
    width: 30px;
    height: 30px;
    display: block;
    text-align: center;
    font-size: 1.2rem;
    /*line-height: 33px;*/
    color: #DE0975;
    position: absolute;
    top: 24px;
    left: 16px;
}

.accordion_box dd {
    display: none;
}

.accordion_box dd .inner {
    padding: 10px 60px 0;
}

.accordion_box dd .inner>* {
    margin-bottom: 25px;
}

.accordion_box dd .inner_new {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    padding: 10px 60px 0;
}

.accordion_box dd .inner_new>* {
    width: calc(100% / 2);
    margin-bottom: 25px;
}

/*.accordion_box.type_qa dl:before {
	content: "\e92b";
	font-family: 'tdg';
}*/
.accordion_box.type_qa dt::after {
    content: 'Q';
    font-size: 3.2rem;
    font-family: 'PT Sans', sans-serif;
    font-weight: 700;
    top: 6px;
    left: 14px;
}

.accordion_box.type_qa dd .inner {
    position: relative;
    padding-left: 62px;
}

.accordion_box.type_qa dd .inner::before {
    content: 'A';
    font-size: 3.2rem;
    font-family: 'PT Sans', sans-serif;
    font-weight: 700;
    position: absolute;
    top: 1px;
    left: 20px;
}

.accordion_box.type_sort dt::after {
    content: "\e918";
    font-family: 'tdg';
}

.accordion_box.type_open dl::before {
    display: none;
}

.accordion_box.type_open dt {
    cursor: default;
}

.accordion_box.type_open dd {
    display: block !important;
}

/*-----------------------------------------
	d-m_accordion
-----------------------------------------*/
.d-m_accordion {
    width: 82%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 50px;
    border: 5px solid #DE0975;
    border-width: 5px 0;
    background: rgba(255, 255, 255, 0.75);
}

@media only screen and (max-width: 768px) {
    .accordion_box {
        margin: 0 0 30px;
    }

    .d-m_accordion {
        width: 96%;
        margin-left: auto;
        margin-right: auto;
        padding-left: 2%;
        padding-right: 2%;
    }

    /*.accordion_box dl {
		padding: 0 0 20px;
	}*/
    .accordion_box dl:before {
        top: 19px;
        font-size: 1.8rem;
    }

    .accordion_box dt {
        padding: 15px 45px 15px 45px;
        font-size: 1.6rem;
        position: relative;
        cursor: pointer;
    }

    .accordion_box dt:after {
        width: 25px;
        height: 25px;
        font-size: 1.5rem;
        top: 18px;
    }

    .accordion_box dd .inner {
        padding: 20px 5% 0;
    }

    .accordion_box dd .inner_new {
        padding: 0.5em 1em 0;
        margin-bottom: 25px;
    }

    .accordion_box dd .inner_new>* {
        width: calc(100% / 1);
        margin-bottom: 0;
    }

    .accordion_box.type_qa dt {
        padding-left: 50px;
    }

    .accordion_box.type_qa dt::after {
        font-size: 2.5rem;
        top: 8px;
    }

    .accordion_box.type_qa dd .inner::before {
        top: 9px;
        left: 19px;
        font-size: 2.5rem;
    }

    .accordion_box.type_qa dd .inner {
        padding-top: 12px;
        padding-left: 50px;
    }

    .accordion_box.type_sort dt:after {
        font-size: 1.2rem;
    }
}

/*-----------------------------------------
	opencampus
-----------------------------------------*/
.basic_btn {
    /*margin: 0 0 30px;*/
    /*overflow: hidden;*/
}

.btn-top {
    margin-top: 30px;
}

.basic_btn>* {
    /*overflow: hidden;*/
    position: relative;
    margin-bottom: 0;
}

.basic_btn a {
    min-height: 113px;
    height: 100%;
    color: #DE0975;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    text-align: left;
    border-radius: 5px;
    background: #FFF;
    border: 1px solid #E2E2E2;
}

.basic_btn a.under_line:before {
    content: '';
    width: 100%;
    height: 5px;
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    background: #DE0975;
    border-radius: 0 0 5px 5px;
}

.basic_btn a:after {
    content: "\e914";
    font-family: 'tdg';
    font-size: 1.4rem;
    color: #CD3074;
    position: absolute;
    top: 50%;
    right: 23px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.basic_btn a.blank:after {
    content: "\e915";
    font-size: 1.2rem;
}

/*.basic_btn figure {
	width: 116px;
}*/
.basic_btn figure img {
    width: 100%;
    display: block;
}

.basic_btn .txt {
    width: calc(100% - 55px);
    padding: 0 0 0 30px;
    line-height: 1;
    font-size: 1.6rem;
    color: #222222;
    word-break: break-word;
}

.basic_btn .size-new {
    font-size: 1.1rem;
}

.basic_btn .txt span {
    margin: 0 0 5px;
    display: block;
    font-family: 'PT Sans', sans-serif;
    font-size: 2.4rem;
    font-weight: 700;
    color: #DE0975;
}

.basic_btn #txt-new {
    margin: 0 0 5px;
    display: block;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.4rem;
    font-weight: inherit;
    color: #000000;
}

/* shadow */
.basic_btn .shadow {
    border: none;
    -webkit-box-shadow: 0 0 16px rgba(0, 0, 0, .08);
    box-shadow: 0 0 16px rgba(0, 0, 0, .08);
}

.basic_btn .shadow:before {
    content: none;
}

/* hover */
@media only screen and (min-width: 768px) {
    body:not(.tab_view) .basic_btn .shadow:hover {
        opacity: 1 !important;
        -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, .2) !important;
        box-shadow: 0 0 6px rgba(0, 0, 0, .2) !important;
    }

    /*body:not(.tab_view) .filterlist li:hover {
		opacity: 1;
		box-shadow: 0px 0px 16px -6px rgba(0,0,0,0.6);
	}*/
}

/* type_ao */
.basic_btn .type_ao .txt {
    width: calc(100% - 90px);
    color: #DE0975;
    padding: 0 0 0 104px;
    margin-left: 10%;
    line-height: 1.5;
}

.basic_btn .type_ao figure {
    position: absolute;
    top: 50%;
    left: 10%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

@media only screen and (max-width: 1260px) {
    .basic_btn .type_ao .txt br {
        display: none;
    }
}

@media only screen and (max-width: 768px) {
    .btn-top {
        margin-top: 0;
    }

    .basic_btn li {
        margin-bottom: 4%;
    }

    .basic_btn a {
        min-height: initial;
    }

    .basic_btn a:after {
        right: 5%;
    }

    .basic_btn figure {
        width: 20%;
    }

    .basic_btn .txt {
        width: 90%;
        padding: 5%;
        line-height: 1;
        font-size: 1.4rem;
    }

    .basic_btn .txt span {
        font-size: 2.2rem;
    }

    .basic_btn .type_ao figure {
        left: 5%;
    }

    .basic_btn .type_ao .txt {
        width: 85%;
        padding: 5% 0 5% 25%;
        margin-left: 5%;
        letter-spacing: 0;
    }

    .basic_btn .type_ao .txt br {
        display: block;
    }
}

#filter_wrap {
    opacity: 0;
    transition: all .3s linear;
}

#filter_wrap.load {
    opacity: 1;
}

/* filter_btn */
#filter_btn {
    margin-bottom: 88px;
}

#filter_btn li {
    margin-bottom: 20px;
}

#filter_btn li label {
    cursor: pointer;
    font-size: 1.6rem;
    letter-spacing: 0;
}

#filter_btn li input {
    display: none;
}

#filter_btn li span {
    padding: 0 0 0 25px;
    display: block;
    position: relative;
}

#filter_btn li span:before {
    content: "";
    width: 18px;
    height: 18px;
    display: block;
    position: absolute;
    top: 4px;
    left: 0;
    background: #FFF;
    border: 1px solid #e5e5e5;
    border-radius: 2px;
    transition: all 0.3s ease-out;
}

/*#filter_btn li input:checked + span:before {
}*/
#filter_btn li input:checked+span:after {
    content: "";
    width: 5px;
    height: 9px;
    display: block;
    position: absolute;
    top: 7px;
    left: 7px;
    transform: rotate(40deg);
    border-bottom: 2px solid #DE0975;
    border-right: 2px solid #DE0975;
}

#filter_btn #format .child {
    margin: 20px 0 0 0;
    padding: 20px 0 0 40px;
    border-top: 1px solid #e5e5e5;
}

#filter_btn #format .child label {
    font-size: 1.4rem;
}

#filter_btn #format .parent {
    width: 100%;
}

#filter_btn #format .parent>label {
    font-size: 1.8rem;
}

/* parent */
#filter_btn li.parent>label>span {
    padding: 0 0 0 30px;
}

#filter_btn li.parent>label>span:before {
    content: "";
    width: 24px;
    height: 24px;
    top: 2px;
}

#filter_btn li.parent>label>input:checked+span:after {
    content: "";
    width: 7px;
    height: 12px;
    top: 5px;
    left: 9px;
}

/* cloud_list */
#filter_btn .tag_list li {
    margin: 0;
    padding: 0.5em;
    display: inline-block;
}

/* child */
#filter_btn .child span:before {
    top: 2px;
}

#filter_btn .child input:checked+span:after {
    content: "";
    top: 5px;
    left: 7px;
}

/*#result_btn {
	margin: 0 0 80px;
	text-align: center;
}
#result_btn a {
	color: #FFF;
	background: #004098;
	border: 1px solid #004098;
}
#result_btn a:before {
	color: #FFF;
	-webkit-transform: translateY(-50%) rotate(90deg);
	transform: translateY(-50%) rotate(90deg);
}*/

@media only screen and (max-width: 768px) {
    #filter_btn {
        margin-bottom: 50px;
    }

    #filter_btn li {
        margin-bottom: 15px;
    }

    #filter_btn li label {
        cursor: pointer;
        font-size: 1.2rem;
        letter-spacing: 0;
    }

    #filter_btn li span:before {
        top: 1px;
    }

    #filter_btn li input:checked+span:after {
        top: 4px;
    }

    #filter_btn #format .parent>label {
        font-size: 1.4rem;
    }

    #filter_btn li.parent>label>span:before {
        width: 20px;
        height: 20px;
    }

    #filter_btn li.parent>label>input:checked+span:after {
        width: 6px;
        height: 10px;
        top: 5px;
        left: 7px;
    }

    #filter_btn #format .child {
        margin: 20px 0 0 0;
        padding: 20px 0 0 30px;
        border-top: 1px solid #e5e5e5;
    }

    #filter_btn #format .child label {
        font-size: 1.2rem;
    }

    #filter_btn .child span:before {
        top: 1px;
    }

    #filter_btn .child input:checked+span:after {
        top: 4px;
    }

    /*#result_btn {
		margin: 0 0 30px;
	}*/
}

/* icon_info */
.icon_info {
    margin: 0 0 40px;
    padding: 15px 34px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    background: #FFF;
    border-radius: 5px;
}

.icon_info dt {
    margin: 0 !important;
    font-size: 1.6rem;
    font-family: 'PT Sans', sans-serif;
}

.icon_info ul {
    display: flex;
}

.icon_info li {
    margin: 0 0 0 10px;
    padding: 7px 20px 7px 40px;
    font-size: 1.4rem;
    letter-spacing: 0.05em;
    color: #666666;
    /*background: #FFF;*/
    border-radius: 5px;
    position: relative;
}

/*.icon_info li.icon_beginner {color: #64dc4c;}
.icon_info li.icon_special {color: #70e3ed;}
.icon_info li.icon_new {color: #ed6e6e;}
.icon_info li.icon_popular {color: #ecb067;}
.icon_info li.icon_reserve {color: #8471ee;}*/
.icon_info li:before {
    font-family: 'tdg';
    font-size: 2rem;
    position: absolute;
    top: 50%;
    left: 10px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.icon_info li.icon_new:before {
    content: "\e91a";
    color: #2CC6FF;
}

.icon_info li.icon_popular:before {
    content: "\e917";
    font-size: 1.8rem;
    color: #DE0975;
}

.icon_info li.icon_beginner:before {
    content: "\e916";
    color: #00CB6D;
}

.icon_info li.icon_special:before {
    content: "\e91c";
    color: #FFBA00;
}

.icon_info li.icon_reserve:before {
    content: "\e919";
    color: #B500D6;
}

.icon_info li:not(:last-child):after {
    content: '';
    display: block;
    width: 1px;
    height: 11px;
    background: #E2E2E2;
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

@media only screen and (max-width: 1150px) {
    .icon_info {
        flex-direction: column;
    }

    .icon_info dt {
        margin: 0 0 10px !important;
    }
}

@media only screen and (max-width: 768px) {
    .icon_info {
        margin: 0 0 30px;
        padding: 5%;
    }

    .icon_info ul {
        flex-wrap: wrap;
        justify-content: center;
    }

    .icon_info li {
        margin: 0 5px 10px;
        padding: 7px 15px 7px 40px;
    }

    .icon_info li:before {
        font-size: 1.6rem;
        left: 15px;
    }

    .icon_info li.icon_popular:before {
        font-size: 1.4rem;
        left: 15px;
    }

    .icon_info li.icon_beginner:before {
        left: 20px;
    }

    .icon_info li.icon_reserve:before {
        font-size: 1.5rem;
    }
}

/* boxlist */
.filterlist>ul {
    width: 102%;
    margin-left: -1%;
    display: flex;
    flex-wrap: wrap;
}

.filterlist>ul>li {
    flex-basis: 31.3%;
    margin-right: 1%;
    margin-left: 1%;
    margin-bottom: 65px;
    border-radius: 15px;
    background: #FFF;
    display: flex;
    flex-direction: column;
    position: relative;
    -webkit-box-shadow: 0 0 16px rgba(0, 0, 0, .08);
    box-shadow: 0 0 16px rgba(0, 0, 0, .08);
    -webkit-transition: all 0.3s linear;
    transition: all 0.3s linear;
}

.filter_wrap .filterlist>ul>li {
    opacity: 0;
}

.filterlist.clm_4>ul>li {
    flex-basis: 23%;
}

.filterlist>ul>li.show {
    opacity: 1;
}

.filterlist>ul>li:before {
    content: '';
    width: 100%;
    height: 4px;
    display: block;
    position: absolute;
    top: -4px;
    left: 0;
}

.index_list .filterlist>ul>li,
.filterlist.index_list>ul>li {
    opacity: 1;
}

.filterlist.no_btn>ul>li {
    padding-bottom: 20px;
}

.filterlist>ul>li>a {
    padding-bottom: 65px;
}

.filterlist>ul>li>a:not(.btn_area) {
    color: #000;
    display: block;
    height: 100%;
}

.filterlist .dpt_label {
    font-family: 'PT Sans', sans-serif;
    font-size: 2.9rem;
    font-weight: 700;
    line-height: 2.0;
    text-align: center;
    color: #FFF;
    width: 57px;
    height: 57px;
    border-radius: 15px 0 15px 0;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
}

.filterlist figure {
    overflow: hidden;
    border-radius: 15px 15px 0 0;
    margin: 0 0 20px;
}

.filterlist figure img {
    max-width: auto;
    max-width: initial;
    width: 100%;
    display: block;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

.filterlist .inner {
    padding: 0 30px;
}

.filterlist .inner.label_area {
    position: relative;
}

.filterlist .department {
    display: block;
    font-size: 1.4rem;
    color: #5F5F5F;
    margin: 0 0 10px;
}

.filterlist .date {
    margin: 0 0 15px;
    line-height: 1;
    font-size: 2.4rem;
    font-weight: 500;
    letter-spacing: 0.08em;
}

.filterlist .date .year {
    font-family: 'PT Sans', sans-serif;
    font-weight: 700;
    font-size: 1.6rem;
}

.filterlist .date .month {
    font-family: 'PT Sans', sans-serif;
    font-weight: 700;
    margin: 0 0 0 5px;
    font-size: 2.6rem;
}

.filterlist .date .day {
    font-family: 'PT Sans', sans-serif;
    font-weight: 700;
    margin: 0 0 0 5px;
    font-size: 1.6rem;
}

.filterlist .date .day.sat {
    color: #54CBEF;
}

.filterlist .date .day.sun {
    color: #fe6b6b;
}

.filterlist h3 {
    margin: 0 0 15px;
    padding: 0;
    font-size: 1.8rem;
    background: none;
    border-left: none;
}

.filterlist h3:before {
    content: none;
}

.filterlist p {
    margin-bottom: 1em;
    font-size: 1.2rem;
    line-height: 1.7;
}

.filterlist .main_catch {
    margin: 0 0 5px;
    display: block;
    font-size: 2.4rem;
}

.filterlist .sub_catch {
    margin: 0 0 20px;
    display: block;
    font-size: 1.8rem;
}

/*.filterlist .label {
	color: #fff;
	background: #000;
	border-radius: 0;
	border: none;
	position: absolute;
	top: -34px;
	left: 30px;
}*/
.filterlist .type {
    font-size: 1.2rem;
    color: #999;
    padding: 10px 0 12px;
    margin: 0 0 15px;
    border-top: 1px solid #EFEFEF;
    border-bottom: 2px solid #EFEFEF;
}

.filterlist .type li {
    margin: 0 5px 0 0;
    display: inline-block;
}

.filterlist .more {
    /*min-width: 220px;
	width: 220px;
	padding: 1em 2em 0.8em;*/
    text-align: center;
    color: #DE0975;
    position: absolute;
    right: 30px;
    bottom: 30px;
}

/*.filterlist .btn:before {
	content: none;
}*/

.filterlist #nohit {
    padding: 40px;
    color: #999;
    background: #f5f5f5;
    text-align: center;
}

.filterlist #nohit span {
    display: block;
    font-size: 4.0rem;
    font-family: 'PT Sans', sans-serif;
}

/* hover */
@media only screen and (min-width: 768px) {
    body:not(.tab_view) .filterlist li:hover figure img {
        -webkit-transform: scale(1.1, 1.1);
        transform: scale(1.1, 1.1);
    }

    /*body:not(.tab_view) .filterlist li:hover {
		opacity: 1;
		box-shadow: 0px 0px 16px -6px rgba(0,0,0,0.6);
	}*/
}

@media only screen and (max-width: 1360px) {
    .filterlist.clumn_4>ul>li {
        flex-basis: 31.3%;
    }
}

@media only screen and (max-width: 768px) {
    .filterlist .inner {
        padding: 0 5%;
    }

    .filterlist>ul {
        width: 100%;
        margin-left: 0;
        display: block;
    }

    .filterlist>ul>li {
        width: 100%;
        margin-right: 0;
        margin-left: 0;
        margin-bottom: 50px;
    }

    .filterlist .department {
        margin: 0 0 10px;
    }

    .filterlist .date {
        margin: 0 0 10px;
        font-size: 2.0rem;
    }

    .filterlist .date .year {
        font-size: 2rem;
    }

    .filterlist .date .day {
        font-size: 1.6rem;
    }

    .filterlist h3 {
        font-size: 1.6rem;
    }

    .filterlist .main_catch {
        font-size: 1.8rem;
    }

    .filterlist .sub_catch {
        font-size: 1.4rem;
    }

    .filterlist .label {
        top: -30px;
    }
}

/* tooltip */
.filterlist .tooltips {
    width: calc(100% - 60px);
    /*height: 30px;*/
    /*margin: 0 30px;*/
    /*padding: 15px 0 0 0;*/
    /*text-align: center;*/
    /*border-top: 2px solid #EFEFEF;*/
    /*position: absolute;
	left: 0;
	bottom: 65px;*/
}

.filterlist .tooltips li {
    margin: 0 5px;
    display: inline-block;
    text-decoration: none;
}

.filterlist .tooltips abbr {
    text-decoration: none;
}

.filterlist .tooltips .icon_new abbr,
.filterlist .tooltips .icon_new.active abbr:before,
#tooltip.icon_new {
    color: #2CC6FF;
}

.filterlist .tooltips .icon_popular abbr,
.filterlist .tooltips .icon_popular.active abbr:before,
#tooltip.icon_popular {
    color: #DE0975;
}

.filterlist .tooltips .icon_beginner abbr,
.filterlist .tooltips .icon_beginner.active abbr:before,
#tooltip.icon_beginner {
    color: #00CB6D;
}

.filterlist .tooltips .icon_special abbr,
.filterlist .tooltips .icon_special.active abbr:before,
#tooltip.icon_special {
    color: #FFBA00;
}

.filterlist .tooltips .icon_reserve abbr,
.filterlist .tooltips .icon_reserve.active abbr:before,
#tooltip.icon_reserve {
    color: #B500D6;
}

.filterlist .tooltips abbr:before {
    font-family: 'tdg';
    font-size: 2rem;
    color: #999;
}

.filterlist .tooltips .icon_new abbr:before {
    content: "\e91a";
}

.filterlist .tooltips .icon_popular abbr:before {
    content: "\e917";
    font-size: 1.8rem;
}

.filterlist .tooltips .icon_beginner abbr:before {
    content: "\e916";
}

.filterlist .tooltips .icon_special abbr:before {
    content: "\e91c";
}

.filterlist .tooltips .icon_reserve abbr:before {
    content: "\e919";
}

#tooltip {
    padding: 7px 10px;
    text-align: center;
    color: #fff;
    font-size: 1.2rem;
    position: absolute;
    z-index: 1;
    background: #FFF;
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}

#tooltip:after {
    content: '';
    width: 0;
    height: 0;
    margin-left: -5px;
    position: absolute;
    left: 50%;
    bottom: -5px;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid #FFF;
}

#tooltip.top:after {
    top: -20px;
    bottom: auto;
    border-top-color: transparent;
    border-bottom: 5px solid #FFF;
}

#tooltip.left:after {
    margin: 0;
    left: 10px;
}

#tooltip.right:after {
    margin: 0;
    right: 10px;
    left: auto;
}

/* event_overview */
.event_overview {}

.event_overview li {
    width: 23.5%;
    margin-right: 2%;
    margin-bottom: 30px;
}

.event_overview figure {
    margin: 0 0 15px;
    overflow: hidden;
}

.event_overview figure img {
    /*width: 282px;*/
    margin: 0 auto;
    display: block;
    border-radius: 5px;
}

.event_overview dt {
    padding: 0 20px;
    margin: 0 0 15px;
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0;
}

.event_overview dd {
    padding: 0 20px;
    font-size: 1.4rem;
}

@media only screen and (max-width: 768px) {
    .event_overview li {
        width: 100%;
        margin-bottom: 4vw;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .event_overview figure {
        width: 30%;
        margin: 0 5% 0 0;
    }

    .event_overview dl {
        width: 65%;
        text-align: left;
    }

    .event_overview dt {
        margin: 0 0 5px;
        padding: 0;
        font-size: 1.6rem;
    }

    .event_overview dd {
        padding: 0;
    }
}

/*.no_nav {
	margin-bottom: 60px;
}
*/

/*-----------------------------------------
	.gallerylist
-----------------------------------------*/
/* .gallery_top */
.gallery_top .filterlist>ul>li {
    padding-bottom: 0;
    margin-bottom: 35px;
}

.gallerylist .filterlist>ul>li {
    flex-basis: 23%;
    margin-right: 1%;
    margin-left: 1%;
    background: transparent;
    border-radius: none;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.gallerylist .filterlist>ul>li figure {
    border-radius: 25px;
    -webkit-box-shadow: 0 0 16px rgb(0 0 0 / 8%);
    box-shadow: 0 0 16px rgb(0 0 0 / 8%);
}

.gallerylist .filterlist .inner {
    padding: 0 14px;
}

.gallerylist .filterlist .main_catch {
    font-size: 1.8rem;
    margin: 0 0 15px;
}

.gallerylist .filterlist .sub_catch {
    font-size: 1.4rem;
}

.gallerylist .filterlist .sub_catch small {
    font-size: 1.2rem;
}

.gallerylist .filterlist .award {
    font-size: 1.4rem;
    padding: 13px 0 0 30px;
    margin: 0;
    position: relative;
}

.gallerylist .filterlist .award::before {
    content: '';
    display: block;
    height: 1px;
    width: 32px;
    background: #E2E2E2;
    position: absolute;
    top: 0;
    left: 0;
}

.gallerylist .filterlist .award::after {
    content: '\e922';
    font-family: 'tdg';
    font-size: 2.2rem;
    color: #FFAD14;
    line-height: 1;
    position: absolute;
    top: 13px;
    left: 0;
}


@media only screen and (max-width: 768px) {
    .gallerylist .filterlist>ul>li {
        padding-bottom: 0;
    }
}

/*-----------------------------------------
	activity
-----------------------------------------*/
/* activity detail */
.activity_header {
    margin: 0 0 55px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.activity_header .dpt_label {
    font-family: 'PT Sans', sans-serif;
    font-size: 4.2rem;
    font-weight: 700;
    line-height: 2.0;
    text-align: center;
    color: #FFF;
    width: 86px;
    height: 86px;
    border-radius: 15px 0 15px 0;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
}

.activity_header figure {
    width: calc(50% + 100px);
    /*max-width: 600px;*/
    margin-top: -7px;
    margin-left: -100px;
}

.activity_header figure img {
    border-radius: 2px;
}

.activity_info {
    width: 46%;
    margin-left: 4%;
}

.activity_info .department {
    display: block;
    margin: 40px 0 10px;
    padding: 55px 0 0;
    position: relative;
}

.activity_info .department::before {
    content: '\e91f';
    font-family: 'tdg';
    font-size: 4.0rem;
    line-height: 1;
    position: absolute;
    top: 0;
    left: 0px;
}

/* activity_info */
.activity_info .head_copy {
    font-size: 2.8rem;
    line-height: 1.8;
    margin: 0 0 20px;
}

.activity_info .interviewee {
    font-size: 2.2rem;
    padding: 0 0 35px;
}

.activity_info .interviewee span {
    display: block;
    margin: 0 0 12px;
    font-size: 1.6rem;
}

.activity_info .interviewee small {
    font-size: 1.6rem;
    margin: 0 10px 0 0;
}

.activity_info .interviewee .biography {
    display: inline-block;
    font-size: 1.4rem;
}

.activity_info .tag_cloud {
    font-size: 1.4rem;
    color: #666666;
    padding: 20px 0;
    border-top: 1px solid #E2E2E2;
    border-bottom: 1px solid #E2E2E2;
}

.activity_info .tag_cloud>span {
    margin-right: 15px;
}

@media only screen and (max-width: 768px) {
    .activity_header {
        margin: 0 0 40px;
        display: block;
    }

    .activity_header .dpt_label {
        font-size: 2.9rem;
        line-height: 2.0;
        width: 57px;
        height: 57px;
    }

    .activity_header figure {
        width: 100%;
        margin: 0 0 20px;
        text-align: center;
    }

    .activity_header figure img {
        max-height: 50vh;
    }

    .activity_info {
        width: 100%;
        margin-left: 0;
    }

    .activity_info .department {
        max-width: 100%;
        padding: 40px 0 0;
        margin: 0 0 10px;
    }

    .activity_info .department::before {
        font-size: 3.0rem;
    }

    .activity_info .head_copy {
        margin: 0 0 10px;
        font-size: 2.0rem;
        line-height: 1.5;
    }

    .activity_info .interviewee {
        padding: 0 0 20px;
        font-size: 1.8rem;
    }

    .activity_info .interviewee span {
        margin: 0 0 5px;
    }

    .activity_info .tag_cloud {
        padding: 10px 0 12px;
    }
}

/*-----------------------------------------
	gallery
-----------------------------------------*/
/* gallery detail */
.type_gallery.type_photo.base_inner {
    margin: 205px 0 0;
}

.type_gallery .activity_header {
    margin: 0 0 55px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.type_gallery .activity_header .dpt_label {
    position: static;
    display: inline-block;
    font-family: 'PT Sans', sans-serif;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.8;
    text-align: center;
    color: #FFF;
    width: 29px;
    height: 29px;
    border-radius: 10px 0 10px 0;
    z-index: 1;
}

.type_gallery .activity_header figure {
    width: 50%;
    max-width: 600px;
    margin-top: -7px;
    margin-left: -100px;
}

.type_gallery .activity_header figure img {
    border-radius: 2px;
}

.type_gallery .activity_info .interviewee {
    font-size: 2.2rem;
    padding: 0;
}

.type_gallery .activity_info {
    width: 100%;
    margin-left: 0;
}

.type_gallery .activity_info .department {
    font-size: 1.7rem;
    display: inline-block;
    margin: 0 0 0 5px;
    padding: 0;
}

.type_gallery .activity_info .department::before {
    content: none;
}

.type_gallery .activity_info .award {
    display: inline-block;
    margin: 0 0 0 70px;
    padding: 0 0 0 57px;
    position: relative;
}

.type_gallery .activity_info .award::before {
    content: '\e922';
    font-family: 'tdg';
    display: inline-block;
    text-align: left;
    font-size: 2.0rem;
    color: #FFAD14;
    line-height: 1;
    margin: 0 0 15px -10px;
    position: absolute;
    top: 50%;
    left: 34px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.type_gallery .activity_info .award::after {
    content: '';
    display: block;
    width: 1px;
    height: 20px;
    position: absolute;
    background: #E2E2E2;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.type_gallery .activity_info .head_copy {
    font-size: 3.2rem;
    margin: 25px 0 20px;
}

.type_gallery .award_ttl {
    border-bottom: none;
    font-size: 1.6rem;
    padding: 0 0 0 25px;
    position: relative;
}

.type_gallery .award_ttl::before {
    content: '\e922';
    font-family: 'tdg';
    display: inline-block;
    text-align: left;
    font-size: 2.0rem;
    color: #FFAD14;
    line-height: 1;
    margin: 0;
    position: absolute;
    top: 50%;
    left: -4px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

@media only screen and (max-width: 768px) {
    .type_gallery.type_photo.base_inner {
        margin: 0;
    }

    .type_gallery .activity_header {
        margin: 0 0 30px;
    }

    .type_gallery .activity_info .head_copy {
        font-size: 2.6rem;
        margin: 15px 0 10px;
    }

    .type_gallery .activity_info .department {
        margin: 0 0 20px;
    }

    .type_gallery .activity_info .award {
        display: block;
        margin: 0;
        padding: 0 0 0 34px;
    }

    .type_gallery .activity_info .award::before {
        left: 12px;
    }

    .type_gallery .activity_info .award::after {
        content: none;
    }
}

/*-----------------------------------------
	thumb_slide
-----------------------------------------*/
.thumb_slide_field {
    /*width: calc(100% + 180px);*/
    margin: -205px 0 80px -180px;
    position: relative;
    text-align: center;
    display: flex;
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease-out;
}

.thumb_slide_field li {
    list-style-type: none;
    outline: none;
}

.thumb_slide_show {
    width: calc(100% - 380px);
    background: #FAFAFA;
    border-radius: 0 5px 5px 0;
    -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, .08);
    box-shadow: 0 0 8px rgba(0, 0, 0, .08);
}

.thumb_slide_show li {
    /*height: 500px;*/
    position: relative;
    text-align: center;
    /*overflow-x: scroll;*/
}

.thumb_slide_show li>div {
    width: 100%;
    height: 100%;
    display: flex;
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.thumb_slide_show img {
    height: 500px;
    width: auto;
    max-width: auto;
    max-width: initial;
    /*max-height: 500px;*/
    /*margin: 0 auto;*/
}

/*_:-ms-lang(x)::-ms-backdrop, .thumb_slide_show img {
	max-width: 200%;
}*/
.thumb_slide_nav {
    width: 380px;
    margin-left: 50px;
    display: flex !important;
    display: -ms-flexbox !important;
    display: -webkit-box !important;
    display: -webkit-flex !important;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    position: relative;
}

.thumb_slide_nav::before {
    width: 100%;
    content: "LIST";
    font-size: 1.6rem;
    font-weight: 700;
    font-family: 'PT Sans', sans-serif;
    display: inline-block;
    text-align: left;
    margin-bottom: 20px;
}

.thumb_slide_nav::after {
    content: "\e905";
    font-family: 'tdg';
    display: inline-block;
    font-size: 1.4rem;
    color: #CD3074;
    position: absolute;
    left: 4em;
    top: 2px;
}

.thumb_slide_nav .slick-track {
    width: 380px !important;
}

.thumb_slide_nav li {
    width: 166px !important;
    height: 0;
    margin: 0 10px 10px 0;
    padding-bottom: 166px;
    overflow: hidden;
    position: relative;
    background: #000;
    transition: all 0.2s ease-out;
    cursor: pointer;
    border-radius: 5px;
    -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, .08);
    box-shadow: 0 0 8px rgba(0, 0, 0, .08);
}

.thumb_slide_nav li::nth-of-type(3n) {
    margin: 0 0 10px 0;
}

.thumb_slide_nav li img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: auto;
    height: auto;
    max-width: 179%;
    max-height: initial;
    opacity: 0.52;
    transition: all 0.2s ease-out;
}

.thumb_slide_nav li.slick-current img {
    opacity: 1;
}

@media only screen and (max-width: 1260px) {
    .thumb_slide_show {
        width: 800px !important;
    }

    .thumb_slide_field {
        margin: -205px 0 50px -140px;
        display: block;
    }

    .thumb_slide_nav {
        width: calc(80% + 140px);
        display: block !important;
        margin: 40px 10% 0 !important;
    }

    .thumb_slide_nav li {
        width: 120px !important;
        padding-bottom: 120px;
    }

    .thumb_slide_nav .slick-track {
        width: 100% !important;
    }
}

/* Hover */
@media only screen and (min-width: 768px) {
    body:not(.tab_view) .thumb_slide_nav li:hover img {
        opacity: 1;
    }
}

/*-----------------------------------------
	gallery_field
-----------------------------------------*/
.gallery_field h2.sec_deco {
    border-bottom: none;
}

.gallery_movie {
    width: 854px;
    margin: 0 auto 58px;
}

.gallery_movie iframe {
    margin: 0 auto;
}

.gallery_audio {
    display: table;
    margin: 0 auto 58px;
}

.gallery_audio audio {
    display: table;
}

.gallery_audio *:focus {
    outline: 0;
}

@media only screen and (max-width: 1180px) {
    .gallery_movie .movie_wrap {
        width: 100%;
        margin: 0;
        padding-top: 56%;
        position: relative;
    }

    .gallery_movie {
        width: auto;
    }

    .gallery_movie iframe {
        position: absolute;
        top: 0;
        right: 0;
        width: 100% !important;
        height: 100% !important;
    }
}


/*-----------------------------------------
	photo gallery
-----------------------------------------*/
#gallery_overlay {
    display: none;
    width: 100%;
    background: #000;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 97;
}

#gallery_window {
    display: none;
    position: fixed;
    z-index: 98;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
}

#gallery_window>.md_close {
    width: 60px;
    height: 80px;
    color: #fff;
    font-size: 1.4rem;
    font-family: 'PT Sans', sans-serif;
    position: absolute;
    z-index: 99;
    cursor: pointer;
    top: -90px;
    right: -15px;
}

#gallery_window>.md_close span {
    display: block;
    text-align: center;
    position: absolute;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    left: 50%;
    bottom: 0;
}

#gallery_window>.md_close:before,
#gallery_window>.md_close:after {
    content: "";
    width: 40px;
    height: 1px;
    display: block;
    background: #fff;
    transform: rotate(45deg);
    position: absolute;
    top: 40px;
    left: 9px;
}

#gallery_window>.md_close:after {
    background: #fff;
    transform: rotate(-45deg);
    left: auto;
    right: 10px;
}

.photo_gallery {
    margin: 0 0 30px;
}

.photo_gallery .modal_btn {
    width: 100%;
    height: 100%;
    display: block;
}

#gallery_wrap {
    width: 90vw;
    max-width: 980px;
    max-height: 90vh;
    box-sizing: border-box;
    overflow-y: auto;
}

#gallery_wrap img {
    width: 100%;
}

@media only screen and (max-width: 768px) {
    #gallery_wrap {
        width: 90vw;
    }
}


/*-----------------------------------------
	banner_box
-----------------------------------------*/
.banner_box {
    margin: 0 auto 65px;
    text-align: center;
    background: #FFF;
}

.banner_box.short_width {
    width: 640px;
}

.banner_box a {
    display: block;
    border-radius: 5px;
    -webkit-box-shadow: 0 3px 16px rgba(102, 102, 102, .12);
    box-shadow: 0 3px 16px rgba(102, 102, 102, .12);
}

/*.banner_box a + a {
	margin: 32px 0 0;
}*/
.banner_box img {
    border-radius: 5px;
}

.btn_wrap_virtual a>figure {
    text-align: right;
    height: 223px;
    /*background: url(/about/files/virtual_banner.png);
	background- size: contain;*/
}

.btn_wrap_virtual a>figure img {
    width: auto;
    height: 100%;
}

.btn_wrap_virtual a {
    position: relative;
}

.btn_wrap_virtual a .more {
    position: absolute;
    right: 30%;
    bottom: 20px;
}

.btn_wrap_virtual dl {
    color: #000000;
    position: absolute;
    left: 40px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.btn_wrap_virtual dt {
    margin-bottom: 10px;
}

.btn_wrap_virtual dt img {
    width: 56px;
    height: 56px;
    margin-right: 5px;
}

.btn_wrap_virtual dt p {
    font-family: 'PT Sans', sans-serif;
    font-size: 2.8rem;
    line-height: 1.1;
    font-weight: 700;
    margin: 0;
    text-align: left;
}

.btn_wrap_virtual dt p>span {
    display: inline-block;
    font-family: 'PT Sans', sans-serif;
    font-size: 4.3rem;
    color: #DE0975;
    margin-bottom: 5px;
}

.btn_wrap_virtual dd p {
    font-size: 1.6rem;
    margin: 0;
    text-align: left;
}


/*.btn_wrap_ao {
	margin: 80px 0 100px;
	text-align: center;
}
.btn_wrap_ao .btn {
	width: 346px;
}*/

@media only screen and (max-width: 768px) {
    .banner_box {
        margin: 0 0 50px;
    }

    .banner_box.short_width {
        width: 100%;
    }

    .btn_wrap_virtual a .more {
        right: 5%;
        bottom: 5%;
    }

    .btn_wrap_virtual a>figure {
        height: 200px;
    }

    .btn_wrap_virtual dl {
        left: 5%;
    }

    .btn_wrap_virtual dd p {
        font-size: 1.3rem;
    }

    /*.btn_wrap_ao {
		margin: 60px 0;
	}
	.btn_wrap_ao .btn {
		width: auto;
	}*/
}

/*-----------------------------------------
	tdg-world
-----------------------------------------*/
.tdg_data_wrap {
    padding: 80px 63px !important;
    position: relative;
}

/*.tdg_data_wrap::before {
	position: absolute;
	display: block;
	content: url(/tdg-world/files/tdg_data_deco_01.png);
	background-size: contain;
	top: -46px;
	right: 52px;
}
.tdg_data_wrap::after {
	position: absolute;
	display: block;
	content: url(/tdg-world/files/tdg_data_deco_02.png);
	background-size: contain;
	top: 67px;
	left: 75px;
}*/

/* data_list */
.data_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    /*-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;*/
    position: relative;
}

/*.data_list::after {
	position: absolute;
	display: block;
	content: url(/tdg-world/files/tdg_data_deco_03.png);
	background-size: contain;
	bottom: 10px;
	right: 110px;
}
.data_list li {
	margin: 0 4% 4% 0;
	border-style: solid;
	flex-basis: 22%;
	max-width: 22%;
	position: relative;
	z-index: 1;
}
.data_list li:nth-of-type(4n) {
	margin-right: 0;
}*/
.data_list li {
    margin: 0 3% 3% 0;
    border-style: solid;
    flex-basis: 30%;
    max-width: 30%;
    position: relative;
    z-index: 1;
}

.data_list li:nth-of-type(3n) {
    margin-right: 0;
}

.data_list li>span {
    display: block;
    font-family: 'M PLUS 1p', sans-serif;
    font-size: 1.6rem;
    position: relative;
    padding: 0 0 5px 20px;
}

.data_list li>span::before {
    content: '';
    display: block;
    height: 3px;
    width: 12px;
    background: #DD157A;
    position: absolute;
    left: 0;
    top: 10px;
}

.data_list li p {
    font-size: 1.2rem;
    line-height: 1.8;
    margin: 0;
    padding: 0 0 0 20px;
}

.data_list li figure {
    margin: 0 0 15px;
    display: block;
}

.data_list li:first-child>span {
    color: #DD157A;
}

.data_list li:first-child>span::before {
    background: #DD157A;
}

.data_list li:nth-child(2)>span {
    color: #FF5800;
}

.data_list li:nth-child(2)>span::before {
    background: #FF5800;
}

.data_list li:nth-child(3)>span {
    color: #655E00;
}

.data_list li:nth-child(3)>span::before {
    background: #897F00;
}

.data_list li:nth-child(4)>span {
    color: #0A7E68;
}

.data_list li:nth-child(4)>span::before {
    background: #0A7E68;
}

.data_list li:nth-child(5)>span {
    color: #0072A5;
}

.data_list li:nth-child(5)>span::before {
    background: #0072A5;
}

.data_list li:nth-child(6)>span {
    color: #3C52C7;
}

.data_list li:nth-child(6)>span::before {
    background: #3C52C7;
}

.data_list li:nth-child(7)>span {
    color: #AF235D;
}

.data_list li:nth-child(7)>span::before {
    background: #C71C63;
}

.data_list li:nth-child(8)>span {
    color: #D5260F
}

.data_list li:nth-child(8)>span::before {
    background: #D5260F;
}

@media only screen and (max-width: 768px) {
    .tdg_data_wrap {
        padding: 10% 5% !important;
    }

    .tdg_data_wrap::before {
        right: -100px;
    }

    .tdg_data_wrap::after {
        left: -50px;
    }

    .data_list::before {
        left: 5%;
    }

    .data_list li {
        flex-basis: 48%;
        max-width: 48%;
        margin-right: 4%;
    }

    .data_list li:nth-of-type(2n) {
        margin-right: 0;
    }

    .data_list li figure {
        width: 100%;
        height: auto !important;
    }

    .data_list li figure img {
        height: auto;
    }

    .data_list li p {
        font-size: 1.4rem;
    }

    .data_list li:nth-of-type(2n) {
        margin-right: 0;
    }

    .data_list li:nth-of-type(3n) {
        margin-right: auto;
    }
}


/* tdg_features_wrap */
.tdg_features_wrap figure {
    margin: 0 0 25px;
    border-radius: 5px;
    overflow: hidden;
}

.tdg_features_wrap figure+p {
    text-align: center;
    font-size: 1.6rem;
}

.tdg_features_wrap .btn {
    z-index: 1;
}

.tdg_features_wrap #special,
.tdg_features_wrap #learning {
    position: relative;
}

/*.tdg_features_wrap #special::before {
	display: block;
	content: url(/tdg-world/files/tdg_features_deco_01.png);
	background-size: contain;
	position: absolute;
	top: -136px;
	right: -33px;
}
.tdg_features_wrap #learning::before {
	display: block;
	content: url(/tdg-world/files/tdg_features_deco_02.png);
	background-size: contain;
	position: absolute;
	top: -144px;
	left: 0px;
}*/

@media only screen and (max-width: 768px) {
    .tdg_features_wrap figure+p {
        font-size: 1.4rem;
    }

    .tdg_features_wrap #special::before {
        right: -103px;
    }

    .tdg_features_wrap #learning::before {
        left: -70px;
    }
}

/*-----------------------------------------
	apply
-----------------------------------------*/
.pg_apply main>section:not(.block_wrap):not(.course_field):not(.oc_field):nth-of-type(2n+1),
.pg_apply main>section:not(.block_wrap):not(.course_field):not(.oc_field):nth-of-type(2n) {
    padding: 80px 0;
}

.pg_apply main>section p:last-child,
.pg_apply main>section ul.basic:last-child,
.pg_apply main>section ol.basic:last-child,
.pg_apply main>section ul.basic>li:last-child,
.pg_apply main>section ol.basic>li:last-child {
    margin-bottom: 0;
}

.pg_apply .sec_wrap {
    margin-bottom: 50px;
}

.pg_apply .entry_base p:not(:last-child) {
    margin-bottom: 30px;
}

.pg_apply .stage_set .num_area {
    padding: 50px 25px;
}

.pg_apply .stage_set .cont_area {
    padding: 40px;
}

.pg_apply .attention_wrap {
    padding: 50px;
}

.pg_apply .stage_set .cont_area h3 {
    margin-bottom: 20px;
}

.pg_apply .stage_set .cont_area p:last-child {
    margin: 0;
}

_:-ms-lang(x)::-ms-backdrop,
.pg_apply .tblScroll {
    overflow-y: hidden !important;
}

.pg_apply .entry_base .tblScroll table.table_application th {
    width: 40%;
}

.pg_apply .entry_base .tblScroll table.table_application td {
    width: 60%;
}

@media only screen and (max-width: 768px) {

    .pg_apply main>section:not(.block_wrap):not(.course_field):not(.oc_field):nth-of-type(2n+1),
    .pg_apply main>section:not(.block_wrap):not(.course_field):not(.oc_field):nth-of-type(2n) {
        padding: 60px 0;
    }

    .pg_apply .attention_wrap {
        padding: 5%;
    }

    .pg_apply .stage_set .num_area {
        padding: 3% 5% 8%;
    }

    .pg_apply .stage_set .cont_area {
        padding: 5%;
    }

    .pg_apply .stage_set .cont_area h3 {
        margin-bottom: 10px;
    }

    .pg_apply .entry_base .tblScroll table.table_department {
        width: 700px;
    }

    .pg_apply .entry_base .tblScroll table.table_department th {
        width: 36%;
    }

    .pg_apply .entry_base .tblScroll table.table_department td {
        width: 32%;
    }

    .pg_apply .entry_base .tblScroll table.table_application th {
        width: 15%;
    }

    .pg_apply .entry_base .tblScroll table.table_application td {
        width: 85%;
    }
}

/*-----------------------------------------
	contact
-----------------------------------------*/
.form_field dl {
    padding: 20px 0;
    display: flex;
}

.form_field dt {
    width: 220px;
    padding: 20px 90px 20px 0;
    font-size: 1.4rem;
    text-align: right;
    vertical-align: top;
    position: relative;
}

.form_field dt .required {
    padding: 2px 9px;
    background: #DE0975;
    font-size: 1.2rem;
    color: #FFF;
    border-radius: 24px;
    position: absolute;
    top: 18px;
    right: 28px;
}

.form_field dd {
    width: calc(100% - 220px);
    font-size: 1.4rem;
    overflow-wrap: break-word;
    word-wrap: break-word;
}

.form_field dd input,
.form_field dd textarea {
    width: 100%;
    font-size: 1.4rem;
    padding: 22px 25px;
    border-bottom: 1px solid #E2E2E2;
    background-color: #FAF8FA;
    -webkit-appearance: none;
}

.form_field textarea {
    min-height: 250px;
}

.form_field input::placeholder {
    font-size: 1.4rem;
    color: #868686;
}

/* IE */
.form_field input:-ms-input-placeholder {
    font-size: 1.4rem;
    color: #868686;
}

/* Edge */
.form_field input::-ms-input-placeholder {
    font-size: 1.4rem;
    color: #868686;
}

/* agree check */
.form_field .agree_field {
    padding: 50px 0;
    text-align: center;
}

.check_wrap {
    display: inline-block;
}

.check_wrap input {
    display: none;
}

.check_wrap input+label {
    display: block;
    position: relative;
    padding-left: 35px;
    margin-bottom: 20px;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

.check_wrap input+label:last-child {
    margin-bottom: 0;
}

.check_wrap input+label:before {
    content: "";
    width: 18px;
    height: 18px;
    display: block;
    position: absolute;
    top: 4px;
    left: 0;
    background: #FFF;
    border: 1px solid #e5e5e5;
    border-radius: 2px;
    transition: all 0.3s ease-out;
}

.check_wrap input:checked+label:after {
    content: "";
    width: 5px;
    height: 9px;
    display: block;
    position: absolute;
    top: 7px;
    left: 7px;
    transform: rotate(40deg);
    border-bottom: 2px solid #DE0975;
    border-right: 2px solid #DE0975;
}

/* email auto complete suggest */
.eac-sugg {
    color: #868686;
}

/* btn_area */
.form_field .btn_area {
    text-align: center;
}

.contact_form_note .diamond {
    display: block;
}

.contact_form_note {
    font-size: 1.6rem !important;
    margin: 30px -40px 0 -20px !important;
}

/* error */
.form_field .error dd input,
.form_field .error dd textarea {
    background: rgba(255, 144, 144, 0.17);
}

.check_wrap.error input+label:before {
    background: rgba(255, 144, 144, 0.17);
}

.check_wrap input:checked+label:before {
    background: transparent;
}

.form_field .error_msg {
    display: block;
    margin: 10px 0 0;
    color: #dd0101;
    font-size: 1.4rem;
}

.form_field .btn_area button {
    font-size: 1.6rem;
    margin: 0 20px;
}

.form_field .btn_area button:disabled {
    opacity: 0.6;
    cursor: default;
}

.form_field .btn_area button:disabled::before {
    content: none;
}

/* confirm */
.form_field .confirm {
    line-height: 1.75;
}

.form_field .confirm dt {
    padding: 0 28px 0 0;
}

/* complete */
.complete_msg figure {
    background: rgba(222, 9, 117, 0.08);
    width: 176px;
    height: 176px;
    border-radius: 50%;
    margin: 0 auto 30px;
    position: relative;
}

.complete_msg figure img {
    width: 95px;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.complete_msg p {
    font-size: 1.6rem;
    text-align: center;
}

.complete_msg .btn_area {
    text-align: center;
    margin: 60px 0 0;
}

/* Hover */
@media only screen and (min-width: 768px) {
    body:not(.tab_view) .form_field .btn_area .submit:disabled:hover {
        border: 1px solid #e5e5e5;
    }

    body:not(.tab_view) .form_field .btn_area .submit:not(:disabled):hover {
        opacity: 0.7;
        border: 1px solid #004098;
    }
}

@media only screen and (max-width: 768px) {
    .form_field dl {
        display: block;
    }

    .form_field dt {
        text-align: left;
        width: 100%;
        margin: 0;
        padding: 0;
        font-size: 1.4rem;
    }

    .form_field dt .required {
        padding: 0 10px;
        font-size: 1.2rem;
        top: 0;
        right: 0;
    }

    .form_field dd {
        width: 100%;
        padding: 10px 0 0;
    }

    .form_field dd ul {
        width: 100%;
        display: flex;
        justify-content: space-between;
    }

    .form_field dd li {
        width: 48%;
    }

    .form_field dd input,
    .form_field dd textarea {
        padding: 10px 15px;
    }

    /*.form_field input.size_s,
	.form_field input.size_m,
	.form_field input.size_l {
		width: 100%;
	}*/
    .eac-input-wrap {
        width: 100%;
    }

    .form_field .agree_field p {
        text-align: left;
    }

    /*.form_field .btn_area .submit {
		min-width: 46%;
	}
	.form_field .btn_area button {
		width: 46%;
		margin: 0 2%;
		padding: 15px 20px;
	}*/
    .form_field .btn_area button {
        margin-bottom: 20px;
    }

    .form_field .error_msg {
        font-size: 1.1rem;
    }

    .contact_form_note {
        margin: 30px 0 0 20px !important;
    }

    /*.form_field .confirm {
		padding: 10px 0;
	}
	.form_field .confirm dd {
		padding: 5px 0 0;
	}*/
}



/*-----------------------------------------
	sns
-----------------------------------------*/
.sns_icon {
    margin: 0 auto;
    padding: 48px 0;
    border-top: 1px solid #EFEFEF;
    background: #FFF;
    position: relative;
    z-index: 1;
}

.sns_field::before {
    content: none;
}

/* sns_area */
.sns_field .sns_cont .sns_area figure {
    width: 127px;
    height: 127px;
    margin: 0 auto 20px;
}

.sns_field .sns_cont .sns_area figure img {
    width: 100%;
}

.sns_field .sns_cont .sns_area .g_name {
    font-size: 1.8rem;
    color: #DE0975;
    margin: 0 0 5px;
}

.sns_field .sns_cont .sns_area .t_name {
    font-size: 1.8rem;
    color: #1da1f2;
    margin: 0 0 5px;
}

.sns_field .sns_cont .sns_area p {
    font-size: 1.4rem;
    margin: 0 0 30px;
}

.sns_field .sns_cont .sns_area .btn_area a {
    display: inline-block;
    color: #FFF;
    font-size: 1.4rem;
    background: #DE0975;
    border-radius: 5px;
    padding: 10px 16px;
}

.sns_field .sns_cont .sns_area .btn_area .twitter {
    background: #1da1f2;
}

.sns_field .sns_icon {
    margin: 40px auto 0;
    padding: 0;
    border-top: none;
}

/*-----------------------------------------
	scroll hint
-----------------------------------------*/
@-webkit-keyframes scroll-hint-appear {
    0% {
        -webkit-transform: translateX(40px);
        transform: translateX(40px);
        opacity: 0;
    }

    10% {
        opacity: 1;
    }

    50%,
    100% {
        -webkit-transform: translateX(-40px);
        transform: translateX(-40px);
        opacity: 0;
    }
}

@keyframes scroll-hint-appear {
    0% {
        -webkit-transform: translateX(40px);
        transform: translateX(40px);
        opacity: 0;
    }

    10% {
        opacity: 1;
    }

    50%,
    100% {
        -webkit-transform: translateX(-40px);
        transform: translateX(-40px);
        opacity: 0;
    }
}

.scroll-hint.is-right-scrollable {
    background: linear-gradient(270deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint.is-right-scrollable.is-left-scrollable {
    background: linear-gradient(90deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0)), linear-gradient(270deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint.is-left-scrollable {
    background: linear-gradient(90deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint-icon {
    position: absolute;
    top: calc(50% - 25px);
    left: calc(50% - 65px);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 130px;
    height: 80px;
    border-radius: 5px;
    -webkit-transition: opacity .3s;
    transition: opacity .3s;
    opacity: 0;
    background: rgba(0, 0, 0, .7);
    text-align: center;
    padding: 20px 10px 10px 10px;
}

.scroll-hint-icon-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-height: 100%;
    pointer-events: none;
}

.scroll-hint-text {
    font-size: 10px;
    color: #FFF;
    margin-top: 5px;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
    opacity: .8;
}

.scroll-hint-icon:before {
    display: inline-block;
    width: 40px;
    height: 40px;
    color: #FFF;
    vertical-align: middle;
    text-align: center;
    content: "";
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon:after {
    content: "";
    width: 34px;
    height: 14px;
    display: block;
    position: absolute;
    top: 10px;
    left: 50%;
    margin-left: -20px;
    background-repeat: no-repeat;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDE8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiIGZpbGw9IiNmZmYiLz48L2c+PC9nPjwvc3ZnPg==);
    opacity: 0;
    -webkit-transition-delay: 2.4s;
    transition-delay: 2.4s;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
    opacity: 1;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
    -webkit-animation: scroll-hint-appear 1.2s linear;
    animation: scroll-hint-appear 1.2s linear;
    -webkit-animation-iteration-count: 2;
    animation-iteration-count: 2;
}

.scroll-hint-icon-white {
    background-color: #FFF;
    -webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, .4);
    box-shadow: 0 4px 5px rgba(0, 0, 0, .4);
}

.scroll-hint-icon-white:before {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon-white:after {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDI8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiLz48L2c+PC9nPjwvc3ZnPg==);
}

.scroll-hint-icon-white .scroll-hint-text {
    color: #000;
}

/*-----------------------------------------
	Hover
-----------------------------------------*/
.entry_base a,
.sns_field .sns_cont .sns_area .btn_area a,
.breadcrumbs li a,
.more_btn_list li a,
.more_btn_list li a span,
.block_link a,
.banner_box a,
.balloon_btn,
.balloon_box .close {
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

@media only screen and (min-width: 768px) {

    body:not(.tab_view) .entry_base a:not(.btn):not(.trigger):hover,
    body:not(.tab_view) .sns_field .sns_cont .sns_area .btn_area a:hover,
    body:not(.tab_view) .breadcrumbs li a:hover,
    body:not(.tab_view) .balloon_btn:hover,
    body:not(.tab_view) .balloon_box .close:hover {
        opacity: 0.6;
        -webkit-box-shadow: none;
        box-shadow: none;
    }

    /* delete shadow */
    /*body:not(.tab_view) .interview.type_2 a:hover {
		opacity: 1 !important;
	}*/

    /* no effect */
    body:not(.tab_view) .more_btn_list li a:hover {
        opacity: 1 !important;
        -webkit-box-shadow: 0 0 6px rgba(102, 102, 102, .2) !important;
        box-shadow: 0 0 6px rgba(102, 102, 102, .2) !important;
    }

    body:not(.tab_view) .block_link a:hover,
    body:not(.tab_view) .banner_box a:hover {
        opacity: 0.8 !important;
        -webkit-box-shadow: 0 0 6px rgba(102, 102, 102, .2) !important;
        box-shadow: 0 0 6px rgba(102, 102, 102, .2) !important;
    }

    body:not(.tab_view) .more_btn_list li a:hover .sub {
        background: #000000;
    }
}

/*-----------------------------------------
	MT A-Form style
-----------------------------------------*/
/* aform input */
main .aform-header {
    display: none;
}

main .aform-content dl {
    margin: 0;
    padding: 20px 0;
}

main .aform-content dl dt {
    font-weight: normal;
}

main .form_field dt .aform-required {
    padding: 2px 9px;
    background: #DE0975;
    font-size: 1.2rem;
    color: #FFF;
    line-height: 1.5;
    border-radius: 24px;
    position: absolute;
    top: 18px;
    right: 28px;
}

main .aform-content dl dd {
    margin: 0;
}

main .form_field dd .aform-text,
main .form_field dd .aform-tel,
main .form_field dd .aform-email,
main .form_field dd .aform-textarea {
    /*width: 420px;*/
    padding: 20px 25px;
    font-size: 1.6rem;
    background: #f2f2f2;
    border-bottom: 1px solid #E2E2E2;
    background-color: #FAF8FA;
    -webkit-appearance: none;
}

main .form_field dd .aform-textarea {
    width: 100%;
}

main .form_field .dl_form-agree {
    padding: 50px 0;
    text-align: center;
}

main .form_field .dl_form-agree dt {
    display: none;
}

main .form_field .dl_form-agree dd {
    width: 100%;
}

main .form_field .dl_form-agree .aform-input-example {
    display: none;
}

main .form_field .dl_form-agree ul {
    width: 100%;
    display: block;
}

main .form_field .dl_form-agree li {
    width: auto;
    display: inline-block;
}

main .form_field .dl_form-agree input {
    display: none;
}

main .form_field .dl_form-agree input+label {
    display: block;
    position: relative;
    padding-left: 35px;
    margin-bottom: 20px;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

main .form_field .dl_form-agree input+label:before {
    content: "";
    width: 18px;
    height: 18px;
    display: block;
    position: absolute;
    top: 2px;
    left: 0;
    background: #FFF;
    border: 1px solid #e5e5e5;
    border-radius: 2px;
    transition: all 0.3s ease-out;
}

main .form_field .dl_form-agree input+label:last-child {
    margin-bottom: 0;
}

main .form_field .dl_form-agree input:checked+label:before {
    background: transparent;
}

main .form_field .dl_form-agree input:checked+label:after {
    content: "";
    width: 5px;
    height: 9px;
    display: block;
    position: absolute;
    top: 7px;
    left: 7px;
    transform: rotate(40deg);
    border-bottom: 2px solid #DE0975;
    border-right: 2px solid #DE0975;
}

main .aform-button-area {
    margin: 0;
    /*padding: 40px 0;*/
    text-align: center;
    display: flex;
    justify-content: center;
    background: transparent;
}

main .aform-button-area input {
    width: auto;
    min-width: 280px;
    margin: 0 10px;
    padding: 15px 20px;
    color: #FFF;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700;
    position: relative;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
    line-height: 1.7;
    display: inline-block;
    background: #000;
}

main .aform-button-area input:disabled {
    opacity: 0.3;
    cursor: default;
}

main .aform-button-area input:not(:disabled) {
    cursor: pointer;
    opacity: 1;
}

main .aform-input-example {
    color: #868686;
}

/* aform confirm */
main #aform-confirm-form .aform-required,
main .aform-content #aform-confirm-form .dl_form-agree,
main #aform_confirm_msg {
    display: none;
}

main .aform-content #aform-confirm-form dl dt {
    padding: 0 28px 0 0;
}

main .aform-content #aform-confirm-form .aform-button-area {
    border-top: 2px solid #F7F7F7;
    margin: 60px 0 0;
    padding: 60px 0 0;
}

#aform_btn_back {
    border: 1px solid #E2E2E2;
    color: #222222;
    background: #FFF;
}

/* aform system error */
main .aform-content .aform-error-list {
    margin: 0 0 50px;
    padding: 0;
    display: block;
    text-align: center;
    border: none;
}

main .aform-error-list dt {
    width: 100%;
    margin: 0 0 20px;
    padding: 0;
    text-align: center;
    color: #dd0101;
}

main .aform-error-list dd {
    width: 100%;
    margin: 0;
    text-align: center;
}

main .aform-content .aform-error-list+div {
    text-align: center;
}

/* PC Hover */
@media only screen and (min-width: 768px) {
    body:not(.tab_view) main .aform-button-area input:not(:disabled):hover {
        background: #DE0975;
        color: #FFF;
    }

    body:not(.tab_view) main .aform-button-area input#aform_btn_back:hover {
        background: #DE0975;
        color: #FFF;
    }
}

@media only screen and (max-width: 768px) {
    main .form_field dt .aform-required {
        padding: 0 10px;
        font-size: 1.2rem;
        top: 0;
        right: 0;
    }

    main .form_field dd .aform-text,
    main .form_field dd .aform-tel,
    main .form_field dd .aform-email,
    main .form_field dd .aform-textarea {
        width: 100%;
        padding: 10px 15px;
    }

    /*main .form_field .dl_form-agree .aform-input-example {
		margin: 0 0 20px;
		line-height: 2.3;
		text-align: left;
	}*/
    main .form_field .dl_form-agree {
        padding: 20px 0;
    }

    main .aform-button-area input {
        min-width: 46%;
    }

    /* aform confirm */
    main .aform-content #aform-confirm-form dl {
        padding: 10px 0;
        line-height: 1.75;
    }

    main #aform-confirm-form dd {
        padding: 5px 0 0;
    }

    main #aform-confirm-form .aform-button-area {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    main #aform-confirm-form .aform-button-area input {
        font-size: 1.4rem;
        padding: 15px 0;
        width: 100%;
        max-width: 280px;
    }

    main #aform-confirm-form .aform-button-area input:not(:last-child) {
        margin-bottom: 20px;
    }

    /* aform system error */
    main .aform-error-list dd {
        padding: 0;
    }
}

/* =======================================

	Additional Content

======================================= */

/*-----------------------------------------
	ページ微修正・追加CSS
-----------------------------------------*/
/* スペシャルカリキュラム */
.collaboration_section_padding {
    padding-bottom: 40px;
}

.collaboration_nobar {
    padding-left: 0 !important;
}

.collaboration_nobar+p {
    padding-left: 0 !important;
}

.collaboration_nobar:before {
    display: none !important;
}

.collaboration_caption {
    white-space: nowrap;
}

/* 学科ページタイトル */
.dpt_illustration .entry_base .point_wrap h2 img {
    width: 315px;
}

.dpt_comic_illust .entry_base .point_wrap h2 img {
    width: 180px;
}

.dpt_architectural .entry_base .point_wrap h2 img {
    width: 420px;
}

/*-----------------------------------------
	video
-----------------------------------------*/
.video {
    max-width: 560px;
    margin: 0 auto 56px;
}

.video_inner {
    position: relative;
    padding-bottom: calc(315 / 560 * 100%);
}

.video_iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}

/* ------------------------------
	text_img_set
------------------------------ */
/* type_img_shadow */
.text_img_set.type_img_shadow .text_area p+p {
    margin-top: 40px;
}

@media only screen and (max-width: 768px) {
    .text_img_set.type_img_shadow .text_area p+p {
        margin-top: 20px;
    }
}

/* ------------------------------
	list
------------------------------ */
.list_column_3 {
    -webkit-column-count: 3;
    -moz-column-count: 3;
    column-count: 3;
}

.list_column_3>li {
    width: 100%;
    display: inline-block;
}

@media only screen and (max-width: 768px) {
    .list_column_3 {
        -webkit-column-count: auto;
        -moz-column-count: auto;
        column-count: auto;
    }

    .list_column_3>li {
        display: block;
    }
}

/* ------------------------------
	就職・デビューCSS追記
------------------------------ */
.support_stage_deco {
    position: relative;
    z-index: -1;
}

.support_stage_z-index_adjust1 {
    position: relative;
    z-index: -2;
}

.support_stage_z-index_adjust2 {
    position: relative;
    z-index: -3;
}

.support_deco {
    position: absolute;
    top: 10px;
    right: -30px;
    z-index: 3;
    display: block;
    width: 210px;
    height: auto;
}

.support_deco__inner {
    position: relative;
    width: 100%;
    height: auto;
}

.support_deco img {
    position: relative;
    z-index: 3;
    display: block;
    width: 100%;
    height: auto;
}

.support_deco__inner::before {
    content: '';
    position: absolute;
    z-index: 2;
    display: block;
    bottom: 10px;
    left: 50%;
    -webkit-transform: translate(-50%, 100%);
    -ms-transform: translate(-50%, 100%);
    transform: translate(-50%, 100%);
    width: 58px;
    height: 2390px;
    background-color: #DE0975;
}

.support_deco__inner::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -2370px;
    -webkit-transform: translate(-50%, 100%);
    -ms-transform: translate(-50%, 100%);
    transform: translate(-50%, 100%);
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 48px 40px 0 40px;
    border-color: #DE0975 transparent transparent transparent;
}

.support_deco_padding_adjust {
    padding-right: 170px !important;
}

@media only screen and (max-width: 1200px) {
    .support_deco__inner::before {
        height: 2290px;
    }

    .support_deco__inner::after {
        bottom: -2270px;
    }
}

@media only screen and (max-width: 1100px) {
    .support_deco__inner::before {
        height: 2300px;
    }

    .support_deco__inner::after {
        bottom: -2280px;
    }
}

@media only screen and (max-width: 768px) {
    .support_deco {
        top: 0;
        right: -10px;
        width: 90px;
    }

    .support_deco__inner::before {
        width: 30px;
        height: 2430px;
    }

    .support_deco__inner::after {
        bottom: -2420px;
        border-width: 25px 22px 0 22px;
    }

    .support_deco_padding_adjust {
        padding-right: 70px !important;
    }
}

@media only screen and (min-width: 395px) and (max-width: 768px) {
    .support_deco__inner::before {
        height: 2400px;
    }

    .support_deco__inner::after {
        bottom: -2390px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 768px) {
    .support_deco__inner::before {
        height: 2460px;
    }

    .support_deco__inner::after {
        bottom: -2450px;
    }
}

@media only screen and (min-width: 600px) and (max-width: 768px) {
    .support_deco__inner::before {
        height: 2560px;
    }

    .support_deco__inner::after {
        bottom: -2550px;
    }
}

@media only screen and (min-width: 700px) and (max-width: 768px) {
    .support_deco__inner::before {
        height: 2590px;
    }

    .support_deco__inner::after {
        bottom: -2580px;
    }
}

/* ------------------------------
	学科ページSNSアイコン
------------------------------ */
.department_facebook_icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 111px;
    height: 111px;
    margin: 0 auto 20px;
    border-radius: 50%;
    overflow: hidden;
}

.department_facebook_icon img {
    width: 100%;
    height: auto;
}

.department_instagram_icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 127px;
    height: 127px;
    margin: 0 auto 20px;
    background: url(../department/files/department_instagram_bg.png) 50% 50% no-repeat;
    background-size: cover;
}

.department_instagram_icon__inner {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 111px;
    height: 111px;
    border-radius: 50%;
    overflow: hidden;
}

.department_instagram_icon__inner img {
    width: 100%;
    height: auto;
}

/* ------------------------------
	学科ページSNSアイコン
------------------------------ */
.stage_set .cont_area figure img {
    display: block;
    width: 100%;
    height: auto;
}

/* ------------------------------
	学科ページ講師アイコン
------------------------------ */
.admission_list li figure {
    border-radius: 50%;
    overflow: hidden;
}

#kosi-saku {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    width: 100%;
    padding-top: 1em;
}

#kosi-saku .saku-list {
    width: calc(100% / 2 - 1em);
}

#kosi-saku .saku-list img {
    border-radius: 2%;
    overflow: hidden;
    width: 100%;
    margin: 0 auto;
    height: inherit;
    /*height: max-content;*/
}

.dpt_interior .kosi-saku li::before {
    background: none;
}

.kosi-saku li::after {
    display: none;
}

/* ------------------------------
	専攻ページ講師紹介調整
------------------------------ */
.other_intro figure {
    border-radius: 15px;
    overflow: hidden;
}

/* ------------------------------
	募集要項ページスクロールアイコンbugfix
------------------------------ */
.scroll-hint-icon {
    top: 50%;
    transform: translateY(-50%);
}

/* ------------------------------
	clm_wrap SP時コラム1列用class追加
------------------------------ */
@media only screen and (max-width: 768px) {
    .sp_clm_1>* {
        width: 100% !important;
        margin-right: 0 !important;
    }
}

/* ------------------------------
	aタグ telリンク
------------------------------ */
.link_tel {
    color: #000;
    pointer-events: none;
}

@media only screen and (max-width: 768px) {
    .link_tel {
        color: #DE0975;
        pointer-events: all;
    }
}

/* ------------------------------
	aタグ telリンク
------------------------------ */
.image_area figure img {
    display: block;
    width: 100%;
    height: auto;
}

/* ------------------------------
	留学生の方へ 主な出身国・地域一覧
------------------------------ */
.international_countries {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
    height: auto;
    margin: 0 auto;
    padding: 20px 0 50px;
}

.international_country {
    width: 11.2%;
    height: auto;
    margin-bottom: 12px;
}

.international_country_flag {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto 7px;
}

.international_country_flag img {
    display: block;
    width: 100%;
    height: auto;
}

.international_country_name {
    margin-bottom: 0 !important;
    text-align: center;
    line-height: 1 !important;
}

@media only screen and (max-width: 1100px) {
    .international_country_name {
        font-size: 1.2rem !important;
    }
}

@media only screen and (max-width: 768px) {
    .international_countries {
        padding: 20px 0 40px;
    }

    .international_country {
        width: 23%;
        margin-bottom: 16px;
    }
}

/* ------------------------------------
20210928追加
------------------------------------ */
.sec_wrap2 {
    margin-bottom: 50px;
    padding: 50px 20px 20px;
}

.set_wrap .sec_wrap2:last-of-type {
    margin-bottom: 0;
}

.bg_reset .sec_wrap2 {
    margin: 0;
    margin: 50px 0;
    padding: 0 20px;
}

@media only screen and (max-width: 1260px) {
    .sec_wrap2 {
        padding: 50px 20px 20px;
    }

    main>section:nth-of-type(2n) .sec_wrap2 {
        padding: 0 20px;
    }

    .bg_reset .sec_wrap2 {
        padding: 0 20px;
    }
}

@media only screen and (max-width: 767px) {

    .sec_wrap2 {
        margin: 0 0 24px;
        padding: 32px 4% 16px;
    }

    main>section:nth-of-type(2n) .sec_wrap2 {
        margin: 16px 0;
        padding: 0;
    }

    .bg_reset .sec_wrap2 {
        margin: 16px 0;
        padding: 0;
    }
}


/* ------------------------------------
decolation
------------------------------------ */
.deco_center {
    position: relative;
    margin: 0;
    padding: 80px 0;
}

.deco_center::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    z-index: 0;
    display: block;
    width: 138px;
    height: 45px;
    background-image: url(/files/common/deco_center.png);
    background-size: 100% auto;
    background-repeat: no-repeat;
}

.deco_center .sec_wrap {
    position: relative;
}

/*-----------------------------------------
	domitory_logo
-----------------------------------------*/
.entry_base .domitory_logo {
    width: 800px;
    max-width: 100%;
    height: auto;
    border: 1px solid #ccc;
    /*margin-bottom: 3em;*/
}

.h2_img {
    display: block;
    width: 70%;
    margin: 0 auto;
}

.h2_img img {
    width: 100%;
    margin: 0 auto;
    padding-bottom: 20px;
}

@media only screen and (max-width: 767px) {
    .entry_base .domitory_logo {
        margin-top: 2em;
        margin-bottom: 3em;
    }

    .h2_img {
        width: 100%;
        margin: 0 auto;
    }

    .h2_img img {
        padding-bottom: 1em;
    }
}

/*-----------------------------------------
	dream campus
-----------------------------------------*/
.entry_base .point_wrap .copy img {
    display: block;
    width: 430px;
    margin: 0 auto 5px;
}

.entry_base .flot-left {
    max-width: 50%;
    margin: 0 auto;
    float: left;
    display: table;
}

.entry_base .fig_right2 {
    max-width: 50%;
    margin: 0 0 50px 0;
    padding: 0 0 0 20px;
    float: right;
    display: table;
}

@media only screen and (max-width: 767px) {
    .entry_base .flot-left {
        max-width: 100%;
        margin: 0 auto;
        float: none;
        display: block;
    }

    .entry_base .fig_right2 {
        max-width: 100%;
        margin: 0 0 3em 0;
        padding: 0;
        float: none;
        display: block;
    }

    .entry_base .flot-left .sp_size {
        font-size: 28px;
        line-hight: 1.5;
        font-weight: bold;
    }
}

/*-----------------------------------------
	お家deキット
-----------------------------------------*/
.entry_base .end-line {
    margin-bottom: 0;
    color: inherit;
    text-decoration: line-through;
}

/*-----------------------------------------
	open campus top ver.2 (20211021)
-----------------------------------------*/
.oc-menu section {
    margin-bottom: 4em;
}

.oc-menu h3 {
    position: relative;
}

.oc-menu h3 img {
    display: block;
    margin-top: -1em;
    width: 20%;
    min-width: 160px;
}

.oc-menu h3 span {
    margin: 0.75em;
    padding: 0 0.5em;
    font-size: 10px;
    line-hight: 1.2;
    font-weight: bold;
    text-align: center;
    background-color: yellow;
    border: solid 1px #000000;
    position: absolute;
    right: 1em;
}

ul.course_oc {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 0;
}

ul.course_oc li {
    margin: 0 0 1em 0;
    width: 18%;
    float: none;
}

ul.course_oc li figure img {
    width: 160%;
}

ul.course_oc li div {
    padding: 2em 1em;
    width: 100%;
    font-size: 10px;
    text-align: center;
}

ul.oc_user-menu {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 1em;
}

ul.oc_user-menu li {
    display: block;
    width: 23%;
    background-color: #ffffff;
    border: solid 2px #666666;
}

ul.oc_user-menu li a {
    display: block;
    padding: 0.5em;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
}

ul.oc_user-menu .more {
    display: inline-block;
    margin-top: 0;
}

.oc_btn {
    padding-right: 2em;
    text-align: center;
    border: solid 2px #ff0000;
}

.oc_btn::after {
    content: '';
}

#oc_cal {
    margin-top: 1em;
    height: 420px;
}

@media only screen and (max-width: 768px) {
    .oc-menu h3 img {
        margin-top: 0;
    }

    .oc-menu h3 span {
        display: block;
        font-size: 11px;
        position: static;
    }

    ul.course_oc li {
        width: 48%;
    }

    ul.oc_user-menu li {
        margin-bottom: 1em;
        width: 100%;
    }

    #oc_cal {
        height: 620px;
    }
}

/*-----------------------------------------
	ファッションデザイン学科ページ (20220215)
-----------------------------------------*/
.figure-in {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    width: 100%;
    margin: 0 auto;
}

.figure-p {
    width: calc(100% / 2 - 1em);
}

.figure-font {
    font-size: 9px !important;
    line-hight: inherit !important;
    font-weight: lighter !important;
    padding-top: 0.5em !important;
}

/*-----------------------------------------------*/
/**20220328 SPDC0403ゲストページ**/
/*-----------------------------------------------*/
.check_area section {
    margin: 135px 0 200px;
    padding: 115px 78px 74px;
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.95);
    -webkit-box-shadow: 0 0 8px rgba(105, 105, 105, .08);
    box-shadow: 0 0 8px rgba(105, 105, 105, .08);
    position: relative;
}

.check_area section:last-child {
    margin-bottom: 0;
}

.check_area .faq_short {
    width: 82%;
    margin: 0 auto 60px;
}

.check_area p {
    font-size: 1.6rem;
}

.check_area h2 {
    position: absolute;
    top: -38px;
    left: 100px;
    z-index: 2;
    border-bottom: none;
}

.check_area h2::after {
    content: '';
    display: block;
    position: absolute;
    top: -52px;
    left: -175px;
    z-index: -1;
}

/* num */
.check_area h2 .num {
    font-family: 'PT Sans', sans-serif;
    font-size: 6.2rem;
    font-weight: 700;
    line-height: 1.0;
    position: absolute;
    top: -17px;
    left: -126px;
    -webkit-transform: rotate(-4deg);
    transform: rotate(-4deg);
}

.check_area h2 .num>span {
    font-size: 9.3rem;
}

/* ttl */
.check_area h2 .ttl {
    display: table;
    font-size: 3.2rem;
    font-weight: 700;
    color: #FFF;
    padding: 0 16px;
    white-space: nowrap;
    -webkit-transform: rotate(-4deg);
    transform: rotate(-4deg);
}

/* indention */
.check_area h2 .ttl.indention {
    background: transparent !important;
}

.check_area h2 .ttl.indention>span {
    display: table;
    font-size: 3.2rem;
    font-weight: 700;
    color: #FFF;
    padding: 0 16px;
    white-space: nowrap;
    background: #DE0975 !important;
}

.check_area h2 .ttl.indention>span:nth-child(2) {
    margin-left: 72px;
}

.check_area h2 .ttl.indention>span:not(:last-child) {
    margin-bottom: 5px;
}

.check_area .btn {
    width: 224px;
}

.check_area .click {
    font-size: 1.6rem;
    background: #FDFDFD;
    border-radius: 15px;
    display: table;
    text-align: center;
    padding: 10px 20px 10px 55px;
    margin: 0 auto 24px;
    position: relative;
}

.check_area .click::before {
    content: "\e912";
    font-family: 'tdg';
    font-size: 1.8rem;
    position: absolute;
    top: 50%;
    left: 26px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

/* 奇数 */
.check_area section.odd h2::after {
    content: url(/junior/files/odd_deco.png);
    background-size: contain;
}

.check_area section.odd h2 .num {
    color: #DE0975;

}

.check_area section.odd h2 .ttl {
    background: #DE0975;
}

.check_area section.even h2::after {
    top: -26px;
    content: url(/junior/files/even_deco.png);
    background-size: cover;
}

.check_area section.even h2 .num {
    color: #00C7C7;
    /*top: -34px;*/
}

.check_area section.even h2 .ttl {
    background: #00C7C7;
}

@media only screen and (max-width: 768px) {
    .check_area section {
        margin: 100px 0 260px !important;
        padding: 80px 5% 50px;
    }

    .check_area section:first-of-type {
        margin: 206px 0 160px !important;
    }

    .check_area section:last-of-type {
        margin: 100px 0 100px !important;
    }

    .check_area .faq_short {
        width: 100%;
        margin: 0 auto 30px;
    }

    .check_area .click {
        font-size: 1.2rem;
        margin: 0 auto 45px;
    }

    .check_area h2 {
        top: -20px;
        left: 130px;
    }

    .check_area h2 .num {
        font-size: 3.6rem;
        top: 0;
    }

    .check_area h2 .num>span {
        font-size: 5.4rem;
    }

    .check_area h2 .ttl {
        display: block;
        background: transparent !important;
    }

    .check_area h2 .ttl>span {
        display: table !important;
        font-size: 2.0rem !important;
        letter-spacing: 0;
        white-space: normal !important;
        padding: 0 5px !important;
        margin-left: -65px;
    }

    .check_area h2 .ttl.font_s>span {
        font-size: 1.7rem !important;
    }

    .check_area section.odd h2 .ttl>span {
        background: #DE0975;
    }

    .check_area section.even h2 .ttl>span {
        background: #00C7C7;
    }

    .check_area h2 .ttl>span:nth-child(2) {
        margin-left: -65px !important;
    }

    .check_area h2 .ttl>span:not(:last-child) {
        margin-bottom: 5px !important;
    }

    .check_area section.even h2::after {
        top: -55px;
    }

    .check_area section.even h2 .num {
        top: -14px;
    }
}

div.yt-wrapper {
    margin: 1em auto;
    position: relative;
    width: 100%;
}

div.yt-wrapper:before {
    content: "";
    display: block;
    padding-top: 56.25%;
}

div.yt-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.check_area .ttl {
    font-size: 2em;
    font-weight: bolder;
    margin: 0 auto;
    text-align: left;
}

#back_field {
    width: 100% !important;
    background: #F7F7F7;
    padding: 120px 0 112px;
}

@media only screen and (max-width: 768px) {
    .check_area .ttl {
        font-size: 1.5em;
    }

    #back_field {
        padding: 60px 0;
    }
}

/*-----------------------------------------
	20220627W説明会
-----------------------------------------*/
.ws-img {
    width: 380px;
    margin: 0 auto 60px;
}

.ws-img img {
    width: 100%;
}

@media only screen and (max-width: 768px) {
    .ws-img {
        width: 80%;
        margin: 0 auto 60px;
    }

    .ws-img img {
        display: block;
        text-align: center;
    }
}

/*-----------------------------------------
	20230706オープンキャンパスwide_bn
-----------------------------------------*/
.wide_bn {
    width: 980px;
    /*width: 1050px;*/
    margin: 0 auto;
}

.wide_bn .bn_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    /*justify-content: space-around;*/
    width: 100%;
    gap: 10px;
}

.wide_bn .bn_list .sp_only {
    display: none;
}

.wide_bn .bn_list li {
    width: calc(100% / 2 - 1em);
    /*width: calc(100% / 3 - 2em);*/
    margin-bottom: 1em;
}

.wide_bn .bn_list .large_bnr {
    width: 98.5%;
}

.wide_bn .bn_list a {
    width: 100%;
    margin: 0 auto;
}

.wide_bn .bn_list img {
    width: 100%;
    margin: 0 auto;
}

.wide_bn a:hover {
    opacity: 0.3;
}

@media only screen and (max-width: 768px) {
    .wide_bn {
        width: 100%;
        margin: 0 auto;
    }

    .wide_bn .bn_list .pc_only {
        display: none;
    }

    .wide_bn .bn_list .sp_only {
        display: block;
    }

    .wide_bn .bn_list li {
        width: calc(100% / 1 - 0.5em);
        margin-bottom: 0.5em;
    }

    .wide_bn .bn_list .large_bnr {
        width: calc(100% / 1 - 0.5em);
    }
}

.entry_base .dm-title {
    display: block;
    font-size: 2.0rem;
    color: #333333;
    padding: 0;
    margin: 0 0 20px;
    background: none;
    border-left: none;
    border-bottom: none;
    text-align: center;
    font-weight: bolder;
}

.entry_base .dm-title2 {
    display: block;
    font-size: 1.7rem;
    color: #333333;
    padding: 0;
    margin: 0 0 20px;
    background: none;
    border-left: none;
    border-bottom: none;
    text-align: left;
    font-weight: bolder;
}

.accordion_box .crepe {
    margin-bottom: 0 !important;
}

@media only screen and (max-width: 768px) {
    .entry_base .dm-title {
        font-size: 1.8rem;
    }

    .entry_base .dm-title2 {
        text-align: center;
    }

    .accordion_box .crepe {
        margin-bottom: 0 !important;
    }

    .crepe-point p {
        font-size: 16px !important;
    }

    .crepe-point span {
        font-size: 18px;
    }
}

.flex_box {
    display: -webkit-box;
    /*Android4.3*/
    display: -moz-box;
    /*Firefox21*/
    display: -ms-flexbox;
    /*IE10*/
    display: -webkit-flex;
    /*PC-Safari,iOS8.4*/
    display: flex;
}

.flex_box li {
    height: 320px;
}

.kobethu {
    justify-content: space-around;
}

@media only screen and (max-width: 768px) {
    .flex_box li {
        height: auto;
    }

    .kobethu {
        justify-content: space-around;
        padding: 0 0.5em;
    }

    .kobethu li p {
        font-size: 1.4rem !important;
    }
}

/* default */
#shinro_lp img {
    display: block;
    margin: 0 auto;
}

#shinro_lp h2 {
    font-size: 3em;
    font-weight: bold;
    text-align: center;
    margin-bottom: 1em;
    line-height: 1.4;
    letter-spacing: 0.05em;
}

#shinro_lp h3 {
    font-size: 2em;
    font-weight: bold;
    text-align: center;
    margin-bottom: 1em;
    line-height: 1.4;
    letter-spacing: 0.05em;
}

#shinro_lp h3 span {
    font-weight: normal;
    display: block;
    margin-top: 1em;
    font-size: 0.8em;
}

#shinro_lp h4 {
    font-size: 1.8em;
    letter-spacing: 0.05em;
}

#shinro_lp p {
    font-size: 1em;
    line-height: 1.7;
    margin: 1em auto;
    letter-spacing: 0.05em;
}

#shinro_lp .marker {
    padding: 0;
    display: inline;
    text-align: center;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(65%, transparent), color-stop(0%, rgba(252, 0, 128, .2)));
    background: linear-gradient(transparent 65%, rgba(252, 0, 128, .2) 0%);
}

#shinro_lp ul li {
    display: inline-block;
    margin: 0.5em;
    font-size: 1em;
    font-weight: bold;
}

#shinro_lp table {
    width: 100%;
}

#shinro_lp th,
td {
    border: 1px solid;
    padding: 1em;
    letter-spacing: 0.05em;
    line-height: 1.7;
}

#shinro_lp figure {
    margin-bottom: 2em;
}

#shinro_lp figure img {
    width: 100%;
}

#shinro_lp figcaption {
    font-size: 1em;
    line-height: 1.7;
    margin: 0 auto 2em;
    letter-spacing: 0.05em;
    text-align: center;
}

/* contents */
#shinro_lp .flex_box {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 4em auto;
    padding-top: 1em;
}

#shinro_lp .text_right {
    text-align: right;
}

#shinro_lp .pc_only {
    display: block;
}

#shinro_lp .sp_only {
    display: none;
}

#shinro_lp .main_visual {
    max-width: 1200px;
    margin: 0 auto;
    margin-bottom: 5em;
}

.main_visual img {
    width: 100%;
}

.container {
    width: 1000px;
    margin: 0 auto;
}

#shinro_lp .intro {
    margin: 0 auto;
}

#shinro_lp .intro figure img {
    width: 600px;
}

#shinro_lp .feature {
    background: #f7f7f7;
    padding: 5em 0;
    margin-top: 5em;
}

#shinro_lp .feature h3 {
    margin-top: -100px;
}

#shinro_lp .feature figure {
    margin-top: 5em;
}

#shinro_lp .feature .img_box img {
    width: 400px;
}

#shinro_lp .feature .case_img {
    padding-right: 2em;
}

#shinro_lp .feature .case_img img {
    width: 150px;
}

#shinro_lp .feature .left_box {
    margin-right: 1em;
}

#shinro_lp .feature .feature01 .circle_tit,
#shinro_lp .feature .feature02 .circle_tit,
#shinro_lp .feature .feature03 .circle_tit {
    position: relative;
    display: inline-block;
    width: 110px;
    height: 110px;
    border-radius: 50%;
    background: #f9f500;
    left: 5%;
}

#shinro_lp .feature .feature01 p .point,
#shinro_lp .feature .feature02 p .point,
#shinro_lp .feature .feature03 p .point {
    position: absolute;
    display: inline-block;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 110px;
    text-align: center;
    line-height: 1.2;
}

#shinro_lp .feature .feature01 p .suuji,
#shinro_lp .feature .feature02 p .suuji,
#shinro_lp .feature .feature03 p .suuji {
    font-size: 1.7em;
    font-weight: bold;
}

#shinro_lp .feature .feature02 {
    margin: 5em auto;
}

#shinro_lp .feature .feature02 .overview {
    text-align: center;
}

#shinro_lp .feature .feature03 .flex_box div {
    margin-right: 0.5em;
}

#shinro_lp .feature .feature03 .flex_box div:last-child {
    margin-right: 0;
}

#shinro_lp .feature .feature03 .flex_box figure {
    margin-top: 0;
}

#shinro_lp .voice {
    margin: 5em auto;
}

#shinro_lp .achievement {
    padding: 5em 0;
    margin: 0 auto;
}

#shinro_lp .achievement h3 {
    margin-top: 1em;
}

#shinro_lp .qa {
    padding: 5em 0;
    margin: 0 auto;
    background: #f7f7f7;
}

/*#shinro_lp .qa dt {
    padding: 5px 20px 5px 10px;
    font-size: 1.4em;
    letter-spacing: 0.05em;
    line-height: 1.5;
    border-left: 7px solid #DE0975;
    background: #d7d7d7;
}
#shinro_lp .qa dd {
    padding: 18px 40px 18px 40px;
    font-size: 1.1em;
    letter-spacing: 0.05em;
    line-height: 1.5;
}*/
#shinro_lp .accordion_box.type_qa dd .inner {
    padding-top: 0;
    padding-bottom: 1em;
}

#shinro_lp .line {
    margin: 5em 0 3em;
}

#shinro_lp .line figure {
    width: 480px;
    margin: 0 auto;
    padding-bottom: 2em;
}

#shinro_lp .line img {
    width: 100%;
    margin: 0 auto;
}

#shinro_lp .line p {
    margin: 0 auto;
    text-align: center;
}

#shinro_lp .access {
    background: #f7f7f7;
    padding: 5em 0;
    margin-top: 5em;
}

#shinro_lp .access .flex_box {
    align-items: baseline;
}

#shinro_lp .access .flex_box div {
    width: calc(100%/3);
    margin-right: 2em;
}

#shinro_lp .access .flex_box div:last-child {
    margin-right: 0;
}

#shinro_lp .access iframe {
    width: 100%;
    height: 199px;
    box-shadow: 2px 2px 2px #5f5f5f;
}

#shinro_lp footer {
    padding: 1em 0 2em;
    text-align: center;
}

#study-co h4 {
    margin: 0 auto;
    text-align: center;
    padding-bottom: 1em;
}

#study-co p {
    margin: 0 auto;
    text-align: center;
}

#study-co .sub-title {
    padding-bottom: 2em;
}

#study-co .block_description {
    margin-bottom: 0;
}

/* parts */
#shinro_lp .btn_area {
    text-align: center;
}

#shinro_lp .btn {
    width: 100%;
    padding: 1em;
    color: #FFF;
    font-weight: 700;
    font-size: 1.8rem;
    font-family: 'PT Sans', 'Noto Sans JP', sans-serif;
    text-align: left;
    letter-spacing: 0;
    display: inline-block;
    background: #000000;
    position: relative;
    z-index: 0;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
    text-decoration: none;
}

#shinro_lp .btn span {
    display: block;
    line-height: 1.4;
    font-size: 1.3rem;
    padding-bottom: 0.4em;
}

#shinro_lp .btn.size_auto {
    display: table;
    width: auto;
    padding: 15px 35px 15px 25px;
    margin: 0 auto;
}

#shinro_lp .btn.size_l {
    width: 400px;
}

#shinro_lp .btn:hover {
    color: #FFF;
    background: #DE0975;
}

#shinro_lp .type_line span {
    font-size: 1.8rem;
    padding-bottom: 0;
}

#shinro_lp .btn.type_line:hover {
    background: #2dc100;
}

#shinro_lp .btn.type_line:before {
    background: #2dc100;
}

@media screen and (max-width:768px) {
    #shinro_lp h2 {
        font-size: 2em;
    }

    #shinro_lp h3 {
        font-size: 1.6em;
    }

    #shinro_lp h4 {
        font-size: 1.6em;
        text-align: center;
        margin-bottom: 1em;
    }

    #shinro_lp ul li {
        display: block;
    }

    #shinro_lp figcaption {
        text-align: left;
    }

    #shinro_lp .pc_only {
        display: none;
    }

    #shinro_lp .sp_only {
        display: block;
    }

    #shinro_lp .feature .feature01 .circle_tit,
    #shinro_lp .feature .feature02 .circle_tit,
    #shinro_lp .feature .feature03 .circle_tit {
        width: 70px;
        height: 70px;
        left: 0;
    }

    #shinro_lp .feature .feature01 p .point,
    #shinro_lp .feature .feature02 p .point,
    #shinro_lp .feature .feature03 p .point {
        font-size: 0.8em;
        width: 70px;
    }

    #shinro_lp .feature .flex_box {
        display: block;
        margin: 3em auto;
    }

    #shinro_lp .feature .left_box {
        margin: 0 auto;
    }

    #shinro_lp .feature h3 {
        margin-top: -23%;
        padding-left: 70px;
    }

    #shinro_lp .feature figure {
        margin: 3em auto 0;
    }

    #shinro_lp .feature .feature02 .overview {
        text-align: left;
    }

    #shinro_lp .feature .feature03 figcaption {
        text-align: center;
    }

    #shinro_lp .container {
        width: 88%;
        margin: 0 auto;
    }

    #shinro_lp .main_visual {
        margin-bottom: 3em;
    }

    #shinro_lp .feature {
        margin: 4em auto 0;
        padding: 4em 0;
    }

    #shinro_lp .feature .feature02 {
        margin: 3em auto;
    }

    #shinro_lp .feature .feature03 .flex_box div {
        margin-right: 0;
    }

    #shinro_lp .feature .img_box img {
        width: 100%;
    }

    #shinro_lp .intro {
        margin: 2em auto;
    }

    #shinro_lp .intro figure img {
        width: 100%;
    }

    #shinro_lp .feature .case_img {
        padding-right: 0;
    }

    #shinro_lp .feature .case_img img {
        width: 50%;
        margin: 0 auto;
    }

    #shinro_lp .achievement {
        margin: 0 auto;
        padding: 4em 0;
    }

    #shinro_lp .qa {
        margin-bottom: 4em;
    }

    /*#shinro_lp .qa dt {
        font-size: 1.4em;
        padding: 0.5em;
    }*/
    #shinro_lp .qa dd {
        font-size: 1em;
        padding: 0.5em 0.5em 2em 0.5em;
    }

    #shinro_lp .line figure {
        width: 100%;
        margin: 0 auto;
    }

    #shinro_lp .access {
        padding: 2em auto;
    }

    #shinro_lp .access .flex_box {
        display: block;
    }

    #shinro_lp .access .flex_box div {
        width: 100%;
        margin-right: 0;
        margin-bottom: 2em;
    }

    #shinro_lp .btn.size_l {
        width: 300px;
        padding: 1em;
    }

    #shinro_lp .btn {
        font-size: 1.6rem;
    }

    #shinro_lp .type_line span {
        font-size: 1.6rem;
    }

    #study-co .block_description figure {
        text-align: center;
        margin: 1em auto;
    }

    #shinro_lp figcaption {
        margin-top: 0.5em;
    }
}

/* 学科ページ　コンテンツ改修*/
.test_dept_renew .curriculum_maxwi {
    max-width: 386px;
}

.test_dept_renew .point_wrap {
    margin-top: -60px;
}

.test_dept_renew .point_wrap .sec_head {
    font-weight: normal;
    font-size: 2.7rem;
}

.test_dept_renew .read_txt {
    text-align: center;
}

.test_dept_renew .read_txt span {
    font-weight: bold;
    font-size: 1.4rem;
}

.test_dept_renew .point_wrap .sp_only {
    display: none;
}

.test_dept_renew .anchor_list li a {
    display: grid;
    align-items: center;
    background: #E2350C;
    padding: 20px 5%;
    color: #ffffff;
    border-radius: 5px;
    height: 90px;
}

.test_dept_renew .past_now .entry_base p {
    text-align: center;
}

.test_dept_renew .past_now .flex_box p {
    text-align: left;
}

.test_dept_renew .past_now .flex_box .left_box,
.test_dept_renew .past_now .flex_box .right_box {
    width: calc(100% / 2);
    margin: 0 3em;
}

.test_dept_renew .past_now .flex_box .left_box .img_box,
.test_dept_renew .past_now .flex_box .right_box .img_box {
    width: 250px;
    margin: 0 auto;
    text-align: center;
}

.test_dept_renew .past_now .pn_tit {
    font-size: 2rem;
    display: block;
    margin: 0.5em auto;
    font-weight: bold;
}

.test_visual_image .anchor_list li a {
    background: #16AB54;
}

.test_llustration .anchor_list li a {
    background: #FD622B;
}

.test_comicillust .anchor_list li a {
    background: #7AC621;
}

.test_manga .anchor_list li a {
    background: #FAAA13;
}

.test_product .anchor_list li a {
    background: #00A5F4;
}

.test_interior .anchor_list li a {
    background: #376CB5;
}

.test_figure .anchor_list li a {
    background: #27D0CC;
}

.test_architecture .anchor_list li a {
    background: #7C56A7;
}

.test_fashion .anchor_list li a {
    background: #FA5CA6;
}

.test_designsogo .anchor_list li a {
    background: linear-gradient(-45deg, #EE1C23 0%, #602D91 100%);
}

.test_dept_renew .anchor_list li a span {
    display: block;
    text-align: center;
    font-size: 1.4rem;
    font-weight: bold;
}

.test_dept_renew .anchor_list li a span:after {
    display: block;
    text-align: center;
}

.test_dept_renew .anchor_list li a .arrow_bottom {
    border-bottom: solid 3px #ffffff;
    border-right: solid 3px #ffffff;
    width: 10px;
    height: 10px;
    transform: rotate(45deg);
    display: block;
    margin: 5px auto 0;
}

.test_dept_renew .point_list li img {
    width: 400px;
    display: block;
    margin: 0 auto;
}

.test_dept_renew .entry_base ul.basic li:before {
    border-left: 8px solid #E2350C;
}

.test_visual_image .entry_base ul.basic li:before {
    border-left: 8px solid #16AB54;
}

.test_llustration .entry_base ul.basic li:before {
    border-left: 8px solid #FD622B;
}

.test_comicillust .entry_base ul.basic li:before {
    border-left: 8px solid #7AC621;
}

.test_manga .entry_base ul.basic li:before {
    border-left: 8px solid #FAAA13;
}

.test_product .entry_base ul.basic li:before {
    border-left: 8px solid #00A5F4;
}

.test_interior .entry_base ul.basic li:before {
    border-left: 8px solid #376CB5;
}

.test_figure .entry_base ul.basic li:before {
    border-left: 8px solid #27D0CC;
}

.test_architecture .entry_base ul.basic li:before {
    border-left: 8px solid #7C56A7;
}

.test_fashion .entry_base ul.basic li:before {
    border-left: 8px solid #FA5CA6;
}

.test_dept_renew #opencampus .sp_only {
    display: none;
}

.gdesign_sns+.sns_icon {
    display: none;
}

.gdesign_sns h2 {
    text-align: center;
}

.future_box ul li {
    position: relative;
    font-size: 1.4rem;
    padding: 0 0 15px 20px;
    margin-bottom: 0;
}

.future_box ul li:before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 100%;
    background: #DD4C34;
    position: absolute;
    top: 10px;
    left: 0;
}

.dpt_graphic .future_box ul li::before {
    background: #E2350C;
}

.dpt_visual_image .future_box ul li::before {
    background: #16AB54;
}

.dpt_illustration .future_box ul li::before {
    background: #FD622B;
}

.dpt_comic_illust .future_box ul li::before {
    background: #7AC621;
}

.dpt_manga .future_box ul li::before {
    background: #FAAA13;
}

.dpt_product .future_box ul li::before {
    background: #00A5F4;
}

.dpt_interior .future_box ul li::before {
    background: #376CB5;
}

.dpt_figure .future_box ul li::before {
    background: #27D0CC;
}

.dpt_architectural .future_box ul li::before {
    background: #7C56A7;
}

.dpt_fashion .future_box ul li::before {
    background: #FA5CA6;
}

.test_dept_renew .anchor_list {
    margin-bottom: 5em;
}

.test_dept_renew .anchor_list li {
    position: relative;
    margin-bottom: 2em;
}

@media screen and (max-width:768px) {
    .test_dept_renew .curriculum_maxwi {
        max-width: 100%;
    }

    .test_dept_renew .point_wrap {
        margin-top: auto;
    }

    .test_dept_renew .point_wrap .pc_only {
        display: none;
    }

    .test_dept_renew .point_wrap .sp_only {
        display: block;
        margin-bottom: 2em;
    }

    .test_dept_renew .anchor_list {
        display: flex;
        justify-content: space-between;
        margin-bottom: unset;
    }

    .test_dept_renew .anchor_list li {
        width: 49%;
        margin-bottom: 1em;
    }

    .test_dept_renew .anchor_list li a {
        display: grid;
        height: 75px;
        padding: 10px 1%;
        align-items: center;
    }

    .test_dept_renew .anchor_list li a span {
        font-size: 1.1rem;
    }

    .test_dept_renew .anchor_list li .one_line {
        padding: 15px 5%;
    }

    .test_dept_renew .anchor_list li a .arrow_bottom {
        margin: 0 auto;
    }

    .test_dept_renew #opencampus .sp_only {
        display: block;
    }

    .test_dept_renew #opencampus .pc_only {
        display: none;
    }
}

/* 学科ページコンテンツ　ここまで */

/* 留学生入学ページ */
.ryuugakusei_nyugaku .wide_bn {
    margin-bottom: 1em;
}

.ryuugakusei_nyugaku .sp_only {
    display: none;
}

.ryuugakusei_nyugaku .anchor_list {
    margin: 1em auto 0;
}

.ryuugakusei_nyugaku .anchor_list li a {
    font-weight: bold;
    color: #222222;
    background: rgba(205, 48, 116, 0.06);
    border: 1px solid #CD3074;
    display: block;
    padding: 15px 5%;
    border-radius: 5px;
    text-align: center;
}

.ryuugakusei_nyugaku .anchor_list li a .arrow_bottom {
    border-bottom: solid 3px #333333;
    border-right: solid 3px #333333;
    width: 10px;
    height: 10px;
    transform: rotate(45deg);
    display: block;
    margin: 5px auto 0;
}

.ryuugakusei_nyugaku .entry_base .hl_accordion {
    font-size: 1.2em;
}

.ryuugakusei_nyugaku .kubun .accordion_box.type_qa dd .inner {
    padding-bottom: 10px;
    padding-left: 35px;
}

.ryuugakusei_nyugaku .kubun .accordion_box.type_qa dd .inner:before {
    display: none;
}

.ryuugakusei_nyugaku .kubun #ao_faq {
    margin-bottom: 1em;
}

.ryuugakusei_nyugaku .kubun .accordion_box {
    border: none;
    margin-bottom: 4em;
}

.ryuugakusei_nyugaku .kubun .accordion_box dt {
    padding: 18px 50px 18px 50px
}

.ryuugakusei_nyugaku .kubun .accordion_box.type_qa dt::after {
    left: 35px;
    display: none;
}

.ryuugakusei_nyugaku .kubun .accordion_box.type_qa dd {
    padding: 18px 50px 18px 20px;
}

@media screen and (max-width:768px) {
    .ryuugakusei_nyugaku .wide_bn a img {
        width: 100%;
    }

    .ryuugakusei_nyugaku .pc_only {
        display: none;
    }

    .ryuugakusei_nyugaku .sp_only {
        display: block;
    }

    .ryuugakusei_nyugaku .anchor_list {
        display: flex;
        justify-content: space-between;
        margin-bottom: 1em;
    }

    .ryuugakusei_nyugaku .anchor_list li {
        width: 49%;
    }

    .ryuugakusei_nyugaku .anchor_list li a {
        display: grid;
        height: 70px;
        padding: 10px 5%;
        align-items: center;
    }

    .ryuugakusei_nyugaku .kubun .accordion_box dt {
        padding: 18px 50px 18px 35px
    }

    .ryuugakusei_nyugaku .kubun .accordion_box.type_qa dt::after {
        left: 20px;
    }

    .ryuugakusei_nyugaku .kubun .accordion_box.type_qa dd {
        padding: 18px 10px 18px 5px;
    }

    .ryuugakusei_nyugaku .kubun .accordion_box.type_qa dd .inner {
        padding-left: 35px;
    }
}

.ryuugakusei_nyugaku .caution_txt {
    border: 1.5px solid #333333;
    width: 700px;
    margin: -60px auto 60px !important;
    text-align: center;
    padding: 0;
    font-size: 1.6rem;
}

.ryuugakusei_nyugaku .caution_txt .accent {
    font-size: 2.6rem;
    color: #DE0975;
    font-weight: bold;
}

.ryuugakusei_nyugaku .caution_txt .midashi {
    position: relative;
    font-weight: bold;
    display: block;
    background: #333333;
    color: #ffffff;
    padding: 5px 15px;
    margin-bottom: 10px;
}

@media only screen and (max-width: 768px) {
    .ryuugakusei_nyugaku .caution_txt {
        width: 100%;
        margin: 0 auto 35px !important;
        padding: 0;
    }

    .ryuugakusei_nyugaku .caution_margin {
        width: 90%;
    }
}

/*20230829追加*/
.text_img_set.type_tdg_message .img_area_vi1::before {
    position: absolute;
    display: block;
    content: url(/files/vi_guest_01.png);
    width: 17%;
    max-width: auto;
    max-width: initial;
    background-size: contain;
    bottom: 100px;
    left: -50px;
    z-index: 3;
}

.text_img_set.type_tdg_message .img_area_vi2::before {
    position: absolute;
    display: block;
    content: url(/files/vi_guest_02.png);
    width: 17%;
    max-width: auto;
    max-width: initial;
    background-size: contain;
    bottom: 100px;
    left: -50px;
    z-index: 3;
}

@media only screen and (max-width: 768px) {
    .text_img_set.type_tdg_message .text_area_new {
        width: 95%;
        margin: 40% 0 0.5em;
        padding: 5%;
    }

    .text_img_set.type_tdg_message .img_area_vi1::before {
        top: -120px;
        left: 180px;
        -webkit-transform: scale(0.6, 0.6);
        transform: scale(0.6, 0.6);
    }

    .text_img_set.type_tdg_message .img_area_vi2::before {
        top: -110px;
        left: 180px;
        -webkit-transform: scale(0.6, 0.6);
        transform: scale(0.6, 0.6);
    }
}

/* 20231018 インテリアデザイン学科バナー追加 */
.dpt_interior .midashi_bnr {
    display: block;
    width: 750px;
    margin: 0 auto;
    margin-top: -60px;
    margin-bottom: 100px;
}

@media only screen and (max-width: 768px) {
    .dpt_interior .midashi_bnr {
        width: 100%;
        margin-top: 0;
        margin-bottom: 40px;
    }
}

/* 20250509 映像学科バナー追加 */
.dpt_visual_image .midashi_bnr {
    display: block;
    width: 750px;
    margin: 0 auto;
    margin-top: -60px;
    margin-bottom: 100px;
}

@media only screen and (max-width: 768px) {
    .dpt_visual_image .midashi_bnr {
        width: 100%;
        margin-top: 0;
        margin-bottom: 40px;
    }
}

/* 20231019 フィギュア専攻ページ作成 */
.figure_future ul {
    padding: 40px 40px 25px;
}

/* 20231109 学科ページ　ビフォアフ */
.test_dept_renew .past_now .flex_box .left_box .img_box img,
.test_dept_renew .past_now .flex_box .right_box .img_box img {
    border-radius: 5px;
}

#job-list_btn {
    width: 100%;
    margin: 0 auto;
}

#job-list_btn ul {
    border: solid 2px #DE0975;
    padding: 0 0.5em;
    position: relative;
    margin-top: 1em;
}

#job-list_btn ul li {
    text-align: left;
    line-height: 1.5;
    padding: 1em 0 1em 2em;
    border-bottom: dashed 1px silver;
    list-style-type: none !important;
}

#job-list_btn ul li:before {
    font-family: "Font Awesome 5 Free";
    position: absolute;
    left: 1em;
    color: #DE0975;
    content: '\f138';
    font-weight: 900;
}

#job-list_btn ul li:last-of-type {
    border-bottom: none;
}

@media only screen and (max-width: 768px) {
    .test_dept_renew .past_now .flex_box {
        display: block;
    }

    .test_dept_renew .past_now .flex_box .left_box,
    .test_dept_renew .past_now .flex_box .right_box {
        width: 100%;
        margin: 0 auto;
    }

    .test_dept_renew .past_now .flex_box .left_box .img_box,
    .test_dept_renew .past_now .flex_box .right_box .img_box {
        width: 240px;
    }
}

/* 20231116 学科ページ専攻紹介調整 */
main>section:not(.block_wrap):not(.course_field):not(.oc_field):nth-of-type(2n) .entry_base .list_p,
.sec_bg_g .entry_base .list_p {
    background: none;
}

.test_dept_renew .anchor_list li:after {
    content: '';
    width: 10px;
    height: 10px;
    border: 0;
    border-bottom: solid 3px #ffffff;
    border-right: solid 3px #ffffff;
    position: absolute;
    bottom: 0.3em;
    left: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
    -ms-transform: translate(-50%, -50%) rotate(45deg);
}

/* 20231117 インテリアコーディネート専攻　ボタン追加 */
.image_area .coordination_btn {
    margin-top: 3em;
}

.coordination_btn {
    width: 300px;
    margin: 0 auto;
}

.license_wrap {
    margin-top: 5em;
}

.license_wrap .ttl {
    right: 27px;
    left: auto;
}

.image_area.gallery_img {
    background: none;
}

/* 231127 時間割例 */
.time_table .sec_wrap {
    margin-bottom: 0;
}

.time_table .sec_wrap .caution_txt {
    margin-bottom: 0;
    text-align: right;
    font-size: 1.2rem;
}

.time_table .entry_base .accordion_box {
    border: none;
    border-bottom: 1px dashed;
    margin-bottom: 0;
}

.time_table .entry_base .accordion_box:first-child {
    border-top: 1px dashed;
}

.time_table .entry_base .accordion_box dl:before,
.time_table .entry_base .accordion_box dl.open:before {
    content: none;
}

.time_table .entry_base .accordion_box dl::after {
    content: "▼";
    font-family: 'tdg';
    display: block;
    color: #222222;
    font-size: 1.2rem;
    line-height: 1;
    position: absolute;
    top: 23px;
    right: 20px;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

.time_table .entry_base .accordion_box dt {
    padding-left: 20px;
    font-weight: bold;
    font-size: 1.8rem;
}

.time_table .entry_base .accordion_box dl.open dt {
    color: #000000;
}

.time_table .entry_base .tit_term {
    margin-bottom: 10px;
}

.time_table .entry_base table tbody th {
    width: 8%;
    color: #ffffff;
    text-align: center;
    background: #696969;
}

.time_table .entry_base table tbody td {
    width: 18%;
}

.dpt_graphic .time_table .table-subject-ttl th {
    background: #E2350C;
    color: #000000;
    color: #ffffff;
}

.dpt_visual_image .time_table .table-subject-ttl th {
    background: #16AB54;
    color: #ffffff;
}

.dpt_illustration .time_table .table-subject-ttl th {
    background: #FD622B;
    color: #ffffff;
}

.dpt_comic_illust .time_table .table-subject-ttl th {
    background: #7AC621;
    color: #ffffff;
}

.dpt_manga .time_table .table-subject-ttl th {
    background: #FAAA13;
    color: #ffffff;
}

.dpt_product .time_table .table-subject-ttl th {
    background: #00A5F4;
    color: #ffffff;
}

.dpt_interior .time_table .table-subject-ttl th {
    background: #376CB5;
    color: #ffffff;
}

.dpt_figure .time_table .table-subject-ttl th {
    background: #27D0CC;
    color: #ffffff;
}

.dpt_architectural .time_table .table-subject-ttl th {
    background: #7C56A7;
    color: #ffffff;
}

.dpt_fashion .time_table .table-subject-ttl th {
    background: #FA5CA6;
    color: #ffffff;
}

.time_table .entry_base table tbody th,
.time_table .entry_base table tbody td {
    font-size: 1.3rem;
    padding: 13px;
}

@media only screen and (max-width: 768px) {
    .time_table .flex_box {
        display: block;
    }

    .time_table .table_scrl {
        overflow-x: scroll;
    }

    .time_table .table_scrl table {
        width: 100%;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
    }

    .time_table .entry_base table tbody th,
    .time_table .entry_base table tbody td {
        font-size: 1.2rem;
    }
}

/* akademeia21 */
.akademeia_wrapper {
    width: 1000px;
    margin: 0 auto;
}

.akademeia_midashi {
    text-align: center;
    margin-top: 4em;
    font-weight: bold;
    font-size: 2rem;
}

.akademeia_honbun {
    text-align: center;
    line-height: 2;
    margin-top: 4em;
}

.akademeia_h3 {
    margin: 4em auto 2em;
    color: #005139;
}

.akademeia_h3 span {
    font-size: 2.2rem;
    font-weight: bold;
    text-align: center;
    border-bottom: 5px solid #005139;
}

.akademeia_wrapper {
    width: 1000px;
    margin: 0 auto;
}

.akademeia_flex {
    justify-content: space-evenly;
    margin: 2em auto 3em;
    align-items: center;
}

.akademeia_flex .left_box {
    margin-right: 2em;
}

.akademeia_flex .left_box p {
    font-size: 1.4rem;
    margin-right: 4em;
}

.akademeia_flex .left_box .prof {
    text-align: center;
    font-size: 1.8rem;
    font-weight: bold;
}

.akademeia_flex .left_box .prof span {
    font-size: 2.4rem;
}

.akademeia_flex .left_box img {
    width: 250px;
}

.akademeia_flex .right_box img {
    width: 300px;
}

.akademeia_detail {
    width: 1000px;
    margin: 0 auto;
    font-size: 1.2rem;
}

.pg_ttl.short_height.curriculum21,
.pg_ttl.short_height.thoughts21 {
    background: #005139;
}

.pg_ttl.short_height.curriculum21 h1 span,
.pg_ttl.short_height.thoughts21 h1 span {
    background: no-repeat;
    color: #ffffff;
    border-left: none;
}

@media only screen and (max-width: 768px) {
    .akademeia_wrapper {
        width: 94%;
    }

    .akademeia_honbun {
        margin: 4em auto 0;
    }

    .akademeia_wrapper {
        width: 94%;
    }

    .akademeia_flex {
        display: block;
        margin: 0 auto 2em;
    }

    .akademeia_flex .left_box {
        margin-right: auto;
        margin-bottom: 2em;
    }

    .akademeia_flex .left_box img {
        width: 100%;
    }

    .akademeia_flex .left_box p {
        width: 100%;
        margin: 0 auto 2em;
    }

    .akademeia_flex .left_box .prof {
        margin: 2em auto 1em;
    }

    .akademeia_flex .right_box img {
        width: 100%;
    }

    .akademeia_detail {
        width: 100%;
    }
}

/* 1225 映像クリエイター　テストアップ用 */
.pg_ttl.test_visualimage_creater {
    background: url(/department/files/dpt_visualimage_creater_head.jpg) no-repeat center center;
    background-size: cover;
}

/* 20240528 留学生用AOプレスクール アコーディオン内部 */
.accordion_box .ryu_prebox {
    padding: 1em;
    margin-bottom: 1em;
}

/* 20240531 0623LP CSS */
.oc240623 .entry_base section {
    border-top: 5px solid #DE0975;
}

.oc240623 .entry_base p {
    font-size: 1.6rem;
}

.oc240623 .entry_base table th,
.oc240623 .entry_base table td {
    text-align: center;
}

.oc240623 .entry_base .sp_only {
    display: none;
}

.oc240623 .entry_base .pc_only {
    display: block;
}

@media only screen and (max-width: 768px) {
    .oc240623 .entry_base .pc_only {
        display: none;
    }

    .oc240623 .entry_base .sp_only {
        display: block;
    }
}

/* OCトップ バナーエリア 20240627 */
/*.oc_bnr-area .wide_bn .bn_list {
  display: block;
}
.oc_bnr-area .wide_bn .bn_list li {
    width: 100%;
}
.oc_bnr-area .wide_bn .bn_list li a {
    width: 48%;
    margin: 0 1%;
    display: inline-block;
}
@media only screen and (max-width: 768px) {
.oc_bnr-area .wide_bn .bn_list li a {
  width: 100%;
  margin-bottom: 1em;
}
}*/

/* OCトップ　adachi-event埋め込み変更 20240628 */
.oc-menu .searchBox {
    width: 1000px;
    margin: 0 auto 50px;
    padding: 20px 0;
    overflow: hidden;
}

.oc-menu .searchTtl.searchTtl01 {
    border-left: 8px solid #e4007e;
    color: #000000;
    padding: 8px 16px;
}

.oc-menu .flxbox {
    padding: 5px 0;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: left;
}

.oc-menu .flxbox .flx-col-3 {
    display: inline-block;
    width: 23.7%;
    margin-bottom: 1em;
    margin-right: 12px;
    filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, 0.3));
}

@media only screen and (max-width: 768px) {
    .oc-menu .searchBox {
        width: 100%;
    }

    .oc-menu .flxbox .flx-col-3 {
        width: 48%;
        margin-right: 2%;
    }
}

/*OCトップ　adachi-even検索機能t埋め込み変更 20250424 */
#adachieventform .searchBox .acdTtl {
    padding: 8px 16px;
    margin: 0;
    border-radius: 0px;
    background-color: #efefef;
    color: #000;
    text-align: left;
    position: relative;
    cursor: pointer;
}

#adachieventform .searchBox .acdTtl .plus {
    position: absolute;
    top: 0;
    right: 0;
    width: 60px;
    height: 100%;
    background: #DE0975;
    border: none;
    margin: 0;
}

#adachieventform .searchBox .acdTtl .plus:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(90deg);
    background: #fff;
    width: 20px;
    height: 4px;
    transition: all 0.3s ease;
}

#adachieventform .searchBox .acdTtl.open .plus:before {
    transform: translate(-50%, -50%) rotate(0);
}

#adachieventform .searchBox .acdTtl .plus:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #fff;
    width: 20px;
    height: 4px;
}


#adachieventform .searchBox .inner {
    display: none;
    padding: 10px 40px 40px;
}

@media screen and (max-width:767px) {
    #adachieventform .searchBox .inner {
        display: none;
        padding: 10px 10px 20px;
    }
}

.entry_base #adachieventform .searchBox .inner h4:not(.marker) {
    margin: 30px 0 5px;
}

@media screen and (max-width:767px) {
    .entry_base #adachieventform .searchBox .inner h4:not(.marker) {
        margin: 10px 0 5px;
    }
}

#adachieventform .searchBox .inner .chekOuter {
    margin-right: 20px;
}

#adachieventform .searchBox .inner .chekOuter input[type="checkbox"] {
    opacity: 0;
    width: 0;
}

#adachieventform .searchBox .inner .chekOuter input[type="checkbox"]+label {
    position: relative;
    display: inline-block;
    font-size: 16px;
    padding-left: 25px;
}

#adachieventform .searchBox .inner .chekOuter input[type="checkbox"]+label:before,
#adachieventform .searchBox .inner .chekOuter input[type="checkbox"]+label:after {
    content: "";
    position: absolute;
    transition: all 0.2s;
}

#adachieventform .searchBox .inner .chekOuter input[type="checkbox"]+label:before {
    top: 5px;
    left: 0;
    z-index: 0;
    width: 16px;
    height: 16px;
    box-sizing: border-box;
    border: 1px solid #000;
}

.ocSearch .otherList .checkStyle input[type="checkbox"]+label:before {
    top: 2px;
}

#adachieventform .searchBox .inner .chekOuter input[type="checkbox"]+label:after {
    top: 4px;
    left: 5px;
    opacity: 0;
    width: 6px;
    height: 14px;
    color: #fff;
    border-bottom: 3px solid #DE0975;
    border-right: 3px solid #DE0975;
    transform: rotate(-180deg);
}

.ocSearch .otherList .checkStyle input[type="checkbox"]+label:after {
    top: -1px;
}

#adachieventform .searchBox .inner .chekOuter input[type="checkbox"]:checked+label::after {
    transform: rotate(40deg);
    opacity: 1;
}

#adachieventform .searchBox .inner .chekOuter input[type="checkbox"]+label .txt {
    padding-left: 24px;
}

#adachieventform .searchBox .inner .search_keyword {
    border: 1px solid #000;
    border-radius: 0;
    font-size: 16px;
    height: 60px;
    padding: 0 15px;
    width: 100%;
    box-sizing: border-box;
    -webkit-appearance: none;
    cursor: pointer;
    vertical-align: middle;
}

#adachieventform .searchBox .inner .topSearchBtn {
    margin: 50px auto 0;
    max-width: 80%;
    width: 420px;
    position: relative;
    z-index: 0;
    height: 60px;
    background-image: linear-gradient(45deg, #DE0975 0%, #0378ce 100%);
    transition: all 0.3s ease-out;
    text-indent: unset;
    text-decoration: none;
    display: block;
}

#adachieventform .searchBox .inner .topSearchBtn:hover {
    opacity: 0.6;
}

#adachieventform .searchBox .inner .topSearchBtn>span {
    font-size: 20px;
    color: #fff;
}


/* 250902 願書ダウンロード追加 */

.btn_apply_dl {
    font-size: 1.4rem;
    margin-left: 10px;
    padding: 2px 5px;
    background: #fff;
    color: #DE0975;
    border: 2px solid;
}

.entry_base table .sp_only {
    display: none;
}

@media only screen and (max-width: 768px) {
    .btn_apply_dl {
        font-size: 1.2rem;
    }

    .entry_base table .sp_only {
        display: block;
    }
}


/* 20251007 学科ページ 就職実績アコーディオン */

.accordion-box {
    position: relative;
}

.accordion-box label {
    height: 140px;
    /* グラデーションの高さ */
    cursor: pointer;
    text-align: center;
    font-size: 12px;
    position: absolute;
    bottom: -30px;
    width: 100%;
    z-index: 5;

    /* 以下グラデーションは「背景が白」に併せて設定しています */
    background: -webkit-linear-gradient(top, rgba(247, 247, 247, 0) 0%, rgba(247, 247, 247, 0.95) 90%);
    background: -moz-linear-gradient(top, rgba(247, 247, 247, 0) 0%, rgba(247, 247, 247, 0.95) 90%);
    background: -o-linear-gradient(top, rgba(247, 247, 247, 0) 0%, rgba(247, 247, 247, 0.95) 90%);
    background: -ms-linear-gradient(top, rgba(247, 247, 247, 0) 0%, rgba(247, 247, 247, 0.95) 90%);
    background: linear-gradient(to bottom, rgba(247, 247, 247, 0) 0%, rgba(247, 247, 247, 0.95) 90%);
}


.accordion-box input:checked+label {
    background: inherit;
    /* 開いた時には背景グラデーションを消す */
}

.accordion-box label:after {
    content: "続きを読む";
    font-size: 1.6rem;
    letter-spacing: .05em;
    padding: 1rem;
    position: absolute;
    bottom: 20px;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    color: #fff;
    background-color: #000;
    width: 32rem;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
}

.accordion-box label:before {
    content: "↓";
    font-weight: 700;
    position: absolute;
    bottom: 30px;
    left: 50%;
    -webkit-transform: translate(-140px, 0);
    transform: translate(-140px, 0);
    background-color: #fff;
    z-index: 1;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
    width: 20px;
    height: 20px;
    line-height: 20px;
}

.accordion-box input {
    display: none;
}

.accordion-box .accordion-container {
    overflow: hidden;
    height: 200px;
    /* 開く前に見えている部分の高さ */
    -webkit-transition: all 0.1s;
    -moz-transition: all 0.1s;
    -ms-transition: all 0.1s;
    -o-transition: all 0.1s;
    transition: all 0.1s;
}


.accordion-box input:checked+label {
    /* display: none ; 閉じるボタンは要らないとき */
}

.accordion-box input:checked+label:after {
    content: "閉じる";
}

.accordion-box input:checked+label:before {
    content: "↑";
}

.accordion-box input:checked~.accordion-container {
    height: auto;
    padding-bottom: 80px;
    /* 閉じるボタンのbottomからの位置 */
    -webkit-transition: all 0.1s;
    -moz-transition: all 0.1s;
    -ms-transition: all 0.1s;
    -o-transition: all 0.1s;
    transition: all 0.1s;
}