html {
    font-size: clamp(16px, 14px + 0.5vw, 32px);
    overflow-y: scroll; /* 常にスクロールバーを表示 */
}
  /* ボディのフォント指定*/
body {
    margin: 0;
    font-family: "Noto Sans JP", sans-serif;

    /* 変数定義 */
    --color-light-green: #e4ffec;
	--color-green: #97d692;
	--color-light-orange: #fcf4e8;
	--color-orange: #f7dbb1;
	--color-vivid-orange: #FFB36B;
	--color-light-pink: #ffeaf5;
    --color-pink: #ff6b9c;
	--color-purple: #bb6bef;
	--color-light-blue: #b8cfff;
    --color-blue: #6d9eff;
	--color-dark-blue: #0043d1;
	--color-light-gray: #efefef;
	--color-gray: #3a3a3a;
	--color-white: #f0f0f8;
	--color-brown: #542c14;

	
    --content-width: 450px;
}

  /* 画像の幅指定*/
img {
    width: 100%;
    max-width: 580px;
    height: auto;
    display: block;
    margin: 0 auto;
}

  /* 一番奥のレイヤーの色指定*/
.container {
    background: var(--color-light-gray);
}
  /* 左右の指定*/
.content-left,
.content-right {
    position: fixed;
    top: 0;
    width: calc((100% - var(--content-width)) * 0.5);

    /* スクロールを有効にするプロパティ */
    overflow-y: auto;
    padding: 20px;
    box-sizing: border-box;
	transform-origin: top;
}

.content-left {
    display: flex;
    flex-direction: column;
    align-items: center;
    left: 0;
}

/* 左のMAU　OPEN CAMPUS部分 */
.content-left__heading {
    display: flex;
    flex-direction: column; 
    /* ↑調整 */
	font-family: "Zen Kaku Gothic New", sans-serif;
    align-items: center;
    color: #0043d1;
    margin-bottom: -20px;
    gap: 10px;
	word-break: keep-all;
    overflow-wrap: anywhere;
}

/* 左上の空白部分で調整 */
.content-blank {
    font-weight: 900;
    font-size: 42px;
    line-height: 49px;
    /* margin-bottom: 12px; */
    /* ↑調整 */
    margin-top: 10px;
    /* ↑調整 */
}

/* 左上の空白部分で調整02 */
.content-blank02 {
    font-size: 20px;
    line-height: 21px;
    margin-top: 12px;
    /* ↑調整 */
}

/* 左のMAU　OPEN CAMPUS文字部分 */
.content-left__heading__event-title {
	font-family: Arial, Helvetica, sans-serif;
    font-weight:900;
    font-size: 18px;
}


/* 左のメニュー線部分 */
.menu {
    width: 100%;
    max-width: 250px;
    padding: 30px 30px;
    /* ↑調整 */
	color: #0043d1;
    font-weight: 700;
	/* margin-bottom: 12px; */
    /* ↑調整 */
    margin-top: 10px;
    /* ↑調整 */
}

/* 左のメニュー線部分 */
.menu__item {
    padding: 10px 0;
    font-size: 14px;
    text-align: center;
    border-width: 1px 0 0;
    border-style: solid;
    box-sizing: border-box;
	/* レイアウトが崩れるのを防ぐ */
}

.menu__item a {
    display: block;
}

/* 左のメニュー一番下の線部分 */
.menu__item:last-child {
    border-width: 1px 0 1px;
}

/* 左のメニュー下のボタンの長さ */
.content-left__button-list {
    width: 100%;
    max-width: 200px;
}

/* 左のメニュー下のボタン部分 */
.content-left__button {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 200px;
    height: 50px;
    margin: 15px auto;
    /* ↑調整 */
    padding: 15px 30px;
    color: #0043d1;
    font-size: 16px;
    font-weight: 600;
    background-color: #FFFFFF;
	border: none;
    text-decoration: none;
    position: relative;
    overflow: visible;
    cursor: pointer;

    /* ホバー時アニメーション */
    transition: all 0.3s ease;
} 
/* マウスカーソルがボタンに乗ったときだけ、このCSSが適用される　*/
.content-left__button:hover {
    background: var(--color-vivid-orange);
	color: #fff;
}

/* 右部分*/
.content-right {
    display: flex;
    flex-direction: column;
    align-items: center;
    right: 0;
}

.content-right__main-visual {
    width: 300px;
    max-width: 400px;
    margin: 24px 0;
    /* ↑調整 */
}

.copyright {
    text-align: center;
	
    /* ↑調整 */
    margin-top: -8px;
    /* ↑調整 */
    color: var(--color-dark-blue);
    font-size: 10px;
    font-weight: 500;
}

/* 中央部メイン */
.content-main {
    position: relative;
	width: 100%;
    min-width: 300px;
    max-width: var(--content-width); /* PCでの最大幅 */
	min-height: 100vh;
	margin: 0 auto;
	background-color:#f0f0f8; /* コンテンツ自体の背景色 */
    box-sizing: border-box; /* paddingをwidthに含める */
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); /* 影で立体感を出す */
    overflow-x: hidden;
    overflow-y: visible; /* コンテンツがはみ出したらスクロールできるようにする */

    z-index: 10;
}

/* PCなどの横長デバイス向けの設定 */
@media (min-width: 1000px) {
    .content-left,
    .content-right {
        background-color: var(--color-light-gray); /* PCでの左右の背景色 */
    }
}

/* 右側を消す */
@media (min-width: 663px) and (max-width: 999px) {
    /* ↑調整 */
    .content-right {
        display: none !important;
    }

    .content-left {
        width: calc(100% - var(--content-width));
    }

    .content-main {
        margin: 0 0 0 auto;
    }
}

/* スマホは両サイド消す */
@media (max-width: 662px) {
    /* ↑調整 */
    .content-left,
    .content-right {
        display: none !important;
    }

    button.floating-menu-button {
        display: block;
    }
}

/* 背景をスクロールさせるための@keyframesルール */
@keyframes scrollBackground {
    from {
        background-position: 0 0; /* 開始位置（左端） */
    }
    to {
        background-position: -212px 0; /* 終了位置（右端に達したら最初に戻る） */
    }
}

@keyframes scrollBackground-Reverse {
    from {
        background-position: 0 0; /* 開始位置（左端） */
    }
    to {
        background-position: 212px 0; /* 終了位置（右端に達したら最初に戻る） */
    }
}

.flex-content {

}


/* トップページ */
.page-header-section {
    padding: 0px 16px 8px;
    color: #0043d1;
    font-weight: 300;
    background-color: var(--color-white);
    overflow: hidden;
}

.page-header__main{
	 margin: -90px auto 48px;
}
.page-header__main-visual {
    display: block;
    width: calc(100% + 32px);
    margin: 0px -16px 0;
    height: auto;
	
}

.main-title {
    font-size: 14px;
	font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 600;
	
}

.department-name {
	font-size: 1.75rem;
    line-height: 1.45;
	font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 900;
}

.main-title-eng {
    font-family: Arial, Helvetica, sans-serif;
	font-size:12px;
	line-height:1.4;
	font-weight:400;
}

.event-datetime,
.event-location {
    font-size: 16px;
	line-height:1.35;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 600;
}

.page-header__details {
    margin-top: 10px;
}

.special-description{
	width: 100%;
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin: 24px 0 32px;
}

.icon {
	width: 42px;
	height: 42px; /* または auto */
}

/*OCについてのアイコン*/
.icon02 {
	width: 38px;
	height: 38px; /* または auto */
}

/*授業についてのアイコン*/
.icon03 {
	width: 48px;
	height: 48px; 
	position: relative;
    left: -1px;/* または auto */
}

.special-description__icon{
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 6px 16px rgba(0,0,0,.08);

    display:flex;
    align-items:center;
    justify-content:center;
}

.special-description__text{
	border-left: 2px solid var(--color-light-blue); /* ベージュ系 */
    padding-left: 20px;
    margin: 0;
    line-height: 1.9;
	font-size: 14px;
    line-height: 2;
	color: var(--color-gray);
}

.description {
	color: var(--color-gray);
	margin-top: 8px;
    font-size: 13px;
    font-weight: 500;}

/* --- スタイル付きボタン --- */
.styled-button {
	font-family: "Zen Kaku Gothic New", sans-serif;
    display: flex;
    align-items: center;
    justify-content: center;
	 /* ↑調整 */
    width: 250px;
    height: 48px;
    margin: 30px auto;
    padding: 16px 32px;
	white-space: nowrap;
    background-color: var(--color-vivid-orange);
	font-weight: 600;
	letter-spacing: 0.05em;
    font-size: 16px;
    text-decoration: none;
    position: relative;
    overflow: visible;
    cursor: pointer;

    /* 影 */
	box-shadow: 0 7.5px 20px rgba(0,0,0,0.1);

    /* ホバー時アニメーション */
    transition: all 0.25s ease;
}

.styled-button:hover {
	box-shadow: 0 0 16px rgba(255, 179, 107, 1);
    transform: translateY(-2px);
}

.styled-button:active {
    transform: translateY(2px);
    box-shadow: 0 4px 8px rgba(31, 42, 68, 0.25);
}

.button-text {
    display: flex;
    flex-direction: row;
    align-items: center;
	color: var(--color-dark-blue);
}
.oc-button-text {
    display: flex;
    flex-direction: row;
    align-items: center;
	color: var(--color-dark-blue);
}

/* 説明コンテンツ */
.department-intro-section {
    padding-top: 0px;
    padding-bottom: 16px;
	color: var(--color-blue);
    /* ↑調整 */
}

.department-intro {
    margin-top: 32px;
     /* ↑調整 */
    padding: 0 16px;
}

.department-intro__header {
	font-family: "Zen Kaku Gothic New", sans-serif;
    display: flex;
    flex-direction: column;
    align-items: center;
	margin-bottom: 8px;
	font-size: 17px;
	padding: 0 16px;
}

/* オープンキャンパス特別企画のスタイル */
.oc-intro-section {
	padding: 16px 0px 16px;
    padding-bottom: 32px;
	background: var(--color-light-orange);
}

.oc-intro {
    margin-top: 32px;
     /* ↑調整 */
    padding: 0 16px;
}
.oc-intro__header {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 600;
    display: flex;
	flex-direction: column;
    align-items: center;
	color: var(--color-brown);
	margin-bottom: 16px;
	font-size: 17px;
	padding: 0 16px;
}

.oc-special__label {
  margin-bottom: 8px;
  color: var(--color-pink);
 text-decoration: underline;
    text-decoration-thickness: 1.5px;
    text-underline-offset: 8px;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-align: center;
}

.oc-special-label__icon {
	width: 20px;
    height: 16px;
  
}

.oc-special__text {
  margin: 0 0 28px;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.9;
  color: var(--color-brown);
	
	border-left: 2px solid var(--color-orange); /* ベージュ系 */
	padding-left: 20px;
	margin: 0;
    line-height: 1.9;
	font-size: 14px;
    line-height: 2;
}



/* 大学情報部 */
.university-info-section {
	padding: 32px 16px 72px;
    background-color: var(--color-light-blue);
	color:var(--color-dark-blue);
    text-align: center;
}

.university-info__heading {
    font-size: 15px;
    font-weight: 700;
}

.university-info__text {
    margin: 16px auto;
    font-size: 12px;
    font-weight: 500;
}

.google-map iframe {
	margin-top: 32px; 
	margin-bottom: 32px; 
    /* ↑調整 */
}

.logo-list {
    margin: 24px 24px 24px;
    display: flex;
    justify-content: center;
    gap: 24px;
	/* ロゴに影落とす */
	filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
}

.link-logo_image {
    height: 32px;
}

.special-description__icon{
    width:52px;
    height:52px;
    min-width:52px;
    flex-shrink:0;
}

/* 詳細ページ */
.detail-page {
    min-height: 100%;
    background-color: #F0F0F8;
    font-weight: 500;
    font-size: 14px;
    color: var(--color-gray);
}

.detail-page02{
    min-height: 100%;
    background-color: var(--color-light-orange);
    font-weight: 500;
    font-size: 14px;
}

.detail-page-header{
    position: relative;
    padding: 16px 16px 24px;
    text-align:center;
	overflow:hidden;
    background: var(--color-light-blue);
}

.detail-page-header02{
    position: relative;
    padding: 16px 16px 24px;
    text-align:center;
	overflow:hidden;
	background: var(--color-vivid-orange);
}

.detail-page-header__sub{
    position:relative;
    z-index:2;
    margin-top:4px;
    font-size:15px;
    letter-spacing:.25em;
    color: var(--color-gray);
}
.detail-page-header__sub02{
    position:relative;
    z-index:2;
    margin-top:4px;
    font-size:15px;
    letter-spacing:.25em;
    color: var(--color-brown);
}

.detail-page-intro{  
	margin-top: 32px;
     /* ↑調整 */
    padding: 0 16px;}

.detail-page-header__title{
	font-family: "Zen Kaku Gothic New", sans-serif;
	color: var(--color-gray);
    margin-top: 8px;
    font-weight: 700;
    font-size: 24px;
    letter-spacing: 1px;
}

.detail-page-header__title02{
	font-family: "Zen Kaku Gothic New", sans-serif;
	color: var(--color-brown);
    display: flex;
    align-items: center;
    justify-content: center; /* 左寄せなら flex-start */
	gap: 6px;

    margin-top: 8px;
    font-size: 15px;
    font-weight: 600;
}

.detail-page-header__title03{
	font-family: "Zen Kaku Gothic New", sans-serif;
	color: var(--color-brown);
    margin-top: 8px;
    font-weight: 700;
    font-size: 24px;
    letter-spacing: 1px;
}

.detail-page__decorated-title02 img{
	display: inline-block;   /* ←これが重要 */
    width: 18px;
    height: 18px;
    max-width: none;         /* ←100%を打ち消す */
    margin: 0;
    flex-shrink: 0;
	transform: translateY(3px);
}

.detail-page-header__sub{
	font-family: Arial, Helvetica, sans-serif;
	font-weight: 100;
	font-size: 14px;
}

.detail-page-header__sub02{
	color: var(--color-brown);
	font-family: Arial, Helvetica, sans-serif;
	font-weight: 100;
	font-size: 14px;
}

.detail-page-content{
    display: flex;
    flex-direction: column;
    align-items: center;
	justify-content: center;
    padding:16px 16px 32px;
    /* ↑調整 */
}

.detail-page__decorated-title{ 
	color: var(--color-blue);
	margin-top:32px;
	margin-bottom:16px;
    /* ↑調整 */
    font-size: 24px;
    font-weight: 900;
	display: flex;
    flex-direction: column;
	align-items: center;
	justify-content: center;
	
}

.detail-page__decorated-title02{
	color: var(--color-pink);
	margin-top:16px;
	margin-bottom:16px;
    /* ↑調整 */
    font-size: 24px;
    font-weight: 900;
	display: flex;
    flex-direction: column;
	align-items: center;
	justify-content: center;
}

.title-line {
    width: 180px;
    height: 8px;
    margin: 8px auto 0;

    background-image: radial-gradient(circle, #8ab4ff 2px, transparent 2px);
    background-size: 14px 8px;
    background-repeat: repeat-x;
    background-position: center;
}

.title-line02{
    position:relative;
    width:90px;
    height:2px;
    margin:10px auto 0;
    border-radius:999px;
    background:var(--color-pink);
	
}

.title-line02::before,
.title-line02::after{
    content:"✦";
    position:absolute;
    top:-10px;
    color:var(--color-pink);
    font-size:10px;
}

.title-line02::before{
    left:-18px;
}

.title-line02::after{
    right:-18px;
}

.detail-page__place{
	margin-top: 8px;
    font-size: 15px;   /* 好きなサイズ */
    font-weight: 600;
    color: var(--color-pink);
}

.detail-page__sub-heading {
	display: flex;
    flex-direction: column;
    font-size: 18px;
    font-weight: 900;
	align-items: center;
	justify-content: center;
    margin-top: 24px;
    /* ↑調整 */
}

.detail-page__normal-text {
    margin: 8px 4px 8px 4px;
    /* ↑調整 */
    font-size: 14px;
    font-weight: 500;
	color:var(--color-gray);
}

.detail-page__sub-text{
    /* ↑調整 */
    font-size: 12px;
    font-weight: 300;
}
.teacher-list {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin: 16px 0 0 0;
    /* ↑調整 */
    gap: 16px;
}

.teacher-list__row {
    display: flex;
    justify-content: space-evenly;
}

.teacher-item__item {
    width: 140px;
}

.teacher-item__image {
    max-width: 110px;
    width: 100%;
    height: auto;
    margin: auto;
	border: 0;
}

.teacher-item__name {
	font-family: "Zen Kaku Gothic New", sans-serif;
    text-align: center;
    margin: 8px 0;
    font-size: 14px;
    font-weight: 500;
}

.teacher-item__subject {
	font-family: "Yu Gothic", sans-serif;
    font-size: 10px;
    font-weight: 400;
    text-align: center;
	height: auto;
    margin: auto;
	max-width: 110px;
	
}

.teacher-item__subject__inner { /* 文字を左寄せしたまま中央寄せする */
    display: inline-block;
    text-align: left;
}

.detail-page__curriculum-structure {
    width: 100%;
    /* max-width: 360px;*/
    /* ↑調整 */
    padding: 0 8px 8px 8px;
    /* ↑調整 */
    margin-top: 8px;
    /* ↑調整 */
    border-style: solid;
    border-color: var(--color-gray);
    border-width: 1px;
}



.curriculum-card{
    display:flex;
    align-items:center;
    gap:24px;
	padding:24px;
    margin-bottom:16px;

    background:#fff;
    border-radius:16px;
}

.curriculum-card02{
  
    align-items:center;
    gap:24px;

    padding:24px;
    margin-bottom:16px;

    background:#fff;
    border-radius:16px;
}

.curriculum-card__icon{
    display:flex;
    justify-content:center;
    align-items:center;

    min-width:80px;
    width:80px;
    height:80px;

    border-radius:50%;
    background:#eef5ff;
}

.curriculum-card__icon02{
    display:flex;
    justify-content:center;
    align-items:center;

    min-width:80px;
    width:80px;
    height:80px;

    border-radius:50%;
    background:var(--color-light-green);
}

.curriculum-card__icon03{
    display:flex;
    justify-content:center;
    align-items:center;

    min-width:80px;
    width:80px;
    height:80px;

    border-radius:50%;
    background:var(--color-light-pink);
}

.curriculum-card__icon04{
    display:flex;
    justify-content:center;
    align-items:center;

    min-width:80px;
    width:80px;
    height:80px;

    border-radius:50%;
    background:var(--color-light-orange);
}

.curriculum-card__icon img{
    width:40px;
}

.curriculum-card__icon02 img{
    width:40px;
}

.curriculum-card__icon03 img{
    width:40px;
}

.curriculum-card__icon04 img{
    width:40px;
}

.curriculum-card__content{
    flex:1;

    padding-left:24px;
    border-left:2px solid #dce4f5;
}

.curriculum-card__title{
    margin-bottom:12px;

    font-size:16px;
    font-weight:700;
    color: var(--color-blue);
}

.curriculum-card__title02{
    margin-bottom:12px;

    font-size:16px;
    font-weight:700;
    color:#00a88f;
}

.curriculum-card__title03{
    margin-bottom:12px;

    font-size:16px;
    font-weight:700;
    color:var(--color-pink);
}

.curriculum-card__title04{
    margin-bottom:12px;

    font-size:16px;
    font-weight:700;
    color:var(--color-vivid-orange);
}
.curriculum-card__text{
    line-height:1.8;
}

/* バッテン */
.cross {
	margin-bottom:16px;
    font-size: 32px;
    color: var(--color-light-blue);
    line-height: 1;
}

.example-title{
    display:inline-block;
    padding:32px 0 4px 0px;
    margin:0 auto 0px;
	color:#3f6fd9;
	font-size:15px;
    font-weight:700;
    text-align:center;
	
}

.title-line03{
    width:80px;
    height:4px;
    margin:12px auto 16px;

    border-radius:999px;
    background:var(--color-light-blue);
}

.media{
	 background:rgba(0,168,143,.15);
    color:#00a88f;
}

.communication{
	background:#ffe8f1;
    color:var(--color-pink);
}

.digital{
    color:#ff9d2e;
	background:#fff4de;
    padding:2px 6px;
    border-radius:5px;
	
}


.highlight{
    color:var(--color-gray);
    font-weight:700;
}

.curriculum-example{
    text-align:center;
}

.curriculum-example__header{
    display:flex;
    align-items:center;
    gap:10px;

    margin-bottom:18px;

    color:#4f86ff;
    font-size:18px;
    font-weight:700;
}

.curriculum-example p strong{
    font-size:1.03em;
    font-weight:700;
	 padding:1px 6px;
}

.curriculum-example p{
	text-align:left;
    line-height:2.2;
    color:var(--color-gray);
	padding:0 4px;
}

.detail-page__sub-sub-heading{
	font-family: "Zen Kaku Gothic New", sans-serif;
    display: flex;
    flex-direction: column;
    font-size: 15px;
    font-weight: 500;
	align-items: center;
	justify-content: center;
    margin-top: 8px;
	margin-bottom: 8px;
}

.admission-menu {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    color: var(--color-gray);
    font-weight: 400;
}

.admission-menu__item {
    width: 250px;
    padding: 0;
    font-size: 15px;
    text-align: center;
    border-width: 0.75px 0 0;
    border-style: solid;
    box-sizing: border-box;
}

.admission-menu__item a {
    display: block;
    width: 100%;
    padding: 8px 0;
    color: inherit;
    text-decoration: none;
}

.admission-menu__item:last-child {
    border-width: 0.75px 0 0.75px;
}
.admission-menu__item a {
    position: relative;
    display: block;
    padding: 8px 24px;
    color: var(--color-gray);
    text-decoration: none;
    transition: color 0.25s ease;
}

.admission-menu__item a::after {
    content: "❯";
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0;
    transition: opacity 0.25s ease, transform 0.25s ease;
}

.admission-menu__item a:hover {
    color: #ff6b9c;
}

.admission-menu__item a:hover::after {
    opacity: 1;
    transform: translateY(-50%) translateX(4px);
}

.thumbnail-image {
    width: 100%;
    /* max-width: 300px; */
    /* ↑調整 */
    margin: 0 auto;
    border-radius: 10px;

    aspect-ratio: 16 / 9;
    /* ↑調整 */
    object-fit: cover;
    /* ↑調整 */
}

/* 受験案内 */
.admission-guidance{
    width:100%;
    margin-top:24px;
}

.admission-guidance__sub-item {
    margin: 10px 0;
    /* ↑調整 */
    padding: 8px;

    border-style: solid;
    border-color: var(--color-light-gray);
    border-width: 1px;
    border-radius: 10px;

    font-size: 14px;
    font-weight: 500;
}

.admission-guidance__sub-header {
    margin-bottom: 8px;
    font-size: 14px;
    font-weight: 700;
}

.question-list {
	margin: 16px　0;
  width: 100%;
}

.question-list__answer{
	margin:4px;
}

.accordion__summary {
	padding: 0;
	margin: 0;
	border-bottom: 2px solid var(--color-blue);
	width: 100%;
}
.accordion__summary summary {
  display: flex;
  align-items: center;
  position: relative;
  padding: 2em 1em 1em 3em; /* 右を少し詰める */
  color: var(--color-gray);
  font-weight: 600;
  cursor: pointer;
}

.accordion__summary summary::before,
.accordion__summary p::before {
  position: absolute;
  left: 1em;
  font-weight: 600;
  font-size: 1.3em;
}

.accordion__summary summary::before { 
  color: var(--color-blue);
  content: "Q";
}

.accordion__summary summary::after {
  transform: translateY(-25%) rotate(45deg);
  width: 8px;
  height: 8px;
	margin-left: auto;
	border-bottom: 3px solid var(--color-blue);
	border-right: 3px solid var(--color-blue);
  content: '';
  transition: transform .5s;
}

.accordion__summary[open] summary::after {
  transform: rotate(225deg);
}

.question-list__answer {
	padding: 4px;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
	font-size: 14px;
	color:var(--color-gray);
}

.accordion__summary p {
	font-size: 13px;
  position: relative;
  transform: translateY(-10px);
  opacity: 0;
  padding: .1em 3em 1.5em 3em;
  color: var(--color-gray);
  transition: transform .5s, opacity .5s;
}

.accordion__summary[open] p {
  transform: none;
  opacity: 1;
	margin: 0 -24px 0 -24px;
}

.question-list__answer:before {
	color: var(--color-pink);
	line-height: 1.2;
	margin: 8px;
	content: "A";
}

/* メニューボタンのアイコン */
.floating-menu-button {
    position: fixed;
    display: none;
    width: 60px;
    height: 60px;
    right: 16px;
    bottom: 16px;
    z-index: 110;
	border: none;
    background-color: var(--color-light-blue);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
    cursor: pointer;
}

/* アイコン */
.floating-menu-button span {
    position: absolute;
    left: 50%;
    width: 28px;
    height: 2px;
    background-color: #fff;
    transform: translateX(-50%);
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.floating-menu-button span:nth-child(1) {
    top: 21px;
}

.floating-menu-button span:nth-child(2) {
    top: 29px;
}

.floating-menu-button span:nth-child(3) {
    top: 37px;
}

.floating-menu-button.is-active span:nth-child(1) {
    transform: translateX(-50%) translateY(8px) rotate(45deg);
}

.floating-menu-button.is-active span:nth-child(2) {
    opacity: 0;
}

.floating-menu-button.is-active span:nth-child(3) {
    transform: translateX(-50%) translateY(-8px) rotate(-45deg);
}

/* メニュー本体 */
.floating-menu {
    position: fixed;
    left: 50%;
    bottom: 88px;
    z-index: 100;

    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;

    width: calc(100% - 32px);
    max-width: 420px;
    padding: 20px 16px;

    background-color: var(--color-light-blue);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);

    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, 16px);
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
}

.floating-menu.is-open {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}

@media (min-width: 1138px) and (max-width: 1201px) {
    .content-right__main-visual {
        margin: 54px 0;
        /* ↑調整 */
    }
}

@media (min-width: 451px) and (max-width: 662px) {
    body {--content-width: 100%;
        /* ↑調整 */
    }
}
.department-intro__slideshow{
    width: calc(100% + 32px);
    margin: -16px -16px;
    overflow: hidden;
}

.slick-slider-area .slick-slide{
    padding: 16px;
}

.slick-slider-area .slick-slide img{
    display: block;
    width: 100%;
    height: 250px; /* 小さくしたいならここ */
    max-width: none;
    margin: 0;
    object-fit: cover;
}

.slick-list{
    overflow: hidden;
}
.slick-prev,
.slick-next{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;

    width: 36px;
    height: 36px;

    padding: 0;
    border: none;
    border-radius: 50%;
    background: var(--color-orange);

    font-size: 0;
    color: transparent;
    line-height: 0;

    cursor: pointer;
}

.slick-prev{
    left: 12px;
}

.slick-next{
    right: 12px;
}

.slick-prev::before,
.slick-next::before{
    content: "";
    display: block;

    width: 12px;
    height: 12px;

    border-top: 3px solid var(--color-pink);
    border-right: 3px solid var(--color-pink);

    position: absolute;
    top: 50%;
    left: 50%;
}

.slick-prev::before{
    transform: translate(-40%, -50%) rotate(-135deg);
}

.slick-next::before{
    transform: translate(-60%, -50%) rotate(45deg);
}

.map-modal{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.8);
    z-index:9999;

    justify-content:center;
    align-items:center;
    padding:20px;
}

.map-modal img{
    width:100%;
    max-width:450px;
    max-height:90vh;
    object-fit:contain;
    background:#fff;
}

.map-close{
    position:absolute;
    top:20px;
    right:20px;
    color:#fff;
    font-size:40px;
    cursor:pointer;
}