@charset "utf-8";
/*
Theme Name: ケーオー商事株式会社2025.09
Author: BASARA
Author URI: 
Version: 1.0
*/

*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	backface-visibility: hidden;
}
*:before,
*:after {
	pointer-events: none;
}
:root {
	--base-font-color: #000;
	--base-bg-color: #f3fee7;
	--sub-bg-color: #0d528e;
	--main-color: #f47323;
	--sub-color: #ffb94b;
	--accent-color: #584227;
	--attention-color: #e60012;
	--gray-color: #808080;
	--small-contents-width: 1200px;
	--main-contents-width: 1520px;
	--thin-font-weight: 300;
	--normal-font-weight: 400;
	--bold-font-weight: 500;
}
html {
	margin: 0;
	padding: 0;
	animation: page-fadein 1.5s ease-out forwards;
}
@keyframes page-fadein {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

body {
	font-family: "Kiwi Maru", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
	color: var(--base-font-color);
	font-size: 18px;
	font-weight: var(--normal-font-weight);
	line-height: 1.8;
	word-break: break-all;
	margin: 0;
	padding: 0;
}
div,
p,
ul,
ul li,
dl,
dt,
dd {
	font-size: 1em;
	list-style: none;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
img,
video,
object {
	max-width: 100%;
	height: auto;
	border: none;
}
img {
	display: block;
	image-rendering: -webkit-optimize-contrast;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}
h1,
h2,
h3,
h4,
h5 {
	font-size: 1em;
	line-height: 1;
	letter-spacing: 0.025em;
	padding: 0;
	margin: 0;
}
a {
	color: var(--sub-bg-color);
	text-decoration: underline;
	transition: 0.3s;
}
a:hover {
	opacity: 0.8;
}
a[href^="tel:"] {
	text-decoration: none;
	pointer-events: none;
	text-emphasis: none !important;
}
a[href^="fax:"] {
	text-decoration: none;
	pointer-events: none;
}
img {
	max-width: 100%;
}
span {
	display: inline-block;
}
strong {
	font-weight: var(--bold-font-weight);
	display: inline-block;
}
.pc {
	display: inherit;
}
.tb {
	display: none;
}
.sp {
	display: none;
}

@media only screen and (max-width: 820px) {
	.pc {
		display: none;
	}
	.tb {
		display: block;
	}
	.sp {
		display: none;
	}
}
@media only screen and (max-width: 468px) {
	body {
		font-size: 15px;
		min-width: 375px;
	}
	a[href^="tel:"] {
		pointer-events: all;
	}
	.pc {
		display: none;
	}
	.tb {
		display: none;
	}
	.sp {
		display: block;
	}
}

/* =========================================================================================
Header
=========================================================================================*/
#header {
	width: 100%;
	min-width: 375px;
	padding: 0;
	margin: 0;
	position: fixed;
	top: 0;
	z-index: 100;
}
#header .inner {
	max-width: 100%;
	position: static;
}
#header .logo {
	font-size: 1;
	line-height: 1;
	width: 55%;
	max-width: 300px;
	padding-top: 30px;
}
#header .sns {
	display: flex;
	align-items: center;
	justify-content: right;
	gap: 12px;
	position: absolute;
	top: 10px;
	right: calc(160px + 170px);
}
#header .sns li a {
	display: block;
	color: #fff;
	text-indent: -9999px;
	text-decoration: none;
	width: 42px;
	aspect-ratio: 1 / 1;
	background-color: var(--accent-color);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	border-radius: 6px;
}
#header .sns li.facebook a {
	background-image: url(images/common/sns_facebook.svg);
}
#header .sns li.insta a {
	background-image: url(images/common/sns_insta.svg);
}
#header .inner > .btn {
	padding: 0;
	margin: 0;
	position: absolute;
	top: 10px;
	right: 170px;
}
#header .inner > .btn a {
	font-size: 1em;
	color: var(--accent-color);
	letter-spacing: -0.01em;
	min-width: auto;
	background: #fef8e7;
	padding: 0.1em 1.5em 0.2em 0.5em;
	border: 2px solid var(--accent-color);
}
#header .inner > .btn a::after {
	content: "";
	width: 0.75em;
	aspect-ratio: 1 / 1;
	background: url(images/common/arrow_right_br.svg) no-repeat center;
	background-size: contain;
	position: absolute;
	top: 50%;
	right: 0.1275em;
	translate: -50% 0;
}
/* HAMBURGER MENU */
#header .openbtn {
	display: inline-block;
	text-indent: -9999px;
	width: 160px;
	aspect-ratio: 3 / 1;
	background: var(--accent-color) url(images/common/menu_btn.svg) no-repeat;
	background-position: center top 45%;
	background-size: 98px auto;
	border-radius: 0 0 0 10px;
	cursor: pointer;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 9999;
	transform: 0.3s;
}
#header .openbtn.active {
	background-image: url(images/common/menu_close.svg);
}
#header #g-navi-area {
	display: initial;
	width: 550px !important;
	height: 100vh;
	min-height: 400px;
	background: #fff;
	border-radius: 0;
	padding: 100px 0;
	margin: 0;
	position: fixed;
	top: 0;
	right: -120%;
	z-index: 99;
	transition: all 0.5s;
}
#header #g-navi-area.panelactive {
	/*アクティブクラスがついたら位置を0に*/
	right: 0;
}
#header #g-navi-area .logo {
	font-size: 1em;
	font-weight: var(--bold-font-weight);
	line-height: 1;
	width: 80%;
	max-width: 420px;
	margin: 0 auto 50px;
	padding: 0;
}
#header #g-navi-area a {
	color: var(--base-font-color);
	text-decoration: none;
}
#header #g-navi-area a:hover {
	text-decoration: none;
	opacity: 0.8;
	transition: 0.3s;
}
#header #g-navi-area #g-navi-list {
	/*ナビの数が増えた場合縦スクロール*/
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: start;
	gap: 20px;
	width: 100%;
	height: 100%;
	padding: 20px 20px 50px;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	position: relative;
	z-index: 999;
}
#header #g-navi,
#header #g-navi-list .btn,
#header #g-navi-sp {
	width: 85%;
	max-width: 375px;
	margin: 0 auto;
}
#header #g-navi ul#menu-g-navi {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: start;
	justify-content: left;
	gap: 0.75em;
	padding: 0;
	margin-bottom: 1em;
	border: none;
	position: relative;
	z-index: 999;
}
#header #g-navi ul#menu-g-navi li {
	font-size: 1.25em;
	text-align: left;
	padding: 0 0 0 1em;
	border: none;
	position: relative;
}
#header #g-navi ul#menu-g-navi li::before {
	content: "";
	display: inline-block;
	width: 0.5em;
	aspect-ratio: 1 / 1;
	background: var(--sub-color);
	border-radius: 50%;
	position: absolute;
	top: 0.75em;
	left: 0;
}
#header #g-navi-list .btn {
	justify-content: left;
	padding: 0;
	margin: 0;
}
#header #g-navi-list .btn a {
	color: #fff;
}
#header #g-navi-sp ul#menu-g-navi-sp {
	display: flex;
	flex-wrap: wrap;
	justify-content: left;
	gap: 10px 1.25em;
	padding-top: 30px;
}
#header #g-navi-sp ul#menu-g-navi-sp li {
	font-size: 0.8em;
	width: fit-content;
}
#header #g-navi-sp ul#menu-g-navi-sp li a {
	padding: 0;
	text-decoration: underline;
}
@media only screen and (max-width: 820px) {
	#header .inner {
		width: calc(100% - 15px - 15px);
	}
	#header .logo {
		width: 45%;
		max-width: 250px;
		padding-top: 15px;
	}
	#header .sns {
		gap: 0.75em;
		right: 145px;
	}
	#header .sns li a {
		width: 38px;
	}
	#header .inner > .btn {
		top: 61px;
		right: 5px;
	}
	#header .inner > .btn a {
		font-size: 0.9rem;
		letter-spacing: -0.05em;
		padding: 0.15em 1.5em 0.2em 0.5em;
	}
	#header .openbtn {
		width: 130px;
		aspect-ratio: 100 / 40;
		background-size: 95px auto;
	}
	#header #g-navi-area {
		width: 450px !important;
		padding: 75px 0;
	}
}
@media only screen and (max-width: 468px) {
	#header .logo {
		width: 47.5%;
	}
	#header .sns {
		gap: 0.5em;
		top: 6px;
		right: 110px;
	}
	#header .sns li a {
		width: 32px;
	}
	#header .inner > .btn {
		top: 48px;
		right: 5px;
	}
	#header .inner > .btn a {
		font-size: 0.75rem;
		letter-spacing: -0.075em;
		padding: 0.15em 1.375em 0.2em 0.475em;
	}
	#header .inner > .btn a::after {
		right: 0;
	}
	#header .openbtn {
		width: 100px;
		aspect-ratio: 100 / 40;
		background-size: 75px auto;
	}
	#header #g-navi-area {
		right: -150%;
		width: 100% !important;
		padding: 75px 0 50px;
	}
}

/* =========================================================================================
Footer
=========================================================================================*/
#footer {
	padding-top: 150px;
	background: var(--sub-color);
}
#footer .inner {
	max-width: var(--small-contents-width);
}
#footer .inner + .inner {
	margin-top: 50px;
}
/* welfare-benefits */
#footer .inner.welfare-benefits {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1.5em;
}
#footer .inner.welfare-benefits .title {
	max-width: 890px;
}
#footer .inner.welfare-benefits p {
	text-align: center;
	margin-block: 0.5em 2em;
}
#footer .inner.welfare-benefits .badminton {
	transform: scale(1.1);
}
@media only screen and (max-width: 820px) {
	#footer .inner.welfare-benefits .badminton {
		transform: scale(1.25);
	}
}
@media only screen and (max-width: 468px) {
	#footer .inner.welfare-benefits .badminton {
		transform: scale(1.4);
	}
}

/* footer-contents */
#footer .inner.footer-contents {
	font-family: "Noto Sans Japanese", sans-serif;
	font-weight: var(--bold-font-weight);
	display: grid;
	grid-template-columns: 1fr 200px;
	align-items: end;
	gap: 1em 50px;
	padding-block: 30px;
}
#footer .inner.footer-contents .address .logo {
	width: 100%;
	max-width: 480px;
	margin-bottom: 20px;
}
#footer .inner.footer-contents .address .access {
	display: flex;
	flex-wrap: wrap;
	align-items: start;
	justify-content: left;
	gap: 0 1em;
	width: fit-content;
}
#footer .inner.footer-contents .address .access b {
	width: 5em;
}
#footer .inner.footer-contents .address .access p {
	width: calc(100% - 1em - 5em);
	display: flex;
	flex-wrap: wrap;
	gap: 0 1em;
}
#footer .inner.footer-contents .address .access p span:nth-of-type(2) {
	width: 15em;
}
#footer .inner.footer-contents .f-navi ul {
	display: flex;
	flex-wrap: wrap;
	align-items: start;
	justify-content: space-between;
	gap: 0.5em 1.5em;
	max-width: 900px;
	margin-top: 50px;
}
#footer .inner.footer-contents .f-navi li a {
	color: var(--base-font-color);
	text-decoration: none;
}
#footer .inner.footer-contents .f-navi li .menu-item-description {
	color: #a34002;
	font-size: 0.9rem;
	line-height: 1.2;
	display: block;
}
#footer .inner.footer-contents .link {
	width: 100%;
	margin-top: 1.5em;
}
#footer .inner.footer-contents .link ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 5px 20px;
}
#footer .inner.footer-contents .link li {
	width: 100%;
	max-width: 250px;
}
#footer .inner.footer-contents .link li img {
	max-width: 100%;
}

@media only screen and (max-width: 820px) {
	#footer {
		padding-top: 125px;
	}
	#footer .inner.footer-contents {
		grid-template-columns: 1fr;
	}
	#footer .inner.footer-contents .address {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		max-width: 600px;
		margin: auto;
	}
	#footer .inner.footer-contents .address .access {
		flex-direction: column;
		width: fit-content;
		margin-inline: auto;
	}
	#footer .inner.footer-contents .address .access b,
	#footer .inner.footer-contents .address .access p,
	#footer .inner.footer-contents .address .access span {
		width: fit-content !important;
	}
	#footer .inner.footer-contents .f-navi {
		display: none;
	}
	#footer .inner.footer-contents .link li {
		width: calc((100% - 20px) / 2);
	}
}
@media only screen and (max-width: 468px) {
	#footer {
		padding-top: 100px;
	}
	#footer .inner.footer-contents .f-navi ul {
		grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
	}
}

/* footer .btn */
#footer .inner.btn {
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding-block: 75px 100px;
	margin: 0 auto;
}
#footer .inner.btn h2 {
	color: #fff;
	text-align: center;
	margin-bottom: 0.2em;
}
#footer .inner.btn a {
	color: var(--accent-color);
	font-size: 2.25em;
	background: #fff;
	width: 100%;
	max-width: 650px;
	position: relative;
	top: 0;
	left: 0;
	padding: 0.75em 0.5em;
	border: none;
	border-radius: 10px;
	box-shadow: 0.3em 0.3em rgb(33, 56, 35, 0.25);
}
#footer .inner.btn a:hover {
	top: 0.3em;
	left: 0.3em;
	box-shadow: 0px 0px rgb(33, 56, 35, 0.25);
	opacity: 1;
}
#footer .inner.btn a span {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}
#footer .inner.btn a span::before {
	content: "";
	display: inline-block;
	width: 1.175em;
	aspect-ratio: 1 / 1;
	background: url(images/common/icon_mail.svg) no-repeat center;
	background-size: contain;
	margin-top: 0.175em;
}
#footer .inner.btn a::after {
	display: none;
}
@media only screen and (max-width: 820px) {
	#footer .inner.btn {
		padding-block: 35px 50px;
	}
	#footer .inner.btn a {
		font-size: 1.75em;
	}
}
@media only screen and (max-width: 468px) {
	#footer .inner.btn {
		padding-block: 0 25px;
	}
	#footer .inner.btn a {
		font-size: 1.5em;
	}
}

/* copyright-area */
#footer .inner.copyright-area {
	font-size: 0.9rem;
	display: flex;
	flex-direction: row-reverse;
	align-items: start;
	justify-content: space-between;
	gap: 1em;
	padding-block: 20px;
	margin-top: 0;
}
#footer .inner.copyright-area #f-navi-2 ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: end;
	gap: 0 1.5em;
}
#footer .inner.copyright-area #f-navi-2 ul li {
	position: relative;
}
#footer .inner.copyright-area #f-navi-2 ul li + li::before {
	content: "";
	width: 1px;
	height: 55%;
	background: var(--base-font-color);
	position: absolute;
	top: 50%;
	left: -0.75em;
	translate: 0 -50%;
}
#footer .inner.copyright-area #f-navi-2 ul li a {
	color: var(--base-font-color);
	text-decoration: none;
}
@media only screen and (max-width: 820px) {
	#footer .inner.copyright-area {
		flex-direction: column;
		align-items: center;
		gap: 1.5em;
	}
	#footer .inner.copyright-area #f-navi-2 ul {
		justify-content: center;
		gap: 0 1em;
	}
	#footer .inner.copyright-area #f-navi-2 ul li + li::before {
		left: -0.5em;
	}
	#footer .inner.copyright-area p {
		font-size: 0.75rem;
	}
}
@media only screen and (max-width: 468px) {
}

/* =========================================================================================
Page Top
=========================================================================================*/
#page-top {
	position: fixed;
	z-index: 99;
	bottom: 45px;
	right: 1.5%;
	display: none;
}
#page-top a {
	display: inline-block;
	text-decoration: none;
	color: #fff;
	width: 129px;
	aspect-ratio: 129 / 200;
	line-height: 1;
	font-weight: var(--bold-font-weight);
	background: url(images/common/page_top.svg) no-repeat center;
	background-size: contain;
	text-indent: -9999px;
}
#page-top a:hover {
	opacity: 1;
	animation: jello-horizontal 1s both;
}
@keyframes jello-horizontal {
	0% {
		transform: scale3d(1, 1, 1);
	}
	30% {
		transform: scale3d(1.25, 0.75, 1);
	}
	40% {
		transform: scale3d(0.75, 1.25, 1);
	}
	50% {
		transform: scale3d(1.15, 0.85, 1);
	}
	65% {
		transform: scale3d(0.95, 1.05, 1);
	}
	75% {
		transform: scale3d(1.05, 0.95, 1);
	}
	100% {
		transform: scale3d(1, 1, 1);
	}
}

@media only screen and (max-width: 820px) {
	#page-top a {
		width: 100px;
	}
}
@media only screen and (max-width: 468px) {
	#page-top {
		bottom: 45px;
		right: 10px;
	}
	#page-top a {
		width: 70px;
	}
}

/* =========================================================================================
Layout
=========================================================================================*/
#wrapper {
	/*max-width: 4800px;*/
	background: var(--base-bg-color);
	position: relative;
	margin: 0 auto;
	padding: 0;
	overflow: hidden !important;
}
#container {
	margin: 0;
	padding: 0;
}
article {
	padding-block: 0;
}
section {
	padding-block: 50px;
	margin: 0;
	position: relative;
}
.inner {
	max-width: var(--main-contents-width);
	width: calc(100% - 30px - 30px); /*左右の余白30pxずつ*/
	margin: 0 auto;
	position: relative;
}
.inner.small-content {
	max-width: var(--small-contents-width);
}
@media only screen and (max-width: 820px) {
}
@media only screen and (max-width: 468px) {
	section + section {
		margin-top: 50px;
	}
	.inner {
		width: calc(100% - 20px - 20px); /*左右の余白20pxずつ*/
	}
}

/* =========================================================================================
Btn
=========================================================================================*/
.btn {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	justify-content: center;
	padding: 10px 0;
}
.btn a {
	font-weight: var(--bold-font-weight);
	text-align: center;
	color: #fff;
	background: var(--accent-color);
	min-width: 225px;
	padding: 0.35em 1.5em 0.4em 0.75em;
	border-radius: 10px;
	position: relative;
	text-decoration: none;
	transition: 0.3s;
}
.btn a::after {
	position: absolute;
	content: "";
	background: url(images/common/arrow_right.svg) no-repeat center;
	background-size: contain;
	width: 0.75em;
	aspect-ratio: 1 / 1;
	right: 0.5em;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}
/*list*/
.btn.list a {
	padding: 0.35em 2.5em 0.4em 0.75em;
}
.btn.list a::after {
	background: url(images/common/icon_list.svg) no-repeat center;
	width: 1.25em;
	aspect-ratio: 1 / 1;
	right: 0.75em;
}

/*color*/
.btn a.yellow {
	color: var(--base-font-color);
	background: var(--sub-color);
	border: 2px solid var(--base-font-color);
}
.btn a.yellow::after {
	background-image: url(images/common/arrow_right_br.svg);
}

@media only screen and (max-width: 468px) {
	.btn a {
		min-width: 100% !important;
	}
}

/* =========================================================================================
Post list
=========================================================================================*/
/*common*/
.post-list {
	width: 100%;
	margin: 0 0 1.5em;
	padding: 0;
}
.post-list ul {
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none !important;
}
.post-list li::before {
	display: none !important;
}

/*column*/
.post-list.column ul li {
	display: grid;
	grid-template-columns: 6.5em 100px 1fr;
	gap: 0.5em;
	padding: 1em 0;
	border-bottom: 1px dashed var(--gray-color);
}
.post-list.column .date {
	color: var(--accent-color);
}
.post-list.column .cat {
	font-size: 0.75em;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: start;
	width: 100%;
	margin-top: 0.35em;
}
.post-list.column .cat a,
.post-list.column .cat span {
	color: #fff;
	width: 100%;
	display: block;
	text-align: center;
	padding: 0.1em 0.5em 0.2em;
	background: var(--accent-color);
	text-decoration: none;
}
.post-list.column .title {
	font-size: 1em;
	padding-left: 1em;
}
.post-list.column .title a {
	color: var(--base-font-color);
	text-decoration: none;
}
@media only screen and (max-width: 820px) {
	.post-list.column ul li {
		display: flex;
		flex-wrap: wrap;
		align-items: start;
		justify-content: left;
	}
	.post-list.column .date,
	.post-list.column .cat {
		width: fit-content;
		min-width: 5em;
	}
	.post-list.column .title {
		width: 100%;
		padding: 0;
	}
}
@media only screen and (max-width: 468px) {
}

/* =========================================================================================
Archive-Page
=========================================================================================*/
.archive-content .post-list {
	border-top: none;
	border-bottom: none;
	padding: 0;
}
/*pagination*/
.pagination .page-numbers {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	margin-top: 50px;
}
.pagination .page-numbers li {
	margin: 0;
}
.pagination .page-numbers li::before {
	display: none;
}

.pagination .page-numbers li:first-child {
	flex-grow: 2;
}
.pagination .page-numbers li:first-child span {
	float: right;
}
.pagination .page-numbers li:first-child a {
	float: none;
}
.pagination .page-numbers li:last-child {
	flex-grow: 2;
}
.pagination .page-numbers li:last-child a {
	float: right;
}

.pagination .page-numbers li a,
.pagination .page-numbers li span,
.pagination .page-numbers li .current {
	color: #fff;
	width: 50px;
	aspect-ratio: 1 / 1;
	padding: 0.25em 1em;
	background: var(--accent-color);
	border-radius: 100px;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px solid var(--accent-color);
	text-decoration: none;
}
.pagination .page-numbers li .current {
	color: var(--accent-color);
	background: #fff;
}
.pagination .page-numbers li .prev,
.pagination .page-numbers li .next {
	color: var(--accent-color);
	background: transparent;
	border: none;
	width: 1.25em;
	padding: 0;
}
.pagination .page-numbers li img {
	width: 1.25em;
}

.pagination .page-numbers li a:hover {
	opacity: 0.7;
	transition: 0.3s;
	text-decoration: none;
}

@media only screen and (max-width: 820px) {
}
@media only screen and (max-width: 468px) {
}

/* =========================================================================================
Single-Page
=========================================================================================*/
.single section {
	padding-block: 50px;
}
.single .entry-header {
	padding: 0;
	margin: 0;
}
.single .entry-header h1 {
	margin-block: 0.25em 1.25em;
	padding-bottom: 0.5em;
	border-bottom: 1px dashed var(--gray-color);
}
.single .entry-header .data {
	display: inline-block;
	text-align: left;
	width: auto;
	padding: 3px 20px 0 0;
}
.single .entry-header .cat {
	padding: 0;
	display: inline-block;
}
.single .entry-header .cat a,
.single .entry-header .cat span {
	font-size: 0.85rem;
	color: #fff;
	display: inline-block;
	text-align: center;
	padding: 0.15em 1em;
	background: var(--accent-color);
	text-decoration: none;
}
.single .entry-header .cat a + a,
.single .entry-header .cat span + span {
	margin-left: 10px;
}

.single .single-navi .inner {
	display: flex;
	justify-content: center;
}
.single .single-navi .inner div:nth-child(2) {
	border-left: 1px solid var(--base-font-color);
}
.single .single-navi .inner .prev-navi,
.single .single-navi .inner .next-navi {
	width: auto;
	box-sizing: border-box;
	background-repeat: no-repeat;
	background-size: 1em;
}
.single .single-navi .inner .prev-navi {
	text-align: left;
	background-image: url(images/common/icon_prev.svg);
	background-position: left 0 top 53%;
}
.single .single-navi .inner .next-navi {
	text-align: right;
	background-image: url(images/common/icon_next.svg);
	background-position: right 0 top 53%;
}

.single .single-navi a {
	color: var(--base-font-color);
	text-decoration: none;
	padding: 0 2em 0 2em;
}
@media only screen and (max-width: 820px) {
}
@media only screen and (max-width: 468px) {
}

/* =========================================================================================
  Editer
=========================================================================================*/
/*midashi ---------------------------------*/
h1,
h2,
h3,
h4,
h5,
h6 {
	line-height: 1.5;
	font-weight: var(--bold-font-weight);
	display: block;
	margin: 0 0 1em 0;
	padding: 0;
	position: relative;
}
h1 {
	font-size: 2.75em;
}
h2 {
	font-size: 2.25em;
}
h3 {
	font-size: 1.75em;
}
h4 {
	font-size: 1.5em;
}
h5 {
	font-size: 1.25em;
}
h6 {
	font-size: 1em;
}

* + .wp-block-heading {
	margin-top: 1.5em;
	width: 100%;
	display: block;
}
@media only screen and (max-width: 820px) {
	h1 {
		font-size: 2.25em;
	}
	h2 {
		font-size: 2em;
	}
	h3 {
		font-size: 1.5em;
	}
	h4 {
		font-size: 1.25em;
	}
	h5 {
		font-size: 1em;
	}
	h6 {
		font-size: 0.9em;
	}
}

/*Hr*/
hr,
.wp-block-separator {
	width: 100%;
	max-width: 500px;
	height: 1px;
	border: none;
	background-color: #000;
	margin: 10vh auto;
}
hr,
.wp-block-separator.is-style-dots:before {
	font-size: 3em;
	letter-spacing: 1em;
	padding-left: 1em;
}
@media only screen and (max-width: 820px) {
	hr,
	.wp-block-separator {
		width: 50%;
	}
}

/*Table*/
table,
.wp-block-table table {
	width: 100%;
	border-spacing: 0;
}
caption,
.wp-element-caption {
	color: var(--base-font-color);
	padding: 0.5em 0;
	opacity: 0.5;
}
th,
td,
.wp-block-table th,
.wp-block-table td {
	text-align: left;
	vertical-align: top;
	padding: 1em;
	border-top: none;
	border-left: none;
	border-right: none;
	border-bottom: 1px dashed var(--gray-color);
	position: relative;
}
th,
.wp-block-table th {
	font-weight: var(--bold-font-weight);
}
.wp-block-table.is-style-stripes .wp-element-caption {
	border-top: 3px solid #000;
}
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table {
	border-top: 1px solid;
}
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr th {
	font-weight: bold;
}
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table strong {
	display: inline-block;
}

@media only screen and (max-width: 820px) {
	.wp-block-table th,
	.wp-block-table td {
		display: block;
		width: 100%;
	}
}

/*List - ul*/
.entry-content ul {
	margin: 0.5em 0 0.5em 1.175em;
	list-style: none;
}
.entry-content li {
	position: relative;
}
.entry-content ul li::before {
	position: absolute;
	content: "";
	background: var(--base-font-color);
	width: 0.75em;
	aspect-ratio: 1 / 1;
	border-radius: 2px;
	top: 0.6em;
	left: -1em;
}
.entry-content li ul {
	margin: 0 0 0 1.175em;
}
/*List - ol*/
.entry-content ol {
	margin: 0.5em 0 0.5em 1em;
	counter-reset: count 0;
	list-style: none;
}
.entry-content ol > li {
	position: relative;
	padding-left: 0.35em;
	list-style: none;
	counter-increment: count 1;
}
.entry-content ol > li::before {
	color: var(--main-color);
	content: counters(count, "-") ".";
	position: absolute;
	top: 0;
	left: -0.75em;
	background: transparent;
}
/*list - note*/
.entry-content ul.note {
	list-style: none;
}
.entry-content ul.note.center {
	width: fit-content;
	margin: auto;
}
.entry-content ul.note li {
	padding-left: 0.25em;
}
.entry-content ul.note li:before {
	content: "※";
	margin-right: 0.5em;
	background: none;
	top: 0.2em;
	left: -1em;
}

/*Button(wp-block-button)*/
.wp-block-buttons {
	display: flex;
}
.wp-block-button a {
	font-weight: var(--bold-font-weight);
	text-align: center;
	color: #fff;
	background: var(--accent-color);
	min-width: 225px;
	padding: 0.35em 1.5em 0.4em 0.5em;
	position: relative;
	top: 0;
	left: 0;
	border-radius: 10px;
	text-decoration: none;
	transition: 0.3s;
}
.wp-block-button a::after {
	position: absolute;
	content: "";
	background: url(images/common/arrow_right.svg) no-repeat center;
	background-size: contain;
	width: 0.75em;
	aspect-ratio: 1 / 1;
	right: 0.5em;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}
.wp-block-button.is-style-outline {
}
.wp-block-button a:hover {
	opacity: 0.7;
}
.wp-block-button__link {
	font-size: 1em;
}
.wp-block-buttons > .wp-block-button {
	margin: 10px 10px 10px 0;
}

/*blockquote*/
blockquote {
	position: relative;
	padding: 3em 2em;
	background: #f5f5f5;
}
blockquote cite {
	display: block;
	font-size: 0.8rem;
	text-align: right;
	color: #808080;
	padding-right: 20px;
}

/*block-media-text*/
.wp-block-media-text + .wp-block-media-text {
	margin-top: 2em;
}

@media only screen and (max-width: 820px) {
	.wp-block-media-text .wp-block-media-text__content {
		margin: 0;
		padding: 1.5em 0 0.5em;
	}
}

/*image*/
.wp-block-image {
	margin-bottom: 1em;
}

/* =========================================================================================
FORM
=========================================================================================*/

.grecaptcha-badge {
	visibility: hidden;
} /*reCAPTCHAの非表示*/

.entry-content .contact-bg {
	width: 100%;
	margin: auto;
}
.entry-content .contact-bg .center {
	font-size: 0.75em;
	text-align: center;
	margin-block-end: 2em;
}
.entry-content .contact-bg dl {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: left;
	border-bottom: 1px dashed var(--gray-color);
}
.entry-content .contact-bg dl:nth-last-of-type(1) {
	border-bottom: none;
}
.entry-content .contact-bg dl dt,
.entry-content .contact-bg dl dd {
	padding: 2em 0.5em;
}
.entry-content .contact-bg dl dt {
	width: 225px;
}
.entry-content .contact-bg dl dt label {
	margin-top: 0.4em;
}
.entry-content .contact-bg dl dd {
	width: calc(100% - 225px);
}
.entry-content .contact-bg dl dd p span:nth-of-type(2) {
	margin-top: 0.75em;
}
.entry-content .contact-bg dl dt span {
	display: inline-block;
	color: #fff;
	font-size: 0.75em;
	background-color: var(--attention-color);
	line-height: 1;
	padding: 5px;
	margin-left: 0.75em;
}
.entry-content .contact-bg .btn-area {
	text-align: center;
}
.entry-content form {
	position: relative;
	margin: 0 auto;
	box-sizing: border-box;
}
.entry-content ::placeholder {
	color: var(--gray-color);
	opacity: 0.35;
}
.entry-content form span.wpcf7-form-control-wrap {
	width: 100%;
}
.entry-content form label {
	display: block;
}
.entry-content form input,
.entry-content form textarea,
.entry-content form select {
	padding: 0.5em 0.75em;
	border: 1px solid var(--gray-color);
	background: #fff;
	border-radius: 10px;
	width: 100%;
	max-width: 100%;
}
.entry-content form .medium input,
.entry-content form .medium textarea,
.entry-content form .medium select {
	max-width: 300px;
}
.entry-content form input:focus,
.entry-content form textarea:focus {
	background: #fafafa;
}
.entry-content form textarea {
	display: block;
	width: 100%;
}
.entry-content form select {
	padding-right: 2.5em;
	background: #fff url(images/common/arrow_down.svg) no-repeat;
	background-position: center right 1em;
	background-size: 1em;
}
/* チェックボックスデザイン */
.entry-content form input[type="checkbox"] {
	/* リセット */
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.entry-content form input[type="checkbox"] {
	cursor: pointer;
	padding-left: 30px; /*label手前にチェックボックス用の余白を開ける*/
	vertical-align: middle;
	position: relative;
	line-height: 100%;
	margin-bottom: 1px;
}
.entry-content form input[type="checkbox"]::before,
.entry-content form input[type="checkbox"]::after {
	content: "";
	display: inline-block;
	position: absolute;
}
.entry-content form input[type="checkbox"]::before {
	background-color: #fff;
	border-radius: 2px;
	border: 1px solid #b7b7b7;
	width: 23px;
	aspect-ratio: 1 / 1;
	transform: translateY(-50%);
	top: 50%;
	left: 5px;
}
.entry-content form input[type="checkbox"]::after {
	content: "";
	position: absolute;
	background: url(images/common/icon_check.svg) no-repeat center;
	background-size: contain;
	width: 17px;
	aspect-ratio: 1 / 1;
	opacity: 0; /*チェック前は非表示*/
	top: -8px; /*チェック時の位置調整*/
	left: 8px; /*チェック時の位置調整*/
	line-height: 0;
}
_::-webkit-full-page-media,
_:future,
:root .entry-content form input[type="checkbox"]::after {
	/*safari用*/
	top: 2px; /*チェック時の位置調整*/
}
.entry-content form input[type="checkbox"]:checked::after {
	opacity: 1; /*チェック後表示*/
}
/*ラジオボタン*/
.entry-content form input[type="radio"] {
	width: fit-content;
	margin-right: 0.25em;
}

.entry-content form input[type="submit"],
.entry-content form input[type="button"] {
	color: var(--accent-color);
	font-weight: var(--bold-font-weight);
	padding: 0.75em 2em 0.75em 1em;
	background: var(--sub-color) url(images/common/icon_next.svg) no-repeat;
	background-size: 1em;
	background-position: right 1.5em top 52.5%;
	width: fit-content;
	min-width: 250px;
	position: relative;
	top: 0;
	left: 0;
	border: 0;
	display: inline-block !important;
	box-shadow: 0.25em 0.25em var(--gray-color);
	transition: 0.3s;
}
.entry-content form input[type="submit"] {
	background-color: var(--sub-color);
}
.entry-content form input[type="button"] {
	background-color: var(--gray-color);
}
.entry-content form input[type="submit"]:hover,
.entry-content form input[type="button"]:hover {
	top: 0.25em;
	left: 0.25em;
	box-shadow: 0px 0px var(--gray-color);
}
.entry-content form .wpcf7-spinner {
	position: absolute;
}

/*エラーメッセージ装飾*/
.wpcf7 form.sent .wpcf7-response-output {
	font-family: "Noto Sans Japanese", sans-serif;
	font-weight: bold;
	font-size: 1.125rem;
	text-align: center;
	padding: 0.5em;
	background-color: #46b450;
	border-color: #46b450; /* Green */
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
	font-family: "Noto Sans Japanese", sans-serif;
	font-weight: bold;
	font-size: 1.125rem;
	text-align: center;
	padding: 0.5em;
	background-color: #dc3232;
	border-color: #dc3232; /* Red */
}

.wpcf7 form.spam .wpcf7-response-output {
	font-family: "Noto Sans Japanese", sans-serif;
	font-weight: bold;
	font-size: 1.125rem;
	text-align: center;
	padding: 0.5em;
	background-color: #f56e28;
	border-color: #f56e28; /* Orange */
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	font-family: "Noto Sans Japanese", sans-serif;
	font-weight: bold;
	font-size: 1.125rem;
	text-align: center;
	line-height: 1.4;
	padding: 0.5em;
	background-color: #ffb900;
	border-color: #ffb900; /* Yellow */
}

@media only screen and (max-width: 820px) {
	.entry-content .contact-bg dl {
		flex-direction: column;
	}
	.entry-content .contact-bg dl dt,
	.entry-content .contact-bg dl dd {
		width: 100% !important;
	}
	.entry-content .contact-bg dl dt {
		padding: 1em 0.5em 1em 0.5em;
	}
	.entry-content .contact-bg dl dd {
		padding: 0 0.5em 1.5em 0.5em;
	}
}
@media only screen and (max-width: 468px) {
}
