div#wpadminbar .btn-border::before {
	width: auto;
}

.txt-red {
	color: #ce052c;
}

div.site-header__inner li.pc-nav-list__item {
	margin-right: 0.8em;
	margin-left: 0.8em;
}
div.site-header__inner li.pc-nav-list__item.hassub::after{
	content: "";
	display: inline-block;
	width: 10px;
	height: 5px;
	box-sizing: border-box;
	border-top: solid 5px #aaa;
	border-right: solid 5px rgba(0,0,0,0);
	border-left: solid 5px rgba(0,0,0,0);
	vertical-align: middle;
	margin: 0 auto;
}

div.site-header__inner li.pc-nav-list__item ul {
	background-color: #fff;
	text-align: left;
	position: absolute;
	margin: 0 auto 0 -1.8em;
	padding: 0 1em;
	overflow-y: hidden;
}
div.site-header__inner li.pc-nav-list__item ul li {
	opacity: 0;
	line-height: 0;
	margin-top: 0;
	margin-bottom: 0;
}
div.site-header__inner li.pc-nav-list__item:hover ul li {
	opacity: 1;
	line-height: 1;
	margin-top: 1.5em;
	margin-bottom: 1.5em;
	transition: all 0.1s ease-in-out;
}

div.site-header__right #translate {
	font-size: 0;
	margin-top: 1rem;
	margin-left: 1rem;
}
div.site-header__right #translate:first-child {
	margin-top: 0rem;
}
div.site-header__right #translate .trans-lang {
	display: inline-flex;
	align-items: center;
	color: #00f;
	font-size: initial;
}
div.site-header__right #translate .trans-lang:not(:first-child)::before {
	content: "／";
	color: initial;
	margin-right: 0;
	margin-left: 0;
}

.site-nav li.site-nav-list__item ul {
	margin: 0 0 0 1em;
	padding: 1em 0 0 0;
}
.site-nav li.site-nav-list__item ul li {
	margin-bottom: 0;
}
.site-nav li.site-nav-list__item ul li::before {
	content: "";
	width: 2rem;
	height: 0;
	display: inline-block;
	vertical-align: middle;
	border-top: solid 2px #aaa;
}

div.recruit {
	ul.jobs {
		font-weight: bold;
	}

	ul.jobs li {
		margin: 2em auto 0 auto;
	}

	ul.jobs li * {
		font-weight: normal;
	}

	ul.jobs h3 {
		font-weight: bold;
		font-size: 100%;
		border-bottom: solid 1px #156082;
		margin: 0em auto 0 auto;
	}

	dl {
		display: grid;
		grid-template-columns: 16em 1fr;
		column-gap: 2em;
		margin: 1em auto 0 2em;
	}

	div.imgboxes {
		display: block;
		text-align: center;
		margin: 0 auto;
	}

	div.imgbox {
		width: 450px;
		max-width: 100%;
		display: inline-block;
		margin: 0 auto;
	}

	div.imgbox img {
		width: 100%;
	}

	div.imgbox .caption {
		;
	}

	iframe {
		max-width: 100%;
		display: block;
		text-align: center;
		margin: 1em auto 0 auto;
	}

	@media (max-width: 599px) {
		dl {
			display: grid;
			grid-template-columns: 1fr;
			column-gap: 0em;
			margin: 1em auto 0 2em;
		}
		
		dt {
			margin-top: 0.5em;
		}
	}
}

div.recruit-job {
	h2, p {
		margin-top: 2em;
	}

	p + p {
		margin-top: 0;
	}

	ul {
		padding-left: 2em;
	}

	ul li {
		list-style-type: disc;
	}

	table {
		text-align: center;
		border-collapse: collapse;
		margin-bottom: 1em;
	}

	th, td {
		border: solid 2px #aaa;
		padding: 0.5em 1em;
	}

	th {
		text-align: center;
		vertical-align: top;
		white-space: nowrap;
	}

	td {
		text-align: left;
	}
	
}

/**
 * News記事中リンクの下線
 */
.article {
	h2 {
		font-size: 1.5em;
		font-weight: 900;
		border-bottom: solid 1px #aaa;
		margin: 2em auto 1em;
	}

	h3 {
		font-size: 1.3em;
		font-weight: 900;
		margin: 2em auto 1em;
	}

	h4 {
		font-size: 1em;
		font-weight: 900;
		margin: 2em auto 1em;
	}

	a.btn-border {
		&::before {
			display: none;
		}
	
		text-decoration: underline;
		text-underline-offset: 0.3em;
	}

	ul.itemize {
		padding-left: 2em;
		margin-bottom: 1em;

		li {
			list-style: disc;
		}
	}

	.announce {
		border: solid 3px #aaa;
		padding: 1em;
		margin: 1em auto;
	}

	.alignleft {
		float: left;
		margin: 1em 1em 1em auto;
	}

	.clearboth {
		clear: both;
	}

	.mtop-3 {
		margin-top: 3em;
	}

	#footnotes {
		font-size: 0.9em;
		border-top: solid 1px #aaa;
		margin-top: 2em;
		padding-top: 1em;
	}
}

/**
 * Media記事
 */
.single-media {
	.page-main {
		header > div {
			text-align: center;
		}
	
		figure {
			text-align: center;
			margin: 2rem auto;
		}

		em {
			font-weight: bold;
			font-style: normal;
		}

		h2 {
			font-size: 2.2rem;
			font-weight: bold;
			margin: 2em auto 1em;
		}
	
		h3 {
			font-weight: bold;
			margin: 2em auto 1em;
			counter-reset: h4;
		}

		h4 {
			font-weight: bold;
			margin: 2em auto 1em;
		}

		h4.enum {
			&::before {
				content: counter(h4) ".";
				counter-increment: h4;
				margin-right: 1ex;
			}
		}

		h6 {
			margin-top: 2em;
		}

		ul.itemize {
			margin-bottom: 1rem;
			padding-left: 2rem;

			& > li {
				list-style: disc;
			}
		}

		ol.numeric {
			margin-bottom: 1rem;
			padding-left: 2rem;

			& > li {
				list-style: decimal;
			}
		}

		dl.enum {
			counter-reset: dt;
			margin: 2em auto 2em 2em;

			dt {
				margin-top: 1em;

				&::before {
					content: counter(dt) ".";
					counter-increment: dt;
					margin-right: 1ex;
				}
			}

			dd {
				margin-left: 3ex;
			}
		}

		dl.normal {
			margin: 2em auto 2em;

			dt {
				font-weight: bold;
				margin-top: 1em;
			}

			dd {
				margin-left: 2em;
			}
		}

		table {
			border: solid 3px #333;
			border-collapse: collapse;
			margin: 1em auto 0;

			th, td {
				border: solid 1px #333;
				padding: 1em;
			}

			th {
				text-align: center;
				white-space: nowrap;
			}

			td {
				text-align: left;
			}
		}

		#introduction {
			font-weight: normal;
			border: double 3px #ddd;
			margin: auto auto 2em;
			padding: 2em 2em 1em;

			h2:first-of-type {
				font-size: 1.5em;
				margin-top: 0;
			}
		}

		.interviewer {
			font-style: italic;
			font-family: sans-serif;
			font-weight: bold;
			margin: 3em auto 2em;

			&::before {
				content: "";
				width: 2em;
				height: 0;
				display: inline-block;
				vertical-align: middle;
				border-top: solid 1px #aaa;
				margin-right: 0.5em;
			}
		}

		.interviewee {
			font-weight: bold;
			margin-right: 0.5em;
		}

		.table_of_contents {
			border: solid 2px #ccc;
			padding: 2em;
			margin: 2em auto;

			h2 {
				font-size: 1.5rem;
				margin-top: 0;
			}
		}
	}
}

.faq-button a {
	display: block;
	font-size: 1.5rem;
	text-align: center;
	margin: 6rem auto auto;
	border: solid 2px #333;
	padding: 1em;

	&:before {
		display: none;
	}
}

.news-detail {
	table {
		border-collapse: separate;
		border-spacing: 0;
		border: solid 2px #333;
		margin: 2em auto;
	}
	th, td {
		border: solid 0.5px #333;
		padding: 0.8em;
	}
	th {
		white-space: nowrap;
	}
	td:first-of-type {
		white-space: nowrap;
	}
}

.home #top-banner {
	position: absolute;
	right: 40px;
	bottom: 40px;
	z-index: 2;
	max-width: 100vw;
}

.home .top-banner {
	margin-top: 1em;
}
.home .top-banner:first-child {
	margin-top: 0;
}

.home .top-banner img {
	max-width: 100%;
}

/* 個別相談ページ */
.contact_individual .page-main .catchcopy {
	font-size: 1.5em;
	font-weight: bold;
	margin: 0 auto 1.5em;
}

.contact_individual .page-main h2 {
	font-weight: bold;
	margin: 2em auto 1.5em;
}

.contact_individual .page-main .connected {
	padding-left: 0;
}

.contact_individual .page-main .connected li {
	border: solid 2px #999999;
	padding: 30px calc(30px + 1em);
	margin-bottom: 64px;
	box-sizing: border-box;
}

.contact_individual .page-main .connected li:not(:last-child)::after {
	content: url("imgs/joint.svg");
	font-size: 0px;
	display: block;
	position: absolute;
	margin: 47px auto 0px 0px;
	box-sizing: border-box;
	padding: 0;
	width: 6px;
	height: 34px;
}

.contact_individual .page-main .connected .flow {
	display: grid;
	grid-template-areas: "no subject text";
	grid-template-columns: 6ex 16em 1fr;
	align-items: center;
}

.contact_individual .page-main .connected .flow .flow_no {
	grid-area: no;
	font-size: 1.75em;
	font-weight: 900;
	color: #999999;
	line-height: 1;
}

.contact_individual .page-main .connected .flow .flow_subject {
	grid-area: subject;
	font-weight: 900;
}

.contact_individual .page-main .connected .flow .flow_text {
	grid-area: text;
}

.contact_individual .page-main ul.itemize {
	padding-left: 2em;
	margin-bottom: 1em;
}

.contact_individual .page-main ul.itemize li {
	list-style: disc;
}

.product-template-default .twocolumns {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
	width: calc(360px * 2 + 32px);
	margin: 0 auto 32px;
	box-sizing: border-box;

	@media (max-width: calc(360px * 2 + 32px)) {
		grid-template-columns: 1fr;
		width: 100%;
		padding-right: 16px;
		padding-left: 16px;
	}
}


@media (min-width: 768px) {
	html.contact {
		.page-main section:first-of-type {
			margin-top: 0;
			padding-top: 0;
		}
	}
}

@media (max-width: 467px) {
	/* temporary measures */
	html.top .key-visual .kv__bg {
		top: 25%;
	}
	html.top .site-main .key-visual .kv__txts {
		top: 25%;
	}
	html.top .site-main .key-visual .kv__img {
		top: -40%;
	}
}
@media (min-width: 467.01px) and (max-width: 767.99px) {
	/* temporary measures */
	html.top .key-visual .kv__bg {
		top: calc((100% - 180px * 2 - 40px - 1em) / 2);
	}
	html.top .site-main .key-visual .kv__txts {
		top: calc((100% - 180px * 2 - 40px - 1em) / 2);
	}
}


@media (max-width: 767.99px) {
	.home #top-banner {
		right: 0;
		margin-bottom: 26px;
	}

	.contact_individual .page-main .connected li {
		padding: 10px;
	}

	.contact_individual .page-main .connected li:not(:last-child)::after {
		margin-top: 27px;
	}

	.contact_individual .page-main .connected .flow {
		display: grid;
		grid-template-columns: 6ex 1fr;
		grid-template-areas:
			"no subject"
			"text text";
		align-items: center;
	}
}

