@charset "utf-8";

/* トップページ */


.pc_hid {
	display: none;
}

.sp_hid {
	display: block;
}

/* トップキャッチ */

div.top_catch {
	text-align: center;
	margin: 90px 0 20px 0;
}

div.top_catch h2 {
	color: #10606f;
	font-size: 42px;
	font-family: "Hiragino Sans", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
}

div.top_catch p {
	font-size: 17px;
}

div.top_catch ul {
	font-size: 14px;
}

#index_news li a {
	line-height: 65px;
}

/* トップページお知らせ欄を2行に */
#index_news {
	height: 75px !important;
	line-height: 75px !important;
}

#index_news li a {
	line-height: 25px;
}

#index_news ol li {
	height: 25px !important;
}

#index_news ol {
	top: 14px;
}

/* 偽サイト注意喚起 */
.top_attention {
	margin: 0 0 1.2em 0;
	text-align: center;
}

.home-default #main_col {
	margin-top: 60px !important;
}


/* トップ 3つのボタン */
#cb_0 {
	margin-top: -35px;
}

.top_search_wrap {
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
	margin-left: 0 !important;
}

.top_search_wrap li {
	width: 25%;
	list-style: none;
}

.top_search_wrap li a {
	display: block;
	max-width: 350px;
	margin: 0 auto;
	padding: 1rem 11%;
	background-color: #10606f;
	border-radius: 3px;
	box-sizing: border-box;
	text-decoration: none;
	transition: 0.3s;
}

.top_search_wrap li a span.text {
	display: block;
	position: relative;
	color: #fff;
	font-size: 17px;
	text-align: center;
	padding-left: 30px;
	font-weight: 500;
}

.top_search_wrap li a span.text:before {
	content: '';
	width: 20px;
	height: 20px;
	background: #ffffff;
	border-radius: 50%;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	margin: auto;
}

.top_search_wrap li a span.text:after {
	content: '';
	width: 8px;
	height: 8px;
	border-top: 3px solid #10606f;
	border-right: 3px solid #10606f;
	box-sizing: border-box;
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	left: 5px;
	bottom: 0;
	margin: auto;
	transition: 0.3s;
}

.top_search_wrap li a:hover {
	background-color: rgba(16, 96, 111, 0.8);
	text-decoration: none !important;
}

.top_search_wrap li a:hover span.text:after {
	border-top: 3px solid rgba(16, 96, 111, 0.8);
	border-right: 3px solid rgba(16, 96, 111, 0.8);
}

/* LPへのリンク */
.top_lp_link {
	display: block;
	text-align: center;
	font-weight: 600;
	font-size: 18px;
	width: 90%;
	margin: 1em auto;
	padding: 5px;
	border-top: #4b9da3 solid 0.75px;
	border-bottom: #4b9da3 solid 3px;
	transition: all 0.3s ease-out;
}

.top_lp_link span {
	margin-left: 5px;
}

.top_lp_link:hover {
	background: rgba(75, 157, 163, 0.2);
}


/* 3つの特長 */

ul.stylenone {
	list-style: none;
	margin-left: 0;
}

div#main_col {
	margin-bottom: 100px !important;
}

.features_wrap {
	width: 90%;
	margin: 0 auto;
}

.features {
	display: flex;
	justify-content: space-between !important;
	margin: 35px 0 40px 0 !important;
}

.features li {
	width: 33% !important;
	padding: 0 3% 0 0;
	position: relative;
}

.features li:nth-child(2) {
	width: 33% !important;
	padding: 0 3%;
	position: relative;
	border-left: solid 1px #ddd;
	border-right: solid 1px #ddd;
}

.features li:nth-child(3) {
	width: 33% !important;
	padding: 0 0 0 3%;
	position: relative;
}

.features li h3 {
	height: 17%;
	font-weight: 600;
	line-height: 1.6em;
	padding-top: 0 !important;
	font-size: 125%;
	margin-bottom: 0 !important;
}

.features li p {
	line-height: 2.2em;
	margin-bottom: 220px;
	font-size: 105%;
	text-align: left;
}

.features li div {
	width: 90%;
	height: 180px;
	position: absolute;
	bottom: 0;
	overflow: hidden;
	margin: 0 auto;
}

.features li div.center {
	width: 84%;
}

.features_sp {
	display: none;
}


/* メーカーボックス */
.top_maker_wrap {
	display: flex;
	width: 96%;
	flex-wrap: wrap;
	margin: 0 auto 30px auto;
}

.top_maker_wrap .maker_box {
	width: 24%;
	border: solid 10px #eee;
	border-radius: 10px;
	margin: 0 0.5% 10px 0.5%;
	box-sizing: border-box;
}

.top_maker_wrap div.top {
	overflow: hidden;
}

.top_maker_wrap div.top img {
	width: 100%;
	transition: all 0.5s ease-out;
	vertical-align: middle;
}

.top_maker_wrap div.top img:hover {
	transform: scale(1.1, 1.1);
}

.top_maker_wrap+div {
	text-align: right;
}

.top_maker_wrap+div a {
	color: #000;
	font-size: 15px;
}

.top_maker_wrap+div a::after {
	content: '\e910';
	font-family: 'design_plus';
	display: inline-block;
	padding: 0 0 0 8px;
	font-size: 15px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* サービス・サポート */
.top_service_wrap {
	display: flex;
	justify-content: space-between;
	width: 95%;
	flex-wrap: wrap;
	margin: 0 auto;
}

.top_service_wrap div.service_box {
	width: 32%;
	margin: 0 0 10px 0;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 130px;
}

.top_service_wrap div.left {
	width: 50%;
	background: #10606f;
	text-align: center;
	transition: all 0.5s ease-out;
}

.top_service_wrap div.left:hover {
	opacity: 0.7;
}

.top_service_wrap div.left a {
	color: #fff;
	display: block;
	height: 130px;
	line-height: 130px;
	transition: all 0.5s ease-out;
	font-size: 17px;
}

.top_service_wrap div.left a:hover {
	text-decoration: none;
}

.top_service_wrap div.right {
	width: 50%;
	height: 130px;
	overflow: hidden;
}

.top_service_wrap div.right img {
	width: 100%;
	transform: scale(1.3, 1.3);
	transition: all 0.5s ease-out;
}

.top_service_wrap div.right img:hover {
	transform: scale(2.0, 2.0);
}


/* 導入事例バナー */
#cb_7 .inner {
	text-align: center;
}

#cb_7.sp_hid {
	width: 85%;
	margin: 0 auto;
}

#cb_7 img {
	transition: all 0.3s ease-out;
}

#cb_7 img:hover {
	filter: brightness(0.7);
}

/* お問合わせ */

div.search_contact {
	background-color: #eeeeee;
	width: 55%;
	margin: 0 auto 5rem auto !important;
	padding: 2rem 3rem 2rem 3rem;
	text-align: center;
	border-top: 10px solid #666666;
	transition: 0.5s all ease-out;
}

div.search_contact:hover {
	background-color: #c5c5c5;
}

div.search_contact a {
	display: block;
	transition: 0.5s all ease-out;
}

div.search_contact a:hover {
	text-decoration: none;
}

div.search_contact h4 {
	font-weight: bold;
	font-size: 1.7rem;
	position: relative;
	padding: 1.5rem;
	color: #000;
}

div.search_contact h4:before {
	position: absolute;
	bottom: -0.1rem;
	left: calc(50% - 50px);
	width: 100px;
	height: 5px;
	content: '';
	border-radius: 3px;
	background: #000;
}

div.search_contact ul {
	color: #000;
}

div.search_contact li:first-child {
	font-weight: bold;
	font-size: 1.2rem;
	margin-top: 1rem;
}


/* カレンダー */
.xo-event-calendar table.xo-month .month-header {
	color: #ddd;
	font-size: 15px;
}

.xo-event-calendar table.xo-month button span.nav-next {
	border-right: 2px solid #ddd !important;
	border-top: 2px solid #ddd !important;
}

.xo-event-calendar table.xo-month button span.nav-prev {
	border-bottom: 2px solid #ddd !important;
	border-left: 2px solid #ddd !important;
}




/*スマートフォン
-------------------------------------------------------*/

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

	.pc_hid {
		display: block;
	}

	.sp_hid {
		display: none;
	}

	/* トップキャッチ */
	div.top_catch {
		text-align: left;
		margin: 0 0 30px 0;
	}

	div.top_catch h2 {
		font-size: 20px !important;
		font-weight: normal;
	}

	div.top_catch p {
		font-size: 13px;
	}

	div.top_catch ul {
		font-size: 12px;
	}

	/* 偽サイト注意喚起 */
	.top_attention img {
		width: 95%;
		margin: 0 auto;
	}

	/* ニュース */
	body #main_contents #index_news_mobile {
		border-bottom: none;
		margin-bottom: 20px;
	}

	/* トップ 3つのボタン */
	.top_search_wrap {
		margin: 70px auto 20px auto !important;
	}

	.top_search_wrap li {
		width: 100%;
		margin: 0.5rem;
	}

	.top_search_wrap li a {
		padding: 0.6rem 3rem;
	}

	/* LPへのリンク */

	a.top_lp_link {
		text-align: left;
		width: 100%;
		font-size: 14px;
		line-height: 1.6;
		padding: 10px 0;
	}

	/* 3つの特長 */


	div#main_col {
		margin-bottom: 60px !important;
	}

	.features {
		margin: 30px 0 20px 0 !important;
	}

	.features li h3 {
		height: 17%;
		font-weight: 600;
		line-height: 1.4em;
		padding-top: 0 !important;
		font-size: 105%;
	}

	.features li p {
		line-height: 1.8em;
		margin-bottom: 130px;
	}

	.features li div {
		height: 110px;
		position: absolute;
		bottom: 0;
		overflow: hidden;
	}

	.features_p {
		font-size: 14px !important;
		text-align: center;
	}

	/* メーカーボックス */

	.top_maker_wrap {
		width: 100%;
	}

	.top_maker_wrap+div a {
		display: inline-block;
		padding: 0 25px 0;
		min-width: 100px;
		line-height: 40px;
		font-size: 12px;
		text-decoration: none;
		position: relative;
	}

	.top_maker_wrap+div a::after {
		content: '\e910';
		font-family: 'design_plus';
		display: inline-block;
		line-height: 1;
		margin-top: -0.5em;
		position: absolute;
		top: 50%;
		right: 8px;
	}

	.top_maker_wrap .maker_box {
		width: 49%;
		border: solid 13px #eee;
		border-radius: 10px;
		margin: 0 0 20px 0;
		box-sizing: border-box
	}

	.top_maker_wrap .maker_box:nth-child(odd) {
		margin-right: 5px;
	}


	/* その他のサービス */
	.top_service_wrap {
		display: flex;
		justify-content: space-between;
		width: 100%;
		flex-wrap: wrap;
	}

	.top_service_wrap div.service_box {
		width: 49%;
	}

	.top_service_wrap div.left {
		width: 50%;
	}

	.top_service_wrap div.left a {
		color: #fff;
		display: block;
		transition: all 0.5s ease-out;
		height: 100px;
		line-height: 100px;
	}

	.top_service_wrap div.right {
		width: 50%;
		height: 100px;
	}


	/* top新商品 */
	.home-default #main_col {
		margin-top: 0 !important;
	}


	/* お問合わせ */
	div.search_contact {
		width: 100%;
		padding: 0.5rem 2rem;
		box-sizing: border-box;
	}

	div.search_contact h4 {
		font-size: 1.1rem;
	}

	div.search_contact li:first-child {
		font-size: 1rem;
	}















}

/*タブレット
-------------------------------------------------------*/


@media (max-width: 1024px) and (min-width: 768px) {


	/* トップ 3つのボタン */
	.top_search_wrap li {
		width: 30%;
	}

	.top_search_wrap li a {
		padding: 0.5rem 1.0rem;
	}

	.top_search_wrap li a span.text {
		font-size: 16px;
		padding-left: 10px;
	}

	/* メーカーボックス */


	.top_maker_wrap {
		width: 100%;
	}


	/* サービス・サポート */

	.top_service_wrap {
		width: 100%;
		justify-content: space-around;
	}

	.top_service_wrap div.service_box {
		width: 45%;
	}

	.top_service_wrap div.left a {
		font-size: 13px;
		height: 120px;
		line-height: 120px;
	}

	.top_service_wrap div.right {
		height: 120px;
	}


	/* 3つの特長 */
	.features_wrap {
		width: 97%;
	}

	.features li {
		padding: 0 23px 0 0;
	}

	.features li:nth-child(2) {
		padding: 0 23px;
	}

	.features li:nth-child(3) {
		padding: 0 0 0 23px;
	}

	.features li p {
		margin-bottom: 160px;
		line-height: 1.8rem;
	}

	.features li h3 {
		margin-bottom: 2rem !important;
	}

}


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

	/* トップページお知らせ欄を2行に */
	#index_news_mobile ol li {
		height: 35px !important;
		align-items: flex-start !important;
	}

	#index_news_mobile ol li a {
		font-size: 13px;
	}

	#index_news_mobile .entry-date {
		font-size: 12px !important;

	}
}


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

	#cb_0 {
		display: none;
	}

	.mobile_top_img {
		position: relative;
		min-height: 400px;
		background: url("/wp-content/uploads/2022/06/top_mobile3.jpg") center / cover;
		margin-left: calc(-50vw + 50%);
		margin-right: calc(-50vw + 50%);
		animation-name: TopAnime;
		animation-duration: 2s;
		animation-fill-mode: forwards;
		animation-timing-function: ease-out;
		opacity: 0;
	}

	@keyframes TopAnime {
		from {
			opacity: 0;
		}

		to {
			opacity: 1;
		}
	}

	.mobile_top h2 {
		position: absolute;
		top: 1.1%;
		font-family: "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
		font-size: 190% !important;
		font-weight: 800 !important;
		padding-left: 7px !important;
		text-shadow: 0 0 0.3em rgba(0, 0, 0, 0.35);
		line-height: 1.2;
		color: #fff;
		z-index: 1;
		animation-name: TopAnime2;
		animation-duration: 2s;
		animation-fill-mode: forwards;
		animation-timing-function: ease-in-out;
		opacity: 0;
	}

	@keyframes TopAnime2 {
		50% {
			top: 1.0%;
			opacity: 0;
		}

		100% {
			top: 1.1%;
			opacity: 1;
		}
	}

	.mobile_top .top_search_wrap {
		position: absolute;
		border: rgba(255, 255, 255, .6) 0.5px solid;
		top: 3.5%;
		background-color: rgba(255, 255, 255, .4);
		margin: 0 auto !important;
		width: 87%;
		left: 50%;
		transform: translateX(-50%);
		animation-name: TopAnime3;
		animation-duration: 2s;
		animation-fill-mode: forwards;
		animation-timing-function: ease-in-out;
		opacity: 0;
	}

	@keyframes TopAnime3 {
		50% {
			top: 3.4%;
			opacity: 0;
		}

		100% {
			top: 3.5%;
			opacity: 1;
		}
	}

	.mobile_top .top_search_wrap li {
		line-height: 2.2em;
	}

	.top_search_wrap li a {
		background-color: rgba(16, 96, 111, .9);

	}

	.mobile_slider_wrap {
		display: flex;
		flex-wrap: wrap-reverse;

	}

	/* 3つの特長 */
	div.top_catch {
		margin: 60px 0 0 0 !important;
	}

	div.top_catch_bottom {
		margin: 0 0 20px 0 !important;
	}

	div.top_catch_bottom h2 {
		font-size: 120%;
	}

	div.top_catch_bottom p {
		margin: 0 0 20px 0;
		text-align: left;
	}

	div.features_wrap {
		width: 100%;
	}

	div#main_col {
		margin-bottom: 100px !important;
	}

	.features {
		display: none;
	}

	.features_sp {
		display: block;
	}

	.features_sp h3 {
		font-size: 103% !important;
		font-weight: bold !important;
		margin: 0 0 20px 0 !important;
		text-align: center;
	}

	div.features_sp_box {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		border-bottom: dotted 1px #ddd;
		margin-bottom: 10px;
	}

	div.features_sp_box:last-of-type {
		margin-bottom: 30px !important;
	}

	div.features_sp_box p.text {
		width: 65%;
		margin-bottom: 20px !important;
	}

	div.features_sp_box p.image {
		width: 35%;
		margin-bottom: 20px !important;
	}

	div.features_sp_box img {
		width: 120px;
		height: 120px;
		margin: 5px 0 0 15px;
	}

	/* --------------------------------------------------------------------------------
 メーカーボックス
-------------------------------------------------------------------------------- */
	/*.top_maker_wrap{margin: 0 0 30px 0 !important;}*/
	.top_maker_wrap .maker_box {
		width: 49%;
		border: solid 10px #eee;
		border-radius: 10px;
		margin: 10px 0 0 0;
		box-sizing: border-box
	}

	.top_maker_wrap .maker_box:nth-child(odd) {
		margin-right: 5px;
	}

	/* --------------------------------------------------------------------------------
 その他のサービス
-------------------------------------------------------------------------------- */
	.top_service_wrap {
		display: flex;
		justify-content: space-between;
		width: 100%;
		flex-wrap: wrap;
		margin-top: 1rem;
	}

	.top_service_wrap div.service_box {
		width: 100%;
		margin-bottom: -18px;
	}

	.top_service_wrap div.left {
		width: 50%;
	}

	.top_service_wrap div.left a {
		color: #fff;
		display: block;
		transition: all 0.5s ease-out;
		font-size: 15px;
	}

	.top_service_wrap div.right {
		width: 50%;
	}

}


/* @media screen and (min-width: 481px) {
	.mobile_top {
		display: none;
	}

} */