body {
	font-family: "Noto Sans JP", sans-serif;
}

#welfare {
	font-family: "Noto Sans JP", sans-serif;
	font-size: min(14px, 3.73vw);
	font-weight: 400;
	color: #212121;
	overflow: hidden;
	background: #F8FCFE;
	position: relative;
	line-height: 1.6;
}

#welfare * {
	box-sizing: border-box;
	padding: 0;
	margin: 0;
}

#welfare a {
	transition: opacity .3s;
}

#welfare a[href^="tel:"] {
	display: inline-block;
	transition: none;
}

#welfare a:hover {
	text-decoration: none;
}

#welfare a:focus-visible {
	outline: none;
}

#welfare img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

#welfare .js-fadein {
	opacity: 0;
	transform: translate(0, 20px);
	transition-property: opacity, transform;
	transition-duration: 1s;
}

#welfare .scroll-in {
	opacity: 1;
	transform: translate(0, 0);
}

#welfare .pc-br {
	display: none;
}

#welfare .sp-br {
	display: inline;
}

#welfare .inner {
	width: 100%;
	max-width: min(474px, 126.4vw);
	margin: 0 auto;
	padding: 0 min(12px, 3.2vw);
}


/* hero */
#welfare .sc-hero {
	background-color: #006BB5;
	padding-block: min(1px, 0.27vw) min(12px, 3.2vw);
}

#welfare .sc-hero .page-title {
	text-align: center;
	color: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: min(42px, 11.2vw);
}

#welfare .sc-hero .page-title .bg-title {
	font-family: "vandertak-regular", sans-serif;
	font-weight: 400;
	color: rgba(255, 255, 255, 0.1);
	font-size: min(48px, 12.8vw);
	letter-spacing: max(-2.5px, -0.67vw);
	margin-bottom: max(-37px, -9.87vw);
}

#welfare .sc-hero .page-title .en {
	font-family: "noto-sans-cjk-jp", sans-serif;
	font-weight: 700;
	line-height: 1;
	font-size: min(12px, 3.2vw);
	margin-bottom: min(8px, 2.13vw);
}

#welfare .sc-hero .page-title .ja {
	font-weight: 500;
	line-height: 1.8;
	font-size: min(20px, 5.33vw);
}

#welfare .sc-hero .endpoint {
	background-color: #fff;
	border-radius: 999px;
	display: flex;
	justify-content: space-between;
	padding: min(12px, 3.2vw) min(20px, 5.33vw) min(9px, 2.4vw);
	/* margin-inline: min(2px, 0.53vw); */
	column-gap: min(20px, 5.33vw);
}

#welfare .sc-hero .endpoint .link {
	font-size: min(14px, 3.73vw);
	font-weight: 500;
	line-height: 1.4;
	color: #00A4AD;
	display: flex;
	align-items: center;
	justify-content: space-between;
	column-gap: min(20px, 5.33vw);
	transition: all 0.2s;
}

#welfare .sc-hero .endpoint .link .arrow {
	display: block;
	width: min(20px, 5.33vw);
	height: min(20px, 5.33vw);
	background-color: #00A4AD;
	border-radius: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s;
}


#welfare .sc-hero .endpoint .link .arrow::before {
	content: '';
	background-repeat: no-repeat;
	background-size: contain;
	background-image: url('data:image/svg+xml,%3Csvg%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M20%2030V10m0%2020-8-8m8%208%208-8%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E	');
	display: block;
	width: 100%;
	height: 100%;
	transition: all 0.2s;
}

/* support */
#welfare .sc-support {
	padding-block: min(40px, 10.67vw) min(20px, 5.33vw);
}

#welfare .sc-workplace {
	padding-bottom: min(60px, 16vw);
}

#welfare .sc-support .section-title {
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: min(18px, 4.8vw);
	font-weight: 700;
	line-height: 1.8;
	text-align: center;
	color: #006BB5;
	row-gap: min(4px, 1.07vw);
	margin-bottom: min(36px, 9.6vw);
}

#welfare .sc-support .section-title .icon {
	max-width: min(30px, 8vw);
}

#welfare .sc-support .list {
	display: grid;
	padding-inline: min(26px, 6.93vw);
	row-gap: min(32px, 8.53vw);
}

#welfare .sc-support .list .item {
	display: flex;
	flex-direction: column;
	row-gap: min(28px, 7.47vw);
	align-items: center;
	padding-bottom: min(23px, 6.13vw);
	border-bottom: 2px dotted #CCCCCC;
}

#welfare .sc-support .list .item .title {
	background-color: #006BB5;
	color: #fff;
	text-align: center;
	border-radius: min(5px, 1.33vw);
	font-size: min(16px, 4.27vw);
	font-weight: 500;
	line-height: 1.3;
	padding-block: min(5px, 1.33vw);
	width: 100%;
}

#welfare .sc-support .list .item .img {
	max-width: min(200px, 53.33vw);
	margin-inline: auto;
}

#welfare .sc-support .list .item .text {
	font-size: min(14px, 3.73vw);
	line-height: 1.6;
	width: 100%;
}

#welfare .sc-support .message {
	background-color: #006BB5;
	color: #fff;
	border-radius: min(10px, 2.67vw);
	margin-top: min(32px, 8.53vw);
	margin-inline: min(26px, 6.93vw);
}

#welfare .sc-health .message {
	display: grid;
	grid-template-columns: min(112px, 29.87vw) 1fr;
	column-gap: min(42px, 11.2vw);
	row-gap: min(9px, 2.4vw);
	align-items: center;
}

#welfare .sc-health .message .img {
	position: relative;
}

#welfare .sc-health .message .img img {
	z-index: 2;
	position: relative;
}

#welfare .sc-health .message .img .speak {
	background-color: #fff;
	border-radius: 100%;
	width: min(75px, 20vw);
	height: min(75px, 20vw);
	display: block;
	position: absolute;
	top: max(-11px, -2.93vw);
	right: max(-33px, -8.8vw);
	color: #212121;
	font-size: min(15px, 4vw);
	line-height: 1.4;
	font-weight: 700;
	text-align: center;
	padding-top: min(14px, 3.73vw);
	box-shadow: min(2px, 0.53vw) min(2px, 0.53vw) min(2px, 0.53vw) rgba(0, 0, 0, 0.08);
}

#welfare .sc-health .message .img .speak::before {
	content: '';
	position: absolute;
	display: block;
	border-top: min(15px, 4vw) solid #fff;
	border-left: min(6px, 1.6vw) solid transparent;
	border-right: min(6px, 1.6vw) solid transparent;
	bottom: 8%;
	left: 3%;
	rotate: 50deg;
}

#welfare .sc-health .message .img .speak small {
	font-size: min(12px, 3.2vw);
}

#welfare .sc-health .message .img .speak .blue {
	color: #00A4AD;
	font-size: min(16px, 4.27vw);
}

#welfare .sc-health .message .title {
	font-size: min(18px, 4.8vw);
	font-weight: 700;
	line-height: 1.8;
	padding-right: min(14px, 3.73vw);
	padding-top: min(8px, 2.13vw);
	/* text-decoration: underline dotted;
	text-decoration-thickness: 1.5px;
	text-underline-offset: min(5px, 1.33vw); */
}

#welfare .sc-health .message .title span {
	border-bottom: 2px dotted #fff;
	display: inline;
}

#welfare .sc-health .message .text {
	grid-column: 1 / -1;
	font-size: min(14px, 3.73vw);
	line-height: 1.6;
	padding: 0 min(20px, 5.33vw) min(20px, 5.33vw);
}

#welfare .sc-workplace .message {
	padding: min(28px, 7.47vw) min(20px, 5.33vw);
	display: grid;
	row-gap: min(23px, 6.13vw);
	align-items: center;
}

#welfare .sc-workplace .message .head-title {
	display: flex;
	flex-direction: column;
	align-items: center;
	row-gap: min(13px, 3.47vw);
}

#welfare .sc-workplace .message .head-title .img {
	max-width: min(66px, 17.6vw);
	flex-shrink: 0;
	box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.08);
	border-radius: 100%;
}

#welfare .sc-workplace .message .head-title .title {
	text-align: center;
	font-size: min(18px, 4.8vw);
	line-height: 1.6;
	font-weight: 700;
}

#welfare .sc-workplace .message .head-title .title small {
	font-size: min(13px, 3.47vw);
	display: block;
	margin-bottom: max(-30px, -8vw);
}

#welfare .sc-workplace .message .head-title .title .quote {
	font-size: min(20px, 5.33vw);
}

#welfare .sc-workplace .message .text {
	font-size: min(14px, 3.73vw);
	line-height: 1.6;
}

#welfare .sc-workplace .message>.img {
	margin-top: max(-4px, -1.07vw);
	max-width: min(180px, 48vw);
	flex-shrink: 0;
	margin-inline: auto;
}









@media print,
screen and (min-width: 768px) {

	#welfare .sp-br {
		display: none;
	}

	#welfare .pc-br {
		display: inline;
	}

	#welfare .inner {
		max-width: min(1248px, 104vw);
		padding: 0 min(24px, 2vw);
	}

	/* hero */
	#welfare .sc-hero {
		padding-block: min(3px, 0.25vw) min(24px, 2vw);
	}

	#welfare .sc-hero .page-title {
		margin-bottom: min(85px, 7.08vw);
	}

	#welfare .sc-hero .page-title .bg-title {
		font-size: min(96px, 8vw);
		letter-spacing: max(-5px, -0.42vw);
		margin-bottom: max(-70px, -5.83vw);
	}

	#welfare .sc-hero .page-title .en {
		font-family: "Josefin Sans", sans-serif;
		font-weight: 500;
		line-height: 1.8;
		font-size: min(18px, 1.5vw);
		margin-bottom: min(11px, 0.92vw);
	}

	#welfare .sc-hero .page-title .ja {
		font-size: min(36px, 3vw);
		font-weight: 400;
	}

	#welfare .sc-hero .endpoint {
		width: fit-content;
		margin-inline: auto;
		padding: min(20px, 1.67vw) 16px;
		column-gap: 64px;
	}

	#welfare .sc-hero .endpoint .link {
		line-height: 1.8;
		font-size: min(18px, 1.5vw);
		color: #006BB5;
		column-gap: min(34px, 2.83vw);
    width: 320px;
    padding: 0 24px;
	}

	#welfare .sc-hero .endpoint .link.active {
		color: #00A4AD;
	}

	#welfare .sc-hero .endpoint .link .arrow {
		width: min(20px, 1.67vw);
		height: min(20px, 1.67vw);
		margin-bottom: 0;
		background-color: #006BB5;
	}

	#welfare .sc-hero .endpoint .link.active .arrow {
		scale: 1.5;
		transform-origin: center;
		background-color: #00A4AD;
	}

	#welfare .sc-hero .endpoint .link .arrow::before {
		width: min(20px, 1.67vw);
		height: min(20px, 1.67vw);
	}

	#welfare .sc-hero .endpoint .link.active .arrow::before {
		transform: scale(0.6667);
		transform-origin: center;
	}

	/* support */
	#welfare .sc-support {
		padding-block: min(120px, 10vw) min(40px, 3.33vw);
	}

	#welfare .sc-workplace {
		padding-bottom: min(120px, 10vw);
	}

	#welfare .sc-support .section-title {
		font-size: min(32px, 2.67vw);
		row-gap: min(8px, 0.67vw);
		margin-bottom: min(40px, 3.33vw);
	}

	#welfare .sc-support .section-title .icon {
		max-width: min(40px, 3.33vw);
	}

	#welfare .sc-support .list {
		grid-template-columns: repeat(3, 1fr);
		padding-inline: min(4px, 0.33vw);
		column-gap: min(32px, 2.67vw);
		row-gap: min(9px, 0.75vw);
	}

	#welfare .sc-support .list .item {
		row-gap: min(29px, 2.42vw);
		padding-bottom: 28px;
		border-bottom: 0;
	}

	#welfare .sc-support .list .item .title {
		border-radius: min(10px, 0.83vw);
		font-size: min(24px, 2vw);
		padding-block: min(10px, 0.83vw);
	}

	#welfare .sc-support .list .item .img {
		max-width: min(260px, 21.67vw);
	}

	#welfare .sc-support .list .item .text {
		line-height: 1.77;
		font-size: min(18px, 1.5vw);
		padding-inline: min(16px, 1.33vw);
	}

	#welfare .sc-support .message {
		border-radius: min(20px, 1.67vw);
		margin-top: min(42px, 3.5vw);
		margin-inline: 0;
		overflow: hidden;
	}

	#welfare .sc-health .message {
		grid-template-columns: min(210px, 17.5vw) 1fr;
		column-gap: min(140px, 11.67vw);
		row-gap: 0;
		padding: min(30px, 2.5vw) min(30px, 2.5vw) 0 min(50px, 4.17vw);
		align-items: initial;
	}


	#welfare .sc-health .message .img {
		grid-row: 1 / 3;
	}

	#welfare .sc-health .message .img .speak {
		width: min(130px, 10.83vw);
		height: min(130px, 10.83vw);
		top: max(-45px, -3.75vw);
		right: max(-84px, -7vw);
		font-size: min(20px, 1.67vw);
		padding-top: min(28px, 2.33vw);
		padding-left: min(2px, 0.17vw);
		box-shadow: min(2px, 0.17vw) min(2px, 0.17vw) min(2px, 0.17vw) rgba(0, 0, 0, 0.08);
	}

	#welfare .sc-health .message .img .speak::before {
		border-top: min(24px, 2vw) solid #fff;
		border-left: min(8px, 0.67vw) solid transparent;
		border-right: min(8px, 0.67vw) solid transparent;
		bottom: 10%;
		left: 1%;
		rotate: 56deg;
	}

	#welfare .sc-health .message .img .speak small {
		font-size: min(16px, 1.33vw);
	}

	#welfare .sc-health .message .img .speak .blue {
		font-size: min(24px, 2vw);
	}

	#welfare .sc-health .message .title {
		font-size: min(28px, 2.33vw);
		padding-right: 0;
		padding-top: 0;
		align-self: self-end;
		margin-bottom: min(16px, 1.33vw);
		margin-top: max(-21px, -1.75vw);
		text-decoration: underline dotted;
		text-decoration-thickness: 3px;
		text-underline-offset: min(8px, 0.67vw);
	}

	#welfare .sc-health .message .title span {
		display: block;
		border-bottom: 0;
	}

	#welfare .sc-health .message .text {
		grid-column: auto;
		line-height: 1.8;
		font-size: min(18px, 1.5vw);
		padding: 0;
	}

	#welfare .sc-workplace .message {
		padding: min(36px, 3vw) min(40px, 3.33vw) min(47px, 3.92vw);
		row-gap: min(15px, 1.25vw);
		column-gap: min(20px, 1.67vw);
		align-items: center;
		grid-template-columns: 1fr min(180px, 15vw);
	}

	#welfare .sc-workplace .message .head-title {
		flex-direction: row;
		column-gap: min(40px, 3.33vw);
	}

	#welfare .sc-workplace .message .head-title .img {
		max-width: min(132px, 11vw);
		box-shadow: min(2px, 0.17vw) min(2px, 0.17vw) min(2px, 0.17vw) rgba(0, 0, 0, 0.08);
	}

	#welfare .sc-workplace .message .head-title .title {
		text-align: left;
		font-size: min(28px, 2.33vw);
		padding-bottom: min(8px, 0.67vw);
	}

	#welfare .sc-workplace .message .head-title .title small {
		font-size: min(20px, 1.67vw);
		display: inline-block;
		margin-bottom: 0;
		margin-right: max(-7px, -0.58vw);
		position: relative;
		top: min(4px, 0.33vw);
	}

	#welfare .sc-workplace .message .head-title .title .quote {
		font-size: min(36px, 3vw);
	}

	#welfare .sc-workplace .message .text {
		line-height: 1.8;
		font-size: min(18px, 1.5vw);
	}

	#welfare .sc-workplace .message>.img {
		grid-column: 2;
		grid-row: 1 / 3;
		margin-top: min(22px, 1.83vw);
	}
}

@media (hover: hover) or (pointer: fine) {
	#welfare .sc-hero .endpoint .link:hover {
		color: #00A4AD;
	}

	#welfare .sc-hero .endpoint .link:hover .arrow {
		scale: 1.5;
		transform-origin: center;
		background-color: #00A4AD;
	}

	#welfare .sc-hero .endpoint .link:hover .arrow::before {
		transform: scale(0.6667);
		transform-origin: center;
	}
}