/* --- 日本語フォントを使用するすべての要素に font-weight: 500 を適用 (一括上書き) --- */

/* 1. 全称セレクタで一括指定 */
#thu-f-content * {
    font-weight: 500;
}

/* 2. ファイル内で使われている主要なテキストクラスを強制的に500で上書き */
#thu-f-content .text,
#thu-f-content .title,
#thu-f-content .section-subtitle,
#thu-f-content .right-container-text,
#thu-f-content .card-text,
#thu-f-content .acb-subtitle,
#thu-f-content .mobile-subtitle,
#thu-f-content .info-guide-card-label,
#thu-f-content .info-guide-subtitle,
#thu-f-content .program-title,
#thu-f-content .program-label,
#thu-f-content .common-subtitle,
#thu-f-content .selection .program-title .program-large-text,
#thu-f-content .selection .program-title .program-small-text-1,
#thu-f-content .selection .program-title .program-small-text-2,
#thu-f-content .selection .program .program-btn,
#thu-f-content .about-card .right .text,
#thu-f-content .about-card .right .title,
#thu-f-content .message,
#thu-f-content .sign,
#thu-f-content .faq-answer,
#thu-f-content .qna-card-txt {
    font-weight: 500 !important;
}

/* 3. 見出しなどで太字（Bold）を維持したい要素を個別に指定 */
#thu-f-content h1, 
#thu-f-content h2, 
#thu-f-content h3, 
#thu-f-content strong, 
#thu-f-content b,
#thu-f-content .hero-title,
#thu-f-content .main-title,
#thu-f-content .acb-main-title,
#thu-f-content .info-guide-title,
#thu-f-content .navigation-guide-title,
#thu-f-content .navigation-guide-subtitle,
#thu-f-content .common-title,
#thu-f-content .faq-title,
#thu-f-content .faq-label {
    font-weight: bold !important;
}
/* ---------------- ここまで追加 ---------------- */

/* ==========================================================================
   FONT IMPORTS
   ========================================================================== */

/* English font - Saira Condensed */
@import url(https://db.onlinewebfonts.com/c/2bde541412c22560cc00e877296db4ac?family=Saira+Condensed);

/* Japanese font - Tazugane Gothic HondaMKTA Med */
@import url(https://db.onlinewebfonts.com/c/7c7b079cf59c70d55d0b33eae89f1f38?family=Tazugane+Gothic+HondaMKTA+Med);


#thu-f-content .text,
#thu-f-content  .title,
/* .section-subtitle, */
#thu-f-content  .right-container-text,
#thu-f-content  .btn-text,
#thu-f-content  .card-content h2 span,
#thu-f-content  .card-text,
#thu-f-content  .tuition-right-text,
#thu-f-content  .tuition-right-btn-container,
#thu-f-content  .campus-life-btn,
#thu-f-content  .column-right-content-container-text {
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro",
        "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic",
        "メイリオ", Meiryo, sans-serif !important;
}

#thu-f-content .mobile-view{
    display: none !important;
}

/* Show mobile view on mobile devices */
@media (max-width: 768px) {
    #thu-f-content .mobile-view {
        display: block !important;
    }
}
/* ==========================================================================
   ANIMATIONS
   ========================================================================== */

@keyframes fadeInFromTop {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes burstIn {
  0% {
    opacity: 0;
    transform: scale(0.3) rotate(-10deg);
  }
  50% {
    opacity: 0.8;
    transform: scale(1.1) rotate(5deg);
  }
  100% {
    opacity: 1;
    transform: scale(1) rotate(0);
  }
}

@keyframes slideInFromLeft {
  from {
    opacity: 0;
    transform: translateX(-50px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Animation Classes */
#thu-f-content .animate-burst {
  animation: burstIn 1s ease-out forwards;
  opacity: 0;
}

#thu-f-content .animate-slide {
  animation: slideInFromLeft 0.8s ease-out forwards;
  opacity: 0;
}

#thu-f-content .left {
  animation: fadeInFromTop 1s ease-out forwards;
}


#thu-f-content  .campus-img{
    height: 345px;
}
/* ==========================================================================
   CSS CUSTOM PROPERTIES (VARIABLES)
   ========================================================================== */

:root {
    /* Color palette */
    --white: #ffffff;
    --black: #000000;
    --blue: #1B2D73;
    --light-steel-blue: #D3DDF0;
    --grey: #F2F4FC;
    --turquoise: #4cdbac;
    --aqua: #57f9c4;
    --vidvid-azure: #18cde5;
    --vidvid-red: #f62723;
    --peach: #ffbd59;
    --sky-blue: #97c5e6;
    --blue-gradient: linear-gradient(90deg, #2d4a95, #0b9dd5);

    /* Typography */
    --font-japanese: 'Tazugane Gothic HondaMKTA Med', sans-serif;
    --font-english: 'Saira Condensed', sans-serif;
}

body{
    overflow-x: hidden;
}

/* Button component */
#thu-f-content .btn {
    background: linear-gradient(to right, #5be9b9, #5ee7c6) !important;
    border-radius: 50px;
    color: var(--white) !important;
    /* max-width: 130px; */
    height: 48px;
    font-size: 17px !important;
    position: relative;
    white-space: nowrap;
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", 游ゴシック体, YuGothic, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, sans-serif;
    font-weight: bold;
    display: block;
    /* margin-left: auto; */
    /* margin-right: auto; */
    text-align: center;
    padding: 11px 15px;
}

#thu-f-content .card-btn {
    background: linear-gradient(to right, #5be9b9, #5ee7c6) !important;
    border-radius: 50px;
    color: var(--white) !important;
    /* max-width: 130px; */
    height: 48px;
    font-size: 17px !important;
    position: relative;
    white-space: nowrap;
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", 游ゴシック体, YuGothic, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, sans-serif;
    font-weight: bold;
    display: block;
    /* margin-left: auto; */
    /* margin-right: auto; */
    text-align: center;
    padding: 11px 15px;
}

#thu-f-content .card-btn span {
  position: relative;
  display: inline-block;
}

#thu-f-content .card-btn:hover span::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 5px;
  width: 100%;
  height: 1px;
  background-color: currentColor;
}

@media (max-width: 768px) {
    #thu-f-content .btn {
    background: linear-gradient(to right, #5be9b9, #5ee7c6) !important;
    border-radius: 50px;
    color: var(--white) !important;
    /* max-width: 130px; */
    height: 48px;
    font-size: 17px !important;
    position: relative;
    white-space: nowrap;
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", 游ゴシック体, YuGothic, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, sans-serif;
    font-weight: bold;
    display: block;
    /* margin-left: auto; */
    /* margin-right: auto; */
    text-align: center;
    padding: 11px 15px;
    }
}

/* #thu-f-content .btn:hover {
    transform: translateY(-1px);
} */

#thu-f-content .btn:hover {
    text-decoration: underline;
    text-underline-offset: 0.2em;
    text-decoration-thickness: 1px;
}

/* Remove underline from the arrow */
/* #thu-f-content .btn::after {
    content: '\3000\3009';
    display: inline-block;
    text-decoration: none !important;
} */

/* Additional styles for #thu-f-content */
#thu-f-content .title {
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", 游ゴシック体, YuGothic, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, sans-serif;
}

#thu-f-content .hero-title {
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", 游ゴシック体, YuGothic, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, sans-serif;
}

#thu-f-content .section-title {
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", 游ゴシック体, YuGothic, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, sans-serif;
}

#thu-f-content .info-box {
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", 游ゴシック体, YuGothic, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, sans-serif;
}

#thu-f-content .btn {
    background: linear-gradient(to right, #5be9b9, #5ee7c6) !important;
    border-radius: 50px;
    color: var(--white) !important;
    /* max-width: 130px; */
    height: 48px;
    font-size: 17px !important;
    position: relative;
    white-space: nowrap;
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", 游ゴシック体, YuGothic, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, sans-serif;
    font-weight: bold;
    display: block;
    /* margin-left: auto; */
    /* margin-right: auto; */
    text-align: center;
    padding: 11px 15px;}

#thu-f-content h1,
#thu-f-content h2,
#thu-f-content h3,
#thu-f-content h4,
#thu-f-content h5,
#thu-f-content h6 {
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", 游ゴシック体, YuGothic, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, sans-serif;
}

#thu-f-content p {
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", 游ゴシック体, YuGothic, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, sans-serif;
}

#thu-f-content a {
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", 游ゴシック体, YuGothic, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, sans-serif;
}

#thu-f-content .mobile-sns{
    width: 100%;
}

#thu-f-content .mobile-sns-header{
    margin-bottom: 30px;
}

@media (max-width: 768px) {
    #thu-f-content .mobile-sns-header{
        margin-bottom: 10px;
    }
}

#thu-f-content .mobile-sns-title{
    color: var(--turquoise);
    font-size: 46px;
    font-family: var(--font-english);
    font-weight: normal;
    line-height: 1;
    text-align: center;
}

#thu-f-content .mobile-sns-subtitle{
    color: var(--blue);
    font-size: 10px;
    text-align: center;
}

#thu-f-content .mobile-sns-body{
}

#thu-f-content .mobile-sns-menu{
    width: auto;
    display: flex;
    gap: 15px;
    flex-wrap: nowrap;
    white-space: nowrap;
    border-bottom: 1px solid var(--blue);
    user-select: none;
    overflow-x: auto;
}

#thu-f-content .mobile-sns-menu::-webkit-scrollbar{
    width: 0;
    height: 0;
}

#thu-f-content .mobile-sns-menu-item{
    min-width: 120px;
    min-height: 25px;
    color: var(--white);
    font-size: 9px;
    text-align: center;
    line-height: 25px;
    border: 1px solid var(--blue);
}

#thu-f-content .instagram-btn{
    background: linear-gradient(135deg,#4667ff,#ff5d53);
}

#thu-f-content .line-btn{
    background-color: #00bf63;
}

#thu-f-content .youtube-btn{
    background-color: #f62723;
}

#thu-f-content .x-btn{
    background-color: #000000;
}

#thu-f-content .mobile-sns-content-container{
    width: 100%;
}

#thu-f-content .instagram-content{
    width: 95%;
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 10px 20px;

    margin: 0 auto;

    padding: 20px 0;
}

#thu-f-content .instagram-card{
    width: 100%;
}

#thu-f-content .instagram-card-header{
    display: flex;
    gap: 5px;
}

#thu-f-content .instagram-card-header .user-avatar{
    width: 10px;
    height: 10px;
    object-fit: cover;
}

#thu-f-content .instagram-card-header .username{
    font-size: 7px;
    color: var(--blue);
}

#thu-f-content .instagram-card-body{
    width: 100%;
    position: relative;
    padding-bottom: 1px;
}

#thu-f-content .instagram-card-body .post-img{
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
}

#thu-f-content .instagram-card .dots{
    margin: 5px 0;
    display: flex;
    justify-content: center;
    gap: 3px;
}

#thu-f-content .instagram-card .dot{
    width: 3px;
    height: 3px;
    background-color: var(--blue);
    border-radius: 50%;
    margin: 0;
}

#thu-f-content .instagram-card .fav{
    position: absolute;
    left: 0;
    bottom: 0;
}

#thu-f-content .instagram-card .fav-icon{
    width: 10px;
    aspect-ratio: 1;
}

#thu-f-content .mobile-sns .quick-actions{
    width: 80%;
    margin-left: auto;
    display: flex;
    gap: 10px;
}

#thu-f-content .current-action{
    width: 75%;
    display: flex;
    justify-content: center;
    align-items: center;
}

#thu-f-content .quick-btn{
    display: flex;
    gap: 10px;
}
#thu-f-content .current-action .quick-btn{
    width: 100%;
}

#thu-f-content .quick-btn .btn-icon{
    width: 20%;
    aspect-ratio: 1;
}

#thu-f-content .quick-btn .btn-text{
    color: var(--white);
    font-size: 13px;
    width: 80%;
    border-radius: 2px;
    
    display: flex;
    justify-content: center;
    align-items: center;
}

#thu-f-content .quick-btn .btn-text .text{
    /* text-decoration: underline; */
}


#thu-f-content .other-actions{
    width: 25%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 10px;
}

#thu-f-content .other-actions .quick-btn{
    gap: 3px;
    white-space: nowrap;
}

#thu-f-content .other-actions .btn-text{
    width: auto;

    font-size: 5px;
    display: inline-block;
    padding: 4px 4px;
}

#thu-f-content .info-guide{
    width: min(80%, 1200px);
    margin: 100px auto;
    max-width: 100%;
    border: 1px solid var(--blue);
    overflow: hidden;
}

@media (max-width: 768px) {
    #thu-f-content .info-guide{
        margin: 50px auto;
    }
}

#thu-f-content .info-guide-up-container{
    display: flex;
    width: 100%;
}

#thu-f-content .info-guide-header{
    flex: 0 0 30%;
    min-width: 200px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 25px;
    border-right: 1px solid var(--blue);
    box-sizing: border-box;
}

@media (max-width: 768px) {
    #thu-f-content .info-guide-header{
        padding: 15px;
    }
}

#thu-f-content .info-guide-title{
    color: var(--blue);
    font-size: 28px;
    font-weight: bold;
    letter-spacing: 1px;
    line-height: 1.2;
}

@media (max-width: 768px) {
    #thu-f-content .info-guide-title{
        font-size: 24px;
    }
}

#thu-f-content .info-guide-subtitle{
    color: var(--blue);
    font-size: 18px;
    font-weight: bold;
}

@media (max-width: 768px) {
    #thu-f-content .info-guide-subtitle{
        font-size: 12px;
    }
}

#thu-f-content .info-guide-up-cards{
    flex: 1;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, 1fr);
}

#thu-f-content .info-guide-card{
    min-height: 0;
    color: var(--blue);
    border-right: 1px solid var(--blue);
    border-bottom: 1px solid var(--blue);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 40px;
    padding: 25px;
    box-sizing: border-box;
    position: relative;
}

@media (max-width: 768px) {
    #thu-f-content .info-guide-card{
        gap: 15px;
        padding: 15px;
    }
}

#thu-f-content .info-guide-up-cards .info-guide-card:nth-child(3),
#thu-f-content .info-guide-up-cards .info-guide-card:nth-child(6),
#thu-f-content .info-guide-up-cards .info-guide-card:nth-child(9)
{
    border-right: none;
}

#thu-f-content .info-guide-up-cards .info-guide-card:nth-child(7),
#thu-f-content .info-guide-up-cards .info-guide-card:nth-child(8),
#thu-f-content .info-guide-up-cards .info-guide-card:nth-child(9){
    border-bottom: none;
}

#thu-f-content .info-guide-icon{
    width: 90px;
    height: auto;
    object-fit: contain;
    flex-shrink: 0;
}

@media (max-width: 768px) {
    #thu-f-content .info-guide-icon{
        width: 50px;
    }
}

#thu-f-content .cw{
    width: 90px;
    object-fit: cover;
}

@media (max-width: 768px) {
    #thu-f-content .cw{
        width: 60px;
    }
}

#thu-f-content .info-guide-card-label{
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    line-height: 1.3;
}

@media (max-width: 768px) {
    #thu-f-content .info-guide-card-label{
        font-size: 11px;
    }
}

#thu-f-content .info-guide-bottom-container{
    width: 100%;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(2, 1fr);
    border-top: 1px solid var(--blue);
}

#thu-f-content .info-guide-bottom-container .info-guide-card{
    /* Remove individual border-top to prevent double border */
}

#thu-f-content .info-guide-bottom-container .info-guide-card:nth-child(4),
#thu-f-content .info-guide-bottom-container .info-guide-card:nth-child(8){
    border-right: none;
}

#thu-f-content .info-guide-bottom-container .info-guide-card:nth-child(5),
#thu-f-content .info-guide-bottom-container .info-guide-card:nth-child(6),
#thu-f-content .info-guide-bottom-container .info-guide-card:nth-child(7),
#thu-f-content .info-guide-bottom-container .info-guide-card:nth-child(8){
    border-bottom: none;
}

@media (max-width: 768px) {

    #thu-f-content .info-guide{
        width: 95%;
        margin: 25px auto;
    }

    #thu-f-content .info-guide-up-container{
        flex-direction: column;
    }

    #thu-f-content .info-guide-header{
        flex: none;
        width: 100%;
        border-right: none;
        border-bottom: 1px solid var(--blue);
        text-align: center;
        padding: 20px 15px;
    }

    #thu-f-content .info-guide-up-cards{
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(3, 1fr);
    }

    #thu-f-content .info-guide-up-cards .info-guide-card:nth-child(2),
    #thu-f-content .info-guide-up-cards .info-guide-card:nth-child(4),
    #thu-f-content .info-guide-up-cards .info-guide-card:nth-child(6),
    #thu-f-content .info-guide-up-cards .info-guide-card:nth-child(8){
        border-right: none;
    }

    #thu-f-content .info-guide-up-cards .info-guide-card:nth-child(3),
    #thu-f-content .info-guide-up-cards .info-guide-card:nth-child(5),
    #thu-f-content .info-guide-up-cards .info-guide-card:nth-child(7),
    #thu-f-content .info-guide-up-cards .info-guide-card:nth-child(9){
        border-right: 1px solid var(--blue);
    }

    #thu-f-content .info-guide-up-cards .info-guide-card:nth-child(9),
    #thu-f-content .info-guide-up-cards .info-guide-card:nth-child(10){
        border-bottom: none;
    }

    #thu-f-content .info-guide-up-cards .info-guide-card:nth-child(4),
    #thu-f-content .info-guide-up-cards .info-guide-card:nth-child(7),
    #thu-f-content .info-guide-up-cards .info-guide-card:nth-child(8){
        border-bottom: 1px solid var(--blue);
    }

    #thu-f-content .info-guide-card{
        gap: 15px;
        padding: 20px 15px;
    }

    #thu-f-content .info-guide-bottom-container{
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(4, 1fr);
    }

    #thu-f-content .info-guide-bottom-container .info-guide-card:nth-child(2),
    #thu-f-content .info-guide-bottom-container .info-guide-card:nth-child(4),
    #thu-f-content .info-guide-bottom-container .info-guide-card:nth-child(6),
    #thu-f-content .info-guide-bottom-container .info-guide-card:nth-child(8){
        border-right: none;
    }

    #thu-f-content .info-guide-bottom-container .info-guide-card:nth-child(7),
    #thu-f-content .info-guide-bottom-container .info-guide-card:nth-child(8){
        border-bottom: none;
    }
}


/* navigation guide  */
#thu-f-content .navigation-guide{
    width: 100%;
    aspect-ratio: 4/1.3;
    background-size: cover;
    background-position: 0 63%;

    display: flex;
    justify-content: center;
    align-items: center;

    margin-bottom: 100px;
}

@media (max-width: 768px) {
    #thu-f-content .navigation-guide{
        margin-bottom: 50px;
    }
}

#thu-f-content .navigation-guide-header{
    width: 70%;
    
}

#thu-f-content .navigation-guide-title{
    color: var(--white);
    font-weight: bold;
    text-align: start;
    font-size: 75px;
    font-weight: 900;
    /* line-height: 1px; */
    margin-bottom: 24px;
    text-shadow: 4px 3px 4px rgba(0, 0, 0, 0.4);
}

@media (max-width: 768px) {
    #thu-f-content .navigation-guide-title{
        font-size: 24px;
    }
}

#thu-f-content .navigation-guide-subtitle{
    color: var(--white);
    font-weight: bold;
    text-align: start;
    font-size: 50px;
    font-weight: 900;
    line-height: 1px;
    margin-bottom: 24px;
    text-shadow: 4px 3px 4px rgba(0, 0, 0, 0.4);

}

@media (max-width: 768px) {
    #thu-f-content .navigation-guide-subtitle{
        font-size: 20px;
    }
}


/* selection  */

#thu-f-content .selection{
    width: 97%;
    border-left: 1px solid #ccc;
    /* margin: 0 auto; */
    padding: 30px 0;
}

#thu-f-content .selection-header{
    margin-bottom: 40px;
}

@media (max-width: 768px) {
    #thu-f-content .selection-header{
        margin-bottom: 20px;
    }
}

#thu-f-content .common-title{
    width: 75%;
    color: var(--aqua);
    font-size: 78px;
    font-family: var(--font-english);
    font-weight: 500;
    margin: 0 auto;
    line-height: .9;
}

@media (max-width: 768px) {
    #thu-f-content .common-title{
        font-size: 55px;
    }
}

#thu-f-content .common-divider{
    width: 450px;
    height: 1px;
    background-color: #ccc;
}

@media (max-width: 768px) {
    #thu-f-content .common-divider{
        width: 50vw;
    }
}

#thu-f-content .common-subtitle{
    width: 75%;
    color: var(--blue);
    font-size: 22px;
    margin: 0 auto;
}

@media (max-width: 768px) {
    #thu-f-content .common-subtitle{
        font-size: 15px;
    }
}

#thu-f-content .selection-body{
    width: 65%;
    margin: 0 auto;
}

#thu-f-content .selection-body .info-box{
    margin-bottom: 30px;
}

@media (max-width: 768px) {
    #thu-f-content .selection-body .info-box{
        margin-bottom: 10px;
    }
}

#thu-f-content .selection .info-box img{
    top: -41px;
}

#thu-f-content .selection-placeholder{
    margin: 30px 0;
}

@media (max-width: 768px) {
    #thu-f-content .selection-placeholder{
        margin: 10px 0;
    }
}

#thu-f-content .selection .program-container{
    width: 100%;
    padding: 15px 15px 0 15px;
    background: var(--blue-gradient);
    display: flex;
    flex-direction: column;
    align-items: end;

    margin-bottom: 30px;
}

@media (max-width: 768px) {
    #thu-f-content .selection .program-container{
        padding: 8px 8px 0 8px;
        margin-bottom: 10px;
    }
}

#thu-f-content .selection .program-container-content{
    width: 100%;
    display: flex;
}

#thu-f-content .selection .selection-container-title{
    width: 20%;
    color: var(--turquoise);
    font-size: 18px;
    line-height: .9;
}

@media (max-width: 768px) {
    #thu-f-content .selection .selection-container-title{
        font-size: 8px;
    }
}



#thu-f-content .selection .selection-container-title span{
    font-family: var(--font-english);
    font-size: 97px;
    font-weight: bold;
}

@media (max-width: 768px) {
    #thu-f-content .selection .selection-container-title span{
        font-size: 44px;
    }
}

#thu-f-content .selection .programs{
    width: 80%;
}

#thu-f-content .selection .programs .three-programs{
    display: flex;
    gap: 30px;
    align-items: end;
    margin-bottom: 15px;
}

@media (max-width: 768px) {
    #thu-f-content .selection .programs .three-programs{
        gap: 10px;
        margin-bottom: 8px;
    }
}

#thu-f-content .selection .programs .program{
    min-width: 170px;
    color: var(--white);
    font-weight: 400;
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 15px;
    border-bottom: 1px solid var(--white);
    padding: 3px;
}

@media (max-width: 768px) {
    #thu-f-content .selection .programs .program{
        min-width: 80px;
        gap: 8px;
        padding: 2px;
    }
}

#thu-f-content .selection .program .program-title {
    display: flex;
    align-items: end;
    line-height: .9;
}

#thu-f-content .selection .selection-icon{
    width: 20px;
    aspect-ratio: 1;
    object-fit: contain;
    margin-right: 7px;
}

@media (max-width: 768px) {
    #thu-f-content .selection .selection-icon{
        margin-right: 3px;
    }
}

@media (max-width: 768px) {
    #thu-f-content .selection .selection-icon{
        width: 10px;
    }
}

#thu-f-content .selection .program-title .program-large-text{
    font-size: 20px;
}

@media (max-width: 768px) {
    #thu-f-content .selection .program-title .program-large-text{
        font-size: 8px;
    }
}

#thu-f-content .selection .program-title .program-small-text-1{
    /* font-size: clamp(6px,1vw,15px); */
    font-size: 9px;
}

@media (max-width: 768px) {
    #thu-f-content .selection .program-title .program-small-text-1{
        font-size: 6px;
    }
}

#thu-f-content .selection .program-title .program-small-text-2{
    /* font-size: clamp(5px,.8vw,10px); */
  font-size: 9px;
    line-height: 1.4;
}

@media (max-width: 768px) {
    #thu-f-content .selection .program-title .program-small-text-2{
        font-size: 5px;
    }
}

#thu-f-content .selection .programs .program .program-btn{
    color: var(--white);
    background: linear-gradient(var(--turquoise), var(--aqua));
    /* text-decoration: underline; */
    /* height: clamp(18px,1.2vw,35px);
    font-size: clamp(3px,.5vw,6px); */
    height: 35px;
    font-size: 6px;
    text-decoration: none;
    /* line-height: clamp(18px,1.2vw,35px); */
    line-height: 35px;
    /* padding: .6vw .8vw; */
    /* padding: 0 .5vw; */
    padding: 0 5px;
    display: inline-block;
    border-radius: 15px;
}

@media (max-width: 768px){
    #thu-f-content .selection .programs .program .program-btn{
        height: 10px;
        font-size: 3px;
        line-height: 10px;
        padding: 0 1px;
        border-radius: 10px;
    }
}

#thu-f-content .selection .department-container{
    width: 96%;
    /* padding: 1vw 1vw 0 1vw; */
    padding: 8px 8px 0 8px;
    background: var(--blue-gradient);
    display: flex;
    flex-direction: column;
    align-items: end;
}

#thu-f-content .selection .department-container-content{
    width: 100%;
    display: flex;
    margin-bottom: 15px;
}

@media (max-width: 768px) {
    #thu-f-content .selection .department-container-content{
        margin-bottom: 8px;
    }
}

#thu-f-content .selection .departments{
    display: flex;
    gap: 30px;

    position: relative;
}

@media (max-width: 768px) {
    #thu-f-content .selection .departments{
        gap: 10px;
    }
}


#thu-f-content .selection .department{
    color: var(--white);
    display: flex;
    justify-content: start;
    align-items: start;
    font-size: 11px;
}

@media (max-width: 768px) {
    #thu-f-content .selection .department{
        font-size: 5px;
    }
}

#thu-f-content .selection .departments .department-note{
    color: var(--white);
    font-size: 7px;
    position: absolute;
    bottom: 0;
    
}

@media (max-width: 768px) {
    #thu-f-content .selection .departments .department-note{
        font-size: 3px;
    }
}

#thu-f-content .selection .course-container{
    width: 91%;
    padding: 15px;
    background: var(--blue-gradient);
    display: flex;
}

@media (max-width: 768px) {
    #thu-f-content .selection .course-container{
        padding: 8px;
    }
}

#thu-f-content .selection .course-container-title{
    width: 21%;
}

#thu-f-content .selection .courses{
    display: flex;
    flex-direction: column;
    gap: 15px;
}

@media (max-width: 768px) {
    #thu-f-content .selection .courses{
        gap: 8px;
    }
}

#thu-f-content .selection .course{
    color: var(--white);
   display: flex;
}

#thu-f-content .selection .course .course-title{
    font-size: 11px;
}

@media (max-width: 768px) {
    #thu-f-content .selection .course .course-title{
        font-size: 5px;
    }
}

#thu-f-content .selection-btn-container{
    display: flex;
    justify-content: center;
}

@media (max-width: 768px) {

    #thu-f-content .common-title,#thu-f-content .common-subtitle{
        width: 85%;
    }

    #thu-f-content .common-divider{
        width: 25vw;
    }

    #thu-f-content .selection-body{
        width: 90%;
    }
    #thu-f-content .selection-btn{
    background: linear-gradient(to right, #5be9b9, #5ee7c6) !important;
    border-radius: 50px;
    color: var(--white) !important;
    /* max-width: 130px; */
    height: 48px;
    font-size: 17px !important;
    position: relative;
    white-space: nowrap;
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", 游ゴシック体, YuGothic, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, sans-serif;
    font-weight: bold;
    display: block;
    /* margin-left: auto; */
    /* margin-right: auto; */
    text-align: center;
    padding: 11px 15px;    }

    #thu-f-content .selection .info-box{
        padding: 10px 0;
    }

    #thu-f-content .selection .info-box img{
        top: -22px;
        left: -4px;
    }

    #thu-f-content .selection .course-container-title{
        width: 24%;
    }
}


#thu-f-content .about{
    width: 97%;
    border-left: 1px solid #ccc;
    margin: 0 auto;
    max-width: none;
    padding: 30px 0;
}

#thu-f-content .about-header{
    margin-bottom: 30px;
}

#thu-f-content .about-body{
    width: 65%;
    margin: 0 auto;
}

#thu-f-content .about .about-body .about-img{
    width: 100%;
    margin-top: 10px;
    aspect-ratio: 3/4;
    object-fit: cover;
}

#thu-f-content .about .about-body .about-content{
    justify-content: space-between;
    position: relative;
}

#thu-f-content .about .about-body .mobile-hide.about-content .right-panel{
    height: 600px;
    overflow-y: auto;

    padding: 0 60px 0 0;

    position: relative;
}

#thu-f-content .about .about-body .mobile-hide.about-content::after{
    content: "SCROLL";

    color: var(--blue);
    font-size: 26px;

    transform: rotate(90deg);
    position: absolute;
    right: -7%;
    top: 30%;
}

#thu-f-content .about .about-body .mobile-hide.about-content .right-panel::-webkit-scrollbar{
    width: 10px;
}

#thu-f-content .about .about-body .mobile-hide.about-content .right-panel::-webkit-scrollbar-track{
    background-color: var(--blue);

    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top:50px solid transparent ;
    border-bottom:50px solid transparent ;
    background-clip: padding-box;

    
}

#thu-f-content .about .about-body .mobile-hide.about-content .right-panel::-webkit-scrollbar-thumb {
    background-color: var(--blue);

    border-top:50px solid transparent ;
    border-bottom:50px solid transparent ;
    background-clip: padding-box;
}

#thu-f-content .about-body .about-card{
    width: 100%;
    background-color: var(--blue);
    position: relative;
}

#thu-f-content .about-body .about-card::after{
    content: "";
    
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 30px solid var(--blue);

    position: absolute;
    left: 6%;
    top: 100%;
}

#thu-f-content .about-body .about-card .left{
    width: 15%;
    height: 100%;
    padding: 18px 0;
}

#thu-f-content .about-body .about-card .left::after{
    display: none;
}

#thu-f-content .about-body .about-card .right{
    width: 85%;
    background-color: var(--white);
}


@media (max-width: 768px) {
    #thu-f-content .about-body{
        width: 100%;

    }

    #thu-f-content .about-body .mobile-view.about-text {
        width: 90%;
    }

    #thu-f-content .about-body .about-text .info-box{
        padding: 10px 0;
    }

    #thu-f-content .about-body .about-text .info-box img{
        width: 38px !important;
        top: -18px;
    }


    #thu-f-content .mobile-view.about-content .mobile-bg {
        background: url("../img/for_propspective_student/about-us.jpeg");
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        padding: 40px 20px;
    }

    #thu-f-content .mobile-view.about-content .mobile-no-bg{
        padding: 40px 20px;
    }

    #thu-f-content .mobile-view.about-content .about-card{
        background-color: var(--white);
    }

    #thu-f-content .mobile-view.about-content .about-card .left{
        width: 15%;
    }

    #thu-f-content .mobile-view.about-content .about-card .right{
        width: 85%;
    }

    #thu-f-content .card-btn-mobile{
    background: linear-gradient(to right, #5be9b9, #5ee7c6) !important;
    border-radius: 50px;
    color: var(--white) !important;
    /* max-width: 130px; */
    height: 48px;
    font-size: 17px !important;
    position: relative;
    white-space: nowrap;
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", 游ゴシック体, YuGothic, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, sans-serif;
    font-weight: bold;
    display: block;
    /* margin-left: auto; */
    /* margin-right: auto; */
    text-align: center;
    padding: 11px 15px;

    }

    #thu-f-content .about-body .mobile-view .about-card{
        width: 100%;
        background-color: var(--blue);
        position: relative;
    }

    #thu-f-content .about-body .mobile-view .about-card .left{
        height: 100%;
        background: none;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        margin: auto 0;
    }

    #thu-f-content .about-body .mobile-view .scrollable-container{
        height: 600px;
        overflow-y: auto;
    }
}

#thu-f-content .entrance-exam{
    width: 97%;
    border-left: 1px solid #ccc;
    margin: 0 auto;
    max-width: none;
    padding: 30px 0;
}

#thu-f-content .entrance-exam-header{
    margin-bottom: 30px;
}

#thu-f-content .entrance-exam-title{
    font-size: 52px;
}

@media (max-width: 768px) {
    #thu-f-content .entrance-exam-title{
        font-size: 50px;
    }
}

#thu-f-content .entrance-exam-body{
    width: 65%;
    margin: 0 auto;
}

#thu-f-content .entrance-exam-body .info-box{
    padding: 15px 0;
}

#thu-f-content .entrance-exam-body .info-box img{
    width: 55px;
    top: -26px;
    left: -4px;
}
#thu-f-content .entrance-exam-body .info-box .title{
    font-size: 25px;
}

#thu-f-content .entrance-exam-content-container{
    display: flex;
    gap: 40px;
    padding: 0 20px;
    margin-bottom: 20px;
}



#thu-f-content .entrance-exam-body .left-container,#thu-f-content .entrance-exam-body .right-container{
    width: 50%;
}

#thu-f-content .entrance-exam-body .right-container-header{
    width: 100%;
    position: relative;
    margin-bottom: 20px;
}

#thu-f-content .entrance-exam-body .right-container-img{
    width: 100%;
    aspect-ratio: 4/2;
    object-fit: cover;
    transform: scaleX(-1);

    position: relative;
    z-index: 10;
}

#thu-f-content .entrance-exam-body .right-container-img-style-box{
    width: 100%;
    aspect-ratio: 4/2;
    background: var(--blue-gradient);

    position: absolute;
    top: 15px;
    left: 15px;

    /* z-index: -1; */
}

#thu-f-content .entrance-exam-body .right-container-text{
    font-size: 14px;
}

#thu-f-content .entrance-exam-btn-container{
    display: flex;
    justify-content: center;
}

#thu-f-content .entrance-exam-btn-container.mobile-view{
    display: flex;
    justify-content: center;
    text-align: center;
    width: 100%;
}

#thu-f-content .entrance-exam-btn{
    background: linear-gradient(to right, #5be9b9, #5ee7c6) !important;
    border-radius: 50px;
    color: var(--white) !important;
    /* max-width: 130px; */
    height: 48px;
    font-size: 17px !important;
    position: relative;
    white-space: nowrap;
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", 游ゴシック体, YuGothic, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, sans-serif;
    font-weight: bold;
    display: block;
    /* margin-left: auto; */
    /* margin-right: auto; */
    text-align: center;
    padding: 11px 15px;
}

#thu-f-content .entrance-exam-btn span.btn-text{
    /* text-decoration: underline; */
    margin-right: 20px;
    font-weight: bold;
}

@media (max-width: 768px) {

    #thu-f-content .entrance-exam-body{
        width: 95%;
        padding: 0;
    }

    #thu-f-content .entrance-exam-body .right-container{
        width: 100%;
    }

    #thu-f-content .entrance-exam .mobile-view .info-box{
        padding: 2px;
    }

    #thu-f-content .entrance-exam .mobile-view .info-box img{
        top: -12px;
    }

    #thu-f-content .entrance-exam .mobile-view .info-box .title{
        font-size: 14px;
        
    }

    #thu-f-content .entrance-exam-content-container{
        padding: 0;
    }

    #thu-f-content .entrance-exam-body .right-container-img{
        aspect-ratio: 4/2.3;

    }

    #thu-f-content .entrance-exam-body .right-container-img-style-box{
        aspect-ratio: 4/2.3;
        top: 10px;
        left: 10px;

        /* z-index: -1; */
    }

    #thu-f-content .entrance-exam-body .right-container-text{
        font-size: 17px;
    }

    #thu-f-content .entrance-exam-btn{
    background: linear-gradient(to right, #5be9b9, #5ee7c6) !important;
    border-radius: 50px;
    color: var(--white) !important;
    /* max-width: 130px; */
    height: 48px;
    font-size: 17px !important;
    position: relative;
    white-space: nowrap;
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", 游ゴシック体, YuGothic, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, sans-serif;
    font-weight: bold;
    display: block;
    /* margin-left: auto; */
    /* margin-right: auto; */
    text-align: center;
    padding: 11px 15px;
    }

    #thu-f-content .entrance-exam-btn-container.mobile-view{
        display: flex;
    }
}

#thu-f-content .qualification{
    width: 97%;
    border-left: 1px solid #ccc;
    margin: 0 auto;
    max-width: none;
    padding: 30px 0;
}

#thu-f-content .qualification-title{
    font-size: 52px;
}

@media (max-width: 768px) {
    #thu-f-content .qualification-title{
        font-size: 33px;
    }
}

#thu-f-content .qualification-header{
    margin-bottom: 30px;
}

#thu-f-content .qualification-title-divider{
    width: 700px;
}

@media (max-width: 768px) {
    #thu-f-content .qualification-title-divider{
        width: 85%;
    }
}

#thu-f-content .qualification .qualification-quote{
    width: 65%;
    margin: 0 auto;
}

#thu-f-content .qualification .qualification-quote .info-box{
    padding: 15px 0;
}

#thu-f-content .qualification .qualification-quote .info-box img{
    width: 55px;
    top: -26px;
    left: -6px;
}

#thu-f-content .qualification .moving-card{
    width: 100%;
}

#thu-f-content .qualification .mobile-hide .moving-card .left{
    /* width: 32.9%;
    margin-left: 240px; */
}

@media (max-width: 768px) {
    #thu-f-content .qualification .mobile-hide .moving-card .left{
        margin-left: 80px;
    }
}

#thu-f-content .qualification .moving-card.reverce .left{
    margin-left:0;
    /* margin-right: 230px; */
}

@media (max-width: 768px) {
    #thu-f-content .qualification .moving-card.reverce .left{
        /* margin-right: 75px; */
    }
}

@media (max-width: 768px) {

    #thu-f-content .qualification .qualification-quote{
        width: 95%;
    }
    #thu-f-content .qualification-title-divider{
        width: 85%;
    }
    #thu-f-content .qualification .qualification-quote .info-box{
        padding:2px  0;
    }

    #thu-f-content .qualification .qualification-quote .info-box img{
        width: 40px;
        top: -12px;
        left: -4px;
    }

    #thu-f-content .qualification .qualification-mobile-content{
        width: 95%;
        margin: 0 auto;
    }

}


#thu-f-content .campus-life{
    width: 97%;
    border-left: 1px solid #ccc;
    margin: 0 auto;
    max-width: none;
    padding: 30px 0;
}

@media (max-width: 768px) {
#thu-f-content .campus-life{
    width: 100%;
    border-left: 1px solid #ccc;
    margin: 0 auto;
    max-width: none;
    padding: 30px 0;
}
}

#thu-f-content .campus-life-title{
    font-size: 52px;
}

@media (max-width: 768px) {
    #thu-f-content .campus-life-title{
        font-size: 50px;
    }
}

#thu-f-content .campus-life-header{
    margin-bottom: 30px;
}

#thu-f-content .campus-life-quote{
    width: 65%;
    margin: 0 auto;
}

#thu-f-content .campus-life .info-box{
    padding: 15px 0;
}

#thu-f-content .campus-life .info-box img{
    width: 55px;
    top: -26px;
    left: -6px;
}

#thu-f-content .campus-life .campus-wrap{
    width: 85%;
    gap: 20px;
}

#thu-f-content .campus-life-body{
    width: 100%;
    margin: 0 auto;
}

#thu-f-content .campus-life-img-container{
    width: 50%;
    display: flex;
    justify-content: end;
    padding: 30px 0;
}

@media (max-width: 768px) {
    #thu-f-content .campus-life-img-container{
        padding: 10px 0;
    }
}

#thu-f-content .campus-life-img-container .img-wrap{
    width: 95%;
}

#thu-f-content .campus-life .main-title{
    font-size: 63px;
    font-weight: 500;
    line-height: 1;
}


#thu-f-content .campus-life .train-icon{
    width: 190px;
}

#thu-f-content .campus-life .card2{
    width: 100%;
    margin-bottom: 10px;
}

#thu-f-content .campus-life .card2-img{
    width: 55%;
}

#thu-f-content .campus-life .card2-content{
    width: 45%;
}

#thu-f-content .campus-life .card2-img .campus1-img{
    width: 80%;
}

#thu-f-content .campus-life .card2-img::after{
        top: 25%;
    left: 13%;
    width: 80%;
    height: 60%;
}

#thu-f-content .campus-life .card2-content .card-text{
    color: var(--blue);
    font-size: 14px;
    margin-bottom: 10px;
}

#thu-f-content .campus-life .card2-content .card-content{
    font-size: 10px;
}

#thu-f-content .campus-life .card-title{
    width: 100%;
    border: 2px solid var(--blue);
    display: flex;
    justify-content: center;
    align-items: center;
    padding:4px 0 ;
}

#thu-f-content .campus-life .card-title h2{
    color: var(--blue);
    font-size: 24px;
    padding: 0;
}

#thu-f-content .campus-life .access-btn{
    width: 100%;
    color: var(--blue);
    font-size: 22px;
    font-weight: bold;
    border: 2px solid var(--blue);
    display: flex;
    justify-content: center;
    gap: 40px;
    padding: 5px 0;

}

#thu-f-content .campus-life .access-btn span:nth-of-type(1){
    /* text-decoration: underline; */
}

#thu-f-content .campus-life-btn-container{
    display: flex;
    justify-content: center;
    
}

#thu-f-content .campus-life .campus-life-btn{
    background: linear-gradient(to right, #5be9b9, #5ee7c6) !important;
    border-radius: 50px;
    color: var(--white) !important;
    /* max-width: 130px; */
    height: 48px;
    font-size: 17px !important;
    position: relative;
    white-space: nowrap;
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", 游ゴシック体, YuGothic, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, sans-serif;
    font-weight: bold;
    display: block;
    /* margin-left: auto; */
    /* margin-right: auto; */
    text-align: center;
    padding: 11px 15px;
}

#thu-f-content .campus-life .campus-life-btn span:nth-of-type(1){
    /* text-decoration: underline; */
}

@media (max-width: 768px) {

    #thu-f-content .campus-life-quote{
        width: 95%;
    }

    #thu-f-content .campus-life-quote .info-box{
        padding:2px  0;
    }

    #thu-f-content .campus-life-quote .info-box img{
        width: 40px;
        top: -12px;
        left: -4px;
    }

    #thu-f-content .campus-life .campus-life-btn{
        display: none;
    }

    #thu-f-content .campus-life .campus-dec{
        width: 100%;
    }

    #thu-f-content .campus-life .access-section{
        gap: 10px;
    }


    #thu-f-content .campus-life .campus-facility-section{
        margin: 0;
        padding-bottom: 40px;
    }

    #thu-f-content .campus-life .card-btn-mobile .card-text span:nth-of-type(1){
        /* text-decoration: underline; */
    }
}

#thu-f-content .tuition{
    width: 97%;
    border-left: 1px solid #ccc;
    margin: 0 auto;
    max-width: none;
    padding: 30px 0;
}

#thu-f-content .tuition-title{
    font-size: 52px;
}

@media (max-width: 768px) {
    #thu-f-content .tuition-title{
        font-size: 38px;
    }
}

#thu-f-content .tuition-header{
    margin-bottom: 30px;
}

#thu-f-content .tuition-title-divider{
    width: 650px;
}

@media (max-width: 768px) {
    #thu-f-content .tuition-title-divider{
        width: 85%;
    }
}

#thu-f-content .tuition-quote{
    width: 65%;
    margin: 0 auto;
}

#thu-f-content .tuition .info-box{
    padding: 15px 0;
}

#thu-f-content .tuition .info-box img{
    width: 55px;
    top: -26px;
    left: -6px;
}

#thu-f-content .tuition-body{
    width: 65%;
    display: flex;
    gap: 40px;

    margin: 0 auto;
}

#thu-f-content .tuition-left-container,#thu-f-content .tuition-right-container{
    width: 50%;
}

#thu-f-content .tuition-left-container{
    position: relative;

    z-index: 100;
}

#thu-f-content .tuition-left-bg{
    width: 100%;
    aspect-ratio: 4/3;

    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
}

#thu-f-content .tuition-left-content{
    width: 100%;
    aspect-ratio: 4/3;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

#thu-f-content .tuition-left-text{
    color: var(--white);
    background-color: var(--blue);
    font-size: 29px;
    padding: 3px 10px;
}

#thu-f-content .tuition-left-icon{
    width: 130px;
}

#thu-f-content .tuition-right-container{
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
}


#thu-f-content .tuition-right-text{
    font-size: 21px;
}


@media (max-width: 768px) {

    #thu-f-content .tuition-title, #thu-f-content .tuition-subtitle{
        width: 90%;
    }

    #thu-f-content .tuition .tuition-quote{
        width: 95%;
    }
    #thu-f-content .tuition-title-divider{
        width: 85%;
    }
    #thu-f-content .tuition .tuition-quote .info-box{
        padding:2px  0;
    }

    #thu-f-content .tuition .tuition-quote .info-box img{
        width: 40px;
        top: -12px;
        left: -4px;
    }

    #thu-f-content .tuition-body{
        width: 95%;
        flex-direction: column;
    }

    #thu-f-content .tuition-left-container,#thu-f-content .tuition-right-container{
        width: 100%;
    }

    #thu-f-content .tuition-right-container{
        gap: 20px;
    }

    #thu-f-content .tuition-right-text{
        font-size: 17px;
    }

    #thu-f-content .tuition-btn{
    background: linear-gradient(to right, #5be9b9, #5ee7c6) !important;
    border-radius: 50px;
    color: var(--white) !important;
    /* max-width: 130px; */
    height: 48px;
    font-size: 17px !important;
    position: relative;
    white-space: nowrap;
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", 游ゴシック体, YuGothic, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, sans-serif;
    font-weight: bold;
    display: block;
    /* margin-left: auto; */
    /* margin-right: auto; */
    text-align: center;
    padding: 11px 15px;
    }

}

#thu-f-content .column{
    width: 97%;
    border-left: 1px solid #ccc;
    margin: 0 auto;
    max-width: none;
    padding: 30px 0;
}


@media (max-width: 768px) {
#thu-f-content .column{
    width: 100%;
    border-left: 1px solid #ccc;
    margin: 0 auto;
    max-width: none;
    padding: 30px 0;
}
}

#thu-f-content .column-header{
    margin-bottom: 30px;
}

#thu-f-content .column-title{
    font-size: 52px;
}

@media (max-width: 768px) {
    #thu-f-content .column-title{
        font-size: 50px;
    }
}

#thu-f-content .column-body{
    width: 65%;
    margin: 0 auto;
}

#thu-f-content .column-body .info-box{
    padding: 15px 0;
}

#thu-f-content .column-body .info-box img{
    width: 55px;
    top: -26px;
    left: -6px;
}
#thu-f-content .column-body .info-box .title{
    font-size: 25px;
}

#thu-f-content .column-content-container{
    width: 100%;
    display: flex;
    justify-content: center;
    gap: 40px;

    margin-bottom: 30px;
}

#thu-f-content .column-left-content-container,#thu-f-content .column-right-content-container{
    width: 50%;
}

#thu-f-content .column-left-content-container{
    position: relative;
}

#thu-f-content .column-left-content-container-img{
    width: 100%;
    aspect-ratio: 4/2.5;
    object-fit: cover;
    transform: scaleX(-1);

    position: relative;
    z-index: 10;
}

#thu-f-content .column-left-content-container-img-style-box{
    width: 100%;
    aspect-ratio: 4/2.5;
    background: var(--blue-gradient);

    position: absolute;
    top: 15px;
    left: 15px;

    /* z-index: -1; */
}


#thu-f-content .column-right-content-container{
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    gap: 20;
}

#thu-f-content .column-right-content-container-text{
    font-size: 21px;

}

#thu-f-content .column-btn-container{
    display: flex;
    justify-content: center;
}

@media (max-width: 768px) {

    #thu-f-content .column-body{
        width: 95%;
        padding: 0;
    }

    #thu-f-content .column-body .right-container{
        width: 100%;
    }

    #thu-f-content .column .mobile-view .info-box{
        padding: 2px;
    }

    #thu-f-content .column .mobile-view .info-box img{
        top: -12px;
        left: -4px;
    }

    #thu-f-content .column .mobile-view .info-box .title{
        font-size: 14px;
        
    }

    #thu-f-content .column-content-container{
        padding: 0;
        flex-direction: column;
    }

    #thu-f-content .column-left-content-container,#thu-f-content .column-right-content-container{
        width: 100%;
    }
    

    #thu-f-content .column-body .right-container-text{
        font-size: 17px;
    }

    #thu-f-content .column-btn{
    background: linear-gradient(to right, #5be9b9, #5ee7c6) !important;
    border-radius: 50px;
    color: var(--white) !important;
    /* max-width: 130px; */
    height: 48px;
    font-size: 17px !important;
    position: relative;
    white-space: nowrap;
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", 游ゴシック体, YuGothic, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, sans-serif;
    font-weight: bold;
    display: block;
    /* margin-left: auto; */
    /* margin-right: auto; */
    text-align: center;
    padding: 11px 15px;
    }


    #thu-f-content .column-left-content-container-img-style-box{
        top: 10px;
        left: 10px;
    }

    #thu-f-content .column-right-content-container{
        gap: 30px;
    }

    #thu-f-content .column-right-content-container-text{
        font-size: 17px;
    }
}

#thu-f-content .open-campus{
    width: 97%;
    border-left: 1px solid #ccc;
    margin: 0 auto;
    max-width: none;
    padding: 30px 0;
}

@media (max-width: 768px) {
#thu-f-content .open-campus{
    width: 100%;
    border-left: 1px solid #ccc;
    margin: 0 auto;
    max-width: none;
    padding: 30px 0;
}
}

#thu-f-content .open-campus-title{
    font-size: 52px;
}

@media (max-width: 768px) {
    #thu-f-content .open-campus-title{
        font-size: 38px;
    }
}

#thu-f-content .open-campus-header{
    margin-bottom: 30px;
}

#thu-f-content .open-campus-title-divider{
    width: 650px;
}

@media (max-width: 768px) {
    #thu-f-content .open-campus-title-divider{
        width: 85%;
    }
}

#thu-f-content .open-campus-quote{
    width: 65%;
    margin: 0 auto;
}

#thu-f-content .open-campus .info-box{
    padding: 15px 0;
}

#thu-f-content .open-campus .info-box img{
    width: 55px;
    top: -26px;
    left: -6px;
}

#thu-f-content .open-campus-body{
    width: 65%;
    display: flex;
    gap: 20px;
    border: 1px solid var(--black);

    margin: 0 auto;
    padding: 15px;
}

#thu-f-content .open-campus-left-container{
    width: 40%;
}

#thu-f-content .open-campus-img{
    width: 100%;
    aspect-ratio: 1/1.1;
    object-fit: cover;
}


#thu-f-content .open-campus-content{
    color: var(--blue);
    font-size: 49px;
    font-weight: bold;

    position: relative;

    margin-top: 85px;
}

@media (max-width: 768px) {
    #thu-f-content .open-campus-content{
      font-size: 18px;
        margin-top: 54px;
    }
}

#thu-f-content .open-campus-svg{
    width: 70px;
    position: absolute;
    top: -42%;
    right: -8%;
}

@media (max-width: 768px) {
    #thu-f-content .open-campus-svg{
        width: 30px;
    }
}

#thu-f-content .open-campus-btn-container{
    display: flex;
    justify-content: center;
}

#thu-f-content .open-campus-btn-container.mobile-view{
    display: none;
}

@media (max-width: 768px) {
    #thu-f-content .open-campus-title, #thu-f-content .open-campus-subtitle{
        width: 90%;
    }

    #thu-f-content .open-campus .open-campus-quote{
        width: 95%;
    }
    #thu-f-content .open-campus-title-divider{
        width: 85%;
    }
    #thu-f-content .open-campus .open-campus-quote .info-box{
        padding:2px  0;
    }

    #thu-f-content .open-campus .open-campus-quote .info-box img{
        width: 40px;
        top: -12px;
        left: -4px;
    }

    #thu-f-content .open-campus-body{
        width: 95%;

        margin-bottom: 30px;
    }

    #thu-f-content .open-campus-svg{
        top: -26%;
        right: -3%;
    }

    #thu-f-content .mobile-view.open-campus-btn-container{
        display: flex !important;
    }   

    #thu-f-content .open-campus-btn{
    background: linear-gradient(to right, #5be9b9, #5ee7c6) !important;
    border-radius: 50px;
    color: var(--white) !important;
    /* max-width: 130px; */
    height: 48px;
    font-size: 17px !important;
    position: relative;
    white-space: nowrap;
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", 游ゴシック体, YuGothic, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, sans-serif;
    font-weight: bold;
    display: block;
    /* margin-left: auto; */
    /* margin-right: auto; */
    text-align: center;
    padding: 11px 15px;
    }
}

#thu-f-content .news-quote{
    width: 65%;
    margin: 0 auto;
}

#thu-f-content .news-quote .mobile-view{
    display: none;
}

#thu-f-content .news .info-box{
    padding: 15px 0;
}

#thu-f-content .news .info-box img{
    width: 55px;
    top: -26px;
    left: -6px;
}

#thu-f-content .news .section-subtitle{
    margin-bottom: 1px;
}

@media (max-width: 768px) {

    #thu-f-content .news-quote{
        width: 100%;
    }

    #thu-f-content .news-quote .info-box{
        padding: 10px 0;
    }

    #thu-f-content .news-quote .info-box img{
        top: -22px;
        left: -4px;
    }

    #thu-f-content .news-quote .mobile-view{
        display: block;
    }
}
#thu-f-content .text-underline{
    /* text-decoration: underline; */
}

@media (max-width: 768px) {
    #thu-f-content .info-box img{
        width: 40px !important;
    }
}



/* Mobile portrait design: centered with max 390px width below 768px */
@media (max-width: 768px) {
  html {
    background-color: #f5f5f5;
  }

  body {
    max-width: 450px;
    width: 100%;
    margin: 0 auto !important;
    background-color: #ffffff;
  }
}


/* .card-title {
    margin-left: -9px !important; 
} */
/* Tablet and larger mobile devices: 769px to 1024px */
/* @media (max-width: 1024px) {
  html {
    background-color: #f5f5f5;
  }

  body {
    max-width: 400px;
    width: 100%;
    margin: 0 auto !important;
    background-color: #ffffff;
  }
} */

/* @media (max-width: 768px) {
    div#thu-f-content {
        max-width: 450px;
        width: 100%;
        margin: 0 auto;
        background-color: #ffffff;
    }
} */







#thu-f-content .campus-life-btn span {
    position: relative;
    display: inline-block;
}

#thu-f-content .campus-life-btn:hover span::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 5px;
    width: 100%;
    height: 1px;
    background-color: currentColor;
}

#thu-f-content .access-btn {
    text-decoration: none;
}

#thu-f-content .access-btn span:first-child {
    text-decoration: none;
    position: relative;
}

#thu-f-content .access-btn:hover span:first-child {
    text-decoration: underline;
    text-underline-offset: 3px;
}

#thu-f-content .access-btn span:last-child {
    text-decoration: none;
}

#thu-f-content .fonts9zse{
    visibility: hidden;
}

#thu-f-content .acb-container.button .card-btn span {
    position: relative;
    display: inline-block;
    padding-bottom: 5px; /* Add space below text for the underline */
}

#thu-f-content .acb-container.button .card-btn:hover span::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 10px !important; /* Align with the bottom of the text */
    width: 100%;
    height: 1px;
    background-color: currentColor;
}

#thu-f-content .click-link {
  font-size: 32px;
  color: #2d4a95;
  font-weight: bold;
  position: relative;
  /* display: block; */
  display: flex;
  /* 子要素をFlexboxで配置 */
  align-items: left;
  /* 垂直方向の中央揃え */
  /* padding-right: 30px; */
  margin: auto;
  display: flex;
  justify-content: flex-end;
  text-decoration: none;
}

#thu-f-content .click-link:hover {
  text-decoration: none;
}

#thu-f-content .click-link .arrow {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 85px;
  height: 4px;
  background: linear-gradient(to right, #2d4a95, #0096c7);
  display: inline-block;
  /* transformを適用するためにインラインブロック化 */
  transition: transform 0.5s ease-in-out;
  /* アニメーションを滑らかにする */
  margin-right: 10px
}

#thu-f-content .click-link:hover .arrow {
  transform: translateX(20px);
  /* 右に20px移動させる */
  text-decoration: none;
}

#thu-f-content .click-link .arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  /* 幹の垂直方向中央に配置 */
  right: -5px;
  /* 幹の右端から少しはみ出すように配置 */
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  /* 上側の辺 */
  border-bottom: 5px solid transparent;
  /* 下側の辺 */
  border-left: 8px solid #0096c7;
  /* 左側の辺（これが矢印の先端の色） */
  transform: translateY(-50%);
  /* 垂直方向中央揃えの微調整 */
}

#thu-f-content .click-link:hover .arrow {
  transform: translateX(20px);
  /* 右に20px移動させる */
  text-decoration: none;
}

#thu-f-content .click-link .arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  /* 幹の垂直方向中央に配置 */
  right: -5px;
  /* 幹の右端から少しはみ出すように配置 */
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  /* 上側の辺 */
  border-bottom: 5px solid transparent;
  /* 下側の辺 */
  border-left: 8px solid #0096c7;
  /* 左側の辺（これが矢印の先端の色） */
  transform: translateY(-50%);
  /* 垂直方向中央揃えの微調整 */
}

#thu-f-content .click-text {
  display: inline-block;
  /* transformを適用するため */
  transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1);
  /* アニメーションを滑らかにする */
  margin-right: -8px;
  margin-top: 10px;

  text-decoration: none;
}

#thu-f-content .moving-card {
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}

#thu-f-content .moving-card .left,
#thu-f-content .moving-card .right {
  width: 100%;
}
/*
 * 右側のボックスの基本設定
 */
#thu-f-content .moving-card .right {
  position: relative;
  /* 線の基準位置にする */
  overflow: hidden;
  /* はみ出した線を隠す */
  /* ...その他の既存スタイル... */
}


/* 1. 左の線 (上から下へ) */
#thu-f-content .moving-card .right .border-line.line-left {
  top: 0;
  left: 0;
  width: 1px;
  height: 100%;
  transform: scaleY(0);
  transform-origin: top;
}

/* 2. 下の線 (左下から右へ) */
#thu-f-content .moving-card .right .border-line.line-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  transform: scaleX(0);
  transform-origin: left;
}

/* 3. 右の線 (右下から上へ) */
#thu-f-content .moving-card .right .border-line.line-right {
  bottom: 0;
  right: 0;
  width: 1px;
  height: 100%;
  transform: scaleY(0);
  transform-origin: bottom;
}

/* 4. 上の線 (右上から左へ) */
#thu-f-content .moving-card .right .border-line.line-top {
  top: 0;
  right: 0;
  width: 100%;
  height: 1px;
  transform: scaleX(0);
  transform-origin: right;
}

#thu-f-content .moving-card .left {
  /* border: 1px solid var(--blue); ← ★この行を削除！ */
  position: relative;
  /* 線の基準位置にする */
  overflow: hidden;
  /* アニメーション開始前のはみ出しを隠す */
  /* ...その他の既存スタイル... */
}

/* 4つの線に共通のスタイル */
#thu-f-content .border-line {
  position: absolute;
  background-color: var(--blue);
  z-index: 2;
}

/* ★★★ 各線の位置と初期状態を以下のように修正 ★★★ */

/* 1. 下の線 (右下から左へ) */
#thu-f-content .border-line.line-bottom {
  bottom: 0;
  right: 0;
  width: 100%;
  height: 1px;
  transform: scaleX(0);
  transform-origin: right;
}

/* 2. 左の線 (左下から上へ) */
#thu-f-content .border-line.line-left {
  bottom: 0;
  left: 0;
  width: 1px;
  height: 100%;
  transform: scaleY(0);
  transform-origin: bottom;
}

/* 3. 上の線 (左上から右へ) */
#thu-f-content .border-line.line-top {
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  transform: scaleX(0);
  transform-origin: left;
}

/* 4. 右の線 (右上から下へ) */
#thu-f-content .border-line.line-right {
  top: 0;
  right: 0;
  width: 1px;
  height: 100%;
  transform: scaleY(0);
  transform-origin: top;
}
#thu-f-content .moving-card img {
  width: 50%;
  margin: auto;
}

#thu-f-content .moving-card .title {
  font-size: 30.8px;
  font-weight: regular;
  text-shadow: none;
}

#thu-f-content .moving-card .click-link {
  margin-right: 20px;
  position: relative;
  /* 位置調整の基準にする */
  bottom: 10px;
  /* ★本来の位置より10px上に移動 */
}

#thu-f-content .reverce {
  flex-direction: row-reverse;
}

#thu-f-content .img {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 20px 0;
}

#thu-f-content .img img[alt="arrowleft"],
#thu-f-content .img img[alt="arrowright"] {
  width: 40px;
  height: auto;
  cursor: pointer;
  transition: transform 0.3s ease;
}

#thu-f-content .img img[alt="arrowleft"]:hover,
#thu-f-content .img img[alt="arrowright"]:hover {
  transform: scale(1.2);
}

/* 各キャンパスのコンテンツをデフォルトで非表示にする */
#thu-f-content .campus-content {
  display: none;
}

/* 最初に表示するキャンパスだけを表示状態にする */
#thu-f-content .campus-content.active {
  display: flex;
  flex-direction: column;
  /* 縦に並んだ子要素全体を上端に寄せる */
  align-items: flex-start;
  /* ★これを指定することで、中の.card2-contentが左に寄ります */
  justify-content: flex-start;
}
