@charset "utf-8";
/*
Theme Name: evidencecare
Theme URI: https://evidencecare.jp/
Version: 1.0
*/

/* common
---------------------------------------------------------------------------*/
@import url("css/easing.css");

:root {
	--color-text: #242424;
	--color-gray: #919191;
	--color-gray-dark: #787878;
	--color-text-white: #F5F8F1;
	--color-bg: #F5F8F1;
	--color-bg-green: #E1E9D9;
	--color-bg-green-light: #E9F1E3;
	--color-bg-green-blue: #D9E9E2;
	--color-border-gray: #CFD1CD;
	--color-border-gray-light: #E1E3DE;
	--color-green: #00A561;
	--color-yellow-green: #79C52D;

	--font-gothic-jp: "中ゴシックBBB", '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'Hiragino Sans', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
	--font-serif-jp: "A1明朝", '游明朝体', '游明朝', YuMincho, 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
	--font-gothic-jp-device: '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'Hiragino Sans', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
	--font-serif-en: "Abhaya Libre", serif;
}

html {
	font-size: calc(0.5px + 0.1333vw);
}

body {
	overflow-y: scroll;
	background-color: var(--color-bg);
	color: var(--color-text);
	font-size: 13rem;
	font-family: var(--font-gothic-jp);
	line-height: 1;
	font-feature-settings: 'palt' 1;
	-webkit-text-size-adjust: none !important;
	-webkit-tap-highlight-color: transparent;
}

body.noscroll { position: fixed; width: 100%; }

::-moz-selection { background: rgba(0,0,0,0.1); color: #000000; }
::selection { background: rgba(0,0,0,0.1); color: #000000; }

p {font-size: 14rem;line-height: 2;letter-spacing: 0.08em;margin-bottom: 1em;}
p .p_narrow { display: block; margin-bottom: 1em; }
p:last-child { margin-bottom: 0 !important; }
address,i { font-style: normal; }
h1,h2,h3,h4,h5,h6 { line-height: 1.6; }
img { max-width: none; }
figure img { width: 100%; }
picture { display: block; }

.scroll-fadein,
.fade-link2 { opacity: 0; }

.block { display: inline-block !important; }
.wide { display: none !important; }
.narrow { display: inline-block !important; }
.link-tel { color: inherit !important; }

.title-h1 { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* #loading
------------------------------------*/
#loading {
	display: block;
	opacity: 1;
	position: fixed;
	top: 50vh;
	left: 50vw;
	border: 1px solid var(--color-green);
	border-top-color: transparent;
	border-radius: 50%;
	width: 20rem;
	height: 20rem;
	margin: -10rem 0 0 -10rem;
	z-index: 99999;
	animation: spin .4s infinite linear;
}
@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

/* link
------------------------------------*/
a { color: var(--color-text); text-decoration: none; }

p a {
	color: inherit;
	text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.1em;
}

/* .btn
------------------------------------*/
.btn-link a {
	display: block;
	background: var(--color-green);
	border: none;
	border-radius: 6rem;
	margin: 0;
	padding: 12rem 13rem 12rem 15rem;
	color: var(--color-text-white) !important;
	font-size: 14rem;
	line-height: 1.4;
	letter-spacing: 0.1em;
	text-align: center;
	white-space: nowrap;
}

.btn-link a span {
	display: inline-block;
	position: relative;
	padding: 0 33rem 0 0;
}

.btn-link a span i {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	background: url(img/share/ico-btn-arrow-green.svg) no-repeat left top /100% auto;
	width: 22rem;
	height: 22rem;
}

/* .link-list
------------------------------------*/
.link-list li:not(:last-child) { margin-bottom: 5rem; }

.link-list li a {
	display: inline-block;
	background: url(img/share/ico-btn-arrow-green.svg) no-repeat right bottom 4rem / 20rem auto;
	min-height: 22rem;
	padding: 3rem 28rem 2rem 0;
	font-size: 14rem;
	line-height: 1.7;
	letter-spacing: 0.12em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
}

_::-webkit-full-page-media, _:future, :root .link-list li a {
	background-position: right bottom 2rem;
}

/* .btn-nav
------------------------------------*/
.btn-nav {
	position: fixed;
	top: 0;
	right: 0;
	padding: 37rem 34rem;
	z-index: 10011;
	opacity: 0;
}

.btn-nav div, .btn-nav span { display: block; transition: .15s ease-out; }

.btn-nav div {
	position: relative;
	width: 28rem;
	height: 13rem;
}

.btn-nav span {
	position: absolute;
	left: 0;
	background-color: #666666;
	width: 100%;
	height: 1px;
	-webkit-transform: translateZ(0);
}

.btn-nav span:nth-of-type(1) { top: 0; width: 18rem; }
.btn-nav span:nth-of-type(2) { top: 6rem; width: 23rem; }
.btn-nav span:nth-of-type(3) { bottom: 0; width: 28rem; }

.btn-nav.active span { background-color: var(--color-green); }
.btn-nav.active span:nth-of-type(1) { transform: translateY(6rem) rotate(-25deg); width: 28rem; }
.btn-nav.active span:nth-of-type(2) { animation: active-menu-bar02 .4s forwards; opacity: 0; }
.btn-nav.active span:nth-of-type(3) { transform: translateY(-6rem) rotate(25deg); }
@-webkit-keyframes active-menu-bar02 {100%{ height: 0; }}
@keyframes active-menu-bar02 {100%{ height: 0; }}

/* .nav-sp
------------------------------------*/
.nav-sp {
	display: none;
	overflow-y: scroll;
	position: fixed;
	top: 0;
	left: 0;
	background: var(--color-bg-green-blue);
	width: 100%;
	height: 100vh;
	height: 100dvh;
	z-index: 9999;
	opacity: 0;
}

.nav-sp > .inner {
	position: relative;
	width: 100%;
	height: 100%;
	min-height: 820rem;
	padding: 140rem 10.5% 165rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.nav-sp .inner-s,
.nav-sp .sns,
.nav-sp .copyright { opacity: 0; }

.nav-sp .inner-s { transform: translateY(38vh - 50%) !important; }
.nav-sp .gnav-top { margin: 0 0 30rem 3rem; }
.nav-sp .gnav-top img { width: 36rem; }
.nav-sp .gnav li:not(:last-child) { margin-bottom: 3rem; }

.nav-sp .gnav li > a,
.nav-sp .gnav li > button {
	display: inline-block;
	padding: 10rem 20rem 15rem 0;
	font-size: 18rem;
	letter-spacing: 0.12em;
}

.nav-sp .gnav li > button { pointer-events: none; }
.nav-sp .gnav li nav { margin: 10rem 0 20rem 18rem; }

.nav-sp .gnav li nav a {
	display: inline-block;
	padding: 0 25rem 9rem 0;
}

.nav-sp .gnav li nav a h3 {
	color: var(--color-green);
	font-size: 16rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
	text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.1em;
}

.nav-sp .gnav li nav a h3 br,
.nav-sp .gnav li nav a h3 .link-arrow { display: none; }

.nav-sp .sns {
	position: absolute;
	bottom: calc(5vh + 40rem);
	left: calc(10% - 4rem);
}

.nav-sp .sns li img {
	width: 34rem;
	filter: brightness(80%);
}

.nav-sp .copyright {
	position: absolute;
	bottom: 5vh;
	left: calc(10% + 2rem);
	font-family: var(--font-serif-en);
	font-size: 14rem;
	letter-spacing: 0.05em;
}

.nav-sp .mnav .txt,
.nav-sp .mnav figure,
.nav-sp .mnav .inner p { display: none !important; }


/* #wrap
---------------------------------------------------------------------------*/
header,
footer,
.title-page,
.contents-wrap,
.contents-inner,
.about-support-inner {
  margin-right: auto;
  margin-left: auto;
}


/* header
---------------------------------------------------------------------------*/
header {
	position: fixed;
	top: 20rem;
	left: 10rem;
	width: calc(100% - 20rem);
	margin: 0;
	padding: 0;
	z-index: 10010;
	opacity: 0;
}

.header-inner {
	background-color: #FFFFFF;
	border-radius: 7rem;
	filter: drop-shadow(0px 2px 8px rgba(105, 107, 103, 0.07));
}

header .logo a { display: inline-block; padding: 16rem 19rem 14rem; }
header .logo img { width: 71rem; }

header .gnav,
header .nav-btn {
	display: none !important;
}


/* footer
---------------------------------------------------------------------------*/
footer {
	position: relative;
	width: 100%;
	margin: 0;
	padding: 200rem 0 0;
	opacity: 0;
}

footer .copyright {
	display: block;
	position: absolute;
	top: 165rem;
	left: 9%;
	color: var(--color-gray);
	font-family: var(--font-serif-en);
	font-size: 11rem;
	letter-spacing: 0.05em;
}

.footer-top,
.footer-inner {
	position: relative;
	padding: 0 9%;
}

.footer-top {
	padding-top: 65rem;
}

footer .logo { margin: 0 0 35rem; }
footer .logo img { width: 120rem; }

footer h2 {
	position: absolute;
	top: 0;
	left: 9%;
	color: var(--color-gray);
	font-size: 12rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

footer .link-list,
footer address {
	display: none; !important
}

.sns { display: flex; }

.sns li a {
	display: block;
  position: relative;
	padding: 6rem;
}

.sns li img { width: 28rem; }
.sns li .on { display: none; }

.footer-inner {
	position: relative;
	margin-bottom: 35rem;
}

.footer-inner .sns {
	position: absolute;
	bottom: -2rem;
	left: calc(53% - 10rem);
	opacity: 0.7;
}

.footer-inner .sns li img { display: none; }
.footer-inner .sns li .on { display: block; }

.fnav { display: flex; align-items: flex-start; }

.fnav h3 {
	margin: 3rem 0 5rem;
	color: var(--color-green);
	font-size: 11rem;
	letter-spacing: 0.18em;
}

.fnav .gnav { width: 53%; }

.fnav nav li a {
	display: inline-block;
	padding: 4rem 5rem 5rem 0;
	font-size: 13rem;
	line-height: 1.7;
	letter-spacing: 0.13em;
	text-decoration: underline;
	text-decoration-color: var(--color-gray);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
}

.footer-copy {
	position: absolute;
	top: 127rem;
	right: 7.5%;
	font-family: var(--font-serif-jp);
	font-size: 21rem;
	line-height: 1.85;
	letter-spacing: 0.05em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
	z-index: 1;
	opacity: 0.8;
}

.footer-copy i {
	display: inline-block;
	margin: 0 0 -0.5em;
	letter-spacing: 0.0em;
}


/* contents
---------------------------------------------------------------------------*/
#mainContents {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	text-align: left;
}

.contents {
	opacity: 0;
  margin: 0 auto;
	padding: 140rem 0 0;
}

.contents:has(.img-main) { padding-top: 0; }

#contactContents .contents-inner,
#privacyContents .contents-inner,
#errorContents .contents-inner { padding: 0 10%; }

#companyContents .contents-inner { padding: 0 8.5%; }
#newsContents .contents-inner { padding: 0 4%; }

#newsContents.single .contents-inner,
#questionContents .contents-inner { padding: 0 7%; }


/* .img-main
------------------------------------*/
.img-main { width: 100%; margin-bottom: 25rem; }
.img-main img { width: 100%; }

/* p
------------------------------------*/
section p { text-align: justify; }
section p br { display: none; }

.dash {
	display: inline-block;
	background-color: var(--color-text);
	width: 1.5em;
	height: 1px;
	margin: 0 0.25em 0 0.15em;
	vertical-align: middle;
	transform: translateY(-1px);
}

/* .title-page
------------------------------------*/
.title-page {
	width: 87%;
	margin: 0 auto 50rem;
}

#newsContents .title-page { margin-bottom: 65rem; }

.title-page strong {
	display: block;
	margin-bottom: 5rem;
}

.title-page strong,
.title-page strong a {
	color: var(--color-green);
	font-family: var(--font-serif-jp);
	font-size: 18rem;
	letter-spacing: 0.12em;
}

.title-page strong:has(.narrow) { margin-bottom: 7rem; }

.title-page em {
	display: block;
	margin-left: 1rem;
	color: var(--color-gray);
	font-family: var(--font-serif-en);
	font-size: 13rem;
	letter-spacing: 0.06em;
}

h2.title-page-wide {
	width: 90%;
	margin-bottom: 55rem;
}

h2.title-page strong {
	margin-bottom: 7rem;
	font-family: var(--font-gothic-jp);
	font-size: 17rem;
	letter-spacing: 0.14em;
}

h2.title-page em {
	font-size: 13rem;
	letter-spacing: 0.04em;
}

/* .section-lead
------------------------------------*/
.section-lead { margin-bottom: 60rem; }
.section-lead:has(+ .wpcf7 .wpcf7-response-output) { margin-bottom: -60rem; font-feature-settings: 'palt' 1; letter-spacing: 1.08rem; }

/* .dot-list
------------------------------------*/
.dot-list li {
	position: relative;
	margin: 0 0 6rem 3rem;
	padding-left: 14rem;
	font-size: 14rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.dot-list li:last-of-type { margin-bottom: 0; }
.dot-list li:before { display: block; content: '・'; position: absolute; top: 0; left: 0; }

/* .attention-list
------------------------------------*/
.attention-list li {
	position: relative;
	margin: 0 0 10rem;
	padding-left: 20rem;
	font-size: 14rem;
	line-height: 1.7;
	letter-spacing: 0.1em;
}

.attention-list li:last-of-type { margin-bottom: 0; }
.attention-list li:before { display: block; content: '※'; position: absolute; top: 0; left: 0; }

/* .dl-line
------------------------------------*/
.dl-line > dl {
	border-bottom: 1px solid var(--color-border-gray-light);
	padding: 6rem 0 6rem;
}

.dl-line > dl,
.dl-line > dl p {
	font-size: 14rem;
	line-height: 1.8;
	letter-spacing: 0.08em;
}

.dl-line > dl:not(:last-child) {margin-bottom: 11rem;}

.dl-line > dl > dt {
	margin-bottom: 2rem;
	font-size: 11rem;
	color: var(--color-green);
	letter-spacing: 0.03em;
}

/* .dl-wide
------------------------------------*/
.dl-wide > dl,
.dl-wide > dl p {
	font-size: 14rem;
	line-height: 1.9;
	letter-spacing: 0.08em;
}

.dl-wide > dl:not(:last-child) { margin-bottom: 12rem; }

.dl-wide > dl > dt {
	margin-bottom: 10rem;
	color: var(--color-green);
	font-size: 15rem;
	letter-spacing: 0.15em;
}

/* .contact-link
------------------------------------*/
.contact-link {
	position: relative;
	background-color: #FFFFFF;
	width: 90%;
	margin: 100rem auto 0;
	padding: 56rem 20rem 35rem;
	opacity: 0;
}

.contact-link figure { margin-bottom: 26rem; }

.contact-link h2 {
	position: absolute;
	top: 10rem;
	right: 10rem;
	color: var(--color-green);
	font-size: 13rem;
	text-align: center;
	letter-spacing: 0.16em;
}

.contact-link .txt { padding: 0 4rem; }

.contact-link h3 {
	margin-bottom: 14rem;
	color: var(--color-green);
	font-family: var(--font-serif-jp);
	font-size: 17rem;
	line-height: 1.6;
	letter-spacing: 0.17em;
	text-align: center;
}

.contact-link p {
	margin-bottom: 10rem;
	font-size: 14rem;
	line-height: 2;
	letter-spacing: 0.07em;
	text-align: justify;
}

.contact-link p br { display: none; }
.contact-link .btm { margin: 18rem 0 0; }

.contact-link .tel { margin-top: 25rem; white-space: nowrap; }

.contact-link .tel b {
	display: inline-block;
	padding-right: 6rem;
	font-family: var(--font-serif-jp);
	transform: translateY(1rem);
}

.contact-link .tel strong { display: inline-block; margin-right: 8rem; }
.contact-link .tel strong img { width: 107rem; }

.contact-link .tel em {
	display: inline-block;
	font-size: 12rem;
	letter-spacing: 0.08em;
	transform: translateY(1rem);
}

.contact-link .btn-link a {
	padding-top: 15rem;
	padding-bottom: 14rem;
	font-size: 15rem;
}


/* news archive
---------------------------------------------------------------------------*/
.news-list { border-top: 1px solid var(--color-border-gray); }
.news-list article { border-bottom: 1px solid var(--color-border-gray); }

.news-list article a {
	display: flex;
	align-items: center;
	padding: 18rem 16rem 18rem 5rem;
}

.news-list article a .link-arrow { display: none; }

.news-list figure {
	align-self: flex-start;
  position: relative;
  overflow: hidden;
	border-radius: 5rem;
  width: 90rem;
  min-width: 90rem;
  height: 60rem;
	margin-right: 20rem;
}

.news-list figure img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.news-list .txt { width: 100%; }

.news-list time,
.news-list .category,
.news-title time,
.news-title .category { color: var(--color-green); font-size: 10rem; }

.news-list .category,
.news-title .category { font-size: 11rem; letter-spacing: 0.16em; }

.news-list .category { margin-left: 1rem; }

.news-list .category i,
.news-title .category i { padding: 0 0 0 4rem; }

.news-list time,
.news-title time { letter-spacing: 0.1em; }

.news-list h3 {
	margin-top: 7rem;
	font-family: var(--font-serif-jp);
	font-size: 14rem;
	line-height: 1.5;
	letter-spacing: 0.08em;
	/*text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.15em;*/
}


/* news single
---------------------------------------------------------------------------*/

/* .news-title
------------------------------------*/
.news-title { margin-bottom: 40rem; }
.news-title div { padding-top: 10rem; }
.news-title .category { font-size: 13rem; }
.news-title time { display: inline-block; font-size: 12rem; }

.news-title .post-categories {
	position: relative;
	display: inline-block;
	margin-left: 20rem;
	letter-spacing: 0.12em;
}

.news-title .post-categories:before {
	display: block;
	content: '/';
	position: absolute;
	top: 0;
	left: -15rem;
}

.news-title .post-categories li { display: inline-block; }
.news-title .post-categories li a { text-decoration: underline; }

.news-title h1 {
	margin-bottom: 4rem;
	font-family: var(--font-serif-jp);
	font-size: 16rem;
	line-height: 1.6;
	letter-spacing: 0.05em;
	font-feature-settings: 'palt' 0;
}

/* .post-main
------------------------------------*/
.post-main > * { font-family: var(--font-gothic-jp) !important; }

.post-main, .post-main h2, .post-main p {
	color: var(--color-gray-dark);
	font-size: 14rem;
	line-height: 2.1;
	letter-spacing: 0.07em;
}

.post-main h2 {
	margin: 36rem 0 12rem;
	color: var(--color-green);
	font-size: 15rem;
	font-feature-settings: 'palt' 0;
}

.post-main > h2:first-child { margin-top: 0; }

.post-main p {
	margin-bottom: 12rem;
	text-align: justify;
	word-break: break-all;
	line-height: 1.9;
}

.post-main p:last-child { margin-bottom: 0; }
.post-main a { color: var(--color-green); text-decoration: underline; word-break: break-all; }
.post-main strong { font-weight: bold; }
.post-main em { font-style: italic; }
.post-main del { text-decoration: line-through; }

.post-main img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 30rem auto 30rem !important;
}

.post-main .wp-caption { max-width: 100%; margin-bottom: 40rem; }
.post-main .wp-caption-text { margin: -30rem 0 0; font-size: 12rem; }

.post-main .gallery > dl { width: 49.5% !important; margin-right: 1% !important; }
.post-main .gallery > dl:nth-child(even) { margin-right: 0 !important; }
.post-main .gallery a { pointer-events: none; }
.post-main .gallery img { border: none !important; width: 100% !important; margin: 0 !important; }

.post-main ul, .post-main ol { margin: 0 0 30rem; }
.post-main ul { margin-left: 3rem; }
.post-main ul li { list-style: disc; margin: 0 0 2rem 18rem; }
.post-main ol li { list-style: decimal; margin: 0 0 2rem 24rem; }
.post-main ul li:last-of-type,
.post-main ol li:last-of-type { margin-bottom: 0; }

.post-main blockquote { background: var(--color-bg-green-light); margin: 40rem 0; padding: 26rem 30rem 24rem; text-align: justify; }
.post-main blockquote p { font-size: 14rem; line-height: 1.85; }

.post-main iframe { width: 100%; height: calc(85vw * 0.5625); }

/* .post-table
------------------------------------*/
.post-table { margin-top: 60rem; }

.post-table h3 {
	margin: 80rem 0 18rem;
	color: var(--color-green);
	font-size: 15rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.post-table h3:first-child { margin-top: 0; }

.post-table table {
	width: calc(100% + 10rem);
	margin: 0 0 40rem;
	font-size: 14rem;
	line-height: 1.65;
	letter-spacing: 0.08em;
}

.post-table tr:first-of-type { border-top: 1px solid var(--color-border-gray); }
.post-table tr { border-bottom: 1px solid var(--color-border-gray); }

.post-table th, .post-table td {
	padding-top: 10rem;
	padding-bottom: 26rem;
}

.post-table th {
	position: relative;
	min-width: 50rem;
	max-width: 50rem;
	padding-right: 15rem;
	padding-left: 1rem;
	color: var(--color-green);
	text-align: left;
	vertical-align: top;
}

.post-table th:before {
	display: block;
	content: '';
	position: absolute;
	top: -1px;
	left: 0;
	background-color: var(--color-green);
	width: 100%;
	height: 1px;
}

.post-table td {
	width: 100%;
	padding-right: 10rem;
	padding-left: 10rem;
	color: var(--color-gray-dark);
}

.post-table table.right td { text-align: right; }

.post-table-attention {
	margin-top: -22rem;
	margin-left: 1rem;
	color: var(--color-gray-dark);
	font-size: 12rem;
	line-height: 1.7;
	letter-spacing: 0.12em;
}

/* .qa-list .post-table
------------------------------------*/
.qa-list .post-table { margin-top: 35rem; }
.qa-list .post-table table { font-size: 13rem; }

.qa-list .post-table h3 {
	margin-bottom: 16rem;
	font-size: 13rem;
}

.qa-list .post-table th,
.qa-list .post-table td {
  padding-top: 8rem;
  padding-bottom: 16rem;
}

.qa-list .post-table-attention {
	margin-top: -25rem;
	font-size: 12rem;
}

.qa-list .post-table:not(:last-child) .post-table-attention { margin-bottom: 30rem; }


/* .post-link
------------------------------------*/
.post-table + .post-link { margin-left: -5rem; }
.post-link { margin-top: 35rem; }
.post-link li { display: inline-block; margin: 0 6rem 12rem 0; }

/* .share
------------------------------------*/
.share { margin: 45rem 0 0; }

.share h2 {
	margin-bottom: 14rem;
	color: var(--color-gray);
	font-size: 14rem;
	letter-spacing: 0.1em;
}

.share li { display: inline-block; margin-right: 5rem; }

.share li a {
	display: inline-block;
	background-color: #FFFFFF;
	border: 1px solid #E7E7E7;
	border-radius: 4rem;
	padding: 11rem 16rem 11rem 14rem;
	color: var(--color-gray-dark);
	font-size: 10rem;
	letter-spacing: 0.06em;
}

_::-webkit-full-page-media, _:future, :root .share li a {
	padding-top: 12rem;
	padding-bottom: 10rem;
}

.share li a img {
	display: inline-block;
	margin-right: 8rem;
	vertical-align: middle;
}

_::-webkit-full-page-media, _:future, :root .share li a img {
	transform: translateY(-1rem);
}

/* .news-other
------------------------------------*/
.news-other { margin: 100rem auto 0; }

.news-other h2 {
	margin: 0 0 20rem;
	font-size: 14rem;
	letter-spacing: 0.1em;
}

.news-other h2 a { color: var(--color-green); }


/* .wp-pagenavi
---------------------------------------------------------------------------*/
.wp-pagenavi {
	position: relative;
	margin: 50rem 0 0;
	padding: 0 7rem;
	font-family: var(--font-serif-en);
	font-size: 17rem;
	text-align: left;
}

.wp-pagenavi,
.wp-pagenavi a { color: var(--color-text); }

.wp-pagenavi .pages { letter-spacing: 0; }

.wp-pagenavi .pages span {
	padding-right: 4rem;
	letter-spacing: 0.03em;
}

.wp-pagenavi a.page,
.wp-pagenavi .current,
.wp-pagenavi .extend { display: none; }

.wp-pagenavi a.first,
.wp-pagenavi a.last { display: none; }

.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
	display: inline-block;
	position: absolute;
	top: -10rem;
	right: 2rem;
	background: url(img/share/ico-arrow-green.svg) no-repeat center center / 9rem auto;
	padding: 10rem 15rem;
	text-indent: -9999px;
}

.wp-pagenavi .previouspostslink { transform: scaleX(-1); }
.wp-pagenavi:has(a.nextpostslink) .previouspostslink { right: 40rem; }


/* page top
---------------------------------------------------------------------------*/
#topContents {
	padding-top: 0;
}

#topContents .title-page {
	width: inherit;
	padding: 0;
}

#topContents h2.title-page strong {
	letter-spacing: 0.24em;
}

/* .top-main
------------------------------------*/
.top-main-wrap {
	position: relative;
	height: 100vh;
	min-height: calc(136vw + 200rem);
	/*max-height: 100vh;*/
}

.top-main-wrap > h2 {
	position: absolute;
	bottom: 8%;
	left: 10.5%;
	font-family: var(--font-serif-jp);
	font-size: 20rem;
	line-height: 1.95;
	letter-spacing: 0.3em;
	opacity: 0;
}

.top-main {
	--image-padding: 0rem;
	overflow: hidden;
	position: relative;
	width: 100%;
	height: 136vw;
	/*max-height: calc(100vh - 78rem - 16%);*/
	padding: var(--image-padding);
}

.top-main-img {
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	filter: brightness(1.6);
	opacity: 0;
	transition: 1.6s var(--easeOutQuad);
}

.top-main-img.active {
	filter: brightness(1);
	opacity: 1;
}

.top-img-slide,
.top-img-slide .slick-list,
.top-img-slide .slick-track {
	width: 100% !important;
	height: 100% !important;
}

.top-main-img figure {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	opacity: 0;
}

.slider-img .inner:first-of-type {
	opacity: 1;
}

.top-main-img figure img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.top-main-img .img1 img { object-position: 50% 100%; }
.top-main-img .img2 img { object-position: 50% 35%; }
.top-main-img .img3 img { object-position: 50% 80%; }
.top-main-img .img4 img { object-position: 50% 50%; }
.top-main-img .img5 img { object-position: 50% 70%; }

/* .top-lead
------------------------------------*/
.top-lead {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin-bottom: 75rem;
	padding: 45rem 0 80vw;
	font-family: var(--font-serif-jp);
	color: var(--color-gray-dark);
}

.top-lead figure {
	transition: .8s var(--easeOutSine);
}

.top-lead h2 span,
.top-lead p {
	transition: .1s var(--easeOutSine);
}

.top-lead.active {
	color: #FFFFFF;
}

.top-lead figure {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	opacity: 0;
}

.top-lead.active figure {
	opacity: 1;
}

.top-lead figure img {
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	object-fit: cover;
	object-position: 50% 100%;
	width: 100%;
	height: 100%;
}

.top-lead .inner {
	position: relative;
	width: 80%;
	margin: 0 auto;
	padding: 65rem 100rem 0 0;
	z-index: 1;
}

.top-lead h2 {
	position: absolute;
	top: 0;
	right: -15rem;
	font-size: 20rem;
	line-height: 1.75;
	letter-spacing: 0.09em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.top-lead h2 span {
	display: inline-block;
}

.top-lead h2 i {
	display: inline-block;
	margin-bottom: -0.5em;
}

.top-lead p {
	margin-bottom: 18rem;
	font-size: 12rem;
	line-height: 2;
	letter-spacing: 0.1em;
}

.top-lead .en {
	margin-top: 30rem;
}

.top-lead .en p {
	font-size: 10rem;
	line-height: 1.8;
	letter-spacing: 0;
	text-align: left;
}

/* .top-care
------------------------------------*/
.top-care {
	margin: 0 auto 80rem;
	padding: 0 10%;
}

.top-care-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 60rem 0;
}

.top-care-list figure {
	margin-bottom: 25rem;
}

.top-care-list h3 {
	margin-bottom: 20rem;
}

.top-care-list h3 strong {
	letter-spacing: 0.1em;
}

.top-care-list p {
	color: var(--color-gray-dark);
	font-size: 14rem;
	letter-spacing: 0.04em;
	text-align: justify;
}

.top-care-list .link-list {
	margin-top: 28rem;
}

/* .top-recruit
------------------------------------*/
.top-recruit {
	background-color: #FFFFFF;
	width: 88%;
	margin: 0 auto 80rem;
	padding: 25rem 25rem 40rem;
}

.top-recruit figure {
	margin-bottom: 35rem;
}

.top-recruit .txt {
	padding: 0 10rem;
}

.top-recruit h2 {
	margin-bottom: 16rem;
	color: var(--color-green);
	font-size: 13rem;
	letter-spacing: 0.13em;
}

.top-recruit h3 {
	margin-bottom: 30rem;
	font-family: var(--font-serif-jp);
	font-size: 18rem;
	line-height: 1.9;
	letter-spacing: 0.28em;
	opacity: 0.8;
}

.top-recruit h4 {
	margin-bottom: 16rem;
	color: var(--color-green);
	font-size: 13rem;
	letter-spacing: 0.1em;
}

.top-recruit .list li {
	display: inline-block;
	margin: 0 4rem 10rem 0;
}

.top-recruit .list li a {
	color: var(--color-gray-dark);
	font-size: 14rem;
	letter-spacing: 0.08em;
	text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.1em;
}

.top-recruit p {
	margin: -10rem 0 -8rem;
	color: var(--color-gray-dark);
	font-size: 15rem;
	letter-spacing: 0.12em;
}

.top-recruit .link-list {
	margin-top: 25rem;
}

/* .top-area
------------------------------------*/
.top-area {
	overflow: hidden;
	margin: 0 auto 45rem;
	padding: 0 10%;
}

.top-area .title-page {
	width: 100% !important;
	margin-bottom: 38rem;
}

.top-area .area {
	position: relative;
	width: 100%;
}

.top-area .area h3 {
	margin-bottom: 17rem;
	color: var(--color-green);
	font-family: var(--font-serif-jp);
	font-size: 17rem;
	line-height: 1.85;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

.top-area .area p {
	font-size: 13rem;
	letter-spacing: 0.04em;
}

.top-area .area .attention-list li {
	margin-bottom: 6rem;
	text-indent: 16rem;
	margin-left: -16rem;
	padding-left: 16rem;
	font-size: 12rem;
}

.top-area .area .link-list {
	position: relative;
	margin-top: 35rem;
	z-index: 1;
}

.top-area .area .link-list li {
	margin-bottom: 8rem;
}

.top-area .area figure {
	position: relative;
	margin: -70rem -118rem 0 -210rem;
	z-index: 0;
}

/* .top-news
------------------------------------*/
.top-news { width: 88%; margin: 0 auto; }
.top-news h2 { margin: 0 0 23rem 10rem; }
.top-news h2 strong { letter-spacing: 0.24em; }


/* page about
---------------------------------------------------------------------------*/

/* .about-lead
------------------------------------*/
.about-lead { margin-bottom: 100rem; }
.about-lead .title-page { margin-bottom: 22rem; }

.about-lead .lead {
	position: relative;
	margin: 0 auto 120rem;
	padding: 80rem 6.5% 0;
}

.about-lead .lead figure {
	width: 71%;
	margin-bottom: 46rem;
}

.about-lead .lead .txt { padding: 0 14rem; }

.about-lead .lead .txt h2 {
	position: absolute;
	top: 0;
	right: 5%;
	color: var(--color-green);
	font-family: var(--font-serif-jp);
	font-size: 19rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.about-lead .lead .txt h2 i { display: inline-block; margin: 0 0 -0.5em; }

/* .about-lead .service
------------------------------------*/
.about-lead .service { position: relative; }

.about-lead .service h2 {
	position: absolute;
	top: 0;
	left: 8%;
	color: var(--color-green);
	font-family: var(--font-serif-jp);
	font-size: 19rem;
	line-height: 1.7;
	letter-spacing: 0.04em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
	z-index: 1;
}

.about-lead .service h2 i { display: inline-block; margin: 0 0 -0.5em; }

.about-lead .service .txt-v {
	margin: 0 auto 35rem;
	padding: 70rem 0 0 calc(9.5% + 87rem);
}

.about-lead .service .txt-v p { letter-spacing: 0.08em; }
.about-lead .service .txt-v p br { display: block; }

.about-lead .service .img figure { width: 88%; margin: 0 auto 32rem; }

.about-lead .service .link-list { margin-left: 10%; }
.about-lead .service li:not(:last-child) { margin-bottom: 8rem; }

/* .about-support
------------------------------------*/
.about-support { margin-bottom: 80rem; }
.about-support h2.title-page-wide { width: 88%; }
.about-support-inner { padding: 0 6%; }

.support-list {
	position: relative;
	border-top: 1px solid var(--color-border-gray);
	padding: 65rem 20rem 0;
}

.support-list:not(:last-child) { margin-bottom: 80rem; }

.support-list h3 {
	display: flex;
	justify-content: space-between;
	position: absolute;
	top: 7rem;
	left: 0;
	width: 100%;
}

.support-list h3 strong {
	color: var(--color-green);
	font-family: var(--font-serif-jp);
	font-size: 15rem;
	letter-spacing: 0.08em;
}

.support-list h3 em {
	color: var(--color-gray);
	font-family: var(--font-serif-en);
	font-size: 13rem;
	letter-spacing: 0;
	transform: translateY(3rem);
}

.support-list figure { margin: 0 auto 25rem; }

.support-list .txt { color: var(--color-gray-dark); }

.support-list .txt p {
	margin-bottom: 10rem;
	font-size: 13rem;
	line-height: 1.9;
}

.support-list .txt .box {
	border: 1px solid var(--color-border-gray);
	margin: 25rem 0 18rem;
	padding: 24rem 20rem 14rem 22rem;
}

.support-list .txt .box li {
	margin-bottom: 6rem;
	padding-left: 12rem;
	letter-spacing: 0.12em;
	font-size: 13rem;
}

.support-list .txt .box li:not(:last-of-type) {margin-bottom: 5rem;}

.support-list .txt .attention-list li {
	margin-bottom: 5rem;
	padding-left: 15rem;
	font-size: 12rem;
}

.support-list .txt .link-list { margin-top: 30rem; }

.support-list .txt .link-list li a,
.about-policy .txt .link-list li a { background-size: 22rem; font-size: 14rem; }

/* .about-policy
------------------------------------*/
.about-policy { width: 88%; margin: 0 auto 120rem; }

.about-policy h2 {
	position: absolute;
	top: 0;
	left: -4rem;
	color: var(--color-green);
	font-size: 14rem;
	letter-spacing: 0.2em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.about-policy > figure { margin: 0 0 14rem; }

.about-policy .txt {
	position: relative;
	padding: 55rem 10rem 0 50rem;
}

.about-policy h3 {
	margin-bottom: 18rem;
	color: var(--color-green);
	font-family: var(--font-serif-jp);
	font-size: 18rem;
	line-height: 1.7;
	letter-spacing: 0.2em;
}

.about-policy .txt figure { margin: 20rem 0 0; }
.about-policy .txt figure img { width: 127rem; }

.about-policy .txt figcaption {
	margin-bottom: 30rem;
	font-size: 12.5rem;
	line-height: 1.9;
	letter-spacing: 0.04em;
	text-align: justify;
}

/* .about-message
------------------------------------*/
.about-message { margin: 0 auto 90rem; padding: 0 8%; }
.about-message h2 { margin-bottom: 25rem; }

.about-message h2 strong {
	display: block;
	margin-bottom: 4rem;
	color: var(--color-green);
	font-size: 17rem;
	letter-spacing: 0.16em;
}

.about-message h2 em {
	display: block;
	color: var(--color-gray);
	font-family: var(--font-serif-en);
	font-size: 13rem;
	letter-spacing: 0.06em;
}

.about-message .img {
	display: grid;
	grid-template-columns: 1fr;
	gap: 18rem 0;
	margin: 0 0 35rem;
}

.about-message .txt { padding: 0 10rem; }

.about-message .txt h3 {
	margin-bottom: 16rem;
	color: var(--color-green);
	font-family: var(--font-serif-jp);
	font-size: 19rem;
	line-height: 1.8;
	letter-spacing: 0.19em;
	/* font-feature-settings: 'palt' 1; */
}

.about-message .txt > p { font-size: 13rem; }
.about-message .name { margin: 35rem 0 0; }

.about-message .name b {
	display: block;
	margin-bottom: 20rem;
	font-size: 13rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.about-message .name h4 { margin-bottom: 10rem; }

.about-message .name h4 em {
	display: block;
	margin-bottom: 3rem;
	font-size: 12rem;
	letter-spacing: 0.08em;
}

.about-message .name h4 strong {
	padding-right: 12rem;
	font-size: 17rem;
	letter-spacing: 0.12em;
}

.about-message .name h4 i { font-size: 12rem; letter-spacing: 0.1em; }

.about-message .name p {
	color: var(--color-gray);
	font-size: 12rem;
	line-height: 1.9;
	letter-spacing: 0.08em;
}

/* .about-img
------------------------------------*/
.about-img { margin: 0 auto 38rem; }

/* .about-office
------------------------------------*/
.about-office { margin: 0 auto; }

.about-office .lead,
.about-office-inner .area > div {
	padding: 0 calc(8% + 5rem);
}

.about-office .lead {
	position: relative;
	z-index: 2;
}

.about-office .lead h2 {
	margin-bottom: 17rem;
	color: var(--color-green);
	font-family: var(--font-serif-jp);
	font-size: 17rem;
	line-height: 1.75;
	letter-spacing: 0.14em;
}

.about-office .lead h3 {
	margin-bottom: 10rem;
	color: var(--color-green);
	font-family: var(--font-serif-jp);
	font-size: 21rem;
	line-height: 1.8;
	letter-spacing: 0.12em;
}

.about-office .lead p { font-size: 13rem; line-height: 2.1; }

#about-office-inner {
	margin-top: -60rem;
	padding-top: 60rem;
}

.about-office-inner .area { margin: 0 auto 70rem; }
.about-office-inner .area figure { overflow: hidden; margin-top: -12rem; margin-bottom: 30rem; }
.about-office-inner .area figure img { width: 166%; margin-left: -46.5%; }

.about-office-inner .area h4 {
	margin: 0 0 16rem -3rem;
	color: var(--color-green);
	font-size: 16rem;
	letter-spacing: 0.12em;
}

.about-office-inner .area p { margin-bottom: 8rem; }

.about-office-inner .area p,
.about-office-inner .area .attention-list li {
	font-size: 13rem;
	line-height: 1.9;
	letter-spacing: 0.07em;
}

.about-office-inner .area .attention-list li {
	margin-bottom: 3rem;
	padding-left: 17rem;
	line-height: 1.8;
	letter-spacing: 0.04em;
}

.about-office-inner .area > div .attention-list { margin-top: 15rem; }

.about-office-inner .office {
	display: grid;
	grid-template-columns: 1fr;
	gap: 30rem 0;
	padding: 0 5%;
}

.about-office-inner .office .inner {
	background-color: #FFFFFF;
	padding: 35rem 25rem 35rem;
}

.about-office-inner .office h4 {
	border-top: 1px solid var(--color-border-gray);
	padding: 9rem 0 0 1px;
	margin-bottom: 32rem;
	color: var(--color-green);
	font-size: 16rem;
	letter-spacing: 0.14em;
}

.about-office-inner .office .map {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 267rem;
	margin-bottom: 30rem;
}

.about-office-inner .office .map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.about-office-inner .office h5 {
	margin-bottom: 3rem;
	color: var(--color-gray-dark);
	font-size: 13rem;
	letter-spacing: 0.02em;
}

.about-office-inner .office h6 {
	margin-bottom: 18rem;
	font-size: 16rem;
	letter-spacing: 0.1em;
}

.about-office-inner .office address {
	color: var(--color-gray-dark);
	font-size: 13rem;
	line-height: 1.75;
	letter-spacing: 0.04em;
}

.about-office-inner .office address .link-tel {
	color: var(--color-gray-dark);
	text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.1em;
}

.about-office-inner .office .link-list {
	margin: 16rem 0 0;
}


/* page medical-welfare
---------------------------------------------------------------------------*/

/* .medical-lead
------------------------------------*/
.medical-lead {
	margin-bottom: 45rem;
}

.medical-lead .txt {
	padding: 0 12%;
}

.medical-lead p {
	color: var(--color-gray-dark);
	font-size: 13rem;
	letter-spacing: 0.09em;
	line-height: 2.2;
}

/* .medical-role
------------------------------------*/
.medical-role {
	margin: 0 auto 85rem;
}

.medical-role figure {
	width: 92%;
	margin: 0 auto 50rem;
}

.medical-role .txt {
	padding: 0 10%;
}

.medical-role .txt h2 {
	margin-bottom: 8rem;
	font-size: 13rem;
	letter-spacing: 0.11em;
}

.medical-role .txt h3 {
	margin-bottom: 22rem;
	color: var(--color-green);
	font-family: var(--font-serif-jp);
	font-size: 18rem;
	line-height: 1.8;
	letter-spacing: 0.16em;
}

.medical-role .txt p {
	font-size: 13rem;
	letter-spacing: 0.1em;
}

/* .medical-data-title
------------------------------------*/
.medical-data-title {
	margin-bottom: 60rem;
}

.medical-data-title h2 {
	margin-bottom: 26rem;
}

.medical-data-title h2 strong {
	font-size: 14rem;
}

.medical-data-title h2 em {
	font-size: 11rem;
}

/* .medical-data
------------------------------------*/
.medical-data {
	margin: 0 auto 75rem;
}

.medical-data .lead {
	margin-bottom: 45rem;
	padding: 0 10%;
}

.medical-data .lead h2 {
	margin-bottom: 13rem;
	color: var(--color-green);
	font-family: var(--font-serif-jp);
	font-size: 17rem;
	line-height: 1.8;
	letter-spacing: 0.16em;
	transform: translateY(-2rem);
}

.medical-data3 .lead h2 { text-align: center; }

.medical-data .lead p {
	font-size: 13rem;
	letter-spacing: 0.06em;
}

.medical-data .box {
	position: relative;
	background-color: #FFFFFF;
	padding: 40rem 7.5% 5rem;
}

#medical-welfareContents .medical-data .box .pic-txt,
#medical-welfareContents .medical-data .box time {
	display: none;
}

.medical-data .box .pic-txt {
	position: absolute;
	top: 18rem;
	left: 17rem;
}

.medical-data .box .pic-txt img {
	width: 87rem;
}

.medical-data .box time {
	display: block;
	position: absolute;
	top: 20rem;
	right: 20rem;
	color: var(--color-gray-dark);
	font-size: 11rem;
	letter-spacing: 0.08em;
}

.medical-data .box .inner {
	overflow: hidden;
	margin-bottom: 40rem;
}

.medical-data .inner {
	clear: both;
	border-top: 1px solid var(--color-border-gray);
	padding: 7rem 0 0;
}

.medical-data .inner h3 {
	margin-bottom: 20rem;
	color: var(--color-green);
	font-size: 13rem;
	letter-spacing: 0.1em;
}

.medical-data .inner h3.mb-s { margin-bottom: -10rem; }
.medical-data .inner h3.mb-l { margin-bottom: 35rem; }
.medical-data .column3 .inner h3 { margin-bottom: 30rem; }

.medical-data .inner h3 span {
	padding-left: 6rem;
	font-size: 10rem;
	letter-spacing: 0.08em;
}

.medical-data .inner-s figure { clear: both; text-align: center; }
.medical-data .inner-s .data1 img { width: 243rem; }
.medical-data .inner-s .data2 img { width: 250rem; }
.medical-data .inner-s .data3 img { width: 100%; }
.medical-data .inner-s .data4 img { width: 100%; }
.medical-data .inner-s .data5 img { width: 100%; }
.medical-data .inner-s .data6 img { width: 100%; }
.medical-data .inner-s .data7 img { width: 100%; }
.medical-data .inner-s .data8 img { width: 100%; }
.medical-data .inner-s .data9 img { width: 272rem; }

.medical-data .inner-s h4 {
	margin-bottom: 14rem;
	color: var(--color-green);
	font-size: 14rem;
	letter-spacing: 0.1em;
}

.medical-data .inner-s p {
	color: var(--color-gray);
	font-size: 13rem;
	line-height: 2;
}

.medical-data .box-wrap.column3 .dot-list-even {
	display: flex;
	gap: 0 25rem;
}

.medical-data .box-wrap.column3 .dot-list li,
.medical-data .box-wrap.column3 .txt-list li {
	margin-bottom: 5rem;
	color: var(--color-gray-dark);
	font-size: 14rem;
	line-height: 1.5;
	letter-spacing: 0.08em;
}

.medical-data .box-wrap.column3 .txt-list li:not(:last-child) {
	margin-bottom: 12rem;
}

.medical-data .box-wrap.column3 .txt-list li span {
	display: block;
	font-size: 12rem;
}

.medical-data .box-wrap.column3 p.attention {
	margin-top: 10rem;
	font-size: 12rem;
	line-height: 1.7;
}

/* .dl-data-total
------------------------------------*/
.dl-data-total {
	float: right;
	display: flex;
	align-items: flex-end;
	width: fit-content;
	color: var(--color-gray-dark);
	font-size: 13rem;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.dl-data-total.border { border-bottom: 1px dashed var(--color-border-gray-light); }

.dl-data-total.mr { margin-right: 10rem; }
.dl-data-total.mb { margin-bottom: 5rem; }

.dl-data-total dt { padding: 0 10rem 3rem 0; font-size: 11rem; }
.dl-data-total.mr dt { font-size: 17rem; transform: translateY(-2rem); }

.dl-data-total dd strong {
	display: inline-block;
	padding-right: 2rem;
	font-size: 21rem;
	transform: translateY(1rem);
}

.dl-data-total.mr dd strong { font-size: 28rem; }

/* .dl-data-line
------------------------------------*/
.dl-data-line { padding-top: 8rem; }
.dl-data-line + .dl-data-line { margin-top: 8rem; }
.dl-data-line:not(:last-child):not(:has(+.dl-data-line)) { margin-bottom: 10rem; }

.dl-data-line.even {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 30rem;
}

.dl-data-line dl {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	border-bottom: 1px dashed var(--color-border-gray-light);
	color: var(--color-gray-dark);
	font-size: 13rem;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.dl-data-line.even dl {
	font-size: 12rem;
}

.dl-data-line dl:not(:last-child) { margin-bottom: 6rem; }
.dl-data-line.even dl:not(:last-child) { margin-bottom: 9rem; }

.dl-data-line dt {
	padding: 2rem 10rem 0 0;
	white-space: nowrap;
}

.dl-data-line dd strong {
	padding-right: 2rem;
	font-size: 16rem;
}

.dl-data-line.even dd strong {
	font-size: 15rem;
}

/* .dl-data-box
------------------------------------*/
.dl-data-box {
	background-color: #F9F9F9;
	padding: 20rem 20rem 10rem;
}

.dl-data-box dl {
	display: flex;
	justify-content: space-between;
	color: var(--color-gray-dark);
	font-size: 12rem;
	letter-spacing: 0.06em;
}

.dl-data-box dl:not(:last-child) {
	margin-bottom: 10rem;
}

.dl-data-box dd i {
	font-size: 10rem;
}

/* .list-data-even
------------------------------------*/
.list-data-even .dot-list li {
	margin-bottom: 3rem;
	color: var(--color-gray);
	font-size: 13rem;
	letter-spacing: 0.06em;
}

/* .table-data-line
------------------------------------*/
.table-data-line {
	width: 100%;
	margin-left: 8rem;
}

.table-data-line thead th {
	padding: 0 6rem 8rem 0;
	color: var(--color-green);
	font-size: 12rem;
	text-align: right;;
}

.table-data-line thead th:last-of-type,
.table-data-line tbody td:last-of-type {
	width: 25%;
	padding-right: 20rem;
}

.table-data-line tbody tr {
	border-top: 1px dashed var(--color-border-gray-light);
}

.table-data-line tbody th,
.table-data-line tbody td {
	padding: 5rem 0 18rem;
}

.table-data-line tbody th {
	width: 35%;
	color: var(--color-gray-dark);
	font-size: 12rem;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

.table-data-line tbody td {
	width: 20%;
	color: var(--color-gray-dark);
	font-size: 12rem;
	text-align: right;
}

.table-data-line tbody td strong {
	padding-right: 2rem;
	font-size: 14rem;
}

/* .medical-data .inner.data
------------------------------------*/

/* .data1-3 */
.medical-data .inner.data1-3 .inner-s .dl-data-line {
	padding: 28rem 10rem 0;
}

/* .data1-4 */
.medical-data .inner.data1-4 .inner-s figure {
	margin-bottom: 25rem;
	padding: 0 3rem;
}

.medical-data .inner.data1-4 .inner-s .dl-data-box {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 35rem;
}

/* .data2-1 */
.medical-data .inner.data2-1 .dl-data-line.even { margin: 15rem 10rem 30rem; }
.medical-data .inner.data2-1 .dl-data-line.even dl:not(:last-child) { margin-bottom: 7rem; }
.medical-data .inner.data2-1 h4,
.medical-data .inner.data2-1 .list-data-even { margin-left: 8rem; }

/* .data2-2 */
.medical-data .inner.data2-2 .inner-s { position: relative; padding: 0 10rem; }
.medical-data .inner.data2-2 .inner-s figure { margin-top: 50rem; margin-bottom: 30rem; }
.medical-data .inner.data2-2 .dl-data-total.mr { display: block; position: absolute; top: -40rem; right: 0; text-align: right; }
.medical-data .inner.data2-2 .dl-data-total.mr dt { display: block; margin-bottom: -12rem; padding-right: 0; font-size: 14rem; }

/* .data2-2-2 */
/* .data2-2-3 */
.medical-data .inner.data2-2-2 .inner-s,
.medical-data .inner.data2-2-3 .inner-s { padding-left: 15rem; }

/* .data2-2-4 */
.medical-data .inner.data2-2-4 .inner-s { padding-left: 14rem; }

/* .data2-3 */
/* .data2-4 */
.medical-data .box .inner.data2-3,
.medical-data .box .inner.data2-4 { margin-bottom: 55rem; }
.medical-data .box .inner.data2-3 figure,
.medical-data .box .inner.data2-4 figure { padding-left: 8rem; }

/* .data2-6 */
.medical-data .box .inner.data2-6 figure { padding: 0 8rem; }

/* .data3-1 */
.medical-data .inner.data3-1 .inner-s { padding-top: 10rem; }

/* .data3-2 */
.medical-data .inner.data3-2 .inner-s { padding: 0 8rem; }
.medical-data .inner.data3-2 .dl-data-line:not(:last-child):not(:has(+.dl-data-line)) { margin-bottom: 30rem; }
.medical-data .inner.data3-2 .dl-data-line:not(.even) dt { padding-top: 0; padding-right: 20rem; }

/* .medical-img
------------------------------------*/
.medical-img {
	width: 88%;
	margin: 80rem auto 20rem;
}

/* .medical-common
------------------------------------*/
.medical-common {
	position: relative;
	margin: 0 auto 80rem;
}

.medical-common h2 {
	position: absolute;
	top: 0;
	left: calc(6% - 4rem);
	color: var(--color-green);
	font-size: 14rem;
	letter-spacing: 0.16em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

/* .medical-area
------------------------------------*/
.medical-area {
	position: relative;
}

.medical-area .map {
	overflow: hidden;
	padding-top: 50rem;
}

.medical-area .map figure {
	margin: 0 -80rem 30rem -170rem;
}

.medical-area .map p,
.medical-area .map .attention-list {
	padding: 0 calc(6% + 16rem) 0 calc(6% + 53rem);
}

.medical-area .map p {
	margin-bottom: 9rem;
	font-size: 13rem;
	line-height: 1.9;
}

.medical-area .map .attention-list {
	margin-top: 15rem;
}

.medical-area .map .attention-list li {
	margin-left: -16rem;
	padding-left: 16rem;
	text-indent: 16rem;
	font-size: 12rem;
	letter-spacing: 0.08em;
}

.medical-area .area,
.medical-care {
	padding: 0 6% 0 calc(6% + 40rem);
}

.medical-area .area dl:not(:last-child) {
	margin-bottom: 26rem;
}

.medical-area .area dt {
	margin-bottom: 8rem;
}

.medical-area .area dt h3 {
	color: var(--color-green);
	font-size: 14rem;
	letter-spacing: 0.1em;
}

.medical-area .area dd h4 {
	margin-bottom: 12rem;
	font-size: 15rem;
	letter-spacing: 0.12em;
}

.medical-area .area dd address {
	color: var(--color-gray-dark);
	font-size: 13rem;
	line-height: 1.8;
	letter-spacing: 0.06em;
}

.medical-area .area dd address .p_narrow { display: block; }
.medical-area .area dd address .p_narrow:not(:last-child) { margin-bottom: 10rem; }

/* .medical-care
------------------------------------*/
.medical-care {
	margin-bottom: 90rem;
}

.medical-care-inner:not(:last-child) {
	margin-bottom: 50rem;
}

.medical-care-inner figure {
	margin: 0 0 35rem;
}

.medical-care-inner h3 {
	margin-bottom: 30rem;
	font-size: 14rem;
	letter-spacing: 0.1em;
}

.medical-care-inner .link-list {
	margin-top: 30rem;
}


/* page home-care, psychiatric
---------------------------------------------------------------------------*/
.service-lead .txt,
.service-detail { padding: 0 10%; }

.service-point .inner:not(:last-child) { margin-bottom: 55rem; }
.service-point .inner figure { margin: 0 -4rem 32rem; }
.service-point .inner .txt { padding: 0 20rem; }

/* .service-lead
------------------------------------*/
.service-lead {
	margin: 0 auto 70rem;
}

.service-lead .title-page,
.medical-lead .title-page {
	margin-bottom: 45rem;
}

.service-lead .txt h2 {
	margin-bottom: 20rem;
	color: var(--color-green);
	font-family: var(--font-serif-jp);
	font-size: 19rem;
	line-height: 1.9;
	letter-spacing: 0.12em;
}

.service-lead .txt p {
	color: var(--color-gray-dark);
	font-size: 13rem;
	line-height: 2.25;
	letter-spacing: 0.08em;
}

.service-lead .txt p,
.service-lead .txt p span.p:not(:last-child) {
	margin-bottom: 12rem;
}

/* .service-point
------------------------------------*/
.service-point {
	background-color: var(--color-bg-green-light);
	margin: 0 auto 45rem;
	padding: 22rem 4.5% 65rem;
}

.service-point .lead {
	position: relative;
	margin-bottom: 50rem;
	letter-spacing: 0.1rem;
	line-height: 2;
}

.service-point .lead:not(:has(p)) {
	margin-bottom: 45rem;
}

.service-point .lead .title-page {
	width: 100%;
	margin-bottom: 38rem;
	padding: 0 5rem;
}

.service-point .lead p {
	padding: 0 20rem;
	font-size: 13rem;
	line-height: 2.1;
	letter-spacing: 0.06em;
}

.service-point .inner h3 {
	margin-bottom: 20rem;
	color: var(--color-green);
	font-family: var(--font-serif-jp);
	font-size: 18rem;
	line-height: 1.7;
	letter-spacing: 0.14em;
	text-align: center;
}

.service-point .inner h3 br {
	display: none;
}

.service-point .inner p {
	font-size: 13rem;
}

.service-point .inner .link-list {
	margin-top: 20rem;
}

/* .service-psychiatric .inner3
------------------------------------*/
.service-psychiatric .inner3 figure {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
}

/* .service-detail
------------------------------------*/
.service-detail {
	margin: 0 auto 60rem;
}

.service-detail .txt {
	color: var(--color-gray-dark);
}

.service-detail h2 {
	border-top: 1px solid var(--color-border-gray);;
	margin-bottom: 35rem;
	padding-top: 11rem;
	color: var(--color-green);
	font-family: var(--font-serif-jp);
	font-size: 15rem;
	line-height: 1.75;
	letter-spacing: 0.12em;
}

#psychiatricContents .service-detail h2 {
	font-size: 15rem;
}

.dl-service-list dl { margin-bottom: 24rem; }
.dl-service-list dl:not(:has(dt)) { margin-bottom: 2rem; }

.dl-service-list:not(:has(dt)) { margin-top: -5rem; }

.dl-service-list dt {
	position: relative;
	margin-bottom: 11rem;
	padding-left: 22rem;
	color: var(--color-green);
	font-size: 14rem;
	letter-spacing: 0.08em;
}

.dl-service-list dt:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 2rem;
	border: 2px solid var(--color-green);
	border-radius: 50%;
	width: 14rem;
	height: 14rem;
	opacity: 0.8;
}

.dl-service-list dd li {
	margin-bottom: 1rem;
	margin-left: 6rem;
	padding-left: 12rem;
	font-size: 13rem;
	line-height: 1.8;
	letter-spacing: 0.08em;
}

.dl-service-list dd li span {
	display: block;
	padding: 2rem 0 10rem;
	font-size: 12rem;
}

.service-detail .txt p {
	line-height: 1.9;
	letter-spacing: 0.05em;
}

.service-detail .txt p.attention {
	font-size: 13rem;
	letter-spacing: 0.06em;
}

.service-detail .txt h3,
.service-detail .area h3 {
	color: var(--color-green);
	font-size: 14rem;
	letter-spacing: 0.12em;
}

.service-detail .target { margin: 45rem 0; }
.service-detail .txt h3 { margin-bottom: 22rem; }
.service-detail .txt .txt-inner:first-of-type h3:not(:first-of-type) { margin-top: 40rem; }

.service-detail .dl-table {
	border-top: 1px solid var(--color-border-gray-light);
	margin-bottom: 10rem;
}

.service-detail .dl-table dl {
	display: flex;
	border-bottom: 1px solid var(--color-border-gray-light);
	padding: 14rem 5rem 10rem;
}

.service-detail .dl-table dt {
	width: 85rem;
	min-width: 85rem;
	padding-top: 5rem;
	font-size: 13rem;
	letter-spacing: 0.1em;
	color: var(--color-green);
	vertical-align: top;
}

.service-detail .dl-table dd { width: 100%; }
.service-detail .dl-table dd li { margin-bottom: 2rem; font-size: 13rem; letter-spacing: 0.1em; }
.service-detail .dl-table dd li span { margin-left: -2rem; font-size: 12rem; letter-spacing: 0.08em; }
.service-detail .dl-table + p { margin-top: 13rem; font-size: 13rem; }
.service-detail .target p a { color: var(--color-gray-dark); }
.service-detail .area h3 { margin-bottom: 12rem; }

/* .service-common
------------------------------------*/
.service-common {
	position: relative;
	border-top: 1px solid var(--color-border-gray);
	width: 82%;
	margin: 0 auto 70rem;
	padding-top: 14rem;
}

.service-common h2 {
	margin-bottom: 30rem;
	color: var(--color-green);
	font-family: var(--font-serif-jp);
	font-size: 15rem;
	letter-spacing: 0.1em;
}

.service-common .dl-list { padding-left: 32rem; }
.service-common .dl-list dl:not(:last-of-type) { margin-bottom: 25rem; }

.service-common .dl-list dt {
	position: relative;
	margin-bottom: 7rem;
	color: var(--color-green);
	font-size: 14rem;
	line-height: 1.8;
	letter-spacing: 0.12em;
}

.service-common .dl-list dt i {
	display: block;
	position: absolute;
	top: -6rem;
	left: -30rem;
	font-family: var(--font-serif-en);
	font-size: 20rem;
}

_::-webkit-full-page-media, _:future, :root .service-common .dl-list dt i {
	top: -4rem;
}

.service-common .dl-list dd p {
	color: var(--color-gray-dark);
	line-height: 1.9;
	letter-spacing: 0.06em;
}

/* .qa-list
------------------------------------*/
.service-qa .qa-list { margin: 0 -5rem; }

.qa-list dl { background-color: #FFFFFF; border-radius: 3rem; }
.qa-list dl:not(:last-child) { margin-bottom: 10rem; }

.qa-list dt {
	position: relative;
	padding: 15rem 55rem 12rem 20rem;
	/*color: var(--color-gray-dark);*/
	font-size: 14rem;
  line-height: 1.6;
	letter-spacing: 0.08em;
	transition: .15s ease-out;
}

.qa-list dt.active { color: var(--color-green); }
.qa-list dt i.q { display: none; }

.qa-list dt .plus,
.job-list button .plus {
	position: absolute;
	top: 18rem;
	right: 21rem;
	width: 13rem;
	height: 13rem;
	transition: .4s var(--easeOutQuint);
	transform: rotate(0deg);
}

.qa-list dt.active .plus,
.job-list button.active .plus { transform: rotate(225deg); }

.qa-list dt .plus:before,
.qa-list dt .plus:after,
.job-list button .plus:before,
.job-list button .plus:after {
	display: block;
	content: '';
	position: absolute;
	background-color: var(--color-green);
}

.qa-list dt .plus:before,
.job-list button .plus:before { top: 0; left: 6rem; width: 1px; height: 100%; }
.qa-list dt .plus:after,
.job-list button .plus:after { top: 6rem; left: 0; width: 100%; height: 1px; }

.qa-list dt.active .plus:before,
.qa-list dt.active .plus:after,
.job-list button .active .plus:before,
.job-list button .active .plus:after { background-color: var(--color-green); }

.qa-list dd {
	display: none;
	padding: 0 25rem 25rem 35rem;
}

.qa-list dd,
.qa-list dd p,
.qa-list dd span {
	color: var(--color-gray);
	font-size: 13rem !important;
	line-height: 1.9;
	letter-spacing: 0.07em !important;
	text-align: justify;
}

/* .service-link
------------------------------------*/
.service-link {
	width: 90%;
	margin: 90rem auto 0;
}

.service-link .lead {
	margin-bottom: 30rem;
	padding: 0 15rem;
}

.service-link .lead h2 {
	width: auto;
	margin-bottom: 20rem;
	padding: 0;
}

.service-link .lead p {
	font-size: 13rem;
	line-height: 1.9;
}

.service-link nav {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16rem 0;
}

.service-link nav .inner {
	background-color: #FFFFFF;
	border-radius: 3rem;
	padding: 24rem 0 24rem 19rem;
}

.service-link nav .inner a {
	display: flex;
	align-items: center;
	transition: .15s ease-out;
}

.service-link nav .inner figure {
	width: 115rem;
	min-width: 115rem;
}

.service-link nav .inner figure img {
	border-radius: 3rem;
}

.service-link nav .inner a > div {
	padding: 0 0 0 21rem;
}

.service-link nav .inner p {
	margin-bottom: 6rem;
	color: var(--color-gray-dark);
	font-size: 12rem;
	line-height: 1.85;
	letter-spacing: 0.14em;
}

.service-link nav .inner h3 {
	display: inline-block;
	position: relative;
	background: url(img/share/ico-btn-arrow-green-l.svg) no-repeat right bottom 4rem / 18rem auto;
	padding: 0 25rem 0 0;
	color: var(--color-green);
	font-size: 14rem;
	line-height: 1.8;
	letter-spacing: 0.07em;
	text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

_::-webkit-full-page-media, _:future, :root .service-link nav .inner h3 {
	background-position: right bottom 3rem;
}

.service-link nav .inner h3 .link-arrow {
	position: absolute;
	bottom: 4rem;
	right: 0;
}


/* page recruit
---------------------------------------------------------------------------*/
#recruit-job {
	margin-top: -120rem;
	padding-top: 120rem;
}

/* .recruit-lead
------------------------------------*/
.recruit-lead {
	overflow: hidden;
	margin-bottom: 80rem;
}

.recruit-lead-inner {
	overflow: hidden;
	padding: 0 10%;
}

.recruit-lead h2,
.recruit-lead h3,
.recruit-lead p,
.recruit-lead .link-list {
	opacity: 0;
}

.recruit-lead h2 {
	float: right;
	font-family: var(--font-serif-jp);
	font-size: 20rem;
	line-height: 1.75;
	letter-spacing: 0.2em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
	transform: scaleX(1.1) !important;
	z-index: 1;
	will-change: transform;
}

.recruit-lead h3 { margin: 0 0 38rem; }
.recruit-lead h3 img { width: 165rem; }

.recruit-lead p,
.recruit-company .inner p,
.recruit-data .lead p {
	margin-bottom: 10rem;
	color: var(--color-gray-dark);
	font-size: 13rem;
	line-height: 2;
	letter-spacing: 0.05em;
}

.recruit-lead p { will-change: transform; }
.recruit-data .lead .p_narrow { margin-bottom: 9rem; }
.recruit-lead .link-list { margin: 30rem 0 0; }

/* .img-slide-recruit-wrap
------------------------------------*/
.img-slide-recruit-wrap { height: 180rem; margin-top: 95rem; margin-bottom: 60rem; opacity: 0; }
.img-slide-recruit { display: flex; gap: 0 3rem; }
.img-slide-recruit figure img { width: auto; height: 180rem; }

/* .recruit-company
------------------------------------*/
.recruit-company {
	position: relative;
	border-top: 1px solid var(--color-border-gray);
	width: 82%;
	margin:0 auto 90rem;
	padding: 15rem 0 0;
}

.recruit-company h2 {
	margin-bottom: 40rem;
	color: var(--color-green);
	font-size: 15rem;
	letter-spacing: 0.06em;
}

.recruit-company .inner:not(:last-child) { margin-bottom: 55rem; }
.recruit-company .inner figure { margin-bottom: 40rem; }

.recruit-company .inner h3 {
	margin-bottom: 20rem;
	color: var(--color-green);
	font-family: var(--font-serif-jp);
	font-size: 19rem;
	line-height: 1.8;
	letter-spacing: 0.19em;
}

.recruit-company .inner .link-list { margin: 25rem 0 0; }
.recruit-company .inner .link-list li:not(:last-child) { margin-bottom: 8rem; }

/* .recruit-data
------------------------------------*/
.recruit-data {
	margin: 0 auto 80rem;
}

.recruit-data > figure { margin-bottom: 52rem; }
.recruit-data .lead { text-align: center; }

.recruit-data .lead h2 {
	margin:0 -5rem 28rem;
	font-size: 19rem;
	letter-spacing: 0.2em;
	white-space: nowrap;
	text-align: center;
}

.recruit-data .box { padding-top: 95rem; }

/* .recruit-data .data2-2-1
------------------------------------*/
.recruit-data .data2-2-1 .inner-s figure { margin-bottom: 30rem; }
.recruit-data .data2-2-1 .inner-s .txt { padding: 0 5rem; }

.dl-training {
	display: grid;
	grid-template-columns: 1fr;
	gap: 30rem 0;
}

.medical-data .inner-s .dl-training h4 {
	margin-bottom: 12rem;
	color: var(--color-green);
	font-size: 15rem;
	letter-spacing: 0.1em;
}

.medical-data .inner-s .dl-training p,
.recruit-data .data2-2-1 .other p {
	color: var(--color-gray-dark);
	line-height: 1.9;
}

.recruit-data .data2-2-1 .other {
	display: flex;
	margin-top: 25rem;
}

.recruit-data .data2-2-1 .other h5,
.recruit-data .data2-2-1 .other p {
	font-size: 13rem;
	line-height: 1.7;
	letter-spacing: 0.08em;
}

.recruit-data .data2-2-1 .other h5 {
	width: 65rem;
	min-width: 65rem;
	color: var(--color-green);
}

/* .recruit-common
------------------------------------*/
.recruit-common { position: relative; margin: 0 auto 80rem; }
.recruit-common .title-page { margin-bottom: 27rem; }
.recruit-common .title-page strong { font-family: var(--font-serif-jp); }
.recruit-common .title-page em { display: none; }

/* .recruit-faq
------------------------------------*/
.recruit-faq .qa-list { width: 87%; margin: 0 auto; }

/* .recruit-job
------------------------------------*/
.recruit-job .title-page,
.recruit-job .lead {
	width: 87%;
	padding: 0 10rem;
}

.recruit-job .title-page { margin-bottom: 15rem; }
.recruit-job .title-page strong { letter-spacing: 0.04em; }
.recruit-job .lead { margin: 0 auto 30rem; }
.recruit-job .lead p { opacity: 0.8; }

.recruit-job > .btn-link {
	display: block !important;
	width: 89%;
	margin: 48rem auto;
	padding: 0;
}

.recruit-job > .btn-link a {
	padding-top: 19rem;
	padding-bottom: 19rem;
	font-size: 16rem;
}

.job-list { width: 87%; margin: 0 auto; }
.job-list article { background-color: #FFFFFF; border-radius: 3rem; }
.job-list article:not(:last-child) { margin-bottom: 4rem; }

.job-list button {
	position: relative;
	width: 100%;
	padding: 17rem 20rem 17rem;
	color: var(--color-green);
	font-family: var(--font-serif-jp);
	font-size: 15rem;
	letter-spacing: 0.1em;
	text-align: left;
	transition: .3s var(--easeOutCubic);
}

.job-list button.active,
.job-list article:first-of-type:last-of-type button { padding-top: 28rem; }

.job-list button.active .plus { margin-top: 11rem; }

.job-list article:first-of-type:last-of-type button { pointer-events: none; }
.job-list article:first-of-type:last-of-type button .plus { display: none; }
.job-list article:first-of-type:last-of-type .detail { display: block !important; }

.job-list .detail { display: none; }
.job-list .detail > div { padding: 10rem 20rem 5rem; }

.job-list .detail dl {
	border-top: 1px solid var(--color-border-gray-light);
	padding: 5rem 0 22rem;
}

.job-list .detail dl,
.job-list .detail dd p {
	font-size: 13rem;
	line-height: 1.8;
	letter-spacing: 0.06em;
}

.job-list .detail dt {
	margin-bottom: 13rem;
	padding-left: 1rem;
	color: var(--color-green);
}

.job-list .detail dd {
	padding: 0 0 0 15rem;
	color: var(--color-gray);
	text-align: justify;
}

.job-list .detail dd p {
	margin-bottom: 11rem;
}

.job-list .detail dd p br {
	display: block;
}

.job-list .detail .btn-link {
	margin-top: 20rem;
}

.job-list .detail .btn-link a {
	border-radius: 0;
	padding-top: 18rem;
	padding-bottom: 19rem;
	font-size: 17rem;
}


/* page company
---------------------------------------------------------------------------*/

/* .dl-outline
------------------------------------*/
.dl-outline > dl {
	border-top: 1px solid var(--color-border-gray);
	padding: 5rem 0 25rem;
}

.dl-outline > dl:last-of-type { padding-bottom: 0; }

.dl-outline > dl,
.dl-outline > dl p {
	font-size: 14rem;
	line-height: 1.65;
	letter-spacing: 0.08em;
}

.dl-outline > dl > dt {
	margin-bottom: 13rem;
	color: var(--color-green);
	font-size: 13rem;
	padding-left: 1px;
}

.dl-outline > dl > dd { padding-left: 14rem; color: var(--color-gray-dark); }
.dl-outline > dl > dd.pl { padding: 20rem 0 0 35rem; }

.dl-outline > dl > dd .link-list { margin-bottom: 25rem; }
.dl-outline > dl > dd .link-list:not(:first-child) { margin-top: 24rem; }
.dl-outline > dl > dd .link-list li a { letter-spacing: 0.08em; }

.dl-outline > dl > dd .dl-wide > dl { margin-bottom: 45rem; }
.dl-outline > dl > dd .dl-wide p { margin-bottom: 10rem; }
.dl-outline > dl > dd .dl-wide p a.link-tel { color: var(--color-gray-dark); }
.dl-outline > dl > dd .dl-line > dl > dt { letter-spacing: 0.06em; }

.dl-outline .map {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 0;
	margin-top: 22rem;
	padding-bottom: 75%;
}

.dl-outline .map iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.dl-outline .dl-dot-list { padding-bottom: 30rem; }
.dl-outline .dl-dot-list dl:not(:last-of-type) { margin-bottom: 15rem; }

.dl-outline .dl-dot-list dt {
	margin-bottom: 8rem;
	color: var(--color-green);
	font-size: 14rem;
	letter-spacing: 0.1em;
}

.dl-outline .dl-dot-list dd { padding-top: 2rem; }

.dl-outline .dl-dot-list dd .dot-list li {
	margin-bottom: 4rem;
	font-size: 13rem;
	letter-spacing: 0.08em;
}

/* page question
---------------------------------------------------------------------------*/

/* .qa-wrap
------------------------------------*/
.qa-wrap aside {
	display: none !important;
}

/* .qa-inner
------------------------------------*/
.qa-inner .post:not(:last-of-type) { margin-bottom: 80rem; }

.qa-inner .post h2 {
	margin: 0 0 24rem;
	color: var(--color-green);
  font-family: var(--font-serif-jp);
	font-size: 17rem;
	line-height: 1.7;
	letter-spacing: 0.06em;
}

.qa-inner .qa-main h2 {
	margin: 30rem 0 10rem;
	font-size: 14rem;
}

.qa-main blockquote {
	margin: 30rem 0;
}

.qa-inner .post-link {
	margin-top: 20rem;
}

.qa-inner .post-link .btn-link a {
	font-size: 13rem;
}


/* page contact
---------------------------------------------------------------------------*/
#contactContents .section-lead > p {
	letter-spacing: 0.06em;
}

/* .contact-area
------------------------------------*/
.contact-area { margin: 40rem 0 -90rem; }

.contact-area dl {
	border-top: 1px solid var(--color-border-gray-light);
	padding: 8rem 0 35rem;
}

.contact-area dt { margin-bottom: 25rem; }

.contact-area dt h2 {
	color: var(--color-green);
	font-size: 14rem;
	letter-spacing: 0.14em;
}

.contact-area dd,
.contact-area dd a { color: var(--color-gray-dark); }

.contact-area dd { padding: 0 0 0 15rem; }

.contact-area dd h3 {
	margin-bottom: 10rem;
	color: var(--color-text);
	font-size: 16rem;
	letter-spacing: 0.08em;
}

.contact-area dd address,
.contact-area dd .tel,
.contact-area dd .num {
	font-size: 14rem;
	line-height: 1.7;
	letter-spacing: 0.08em;
}

.contact-area dd address,
.contact-area dd .tel {
	margin-bottom: 9rem;
}

.contact-area dd .tel { margin-right: -15rem; }


/* .form-wrap
------------------------------------*/
.form-wrap {
	color: var(--color-gray-dark);
}

.form-wrap dl, .form-wrap dl p { line-height: 1.6; }
.form-wrap dl div { margin-bottom: 25rem; }
.form-wrap dl div:last-of-type { margin-bottom: 0; }

.form-wrap dt {
	position: relative;
	margin-bottom: 11rem;
}

.form-wrap dt,
.form-wrap dt p {
	font-size: 14rem;
	letter-spacing: 0.08em;
}

.form-wrap dl > div:last-of-type dt {
	padding-top: 10rem;
	align-self: flex-start;
}

.form-wrap dt span {
	display: inline-block;
	padding-left: 4rem;
	font-size: 12rem;
	letter-spacing: 0.08em;
}

.form-wrap dd {
	width: 100%;
	min-height: 48rem;
}

.form-wrap dd p {
	font-size: 12rem;
	line-height: 1.7;
	text-align: justify;
}

/* input
------------------------------------*/
.wpcf7-form-control-wrap {
	display: inline-block;
	position: relative;
	width: 100%;
}

.form-wrap input[type="text"],
.form-wrap input[type="email"],
.form-wrap input[type="tel"],
.form-wrap textarea {
  -webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
  border-radius: 0;
	font-family: var(--font-gothic-jp-device);
}

.form-wrap input[type="text"],
.form-wrap input[type="email"],
.form-wrap input[type="tel"],
.form-wrap select,
.form-wrap textarea,
.form-wrap .btn-select .customSelect {
	display: inline-block;
	background-color: #FFFFFF;
	border: none;
	border-radius: 0;
	width: 100%;
	height: 50rem;
	padding: 9rem 18rem 8rem;
	font-size: max(16rem, 16px);
	letter-spacing: 0.1em;
}

.form-wrap select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	position: relative;
	cursor: pointer;
	z-index: 1;
}

.btn-select .wpcf7-form-control-wrap .customSelect {
	position: relative;
	z-index: 0;
}

.btn-select .wpcf7-form-control-wrap:before {
	display: block;
	content: '';
	position: absolute;
	top: 22rem;
	right: 16rem;
	background-color: var(--color-yellow-green);
	width: 9rem;
	height: 8rem;
	clip-path: polygon(0 0, 100% 0%, 50% 100%);
	z-index: 2;
	pointer-events: none;
}

.form-wrap textarea {
	display: block;
	height: 300rem;
	padding: 14rem 18rem;
	line-height: 1.8;
}

::-webkit-input-placeholder { display: none; font-size: 0; }
:-moz-placeholder { display: none; font-size: 0; }
::-moz-placeholder { display: none; font-size: 0; }
:placeholder-shown { display: none; font-size: 0; }

/* .privacy-check
------------------------------------*/
.privacy-check { margin: 25rem 0 0; }

.privacy-check,
.privacy-check p a { color: var(--color-gray-dark); }

.privacy-check p { font-size: 14rem; }

.privacy-check .wpcf7-form-control-wrap {
	width: auto;
	margin-right: 16rem;
  transform-origin: left center;
}

.privacy-check .wpcf7-form-control-wrap input {
	margin-right: 10rem;
	transform: scale(1.2) translateY(1rem);
}

/* .contact-btm
------------------------------------*/
.contact-btm { margin: 9rem 0 0; }
.contact-btm,
.contact-btm a { color: var(--color-gray-dark); }
.contact-btm p { font-size: 12rem; line-height: 1.9; letter-spacing: 0.1em; }

/* .btn-submit
------------------------------------*/
.btn-submit {
	position: relative;
	display: inline-block;
	margin: 25rem 0 0;
}

.btn-submit input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: block;
	background: var(--color-green) url(img/share/ico-btn-arrow-green.svg) no-repeat center right 50rem / 22rem auto;
	border: none;
	border-radius: 8rem;
	margin: 0;
	padding: 17rem 90rem 18rem 60rem;
	color: var(--color-text-white);
	font-size: 16rem;
	line-height: 1.4;
	letter-spacing: 0.12em;
	text-align: center;
	white-space: nowrap;
}

/* error
------------------------------------*/
.form-wrap .txt-error,
.wpcf7-not-valid-tip,
.txt-response,
.wpcf7-response-output { display: block; }

.form-wrap .txt-error,
.wpcf7-not-valid-tip {
	margin: 11rem 0 0;
	padding: 0;
	color: var(--color-green);
	font-size: 13rem;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.screen-reader-response { display: none; }

.txt-response,
.wpcf7-response-output {
	margin: 30rem 0 0;
	color: var(--color-green);
	font-size: 15rem;
	line-height: 1.8;
	letter-spacing: 0.08em;
}

.wpcf7-response-output:first-child { margin: 0 0 45rem; padding-top: 120rem; }
.wpcf7-response-output:empty { padding-top: 80rem; }

.hidden-fields-container {
	border: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* recaptcha
------------------------------------*/
.grecaptcha-badge { pointer-events: none; z-index: -999; opacity: 0; transition: .15s ease-out; }
body.contact .grecaptcha-badge { pointer-events: auto; z-index: 0; opacity: 1; }


/* page privacy
---------------------------------------------------------------------------*/

/* .privacy-list
------------------------------------*/
.privacy-list { margin-top: 60rem; }
.privacy-list dl:not(:last-of-type) { margin-bottom: 37rem; }
.privacy-list dt { margin-bottom: 14rem; }

.privacy-list dt h2 {
	color: var(--color-green);
	font-family: var(--font-serif-jp);
	font-size: 16rem;
	line-height: 1.65;
	letter-spacing: 0.08em;
}

.privacy-list dd { margin-left: 19rem; }

.privacy-list dd h3 {
	margin: 30rem 0 13rem 2rem;
	color: var(--color-green);
	font-size: 15rem;
	line-height: 1.65;
	letter-spacing: 0.08em;
}

.privacy-list dd p + h3 { margin-top: 30rem; }

.privacy-list dd p,
.privacy-list dd .dot-list li {
	color: var(--color-gray-dark);
	font-size: 13rem;
	line-height: 2;
	letter-spacing: 0.04em;
	text-align: justify;
}

.privacy-list dd p { margin-bottom: 15rem; }
.privacy-list dd h3 + .dot-list { margin: 0 0 0 22rem; }
.privacy-list dd .dot-list li { margin-bottom: 2rem; padding-left: 12rem; }