@charset 'UTF-8';
/* ------ link ------ */
a {
	color: inherit;
	text-decoration: none;
}

a:hover {
	color: inherit;
}

/* ------ base ------ */
address,
body,
dd,
div,
dl,
dt,
figure,
form,
h1,
h2,
h3,
h4,
h5,
input,
li,
ol,
p,
select,
table,
td,
th,
ul {
	margin: 0;
	padding: 0;
}

html {
	font-size: 62.5%;
	background-color: #555;
	/*10px*/
}

@media screen and (max-width: 767px) {
	html {
		font-size: 59.375%;
		/* 62.5% * .95 */
	}
}

body {
	color: #222;
	background-color: #fff;
	margin: 0;
	font-family: 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'ＭＳ ゴシック', sans-serif;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 100%;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

a img,
img {
	border: 0;
	vertical-align: bottom;
}

li,
ul {
	list-style: none;
}

.ipad body,
.iphone body,
.ipod body,
.mac body {
	font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Helvetica, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
}

* {
	box-sizing: border-box;
}

table {
	width: 100%;
}

input[type=text],
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border-radius: 0;
	font-size: 16px;
	font-size: 1.6rem;
}

input[type='submit'],
input[type='button'],
input[type='password'] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border-radius: 1;
	font-size: 16px;
	font-size: 1.6rem;
}

small,
.small {
	font-size: 10px !important;
	font-size: 1rem !important;
}

img {
	width: 100%;
	/*max-width: 100%;*/
	height: auto;
}

.pc,
.sp,
.tablet {
	display: none;
}

@media screen and (min-width: 990px) {
	.pc {
		display: block;
	}
}

@media screen and (min-width: 768px) and (max-width: 989px) {
	.tablet {
		display: block;
	}
}

@media screen and (max-width: 767px) {
	.sp {
		display: block;
	}
}

/* ------ clearfix ------ */
.clearfix:after {
	content: '';
	display: block;
	clear: both;
}

/*.external:after {
	font-family: 'icomoon';
	content: '\e948';
	padding-left: 4px;
	width: 12px;
	height: 10px;
}*/

@media screen and (max-width: 989px) {
	.external:after {
		position: absolute;
		right: 15px;
	}
}

/* ------ header ------ */
@media screen and (min-width: 990px) {
	.mod_header {
		position: fixed;
		width: 100%;
		z-index: 100;
		background-color: #fff;
		border-bottom: #146A69 3px solid;
	}
}

.mod_headerarea {
	display: flex;
	max-width: 1184px;
	width: calc(100% - 30px);
	margin: auto;
	background-color: #fff;
}

@media screen and (max-width: 989px) {
	.mod_headerarea {
		position: fixed;
		width: 100%;
		z-index: 20;
		border-bottom: #146A69 3px solid;
	}
}

.logo {
	margin: 20px auto 27px 0;
}

@media screen and (max-width: 989px) {
	.logo {
		margin: 23px auto 30px 15px;
	}
}

.logo img {
	max-width: 256px;
	height: auto;
}

@media screen and (max-width: 989px) {
	.logo img {
		max-width: 153px;
	}
}

@media screen and (max-width: 989px) {
	.mod_gnavi {
		display: none;
	}
}

.mod_gnavi > ul {
	display: flex;
	margin: 40px 40px 0 0;
}

.mod_gnavi > ul > li {
	position: static;
}

.mod_gnavi > ul > li > a,
.mod_gnavi > ul > li > span {
	display: block;
	font-size: 15px;
	font-size: 1.5rem;
	padding: 0 20px;
	border-left: #e2e2e2 1px solid;
}

.mod_gnavi > ul > li > span {
	cursor: pointer;
}

.mod_gnavi > ul > li:first-child > a {
	border-left: none;
	padding-left: 0;
}

.mod_gnavi > ul > li:last-child > a {
	padding-right: 0;
}

.mod_gnavi > ul > li > span span {
	margin-left: 9px;
	font-size: 16px;
	font-size: 1.6rem;
	vertical-align: text-bottom;
}

.mod_gnavi ul li a span {
	margin-left: 9px;
	font-size: 16px;
	font-size: 1.6rem;
	vertical-align: text-bottom;
}

.mod_gnavi > ul > li > a:hover {
	color: #146a69;
}

#home .mod_gnavi .gnhome a,
#case .mod_gnavi .gncase a,
#product .mod_gnavi .gnproduct a,
#konnatokoro .mod_gnavi .gncolumn a,
#column .mod_gnavi .gncolumn a,
#environment .mod_gnavi .gncolumn a,
#quality .mod_gnavi .gncolumn a,
#project .mod_gnavi .gncolumn a,
#library .mod_gnavi .gnlibrary a {
	color: #146a69;
	font-weight: 700;
}

.mod_gnavi .gncontact,
.mod_gnavi .gnmagazine {
	display: none;
}

.mod_gnavi > ul > li:hover ul {
	display: block;
}

.mod_gnavi li ul {
	display: none;
	position: absolute;
	top: 58px;
	padding-top: 31px;
}

.mod_gnavi li ul li {
	background-color: #146A69;
	border: #fff 1px solid;
	border-top: none;
}

.mod_gnavi li ul a {
	color: #fff;
	padding: 14px 20px 16px;
	display: block;
	font-size: 15px;
	font-size: 1.5rem;
}

.mod_gnavi li ul a:hover {
	text-decoration: underline;
}

.mod_gnavi li ul a span {
	margin-right: 9px;
	display: inline-block;
}

/* 各ページ：ヘッダー横ボタン */
.mod_btnbox {
	margin: 38px 0 0 0;
}

@media screen and (max-width: 989px) {
	.mod_btnbox {
		display: none;
	}
}

.mod_btnbox a {
	color: #fff;
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: 700;
	border-radius: 2px;
	padding-top: 1px;
	padding: 13px 20px 14px;
}

.mod_btnbox a:not(:last-of-type) {
	margin-right: 10px;
}

.mod_btnbox .btncontact {
	background-color: #8FC43E;
}

.mod_btnbox .btncontact:hover {
	opacity: .8;
}

/* ------ footerbtnbox ------ */
.mod_footerbtnbox {
	background-image: linear-gradient(to right,#39c1bf,#00ad4c);
	padding: 60px 15px;
	text-align: center;
	margin-top: 60px;
}

.bg_1 + .mod_footerbtnbox {
	margin-top: 0;
}

.mod_footerbtnbox p {
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.4;
	color: #fff;
}

@media screen and (min-width: 768px) {
	.mod_footerbtnbox p br {
		display: none;
	}
}

.mod_footerbtnbox .contactbtn {
	margin-top: 15px;
}

@media screen and (max-width: 767px) {
	.mod_footerbtnbox .contactbtn {
		margin-top: 20px;
	}
}

.mod_footerbtnbox .contactbtn a {
	display: block;
	position: relative;
	max-width: 572px;
	width: 100%;
	margin: auto;
	padding: 20px 10px;
	border-radius: 3px;
	color: #146a69;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
	background-color: #fff;
}

.mod_footerbtnbox .contactbtn a:hover {
	color: #fff;
	background-color: #146a69;
}

.mod_footerbtnbox .contactbtn .icon_after {
	font-size: 16px;
	font-size: 1.6rem;
	margin-left: 6px;
}

/* ------ footer ------ */
.mod_footer1 {
	background-color: #7b7b7b;
	display: flex;
	flex-wrap: wrap;
	/*align-items: center;*/
	justify-content: center;
	padding: 40px 0;
}

.mod_footer2 {
	background-color: #555;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	padding: 40px 0;
	height: 100%;
}

@media screen and (max-width: 767px) {
	.mod_footergnavi {
		width: 50%;
	}
}

.mod_footergnavi ul,
.mod_footerinfo ul {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
}

@media screen and (max-width: 767px) {
	.mod_footergnavi ul {
		flex-direction: column;
		align-items: flex-start;
		padding-left: 0;
		border-left: none;
		margin-left: 15px;
	}
}

.mod_footergnavi:last-child ul {
	margin-left: 20px;
	padding-left: 20px;
	border-left: 1px solid #999999;
}

@media screen and (max-width: 767px) {
	.mod_footergnavi:last-child ul {
		margin-left: 15px;
		padding-left: 0;
		border-left: none;
	}
}

.mod_footergnavi li:not(:first-of-type) {
	margin-left: 20px;
	padding-left: 20px;
	border-left: 1px solid #999999;
}

.mod_footergnavi li a {
	color: #fff;
	font-size: 14px;
	font-size: 1.4rem;
}

@media screen and (max-width: 767px) {
	.mod_footergnavi li:not(:first-of-type) {
		margin-left: 0px;
		margin-top: 20px;
		padding-left: 0;
		border-left: none;
	}
}

.mod_footerinfo {
	width: 100%;
}

.mod_footerinfo li:not(:first-of-type) {
	margin-left: 15px;
	padding-left: 15px;
	border-left: 1px solid #666666;
}

.mod_footerinfo li a {
	color: #fff;
	font-size: 12px;
	font-size: 1.2rem;
}

.mod_footergnavi li a:hover,
.mod_footerinfo li a:hover {
	text-decoration: underline;
}

.mod_sicopy {
	color: #fff;
	font-size: 12px;
	font-size: 1.2rem;
	display: block;
	margin-top: 10px;
}

.mod_btntop {
	display: none;
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 50;
}

.mod_btntop a {
	padding-top: 13px;
	width: 48px;
	height: 48px;
	background: black no-repeat 14px 17px;
	color: #ffffff !important;
	font-weight: bold;
	display: block;
	text-align: center;
	border-radius: 3px;
	opacity: .5;
}

.icon-arrow_24_pagetop {
	font-size: 24px;
	font-size: 2.4rem;
}

/* ------ 共通レイアウト ------ */
.contents {
	padding-top: 89px;
	background-color: #f0f0f0;
}

@media screen and (max-width: 989px) {
	.contents {
		padding-top: 79px;
	}
}

.detail .contents {
	background-color: #fff;
}

.container {
	max-width: 1184px;
	width: calc(100% - 30px);
	margin: auto;
}

.container.w980 {
	max-width: 980px;
}

.container_2col,
.container_3col {
	display: flex;
	justify-content: space-between;
	max-width: 1184px;
	width: calc(100% - 30px);
	margin: auto;
}

@media screen and (max-width: 989px) {
	.container_2col,
	.container_3col {
		display: block;
	}
}

.detail .container_2col {
	position: relative;
	z-index: 10;
	margin-top: 40px;
}

@media screen and (max-width: 989px) {
	.detail .container_2col {
		margin-top: 40px;
	}
}

@media screen and (max-width: 767px) {
	.detail .container_2col {
		width: 100%;
	}
}

.mod_maincolumn {
	width: calc(100% - 306px);
}

/*#column .mod_maincolumn {
	width: calc(100% - 408px);
}*/

@media screen and (max-width: 989px) {
	.mod_maincolumn {
		width: 100% !important;
	}
}

.mod_subcolumn {
	width: 266px;
}

/*#column .mod_subcolumn {
	width: 368px;
}*/

@media screen and (max-width: 989px) {
	.mod_subcolumn {
		width: 100% !important;
		margin-top: 40px;
	}
}

/* ------ module ------ */
/* 各ページ：アイキャッチ */
.mod_eyecatch {
	display: flex;
	align-items: center;
	position: relative;
	width: 100%;
	height: auto;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

.index .mod_eyecatch {
	align-items: flex-start;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: bottom right;
	height: 180px;
	position: relative;
}

.detail .mod_eyecatch {
	height: auto;
}

@media screen and (max-width: 767px) {
	.detail .mod_eyecatch {
		padding-bottom: 20px;
		border-bottom: #E2E2E2 1px solid;
	}
}

.mod_eyecatcharea {
	width: calc(100% - 30px);
	max-width: 1184px;
	margin: 0 auto;
	z-index: 11;
}

.index .mod_eyecatcharea {
	position: relative;
	top: 50%;
	transform: translateY(-50%);
}

.mod_eyecatcharea .title {
	font-size: 34px;
	font-size: 3.4rem;
	font-weight: 500;
	line-height: 1.4;
	color: #fff;
}

.mod_eyecatcharea .title img {
	width: 100%;
}

.mod_eyecatcharea .subtitle {
	margin-top: 14px;
	color: #fff;
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1.4;
}

.mod_eyecatcharea .btnsolution {
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 265px;
	height: 41px;
	margin-top: 14px;
	background-color: #00a0e9;
	border-radius: 3px;
	color: #fff;
	font-size: 16px;
	font-size: 1.6rem;
}

@media screen and (max-width: 989px) {
	.mod_eyecatcharea .btnsolution {
		margin: 14px auto 0;
	}
}

.mod_eyecatcharea .btnsolution:hover {
	color: #00a0e9;
	background-color: #fff;
}

.mod_eyecatcharea .btnsolution .icon_after {
	margin: -3px 0 0 5px;
	font-size: 23px;
	font-size: 2.3rem;
}

/* 各ページ：パンくずリスト */
.mod_topicpath {
	display: flex;
	flex-wrap: wrap;
	margin-top: 20px;
}

.mod_topicpath li {
	margin-right: 10px;
	font-size: 13px;
	font-size: 1.3rem;
	line-height: 1.4;
}

.mod_topicpath li:last-child {
	margin-right: 0;
}

.mod_topicpath li .icon-arrow_16_right_s {
	font-size: 16px;
	font-size: 1.6rem;
	color: #666;
	vertical-align: -2px;
}

.mod_topicpath li a {
	color: #146A69;
}

.mod_topicpath li a:hover {
	text-decoration: underline;
}

.mod_topicpath li .icon-arrow_4_1 {
	font-size: 18px;
	font-size: 1.8rem;
}

.mod_topicpath + .title {
	margin-top: 42px;
}

/* 各ページ：見出し */
.mod_title1 {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	width: 100%;
	margin-top: 40px;
}

.mod_title1 .title {
	font-size: 24px;
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.4;
}

/*.mod_title1:before {
	content: '';
	position: absolute;
	width: 4px;
	height: 4px;
	background-color: #2f7ab4;
	left: 0;
	top: 0;
}

.mod_title1:after {
	content: '';
	position: absolute;
	width: 4px;
	height: calc(100% - 5px);
	background-color: #00a0e9;
	left: 0;
	bottom: 0;
}*/

.mod_title1 .btnmore {
	color: #146a69;
	font-size: 13px;
	font-size: 1.3rem;
	margin-right: auto;
	margin-left: 15px;
	padding: 4px 0 5px 15px;
	border-left: #CCCCCC 1px solid;
}

.mod_title1 .btnmore:hover {
	text-decoration: underline;
}

.mod_title1 .btnmore .icon_after {
	margin-left: 6px;
	font-size: 16px;
	font-size: 1.6rem;
	vertical-align: -2px;
}

.mod_title1 .btnmore:hover .icon_after {
	text-decoration: none;
	display: inline-block;
}

.mod_h21 {
	font-size: 24px;
	font-size: 2.4rem;
	line-height: 1.4;
	margin-top: 40px;
}

.mod_h22 {
	font-size: 26px;
	font-size: 2.6rem;
	line-height: 1.4;
	margin-top: 40px;
	display: inline-block;
}

.mod_h22.cr1 {
	color: #EE8219;
	border: 1px solid #EE8219;
	padding: 3px 10px 4px;
}

.mod_h22.cr2 {
	color: #146A69;
	border: 1px solid #146A69;
	padding: 3px 10px 4px;
}

.mod_h23 {
	font-size: 24px;
	font-size: 2.4rem;
	line-height: 1.4;
	margin-top: 60px;
	padding: 15px 20px;
	background-color: #146A69;
	color: #fff;
	font-weight: 500;
}

.mod_anchor1 + .mod_h23 {
	margin-top: 40px;
}

.mod_h24 {
	margin-top: 60px;
	font-size: 24px;
	font-size: 2.4rem;
	line-height: 1.4;
	font-weight: 500;
	text-align: center;
}

.mod_h24 span {
	position: relative;
	display: inline-block;
	padding: 0 120px;
}

.mod_h24 span::before,
.mod_h24 span::after {
	content: '';
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 100px;
	height: 2px;
	background-color: #146A69;
}
 
.mod_h24 span::before {
	left: 0;
}
 
.mod_h24 span::after {
	right: 0;
}

@media screen and (max-width: 767px) {
	.mod_h24 span {
		padding: 0 70px;
	}
	
	.mod_h24 span::before,
	.mod_h24 span::after {
		width: 50px;
	}
}

/*#konnatokoro,
#environment,
#product {
	margin-top: -89px;
	padding-top: 89px;
}*/

.mod_h31 {
	margin-top: 35px;
	padding: 0 0 1px 15px;
	border-left: 5px solid #146A69;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.4;
}

.mod_textbox2 + .mod_h31 {
	margin-top: 70px;
}

.mod_h32 {
	margin-top: 35px;
	font-size: 20px;
	font-size: 2rem;
	padding-left: 45px;
	text-indent:  -45px;
}

.mod_h32 span {
	background-color: #EE8219;
	color: #fff;
	display: inline-block;
	margin-right: 15px;
	font-size: 18px;
	font-size: 1.8rem;
	padding: 9px 0px;
	text-indent: 0;
	text-align: center;
	width: 32px;
}

.mod_h33 {
	margin-top: 35px;
	font-size: 20px;
	font-size: 2rem;
	line-height: 1.4;
}

/* 記事：ページタイトル */
.mod_pagetitle1 {
	position: relative;
}

.mod_pagetitle1 .corp {
	font-size: 16px;
	font-size: 1.6rem;
}

@media screen and (max-width: 767px) {
	.mod_pagetitle1 .corp {
		margin: 0 15px;
		display: flex;
		align-items: center;
	}
}

.mod_pagetitle1 .corp span {
	color: #fff;
	margin-right: 15px;
	padding: 10px 10px;
	display: inline-block;
	min-width: 100px;
	text-align: center;
}

.mod_pagetitle1 .corp span + span {
	margin-bottom: 10px;
}

.mod_pagetitle1 h1 {
	font-size: 24px;
	font-size: 2.4rem;
	line-height: 1.4;
}

.mod_pagetitle1 .corp + h1 {
	margin-top: 20px;
}

.mod_pagetitle1 h1 span {
	font-size: 20px;
	font-size: 2rem;
	font-weight: 500;
	padding-bottom: 8px;
	display: inline-block;
}

@media screen and (max-width: 767px) {
	.mod_pagetitle1 h1,
	.mod_pagetitle1 p {
		margin-left: 15px;
		margin-right: 15px;
	}
}

.mod_pagetitle1 .titleimg {
	margin-top: 20px;
	width: 100%;
}

.mod_pagetitle1 .titleimg + p.small1 {
	margin-top: 10px;
	font-size: 13px;
	font-size: 1.3rem;
	line-height: 1.4;
}

@media screen and (max-width: 767px) {
	.mod_pagetitle1 .titleimg + p.small1 {
    margin-left: 15px;
		margin-right: 15px;
	}
}

.mod_pagetitlearea {
	padding: 40px 0;
}

@media screen and (min-width: 990px) {
	.mod_pagetitlearea > .thu {
		width: 470px;
		float: right;
	}

	.mod_pagetitlearea > .mod_pagetitle2 {
		width: calc(100% - 40px - 470px);
		float: left;
	}
}

@media screen and (max-width: 989px) {
	.mod_pagetitlearea > .thu {
		margin-top: 40px;
	}
}

.mod_pagetitlearea > .textbox {
	width: 100%;
	margin-top: 30px;
	padding: 25px;
	background-color: #FFFFFF;
	border-radius: 6px;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.4;
}

@media screen and (min-width: 990px) {
	.mod_pagetitlearea > .textbox {
		width: calc(100% - 40px - 470px);
		float: left;
		margin-top: 40px;
	}
}

.mod_pagetitlearea > .textbox > p {
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.4;
	margin-top: 0;
	display: flex;
}

.mod_pagetitlearea > .textbox > p + p {
	margin-top: 20px;
}

.mod_pagetitlearea > .textbox > p >span {
	white-space: nowrap;
	font-weight: 700;
}

.mod_pagetitle2 h1 {
	font-size: 32px;
	font-size: 3.2rem;
	line-height: 1.4;
}

.mod_pagetitle2 h1 > span {
	border-left: #EE8219 5px solid;
	padding-left: 15px;
	display: inline-block;
}

.mod_pagetitlearea > .mod_pagetitle2 h1 > span {
	border-left: #8FC43E 5px solid;
}

.mod_pagetitle2 h1 .ts {
	font-size: 26px;
	font-size: 2.6rem;
}

.mod_pagetitle1 p,
.mod_pagetitle2 p {
	font-size: 21px;
	font-size: 2.1rem;
	line-height: 1.4;
	margin-top: 15px;
}

/* 本文系パーツ */
@media screen and (max-width: 767px) {
	.mod_textarea1 {
		margin-left: 15px;
		margin-right: 15px;
	}
}

.mod_textarea1 p {
	margin-top: 20px;
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1.8;
}

.mod_textarea1 p a {
	color: #146a69;
	text-decoration: underline;
}

.mod_textarea1 p a:hover {
	text-decoration: none;
}

.mod_textarea1 > p a span {
	margin-left: 6px;
	color: #00a0e9;
	text-decoration: none;
	display: inline-block;
}

.mod_textarea1 .small1 {
	font-size: 13px;
	font-size: 1.3rem;
	line-height: 1.4;
}

.mod_textarea1 .caption1 {
	margin-top: 10px;
	line-height: 1.4;
}

.mod_textarea1 .mod_textbox1 {
	margin-top: 20px;
	padding: 20px;
	border: 1px solid #e2e2e2;
}

.mod_textarea1 .mod_textbox3 {
	margin-top: 20px;
	padding: 5px 25px 25px;
	background-color: #F0F0F0;
}

.mod_textarea1 .mod_textbox1 p:first-child,
.mod_textarea1 .mod_textbox3 p:first-child {
	margin-top: 0;
}

.mod_textarea1 .mod_title1 {
	margin-top: 60px;
}

/* リスト */

.mod_ul1,
.mod_ol1 {
	padding-top: 5px;
	padding-left: 20px;
}

.mod_ul1 p,
.mod_ol1 p {
	margin-top: 15px;
	line-height: 1.4;
}

.mod_ul1 p + p,
.mod_ol1 p + p {
	margin-top: 10px;
}

.mod_ul1 li {
	position: relative;
}

.mod_ul1 li:before {
	content: '';
	position: absolute;
	top: 6px;
	left: -20px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: #EE8219;
}

.mod_ol1 li {
	position: relative;
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1.4;
	list-style-type: decimal;
}

@media screen and (min-width: 990px) {
	.mod_ul2 {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
}

.mod_ul2 li {
	counter-increment: count;
	background-color: #fff;
	margin-top: 20px;
	padding: 15px;
}

@media screen and (min-width: 990px) {
	.mod_ul2 li {
		width: calc((100% - 20px) / 2);
	}
}

.mod_ul2 li p {
	margin-top: 0;
	padding-left: 47px;
	line-height: 1.4;
	font-weight: 700;
	position: relative;
	min-height: 32px;
	display: flex;
	align-items: center;
}

.mod_ul2 li p::before {
	content: counter(count);
	font-family: Arial, Helvetica, sans-serif;
	background: #8FC43E;
	border-radius: 50%;
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	width: 32px;
	height: 32px;
	text-align: center;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 500;
	top: 0;
	left: 0;
}

/* コンテンツリスト */

.mod_conlist1 {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: 50px;
}

.mod_conlist1 li {
	width: calc((100% - 160px) / 3);
}

.mod_conlist1 .list_img {
	display: block;
	max-width: 180px;
	margin: auto;
}

.mod_conlist1 .list_title {
	margin-top: 20px;
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1.4;
	text-align: center;
}

.mod_conlist1 .list_text {
	margin-top: 20px;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.4;
}

@media screen and (max-width: 989px) and (min-width: 768px) {
	.mod_conlist1 .list_title {
		margin-top: 0;
	}
	
	.mod_conlist1 .textbox {
		margin-left: 30px;
	}
	
	.mod_conlist1 .list_title {
		text-align: left;
	}
	
	.mod_conlist1 .list_title br {
		display: none;
	}
	
	.mod_conlist1 .list_img {
		margin: auto 0;
		flex: 1 0 180px;
	}
}

@media screen and (max-width: 989px) {
	.mod_conlist1 li {
		display: flex;
		align-items: center;
		width: 100%;
	}
	.mod_conlist1 li + li {
		margin-top: 40px;
	}
	.mod_conlist1 .textbox {
		text-align: left;
	}
}

@media screen and (max-width: 767px) {
	.mod_conlist1 li {
		display: block;
	}
}

/* 画像配置 */

.mod_img-c {
	width: 100%;
}

.mod_img-c dd {
	margin: 20px auto 0;
	max-width: 674px;
}

.mod_img-c2,
.mod_img-c3 {
	width: 100%;
	display: flex;
	margin: auto;
}

.mod_img-c3.col4 {
	justify-content: space-between;
	flex-wrap: wrap;
}

@media screen and (max-width: 989px) {
	.mod_img-c2 {
		display: block;
	}
}

@media screen and (max-width: 767px) {
	.mod_img-c3 {
		display: block;
	}
}

.mod_img-c2 dd,
.mod_img-c3 dd {
	margin-top: 20px;
	margin-left: 40px;
	max-width: 419px;
}

.mod_img-c3.col4 dd {
	margin-left: 0;
	width: calc((100% - (40px * 3)) / 4);
	max-width: 100%;
}

@media screen and (max-width: 989px) {
	.mod_img-c2 dd {
		max-width: 674px;
		margin: 20px auto 0;
	}
	
	.mod_img-c3.col4 dd {
		width: calc((100% - 40px) / 2);
	}
}

@media screen and (min-width: 990px) {
	.mod_img-c2 dd:first-child {
		margin-left: 0;
	}
}

@media screen and (max-width: 767px) {
	.mod_img-c3 dd {
		margin: 20px auto 0;
	}
	
	.mod_img-c3.col4 dd {
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
}

@media screen and (min-width: 768px) {
	.mod_img-c3 dd:first-child {
		margin-left: 0;
	}
}

.mod_img-l {
	float: left;
}

.mod_img-r {
	float: right;
}

@media screen and (max-width: 767px) {
	.mod_img-l,
	.mod_img-r {
		float: none;
	}
}

.mod_img-l dd {
	margin: 23px 20px 0 0;
	max-width: 368px;
	width: 100%;
}

.mod_img-r dd {
	margin: 23px 0 0 20px;
	max-width: 368px;
	width: 100%;
}

@media screen and (max-width: 767px) {
	.mod_img-l dd,
	.mod_img-r dd {
		margin: 20px auto 0 !important;
		width: 100%;
	}
}

.mod_img-c dd.border img,
.mod_img-c2 dd.border img,
.mod_img-c3 dd.border img,
.mod_img-r dd.border img,
.mod_img-l dd.border img {
	border: #e2e2e2 1px solid;
}

.mod_img-c dd p,
.mod_img-c2 dd p,
.mod_img-c3 dd p,
.mod_img-r dd p,
.mod_img-l dd p {
	margin-top: 10px;
	line-height: 1.4;
}

.mod_img-c dd.center p,
.mod_img-c2 dd.center p,
.mod_img-c3 dd.center p,
.mod_img-r dd.center p,
.mod_img-l dd.center p {
	text-align: center;
}

.mod_img-c dd a p,
.mod_img-c2 dd a p,
.mod_img-c3 dd a p,
.mod_img-r dd a p,
.mod_img-l dd a p {
	color: #146a69;
	text-decoration: underline;
}

.mod_img-c dd a:hover p,
.mod_img-c2 dd a:hover p,
.mod_img-c3 dd a:hover p,
.mod_img-r dd a:hover p,
.mod_img-l dd a:hover p {
	text-decoration: none;
}

/* 動画配置 */
.mod_movie {
	margin: 20px auto 0;
	width: 100%;
	max-width: 674px;
}

.mod_movie-wrap {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}

.mod_movie-wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


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

@media screen and (max-width: 767px) {
	.mod_conbox7 {
		display: block;
	}
	.mod_conbox7 .text {
		max-width: 100% !important;
	}
}

.mod_imgcenter1 {
	width: 100%;
	padding-top: 3px;
}

.mod_imgcenter1.border {
	border: #e2e2e2 1px solid;
}

.mod_conbox2 > dd {
	width: calc((100% - 40px) / 2 );
	float: left;
	margin: 35px 40px 0 0;
}

@media screen and (max-width: 767px) {
	.mod_conbox2 > dd {
		float: none;
		width: 100%;
		margin-right: 0;
	}
}

.mod_conbox2 > dd:nth-child(2n) {
	margin-right: 0;
}

.mod_conbox2 dd h3 {
	font-size: 20px;
	font-size: 2rem;
	padding-left: 45px;
	text-indent:  -45px;
}

.mod_conbox2 dd h3 span {
	background-color: #EE8219;
	color: #fff;
	display: inline-block;
	margin-right: 15px;
	font-size: 18px;
	font-size: 1.8rem;
	padding: 9px 0px;
	text-indent: 0;
	text-align: center;
	width: 32px;
}

.mod_conbox2 dd .mod_h31 {
	padding-left: 15px;
	text-indent:  inherit;
}

.mod_conbox2 dd .mod_h31:first-of-type {
	margin-top: 0;
}

.mod_conbox2 dd.border img {
	border: #e2e2e2 1px solid;
}

/* 事例：ポイント */
.mod_textbox2 {
	position: relative;
	margin: 35px 0 30px;
	padding: 25px;
	background-color: #D6EFEF;
}

@media screen and (max-width: 767px) {
	.mod_textbox2 {
		margin-left: -15px;
		margin-right: -15px;
	}
}

.mod_textbox2:before {
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 30px 30px 0 30px;
	border-color: #D6EFEF transparent transparent transparent;
	bottom: -30px;
	left: calc(50% - 30px);
}

.mod_textbox2 .title {
	color: #222;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
}

.mod_textbox2 .list {
	margin-top: 26px;
}

.mod_textbox2 .list li {
	counter-increment: count;
	background-color: #fff;
	border-top: 1px solid #D6EFEF;
}

.mod_textbox2 .list li p {
	margin-top: 0;
	min-height: 50px;
	position: relative;
	padding: 14px 10px 14px 65px;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.4;
}

.mod_textbox2 .list li p:before {
	content: counter(count);
	font-family: Arial, Helvetica, sans-serif;
	background: #EE8219;
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	width: 50px;
	height: 100%;
	text-align: center;
	font-size: 21px;
	font-size: 2.1rem;
	top: 0;
	left: 0;
}

.mod_textbox2 .list.c2 li p:before {
	background: #146A69;
}

@media screen and (max-width: 767px) {
	.mod_textbox2 .list li p:before {
		height: 100%;
	}
}

/* テキストボックス */
.mod_textbox4 {
	margin-top: 45px;
	background-color: #FFFFFF;
	width: 100%;
}

@media screen and (min-width: 768px) {
	.mod_textbox4 {
		display: flex;
		justify-content: space-between;
	}
}

.mod_textbox4 + .mod_textbox4 {
	margin-top: 40px;
}

.mod_textbox4.style2 {
	background-color: #8FC43E;
	padding: 40px;
	margin-bottom: 30px;
	position: relative;
}

@media screen and (max-width: 767px) {
	.mod_textbox4.style2 {
		width: 100vw;
		margin-right: calc(50% - 50vw);
		margin-left: calc(50% - 50vw);
		padding-left: 15px;
		padding-right: 15px;
	}
}

.mod_textbox4.style2::before {
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 30px 30px 0 30px;
	border-color: #8FC43E transparent transparent transparent;
	bottom: -30px;
	left: calc(50% - 30px);
}

.mod_textbox4 > .text {
	width: 398px;
	padding: 30px;
	background-color: #FFFFFF;
}

@media screen and (max-width: 767px) {
	.mod_textbox4 > .text {
		width: 100%;
	}
}

@media screen and (min-width: 768px) {
	.mod_textbox4.style2 > .text {
		width: calc((100% - 40px) / 2);
	}
}

@media screen and (max-width: 767px) {
	.mod_textbox4.style2 > .text + .text {
		margin-top: 20px;
	}
}

.mod_textbox4 > .text > .mod_h32 {
	margin-top: 0;
}

.mod_textbox4 > .text > .mod_h32 span {
	background-color: #8FC43E;
	border-radius: 50%;
	font-weight: 500;
}

.mod_textbox4 > .text > p {
	font-size: 16px;
	font-size: 1.6rem;
}

@media screen and (min-width: 768px) {
	.mod_textbox4 > .img {
		width: calc(100% - 10px - 398px);
	}
}

@media screen and (max-width: 767px) {
	.mod_textbox4 > .img {
		margin-top: -10px;
		width: 100%;
	}
}

/* 次のページへボタン */
.mod_btnnext {
	padding-top: 35px;
}

.mod_btnnext a {
	display: block;
	max-width: 674px;
	margin: 0 auto;
	border-radius: 3px;
	text-decoration: none;
	background-color: #146A69;
	position: relative;
	font-size: 18px;
	font-size: 1.8rem;
	padding: 15px 15px 14px;
	text-align: center;
}

@media screen and (max-width: 767px) {
	.mod_btnnext a {
		padding: 15px 0 14px 10px;
	}
}

.mod_btnnext .wrap {
	display: inline-block;
	padding-left: 76px;
	position: relative;
}

.mod_btnnext .icon {
	background: #fff;
	line-height: 18px;
	padding: 0 6px 0 8px;
	font-size: 10px;
	font-size: 1rem;
	font-weight: bold;
	display: inline-block;
	color: #146A69;
	position: absolute;
	top: 50%;
	left: 0;
	margin: -9px 0 0;
	letter-spacing: -.1px;
}

.mod_btnnext .icon:after {
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 9px 0 9px 7px;
	border-color: transparent transparent transparent #fff;
	right: -7px;
	top: 0;
}

.mod_btnnext .text {
	margin: 0;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 700;
	color: #fff;
	text-align: left;
	line-height: 1.4;
}

.mod_btnnext a:hover {
	background-color: #2c7978;
}

.mod_btnnext a:hover .icon,
.mod_btnnext a:hover .text {
	text-decoration: underline;
}

/* 横幅100%ボタン */
.mod_btn1 {
	padding-top: 40px;
}

.mod_btn1 a {
	display: block;
	width: 100%;
	margin: 0 auto;
	border-radius: 3px;
	text-decoration: none;
	background-color: #8EC33C;
	position: relative;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.4;
	color: #fff;
	padding: 15px 10px 16px;
	text-align: center;
}

#product.detail .mod_btn1 a {
	max-width: 572px;
}

.mod_btn1 .icon {
	display: inline-block;
	margin-left: 6px;
	font-size: 16px;
	font-size: 1.6rem;
}

.mod_btn1 a:hover {
	opacity: .8;
	text-decoration: underline;
}

/* ページャー */
.mod_btnpagebox {
	margin: 60px 0 0 0;
	padding: 20px 0 0 0;
	border-top: 1px solid #e2e2e2;
	text-align: center;
	vertical-align: top;
	font-family: Arial, Helvetica, sans-serif;
}

@media screen and (max-width: 767px) {
	.mod_btnpagebox {
		margin-left: -15px;
		margin-right: -15px;
	}
}

.mod_btnpagebox .on {
	display: inline-block;
	margin: 0 5px;
	background-color: #146A69;
	border: 1px solid #146A69;
	color: #fff;
	padding: 5px 8px 3px;
	font-size: 13px;
	font-size: 1.3rem;
}

.mod_btnpagebox .off {
	display: inline-block;
	margin: 0 5px;
}

.mod_btnpagebox .off a {
	display: inline-block;
	background-color: #fff;
	border: 1px solid #146A69;
	color: #146A69;
	margin: 0;
	padding: 5px 8px 3px;
	font-size: 13px;
	font-size: 1.3rem;
	text-decoration: none;
}

.mod_btnpagebox .off a:hover {
	background-color: #146A69;
	color: #fff;
}

/* 製品情報バナー */
.mod_bnrarea1 {
	margin-top: 20px;
}

.mod_bnrarea1 a {
	display: flex;
	flex-wrap: wrap;
	position: relative;
	width: 100%;
	min-height: 188px;
	background-color: #146A69;
	color: #fff;
}

@media screen and (max-width: 767px) {
	.mod_bnrarea1 a {
		border-left: 0;
		padding: 0;
	}
}

.mod_bnrarea1 .thu {
	width: calc(100% / 2);
	height: auto;
	background-color: #fff;
	display: inline-table;
}

/*.mod_bnrarea1:nth-child(2n) .thu {
	order: 2;
}*/

@media screen and (max-width: 767px) {
	.mod_bnrarea1 .thu {
		width: 100%;
	}
	
	.mod_bnrarea1:nth-child(2n) .thu {
		order: 1;
	}
}

.mod_bnrarea1 .textbox {
	width: calc(100% / 2);
	padding: 30px;
}

.mod_bnrarea1:nth-child(2n) .textbox {
	order: 1;
}

@media screen and (max-width: 767px) {
	.mod_bnrarea1 .textbox {
		padding: 20px;
		width: 100%;
	}

	.mod_bnrarea1:nth-child(2n) .textbox {
		order: 2;
	}
}

.mod_bnrarea1 .textbox .title {
	font-size: 24px;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.4;
	padding-left: 20px;
}

.mod_bnrarea1 .textbox .title > span {
	border-left: #EE8219 5px solid;
	padding-left: 15px;
	padding-left: calc(15px - 0.000001px);
	margin-left: -20px;
}

.mod_bnrarea1 .textbox .title .ts {
	font-size: 20px;
	font-size: 2rem;
}

.mod_bnrarea1 a:hover .title {
	text-decoration: underline;
}

.mod_bnrarea1 .textbox .text {
	margin-top: 10px;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.4;
}

.mod_bnrarea1 .textbox .btnmore {
	margin-top: 20px;
	border: #fff 1px solid;
	border-radius: 2px;
	display: inline-block;
	padding: 5px 9px 5px 10px;
	font-size: 12px;
	font-size: 1.2rem;
}

.mod_bnrarea1 a:hover .textbox .btnmore {
	color: #146a69;
	background-color: #fff;
}

.mod_bnrarea1 .textbox .btnmore .icon_after {
	margin-left: 4px;
	font-size: 16px;
	font-size: 1.6rem;
	vertical-align: -2px;
}

/* フッターバナー */
.container_2col + .bg_1 {
	margin-top: 60px;
}

.mod_bnrarea2 {
	max-width: 856px;
	width: calc(100% - 30px);
	margin: 0 auto;
	padding-top: 60px;
}

.container_2col + .bg_1 > .mod_bnrarea2 {
	padding-bottom: 60px;
}

.mod_bnrarea2 a {
	display: block;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: bottom right;
	height: 180px;
	position: relative;
}

.mod_bnrarea2 a + a {
	margin-top: 30px;
}

.mod_bnrarea2 a.solution {
	background-image: url("/solution/img/bg_h1.jpg");
}

.mod_bnrarea2 a.techpolymer {
	background-image: url("/img_com/bnr_techpolymer.jpg");
}

.mod_bnrarea2 .textbox {
	padding: 40px 40px 0;
	line-height: 1.4;
}

.mod_bnrarea2 .solution .textbox {
	color: #fff;
}

.mod_bnrarea2 .techpolymer .textbox {
	padding-top: 50px;
}

@media screen and (max-width: 767px){
	.mod_bnrarea2 {
		max-width: 345px;
	}
	
	#home .mod_bnrarea2 {
		padding-top: 40px;
	}
	
	.mod_bnrarea2 a {
		height: 193px;
	}
	
	.mod_bnrarea2 a.solution {
		background-image: url("/solution/img/bg_h1_s.jpg");
	}
	
	.mod_bnrarea2 a.techpolymer {
		background-image: url("/img_com/bnr_techpolymer_s.jpg");
	}
	
	.mod_bnrarea2 .textbox {
		padding: 25px 25px 0;
	}
	
	.mod_bnrarea2 .techpolymer .textbox {
		padding-top: 40px;
	}
}

.mod_bnrarea2 .textbox h3 {
	font-size: 23px;
	font-size: 2.3rem;
	font-weight: 500;
}

.mod_bnrarea2 a:hover .textbox h3 {
	text-decoration: underline;
}

.mod_bnrarea2 .textbox p {
	font-size: 16px;
	font-size: 1.6rem;
	margin-top: 12px;
}

@media screen and (min-width: 768px){
	.mod_bnrarea2 .textbox p br {
		display: none;
	}
}

.mod_bnrarea2 .btnmore {
	margin-top: 0 !important;
	border-radius: 2px;
	display: inline-block;
	padding: 5px 9px 5px 10px;
	color: #146a69;
	font-size: 12px !important;
	font-size: 1.2rem !important;
	background-color: #fff;
	position: absolute;
	bottom: 30px;
	left: 40px;
}

@media screen and (max-width: 767px){
	.mod_bnrarea2 .btnmore {
		bottom: 35px;
		left: 25px;
	}
}

.mod_bnrarea2 a:hover .btnmore {
	color: #fff;
	background-color: #146a69;
}

.mod_bnrarea2 .btnmore .icon_after {
	margin-left: 6px;
	font-size: 16px;
	font-size: 1.6rem;
	vertical-align: -2px;
}

/* ボタン */
.mod_btninquiry {
	margin-top: 60px;
}

.mod_btninquiry a {
	display: block;
	position: relative;
	max-width: 572px;
	width: 100%;
	margin: auto;
	padding: 15px;
	border: 2px solid #146a69;
	border-radius: 3px;
	color: #146a69;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
}

.mod_btninquiry a:hover {
	background-color: #146a69;
	color: #fff;
}

.mod_btninquiry .icon_after {
	margin-left: 6px;
	font-size: 16px;
	font-size: 1.6rem;
}

/* ホーム：コラムと製品の２カラム */
.mod_2col {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

@media screen and (max-width: 767px) {
	.mod_2col {
		display: block;
	}
}

.mod_colset1 {
	width: calc((100% - 80px) / 12 * 8 + 40px);
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

@media screen and (max-width: 989px) {
	.mod_colset1 {
		width: 100%
	}
}

.mod_colset1 .mod_colset2 {
	width: calc((100% - 40px) / 2);
}

@media screen and (max-width: 767px) {
	.mod_colset1 .mod_colset2 {
		width: 100%;
	}
}

.mod_colset2 {
	width: calc((100% - 80px) / 12 * 4);
}

@media screen and (max-width: 989px) {
	.mod_colset2 {
		width: 100%;
	}
}

.mod_colset1 .mod_set1 {
	width: calc((100% - 40px) / 2);
}

@media screen and (max-width: 767px) {
	.mod_colset1 .mod_set1 {
		width: 100%
	}
}

@media screen and (max-width: 990px) {
	.mod_2col .mod_colset1,
	.mod_2col .mod_set {
		width: 100%;
	}
	
	.mod_2col .mod_colset1 + .mod_colset1 {
		margin-top: 60px;
	}
}

/* ソリューション：バナーボックスの3カラム */
.mod_3col {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

@media screen and (max-width: 767px) {
	.mod_3col {
		display: block;
	}
}

@media screen and (min-width: 990px) {
	.mod_3col:after {
		content: '';
		display: block;
		width: calc((100% - 80px) / 3);
	}
}

.mod_3col .mod_colset1 {
	width: calc((100% - 80px) / 3);
}

@media screen and (max-width: 989px) {
	.mod_3col .mod_colset1 {
		width: calc((100% - 40px) / 2);
	}
}

@media screen and (max-width: 767px) {
	.mod_3col .mod_colset1 {
		width: 100%;
	}
}

.mod_3col .mod_bnrarea .bnr1 a {
	border-left: 0;
	padding: 0;
}

.mod_3col .mod_bnrarea .bnr1 .line {
	display: block;
}

.mod_3col .mod_bnrarea .bnr1 .thu {
	position: static;
	width: auto;
	height: auto;
}

.mod_3col .mod_bnrarea .bnr1 .textbox {
	padding: 20px;
}

/* 記事一覧 */
.mod_conbox1,
.mod_conbox8 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.mod_conbox8.search-item-empty {
	display: none;
}

.mod_conbox8:not(.search-item-empty) + .mod_conbox8 {
	margin-top: 40px;
	border-top: #d1d1d1 1px solid;
	padding-top: 20px;
}

.mod_catch + .mod_conbox1 {
	margin-top: 15px;
}

@media screen and (max-width: 989px) {
	.mod_conbox8 {
		display: block;
	}
}

@media screen and (max-width: 767px) {
	.mod_conbox1 {
		display: block;
	}
}

@media screen and (min-width: 990px) {
	.mod_conbox1:after {
		content: '';
		display: block;
		width: calc((100% - 80px) / 3);
	}
}

.mod_conbox8.style2 > .col {
	width: calc((100% - 40px) / 2);
}

@media screen and (max-width: 989px) {
	.mod_conbox8.style2 > .col {
		width: 100%;
	}
}

.mod_conbox8.style2 + .mod_h21 {
	border-top: #D1D1D1 1px solid;
	padding-top: 40px;
}


.mod_set1 {
	width: calc((100% - 80px) / 3);
	margin-top: 20px;
}

.container_3col .mod_set1 {
	width: 100%;
}

@media screen and (max-width: 989px) {
	.mod_set1 {
		width: calc((100% - 40px) / 2);
	}
}

@media screen and (max-width: 767px) {
	.mod_set1 {
		width: 100%;
	}
}

.mod_set1 a {
	display: block;
	position: relative;
	background-color: #ffffff;
	border-bottom: #146a69 3px solid;
}

.mod_set1 .thu {
	overflow: hidden;
}

.mod_set1 .catbox {
	position: absolute;
	top: 20px;
	left: 20px;
}

.mod_set1 .cat {
	font-size: 13px;
	font-size: 1.3rem;
	display: inline;
	color: #ffffff;
	border: #ffffff 1px solid;
	padding: 7px 10px;
	position: absolute;
	top: 20px;
	left: 20px;
	min-width: 87px;
	text-align: center;
}

.mod_set1 .catbox > .cat {
	display: inline-block;
	position: relative;
	top: 0;
	left: 0;
}

.mod_set1 .catbox > .cat + .cat {
	margin-left: 10px;
}

@media screen and (max-width: 767px) {
	.mod_set1 .cat {
		min-width: 74px;
	}
}

.cat1 {
	background-color: #e8624a;
}

.cat2 {
	background-color: #2035aa;
}

.cat3 {
	background-color: #2fa0e6;
}

.cat4 {
	background-color: #ee8219;
}

.cat5 {
	background-color: #8A6DD8;
}

.cat6 {
	background-color: #24b7bf;
}

.cat7 {
	background-color: #800000;
}

.mod_set1 .textbox {
	margin: 20px;
}

.mod_set1 .title {
	font-size: 24px;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.4;
	padding-left: 20px;
}

.mod_set1 .title > span {
	border-left: #EE8219 5px solid;
	padding-left: 15px;
	padding-left: calc(15px - 0.000001px);
	margin-left: -20px;
}

.mod_set1 .title.style2 > span {
	border-left: #8FC43E 5px solid;
}

.mod_set1 .title .ts {
	font-size: 20px;
	font-size: 2rem;
}

.mod_set1 .text {
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1.4;
}

.mod_set1 h3 + .text {
	margin-top: 10px;
	font-size: 16px;
	font-size: 1.6rem;
}

.mod_set1 .text .icon-new_24 {
	font-size: 24px;
	font-size: 2.4rem;
	margin-left: 6px;
	display: inline-block;
	vertical-align: bottom;
}

.mod_set1 .text.sub {
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1.4;
}

.mod_set1 .text + .text {
	margin-top: 4px;
}

.mod_set1 .corp {
	font-size: 15px;
	font-size: 1.5rem;
	margin-top: 8px;
	color: #7C7C7C;
}

.mod_set1 .btnmore,
.mod_set3 .btnmore {
	margin-top: 13px;
	border: #146a69 1px solid;
	border-radius: 2px;
	display: inline-block;
	padding: 5px 9px 5px 10px;
	color: #146a69;
	font-size: 12px;
	font-size: 1.2rem;
}
.mod_set3 .btnmore {
	margin-top: 25px;
}
.mod_set3.style2 .btnmore {
	background-color: #FFF;
}

.mod_set1 a:hover .btnmore,
.mod_set3 a:hover .btnmore {
	color: #fff;
	background-color: #146a69;
}

.mod_set1 .btnmore .icon_after,
.mod_set3 .btnmore .icon_after {
	margin-left: 6px;
	font-size: 16px;
	font-size: 1.6rem;
	vertical-align: -2px;
}

.mod_set1 a:hover .text,
.mod_set1 a:hover .btnmore .text {
	text-decoration: underline;
}

.mod_set1.comingsoon .thu {
	position: relative;
}

.mod_set1.comingsoon .thu:after {
	content: 'Coming Soon';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: #FFFFFF;
	font-size: 20px;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.4;
}

@media screen and (max-width: 989px) {
	.mod_set1.comingsoon + .mod_set1.comingsoon {
		display: none;
	}
}

@media screen and (max-width: 767px) {
	.mod_set1.comingsoon {
		display: none;
	}
}

.mod_set3 {
	width: calc((100% - 40px) / 2);
	margin-top: 20px;
}

.mod_set3.style2 {
	width: 100%;
	margin-top: 40px;
	background-color: #F0F0F0;
}

.bg_1 .mod_set3.style2 {
	background-color: #FFFFFF;
}

.bg_1 .mod_textbox4.style2 + .mod_set3.style2 {
	display: inline-block;
}

@media screen and (max-width: 989px) {
	.mod_set3 {
		width: 100%;
	}
	.col + .col .mod_set3:only-child {
		margin-top: 40px;
	}
}

.mod_set3 a {
	position: relative;
	background-color: #ffffff;
	border-bottom: #146a69 3px solid;
	padding: 20px 20px 27px;
	display: flex;
	justify-content: space-between;
}

.bg_1 .mod_set3.style2 a {
	border-bottom: #8FC43E 3px solid;
}

.mod_set3.style2 a {
	background-color: transparent;
	padding: 20px;
}

@media screen and (max-width: 767px) {
	.mod_set3 a {
		display: block;
	}
}

.mod_set3 .thu {
	overflow: hidden;
	width: 150px;
}

@media screen and (max-width: 767px) {
	.mod_set3 .thu {
		margin: auto;
	}
}

.mod_set3 .thu img {
	border: #D1D1D1 1px solid;
}

.mod_set3 .textbox {
	width: calc(100% - 150px - 20px);
	line-height: 1.4;
}

.mod_set3 .textbox p {
	line-height: 1.4;
}

@media screen and (max-width: 767px) {
	.mod_set3 .textbox {
		width: 100%;
		margin-top: 20px;
	}
}

.mod_set3 .textbox .title,
.mod_set3.style2 .textbox p.title {
	font-size: 18px;
	font-size: 1.8rem;
}

.mod_set3.style2 .textbox .title {
	font-size: 24px;
	font-size: 2.4rem;
}

.mod_set3 a:hover .textbox .title {
	text-decoration: underline;
}

.mod_set3 .textbox .text {
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1.4;
	margin-top: 10px;
}

.mod_set3 .textbox .tag {
	font-size: 12px;
	font-size: 1.2rem;
}

.mod_set3 .textbox .usage {
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1.4;
	margin-top: 20px;
}

.mod_set3 .textbox .usage +  .text {
	margin-top: 15px;
}

.mod_set3 .textbox .tag span {
	min-width: 90px;
	background-color: #F0F0F0;
	margin-top: 10px;
	display: inline-block;
	text-align: center;
	border-radius: 1px;
	padding: 3px 5px;
	margin-right: 8px;
}

.mod_set3 .textbox .tag span:last-child {
	margin-right: 0;
}

.mod_conbox8.style2 .mod_set3 {
	width: 100%;
}

@media screen and (min-width: 990px) {
	.mod_conbox8.style2 .mod_set3 a {
		height: 100%;
	}
	
	.mod_conbox8.style2 .mod_set3 .thu {
		width: 35.8%;
	}
	
	.mod_conbox8.style2 .mod_set3 .textbox {
		width: calc(100% - 20px - 35.8%);
	}
}


.mod_set4 {
	margin-top: 20px;
	width: 100%;
}

.mod_set4 a {
	display: block;
}


.mod_catlinkmore {
	color: #146a69;
	font-size: 13px;
	font-size: 1.3rem;
	text-align: right;
	margin-top: 13px;
}

.mod_catlinkmore a {
	background-color: transparent;
	border: none;
	display: inline-block;
}

.mod_catlinkmore .icon_after {
	margin-left: 6px;
	font-size: 16px;
	font-size: 1.6rem;
	vertical-align: -2px;
}

.mod_catlinkmore a:hover {
	text-decoration: underline;
}

.mod_catlinkmore a:hover .icon_after {
	text-decoration: none;
	display: inline-block;
}

.mod_set2 {
	margin-top: 20px;
	width: 100%;
	background-image: url(/img/bg_product.jpg);
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: center;
	text-align: center;
	color: #fff;
}

@media screen and (max-width: 989px) {
	.mod_set2 {
		background-position: 50% 70%;
	}
}

.mod_set2 h3 {
	font-size: 23px;
	font-size: 2.3rem;
	line-height: 1.4;
	font-weight: 500;
	padding-top: 50px;
	text-shadow: 0px 0px 5px #000, 0px 0px 5px #000;
}

.mod_set2 a:hover h3 {
	text-decoration: underline;
}

.mod_set2 .text {
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.4;
	margin-top: 10px;
	text-shadow: 0px 0px 5px #000, 0px 0px 5px #000;
}

@media screen and (max-width: 989px) and (min-width: 768px) {
	.mod_set2 h3 br,
	.mod_set2 .text br {
		display: none;
	}
}

.mod_set2 .btnmore {
	margin-top: 30px;
	margin-bottom: 50px;
	border-radius: 2px;
	display: inline-block;
	padding: 5px 9px 5px 10px;
	font-size: 12px;
	font-size: 1.2rem;
	background-color: #fff;
	color: #222;
}

.mod_set2 a:hover .btnmore {
	color: #fff;
	text-shadow: none;
	box-shadow: none;
	background-color: #000;
}

.mod_set2 .btnmore .icon_after {
	margin-left: 6px;
	font-size: 16px;
	font-size: 1.6rem;
	vertical-align: -2px;
}

/* 事例：検索BOX */
.mod_sortbox {
	width: 100%;
	border: #D1D1D1 1px solid;
	margin-top: 20px;
	background-color: #fff;
	padding: 15px 20px 15px 0;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.4;
	color: #333;
}

.mod_sortbox th {
	padding: 5px 20px;
	border-right: #D1D1D1 1px solid;
	font-weight: 500;
	text-align: left;
	position: relative;
	min-width: 105px;
	width: 11%;
}

.mod_sortbox th label  {
	position: absolute;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	transform : translate(-50%,-50%);
}

.mod_sortbox td {
	padding: 12px 0 0 20px;
	flex-wrap: wrap;
	width: auto;
	vertical-align: top;
}

.mod_sortbox th + td,
.mod_sortbox th + td + td {
	padding-top: 5px;
}

.mod_sortbox td + td {
	padding-left: 15px;
	width: 89%;
}

@media screen and (max-width: 767px) {
	.mod_sortbox td {
		display: block;
	}
	.mod_sortbox td + td {
		padding-left: 20px;
		padding-top: 5px;
	}
}

.mod_sortbox td h3 {
	color: #146A69;
	font-size: 14px;
	font-size: 1.4rem;
	white-space: nowrap;
}

.mod_sortbox label {
	cursor: pointer;
}

.mod_sortbox input {
	display: none;
}

.mod_sortbox input + span {
	display: block;
	padding-left: 24px;
	position: relative;
}

.mod_sortbox input + span::before {
	content: "";
	display: block;
	left: 0;
	top: calc(50% - 8px);
	position: absolute;
	width: 18px;
	height: 18px;
	box-sizing: border-box;
	border:1px solid #D1D1D1;
	background: #FFFFFF;
	border-radius: 1px;
}

.mod_sortbox input:checked + span::after {
	content: "";
	position: absolute;
	left: 3px;
	top: calc(50% - 7px);
	width: 16px;
	height: 13px;
	background: url(/img_com/check.svg) no-repeat center;
	background-size: 16px 13px;
}

/*.mod_sortbox .searchbox {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}*/

.mod_sortbox .searchbox div {
	margin-right: 10px;
	margin-bottom: 8px;
	float: left;
}

.mod_sortbox .searchbox div:last-child {
	margin-right: 0;
}

#mod_text1 {
	text-align: center;
	margin-top: 20px;
}

/* ソリューション：画像＋テキスト */
.mod_conbox3 {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.mod_conbox3 .thu {
	width: 368px;
	margin-top: 25px;
}

@media screen and (max-width: 989px) {
	.mod_conbox3 .thu {
		order: 2;
		margin: 25px auto 0;
	}
}

@media screen and (max-width: 767px) {
	.mod_conbox3 .thu {
		width: 100%;
	}
}

.mod_conbox3 .textarea {
	width: calc(100% - 408px);
	margin-top: 25px;
}

@media screen and (max-width: 989px) {
	.mod_conbox3 .textarea {
		order: 1;
		width: 100%;
	}
}

.mod_conbox3 .textarea p {
	margin-top: 0;
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1.8;
}

.mod_conbox3 .textarea p + p {
	margin-top: 15px;
}

/* ソリューション：画像＋テキスト 下パーツ */
.mod_conbox4 {
	margin-top: 45px;
}

.mod_conbox4 p {
	margin-top: 0;
	font-size: 24px;
	font-size: 2.4rem;
	line-height: 1.4;
	text-align: center;
}

.mod_conbox4 p + p {
	margin-top: 15px;
}

.mod_conbox4 .number {
	display: inline-block;
	width: 26px;
	background-color: #00a0e9;
	color: #fff;
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 26px;
	vertical-align: 3px;
}

.mod_conbox4 .textbox {
	max-width: 980px;
	position: relative;
	margin: 45px auto 0;
	padding: 28px 10px;
	background-color: #d8f0fb;
	border: 1px solid #00a0e9;
	border-radius: 3px;
}

.mod_conbox4 .textbox .arrow {
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 30px 30px 0 30px;
	border-color: #00a0e9 transparent transparent transparent;
	top: -15px;
	left: calc(50% - 30px);
}

/* コラム一覧：コラムの記事indexパーツ */
.mod_conbox5 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

@media screen and (max-width: 767px) {
	.mod_conbox5 {
		display: block;
	}
}

@media screen and (min-width: 990px) {
	.mod_conbox5:after {
		content: '';
		display: block;
		width: calc((100% - 40px) / 2);
	}
}

.mod_conbox5 .mod_colset1.mod_set,
.mod_conbox5 .mod_2col .mod_set {
	width: calc((100% - 40px) / 2);
	margin-top: 40px;
}

@media screen and (max-width: 989px) {
	.mod_conbox5 .mod_colset1.mod_set,
	.mod_conbox5 .mod_2col .mod_set {
		width: calc((100% - 40px) / 2);
	}
}

@media screen and (max-width: 767px) {
	.mod_conbox5 .mod_colset1.mod_set,
	.mod_conbox5 .mod_2col .mod_set {
		width: 100%;
	}
}

@media screen and (max-width: 989px) {
	.mod_conbox5 .mod_set {
		width: 100%;
	}
}

.mod_conbox5 .mod_set a {
	display: block;
	position: relative;
}

@media screen and (max-width: 989px) {
	.mod_conbox5 .thu img {
		width: 100%;
	}
}

.mod_conbox5 .mod_set .text_new {
	display: block;
	width: 48px;
	height: 33px;
	position: absolute;
	padding: 10px 0 9px;
	background-color: #d62859;
	color: #fff;
	text-align: center;
	z-index: 10;
}

.mod_conbox5 .mod_set .textbox {
	padding-top: 18px;
}

.mod_conbox5 .mod_set .date {
	color: #84919f;
	font-size: 14px;
	font-size: 1.4rem;
}

.mod_conbox5 .mod_set .category {
	margin-top: 10px;
	color: #84919f;
	font-size: 20px;
	font-size: 2rem;
}

@media screen and (max-width: 767px) {
	.mod_conbox5 .mod_set .category {
		font-size: 16px;
		font-size: 1.6rem;
	}
}

.mod_conbox5 .mod_set .title {
	margin-top: 10px;
	font-size: 30px;
	font-size: 3rem;
	font-weight: 400;
	line-height: 1.4;
}

@media screen and (max-width: 767px) {
	.mod_conbox5 .mod_set .title {
		font-size: 20px;
		font-size: 2rem;
		font-weight: 400;
	}
}

.mod_conbox5 .mod_colset1.mod_set .date,
.mod_conbox5 .mod_2col .mod_set .date {
	color: #84919f;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1;
}

.mod_conbox5 .mod_colset1.mod_set .category,
.mod_conbox5 .mod_2col .mod_set .category {
	margin-top: 10px;
	color: #84919f;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1;
}

.mod_conbox5 .mod_colset1.mod_set .title,
.mod_conbox5 .mod_2col .mod_set .title {
	margin-top: 10px;
	font-size: 20px;
	font-size: 2rem;
	font-weight: 400;
}

.mod_conbox5 .mod_set .btnmore {
	margin-top: 15px;
}

.mod_conbox5 .mod_set .btnmore .text {
	color: #2f7ab4;
	font-size: 13px;
	font-size: 1.3rem;
	font-weight: 700;
}

.mod_conbox5 .mod_set .btnmore .icon_after {
	margin-left: 6px;
	color: #00a0e9;
	font-size: 16px;
	font-size: 1.6rem;
	vertical-align: -1px;
}

.mod_conbox5 .mod_set a:hover .text,
.mod_conbox5 .mod_set a:hover .btnmore .text {
	text-decoration: underline;
}

/* コラム：コラムフッターメルマガ登録ボタン */
.mod_btnmagazine {
	max-width: 1184px;
	width: calc(100% - 30px);
	margin: auto;
	padding-top: 60px;
	padding-bottom: 60px;
}

.mod_btnmagazine .text {
	margin-bottom: 20px;
	color: #222;
	font-size: 20px;
	font-size: 2rem;
	line-height: 1.4;
	text-align: center;
}

.mod_btnmagazine a {
	display: block;
	position: relative;
	max-width: 674px;
	width: 100%;
	margin: auto;
	padding: 15px 15px 14px;
	background-color: #25bb99;
	border-radius: 3px;
	color: #fff;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
}

.mod_btnmagazine a:hover {
	background-color: #66cfb7;
}

.mod_btnmagazine .icon_after {
	margin-left: 5px;
	font-size: 20px;
	font-size: 2rem;
}

/* コラム詳細関連記事：3カラム */
.mod_conbox6 {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.mod_conbox6 .mod_set a {
	display: block;
	position: relative;
}

@media screen and (max-width: 989px) {
	.mod_conbox6 .mod_set a {
		display: flex;
		justify-content: center;
	}
}

.mod_conbox6 .mod_set .text_new {
	display: block;
	width: 48px;
	height: 33px;
	position: absolute;
	padding: 10px 0 9px;
	background-color: #d62859;
	color: #fff;
	text-align: center;
	z-index: 10;
}

.mod_conbox6 .mod_set .date {
	color: #84919f;
	font-size: 14px;
	font-size: 1.4rem;
}

.mod_conbox6 .mod_set .category {
	margin-top: 10px;
	color: #84919f;
	font-size: 20px;
	font-size: 2rem;
}

.mod_conbox6 .mod_set .date {
	color: #84919f;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1;
}

.mod_conbox6 .mod_set .category {
	margin-top: 10px;
	color: #84919f;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1;
}

.mod_conbox6 .mod_set .title {
	margin-top: 10px;
	font-size: 20px;
	font-size: 2rem;
	font-weight: 400;
	line-height: 1.4;
}

@media screen and (max-width: 989px) {
	.mod_conbox6 .mod_set {
    margin-top: 20px;
	}
	.mod_conbox6 .mod_set .thu {
		width: 144px;
	}
	.mod_conbox6 .textbox {
		width: 204px;
		margin-left: 20px;
	}
	.mod_conbox6 .mod_set .date {
		font-size: 12px;
		font-size: 1.2rem;
	}
	.mod_conbox6 .textbox .category {
		margin-top: 5px;
		font-size: 13px;
		font-size: 1.3rem;
	}
	.mod_conbox6 .mod_set .title {
		margin-top: 5px;
		font-size: 14px;
		font-size: 1.4rem;
	}
}


@media screen and (max-width: 989px) {
	.mod_conbox6 {
		display: block;
		width: 100%;
	}
	.mod_conbox6 .mod_set .thu img {
		min-width: 144px;
	}
}

@media screen and (max-width: 989px) {
	.mod_conbox6 .mod_set .textbox {
		width: 100%;
		margin-left: 20px;
	}
}

.mod_conbox6 .textbox .btnmore {
	margin-top: 15px;
}

.mod_conbox6 .btnmore .text {
	color: #2f7ab4;
	font-size: 13px;
	font-size: 1.3rem;
	font-weight: 700;
}

.mod_conbox6 .btnmore .icon_after {
	margin-left: 6px;
	color: #00a0e9;
	font-size: 16px;
	font-size: 1.6rem;
	vertical-align: -1px;
}

.mod_conbox6 a:hover .title,
.mod_conbox6 .mod_set a:hover .btnmore .text {
	text-decoration: underline;
}

@media screen and (min-width: 990px) {
	.mod_3col .mod_conbox6 {
		display: flex;
    flex-wrap: wrap;
		justify-content: space-between;
	}
	.mod_3col .mod_conbox6:after {
		content: '';
		display: block;
		width: calc((100% - 80px) / 3);
	}
	.mod_conbox6 .mod_set .textbox {
		padding-top: 18px;
	}
}

@media screen and (min-width: 990px) {
	.mod_3col .mod_conbox6 .mod_set {
		width: calc((100% - 80px) / 3);
		margin-top: 40px;
	}
}

@media screen and (min-width: 990px) and (max-width: 989px) {
	.mod_3col .mod_conbox6 .mod_set {
		width: calc((100% - 80px) / 3);
	}
}

@media screen and (min-width: 990px) and (max-width: 767px) {
	.mod_3col .mod_conbox6 .mod_set {
		width: 100%;
	}
}

/* こんなところ：こんなところの記事indexパーツ */
.mod_linkmap {
	margin-top: 35px;
	position: relative;
	max-width: 1184px;
}

.mod_linkmap > img {
	width: 100%;
	display: block;
}

@media screen and (min-width: 990px) {
	.mod_linkmap .linkbox {
		position: absolute;
		width: 39px;
		height: 39px;
	}
}

.mod_linkmap .marker {
	position: absolute;
	z-index: 1;
	display: inline-block;
	/*transition: all 300ms;*/
}

@media screen and (min-width: 990px) {
	.mod_linkmap .marker {
		top: auto;
		left: auto;
	}
}

.mod_linkmap .marker img {
	width: 39px;
	height: 39px;
}

@media screen and (max-width: 989px) {
	.mod_linkmap .marker img {
		width: 27px;
		height: 27px;
	}
}

.map-popup {
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 19;
	width: 100%;
	max-width: 368px;
	background-color: #fff;
	transition: 300ms ease-in;
	transform: translate(-50%,-50%);
	box-shadow: 0 0 24px rgba(0,0,0,0.22);
	opacity: 0;
	visibility: hidden;
	padding: 0 20px 20px;
}

@media screen and (max-width: 989px) {
	.map-popup {
		z-index: 1000;
	}
}

.map-popup.column2 {
	padding: 0;
}

@media screen and (min-width: 768px) {
	.map-popup.column2 {
		max-width: 595px;
	}
}

@media screen and (max-width: 767px) {
	.map-popup.column2 {
		padding: 0 20px 20px;
		top: 60%;
	}
}

@media screen and (min-width: 990px) {
	.map-popup {
		width: 348px;
	}
	.map-popup.column2 {
		width: 53vw;
	}
	.map-popup:before {
		content: "";
		position: absolute;
		width: 0;
		height: 0;
		border-style: solid;
	}
	
	.map-popup.rb,
	.map-popup.rc,
	.map-popup.rt {
		left: 56px;
	}
	.map-popup.rb:before,
	.map-popup.rc:before,
	.map-popup.rt:before {
		right: 100%;
		border-width: 13px 22px 13px 0;
		border-color: transparent #fff transparent transparent;
	}
	
	.map-popup.lb,
	.map-popup.lc,
	.map-popup.lt {
		right: 62px;
		left: auto;
	}
	.map-popup.lb:before,
	.map-popup.lc:before,
	.map-popup.lt:before {
		left: 100%;
		border-width: 13px 0 13px 22px;
		border-color: transparent transparent transparent #fff;
	}
	
	.map-popup.rb,
	.map-popup.lb {
		transform: translateY(-15%);
	}
	.map-popup.rb:before,
	.map-popup.lb:before {
		top: 10%;
	}
	
	.map-popup.rc {
		transform: translateY(-52%);
	}
	.map-popup.lc {
		transform: translateY(-51.5%);
	}
	.map-popup.rc:before,
	.map-popup.lc:before {
		top: calc(50% - 13px);
	}
	
	.map-popup.rt,
	.map-popup.lt {
		transform: translateY(-87.5%);
	}
	.map-popup.rt:before,
	.map-popup.lt:before {
		bottom: 10%;
	}
}

.map-popup .popupin {
	display: flex;
}

@media screen and (max-width: 767px) {
	.map-popup .popupin {
		display: block;
	}
}

.map-popup.open {
	opacity: 1;
	visibility: visible;
}

.map-popup .mod_set1 {
	width: 100%;
}

@media screen and (min-width: 768px) {
	.map-popup.column2 .mod_set1 {
		margin: 20px 20px 20px 0;
		padding-left: 20px;
	}
	
	.map-popup .mod_set1 + .mod_set1 {
		border-left: #D1D1D1 1px solid;
	}
}

@media screen and (max-width: 767px) {
	.map-popup .mod_set1 + .mod_set1 {
		border-top: #D1D1D1 1px solid;
		padding-top: 20px;
	}
}

.map-popup .mod_set1 .textbox {
	margin: 20px 0 0;
	font-size: 0;
}

.map-popup .mod_set1 .title > span {
	padding-left: 10px;
}

.map-popup .mod_set1 a {
	border-bottom: none;
	display: inline-block;
	margin-top: 20px;
}

.map-popup .mod_set1 a .btnmore {
	margin-top: 0;
}

.map-popup .mod_set1 a + a {
	margin-left: 10px;
}

.map-popup .closebtn {
	position: absolute;
	right: -15px;
	top: -15px;
	width: 30px;
	height: 30px;
}

.popup-overlay {
	display: none;
}

@media screen and (max-width: 989px) {
	.popup-open .popup-overlay {
		display: block;
		background-color: rgba(0, 0, 0, .5);
		z-index: 999;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
}

/* アンカーリンク */
.mod_anchor1 {
	margin-top: 20px;
	width: 100%;
	border: #D1D1D1 1px solid;
	display: flex;
	flex-wrap: wrap;
	padding: 25px 30px;
	background-color: #fff;
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1.4;
	gap: 10px 50px;
}

@media screen and (max-width: 767px) {
	.mod_anchor1 {
		display: block;
	}
}

/* .mod_anchor1 li + li {
	margin-left: 50px;
} */

@media screen and (max-width: 767px) {
	.mod_anchor1 li + li {
		margin-left: 0;
		margin-top: 10px;
	}
}

.mod_anchor1 a {
	font-size: 15px;
	font-size: 1.5rem;
	color: #146A69;
}

.mod_anchor1 a:hover {
  text-decoration: underline;
}

.mod_anchor1 span {
	font-size: 16px;
	font-size: 1.6rem;
	margin-right: 6px;
	vertical-align: middle;
	display: inline-block;
}

/* キャッチ */
.mod_catch {
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1.4;
	margin-top: 25px;
}

/* サイドメニュー */
.mod_lnavibox {
	background-color: #D6EFEF;
	padding: 20px;
}

@media screen and (max-width: 767px) {
	.mod_lnavibox {
		margin-left: 15px;
		margin-right: 15px;
	}
}

.mod_lnavibox .mod_lnavi dt a {
	display: block;
	color: #146A69;
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1.4;
	padding-bottom: 20px;
	border-bottom: #BEDEDE 1px solid;
}

.mod_lnavibox .mod_lnavi dt a:hover {
	text-decoration: underline;
}

.mod_lnavibox .mod_lnavi dd {
	border-top: #fff 1px solid;
	padding-top: 20px;
}

.mod_lnavibox .mod_lnavi .navi li + li {
	margin-top: 10px;
}

.mod_lnavibox .mod_lnavi .navi li a {
	display: block;
	position: relative;
	text-align: left;
	text-decoration: none;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.4;
}

.mod_lnavibox .mod_lnavi .navi li a:hover {
	color: #146A69;
}

.mod_lnavibox .mod_lnavi .navi li a:hover:before {
    border-top: 2px solid #146A69;
    content: "";
    position: absolute;
    top: 9px;
	left: -20px;
    width: 10px;
}

.mod_lnavibox .mod_lnavi .navi li a:hover {
	color: #146A69;
}

.mod_lnavibox .mod_lnavi .navi li a:hover:before {
    border-top: 2px solid #146A69;
    content: "";
    position: absolute;
    top: 9px;
	left: -20px;
    width: 10px;
}

.mod_lnavibox2 {
	margin: 0;
	padding: 0;
}

@media screen and (max-width: 767px) {
	.mod_lnavibox2 {
		margin-left: 15px;
		margin-right: 15px;
	}
}

.mod_lnavibox2 h2 a,
.mod_lnavibox2 h2 span {
	margin: 0;
    padding: 20px;
	background-color: #146A69;
	color: #fff;
	display: block;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.4;
}

.mod_lnavibox2 h2 + h2,
#konnatokoro .mod_lnavibox2 * + h2,
#environment .mod_lnavibox2 * + h2,
#column .mod_lnavibox2 * + h2,
#quality .mod_lnavibox2 * + h2,
#project .mod_lnavibox2 * + h2 {
	border-top: #fff 1px solid;
}
#konnatokoro .mod_lnavibox2 .mod_lnavi2.konnatokoro + h2,
#environment .mod_lnavibox2 .mod_lnavi2.environment + h2,
#column .mod_lnavibox2 .mod_lnavi2.product + h2,
#quality .mod_lnavibox2 .mod_lnavi2.quality + h2,
#project .mod_lnavibox2 .mod_lnavi2.project + h2 {
	border-top: none;
}

.mod_lnavibox2 h2 a:hover {
	text-decoration: underline;
}

#konnatokoro .mod_lnavibox2 .mod_lnavi2,
#environment .mod_lnavibox2 .mod_lnavi2,
#column .mod_lnavibox2 .mod_lnavi2,
#quality .mod_lnavibox2 .mod_lnavi2,
#project .mod_lnavibox2 .mod_lnavi2 {
	display: none;
}
#konnatokoro .mod_lnavibox2 .mod_lnavi2.konnatokoro,
#environment .mod_lnavibox2 .mod_lnavi2.environment,
#column .mod_lnavibox2 .mod_lnavi2.product,
#quality .mod_lnavibox2 .mod_lnavi2.quality,
#project .mod_lnavibox2 .mod_lnavi2.project {
	display: block;
}

.mod_lnavibox2 .mod_lnavi2 + h2 {
	margin-top: -1px;
}

.mod_lnavi2 {
	border: #D6EFEF 1px solid;
	border-top: none;
}

.mod_lnavi2 dt {
	border-top: 1px solid #fff;
}

.mod_lnavi2 dt:first-child {
	border-top: none;
}

.mod_lnavi2 dt a {
    padding: 15px 20px;
	background-color: #D6EFEF;
	color: #146A69;
	display: block;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.4;
	position: relative;
	pointer-events: none;
}

.mod_lnavi2 dt:hover {
    text-decoration: underline;
	cursor: pointer;
	color: #146A69;
}

.mod_lnavi2 dt a span {
    display: inline-block;
	position: absolute;
	right: 20px;
	font-size: 16px;
	font-size: 1.6rem;
	margin-top: 3px;
}

.mod_lnavi2 dt.open a span.icon-arrow_16_down_m:before {
    content: "\e902";
}

.mod_lnavi2 .navi li + li {
	border-top: #D6EFEF 1px solid;
}

.mod_lnavi2 .navi li a {
	display: block;
	position: relative;
	text-align: left;
	text-decoration: none;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.4;
	color: #333;
	padding: 15px 20px 15px 31px;
}

.mod_lnavi2 .navi li a span {
	position: absolute;
	left: 20px;
	font-size: 16px;
	font-size: 1.6rem;
	color: #7B7B7B;
	margin-top: 2px;
}

.mod_lnavi2 .navi li a:hover,
.mod_lnavi2 .navi li a:hover span {
	color: #146A69;
}

.mod_lnavi2 .inner {
	display: none;
}

/* コラム：サイドカラム メルマガ */
.mod_lmagazinebox {
	background-color: #f0f0f0;
}

.mod_lmagazinebox .line {
	background-color: #ffffff;
	border-top: double 3px #25bb99;
}

.mod_lmagazinebox .title {
	padding: 15px 0;
	color: #222;
	font-size: 18px;
	font-size: 1.8rem;
	text-align: center;
	line-height: 1.3;
}

.mod_lmagazinebox .textbox {
	padding: 20px 30px 30px;
	border-top: 1px solid #fff;
}

.mod_lmagazinebox .textbox .text {
	margin-bottom: 20px;
	color: #222;
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1.4;
}

.mod_lmagazinebox .textbox .mod_btnmagazine {
	width: 308px;
	margin: 0 auto;
	padding: 0;
	border-top: none;
}

/* コラム：サイドカラム コンテンツ */
.mod_sidebnr .side-conbox {
	margin: 40px auto 0;
	border-top: double 3px #00a0e9;
}

@media screen and (max-width: 767px) {
	.mod_sidebnr .side-conbox {
		max-width: 100%;
	}
}

.mod_sidebnr .side-conbox .title {
	padding: 15px 0;
	border-bottom: solid 1px #e2e2e2;
	color: #222;
	font-size: 18px;
	font-size: 1.8rem;
	text-align: center;
	line-height: 1.3;
}

.mod_sidebnr .side-conbox .catlist {
	display: flex;
	flex-wrap: wrap;
	padding-top: 30px;
}

.mod_sidebnr .side-conbox .catlist a {
	display: block;
	margin-right: 15px;
	margin-bottom: 15px;
	padding: 9px 15px;
	background-color: #f0f0f0;
	border-radius: 20px;
	color: #2f7ab4;
}

.mod_sidebnr .side-conbox .catlist a:hover {
	background-color: #d8f0fb;
	text-decoration: underline;
}

.mod_sidebnr .side-conbox .mod_set a:hover .text,
.mod_sidebnr .side-conbox .mod_set a:hover .btnmore .text {
	text-decoration: underline;
}

.mod_sidebnr .side-conbox .mod_setlist {
	padding-top: 10px;
}

.mod_sidebnr .side-conbox .mod_set {
	margin-top: 20px;
}

.mod_sidebnr .side-conbox .mod_set a {
	display: flex;
	justify-content: space-between;
}

@media screen and (max-width: 989px) {
	.mod_sidebnr .side-conbox .mod_set a {
		justify-content: center;
	}
}

.mod_sidebnr .side-conbox .mod_set .thu {
	width: 144px;
}

@media screen and (max-width: 989px) {
	.mod_sidebnr .side-conbox .mod_set .thu img {
		min-width: 144px;
	}
}

.mod_sidebnr .side-conbox .mod_set .textbox {
	width: 204px;
}

@media screen and (max-width: 989px) {
	.mod_sidebnr .side-conbox .mod_set .textbox {
		width: 100%;
		margin-left: 20px;
	}
}

.mod_sidebnr .side-conbox .mod_set .textbox .date {
	color: #84919f;
	font-size: 12px;
	font-size: 1.2rem;
}

.mod_sidebnr .side-conbox .mod_set .textbox .category {
	margin-top: 5px;
	color: #84919f;
	font-size: 13px;
	font-size: 1.3rem;
}

.mod_sidebnr .side-conbox .mod_set .textbox .text {
	margin-top: 5px;
	color: #222;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.4;
}

/* 事例、コラム：サイドカラムバナー */
.mod_sidebnr .bnrbox {
	margin: 40px auto 0;
	text-align: center;
}

#column .mod_sidebnr .bnrbox {
	padding-top: 40px;
	border-top: solid 1px #e2e2e2;
}

@media screen and (max-width: 767px) {
	.mod_sidebnr .bnrbox {
		max-width: 100%;
	}
}

@media screen and (min-width: 768px) {
	.mod_sidebnr .bnrbox img {
		max-width: 266px;
	}
}

/* 各ページ：フッター上のバナー */
.mod_bnrbox {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 878px;
	margin: auto;
}

@media screen and (min-width: 990px) {
	.mod_bnrbox::after {
		content: '';
		display: block;
		width: calc((100% - 80px) / 3);
	}
}

@media screen and (max-width: 768px) {
	.mod_bnrbox {
		max-width: 100%;
	}
}

@media screen and (max-width: 989px) {
	.mod_bnrbox {
		max-width: 572px;
	}
}

@media screen and (min-width: 990px) {
	.mod_bnrbox .bnr1 {
		width: calc((100% - 80px) / 3);
	}
}

@media screen and (max-width: 989px) {
	.mod_bnrbox .bnr1 {
		width: 266px;
		margin-bottom: 40px;
	}
}

@media screen and (max-width: 767px) {
	.mod_bnrbox .bnr1 {
		margin-bottom: 0;
	}
}

.bg_1 {
	background-color: #f0f0f0;
}

.bg_2 {
	background-color: #fff;
}

.mt0 {
	margin-top: 0 !important;
}

.pt0 {
	padding-top: 0 !important;
}

.mt5 {
	margin-top: 5px !important;
}

.mt10 {
	margin-top: 10px !important;
}

.mt15 {
	margin-top: 15px !important;
}

.mt20 {
	margin-top: 20px !important;
}

.mt25 {
	margin-top: 25px !important;
}

.mt30 {
	margin-top: 30px !important;
}

.mt35 {
	margin-top: 35px !important;
}

.mt40 {
	margin-top: 40px !important;
}

.mt60 {
	margin-top: 60px !important;
}

.mt70 {
	margin-top: 70px !important;
}

.mb0 {
	margin-bottom: 0 !important;
}

@media screen and (max-width: 767px) {
	.pc-Only {
		display: none;
	}
}

@media screen and (min-width: 768px) {
	.sp-Only {
		display: none;
	}
}

/* 三点リーダ */
span:lang(ja) {
	font-family: 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'ＭＳ ゴシック', sans-serif !important;
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
}

.ipad span:lang(ja),
.iphone span:lang(ja),
.ipod span:lang(ja),
.mac span:lang(ja) {
	font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif !important;
}
