@font-face {
	font-family: 'Zen Maru Gothic';
	src: url('./../../fonts/ZenMaruGothic-Medium.ttf') format("truetype");
}

body {
	padding: 2rem 1.5rem;
	color: #333;
	font-family: 'Zen Maru Gothic', cursive;
	font-weight: normal;
	line-height: 1.8;
}

.bd-placeholder-img {
	font-size: 1.125rem;
	text-anchor: middle;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
}

@media (min-width: 768px) {
	.bd-placeholder-img-lg {
		font-size: 3.5rem;
	}
}

.b-example-divider {
	/*width: 100%;
      height: 3rem;
      background-color: rgba(0, 0, 0, 0.1);
      border: solid rgba(0, 0, 0, 0.15);
      border-width: 1px 0;
      box-shadow: inset 0 0.5em 1.5em rgba(0, 0, 0, 0.1),
        inset 0 0.125em 0.5em rgba(0, 0, 0, 0.15);*/
	width: 100%;
	height: 0.4rem;
	background-color: rgba(0, 0, 0, 0);
	/*background-image: url("./../images/para-bg.png");*/
	border: solid rgba(171, 171, 171, 0.28);
	border-width: 5px 0;
	box-shadow: inset 0 0.5em 1.5em rgba(0, 0, 0, 0.1),
		inset 0 0.125em 0.5em rgba(0, 0, 0, 0.15);
	/* ADD-Para */
	display: flex;
	justify-content: center;
	align-items: center;
	background-attachment: fixed;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.b-example-vr {
	flex-shrink: 0;
	width: 1.5rem;
	height: 100vh;
}

.bi {
	vertical-align: -0.125em;
	fill: currentColor;
}

.nav-scroller {
	position: relative;
	z-index: 2;
	height: 2.75rem;
	overflow-y: hidden;
}

.nav-scroller .nav {
	display: flex;
	flex-wrap: nowrap;
	padding-bottom: 1rem;
	margin-top: -1px;
	overflow-x: auto;
	text-align: center;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
}

.btn-bd-primary {
	--bd-violet-bg: #959998;
	--bd-violet-rgb: 112.520718, 44.062154, 249.437846;
	--bs-btn-font-weight: 600;
	--bs-btn-color: var(--bs-white);
	--bs-btn-bg: var(--bd-violet-bg);
	--bs-btn-border-color: #0000;
	--bs-btn-hover-color: #959998;
	--bs-btn-hover-bg: #ffffff;
	--bs-btn-hover-border-color: #959998;
	--bs-btn-focus-shadow-rgb: var(--bd-violet-rgb);
	--bs-btn-active-color: var(--bs-btn-hover-color);
	--bs-btn-active-bg: #959998;
	--bs-btn-active-border-color: #959998;
}

.bd-mode-toggle {
	z-index: 1500;
}


/* cardで一番下に配置 */
.flex-wrap {
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: inherit;
	-ms-flex-align: inherit;
	align-items: inherit;
}

.flex-container {
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;
	background: #eee;
	border: 1px solid #ccc;
	margin: 10px;
	padding: 10px;
}

.flex-item {
	-webkit-flex: 0 1 auto;
	-ms-flex: 0 1 auto;
	flex: 0 1 auto;
}

.fill {
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;
}

/* 2026/01/09 */
.bg-bright {

	color: #181C61 !important;
	background-color: #fff;
	/*#fbf0e3; #f4ede6;*/
	/* 下方向に柔らかい影 */
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);

}

.navbar .nav-link {
	color: #333333;
}

.navbar .nav-link:hover,
.navbar .nav-link:focus {
	color: #000000;
	/* ホバー時は少し濃く */
}

.navbar .nav-link.active {
	font-weight: bold;
	color: #000000;
	/*background-color: red;*/
}

.text-body-emphasis {
	color: #434343 !important;
}

h3 {
	color: #1B435D;
}

h4 {
	color: #1B435D;
	position: relative;
	padding-bottom: 0.5rem;
}

h4::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background: linear-gradient(to right, #78BBE6, #cccccc);
}


h5 {
	position: relative;
	padding-bottom: 0.5rem;
	padding-left: 0.25em;
	;
}

h5::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 4px;
	background: linear-gradient(to right, #78BBE6, #cccccc);
}

.bi {
	fill: #1B435D;
}

.bg-body-secondary {
	background-color: rgba(#D5EEFF, #D5EEFF) !important;
}

/* -- Menu -- */
.navbar .nav-link {
	position: relative;
	color: #333333;
	padding-bottom: 4px;
	/* 下線との距離調整 */
}

/* 下線のベース（非表示） */
.navbar .nav-link::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0%;
	height: 2px;
	background-color: #007bff;
	/* 下線の色（青） */
	transition: width 0.25s ease;
}

/* ホバー時に下線を伸ばす */
.navbar .nav-link:hover::after {
	width: 100%;
}

/* active の場合は常に下線を表示 */
.navbar .nav-link.active::after {
	width: 100%;
}

@media (max-width: 767.98px) {
	.navbar .nav-link.active {
		background-color: #e0f0ff;
		border-radius: 4px;
	}
	/*work配下のmainのトップマージン*/
	.work-title {
		margin-top: 5em;
	}
}