/* ___________________________________________________________ /web-font/ */
/* https://iconscout.com/unicons/explore/line */
@import url("https://unicons.iconscout.com/release/v4.0.8/css/line.css");
/* https://fontawesome.com */
@import url("https://use.fontawesome.com/releases/v6.2.1/css/all.css");
/* https://fonts.google.com/ */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Zen+Old+Mincho&display=swap");

/*ツールバー非表示 後ほど削除*/
#wpadminbar {
	display: none;
}

html {
	margin-top: 0 !important;
}


/* init
 * -------------------- */
:root {
	--color-txt: #333;
	--color-main: #d7ac40;
	--color-main-p: #f2ead6;
	--color-red: #ea1515;
	--color-lightblue: #4a85b4;
	--color-eee: #eee;
	--color-f1: #f1f1f1;
	--color-white: #fff;
}


/* ___________________________________________________________ common */
/*body*/
body {
	/*font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;*/
	font-family: "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Yu Mincho", "MS PMincho", "MS Mincho", serif;
	font-weight: normal;
	letter-spacing: .03em;
	line-height: 1.8;
}

p:empty {
	display: none !important;
}

/* kerning */
.editing,
.main {
	font-feature-settings: "palt";
	letter-spacing: .1em;
}

.page-list .columns-item .date {
	font-feature-settings: unset !important;
	letter-spacing: initial !important;
}

p.date {
	letter-spacing: 0 !important;
}

/* tel link SPのみ有効 */
@media (min-width: 600px) {
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}

.flex-center {
	display: flex;
	justify-content: center;
	align-items: center;
}

/* logo */
.header .logo img {
	width: 333px;
	height: auto;
}

@media (min-width: 1080px) {
	.header .logo img {
		width: 333px;
		height: auto;
	}

	.header .logo {
		top: 15px;
	}

	.header #menu .main-menu ul {
		overflow: hidden;
		margin-top: 110px;
	}

	.search-btn,
	.font-size {
		top: 50px;
	}
}

.footer .logo img {
	width: 300px;
	height: auto;
}

@media (min-width: 1080px) {
	.footer .logo img {
		width: 300px;
		height: auto;
	}
}

.footer {
	padding-bottom: 70px;
}

/* 「B」＋「I」 */
div#contents strong em,
div#contents em strong {
	font-family: serif;
	font-size: 1.1em;
	font-weight: bold;
	font-style: normal !important;
}

/* 「B」or「strong」 */
b,
strong {
	padding: 0 0.3em;
}

/* テーブル */
table,
table th,
table th,
table td,
table td {
	height: initial !important;
}

table th,
table th,
table td,
table td {
	font-size: 0.9em !important;
	padding-top: 0.75em;
	padding-bottom: 0.75em;
}

/* テーブル SP */
@media (min-width: 600px) {

	table.floor th,
	table.floor th,
	table.floor td,
	table.floor td {
		padding: 0.1em;
	}
}

@media (min-width: 600px) {

	table.floor th span,
	table.floor th span,
	table.floor td span,
	table.floor td span {
		font-size: 0.75em !important;
	}
}

@media (min-width: 600px) {

	table.vertical-type,
	table.vertical-type tr,
	table.vertical-type th,
	table.vertical-type td {
		display: grid;
		border: none;
		margin-top: 0;
	}
}

@media (min-width: 600px) {

	table.vertical-type table,
	table.vertical-type table tr,
	table.vertical-type table th,
	table.vertical-type table td {
		display: contents;
		border: solid 1px #ccc;
		margin-top: 0;
	}
}

@media (max-width: 600px) {

	table.history tr,
	table.history th,
	table.history td,
	table.vertical-type tbody,
	table.vertical-type tr,
	table.vertical-type th,
	table.vertical-type td {
		width: 100% !important;
	}
}

/* scrollBox */
.scrollBox {
	display: block;
	position: relative;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch
}

.scrollBox:after {
	content: '';
	display: none
}

.scrollBox.scrollBox-ready:after {
	content: "";
	display: block;
	position: absolute;
	bottom: 5px;
	right: 5px;
	margin-top: -10px;
	border: 4px solid #666;
	border-radius: 7.5px;
	width: 15px;
	height: 15px;
	line-height: 15px;
	text-align: center;
	font-size: 1.2rem;
	color: #fff;
	background: url(../images/theme/scrollBox-arrow.svg) left center no-repeat #666;
	background-size: 32px 7px;
	-webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .35);
	box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .35);
	pointer-events: none;
	-webkit-animation: kf-scrollBox-indicator 1.8s cubic-bezier(.56, .01, .48, 1) infinite alternate;
	animation: kf-scrollBox-indicator 1.8s cubic-bezier(.56, .01, .48, 1) infinite alternate
}

@-webkit-keyframes kf-scrollBox-indicator {
	0% {
		width: 15px
	}

	50% {
		width: 15px
	}

	90% {
		width: 30px
	}

	100% {
		width: 30px
	}
}

@keyframes kf-scrollBox-indicator {
	0% {
		width: 15px
	}

	50% {
		width: 15px
	}

	90% {
		width: 30px
	}

	100% {
		width: 30px
	}
}

/* hr破線 */
hr.partition {
	height: 10px;
	width: 600px;
	margin-left: auto !important;
	margin-right: auto !important;
	margin-top: 30px !important;
	background: linear-gradient(-70deg, transparent 35%, #87bd13 45%, #87bd13 55%, transparent 65%);
	background-size: 15px 20px;
	border: none;
}

/* SP */
.sp {
	display: none;
}

@media (max-width: 599px) {
	.sp {
		display: block;
	}

	.pc {
		display: none;
	}
}

/*Link*/
a:hover,
a:hover img {
	transition: 0.5s;
}
a:hover img,
.page-eyecatch-1 .columns-item .title a:hover {
	opacity: .5;
}

a:link {
	color: var(--color-txt);
}
a:link:hover {
	text-decoration: none;
}

.more a {
	background-color: var(--color-main-p);
	border: none;
	color: var(--color-txt);
}
.more a:hover {
	background-color: var(--color-eee);
	border: none;
	color: var(--color-txt);
}

.page-eyecatch-1 .columns-item .title a:hover {
	color: var(--color-txt);
}

/*banner SP 2並び*/
@media (max-width: 655px) {
	.utilities .banner {
			display: flex;
			flex-wrap: wrap;
			gap: 10px;
		}
		.utilities .banner p {
			flex: 0 0 50%;
			max-width: 45%;
			margin-bottom: 0;
		}
}

/* header
 * -------------------- */
.header {
	border: none;
	margin-bottom: 20px;
	z-index: 10;
}

.header .container {
	position: fixed;
	background-color: rgba(255, 255, 255, .75);
	margin: 0;
	width:100%;
}

.header .logo {
	padding: 15px;
}

@media (max-width: 1079px) {
	.font-size .font-size-title {
		color: var(--color-txt);
	}

	.font-size input:checked+.font-size-default,
	.font-size input:checked+.font-size-large {
		background-color: var(--color-main);
	}
}

@media (min-width: 1080px) {
	.header {
		margin-bottom: 40px;
	}

	.search-btn,
	.font-size {
		display: none;
	}

	.header .container {
		position: fixed;
		padding: 20px 4%;
		width: 100%;
	}

	.header .logo {
		position: static;
		max-width: 300px;
	}

	.header .logo img {
		width: 100%;
		max-width: 100%;
	}

	.header #menu {
		position: fixed;
		top: 20px;
		right: 30px;
		left: auto;
		width: auto;
	}

	.header #menu .main-menu {
		margin: 0;
	}

	.header #menu .main-menu ul {
		margin-top: 0;
		height: auto;
	}

	.header #menu .main-menu ul li {
		font-size: 0.9em;
		height: auto;
	}

	.header #menu .main-menu ul li a {
		color: var(--color-txt);
		line-height: normal;
		padding: 20px 10px;
		transition: all .3s;
		border-radius: 0;
	}

	.header #menu .main-menu ul li:nth-last-child(3) {
		margin-right: 10px;
	}

	.header #menu .main-menu ul li a:hover {
		background-color: transparent;
		border-bottom: 1px solid var(--color-main);
		color: inherit;
	}

	.header #menu .main-menu ul li.stay a {
		background-color: transparent;
		border-bottom: 1px solid var(--color-main);
		color: inherit;
	}
}

/* footer
 * -------------------- */
.footer {
	background-color: unset;
}

.pagetop-btn-wrapper {
	background-color: var(--color-eee);
	margin: 0 calc(50% - 50vw);
	text-align: center;
	width: 100vw;
}

.pagetop-btn {
	transition: all .3s;
}

.pagetop-btn:hover {
	background-color: #fff;
}

.footer .container {
	border: none;
}
@media (min-width: 1080px) {
	.footer .container {
		width: 100%;
	}
	.footer .topic-path {
		padding:15px 13%;
	}
	.footer .footer-contents {
		padding: 30px 13%;
	}
	.footer .guide {
		padding-left:13%;
	}
	.footer .copyright {
		padding-right: 13%;
	}
}
.footer .guide a {
	color: inherit;
}

@media (min-width: 1080px) {
	.pagetop-btn-wrapper {
		padding: 30px 0;
	}
}

/*SPフッタ部フローティング*/
.footer-contact {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 10;
}

.footer-contact ul {
	display: flex !important;
	justify-content: space-between;
	margin: 0;
	padding: 10px 15px;
	gap: .5em;
}

.footer-contact ul li {
	flex-basis: 50%;
	background: none;
	margin: 0;
	padding-left: 0;
}

.footer-contact ul li::before {
	display: none;
}

.footer-contact ul li a {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--color-lightblue);
	border-radius: 50px;
	color: #fff;
	font-size: 85%;
	font-weight: bold;
	padding: 10px;
	text-decoration: none;
}

.footer-contact ul li:last-child a {
	background-color: var(--color-red);
}

.footer-contact ul li a img {
	margin-right: 8px;
	width: 20px;
}

.footer-contact ul li a:hover img {
	opacity: 1;
}

.menu-btn {
	bottom: 65px;
	background-image: url(https://okisen.jp/wp-content/uploads/2025/01/menu-btn.png);
}

@media (min-width: 768px) {
	.menu-btn {
		bottom: 20px;
	}
}

/* utilities
 * -------------------- */
.utilities .navigation .navigation-title {
	border-color: #fff;
	margin-top: 16px;
}

.utilities .navigation .archive-month>li a {
	color: #fff;
}

/* intro
 * -------------------- */

/* headline
 * -------------------- */
.editing h1,
.main h1 {
	border-color: #fff;
	margin-bottom: 40px;
}

@media (min-width: 1080px) {

	.editing h1,
	.main h1 {
		font-size: 2.5em;
		margin-bottom: 70px;
	}
}

.editing h2,
.main h2 {
	border: none;
	font-size: 1.5em;
	margin-top: 70px !important;
	margin-bottom: 35px;
	padding: 0;
}

.editing h2:first-child {
	margin-top: 0 !important;
}

body.home .main h2,
body.recruit .main h2,
body.contact .main h2 {
	font-size: 1.75em;
	line-height: 1.1;
}

.editing h2 .sub {
	display: block;
	font-size: .3em;
	letter-spacing: .05em;
	margin-top: 1em;
	padding-left: 5px;
}

@media (min-width: 1080px) {

	.editing h2,
	.main h2 {
		font-size: 2em;
		margin-top: 100px !important;
		margin-bottom: 40px;
	}

	body.home .main h2 {
		font-size: 2em;
		margin-bottom: 70px;
	}

	body.recruit .main h2,
	body.contact .main h2 {
		font-size: 2em;
		margin-bottom: 50px;
	}
}

.editing h3,
.main h3 {
	position: relative;
	border: none;
	font-size: 1.3em;
	letter-spacing: .05em;
	margin-top: 40px !important;
	margin-bottom: 20px;
	padding: 0 0 0 30px;
}

.editing h3::before {
	position: absolute;
	top: .7em;
	left: 0;
	display: block;
	content: '';
	background-color: #fff;
	width: 20px;
	height: 3px;
}

.full-width.-wht h3::before,
.box.-wht h3::before {
	background-color: var(--color-main);
}

.editing h3:first-child {
	margin-top: 0 !important;
}

@media (min-width: 1080px) {

	.editing h3,
	.main h3 {
		font-size: 1.7em;
		margin-top: 60px !important;
		margin-bottom: 30px;
	}
}

.editing h4,
.main h4 {
	box-shadow: none;
	font-size: 1.1em;
}

.editing h4:first-child {
	margin-top: 0 !important;
}

@media (min-width: 1080px) {

	.editing h4,
	.main h4 {
		font-size: 1.3em;
	}
}

/* contents
 * -------------------- */
/*アンカーリンク*/
.contents .container .main .anchor-button {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex !important;
	justify-content: space-between;
	gap: 20px;
}
.contents .container .main .anchor-button li {
	flex: 1;
	background: unset;
	padding: 0;
	margin-bottom: 0 !important;
}

.contents .container .main .anchor-button a {
	display: block;
	text-align: center;
	padding: 15px 10px;
	background-color: #f0f0f0;
	border: 1px solid #ccc;
	text-decoration: none;
	color: #333;
	white-space: nowrap;
}
.contents .container .main .anchor-button a::after {
	content: "▼";
	display: block;
	text-align: center;
	font-size: 10px;
	color: #555;
}
.contents .container .main .anchor-button a:hover {
	background-color: #fff;
}

@media (min-width: 769px) {
	.contents .container .main .anchor-button li {
		margin-bottom: 0;
	}
}
@media (max-width: 768px) {
	.contents .container .main .anchor-button {
		flex-wrap: wrap;
	}

	.contents .container .main .anchor-button li {
		flex: 1 1 calc(50% - 10px);
		margin-bottom: 20px;
	}
}

:target {
	scroll-margin-top: 170px;
}

/*フローティング*/
.tel-tab,
.access-tab {
	position: fixed;
	bottom: 0;
	padding: 1em 1.5em;
	font-weight: bold;
	border-radius: 10px 0 0 0;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
	z-index: 9999;
	text-decoration: none;
	transition: opacity 0.3s ease, transform 0.3s ease;
}

.tel-tab {
	right: 120px;
}

.access-tab {
	right: 0px;
}

.tel-tab,
.editing .apply a {
	background-color: var(--color-main);
	color: var(--color-txt) !important;
}

.tel-tab:hover,
.editing .apply a:hover {
	opacity: 0.9;
}

.access-tab {
	background-color: var(--color-txt);
	color: var(--color-white) !important;
}

.access-tab:hover {
	opacity: 0.9;
}

@media screen and (max-width: 767px) {

	.tel-tab,
	.accesss-tab {
		padding: 1em 1.5em;
		bottom: 0;
	}

	.tel-tab {
		right: 120px;
	}

	.access-tab {
		right: 0;
	}
}

/* toppage
 * -------------------- */
/*slide*/
/* スライド100% */
#slideshow .container {
	width: 100%;
	max-width: 100%;
	padding: 0;
	margin: 0;
}

#slideshow {
	position: relative;
	margin-top: -20px;
	z-index: -1;
}

.slick-track {
	height: 100vh;
	width: 100vw;
	overflow: hidden;
}

.slick-slide img {
	object-fit: cover;
	height: 100%;
	width: 100%;
}

@media (max-width: 1079px) {
	.slick-slide#slick-slide00 img {
		object-position: 45% center;
	}
	.slick-slide#slick-slide01 img {
		object-position: 45% center;
	}
	.slick-slide#slick-slide04 img {
		object-position: 35% center;
	}
}

body.home .contents {
	padding-top: 0;
}

.full-width.slide-copy {
	padding: 0;
}

.full-width.slide-copy img {
	margin-top: -5vw;
	margin-left: 15px;
	max-width: 90%;
}

@media (min-width: 1080px) {
	#slideshow {
		position: relative;
		margin-top: -40px;
		z-index: -1;
	}

	.slideshow .container {
		width: 100%;
	}

	.full-width.slide-copy img {
		margin-top: -12vw;
		margin-left: 40px;
		max-width: 65%;
	}
}

.mv-txt {
	position: absolute;
	writing-mode: vertical-rl;
	text-orientation: mixed;
	color: #fff;
	font-size: clamp(1.5em, 1em + 2.22vw, 2em);
	filter: drop-shadow(0 0 10px #000);
}
@media (max-height: 840px) {
	.mv-txt {
		font-size: clamp(1.15em, 0.925em + 1vw, 1.6em) !important;
	}
}
@media (min-width: 1080px) {
	.mv-txt {
		top: 75%;
		transform: translateY(-55%);
		left: 15vw;
		height: 100% !important;
	}
}
@media (max-width: 1079px) {
	.mv-txt {
		top: 55%;
		transform: translateY(-55%);
		left: 10vw;
		height: 70% !important;
	}
}
/* child-page
 * -------------------- */
body:not(.home) #core {
	margin-top: 100px;
}
@media (min-width: 1080px) {
	body:not(.home) #core {
		margin-top: 150px;
	}
}
#intro {
	position: relative;
	z-index: -1;
}
.intro .container {
	width: 100%;
	background-color: unset;
	border-top: 1px solid;
	border-bottom: 1px solid;
}
.intro .container .title::before {
	content: '／';
	margin-right: 1em;
}
.intro .container .title::after {
	content: '／';
	margin-left: 1em;
}
#contents {
	margin-top: 25px;
}

@media (min-width: 1080px) {
	#contents {
		margin-top: 50px;
	}
}
/*about*/
.about-box01 {
	background: url('https://okisen.jp/wp-content/uploads/2025/01/building03.jpg');
	background-size: cover;
	background-position: -140px center;
}

@media (min-width: 720px) {
	.about-box01 {
		background-position: right center;
	}
}

/*youtube*/
.youtube {
	margin: 2em auto 2.5em !important;
	width: 90%;
	aspect-ratio: 16 / 9;
}

.youtube iframe {
	width: 100%;
	height: 100%;
}

@media (min-width: 768px) {
	.youtube {
		margin: 4em auto !important;
		width: 80%;
	}
}

/*team*/
.team-box.columns-2 .columns-item {
	position: relative;
	background-color: #fff;
	margin-bottom: 2em;
}

.team-box h4 {
	position: absolute;
	top: 1em;
	left: 0;
	background-color: var(--color-lightblue);
	color: #fff;
	margin-top: 0 !important;
	padding: 10px 20px;
	width: fit-content;
	min-width: 150px;
}

.team-box .txt {
	color: var(--color-txt);
	margin-top: 0 !important;
	padding: 1.2em 1.5em 1.5em;
}

@media (min-width: 720px) {
	.team-box .txt {
		padding: 1.5em 2em 2em;
	}
}


/*works*/
.works-box {
	margin-bottom: 3em;
}

.works-box .img .img-wrap {
	margin: 0 calc(50% - 50vw);
	width: 100vw;
}

.works-box .gallery.gallery-columns-2 .gallery-item {
	width: 50% !important;
}

@media (min-width: 1080px) {
	.works-box {
		display: flex;
		gap: 3em;
		margin-bottom: 2em;
	}

	.works-box:nth-child(2n+1) {
		flex-direction: row-reverse;
	}

	.works-box .img {
		flex-basis: 50%;
	}

	.works-box .img .img-wrap {
		margin: 0;
		margin-left: calc((-100vw + 1080px) / 2);
		width: 60vw;
	}

	.works-box:nth-child(2n+1) .img .img-wrap {
		margin-left: 0;
		margin-right: calc((-100vw + 1080px) / 2);
	}

	.works-box .txt {
		flex-basis: 50%;
		padding-top: 2em;
	}

	.works-box:last-of-type {
		margin-bottom: 80px;
	}
}

/*flow*/
.flow-box {
	margin-bottom: 3em;
}

.flow-box h3 {
	padding-left: 0;
}

.flow-box h3::before {
	display: none;
}

.flow-box .img img {
	margin-bottom: 2em;
	width: 50%;
}

@media (min-width: 1080px) {
	.flow-box {
		display: flex;
		align-items: center;
		gap: 3em;
	}

	.flow-box .img {
		flex-basis: 20%;
	}

	.flow-box .img img {
		width: 100%;
	}
}

.accent{
	background-color: var(--color-f1);
	padding: 1.5em;
	border-radius: 10px;
}


/* recruit
 * -------------------- */
/*loop*/
.full-width-loop {
	margin: 0 calc(50% - 50vw);
}

.loop-animation {
	width: 100%;
	height: 450px;
	/* 画像の高さ */
	background-image: url(https://okisen.jp/wp-content/uploads/2025/04/loop-animation.jpg);
	background-repeat: repeat-x;
	background-size: auto 450px;
	/* 画像の高さ */
	animation: loop 60s linear infinite;
	position: relative;
}

@keyframes loop {
	from {
		background-position: 0 0;
	}

	to {
		background-position: -2000px 0;
		/* 画像のマイナス幅 */
	}
}

.loop-animation_title {
	position: absolute;
	top: 50px;
	left: 50px;
	width: 350px;
}

@media (max-width: 1100px) {
	.loop-animation {
		height: 400px;
		/* 画像の高さ */
		background-size: auto 400px;
		/* 画像の高さ */
	}

	.loop-animation_title {
		bottom: 40px;
		right: 40px;
		width: 300px;
	}
}

@media (max-width: 600px) {
	.loop-animation {
		height: 300px;
		/* 画像の高さ */
		background-size: auto 300px;
		/* 画像の高さ */
		animation: loop 70s linear infinite;
	}

	.loop-animation_title {
		top: 30px;
		left: 30px;
		width: 200px;
	}
}

/*アコーディオン*/
.accordion {
	margin-top: 0 !important;
	margin-bottom: 60px;
}

.accordion .option {
	position: relative;
	margin-top: 0 !important;
}

.accordion .toggle {
	display: none;
}

.accordion .title,
.accordion .content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}

.accordion .title {
	display: block;
	background-color: var(--color-lightblue);
	border-radius: 10px;
	color: #fff);
	font-size: 1.2em;
	font-weight: bold;
	line-height: 1.5;
	padding: .75em 2.5em.75em 1em;
}

.accordion .toggle:checked+br+.title {
	border-radius: 10px 10px 0 0;
}

.accordion .title::after,
.accordion .title::before {
	position: absolute;
	right: 1.25em;
	top: 0;
	bottom: 0;
	margin: auto;
	background-color: #fff;
	content: "";
	transition: all 0.3s;
	width: 3px;
	height: 0.75em;
}

.accordion .title::after {
	transform: rotate(90deg);
}

.accordion .title+p {
	display: none;
}

.accordion .content {
	margin-top: 0 !important;
	overflow: hidden;
	max-height: 0;
}

.accordion .toggle:checked+br+.title+p+.content {
	max-height: 100%;
	transition: all 1.5s;
}

.accordion .toggle:checked+br+.title::before {
	transform: rotate(90deg) !important;
}

.accordion .content .inner {
	background-color: #fff;
	color: var(--color-txt);
	padding: 20px;
}

.accordion .content .inner h4 {
	color: var(--color-main);
}

.accordion .content .inner a {
	color: var(--color-txt);
}

.accordion .content .inner table th {
	background-color: rgb(91 157 210 / .2);
}

.main .accordion .content .inner ul:not(.sd-content)>li::before {
	background-color: var(--color-lightblue);
}

@media (max-width: 767px) {
	.accordion .content .inner {
		padding: 15px;
	}
}

/*recruit-message*/
.recruit-message li {
	line-height: 1.8;
}

@media (max-width: 899px) {
	.recruit-message .img {
		display: none;
	}
}

@media (min-width: 900px) {
	.recruit-message {
		display: flex;
		gap: 3em;
	}

	.recruit-message .txt {
		flex-basis: 65%;
	}

	.recruit-message .img {
		flex-basis: 35%;
		margin-top: 0 !important;
	}

	.recruit-message .gallery {
		margin-top: 0 !important;
	}

	.recruit-message .img .gallery.gallery-columns-2 .gallery-item {
		width: 100% !important;
	}
}

/* contact
 * -------------------- */
body.contact .full-width-box .about-box01 {
	background-position: -20px center;
	font-size: 1.3em;
	font-weight: bold;
	padding: 3em 1.5em;
}

body.contact .tel {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 2em;
	margin-bottom: 30px;
	text-align: center;
}

body.contact .tel img {
	margin-right: 10px;
	width: 30px;
}

body.contact .tel a {
	text-decoration: none;
}

@media (min-width: 425px) {
	body.contact .full-width-box .about-box01 {
		background-position: right center;
	}
}

@media (min-width: 1080px) {
	body.contact .full-width-box .about-box01 {
		padding: 4em 1.5em;
	}

	body.contact .tel {
		font-size: 3em;
		margin-bottom: 70px;
	}

	body.contact .tel img {
		width: 50px;
	}
}

/* color
 * -------------------- */
.color-main {
	color: var(--color-main) !important;
}

.color-lightblue {
	color: var(--color-lightblue) !important;
}

.color-wht {
	color: #fff !important;
}

/*readmore*/
.readmore {
	position: relative;
	margin: -10px auto 0 !important;
	padding: 0 0 75px;
}

.readmore label {
	position: absolute;
	display: table;
	left: 20%;
	bottom: 0;
	background-color: #fff;
	border-radius: 50px;
	color: var(--color-main);
	cursor: pointer;
	font-size: 0.9em;
	margin: 0 auto;
	padding: 7px 20px;
	text-align: center;
	transform: translateX(-50%);
	width: 160px;
	z-index: 1;
}

.readmore label::before {
	content: '続きを見る';
}

.readmore input[type="checkbox"]:checked~label::before {
	content: '元に戻す';
}

.readmore input[type="checkbox"] {
	display: none;
}

.readmore label+p,
.readmore input+br {
	display: none;
}

.readmore-content {
	position: relative;
	overflow: hidden;
	height: 200px;
}

.readmore-content li {
	line-height: 1.8;
}

.readmore input[type="checkbox"]:checked~.readmore-content {
	height: auto;
}

/*wpcf7*/
.wpcf7-form-control {
	color: #000;
}