@charset "utf-8";
/* Copyright 2021 FSFIELD All Rights Reserved. */

@keyframes line_scrolldown {
    0% {
        transform: scaleY(0);
        transform-origin: top;
    }

    49% {
        transform: scaleY(1);
        transform-origin: top;
    }

    50% {
        transform: scaleY(1);
        transform-origin: bottom;
    }

    100% {
        transform: scaleY(0);
        transform-origin: bottom;
    }
}


@media print,
screen and (min-width:768px) {
    /* 表示領域が768px以上の場合に適用するスタイル */
    /*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

	PC

	_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

    /* ------------------------------------------------------------

	トップページ

	------------------------------------------------------------ */

    /* メインビジュアル
	---------------------------------------------- */
    .wrap_main {
        position: relative;
    }

    .wrap_main::before {
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        background: #F8FAFA;
        position: absolute;
        top: 0;
        right: 0;
    }

    .wrap_main::after {
        content: "";
        display: block;
        width: 1300px;
        height: 100%;
        background: url("../img/pc/bg_main01.png") no-repeat top right;
        background-size: cover;
        position: absolute;
        top: 0;
        right: 0;
    }

    .wrap_main .main {
        height: 100vh;
        min-height: 650px;
        display: inline-flex;
        flex-direction: column;
        justify-content: center;
        align-items: baseline;
        position: relative;
        z-index: 1;
        padding-left: 80px;
    }

    .txt_main01 {
        margin-bottom: 4.685vw;
    }

    .txt_main01 p:nth-child(1) {
        color: #603fa3;
        font-family: 'Roboto';
        font-weight: bold;
        font-size: 8.333vw;
        line-height: 0.9;
        margin-bottom: 6px;
    }

    .txt_main01 p:nth-child(2) {
        color: #333333;
        font-weight: bold;
        line-height: 1.2;
        font-size: 2.395vw;
        filter: drop-shadow(1px 1px 3px #FFF);
    }

    .txt_main02 {
        text-shadow: 0 0 5px rgb(255 255 255 / 80%);
        color: #603fa3;
        font-size: 2.8rem;
        font-weight: bold;
        line-height: 1.2;
        margin-bottom: 14px;
    }

    .main_inner01 {
        display: flex;
        margin-bottom: 8px;
    }

    .main_inner01 .num {
        text-align: center;
        background: #483b93;
        color: #FFF;
        font-weight: bold;
        width: 32px;
        font-size: 18px;
        padding: 0 8px;
        display: flex;
        justify-content: center;
        align-items: center;
        line-height: 1.1;
    }

    .main_inner01 .date {
        font-family: 'Oswald';
        font-size: 8rem;
        padding: 6px 30px 6px 10px;
        background: #FFF;
        color: #603fa3;
        line-height: 1;
        height: 100%;
    }

    .main_inner01 .date span {
        font-family: 'Oswald';
        font-size: 3rem;
    }

    .txt_main03 {
        font-size: 1.6rem;
        line-height: 1.4;
        /*
        text-decoration: line-through;
        text-decoration-color: #FF4D4D;
*/
        color: #333333;
        background: rgba(255, 255, 255, .8);
        padding: 8px 17px;
    }

    .txt_main03 p {
        display: flex;
        gap: 10px;
    }

    .txt_main03 p:nth-child(1) span,
    .txt_main03 p:nth-child(2) span {
        font-weight: bold;
    }

    .txt_main03 p span:nth-of-type(2) {
        display: flex;
        flex-direction: column;
    }

    .txt_main03 p:nth-child(3) {
        font-size: 1.5rem;
    }

    .txt_main04 {
        color: #FFF;
        font-weight: bold;
        font-size: 1.5rem;
        padding-right: 15px;
    }

    .txt_main04 p:not(:last-child) {
        margin-bottom: 15px;
    }

    .txt_main04 p a {
        color: #FFF;
        word-break: break-word;
    }

    /*--タブレット用--*/
    .tab .wrap_main .main {
        height: 50vh;
    }

    /*--案内複数表示用--*/
    .main_layoutType01 {
        display: flex;
        gap: 30px;
    }

    .main_layoutType01_inner {
        width: 520px;
    }

    /* 進学相談会の事前参加登録はこちら
	---------------------------------------------- */
    .sec_registration {
        padding-top: 80px;
        width: 1140px;
        margin: 0 auto;
    }

    /* 説明動画
	---------------------------------------------- */
    .sec_movie {
        padding: 80px 0;
        width: 1140px;
        margin: 0 auto;
    }

    .sec_movie .heading01 {
        margin-bottom: 50px;
    }

    .wrap_movie {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .wrap_movie .movie {
        width: 560px;
        margin-bottom: 40px;
    }

    .wrap_movie .movie a {
        display: block;
        position: relative;
        margin-bottom: 10px;
    }

    .wrap_movie .movie a img {
        width: 100%;
    }

    .wrap_movie .movie a::before,
    .wrap_movie .movie a::after {
        content: "";
        display: block;
        background: url(../img/img_arrow_movie01.png) no-repeat center;
        background-size: 80px !important;
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        transition: .3s;
    }

    .wrap_movie .movie a::before {
        background: url(../img/img_arrow_movie01.png) no-repeat center;
    }

    .wrap_movie .movie a::after {
        opacity: 0;
        background: url(../img/img_arrow_movie02.png) no-repeat center;
    }

    .wrap_movie .movie a:hover::before {
        opacity: 0;
    }

    .wrap_movie .movie a:hover::after {
        opacity: 1;
    }

    .wrap_movie .movie.tba a {
        pointer-events: none;
    }

    .wrap_movie .movie.tba a::before {
        background: none;
    }

    .wrap_movie .movie p {
        font-weight: bold;
        line-height: 1.2;
    }

    /* 研究室見学会　参加研究室一覧
	---------------------------------------------- */
    .labo_container {
        position: relative;
        padding-top: 600px;
        padding-bottom: 120px;
    }

    .labo_container::before {
        content: "";
        background: url("../img/pc/bg_labo01.jpg")no-repeat center;
        background-size: cover;
        width: 100%;
        height: 600px;
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
    }

    .labo_container .sec_labo {
        background: #FFF;
        padding-top: 60px;
        width: 83.334%;
        min-width: 1140px;
        margin: -160px auto 0;
    }

    .sec_labo .heading01 {
        margin-bottom: 50px;
    }

    .txt_labo01 {
        width: 840px;
        background: #f9f7ff;
        border-radius: 4px;
        border: 1px solid #dee1e6;
        padding: 30px 0;
        margin: 0 auto 60px;
    }

    .txt_labo01 .item {
        display: flex;
        line-height: 1.4;
        margin-bottom: 20px;
    }

    .txt_labo01 .item:last-child {
        margin-bottom: 0;
    }

    .txt_labo01 .item p:nth-child(1) {
        position: relative;
        color: #483b93;
        font-weight: bold;
        width: 130px;
        text-align: center;
    }

    .txt_labo01 .item p:nth-child(1)::after {
        content: "";
        background: #f3eeff;
        width: 1px;
        height: 20px;
        position: absolute;
        top: 0;
        right: 0;
    }

    .txt_labo01 .item p:nth-child(2) {
        width: calc(100% - 130px);
        padding-left: 20px;
    }

    .txt_labo01 .item p:nth-child(2) span {
        display: block;
    }

    .txt_labo01 .item p:nth-child(2) .sub {
        display: block;
        color: #483b93;
        padding-top: 5px;
    }

    .txt_labo01 .item p:nth-child(2) .note {
        display: block;
        color: #FF4D4D;
        padding-top: 5px;
    }

    .nav_lobo {
        width: 1140px;
        margin: 70px auto 55px;
    }

    .nav_lobo ul {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
    }

    .nav_lobo li {
        margin-bottom: 25px;
    }

    .nav_lobo li a {
        position: relative;
        display: block;
        color: #000;
        font-weight: bold;
        line-height: 22px;
        padding: 0 30px 0 10px;
        border-left: 1px solid #DEE2E6;
        transition: .3s;
    }

    .nav_lobo li a:hover {
        opacity: 0.7;
    }

    .nav_lobo li a::before {
        content: "";
        background: url("../img/ico_arrow02.png") no-repeat 0 0;
        background-size: contain;
        width: 12px;
        height: 7px;
        position: absolute;
        top: 50%;
        right: 10px;
        margin-top: -3.5px;
    }

    .nav_lobo li a span {
        color: #7F7F7F;
    }

    .nav_lobo li:last-child a {
        border-right: 1px solid #DEE2E6;
    }

    .wrap_labo01 {
        width: 1140px;
        margin: 0 auto 30px;
    }

    .wrap_labo01:last-of-type {
        margin-bottom: 70px;
    }

    .wrap_labo01 .heading02 {
        margin-bottom: 30px;
    }

    .wrap_labo01 .labo {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .labo .item {
        width: 560px;
        margin-bottom: 30px;
    }

    .labo .item h4 {
        color: #FFF;
        background: #483b93;
        font-size: 2rem;
        font-weight: bold;
        line-height: 1.2;
        padding: 20px;
        text-align: center;
        border-radius: 4px 4px 0 0;
    }

    .labo .item .inner_labo {
        padding: 20px 26px;
        display: flex;
        justify-content: space-between;
        border-left: 1px solid #DEE2E6;
        border-right: 1px solid #DEE2E6;
        border-bottom: 1px solid #DEE2E6;
        border-radius: 0 0 4px 4px;
    }

    .inner_labo .col_left {
        width: 283px;
    }

    .inner_labo .col_left .note01 {
        padding-top: 5px;
        color: #777777;
        line-height: 1.3;
    }

    .inner_labo .btn_type02:nth-child(1) {
        margin-bottom: 15px;
    }

    .inner_labo .btn_type02:nth-child(2) {
        margin-bottom: 26px;
    }

    .inner_labo .col_right a {
        display: block;
        width: 200px;
        transition: .3s;
    }

    .inner_labo .col_right.tba a {
        pointer-events: none;
    }

    .inner_labo .col_right a:hover {
        opacity: 0.7;
    }

    .inner_labo .col_right a img {
        width: 100%;
    }

    /*--テーブル--*/
    .tbl_labo01 {
        table-layout: fixed;
        border-top: 2px solid #483b93;
        border-bottom: 1px solid #f3eeff;
        line-height: 1.2;
        width: 100%;
    }

    .tbl_labo01 th {
        background: #e5d3ff;
        padding: 8px 0;
        text-align: center;
        border-left: 1px solid #f3eeff;
        border-right: 1px solid #f3eeff;
    }

    .tbl_labo01 tr:nth-child(2) td,
    .tbl_labo01 tr:nth-child(4) td {
        background: #f3eeff;
        padding: 8px 0;
    }

    .tbl_labo01 td {
        text-align: center;
        border-left: 1px solid #f3eeff;
    }

    .tbl_labo01 td:nth-child(2) {
        border-right: 1px solid #f3eeff;
    }

    .tbl_labo01 tr:nth-child(3) td,
    .tbl_labo01 tr:nth-child(5) td {
        padding: 5px 0;
        height: 32.5px;
        /*--内容が埋まり次第削除--*/
    }

    .tbl_labo01 tr:nth-child(3) td:nth-child(1) img,
    .tbl_labo01 tr:nth-child(5) td:nth-child(1) img {
        width: 22px;
    }

    .tbl_labo01 tr:nth-child(3) td:nth-child(2) img,
    .tbl_labo01 tr:nth-child(5) td:nth-child(2) img {
        width: 21px;
    }

    /*--大学案内地図--*/
    .map_labo01 {
        width: 1140px;
        margin: 0 auto 80px;
    }

    .map_labo01 img {
        width: 100%;
    }

    /*--参加登録はこちら--*/
    .sec_labo .btn_type01 {
        width: 1140px;
        margin: 0 auto;
    }


    .txt_note01 {
        width: 1140px;
        margin: 15px auto 0;
        text-indent: -1em;
        padding-left: 1em;
        font-size: 1.5rem;
    }

}

/*--@media--*/


@media screen and (min-width:768px) and (max-width:1217px) {
    /* 表示領域が768px以上1217px以下の場合に適用するスタイル */

    /* メインビジュアル
	---------------------------------------------- */
    .txt_main01 {
        margin-bottom: 57.016px;
    }

    .txt_main01 p:nth-child(1) {
        font-size: 101.329px;
    }

    .txt_main01 p:nth-child(2) {
        font-size: 29.1472px;
    }
}


@media only screen and (max-width:767px) {
    /* 表示領域が767px以下の場合に適用するスタイル */
    /*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

	スマートフォン（iPhone,Android)

	_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

    /* ------------------------------------------------------------

	トップページ

	------------------------------------------------------------ */

    /* メインビジュアル
	---------------------------------------------- */
    .wrap_main {
        padding: 15px;
        background: url("../img/sp/bg_main01.png") no-repeat top center;
        background-size: cover;
    }

    .wrap_main .main {
        position: relative;
    }

    .txt_main01 {
        margin-bottom: 20px;
    }

    .txt_main01 p:nth-child(1) {
        color: #483b93;
        font-family: 'Roboto';
        font-weight: bold;
        font-size: 22.266vw;
        line-height: 0.9;
        margin-bottom: 6px;
    }

    .txt_main01 p:nth-child(2) {
        color: #333333;
        font-size: 5.866vw;
        font-weight: bold;
        line-height: 1.2;
        filter: drop-shadow(1px 2px 3px #FFF);
    }

    .txt_main02 {
        text-shadow: 0 0 5px rgb(255 255 255 / 80%);
        color: #603fa3;
        font-weight: bold;
        line-height: 1;
        margin-bottom: 8px;
        font-size: 2rem;
    }

    .main_inner01 {
        display: flex;
        margin-bottom: 12px;
    }

    .main_inner01 .num {
        text-align: center;
        background: #483b93;
        color: #FFF;
        font-weight: bold;
        width: 19px;
        font-size: 1.2rem;
        height: 58px;
        padding: 0 4px;
        display: flex;
        justify-content: center;
        align-items: center;
        line-height: 1.1;
    }

    .main_inner01 .date {
        font-family: 'Oswald';
        font-size: 4.7rem;
        height: 58px;
        padding: 5px 15px 0 8px;
        background: #FFF;
        color: #603fa3;
        line-height: 1
    }

    .main_inner01 .date span {
        font-family: 'Oswald';
        font-size: 1.8rem;
    }


    .txt_main03 {
        font-size: 1.2rem;
        line-height: 1.4;
        /*
        text-decoration: line-through;
        text-decoration-color: #FF4D4D;
*/
        color: #333333;
        background: rgba(255, 255, 255, .8);
        padding: 4px;
    }

    .txt_main03 p {
        display: flex;
        gap: 6px;
    }

    .txt_main03 p:nth-child(1) span,
    .txt_main03 p:nth-child(2) span {
        font-weight: bold;
    }

    .txt_main03 p span:nth-of-type(2) {
        display: flex;
        flex-direction: column;
    }

    .txt_main03 p:nth-child(3) {
        padding-left: 1em;
        text-indent: -1em;
    }

    .txt_main04 {
        color: #FFF;
        font-weight: bold;
        font-size: 1.3rem;
    }

    .txt_main04 p:not(:last-child) {
        margin-bottom: 12px;
    }

    .txt_main04 p a {
        color: #FFF;
        word-break: break-word;
    }

    /*--案内複数表示用--*/
    .main_layoutType01_inner:not(:last-child) {
        margin-bottom: 20px;
    }

    /* 進学相談会の事前参加登録はこちら
	---------------------------------------------- */
    .sec_registration {
        padding: 40px 25px 0;
    }

    .sec_registration .btn_type01 a{
        font-size: 1.5rem;
    }

    /* 説明動画
	---------------------------------------------- */
    .sec_movie {
        padding: 40px 25px 60px;
    }

    .sec_movie .heading01 {
        margin-bottom: 20px;
    }

    .wrap_movie .movie {
        margin-bottom: 20px;
    }

    .wrap_movie .movie:last-child {
        margin-bottom: 0;
    }

    .wrap_movie .movie a {
        display: block;
        position: relative;
        margin-bottom: 10px;
    }

    .wrap_movie .movie a img {
        width: 100%;
    }

    .wrap_movie .movie a::after {
        content: "";
        display: block;
        background: url(../img/img_arrow_movie01.png) no-repeat center;
        background-size: 60px !important;
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
    }

    .wrap_movie .movie p {
        font-weight: bold;
        line-height: 1.2;
    }

    .wrap_movie .movie.tba a {
        pointer-events: none;
    }

    .wrap_movie .movie.tba a::after {
        background: none;
    }

    /* 研究室見学会　参加研究室一覧
	---------------------------------------------- */
    .labo_container {
        position: relative;
        padding: 216.5px 15px 70px;
    }

    .labo_container::before {
        content: "";
        background: url("../img/sp/bg_labo01.jpg")no-repeat center;
        background-size: cover;
        width: 100%;
        height: 216.5px;
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
    }

    .labo_container .sec_labo {
        background: #FFF;
        padding: 30px 10px 0;
        margin: -60px auto 0;
    }

    .sec_labo .heading01 {
        margin-bottom: 30px;
    }

    .txt_labo01 {
        background: #f9f7ff;
        border-radius: 4px;
        border: 1px solid #dee1e6;
        padding: 15px 0;
        margin-bottom: 30px;
    }

    .txt_labo01 .item {
        display: flex;
        line-height: 1.4;
        margin-bottom: 15px;
        font-size: 1.3rem;
    }

    .txt_labo01 .item:last-child {
        margin-bottom: 0;
    }

    .txt_labo01 .item p:nth-child(1) {
        position: relative;
        color: #483b93;
        font-weight: bold;
        width: 82px;
        text-align: center;
    }

    .txt_labo01 .item p:nth-child(1)::after {
        content: "";
        background: #f3eeff;
        width: 1px;
        height: 13px;
        position: absolute;
        top: 0;
        right: 0;
    }

    .txt_labo01 .item p:nth-child(2) {
        width: calc(100% - 97px);
        padding-left: 10px;
    }

    .txt_labo01 .item p:nth-child(2) span {
        display: block;
    }

    .txt_labo01 .item p:nth-child(2) .sub {
        display: block;
        color: #483b93;
        padding: 4px 0 0 1em;
        text-indent: -1em;
    }

    .txt_labo01 .item p:nth-child(2) .note {
        display: block;
        color: #FF4D4D;
        padding: 4px 0 0 1em;
        text-indent: -1em;
    }

    .nav_lobo {
        margin: 40px 0 15px;
    }

    .nav_lobo ul {
        display: flex;
        flex-wrap: wrap;
    }

    .nav_lobo li {
        margin-bottom: 25px;
    }

    .nav_lobo li a {
        position: relative;
        display: block;
        color: #000;
        font-weight: bold;
        line-height: 15px;
        padding: 0 25px 0 10px;
        border-left: 1px solid #DEE2E6;
    }

    .nav_lobo li a::before {
        content: "";
        background: url("../img/ico_arrow02.png") no-repeat 0 0;
        background-size: contain;
        width: 10px;
        height: 6px;
        position: absolute;
        top: 50%;
        right: 10px;
        margin-top: -3px;
    }

    .nav_lobo li a span {
        color: #7F7F7F;
    }

    .wrap_labo01 {
        margin-bottom: 40px;
    }

    .wrap_labo01:last-of-type {
        margin-bottom: 50px;
    }

    .wrap_labo01 .heading02 {
        margin-bottom: 20px;
    }

    .labo .item {
        margin-bottom: 20px;
    }

    .labo .item:last-child {
        margin-bottom: 0;
    }

    .labo .item h4 {
        color: #FFF;
        background: #483b93;
        font-size: 1.6rem;
        font-weight: bold;
        line-height: 1.2;
        padding: 8px 0;
        text-align: center;
        border-radius: 3px 3px 0 0;
    }

    .labo .item .inner_labo {
        padding: 10px;
        display: flex;
        justify-content: space-between;
        border-left: 1px solid #DEE2E6;
        border-right: 1px solid #DEE2E6;
        border-bottom: 1px solid #DEE2E6;
        border-radius: 0 0 3px 3px;
    }

    .inner_labo .col_left {
        width: 57.4%;
    }

    .inner_labo .col_left .note01 {
        padding-top: 5px;
        color: #777777;
        font-size: 1.3rem;
        line-height: 1.3;
    }

    .inner_labo .btn_type02 {
        margin-bottom: 10px;
    }

    .inner_labo .col_right {
        width: 38.94%;
    }

    .inner_labo .col_right a {
        display: block;
    }

    .inner_labo .col_right.tba a {
        pointer-events: none;
    }

    .inner_labo .col_right a img {
        width: 100%;
    }

    /*--テーブル--*/
    .tbl_labo01 {
        table-layout: fixed;
        position: relative;
        border-bottom: 1px solid #f3eeff;
        line-height: 1.2;
        font-size: 1.3rem;
        width: 100%;
    }

    .tbl_labo01::before {
        content: "";
        background: #483b93;
        width: calc(100% + 2px);
        height: 1px;
        position: absolute;
        top: 0;
        left: -0.5px;
    }

    .tbl_labo01 th {
        background: #e5d3ff;
        padding: 6px 0;
        text-align: center;
        border-left: 1px solid #f3eeff;
        border-right: 1px solid #f3eeff;
    }

    .tbl_labo01 tr:nth-child(2) td,
    .tbl_labo01 tr:nth-child(4) td {
        background: #f3eeff;
        padding: 6px 0;
    }

    .tbl_labo01 td {
        text-align: center;
        border-left: 1px solid #f3eeff;
    }

    .tbl_labo01 td:nth-child(2) {
        border-right: 1px solid #f3eeff;
    }

    .tbl_labo01 tr:nth-child(3) td,
    .tbl_labo01 tr:nth-child(5) td {
        padding: 5px 0;
        height: 26.5px;
        /*--内容が埋まり次第削除--*/
    }

    .tbl_labo01 tr:nth-child(3) td img,
    .tbl_labo01 tr:nth-child(5) td img {
        width: 16px;
    }

    /*--大学案内地図--*/
    .map_labo01 {
        margin-bottom: 50px;
    }

    .map_labo01 img {
        width: 100%;
    }


    .txt_note01 {
        width: 1140px;
        margin: 15px auto 0;
        text-indent: -1em;
        padding-left: 1em;
        font-size: 1.5rem;
    }
}

/*--@media--*/


@media only screen and (max-width:374px) {
    /* 表示領域が374px以下の場合に適用するスタイル */

    /* 研究室見学会　参加研究室一覧
	---------------------------------------------- */
    /*--テーブル--*/
    .tbl_labo01 {
        width: 44vw;
    }

    .tbl_labo01 .bold {
        display: block;
    }


}

/*--@media--*/