@charset "UTF-8";



/* fv
---------------------------------------------------------*/
.l-fv__ttl {
	width: 100%;
	padding: 0 3%;
	height: min(220px,16vw);
	text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.l-fv__ttl .ft_min {
	font-size: var(--fs-50);
	letter-spacing: .1em;
	line-height: 1.4em;
}
.l-fv__ttl .ft_en {
	color: var(--color-corporate);
	font-size: var(--fs-20);
	letter-spacing: .08em;
	line-height: 1.4em;
}
.l-fv__ttl .ft_min:has(+.ft_en) {
	margin-bottom: .3em;
}
.l-fv__img {
	width: 94%;
	margin-inline: auto;
	height: min(480px,32vw);
	background-image: url("../images/access/fv.jpg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.l-fv__ttl .ft_min:has(+.ft_en) {
	margin-bottom: 0;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) {
.l-fv__ttl {
	height: 30vw;
}
.l-fv__ttl .ft_min {
	font-size: var(--fs-35);
	letter-spacing: .05em;
}
.l-fv__ttl .ft_en {
	font-size: var(--fs-12);
	letter-spacing: .04em;
}
.l-fv__ttl .ft_min:has(+.ft_en) {
	margin-bottom: .2em;
}
.l-fv__img {
	height: 32vw;
}
}



/*タイトルバー（WP共通）
---------------------------------------------------------*/
.c-ttl__l,
.wp-free__area h2 {
	margin-bottom: var(--gap-60);
}
.c-ttl__m,
.c-ttl__s,
.c-ttl__xs,
.wp-free__area h3,
.wp-free__area h4,
.wp-free__area h5 {
	margin-bottom: var(--gap-50);
}
.c-ttl__m:has(+p),
.c-ttl__s:has(+p),
.c-ttl__xs:has(+p),
.wp-free__area h3:has(+p),
.wp-free__area h4:has(+p),
.wp-free__area h5:has(+p) {
	margin-bottom: var(--gap-40);
}

.c-ttl__l,
.c-ttl__m,
.c-ttl__s,
.c-ttl__xs,
.wp-free__area h2,
.wp-free__area h3,
.wp-free__area h4,
.wp-free__area h5 {
	font: var(--font-min);
	font-weight: 400 !important;
	font-style: normal;
	letter-spacing: normal;
	line-height: 1.4em;
}
.wp-free__area h2 *,
.wp-free__area h3 *,
.wp-free__area h4 *,
.wp-free__area h5 * {
	font-style: normal !important;
	font-weight: 400 !important;
	font-size: 100% !important;
}
.c-ttl__l,
.wp-free__area h2 {
	background-color: var(--color-bg-general);
	background-image: url("../images/common/deco_index-l.png"), url("../images/common/deco_index-r.png");
	background-repeat: no-repeat, no-repeat;
	background-position: left bottom, right top;
	background-size: auto 1.5em, auto 1.5em;
	text-align: center !important;
	color: #fff !important;
	font-size: var(--fs-35) !important;
	padding: .8em 3%;
	position: relative;
}
.wp-free__area h2 * {
	color: #fff !important;
}

.c-ttl__m,
.wp-free__area h3 {
	text-align: left !important;
	background-color: #e0f6f4;
	color: var(--color-base) !important;
	font-size: var(--fs-30) !important;
	padding: .7em 3%;
	border-left: solid 4px var(--color-bg-general);
}
.wp-free__area h3 * {
	color: var(--color-base) !important;
}

.c-ttl__s,
.wp-free__area h4 {
	text-align: left !important;
	color: var(--color-base) !important;
	font-size: var(--fs-23) !important;
	padding: 1.0em 3%;
	border-top: solid 2px var(--color-bg-general);
	border-bottom: solid 2px var(--color-bg-general);
}
.wp-free__area h4 * {
	color: var(--color-base) !important;
}
.c-ttl__xs,
.wp-free__area h5 {
	background: #f4f4f1;
	text-align: left !important;
	color: var(--color-base) !important;
	font-size: var(--fs-23) !important;
	padding: .8em 3%;
	border-radius: 1.5em;
}
.wp-free__area h5 * {
	color: var(--color-base) !important;
}

.c-ttl__under-line {
	text-align: center;
	font: var(--font-min);
	font-size: var(--fs-25);
	letter-spacing: normal;
	line-height: 1.4em;
	padding: 0 3% 1.2em;
	border-bottom: solid 1px var(--color-bg-general);
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.c-ttl__l,
.wp-free__area h2 {
	line-height: 1.2em;
	padding: .8em 2%;
}
.c-ttl__m,
.wp-free__area h3 {
	padding: .7em 3%;
	font-size: var(--fs-28) !important;
}
.c-ttl__s,
.wp-free__area h4 {
	padding: .6em 3%;
}
.c-ttl__xs,
.wp-free__area h5 {
	padding: .5em 5%;
}

.c-ttl__under-line {
	padding: 0 2% .8em;
}
}



/*目次
---------------------------------------------------------*/
#toc_container,
.c-toc {
	width: min(100%,1152px) !important;
	max-width: 100% !important;
	margin-inline: auto;
	display: block !important;
	background: #fff;
	border-radius: 20px;
	padding: var(--gap-40) 5% var(--gap-50);
}
#toc_container {
	margin-bottom: var(--gap-80);
}
#toc_container p,
#toc_container ul {
	margin-bottom: 0 !important;
}
#toc_container li {
	padding: 0 !important;
	margin: 0 !important;
}
#toc_container:not(:has(li)) {
	display: none !important;
}
#toc_container li::before {
	display: none;
}
#toc_container a {
	text-decoration: none;
}

#toc_container .toc_title {
	display: block;
	width: 8em;
	font: var(--font-min);
	color: #3e3f3f;
	font-size: var(--fs-20);
	line-height: 1.0em;
	margin-left: 0;
	margin-right: auto;
	margin-bottom: 0 !important;
}
#toc_container .toc_title a {
	display: block;
	position: relative;
	padding-right: 1.2em;
}
#toc_container .toc_title a::before,
#toc_container .toc_title a::after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	width: .8em;
	height: 2px;
	background: var(--color-corporate);
	transition: all 0.4s;
}
#toc_container .toc_title a::before {
	transform: rotate(0deg);
}
#toc_container.contracted .toc_title a::before {
	transform: rotate(90deg);
}
#toc_container .toc_title .toc_brackets {
	display: none;
}

#toc_container .toc_list,
.c-toc .toc_list {
	margin-top: 1.5em;
	width: 100% !important;
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
#toc_container .toc_list > li,
.c-toc .toc_list > li {
	width: min(49%,497px);	
	font-size: var(--fs-17) !important;
	font-weight: bold;
	letter-spacing: .1em !important;
	line-height: 1.5em !important;
	border-bottom: solid 1px #dfdbd8;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
#toc_container .toc_list > li > a,
.c-toc .toc_list > li > a {
	display: block;
	padding: .8em 0;
	padding-left: 2.5em;
	position: relative;
}
#toc_container .toc_list > li > a:hover,
.c-toc .toc_list > li > a:hover {
	color: #95867f;
}
#toc_container .toc_list > li > a::before,
.c-toc .toc_list > li > a::before {
	font-family: 'fontello';
	content: '\e804';
	color: #95867f;
	font-weight: normal;
	font-size: 130%;
	position: absolute;
	left: 0;
	top: .6em;
	transform: rotate(90deg);
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#toc_container .toc_list > li,
.c-toc .toc_list > li {
	letter-spacing: .05em !important;
}
#toc_container .toc_list > li > a,
.c-toc .toc_list > li > a {
	padding-left: 2.0em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#toc_container,
.c-toc {
	border-radius: 3vw;
}
#toc_container .toc_title {
	font-size: var(--fs-17);
}
#toc_container .toc_list:not(.--sp-col2),
.c-toc .toc_list:not(.--sp-col2) {
	display: block;
}
#toc_container .toc_list:not(.--sp-col2) > li,
.c-toc .toc_list:not(.--sp-col2) > li {
	width: 100%;
}
#toc_container .toc_list > li,
.c-toc .toc_list > li {
	font-size: var(--fs-14) !important;
	letter-spacing: normal!important;
	line-height: 1.4em !important;
}
#toc_container .toc_list > li > a,
.c-toc .toc_list > li > a {
	padding-left: 2.0em;
}
#toc_container .toc_list > li > a::before,
.c-toc .toc_list > li > a::before {
	width: 1.2em;
}
}



/* 導入
---------------------------------------------------------*/
.p-lead {
	text-align: center;
}
.p-lead__catch {
	text-align: center;
	font: var(--font-min);
	font-size: var(--fs-35);
	letter-spacing: .1em;
	line-height: 1.6em;
}
.p-lead__catch:has(+p) {
	margin-bottom: .6em;
}
.p-lead__catch.--deco {
	padding-top: 3.0em;
}
.p-lead__catch.--deco::before {
	content: "";
	position: absolute;
	width: 2.3em;
	aspect-ratio: 1 / 1;
	margin: auto;
	left: 0;
	right: 0;
	top: 0;
	background: url("../images/common/deco_lead.png") no-repeat center center;
	background-size: contain;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.p-lead__catch {
	letter-spacing: .05em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) {
.p-lead {
	text-align: left;
}
.p-lead__catch {
	letter-spacing: .05em;
	line-height: 1.4em;
}
.p-lead__catch.--deco {
	padding-top: 2.5em;
}
.p-lead__catch.--deco::before {
	width: 2.0em;
}
}



/* 
---------------------------------------------------------*/

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
}



/* l-footer-medical
---------------------------------------------------------*/
.l-footer-medical {
	background: #f6f6f3;
	padding-top: var(--gap-80);
	padding-bottom: var(--gap-80);
}
.l-footer-medical .com_medmenu__ttl {
	text-align: center;
	color: var(--color-purple);
	margin-bottom: var(--gap-40);
}
.l-footer-medical .com_medmenu__list li a {
	box-shadow: 0px 0px 15px 0px rgba(0,0,0,0);
}
.l-footer-medical .com_medmenu__search {
	margin-top: var(--gap-40);
}
.l-footer-medical .com_medmenu__search li a {
	background: #c6cbbe;
}
.l-footer-medical .com_medmenu__search li a:hover {
	background: #ccd1e3;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
}



/* l-footer-bnr
---------------------------------------------------------*/
.l-footer-bnr {
	background: #fff;
	border-top: solid 1px #dfdbd8;
	padding: var(--gap-60) 0;
	position: relative;
}
.l-footer-bnr::before {
	content: "";
	position: absolute;
	width: 100%;
	height: min(50px,8vw);
	left: 0;
	bottom: 0;
	background: linear-gradient(0deg,rgba(228, 228, 228, 0.5) 0%, rgba(228, 228, 228, 0) 100%);
}
.l-footer-bnr > div {
	position: relative;
	z-index: 1;
}
.l-footer-bnr__layout {
	width: min(100%,1017px);
	margin-inline: auto;
	display: flex;
    justify-content: space-between;
    align-items: center;
}
.l-footer-bnr__news-blog {
	width: min(24%,240px);
}
.l-footer-bnr__sns {
	width: min(33%,333px);
}
.l-footer-bnr__recruit {
	width: min(37%,375px);
}

.l-footer-bnr__news-blog li {
	border-bottom: dashed 1px #c5c5c5;
}
.l-footer-bnr__news-blog li:last-child {
	border-bottom: none;
}
.l-footer-bnr__news-blog a {
	display: block;
	font: var(--font-min);
	font-size: min(2.3rem,2.0vw);
	letter-spacing: .1em;
	line-height: 1.4em;
	padding: .8em .4em;
	position: relative;
}
.l-footer-bnr__news-blog a:hover {
	color: var(--color-general);
}
.l-footer-bnr__news-blog a::before {
	font-family: 'fontello';
	content: '\e804';
	color: var(--color-general);
	font-size: 110%;
	position: absolute;
	right: .2em;
	top: 50%;
	transform: translateY(-50%);
}

.l-footer-bnr__sns {
	display: flex;
    justify-content: space-between;
}
.l-footer-bnr__sns li {
	width: 48%;
}
.l-footer-bnr__sns a {
    display: flex;
    flex-direction: column;
    justify-content: center;
	border: solid 1px #e4e1df;
	text-align: center;
	font-size: min(1.5rem,1.3vw);
	font-weight: bold;
	letter-spacing: .12em;
	line-height: 1.4em;
	border-radius: 2.0em;
	height: 9.5em;
}
.l-footer-bnr__sns .ft_en {
	display: block;
	font-size: 170%;
	letter-spacing: .05em;
	line-height: 1.1em;
}
.l-footer-bnr__sns p {
	padding-top: 3.0em;
	background: url("../images/common/icon_line.png") no-repeat center top;
	background-size: auto 2.2em;
}
.l-footer-bnr__sns .icon_line .ft_en {
	color: #1bbf44;
}
.l-footer-bnr__sns .icon_insta p {
	background-image: url("../images/common/icon_insta.png");
}
.l-footer-bnr__sns a:hover {
	border-color: #f2f2ed;
	background: #f2f2ed;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.l-footer-bnr__news-blog {
	width: 22%;
}
.l-footer-bnr__sns {
	width: 31%;
}
.l-footer-bnr__recruit {
	width: 43%;
}
	
.l-footer-bnr__news-blog a {
	font-size: min(2.3rem,2.2vw);
	letter-spacing: .05em;
	padding: .8em 0;
}
.l-footer-bnr__news-blog a::before {
	right: 0;
}

.l-footer-bnr__sns a {
	font-size: min(1.5rem,1.5vw);
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) {
.l-footer-bnr {
	padding: var(--gap-80) 0;
}
.l-footer-bnr::before {
	height: 10vw;
}
.l-footer-bnr__layout {
    flex-wrap: wrap;
}
.l-footer-bnr__news-blog {
	width: 40%;
}
.l-footer-bnr__sns {
	width: 55%;
}
.l-footer-bnr__recruit {
	width: 100%;
	margin-top: var(--gap-40);
}

.l-footer-bnr__news-blog a {
	font-size: var(--fs-16);
	letter-spacing: .05em;
	padding-left: 0;
}

.l-footer-bnr__sns a {
	font-size: var(--fs-12);
	letter-spacing: .06em;
	height: 8.0em;
	border-radius: 1.5em;
}
.l-footer-bnr__sns .ft_en {
	font-size: 140%;
}
.l-footer-bnr__sns p {
	padding-top: 2.5em;
	background-size: auto 2.0em;
}
}



/* 
---------------------------------------------------------*/

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
}