@charset "utf-8";
@import url("https://fonts.googleapis.com/css2?family=BIZ+UDGothic:wght@400;700&family=BIZ+UDPGothic:wght@400;700&display=swap");


/* =====================================
	variables
===================================== */
:root {
	--color-kisoken: #4e50b6;
	--color-kisoken-light: #ededf8;
	--color-crest: #008294;
	--color-crest-light: #e5f2f4;
	--color-presto-dark: #5d8200;
	--color-presto: #97d600;
	--color-presto-light: #f0f9d9;
	--color-erato: #ba0000;
	--color-erato-light: #f9e8e8;
	--color-act-x-dark: #857700;
	--color-act-x: #fbe423;
	--color-act-x-light: #fffbde;
	--color-aip: #1e296f;
	--color-black: #000000;
	--color-gray-dark-xx: #505050;
	--color-gray-dark-x: #6b6b6b;
	--color-gray-dark: #757575;
	--color-gray: #949494;
	--color-gray-light: #cecece;
	--color-gray-light-x: #e3e3e3;
	--color-gray-light-xx: #f7f7f7;
	--color-white: #ffffff;
	--color-blue: #0053b6;
	--color-purple: #620062;
	--color-red: #c40000;
	--color-green: #00854d;
	--filter-black: invert(0%) sepia(0%) saturate(0%) hue-rotate(326deg) brightness(97%) contrast(104%);
	--filter-white: invert(100%) sepia(78%) saturate(2%) hue-rotate(163deg) brightness(108%) contrast(101%);
	--filter-note: invert(2%) sepia(25%) saturate(3685%) hue-rotate(333deg) brightness(106%) contrast(109%);
	--font-udp: "BIZ UDPGothic", sans-serif;
	--font-ud: "BIZ UDGothic", sans-serif;
	--weight-normal: 400;
	--weight-bold: 700;
	--line-height-tight: 1.5;
	--line-height-normal: 1.875;
	--inner-padding: max(calc(50cqw - 600px), 15px);
}
@media (max-width: 991px) {
	:root {
		--header-height: 75px;
	}
}
@media (min-width: 992px) {
	:root {
		--header-height: 165px;
	}
}


/* =====================================
	base 5.3.0
===================================== */
/* universal */
*,
*::before,
*::after {
	box-sizing: border-box;
}

/* html */
html {
	font-size: 62.5%;
}

/* body */
body {
	text-align: left;
	overflow-wrap: break-word;
	color: var(--color-black);
	background-color: var(--color-white);
	font-family: var(--font-udp);
	font-size: 1.6rem;
	font-weight: var(--weight-normal);
	line-height: var(--line-height-normal);
	-webkit-text-size-adjust: 100%;
}

/* hr */
hr {
	clear: both;
	margin: 25px 0;
	border: 0;
	border-top: 1px solid var(--color-gray-light);
}

/* h3 */
h3 {
	position: relative;
	clear: both;
	margin: 80px 0 40px 0;
	padding-bottom: 7px;
	font-weight: var(--weight-bold);
}
h3::after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 90px;
	height: 2px;
	content: "";
	background-color: var(--color-primary);
}
h3 + * {
	margin-top: 0 !important;
}
@media (max-width: 991px) {
	h3 {
		font-size: 2.6rem;
	}
}
@media (min-width: 992px) {
	h3 {
		font-size: 3.2rem;
	}
}

/* h4 */
h4 {
	clear: both;
	margin: 60px 0 30px 0;
	font-weight: var(--weight-bold);
}
h4 + * {
	margin-top: 0 !important;
}
@media (max-width: 991px) {
	h4 {
		font-size: 2.2rem;
	}
}
@media (min-width: 992px) {
	h4 {
		font-size: 2.6rem;
	}
}

/* h5 */
h5 {
	clear: both;
	margin: 40px 0 20px 0;
	font-weight: var(--weight-bold);
}
h5 + * {
	margin-top: 0 !important;
}
@media (max-width: 991px) {
	h5 {
		font-size: 1.8rem;
	}
}
@media (min-width: 992px) {
	h5 {
		font-size: 2.0rem;
	}
}

/* h6 */
h6 {
	clear: both;
	margin: 1em 0 1em 0;
	font-size: 1.6rem;
	font-weight: var(--weight-bold);
}

/* p */
p:empty::after {
	content: "\00A0";
}

/* list */
ol,
ul {
	padding-left: 2.5rem;
}

/* strong */
strong {
	font-weight: var(--weight-bold);
}

/* link */
a {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.25em;
	overflow-wrap: anywhere;
	color: var(--color-blue);
}
a:visited {
	color: var(--color-purple);
}
@media (hover: hover) {
	a:hover {
		text-decoration: none;
	}
}

/* img */
img {
	max-width: 100%;
	height: auto;
	vertical-align: top;
}

/* table */
table:not(.gsc-above-wrapper-area-container) {
	width: 100%;
	margin: 25px 0;
	border-spacing: 0;
	border-collapse: collapse;
	border: 1px solid var(--color-gray-light);
}
:where(td, th):not(.gsc-result-info-container):not(.gsc-orderby-container) {
	padding: 19px;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid var(--color-gray-light);
}
th:not(.gsc-result-info-container):not(.gsc-orderby-container) {
	background-color: var(--color-gray-light-xx);
	font-weight: var(--weight-bold);
}
.gsc-selected-option-container.gsc-inline-block {
	white-space: nowrap;
}
:where(td, th):empty::after {
	content: "\00A0";
}
:where(td, th) > :first-child {
	margin-top: 0;
}
:where(td, th) > :last-child {
	margin-bottom: 0;
}

/* table-scroll */
.table-scroll-text {
	margin: 25px 0 -20px 0;
	font-size: 1.4rem;
}
.table-scroll-wrap {
	overflow: auto;
	margin: 25px 0;
}
.table-scroll-wrap > .table-scroll {
	margin: 0;
}
.table-scroll-text + .table-scroll-wrap > .table-scroll {
	width: 840px;
}

/* table-stack */
@container content (max-width: 599px) {
	.table-stack,
	.table-stack > :where(thead, tbody, tfoot),
	.table-stack > :where(thead, tbody, tfoot) > tr,
	.table-stack > :where(thead, tbody, tfoot) > tr > :where(th, td) {
		display: block !important;
		width: 100% !important;
	}
}

/* form */
input,
button,
select,
optgroup,
textarea {
	margin: 0;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
}
button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
	cursor: pointer;
}


/* =====================================
	editor
===================================== */
.mce-content-body p,
.mce-content-body div,
.mce-content-body h1,
.mce-content-body h2,
.mce-content-body h3,
.mce-content-body h4,
.mce-content-body h5,
.mce-content-body h6 {
	line-height: inherit;
}


/* =====================================
	link
===================================== */
/* link-icon */
.link-icon {
	margin-left: 5px;
	vertical-align: text-bottom;
}


/* =====================================
	button
===================================== */
.buttons {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
	justify-content: center;
	margin: 25px 0;
}
.button {
	position: relative;
	display: inline-flex;
	align-items: center;
	padding: 11px 18px 11px 44px;
	transition: color 0.3s, background-color 0.3s;
	text-decoration: none;
	color: var(--color-white) !important;
	border: 1px solid var(--color-primary);
	border-radius: 5px;
	background-color: var(--color-primary);
	font-size: 1.6rem;
	font-weight: var(--weight-bold);
}
.button::before,
.button::after {
	position: absolute;
	left: 18px;
	width: 16px;
	height: 16px;
	content: "";
}
.button::before {
	border-radius: 50%;
	background: var(--color-white);
}
.button::after {
	filter: var(--filter-primary);
	-webkit-filter: var(--filter-primary);
	background: no-repeat url("../files/ico_small-chevron_right_01.svg") center center;
}
.button > .link-icon {
	filter: var(--filter-white);
	-webkit-filter: var(--filter-white);
}
@media (hover: hover) {
	.button:hover {
		color: var(--color-primary) !important;
		background-color: var(--color-white);
	}
	.button:hover::before {
		background: var(--color-primary);
	}
	.button:hover::after {
		filter: var(--filter-white);
		-webkit-filter: var(--filter-white);
	}
	.button:hover > .link-icon {
		filter: var(--filter-primary);
		-webkit-filter: var(--filter-primary);
	}
}


/* =====================================
	list
===================================== */
/* arrow-list */
:is(.arrow-list, .ol_arrow, #ol_arrow) {
	padding-left: 0;
	list-style: none;
}
:is(.arrow-list, .ol_arrow, #ol_arrow) + :is(.arrow-list, .ol_arrow, #ol_arrow) {
	margin-top: 2.5em;
}
:is(.arrow-list, .ol_arrow, #ol_arrow) > li > :is(.arrow-list, .ol_arrow, #ol_arrow) {
	margin-top: 0.5em;
}
:is(.arrow-list, .ol_arrow, #ol_arrow) > li {
	position: relative;
	padding-left: 25px;
}
:is(.arrow-list, .ol_arrow, #ol_arrow) > li:not(:last-child) {
	margin-bottom: 0.5em;
}
:is(.arrow-list, .ol_arrow, #ol_arrow) > li::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 25px;
	height: 1.875em;
	content: "";
	filter: var(--filter-primary);
	-webkit-filter: var(--filter-primary);
	background: no-repeat url("../files/ico_chevron_right_01.svg") center center;
}

/* flex-list */
.flex-list {
	display: flex;
	gap: 10px;
	align-items: center;
	padding-left: 0;
	list-style: none;
}
@media (max-width: 991px) {
	.flex-list {
		flex-wrap: wrap;
	}
}

/* research-area-list */
.research-area-list {
	margin: 0;
	padding-bottom: 30px;
	border-bottom: 1px solid var(--color-gray-light-x);
}
.research-area-list dt {
	font-weight: var(--weight-bold);
}
.research-area-list dt:not(:first-child) {
	margin-top: 30px;
	padding-top: 30px;
	border-top: 1px solid var(--color-gray-light-x);
}
.research-area-list dd {
	margin-left: 0;
	font-size: 1.4rem;
}

/* set-list */
.set-list {
	padding-left: 0;
	list-style: none;
}
.set-list__item {
	display: grid;
	gap: 0.25em;
	grid-template-columns: auto 1fr;
}
.set-list__item:not(:last-child) {
	margin-bottom: 0.5em;
}
:where(.set-list__label, .set-list__value) {
	margin: 0;
}


/* =====================================
	box
===================================== */
.box {
	margin: 25px 0;
	padding: 19px;
	border: dashed 1px var(--color-gray);
}
.box > :first-child {
	margin-top: 0;
}
.box > :last-child {
	margin-bottom: 0;
}


/* =====================================
	project
===================================== */
.project-profile {
	display: grid;
	gap: 0 15px;
	margin: 1em 0;
}
.project-profile:has(.project-profile__image) {
	grid-template-columns: min(50%, 140px) 1fr;
}
.project-profile:has(.project-profile__option) {
	grid-auto-rows: auto 1fr;
}
.project-profile__image {
	width: 100%;
}
.project-profile:has(.project-profile__option) .project-profile__image {
	grid-row: 1 / 3;
}
.project-profile__description {
	margin: 0;
}


/* =====================================
	brochure
===================================== */
/* brochure-list */
.brochure-list {
	display: grid;
	gap: 60px 30px;
	grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr));
	margin: 60px 0;
	padding: 0;
	list-style: none;
}
.brochure-list > li {
	text-align: center;
}
.brochure-list > li.brochure-list__item-full {
	grid-column: 1 / -1;
}
.brochure-list img:not(.link-icon) {
	margin-bottom: 10px;
	border: 1px solid var(--color-gray-light);
}
.brochure-list__note {
	width: fit-content;
	margin: 5px auto 0 auto;
	text-align: left;
	font-size: 1.4rem;
}

/* columns */
.columns {
	display: grid;
	margin: 1em 0;
}
.columns__column > :first-child {
	margin-top: 0;
}
.columns__column > :last-child {
	margin-bottom: 0;
}
.columns__column--figure img {
	border: 1px solid var(--color-gray-light);
}
@media (max-width: 575px) {
	.columns {
		gap: 1em;
	}
	.columns__column--figure {
		justify-self: center;
	}
}
@media (min-width: 576px) {
	.columns {
		gap: 30px;
	}
	.columns--auto-1fr {
		grid-template-columns: auto 1fr;
	}
}


/* =====================================
	kisoken
===================================== */
/* press-event-list */
.press-event-list {
	display: grid;
	grid-template-columns: auto auto 1fr;
	margin: 0;
	padding-bottom: 30px;
	border-bottom: 1px solid var(--color-gray-light-x);
}
.press-event-list :where(dt, dd):not(:nth-child(-n+3)) {
	margin-top: 30px;
	padding-top: 30px;
	border-top: 1px solid var(--color-gray-light-x);
}
.press-event-list dt {
	font-weight: var(--weight-bold);
}
.press-event-list dd {
	margin-left: 0;
	padding-left: min(5vw, 50px);
}


/* =====================================
	legacy
===================================== */
/* project text float */
.pic_float {
	float: left;
	padding: 0 10px 2px 0;
}
.text_float_l {
	float: left;
}

/* align */
img[align="left"],
.alignleft {
	float: left;
	max-width: calc(50% - 0.5em);
	margin-right: 1em;
}
.aligncenter {
	display: block;
	margin-right: auto;
	margin-left: auto;
}
img[align="right"],
.alignright {
	float: right;
	max-width: calc(50% - 0.5em);
	margin-left: 1em;
}

/* td */
.wid {
	width: 130px;
}

/* dd */
dd.description {
	margin-left: 0;
}


/* =====================================
	utility
===================================== */
/* color */
.caution {
	color: var(--color-red);
	font-weight: var(--weight-bold);
}

/* margin */
.margin-bottom-none {
	margin-bottom: 0 !important;
}
.margin-bottom-none + * {
	margin-top: 0 !important;
}

.margin-bottom-large {
	margin-bottom: 40px;
}
.margin-bottom-large-x {
	margin-bottom: 60px;
}
.margin-bottom-large-xx {
	margin-bottom: 80px;
}

/* only */
@media (max-width: 991px) {
	.only-pc {
		display: none;
	}
}
@media (min-width: 992px) {
	.only-sp {
		display: none;
	}
}

/* nowrap */
.nowrap {
	white-space: nowrap;
}

/* clear */
:is(.clear, .text_clear, .clearfloat) {
	clear: both;
}

/* clearfix */
.clearfix::after {
	display: block;
	clear: both;
	content: "";
}

/* visually-hidden */
.visually-hidden {
	position: absolute !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	white-space: nowrap !important;
	border: 0 !important;
}
