@charset "UTF-8";

/* 共通
----------------------------------------*/
.visible_xs {
	display: none;
}
.link_prev {
	text-align: center;
}
.sub ~ .footer {
	margin-top: 54px;
}
.link_prev {
	padding-top: 138px;
	margin-bottom: -10px;
	text-align: center;
}
.link_prev a {
	color: #2dab7c;
	font-size: 1.2rem;
	letter-spacing: .04em;
	font-weight: bold;
	display: inline-block;
	-webkit-transition: opacity 300ms;
	transition: opacity 300ms;
}
.link_prev a:hover {
	opacity: .6;
}
.link_prev a::before {
	content: "";
	display: block;
	width: 107px;
	height: 3px;
	background: #c6cfc8;
	margin-bottom: 24px;
}
@media only screen and (max-width: 1023px) {
	.sub ~ .footer {
		margin-top: 47px;
	}
	.link_prev {
		padding-top: 100px;
		margin-bottom: -8px;
		text-align: center;
	}
	.link_prev a {
		font-size: .822rem;
	}
	.link_prev a:hover {
		opacity: 1;
	}
	.link_prev a::before {
		width: 73px;
		margin-bottom: 16px;
	}
}
@media only screen and (max-width: 767px) {
	.sub ~ .footer {
		margin-top: 65px;
	}
	.link_prev {
		padding-top: 105px;
		margin-bottom: -25px;
	}
	.link_prev a {
		font-size: 1.2rem;
	}
	.link_prev a::before {
		width: 107px;
		margin-bottom: 24px;
	}
}
@media only screen and (max-width: 320px) {
	.visible_xs {
		display: block;
	}
}

/* ttl_page
----------------------------------------*/
.ttl_page {
	padding: 78px 0 0;
	text-align: center;
}
.ttl_page h1 {
	width: 350px;
	margin: 0 auto;
	font-weight: normal;
	font-size: 2.3rem;
	padding-top: 11px;
	letter-spacing: .07em;
}
.meguro_hanabusayama .ttl_page h1 {
	font-size: 1.6rem;
}
.ushigomeyanagicho .ttl_page h1 {
	font-size: 1.6rem;
}
.wakamatsucho .ttl_page h1 {
	font-size: 1.6rem;
}
.ttl_page h1::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	border: solid 1px #b3bfb6;
	border-bottom: none;
	height: 13px;
}
.ttl_page p {
	font-size: 1.1rem;
}
.ttl_page p:first-child {
	font-size: 1.5rem;
	margin: -4px 0 6px;
	letter-spacing: .08em;
	color: #4d4d4d;
}
.ttl_page p:first-child a {
	text-decoration: underline;
}
.ttl_page p:first-child a:hover {
	text-decoration: none;
}
.ttl_page span {
	font-size: 1.4rem;
	display: inline-block;
}
@media only screen and (max-width: 1023px) {
	.ttl_page {
		padding: 54px 0 0;
	}
	.ttl_page h1 {
		width: 240px;
		font-size: 1.55rem;
		padding-top: 8px;
	}
	.ttl_page h1::before {
		height: 9px;
	}
	.ttl_page p {
		font-size: .7rem;
		letter-spacing: .06em;
		margin-top: 1px;
	}
	.ttl_page p:first-child {
		font-size: 1rem;
		margin: -4px 0 6px;
		letter-spacing: .12em;
	}
	.ttl_page span {
		font-size: 1rem;
	}
}
@media only screen and (max-width: 767px) {
	.ttl_page {
		padding: 65px 0 0;
	}
	.ttl_page h1 {
		width: 93.333%;
		font-size: 2.3rem;
		padding-top: 9px;
	}
	.ttl_page h1::before {
		height: 13px;
	}
	.ttl_page p {
		font-size: 1rem;
		margin-top: 4px;
		letter-spacing: .08em;
	}
	.ttl_page p:first-child {
		font-size: 1.5rem;
		margin: -4px 0 6px;
		letter-spacing: .08em;
	}
	.ttl_page span {
		font-size: 1.3rem;
	}
}

/* news_block
----------------------------------------*/
.news_block {
	padding: 0 30px 225px;
}
.news_inner {
	max-width: 1020px;
	margin: 73px auto 0;
}
.news_block h2 {
	border-bottom: solid 1px #c6cfc8;
	text-align: center;
	font-weight: normal;
	font-size: 4.6rem;
	padding-bottom: 4px;
	margin-bottom: 66px;
}
.news_list {
	padding-bottom: 42px;
	margin-bottom: 66px;
	border-bottom: solid 1px #c6cfc8;
}
.news_list:last-child {
	margin-bottom: 0;
}
.news_list li {
	margin-bottom: 24px;
}
.news_list li a {
	display: block;
	font-size: 1.3rem;
	padding-left: 85px;
	letter-spacing: .05em;
	line-height: 2;
	-webkit-transition: opacity 300ms;
	transition: opacity 300ms;
}
.news_list li a:hover {
	opacity: .6;
}
.news_tag {
	display: inline-block;
	width: 70px;
	text-align: center;
	font-size: 1.4rem;
	color: #fff;
	padding: 1px 1px 0;
	margin-right: 15px;
	margin-left: -85px;
	vertical-align: 1px;
	line-height: 1.5;
	letter-spacing: 0;
}
.news_tag.award {
	background: #1c1f48;
}
.news_tag.media {
	background: #1c6048;
}
.news_tag.info {
	background: #7d7d7d;
}
@media only screen and (max-width: 1023px) {
	.news_block {
		padding: 0 33px 155px;
	}
	.news_inner {
		max-width: 768px;
		margin: 50px auto 0;
	}
	.news_block h2 {
		font-size: 3.2rem;
		padding-bottom: 2px;
		margin-bottom: 45px;
	}
	.news_list {
		padding-bottom: 30px;
		margin-bottom: 45px;
	}
	.news_list li {
		margin-bottom: 16px;
	}
	.news_list li a {
		font-size: .9rem;
		padding-left: 58px;
	}
	.news_list li a:hover {
		opacity: 1;
	}
	.news_tag {
		width: 48px;
		font-size: 1rem;
		padding: .5px 1px 0;
		margin-right: 10px;
		margin-left: -58px;
	}
}
@media only screen and (max-width: 767px) {
	.news_block {
		padding: 0 7.333% 165px;
	}
	.news_inner {
		margin: 63px auto 0;
	}
	.news_block h2 {
		font-size: 4.6rem;
		padding-bottom: 1px;
		margin-bottom: 26px;
	}
	.news_list {
		border: none;
		padding: 0;
	}
	.news_list li {
		border-bottom: solid 1px #c6cfc8;
		padding-bottom: 17px;
		margin-bottom: 25px;
	}
	.news_list li a {
		font-size: 1.3rem;
		padding-left: 85px;
	}
	.news_tag {
		width: 70px;
		font-size: 1.4rem;
		padding: 1px;
		margin-right: 15px;
		margin-left: -85px;
		vertical-align: 1px;
	}
}

/* newpro_block works_block
----------------------------------------*/
.newpro_block,
.works_block {
	padding: 0 30px 96px;
}
.works_block {
	padding-bottom: 197px;
}
.newpro_inner,
.works_inner {
	max-width: 1017px;
	margin: 4px auto 0;
}
.works_inner {
	margin-top: 128px;
}
.newpro_block h2 {
	text-align: center;
	font-size: 1.2rem;
	font-weight: normal;
	margin-bottom: 105px;
}
.newpro_list,
.works_list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}
.newpro_list li,
.works_list li {
	width: 46.214%;
	margin: 0 0 95px 7.572%;
}
.newpro_list li figure img,
.works_list li figure img {
	width: 100%;
}
.newpro_list li:nth-child(2n+1),
.works_list li:nth-child(2n+1) {
	margin-left: 0;
}
.newpro_list li a,
.works_list li a {
	display: block;
	-webkit-transition: opacity 300ms;
	transition: opacity 300ms;
}
.newpro_list li a:hover,
.works_list li a:hover {
	opacity: .6;
}
.newpro_ttl,
.works_ttl {
	padding-left: 15px;
	margin-bottom: 18px;
}
.newpro_ttl::before,
.works_ttl::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 2px;
	bottom: 0;
	width: 2px;
	background: #009b6b;
}
.newpro_ttl.glay::before,
.works_ttl.glay::before {
	background: #000;
	opacity: .3;
}
.newpro_ttl h3,
.works_ttl h2 {
	font-size: 1.3rem;
	margin-bottom: 7px;
}
.newpro_ttl.new h3::after,
.newpro_ttl h3.new::after,
.works_ttl.new h2::after {
	content: "NEW";
	display: inline-block;
	color: #ed0000;
	margin-left: 15px;
}
.newpro_date,
.works_date {
	font-size: 1.1rem;
	font-weight: bold;
}
.newpro_ttl h3 span,
.works_ttl h2 span {
	font-size: 1.1rem;
	opacity: .7;
	margin-left: 10px;
}
.newpro_ttl h3.conversion {
	position: relative;
}
.newpro_ttl h3.conversion::before {
	font-size: 1.1rem;
	content: "CONVERSION";
	display: flex;
	align-items: center;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	opacity: .7;
}
@media only screen and (max-width: 1023px) {
	.newpro_block,
	.works_block {
		padding: 0 36px 67px;
	}
	.works_block {
		padding-bottom: 138px;
	}
	.newpro_inner,
	.works_inner {
		max-width: 768px;
		margin: 3px auto 0;
	}
	.works_inner {
		margin-top: 85px;
	}
	.newpro_block h2 {
		font-size: .9rem;
		margin-bottom: 70px;
	}
	.newpro_list li,
	.works_list li {
		margin-bottom: 63px
	}
	.newpro_list li a:hover,
	.works_list li a:hover {
		opacity: 1;
	}
	.newpro_ttl,
	.works_ttl {
		padding-left: 13px;
		margin-bottom: 13px;
	}
	.newpro_ttl h3,
	.works_ttl h2 {
		font-size: .89rem;
		margin-bottom: 5px;
	}
	.newpro_ttl.new h3::after,
	.works_ttl.new h2::after {
		margin-left: 10px;
	}
	.newpro_date,
	.works_date {
		font-size: .753rem;
	}
	.newpro_ttl h3 span,
	.works_ttl h2 span {
		font-size: .753rem;
	}
	.newpro_ttl h3.conversion::after {
		font-size: .753rem;
	}
}
@media only screen and (max-width: 767px) {
	.newpro_block,
	.works_block {
		padding: 0 0 144px;
	}
	.works_block {
		padding: 0 0 115px;
	}
	.newpro_inner,
	.works_inner {
		margin: 6px auto 0;
	}
	.works_inner {
		margin-top: 110px;
	}
	.newpro_block h2 {
		font-size: 1.2rem;
		margin-bottom: 86px;
	}
	.newpro_list,
	.works_list {
		display: block;
	}
	.newpro_list li,
	.works_list li {
		width: 100%;
		margin: 0 0 65px;
	}
	.works_list li {
		margin-bottom: 99px;
	}
	.newpro_ttl,
	.works_ttl {
		padding-left: 13px;
		margin: 0 5.866% 18px;
	}
	.newpro_ttl h3,
	.works_ttl h2 {
		font-size: 1.3rem;
		margin-bottom: 7px;
	}
	.newpro_ttl.new h3::after,
	.works_ttl.new h2::after {
		margin-left: 15px;
	}
	.newpro_date,
	.works_date {
		font-size: 1.1rem;
		font-weight: bold;
		letter-spacing: .055em;
	}
	.newpro_ttl h3 span,
	.works_ttl h2 span {
		font-size: 1.1rem;
	}
	.newpro_ttl h3.conversion::after {
		font-size: 1.1rem;
	}
}

/* brand_block
----------------------------------------*/
.brand_block {
	padding: 0 30px 170px;
}
.brand_block + .concept_block {
	margin-top: -170px;
	padding-bottom: 170px;
}
.brand_block + .concept_block .concept_inner {
	margin-top: 0;
}
.brand_inner {
	max-width: 1020px;
	margin: 105px auto 0;
}
.brand_block h2 {
	text-align: center;
	font-size: 2.1rem;
	margin-bottom: 25px;
}
.brand_inner > p {
	text-align: center;
	font-size: 1.3rem;
	line-height: 2.25;
}
.brand_list {
	border-top: solid 2px #b2b2b2;
	margin: 64px auto 0;
	padding-top: 87px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}
.brand_list li {
	width: 46.214%;
	margin: 0 0 90px 7.572%;
}
.brand_list li figure img {
	width: 100%;
}
.brand_list li:nth-child(2n+1) {
	margin-left: 0;
}
.brand_list li a {
	color: #009b6b;
	-webkit-transition: opacity 300ms;
	transition: opacity 300ms;
}
.brand_list li a:hover {
	opacity: .6;
}
.brand_list h3 {
	font-size: 1.437rem;
	margin: 16px 0 16px;
}
.brand_list p {
	font-size: 1.3rem;
	line-height: 2.2;
	letter-spacing: -.04em;
}
.brand_list .brand_more {
	font-weight: bold;
	font-size: 1.2rem;
	margin-top: 19px;
}
.brand_list .brand_more a::after {
	content: ">";
	margin-left: 7px;
}
@media only screen and (max-width: 1023px) {
	.brand_block {
		padding: 0 33px 117px;
	}
	.brand_block + .concept_block {
		margin-top: -117px;
		padding-bottom: 117px;
	}
	.brand_block + .concept_block .concept_inner {
		margin-top: 0;
	}
	.brand_inner {
		max-width: 768px;
		margin: 70px auto 0;
	}
	.brand_block h2 {
		font-size: 1.439rem;
		margin-bottom: 17px;
	}
	.brand_inner > p {
		font-size: .89rem;
		line-height: 2.25;
	}
	.brand_list {
		margin: 43px auto 0;
		padding-top: 58px;
	}
	.brand_list li {
		margin-bottom: 62px;
	}
	.brand_list li a:hover {
		opacity: 1;
	}
	.brand_list h3 {
		font-size: .984rem;
		margin: 9px 0 11px;
		letter-spacing: .1em;
	}
	.brand_list p {
		font-size: .89rem;
		letter-spacing: -.03em;
	}
	.brand_list .brand_more {
		font-size: .822rem;
		margin-top: 13px;
	}
	.brand_list .brand_more a::after {
		margin-left: 5px;
	}
}
@media only screen and (max-width: 767px) {
	.brand_block {
		padding: 0 0 139px;
	}
	.brand_inner {
		margin: 53px auto 0;
	}
	.brand_block h2 {
		font-size: 2.1rem;
		margin-bottom: 25px;
	}
	.brand_inner > p {
		font-size: 1.3rem;
		letter-spacing: -.05em;
		line-height: 2.25;
	}
	.brand_list {
		border-top: none;
		margin: 52px auto 0;
		padding-top: 66px;
	}
	.brand_list::before {
		content: "";
		display: block;
		height: 2px;
		background: #b2b2b2;
		position: absolute;
		top: 0;
		left: 7.2%;
		right: 7.2%;
	}
	.brand_list li {
		width: 100%;
		margin: 0 0 74px;
	}
	.brand_list h3 {
		font-size: 1.437rem;
		text-align: center;
		margin: 23px 7.2% 16px;
		letter-spacing: .11em;
	}
	.brand_list p {
		font-size: 1.3rem;
		margin: 0 7.2%;
		letter-spacing: -.04em;
	}
	.brand_list .brand_more {
		text-align: center;
		font-size: 1.2rem;
		margin-top: 16px;
	}
	.brand_list .brand_more a::after {
		margin-left: 7px;
	}
}

/* concept_block
----------------------------------------*/
.concept_block {
	padding: 0 30px 197px;
}
.concept_inner {
	margin: 105px auto 0;
	max-width: 1020px;
}
.concept_logo {
	width: 230px;
	height: 26px;
	overflow: hidden;
	margin: 0 auto 12px;
}

.concept_logo.cuadro {
	width: 184px;
	height: 40px;	
}

.concept_logo + p {
	letter-spacing: .05em;
}
.concept_inner > p {
	font-size: 1.3rem;
	line-height: 2.2;
	text-align: center;
	margin-bottom: 22px;
}
.concept_inner > figure {
	width: 508px;
	margin: 84px auto 0;
}
.concept_inner dl {
	width: 510px;
	margin: 66px auto 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
}
.concept_inner dl dt {
	border-bottom: solid 2px #b2b2b2;
	width: 94px;
	font-size: 2.1rem;
	font-weight: bold;
	letter-spacing: .05em;
	padding-bottom: 10px;
	margin-bottom: 8px;
}
.concept_inner dl dt:nth-last-of-type(1),
.concept_inner dl dd:nth-last-of-type(1) {
	border-bottom: none;
}
.concept_inner dl dd {
	border-bottom: solid 2px #b2b2b2;
	width: calc(100% - 94px);
	font-size: 1.3rem;
	padding: 10px 0;
	margin-bottom: 8px;
	overflow: hidden;
}
.concept_inner dl dd span {
	width: 75px;
	border: solid 1px #787878;
	text-align: center;
	font-weight: bold;
	float: right;
	border-radius: 7px;
}
.concept_list {
	border-top: solid 2px #b2b2b2;
	margin-top: 95px;
	padding: 119px 0 0;
}
.concept_list li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	margin-bottom: 75px;
}
.concept_text {
	width: 37.057%;
	margin-left: 4.119%;
	padding-right: 30px;
}
.concept_text h3 {
	font-size: 3.5rem;
	letter-spacing: .02em;
	top: -10px;
	margin-bottom: 13px;
}
.concept_text h3::after {
	content: "";
	width: 117px;
	height: 2px;
	background: #009b6b;
	display: block;
	margin-top: 21px;
}
.concept_text h3 span {
	display: block;
	font-size: 1.3rem;
}
.concept_list li figure {
	width: 58.824%;
}
.concept_list li figure img {
	width: 100%;
	display: block;
}
@media only screen and (max-width: 1023px) {
	.concept_block {
		padding: 0 33px 190px;
	}
	.concept_inner {
		margin: 71px auto 0;
		max-width: 768px;
	}
	.concept_logo {
		width: 158px;
		height: 18px;
		margin: 0 auto 9px;
	}

	.concept_logo.cuadro {
		width: 124px;
		height: 26px;	
	}

	.concept_inner > p {
		font-size: .89rem;
		margin-bottom: 15px;
	}
	.concept_inner > figure {
		width: 348px;
		margin: 58px auto 0;
	}
	.concept_inner dl {
		width: 350px;
		margin: 45px auto 0;
	}
	.concept_inner dl dt {
		width: 64px;
		font-size: 1.439rem;
		padding-bottom: 6px;
		margin-bottom: 6px;
	}
	.concept_inner dl dd {
		width: calc(100% - 64px);
		font-size: .89rem;
		padding: 5px 0 6px;
		margin-bottom: 6px;
	}
	.concept_inner dl dd span {
		width: 53px;
		border-radius: 5px;
	}
	.concept_list {
		margin-top: 64px;
		padding: 80px 0 0;
	}
	.concept_list li {
		margin-bottom: 52px;
	}
	.concept_text p {
		font-size: .89rem;
	}
	.concept_text h3 {
		font-size: 2.398rem;
		top: -6px;
		margin-bottom: 10px;
	}
	.concept_text h3::after {
		width: 80px;
		margin-top: 15px;
	}
	.concept_text h3 span {
		font-size: .89rem;
	}
}
@media only screen and (max-width: 767px) {
	.concept_block {
		padding: 0;
		padding-bottom: 120px;
	}
	.concept_inner {
		margin: 90px auto 0;
	}
	.concept_logo {
		width: 230px;
		height: 26px;
		margin: 0 auto 12px;
	}
	.concept_logo.cuadro {
		width: 180px;
		height: 36px;
		margin: 0 auto 12px;
	}

	.concept_inner > p {
		font-size: 1.3rem;
		margin-bottom: 60px;
	}
	.concept_inner > figure {
		width: 94.133%;
		margin: -21px auto 0;
	}
	.concept_inner dl {
		width: 85.333%;
		margin: 45px auto 0;
	}
	.concept_inner dl dt {
		width: 100px;
		font-size: 2.1rem;
		padding-bottom: 17px;
		margin-bottom: 15px;
	}
	.concept_inner dl dd {
		width: calc(100% - 100px);
		font-size: 1.3rem;
		padding: 5px 0 17px;
		margin-bottom: 15px;
		line-height: 1.7;
		overflow: visible;
	}
	.concept_inner dl dd span {
		width: 75px;
		border-radius: 7px;
		line-height: 1.5;
		position: absolute;
		left: -100px;
		bottom: 12px;
		float: none;
	}
	.concept_list {
		border-top: none;
		margin-top: 71px;
		padding: 0;
	}
	.concept_list::before {
		content: "";
		width: 85.333%;
		height: 2px;
		margin: 0 auto 71px;
		display: block;
		background: #b2b2b2;
	}
	.concept_list li {
		display: block;
		margin-bottom: 83px;
	}
	.concept_text {
		width: 100%;
		margin-left: 0;
		padding-right: 0;
		text-align: center;
	}
	.concept_text p {
		font-size: 1.3rem;
		line-height: 2.1;
	}
	.concept_text h3 {
		font-size: 3.5rem;
		top: 0;
		margin-bottom: 22px;
	}
	.concept_text h3::after {
		width: 117px;
		margin: 20px auto;
	}
	.concept_text h3 span {
		font-size: 1.3rem;
	}
	.concept_list li figure {
		width: 100%;
		margin-top: 20px;
	}
}

/* specialsite_block
----------------------------------------*/
.specialsite_block {
	padding: 0 30px;
  padding-bottom: 170px;
}
.specialsite_inner {
	max-width: 1020px;
	margin: 5px auto 0;
}
.specialsite_block h2 {
	text-align: center;
	font-weight: normal;
	font-size: 1.2rem;
	letter-spacing: .05em;
	margin-bottom: 92px;
}
.specialsite_block h2:first-child {
	margin-bottom: 0;
}
.specialsite_block h2::before {
	content: "";
	width: 350px;
	height: 13px;
	display: block;
	border: solid 1px #b3bfb6;
	border-bottom: none;
	margin: 50px auto -1px;
}
.specialsite_block h2:first-child::before {
	display: none;
}
.specialsite_list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	margin: 69px 0 0;
}
.specialsite_list li {
	width: 31.372%;
	margin: 0 0 65px 2.942%;
}
.specialsite_list li a {
	display: block;
	-webkit-transition: opacity 300ms;
	transition: opacity 300ms;
}
.specialsite_list li a:hover {
	opacity: .6;
}
.specialsite_list li:nth-child(3n+1) {
	margin-left: 0;
}
.specialsite_ttl {
	padding-left: 19px;
	margin: 0 0 14px 1px;
}
.specialsite_ttl h3 {
	font-size: 1.3rem;
	margin-bottom: 7px;
}
.specialsite_ttl.new h3::after {
	content: "NEW";
	color: #ed0000;
	margin-left: 15px;
}
.specialsite_date {
	font-size: 1.1rem;
	font-weight: bold;
}
.specialsite_ttl::before {
		content: "";
		display: block;
		width: 2px;
		background: #009b6b;
		position: absolute;
		top: 2px;
		left: 0;
		bottom: 0;
}
.specialsite_list li figure img {
	width: 100%;
}
@media only screen and (max-width: 1023px) {
	.specialsite_block {
		padding: 0 33px;
    padding-bottom: 117px;
	}
	.specialsite_inner {
		max-width: 768px;
		margin: 4px auto 0;
	}
	.specialsite_block h2 {
		font-size: .85rem;
		letter-spacing: .05em;
		margin-bottom: 64px;
	}
	.specialsite_block h2::before {
		width: 240px;
		height: 9px;
		margin-top: 34px;
	}
	.specialsite_list {
		margin: 48px 0 0;
	}
	.specialsite_list li {
		margin-bottom: 42px;
	}
	.specialsite_list li a:hover {
		opacity: 1;
	}
	.specialsite_ttl {
		padding-left: 13px;
		margin: 0 0 9px 1px;
	}
	.specialsite_ttl h3 {
		font-size: .89rem;
		margin-bottom: 6px;
	}
	.specialsite_ttl.new h3::after {
		margin-left: 10px;
	}
	.specialsite_date {
		font-size: .753rem;
		letter-spacing: .04em;
		font-weight: bold;
	}
	.specialsite_ttl::before {
			bottom: 1px;
	}
}
@media only screen and (max-width: 767px) {
	.specialsite_block {
		padding: 0;
    padding-bottom: 117px;
	}
	.specialsite_inner {
		margin: 5px auto 0;
	}
	.specialsite_block h2 {
		font-size: 1.2rem;
		margin-bottom: -12px;
	}
	.specialsite_block h2::before {
		width: 93.333%;
		height: 13px;
		margin: 111px auto -1px;
	}
	.specialsite_list {
		display: block;
		margin: 68px 7.333% 0;
	}
	.specialsite_list li {
		width: 100%;
		margin: 0 0 62px;
	}
	.specialsite_ttl {
		padding-left: 19px;
		margin: 0 0 14px 1px;
	}
	.specialsite_ttl h3 {
		font-size: 1.3rem;
		margin-bottom: 7px;
	}
	.specialsite_ttl.new h3::after {
		margin-left: 15px;
	}
	.specialsite_date {
		font-size: 1.1rem;
	}
}

/* detail_block
----------------------------------------*/
.detail_block {
	padding: 0 30px;
}
.detail_inner {
	margin: 50px auto 0;
}
.detail_ttl {
	max-width: 1020px;
	margin: 0 auto 19px;
	border-bottom: solid 1px #cfd8d1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.detail_block h2 {
	font-size: 2.8rem;
	letter-spacing: .1em;
}
.detail_ttl_awards {
	margin: 0 0 0 auto;
	padding-bottom: 1px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.detail_ttl_awards li {
	width: 60px;
	margin: 0 8px;
}
.detail_ttl_awards li + li {
	margin-left: 12px;
}
.detail_date {
	font-size: 1.5rem;
	font-weight: bold;
	letter-spacing: .02em;
	max-width: 1020px;
	margin: 0 auto 12px;
}
.detail_info {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	max-width: 1020px;
	margin: 0 auto 71px;
}
.detail_info dl {
	width: 39.215%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	border-top: solid 1px #cfd8d1;
	font-size: 1.2rem;
	margin-top: 10px;
}
.detail_info dt {
	font-weight: bold;
	width: 25%;
	padding: 4px 0;
	border-bottom: solid 1px #cfd8d1;
}
.detail_info dd {
	width: 75%;
	padding: 4px 0;
	border-bottom: solid 1px #cfd8d1;
}
.detail_text {
	width: 56.372%;
	margin: 0 0 0 auto;
	line-height: 2.1;
}
.detail_slide {
	overflow: hidden;
	max-width: 1020px;
	margin: 0 auto;
}
.detail_slide figure {
	float: left;
}
.detail_slide figure img {
	display: block;
}
.detail_slide .slick-prev,
.detail_slide .slick-next {
	width: 13px;
	height: 26px;
	position: absolute;
	left: 12px;
	top: 50%;
	margin-top: -13px;
	overflow: hidden;
	text-indent: -999px;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	border: none;
	background: none;
	-webkit-transition: opacity 300ms;
	transition: opacity 300ms;
	z-index: 1100;
}
.detail_slide .slick-next {
	right: 12px;
	left: auto;
}
.detail_slide .slick-prev:hover,
.detail_slide .slick-next:hover {
	opacity: .6;
}
.detail_slide .slick-prev::before,
.detail_slide .slick-next::before {
	content: "";
	display: block;
	position: absolute;
	left: 4px;
	top: 50%;
	margin-top: -10px;
	width: 20px;
	height: 20px;
	border-bottom: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}
.detail_slide .slick-next::before {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	left: -12px;
}
.detail_promotion {
	background: #e4ebe9;
	margin: 79px -30px -54px;
	padding: 37px 30px 54px;
}
.detail_promotion h3 {
	max-width: 1020px;
	margin: 0 auto 57px;
	font-size: 2.1rem;
	letter-spacing: .08em;
}
.detail_promotion_item {
	max-width: 1020px;
	margin: 0 auto 55px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}
.detail_promotion_item + .detail_promotion_item {
	margin-top: 110px;
}
.detail_promotion_list {
	width: 19.607%;
	margin-right: 5.982%;
	border-top: solid 2px #009b6b;
	font-weight: bold;
	padding-top: 6px;
}
.detail_promotion_list li {
	margin-top: 9px;
	letter-spacing: .08em;
}
.detail_promotion a {
	-webkit-transition: opacity 300ms;
	transition: opacity 300ms;
}
.detail_promotion a:hover {
	opacity: .6;
}
.detail_promotion_img {
	width: 23.039%;
}
.detail_promotion_img + .detail_promotion_img {
	margin-left: 2.647%;
}
.detail_promotion_img a {
	display: block;
}
.detail_promotion_img figcaption {
	font-size: 1.1rem;
	letter-spacing: .09em;
	margin: 7px 0 0;
}
.detail_promotion_img a figcaption::after {
	content: ">";
	margin-left: 10px;
}
@media only screen and (max-width: 1023px) {
	.detail_block {
		padding: 0 33px;
	}
	.detail_inner {
		margin: 34px auto 0;
	}
	.detail_ttl {
		max-width: 768px;
		margin: 0 auto 13px;
	}
	.detail_block h2 {
		font-size: 1.918rem;
	}
	.detail_ttl_awards {
		padding-bottom: 0;
	}
	.detail_ttl_awards li {
		width: 40px;
		margin: 0 7px;
	}
	.detail_ttl_awards li + li {
		margin-left: 8px;
	}
	.detail_date {
		font-size: 1.027rem;
		max-width: 768px;
		margin: 0 auto 8px;
	}
	.detail_info {
		max-width: 768px;
		margin: 0 auto 48px;
	}
	.detail_info dl {
		font-size: .822rem;
		margin-top: 6px;
	}
	.detail_info dt {
		padding: 2.8px 0;
	}
	.detail_info dd {
		padding: 2.8px 0;
	}
	.detail_text {
		font-size: .959rem;
	}
	.detail_slide {
		max-width: 768px;
	}
	.detail_slide .slick-prev,
	.detail_slide .slick-next {
		width: 9px;
		height: 18px;
		left: 7px;
		margin-top: -9px;
	}
	.detail_slide .slick-next {
		right: 7px;
		left: auto;
	}
	.detail_slide .slick-prev:hover,
	.detail_slide .slick-next:hover {
		opacity: 1;
	}
	.detail_slide .slick-prev::before,
	.detail_slide .slick-next::before {
		margin-top: -8px;
		width: 16px;
		height: 16px;
	}
	.detail_promotion {
		margin: 54px -33px -54px;
		padding: 25px 33px 54px;
	}
	.detail_promotion h3 {
		max-width: 768px;
		margin: 0 auto 40px;
		font-size: 1.439rem;
	}
	.detail_promotion_item {
		max-width: 768px;
		margin: 0 auto 35px;
	}
	.detail_promotion_item + .detail_promotion_item {
		margin-top: 74px;
	}
	.detail_promotion_list {
		padding-top: 3px;
		font-size: .959rem;
	}
	.detail_promotion_list li {
		margin-top: 6px;
	}
	.detail_promotion a:hover {
		opacity: 1;
	}
	.detail_promotion_img.awards figure img {
		width: 82.608%;
	}
	.detail_promotion_img figcaption {
		font-size: .753rem;
		margin: 3px 0 0;
	}
	.detail_promotion_img figcaption::after {
		margin-left: 5px;
	}
}
@media only screen and (max-width: 767px) {
	.detail_block {
		padding: 0 6.666%;
	}
	.detail_inner {
		margin: 98px auto 0;
	}
	.detail_ttl {
		margin: 0 auto 30px;
		border-bottom: none;
		display: block;
	}
	.detail_ttl h2 {
		border-bottom: solid 1px #cfd8d1;
		padding-bottom: 16px;
		margin-bottom: 18px;
	}
	.detail_ttl_awards {
		padding-bottom: 0;
	}
	.detail_ttl_awards li {
		width: 60px;
	}
	.detail_ttl_awards li + li {
		margin-left: 11px;
	}
	.detail_date {
		font-size: 1.5rem;
		margin: 0 auto 12px;
	}
	.detail_info {
		display: block;
		margin: 0 auto 41px;
	}
	.detail_info dl {
		width: auto;
		font-size: 1.2rem;
		margin-bottom: 32px;
	}
	.detail_info dt {
		width: 103px;
		padding: 4.2px 0;
	}
	.detail_info dd {
		width: calc(100% - 103px);
		padding: 4.2px 0;
	}
	.detail_text {
		width: auto;
		margin: 0;
		font-size: 1.4rem;
		line-height: 2.2;
	}
	.detail_slide {
		margin: 0 -7.686%;
	}
	.detail_slide .slick-prev::before,
	.detail_slide .slick-next::before {
		margin-top: -3px;
		width: 6px;
		height: 6px;
		left: 1px;
	}
	.detail_slide .slick-next::before {
		left: 1px;
	}
	.detail_promotion {
		margin: 51px -7.686% -65px;
		padding: 31px 0 65px;
	}
	.detail_promotion h3 {
		margin: 0 auto 57px;
		text-align: center;
		font-size: 2.1rem;
	}
	.detail_promotion_item {
		margin: 0 18.5% 55px;
		display: block;
	}
	.detail_promotion_item + .detail_promotion_item {
		margin-top: 83px;
	}
	.detail_promotion_list {
		width: 200px;
		margin: 0 auto 42px;
		padding-top: 6px;
		text-align: center;
		font-size: 1.4rem;
	}
	.detail_promotion_list li {
		margin-top: 9px;
	}
	.detail_promotion a:hover {
		opacity: 1;
	}
	.detail_promotion_img {
		width: auto;
	}
	.detail_promotion_img + .detail_promotion_img {
		margin-left: 0;
		margin-top: 42px;
	}
	.detail_promotion_img figcaption {
		font-size: 1.1rem;
		margin: 7px 0 0;
	}
	.detail_promotion_img figcaption::after {
		margin-left: 10px;
	}
	.detail_promotion_img.awards figure {
		text-align: center;
	}
	.detail_promotion_img.awards + .detail_promotion_img.awards {
		margin-top: 65px;
	}
}

/* jointwork_block omotenashi_block
----------------------------------------*/
.jointwork_block,
.omotenashi_block {
	padding: 0 30px;
  padding-bottom: 170px;
}
.jointwork_inner,
.omotenashi_inner {
	margin: 50px 0 0;
}
.jointwork_inner::before {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	top: 0;
	bottom: -170px;
	background: #e4ebe9;
	width: 250px;
	margin-left: -125px;
}
.jointwork_main,
.omotenashi_main {
	max-width: 1280px;
	overflow: hidden;
	margin: 0 auto 86px;
}
.jointwork_main figure,
.omotenashi_main figure {
	float: left;
}
.jointwork_main img,
.omotenashi_main img {
	display: block;
}
.jointwork_main .slick-prev,
.jointwork_main .slick-next,
.omotenashi_main .slick-prev,
.omotenashi_main .slick-next {
	width: 13px;
	height: 26px;
	position: absolute;
	left: 12px;
	top: 50%;
	margin-top: -13px;
	overflow: hidden;
	text-indent: -999px;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	border: none;
	background: none;
	-webkit-transition: opacity 300ms;
	transition: opacity 300ms;
	z-index: 1100;
}
.jointwork_main .slick-next,
.omotenashi_main .slick-next {
	right: 12px;
	left: auto;
}
.jointwork_main .slick-prev:hover,
.jointwork_main .slick-next:hover,
.omotenashi_main .slick-prev:hover,
.omotenashi_main .slick-next:hover {
	opacity: .6;
}
.jointwork_main .slick-prev::before,
.jointwork_main .slick-next::before,
.omotenashi_main .slick-prev::before,
.omotenashi_main .slick-next::before {
	content: "";
	display: block;
	position: absolute;
	left: 4px;
	top: 50%;
	margin-top: -10px;
	width: 20px;
	height: 20px;
	border-bottom: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}
.jointwork_main .slick-next::before,
.omotenashi_main .slick-next::before {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	left: -12px;
}
.jointwork_inner > p,
.omotenashi_inner > p {
	text-align: center;
	font-size: 1.3rem;
	line-height: 2.2;
	margin-bottom: 97px;
}
.jointwork_item {
	max-width: 1020px;
	border-top: solid 2px #b2b2b2;
	padding: 48px 0 75px;
	margin: 0 auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}
.jointwork_text {
	width: 23.529%;
	margin-left: 8.529%;
}
.jointwork_text h2 {
	font-size: 2.1rem;
	top: -5px;
	margin-bottom: 19px;
}
.jointwork_text h2::after {
	content: "";
	width: 145px;
	height: 2px;
	background: #009b6b;
	display: block;
	margin: 19px 0 0;
}
.jointwork_text p {
	line-height: 2.2;
	font-size: 1.3rem;
}
.jointwork_text .jointwork_more {
	font-weight: bold;
	font-size: 1.2rem;
	margin-top: 50px;
}
.jointwork_text .jointwork_more a {
	color: #009b6b;
	-webkit-transition: opacity 300ms;
	transition: opacity 300ms;
}
.jointwork_text .jointwork_more a:hover {
	opacity: .6;
}
.jointwork_more a::after {
	content: ">";
	margin-left: 10px;
}
.jointwork_slide {
	width: 58.823%;
	margin: 0 0 0 auto;
	overflow: hidden;
	position: static;
}
.jointwork_slide figure {
	float: left;
}
.jointwork_slide img {
	width: 100%;
	display: block;
}
.jointwork_slide .slick-prev,
.jointwork_slide .slick-next {
	width: 42px;
	height: 84px;
	position: absolute;
	left: 6px;
	top: 195px;
	overflow: hidden;
	text-indent: -999px;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	border: none;
	background: none;
	-webkit-transition: opacity 300ms;
	transition: opacity 300ms;
	z-index: 10;
}
.jointwork_slide .slick-next {
	right: 22px;
	left: auto;
}
.jointwork_slide .slick-prev:hover,
.jointwork_slide .slick-next:hover {
	opacity: .6;
}
.jointwork_slide .slick-prev::before,
.jointwork_slide .slick-next::before {
	content: "";
	display: block;
	position: absolute;
	left: 12px;
	top: 50%;
	margin-top: -29px;
	width: 58px;
	height: 58px;
	border-bottom: 1px solid #c6cfc8;
	border-right: 1px solid #c6cfc8;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}
.jointwork_slide .slick-next::before {
	border-bottom: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	left: -29px;
}
.omotenashi_inner > p {
	margin-bottom: 108px;
}
.omotenashi_item {
	max-width: 1020px;
	margin: 0 auto;
	padding: 73px 0 48px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}
.omotenashi_item:nth-of-type(2n) .omotenashi_text {
	order: 1;
}
.omotenashi_item:nth-of-type(2n) figure {
	order: 0;
}
.omotenashi_item:nth-of-type(2n+1) .omotenashi_text {
	margin-left: 9.607%;
}
.omotenashi_item:nth-of-type(2n+1) figure {
	margin: 0 0 0 auto;
}
.omotenashi_text {
	width: 23.529%;
	margin-left: 6.96%;
}
.omotenashi_text p {
	font-size: 1.3rem;
	line-height: 2.2;
}
.omotenashi_text h2 {
	font-size: 2.1rem;
	margin: 0 0 24px 5px;
}
.omotenashi_text h2::after {
	content: "";
	display: block;
	width: 145px;
	height: 2px;
	background: #009b6b;
	margin: 20px 0 0;
}
.omotenashi_item figure {
	width: 58.823%;
}
.omotenashi_item::before {
	content: "";
	display: block;
	width: 400px;
	height: 400px;
	position: absolute;
	left: 310px;
	top: 0;
	background: #e4ebe9;
}
.omotenashi_item::after {
	content: "";
	display: block;
	height: 2px;
	position: absolute;
	left: 0;
	right: 0;
	top: 22px;
	background: #b2b2b2;
}
.omotenashi_photo {
	margin: 75px 0 0;
}
.omotenashi_photo h2 {
	text-align: center;
	font-size: 1.7rem;
	margin-bottom: 19px;
}
.omotenashi_photo_wraper {
	background: #e4ebe9;
	margin: 0 -30px 49px;
	padding: 75px 85px;
}
.omotenashi_photo_slide {
	max-width: 1110px;
	margin: 0 auto;
}
.omotenashi_photo_slide .slick-list {
	overflow: hidden;
}
.omotenashi_photo_slide figure {
	float: left;
	margin: 0 35px;
}
.omotenashi_photo_slide figure a {
	display: block;
	-webkit-transition: opacity 300ms;
	transition: opacity 300ms;
}
.omotenashi_photo_slide figure a:hover {
	opacity: .6;
}
.omotenashi_photo_slide figure img {
	display: block;
}
.omotenashi_photo_slide .slick-prev,
.omotenashi_photo_slide .slick-next {
	width: 56px;
	height: 110px;
	position: absolute;
	left: -58px;
	top: 50%;
	margin-top: -56px;
	overflow: hidden;
	text-indent: -999px;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	border: none;
	background: none;
	-webkit-transition: opacity 300ms;
	transition: opacity 300ms;
	z-index: 10;
}
.omotenashi_photo_slide .slick-next {
	right: -58px;
	left: auto;
}
.omotenashi_photo_slide .slick-prev:hover,
.omotenashi_photo_slide .slick-next:hover {
	opacity: .6;
}
.omotenashi_photo_slide .slick-prev::before,
.omotenashi_photo_slide .slick-next::before {
	content: "";
	display: block;
	position: absolute;
	left: 15px;
	top: 50%;
	margin-top: -37px;
	width: 74px;
	height: 74px;
	border-bottom: 3px solid #c6cfc8;
	border-right: 3px solid #c6cfc8;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}
.omotenashi_photo_slide .slick-next::before {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	left: -37px;
}
@media only screen and (max-width: 1023px) {
	.jointwork_block,
	.omotenashi_block {
		padding: 0 33px;
    padding-bottom: 117px
	}
	.jointwork_inner,
	.omotenashi_inner {
		margin: 35px 0 0;
	}
	.jointwork_inner::before {
		width: 172px;
		margin-left: -86px;
		bottom: -39px;
	}
	.jointwork_main,
	.omotenashi_main {
		margin: 0 auto 59px;
	}
	.jointwork_main .slick-prev,
	.jointwork_main .slick-next,
	.omotenashi_main .slick-prev,
	.omotenashi_main .slick-next {
		width: 9px;
		height: 18px;
		left: 7px;
		margin-top: -9px;
	}
	.jointwork_main .slick-next,
	.omotenashi_main .slick-next {
		right: 7px;
		left: auto;
	}
	.jointwork_main .slick-prev:hover,
	.jointwork_main .slick-next:hover,
	.omotenashi_main .slick-prev:hover,
	.omotenashi_main .slick-next:hover {
		opacity: 1;
	}
	.jointwork_main .slick-prev::before,
	.jointwork_main .slick-next::before,
	.omotenashi_main .slick-prev::before,
	.omotenashi_main .slick-next::before {
		left: 3px;
		margin-top: -5px;
		width: 10px;
		height: 10px;
	}
	.jointwork_main .slick-next::before,
	.omotenashi_main .slick-next::before {
		left: -5px;
	}
	.jointwork_inner > p,
	.omotenashi_inner > p {
		font-size: .89rem;
		line-height: 2.2;
		margin-bottom: 66px;
	}
	.jointwork_item {
		max-width: 768px;
		padding: 33px 0 50px;
	}
	.jointwork_text h2 {
		font-size: 1.439rem;
		top: -3px;
		margin-bottom: 13px;
	}
	.jointwork_text h2::after {
		width: 100px;
		margin: 13px 0 0;
	}
	.jointwork_text p {
		font-size: .89rem;
	}
	.jointwork_text .jointwork_more {
		font-size: .822rem;
		margin-top: 36px;
	}
	.jointwork_text .jointwork_more a:hover {
		opacity: 1;
	}
	.jointwork_more a::after {
		margin-left: 5px;
	}
	.jointwork_slide .slick-prev,
	.jointwork_slide .slick-next {
		width: 30px;
		height: 60px;
		left: 4px;
		top: 132px;
	}
	.jointwork_slide .slick-next {
		right: 17px;
		left: auto;
	}
	.jointwork_slide .slick-prev:hover,
	.jointwork_slide .slick-next:hover {
		opacity: 1;
	}
	.jointwork_slide .slick-prev::before,
	.jointwork_slide .slick-next::before {
		left: 10px;
		margin-top: -21px;
		width: 42px;
		height: 42px;
	}
	.jointwork_slide .slick-next::before {
		left: -22px;
	}
	.omotenashi_inner > p {
		margin-bottom: 74px;
	}
	.omotenashi_item {
		max-width: 768px;
		padding: 50px 0 30px;
	}
	.omotenashi_text p {
		font-size: .89rem;
	}
	.omotenashi_text h2 {
		font-size: 1.439rem;
		margin: 2px 0 16px 3px;
	}
	.omotenashi_text h2::after {
		width: 100px;
		margin: 13px 0 0;
	}
	.omotenashi_item::before {
		width: 274px;
		height: 274px;
		left: 30.3%;
	}
	.omotenashi_item::after {
		top: 15px;
	}
	.omotenashi_photo {
		margin: 52px 0 0;
	}
	.omotenashi_photo h2 {
		font-size: 1.165rem;
		margin-bottom: 13px;
	}
	.omotenashi_photo_wraper {
		margin: 0 -33px 49px;
		padding: 45px 7.122%;
	}
	.omotenashi_photo_slide figure {
		width: 23.4375vw;
		margin: 0 2.604vw;
	}
	.omotenashi_photo_slide figure a:hover {
		opacity: 1;
	}
	.omotenashi_photo_slide .slick-prev,
	.omotenashi_photo_slide .slick-next {
		width: 37px;
		height: 70px;
		left: -37px;
		margin-top: -35px;
	}
	.omotenashi_photo_slide .slick-next {
		right: -35px;
		left: auto;
	}
	.omotenashi_photo_slide .slick-prev:hover,
	.omotenashi_photo_slide .slick-next:hover {
		opacity: 1;
	}
	.omotenashi_photo_slide .slick-prev::before,
	.omotenashi_photo_slide .slick-next::before {
		left: 10px;
		margin-top: -24px;
		width: 44px;
		height: 44px;
	}
	.omotenashi_photo_slide .slick-next::before {
		left: -21px;
	}
}
@media only screen and (max-width: 767px) {
	.jointwork_block,
	.omotenashi_block {
		padding: 0;
    padding-bottom: 117px;
	}
	.jointwork_inner,
	.omotenashi_inner {
		margin: 67px 0 0;
	}
	.jointwork_inner::before {
		bottom: -138px;
	}
	.jointwork_main,
	.omotenashi_main {
		margin: 0 auto 40px;
	}
	.jointwork_inner > p,
	.omotenashi_inner > p {
		font-size: 1.3rem;
		margin-bottom: 58px;
	}
	.jointwork_item {
		padding: 65px 0 75px;
		margin: 0 6.933%;
		display: block;
	}
	.jointwork_item + .jointwork_item {
		border-top: none;
		padding-top: 22px;
	}
	.jointwork_text {
		width: 100%;
		margin-left: 0;
		text-align: center;
	}
	.jointwork_text h2 {
		font-size: 2.1rem;
		top: -5px;
		margin-bottom: 19px;
	}
	.jointwork_text h2::after {
		width: 145px;
		margin: 19px auto 0;
	}
	.jointwork_text p {
		width: 73.75%;
		margin: 0 auto;
		font-size: 1.3rem;
    text-align: left;     
	}
	.jointwork_text .jointwork_more {
		font-size: 1.2rem;
		margin-top: 20px;
	}
	.jointwork_more a::after {
		margin-left: 10px;
	}
	.jointwork_slide {
		width: auto;
		margin: 26px -8.043% 0;
		position: relative;
	}
	.jointwork_slide .slick-prev,
	.jointwork_slide .slick-next {
		left: 10px;
		top: 50%;
		margin-top: -30px;
	}
	.jointwork_slide .slick-next {
		right: 10px;
		left: auto;
	}
	.jointwork_slide .slick-prev::before {
		border-bottom: 1px solid #fff;
		border-right: 1px solid #fff;
	}
	.omotenashi_inner > p {
		margin-bottom: 60px;
	}
	.omotenashi_main {
		margin-bottom: 33px;
	}
	.omotenashi_item:nth-of-type(2n+1) .omotenashi_text {
		margin-left: auto;
	}
	.omotenashi_item:nth-of-type(2n+1) figure {
		margin: 37px 0 0;
	}
	.omotenashi_item {
		padding: 65px 0 26px;
		display: block;
	}
	.omotenashi_text {
		width: 64%;
		margin: 0 auto;
	}
	.omotenashi_text p {
		font-size: 1.3rem;
	}
	.omotenashi_text h2 {
		font-size: 2.1rem;
		text-align: center;
		margin: 0 0 24px 5px;
	}
	.omotenashi_text h2::after {
		width: 145px;
		margin: 19px auto 0;
	}
	.omotenashi_item figure {
		width: 100%;
		margin-top: 37px;
	}
	.omotenashi_item::before {
		width: 53.333vw;
		height: 53.333vw;
		top: 64.533vw;
		left: 22.933vw;
	}
	.omotenashi_item::after {
		left: 7.2%;
		right: 7.2%;
		top: 0;
	}
	.omotenashi_item + .omotenashi_item::after {
		display: none;
	}
	.omotenashi_photo {
		background: #e4ebe9;
		margin: 88px 0 80px;
		padding: 32px 0 35px;
	}
	.omotenashi_photo h2 {
		font-size: 1.7rem;
		margin-bottom: 23px;
	}
	.omotenashi_photo_wraper {
		margin: 0;
		padding: 0;
	}
	.omotenashi_photo_slide figure {
		width: 100%;
		margin: 0;
	}
	.omotenashi_photo_slide .slick-prev,
	.omotenashi_photo_slide .slick-next {
		width: 35px;
		height: 68px;
		left: 10px;
		margin-top: -35px;
	}
	.omotenashi_photo_slide .slick-next {
		right: 10px;
		left: auto;
	}
	.omotenashi_photo_slide .slick-prev::before,
	.omotenashi_photo_slide .slick-next::before {
		left: 10px;
		margin-top: -20px;
		width: 40px;
		height: 40px;
		border-bottom: 1px solid #fff;
		border-right: 1px solid #fff;
	}
	.omotenashi_photo_slide .slick-next::before {
		left: -16px;
	}
}

/* company_block
----------------------------------------*/
.company_block {
	padding: 0 30px;
}
.company_inner {
	max-width: 1020px;
	margin: 0 auto 280px;
}
.company_block dl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	font-size: 1.4rem;
	line-height: 2.1;
	margin: 109px 0 0;
}
.company_block dt {
	width: 41.676%;
	padding: 0 3.441% 8.5px 0;
	margin-bottom: 13px;
	text-align: right;
	border-bottom: solid 1px #c6cfc8;
}
.company_service {
	margin-right: -.05em;
	letter-spacing: .05em;
}
.company_block dd {
	width: 58.324%;
	padding-bottom: 8.5px;
	margin-bottom: 13px;
	border-bottom: solid 1px #c6cfc8;
}
.company_partner {
	max-width: 1020px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
}
.company_partner h2 {
	width: 100%;
	text-align: center;
	font-weight: normal;
	margin: 152px 0 87px;
	font-size: 1.2rem;
}
.company_partner h2::before {
	content: "";
	width: 350px;
	height: 13px;
	border: solid 1px #b1bdb4;
	border-bottom: none;
	margin: 0 auto -1px;
	display: block;
}
.company_item {
	width: 31.372%;
	margin: 0 0 0 2.942%;
}
.company_item:nth-of-type(3n+2) {
	margin-left: 0;
}
.company_item:nth-of-type(1) {
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	border-bottom: solid 1px #c6cfc8;
	padding-bottom: 73px;
	margin: 0 0 125px;
}
.company_item:nth-of-type(1) figure {
	width: 46.078%;
	margin: 0 0 0 auto;
}
.company_item > p {
	text-align: center;
	font-size: 1.3rem;
	margin-top: 10px;
	line-height: 1.9;
}
.company_text {
	width: 45.098%;
}
.company_ttl {
	padding-left: 18px;
	margin: 0 0 13px 3px;
}
.company_text .company_ttl {
	margin-bottom: 49px;
}
.company_ttl::before {
	content: "";
	display: block;
	width: 2px;
	position: absolute;
	top: 2px;
	bottom: 2px;
	left: 0;
	width: 2px;
	background: #2dab7c;
}
.company_ttl h3 {
	font-size: 1.3rem;
}
.company_ttl p {
	font-size: 1.1rem;
	font-weight: bold;
	margin-top: 7px;
}
.company_ttl p a {
	text-decoration: underline;
}
.company_ttl p a:hover {
	text-decoration: none;
}
.company_text h4 {
	font-size: 1.829rem;
	margin: 0 0 18px 20px;
	line-height: 1.9;
}
.company_text > p {
	font-size: 1.3rem;
	margin-left: 20px;
	line-height: 2.2;
}
@media only screen and (max-width: 1023px) {
	.company_block {
		padding: 0 33px;
	}
	.company_inner {
		max-width: 768px;
		margin: 0 auto 190px;
	}
	.company_block dl {
		font-size: .959rem;
		margin: 73px 0 0;
	}
	.company_block dt {
		padding: 0 3.441% 6px 0;
		margin-bottom: 8px;
	}
	.company_block dd {
		padding-bottom: 6px;
		margin-bottom: 8px;
	}
	.company_partner {
		max-width: 768px;
	}
	.company_partner h2 {
		margin: 105px 0 60px;
		font-size: .855rem;
	}
	.company_partner h2::before {
		width: 240px;
		height: 9px;
	}
	.company_item:nth-of-type(1) {
		padding-bottom: 45px;
		margin: 0 0 84px;
	}
	.company_item > p {
		font-size: .89rem;
		margin-top: 6px;
	}
	.company_ttl {
		padding-left: 12px;
		margin: 0 0 10px 3px;
	}
	.company_text .company_ttl {
		margin-bottom: 34px;
	}
	.company_ttl::before {
		top: 1px;
		bottom: 1px;
	}
	.company_ttl h3 {
		font-size: .89rem;
	}
	.company_ttl p {
		font-size: .753rem;
		margin-top: 5px;
	}
	.company_text h4 {
		font-size: 1.253rem;
		margin: 0 0 11px 16px;
	}
	.company_text > p {
		font-size: .89rem;
		margin-left: 16px;
	}
}
@media only screen and (max-width: 767px) {
	.company_block {
		padding: 0;
	}
	.company_inner {
		margin: 0 auto 220px;
	}
	.company_block dl {
		width: 85.333%;
		font-size: 1.4rem;
		display: block;
		margin: 82px auto 0;
	}
	.company_block dt {
		width: 100%;
		text-align: center;
		border-bottom: none;
		padding: 0;
		margin-bottom: 3px;
	}
	.company_block dd {
		width: 100%;
		text-align: center;
		padding-bottom: 18px;
		margin-bottom: 19px;
		line-height: 2.5;
	}
	.company_block dd:last-child {
		border-bottom: none;
	}
	.company_partner {
		display: block;
	}
	.company_partner h2 {
		width: 100%;
		margin: 94px 0 52px;
		font-size: 1.2rem;
	}
	.company_partner h2::before {
		width: 93.333%;
		height: 13px;
	}
	.company_item {
		width: 85.333%;
		margin: 0 auto 73px;
	}
	.company_item figure img {
		width: 100%;
	}
	.company_item:nth-of-type(3n+2) {
		margin-left: auto;
	}
	.company_item:nth-of-type(1) {
		width: 85.333%;
		display: block;
		padding-bottom: 58px;
		margin: 0 auto 53px;
	}
	.company_item:nth-of-type(1) figure {
		width: 100%;
		margin: 43px 0 0;
	}
	.company_item > p {
		font-size: 1.3rem;
		margin-top: 10px;
	}
	.company_text {
		width: 100%;
	}
	.company_ttl {
		padding-left: 18px;
		margin: 0 0 14px;
	}
	.company_text .company_ttl {
		margin-bottom: 31px;
	}
	.company_ttl::before {
		top: 2px;
		bottom: 0;
	}
	.company_ttl h3 {
		font-size: 1.3rem;
	}
	.company_ttl p {
		font-size: 1.1rem;
		margin-top: 7px;
	}
	.company_text h4 {
		font-size: 1.829rem;
		margin: 0 0 16px;
	}
	.company_text > p {
		font-size: 1.3rem;
		margin-left: 0;
	}
}

/* privacypolicy_block
----------------------------------------*/
.privacypolicy_block {
	padding: 0 30px;
}
.privacypolicy_inner {
	max-width: 1020px;
	padding-bottom: 52px;
	margin: 165px auto 225px;
	border-bottom: solid 1px #c6cfc8;
}
.privacypolicy_text {
	max-width: 699px;
	margin: 0 auto 78px;
	font-size: 1.3rem;
	line-height: 2.2;
}
.privacypolicy_block h2 {
	text-align: center;
	font-size: 1.8rem;
	border-bottom: solid 1px #c6cfc8;
	padding-bottom: 12px;
	margin-bottom: 14px;
}
.privacypolicy_text ul li {
	text-indent: -1.4em;
	margin-left: 1.4em;
}
.privacypolicy_text ul li::before {
	content: "■ ";
}
.privacypolicy_text p + p,
.privacypolicy_text p + ul,
.privacypolicy_text ul + p,
.privacypolicy_text ul + ul {
	margin-top: 28px;
}
.privacypolicy_text a {
	opacity: .7;
	text-decoration: underline;
}
.privacypolicy_text a:hover {
	text-decoration: none;
}
@media only screen and (max-width: 1023px) {
	.privacypolicy_block {
		padding: 0 33px;
	}
	.privacypolicy_inner {
		max-width: 768px;
		padding-bottom: 35px;
		margin: 112px auto 153px;
	}
	.privacypolicy_text {
		max-width: 480px;
		margin: 0 auto 55px;
		font-size: .89rem;
	}
	.privacypolicy_block h2 {
		font-size: 1.233rem;
		padding-bottom: 8px;
		margin-bottom: 10px;
	}
	.privacypolicy_text p + p,
	.privacypolicy_text p + ul,
	.privacypolicy_text ul + p,
	.privacypolicy_text ul + ul {
		margin-top: 20px;
	}
	.privacypolicy_text a:hover {
		text-decoration: underline;
	}
}
@media only screen and (max-width: 767px) {
	.privacypolicy_block {
		width: 85.333%;
		padding: 0;
		margin: 0 auto;
	}
	.privacypolicy_inner {
		padding-bottom: 35px;
		margin: 114px auto 152px;
		border-bottom: none;
	}
	.privacypolicy_text {
		font-size: 1.3rem;
		line-height: 2.4;
		margin: 0 auto 90px;
	}
	.privacypolicy_block h2 {
		font-size: 1.8rem;
		line-height: 1.65;
		padding-bottom: 13px;
		margin: 0 -3px 19px;
	}
	.privacypolicy_block h2 + .privacypolicy_text {
		line-height: 2.2;
		margin: 0 auto 67px;
	}
}

/* colobox
----------------------------------------*/
#colorbox,
#cboxOverlay,
#cboxWrapper {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 19999;
	-webkit-transform: translate3d(0,0,0);
}
#cboxWrapper {
	max-width: none;
}
#cboxOverlay {
	position: fixed;
	width: 100%;
	height: 100%;
}
#cboxMiddleLeft,
#cboxBottomLeft {
	clear:left;
}
#cboxLoadedContent {
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}
#cboxTitle{
	margin: 0;
}
#cboxLoadingOverlay,
#cboxLoadingGraphic {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#cboxPrevious,
#cboxNext,
#cboxClose,
#cboxSlideshow {
	cursor: pointer;
}
.cboxPhoto {
	float: left;
	margin: auto;
	border: 0;
	display: block;
	max-width: none;
	-ms-interpolation-mode: bicubic;
}
.cboxIframe {
	width: 100%;
	height: 100%;
	display: block;
	border: 0;
	padding: 0;
	margin: 0;
}
#colorbox,
#cboxContent,
#cboxLoadedContent {
	box-sizing: content-box;
	-moz-box-sizing: content-box;
	-webkit-box-sizing: content-box;
}
#cboxLoadedContent {
	overflow: visible !important;
	text-align: center;
	display: inline-block;
}
#cboxOverlay {
	background: #000;
	opacity: .96;
	filter: alpha(opacity = 96);
}
#colorbox,
#cboxPrevious:active,
#cboxNext:active,
#cboxSlideshow:active,
#cboxClose:active {
	outline: 0;
}
#cboxContent {
	overflow: visible;
	margin: 0;
}
#cboxContent iframe {
	width: 100% !important;
	height: 100%;
}
#cboxError {
	padding: 50px;
	border: 1px solid #ccc;
}
#cboxLoadingGraphic {
	/*background: url(../img/common/icon_loading.gif) no-repeat center center;*/
}
#cboxTitle {
	position: absolute;
	top: -22px;
	left: 0;
	color: #000;
}
#cboxCurrent {
	position: absolute;
	top: -22px;
	right: 205px;
	text-indent: -9999px;
}
#cboxPrevious,
#cboxNext,
#cboxSlideshow,
#cboxClose {
	border: 0;
	padding: 0;
	margin: 0;
	overflow: visible;
	text-indent: -9999px;
	width: 20px;
	height: 20px;
	position: absolute;
	top: -20px;
}
#cboxPrevious:focus,
#cboxNext:focus,
#cboxSlideshow:focus,
#cboxClose:focus {
	outline: none;
}
#cboxPrevious,
#cboxNext {
	-webkit-appearance: none;
	appearance: none;
	background: none;
	top: 50%;
	z-index: 1100;
	width: 40px;
	height: 40px;
	margin-top: -20px;
}
#cboxPrevious {
	left: 0;
}
#cboxNext {
	right: 0;
}
#cboxPrevious::before,
#cboxNext::after {
	content: "";
	position: absolute;
	right: 1px;
	top: 50%;
	margin-top: -12px;
	width: 22px;
	height: 22px;
	border-bottom: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}
#cboxNext::after {
	right: 15px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
#cboxClose {
	-webkit-appearance: none;
	appearance: none;
	background: none;
	top: -50px;
	right: 0;
	z-index: 1100;
	width: 40px;
	height: 40px;
}
#cboxClose::before,
#cboxClose::after {
	background: #fff;
	content: "";
	display: block;
	left: -4px;
	top: 20px;
	height: 2px;
	width: 47px;
	position: absolute;
}
#cboxClose::before {
	transform: rotate(-135deg);
}
#cboxClose::after {
	transform: rotate(135deg);
}
@media only screen and (max-width: 767px) {
	#cboxClose {
		background: none;
		top: -35px;
		right: 0;
		width: 30px;
		height: 30px;
	}
	#cboxClose::before,
	#cboxClose::after {
		left: 0;
		top: 15px;
		width: 30px;
	}
	#cboxPrevious,
	#cboxNext {
		width: 30px;
		height: 30px;
		margin-top: -15px;
	}
	#cboxPrevious {
		left: -30px;
	}
	#cboxNext {
		right: -30px;
	}
	#cboxPrevious::before,
	#cboxNext::after {
		right: -2px;
		top: 50%;
		margin-top: -9px;
		width: 16px;
		height: 16px;
	}
	#cboxNext::after {
		right: 15px;
	}
}

.slider_mov_wrap {
	display: flex;
	align-items: center;
	justify-content: center;
}

.slider_mov {
	aspect-ratio: 3 / 2;
	object-fit: cover;
	width: 100%;
}

.is_pc {
  display: block;
}

.is_sp {
  display: none;
}

@media screen and (max-width:768px) {
  .is_pc {
    display: none;
  }
  
  .is_sp {
    display: block;
  }
}
