@charset "UTF-8";
/*
Theme Name: 【最新】シンプル　天野企画テーマ１
Author: amanokikaku
Author URI: http://amnk.co.jp/
Description: 2019.5.10
Version: 1.0
*/


:root {

	--main_color: #045187;
	--sub_color: #a7d3f1;
	--main2_color: #045187;
	--sub2_color: #a7d3f1;
	--key_color: #d47a38;
	--notos_font: "Noto Sans JP", sans-serif;

	--poppins: "Poppins", sans-serif;
	--mincho: "Zen Old Mincho", serif;
}

.poppins {
	font-family: var(--poppins);
}

.mincho {
	font-family: var(--mincho);
}

.section-common[data-back="sub-color"] {
	/*     background: var(--sub_color); */
	background: #efefef;
}

@layer reset, form, base, layout, common;

/*--------------------reset.css--------------------*/
@layer reset {

	html,
	body,
	div,
	span,
	object,
	iframe,
	h1,
	h2,
	h3,
	h4,
	h5,
	h6,
	p,
	blockquote,
	pre,
	abbr,
	address,
	cite,
	code,
	del,
	dfn,
	em,
	img,
	ins,
	kbd,
	q,
	samp,
	small,
	strong,
	sub,
	sup,
	var,
	b,
	i,
	dl,
	dt,
	dd,
	ol,
	ul,
	li,
	fieldset,
	form,
	label,
	legend,
	table,
	caption,
	tbody,
	tfoot,
	thead,
	tr,
	th,
	td,
	article,
	aside,
	canvas,
	details,
	figcaption,
	figure,
	footer,
	header,
	hgroup,
	menu,
	nav,
	section,
	summary,
	time,
	mark,
	audio,
	video {
		margin: 0;
		padding: 0;
		border: 0;
		outline: 0;
		background: transparent;
		font-size: 100%;
		/*  font-weight: normal;*/
		vertical-align: baseline;
	}

	html {
		width: 100%;
		overflow-x: hidden;
	}

	body {
		-webkit-text-size-adjust: 100%;
		line-height: 1;
	}

	article,
	aside,
	details,
	figcaption,
	figure,
	footer,
	header,
	hgroup,
	menu,
	nav,
	section {
		display: block;
	}

	ol,
	ul,
	li {
		list-style: none;
	}

	blockquote,
	q {
		quotes: none;
	}

	blockquote:before,
	blockquote:after,
	q:before,
	q:after {
		content: '';
		content: none;
	}

	a {
		margin: 0;
		padding: 0;
		background: transparent;
		color: #000;
		font-size: 100%;
		text-decoration: none;
		vertical-align: baseline;
	}

	/* change colours to suit your needs */
	ins {
		background-color: #ff9;
		color: #000;
		text-decoration: none;
	}

	/* change colours to suit your needs */
	mark {
		background-color: #ff9;
		color: #000;
		font-style: italic;
		font-weight: bold;
	}

	del {
		text-decoration: line-through;
	}

	abbr[title],
	dfn[title] {
		border-bottom: 1px dotted;
		cursor: help;
	}

	table {
		border-collapse: collapse;
		border-spacing: 0;
	}

	/* change border colour to suit your needs
	*/
	hr {
		display: block;
		height: 1px;
		margin: 1em 0;
		padding: 0;
		border: 0;
		border-top: 1px solid #cccccc;
	}

	input,
	select {
		vertical-align: middle;
	}

	img {
		vertical-align: bottom;
		max-width: 100%;
		height: auto;
	}

	iframe {
		vertical-align: bottom;
		max-width: 100%;
	}

	th {
		text-align: left;
	}

	*,
	*:before,
	*:after {
		box-sizing: border-box;
	}
}

/*--------------------reset.cssここまで--------------------*/

/*--------------------form.css--------------------*/
@layer form {

	input[type="text"],
	input[type="email"],
	input[type="tel"],
	input[type="search"],
	input[type="url"],
	input[type="password"],
	input[type="datetime"],
	input[type="date"],
	input[type="month"],
	input[type="week"],
	input[type="time"],
	input[type="datetime-local"],
	input[type="number"],
	input[type="range"],
	input[type="color"],
	input[type="radio"],
	input[type="checkbox"],
	input[type="submit"],
	input[type="button"],
	input[type="image"],
	select,
	button,
	textarea {
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		margin: 0;
		padding: 0;
		border: none;
		border-radius: 0;
		outline: none;
		background: none;
		font-family: "メイリオ", Meiryo, "Noto Sans JP", sans-serif;
	}

	/* プレースホルダー */
	::-webkit-input-placeholder {
		color: #ccc;
	}

	:-ms-input-placeholder {
		color: #ccc;
	}

	::-ms-input-placeholder {
		color: #ccc;
	}

	::placeholder {
		color: #ccc;
	}

	/* 入力欄 */
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	input[type="search"],
	input[type="url"],
	input[type="password"],
	input[type="datetime"],
	input[type="date"],
	input[type="month"],
	input[type="week"],
	input[type="time"],
	input[type="datetime-local"],
	input[type="number"],
	input[type="range"] {
		width: 100%;
		padding: 0.5em 1em;
		border: 1px solid #ccc;
		color: #666666;
	}

	/* 入力欄 */
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	input[type="search"],
	input[type="url"],
	input[type="password"],
	textarea {
		background: #fff;
		font-size: 16px;
		border-radius: 4px;
		box-shadow: inset 1.5px 1.5px 0px #cccccc;
		border: none;
		border-bottom: 1px solid #cccccc;
		border-right: 1px solid #cccccc;
	}

	/* 日付 */
	input[type="datetime"],
	input[type="date"],
	input[type="month"],
	input[type="week"],
	input[type="time"],
	input[type="datetime-local"] {
		font-size: 16px;
	}

	/* 数値 */
	/* スピンボタン非表示*/
	input[type="number"]::-webkit-outer-spin-button,
	input[type="number"]::-webkit-inner-spin-button {
		-webkit-appearance: none;
		margin: 0;
	}

	input[type="number"] {
		-moz-appearance: textfield;
	}

	/* レンジ */
	/* カラーピッカー */
	select {
		width: 100%;
		padding: 0.5em 1em;
		border: 1px solid #ccc;
		background: url(images/down-select.png) no-repeat right 1em center;
		cursor: pointer;
	}

	select::-ms-expand {
		display: none;
	}

	textarea {
		width: 100%;
		/* ieでスクロールバー非表示 */
		padding: 0.5em 1em;
		overflow: hidden;
		border: 1px solid #ccc;
	}

	input[type="submit"],
	input[type="button"],
	button {
		cursor: pointer;
	}

	form input[type="radio"] {
		display: none;
	}

	form input[type="radio"]+span {
		display: inline-block;
		vertical-align: middle;
		cursor: pointer;
		position: relative;
		line-height: 1;
	}

	form input[type="radio"]+span:before {
		margin-right: 0.3em;
		content: "";
		width: 14px;
		height: 14px;
		display: inline-block;
		border-radius: 10px;
		border: 1px solid #cccccc;
		position: relative;
		top: 2px;
	}

	form input[type="radio"]:checked+span:after {
		content: "";
		width: 10px;
		height: 10px;
		background: var(--main_color);
		display: inline-block;
		border-radius: 5px;
		position: absolute;
		left: 2px;
		top: 4px;
	}

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

	form input[type="checkbox"]+span {
		display: inline-block;
		vertical-align: middle;
		cursor: pointer;
		position: relative;
		line-height: 1;
	}

	form input[type="checkbox"]+span:before {
		margin-right: 0.3em;
		content: "";
		width: 14px;
		height: 14px;
		display: inline-block;
		border: 1px solid #cccccc;
		position: relative;
		top: 2px;
	}

	form input[type="checkbox"]:checked+span:after {
		content: "";
		width: 14px;
		height: 10px;
		display: inline-block;
		position: absolute;
		left: 1px;
		top: 3px;
		border-bottom: 3px solid var(--main_color);
		border-left: 3px solid var(--main_color);
		transform: rotate(-45deg);
	}

	.prefbox select {
		width: 100px;
		margin-bottom: 0.5em;
		font-size: 16px;
	}

	.wrap .contact-form table th,
	.wrap .contact-form table td {
		vertical-align: middle;
	}

	.contact-form button {
		display: block;
		z-index: 1;
		position: relative;
		width: min(300px, 100%);
		padding: 0.85rem;
		background: #fff;
		text-align: center;
		transition: 0.5s;
		color: var(--main_color);
		border: 1px solid var(--main_color);
		border-radius: 4px;
		filter: drop-shadow(1px 1px 0px #ccc);
		font-size: 14px;
		margin: min(3vw, 25px) auto 0;
	}

	.contact-form button:after {
		-webkit-transform: rotate(45deg);
		display: inline-block;
		position: absolute;
		top: 0;
		right: 1em;
		bottom: 0;
		width: 12px;
		height: 12px;
		margin: auto;
		transform: rotate(45deg);
		border-top: 3px solid var(--main_color);
		border-right: 3px solid var(--main_color);
		content: "";
	}

	.contact-form button:hover {
		background: var(--main_color);
		color: #fff;
		opacity: 1;
	}

	.contact-form button:hover:after {
		border-top: 3px solid #fff;
		border-right: 3px solid #fff;
	}

	.mw_wp_form_preview .list-caution {
		display: none;
	}

	@media screen and (min-width: 900px),
	print {
		select {
			width: auto;
		}

		textarea {
			height: 210px;
			display: block;
			border: none;
			border-bottom: 1px solid #cccccc;
			border-right: 1px solid #cccccc;
		}
	}

	@media screen and (max-width: 640px) {
		textarea {
			height: 60vw;
			display: block;
		}
	}
}

/*--------------------form.cssここまで--------------------*/

/* ////////////////////////////////////////
PC,SP共通 base.css
//////////////////////////////////////// */
@layer base {
	body {
		color: #333;
		font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
		font-size: min(16px, 3.7vw);
		letter-spacing: .05rem;
		font-weight: 500;
		text-align: justify;
		font-feature-settings: "palt";
		text-rendering: optimizeLegibility;
	}

	body :is(p, li, dt, dd) {
		line-height: 1.75;
	}

	.block-none {
		display: none !important;
	}

	.textLeft {
		text-align: left;
	}

	.textRight {
		text-align: right;
	}

	.textCenter {
		text-align: center;
	}

	.textJustify {
		text-align: justify;
		text-justify: inter-ideograph;
	}

	.weightBold {
		font-weight: bold;
	}

	.colorBlue {
		color: var(--main_color);
	}

	body {
		overflow-x: hidden;
		display: flex;
		flex-direction: column;
		min-height: 100vh;
		position: relative;
	}

	.main-column {
		container: main-size / inline-size;

		& :is(h2:not([class])) {
			line-height: 1.75;
			margin-bottom: min(7vw, 28px);
			margin-top: min(20vw, 80px);
			font-size: min(5.5vw, 22px);
			padding: min(2vw, 12px);
			background: #f3f3f3;
			font-weight: bold;
		}

		& h3:not([class]) {
			margin: min(5vw, 1rem) 0;
			padding: min(2vw, 0.25rem) 0;
			font-size: min(4.5vw, 20px);
			line-height: 1.25;
			border-bottom: 2px solid var(--main_color);
		}

		& .box-post-text h3:not([class]) {
			margin: 0;
			border-bottom: none;
			padding: 0;
		}

		& h4:not([class]) {
			margin: min(8vw, 2rem) 0 min(3vw, 0.5rem);
			padding-left: min(2.5vw, 1rem);
			font-size: min(4vw, 18px);
			line-height: 1.25;
			border-left: 4px solid var(--main_color);
		}
	}

	.main-column p+p {
		margin-top: min(3vw, 1rem);
	}

	p {
		word-break: break-all;
	}

	p:not([class]) a {
		text-decoration: underline;

		&:link {
			color: #0000ee;
		}

		&:active {
			color: #ff0000;
		}

		&:hover {
			color: #0000ee;
		}

		&:visited {
			color: #551a8b;
		}
	}

	.clearfix:after {
		display: block;
		clear: both;
		content: "";
	}

	.flexCenter {
		display: flex;
		flex-flow: row wrap;
		justify-content: center;
		inline-size: 100%;
		gap: 1rem 3rem;
	}

	.flexLeft {
		display: flex;
		flex-flow: row wrap;
		justify-content: flex-start;
	}

	.flexRight {
		display: flex;
		flex-flow: row wrap;
		justify-content: flex-end;
	}

	:is(.flexCenter, .flexLeft, .flexRight):has(.btn-archive, .btn-min),
	:is(.flexCenter, .flexLeft, .flexRight):is(.btn-archive, .btn-min):has(>*) {
		margin-block-start: min(8vw, 2.5rem);
		position: relative;

		.sidebar & {
			margin-block-start: min(8vw, 1.5rem);
		}
	}

	.fullWidth {
		width: 100%;
	}

	.wp-block-image figcaption {
		text-align: center;
		margin: 15px 0 0;
		font-size: 14px;
		line-height: 1.5;
	}

	/*
* object-fitのclassとie対応（ofi.js必要）
*/
	.ofi-cover {
		-o-object-fit: cover;
		object-fit: cover;
		font-family: "object-fit: cover;";
	}

	.ofi-contain {
		-o-object-fit: contain;
		object-fit: contain;
		font-family: "object-fit: contain;";
	}

	.wrap-zoom {
		overflow: hidden;
	}

	.wrap-zoom>img {
		transition: 0.5s;
		width: 100%;
		height: auto;
		aspect-ratio: 3 / 2;
	}

	.wrap-zoom>img:hover {
		-webkit-transform: scale(1.1);
		transform: scale(1.1);
	}

	/*　疑似要素テキスト　*/
	.attrTextLeft:before,
	.attrTextTop:before,
	.attrTextBottom:after,
	.attrTextRight:after {
		content: attr(data-text);
	}

	.attrTextLeft:before,
	.attrTextRight:after {
		display: inline-block;
	}

	.attrTextTop:before,
	.attrTextBottom:after {
		display: block;
	}

	/*　疑似要素テキスト　*/
	/*　疑似要素アイコン　*/
	.attrIconLeft:before,
	.attrIconTop:before,
	.attrIconBottom:after,
	.attrIconRight:after {
		content: "";
		display: inline-block;
		width: 28px;
		height: 28px;
		background: var(--main_color);
		position: absolute;
		left: -36px;
		top: -2px;
		border-radius: 5px;
	}

	.attrIconLeft:after {
		content: "";
		display: inline-block;
		width: 18px;
		height: 18px;
		background: url(images/tel.svg);
		background-size: cover;
		position: absolute;
		left: -36px;
		top: -2px;
		border-radius: 5px;
		margin: 5px;
	}

	.attrIconTop:before,
	.attrIconBottom:after {
		display: block;
	}

	.attrIconLeft:before,
	.attrIconRight:after {
		display: inline-block;
	}


	/* 共通色指定
*************************** */
	.global-nav .sub-menu>li>a,
	.copyright,
	.btn-contact,
	.pagetop,
	.category-post,
	.slick-dots li.slick-active button:before,
	.sp-nav,
	.wpcf7-submit {
		background: var(--main_color);
		color: #fff;
	}

	.main-slider .slick-prev:before,
	.main-slider .slick-next:before {
		color: #fff;
	}

	/* カテゴリ表示の背景色 */
	/* .bg-cate-1 {
  background: #ffae5e;
}
.bg-cate-2 {
  background: #7a5b44;
}
.bg-cate-3 {
  background: #57b7e8;
}
.bg-cate-4 {
  background: #8fc31f;
}
.bg-cate-5 {
  background: #7e2a00;
}
.bg-cate-6 {
  background: #00a29a;
}
.bg-cate-7 {
  background: #f29c97;
}
.bg-cate-8 {
  background: #9082a4;
}
.bg-cate-9 {
  background: #e6001b;
}
.bg-cate-10 {
  background: #0047cf;
} */

	/* カテゴリ表示の背景色 */


	/* ウィジェット
*************************** */
	.widget_nav_menu li>a {
		padding: 1em 1em;
	}

	#gallery-1 .gallery-item,
	#gallery-2 .gallery-item {
		margin-top: 0 !important;
		margin-bottom: 0.5em;
	}

	#gallery-1 .gallery-caption,
	#gallery-2 .gallery-caption {
		padding: 0.5em 0;
		line-height: 1.25;
	}

	/* 見出し */
	.contents-page :is(h2, h3, h4) {
		margin-bottom: 28px;
		line-height: 1.5;
	}

	.contents-page h2 {
		padding: 0.5em;
		font-size: 22px;
		font-weight: bold;
	}

	.contents-page h3 {
		padding: 0.5em;
		border-bottom: 1px solid #ccc;
		font-size: 20px;
	}

	.contents-page h4 {
		padding: 0.5em;
		font-size: 18px;
		font-weight: bold;
	}

	.contents-page h2 .mincho {
		font-size: 24px;
	}

	/* 見出し */
	.contents-page p,
	.contents-page span {
		line-height: 1.75;
	}

	.contents-page img {
		max-width: 100%;
		height: auto;
	}

	.inner-main h1 {
		margin-bottom: 1em;
	}

	.inner-main p {
		letter-spacing: 0.1em;
		line-height: 1.75;
	}

	.wrap-2column .list-post {
		margin-top: -20px;
	}

	.main-column>p {
		text-align: justify;
		line-height: 2.3;
		letter-spacing: .05em;
	}

	.main-column .has-text-align-right {
		text-align: right;
	}

	.main-column .has-text-align-center {
		text-align: center;
	}

	.main-columnc .is-style-outline .wp-block-button__link {
		background-color: transparent;
		text-decoration: none;
	}

	.is-style-outline .wp-block-button__link:after {
		-webkit-transform: rotate(45deg);
		display: inline-block;
		top: 0;
		right: 1em;
		bottom: 0;
		width: 10px;
		height: 10px;
		margin: auto;
		margin-left: 10px;
		transform: rotate(45deg);
		border-top: 2px solid var(--main_color);
		border-right: 2px solid var(--main_color);
		content: "";
	}

	.main-column pre {
		max-width: 100%;
		font-size: 14px;
		text-align: justify;
		line-height: 1.7;
		white-space: pre-wrap;
	}

	.main-column table {
		width: 100%;
	}

	/*テーブル*/
	.main-column table th,
	.main-column table td {
		line-height: 1.75;
	}

	.main-column table th {
		padding: 1em 1em;
		vertical-align: top;
	}

	.main-column table td {
		padding: 1em 1em;
		vertical-align: top;
	}

	/*間隔*/
	.section-common {
		padding: min(20vw, 160px) 0;
		position: relative;
	}

	.scpt-none {
		padding-top: 0;
	}

	.contents {
		width: min(100%, 1280px);
		padding: 0 min(8vw, 40px);
		margin: 0 auto;
	}

	.wrap-1column .contents,
	.wrap-1column-narrow .main-column {
		width: min(100%, 1020px);
		margin: 0 auto;
	}

	.wrap-2column {
		gap: min(8vw, 40px);
	}

	.wrap-2column .main-column {
		flex: 1;
	}

	.fullvw-width {
		width: 100vw;
		position: relative;
		left: 50%;
		transform: translateX(-50%);
		max-width: unset;
	}

	/**********************************
 * パスワード画面
 * ********************************/
	div:not(.contents):has(section:not(.main-column)) .post-password-form {
		width: min(100%, 1280px);
		padding: 0 min(8vw, 40px);
		margin: 0 auto;
	}

	.post-password-form {
		text-align: left;
	}

	.post-password-form input[type="submit"] {
		background: #333;
		color: #fff;
		padding: 0.2rem 0.8rem;
		border-radius: 5px;
		margin-top: 0.7rem;
	}

	.post-password-form input[type="submit"]:hover {
		opacity: 0.8;
	}

	/**************************
 * リンク
 * ************************/
	a:hover {
		opacity: 0.7;
		transition: 0.2s;
	}

	:is(.btn-archive:not(:has(>*)), .btn-archive:has(>*) *) {
		display: inline-flex;
		align-items: center;
		gap: 0.75rem;
		z-index: 1;
		position: relative;
		min-inline-size: min(330px, 100%);
		inline-size: auto;
		padding: 1rem 1.5rem;
		background: var(--main_color);
		color: #fff;
		text-align: center;
		font-weight: 700;
		transition: 0.5s;
		border: 1px solid var(--main_color);
		font-size: min(16px, 3.5vw);
		line-height: 1;
		border-radius: 4px;

		&:hover {
			background: #fff;
			color: var(--main_color);
			opacity: 1;
		}

		&:after {
			content: "";
			aspect-ratio: 1/1;
			border-radius: 50%;
			inline-size: 1.25rem;
			background: currentColor;
			mask: url('data:image/svg+xml;base64,PHN2ZyBpZD0iX+ODrOOCpOODpOODvF8xIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvCAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgZmlsbDogI2Q5ZDlkOTsKICAgICAgICBzdHJva2Utd2lkdGg6IDBweDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L2RlZnM+CiAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTguMDEsMTIuMTZsLTUuNzIsNS40NGMtLjU1LjUzLTEuNDMuNS0xLjk1LS4wNS0uNTMtLjU1LS41LTEuNDMuMDUtMS45NWwyLjMzLTIuMjJoLTUuNTJjLS43NiwwLTEuMzgtLjYyLTEuMzgtMS4zOHMuNjItMS4zOCwxLjM4LTEuMzhoNS41MmwtMi4zMy0yLjIyYy0uNTUtLjUyLS41Ny0xLjQtLjA1LTEuOTUuNTMtLjU1LDEuNC0uNTgsMS45NS0uMDVsNS43Miw1LjQ0cy4wNy4xLjA3LjE2LS4wMi4xMi0uMDcuMTZaTTEyLDBDNS4zNywwLDAsNS4zNywwLDEyczUuMzcsMTIsMTIsMTIsMTItNS4zNywxMi0xMlMxOC42MywwLDEyLDBaIi8+Cjwvc3ZnPg==') center / contain no-repeat;
			-webkit-mask: url('data:image/svg+xml;base64,PHN2ZyBpZD0iX+ODrOOCpOODpOODvF8xIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvCAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgZmlsbDogI2Q5ZDlkOTsKICAgICAgICBzdHJva2Utd2lkdGg6IDBweDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L2RlZnM+CiAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTguMDEsMTIuMTZsLTUuNzIsNS40NGMtLjU1LjUzLTEuNDMuNS0xLjk1LS4wNS0uNTMtLjU1LS41LTEuNDMuMDUtMS45NWwyLjMzLTIuMjJoLTUuNTJjLS43NiwwLTEuMzgtLjYyLTEuMzgtMS4zOHMuNjItMS4zOCwxLjM4LTEuMzhoNS41MmwtMi4zMy0yLjIyYy0uNTUtLjUyLS41Ny0xLjQtLjA1LTEuOTUuNTMtLjU1LDEuNC0uNTgsMS45NS0uMDVsNS43Miw1LjQ0cy4wNy4xLjA3LjE2LS4wMi4xMi0uMDcuMTZaTTEyLDBDNS4zNywwLDAsNS4zNywwLDEyczUuMzcsMTIsMTIsMTIsMTItNS4zNywxMi0xMlMxOC42MywwLDEyLDBaIi8+Cjwvc3ZnPg==') center / contain no-repeat;
			margin-inline-start: auto;
		}

		&[target]:after {
			border-radius: unset;
			inline-size: 1.25rem;
			mask: url('data:image/svg+xml;base64,PHN2ZyBpZD0iX+ODrOOCpOODpOODvF8xIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvCAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgICBzdHJva2U6ICMwMDA7CiAgICAgICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kOwogICAgICAgIHN0cm9rZS1saW5lam9pbjogcm91bmQ7CiAgICAgICAgc3Ryb2tlLXdpZHRoOiAycHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC9kZWZzPgogIDxwb2x5bGluZSBjbGFzcz0iY2xzLTEiIHBvaW50cz0iMTQgMSAyMyAxIDIzIDEwIi8+CiAgPHBvbHlsaW5lIGNsYXNzPSJjbHMtMSIgcG9pbnRzPSIxOSAxNSAxOSAyMyAxIDIzIDEgNSA5IDUiLz4KICA8bGluZSBjbGFzcz0iY2xzLTEiIHgxPSIxMSIgeTE9IjEzIiB4Mj0iMjIiIHkyPSIyIi8+Cjwvc3ZnPg==') center / contain no-repeat;
			-webkit-mask: url('data:image/svg+xml;base64,PHN2ZyBpZD0iX+ODrOOCpOODpOODvF8xIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvCAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgICBzdHJva2U6ICMwMDA7CiAgICAgICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kOwogICAgICAgIHN0cm9rZS1saW5lam9pbjogcm91bmQ7CiAgICAgICAgc3Ryb2tlLXdpZHRoOiAycHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC9kZWZzPgogIDxwb2x5bGluZSBjbGFzcz0iY2xzLTEiIHBvaW50cz0iMTQgMSAyMyAxIDIzIDEwIi8+CiAgPHBvbHlsaW5lIGNsYXNzPSJjbHMtMSIgcG9pbnRzPSIxOSAxNSAxOSAyMyAxIDIzIDEgNSA5IDUiLz4KICA8bGluZSBjbGFzcz0iY2xzLTEiIHgxPSIxMSIgeTE9IjEzIiB4Mj0iMjIiIHkyPSIyIi8+Cjwvc3ZnPg==') center / contain no-repeat;
		}

		&+.wpcf7-spinner {
			display: none !important;
		}

		.flexCenter:has(.wpcf7-form-control-wrap + &) {
			flex-flow: column;
			align-items: center;
		}

		.main-column .has-text-align-center & {
			margin: 0 auto;
		}

		&.none {
			pointer-events: none;
			filter: grayscale(1);
		}

		&[data-link="mail"] {
			font-size: min(4vw, 18px);

			&:before {
				content: "";
				background: #fff;
				mask: url(images/h-mail.svg) center/cover no-repeat;
				-webkit-mask: url(images/h-mail.svg) center/cover no-repeat;
				inline-size: 2rem;
				aspect-ratio: 1/1;
			}

			&:hover:before {
				background: var(--main_color);
			}
		}

		&[data-link="tel"] {
			font-size: min(4vw, 22px);
			justify-content: center;

			&:before {
				content: "";
				background: #fff;
				mask: url(images/h-tel.svg) center/cover no-repeat;
				-webkit-mask: url(images/h-tel.svg) center/cover no-repeat;
				inline-size: 2rem;
				aspect-ratio: 1/1;
			}

			&:after {
				content: none;
			}

			&:hover:before {
				background: var(--main_color);
			}
		}
	}

	/******************************************
 * *ヘッダー
* *****************************************/
	.header {
		z-index: 6;
		background: #fff;
		/*     box-shadow: 0 0 15px 1px rgba(0, 0, 0, 0.4); */
		position: fixed;
		left: 0;
		top: 0;
		/* 	transition: all 0.5s 0.5s; */
		transition: 0.5s;

		@media(width > 901px) {
			padding: 0 2rem;
		}

		@media(901px > width > 640px) {
			padding: 0 1.2rem;
		}
	}

	.header.over {
		box-shadow: 0 0 3px rgba(0, 0, 0, 0.5);
	}

	.inner-header {
		display: flex;
		position: relative;
		align-items: center;
		justify-content: space-between;
		/*   padding: 10px 0 10px; */
		padding: 15px 0;
	}

	.wrap-logo {
		display: flex;
		align-items: center;
	}

	.wrap-logo .logo {
		display: block;
	}

	.wrap-logo .logo:hover {
		opacity: 1;
	}

	.wrap-logo .logo img {
		display: block;
		max-width: 100%;
		height: auto;
		max-height: 40px;
		/*     width: min(40vw, 333px); */
		width: min(45vw, 333px);
	}

	.head-header {
		margin-left: min(2vw, 1.7rem);
		line-height: 1.25;
		margin-top: 5px;
		font-size: min(3vw, 14px);
	}

	.head-header>* {
		font-weight: 500;
		line-height: 1;
	}

	.header-tel {
		background: var(--main_color);
		color: #fff;
		display: flex;
		flex-direction: column;
		position: relative;
		padding: min(5vw, 1rem) min(3vw, 0.5rem) min(5vw, 1rem) min(7vw, 3.3rem);
		font-weight: bold;
		word-break: break-all;
	}

	.header-tel:before {
		content: "";
		background: url(images/tel.svg) center/contain no-repeat;
		width: min(3.5vw, 33px);
		height: auto;
		aspect-ratio: 23/30;
		position: absolute;
		left: min(1.2vw, 0.9rem);
		transform: translatey(-50%);
		top: 51%;
	}

	.htel {
		display: block;
		width: 100%;
		font-size: min(3.1vw, 35px);
		line-height: 1;
		word-break: break-all;
	}

	.htime-holi {
		display: block;
		width: 100%;
		font-size: min(1.15vw, 12px);
		line-height: 1;
		margin-top: 0.15rem;
		text-align: center;
	}

	.header-rec {
		/* 	background:var(--main_color); */
		background: #333;
		color: #fff;
		display: flex;
		align-items: center;
		justify-content: center;
		position: relative;
		padding: min(5vw, 1rem) min(5vw, 1.5rem);
		font-weight: bold;
		white-space: nowrap;
		/*     font-size: min(3.8vw, 17px); */
		font-size: min(4.5vw, 15px);
		line-height: 1;

		@media(width > 901px) {
			/* 		height:100%;
		border-right:1px solid #fff; */
			margin-right: min(2vw, 0.5rem);
			padding: min(5vw, 0.5rem) min(5vw, 1.5rem);
		}

		@media(width < 901px) {
			padding: min(5vw, 2rem) min(5vw, 1.5rem);
		}

		/* 	&::before{
		content: "";
		background: url(images/h-recruit.svg) center/contain no-repeat;
		width: min(3.5vw,29px);
		height: auto;
		aspect-ratio: 59/75;
	}	 */
	}

	.boseki-linkbtn {
		z-index: 1;
		position: relative;
		padding: min(5vw, 1.1rem) min(5vw, 1.15rem);
		/* 	line-height: 1.25; */
		line-height: 1;
		background: var(--main2_color);
		text-align: left;
		transition: 0.5s;
		color: #fff;
		/*     height: 100%; */
		white-space: nowrap;
		font-weight: bold;
		display: flex;
		/*     font-size: min(4vw, 17px); */
		font-size: min(4.5vw, 15px);
		align-items: center;

		@media(width > 901px) {
			padding: min(5vw, 0.5rem) min(5vw, 0.8rem);
		}

		@media(width < 901px) {
			text-align: center;
			display: block;
			padding: min(5vw, 2rem) min(5vw, 1.15rem);
		}

		/* 	&::after{
		content: "";
		background:url(images/arrow.svg) center/contain no-repeat;
		display: block;
		position: absolute;
		transform:translatey(-50%);
		top:50%;
		right:1rem;
		width: min(4.7vw,20px);
		height: auto;
		aspect-ratio:1;
	} */
	}

	.fb-linkbtn {
		padding: 0 min(8vw, 40px);
		width: 100%;

		.boseki-linkbtn {
			width: min(100%, 300px);
			margin: min(5vw, 2rem) auto min(10vw, 60px);
			border: 1px solid #fff;
			padding: min(5vw, 1.2rem) min(5vw, 1.15rem);

			&::after {
				content: "";
				background: url(images/arrow.svg) center/contain no-repeat;
				display: block;
				position: absolute;
				transform: translatey(-50%);
				top: 50%;
				right: 1rem;
				width: min(4.7vw, 20px);
				height: auto;
				aspect-ratio: 1;
			}

			&:hover {
				background: #fff;
				color: var(--main_color);
				opacity: 1;

				&::after {
					mask: url(images/arrow.svg) center/contain no-repeat;
					-webkit-mask: url(images/arrow.svg) center/contain no-repeat;
					background: var(--main_color);
				}
			}
		}
	}

	.nav>.contents {
		width: 100%;
		padding: 0;
	}

	/*PCメニュー*/
	.global-nav {
		display: flex;
		z-index: 2;
		width: 100%;
		/*     gap: min(2vw, 2rem);
    margin-right: min(2vw, 2rem); */
		gap: min(2vw, 1rem);
		margin-right: min(2vw, 1.3rem);
	}

	.global-nav>li {
		position: relative;
	}

	.global-nav>li>a {
		display: block;
		text-align: center;
		position: relative;
		font-weight: bold;
	}

	.global-nav>li>a span {
		display: block;
		font-size: 10px;
		margin-top: 4px;
		margin-bottom: -4px;
	}

	.global-nav>li:before {
		content: none;
		display: block;
		height: 1px;
		width: 0;
		background: var(--main_color);
		position: absolute;
		bottom: 0;
		right: 0;
		left: 0;
		margin: 0 auto;
		transition: 0.5s;
	}

	.global-nav>li:hover:before {
		width: 80%;
	}

	.global-nav>li>ul {
		z-index: 2;
		position: absolute;
		top: calc(100% + 0px);
		left: 50%;
		transform: translateX(-50%);
		width: 13rem;
		height: auto;
		opacity: 0;
		transition: 0.5s;
		visibility: hidden;
	}

	.global-nav>li:hover>ul {
		height: auto;
		opacity: 1;
		transition: 0.5s;
		top: calc(100% + 15px);
		visibility: visible;
	}

	.global-nav>li:hover>ul:before {
		content: "";
		display: block;
		height: 15px;
		width: 100%;
		position: absolute;
		top: -15px;
		right: 0;
		left: 0;
		margin: 0 auto;
	}

	.global-nav>li:hover>ul:after {
		content: "";
		height: 0;
		width: 0;
		display: block;
		border-color: transparent transparent var(--main_color);
		border-style: solid;
		border-width: 0 10px 10px;
		position: absolute;
		top: -10px;
		right: 0;
		left: 0;
		margin: 0 auto;
		z-index: -1;
	}

	.global-nav>li>ul.sub-menu>li>ul>li {
		position: relative;
	}

	.global-nav>li>ul.sub-menu>li>ul>li:nth-child(1):before {
		content: "";
		height: 0;
		width: 0;
		display: block;
		border-color: transparent transparent #104f82;
		border-style: solid;
		border-width: 10px 10px 10px;
		position: absolute;
		top: 0;
		bottom: 0;
		left: -20px;
		margin: auto 0;
		z-index: 2;
		transform: rotate(-90deg);
		-webkit-transform: rotate(-90deg);
	}

	.global-nav>li:last-child>ul.sub-menu>li>ul>li:nth-child(1):before {
		left: initial;
		right: -20px;
		transform: rotate(90deg);
		-webkit-transform: rotate(90deg);
	}

	.global-nav>li>ul.sub-menu>li a:hover {
		background: var(--sub_color);
		color: #333;
		opacity: 1;
	}

	.global-nav>li>ul>li {
		position: relative;
		transition: 0.5s;
	}

	.global-nav>li>ul>li>ul {
		position: absolute;
		top: 0;
		left: 100%;
		width: 100%;
		opacity: 0;
		visibility: hidden;
		transition: 0.5s;
		z-index: 1;
	}

	.global-nav>li>ul>li:hover>ul {
		opacity: 1;
		visibility: visible;
		transition: 0.5s;
	}

	.global-nav>li:last-child>ul>li>ul {
		right: 100%;
		left: initial;
	}

	.global-nav>li>ul>li>ul>li {
		opacity: 0;
		visibility: hidden;
	}

	.global-nav>li>ul>li:hover>ul>li {
		opacity: 1;
		visibility: visible;
	}

	.global-nav>li>ul.sub-menu>li>ul>li>a {
		background: #104f82;
	}

	.global-nav .sub-menu li:not(:last-child) {
		border-bottom: 1px solid #c9caca;
	}

	.global-nav .sub-menu a {
		display: block;
		padding: 1em;
		text-align: center;
	}

	.global-nav li>ul>li>a {
		z-index: 10;
	}

	/*モバイルメニュー*/
	.check {
		display: none;
	}

	.check+.parent {
		display: flex;
		justify-content: space-between;
		padding: 0.75em 1em;
		background: var(--main_color);
		color: #fff;
		line-height: 1.25;
		cursor: pointer;
	}

	.check+.parent:after {
		content: "▼";
	}

	.check+.parent+ul {
		display: none;
	}

	.check:checked+.parent:after {
		content: "▲";
	}

	.check:checked+.parent+ul {
		display: block;
	}

	.drawer-nav>li,
	.drawer-nav>li>ul>li,
	.drawer-nav>li>ul>li>ul>li {
		position: relative;
		border-bottom: 1px solid #ccc;
		line-height: 1.75;
	}

	.drawer-nav>li>ul>li:last-child,
	.drawer-nav>li>ul>li>ul>li:last-child {
		border-bottom: none;
	}

	.drawer-nav>li>a,
	.drawer-nav>li>ul>li>a,
	.drawer-nav>li>ul>li>ul>li>a {
		z-index: 1;
		position: relative;
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		min-height: 50px;
	}

	.drawer-nav>li>ul>li>a {
		background: #eeeeee;
	}

	.drawer-nav li a span {
		display: none;
	}

	.drawer-nav .sub-menu {
		display: none;
		border-top: 1px solid #ccc;
	}

	.drawer-nav a {
		display: block;
		padding: 0.5em 1em;
		position: relative;
	}

	.drawer-nav .btn-sub+a:after {
		content: none;
	}

	.drawer-nav .btn-sub {
		z-index: 2;
		position: absolute;
		top: 0;
		right: 0;
		width: 100%;
		height: 50px;
		margin: auto;
		color: #999999;
	}

	.drawer-nav .fa-angle-down:before {
		content: "";
		border-top: 3px solid #999;
		border-right: 3px solid #999;
		height: 9px;
		width: 9px;
		position: absolute;
		top: 47%;
		right: 10%;
		transform: translate(75%, -50%) rotate(135deg);
	}

	.drawer-nav .fa-angle-up:before {
		content: "";
		border-top: 3px solid #999;
		border-right: 3px solid #999;
		height: 9px;
		width: 9px;
		position: absolute;
		top: 44%;
		right: 8%;
		transform: rotate(-45deg);
	}

	.list-sp-menu {
		display: none;
	}

	.list-sp-menu li {
		width: 40px;
	}

	.sp-menu {
		display: flex;
		flex-flow: column nowrap;
		justify-content: space-between;
		text-align: center;
		line-height: 1;
	}

	.sp-menu span {
		-webkit-transform: scale(0.8, 0.8);
		display: block;
		padding-top: 0.5em;
		transform: scale(0.8, 0.8);
		font-size: 10px;
		letter-spacing: 0;
	}

	.sp-menu:before {
		color: var(--main_color);
		font-size: 24px;
	}

	.nav-open {
		display: flex;
		flex-flow: column nowrap;
		justify-content: flex-end;
	}

	.nav-open:after {
		-webkit-transform: scale(0.8, 0.8);
		transform: scale(0.8, 0.8);
		font-size: 10px;
		text-align: center;
		content: "MENU";
	}

	#nav-content .logo {
		display: block;
		margin: 1rem;
		/*     overflow: hidden; */
		font-weight: bold;
		text-align: center;
		font-size: min(7vw, 25px);
		font-family: var(--mincho);
		color: var(--main_color);
	}

	#nav-drawer {
		position: relative;
	}

	/*チェックボックス等は非表示に*/
	.nav-unshown {
		display: none;
	}

	#nav-open {
		z-index: 10000;
		position: absolute;
		top: 10px;
		right: 10px;
		width: 35px;
		height: 40px;
		margin: auto;
		vertical-align: middle;
	}

	#nav-open:hover {
		cursor: pointer;
	}

	#nav-open span {
		position: absolute;
		right: 0;
		left: 0;
		width: 80%;
		height: 3px;
		margin: auto;
		background: var(--main_color);
		transition: all 0.5s;
	}

	#nav-open span:nth-of-type(1) {
		top: 2px;
	}

	#nav-open span:nth-of-type(2) {
		top: 11px;
	}

	#nav-open span:nth-of-type(3) {
		top: 20px;
	}

	/*閉じる用の薄黒カバー*/
	.btn-close {
		margin: 40px;
		padding: 1em;
		text-align: center;
		cursor: pointer;
		border: #666666 1px solid;
	}

	.btn-close:before {
		content: "×";
	}

	#nav-input:checked~#nav-open span:nth-of-type(1) {
		-webkit-transform: translateY(9px) rotate(-45deg);
		transform: translateY(9px) rotate(-45deg);
		transition: all 0.5s;
	}

	#nav-input:checked~#nav-open span:nth-of-type(2) {
		opacity: 0;
	}

	#nav-input:checked~#nav-open span:nth-of-type(3) {
		-webkit-transform: translateY(-9px) rotate(45deg);
		transform: translateY(-9px) rotate(45deg);
		transition: all 0.5s;
	}

	/*********************************
 * フッター
 * ********************************/
	.footer {
		position: relative;
		margin-top: auto;

		& .contents {
			container: gap / inline-size;
		}

		& .footer-full {

			.footer:has(&) {
				background: #efefef;
			}

			.footer-top:has(&) {
				padding: 4rem 0;

				&+.copyright {
					background: var(--main_color);
					color: #fff;
				}
			}

			& .inner-footer-top {
				display: flex;
				flex-flow: row wrap;
				align-items: flex-start;
				justify-content: space-between;
			}

			& .box-info-footer {
				/* inline-size: 300px; */
				margin: 0 auto min(3rem, 12vw);
				text-align: center;

				& .logo {
					display: block;
					margin-bottom: 1rem;
					font-size:min(8vw, 32px);
					font-weight: 700;
					font-family: var(--mincho);
					color: var(--main_color);

					& img {
						inline-size: min(60vw, 100%);
						block-size: auto;
					}
				}
			}

			& .box-footer-top {
				display: flex;
				align-items: center;
				justify-content: space-between;
				padding: 35px 115px;
			}

			& .simple-footer-nav {
				justify-content: center;
				margin-bottom: -2rem;
			}

			@media(width <=900px) {

				.footer-top:has(&) {
					padding-block-end: 0;
				}

				& .simple-footer-nav {
					margin-bottom: unset;
				}

				& .wrap-simple-footer-nav {
					min-inline-size: 100vw;
					position: relative;
					inset: 0 0 0 50%;
					translate: -50vw 0;
				}
			}

		}

		& .footer-boxed {
			padding-block-end: 2rem;
			border-block-end: 2px solid currentColor;

			.footer:has(&) {
				background: #333;
				color: #fff;
				padding-block-start: 4rem;

				& .contents {
					inline-size: min(100%, 1280px);
				}
			}

			& .footer_contact-boxed {
				display: flex;
				background: #fff;

				.footer_contact_one-boxed {
					flex: 1;
					padding: clamp(1rem, 2vw, 2rem) min(5vw, 5rem);
					letter-spacing: 0;
					text-indent: unset;

					&:nth-child(2) {
						order: 3;
					}

					&[data-link="tel"] {
						font-size: clamp(1.5rem, 3vw, 36px);
						font-weight: 700;
						display: grid;
						grid-template:
							"a b" auto
							"a c" auto / min(8vw, 2.5rem) auto;
						gap: 0.5rem 1rem;
						align-items: center;
						justify-content: center;

						&:before {
							content: "";
							mask: url('data:image/svg+xml;charset=UTF-8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 652.1"><path fill="%2355afbb" d="M44.7,27.63C-0.1,56.69-8.91,147.53,8.01,221.56c13.17,57.65,41.18,134.99,88.42,207.81 c44.43,68.51,106.42,129.94,153.69,165.48c60.7,45.64,147.22,74.65,192.03,45.59c22.66-14.69,56.32-54.84,57.85-62.04 c0,0-19.74-30.43-24.07-37.11l-66.19-102.06c-4.92-7.58-35.77-0.65-51.44,8.22c-21.14,11.98-40.61,44.11-40.61,44.11 c-14.49,8.37-26.63,0.03-52-11.64c-31.17-14.34-66.23-58.91-94.12-99.28c-25.48-41.93-51.88-92.11-52.26-126.43 c-0.31-27.92-2.98-42.41,10.58-52.23c0,0,37.28-4.67,56.84-19.08c14.5-10.69,33.4-36.03,28.49-43.61L149.02,37.23 c-4.33-6.68-24.07-37.11-24.07-37.11C117.74-1.42,67.36,12.94,44.7,27.63z"/></svg>') center/contain no-repeat;
							background: var(--main_color);
							aspect-ratio: 23/30;
							grid-area: a;
							align-self: flex-end;
						}

						&[data-text]:after {
							content: attr(data-text);
							font-size: min(3vw, 13px);
							grid-area: c;
						}
					}

					&[data-link="mail"] {
						font-size: clamp(1.2rem, 2vw, 24px);
						font-weight: 700;
						display: flex;
						align-items: center;
						gap: min(2.5vw, 1rem);

						&:before {
							content: "";
							mask: url('data:image/svg+xml;charset=UTF-8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 37.59"><g><polygon fill="%2355afbb" points="50,22.62 43.55,15.92 50,10.36"/><polygon fill="%2355afbb" points="6.46,15.92 0,22.63 0,10.36"/><path fill="%2355afbb" d="M50,28.72v6.17c0,1.49-1.21,2.7-2.7,2.7H2.7c-1.49,0-2.7-1.21-2.7-2.7v-6.17l9.66-10.03L20.7,28.2 c1.15,0.98,2.67,1.53,4.3,1.53c1.63,0,3.16-0.55,4.3-1.53l11.03-9.51L50,28.72z"/><path fill="%2355afbb" d="M50,2.7v2.7L26.42,25.71c-0.76,0.66-2.09,0.66-2.84,0L0,5.4V2.7C0,1.2,1.21,0,2.7,0H47.3 C48.79,0,50,1.2,50,2.7z"/></g></svg>') center/contain no-repeat;
							background: var(--main_color);
							aspect-ratio: 4/3;
							min-inline-size: min(8vw, 3rem);
						}

						&:after {
							content: "";
							aspect-ratio: 1/1;
							border-radius: 50%;
							inline-size: 1.5rem;
							background: currentColor;
							mask: url('data:image/svg+xml;base64,PHN2ZyBpZD0iX+ODrOOCpOODpOODvF8xIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvCAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgZmlsbDogI2Q5ZDlkOTsKICAgICAgICBzdHJva2Utd2lkdGg6IDBweDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L2RlZnM+CiAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTguMDEsMTIuMTZsLTUuNzIsNS40NGMtLjU1LjUzLTEuNDMuNS0xLjk1LS4wNS0uNTMtLjU1LS41LTEuNDMuMDUtMS45NWwyLjMzLTIuMjJoLTUuNTJjLS43NiwwLTEuMzgtLjYyLTEuMzgtMS4zOHMuNjItMS4zOCwxLjM4LTEuMzhoNS41MmwtMi4zMy0yLjIyYy0uNTUtLjUyLS41Ny0xLjQtLjA1LTEuOTUuNTMtLjU1LDEuNC0uNTgsMS45NS0uMDVsNS43Miw1LjQ0cy4wNy4xLjA3LjE2LS4wMi4xMi0uMDcuMTZaTTEyLDBDNS4zNywwLDAsNS4zNywwLDEyczUuMzcsMTIsMTIsMTIsMTItNS4zNywxMi0xMlMxOC42MywwLDEyLDBaIi8+Cjwvc3ZnPg==') center / contain no-repeat;
							-webkit-mask: url('data:image/svg+xml;base64,PHN2ZyBpZD0iX+ODrOOCpOODpOODvF8xIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvCAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgZmlsbDogI2Q5ZDlkOTsKICAgICAgICBzdHJva2Utd2lkdGg6IDBweDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L2RlZnM+CiAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTguMDEsMTIuMTZsLTUuNzIsNS40NGMtLjU1LjUzLTEuNDMuNS0xLjk1LS4wNS0uNTMtLjU1LS41LTEuNDMuMDUtMS45NWwyLjMzLTIuMjJoLTUuNTJjLS43NiwwLTEuMzgtLjYyLTEuMzgtMS4zOHMuNjItMS4zOCwxLjM4LTEuMzhoNS41MmwtMi4zMy0yLjIyYy0uNTUtLjUyLS41Ny0xLjQtLjA1LTEuOTUuNTMtLjU1LDEuNC0uNTgsMS45NS0uMDVsNS43Miw1LjQ0cy4wNy4xLjA3LjE2LS4wMi4xMi0uMDcuMTZaTTEyLDBDNS4zNywwLDAsNS4zNywwLDEyczUuMzcsMTIsMTIsMTIsMTItNS4zNywxMi0xMlMxOC42MywwLDEyLDBaIi8+Cjwvc3ZnPg==') center / contain no-repeat;
							margin-inline-start: auto;
						}
					}

				}

				&:after {
					content: "";
					flex: 0 2px;
					background: var(--main_color);
					order: 2;
					scale: 70%;
				}
			}

			& .flex-0_1 {

				&>*:nth-child(1) {
					flex: 0 auto;

					& img {
						min-inline-size: min(10vw, 8rem);
					}
				}
			}

			& .footer_info-boxed :is(dt, dd) {
				line-height: 1.75;
				font-weight: 700;
				font-size: min(3.5vw, 14px);
				letter-spacing: 0;
				text-indent: unset;
			}

			& .simple-footer-nav {
				justify-content: flex-end;

				& a {
					color: #fff;
				}
			}

			@media(width <=900px) {
				& {
					padding: unset;
					border: unset;

					.footer-top:has(&) {

						&+.copyright {
							border-block-start: 2px solid currentColor;
						}
					}


					& .footer_contact-boxed {
						background: unset;
						flex-flow: column;
						gap: 1.5rem;

						& .footer_contact_one-boxed {
							background: #fff;

							&[data-link="mail"] {
								justify-content: center;

								&:after {
									margin-inline-start: unset;
								}
							}

						}

						&:after {
							content: unset;
						}
					}

					& .flex-0_1 {
						flex-flow: wrap;
						justify-content: center;
						text-align: center;

						&>*:nth-child(1) {
							flex: 1 100%;

							& img {
								inline-size: min(70vw, 300px);
							}
						}

						.wrap-simple-footer-nav {
							min-inline-size: 100vw;
							position: relative;
							inset: auto auto auto 50vw;
							translate: -50vw 0;
						}
					}
				}

			}
		}

		/* シンプルフッター */
		& .simple-footer-nav {
			display: flex;
			gap: 2rem;

			& li {
				line-height: 1;
				font-size: 13px;
				font-weight: 700;

				& ul {
					display: none;
				}
			}
		}

		& .copyright {
			padding: 0.5rem 0;
			font-size: min(3.5vw, 13px);
			font-weight: 700;
			text-align: center;
		}

		@media(width <=900px) {
			& .footer-top {

				& .tb-contents {
					inline-size: 100%;
					padding-right: 0;
					padding-left: 0;
				}
			}

			& .simple-footer-nav {
				flex-wrap: wrap;
				margin-bottom: unset;
				gap: unset;

				& li {
					flex: 1 100%;
					text-align: center;
					border-top: 1px solid #999999;

					& a {
						border-right: none;
						inline-size: 100%;
						padding: 15px 0;
						display: block;
					}
				}
			}
		}
	}

	/******************************************
*投稿モジュール
* *****************************************/
	.box-post-text a {
		display: flex;
		align-items: center;
		padding: min(4vw, 17px) min(8.5vw, 40px) min(4vw, 17px) 0;
		position: relative;
		gap: min(2vw, 22px);
		/* flex-wrap: wrap; */
	}

	.box-post-text a:after {
		content: "";
		background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 50 50"><path fill="%23d9d9d9" d="M25,0C11.19,0,0,11.19,0,25s11.19,25,25,25c13.81,0,25-11.19,25-25S38.81,0,25,0z M37.53,25.33L25.62,36.67 c-1.15,1.1-2.97,1.05-4.07-0.1c-1.1-1.15-1.05-2.97,0.1-4.07l4.86-4.62H15c-1.59,0-2.88-1.29-2.88-2.88s1.29-2.88,2.88-2.88h11.5 l-4.86-4.62c-1.15-1.09-1.2-2.92-0.1-4.07c1.1-1.15,2.92-1.2,4.07-0.1l11.91,11.33c0.09,0.09,0.14,0.21,0.14,0.33 C37.67,25.13,37.62,25.24,37.53,25.33z"/></svg>') no-repeat center center/contain;
		display: block;
		position: absolute;
		transform: translatey(-50%);
		top: 50%;
		right: 0;
		width: min(5vw, 28px);
		height: auto;
		aspect-ratio: 1;
	}

	.box-post-text time {
		margin-right: 0;
		font-size: min(3.2vw, 14px);
	}

	.box-post-text h3 {
		margin: 0;
		padding: 0;
		position: relative;
		line-height: 1.45;
		color: #333;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 1;
		overflow: hidden;
	}

	.wrap-post-img-text {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(min(100%, 350px), 1fr));
		gap: min(14vw, 60px);
	}

	.box-post-img-text a {
		display: block;
	}

	.img-text-info {
		display: flex;
		flex-direction: column;
		margin-top: min(5.5vw, 27px);
	}

	.img-text-title {
		/*     color: var(--main_color); */
		font-size: min(4.5vw, 20px);
		line-height: 1.25;
	}

	.img-text {
		font-size: min(3.5vw, 16px);
		margin-top: min(5vw, 10px);
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
		overflow: hidden;
	}

	.time-post {
		display: block;
		font-size: 14px;
		margin-right: 5px;
		;
	}

	.wrap-1column .box-post-img-text .btn-flex {
		display: flex;
		flex-flow: column;
		justify-content: space-between;
		height: 100%;
	}

	.wrap-1column .box-post-img-text h3[subtxt] {
		display: flex;
		flex-flow: column;
		align-items: baseline;
	}

	.wrap-1column .box-post-img-text h3[subtxt]:after {
		content: attr(subtxt);
		font-size: 14px;
		font-weight: normal;
		line-height: 1;
		color: var(--main_color);
	}

	.wrap-2column .wrap-post-archive {
		margin-top: max(-20px, -8vw);
	}

	.wrap-post-archive h3 {
		text-align: left;
	}

	.box-post-archive:not(:last-of-type) {
		border-bottom: 1px solid #ccc;
	}

	.box-post-archive a {
		display: flex;
		align-items: flex-start;
		width: 100%;
		padding: 20px 0;
		position: relative;
	}

	.wrap-1column .box-post-archive a {
		padding: min(40px, 8vw) 0;
	}

	.wrap-1column .box-post-archive:first-of-type a {
		padding-top: 0;
	}

	.box-post-archive a:after {
		content: "";
		content: "続きを読む";
		padding-right: 20px;
		display: inline-flex;
		align-items: center;
		justify-content: flex-end;
		height: 14px;
		background: url(images/triangle.svg);
		background-size: contain;
		background-repeat: no-repeat;
		background-position: right;
		margin-top: 15px;
		position: absolute;
		bottom: 20px;
		right: 0;
	}

	.wrap-1column .box-post-archive a:after {
		bottom: min(40px, 8vw);
	}

	.box-post-archive a>div:nth-child(1) {
		width: 250px;
		margin-right: 20px;
	}

	.box-post-archive a>div:nth-child(2) {
		position: relative;
		width: calc(100% - 270px);
		display: flex;
		flex-flow: column;
		align-items: flex-end;
		height: 100%;
	}

	.box-post-archive a>div:nth-child(2)>div {
		display: flex;
		flex-flow: row wrap;
		justify-content: space-between;
		width: 100%;
	}

	.box-post-archive img {
		width: 100%;
		height: auto;
		aspect-ratio: 3/2;
	}

	.box-post-archive time {
		display: block;
		font-size: 14px;
		line-height: 20px;
	}

	.box-post-archive time:before {
		content: "";
		display: inline-block;
		width: 14px;
		height: 14px;
		background: url(images/date.svg);
		background-size: cover;
		margin-right: 5px;
		position: relative;
		top: 2px;
	}

	.main-column .box-post-archive h3,
	.wrap-1column .box-post-archive h3 {
		width: 100%;
		line-height: 1.5;
		font-size: 20px;
		margin: 0;
		padding: 0;
		border: none;
		font-weight: bold;
		margin-top: 15px;
		margin-bottom: 15px;
	}

	.box-post-archive p {
		width: 100%;
		line-height: 1.5;
		font-size: 14px;
		margin-top: 5px;
		position: relative;
		text-align: justify;
	}

	.box-post-archive-side a {
		display: flex;
		align-items: flex-start;
		width: 100%;
	}

	.box-post-archive-side a>div:nth-child(1) {
		width: 75px;
		margin-right: 10px;
	}

	.box-post-archive-side a>div:nth-child(2) {
		display: flex;
		flex-flow: row wrap;
		justify-content: space-between;
		width: calc(100% - 96px);
	}

	.box-post-archive-side img {
		width: 100%;
		height: 75px !important;
		height: auto;
	}

	.box-post-archive-side time {
		display: block;
		font-size: 10px;
		line-height: 10px;
		margin-bottom: 4px;
	}

	.box-post-archive-side h3 {
		width: 100%;
		line-height: 1.35;
	}

	.box-post-archive-side .category-post {
		display: none;
		width: 70px;
		padding: 0 5px;
		height: 14px;
		border-radius: 3px;
		font-size: 10px;
		line-height: 16px;
		text-align: center;
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
	}

	.wrap-post-archive-side {
		margin-top: 12px;
	}

	.wrap-post-archive-side .box-post-archive-side:not(:last-child) {
		margin-bottom: 15px;
	}

	.category-post {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-inline-size: 80px;
        border-radius: 3px;
        font-size: 12px;
        padding: .25rem;
        text-align: center;
        line-height: 1
	}

	.box-post-text .category-post {
		/* width: auto; */
		padding: min(1vw, 0.45rem) min(3vw, 0.8rem) min(1.2vw, 0.4rem);
		height: auto;
		white-space: nowrap;
		margin: 0;
		line-height: 1.25;
		font-size: min(3vw, 13px);
	}

	/*施工事例モジュール*/
	.work-tcadr {
		position: relative;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: min(3vw, 13px);
		padding-right: min(7vw, 30px);
		font-size: min(3.5vw, 15px);
		margin-top: min(6vw, 25px);
	}

	.work-tcadr:after {
		content: "";
		background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 50 50"><path fill="%23d9d9d9" d="M25,0C11.19,0,0,11.19,0,25s11.19,25,25,25c13.81,0,25-11.19,25-25S38.81,0,25,0z M37.53,25.33L25.62,36.67 c-1.15,1.1-2.97,1.05-4.07-0.1c-1.1-1.15-1.05-2.97,0.1-4.07l4.86-4.62H15c-1.59,0-2.88-1.29-2.88-2.88s1.29-2.88,2.88-2.88h11.5 l-4.86-4.62c-1.15-1.09-1.2-2.92-0.1-4.07c1.1-1.15,2.92-1.2,4.07-0.1l11.91,11.33c0.09,0.09,0.14,0.21,0.14,0.33 C37.67,25.13,37.62,25.24,37.53,25.33z"/></svg>') no-repeat center center/contain;
		display: block;
		position: absolute;
		transform: translatey(-50%);
		top: 45%;
		right: 0;
		width: min(4.5vw, 20px);
		height: auto;
		aspect-ratio: 1;
	}

	.work-tcadr .time-post {
		margin-right: 0;
		font-size: inherit;
	}

	.work-tcadr .category-post {
		font-size: inherit;
		width: auto;
		height: auto;
		line-height: 1;
		background: none;
		color: #333;
	}

	.wrap-post-img-text+.flexCenter .btn-archive {
		margin-top: min(14vw, 70px);
	}

	/*フッターお問い合わせ*/
	.contact-box {
		border-top: 1px solid #d9d9d9;
	}

	.contact-box {
		padding: min(15vw, 120px) 0 min(20vw, 140px);
	}

	.contact-box-con {
		display: flex;
		/* 	align-items:center;
    margin: 0 max(-2vw,-2rem);
    flex-flow: wrap; */
		position: relative;
		text-align: center;
		font-weight: bold;
		margin-top: min(7vw, 50px);

		@media(width > 900px) {
			/* 		display:grid;
		grid-template-columns:repeat(auto-fill,minmax(min(100%,450px),1fr)); */
			gap: min(7vw, 40px);

			&>* {
				width: calc(100% - min(7vw, 40px));
			}

			&::before {
				content: "";
				background: #d9d9d9;
				width: 1px;
				height: 100%;
				position: absolute;
				top: 0;
				left: 50%;
				translate: -50% 0%;
			}
		}

		@media(width < 901px) {
			flex-direction: column;
		}
	}

	.conft-title {
		/*     color: var(--main_color); */
		line-height: 1.45;
		font-size: min(5.5vw, 25px);
		text-align: center;
		margin-bottom: min(6vw, 35px);
		/*     font-family: "Shippori Mincho", "游明朝", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif; */
	}

	.conft-link {
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: min(4vw, 25px);
		font-size: min(4.5vw, 25px);

		&::before {
			content: "";
			display: block;
			margin: 0 auto;
			height: auto;
		}
	}

	.cb-tel {
		&::before {
			background: var(--main_color);
			mask: url(images/f-tel.svg) center/contain no-repeat;
			-webkit-mask: url(images/f-tel.svg) center/contain no-repeat;
			width: min(15vw, 60px);
			aspect-ratio: 1;
		}
	}

	.cb-tel-text {
		font-size: min(4.5vw, 25px);
	}

	.contact-box-form {
		@media(width < 901px) {
			margin-top: min(7vw, 40px);
			padding-top: min(7vw, 40px);
			border-top: 1px solid #ccc;
		}
	}

	.form-link {
		position: relative;
		display: flex;
		align-items: center;
		font-weight: bold;
		font-size: min(4.5vw, 20px);

		&::before {
			background: var(--main_color);
			mask: url(images/f-mail.svg) center/contain no-repeat;
			-webkit-mask: url(images/f-mail.svg) center/contain no-repeat;
			width: min(12vw, 55px);
			aspect-ratio: 191/150;
		}

		& span {
			position: relative;

			&::before {
				content: "";
				mask: url(images/arrow.svg) center / contain no-repeat;
				-webkit-mask: url(images/arrow.svg) center / contain no-repeat;
				background: var(--main_color);
				display: inline-block;
				width: min(4.5vw, 20px);
				height: auto;
				aspect-ratio: 1;
				margin-right: 0.6rem;
				position: relative;
				translate: 0px 13%;
			}
		}
	}

	/*サイドバー*/
	.company_tel a,
	.company_fax a {
		pointer-events: none !important;
	}

	.sidebar img {
		max-width: 100%;
		height: auto;
	}

	.widget_nav_menu:not(:last-child),
	.box-side:not(:last-child) {
		margin-bottom: 30px;
	}

	.widget_nav_menu h3,
	.head-side {
		position: relative;
		padding: 9px 0;
		font-size: 16px;
		font-weight: bold;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		background: var(--sub_color);
		margin-bottom: 15px;
		line-height: 1;
	}

	.widget_nav_menu h3:before,
	.head-side:before,
	.widget_nav_menu h3:after,
	.head-side:after {
		display: block;
		content: none;
		height: 16px;
		background-color: #eeeeee;
		-webkit-box-flex: 1;
		-ms-flex: 1 0 0%;
		flex: 1 0 0%;
		min-width: 20px;
	}

	.widget_nav_menu h3:before,
	.head-side:before {
		margin-right: 0.5em;
	}

	.widget_nav_menu h3:after,
	.head-side:after {
		margin-left: 0.5em;
	}

	.widget_nav_menu .menu>li {
		position: relative;
	}

	.widget_nav_menu .menu>li,
	.list-side>li:not(:last-of-type) {
		border-bottom: 1px solid #eee;
	}

	.widget_nav_menu .menu>li a,
	.list-side>li a {
		display: block;
		position: relative;
		padding: 0.75em 0;
		background: #fff;
		line-height: 1.25;
	}

	.widget_nav_menu .menu>li a:after {
		-webkit-transform: rotate(45deg);
		display: inline-block;
		position: absolute;
		top: 0;
		right: 1em;
		bottom: 0;
		width: 10px;
		height: 10px;
		margin: auto;
		transform: rotate(45deg);
		border-top: 2px solid #999;
		border-right: 2px solid #999;
		content: "";
	}

	.widget_nav_menu ul>li>ul.sub-menu {
		visibility: hidden;
		position: absolute;
		top: 0;
		left: 100%;
		width: 100%;
		opacity: 0;
		transition: 0.5s;
	}

	.widget_nav_menu ul>li:hover>ul.sub-menu {
		visibility: visible;
		z-index: 10;
		opacity: 1;
	}

	.widget_nav_menu ul>li>ul.sub-menu>li:nth-child(1):before {
		content: "";
		height: 15px;
		width: 15px;
		display: block;
		background: var(--main_color);
		transform: rotate(-45deg);
		position: absolute;
		top: 0;
		bottom: 0;
		left: -8px;
		margin: auto 0;
		z-index: -1;
	}

	.widget_nav_menu ul>li>ul.sub-menu>li>ul>li:nth-child(1):before {
		background: #104f82;
	}

	.widget_nav_menu ul>li>ul.sub-menu>li:not(:last-child) {
		border-bottom: 1px solid #c9caca;
	}

	.widget_nav_menu ul>li>ul.sub-menu>li {
		position: relative;
	}

	.widget_nav_menu ul>li>ul.sub-menu>li a {
		background: var(--main_color);
		padding: 0.75em 1em;
		color: #ffffff;
		z-index: 1;
	}

	.widget_nav_menu ul>li>ul.sub-menu>li a:hover {
		opacity: 1;
		background: #3b80b7;
	}

	.widget_nav_menu ul>li>ul.sub-menu>li>ul>li>a {
		background: #104f82;
	}

	.wp-caption-text {
		font-size: 15px;
		line-height: 1.75;
		margin-top: 0.5em;
		width: 300px;
		text-align: justify;
		letter-spacing: 0.05em;
	}

	.list-side2 {
		margin-bottom: 1em;
	}

	.list-side2 li:not(:first-child) {
		margin-top: 15px;
	}

	.list-side2 a {
		display: flex;
	}

	.list-side2 a div:nth-child(1) {
		width: 90px;
		margin-right: 10px;
	}

	.list-side2 a div:nth-child(2) {
		width: 200px;
	}

	.box-side2 .list-side2 img {
		width: 100%;
		height: 90px !important;
	}

	.list-side2 time {
		display: block;
		margin-bottom: 0.5em;
		font-size: 12px;
	}

	.list-side2 span {
		font-size: 14px;
		line-height: 1.5;
	}

	.box-search {
		display: flex;
		padding-top: 12px;
	}

	.box-search input[type="text"] {
		width: 85%;
		padding: 7px 14px 6px;
		border-radius: 4px 0 0 4px;
	}

	.box-search button[type="submit"] {
		width: 15%;
	}

	.box-search .fa-search {
		display: block;
		background: #666666;
		height: 39px;
		border-radius: 0 4px 4px 0;
		position: relative;
	}

	.box-search .fa-search:before {
		content: "";
		background: url(images/search.svg);
		background-size: cover;
		display: block;
		height: 20px;
		width: 20px;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		left: 0;
		margin: auto;
	}

	.side-compnay {
		line-height: 1.5;
	}

	.side-compnay picture {
		margin-top: 12px;
	}

	.side-compnay img {
		margin-bottom: 1em;
	}

	.side-address-compnay {
		margin-bottom: 1em;
	}

	.side-address-compnay p:before {
		content: "";
		display: inline-block;
		width: 14px;
		height: 14px;
		margin-right: 5px;
		background-size: cover;
		position: relative;
		top: 2px;
	}

	.company_name:before {
		background: url(images/company.svg);
	}

	.company_zipcode:before {
		background: url(images/zip.svg);
	}

	.company_pref:before {
		background: url(images/pref.svg);
	}

	.company_tel:before {
		background: url(images/tel2.svg);
	}

	.company_fax:before {
		background: url(images/fax.svg);
	}

	.side-list-compnay {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(min(48%, 100px), 1fr));
		gap: min(4vw, 15px);
	}

	.side-list-compnay a {
		display: block;
		padding: 0.5em 1em;
		border: 1px solid #aaaaaa;
		font-size: 12px;
		text-align: center;
	}

	/*パンくずリスト*/
	.breadcrumb {
		display: flex;
		flex-flow: row wrap;
		align-items: center;
		margin-bottom: 2em;
		padding: 1em 0 0.5em;
	}

	.breadcrumb li:not(:first-child):before {
		margin: 0 0.5em 0 1em;
		font-size: 12px;
		content: "/";
	}

	.breadcrumb a,
	.breadcrumb span {
		font-size: 12px;
	}

	.breadcrumb a:hover {
		text-decoration: underline;
		opacity: 1;
	}

	/*間隔*/

	:is(.interval5em:not(.wp-block-group) > *:not(:first-child), .wp-block-group.interval5em > div > *:not(:first-child)) {
		margin-top: 0.5em;
	}

	:is(.interval10em:not(.wp-block-group) > *:not(:first-child), .wp-block-group.interval10em > div > *:not(:first-child)) {
		margin-top: 1em;
	}

	:is(.interval15em:not(.wp-block-group) > *:not(:first-child), .wp-block-group.interval15em > div > *:not(:first-child)) {
		margin-top: 1.5em;
	}

	:is(.interval20em:not(.wp-block-group) > *:not(:first-child), .wp-block-group.interval20em > div > *:not(:first-child)) {
		margin-top: 2em;
	}

	:is(.interval25em:not(.wp-block-group) > *:not(:first-child), .wp-block-group.interval25em > div > *:not(:first-child)) {
		margin-top: 2.5em;
	}

	:is(.interval30em:not(.wp-block-group) > *:not(:first-child), .wp-block-group.interval30em > div > *:not(:first-child)) {
		margin-top: 3em;
	}

	:is(.interval35em:not(.wp-block-group) > *:not(:first-child), .wp-block-group.interval35em > div > *:not(:first-child)) {
		margin-top: 3.5em;
	}

	:is(.interval40em:not(.wp-block-group) > *:not(:first-child), .wp-block-group.interval40em > div > *:not(:first-child)) {
		margin-top: 4em;
	}

	:is(.interval45em:not(.wp-block-group) > *:not(:first-child), .wp-block-group.interval45em > div > *:not(:first-child)) {
		margin-top: 4.5em;
	}

	:is(.interval50em:not(.wp-block-group) > *:not(:first-child), .wp-block-group.interval50em > div > *:not(:first-child)) {
		margin-top: 5em;
	}

	/*その他デザインcss*/
	.related {
		margin-top: min(13vw, 80px);
	}

	.wp-block-media-text {
		margin: 32px 0;
	}

	.wp-block-media-text {
		align-items: flex-start;
	}

	.wp-block-media-text>*:nth-child(1) {
		margin-right: 32px;
	}

	.wp-block-media-text.has-media-on-the-right>*:nth-child(1) {
		margin-right: 0px;
	}

	.wp-block-media-text.has-media-on-the-right>*:nth-child(2) {
		margin-right: 32px;
	}

	.wp-block-media-text .wp-block-media-text__content {
		padding: 0;
	}

	.wp-block-column .wp-block-image {
		margin-bottom: 0;
	}

	.wp-block-column {
		position: relative;
	}

	.wp-block-column>*:first-child {
		margin-top: 0;
	}

	.wp-block-buttons {
		width: 100%;
	}

	.wp-block-button__link {
		width: 100%;
		max-width: 360px;
		display: block;
	}

	.single-contents .wp-block-button__link {
		text-decoration: none;
	}

	.single-contents .wp-block-button__link strong {
		background: none;
		padding: 0;
	}

	/*ギャラリー*/
	.wp-block-gallery {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(min(25%, 230px), 1fr));
		gap: min(3vw, 20px);

		&.columns-4 {
			grid-template-columns: repeat(auto-fill, minmax(min(45%, 200px), 1fr));
			gap: min(4vw, 1.3rem);

			& .wp-block-image figcaption {
				margin: min(3vw, 1rem) 0 0;
				font-size: min(3.5vw, 16px);
				line-height: min(3vw, 1.25rem);
			}
		}

		&.aspect-gallery {
			gap: min(6vw, 2.3rem);

			& img {
				aspect-ratio: 1;
			}
		}
	}

	.wp-block-gallery.columns-2 {
		grid-template-columns: repeat(auto-fill, minmax(min(45%, 350px), 1fr));
		gap: min(4vw, 40px);
	}

	.wp-block-gallery.columns-3 {
		grid-template-columns: repeat(auto-fill, minmax(min(25%, 250px), 1fr));
		gap: min(3vw, 30px);
	}

	.wp-block-gallery.columns-5 {
		grid-template-columns: repeat(auto-fill, minmax(min(25%, 180px), 1fr));
	}

	.wp-block-gallery.columns-6 {
		grid-template-columns: repeat(auto-fill, minmax(min(25%, 150px), 1fr));
	}

	/*****************************
 * 装飾
 * ***************************/

.radius{
	border-radius: 4px;
}
	
	[class*="mat-"] {
		&[class*="-middle"] {
			padding: min(8vw, 3rem);
		}

		&[class*="-min"] {
			padding: min(6vw, 2rem);
		}

		&[class*="-white"] {
			background: #fff;
		}

		&[class*="-gray"] {
			background: #efefef;
		}

		&[class*="-sub"] {
			/*         background: var(--sub_color); */
			background: #efefef;
		}
	}

	/*****************************
 * 見出し（タイトル）デザイン
 * ***************************/
	/*メモ帳みたいなデザイン*/
	.notepad-title-box {
		position: relative;
		padding: min(6vw, 2.5rem);
		display: flex;
		flex-direction: column;
		align-items: center;
		background: var(--sub_color);
		width: min(100%, 480px);
		margin: 0 auto min(11.5vw, 65px);
	}

	.notepad-title-box:before {
		content: "";
		background: #b8b8b8;
		display: block;
		width: min(17vw, 93px);
		height: 2px;
		transform: rotate(140deg);
		position: absolute;
		top: min(4vw, 1.3rem);
		left: max(-4vw, -1.4rem);
	}

	.notepad-title-box:after {
		content: "";
		background: #b8b8b8;
		display: block;
		width: min(17vw, 93px);
		height: 2px;
		transform: rotate(140deg);
		position: absolute;
		bottom: min(4vw, 1.3rem);
		right: max(-4vw, -1.4rem);
	}

	.notepad-title {
		font-size: min(9.5vw, 50px);
		text-align: center;
		display: flex;
		flex-direction: column;
		align-items: center;
		font-weight: bold;
		line-height: 1.25;
	}

	.notepad-sub {
		color: var(--main_color);
		font-size: min(3.7vw, 18px)
	}

	/*左線と英語*/
	.left-line-en {
		position: relative;
		font-size: min(5.5vw, 30px);
		border-left: 5px solid var(--main_color);
		margin-bottom: min(13.5vw, 75px);
		padding: min(3.3vw, 1rem) 0 min(3.3vw, 1rem) min(4vw, 1.3rem);
		line-height: 1.25;
	}

	.left-line-en:after {
		content: attr(txt);
		display: block;
		font-size: min(3.5vw, 17px);
		color: #b8b8b8;
		position: absolute;
		bottom: max(-5.5vw, -1.7rem);
		left: min(4.5vw, 1.5rem);
	}

	/*下三角がついているべた塗タイトル*/
	.back-color-arrow {
		position: relative;
		background: var(--main_color);
		color: #fff;
		font-size: min(5.5vw, 30px);
		padding: min(3.3vw, 1rem) min(4vw, 1.3rem);
		line-height: 1.25;
		margin-bottom: min(11.5vw, 65px);
	}

	.back-color-arrow:after {
		content: "";
		background: var(--main_color);
		clip-path: polygon(0% 0%, 0% 0%, 100% 0%, 50% 75%);
		width: min(7vw, 30px);
		height: auto;
		aspect-ratio: 1;
		position: absolute;
		bottom: max(-5vw, -1.5rem);
		left: min(5.5vw, 2.5rem);
	}

	/*べた塗の左外に線のあるタイトル*/
	.left-line-out {
		border-left: 10px solid var(--main_color);
		background: #ececec;
		font-size: min(5vw, 22px);
		padding: min(3.3vw, 1rem) min(4vw, 1.3rem);
		line-height: 1.25;
		margin-bottom: min(8vw, 40px);
	}

	.left-line-out+p {
		margin-top: max(-2.5vw, -1rem);
	}

	/*べた塗の内側の左に線があるタイトル*/
	.left-line-in {
		background: #ececec;
		font-size: min(5vw, 22px);
		position: relative;
		padding: min(3.3vw, 1rem) min(4vw, 1.3rem) min(3.3vw, 1rem) min(8vw, 2.1rem);
		line-height: 1.25;
		margin-bottom: min(8vw, 40px);
	}

	.left-line-in:before {
		content: "";
		background: var(--main_color);
		width: 6px;
		height: 60%;
		display: block;
		left: 15px;
		top: 50%;
		position: absolute;
		transform: translateX(-50%) translateY(-50%);
	}

	/*左に線のタイトル*/
	.left-line {
		font-size: min(5vw, 22px);
		line-height: 1.25;
		border-left: 2px solid var(--main_color);
		padding: min(2vw, 0.6rem) 0 min(3vw, 0.8rem) min(3.5vw, 1rem);
		margin-bottom: min(5vw, 30px);

		&+p {
			margin-top: -0.5rem;
		}
	}

	/*下線のタイトル*/
	.line-bottom {
		line-height: 1.25;
		font-size: min(4.5vw, 22px);
		padding-bottom: min(2vw, 0.7rem);
		border-bottom: 3px solid var(--main_color);
		margin-bottom: min(4.5vw, 35px);
	}

	/*背景に塗りつぶし・上線・下線あり*/
	.backcolor-line-title {
		background: var(--sub_color);
		border-top: 3px solid var(--main_color);
		border-bottom: 3px solid var(--main_color);
		font-size: min(5.5vw, 30px);
		padding: min(3vw, 0.7rem) min(4vw, 1.3rem);
		line-height: 1.25;
		margin-bottom: min(8vw, 40px);
	}

	/*背景に塗りつぶし*/
	.backcolor {
		background: var(--sub_color);
		font-size: min(5.5vw, 30px);
		padding: min(3vw, 0.7rem) min(4vw, 1.3rem);
		line-height: 1.25;
		margin-bottom: min(8vw, 40px);
	}

	/*下線テキスト中央*/
	.title-center-border_bottom {
		border-bottom: 1px solid var(--main_color);
		padding-bottom: min(2.5vw, 0.7rem);
		font-size: min(4.5vw, 22px);
		font-weight: 700;
		/*     margin-top: min(5vw, 1.2rem); */
		margin-top: min(4.2vw, 1.2rem);
		margin-bottom: min(3.5vw, 1rem);
		line-height: 1.5;
		text-align: center;

		+p {
			font-size: min(3.5vw, 15px);
			line-height: min(6vw, 1.9rem);
		}
	}

	/*太字・少し大きく*/
	.sub-title-color {
		/*     color: var(--main_color); */
		line-height: 1.5;
		font-size: min(4.5vw, 20px);
		font-weight: bold;
		margin-bottom: min(1.5vw, 0.5rem);

		&:has(+ p) {
			margin-bottom: min(2.5vw, 1rem);
			font-size: min(5vw, 20px);
		}
	}

	/*真ん中・太字・少し大きく*/
	[class*="title-min"] {
		font-size: min(4.5vw, 18px);
		font-weight: 700;
		margin-block-end: 0.5rem;
		line-height: 1.25;
		text-align: center;

		&[class*="-left"] {
			text-align: left;
		}
	}

	/*真ん中・太字・もう少し大きく*/
	[class*="title-middle"] {
		font-size: min(5.5vw, 24px);
		margin-bottom: min(4vw, 2rem);
		font-weight: 700;
		line-height: 1.35;
		text-align: center;

		&[class*="-left"] {
			text-align: left;
			margin-bottom: min(5.3vw, 2.3rem);
			line-height: 1.55;
		}
	}

	/*最初大文字の下線付き*/
	.obig-text-title {
		position: relative;
		font-size: min(4.5vw, 22px);
		border-bottom: 1px solid var(--main_color);
		margin-bottom: min(3vw, 16px);
		padding-bottom: min(2vw, 12px);
		line-height: 1.25;

		&:first-letter {
			font-size: min(6.5vw, 30px);
			color: var(--main_color);
		}

		+p {
			font-size: min(3.5vw, 14px);
			line-height: min(6vw, 1.75rem);
		}
	}

	/*中央テキスト・下線ありの真ん中色付き*/
	.center-color-title {
		position: relative;
		font-size: min(5vw, 22px);
		text-align: center;
		border-bottom: 3px solid #ddd;
		margin-bottom: min(4vw, 16px);
		padding-bottom: min(3vw, 12px);
		line-height: 1.25;

		&::after {
			content: "";
			position: absolute;
			bottom: -3px;
			left: 50%;
			transform: translateX(-50%);
			width: 70px;
			height: 3px;
			background-color: var(--main_color);
		}
	}

	/********************************
 * リストデザイン（通常：ドット、丸に数字）
 * ******************************/
	.list_grid-3>div {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(min(100%, 150px), 1fr));
		gap: min(7vw, 60px);
		width: min(100%, 600px);
		margin: 0 auto;
	}

	.main-column ol {
		counter-reset: ol-count;
	}

	.main-column p+ul:not([class]),
	.main-column p+ol:not([class]) {
		margin-top: min(4vw, 1rem);
	}

	.main-column ul:not([class]) li {
		position: relative;
		padding-left: min(4vw, 1.05rem);
		line-height: 1.55;
	}

	.main-column ol:not([class]) li {
		position: relative;
		padding-left: min(7vw, 1.5rem);
		line-height: 1.55;
	}

	.main-column ul:not([class])>li:not(:last-of-type),
	.main-column ol:not([class])>li:not(:last-of-type) {
		margin-bottom: 0.4rem;
	}

	.main-column ul:not([class]) li:before {
		content: "";
		display: block;
		position: absolute;
		top: 7px;
		left: 2px;
		width: min(1.9vw, 8px);
		height: auto;
		aspect-ratio: 1;
		background: var(--main_color);
		border-radius: 15px;
	}

	.main-column ol:not([class]) li:before {
		counter-increment: ol-count;
		content: counter(ol-count);
		color: #fff;
		font-weight: bold;
		background: var(--main_color);
		line-height: 1;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: min(1.3vw, 0.35rem) min(1.3vw, 0.2rem) min(1.3vw, 0.2rem);
		width: min(4.8vw, 20px);
		height: min(4.8vw, 20px);
		border-radius: 50%;
		font-size: 80%;
		position: absolute;
		left: 0;
		top: 1px;
	}

	/*チェックリスト*/
	.check-list li {
		position: relative;
		padding-left: min(6vw, 1.3rem);
		line-height: 1.55;
	}

	.check-list li:not(:last-of-type) {
		margin-bottom: 0.4rem;
	}

	.check-list li:before {
		content: "";
		position: absolute;
		top: min(1.4vw, 6px);
		left: 1px;
		display: block;
		width: min(4vw, 12px);
		height: auto;
		aspect-ratio: 12/7;
		border-left: 2px solid var(--main_color);
		border-bottom: 2px solid var(--main_color);
		transform: rotate(-45deg);
	}

	/*リンクリスト*/
	.link-list {
		display: flex;
		gap: min(3vw, 20px);

		& li {
			flex: 1;
			
			& a {
				border: 1px solid var(--main_color);
				padding: min(3vw, 1rem) min(3vw, 1rem) min(3.5vw, 1rem);
				color: var(--main_color);
				display: flex;
				align-items: center;
				justify-content: center;
				flex-direction: column;
				position: relative;

				&::after {
					content: "";
					display: block;
					width: 9px;
					height: 9px;
					margin: 0.3em auto 0;
					border-top: 2px solid var(--main_color);
					border-right: 2px solid var(--main_color);
					transform: rotate(135deg);
					-webkit-transform: rotate(135deg);
				}

				&:hover {
					background: var(--main_color);
					color: #fff;

					&::after {
						border-top: 2px solid #fff;
						border-right: 2px solid #fff;
					}
				}
			}
		}
		@media(width <= 640px){
			flex-flow: wrap;

			& li {
				flex: 1 100%;
			}
		}
	}
	

	/*タイトルありリスト*/
	.with-title-list li {
		position: relative;
		padding-left: min(5vw, 1.2rem);
		line-height: 1.65;
		font-size: min(3.5vw, 15px);

		&::before {
			content: "";
			display: block;
			position: absolute;
			top: 6px;
			left: 2px;
			width: min(2vw, 8px);
			height: auto;
			aspect-ratio: 1;
			background: var(--main_color);
			border-radius: 15px;
		}

		& strong {
			font-size: min(4.5vw, 17px);
			display: inline-block;
			margin-bottom: min(2vw, 0.3rem);
			line-height: 1.25;
		}
	}

	.with-title-list>li:not(:last-of-type) {
		margin-bottom: min(4.5vw, 1.2rem);
	}

	/*数字と点のリスト*/
	.num-dot-list li {
		position: relative;
		padding-left: min(6.5vw, 1.8rem);
		line-height: 1.55;

		&::before {
			counter-increment: ol-count;
			color: var(--sub_green_color);
			font-weight: bold;
			content: counter(ol-count, decimal-leading-zero) ".";
			display: block;
			position: absolute;
			top: 0;
			left: 0;
		}
	}

	.num-dot-list>li:not(:last-of-type) {
		margin-bottom: 0.4rem;
	}

	/*数字と括弧のリスト*/
	p+.num-brackets-list {
		margin-top: min(4vw, 1rem);
	}

	.num-brackets-list li {
		position: relative;
		padding-left: min(6.5vw, 1.8rem);
		line-height: 1.55;

		&::before {
			counter-increment: ol-count;
			color: var(--sub_green_color);
			/* 		font-weight: bold; */
			content: "（" counter(ol-count)"）";
			display: block;
			position: absolute;
			top: 0;
			left: 0;
		}
	}

	.num-brackets-list>li:not(:last-of-type) {
		margin-bottom: 0.4rem;
	}

	/*数字と右括弧のみのリスト*/
	p+.num-Rbrackets-list {
		margin-top: min(4vw, 1rem);
	}

	.num-Rbrackets-list li {
		position: relative;
		padding-left: min(6vw, 1.5rem);
		line-height: 1.55;

		&::before {
			counter-increment: ol-count;
			color: var(--sub_green_color);
			content: counter(ol-count)"）";
			display: block;
			position: absolute;
			top: 0;
			left: 0;
		}
	}

	.num-Rbrackets-list>li:not(:last-of-type) {
		margin-bottom: 0.4rem;
	}

	/*******************************
 * テーブルデザイン
 * *****************************/
	/*項目ベタ塗りテーブル*/
	.back_color-table>table {
		border-top: 1px solid #B8B8B8;
		width: min(100%, 840px);
		margin: 0 auto;
	}

	.back_color-table td {
		border-bottom: 1px solid #B8B8B8;
		padding: 1.2rem 1rem;
	}

	.back_color-table tr>*:nth-child(1) {
		/* 	background:var(--sub_color); */
		background: #efefef;
		color: var(--main_color);
		font-weight: bold;
	}

	/*項目ライン入りテーブル*/
	.border_color-table>table {
		width: min(100%, 840px);
		margin: 0 auto;
	}

	.border_color-table td {
		border-bottom: 1px solid #B8B8B8;
		padding: 1rem;
	}

	.border_color-table tr>*:nth-child(1) {
		font-weight: bold;
		color: var(--main_color);
		border-bottom: 2px solid var(--main_color);
	}

	/*文字だけカラーなテーブル*/
	.item_color-table {
		border-top: 1px solid #B8B8B8;
	}

	.item_color-table tr {
		display: flex;
		flex-wrap: wrap;
	}

	.item_color-table tr td {
		display: block;
		width: 100%;
		line-height: 1.45;
	}

	.item_color-table tr>*:nth-child(1) {
		color: var(--main_color);
		font-weight: bold;
		padding: 1.5rem 0 0.3rem 0;
		font-size: min(3.5vw, 14px);
	}

	.item_color-table tr>*:nth-child(2) {
		border-bottom: 1px solid #B8B8B8;
		padding: 0 0 1.4rem 0;
	}

	.page-section figure {

		/* 		&:has(+ *){
			margin-bottom:min(4.5vw,1.5rem);
		} */
		&:has(+ p) {
			/* 			margin-bottom:min(4.5vw,1.5rem); */
			margin-bottom: min(6vw, 2.5rem);
		}
	}

	@media screen and (min-width: 1241px) {
		.single-wrap {
			border: 1px solid #ccc;
			padding: min(5vw, 52px);
		}

		.has-large-font-size {
			font-size: 42px;
		}

		.wp-block-cover__inner-container p {
			color: #ffffff;
			/* 		  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; */
		}
	}

	@media screen and (min-width: 901px) {
		.tb {
			display: none;
		}

		.sp {
			display: none;
		}

		.pc-textCenter {
			text-align: center;
			line-height: 2.6;
		}

		.wrap-2column {
			display: flex;
			flex-flow: row-reverse nowrap;
		}

		.wrap-2column .sidebar {
			flex: 0 min(30%, 300px);
		}

		/*ヘッダー*/
		#nav-content,
		.nav,
		.nav>.contents,
		.nav .header-tel {
			height: 100%;
		}

		.nav-drawer {
			display: flex;
			flex-wrap: wrap;
			/* 			align-items: center; */
			width: 100%;
			gap: min(3vw, 15px) min(5vw, 25px);
		}

		.inner-header {
			padding: 0;
			margin-right: auto;
		}

		/* 		.wrap-logo {
			margin-left: 1rem;
		} */
		.wrap-logo .logo {
			margin: 0.65rem 0;
		}

		.wrap-logo .logo img {
			max-height: 60px;
		}

		.nav {
			color: #666;
		}

		.nav>.contents {
			display: flex;
			align-items: center;
			margin: 0;
		}

		.drawer-nav {
			display: none;
		}

		#nav-open {
			display: none;
		}

		.btn-close {
			display: none;
		}

		.inner {
			padding: 0 50px;
		}

		.wrap-section-interval>*:not(:last-child) {
			margin-bottom: 90px;
		}

		.wrap-section-padding>* {
			padding: 60px 0;
		}

		.wrap-1column .box-post-img-text {
			width: calc((100% - 75px) / 3);
		}

		.wrap-main {
			display: flex;
			position: absolute;
			top: -25px;
			left: -450px;
			align-items: center;
			justify-content: flex-end;
			width: 898px;
			height: 305px;
			padding: 50px;
		}

		.inner-main {
			width: 250px;
		}

		.inner-main h1 {
			font-size: 26px;
		}

		.inner-main p {
			font-size: 14px;
		}

		.wrap-tel-header {
			display: flex;
			flex-wrap: nowrap;
		}

		a[href^="tel:"] {
			pointer-events: none;
			word-break: keep-all;
			white-space: nowrap;
		}

		.btn-form,
		button.btn-form {
			width: 250px;
			padding: 1em;
			font-size: 15px;
		}

		.pagetop.active {
			bottom: 20px;
			opacity: 0.7;
			transition: unset;
		}

		.pagetop.active:hover {
			opacity: 1;
		}

		.icon-question:before,
		.icon-tel:before {
			width: 15px;
			height: 15px;
		}

		.bg-footer {
			background: url(images/bg-footer.jpg) no-repeat center top -1px;
			background-size: 2001px 273px;
		}

		.index .overlay:before {
			z-index: 4;
			position: absolute;
			top: -40px;
			left: -450px;
			width: 480px;
			height: 743px;
			background: rgba(0, 155, 219, 0.6);
			content: "";
		}

		.index1:after {
			z-index: 1;
			position: absolute;
			top: -160px;
			left: -450px;
			width: 898px;
			height: 864px;
			background: url(images/index1.png) no-repeat center center;
			content: "";
		}

		.bg-company {
			background: url(images/bg-works.png) no-repeat center top;
		}

		.bg-outline {
			background: url(images/bg-outline.jpg) no-repeat center top;
		}

		.bg-history {
			background: url(images/bg-history.jpg) no-repeat center top;
		}

		.bg-access {
			background: url(images/bg-access.jpg) no-repeat center top;
		}

		.table-common th {
			width: 180px;
			padding: 0.5em 1em;
			vertical-align: top;
		}

		.table-common td {
			padding: 0.5em 1em;
			vertical-align: top;
		}

		.table-contact {
			margin-bottom: 60px;
		}

		.table-contact th {
			width: 230px;
			padding: 2em 0 0 1em;
			border-bottom: 1px solid #ccc;
			font-size: 15px;
			vertical-align: middle;
			vertical-align: top;
		}

		.table-contact th.required:after {
			top: 2.5em;
			font-size: 11px;
		}

		.table-contact td {
			padding: 1em 2em;
		}

		.confirm .table-contact td {
			height: 72px;
			line-height: 40px;
		}

		.wrap-1column .box-post-archive a>div:nth-child(1) {
			width: 300px;
			margin-right: 40px;
		}

		.wrap-1column .box-post-archive a>div:nth-child(2) {
			width: calc(100% - 300px);
		}
	}

	@media screen and (min-width: 1452px) {
		.wrap-logo {
			/* 			padding: 0.5rem 0; */
			padding: 1.4rem 0;
		}
	}


	/* 	@media screen and (max-width: 1231px) and (min-width: 901px){ */
	@media screen and (max-width: 1451px) and (min-width: 901px) {
		.header {
			padding: 0 1rem;
		}

		.head-header {
			margin-left: 0;
			font-size: min(2vw, 11px);
			margin-top: 0;
		}

		.wrap-logo {
			flex-direction: column-reverse;
			/* 			margin-top: 0.85rem; */
			margin: 0.85rem 0 0.45rem;
			align-items: flex-start;
		}

		.wrap-logo .logo {
			margin-top: 0.5rem;
		}

		.wrap-logo .logo img {
			width: min(30vw, 265px);
		}

		.global-nav {
			gap: min(1vw, 1rem);
			margin-right: min(1.5vw, 1.5rem);
			font-size: min(3vw, 14px);
		}
	}

	@media screen and (max-width: 1090px) and (min-width: 901px) {
		.boseki-linkbtn {
			display: none;
		}
	}


	@media screen and (min-width: 901px) and (max-width:1240px) {
		.wrap-2column .main-column {
			width: calc(100% - 340px);
		}
	}

	@media screen and (max-width: 900px) {
		body p {
			line-height: 1.85;
		}

		.pc {
			display: none;
		}

		.sp {
			display: block;
		}

		.wrap-2column .main-column {
			margin-bottom: min(20vw, 120px);
		}

		.wrap-2column .section-common:nth-child(1) h2 {
			margin-top: 0px;
		}

		.wrap-section-interval>*:not(:last-child) {
			margin-bottom: 15vw;
		}

		.wrap-2column .section-common:not(:last-child) {
			margin-bottom: 10vw;
		}

		.pagetop {
			right: 3vw;
			bottom: -60px;
		}

		.pagetop.active {
			bottom: 3vw;
		}

		/*ヘッダー*/
		.header-tel {
			margin: 20px 20px 0;
		}

		/* 		  .wrap-logo {
			margin-left: 20px;
		  } */
		.wrap-tel-header {
			display: none;
		}

		.global-nav {
			display: none;
		}

		#nav-close {
			display: none;
			z-index: 99;
			position: fixed;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background: #000;
			opacity: 0;
			transition: 0.3s ease-in-out;
		}

		#nav-content {
			-webkit-transform: translateX(-105%);
			z-index: 9999;
			position: fixed;
			top: 0;
			left: 0;
			width: 90%;
			max-width: 300px;
			min-width: 300px;
			height: 100%;
			overflow: auto;
			transform: translateX(-105%);
			background: #fff;
			transition: 0.5s ease-in-out;
			white-space: nowrap;
			word-break: keep-all;
		}

		.btn-close {
			display: block;
		}

		#nav-input:checked~#nav-close {
			display: block;
			opacity: 0.5;
		}

		#nav-input:checked~#nav-content {
			-webkit-transform: translateX(0%);
			transform: translateX(0%);
			box-shadow: 6px 0 25px rgb(0 0 0 / 15%);
		}

		.htel {
			/* font-size: min(4vw, 27px); */
		}

		.header-tel:before {
			width: min(3.5vw, 24px);
			left: min(2.5vw, 1.2rem);
		}

		/*サイドバー*/
		.sidebar {
			display: flex;
			flex-flow: row wrap;
			justify-content: space-between;
		}

		.sidebar>* {
			width: 100%;
		}

		.sidebar .widget_nav_menu {
			display: none;
		}

		.sidebar img {
			width: 100%;
		}

		.list-side2 a div:nth-child(1) {
			width: 40%;
			margin-right: 5%;
		}

		.list-side2 a div:nth-child(2) {
			width: 55%;
		}

		.side-compnay {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
		}

		.side-compnay h3 {
			width: 100%;
		}

		.side-compnay picture {
			width: 100%;
		}

		.side-address-compnay-box {
			width: 100%;
		}

		.company-photo {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
		}

		.sidebar .company-photo>div {
			width: 48%;
			margin-bottom: 4vw;
		}

		body .telp {
			text-align: center;
			font-size: 3.5vw;
		}

		.contact-tel {
			font-size: 6vw;
			display: block;
			margin: 4vw 0 0;
		}

		/*フッター*/
		.footer-top .tb-contents {
			width: 100%;
			padding-right: 0;
			padding-left: 0;
		}

		.footer-nav {
			align-items: center;
		}

		.footer-contents {
			width: 100%;
		}

		.footer-top {
			padding-bottom: 0;
		}

		.inner-footer-top {
			flex-flow: row wrap;
			justify-content: center;
			gap: min(5vw, 25px);
		}

		.box-info-footer {
			display: flex;
			flex-flow: column nowrap;
			align-items: center;
			width: min(100%, 430px);
			padding: 0 min(8vw, 40px);
		}

		.wrap-footer-nav {
			display: none;
		}

		.footer-top .sns-link {
			padding: 0 min(8vw, 40px);
			width: 100%;
			justify-content: center;
			margin-bottom: min(11vw, 70px);
		}

		.simple-footer-nav {
			flex-wrap: wrap;
			justify-content: space-between;
		}

		.simple-footer-nav li {
			width: 50%;
			text-align: center;
			border-top: 1px solid #fff;
		}

		.simple-footer-nav li:nth-of-type(odd) {
			border-right: 1px solid #fff;
		}

		.simple-footer-nav li:nth-last-of-type(2) {
			border-bottom: 1px solid #fff;
		}

		.simple-footer-nav li a {
			border-right: none;
			width: 100%;
			padding: min(3.5vw, 15px);
			display: block;
		}

		/*フッター　ワンカラム*/
		.footer-one {
			padding-bottom: 0;
		}

		.footer-one .contents {
			width: 100%;
			padding-right: 0;
			padding-left: 0;
		}

		/*テキスト投稿*/
		.box-post-text h3 {
			width: 100%;
		}
	}

	@media screen and (min-width: 641px) and (max-width:900px) {
		#nav-open {
			top: 17px;
		}

		.wrap-logo .logo img {
			max-height: 45px;
		}

		.wrap-1column .box-post-archive a>div:nth-child(1) {
			width: 240px;
			margin-right: 40px;
		}

		.wrap-1column .box-post-archive a>div:nth-child(2) {
			width: calc(100% - 280px);
		}

		.widget_media_image figure {
			width: 100% !important;
			display: flex;
			flex-direction: row;
		}

		.widget_media_image figure a {
			max-width: 300px;
			margin-right: 2%;
		}

		.widget_media_image figcaption {
			margin-top: 0;
			width: calc(100% - (300px + 2%));
		}
	}

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

		/*モバイルヘッダー*/
		/* 		.header-rec {
			padding: min(5vw, 1rem) min(5vw, 1.5rem) min(5vw, 1rem) min(2vw, 1.5rem);
			gap: min(3vw, 1rem);
			font-size: min(4.5vw, 20px);
			&::before{
				width: min(6.5vw, 29px);
			}
		} */
		.header-tel {
			/* padding: min(4vw, 1rem) min(3vw, 1rem) min(4vw, 1rem) min(13vw, 3.3rem); */
		}

		.header-tel:before {
			/* width: min(7vw, 24px); */
			/* left: min(4.5vw, 1.5rem); */
		}

		.htel {
			/* 			font-size: min(7.5vw,27px); */
			/* font-size: min(6.5vw, 27px); */
		}

		.htime-holi {
			font-size: min(2.7vw, 12px);
			margin-top: 0.3rem;
		}

		.inner-header {
			height: 80px;
			padding: 20px 0 5px;
		}

		.wrap-logo {
			margin-left: 0;
		}

		.wrap-logo .logo {
			/* 			width: 180px; */
			width: min(58vw, 333px);
			margin-left: 10px;
		}

		.wrap-logo .logo img {
			width: 100%;
			max-height: fit-content;
		}

		.head-header {
			position: absolute;
			top: 0;
			width: 100%;
			margin: 0;
			background: var(--main_color);
			line-height: 15px;
		}

		.head-header>* {
			color: #fff;
			font-size: 8px;
			text-align: center;
			line-height: 1.75;
		}

		.list-sp-menu {
			display: flex;
			position: absolute;
			top: 25px;
			right: 50px;
		}

		/*spアイコンの色を変えるならfill内を"23"から初めて16進数のカラーコードで記述をする事*/
		.sp-header-tel:before {
			content: "";
			display: inline-block;
			height: 25px;
			width: 25px;
			background: var(--main_color);
			mask: url(images/h-tel.svg) center/cover no-repeat;
			-webkit-mask: url(images/h-tel.svg) center/cover no-repeat;
			margin: 0 auto;
			right: 0;
			left: 0;
		}

		.sp-header-contact:before {
			content: "";
			display: inline-block;
			height: 25px;
			width: 25px;
			background: var(--main_color);
			mask: url(images/h-mail.svg) center/cover no-repeat;
			-webkit-mask: url(images/h-mail.svg) center/cover no-repeat;
			margin: 0 auto;
			right: 0;
			left: 0;
		}

		.sp-header-access:before {
			content: "";
			display: inline-block;
			height: 25px;
			width: 25px;
			background: var(--main_color);
			mask: url(images/h-access.svg) center/cover no-repeat;
			-webkit-mask: url(images/h-access.svg) center/cover no-repeat;
			margin: 0 auto;
			right: 0;
			left: 0;
		}

		#nav-open {
			top: 25px;
			right: 10px;
		}

		/*モバイルアーカイブ*/
		.box-post-archive a {
			flex-flow: wrap;
		}

		.box-post-archive a:after {
			position: unset;
			bottom: none;
			right: none;
			width: 100%;
		}

		.box-post-archive a>div:nth-child(1) {
			width: 25vw;
		}

		.box-post-archive a>div:nth-child(2) {
			width: calc(100% - 25vw - 20px);
		}

		.main-column .box-post-archive h3,
		.wrap-1column .box-post-archive h3 {
			margin: 5px 0;
			letter-spacing: 0.1em;
			line-height: 1.25;
			font-size: 16px;
		}

		/*モバイルフッター*/
		.box-footer-top {
			padding: 10vw 10vw 7.5vw;
			text-align: center;
		}

		.wrap-footer-nav {
			display: none;
		}

		/*モバイルサイドバー*/
		.sidebar {
			display: block;
		}

		.sidebar>* {
			width: auto;
		}

		.widget_nav_menu:not(:last-child),
		.box-side:not(:last-child) {
			margin-bottom: 10vw;
		}

		.list-side2 a div:nth-child(1) {
			width: 30%;
		}

		.list-side2 a div:nth-child(2) {
			width: 65%;
		}

		/*モバイルレイアウト*/
		.textCenter {
			text-align: unset;
		}

		.spFullWidth {
			width: 100%;
			height: auto;
		}

		.wrap-main {
			width: 100%;
			padding: 10vw 5vw;
		}

		.inner-main h1 {
			font-size: 6vw;
		}

		.btn-form,
		button.btn-form {
			width: 65vw;
			padding: 1em;
		}

		.pagination .pager {
			min-width: 7.5vw;
			height: 7.5vw;
			font-size: 4vw;
			line-height: 7.5vw;
		}

		.pagination .pager i:before {
			min-width: 7.5vw;
			height: 7.5vw;
			font-size: 4vw;
			line-height: 7.5vw;
		}

		.bg-footer {
			background: url(images/bg-footer@2x.jpg) no-repeat center top;
			background-size: 100% 55.5vw;
		}

		.bg-company {
			background: url(images/bg-works.png) no-repeat right 40% bottom;
			background-size: cover;
		}

		.bg-outline {
			background: url(images/bg-outline.jpg) no-repeat center top;
			background-size: cover;
		}

		.bg-history {
			background: url(images/bg-history.jpg) no-repeat center top;
			background-size: cover;
		}

		.bg-access {
			background: url(images/bg-access.jpg) no-repeat center top;
			background-size: cover;
		}

		.spImgFullWidth {
			display: block;
			width: 100%;
			height: auto;
		}

		.wrap-about {
			flex-flow: row wrap;
			justify-content: center;
		}

		.wrap-about>div:nth-child(1) {
			margin-right: 0;
			margin-bottom: 3vw;
			margin-left: 0;
			width: 100%;
		}

		.wrap-about>div:nth-child(1) img {
			width: 100%;
		}

		.wrap-about>div:nth-child(2) {
			width: 100%;
		}

		.widget_media_image figure {
			width: 100% !important;
		}

		.widget_media_image figcaption {
			width: 100%;
		}

		/*投稿記事移動*/
		.nav-link {
			z-index: 10;
			bottom: 0;
			left: 0;
			width: 100%;
		}

		.link-prev,
		.link-next,
		.link-archive {
			flex: 1;
			width: auto;
			height: 100%;
		}

		.link-prev a,
		.link-next a,
		.link-archive a {
			height: 100%;
			font-size: 12px;
		}

		.link-prev a {
			border-right: none;
		}

		.link-next a {
			border-left: none;
		}

		.icon-question:before,
		.icon-tel:before {
			width: 4vw;
			height: 4vw;
		}

		/*モバイルテーブル*/
		.table-common>tbody>tr,
		.table-contact>tbody>tr {
			display: flex;
			flex-flow: wrap;
			align-items: center;
			width: 100%;
		}

		.table-common>tbody>tr th,
		.table-contact>tbody>tr th,
		.table-common>tbody>tr td,
		.table-contact>tbody>tr td {
			min-width: 8em;
			list-style-type: none;
			width: 100%;
		}

		.main-column .contact-form table th,
		.main-column .contact-form table td {
			width: 100%;
			padding-left: 0;
			background: none;
		}

		.main-column .contact-form table td {
			padding-top: 0;
		}

		.main-column .contact-form table tr:last-of-type td {
			border-bottom: none;
		}

		.table-common th {
			padding: 1em 0 0.5em;
		}

		.table-common td {
			padding: 0 0 1em;
			border-bottom: 1px solid #eee;
		}

		.table-contact {
			margin-bottom: 5vw;
		}

		.table-contact th {
			padding: 1.5em 1em 0.5em;
		}

		.table-contact th.required:after {
			top: 1.5em;
			margin-right: 1em;
			font-size: 2.7vw;
		}

		.table-contact td {
			padding: 0.5em 1em 1.5em;
		}

		.main-column table th {
			border-bottom: none;
			border-top: none;
			background: #f3f3f3;
		}

		.mobile-tel-header a {
			letter-spacing: -0.02em;
		}
	}
}

/*--------------------base.cssここまで--------------------*/


/*--------------------（レイアウト）layout.css--------------------*/



/*幅*/

[class*="width-"] {
	margin-left: auto;
	margin-right: auto;
}

.width-840 {
	inline-size: min(100%, 840px);
}


@layer layout {

	/*アスペクト*/
	[class*="aspect-"]:not(:has(img)),
	[class*="aspect-"]:has(img) img {
		object-fit: cover;
		width: 100%;
	}

	.aspect-1_1:not(:has(img)),
	.aspect-1_1:has(img) img {
		aspect-ratio: 1/1;
	}

	.aspect-1_2:not(:has(img)),
	.aspect-1_2:has(img) img {
		aspect-ratio: 1/2;
	}

	.aspect-3_1:not(:has(img)),
	.aspect-3_1:has(img) img {
		aspect-ratio: 3/1;
	}

	.aspect-4_1:not(:has(img)),
	.aspect-4_1:has(img) img {
		aspect-ratio: 4/1;
	}

	.aspect-4_3:not(:has(img)),
	.aspect-4_3:has(img) img {
		aspect-ratio: 4/3;
	}

	.aspect-5_2:not(:has(img)),
	.aspect-5_2:has(img) img {
		aspect-ratio: 5/2;
	}

	.aspect-5_6:not(:has(img)),
	.aspect-5_6:has(img) img {
		aspect-ratio: 5/6;
	}

	.aspect-7_5:not(:has(img)),
	.aspect-7_5:has(img) img {
		aspect-ratio: 7/5;
	}

	.aspect-8_5:not(:has(img)),
	.aspect-8_5:has(img) img {
		aspect-ratio: 8/5;
	}

	.aspect-10_9d5:not(:has(img)),
	.aspect-10_9d5:has(img) img {
		aspect-ratio: 10/9.5;
	}

	.aspect-16_9:not(:has(img)),
	.aspect-16_9:has(img) img {
		aspect-ratio: 16/9;
	}

	.aspect-20_13:not(:has(img)),
	.aspect-20_13:has(img) img {
		aspect-ratio: 20/13;
	}

	.aspect-63_41:not(:has(img)),
	.aspect-63_41:has(img) img {
		aspect-ratio: 63/41;
	}

	.aspect-102_41:not(:has(img)),
	.aspect-102_41:has(img) img {
		aspect-ratio: 102/41;
	}

	/*テンプレ*/
	:is([class*="grid-"]:not(.wp-block-group), [class*="grid-"].wp-block-group >div) {
		display: grid;
	}

	:is(.grid-2:not(.wp-block-group), .grid-2.wp-block-group >div) {
		grid-template-columns: repeat(auto-fill, minmax(min(100%, 450px), 1fr));
		gap: min(12vw, 50px) min(8vw, 50px);

		/* 		& figure{
			margin-bottom:1.5rem;
		} */
		& [class*="title-min"] {
			font-size: min(4.5vw, 20px);
			margin-bottom: min(2.5vw, 0.7rem);

			+p {
				font-size: min(3.5vw, 15px);
			}
		}

		& [class*="wp-block-columns"] {
			gap: min(8vw, 20px);

			&.FLnowrap {
				gap: min(3vw, 20px);
			}
		}
	}

	/* 	.grid-2 [class*="wp-block-group__"] > figure{
		margin-bottom:1.5rem;
	} */

	:is(.grid-3:not(.wp-block-group), .grid-3.wp-block-group >div) {
		grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
		gap: min(12vw, 5rem) min(4vw, 2.5rem);

		& div>figure:has(+ *) {
			margin-bottom: 1.5rem;
		}
	}

	:is(.grid-4:not(.wp-block-group), .grid-4.wp-block-group >div) {
		grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr));
		gap: min(9vw, 40px);

		& div>figure:has(+ *) {
			margin-bottom: 1.5rem;
		}
	}

	:is([class*="flex-"]:not(.wp-block-group), [class*="flex-"].wp-block-group >div) {
		display: flex;
		gap: min(6vw, 6rem) min(4vw, 3rem);
	}

	:is(.flex-reverse:not(.wp-block-group), .flex-reverse.wp-block-group >div) {
		flex-flow: row-reverse;
	}

	:is(.flex-1_1d45:not(.wp-block-group), .flex-1_1d45.wp-block-group >div)>*:nth-child(1),
	:is(.flex-1d45_1:not(.wp-block-group), .flex-1d45_1.wp-block-group >div)>*:nth-child(2) {
		flex: 1;
	}

	:is(.flex-1_1d45:not(.wp-block-group), .flex-1_1d45.wp-block-group >div)>*:nth-child(2),
	:is(.flex-1d45_1:not(.wp-block-group), .flex-1d45_1.wp-block-group >div)>*:nth-child(1) {
		flex: 1.45;
	}

	:is(.flex-1_2:not(.wp-block-group), .flex-1_2.wp-block-group >div)>*:nth-child(1),
	:is(.flex-2_1:not(.wp-block-group), .flex-2_1.wp-block-group >div)>*:nth-child(2) {
		flex: 1;
	}

	:is(.flex-1_2:not(.wp-block-group), .flex-1_2.wp-block-group >div)>*:nth-child(2),
	:is(.flex-2_1:not(.wp-block-group), .flex-2_1.wp-block-group >div)>*:nth-child(1) {
		flex: 2;
	}

	.flex-2_1 {
		& .grid-2>div {
			grid-template-columns: repeat(auto-fill, minmax(min(40%, 180px), 1fr));
			gap: min(5vw, 1.2rem) min(4.5vw, 1.5rem);

			& img {
				width: 100%;
			}
		}
	}

	:is(.flex-1_3:not(.wp-block-group), .flex-1_3.wp-block-group >div)>*:nth-child(1),
	:is(.flex-3_1:not(.wp-block-group), .flex-3_1.wp-block-group >div)>*:nth-child(2) {
		flex: 1;
	}

	:is(.flex-1_3:not(.wp-block-group), .flex-1_3.wp-block-group >div)>*:nth-child(2),
	:is(.flex-3_1:not(.wp-block-group), .flex-3_1.wp-block-group >div)>*:nth-child(1) {
		flex: 3;
	}

	:is(.flex-1_3d5:not(.wp-block-group), .flex-1_3d5.wp-block-group >div)>*:nth-child(1),
	:is(.flex-3d5_1:not(.wp-block-group), .flex-3d5_1.wp-block-group >div)>*:nth-child(2) {
		flex: 1;
	}

	:is(.flex-1_3d5:not(.wp-block-group), .flex-1_3d5.wp-block-group >div)>*:nth-child(2),
	:is(.flex-3d5_1:not(.wp-block-group), .flex-3d5_1.wp-block-group >div)>*:nth-child(1) {
		flex: 3.5;
	}

	:is(.flex-1_4:not(.wp-block-group), .flex-1_4.wp-block-group >div)>*:nth-child(1),
	:is(.flex-4_1:not(.wp-block-group), .flex-4_1.wp-block-group >div)>*:nth-child(2) {
		flex: 1;
	}

	:is(.flex-1_4:not(.wp-block-group), .flex-1_4.wp-block-group >div)>*:nth-child(2),
	:is(.flex-4_1:not(.wp-block-group), .flex-4_1.wp-block-group >div)>*:nth-child(1) {
		flex: 4;
	}

	:is(.flex-1_1d7:not(.wp-block-group), .flex-1_1d7.wp-block-group >div)>*:nth-child(1) {
		flex: 1;
	}

	:is(.flex-1_1d7:not(.wp-block-group), .flex-1_1d7.wp-block-group >div)>*:nth-child(2) {
		flex: 1.7;
	}

	.flex-center>div {
		gap: min(9vw, 5rem) min(4vw, 2.5rem) !important;
		justify-content: center;

		&>div {
			width: min(100%, 300px);

			& figure:has(+ *) {
				margin-bottom: min(5vw, 1.5rem);
			}
		}
	}


	.self-top {
		align-self: flex-start;
	}

	.self-center {
		align-self: center;
	}

	.self-end {
		align-self: flex-end;
	}

	@media screen and (min-width:901px) {
		.float1-2_box>div {
			clear: both;

			&>*:nth-child(1) {
				float: right;
				width: min(100%, 250px);
				margin: 0 0 2rem 2rem;
			}
		}

		.imgh100 img {
			height: 100%;
			object-fit: cover;
			/*     		border: 1px solid #ccc; */
		}
	}

	@container main-size (max-width: 1020px) {
		:is([class*="flex-"]:not(.wp-block-group), [class*="flex-"].wp-block-group >div) {
			/* 			gap: min(6vw, 6rem) min(4vw, 2.5rem); */
			gap: min(6vw, 6rem) min(4vw, 3rem);
		}
	}


	@container main-size (max-width: 860px) {
		.wrap-2column .wrap-post-img-text {
			grid-template-columns: repeat(auto-fill, minmax(min(45%, 200px), 1fr));
			gap: min(7vw, 40px);
		}

		.wrap-2column .img-text-title {
			font-size: min(3.7vw, 16px);
		}

		.wrap-2column .wrap-zoom {
			margin-bottom: min(2.5vw, 0.8rem);
		}

		.wrap-2column .wrap-zoom+div {
			gap: min(2vw, 0.5rem);
			display: flex;
			flex-wrap: wrap;
			align-items: center;
		}
	}

	@container main-size (max-width: 860px) {
		:is(.grid-2:not(.wp-block-group), .grid-2.wp-block-group >div) {
			grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
			gap: min(8vw, 50px);
		}
	}

	@media screen and (max-width: 640px) {
		:is([class*="flex-"]:not(.wp-block-group, .flex-column), [class*="flex-"].wp-block-group:not(.flex-column) >div) {
			flex-flow: wrap;

			&>* {
				flex: 1 100%;
			}
		}
	}

	.FLnowrap {
		flex-wrap: nowrap;
	}
}

/*--------------------layout.cssここまで--------------------*/


/*--------------------common.css--------------------*/
@layer common {

	/******************************************
 * *トップ
* *****************************************/
	[class*="top-title"] {
		/*     color: var(--main_color); */
		line-height: 1.45;
		font-size: min(6.7vw, 35px);
		text-align: center;
		margin-bottom: min(6vw, 35px);

		&[class*="-left"] {
			text-align: left;
		}

		&[class*="-page"] {
			font-size: min(6.3vw, 30px);
		}

		&[data-text]:before {
			content: attr(data-text);
			font-size: min(4vw, 20px);
			line-height: 1;
			color: var(--main_color);
		}
	}

	/*
:is(.index, .taiyoboseki) .pc-textCenter + *{
    margin-top: min(12vw,50px);
}
	*/

	/*メインイメージコンテンツ*/
	/* .main-visual {
  position:relative;
}
.main-visual .noslide {
   width:100%;
  position:relative;
}
.main-visual picture {
  display: block;
}
.main-visual .noslide img{
	width:100%;
	height: auto;
    aspect-ratio: 1903 / 843;
    object-fit: cover;
}
.catchcopy-text{
    position: absolute;
    transform: translatey(-50%);
    top: 32%;
    left: 8%;
    font-weight: bold;
    font-size: min(5vw,58px);
    line-height: 1.45;
    white-space: nowrap;
}
.top-appli-box{
	padding-top: min(9vw,3rem);
    position: relative;
    width: min(85%,350px);
    margin: min(4vw,35px) auto 0;
}
.top-appli-box:before{
    content: "";
    display: block;
    background: url(images/sanka-icon.svg) center/contain no-repeat;
    width: min(19.5vw,100px);
    height: auto;
    aspect-ratio: 1;
    top: 0;
    left: max(-6vw,-3.5rem);
    position: absolute;
}
.top-appli-con{
	background:var(--main_color);
    padding: min(8vw,3rem) min(6.5vw,2.5rem) min(6.5vw,2.5rem);
}
.top-appli-title{
    color: #fff;
    text-align: center;
    font-size: min(6.5vw,28px);
    line-height: 1.25;
}
.top-appli-btn{
    color: #333;
    background: #fff;
    font-size: min(4vw,18px);
    margin-top: min(5vw,15px);
    font-weight: bold;
    padding: 1rem 2.9rem 1rem 1rem;
}
.top-appli-btn:hover{
	background:#ffc85e;
	color: #fff;
}
.top-appli-btn:after{
	background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 50 50"><path fill="%23ffc85e" d="M25,0C11.19,0,0,11.19,0,25s11.19,25,25,25c13.81,0,25-11.19,25-25S38.81,0,25,0z M37.53,25.33L25.62,36.67 c-1.15,1.1-2.97,1.05-4.07-0.1c-1.1-1.15-1.05-2.97,0.1-4.07l4.86-4.62H15c-1.59,0-2.88-1.29-2.88-2.88s1.29-2.88,2.88-2.88h11.5 l-4.86-4.62c-1.15-1.09-1.2-2.92-0.1-4.07c1.1-1.15,2.92-1.2,4.07-0.1l11.91,11.33c0.09,0.09,0.14,0.21,0.14,0.33 C37.67,25.13,37.62,25.24,37.53,25.33z"/></svg>') no-repeat center center;
}
.top-appli-btn:hover:after{
	background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 50 50"><path fill="%23FFFFFF" d="M25,0C11.19,0,0,11.19,0,25s11.19,25,25,25c13.81,0,25-11.19,25-25S38.81,0,25,0z M37.53,25.33L25.62,36.67 c-1.15,1.1-2.97,1.05-4.07-0.1c-1.1-1.15-1.05-2.97,0.1-4.07l4.86-4.62H15c-1.59,0-2.88-1.29-2.88-2.88s1.29-2.88,2.88-2.88h11.5 l-4.86-4.62c-1.15-1.09-1.2-2.92-0.1-4.07c1.1-1.15,2.92-1.2,4.07-0.1l11.91,11.33c0.09,0.09,0.14,0.21,0.14,0.33 C37.67,25.13,37.62,25.24,37.53,25.33z"/></svg>') no-repeat center center;	
} */

	/*スライド*/
	/* .swiper-wrapper {
  transition-timing-function: linear;
}
.top-slide-list li{
    width: min(55vw,380px)!important;
	height:auto;
	aspect-ratio:160/93;
}
.top-slide-list li img{
	object-fit:cover;
	width:100%;
	height:100%;
} */

	.section-taiyobo {
		background: url(images/top-taiyobo-back.png.webp) center / cover no-repeat;

		@media(width <= 900px){
			background: url(images/top-taiyobo-back-sp_1.png.webp) center top / 100% auto no-repeat,url(images/top-taiyobo-back-sp_2.png.webp) center bottom / 100% auto no-repeat;
		}
	}

	.section-taiyoboseki {
		background: url(images/top-taiyoboseki-back.png) right bottom / min(120vw,860px) no-repeat;
	}

	/*トップタイヨーボーについて・トップ事業内容*/
	[class*="flextop"] {
		display: flex;
		gap: min(12vw, 4rem) min(8vw, 4rem);
	}

	.ftre-img {
		filter: drop-shadow(min(3vw,1rem) min(3vw,1rem) 0 var(--main_color));

		&img {
			width: 100%;
			aspect-ratio: 5 / 2.77;
			object-fit: cover;

		}
	}

	.ftre-text p {
		line-height: min(6.7vw, 2.3rem);
	}


	/*トップ採用情報*/
	.top-recruit {
		position: relative;
	}

	.top-recruit-dtext {
		position: absolute;
		display: flex;
		width: 100vw;
		overflow: hidden;
		top: min(-1.5vw, -1rem);
		left: calc(50% - 50vw);

		& li {
			line-height: 1;
			font-size: min(9vw, 60px);
			font-weight: 700;
			animation: flowing 35s linear infinite;
			white-space: nowrap;
			word-break: keep-all;
			color: var(--main_color);
			letter-spacing: 10px;
		}
	}

	@keyframes flowing {
		100% {
			transform: translateX(-100%);
			/*終了の位置*/
		}
	}

	.top-recruit-img {
		width: 100%;
		aspect-ratio: 2/1;
		object-fit: cover;
		margin-bottom: min(6vw, 2.5rem);
	}

	/*トップメニュー*/
	.top-menu-box {
		display: grid;
		/*     grid-template-columns: repeat(auto-fill, minmax(min(100%, 500px), 1fr)); */
		grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
		width: min(100%, 900px);
		margin: 0 auto;

		@media (width > 900px) {
			gap: 10px;
		}
	}

	.top-menu-link {
		/* 	display:flex; */
		display: block;
		overflow: hidden;
		position: relative;
		transition: 0.5s;

		@media (width < 901px) {
			&+.top-menu-link {
				border-top: 1px solid #fff;
			}
		}

		& img {
			width: 100%;
			object-fit: cover;
			transition: 0.5s;
			aspect-ratio: 4.8/5;

			@media (width < 901px) {
				aspect-ratio: 5/2.5;
			}
		}

		&::before {
			content: "";
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			transition: all .6s cubic-bezier(0, 0, .33, .99);
			z-index: 1;
			background: rgba(26, 22, 31, .5);
		}

		/* 	&::after{
		content:"";
		display:block;
		background:url(images/arrow-white.svg) center/contain no-repeat;
        width: min(10vw, 84px);
        height: auto;
        aspect-ratio: 1;
        position: absolute;
        right: min(4.5vw, 2.5rem);
        bottom: min(5vw, 2.5rem);
        transition: 0.5s;
        z-index: 1;
	} */
		&:hover {
			& img {
				-webkit-transform: scale(1.1);
				transform: scale(1.1);
			}

			&::after {
				background: url(images/arrow-white-h.svg) center/contain no-repeat;
			}
		}
	}

	.tml-text-box {
		padding: min(5vw, 2.5rem);
		font-family: "a1明朝";
		color: #fff;
		text-align: center;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		z-index: 2;
	}

	.top-menu-title {
		/*     line-height: min(12vw, 4.15rem);
    font-size: min(9vw, 50px); */
		font-size: min(6.7vw, 35px);
		line-height: 1.45;
		position: relative;
	}

.top-menu{
	
}
	
	/*こだわり*/
	/* .tc-con{
    margin-bottom: min(14vw,70px);
}
.tc-box{
	background:#fff;
	border-radius:10px;
	padding:min(6vw,2rem);
}
.tc-box-title{
	color:var(--main_color);
    font-size: min(4.8vw,20px);
    line-height: 1.45;
    font-weight: bold;
	text-align:center;
}
.tc-box-img{
	display:block;
    margin: min(4vw,1.5rem) auto min(3.5vw,1.2rem);
    width: auto;
    height: min(13vw,50px);
}
.tc-box-text{
    text-align: center;
    font-size: min(3.5vw,15px);
    line-height: 1.55;
}*/

	/*トップSDGs*/
	/* .top-sdgs-con{
    background: #fff;
    width: min(100%,490px);
    margin: 0 auto;
    display: block;
    padding: min(5.5vw,2rem) min(6vw,2.3rem) min(5vw,1.9rem);
}
.top-sdgs-img{
	width:100%;
}
.top-sdgs-text{
	font-size: min(3.2vw,14px);
    text-align: center;
    line-height: 1.25;
    margin-top: min(3.5vw,1rem);
} */

	/*トップ新着*/
	.top-info {
		/*
		@media(width > 900px){
			padding-block-start: unset;
		}
		*/

		& .box-post-text {
			& a {
    display: flex;
    align-items: baseline;
    padding: min(4vw, 1.25rem) 0;
    position: relative;
    gap: min(2vw, 1rem);
    /* padding-inline-end: 3rem; */
    

				&:after {
					display: none;
				}

				@media(width < 901px) {
					border-left: none;
					border-right: none;
					padding: min(4vw, 25px) min(8vw, 40px);
				}
			}

			& time {
				margin-right: 0;
				font-size: min(3.2vw, 14px);
			}

			& .category-post {
				/* 			font-size: min(2.5vw,13px);
			padding: min(1vw, 0.45rem) min(2vw, 0.8rem) min(0.7vw, 0.4rem); */
				font-size: min(2.5vw, 11px);
				padding: min(1vw, 0.35rem) min(2vw, 0.8rem) min(0.7vw, 0.3rem);
				border-radius: 4px;
			}

			& h3 {
				font-size: min(16px, 4vw);
				-webkit-line-clamp: 2;
				line-height: 1.5;
			}

			&+& {
				border-block-start: 1px solid #ccc;
			}
		}
	}

	/* .top-info .contents{
    background: #fff;
    padding: min(8vw, 85px) min(5vw, 75px) min(8vw, 95px);
	border-radius: min(2vw, 20px);
} */
	.top-info .list-post {
		width: min(100%, 900px);
		/*     margin: min(5vw,35px) auto 0; */
		margin-left: auto;
		margin-right: auto;

		@media(width < 901px) {
			position: relative;
			width: 100vw;
			translate: -50% 0;
			left: 50%;
		}
	}

	/* .top-info .btn-archive{
    margin-top: min(5vw,45px);
} */

	/*代表メッセージ*/
	/* .top-message{
	background:url(images/top-recruit-back.jpg) center/cover no-repeat;
    padding: min(20vw,150px) 0 min(23vw,130px);
}
.top-message-title{
	line-height: 1.45;
    font-size: min(6.7vw,35px);
    margin-bottom: min(6vw,35px);
}
.top-message-box{
	gap:min(8vw,60px);
	display:flex;
	flex-wrap:wrap;
}
.tmb-text{
    flex: 1 min(100%,750px);
}
.top-message-text{
    line-height: min(8.5vw,3rem);
    font-size: min(3.7vw,16px);
}
.tmb-img{
    flex: 1 min(100%,150px);
}
.tmb-img img{
    width: 100%;
    height: auto;
    object-fit: cover;
    aspect-ratio: 1;
	display:block;
	margin:0 auto;
    max-width: 300px;
} */
	.top-message-name {
		text-align: right;
		font-size: min(6vw, 30px);
		font-weight: bold;
		line-height: 1.55;
		/*     width: min(100%,870px); */
		margin-top: min(6vw, 60px);
		/*     font-family: "Shippori Mincho", "游明朝", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif; */
	}

	.tm-job-title {
		font-size: min(3.5vw, 14px);
		display: block;
		font-weight: 500;
		font-family: "游ゴシック";
	}


	/*トップアクセス*/
	/* .top-access-address{
    text-align: center;
    line-height: 1.45;
    margin-bottom: min(4vw,15px);
}
.top-access-contact{
    text-align: center;
    font-size: min(3.2vw,14px);
    line-height: 1.25;
}
.tac-tel{
	font-size: min(7vw,35px);
    display: block;
    font-weight: bold;
}
.top-access-box{
	margin-top: min(12vw,55px);
}
.tab-map{
	border:2px solid var(--main_color);
}
.tab-map iframe{
	width:100%;
	height:auto;
	aspect-ratio:10/7;
}
.tab-img img{
	width:100%;
	object-fit:cover;
	aspect-ratio:10/7;
} */


	/******************************************
 * *固定ページ
* *****************************************/
	body:not(.index):not(.taiyoboseki) .wrap {
		padding: 0 0 min(25vw, 200px);
	}

	/* body:is(.index,.taiyoboseki) .wrap {
	padding: 0 0 min(15vw,100px);
} */
	body:where(:not(.index):not(.taiyoboseki)) .main-visual {
		display: flex;
		align-items: center;
		/*     height: 180px; */
		height: min(30vw, 150px);
		background: #333;
		

		&.back-image {
			background: url(images/title-back.jpg) center / cover no-repeat;
		}
	}

	/* body.about .main-visual {
  display: flex;
  align-items: center;
	background:url(images/dummy.jpg) center/cover no-repeat;
    position: relative;
	width:100%;
	height:auto;
	aspect-ratio:1903/598;
	color:#333;
	&::before{
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: #00000066;
	}
	@media(width < 901px){
    	aspect-ratio: 364 / 208;
	}
} */
	.head-page {
      color: #fff;
      font-size: min(5vw, 30px);
      letter-spacing: 0.3rem;
      text-align: center;
      text-indent: 0.3rem;
      line-height: 1.25;
      padding: min(40px, 8vw) 0;
	}

	/* .head-page {
    z-index: 1;
	font-size: min(7vw,38px);
    text-align: center;
    position: relative;
	color: var(--main_color);
    font-family: "Shippori Mincho", "游明朝", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    display: flex;
    align-items: center;
    justify-content: center;
} */
	.head-page:before {
		/*     margin-bottom: min(1vw,0.5rem);
    font-size: min(8vw,38px);
    text-transform: uppercase;
    font-weight: bold;
    line-height: 1.25; */
		display: none;
	}

	/* .head-page:after{
    content: "";
    background: var(--main_color);
    width: min(70%,158px);
    height: auto;
    aspect-ratio: 158/9;
    display: block;
    position: absolute;
    transform: translatex(-50%);
    left: 50%;
    bottom: 0;
} */
	.wrap-head-common {
		margin-bottom: 30px;
	}

	.head-common {
		line-height: 1.5;
	}

	.page-section+.page-section {
		margin-top: min(25vw, 160px);
	}

	.page-section_inner+.page-section_inner {
		margin-top: min(15vw, 80px);
	}

	.section_inner-box+.section_inner-box {
		margin-top: min(7vw, 40px);
	}

	:is([class*="flex-"]:not(.wp-block-group, .flex-column), [class*="flex-"].wp-block-group:not(.flex-column) >div) {
		.section_inner-box+.section_inner-box {
			margin-top: min(6vw, 30px);
		}
	}

	.page-intro-text {
		line-height: min(8vw, 2.2rem);
	}

	.width-858 {
		width: min(100%, 858px);
		display: block;
		margin-left: auto;
		margin-right: auto;

		& :is(.grid-2:not(.wp-block-group), .grid-2.wp-block-group >div) {
			grid-template-columns: repeat(auto-fill, minmax(min(100%, 400px), 1fr));
			gap: min(10vw, 35px) min(8vw, 35px);

			& [class*="mat"] {
				& p {
					font-size: min(3.5vw, 15px);
				}
			}
		}
	}

	/*タイヨーボーについて*/
	.kawanaka-img {
		width: 100%;

		& img {
			width: 100%;
		}

		@media(width < 901px) {
			width: 100vw;
			position: relative;
			translate: -50% 0%;
			left: 50%;
		}
	}

	/* .business-main{
	& .head-page{
		display:none;
	}
}
.page-catchcopy-text{
	position: absolute;
    translate: 50% -50%;
    top: 50%;
    right: min(36vw, 30rem);
    font-weight: bold;
    font-size: min(5vw, 44px);
    line-height: min(7vw, 4.45rem);
    white-space: nowrap;
	@media(width < 901px){
    	top: 71%;
	}
}
.c-philosophy-box{
    background: var(--sub_color);
    padding: min(6vw, 2.5rem) min(5vw, 2.5rem) min(6.5vw, 3rem);
}	
.cpb-title{
    text-align: center;
    font-size: min(5vw, 35px);
    line-height: min(8vw, 3.45rem);
} */

	/*大洋紡績について*/
	.office-naikan {
		position: relative;

		&::before {
			content: "";
			display: block;
			background: #33333388;
			width: 100%;
			height: 100%;
			position: absolute;
			top: 0;
			left: 0;
		}

		&::after {
			content: "オフィス内観の写真";
			font-size: min(5vw, 30px);
			font-weight: bold;
			position: absolute;
			translate: -50% -50%;
			top: 50%;
			left: 50%;
			color: #fff;
			width: 100%;
			height: 100%;
			display: flex;
			align-items: center;
			justify-content: center;
		}
	}

	.town-img {
		margin: min(7vw, 2.5rem) 0;
	}

	.page-sdgs-text {
		margin-bottom: min(2vw, 1.2rem);
		line-height: min(6vw, 1.75rem);
	}

	.bouseki-ex-box {
		&>div {
			grid-template-columns: repeat(auto-fill, minmax(min(45%, 200px), 1fr));
			gap: min(7vw, 35px);

			& div>figure:has(+ *) {
				margin-bottom: min(3.7vw, 1.5rem);
			}
		}

		& .sub-title-color {
			&:has(+ p) {
				margin-bottom: min(0.5vw, 0.5rem);
				font-size: min(4vw, 20px);
			}

			&+p {
				font-size: min(3.2vw, 16px);
			}
		}
	}

	/*採用情報*/
	.job-section {
		&+.job-section {
			margin-top: min(20vw, 170px);
		}

		& .section_inner-box+.section_inner-box {
			/*     	margin-top: min(15vw,80px); */
			margin-top: min(9vw, 55px);
		}
	}

	.top-title-page+.job-section {
		margin-top: min(6.5vw, 75px);
	}

	[class*="job-box"] {
		margin-bottom: min(7vw, 40px);

		&+p {
			line-height: min(8vw, 2.2rem);
		}

		&>div {
			&>*:nth-child(2) {
				padding: min(9vw, 4.5rem) min(7vw, 3.7rem) min(8vw, 4.5rem);
				background: #efefef;
				margin-bottom: 1.5rem;
				position: relative;

				&::before {
					content: "";
					background: #efefef;
					z-index: -1;
					width: calc(100% + 5.5rem);
					height: 2rem;
					position: absolute;
					top: -2em;
					left: -5.5rem;
				}

				&::after {
					content: "";
					background: #efefef;
					z-index: -1;
					width: 5.5rem;
					height: calc(100% + 2rem);
					position: absolute;
					top: -2rem;
					left: -5.5rem;
				}

				&>div {
					display: flex;
					flex-direction: column;
					height: 100%;
				}
			}
		}

		@media(width > 900px) {
			&>div {
				display: flex;

				&>* {
					width: 50%;
				}
			}

			&[class*="-reverse"] {
				&>div {
					flex-direction: row-reverse;

					&>*:nth-child(2) {
						&::before {
							left: auto;
							right: -5.5rem;
						}

						&::after {
							width: 5.5rem;
							left: auto;
							right: -5.5rem;
						}
					}
				}
			}
		}

		@media(width < 901px) {
			&>div {

				/* 			& > *:nth-child(1){
				position:relative;
				left:max(-8vw,-40px);
			} */
				&>*:nth-child(2) {
					width: 100vw;
					translate: -50% 0%;
					left: 50%;
					z-index: -1;

					&::before {
						width: 100vw;
						height: min(26vw, 15rem);
						top: max(-26vw, -15rem);
						translate: -50% 0%;
						left: 50%;
					}

					&::after {
						display: none;
					}
				}
			}
		}
	}

	.job-img {
		width: 100%;
	}

	.job-title {
		font-size: min(6.3vw, 30px);
		margin-top: auto;
	}

	.job-sub-title {
		font-size: min(4.5vw, 22px);
		font-weight: 500;
		line-height: 1.45;
		margin-top: min(3.7vw, 1.5rem);
	}

	.title-middle-left:has(+ .job-list) {
		margin-bottom: min(4.3vw, 1.3rem);
	}

	.job-list {
		display: flex;
		flex-wrap: wrap;
		gap: min(3vw, 1.5rem) min(4vw, 2rem);

		& li {
			position: relative;
			padding-left: min(3vw, 0.85rem);
			line-height: 1.55;

			/* 	&:not(:last-of-type){
			margin-bottom: 0.4rem;
		} */
			&::before {
				content: "";
				display: block;
				position: absolute;
				top: min(2vw, 0.6rem);
				left: 2px;
				width: min(1vw, 4px);
				height: auto;
				aspect-ratio: 1;
				background: #333;
				border-radius: 15px;
			}
		}
	}

	.wb-box {
		&>div {
			display: flex;
			justify-content: center;

			& .num-dot-list {
				font-size: min(4.5vw, 20px);

				& li {
					padding-left: min(7.5vw, 2.1rem);

					&::before {
						font-weight: 500;
					}
				}
			}
		}
	}

	.recruit-apply-btn {
		& a {
			margin: 0 auto;
			border-radius: 0;
			background: #333;
			color: #fff;
			font-weight: bold;
			font-size: min(5vw, 27px);
			width: min(100%, 380px);
			max-width: none;
			padding: min(6vw, 2rem) min(4.5vw, 2rem);

			&::after {
				display: none;
			}
		}
	}

	.follow-recbtn {
		position: fixed;
		/* 	display:none; */
		right: 0;
		/*     bottom: max(-12vw, -4rem); */
		bottom: -35rem;
		background: #333;
		color: #fff;
		-webkit-writing-mode: vertical-lr;
		writing-mode: vertical-lr;
		text-orientation: upright;
		padding: min(6vw, 1.7rem) min(4vw, 1.5rem);
		display: block;
		letter-spacing: 0.1rem;
		font-weight: 700;
		font-size: min(5vw, 22px);
		transform: translateY(-50%);
		z-index: 2;
		white-space: nowrap;
	}

	/* 会社概要 */
	.company .wrap-1column-narrow {
		margin-top: 0;
		width: min(100%, 840px);
	}

	.cmopany-img {
		width: min(100%, 840px);
		display: block;
		margin: 0 auto min(8vw, 2.5rem);
	}

	.table-company a {
		pointer-events: none !important;
		text-decoration: none !important;
	}

	.company-box {
		width: min(100%, 900px);
		margin: 0 auto;
	}

	.company-img-map>* {
		height: calc((100% - min(8vw, 45px)) / 2);
		width: 100%;
	}

	.company-box.wp-block-columns {
		grid-template-columns: repeat(auto-fill, minmax(min(100%, 415px), 1fr));
		gap: min(8vw, 55px);
	}

	.company-img-map {
		display: flex;
		flex-wrap: wrap;
		gap: min(8vw, 45px);
	}

	.company-img-map .wp-block-image {
		margin-bottom: 0;
		width: 100%;
	}

	.company-img-map .wp-block-image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.map-box iframe {
		width: 100%;
		height: 100%;
	}

	.company-access h3 {
		margin-top: 0;
	}

	.history {
		overflow: visible;
	}

	.history table tr {
		display: flex;
		line-height: 1.5;
	}

	.history table tr td:nth-of-type(1) {
		position: relative;
		min-width: min(18vw, 70px);
		padding: 0 1em 0 0;
	}

	.history table tr td:nth-of-type(2) {
		padding: 0px 1em min(6vw, 2.5em) 1.3em;
		position: relative;
		border-left: 1px solid var(--main_color);
	}

	.history table tr td:nth-of-type(2):before {
		content: "";
		height: 11px;
		width: 11px;
		border-radius: 50%;
		position: absolute;
		top: 8px;
		left: -6px;
		background: var(--main_color);
	}

	.history table tr:nth-last-of-type(2) td:nth-of-type(2) {
		padding-bottom: 1em;
	}

	.history table tr:last-of-type td:nth-of-type(2) {
		border-left: 1px dashed var(--main_color);
	}

	.history table tr:last-of-type td:nth-of-type(2):before {
		display: none;
	}

	.hisory-table {
		overflow: visible;
	}

	/* .hisory-table tr {
    display: flex;
    line-height: 1.5;
} */
	.hisory-table tr td {
		padding: 0px 1em min(6vw, 2.5em) 1.3em;
		position: relative;
		border-left: 1px solid #ccc;

		&::before {
			content: "";
			height: min(4vw, 14px);
			width: min(4vw, 14px);
			border-radius: 50%;
			position: absolute;
			top: 8px;
			left: -7.5px;
			background: var(--main_color);
		}

		& p {
			font-size: min(4.5vw, 18px);
		}
	}

	.hisory-table .year-text td {
		position: relative;
		padding: 0px 1em min(13vw, 4.5em) 1.3em;

		&::before {
			display: none;
		}

		& p {
			display: block;
			color: #fff;
			font-weight: bold;
			text-align: center;
			background: var(--main_color);
			width: 105%;
			position: absolute;
			translate: -50% 0%;
			left: 50%;
			bottom: min(5vw, 2.4rem);
			padding: min(3vw, 0.9rem);
			line-height: 1;
		}
	}

	.hisory-table .line-list {
		margin-top: min(2vw, 1rem);
	}

	.line-list li {
		position: relative;
		padding-left: min(7vw, 1.5rem);
		line-height: 1.55;
	}

	.line-list>li:not(:last-of-type) {
		margin-bottom: 0.4rem;
	}

	.line-list li:before {
		content: "";
		display: block;
		position: absolute;
		width: 16px;
		height: 1px;
		top: clamp(10px, calc(12 / 1024* 100vw), 12px);
		left: 0;
		background-color: #ccc;
	}

	.gmap {
		& iframe {
			width: 100%;
			height: auto;
			aspect-ratio: 10/4;

			@media(width < 641px) {
				aspect-ratio: 10/6.5;
			}
		}

		&:has(+ *) {
			margin-bottom: min(12vw, 40px);
		}
	}

	.company .grid-2 {
		& .card {
			& .line-bottom {
				margin-bottom: min(4.5vw, 15px);
			}
		}
	}

	/* お問い合わせ */
	.grecaptcha-badge {
		/*     bottom: min(20vw, 95px) !important; */
		bottom: min(4vw, 20px) !important;
		z-index: 2;
	}

	.main-column .contact-tell {
		padding: 2em;
		border: 1px solid #ccc;
		margin-bottom: 1.5rem;
	}

	.main-column .contact-tell a {
		font-size: min(6vw, 24px);
		font-weight: bold;
	}

	.main-column .contact-tell span {
		font-size: 14px;
		display: block;
		line-height: 1;
	}

	.contact table {
		width: 100%;
		margin: min(6vw, 3rem) 0 min(5.5vw, 2rem);
	}

	.contact table th,
	.contact table td {
		line-height: 1.75;
	}

	.table-common th span {
		background: #990000;
		margin-left: 10px;
		color: #ffffff;
		font-size: 12px;
		padding: 2px 5px;
		border-radius: 5px;
		line-height: 1;
		letter-spacing: 0.2em;
		text-indent: 0.2em;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.mw_wp_form .error {
		color: #990000;
		background: none;
		margin-left: 0;
		display: initial;
		font-size: 12px;
	}

	.contact-flex div {
		display: flex;
		align-items: center;
		flex-flow: column;
		margin: 80px 0;
	}

	.contact-flex a {
		font-size: 32px;
		line-height: 1;
		display: block;
		margin: 15px 0;
	}

	.wauto-td {
		display: flex;
		align-items: center;
		gap: 1rem;
	}

	.wauto-td select {
		width: auto;
	}

	.wauto-td>div {
		display: flex;
		align-items: center;
		gap: 0.5rem;
	}

	/*CF7（コンタクトフォーム7）*/
	/*確認画面と完了画面を非表示*/
	.substitute-form .confirm_area,
	.substitute-form .thanks_area {
		display: none;
	}

	/*デフォルトのサンクスメッセージを非表示*/
	.substitute-form .wpcf7-response-output,
	.substitute-form .wpcf7-spinner {
		display: none;
	}

	/*そのほかデザイン*/
	.form-btn {
		width: min(300px, 100%);
		position: relative;
		margin: min(3vw, 25px) auto 0;
	}

	.form-btn:after {
		-webkit-transform: rotate(45deg);
		display: inline-block;
		position: absolute;
		top: 0;
		right: 1em;
		bottom: 0;
		width: 12px;
		height: 12px;
		margin: auto;
		transform: rotate(45deg);
		border-top: 3px solid var(--main_color);
		border-right: 3px solid var(--main_color);
		content: "";
	}

	.form-btn:has(> input:hover):after {
		border-top: 3px solid #fff;
		border-right: 3px solid #fff;
	}

	.form-btn input,
	.confirm-links input[type='submit'] {
		display: block;
		z-index: 1;
		width: 100%;
		padding: 0.85rem;
		background: #fff;
		text-align: center;
		transition: 0.5s;
		color: var(--main_color);
		border: 1px solid var(--main_color);
		border-radius: 4px;
		filter: drop-shadow(1px 1px 0px #ccc);
		font-size: 14px;
	}

	.form-btn input:hover,
	.confirm-links input[type='submit']:hover {
		background: var(--main_color);
		color: #fff;
		opacity: 1;
	}

	.form-btn input:disabled,
	.form-btn input[disabled=""] {
		background: #efefef;
		pointer-events: none;
		border: none;
	}

	.form-btn:has(input:disabled):after,
	.form-btn:has(input[disabled=""]):after {
		display: none;
	}

	.form-tyui {
		margin-top: 2rem;
		border: 2px solid #ffc85e;
		padding: 0.5rem 0.7rem;
		font-size: min(3.5vw, 15px);
		line-height: 1.55;
		display: none;
	}

	.adrs-td {
		display: flex;
		align-items: center;
		gap: 5px;
	}

	.adrs-td input[type="text"] {
		width: 100px;
		margin: 0;
	}

	.substitute-form .wpcf7-not-valid-tip {
		font-size: 12px;
		margin-top: 0.3rem;
	}

	.substitute-form .wpcf7-list-item {
		display: block !important;
		margin: 0 !important;
	}

	/* .file-form *:has(> input[type="file"]){
	position:relative;
	display:block;
	width: min(100%, 150px);
}
.file-form input[type="file"]{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 0;
    outline: none;
    background: none;
    cursor: pointer;
	width:100%;
    opacity: 0;
}
.file-form *:has(> input[type="file"]):after {
    content: "ファイルを選択";
	cursor: pointer;
    display: block;
    color: #333;
    background: #efefef;
    border-radius: 3px;
    padding: 0.3rem;
    font-size: min(3.5vw,14px);
    text-align: center;
	width:100%;
    line-height: 1;
    border: 1px solid #333;
    font-weight: 500;
    position: absolute;
    top: 0;
    z-index: -1;
}
.file-form *:has(> input[type="file"]):hover:after{
	opacity:0.8;
}
.preview-info{
    display: flex;
    align-items: center;
    gap: min(3vw, 0.5rem);
    margin-top: min(0.7vw, 0.4rem);
}
.main-column .preview-info p{
    margin-top: 0;
    font-size: min(3.5vw,13px);
    line-height: 1.25;
}
.displayFileName{
    margin-top: 0;
    font-size: min(3vw,13px);
    line-height: 1.25;
}
.fn-size{
    line-height: 1.25;
    font-size: min(3vw,13px);
    margin-top: 0;
} */
	.substitute-form .form-btn-box>*>* {
		display: flex;
		flex-wrap: wrap;
		gap: min(1vw, 15px) min(4vw, 15px);
	}

	.confirm-links {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr));
		gap: min(5vw, 30px);
		width: min(100%, 550px);
		margin: 0 auto;
	}

	.confirm-links .back_button {
		display: block;
		z-index: 1;
		width: 100%;
		padding: 0.85rem;
		background: var(--sub_color);
		text-align: center;
		transition: 0.5s;
		color: var(--main_color);
		border: 1px solid var(--sub_color);
		border-radius: 4px;
		filter: drop-shadow(1px 1px 0px #ccc);
		font-size: 14px;
	}

	.confirm-links .back_button:hover {
		opacity: 0.5;
		transition: 0.5s;
	}

	/* .confirm-links .wpcf7-spinner{
	display:none;
}
.substitute-form + *{
	display:none;
} */
	.wpcf7 form.sent .wpcf7-response-output {
		display: none !important;
	}

	/******************************************
 * *投稿関連
* *****************************************/
	.single-post .head-common {
		font-size: min(6vw, 36px);
		border-bottom: 1px solid #999999;
		padding-bottom: 13px;
		line-height: 1.35;
		/* 	font-family: "Shippori Mincho","游明朝","游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif; */
	}


	.sidebar .btn-archive {
		margin-top: 15px;
		padding: 0.75em;
	}

	.btn-form,
	button.btn-form {
		border: 1px solid var(--main_color);
		background: var(--main_color);
		color: #fff;
		text-align: center;
	}

	.btn-form:hover,
	button.btn-form:hover {
		background: #fff;
		color: var(--main_color);
		opacity: 1;
	}

	.footer-nav>li {
		line-height: 1.75;
	}

	.footer-nav .sub-menu li a {
		padding-left: 1em;
	}

	.footer-nav .sub-menu li ul li a {
		padding-left: 2em;
	}

	.pagination {
		display: flex;
		position: relative;
		align-items: center;
		justify-content: center;
		margin-top: 50px;
		color: var(--main_color);
	}

	.main-column .pagination li {
		margin: 0 5px;
		padding: 0;
	}

	.main-column .pagination li:before {
		content: none;
	}

	.pagination .pager {
		display: inline-block;
		min-width: 40px;
		border-radius: 50%;
		background: #999;
		color: #fff;
		font-weight: bold;
		line-height: 40px;
		text-align: center;
	}

	.pagination .pager i {
		vertical-align: bottom;
	}

	.pagination .pager i:before {
		display: block;
		min-width: 40px;
		height: 40px;
		line-height: 40px;
		text-align: center;
	}

	.pagination .pager:hover,
	.pagination .pager.current {
		background: var(--main_color);
		opacity: 1;
	}

	.lazyload,
	.lazyloading {
		opacity: 0;
	}

	.okuric li {
		line-height: 14px;
	}

	/*追従リンク*/
	.pagetop {
		display: flex;
		z-index: 5;
		position: fixed;
		align-items: center;
		justify-content: center;
		width: 50px;
		height: 50px;
		border-radius: 50%;
		background: var(--main_color);
		color: #fff;
		text-align: center;
		right: 20px;
		bottom: -50px;
	}

	.pagetop span {
		-webkit-transform: rotate(-45deg);
		display: block;
		width: 25%;
		height: 25%;
		margin-top: 5px;
		transform: rotate(-45deg);
		border-top: 3px solid #fff;
		border-right: 3px solid #fff;
	}

	.fbtn-link {
		color: #fff;
		background: #ffc85e;
		font-weight: bold;
		text-align: justify;
		line-height: 1.15;
		letter-spacing: 0.2rem;
		position: fixed;
		bottom: 0;
		left: 0;
		transition: 0.5s;
		z-index: 5;
		display: flex;
		align-items: center;
		padding: min(3.5vw, 1rem) min(3vw, 1rem) min(2.5vw, 1rem);
	}

	.fbtn-link:before {
		content: "";
		display: block;
		position: absolute;
		width: min(13vw, 60px);
		height: auto;
		aspect-ratio: 28/25;
	}

	.fblink-top-text {
		font-size: min(3.7vw, 18px);
	}

	.fblink-bottom-text {
		font-size: min(4.5vw, 22px);
	}

	/*投稿記事移動*/
	.nav-link {
		display: flex;
		flex-flow: row nowrap;
		align-items: center;
		justify-content: space-between;
		margin: 15px auto;
	}

	.nav-link li:before {
		content: none;
	}

	.nav-link li.link-archive:nth-child(1) {
		margin: 0 auto;
	}

	.link-prev,
	.link-next,
	.link-archive {
		position: relative;
	}

	.link-prev a,
	.link-next a,
	.link-archive a {
		display: flex;
		align-items: center;
		justify-content: center;
		padding: min(2.5vw, 1rem);
		color: var(--main_color);
		text-align: center;
		font-weight: bold;
		border: 1px solid var(--main_color);
		filter: drop-shadow();
		font-size: min(3vw, 14px);
	}

	.pageokuri li {
		width: 25%;
		margin-left: 0px;
	}

	.link-prev a:hover,
	.link-next a:hover,
	.link-archive a:hover {
		background: var(--main_color);
		color: #fff;
		opacity: 1;
	}

	.link-prev a:before,
	.link-prev a:after,
	.link-next a:before,
	.link-next a:after,
	.link-archive a:before,
	.link-archive a:after {
		font-family: "Font Awesome 5 Free";
		font-weight: 700;
	}

	.link-archive {
		order: 2;
	}

	.link-prev a:before {
		-webkit-transform: rotate(225deg);
		display: inline-block;
		width: 10px;
		height: 10px;
		margin-right: 10px;
		transform: rotate(225deg);
		border-top: 2px solid var(--main_color);
		border-right: 2px solid var(--main_color);
		content: "";
	}

	.link-next {
		order: 3;
		text-align: right;
	}

	.link-next a:after {
		-webkit-transform: rotate(45deg);
		display: inline-block;
		width: 10px;
		height: 10px;
		margin-left: 10px;
		transform: rotate(45deg);
		border-top: 2px solid var(--main_color);
		border-right: 2px solid var(--main_color);
		content: "";
	}

	.link-prev a:hover:before,
	.link-next a:hover:after {
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
	}

	.list-num>li {
		list-style-position: inside;
		counter-increment: cnt;
	}

	.list-num>li:before {
		display: inline-block;
		content: counter(cnt);
	}

	.list-caution {
		margin: 0.5em 0 0;
	}

	.list-caution:has(+ *) {
		margin-bottom: 0.7rem;
	}

	.list-caution li {
		font-size: 12px;
		line-height: 16px;
	}

	.list-caution li:before {
		content: "※";
		height: initial;
		width: initial;
		background: none;
	}

	.list-circle>li {
		margin-left: 1em;
		text-indent: -1em;
	}

	.list-circle>li:before {
		content: "●";
	}

	.list-circle-border>li {
		margin-left: 1em;
		text-indent: -1em;
	}

	.list-circle-border>li:before {
		content: "○";
	}

	.list-dot>li {
		margin-left: 1em;
		text-indent: -1em;
	}

	.list-dot>li:before {
		content: "・";
	}

	.imgFullWidth {
		display: block;
		width: 100%;
		height: auto;
	}

	.table-common {
		width: 100%;
	}

	.table-common th {
		letter-spacing: 0.2em;
		line-height: 2;
	}

	.table-common td {
		letter-spacing: 0.1em;
		line-height: 2;
	}

	.table-common a {
		text-decoration: underline;
	}

	.table-contact {
		width: 100%;
		border-top: 1px solid #ccc;
	}

	.table-contact th {
		position: relative;
	}

	.table-contact th.required:after {
		position: absolute;
		right: 0;
		height: 1.5em;
		padding: 0 1em;
		background: #e60012;
		color: #fff;
		line-height: 1.5;
		content: "必須";
	}

	.table-contact td {
		border-bottom: 1px solid #ccc;
	}

	.single-post {
		margin-bottom: 50px;
	}

	.single-header {
		margin-bottom: 1em;
		display: flex;
		justify-content: space-between;
	}

	.single-header time {
		margin-right: 2em;
		font-size: 14px;
	}

	.single-header time:before {
		content: "";
		display: inline-block;
		width: 14px;
		height: 14px;
		background: url(images/date.svg);
		background-size: cover;
		margin-right: 5px;
		position: relative;
		top: 2px;
	}

	.single-contents>*:not(:last-child) {
		margin-bottom: 1em;
	}

	.single-contents strong {
		background: #ffffab;
		padding: 3px 5px;
	}

	.single-contents a {
		text-decoration: underline;
		color: #1A0DAB;
	}

	.main-column>*:nth-child(1) {
		margin-top: 0;
	}

	.single-contents p {
		line-height: 2;
	}

	.single-contents img {
		max-width: 100%;
		height: auto;
	}

	.single-contents iframe {
		max-width: 100%;
	}

	.single-contents table {
		width: 100%;
	}

	.single-contents table th,
	.single-contents table td {
		padding: 0.5em 1em;
		line-height: 1.5;
	}

	.single-contents strong {
		font-weight: bold;
	}

	.wp-block-cover {
		margin: 32px 0;
	}

	.has-very-dark-gray-background-color.has-very-dark-gray-background-color {
		background-color: var(--main_color);
	}

	.main-column .sitemap>li {
		border-top: 1px solid #cccccc;
	}

	.main-column .sitemap li>a {
		padding: 0.7rem 0 0.6rem;
		display: block;
		font-weight: bold;
		font-size: min(3.7vw, 15px);
		line-height: 1.55;
	}

	.main-column .sitemap>li:last-child {
		border-bottom: 1px solid #cccccc;
	}

	.main-column .sitemap li a span {
		display: none;
	}

	.main-column .sitemap .sub-menu {
		margin: 0;
	}

	.main-column .sitemap>li>.sub-menu {
		border-top: 1px solid #cccccc;
		padding-left: 15px;
	}

	.main-column .sitemap>li>ul>li>ul>li {
		margin: 0px 0 0 20px;
		line-height: 2;
	}

	.main-column .sitemap>li>ul>li>ul>li>a {
		display: inline-block;
	}

	.main-column .sitemap li:before {
		content: none;
	}

	.main-column .contact-form table th {
		padding: 15px 15px 15px 0;
		min-width: 250px;
	}

	.main-column .contact-form table td {
		padding: 15px 0 15px 15px;
		width: calc(100% - 250px);
	}

	.mobile-header-banner {
		margin: 30px 20px 0;
	}

	.mobile-header-banner li {
		position: relative;
		top: unset;
	}

	.mobile-header-banner li:not(:first-child) {
		margin-top: 10px;
	}

	.mobile-header-banner li>* {
		font-family: "游ゴシック", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	}

  .mobile-header-banner a {
    display: block;
    display: flex;
    align-items: center;
    position: relative;
    padding: 15px;
    font-size: 12px;
    background: var(--main_color);
    color: #fff;
  }

  .mobile-header-banner li.contact a:before {
    content: "";
    block-size: 20px;
    inline-size: 20px;
    margin-right: 10px;
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path fill="white" d="M20,8L12,13L4,8V6L12,11L20,6M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z" /></svg>') no-repeat center center;
    background-size: cover;
    fill: #fff;
  }

  .mobile-header-banner li.tel a:before {
    content: "";
    block-size: 20px;
    inline-size: 20px;
    margin-right: 10px;
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path fill="white" d="M15,12H17A5,5 0 0,0 12,7V9A3,3 0 0,1 15,12M19,12H21C21,7 16.97,3 12,3V5C15.86,5 19,8.13 19,12M20,15.5C18.75,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.18L13.21,17.38C10.38,15.94 8.06,13.62 6.62,10.79L8.82,8.59C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.25 8.5,4A1,1 0 0,0 7.5,3H4A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5Z" /></svg>') no-repeat center center;
    background-size: cover;
    fill: #fff;
  }

	/*MW WP Form*/
	.mw_wp_form_input .mw-input-page {
		display: block;
	}

	.mw_wp_form p {
		font-size: 16px;
		line-height: 1.7em;
	}

	.mw_wp_form_input .mw-check-page {
		display: none;
	}

	.mw_wp_form_preview .mw-input-page {
		display: none;
	}

	.mw-btn {
		background: var(--main_color);
		display: block;
		text-align: center;
		color: #ffffff;
		padding: 1em;
		margin-top: min(6vw, 35px);
	}

	/* Edge */
	@supports (-ms-ime-align: auto) {
		.wp-block-image img {
			width: 100%;
		}
	}


	/* IE10以降 */
	@media all and (-ms-high-contrast: none) {

		/* ハイコントラストモードが「オフ」の場合 */
		.wp-block-image img {
			width: 100%;
		}
	}


	/* @media screen and (min-width: 1151px){
.contact-box-title:before {
    width: 2px;
    height: 100%;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}	
} */

	/* @media screen and (max-width:1150px){
	.contact-box-con{
		justify-content: center;
	}
	.contact-box-con .contact-box-title{
		margin-bottom: min(7vw,2rem);
		padding-bottom: min(8vw,1.5rem);	
	}
	.contact-box-title{
		flex: 1 100%;
	}
	.contact-box-title:before{
		height: 2px;
		width: min(30vw,400px);
		transform: translatex(-50%);
		left: 50%;
		bottom: 0;
	}
	.contact-box-title h2{
		text-align: center;
	}
} */


	@media screen and (min-width: 1001px) {

		/*タイヨーボーについて・事業内容*/
		[class*="flextop"] {
			position: relative;

			&[class*="-reverse"] {
				flex-direction: row-reverse;
				margin-right: calc(50% - 49.6vw);
			}

			&[class*="-normal"] {
				margin-left: calc(50% - 49.6vw);
			}

			& .ftre-text {
				flex: 1;
			}

			& .ftre-img {
				flex: 1.75;
			}
		}

		.flexLeft {
			& .btn-archive {
				margin-left: 0;
			}
		}
	}


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

		/*タイヨーボーについて・事業内容*/
		.ftre-img {
			position: relative;
			width: 100vw;
			translate: -50% 0;
			left: 50%;
		}

		[class*="flextop"] {
			flex-direction: column;

			&[class*="-reverse"] {
				& .ftre-img {
					padding-left: min(8vw, 40px);
				}
			}

			&[class*="-normal"] {
				& .ftre-img {
					padding-right: min(8vw, 40px);
				}
			}
		}
	}


	@media screen and (min-width: 901px) {
		.tm-job-title2 {
			display: inline-block;
			margin-right: 0.8rem;
		}

		/*追従*/
		.fbtn-link {
			top: 50%;
			right: 0;
			transform: translate(0, -50%);
			bottom: auto;
			left: auto;
			display: flex;
			flex-direction: column-reverse;
			align-items: center;
			padding: 5.1rem 0.9rem 1rem;
			writing-mode: vertical-lr;
			border-radius: 5px 0 0 5px;
		}

		.fbtn-link:before {
			background: url(images/free-icon.svg) center/contain no-repeat;
			top: 1.2rem;
			left: 50%;
			transform: translatex(-50%);
		}

		/*メインイメージ*/
		/* 	.index .main-visual{
		padding-bottom: min(4vw,3.5rem);
	} */
		.top-appli-box {
			position: absolute;
			bottom: 0;
			right: min(4vw, 3.5rem);
			padding-top: min(4vw, 3rem);
		}

		.top-appli-box:before {
			width: min(9vw, 100px);
			left: max(-5vw, -3.5rem);
		}

		.top-appli-con {
			padding: min(7vw, 3rem) min(5vw, 2.5rem) min(5vw, 2.5rem);
		}

		.top-appli-title {
			font-size: min(4.5vw, 28px);
		}

		/*フッターお問い合わせ*/
		.contact-box-form:before {
			width: 2px;
			height: 100%;
			left: 0;
			top: 50%;
			transform: translateY(-50%);
		}
	}


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

.top-menu{
	padding-block: unset;
}
		
		.top-menu .contents {
			padding-left: 0;
			padding-right: 0;
		}

		.message-img img {
			width: 45vw;
			display: block;
			margin: 0 auto;
			aspect-ratio: 4 / 5;
			object-fit: cover;
			/*     border: 1px solid #ccc; */
		}

		/*追従*/
		.fbtn-link {
			width: 100%;
			flex-direction: column;
		}

		.fbtn-link:before {
			background: url(images/free-icon-sp.svg) center/contain no-repeat;
			top: 50%;
			transform: translate(-197%, -50%);
		}

		/*フッターお問い合わせ*/
		/* 	.contact-box {
		padding: min(15vw,80px) 0;
	}
	.contact-box-tel{
		flex: 0 100%;
	}
	.contact-box-con .contact-box-form{
		flex: 0 100%;
		margin-top: min(5vw,1rem);
		padding-top: min(8vw,0.5rem);
	}
	.contact-box-form:before {
		height: 2px;
		width: min(66vw,340px);
		transform: translatex(-50%);
		left: 50%;
		top: 0;
	} */

		/*トップ*/
		.main-visual .noslide img {
			aspect-ratio: 5/3;
			object-fit: cover;
		}
	}


	/*ブルースカイス入れ込みのみ用*/
	@media screen and (max-width: 600px) {
		.wp-block-buttons {
			margin-top: 20px;
		}

		.wp-block-buttons .wp-block-button {
			display: initial;
			margin: 0;
		}

		.main-columnc .is-style-outline .wp-block-button__link {
			position: relative;
			max-width: unset;
			display: block;
			left: unset;
			transform: unset;
			bottom: unset;
		}
	}

	/*ブルースカイス入れ込みのみ用ここまで*/


	@media screen and (min-width: 641px),
	print {

		/* 会社概要　テーブル
	*************************** */
		table.table-company tr:not(:last-of-type) {
			border-bottom: 1px solid #ccc;
		}

		table.table-company th {
			width: 20%;
		}

		.border_color-table tr>*:nth-child(1),
		.back_color-table tr>*:nth-child(1) {
			width: 20%;
		}

		/* 会社概要　テーブル
	*************************** */
		/* お問い合わせ　テーブル
	*************************** */
		.contact table tr {
			display: flex;
			flex-flow: wrap;
		}

		.contact table th {
			width: 35%;
			line-height: 42px;
		}

		/* お問い合わせ　テーブル
	*************************** */
	}



	/* ////////////////////////////////////////
SPのみ
//////////////////////////////////////// */
	@media screen and (max-width: 640px) {
		:is(.index, .taiyoboseki) .main-visual {
			width: 100%;
			margin-bottom: 0;
		}

		.wrap-slider .slider {
			height: 75vw;
		}

		.wrap-slider .slider img {
			height: 75vw;
		}

		.main-column .contact-tell {
			line-height: 1.5;
		}

		.main-column .contact-tell a {
			margin-top: 3vw;
			display: inline-block;
		}

		/*追従*/
		.fbtn-link:before {
			transform: translate(-173%, -50%);
		}

		/*****************************
 * モバイルトップ
 * ***************************/
		.top-sdgs-text {
			text-align: justify;
		}

		/****************************
 * テーブルデザイン
 * *************************/
		.back_color-table>table {
			border-top: none;
		}

		.back_color-table tr,
		.border_color-table tr {
			display: flex;
			flex-flow: wrap;
			align-items: center;
			width: 100%;
		}

		.back_color-table td,
		.border_color-table td {
			border-bottom: none;
			display: block;
			width: 100%
		}

		.border_color-table {
			border-top: 2px solid var(--main_color);
		}

		.border_color-table tr>*:nth-child(1) {
			background: var(--light-sub_color);
			border-bottom: 1px solid #B8B8B8;
		}

		.border_color-table tr>*:nth-child(2) {
			border-bottom: 2px solid var(--main_color);
		}


		/*会社概要*/
		.access-code>div {
			flex-flow: column-reverse;
		}

		.access-code>div img {
			width: 100%;
		}

		.access-code-company {
			margin-left: 0;
			margin-bottom: 20px;
		}

		/*会社概要*/

		/*お問い合わせ*/
		.contact-flex a {
			font-size: 24px;
			padding: 0.5em 0.75em;
			border-radius: 100px;
			background: var(--main_color);
			color: #fff;
			line-height: 1;
			display: block;
			margin: 20px 0;
		}

		.substitute-form .codedropz-upload-wrapper,
		.main-column .contact-form table th,
		.main-column .contact-form table td,
		.contact-form tbody,
		.contact-form table {
			width: min(100%, 84vw);
			display: block;
		}

		/*お問い合わせ*/
	}
}

/*--------------------common.cssここまで--------------------*/
/* ////////////////////////////////////////
SPのみ
//////////////////////////////////////// */

/* ////////////////////////////////////////
その他優先CSS
//////////////////////////////////////// */
/*トップスライド*/
.top-main-con {
	display: flex;
	gap: min(7vw, 3.5rem);

	/*     gap: min(7vw,1.2rem); */
	@media(width > 900px) {
		gap: 0.8rem;
		padding-left: 3rem;
	}

	@media(width < 901px) {
		flex-wrap: wrap;
	}
}

.main-text {
	display: flex;
	flex-direction: column;
	width: 100%;

	& p {
		font-family: var(--notos_font);
		font-size: min(6.5vw, 52px);
		line-height: min(7vw, 5rem);
		font-weight: bold;
		margin-bottom: min(4vw, 55px);
	}

	& img {
		width: 100%;
	}

	@media(width > 900px) {
		/* 		flex-direction: column; */
		width: min(30vw, 490px);

		& p {
			font-size: min(3.5vw, 52px);
			line-height: min(5vw, 5rem);
			margin-bottom: min(3vw, 55px);
		}
	}

	@media(width < 901px) {
		width: min(100%, 1280px);
		/* 		padding: 0 min(8vw, 40px); */
		padding: min(6vw, 35px) min(8vw, 40px) 0;
		margin: 0 auto;
		border-top: 1px solid #ccc;

		& img {
			width: 75%;
		}
	}
}

.main-text-bottom {
	margin-top: auto;
	display: block;
}

.top-slide {
	/*     width: auto;
    height: 100%; */
	width: 100%;
	height: auto;
	aspect-ratio: 755/415;
	display: flex;

	@media(width > 900px) {
		width: calc(100% - (min(30vw, 490px) + 0.8rem));
	}
}

.top-slide .swiper-wrapper {
	width: 100%;
	height: auto;
	overflow: hidden;
}

.top-slide.swiper-container-pointer-events {
	display: flex;
}

.top-slide .swiper-pagination {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	width: 11px;
	justify-content: center;
	gap: min(2vw, 10px);
	/*     margin-right: min(3vw,15px); */
	margin-right: min(3vw, 25px);
	z-index: 15;
	bottom: 0;

	@media(width < 901px) {
		position: absolute;
		right: 0;
		left: auto;
		height: auto;
		bottom: min(3vw, 15px);
		margin-right: min(3vw, 14px);
	}
}

.top-slide .swiper-pagination-bullet {
	/*     border: 1px solid var(--main_color); */
	border: 1px solid #333;
	background: #fff;
	opacity: 1;
	/*     width: 9px; */
	width: 10px;
	height: auto;
	aspect-ratio: 1;
	z-index: 20;
}

.top-slide .swiper-pagination-bullet-active {
	/* 	background:var(--main_color); */
	background: #333;
}

.top-slide-list .swiper-slide {
	width: 100% !important;
	height: auto;
}

.top-slide-list .swiper-slide,
.top-slide-list .swiper-slide-duplicate+.swiper-slide-prev {
	opacity: 0 !important;
}

.top-slide-list .swiper-slide-prev+.swiper-slide-active {
	opacity: 1 !important;
}

.top-slide-list li img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.top-slide-list .swiper-slide-active img,
.top-slide-list .swiper-slide-prev img {
	-webkit-animation: zoomUp 11s linear 0s forwards;
	animation: zoomUp 11s linear 0s forwards;
}

@keyframes zoomUp {
	0% {
		transform: scale(1);
		-webkit-transform: scale(1);
	}

	to {
		transform: scale(1.15);
		-webkit-transform: scale(1.15);
	}
}


[class*="title-"] {

	&[class*="-large"] {
		line-height: 1.45;
		font-size: min(6.7vw, 35px);
		font-weight: 700;
		display: flex;
		flex-flow: column;
		gap: 0.5rem 1.5rem;

		&:has(+ *) {
			margin-block-end: min(6vw, 35px);
		}

		&:has(+p) {
			margin-block-end: min(6vw, 35px);
		}

		&+ :is(p, ul, ol, dd) {
			margin-block-start: -0.5rem;
		}

		&+p {
			margin-block-start: -0.5rem;
			/*line-height: 2.5;
        font-size: min(16px, 3.5vw);
        font-weight: 700;*/
		}

		&[data-text]:before {
			content: attr(data-text);
			font-size: min(4vw, 16px);
			line-height: 1;
			color: var(--key_color);
			font-family: var(--poppins);
		}

		&[data-text2]:before {
			content: attr(data-text2);
			font-size: min(4vw, 16px);
			line-height: 1;
			color: initial;
			font-family: var(--poppins);
		}

	}

	&[class*="-middle"] {
		font-size: min(4.5vw, 22px);
		font-weight: 700;
		line-height: 1.5;

		&:has(+ *) {
			margin-block-end: min(4vw, 1.5rem);
		}

		&+ :is(p, ul, ol, dd) {
			margin-block-start: -0.5rem;
		}

		&[data-text]:after {
			content: attr(data-text);
			font-size: min(4vw, 16px);
			color: var(--key_color);
			font-family: var(--poppins);
			font-weight: 700;
		}
	}

	&[class*="-min"] {
		font-size: min(4vw, 18px);
		font-weight: 700;
		line-height: 1.25;

		&:has(+ *) {
			margin-block-end: 1rem;
		}

		&+ :is(p, ul, ol, dd) {
			margin-block-start: -0.5rem;
		}

	}

	&[class*="-border_right"] {
		display: flex;
		gap: 1rem;
		align-items: center;
		flex-flow: row;

		&:after {
			content: "";
			flex: 1;
			background: var(--main_color);
			block-size: 1px;
		}
	}

	&[class*="-border_side"] {
		display: flex;
		gap: 1rem;
		align-items: center;
		flex-flow: row;

		&:before,
		&:after {
			content: "";
			flex: 1;
			background: var(--main_color);
			block-size: 1px;
		}

		@media(640px < width) {
			&+p:not(:is(.textLeft, .has-text-align-left)) {
				text-align: center;
			}
		}

	}

	&[class*="-border_left"] {
		border-left: 5px solid var(--key_color);
		padding-inline-start: 1rem;

		&[data-text] {
			display: flex;
			flex-flow: column;
		}
	}

	&[class*="-border_bottom"] {
		padding-block-end: 0.5rem;
		border-bottom: 1px solid var(--key_color);

		&[data-text] {
			display: flex;
			align-items: baseline;
			gap: 0.5rem 1rem;

			&:after {
				margin-inline-start: auto;
			}

			@media(width <=640px) {
				flex-flow: wrap;

				&:after {
					flex: 1 100%;
					margin-inline-start: unset;
				}
			}
		}
	}

	&[class*="-color"] {
		color: var(--main_color);
	}

	&[class*="-mat"] {
		padding: 0.5rem 0.75rem;
		background: var(--sub_color);

		&[class*="-mat_white"] {
			background: #fff;
		}

		&[class*="-mat_border"] {
			background: unset;
			border: 1px solid var(--main_color);
			color: currentcolor;
		}
	}

	&[class*="-icon"] {
		display: flex;

		&:before {
			content: "";
			background: var(--main_color);
			aspect-ratio: 1/1;
			block-size: 4rem;
			margin-block-end: 1.5rem;
		}

		&[class*="-icon_1"]:before {
			aspect-ratio: 163/150;
			mask: url(images/idea.svg) center /contain no-repeat;
		}

		&[class*="-icon_2"]:before {
			aspect-ratio: 81/50;
			mask: url(images/speed.svg) center /contain no-repeat;
		}

		&[class*="-icon_3"]:before {
			aspect-ratio: 11/10;
			mask: url(images/quality.svg) center /contain no-repeat;
		}
	}

	:is(&[class*="-center"], &.has-text-align-center) {
		display: flex;
		flex-flow: column;
		text-align: center;
		align-items: center;

		@media(640px < width) {
			&+p:not(.textLeft, .has-text-align-left) {
				text-align: center;
			}
		}

		@media(width <=640px) {
			&:not([class*="-keep"]) {
				text-align: inherit;
				align-items: baseline;
			}
		}
	}

	:is(&[class*="-right"], &.has-text-align-right) {
		text-align: right;
		align-items: flex-end;

		&+p {
			text-align: right;
		}
	}

	:is(&[class*="-left"], &.has-text-align-left) {
		text-align: left;
		flex-flow: wrap;
		align-items: baseline;
	}

	& img {
		vertical-align: baseline;
	}

}

.diaplay-none{
	display: none;
}


/*contactform7*/
.wpcf7-form {

  /*確認画面と完了画面を非表示*/
  & :is(.confirm_area, .thanks_area) {
    display: none;
  }

  /*確認画面と完了画面を非表示*/
  & :is(.confirm_area, .thanks_area) {
    display: none;
  }

  /*デフォルトのサンクスメッセージを非表示*/
  & .wpcf7-response-output {
    display: none;
  }

  & .wpcf7-list-item {
    display: inline-block;
    margin: unset;

    .wpcf7-form-control:has(&) {
      display: flex;
      flex-flow: wrap;
      gap: 0.5rem 1rem;
    }
  }
}