@charset "utf-8";
body {
		background-color: #F6F7F8;
}
main section {
		padding: 100px 0;
}
main section.message_section {
		padding-top: 0;
}
.stickey_sidebar {
		height: 500px;
}
@media(max-width: 767px) {
		main section {
				padding: 80px 0 60px;
		}
		main section.links_section {
				padding-bottom: 80px;
		}
}
main h3 {
		font-size: 30px;
		font-weight: 600;
		line-height: 1.6;
		position: relative;
		margin: 0 0 60px;
}
main h3::before, main h3::after {
		content: '';
		display: block;
		position: absolute;
		top: -25px;
		left: 0;
		width: 100%;
		height: 1px;
}
main h3::before {
		background: #AED0E9;
}
main h3::after {
		background: #0168B7;
		width: 103px;
}
@media(max-width: 960px) {
		main h3 {
				font-size: 24px;
		}
}
@media(max-width: 767px) {
		main h3 {
				font-size: 22px;
				margin: 0 0 40px;
		}
		main h3::before, main h3::after {
				top: -20px;
		}
		main h3::after {
				width: 100px;
		}
}
/* ================= */
.message_flex {
		display: flex;
}
.message_photo, .message_section .wp-block-image.size-full {
		width: 405px;
		margin-left: 75px;
}
.message_photo img, .message_section .wp-block-image.size-full img {
		width: 100%;
		height: auto;
}
.message_caption {
		flex: 1
}
.message_caption p {
		line-height: 2.0;
		margin: 0 0 2em
}
.message_caption p:last-child {
		text-align: right;
		margin: 0;
		padding-top: 1em;
}
.message_caption p.en {
		line-height: 1;
		font-size: 16px;
		font-family: "Montserrat";
		color: #0168b7;
		margin-bottom: 15px !important;
		font-weight: 600;
		padding-left: 20px;
		position: relative;
}
.message_caption p.en::before {
		content: '';
		display: block;
		position: absolute;
		top: 4px;
		left: 0;
		width: 9px;
		height: 9px;
		background: #0168b7;
}
main .message_section h3 {
		font-size: 30px;
		font-weight: 600;
		margin: 0 0 40px;
}
main .message_section h3::before, main .message_section h3::after {
		display: none
}
@media(max-width: 1200px) {
		.message_photo, .message_section .wp-block-image.size-full {
				width: 40%;
				margin-left: 35px;
		}
		main .message_section h3 {
				font-size: 24px;
				margin: 0 0 40px;
		}
}
@media(max-width: 960px) {
		.message_flex {
				display: flex;
				flex-direction: column;
		}
		.message_caption {
				display: contents;
		}
		.message_caption .message_caption_hd {
				order: 1;
		}
		.message_photo, .message_section .wp-block-image.size-full {
				order: 2;
				width: 70%;
				margin: 0 auto 30px;
				float: none;
				max-width: 300px;
		}
		.message_caption .message_caption_txt {
				order: 3;
		}
}
/* ================= */
.philosophy_section {
		background: #DCE5EE;
		background: rgba(1, 104, 183, 0.05)
}
main .philosophy_section h3 {
		margin-bottom: 20px;
}
.philosophy_section h3:nth-of-type(2) {
		margin-top: 100px;
}
.philosophy_col {
		background-color: #f6f7f8;
		border-radius: 8px;
		border: 1px solid #dce5ee;
		margin-bottom: 20px;
		padding: 30px;
		padding-left: 50px;
}
.philosophy_section .philosophy_col:last-of-type {
		margin-bottom: 0;
}
.philosophy_col p {
		font-size: 110%;
		font-weight: 500;
		line-height: 1.8;
		margin: 0 0 0.5em;
		margin-left: 18px;
		position: relative;
}
.philosophy_col p::before {
		content: '';
		display: block;
		position: absolute;
		top: 11px;
		left: -18px;
		width: 9px;
		height: 9px;
		background: #0168B7;
}
.philosophy_col p:last-child {
		margin-bottom: 0;
}
@media(max-width: 960px) {
		.philosophy_col {
				padding-left: 30px;
		}
}
@media screen and (orientation: landscape) and (max-width: 900px) {
		.philosophy_col {
				padding: 15px;
				padding-left: 20px;
		}
}
@media(max-width: 767px) {
		.philosophy_col {
				padding: 15px;
				padding-left: 20px;
		}
		.philosophy_col p {
				font-size: 15px;
				margin: 0 0 0.5em;
				margin-left: 15px;
		}
		.philosophy_col p::before {
				top: 8px;
				left: -15px;
				width: 9px;
				height: 9px;
				background: #0168B7;
		}
}
/* ================= */
.profile_section table {
		width: 100%;
		border-collapse: collapse;
		border-top: 1px dotted #8E8E8E;
}
.profile_section h3:nth-of-type(2) {
		margin-top: 120px;
}
.profile_section h4 {
		font-size: 18px;
		font-weight: 600;
		margin: 0 0 25px;
}
@media(max-width: 767px) {
		.profile_section h4 {
				font-size: 17px;
				margin: 0 0 25px;
		}
}
.profile_section table {
		width: 100%;
		border-top: 1px dotted #8E8E8E;
}
.profile_section td, .profile_section .wp-block-table td {
		border: none;
		padding: 15px;
		line-height: 1.8;
		border-bottom: 1px dotted #8E8E8E;
}
.profile_section tr td:first-child,.profile_section .wp-block-table tr td:first-child {
		white-space: nowrap;
		width: 13.5%;
		color: #0168B7;
		font-weight: 500;
		padding-left: 0;
}
@media(max-width: 960px) {
		.profile_section td, .profile_section .wp-block-table td, .history_section td, .history_section .wp-block-table td {
				padding: 12px;
		}
		.profile_section td .spbr {
				display: block
		}
}
@media(max-width: 840px) {
		.profile_section td, .profile_section tr td:first-child,.profile_section .wp-block-table td, .profile_section .wp-block-table tr td:first-child {
				display: block;
				padding: 0 0 15px;
		}
		.profile_section tr td:first-child, .profile_section .wp-block-table tr td:first-child {
				white-space: inherit;
				width: auto;
				padding: 15px 0 5px;
				border: none;
		}
}
/* ================= */
.history_section {
		background: #DCE5EE;
		background: rgba(1, 104, 183, 0.05)
}
.history_section table {
		width: 100%;
		border-collapse: collapse;
		border-top: 1px dotted #8E8E8E;
}
.history_section td, .history_section .wp-block-table td {
		padding: 15px;
		line-height: 1.8;
		border: none;
		border-bottom: 1px dotted #8E8E8E;
}
@media(max-width: 960px) {
		.history_section td {
				padding: 12px;
		}
}
.history_section tr td:first-child, .history_section .wp-block-table tr td:first-child {
		white-space: nowrap;
		width: 15%;
		color: #0168B7;
		font-weight: 500;
		padding-left: 0;
}
@media(max-width: 840px) {
		.history_section td, .history_section tr td:first-child, .history_section .wp-block-table td, .history_section .wp-block-table tr td:first-child {
				display: block;
				padding: 0 0 15px;
		}
		.history_section tr td:first-child, .history_section .wp-block-table tr td:first-child {
				white-space: inherit;
				width: auto;
				padding: 15px 0 5px;
				border: none;
		}
}
/* ================= */
.access_section {}
.access_section h4 {
		font-size: 18px;
		font-weight: 600;
		margin: 0 0 15px;
}
.access_section h4 span {
		color: #0168B7;
		font-family: 'Roboto', sans-serif;
		font-weight: 500;
		margin-left: 1em;
		font-size: 14px;
		letter-spacing: 0
}
@media(max-width: 960px) {
		.access_section .spbr {
				display: block
		}
}
.access_hd {
		margin: 0 0 20px;
}
.access_hd p {
		font-weight: 600;
		line-height: 1.8;
}
.access_hd + p {
		font-size: 90%;
		line-height: 1.8;
		color: #888;
		margin: 0 0 20px;
}
.access_figure {
		display: flex;
		justify-content: space-between;
		margin-bottom: 100px;
}
.access_figure:last-child {
		margin-bottom: 0;
}
.access_figure_left {
		width: 540px;
		display: flex;
		flex-flow: column;
		justify-content: space-between;
}
.access_figure img {
		width: 100%;
		height: auto;
}
.access_photo {
		width: 523px;
}
@media(min-width: 768px) {
		.access_hd p br {
				display: none
		}
}
.googlemap iframe {
		width: 100%;
		height: auto;
		aspect-ratio: 10 / 5.28;
}
.googlemap.short iframe {
		width: 100%;
		height: auto;
		aspect-ratio: 10 / 4.45;
}
@media(max-width: 1440px) {
		.access_figure_left {
				width: 50%;
		}
		.access_photo {
				width: 48.4%;
		}
}
@media(max-width: 960px) {
		.access_figure {
				display: block;
		}
		.access_figure_left {
				width: 100%;
		}
		.access_map {
				width: 100%;
				margin: 0 0 20px;
		}
		.googlemap {
				width: 100%;
				margin: 0 0 20px
		}
		.access_photo {
				width: 100%;
		}
}
@media(max-width: 767px) {
		.access_map {
				margin: 0 0 15px;
		}
		.googlemap {
				margin: 0 0 15px
		}
		.googlemap iframe, .googlemap.short iframe {
				width: 100%;
				height: auto;
				aspect-ratio: 6 / 4;
		}
}
/* ================= */
.iso_section {
		background: #DCE5EE;
		background: rgba(1, 104, 183, 0.05)
}
.iso_col {
		background-color: #f6f7f8;
		border-radius: 8px;
		border: 1px solid #dce5ee;
		margin-bottom: 20px;
		padding: 30px;
}
.iso_col h4 {
		font-size: 18px;
		font-weight: 600;
		margin: 0 0 20px;
		padding-left: 24px;
		position: relative;
}
.iso_col h4::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 5px);
		left: 0;
		width: 9px;
		height: 9px;
		background: #0168B7;
}
.iso_col p {
		line-height: 1.8;
}
.iso_section h5 {
		font-size: 18px;
		font-weight: 600;
		margin: 60px 0 20px;
}
.iso_section table {
		width: 100%;
		border-collapse: collapse;
		border-top: 1px dotted #8E8E8E;
}
.iso_section td, .iso_section .wp-block-table td {
		border: none;
		padding: 15px;
		line-height: 1.8;
		border-bottom: 1px dotted #8E8E8E;
}
.iso_section tr td:first-child, .iso_section .wp-block-table tr td:first-child {
		white-space: nowrap;
		width: 13.5%;
		color: #0168B7;
		font-weight: 500;
		padding-left: 0;
}
@media(max-width: 960px) {
		.iso_section td .spbr {
				display: block
		}
}
@media screen and (orientation: landscape) and (max-width: 900px) {
		.iso_col {
				padding: 20px;
		}
}
@media(max-width: 767px) {
		.iso_col {
				padding: 20px;
		}
		.iso_section td, .iso_section tr td:first-child, .iso_section .wp-block-table td, .iso_section tr .wp-block-table td:first-child {
				display: block;
				padding: 0 0 15px;
		}
		.iso_section tr td:first-child, .iso_section tr .wp-block-table td:first-child {
				white-space: inherit;
				width: auto;
				padding: 15px 0 5px;
				border: none;
		}
}
/* ================= */
.links_section p {
		line-height: 1.6;
}
.links_section p {
		font-size: 120%;
		font-weight: 600;
}
.links_col {
		margin-top: 30px;
}
.links_section .links_col p {
		font-weight: 400;
		font-size: 100%;
		margin: 0 0 1em
}
.links_section .links_col p a {
		color: #0168B7;
		text-decoration: underline;
}
@media (hover: hover) {
		.links_section .links_col p a:hover {
				color: #0168B7;
				text-decoration: none;
		}
}