@charset "UTF-8";

/*===================================================================
	components.html
===================================================================*/

/************ Components Parts Custom Propaties ************/
:root {
	--cmp-margin01:120px;
	--cmp-margin02:80px;
	--cmp-margin03:40px;
	--cmp-margin04:32px;
	--cmp-margin05:24px;
	--cmp-margin06:16px;

	--cmp-margin-paragraph:1.5em;

	--cmp-color-blue01:#005ab4;
	--cmp-color-red01:#FF3300;
	--cmp-color-gray01:#ccc;
	--cmp-color-gray02:#F0F1F4;

	--cmp-text-fs01:16px;
}
@media screen and (max-width: 767px) {
	:root {
		--cmp-margin01:80px;
		--cmp-margin02:40px;
		--cmp-margin03:32px;
		--cmp-margin04:24px;
		--cmp-margin05:20px;

		--cmp-margin-paragraph:1em;
	}
}

/************ Components Parts Style ************/
.cmp_color_blue01,
.cmp_color_blue01 > h1 {
	color:var(--cmp-color-blue01) !important;
}
.cmp_color_red01 {
	color:var(--cmp-color-red01);
}
.cmp_bold {
	font-weight:700;
}
@media (min-width: 768px) {
	.cmp_pc_none {
		display:none;
	}
}
@media screen and (max-width: 767px) {
	.cmp_sp_none {
		display:none;
	}
}


/************ Components Parts Container ************/
.cmp_container {
	box-sizing: border-box;
	margin-bottom:120px;
	overflow:hidden;
}
@media (min-width: 768px) {
	.cmp_container {
		margin-left:auto;
		margin-right:auto;
		padding:0 15px;
		width:1240px;
	}
}
@media screen and (max-width: 767px) {
	.cmp_container {
		margin-bottom:80px;
		padding-left:calc(15px - 2%);
		padding-right:calc(15px - 2%);
	}
}



/************ Components Parts Heading ************/
.cmp_ttl01 > h1,
.cmp_ttl02 > h2,
.cmp_ttl03 > h3,
.cmp_ttl04 > h4,
.cmp_ttl05 > h5,
.cmp_ttl06 > h6 {
	font-weight:700;
	line-height:1.5;
}
.cmp_ttl01 {
	margin-bottom:24px;
}
.cmp_ttl01:not(:first-child) {
	margin-top:var(--cmp-margin01);
}
.cmp_ttl01 > h1 {
	padding-top:.1em;
	font-size:34px;
	color:#000;
}
@media screen and (max-width: 767px) {
	.cmp_ttl01 {
		margin-bottom:18px;
	}
	.cmp_ttl01 > h1 {
		font-size:24px;
	}
}

.cmp_ttl02 {
	margin-bottom:var(--cmp-margin03);
}
*:not([class*="cmp_ttl"]) + .cmp_ttl02 {
	margin-top:var(--cmp-margin01);
}
.cmp_ttl02 > h2 {
	/* font-size:32px; */
	font-size:28px;
}
.cmp_ttl02 > h2 > .cmp_link {
}
.cmp_ttl02 > h2 > .cmp_link:before {
	width:24px;
	height:24px;
	top:calc(.75em - 12px);
}
@media (min-width: 768px) {
	.cmp_ttl02 {
		border-bottom:2px solid var(--cmp-color-gray01);
		padding-bottom:.5em;
	}
}
@media screen and (max-width: 767px) {
	.cmp_ttl02 > h2 {
		border-bottom:2px solid var(--cmp-color-gray01);
		padding-bottom:.5em;
		/* font-size:26px; */
		font-size:22px;
	}
}

.cmp_ttl03 {
	margin-bottom:var(--cmp-margin04);
}
*:not([class*="cmp_ttl"]) + .cmp_ttl03 {
	margin-top:var(--cmp-margin02);
}
.cmp_ttl03 > h3 {
	padding-left:20px;
	font-size:24px;
	position:relative;
}
.cmp_ttl03 > h3:before {
	content:"";
	display:block;
	border-left:4px solid var(--cmp-color-blue01);
	height:calc(100% - .25em);
	position:absolute;
	top:.125em;
	left:0;
}
.cmp_ttl03 > h3 .cmp_link.blank::after {
	vertical-align: 2%;
}
@media screen and (max-width: 767px) {
	.cmp_ttl03 > h3 {
		font-size:22px;
	}
}

.cmp_ttl04 {
	margin-bottom:var(--cmp-margin05);
}
*:not([class*="cmp_ttl"]) + .cmp_ttl04 {
	margin-top:var(--cmp-margin05);
}
.cmp_ttl04 > h4 {
	font-size:20px;
}
@media screen and (max-width: 767px) {
	.cmp_ttl04 > h4 {
		font-size:20px;
	}
}

.cmp_ttl05,
.cmp_ttl06 {
	margin-top:var(--cmp-margin06);
	margin-bottom:var(--cmp-margin06);
}
.cmp_ttl05 > h5,
.cmp_ttl06 > h6 {
	font-size:16px;
}
.cmp_ttl06 {
	color:var(--cmp-color-blue01);
}


/************ Components Parts Heading ************/
@media (min-width: 768px) {
	.cmp_ttl01.link,
	.cmp_ttl02.link,
	.cmp_ttl03.link {
		display:flex;
		justify-content: space-between;
		align-items: flex-end;
	}
	.cmp_ttl01.link > a,
	.cmp_ttl02.link > a,
	.cmp_ttl03.link > a {
		margin-left:20px;
		flex-shrink: 0;
		font-size:var(--cmp-text-fs01);
	}
}
@media screen and (max-width: 767px) {
	.cmp_ttl01.link > a,
	.cmp_ttl02.link > a,
	.cmp_ttl03.link > a {
		display:block;
		margin-top:10px;
		margin-left:auto;
		width:fit-content;
	}
}


/************ Components Parts Text ************/
.cmp_text01 {
	font-size:var(--cmp-text-fs01);
}
* + .cmp_text01 {
	margin-top:var(--cmp-margin-paragraph);
}
.cmp_text01 > img {
	margin-right:.4em;
}


/************ Components Parts List ************/
* + .cmp_list01 {
	margin-top:var(--cmp-margin-paragraph);
	font-size:var(--cmp-text-fs01);
}
.cmp_list01 > li {
	position:relative;
	padding-left:20px;
}
.cmp_list01 > li::before {
	content:"";
	display:block;
	border-radius: 50%;
	width:.5em;
	height:.5em;
	background-color:var(--cmp-color-blue01);
	position:absolute;
	top:.5em;
	left:0;
}
.cmp_list01 > li + li {
	margin-top:.5em;
}

* + .cmp_list_indent01 {
	margin-top:var(--cmp-margin-paragraph);
	font-size:var(--cmp-text-fs01);
}
.cmp_list_indent01 > li {
	display:flex;
}
.cmp_list_indent01 > li > .indent {
	flex-shrink: 0;
	margin-right:.3em;
}
.cmp_list_indent01 > li + li {
	margin-top:.5em;
}


/************ Components Parts Button ************/
.cmp_btn_col {
	display:flex;
	flex-wrap:wrap;
	margin-left:auto;
	margin-right:auto;
}
.cmp_btn_col > .cmp_btn {
}
.cmp_btn {
	box-sizing: border-box;
	display:flex;
	justify-content: center;
	align-items: center;
	border:0;
	font-size:1em;
	padding:10px 16px;
	min-height:72px;
	font-size:var(--cmp-text-fs01);
	cursor: pointer;
	position:relative;
}
.cmp_btn.anker::before {
	transform:rotate(90deg);
}
.cmp_btn.left {
	justify-content: flex-start;
}
.cmp_btn.text_center {
	text-align: center;
}
.cmp_btn:not(.reverse) {
	background-color:var(--cmp-color-blue01);
	color:#fff;
}
.cmp_btn:not(.reverse):visited {
	color:#fff;
}
.cmp_btn::before {
	content:"";
	flex-shrink: 0;
	display:block;
	margin-right:12px;
	width:20px;
	height:20px;
	background-image:url(/common/img/cmp_ico_img_02.svg);
	background-size:cover;
}
.cmp_btn.reverse {
	border:1px solid var(--cmp-color-blue01);
}
.cmp_btn.reverse:visited {
	color:var(--cmp-color-blue01);
}
.cmp_btn.reverse::before {
	background-image:url(/common/img/cmp_ico_img_01.svg);
}
.cmp_btn.search {
}
.cmp_btn.search::before {
	background-image:url(/common/img/cmp_ico_search_01.svg);
}
.cmp_btn.chat::before,
.cmp_btn.mail::before,
.cmp_btn.tel::before {
	margin-right:24px;
	width:40px;
	height:40px;
}
.cmp_btn.chat::before {
	background-image:url(/common/img/cmp_ico_chat_01.png);
}
.cmp_btn.mail::before {
	background-image:url(/common/img/cmp_ico_mail_01.png);
}
.cmp_btn.tel::before {
	background-image:url(/common/img/cmp_ico_tel_01.png);
}

.cmp_btn.blank > span img[src*="ico_pop"] {
	content:"";
	display:inline-block;
	margin-left:8px;
	width:15px;
	height:15px;
	vertical-align: -.125em;
}
.cmp_btn > img {
	padding-left:.5em;
	max-width:128px;
	width:auto;
	max-height:48px;
	height:auto;
}
.cmp_btn.left > img {
	margin-left:auto;
}
@media (min-width: 768px) {
	.cmp_btn_col {
	}
	.cmp_btn:not(.reverse):hover {
		text-decoration: none;
		opacity:.7;
	}
	.cmp_btn.reverse:hover {
		color:var(--cmp-color-blue01);
	}
	.cmp_btn.pc_center > span {
		margin:0 auto;
		padding-right:1em;
	}
	.cmp_btn_col:not([class*="pc_col_"]) > .cmp_btn {
		width:calc(100% / 3 - ((45px * 2) / 3));
	}
	.cmp_btn_col:not([class*="pc_col_"]) > .cmp_btn:not(:nth-child(-n+3)) {
		margin-top:24px;
	}
	.cmp_btn_col:not([class*="pc_col_"]) > .cmp_btn:not(:nth-child(3n+1)) {
		margin-left:45px;
	}
	.cmp_btn_col > .cmp_btn.pc_min {
		min-height:48px;
	}
	.cmp_btn_col.pc_col_4 > .cmp_btn {
		width:calc(100% / 4 - ((45px * 3) / 4));
		min-height:48px;
	}
	.cmp_btn_col.pc_col_4 > .cmp_btn:not(:nth-child(-n+4)) {
		margin-top:24px;
	}
	.cmp_btn_col.pc_col_4 > .cmp_btn:not(:nth-child(4n+1)) {
		margin-left:45px;
	}
}
@media screen and (max-width: 767px) {
	.cmp_btn_col {
		justify-content: space-between;
		margin-left:-8px;
		margin-right:-8px;
		margin-bottom:-16px;
		overflow: hidden;
	}
	.cmp_btn_col > .cmp_btn {
		margin-bottom:16px;
	}
	.cmp_btn {
		padding-left:44px;
		width:calc(100% - 70px - 16px);
		min-height:48px;
		word-break: break-all;
	}
	.cmp_btn::before {
		position:absolute;
		left:16px;
	}
	.cmp_btn_col .cmp_btn:not(.sp_min) {
		margin-left:auto;
		margin-right:auto;
		padding-right:20px;
	}
	.cmp_btn_col .cmp_btn.sp_min {
		justify-content: flex-start;
		margin-left:8px;
		margin-right:8px;
		padding-left:36px;
		width:calc(50% - 16px);
		font-size:14px;
	}
	.cmp_btn.sp_min::before {
		width:16px;
		height:16px;
		left:12px;
	}
	.cmp_btn.chat,
	.cmp_btn.mail,
	.cmp_btn.tel {
		padding-left:64px;
	}
	.cmp_btn.mail,
	.cmp_btn.tel {
		padding-right:64px;
	}
	.cmp_btn.chat::before,
	.cmp_btn.mail::before,
	.cmp_btn.tel::before {
		margin-right:0;
		width:32px;
		height:32px;
		left:24px;
	}
	.cmp_btn > img {
		max-width:64px;
		width:auto;
		max-height:24px;
		height:auto;
	}
}


/************ Components Parts Select ************/
.cmp_select {
	display:flex;
	align-items: center;
	font-size:var(--cmp-text-fs01);
}
.cmp_select > .cmp_select_heading {
	flex-shrink: 0;
	margin-right:16px;
}
.cmp_select > .cmp_select_item {
	box-sizing: border-box;
	position:relative;
	min-width:176px;
}
.cmp_select > .cmp_select_item::before {
	content:"";
	border-radius:10px 10px 0 0;
	width:48px;
	height:100%;
	background-image:url(/common/img/cmp_ico_img_03.svg);
	background-size:10px 10px;
	background-position: center;
	background-repeat:no-repeat;
	background-color:#fff;
	position:absolute;
	top:0;
	right:0;
	transform:rotate(90deg);
	pointer-events: none;
}
.cmp_select > .cmp_select_item::after {
	content:"";
	box-sizing: border-box;
	border-radius:10px;
	border:1px solid var(--cmp-color-gray01);
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	pointer-events: none;
}
.cmp_select .cmp_selected {
	display:flex;
	justify-content: center;
	border-radius:10px 0 0 10px;
	align-items: center;
	box-sizing: border-box;
	border-right:1px solid var(--cmp-color-gray01);
	width:calc(100% - 48px);
	height:calc(100% - 2px);
	background-color:var(--cmp-color-gray02);
	pointer-events: none;
	position:absolute;
	top:1px;
	left:1px;
}
.cmp_select > .cmp_select_item > select {
	display:block;
	border-radius:10px;
	border:0;
	padding:14px 72px 14px 24px;
	min-width:100%;
	height:100%;
	background:none;
	cursor: pointer;
	appearance: none;
	position:relative;
}
@media screen and (max-width: 767px) {
	.cmp_select {
		margin-left:auto;
		margin-right:auto;
		width:fit-content;
	}
	.cmp_select > .cmp_select_item {
		min-width:226px;
	}
}


/************ Components Parts Text Links ************/
.cmp_link {
	display:block;
	width:fit-content;
	box-sizing: border-box;
	color:var(--cmp-color-blue01);
	position:relative;
}
.cmp_link:not(.rss,.ico_none) {
	padding-left:32px;
}
.cmp_link.right {
	margin-left:auto;
}
.cmp_link.rss {
	padding-left:64px;
}
.cmp_link:hover {
	color:var(--cmp-color-blue01);
	text-decoration: underline;
}
.cmp_link:not(.ico_none)::before {
	content:"";
	display:block;
	background-size:cover;
	background-repeat: no-repeat;
	position:absolute;
	top:calc(.75em - 10px);
	left:0;
}
.cmp_link:not(.rss,.ico_none)::before {
	width:20px;
	height:20px;
	background-image:url(/common/img/cmp_ico_img_01.svg);
}
.cmp_link.new_window::before {
	width:20px;
	height:20px;
	background-image:url(/common/img/ico_pop_01.svg);
}
.cmp_link.anker:not(.rss,.ico_none)::before {
	transform:rotate(90deg);
}
.cmp_link.ico03 {
	padding-left:16px;	
}
.cmp_link.ico03::before {
	width:10px;
	height:10px;
	background-image:url(/common/img/cmp_ico_img_03.svg);
	top:calc(.75em - 5px);
}
.cmp_link.rss::before {
	width:53px;
	height:20px;
	background-image:url(/common/img/cmp_ico_rss.png);
}
.cmp_link.blank img[src*="ico_pop"] {
	content:"";
	display:inline-block;
	margin-left:12px;
	width:15px;
	height:15px;
	vertical-align: -.125em;
}
@media screen and (max-width: 767px) {
}

* + .cmp_link_list01 {
	margin-top:var(--cmp-margin-paragraph);
}
.cmp_link_list01 > li + li {
	margin-top:.3em;
}

/************ Components Parts Border ************/
.cmp_border {
	display:block;
	border-bottom:1px solid var(--cmp-color-gray01);
	width:100%;
	color:var(--cmp-color-blue01);
	background-color:var(--cmp-color-gray01);
	visibility: visible;
}
.cmp_border:not(:first-child) {
	margin-top:var(--cmp-margin03);
}
.cmp_border:not(:last-child) {
	margin-bottom:var(--cmp-margin03);
}


/************ Components Parts Box ************/
.cmp_box01 {
	box-sizing: border-box;
	border:1px solid var(--cmp-color-gray01);
	padding:32px;
	font-size:var(--cmp-text-fs01);
}
@media screen and (max-width: 767px) {
	.cmp_box01 {
		padding:24px 16px;
	}
}

.cmp_box02 {
	box-sizing: border-box;
	padding:16px;
	background-color:var(--cmp-color-gray02);
}


/************ Components Block Site Map ************/
.cmp_sitemap .cmp_ttl04 {
	margin-bottom:var(--cmp-margin06);
}
.cmp_sitemap_list > li + li {
	margin-top:.3em;
}
.cmp_sitemap {
	font-size:var(--cmp-text-fs01);
}
.cmp_sitemap + .cmp_sitemap {
	margin-top:var(--cmp-margin03);
}
@media (min-width: 768px) {
	.cmp_sitemap {
		display:flex;
		flex-wrap: wrap;
	}
	.cmp_sitemap > .cmp_ttl03 {
		width:100%;
	}
	.cmp_sitemap > .cmp_sitemap_item {
		width:calc(100% / 3 - ((50px * 2) / 3));
	}
	.cmp_sitemap > .cmp_sitemap_item:not(:nth-child(3n+1)) {
		margin-left:50px;
	}
	.cmp_sitemap > .cmp_sitemap_item:not(:nth-child(-n+3)) {
		margin-top:var(--cmp-margin03);
	}
}
@media screen and (max-width: 767px) {
	.cmp_sitemap > .cmp_sitemap_item + .cmp_sitemap_item {
		margin-top:var(--cmp-margin03);
	}
	.cmp_sitemap > .cmp_sitemap_item.sp_mt0 {
		margin-top:.3em;
	}
}


/************ Components Block News Search ************/
.cmp_news_search {
}
.cmp_news_search > .cmp_box01 {
	padding-top:20px;
	padding-bottom:24px;
}
.cmp_news_search > .cmp_box01 > h2 {
	font-size:24px;
}
.cmp_news_search > .cmp_box01 > .cmp_text01 {
	margin-top:10px;
	margin-bottom:20px;
}
.cmp_news_search_reset {
	display:block;
	margin:32px auto 0;
	border:0;
	width:fit-content;
	color:var(--cmp-color-blue01);
	font-size:20px;
	background:none;
	cursor: pointer;
}
.cmp_news_search_reset::before {
	content:"";
	display:inline-block;
	margin-right:.5em;
	width:20px;
	height:20px;
	vertical-align: -.125em;
	background-image:url(/common/img/cmp_ico_reset_01.svg);
}
.cmp_news_search .cmp_select > .cmp_select_item {
	min-width:0;
}
@media (min-width: 768px) {
	.cmp_news_search {
		display:flex;
		flex-wrap:wrap;
		justify-content: space-between;
	}
	.cmp_news_search > .cmp_box01 {
		display:flex;
		flex-direction: column;
	}
	.cmp_news_search > .cmp_box01:not(.category) {
		width: calc(100% / 3 - (45px / 2));
	}
	.cmp_news_search > .cmp_box01.category {
		width: calc((100% / 3 * 2) - (45px / 2));
	}
	.cmp_news_search .cmp_select,
	.cmp_news_search .cmp_news_select_wrap {
		margin-top:auto;
	}
	.cmp_news_search .cmp_news_select_wrap {
		display:flex;
	}
	.cmp_news_search .cmp_news_select_wrap {

	}
	.cmp_news_search .cmp_news_select_wrap > .cmp_select + .cmp_select {
		flex:1;
		margin-right:24px;
		margin-left:24px;
		border-left:1px solid var(--cmp-color-gray01);
		padding-left:24px;
	}
	.cmp_news_search .cmp_news_select_wrap > .cmp_select + .cmp_select .cmp_select_item {
		width:100%;
	}
	.cmp_news_search .cmp_news_select_wrap > .cmp_btn.search {
		flex-shrink: 0;
		width:164px;
		margin-left:auto;
		min-height:0;
	}
}
@media screen and (max-width: 767px) {
	.cmp_news_search > .cmp_box01 + .cmp_box01 {
		margin-top:10px;
	}
	.cmp_news_search > .cmp_box01 > h2 {
		font-size:22px;
	}
	.cmp_news_search > .cmp_box01 > .cmp_text01 {
		margin-bottom:16px;
	}
	.cmp_news_search .cmp_select {
		width:100%;
	}
	.cmp_news_search .cmp_select_item {
		margin-left:auto;
		width:calc(100% - 3em);
	}
	.cmp_news_search .cmp_news_select_wrap > .cmp_select + .cmp_select {
		margin-top:15px;
	}
	.cmp_news_search .cmp_news_select_wrap > .cmp_btn.search {
		margin:25px auto 0;
		padding-right:32px;
		width:165px;
	}
	.cmp_news_search_reset {
		margin-top:16px;
	}
}


/************ Components Block News List ************/
.cmp_news_list {
}
.cmp_news_list .cmp_news_list_item {
	display:flex;
	align-items: flex-start;
}
.cmp_news_list.wrap .cmp_news_list_item {
	flex-wrap: wrap;
}
.cmp_news_list .cmp_news_list_item + .cmp_news_list_item {
	margin-top:32px;
}
.cmp_news_list .cmp_news_list_item_date {
	display:flex;
	align-items: center;
	flex-shrink: 0;
	width:125px;
	height:28px;
	margin-right:20px;
}
.cmp_news_list .cmp_news_list_item_category {
	flex-shrink: 0;
	margin-right:20px;
}
.cmp_news_list .cmp_news_list_item_category .iconBtn {
	display: block;
	width: 85px;
	padding: 0 0 0 5px;
	text-align: center;
	border: 1px solid #c7c7c7;
}
.cmp_news_list .cmp_news_list_item_category .iconBtn span{
	font-weight: bold;
	display: block;
	font-size:86%;
	padding: 4px 0;
}
.cmp_news_list .cmp_news_list_item_category .iconBtn.iconR span{
	border-left: 5px solid #679ec5;
}
.cmp_news_list .cmp_news_list_item_category .iconBtn.iconI span{
	border-left: 5px solid #ffde00;
}
.cmp_news_list .cmp_news_list_item_category .iconBtn.iconE span{
	border-left: 5px solid #80b159;
}
.cmp_news_list .cmp_news_list_item_category .iconBtn.iconC span{
	border-left: 5px solid #ee8896;
}
.cmp_news_list .cmp_news_list_item_category .iconBtn.iconS span{
	border-left: 5px solid #f6a92f;
}
.cmp_news_list .cmp_news_list_item_title {
	width:100%;
	font-size:var(--cmp-text-fs01);
}
@media screen and (max-width: 767px) {
	.cmp_news_list .cmp_news_list_item {
		flex-wrap:wrap;
	}
	.cmp_news_list .cmp_news_list_item_title {
		margin-top:10px;
	}
	.cmp_news_list .cmp_news_list_item_date {
		width:120px;
	}
}


/************ Components Block RSS Link ************/
.cmp_rsslink > .cmp_box01 {

}
.cmp_rsslink > .cmp_box01 + .cmp_box01 {
	margin-top:24px;
}
@media screen and (max-width: 767px) {
	.cmp_rsslink > .cmp_box01 {
		padding-top:16px;
		padding-bottom:16px;
	}
	.cmp_rsslink > .cmp_box01 {
		margin-top:16px;
	}
}


/************ Components Block Contact Banner ************/
.cmp_contact_bnr {
	font-size:var(--cmp-text-fs01);
}
.cmp_contact_bnr .cmp_contact_bnr_item > * {
	display:block;
}
.cmp_contact_bnr .cmp_contact_bnr_item > a {
	position:relative;
}
.cmp_contact_bnr .cmp_contact_bnr_item > span {
	margin-top:20px;
}
.cmp_contact_bnr img {
	max-width:100%;
	height:auto;
}
.cmp_contact_bnr .cmp_contact_bnr_item > a[target="_blank"] img[src*=ico_pop] {
	content:"";
	margin-left:8px;
	width:15px;
	height:15px;
	background-image:url(/common/images/ico_pop_01.gif);
	background-size:cover;
	background-repeat: no-repeat;
	position:absolute;
	top:10px;
	right:10px;
}
@media (min-width: 768px) {
	.cmp_contact_bnr {
		display:flex;
		flex-wrap: wrap;
	}
	.cmp_contact_bnr .cmp_contact_bnr_item {
		width:calc(100% / 4 - ((45px * 3) / 4));
	}
	.cmp_contact_bnr .cmp_contact_bnr_item > a:hover {
		opacity:.5;
	}
	.cmp_contact_bnr .cmp_contact_bnr_item > a:hover ~ span {
		color:var(--cmp-color-blue01);
		text-decoration: underline;
	}
	.cmp_contact_bnr .cmp_contact_bnr_item:not(:nth-child(4n+1)) {
		margin-left:45px;
	}
	.cmp_contact_bnr .cmp_contact_bnr_item:not(:nth-child(-n+4)) {
		margin-top:45px;
	}
}
@media screen and (max-width: 767px) {
	.cmp_contact_bnr {
		display:flex;
		flex-wrap: wrap;
	}
	.cmp_contact_bnr .cmp_contact_bnr_item {
		width:calc(100% / 2 - (15px / 2));
	}
	.cmp_contact_bnr .cmp_contact_bnr_item > a:hover {
		opacity:.7;
	}
	.cmp_contact_bnr .cmp_contact_bnr_item:not(:nth-child(2n+1)) {
		margin-left:15px;
	}
	.cmp_contact_bnr .cmp_contact_bnr_item:not(:nth-child(-n+2)) {
		margin-top:24px;
	}
	.cmp_contact_bnr .cmp_contact_bnr_item > span {
		margin-top:12px;
	}
	.cmp_contact_bnr .cmp_contact_bnr_item > a[target="_blank"]:after {
		top:5px;
		right:5px;
	}
}


/************ ec Page Style ************/
.cmp_ec_item {
	font-size:var(--cmp-text-fs01);
}
.cmp_ec_item + .cmp_ec_item {
	margin-top:40px;
}
.cmp_ec_item > .cmp_ec_img > a {
	display:block;
}
.cmp_ec_item > .cmp_ec_img img {
	width:100%;
	height:auto;
}
.cmp_ec_item .cmp_ec_ttl {
	font-size:18px;
}
.cmp_ec_item .cmp_ec_txt {
	margin-top:16px;
}
.cmp_ec_item .cmp_ec_detail {
	box-sizing: border-box;
	margin-top:10px;
	border:1px solid var(--cmp-color-gray01);
}
.cmp_ec_item .cmp_ec_detail > dl {
	display:flex;
	box-sizing: border-box;
}
.cmp_ec_item .cmp_ec_detail > dl > dt {
	flex-shrink: 0;
}
@media (min-width: 768px) {
	.cmp_ec_item {
		display:flex;
	}
	.cmp_ec_item > .cmp_ec_img {
		flex-shrink:0;
		margin-right:40px;
		width:383px;
	}
	.cmp_ec_item > .cmp_ec_img > a:hover {
		opacity:.7;
	}
	.cmp_ec_item > .cmp_ec_txt_wrap {
		flex:1;
	}
	.cmp_ec_item .cmp_ec_detail {
		display:flex;
		flex-wrap:wrap;
		padding:12px 0 7px 12px;
	}
	.cmp_ec_item dl {
		padding-right:12px;
		padding-bottom:5px;
	}
	.cmp_ec_item dl:not(.cmp_ec_detail_full) {
		min-width:42%;
	}
	.cmp_ec_item .cmp_ec_detail_full {
		width:100%;
	}
}
@media screen and (max-width: 767px) {
	.cmp_ec_item + .cmp_ec_item {
		margin-top:32px;
	}
	.cmp_ec_item .cmp_ec_ttl {
		margin-top:16px;
	}
	.cmp_ec_item .cmp_ec_txt {
		margin-top:12px;
	}
	.cmp_ec_item .cmp_ec_detail {
		padding:16px;
	}
	.cmp_ec_item .cmp_ec_detail > dl + dl {
		margin-top:4px;
	}
}

.cmp_ec_report_list {
	font-size:var(--cmp-text-fs01);
}
.cmp_ec_report_item > .cmp_ec_report_img > a {
	display:block;
}
.cmp_ec_report_item > .cmp_ec_report_img img {
	display:block;
	width:100%;
	height:auto;
}
.cmp_ec_report_item .cmp_ec_report_ttl {
	margin-top:20px;
	font-size:18px;
}
.cmp_ec_report_item .cmp_ec_report_txt {
	margin-top:12px;
}
@media (min-width: 768px) {
	.cmp_ec_report_list {
		display:flex;
		flex-wrap:wrap;
	}
	.cmp_ec_report_list > .cmp_ec_report_item {
		width:calc(100% / 3 - ((75px * 2) / 3));
	}
	.cmp_ec_report_list > .cmp_ec_report_item:not(:nth-child(3n+1)) {
		margin-left:75px;
	}
	.cmp_ec_report_list > .cmp_ec_report_item:not(:nth-child(-n+3)) {
		margin-top:40px;
	}
	.cmp_ec_report_item > .cmp_ec_report_img > a:hover {
		opacity:.7;
	}
}
@media screen and (max-width: 767px) {
	.cmp_ec_report_list > .cmp_ec_report_item + .cmp_ec_report_item {
		margin-top:32px;
	}
}



/************ products Page Style ************/
.cmp_product_sec {
	font-size:var(--cmp-text-fs01);
}
.cmp_product_list {
	display:flex;
}
.cmp_product_item > a {
	display:block;
	position:relative;
}
.cmp_product_item .cmp_product_item_img {
	display:flex;
	justify-content: center;
	align-items: center;
	border:1px solid var(--cmp-color-gray01);
	box-sizing: border-box;
	height:166px;
	position:relative;
}
.cmp_product_item .cmp_product_item_img img {
	max-width:100%;
	height:auto;
}
.cmp_product_item .cmp_product_item_txt {
	margin-top:20px;
}
@media (min-width: 768px) {
	.cmp_product_sec {
		--cmp_product_sec-margin:45px;
		display:flex;
	}
	.cmp_product_sec > .cmp_product_list {
		flex-wrap:wrap;
		width:100%;
	}
	.cmp_product_sec + .cmp_product_sec {
		margin-top:30px;
	}
	.cmp_product_sec > .cmp_product_list > li {
		width:calc(100% / 5 - ((var(--cmp_product_sec-margin) * 4) / 5));
	}
	.cmp_product_sec > .cmp_product_list > li:not(:nth-child(5n+1)) {
		margin-left:var(--cmp_product_sec-margin);
	}
	.cmp_product_sec > .cmp_product_list > li:not(:nth-child(-n+5)) {
		margin-top:30px;
	}
	.cmp_product_sec > .cmp_product_sec_inner + .cmp_product_sec_inner {
		margin-left:var(--cmp_product_sec-margin);
	}
	.cmp_product_sec > .cmp_product_sec_inner .cmp_product_list > li + li {
		margin-left:var(--cmp_product_sec-margin);
	}
	.cmp_product_sec > .cmp_product_sec_inner.pc_colspan_2 {
		width:calc((100% / 5 - ((var(--cmp_product_sec-margin) * 4) / 5)) * 2 + var(--cmp_product_sec-margin));
	}
	.cmp_product_sec > .cmp_product_sec_inner.pc_colspan_2 .cmp_product_list > li {
		width:calc(100% / 2 - (var(--cmp_product_sec-margin) / 2));
	}
	.cmp_product_sec > .cmp_product_sec_inner.pc_colspan_3 {
		width:calc(((100% / 5 - ((var(--cmp_product_sec-margin) * 4) / 5)) * 3) + (var(--cmp_product_sec-margin) * 2));
	}
	.cmp_product_sec > .cmp_product_sec_inner.pc_colspan_3 .cmp_product_list > li {
		width:calc(100% / 3 - ((var(--cmp_product_sec-margin) * 2) / 3));
	}
	.cmp_product_item > a:hover .cmp_product_item_img img {
		opacity:.7;
	}
	.cmp_product_item > a:hover .cmp_link {
		color:var(--cmp-color-blue01);
	}
	.cmp_product_item .cmp_product_item_txt {
		margin-right:-.5em;
	}
}
@media screen and (max-width: 767px) {
	.cmp_product_list {
		flex-wrap:wrap;
	}
	.cmp_product_sec + .cmp_product_sec {
		margin-top:20px;
	}
	.cmp_product_sec > .cmp_product_sec_inner + .cmp_product_sec_inner {
		margin-top:20px;
	}
	.cmp_product_list > li {
		width:calc(100% / 2 - (15px / 2));
	}
	.cmp_product_list > li:not(:nth-child(2n+1)) {
		margin-left:15px;
	}
	.cmp_product_list > li:not(:nth-child(-n+2)) {
		margin-top:15px;
	}
	.cmp_product_item .cmp_product_item_img {
		height:130px;
	}
	.cmp_product_item .cmp_product_item_img img {
		max-width:80%;
	}
	.cmp_product_item .cmp_product_item_txt {
		margin-top:10px;
	}
	.cmp_product_item > a.blank::after {
		top:24px;
		right:24px;
	}
}