@charset "UTF-8";
/*
Theme Name: kyosen
*/

/* ---------------- */

/* ---- common ---- */

/* ---------------- */

* {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-family: 'Noto Sans JP', 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	box-sizing: border-box;
	word-break: break-all;
}

body {
	line-height: 1.8;
	font-size: 16px;
}

a {
	text-decoration: none;
	color: inherit;
}

img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

.wrap {
	width: 84%;
	margin: 0 auto;
}

.clearfix:after {
	content: "";
	clear: both;
	display: block;
}

.pc {
	display: none;
}

.ml15 {
	margin-left: 15px;
}

.ml25 {
	margin-left: 25px;
}

.ml45 {
	margin-left: 45px;
}

.mb5 {
	margin-bottom: 5px;
}

.mb10 {
	margin-bottom: 10px;
}

.mb20 {
	margin-bottom: 20px;
}

.mt30 {
	margin-top: 30px;
}

.mb30 {
	margin-bottom: 30px;
}

.mb50 {
	margin-bottom: 50px;
}

.mb70 {
	margin-bottom: 70px;
}

.mb80 {
	margin-bottom: 80px;
}

.mb100 {
	margin-bottom: 100px;
}

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

.pb0 {
	padding-bottom: 0 !important;
}

.font12 {
	font-size: 12px
}

.font14 {
	font-size: 14px
}

.font18 {
	font-size: 18px
}

.link {
	color: #098a6c;
	border-bottom: dashed 1px #098a6c;
}

.link:hover {
	opacity: .7;
	border-bottom: none;
}

a.stripe-btn {
	display: block;
	padding: 10px;
	background: url(images/bg_pattern_d.png) repeat;
	color: #fff;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-align: center;
}

a.stripe-btn.pd15 {
	padding: 15px 10px;
}

a.stripe-btn:active, a.stripe-btn:hover {
	opacity: 0.7;
	color: #000;
}

.top-btn {
	position: relative;
	width: 84%;
	margin: 0 auto;
}

.top-btn .to-top-area {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 30px;
	height: 30px;
}

a.to-top {
	display: block;
	position: fixed;
	bottom: 30px;
	width: 30px;
	height: 30px;
	background: url(images/to_top.png) center center /contain no-repeat;
}

a.to-top.stop {
	position: absolute;
	right: 0;
}

a.to-top:active, a.to-top:hover {
	opacity: 0.7;
}

.back-to {
	position: relative;
	width: 84%;
	margin: 0 auto;
}

.back-to a {
	display: block;
	position: absolute;
	bottom: 30px;
	left: 0;
}

.back-to a:active, .back-to a:hover {
	opacity: .7;
}

.back-to a span {
	padding-right: 5px;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 18px;
	letter-spacing: 0.1em;
}

main {
	display: block;
}

.main-content {
	padding: 80px 0 100px;
}

.page-head {
	margin-bottom: 40px;
}

.page-title span {
	display: block;
	letter-spacing: 0.08em;
	line-height: 1.3;
}

.page-title span:first-child {
	display: inline-block;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 50px;
	font-weight: 900;
	margin-right: 10px;
}

.page-title span:last-child {
	margin-bottom: 20px;
	font-weight: 700;
}

.page-head li {
	padding: 1px 0;
}

.page-head li a {
	color: #000;
	font-size: 12px;
	font-weight: 700;
}

.page-head li a:hover {
	color: #717171;
}

@media screen and (min-width: 768px) {
	body {
		/*min-width: 960px;*/
		min-width: 1024px;
		font-size: 14px;
	}

	.wrap {
		width: 824px;
	}

	.pc {
		display: block;
	}

	.sp {
		display: none;
	}

	.top-btn {
		width: 924px;
	}

	.back-to {
		/*max-width: 924px;*/
		/*text-align: left;*/
		width: 824px;
	}

	.main-content {
		padding: 140px 0 200px;
	}

	.page-head {
		margin-bottom: 80px;
		display: -webkit-flex;
		display: flex;
		/* justify-content: space-between; */
		align-items: center;
	}

	.page-head ul {
		margin-left: 50px;
		margin-bottom: -5px;
	}

	.page-head li {
		padding: 0;
	}

	.page-head li a {
		font-size: 14px;
	}

	.page-title {
		display: -webkit-flex;
		display: flex;
		align-items: center;
	}

	.page-title span:first-child {
		font-size: 113px;
	}

	.page-title span:last-child {
		/*margin-bottom: 0;*/
		margin-bottom: -8px;
		font-size: 18px;
		letter-spacing: 0.2em;
	}
}

/* ---------------- */

/* ---- header ---- */

/* ---------------- */

#header {
	position: fixed;
	width: 100%;
	background-color: #098a6c;
	color: #fff;
	z-index: 9999;
}

#header .inner {
	position: relative;
	width: 100%;
	height: 60px;
}

#header .inner .menu-btn {
	position: absolute;
	top: 50%;
	left: 20px;
	width: 25px;
	height: 23px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

#header .inner .menu-btn a {
	display: block;
	position: absolute;
	width: 25px;
	height: 23px;
	top: 0;
	left: 0;
}

#header .inner .menu-btn a span {
	content: '';
	position: absolute;
	display: block;
	width: 100%;
	height: 2px;
	border-radius: 1px;
	background: #fff;
}

#header .inner .menu-btn a span:nth-of-type(1) {
	top: 0;
}

#header .inner .menu-btn a span:nth-of-type(2) {
	top: 50%;
	margin-top: -1px;
}

#header .inner .menu-btn a span:nth-of-type(3) {
	bottom: 0;
}

#header .inner .h_logo {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 75px;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

#header .inner .g-nav {
	display: block;
	position: absolute;
	top: 0;
	left: -250px;
	width: 250px;
	padding: 60px 20px 34px;
	background-color: #098a6c;
	-webkit-transition: all .5s ease-in-out;
	transition: all .5s ease-in-out;
}

#header.nav_is_open .inner .g-nav {
	-webkit-transform: translateX(250px);
	transform: translateX(250px);
	-webkit-transition: -webkit-transform .5s ease-in-out;
	transition: -webkit-transform .5s ease-in-out;
	transition: transform .5s ease-in-out;
	transition: transform .5s ease-in-out, -webkit-transform .5s ease-in-out;
}

#header .inner .g-nav .close-btn {
	position: absolute;
	top: 16px;
	left: 20px;
	width: 28px;
	height: 23px;
	cursor: pointer;
}

#header .inner .close-btn a span {
	content: '';
	position: absolute;
	display: block;
	width: 100%;
	height: 2px;
	border-radius: 1px;
	background: #fff;
}

#header .inner .g-nav .close-btn a span:nth-of-type(1) {
	top: 50%;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

#header .inner .g-nav .close-btn a span:nth-of-type(2) {
	top: 50%;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

#header .inner .g-nav nav ul li a {
	display: block;
	padding: 10px 0;
	color: #fff;
	font-family: 'Source Sans Pro', sans-serif;
	font-size: 18px;
	font-weight: 900;
	letter-spacing: 0.1em;
}

#header .inner .g-nav nav ul li a.stay, #header .inner .g-nav nav ul li a:active, #header .inner .g-nav nav ul li a:hover {
	color: #000;
}

#header .inner .g-nav nav ul li a span {
	display: inline-block;
	padding-left: 8px;
	font-size: 12px;
	letter-spacing: 0.15em;
}

#header .inner .g-nav nav ul li ul.sub {
	display: block;
}

#header .inner .g-nav nav ul li ul.sub li a {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 13px;
	font-weight: 900;
	padding: 10px 10px 10px 40px;
}

#header .inner .g-nav .search {
	position: relative;
	width: 200px;
	margin-top: 30px;
}

#header .inner .g-nav .search form {
	position: relative;
	height: 28px;
}

#header .inner .g-nav .search input[type=text] {
	position: relative;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 3px 30px 2px 12px;
	border: none;
	border-radius: 4px;
	background-color: #fff;
	font-family: inherit;
	font-size: 12px;
}

#header .inner .g-nav .search button[type=submit] {
	position: absolute;
	width: 17px;
	height: 100%;
	top: 1px;
	right: 8px;
	border: none;
	background: url(images/search.png) 50% 49% /contain no-repeat;
}

#header .inner .contact .sp {
	position: absolute;
	top: 50%;
	right: 20px;
	width: 38px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

@media screen and (min-width: 768px) {
	#header .inner {
		width: 1024px;
		height: 100px;
		margin: 0 auto;
		/*padding: 29px 50px 28px;*/
		padding: 0 50px;
	}

	#header .inner .menu-btn {
		display: none;
	}

	#header .inner .h_logo {
		position: relative;
		float: left;
		/*top: 0;*/
		top: 29px;
		left: 0;
		width: 95px;
		-webkit-transform: none;
		transform: none;
	}

	#header .inner .g-nav {
		position: relative;
		float: right;
		top: 0;
		left: 0;
		width: auto;
		padding: 0;
		background-color: transparent;
		transition: none;
	}

	#header .inner .g-nav .close-btn {
		display: none;
	}

	#header .inner .g-nav nav {
		float: left;
		margin-right: 120px;
	}

	#header .inner .g-nav nav ul li {
		position: relative;
		float: left;
		text-align: center;
	}

	#header .inner .g-nav nav ul li a {
		display: block;
		/*padding: 0 14px;*/
		padding: 25px 14px 24px;
		font-size: 16px;
	}

	#header .inner .g-nav nav ul li a span {
		display: block;
		padding-left: 0;
	}

	#header .inner .g-nav nav ul li.has_sub:hover>ul.sub, #header .inner .g-nav nav ul li.has_sub ul.sub:hover {
		/*display: block;*/
		visibility: visible;
		opacity: 1;
		-webkit-transition: all .3s;
		transition: all .3s;
	}

	#header .inner .g-nav nav ul li ul.sub {
		/*display: none;*/
		visibility: hidden;
		opacity: 0;
		position: absolute;
		top: 100px;
		left: -25px;
		width: 160px;
		background-color: #43a38b;
		-webkit-transition: all .3s;
		transition: all .3s;
		z-index: -1;
	}

	#header .inner .g-nav nav ul li ul.sub li {
		float: none;
		display: block;
		background-color: #43a38b;
	}

	#header .inner .g-nav nav ul li ul.sub li+li {
		border-top: 1px solid #b5dbd2;
	}

	#header .inner .g-nav nav ul li ul.sub li a {
		font-size: 12px;
		padding: 10px;
	}

	#header .inner .g-nav .search {
		float: left;
		width: 134px;
		margin-top: 27px;
	}

	#header .inner .g-nav .search form {
		position: relative;
		height: 28px;
	}

	#header .inner .contact .pc {
		position: absolute;
		top: 62px;
		right: 60px;
		width: auto;
		font-size: 12px;
		letter-spacing: 0.1em;
		-webkit-transform: none;
		transform: none;
	}

	#header .inner .contact .pc a {
		color: #fff;
	}

	#header .inner .contact .pc a:active, #header .inner .contact .pc a:hover {
		color: #000;
	}

	#header .inner .contact .pc a:after {
		content: "";
		display: block;
		position: absolute;
		top: 6px;
		right: -8px;
		width: 6px;
		height: 6px;
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	#header .inner .contact .pc a:active:after, #header .inner .contact .pc a:hover:after {
		border-top: 1px solid #000;
		border-right: 1px solid #000;
	}
}

/* ---------------- */

/* ---- footer ---- */

/* ---------------- */

#footer {
	width: 100%;
	border-top: 1px solid #aaa;
	text-align: center;
}

#footer .footer-nav a, #footer .footer-sub-nav a {
	color: #717171;
}

#footer .footer-nav a:active, #footer .footer-nav a:hover, #footer .footer-sub-nav a:active, #footer .footer-sub-nav a:hover {
	color: #000;
}

#footer .inner .upper .footer-nav {
	display: none;
}

#footer .inner .upper .contact {
	width: 180px;
	margin: 0 auto;
	padding: 25px 0 26px;
}

#footer .inner .upper .sitename {
	font-size: 14px;
	font-weight: 900;
	letter-spacing: 0.1em;
}

#footer .inner .lower {
	padding-bottom: 20px;
}

#footer .inner .lower .footer-sub-nav {
	padding: 24px 0 20px;
}

#footer .inner .lower .footer-sub-nav ul li {
	display: inline-block;
}

#footer .inner .lower .footer-sub-nav ul li a {
	display: block;
	padding: 0 8px 0 10px;
	font-size: 12px;
	font-weight: 500;
}

#footer .inner .lower small {
	color: #717171;
	font-size: 11px;
}

@media screen and (min-width: 768px) {
	#footer {
		text-align: left;
	}

	#footer .inner {
		width: 1024px;
		margin: 0 auto;
		padding: 40px 50px;
	}

	#footer .inner .upper:after {
		content: "";
		clear: both;
		display: block;
	}

	#footer .inner .upper .footer-nav {
		display: block;
		float: left;
		width: 700px;
	}

	#footer .inner .upper .footer-nav .block {
		float: left;
		margin-right: 30px;
	}

	#footer .inner .upper .footer-nav .block dl.csr, #footer .inner .upper .footer-nav .block dl.select {
		margin-top: 40px;
	}

	#footer .inner .upper .footer-nav .block dl dt {
		margin-bottom: 8px;
		font-size: 14px;
		font-weight: 500;
		letter-spacing: 0.1em;
	}

	#footer .inner .upper .footer-nav .block dl dd {
		font-size: 12px;
		font-weight: 500;
	}

	#footer .inner .upper .contact {
		float: right;
		margin: 0;
		padding: 0 0 56px;
	}

	#footer .inner .upper .sitename {
		float: right;
	}

	#footer .inner .lower {
		padding-bottom: 0;
	}

	#footer .inner .lower:after {
		content: "";
		clear: both;
		display: block;
	}

	#footer .inner .lower .footer-sub-nav {
		float: left;
		padding: 60px 0 0;
	}

	#footer .inner .lower .footer-sub-nav ul li a {
		padding: 0 30px 0 0;
	}

	#footer .inner .lower small {
		float: right;
		padding: 60px 0 0;
	}
}

/* ---------------------- */

/* ---- トップページ ---- */

/* ---------------------- */

#top {
	padding: 110px 0 0;
}

#top .wrap {
	position: relative;
	width: 100%;
	margin-bottom: 120px;
}

#top .top_row section {
	position: relative;
	margin: 0 auto 60px;
}

#top .top_row section.guideline {
	width: 84%;
}

#top .top_row section.news, #top .top_row section.about-us, #top .top_row section.recruit, #top .top_row section.column, #top .top_row section.case-study, #top .top_row section.business, #top .top_row section.totoken, #top .top_row section.group-media, #top .top_row section.access {
	width: 84%;
}

#top .top_row section.research, #top .top_row section.csr, #top .top_row section.pick-up {
	width: 52%;
}

#top .top_row section.logo {
	width: 28%;
}

#top .top_row section.news a, #top .top_row section.research a, #top .top_row section.column a, #top .top_row section.pick-up a {
	color: #fff;
}

#top .top_row section.news a:active, #top .top_row section.news a:hover, #top .top_row section.research a:active, #top .top_row section.research a:hover, #top .top_row section.column a:active, #top .top_row section.column a:hover, #top .top_row section.pick-up a:active, #top .top_row section.pick-up a:hover {
	opacity: 1;
	color: #000;
}

#top .top_row section .img {
	width: 100%;
	overflow: hidden;
	-webkit-transition: all .6s;
	transition: all .6s;
}

#top .top_row section .img img {
	overflow: hidden;
	-webkit-transition: all .6s;
	transition: all .6s;
}

#top .top_row section:hover>a .img img, #top .top_row section:hover>.img img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
	-webkit-transition: all .6s;
	transition: all .6s;
}

#top .top_row section .post_title {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.6;
}

#top .top_row section .post_excerpt {
	margin-top: 1em;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.6;
}

#top .top_row section .post_category {
	padding-left: 5px;
	font-size: 11px;
	font-weight: 700;
}

#top .top_row section .post_time {
	font-family: 'Source Sans Pro', sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.05em;
}

#top .top_row section h2 {
	position: relative;
	top: -8px;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 32px;
	font-weight: 600;
	line-height: 0.1px;
	letter-spacing: 0.06em;
	vertical-align: top;
	z-index: 100;
}

#top .top_row section h2 span {
	display: inline-block;
	margin-top: -3px;
	padding-left: 5px;
	font-size: 12px;
	font-weight: 700;
	vertical-align: top;
}

#top .top_row .more {
	display: block;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 22px;
	font-weight: 600;
	text-align: center;
	letter-spacing: 0.055em;
}

#top .top_row section.news .inner {
	background: url(images/bg_pattern_d.png) repeat;
}

#top .top_row section.news ul {
	padding: 20px 18px 0;
}

#top .top_row section.news ul li {
	padding: 10px 0;
}

#top .top_row section.news ul li a {
	line-height: 2;
}

#top .top_row section.news .more {
	padding-bottom: 10px;
}

#top .top_row section .overlay {
	margin-top: -1px;
	padding: 15px 13px;
	background: url(images/bg_pattern_d.png) repeat;
	color: #fff;
	font-weight: 700;
}

#top .top_row section .overlay .more {
	display: none;
}

/* AOS */

[data-aos="f-up"] {
	opacity: 0;
	transform: translateY(20px);
	transition-property: transform, opacity;
}

[data-aos="f-up"].aos-animate {
	opacity: 1;
	transform: translateY(0);
}

[data-aos="f-down"] {
	opacity: 0;
	transform: translateY(-30px);
	transition-property: transform, opacity;
}

[data-aos="f-down"].aos-animate {
	opacity: 1;
	transform: translateY(0);
}

/********/

@media screen and (max-width: 767px) {
	#top .top_row section h2 {
		float: left;
		position: relative;
		top: -8px;
		padding-left: 5px;
		font-family: 'Barlow Condensed', sans-serif;
		font-size: 32px;
		font-weight: 600;
		line-height: 0.1px;
		letter-spacing: 0.06em;
		vertical-align: top;
		z-index: 100;
	}

	#top .top_row section h2.fl_right_sp {
		float: right;
		padding-right: 5px;
	}

	#top .top_row section h2.fl_left_sp {
		float: left;
		padding-left: 5px;
	}

	#top .top_row section.about-us h2 span {
		float: left;
		margin-left: -65px;
	}

	#top .top_row section.recruit h2 span {
		float: left;
		margin-left: -66px;
	}

	#top .top_row section.case-study h2 span {
		float: left;
		margin-left: -137px;
	}

	#top .top_row section.business h2 span {
		float: left;
		margin-left: -70px;
	}

	#top .top_row section.group-media h2 span {
		float: left;
		margin-left: -121px;
	}

	#top .top_row section.pick-up h2 span {
		float: left;
		margin-left: -38px;
	}
}

@media screen and (min-width: 768px) {
	#top {
		padding: 150px 0 0;
	}

	#top .wrap {
		width: 1024px;
		margin-bottom: 70px;
		padding: 0 50px;
	}

	#top .top_row section {
		position: relative;
		margin: 0 auto 60px;
	}

	#top .top_row section .post_title, #top .top_row section .post_excerpt {
		font-size: 13px;
	}

	#top .top_row section h2 {
		position: relative;
		letter-spacing: 0.08em;
		z-index: 200;
	}

	#top .top_row section h2.fl_right {
		float: right;
		padding-right: 5px;
	}

	#top .top_row section h2.fl_left {
		float: left;
		padding-left: 5px;
	}

	#top .top_row section h2 span {
		font-size: 11px;
		letter-spacing: 0.05em;
	}

	#top .top_row section.news h2 span {
		float: left;
		margin-left: -5em;
	}

	#top .top_row section.about-us h2 span {
		float: left;
		margin-left: -5.1em;
	}

	#top .top_row section.case-study h2 {
		letter-spacing: 0.04em;
	}

	#top .top_row section.case-study h2 span {
		letter-spacing: 0;
	}

	#top .top_row section.csr h2 span {
		float: left;
		margin-left: -7em;
	}

	#top .top_row section.group-media h2 span {
		float: left;
		margin-left: -9.2em;
	}

	#top .top_row section.totoken h2 span {
		float: left;
		margin-left: -10.4em;
	}

	#top .top_row section.guideline h2 span {
		float: left;
		margin-left: -8em;
	}

	#top .top_row section .overlay {
		overflow: hidden;
		opacity: 0;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		margin: 0;
		padding: 10px;
		background: url(images/bg_pattern_t.png) repeat;
		color: #fff;
		font-size: 16px;
		-webkit-transition: all .6s;
		transition: all .6s;
		z-index: 100;
	}

	#top .top_row section .overlay .middle {
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}

	#top .overlay .middle.w80 {
		width: 80%;
	}

	#top .overlay .middle.w71 {
		width: 71%
	}

	#top .overlay .middle.w73 {
		width: 73%
	}

	#top .overlay .middle.w83 {
		width: 83%
	}

	#top .top_row section .more {
		font-size: 18px;
	}

	#top .top_row section.news {
		float: left;
		width: 216px;
		top: 50px;
		margin-bottom: 50px;
	}

	#top .top_row section.news ul li {
		padding: 10px 0;
	}

	#top .top_row section.news ul li a {
		font-size: 12px;
		line-height: 1.5;
		letter-spacing: 0.05em;
	}

	#top .top_row section.news .more {
		padding-bottom: 10px;
	}

	#top .top_row section.about-us {
		float: left;
		top: 27px;
		left: 74px;
		width: 380px;
		height: 170px;
		margin-right: 74px;
		margin-bottom: 27px;
	}

	#top .top_row section.about-us .img {
		width: 380px;
		height: 170px;
	}

	#top .top_row section.research {
		float: right;
		width: 195px;
		height: 260px;
	}

	#top .top_row section.research .img {
		width: 195px;
		height: 260px;
	}

	#top .top_row section.research .overlay {
		overflow: hidden;
		opacity: 0;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		padding: 20px;
		background: url(images/bg_pattern_t.png) repeat;
		-webkit-transition: all .6s;
		transition: all .6s;
		z-index: 100;
	}

	#top .top_row section.column .overlay {
		overflow: hidden;
		opacity: 0;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		padding: 10px 20px;
		background: url(images/bg_pattern_t.png) repeat;
		-webkit-transition: all .6s;
		transition: all .6s;
		z-index: 100;
	}

	#top .top_row section.pick-up .overlay {
		overflow: hidden;
		opacity: 0;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		padding: 20px;
		background: url(images/bg_pattern_t.png) repeat;
		-webkit-transition: all .6s;
		transition: all .6s;
		z-index: 100;
	}

	#top .top_row section .overlay:hover {
		opacity: 1;
	}

	#top .top_row section.research .overlay .more {
		display: block;
		position: absolute;
		bottom: 20px;
		left: 68px;
	}

	#top .top_row section.column .overlay .more {
		display: block;
		position: absolute;
		bottom: 5px;
		left: 130px;
	}

	#top .top_row section.pick-up .overlay .more {
		display: block;
		position: absolute;
		bottom: 20px;
		left: 68px;
	}

	#top .top_row section.recruit {
		float: left;
		top: 58px;
		left: 117px;
		width: 224px;
		height: 158px;
		margin-bottom: 58px;
	}

	#top .top_row section.column {
		float: left;
		top: 56px;
		left: 50px;
		width: 346px;
		height: 132px;
		margin-right: 50px;
	}

	#top .top_row section.column .img {
		width: 346px;
		height: 132px;
	}

	#top .top_row section.logo {
		float: left;
		top: 44px;
		left: 74px;
		width: 100px;
		height: 100px;
	}

	#top .top_row section.case-study {
		float: right;
		top: -60px;
		right: 20px;
		width: 281px;
		height: 262px;
		margin-bottom: -60px;
	}

	#top .top_row section.csr {
		float: left;
		top: 105px;
		left: 20px;
		width: 162px;
		height: 162px;
		margin-bottom: 105px;
		margin-right: 20px;
	}

	#top .top_row section.csr {
		float: left;
		top: 105px;
		left: 20px;
		width: 162px;
		height: 162px;
		margin-bottom: 105px;
		margin-right: 20px;
	}

	#top .top_row section.business {
		float: left;
		width: 320px;
		height: 228px;
		top: 63px;
		left: 50px;
		margin-right: 50px;
		margin-bottom: 63px;
	}

	#top .top_row section.totoken {
		float: right;
		width: 330px;
		height: 108px;
		top: 87px;
		margin-bottom: 87px;
	}

	#top .top_row section.group-media {
		float: left;
		width: 334px;
		height: 218px;
		top: 112px;
		margin-bottom: 112px;
	}

	#top .top_row section.access {
		float: left;
		width: 226px;
		height: 102px;
		top: 57px;
		left: 37px;
		margin-right: 37px;
		margin-bottom: 57px;
	}

	#top .top_row section.pick-up {
		float: right;
		width: 212px;
		height: 319px;
	}

	#top .top_row section.pick-up .img {
		width: 212px;
		height: 318px;
	}

	#top .top_row section.guideline {
		float: left;
		width: 270px;
		height: 172px;
		top: 82px;
		left: 63px;
		margin-right: 63px;
		margin-bottom: 82px;
	}
}

/* ---------------------- */

/* ---- ニュース一覧 ---- */

/* ---------------------- */

.news-archive-head {
	margin-bottom: 20px;
}

/* .news-archive-title span{
	display: block;
}

.news-archive-title span:first-child{
	display: inline-block;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 50px;
	font-weight: 900;
	margin-right: 10px;
}

.news-archive-title span:last-child{
	margin-bottom: 20px;
  font-weight: 700;
} */

.news-archive-cat {
	color: #098a6c;
	font-size: 24px;
	font-weight: 900;
	/* transform: scale(0.9, 1);
	transform-origin: top left; */
}

#news-archive .news-archive-article-wrap {
	display: block;
	border-top: 1px solid #aaa;
}

#news-archive .news-archive-article-wrap:last-child {
	border-bottom: 1px solid #aaa;
}

#news-archive .news-archive-article-wrap:hover {
	background: url(images/bg_pattern_o.png);
	background-position: center;
}

#news-archive .news-archive-article {
	padding: 20px 0;
	width: 84%;
	margin: 0 auto;
}

#news-archive .news-archive-article-cat {
	display: inline-block;
	background-color: #098a6c;
	padding: 0 5px;
	color: #fff;
	margin-right: 10px;
	width: 130px;
	font-size: 14px;
	text-align: center;
}

#news-archive .news-archive-article-title {
	margin-top: 10px;
}

.news-archive-link-wrap {
	width: 84%;
	margin: 50px auto 0;
	display: flex;
	justify-content: space-between;
}

.news-archive-link-wrap>div {
	width: 48%;
}

.news-archive-link-wrap a {
	/* transition: .4s; */
}

.news-archive-link-wrap a:hover {
	/* transition: .4s; */
	color: #717171;
}

.news-archive-link-year li {
	margin-top: 15px;
}

.news-archive-link-year li:first-child {
	margin-top: 0;
}

.news-archive-link-year li a::after {
	content: '年';
}

.news-archive-link-cat ul {
	margin: 0 auto;
}

.news-archive-link-cat li {
	margin-top: 15px;
}

.news-archive-link-cat li:first-child {
	margin-top: 0;
}

.news-archive-link-cat .cat-item-1, .news-archive-link-cat .cat-item-13 {
	display: none;
}

.back-to-news-top {
	position: relative;
	width: 84%;
	margin: 0 auto;
}

.back-to-news-top a {
	display: block;
	position: absolute;
	bottom: 30px;
	left: 0;
}

@media screen and (min-width: 768px) {
	.news-archive-head {
		margin-bottom: 30px;
	}

	/* .news-archive-title{
		display: flex;
		align-items: center;
	}

	.news-archive-title  span:first-child{
		font-size: 113px;
	}

	.news-archive-title  span:last-child{
		margin-bottom: 0;
		font-size: 18px;
	} */
	.news-archive-cat {
		font-size: 30px;
		font-size: 45px;
	}

	#news-archive .news-archive-article-wrap {
		width: 824px;
		margin: 0 auto;
	}

	#news-archive .news-archive-article {
		width: 100%;
		margin: 0 auto;
		padding: 20px 10px;
		background: none;
	}

	#news-archive .news-archive-article>div {
		display: flex;
	}

	#news-archive .news-archive-article-cat {
		width: 150px;
		height: 25px;
		line-height: 25px;
		margin-right: 30px;
	}

	#news-archive .news-archive-article-date {
		width: 100px;
	}

	#news-archive .news-archive-article-title {
		margin-top: 0;
		width: calc(100% - 150px - 100px);
	}

	.news-archive-link-wrap {
		width: 750px;
		margin: 50px auto 0;
	}

	.news-archive-link-year {
		width: 50%;
	}

	.news-archive-link-cat {
		width: 50%;
	}

	.news-archive-link-cat ul {
		width: 100%;
	}

	.back-to-news-top {
		width: 824px;
	}
}

/* ---------------------- */

/* ---- ニュース個別 ---- */

/* ---------------------- */

#news-single {
	padding: 80px 0 100px;
}

#news-single .news-archive-article-head {
	display: flex;
	align-items: center;
	margin-bottom: 100px;
	justify-content: space-between;
	flex-wrap: wrap;
}

#news-single .news-archive-article-head a {
	/* transition: .4s; */
}

#news-single .news-archive-article-head a:hover {
	opacity: .7;
	/* transition: .4s; */
}

#news-single .line {
	height: 1px;
	background-color: #717171;
	width: calc(100% - 150px);
}

#news-single .news-archive-article-cat {
	display: inline-block;
	background-color: #098a6c;
	padding: 0 5px;
	color: #fff;
	margin: 0 0 0 10px;
	width: 130px;
	text-align: center;
	font-size: 14px;
}

#news-single .news-archive-article-date {
	width: 130px;
	text-align: center;
	margin-left: auto;
}

#news-single .news-archive-article-title {
	margin: 70px auto 20px;
	color: #098a6c;
	/* font-family: 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif; */
	font-weight: 900;
	font-size: 26px;
}

#news-single .single-link {
	width: 84%;
	margin: 80px auto;
	overflow: hidden;
}

#news-single .single-previous {
	float: left;
}

#news-single .single-next {
	float: right;
}

#news-single .single-previous a, #news-single .single-next a {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 30px;
	color: #717171;
	transition-duration: 0.4s;
}

#news-single .single-previous a:hover, #news-single .single-next a:hover {
	color: #000;
	transition-duration: 0.4s;
}

#news-single .footer a {
	color: #000 !important;
	border-bottom: none !important;
}

/* latest-post */

#news-single .latest-post-wrap {
	width: 80%;
}

#news-single .latest-post-wrap article {
	margin-bottom: 30px;
	border: 1px solid #ccc;
}

#news-single .latest-post-wrap article:last-child {
	margin-bottom: 0;
}

#news-single .latest-post-wrap .latest-post-thumbnail {
	overflow: hidden;
	width: 100%;
	height: 150px;
	display: flex;
	align-items: center;
	justify-content: center;
}

#news-single .latest-post-wrap .latest-post-thumbnail img {
	width: 100%;
	height: auto;
	transition-duration: 0.4s;
	display: block;
}

#news-single .latest-post-wrap .latest-post-thumbnail a:hover {
	opacity: 1;
}

#news-single .latest-post-wrap .latest-post-thumbnail img:hover {
	transform: scale(1.1);
	transition-duration: 0.4s;
}

#news-single .latest-post-wrap .latest-post-txt {
	border-top: 1px solid #ccc;
	padding: 20px;
}

#news-single .latest-post-wrap .latest-post-txt-more {
	color: #098a6c;
}

#news-single .latest-post-wrap .latest-post-info {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#news-single .latest-post-wrap .latest-post-info a {
	/* transition: .4s; */
}

#news-single .latest-post-wrap .latest-post-info a:hover {
	/* transition: .4s; */
	opacity: .7;
}

#news-single .latest-post-wrap .latest-post-title {
	margin-bottom: 20px;
	height: 84px;
	font-size: 16px;
	font-weight: 700;
}

#news-single .latest-post-wrap .latest-post-cat {
	display: inline-block;
	background-color: #098a6c;
	padding: 0 5px;
	color: #fff;
	padding: 0 10px;
	text-align: center;
}

/* latest-post end */

/* single-content */

#news-single .single-content {
	line-height: 2;
}

#news-single .single-content .footer {
	margin-top: 50px;
}

#news-single .single-content .last-boder {
	display: block;
	height: 1px;
	background-color: #717171;
	margin-top: 100px;
}

#news-single .single-content p, #news-single .single-content ol, #news-single .single-content ul, #news-single .single-content h2, #news-single .single-content h3 {
	width: 84%;
	margin: 0 auto;
}

#news-single .single-content strong {
	font-weight: 900;
}

#news-single .single-content em {
	font-style: italic;
}

#news-single .single-content a {
	color: #098a6c;
	border-bottom: dashed 1px #098a6c;
}

#news-single .single-content a:hover {
	opacity: .7;
	border: none;
}

#news-single .single-content img {
	vertical-align: baseline;
}

#news-single .pdf-link:hover {
	opacity: .7;
}

#news-single .single-content h2 {
	color: #098a6c;
	font-size: 18px;
	font-weight: 900;
	line-height: 1.8em;
	letter-spacing: 0.07em
}

#news-single .single-content h3 {
	color: #098a6c;
	font-size: 16px;
	font-weight: 900;
	line-height: 1.8em;
	letter-spacing: 0.07em
}

#news-single .single-content ul li, #news-single .single-content ol li {
	line-height: 2em;
	padding: 0.3em 0;
}

#news-single .single-content ul li {
	position: relative;
	padding-left: 20px;
}

#news-single .single-content ul li::before {
	content: '■';
	color: #888888;
	position: absolute;
	left: 0;
}

#news-single .single-content ol {
	counter-reset: li;
	list-style: none;
}

#news-single .single-content ol li {
	position: relative;
	padding-left: 20px;
}

#news-single .single-content ol li:before {
	color: #888888;
	counter-increment: li;
	content: counter(li) ", ";
	position: absolute;
	left: 0;
}

#news-single .single-content blockquote {
	background: url(images/bg_pattern_o.png);
	background-position: center;
	padding: 40px 10px;
	position: relative;
}

#news-single .single-content blockquote:before {
	content: '';
	display: inline-block;
	width: 30px;
	height: 30px;
	background: url(images/blockquote.png) no-repeat;
	background-size: contain;
	vertical-align: middle;
	position: absolute;
	left: 15px;
	top: 15px;
}

#news-single .single-content .pdf-link::after {
	content: '';
	display: inline-block;
	width: 30px;
	height: 30px;
	background: url(images/pdf_icon.png) no-repeat;
	background-position: center;
	background-size: contain;
	vertical-align: middle;
	margin-left: 10px;
}

/* 対談 */

#news-single .single-content .talk {
	width: 84%;
	margin: 0 auto;
}

#news-single .single-content .talk img {
	width: 100% !important;
}

#news-single .single-content .talk p {
	width: 100%;
}

#news-single .single-content .green {
	color: #098a6c;
}

#news-single .single-content .grey {
	color: #888888;
}

#news-single .single-content .orange {
	color: #F7931E;
}

#news-single .single-content .yellow-green {
	color: #8CC63F;
}

#news-single .single-content .light-blue {
	color: #3FA9F5;
}

#news-single .single-content .blue {
	color: #2a36a4;
}

#news-single .single-content .black {
	color: #000000;
}

#news-single .single-content .red {
	color: #e90000;
}

/* 対談 end */

/* single-content end */

@media screen and (min-width: 768px) {
	#news-single {
		padding: 140px 0 200px;
	}

	#news-single .single-link {
		width: 824px;
	}

	#news-single .line {
		width: calc(100% - 150px - 75px);
	}

	#news-single .news-archive-article-cat {
		width: 130px;
		text-align: center;
	}

	#news-single .news-archive-article-date {
		width: 75px;
		text-align: right;
		margin-left: 0;
	}

	/* latest-post */
	#news-single .latest-post-wrap {
		display: flex;
		justify-content: space-between;
		width: 824px;
	}

	#news-single .latest-post-wrap article {
		width: 30%;
		margin-bottom: 0;
	}

	/* latest-post end */
	/* single-content */
	#news-single .single-content {
		width: 824px;
		margin: 0 auto;
	}

	#news-single .single-content p, #news-single .single-content ol, #news-single .single-content ul, #news-single .single-content h2, #news-single .single-content h3, #news-single .single-content blockquote, #news-single .single-content .img-wrap, #news-single .single-content .img-flex {
		width: auto;
		margin: 0;
	}

	#news-single .single-content blockquote {
		padding: 50px 60px;
	}

	#news-single .single-content blockquote p {
		width: auto;
	}

	#news-single .single-content blockquote:before {
		width: 40px;
		height: 40px;
		left: 20px;
		top: 20px;
	}

	#news-single .single-content img.size-thumbnail {
		width: 390px;
		height: auto;
	}

	#news-single .single-content img.size-medium {
		width: 510px;
		height: auto;
	}

	#news-single .single-content img.size-large {
		width: 824px;
		height: auto;
	}

	#news-single .single-content img.size-full {
		width: auto;
		max-width: 824px;
		height: auto;
	}

	img.alignright {
		float: right;
		margin: 0 0 0 1.5em;
	}

	img.alignleft {
		float: left;
		margin: 0 1.5em 0 0;
	}

	img.aligncenter {
		clear: both;
		display: block;
		margin-left: auto;
		margin-right: auto;
	}

	/* 対談 */
	#news-single .single-content .talk {
		width: 824px;
		display: flex;
		justify-content: space-between;
	}

	#news-single .single-content .talk-name {
		width: 100px;
	}

	#news-single .single-content .talk-contents {
		width: calc(100% - 120px);
		margin: 0;
	}

	#news-single .single-content .talk-contents .img-flex {
		width: 100%;
		margin: 0 auto;
	}

	#news-single .single-content .talk-contents>.img-wrap {
		width: 100%;
		margin: 0 auto;
	}

	/* 対談 end */
	/* single-content end */
}

/* ---------------------------- */

/* -- ソリューション事例一覧 -- */

/* ---------------------------- */

#case-archive .case-page-head {
	margin-bottom: 60px;
}

#case-archive .case-page-head .catch {
	font-weight: 900;
	text-align: justify;
	line-height: 2;
}

#case-archive .integrated {
	/*margin-bottom: 80px;*/
	/*margin-bottom: 40px*/
}

#case-archive .integrated .table {
	display: block;
	margin-bottom: 50px;
}

#case-archive .integrated .table .left {
	text-align: center;
}

#case-archive .integrated .table .left img {
	width: 225px;
}

#case-archive .integrated .table .right {
	padding-top: 20px;
}

#case-archive .integrated .table .right h2 {
	color: #098a6c;
	font-size: 16px;
	font-weight: 900;
	text-align: center;
}

#case-archive .integrated .table .right h2 span {
	font-size: 24px;
	font-weight: 900;
}

#case-archive .integrated .ol {
	text-align: center;
}

#case-archive .integrated .ol ol li {
	color: #098a6c;
	font-size: 13px;
	letter-spacing: 0.05em;
}

#case-archive .integrated .ol ol li:nth-child(odd) {
	position: relative;
	width: 66.6666%;
	margin: 0 auto;
	padding: 10px;
	border: 2px solid #098a6c;
	border-radius: 10px;
	background-color: #fff;
	font-weight: 900;
}

#case-archive .integrated .ol ol li img.arrow {
	width: 9px;
}

#case-archive .integrated .ol ol li.strong {
	width: 100%;
	/* 	height: 75px; */
	padding: 12px 10px 11px;
	background: url(images/bg_pattern_d.png) repeat;
	color: #fff;
}

#case-archive .integrated .ol ol li.strong.pt {
	/* 	padding-top: 24px; */
}

#case-archive .integrated .ol ol li.strong strong {
	font-size: 12px;
	font-weight: 900;
}

#case-archive .archive {}

#case-archive .archive h3 {
	color: #098a6c;
	font-size: 26px;
	font-weight: 900;
	letter-spacing: 0.09em;
}

#case-archive .archive p {
	color: #098a6c;
	font-size: 16px;
	font-weight: 900;
	line-height: 1.8;
	letter-spacing: 0.05em;
}

#case-archive .archive .archive-wrap {
	width: 100%;
	/*margin: 40px auto;*/
	margin: 40px auto 80px;
}

#case-archive .archive .archive-wrap ul li {
	position: relative;
	float: left;
	width: 50%;
}

#case-archive .archive .archive-wrap ul li a {
	display: block;
}

#case-archive .archive .archive-wrap ul li a .overlay {
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(images/bg_pattern_t.png) repeat;
	-webkit-transition: all .6s;
	transition: all .6s;
	z-index: 100;
}

#case-archive .archive .archive-wrap ul li a:hover>div.overlay {
	opacity: 1;
}

#case-archive .archive .archive-wrap ul li a .overlay p {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	color: #fff;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 20px;
	font-weight: 900;
	text-align: center;
	letter-spacing: 0.05em;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}

#case-archive .archive .archive-wrap ul li a .overlay p span {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 1.1em;
}

@media screen and (min-width: 768px) {
	#case-archive .wrap {
		width: 824px;
	}

	#case-archive .case-page-head {
		/*width: 824px;*/
		margin: 0 auto 40px;
	}

	#case-archive .case-page-head .catch {
		font-size: 14px;
		font-weight: 900;
		line-height: 2;
		letter-spacing: 0.07em;
	}

	#case-archive .integrated {
		position: relative;
		/*margin: 0 auto 150px;*/
		margin: 0 auto;
	}

	#case-archive .integrated .table {
		display: table;
		margin-bottom: 60px;
	}

	#case-archive .integrated .table .left {
		display: table-cell;
		width: 345px;
		text-align: left;
		vertical-align: middle;
	}

	#case-archive .integrated .table .left img {
		width: 300px;
	}

	#case-archive .integrated .table .right {
		display: table-cell;
		padding-top: 0;
		vertical-align: middle;
	}

	#case-archive .integrated .table .right h2 {
		font-size: 24px;
		text-align: left;
	}

	#case-archive .integrated .table .right h2 span {
		font-size: 36px;
	}

	#case-archive .integrated .ol {
		width: 510px;
		margin: 0 auto;
	}

	#case-archive .integrated .ol ol li {
		font-size: 16px;
	}

	#case-archive .integrated .ol ol li:nth-child(odd) {
		padding: 10px 60px;
	}

	#case-archive .integrated .ol ol li img.arrow {
		width: 11px;
	}

	#case-archive .integrated .ol ol li.strong {
		height: 105px;
		padding: 20px 60px;
		line-height: 2;
	}

	#case-archive .integrated .ol ol li.strong strong {
		font-size: 16px;
	}

	#case-archive .integrated .ol ol li.strong.pt {
		padding-top: 36px;
	}

	#case-archive .archive .header {
		/*width: 824px;*/
		margin: 0 auto;
	}

	#case-archive .archive .archive-wrap {
		width: 100%;
		/*margin: 60px auto;*/
		margin: 60px auto 150px;
	}

	#case-archive .archive .archive-wrap ul li {
		float: left;
		width: 20%;
		max-width: 220px;
	}

	#case-archive .archive .archive-wrap ul li a .overlay p {
		font-size: 26px;
	}
}

@media screen and (min-width: 1101px) and (max-width: 1320px) {
	#case-archive .archive .archive-wrap ul li {
		width: 16.66667%;
	}
}

@media screen and (min-width: 1321px) and (max-width: 1540px) {
	#case-archive .archive .archive-wrap ul li {
		width: 14.28571%;
	}
}

@media screen and (min-width: 1541px) and (max-width: 1760px) {
	#case-archive .archive .archive-wrap ul li {
		width: 12.5%;
	}
}

@media screen and (min-width: 1761px) and (max-width: 1980px) {
	#case-archive .archive .archive-wrap ul li {
		width: 11.1111%;
	}
}

@media screen and (min-width: 1981px) {
	#case-archive .archive .archive-wrap ul li {
		width: 10%;
		max-width: 100%;
	}
}

/* ---------------------------- */

/* -- ソリューション事例個別 -- */

/* ---------------------------- */

#case-single {
	padding: 70px 0 0;
}

#case-single .wrap {
	position: relative;
	width: 100%;
}

#case-single .case_nbr {
	padding: 0.2em 8% 0.6em;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 32px;
	letter-spacing: 0.07em;
	line-height: 1.4;
}

#case-single .case_nbr span.big {
	padding-left: 5px;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 45px;
}

#case-single .case_nbr span.cat {
	display: block;
	font-size: 17px;
	font-weight: 700;
	letter-spacing: 0.02em;
	vertical-align: middle;
}

#case-single .main_image, #case-single .main_video, #case-single .main_youtube {
	margin-bottom: 50px;
}

#case-single .main_video video, #case-single .sub_video video {
	width: 100%;
	/*background-color: #000;*/
}

#case-single .main_youtube iframe, #case-single .sub_youtube iframe {
	width: 100%;
	min-height: 280px;
}

#case-single .case_catch {
	margin: 50px 0 60px;
	color: #098a6c;
	font-size: 21px;
	font-weight: 900;
	line-height: 1.6;
	letter-spacing: 0.05em;
}

#case-single .block_01 {
	margin-bottom: 50px;
	padding: 0 8%;
}

#case-single .block_01 .case_title {
	margin-bottom: 10px;
	font-size: 18px;
	font-weight: 900;
	letter-spacing: 0.05em;
}

#case-single .block_01 .case_client {
	margin-bottom: 8px;
	font-size: 15px;
	font-weight: 900;
	letter-spacing: 0.05em;
}

#case-single .block_01 .case_service {
	font-size: 14px;
	line-height: 2;
	letter-spacing: 0.05em;
}

#case-single .block_02 {
	margin: 50px 0;
}

#case-single .block_03 {
	padding: 0 8%;
}

#case-single .block_03 h2 {
	margin-bottom: 12px;
	font-size: 18px;
	font-weight: 900;
	letter-spacing: 0.07em;
}

#case-single .block_03 .p_txt {
	margin-bottom: 60px;
}

#case-single .block_03 .p_txt p {
	text-align: justify;
	line-height: 2;
	letter-spacing: 0.03em;
}

#case-single .block_03 .p_txt p+p {
	margin-top: 1em;
}

#case-single .block_03 .p_txt strong {
	font-weight: bold;
}

#case-single .block_03 .p_txt em {
	font-style: italic;
}

#case-single .block_03 .p_txt a {
	color: #098a6c;
	border-bottom: dashed 1px #098a6c;
}

#case-single .block_03 .p_txt a:active, #case-single .block_03 .p_txt a:hover {
	opacity: .7;
	border-bottom: none;
}

#case-single .case-nav {
	width: 100%;
	margin: 180px 0 100px;
}

#case-single .case-nav ul li {
	position: relative;
	float: left;
	width: 20%;
}

#case-single .case-nav ul li a {
	display: block;
}

#case-single .case-nav ul li a:active, #case-single .case-nav ul li a:hover {
	opacity: 1;
}

#case-single .case-nav ul li a .overlay {
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(images/bg_pattern_t.png) repeat;
	-webkit-transition: all .6s;
	transition: all .6s;
	z-index: 100;
}

#case-single .case-nav ul li a:hover>div.overlay {
	opacity: 1;
}

#case-single .case-nav a .overlay p {
	position: absolute;
	top: 50%;
	left: 50%;
	color: #fff;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.05em;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

#case-single .case-nav .overlay p span {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 1.08em;
}

/* ---slider--- */

#case-single .slick-slide, #case-single .slick-slide:before, #case-single .caption {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

#case-single .main-slider {
	position: relative;
	width: 100%;
	max-width: 420px;
	margin: 0 auto;
	height: 280px;
	margin-bottom: 130px;
	/*キャプション用余白*/
	opacity: 0;
	visibility: hidden;
	transition: all 1.2s ease;
}

#case-single .main-slider.slick-initialized {
	opacity: 1;
	visibility: visible;
}

#case-single .slick-slide {
	position: relative;
	height: 280px;
}

#case-single .slick-list {
	padding-bottom: 130px;
	/*キャプション用余白*/
	background: #fff;
}

#case-single .slick-prev, .slick-next {
	font-size: 0;
	line-height: 0;
	position: absolute;
	top: 50%;
	display: block;
	width: 25px;
	height: 25px;
	padding: 0;
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	transform: translate(0, -50%);
	cursor: pointer;
	color: transparent;
	border: none;
	outline: none;
	background: transparent;
	z-index: 9998;
}

#case-single .slick-prev:before {
	opacity: 1;
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 20px;
	height: 20px;
	border-top: 3px solid #717171;
	border-right: 3px solid #717171;
}

#case-single .slick-next:before {
	opacity: 1;
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 20px;
	height: 20px;
	border-top: 3px solid #717171;
	border-right: 3px solid #717171;
}

#case-single .slick-prev {
	left: 20px;
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
}

#case-single .slick-next {
	right: 20px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

#case-single .slick-slide video {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	max-height: 280px !important;
	transform: translate(-50%, -50%);
}

#case-single .slick-slide iframe {
	position: relative;
	width: 100%;
	height: 100%;
	max-height: 280px !important;
	background: #fff;
}

#case-single .slick-slide figure {
	position: relative;
	height: 100%;
	margin: 0;
}

#case-single .slick-slide .slide-image {
	opacity: 0;
	height: 100%;
	background-size: cover;
	background-position: center;
	transition: all .8s ease;
}

#case-single .slick-slide .slide-image.show {
	opacity: 1;
}

#case-single .slick-slide .image-entity {
	width: 100%;
	opacity: 0;
	visibility: hidden;
}

#case-single .slick-slide .slide-media {
	background-color: #000;
}

#case-single .slick-slide.slick-active {
	z-index: 1;
}

#case-single .slick-slide.slick-active .caption {
	opacity: 1;
}

#case-single .caption {
	opacity: 0;
	position: absolute;
	bottom: -130px;
	left: 0;
	width: 100%;
	height: 120px;
	padding: 0 20px;
	background-color: #fff;
	font-size: 14px;
	letter-spacing: 0.03em;
}

@media screen and (min-width: 768px) {
	#case-single {
		padding: 140px 0 200px;
	}

	#case-single .wrap {
		position: relative;
		width: 910px;
	}

	#case-single .case_nbr {
		padding: 0.3em 0 0.3em;
		font-size: 64px;
	}

	#case-single .case_nbr span.big {
		font-size: 70px;
	}

	#case-single .case_nbr span.cat {
		display: inline-block;
		margin-left: 18px;
		font-size: 24px;
	}

	#case-single .main_image, #case-single .main_video, #case-single .main_youtube {
		margin-bottom: 70px;
	}

	#case-single .main_video video {
		width: 910px;
	}

	#case-single .main_youtube iframe {
		width: 910px;
		height: 510px;
	}

	#case-single .sub_youtube iframe {
		width: 100%;
		min-height: 440px;
	}

	#case-single .case_catch {
		font-size: 36px;
	}

	#case-single .block_01 {
		margin-bottom: 50px;
		padding: 0 63px;
	}

	#case-single .block_01 .case_title {
		font-size: 26px;
		letter-spacing: 0.14em;
	}

	#case-single .block_01 .case_client {
		font-size: 16px;
		letter-spacing: 0.14em;
	}

	#case-single .block_01 .case_service {
		font-size: 14px;
		letter-spacing: 0.14em;
	}

	#case-single .block_02 {
		padding: 0 63px;
	}

	#case-single .block_03 {
		margin-bottom: 90px;
		padding: 0 63px;
	}

	#case-single .block_03 h2 {
		font-size: 16px;
		letter-spacing: 0.14em;
	}

	#case-single .block_03 .p_txt {
		margin-bottom: 50px;
	}

	#case-single .block_03 .p_txt p {
		letter-spacing: 0.1em;
	}

	#case-single .case-nav ul li {
		width: 10%;
	}

	/* --slider-- */
	#case-single .main-slider {
		width: 100%;
		max-width: 784px;
		height: 520px;
		margin-bottom: 72px;
		/*キャプション用余白*/
	}

	#case-single .slick-list {
		padding-bottom: 72px;
		/*キャプション用余白*/
	}

	#case-single .slick-slide {
		height: 520px;
	}

	#case-single .slick-slide video {
		max-height: 520px !important;
	}

	#case-single .slick-slide iframe {
		max-height: 520px !important;
	}

	#case-single .caption {
		bottom: -72px;
		height: 60px;
		padding: 0;
		font-size: 12px;
		letter-spacing: 0.05em;
	}

	.case-wrap {
		width: 910px;
	}
}

/* ------------------------ */

/* ------- 事業紹介 ------- */

/* ------------------------ */

#service p {
	line-height: 2;
	text-align: justify;
}

#service strong {
	display: block;
	margin-bottom: 20px;
	color: #098a6c;
	font-size: 20px;
	font-weight: 900;
	letter-spacing: 0.07em;
}

#service .intro, #service .system {
	margin-bottom: 60px;
}

#service .intro p {
	font-weight: 700;
}

#service .system h2 {
	margin-bottom: 20px;
	color: #098a6c;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.07em;
}

#service .system ul {
	max-width: 315px;
	margin: 0 auto;
}

#service .system ul li {
	position: relative;
	float: left;
	width: 190px;
	height: 190px;
	border: 2px solid #098a6c;
	border-radius: 50%;
}

#service .system ul li:nth-of-type(2n) {
	float: right;
	margin: -65px 0;
}

#service .system ul li dl {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 120px;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

#service .system ul li dl dt {
	margin-bottom: 6px;
	color: #098a6c;
	font-family: 'Source Sans Pro', sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
	letter-spacing: 0.02em;
}

#service .system ul li dl dd {
	position: relative;
	margin-bottom: 5px;
	color: #098a6c;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}

#service section {
	padding-bottom: 100px;
}

#service section.media {
	padding-bottom: 200px;
}

#service section h3 {
	width: 111%;
	margin-bottom: 20px;
	color: #098a6c;
	font-size: 40px;
	font-weight: 900;
	line-height: 1.2;
	-webkit-transform: scale(0.9, 1);
	transform: scale(0.9, 1);
	-webkit-transform-origin: top left;
	transform-origin: top left;
}

#service section .text {
	margin-bottom: 40px;
}

#service section .img {
	position: relative;
	width: 94%;
}

#service section .img:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	background: url(images/bg_pattern.png) repeat;
	z-index: -1;
}

#service section.digital .img, #service section.creative .img, #service section.media .block.tv .img, #service section.media .block.ooh .img {
	margin-left: 20px;
}

#service section .img_lt, #service section .img_rt {
	top: 40px;
}

#service section .img_rb:after {
	top: 40px;
	left: 6%;
}

#service section .img_lt:after {
	top: -40px;
	left: -6%;
}

#service section .img_lb:after {
	top: 40px;
	left: -6%;
}

#service section .img_rt:after {
	top: -40px;
	right: -6%;
}

#service section.media ul {
	max-width: 350px;
	margin-bottom: 20px;
}

#service section.media ul li {
	display: inline-block;
}

#service section.media ul li a {
	padding: 0 7px 0 5px;
	color: #098a6c;
	font-weight: 900;
	line-height: 2;
	letter-spacing: 0.05em;
}

#service section.media ul li:after {
	content: "";
	display: inline-block;
	width: 2px;
	height: 13px;
	background-color: #098a6c;
}

#service section.media ul li:first-child a, #service section.media ul li:nth-child(3) a {
	padding: 0 7px 0 0;
}

#service section.media ul li:last-child a {
	padding: 0 0 0 5px;
}

#service section.media ul li:last-child:after {
	display: none;
}

#service section.media ul li a:active, #service section.media ul li a:hover {
	opacity: 0.7;
}

#service section.media .block {
	margin-bottom: 80px;
}

/*#service section.media .block.mb0{
	margin-bottom: 0;
}
*/

#service section.media .block:after {
	content: "";
	clear: both;
	display: block;
}

#service section.media .block .text {
	margin-bottom: 25px;
}

#service section.media .block h4 {
	margin-bottom: 10px;
	color: #098a6c;
	font-size: 20px;
	font-weight: 900;
	letter-spacing: 0.05em;
}

#service section.media .block.ooh h4 span {
	font-size: 0.8em;
	letter-spacing: 0.04em;
}

#service section.media .block .group-link {
	width: 230px;
	margin: 20px auto 40px;
}

#service section.media .block .group-link p.more {
	margin-bottom: 0;
	color: #098a6c;
	font-weight: 900;
	letter-spacing: 0.07em;
}

#service section.solution a {
	width: 230px;
	margin: 0 auto;
	font-weight: 900;
}

#service section.solution p {
	margin-top: 30px;
	color: #098a6c;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-align: center;
}

#service .stripe-btn.font {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 24px;
}

@media screen and (min-width: 768px) {
	#service p {
		line-height: 1.8;
	}

	#service strong {
		font-size: 24px;
	}

	#service .system {
		margin-bottom: 100px;
	}

	#service .system h2 {
		font-size: 18px;
	}

	#service .system ul {
		max-width: 100%;
	}

	#service .system ul li {
		width: 172px;
		height: 172px;
	}

	#service .system ul li:nth-of-type(2n) {
		float: left;
		margin: 0 -10px;
	}

	#service .system ul li:last-child {
		margin: 0;
	}

	#service section h3 {
		font-size: 45px;
	}

	#service section.media {
		padding-bottom: 100px;
	}

	#service section.media h3 {
		width: 590px;
		margin-top: -5px;
		margin-bottom: 10px;
	}

	#service section .head {
		margin-bottom: 60px;
	}

	#service section.marketing .text, #service section.creative .text, #service section.pr .text {
		float: left;
		width: 450px;
	}

	#service section.digital .text, #service section.promotion .text {
		float: right;
		width: 450px;
	}

	#service section .img {
		width: 334px;
	}

	#service section .img_rb:after {
		left: 20px;
	}

	#service section .img_lt:after {
		left: -20px;
	}

	#service section .img_lb:after {
		left: -20px;
	}

	#service section .img_rt:after {
		right: -20px;
	}

	#service section.marketing .img, #service section.creative .img, #service section.pr .img, #service section.media .block.paper .img, #service section.media .block.group .img {
		float: right;
	}

	#service section.digital .img, #service section.promotion .img, #service section.media .block.tv .img, #service section.media .block.ooh .img {
		float: left;
	}

	#service section.digital .img, #service section.creative .img, #service section.media .block.tv .img, #service section.media .block.ooh .img {
		margin-left: 0;
	}

	#service section.promotion .img, #service section.pr .img {
		margin-top: 8px;
		margin-left: -20px;
	}

	#service section.creative .img {
		margin-right: -20px;
	}

	#service section.media ul {
		max-width: 100%;
		margin: 0 0 35px 0;
	}

	#service section.media ul li a {
		padding: 0 14px 0 12px;
		font-size: 18px;
	}

	#service section.media ul li:after {
		height: 15px;
	}

	#service section.media ul li:first-child a {
		padding: 0 14px 0 0;
	}

	#service section.media ul li:nth-child(3) a {
		padding: 0 14px 0 12px;
	}

	#service section.media ul li:last-child a {
		padding: 0 0 0 12px;
	}

	#service section.media .block {
		margin-bottom: 100px;
	}

	#service section.media .block h4 {
		font-size: 19px;
	}

	#service section.media .block .text {
		margin-bottom: 25px;
	}

	#service section.media .block.tv .text, #service section.media .block.ooh .text {
		float: right;
		width: 450px;
		padding-right: 40px;
	}

	#service section.media .block.paper .text, #service section.media .block.group .text {
		float: left;
		width: 450px;
		padding-left: 40px;
	}

	#service section.media .block.paper .img, #service section.media .block.group .img {
		float: right;
	}

	#service section.media .block .group-link {
		float: left;
	}

	#service section.media .block .group-link {
		margin: 25px auto;
	}
}

/* -------------------------------- */

/* -- 事業紹介(グループメディア) -- */

/* -------------------------------- */

#group-media h1 {
	width: 111%;
	margin-bottom: 10px;
	color: #098a6c;
	font-size: 40px;
	font-weight: 900;
	line-height: 1.3;
	-webkit-transform: scale(0.9, 1);
	transform: scale(0.9, 1);
	-webkit-transform-origin: top left;
	transform-origin: top left;
}

#group-media a {
	display: block;
}

#group-media a:hover, #group-media a:active {
	opacity: 0.7;
}

#group-media ul {
	margin-bottom: 40px;
}

#group-media ul li {
	display: inline-block;
}

#group-media ul li:after {
	content: "";
	display: inline-block;
	width: 2px;
	height: 13px;
	background-color: #098a6c;
}

#group-media ul li:last-child:after {
	display: none;
}

#group-media ul li a {
	display: inline-block;
	padding: 0 7px 0 5px;
	color: #098a6c;
	font-size: 18px;
	font-weight: 900;
	line-height: 2;
}

#group-media ul li:first-child a {
	padding: 0 7px 0 0;
}

#group-media ul li:last-child a {
	padding: 0 0 0 5px;
}

#group-media p {
	clear: both;
	margin-bottom: 30px;
	text-align: justify;
	line-height: 2;
}

#group-media .img_main {
	position: relative;
	/*width: 297px;*/
	width: 96%;
	top: 15px;
	margin-bottom: 85px;
	margin-left: 4%;
}

#group-media .img_main:after {
	content: "";
	display: block;
	position: absolute;
	top: -15px;
	left: -4%;
	width: 100%;
	height: 100%;
	background: url(images/bg_pattern.png) repeat;
	z-index: -1;
}

#group-media section {
	padding-bottom: 80px
}

#group-media section .text .title {
	float: left;
	margin-bottom: 20px;
}

#group-media section .text .title h2 {
	color: #098a6c;
	font-size: 32px;
	font-weight: 900;
	line-height: 1.5;
}

#group-media section .text .title h3 {
	color: #098a6c;
	font-size: 16px;
	font-weight: 900;
}

#group-media section .text .pdf {
	float: left;
	width: 45px;
	margin-left: 30px;
	text-align: center;
}

#group-media section .text .pdf span {
	color: #098a6c;
	font-size: 11px;
	font-weight: 900;
	text-align: justify;
	letter-spacing: 0.01em;
}

#group-media section .img {
	width: 200px;
	margin: 0 auto;
}

@media screen and (min-width: 768px) {
	#group-media .wrap {
		width: 850px;
		padding-top: 30px;
	}

	#group-media h1 {
		font-size: 45px;
	}

	#group-media ul {
		margin-bottom: 25px;
	}

	#group-media ul li a {
		padding: 0 14px 0 12px;
		font-size: 18px;
	}

	#group-media ul li:after {
		height: 15px;
	}

	#group-media ul li:first-child a {
		padding: 0 14px 0 0;
	}

	#group-media ul li:last-child a {
		padding: 0 0 0 12px;
	}

	#group-media p {
		margin-bottom: 40px;
	}

	#group-media .img_main {
		position: relative;
		width: 800px;
		top: 38px;
		margin-bottom: 118px;
		margin-left: 50px;
	}

	#group-media .img_main:after {
		top: -38px;
		left: -50px;
	}

	#group-media section {
		padding-bottom: 60px
	}

	#group-media section .text {
		float: left;
		width: 620px;
		padding: 0 0 0 120px;
	}

	#group-media section:nth-child(2n) .text {
		float: right;
		padding: 0 120px 0 0;
	}

	#group-media section .text .pdf {
		width: 54px;
	}

	#group-media section .text .pdf span {
		letter-spacing: 0.08em;
	}

	#group-media section .text .title {
		margin-bottom: 30px;
	}

	#group-media section .text .title h2 {
		font-size: 40px;
		line-height: 1.2;
	}

	#group-media section .text .title h3 {
		font-size: 20px;
	}

	#group-media section .img {
		float: right;
		margin: 0 0 0 30px;
	}

	#group-media section:nth-child(2n) .img {
		float: left;
		margin: 0 30px 0 0;
	}

	.group-wrap {
		width: 850px;
	}
}

/* ---------------------------- */

/* ---- プライバシポリシー ---- */

/* ---------------------------- */

/*
#privacy-page{
	padding: 80px 0 100px;
}

#privacy-page .privacy-page-head{
	margin-bottom: 20px;
}

#privacy-page .privacy-page-title span{
	display: block;
}

#privacy-page .privacy-page-title span:first-child{
	display: inline-block;
	font-size: 40px;
	font-weight: 900;
	margin-right: 10px;
}

#privacy-page .privacy-page-title span:last-child{
	margin-bottom: 20px;
}*/

/*#privacy-page .privacy-page-head li{
	color: #717171;
}*/

#privacy .privacy-sec1 {
	margin-bottom: 50px;
}

#privacy h3 {
	font-size: 24px;
	color: #098a6c;
	font-weight: 900;
	margin-bottom: 20px;
}

#privacy .privacy-border {
	border: 1px solid #717171;
	padding: 30px 20px 30px;
	margin: 30px 0 80px;
}

#privacy .privacy-mark {
	border: 1px solid #717171;
	padding: 15px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#privacy .privacy-mark p {
	width: calc(100% - 60px);
}

#privacy .privacy-mark-img {
	width: 50px;
}

#privacy .update-info {
	font-size: 12px;
}

#privacy h4 {
	font-size: 20px;
	color: #098a6c;
	font-weight: 900;
	margin: 50px 0 15px;
}

#privacy .privacy-border h4 {
	margin: 0px 0 15px;
}

#privacy ol {
	counter-reset: li;
	list-style: none;
}

#privacy ol li p {
	position: relative;
	padding-left: 20px;
}

#privacy ol li p:before {
	color: #888888;
	counter-increment: li;
	content: counter(li) " ";
	position: absolute;
	left: 0;
}

#privacy ol li p {
	margin-bottom: 15px;
}

#privacy .privacy-sec1 .contact-info-top {
	margin: 0 auto 20px;
}

#privacy .privacy-sec1 .contact-info-top h5 {
	font-size: 18px;
	font-weight: 900;
	text-align: center;
}

#privacy .privacy-sec1 .contact-info-main {
	border: 1px solid #717171;
	padding: 15px;
}

#privacy .privacy-sec1 .contact-info-main .caution {
	position: relative;
	padding-right: 7px;
}

#privacy .privacy-sec1 .contact-info-main .caution::after {
	content: '※';
	font-size: 8px;
	position: absolute;
	/* top: -5px; */
}

#privacy .privacy-sec2 {
	margin-bottom: 50px;
}

#privacy .privacy-sec2 h5 {
	font-size: 18px;
	font-weight: 900;
	color: #098a6c;
	margin-bottom: 5px;
}

#privacy .privacy-sec2 table {
	width: 100%;
}

#privacy .privacy-sec2 table th, #privacy .privacy-sec2 table td {
	border: 1px solid #717171;
	padding: 10px 5px;
}

#privacy .privacy-sec2 table th {
	background-color: #eee;
	text-align: center;
}

#privacy .privacy-sec2 table th:first-child, #privacy .privacy-sec2 table td:first-child {
	width: 30%;
}

#privacy .privacy-sec2 table th:last-child, #privacy .privacy-sec2 table td:last-child {
	width: 70%;
}

#privacy .privacy-sec2 .contact-info-top {
	margin-bottom: 20px;
}

#privacy .privacy-sec2 .contact-info-top h6 {
	font-size: 18px;
	text-align: center;
	font-weight: 900;
}

#privacy .privacy-sec2 .contact-info-main {
	border: 1px solid #717171;
	padding: 15px;
}

#privacy .privacy-sec2 .contact-info-main .caution {
	position: relative;
	padding-right: 10px;
}

#privacy .privacy-sec2 .contact-info-main .caution::after {
	content: '※';
	font-size: 8px;
	position: absolute;
	/* top: -5px; */
}

#claim h3 {
	font-size: 24px;
	color: #098a6c;
	font-weight: 900;
	margin-bottom: 20px;
}

#claim h4 {
	font-size: 20px;
	color: #098a6c;
	font-weight: 900;
	margin: 50px 0 15px;
}

#claim .caution {
	position: relative;
	padding-right: 10px;
}

#claim .caution::after {
	content: '※';
	font-size: 8px;
	position: absolute;
	/* top: -5px; */
}

#privacy-page .pdf-link span {
	color: #098a6c;
	border-bottom: dashed 1px #098a6c;
}

.border-none {
	border-bottom: none !important;
	opacity: .7 !important;
}

.pdf-link-h::after {
	opacity: .7 !important;
}

/* #privacy-page .pdf-link::after {
	content: '';
	display: inline-block;
	width: 30px;
	height: 30px;
	background: url(images/pdf_icon.png) no-repeat;
	background-position: center;
	background-size: contain;
	vertical-align: middle;
	margin-left: 10px;
} */

@media screen and (min-width: 768px) {
	#privacy-page .page-title span {
		letter-spacing: 0.06em;
	}

	#privacy-page .page-title span:last-child {
		letter-spacing: 0.08em;
	}

	#privacy-page h3 {
		font-size: 45px;
		margin-bottom: 30px;
	}

	#privacy-page h4 {
		font-size: 22px;
		margin: 50px 0 15px;
	}

	#privacy .privacy-sec1 .contact-info-main {
		padding: 30px;
		width: 70%;
		margin: 0 auto;
		text-align: center;
	}

	#privacy .privacy-sec2 .contact-info-top {
		width: 70%;
		margin: 0 auto 20px;
	}

	#privacy .privacy-sec2 .contact-info-main {
		padding: 30px;
		width: 70%;
		margin: 0 auto;
		text-align: center;
	}

	#privacy .update-info {
		display: flex;
		justify-content: flex-end;
	}

	#privacy .privacy-sec1 .contact-info-top {
		width: 70%;
	}

	#privacy .privacy-sec2 table th:first-child, #privacy .privacy-sec2 table td:first-child {
		width: auto;
	}

	#privacy .privacy-sec2 table th:last-child, #privacy .privacy-sec2 table td:last-child {
		width: auto;
	}
}

/* ---------------------- */

/* ---- サイトマップ ---- */

/* ---------------------- */

/*
#sitemap-page{
	padding: 80px 0 100px;
}

#sitemap-page .sitemap-page-head{
	margin-bottom: 20px;
}

#sitemap-page .sitemap-page-title span{
	display: block;
}

#sitemap-page .sitemap-page-title span:first-child{
	display: inline-block;
	font-size: 40px;
	font-weight: 900;
	margin-right: 10px;
}

#sitemap-page .sitemap-page-title span:last-child{
	margin-bottom: 20px;
}

#sitemap-page .sitemap-page-head li{
	color: #717171;
}*/

#sitemap h3 {
	font-size: 24px;
	color: #098a6c;
	font-weight: 900;
	margin-bottom: 20px;
}

#sitemap .sitemap-wrap {
	padding: 30px 0;
	border-top: 1px solid #717171;
}

#sitemap .sitemap-wrap2 {
	border-bottom: 1px solid #717171;
}

#sitemap .sitemap-wrap .sitemap-item {
	margin-bottom: 30px;
}

#sitemap .sitemap-wrap .sitemap-item:last-child {
	margin-bottom: 0;
}

#sitemap .sitemap-wrap h4 {
	color: #098a6c;
	font-weight: 900;
	margin-bottom: 10px;
}

#sitemap .sitemap-wrap li a {
	color: #000;
	transition: .4s;
}

#sitemap .sitemap-wrap li a:hover {
	color: #717171;
	transition: .4s;
}

#sitemap .sitemap-wrap li:not(:last-child) {
	margin-bottom: 10px;
}

#sitemap .sitemap-bottom-link {
	margin-top: 30px;
}

#sitemap .sitemap-bottom-link li {
	margin-bottom: 10px;
	text-align: center;
}

#sitemap .sitemap-bottom-link li a {
	color: #000;
	transition: .4s;
	;
}

#sitemap .sitemap-bottom-link li a:hover {
	color: #717171;
	transition: .4s;
}

#sitemap .suppliers {
	display: block;
	background-color: #eee;
	text-align: center;
	color: #098a6c;
	margin-top: 30px;
	padding: 20px;
	font-weight: 900;
}

#sitemap .suppliers p {
	font-size: 18px;
}

#sitemap .suppliers span {
	color: #717171;
	font-size: 14px;
}

#use {
	margin-top: 50px;
}

#use h3 {
	font-size: 24px;
	color: #098a6c;
	font-weight: 900;
	margin-bottom: 20px;
}

#use h4 {
	font-size: 20px;
	color: #098a6c;
	font-weight: 900;
	margin: 30px 0 15px;
}

#use .contact-link {
	border: 1px solid #717171;
	padding: 15px;
	margin-top: 50px;
}

#use .contact-link a {
	color: #098a6c;
	border-bottom: dashed 1px #098a6c;
}

#use .contact-link a:hover {
	opacity: .7;
	border-bottom: none;
}

@media screen and (min-width: 768px) {
	#sitemap h3 {
		font-size: 28px;
		margin-bottom: 30px;
	}

	#sitemap .sitemap-wrap {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		padding: 50px 0;
	}

	#sitemap .sitemap-wrap .sitemap-item {
		display: flex;
		justify-content: space-between;
		width: 43%;
		margin-bottom: 50px;
	}

	#sitemap .sitemap-wrap h4 {
		width: 150px;
	}

	#sitemap .sitemap-wrap ul {
		width: calc(100% - 150px);
	}

	#sitemap .sitemap-wrap .sitemap-item:nth-last-child(-n+2) {
		margin-bottom: 0;
	}

	#sitemap .sitemap-wrap .sitemap-item:first-child {
		width: 100%;
	}

	#sitemap .sitemap-wrap2 .sitemap-item:first-child {
		width: 43%;
	}

	#sitemap .sitemap-bottom-link {
		margin-top: 50px;
		/* padding: 0 30px; */
	}

	#sitemap .suppliers {
		margin-top: 50px;
		display: flex;
		align-items: center;
		justify-content: center;
		transition: .4s;
	}

	#sitemap .suppliers:hover {
		background-color: #d8d8d8;
		transition: .4s;
	}

	#sitemap .suppliers p {
		margin-right: 20px;
		font-size: 20px;
	}

	#use {
		margin-top: 80px;
	}

	#use h3 {
		font-size: 28px;
		margin-bottom: 20px;
	}

	#use h4 {
		font-size: 22px;
		margin: 50px 0 15px;
	}

	#use .contact-link {
		padding: 30px;
		width: 70%;
		margin: 80px auto 0;
		text-align: center;
	}
}

/* ---------------------- */

/* ------ 採用情報 ------ */

/* ---------------------- */

#recruit-page .recruit-page-head li {
	color: #717171;
}

#recruit-page .recruit-page-mv {
	background: url(images/recruit_kv.jpg);
	background-position: center;
	background-size: cover;
	height: 200px;
	margin-bottom: 20px;
}

#recruit-page .recruit-page-top-msg {
	font-weight: 900;
	font-size: 18px;
}

#recruit-page .recruit-page-post {
	position: relative;
	border-top: 1px solid #098a6c;
}

#recruit-page .recruit-page-post p {
	position: absolute;
	top: -15px;
	left: 30px;
	padding: 0 10px;
	background-color: #fff;
	color: #098a6c;
	font-size: 16px;
}

#recruit-page .recruit-page-post-article-wrap {
	padding: 20px 0 0 0;
	width: 84%;
	margin: 0 auto;
}

#recruit-page .recruit-page-post-article:not(:last-child) {
	margin-bottom: 5px;
}

#recruit-page .recruit-page-post-article span {
	display: inline-block;
}

#recruit-page .recruit-page-post-article span:last-child {
	color: #717171;
	margin-left: 10px;
}

#recruit-page #new-graduates, #recruit-page #career {
	margin-bottom: 230px;
}

/*#recruit-page #senior-advisor
{
margin-bottom: 230px;
}*/

#recruit-page .new-graduates-msg, #recruit-page .career-msg, #recruit-page .senior-advisor-msg, #recruit-page .entrepreneur-msg {
	font-size: 18px;
	font-weight: 900;
}

#recruit-page h3 {
	font-size: 24px;
	color: #098a6c;
	font-weight: 900;
}

#recruit-page h4 {
	font-size: 18px;
	font-weight: 900;
}

#recruit-page table {
	width: 100%;
}

#recruit-page table th, #recruit-page table td {
	display: block;
	width: 100%;
}

#recruit-page table th {
	border-top: 1px solid #aaa;
	padding: 15px 0 5px;
	font-weight: 700;
}

#recruit-page table td {
	padding: 0 0 15px;
}

#recruit-page table tr:last-child td {
	border-bottom: 1px solid #aaa;
}

#recruit-page table li {
	list-style: disc;
	margin-left: 20px;
}

#recruit-page table .square-li li {
	list-style: none;
	margin-left: 0;
	position: relative;
	padding-left: 20px;
}

#recruit-page table .square-li li::before {
	content: '■';
	color: #888888;
	position: absolute;
	left: 0;
}

#recruit-page .title-wrap a {
	color: #098a6c;
}

#recruit-page .title-wrap a:hover {
	opacity: .7;
}

#recruit-page .contact-link>div {
	padding: 20px;
	background: url(images/bg_pattern_o.png);
	background-position: center;
}

#recruit-page .contact-link p {
	font-weight: 700;
}

#recruit-page .contact-link>div a {
	color: #098a6c;
	border-bottom: dashed 1px #098a6c;
}

#recruit-page .contact-link>div a:hover {
	opacity: .7;
	border-bottom: none;
}

#recruit-page .contact-link .tel {
	color: #000 !important;
	border-bottom: none !important;
}

#recruit-page .contact-link>div p:last-child {
	font-size: 16px;
}

#recruit-page .schedule-part {
	padding: 20px 10px;
	border: 2px solid #098a6c;
	border-radius: 10px;
	text-align: center;
}

#recruit-page .schedule-part p {
	font-weight: 700;
	color: #098a6c;
	/* font-size: 18px; */
}

#recruit-page .arrow {
	margin: 0 auto;
	width: 10px;
}

#recruit-page .tel {
	margin-right: 10px;
}

@media screen and (min-width: 768px) {
	#recruit-page .recruit-page-mv {
		height: 450px;
		width: 824px;
		margin: 0 auto 30px;
	}

	#recruit-page .recruit-page-post {
		border-left: 1px solid #098a6c;
		/*width: 1024px;*/
		width: 824px;
		margin: 0 auto 80px;
	}

	#recruit-page .recruit-page-post-article-wrap {
		padding: 30px 0 0 30px;
		width: 100%;
	}

	#recruit-page h3 {
		font-size: 28px;
	}

	#recruit-page h4 {
		font-size: 20px;
		font-weight: 900;
	}

	#recruit-page table th, #recruit-page table td {
		border-top: 1px solid #aaa;
		padding: 25px 10px;
		display: table-cell;
	}

	#recruit-page table tr:last-child th, #recruit-page table tr:last-child td {
		border-bottom: 1px solid #aaa;
	}

	#recruit-page table th {
		width: 30%;
		font-weight: 700;
	}

	#recruit-page table td {
		width: 70%;
	}

	#recruit-page .title-wrap {
		display: flex;
		align-items: flex-end;
	}

	#recruit-page .title-wrap h4 {
		margin-right: 15px;
	}

	#recruit-page .title-wrap p {
		font-size: 14px;
	}

	#recruit-page .contact-link>div {
		padding: 30px 40px;
	}

	#recruit-page .contact-link>div p:last-child {
		font-size: 18px;
	}

	#recruit-page .schedule-part {
		padding: 25px 20px;
		width: 630px;
		margin: 0 auto;
	}

	#recruit-page .arrow {
		margin: 0 auto;
		width: 10px;
	}
}

/* ---------------------- */

/* ------ 企業情報 ------ */

/* ---------------------- */

#about nav ul li.li_access a {
	display: inline-block;
	margin-right: 8px;
}

#about nav ul li.li_access a:last-child {
	margin-right: 0;
}

#about .img_main {
	position: relative;
	width: 96%;
	top: 15px;
	margin: 34px 0 100px;
}

#about .img_main:after {
	content: "";
	display: block;
	position: absolute;
	top: -15px;
	right: -10px;
	width: 100%;
	height: 100%;
	background: url(images/bg_pattern.png) repeat;
	z-index: -1;
}

#about h2 {
	margin-bottom: 20px;
	color: #098a6c;
	font-size: 24px;
	font-weight: 900;
	letter-spacing: 0.07em;
}

#about section {
	padding-bottom: 60px;
}

#about .access-link {
	padding-left: 16px;
	color: #098a6c;
	font-weight: 700;
}

#about .access-link:active, #about .access-link:hover {
	opacity: 0.7;
}

#about .block {
	margin-bottom: 60px;
}

#about .block:last-child {
	margin-bottom: 0;
}

#about #overview .block p {
	padding: 1em 0;
	font-weight: 700;
}

#about #overview dl {
	width: 100%;
	border-bottom: 1px solid #aaa;
	line-height: 2;
}

#about #overview dl dt {
	padding-top: 1em;
	border-top: 1px solid #aaa;
	font-weight: 700;
}

#about #overview dl dt.idt {
	padding-left: 3em;
}

#about #overview dl .bt-0 {
	border-top: 0;
}

#about #overview dl dd {
	padding-bottom: 1em;
}

#about #overview dl dd.idd {
	padding-left: 3em;
}

#about #message .text {
	position: relative;
	margin-bottom: 10px;
	padding-bottom: 50px;
}

#about #message .text .copy {
	position: relative;
	z-index: 100;
}

#about #message .text .img {
	display: block;
	position: absolute;
	right: 16px;
	bottom: 0;
	width: 90%;
	z-index: 10;
}

#about #message .bg {
	content: "";
	display: block;
	position: absolute;
	bottom: -10px;
	right: 0;
	width: 200px;
	height: 150px;
	background: url(images/bg_pattern.png) repeat;
	z-index: 1;
}

#about #vision .block {
	text-align: center;
}

#about #vision .block h3 {
	display: inline-block;
	margin-bottom: 20px;
	padding-bottom: 3px;
	border-bottom: 2px solid #098a6c;
	color: #098a6c;
	font-size: 18px;
	font-weight: 700;
}

#about #vision .block strong {
	display: block;
	font-size: 38px;
	font-weight: 700;
}

#about #vision .block span {
	display: block;
	font-size: 24px;
}

#about #vision .block p {
	display: block;
	font-weight: 700;
	/*line-height: 2;*/
}

#about #vision .block p.value {
	font-size: 19px;
}

#about #vision .block p.slogan {
	text-align: justify;
	/*line-height: 2;*/
}

#about #vision .block .logo {
	display: block;
	width: 125px;
	margin: 5px auto 20px;
}

#about #guideline .catch {
	font-weight: 700;
	margin-bottom: 60px;
	text-align: justify;
	letter-spacing: 0.07em;
}

#about #guideline h3 {
	margin-bottom: 20px;
	color: #098a6c;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.07em;
}

#about #guideline ol li {
	margin-bottom: 40px;
	text-align: justify;
	line-height: 2;
}

#about #guideline ol li span {
	padding-right: 4px;
}

#about #history table {
	width: 100%;
}

#about #history table tr {
	border-bottom: 1px solid #aaa;
}

#about #history table tr:first-child {
	border-top: 1px solid #aaa;
}

#about #history table tr th {
	width: 85px;
	padding: 1em 0;
	font-weight: 700;
	vertical-align: top;
}

#about #history table tr td {
	padding: 1em 0;
	vertical-align: top;
}

#about #access ul li #tokyo-Map {
	position: relative;
	width: 100%;
	height: 0;
	margin: 25px 0;
	padding-top: 97%;
	/* = height ÷ width × 100 */
}

#about #access ul li #osaka-Map, #about #access ul li #nagoya-Map {
	position: relative;
	width: 100%;
	height: 400px;
	margin: 25px 0;
	padding-top: 97%;
	/* = height ÷ width × 100 */
}

#about #access ul li #tokyo-Map iframe,
#about #access ul li #osaka-Map iframe,
#about #access ul li #nagoya-Map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


#about #access ul li #tokyo-Map, #about #access ul li.loaded #osaka-Map, #about #access ul li.loaded #nagoya-Map {
	display: none;
	height: 0;
}

#about #access ul li.map_is_open #tokyo-Map, #about #access ul li.map_is_open #osaka-Map, #about #access ul li.map_is_open #nagoya-Map {
	display: block;
	height: 400px;
}

#about #access .infoWindow {
	max-width: 175px;
}

#about #access .infoWindow img {
	display: block;
	width: 110px;
	height: 110px;
	margin: 8px auto;
}

#about #access ul li+li {
	margin-top: 60px;
}

#about #access ul li h3 {
	color: #098a6c;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.55;
	letter-spacing: 0.14em;
}

#about #access ul li h3 a {
	display: inline-block;
	position: relative;
	margin-top: 4px;
	margin-left: 10px;
	padding-left: 14px;
	font-family: 'Source Sans Pro', sans-serif;
	font-size: 14px;
	vertical-align: top;
}

#about #access ul li h3 a:before {
	content: "";
	display: block;
	position: absolute;
	top: 6px;
	left: 0;
	width: 6px;
	height: 6px;
	border-top: 1px solid #098a6c;
	border-right: 1px solid #098a6c;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

#about #access ul li.map_is_open h3 a:before {
	content: "";
	display: block;
	position: absolute;
	top: 6px;
	left: 0;
	width: 6px;
	height: 6px;
	border-top: 1px solid #098a6c;
	border-right: 1px solid #098a6c;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}

#about #access ul li h3 .pdf-btn {}

#about #access ul li h3 .pdf-btn:before {
	content: "";
	display: block;
	position: absolute;
	top: 6px;
	left: 0;
	width: 6px;
	height: 6px;
	border-top: none;
	border-right: none;
	-webkit-transform: none;
	transform: none;
}

#about #access ul li.map_is_open h3 .pdf-btn:before {
	content: "";
	display: block;
	position: absolute;
	top: 6px;
	left: 0;
	width: 6px;
	height: 6px;
	border-top: none;
	border-right: none;
	-webkit-transform: none;
	transform: none;
}

#about #access ul li address {
	font-weight: 700;
	line-height: 2;
}

#about #access .train {
	margin-top: 1em;
}

#about #access .rec {
	color: #098a6c;
}

@media screen and (min-width: 768px) {
	#about .img_main {
		width: 824px;
		top: 43px;
	}

	#about .img_main:after {
		top: -43px;
		right: -30px;
	}

	#about section {
		padding-bottom: 240px;
	}

	#about h2 {
		font-size: 38px;
	}

	#about #overview .block p {}

	#about #overview dl {
		width: 100%;
		line-height: 1.85;
	}

	#about #overview dl dt {
		float: left;
		width: 224px;
		margin: 0;
		padding: 1em 0;
	}

	#about #overview dl dt.idt {
		padding-left: 3em;
	}

	#about #overview dl dd {
		float: left;
		width: 600px;
		border-top: 1px solid #aaa;
		padding: 1em 0;
	}

	#about #overview dl dd.idd {
		padding-left: 0;
	}

	#about #message .text {
		padding-top: 40px;
		padding-bottom: 10px;
		height: 768px;
	}

	#about #message .text .copy {
		width: 450px;
		z-index: 100;
		left: 70px;
		top: 15px;
	}

	#about #message .text .img {
		position: absolute;
		right: 0;
		bottom: 0px;
		width: 100%;
	}

	#about #message .bg {
		width: 550px;
		height: 412px;
		bottom: -30px;
		right: -45px;
	}

	#about #vision .block {
		margin-bottom: 100px;
	}

	#about #vision .block h3 {
		font-size: 20px;
		margin-bottom: 40px;
	}

	#about #vision .block .rinen {
		display: block;
		width: 704px;
		margin: 0 auto;
	}

	#about #vision .block .shishin {
		/*display: block;*/
		width: 822px;
		margin: 0 auto;
	}

	#about #vision .block span {
		display: block;
		font-size: 48px;
	}

	#about #vision .block p.slogan {
		letter-spacing: 0.07em;
	}

	#about #vision .block .logo {
		width: 255px;
		margin: 10px auto 50px;
	}

	#about #guideline .block {
		margin-bottom: 20px;
	}

	#about #guideline .catch {
		margin-bottom: 70px;
	}

	#about #guideline .block.pl_l {
		width: 370px;
		float: left;
	}

	#about #guideline .block.pl_r {
		width: 370px;
		float: right;
	}

	#about #access ul li.map_is_open #tokyo-Map, #about #access ul li.map_is_open #osaka-Map, #about #access ul li.map_is_open #nagoya-Map {
		height: 800px;
	}
}

/* --------------------- */

/* -------- CSR -------- */

/* --------------------- */

#csr .intro {
	margin-bottom: 80px;
}

#csr .intro .img {
	position: relative;
	width: 90%;
	margin-bottom: 80px;
	/*margin-left: 40px;*/
	margin-left: 10%;
}

#csr .intro .img:after {
	content: "";
	display: block;
	position: absolute;
	top: 60px;
	/*left: -40px;*/
	left: -10%;
	width: 100%;
	height: 94%;
	background: url(images/bg_pattern.png) repeat;
	z-index: -1;
}

#csr .intro .text p {
	font-weight: 900;
}

#csr section {
	margin-bottom: 80px;
}

#csr section h2 {
	margin-bottom: 20px;
	color: #098a6c;
	font-size: 36px;
	font-weight: 900;
	line-height: 1.2;
}

#csr section h3 {
	margin-bottom: 10px;
	font-size: 20px;
	font-weight: 900;
}

#csr section .text {
	margin-bottom: 30px;
}

#csr p {
	text-align: justify;
	line-height: 2;
}

#csr .pt30 {
	padding-top: 30px;
}

#csr section#social h3 {
	margin-top: 20px;
}

#csr section#social .award {
	margin: 40px 0 0;
}

#csr section#social .award .inner {
	margin-bottom: 30px;
}

#csr section#social .award .inner .left {
	margin: 30px 0;
}

#csr section#social .award .inner .left ul li {
	color: #bca300;
	font-weight: 900;
}

#csr section#social .award .url {
	/*color: #098a6c;*/
	color: #00805b;
}

#csr section#social .award .inner .right {
	width: 160px;
	margin: 0 auto 20px;
}

@media screen and (min-width: 768px) {
	#csr .intro .img {
		float: left;
		width: auto;
		margin-left: 0;
	}

	#csr .intro .img:after {
		left: -40px;
	}

	#csr .intro .text {
		float: right;
		padding: 40px 0;
		width: 425px;
		font-size: 18px;
	}

	#csr section h2 {
		/*margin-bottom: 20px;*/
		font-size: 45px;
		/*font-size: 40px;*/
		/*letter-spacing: 0.07em;*/
	}

	#csr section h3 {
		font-size: 25px;
		letter-spacing: 0.1em;
	}

	#csr section .text {
		float: left;
		width: 500px;
	}

	#csr section .img {
		float: right;
		width: 260px;
	}

	#csr .img.w490 {
		width: 490px;
	}

	#csr .pt30 {
		padding-top: 0;
	}

	#csr section#human-rights .text {
		float: right;
	}

	#csr section#human-rights .img {
		float: left;
		width: 260px;
	}

	#csr section#social h3 {
		margin-top: 40px;
	}

	#csr section#social .award .inner {
		width: 505px;
		float: left;
	}

	#csr section#social .award .inner .left {
		float: left;
		width: 320px;
	}

	#csr section#social .award .inner .right {
		float: right;
		margin: 22px auto 0;
	}

	#csr section#social .award .sub-img {
		float: right;
		margin-top: 8px;
	}

	#csr section#social .award .sub-img img {
		width: 205px;
	}
}

/* ---------------------- */

/* ---- お問い合わせ ---- */

/* ---------------------- */

#contact {
	padding: 80px 0 100px;
}

#contact .contact-msg {
	font-weight: 900;
	font-size: 18px;
}

#contact .contact-page-head {
	margin-bottom: 20px;
}

/* #contact .contact-page-title span{
	display: block;
}

#contact .contact-page-title span:first-child{
	display: inline-block;
	font-size: 50px;
	font-weight: 900;
	margin-right: 10px;
}

#contact .contact-page-title span:last-child{
	margin-bottom: 20px;
} */

#contact .contact-page-head .msg1 {
	font-size: 20px;
	font-weight: 900;
	color: #098a6c;
	margin-top: 30px;
}

#contact .contact-page-head .msg2 {
	font-weight: 900;
}

#contact .contact-business {
	margin-bottom: 50px;
}

#contact .contact-descpription {
	padding: 20px;
	background: url(images/bg_pattern_o.png);
	background-position: center;
	position: relative;
	cursor: pointer;
}

#contact .contact-descpription h3 {
	font-size: 32px;
	color: #098a6c;
	font-weight: 900;
	margin-bottom: 10px;
}

#contact .contact-descpription p {
	color: #098a6c;
	font-weight: 900;
}

#contact .contact-descpription .contact-img {
	position: absolute;
	bottom: 20px;
	right: 20px;
	width: 20px;
	cursor: pointer;
}

#contact .contact-form-main {
	display: none;
}

#contact .contact-form-main-open {
	display: block;
}

#contact .contact-opne {
	display: none;
}

/* contact-form-7 */

#contact .contact-form-main .contact-form-tr {
	border-top: 1px solid #717171;
	padding: 20px 0;
}

#contact .contact-form-main .contact-form-tr:last-child {
	border-bottom: 1px solid #717171;
}

#contact .contact-form-main .required {
	display: flex;
}

#contact .contact-form-left p {
	font-weight: 700;
}

#contact .contact-form-main .required span {
	color: #098a6c;
	margin-left: 10px;
	font-size: 12px;
}

#contact .contact-form-main .attention {
	font-size: 12px;
	font-weight: normal;
	margin: 10px 0;
}

#contact .contact-form-main input[type="text"], #contact .contact-form-main input[type="email"], #contact .contact-form-main input[type="tel"], #contact .contact-form-main input[type="number"], #contact .contact-form-main textarea {
	background-color: #eeeeee;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	width: 100%;
	padding: 5px 10px;
	box-sizing: border-box;
}

#contact .contact-form-main .name {
	display: flex;
	justify-content: space-between;
}

#contact .contact-form-main .name .wpcf7-form-control-wrap {
	width: 40%;
}

#contact .contact-form-main select {
	width: 100px;
	height: 30px;
}

#contact .wpcf7-checkbox .wpcf7-list-item {
	display: block;
}

#contact .privacy-check {
	margin: 20px auto;
}

#contact .privacy-check p:last-child {
	font-size: 12px;
	margin: 10px 0;
}

#contact .acceptance {
	text-align: center;
}

#contact .wpcf7-acceptance {
	font-size: 12px;
}

#contact .wpcf7-acceptance .wpcf7-list-item label {
	display: flex;
	align-items: center;
}

#contact .wpcf7-acceptance .wpcf7-list-item label span {
	margin-left: 5px;
}

#contact .contact-form-main .submit {
	margin-top: 20px;
}

#contact .contact-form-main input[type="submit"] {
	-webkit-appearance: none;
	border-radius: 0;
	width: 100%;
	background-position: center;
	background: url(images/bg_pattern_d.png);
	padding: 10px;
	max-width: 250px;
	display: block;
	margin: 0 auto;
	color: #fff;
}

#contact .contact-form-main input[type="submit"]:disabled {
	color: #7c8180;
}

#contact .contact-form-main input[type="button"] {
	-webkit-appearance: none;
	border-radius: 0;
	border: 1px solid #b8b8b8;
	color: #717171;
	width: 100%;
	padding: 10px;
	max-width: 250px;
	display: block;
	margin: 0 auto;
}

#contact .ajax-loader {
	display: none;
}

#contact div.wpcf7-response-output {
	margin: 0 !important;
	border: 2px solid #ff0000 !important;
	color: red;
	font-weight: 900;
}

#contact .wpcf7-mail-sent-ok {
	display: none !important;
}

#contact .wpcf7-checkbox .wpcf7-list-item {
	margin: 10px 0 0;
	/* display: inline-block; */
}

#contact .wpcf7-checkbox .wpcf7-list-item input {
	margin-right: 5px;
}

/* contact-form-7 end */

#contact .contact-info {
	margin: 40px auto 80px;
}

#contact .contact-info p {
	font-size: 16px;
	font-weight: 900;
}

#contact .contact-info p:first-child {
	font-size: 18px;
}

/* #contact input[type=checkbox] {
  transform: scale(1.3);
} */

.your-affiliation {
	width: 100% !important;
}

/*reCAPTCHAバッジの非表示*/
.grecaptcha-badge {
	visibility: hidden;
}

@media screen and (min-width: 768px) {
	#contact {
		padding: 140px 0 200px;
	}

	#contact .contact-page-head {
		margin-bottom: 30px;
	}

	#contact .contact-page-title {
		display: flex;
		align-items: center;
	}

	/* #contact .contact-page-title span:first-child{
		 font-size: 113px;
	}

	#contact .contact-page-title span:last-child{
		margin-bottom: 0;
		font-size: 18px;
	} */
	#contact .contact-page-head .msg1 {
		font-size: 26px;
		font-weight: 900;
		color: #098a6c;
	}

	#contact .contact-descpription p {
		width: 90%;
	}

	#contact .contact-descpription .contact-img {
		position: absolute;
		bottom: 15px;
		right: 15px;
		width: 30px;
	}

	/* contact-form-7 */
	#contact .contact-form-main .contact-form-tr {
		display: flex;
		justify-content: space-between;
		padding: 30px;
	}

	#contact .contact-form-left {
		width: 30%;
	}

	#contact .contact-form-right {
		width: 65%;
	}

	#contact .contact-form-main .submit {
		display: flex;
		justify-content: center;
	}

	#contact .contact-form-main input[type="submit"] {
		width: 300px;
		margin: 0;
		font-size: 20px;
		max-width: none;
	}

	#contact .contact-form-main input[type="button"] {
		width: 100px;
		margin: 0 10px 0 0;
		font-size: 20px;
		max-width: none;
	}

	#contact div.wpcf7-response-output {
		margin-top: 20px !important;
	}

	/* contact-form-7 end */
}

/* --------------------- */

/* -------- 404 -------- */

/* --------------------- */

#error404 {
	padding: 80px 0 100px;
}

#error404 .error404-head {
	margin-bottom: 20px;
}

/* #error404 .error404-title span{
	display: block;
}

#error404 .error404-title span:first-child{
	display: inline-block;
	font-size: 50px;
	font-weight: 900;
	margin-right: 10px;
}

#error404 .error404-title span:last-child{
	margin-bottom: 20px;
	font-weight: 700;
} */

#error404 .error404-head .msg1 {
	font-size: 20px;
	font-weight: 900;
	color: #098a6c;
}

#error404 .error404-head .msg2 {
	font-weight: 900;
}

#error404 .back-to-sitemap {
	font-weight: 900;
	font-size: 18px;
	margin-bottom: 150px;
}

@media screen and (min-width: 768px) {
	#error404 {
		padding: 140px 0 200px;
	}

	#error404 .error404-head {
		margin-bottom: 30px;
	}

	/* #error404 .error404-title{
		display: flex;
		align-items: center;
	} */
	/* #error404 .error404-title span:first-child{
		font-size: 113px;
	}

	#error404 .error404-title span:last-child{
		margin-bottom: 0;
		font-size: 18px;
	} */
	#error404 .error404-head .msg1 {
		font-size: 26px;
		font-weight: 900;
		color: #098a6c;
	}
}

/* --------------------- */

/* ------- 検索 ------- */

/* --------------------- */

#search {
	padding: 80px 0 100px;
}

#search .search-head {
	margin-bottom: 20px;
}

/* #search .search-title span{
	display: block;
}

#search .search-title span:first-child{
	display: inline-block;
	font-size: 50px;
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 900;
	margin-right: 10px;
}

#search .search-title span:last-child{
	margin-bottom: 20px;
} */

#search .search-head p {
	font-size: 20px;
	font-weight: 900;
	color: #098a6c;
}

.search-form-wrap {
	background: url(images/bg_pattern_o.png);
	background-position: center;
	padding: 40px 10px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 50px;
}

.search-form-wrap .search-form {
	position: relative;
	width: 90%;
	max-width: 350px;
}

.search-form-wrap .search-form form {
	position: relative;
	height: 28px;
}

.search-form-wrap .search-form input[type=text] {
	position: relative;
	width: 100%;
	height: 40px;
	margin: 0;
	padding: 3px 30px 3px 12px;
	border: none;
	border-radius: 4px;
	background-color: #fff;
	font-family: inherit;
	font-size: 12px;
}

.search-form-wrap .search-form button[type=submit] {
	position: absolute;
	width: 18px;
	height: 28px;
	top: 7px;
	right: 8px;
	border: none;
	background: url(images/search.png) 50% 50%/contain no-repeat;
}

#search .search_r .search-result {
	font-size: 18px;
	font-weight: 900;
}

#search .page-content {
	padding: 30px 0;
}

#search .page-content .r_box {
	padding: 20px 0;
	border-top: 1px solid #717171;
}

#search .page-content .r_box:last-child {
	border-bottom: 1px solid #717171;
}

#search .page-content .r_box h2 {
	font-size: 18px;
	color: #098a6c;
	font-weight: 900;
}

#search .page-content .r_box .link-url {
	color: #717171;
}

.searchhighlight {
	color: #098a6c;
	font-weight: 900;
}

#search .nav-links {
	overflow: hidden;
	text-align: center;
	position: relative;
	height: 60px;
	line-height: 60px;
}

#search .nav-links .prev {
	position: absolute;
	left: 0;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 30px;
	color: #717171;
	transition-duration: 0.4s;
}

#search .nav-links .next {
	position: absolute;
	right: 0;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 30px;
	color: #717171;
	transition-duration: 0.4s;
}

#search .page-numbers {
	padding: 0 8px;
	font-size: 18px;
	color: #717171;
}

#search .nav-links .prev:hover, #search .nav-links .next:hover, #search a.page-numbers:hover {
	color: #000;
	transition-duration: 0.4s;
}

@media screen and (min-width: 768px) {
	#search {
		padding: 140px 0 200px;
	}

	#search .search-head {
		margin-bottom: 30px;
	}

	/* #search .search-title{
		display: flex;
		align-items: center;
	}

	#search .search-title span:first-child{
		font-size: 113px;
	}

	#search .search-title span:last-child{
		margin-bottom: 0;
		font-size: 18px;
	} */
	#search .search-head p {
		font-size: 30px;
	}
}