@charset "UTF-8";
/*-----------------------------------

	mainvisual_block

-----------------------------------*/
#mainvisual_block {
	min-height: calc(100vh - 100px);
	margin-top: 100px;
	position: relative;
}
#mainvisual_block::before,
#mainvisual_block::after {
	content: '';
	display: block;
	background: url(../img/common/img_bg.svg) no-repeat center center / contain;
	margin: auto;
	position: absolute;
	z-index: -1;
}
#mainvisual_block::before {
	width: 245.5px;
	height: 245.5px;
	top: -163.6px;
	left: -221px;
	right: 0;
}
#mainvisual_block::after {
	width: 228px;
	height: 228px;
	top: 399px;
	top: 34.6vh;
	left: -90px;
}
#mainvisual_block .text_box {
	width: 58%;
	margin-top: 7.75vh;
	margin-left: -120px;
}
#mainvisual_block .text_box h2 {
	margin-bottom: 20px;
}
#mainvisual_block .text_box h2 * {
	font-weight: 700;
}
#mainvisual_block .text_box .en {
	display: inline-block;
	font-size: 13px;
	letter-spacing: 0.08em;
	color: #ffffff;
	background: #218B9E;
	padding: 3.5px 13px;
	border-radius: 50vw;
	margin-bottom: 25px;
}
#mainvisual_block .text_box .s_size {
	font-size: 24px;
	line-height: 1.5;
	letter-spacing: 0.06em;
	margin-bottom: 20px;
}
#mainvisual_block .text_box .l_size {
	font-size: 28px;
	line-height: 2.8;
}
#mainvisual_block .text_box .l_size div {
	display: inline-block;
}
#mainvisual_block .text_box .l_size .clr {
	font-size: 46px;
	line-height: 1;
	color: #21A5A1;
	background: #ffffff;
	padding: 17px 0 9px 20px;
	border: 2px solid #40A8A5;
	border-radius: 15px;
}
#mainvisual_block .text_box .l_size .clr01 {
	padding-right: 27px;
	margin-right: 10px;
}
#mainvisual_block .text_box .l_size .clr02 {
	padding-right: 16px;
	margin-right: 11px;
}
#mainvisual_block .text_box .l_size .clr03 {
	padding-right: 32px;
	margin-right: 7px;
}
#mainvisual_block .text_box p {
	font-size: 15px;
	line-height: 1.87;
	margin-bottom: 35px;
}
#mainvisual_block .img_box {
	width: 50.35vw;
	height: calc(100% - 65px);
	margin: 0 calc(50% - 50vw);
	border-top-left-radius: 60px;
	border-bottom-left-radius: 60px;
	overflow: hidden;
	position: absolute;
	top: 0;
	right: 0;
}
#mainvisual_block .img_box img {
	height: 100%;
	object-fit: cover;
}
#mainvisual_block .scroll_box {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	background: #F2F6F6;
	width: 50px;
	height: 121px;
	padding: 20px 11px 13px 14px;
	border-top-left-radius: 10px;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 1;
}
#mainvisual_block .scroll_txt {
	writing-mode: vertical-rl;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.1em;
}
#mainvisual_block .scroll_progress_wrap {
	width: 5px;
	height: 100%;
	position: relative;
	overflow: hidden;
}
#mainvisual_block .scroll_progress {
	background: #40A8A5;
	width: 5px;
	height: 5px;
	border-radius: 50vw;
	margin: auto;
	position: absolute;
	top: -5px;
	left: 0;
	right: 0;
	animation: scroll_progress_anim 1.8s ease-out infinite backwards;
}
@keyframes scroll_progress_anim {
	0% {
		top: -5px;
	}
	100% {
		top: 93px;
	}
}
#mainvisual_block .scroll_line {
	background: #758E8D;
	width: 1px;
	height: 100%;
	margin: 0 auto;
}
@media screen and (max-width: 1450px) {
	#mainvisual_block .text_box {
		margin-left: -50px;
	}
	#mainvisual_block .img_box {
	width: 47vw;
	}
}
@media screen and (max-width: 1300px) {
	#mainvisual_block .text_box {
		margin-left: -40px;
	}
	#mainvisual_block .img_box {
		width: 45vw;
	}
}

@media screen and (max-width: 1050px) {
		#mainvisual_block .text_box {
		margin-left: 0px;
	}
	#mainvisual_block .img_box{
		width: 45vw;
	}
	#mainvisual_block .text_box {
		width: 53%;
	}
}
@media screen and (max-width: 1024px) {
	#mainvisual_block .text_box .l_size {
		font-size: 28px;
		line-height: 2.6;
	}
	#mainvisual_block .text_box .l_size .clr {
		font-size: 36px;
		padding: 14.5px 0 7.5px 23px;
	}
	#mainvisual_block .text_box .l_size .clr01 {
		padding-right: 17px;
	}
	#mainvisual_block .text_box .l_size .clr02 {
		padding-right: 12px;
	}
	#mainvisual_block .text_box .l_size .clr03 {
		padding-right: 22px;
	}
}
@media screen and (max-width: 905px) {
	#mainvisual_block {
		min-height: initial;
		margin-top: 115px;
	}
	#mainvisual_block .text_box {
		width: 100%;
		margin-top: 0;
	}
	#mainvisual_block .img_box {
		width: 100vw;
		height: 500px;
		margin: 0px calc(50% - 50vw);
		border-top-left-radius: 0;
		border-bottom-left-radius: 0;
		position: static;
		margin-top: 50px;
	}
}
@media screen and (max-width: 640px) {
	#mainvisual_block {
		padding-bottom: 60px;
		margin-top: 70px;
	}
	#mainvisual_block::before {
		width: 105px;
		height: 105px;
		top: -92px;
		left: -31px;
	}
	#mainvisual_block::after {
		width: 98px;
		height: 98px;
		top: 272px;
		left: -63px;
	}
	#mainvisual_block .text_box {
		min-height: 337px;
		margin-top: 0;
	}
	#mainvisual_block .text_box .en {
		font-size: 10px;
		padding: 2.5px 10px;
		margin-bottom: 9px;
	}
	#mainvisual_block .text_box .s_size {
		font-size: 16px;
		margin-bottom: 12px;
	}
	#mainvisual_block .text_box .l_size {
		font-size: 18px;
	}
	#mainvisual_block .text_box .l_size .clr {
		font-size: 22px;
		padding: 7.5px 7.5px 5.5px;
		border-radius: 10px;
		margin-right: 5px;
	}
	#mainvisual_block .text_box .l_size .clr01 {
		margin-right: 5px;
	}
	#mainvisual_block .text_box .l_size .clr02 {
		margin-right: 5px;
	}
	#mainvisual_block .text_box h2 {
		margin-bottom: 9px;
	}
	#mainvisual_block .text_box p {
		font-size: 12px;
		letter-spacing: 0;
		margin-bottom: 18px;
	}
	#mainvisual_block .img_box {
		height: calc(100vh - 437px);
		height: calc(100svh - 437px);
		margin-top: 30px;
	}
	#mainvisual_block .scroll_box {
		right: -5px;
		bottom: 60px;
	}
}
/*-----------------------------------

	features_block

-----------------------------------*/
#features_block {
	padding: 85px 0 0;
}
#features_block .sec_ttl::after {
	content: "Features";
}
#features_block .sec_intro_txt {
	margin-bottom: 102px;
}
#features_block .features_wrap {
	align-items: flex-start;
	gap: 50px 0;
	margin-bottom: 56px;
	position: relative;
}
#features_block .features_wrap::after {
	content: '';
	display: block;
	background: #FFFFFF;
	width: calc(100% + 150px);
	height: 460px;
	border-radius: 10px;
	margin: auto;
	position: absolute;
	left: -75px;
	bottom: -89px;
	z-index: -1;
}
#features_block .features_box {
	width: calc((100% - 96px) / 3);
	position: relative;
}
#features_block .features_box::before {
	content: '';
	display: block;
	width: 68px;
	height: 68px;
	margin: auto;
	position: absolute;
	top: -23.5px;
	left: -23.5px;
	z-index: 1;
}
#features_block .features_box01::before {
	background: url(../img/index/icon_features01.svg) no-repeat center center / contain;
}
#features_block .features_box02::before {
	background: url(../img/index/icon_features02.svg) no-repeat center center / contain;
}
#features_block .features_box03::before {
	background: url(../img/index/icon_features03.svg) no-repeat center center / contain;
}
#features_block .features_box .img_box {
	overflow: hidden;
	border-radius: 10px;
	margin-bottom: 27px;
}
#features_block .features_box h3 {
	font-size: 21px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.08em;
	text-align: center;
	margin-bottom: 19px;
	min-height: 60px;
}

#features_block .features_box01 h3,
#features_block .features_box03 h3 {
	margin-top: 30px;
	padding-top: 20px;
} 
#features_block .features_box .text {
	width: 100%;
}
#features_block .features_box p {
	font-size: 15px;
	font-weight: 600;
	line-height: 2;
}
#features_block .features_box .text li ul{
	list-style: none;
}
#features_block .features_box .text li {
	font-size: 15px;
	margin: 5px;
	margin-left: 1em;
}
#features_block .features_box .text li:nth-child(1){
margin-top: 0px;
}
#features_block .features_box .text li:nth-child(3){
	margin-bottom: 0px;
}
#features_block .features_box .text ul li::before {
content: "";
background: #273433;
border-radius: 50%;
width: 3px;
height: 3px;
display: inline-block;
position: relative;
top: -5px;
left: -0.6em;
}
#features_block .detail {
	margin: 0 auto;
}
@media screen and (max-width: 1300px) {
	#features_block .features_box h3 {
		font-size: 19px;
	}
}
@media screen and (max-width: 900px) {
	#features_block {
		padding: 0;
	}
	#features_block .sp {
		display: block;
	}
	#features_block .pc {
		display: none;
	}
	#features_block .sec_intro_txt {
		margin-bottom: 42px;
	}
	#features_block .features_wrap {
		margin-bottom: 46px;
				align-items: center;
	}
	#features_block .features_wrap::after {
		display: none;
	}
	#features_block .features_box {
		display: flex;
		flex-direction: column;
		width: 85%;
				max-width: 550px;
		align-items: center;
		margin: 0 auto;
	}
	#features_block .features_box::before {
		width: 43px;
		height: 43px;
		top: -13.5px;
    	left: -13.5px;
	}
	#features_block .features_box .img_box {
		margin-bottom: 22px;
		width: 100%;
	}
	#features_block .features_box .img_box img{
		max-width: 600px;
		margin: 0 auto;
	}
	#features_block .features_box h3 {
		font-size: 21px;
		margin-bottom: 8px;
			min-height: 0;
	}
	#features_block .features_box01 h3,
#features_block .features_box03 h3 {
	padding-top: 0;
	margin-top: 0;
} 
	#features_block .features_box p {
		font-size: 15px;
		width: 100%;
				margin: 0 auto;
	}
	#features_block .features_box .text ul {
		width: 100%;
		margin: 0 auto;
	}
	#features_block .features_box .text li {
	font-size: 13px;
}
}
@media screen and (max-width: 640px) {
#features_block .features_box .img_box img {
	width: 100%;
}
	#features_block .features_box h3 {
		font-size: 18px;
		margin-bottom: 8px;
			min-height: 0;
	}
	#features_block .features_box01 h3,
#features_block .features_box03 h3 {
	padding-top: 0;
} 
	#features_block .features_box {
		width: 100%;
	}
	#features_block .features_box p {
		font-size: 13px;
		width: 100%;
				margin: 0 auto;
	}
	#features_block .features_box .text ul {
		width: 100%;
		margin: 0 auto;
	}
}
/*-----------------------------------

	services_block

-----------------------------------*/
#services_block {
	background: url(../img/index/img_bg_services.jpg) no-repeat center /cover;
	padding: 45px 0 142px;
	margin-top: 150px;
}
#services_block .sec_ttl::after {
	content: "Services";
}
#services_block .sec_intro_txt {
	margin-bottom: 36px;
}
#services_block .services_wrap {
	gap: 40px 0;
}
#services_block .services_box {
	background: #FFFFFF;
	width: calc((100% - 60px) / 4);
	padding: 24px 20px 22px;
	border: 2px solid #E0EEEE;
	border-radius: 10px;
}

#services_block .services_box h3 {
	font-size: 19px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.04em;
	text-align: center;
}

#services_block .services_box07 {
	padding-top: 16px;
}
#services_block .services_box08 img {
	width: 72px;
	margin-top:3px;
}
#services_block .services_box08 h3 {
	line-height: 2;
}

#services_block .services_box p {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.86;
	letter-spacing: 0.05em;
}
#services_block .services_box img {
	margin-left: auto;
	margin-right: auto;
}
#services_block .services_box01 img {
	width: 77px;
	margin-top: 23px;
}
#services_block .services_box02 img {
	width: 86px;
	margin-top: 23px;
}
#services_block .services_box03 img {
	width: 77px;
	margin-top: 29px;
}
#services_block .services_box04 img {
	width: 51px;
	margin-top: 29px;
}
#services_block .services_box05 img {
	width: 79px;
	margin-top: 17px;
}
#services_block .services_box06 img {
	width: 69px;
	margin-top: 32px;
}
#services_block .services_box07 img {
	width: 67px;
	margin-top: 26px;
}
#services_block .services_box08 img {
	width: 72px;
	margin-top: 25px;
}
#services_block .detail {
    margin: 60px auto 0;
}
@media screen and (max-width: 840px) {
	#services_block .services_box {
		width: calc((100% - 20px) / 2);
	}
}
@media screen and (max-width: 640px) {
	#services_block {
		padding-bottom: 52px;
		margin-top: 10px;
	}
	#services_block .services_wrap {
		gap: 25px 0;
	}
	#services_block .services_box {
		width: 100%;
		padding: 23px 20px 12px;
	}
	#services_block .services_box h3 {
		font-size: 18px;
	}
	#services_block .services_box p {
		font-size: 13px;
	}
	#services_block .detail {
 	   margin: 45px auto 0;
	}
}
/*-----------------------------------

	flow_block

-----------------------------------*/
#flow_block {
	padding: 336px 0 121px;
	position: relative;
}
#flow_block::before {
	content: '';
	display: block;
	background: url(../img/index/img_bg_flow.jpg) no-repeat center top / cover;
	width: 100%;
	height: 495px;
	margin: auto;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: -1;
}
#flow_block::after {
	content: '';
	display: block;
	background: url(../img/common/img_bg.svg) no-repeat center center / contain;
	width: 174px;
	height: 174px;
	margin: auto;
	position: absolute;
	top: 567px;
	right: -24px;
	z-index: 0;
}
#flow_block .contents_inner {
	background: #F2F6F6;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
}
#flow_block .sec_ttl {
	padding-top: 142px;
	margin-bottom: 21px;
}
#flow_block .sec_ttl::after {
	content: "Flow";
	top: 37px;
	left: 0;
}
#flow_block .sec_ttl span {
	width: max-content;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}
#flow_block .sec_intro_txt {
	text-align: center;
	margin-bottom: 57px;
}
#flow_block .flow_wrapper {
	gap: 20px 0;
	position: relative;
}
#flow_block .flow_wrapper::after {
	content: '';
	display: block;
	background: url(../img/index/icon_bg_flow.svg) no-repeat center center / contain;
	width: calc(100% - 250px);
	height: 4px;
	margin: auto;
	position: absolute;
	top: 85px;
	left: 0;
	right: 0;
	z-index: 0;
}
#flow_block .flow_box {
	background: #FFFFFF;
	width: calc((100% - 60px) / 4);
	padding: 33px 20px 30px;
	border: 2px solid #E0EEEE;
	border-radius: 10px;
	position: relative;
	z-index: 1;
}
#flow_block .flow_box h3 {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.05em;
	padding: 13px 0 7px 50px;
	border-bottom: 1px solid #F2F6F6;
	margin-bottom: 16.5px;
	position: relative;
}
#flow_block .flow_box h3::before {
	content: '';
	display: block;
	width: 32px;
	height: 38px;
	margin: auto;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
#flow_block .flow_box01 h3::before {
	background: url(../img/index/txt_flow01.svg) no-repeat center center / contain;
}
#flow_block .flow_box02 h3::before {
	background: url(../img/index/txt_flow02.svg) no-repeat center center / contain;
}
#flow_block .flow_box03 h3::before {
	background: url(../img/index/txt_flow03.svg) no-repeat center center / contain;
}
#flow_block .flow_box04 h3::before {
	background: url(../img/index/txt_flow04.svg) no-repeat center center / contain;
}
#flow_block .flow_box p {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.79;
	letter-spacing: 0.05em;
}
@media screen and (max-width: 840px) {
	#flow_block .flow_wrapper {
		overflow: hidden;
	}
	#flow_block .flow_wrapper::after {
		background: url(../img/index/sp/icon_bg_flow.svg) no-repeat center center / contain;
		width: 4px;
		height: 100%;
	}
	#flow_block .flow_box {
		width: 100%;
	}
}
@media screen and (max-width: 640px) {
	#flow_block {
		padding: 116px 0 51px;
	}
	#flow_block::before {
		height: 225px;
	}
	#flow_block::after {
		width: 104px;
		height: 104px;
		top: 247px;
	}
	#flow_block .sec_ttl {
		padding-top: 52px;
	}
	#flow_block .sec_ttl::after {
		top: 42px;
	}
	#flow_block .sec_intro_txt {
		margin-bottom: 37px;
	}
	#flow_block .flow_box {
		padding: 23px 20px 20px;
	}
	#flow_block .flow_box h3 {
		font-size: 18px;
	}
	#flow_block .flow_box p {
		font-size: 13px;
	}
}
/*-----------------------------------

	office_block

-----------------------------------*/
#office_block .contents_inner {
	max-width: 1350px;
}
#office_block .office_container {
	background: #FFFFFF;
	padding: 84px 75px 81px;
	border-radius: 10px;
	box-shadow: 0 3px 25px #E3F1F1;
	position: relative;
}
#office_block .office_container::before {
	content: '';
	display: block;
	background: url(../img/common/img_bg_gr.svg) no-repeat center center / contain;
	width: 140px;
	height: 140px;
	margin: auto;
	position: absolute;
	top: -79px;
	left: -99px;
	z-index: 1;
}
#office_block .sec_ttl::after {
	content: "Office Overview";
	text-align: right;
}
#office_block .sec_intro_txt {
	margin-bottom: 50px;
}
#office_block .office_wrapper {
	align-items: flex-end;
	position: relative;
	z-index: 2;
}
#office_block .text_box {
	width: 41.7%;
}
#office_block .table_box {
	background: #F1F6F6;
	border-radius: 10px;
	margin-bottom: 42px;
}
#office_block .table_box tr:nth-of-type(2) {
	background: #ffffff;
}
#office_block .table_box table {
	width: 100%;
}
#office_block .table_box th,
#office_block .table_box td {
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 2.125;
	text-align: left;
	padding: 11px 20px;
}
#office_block .table_box th {
	color: #40A8A5;
	width: 108px;
}
#office_block .table_box td {
	width: calc(100% - 108px);
}
#office_block .map {
	max-width: 100%;
}
#office_block .img_box {
	width: 50%;
	border-radius: 10px;
	overflow: hidden;
}
@media screen and (max-width: 1200px) {
	#office_block .office_container {
		padding: 44px 35px 41px;
	}
}
@media screen and (max-width: 840px) {
	#office_block .sec_ttl::after {
		font-size: 69px;
		top: 0;
	}
	#office_block .office_wrapper {
		align-items: center;
	}
	#office_block .img_box,
	#office_block .text_box {
		width: 100%;
	}
	#office_block .text_box {
		margin-bottom: 60px;
	}
}
@media screen and (max-width: 640px) {
	#office_block .sec_ttl::after {
		font-size: 29px;
		top: -10px;
	}
	#office_block .office_container {
		padding: 44px 20px 21px;
		box-shadow: 0 3px 15px #E3F1F1;
	}
	#office_block .office_container::before {
		width: 70px;
		height: 70px;
		top: -30px;
    	left: -45px;
	}
	#office_block .sec_intro_txt {
		margin-bottom: 30px;
	}
	#office_block .text_box {
		margin-bottom: 40px;
	}
	#office_block .table_box {
		margin-bottom: 32px;
	}
	#office_block .table_box th,
	#office_block .table_box td {
		font-size: 14px;
		line-height: 1.85;
	    padding: 11px 10px;
	}
	#office_block .table_box th {
		width: 88px;
	}
	#office_block .table_box td {
		width: calc(100% - 88px);
	}
}
/*-----------------------------------

	column_block

-----------------------------------*/
#column_block {
	padding: 121px 0 0;
}
#column_block .sec_ttl::after {
	content: "Column";
}
#column_block .sec_intro_txt {
	margin-bottom: 50px;
}
#column_block .column_wrapper {
	display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: auto;
	gap: 20px 15px;
	margin-bottom: 50px;
	position: relative;
}
#column_block .column_box {
	display: grid;
	grid-template-rows: subgrid;
    grid-row: span 5;
    align-items: start;
    gap: 0;
	background: #FFFFFF;
	padding: 18px 18px 10px;
	border: 2px solid #E0EEEE;
	border-radius: 10px;
}
#column_block .column_box .img_box {
	height: 250px;
	margin-bottom: 18px;
}
#column_block .column_box .img_box img {
	height: 100%;
	object-fit: cover;
}
#column_block .column_box .tag {
	justify-content: flex-start;
	align-items: center;
	gap: 6px 13px;
	margin-bottom: 17px;
}
#column_block .column_box time {
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.03em;
}
#column_block .column_box .category {
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.03em;
	text-align: center;
	color: #40A8A5;
	width: 74px;
	padding: 3px 0;
	border: 2px solid #40A8A5;
	border-radius: 5px;
}
#column_block .column_box h3 {
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 0.05em;
	color: #27353B;
	margin-bottom: 9px;
}
#column_block .column_box p {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.86;
	letter-spacing: 0.05em;
	color: #32454D;
}
#column_block .column_box .more_wrap {
	padding-top: 17px;
	width: 100%;
	border-top: 1px dashed #E0EEEE;
	margin-top: 8px;
}
#column_block .column_box .more {
	display: block;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.23;
	letter-spacing: 0.05em;
	color: #40A8A5;
	padding-right: 17px;
	width: max-content;
	max-width: 100%;
	margin-left: auto;
	position: relative;
}
#column_block .column_box .more::after {
	content: '';
	display: block;
	background: url(../img/common/icon_btn_clr.svg) no-repeat center center / cover;
	width: 7px;
	height: 12px;
	margin: auto;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
}
#column_block .detail {
	margin: 0 auto;
}
@media screen and (max-width: 640px) {
	#column_block {
		padding: 51px 0 0;
	}
	#column_block .sec_intro_txt {
		margin-bottom: 30px;
	}
	#column_block .column_wrapper {
		grid-template-columns: auto;
		margin-bottom: 45px;
	}
	#column_block .column_box {
		width: 100%;
		padding: 17px 17px 10px;
	}
	#column_block .column_box .img_box {
		margin-bottom: 13px;
	}
	#column_block .column_box .tag {
		gap: 6px 11px;
		margin-bottom: 12px;
	}
	#column_block .column_box time {
		font-size: 11px;
	}
	#column_block .column_box .category {
		font-size: 11px;
		width: 70px;
	}
	#column_block .column_box h3 {
		font-size: 18px;
	}
	#column_block .column_box p {
		font-size: 13px;
	}
	#column_block .column_box .more_wrap {
		padding-top: 15px;
	}
	#column_block .column_box .more {
		font-size: 12px;
		padding-right: 15px;
	}
	#column_block .column_box .more::after {
		width: 6px;
		height: 11px;
	}
}
/*-----------------------------------

	news_block

-----------------------------------*/
#news_block {
	padding: 51px 0 0;
}
#news_block .contents_inner {
	position: relative;
}
#news_block .contents_inner::before {
	content: '';
	display: block;
	background: url(../img/common/img_bg.svg) no-repeat center center / contain;
	width: 246px;
	height: 246px;
	margin: auto;
	position: absolute;
	top: -129px;
	left: -174px;
	z-index: 0;
}
#news_block .sec_ttl::after {
	content: "News";
}
#news_block .sec_intro_txt {
	margin-bottom: 50px;
}
#news_block .news_wrapper {
	background: #ffffff;
	border: 2px solid #E0EEEE;
	border-radius: 10px;
	margin-bottom: 48px;
}
#news_block .news_box:not(:last-of-type) {
	border-bottom: 1px solid #E6ECF2;
}
#news_block .news_box a {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 10px 0;
	padding: 25.5px 70px 25.5px 20px;
	position: relative;
}
#news_block .news_box a::after {
	content: '';
	display: block;
	background: url(../img/common/icon_btn_clr.svg) no-repeat center center / contain;
	width: 8px;
	height: 14px;
	margin: auto;
	position: absolute;
	top: 0;
	right: 24px;
	bottom: 0;
	z-index: 1;
	transition: 0.3s;
}
#news_block .news_box a:hover::after {
	right: 14px;
}
#news_block .news_box time {
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: #6F828B;
	width: 101px;
}
#news_block .news_box .category {
	display: inline-block;
	font-size: 11px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: -0.01em;
	text-align: center;
	color: #ffffff;
	background: #40A8A5;
	width: 70px;
	padding: 4.5px 0;
	border-radius: 5px;
	margin-right: 59px;
}
#news_block .news_box h3 {
	font-size: 14px;
	font-weight: 500;
	letter-spacing: -0.01em;
	width: calc(100% - 230px);
}
#news_block .detail {
	margin: 0 auto;
}
@media screen and (max-width: 640px) {
	#news_block .contents_inner::before {
		width: 106px;
		height: 106px;
		top: -49px;
		left: -74px;
	}
	#news_block .sec_intro_txt {
		margin-bottom: 30px;
	}
	#news_block .news_box a {
		padding: 15.5px 40px 15.5px 20px;
		position: relative;
	}
	#news_block .news_box a::after {
		width: 6px;
		height: 12px;
	    right: 18px;
	}
	#news_block .news_box time {
		font-size: 11px;
		width: 71px;
	}
	#news_block .news_box .category {
		margin-right: 0;
	}
	#news_block .news_box h3 {
		width: 100%;
	}
}
