/* ========================================
共通スタイル（Common Styles）
======================================== */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300..800&display=swap');

/* リセットCSS */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* ベーススタイル */
html {
    font-size: 16px;
    scroll-behavior: smooth;
}

body {
    font-family: "Noto Sans", sans-serif;
    line-height: 1.8;
    background-color: #fff;
    letter-spacing: 0.1em;
}

.logo {
    font-size: 1.5rem;
    font-weight: bold;
    color: #333;
    text-decoration: none;
}

nav ul {
    display: flex;
    list-style: none;
    gap: 2rem;
}

nav a {
    color: #333;
    text-decoration: none;
    transition: color 0.3s;
}

nav a:hover {
    color: #007bff;
}

a[href]:hover {
    opacity: 0.6;
    transition: opacity 0.3s;
}

img {
    width: 100%;
    height: auto;
}

.pc-only {
    display: block;
}

.sp-only {
    display: none;
}

.space {
    margin: min(10px, 0.58823529vw);
}

@media (max-width: 750px) {
    .pc-only {
        display: none;
    }

    .sp-only {
        display: block;
    }

    .space {
        margin: min(5px, 0.933vw);
    }
}

/* フッター */
footer {
    color: #000000;
    padding: 35px 0;
}

.footer-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
    text-align: center;
    font-size: 12px;
}

.footer-container p {
    margin: 0.5rem 0;
}

/* メインコンテンツ */
.container {
    max-width: 1700px;
    margin: 0 auto;
}

/* ユーティリティクラス */
.text-center {
    text-align: center;
}

.mt-1 { margin-top: 1rem; }
.mt-2 { margin-top: 2rem; }
.mt-3 { margin-top: 3rem; }
.mb-1 { margin-bottom: 1rem; }
.mb-2 { margin-bottom: 2rem; }
.mb-3 { margin-bottom: 3rem; }

/* 画面右端固定ナビゲーション */
.navigation {
    position: fixed;
    right: 0;
    top: min(400px, 23.52941176vw);
    transform: translateY(-50%);
    z-index: 9999;
    border-radius: min(8px, 0.47058824vw) 0 0 min(8px, 0.47058824vw);
}

.navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    align-items: flex-start;
}

.navigation li {
    margin: 0;
    padding: 0;
}

.navigation a {
    display: block;
    padding: min(80px, 4.70588235vw) min(18px, 1.05882353vw) min(30px, 1.76470588vw);
    background-color: #ffffff;
    border: 2px solid #000000;
    color: #000000;
    text-decoration: none;
    text-align: center;
    font-weight: bold;
    border-radius: min(10px, 0.58823529vw) 0 0 min(10px, 0.58823529vw);
    transition: opacity 0.3s;
    line-height: 1.6;
    letter-spacing: 0.1em;
    font-size: min(22px, 1.29411765vw);
    position: relative;
    width: min(75px, 4.41176471vw);
}

.navigation li:first-child a {
    box-shadow: max(-2px, -0.11764706vw) min(5px, 0.29411765vw) 1px #1f48957e;
    writing-mode: vertical-rl;
    text-orientation: upright;
}

.navigation li:last-child a {
    box-shadow: max(-2px, -0.11764706vw) min(5px, 0.29411765vw) 1px #c0183139;
    line-height: 1;
    padding: min(30px, 1.76470588vw) min(18px, 1.05882353vw) min(240px, 14.11764706vw);
}

.navigation li:last-child a img {
    width: min(35px, 2.05882353vw);
    height: min(35px, 2.05882353vw);
}

.navigation li:first-child a::before {
    content: "";
    background-image: url('../images/common/icon/material-icon.svg');
    background-size: cover;
    background-repeat: no-repeat;
    width: min(35px, 2.05882353vw);
    height: min(35px, 2.05882353vw);
    position: absolute;
    top: min(30px, 1.76470588vw);
    left: 50%;
    transform: translateX(-50%);
}

.navigation li:last-child a::before {
    position: absolute;
    content: "オープン";
    /* 縦読みにして */
    writing-mode: vertical-rl;
    text-orientation: upright;
    width: min(22px, 1.29411765vw);
    height: min(120px, 7.05882353vw);
    top: min(72px, 4.23529412vw);
    right: min(10px, 0.58823529vw);
}

.navigation li:last-child a::after {
    position: absolute;
    content: "キャンパス";
    writing-mode: vertical-rl;
    text-orientation: upright;
    width: min(22px, 1.29411765vw);
    height: min(160px, 9.41176471vw);
    top: min(122px, 7.17647059vw);
    left: min(13px, 0.76470588vw);
}

.navigation-br {
    display: inline;
    margin: 0 min(10px, 0.58823529vw);
}


.navigation a:hover {
    opacity: 0.8;
}

.navigation a br {
    display: block;
}

/* レスポンシブ */
@media (max-width:750px) {
    html {
        font-size: 14px;
    }
}

/* hero */
.hero .container {
    position: relative;
}

.hero .logo_link {
    width: min(300px,17.64705882vw);
    height: min(65px,3.93137255vw);
    position: absolute;
    top: 0;
    left: 8%;
}
/* keyword-section */
#keyword-section {
    padding: min(60px, 3.52941176vw) 0 0;
}

.keyword-section-top-text {
    text-align: center;
    font-size: min(25px, 1.47058824vw);
    padding-bottom: min(68px, 4vw);
}

#keyword-section .button-container {
    width: min(1300px, 76.47058824vw);
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#keyword-section .button-container .button {
    width: min(400px, 23.52941176vw);
    height: min(170px, 10vw);
    font-size: 25px;
    font-weight: bold;
    border-radius: min(27.41px, 1.61235294vw);
    text-decoration: none;
    text-align: center;
    font-size: min(45px, 2.64705882vw);
    padding: min(25px, 1.47058824vw) 0 0;
    line-height: 1;
}

#keyword-section .button-container .button:nth-child(1) {
    border: min(4px, 0.23529412vw) solid #3D8B84;
    color: #3D8B84;
}

#keyword-section .button-container .button:nth-child(2) {
    border: min(4px, 0.23529412vw) solid #548B3D;
    color: #548B3D;
}

#keyword-section .button-container .button:nth-child(3) {
    border: min(4px, 0.23529412vw) solid #E6B004;
    color: #E6B004;
}

#keyword-section .button-container .keyword-button-sub {
    font-size: min(29px, 1.70588235vw);
    text-align: center;
    position: relative;
}

#keyword-section .button-container .keyword-button-sub::before {
    content: "";
    position: absolute;
    bottom: -45%;
    left: 51%;
    width: min(3px, 0.17647059vw);
    height: min(18px, 1.05882353vw);
    transform: translateX(-50%) rotate(-45deg);
    transform-origin: bottom center;
}

#keyword-section .button-container .keyword-button-sub::after {
    content: "";
    position: absolute;
    bottom: -45%;
    left: 50%;
    width: min(3px, 0.17647059vw);
    height: min(18px, 1.05882353vw);
    transform: translateX(-50%) rotate(45deg);
    transform-origin: bottom center;
}

#keyword-section .button-container .button:nth-child(1) .keyword-button-sub::before {
    background-color: #3D8B84;
}

#keyword-section .button-container .button:nth-child(1) .keyword-button-sub::after {
    background-color: #3D8B84;
}

#keyword-section .button-container .button:nth-child(2) .keyword-button-sub::before {
    background-color: #548B3D;
}

#keyword-section .button-container .button:nth-child(2) .keyword-button-sub::after {
    background-color: #548B3D;
}

#keyword-section .button-container .button:nth-child(3) .keyword-button-sub::before {
    background-color: #E6B004;
}

#keyword-section .button-container .button:nth-child(3) .keyword-button-sub::after {
    background-color: #E6B004;
}

/* keyword-button-container */
.keyword-button-container {
    position: relative;
    margin-bottom: min(45px, 2.64705882vw);
}

.keyword-button-container::before {
    position: absolute;
    content: "";
    background-image: url('../images/common/pc/keyword-bg-1.png');
    background-size: cover;
    background-repeat: no-repeat;
    width: min(528px, 31.05882353vw);
    height: min(528px, 31.05882353vw);
    top: min(-10px, -0.58823529vw);
    left: 50%;
    transform: translateX(-50%);
}

.keyword-button-container-inner {
    max-width: 1330px;
    width: 78.23529412vw;
    height: min(745px, 43.82352941vw);
    margin: min(133px, 7.88235294vw) auto 0;
    background-image: url('../images/common/pc/keyword-button-container-inner_bg.png');
    background-size: 100% 100%;
    background-repeat: no-repeat;
    position: relative;
    padding: min(80px, 4.70588235vw) min(83px, 4.88235294vw) min(55px, 3.23529412vw);
}

.keyword-title {
    font-size: min(72px, 4.23529412vw);
    font-weight: 600;
    text-align: center;
    border-bottom: 1px solid #000000;
    padding-bottom: min(2px, 0.11764706vw);
}

.keyword-title-sub {
    font-size: min(54px, 3.17647059vw);
}

.keyword-grid {
    display: flex;
    align-items: center;
    gap: min(40px, 2.35294118vw);
    padding-top: min(30px, 1.76470588vw);
}

.keyword-grid._2, .keyword-grid._3 {
    padding-top: min(55px, 3.23529412vw);
}

.keyword-grid-title {
    width: min(190px, 11.17647059vw);
    height: min(50px, 2.94117647vw);
    font-size: min(30px, 1.76470588vw);
    font-weight: 500;
    text-align: center;
    color: #fff;
    border-radius: min(10px, 0.58823529vw);
    line-height: min(50px, 2.94117647vw);
}

.keyword-grid._1 .keyword-grid-title {
    background-color: #4261A6;
}

.keyword-grid._2 .keyword-grid-title {
    background-color: #4B9649;
}

.keyword-grid._3 .keyword-grid-title {
    background-color: #C47737;
}

.keyword-grid-container {
    padding: 0 min(15px, 0.88235294vw);
}

.keyword-grid-container .keyword-grid .keyword-item {
    max-width: 870px;
    display: flex;
    /* 3列 */
    flex-wrap: wrap;
    gap: min(25px, 1.47058824vw);
    justify-content: flex-start;
    row-gap: 0;
    font-size: min(30px, 1.76470588vw);
    white-space: nowrap;
    line-height: 1.8;
}

.keyword-grid-container .keyword-grid .keyword-item a[href]:hover {
    opacity: 1;
    color: #dcdcdc;
    transition: color 0.3s ease;
}

.keyword-grid-container .keyword-grid._3 .keyword-item .keyword-item-text {
    display: inline;
}

.keyword-grid-container .keyword-grid .keyword-item a.keyword-button.gray_out {
    color: #918D8D;
    border-bottom: min(4px, 0.23529412vw) dotted #918D8D;
}

/* レスポンシブ */
@media (max-width: 750px) {
    .keyword-button-container-inner {
        background-image: url('../images/common/sp/keyword-button-container-inner_bg_sp.png');
    }
}

/* 学部紹介コンテンツ */
#department-introduction-section {
    position: relative;
}

#department-introduction-section::before {
    content: '';
    position: absolute;
    top: -12.9%;
    left: 0;
    width: 91.3%;
    height: 116.5%;
    background-color: #F4F2EC;
    z-index: -1;
    border-radius: 0 min(36px, 2.11764706vw) min(36px, 2.11764706vw) 0;
}

.section-title {
    font-size: min(50px, 2.94117647vw);
    font-weight: 600;
    margin-bottom: min(86px, 5.05882353vw);
    text-align: center;
}

.section-title-sub {
    font-size: min(66px, 3.88235294vw);
    margin-bottom: 1.5rem;
    text-align: center;
}

.department-introduction-content-inner {
    position: relative;
}

.department-introduction-content-inner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 66.5%;
    height: min(678px, 39.88235294vw);
    z-index: -1;
    border-radius: 0 min(62px, 3.64705882vw) min(62px, 3.64705882vw) 0;
}

.department-introduction-content-title {
    font-size: min(52px, 3.05882353vw);
    color: #fff;
    font-weight: 500;
    text-align: left;
    padding-top: min(33px, 1.94117647vw);
    padding-left: min(175px, 10.29411765vw);
    padding-bottom: min(6px, 0.35294118vw);
}

.department-introduction-content-image {
    width: min(1119px, 65.76470588vw);
    height: min(750px, 44.11764706vw);
    margin: 0 0 0 min(155px, 9.11764706vw);
}

.department-introduction-content-text {
    /* テキスと縦書き */
    position: absolute;
    max-width: 87px;
    height: min(897px, 52.76470588vw);
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-size: min(38px, 2.23529412vw);
    font-weight: 500;
    text-align: left;
    color: #fff;
    padding: min(65px, 3.82352941vw) min(10px, 0.58823529vw);
    top: min(-23px, -1.35294118vw);
    right: 17%;
    letter-spacing: 0.02em;
}

#department-introduction-section .container._1 {
    text-align: center;
}

#department-introduction-section .container._1  .section-title {
    position: relative;
    text-align: center;
    display: inline-block;
}

#department-introduction-section .container._1  .section-title::before {
    position: absolute;
    content: '';
    width: min(107px,6.29411765vw);
    height: min(2px, 0.11764706vw);
    background-color: #000000;
    top: 50%;
    left: -25%;
    transform: translateY(-50%);
}

#department-introduction-section .container._1  .section-title::after {
    position: absolute;
    content: '';
    width: min(107px,6.29411765vw);
    height: min(2px, 0.11764706vw);
    background-color: #000000;
    top: 50%;
    right: -25%;
    transform: translateY(-50%);
}

.department-introduction-content-text .dot {
    padding-top: min(10px, 0.58823529vw);
    margin-bottom: max(-18px, -1.05882353vw);
}

.department-introduction-content-text .dot2 {
    margin-bottom: max(-18px, -1.05882353vw);
}


#department-introduction-section .container._2 {
    max-width: 1700px;
    margin: 0 auto;
    position: relative;
}

#department-introduction-section .container._2::before {
    content: '';
    position: absolute;
    top: -7%;
    left: -5%;
    width: min(528px, 31.05882353vw);
    height: min(528px, 31.05882353vw);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    z-index: -1;
}

#department-introduction-section .container._2 .four-year-keyword-container-inner {
    max-width: 1235px;
    margin: min(217px, 12.76470588vw) 0 0 min(150px, 8.82352941vw);
}

#department-introduction-section .container._2 .section-title {
    width: 85%;
    text-align: left;
    font-size: min(72px, 4.23529412vw);
    padding-left: min(20px, 1.17647059vw);
    margin-bottom: 0;
    background-color: #F4F2EC;
}

#department-introduction-section .container._2 .section-title-sub {
    font-size: min(54px, 3.17647059vw);
}

#department-introduction-section .container._2 .four-year-keyword-text {
    width: 85%;
    font-size: min(20px, 1.17647059vw);
    text-align: left;
    background-color: #F4F2EC;
    padding-bottom: min(8px, 0.47058824vw);
    padding-left: min(16px, 0.94117647vw);
}

#department-introduction-section .container._2 .four-year-keyword-grid-container {
    max-width: 1235px;
    width: 73vw;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: min(60px, 3.52941176vw);
    margin-bottom: min(70px, 4.11764706vw);
}

.four-year-keyword-grid-item {
    width: min(290px, 17.05882353vw);
    position: relative;
    padding-top: min(90px, 5.29411765vw);
}

.four-year-keyword-grid-title {
    font-size: min(20px, 1.17647059vw);
    color: #fff;
    border-radius: 50vw;
    width: min(155px, 9.11764706vw);
    height: min(155px, 9.11764706vw);
    padding: min(5px, 0.29411765vw) 0 0;
    text-align: center;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.four-year-keyword-grid-title .num {
    font-family: "Open Sans", sans-serif;
    font-size: min(57px, 3.35294118vw);
    font-weight: 600;
}

.four-year-keyword-grid-text {
    background-color: #fff;
    width: 100%;
    height: min(340px, 20vw);
    padding: min(30px, 1.76470588vw) min(25px, 1.47058824vw);
    font-size: min(20px, 1.17647059vw);
    font-weight: 500;
    z-index: 1;
    border-radius: 0 min(50px, 2.94117647vw) 0 0;
    text-align: left;
}

.four-year-keyword-grid-text-title {
    font-size: min(29px, 1.70588235vw);
    font-weight: 500;
    margin-bottom: min(10px, 0.58823529vw);
    line-height: 1.5;
}

.four-year-keyword-grid-text-content {
    font-size: min(18px, 1.05882353vw);
    line-height: 1.7;
}

@media screen and (min-width: 751px) {
    .four-year-keyword-grid-container-image {
        max-width: 1235px;
        width: 73vw;
    }
}

/* 将来のキーワード */
#department-introduction-section .container._3 {
    padding-top: min(313px, 18.41176471vw);
}

.future-keyword-container-inner {
    max-width: 1180px;
    margin: 0 0 0 min(200px, 11.76470588vw);
    text-align: center;
}

.future-keyword-container-inner .section-title {
    display: inline-block;
    text-align: center;
    font-size: min(72px, 4.23529412vw);
    font-weight: 600;
    margin-bottom: 0;
    background-color: #F4F2EC;
    position: relative;
    z-index: -1;
}

@media (min-width: 751px) and (max-width: 1700px) {
    .future-keyword-container-inner .section-title {
        margin: 0 0 0 max(-158px, -9.29vw);
    }
}

.future-keyword-container-inner .section-title::before {
    content: '';
    position: absolute;
    top: -120%;
    left: 50%;
    transform: translateX(-50%);
    width: min(568px, 33.41176471vw);
    height: min(568px, 33.41176471vw);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    z-index: -1;
}

.future-keyword-container-inner .section-title-sub {
    font-size: min(54px, 3.17647059vw);
    font-weight: 500;
    margin-bottom: 1.5rem;
    text-align: center;
    background-color: #F4F2EC;
}

.future-keyword-container-inner .future-keyword-text {
    width: 80%;
    margin: 0 auto;
    background-color: #F4F2EC;
    font-size: min(20px, 1.17647059vw);
}

@media (min-width: 751px) and (max-width: 1700px) {
    .future-keyword-container-inner .future-keyword-text {
        margin: 0 0 0 min(85px, 5vw);
    }
}

.future-keyword-grid-container {
    margin-bottom: min(70px, 4.11764706vw);
}

.future-keyword-container-inner .future-keyword-grid {
    width: min(1180px, 69.41176471vw);
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: min(28px, 1.64705882vw);
}

.future-keyword-grid-item {
    width: min(569px, 33.47058824vw);
    height: min(569px, 33.47058824vw);
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    position: relative;
    overflow: hidden;
}

.future-keyword-grid-item .future-keyword-grid-title {
    font-size: min(46px, 2.70588235vw);
    font-weight: 500;
    margin-bottom: min(13px, 0.76470588vw);
    padding: min(103px, 6.05882353vw) 0 0;
    border-radius: min(10px, 0.58823529vw);
    color: #fff;
}

.future-keyword-grid-item .future-keyword-grid-title .future-keyword-grid-title-sub {
    font-size: min(35px, 2.05882353vw);
}

.future-keyword-grid-item .future-keyword-grid-text {
    padding: min(30px, 1.76470588vw) 0;
    border-radius: min(10px, 0.58823529vw);
    line-height: 1.5;
    font-weight: 500;
}

.future-keyword-grid-item .future-keyword-grid-text p {
    padding-bottom: min(15px, 0.88235294vw);
}

.future-keyword-grid-item .future-keyword-grid-text p:last-child {
    padding-bottom: 0;
}

.future-keyword-grid-item._2 .future-keyword-grid-text .font-20,
.future-keyword-grid-item._2 .future-keyword-grid-text .font-22 {
    line-height: 2.2;
}

.future-keyword-grid-text .font-25 {
    font-size: min(25px, 1.47058824vw);
}

.future-keyword-grid-text .font-34 {
    font-size: min(34px, 2vw);
}

.future-keyword-grid-text .font-22 {
    font-size: min(22px, 1.29411765vw);
}

.future-keyword-grid-text .font-30 {
    font-size: min(30px, 1.76470588vw);
}

.future-keyword-grid-text .font-31 {
    font-size: min(31px, 1.82352941vw);
}

.future-keyword-grid-text .font-26 {
    font-size: min(26px, 1.52941176vw);
}

.future-keyword-grid-text .font-35 {
    font-size: min(35px, 2.05882353vw);
}

.future-keyword-grid-text .font-22 {
    font-size: min(22px, 1.29411765vw);
}

.future-keyword-grid-text .font-20 {
    font-size: min(20px, 1.17647059vw);
}

.future-keyword-grid-text .font-28 {
    font-size: min(28px, 1.64705882vw);
}

.future-keyword-grid-text .font-27 {
    font-size: min(27px, 1.58823529vw);
}

.future-keyword-grid-text .font-33 {
    font-size: min(33px, 1.94117647vw);
}

.future-keyword-grid-text .gray-font {
    color: #0000005a;
    font-weight: 600;
}

.future-keyword-grid-text .text-left {
    text-align: left;
}

.future-keyword-grid-text .text-center {
    text-align: center;
}

.future-keyword-grid-text .text-right {
    text-align: right;
}

.btn_wrap .btn {
    display: inline-block;
    width: min(340px, 20vw);
    height: min(72px, 4.23529412vw);
    border: min(2.6px, 0.15294118vw) solid #000000;
    text-decoration: none;
    text-align: left;
    font-size: min(20px, 1.17647059vw);
    padding-left: min(75px, 4.41176471vw);
    font-weight: 500;
    border-radius: min(75px, 4.41176471vw);
    line-height: min(72px, 4.23529412vw);
    position: relative;
}

@media (min-width: 751px) and (max-width: 1700px) {
    #department-introduction-section .btn_wrap .btn {
        margin: 0 0 0 max(-158px, -9.29vw);
    }
}

.btn_wrap .btn::before {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: min(60px, 3.52941176vw);
    width: min(26px, 1.52941176vw);
    height: min(26px, 1.52941176vw);
    background-image: url('../images/common/icon/site_icon01.svg');
    background-size: cover;
    background-repeat: no-repeat;
}

/* 他のコースも見てみる */
.other-course-container {
    background-color: #ffff;
    padding: min(20px, 1.17647059vw) min(43px, 2.52941176vw);
    border-radius: min(24px, 1.41176471vw);
    margin-top: min(70px, 4.11764706vw);
    position: relative;
}

.future-keyword-container-inner .other-course-container {
    width: min(1180px, 69.41176471vw);
}

.other-course-container::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    height: min(2px, 0.11764706vw);
    border-bottom: min(2px, 0.11764706vw) dotted #918D8D;
}

.other-course-container .other-course-title {
    width: min(250px, 14.70588235vw);
    margin: 0 auto;
    font-size: min(18px, 1.05882353vw);
    padding: min(20px, 1.17647059vw) 0 min(30px, 1.76470588vw);
    text-align: center;
    position: relative;
}

.other-course-container .other-course-title::before {
    content: '';
    position: absolute;
    top: 45%;
    left: -8%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: min(15px, 0.88235294vw) solid #000000;
    border-left: min(8px, 0.47058824vw) solid transparent;
    border-right: min(8px, 0.47058824vw) solid transparent;
}

.other-course-container .other-course-grid-container {
    padding-top: min(32px, 1.88235294vw);
    padding-bottom: min(11px, 0.64705882vw);
}

.other-course-container .other-course-grid-container .other-course-grid {
    display: flex;
    justify-content: center;
    align-items: center;
}

.other-course-container .other-course-grid-container .other-course-grid .other-course-grid-item {
    position: relative;
    font-size: min(18px, 1.05882353vw);
    padding: 0 min(18px, 1.05882353vw);
}

.other-course-container .other-course-grid-container .other-course-grid .other-course-grid-item::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: min(1px, 0.05882353vw);
    height: 100%;
    background-color: #000000;
}

.other-course-container .other-course-grid-container .other-course-grid .other-course-grid-item:last-child::before {
    display: none;
}

/* 白鷗大学を知るキーワード  全ページ共通*/
#know-university-keyword-section {
    padding-top: min(290px, 17.05882353vw);
}

#know-university-keyword-section .container {
    position: relative;
    padding-top: min(130px, 7.64705882vw);
    padding-bottom: min(117px, 6.88235294vw);
}

#know-university-keyword-section .container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: min(568px, 33.41176471vw);
    height: min(568px, 33.41176471vw);
    background-image: url(../images/common/pc/keyword-bg-1.png);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    z-index: -1;
}

#know-university-keyword-section .container .section-title {
    background-color: #fff;
    margin-bottom: 0;
    padding-bottom: min(34px, 2vw);
    line-height: 1.3;
}

#know-university-keyword-section .container .section-title-sub {
    font-weight: 600;
}

#know-university-keyword-section .know-university-keyword-text {
    text-align: center;
    background-color: #fff;
    padding-bottom: min(25px, 1.47058824vw);
    font-size: min(20px, 1.17647059vw);
    letter-spacing: 0;
}

#know-university-keyword-section .know-university-keyword-image {
    max-width: 1243px;
    margin: 0 auto;
}

#know-university-keyword-section .know-university-keyword-grid-container {
    margin-top: min(110px, 6.47058824vw);
}

#know-university-keyword-section .know-university-keyword-grid {
    max-width: 1300px;
    display: flex;
    gap: min(33px, 1.94117647vw);
    margin: 0 auto min(92px, 5.41176471vw);
    padding-top: min(77px, 4.52941176vw);
    position: relative;
}

#know-university-keyword-section .know-university-keyword-grid::before {
    content: '';
    position: absolute;
    top: min(9px, 0.52941176vw);
    left: max(-82px, -4.82352941vw);
    background-image: url(../images/common/pc/PICKUP-KEY-WORD.png);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    width: min(1470px, 86.47058824vw);
    height: min(120px, 7.05882353vw);
    z-index: -1;
}

#know-university-keyword-section .know-university-keyword-grid .know-university-keyword-grid-title {
    font-size: min(30px, 1.76470588vw);
    font-weight: 500;
    color: #1F847B;
    padding-bottom: min(28px, 1.64705882vw);
    text-align: center;
    line-height: 1.47;
}

#know-university-keyword-section .know-university-keyword-grid .know-university-keyword-grid-item {
    max-width: 410px;
    margin: 0 auto;
}

#know-university-keyword-section .know-university-keyword-grid .know-university-keyword-grid-item:first-child .know-university-keyword-grid-title {
    padding-top: min(25px, 1.47058824vw);
    padding-bottom: min(48px, 2.82352941vw);
}

#know-university-keyword-section .know-university-keyword-grid .know-university-keyword-grid-item:last-child .know-university-keyword-grid-title {
    letter-spacing: -0.05em;
}

#know-university-keyword-section .know-university-keyword-grid .know-university-keyword-grid-text {
    font-size: min(20px, 1.17647059vw);
    padding: 0 min(40px, 2.35294118vw) min(27px, 1.58823529vw);
    line-height: 1.4;
    letter-spacing: 0;
}

#know-university-keyword-section .btn_wrap {
    text-align: center;
}

/* 白鷗大学についてもっと知りたい！ 全ページ共通 */
#detail-button-and-sns-introduction-section {
    background-color: #F4F2EC;
    padding-top: min(85px, 5vw);
    padding-bottom: min(85px, 5vw);
}

#detail-button-and-sns-introduction-section .section-title {
    font-weight: 600;
    line-height: 1.35;
    margin-bottom: min(65px, 3.82352941vw);
}

#detail-button-and-sns-introduction-section .container {
    max-width: 1290px;
    margin: 0 auto;
}

#detail-button-and-sns-introduction-section .detail-button-grid {
    display: flex;
    max-width: 1107px;
    width: 80vw;
    margin: 0 auto;
    justify-content: space-between;
    align-items: center;
}

#detail-button-and-sns-introduction-section .detail-button-grid-item {
    text-align: center;
}

#detail-button-and-sns-introduction-section .detail-button-grid .detail-button-icon {
    width: min(75px, 4.41176471vw);
    margin: 0 auto min(8px, 0.47058824vw);
}

#detail-button-and-sns-introduction-section .detail-button-grid .detail-button-text {
    font-size: min(17px, 1vw);
    font-weight: 500;
    text-align: center;
    margin-bottom: min(12px, 0.70588235vw);
}

#detail-button-and-sns-introduction-section .detail-button-grid .detail-button-button {
    display: block;
    width: 100%;
    font-size: min(24px, 1.41176471vw);
    padding: min(9px, 0.52941176vw) min(60px, 3.52941176vw);
    background-color: #3D8B84;
    border: min(2px, 0.11764706vw) solid #1F847B;
    border-radius: min(75px, 4.41176471vw);
    color: #fff;
}

#detail-button-and-sns-introduction-section .sns-introduction-title {
    font-size: min(36px, 2.11764706vw);
    font-weight: 600;
    text-align: center;
    margin-top: min(68px, 4vw);
    margin-bottom: min(115px, 6.76470588vw);
    position: relative;
}

#detail-button-and-sns-introduction-section .sns-introduction-title::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 45%;
    height: min(2px, 0.11764706vw);
    background-color: #000000;
}

#detail-button-and-sns-introduction-section .sns-introduction-title::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 45%;
    height: min(2px, 0.11764706vw);
    background-color: #000000;
}

#detail-button-and-sns-introduction-section .sns-introduction-grid {
    display: flex;
    width: min(1190px, 70vw);
    margin: 0 auto;
    align-items: flex-end;
}

.sns-introduction-grid-item:nth-child(1), .sns-introduction-grid-item:nth-child(3) {
    width: min(307px, 18.05882353vw);
    position: relative;
}

.sns-introduction-grid-item:nth-child(2) {
    background-color: #fff;
    border-radius: min(4.5px, 0.26470588vw);
}

.sns-introduction-grid-item:nth-child(1) {
    margin-right: min(118px, 6.94117647vw);
    margin-left: min(38px, 2.23529412vw);
}

.sns-introduction-grid-item:not(:last-child):not(:nth-child(1)) {
    margin-right: min(24px, 1.41176471vw);
}


#detail-button-and-sns-introduction-section .sns-introduction-grid .sns-introduction-button {
    display: flex;
    align-items: center;
    width: min(247px, 14.52941176vw);
    height: min(78px, 4.58823529vw);
    margin: 0 auto;
    background-color: #fff;
    border: min(2px, 0.11764706vw) solid #000000;
    padding: 0 0 0 min(80px, 4.70588235vw);
    text-align: left;
    font-size: min(24px, 1.41176471vw);
    font-weight: 500;
    letter-spacing: 0.1em;
    border-radius: min(4.5px, 0.26470588vw);
    position: relative;
}

#detail-button-and-sns-introduction-section .sns-introduction-grid .sns-introduction-button.line {
    color: #00BA03;
}

#detail-button-and-sns-introduction-section .sns-introduction-grid .sns-introduction-button.instagram {
    /* グラデーション 左から右に#D034C3 #7325D8  */
    background: linear-gradient(to right, #D034C3, #7325D8);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    padding: 0 0 0 min(70px, 4.11764706vw);
}

#detail-button-and-sns-introduction-section .sns-introduction-grid .sns-introduction-button.youtube {
    padding: 0 0 0 min(90px, 5.29411765vw);
}

#detail-button-and-sns-introduction-section .sns-introduction-grid .sns-introduction-button.facebook {
    color: #3D5A98;
}

#detail-button-and-sns-introduction-section .sns-introduction-grid .sns-introduction-button::before {
    position: absolute;
    content: '';
    top: 50%;
    transform: translateY(-50%);
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

#detail-button-and-sns-introduction-section .sns-introduction-grid .sns-introduction-button.line::before {
    left: 12%;
    width: min(37px, 2.17647059vw);
    height: min(37px, 2.17647059vw);
    background-image: url(../images/common/icon/line_icon.svg);
}

#detail-button-and-sns-introduction-section .sns-introduction-grid .sns-introduction-button.instagram::before {
    left: 11%;
    width: min(32px, 1.88235294vw);
    height: min(32px, 1.88235294vw);
    background-image: url(../images/common/icon/instagram_icon.svg);
}

#detail-button-and-sns-introduction-section .sns-introduction-grid .sns-introduction-button.youtube::before {
    left: 13%;
    width: min(43px, 2.52941176vw);
    height: min(30px, 1.76470588vw);
    background-image: url(../images/common/icon/youtube_icon.svg);
}

#detail-button-and-sns-introduction-section .sns-introduction-grid .sns-introduction-button.facebook::before {
    left: 12%;
    width: min(35px, 2.05882353vw);
    height: min(35px, 2.05882353vw);
    background-image: url(../images/common/icon/facebook_icon.svg);
}

#detail-button-and-sns-introduction-section .sns-introduction-text {
    position: absolute;
    top: -61%;
    left: 50%;
    transform: translateX(-50%);
    font-size: min(17px, 1vw);
    font-weight: 500;
    white-space: nowrap;
}

@media (max-width: 1700px) and (min-width: 751px) {
    .future-keyword-container-inner {
        max-width: 100%;
        margin: 0;
    }

    .future-keyword-grid-container {
        margin-left: min(200px, 11.76470588vw);
    }

    .future-keyword-container-inner .other-course-container {
        margin-left: min(200px, 11.76470588vw);
    }
}

/* レスポンシブ spサイズ 750px以下 */
@media (max-width: 750px) {

    .navigation {
        padding: 0;
        top: 7%;
        transform: translateY(0);
    }

    .navigation a {
        width: 9.62vw;
        padding: min(60px, 8vw) min(19.2px, 2.56vw) min(30px, 4vw);
        border: min(3px, 0.4vw) solid #000000;
        border-radius: min(7.2px, 0.96vw) 0 0 min(7.2px, 0.96vw);
        line-height: 1.6;
        font-size: min(18.6px, 2.48vw);
    }

    .navigation li:last-child a {
        box-shadow: max(-2px, -0.26666667vw) min(5px, 0.66666667vw) min(1px, 0.13333333vw) #c0183139;
        line-height: 1;
        padding: min(20px, 2.66666667vw) min(21.6px, 2.88vw) min(163px, 21.73333333vw);
    }

    .navigation li:first-child a {
        box-shadow: max(-2px, -0.26666667vw) min(5px, 0.66666667vw) min(1px, 0.13333333vw) #1f48957e;
    }

    .navigation li:first-child a::before {
        width: 4.2vw;
        height: 4.2vw;
        top: 13%;
        left: 53%;
        background-image: url(../images/common/icon/material-icon.png);
    }

    .navigation li:last-child a::before {
        width: min(18px, 2.4vw);
        height: min(90px, 12vw);
        top: 26%;
        right: 17.5%;
    }

    .navigation li:last-child a::after {
        width: min(18px, 2.4vw);
        height: min(110px, 14.66666667vw);
        top: 44%;
        left: 20.5%;
    }

    .navigation li:last-child a img {
        width: 4.2vw;
        height: 4.2vw;
    }

    .section-title {
        font-size: min(55px, 7.33333333vw);
        margin-bottom: min(45px, 6vw);
    }

    .section-title-sub {
        font-size: min(66px, 8.8vw);
    }

    .container {
        width: 100%;
        padding: 0 min(50px, 6.66666667vw);
    }

    #hero-section .container {
        padding: 0;
    }

    .hero .logo_link {
        width: 32%;
        height: 8.66666667vw;
        top: 3%;
        left: 50%;
        transform: translateX(-50%);
    }

    #keyword-section {
        padding: min(80px, 10.66666667vw) 0 0;
    }

    .keyword-section-top-text {
        font-size: min(25px, 3.33333333vw);
        padding: 0;
    }

    #keyword-section .button-container {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: min(20px, 2.66666667vw);
        margin-top: min(82px, 11vw);
    }

    #keyword-section .button-container .button {
        width: 100%;
        height: auto;
        padding: min(35px, 4.66666667vw) 0;
        font-size: min(35px, 4.66666667vw);
        border-radius: min(27.41px, 3.65483871vw);
    }

    #keyword-section .button-container .button:nth-child(1) {
        border: min(4px, 0.53333333vw) solid #3D8B84;
    }

    #keyword-section .button-container .button:nth-child(2) {
        border: min(4px, 0.53333333vw) solid #548B3D;
    }

    #keyword-section .button-container .button:nth-child(3) {
        border: min(4px, 0.53333333vw) solid #E6B004;
    }

    #keyword-section .button-container .keyword-button-sub {
        font-size: min(25px, 3.33333333vw);
    }

    #keyword-section .button-container .keyword-button-sub::before {
        bottom: 30%;
        left: 121%;
        width: min(3px, 0.4vw);
        height: min(18px, 2.4vw);
    }

    #keyword-section .button-container .keyword-button-sub::after {
        bottom: 30%;
        left: 120.1%;
        width: min(3px, 0.4vw);
        height: min(18px, 2.4vw);
    }

    .keyword-title {
        font-size: min(45px, 6vw);
        border-bottom: 0;
        padding-bottom: 0;
    }

    .keyword-title-sub {
        font-size: min(30px, 4vw);
    }

    .keyword-button-container-inner {
        max-width: 100%;
        width: 100%;
        height: auto;
        margin: min(10px, 1.33333333vw) auto 0;
        padding: min(180px, 24vw) min(44px, 5.86666667vw) min(100px, 13.33333333vw);
    }

    .keyword-grid-container {
        padding: 0;
    }

    .keyword-button-container::before {
        width: min(528px, 70.4vw);
        height: min(528px, 70.4vw);
        top: min(45px, 6%);
    }

    .keyword-grid {
        flex-direction: column;
        padding-top: min(30px, 4vw);
        gap: min(26px, 3.46666667vw);
    }

    .keyword-grid-title {
        width: 100%;
        height: min(57px, 7.6vw);
        font-size: min(26px, 3.46666667vw);
        padding-top: min(3px, 0.4vw);
        line-height: min(57px, 7.6vw);
        border-radius: 1.33333333;
    }

    .keyword-grid-container .keyword-grid .keyword-item {
        max-width: 100%;
        padding: 0 min(20px, 2.66666667vw);
        line-height: 2;
        font-size: min(30px, 4vw);
    }

    .keyword-grid-container .keyword-grid .keyword-item a.keyword-button.gray_out {
        border-bottom: min(4px, 0.53333333vw) dotted #918D8D;
    }

    .keyword-grid._2, .keyword-grid._3 {
        padding-top: min(80px, 10.66666667vw);
    }

    .keyword-grid._3 .keyword-item {
        width: 100%;
    }

    .keyword-grid._3 .keyword-item .keyword-button._1 {
        width: 100%;
    }

    .keyword-grid._3 .keyword-item .keyword-button._2, .keyword-grid._3 .keyword-item .keyword-button._3 {
        width: 38%;
    }

    .keyword-button-container {
        margin-bottom: min(17px, 2.26666667vw);
    }

    #department-introduction-section .container._1 {
        padding: min(17px, 2.26666667vw) 0 0;
    }

    #department-introduction-section .container._1 .section-title {
        line-height: 1.9;
    }

    #department-introduction-section .container._1 .section-title::before {
        width: min(150px,20vw);
        height: min(2px, 0.26666667vw);
        top: 22%;
        left: -16%;
        transform: unset;
    }

    #department-introduction-section .container._1 .section-title::after {
        width: min(150px,20vw);
        height: min(2px, 0.26666667vw);
        top: 22%;
        right: -16%;
        transform: unset;
    }

    .department-introduction-content-inner::before {
        width: 81%;
        height: min(150px, 20vw);
        border-radius: 0 min(30px, 4vw) min(30px, 4vw) 0;
    }

    .department-introduction-content-title {
        font-size: min(28.5px, 3.8vw);
        padding-top: min(24px, 3.2vw);
        padding-left: min(45px, 6vw);
        padding-bottom: min(6px, 0.8vw);
    }

    .department-introduction-content-image {
        max-width: 665px;
        width: min(665px, 88.66666667vw);
        height: auto;
        margin: 0;
    }

    .department-introduction-content-text {
        max-width: 100%;
        height: min(632px, 84.26666667vw);
        top: 0;
        right: 7%;
        line-height: 1.4;
        font-size: min(27px, 3.6vw);
        padding: min(40px, 5.33333333vw) min(10px, 1.33333333vw);
    }

    #department-introduction-section .container._2 .four-year-keyword-container-inner {
        max-width: 100%;
        width: 100%;
        margin: min(135px, 18vw) 0 0;
    }

    #department-introduction-section .container._2::before {
        top: -2.5%;
        left: -11%;
        width: min(528px, 70.4vw);
        height: min(528px, 70.4vw);
    }

    #department-introduction-section .container._2 .section-title {
        font-size: min(57px, 7.6vw);
        padding-left: min(10px, 1.33333333vw);
        margin-bottom: 0;
        letter-spacing: 0;
    }

    #department-introduction-section .container._2 .section-title-sub {
        font-size: min(37px, 5vw);
        font-weight: 600;
    }

    #department-introduction-section .container._2 .four-year-keyword-text {
        font-size: min(23.5px, 3.13333333vw);
        padding-bottom: min(8px, 1.06666667vw);
        padding-left: min(9px, 1.2vw);
        padding-top: min(8px, 1.06666667vw);
    }

    #department-introduction-section .container._2 .four-year-keyword-grid-container {
        width: 76.4vw;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
        margin-top: min(60px, 8vw);
        margin-bottom: min(105px, 14vw);
        gap: min(65px, 8.66666667vw);
    }

    #department-introduction-section::before {
        width: 97%;
        height: 119%;
        top: -18.5%;
    }

    .four-year-keyword-grid-item {
        width: 100%;
        position: relative;
        padding-top: min(125px, 16.66666667vw);
    }

    .four-year-keyword-grid-title {
        font-size: min(27px, 3.6vw);
        width: min(205px, 27.33333333vw);
        height: min(205px, 27.33333333vw);
        padding: min(12px, 1.6vw) 0 0;
    }

    .four-year-keyword-grid-title .num {
        font-size: min(68px, 9.06666667vw);
    }

    .four-year-keyword-grid-text {
        height: auto;
        padding: min(36px, 4.8vw) min(46px, 6.13333333vw);
        font-size: 20px;
        font-weight: 500;
        z-index: 1;
        border-radius: 0 50px 0 0;
        text-align: left;
    }

    .four-year-keyword-grid-text-title {
        font-size: min(39px, 5.2vw);
        margin-bottom: min(15px, 2vw);
        line-height: 1.4;
    }

    .four-year-keyword-grid-text-content {
        font-size: min(25px, 3.33333333vw);
    }

    .four-year-keyword-grid-container-image img {
        width: 125.5%;
        margin-left: -18%;
    }

    #department-introduction-section .container._3 {
        padding-top: min(140px, 18.66666667vw);
    }

    .future-keyword-container-inner {
        max-width: 100%;
        width: 100%;
        margin: 0;
    }

    .future-keyword-container-inner .section-title {
        font-size: min(55px, 7.33333333vw);
        margin-bottom: min(8px, 1.06666667vw);
    }

    .future-keyword-container-inner .section-title-sub {
        font-size: min(38px, 5.06666667vw);
        margin-bottom: 1.5rem;
    }

    .future-keyword-container-inner .future-keyword-text {
        width: 100%;
        font-size: min(25px, 3.33333333vw);
    }

    .future-keyword-container-inner .future-keyword-grid {
        width: 100%;
        flex-direction: column;
        margin-top: min(75px, 10vw);
        gap: min(38px, 5.06666667vw);
    }

    .future-keyword-grid-container {
        margin-bottom: min(95px, 12.66666667vw);
    }


    .future-keyword-grid-item {
        width: min(569px, 75.86666667vw);
        height: min(569px, 75.86666667vw);
    }

    .future-keyword-grid-item .future-keyword-grid-title {
        font-size: min(46px, 6.13333333vw);
        margin-bottom: min(12.75px, 1.7vw);
        padding: min(103px, 13.73333333vw) 0 0;
        border-radius: min(10px, 1.33333333vw);
    }

    .future-keyword-grid-item .future-keyword-grid-title .future-keyword-grid-title-sub {
        font-size: min(35px, 4.66666667vw);
    }

    .future-keyword-grid-item .future-keyword-grid-text {
        padding: min(30px, 4vw) 0;
        border-radius: min(7.2px, 0.96vw);
        letter-spacing: 0;
    }

    .future-keyword-grid-item._2 .future-keyword-grid-text {
        padding: min(35px, 4.66666667vw) 0 min(25px, 3.33333333vw);
    }

    .future-keyword-grid-item .future-keyword-grid-text p {
        padding-bottom: min(15px,2vw);
    }

    .future-keyword-grid-text .text-left {
        text-align: center;
    }

    .future-keyword-grid-text .text-right {
        text-align: center;
    }

    .future-keyword-grid-text .font-20 {
        font-size: min(20px, 2.66666667vw);
    }

    .future-keyword-grid-text .font-25 {
        font-size: min(25px, 3.33333333vw);
    }

    .future-keyword-grid-text .font-26 {
        font-size: min(26px, 3.46666667vw);
    }

    .future-keyword-grid-text .font-27 {
        font-size: min(27px, 3.6vw);
    }

    .future-keyword-grid-text .font-28 {
        font-size: min(28px, 3.73333333vw);
    }

    .future-keyword-grid-text .font-33 {
        font-size: min(33px, 4.4vw);
    }

    .future-keyword-grid-text .font-34 {
        font-size: min(34px, 4.53333333vw);
    }

    .future-keyword-grid-text .font-35 {
        font-size: min(35px, 4.66666667vw);
    }

    .future-keyword-grid-text .font-30 {
        font-size: min(30px, 4vw);
    }

    .future-keyword-grid-text .font-31 {
        font-size: min(31px, 4.13333333vw);
    }

    .future-keyword-grid-text .font-22 {
        font-size: min(22px, 2.93333333vw);
    }

    .future-keyword-container-inner .section-title::before {
        top: -391%;
        width: min(568px, 75.73333333vw);
        height: min(568px, 75.73333333vw);
    }

    .btn_wrap .btn {
        width: 74%;
        height: min(102px, 13.6vw);
        border: min(3px, 0.4vw) solid #000000;
        font-size: min(31px, 4.13333333vw);
        padding: min(33px, 4.4vw) 3vw 0 0;
        text-align: center;
        border-radius: 75px;
        line-height: 1;
        position: relative;
    }

    .btn_wrap .btn::before {
        right: min(95px, 12.66666667vw);
        width: min(35px, 4.66666667vw);
        height: min(35px, 4.66666667vw);
    }

    .other-course-container {
        background-color: #ffff;
        padding: min(20px, 2.66666667vw) min(43px, 5.73333333vw);
        border-radius: min(24px, 3.2vw);
        margin-top: min(105px, 14vw);
    }

    .future-keyword-container-inner .other-course-container {
        width: 100%;
    }

    .other-course-container .other-course-title {
        width: 100%;
        font-size: min(25px, 3.33333333vw);
        border-bottom: 2px dotted #918D8D;
        padding: min(20px, 2.66666667vw) 0 min(30px, 4vw);
        text-align: center;
        position: relative;
    }

    .other-course-container::after {
        display: none;
    }

    .other-course-container .other-course-title::before {
        left: 20%;
        border-top: min(15px, 2vw) solid #000000;
        border-left: min(8px, 1.06666667vw) solid transparent;
        border-right: min(8px, 1.06666667vw) solid transparent;
        border-right: min(8px, 1.06666667vw) solid transparent;
    }

    .other-course-container .other-course-grid-container {
        padding-top: min(24px, 3.2vw);
        padding-bottom: min(11px, 1.46666667vw);
    }

    .other-course-container .other-course-grid-container .other-course-grid {
        flex-direction: column;
        gap: min(10px, 1.33333333vw);
        text-align: center;
    }

    .other-course-container .other-course-grid-container .other-course-grid .other-course-grid-item {
        position: relative;
        font-size: min(30px, 4vw);
        padding: 0;
        display: flex;
        flex-direction: column;
    }

    .other-course-container .other-course-grid-container .other-course-grid .other-course-grid-item::before {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        width: 0;
        height: 0;
    }

    #know-university-keyword-section {
        padding-top: min(148px, 19.73333333vw);
    }

    #know-university-keyword-section .container {
        padding-top: min(115px, 15.33333333vw);
        padding-bottom: min(155px, 20.66666667vw);
    }

    #know-university-keyword-section .container::before {
        width: min(360px, 48vw);
        height: min(360px, 48vw);
    }

    #know-university-keyword-section .container .section-title-sub {
        font-size: min(55px, 7.33333333vw);
    }

    #know-university-keyword-section .container .section-title {
        background-color: #fff;
        margin-bottom: 0;
        padding-bottom: min(30px, 4vw);
        line-height: 1.3;
        font-size: min(38px, 5.06666667vw);
    }

    #know-university-keyword-section .know-university-keyword-text {
        padding-bottom: min(62px, 8.26666667vw);
        font-size: min(25px, 3.33333333vw);
        letter-spacing: 0;
    }

    #know-university-keyword-section .know-university-keyword-image {
        max-width: 750px;
        width: 115.3%;
        margin: 0 0 0 -7.6%;
    }

    #know-university-keyword-section .know-university-keyword-grid-container {
        margin-top: min(107px, 14.26666667vw);
        margin-bottom: min(115px, 15.33333333vw);
    }

    #know-university-keyword-section .know-university-keyword-grid {
        max-width: 1300px;
        display: flex;
        gap: 33px;
        margin: 0 auto 92px;
        padding-top: 70px;
        position: relative;
    }

    #know-university-keyword-section .know-university-keyword-grid::before {
        background-image: url(../images/common/sp/PICKUP-KEY-WORD_sp.png);
        width: min(750px, 100vw);
        height: min(315px, 42vw);
        top: 0;
        left: -8%;
    }

    #know-university-keyword-section .know-university-keyword-grid {
        max-width: 100%;
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: min(115px, 15.33333333vw);
        margin: 0 auto;
        padding-top: min(27px, 3.6vw);
        position: relative;
    }

    #know-university-keyword-section .know-university-keyword-grid .know-university-keyword-grid-item {
        max-width: 580%;
        width: 100%;
    }

    #know-university-keyword-section .know-university-keyword-grid .know-university-keyword-grid-item:first-child .know-university-keyword-grid-title {
        font-size: min(40px, 5.33333333vw);
        padding-top: min(22px, 2.93333333vw);
        padding-bottom: min(32px, 4.26666667vw);
    }

    #know-university-keyword-section .know-university-keyword-grid .know-university-keyword-grid-text {
        font-size: min(25px, 3.33333333vw);
        padding: 0 min(40px, 5.33333333vw) min(46px, 6.13333333vw);
        line-height: 1.7;
        letter-spacing: 0;
    }

    #know-university-keyword-section .know-university-keyword-grid .know-university-keyword-grid-image {
        width: 60%;
        margin: auto;
    }

    #know-university-keyword-section .know-university-keyword-grid .know-university-keyword-grid-title {
        font-size: min(40px, 5.33333333vw);
        padding-top: 0;
        padding-bottom: min(40px, 5.33333333vw);
    }

    #detail-button-and-sns-introduction-section {
        padding-top: min(65px, 8.66666667vw);
        padding-bottom: min(135px, 18vw);
    }

    #detail-button-and-sns-introduction-section .container {
        max-width: 100%;
    }

    #detail-button-and-sns-introduction-section .section-title {
        font-size: min(28px, 3.73333333vw);
        line-height: 1.5;
        margin-bottom: min(66px, 8.8vw);
    }

    #detail-button-and-sns-introduction-section .section-title-sub {
        font-size: min(45px, 6vw);
    }

    #detail-button-and-sns-introduction-section .detail-button-grid {
        max-width: 100%;
        flex-direction: column;
        gap: min(70px, 9.33333333vw);
    }

    #detail-button-and-sns-introduction-section .detail-button-grid-item {
        width: 92%;
    }

    #detail-button-and-sns-introduction-section .detail-button-grid .detail-button-icon {
        width: min(75px, 10vw);
        height: min(75px, 10vw);
        margin-bottom: min(15px, 2vw);
    }

    #detail-button-and-sns-introduction-section .detail-button-grid .detail-button-text {
        font-size: min(24px, 3.2vw);
        margin-bottom: min(14px, 1.86666667vw);
    }

    #detail-button-and-sns-introduction-section .detail-button-grid .detail-button-button {
        padding: min(9px, 1.2vw) 0;
        font-size: min(35px, 4.66666667vw);
        border: min(2px, 0.26666667vw) solid #1F847B;
        border-radius: min(75px, 10vw);
    }

    #detail-button-and-sns-introduction-section .sns-introduction-title {
        font-size: min(38px, 5.06666667vw);
        margin-top: min(120px, 16vw);
        margin-bottom: min(130px, 17.33333333vw);
    }

    #detail-button-and-sns-introduction-section .sns-introduction-title::before {
        width: 40%;
        height: 0.26666667vw;
    }

    #detail-button-and-sns-introduction-section .sns-introduction-title::after {
        width: 40%;
    }

    #detail-button-and-sns-introduction-section .sns-introduction-grid {
        width: 100%;
        flex-direction: column;
        align-items: center;
    }

    #detail-button-and-sns-introduction-section .sns-introduction-grid .sns-introduction-button {
        width: min(600px, 80vw);
        height: min(105px, 14vw);
        padding: 0 0 0 min(232.5px, 31vw);
        border: min(4px, 0.53333333vw) solid #000000;
        font-size: min(40px, 5.33333333vw);
        letter-spacing: 0.1em;
        border-radius: min(9.3px, 1.24vw);
        position: relative;
    }

    .sns-introduction-grid-item:nth-child(1) {
        margin-right: 0;
        margin-bottom: min(185px, 24.66666667vw);
    }

    .sns-introduction-grid-item:nth-child(1), .sns-introduction-grid-item:nth-child(3) {
        width: min(600px, 80vw);
    }

    .sns-introduction-grid-item:not(:last-child):not(:nth-child(1)) {
        margin: 0 0 min(30px, 4vw) ;
    }

    #detail-button-and-sns-introduction-section .sns-introduction-text {
        top: -75%;
        font-size: min(30px, 4vw);
    }

    #detail-button-and-sns-introduction-section .sns-introduction-text._2 {
        top: -197%;
    }

    #detail-button-and-sns-introduction-section .sns-introduction-grid .sns-introduction-button::before {
        content: '' !important;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        background-size: 100% 100%;
        background-repeat: no-repeat;
    }

    #detail-button-and-sns-introduction-section .sns-introduction-grid .sns-introduction-button.line::before {
        left: 24%;
        width: min(61px, 8.13333333vw);
        height: min(61px, 8.13333333vw);
        background-image: url(../images/common/icon/line_icon.svg);
    }

    #detail-button-and-sns-introduction-section .sns-introduction-grid .sns-introduction-button.instagram::before {
        left: 24%;
        width: min(53.6px, 7.14666667vw);
        height: min(53.6px, 7.14666667vw);
    }

    #detail-button-and-sns-introduction-section .sns-introduction-grid .sns-introduction-button.youtube::before {
        left: 26%;
        width: min(73.52px, 9.80266667vw);
        height: min(51.7px, 6.89333333vw);
        background-image: url(../images/common/icon/youtube_icon.svg);
    }

    #detail-button-and-sns-introduction-section .sns-introduction-grid .sns-introduction-button.facebook::before {
        left: 26%;
        width: min(60px, 8vw);
        height: min(60px, 8vw);
        background-image: url(../images/common/icon/facebook_icon.svg);
    }

    #detail-button-and-sns-introduction-section .sns-introduction-grid .sns-introduction-button.instagram {
        padding: 0 0 0 min(220px, 29.33333333vw);
    }

    #detail-button-and-sns-introduction-section .sns-introduction-grid .sns-introduction-button.youtube {
        padding: 0 0 0 min(252px, 33.6vw);
    }

    footer {
        padding: min(75px, 10vw) 0;
    }

    .footer-container {
        font-size: min(12px, 1.6vw);
    }
}


/* student-keyword-interview-section */
.student-keyword-interview-section {
    max-width: 1700px;
    margin: 0 auto;
    padding: min(367px, 21.58823529vw) 0 0;
}

.student-keyword-interview-section .container {
    max-width: 1425px;
    width: 83.82352941vw;
    margin: 0;
}

.student-keyword-interview-section-header {
    position: relative;
    z-index: 0;
}

.student-keyword-interview-section-header::before {
    content: '';
    position: absolute;
    top: -45%;
    right: -14%;
    width: min(528px, 31.05882353vw);
    height: min(528px, 31.05882353vw);
    background-image: url(../images/common/pc/keyword-bg-1.png);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    z-index: -1;
}

.student-keyword-interview-section .section-title {
    text-align: right;
    font-size: min(54px, 3.17647059vw);
    margin-bottom: 0;
    background-color: #fff;
}

.student-keyword-interview-section .section-title-sub {
    font-size: min(72px, 4.23529412vw);
}

.student-keyword-interview-section .section-title_bottm_text {
    font-size: min(20px, 1.17647059vw);
    text-align: right;
    background-color: #fff;
}

.student-keyword-interview-section .student-keyword-interview-container {
    border-radius: 0 min(64px, 3.76470588vw) min(64px, 3.76470588vw) 0;
    color: #fff;
    position: relative;
    margin-top: min(125px, 7.35294118vw);
    padding: min(88px, 5.17647059vw) min(135px, 7.94117647vw) min(110px, 6.47058824vw);
}

.student-keyword-interview-container .inner {
    text-align: center;
}

.student-keyword-interview-section .tagu {
    font-size: min(45px, 2.64705882vw);
    font-weight: 600;
    position: absolute;
    top: max(-90px, -5.29411765vw);
    left: 0;
    width: min(440px, 25.88235294vw);
    height: min(90px, 5.29411765vw);
    border-radius: min(34px, 2vw) min(34px, 2vw) 0 0;
    text-align: center;
}

.student-keyword-interview-section .course-title {
    position: relative;
    font-size: min(72px, 4.23529412vw);
    font-weight: 600;
    text-align: center;
}

.student-keyword-interview-section .course-title-sub {
    font-size: min(50px, 2.94117647vw);
}

.student-keyword-interview-section .course-title::before {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 15%;
    width: min(107px, 6.29411765vw);
    height: min(2px, 0.11764706vw);
    background-color: #ffffff;
}

.student-keyword-interview-section .course-title::after {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 15%;
    width: min(107px, 6.29411765vw);
    height: min(2px, 0.11764706vw);
    background-color: #ffffff;
}

.student-keyword-interview-section .student-keyword-interview-container a:hover{
    /* 薄ーい白のフィルターかけて */
    filter: brightness(1.11);
    opacity: 0.85;
    transition: all 0.3s ease;
}

.student-keyword-interview-section .student-keyword-interview-container .other-course-grid-item a:hover {
    opacity: 0.6;
}

.open-student-modal img {
    width: min(765px, 45vw);
}

.student-keyword-interview-container .inner .name {
    text-align: right;
    font-size: min(36.7px, 2.15882353vw);
}

.student-keyword-interview-container .inner .name .num {
    margin-right: min(15px, 0.88235294vw);
}

.student-keyword-interview-container .inner .name .san {
    font-size: min(25.17px, 1.48058824vw);
}

.student-keyword-interview-container .inner .name .name-school {
    font-size: min(25.17px, 1.48058824vw);
}

.student-keyword-interview-section .other-course-container {
    color: #000;
    margin-top: min(40px, 2.35294118vw);
    padding: min(17px, 1vw) min(43px, 2.52941176vw);
    font-size: min(18px, 1.05882353vw);
}

.student-keyword-interview-section .other-course-container .other-course-title {
    padding: 0;
    line-height: 4;
}

.student-keyword-interview-section .other-course-container .other-course-grid-container {
    padding: 0;
    line-height: 4;
}

.student-keyword-interview-section .other-course-container .other-course-grid-container .other-course-grid .other-course-grid-item {
    font-size: min(18px, 1.05882353vw);
}

/* 教育学部の2カラムインタビュー */
.student-keyword-interview-image-flex {
    width: min(1226px, 72.35294118vw);
    margin: 0 auto;
    display: flex;
    gap: min(70px, 9.33333333vw);
}

@media (max-width: 750px) {
    .student-keyword-interview-image-flex {
        width: 100%;
        flex-direction: column;
        gap: min(60px, 8vw);
    }
}

.student-keyword-interview-image-flex .open-student-modal img {
    width: min(578px, 33.94117647vw);
}

@media (max-width: 750px) {
    .student-keyword-interview-image-flex .open-student-modal img {
        width: 100%;
    }
}

.student-keyword-interview-container .inner .student-keyword-interview-image-flex .name {
    text-align: left;
    padding-left: min(15px, 0.88235294vw);
    line-height: 1.4;
    padding-top: min(12px, 0.7vw);
}

@media (max-width: 750px) {
    .student-keyword-interview-container .inner .student-keyword-interview-image-flex .name {
        margin-left: min(80px, 10.66666667vw);
        padding-top: min(15px, 2vw);
    }
}

.student-keyword-interview-container .inner .student-keyword-interview-image-flex .name .num {
    margin-right: 18px;
}

@media (max-width: 750px) {
    .student-keyword-interview-container .inner .student-keyword-interview-image-flex .name .num {
        margin-right: min(24px, 3.2vw);
    }
}

@media (max-width: 750px) {
    .student-keyword-interview-section {
        width: 100%;
        padding: min(220px, 29.33333333vw) 0 0;
    }

    .student-keyword-interview-section .container {
        max-width: 100%;
        width: 98.93333333vw;
        padding: 0;
    }

    .student-keyword-interview-section-header {
        width: min(445px, 59.33333333vw);
        margin-left: min(230px, 30.66666667vw);
        margin-right: min(230px, 30.66666667vw);
    }

    .student-keyword-interview-section-header::before {
        width: min(528px, 70.4vw);
        height: min(528px, 70.4vw);
        right: -8%;
    }

    .student-keyword-interview-section .section-title {
        font-size: min(30px, 4vw);
    }

    .student-keyword-interview-section .section-title-sub {
        font-size: min(45px, 6vw);
    }

    .student-keyword-interview-section .section-title_bottm_text {
        font-size: min(25px, 3.33333333vw);
    }

    .student-keyword-interview-section .student-keyword-interview-container {
        margin-top: min(70px, 9.33333333vw);
        border-radius: 0 min(64px, 8.53333333vw) min(64px, 8.53333333vw) 0;
        padding: min(60px, 8vw) min(85px, 11.33333333vw) min(80px, 10.66666667vw);
    }

    .student-keyword-interview-section .tagu {
        font-size: min(30px, 4vw);
        top: -6%;
        width: min(260px, 34.66666667vw);
        height: 9vw;
        border-radius: min(17px, 2.26666667vw) min(17px, 2.26666667vw) 0 0;
        padding-top: 1%;
    }

    .student-keyword-interview-section .course-title {
        font-size: min(45px, 6vw);
        margin-bottom: min(50px, 6.66666667vw);
    }

    .student-keyword-interview-section .course-title::before {
        left: 6%;
        width: min(45px, 6vw);
        height: min(1px, 0.13333333vw);
    }

    .student-keyword-interview-section .course-title::after {
        right: 6%;
        width: min(45px, 6vw);
        height: min(1px, 0.13333333vw);
    }

    .open-student-modal img {
        width: 100%;
    }

    .student-keyword-interview-container .inner .name {
        font-size: min(28px, 3.73333333vw);
        text-align: left;
        margin-left: 10%;
        line-height: 1.5;
        margin-top: 2%;
    }

    .student-keyword-interview-container .inner .name .num {
        margin-right: min(15px, 2vw);
    }

    .student-keyword-interview-container .inner .name .name-school {
        font-size: min(20px, 2.66666667vw);
        margin-left: 22%;
    }

    .student-keyword-interview-container .inner .name .san {
        font-size: min(20px, 2.66666667vw);
    }

    .student-keyword-interview-section .other-course-container {
        width: 62.66666667vw;
        margin: min(50px, 6.66666667vw) auto 0;
        padding: 0 min(24px, 3.2vw);
    }

    .student-keyword-interview-section .other-course-container .other-course-title {
        line-height: 2.5;
        font-size: min(19px, 2.53333333vw);
        padding: min(7px, 0.93333333vw) 0;
    }

    .student-keyword-interview-section .other-course-container .other-course-grid-container .other-course-grid .other-course-grid-item {
        font-size: min(23px, 3.06666667vw);
    }

    .student-keyword-interview-section .other-course-container .other-course-grid-container {
        line-height: 2;
        padding: min(22px, 2.93333333vw) 0;
    }

}

/* モーダルstyle */
.student-interview-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10000;
}

.student-interview-modal.active {
    display: block;
}

.student-interview-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    cursor: pointer;
}

.student-interview-modal-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    max-width: 1024px;
    max-height: 90vh;
    overflow-y: auto;
    background-color: #ffffff;
    padding: 35px 56px 56px 86px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.3);
    z-index: 10001;
}

.student-interview-modal-close {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
    font-size: 30px;
    line-height: 1;
    background-color: transparent;
    border: none;
    cursor: pointer;
    color: #000;
    z-index: 10002;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.3s;
}

.student-interview-modal-close:hover {
    opacity: 0.6;
}

.student-interview-modal-body .student-interview-item {
    max-width: 100%;
    margin: 0;
    background-color: #ffffff;
    padding: 0;
}

.student-interview-modal-body .student-interview-item h3 {
    font-size: 40px;
    margin-bottom: 16px;
    font-weight: 600;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
}

.student-interview-modal-body .student-interview-item h3 .modal-department-name {
    font-size: 40px;
    color: #000000;
    font-weight: 600;
}

.student-interview-modal-body .student-interview-item h3 .modal-course-title-text {
    font-size: 40px;
    font-weight: 600;
}


.student-interview-modal-body .student-interview-item-grade {
    font-size: 21px;
    line-height: 1.8;
    font-weight: 600;
    position: relative;
    text-align: center;
    margin-bottom: 26px;
}

.student-interview-modal-body .student-interview-item-grade .num {
    font-size: 34px;
}

.student-interview-modal-body .student-interview-item-grade::before {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    width: 43.5%;
    height: 2px;
    background-color: #000000;
}

.student-interview-modal-body .student-interview-item-grade::after {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    width: 43.5%;
    height: 2px;
    background-color: #000000;
}

.student-interview-modal-body .student-interview-grid {
    display: flex;
    align-items: flex-start;
    gap: 36px;
    margin-bottom: 22px;
}

.student-interview-modal-body .student-interview-grid .img {
    width: 492px;
    margin-left: -30px;
}

.student-interview-modal-body .student-interview-grid .img .name {
    font-size: 21px;
    font-weight: 600;
    text-align: right;
}

.student-interview-modal-body .student-interview-grid .img .name .name-school {
    font-size: 16px;
}

.student-interview-modal-body .student-interview-grid .interview-text {
    width: 382px;
    font-size: 15px;
}

.student-interview-modal-body .student-interview-image {
    width: 100%;
}

.student-interview-modal-body .student-interview-image picture,
.student-interview-modal-body .student-interview-image img {
    width: 100%;
    height: auto;
}


@media (max-width: 750px) {
    .student-interview-modal-content {
        width: 86.66666667vw;
        max-width: 650px;
        padding: min(38px, 5.06666667vw) min(24px, 3.2vw) min(38px, 5.06666667vw);
    }

    .student-interview-modal-close {
        top: min(10px, 1.33333333vw);
        right: min(10px, 1.33333333vw);
        width: min(30px, 4vw);
        height: min(30px, 4vw);
        font-size: min(24px, 3.2vw);
    }

    .student-interview-modal-body .student-interview-item h3 {
        font-size: min(38px, 5.06666667vw);
        margin-bottom: min(14px, 1.86666667vw);
        gap: min(15px, 2vw);
    }

    .student-interview-modal-body .student-interview-item h3 .modal-department-name {
        font-size: min(30px, 4vw);
        color: #000000;
        font-weight: 600;
    }

    .student-interview-modal-body .student-interview-item h3 .modal-course-title-text {
        font-size: min(38px, 5.06666667vw);
        font-weight: 600;
    }

    .student-interview-modal-body .student-interview-item-grade {
        font-size: min(21px, 2.8vw);
        margin: 0 min(8px, 1.06666667vw) min(16px, 2.13333333vw);
    }

    .student-interview-modal-body .student-interview-item-grade .num {
        font-size: min(27px, 3.6vw);
    }

    .student-interview-modal-body .student-interview-item-grade::before {
        width: min(172px, 22.93333333vw);
    }

    .student-interview-modal-body .student-interview-item-grade::after {
        width: min(172px, 22.93333333vw);
    }

    .student-interview-modal-body .student-interview-grid {
        flex-direction: column;
        gap: min(10px, 1.33333333vw);
        margin-bottom: min(32px, 4.26666667vw);
    }

    .student-interview-modal-body .student-interview-grid .img {
        width: 102%;
        margin-left: -2%;
    }

    .student-interview-modal-body .student-interview-grid .img .name {
        text-align: center;
        font-size: min(21px, 2.8vw);
        padding-top: min(6px, 0.8vw);
    }

    .student-interview-modal-body .student-interview-grid .img .name .name-school {
        font-size: min(16px, 2.13333333vw);
    }

    .student-interview-modal-body .student-interview-grid .interview-text {
        width: 100%;
        font-size: min(14px, 1.86666667vw);
        padding: 0 min(22px, 2.93333333vw) 0;
    }
}

