@charset "UTF-8";
/* ------------------------------------------------------
	 * header
	------------------------------------------------------ */
.mod_header {
	position: fixed;
	width: 100%;
	z-index: 100;
	background-color: #fff;
	box-shadow: 0 6px 0 rgba(0, 0, 0, .16);
}

.header_logoarea {
	display: flex;
	align-items: center;
	max-width: 1080px;
	width: calc(100% - 30px);
	height: 111px;
	position: relative;
	margin: auto;
}
@media only screen and (max-width: 959px) {
	.header_logoarea {
		height: 64px;
		width: calc(100% - 16px);
		z-index: 540;
	}
}

.header_logoarea .logo {
	margin: 0 auto 0 0;
	z-index: 1;
}
.header_logoarea .logo img {
	max-width: 246px;
	height: auto;
}
@media only screen and (max-width: 959px) {
	.header_logoarea .logo img {
		max-width: 173px;
	}
}

.mod_headerarea {
	align-items: center;
	max-width: 1080px;
	width: calc(100% - 30px);
	height: 111px;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
@media only screen and (max-width: 959px) {
	.mod_headerarea {
		position: fixed;
		height: 64px;
		z-index: 539;
		background-color: #fff;
		width: 100%;
	}
}

.mod_gnavi {
	margin-left: auto;
}
.mod_gnavi .list {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
.mod_gnavi .listitem {
	display: flex;
	/*margin: 0 auto;*/
	/*margin-right: 25px;*/
	position: relative;
}
.mod_gnavi .listitem + .listitem {
	margin-left: 28px;
}
/*.mod_gnavi .listitem:last-child {
	margin-right: 30px;
}*/
.mod_gnavi .listitem a {
	display: flex;
	font-size: 1.5rem;
	font-weight: bold;
	border-bottom: solid 4px transparent;
	position: relative;
	height: 65px;
	align-items: center;
}
.mod_gnavi .listitem a:hover {
	color: #0091db;
}
.mod_gnavi .listitem::before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	height: 4px;
	width: 0;
	background-color: rgba(0, 176, 236, .9);
	transform: translateX(-50%);
	transition: width .5s;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}
.mod_gnavi .listitem:hover::before {
	width: 100%;
}
#home .mod_gnavi .listitem.home a,
#case .mod_gnavi .listitem.case a,
#solution .mod_gnavi .listitem.solution a,
#library .mod_gnavi .listitem.library a,
#knowledge .mod_gnavi .listitem.knowledge a,
#column .mod_gnavi .listitem.column a,
#event .mod_gnavi .listitem.news a,
#news .mod_gnavi .listitem.news a {
	color: #0091db;
}

.drawer-listitemlink .icon_after {
	position: relative;
	right: -6px;
	top: 0;
}

/*ライブラリ隠す*/
/*
.mod_gnavi .listitem.library,
.drawer-menu li:nth-of-type(6),
.footer_gnavilist .footer_gnavilistitem:nth-of-type(5) {
	display: none;
}
ライブラリ隠した際に調整（フッター）
@media only screen and (max-width: 959px) {
	.footer_gnavilist .footer_gnavilistitem:nth-of-type(7) {
		padding-left: 12px !important;
	}
	.footer_gnavilist .footer_gnavilistitem:nth-of-type(6),
	.footer_gnavilist .footer_gnavilistitem:nth-of-type(8) {
		padding-left: 0 !important;
	}
}
*/


.mod_btnbox {
	display: flex;
	position: relative;
	margin-top: 16px;
}
@media only screen and (max-width: 959px) {
	.mod_btnbox {
		display: none;
	}
}
.mod_btnbox .btncontact {
	background: #0091db;
}
.mod_btnbox .btnmail {
	background: #00A040;
}
.mod_btnbox a {
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-size: 1.3rem;
	font-weight: bold;
	line-height: 1.4;
	padding: 0 9px;
	border-radius: 2px;
	position: relative;
	height: 30px;
}
.mod_btnbox a:first-child {
	margin-left: auto;
}
.mod_btnbox a + a {
	margin-left: 8px;
}
.mod_btnbox .anime-wrp span {
	position: relative;
	z-index: 2;
}
.mod_btnbox .anime-wrp::before {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100%;
	content: "";
	opacity: 0;
	transition: .4s ease;
	transform: scaleX(0);
	transform-origin: center left;
	box-sizing: border-box;
	border-radius: 2px;
}
.mod_btnbox .btncontact .anime-wrp::before {
	background: #00b0ec;
}
.mod_btnbox .btnmail .anime-wrp::before {
	background: #90C31F;
}
.mod_btnbox a:hover .anime-wrp::before {
	opacity: 1;
	transform: scaleX(1);
}

/* ------------------------------------------------------
	 * footer
	------------------------------------------------------ */
.mod_mailbtn_area {
	background-color: #F6F6F6;
}

.mod_mailbtn_area .container {
	padding: 80px 0;
}
@media only screen and (max-width: 639px){
	.mod_mailbtn_area .container {
		padding: 60px 0;
	}
}

.mod_mailbtn_area .mod_2col {
	max-width: 944px;
	margin: auto;
}
@media only screen and (max-width: 959px) {
	.mod_mailbtn_area .mod_2col {
		display: block;
	}
	.mod_mailbtn_area .mod_2col .col {
		width: 100%;
	}
	.mod_mailbtn_area .mod_2col .col + .col {
		margin-top: 40px;
	}
}

.index:not(#solution) .mod_mailbtn_area .container {
	padding-top: 0;
}

#solution .mod_mailbtn_area .container .mod_2col {
	margin-top: -20px;
}

/*#home .mod_mailbtn_area,
.wrap + .mod_mailbtn_area,
.container_s + .mod_mailbtn_area {
	padding-top: 80px;
}*/

.mod_bg1 + .mod_mailbtn_area {
	background-color: #F6F6F6;
	padding-bottom: 80px;
}

.mod_bg_contact {
	background: linear-gradient(to right, #0080cc, #00a040);
}

.mod_footer1 {
	background-color: #fff;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding: 50px 0 0;
}
@media only screen and (max-width: 959px) {
	.mod_footer1 {
		padding: 50px 15px 0;
		display: block;
	}
}

.footer_gnavilist {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
}
@media only screen and (max-width: 959px) {
	.footer_gnavilist {
		align-items: center;
		padding-left: 0;
		flex-wrap: wrap;
		justify-content: flex-start;
	}
}

@media only screen and (min-width: 960px) {
	.footer_gnavilistitem:not(:first-of-type) {
		margin-left: 18px;
		padding-left: 18px;
		border-left: 1px solid #333;
	}
}
@media only screen and (max-width: 959px) {
	.footer_gnavilistitem {
		width: 50%;
	}
	.footer_gnavilistitem:nth-of-type(n + 3) {
		margin-top: 18px;
	}
	.footer_gnavilistitem:nth-child(even) {
		padding-left: 12px;
	}
}
.footer_gnavilistitem a {
	color: #333;
	font-size: 1.4rem;
}
.footer_gnavilistitem a:hover {
	text-decoration: underline;
}

.mod_footer2 {
	padding: 50px 0 22px;
	height: 100%;
}
@media only screen and (max-width: 959px) {
	.mod_footer2 {
		padding: 50px 0 18px;
	}
}
@media only screen and (max-width: 639px) {
	.mod_footer2 {
		padding: 65px 0 22px;
	}
}

.footer_info {
	max-width: 100%;
	margin: 0 auto;
}

.footer_infolist {
	display: block;
	text-align: center;
	margin: 0 auto;
}

.footer_logo {
	position: relative;
}
.footer_logo::before, .footer_logo::after {
	content: "";
	border-top: solid 1px #ccc;
	width: 100%;
	height: 1px;
	display: inline-block;
	position: absolute;
	top: calc(50% - 20px);
}
.footer_logo::before {
	left: 0;
}
.footer_logo::after {
	right: 0;
}

.footer_logowrap {
	width: 212px;
	height: 100px;
	padding: 0 16px;
	position: relative;
	z-index: 1;
	background: #fff;
	display: block;
	margin: 0 auto;
}
.footer_logowrap img {
	width: 180px;
	position: relative;
	z-index: 1;
	background: #fff;
}

.footer_infolistcopy {
	margin-left: auto;
	margin-top: 22px;
}
@media only screen and (max-width: 959px) {
	.footer_infolistcopy {
		margin-left: 0;
		width: 100%;
	}
}

.footer_sicopy {
	color: #999;
	font-size: 1.2rem;
	display: block;
	margin-left: auto;
	line-height: 1.4;
}
@media only screen and (max-width: 959px) {
	.footer_sicopy {
		width: 100%;
		margin-top: 36px;
	}
}

.footer_symbol {
	position: relative;
	top: -1px;
	padding: 0 2px;
	font-size: 1.2rem;
	vertical-align: middle;
}

.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: #fff;
	font-weight: 700;
	display: block;
	text-align: center;
	border-radius: 3px;
	opacity: .5;
}

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

/* ------------------------------------------------------
	 * ホーム
	------------------------------------------------------ */
#home .contents {
	overflow-x: hidden;
}
@media only screen and (max-width: 959px) {
	#home .contents {
		padding: 64px 0 80px;
	}
}
@media only screen and (max-width: 639px) {
	#home .contents {
		padding-bottom: 60px !important;
	}
}

/* ------------------------------------------------------
	 * 共通レイアウト
	------------------------------------------------------ */
.contents {
	padding: 111px 0 0;
	display: block;
}
#home .contents {
	padding-bottom: 80px;
	/*background: #f6f6f6;*/
}
.detail .contents {
	padding-bottom: 80px;
}
@media only screen and (max-width: 959px) {
	.contents {
		padding: 70px 0 0;
	}
}
@media only screen and (max-width: 639px) {
	.detail .contents {
		padding-bottom: 60px;
	}
}
.container {
	max-width: 1080px;
	width: calc(100% - 30px);
	margin: auto;
	padding-top: 80px;
}
.container.style2 {
	max-width: 1184px;
}
#solution .container,
#event .container {
	padding-bottom: 80px;
}
#event.index .container {
	padding-bottom: 0;
}
@media only screen and (max-width: 639px) {
	.container {
		padding-top: 60px;
	}
	#solution .container,
	#event .container {
		padding-bottom: 60px;
	}
}
.container_s {
	max-width: 896px;
	width: calc(100% - 30px);
	margin: auto;
	padding-top: 80px;
}
@media only screen and (max-width: 959px) {
	.container_s {
		width: 100%;
	}
}
@media only screen and (max-width: 639px) {
	.container_s {
		padding-top: 60px;
	}
}
.mod_bg_contact .container {
	padding: 57px 0 !important;
}
@media only screen and (max-width: 639px) {
	.mod_bg_contact .container {
		padding: 45px 0 !important;
	}
}

.mod_bg1 {
	background-color: #F6F6F6;
	padding-bottom: 80px;
}
@media only screen and (max-width: 639px) {
	.mod_bg1 {
		padding-bottom: 60px;
	}
}
.mod_bg2 {
	background-color: #F6F6F6;
}
.mod_bg3 {
	background-color: #EFF7FA;
}
.mod_bg4 {
	background-color: #FCFCFC;
}
.mod_bg5 {
	background-color: #E5E5E5;
}
.mod_bg6 {
	background-color: #333333;
	color: #FFFFFF;
}
.mod_bg7 {
	background-color: #666666;
	color: #FFFFFF;
}
/*.mod_catch1 + .mod_bg1 {
	margin-top: 80px;
}*/
/*@media only screen and (max-width: 639px) {
	.mod_catch1 + .mod_bg1 {
		margin-top: 60px;
	}
}*/

/*--- 事例記事ページ ---*/
#case.detail .wrap {
	max-width: 1080px;
	margin: auto;
	display: flex;
	width: calc(100% - 30px);
}
@media only screen and (max-width: 959px) {
	#case.detail .wrap {
		display: block;
		width: 100%;
	}
}
.mod_maincolumn {
	order: 1;
	width: calc(100% - 290px);
}
@media only screen and (max-width: 959px) {
	.mod_maincolumn {
		width: 100%;
	}
}
.mod_pagetitle1 {
	width: 100%;
	padding: 25px 0 0 0;
	margin: 0 auto;
	border-top: 5px solid #00b0ec;
}
@media only screen and (max-width: 959px) {
	.mod_pagetitle1 {
		width: calc(100% - 30px);
		padding: 25px 0 0;
	}
}
@media only screen and (max-width: 639px) {
	.mod_pagetitle1 {
		width: 100%;
		padding: 20px 15px 0;
	}
}
.mod_pagetitle1 .catbox {
	display: flex;
	align-items: center;
}
.mod_pagetitle1 .catbox .category {
	padding: 9px 13px 8px 12px;
	background-color: #00a040;
	color: #fff;
	font-size: 1.3rem;
	line-height: 1;
}
.mod_pagetitle1 .catbox .company {
	font-size: 1.6rem;
	line-height: 1.4;
}
.mod_pagetitle1 .catbox .category + .company {
	margin-left: 15px;
}
.mod_pagetitle1 .titlebox {
	margin-top: 16px;
}
.mod_pagetitle1 .titlebox .subtitle {
	font-size: 1.8rem;
	line-height: 1.4;
}
.mod_pagetitle1 .titlebox .title {
	margin-top: 9px;
	font-size: 2.4rem;
	line-height: 1.4;
}
.mod_pagetitle1 .titlebox .text {
	margin-top: 10px;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.4;
}
.mod_pagetitle1 .imgbox {
	margin-top: 15px;
	background-color: #f5f5f5;
}
@media only screen and (max-width: 639px) {
	.mod_pagetitle1 .imgbox {
		margin: 15px -15px 0;
	}
}
.mod_pagetitle1 .imgbox .text {
	padding: 25px 30px;
	font-size: 1.5rem;
	line-height: 1.8;
}
@media only screen and (max-width: 959px) {
	.mod_pagetitle1 .imgbox .text {
		padding: 23px 30px;
	}
}
@media only screen and (max-width: 639px) {
	.mod_pagetitle1 .imgbox .text {
		padding: 30px 15px;
	}
}
.mod_pagetitle1 .note {
	margin: 15px 0 0 0;
	font-size: 1.2rem;
	line-height: 1.5;
	text-align: right;
}
@media only screen and (max-width: 639px) {
	.mod_pagetitle1 .note {
		text-align: left;
	}
}
.mod_title2 {
	margin-top: 80px;
}
@media only screen and (max-width: 639px) {
	.mod_title2 {
		margin-top: 60px;
	}
}
.mod_title2 h2 {
	position: relative;
	padding-top: 28px;
	font-size: 2.8rem;
	line-height: 1.4;
}
.mod_title2 h2:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 1px;
	background-color: #ccc;
	top: 3px;
	left: 0;
}
.mod_title2 h2:after {
	content: "";
	display: block;
	position: absolute;
	width: 120px;
	height: 4px;
	background-color: #00b0ec;
	top: 0;
	left: 0;
}

.mod_text1 {
	line-height: 1.8;
}
.mod_text1 + .mod_text1,
.mod_ol1 + .mod_text1 {
	margin-top: 14px;
}
.mod_2col + .mod_text1,
.mod_3col + .mod_text1,
.mod_img-c1 + .mod_text1,
.mod_img-l1 + .mod_text1,
.mod_img-r1 + .mod_text1 {
	margin-top: 20px;
}
.mod_textlist + .mod_text1,
.mod_title2 + .mod_text1,
.mod_title3 + .mod_text1 {
	margin-top: 25px;
}

.mod_text1 sup {
	font-size: 1.2rem;
}

.mod_text1 a {
	color: #00479d;
	text-decoration: underline;
}

.mod_text1 a:hover {
	text-decoration: none;
}

.mod_text1 a .icon {
	margin-left: 4px;
	font-size: 1.6rem;
	vertical-align: -2px;
	display: inline-block;
}

@media only screen and (min-width: 960px) {
	.mod_center_pc {
		text-align: center;
	}
}

@media only screen and (max-width: 959px) {
	.mod_br_pc {
		display: none;
	}
}
.mod_br_sp {
	display: none;
}
@media only screen and (max-width: 639px) {
	.mod_br_sp {
		display: block;
	}
}

.mod_small1 {
	font-size: 1.2rem;
	line-height: 1.4;
}
.mod_small1 + .mod_small1 {
	margin-top: 10px;
}

.mod_catch2 {
	color: #00479D;
	font-weight: bold;
}

.mod_caption1 {
	margin-top: 5px;
	line-height: 1.4;
	font-size: 1.3rem;
}

.mod_link1 {
	color: #00479D;
	line-height: 1.4;
}
.mod_link1 a:hover {
	text-decoration: underline;
}
.mod_link1 .icon {
	margin-left: 4px;
	font-size: 1.6rem;
	vertical-align: -1px;
	display: inline-block;
}

.mod_catch1 {
	font-size: 1.8rem;
	line-height: 1.4;
	font-weight: bold;
	margin-top: 50px;
	text-align: center;
}

.mod_textbox1 {
	position: relative;
	margin: 45px 0 30px 0;
	padding: 26px 25px;
	background: #c0edfd;
}
@media only screen and (max-width: 639px) {
	.mod_textbox1 {
		margin: 45px -15px 30px;
	}
}
.mod_textbox1::before {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 30px 30px 0 30px;
	border-color: #c0edfd transparent transparent transparent;
	bottom: -30px;
	left: calc(50% - 30px);
}
.mod_textbox1 h4 {
	font-size: 1.8rem;
	line-height: 1.4;
	text-align: center;
}
.mod_textbox1 ul {
	margin: 26px 0 0;
}
@media only screen and (max-width: 639px) {
	.mod_textbox1 ul {
		margin: 25px 0 0;
	}
}
.mod_textbox1 li {
	counter-increment: count;
	margin-top: 1px;
}
.mod_textbox1 li:first-of-type {
	margin-top: 0;
}
.mod_textbox1 li p {
	margin-top: 0;
	min-height: 40px;
	position: relative;
	padding: 14px 22px 14px 67px;
	background-color: #fff;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.4;
}
.mod_textbox1 li p::before {
	content: counter(count);
	font-family: Arial, Helvetica, sans-serif;
	background: #00479d;
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	width: 50px;
	height: 100%;
	text-align: center;
	font-size: 2.1rem;
	top: 0;
	left: 0;
}

.mod_btn4,
.mod_btn,
.mod_btn2,
.mod_btn3,
.mod_btn5,
.mod_btn6,
.mod_btn7 {
	display: block;
	background: transparent;
	color: #fff;
	position: relative;
	max-width: 712px;
	width: 100%;
	margin: 25px auto 0;
	padding: 19px 15px;
	box-shadow: inset 0 0 0 2px #fff;
	border-radius: 3px;
	font-size: 2rem !important;
	font-weight: 700;
	line-height: 1.4 !important;
	text-align: center;
}
.mod_btn4,
.mod_btn2,
.mod_btn5,
.mod_btn6,
.mod_btn7 {
	background-color: #0091DB;
	box-shadow: none;
	padding: 21px 15px;
	margin-top: 60px;
}
.mod_btn5 {
	background-color: #FF9300;
}
#case .mod_btn5 {
	margin-top: 50px;
	max-width: 100%;
}
.mod_btn6 {
	background-color: #00A040;
	margin-top: 0;
}
.mod_btn7 {
	background-color: #333333;
	margin-top: 0;
}
.mod_btn3 {
	background: #fff;
	color: #0091DB;
	box-shadow: inset 0 0 0 2px #0091DB;
	margin-top: 60px;
}
.mod_btn4 {
	font-size: 1.8rem !important;
	max-width: 380px;
	padding: 13px 15px;
}
@media only screen and (max-width: 959px) {
	.mod_btn4,
	.mod_btn,
	.mod_btn2,
	.mod_btn3,
	.mod_btn5,
	.mod_btn6,
	.mod_btn7 {
		max-width: 100%;
		width: 100%;
	}
}
.mod_btn4 .anime-wrp span,
.mod_btn .anime-wrp span,
.mod_btn2 .anime-wrp span,
.mod_btn3 .anime-wrp span,
.mod_btn5 .anime-wrp span,
.mod_btn6 .anime-wrp span,
.mod_btn7 .anime-wrp span {
	position: relative;
	z-index: 2;
}
.mod_btn4 .anime-wrp::before,
.mod_btn .anime-wrp::before,
.mod_btn2 .anime-wrp::before,
.mod_btn3 .anime-wrp::before,
.mod_btn5 .anime-wrp::before,
.mod_btn6 .anime-wrp::before,
.mod_btn7 .anime-wrp::before {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100%;
	content: "";
	opacity: 0;
	transition: .4s ease;
	transform: scaleX(0);
	transform-origin: center left;
	border-radius: 3px;
	background: #fff;
	box-sizing: border-box;
	border: 2px solid #fff;
}
.mod_btn4 .anime-wrp::before,
.mod_btn2 .anime-wrp::before {
	background: #00b0ec;
	border: none;
}
.mod_btn5 .anime-wrp::before {
	background: #FFA81D;
	border: none;
}
.mod_btn6 .anime-wrp::before {
	background: #90C31F;
	border: none;
}
.mod_btn7 .anime-wrp::before {
	background: #666666;
	border: none;
}
.mod_btn3 .anime-wrp::before {
	background: #0091DB;
	border: 2px solid #0091DB;
}
a:hover .mod_btn4 .anime-wrp::before,
a.mod_btn4:hover .anime-wrp::before,
.mod_btn:hover .anime-wrp::before,
.mod_btn2:hover .anime-wrp::before,
.mod_btn3:hover .anime-wrp::before,
.mod_btn5:hover .anime-wrp::before,
.mod_btn6:hover .anime-wrp::before,
.mod_btn7:hover .anime-wrp::before {
	opacity: 1;
	transform: scaleX(1);
}
.mod_btn:hover .anime-wrp span {
	color: #0091db;
}
a:hover .mod_btn4 .anime-wrp span,
a.mod_btn4:hover .anime-wrp span,
.mod_btn2:hover .anime-wrp span,
.mod_btn3:hover .anime-wrp span,
.mod_btn5:hover .anime-wrp span,
.mod_btn6:hover .anime-wrp span,
.mod_btn7:hover .anime-wrp span {
	color: #fff;
}
.mod_btn4 .icon_after,
.mod_btn .icon_after,
.mod_btn2 .icon_after,
.mod_btn3 .icon_after,
.mod_btn5 .icon_after,
.mod_btn6 .icon_after,
.mod_btn7 .icon_after {
	font-size: 1.8rem;
	margin-left: 9px;
}

.mod_btnarea {
	padding-top: 25px;
}

.mod_btnarea .mod_btn {
	max-width: 604px;
	padding: 16px 15px;
	background: #0091db;
	box-shadow: inset 0 0 0 2px #0091db;
}
@media only screen and (max-width: 639px) {
	.mod_btnarea .mod_btn {
		max-width: 100%;
		padding: 16px 10px;
	}
}
.mod_btnarea .mod_btn:hover .btnicon {
	color: #fff;
	background: #0091db;
}
.mod_btnarea .mod_btn:hover .btnicon::after {
	border-color: transparent transparent transparent #0091db;
}
.mod_btnarea .mod_btn .anime-wrp::before {
	border: 2px solid #0091db;
}
.mod_btnarea .mod_btn:hover .btntext {
	color: #0091db;
}
.mod_btn .btnwrap {
	display: inline-block;
	padding-left: 71px;
	position: relative;
}
.mod_btn .btnicon {
	background: #fff;
	padding: 3px 1px 1px 4px;
	font-size: 1rem;
	font-weight: bold;
	display: inline-block;
	color: #0091db;
	position: absolute;
	top: 50%;
	left: 0;
	margin: -9px 0 0;
}
.mod_btn .btnicon::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_btn .btnicon:hover .mod_btn .btnicon::after {
	color: red;
}
.btntext {
	margin: 0;
	font-size: 1.8rem;
	font-weight: 700;
	color: #fff;
	text-align: left;
	line-height: 1.4;
}
.mod_subcolumn {
	order: 0;
	width: 220px;
	margin-right: 70px;
}
@media only screen and (max-width: 959px) {
	.mod_subcolumn {
		margin: 60px auto 0;
		width: calc(100% - 30px);
	}
}
.mod_subcolumn li {
	border: 1px solid #cbcbcb;
	border-top: 0;
	position: relative;
}
.mod_subcolumn li.title {
	border-color: #00b0ec;
}
.mod_subcolumn li.title a {
	display: block;
	color: #fff;
	padding: 33px 0;
	background-color: #00b0ec;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
}
.mod_subcolumn li.title a:hover {
	text-decoration: underline;
}
.mod_subcolumn .link > .icon {
	position: absolute;
	color: #0091db;
	top: 21px;
	left: 15px;
	z-index: 1;
}
.mod_subcolumn .link > a {
	font-size: 1.4rem;
	text-decoration: none;
	line-height: 1.4;
	padding: 19px 15px 17px 25px;
	display: block;
}
.mod_subcolumn .link > a:hover {
	color: #0091db;
}
.case015 .mod_subcolumn .link.case015 a,
.case014 .mod_subcolumn .link.case014 a,
.case013 .mod_subcolumn .link.case013 a,
.case012 .mod_subcolumn .link.case012 a,
.case011 .mod_subcolumn .link.case011 a,
.case010 .mod_subcolumn .link.case010 a,
.case009 .mod_subcolumn .link.case009 a,
.case008 .mod_subcolumn .link.case008 a,
.case007 .mod_subcolumn .link.case007 a,
.case006 .mod_subcolumn .link.case006 a,
.case005 .mod_subcolumn .link.case005 a,
.case004 .mod_subcolumn .link.case004 a,
.case003 .mod_subcolumn .link.case003 a,
.case002 .mod_subcolumn .link.case002 a,
.case001 .mod_subcolumn .link.case001 a {
	color: #0091db;
	font-weight: bold;
}
.mod_subcolumn .mod_bnrbox2 {
	margin: 40px 0 0 0;
}
@media only screen and (max-width: 959px) {
	.mod_subcolumn .mod_bnrbox2 {
		display: none;
	}
}
.mod_subcolumn .mod_bnrbox2 .link {
	padding: 20px 15px;
}
.mod_subcolumn .mod_bnrbox2 .img {
    max-width: 144px;
}
.mod_subcolumn .mod_bnrbox2 .title {
	font-size: 1.3rem;
	margin-top: 14px;
}
.mod_subcolumn .mod_bnrbox2 .btnmore {
	margin: 12px auto 0;
}

.mod_textarea1 {
	width: 100%;
}
@media only screen and (max-width: 959px) {
	.mod_textarea1 {
		width: calc(100% - 30px);
		margin: auto;
	}
}
@media only screen and (max-width: 639px) {
	.mod_textarea1 {
		width: calc(100% - 30px);
		margin: auto;
	}
}

/* ----- 共通パーツ ----- */
.wrap {
	padding-top: 30px;
}
.mod_title3 {
	font-size: 2rem;
	line-height: 1.4;
	color: #333;
	padding-top: 0;
}
* + .mod_title3 {
	padding-top: 45px;
}
.mod_title4 {
	font-size: 1.6rem;
	line-height: 1.4;
	color: #333;
	background-color: #F6F6F6;
	margin-top: 65px;
	padding: 15px;
}
.mod_textlist {
	margin: 20px 0 0;
}
.mod_textlist li {
	padding-left: 20px;
	position: relative;
	line-height: 1.4;
}
.mod_textlist li + li {
	margin: 10px 0 0;
}
.mod_textlist li::before {
	content: "";
	left: 0;
	top: 5px;
	width: 11px;
	height: 11px;
	display: inline-block;
	position: absolute;
	line-height: 1.4;
	border-radius: 50%;
	background-color: #00479d;
}
.mod_textlist .mod_text1 {
	line-height: 1.4;
}
/*.mod_textlist.style2 li::before {
	border-radius: 20%;
}*/
.mod_solbox {
	margin: 50px auto 0;
	background-color: #fff;
}
.detail .mod_solbox {
	margin: 50px auto 0;
	background-color: #eff7fa;
}
#solution .mod_solbox {
	margin: 50px auto 0;
}
.mod_solbox .link {
	display: flex;
	justify-content: space-between;
}
@media only screen and (max-width: 639px) {
	.mod_solbox .link {
		flex-wrap: wrap;
	}
}
.mod_solbox .link:hover .title, .mod_solbox .link:hover .desc {
	text-decoration: underline;
}
.mod_solbox .link:hover .btnmore {
	color: #fff;
}
.mod_solbox .textbox {
	/*background-color: #eff7fa;*/
	width: 50%;
	padding: 24px 30px 30px;
}
@media only screen and (max-width: 639px) {
	.mod_solbox .textbox {
		width: 100%;
		order: 1;
	}
}
#solution .mod_solbox .textbox {
	width: 50%;
	background-color: #fff;
	padding: 40px;
}
@media only screen and (max-width: 639px) {
	#solution .mod_solbox .textbox {
		width: 100%;
		padding: 30px;
	}
}
.mod_solbox .title {
	font-size: 2.4rem;
	line-height: 1.4;
}
@media only screen and (max-width: 959px) {
	.mod_solbox .title {
		font-size: 2.4rem;
	}
}
.mod_solbox .desc {
	margin-top: 11px;
	font-size: 1.5rem;
	line-height: 1.8;
}
.mod_solbox .btnmore {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 98px;
	height: 26px;
	margin-top: 22px;
	background-color: #fff;
	border: 1px solid rgba(0, 71, 157, .5);
	border-radius: 2px;
	color: #00479d;
	position: relative;
}
.mod_solbox a:hover .btnmore {
	border: 1px solid #005ead;
}
.mod_solbox .btnmore .txt-wrp span {
	font-size: 1.3rem;
	line-height: 1.4;
}
.mod_solbox .btnmore .icon {
	margin-left: 5px;
	font-size: 1.2rem;
}
.mod_solbox .imgbox {
	width: 50%;
}
@media only screen and (max-width: 639px) {
	.mod_solbox .imgbox {
		max-width: 100%;
		width: 100%;
		order: 0;
	}
}
.mod_solbox .imgbox img {
	width: 100%;
	height: auto;
}
#solution .mod_solbox .imgbox {
	width: 50%;
}
@media only screen and (max-width: 639px) {
	#solution .mod_solbox .imgbox {
		width: 100%;
	}
}
.mod_bnrbox2 {
	position: relative;
	margin: 50px 0 0 0;
	padding: 5px;
}
.mod_bnrbox2:before {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 50%;
	border: 5px solid #00b0ec;
	border-bottom: 0;
	box-sizing: border-box;
	top: 0;
	left: 0;
}
.mod_bnrbox2:after {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 50%;
	border: 5px solid #90c31f;
	border-top: 0;
	box-sizing: border-box;
	bottom: 0;
	left: 0;
}
.mod_bnrbox2 .link {
	position: relative;
	display: block;
	padding: 26px 15px 24px;
	text-align: center;
	z-index: 1;
}
.mod_bnrbox2 .link:hover .btnmore {
	color: #fff;
}
.mod_bnrbox2 .title {
	margin-top: 15px;
	font-size: 1.5rem;
	line-height: 1.4;
}
.mod_bnrbox2 .btnmore {
	/* display: flex;
	align-items: center;
	justify-content: center;
	width: 90px;
	height: 26px; */
	display: inline-block;
	font-size: 1.3rem;
	line-height: 1.4;
	padding: 3px 6px 3px 8px;
	margin: 14px auto 0;
	background-color: #fff;
	border: 1px solid rgba(0, 71, 157, .5);
	border-radius: 2px;
	color: #00479d;
	position: relative;
}
.mod_bnrbox2 a:hover .btnmore {
	border: 1px solid #005ead;
}
.mod_bnrbox2 .btnmore .txt-wrp span {
	font-size: 1.3rem;
	line-height: 1.4;
}
.mod_bnrbox2 .btnmore .icon {
	margin-left: 4px;
}
.mod_bnrbox2 .img {
	max-width: 218px;
	height: auto;
}

/* ----- 見出し ----- */
.mod_title1 {
	width: 100%;
}
.index .mod_title1 {
	margin-top: 30px;
	padding-top: 160px;
	position: relative;
}
.index .mod_title1::after {
	background: url("/case/img/bg_title.jpg") center center/contain no-repeat;
	background-size: cover;
	width: 100%;
	height: 160px;
	content: '';
	position: absolute;
	display: block;
	top: 0;
}
#library.index .mod_title1::after {
	background: url("/library/img/bg_title.jpg?version=240919") center center/contain no-repeat;
	background-size: cover;
}
#knowledge.index .mod_title1::after {
	background: url("/knowledge/img/bg_title.jpg") center center/contain no-repeat;
	background-size: cover;
}
#column.index .mod_title1::after {
	background: url("/column/img/bg_title.jpg") center center/contain no-repeat;
	background-size: cover;
}
#news.index .mod_title1::after {
	background: url("/news/img/bg_title.jpg") center center/contain no-repeat;
	background-size: cover;
}
#privacy.index .mod_title1::after {
	background: url("/privacy/img/bg_title.jpg") center center/contain no-repeat;
	background-size: cover;
}
@media only screen and (max-width: 959px) {
	.index .mod_title1 {
		padding-top: 120px;
	}
	.index .mod_title1::after {
		height: 120px;
	}
}
@media only screen and (max-width: 639px) {
	.index .mod_title1 {
		padding-top: 70px;
	}
	.index .mod_title1::after {
		height: 70px;
	}
}
.mod_title1 .title {
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}
@media only screen and (max-width: 639px) {
	.mod_title1 .title {
		font-size: 2.8rem;
	}
}
#home .mod_title1 .title {
	padding-top: 100px;
}
.index .mod_title1 .title {
	margin-top: 50px;
}
.mod_title1 .title.line {
	padding-bottom: 35px;
	position: relative;
}
.mod_title1 .title2 {
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}
.mod_title1 .title_sub {
	color: #0091db;
	font-size: 2rem;
	line-height: 1.4;
	margin-top: 12px;
	font-family: "Fjalla One", sans-serif;
	text-align: center;
}
.mod_title1 .desc {
	margin-top: 20px;
	padding-bottom: 35px;
	font-size: 2rem;
	line-height: 1.4;
	text-align: center;
	position: relative;
}
@media only screen and (max-width: 639px) {
	.mod_title1 .desc {
		font-size: 2rem;
		padding-right: 15px;
		padding-left: 15px;
	}
}
.mod_title1 .title.line::before,
.mod_title1 .desc::before {
	content: "";
	border-bottom: solid 5px #00B0EC;
	position: absolute;
	width: 120px;
	height: 5px;
	bottom: 0;
	left: calc(50% - 60px);
}

.mod_conbox1 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.mod_conbox1 + .mod_conbox1 {
	margin-top: 24px;
}
.mod_count1 + .mod_conbox1 {
	margin-top: 20px;
}
@media only screen and (max-width: 959px) {
	.mod_conbox1.col4 {
		max-width: 804px;
		margin: auto;
	}
}
@media only screen and (max-width: 639px) {
	.mod_conbox1.col4 {
		max-width: 528px;
	}
}
.mod_conbox1:after,
.mod_conbox1.col4:before {
	content: "";
	display: block;
	width: calc((100% - 48px) / 3);
}
.mod_conbox1.col2:after {
	width: calc((100% - 24px) / 2);
}
.mod_conbox1.col4:before,
.mod_conbox1.col4:after {
	width: calc((100% - 72px) / 4);
}
.mod_conbox1.col4:before {
	order: 1;
}
@media only screen and (max-width: 639px) {
	.mod_conbox1:after {
		content: none;
	}
}
#home .mod_conbox1 {
	margin-top: -24px;
}
#event .mod_conbox1,
/*#library .mod_conbox1,*/
#column .mod_conbox1,
#case .mod_conbox1 {
	margin-top: -24px;
}

/*2つのときセンター揃え*/
.mod_conbox1.conbox1_center {
	justify-content: center;
}
@media only screen and (min-width: 640px) {
	.mod_conbox1.conbox1_center .mod_set + .mod_set {
		margin-left: 24px;
	}
}
.mod_conbox1.conbox1_center:after {
	display: none;
}

.mod_set,
.mod_set2 {
	position: relative;
	width: calc((100% - 48px) / 3);
	margin-top: 24px;
}
.mod_set2 {
	/*width: calc((100% - 24px) / 2);*/
	background-color: #FFFFFF;
}
@media only screen and (max-width: 959px) {
	.mod_set,
	.mod_set2 {
		width: calc((100% - 24px) / 2);
	}
	/*.mod_set2 {
		width: 100% !important;
	}*/
}
@media only screen and (max-width: 639px) {
	.mod_set,
	.mod_set2 {
		width: 100% !important;
	}
}
.mod_set .link,
.mod_set2 .link {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
}
.mod_set2 .link {
	padding: 20px;
}
@media only screen and (min-width: 640px) {
	.mod_set2 .link .conbox {
		display: flex;
		justify-content: space-between;
		/*padding: 30px 24px 30px 30px;*/
	}
}
.mod_set .l-category {
	background-color: #FFFFFF;
	border-left: #00479D 10px solid;
	padding: 17px 23px 18px;
	font-size: 1.6rem;
	line-height: 1.4;
	font-weight: bold;
	color: #00479D;
}
.mod_set .l-category span {
	font-size: 1.2rem;
	font-weight: normal;
	color: #0091DB;
	margin-left: 10px;
	font-family: "Fjalla One", sans-serif;
}
.mod_set .thu {
	position: relative;
}
.mod_set2 .thu {
	width: 114px;
}
.mod_set2 .thu img.border {
	border: #CCCCCC 1px solid;
}
@media only screen and (max-width: 639px) {
	.mod_set2 .thu {
		margin: 0 auto;
	}
}
.mod_set .thu.bg:before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: '';
	background-color: #000;
	opacity: 0.6;
}
.mod_set .thu .coming {
	position: absolute;
	color: #fff;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	text-align: center;
	font-size: 1.5rem;
	line-height: 2.3;
}
.mod_set .thu .coming span {
	font-family: "Fjalla One", sans-serif;
	font-size: 2rem;
}
.mod_set .cat {
	background: #00a040;
	color: #fff;
	font-size: 1.3rem;
	display: block;
	position: absolute;
	width: 90px;
	height: 30px;
	padding: 7px 0;
	text-align: center;
	line-height: 1.4;
	z-index: 1;
}
.mod_set .textbox {
	padding: 24px 24px 68px;
	background-color: #fff;
	position: relative;
}
#knowledge .mod_set .textbox {
	padding: 24px;
}
.material .mod_set .textbox {
	background-color: #E5E5E5;
}
.form .mod_set .textbox {
	background-color: #333333;
}
.mod_set.set2 .textbox {
	text-align: center;
	padding-bottom: 24px;
}
.mod_set2 .textbox {
	width: calc(100% - 20px - 114px);
}
/*@media only screen and (min-width: 960px) {
	.mod_set2 .textbox {
		width: calc(100% - 20px - 114px);
	}
}*/
@media only screen and (max-width: 639px) {
	.mod_set2 .textbox {
		width: 100% !important;
		margin-top: 24px;
	}
}
.mod_set .text_sub,
.mod_set2 .text_sub {
	font-size: 1.5rem;
	line-height: 1.4;
}
.mod_set2 .text_sub {
	font-size: 1.4rem;
}
.mod_set .text,
.mod_set2 .text {
	font-size: 1.8rem;
	line-height: 1.4;
	font-weight: bold;
}
.mod_set2 .text {
	font-size: 1.6rem;
}
.mod_set .text .icon-new_24 {
	font-size: 2.4rem;
	font-weight: normal;
	display: inline-block;
	margin-left: 6px;
	vertical-align: bottom;
}
.mod_set * + .text_sub,
.mod_set * + .text {
	margin-top: 8px;
}
.mod_set.set2 * + .text_sub {
	margin-top: 20px;
}
.mod_set2 * + .text_sub,
.mod_set2 * + .text {
	margin-top: 10px;
}
.mod_set .category + .text {
	margin-top: 8px;
}
.mod_set .logo {
	width: 200px;
	margin-left: auto;
	margin-right: auto;
}
.mod_set .corp {
	font-size: 1.5rem;
	margin-top: 10px;
	line-height: 1.4;
	color: #8d8d8d;
}
.mod_set .date {
	font-size: 1.5rem;
	margin-top: 10px;
	line-height: 1.4;
	color: #8d8d8d;
}
.mod_set .category {
	color: #00479d;
	line-height: 1.4;
}
.mod_set .keyword {
	font-size: 1.1rem;
	line-height: 1;
	color: #555555;
	padding-top: 15px;
}
.mod_set .keyword span {
	background-color: #E6E6E6;
	border-radius: 2px;
	padding: 6px;
	display: inline-block;
	margin-right: 5px;
	margin-top: 5px;
}
.mod_set .keyword span:last-child {
	margin-right: 0;
}
.mod_set2 .tag {
	display: flex;
	flex-wrap: wrap;
	padding-top: 8px;
}
.mod_set2 .tag > img {
	margin: 10px 10px 0 0;
	max-width: 50px;
	width: 100%;
}
.mod_set2 .tag > img:last-of-type {
	margin-right: 0;
}
@media only screen and (min-width: 1125px) {
	.mod_set2 .tag > img:nth-of-type(3n) {
		margin-right: 0;
	}
}
@media only screen and (max-width: 1050px) and (min-width: 960px) {
	.mod_set2 .tag > img:nth-of-type(2n) {
		margin-right: 0;
	}
}
.mod_set .btnmore,
.mod_set2 .btnmore {
	margin-top: 18px;
	display: inline-block;
	background: #fff;
	color: #00479d;
	border-radius: 2px;
	font-size: 1.3rem;
	line-height: 1.4;
	text-align: center;
	/* width: 90px;
	height: 26px; */
	padding: 3px 6px 3px 8px;
	border: 1px solid rgba(0, 71, 157, .5);
	position: absolute;
	left: 24px;
	bottom: 24px;
}
#knowledge .mod_set .btnmore {
	position: relative;
	left: 0;
	bottom: 0;
}
.mod_set.set2 .btnmore,
.mod_set2 .btnmore {
	position: relative;
	left: auto;
	bottom: auto;
}
.mod_set .logo + .btnmore {
	margin-top: 24px;
}
.mod_set a:hover .btnmore,
.mod_set2 a:hover .btnmore {
	border: 1px solid #005ead;
}
.mod_set .btnmore .anime-wrp span,
.mod_set2 .btnmore .anime-wrp span,
.mod_set3 .btnmore .anime-wrp span,
.solution_area .btnmore .anime-wrp span,
.mod_solbox .btnmore .anime-wrp span,
.mod_bnrbox2 .btnmore .anime-wrp span {
	position: relative;
	z-index: 2;
}
.mod_set .btnmore .anime-wrp::before,
.mod_set2 .btnmore .anime-wrp::before,
.mod_set3 .btnmore .anime-wrp::before,
.solution_area .btnmore .anime-wrp::before,
.mod_solbox .btnmore .anime-wrp::before,
.mod_bnrbox2 .btnmore .anime-wrp::before {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100%;
	content: "";
	opacity: 0;
	transition: .4s ease;
	transform: scaleX(0);
	transform-origin: center left;
	border-radius: 0;
	background: #005ead;
	border: 1px solid #005ead;
	box-sizing: border-box;
}
/*.mod_set2 .btnmore {
	margin-top: 15px;
}*/
.mod_set .btnmore .icon,
.mod_set2 .btnmore .icon {
	margin-left: 4px;
	color: #00479d;
	vertical-align: -1px;
}
.mod_set a:hover .title,
.mod_set a:hover .text_sub,
.mod_set a:hover .text,
.mod_set2 a:hover .title,
.mod_set2 a:hover .text_sub,
.mod_set2 a:hover .text {
	text-decoration: underline;
}
.mod_set.set2 a:hover .text_sub,
.mod_set a:hover .btnmore, .mod_set a:hover .btnmore .icon,
.mod_set2 a:hover .btnmore, .mod_set a:hover .btnmore .icon {
	text-decoration: unset;
}
.mod_set a:hover .btnmore .anime-wrp:before,
.mod_set2 a:hover .btnmore .anime-wrp:before,
.mod_set3 a:hover .btnmore .anime-wrp:before,
.solution_area a:hover .btnmore .anime-wrp:before,
.mod_solbox a:hover .btnmore .anime-wrp:before,
.mod_bnrbox2 a:hover .btnmore .anime-wrp:before {
	opacity: 1;
	transform: scaleX(1);
}
.mod_set a:hover .btnmore .anime-wrp span,
.mod_set2 a:hover .btnmore .anime-wrp span,
.mod_set3 a:hover .btnmore .anime-wrp span,
.solution_area a:hover .btnmore .anime-wrp span,
.mod_solbox a:hover .btnmore .anime-wrp span,
.mod_bnrbox2 a:hover .btnmore .anime-wrp span {
	color: #fff;
}

.mod_set3 {
	margin: 50px auto 0;
	background-color: #fff;
}
.mod_set3 + .mod_set3 {
	margin-top: 25px;
}
.mod_set3.bg_c1 {
	background-color: #F6F6F6;
}
#solution .mod_set3 {
	margin: 24px auto 0;
	background-color: #eff7fa;
}
@media only screen and (max-width: 639px) {
	#solution .mod_set3 {
		margin: 50px auto 0;
	}
}
.mod_set3 .link {
	display: flex;
	justify-content: space-between;
}
@media only screen and (max-width: 639px) {
	.mod_set3 .link {
		flex-wrap: wrap;
	}
}
.mod_set3 .link:hover .title, .mod_set3 .link:hover .desc {
	text-decoration: underline;
}
.mod_set3 .link:hover .btnmore {
	color: #fff;
}
.mod_set3 .textbox {
	/*background-color: #eff7fa;*/
	width: 50%;
	padding: 24px 30px 30px;
}
@media only screen and (max-width: 639px) {
	.mod_set3 .textbox {
		width: 100%;
		order: 1;
	}
}
#solution .mod_set3 .textbox {
	width: 50%;
	background-color: #fff;
	padding: 40px;
}
@media only screen and (max-width: 639px) {
	#solution .mod_set3 .textbox {
		width: 100%;
		padding: 30px;
	}
}
.mod_set3 .category {
	color: #00479d;
	line-height: 1.4;
}
.mod_set3 .mod_cat1 {
	position: relative;
	top: 0;
	left: 0;
	border: none;
	display: inline-block;
}
.mod_set3 .text_sub {
	font-size: 1.5rem;
	line-height: 1.4;
}
.mod_set3 .text {
	font-size: 1.8rem;
	line-height: 1.4;
	font-weight: bold;
}
.mod_set3 .text .icon-new_24 {
	font-size: 2.4rem;
	font-weight: normal;
	display: inline-block;
	margin-left: 6px;
	vertical-align: bottom;
}
.mod_set3 * + .text_sub,
.mod_set3 * + .text {
	margin-top: 8px;
}
.mod_set3 .category + .text {
	margin-top: 8px;
}
.mod_set3 .mod_cat1 + .text {
	margin-top: 15px;
}
.mod_set3 .title {
	font-size: 2.4rem;
	line-height: 1.4;
}
.mod_set3 .desc {
	margin-top: 11px;
	font-size: 1.5rem;
	line-height: 1.8;
}
.mod_set3 .btnmore {
	display: inline-block;
	/* display: flex;
	align-items: center;
	justify-content: center; */
	/* width: 98px;
	height: 26px; */
	padding: 3px 6px 3px 8px;
	margin-top: 22px;
	background-color: #fff;
	border: 1px solid rgba(0, 71, 157, .5);
	border-radius: 2px;
	color: #00479d;
	position: relative;
}
.mod_set3 a:hover .btnmore {
	border: 1px solid #005ead;
}
.mod_set3 .btnmore .txt-wrp span {
	font-size: 1.3rem;
	line-height: 1.4;
}
.mod_set3 .btnmore .icon {
	margin-left: 5px;
	font-size: 1.2rem;
}
.mod_set3 .imgbox {
	width: 50%;
}
@media only screen and (max-width: 639px) {
	.mod_set3 .imgbox {
		max-width: 100%;
		width: 100%;
		order: 0;
	}
}
.mod_set3 .imgbox img {
	width: 100%;
	height: auto;
}
#solution .mod_set3 .imgbox {
	width: 50%;
}
@media only screen and (max-width: 639px) {
	#solution .mod_set3 .imgbox {
		width: 100%;
	}
}

.mod_set5 h4 {
	font-size: 1.5rem;
	line-height: 1.4;
	color: #333;
	margin-top: 30px;
}
@media only screen and (max-width: 639px) {
	.mod_set5 .mod_img-r1 + h4 {
		margin-top: 15px;
	}
}
.mod_set5 > p {
	margin-top: 10px;
	line-height: 1.4;
}
.mod_set5 .mod_link1 {
	font-size: 1.3rem;
}
.mod_set5 .mod_link1 .icon {
	vertical-align: -2px;
}
.mod_set5 + .mod_set5 {
	margin-top: 30px;
	border-top: #CCCCCC 1px solid;
}
.mod_set5 .mod_img-r1 dd {
	margin-top: 0;
	margin-bottom: 0;
}
@media only screen and (max-width: 639px) {
	.mod_set5 .mod_img-r1 dd {
		margin-top: 30px !important;
	}
}

.mod_set6 {
	border-top: #CCCCCC 1px solid;
}
.mod_set6:last-child {
	border-bottom: #CCCCCC 1px solid;
}
.mod_set6 a {
	padding: 22px 0;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}
@media only screen and (max-width: 639px) {
	.mod_set6 a {
		display: block;
	}
}
.mod_set6 .date_cat {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}
.mod_set6 .date,
.mod_set6 .title {
	font-size: 1.5rem;
	line-height: 1.4;
	font-weight: normal;
	margin-top: 3px;
}
.mod_set6 .date {
	width: 140px;
	color: #8d8d8d;
}
@media only screen and (max-width: 639px) {
	.mod_set6 .date {
		width: 115px;
	}
	.mod_set6 .title {
		width: 100%;
		margin-top: 20px;
	}
}
.mod_set6 a:hover .title {
	text-decoration: underline;
}
.mod_set6 .cat {
	margin-right: 25px;
	font-size: 1.3rem;
	line-height: 1;
	color: #FFFFFF;
}
.mod_set6 .cat span {
	padding: 7px;
	width: 100px;
	text-align: center;
	display: block;
}
@media all and (-ms-high-contrast: none) {
	.mod_set6 .cat span {
		padding-top: 10px;
		padding-bottom: 4px;
	}
}
.mod_set6 .cat .cat-event {
	background-color: #FF8B27;
}
.mod_set6 .cat .cat-product {
	background-color: #90C31F;
}
.mod_set6 .cat .cat-news {
	background-color: #00B0EC;
}
.mod_set6 .icon {
	font-size: 1.6rem;
	margin-left: 9px;
	margin-right: 14px;
	display: inline-block;
	vertical-align: -1px;
}
@media only screen and (max-width: 639px) {
	.mod_set6 .icon {
		margin-right: 0;
	}
}
.mod_set6 .icon.icon-win_16_m {
	color: #09479D;
}

.mod_set7 {
	width: calc((100% - 64px) / 2);
	text-align: center;
	font-size: 1.5rem;
	font-weight: bold;
}
@media only screen and (max-width: 959px) {
	.mod_set7 {
		font-size: 1.3rem;
		width: calc((100% - 24px) / 2);
	}
}
@media only screen and (min-width: 639px) {
	#solution .mod_set7,
	#library .mod_set7 {
		width: calc(100% / 2);
	}
}
@media only screen and (max-width: 639px) {
	.mod_set7 {
		width: 100%;
	}
	#home .mod_set7 + .mod_set7 {
		margin-top: 30px;
	}
}
.mod_set7.style1 {
	background-color: #E5E5E5;
}
.mod_set7.style2 {
	background-color: #333333;
	color: #FFFFFF;
}
.mod_set7 .box {
	padding: 50px 72px 65px;
	max-width: 560px;
}
@media only screen and (min-width: 960px) {
	.mod_set7.style1 .box {
		margin-left: auto;
	}
}
@media only screen and (max-width: 959px) {
	.mod_set7 .box {
		padding: 30px 40px;
	}
}
@media only screen and (max-width: 639px) {
	.mod_set7 .box {
		margin: auto;
	}
}
.mod_set7 .thu {
	width: 100%;
	margin-top: 20px;
}
.mod_set7 .thu img {
	border-radius: 6px;
}

.mod_set8 {
	width: calc((100% - 72px) / 4);
	margin-top: 24px;
}
@media only screen and (max-width: 959px) {
	.mod_set8 {
		width: calc((100% - 48px) / 3);
	}
}
@media only screen and (max-width: 639px) {
	.mod_set8 {
		width: calc((100% - 24px) / 2);
	}
}
.mod_set8 img.border {
	border: #999999 1px solid;
}

.mod_new_text {
	font-size: 1.3rem;
	display: inline-block;
	font-weight: bold;
	color: #FF0000;
}
@media only screen and (max-width: 639px) {
	.mod_new_text {
		width: 100%;
	}
}

.mod_conboxlink {
	width: 100%;
	margin-top: 30px;
	text-align: right;
}
.mod_set6 + .mod_conboxlink {
	border-top: #CCCCCC 1px solid;
	margin-top: 0;
	padding-top: 30px;
}
.mod_conboxlink .link {
	color: #00479d;
	font-size: 1.5rem;
}
.mod_conboxlink .icon {
	color: #00479d;
	margin-left: 3px;
	font-size: 1.3rem;
	vertical-align: 0;
	display: inline-block;
	text-decoration: none;
}
.mod_conboxlink .text:hover {
	text-decoration: underline;
}

.mod_cat1 {
	font-size: 1.3rem;
	display: inline;
	color: #ffffff;
	border: #ffffff 1px solid;
	padding: 7px 9px;
	position: absolute;
	top: 12px;
	left: 12px;
	min-width: 140px;
	text-align: center;
	line-height: 1;
}
.mod_cat1.cat_food {
	background-color: #EB6100;
}
.mod_cat1.cat_creativity {
	background-color: #1D2088;
}
.mod_cat1.cat_hygiene {
	background-color: #0080CC;
}
.mod_cat1.cat_3r {
	background-color: #00A040;
}
.mod_cat1.cat_brandprotect {
	background-color: #F8B500;
}
.mod_cat1.cat_other {
	background-color: #1C5A76;
}
.mod_cat1.cat_basic {
	background-color: #E83164;
}

/* ----- 検索BOX ----- */
.mod_sortbox {
	width: 100%;
	background-color: #fff;
	font-size: 1.5rem;
	line-height: 1.4;
}
.mod_sortbox th {
	padding: 25px 30px;
	background-color: #00B0EC;
	text-align: left;
	position: relative;
	min-width: 120px;
	width: 12%;
	color: #fff;
	font-weight: normal;
}
.mod_sortbox th label  {
	position: absolute;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	transform : translate(-50%,-50%);
}
.mod_sortbox td {
	padding: 12px 0 0 25px;
	flex-wrap: wrap;
	width: auto;
	vertical-align: top;
}
.mod_sortbox th + td,
.mod_sortbox th + td + td {
	padding-top: 25px;
}
.mod_sortbox td + td {
	padding-left: 15px;
	padding-right: 25px;
	width: 100%;
}
.mod_sortbox tr:last-child td {
	padding-bottom: 17px;
}
@media screen and (max-width: 959px) {
	.mod_sortbox td {
		display: block;
	}
	.mod_sortbox td + td {
		padding-left: 25px;
		padding-top: 5px !important;
		display: inline-block
	}
	.mod_sortbox tr:last-child td:first-child {
		padding-bottom: 0;
	}
}
.mod_sortbox td h3 {
	font-size: 1.5rem;
	white-space: nowrap;
}
.mod_sortbox label {
	cursor: pointer;
}
.mod_sortbox input {
	display: none;
}
.mod_sortbox input + span {
	display: block;
	padding-left: 28px;
	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 th input + span::before {
	border: none;
}
.mod_sortbox input:checked + span::after {
	content: "";
	position: absolute;
	left: 3px;
	top: calc(50% - 7px);
	width: 16px;
	height: 13px;
	background: url(/img_com/icon_check2.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: 20px;
	margin-bottom: 8px;
	float: left;
}
.mod_sortbox .searchbox div:last-child {
	margin-right: 0;
}

#mod_errortext {
	text-align: center;
	margin-top: 45px;
}

/* ----- バナー ----- */
.mod_bnr1 {
	margin-top: 80px;
}
@media only screen and (max-width: 639px) {
	.mod_bnr1 {
		margin-top: 60px;
	}
}
.mod_bnr1 a {
	display: block;
}
.mod_bnr1 img {
	width: 100%;
}
@media only screen and (min-width: 640px) {
	.mod_bnr1 img.sp {
		display: none !important;
	}
}
@media only screen and (max-width: 639px) {
	.mod_bnr1 img.pc_tab {
		display: none !important;
	}
}

/* ----- ホーム,インデックスの 製品情報エリア ----- */
.solution_area1 {
	background: url("/img/bg_solution_area1.jpg") no-repeat;
	background-size: cover;
	background-position: center;
}
@media only screen and (max-width: 959px) {
	.solution_area1 {
		margin-bottom: 30px;
	}
}
.solution_area1 h2 {
	max-width: 700px;
	margin: 85px auto 0;
}
@media only screen and (max-width: 959px) {
	.solution_area1 h2 {
		max-width: 380px;
		margin-top: 0;
	}
}
@media only screen and (max-width: 639px) {
	.solution_area1 h2 {
		max-width: 272px;
	}
}
.solution_area1 .mod_catch1 {
	font-size: 3.2rem;
	margin-top: 70px;
}
@media only screen and (max-width: 959px) {
	.solution_area1 .mod_catch1 {
		font-size: 1.6rem;
		margin-top: 30px;
	}
}
.solution_area1 .mod_conbox1 {
	margin: 30px auto 0 !important;
	padding-bottom: 100px;
	max-width: 896px;
}
@media only screen and (max-width: 959px) {
	.solution_area1 .mod_conbox1 {
		margin-top: -20px !important;
		padding-bottom: 40px;
		max-width: 480px;
	}
}
@media only screen and (max-width: 639px) {
	.solution_area1 .mod_conbox1 {
		padding-bottom: 60px;
		max-width: 228px;
	}
}

.solution_area2 h2 {
	max-width: 536px;
	margin: 0 auto;
}
.solution_area2 .mod_2col {
	margin-top: 5px;
}
@media only screen and (max-width: 959px) {
	.solution_area2 .mod_2col {
		display: block;
	}
}
@media only screen and (min-width: 960px) {
	.solution_area2 .mod_2col {
		-webkit-box-align: center;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
	}
}
.solution_area2 .mod_2col .col.style1,
.solution_area2 .mod_2col .col.style2 {
	width: 100%;
}
@media only screen and (min-width: 960px) {
	.solution_area2 .mod_2col .col.style1 {
		width: calc(100% - 35px - 328px);
	}
	.solution_area2 .mod_2col .col.style2 {
		width: 328px;
	}
}

#solution .solution_area {
	margin: 80px auto 0;
	background: url("/solution/img/bg_2.jpg") no-repeat center;
	background-size: cover;
	height: 460px;
	display: flex;
	align-items: center;
	justify-content: center;
}
@media only screen and (max-width: 639px) {
	.solution_area {
		height: 360px;
		padding: 44px 0 45px;
		margin-top: 60px;
	}
}
#solution .solution_area {
	background: url("/solution/img/bg_2.jpg") no-repeat center 0;
	background-size: cover;
	margin: 30px auto 0;
	height: 360px;
}
@media only screen and (max-width: 639px) {
	#solution .solution_area {
		height: 260px;
		padding: 50px 0;
	}
}

/* ----- 展示会タイトル ----- */
.event_area {
	margin: 30px auto 0;
	height: 500px;
	display: flex;
	align-items: center;
	justify-content: center;
}
@media only screen and (max-width: 639px) {
	.event_area {
		height: 276px;
	}
}
.event001 .event_area {
	background: url("/event/001/img/bg_1.jpg") no-repeat center;
	background-size: cover;
}
.event002 .event_area {
	background: url("/event/002/img/bg_1.jpg") no-repeat center;
	background-size: cover;
}
.event003 .event_area {
	background: url("/event/003/img/bg_1.jpg") no-repeat center;
	background-size: cover;
}

/* タイトルボックス */
.mod_titlebox1 {
	color: #fff;
	line-height: 1.4;
	text-align: center;
	max-width: 1080px;
	width: calc(100% - 30px);
}
.mod_titlebox1 .title {
	font-size: 5rem;
	line-height: 1;
	text-shadow: 0 0 10px rgba(0, 0, 0, .5)
}
.mod_titlebox1 .title.small,
.mod_titlebox1 .title.small2,
.mod_titlebox1 .title.small3 {
	font-size: 4.4rem;
}
.mod_titlebox1 .title.small2,
.mod_titlebox1 .title.small3 {
	line-height: 1.2;
}
@media only screen and (max-width: 959px) {
	.mod_titlebox1 .title.small3 {
		font-size: 4rem;
	}
}
@media only screen and (max-width: 639px) {
	.mod_titlebox1 .title {
		font-size: 2.8rem;
		line-height: 1.2;
	}
	.mod_titlebox1 .title.small,
	.mod_titlebox1 .title.small2 {
		font-size: 1.9rem;
		line-height: 1.5;
	}
	.mod_titlebox1 .title.small3 {
		font-size: 1.8rem;
		line-height: 1.3;
	}
}
.mod_titlebox1 .title span {
	font-size: 3.2rem;
}
@media only screen and (max-width: 639px) {
	.mod_titlebox1 .title span {
		font-size: 2.4rem;
	}
	.mod_titlebox1 .title span.sm {
		font-size: 1.9rem;
	}
}
.mod_titlebox1 .text {
	font-size: 2.4rem;
	font-weight: bold;
	margin-top: 26px;
	text-shadow: 0 0 10px rgba(0, 0, 0, .16)
}
.mod_titlebox1 .text span {
	font-size: 2rem;
}
@media only screen and (max-width: 639px) {
	.mod_titlebox1 .text {
		margin-top: 16px;
	}
	.mod_titlebox1 .text,
	.mod_titlebox1 .text span {
		font-size: 1.5rem;
		line-height: 1.8;
	}
	.mod_titlebox1 .text.sm2 {
		line-height: 1.3;
	}
}
.mod_titlebox1 .mod_btn2 {
	margin-top: 48px;
	max-width: 380px;
}
@media only screen and (min-width: 640px) {
	.mod_titlebox1 .mod_btn2 .icon-win_16_s {
		display: none;
	}
}
@media only screen and (max-width: 639px) {
	.mod_titlebox1 .mod_btn2 {
		margin-top: 20px;
		font-size: 1.5rem;
		padding: 17px 15px;
		max-width: 325px;
	}
	.mod_titlebox1 .mod_btn2 .icon_after {
		vertical-align: -2px;
	}
	.mod_titlebox1 .mod_btn2 .icon-win_16_m {
		display: none;
	}
}
@media only screen and (max-width: 374px) {
	.mod_titlebox1 .title.small,
	.mod_titlebox1 .title.small span.sm {
		font-size: 1.6rem;
	}
	.mod_titlebox1 .text.sm,
	.mod_titlebox1 .text.sm span,
	.mod_titlebox1 .text.sm2 {
		font-size: 1.3rem;
	}
}

/* 製品情報ボックス */
.mod_bnrbox1 {
	width: 558px;
	padding: 10px;
	background: linear-gradient(180deg, #00b0ec 0%, #00b0ec 50%, #90c31f 50%, #90c31f 100%);
	display: block;
}
@media only screen and (max-width: 959px) {
	.mod_bnrbox1 {
		max-width: calc(100% - 30px);
	}
}
@media only screen and (max-width: 639px) {
	.mod_bnrbox1 {
		padding: 5px;
	}
}
#solution .mod_bnrbox1 {
	max-width: 576px;
}
@media only screen and (max-width: 639px) {
	#solution .mod_bnrbox1 {
		max-width: 344px;
	}
}
.mod_bnrboxwrap {
	text-align: center;
	margin: 0 auto;
	background: #fff;
	padding: 32px 50px 34px;
}
@media only screen and (max-width: 639px) {
	.mod_bnrboxwrap {
		padding: 27px 27px 25px;
	}
}
#solution .mod_bnrboxwrap {
	padding: 53px 50px 48px;
}
@media only screen and (max-width: 639px) {
	#solution .mod_bnrboxwrap {
		padding: 32.5px 27px;
	}
}
.mod_bnrboxwrap {
	background: #fff;
}
.solution_area .imgbox2 {
	text-align: center;
}
.solution_area .text + .imgbox2 {
	margin-top: 8px;
}
.solution_area .imgbox2 img {
	max-width: 300px;
}
@media only screen and (max-width: 639px) {
	.solution_area .imgbox2 img {
		max-width: 260px;
	}
}
.solution_area .mod_title1 .title {
	font-size: 2.4rem;
}
@media only screen and (max-width: 639px) {
	.solution_area .mod_title1 .title {
		font-size: 2rem;
	}
}
.solution_area .text {
	font-size: 1.8rem;
	line-height: 1.4;
	font-weight: bold;
	text-align: center;
}
@media only screen and (max-width: 639px) {
	.solution_area .text {
		font-size: 1.6rem;
	}
}
.solution_area .text2 {
	font-size: 1.8rem;
	line-height: 1.4;
	font-weight: normal;
	margin-top: 14px;
	text-align: center;
}
@media only screen and (max-width: 639px) {
	.solution_area .text2 {
		font-size: 1.4rem;
	}
}
.solution_area .mod_title1 {
	margin-top: 25px;
}
#solution .solution_area .mod_title1 {
	margin-top: 25px;
}
.solution_area .btnmore {
	margin: 20px auto 0;
	display: inline-block;
	background: #fff;
	color: #00479d;
	border-radius: 2px;
	font-size: 1.3rem;
	line-height: 1.4;
	text-align: center;
	/* width: 166px;
	height: 26px; */
	min-width: 166px;
	padding: 3px 6px 3px 8px;
	border: 1px solid rgba(0, 71, 157, .5);
	position: relative;
}
.solution_area a:hover .btnmore {
	border: 1px solid #005ead;
}
.solution_area .btnmore .icon {
	margin-left: 4px;
	color: #00479d;
	vertical-align: -1px;
}
.mod_bnrbox1:hover .text2 {
	text-decoration: underline;
}
/* パンくずリスト */
.mod_topicpath {
	max-width: 1080px;
	width: calc(100% - 30px);
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
	padding-top: 20px;
}
@media only screen and (max-width: 959px) {
	.mod_topicpath {
		max-width: calc(100% - 30px);
	}
}
@media only screen and (max-width: 639px) {
	.mod_topicpath {
		width: 100%;
	}
}
.mod_topicpath li {
	font-size: 1.2rem;
	margin-right: 10px;
}
@media only screen and (max-width: 639px) {
	.mod_topicpath li {
		line-height: 1.4;
	}
}
.mod_topicpath a {
	display: flex;
	font-size: 1.2rem;
	color: #00479d;
}
.mod_topicpath a:hover {
	text-decoration: underline;
	color: #00479d;
}
.mod_topicpath .icon_after {
	vertical-align: -1px;
}

/* ページボタン */
.mod_btnpagebox1 {
	margin: 50px 0 0 0;
	padding: 20px 0 0 0;
	border-top: 1px solid #ccc;
	text-align: center;
	vertical-align: top;
	font-family: Arial, Helvetica, sans-serif;
}

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

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

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

.mod_btnpagebox1 .off a:hover {
	background-color: #00479d;
	color: #fff;
}

/* ----- 製品情報パーツ ----- */
.mod_text2 {
	text-align: center;
	font-size: 1.6rem;
	line-height: 1.8;
	margin-top: 30px;
}
.mod_bg_contact .text {
	color: #fff;
	font-size: 1.5rem;
	line-height: 1.4;
	text-align: center;
}

/* ----- コラムパーツ ----- */
.mod_pagetitle2 {
	padding: 40px 0 0 0;
	background: linear-gradient(#f5f5f5 328px, #fff 36px);
}
@media only screen and (max-width: 959px) {
	.mod_pagetitle2 {
		padding: 20px 0 0 0;
	}
}
.mod_pagetitle2 .inner {
	position: relative;
	max-width: 1080px;
	width: calc(100% - 30px);
	margin: auto;
}
@media only screen and (max-width: 959px) {
	.mod_pagetitle2 .inner {
		width: 100%;
	}
}
.mod_pagetitle2 .inner > .mod_text1 {
	position: absolute;
	right: 0;
	bottom: -23px;
}
@media only screen and (max-width: 959px) {
	.mod_pagetitle2 .inner > .mod_text1 {
		right: 15px;
	}
}
.mod_pagetitle2 .titlebox {
	position: absolute;
	width: 528px;
	height: 250px;
	padding: 40px;
	background-color: #fff;
	border-left: 5px solid #00b0ec;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	z-index: 10;
}
@media only screen and (min-width: 960px) {
	.mod_pagetitle2 .titlebox.type2 {
		padding: 25px 40px;
	}
}
@media only screen and (max-width: 959px) {
	.mod_pagetitle2 .titlebox {
		position: static;
		width: 100%;
		height: auto;
		padding: 30px;
		transform: none;
	}
}
.mod_pagetitle2 .mod_cat1 {
	position: relative;
	top: 0;
	left: 0;
	border: none;
	display: inline-block;
}
.mod_pagetitle2 .titlebox .subtitle {
	color: #00479d;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.4;
}
.mod_pagetitle2 .titlebox .title {
	margin: 15px 0 0 0;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.4;
}
.mod_pagetitle2 .titlebox.type2 .title {
	font-size: 2.3rem;
}
.mod_pagetitle2 .titlebox .title .sub {
	font-size: 2rem;
	display: inline-block;
}
.mod_pagetitle2 .titlebox .mod_cat1 + .title {
	margin-top: 18px;
}
.mod_pagetitle2 .titlebox .desc {
	margin: 10px 0 0 0;
	font-size: 2rem;
	line-height: 1.4;
}
.mod_pagetitle2 .imgbox {
	max-width: 620px;
	margin: 0 0 0 auto;
}
@media only screen and (max-width: 959px) {
	.mod_pagetitle2 .imgbox {
		max-width: 100%;
		margin: auto;
	}
}

.mod_bg_w {
	position: relative;
	background-color: #fff;
}
.mod_bg_w::before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 80px;
	background-color: #fff;
	left: 0;
	bottom: -80px;
}
.mod_2col,
.mod_2col2,
.mod_2col3,
.mod_3col {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.mod_2col3 {
	justify-content: center;
}
@media only screen and (max-width: 959px) {
	.mod_2col2 {
		display: block;
	}
}
@media only screen and (max-width: 639px) {
	.mod_2col,
	.mod_3col {
		display: block;
	}
}
.mod_2col .col,
.mod_2col2 .col,
.mod_3col .col {
	width: calc((100% - 24px) / 2);
	margin: 20px 0 0 0;
	font-size: 1.5rem;
	line-height: 1.8;
}
.mod_3col .col {
	width: calc((100% - 48px) / 3);
}
.mod_2col .col.style1,
.mod_2col2 .col.style1 {
	width: calc(100% / 2);
}
.mod_2col .col.style2,
.mod_2col2 .col.style2 {
	width: calc((100% / 2) - 40px);
}
.mod_2col .col.img,
.mod_2col2 .col.img {
	text-align: center;
}
.mod_2col .col.border img,
.mod_2col2 .col.border img {
	border: #ccc 1px solid;
}
@media only screen and (max-width: 959px) {
	.mod_2col2 .col,
	.mod_2col2 .col.style1,
	.mod_2col2 .col.style2 {
		width: 100%;
	}
	.mod_2col2 .col + .col {
		margin-top: 20px !important;
	}
}
@media only screen and (max-width: 639px) {
	.mod_2col .col,
	.mod_3col .col {
		width: 100%;
	}
}
.mod_2col3 {
	display: flex;
	align-items: flex-start;
	justify-content: center;
}
@media only screen and (max-width: 639px) {
	.mod_2col3 {
		display: block;
	}
}
.mod_2col3 .col {
	width: calc(100% / 2);
}
@media only screen and (max-width: 639px) {
	.mod_2col3 .col {
		width: 100%;
	}
}
.mod_2col3 .col .conbox {
	max-width: 540px;
	padding: 80px 15px;
}
.mod_2col3 .col:first-child .conbox {
	margin-left: auto;
}
@media only screen and (max-width: 639px) {
	.mod_2col3 .col .conbox {
		margin: auto;
	}
}

/* テーブル */
.mod_tb1,
.mod_tb2 {
	font-size: 1.5rem;
	line-height: 1.4;
	width: 100%;
}
.mod_tb1 {
	background-color: #FFF;
}
.mod_tb1.style2 {
	background-color: #333;
}
.mod_tb1 table,
.mod_tb2 {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%
}
@media screen and (max-width: 959px) {
	.mod_tb1 {
		display: block;
		overflow-x: auto;
	}
	/* -webkit */
	.mod_tb1::-webkit-scrollbar {
		height: 10px;
		height: 1rem;
		background-color: #F1F1F1;
	}
	.mod_tb1::-webkit-scrollbar-thumb {
		border-radius: 5px;
		border-radius: .5rem;
		background-color: #BCBCBC;
	}
}
* + .mod_tb1 {
	margin-top: 30px;
}
.mod_tb1 th,
.mod_tb1 td {
	padding: 10px 20px;
	border: 1px solid #999;
	color: #333;
	text-align: left;
}
.mod_tb1.style2 th,
.mod_tb1.style2 td {
	color: #FFF;
}
#solution .mod_tb1 th,
#solution .mod_tb1 td {
	white-space: nowrap;
}
.mod_tb1 thead th,
.mod_tb1 th.bg1 {
	font-weight: normal;
	text-align: center;
}
.mod_tb1 thead th {
	background-color: #F6FAED;
}
.mod_tb1.style2 thead th {
	background-color: #555;
}
.mod_tb1.style2 tbody th {
	background-color: #222;
}
.mod_tb1 .bg1 {
	background-color: #EFF7FA;
}
.mod_tb1 .bg2 {
	background-color: #F6F6F6;
}
.mod_tb1.style2 .bg2 {
	background-color: #F6F6F6;
}
#solution .mod_tb1 td {
	font-size: 1.6rem;
	text-align: center;
}

.mod_tb2 th,
.mod_tb2 td {
	padding: 14px 0;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	color: #333;
	text-align: left;
}
.mod_tb2 th {
	padding-right: 30px;
}
#event .mod_tb2 th {
	white-space: nowrap;
}

.mod_tb1 a,
.mod_tb2 a {
	color: #00479D;
	text-decoration: underline;
}
.mod_tb1 a:hover,
.mod_tb2 a:hover {
	text-decoration: none;
}

/* アンカーリンク（.mod_anchor1） */
.mod_anchor1 {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  padding: 50px 15px;
  background-color: #ffffff;
  color: #00479D;
}
@media only screen and (max-width: 639px) {
	.mod_anchor1 {
		padding: 30px 15px;
	}
}
.mod_anchor1 li + li {
  margin-left: 40px;
}
.mod_anchor1 .icon {
  vertical-align: -1px;
}
.mod_anchor1 a {
  font-size: 2rem;
}
@media only screen and (max-width: 639px) {
	.mod_anchor1 a {
		font-size: 1.5rem;
	}
}
.mod_anchor1 a:hover {
  text-decoration: underline;
}
.mod_anchor1 a .icon {
  display: inline-block;
  margin-left: 10px;
}

/* ポイント（.mod_pointbox2） */
.mod_pointbox2 {
	position: relative;
	margin: 50px auto 90px;
	padding: 40px;
	background-color: #EFF7FA;
	max-width: 896px;
}
.mod_pointbox2:before {
	content: '';
	position: absolute;
	width: 80px;
	height: 30px;
	bottom: -30px;
	left: calc(50% - 40px);
	background-color: #EFF7FA;
}
.mod_pointbox2:after {
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 60px 85px 0 85px;
	border-color: #EFF7FA transparent transparent transparent;
	bottom: -90px;
	left: calc(50% - 85px);
}
.mod_pointbox2 .title {
	font-size: 20px;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	color: #00479D;
}
.mod_pointbox2 .list {
	margin-top: 35px;
}
.mod_pointbox2 .list li + li {
	margin-top: 20px;
}
.mod_pointbox2 .list li {
	position: relative;
	margin-top: 0;
	min-height: 32px;
	padding-left: 47px;
}
.mod_pointbox2 .list li p {
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.4;
	padding-top: 2px;
}
.mod_pointbox2 .list li:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 32px;
	height: 32px;
	background-image: url("/img_com/icon_check.svg");
	background-repeat: no-repeat;
	background-size: 32px 32px;
	background-position: center;
	text-align: center;
}
@media screen and (max-width: 639px) {
	.mod_pointbox2 {
		margin-left: -15px;
		margin-right: -15px;
		padding: 33px 15px 40px;
	}
}

/* リスト_数字（.mod_ol1） */
.mod_ol1 {
  padding-top: 2px;
  padding-left: 20px;
}
.mod_ol1 p {
  margin-top: 12px;
  line-height: 1.4;
}
.mod_ol1 p + p {
  margin-top: 8px;
}
.mod_ol1 li {
  position: relative;
  line-height: 1.4;
  list-style-type: decimal;
}

/* 画像配置_中央（.mod_img-c1） */
.mod_img-c1 {
  width: 100%;
}
.mod_img-c1 dd {
  margin: 20px auto 0;
}
@media screen and (min-width: 640px) {
	.mod_img-c1 dd.sp {
		display: none;
	}
}
@media screen and (max-width: 639px) {
	.mod_img-c1 dd.pc {
		display: none;
	}
}
.mod_img-c1 dd.border img {
  border: #e2e2e2 1px solid;
}
.mod_img-c1 dd p {
  margin-top: 10px;
  line-height: 1.4;
}
.mod_img-c1 dt p {
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
}

/* 画像配置_左回り込み（.mod_img-l1） */
.mod_img-l1 {
	float: left;
}

@media screen and (max-width: 639px) {
	.mod_img-l1 {
		float: none;
	}
}

.mod_img-l1 dd {
	margin: 20px 24px 10px 0;
	width: 100%;
}

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

.mod_img-l1 dd.border img {
	border: #e2e2e2 1px solid;
}

.mod_img-l1 dd p {
	margin-top: 10px;
	line-height: 1.4;
}

/* 画像配置_右回り込み（.mod_img-r1） */
.mod_img-r1 {
	float: right;
}

@media screen and (max-width: 639px) {
	.mod_img-r1 {
		float: none;
	}
}

.mod_img-r1 dd {
	margin: 20px 0 10px 24px;
	width: 100%;
}

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

.mod_img-r1 dd.border img {
	border: #ccc 1px solid;
}

.mod_img-r1 dd p {
	margin-top: 10px;
	line-height: 1.4;
}

/* 動画 */
.mod_movie {
	width: 100%;
	max-width: 712px;
	margin: 25px auto;
}

.movie-wrap {
  position: relative;
	padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
	height: 0;
	overflow: hidden;
}

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

/* 画像ボックス */
.mod_imgbox1 {
	margin-top: 20px;
}

.mod_title3 + .mod_imgbox1 {
	margin-top: 25px;
}

.mod_imgbox1 .mod_img-r1 dd,
.mod_imgbox1 .mod_img-r1 + .mod_text1 {
	margin-top: 0;
}

@media screen and (max-width: 639px) {
	.mod_imgbox1 {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	
	.mod_imgbox1 .mod_text1.box2:not(:first-child) {
		margin-top: 20px;
	}
	
	.mod_imgbox1 .box1 {
		-webkit-box-ordinal-group: 1;
		-ms-flex-order: 1;
		-webkit-order: 1;
		order: 1;
		margin: auto;
	}
	
	.mod_imgbox1 .box2 {
		-webkit-box-ordinal-group: 2;
		-ms-flex-order: 2;
		-webkit-order: 2;
		order: 2;
		margin: auto;
	}
	
	.mod_imgbox1 .box3 {
		-webkit-box-ordinal-group: 3;
		-ms-flex-order: 3;
		-webkit-order: 3;
		order: 3;
		margin: auto;
	}
}

/* 展示会 */
/* コンテンツボックス2*/
* + .mod_conbox2 {
	margin-top: 40px;
}
.mod_conbox2 > * + * {
	margin-top: 40px;
}

/* セット4 */
.mod_set4 {
	border: 1px solid #CCCCCC;
}
.mod_set4 > a {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	padding: 50px;
}
.mod_set4 .new {
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
}
.mod_set4 .logo {
	width: 100%;
	max-width: 300px;
	margin: 0 auto;
}
.mod_set4 * + .logo {
	margin-top: 10px;
}
.mod_set4 .cols {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.mod_set4 * + .cols {
	margin-top: 40px;
}
.mod_set4 .cols > .col {
	width: calc((100% - 24px) / 2);
}
.mod_set4 .textbox > p {
	font-size: 1.5rem;
	line-height: 1.8;
}
.mod_set4 .textbox > p + p {
	margin-top: 14px;
}
.mod_set4 .textbox > * + .usebox {
	margin-top: 20px;
}
.mod_set4 * + .btn {
	margin-top: 40px;
}
/*
.mod_set4 > a:hover .textbox p {
	text-decoration: underline;
}
*/
@media only screen and (max-width: 959px) {
	.mod_set4 .cols {
		flex-direction: column;
	}
	.mod_set4 .cols > .col {
		width: 100%;
	}
	.mod_set4 .textbox {
		order: 2;
		margin-top: 20px;
	}
}
@media only screen and (max-width: 639px) {
	.mod_set4 > a {
		padding: 30px 24px;
	}
	.mod_set4 .new {
		font-size: 1.5rem;
	}
	.mod_set4 .logo {
		max-width: 185px;
	}
	.mod_set4.tt-barrier_deli .logo {
		max-width: 251px !important;
	}
	.mod_set4 * + .cols {
		margin-top: 24px;
	}
}

/* .mod_usebox1 */
.mod_usebox1 > .title {
	font-size: 1.5rem;
	line-height: 1.4;
}
.mod_usebox1 > .icons {
	display: flex;
}
.mod_usebox1 > * + .icons {
	margin-top: 15px;
}
.mod_usebox1 > .icons > .icon {
	max-width: 60px;
}
.mod_usebox1 > .icons > * + .icon {
	margin-left: 15px;
}
@media only screen and (max-width: 639px) {
	.mod_usebox1 > .icons > .icon {
		max-width: 50px;
	}
	.mod_usebox1 > .icons > * + .icon {
		margin-left: 10px;
	}
}

/* ----- フローティングバナー ----- */

.mod_floating_banner {
	position: fixed;
	z-index: 50;
	bottom: 88px;
	right: 20px;
	display: none;
}
.mod_floating_banner .banner_box {
	background: url("/img_com/f_bnr_1-1.png") no-repeat;
	background-size: 252px 92px;
	background-position-x: right;
	width: 257px;
	height: 92px;
	color: #FFF;
	font-size: 20px;
	font-size: 2rem;
	line-height: 1.1;
	font-weight: bold;
	text-align: center;
	padding: 34px 18px 0 0;
}
.mod_floating_banner .banner_box > span {
	font-size: 15px;
	font-size: 1.5rem;
}
.mod_floating_banner a:hover .banner_box {
	background: url("/img_com/f_bnr_1-2.png") no-repeat;
	background-size: 257px 92px;
}

/* ----- クローズボタン ----- */

.mod_close_btn {
	display: block;
	position: absolute;
	top: -8px;
	right: -10px;
	width: 20px;
	height: 20px;
	border: 1px solid #FFF;
	border-radius: 50%;
	background: #999;
	cursor: pointer;
}
.mod_close_btn::before,
.mod_close_btn::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 1px; /* 棒の幅（太さ） */
	height: 11px; /* 棒の高さ */
	background: #FFF; /* バツ印の色 */
}
.mod_close_btn::before {
	transform: translate(-50%,-50%) rotate(45deg);
}
.mod_close_btn::after {
	transform: translate(-50%,-50%) rotate(-45deg);
}

/* ----- 微調整 ----- */

.mt0 {
	margin-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;
}
.mt40 {
	margin-top: 40px !important;
}
.mt50 {
	margin-top: 50px !important;
}
.mt60 {
	margin-top: 60px !important;
}
.mt70 {
	margin-top: 70px !important;
}
.mt80 {
	margin-top: 80px !important;
}
.mt-20 {
	margin-top: -20px !important;
}
.mb0 {
	margin-bottom: 0 !important;
}
.pb0 {
	padding-bottom: 0 !important;
}
.pb80 {
	padding-bottom: 80px !important;
}

.frd {
	color: #F00;
}

.f18 {
	font-size: 1.8rem !important;
}
