@charset "UTF-8";

/* ttl_page
----------------------------------------*/
.ttl_page {
	height: 260px;
	padding-bottom: 3px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: url(../img/tsunagi/bg_ttl_page.jpg) no-repeat center center / cover;
}
.ttl_page.tsunagi_detail {
	background-image: url(../img/tsunagi/detail/bg_ttl_page.jpg);
}
.ttl_page.tsunagi_flow {
	background-image: url(../img/tsunagi/flow/bg_ttl_page.jpg);
}
.ttl_page.tsunagi_map {
	background-image: url(../img/tsunagi/map/bg_ttl_page.jpg);
}
.ttl_page.tsunagi_qa {
	background-image: url(../img/tsunagi/qa/bg_ttl_page.jpg);
}
.ttl_page.tsunagi_network {
	background-image: url(../img/tsunagi/network/bg_ttl_page.jpg);
}
.ttl_page.list {
	background-image: url(../img/list/bg_ttl_page.jpg);
}
.ttl_page.solution {
	background-image: url(../img/solution/bg_ttl_page.jpg);
}
.ttl_page.solution_tsunagi {
	background-image: url(../img/solution/tsunagi/bg_ttl_page.jpg);
}
.ttl_page.solution_mimamori {
	background-image: url(../img/solution/mimamori/bg_ttl_page.jpg);
}
.ttl_page.solution_percoll {
	background-image: url(../img/solution/percoll/bg_ttl_page.jpg);
}
.ttl_page.solution_other {
	background-image: url(../img/solution/other/bg_ttl_page.jpg);
}
.ttl_page.solution_pc {
	background-image: url(../img/solution/pc/bg_ttl_page.jpg);
}
.ttl_page.solution_robot {
	background-image: url(../img/solution/robot/bg_ttl_page.jpg);
}
.ttl_page.case {
	background-image: url(../img/case/bg_ttl_page.jpg);
}
.ttl_page.case_spot {
	background-image: url(../img/case/spot/bg_ttl_page.jpg);
}
.ttl_page.case_tsunagi {
	background-image: url(../img/case/tsunagi/bg_ttl_page.jpg);
}
.ttl_page.company {
	background-image: url(../img/company/bg_ttl_page.jpg);
}
.ttl_page.guide {
	background-image: url(../img/guide/bg_ttl_page.jpg);
}
.ttl_page.recruit {
	background-image: url(../img/recruit/bg_ttl_page.jpg);
}
.ttl_page.recruit_message {
	background-image: url(../img/recruit/message/bg_ttl_page.jpg);
}
.ttl_page.recruit_voice {
	background-image: url(../img/recruit/voice/bg_ttl_page.jpg);
}
.ttl_page.recruit_recruitment {
	background-image: url(../img/recruit/recruitment/bg_ttl_page.jpg);
}
.ttl_page.recruit_benefits {
	background-image: url(../img/recruit/benefits/bg_ttl_page.jpg);
}
.ttl_page.info {
	background-image: url(../img/info/bg_ttl_page.jpg);
}
.ttl_page.blog {
	background-image: url(../img/blog/bg_ttl_page.jpg);
}
.ttl_page.news {
	background-image: url(../img/news/bg_ttl_page.jpg);
}
.ttl_page.quality {
	background-image: url(../img/quality/bg_ttl_page.jpg);
}
.ttl_page.policy {
	background: none;
}
.ttl_page.policy h1,
.ttl_page.blog h1 {
	color: #333;
}
.ttl_page.company::before {
	content: "";
	display: block;
	width: 397px;
	height: 92px;
	background: url(../img/company/logo_01.png) no-repeat;
	position: absolute;
	top: 83px;
	left: 50%;
	margin-left: -485px;
}
.ttl_page.company::after {
	content: "";
	display: block;
	width: 160px;
	height: 139px;
	background: url(../img/company/logo_02.png) no-repeat;
	position: absolute;
	top: 71px;
	left: 50%;
	margin-left: 155px;
}
.ttl_page.company_message {
	background-image: url(../img/company/message/bg_ttl_page.jpg);
}
.ttl_page.company_vision {
	background-image: url(../img/company/vision/bg_ttl_page.jpg);
}
.ttl_page.company_outline {
	background-image: url(../img/company/outline/bg_ttl_page.jpg);
}
.ttl_page.company_history {
	background-image: url(../img/company/history/bg_ttl_page.jpg);
}
.ttl_page.company_sdgs {
	background-image: url(../img/company/sdgs/bg_ttl_page.jpg);
}
.ttl_page.company_map {
	background-image: url(../img/company/map/bg_ttl_page.jpg);
}
.ttl_page.contact {
	background-image: url(../img/contact/bg_ttl_page.jpg);
}
.ttl_page.contact2 {
	background-image: url(../img/contact2/bg_ttl_page.jpg);
}
.ttl_page h1 {
	text-align: center;
	color: #fff;
	letter-spacing: .12em;
	font-size: 3.6rem;
}
@media only screen and (max-width: 768px) {
	.ttl_page {
		height: 120px;
		padding-bottom: 0;
		background-size: auto 100% !important;
	}
	.ttl_page h1 {
		font-size: 1.8rem;
	}
	.ttl_page.tsunagi_detail h1 {
		letter-spacing: .05em;
	}
	.ttl_page.company::before {
		width: 31.25vw;
		height: 7.1875vw;
		max-width: 150px;
		max-height: 35px;
		background-size: 100% auto;
		top: 50px;
		left: 5%;
		margin-left: 0;
	}
	.ttl_page.company::after {
		width: 60px;
		height: 60px;
		background-size: 100% auto;
		top: 28px;
		left: auto;
		right: 5%;
		margin-left: 0;
	}
	.ttl_page.blog {
		background-position: right 45% top;
	}
	.ttl_page.info {
		background-position: right 55% top;
	}
}

/* title
----------------------------------------*/
@media only screen and (max-width: 768px) {
}

/* lnav
----------------------------------------*/
.lnav {
	background: #009bff;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
}
.fixed .lnav {
	position: fixed;
	top: 50px;
}
.lnav ul {
	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;
	width: 1000px;
	padding: 11px 20px 13px;
	margin: 0 auto;
	height: 45px;
}
.lnav ul li {
	margin-right: 68px;
}
.lnav ul a {
	color: #fff;
	letter-spacing: .04em;
	display: block;
}
.lnav ul li.current a {
	font-weight: bold;
}
.lnav ul li.current a::before,
.lnav ul li a:hover::before {
	content: "";
	height: 1px;
	display: block;
	background: #80cdff;
	position: absolute;
	bottom: 1px;
	left: 0;
	right: 0;
}
.lnav ul li.current a::after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 9px 8px 0;
	border-color: #009bff transparent transparent;
	position: absolute;
	left: 50%;
	bottom: -22px;
	margin-left: -9px;
}
@media only screen and (max-width: 768px) {
	.lnav {
		display: none;
	}
}

/* menu_block
----------------------------------------*/
.menu_block {
	padding: 40px 20px 60px;
}
.menu_block h2 {
	text-align: center;
	font-size: 2rem;
	line-height: 1.8;
	letter-spacing: .08em;
	margin-bottom: 56px;
}
.menu_list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 1000px;
	margin: 0 auto;
}
.menu_list li {
	width: 50%;
	padding-left: 79px;
	margin-bottom: 60px;
}
.menu_list li h3 {
	text-align: left;
	color: #009bff;
	font-size: 2.6rem;
	line-height: 1.2;
	margin-bottom: 17px;
}
.menu_list li h3 span {
	display: inline-block;
	vertical-align: top;
	text-align: center;
	margin: 0 -9px;
}
.menu_list li h3 + P {
	margin-top: 21px;
}
.menu_list li h3 span:last-child {
	display: inline-block;
	vertical-align: 0;
	text-align: left;
	margin: 0;
	font-size: 2rem;
}
.menu_list li figure {
	margin-bottom: 3px;
}
.ttl_page.solution ~ .contents .menu_list li figure,
.ttl_page.company ~ .contents .menu_list li figure,
.ttl_page.recruit ~ .contents .menu_list li figure {
	margin-bottom: 11px;
}
.ttl_page.solution ~ .contents .menu_list li figure + p,
.ttl_page.company ~ .contents .menu_list li figure + p,
.ttl_page.recruit ~ .contents .menu_list li figure + p,
.menu_list li:nth-child(2) figure + p {
	margin-bottom: 20px;
	width: 352px;
}
.ttl_page.recruit ~ .contents .menu_list li figure + p {
	letter-spacing: .05em;
}
.menu_list li p {
	color: #333;
	font-size: 1.6rem;
	letter-spacing: .1em;
}
.menu_btn {
	margin: 15px 0 0;
}
.menu_list li a {
	display: block;
	-webkit-transition: opacity 300ms;
	transition: opacity 300ms;
}
.menu_list li a:hover {
	opacity: .6;
}
.menu_btn span {
	width: 340px;
	padding: 19px 50px 18px 43px;
	display: block;
	border: solid 1px #000;
}
.menu_btn span img {
	width: 41px;
	display: block;
}
.menu_btn span::after {
	content: "";
	display: block;
	width: 22px;
	height: 10px;
	background: url(../img/common/btn_more_arrow_02.png) no-repeat left top / 100%;
	position: absolute;
	top: 50%;
	right: 23px;
	margin-top: -5px;
}
@media only screen and (min-width: 768px) {
	.menu_list li a:hover span::after {
		animation-fill-mode: forwards;
		animation-duration: 600ms;
		animation-name: movex01;
	}
}
@media only screen and (max-width: 768px) {
	.menu_block {
		padding: 30px 5%;
	}
	.menu_block h2 {
		text-align: left;
		font-size: 1.6rem;
		margin-bottom: 20px;
	}
	.menu_list {
		display: block;
		width: auto;
	}
	.menu_list li {
		width: auto;
		padding-left: 0;
		margin-bottom: 50px;
	}
	.menu_list li h3 {
		font-size: 1.8rem;
	}
	.menu_list li h3 span {
		margin: 0 -3px;
	}
	.menu_list li h3 span:last-child {
		font-size: 1.6rem;
	}
	.menu_list li figure img {
		display: block;
		margin: 0 auto;
	}
	.ttl_page.solution ~ .contents .menu_list li figure + p,
	.ttl_page.company ~ .contents .menu_list li figure + p,
	.ttl_page.recruit ~ .contents .menu_list li figure + p,
	.menu_list li:nth-child(2) figure + p {
		width: auto;
	}
	.menu_list li p {
		font-size: 1.5rem;
	}
	.menu_btn a:hover {
		opacity: 1;
	}
	.menu_btn span {
		width: 100%;
	}
}

/* strength_block
----------------------------------------*/
.strength_block {
	background: #ddf0ff;
	padding: 30px;
}
.strength_inner {
	background: #fff;
	width: 960px;
	margin: 0 auto;
	padding: 41px 20px 31px;
	box-shadow: 0 2px 6px rgba(0,0,0,.35);
}
.strength_inner::after {
	content: "";
	display: block;
	width: 337px;
	height: 264px;
	background: url(../img/tsunagi/img_strength.png) no-repeat;
	position: absolute;
	bottom: -190px;
	right: -168px;
}
.strength_ttl {
	text-align: center;
	font-size: 2.4rem;
	font-weight: bold;
	letter-spacing: .08em;
	margin-bottom: 37px;
}
.strength_ttl h2 {
	color: #0a4f86;
	margin-top: 9px;
	font-size: 5rem;
	letter-spacing: .07em;
}
.strength_ttl h2 > span {
	line-height: 1.1;
	display: inline-block;
	background: -moz-linear-gradient(top, rgba(255,255,255,0) 83%, rgba(190,179,0,1) 83%, rgba(190,179,0,1) 100%);
	background: -webkit-linear-gradient(top, rgba(255,255,255,0) 83%,rgba(190,179,0,1) 83%,rgba(190,179,0,1) 100%);
	background: linear-gradient(to bottom, rgba(255,255,255,0) 83%,rgba(190,179,0,1) 83%,rgba(190,179,0,1) 100%);
}
.strength_ttl h2 > span i {
	font-style: normal;
	transform:skewX(-10deg);
	display: inline-block;
}
.strength_ttl h2 > span span {
	font-size: 4.5rem;
}
.strength_block ol {
	margin: 0 24px;
}
.strength_block ol li {
	font-size: 2.4rem;
	font-weight: bold;
	min-height: 63px;
	padding: 11px 0 0 85px;
	margin-bottom: 20px;
	letter-spacing: .09em;
}
.strength_block ol li:nth-child(3) {
	letter-spacing: .02em;
}
.strength_block ol li strong {
	color: #0c9eff;
	font-size: 3rem;
}
.strength_block ol li span {
	font-size: 1.4rem;
	letter-spacing: .06em;
}
.strength_block ol li::before {
	content: "";
	width: 63px;
	height: 63px;
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	background: url(../img/tsunagi/icon_strength_01.png) no-repeat left top / 100%;
}
.strength_block ol li:nth-child(2)::before {
	background: url(../img/tsunagi/icon_strength_02.png) no-repeat left top / 100%;
}
.strength_block ol li:nth-child(3)::before {
	background: url(../img/tsunagi/icon_strength_03.png) no-repeat left top / 100%;
}
.strength_block ol li:nth-child(4)::before {
	background: url(../img/tsunagi/icon_strength_04.png) no-repeat left top / 100%;
}
.strength_block ol li:nth-child(5)::before {
	background: url(../img/tsunagi/icon_strength_05.png) no-repeat left top / 100%;
}
.strength_block ol li:nth-child(6)::before {
	background: url(../img/tsunagi/icon_strength_06.png) no-repeat left top / 100%;
}
.strength_block ol li:nth-child(7)::before {
	background: url(../img/tsunagi/icon_strength_07.png) no-repeat left top / 100%;
}
@media only screen and (max-width: 768px) {
	.strength_block {
		padding: 30px 5%;
	}
	.strength_inner {
		width: auto;
		padding: 20px 5% 31px;
	}
	.strength_inner::after {
		width: 150px;
		height: 118px;
		background-size: 100% auto;
		bottom: -80px;
		right: -5%;
	}
	.strength_ttl {
		font-size: 1.4rem;
		letter-spacing: .05em;
		margin-bottom: 30px;
	}
	.strength_ttl h2 {
		font-size: 1.9rem;
		letter-spacing: .05em;
	}
	.strength_ttl h2 > span span {
		font-size: 1.6rem;
	}
	.strength_block ol {
		margin: 0 auto;
		max-width: 280px;
	}
	.strength_block ol li {
		font-size: 1.4rem;
		min-height: 30px;
		padding: 5px 0 0 40px;
		margin-bottom: 15px;
		letter-spacing: .05em;
	}
	.strength_block ol li strong {
		font-size: 1.6rem;
	}
	.strength_block ol li span {
		font-size: 1.2rem;
	}
	.strength_block ol li::before {
		width: 30px;
		height: 30px;
		top: 9px;
	}
}

/* faq_block
----------------------------------------*/
.faq_block {
	padding: 99px 0 94px;
}
.faq_block h2 {
	text-align: center;
	font-size: 4.8rem;
	line-height: 1.4;
	letter-spacing: .08em;
	margin-bottom: 60px;
}
.faq_block h2 span {
	display: inline-block;
	text-align: left;
}
.faq_block h2 img {
	display: block;
}
.faq_block ul {
	width: 960px;
	margin: 0 auto;
	font-size: 2.2rem;
	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;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.faq_block ul li::before {
	content: "Q";
	font-size: 3.4rem;
	color: #0a4f86;
	font-weight: bold;
	margin-right: 15px;
	vertical-align: -5px;
}
.faq_block ul li {
	text-indent: -52px;
	margin-left: 52px;
	letter-spacing: .05em;
	margin-bottom: 20px;
}
.faq_block ul li a {
	border-bottom: solid 1px #000;
	-webkit-transition: opacity 300ms;
	transition: opacity 300ms;
}
.faq_block ul li a:hover {
	opacity: .6;
}
.faq_block ul li:nth-child(2n+1) {
	width: 540px;
}
@media only screen and (max-width: 768px) {
	.faq_block {
		padding: 50px 5%;
	}
	.faq_block h2 {
		font-size: 2.5rem;
		margin-bottom: 30px;
	}
	.faq_block h2 img {
		width: 120px;
	}
	.faq_block ul {
		max-width: 325px;
		width: auto;
		font-size: 1.5rem;
		display: block;
	}
	.faq_block ul li::before {
		font-size: 2.5rem;
		margin-right: 10px;
	}
	.faq_block ul li {
		text-indent: -32px;
		margin-left: 32px;
		margin-bottom: 10px;
	}
	.faq_block ul li a:hover {
		opacity: 1;
	}
	.faq_block ul li:nth-child(2n+1) {
		width: auto;
	}
}

/* support_block
----------------------------------------*/
.support_block {
	background: #082d4a;
	color: #fff;
	text-align: center;
	padding: 78px 0 115px;
	margin-bottom: 29px;
}
.support_block h2 {
	font-size: 4.8rem;
	letter-spacing: .08em;
	margin-bottom: 17px;
}
.support_block > p {
	font-size: 2rem;
	letter-spacing: .08em;
	line-height: 1.8;
}
.support_btn {
	margin: 45px 0 0;
}
.support_btn a {
	width: 860px;
	display: block;
	margin: 0 auto;
	padding: 37px 10px 30px 136px;
	font-size: 3rem;
	background: linear-gradient(175deg, #3680d3 0%,#3199b7 100%);
	transition: opacity .3s;
}
.support_btn a::before {
	content: "";
	width: 72px;
	height: 62px;
	display: block;
	background: url(../img/common/icon_btn_support.svg) no-repeat left top / 100% auto;
	position: absolute;
	top: 5px;
	bottom: 0;
	margin: auto 0;
	left: 170px;
}
.support_tel {
	width: 860px;
	margin: 55px auto 0;
	text-align: left;
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-wrap: wrap;
}
.support_block h3 {
	width: 100%;
	font-size: 3rem;
	font-weight: 400;
	text-align: left;
	border-bottom: 4px solid #fff;
	padding: 0 0 13px 48px;
	letter-spacing: .07em;
	margin-bottom: 15px;
}
.support_block h3::before {
	content: '';
	display: block;
	width: 3rem;
	height: 2.9rem;
	background: url(../img/common/icon_tel.svg) no-repeat left top / 100% auto;
	position: absolute;
	left: 1px;
	top: 9px;
}
.support_tokyo {
	width: 100%;
	font-size: 1.8rem;
	font-weight: bold;
	margin: 0 0 20px -7px;
}
.support_tokyo a {
	font-size: 4.5rem;
	font-weight: 400;
	font-family: 'Noto Sans JP', sans-serif;
	margin-left: 15px;
}
.support_tel > ul {
	width: 460px;
}
.support_tel > ul + ul {
	width: calc(100% - 460px);
}
.support_tel > ul li {
	display: flex;
	align-items: flex-start;
}
.support_tel > ul > li p {
	width: 128px;
	margin-left: -5px;
	font-size: 1.6rem;
	padding-top: 3px;
	text-align: right;
}
.support_tel > ul > li + li {
	margin-top: 18px;
}
.support_tel > ul > li li {
	display: flex;
	align-items: flex-end;
}
.support_tel > ul > li li span {
	font-size: 1.6rem;
	font-weight: bold;
	width: 60px;
	margin-right: 15px;
	text-align: right;
}
.support_tel > ul > li li + li {
	margin-top: 10px;
}
.support_tel > ul > li li a {
	font-size: 3rem;
	line-height: 1;
	font-family: 'Noto Sans JP', sans-serif;
}
@media only screen and (min-width: 769px) {
	.support_tel a[href^="tel:"] {
		pointer-events: none;
	}
	.support_btn a:hover {
		opacity: .6;
	}
}
@media only screen and (max-width: 768px) {
	.support_block {
		padding: 40px 5% 50px;
	}
	.support_block h2 {
		font-size: 2.2rem;
		margin-bottom: 17px;
	}
	.support_block > p {
		font-size: 1.5rem;
		text-align: left;
	}
	.support_btn {
		margin: 30px 0 0;
	}
	.support_btn a {
		width: auto;
		padding: 20px 1rem;
		text-align: center;
		font-size: 1.5rem;
	}
	.support_btn a::before {
		width: 3.6rem;
		height: 3.1rem;
		position: static;
		display: inline-block;
		vertical-align: -1rem;
		margin-right: 1rem;
	}
	.support_tel {
		width: auto;
		margin: 40px auto 0;
		display: block;
	}
	.support_block h3 {
		font-size: 2.3rem;
		border-bottom: 3px solid #fff;
		padding: 0 0 7px 42px;
	}
	.support_block h3::before {
		top: 2px;
	}
	.support_tokyo {
		text-align: center;
		margin: 0 0 30px;
	}
	.support_tokyo a {
		font-size: 3.6rem;
		margin-left: 1rem;
	}
	.support_tel > ul,
	.support_tel > ul + ul {
		width: auto;
		display: flex;
		align-items: center;
		flex-direction: column;
		margin: 0 0 0 -1rem;
	}
	.support_tel > ul + ul {
		margin-top: 15px;
	}
	.support_tel > ul > li p {
		width: 13.5rem;
		margin-left: 0;
		padding-right: 0.5rem;
		display: inline-block;
		padding-top: 0;
	}
	.support_tel > ul > li ul {
		flex: 1;
	}
	.support_tel > ul > li + li {
		margin-top: 15px;
	}
	.support_tel > ul > li li span {
		width: 3em;
		margin-right: .8rem;
	}
	.support_tel > ul > li li + li {
		margin-top: 15px;
	}
	.support_tel > ul > li li a {
		font-size: 2.4rem;
	}
}

/* support_block
----------------------------------------*/
.tsunagi_block {
	padding: 39px 20px 100px;
}
.tsunagi_block h2 {
	text-align: center;
	font-size: 2rem;
	letter-spacing: .094em;
	margin-bottom: 40px;
}
.tsunagi_block h2 span {
	font-size: 2.6rem;
	color: #009bff;
}
.tsunagi_block > p {
	text-align: center;
	font-size: 1.6rem;
	letter-spacing: .08em;
	line-height: 1.9;
}
.tsunagi_block > p span {
	color: #009bff;
}
.tsunagi_block figure {
	margin: 31px 0 32px;
}
.tsunagi_block figure img {
	display: block;
	margin: 0 auto;
}
.tsunagi_btn {
	text-align: center;
	margin-bottom: 40px;
}
.tsunagi_btn a {
	display: inline-block;
	font-size: 1.6rem;
	font-weight: bold;
	border: solid 1px #000;
	min-width: 444px;
	padding: 9px 30px;
	letter-spacing: .13em;
	-webkit-transition: opacity 300ms;
	transition: opacity 300ms;
}
.tsunagi_btn a:hover {
	opacity: .6;
}
.tsunagi_btn a::after {
	content: "";
	display: block;
	width: 22px;
	height: 10px;
	background: url(../img/common/btn_more_arrow_02.png) no-repeat left top / 100%;
	position: absolute;
	top: 50%;
	right: 23px;
	margin-top: -5px;
	margin-right: -5px;
}
@media only screen and (min-width: 768px) {
	.tsunagi_btn a:hover::after {
		animation-fill-mode: forwards;
		animation-duration: 600ms;
		animation-name: movex01;
	}
}
.tsunagi_note {
	width: 960px;
	margin: 0 auto;
	background: #f2f2f2;
	font-size: 1.2rem;
	padding: 13px 21px 12px;
	letter-spacing: .13em;
}
.tsunagi_note li {
	margin-left: 1em;
	text-indent: -1em;
}
@media only screen and (max-width: 768px) {
	.tsunagi_block {
		padding: 30px 5% 50px;
	}
	.tsunagi_block h2 {
		font-size: 1.7rem;
		margin-bottom: 30px;
		letter-spacing: .05em;
	}
	.tsunagi_block h2 span {
		font-size: 2.1rem;
	}
	.tsunagi_block > p {
		text-align: left;
		letter-spacing: .05em;
		font-size: 1.5rem;
	}
	.tsunagi_block figure {
		margin: 30px 0;
	}
	.tsunagi_btn a {
		font-size: 1.4rem;
		min-width: 0;
		width: 100%;
		padding: 9px 30px 9px 7px;
		letter-spacing: .05em;
	}
	.tsunagi_btn a:hover {
		opacity: 1;
	}
	.tsunagi_note {
		width: auto;
		letter-spacing: .05em;
	}
	.tsunagi_note li + li {
		margin-top: 5px;
	}
}

/* flow_block
----------------------------------------*/
.flow_block {
	padding: 39px 20px 101px;
}
.flow_block h2 {
	text-align: center;
	font-size: 2.6rem;
	color: #009bff;
	letter-spacing: .075em;
}
.flow_block ol {
	width: 960px;
	margin: 46px auto 0;
}
.flow_block ol::before {
	content: "";
	width: 6px;
	display: block;
	position: absolute;
	top: 40px;
	bottom: 70px;
	left: 50%;
	margin-left: -4px;
	background: url(../img/tsunagi/flow/bg_dot_line.svg) repeat-y center top / 6px 11.5px;
}
.flow_block ol li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.flow_block ol li + li {
	margin-top: 65px;
}
.flow_title {
	width: 436px;
	margin-right: 87px;
}
.flow_title h3 {
	width: 261px;
	height: 105px;
	margin: 0 0 0 auto;
	padding: 5px 0 0 4px;
	color:#fff;
	font-family: 'Oswald', sans-serif;
	font-size: 2.7rem;
	text-align: center;
	font-weight: normal;
	letter-spacing: .11em;
}
.flow_title h3 span {
	font-size: 4.2rem;
	vertical-align: 0;
	margin-left: 6px;
}
.flow_title h3::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: url(../img/tsunagi/flow/bg_balloon.svg) no-repeat left top / 100% auto;
	z-index: -1;
}
.flow_title h3::after {
	content: "";
	display: block;
	position: absolute;
	top: 24px;
	right: -56px;
	width: 29px;
	height: 29px;
	border-radius: 50%;
	background: -moz-linear-gradient(left, #6dbbe9 0%, #1175b6 100%);
	background: -webkit-linear-gradient(left, #6dbbe9 0%,#1175b6 100%);
	background: linear-gradient(to right, #6dbbe9 0%,#1175b6 100%);
}
li:nth-child(2n) .flow_title h3 {
	margin: 0;
}
li:nth-child(2n) .flow_title h3::before {
	transform: scale(-1, 1);
}
li:nth-child(2n) .flow_title h3::after {
	right: auto;
	left: -59px;
}
li:nth-child(2n) .flow_title {
	order: 1;
	margin-right: 0;
	margin-left: 87px;
}
.flow_text {
	width: 436px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	font-size: 1.8rem;
	font-weight: bold;
	padding-bottom: 24px;
	letter-spacing: .05em;
	line-height: 1.3;
}
.flow_block ol li:nth-child(1) figure {
	letter-spacing: .12em;
}
.flow_block ol li:nth-child(2n) .flow_text {
	order: 0;
}
.flow_block ol li:nth-child(4) .flow_text p {
	padding-bottom: 20px;
}
.flow_block ol li:nth-child(6) .flow_text p {
	padding-bottom: 20px;
}
.flow_block ol li figure {
	margin-right: 20px;
}
.flow_block ol li:nth-child(1) figure {
	width: 60px;
	margin-right: 25px;
}
.flow_block ol li:nth-child(2) figure {
	width: 56px;
}
.flow_block ol li:nth-child(3) figure {
	width: 61px;
}
.flow_block ol li:nth-child(4) figure {
	width: 71px;
	margin-left: 40px;
}
.flow_block ol li:nth-child(5) figure {
	width: 51px;
}
.flow_block ol li:nth-child(6) figure {
	width: 74px;
	margin-left: 265px;
}
.flow_block > p {
	width: 960px;
	margin: 34px auto 28px;
	font-size: 1.6rem;
	letter-spacing: .03em;
}
@media only screen and (max-width: 768px) {
	.flow_block {
		padding: 30px 5% 50px;
	}
	.flow_block h2 {
		font-size: 2.1rem;
		letter-spacing: .05em;
	}
	.flow_block ol {
		width: auto;
		margin: 30px auto 0;
	}
	.flow_block ol::before {
		width: 3px;
		top: 30px;
		bottom: 30px;
		margin-left: -2px;
		background-size: 3px 6px;
	}
	.flow_block ol li {
		-webkit-box-align: start;
		-ms-flex-align: start;
		align-items: flex-start;
	}
	.flow_block ol li + li {
		margin-top: 30px;
	}
	.flow_title {
		width: 50%;
		margin-right: 0;
		padding-right: 22px;
	}
	.flow_title h3 {
		width: 130px;
		height: 53px;
		padding: 3px 0 0 4px;
		font-size: 1.7rem;
	}
	.flow_title h3 span {
		font-size: 2rem;
		margin-left: 3px;
	}
	.flow_title h3::after {
		top: 11px;
		right: -29px;
		width: 15px;
		height: 15px;
	}
	li:nth-child(2n) .flow_title h3 {
		margin: 0;
	}
	li:nth-child(2n) .flow_title h3::after {
		right: auto;
		left: -30px;
	}
	li:nth-child(2n) .flow_title {
		margin-left: 0;
		padding-right: 0;
		padding-left: 22px;
	}
	.flow_text {
		width: 50%;
		display: block;
		font-size: 1.4rem;
		padding-bottom: 0;
		padding-left: 20px;
	}
	.flow_block ol li:nth-child(1) .flow_text,
	.flow_block ol li:nth-child(6) .flow_text {
		text-align: center;
	}
	.flow_block ol li:nth-child(2n) .flow_text {
		padding-left: 0;
		padding-right: 20px;
	}
	.flow_block ol li:nth-child(1) figure {
		letter-spacing: .05em;
	}
	.flow_block ol li:nth-child(4) .flow_text p,
	.flow_block ol li:nth-child(6) .flow_text p {
		padding-bottom: 0;
	}
	.flow_block ol li figure {
		margin: 0 auto;
	}
	.flow_block ol li:nth-child(1) figure {
		width: 30px;
		margin: 0 auto;
	}
	.flow_block ol li:nth-child(2) figure {
		width: 28px;
	}
	.flow_block ol li:nth-child(3) figure {
		width: 30px;
	}
	.flow_block ol li:nth-child(4) figure {
		width: 35px;
		margin: 0 auto;
	}
	.flow_block ol li:nth-child(5) figure {
		width: 25px;
	}
	.flow_block ol li:nth-child(6) figure {
		width: 37px;
		margin: 0 auto;
	}
	.flow_block > p {
		width: auto;
		font-size: 1.5rem;
	}
}

/* map_block
----------------------------------------*/
.map_block {
	padding: 39px 20px 85px;
}
.map_block h2 {
	text-align: center;
	font-size: 2.6rem;
	color: #009bff;
	letter-spacing: .075em;
	margin-bottom: 58px;
}
.map_head {
	width: 960px;
	margin: 40px auto 58px;
	display: flex;
	align-items: center;
}
.map_head p {
	font-size: 1.6rem;
	letter-spacing: .05em;
}
.map_head_text {
	width: calc(100% - 440px);
}
.map_head_text p:first-child {
	margin-right: -5px;
	line-height: 1.8;
}
.map_btn {
	width: 340px;
	margin-left: 5px;
	padding-bottom: 3px;
}
.map_btn a {
	display: inline-block;
	font-size: 1.6rem;
	border: solid 1px #000;
	min-width: 340px;
	padding: 17px 15px;
	letter-spacing: .13em;
	-webkit-transition: opacity 300ms;
	transition: opacity 300ms;
}
.map_btn a::after {
	content: "";
	display: block;
	width: 22px;
	height: 10px;
	background: url(../img/common/btn_more_arrow_02.png) no-repeat left top / 100%;
	position: absolute;
	top: 50%;
	right: 23px;
	margin-top: -5px;
}
.map_head_img {
	width: 440px;
	margin-bottom: 20px;
}
.map_head_navi {
	width: 430px;
	font-size: 1.6rem;
	letter-spacing: .05em;
	display: flex;
	flex-wrap: wrap;
	margin: 13px 0 45px;
}
.map_head_navi li {
	width: 60px;
	margin: 20px 0 0 60px;
	text-align: right;
}
.map_head_navi li:nth-child(4n+3) {
	margin-left: 54px;
}
.map_head_navi li:nth-child(4n+4) {
	margin-left: 54px;
}
.map_head_navi li:nth-child(4n+1) {
	width: 77px;
	margin-left: 0;
}
.map_head_navi li a {
	display: block;
	transition: opacity .3s;
}
.map_head_navi li a::after {
	content: '';
	display: inline-block;
	width: 6px;
	height: 6px;
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	transform: scaleY(.8) rotate(135deg);
	margin-left: 16px;
	vertical-align: 3px;
}
.map_area {
	width: 960px;
	margin: 0 auto;
}
.map_area + .map_area {
	margin-top: 82px;
}
.map_area h2 {
	font-size: 1.8rem;
	padding: 15px 30px;
	text-align: left;
	color: #fff;
	background: #0087cf;
	margin-bottom: 31px;
}
.map_area#area02 h2 {
	background: #00b0ec;
}
.map_area#area03 h2 {
	background: #d1b300;
}
.map_area#area04 h2 {
	background: #91bd30;
}
.map_area#area05 h2 {
	background: #ee730d;
}
.map_area#area06 h2 {
	background: #00a33a;
}
.map_area#area07 h2 {
	background: #e56a6a;
}
.map_area#area08 h2 {
	background: #6D6D6D;
}
.map_area#area09 h2 {
	background: #b15da1;
}
.map_item {
	width: 900px;
	margin: 0 auto 35px;
	display: flex;
	flex-wrap: wrap;
}
.map_item img {
	display: block;
}
.map_item + .map_item {
	border-top: 1px solid #000;
	padding-top: 39px;
}
.map_item figure {
	margin-top: 2px;
}
.map_item h3 {
	width: 100%;
	font-size: 1.8rem;
	letter-spacing: .05em;
	margin-bottom: 12px;
}
.map_text {
	flex: 1;
}
.map_text p {
	font-size: 1.6rem;
	line-height: 1.85;
	letter-spacing: .05em;
}
.map_text p + p {
	margin-top: 14px;
}
.map_link a {
	display: inline-block;
	padding-left: 21px;
	text-decoration: underline;
}
.map_link a::before {
	content: '';
	display: block;
	width: 13px;
	height: 18px;
	background: url(../img/company/map/icon_map.svg) no-repeat left top / 100% auto;
	position: absolute;
	left: 2px;
	top: 3px;
}
.map_link a {
	transition: opacity .3s;
}
@media only screen and (min-width: 768px) {
	.map_btn a:hover::after {
		animation-fill-mode: forwards;
		animation-duration: 600ms;
		animation-name: movex01;
	}
	.map_btn a:hover,
	.map_head_navi li a:hover,
	.map_link a:hover {
		opacity: .6;
	}
	.map_text a[href^="tel:"] {
		pointer-events: none;
	}
}
@media only screen and (max-width: 768px) {
	.map_block {
		padding: 39px 5% 50px;
	}
	.map_block h2 {
		font-size: 2.1rem;
		margin-bottom: 20px;
	}
	.map_head {
		width: auto;
		margin: 20px auto 58px;
		display: block;
	}
	.map_head p {
		font-size: 1.4rem;
	}
	.map_head_text {
		width: auto;
	}
	.map_head_text p:first-child {
		margin-right: 0;
	}
	.map_btn {
		width: 100%;
		margin-left: 0;
	}
	.map_btn a {
		width: 100%;
		font-size: 1.4rem;
	}
	.map_head_img {
		width: auto;
		margin: 20px 0 0;
	}
	.map_head_navi {
		width: auto;
	}
	.map_head_navi li {
		width: 6rem;
		margin: 20px 0 0 2.5rem;
	}
	.map_head_navi li:nth-child(4n+3),
	.map_head_navi li:nth-child(4n+4) {
		margin-left: 2.5rem;
	}
	.map_head_navi li:nth-child(4n+1) {
		width: 7.7rem;
	}
	.map_head_navi li a::after {
		width: .6rem;
		height: .6rem;
		margin-left: 1rem;
		vertical-align: .3rem;
	}
	.map_area {
		width: auto;
	}
	.map_area + .map_area {
		margin-top: 50px;
	}
	.map_area h2 {
		font-size: 1.6rem;
		padding: 15px 5%;
		margin-bottom: 25px;
	}
	.map_item {
		width: auto;
		display: block;
	}
	.map_item + .map_item {
		padding-top: 30px;
	}
	.map_item figure {
		margin-top: 20px;
	}
	.map_item figure img {
		margin: 0 auto;
	}
	.map_item h3 {
		font-size: 1.5rem;
	}
	.map_text p {
		font-size: 1.4rem;
	}
}

/* qa_block
----------------------------------------*/
.qa_block {
	padding: 37px 20px 54px;
}
.qa_block h2 {
	text-align: center;
	font-size: 2.6rem;
	color: #009bff;
	letter-spacing: .075em;
}
.qa_nav {
	width: 940px;
	margin: 43px auto -30px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	font-size: 1.4rem;
}
.qa_nav li {
	margin: 0 15px 30px;
}
.qa_nav li a {
	display: block;
	padding-left: 14px;
	letter-spacing: .12em;
	background: url(../img/tsunagi/qa/icon_arrow_down.png) no-repeat left 3px;
	-webkit-transition: background 300ms;
	transition: background 300ms;
}
.qa_nav li a:hover {
	background-position: left 8px;
}
.qa_nav li span {
	border-bottom: solid 1px #242424;
}
.qa_group {
	width: 940px;
	margin: 0 auto;
	padding: 54px 0 0;
}
.qa_group h3 {
	width: 940px;
	margin: 0 auto 24px;
	color: #0a4f86;
	font-size: 2.4rem;
	letter-spacing: .075em;
}
.qa_group h3 span {
	font-size: 1.8rem;
}
.qa_group dl {
	padding-left: 1px;
}
.qa_group dt {
	background: #f5f5f5;
	cursor: pointer;
	font-weight: bold;
	font-size: 1.6rem;
	padding: 14px 40px 10px 78px;
	letter-spacing: .13em;
	margin-top: 3px;
	-webkit-transition: opacity 300ms;
	transition: opacity 300ms;
}
.qa_group dt span {
	position: static;
}
.qa_group dt span::before {
	content: "";
	display: block;
	background: #000;
	width: 18px;
	height: 2px;
	position: absolute;
	right: 13px;
	top: 50%;
	margin-top: -1px;
}
.qa_group dt span::after {
	content: "";
	display: block;
	background: #000;
	width: 2px;
	height: 18px;
	position: absolute;
	right: 21px;
	top: 50%;
	margin-top: -9px;
}
.qa_group dt.open span::after {
	display: none;
}
.qa_group dt:hover {
	opacity: .6;
}
.qa_group dt::before {
	content: "Q";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 62px;
	color: #fff;
	background: #0a4f86;
	text-align: center;
	padding-top: 5px;
	font-size: 2.4rem;
}
.qa_group dd {
	padding: 16px 40px 20px 78px;
	line-height: 1.75;
	letter-spacing: .075em;
	display: none;
}
.qa_group dd::before {
	content: "A";
	display: block;
	position: absolute;
	top: 9px;
	left: 2px;
	bottom: 0;
	width: 62px;
	text-align: center;
	color: #0a4f86;
	font-size: 2.4rem;
	font-weight: bold;
}
@media only screen and (max-width: 768px) {
	.qa_block {
		padding: 30px 5% 50px;
	}
	.qa_block h2 {
		font-size: 2.1rem;
		letter-spacing: .05em;
	}
	.qa_nav {
		width: auto;
		margin: 30px auto -26px;
		display: block;
		font-size: 1.5rem;
	}
	.qa_nav li {
		margin: 0 0 20px;
	}
	.qa_nav li a:hover {
		background-position: left 3px;
	}
	.qa_group {
		width: auto;
		padding-top: 50px;
	}
	.qa_group h3 {
		width: auto;
		margin: 0 auto 20px;
		font-size: 1.7rem;
		letter-spacing: .05em;
	}
	.qa_group h3 span {
		font-size: 1.5rem;
	}
	.qa_group dl {
		padding-left: 0;
	}
	.qa_group dt {
		font-size: 1.5rem;
		padding: 14px 40px 10px 60px;
		letter-spacing: .05em;
	}
	.qa_group dt:hover {
		opacity: 1;
	}
	.qa_group dt::before {
		width: 48px;
		padding-top: 8px;
		font-size: 2rem;
	}
	.qa_group dd {
		padding: 16px 0 20px 60px;
		letter-spacing: .05em;
	}
	.qa_group dd::before {
		width: 48px;
		font-size: 2rem;
	}
}

/* list_block
----------------------------------------*/
.list_block {
	padding: 39px 20px 96px;
}
.list_block h2 {
	font-size: 2rem;
	text-align: center;
	color: #333;
	letter-spacing: .085em;
	margin-bottom: 21px;
}
.list_block h2 span {
	font-size: 2.6rem;
	color: #009bff;
}
.list_block > p {
	font-size: 1.6rem;
	text-align: center;
	line-height: 1.9;
	letter-spacing: .085em;
}
.list_block > .list_note {
	font-size: 1.2rem;
	margin-top: 8px;
}
.list_nav {
	width: 960px;
	margin: 30px auto -1px;
	background: #f7fcfe;
	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;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	font-size: 1.6rem;
	font-weight: bold;
	padding: 21px 26px 18px;
}
.list_nav li {
	margin: 0 23.5px 11px;
}
.list_nav a span {
	border-bottom: solid 1px #000;
}
.list_nav a {
	padding-left: 18px;
	letter-spacing: .095em;
	-webkit-transition: opacity 300ms;
	transition: opacity 300ms;
}
.list_nav a:hover {
	opacity: .6;
}
.list_nav a::before {
	content: "";
	border: 3px solid #009bff;
	border-width: 0 3px 3px 0;
	display: block;
	height: 6px;
	position: absolute;
	left: 0;
	top: 5px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	width: 6px;
}
.list_item {
	width: 960px;
	margin: 0 auto;
	padding: 57px 0 0;
}
.list_item h3 {
	border: 2px solid #000;
	background: url(../img/list/bg_ttl_h3.png);
	font-size: 2.4rem;
	padding: 8px 27px 9px;
	letter-spacing: .095em;
	margin-bottom: 25px;
}
.list_item ul {
	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;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.list_item ul li {
	width: 460px;
	margin: 0 0 8px 40px;
	padding: 0 0 8px 1em;
	text-indent: -1em;
	border-bottom: 1px dotted #7b7b7b;
	letter-spacing: .08em;
}
.list_item ul li a {
	text-decoration: underline;
}
.list_item ul li a:hover {
	text-decoration: none;
}
.list_item ul li::before {
	content: "・";
}
.list_item ul li:nth-child(2n+1) {
	margin-left: 0;
}

.list_maker {
	text-align: center;
	padding: 3.5rem 0 6.8rem;
}
.list_maker h2 {
	font-size: 3.6rem;
	line-height: 1.68;
	padding-left: .08em;
	letter-spacing: .08em;
	margin-bottom: 3.2rem;
}
.list_maker h3 {
	font-size: 2rem;
	line-height: 1.37;
	padding-left: .08em;
	letter-spacing: .08em;
	margin-bottom: 1.4rem;
}
.list_maker h3 span {
	font-size: 2.6rem;
	color: #009bff;
	letter-spacing: .08em;
}
.list_maker_note {
	letter-spacing: .08em;
}
.list_maker_list {
	display: flex;
	flex-wrap: wrap;
	max-width: 96rem;
	margin: 4.8rem auto 0;
}
.list_maker_list li {
	display: flex;
	width: 32.2917%;
	margin: 0 0 1.5rem 1.56245%;
}
.list_maker_list li:nth-child(3n+1) {
	margin-left: 0;
}
.list_maker_list li:nth-child(n+7) {
	width: 18.75%;
	margin-left: 1.5625%;
}
.list_maker_list li:nth-child(n+7):nth-child(5n+2) {
	margin-left: 0;
}
.list_maker_list li:nth-child(n+4):nth-child(-n+6) {
	margin-bottom: 2rem;
}
.list_maker_list li a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	line-height: 1.1;
	width: 100%;
	min-height: 8rem;
	border: 1px solid #009bff;
	color: #009bff;
	font-size: 2.4rem;
	letter-spacing: .08em;
	font-weight: 700;
	transition: background .3s, color .3s;
	padding: 0 2rem;
}
.list_maker_list li:nth-child(n+7) a {
	min-height: 7rem;
	font-size: 1.5rem;
	font-weight: 400;
}
.list_maker_list li a span {
	font-size: 1.8rem;
	letter-spacing: 0;
}
.list_maker_list li a::after {
	content: '';
	display: block;
	width: .6rem;
	height: .6rem;
	border-top: .3rem solid #009bff;
	border-right: .3rem solid #009bff;
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	bottom: 0;
	right: 1.5rem;
	margin: auto 0;
	transition: border .3s;
}
.list_maker_list li:nth-child(n+7) a::after {
	right: 1.3rem;
}
.list_search {
	text-align: center;
	margin-bottom: 8.8rem;
}
.list_search h2 {
	font-size: 3.6rem;
	line-height: 1.65;
	padding-left: .08em;
	letter-spacing: .08em;
	margin-bottom: 2.8rem;
}
.list_search > p {
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: .08em;
	line-height: 1.8;
}
.list_search > .list_search_note {
	font-size: 1.6rem;
	font-weight: 400;
	margin-top: 1.4rem;
}
.list_search_form {
	max-width: 96rem;
	margin: 5.1rem auto 0;
	background: #edf8fc;
	padding: 6.5rem 2rem;
}
.list_search_maker {
	max-width: 71.9rem;
	margin: 0 auto 2.4rem;
}
.list_search_maker > button {
	appearance: none;
	border-radius: 0;
	display: block;
	width: 100%;
	font-family: inherit;
	color: #6a6a6a;
	font-size: 1.6rem;
	text-align: left;
	background: #fff;
	border: 1px solid #000;
	padding: 1rem 5rem 1rem 3rem;
	height: 5.5rem;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
	letter-spacing: .08em;
	cursor: pointer;
}
.list_search_maker button.active {
	color: #000;
}
.list_search_maker > button::before {
	content: '';
	display: block;
	color: #000;
	position: absolute;
	right: 2rem;
	top: 1.6rem;
	width: 1.5rem;
	height: 1.5rem;
	border: solid 1px #000;
	border-radius: 100%;
	transform: rotate(-45deg);
}
.list_search_maker > button::after {
	content: '';
	display: block;
	position: absolute;
	top: 2.9rem;
	right: 2rem;
	height: .7rem;
	width: .1rem;
	background-color: #000;
	transform: rotate(-45deg);
}
.list_search_maker_close {
	appearance: none;
	border: 0;
	width: 3rem;
	height: 3rem;
	border-radius: 0;
	background: none;
	position: absolute;
	top: 2rem;
	right: 2rem;
	outline: none;
	cursor: pointer;
}
.list_search_maker_close::before,
.list_search_maker_close::after {
	content: '';
	display: block;
	height: 3rem;
	left: 1.4rem;
	position: absolute;
	top: 0;
	width: 1px;
	transform: rotate(45deg);
	background: #242424;
}
.list_search_maker_close::after {
	transform: rotate(-45deg);
}
.list_search_maker_list {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(59, 59, 65, 0.6);
	border-top: 0;
	z-index: 2000;
	display: flex;
	justify-content: center;
	align-items: center;
	opacity: 0;
}
.list_search_maker_list.show {
	opacity: 1;
}
.list_search_maker_list_inner {
	max-width: 100rem;
	margin: 0 auto;
	background: #fff;
	font-size: 1.6rem;
	padding: 5rem;
}
.list_search_maker_list label {
	padding-left: 1.4rem;
	cursor: pointer;
}
.list_search_maker_list ul {
	margin-right: -6.5rem;
	display: flex;
	flex-wrap: wrap;
}
.list_search_maker_list li {
	margin-right: 6.5rem;
	margin-bottom: 1.65rem;
}
.list_search_maker_list label {
	cursor: pointer;
}
.list_search_maker_list input[type="checkbox"] {
	appearance: none;
	width: 1.4rem;
	height: 1.4rem;
	border: 1px solid #000;
	border-radius: 0;
	display: inline-block;
	cursor: pointer;
	padding: 0;
	margin: 0;
}
.list_search_maker_list input[type="checkbox"]:checked {
	background: #009bff;
	border-color: #009bff;
}
.list_search_maker_list input[type="checkbox"]:checked::before {
	position: absolute;
	top: .2rem;
	left: .15rem;
	box-sizing: border-box;
	width: .9rem;
	height: .5rem;
	content: '';
	transform: rotate(-45deg);
	border-bottom: .2rem solid #fff;
	border-left: .2rem solid #fff;
}
.list_search_model {
	max-width: 71.9rem;
	margin: 0 auto 2.4rem;
}
.list_search_model input[type="text"] {
	appearance: none;
	border: 1px solid #000;
	color: #000;
	width: 100%;
	height: 5.5rem;
	font-size: 1.6rem;
	border-radius: 0;
	padding: 1rem 3rem;
	letter-spacing: .08em;
	font-family: inherit;
}
.list_search_model input[type="text"]::placeholder {
	color: #6a6a6a;
}
.list_search_btn {
	max-width: 50rem;
	margin: 3.5rem auto 0;
}
.list_search_btn button {
	appearance: none;
	border-radius: 0;
	color: #fff;
	height: 6.5rem;
	display: block;
	width: 100%;
	border: 0;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: -.05em;
	background: #ff7800;
	font-family: inherit;
	cursor: pointer;
	transition: opacity .3s;
}
.list_case {
	margin-bottom: 15rem;
}
.list_case h2 {
	text-align: center;
	font-size: 3.6rem;
	line-height: 1.67;
	padding-left: .08em;
	letter-spacing: .08em;
	margin-bottom: 2.8rem;
}
.list_case > p {
	text-align: center;
	font-size: 2rem;
	letter-spacing: .08em;
	line-height: 1.8;
	font-weight: bold;
	margin-bottom: 4.9rem;
}
.list_case_inner {
	max-width: 96rem;
	margin: 0 auto;
	display: flex;
	align-items: center;
	overflow: hidden;
}
.list_case_inner figure {
	width: 50%;
}
.list_case_inner ul {
	flex: 1;
	padding-left: 5.5208%;
	font-size: 1.6rem;
	font-weight: 700;
	margin-right: -7.5rem;
	display: flex;
	flex-wrap: wrap;
}
.list_case_inner ul li {
	min-width: 7rem;
	margin-right: 7.5rem;
	margin-bottom: 1.9rem;
	letter-spacing: .05em;
}
.list_case_inner ul li a {
	text-decoration: underline;
	transition: opacity .3s;
}
.list_case_inner ul li a::after {
	content: '';
	display: inline-block;
	width: .6rem;
	height: .6rem;
	border-top: .2rem solid #009bff;
	border-right: .2rem solid #009bff;
	transform: rotate(45deg);
	margin-left: .8rem;
	vertical-align: .2rem;
}
@media (hover:hover) {
	.list_search_btn button:hover,
	.list_case_inner ul li a:hover {
		opacity: .6;
	}
	.list_maker_list li a:hover {
		background: #009bff;
		color: #fff;
	}
	.list_maker_list li a:hover::after {
		border-color: #fff;
	}
}
@media only screen and (max-width: 768px) {
	.list_block {
		padding: 30px 5% 80px;
	}
	.list_block h2 {
		font-size: 1.7rem;
		letter-spacing: .05em;
		margin-bottom: 21px;
	}
	.list_block h2 span {
		font-size: 2.1rem;
	}
	.list_block > p {
		font-size: 1.5rem;
		text-align: left;
		letter-spacing: .05em;
	}
	.list_block > .list_note {
		margin-left: 1em;
		text-indent: -1em;
	}
	.list_nav {
		width: auto;
		margin: 30px auto 0;
		font-size: 1.5rem;
		padding: 18px 1.5% 15px;
	}
	.list_nav li {
		margin: 0 12px 15px;
	}
	.list_nav a {
		letter-spacing: .05em;
	}
	.list_nav a:hover {
		opacity: 1;
	}
	.list_item {
		width: auto;
		padding-top: 50px;
	}
	.list_item h3 {
		font-size: 1.7rem;
		padding: 8px 15px;
		margin-bottom: 15px;
		letter-spacing: .05em;
	}
	.list_item ul {
		display: block;
	}
	.list_item ul li {
		width: auto;
		margin: 0 0 8px;
		letter-spacing: .05em;
	}

	.list_maker {
		padding: 3.5rem 5% 5rem;
	}
	.list_maker h2 {
		font-size: 2rem;
		margin-bottom: 2rem;
	}
	.list_maker h3 {
		font-size: 1.5rem;
	}
	.list_maker h3 span {
		font-size: 1.7rem;
	}
	.list_maker_note {
		text-align: left;
		font-size: 1.2rem;
		margin-left: 1em;
		text-indent: -1em;
	}
	.list_maker_list {
		margin: 3rem auto 0;
	}
	.list_maker_list li {
		width: 100%;
		margin: 0 0 1rem !important;
	}
	.list_maker_list li:nth-child(n+7) {
		width: 49%;
		margin-left: 2% !important;
	}
	.list_maker_list li:nth-child(n+7):nth-child(2n+1) {
		margin-left: 0 !important;
	}
	.list_maker_list li a {
		padding: 0 1.5rem;
		min-height: 6rem;
		font-size: 1.6rem;
	}
	.list_maker_list li:nth-child(n+7) a {
		min-height: 6rem;
		font-size: 1.3rem;
	}
	.list_maker_list li a span {
		font-size: 1.1rem;
	}
	.list_maker_list li a::after {
		width: .5rem;
		height: .5rem;
		right: 1rem;
	}
	.list_maker_list li:nth-child(n+7) a::after {
		right: 1rem;
	}
	.list_search {
		padding: 0 5%;
		margin-bottom: 5rem;
	}
	.list_search h2 {
		font-size: 2rem;
	}
	.list_search > p {
		font-size: 1.5rem;
	}
	.list_search_form {
		margin: 3rem auto 0;
		padding: 4rem 2rem;
	}
	.list_search_maker > button {
		font-size: 1.4rem;
		padding: 1rem 3.5rem 1rem 2rem;
		height: 5rem;
	}
	.list_search_maker > button::before {
		right: 1.5rem;
		top: 1.2rem;
	}
	.list_search_maker > button::after {
		top: 2.6rem;
		right: 1.5rem;
	}
	.list_search_maker_list {
		font-size: 1.4rem;
	}
	.list_search_maker_list_inner {
		max-height: 90%;
		width: 90%;
		overflow: auto;
		font-size: 1.4rem;
		padding: 5rem 0 3rem 5%;
	}
	.list_search_maker_close {
		top: 1rem;
		right: 1rem;
	}
	.list_search_maker_list label {
		padding-left: 1.2rem;
	}
	.list_search_maker_list ul {
		margin-right: 0;
	}
	.list_search_maker_list li {
		margin-right: 2.5rem;
		margin-bottom: 2rem;
	}
	.list_search_model input[type="text"] {
		height: 5rem;
		font-size: 1.4rem;
		padding: 1rem 2rem;
	}
	.list_search_btn {
		margin: 2rem auto 0;
	}
	.list_search_btn button {
		height: 5rem;
		font-size: 1.5rem;
	}
	.list_case {
		margin-bottom: 5rem;
		padding: 0 5%;
	}
	.list_case h2 {
		font-size: 2rem;
		margin-bottom: 2rem;
	}
	.list_case > p {
		font-size: 1.5rem;
		margin-bottom: 3rem;
	}
	.list_case_inner {
		display: block;
	}
	.list_case_inner figure {
		width: auto;
	}
	.list_case_inner ul {
		padding-left: 0;
		margin-top: 2rem;
		font-size: 1.4rem;
		margin-right: -3rem;
	}
	.list_case_inner ul {
		padding-bottom: 0;
	}
	.list_case_inner ul li {
		min-width: 6rem;
		margin-right: 3rem;
		margin-bottom: 1.5rem;
	}
	.list_case_inner ul li a::after {
		margin-left: .5rem;
		vertical-align: .1rem;
	}
}

/* result
----------------------------------------*/
.result {
	max-width: 96rem;
	margin: 5rem auto 12rem;
}
.result + .support_block {
	margin-bottom: 0;
}
.result + .support_block h2,
.result + .support_block h2 + p {
	display: none;
}
.result + .support_block .support_btn {
	margin-top: 0;
}
.result h2 {
	text-align: center;
	font-size: 2.4rem;
	font-weight: normal;
	letter-spacing: .08em;
	margin-bottom: 3.8rem;
}
.result_box {
	background: #f9f9f9;
	display: flex;
	align-items: flex-end;
	padding: 2.6rem 2.5rem 3.2rem;
}
.result_box_word {
	width: 63.5rem;
	font-size: 1.6rem;
	line-height: 1.8;
	letter-spacing: .08em;
}
.result_box_word span {
	font-weight: 700;
	font-size: 2rem;
	letter-spacing: .08em;
}
.result_box_cnt {
	flex: 1;
	text-align: right;
	font-size: 1.6rem;
	letter-spacing: .02em;
	padding: 0 .5rem .1rem 0;
}
.result_box_cnt span {
	font-weight: 700;
	font-size: 2.4rem;
	letter-spacing: .08em;
	color: #009bff;
	margin-right: 1rem;
}
.result_back {
	text-align: right;
	font-size: 1.6rem;
	letter-spacing: .06em;
	margin-top: 2.9rem;
}
.result_back a:hover {
	transition: opacity .3s;
}
.result_page + .result_back {
	text-align: center;
	margin-top: 2.4rem;
}
.result_back a::before {
	content: '';
	display: inline-block;
	width: 2.6rem;
	height: 2.6rem;
	background: url(../img/case/list/icon_back.svg) no-repeat left top / 100% auto;
	vertical-align: -.6rem;
	margin-right: .2rem;
}
.result_list {
	margin-top: 3.5rem;
}
.result_list li {
	border-bottom: 1px solid #cacaca;
	font-size: 1.6rem;
	display: flex;
	align-items: center;
	padding: 2.5rem 0;
}
.result_list li p {
	flex: 1;
	padding: 0 2rem 0 0;
	letter-spacing: .075em;
}
.result_btn {
	width: 16.5rem;
}
.result_btn a {
	display: block;
	border: 1px solid #009bff;
	color: #009bff;
	text-align: center;
	padding: .7rem 0;
	letter-spacing: .08em;
	transition: background .3s, color .3s;
}
.result_btn a::after {
	content: '';
	display: block;
	width: .4rem;
	height: .4rem;
	border-top: .2rem solid #009bff;
	border-right: .2rem solid #009bff;
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	bottom: 0;
	right: 1rem;
	margin: auto 0;
	transition: border-color .3s;
}
.result_page {
	margin-top: 3.5rem;
	display: flex;
	justify-content: center;
}
.result_page ul {
	display: flex;
	justify-content: center;
	font-size: 1.6rem;
	color: #a3a3a3;
	text-align: center;
}
.result_page ul li {
	margin: 0 .1rem;
}
.result_page ul li a,
.result_page ul li span,
.result_page .prev-page button,
.result_page .next-page button {
	appearance: none;
	background: none;
	border: 0;
	border-radius: 0;
	display: block;
	width: 3.4rem;
	height: 3.4rem;
	line-height: 3.5rem;
	transition: color .3s;
}
.result_page ul li.current {
	color: #000;
}
.result_page ul li a.prev,
.result_page ul li a.next,
.result_page .prev-page,
.result_page .next-page {
	margin: 0 1rem;
}
.result_page .prev-page button,
.result_page .next-page button {
	overflow: hidden;
	text-indent: -99rem;
	cursor: pointer;
}
.result_page .prev-page.disabled,
.result_page .next-page.disabled {
	pointer-events: none;
	opacity: .3;
}
.result_page ul li a.prev::before,
.result_page ul li a.next::before,
.result_page .prev-page::before,
.result_page .next-page::before {
	content: '';
	display: block;
	width: .6rem;
	height: .6rem;
	border-top: .25rem solid #343434;
	border-right: .25rem solid #343434;
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.result_page ul li a.prev::before,
.result_page .prev-page::before {
	transform: rotate(-135deg);
	left: .5rem;
}
.result_txt {
	text-align: center;
	font-size: 1.6rem;
	line-height: 2.22;
	margin: 7.8rem 0;
	letter-spacing: .08em;
}
@media (hover:hover) {
	.result_btn a:hover {
		background: #009bff;
		color: #fff;
	}
	.result_btn a:hover::after {
		border-color: #fff;
	}
	.result_back a:hover {
		opacity: .6;
	}
	.result_page ul li a:hover {
		color: #000;
	}
}
@media only screen and (max-width: 768px) {
	.result {
		margin: 3rem 5% 6rem;
	}
	.result h2 {
		font-size: 2rem;
		margin-bottom: 2.5rem;
	}
	.result_box {
		display: block;
		padding: 2rem 5%;
	}
	.result_box_word {
		width: auto;
		font-size: 1.5rem;
	}
	.result_box_word span {
		font-size: 1.6rem;
	}
	.result_box_cnt {
		font-size: 1.5rem;
		padding: 1rem 0 0;
	}
	.result_box_cnt span {
		font-size: 1.6rem;
		margin-right: .5rem;
	}
	.result_back {
		font-size: 1.5rem;
		margin-top: 1.5rem;
	}
	.result_page + .result_back {
		text-align: center;
		margin-top: 2rem;
	}
	.result_list {
		margin-top: 2rem;
	}
	.result_list li {
		font-size: 1.5rem;
		padding: 2rem 0;
	}
	.result_list li p {
		padding: 0 1.5rem 0 0;
	}
	.result_btn {
		width: 11.5rem;
	}
	.result_btn a {
		padding: .5rem .5rem .5rem 0;
		font-size: 1.3rem;
		letter-spacing: .02em;
	}
	.result_btn a::after {
		right: .8rem;
	}
	.result_txt {
		text-align: left;
		font-size: 1.5rem;
		margin: 4rem 0;
	}
}

/* about_tsunagi_block
----------------------------------------*/
.about_tsunagi_block {
	padding: 39px 20px;
}
.about_tsunagi_block h2 {
	font-size: 2rem;
	text-align: center;
	color: #333;
	letter-spacing: .085em;
	margin-bottom: 21px;
}
.about_tsunagi_block h2 strong {
	font-size: 2.6rem;
	color: #009bff;
}
.about_tsunagi_block h2 span {
	font-size: 1.8rem;
}
.about_tsunagi_inner {
	width: 960px;
	margin: 0 auto;
	overflow: hidden;
}
.about_tsunagi_inner p {
	font-size: 1.6rem;
	letter-spacing: .08em;
	line-height: 1.9;
}
.about_tsunagi_inner p + p {
	margin-top: 30px;
}
.about_tsunagi_inner figure:first-child {
	float: right;
	padding-top: 47px;
}
.about_tsunagi_inner figure:last-child {
	margin-top: 38px;
}
@media only screen and (max-width: 768px) {
	.about_tsunagi_block {
		padding: 30px 5%;
	}
	.about_tsunagi_block h2 {
		font-size: 1.7rem;
		letter-spacing: .05em;
	}
	.about_tsunagi_block h2 strong {
		font-size: 2.1rem;
	}
	.about_tsunagi_block h2 span {
		font-size: 1.5rem;
	}
	.about_tsunagi_inner {
		width: auto;
	}
	.about_tsunagi_inner p {
		font-size: 1.5rem;
		letter-spacing: .05em;
		line-height: 1.9;
	}
	.about_tsunagi_inner figure:first-child {
		float: none;
		text-align: center;
		padding-top: 20px;
	}
	.about_tsunagi_inner figure:last-child {
		margin-top: 20px;
	}
}

/* point_block
----------------------------------------*/
.point_block {
	width: 960px;
	margin: 49px auto 127px;
}
.point_block h2 {
	text-align: center;
	font-size: 2.03rem;
	letter-spacing: .13em;
	margin-bottom: -2px;
}
.point_block h2 span {
	font-size: 2.604rem;
	color: #009bff;
}
.point_block h3 {
	text-align: center;
	margin-bottom: 60px;
}
.point_block h3 > span {
	border-bottom: solid 2px #000;
	letter-spacing: .03em;
	padding-bottom: 5px;
}
.point_block h3 span span {
	font-size: 3.6rem;
	font-family: 'Oswald', sans-serif;
	vertical-align: -6px;
	transform: scaleY(.87);
	display: inline-block;
	margin: 0 4px;
}
.point_item {
	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;
	margin-bottom: 85px;
}
.point_item figure {
	width: 350px;
}
.point_item figure img {
	display: block;
}
.point_text {
	width: calc(100% - 350px);
	padding-top: 2px;
}
.point_text h4 {
	font-size: 2.2rem;
	color: #009bff;
	line-height: 1.4;
	padding-left: 63px;
	letter-spacing: .075em;
	min-height: 60px;
	margin-bottom: 26px;
}
.point_item:nth-of-type(1) h4 {
	background: url(../img/solution/tsunagi/icon_point_01.png) no-repeat 1px top;
}
.point_item:nth-of-type(2) h4 {
	background: url(../img/solution/tsunagi/icon_point_02.png) no-repeat 1px top;
	padding-top: 20px;
	letter-spacing: .125em;
	margin-bottom: 19px;
}
.point_item:nth-of-type(3) h4 {
	background: url(../img/solution/tsunagi/icon_point_03.png) no-repeat 1px top;
	margin-bottom: 19px;
}
.point_text ul {
	font-size: 1.6rem;
}
.point_text ul li {
	padding-left: 16px;
	margin-bottom: 6px;
	letter-spacing: .03em;
}
.point_text ul li::before {
	content: "";
	display: block;
	width: 8px;
	height: 3px;
	background: #000;
	position: absolute;
	top: 10px;
	left: 0;
}
.point_btn {
	margin: 27px 0 9px;
}
.point_btn a {
	display: inline-block;
	font-weight: bold;
	border: solid 1px #000;
	min-width: 340px;
	padding: 13px 30px 14px 14px;
	letter-spacing: .13em;
	-webkit-transition: opacity 300ms;
	transition: opacity 300ms;
}
.point_btn a:hover {
	opacity: .6;
}
.point_btn a::after {
	content: "";
	display: block;
	width: 22px;
	height: 10px;
	background: url(../img/common/btn_more_arrow_02.png) no-repeat left top / 100%;
	position: absolute;
	top: 50%;
	right: 23px;
	margin-top: -5px;
}
@media only screen and (min-width: 768px) {
	.point_btn a:hover::after {
		animation-fill-mode: forwards;
		animation-duration: 600ms;
		animation-name: movex01;
	}
}
@media only screen and (max-width: 768px) {
	.point_block {
		width: auto;
		margin: 30px 5% 50px;
	}
	.point_block h2 {
		font-size: 1.7rem;
		letter-spacing: .05em;
		margin-bottom: 20px;
	}
	.point_block h2 span {
		font-size: 2.1rem;
	}
	.point_block h3 {
		margin-bottom: 40px;
	}
	.point_item {
		display: block;
		margin-bottom: 50px;
	}
	.point_item figure {
		width: 100%;
	}
	.point_item figure img {
		display: block;
		margin: 0 auto;
	}
	.point_text {
		width: 100%;
		margin-bottom: 20px;
	}
	.point_text h4 {
		font-size: 1.7rem;
		line-height: 1.4;
		padding-left: 40px;
		min-height: 45px;
		letter-spacing: .05em;
	}
	.point_item:nth-of-type(1) h4 {
		background: url(../img/solution/tsunagi/icon_point_01.png) no-repeat 1px top / 30px auto;
	}
	.point_item:nth-of-type(2) h4 {
		background: url(../img/solution/tsunagi/icon_point_02.png) no-repeat 1px top / 30px auto;
		padding-top: 0;
		letter-spacing: .05em;
	}
	.point_item:nth-of-type(3) h4 {
		background: url(../img/solution/tsunagi/icon_point_03.png) no-repeat 1px top / 30px auto;
	}
	.point_text ul {
		font-size: 1.5rem;
	}
	.point_text ul li::before {
		top: 9px;
	}
	.point_btn a {
		min-width: 0;
		width: 100%;
	}
	.point_btn a:hover {
		opacity: 1;
	}
}

/* point_block
----------------------------------------*/
.h24day365_block {
	width: 960px;
	margin: 0 auto 44px;
}
.h24day365_block h2 {
	text-align: center;
	padding-right: 8px;
	margin-bottom: 6px;
}
.h24day365_block h2::before {
	content: "";
	width: 170px;
	height: 167px;
	display: block;
	background: url(../img/solution/tsunagi/icon_h24_day365.png) no-repeat left top / 100%;
	position: absolute;
	top: 4px;
	left: 1px;
}
.h24day365_block > p {
	text-align: center;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.7;
	letter-spacing: .08em;
	padding-left: 42px;
}
@media only screen and (max-width: 768px) {
	.h24day365_block {
		width: auto;
		margin: 0 5% 44px;
	}
	.h24day365_block h2 {
		padding-right: 0;
		margin-bottom: 6px;
	}
	.h24day365_block h2 img {
		width: 210px;
	}
	.h24day365_block h2::before {
		display: none;
	}
	.h24day365_block > p {
		text-align: left;
		font-size: 1.5rem;
		letter-spacing: .05em;
		padding-left: 0;
	}
}

/* plan_block
----------------------------------------*/
.plan_block {
	max-width: 1000px;
	margin: 0 auto 96px;
}
.plan_flow {
	background: #ebf7ff;
	padding: 53px 20px 27px;
}
.plan_flow img {
	display: block;
}
.plan_inner {
	background: #f8f1c7;
	text-align: center;
	padding-bottom: 47px;
	padding-top: 33px;
}
.plan_flow + .plan_inner {
	padding-top: 0;
}
.plan_flow + .plan_inner::before {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 53px 87px 0;
	border-color: #ebf7ff transparent transparent;
	margin: 0 auto;
}
.plan_block h2 {
	margin: 22px 0 29px;
	font-size: 1.5rem;
	letter-spacing: .05em;
}
.plan_block h2 span {
	line-height: 1.1;
	display: inline-block;
	font-size: 4rem;
	margin-top: 8px;
	letter-spacing: .07em;
	background: -moz-linear-gradient(top, rgba(231,223,0,0) 0%, rgba(231,223,0,0) 70%, rgba(231,223,0,1) 70%, rgba(231,223,0,1) 100%);
	background: -webkit-linear-gradient(top, rgba(231,223,0,0) 0%,rgba(231,223,0,0) 70%,rgba(231,223,0,1) 70%,rgba(231,223,0,1) 100%);
	background: linear-gradient(to bottom, rgba(231,223,0,0) 0%,rgba(231,223,0,0) 70%,rgba(231,223,0,1) 70%,rgba(231,223,0,1) 100%);
}
.plan_inner > p {
	text-align: center;
	font-weight: bold;
	font-size: 1.8rem;
	letter-spacing: .08em;
}
.plan_list {
	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;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 31px 0 0 97px;
	text-align: left;
}
.plan_text {
	margin: -3px 0 0 65px;
	transform: rotate(-6.5deg);
	transform-origin: left top;
	line-height: 1.3;
}
.plan_list li:nth-child(2) {
	margin: 37px 0 0 74px;
}
.plan_list li:nth-child(2) .plan_text {
	margin-left: 57px;
	margin-top: 2px;
}
.plan_list li:nth-child(3) {
	margin-top: 9px;
}
.plan_list li:nth-child(4) {
	margin: 15px 0 0 179px;
	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;
}
.plan_list li:nth-child(4) .plan_text {
	margin-left: 13px;
}
.plan_list li:nth-child(4) .plan_text p {
	line-height: 1.4;
}
.plan_text h4 {
	color: #5a4a00;
	font-size: 2rem;
	letter-spacing: .09em;
}
.plan_text h4 span {
	font-size: 2.5rem;
}
.plan_list li:nth-child(4) .plan_text h4 {
	font-size: 2.4rem;
	color: #e95e5e;
}
.plan_text p {
	font-weight: bold;
	letter-spacing: .07em;
	margin-top: 4px;
}
.plan_note {
	margin: 23px 20px;
	line-height: 1.45;
	letter-spacing: .03em;
}
.plan_note li {
	margin-left: 1em;
	text-indent: -1em;
}
@media only screen and (max-width: 768px) {
	.plan_block {
		margin: 0 auto 50px;
	}
	.plan_flow {
		padding: 0 15%;
	}
	.plan_inner {
		padding: 10px 5% 47px;
	}
	.plan_flow + .plan_inner::before {
		border-width: 26px 44px 0;
	}
	.plan_block h2 {
		margin: 20px 0 29px;
		font-size: 1.4rem;
	}
	.plan_block h2 span {
		font-size: 1.8rem;
		letter-spacing: 0;
	}
	.plan_inner > p {
		font-size: 1.5rem;
		text-align: left;
		letter-spacing: .05em;
	}
	.plan_list {
		display: block;
		text-align: left;
		margin: 31px 0 0;
		text-align: center;
	}
	.plan_list h3 {
		margin-bottom: 6.25vw;
	}
	.plan_list h3 img {
		width: 100px;
	}
	.plan_text {
		margin: -3px 0 0;
	}
	.plan_list li:nth-child(2) {
		margin: 30px 0 0;
	}
	.plan_list li:nth-child(2) .plan_text {
		margin-left: 0;
	}
	.plan_list li:nth-child(3) {
		margin-top: 30px;
	}
	.plan_list li:nth-child(4) {
		margin: 30px 0 0;
		display: block;
	}
	.plan_list li:nth-child(4) .plan_text {
		margin-left: 0;
	}
	.plan_list li:nth-child(4) h3 img {
		width: 110px;
	}
	.plan_text h4 {
		font-size: 1.5rem;
		letter-spacing: .05em;
	}
	.plan_text h4 span {
		font-size: 1.8rem;
	}
	.plan_list li:nth-child(4) .plan_text h4 {
		font-size: 2rem;
	}
	.plan_text p {
		letter-spacing: .02em;
		font-size: 1.3rem;
	}
	.plan_note {
		margin: 20px 5%;
	}
	.plan_note li {
		margin-bottom: 5px;
	}
}

/* mimamori_block
----------------------------------------*/
.mimamori_block {
	padding: 39px 20px 95px;
}
.mimamori_block h2 {
	font-size: 2rem;
	text-align: center;
	letter-spacing: .1em;
	margin-bottom: 30px;
}
.mimamori_block h2 span {
	font-size: 2.6rem;
	color: #009bff;
}
.mimamori_inner {
	width: 960px;
	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;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.mimamori_inner figure:first-child {
	width: 173px;
	margin-left: 27px;
}
.mimamori_inner figure:nth-of-type(2) {
	width: 100%;
	margin: 91px 0 25px;
}
.mimamori_inner > p {
	font-size: 1.6rem;
}
.mimamori_text {
	width: calc(100% - 200px);
	font-size: 1.6rem;
	padding-left: 35px;
	margin-top: -7px;
	letter-spacing: .07em;
}
.mimamori_text p {
	line-height: 1.9;
}
sup {
	font-size: 1.2rem;
	vertical-align: top;
}
.mimamori_note {
	margin: 14px 0 0 3px;
	line-height: 1.45;
	font-size: 1.4rem;
}
.mimamori_note li {
	margin-left: 1.5em;
	text-indent: -1.5em;
}
@media only screen and (max-width: 768px) {
	.mimamori_block {
		padding: 30px 5%;
	}
	.mimamori_block h2 {
		font-size: 1.7rem;
		letter-spacing: .05em;
	}
	.mimamori_block h2 span {
		font-size: 2.1rem;
	}
	.mimamori_inner {
		width: auto;
		display: block;
	}
	.mimamori_inner figure:first-child {
		width: 100px;
		margin: 0 auto 20px;
	}
	.mimamori_inner figure:nth-of-type(2) {
		margin: 30px 0 25px;
	}
	.mimamori_inner > p {
		font-size: 1.5rem;
	}
	.mimamori_text {
		width: 100%;
		font-size: 1.5rem;
		padding-left: 0;
		margin-top: 0;
		letter-spacing: .05em;
	}
	.mimamori_note {
		margin: 14px 0 0;
		line-height: 1.45;
		font-size: 1.3rem;
	}
}

/* percoll_block
----------------------------------------*/
.percoll_block {
	padding: 39px 20px 0;
}
.percoll_block h2 {
	font-size: 2.6rem;
	color: #009bff;
	text-align: center;
	letter-spacing: .085em;
	margin-bottom: 23px;
}
.percoll_block > p {
	text-align: center;
	font-size: 1.6rem;
	line-height: 1.9;
	letter-spacing: .075em;
}
.percoll_flow {
	margin: 53px -20px 0;
	padding: 34px 20px 93px;
	background: #fbfbfb;
}
.percoll_flow_ttl {
	width: 960px;
	margin: 0 auto;
	border: solid 2px #000;
	background: url(../img/solution/percoll/bg_ttl_flow.png);
	color: #fff;
	text-align: center;
	padding: 9px 10px 10px;
}
.percoll_flow_ttl h3 {
	font-size: 1.8rem;
	letter-spacing: .09em;
	line-height: 1.45;
}
.percoll_flow_ttl h3 span:first-child {
	font-size: 3rem;
}
.percoll_flow_ttl h3 span:last-child {
	font-size: 2.4rem;
}
.percoll_flow_ttl p {
	font-weight: bold;
	font-size: 1rem;
	letter-spacing: .05em;
}
.percoll_flow .percoll_flow_list {
	width: 960px;
	margin: 0 auto;
	padding: 75px 0 0 62px;
	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;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.percoll_flow .percoll_flow_list p {
	font-size: 1.8rem;
	margin-left: -2px;
	letter-spacing: .07em;
}
.percoll_flow .percoll_flow_list h4 {
	font-size: 2rem;
	color: #009bff;
	letter-spacing: .05em;
	margin: -8px 0 10px;
}
.percoll_flow .percoll_flow_list li:nth-child(1) h4::before {
	content: "";
	display: inline-block;
	width: 103px;
	height: 63px;
	background: url(../img/solution/percoll/icon_step_01_02.png) no-repeat;
	vertical-align: -20px;
	margin-right: 18px;
}
.percoll_flow .percoll_flow_list li:nth-child(1) {
	width: 450px;
	border-bottom: 2px solid #000;
	border-left: 2px solid #000;
	padding: 0 0 45px 72px;
}
.percoll_flow .percoll_flow_list li:nth-child(1)::before {
	content: "";
	width: 77px;
	height: 90px;
	display: block;
	background: url(../img/solution/percoll/icon_step_01_01.png) no-repeat;
	position: absolute;
	left: -39px;
	top: 0;
}
.percoll_flow .percoll_flow_list li:nth-child(2) {
	width: 448px;
	padding: 0 0 34px 63px;
	margin-top: 101px;
}
.percoll_flow .percoll_flow_list li:nth-child(2)::before {
	content: "";
	width: 77px;
	height: 90px;
	display: block;
	background: url(../img/solution/percoll/icon_step_02_01.png) no-repeat;
	position: absolute;
	left: -38px;
	top: 0;
	z-index: 10;
}
.percoll_flow .percoll_flow_list li:nth-child(2)::after {
	content: "";
	width: 2px;
	height: 21px;
	display: block;
	background: #000;
	position: absolute;
	left: -1px;
	bottom: -2px;
}
.percoll_flow .percoll_flow_list li:nth-child(2) h4 {
	margin: -18px 0 8px;
	letter-spacing: .08em;
}
.percoll_flow .percoll_flow_list li:nth-child(2) h4::before {
	content: "";
	display: inline-block;
	width: 109px;
	height: 58px;
	background: url(../img/solution/percoll/icon_step_02_02.png) no-repeat;
	vertical-align: -30px;
	margin-right: 23px;
}
.percoll_flow .percoll_flow_list li:nth-child(3) {
	width: 449px;
	border-top: 2px solid #000;
	border-bottom: 2px solid #000;
	border-left: 2px solid #000;
	padding: 46px 0 42px 68px;
}
.percoll_flow .percoll_flow_list li:nth-child(3)::before {
	content: "";
	width: 77px;
	height: 90px;
	display: block;
	background: url(../img/solution/percoll/icon_step_03_01.png) no-repeat;
	position: absolute;
	left: -39px;
	top: 39px;
	z-index: 10;
}
.percoll_flow .percoll_flow_list li:nth-child(3) h4::before {
	content: "";
	display: inline-block;
	width: 72px;
	height: 40px;
	background: url(../img/solution/percoll/icon_step_03_02.png) no-repeat;
	vertical-align: -17px;
	margin-right: 18px;
}
.percoll_flow .percoll_flow_list li:nth-child(4) {
	width: 448px;
	padding: 0 0 36px 70px;
	margin-top: 120px;
}
.percoll_flow .percoll_flow_list li:nth-child(4)::before {
	content: "";
	width: 77px;
	height: 90px;
	display: block;
	background: url(../img/solution/percoll/icon_step_04_01.png) no-repeat;
	position: absolute;
	left: -38px;
	top: 0;
	z-index: 10;
}
.percoll_flow .percoll_flow_list li:nth-child(4)::after {
	content: "";
	width: 2px;
	height: 31px;
	display: block;
	background: #000;
	position: absolute;
	left: 0;
	bottom: -2px;
}
.percoll_flow .percoll_flow_list li:nth-child(4) h4 {
	margin: -3px 0 5px;
	letter-spacing: .08em;
}
.percoll_flow .percoll_flow_list li:nth-child(4) h4::before {
	content: "";
	display: inline-block;
	width: 58px;
	height: 53px;
	background: url(../img/solution/percoll/icon_step_04_02.png) no-repeat;
	vertical-align: -10px;
	margin-right: 19px;
}
.percoll_flow .percoll_flow_list li:nth-child(5) {
	width: 449px;
	border-top: 2px solid #000;
	padding: 46px 0 42px 70px;
}
.percoll_flow .percoll_flow_list li:nth-child(5)::before {
	content: "";
	width: 77px;
	height: 77px;
	display: block;
	background: url(../img/solution/percoll/icon_step_05_01.png) no-repeat;
	position: absolute;
	left: -38px;
	top: 40px;
	z-index: 10;
}
.percoll_flow .percoll_flow_list li:nth-child(5) h4 {
	margin: -14px 0 4px;
}
.percoll_flow .percoll_flow_list li:nth-child(5) h4::before {
	content: "";
	display: inline-block;
	width: 86px;
	height: 54px;
	background: url(../img/solution/percoll/icon_step_05_02.png) no-repeat;
	vertical-align: -18px;
	margin-right: 17px;
	z-index: 10;
}
.percoll_flow .percoll_flow_list li:nth-child(5)::after {
	content: "";
	width: 2px;
	height: 44px;
	display: block;
	background: #000;
	position: absolute;
	left: 0;
	top: -2px;
}
.percoll_flow .percoll_flow_list .percoll_flow_note {
	font-size: 1.4rem;
	margin-right: -180px;
	letter-spacing: .035em;
	margin-top: 1px;
	padding-left: 1em;
	text-indent: -1em;
}
.percoll_flow_note {
	width: 960px;
	margin: 3px auto 0;
}
.percoll_flow_note li {
	margin-bottom: 3px;
	letter-spacing: .03em;
	padding-left: 1em;
	text-indent: -1em;
}
@media only screen and (max-width: 768px) {
	.percoll_block {
		padding: 30px 5% 0;
	}
	.percoll_block h2 {
		font-size: 2.1rem;
		letter-spacing: .05em;
	}
	.percoll_block > p {
		text-align: left;
		font-size: 1.5rem;
		letter-spacing: .05em;
	}
	.percoll_flow {
		margin: 30px -5.555% 0;
		padding: 34px 5.555% 50px;
	}
	.percoll_flow_ttl {
		width: auto;
	}
	.percoll_flow_ttl h3 {
		font-size: 1.5rem;
		letter-spacing: .05em;
	}
	.percoll_flow_ttl h3 span:first-child {
		font-size: 2rem;
	}
	.percoll_flow_ttl h3 span:last-child {
		font-size: 1.8rem;
	}
	.percoll_flow .percoll_flow_list {
		width: auto;
		padding: 40px 0 0 25px;
		display: block;
	}
	.percoll_flow .percoll_flow_list p {
		font-size: 1.5rem;
		margin-left: 0;
		letter-spacing: .05em;
	}
	.percoll_flow .percoll_flow_list h4 {
		font-size: 1.8rem;
		margin: 0 0 10px;
	}
	.percoll_flow .percoll_flow_list li:nth-child(1) h4::before {
		width: 77px;
		height: 47px;
		background-size: 100% auto;
		vertical-align: middle;
		margin-right: 10px;
	}
	.percoll_flow .percoll_flow_list li:nth-child(1) {
		width: auto;
		border: none;
		padding: 0 0 0 40px;
	}
	.percoll_flow .percoll_flow_list li:nth-child(1)::after,
	.percoll_flow .percoll_flow_list li:nth-child(2)::after,
	.percoll_flow .percoll_flow_list li:nth-child(3)::after,
	.percoll_flow .percoll_flow_list li:nth-child(4)::after {
		content: "";
		display: block;
		width: 2px;
		height: auto;
		background: #000;
		position: absolute;
		left: 0;
		top: 25px;
		bottom: -50px;
	}
	.percoll_flow .percoll_flow_list li:nth-child(1)::before {
		width: 50px;
		height: 58px;
		background-size: 100% auto;
		left: -25px;
		z-index: 10;
	}
	.percoll_flow .percoll_flow_list li:nth-child(2) {
		width: auto;
		padding: 0 0 0 40px;
		margin-top: 50px;
	}
	.percoll_flow .percoll_flow_list li:nth-child(2)::before {
		width: 50px;
		height: 58px;
		background-size: 100% auto;
		left: -25px;
	}
	.percoll_flow .percoll_flow_list li:nth-child(2) h4 {
		margin: 0 0 10px;
		letter-spacing: .05em;
	}
	.percoll_flow .percoll_flow_list li:nth-child(2) h4::before {
		width: 82px;
		height: 44px;
		background-size: 100% auto;
		vertical-align: middle;
		margin-right: 10px;
	}
	.percoll_flow .percoll_flow_list li:nth-child(3) {
		width: auto;
		border: none;
		padding: 0 0 0 40px;
		margin-top: 50px;
	}
	.percoll_flow .percoll_flow_list li:nth-child(3)::before {
		width: 50px;
		height: 58px;
		background-size: 100% auto;
		left: -25px;
		top: 0;
	}
	.percoll_flow .percoll_flow_list li:nth-child(3) h4::before {
		width: 54px;
		height: 30px;
		background-size: 100% auto;
		vertical-align: middle;
		margin-right: 10px;
	}
	.percoll_flow .percoll_flow_list li:nth-child(4) {
		width: auto;
		padding: 0 0 0 40px;
		margin-top: 50px;
	}
	.percoll_flow .percoll_flow_list li:nth-child(4)::before {
		width: 50px;
		height: 58px;
		background-size: 100% auto;
		left: -25px;
	}
	.percoll_flow .percoll_flow_list li:nth-child(4) h4 {
		margin: 0 0 10px;
		letter-spacing: .05em;
	}
	.percoll_flow .percoll_flow_list li:nth-child(4) h4::before {
		width: 44px;
		height: 40px;
		background-size: 100% auto;
		vertical-align: middle;
		margin-right: 10px;
	}
	.percoll_flow .percoll_flow_list li:nth-child(5) {
		width: auto;
		border-top: none;
		padding: 0 0 0 40px;
		margin-top: 50px;
	}
	.percoll_flow .percoll_flow_list li:nth-child(5)::before {
		width: 50px;
		height: 50px;
		background-size: 100% auto;
		left: -25px;
		top: 0;
	}
	.percoll_flow .percoll_flow_list li:nth-child(5) h4 {
		margin: 0 0 10px;
	}
	.percoll_flow .percoll_flow_list li:nth-child(5) h4::before {
		width: 65px;
		height: 41px;
		background-size: 100% auto;
		vertical-align: middle;
		margin-right: 10px;
	}
	.percoll_flow .percoll_flow_list li:nth-child(5)::after {
		display: none;
	}
	.percoll_flow .percoll_flow_list .percoll_flow_note {
		font-size: 1.4rem;
		margin-right: 0;
	}
	.percoll_flow .percoll_flow_note {
		width: auto;
		margin-top: 50px;
	}
	.percoll_flow_note li {
		font-size: 1.4rem;
		margin-bottom: 5px;
	}
}

/* other_block
----------------------------------------*/
.other_block {
	padding: 39px 20px 0;
}
.other_block.relation {
	padding-bottom: 65px;
}
.other_block h2 {
	width: 960px;
	margin: 0 auto 33px;
	font-size: 3rem;
	letter-spacing: .075em;
}
.other_block.relation h2 {
	margin-bottom: 35px;
}
.other_block h2 span {
	color: #317003;
}
.other_list {
	width: 945px;
	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: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.other_list li {
	width: 454px;
	margin: 0 0 35px 37px;
	padding: 30px 25px 21px;
	box-shadow: 0 0 7px rgba(0,0,0,.2);
}
.other_block.relation .other_list li {
	background: #f9feff;
}
.other_list li:nth-child(2n+1) {
	margin-left: 0;
}
.other_list li h3 {
	text-align: center;
	color: #fff;
	background: #317003;
	font-size: 2.4rem;
	font-weight: normal;
	letter-spacing: .07em;
	padding: 2px 10px;
	margin: 0 -25px 24px;
}
.other_block.relation .other_list li h3 {
	background: #4aa706;
}
.other_list li p {
	font-size: 1.6rem;
	line-height: 1.9;
	letter-spacing: .04em;
}
.other_list li p strong {
	color: #317003;
}
.other_block.relation .other_list li p strong {
	color: #4aa706;
}
.other_block.relation .other_list li p a {
	text-decoration: underline;
}
.other_block.relation .other_list li p a:hover {
	text-decoration: none;
}
@media only screen and (max-width: 768px) {
	.other_block {
		padding: 30px 5% 0;
	}
	.other_block.relation {
		padding-bottom: 30px;
	}
	.other_block h2 {
		width: auto;
		margin: 0 auto 30px;
		font-size: 2rem;
		letter-spacing: .05em;
	}
	.other_block.relation h2 {
		margin-bottom: 30px;
	}
	.other_list {
		width: auto;
		display: block;
	}
	.other_list li {
		width: auto;
		margin: 0 0 25px;
		padding: 20px 15px;
	}
	.other_list li h3 {
		font-size: 1.7rem;
		letter-spacing: .05em;
		padding: 3px 10px;
		margin: 0 -15px 15px;
	}
	.other_list li p {
		font-size: 1.5rem;
	}
	.other_block.relation .other_list li p a:hover {
		text-decoration: underline;
	}
}

/* case_block
----------------------------------------*/
.case_block {
	padding: 39px 20px 73px;
}
.case_block h2 {
	text-align: center;
	font-size: 1.6rem;
	letter-spacing: .08em;
	margin-bottom: 10px;
	font-weight: 400;
}
.case_block h2 span {
	color: #009bff;
	font-weight: 700;
}
.case_block h2 span:last-child {
	font-size: 2.6rem;
}
.case_block > p {
	text-align: center;
	font-size: 1.6rem;
	line-height: 1.9;
	letter-spacing: .08em;
}
.case_block > p.case_note {
	font-size: 1.2rem;
	margin-top: 5px;
}
.case_btn {
	max-width: 67rem;
	margin: 4.8rem auto 5.4rem;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 5rem;
}
.case_btn a {
	display: block;
	border: 1px solid #000;
	text-align: center;
	font-size: 1.4rem;
	letter-spacing: .12em;
	padding: 1.35rem 1rem 1.35rem 0;
}
.case_btn a::after {
	content: '';
	display: block;
	width: .7rem;
	height: .7rem;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	bottom: 0;
	right: 2.2rem;
	margin: auto 0;
}
.case_btn a[href^="#"]::after {
	transform: rotate(135deg);
	bottom: .3rem;
}

.case_block_description{
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 960px;
  margin: 0 auto 25px;
}
.case_block_description p{
	font-size: 1.6rem;
	line-height: 1.9;
	letter-spacing: .08em;
}
.case_item {
	width: 960px;
	margin: 0 auto;
	padding: 45px 0;
	font-size: 1.6rem;
}
.case_item h3 {
	border-bottom: 2px solid #333;
	font-size: 3.5rem;
	color: #009bff;
	line-height: 1.4;
	letter-spacing: .075em;
	padding-bottom: 30px;
	margin-bottom: 42px;
}
.case_item p {
	font-size: 1.6rem;
	letter-spacing: .07em;
	margin-left: 2px;
}
.case_item p + p {
	margin-top: 24px;
}
.case_item figure {
	margin: 35px 0 34px;
}
.case_item p a {
	color: #009bff;
	text-decoration: underline;
}
.case_item p a:hover {
	text-decoration: none;
}
.case_pickup {
	background: #f3f3f3;
	margin: 0 -20px 87px;
	padding: 0 0 8.6rem;
}
.case_pickup h3 {
	background: url(../img/case/bg_pickup_title_01.png);
	color: #fff;
	text-align: center;
	font-size: 3rem;
	padding: 12px 12px 14px;
	letter-spacing: .08em;
	margin-bottom: 4rem;
}
.case_pickup h3 span {
	font-size: 4rem;
	color: #faee2a;
}
.case_pickup_item {
	width: 94rem;
	margin: 0 auto;
	background: #fff;
	padding: 3.5rem;
	display: flex;
	align-items: flex-start;
	transition: opacity .3s;
}
@media (hover:hover) {
	.case_pickup_item:hover {
		opacity: .6;
	}
}
.case_pickup_item + .case_pickup_item {
	margin-top: 2rem;
}
.case_pickup_item figure {
	width: 22.5rem;
}
.case_pickup_item figure img {
	display: block;
}
.case_pickup_txt {
	padding: 0 0 0 3.4rem;
	margin-top: -.5rem;
	flex: 1;
}
.case_pickup_txt h4 {
	font-size: 1.8rem;
	line-height: 1.6667;
	margin-bottom: 13px;
	letter-spacing: .03em;
}
.case_pickup_txt h5 {
	font-size: 1.6rem;
	color: #009bff;
	line-height: 1.5;
	margin: 0 0 0 .3rem;
	letter-spacing: -.01em;
}
.case_pickup_txt p {
	letter-spacing: .03em;
	font-size: 1.6rem;
	line-height: 1.5;
	margin: 2.6rem 0 0 .3rem;
}
.case_block .case_search h2 {
	text-align: center;
	font-size: 2.4rem;
	margin-bottom: 5rem;
}
.case_block .case_search h2 span {
	display: block;
	font-size: 4.5rem;
	color: #009bff;
}
.case_search {
	max-width: 96.2rem;
	margin: 0 auto;
}
.case_block .case_search h2 img {
	width: 4.4rem;
	margin: 0 .5rem;
	vertical-align: -.5rem;
}
.case_search_tab {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: .5rem;
	margin-bottom: 2.9rem;
}
.case_search_tab a {
	display: block;
	width: 100%;
	appearance: none;
	border-radius: 0;
	background: #eef3ff;
	border: .1rem solid #cecece;
	padding: 1.7rem;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: .1em;
	color: #009bff;
	text-align: center;
	cursor: pointer;
}
.case_search_tab li.current a {
	background: #009bff;
	border-color: #009bff;
	color: #fff;
}
.case_search_tab li.current a::after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 1rem .9rem 0;
	border-color: #009bff transparent transparent;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -.9rem;
	margin: 0 auto;
}
.case_search_btn {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}
.case_search_btn a {
	display: block;
	text-align: center;
	min-width: 31.3rem;
	border: .1rem solid #cecece;
	font-size: 1.5rem;
	padding: 1.5rem 1rem;
	letter-spacing: .1em;
	transition: background .3s, color .3s;
}
.case_search_btn li.current a {
	background: #009bff;
	border-color: #009bff;
	color: #fff;
	font-weight: 700;
}
.case_item_head {
	display: flex;
	margin-bottom: 6rem;
}
.case_item_head figure {
	width: 40rem;
	order: 1;
	margin: 0;
}
.case_item_head figure img {
	max-width: 100%;
}
.case_item_head_txt {
	flex: 1;
	padding-right: 6rem;
}
.case_item_head_txt h4 {
	font-size: 2.3rem;
	line-height: 2;
	letter-spacing: .07em;
	margin: -1.3rem 0 5.7rem;
}
.case_item_head dl {
	display: flex;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.875;
	letter-spacing: .07em;
}
.case_item_head dl dt {
	white-space: nowrap;
}
.case_item_head dl dt::after {
	content: '：';
}
.case_item_head dl dd {
	color: #0a4f86;
}
.case_item h5 {
	background: #f4f7f9;
	font-size: 1.6rem;
	letter-spacing: .08em;
	margin: 5rem 0 2.5rem;
	padding: .6rem 2.5rem;
}
.case_item p {
	line-height: 1.875;
}
.case_item_txt {
	margin-bottom: 4rem;
}
.case_item_txt:last-child {
	margin-bottom: 0;
}
.case_item_img {
	display: flex;
	align-items: flex-start;
	gap: 4rem;
	margin-bottom: 4rem;
}
.case_item_img figure {
	width: 40rem;
	margin: 0;
}
.case_item_img_txt {
	flex: 1;
	margin-top: -.9rem;
}
@media (hover:hover) {
	.case_search_btn a:hover {
		background: #eef3ff;
		color: #009bff;
	}
}
@media only screen and (max-width: 768px) {
	.case_block {
		padding: 30px 5% 50px;
	}
	.case_block h2 {
		letter-spacing: .05em;
	}
	.case_block h2 span:last-child {
		font-size: 2.1rem;
	}
	.case_block > p {
		font-size: 1.5rem;
		letter-spacing: .05em;
		text-align: left;
	}
	.case_block > p.case_note {
		margin-left: 1em;
		text-indent: -1em;
	}

	.case_block_description{
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-direction: column;
		width: auto;
		margin: 0 auto 25px;
	}
	.case_block_description p{
		font-size: 1.4rem;
		line-height: 1.9;
		letter-spacing: .08em;
	}
	.case_block_description .percoll_point_btn,
	.case_block_description > div {
		width: 100%;
	}
	.case_item {
		width: auto;
		margin: 0 auto;
		padding: 3rem 0;
		font-size: 1.5rem;
	}
	.case_item h3 {
		border-bottom: 2px solid #333;
		font-size: 2rem;
		letter-spacing: .05em;
		padding-bottom: 2rem;
		margin-bottom: 25px;
	}
	.case_item p {
		font-size: 1.5rem;
		letter-spacing: .05em;
		margin-left: 0;
	}
	.case_item p a:hover {
		text-decoration: underline;
	}
	.case_btn {
		max-width: none;
		margin: 3rem auto 5.4rem;
		display: block;
	}
	.case_btn a + a {
		margin-top: 2rem;
	}
	.case_pickup {
		margin: 0 -5vw 5rem;
		padding: 0 0 5rem;
	}
	.case_pickup h3 {
		font-size: 2rem;
		padding: 1rem;
		margin-bottom: 3rem;
	}
	.case_pickup h3 span {
		font-size: 2.8rem;
	}
	.case_pickup_item {
		width: 90%;
		padding: 1.5rem;
		display: block;
	}
	.case_pickup_item figure {
		width: auto;
	}
	.case_pickup_item figure img {
		width: 100%;
	}
	.case_pickup_txt {
		padding: 0;
		margin-top: 2rem;
	}
	.case_pickup_txt h4 {
		font-size: 1.7rem;
	}
	.case_pickup_txt h5 {
		font-size: 1.5rem;
	}
	.case_pickup_txt p {
		font-size: 1.5rem;
		margin: 2rem 0 0;
	}
	.case_block .case_search h2 {
		font-size: 2rem;
		margin-bottom: 3rem;
	}
	.case_block .case_search h2 span {
		font-size: 3.5rem;
	}
	.case_block .case_search h2 img {
		width: 3.6rem;
	}
	.case_search_tab {
		display: flex;
		gap: 0;
		justify-content: space-between;
		margin-bottom: 1.5rem;
	}
	.case_search_tab a {
		padding: 1rem .7rem;
		font-size: 1.3rem;
	}
	.case_search_btn {
		gap: .5rem;
	}
	.case_search_btn li {
		min-width: calc(50% - .25rem);
	}
	.case_search_btn#purpose li {
		min-width: 100%;
	}
	.case_search_btn a {
		min-width: 0;
		font-size: 1.4rem;
		padding: 1rem .5rem;
		letter-spacing: .05em;
	}
	.case_item_head {
		display: block;
		margin-bottom: 4rem;
	}
	.case_item_head figure {
		width: auto;
		margin: 0 0 2rem;
	}
	.case_item_head_txt {
		padding-right: 0;
	}
	.case_item_head_txt h4 {
		font-size: 2rem;
		line-height: 1.5;
		margin: -1.3rem 0 3rem;
	}
	.case_item_head dl {
		font-size: 1.5rem;
		line-height: 1.6;
	}
	.case_item h5 {
		margin: 4rem 0 2rem;
		padding: .6rem 2rem;
	}
	.case_item p {
		line-height: 1.65;
	}
	.case_item_img {
		display: block;
	}
	.case_item_img figure {
		width: auto;
		margin: 0 0 2rem;
	}
}

/* message_block
----------------------------------------*/
.message_block {
	padding: 47px 20px 90px;
}
.message_inner {
	margin: 0 auto;
	width: 960px;
}
.message_inner > p {
	font-size: 1.6rem;
	margin: 33px 40px 0;
	line-height: 1.9;
	letter-spacing: .03em;
}
.message_inner > p + p {
	margin-top: 51px;
}
.message_profile {
	padding: 0px 0 0 0px;
	background: #f4f4f4;
	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;
}
/*
20251002_updata

.message_profile {
	padding: 18px 0 0 46px;
	background: #f4f4f4;
	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;
}
*/

.message_profile figure {
	width: 228px;
}
.message_profile figure img {
	display: block;
}
.message_text {
	width: calc(100% - 228px);
	padding: 0 0 23px 66px;
	font-size: 2rem;
	font-weight: bold;
}
.message_text p {
	letter-spacing: .04em;
}
.message_text h2 {
	font-size: 2.4rem;
	letter-spacing: .025em;
	margin-bottom: 27px;
}
.message_text h2 img {
	width: 178px;
	display: block;
	margin: 0 0 7px 1px;
}
.message_inner > .message_bnr {
	text-align: right;
	margin-top: 20px;
}
.message_bnr a {
	display: inline-block;
	-webkit-transition: opacity 300ms;
	transition: opacity 300ms;
}
.message_bnr a:hover {
	opacity: .6;
}
.message_bnr a img {
	display: block;
}
@media only screen and (max-width: 768px) {
	.message_block {
		padding: 30px 5% 50px;
	}
	.message_inner {
		width: auto;
	}
	.message_inner > p {
		font-size: 1.5rem;
		margin: 33px 0 0;
	}
	.message_inner > p + p {
		margin-top: 30px;
	}
	.message_profile {
		padding: 18px 3% 0;
		-webkit-box-align: end;
		-ms-flex-align: end;
		align-items: flex-end;
	}
	.message_profile figure {
		width: 85px;
		margin: 0;
	}
	.message_text {
		width: calc(100% - 85px);
		padding: 0 0 10px 15px;
		font-size: 1.3rem;
		position: static;
	}
	.message_text h2 {
		font-size: 1.4rem;
		margin-bottom: 10px;
	}
	.message_bnr a {
		width: 200px;
	}
	.message_bnr a:hover {
		opacity: 1;
	}
}

/* vision_block
----------------------------------------*/
.vision_block {
	background: url(../img/company/vision/bg_01.jpg) no-repeat center top;
	color: #fff;
	min-height: 1026px;
	font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", serif;
	margin: 58px 0 96px;
}
.vision_inner {
	width: 660px;
	margin: 0 auto;
	padding: 80px 0 0;
}
.vision_inner h2 {
	font-size: 1.8rem;
	font-weight: normal;
	letter-spacing: .01em;
	margin-bottom: 43px;
}
.vision_inner ul {
	font-size: 2.4rem;
	line-height: 2.7;
	letter-spacing: .05em;
}
.vision_inner ul li {
	text-indent: -.7em;
	margin-bottom: .5px;
	letter-spacing: .03em;
}
.vision_inner ul li:last-child {
	text-indent: 0;
	letter-spacing: .025em;
}
.vision_inner .vision_logo {
	text-align: right;
	margin-top: 102px;
}
.vision_inner .vision_logo img {
	width: 242px;
}
@media only screen and (max-width: 768px) {
	.vision_block {
		background-size: auto 100%;
		min-height: 650px;
		margin: 30px 0 50px;
	}
	.vision_block {
		background-size: auto 100%;
	}
	.vision_inner {
		width: 100%;
		padding: 40px 5% 0;
		text-align: center;
	}
	.vision_inner h2 {
		font-size: 1.5rem;
		margin-bottom: 20px;
	}
	.vision_inner ul {
		font-size: 1.6rem;
		line-height: 1.6;
	}
	.vision_inner ul li {
		margin-bottom: 20px;
	}
	.vision_inner .vision_logo {
		margin-top: 40px;
	}
	.vision_inner .vision_logo img {
		width: 180px;
	}
}
@media only screen and (max-width: 414px) {
	.vision_inner {
		text-align: left;
	}
}

/* outline_block
----------------------------------------*/
.outline_block {
	width: 960px;
	padding: 0 30px;
	margin: 43px auto 102px;
}
.outline_block table {
	width: 100%;
	border-top: 1px solid #ccc;
	border-collapse: collapse;
}
.outline_block table th {
	width: 198px;
	text-align: left;
	background: url(../img/common/bg_th.png);
	border-bottom: 1px solid #ccc;
	padding: 10px 0 10px 25px;
	font-size: 1.6rem;
	letter-spacing: .04em;
	vertical-align: top;
	position: static;
}
.outline_block table td {
	border-bottom: 1px solid #ccc;
	padding: 10px 0 10px 25px;
	font-size: 1.6rem;
	letter-spacing: .03em;
	position: static;
}
.outline_block table td dl {
	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;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.outline_block table td dl dt {
	width: 9em;
}
.outline_block table td dl dd {
	width: calc(100% - 9em);
}
.outline_graph {
	width: 459px;
	margin: 11px 5px 21px;
}
.outline_number {
	font-size: 1.8rem;
}
.outline_number a {
	pointer-events: none;
}
.outline_office {
	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;
	padding: 5px 0 20px;
}
.outline_office li {
	font-size: 1.6rem;
	margin: 0 0 6px 1em;
	text-indent: -1em;
}
.outline_office li::before {
	content: "・";
}
.outline_office_text {
	width: 278px;
}
.outline_office figure {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	padding-top: 8px;
}
.outline_office figure img {
	order: 1;
}
.outline_office figure figcaption {
	order: 0;
	font-size: 1.4rem;
	margin-right: 14px;
	margin-bottom: -3px;
}
.outline_office_btn {
	margin-top: 12px;
}
.outline_office_btn a {
	display: inline-block;
	border: solid 1px #000;
	min-width: 246px;
	padding: 5px 30px 6px 26px;
	letter-spacing: .03em;
	-webkit-transition: opacity 300ms;
	transition: opacity 300ms;
}
.outline_office_btn a:hover {
	opacity: .6;
}
.outline_office_btn a::after {
	content: "";
	display: block;
	width: 22px;
	height: 10px;
	background: url(../img/common/btn_more_arrow_02.png) no-repeat left top / 100%;
	position: absolute;
	top: 50%;
	right: 23px;
	margin: -5px -10px 0 0;
}
@media only screen and (min-width: 768px) {
	.outline_office_btn a:hover::after {
		animation-fill-mode: forwards;
		animation-duration: 600ms;
		animation-name: movex01;
	}
}
.outline_map {
	margin: 10px 0 17px;
}
.outline_map iframe {
	display: block;
	border: none;
	width: 100%;
	height: 260px;
}
.outline_partner {
	padding: 4px 0 16px;
}
.outline_partner li {
	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;
}
.outline_partner li a {
	display: block;
	-webkit-transition: opacity 300ms;
	transition: opacity 300ms;
}
.outline_partner li a:hover {
	opacity: .6;
}
.outline_partner img {
	display: block;
}
.outline_partner li + li {
	margin-top: 35px;
}
.outline_partner_info {
	margin-left: 38px;
	padding-top: 9px;
}
.outline_bnr {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
	margin-top: 1.5rem;
}
.outline_bnr a {
	display: block;
	transition: opacity .3s;
}
@media (hover:hover) {
	.outline_bnr a:hover {
		opacity: .6;
	}
}
@media only screen and (max-width: 768px) {
	.outline_block {
		width: auto;
		padding: 0 5%;
		margin: 30px auto 50px;
	}
	.outline_block table,
	.outline_block tbody,
	.outline_block tr,
	.outline_block th,
	.outline_block td {
		display: block;
	}
	.outline_block table th {
		width: 100%;
		font-size: 1.5rem;
		padding: 10px 5%;
	}
	.outline_block table td {
		font-size: 1.5rem;
		padding: 10px 5%;
	}
	.outline_graph {
		width: 100%;
		margin: 0;
	}
	.outline_number a {
		pointer-events: auto;
	}
	.outline_office {
		display: block;
		padding: 0;
		margin-bottom: 30px;
	}
	.outline_office li {
		font-size: 1.5rem;
	}
	.outline_office_text {
		width: 100%;
		margin-bottom: 20px;
	}
	.outline_office figure {
		width: 100%;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
	.outline_office figure img {
		width: 150px;
	}
	.outline_office_btn a {
		min-width: 100%;
	}
	.outline_office_btn a:hover {
		opacity: 1;
	}
	.outline_map {
		margin: 5px 0;
	}
	.outline_partner {
		padding: 0;
	}
	.outline_partner li {
		display: block;
	}
	.outline_partner li a:hover {
		opacity: 1;
	}
	.outline_partner_info {
		margin-left: 0;
		padding-top: 9px;
	}
	.outline_bnr {
		justify-content: center;
		align-items: center;
		gap: 1rem 3rem;
	}
}

/* history_block
----------------------------------------*/
.history_block {
	padding: 49px 20px 100px;
}
.history_inner {
	width: 960px;
	margin: 0 auto;
}
.history_inner table {
	width: 100%;
	border-bottom: 1px solid #333;
	border-collapse: collapse;
	color: #333;
	font-size: 1.6rem;
}
.history_inner table .history_th01 {
	width: 128px;
	background: #ddf2ff;
	vertical-align: top;
	border-top: 1px solid #333;
	border-right: 1px solid #333;
	font-weight: normal;
	padding: 10px 10px 9px;
	position: static;
}
.history_inner table .history_th02 {
	width: 61px;
	background: #edf6fc;
	vertical-align: top;
	border-top: 1px solid #333;
	border-right: 1px solid #333;
	font-weight: normal;
	padding: 10px 10px 9px;
	position: static;
}
.history_inner table td {
	border-top: 1px solid #333;
	padding: 10px 0 9px 45px;
	letter-spacing: .03em;
	position: static;
}
.history_inner table td:first-child {
	border-top: 1px dotted #333;
}
@media only screen and (max-width: 768px) {
	.history_block {
		padding: 10px 5% 50px;
	}
	.history_inner {
		width: auto;
	}
	.history_inner table {
		font-size: 1.5rem;
	}
	.history_block table,
	.history_block tbody,
	.history_block tr,
	.history_block th,
	.history_block td {
		display: block;
	}
	.history_inner table .history_th01 {
		width: 100%;
		border-right: none;
		padding: 10px;
		margin-top: 20px;
	}
	.history_inner table .history_th02 {
		width: 100%;
		border-right: none;
		padding: 10px;
	}
	.history_inner table td {
		padding: 10px 0;
	}
}


/* sdgs_block
----------------------------------------*/
.sdgs_block {
  width: 100%;
  padding: 47px 20px 90px;
}
.sdgs_inner {
	margin: 0 auto;
	width: 960px;
}
.sdgs_inner h2{
  font-size: 3rem;
  font-weight: bold;
  margin-bottom: 30px;
}
.sdgs_inner > p {
	font-size: 1.6rem;
	line-height: 1.9;
	letter-spacing: .03em;
}
.sdgs_inner > p + p {
	margin-top: 30px;
}
.sdgs_inner > p + h2 {
	margin-top: 60px;
}

.sdgs_inner > p a{
  color: #009bff;
  text-decoration: underline;
}
.sdgs_inner > p a:hover{
  text-decoration: none;
}
.sdgs_list{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 65px auto 0;
}
.sdgs_list_item{
  width: 220px;
}
.sdgs_list_item:nth-child(n + 5){
  margin-top: 60px;
}
.sdgs_list_item figure{
  width: 100%;
  margin-bottom: 20px;
}
.sdgs_list_item figure img{
  width: 100%;
}
.sdgs_list_item ul li + li{
  margin-top: 13px;
}

@media only screen and (max-width: 768px) {
	.sdgs_block {
		padding: 30px 5% 50px;
	}
	.sdgs_inner {
		width: auto;
	}
  .sdgs_inner h2{
    font-size: 1.7rem;
    margin-bottom: 20px;
  }
	.sdgs_inner > p {
		font-size: 1.5rem;
		margin: 33px 0 0;
	}
  .sdgs_list{
    margin: 40px auto 0;
  }
  .sdgs_list_item{
    width: calc(50% - 5px);
  }
  .sdgs_list_item:nth-child(n + 3){
    margin-top: 2.5em;
  }
  .sdgs_list_item:nth-child(n + 5){
    margin-top: 2.5em;
  }
  .sdgs_list_item figure{
    margin-bottom: 1em;
  }
  .sdgs_list_item ul li + li{
    margin-top: .8em;
  }
}


/* contact_block
----------------------------------------*/
.contact_block,
.recruit_block {
	width: 840px;
	padding: 39px 20px 101px;
	margin: 0 auto;
	color: #333;
}
.contact_txt {
	text-align: center;
}
.recruit_block h2 {
	font-size: 2rem;
	line-height: 1.8;
	margin-bottom: 90px;
}
.contact_block h2,
.recruit_block table + h2 {
	text-align: center;
	font-weight: bold;
	font-size: 1.6rem;
	line-height: 1.9;
	letter-spacing: .075em;
	margin-bottom: 0;
}
.contact_block > p,
.recruit_block > p {
	margin: 0 41px;
	font-size: 1.6rem;
	letter-spacing: .06em;
}
.contact_block table th span,
.recruit_block table th span {
	font-size: 1.4rem;
}
.contact_required {
	font-weight: bold;
	color: #ff0000;
	font-size: 1.6rem !important;
}
.contact_flow {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin: 32px 0 35px;
}
.contact_flow li {
	width: 73px;
	height: 73px;
	margin: 0 14px;
	background: #ededed;
	border-radius: 50%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	color: #a8a8a8;
	letter-spacing: .07em;
}
.contact_flow li + li::before {
	content: "";
	width: 8px;
	height: 2px;
	background: #c7c7c7;
	position: absolute;
	left: -19px;
	top: 50%;
	margin-top: -2px;
}
.contact_flow li.current {
	background: #008be5;
	color: #fff;
	font-weight: bold;
}
.contact_block table,
.recruit_block table {
	width: 100%;
	border-collapse: collapse;
	border-top: 1px solid #f3f3f3;
	margin: 26px 0 31px;
	font-size: 1.6rem;
}
.contact_block table th,
.recruit_block table th {
	width: 245px;
	background: #f3f3f3;
	vertical-align: top;
	border-bottom: 1px solid #fff;
	font-weight: normal;
	text-align: left;
	padding: 31px 10px 31px 44px;
	letter-spacing: .08em;
	position: static;
}
.contact_block table tr:last-child th,
.recruit_block table tr:last-child th {
	border-bottom: 1px solid #f3f3f3;
}
.contact_block table th .contact_required,
.recruit_block table th .contact_required {
	margin-left: 5px;
}
.contact_block table td,
.recruit_block table td {
	padding: 23px 10px 23px 44px;
	border-bottom: 1px solid #f3f3f3;
	vertical-align: top;
	position: static;
}
.contact_block table td p:only-child {
	padding-top: .7rem;
}
.contact_radio {
	margin: 12px 0 14px 2px;
	letter-spacing: .07em;
}
.contact_disabled {
	opacity: .5;
}
.contact_radio li + li {
	margin-top: 20px;
}
.recruit_block .contact_radio,
.contact_radio.flex {
	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;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: -20px 0 0;
	width: 501px;
}
.recruit_block .contact_radio li {
	width: 218px;
	margin-top: 20px;
}
.contact_radio.flex {
	padding: 10px 0;
}
.contact_radio.flex li {
	width: 33.333%;
	margin: 10px 0;
}
.recruit_block .contact_radio li:nth-child(2n) {
	width: 225px;
}
.recruit_block .contact_radio.inline li,
.recruit_block .contact_radio li:nth-child(2n) {
	width: auto;
	margin-top: 20px;
}
.recruit_block .contact_radio li:nth-child(2n) {
	margin-left: 30px;
}
.contact_radio input[type="radio"] {
	-webkit-appearance: none;
	appearance: none;
	width: 25px;
	height: 25px;
	border-radius: 50%;
	border: 1px solid #c9c9c9;
	vertical-align: -6px;
	margin-right: 14px;
	position: relative;
}
.contact_radio input[type="checkbox"] {
	-webkit-appearance: none;
	appearance: none;
	width: 25px;
	height: 25px;
	border: 1px solid #c9c9c9;
	vertical-align: -6px;
	margin-right: 14px;
	position: relative;
}
.contact_radio input[type="radio"]:focus,
.contact_radio input[type="checkbox"]:focus {
	outline: none;
}
.contact_radio input[type="radio"]:checked::before {
	content: "";
	display: block;
	width: 13px;
	height: 13px;
	border-radius: 50%;
	background: #008be5;
	position: absolute;
	top: 5px;
	left: 5px;
}
.contact_radio input[type="checkbox"]:checked::before {
	content: "";
	display: block;
	border-left: 3px solid #008be5;
	border-bottom: 3px solid #008be5;
	width: 12px;
	height: 6px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	position: absolute;
	left: 4px;
	top: 5px;
}
.contact_block input[type="text"],
.contact_block textarea,
.recruit_block input[type="text"],
.recruit_block textarea {
	border: 1px solid #c4c4c4;
	font-family: inherit;
	padding: 7px 19px;
	width: 465px;
	border-radius: 0;
}
.contact_block input[type="text"].error,
.contact_block textarea.error,
.recruit_block input[type="text"].error,
.recruit_block textarea.error,
.recruit_block select.error {
	background-color: #fff0f0;
}
.contact_block textarea,
.recruit_block textarea {
	height: 214px;
	padding: 19px;
	resize: vertical;
}
:placeholder-shown {
	color: #aaa;
}
::-webkit-input-placeholder {
	color: #aaa;
}
:-moz-placeholder {
	color: #aaa;
	opacity: 1;
}
::-moz-placeholder {
	color: #aaa;
	opacity: 1;
}
:-ms-input-placeholder {
	color: #aaa;
}
.contact_block input[type="text"][name="postcode"],
.contact_block input[type="text"][name="postcode2"],
.recruit_block input[type="text"][name="postcode"],
.recruit_block input[type="text"][name="postcode2"],
.recruit_block input[type="text"][name="name1;s"],
.recruit_block input[type="text"][name="name2;s"],
.recruit_block input[type="text"][name="kana1;s"],
.recruit_block input[type="text"][name="kana2;s"] {
	width: 184px;
	margin-left: 15px;
}
.contact_block input[type="text"][name="addr01"],
.contact_block input[type="text"][name="house_number"],
.contact_block input[type="text"][name="addr02"],
.contact_block input[type="text"][name="house_number02"],
.recruit_block input[type="text"][name="addr01"],
.recruit_block input[type="text"][name="house_number"],
.recruit_block input[type="text"][name="addr02"],
.recruit_block input[type="text"][name="house_number02"] {
	width: 365px;
}
.contact_block input[type="text"][name="start_year"],
.contact_block input[type="text"][name="end_year"],
.recruit_block input[type="text"][name="start_year"],
.recruit_block input[type="text"][name="end_year"] {
	width: 80px;
	padding: 7px 9px;
}
.contact_block input[type="text"][name="start_month"],
.contact_block input[type="text"][name="end_month"],
.recruit_block input[type="text"][name="start_month"],
.recruit_block input[type="text"][name="end_month"] {
	width: 50px;
	padding: 7px 9px;
}
.recruit_block input[type="text"][name="year;s"] {
	width: 143px;
}
.recruit_block select[name="month;s"],
.recruit_block select[name="day;s"] {
	width: 99px;
}
.recruit_block input[type="text"]#email {
	margin-bottom: 12px;
}
.recruit_block input[type="text"]#emailRe {
	width: calc(100% - 6em);
}
.contact_block select,
.recruit_block select {
	-webkit-appearance: none;
	appearance: none;
	font-family: inherit;
	font-size: 1.6rem;
	color: #333;
	width: 232px;
	height: 40px;
	border-radius: 0;
	padding: 7px 35px 7px 25px;
	background: url(../img/common/icon_select_arrow.svg) no-repeat right top;
	border: 1px solid #c4c4c4;
}
.contact_block select::-ms-expand,
.recruit_block select::-ms-expand {
	display: none;
}
.contact_block dl,
.recruit_block dl {
	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;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-top: 3px;
	width: 500px;
}
.contact_block dl dt,
.recruit_block dl dt {
	width: 100px;
	padding-top: 8px;
	margin-top: 15px;
	letter-spacing: .05em;
}
.contact_block dl dt:nth-last-child(2),
.recruit_block dl dt:nth-last-child(2) {
	width: 100%;
	margin-top: 4px;
	letter-spacing: .07em;
}
.contact_block dl dd,
.recruit_block dl dd {
	width: calc(100% - 100px);
	margin-top: 15px;
}
.contact_block dl dd:last-child,
.recruit_block dl dd:last-child {
	width: 100%;
	margin-top: 7px;
}
.contact_privacy_policy {
	overflow: auto;
	height: 243px;
	border: 1px solid #c4c4c4;
	margin: 21px 0 60px;
	padding: 10px 15px;
	font-size: 1.6rem;
	letter-spacing: .05em;
	color: #333;
}
.contact_privacy_policy a:hover {
	text-decoration: underline;
}
.contact_privacy_policy h3 {
	font-size: 1.8rem;
	letter-spacing: .08em;
	margin-bottom: 23px;
}
.contact_privacy_policy h4 {
	letter-spacing: .05em;
	font-size: 1.6rem;
	margin-top: 24px;
}
.contact_block .contact_btn,
.recruit_block .contact_btn {
	margin: 0;
}
.contact_back_btn button,
.contact_send_btn button,
.contact_btn button {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	border: 1px solid #333;
	color: inherit;
	background: #f3f3f3;
	font-family: inherit;
	font-weight: bold;
	font-size: 1.6rem;
	padding: 27px;
	letter-spacing: .13em;
	cursor: pointer;
	border-radius: 0;
	-webkit-transition: color 300ms, background 300ms;
	transition: color 300ms, background 300ms;
}
.contact_btn button::after {
	content: "";
	width: 10px;
	height: 18px;
	display: block;
	background: url(../img/common/icon_btn_arrow.svg);
	position: absolute;
	top: 50%;
	right: 23px;
	margin: -9px -5px 0 0;
}
.contact_block label.error,
.recruit_block label.error {
	display: block;
	color: #f00;
}
.contact_confirm_btn {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
}
.contact_confirm_btn p + p {
	margin-left: 30px;
}
.contact_back_btn button,
.contact_send_btn button {
	width: 385px;
	background: #dbdbdb;
}
.contact_send_btn button {
	background: #008be5;
	color: #fff;
}
.contact_back_btn button::after {
	content: "";
	width: 10px;
	height: 18px;
	display: block;
	background: url(../img/common/icon_btn_arrow.svg);
	transform: scale(-1, 1);
	position: absolute;
	top: 50%;
	left: 23px;
	margin: -9px 0 0 -5px;
}
.contact_send_btn button::after {
	content: "";
	width: 10px;
	height: 18px;
	display: block;
	background: url(../img/common/icon_btn_arrow_send.svg);
	position: absolute;
	top: 50%;
	right: 23px;
	margin: -9px -5px 0 0;
}
.contact_model {
	background: #f6fbff;
	color: #009bff;
	font-weight: bold;
	font-size: 2rem;
	letter-spacing: .08em;
	padding: 2.6rem 2.5rem 3.5rem;
	margin: 4.7rem 0;
}
@media only screen and (min-width: 768px) {
	.contact_btn button:hover,
	.contact_back_btn button:hover,
	.contact_send_btn button:hover {
		color: #008be5;
		background: #fff;
	}
	.contact_btn button:hover::after,
	.contact_back_btn button:hover::after,
	.contact_send_btn button:hover::after {
		background: url(../img/common/icon_btn_arrow_on.svg);
		animation-fill-mode: forwards;
		animation-duration: 600ms;
		animation-name: movex01;
	}
	.contact_back_btn button:hover::after {
		background: url(../img/common/icon_btn_arrow_on.svg);
		animation-fill-mode: forwards;
		animation-duration: 600ms;
		animation-name: movex02;
	}
}
.contact_block.thanks,
.recruit_block.thanks {
	text-align: center;
}
.contact_block.thanks h3,
.recruit_block.thanks h3 {
	font-size: 2.4rem;
	margin-top: 48px;
	letter-spacing: .08em;
	margin-bottom: 15px;
}
.contact_block.thanks > p,
.recruit_block.thanks > p {
	line-height: 1.9;
	letter-spacing: .08em;
}
@media only screen and (max-width: 768px) {
	.contact_block,
	.recruit_block {
		width: auto;
		padding: 30px 5% 50px;
	}
	.contact_txt {
		text-align: left;
	}
	.contact_block h2,
	.recruit_block h2,
	.recruit_block table + h2 {
		text-align: left;
		font-size: 1.5rem;
		letter-spacing: .05em;
		margin-bottom: 0;
	}
	.contact_block > p,
	.recruit_block > p {
		margin: 0;
		font-size: 1.5rem;
		letter-spacing: .05em;
	}
	.contact_block table th span,
	.recruit_block table th span {
		font-size: 1.3rem;
	}
	.recruit_block .contact_radio:not(.inline) {
		display: block;
	}
	.recruit_block .contact_radio:not(.inline) li {
		width: auto;
	}
	.recruit_block .contact_radio li:nth-child(2n) {
		width: auto;
	}
	.recruit_block .contact_radio.inline li,
	.recruit_block .contact_radio li:nth-child(2n) {
		width: auto;
	}
	.recruit_block .contact_radio:not(.inline) li:nth-child(2n) {
		margin-left: 0;
	}
	.contact_radio.flex {
		width: auto;
	}
	.contact_radio.flex li {
		width: 50%;
	}
	.contact_required {
		font-size: 1.5rem !important;
	}
	.contact_flow {
		margin: 30px 0;
	}
	.contact_flow li {
		width: 60px;
		height: 60px;
		margin: 0 12px;
	}
	.contact_flow li + li::before {
		left: -17px;
	}
	.contact_block table,
	.contact_block tbody,
	.contact_block tr,
	.contact_block th,
	.contact_block td,
	.recruit_block table,
	.recruit_block tbody,
	.recruit_block tr,
	.recruit_block th,
	.recruit_block td {
		display: block;
	}
	.contact_block table,
	.recruit_block table {
		margin: 20px 0 30px;
		font-size: 1.5rem;
	}
	.contact_block table th,
	.recruit_block table th {
		width: 100%;
		padding: 15px;
		letter-spacing: .05em;
	}
	.contact_block table td,
	.recruit_block table td {
		padding: 10px 15px 30px;
	}
	.contact_block table td p:only-child {
		padding-top: 0;
	}
	.contact_radio {
		margin: 0;
		letter-spacing: .05em;
	}
	.recruit_block .contact_radio {
		width: auto;
	}
	.contact_block input[type="text"],
	.contact_block textarea,
	.recruit_block input[type="text"],
	.recruit_block textarea {
		max-width: 100%;
		margin: 5px 0;
		font-size: 1.6rem;
	}
	.recruit_block input[type="text"][name="name1;s"],
	.recruit_block input[type="text"][name="name2;s"],
	.recruit_block input[type="text"][name="kana1;s"],
	.recruit_block input[type="text"][name="kana2;s"] {
		width: calc(100% - 2em);
		margin-left: 5px;
	}
	.recruit_block input[type="text"][name="year;s"] {
		margin-bottom: 10px;
	}
	.recruit_block select[name="month;s"],
	.recruit_block select[name="day;s"] {
		padding-left: 13px;
		width: 85px;
	}
	.recruit_block input[type="text"]#emailRe {
		width: 100%;
	}
	.recruit_block select[name="year;s"] {
		width: calc(100% - 3em);
		margin-bottom: 10px;
	}
	.contact_radio.inline li + li {
		margin-left: 20px;
	}
	.contact_block select,
	.recruit_block select {
		font-size: 1.6rem;
	}
	.contact_block dl,
	.recruit_block dl {
		display: block;
		width: auto;
	}
	.contact_block dl dt,
	.recruit_block dl dt {
		width: 100%;
	}
	.contact_block dl dt:nth-last-child(2),
	.recruit_block dl dt:nth-last-child(2) {
		margin-top: 4px;
		letter-spacing: .05em;
	}
	.contact_block dl dd,
	.recruit_block dl dd {
		width: 100%;
		margin-top: 0;
	}
	.contact_privacy_policy {
		margin: 21px 0 30px;
		font-size: 1.5rem;
	}
	.contact_privacy_policy a:hover {
		text-decoration: none;
	}
	.contact_privacy_policy h3 {
		font-size: 1.6rem;
		letter-spacing: .05em;
	}
	.contact_privacy_policy h4 {
		font-size: 1.5rem;
		margin-top: 20px;
	}
	.contact_btn button,
	.contact_back_btn button,
	.contact_send_btn button {
		font-size: 1.4rem;
		text-align: center;
		padding: 20px 20px 20px 10px;
		letter-spacing: .05em;
		position: relative;
	}
	.contact_confirm_btn p + p {
		margin-left: 3.75%;
	}
	.contact_confirm_btn p {
		width: 48.125%;
	}
	.contact_back_btn button,
	.contact_send_btn button {
		width: 100%;
	}
	.contact_back_btn button {
		padding: 20px 10px 20px 20px;
	}
	.contact_block.thanks h3,
	.recruit_block.thanks h3 {
		font-size: 2rem;
		margin-top: 30px;
		letter-spacing: .05em;
		margin-bottom: 15px;
	}
	.contact_block.thanks > p,
	.recruit_block.thanks > p {
		text-align-last: left;
		letter-spacing: .05em;
	}
	.contact_model {
		font-size: 1.5rem;
		padding: 2rem;
		margin: 3rem 0;
	}
}

/* recruit_message_block
----------------------------------------*/
.recruit_message_block {
	padding: 48px 0 65px;
	color: #333;
}
.recruit_message_title {
	background: url(../img/recruit/message/bg_01.jpg) no-repeat center top;
	margin-bottom: -26px;
}
.recruit_message_title_inner {
	width: 960px;
	min-height: 467px;
	margin: 0 auto;
	padding: 115px 0 50px 0px;
}
.recruit_message_title_inner h2 {
	font-size: 2.4rem;
	margin-bottom: 42px;
	letter-spacing: .075em;
}
.recruit_message_title_inner p {
	font-size: 1.8rem;
	line-height: 2;
	letter-spacing: .08em;
}
.recruit_message_title + .recruit_message_item h3 {
	margin-left: -16px;
}
.recruit_message_item {
	background: #fff;
	box-shadow: 0 1px 3px rgba(0,0,0,.13);
	width: 899px;
	margin: 0 auto 31px;
	padding: 53px 60px 55px;
}
.recruit_message_item h3 {
	font-size: 2.4rem;
	color: #009bff;
	letter-spacing: .075em;
	margin-bottom: 23px;
}
.recruit_message_item p {
	font-size: 1.6rem;
	letter-spacing: .08em;
}
.recruit_message_block > .align_r,
.recruit_message_block .message_bnr {
	width: 899px;
	margin: 26px auto;
	text-align: right;
	font-size: 1.6rem;
	line-height: 1.9;
}
.recruit_message_block > .align_r {
	margin-top: 49px;
}
@media only screen and (max-width: 768px) {
	.recruit_message_block {
		padding: 48px 5% 50px;
	}
	.recruit_message_title {
		background-color: #f1f1f1;
		background-size: auto 60vw;
		background-position: 47% bottom;
		margin: 0 -5.555% -25px;
	}
	.recruit_message_title_inner {
		width: auto;
		min-height: 58.695vw;
		padding: 25px 23% 40px 7vw;
		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;
		align-content: center;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.recruit_message_title_inner h2 {
		width: 100%;
		font-size: 1.6rem;
		margin-bottom: 15px;
	}
	.recruit_message_title_inner p {
		width: 100%;
		font-size: 1.4rem;
		line-height: 1.7;
	}
	.recruit_message_item {
		width: auto;
		margin: 0 auto 31px;
		padding: 30px 5%;
	}
	.recruit_message_item h3 {
		font-size: 2rem;
		margin-bottom: 20px;
	}
	.recruit_message_item p {
		font-size: 1.5rem;
	}
	.recruit_message_block > .align_r,
	.recruit_message_block .message_bnr {
		width: auto;
		margin: 20px auto 0;
		font-size: 1.5rem;
	}
	.recruit_message_block .message_bnr a {
		width: 200px;
	}
}

/* voice_block
----------------------------------------*/
.voice_block {
	margin: 57px 0 143px;
}
.voice_item {
	width: 960px;
	margin: 0 auto 100px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}
.voice_item h2 {
	width: 150px;
	height: 150px;
	padding: 0 0 0 8px;
	color: #fff;
	background: #009bff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	font-family: 'Oswald', sans-serif;
	font-weight: normal;
	line-height: 1.3;
}
.voice_item h2 span:first-child {
	font-size: 1.9rem;
	letter-spacing: .02em;
}
.voice_item h2 span:last-child {
	font-size: 3.5rem;
	margin-left: 13px;
	letter-spacing: .05em;
	padding-top: 5px;
}
.voice_text {
	width: 776px;
	font-size: 1.6rem;
}
.voice_text p {
	letter-spacing: .02em;
}
.voice_text .align_r {
	margin-top: 24px;
	letter-spacing: .1em;
}
.voice_text h3 {
	font-size: 2.4rem;
	margin: -11px 0 24px;
	letter-spacing: .08em;
}
.voice_text h3 span {
	font-size: 1.8rem;
	letter-spacing: .08em;
	margin-bottom: 6px;
	display: inline-block;
	color: #009bff;
}
@media only screen and (max-width: 768px) {
	.voice_block {
		margin: 30px 5%;
	}
	.voice_item {
		width: auto;
		margin: 0 auto 50px;
		display: block;
	}
	.voice_item h2 {
		width: 110px;
		height: 110px;
		margin: 0 auto 20px;
		padding: 0;
	}
	.voice_item h2 span:first-child {
		font-size: 1.3rem;
	}
	.voice_item h2 span:last-child {
		font-size: 2.9rem;
		margin-left: 10px;
		padding-top: 0;
	}
	.voice_text {
		width: auto;
		font-size: 1.5rem;
	}
	.voice_text .align_r {
		margin-top: 20px;
	}
	.voice_text h3 {
		font-size: 2rem;
		margin: 0 0 24px;
	}
	.voice_text h3 span {
		font-size: 1.5rem;
	}
}

/* recruitment_block benefits_block
----------------------------------------*/
.recruitment_block,
.benefits_block,
.info_block {
	margin: 48px 0 0;
}
.recruitment_lead,
.benefits_lead,
.info_lead {
	text-align: center;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.8;
	letter-spacing: .08em;
}
.recruitment_tab,
.info_tab {
	width: 855px;
	margin: 42px auto 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.recruitment_tab li,
.info_tab li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	text-align: center;
	margin: 0 0 20px 20px;
}

/*
.info_tab li {
	width: 250px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	text-align: center;
	margin: 0 0 20px 20px;
}
.recruitment_tab li:nth-child(3n+1),
.info_tab li:nth-child(3n+1) {
	margin-left: 0;
}
.recruitment_tab li:nth-child(3n),
.info_tab li:nth-child(3n) {
	width: 315px;
}
*/
.recruitment_tab a,
.recruitment_tab span,
.info_tab a,
.info_tab span {
	width: 100%;
	text-align: center;
	display: block;
	border: 1px solid #ccc;
	font-size: 1.6rem;
	font-weight: bold;
	padding: 25px;
	letter-spacing: .08em;
}
.recruitment_tab a,
.info_tab a {
	-webkit-transition: background 300ms, color 300ms, border 300ms;
	transition: background 300ms, color 300ms, border 300ms;
}
.recruitment_tab a:hover,
.info_tab a:hover {
	border-color: #009bff;
	background: #009bff;
	color: #fff;
}
.recruitment_btn a:hover {
	opacity: .6;
}
.recruitment_tab .current a,
.info_tab .current a {
	border-color: #009bff;
}
.recruitment_tab span,
.info_tab span {
	color: #ccc;
}
.recruitment_item,
.benefits_item {
	margin-top: 70px;
	padding-bottom: 98px;
	display: none;
}
.benefits_item {
	margin-top: 42px;
}
.recruitment_item.show,
.benefits_item {
	display: block;
}
.recruitment_item h2,
.benefits_item h2 {
	background: #f3f3f3;
	text-align: center;
	font-size: 2.4rem;
	padding: 33px 20px 27px;
	letter-spacing: .08em;
}
.recruitment_item > dl,
.benefits_item > dl {
	width: 920px;
	margin: 55px auto 0;
	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;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	color: #333;
	font-size: 1.6rem;
	letter-spacing: .08em;
}
.recruitment_item > dl > dt,
.benefits_item > dl > dt {
	width: 220px;
	border-bottom: 1px solid #ccc;
	color: #009bff;
	font-weight: bold;
	padding: 2px 0 29px;
	margin-bottom: 30px;
}
.benefits_item > dl > dt {
	width: 115px;
	margin-bottom: 33px;
	border-bottom: 1px solid #a4a4a4;
}
.recruitment_item > dl > dd,
.benefits_item > dl > dd {
	width: 700px;
	border-bottom: 1px solid #ccc;
	letter-spacing: .05em;
	padding-bottom: 29px;
	margin-bottom: 30px;
}
.benefits_item > dl > dd {
	width: 805px;
	margin-bottom: 33px;
	border-bottom: 1px solid #a4a4a4;
}
.recruitment_item > dl > dt:nth-last-child(2),
.recruitment_item > dl > dd:last-child,
.benefits_item > dl > dt:nth-last-child(2),
.benefits_item > dl > dd:last-child,
.benefits_item > dl > dd dd:last-child {
	border-bottom: none;
}
.benefits_item > dl > dd dl {
	margin-top: 2px;
	letter-spacing: .06em;
}
.benefits_item > dl > dd dt {
	font-weight: bold;
	margin: 0 0 5px -7px;
}
.benefits_item > dl > dd dd {
	padding-bottom: 10px;
	margin-bottom: 10px;
	border-bottom: 1px dotted #ccc;
}
.benefits_item > dl > dd dd:last-child {
	margin-bottom: 0;
	padding-bottom: 8px;
}
.recruitment_item dd p + p {
	margin-top: 6px;
}
.recruitment_item ul {
	margin-bottom: 2px;
}
.recruitment_item li {
	margin-left: 1em;
	text-indent: -1em;
}
.recruitment_item li + li {
	margin-top: 24px;
}
.recruitment_item li::before {
	content: "・";
}
.recruitment_btn {
	text-align: center;
	margin-top: 19px;
}
.recruitment_btn a {
	display: inline-block;
	width: 420px;
	background: #000;
	color: #fff;
	font-size: 2rem;
	font-weight: bold;
	padding: 24px 20px 26px;
	letter-spacing: .05em;
	-webkit-transition: opacity 300ms;
	transition: opacity 300ms;
}
@media only screen and (max-width: 768px) {
	.recruitment_block,
	.benefits_block,
	.info_block {
		margin: 30px 0 0;
	}
	.recruitment_lead,
	.benefits_lead,
	.info_lead {
		text-align: left;
		margin: 0 5%;
		font-size: 1.6rem;
	}
	.recruitment_tab,
	.info_tab {
		width: auto;
		margin: 30px 5% 0;
		display: block;
	}
	.recruitment_tab li,
	.info_tab li {
		width: 100%;
		margin: 0 0 20px;
	}
	.recruitment_tab li:nth-child(3n),
	.info_tab li:nth-child(3n) {
		width: 100%;
	}
	.recruitment_tab a,
	.recruitment_tab span,
	.info_tab a,
	.info_tab span {
		font-size: 1.4rem;
		padding: 15px 10px;
	}
	.recruitment_tab a:hover,
	.info_tab a:hover,
	.recruitment_btn a:hover {
		opacity: 1;
	}
	.recruitment_item {
		margin-top: 50px;
		padding-bottom: 50px;
	}
	.benefits_item {
		margin-top: 50px;
		padding-bottom: 10px;
	}
	.recruitment_item h2,
	.benefits_item h2 {
		font-size: 2rem;
		padding: 20px 20px;
	}
	.recruitment_item > dl,
	.benefits_item > dl {
		width: auto;
		margin: 30px 5% 0;
		display: block;
		font-size: 1.5rem;
	}
	.recruitment_item > dl > dt,
	.benefits_item > dl > dt {
		width: auto;
		border-bottom: none;
		padding: 0;
		margin-bottom: 10px;
	}
	.recruitment_item > dl > dd,
	.benefits_item > dl > dd {
		width: auto;
		padding-bottom: 20px;
		margin-bottom: 20px;
	}
	.recruitment_btn {
		margin: 0 5%;
	}
	.recruitment_btn a {
		width: 100%;
		font-size: 1.6rem;
		padding: 20px;
	}
}

/* info_block
----------------------------------------*/
.info_main {
	width: 960px;
	margin: 71px auto 0;
}
.info_detail {
	width: 920px;
	margin: 34px auto 80px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
}
.info_detail_txt {
	width: 518px;
}
.info_detail figure {
	width: 380px;
	margin-right: 3px;
}
.info_detail figure figcaption {
	font-size: 1.2rem;
	position: absolute;
	bottom: 14px;
	left: 3px;
	letter-spacing: .05em;
	color: #333;
}
.info_detail dl {
	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;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	font-size: 1.6rem;
}
.info_detail dt {
	width: 89px;
	letter-spacing: .05em;
	padding-bottom: 13px;
	margin-bottom: 14px;
	font-weight: bold;
	color: #009bff;
	border-bottom: 1px solid #ccc;
}
.info_detail dd {
	letter-spacing: .05em;
	width: calc(100% - 89px);
	padding-bottom: 13px;
	margin-bottom: 14px;
	border-bottom: 1px solid #ccc;
}
.info_detail_note {
	letter-spacing: .05em;
	margin-left: 1em;
	text-indent: -1em;
}
.info_seminar {
	max-width: 940px;
	margin: 44px auto 128px;
	color: #333;
	padding-bottom: 34px;
	box-shadow: 0 1px 4px rgba(0,0,0,.25);
}
.info_seminar_header {
	background: #f8fcff;
	padding: 28px 30px 16px;
	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;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.info_seminar_header p {
	font-size: 1.6rem;
}
.info_seminar_ttl {
	padding: 60px 0 20px;
	margin-bottom: 25px;
	font-size: 1.6rem;
	letter-spacing: .05em;
	border-bottom: 1px solid #000;
	width: 100%;
}
.info_seminar_label {
	position: absolute;
	top: 0;
	left: -40px;
	background: #008be5;
	color: #fff;
	font-weight: bold;
	font-size: 1.6rem;
	padding: 8px 37px 8px 23px;
	letter-spacing: .08em;
}
.info_seminar_label::after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 20px 13px 20px 0;
	border-color: transparent #f8fcff transparent transparent;
	position: absolute;
	right: 0;
	top: 0;
}
.info_seminar_label::before {
	content: "";
	display: block;
	position: absolute;
	bottom: -7px;
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 10px 7px 0;
	border-color: transparent #00548a transparent transparent;
}
.info_seminar_ttl h2 {
	font-size: 2.2rem;
	margin: 0 0 5px;
	text-indent: -.6em;
	letter-spacing: .084em;
}
.info_seminar_header figure {
	margin-right: 30px;
	width: 260px;
}
.info_seminar_header figure img {
	display: block;
}
.info_seminar_header figcaption {
	font-size: .9rem;
	margin-top: 1px;
	letter-spacing: .05em;
}
.info_seminar_recommend {
	width: calc(100% - 290px);
	padding-top: 1px;
}
.info_seminar_recommend h3 span {
	display: inline-block;
	background: #000;
	padding: 4px 18px 5px 20px;
	letter-spacing: .08em;
	color: #fff;
}
.info_seminar_recommend h3 span::before {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 9px 7px 0;
	border-color: transparent #000 transparent transparent;
	position: absolute;
	bottom: -7px;
	left: 20px;
}
.info_seminar_recommend ul {
	font-size: 1.6rem;
	margin: 19px 0 0 -4px;
	font-weight: bold;
}
.info_seminar_recommend li {
	text-indent: -1em;
	margin: 0 0 4px 1em;
	letter-spacing: .08em;
}
.info_seminar_recommend li::before {
	content: "・";
}
.info_seminar_body {
	padding: 0 30px;
}
.info_seminar_body dl {
	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;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	font-size: 1.6rem;
	margin: 22px 0 0;
}
.info_seminar_body dl dt {
	width: 140px;
	font-weight: bold;
	color: #009bff;
	letter-spacing: .06em;
	border-bottom: 1px solid #ccc;
	padding-bottom: 16.5px;
	margin-bottom: 16px;
}
.info_seminar_body dl dd {
	width: calc(100% - 140px);
	border-bottom: 1px solid #ccc;
	padding-bottom: 16.5px;
	margin-bottom: 16px;
	letter-spacing: .06em;
}
.info_seminar_body dl dd span {
	font-size: 1.4rem;
}
.info_seminar_body dl dd a {
	text-decoration: underline;
}
.info_seminar_body dl dd a:hover {
	text-decoration: none;
}
.info_seminar_body dl ol {
	counter-reset: content-main-ol-default;
}
.info_seminar_body dl ol > li {
	padding-left: 31px;
}
.info_seminar_body dl ol > li::before {
	content: counter(content-main-ol-default, decimal) ". ";
	counter-increment: content-main-ol-default;
	position: absolute;
	top: 0;
	left: 0;
}
.info_seminar_body dl dd ul > li {
	margin-left: 1em;
	text-indent: -1em;
	letter-spacing: .06em;
}
.info_seminar_body dl dd ul > li::before {
	content: "・";
}
.info_seminar_application {
	margin: 6px 40px 0;
}
.info_seminar_application > p {
	text-align: center;
	font-size: 1.6rem;
	letter-spacing: .05em;
}
.info_seminar_btn {
	margin-top: 16px;
}
.info_seminar_btn a {
	display: block;
	border: 1px solid #333;
	font-weight: bold;
	background: #f3f3f3;
	padding: 27px;
	letter-spacing: .13em;
	-webkit-transition: color 300ms, background 300ms;
	transition: color 300ms, background 300ms;
}
.info_seminar_btn a:hover {
	color: #008be5;
	background: #fff;
}
.info_seminar_btn a::after {
	content: "";
	border: 3px solid #292525;
	border-width: 0 3px 3px 0;
	border-radius: 1px;
	display: block;
	height: 10px;
	position: absolute;
	right: 20px;
	top: 50%;
	margin-top: -7px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	width: 10px;
	-webkit-transition: border-color 300ms;
	transition: border-color 300ms;
}
.info_seminar_btn a:hover::after {
	border-color: #008be5;
}
.info_seminar_note {
	margin: 15px 0 0 9px;
	line-height: 1.45;
}
.info_seminar_note li {
	margin-left: 1em;
	text-indent: -1em;
	letter-spacing: .05em;
}
.info_seminar_note li::before {
	content: "※";
}
@media only screen and (max-width: 768px) {
	.info_main {
		width: auto;
		margin: 50px auto 0;
	}
	.info_detail {
		width: auto;
		margin: 34px 5% 50px;
		display: block;
	}
	.info_detail_txt {
		width: auto;
	}
	.info_detail figure {
		width: auto;
		max-width: 380px;
		margin: 30px auto 0;
		text-align: center;
	}
	.info_detail figure figcaption {
		bottom: 10px;
	}
	.info_detail dl {
		font-size: 1.5rem;
	}
	.info_detail dt {
		width: 55px;
	}
	.info_detail dd {
		width: calc(100% - 55px);
	}
	.info_seminar {
		margin: 44px 5% 60px;
	}
	.info_seminar_header {
		padding: 20px 5% 16px;
		display: block;
	}
	.info_seminar_ttl {
	padding: 60px 0 20px;
		font-size: 1.4rem;
	}
	.info_seminar_label {
		left: -7vw;
		font-size: 1.5rem;
		padding: 8px 30px 8px 23px;
	}
	.info_seminar_label::after {
		border-width: 19px 13px 19px 0;
	}
	.info_seminar_ttl h2 {
		font-size: 1.8rem;
		margin: 0 0 5px;
		letter-spacing: .05em;
	}
	.info_seminar_header figure {
		margin-right: 0;
		width: auto;
	}
	.info_seminar_header figure img {
		width: 100%;
		margin: 0 auto;
	}
	.info_seminar_recommend {
		width: auto;
		padding-top: 20px;
	}
	.info_seminar_recommend ul {
		font-size: 1.5rem;
	}
	.info_seminar_body {
		padding: 0 5%;
	}
	.info_seminar_body dl {
		display: block;
		font-size: 1.5rem;
	}
	.info_seminar_body dl dt {
		width: auto;
		border-bottom: none;
		padding-bottom: 0;
		margin-bottom: 5px;
		letter-spacing: .05em;
	}
	.info_seminar_body dl dd {
		width: auto;
		letter-spacing: .05em;
	}
	.info_seminar_body dl dd a:hover {
		text-decoration: underline;
	}
	.info_seminar_application {
		margin: 6px 0 0;
	}
	.info_seminar_application > p {
		font-size: 1.5rem;
	}
	.info_seminar_btn a {
		display: block;
		padding: 20px 27px;
	}
	.info_seminar_btn a:hover {
		color: inherit;
		background: #f3f3f3;
	}
	.info_seminar_btn a:hover::after {
		border-color: #292525;
	}
	.info_seminar_note {
		font-size: 1.3rem;
	}
}

/* policy_block
----------------------------------------*/
.policy_block {
	width: 960px;
	margin: 0 auto 100px;
}
.policy_nav {
	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;
	font-size: 1.4rem;
	margin: 52px 0 0;
}
.policy_nav a {
	-webkit-transition: opacity 300ms;
	transition: opacity 300ms;
}
.policy_nav a:hover {
	opacity: .6;
}
.policy_nav li::before,
.policy_nav li:last-child::after {
	content: "";
	width: 1px;
	display: block;
	position: absolute;
	top: 5px;
	left: 0;
	bottom: 6px;
	background: #292525;
}
.policy_nav li:last-child::after {
	left: auto;
	right: 0;
}
.policy_nav li {
	padding: 0 23px 0 25px;
	letter-spacing: .08em;
}
.policy_item {
	padding: 67px 0 60px;
	color: #333;
}
.policy_item:first-child {
	padding-top: 39px;
}
.policy_item h2 {
	font-size: 2.6rem;
	letter-spacing: .08em;
	color: #009bff;
	margin-bottom: 22px;
}
.policy_item p {
	font-size: 1.6rem;
	letter-spacing: .05em;
}
.policy_item ol {
	counter-reset: content-main-ol-default;
	font-size: 1.6rem;
	margin-top: 31px;
	margin-right: 40px;
}
.policy_item h2 + ol {
	margin-top: -3px;
}
.policy_item ol > li {
	padding-left: 24px;
}
.policy_item ol > li::before {
	content: counter(content-main-ol-default, decimal) ". ";
	counter-increment: content-main-ol-default;
	position: absolute;
	top: 0;
	left: 0;
}
.policy_item ol > li + li {
	margin-top: 20px;
}
.policy_item ul {
	margin-top: 16px;
	margin-bottom: 32px;
}
.policy_item :last-child ul {
	margin-bottom: 44px;
}
.policy_item ul > li {
	padding-left: 30px;
}


/* 20220331追記*/	
	
	.policy_item ul > li a {
	text-decoration: underline;
	color: #059dff;
}
	.policy_item ul > li a:hover {
	text-decoration: none;
}
	

/* 20220331追記ここまで*/	






.policy_item ul > li + li {
	margin-top: 11px;
}
.policy_item ul > li::before {
	/*content: '・';*/
	display: block;
	position: absolute;
	left: 5px;
	top: 0;
}
.policy_item .align_r {
	margin-right: 49px;
	margin-top: 6px;
	letter-spacing: 0;
}
.policy_contact {
	background: #f9f9f9;
	margin-top: 26px;
	padding: 26px 29px 39px;
}
.policy_contact h3 {
	font-size: 1.8rem;
	margin-bottom: -1px;
}
.policy_contact p {
	letter-spacing: 0;
}
.policy_contact p a {
	text-decoration: underline;
	color: #059dff;
}
.policy_contact p a:hover {
	text-decoration: none;
}
.policy_contact p a[href^="mailto:"] {
	text-decoration: none;
	color: inherit;
}
.policy_contact p a[href^="mailto:"]:hover {
	text-decoration: underline;
}
.policy_contact p + h3 {
	margin-top: 22px;
}
.policy_contact .policy_pmark {
	position: absolute;
	top: 46px;
	right: 50px;
}
.policy_contact a[href^="tel:"] {
	pointer-events: none;
	text-decoration: none;
	color: inherit;
}
.policy_block .policy_compliance {
	margin-left: 143px;
	margin-top: 45px;
}
.policy_block .policy_compliance li {
	padding-left: 37px;
	letter-spacing: .08em;
}
.policy_block .policy_compliance li + li {
	margin-top: 12px;
}
.policy_sp {
	display: none;
}
@media only screen and (max-width: 768px) {
	.policy_block {
		width: auto;
		margin: 0 5% 30px;
	}
	.policy_nav {
		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;
		font-size: 1.5rem;
		margin: 0;
	}
	.policy_nav a:hover {
		opacity: 1;
	}
	.policy_nav li {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		padding: 0 15px;
	}
	.policy_item {
		padding: 30px 0 60px;
	}
	.policy_item:first-child {
		padding-top: 0;
	}
	.policy_item h2 {
		font-size: 1.9rem;
		margin-bottom: 22px;
	}
	.policy_item p {
		font-size: 1.5rem;
	}
	.policy_item ol {
		font-size: 1.5rem;
		margin-top: 25px;
		margin-right: 0;
	}
	.policy_item ol > li {
		padding-left: 22px;
	}
	
	.policy_item .align_r {
		margin-right: 0;
		margin-top: 30px;
	}
	.policy_contact {
		padding: 26px 5%;
	}
	.policy_contact h3 {
		font-size: 1.7rem;
		margin-bottom: 5px;
	}
	.policy_contact a[href^="tel:"] {
		pointer-events: auto;
		text-decoration: underline;
		color: #059dff;
	}
	.policy_contact .policy_pmark {
		width: 100px;
		right: 5%;
	}
	.policy_block .policy_compliance {
		margin-left: 30px;
		margin-top: 0;
	}
}
@media only screen and (max-width: 568px) {
	.policy_nav li {
		width: 50%;
		text-align: center;
	}
	.policy_nav li a {
		width: 100%;
		display: block;
	}
	.policy_sp {
		display: block;
	}
	.policy_contact .policy_pmark {
		width: 100px;
		position: relative;
		top: auto;
		right: auto;
		margin: 10px 0;
	}
}

@keyframes movex01 {
	0% { right: 23px; }
	50% { right: 13px; }
	100% { right: 23px; }
}

@keyframes movex02 {
	0% { left: 23px; }
	50% { left: 13px; }
	100% { left: 23px; }
}

/* blog_block
----------------------------------------*/
.blog_block {
	max-width: 1000px;
	margin: 56px auto;
}
.blog_block h2 {
	background: #f9f9f9;
	font-size: 2.6rem;
	padding: 5px 21px 4px;
	letter-spacing: .065em;
}
.blog_year {
	position: absolute;
	right: 0;
	top: 0;
	background: #f9f9f9;
	width: 125px;
	z-index: 10;
}
.blog_year_title {
	height: 48px;
	padding: 15px 24px;
	letter-spacing: .06em;
	cursor: pointer;
	-webkit-transition: opacity 300ms;
	transition: opacity 300ms;
}
.blog_year_title::after {
	content: "";
	border: 2px solid #2dadff;
	border-width: 0 2px 2px 0;
	content: "";
	display: block;
	height: 7px;
	position: absolute;
	right: 15px;
	top: 50%;
	margin-top: -4px;
	border-radius: 1px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	width: 7px;
}
.blog_year_title.open::after {
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
	margin-top: -1px;
}
.blog_year_list {
	margin: 0 15px;
	text-align: center;
	padding-bottom: 8px;
	display: none;
}
.blog_year_list li + li {
	border-top: 1px dotted #c1c0c0;
	padding-top: 3px;
}
.blog_year_list li a {
	display: block;
	padding: 5px 10px 9px;
	letter-spacing: .08em;
	-webkit-transition: opacity 300ms;
	transition: opacity 300ms;
}
.blog_index {
	margin: 50px 30px 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.blog_index li {
	width: 48.404%;
	margin-bottom: 30px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
.blog_index li a {
	width: 100%;
	height: 100%;
	border: 1px solid #c4c4c4;
	padding: 30px 25px 26px 30px;
	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;
	align-content: flex-start;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-transition: opacity 300ms;
	transition: opacity 300ms;
}
.blog_index_category,
.news_index_category {
	background: #7ac8ff;
	color: #fff;
	width: 128px;
	text-align: center;
	font-size: 1.3rem;
	padding: 3px 10px 1px;
	margin-right: 24px;
}
.blog_index_date {
	padding-top: 7px;
	line-height: 1.2;
}
.blog_index li h3 {
	width: 100%;
	font-size: 1.6rem;
	margin: 21px 0 15px;
	letter-spacing: .13em;
}
.blog_index_text {
	width: 100%;
	line-height: 1.75;
	letter-spacing: .135em;
}
.blog_index_more {
	width: 100%;
	text-align: right;
	margin-top: 20px;
	padding-right: 19px;
	letter-spacing: .03em;
}
.blog_index_more::after {
	content: "";
	border: 2px solid #2dadff;
	border-width: 0 2px 2px 0;
	content: "";
	display: block;
	height: 7px;
	position: absolute;
	right: 6px;
	top: 50%;
	margin-top: -4px;
	border-radius: 1px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	width: 7px;
}
.blog_detail {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}
.blog_info {
	width: 128px;
	text-align: center;
}
.blog_info .blog_index_date {
	margin-top: 5px;
}
.blog_text {
	margin-right: 40px;
	width: 789px;
}
.blog_block .blog_text h2 {
	background: none;
	font-size: 1.6rem;
	padding: 0;
	letter-spacing: .14em;
	margin-bottom: 29px;
}
.blog_text p {
	font-size: 1.5rem;
	line-height: 2;
	letter-spacing: .05em;
}
.blog_contact {
	margin: 21px 0 0;
	border: 1px solid #c4c4c4;
	background: url(../img/company/logo_01.png) no-repeat right 39px bottom 13px / 108px auto;
	padding: 19px 150px 16px 20px;
}
.blog_text .blog_contact p {
	font-size: 1.4rem;
	line-height: 1.3;
	letter-spacing: .08em;
}
.blog_text .blog_contact p + p {
	margin-top: 15px;
}
.blog_btn {
	text-align: center;
	margin-top: 41px;
	padding-right: 40px;
}
.blog_btn a {
	padding-top: 10px;
	display: inline-block;
	letter-spacing: .08em;
	-webkit-transition: opacity 300ms;
	transition: opacity 300ms;
}
.blog_btn a::before {
	content: "";
	border: 2px solid #2dadff;
	border-width: 0 2px 2px 0;
	content: "";
	display: block;
	height: 7px;
	margin: 0 auto 2px;
	border-radius: 1px;
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
	width: 7px;
}
.news_index {
	margin: 36px 20px 0;
}
.news_index li {
	border-bottom: 1px solid #858585;
}
.news_index li a {
	padding: 18px 0 17px;
}
.news_index .blog_index_date {
	margin-right: 20px;
	padding-top: 3px;
}
.news_index_category.news {
	background: #2ac09e;
}
.news_index_category.modellist {
	background: #d6c535;
}
.news_index_category.seminar {
	background: #d17442;
}
.news_index_category.campaign {
	background: #dc67bc;
}
.news_index_category.web {
	background: #2f76ce;
}
.news_index_category.case {
	background: #f1a075;
}
.news_index .news_index_category {
	margin-right: 60px;
}
.news_index li a {
	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;
	-webkit-transition: opacity 300ms;
	transition: opacity 300ms;
}
.news_index h3 {
	width: calc(100% - 289px);
	font-weight: normal;
	font-size: 1.5rem;
	padding-top: 2px;
	letter-spacing: .05em;
}
.news_title {
	text-align: center;
	font-size: 2.6rem;
	font-weight: bold;
	color: #009bff;
	margin: 49px 0 0;
	letter-spacing: .08em;
}
.blog_year_title:hover,
.blog_index li a:hover,
.blog_year_list li a:hover,
.blog_btn a:hover,
.news_index li a:hover {
	opacity: .6;
}
@media only screen and (max-width: 768px) {
	.blog_block {
		margin: 30px 5%;
	}
	.blog_block h2 {
		font-size: 1.6rem;
		height: 40px;
		padding: 5px 21px;
	}
	.blog_year {
		width: 120px;
	}
	.blog_year_title {
		height: 40px;
		padding: 10px 25px;
	}
	.blog_year_title::after {
		margin-top: -6px;
	}
	.blog_year_title.open::after {
		margin-top: 0;
	}
	.blog_index {
		margin: 30px 0 0;
		display: block;
	}
	.blog_index li {
		width: 100%;
	}
	.blog_index li a {
		padding: 20px 5%;
	}
	.blog_index_category {
		width: 120px;
		margin-right: 15px;
	}
	.blog_index_date {
		padding-top: 5px;
	}
	.blog_index li h3 {
		width: 100%;
		font-size: 1.5rem;
		margin: 15px 0 10px;
		letter-spacing: .1em;
	}
	.blog_index_text {
		letter-spacing: .1em;
		font-size: 1.3rem;
	}
	.blog_index_more {
		margin-top: 5px;
		font-size: 1.3rem;
	}
	.blog_year_title:hover,
	.blog_index li a:hover,
	.blog_year_list li a:hover,
	.news_index li a:hover {
		opacity: 1;
	}
	.blog_detail {
		display: block;
	}
	.blog_info {
		width: auto;
		text-align: left;
		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;
	}
	.blog_info .blog_index_date {
		margin-top: 0;
	}
	.blog_text {
		margin-right: 0;
		width: auto;
	}
	.blog_block .blog_text h2 {
		height: 40px;
		padding: 5px 0;
		margin: 15px 0 10px;
	}
	.blog_text p {
		font-size: 1.4rem;
		line-height: 1.8;
		letter-spacing: .05em;
	}
	.blog_contact {
		margin: 21px 0 0;
		background: url(../img/company/logo_01.png) no-repeat right 20px bottom 13px / 108px auto;
		padding: 19px 5% 55px;
	}
	.blog_text .blog_contact p {
		font-size: 1.4rem;
	}
	.blog_btn {
		padding-right: 0;
	}
	.news_index li a {
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.news_index {
		margin: 10px auto 0;
	}
	.news_index .news_index_category {
		margin-right: 0;
	}
	.news_index h3 {
		width: 100%;
		font-size: 1.4rem;
		padding-top: 5px;
		letter-spacing: .05em;
	}
	.news_title {
		font-size: 2rem;
		margin: 30px 0 0;
	}
}

/* quality_block
----------------------------------------*/
.quality_block {
	padding-top: 40px;
	margin-bottom: 100px;
}
.quality_parts {
	width: 960px;
	overflow: hidden;
	margin: 0 auto 112px;
}
.quality_block h2 {
	text-align: center;
	font-size: 3rem;
	font-weight: bold;
	color: #009bff;
	letter-spacing: .07em;
	margin-bottom: 42px;
}
.quality_block h2::before,
.quality_block h2::after {
	content: '';
	display: block;
	width: 397px;
	height: 27px;
	background: url(../img/quality/ttl_h2.png) no-repeat;
	position: absolute;
	left: -17px;
	top: 50%;
	margin-top: -13px;
}
.quality_block h2::after {
	left: auto;
	right: -17px;
	transform: scale(-1, 1);
}
.quality_parts_item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.quality_parts_item + .quality_parts_item {
	margin-top: 69px;
}
.quality_parts_item figure {
	width: 507px;
}
.quality_parts_item figure img {
	display: block;
}
.quality_parts_item p {
	width: calc(100% - 507px);
	font-size: 1.6rem;
	line-height: 1.9;
	letter-spacing: .075em;
	padding: 7px 45px 0 0;
}
.quality_parts_item:nth-child(2n+1) figure {
	order: 0;
}
.quality_parts_item:nth-child(2n+1) p {
	order: 1;
	padding: 7px 0 0 43px;
}
.quality_attention {
	width: 960px;
	overflow: hidden;
	margin: 0 auto 112px;
}
.quality_block .quality_attention h2 {
	margin-bottom: 32px;
}
.quality_block .quality_attention h2::before {
	left: -144px;
}
.quality_block .quality_attention h2::after {
	right: -144px;
}
.quality_attention > p {
	text-align: center;
	font-size: 1.6rem;
	line-height: 2.2;
	letter-spacing: .08em;
	margin-bottom: 30px;
}
.quality_attention_item {
	background: #f8f8f8;
	width: 802px;
	margin: 0 auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	padding: 30px 30px 30px 0;
}
.quality_attention_item:last-child {
	padding-bottom: 26px;
}
.quality_attention_item + .quality_attention_item {
	margin-top: 6px;
}
.quality_attention_txt {
	width: calc(100% - 265px);
	padding-right: 45px;
}
.quality_attention_item figure {
	width: 265px;
}
.quality_attention_item figure img {
	display: block;
}
.quality_attention_item h3 {
	background: #daa65c;
	color: #fff;
	width: 172px;
	text-align: center;
	font-weight: normal;
	padding: 4px 10px 5px;
	letter-spacing: .08em;
	margin: -10px 0 24px -14px;
}
.quality_attention_item h3 span {
	font-size: 2.2rem;
}
.quality_attention_item p {
	font-size: 1.6rem;
	padding-left: 28px;
	letter-spacing: .08em;
}
.quality_attention_item h3::before {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 14px 8px 0;
	border-color: transparent #c38936 transparent transparent;
	position: absolute;
	left: 0;
	bottom: -8px;
}
.quality_education h2 {
	width: 960px;
	margin: 0 auto 43px;
	overflow: hidden;
}
.quality_block .quality_education h2::before {
	left: 0;
}
.quality_block .quality_education h2::after {
	right: 0;
}
.quality_education_inner {
	background: #151e2a;
	overflow: hidden;
	width: 100%;
}
.quality_education_txt {
	width: 1000px;
	margin: 0 auto;
	padding-top: 13px;
	padding-right: 20px;
	background: #fff;
}
.quality_education_txt::before {
	content: '';
	width: 773px;
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 50%;
	background: url(../img/quality/bg_education.jpg) no-repeat right top / cover;
	margin-right: 20px;
}
.quality_education_txt p {
	font-size: 1.6rem;
	margin-left: 400px;
	line-height: 1.88;
	letter-spacing: .06em;
}
.quality_education_txt p:nth-child(2) {
	margin: 19px 0 0 436px;
}
.quality_education_txt p:nth-child(3) {
	margin: 21px 0 0 479px;
}
.quality_education_img {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	width: 480px;
	margin: 37px 0 0 auto;
}
.quality_education_img img {
	display: block;
}
@media only screen and (max-width: 768px) {
	.quality_block {
		margin-bottom: 50px;
	}
	.quality_parts {
		width: auto;
		margin: 0 0 60px;
		overflow: hidden;
		padding-left: 5%;
		padding-right: 5%;
	}
	.quality_block h2 {
		font-size: 2.2rem;
		margin-bottom: 15px;
	}
	.quality_block h2::before,
	.quality_block h2::after {
		width: 198px;
		height: 14px;
		background-size: 198px 14px;
		left: 50%;
		margin-top: -7px;
		margin-left: -270px;
	}
	.quality_block h2::after {
		left: auto;
		right: 50%;
		margin-left: 0;
		margin-right: -270px;
	}
	.quality_parts_item {
		display: block;
	}
	.quality_parts_item + .quality_parts_item {
		margin-top: 50px;
	}
	.quality_parts_item figure {
		width: auto;
		margin-top: 20px;
	}
	.quality_parts_item figure img {
		width: 100%;
	}
	.quality_parts_item p {
		width: auto;
		font-size: 1.5rem;
		padding: 7px 0 0 0;
	}
	.quality_parts_item:nth-child(2n+1) p {
		padding: 7px 0 0;
	}
	.quality_attention {
		width: auto;
		overflow: visible;
		margin: 0 0 60px;
		padding-left: 5%;
		padding-right: 5%;
	}
	.quality_block .quality_attention h2 {
		margin-bottom: 20px;
	}
	.quality_block .quality_attention h2::before {
		left: 50%;
		margin-left: -315px;
	}
	.quality_block .quality_attention h2::after {
		right: 50%;
		margin-right: -315px;
	}
	.quality_attention > p {
		text-align: left;
		font-size: 1.5rem;
		line-height: 2;
	}
	.quality_attention_item {
		width: auto;
		display: block;
		padding: 30px 0;
	}
	.quality_attention_txt {
		width: auto;
		padding-right: 0;
	}
	.quality_attention_item figure {
		width: auto;
		margin: 20px 5% 0;
		text-align: center;
	}
	.quality_attention_item figure img {
		width: 100%;
	}
	.quality_attention_item p {
		font-size: 1.5rem;
		padding: 0 5%;
	}
	.quality_education h2 {
		width: auto;
		margin: 0 auto 20px;
	}
	.quality_block .quality_education h2::before {
		left: 50%;
		margin-left: -255px;
	}
	.quality_block .quality_education h2::after {
		right: 50%;
		margin-right: -255px;
	}
	.quality_education_inner {
		margin: 0;
		padding: 0 5%;
		width: auto;
		background: none;
		padding-bottom: 67%;
	}
	.quality_education_txt {
		width: auto;
		padding-top: 0;
		padding-right: 0;
		position: static;
	}
	.quality_education_txt::before {
		width: 100%;
		bottom: 0;
		right: 0;
		padding-top: 73.868%;
		top: auto;
		background-size: 100% auto;
		margin-right: 0;
	}
	.quality_education_txt p {
		font-size: 1.5rem;
		margin-left: 0;
	line-height: 1.9;
	letter-spacing: .06em;
}
	.quality_education_txt p:nth-child(2) {
		margin: 19px 0 0;
	}
	.quality_education_txt p:nth-child(3) {
		margin: 21px 0 0;
	}
	.quality_education_img {
		width: auto;
		margin: 25px 0 0;
	}
	.quality_education_img figure {
		width: 48%;
	}
	.quality_education_img figure img {
		width: 100%;
	}
}

/* percoll_point_block
----------------------------------------*/
.percoll_point_ttl {
	width: 960px;
	margin: 0 auto 40px;
	border: solid 2px #000;
	background: url(../img/solution/percoll/bg_ttl_flow.png);
	color: #fff;
	text-align: center;
	padding: 9px 10px 10px;
}
.percoll_point_ttl h2 {
  font-size: 3rem;
  letter-spacing: .05em;
  margin-bottom: 0;
}

.percoll_point_block {
	width: 960px;
	margin: 49px auto 127px;
}

.percoll_point_block .percoll_point_sttl01 {
	text-align: center;
	margin-bottom: 20px;
}
.percoll_point_block .percoll_point_sttl01 > small {
  display: inline-block;
	font-size: 1.8rem;
  font-weight: bold;
	letter-spacing: .03em;
  color: #333333;
	padding-bottom: 10px;
}
.percoll_point_block .percoll_point_sttl01 > span {
  display: inline-block;
	font-size: 2rem;
  font-weight: bold;
	letter-spacing: .03em;
	padding-bottom: 5px;
}

.percoll_point_block .percoll_point_sttl02{
	font-size: 2rem;
  font-weight: bold;
	letter-spacing: .03em;
  text-align: center;
  margin-bottom: 55px;
}
.percoll_point_block .percoll_point_sttl02 img{
  margin-right: -8px;
}
.percoll_point_block .percoll_point_sttl02 span{
  position: relative;
  bottom: 2px;
}
.percoll_point_item {
	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;
	margin-bottom: 85px;
}
.percoll_point_item.case{
  margin-top: 45px;
}
.percoll_point_item figure {
	width: 350px;
}
.percoll_point_item figure img {
	display: block;
}
.percoll_point_text {
	width: calc(100% - 350px);
	padding-top: 2px;
}
.percoll_point_text h4 {
	font-size: 2.2rem;
	color: #009bff;
	line-height: 1.4;
	padding-left: 63px;
	letter-spacing: .075em;
	min-height: 65px;
	margin-bottom: 26px;
  display: flex;
  align-items: center;
  padding-top: 10px;
	margin-bottom: 15px;
}
.percoll_point_item:nth-of-type(1) h4 {
	background: url(../img/solution/spot/icon_point_01.png) no-repeat 1px top / 50px 57px;
}
.percoll_point_item:nth-of-type(2) h4 {
	background: url(../img/solution/spot/icon_point_02.png) no-repeat 1px top / 50px 58px;
}
.percoll_point_item:nth-of-type(3) h4 {
	background: url(../img/solution/spot/icon_point_03.png) no-repeat 1px top / 50px 58px;
}
.percoll_point_text .percoll_point_description {
	font-size: 1.6rem;
  line-height: 1.875;
}

.percoll_point_text .percoll_case_list{
  margin-bottom: 30px;
}
.percoll_point_text .percoll_case_list li + li{
  margin-top: 20px;
}
.percoll_point_text .percoll_case_list li i{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  
  width: 110px;
  height: 30px;
  border-radius: 15px;
  margin-right: 15px;
  background-color: #009bff;
  font-size: 1.6rem;
  font-weight: bold;
  font-style: normal;
  color: #fff;
}
.percoll_point_text .percoll_case_list li a{
  font-size: 1.6rem;
  text-decoration: underline;
}

.percoll_point_btn {
	margin: 10px 0 0;
}
.percoll_point_btn a {
	display: inline-block;
	font-weight: bold;
	border: solid 1px #000;
	min-width: 340px;
	padding: 8px 30px 7px 14px;
	letter-spacing: .13em;
	-webkit-transition: opacity 300ms;
	transition: opacity 300ms;
}
.percoll_point_btn a:hover {
	opacity: .6;
}
.percoll_point_btn a::after {
	content: "";
	display: block;
	width: 22px;
	height: 10px;
	background: url(../img/common/btn_more_arrow_02.png) no-repeat left top / 100%;
	position: absolute;
	top: 50%;
	right: 23px;
	margin-top: -5px;
}
@media only screen and (min-width: 768px) {
	.percoll_point_btn a:hover::after {
		animation-fill-mode: forwards;
		animation-duration: 600ms;
		animation-name: movex01;
	}
}
@media only screen and (max-width: 768px) {
	.percoll_point_block {
		width: auto;
		margin: 30px 5% 50px;
	}
  .percoll_point_ttl {
    width: auto;
    margin: 0 auto 20px;
  }
  .percoll_point_ttl h2 {
    font-size: 1.7rem;
		letter-spacing: .05em;
		margin-bottom: 0;
  }
  
  .percoll_point_block .percoll_point_sttl01 {
    margin-bottom: 20px;
  }
  .percoll_point_block .percoll_point_sttl01 > small {
    display: inline-block;
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: .03em;
    color: #333333;
    padding-bottom: 10px;
  }
  .percoll_point_block .percoll_point_sttl01 > span {
    display: inline-block;
    font-size: 1.7rem;
    font-weight: bold;
    letter-spacing: .03em;
    padding-bottom: 5px;
  }
  
  .percoll_point_text .percoll_point_description {
    font-size: 1.4rem;
  }
  
  .percoll_point_text .percoll_case_list{
    margin-bottom: 30px;
  }
  .percoll_point_text .percoll_case_list li{
    display: flex;
    flex-direction: column;
  }
  .percoll_point_text .percoll_case_list li + li{
    margin-top: 30px;
  }
  .percoll_point_text .percoll_case_list li i{
    margin-right: 0;
    margin-bottom: 10px;
    font-size: 1.4rem;
  }
  .percoll_point_text .percoll_case_list li span{
    font-size: 1.4rem;
  }
  
	.percoll_point_block h3 {
		margin-bottom: 40px;
	}
	.percoll_point_item {
		display: block;
		margin-bottom: 50px;
	}
  .percoll_point_item.case{
    margin-top: 30px;
  }
	.percoll_point_item figure {
		width: 100%;
	}
	.percoll_point_item figure img {
		display: block;
		margin: 0 auto;
    width: 100%;
	}
	.percoll_point_text {
		width: 100%;
		margin-bottom: 20px;
	}
	.percoll_point_text h4 {
		font-size: 1.7rem;
		line-height: 1.4;
		padding-left: 40px;
    padding-top: 8px;
		min-height: 45px;
		letter-spacing: .05em;
    margin-bottom: 10px;
	}
	.percoll_point_item:nth-of-type(1) h4 {
		background: url(../img/solution/spot/icon_point_01.png) no-repeat 1px top / 34px auto;
	}
	.percoll_point_item:nth-of-type(2) h4 {
		background: url(../img/solution/spot/icon_point_02.png) no-repeat 1px top / 34px auto;
	}
	.percoll_point_item:nth-of-type(3) h4 {
		background: url(../img/solution/spot/icon_point_03.png) no-repeat 1px top / 34px auto;
	}
  
  
  
	.percoll_point_btn a {
		min-width: 0;
		width: 100%;
	}
	.percoll_point_btn a:hover {
		opacity: 1;
	}
}

/* movie_block
----------------------------------------*/
.movie_block {
  width: 624px;
  margin: 80px auto 0;
}
.movie_block .movie_block_inner {
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  position: relative;
}
.movie_block iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media only screen and (max-width: 768px) {
  .movie_block {
    width: 100%;
    margin: 30px auto;
  }
}

/* network_block
----------------------------------------*/
.network_block {
	background: #000044;
	color: #fff;
	margin: 60px 0 100px;
}
.network_inner {
	background: url(../img/tsunagi/network/img_map.png) no-repeat bottom 98px right 20px / 486px auto;
	width: 1000px;
	margin: 0 auto;
	padding: 80px 20px 297px;
}
.network_block h2 {
	font-size: 2.4rem;
	line-height: 1.75;
	font-weight: normal;
	letter-spacing: .07em;
	margin-bottom: 27px;
}
.network_block h2 span {
	font-size: 3.6rem;
	letter-spacing: .07em;
}
.network_block p {
	font-size: 1.6rem;
	line-height: 1.85;
	letter-spacing: .08em;
}
.network_block ul {
	font-size: 1.6rem;
	letter-spacing: .08em;
	line-height: 1.85;
	margin-top: 43px;
}
.network_block ul li {
	margin-left: 1.5em;
	text-indent: -1.5em;
}
.network_block span {
	font-size: 1.2rem;
	text-indent: -1.5em;
}

.network_block ul li + li {
	margin-top: 6.5px;
}
.network_block ul li::before {
	content: '●';
	color: #fff100;
	margin-right: .5em;
}
.network_btn {
	margin-top: 52px;
}
.network_btn a {
	display: block;
	width: 340px;
	background: #fff;
	color: #000;
	font-size: 1.6rem;
	letter-spacing: .11em;
	padding: 20px 18px 18px;
	transition: opacity .3s;
}
.network_btn a::after {
	content: "";
	display: block;
	width: 22px;
	height: 10px;
	background: url(../img/common/btn_more_arrow_02.png) no-repeat left top / 100%;
	position: absolute;
	top: 50%;
	right: 23px;
	margin-top: -5px;
}
@media only screen and (min-width: 769px) {
	.network_btn a:hover {
		opacity: .6;
	}
	.network_btn a:hover::after {
		animation-fill-mode: forwards;
		animation-duration: 600ms;
		animation-name: movex01;
	}
}
@media only screen and (max-width: 768px) {
	.network_block {
		margin: 40px 0 80px;
	}
	.network_inner {
		background: url(../img/tsunagi/network/img_map.png) no-repeat bottom 2rem center / 80% auto;
		width: auto;
		padding: 40px 5% 115%;
	}
	.network_block h2 {
		font-size: 2rem;
	}
	.network_block h2 span {
		font-size: 3rem;
	}
	.network_block p {
		font-size: 1.5rem;
		letter-spacing: .05em;
	}
	.network_block ul {
		font-size: 1.5rem;
		margin-top: 30px;
	}
	.network_btn {
		margin-top: 30px;
	}
	.network_btn a {
		width: auto;
		font-size: 1.4rem;
	}
}

/* pc_block
----------------------------------------*/
.pc_block h2 {
	text-align: center;
	font-size: 2.6rem;
	letter-spacing: .08em;
	color: #009bff;
	margin-bottom: 16px;
}
.pc_block img {
	display: block;
}
.pc_navi {
	width: 1000px;
	padding: 39px 20px 59px;
	margin: 0 auto;
}
.pc_navi p {
	text-align: center;
	font-size: 1.6rem;
	line-height: 1.9;
	letter-spacing: .05em;
}
.pc_navi_btn {
	margin-top: 43px;
	display: flex;
	justify-content: center;
}
.pc_navi_btn li {
	width: 205px;
	margin: 0 30px;
}
.pc_navi_btn li a {
	display: block;
	font-size: 1.6rem;
	letter-spacing: .05em;
	text-align: center;
	border: 1px solid #000;
	padding: 18px 10px;
	transition: opacity .3s;
}
.pc_navi_btn li a::after {
	content: '';
	display: inline-block;
	width: 6px;
	height: 6px;
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	transform: scaleY(.8) rotate(135deg);
	position: absolute;
	top: 0;
	bottom: 0;
	right: 23px;
	margin: auto 0;
}
.pc_navi_btn li a:not([href^="#"])::after {
	transform: scaleY(.8) rotate(45deg);
}
.pc_year {
	background: #f9f9f9;
}
.pc_year_inner {
	width: 1000px;
	padding: 79px 20px 76px;
	margin: 0 auto;
}
.pc_year h3 {
	background: #009bff;
	text-align: center;
	color: #fff;
	font-size: 2.6rem;
	padding: 6px;
	margin-bottom: 26px;
	letter-spacing: .05em;
}
.pc_year_inner > p {
	text-align: center;
	font-size: 1.6rem;
	letter-spacing: .05em;
}
.pc_year_flow {
	width: 800px;
	margin: 49px auto 5px;
}
.pc_year_flow li {
	display: flex;
	padding: 0 0 62px 72px;
}
.pc_year_text {
	flex: 1;
	padding-top: 10px;
}
.pc_year_text h4 {
	font-size: 1.8rem;
	letter-spacing: .07em;
	margin-bottom: 10px;
}
.pc_year_text p {
	font-size: 1.6rem;
	line-height: 1.8;
	letter-spacing: .05em;
}
.pc_year_flow li figure {
	width: 315px;
}
.pc_navi_icon {
	width: 55px;
	height: 55px;
	background: url(../img/solution/pc/icon_step_01.svg) no-repeat left top / 100% auto;
	position: absolute;
	top: 0;
	left: 0;
}
.pc_year_flow li::before {
	content: '';
	display: block;
	width: 3px;
	background: #7bcbff;
	position: absolute;
	top: 55px;
	bottom: 2px;
	left: 26px;
}
.pc_year_flow li::after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 6px 0;
	border-color: #7bcbff transparent transparent;
	position: absolute;
	left: 0;
	bottom: 0;
	transform: translateX(21.5px);
}
.pc_year_flow li:nth-child(2):before {
	background: #59beff;
}
.pc_year_flow li:nth-child(2):after {
	border-color: #59beff transparent transparent;
}
.pc_year_flow li:nth-child(3):before {
	background: #37b1ff;
}
.pc_year_flow li:nth-child(3):after {
	border-color: #37b1ff transparent transparent;
}
.pc_year_flow li:nth-child(4):before,
.pc_year_flow li:nth-child(4):after {
	display: none;
}
.pc_year dl {
	width: 800px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.pc_year dl dt {
	background: #ebebeb;
	text-align: center;
	width: 180px;
	font-size: 1.6rem;
	margin-bottom: 5px;
	padding: 15px 13px 11px;
	line-height: 1.8;
	letter-spacing: .05em;
	font-weight: 500;
}
.pc_year dl dd {
	width: 617px;
	background: #fff;
	margin-bottom: 5px;
	padding: 15px 13px 11px;
	font-size: 1.6rem;
	line-height: 1.8;
	letter-spacing: .05em;
}
.pc_year dl dd span {
	font-size: 1.2rem;
}
.pc_year dl dd li span {
	font-size: 1.4rem;
}
.pc_year dl dd ul li {
	margin-left: 1em;
	text-indent: -1em;
}
.pc_year dl dd ul li::before {
	content: '・';
}
.pc_note_01 {
	width: 800px;
	margin: 20px auto 0;
	font-size: 1.4rem;
	letter-spacing: .05em;
	line-height: 1.75;
}
.pc_note_01 li {
	margin-left: 2.5em;
	text-indent: -2.5em;
}
.pc_note_vender {
	text-align: center;
	font-size: 3rem;
	margin: 89px 0 45px;
	letter-spacing: .05em;
}
.pc_note_vender span {
	font-size: 4rem;
	color: #009bff;
	letter-spacing: .05em;
}
.pc_note_vender span::before {
	content: '';
	display: block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #009bff;
	position: absolute;
	top: -6px;
	left: 0;
	right: 0;
	margin: 0 auto;
}
.pc_support {
	display: flex;
	justify-content: space-between;
	margin-bottom: 35px;
}
.pc_support li {
	width: 24.1666%;
	background: #fff;
	padding: 42px 1px 37px 0;
	text-align: center;
	font-size: 1.6rem;
	line-height: 1.5;
	letter-spacing: .05em;
}
.pc_support li figure {
	margin-bottom: 22px;
}
.pc_note_02 {
	line-height: 1.7;
	font-size: 1.4rem;
	letter-spacing: .05em;
}
.pc_note_02 li {
	margin-left: 1em;
	text-indent: -1em;
}
.pc_spot img {
	display: block;
}
.pc_spot_inner {
	width: 1000px;
	margin: 0 auto;
	padding: 90px 20px;
}
.pc_spot h3 {
	background: #009bff;
	text-align: center;
	color: #fff;
	font-size: 2.6rem;
	padding: 6px;
	margin-bottom: 53px;
	letter-spacing: .05em;
}
.pc_spot_img figure {
	width: 712px;
	margin: 0 0 0 auto;
}
.pc_spot_img_text {
	position: absolute;
	bottom: 63px;
	left: 70px;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-direction: column;
	font-size: 1.8rem;
	letter-spacing: .05em;
	z-index: 10;
}
.pc_spot_img_text span {
	background: #fff;
	padding: 11px 8px;
	margin-top: 6px;
}
.pc_spot_note {
	text-align: right;
	margin: 10px -7px 0 0;
	letter-spacing: .05em;
}
.pc_spot_hikaku {
	text-align: center;
	margin: 65px 0 35px;
}
.pc_spot_hikaku h4 {
	display: inline-block;
	font-size: 2rem;
	letter-spacing: .05em;
	padding-left: 20px;
}
.pc_spot_hikaku h4 span:nth-of-type(1),
.pc_spot_hikaku h4 span:nth-of-type(2) {
	font-size: 3rem;
	color: #009bff;
	letter-spacing: .05em;
	vertical-align: 1px;
	margin: 0 2px;
}
.pc_spot_hikaku h4 span:nth-last-of-type(1),
.pc_spot_hikaku h4 span:nth-last-of-type(2) {
	display: inline-block;
	width: 7.5rem;
	height: 7.5rem;
	font-size: 4.8rem;
	color: #fff;
	background: url(../img/solution/pc/bg_hikaku.png);
	vertical-align: 18px;
	margin-left: 4px;
}
.pc_spot_hikaku h4 span:nth-last-of-type(2) {
	margin-left: 8px;
}
.pc_spot_hikaku h4 img {
	position: absolute;
	left: 2px;
	top: 8px;
}
.pc_spot_table table {
	width: 100%;
	border-collapse: collapse;
}
.pc_spot_table table thead th {
	width: 203px;
	border-bottom: 2px solid #fff;
}
.pc_spot_table table thead th:nth-child(2),
.pc_spot_table table thead th:nth-child(3),
.pc_spot_table table thead th:nth-child(4) {
	background: #58b1ea;
	width: 157px;
	text-align: center;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: .05em;
	padding: 15px 10px 12px;
	border-left: 2px solid #fff;
}
.pc_spot_table table thead th:nth-child(3) {
	background: #4e9cce;
}
.pc_spot_table table thead th:nth-child(4) {
	background: #dddfe0;
	width: 444px;
	font-size: 1.8rem;
	color: #000;
	padding: 14px 10px 10px;
}
.pc_spot_table table tbody th {
	background: #1a4b82;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 400;
	text-align: left;
	border-bottom: 2px solid #fff;
	padding: 22px 30px 21px;
	letter-spacing: .05em;
}
.pc_spot_table table tbody td {
	border-left: 2px solid #fff;
	background: #edf8ff;
	text-align: center;
	border-bottom: 2px solid #fff;
	font-size: 2.4rem;
}
.pc_spot_table table tbody td:nth-child(3) {
	background: #deedf6;
}
.pc_spot_table table tbody td:nth-child(4) {
	background: #eef1f2;
	text-align: left;
	font-size: 1.6rem;
	padding: 0 20px;
}
.pc_spot_table table .star {
	font-size: 1.8rem;
	white-space: nowrap;
	display: inline-block;
}
.pc_spot_table table .red {
	color: #f00;
}
.pc_spot_table table .star span {
	display: block;
}
.pc_spot_table table .star span:last-child {
	position: absolute;
	top: 0;
	left: 0;
	color: #f00;
	overflow: hidden;
}
.pc_spot_table table .star.point35 span:last-child {
	width: 3.5em;
}
@media only screen and (min-width: 769px) {
	.pc_navi_btn li a:hover {
		opacity: .6;
	}
}
@media only screen and (max-width: 768px) {
	.pc_block h2 {
		font-size: 2.1rem;
	}
	.pc_block h2 span {
		font-size: 1.9rem;
	}
	.pc_navi {
		width: auto;
		padding: 39px 5%;
	}
	.pc_navi p {
		text-align: left;
		font-size: 1.4rem;
	}
	.pc_navi_btn {
		margin-top: 30px;
		justify-content: space-between;
	}
	.pc_navi_btn li {
		width: 32.5%;
		margin: 0;
	}
	.pc_navi_btn li a {
		font-size: 1.3rem;
		padding-inline: 0 17px;
	}
	.pc_navi_btn li a::after {
		width: .6rem;
		height: .6rem;
		right: 0.8rem;
	}
	.pc_year_inner {
		width: auto;
		padding: 50px 5%;
	}
	.pc_year h3 {
		font-size: 2.2rem;
	}
	.pc_year_flow {
		width: auto;
		margin: 30px auto 5px;
	}
	.pc_year_flow li {
		display: block;
		padding: 0 0 50px 72px;
	}
	.pc_year_text p {
		font-size: 1.4rem;
	}
	.pc_year_flow li figure {
		width: auto;
		margin-top: 20px;
	}
	.pc_year dl {
		width: auto;
	}
	.pc_year dl dt {
		width: 100px;
		font-size: 1.4rem;
		line-height: 1.5;
	}
	.pc_year dl dd {
		width: calc(100% - 100px);
		font-size: 1.4rem;
	}
	.pc_year dl dd li span {
		font-size: 1.2rem;
	}
	.pc_note_01 {
		width: auto;
		margin: 10px auto 0;
		font-size: 1.3rem;
	}
	.pc_note_vender {
		font-size: 2rem;
		line-height: 1.8;
		margin: 40px 0 20px;
	}
	.pc_note_vender span {
		font-size: 3rem;
	}
	.pc_note_vender span::before {
		width: .5rem;
		height: .5rem;
		top: -.5rem;
	}
	.pc_support {
		flex-wrap: wrap;
		margin-bottom: 20px;
	}
	.pc_support li {
		width: 49%;
		margin-bottom: 5px;
		padding: 30px 0;
		font-size: 1.4rem;
	}
	.pc_support li figure {
		margin-bottom: 10px;
	}
	.pc_note_02 {
		font-size: 1.3rem;
	}
	.pc_spot_inner {
		width: auto;
		padding: 50px 5% 100px;
	}
	.pc_spot h3 {
		font-size: 2.2rem;
		margin-bottom: 30px;
	}
	.pc_spot_img figure {
		width: auto;
	}
	.pc_spot_img_text {
		position: static;
		font-size: 1.6rem;
		margin-bottom: 10px;
	}
	.pc_spot_img_text span {
		padding: 0;
		margin-top: 0;
	}
	.pc_spot_note {
		text-align: left;
		font-size: 1.3rem;
		margin: 10px 0 0 1em;
		text-indent: -1em;
	}
	.pc_spot_hikaku {
		margin: 50px 0 35px;
	}
	.pc_spot_hikaku h4 {
		font-size: 1.8rem;
		padding-left: 0;
	}
	.pc_spot_hikaku h4 span:nth-of-type(1),
	.pc_spot_hikaku h4 span:nth-of-type(2) {
		font-size: 2.4rem;
	}
	.pc_spot_hikaku h4 span:nth-last-of-type(1),
	.pc_spot_hikaku h4 span:nth-last-of-type(2) {
		width: 5.5rem;
		height: 5.5rem;
		font-size: 4rem;
		margin-top: 5px;
	}
	.pc_spot_hikaku h4 img {
		position: static;
		margin: 0 auto;
	}
	.pc_spot_table {
		overflow: auto;
	}
	.pc_spot_table table {
		width: 74rem;
	}
	.pc_spot_table table thead th {
		width: 16rem;
		padding: 22px 1rem 21px;
	}
	.pc_spot_table table thead th:nth-child(2),
	.pc_spot_table table thead th:nth-child(3),
	.pc_spot_table table thead th:nth-child(4) {
		width: 14rem;
		padding: 15px 1rem 12px;
		font-size: 1.5rem;
	}
	.pc_spot_table table thead th:nth-child(2),
	.pc_spot_table table thead th:nth-child(3) {
		width: 12rem;
	}
	.pc_spot_table table thead th:nth-child(4) {
		width: auto;
		font-size: 1.6rem;
		padding: 14px 1rem 10px;
	}
	.pc_spot_table table tbody th {
		font-size: 1.5rem;
		padding: 22px 1.5rem 21px;
	}
	.pc_spot_table table tbody td {
		font-size: 2rem;
	}
	.pc_spot_table table tbody td:nth-child(4) {
		font-size: 1.5rem;
		padding: 10px 1.5rem;
	}
	.pc_spot_table table .star {
		font-size: 1.6rem;
	}
}

.option_block {
	margin-bottom: 180px;
	height: 553px;
	padding: 89px 0 0;
	font-family: 'Noto Sans JP', sans-serif;
	background: url(../img/solution/tsunagi/bg_option.jpg) center center / cover;
}
.option_inner {
	width: 739px;
	background: #fff;
	margin: 0 auto;
	text-align: center;
	padding: 56px 0;
}
.option_block h2 {
	font-size: 2rem;
	letter-spacing: .05em;
	margin-bottom: 20px;
}
.option_block h2::after {
	content: '';
	display: block;
	width: 461px;
	height: 1.6rem;
	background: url(../img/solution/tsunagi/bg_option_ttl.svg) no-repeat center top / auto 1.6rem;
	margin: 4px auto 0;
}
.option_arrow {
	width: 617px;
	height: 103px;
	background: url(../img/solution/tsunagi/bg_option_arrow.png) no-repeat left top / 100% auto;
	margin: 0 auto;
	color: #fff;
	text-align: center;
	font-size: 3rem;
	font-weight: bold;
	padding: 27px 17px 0 0;
	letter-spacing: .05em;
}
.option_plan {
	margin: 4px 0 23px;
	font-size: 8rem;
	line-height: 1.1;
	font-weight: bold;
	letter-spacing: .05em;
}
.option_plan span {
	font-size: 3rem;
	display: block;
	letter-spacing: .05em;
	margin-top: 18px;
}
.option_txt {
	font-size: 1.6rem;
	line-height: 1.9;
	letter-spacing: .05em;
}
@media only screen and (max-width: 768px) {
	.option_block {
		margin-bottom: 50px;
		height: auto;
		padding: 89px 5% 0;
	}
	.option_inner {
		width: auto;
		padding: 40px 5%;
	}
	.option_block h2 {
		font-size: 2rem;
		margin-bottom: 20px;
	}
	.option_block h2::after {
		width: 30rem;
	}
	.option_arrow {
		width: 100%;
		height: 13.3333vw;
		font-size: 5.3333vw;
		padding: 3.4666vw 4.5333vw 0 0;
	}
	.option_plan {
		font-size: 4.5rem;
	}
	.option_plan span {
		font-size: 1.8rem;
		margin-top: 10px;
	}
	.option_txt {
		font-size: 1.4rem;
		text-align: left;
	}
}

/* maker_detail
----------------------------------------*/
.maker_detail_ttl {
	max-width: 96rem;
	margin: 5.6rem auto 2.7rem;
}
.maker_detail_ttl p {
	background: #009bff;
	text-align: center;
	color: #fff;
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: .08em;
	padding: 1.2rem 1rem;
}
.maker_detail_ttl p::after {
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 3.3rem 3.65rem 0;
	border-color: #009bff transparent transparent;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -3.2rem;
	margin: 0 auto;
}
.maker_detail_ttl p span {
	color: #ffe400;
}
.maker_detail_ttl h2 {
	text-align: center;
	font-size: 3rem;
	letter-spacing: .08em;
	margin: 6.5rem 0 0;
}
.maker_detail_ttl h2 span {
	font-size: 3.5rem;
	letter-spacing: .08em;
	color: #009bff;
}
.maker_detail_lnav {
	max-width: 96rem;
	margin: 6.3rem auto 0;
	background: #e4f4ff;
	counter-reset: ol-num;
	padding: 4.9rem 5rem;
	display: flex;
	flex-wrap: wrap;
}
.maker_detail_lnav li {
	width: 45%;
	padding-left: 4.4rem;
	font-size: 1.5rem;
	letter-spacing: .08em;
	padding-top: .2rem;
}
.maker_detail_lnav li + li:not(:nth-child(2)) {
	margin-top: 1.4rem;
}
.maker_detail_lnav li:nth-child(2n) {
	width: 55%;
}
.maker_detail_lnav li::before {
	content: counter(ol-num, decimal);
	counter-increment: ol-num;
	font-size: 1.4rem;
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	background: #009bff;
	color: #fff;
	text-align: center;
	line-height: 3rem;
	position: absolute;
	left: 0;
	top: 0;
}
.maker_detail_lnav li a {
	border-bottom: 1px solid #000;
	transition: color .3s, border-color .3s;
}
.maker_detail_about {
	max-width: 96rem;
	margin: 0 auto 8rem;
	padding-top: 6.3rem;
}
.maker_detail_about h3 {
	text-align: center;
	font-size: 3rem;
	letter-spacing: .08em;
	margin-bottom: 3.2rem;
}
.maker_detail_about h3 span {
	color: #009bff;
}
.maker_detail_about p {
	font-size: 1.6rem;
	line-height: 1.88;
	letter-spacing: .08em;
}
.maker_detail_about figure {
	margin-top: 3.3rem;
}
.maker_detail_point {
	background: #e4f4ff;
	padding: 7.6rem 2rem 8rem;
}
.maker_detail_point h3 {
	text-align: center;
	line-height: 1.65;
	font-size: 3rem;
	letter-spacing: .08em;
	margin-bottom: 2.1rem;
}
.maker_detail_point h3 span {
	color: #009bff;
}
.maker_detail_point p {
	text-align: center;
	font-size: 1.6rem;
	letter-spacing: .08em;
}
.maker_detail_point ul {
	max-width: 96rem;
	margin: 4.3rem auto 0;
	padding: 0 5rem;
	font-size: 1.8rem;
	line-height: 1.62;
	letter-spacing: .08em;
	font-weight: 700;
}
.maker_detail_point ul li {
	padding-left: 3.5rem;
}
.maker_detail_point ul li + li {
	margin-top: 3rem;
}
.maker_detail_point ul li::before {
	content: '';
	display: block;
	width: 2.2rem;
	height: 1.8rem;
	background: url(../img/case/list/icon_check.svg) no-repeat left top / 100% auto;
	position: absolute;
	left: 0;
	top: .35rem;
}
.maker_detail_achievements {
	padding: 8rem 2rem;
}
.maker_detail_achievements h3 {
	text-align: center;
	line-height: 1.65;
	font-size: 3rem;
	letter-spacing: .08em;
	margin-bottom: 2.1rem;
}
.maker_detail_achievements h3 span {
	color: #009bff;
}
.maker_detail_achievements > p {
	font-size: 1.6rem;
	text-align: center;
	letter-spacing: .08em;
}
.maker_detail_achievements .list_item {
	padding-top: 4rem;
}
.maker_detail_features {
	background: #e4f4ff;
	margin: 0 auto;
	padding: 5rem 0;
}
.maker_detail_features_inner {
	max-width: 96rem;
	margin: 0 auto;
}
.maker_detail_features h3 {
	text-align: center;
	font-size: 3rem;
	line-height: 1.4;
	letter-spacing: .12em;
	margin-bottom: 6.6rem;
}
.maker_detail_features h3 > span {
	display: inline-block;
	text-align: right;
}
.maker_detail_features h3 > span > span {
	font-size: 1.4rem;
	letter-spacing: .03em;
}
.maker_detail_features h3 > span > span img {
	width: 1.36rem;
	margin-right: .5rem;
}
.maker_detail_features_item {
	display: flex;
}
.maker_detail_features_item + .maker_detail_features_item {
	margin-top: 5rem;
}
.maker_detail_features_item figure {
	width: 35rem;
}
.maker_detail_features_txt {
	flex: 1;
}
.maker_detail_features_txt ul {
	font-size: 1.6rem;
}
.maker_detail_features_txt ul li {
	padding-left: 1.7rem;
	letter-spacing: .03em;
}
.maker_detail_features_txt ul li + li {
	margin-top: .6rem;
}
.maker_detail_features_txt ul li::before {
	content: '';
	display: block;
	width: .8rem;
	height: .3rem;
	background: #000;
	position: absolute;
	left: 0;
	top: 1.1rem;
}
.maker_detail_features_ttl {
	display: flex;
	align-items: flex-start;
	margin-bottom: 2.6rem;
}
.maker_detail_features_ttl img {
	display: flex;
	width: 3.9rem;
	margin: .2rem 2.1rem 0 .2rem;
}
.maker_detail_features_ttl h4 {
	font-size: 2.2rem;
	letter-spacing: .08em;
	line-height: 1.32;
	color: #009bff;
	padding-top: .2rem;
	flex: 1;
}
.maker_detail_case {
	margin-bottom: 10rem;
	padding-top: 8rem;
}
.maker_detail_case h2 {
	text-align: center;
	line-height: 1.65;
	font-size: 3rem;
	letter-spacing: .08em;
	margin-bottom: 2.1rem;
}
.maker_detail_case h2 span {
	color: #009bff;
}
.maker_detail_case .case_item a {
	color: #009bff;
	text-decoration: underline;
}
.maker_detail_case .case_item figure {
	margin-bottom: 0;
}
@media (hover:hover) {
	.maker_detail_lnav li a:hover {
		color: #009bff;
		border-bottom-color: #009bff;
	}
	.maker_detail_case .case_item a:hover {
		text-decoration: none;
	}
}
@media only screen and (max-width: 768px) {
	.maker_detail_ttl {
		margin: 5rem 5% 2.7rem;
	}
	.maker_detail_ttl p {
		font-size: 1.8rem;
		padding: 1rem;
	}
	.maker_detail_ttl h2 {
		font-size: 1.8rem;
		margin: 5rem 0 0;
	}
	.maker_detail_ttl h2 span {
		font-size: 1.85rem;
		display: inline-block;
	}
	.maker_detail_lnav {
		display: block;
		margin: 3rem auto 0;
		padding: 3rem 5%;
	}
	.maker_detail_lnav li {
		width: auto !important;
		padding-left: 3.8rem;
		font-size: 1.5rem;
	}
	.maker_detail_lnav li + li {
		margin-top: 1.4rem;
	}
	.maker_detail_lnav li::before {
		font-size: 1.3rem;
		width: 2.8rem;
		height: 2.8rem;
		line-height: 2.8rem;
	}
	.maker_detail_about {
		margin: 0 5% 5rem;
		padding-top: 5rem;
	}
	.maker_detail_about h3 {
		font-size: 2rem;
		margin-bottom: 2rem;
	}
	.maker_detail_about p {
		font-size: 1.5rem;
	}
	.maker_detail_about figure {
		margin-top: 2.5rem;
	}
	.maker_detail_point {
		padding: 5rem 5%;
	}
	.maker_detail_point h3 {
		font-size: 2rem;
	}
	.maker_detail_point p {
		font-size: 1.5rem;
	}
	.maker_detail_point ul {
		margin: 3rem auto 0;
		padding: 0;
		font-size: 1.6rem;
	}
	.maker_detail_point ul li + li {
		margin-top: 2rem;
	}
	.maker_detail_achievements {
		padding: 5rem 5%;
	}
	.maker_detail_achievements h3 {
		font-size: 2rem;
	}
	.maker_detail_achievements > p {
		font-size: 1.5rem;
	}
	.maker_detail_achievements .list_item {
		padding-top: 3rem;
	}
	.maker_detail_features {
		margin: 0;
		padding: 5rem 5%;
	}
	.maker_detail_features h3 {
		font-size: 2.2rem;
		margin-bottom: 4rem;
	}
	.maker_detail_features h3 > span {
		text-align: center;
	}
	.maker_detail_features_item {
		display: block;
	}
	.maker_detail_features_item figure {
		width: auto;
		margin-top: 2rem;
	}
	.maker_detail_features_txt ul {
		font-size: 1.5rem;
	}
	.maker_detail_features_txt ul li::before {
		top: 1rem;
	}
	.maker_detail_features_ttl {
		margin-bottom: 2rem;
	}
	.maker_detail_features_ttl img {
		width: 3.5rem;
		margin: .2rem 1.5rem 0 .2rem;
	}
	.maker_detail_features_ttl h4 {
		font-size: 1.8rem;
	}
	.maker_detail_case {
		margin-bottom: 5rem;
		padding: 5rem 5% 0;
	}
	.maker_detail_case h2 {
		font-size: 2rem;
		margin-bottom: 0;
	}
}

/* robot_block
----------------------------------------*/
.robot_intro {
	padding: 3.9rem 2rem 9rem;
}
.robot_intro h2 {
	text-align: center;
	font-size: 2.6rem;
	letter-spacing: .07em;
	color: #009bff;
	margin-bottom: 6.5rem;
}
.robot_intro_inner {
	max-width: 96rem;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}
.robot_intro_inner figure {
	width: 56rem;
}
.robot_intro_text {
	margin: 5.7rem -3rem 0 0;
}
.robot_intro_text h3 {
	font-size: 2.4rem;
	letter-spacing: .05em;
	margin-bottom: 2.1rem;
}
.robot_intro_text h3 span {
	font-size: 1.8rem;
	letter-spacing: .05em;
	margin: 0 0 .6rem -.7rem;
	color: #009bff;
	display: block;
}
.robot_intro_text p {
	font-size: 1.6rem;
	line-height: 1.875;
	letter-spacing: .05em;
}
.robot_support {
	background: #f9f9f9;
	padding: 9.5rem 2rem 8.5rem;
}
.robot_support h2 {
	text-align: center;
	font-size: 3rem;
	letter-spacing: .05em;
	margin-bottom: 4.5rem;
}
.robot_support h2 span {
	color: #009bff;
	font-size: 4rem;
	letter-spacing: .05em;
}
.robot_support h2 span::before {
	content: '';
	display: block;
	width: .6rem;
	height: .6rem;
	border-radius: 50%;
	background: #009bff;
	position: absolute;
	left: 0;
	right: 0;
	top: -.6rem;
	margin: 0 auto;
}
.robot_support_list {
	max-width: 96rem;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}
.robot_support_list li {
	width: 24.1667%;
	background: #fff;
	padding: 4rem 0 6rem;
}
.robot_support_list p {
	text-align: center;
	font-size: 1.6rem;
	line-height: 1.5;
	margin-top: 1.7rem;
	letter-spacing: .05em;
}
.robot_support_note {
	max-width: 96rem;
	margin: 3.5rem auto 0;
	font-size: 1.4rem;
	letter-spacing: .055em;
	line-height: 1.7143;
}
.robot_voice {
	background: #eef8ff;
	margin: .1rem 0 15rem;
	padding: 10.2rem 2rem 9rem;
}
.robot_voice h2 {
	max-width: 43.5rem;
	margin: 0 auto 7.5rem;
}
.robot_voice h3 {
	font-size: 3rem;
	line-height: 1.5;
	color: #009bff;
	padding-bottom: 2.1rem;
	border-bottom: .1rem solid #000;
	margin-bottom: 5rem;
}
.robot_voice_box {
	max-width: 96rem;
	background: #fff;
	margin: 0 auto;
	padding: 6.4rem 4.5rem 7.6rem;
}
.robot_voice_lead {
	display: flex;
	justify-content: space-between;
}
.robot_voice_lead figure {
	width: 45.5rem;
}
.robot_voice_lead h4 {
	font-size: 2.4rem;
	margin-top: -.7rem;
}
.robot_voice_text {
	width: 39.3rem;
}
.robot_voice_text p {
	font-size: 1.6rem;
	line-height: 1.875;
}
.robot_voice_link {
	letter-spacing: 0;
	color: #009bff;
	margin-top: .4rem;
	margin-bottom: 3.3rem;
}
.robot_voice_contents {
	display: flex;
	justify-content: space-between;
	margin-top: 1rem;
}
.robot_voice_contents h4 {
	font-size: 1.6rem;
	margin: 4.2rem 0 1.5rem;
}
.robot_voice_contents h4:first-child {
	margin-top: 0;
}
.robot_voice_contents .robot_voice_text {
	width: 38.2rem;
}
.robot_voice_contents figure {
	width: 45.5rem;
	margin: 2.9rem 0 0;
}
.robot_voice_contents figcaption {
	font-size: 1.6rem;
	line-height: 1.875;
}
@media only screen and (max-width: 768px) {
	.robot_intro {
		padding: 3.9rem 2rem 5rem;
	}
	.robot_intro h2 {
		font-size: 2.1rem;
		margin-bottom: 3rem;
	}
	.robot_intro_inner {
		display: block;
	}
	.robot_intro_inner figure {
		width: auto;
		margin-top: 3rem;
	}
	.robot_intro_text {
		margin: 0;
	}
	.robot_intro_text h3 {
		font-size: 1.9rem;
		margin-bottom: 1.5rem;
	}
	.robot_intro_text h3 span {
		font-size: 1.6rem;
		margin: 0 0 .6rem -.5rem;
	}
	.robot_intro_text p {
		font-size: 1.4rem;
	}
	.robot_support {
		padding: 5rem 2rem;
	}
	.robot_support h2 {
		font-size: 2rem;
		line-height: 1.8;
		margin-bottom: 2rem;
	}
	.robot_support h2 span {
		font-size: 3rem;
	}
	.robot_support h2 span::before {
		width: .5rem;
		height: .5rem;
		top: -.5rem;
	}
	.robot_support_list {
		flex-wrap: wrap;
		gap: .5rem 0;
	}
	.robot_support_list li {
		width: 49%;
		padding: 2rem 0 4rem;
	}
	.robot_support_list p {
		font-size: 1.4rem;
		margin-top: 1rem;
		letter-spacing: .02em;
	}
	.robot_support_note {
		margin: 2.5rem auto 0;
		font-size: 1.3rem;
		letter-spacing: .03em;
	}
	.robot_voice {
		margin: .1rem 0 5rem;
		padding: 4rem 2rem;
	}
	.robot_voice h2 {
		max-width: 24rem;
		margin: 0 auto 3rem;
	}
	.robot_voice h3 {
		font-size: 2rem;
		padding-bottom: 1.5rem;
		margin-bottom: 3rem;
	}
	.robot_voice_box {
		padding: 4rem 2rem;
	}
	.robot_voice_lead {
		display: block;
	}
	.robot_voice_lead figure {
		width: auto;
		margin-top: 2rem;
	}
	.robot_voice_lead h4 {
		font-size: 2rem;
		margin-top: 0;
	}
	.robot_voice_text {
		width: auto;
	}
	.robot_voice_text p {
		font-size: 1.4rem;
	}
	.robot_voice_link {
		margin-bottom: 2rem;
	}
	.robot_voice_contents {
		display: block;
		margin-top: 4rem;
	}
	.robot_voice_contents h4 {
		font-size: 1.4rem;
		margin: 3rem 0 1.5rem;
	}
	.robot_voice_contents .robot_voice_text {
		width: auto;
	}
	.robot_voice_contents figure {
		width: auto;
		margin: 2rem 0 0;
	}
	.robot_voice_contents figcaption {
		font-size: 1.4rem;
	}
}

/* case_spot
----------------------------------------*/
.case_spot ~ .contents .case_item {
	width: 960px;
	margin: 0 auto;
	padding-bottom: 24px;
	padding: 45px 0 24px;
	font-size: 1.6rem;
}
.case_spot ~ .contents .case_item h3 {
	border-bottom: 3px solid #333;
	font-size: 2.4rem;
	color: #126ca7;
	letter-spacing: .075em;
	padding-bottom: 8px;
	margin-bottom: 42px;
	line-height: inherit;
}
.case_spot ~ .contents .case_item p {
	font-size: 1.6rem;
	letter-spacing: .07em;
	margin-left: 2px;
	line-height: inherit;
}
.case_spot ~ .contents .case_item p + p {
	margin-top: 24px;
}
.case_spot ~ .contents .case_item figure {
	margin: 35px 0 34px;
}
.case_spot ~ .contents .case_item p a {
	color: #009bff;
	text-decoration: underline;
}
.case_spot ~ .contents .case_item p a:hover {
	text-decoration: none;
}
@media only screen and (max-width: 768px) {
	.case_spot ~ .contents .case_item {
		width: auto;
		margin: 0 auto;
		padding: 30px 0 25px;
		font-size: 1.5rem;
	}
	.case_spot ~ .contents .case_item h3 {
		border-bottom: 2px solid #333;
		font-size: 2rem;
		letter-spacing: .05em;
		margin-bottom: 25px;
	}
	.case_spot ~ .contents .case_item p {
		font-size: 1.5rem;
		letter-spacing: .05em;
		margin-left: 0;
	}
	.case_spot ~ .contents .case_item p a:hover {
		text-decoration: underline;
	}
}