*,
*::before, *::after {
	box-sizing: border-box;
}

html {
	margin: 0;
	padding: 0;
	overflow-y: scroll;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

body {
	margin: 0;
	padding: 0;
	color: #444;
	font-size: 16px;
	line-height: 1.8;
	font-family: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "YuGothic", "Meiryo", sans-serif;
	font-weight: 500;
	background: #FFF;
}

@media screen and (max-width: 768px) {
	body {
		font-size: 0.875rem;
	}
}

/*--------------------------------------------------------------
 Typography
--------------------------------------------------------------*/

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
	padding: 0;
	font-weight: bold;
	line-height: 1.4;
}

h2 {
	font-size: 1.75rem;
	text-align: center;
	display: block;
	letter-spacing: 0.167em;
}

h2 img {
	width: 185px;
	object-fit: contain;
	display: inline-block;
	vertical-align: -1rem;
	margin-right: 0.25rem;
}

h2:after {
	content: "";
	display: block;
	width: 233px;
	height: 9px;
	margin: 15px auto 50px;
	background: url("../images/h2-after.png");
	background-size: contain;
	background-repeat: no-repeat;
}

b,
strong {
	font-weight: inherit;
	font-weight: bold;
}

em,
i {
	font-style: normal;
}

em {
	text-decoration: underline;
	text-decoration-thickness: 0.5em;
	text-decoration-color: rgba(255, 232, 1, 0.5);
	text-underline-offset: -0.2em;
	text-decoration-skip-ink: none;
}

address {
	font-style: normal;
}

address p {
	margin: 0;
}

figure {
	margin: 0;
}

figcaption {
	margin: 0;
	padding: 0px;
	text-align: center;
	color: #333;
	font-size: 1.125rem;
}

p {
	margin: 0 0 1em;
}

br.sp {
	display: none;
}

/*--------------------------------------------------------------
 Links
--------------------------------------------------------------*/

a {
	color: #333;
	text-decoration: none;
	background-color: transparent;
	-webkit-text-decoration-skip: objects;
	transition: all 0.25s ease;
}

a:hover {
	text-decoration: underline;
	text-underline-offset: 5px;
}

a img {
	transition: all 0.25s ease;	
}

a:hover img {
	opacity: 0.7;
}

@media screen and (min-width:768px) {
	a[href^="tel:"] {
		pointer-events: none;
		text-decoration: none;
	}
}

a.button {
	height: 60px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 30px;
	background: #ccc;
	width: 100%;
	max-width: 320px;
	margin-inline: auto; 
	font-weight: bold;
	font-size: 1.25rem;
	color: #111;
	position: relative;
}

a.button:after {
	font-family: "Font Awesome 7 Free";
	font-weight: 900;
	content: "\f105";
	display: block;
	position: absolute;
	right: 15px;
}

a.button:hover {
	text-decoration: none;
	background: #aaa;
	color: #fff;
}

a.button:hover:after {
	color: #fff;
}

@media screen and (max-width: 768px) {
	a.button {
		max-width: calc((260/375)*100vw);
		height: calc((60/375)*100vw);
		border-radius: calc((30/375)*100vw);
		font-size: calc((18/375)*100vw);
	}

	a.button:after {
		right: calc((15/375)*100vw);
	}
}

dl {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
}

/*--------------------------------------------------------------
 Media
--------------------------------------------------------------*/

img,
video {
	max-width: 100%;
	height: auto;
	vertical-align: top;
}

img {
	 border-style: none;
}

/*--------------------------------------------------------------
 Lists
--------------------------------------------------------------*/

ul,
ol {
	margin: 0 0px;
	padding: 0;
}

ul {
	list-style: none;
}

ol {
	padding-left: 20px;
	list-style: decimal;
}

ul li:last-child,
ol li:last-child {
	margin-bottom: 0;
}

dd {
	margin: 0;
}


/*--------------------------------------------------------------
 Tables
--------------------------------------------------------------*/

.table {
	border: 1px solid #aaa;
	border-radius: 30px;
	overflow: hidden;
	padding-inline: 0px !important;
}

table {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	font-size: 1.125rem;
}

table thead tr {
	background: #aaa;
}

table thead tr th {
	color: #fff;
}

table thead tr th {
	height: 70px;
	border-right: 1px solid #ccc;
}

table tbody tr {
	border-bottom: 1px solid #ccc;
}

table tbody tr:last-of-type {
	border-bottom: none;
}

table tbody th {
	background: #eee;
	border-right: 1px solid #ccc;
	line-height: 32px;
	height: 70px;
	font-size: 1.375rem;
	font-weight: 600;
}

table tbody td {
	text-align: center;
}

@media screen and (max-width: 768px) {
	table {
		font-size: 1rem;
	}
	
	table thead tr th,	
	table tbody th {
		font-size: 1rem;
		height: 50px;
	}
	
	table tbody th {
		font-size: 1.125rem;		
	}
}


/*--------------------------------------------------------------
 Header
--------------------------------------------------------------*/
header {
	background: #a3dce5;
	position: relative;
}

header:after {
	content: "";
	background: url("../images/header-after.png");
	display: block;
	position: absolute;
	width: calc((355/1920)*100vw);
	height: calc((355/1920)*100vw);
	background-size: contain;
	top: calc((-30/1920)*100vw);
	right: min(979px, calc((705/1230)*100vw));
	z-index: 1;
}

header a:hover {
	text-decoration: none;
}

.header-inner_block {
	height: max(65px, calc((255/1920)*100vw));
	max-width: 1630px;
	margin-inline: auto;
	padding: 15px calc((100/1920)*100vw) 15px calc((110/1920)*100vw);
	display: grid;
	gap: 0 15px;
	grid-template-rows: auto;
	grid-template-columns: auto 1fr;
}

.header-inner_block .header-logo {
	width: calc((353/1920)*100vw);
	grid-row: 1 / 2;
	grid-column: 1 / 2;
	z-index: 2;
}

.header-inner_block .header-logo .logo {
	height: 100%;
}

.header-inner_block .header-logo .logo a {
	height: 100%;
	display: flex;
	align-items: center;
}

.header-inner_block #header-navigation {
	grid-row: 1 / 2;
	grid-column: 2 / 3;	
	height: 100%;
	position: relative;
	z-index: 2;
}

.header-inner_block #header-navigation ul {
	display: flex;
	justify-content: flex-end;
	align-items: flex-start;
	gap: 0em;
	height: 100%;
}

.header-gnavi_list li {
	padding-top: calc((68/1920)*100vw);
	padding-inline: 0.5rem;
}

.header-gnavi_list li.sp {
	display: none;
}

.header-gnavi_list li a {
	font-size: 1.25rem;
	position: relative;
	font-weight: bold;
	color: #515151;
}

.header-gnavi_list li a span {
	padding: 0.5rem;
}

.header-gnavi_list li a:before {
	content: "";
	display: block;
	margin: 0 auto 0;
	left: 0;
	transition: left 0.5s ease;
}

.header-gnavi_list li a:hover:before,
#toppage .header-gnavi_list li:nth-child(1) a:before,
#about .header-gnavi_list li:nth-child(2) a:before,
#care .header-gnavi_list li:nth-child(3) a:before,
#assist .header-gnavi_list li:nth-child(4) a:before,
#recruit .header-gnavi_list li:nth-child(5) a:before {
	width: calc((43/1920)*100vw);
	height: calc((38/1920)*100vw);
	position: absolute;
	top: calc((-57/1920)*100vw);
	left: 50%;
	transform: translateX(-50%);
	margin-block: 0px;
	background: url("../images/header-menu-icon.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

@media screen and (max-width: 1230px) {
	header:has(.meanclose) {
		background: #fff;
	}
	
	header:has(.meanclose)::after {
		z-index: -1;
	}
	
	.mean-container .mean-bar {
		background: transparent;
		padding: 0;
	}
	
	.mean-container .meanclose+.mean-nav {
		position: absolute;
	}
	
	.mean-container a.meanmenu-reveal {
		width: min(58px, calc((26/375)*100vw));
		height: min(58px, calc((33/375)*100vw));
		margin: 5px 15px 15px 15px;
		padding: 0;
		text-indent: 0;
		font-size: min(16px, calc((10/375)*100vw)) !important;
		line-height: inherit;
		z-index: 1;
	}
	
	.mean-container a.meanmenu-reveal span {
		background: #0091a0;
		margin-top: min(10px, calc((7/375)*100vw));
	}
	
	.mean-container a.meanmenu-reveal.meanclose span:nth-of-type(1){
		transform: rotate(30deg);
	    position: relative;
		top: min(13px, calc((10/375)*100vw));
	}
	
	.mean-container a.meanmenu-reveal.meanclose span:nth-of-type(2){
		transform: rotate(-30deg);		
	}
	
	.mean-container a.meanmenu-reveal div {
		color: #0091a0;
		text-align: center;
		font-family: "Noto Sans JP", "serif";
	}
	
	.mean-container a.meanmenu-reveal.meanclose div {
		font-size: min(16px, calc((9/375)*100vw)) !important;
	    position: relative;
		top: min(16px, calc((11/375)*100vw));
	}
	
	.mean-container .mean-nav {
		background: transparent;
		padding-top: 78px;
		margin-top: 0;		
	}
	
	.mean-container .meanclose+.mean-nav {
		background: #a3dce5;
		height: 100vh;
	}
	
	.mean-container .mean-nav ul {
		display: flex;
		flex-direction: column;
		margin-top: -78px !important;
		padding-top: 78px;
		padding-bottom: 45px;
		position: absolute;
		background: #a3dce5;
	}
	
	.mean-container .mean-nav ul li {
		display: flex;
		justify-content: center;
		width: calc(100% - 1rem);
	}

	.mean-container .mean-nav ul li:nth-child(5) a {
		border-bottom: 1px solid #fff;
	}
	
	.mean-container .mean-nav ul li:after {
		display: none;
	}

	.mean-container .mean-nav ul li a {
		color: #515151;
		width: 60%;
		min-width: 265px;
		border-top: 1px solid #fff;
		text-align: center;
		font-size: 20px;
		padding: 11px 5%;
	}
	
	.mean-container .mean-nav ul li a:hover {
		background: transparent;
	}
	
	.mean-container .mean-nav ul li:after {
		display: none;
	}
	
	.mean-container .mean-nav ul li.sp {
		display: block;
	}

	.mean-container .mean-nav ul li.menu-footer {
		background: url("../images/menu-footer.png");
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center;
		text-align: center;
		margin-block: 25px;
	}
	
	.mean-container .mean-nav ul li.menu-footer img {
		padding-block: 43px 10px;
		max-width: 132px;
	}
	
	.mean-container .mean-nav ul li.menu-footer address {
		font-size: 0.875rem;
	}
	
	.mean-container .mean-nav ul li.menu-footer .tel {
		display: flex;
		width: 100%;
		justify-content: center;
		font-size: 20px;
		font-weight: 900;
		line-height: 20px;
		gap: 0 0.25em;
		padding: 0px 0 42px;
	}
	
	.mean-container .mean-nav ul li.menu-footer .tel a {
		border: none;
		width: auto;
		min-width: inherit;
		text-align: center;
		padding: 0px;
		font-size: 20px;
		font-weight: 900;
	}
	
	.mean-container .mean-nav ul li.menu-footer .tel a:before {
		display: none;
	}
	
	header:after {
		width: min(355px, calc((140/375) * 100vw));
    	height: min(355px, calc((140/375) * 100vw));
		left: min(385px, calc((175/375) * 100vw));
		top: max(-81px, calc((-31/375) * 100vw));
	}
	
	header .header-inner_block {
		position: relative;
		top: max(-85px, calc((-70/375)*100vw));
		padding-inline: 10px;
	}
	
	.header-inner_block .header-logo {
		width: calc((158/375)*100vw);
		z-index: 999999;
	}
	
	.mean-bar:has(.meanclose) + .header-inner_block .header-logo {
		display: none;
	}
	
	.header-inner_block .header-logo .logo a {
		width: fit-content;
	}
	
	.header-inner_block .header-logo .logo a img {
		max-height: 215px;
	}
	
	.header-gnavi_list li {
		padding-top: 0;
	}
	
	.header-gnavi_list li a:hover:before,
	#toppage .header-gnavi_list li:nth-child(1) a:before,
	#about .header-gnavi_list li:nth-child(2) a:before,
	#care .header-gnavi_list li:nth-child(3) a:before,
	#assist .header-gnavi_list li:nth-child(4) a:before,
	#recruit .header-gnavi_list li:nth-child(5) a:before {
		top: 50%;
		left: calc(50% - 6.5em);
		transform: translateY(-50%);
		width: 46px;
		height: 39px;
	}
}

@media screen and (max-width: 768px) {
	header {
		height: calc(((95/375)*100vw) + 20px);
	}
	
	header .header-inner_block {
		padding-block: 10px;
		top: -78px;
		height: calc(((95/375)*100vw) + 20px);
	}
	
	.mean-container a.meanmenu-reveal {
		margin-top: clamp(1px, calc(-0.01781 * 100vw + 14.676px), 8px);
		width: calc((31 / 375) * 100vw);
		font-weight: 400;
	}
	
	.mean-container a.meanmenu-reveal.meanclose {
		width: calc((31 / 375) * 100vw);
	}
	
	.mean-container a.meanmenu-reveal span {
		height: 1px;
		margin-top: calc((7/375)*100vw);
		margin-inline: 2.5px;
	}
	
	.mean-container a.meanmenu-reveal.meanclose span:nth-of-type(1) {
		top: calc((8/375)*100vw);
		transform: rotate(35deg);
	}
	
	.mean-container a.meanmenu-reveal.meanclose span:nth-of-type(2) {
        transform: rotate(-35deg);
    }
		
	.mean-container a.meanmenu-reveal div {
		margin-top: calc((2 / 375) * 100vw);
		font-size: calc((10 / 375) * 100vw);
	}

	.mean-container a.meanmenu-reveal.meanclose div {
		font-size: calc((10 / 375) * 100vw)  !important;
		margin-top: calc((-2 / 768) * 100vw);
	}
	
	.mean-container .mean-nav ul li a {
		min-width: calc(265px - 10%);
	}
	
	.header-gnavi_list li a:before {
		left: calc(0% - 15%);
	}
	
	.header-gnavi_list li a:hover:before, 
	toppage .header-gnavi_list li:nth-child(1) a:before,
	#about .header-gnavi_list li:nth-child(2) a:before,
	#care .header-gnavi_list li:nth-child(3) a:before,
	#assist .header-gnavi_list li:nth-child(4) a:before,
	#recruit .header-gnavi_list li:nth-child(5) a:before {
		left: calc(50% - 6.5em);
	}
}

/*--------------------------------------------------------------
 Main
--------------------------------------------------------------*/

main {
	background: #f9f0dc;
}

main section .inner-block {
	width: 100%;
	max-width: 1030px;
	margin-inline: auto;
	padding: 75px 15px 135px;
}

@media screen and (max-width: 768px) {
	main section .inner-block {
		padding-inline: calc((15/375)*100vw);
		padding-bottom: calc((80/375)*100vw);
	}
}

/* MV
--------------------------------------------------------------*/
main section.mv {
	background: linear-gradient(to top, #fff 0, #fff min(970px, calc((850/769)*100vw)), #a3dce5 min(970px, calc((850/769)*100vw)), #a3dce5 100%);
}

@media screen and (min-width: 2560px) {
	main section.mv {
		background: #a3dce5;
	}
}

main section.mv .inner-block {
	max-width: 1575px;
	padding-block: 0px; 
}

main section.mv .mv-top {
	background: url("../images/mv-top-bg.png");
	background-size: cover;
	background-repeat: no-repeat;
	background-position-x: center;
	background-position-y: calc((-195/1920)*100vw);
	margin-top: calc((-70/1920)*100vw);
	z-index: 1;
	position: relative;
	padding-bottom: 75px;
}

main section.mv .mv-top .inner-block {
	display: grid;
	grid-template-columns: min(720px, calc((720/1920)*100vw)) auto;
	grid-template-rows: auto 1fr;
	gap: 25px 30px;
	max-width: 1575px;
}

main section.mv .mv-top .inner-block .left-top {
	grid-column: 1/2;
	grid-row: 1/2;
	padding-top: 135px;
	padding-left: min(135px, calc((135/1920)*100vw)); 
	margin-bottom: 0;
}

main section.mv .mv-top .inner-block .left-top img {
	height: min(57px, calc((57/1920)*100vw));
}

main section.mv .mv-top .inner-block .left-bottom {
	grid-column: 1/2;
	grid-row: 2/3;	
	padding-left: 30px; 
	width: 500px;
}

main section.mv .mv-top .inner-block .right {
	grid-column: 2/3;
	grid-row: 1/3;	
}

main section.mv .mv-bottom {
	background: #fff;
	text-align: center;
	padding-bottom: 100px;
}

main section.mv .mv-bottom p {
	font-size: 1.125rem;
	margin-bottom: 0;
}

main section.mv .mv-bottom .green-txt {
	font-size: 1.5rem;
	font-weight: bold;
	color: #0091a0;
}

main section.mv .mv-bottom .pink-txt {
	font-size: 2.5rem;
	color: #f28fac;
}

main section.mv .mv-bottom ul {
	display: flex;
	gap: 0 30px;
	padding: 70px 170px 80px;
	position: relative;
}

main section.mv .mv-bottom ul:before {
	content: "";
	display: block;
	width: calc((155/1920)*100vw);
	height: calc((90/1920)*100vw);
	background: url("../images/mv-bottom-before.png");
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	top: max(40px, calc((25/1920)*100vw));
	left: min(420px, calc((340/1230)*100vw));
}

main section.mv .mv-bottom ul:after {
	content: "";
	display: block;
	width: calc((206/1920)*100vw);
	height: calc((130/1920)*100vw);
	background: url("../images/mv-bottom-after.png");
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	bottom: max(40px, calc((27/1920)*100vw));
	right: min(470px, calc((395/1230)*100vw));
}

main section.mv .mv-bottom .mv-bottom-text {
	margin-bottom: 60px;
}

main section.mv .mv-bottom a.button {
	background: #fcc0d3;
	max-width: 350px;
}

main section.mv .mv-bottom a.button:after {
	color: #e5638e;
}

main section.mv .mv-bottom a.button:hover {
	background: #e5638e;
}

main section.mv .mv-bottom a.button:hover:after {
	color: #fff;
}

@media screen and (max-width: 1230px) {
	main section.mv .mv-bottom p {
		font-size: 1rem;
	}
}

@media screen and (max-width: 768px) {	
	main section.mv {
		background: linear-gradient(to top, #fff 0, #fff calc((2755/768)*100vw), #a3dce5 calc((2755/768)*100vw), #a3dce5 100%);
		padding-top: calc((5/375)*100vw);
	}
	
	main section.mv .mv-top {
    	background-size: contain;
		margin-top: 0;
		background-position-y: calc((270 / 768) * 100vw);
		padding-bottom: calc((45/375)*100vw);
	}
	
	main section.mv .mv-top .inner-block {
		grid-template-columns: auto;
		grid-template-rows: auto auto auto;
		gap: calc((10 / 375) * 100vw) 0;
	}
	
	main section.mv .mv-top .inner-block .left-top {
		grid-column: 1/2;
		grid-row: 2/3;
		padding-top: calc((10 / 375) * 100vw);
    	padding-left: 0;
		padding-bottom: calc((2 / 375) * 100vw);
		display: flex;
        flex-direction: column;
        align-items: center;
        gap: 20px 0;
	}
	
	main section.mv .mv-top .inner-block .left-top img {
		height: calc((32 / 375) * 100vw);
		width: fit-content;
	}
	
	main section.mv .mv-top .inner-block .left-top img:nth-of-type(2) {
		max-width: calc((166/375)*100vw);
	}

	main section.mv .mv-top .inner-block .left-bottom {
		grid-column: 1/2;
		grid-row: 3/4;
		padding-left: 0px;
    	width: 100%;
		max-width: calc((236 / 375) * 100vw);
		margin-inline: auto;
	}

	main section.mv .mv-top .inner-block .right {
		grid-column: 1/2;
		grid-row: 1/2;
		width: 100%;
		max-width: calc((318/375)*100vw);
		margin-inline: auto;
	}
	
	main section.mv .mv-bottom {
		padding-bottom: calc((65/375)*100vw);
	}
	
	main section.mv .mv-bottom .green-txt {
		font-size: calc((20/375)*100vw);
	}
	
	main section.mv .mv-bottom .green-txt br.sp {
		display: block;
	}
	
	main section.mv .mv-bottom .pink-txt {
	    font-size: calc((34/375)*100vw);
		line-height: calc((20 * 1.8 / 375) * 100vw);
        display: inline-block;
        vertical-align: sub;
	}
	
	main section.mv .mv-bottom ul {
		flex-direction: column;
		padding: calc((75/375)*100vw) 0 calc((55/375)*100vw);
		gap: calc((25/375)*100vw) 0;
	}
	
	main section.mv .mv-bottom ul:before {
		width: calc((82 / 375) * 100vw);
		height: calc((47 / 375) * 100vw);
		top: calc((60 / 375) * 100vw);
		left: calc((170 / 375) * 100vw);
	}
	
	main section.mv .mv-bottom ul:after {
		width: calc((108 / 375) * 100vw);
		height: calc((68 / 375) * 100vw);
		top: calc((260 / 375) * 100vw);
		left: calc((75 / 375) * 100vw);		
	}
	
	main section.mv .mv-bottom ul li {
		width: calc((200/375)*100vw);
	}
	
	main section.mv .mv-bottom ul li:nth-child(1) {
		padding-left: 15px;
	}

	main section.mv .mv-bottom ul li:nth-child(2) {
		margin-left: auto;
		padding-right: 5px;
	}

	main section.mv .mv-bottom ul li:nth-child(3) {
		padding-left: 25px;
	}
	
	main section.mv .mv-bottom .mv-bottom-text {
		font-size: calc((16/375)*100vw);
		margin-bottom: calc((45/375)*100vw);
	}
	
	main section.mv .mv-bottom .mv-bottom-text br.sp {
		display: block;
	}
	
	main section.mv .mv-bottom a.button {
		max-width: calc((260/375)*100vw);
		height: calc((60/375)*100vw);
		font-size: calc((18/375)*100vw);
		border-radius: calc((30/375)*100vw);
	}
}

@media screen and (max-width: 630px) {	
	main section.mv {
		background: linear-gradient(to top, #fff 0, #fff calc((2370/630)*100vw), #a3dce5 calc((2370/630)*100vw), #a3dce5 100%);
		padding-top: calc((5/375)*100vw);
	}
}

/* available
---------------------------------------------------------*/
.available ul {
	display: flex;
	gap: 0 40px;
	margin-bottom: 105px;
}

.available ul li {
	background: #fff;
	border-radius: 50px;
	padding: 60px 20px 30px;
}

.available ul li dl {
	display: block;
}

.available ul li dl dt {
	text-align: center;
	font-size: 1.25rem;
	font-weight: bold;
	margin-bottom: 25px;
	line-height: 1.4;
	position: relative;
}

.available ul li dl dt:before {
	content: "";
	display: block;
	width: 100px;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

.available ul li.dream dl dt:before {
	height: 57px;
	background: url("../images/available-dream-before.png");
	background-size: contain;
	background-repeat: no-repeat;
	top: -85px;
}

.available ul li.smile dl dt:before {
	height: 52px;
	background: url("../images/available-smile-before.png");
	background-size: contain;
	background-repeat: no-repeat;
	top: -75px;
}

.available ul li dl dt span {
	display: block;
	font-size: 1.875rem;
}

.available ul li.dream dl dt span {
	color: #ff9100;
}

.available ul li.smile dl dt span {
	color: #1a9980;
}

.available ul li dl dd p {
	text-align: center;
	font-size: 1.125rem;
	height: 147px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin-block: 30px;
}

.available ul li.dream dl dd a.button {
	background: #ffd788;
}

.available ul li.dream dl dd a.button:after {
	color: #ff9100;
}

.available ul li.dream dl dd a.button:hover {
	background: #ff9100;
}

.available ul li.dream dl dd a.button:hover:after {
	color: #fff;
}

.available ul li.smile dl dd a.button {
	background: #cde897;
}

.available ul li.smile dl dd a.button:after {
	color: #1a9980;
}

.available ul li.smile dl dd a.button:hover {
	background: #1a9980;
}

.available ul li.smile dl dd a.button:hover:after {
	color: #fff;
}

@media screen and (max-width: 1230px) {
	.available ul li dl dd p {
		font-size: 0.875rem;
	}
}

@media screen and (max-width: 768px) {
	.available h2 {
		display: flex;
		flex-direction: column;
		align-items: center;
		font-size: calc((23/375)*100vw);
	}
	
	.available h2:after {
		width: calc((160/375)*100vw);
		height: calc((5/375)*100vw);
		margin-block: calc((25/375)*100vw) calc((65/375)*100vw);
		background-position: center;
	}
	
	.available h2 img {
		width: calc((165/375)*100vw);
	}
	
	.available ul {
    	flex-direction: column;
		gap: calc((70/375)*100vw) 0; 
		margin-bottom: calc((75/375)*100vw);
	}
	
	.available ul li {
		padding: calc((50/375)*100vw) calc((10/375)*100vw) calc((25/375)*100vw);
		border-radius: calc((50/375)*100vw);
	}
	
	.available ul li dl dt {
		font-size: calc((16/375)*100vw);
		margin-bottom: calc((15/375)*100vw);
	}
	
	.available ul li dl dt span {
		font-size: calc((30/375)*100vw);
	}
	
	.available ul li.dream dl dt:before {
		width: calc((125/375)*100vw);
		height: calc((68/375)*100vw);
		top: calc((-87/375)*100vw);
	}
	
	.available ul li.smile dl dt:before {
		width: calc((120/375)*100vw);
		height: calc((62/375)*100vw);
		top: calc((-77/375)*100vw);
	}
	
	.available ul li dl dd img {
		width: calc(100% - ((20/375)*100vw));
		display: block;
		margin-inline: auto;
	}

	.available ul li dl dd p {
		font-size: calc((16/375)*100vw);
		height: auto;
		margin-block: calc((15/375)*100vw) calc((25/375)*100vw);
	}
		
	.available ul li.smile dl dd p {
		margin-block: calc((35/375)*100vw) calc((40/375)*100vw);
	}
	
	.available ul li dl dd a.button {
		max-width: calc((260/375)*100vw);
		height: calc((60/375)*100vw);
		border-radius: calc((30/375)*100vw);
	}
}

/* top-recruit
---------------------------------------------------------*/
.top-recruit p {
	text-align: center;
	margin-bottom: 50px;
	font-size: 1.125rem;
	line-height: 2;
}

.top-recruit div {
	background: #fff;
	border-radius: 50px;
	padding: 15px 20px 20px;
	display: flex;
	align-items: center;
}

.top-recruit div a.button {
	background: #fff48d;
}

.top-recruit div a.button:after {
	color: #d19500;
}

.top-recruit div a.button:hover {
	background: #ddbd03;
}

.top-recruit div a.button:hover:after {
	color: #fff;
}


.top-recruit div a img {
	width: 525px;
}

@media screen and (max-width: 1230px) {
	.top-recruit p {
		font-size: 1rem;
	}
}

@media screen and (max-width: 768px) {
	.top-recruit h2 {
		display: flex;
		flex-direction: column;
		align-items: center;
		font-size: calc((23/375)*100vw);
	}
	
	.top-recruit h2 img {
		width: calc((165/375)*100vw);
	}
	
	.top-recruit h2:after {
		width: calc((160/375)*100vw);
		height: calc((5/375)*100vw);
		margin-block: calc((20/375)*100vw) calc((30/375)*100vw);
		background-position: center;
	}
	
	.top-recruit p {
		font-size: calc((16/375)*100vw);
		margin-bottom: calc((40/375)*100vw);
	}
	
	.top-recruit p br.sp {
		display: block;
	}
	
	.top-recruit div {
		flex-direction: column;
		border-radius: calc((50/375)*100vw);
		padding: calc((55/375)*100vw) calc((15/375)*100vw) calc((35/375)*100vw);
		gap: calc((60/375)*100vw) 0;
	}
	
	.top-recruit div a img {
		width: 100%;
		position: relative;
		left: -15px;
	}
}

/*--------------------------------------------------------------
 Footer
--------------------------------------------------------------*/
footer {
	background: #3cb0bc;
	color: #fff;
	position: relative;
}

footer:before {
	content: "";
	display: block;
	width: 100%;
	height: calc((100/1920)*100vw);
	background: url("../images/footer-before.png");
	background-size: cover;
	background-position: top;
	background-repeat: no-repeat;
	position: absolute;
	top: calc((-50/1920)*100vw);
	left: 50%;
	transform: translateX(-50%);
}

footer a,
footer a:hover {
	color: #fff;
}

footer .footer-inner_block {
	max-width: 920px;
	margin-inline: auto;
	padding: 90px 15px 25px;
	gap: 30px;
	text-align: center;
	position: relative;
}

footer .footer-inner_block:before {
	content: "";
	background: url("../images/footer-inner_block-before.png");
	height: 70px;
	width: max(100px, calc((104/1920)*100vw));
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	position: absolute;
	bottom: 45px;
	left: 15px;
}

footer .footer-inner_block:after {
	content: "";
	background: url("../images/footer-inner_block-after.png");
	height: 65px;
	width: max(100px, calc((113/1920)*100vw));
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	position: absolute;
	bottom: 35px;
	right: 15px;
}

footer .footer-inner_block .footer-logo img {
	width: 180px;
	margin-bottom: 15px;
}

footer .footer-inner_block .footer-info address {
	display: flex;
	justify-content: center;
}

footer .footer-inner_block .footer-info .tel {
	font-size: 1.375rem;
	font-weight: bold;
}

footer .footer-inner_block .footer-nav_list {
	display: flex;
	justify-content: center;
	padding-block: 35px;
}

footer .footer-inner_block .footer-nav_list li {
	margin-right: 1.5em;
	padding-right: 1.5em;
	border-right: 1px solid #fff;
	line-height: 1;
	font-weight: bold;
}

footer .footer-inner_block .footer-nav_list li:last-child {
	margin-right: 0em;
	padding-right: 0em;
	border-right: none;
}

footer .footer-inner_block .footer-copyright {
	font-size: 0.75rem;
}

footer .footer-inner_block .pagetop {
	width: 60px;
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 500;
}

footer .footer-inner_block .pagetop img {
	max-width: 60px;
}

@media screen and (max-width: 768px) {
	footer .footer-inner_block{
		padding: min(90px, calc((40/375)*100vw)) 15px min(25px, calc((15/375)*100vw));
	}
	
	footer .footer-inner_block .footer-logo img {
		width: min(180px, calc((150/375)*100vw));
	}
	
	footer .footer-inner_block .footer-info .tel {
		font-size: min(22px, calc((20/375)*100vw));
		line-height: 20px;
	}
	
	footer .footer-inner_block:before {
		left: calc((20/375)*100vw);
		bottom: 80px;
	}

	footer .footer-inner_block:after {
		right: calc((20/375)*100vw);
		bottom: 80px;
	}

	footer .footer-inner_block .footer-nav_list {
		gap: calc((15/375)*100vw);
		flex-wrap: wrap;
		justify-content: flex-start;
		max-width: calc((335/375)*100vw);
		margin-inline: auto;
		padding-bottom: 115px;
	}
	
	footer .footer-inner_block .footer-nav_list li {
		width: calc((100% - (16/375)*100vw)/2);
		margin-right: 0;
		padding-right: 0;
		border-right: none;
	}
	
	footer .footer-inner_block .footer-nav_list li a {
		border: 1px solid #fff;
		height: 45px;
		width: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 22.5px;
	}
	
	footer .footer-inner_block .footer-nav_list li a:hover {
		background: #fff;
		color: #3cb0bc;
		text-decoration: none;
	}
	
	footer .footer-inner_block .footer-copyright {
		text-align: left;
		font-size: min(12px, calc((11/375)*100vw));
	}
	
	footer .footer-inner_block .footer-copyright br.sp {
		display: block;
	}
	
	footer .footer-inner_block .pagetop {
		width: 40px;
		right: calc((20/768)*100vw);
    	bottom: calc((20/768)*100vw);
	}
	
	footer .footer-inner_block .pagetop img {
		max-width: 40px;
	}
}


/*--------------------------------------------------------------
 body.inside
--------------------------------------------------------------*/

.inside h1 {
	font-size: 3.125rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: -25px;
	position: relative;
}

.inside h1:before {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}

.inside h2 {
	color: #515151;
	padding-top: 80px;
	letter-spacing: 0;
}

.inside h2:after {
	margin: 25px auto 40px;
}

.inside h3 {
	font-size: 1.75rem;
	color: #1a9980;
	text-align: center;
	margin-bottom: 30px;
}

.inside p {
	font-size: 1.125rem;
}

.inside dt {
	font-size: 1.25rem;
	font-weight: bold;
	padding: 12px 20px 11px 11px;
	min-height: 60px;
	border-bottom: 1px solid #ccc;
}

.inside dd {
	font-size: 1.125rem;
	padding: 13px 20px;
	min-height: 60px;
	border-bottom: 1px solid #ccc;
}

.inside dd:has(a.tel) {
	padding: 7px 20px 8px;
}

.inside dd a.tel {
	font-size: 1.5rem;
	font-weight: bold;
}

.inside .white-box {
	background: #fff;
	border-radius: 50px;
	padding: 50px;
}

.inside section.mv {
	background: #f9f0dc;
	position: relative;
	padding-top: 120px;
	padding-bottom: 0;
}

.inside section.mv:before {
	content: "";
	display: block;
	width: 100%;
	height: 230px;
	background: url("../images/inside-mv-before.png"), #a3dce5;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: top;
	position: absolute;
	top: -115px;
}

.inside section {
	padding-bottom: 135px;
}

.inside section .access dl dt,
.inside section #access dl dt {
	width: 85px;
}

.inside section .access dl dd,
.inside section #access dl dd {
	width: calc(100% - 85px);	
}

.inside section .zip {
	margin-right: 1em;
}

.inside section .access iframe,
.inside section #access iframe {
	width: 100%;
	height: 500px;
	border-radius: 30px;
	margin-top: 40px;
	margin-bottom: -9px;
}

@media screen and (max-width: 768px) {
	.inside h2 {
		font-size: min(28px, calc((24/375)*100vw));
		padding-top: min(30px, calc((72/375)*100vw));
	}
	
	.inside h2 span {
		white-space: nowrap;
	}
	
	.inside h2:after {
	    margin: min(35px, calc((25/375)*100vw)) auto min(50px, calc((30/375)*100vw));
	}
	
	.inside h3 {
		font-size: min(28px, calc((24/375)*100vw));
	}
	
	.inside p {
		font-size: min(18px, calc((16/375)*100vw));
	}
	
	.inside dt {
		font-size: 1rem;
		min-height: 50px;
	}

	.inside dd {
		font-size: 0.875rem;
		min-height: 50px;
	}
	
	.inside dd a.tel {
		font-size: 1.25rem;
	}
	
	.inside .white-box {
		padding: min(50px, calc((25 / 375) * 100vw)) min(50px, calc((19 / 375) * 100vw));
        border-radius: 40px;
	}
	
	.inside section.mv {
		padding-top: min(187px, calc((113/375)*100vw));
		background: linear-gradient(to top, #f9f0dc 0, #f9f0dc 175px, #a3dce5 175px, #a3dce5 100%);
	}
	
	.inside section.mv:before {
		height: calc((69/375)*100vw);
		background: url("../images/inside-mv-before-sp.png"), linear-gradient(to bottom, #a3dce5 0, #a3dce5 50%, #f9f0dc 50%, #f9f0dc 100%);
		background-size: cover;
		background-repeat: no-repeat;
		background-position: top;
		top: 47px;
	}

	.inside section .access dl dt,
	.inside section #access dl dt {
		width: 65px;
	}

	.inside section .access dl dd,
	.inside section #access dl dd {
		width: calc(100% - 65px);	
	}
	
	.inside h1 {
		font-size: min(50px, calc((34/375)*100vw));
	}
	
	.inside section .zip {
		display: block;
	}
	
	.address span {
		white-space: nowrap;
	}
	
	.inside section .access iframe, 
	.inside section #access iframe {
		height: calc((200/375)*100vw);
	}
}

@media screen and (max-width: 375px) {
	.inside section.mv {
		background: linear-gradient(to top, #f9f0dc 0, #f9f0dc 155px, #a3dce5 155px, #a3dce5 100%);
	}
}

/* breadcrumbs
---------------------------------------------------------*/
.inside section .breadcrumbs-area {
	width: 100%;
	overflow: hidden;
	max-width: 1230px;
	margin: 0 auto 50px;
	padding: 0 15px;
	color: #515151;
	font-size: 1rem;
	position: relative;
	z-index: 1;
}

.inside section .breadcrumbs-area a {
	color: #515151;
}

.inside section .breadcrumbs-area a:after {
	display: inline-block;
	content: ">";
	margin-inline: 0.25em;
}

@media screen and (max-width: 768px) {
	.inside section .breadcrumbs-area {
		font-size: 0.875rem;
		margin-bottom: 40px;
		background: #f9f0dc;
	}
}

.inside section h1,
.inside section div {
	width: 100%;
	max-width: 1030px;
	margin-inline: auto;
	margin-bottom: 40px;
	padding-inline: 15px;
}

/*--------------------------------------------------------------
 #about
--------------------------------------------------------------*/

#about h1,
#about .access dl dt,
#about #access dl dt {
	color: #e5638e;
}

#about .philosophy p,
#about .twenty-years p {
	width: 100%;
	max-width: 900px;
	margin: 0 auto 10px;
}

#about h1:before {
	background: url("../images/about-h1-before.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	width: 180px;
	height: 136px;
	top: -218px;
}

#about .philosophy figure {
	display: block;
	width: 75%;
	margin: 0 auto 10px;
}

#about .motto .white-box ul {
	margin-top: 45px;
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
}

#about .motto .white-box ul li {
	max-width: 291.5px;
	margin-inline: auto;
}

#about .twenty-years ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: min(20px, calc((40/1920)*100vw)) min(25px, calc((50/1920)*100vw));
	margin-top: 80px;
}

#about .twenty-years ul li {
	width: calc((100% - 100px)/3);
}

@media screen and (max-width: 768px) {
	#about .philosophy p, 
	#about .twenty-years p {
		margin-bottom: 25px;
	}
	
	#about h1:before {
		width: min(180px, calc((120/375)*100vw));
		height: min(136px, calc((90/375)*100vw));
		top: calc(-173px + (-0.4) * clamp(0px, calc(100vw - 375px), 50px) + (-0.3268292683) * clamp(0px, calc(100vw - 425px), 205px) + ( 0.0579710145) * clamp(0px, calc(100vw - 630px), 138px));
	}
		
	#about .philosophy figure {
		width: 100%;
		padding: 0;
		background: #f1f4f3;
		border-radius: 30px;
		margin-bottom: 0;
		overflow: hidden;
	}
	
	#about .twenty-years ul {
		margin-top: 0;
	}
	
	#about .twenty-years ul li {
		min-width: calc((100% - 50px)/2);
	}
}

/*--------------------------------------------------------------
 #care
--------------------------------------------------------------*/
#care h1,
#care h2 span,
#care .intro .border-box span,
#care .access dl dt,
#care #access dl dt {
	color: #ff9100;
}

#care .intro .border-box span,
#care .target .white-box span {
	color: #ff9100;
	font-weight: bold;
}

#care h1 {
	margin-bottom: 0px;
	padding-bottom: 55px;
}

#care h1:before {
	background: url("../images/care-h1-before.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	width: 180px;
	height: 102px;
	top: -182px;
}

#care h2 span {
	display: block;
	font-size: 2.375rem;
}

#care .intro figure {
	max-width: 75%;
	margin-inline: auto;
	position: relative;
}

#care .intro figure:after {
	content: "";
	display: block;
	background: url("../images/icon-cloud.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	width: 271px;
	height: 171px;
	position: absolute;
	left: -65px;
	bottom: -50px;
}

#care .intro h2 {
	display: block;
	padding-top: 50px;
}

#care .intro p {
	width: 100%;
	max-width: 900px;
	margin-inline: auto;
}

#care .intro .border-box {
	border: 2px solid #ff9100;
	border-radius: 50px;
	font-size: 1.125rem;
	text-align: center;
	padding: 35px;
	margin: 30px auto -40px;
}

#care .intro .border-box span {
	display: block;
	font-size: 1.625rem;
	margin-bottom: 10px;
}

#care .target .white-box p {
	margin-bottom: 0;
}

#care .target .white-box p span {
	display: block;
	margin-block: 10px;
	font-size: 1.375rem;
	padding-left: 1.25em;
}

#care .target .white-box p span:before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #f39800;
	vertical-align: -2px;
	margin-left: -1.75rem;
	margin-right: 0.5rem;
}

#care .main-activity {
	text-align: center;
}

#care .main-activity ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: min(15px, calc((30/1920)*100vw)) min(25px, calc((50/1920)*100vw));
	margin-top: 60px;
}

#care .main-activity ul li {
	width: calc((100% - 100px)/3);
}

#care .hour-capacity dt:last-of-type,
#care .hour-capacity dd:last-of-type {
	border-bottom: none;
}

#care .hour-capacity dt {
	min-width: 200px;
	font-size: 1.125rem;
	padding: 12px 8px 11px 6px;
}

#care .hour-capacity dt:before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #f39800;
	vertical-align: -3.5px;
}

#care .hour-capacity dd {
	width: calc(100% - 200px);
	padding-inline: 15px;
}

#care .time-table * {
	border-color: #ffb65f;
}

#care .time-table .table table {
	background: #fffce9;
}

#care .time-table .table table thead tr {
	background: #ff9100;
}

#care .time-table .table table tbody tr th {
	background: #ffe5b6;
	width: calc(100%/3);
}

#care .time-table .table table tbody tr th:before {
	content: "";
	display: inline-block;
	background: url("../images/icon-clock.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	width: 30px;
	height: 29px;
	vertical-align: bottom;
	margin-right: 15px;
}

#care .time-table .table table tbody tr td {
	width: calc(100%/3*2);
	padding-inline: 1em;
}

#care .time-table .table table tbody tr td span {
	white-space: nowrap;
}

@media screen and (max-width: 768px) {
	#care.inside section.mv {
		background: linear-gradient(to top, #f9f0dc 0, #f9f0dc 216px, #a3dce5 216px, #a3dce5 100%);
	}
	
	#care h1:before {
		width: min(180px, calc((120 / 375) * 100vw));
        height: min(102px, calc((68 / 375) * 100vw));
		top: calc(-150px + (-0.36) * clamp(0px, calc(100vw - 375px), 50px) + (-0.29268) * clamp(0px, calc(100vw - 425px), 205px) + (0.02174) * clamp(0px, calc(100vw - 630px), 138px));
	}
	
	#care .intro figure:after {
		width: calc((271/768)*100vw);
		height: calc((171/768)*100vw);
		left: calc((-65/768)*100vw);
    	bottom: calc((-50/768)*100vw);
	}
	
	#care h2 span {
		font-size: 2rem;
	}
	
	#care .intro .border-box {
		margin-bottom: 0;
		font-size: 1rem;
	}
	
	#care .intro .border-box span {
		font-size: 1.5rem;
	}
	
	#care .intro .border-box .nowrap {
		white-space: nowrap;
	}
	
	#care .target .white-box p {
		font-size: min(18px, calc((14 / 375) * 100vw));
	}
	
	#care .target .white-box p span {
		font-size: 1rem;
		padding-left: 1.25em;
	}
	
	#care .target .white-box p span:before {
		width: 1rem;
		height: 1rem;
		margin-left: -1.25em;
        margin-right: 0.25em;
	}
	
	#care .main-activity ul li {
		min-width: calc((100% - 50px)/2);
	}
	
	#care .main-activity ul li figcaption {
		font-size: 0.875rem;
	}
	
	#care .hour-capacity dt {
		font-size: 1rem;
		min-width: 100%;
		border-bottom: none;
		padding-bottom: 0;
		min-height: auto;
	}
	
	#care .hour-capacity dt:before {
		width: 1rem;
    	height: 1rem;
		vertical-align: -2px;
	}
	
	#care .hour-capacity dd {
		font-size: 0.875rem;
		min-width: 100%;
		min-height: auto;
	}
	
	#care .time-table .table table tbody tr th {
		width: calc(100% / 5 * 2);
	}
	
	#care .time-table .table table tbody tr th:before {
		width: 1.5rem;
		margin-right: 0.5rem;
	}
	
	#care .time-table .table table tbody tr td {
		width: calc(100% / 5 * 3);
		font-size: 0.875rem;
	}
}

@media screen and (max-width: 375px) {
	#care.inside section.mv {
		background: linear-gradient(to top, #f9f0dc 0, #f9f0dc 165px, #a3dce5 165px, #a3dce5 100%);
	}
}


/*--------------------------------------------------------------
 #assist
--------------------------------------------------------------*/

#assist h1,
#assist h2 span,
#assist .intro .border-box span,
#assist .access dl dt,
#assist #access dl dt {
	color: #1a9980;
}

#assist .target .white-box span {
	color: #1a9980;
	font-weight: bold;
}

#assist h1 {
	margin-bottom: 0px;
	padding-bottom: 55px;
}

#assist h1:before {
	background: url("../images/assist-h1-before.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	width: 170px;
	height: 88px;
	top: -151px;
}

#assist h2 span {
	display: block;
	font-size: 2.375rem;
}

#assist .intro figure {
	max-width: 75%;
	margin-inline: auto;
	position: relative;
}

#assist .intro figure:after {
	content: "";
	display: block;
	background: url("../images/icon-cloud.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	width: 271px;
	height: 171px;
	position: absolute;
	left: -65px;
	bottom: -50px;
}

#assist .intro h2 {
	display: block;
	padding-top: 50px;
}

#assist .intro p {
	width: 100%;
	max-width: 900px;
	margin-inline: auto;
}

#assist .intro .three-photos {
	display: flex;
	max-width: 850px;
	justify-content: space-between;
	margin-inline: auto;
	margin-top: 45px;
	gap: 0 50px;
}

#assist .intro .three-photos li {
	max-width: 210px;
}

#assist .target .white-box p {
	margin-bottom: 0;
}

#assist .target .white-box p span {
	display: block;
	margin-block: 10px;
	font-size: 1.375rem;
	padding-left: 1.25em;
}

#assist .target .white-box p span:before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #1a9980;
	vertical-align: -2px;
	margin-left: -1.75rem;
	margin-right: 0.5rem;
}

#assist .main-service h2:after {
	margin-bottom: 35px;
}

#assist .main-service p {
	max-width: 900px;
	margin-inline: auto;
	margin-bottom: 35px;
}

#assist .main-service .three-photos {
	display: flex;
	margin: 30px auto 45px;
	max-width: 1000px;
	justify-content: space-between;
	gap: 0 50px;
}

#assist .main-service .three-photos li {
	max-width: 300px;
}

#assist .facility-info dl dt,
#assist .facility-info dl dd {
	font-size: 1.125rem;
}

#assist .facility-info dl dt:last-of-type,
#assist .facility-info dl dd:last-of-type {
	border-bottom: none;
}

#assist .facility-info dl dt {
	width: 200px;
	padding: 12px 7px 14px;
}

#assist .facility-info dl dt:before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #1a9980;
	vertical-align: -3.5px;
	margin-right: 3px;
}

#assist .facility-info dl dd {
	width: calc(100% - 200px);
	padding: 12px 15px 14px;
}

#assist .price * {
	border-color: #43aa96;
}

#assist .price .table table {
	background: #fffce9;
}

#assist .price .table table tbody tr th {
	background: #deefb4;
	width: calc(100%/3);
}

#assist .price .table table tbody tr td {
	width: calc(100%/3*2);
	padding-inline: 1em;
}

#assist .price .notice {
	width: 100%;
	max-width: 900px;
	margin: 30px auto 50px;
	padding-left: 1.25em;
}

#assist .price .notice li:before {
	content: "※";
	display: inline-block;
	margin-left: -1.25em;
}

#assist #access h2 {
	padding-top: 50px;
}

@media screen and (max-width: 768px) {
	#assist.inside section.mv {
		background: linear-gradient(to top, #f9f0dc 0, #f9f0dc 281px, #a3dce5 281px, #a3dce5 100%);
	}

	#assist h1:before {
		width: min(170px, calc((114 / 375) * 100vw));
        height: min(88px, calc((59 / 375) * 100vw));
		top: calc(-134px + (-0.3) * clamp(0px, calc(100vw - 375px), 50px) + (-0.26829)   * clamp(0px, calc(100vw - 425px), 205px) + ( 0.05072) * clamp(0px, calc(100vw - 630px), 138px));
	}
	
	#assist .intro figure:after {
		width: calc((271/768)*100vw);
		height: calc((171/768)*100vw);
		left: calc((-65/768)*100vw);
    	bottom: calc((-50/768)*100vw);
	}

	#assist h2 br.sp {
		display: block;
	}
	
	#assist h2 span {
		font-size: 2rem;
	}

	#assist .intro .three-photos {
		gap: 0 15px;
	}	
	
	#assist .target .white-box p {
		font-size: min(18px, calc((14 / 375) * 100vw));
	}
	
	#assist .target .white-box p span {
		font-size: 1rem;
		padding-left: 1.25em;
	}
	
	#assist .target .white-box p span:before {
		width: 1rem;
		height: 1rem;
		margin-left: -1.25em;
        margin-right: 0.5em;
	}

	#assist .main-service .three-photos {
		gap: 0 15px;
	}	
	
	#assist .facility-info dl dt {
		font-size: 1rem;
        min-width: 100%;
        border-bottom: none;
        padding-bottom: 0;
        min-height: auto;
	}
	
	#assist .facility-info dl dt:before {
		width: 1rem;
        height: 1rem;
        vertical-align: -2px;
    }
	
	#assist .facility-info dl dd {
		font-size: 0.875rem;
        min-width: 100%;
        min-height: auto;
	}
	
	#assist .price .table table tbody tr th {
		width: calc(100% / 5 * 2);
	}
	
	#assist .price .table table tbody tr td {
		width: calc(100% / 5 * 3);
	}
	
	#assist .price .table table tbody tr td span {
		white-space: nowrap;
	}
}
	
@media screen and (max-width: 375px) {
	#assist.inside section.mv {
		background: linear-gradient(to top, #f9f0dc 0, #f9f0dc 190px, #a3dce5 190px, #a3dce5 100%);
	}
}

/*--------------------------------------------------------------
 #recruit
--------------------------------------------------------------*/

#recruit h1,
#recruit h2 span,
#recruit h3,
#recruit .intro .border-box span,
#recruit .access dl dt,
#recruit #access dl dt {
	color: #0091a0;
}

#recruit .three-points.white-box dt,
#recruit .atmosphere .white-box span {
	color: #0091a0;
	font-weight: bold;
}

#recruit h1:before {
	background: url("../images/recruit-h1-before.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	width: 200px;
	height: 120px;
	top: -170px;
}

#recruit .intro p,
#recruit .intro img {
	width: 100%;
	max-width: 900px;
	margin-inline: auto;
	display: block;
}

#recruit .intro img {
	margin-block: 50px 0; 
}

#recruit .three-points li {
	display: flex;
	margin-bottom: 30px;
	gap: 0 40px;
}

#recruit .three-points li:last-child {
	margin-bottom: 0;
}

#recruit .three-points li img {
	width: 300px;
}

#recruit .three-points li dl {
	display: block;
	margin-top: 30px;
}

#recruit .three-points li dl dt,
#recruit .three-points li dl dd {
	padding: 0;
	min-height: inherit;
	border-bottom: none;
}

#recruit .three-points li dl dt {
	font-size: 1.375rem;
	line-height: 135%;
	color: #0091a0;
	margin-bottom: 15px;
}

#recruit .requirements * {
	border-color: #38a3a8;
}

#recruit .requirements .table {
	margin-bottom: 60px;
}

#recruit .requirements .table table {
	background: #fffce9;
}

#recruit .requirements .table table tbody tr th {
	background: #c5ecef;
	width: calc(100%/3);
	height: 75px;
}

#recruit .requirements .table table tbody tr td {
	width: calc(100%/3*2);
	padding: 20px 1em;
}

#recruit .requirements .table table tbody tr td span {
	white-space: nowrap;
}

#recruit .atmosphere h2 {
	padding-top: 50px;
}

#recruit .atmosphere .white-box span {
	display: block;
	margin-bottom: 15px;
	font-size: 1.375rem;
	font-weight: bold;
	padding-left: 1.25em;
}

#recruit .atmosphere .white-box span:before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #0091a0;
	vertical-align: -2px;
	margin-right: 0.5rem;
	margin-left: -1.75rem
}

#recruit .atmosphere .white-box ul {
	display: flex;
	gap: 0 30px;
	margin-top: 35px;
}

#recruit .work-place h2 {
	padding-top: 80px;
}

#recruit .work-place .white-box ul {
	display: flex;
	gap: 0 40px;
}

#recruit .work-place .white-box ul li dl dt,
#recruit .work-place .white-box ul li dl dd {
	text-align: center;
	width: 100%;
	border-bottom: none;
	padding: 0;
}

#recruit .work-place .white-box ul li dl dt {
	margin-bottom: 10px;
}

#recruit .work-place .white-box ul li dl dt span {
	font-size: 30px;
	display: block;
}

#recruit .work-place .white-box ul li.dream dl dt span {
	color: #ff9100;
}

#recruit .work-place .white-box ul li.smile dl dt span {
	color: #1a9980;
}

#recruit .work-place .white-box ul li dl dd .zip {
	margin-right: 0;
	display: block;
}

#recruit .work-place .white-box ul li dl dd a.button {
	margin-block: 15px 30px;
	max-width: 220px;
	height: 40px;
	font-size: 1rem;
}

#recruit .work-place .white-box ul li dl dd a.button:after {
	right: 20px;
	font-size: 1.125rem;
	margin-top: 2px;
}

#recruit .work-place .white-box ul li.dream dl dd a.button {
	background: #ffd788;
}

#recruit .work-place .white-box ul li.dream dl dd a.button:after {
	color: #ff9100;
}

#recruit .work-place .white-box ul li.dream dl dd a.button:hover {
	background: #ff9100;
}

#recruit .work-place .white-box ul li.dream dl dd a.button:hover:after {
	color: #fff;
}

#recruit .work-place .white-box ul li.smile dl dd a.button {
	background: #cde897;
}

#recruit .work-place .white-box ul li.smile dl dd a.button:after {
	color: #1a9980;
}

#recruit .work-place .white-box ul li.smile dl dd a.button:hover {
	background: #1a9980;
}

#recruit .work-place .white-box ul li.smile dl dd a.button:hover:after {
	color: #fff;
}

#recruit .access h2:after {
	margin-bottom: 30px;
}

#recruit .access p {
	width: 100%;
	max-width: 900px;
	margin-inline: auto;
	margin-bottom: 55px;
}

#recruit .access dl dt {
	width: 110px;
	padding: 10px;
}

#recruit .access dl dt:last-of-type,
#recruit .access dl dd:last-of-type {
	border-bottom: none;
}


#recruit .access dl dd {
	width: calc(100% - 110px);
}

#recruit .access dl dd a[href^="mailto:"] {
	text-decoration: underline;
	text-underline-offset: 0.5rem;	
}

#recruit .access dl dd a[href^="mailto:"]:hover {
	text-decoration: none;
}

@media screen and (max-width: 768px) {
	#recruit h1:before {
		width: min(200px, calc((133 / 375) * 100vw));
        height: min(120px, calc((80 / 375) * 100vw));
		top: calc(-148px + (-0.36) * clamp(0px, calc(100vw - 375px), 50px) + (-0.29268)   * clamp(0px, calc(100vw - 425px), 205px) + ( 0.04348) * clamp(0px, calc(100vw - 630px), 138px));
	}
	
	#recruit .intro h2 br.sp {
		display: block;
	}
	
	#recruit .intro h2 span {
		white-space: nowrap;
		color: #515151;
	}
	
	#recruit .three-points li {
		flex-wrap: wrap;
	}
	
	#recruit .three-points li img,
	#recruit .three-points li dl {
		margin-inline: auto;
	}
	
	#recruit .three-points li dl dt {
	font-size: 1.2rem;
	}
	
	#recruit .requirements .table table tbody tr th {
		width: 35%;
	}
	
	#recruit .requirements .table table tbody tr td {
		width: 65%;
		text-align: left;
	}
	
	#recruit .requirements .table table tbody tr.salary td br.sp,
	#recruit .requirements .table table tbody tr.employee-benefits td br.sp {
		display: none;
	}
	
	#recruit .atmosphere .white-box span {
		font-size: 1rem;
        padding-left: 1.25em;
	}
	
	#recruit .atmosphere .white-box span:before {
        width: 1rem;
        height: 1rem;
        margin-left: -1.25em;
        margin-right: 0.25em;
    }
	
	#recruit .atmosphere .white-box ul {
		flex-wrap: wrap;
		gap: 30px;
		justify-content: center;
    }
	
	#recruit .atmosphere .white-box ul li {
		max-width: 290px;
	}
	
	#recruit .work-place .white-box ul {
		flex-wrap: wrap;
		gap: 40px;
	}
	
	#recruit .access p {
		margin-bottom: 25px;
	}
	
	#recruit .access dl dt {
		width: 90px;
	}

	#recruit .access dl dd {
		width: calc(100% - 90px);
		padding-inline: 0;
	}

	#recruit .access dl dd span {
		white-space: nowrap;
	}
}