@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

html {
	scroll-behavior: smooth;
}

/* 文字サイズとカーニング処理（髙松追加） */
:root {
	font-size: 16px;

	--crHP-maxwidth: 1204px;
	--crHP-mainColor-gray: #888888;
	--crHP-mainColor-orange: #FF8F0F;
	--crHP-mainColor-textorange: #F18000;
	--crHP-mainColor-blue: #1CB5D7;
	--crHP-mainColor-textblue: #10A4C6;
}

* {
	line-height: 1.7;
	font-feature-settings: "palt";
	letter-spacing: 0.03rem;
}

a:hover {
	opacity: 0.8;
}

a,
select,
.formbtn {
	cursor: pointer;
}


/* レイアウト 全体パディング*/
.lp-content__postContent {
	padding: 0px;
}

.lp-content,
#footer {
	padding: 0px;
}

/* コンテナの下部余白をなくす */
.post_content>* {
	margin-bottom: 0em;
}


/*横限定 パディング&マージン設定*/
.p-10 {
	padding: 0 10px;
}

.p-20 {
	padding: 0 20px;
}

.p-30 {
	padding: 0 30px;
}

.p-40 {
	padding: 0 40px;
}

.p-50 {
	padding: 0 50px;
}

.m-10 {
	margin: 0 10px;
}

.m-20 {
	margin: 0 20px;
}

.m-30 {
	margin: 0 30px;
}

.m-40 {
	margin: 0 40px;
}

.m-50 {
	margin: 0 50px;
}

/* テーブルのTHサイズ指定  2024/09/03 */
.wp-block-table>table tr>:first-child:not(.-no1) {
	width: 25%;
}

/* お問い合わせフォームの空白削除 */
form br {
	display: none;
}

/* 枠内のフォント　サイズ調整 */
input,
textarea,
select,
checkbox {
	font-size: 1rem !important;
}

/* 必須・任意のサイズ調整 */
.inquiry .requied,
.inquiry .option {
	font-size: 10px;
}

/* 送信ボタン非活性時のグレー表示 */
.formbtn:disabled {
	background: #cccccc;
	cursor: not-allowed;
	border-bottom: solid 6px #666666;
}

/*送信ボタンのデザイン変更*/
.formbtn {
	display: inline-block;
	padding: 1em 0;
	margin-top: 0px;
	width: 100%;
	background: #4cba39;
	color: #fff;
	font-size: x-large;
	font-weight: bold;
	border-bottom: solid 6px #328224;
	border-radius: 5px;
}

/*送信ボタンマウスホバー時*/
.formbtn:hover {
	opacity: 0.7;
}

.formbtn:active {
	/*ボタンを押したとき*/
	-webkit-transform: translateY(6px);
	transform: translateY(6px);
	/*下に動く*/
	border-bottom: none;
	/*線を消す*/
}

/* テキスト欄調整 */
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
select,
textarea,
.field {
	display: block;
	width: 100%;
	height: 45px;
	margin-bottom: 0px;
	padding: 0 12px;
	border: 0;
	border-radius: 3px;
	background-color: #eff1f5;
	box-shadow: none;
	color: #444;
	font-size: 1em;
	vertical-align: middle;
	line-height: 45px;
	transition: background-color 0.24s ease-in-out;
	border: 1px solid #aaa;
}

/* フォームをズームさせないためにフォントサイズを調整 */
input,
textarea {
	font-size: medium !important;
}

/* フォーム選択肢とプレースホルダー テキストの色を変更する */
input::placeholder,
textarea::placeholder {
	color: #777 !important;
}

textarea {
	max-width: 100%;
	min-height: 120px;
	line-height: 1.5em;
	padding: 0.5em;
	overflow: auto;
}

/* チェックボックスのサイズ変更 */
input[type=checkbox],
input[type=radio] {
	transform: scale(1.6);
	margin-right: 10px
}

span.wpcf7-list-item {
	margin: 5px auto;
}

/* 規約に同意をセンタリング */
span.wpcf7-form-control-wrap {
	display: flex;
	justify-content: center;
	margin-bottom: -5px;
}

/* 入力欄にプレースホルダーが表示している場合 背景を標準グレーに */
.wpcf7 input:placeholder-shown,
.wpcf7 textarea:placeholder-shown,
.wpcf7 select:placeholder-shown {
	background-color: #EFF1F5;
}

/* 入力欄必須の場合 ボーダーを緑色 */
.wpcf7 input.wpcf7-validates-as-required,
select.wpcf7-validates-as-required {
	border: #49B700 2px solid
}



/******** フォーム注意事項　********/

/* エラー項目を赤く表示する */
.wpcf7 .wpcf7-not-valid {
	background: #FFE8EB !important;
	border: #EE4056 2px solid !important;
	display: block !important;
}

.wpcf7 .wpcf7-validation-errors {
	color: #FF0A0A;
	background-color: rgb(255, 220, 220, 0.7);
	border: 1px solid #EED3D7 !important;
	display: none !important;
}

.wpcf7 .wpcf7-mail-sent-ok {
	color: #3A87AD;
	background-color: rgb(255, 220, 220, 0.7);
	border: 1px solid #BCE8F1 !important;
}

/* 通常のエラー表示を非表示 */
.wpcf7-not-valid-tip {
	display: none !important;
}

.wpcf7-not-valid-tip {
	display: none;
}

span.wpcf7-list-item {
	display: inline-block !important;
	margin-right: 30px;
}

.wpcf7 input.wpcf7-validates-as-required,
select.wpcf7-validates-as-required,
textarea.wpcf7-validates-as-required {
	border: #5BC9EE 2px solid;
}

/* 問い合わせフォームの参照元リファラー欄を非表示 */
input.wpcf7-form-control.wpcf7-text.referer-page {
	display: none !important;
}

/* ボーダーとシャドー削除*/
.formError .formErrorContent {
	border: none !important;
	box-shadow: none !important;
	-webkit-border: none !important;
	-webkit-box-shadow: none !important;

}

.formError .formErrorArrow div {
	border-left: none !important;
	border-right: none !important;
	box-shadow: none !important;
	-webkit-border-left: none !important;
	-webkit-border-right: none !important;
	-webkit-box-shadow: none !important;
}


/********************** 共通項目 **********************/
#header,
#fix_header,
#footer,
#sp_menu {
	--crHP-tel-Reception: '受付時間/11:30〜19:30（平日）';
	--crHP-tel-icon: url(https://mirai-lab.work/wp/wp-content/uploads/2025/12/header_tel-2.png);
}


/********************** ヘッダー **********************/
.c-gnav>li:nth-of-type(even)>a:after {
	background: var(--crHP-mainColor-orange);
}

.c-gnav>li:nth-of-type(odd)>a:after {
	background: var(--crHP-mainColor-blue);
}

.c-gnav .menu-item-58,
.c-gnav .menu-item-59 {
	color: #FFF;
	font-weight: bold;
	border-radius: 0 0 0.5rem 0.5rem;
	background-color: var(--crHP-mainColor-blue);
}

.c-gnav .menu-item-59 {
	background-color: var(--crHP-mainColor-orange);
}

.c-gnav .menu-item-58 a,
.c-gnav .menu-item-59 a {
	padding: 0 1.5rem;
}

.c-gnav .menu-item-58 a:after {
	content: var(--crHP-tel-Reception);
	position: relative;
	transition: none;
	transform: none;
	font-size: 0.6rem;
	font-weight: normal;
	height: auto;
	background: transparent !important;
}

.c-gnav .menu-item-59 a:after {
	content: none;
	transition: none;
	transform: none;
}

.c-gnav .menu-item-58 a span {
	font-size: 1.1rem !important;
}

.c-gnav .menu-item-59 a span {
	font-size: 1rem !important;
}

.c-gnav .menu-item-58 a span:before {
	content: '';
	display: inline-block;
	background-image: var(--crHP-tel-icon);
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: bottom;
	margin-right: 2px;
	width: 14px;
	height: 17px;
}

.-body-solid .l-fixHeader {
	box-shadow: none;
}

#header.l-header .l-container,
#fix_header.l-fixHeader .l-container {
	max-width: var(--crHP-maxwidth);
	margin: 0 auto;
	padding: 0 2rem;
	color: var(--color_text);
	font-weight: bold;
}


/********************** フッター **********************/
#footer {
	border-top: solid 2px #F8F8F8;
}

/***** レイアウト *****/
#footer.l-footer {
	padding-top: 2rem;
}

#footer.l-footer .w-footer {
	max-width: var(--crHP-maxwidth);
	padding: 0 2rem;
	gap: 2rem;
}

#footer.l-footer .w-footer__box {
	flex: none;
	padding: 0;
}

#footer.l-footer .w-footer__box:first-of-type {
	width: 30%;
	min-width: 300px;
}

#footer.l-footer .w-footer__box:nth-of-type(2) {
	flex: 1;
}



/***** ロゴ *****/
#footer.l-footer #media_image-2 {
	max-width: 250px;
}

#footer.l-footer .c-widget+.c-widget {
	margin-top: 0.5rem;
}

#footer.l-footer .c-listMenu a {
	border: none;
	padding: 0.3rem 2rem;
	font-size: 0.85rem;
}



/***** 会社概要 *****/
#footer.l-footer .crHP-footer--company th,
#footer.l-footer .crHP-footer--company td {
	font-weight: normal;
	font-size: 0.85rem;
	border: none;
	padding: 3px 0;
}

#footer.l-footer .crHP-footer--company th {
	width: 90px;
}



/***** SPメニュー *****/
/* リセット */
#sp_menu .c-widget__title.-spmenu,
#sp_menu .p-spMenu__nav {
	display: none;
}

#sp_menu #custom_html-9>div.textwidget {
	display: flex;
	flex-direction: column;
	margin: auto;
	width: 90%;
	max-width: 240px;
}

#sp_menu a {
	color: var(--color_text);
}

#sp_menu .p-spMenu__closeBtn {
	z-index: 2;
}


/* ロゴ調整 */
#sp_menu .p-spMenu__inner {
	padding-top: 1rem;
}

#sp_menu #media_image-3 {
	max-width: 180px;
	margin: auto;
}

/* ボタン */
#custom_html-9 a {
	padding: 1.5rem 0;
	border-radius: 0.5rem;
	font-size: 1.2rem;
	font-weight: bold;
	color: #FFF;
	line-height: 1.2;
	text-align: center;
}

#custom_html-9 a.sp_menu_telBtn {
	background-color: var(--crHP-mainColor-blue);
	margin-bottom: 0.5rem;
}

#custom_html-9 a.sp_menu_contactBtn {
	background-color: var(--crHP-mainColor-orange);
}

#custom_html-9 a.sp_menu_telBtn::before {
	content: '';
	display: inline-block;
	background-image: var(--crHP-tel-icon);
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: bottom;
	margin-right: 2px;
	width: 6%;
	height: 18px;
}

#custom_html-9 a.sp_menu_telBtn::after {
	content: var(--crHP-tel-Reception);
	display: block;
	height: auto;
	font-size: 0.65rem;
	font-weight: normal;
}


/* メニュー */
#sp_menu li>a {
	border: none;
}

#nav_menu-5 li>a {
	text-align: center;
	font-weight: bold;
	width: fit-content;
	padding: 1.5em 0.5rem 0.5rem;
	margin: auto;
	background-image: url(https://mirai-lab.work/wp/wp-content/uploads/2025/12/sp_menu_underline.png);
	background-size: 10px;
	background-repeat: repeat-x;
	background-position: bottom center;
}

#nav_menu-5 li>a::before {
	content: none;
}

#nav_menu-5 li>a:hover {
	padding-left: 0;
	padding-right: 0;
}

#nav_menu-4 {
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
	font-size: 0.85rem;
}

#nav_menu-4 li>a {
	padding: .5em 1em .5em 1.5em;
}






/********************** レスポンシブ調整 **********************/
/* PC（751px以上） */
@media (min-width: 751px) {
	#footer .pc_on {
		display: block;
	}

	#footer .sp_on {
		display: none;
	}

	.w-footer {
		display: flex;
		justify-content: space-between;
	}

	.w-footer__box+.w-footer__box {
		margin-top: 0;
	}
}



/* SP（750px以下） */
@media (max-width: 750px) {

	/* ヘッダー */
	#header.l-header .l-container,
	#fix_header.l-fixHeader .l-container {
		padding: 0;
	}

	#footer {
		border-top: solid 2px #F2F2F2;
	}

	#footer .pc_on {
		display: none;
	}

	#footer .sp_on {
		display: block;
	}

	#footer.l-footer .w-footer {
		padding: 0 5%;
		position: relative;
	}

	/* 文字サイズ */
	#footer.l-footer .c-listMenu a,
	#footer.l-footer .crHP-footer--company th,
	#footer.l-footer .crHP-footer--company td {
		font-size: 0.75rem;
	}

	/* ロゴ */
	#footer.l-footer #media_image-2 {
		max-width: 200px;
	}

	/* tel */
	#footer #custom_html-8 {
		margin-left: auto;
		margin-right: auto;
		width: fit-content;
	}

	/* topへボタン配置 */
	.w-footer__box:has(#custom_html-3) {
		position: absolute;
		margin: 0;
		top: 0;
		right: 5%;
	}
}