@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
*/

/* 追加CSS
------------------------------------- */
a, a img {
	transition: 0.2s ease-in-out;
}
a img:hover {
	opacity: 0.8;
}
.full_width {
	margin: 0 calc(50% - 50vw);
	width: 100vw;
}
.text-center {
	text-align: center !important;
}
.text-right {
	text-align: right !important;
}
.text-left {
	text-align: left !important;
}
.small {
	font-size: 87%;
	line-height: 1.5;
}
.text-nowrap {
	white-space: nowrap;
}
.indent1 {
	padding-left: 1em;
	text-indent: -1em;
}
.w-500 {
	width: 100%;
	max-width: 500px;
	margin-right: auto;
	margin-left: auto;
}
.w-600 {
	width: 100%;
	max-width: 600px;
	margin-right: auto;
	margin-left: auto;
}
.w-700 {
	width: 100%;
	max-width: 700px;
	margin-right: auto;
	margin-left: auto;
}
.w-800 {
	width: 100%;
	max-width: 800px;
	margin-right: auto;
	margin-left: auto;
}
.btn-200 a {
	width: 200px;
	margin-right: auto;
	margin-left: auto;
}
.btn-250 a {
	width: 250px;
	margin-right: auto;
	margin-left: auto;
}
.btn-300 a {
	width: 300px;
	margin-right: auto;
	margin-left: auto;
}
@media (max-width: 599px) {
	.btn-200 a,
	.btn-250 a,
	.btn-300 a {
		width: 70vw !important;
	}
}
.grid-columns {
	display: grid;
	gap: 23px;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}
.grid-columns li {
	margin-bottom: 1rem;
}
.d-flex {
	display: flex !important;
}
.d-inline-block {
	display: inline-block !important;
}
@media screen and (min-width: 861px) {
	.d-md-flex {
		display: flex !important;
	}
}
@media screen and (min-width: 601px) {
	.only_sp {
		display: none !important;
	}
	.d-sm-flex {
		display: flex !important;
	}
}
@media screen and (max-width: 600px) {
	.only_pc {
		display: none !important;
	}
}
@media (min-width: 601px) {
	a[href*="tel:"] {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
	}
}

/* swell上書き
------------------------------------- */
/* コンテンツトップ余白 */
.l-content {
	margin-bottom: 3em;
	padding-top: 2em;
}
.w-beforeFooter {
	margin: 0 auto 3em;
}
.l-footer__inner {
	padding-bottom: 3rem;
}
.l-footer__widgetArea {
	padding-top: 0;
	padding-bottom: 0;
}
.l-footer__foot {
	padding-top: 0;
}

/* ヘッダー */
.l-header__logo {
	padding-top: 16px !important;
	padding-bottom: 12px !important;
}
@media (max-width: 960px) {
	.l-header__inner,
	.l-fixHeader__inner {
		padding: 0;
		height: 65px;
	}
}

/* ヘッダーロゴ */
.c-headLogo a {
	width: 236px;
	height: 40px;
	background-image: url(img/logo_suiken-techno.svg);
	background-repeat: no-repeat;
	background-size: contain;
	text-indent: 110%;
	white-space: nowrap;
	overflow: hidden;
}

@media (max-width: 960px) {
	.c-headLogo a {
		height: 35px;
	}
}

/* グローバルナビサブテキスト */
.c-smallNavTitle {
	font-size: 12px;
	opacity: .7
}

/* スマホメニュー 幅・スピード*/
.p-spMenu__inner {
	width: 400px;
	transition: -webkit-transform .3s;
	transition: transform .3s;
	transition: transform .3s, -webkit-transform .3s;
}

@media (max-width: 500px) {
	.p-spMenu__inner {
		width: 80%;
	}
}

/* パンくずフォントサイズ */
.p-breadcrumb__text {
	font-size: 13px;
}

/* カテゴリーページサブタイトル */
.c-pageTitle__subTitle {
	display: none;
}


/* WPテーブル
------------------------------------- */
.post_content .td_to_th_ tbody tr>:first-child,
.post_content tbody th {
	font-weight: normal;
	width: 30%;
}
.wp-block-table td {
	border-left: none !important;
	border-right: none !important;
}
.wp-block-table  td {
	padding-top:  0.8em;
	padding-bottom: 0.8em;
	border-color: #ccc !important;
}


/* 共通
------------------------------------- */
.bg-white {background-color: #fff !important;}
.bg-gray {background-color: #F2F2F2 !important;}
.bg-c01 {background-color: #00C1E1 !important;}
.text-white {color: #fff !important;}
.text-c01 {color: #00C1E1 !important;}
.border1 {border: 1px solid #999 !important;}
.border2 {border: 2px solid #999 !important;}
.border3 {border: 3px solid #999 !important;}
.border4 {border: 4px solid #999 !important;}
.border-c01 {border-color: #00C1E1 !important;}
.rounded {border-radius: 0.6rem !important;}
.rounded2 {border-radius: 1.2rem !important;}

.font-serif {
	font-family: 'Noto Serif JP', serif;
}
.font-bold {
	font-weight: bold;
}
.display-1 {
	font-size: 2.7rem;
	line-height: 1.4;
}
.display-2 {
	font-size: 1.9rem;
	line-height: 1.4;
}
.display-3 {
	font-size: 1.7rem;
	line-height: 1.4;
}
.display-4 {
	font-size: 1.5rem;
	line-height: 1.4;
}
.display-5 {
	font-size: 1.3rem;
	line-height: 1.4;
}
.display-6 {
	font-size: 1.1rem;
	line-height: 1.4;
}
@media screen and (max-width: 600px) {
	.display-1 {
		font-size: 2.2rem;
	}
	.display-2 {
		font-size: 1.6rem;
	}
	.display-3 {
		font-size: 1.4rem;
	}
	.display-4 {
		font-size: 1.2rem;
	}
	.display-5 {
		font-size: 1rem;
	}
	.display-6 {
		font-size: 0.9rem;
	}
}

/* --------------------------- */

.marker-1,.marker-2,.marker-3,.marker-4 {
	color: #fff;
	display: inline;
	margin: 0 0.2em;
	padding: 0 0.3em;
}
.marker-1 {background: linear-gradient(0deg, #5DCFF1 90%, rgba(0,0,0,0) 90%);}
.marker-2 {background: linear-gradient(0deg, #00C1E1 90%, rgba(0,0,0,0) 90%);}
.marker-3 {background: linear-gradient(0deg, #31C7C2 90%, rgba(0,0,0,0) 90%);}
.marker-4 {background: linear-gradient(0deg, #00B96E 90%, rgba(0,0,0,0) 90%);}

/* --------------------------- */

.page_nav {
	max-width: 1050px;
	margin: 0 auto;
	padding: 3rem 30px 4rem;
}
.page_nav ul {
	display: table;
	width: 100%;
	max-width: 990px;
	border: 1px solid #333;
}
.page_nav li {
	display: table-cell;
	text-align: center;
	width: 25%;
}
.page_nav li:not(:last-child) {
	border-right: 1px solid #333;
}
.page_nav li a {
	display: block;
	padding: 0.1em;
	font-size: 24px;
	color: #333;
}
.page_nav li a:hover {
	color: #fff;
	background-color: #666;
}
@media (max-width: 600px) {
	.page_nav {
		padding: 1rem 1.5rem 1.5rem;
	}
	.page_nav li a {
		font-size: 3.3vw;
	}
}

/* --------------------------- */

.st-container {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0;
}
.st-contents {
	width: 100%;
	max-width: 990px;
	margin: 0 auto;
	padding: 0;
}

/* --------------------------- */

.heading-1 {
	margin-bottom: 0.8em;
	padding: 0 !important;
	background-color: transparent !important;
	font-size: 52px;
	font-family: 'Noto Serif JP', serif;
	font-weight: normal;
	line-height: 1.2;
}
.heading-1::before {
	display: none !important;
}
.heading-1::first-letter {
	color: #489BE4;
}
.heading-1 span {
	display: block;
	margin-top: 0.2em;
	font-size: 0.6em;
	font-family: 'Noto Sans JP', sans-serif;
}
@media (max-width: 540px) {
	.heading-1 {
		font-size: 9.6vw;
	}
}

/* --------------------------- */

.heading-2 {
	padding: 0.3em 0 0.7em 0.3em !important;
	background-color: transparent !important;
	font-size: 108px;
	font-family: 'Noto Serif JP', serif;
	font-weight: normal;
	line-height: 1.2;
}
.heading-2::before {
	display: none !important;
}
.heading-2::first-letter {
	color: #489BE4;
}
.heading-2 span {
	display: block;
	font-size: 0.3em;
	font-family: 'Noto Sans JP', sans-serif;
}
@media (max-width: 1000px) {
	.heading-2 {
		padding: 0.3em 0 6.9vw 0.3em !important;
	}
}
@media (max-width: 900px) {
	.heading-2 {
		font-size: 12vw;
	}
}

/* --------------------------- */

.heading-3 {
	margin: 0.2em 0 0.5em 0;
	font-size: 48px;
	font-family: 'Noto Serif JP', serif;
	font-weight: normal;
	line-height: 1.4;
}
@media (max-width: 1000px) {
	.heading-3 {
		margin: 0.3em 0 0.6em 0;
		font-size: 4.8vw;
	}
}
@media (max-width: 600px) {
	.heading-3 {
		font-size: 6.6vw;
	}
}

/* --------------------------- */

.heading-4 {
	position: relative;
	margin: 0 0 1em 0;
	padding: 0 0 0 0.5em;
	font-size: 48px;
	font-family: 'Noto Serif JP', serif;
	font-weight: normal;
	line-height: 1.2;
}
.heading-4::before {
	position: absolute;
	content: '';
	height: 85%;
	top: 0.15em;
	left: 0;
	border-left: 0.25em solid #C7E8FA;
}
.heading-4.nobdr {
	padding: 0;
}
.heading-4.nobdr::before {
	border-left: none;
}

@media (max-width: 600px) {
	.heading-4 {
		font-size: 6.5vw;
	}
}

/* --------------------------- */

.heading-5 {
	margin: 0 0 0.5em 0;
	padding: 0 0 0.3em 0;
	font-size: 22px;
	font-weight: bold;
	line-height: 1.4;
	border-bottom: 2px solid #666;
}
@media (max-width: 500px) {
	.heading-5 {
		font-size: 4.4vw;
	}
}

/* --------------------------- */

.heading-6 {
	margin: 0 0 0.2em 0;
	padding: 0;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.4;

}
@media (max-width: 500px) {
	.heading-6 {
		font-size: 4.5vw;
	}
}

/* --------------------------- */

a.btn {
	position: relative;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 3px;
	padding: 0.2em 1.8em;
	font-size: 1.6rem;
	line-height: 1.2;
	transition: all 0.2s;
	text-decoration: none;
	color: #FFF;
	background-color: #A98B7A;
	border: none;
	border-radius: 100vh;
}
a.btn:hover {
	opacity: 0.8;
	text-decoration: none
}

/* --------------------------- */

a.btn-1 {
	padding: 0.4em 0.8em;
	font-size: 14px;
	color: #222;
	background-color: #fff;
	border: 2px solid #ccc;
	border-radius: 8px;
}
a.btn-1::after {
	content: "▶";
	margin-left: 0.8em;
	font-size: 0.9em;
	font-weight: 900;
	color: #489BE4;
}
a.btn-1:hover {
	background-color: #e0fffe;
}


/* フッター
------------------------------------- */
.st-footer {
	margin: 0 calc(50% - 50vw) 1rem;
	width: 100vw;
	background-color: #F2F2F2;
}
.st-footer_inner {
	display: flex;
	justify-content: space-between;
	max-width: 990px;
	margin: 0 auto;
	padding: 50px;
}
.st-footer h4 {
	font-weight: normal;
}
.st-footer .logo img {
	margin-bottom: 30px;
	height: 54px;
}
.st-footer .sitemap .inner {
	display: flex;
}
.st-footer .sitemap li:not(:last-child) {
	margin-right: 5em;
}
.st-footer .sitemap .inner li a:hover {
	opacity: 0.7;
}
.st-footer .sitemap .inner li::before {
	margin-right: 0.5em;
	content: "\f105";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 0.8em;
}
@media (max-width: 1000px) {
	.st-footer .sitemap .inner {
		display: block;
	}
}
@media (max-width: 800px) {
	.st-footer .sitemap {
		display: none;
	}
}
@media (max-width: 600px) {
	.st-footer {
		background-color: #fff;
	}
	.st-footer_inner {
		display: block;
		padding: 0;
	}
	.st-footer .logo {
		width: 100%;
		padding: 0 15vw;
		text-align: center;
	}
	.st-footer .logo img {
		height: auto;
	}
	.st-footer .address {
		display: none;
	}
}


/* トップページ
------------------------------------- */
.mainv_visual {
	text-align: center;
}
.mainv_visual img {
	margin: 0 auto;
	height: 598px;
	object-fit: cover;
	display: block;
}

@media (max-width: 1000px) {
	.mainv_visual img {
		height: 70.5vw;
	}
}
@media (max-width: 960px) {
	.mainv_visual {
		margin-top: -50px;
	}
}
@media (max-width: 600px) {
	.mainv_visual {
		margin-top: 0;
	}
	.mainv_visual img {
		height: auto;
	}
}

/* ------------------------- */

.home_lead {
	font-size: 32px;
	line-height: 1.6;
	font-family: 'Noto Serif JP', serif;
	font-weight: bold;
}
.home_lead_bg {
	margin: 0 auto;
	padding: 2.5rem 1em	2.8rem;
	max-width: 1298px;
	background-image: linear-gradient(90deg, #E9F7FE, #FFF 50%, #E9F7FE);
}
.home_lead p {
	margin-bottom: 0.3em;
}

.home_lead .sp_br {
	display: none;
}

@media (max-width: 800px) {
	.home_lead .sp_br {
		display: block;
	}
	.home_lead p {
		margin-bottom: 0.6em;
	}
}
@media (max-width: 630px) {
	.home_lead {
		font-size: 4.3vw;
	}
}

/* ------------------------- */

.home_h2 {
	width: 100%;
	max-width: 990px;
	margin: 0 auto;
	padding: 0 30px;
	text-align: left;
	font-size: 18px;
}
.home_h2_inner {
	display: inline-block;
	padding: 30px 55px 30px;
	background-color: rgba(255, 255, 255, 0.7);
}
@media (max-width: 1000px) {
	.home_h2 {
		padding-top: calc(200px - 20vw);
	}
}
@media (max-width: 800px) {
	.home_h2 {
		margin-bottom: 4vw;
	}
}
@media (max-width: 540px) {
	.home_h2 {
		padding: 16vw 4vw 0;
		font-size: 3.3vw;
	}
	.home_h2_inner {
		padding: 5.5vw 6vw;
	}
}

/* ------------------------- */

.home_service {
	margin-bottom: 40px;
	background-image: url(img/home/service_bg.jpg);
	background-repeat: no-repeat;
	background-position: right top;
	background-size: contain;
}
.home_service.home_h2 {
	height: 360px;
}
@media (max-width: 540px) {
	.home_service {
		margin-bottom: 3vw;
	}
}
@media (max-width: 540px) {
	.home_service.home_h2 {
		height: 68vw;
	}
}

/* ------------------------- */

.home_business {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	max-width: 1298px;
	margin: 20px auto 0;
	padding: 60px 30px 30px;
	background-image: url(img/home/business_bg.jpg);
	background-repeat: no-repeat;
	background-size: cover;
}
.home_business li {
	width: 36%;
	margin: 0 35px 30px;
	padding: 10px 15px;
	font-size: 14px;
	line-height: 1.3;
	background-color: #fff;
	border-radius: 0.8rem;
}
.home_business li h3 {
	font-size: 18px;
	margin: 0.2em 0;
}
.home_business li .txt {
	width: 100%;
}
.home_business li .btn-1 {
	margin-top: 1em;
}

@media (max-width: 1200px) {
	.home_business li {
		margin: 0 2.5vw 30px;
	}
}
@media (max-width: 800px) {
	.home_business li {
		width: 100%;
		max-width: 460px;
		margin: 0 0 1.5rem;
		padding: 1rem;
	}
	.home_business li h3 {
		font-size: 24px;
	}
}
@media (max-width: 600px) {
	.home_business {
		margin: 0 auto;
	}
	.home_business li h3 {
		font-size: 4vw;
	}
	.home_business li img {
		width: 40vw;
	}
}

/* ------------------------- */

.home_news {
	margin-bottom: 40px;
	padding-bottom: 1px;
	background-image: url(img/home/news_bg.jpg);
	background-repeat: no-repeat;
	background-position: right top;
	background-size: auto 360px;
}
@media (max-width: 750px) {
	.home_news {
		background-size: contain;
	}
}
@media (max-width: 600px) {
	.home_news {
		margin-bottom: 4vw;
	}
}

/* ------------------------- */

.home_news_list {
	width: 100%;
	max-width: 820px;
	margin: 0 auto 30px;
	padding: 30px 15px 25px;
	text-align: left;
	background-color: #fff;
	border: 1px solid #666;
}
.home_news_list li {
	display: flex;
	max-width: 660px;
	margin: 0 auto;
	line-height: 1.3;
	margin-bottom: 0.5em;
}
.home_news_list li a:hover{
	opacity: 0.7;
}
.home_news_list li .date {
	margin-right: 1.3em;
}
.home_news_list .archive_link {
	max-width: 660px;
	margin: 0 auto;
	text-align: right;
}
.home_news_list .archive_link a {
	font-size: 0.9em;
	color: #222;
}
.home_news_list .archive_link a:hover {
	opacity: 0.7;
}
.home_news_list .archive_link a::before {
	content: "\e921";
	font-family: icomoon !important;
	margin-right: 0.2em;
}
@media (max-width: 600px) {
	.home_news h3 {
		font-size: 1.1rem;
	}
	.home_news_list {
		padding: 4vw 5vw 3vw;
	}
		.home_news_list li {
		display: block;
		margin-bottom: 1em;
	}
	.home_news_list li .date {
		margin: 0 0 0.3em 0;
	}
}

/* ------------------------- */

.home_contact {
	padding-bottom: 1px;
	background-image: url(img/home/contact_bg.jpg);
	background-repeat: no-repeat;
	background-position: right top;
	background-size: auto 310px;
}
@media (max-width: 750px) {
	.home_contact {
		background-size: contain;
	}
}


/* 固定ページ
------------------------------------- */
.cat_img {
	max-width: 1280px;
	margin: 0 auto;
}
.cat_img .inner {
	display: inline-block;
	position: relative;
}
.cat_img .inner::after {
	position: absolute;
	content: '';
	top: 0;
	right: 0;
	width: 10%;
	height: 100%;
	background-image: linear-gradient(90deg, transparent, #FFF);
}

/* ------------------------- */

.cat_lead {
	width: 100%;
	max-width: 990px;
	margin: 2.5rem auto 2rem;
	padding: 0 1.5em;
	font-size: 18px;
}
.cat_lead p {
	margin-bottom: 1em;
}
.cat_lead.contact_page {
	margin-bottom: 3rem;
}
@media (max-width: 500px) {
	.cat_lead {
		margin: 1.5rem 0;
		font-size: 4vw;
	}
	.cat_lead .bnr {
		padding: 0 0.5rem;
	}
}

/* ------------------------- */

.bnr_img {
	max-width: 1038px;
	margin: 0 auto 3rem;
	padding: 0 1.5rem;
}

@media (max-width: 600px) {
	.bnr_img {
		margin: 0 auto;
	}
}

/* ------------------------- */

.service_media-text {
	max-width: 1280px;
	margin: 0 auto 3rem;
	display: grid;
	align-items: center;
	grid-template-columns: 410px 1fr;
	grid-template-rows: auto;
	column-gap: 4%;
	box-sizing: border-box;
	background-image: linear-gradient(90deg, #E9F7FE, #FFF 50%, #E9F7FE);
}
.service_media-text .media {
	grid-column: 1;
	grid-row: 1;
	margin: 0;
}
.service_media-text .media img {
	display: block;
}
.service_media-text .text {
	grid-row: 1;
	max-width: 680px;
	padding: 0.8em 2em 1.6em;
	font-size: 18px;
	line-height: 2.5;
	word-break: break-word;
}
.service_media-text.reverse {
	grid-template-columns: 1fr 410px;
	justify-items: end;
	background-image: linear-gradient(90deg, #E3F4E6, #FFF 50%, #E3F4E6);
}
.service_media-text.reverse .media {
	grid-column: 2;
}
@media (max-width: 1000px) {
	.service_media-text {
		grid-template-columns: 42% 1fr;
	}
	.service_media-text.reverse {
		grid-template-columns: 1fr 42%;
	}
	.service_media-text .text {
		line-height: 5vw;
	}
	.service_media-text .text .icon {
		width: 20vw;
	}
}
@media (max-width: 600px) {
	.service_media-text,
	.service_media-text.reverse
	 {
		background-image: none;
		display: block;
	}
	.service_media-text .text {
		padding: 4% 8% 5% 8%;
		line-height: 2;
	}
}
@media (max-width: 500px) {
	.service_media-text .text {
		font-size: 4vw;
	}
}
@media (max-width: 600px) {
	.service_bnr {
		margin-bottom: 3rem;
	}
}

/* ------------------------- */

.products .products_content {
	margin-bottom: 3rem;
	padding: 3rem 2rem 0;
	background-repeat: no-repeat;
	background-size: 80%;
	background-position: right top;
}
.products .products_content.c01 {
	background-image: url(img/products_bg1.svg);
}
.products .products_content.c02 {
	background-image: url(img/products_bg2.svg);
}
.products .products_content p {
	font-size: 18px;
	line-height: 1.8;
}
.products .products_content h3 {
	margin-top: 0.5em;
}
.products .products_content .lead {
	margin-bottom: 3rem;
	font-size: 18px;
	line-height: 2.5;
}
@media (max-width: 600px) {
	.products .products_content {
		background-size: 115%;
	}
	.products .products_content .lead {
		line-height: 1.8;
	}
}
@media (max-width: 1100px) {
	.transp_bg img {
		display: block;
		width: 80%;
		margin: 0 auto;
	}
}

/* ------------------------- */

.profile_tbl {
	padding: 4rem 2rem 2rem;
}
.profile_tbl table {
	width: 100%;
	font-size: 20px;
}
.profile_tbl table th {
	width: 150px;
	vertical-align: top;
	text-align: left;
	padding: 0.5em 0;
}
.profile_tbl table td {
	vertical-align: top;
	padding: 0.5em 0;
}
.profile_tbl table iframe {
	width: 100%;
	margin: 1em 0;
	aspect-ratio: 16/9;
}
@media screen and (max-width: 700px) {
	.profile_tbl table th {
		width: 18vw;
	}
}
@media screen and (max-width: 600px) {
	.profile_tbl {
		padding: 2rem 1.5rem;
	}
	.profile_tbl table {
		font-size: 3.8vw;
	}
	.profile_tbl table th {
		display: block;
		width: 100%;
		padding: 0 0 0.5em 0;
	}
	.profile_tbl table td {
		display: block;
		padding: 0 0 1.5em 1em;
	}
	.profile_tbl table iframe {
		aspect-ratio: 4/3;
	}
}

/* ------------------------- */

.contact_before_footer {
	margin: 2.5rem auto 0;
	padding: 0 2rem;
	width: 100%;
	max-width: 990px;
}
.contact_before_footer .st-contents {
	margin-bottom: 2.5rem;
}
.contact_before_footer .st-contents p {
	padding-left: 3em;
	font-size: 18px;
}
@media (max-width: 600px) {
	.contact_before_footer {
		padding: 2.5rem 1.4rem;
		background-color: #F2F2F2;
	}
	.contact_before_footer .st-contents p {
		padding-left: 0;
	}
	.contact_before_footer .heading-1 {
		margin-bottom: 0.5em;
	}
}
@media (max-width: 500px) {
	.contact_before_footer .st-contents p {
		font-size: 3.8vw;
	}
}

/* ------------------------- */

.contact_box {
	position: relative;
	display: flex;
	justify-content: space-between;
	width: 100%;
	max-width: 824px;
	margin: 0 auto;
	padding: 25px 25px 60px;
	font-size: 14px;
	background-color: #fff;
	border: 1px solid #999;
}
.home .contact_box {
	background-color: #E8F8FC;
}
.contact_box li {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 48.5%;
	height: 165px;
	margin: 0 auto;
	line-height: 1.5;
}
@media (max-width: 800px) {
	.contact_box {
		display: block;
	}
	.contact_box li {
		width: 100%;
		max-width: 400px;
	}
	.contact_box li:not(:last-child) {
		margin-bottom: 3vw;
	}
}
@media (max-width: 420px) {
	.contact_box {
		font-size: 3.3vw;
	}
}

/* ------------------------- */

.contact_box .note {
	position: absolute;
	bottom: 22px;
	left: 0;
	right: 0;
	margin: auto;
	font-size: 1.15em;
	line-height: 1.3;
	color: #000;
	text-align: center;
}
.contact_box .note br {
	display: none;
}
@media (max-width: 800px) {
	.contact_box .note {
		bottom: 18px;
	}
	.contact_box .note br {
		display: block;
	}	
}

/* ------------------------- */

.contact_tel {
	text-align: center;
	border: 6px solid #5DC5E7;
	background-color: #fff;
}
.contact_tel .ttl {
	font-size: 1.4em;
	font-weight: bold;
	color: #5DC5E7;
}
.contact_tel a {
	font-size: 2.3em;
	font-weight: bold;
	color: #000;
	margin-bottom: 0.2em;
}
.contact_tel a::before {
	content: "\e942";
	font-family: icomoon !important;
	margin-right: 0.1em;
	font-size: 0.8em;
	color: #5DC5E7;
}

/* ------------------------- */

.contact_form {
	text-align: center;
	border: 6px solid #4493DC;
	background-color: #fff;
}
.contact_form .ttl {
	font-size: 1.4em;
	font-weight: bold;
	color: #4493DC;
	margin-bottom: 0.4em;
}
.contact_form a {
	font-size: 1.5em;
}

/* ------------------------- */

a.btn-contact {
	width: 90%;
	margin: 0 auto 0.5em;
	padding: 0.7em 0.5em;
	font-size: 1.3em;
	color: #fff;
	background-color: #4493DC;
	border-radius: 8px;
}
a.btn-contact::before {
	content: "\f138";
	font-family: "Font Awesome 6 Free";
	margin-right: 0.5em;
	font-size: 1.4em;
	color: #fff;
	font-weight: 900;
}
a.btn-contact:hover {
	opacity: 0.8;
}


/* Contact Form 7
------------------------------------- */
.inquiry {
	width: 100%;
	max-width: 750px !important;
	margin: 25px auto 10px;
}
.inquiry th {
	width: 35% !important;
	padding: 12px 15px;
	text-align: left;
	font-size: 16px;
	color: #444;
	font-weight: normal !important;
	vertical-align: middle;
	background: #f7f7f7;
	border: solid 1px #d7d7d7 !important;
	border-left: none !important;
	border-right: none !important;
}
.inquiry td {
	padding: 12px 10px;
	font-size: 16px;
	border: solid 1px #d7d7d7 !important;
	border-left: none !important;
	border-right: none !important;
}

@media(max-width:650px) {
	.inquiry th {
		padding: 5px 10px;
	}
	.inquiry td {
		padding: 10px 0;
	}
	.inquiry th,
	.inquiry td {
		display: block !important;
		width: 100% !important;
		border-top: none !important;
		-webkit-box-sizing: border-box !important;
		-moz-box-sizing: border-box !important;
		box-sizing: border-box !important;
	}
	.inquiry tr:first-child th {
		border-top: 1px solid #d7d7d7 !important;
	}
}

/* ------------------------- */

#inquiry_btn {
	display: block;
	padding: 0.4em 0;
	margin: 20px auto 0;
	width: 290px;
	background: #000;
	color: #fff;
	font-size: 16px;
	border-radius: 2px;
	border: none;
}
#inquiry_btn:hover {
	background: #fff;
	color: #000;
	outline: 1px solid #000;
}
.inquiry .required {
	margin-right: 4px;
	padding: 1px 3px;
	font-size: 7px;
	background: #e45769;
	color: #fff;
	border-radius: 2px;
	vertical-align: 2px;
	bottom: 1px;
	font-weight: normal;
}
.inquiry .content {
	height: 150px;
}
.inquiry input {
	width: 100%;
	max-width: 400px;
	margin-right: 0.3em;
	background-color: #fff;
	border: solid 1px #ddd;
}
.inquiry .wpcf7-radio input {
	width: auto;
	margin-right: 0;
}
.inquiry .wpcf7-radio .wpcf7-list-item.first {
	margin-left: 0.5em;
}
.inquiry textarea {
	width: 100% !important;
	max-width: 400px !important;
	background-color: #fff;
	border: solid 1px #ddd;
}
.inquiry select {
	background-color: #fff;
}
.inquiry .address .zipcode {
	width: 7em !important;
	margin: 0 1.5em 0.7em 0.4em;
}
.inquiry .address .pref {
	margin-left: 0.4em;
}
.inquiry .address .city {
	margin-bottom: 0.7em;
}

/* Blue */
.wpcf7 form .wpcf7-response-output {
	max-width: 700px;
    margin: 0 auto;
    padding: 0.5em 1em;
	line-height: 1.4;
    border: 1px solid #666;
	color: #666;
	border-radius: 3px;
}
/* Green */
.wpcf7 form.sent .wpcf7-response-output {
	border-color: #666;
	color: #666;
}
/* Red */
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
	border-color: #666;
	color: #666;
}
/* Orange */
.wpcf7 form.spam .wpcf7-response-output {
	border-color: #666;
	color: #666;
}
/* Yellow */
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
	border-color: #666;
	color: #666;
}
