@charset "utf-8";
/* CSS Document */
/*-------------------------------------------------

　  Main Visual

--------------------------------------------------*/
#mv {position: relative;padding-top: clamp(480px, calc(480px + 370 * ((100vw - 375px) / 1545)), 850px);}
#mv.work {
	padding-top: clamp(100px, calc(100px + 100 * ((100vw - 375px) / 1545)), 200px);
	padding-bottom: clamp(50px, calc(50px + 100 * ((100vw - 375px) / 1545)), 150px);
}
#mv.requirement,
#mv.kenpo,
#mv.interview {padding-top: clamp(480px, calc(480px + 120 * ((100vw - 375px) / 1545)), 600px);}
#mv .inner {
	position: absolute;
	top: clamp(100px, calc(100px + 170 * ((100vw - 375px) / 1545)), 270px);
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	max-width: unset;
}
#mv.requirement .inner {top: clamp(240px, calc(240px + 100 * ((100vw - 375px) / 1545)), 340px);text-align: center;}
#mv.work .inner {position: initial;transform: none;}
#mv .title_common:last-child {margin-bottom: 0;}
#mv.requirement .title_common {display: inline-block;margin-bottom: 20px;text-align: left;}
#mv.kenpo .title_common,
#mv.interview .title_common {position: absolute;top: 65%;left: 0;transform: translateY(-50%);width: 100%;}
#mv.requirement .title_common p {display: flex;align-items: center;}
#mv.requirement .title_common p span {margin-bottom: 0;}
#mv .title_common p img {width: 60px;}
#mv.requirement .title_common p img {margin: 0;}
#mv .title_common h1 {
	position: relative;
	color: #fff;
	font-size: clamp(34px, calc(34px + 50 * ((100vw - 375px) / 1545)), 84px);
	line-height: 1;
	letter-spacing: .05em;
	text-align: center;
}
#mv .title_common h1 span.color {color: #019CDE;}
#mv .content h2 {
	margin-bottom: clamp(30px, calc(30px + 20 * ((100vw - 375px) / 1545)), 50px);
	color: #fff;
	font-weight: bold;
	font-size: clamp(18px, calc(18px + 6 * ((100vw - 375px) / 1545)), 24px);
	text-align: center;
}
#mv .content p {
	margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	color: #fff;
	font-weight: 500;
	font-size: clamp(14px, calc(14px + 6 * ((100vw - 375px) / 1545)), 20px);
	letter-spacing: .03em;
	text-align: center;
}
#mv.requirement .content p {font-weight: 400;}
#mv .content p:last-child {margin-bottom: 0;}
#mv .image-crossfader {position: absolute;top: 0;left: 0;z-index: -1;width: 100%;height: 100%;overflow: hidden;}
#mv .image-crossfader-inner {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	opacity: 0;
	transform: scale(1.2);
	transition:
	opacity 1.5s cubic-bezier(0.455, 0.03, 0.515, 0.955),
	transform 3.5s cubic-bezier(0.455, 0.03, 0.515, 0.955);
	background: #E6F1F9 no-repeat center / cover;
}
#mv.message .image-crossfader-inner {background-image: url(../img/page/message/mv.webp);}
#mv.business .image-crossfader-inner {background-image: url(../img/page/business/mv.webp);}
#mv.work .image-crossfader-inner {background-image: url(../img/page/work/mv.webp);}
#mv.requirement .image-crossfader-inner {background-image: url(../img/page/requirement/mv.webp);}
#mv.kenpo .image-crossfader-inner {background-image: url(../img/page/kenpo/mv.webp);}
#mv.interview .image-crossfader-inner {background-image: url(../img/page/inteview/mv.webp);}
#mv .image-crossfader-inner.is-visible {z-index: 1;opacity: 1;transform: scale(1.02);}
@media only screen and ( max-width : 767px ) {
	#mv .inner {width: 92%;}
}
@media only screen and ( max-width : 500px ) {
	#mv .content p {text-align: left;}
	#mv.requirement .inner {text-align: left;}
	#mv.requirement .image-crossfader-inner {background-image: url(../img/page/requirement/mv-sp.webp);}
	#mv.kenpo .image-crossfader-inner {background-image: url(../img/page/kenpo/mv-sp.webp);}
	#mv.interview .image-crossfader-inner {background-image: url(../img/page/inteview/mv-sp.webp);}
}
/*-------------------------------------------------

　   COMMON

--------------------------------------------------*/
h2.title {
	max-width: 750px;
	margin: 0 auto clamp(40px, calc(40px + 60 * ((100vw - 375px) / 1545)), 100px);
	padding: 10px clamp(30px, calc(30px + 30 * ((100vw - 375px) / 1545)), 60px);
	box-shadow: 0 3px 6px rgba(0, 0, 0, 16%);
	border-radius: 40px;
	background: #fff;
	color: #1A5289;
	font-size: clamp(34px, calc(34px + 50 * ((100vw - 375px) / 1545)), 84px);
	letter-spacing: .05em;
	text-align: center;
}
h2.title span {color: #019CDE;}
h2.title img {
	display: block;
	width: clamp(40px, calc(40px + 22 * ((100vw - 375px) / 1545)), 62px);
	margin: 0 auto;
}
.check_wrap {margin-bottom: clamp(40px, calc(40px + 10 * ((100vw - 375px) / 1545)), 50px);}
.check_wrap h2 {
	margin-bottom: 10px;
	font-weight: bold;
	font-size: clamp(16px, calc(16px + 10 * ((100vw - 375px) / 1545)), 26px);
	letter-spacing: .1em;
	text-align: center;
}
.check_wrap h2 img {width: clamp(20px, calc(20px + 5 * ((100vw - 375px) / 1545)), 25px);margin-left: 8px;}
.check_wrap .border {display: flex;width: clamp(50px, calc(50px + 20 * ((100vw - 375px) / 1545)), 70px);margin: 0 auto;}
.scroll_txt {display: none !important;}
#contents {position: relative;overflow: hidden;}
#contents p.en {
	display: flex;
	align-items: center;
	margin-bottom: 2%;
	margin-left: -2vw;
    color: #AFDAED;
    white-space: nowrap;
    font-size: 9.2vw;
	line-height: 1;
    text-align: center;
}
#contents p.en span {color: #019CDE;}
#contents .inner {max-width: 100%;}
#contents ul {display: grid;grid-template-columns: repeat(3, 1fr);gap: 30px 3.5vw;}
#contents ul li {
	position: relative;
	padding-top: 70%;
	overflow: hidden;
	border-radius: clamp(15px, calc(15px + 15 * ((100vw - 375px) / 1545)), 60px);
	background: no-repeat center / cover;
}
#contents ul li.business {background-image: url(../img/page/common/thumbnail_business.webp);}
#contents ul li.message {background-image: url(../img/page/common/thumbnail_message.webp);}
#contents ul li.kenpo {background-image: url(../img/page/common/thumbnail_kenpo.webp);}
#contents ul li.work {background-image: url(../img/page/common/thumbnail_work.webp);}
#contents ul li::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	opacity: .53;
	width: 100%;
	height: 100%;
	background: #0B6BC2;
	transition: .3s;
}
#contents ul li:hover::before  {opacity: .7;}
#contents ul li a.link {border-radius: clamp(15px, calc(15px + 15 * ((100vw - 375px) / 1545)), 60px);}
#contents ul li .wrap {position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);width: 100%;}
#contents ul li .wrap h4 {color: #fff;font-size: 2vw;letter-spacing: .1em;text-align: center;}
#contents ul li .wrap p {display: flex;justify-content: center;align-items: center;gap: 10px;color: #fff;font-size: .8vw;}
#contents ul li .wrap p img {width: 5%;}
#contents ul li .wrap span.arrow {width: 3.5vw;height: 3.5vw;margin: 1.2vw auto 0;}
@media only screen and ( max-width : 767px ) {
	.scroll_txt {display: block !important;margin-top: 10px;font-size: 1.2rem;text-align: center;}
	#contents ul {grid-template-columns: repeat(1, 1fr);}
	#contents ul li {padding-top: 40%;}
	#contents ul li .wrap h4 {font-size: 6.2vw;}
	#contents ul li .wrap p {font-size: 2.4vw;}
	#contents ul li .wrap span.arrow {width: 6.5vw;height: 6.5vw;}
}
@media only screen and ( max-width : 500px ) {
	#contents ul li .wrap h4 {font-size: 6.8vw;}
	#contents ul li .wrap p {font-size: 3vw;}
	#contents ul li .wrap span.arrow {width: 8.5vw;height: 8.5vw;}
}
/*-------------------------------------------------

	MESSAGE │ メッセージ

--------------------------------------------------*/
#message {overflow: hidden;}
#message .inner {max-width: 1620px;}
#message h3.title {
	position: relative;
	z-index: 1;
	max-width: 1000px;
	margin: 0 auto clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	padding: clamp(20px, calc(20px + 50 * ((100vw - 375px) / 1545)), 70px) 20px;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 16%);
	background: #fff;
	color: #019CDE;
	font-weight: bold;
	font-size: clamp(18px, calc(18px + 22 * ((100vw - 375px) / 1545)), 40px);
	letter-spacing: .1em;
	text-align: center;
}
#message h3.title::before,
#message h3.title::after {content: '';position: absolute;width: 8%;height: 90%;transition: .3s;}
#message h3.title::before {top: 0;left: 0;border-left: .3em solid #019CDE;border-top: .3em solid #019CDE;}
#message h3.title::after {bottom: 0;right: 0;border-right: .3em solid #019CDE;border-bottom: .3em solid #019CDE;}
#message h3.title span {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: -1;
	transform: translate(-50%, -50%);
	width: 100%;
	color: #E8F8FF;
	font-size: 7vw;
	letter-spacing: .05em;
	text-align: center;
}
#message .block1 {margin-bottom: clamp(40px, calc(40px + 100 * ((100vw - 375px) / 1545)), 140px);}
#message .block1 h2 {margin-bottom: clamp(40px, calc(40px + 30 * ((100vw - 375px) / 1545)), 70px);text-align: center;}
#message .block1 ul {margin-bottom: clamp(40px, calc(40px + 100 * ((100vw - 375px) / 1545)), 140px);}
#message .block1 ul li:not(:last-child) {margin-bottom: clamp(40px, calc(40px + 60 * ((100vw - 375px) / 1545)), 100px);}
#message .block1 ul li:nth-child(2) {flex-direction: row-reverse;}
#message .block1 ul li figure {width: 40%;}
#message .block1 ul li .wrap {width: 52%;}
#message .block1 ul li:nth-child(2) .wrap h3 span {font-size: 6vw;}
#message .block1 ul li .wrap .content {
	padding: clamp(15px, calc(15px + 15 * ((100vw - 375px) / 1545)), 30px) clamp(20px, calc(20px + 20 * ((100vw - 375px) / 1545)), 40px);
	background: #E5F7FF;
}
#message .block1 .container {
	padding: clamp(40px, calc(40px + 30 * ((100vw - 375px) / 1545)), 70px) 20px;
	background: #fff;
}
#message .block1 .container h4 {width: 48%;max-width: 692px;margin: 0 auto clamp(20px, calc(20px + 50 * ((100vw - 375px) / 1545)), 70px);}
#message .block1 .container .wrap {
	width: 90%;
	max-width: 1074px;
	margin: 0 auto clamp(40px, calc(40px + 30 * ((100vw - 375px) / 1545)), 70px);
	padding: 20px clamp(20px, calc(20px + 20 * ((100vw - 375px) / 1545)), 40px);
	background: #E5F7FF;
	font-weight: 500;
	text-align: center;
}
#message .block1 .container .wrap p {text-align: center;}
#message .block1 .container figure {width: 90%;max-width: 1248px;margin: 0 auto;}
#message .block2 {background: url(../img/page/message/siblings/bg01.svg) no-repeat 50% 4.2% / 105%;}
#message .block2 h2 {width: 48%;max-width: 709px;margin: 0 auto 20%;}
#message .block2 .container {position: relative;z-index: 1;padding: 20% 5% 10%;border-radius: 46px;background: #3EB9ED;}
#message .block2 .container h3.title {margin-bottom: clamp(40px, calc(40px + 20 * ((100vw - 375px) / 1545)), 60px);}
#message .block2 .container figure {position: absolute;top: 2%;left: 50%;transform: translate(-50%, -50%);width: 90%;}
#message .block2 .container .bgL {position: absolute;top: 40%;left: 0;z-index: -1;transform: translate(-50%, -50%);width: 30%;}
#message .block2 .container .bgR {position: absolute;top: 30%;right: 4%;z-index: -1;transform: translate(50%, -50%);width: 20%;}
#message .block2 .container .wrap {padding-top: clamp(60px, calc(60px + 20 * ((100vw - 375px) / 1545)), 80px);}
#message .block2 .container .wrap h3 {margin-bottom: 15px;text-align: center;}
#message .block2 .container .wrap h3 span {
	display: inline-flex;
	justify-content: center;
	position: relative;
	padding: 0 15%;
	color: #fff;
	font-weight: 900;
	font-size: clamp(22px, calc(22px + 8 * ((100vw - 375px) / 1545)), 30px);
	letter-spacing: .1em;
	text-align: center;
}
#message .block2 .container .wrap h3 span img {position: absolute;top: -50%;transform: translateY(-50%);width: 30%;}
#message .block2 .container .wrap h3 span img:nth-child(1) {left: 0;}
#message .block2 .container .wrap h3 span img:nth-child(2) {right: 0;}
#message .block2 .container .wrap p {color: #fff;font-weight: 500;line-height: 2;text-align: center;}
#message .block2 .container .wrap p span {display: block;font-weight: 900;font-size: 1.2em;line-height: 2;text-align: center;}
#message .block2 .container .squirrel {position: absolute;right: 7%;bottom: 0;z-index: -1;transform: translateY(50%);width: 30%;}
@media only screen and ( max-width : 767px ) {
	#message .block1 ul li figure {width: 100%;margin-bottom: 30px;}
	#message .block1 ul li .wrap {width: 100%;}
}
@media only screen and ( max-width : 500px ) {
	#message h3.title span {font-size: 16vw;}
	#message .block1 ul li:nth-child(2) .wrap h3 span {font-size: 13vw;}
	#message .block1 .container .wrap {width: 100%;}
	#message .block1 .container .wrap p {text-align: left;}
	#message .block1 .container figure {width: 100%;}
	#message .block2 h2 { width: 80%;}
	#message .block2 .container .bgL,
	#message .block2 .container .bgR {top:23%;}
	#message .block2 .container .squirrel {bottom: -2%;width: 50%;}
}
/*-------------------------------------------------

	BUSINESS │ TJKでの仕事

--------------------------------------------------*/
#business {
	position: relative;
	z-index: 1;
	background-image: url(../img/page/business/bg_dia01.svg), url(../img/page/business/bg_dia02.svg);
	background-repeat: no-repeat, no-repeat;
	background-position: -20% 4%, 145% 65%;
	background-size: 40%, 60%;
}
#business .inner {max-width: 1390px;}
#business .block1 h2 {margin-bottom: clamp(80px, calc(80px + 60 * ((100vw - 375px) / 1545)), 140px);}
#business .block1 .container {
	position: relative;
	align-items: flex-end;
	margin-bottom: clamp(60px, calc(60px + 40 * ((100vw - 375px) / 1545)), 100px);
	padding-top: clamp(30px, calc(30px + 20 * ((100vw - 375px) / 1545)), 50px);
	padding-right: clamp(40px, calc(40px + 30 * ((100vw - 375px) / 1545)), 70px);
	padding-bottom: clamp(10px, calc(10px + 20 * ((100vw - 375px) / 1545)), 30px);
	box-shadow: 0 3px 6px rgba(0, 0, 0, 16%);
	background: #F4F7F8;
}
#business .block1 .container:last-child {margin-bottom: 0;}
#business .block1 .container p.speech {
	position: absolute;
	top: 0;
	left: 7%;
	transform: translateY(-50%);
	padding: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px) clamp(30px, calc(30px + 30 * ((100vw - 375px) / 1545)), 60px);
	background: #019CDE;
	color: #fff;
	font-weight: bold;
	font-size: clamp(16px, calc(16px + 10 * ((100vw - 375px) / 1545)), 26px);
	letter-spacing: .1em;
	text-align: center;
	transition: .3s;
}
#business .block1 .container p.speech::after {
	content: '';
	position: absolute;
	top: 98%;
	right: 0;
	border-top: 1.2vw solid #019CDE;
	border-left: 2.2vw solid transparent;
}
#business .block1 .container figure {width: 38%;overflow: hidden;}
#business .block1 .container:nth-of-type(1) figure img {width: 70%;}
#business .block1 .container:nth-of-type(2) figure {text-align: center;}
#business .block1 .container:nth-of-type(2) figure img {width: 90%;}
#business .block1 .container:nth-of-type(3) figure img {width: 95%;margin-left: -5.5%;}
#business .block1 .container:nth-of-type(4) figure img {width: 98%;margin-left: -4.5%;}
#business .block1 .container .wrap {width: 62%;}
#business .block1 .container .wrap h3 {
	margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	font-weight: bold;
	font-size: clamp(20px, calc(20px + 4 * ((100vw - 375px) / 1545)), 24px);
	letter-spacing: .05em;
}
#business .block1 .container .wrap h3 span {color: #019CDE;}
#business .block1 .container .wrap .item {position: relative;padding-left: clamp(20px, calc(20px + 50 * ((100vw - 375px) / 1545)), 70px);}
#business .block1 .container .wrap .item::before {
	content: '';
	position: absolute;
	top: 1%;
	left: 0;
	width: clamp(14px, calc(14px + 12 * ((100vw - 375px) / 1545)), 26px);
	height: clamp(14px, calc(14px + 12 * ((100vw - 375px) / 1545)), 26px);
	background: #019CDE;
}
#business .block1 .container .wrap .item .content {margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);}
#business .block1 .container .wrap .item .content p:not(:last-child) {margin-bottom: clamp(15px, calc(15px + 10 * ((100vw - 375px) / 1545)), 25px);}
#business .block1 .container .wrap .item ul li {width: 47%;margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);}
#business .block1 .container .wrap .item ul li:last-child {margin-bottom: 0;}
#business .block1 .container .wrap .item ul li h4 {position: relative;margin-bottom: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);}
#business .block1 .container .wrap .item ul li h4::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	z-index: -1;
	transform: translateY(-50%);
	width: 100%;
	height: 1px;
	background: #019CDE;
}
#business .block1 .container .wrap .item ul li h4 span {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: clamp(7px, calc(7px + 3 * ((100vw - 375px) / 1545)), 10px);
	position: relative;
	z-index: 1;
	padding: 7px clamp(25px, calc(25px + 5 * ((100vw - 375px) / 1545)), 30px) 7px 10px;
	border: 1px solid #019CDE;
	border-radius: 50px;
	background: #fff;
	font-weight: 600;
	line-height: 1.4;
}
#business .block1 .container .wrap .item ul li h4 span img {width: clamp(14px, calc(14px + 4 * ((100vw - 375px) / 1545)), 18px);}
#business .block2 .container {
	position: relative;
	padding: 20% 0;
	background: url(../img/page/business/bg_job.svg) no-repeat center / 80%;
	text-align: center;
}
#business .block2 .container h3 {
	margin-bottom: clamp(30px, calc(30px + 10 * ((100vw - 375px) / 1545)), 40px);
	color: #019CDE;
	font-weight: bold;
	font-size: clamp(22px, calc(22px + 8 * ((100vw - 375px) / 1545)), 30px);
	letter-spacing: .2em;
	text-align: center;
}
#business .block2 .container .content {margin-bottom: clamp(30px, calc(30px + 10 * ((100vw - 375px) / 1545)), 40px);}
#business .block2 .container .content p {letter-spacing: .029em;text-align: center;}
#business .block2 .container .content p span {
	display: block;
	margin-top: clamp(30px, calc(30px + 10 * ((100vw - 375px) / 1545)), 40px);
	color: #019CDE;
	font-weight: bold;
	font-size: clamp(16px, calc(16px + 6 * ((100vw - 375px) / 1545)), 22px);
	letter-spacing: .1em;
	text-align: center;
}
@media only screen and ( max-width : 1024px ) {
	#business .block1 .container {padding: 10% 4vw 20px;}
	#business .block1 .container figure {width: 70%;margin: 0 auto 30px;text-align: center;}
	#business .block1 .container .wrap {width: 100%;}
	#business .block2 .container {background-size: 100%;}
}
@media only screen and ( max-width : 767px ) {
	#business .block1 .container .wrap h3 {text-align: center;}
	#business .block1 .container .wrap .item {padding-left: 0;}
	#business .block1 .container .wrap .item::before {display: none;}
	#business .block1 .container .wrap .item ul li {width: 100%;}
	#business .block2 .container {padding: 0;background: none;}
	#business .block2 .container .content p {text-align: left;}
	#business .block2 .container figure {margin-bottom: 30px;}
}
/*-------------------------------------------------

	WORK ENVIRONMENT │ 働く環境

--------------------------------------------------*/
/* PHILOSOPHY */
#work #philosophy .inner {max-width: 1200px;}
#work #philosophy h2.ttl {margin-bottom: clamp(60px, calc(60px + 80 * ((100vw - 375px) / 1545)), 140px);text-align: center;}
#work #philosophy h2.ttl img {width: auto;}
#work #philosophy .ttl_wrap {margin-bottom: clamp(30px, calc(30px + 20 * ((100vw - 375px) / 1545)), 50px);}
#work #philosophy .ttl_wrap h2 {
	margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	font-weight: bold;
	font-size: clamp(22px, calc(22px + 8 * ((100vw - 375px) / 1545)), 30px);
	letter-spacing: .1em;
	text-align: center;
}
#work #philosophy .ttl_wrap h2 img {
	display: block;
	width: clamp(40px, calc(40px + 20 * ((100vw - 375px) / 1545)), 60px);
	margin: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px) auto 0;
}
#work #philosophy .ttl_wrap p {
	font-size: clamp(14px, calc(14px + 4 * ((100vw - 375px) / 1545)), 20px);
	letter-spacing: .1em;
	text-align: center;
}
#work #philosophy .ttl_wrap h3 {
	position: relative;
	padding-top: clamp(40px, calc(40px + 20 * ((100vw - 375px) / 1545)), 60px);
	padding-bottom: clamp(40px, calc(40px + 20 * ((100vw - 375px) / 1545)), 60px);
	overflow: hidden;
	color: #019CDE;
	font-weight: bold;
	font-size: clamp(14px, calc(14px + 4 * ((100vw - 375px) / 1545)), 20px);
	letter-spacing: .1em;
	text-align: center;
}
#work #philosophy .ttl_wrap h3 span {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: -1;
	transform: translate(-50%, -50%);
	width: 100%;
	color: #E1F1F8;
	white-space: nowrap;
	font-size: clamp(50px, calc(50px + 68 * ((100vw - 375px) / 1545)), 118px);
	letter-spacing: .05em;
	text-align: center;
}
#work #philosophy .subttl_wrap {max-width: 890px;margin: 0 auto clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);}
#work #philosophy .subttl_wrap h4 {
	margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	font-weight: bold;
	font-size: clamp(18px, calc(18px + 6 * ((100vw - 375px) / 1545)), 24px);
	letter-spacing: .1em;
	text-align: center;
}
#work #philosophy .subttl_wrap h4 img {display: block;margin-top: 10px;}
#work #philosophy .subttl_wrap ul {display: flex;flex-wrap: wrap;justify-content: center;overflow: hidden;}
#work #philosophy .subttl_wrap ul li {
	position: relative;
	width: clamp(150px, calc(150px + 50 * ((100vw - 375px) / 1545)), 200px);
	height: clamp(150px, calc(150px + 50 * ((100vw - 375px) / 1545)), 200px);
	margin: 0 auto;
	border-radius: 50%;
	background: #CFE1EA;
}
#work #philosophy .subttl_wrap ul li:nth-child(1) {background: #CFE1EA;}
#work #philosophy .subttl_wrap ul li:nth-child(2) {background: #C1E5F5;}
#work #philosophy .subttl_wrap ul li:nth-child(3) {background: #9BD4ED;}
#work #philosophy .subttl_wrap ul li span {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100vw;
	font-size: clamp(14px, calc(14px + 6 * ((100vw - 375px) / 1545)), 20px);
	line-height: 1.7;
	letter-spacing: .1em;
	text-align: center;
}
#work #philosophy .system_wrap {max-width: 1137px;margin: 0 auto clamp(60px, calc(60px + 40 * ((100vw - 375px) / 1545)), 100px);}
#work #philosophy .block {
	margin-bottom: clamp(40px, calc(40px + 10 * ((100vw - 375px) / 1545)), 50px);
	padding: clamp(40px, calc(40px + 30 * ((100vw - 375px) / 1545)), 70px) clamp(20px, calc(20px + 30 * ((100vw - 375px) / 1545)), 50px);
	background: #F7F7F7;
}
#work #philosophy .block.block1 {background: #F7F7F7 url(../img/page/work/philosophy/personnel/bg.svg) no-repeat top right / 50%;}
#work #philosophy .block.block3 {margin-bottom: 0;background: #F7F7F7 url(../img/page/work/philosophy/support/bg.webp) no-repeat top center / cover;}
#work #philosophy .block h3 {margin-bottom: clamp(20px, calc(20px + 40 * ((100vw - 375px) / 1545)), 60px);}
#work #philosophy .block h3 span {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	padding: 15px 20px;
	border-radius: clamp(10px, calc(10px + 20 * ((100vw - 375px) / 1545)), 30px);
	background: #1C2D5B;
	color: #019CDE;
	font-weight: bold;
	font-size: clamp(16px, calc(16px + 6 * ((100vw - 375px) / 1545)), 22px);
	letter-spacing: .1em;
	text-align: center;
}
#work #philosophy .block h3 span img {width: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);}
#work #philosophy .block.block1 figure {position: relative;margin-bottom: clamp(30px, calc(30px + 20 * ((100vw - 375px) / 1545)), 50px);text-align: right;}
#work #philosophy .block.block1 figure img {width: 90%;}
#work #philosophy .block.block1 figure figcaption {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 40%;
	max-width: 454px;
	padding: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	backdrop-filter: blur(33px);
    background: rgba(255, 255, 255, .5);
	letter-spacing: .1em;
}
#work #philosophy .block.block2 ul.list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	margin-bottom: clamp(40px, calc(40px + 10 * ((100vw - 375px) / 1545)), 50px);
}
#work #philosophy .block.block2 ul.list li {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	position: relative;
	margin-top: 115px;
	margin-bottom: clamp(50px, calc(50px + 30 * ((100vw - 375px) / 1545)), 80px);
	padding: 40px clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px) 20px;
	box-shadow: 0 3px 3px rgba(0, 0, 0, 16%);
	background: #F5F5F5;
}
#work #philosophy .block.block2 ul.list li::before {
	content: '';
	position: absolute;
	bottom: 110%;
	left: 50%;
	transform: translateX(-50%);
	background: no-repeat center / 100%;
}
#work #philosophy .block.block2 ul.list li:nth-child(1)::before {
	width: 99px;
	height: 101px;
	background-image: url(../img/page/work/philosophy/training/Icon01.svg);
}
#work #philosophy .block.block2 ul.list li:nth-child(2)::before {
	width: 99px;
	height: 97px;
	background-image: url(../img/page/work/philosophy/training/Icon02.svg);
}
#work #philosophy .block.block2 ul.list li:nth-child(3)::before {
	width: 95px;
	height: 81px;
	background-image: url(../img/page/work/philosophy/training/Icon03.svg);
}
#work #philosophy .block.block2 ul.list li:nth-child(4)::before {
	width: 64px;
	height: 85px;
	background-image: url(../img/page/work/philosophy/training/Icon04.svg);
}
#work #philosophy .block.block2 ul.list li::after {
	content: '';
	position: absolute;
	top: 110%;
	left: 50%;
	transform: translateX(-50%);
	width: 15px;
	height: 40px;
	background: url(../img/page/work/philosophy/training/img_arrowD.svg) no-repeat center / 100%;
}
#work #philosophy .block.block2 ul.list li h5 {
	position: absolute;
	top: -5%;
	left: 0;
	width: 100%;
	padding: 7px 5px;
	border-radius: 30px;
	background: #1C2D5B;
	color: #fff;
	font-weight: bold;
	letter-spacing: .1em;
	text-align: center;
}
#work #philosophy .block.block2 strong {
	display: block;
	padding: clamp(10px, calc(10px + 5 * ((100vw - 375px) / 1545)), 15px) 10px;
	border-radius: clamp(10px, calc(10px + 20 * ((100vw - 375px) / 1545)), 30px);
	font-weight: 500;
	background: #019CDE;
	color: #fff;
	line-height: 1.4;
	letter-spacing: .1em;
	text-align: center;
}
#work #philosophy .block.block3 ul.list {display: grid;grid-template-columns: repeat(2, 1fr);gap: 30px 40px;}
#work #philosophy .block.block3 ul.list li.item {
	padding: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	background: rgba(255, 255, 255, .7);
}
#work #philosophy .block.block3 ul.list li.item h4 {
	margin-bottom: 15px;
	padding-left: 10px;
	border-left: 7px solid #019CDE;
	font-weight: bold;
	font-size: clamp(16px, calc(16px + 6 * ((100vw - 375px) / 1545)), 22px);
	letter-spacing: .1em;
}
#work #philosophy .block.block3 ul.list li.item p {margin-bottom: 15px;letter-spacing: .1em;}
#work #philosophy .block.block3 ul.list li.item .content p {margin-bottom: 0;}
#work #philosophy .block.block3 ul.list li.item .content ul li {position: relative;padding-left: 20px;line-height: 1.4;letter-spacing: .1em;}
#work #philosophy .block.block3 ul.list li.item .content ul li::before {content: '・';position: absolute;left: 0;}
/* CULTURE */
#work #culture .inner {max-width: 1536px;}
#work #culture .block1 {max-width: 1400px;margin: 0 auto;}
#work #culture .block1 .wrap {margin-bottom: clamp(40px, calc(40px + 60 * ((100vw - 375px) / 1545)), 100px);}
#work #culture .block1 .wrap p {
	margin-bottom: clamp(20px, calc(20px + 30 * ((100vw - 375px) / 1545)), 50px);
	letter-spacing: .03em;
	text-align: center;
}
#work #culture .block1 .wrap p:last-child {margin-bottom: 0;}
#work #culture .block1 ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(30px, calc(30px + 50 * ((100vw - 375px) / 1545)), 80px);
	margin-bottom: clamp(60px, calc(60px + 40 * ((100vw - 375px) / 1545)), 100px);
}
#work #culture .block1 ul li p {
	padding: 10px 0;
	background: #019CDE;
	color: #fff;
	font-size: clamp(14px, calc(14px + 6 * ((100vw - 375px) / 1545)), 20px);
	text-align: center;
}
#work #culture .block2 {
	padding: clamp(40px, calc(40px + 30 * ((100vw - 375px) / 1545)), 70px) 20px;
	background: #F7F7F7;
}
#work #culture .block2 .ttl_wrap {margin-bottom: 10px;}
#work #culture .block2 .ttl_wrap h2 {
	margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	text-align: center;
}
#work #culture .block2 .ttl_wrap h2 span {
	display: inline-block;
	padding: 20px clamp(30px, calc(30px + 30 * ((100vw - 375px) / 1545)), 60px);
	border-radius: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
	box-shadow: 0 3px 6px rgba(0, 0, 0, 16%);
	background: #fff;
	color: #1A5289;
	font-weight: bold;
	font-size: clamp(22px, calc(22px + 14 * ((100vw - 375px) / 1545)), 36px);
	letter-spacing: .05em;
	text-align: center;
}
#work #culture .block2 .ttl_wrap h2 img {display: block;width: clamp(24px, calc(24px + 10 * ((100vw - 375px) / 1545)), 34px);margin: 10px auto 0;}
#work #culture .block2 .ttl_wrap p {
	color: #019CDE;
	font-weight: bold;
	font-size: clamp(14px, calc(14px + 6 * ((100vw - 375px) / 1545)), 20px);
	letter-spacing: .1em;
	text-align: center;
}
#work #culture .block2 .attempt_wrap {
	position: relative;
	z-index: 1;
	width: 90%;
	margin: 0 auto clamp(45px, calc(45px + 5 * ((100vw - 375px) / 1545)), 50px);
	padding: 4vw 0;
	border-radius: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	background: #019CDE;
}
#work #culture .block2 .attempt_wrap::before {
	content: '';
	position: absolute;
	top: 0;
	right: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
	left: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
	z-index: -1;
	height: 100%;
	border-radius: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	background: #fff;
}
#work #culture .block2 .attempt_wrap::after {
	content: '';
	position: absolute;
	bottom: -1.2vw;
	left: 50%;
	transform: translateX(-50%);
	width: 10vw;
	height: 8vw;
	background: #3EB9ED;
	clip-path: polygon(0 40%, 22% 40%, 22% 0, 77% 0, 77% 40%, 100% 40%, 50% 100%);
}
#work #culture .block2 .attempt_wrap ul {width: 52.5vw;margin: 0 auto;}
#work #culture .block2 .attempt_wrap ul::before {
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 17.5vw;
	height: 100%;
	background: url(../img/page/work/culture/img_arrow.svg) no-repeat 50% 20% / 100%;
}
#work #culture .block2 .attempt_wrap ul li {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 19vw;
	height: 19vw;
	border-radius: 50%;
	background: #CFE8F3;
}
#work #culture .block2 .attempt_wrap ul li .content h3 {
	margin-bottom: 5%;
	color: #019CDE;
	font-weight: bold;
	font-size: 1.5vw;
	line-height: 1;
	letter-spacing: .1em;
	text-align: center;
}
#work #culture .block2 .attempt_wrap ul li .content h3 img {width: 6vw;}
#work #culture .block2 .attempt_wrap ul li .content p {font-size: 1vw;letter-spacing: .1em;text-align: center;}
#work #culture .block2 .health_wrap h3 {
	margin-bottom: 20px;
	font-weight: bold;
	font-size: clamp(17px, calc(17px + 8 * ((100vw - 375px) / 1545)), 25px);
	letter-spacing: .1em;
	text-align: center;
}
#work #culture .block2 .health_wrap h3 span {
	display: inline-block;
	position: relative;
	padding: 0 clamp(30px, calc(30px + 30 * ((100vw - 375px) / 1545)), 60px);
	line-height: 1.4;
	text-align: center;
}
#work #culture .block2 .health_wrap h3 span::before,
#work #culture .block2 .health_wrap h3 span::after {
	content: '';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: clamp(20px, calc(20px + 20 * ((100vw - 375px) / 1545)), 40px);
	height: 51px;
	background: url(../img/page/work/culture/Icon_star.svg) no-repeat center / 100%;
}
#work #culture .block2 .health_wrap h3 span::before {left: 0;}
#work #culture .block2 .health_wrap h3 span::after {right: 0;}
#work #culture .block2 .health_wrap figure {width: 70%;max-width: 614px;margin: 0 auto;}
/* IN NUMBERS */
#work #numbers {position: relative;}
#work #numbers::before,
#work #numbers::after {content: '';position: absolute;z-index: -1;width: 100%;height: 100%;}
#work #numbers::before {top: -3%;left: 0;background: url(../img/page/common/bg_dia01.svg) no-repeat 5% 0 / 40%;}
#work #numbers::after {bottom: -14%;right: 0;background: url(../img/page/common/bg_dia02.svg) no-repeat 98% 100% / 40%;}
#work #numbers .inner {max-width: 1128px;}
#work #numbers h2.title {color: #019CDE;}
#work #numbers h2.title span {color: #1A5289;}
#work #numbers ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
	padding: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	background: url(../img/page/work/numbers/bg.webp) no-repeat center / 100%;
}
@media only screen and ( max-width : 1024px ) {
	#work #philosophy .block.block1 figure img {width: 100%;margin-bottom: 20px;}
	#work #philosophy .block.block1 figure figcaption {position: initial;transform: none;width: 100%;max-width: 100%;}
	#work #philosophy .block.block2 ul.list {position: relative; grid-template-columns: repeat(2, 1fr);margin-bottom: 70px;}
	#work #philosophy .block.block2 ul.list::after {
		content: '';
		position: absolute;
		bottom: -4%;
		left: 50%;
		transform: translate(-50%, 50%);
		width: 15px;
		height: 40px;
		background: url(../img/page/work/philosophy/training/img_arrowD.svg) no-repeat center / 100%;
	}
	#work #philosophy .block.block2 ul.list li {margin-bottom: 0;}
	#work #philosophy .block.block2 ul.list li::after {display: none;}
	#work #numbers ul {grid-template-columns: repeat(2, 1fr);background-size: cover;}
	#work #numbers ul li {overflow: hidden;border-radius: 1em;background: #fff;}
}
@media only screen and ( max-width : 767px ) {
	#work #philosophy .system_wrap figure {overflow-x: scroll;}
	#work #philosophy .system_wrap figure img {min-width: 700px;}
	#work #philosophy .block.block1 .flow {overflow-x: scroll;}
	#work #philosophy .block.block1 .flow img {min-width: 700px;}
	#work #philosophy .block.block2 .subttl_wrap ul li {width: 35vw;height: 35vw;}
	#work #philosophy .block.block2 .subttl_wrap ul li span {font-size: 3.1vw;}
	#work #philosophy .block.block3 ul.list {grid-template-columns: repeat(1, 1fr);}
	#work #culture .block1 ul {grid-template-columns: repeat(1, 1fr);}
	#work #culture .block2 .attempt_wrap {width: 100%;}
	#work #culture .block2 .attempt_wrap::after {top: 100%;}
	#work #culture .block2 .attempt_wrap ul {gap: 20vw;width: 100%;}
	#work #culture .block2 .attempt_wrap ul::before {width: 38vw;background-position: center;}
	#work #culture .block2 .attempt_wrap ul li {width: 50vw;height: 50vw;margin: 0 auto;}
	#work #culture .block2 .attempt_wrap ul li .content h3 {font-size: 4vw;}
	#work #culture .block2 .attempt_wrap ul li .content h3 img {width: 18vw;}
	#work #culture .block2 .attempt_wrap ul li .content p {font-size: 2.8vw;}
	#work #culture .block2 .health_wrap figure {width: 100%;}
}
@media only screen and ( max-width : 500px ) {
	#work #culture .block1 .wrap p {text-align: left;}
	#work #culture .block2 .attempt_wrap {padding: 6vw 0;}
	#work #culture .block2 .attempt_wrap ul li {width: 57vw;height: 57vw;}
	#work #culture .block2 .attempt_wrap ul li .content h3 {font-size: 5.5vw;}
	#work #culture .block2 .attempt_wrap ul li .content h3 img {width: 23vw;}
	#work #culture .block2 .attempt_wrap ul li .content p {font-size: 3.4vw;}
}
/*-------------------------------------------------

	REQUIREMENT │ 募集要項

--------------------------------------------------*/
#requirement h2 {
	margin-bottom: clamp(40px, calc(40px + 10 * ((100vw - 375px) / 1545)), 50px);
	font-weight: bold;
	font-size: clamp(22px, calc(22px + 8 * ((100vw - 375px) / 1545)), 30px);
	letter-spacing: .1em;
	text-align: center;
}
#requirement h2 img {display: block;width: clamp(40px, calc(40px + 20 * ((100vw - 375px) / 1545)), 60px);margin: 10px auto 0;}
#requirement .block1 .inner {max-width: 1200px;}
#requirement .block1 .container {padding-bottom: 30px;background: linear-gradient(0deg, #F4F7F8 80%, #FBFBFB 80%);}
#requirement .block1 .container ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(30px, calc(30px + 30 * ((100vw - 375px) / 1545)), 60px);
	width: 90%;
	margin: 0 auto;
}
#requirement .block1 .container ul li figure {margin-bottom: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);}
#requirement .block1 .container ul li h3 {
	margin-bottom: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
	color: #019CDE;
	font-weight: bold;
	font-size: clamp(16px, calc(16px + 6 * ((100vw - 375px) / 1545)), 22px);
	text-align: center;
}
#requirement .block2 {background: #F4F7F8;}
#requirement .block2 .inner {max-width: 1120px;}
#requirement .block2 .container {
	padding: clamp(20px, calc(20px + 40 * ((100vw - 375px) / 1545)), 60px);
	border-radius: clamp(10px, calc(10px + 20 * ((100vw - 375px) / 1545)), 30px);
	background: #fff;
}
#requirement .block2 .container h3 {
	margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	font-weight: bold;
	font-size: clamp(18px, calc(18px + 6 * ((100vw - 375px) / 1545)), 24px);
	letter-spacing: .1em;
}
#requirement .block2 .container h3 span {display: block;color: #019CDE;font-size: clamp(14px, calc(14px + 4 * ((100vw - 375px) / 1545)), 18px);}
#requirement .block2 .container table tr {display: block;margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);}
#requirement .block2 .container table tr:last-child {margin-bottom: 0;}
#requirement .block2 .container table tr th {display: block;position: relative;z-index: 1;margin-bottom: 20px;}
#requirement .block2 .container table tr th::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	z-index: -1;
	transform: translateY(-50%);
	width: 100%;
	height: 1px;
	background: #019CDE;
}
#requirement .block2 .container table tr th span {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: 15px;
	position: relative;
	z-index: 1;
	padding: 12px 30px 12px 10px;
	border: 1px solid #019CDE;
	border-radius: 50px;
	background: #fff;
	font-weight: 600;
	text-align: center;
}
#requirement .block2 .container table tr th span img {width: 18px;}
#requirement .block2 .container table tr td {display: block;padding: 0 10px;}
#requirement .block2 .container table tr:last-child td {padding: 0;}
#requirement .block2 .container table tr td p {margin-bottom: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);}
#requirement .block2 .container table tr td .gray_wrap {
	margin-bottom: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
	padding: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
	background: #F7F7F7;
}
#requirement .block2 .container table tr td h4 {margin-bottom: 10px;color: #019CDE;font-weight: bold;}
#requirement .block2 .container table tr td .flex_wrap {width: 100%;}
#requirement .block2 .container table tr td .flex_wrap dl {width: 48%;}
#requirement .block2 .container table tr td .flex_wrap dl dt {float: left;}
#requirement .block2 .container table tr td .flex_wrap ul {width: 48%;}
#requirement .block2 .container table tr td .content {width: 48%;}
#requirement .block2 .container table tr td .content p {margin: 0 0 5px 10px;}
#requirement .block2 .container table tr td ul li {position: relative;padding-left: 20px;}
#requirement .block2 .container table tr td ul li::before {content: '';position: absolute;left: 0;}
#requirement .block2 .container table tr td ul.dot li::before {top: .5em;width: 11px;height: 11px;border-radius: 50%;background: #019CDE;}
#requirement .block2 .container table tr td ul.triangle {margin-left: 20px;}
#requirement .block2 .container table tr td ul.triangle li::before {content: '▶';}
#requirement .block2 .container table tr td ul.dia li::before {content: '◆';}
#requirement .block2 .container table tr td ul.asterisk li::before {content: '※';}
#requirement .block2 .container table tr td ul.square li::before {content: '■';}
#requirement .block2 .container table tr td ul.flow {display: flex;}
#requirement .block2 .container table tr td ul.flow li {
	position: relative;
	width: 50%;
	padding: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
	padding-top: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
}
#requirement .block2 .container table tr td ul.flow li:nth-child(1) {background: #F7F7F7;}
#requirement .block2 .container table tr td ul.flow li:nth-child(2) {background: #BFE9F8;}
#requirement .block2 .container table tr td ul.flow li:nth-child(3) {background: #39BBF3;}
#requirement .block2 .container table tr td ul.flow li:nth-child(4) {background: #019CDE;}
#requirement .block2 .container table tr td ul.flow li:not(:last-child)::before {
	content: '';
	position: absolute;
	top: 15%;
	left: 100%;
	z-index: 1;
	height: 15px;
	aspect-ratio: cos(30deg);
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}
#requirement .block2 .container table tr td ul.flow li:nth-child(1)::before {background: #F7F7F7;}
#requirement .block2 .container table tr td ul.flow li:nth-child(2)::before {background: #BFE9F8;}
#requirement .block2 .container table tr td ul.flow li:nth-child(3)::before {background: #39BBF3;}
#requirement .block2 .container table tr td ul.flow li h5 {
	margin-bottom: 10px;
	color: #019CDE;
	font-weight: bold;
	font-size: clamp(18px, calc(18px + 6 * ((100vw - 375px) / 1545)), 24px);
	text-align: center;
}
#requirement .block2 .container table tr td ul.flow li:nth-child(3) h5 {color: #fff;}
#requirement .block2 .container table tr td ul.flow li:nth-child(4) h5 {color: #fff;}
#requirement .block2 .container table tr td ul.flow li p {margin-bottom: 0;color: #fff;text-align: center;}
@media only screen and ( max-width : 767px ) {
	#requirement .block1 .container {background: linear-gradient(0deg, #F4F7F8 90%, #FBFBFB 90%);}
	#requirement .block1 .container ul{grid-template-columns: unset;}
	#requirement .block1 .container ul li{max-width: 300px;margin:0 auto;}
	#requirement .block2 .container table tr td .content {width: 100%;}
	#requirement .block2 .container table tr td .flex_wrap dl {width: 100%;}
	#requirement .block2 .container table tr td .flex_wrap ul {width: 100%;}
	#requirement .block2 .container table tr td ul.flow {flex-flow: column;}
	#requirement .block2 .container table tr td ul.flow li{width: 100%;}
	#requirement .block2 .container table tr td ul.flow li:not(:last-child)::before {
		top: auto;
		bottom:-10px;
		left: 50%;
		transform: translateX(-50%);
		width: 30px;
		height: 15px;
		clip-path: polygon(50% 100%, 100% 0, 0 0);
	}
}
/*-------------------------------------------------

	What is “Kenpo”? │ けんぽってなに？

--------------------------------------------------*/
#kenpo {overflow: hidden;background: #fff;}
#kenpo .inner {max-width: 1440px;}
#kenpo .block {
	position: relative;
	margin-bottom: clamp(60px, calc(60px + 100 * ((100vw - 375px) / 1545)), 160px);
	padding: clamp(30px, calc(30px + 20 * ((100vw - 375px) / 1545)), 50px) clamp(20px, calc(20px + 80 * ((100vw - 375px) / 1545)), 100px);
	border: 1px solid #019CDE;
	border-radius: clamp(15px, calc(15px + 20 * ((100vw - 375px) / 1545)), 35px);
	background: #FAFAFA;
}
#kenpo .block:last-child {margin-bottom: 0;}
#kenpo .block .num {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
	color: #019CDE;
	font-size: clamp(70px, calc(70px + 70 * ((100vw - 375px) / 1545)), 140px);
	letter-spacing: .1em;
	text-align: center;
}
#kenpo .block .en_wrap {position: absolute;top: 10%;left: 100%;z-index: 1;}
#kenpo .block .en_wrap p {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	position: relative;
	padding: 25px 14px 25px 0;
	padding: clamp(15px, calc(15px + 10 * ((100vw - 375px) / 1545)), 25px) clamp(10px, calc(10px + 4 * ((100vw - 375px) / 1545)), 14px) clamp(15px, calc(15px + 10 * ((100vw - 375px) / 1545)), 25px) 0;
	border: 1px solid #019CDE;
	border-left: none;
	background: #FAFAFA;
	color: #019CDE;
	font-size: clamp(15px, calc(15px + 6 * ((100vw - 375px) / 1545)), 21px);
	line-height: 1;
	letter-spacing: .15em;
	writing-mode: sideways-rl;
}
#kenpo .block .en_wrap p::before {
	content: '';
	position: absolute;
	right: -10px;
	bottom: -10px;
	left: 0;
	z-index: -1;
	height: 100%;
	background: #019CDE;
}
#kenpo .block .en_wrap p img {transform: rotate(90deg);width: clamp(15px, calc(15px + 10 * ((100vw - 375px) / 1545)), 25px);}
#kenpo .block .question_wrap {
	margin-bottom: clamp(40px, calc(40px + 80 * ((100vw - 375px) / 1545)), 120px);
	padding: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px) 20px;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 16%);
	background: #F0F9FC url(../img/page/kenpo/bg_question.webp) no-repeat center / cover;
}
#kenpo .block .question_wrap h2 {margin-bottom: clamp(20px, calc(20px + 20 * ((100vw - 375px) / 1545)), 40px);text-align: center;}
#kenpo .block .question_wrap h2 span.in {
	display: inline-block;
	position: relative;
	padding: 0 clamp(30px, calc(30px + 10 * ((100vw - 375px) / 1545)), 40px);
	font-weight: bold;
	font-size: clamp(18px, calc(18px + 12 * ((100vw - 375px) / 1545)), 30px);
	line-height: 1.4;
	letter-spacing: .1em;
	text-align: center;
}
#kenpo .block .question_wrap h2 span.in::before,
#kenpo .block .question_wrap h2 span.in::after {
	content: '';
	position: absolute;
	top: 10px;
	width: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	height: 100%;
	background: no-repeat center / 100%;
}
#kenpo .block .question_wrap h2 span.in::before {left: 0;background-image: url(../img/page/kenpo/frameL.svg);}
#kenpo .block .question_wrap h2 span.in::after {right: 0;background-image: url(../img/page/kenpo/frameR.svg);}
#kenpo .block .question_wrap h2 span.in span {color: #019CDE;}
#kenpo .block .question_wrap .content {
	max-width: 1055px;
	margin: 0 auto;
	padding: 15px clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
	background: rgba(255, 255, 255, 67%);
}
#kenpo .block .question_wrap .content p {
	color: #019CDE;
	font-weight: 500;
	font-size: clamp(14px, calc(14px + 6 * ((100vw - 375px) / 1545)), 20px);
	line-height: 2;
	letter-spacing: .029em;
	text-align: center;
}
#kenpo .block p.speech {
	position: relative;
	padding: clamp(15px, calc(15px + 15 * ((100vw - 375px) / 1545)), 30px) 10px;
	background: #019CDE;
	color: #fff;
	font-weight: bold;
	font-size: clamp(16px, calc(16px + 4 * ((100vw - 375px) / 1545)), 20px);
	letter-spacing: .1em;
	text-align: center;
}
#kenpo .block p.speech::before {
	content: '';
	position: absolute;
	width: 33px;
	height: calc(tan(60deg) * 30px / 2);
	background: #019CDE;
}
#kenpo .block p.speech.speechTop::before {right: 19.5%;bottom: 98%;clip-path: polygon(50% 0, 100% 100%, 0 100%);}
#kenpo .block p.speech.speechBottom::before {top: 98%;left: 50%;transform: translateX(-50%);clip-path: polygon(0 0, 100% 0, 50% 100%);}
#kenpo .block .ribbon {
	position: relative;
	padding: 15px 60px 15px 90px;
	border: 1px solid #019CDE;
	border-right-color: #FAFAFA;
	border-left-color: #FAFAFA;
	background: #fff;
}
#kenpo .block .ribbon .frameL,
#kenpo .block .ribbon .frameR {
    position: absolute;
    top: 50%;
	transform: translateY(-50%);
	width: 15px;
    height: 108%;
    background: #019CDE;
}
#kenpo .block .ribbon .frameL {left: 0;clip-path: polygon(-3% 0, 100% 50%, -3% 100%);}
#kenpo .block .ribbon .frameR {right: 0;clip-path: polygon(103% 0, 0 50%, 103% 100%);}
#kenpo .block .ribbon .frameL::before,
#kenpo .block .ribbon .frameR::before {
	content: '';
    position: absolute;
    top: 50%;
    width: 14px;
    height: 95%;
    background: #FAFAFA;
    transform: translateY(-50%);
}
#kenpo .block .ribbon .frameL::before {left: -1px;clip-path: polygon(3% 0, 100% 50%, 3% 100%);}
#kenpo .block .ribbon .frameR::before {right: -1px;clip-path: polygon(97% 0, 0 50%, 97% 100%);}
#kenpo .block .ribbon img {position: absolute;top: 50%;left: 30px;transform: translateY(-50%);width: 34px;}
#kenpo .block .ribbon p {font-size: clamp(14px, calc(14px + 5 * ((100vw - 375px) / 1545)), 19px);letter-spacing: .1em;text-align: center;}
#kenpo .block small {display: block;margin-top: 10px;font-size: 1.2rem;text-align: center;}
/* block1 */
#kenpo .block1 .health_wrap {
	max-width: 890px;
	margin: 0 auto clamp(40px, calc(40px + 20 * ((100vw - 375px) / 1545)), 60px);
	padding: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px) clamp(20px, calc(20px + 40 * ((100vw - 375px) / 1545)), 60px);
	border-radius: clamp(10px, calc(10px + 20 * ((100vw - 375px) / 1545)), 30px);
	background: #C9F4FF;
}
#kenpo .block1 .health_wrap h3 {
	margin-bottom: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
	color: #019CDE;
	font-weight: bold;
	font-size: clamp(15px, calc(15px + 4 * ((100vw - 375px) / 1545)), 19px);
	letter-spacing: .1em;
	text-align: center;
}
#kenpo .block1 .health_wrap p {
	margin-bottom: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
	letter-spacing: .1em;
	text-align: center;
}
#kenpo .block1 .health_wrap p span {color: #FF002C;font-weight: bold;}
#kenpo .block1 .health_wrap .content {
	padding: 15px clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
	background: #A3E2FC;
}
#kenpo .block1 .health_wrap .content p {margin-bottom: 0;color: #019CDE;font-weight: bold;text-align: center;}
#kenpo .block1 .chart_wrap {max-width: 842px;margin: 0 auto;}
#kenpo .block1 .chart_wrap figure {margin-bottom: clamp(40px, calc(40px + 20 * ((100vw - 375px) / 1545)), 60px);}
#kenpo .block1 p.speech {margin-top: 40px;}
/* block2 */
#kenpo .block2 .question_wrap {margin-bottom: clamp(40px, calc(40px + 20 * ((100vw - 375px) / 1545)), 60px);}
#kenpo .block2 h3 {
	margin-bottom: clamp(40px, calc(40px + 20 * ((100vw - 375px) / 1545)), 60px);
	font-weight: bold;
	font-size: clamp(18px, calc(18px + 8 * ((100vw - 375px) / 1545)), 26px);
	letter-spacing: .1em;
	text-align: center;
}
#kenpo .block2 h3 span {color: #019CDE;}
#kenpo .block2 .info_wrap {align-items: center;max-width: 872px;margin: 0 auto clamp(40px, calc(40px + 60 * ((100vw - 375px) / 1545)), 100px);}
#kenpo .block2 .info_wrap figure {width: 46%;}
#kenpo .block2 .info_wrap dl {width: 46%;}
#kenpo .block2 .info_wrap dl dt {float: left;width: 55%;padding: 5px 10px;letter-spacing: .1em;}
#kenpo .block2 .info_wrap dl dd {padding: 5px;border-bottom: 1px solid #707070;letter-spacing: .1em;}
#kenpo .block2 .chart_wrap .speech {max-width: 800px;margin: 0 auto clamp(30px, calc(30px + 10 * ((100vw - 375px) / 1545)), 40px);}
#kenpo .block2 .chart_wrap .speech::before {width: 50px;}
#kenpo .block2 .chart_wrap .speech p {font-weight: 500;letter-spacing: .29em;}
/* block3 */
#kenpo .block3 .mission_wrap {margin-bottom: clamp(40px, calc(40px + 10 * ((100vw - 375px) / 1545)), 50px);}
#kenpo .block3 .mission_wrap h3 {
	margin-bottom: clamp(30px, calc(30px + 10 * ((100vw - 375px) / 1545)), 40px);
	font-weight: bold;
	font-size: clamp(18px, calc(18px + 8 * ((100vw - 375px) / 1545)), 26px);
	letter-spacing: .1em;
	text-align: center;
}
#kenpo .block3 .mission_wrap h3 img {display: block;max-width: 974px;margin: 10px auto 0;}
#kenpo .block3 .mission_wrap ul {
	display: flex;
	justify-content: center;
	gap: 5%;
	max-width: 1000px;
	margin: 0 auto clamp(30px, calc(30px + 30 * ((100vw - 375px) / 1545)), 60px);
}
#kenpo .block3 .mission_wrap ul li {
	position: relative;
	width: clamp(207px, calc(207px + 100 * ((100vw - 375px) / 1545)), 307px);
	height: clamp(207px, calc(207px + 100 * ((100vw - 375px) / 1545)), 307px);
	border-radius: 50%;
}
#kenpo .block3 .mission_wrap ul li:nth-child(1) {background: #BEE1F5;}
#kenpo .block3 .mission_wrap ul li:nth-child(2) {background: #9DDDFA;}
#kenpo .block3 .mission_wrap ul li:nth-child(3) {background: #65CDFA;}
#kenpo .block3 .mission_wrap ul li .content {position: absolute;top: 20%;left: 50%;transform: translateX(-50%);width: 90%;}
#kenpo .block3 .mission_wrap ul li .content h4 {
	margin-bottom: 4%;
	font-weight: bold;
	font-size: clamp(18px, calc(18px + 8 * ((100vw - 375px) / 1545)), 26px);
	letter-spacing: .1em;
	text-align: center;
}
#kenpo .block3 .mission_wrap ul li .content p {
	font-size: clamp(14px, calc(14px + 6 * ((100vw - 375px) / 1545)), 20px);
	letter-spacing: .1em;
	text-align: center;
}
#kenpo .block3 .mission_wrap p.txt {
	font-size: clamp(14px, calc(14px + 6 * ((100vw - 375px) / 1545)), 20px);
	letter-spacing: .1em;
	text-align: center;
}
#kenpo .block3 .chart_wrap figure {max-width: 950px;margin: 0 auto clamp(40px, calc(40px + 10 * ((100vw - 375px) / 1545)), 50px);}
/* block4 */
#kenpo .block4 .ttl_wrap {margin-bottom: 20px;}
#kenpo .block4 .ttl_wrap h3 {
	margin-bottom: 10px;
	color: #019CDE;
	font-weight: bold;
	font-size: clamp(15px, calc(15px + 2 * ((100vw - 375px) / 1545)), 17px);
	letter-spacing: .1em;
	text-align: center;
}
#kenpo .block4 .ttl_wrap h3 span {display: block;margin-bottom: 10px;font-size: 1.4em;line-height: 1.4;text-align: center;}
#kenpo .block4 .ttl_wrap h3 img {display: block;width: clamp(30px, calc(30px + 20 * ((100vw - 375px) / 1545)), 50px);margin: 0 auto;}
#kenpo .block4 .ttl_wrap h4 {
	margin-bottom: 10px;
	font-weight: bold;
	text-align: center;
	font-size: clamp(16px, calc(16px + 2 * ((100vw - 375px) / 1545)), 18px);
}
#kenpo .block4 .ttl_wrap p {font-size: clamp(14px, calc(14px + 3 * ((100vw - 375px) / 1545)), 17px);letter-spacing: .079em;}
#kenpo .block4 .view {text-align: center;}
#kenpo .block4 .view a {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
	padding: 10px 15px 10px clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	border: 1px solid #707070;
	border-radius: clamp(10px, calc(10px + 30 * ((100vw - 375px) / 1545)), 40px);
	background: #fff;
	font-size: clamp(14px, calc(14px + 3 * ((100vw - 375px) / 1545)), 17px);
	line-height: 1.4;
	letter-spacing: .1em;
}
#kenpo .block4 .view a:hover {border-color: #019CDE;background: #019CDE;color: #fff;}
#kenpo .block4 .view a span {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	min-width: clamp(25px, calc(25px + 5 * ((100vw - 375px) / 1545)), 30px);
	min-height: clamp(25px, calc(25px + 5 * ((100vw - 375px) / 1545)), 30px);
	border-radius: 50%;
	background: #019CDE;
	transition: .3s;
}
#kenpo .block4 .view a:hover span {background: #fff;}
#kenpo .block4 .view a span::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	background: url(../img/page/kenpo/block4/Icon_window-wht.svg) no-repeat center / 45%;
	transition: .3s;
}
#kenpo .block4 .view a:hover span::before {background-image: url(../img/page/kenpo/block4/Icon_window-blue.svg);}
#kenpo .block4 .business_container {margin-bottom: clamp(40px, calc(40px + 20 * ((100vw - 375px) / 1545)), 60px);}
#kenpo .block4 .business_container ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(20px, calc(20px + 20 * ((100vw - 375px) / 1545)), 40px);
	margin-bottom: clamp(40px, calc(40px + 20 * ((100vw - 375px) / 1545)), 60px);
}
#kenpo .block4 .business_container ul li {
	padding: 20px;
	border-radius: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
	background: #C9F4FF;
}
#kenpo .block4 .business_container ul li figure {margin-bottom: 20px;}
#kenpo .block4 .check_container {
	margin-bottom: clamp(40px, calc(40px + 20 * ((100vw - 375px) / 1545)), 60px);
	padding: 30px 20px clamp(20px, calc(20px + 20 * ((100vw - 375px) / 1545)), 40px);
	border-radius: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
	background: #fff;
}
#kenpo .block4 .check_container .ttl_wrap p {text-align: center;}
#kenpo .block4 .check_container .list {max-width: 920px;margin: 0 auto clamp(30px, calc(30px + 20 * ((100vw - 375px) / 1545)), 50px);}
#kenpo .block4 .check_container .list .item {
	width: 48%;
	padding: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
	background: #F2F8FA no-repeat bottom right / 100%;
}
#kenpo .block4 .check_container .list .item:nth-child(1) {background-image: url(../img/page/kenpo/block4/check/bg01.svg);}
#kenpo .block4 .check_container .list .item:nth-child(2) {background-image: url(../img/page/kenpo/block4/check/bg02.svg);}
#kenpo .block4 .check_container .list .item .content:not(:last-child) {margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);}
#kenpo .block4 .check_container .list .item .content h5 {margin-bottom: 10px;color: #019CDE;font-weight: bold;letter-spacing: .1em;}
#kenpo .block4 .check_container .list .item .content ul {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(5px, calc(5px + 5 * ((100vw - 375px) / 1545)), 10px);
}
#kenpo .block4 .check_container .list .item .content ul li {
	display: inline-block;
	padding: clamp(7px, calc(7px + 6 * ((100vw - 375px) / 1545)), 13px) 13px;
	background: #C9F4FF;
	color: #222;
	font-weight: bold;
	line-height: 1;
	letter-spacing: .1em;
}
#kenpo .block4 .check_container .center_wrap {
	max-width: 666px;
	margin: 0 auto clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
}
#kenpo .block4 .check_container .center_wrap figure {width: 49%;}
#kenpo .block4 .check_container .center_wrap figure img {margin-bottom: 5px;}
#kenpo .block4 .check_container .center_wrap figure figcaption {
	font-weight: bold;
	font-size: clamp(14px, calc(14px + 3 * ((100vw - 375px) / 1545)), 17px);
	letter-spacing: .1em;
	text-align: center;
}
#kenpo .block4 .mental_container {
	margin-bottom: clamp(50px, calc(50px + 30 * ((100vw - 375px) / 1545)), 80px);
	padding: 30px 20px 40px;
	border-radius: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
	background: #C9F4FF url(../img/page/kenpo/block4/mental/bg.svg) no-repeat bottom right / cover;
}
#kenpo .block4 .mental_container .flex_wrap {max-width: 953px;margin: 0 auto clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);}
#kenpo .block4 .mental_container .flex_wrap .content {
	width: 49%;
	padding: clamp(15px, calc(15px + 15 * ((100vw - 375px) / 1545)), 30px);
	background: rgba(255, 255, 255, 75%);
	text-align: center;
}
#kenpo .block4 .mental_container .flex_wrap .content h4 {
	margin-bottom: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
	font-weight: bold;
	font-size: clamp(14px, calc(14px + 6 * ((100vw - 375px) / 1545)), 20px);
	letter-spacing: .1em;
	text-align: center;
}
#kenpo .block4 .mental_container .flex_wrap .content ul {display: inline-block;}
#kenpo .block4 .mental_container .flex_wrap .content .item ul {width: 49%;}
#kenpo .block4 .mental_container .flex_wrap .content ul li {position: relative;padding-left: 20px;letter-spacing: .1em;}
#kenpo .block4 .mental_container .flex_wrap .content ul li::before {content: '●';position: absolute;left: 0;}
#kenpo .block4 .mental_container .flex_wrap .content p {text-align: right;}
#kenpo .block4 .sns_container h3 {margin-bottom: clamp(30px, calc(30px + 10 * ((100vw - 375px) / 1545)), 40px);text-align: center;}
#kenpo .block4 .sns_container h3 span {
	display: inline-block;
	position: relative;
	padding: 0 clamp(20px, calc(20px + 20 * ((100vw - 375px) / 1545)), 40px);
	font-size: clamp(14px, calc(14px + 6 * ((100vw - 375px) / 1545)), 20px);
	line-height: 1.4;
	letter-spacing: .1em;
	text-align: center;
}
#kenpo .block4 .sns_container h3 span::before,
#kenpo .block4 .sns_container h3 span::after {
	content: '';
	position: absolute;
	top: 10px;
	width: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	height: 100%;
	background: no-repeat center / 100%;
}
#kenpo .block4 .sns_container h3 span::before {left: 0;background-image: url(../img/page/kenpo/frameL.svg);}
#kenpo .block4 .sns_container h3 span::after {right: 0;background-image: url(../img/page/kenpo/frameR.svg);}
#kenpo .block4 .sns_container .sns_wrap {margin-bottom: clamp(20px, calc(20px + 30 * ((100vw - 375px) / 1545)), 50px);}
#kenpo .block4 .sns_container .sns_wrap dl {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: clamp(20px, calc(20px + 30 * ((100vw - 375px) / 1545)), 50px);
}
#kenpo .block4 .sns_container .sns_wrap dl dt {
	position: relative;
	padding: 5px 0 5px 20px;
	font-weight: bold;
	font-size: clamp(14px, calc(14px + 1 * ((100vw - 375px) / 1545)), 15px);
	line-height: 1;
	letter-spacing: .1em;
}
#kenpo .block4 .sns_container .sns_wrap dl dt::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 100%;
	background: linear-gradient(#004EE9, #019CDE);
}
#kenpo .block4 .sns_container .sns_wrap dl dd ul {display: flex;gap: clamp(10px, calc(10px + 20 * ((100vw - 375px) / 1545)), 30px);}
#kenpo .block4 .sns_container .sns_wrap dl dd ul li {width: 34px;}
#kenpo .block4 .sns_container .sns_wrap dl dd ul li a:hover {opacity: .5;}
#kenpo .block4 .sns_container .Instagram_wrap {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 50px 10px;
	max-width: 945px;
	margin: 0 auto;
}
#kenpo .block4 .sns_container .Instagram_wrap dl {display: flex;align-items: center;gap: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);}
#kenpo .block4 .sns_container .Instagram_wrap dl dt {
	position: relative;
	padding-left: clamp(15px, calc(15px + 5 * ((100vw - 375px) / 1545)), 20px);
	font-weight: bold;
	font-size: clamp(14px, calc(14px + 1 * ((100vw - 375px) / 1545)), 15px);
	line-height: 1;
	letter-spacing: .1em;
}
#kenpo .block4 .sns_container .Instagram_wrap dl dt::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 100%;
	background: linear-gradient(#004EE9, #019CDE);
}
#kenpo .block4 .sns_container .Instagram_wrap dl dt a:hover {opacity: .5;}
#kenpo .block4 .sns_container .Instagram_wrap dl dd {
	flex: 1;
	font-size: clamp(14px, calc(14px + 1 * ((100vw - 375px) / 1545)), 15px);
	letter-spacing: .1em;
}
#kenpo .block4 .sns_container .Instagram_wrap dl dd span {display: block;font-weight: bold;line-height: 1.4;}
/* block5 */
#kenpo .block5 ul {display: grid;gap: clamp(40px, calc(40px + 20 * ((100vw - 375px) / 1545)), 60px);max-width: 920px;margin: 0 auto;}
#kenpo .block5 ul li p.speech {margin-bottom: 10px;padding: 10px;}
#kenpo .block5 ul li p.speech::before {width: 25px;height: calc(tan(60deg) * 20px / 2);}
/* block6 */
#kenpo .block6 .chart_wrap figure {max-width: 1020px;margin: 0 auto 60px;}
#kenpo .block6 .ribbon {padding: 45px 40px 15px;}
#kenpo .block6 .ribbon img {top: 0;left: 50%;transform: translate(-50%, -50%);width: 60px;}
#kenpo .block6 .ribbon p {color: #019CDE;font-weight: bold;}
@media only screen and ( max-width : 1100px ) {
	#kenpo .block3 .mission_wrap ul li {width: 23vw;height: 23vw;}
	#kenpo .block3 .mission_wrap ul li .content h4 {font-size: 2vw;}
	#kenpo .block3 .mission_wrap ul li .content p {font-size: 1.4vw;}
}
@media only screen and ( max-width : 1024px ) {
	#kenpo .block2 .info_wrap figure {width: 100%;margin-bottom: 20px;}
	#kenpo .block2 .info_wrap dl {width: 100%;}
	#kenpo .block4 .business_container ul {grid-template-columns: repeat(1, 1fr);}
	#kenpo .block4 .check_container .list {gap: 20px;}
	#kenpo .block4 .check_container .list .item {width: 100%;}
}
@media only screen and ( max-width : 767px ) {
	#kenpo .block .question_wrap .content p {text-align: left;}
	#kenpo .block .ribbon {padding: 30px 30px 20px;}
	#kenpo .block .ribbon img {position: absolute;top: 0;left: 50%;transform: translate(-50%, -50%);width: 40px;}
	#kenpo .block .ribbon p {text-align: left;}
	#kenpo .block1 .health_wrap p {text-align: left;}
	#kenpo .block1 .health_wrap .content p {text-align: left;}
	#kenpo .block1 .chart_wrap figure {overflow-x: scroll;margin-bottom: 0;}
	#kenpo .block1 .chart_wrap figure img {min-width: 700px;}
	#kenpo .block2 .chart_wrap figure {overflow-x: scroll;}
	#kenpo .block2 .chart_wrap figure img {min-width: 900px;}
	#kenpo .block3 .mission_wrap ul {flex-wrap: wrap;justify-content: space-between;gap: 0;}
	#kenpo .block3 .mission_wrap ul li {width: 37vw;height: 37vw;}
	#kenpo .block3 .mission_wrap ul li:last-child {margin: 0 auto;}
	#kenpo .block3 .mission_wrap ul li .content h4 {margin-bottom: 6%;font-size: 3.1vw;}
	#kenpo .block3 .mission_wrap ul li .content p {font-size: 2.2vw;}
	#kenpo .block3 .mission_wrap p.txt {text-align: left;}
	#kenpo .block4 .business_container p.txt {text-align: left;}
	#kenpo .block4 .check_container .center_wrap {gap: 20px;}
	#kenpo .block4 .check_container .center_wrap figure {width: 100%;}
	#kenpo .block4 .check_container .ttl_wrap p {text-align: left;}
	#kenpo .block4 .mental_container .flex_wrap .content {width: 100%;margin-bottom: 10px;}
	#kenpo .block4 .mental_container .flex_wrap .content:last-child {margin-bottom: 0;}
	#kenpo .block4 .sns_container .Instagram_wrap {grid-template-columns: repeat(2, 1fr);gap: 20px 10px;}
	#kenpo .block5 ul li p.speech {margin-bottom: 20px;}
	#kenpo .block5 ul li p.speech::before {width: 20px;height: calc(tan(60deg) * 15px / 2);}
	#kenpo .block6 .chart_wrap figure {margin-bottom: 40px;}
}
@media only screen and ( max-width : 500px ) {
	#kenpo .block3 .mission_wrap ul li .content {width: 40vw;}
	#kenpo .block3 .mission_wrap ul li .content h4 {font-size: 3.6vw;}
	#kenpo .block3 .mission_wrap ul li .content p {font-size: 2.6vw;}
	#kenpo .block4 .mental_container .flex_wrap .content .item ul {width: 100%;}
	#kenpo .block4 .sns_container .sns_wrap dl dt {padding-left: 0;;}
	#kenpo .block4 .sns_container .sns_wrap dl dt::before {display: none;}
	#kenpo .block4 .sns_container .Instagram_wrap {grid-template-columns: repeat(1, 1fr);gap: 15px;}
	#kenpo .block4 .sns_container .Instagram_wrap dl dt {padding-left: 0;}
	#kenpo .block4 .sns_container .Instagram_wrap dl dt::before {display: none;}
}
/*-------------------------------------------------

	INTERVIEW │ インタビュー

--------------------------------------------------*/
#staff {
	padding-top: clamp(60px, calc(60px + 40 * ((100vw - 375px) / 1545)), 100px);
	padding-bottom: clamp(60px, calc(60px + 40 * ((100vw - 375px) / 1545)), 100px);
	overflow: hidden;
	background: url(../img/page/inteview/bg_main.svg) no-repeat 100% -10% / 95%;
}
#staff .inner {max-width: 1500px;}
#staff .main_block {align-items: flex-start;margin-bottom: clamp(60px, calc(60px + 40 * ((100vw - 375px) / 1545)), 100px);}
#staff .main_block figure {width: 50vw;margin: 0 calc(50% - 50vw);}
#staff .main_block .wrap {
	position: relative;
	width: 50%;
	margin-top: 10%;
	padding: clamp(20px, calc(20px + 20 * ((100vw - 375px) / 1545)), 40px);
	padding-right: clamp(60px, calc(60px + 80 * ((100vw - 375px) / 1545)), 140px);
	padding-left: clamp(20px, calc(20px + 50 * ((100vw - 375px) / 1545)), 70px);
	background: #fff;
}
#staff .main_block .wrap h2 {position: absolute;top: -10%;right: 5%;transform: translateY(-50%);width: 80%;}
#staff .main_block .wrap dl {
	margin-bottom: 15px;
	padding: 0 0 15px clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	border-left: 10px solid #019CDE;
}
#staff .main_block .wrap dl dt {font-size: clamp(42px, calc(42px + 30 * ((100vw - 375px) / 1545)), 72px);}
#staff .main_block .wrap dl dd {font-weight: 500;letter-spacing: .05em;}
#staff .main_block ul {display: grid;grid-template-columns: repeat(3, 1fr);gap: 10px 30px;}
#staff .main_block ul li {position: relative;}
#staff .main_block ul li:not(:last-child)::before {
	content: '';
	position: absolute;
	top: 0;
	left: 104%;
	width: 20px;
	height: 100%;
	background: url(../img/page/inteview/Icon_arrowR.svg) no-repeat center / 100%;
}
#staff .faq_block {max-width: 900px;margin: 0 auto;}
#staff .faq_block ul li:not(:last-child) {margin-bottom: clamp(50px, calc(50px + 20 * ((100vw - 375px) / 1545)), 70px);}
#staff .faq_block ul li h3 {position: relative;z-index: 1;margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);}
#staff .faq_block ul li h3::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	z-index: -1;
	transform: translateY(-50%);
	width: 100%;
	height: 1px;
	background: #019CDE;
}
#staff .faq_block ul li h3 span {
	display: inline-block;
	position: relative;
	z-index: 2;
	padding: 14px clamp(20px, calc(20px + 20 * ((100vw - 375px) / 1545)), 40px) 14px clamp(35px, calc(35px + 5 * ((100vw - 375px) / 1545)), 40px);
	border: 1px solid #019CDE;
	border-radius: 50px;
	background: #fff;
	font-weight: 600;
	font-size: clamp(16px, calc(16px + 8 * ((100vw - 375px) / 1545)), 24px);
	line-height: 1.4;
}
#staff .faq_block ul li h3 span::before {
	content: '';
	position: absolute;
	top: clamp(25px, calc(25px + 5 * ((100vw - 375px) / 1545)), 30px);
	left: 10px;
	width: clamp(15px, calc(15px + 3 * ((100vw - 375px) / 1545)), 18px);
	height: 2px;
	background: url(../img/common/border-wht-blue.svg) no-repeat top left / 100%;
}
#staff .faq_block ul li .wrap {margin-bottom: 10px;}
#staff .faq_block ul li .wrap h4 {margin-bottom: 10px;letter-spacing: .05em;}
#staff .faq_block ul li .wrap ol {
	padding: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
	border-radius: 10px;
	background: #F4F7F8;
}
#staff .faq_block ul li .wrap ol li:not(:last-child) {margin-bottom: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);}
#staff .faq_block ul li .wrap ol li h5 {
	margin-bottom: 10px;
	color: #019CDE;
	font-weight: bold;
	font-size: clamp(16px, calc(16px + 4 * ((100vw - 375px) / 1545)), 20px);
	letter-spacing: .05em;
}
#staff .faq_block ul li .wrap ol li p {letter-spacing: .05em;}
#staff .faq_block ul li .content {margin-bottom: 30px;}
#staff .faq_block ul li .content p {letter-spacing: .05em;}
#staff .faq_block ul li .content p span {color: #019CDE;font-weight: bold;}
#staff .faq_block ul li dl {position: relative;}
#staff .faq_block ul li dl dt {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	width: clamp(80px, calc(80px + 20 * ((100vw - 375px) / 1545)), 100px);
}
#staff .faq_block ul li dl dd {
	padding: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px) 30px;
	padding-right: clamp(100px, calc(100px + 40 * ((100vw - 375px) / 1545)), 140px);
	border-radius: 50px;
	background: #E7EFF3;
	font-weight: 500;
	letter-spacing: .05em;
}
#staff .faq_block figure {margin: clamp(50px, calc(50px + 20 * ((100vw - 375px) / 1545)), 70px) 0;}
#interview {background: url(../img/page/common/bg_dia01.svg) no-repeat top left / 40%;}
#interview ul {grid-template-columns: repeat(4, 1fr);gap: 30px;margin: 0;}
@media only screen and ( max-width : 1024px ) {
	#interview ul {grid-template-columns: repeat(3, 1fr);}
	#interview ul li .plus {top: 1.5vw;right: 1.5vw;width: 4vw;height: 4vw;}
	#interview ul li .img_wrap p {left: 1.5vw;font-size: 4.5vw;}
	#interview ul li .txt_wrap {padding: 3vw 2vw 1vw;}
	#interview ul li .txt_wrap dl {left: 2vw;}
	#interview ul li .txt_wrap dl dt {font-size: 3.3vw;}
	#interview ul li .txt_wrap dl dd {font-size: 1.2vw;}
}
@media only screen and ( max-width : 767px ) {
	#staff {padding-top: clamp(30px, calc(30px + 70 * ((100vw - 375px) / 1545)), 100px);}
	#staff .main_block figure {width: 100vw;margin-bottom: 50px;}
	#staff .main_block .wrap {width: 100%;}
	#interview ul {grid-template-columns: repeat(2, 1fr);}
	#interview ul li .plus {width: 6vw;height: 6vw;}
	#interview ul li .img_wrap p {font-size: 6.5vw;}
	#interview ul li .txt_wrap {padding-bottom: 3vw;}
	#interview ul li .txt_wrap dl dt {font-size: 4vw;}
	#interview ul li .txt_wrap dl dd {font-size: 1.8vw;}
}
@media only screen and ( max-width : 500px ) {
	#interview ul {grid-template-columns: repeat(1, 1fr);}
	#interview ul li {display: flex;padding-bottom: 0;}
	#interview ul li .plus {top: 2.5vw;right: 2.5vw;}
	#interview ul li .img_wrap {width: 40%;}
	#interview ul li .img_wrap p {top: 1vw;transform: none;font-size: 8.5vw;}
	#interview ul li .txt_wrap {position: relative;width: 60%;padding: 10vw 3vw 7vw;}
	#interview ul li .txt_wrap dl {gap: 2.2vw;bottom: 1vw;left: 4vw;}
	#interview ul li .txt_wrap dl dt {font-size: 7vw;}
	#interview ul li .txt_wrap dl dd {font-size: 2.6vw;}
}