/* common */
main {
	margin-bottom: 0;
}
.breadcrumbs {
	width: auto;
}
.container {
	margin-top: 80px;
}
.flex-container {
	flex-wrap: wrap;
}
.flex-2column.smaller > * {
	margin: 20px 0;
}
.grid-c2,
.grid-c3 {
	gap: 60px 0;
}
.grid-c2.similar {
	gap: 20px 0;
}
.grid-c2.wrap-sp,
.grid-c3.wrap-sp {
	grid-template-columns: 100%;
	justify-items: center;
}
.grid-c2 > *,
.grid-c3 > * {
	max-width: 100%;
}
.grid-c2 > .img-box {
	max-width: 498px;
}
.grid-c3 > .img-box {
	max-width: 325px;
}
.minus-order-sp {
	order: -1;
}
@media screen and (max-width: 389px) {
	h1.smaller {
		font-size: 22px;
	}
}
.vertical-btn-list.in-side .button {
	padding-left: 0;
	padding-right: 0;
}
.horizontal-btn-list {
	flex-wrap: wrap;
}
.horizontal-btn-list .button {
	width: 100%;
}
.primary-btn-box > * {
	display: block;
	width: 100%;
}
.page-list ul > li {
	margin-top: 0;
}
h1.smaller {
	font-size: 22px;
}
.accordion-checkbox:checked ~ .accordion-content {
	display: block;
}
h3.border-left > br.sp-only {
	display: inline;
}
.adjust-btn-container .vertical-btn-list {
	margin-top: 30px;
}
.adjust-btn-container .vertical-btn-list.adjust-btn-space-container {
	margin-bottom: 0;
}

/* header */
#header {
	height: 52px;
}
#header-content h1 {
	margin: 0;
	height: auto;
}
#header-content #piw-logo {
	padding-right: 8px;
	margin-right: 8px;
}
#header-content h1 > a {
	font-size: 10px;
}
#toc {
	width: 320px;
	right: -350px;
	padding: 10px 15px 20px;
	max-height: calc(100vh - 82px);
	overflow-y: scroll;
	overflow-x: hidden;
}
#toc .toggle-content {
	display: none;
	transition: none;
	min-height: auto;
}
#toc > ul > li > span,
#toc .toggle-content.toc-sp-expand a {
	display: block;
	height: 42px;
	line-height: 42px;
	font-size: 16px;
	border-bottom: solid 1px #D9D9D9;
	position: relative;
	padding: 0;
}
#toc > ul > li > a:after {
	height: 7px;
}
#toc > ul > li > span:after,
#toc .toggle-content.toc-sp-expand a:after {
	position: absolute;
	transform: translateY(-50%) rotate(-45deg);
	top: 50%;
	right: 0;
	width: 7px;
	height: 7px;
	border-bottom: solid 2px #0F58A8;
	border-right: solid 2px #0F58A8;
}
#toc > ul > li > span:after {
	transform: translateY(-50%) rotate(45deg);
	transition: width 0.3s linear, border 0.3s linear, transform 0.3s linear;
}
#toc #contact-accordion-checkbox:checked + span:after {
	width: 9px;
	border-right: none;
	transform: translateY(-8px);
}
#toc .accordion-container label.accordion-btn {
	display: block;
	height: 100%;
	width: 100%;
}
#toc .toggle-content.toc-sp-expand a:after {
	content: '';
	display: block;
}
#toc .toggle-content.toc-sp-expand {
	display: none;
	opacity: 1;
	pointer-events: auto;
	position: static;
	background: inherit;
	margin: 0 -15px;
	padding: 0 15px;
	background: #fff;
	border-right: solid 1px #F0F0F0;
	border-left: solid 1px #F0F0F0;
	box-sizing: content-box;
}
#toc .accordion-checkbox:checked ~ .accordion-content {
	/*display: block;*/
}
#toc .toggle-content.toc-sp-expand ul {
	display: block;
}
#toc .toggle-content.toc-sp-expand a {
	font-weight: normal;
	color: #0F58A8;
	height: auto;
	line-height: 1.6;
	padding: 8px 1em;
}
#pex-link {
	padding: 15px 0 0;
}
#header-absolute {
	right: 65px;
}

/* footer */
footer {
	padding: 25px 0;
}
#footer-links {
	justify-content: space-around;
}
#footer-links > ul {
	width: auto;
	flex-basis: auto;
}
#footer-links div > span {
	font-size: 14px;
	font-weight: normal;
}

/* top */
#top-lead {
	font-size: 14px;
	margin: 40px 0 20px;
	letter-spacing: -0.03em;
}
@media screen and (max-width: 389px) {
	#top-lead {
		font-size: 13px;
	}
}
#top-guideline,
#top-service {
	flex-basis: 100%;
}

/* service */
#service-sns ul {
	gap: 30px;
}
#service-sns img {
	height: 35px;
}