@charset "UTF-8";

/*===================================================================
	components.html
===================================================================*/

.cmp_container h1,.cmp_container h2,.cmp_container h3,.cmp_container h4, #topicPath{word-break: break-word;}

/************ Components Parts Custom Propaties ************/
:root {
	--cmp-margin01:12px;
	--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-color-black01:#333333;
    

	--cmp-text-fs01:16px;
	--cmp-text-fs02:18px;
	--cmp-text-fs03:20px;
	--cmp-text-fs04:14px;
}
@media screen and (max-width: 767px) {
	:root {
		--cmp-margin01:80px;
		--cmp-margin02:40px;
		--cmp-margin03:32px;
		--cmp-margin04:24px;
		--cmp-margin05:20px;

	}
}

/************ 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;
}

* + .cmp_container{
    margin-top: 20px;
}


@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);*/
	margin-top:var(--cmp-margin02);
}

#listAnchers + .cmp_ttl02 {
	margin-top:var(--cmp-margin03);
}




.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 ,
.cmp_list01 > li > ul ,
.cmp_list01 > li > ol {
	margin-top:.5em;
}

/*追加 数字リスト*/
* + .cmp_list02 {
	margin-top:var(--cmp-margin-paragraph);
	font-size:var(--cmp-text-fs01);
}
.cmp_list02 > li {
    list-style-type: decimal;
    margin-left: 20px;
}
.cmp_list02 > li + li ,
.cmp_list02 > li > ul ,
.cmp_list02 > li > ol {
	margin-top:.5em;
}
/*追加 ■リスト*/
* + .cmp_list03 {
	margin-top:var(--cmp-margin-paragraph);
	font-size:var(--cmp-text-fs01);
}
.cmp_list03 > li {
	position:relative;
	padding-left:20px;
}
.cmp_list03 > li::before {
	content:"";
	display:block;
	border-radius: 0;
	width:.5em;
	height:.5em;
	background-color:var(--cmp-color-blue01);
	position:absolute;
	top:.5em;
	left:0;
}
.cmp_list03 > li + li ,
.cmp_list03 > li > ul ,
.cmp_list03 > li > ol {
	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;
    /*中央配置追加*/
    justify-content: center;
}
.cmp_btn_col > .cmp_btn {
}
* + .cmp_btn_col {
	margin-top:var(--cmp-margin05);
}

.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;
    font-weight: bold;
    word-break: break-word;
    text-align: center;
}
.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;*/
	width:20px;
	height:20px;
	/*vertical-align: -.125em;*/
	vertical-align: -0.2em;
}
.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.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;*/
	width:20px;
	height:20px;
	/*vertical-align: -.125em;*/
	vertical-align: -0.25em;
}
@media screen and (max-width: 767px) {
}


/*リンクリスト ここから*/
* + .cmp_link_list01 {
	/*margin-top:.3em;*/
	margin-top:1.5em;

}
*:not([class*="cmp_link_list"]) + .cmp_link_list01 {
	margin-top:var(--cmp-margin-paragraph);
}
/*フォントサイズ、余白の追加*/
.cmp_link_list01{
    font-size: var(--cmp-text-fs01);
}
.cmp_link_list01 > li + li {
	/*margin-top:.3em;*/
	margin-top:1.5em;
}
/*リンクリスト ここまで*/

/************ 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);
}
.cmp_box01.bdB {
    border-color: var(--cmp-color-black01);
}
.cmp_box01.bdB h1 {
    font-size: 28px;
}



@media screen and (max-width: 767px) {
	.cmp_box01 {
		padding:24px 16px;
	}
    .cmp_box01.bdB h1 {
        font-size: 22px;
    }
}

.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;*/
	width:20px;
	height:20px;
	/*background-image:url(/common/images/ico_pop_01.gif);*/
	background-image:url(/common/img/ico_pop_01.svg);
	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;
	}
}

/* 追加-------------------------------------------------------------*/

._inline-block{
    display: inline-block;
}
._inline{
    display: inline;
}
/*文中リンク*/
._inline.cmp_link:not(.rss,.ico_none)::before{
    margin-left: 7px;
}
._inline.cmp_link.blank img[src*="ico_pop"]{
    margin-left: 5px;
    margin-right: 5px;
}
.bdG{
    border:solid 1px #cccccc;
}

#contents .cmp_container p{
	font-size:var(--cmp-text-fs01);
    line-height: var(--cmp-margin-paragraph);
}

#contents .cmp_container p.fsS,
#contents .cmp_container p .fsS{
    font-size: 14px;
}
#contents .cmp_container p.fsL,
#contents .cmp_container p .fsL{
    font-size: 18px;
}
#contents .cmp_container img{
    max-width: 100%;
    height: auto;
}






.mainPC{display:block !important;}
.mainSP{display:none !important;}
@media screen and (max-width: 767px) {
    .mainPC{display:none !important;}
    .mainSP{display:block !important;}
}

.tindent{
    text-indent:1em;
}


/* メインビジュアル ここから*/
#contents .visual_container {
    width: 100%;
    max-width: 1920px;
    min-width: 1240px;
    margin: 0 auto 30px;
    
}
#contents .visual_container .mainvisual_guide {
	position:relative;
	z-index:500;
    width: 100%;
    height: 380px;
	overflow:hidden;
    text-align: center;
}
#contents .visual_container .mainvisual_guide img {
    margin:0 auto;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position:center;
}
@media screen and (max-width: 1240px) {
    #contents .visual_container .mainvisual_guide {
        height: 330px;
    }
    
}
@media screen and (max-width: 767px) {
    #contents .visual_container {
        max-width: 100%;
        min-width: 100%;
    }
    #contents .visual_container .mainvisual_guide {
        height: auto;
    }
    
}

/*画像なしの場合*/
#contents .visual_container .text_area{
    text-align: center;
    font-weight: bold;
    /*font-size: var(--cmp-margin03);*/
    font-size:30px;
    padding: 50px 15px;     
    max-width: 1240px;
    margin: 0px auto;
}

@media screen and (max-width: 767px) {
    #contents .visual_container .text_area{
        font-size: 23px;
    }
}


/* メインビジュアル ここまで*/
/* 目次 ここから*/

#contents #listAnchers {
}
#contents #listAnchers ul {
	max-width:1240px;
}
#contents #listAnchers ul li{
    float:left;
	/*margin-right:20px;*/
	margin-right:40px;
	margin-bottom:0;
	white-space:nowrap;
	font-size: var(--cmp-text-fs01);
	font-weight: bold;
	/*padding: 4px 0 4px 25px;*/
	padding: 14px 30px 14px 25px;
    position: relative;
}

#contents #listAnchers ul li::before {
    content: "";
    flex-shrink: 0;
    display: block;
    margin-right: 12px;
    width: 20px;
    height: 20px;
    background-image: url(/common/img/cmp_ico_img_01.svg);
    transform: rotate(90deg);
    background-size: cover;
    position: absolute;
    /*top: calc(.75em - 8px);*/
    top: 14px;
    left: 0px;
}

/* 目次 ここまで*/

/* 段組み ここから*/

.row {
	position: relative;
    margin: 0 -20px;
	*zoom: 1;
}
.row:after {
	content: '';
	display: block;
	clear: both;
}
.df{
	display:flex !important;
	flex-wrap: wrap;
}
.df._items-center{
	align-items: center;
}

.clearfix { display:inline-block; }
.clearfix:after { display:block; clear:both; height:0; visibility:hidden; content:" "; }



.grid2, .grid3, .grid4, .grid6, .grid8, .grid9, .grid12, .five_parts,
.sp-grid3, .sp-grid4, .sp-grid6, .sp-grid8, .sp-grid9, .sp-grid12, .sp-five_parts {
	float: left;
	padding: 0 20px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.grid12, .sp-grid12 { width: 100%;  }
.grid9, .sp-grid9  { width: 74.99997%;}
.grid8, .sp-grid8  { width: 66.66664%; }
.grid6, .sp-grid6  { width: 50%;}
.grid4, .sp-grid4  { width: 33.33333%; }
.grid3, .sp-grid3  { width: 25%; }
.grid2 { width: 16.66%; } /* grid2は基本のレイアウトでは使用しない */
.five_parts, .sp-five_parts { width: 20%; }

@media screen and (max-width: 1240px){
    .row {
        margin: 0 -20px;
    }
    .grid2, .grid3, .grid4, .grid6, .grid8, .grid9, .grid12, .five_parts,
    .sp-grid3, .sp-grid4, .sp-grid6, .sp-grid8, .sp-grid9, .sp-grid12, .sp-five_parts {
        padding: 0 20px;
    }
    .five_parts { width:33.33333%; }
}

@media screen and (max-width: 767px) {

    .row {
        margin: 0 -10px;
    }
    .grid2, .grid3, .grid4, .grid6, .grid8, .grid9, .grid12, .five_parts,
    .sp-grid3, .sp-grid4, .sp-grid6, .sp-grid8, .sp-grid9, .sp-grid12, .sp-five_parts {
        padding: 0 10px;
    }
    /*gridの割合変更*/
    .grid12 { width: 100%; }
    .grid9  { width: 100%; }
    .grid8  { width: 100%; }
    .grid6  { width: 100%; }
    .grid4  { width: 100%; }
    .grid3, .five_parts  { width: 50%;}
    .grid2  { width: 33.33333%; } /* grid2は基本のレイアウトでは使用しない */
    .sp-50{width: 50% !important;}
    .sp-100{width: 100% !important;}    
 
    .sp_mb10{margin-bottom: 10px;}
    .sp_mb15{margin-bottom: 15px;}
    .sp_mb20{margin-bottom: 20px;}
}

/* 段組み ここまで*/
/*単品画像まわり ここから*/
* + .cmp_images {
    margin-top: var(--cmp-margin-paragraph);
}

.cmp_images a:hover img,
.cmp_images a:focus img{
    background-color: #ffffff; opacity: 0.7;
}
.cmp_images a:hover .cmp_link,
.cmp_images a:focus .cmp_link{
    text-decoration: underline;
}





/*単品画像まわり ここまで*/
/*複数画像まわり ここから*/

.grid-layout{
    max-width: 1210px;
}
.grid-layout.-col2 {
  display: flex;
  flex-wrap: wrap;
  gap: var(--cmp-margin03) 3.5%;
}
.grid-layout.-col2.-col1 {
  gap: 0;
  justify-content: center;
}
.grid-layout.-col2 > * {
  width: calc((100% - (3.5% * (2 - 1))) / 2);
}
* + .grid-layout{
    margin-top: var(--cmp-margin03);
}
@media screen and (max-width: 767px) {
  .grid-layout.-col2 {
    gap: var(--cmp-margin03) 0;
  }
  .grid-layout.-col2 > * {
    width: 100%;
  }
}
.grid-layout.-col3 {
  display: flex;
  flex-wrap: wrap;
  gap: var(--cmp-margin03) 3.5%;
}
.grid-layout.-col3 > * {
  width: calc((100% - (3.5% * (3 - 1))) / 3);
}
@media screen and (max-width: 767px) {
  .grid-layout.-col3 {
    gap: var(--cmp-margin03) 0;
  }
  .grid-layout.-col3 > * {
    width: 100%;
  }
}
.grid-layout.-col4 {
  display: flex;
  flex-wrap: wrap;
  gap: var(--cmp-margin03) 3.5%;
}
.grid-layout.-col4 > * {
  width: calc((100% - (3.5% * (4 - 1))) / 4);
}
@media screen and (max-width: 767px) {
  .grid-layout.-col4 {
    gap: var(--cmp-margin05) 3.5%;
  }
  .grid-layout.-col4 > * {
    width: 100%;
    /* width: calc((100% - (3.5% * (2 - 1))) / 2); */
  }
}

/*文字サイズ*/
#contents .cmp_container .grid-layout p.pict-title{
    /*margin-bottom: 5px;*/
    margin-bottom: 8px;
    font-weight: bold;
    font-size: var(--cmp-text-fs02);
}
#contents .cmp_container .grid-layout p.pict-caption{
    /*margin-top: 5px;*/
    margin-top: 8px;
    font-size: var(--cmp-text-fs01);
}


.grid-layout .grid-item a:hover img,
.grid-layout .grid-item a:focus img{
    background-color: #ffffff; opacity: 0.7;
}
.grid-layout .grid-item a:hover .cmp_link,
.grid-layout .grid-item a:focus .cmp_link{
    text-decoration: underline;
}



/*複数画像まわり ここまで*/
/*表追加指定 ここから*/
/*表追加指定 ここから*/
.tblMod01{
    font-size:var(--cmp-text-fs01); 
}
/*表追加指定 ここまで*/
/*FAQ ここから*/
.faq_item .faq_question{
    display: grid;
    grid-template-columns: 1.5em auto;    
    line-height: 1.5em;
    position: relative;
    margin: 0 0 0 0;
    padding: 0em 0em 1em;
    font-size: var(--cmp-text-fs03);
    font-weight: bold;
}
.faq_item .faq_question::before{
    content: 'Q.';
    font-size: 1.1em;
    margin-left: 0em;
    padding-right: 0.5em;
    color:#10218B;
    font-weight: bold;
}
#contents .cmp_container .faq_item .faq_question p{
    padding-left: 0.5em;
    font-size: var(--cmp-text-fs03);
}
.faq_item .faq_answer{
    display: grid;
    grid-template-columns: 1.5em auto;    
    
    line-height: 1.5em;
    position: relative;
    /*display: block;*/
    margin: 0 0 0 0;
    padding: 0em 0em 1.5em;
    /*text-indent: 1em;*/
    font-size: var(--cmp-text-fs03);
}
.faq_item .faq_answer::before{
    content: 'A.';
    font-size: 1.1em;
    margin-left: 0em;
    padding-right: 0.5em;
    color:#D64214;
    font-weight: bold;
}
#contents .cmp_container .faq_item .faq_answer p{
    padding-left: 0.5em;
    font-weight: normal;
}

* + .faq_item{
    border-bottom: 1px solid var(--cmp-color-gray01);
    margin-bottom: var(--cmp-margin04);
    margin-top: var(--cmp-margin04);
}

@media screen and (max-width: 767px) {
    #contents .cmp_container .faq_item .faq_question p,
    #contents .cmp_container .faq_item .faq_answer p{
        padding: 0.4em 0.5em 0;
    }
}

/*FAQ ここまで*/
/*商標 ここから*/

.cmn-trademark .cmn-trademark__title {
    position: relative;
    margin: 70px 0 25px;
    padding: 0 0 0 36px;
    background-color: transparent;
    font-size: var(--cmp-text-fs02);
    font-weight: bold;
    line-height: 1.3;    
}
.cmn-trademark .cmn-trademark__title::before {
    content: '';
    position: absolute;
    left: 0;
    top: .4em;
    display: inline-block;
    width: 20px;
    height: 4px;
    background: #CBCBCB;
}

.cmn-trademark .cmn-trademark__title + .listCaution {
    margin-top: 24px;
}
.cmn-trademark ul {
    list-style: none;
}
.cmn-trademark .listCaution > li {
    position: relative;
    padding-left: 3.75em;
    font-size: var(--cmp-text-fs04);
    line-height: 1.6;
}
.listCaution > li .listCaution_firstLetter {
    position: absolute;
    left: 0;
    top: 0.03em;
}

/*商標 ここまで*/
/*テーブルスライド ここから*/
@media screen and (max-width: 767px) {
	.smp_slide{
		overflow:auto !important;
		-webkit-overflow-scrolling: touch;
		border:2px solid #eaeaea;
		margin-top:3px;
		border-radius:4px;
		padding: 0 0px 7px;
	}
	.smp_slide > table{
		width:767px !important;
		max-width:initial !important;
	}
}

/*テーブルスライド ここまで*/
/*サポート用*/
/*--------------------------------------------------------------------------------
oneLineBlock
--------------------------------------------------------------------------------*/
#contents .cmp_container .oneLineBlock {padding-bottom: 21px; border-bottom: 1px solid var(--cmp-color-gray01); width: 100%;}
#contents .cmp_container .oneLineBlock p.categoryTitle { font-size: 140%; font-weight: bold; }
.bdG { border: solid 1px var(--cmp-color-gray01); }
.bdGT{ border-top:solid 1px var(--cmp-color-gray01); }
.bdGB{ border-bottom:solid 1px var(--cmp-color-gray01); }














