@charset "UTF-8";

/*================================================================
# レイアウト・背景
================================================================ */
.datascience2027 {
	max-width: 100%;
	font-family: "Noto Sans JP", '游ゴシック体', YuGothic, '游ゴシック Medium', Yu Gothic Medium, '游ゴシック', Yu Gothic, 'メイリオ', Meiryo, sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.618;
	color: var(--black);
	letter-spacing: 0;
	word-wrap: break-word;
	word-break: break-all;
	font-feature-settings: "palt" 1;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeSpeed;
	min-block-size: 100%;
	-webkit-text-size-adjust: none;
	line-break: strict;
	overflow-wrap: break-word;
}

@media screen and (max-width: 1279px) {
	.datascience2027 {
		min-width: 100%;
	}
}

.datascience2027 .wrap {
	width: calc(100% - 10rem);
	max-width: 1170px;
	margin: auto;
	position: relative;
}

@media screen and (max-width: 1280px) {
	.datascience2027 .wrap {
		width: calc(100% - 6.4rem);
	}
}

@media screen and (max-width: 559px) {
	.datascience2027 .wrap {
		width: calc(100% - 4.8rem);
	}
}

.datascience2027 * {
	margin: 0;
	padding: 0;
	word-break: normal;
}

.datascience2027 *,
.datascience2027 ::before,
.datascience2027 ::after {
	box-sizing: border-box;
}

/*================================================================
# リスト
================================================================ */
.list-info {
	margin: 1.6rem 0 0;
}

.list-info li {
	padding-left: 1.5em;
	display: block;
	font-family: "Noto Sans JP", '游ゴシック体', YuGothic, '游ゴシック Medium', Yu Gothic Medium, '游ゴシック', Yu Gothic, 'メイリオ', Meiryo, sans-serif;
	font-size: 1.2rem;
	color: var(--black);
	text-align: left;
	text-indent: -1em;
	letter-spacing: .05em;
}

.list-info li:last-child {
	margin-bottom: 0;
}

.list-info li::before {
	width: 1em;
	margin-right: 1em;
	margin-left: -1em;
	padding: 0;
	content: "※";
	display: block;
	float: left;
	text-align: center;
}

/*================================================================
# 画像
================================================================ */
.datascience2027 svg,
.datascience2027 img,
.datascience2027 iframe {
	max-width: 100%;
	height: auto;
	border: 0;
	vertical-align: bottom;
}

@media screen and (max-width: 559px) {
	.scroll-img {
		margin-right: calc(50% - 50vw) !important;
		margin-left: calc(50% - 50vw) !important;
		position: relative;
	}

	.scroll-img:after {
		opacity: 0.5;
		position: absolute;
		content: "※横にスクロールしてください";
		bottom: -1.6rem;
		left: 1.6rem;
		font-size: 1.2rem;
		color: var(--black);
	}

	.scroll-img__img {
		padding: 0 1.6rem 1.6rem;
		position: relative;
		overflow-x: scroll;
		overflow-y: hidden;
		white-space: nowrap;
	}

	.scroll-img__img img {
		max-width: 80rem;
	}
}

/*================================================================
# フォント設定
================================================================ */
.datascience2027 a {
	font-family: inherit;
	color: inherit;
	text-decoration: none;
}

.datascience2027 a:hover {
	cursor: pointer;
}

@media screen and (min-width: 560px) {
	.datascience2027 a[href^="tel:"] {
		pointer-events: none;
		text-decoration: none;
	}
}

.datascience2027 em,
.datascience2027 i {
	font-style: normal;
}

.datascience2027 h1,
.datascience2027 h2,
.datascience2027 h3,
.datascience2027 h4,
.datascience2027 h5,
.datascience2027 h6 {
	margin: 0;
	line-height: 1.618;
}

/*================================================================
# テーブル
================================================================ */
@media screen and (max-width: 559px) {
	.scroll-table {
		margin: 0 calc(50% - 50vw) 2.4rem;
		padding: 2.4rem;
		overflow: auto;
		white-space: nowrap;
	}

	.scroll-table:after {
		content: "※このテーブルは横にスクロールできます。";
		font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
		font-size: 1.4rem;
	}
}

/*================================================================
# 表示・非表示
================================================================ */
@media screen and (max-width: 560px) {
	.pc {
		display: none !important;
	}
}

@media screen and (min-width: 561px) {
	.sp {
		display: none !important;
	}
}

/*================================================================
# gmap
================================================================ */
.gmap {
	height: 0;
	padding-bottom: 64%;
	cursor: pointer;
	position: relative;
	overflow: hidden;
}

@media screen and (max-width: 560px) {
	.gmap {
		padding-bottom: 100%;
	}
}

.gmap iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

/*================================================================
# youtube
================================================================ */
.youtube {
	width: 100%;
	aspect-ratio: 16 / 9;
}

.youtube iframe {
	width: 100%;
	height: 100%;
}

/*------------------------
テーマ
------------------------*/
:root {
	--white: #fff;
	--black: #231815;
	--ink: #27333a;
	--gray01: #f2f3f8;
	--blue-bg: #d0dded;
	--blue-light-bg: #e5f2f7;
	--border01: #cfcfcf;
	--primary: #16245c;
	--secondary: #4653a2;
	--blue: #16a8db;
	--purple: #7657a3;
	--teal: #028296;
	--turquoise: #44bdce;
	--yellow: #fdda00;
	--yellow-light: #fff68e;
	--red: #e50012;
	--pink: #dd3154;
	--orange: #f99827;
	--gradient: linear-gradient(90deg, var(--turquoise), var(--teal));
	--gradient02: linear-gradient(180deg, var(--turquoise), var(--teal));
	--shadow: rgba(0, 0, 0, .16);
	--overlay: rgba(0, 25, 69, .40);
	--bg01: var(--primary);
}
/*================================================================
# スクロール時のフェードイン
================================================================*/
.datascience2027.has-reveal .fade-in {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .9s ease, transform .9s cubic-bezier(.2, .7, .2, 1);
}

.datascience2027.has-reveal .fade-in.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    .datascience2027.has-reveal .fade-in,
    .datascience2027.has-reveal .fade-in.is-visible {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/*================================================================
# STUDENT VOICE: emphasize the entrance animation (existing cards only)
================================================================*/
.datascience2027.has-reveal .voice .card.fade-in {
    opacity: 0;
    transform: translateY(90px);
    transition: opacity 1.2s ease, transform 1.2s cubic-bezier(.22, .61, .36, 1);
    transition-delay: .18s;
}
.datascience2027.has-reveal .voice .card.fade-in:nth-child(2) {
    transition-delay: .32s;
}
.datascience2027.has-reveal .voice .card.fade-in.is-visible {
    opacity: 1;
    transform: translateY(0);
}
@media screen and (max-width: 767px) {
    .datascience2027.has-reveal .voice .card.fade-in {
        transform: translateY(56px);
    }
}
@media (prefers-reduced-motion: reduce) {
    .datascience2027.has-reveal .voice .card.fade-in,
    .datascience2027.has-reveal .voice .card.fade-in.is-visible {
        opacity: 1;
        transform: none;
        transition: none;
    }
}
