@charset "utf-8";
/* ================ */
.profile_col {
		background: #fff;
		padding: 80px 90px;
		box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.05);
		margin-bottom: 90px;
}
.page_authorization .profile_col {
		padding-top: 40px;
}
.profile_col table {
		width: 100%;
		border-top: 1px solid #9BBEE2;
}
.profile_col .wp-block-table td {
		border: none;
		padding: 25px 0;
		border-bottom: 1px solid #9BBEE2;
		line-height: 1.8;
		vertical-align: top;
}
.profile_col .wp-block-table .extra td {
		vertical-align: middle
}
.profile_col .wp-block-table tr:last-child td {
		border: none;
}
.profile_col .wp-block-table tr td:first-child {
		width: 25%;
		font-weight: 500;
		padding-left: 25px;
		white-space: nowrap;
}
.profile_col table td a {
		color: #0067E0;
		text-decoration: underline;
		display: block
}
@media (hover: hover) {
		.profile_col table a:hover {
				color: #0067E0;
				text-decoration: none;
		}
}
.profile_col td iframe {
		width: 100%;
		height: auto;
		aspect-ratio: 10 / 5.6;
}
.profile_col td ul {
		margin-left: 1em;
		list-style: none
}
.profile_col td ul li {
		position: relative;
		line-height: 1.6;
		margin: 0 0 12px;
}
.profile_col td ul li::after {
		content: '・';
		display: block;
		position: absolute;
		top: 0;
		left: -1em;
}
.profile_col td ul li:last-child {
		margin-bottom: 0;
}
@media(max-width: 960px) {
		.profile_col {
				padding: 40px;
		}
		.page_authorization .profile_col {
				padding-top: 10px;
		}
		.profile_col .wp-block-table tr td:first-child {
				padding-left: 0;
		}
}
@media screen and (orientation: landscape) and (max-width: 900px) {
		.profile_col {
				padding: 40px 20px;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.profile_col {
				padding: 30px 20px;
		}
		.page_authorization .profile_col {
				padding-top: 10px;
		}
		.profile_col .wp-block-table td {
				display: block;
				padding: 0 0 15px;
				border-bottom: 1px solid #9BBEE2;
		}
		.profile_col .wp-block-table tr td:first-child {
				border-bottom: none;
				width: auto;
				white-space: inherit;
				padding-top: 15px;
				padding-left: 0;
				padding-bottom: 5px;
				font-weight: 700;
		}
		.profile_col .wp-block-table tr td:first-child br {
				display: none
		}
		.profile_col td iframe {
				aspect-ratio: 10 / 10;
		}
}
/* ================ */
.second_hdr_cont.message {
		padding: 90px 30px 90px 90px;
		display: block
}
.message_wrap {
		display: flex;
		align-items: flex-start;
}
.message_wrap.first {
		margin-bottom: 60px;
}
@media(max-width: 1400px) {
		.second_hdr_cont.message {
				padding: 70px 30px 70px 70px;
		}
}
@media(max-width: 1200px) {
		.second_hdr_cont.message {
				padding: 50px 30px 50px 50px;
		}
}
.message_left {
		width: 300px;
		margin-right: 65px;
}
.message_right {
		flex: 1;
		max-width: 830px;
}
.message_left img {
		width: 100%;
		height: auto;
}
.message_right h4 {
		font-size: 26px;
		font-weight: 600;
		margin-bottom: 30px;
		line-height: 1.6;
}
@media(max-width: 1200px) {
		.message_right h4 {
				font-size: 22px;
		}
}
.message_caption p {
		line-height: 1.8;
}
.message_caption p {
		margin-bottom: 1.5em;
}
.message_caption p:last-child {
		text-align: right;
		font-size: 12px;
		margin-top: 2em;
}
@media(max-width: 960px) {
		.second_hdr_cont.message {
				padding: 40px;
		}
		.message_wrap {
				display: flex;
				flex-direction: column;
		}
		.message_right, .message_caption {
				display: contents;
		}
		.message_right hgroup {
				order: 1;
		}
		.message_right h4 {
				order: 2;
		}
		.message_right p {
				order: 3;
		}
		.message_left {
				order: 4;
				width: 50%;
				margin: 20px auto 10px;
		}
		.message_caption p:last-child {
				order: 5;
				text-align: center;
				font-size: 13px;
				margin-top: 0;
				width: 100%;
		}
}
@media screen and (orientation: landscape) and (max-width: 900px) {
		.message_wrap {
				display: flex;
				align-items: flex-start;
				flex-direction: row;
		}
		.message_left {
				width: 180px;
				margin-right: 30px;
				order: inherit;
				margin-top: 0;
				margin-bottom: 0;
		}
		.message_right, .message_caption {
				display: block;
		}
		.message_caption p {
				margin-bottom: 1em;
				text-align: justify;
		}
		.message_caption p:last-child {
				text-align: right;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.second_hdr_cont.message {
				padding: 30px 20px;
		}
		.message_right h4 {
				font-size: 18px;
				margin: 0 0 15px;
		}
		.message_left {
				width: 70%;
				margin: 20px auto 10px;
		}
}
/* ================ */
.philosophy_col {
		padding: 100px 110px;
		background: #fff;
		box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.05);
		margin-bottom: 90px;
		overflow: hidden;
}
@media(max-width: 1400px) {
		.philosophy_col {
				padding: 90px;
		}
}
@media(max-width: 1200px) {
		.philosophy_col {
				padding: 50px;
		}
}
.philosophy_flex {
		display: flex;
		margin-bottom: 80px;
}
.philosophy_flex:nth-child(odd) {
		display: flex;
		flex-direction: row-reverse;
}
.philosophy_flex:last-child {
		margin-bottom: 0;
}
.philosophy_photo {
		width: 520px;
		margin-right: 55px;
}
.philosophy_flex:nth-child(odd) .philosophy_photo {
		margin-right: 0;
		margin-left: 55px;
}
.philosophy_photo img {
		width: 100%;
		height: auto
}
.philosophy_caption {
		flex: 1
}
.philosophy_caption h4 {
		font-size: 20px;
		font-weight: 700;
		margin: 0 0 40px;
		color: #027DFF;
		padding-left: 35px;
		position: relative;
}
.philosophy_caption h4::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 13px);
		left: 15px;
		width: 4px;
		height: 26px;
		background: #0067E0;
		transform: skewX(30deg);
}
.philosophy_caption h5 {
		font-size: 24px;
		font-weight: 600;
		line-height: 1.6;
		margin: 0 0 35px
}
@media(max-width: 1550px) {
		.philosophy_caption h5 {
				font-size: 22px;
		}
}
@media(max-width: 1440px) {
		.philosophy_photo {
				width: 45%;
				margin-right: 50px;
		}
		.philosophy_flex:nth-child(odd) .philosophy_photo {
				margin-right: 0;
				margin-left: 50px;
		}
		.philosophy_caption h5 br {
				display: none
		}
}
.philosophy_caption p {
		line-height: 1.8;
}
@media(max-width: 1200px) {
		.philosophy_caption h4 {
				margin: 0 0 30px;
		}
		.philosophy_caption h5 {
				font-size: 18px;
				margin-bottom: 25px;
		}
}
@media(max-width: 960px) {
		.philosophy_col {
				padding: 40px;
		}
		.philosophy_flex {
				display: block !important
		}
		.philosophy_photo {
				width: 100%;
				margin: 0 0 30px !important
		}
		.philosophy_photo img {
				height: 30vw;
				object-fit: cover
		}
		.philosophy_caption h4 {
				margin: 0 0 20px;
		}
		.philosophy_caption h5 {
				font-size: 20px;
				margin-bottom: 20px;
		}
}
@media(max-width: 767px) {
		.philosophy_col {
				padding: 30px 20px;
		}
		.philosophy_caption h5 {
				font-size: 18px;
				margin-bottom: 20px;
		}
}
/* ================ */
.philosophy_pict_section {
		margin-bottom: 90px;
		padding-left: 130px;
		padding-right: 130px;
}
@media(max-width: 1400px) {
		.philosophy_pict_section {
				padding-left: 110px;
				padding-right: 110px;
		}
}
@media (max-width: 1200px) {
		.philosophy_pict_section {
				padding-left: 70px;
				padding-right: 70px;
		}
}
@media (max-width: 960px) {
		.philosophy_pict_section {
				padding-left: 60px;
				padding-right: 60px;
		}
}
@media(max-width: 767px) {
		.philosophy_pict_section {
				padding-left: 30px;
				padding-right: 30px;
		}
}
.philosophy_pict_section .wrap1250 {
		padding: 0;
}
.philosophy_pict_flex {
		max-width: 1140px;
		display: flex;
		justify-content: center;
}
.philosophy_pict_item {
		width: 33.3%;
}
.philosophy_pict_thumb {
		width: 250px;
		margin: 0 auto 25px
}
.philosophy_pict_thumb img {
		border-radius: 50%;
		width: 100%;
		height: auto
}
.philosophy_pict_caption {
		text-align: center;
}
.philosophy_pict_caption h4 {
		font-size: 26px;
		font-weight: 700;
		text-align: center;
		margin: 0 0 15px;
}
.philosophy_pict_caption p {
		line-height: 1.8;
}
@media(max-width: 1200px) {
		.philosophy_pict_thumb {
				width: 80%;
				max-width: 200px;
		}
		.philosophy_pict_caption p {
				font-size: 15px;
		}
}
@media(max-width: 1100px) {
		.philosophy_pict_caption p {
				font-size: 14px;
		}
}
@media(max-width: 960px) {
		.philosophy_pict_thumb {
				width: 80%;
		}
		.philosophy_pict_caption {
				padding: 0 15px;
		}
		.philosophy_pict_caption h4 {
				font-size: 22px;
				;
		}
		.philosophy_pict_caption p {
				line-height: 1.8;
				text-align: left;
		}
		.philosophy_pict_caption p br {
				display: none
		}
}
@media(max-width: 767px) {
		.philosophy_pict_caption h4 {
				font-size: 20px;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.philosophy_pict_flex {
				display: block;
		}
		.philosophy_pict_item {
				width: 100%;
				margin: 0 auto 30px
		}
		.philosophy_pict_thumb {
				width: 50%;
		}
		.philosophy_pict_caption {
				padding: 0;
		}
		.philosophy_pict_flex .philosophy_pict_item:last-child {
				margin-bottom: 0;
		}
		.philosophy_pict_caption h4 {
				font-size: 20px;
		}
		.philosophy_pict_caption p {
				text-align: center;
		}
		.philosophy_pict_caption p br {
				display: block
		}
}
/* ================ */
.history_section {
		position: relative;
		padding: 0 0 100px;
}
@media(max-width: 960px) {
		.history_section {
				padding: 0 0 80px;
		}
}
.history_section::before {
		content: '';
		display: block;
		position: absolute;
		top: 70px;
		left: 0;
		width: 100%;
		height: 100%;
		background: linear-gradient(#052753 0%, #063677 100%);
}
@media(max-width: 960px) {
		.history_section::before {
				top: 30px;
		}
}
.history_col {
		background: #fff;
		padding: 80px 150px;
		box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.05);
		overflow: hidden;
		position: relative;
		z-index: 2
}
.history_col table {
		width: 100%;
}
.history_col .wp-block-table td {
		border: none;
		padding: 0;
		line-height: 1.8;
		vertical-align: top
}
.history_col .wp-block-table tr:last-child td {
		border: none;
}
.history_col .wp-block-table tr td:first-child {
		white-space: nowrap;
		font-family: "Barlow Condensed";
		font-weight: 600;
		font-size: 38px;
		letter-spacing: 0.02em;
		line-height: 1;
		position: relative;
		padding-right: 70px;
}
.history_col .wp-block-table tr td:first-child span {
		font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
		font-size: 50%;
		margin: 0 5px 0 3px
}
.history_col .wp-block-table tr td:nth-child(2) {
		position: relative;
		padding-top: 10px;
		padding-bottom: 25px;
}
.history_col .wp-block-table tr td:nth-child(2):before, .history_col .wp-block-table tr td:nth-child(2):after {
		content: '';
		display: block;
		position: absolute;
		background: #027DFF;
}
.history_col .wp-block-table tr td:nth-child(2):before {
		width: 1px;
		height: 100%;
		top: 0;
		left: -37px;
}
.history_col .wp-block-table tr:last-child td:nth-child(2):before {
		height: 300%;
}
.history_col .wp-block-table tr td:nth-child(2):after {
		top: 14px;
		left: -45px;
		width: 17px;
		height: 17px;
		border-radius: 50%;
}
@media(max-width: 1560px) {
		.history_col {
				padding: 80px;
		}
		.history_col .wp-block-table tr td:first-child {
				font-size: 30px;
				padding-right: 70px;
		}
}
@media(max-width: 1200px) {
		.history_col {
				padding: 60px 40px;
		}
		.history_col .wp-block-table tr td:first-child {
				font-size: 30px;
				padding-right: 40px;
		}
		.history_col .wp-block-table tr td:nth-child(2):before {
				left: -29px;
		}
		.history_col .wp-block-table tr td:nth-child(2):after {
				top: 15px;
				left: -35px;
				width: 13px;
				height: 13px;
		}
}
@media(max-width: 960px) {
		.history_col {
				padding: 40px 30px;
		}
		.history_col .wp-block-table tr td:first-child {
				font-size: 26px;
				padding-right: 30px;
		}
		.history_col .wp-block-table tr td:first-child span {
				font-size: 15px;
				margin: 0 2px 0 2px
		}
		.history_col .wp-block-table tr td:nth-child(2) {
				font-size: 15px;
				padding-top: 5px;
				padding-bottom: 15px;
		}
		.history_col .wp-block-table tr td:nth-child(2):before {
				left: -21px;
		}
		.history_col .wp-block-table tr td:nth-child(2):after {
				top: 12px;
				left: -26px;
				width: 11px;
				height: 11px;
		}
}
@media screen and (orientation: landscape) and (max-width: 1000px) {
		.history_col .wp-block-table tr td:first-child {
				font-size: 20px;
				padding-right: 30px;
		}
		.history_col .wp-block-table td {
				vertical-align: top !important;
		}
		.history_col .wp-block-table tr td:nth-child(2) {
				padding-top: 0;
		}
		.history_col .wp-block-table tr td:nth-child(2):after {
				top: 6px;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.history_col {
				padding: 40px 20px;
				position: relative;
		}
		.history_col .wp-block-table {
				position: relative;
		}
		.history_col .wp-block-table::before {
				content: '';
				display: block;
				position: absolute;
				top: 0;
				left: 0;
				width: 1px;
				height: calc(100% + 200px);
				background: #027DFF;
		}
		.history_col .wp-block-table td {
				display: block;
				padding-left: 30px;
		}
		.history_col .wp-block-table tr td:first-child {
				font-size: 18px;
				padding: 0 0 5px 15px;
				position: relative;
		}
		.history_col .wp-block-table tr td:nth-child(2) {
				padding: 0 0 15px 15px;
				font-size: 14px;
		}
		.history_col .wp-block-table tr td:nth-child(2)::before, .history_col .wp-block-table tr td:nth-child(2)::after {
				display: none
		}
		.history_col .wp-block-table tr td:first-child::after {
				content: '';
				display: block;
				position: absolute;
				background: #027DFF;
		}
		.history_col .wp-block-table tr td:first-child::after {
				top: 6px;
				left: -5px;
				width: 11px;
				height: 11px;
				border-radius: 50%;
		}
}
/* =============== */
.location_wrap {
		background: #fff;
		padding: 80px 120px 100px;
		box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.05);
		margin-bottom: 90px;
		overflow: hidden
}
.location_col {
		display: flex;
		margin: 0 0 120px
}
.location_wrap .location_col:last-child {
		margin-bottom: 0;
}
.location_col .left {
		width: 570px;
		margin-right: 55px;
}
.location_col .left img {
		width: 100%;
		height: auto;
}
.location_col .left .photo {
		margin-bottom: 28px;
}
.location_col .left iframe {
		width: 100%;
		height: auto;
		aspect-ratio: 10 / 5;
}
.location_col .right {
		flex: 1
}
.location_col .right table {
		width: 100%;
}
.location_wrap h2 {
		font-size: 30px;
		font-weight: 700;
		padding-bottom: 15px;
		margin-bottom: 50px;
		position: relative;
}
.location_wrap h2::before, .location_wrap h2::after {
		content: '';
		display: block;
		position: absolute;
		left: 0;
		width: 100%;
		height: 2px;
}
.location_wrap h2::before {
		height: 2px;
		background: #C8DAF2;
		bottom: 0;
}
.location_wrap h2::after {
		width: 6px;
		height: 6px;
		background: #007DFF;
		bottom: -2px
}
.location_col .right h3 {
		font-weight: 700;
		font-size: 24px;
		margin: 0 0 15px;
}
.location_col .right td {
		border: none;
		vertical-align: top;
		padding: 20px 0;
		border-bottom: 1px dotted #AEB7C4;
		line-height: 1.8;
}
.location_col .right td a {
		color: #0067E0;
		text-decoration: underline;
}
@media(min-width: 767px) {
		.location_col .right td a[href^="tel:"] {
				text-decoration: none;
				color: #00234B;
				pointer-events: none
		}
}
@media (hover: hover) {
		.location_col .right td a:hover {
				color: #0067E0;
				text-decoration: none;
		}
}
.location_col .right table tr td:first-child {
		white-space: nowrap;
		padding-right: 35px;
		font-weight: 700;
}
.location_col .right.extra table tr td:first-child {
		width: 1%;
		white-space: nowrap
}
.location_col .right table tr td:first-child span {
		padding-left: 20px;
		display: inline-block;
		position: relative;
}
.location_col .right table tr td:first-child span::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 5px);
		left: 0;
		width: 8px;
		height: 8px;
		background: #0067E0;
		border-radius: 50%;
}
.location_col .right .hrRight {
		margin-top: 30px;
}
.location_col td strong {
		font-weight: 500;
}
@media(max-width: 1500px) {
		.location_wrap {
				padding: 80px 80px 100px;
		}
		.location_col .left {
				width: 45%;
				margin-right: 40px;
		}
}
@media(max-width: 1200px) {
		.location_wrap {
				padding: 60px 60px 80px;
		}
		.location_col .left {
				width: 45%;
				margin-right: 30px;
		}
}
@media(max-width: 960px) {
		.location_wrap {
				padding: 60px 60px 80px;
		}
		.location_wrap h2 {
				font-size: 24px;
				margin-bottom: 40px;
		}
		.location_col {
				display: flex;
				flex-direction: column;
				margin-bottom: 80px;
		}
		.location_col .left {
				width: 100%;
				margin-right: 0;
				display: contents;
		}
		.location_col .right {
				display: contents;
		}
		.location_col .right h3 {
				order: 1;
				font-size: 20px;
				margin: 0 0 20px;
		}
		.location_col .right table {
				order: 2;
				margin-bottom: 40px;
		}
		.location_wrap .location_col:last-child .right table {
				margin-bottom: 0;
		}
		.location_col .left {
				order: 4;
				display: flex;
				justify-content: space-between;
		}
		.location_col .left .photo {
				width: calc(50% - 5px);
				margin-bottom: 0;
		}
		.location_col .left .photo img {
				height: 220px;
				object-fit: cover;
		}
		.location_col .left .map {
				width: calc(50% - 5px);
		}
		.location_col .left .map iframe {
				aspect-ratio: unset;
				height: 100%
		}
		.location_col .right .hrRight {
				order: 5;
		}
		.location_col {
				display: flex;
				flex-direction: column;
				margin-bottom: 80px;
		}
}
@media screen and (orientation: landscape) and (max-width: 900px) {
		.location_col .right h3 {
				font-size: 28px;
				margin: 0 0 15px;
		}
}
@media(max-width: 767px) {
		.location_wrap {
				padding: 30px 20px 60px;
		}
		.location_wrap h2 {
				font-size: 22px;
				margin-bottom: 30px;
		}
		.location_col .right h3 {
				font-size: 22px;
				margin: 0 0 15px;
		}
		.location_col {
				margin-bottom: 60px;
		}
		.location_col .right table tr td:first-child span {
				padding-left: 13px;
		}
		.location_col .right table tr td:first-child span::before {
				top: calc(50% - 4px);
				width: 6px;
				height: 6px;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.location_col .right h3 {
				font-size: 22px;
				margin: 0 0 15px;
		}
		.location_col .left {
				display: block
		}
		.location_col .left .photo {
				width: 100%;
				margin: 0 0 15px;
		}
		.location_col .left .photo img {
				height: auto;
				object-fit: contain;
		}
		.location_col .left .map {
				width: 100%;
				height: auto;
				aspect-ratio: 4 / 3;
		}
		.location_col .right table tr td:first-child {
				display: block;
				padding: 15px 0 5px;
				width: auto;
				border-bottom: none;
		}
		.location_col .right table tr td:nth-child(2) {
				display: block;
				padding: 0 0 15px;
				border-bottom: 1px dotted #AEB7C4;
		}
}
/* ============ */
.tsc_flex {
		display: flex;
		align-items: center;
}
.tsc_flex_left {
		width: 600px;
		margin-right: 60px;
}
.tsc_flex_left img {
		width: 100%;
		height: auto;
}
.tsc_flex_right {
		flex: 1
}
.tsc_flex_right h4 {
		font-size: 24px;
		line-height: 1.6;
		font-weight: 600;
		margin: 0 0 20px;
}
.tsc_flex_right p {
		line-height: 1.8;
}
@media(max-width: 1200px) {
		.tsc_flex {
				align-items: flex-start;
		}
		.tsc_flex_left {
				width: 40%;
				margin-right: 30px;
		}
		.tsc_flex_right h4 {
				font-size: 20px;
				margin: 0 0 15px;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.tsc_flex {
				display: flex;
				flex-direction: column-reverse;
		}
		.tsc_flex_left {
				width: 100%;
				margin: 25px 0 0
		}
		.tsc_flex_right h4 {
				font-size: 17px;
		}
}
/* ================ */
.tsc_access_section {
		background: #fff;
		padding: 100px 30px;
}
.tsc_access_wrap {
		max-width: 1360px;
		margin: 0 auto;
		display: flex;
}
.tsc_access_left {
		flex: 1
}
.tsc_access_right {
		width: 700px;
		margin-left: 50px;
}
.tsc_access_right iframe {
		width: 100%;
		height: 100%;
		border-radius: 10px;
}
.tsc_access_left table {
		width: 100%;
		border-collapse: collapse
}
.tsc_access_left td {
		border-bottom: 1px dashed #AEB7C4;
		padding: 25px 0;
		line-height: 1.8;
		vertical-align: top
}
.tsc_access_left tr td:first-child {
		white-space: nowrap;
		font-weight: 600;
		width: 24%;
}
.tsc_access_left td a {
		color: #00234B;
		text-decoration: underline;
}
@media (hover: hover) {
		.tsc_access_left td a:hover {
				color: #00234B;
				text-decoration: none;
		}
}
@media(max-width: 1300px) {
		.tsc_access_right {
				width: 45%;
				margin-left: 30px;
		}
		.tsc_access_left tr td:first-child {
				white-space: nowrap;
				width: auto;
				padding-right: 20px;
		}
}
@media(max-width: 960px) {
		.tsc_access_left td {
				display: block;
				padding: 0;
				border: none;
		}
		.tsc_access_left tr td:first-child {
				width: auto;
				padding: 15px 0 5px;
		}
		.tsc_access_left tr td:nth-child(2) {
				padding: 0 0 15px;
				border-bottom: 1px dashed #AEB7C4;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.tsc_access_section {
				background: #fff;
				padding: 80px 20px;
		}
		.tsc_access_wrap {
				display: block;
		}
		.tsc_access_right {
				width: auto;
				margin: 25px 0 0;
		}
		.tsc_access_right iframe {
				width: 100%;
				height: auto;
				aspect-ratio: 4 / 3;
		}
}