@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;

  --max-width: 1600px;
}

html {
	font-size: calc(0.4px + 0.0454vw);
}

@media (min-width: 1320px) {
	html {
		font-size: calc(0.7px + 0.0227vw);
	}
}

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

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: 16rem;line-height: 2.2;letter-spacing: 0.08em;margin-bottom: 0.9em;}
p .p_wide { display: block; margin-bottom: 0.9em; }
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: inline-block !important; }
.narrow { display: none !important; }
.nav-sp, .btn-nav { display: none !important; }
.link-tel { color: inherit !important; text-decoration: none !important; pointer-events: none; }

.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; transition: .12s ease-out; -webkit-transform: translateZ(0); }
.hover { cursor: pointer; transition: .12s ease-out; }
a:hover,.hover:hover { color: var(--color-green) !important; }
a:hover { opacity: 1; }
.hover:hover { opacity: 0.7; }

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: 8rem;
	margin: 0;
	padding: 15rem 20rem 15rem 22rem;
	color: var(--color-text-white) !important;
	font-size: 15rem;
	line-height: 1.4;
	letter-spacing: 0.1em;
	text-align: center;
	white-space: nowrap;
	transition: .15s ease-out;
}

.btn-link a:hover { opacity: 0.8; }

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

.btn-link a > span .link-arrow {
	display: block;
	position: absolute;
	top: -3rem;
	right: 0;
}

/* .link-list
------------------------------------*/
.link-list li a {
	display: inline-block;
	position: relative;
	min-height: 26rem;
	padding: 5rem 35rem 2rem 0;
	font-size: 15rem;
	line-height: 1;
	letter-spacing: 1.9rem;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.25em;
	font-feature-settings: inherit;
	/* font-feature-settings: normal; */
}

.link-list li a .link-arrow { position: absolute; top: 0; right: 0; }

.link-list.size-s li a {
	background-size: 22rem auto;
	padding-top: 3rem;
	padding-right: 24rem;
	font-size: 14rem;
	letter-spacing: 0.1em;
}

.link-list.size-s li a .link-arrow { top: 1.5rem; }

/* .link-arrow
------------------------------------*/
.link-arrow {
	display: block;
	position: relative;
	overflow: hidden;
	border-radius: 37%;
	width: 26rem;
	height: 26rem;
}

.link-arrow:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	border: 1px solid #7DC72F;
	border-radius: 37%;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.link-list.size-s .link-arrow,
.mnav .inner h3 .link-arrow {
	width: 18rem;
	height: 18rem;
}

.link-list.size-s .link-arrow,
.link-list.size-s .link-arrow:before,
.mnav .inner h3 .link-arrow,
.mnav .inner h3 .link-arrow:before {
	border-radius: 40%;
}

.news-list .link-arrow,
.news-list .link-arrow:before {
	border-radius: 37%;
	width: 40rem;
	height: 40rem;
}

.news-list .link-arrow:before { border-color: #B3DE83; }

.btn-link a > span .link-arrow:before { border-color: var(--color-green); }

.link-arrow span {
	display: block;
	position: absolute;
	top: 0;
	left: -100%;
	background-repeat: repeat-x;
	background-position: left top;
	background-size: calc(100% / 3 * 2) auto;
	width: 300%;
	height: 100%;
}

.link-arrow span.bg { background-image: url(img/share/ico-btn-arrow-green-anime1-2.svg); z-index: 0; }
.link-arrow span.arrow { background-image: url(img/share/ico-btn-arrow-green-anime1-1.svg); z-index: 1; }

.news-list .link-arrow span.bg { background-image: url(img/share/ico-btn-arrow-green-anime2-2.svg); }
.news-list .link-arrow span.arrow { background-image: url(img/share/ico-btn-arrow-green-anime2-1.svg); }

a:not(:hover) .link-arrow .bg { animation: link_arrow_out .28s var(--easeOutQuart) forwards; }
a:not(:hover) .link-arrow .arrow { animation: link_arrow_out .3s var(--easeOutQuart) forwards .04s; }

a:hover .link-arrow .bg { animation: link_arrow_in .3s var(--easeOutQuint) forwards; }
a:hover .link-arrow .arrow { animation: link_arrow_in .4s var(--easeOutQuint) forwards .06s; }

@keyframes link_arrow_out {
	0% { left: -200%; }
	100% { left: -100%; }
}

@keyframes link_arrow_in {
	0% { left: -100%; }
	100% { left: 0; }
}


/* #wrap
---------------------------------------------------------------------------*/
body:not(.top) header,
.title-page,
.contents-wrap,
.contents-inner,
.recruit-company {
  max-width: var(--max-width);
  margin-right: auto;
  margin-left: auto;
}

footer {
	max-width: 1760px;
  margin-right: auto;
  margin-left: auto;
}


/* header
---------------------------------------------------------------------------*/
header {
	position: fixed;
	top: 52rem;
	left: 50%;
	transform: translateX(-50%);
	width: 90%;
	height: 65rem;
	margin: 0 auto;
	padding: 0;
	z-index: 1000;
	opacity: 0;
}

.header-inner {
	position: relative;
	display: flex;
	justify-content: right;
	background-color: #FFFFFF;
	border-radius: 7rem;
	padding: 0 18rem 0 190rem;
}

header .logo { position: absolute; top: 0; left: 0; width: 190rem; }
header .logo a { display: block; padding: 22rem 36rem 20rem; }
header .logo img { width: 100rem; }

header .gnav ul { display: flex; }

header .gnav li > a,
header .gnav li > button {
	display: block;
	padding: 26rem 12rem 24rem;
	font-size: 15rem;
	letter-spacing: 0.12em;
	white-space: nowrap;
	will-change: transform;
}

header .btn-mnav button {
	background: url(img/share/ico-btn-arrow-down-green.svg) no-repeat right 12rem center / 22rem auto;
	padding-right: 42rem !important;
	transition: .15s ease-out;
	cursor: default;
}

/*body.about #gnav-about > a,
body.news #gnav-news > a,
body.medical-welfare #gnav-medical-welfare > a,
body.recruit #gnav-recruit > a,
body.company #gnav-company > a,
body.question .nav-question a,
body.contact .nav-contact a,
body.home-care #gnav-service > button,
body.psychiatric #gnav-service > button,*/
header .gnav li.current > a,
header .gnav li.current > button,
header .btn-mnav:hover button,
header .nav-btn.current a {
	color: var(--color-green);
}

.mnav-wrap {
	position: absolute;
	top: 65rem;
	left: 0;
	background-color: #FFFFFF;
	border-radius: 7rem;
	width: 100%;
	padding: 33rem 6% 36rem 3%;
	visibility: hidden;
	pointer-events: none;
  clip-path: inset(0% 0% 100% 0%);
	transition: .3s var(--easeOutQuart);
}

.mnav-wrap.active {
	visibility: visible;
	pointer-events: auto;
  clip-path: inset(0% 0% 0% 0%);
	transition: .45s var(--easeOutQuint);
}

.mnav-wrap:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 20rem;
	background-color: #E8E8E8;
	width: calc(100% - 40rem);
	height: 1px;
}

.mnav { display: flex; justify-content: space-between; width: 100%; }

.mnav .txt {
	display: flex;
	align-items: center;
	width: 22%;
	max-width: 380rem;
	padding-right: 5%;
}

.mnav .txt h2 {
	margin-bottom: 12rem;
	font-size: 18rem;
	line-height: 1.6;
	letter-spacing: 0.14em;
}

.mnav .txt p {
	color: var(--color-gray-dark);
	font-size: 12rem;
	line-height: 1.8;
	letter-spacing: 0.06em;
	text-align: justify;
}

.mnav nav {
	display: flex;
	justify-content: space-between;
	width: 78%;
	max-width: 860rem;
}

.mnav .inner:not(:last-of-type) { margin-right: 3%; }

.mnav .inner a { display: flex; align-items: center; }
.mnav .inner a:hover { opacity: 1; }

.mnav .inner figure,
.mnav .inner p,
.mnav .inner h3 > span {
	transition: .15s ease-out;
}

.mnav .inner a:hover figure,
.mnav .inner a:hover p,
.mnav .inner a:hover h3 > span {
	opacity: 0.7;
}

.mnav .inner figure { width: 170rem; min-width: 170rem; }
.mnav .inner figure img { border-radius: 3rem; }

.mnav .inner a > div {
	padding: 0 0 2rem 32rem;
	white-space: nowrap;
}

.mnav .inner p {
	margin-bottom: 8rem;
	color: var(--color-gray-dark);
	font-size: 13rem;
	line-height: 1.8;
	letter-spacing: 0.14em;
}

.mnav .inner h3 {
	display: inline-block;
	position: relative;
	padding: 0 30rem 0 0;
	color: var(--color-green);
	font-size: 17rem;
	line-height: 1.7;
	letter-spacing: 0.14em;
	text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

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

.nav-question {
	width: 70rem;
	min-width: 70rem;
	margin-left: 18rem;
}

.nav-contact {
	width: 80rem;
	min-width: 80rem;
}

.nav-btn a {
	display: block;
	padding: 16rem 0 13rem;
	color: #000000;
	text-align: center;
	will-change: transform;
}

.nav-btn i { display: block; }
.nav-question i { margin: -5rem 0 -3rem -2rem; }
.nav-question i img { width: 37rem; }
.nav-contact i img { width: 28rem; }

.nav-btn span {
	display: block;
	margin-top: 7.5rem;
	font-size: 10rem;
	letter-spacing: 0.15em;
}


/* footer
---------------------------------------------------------------------------*/
footer {
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding: 245rem 15.9% 60rem 5.7%;
	opacity: 0;
}

.copyright {
	display: block;
	position: absolute;
	top: 210rem;
	left: 5.7vw;
	font-family: var(--font-serif-en);
	font-size: 10rem;
	letter-spacing: 0.09em;
}

footer .logo { margin: 0 0 29rem; }
footer .logo img { width: 163rem; }

footer h2 {
	margin-bottom: 15rem;
	color: var(--color-green);
	font-size: 15rem;
	letter-spacing: 0.13em;
}

footer address {
	margin-bottom: 30rem;
	font-size: 14rem;
	line-height: 1.8;
	letter-spacing: 0.06em;
}

footer address a {
	text-decoration: underline !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.1em;
}

.footer-inner {
	position: absolute;
	bottom: 50rem;
	left: 47.5%;
	z-index: 1;
}

.sns { display: flex; }

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

.sns li img { width: 34rem; }

.sns li .on {
  display: block;
  position: absolute;
  top: 7rem;
  left: 7rem;
  z-index: 1;
  transition: .15s ease-out;
  opacity: 0;
}

.sns li a:hover .on { opacity: 1; }
.footer-inner .sns { margin: 0 0 22rem -4rem; }
.fnav { display: flex; align-items: flex-end; }

.fnav h3 {
	margin-bottom: 14rem;
	color: var(--color-green);
	font-size: 14rem;
	letter-spacing: 0.2em;
}

.fnav .gnav { margin-right: 60rem; }

.fnav nav li a {
	display: inline-block;
	padding: 4rem 5rem 5rem;
	font-size: 16rem;
	line-height: 1.6;
	letter-spacing: 0.16em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

.fnav nav:has(h3) li a { padding-top: 6rem; }

.footer-copy {
	position: absolute;
	top: 150rem;
	right: 60rem;
	font-family: var(--font-serif-jp);
	font-size: 27rem;
	line-height: 1.8;
	letter-spacing: 0.02em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
	z-index: 1;
}

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


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

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

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

.contents-inner { width: 90%; margin: 0 auto; }
#newsContents .contents-inner { padding: 0 20rem 0 195rem; }
#newsContents.single .contents-inner { padding: 0 20rem 0 315rem; }
#companyContents .contents-inner { padding: 0 55rem 0 270rem; }
#questionContents .contents-inner { padding: 0 80rem 0 21rem; }

#contactContents .contents-inner,
#privacyContents .contents-inner,
#errorContents .contents-inner { padding-left: 350rem; }

#contactContents .contents-inner { padding-right: 140rem; }
#privacyContents .contents-inner { padding-right: 70rem; }

h2.title-page-wide,
.about-support-inner,
.about-policy,
.about-message {
	width: 90%;
	max-width: 1140rem;
	margin-right: auto;
	margin-left: auto;
}

/* .img-main
------------------------------------*/
.img-main {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 62.4vw;
	max-height: 100vh;
	margin-bottom: 32rem;
}

.img-main picture { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

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

.img-main img { width: 100%; }

/* p
------------------------------------*/
.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(-2rem);
}

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

.title-page-wide { width: 98%; }

#companyContents .title-page,
#questionContents .title-page,
#privacyContents .title-page { margin-bottom: 95rem; }

.title-page:has(+ .img-main-s) { margin-bottom: 55rem; }

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

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

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

h2.title-page-wide {
	margin-bottom: 55rem;
	padding: 0;
}

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

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

/* .section-lead
------------------------------------*/
.section-lead { margin-bottom: 60rem; }
.section-lead p { color: var(--color-gray-dark); }
.section-lead p a.link-tel { color: var(--color-gray-dark); text-decoration: none; }

/* .dot-list
------------------------------------*/
.dot-list li {
	position: relative;
	margin: 0 0 3rem 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.6;
	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 {
	display: flex;
	align-items: flex-start;
	border-bottom: 1px solid var(--color-border-gray-light);
	padding: 6rem 0 6rem;
}

.dl-line > dl,
.dl-line > dl p {
	font-size: 15rem;
	line-height: 1.9;
	letter-spacing: 0.1em;
}

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

.dl-line > dl > dt {
	width: 109rem;
	min-width: 109rem;
	letter-spacing: 0.04em;
}

/* .dl-wide
------------------------------------*/
.dl-wide > dl {
	display: flex;
	align-items: flex-start;
}

.dl-wide > dl,
.dl-wide > dl p {
	font-size: 15rem;
	line-height: 1.9;
	letter-spacing: 0.1em;
}

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

.dl-wide > dl > dt {
	width: 109rem;
	min-width: 109rem;
	color: var(--color-green);
	letter-spacing: 0.04em;
}

.dl-wide > dl > dd { width: 100%; }

/* .contact-link
------------------------------------*/
.contact-link {
	position: relative;
	display: flex;
	align-items: flex-end;
	flex-direction: row-reverse;
	background-color: #FFFFFF;
	width: 1144rem;
	margin: 160rem auto 0;
	padding: 60rem 90rem 55rem 70rem;
	opacity: 0;
}

.contact-link figure {
	width: 462rem;
	min-width: 462rem;
}

.contact-link .txt {
	width: 100%;
	padding: 0 40rem 0 0;
}

.contact-link h2 {
	position: absolute;
	top: 25rem;
	right: 18rem;
	color: var(--color-green);
	font-size: 14rem;
	letter-spacing: 0.1em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.contact-link h3 {
	margin-bottom: 16rem;
	color: var(--color-green);
	font-family: var(--font-serif-jp);
	font-size: 28rem;
	line-height: 1.6;
	letter-spacing: 0.16em;
}

.contact-link p {
	margin-bottom: 10rem;
	font-size: 15rem;
	line-height: 2.05;
	letter-spacing: 0.1em;
}

.contact-link .btm { margin: 20rem 0 10rem; }
.contact-link .btm .btn-link { display: inline-block; margin-bottom: 48rem; }

.contact-link .tel b {
	display: inline-block;
	margin-right: 7rem;
	margin-left: -3rem;
	font-family: var(--font-serif-jp);
	font-size: 15rem;
	letter-spacing: 0.05em;
}

.contact-link .tel strong { display: inline-block; margin-right: 20rem; }
.contact-link .tel strong a { pointer-events: none; }
.contact-link .tel strong img { width: 170rem; }

.contact-link .tel em {
	display: inline-block;
	font-size: 16rem;
	letter-spacing: 0.1em;
}


/* 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;
	position: relative;
	padding: 28rem 110rem 28rem 32rem;
}

.news-list article a:hover { opacity: 1; }

.news-list article a .link-arrow {
	position: absolute;
	top: calc(50% - 20rem);
	right: 37rem;
}

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

.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: 14rem; }

.news-list .category,
.news-title .category { letter-spacing: 0.16em; }

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

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

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

.news-list h3 {
	margin-top: 11rem;
	font-family: var(--font-serif-jp);
	font-size: 19rem;
	line-height: 1.7;
	letter-spacing: 0.13em;
	transition: .15s ease-out;
}

.news-list a:hover h3 { color: var(--color-green); }


/* news single
---------------------------------------------------------------------------*/
.news-area { padding-right: 55rem; }

/* .news-title
------------------------------------*/
.news-title {
	display: flex;
	justify-content: space-between;
	margin-bottom: 32rem;
}

.news-title div {
	margin-left: 40rem;
	padding-top: 9rem;
	white-space: nowrap;
}

.news-title time {
	display: inline-block;
	letter-spacing: 0.06em;
}

.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 {
	color: var(--color-gray-dark);
	font-family: var(--font-serif-jp);
	font-size: 22rem;
	line-height: 1.6;
	letter-spacing: 0;
	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: 16rem;
	line-height: 2.2;
	letter-spacing: 0.08em;
}

.post-main:has(img) { padding: 0 28rem; }

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

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

.post-main p {
	margin-bottom: 15rem;
	text-align: justify;
	word-break: break-all;
}

.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: calc(100% + 56rem);
	height: auto;
	margin: 45rem -28rem 45rem !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 3rem; }
.post-main ul li { list-style: disc; margin: 0 0 4rem 18rem; }
.post-main ol li { list-style: decimal; margin: 0 0 4rem 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: 28rem 36rem 26rem; text-align: justify; }
.post-main blockquote p { font-size: 15rem; line-height: 1.9; }

.post-main iframe { width: 100%; height: auto; aspect-ratio: 16 / 9; }

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

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

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

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

.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: 20rem;
}

.post-table th {
	position: relative;
	min-width: 90rem;
	max-width: 120rem;
	padding-right: 30rem;
	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: 19rem;
	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: 14rem;
	line-height: 1.8;
	letter-spacing: 0.12em;
}

/* .qa-list .post-table
------------------------------------*/
.qa-list .post-table { margin-top: 45rem; }

.qa-list .post-table table {  
  font-size: 14rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
}

.qa-list .post-table h3 {
	margin: 30rem 0 20rem;
	font-size: 14rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

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

/* .post-link
------------------------------------*/
.post-link { margin: 45rem 0 0; }
.post-table + .post-link { margin-left: -5rem; }
.post-link li { display: inline-block; margin: 0 8rem 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.04em;
}

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

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

.news-other h2 {
	margin: 0 0 30rem;
	font-size: 17rem;
	letter-spacing: 0.16em;
}

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


/* .wp-pagenavi
---------------------------------------------------------------------------*/
.wp-pagenavi {
	overflow: hidden;
	margin: 110rem 0 0;
	font-family: var(--font-serif-en);
	font-size: 22rem;
	text-align: center;
}

.wp-pagenavi,
.wp-pagenavi a { color: var(--color-gray-dark); }
.wp-pagenavi a:hover { color: var(--color-green); }

.wp-pagenavi .pages { display: none; }
.wp-pagenavi .extend { margin: 0 15rem; }

.wp-pagenavi a,
.wp-pagenavi .current {
	display: inline-block;
	margin: 0 5rem;
	padding: 10rem;
}

.wp-pagenavi .current {
	text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

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

.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
	background: url(img/share/ico-arrow-s-gray.svg) no-repeat center center / 10rem auto;
	text-indent: -9999px;
}

.wp-pagenavi a.previouspostslink { margin-right: 12rem; transform: scaleX(-1); }
.wp-pagenavi a.nextpostslink { margin-left: 10rem; }


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

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

#topContents h2.title-page strong {
	font-size: 23rem;
	letter-spacing: 0.28em;
}

/* .top-main
------------------------------------*/
.top-main {
	--image-padding: 0rem;
	overflow: hidden;
	position: relative;
	width: 100%;
	height: 100dvh;
	padding: var(--image-padding);
}

.top-main .copy {
	position: absolute;
	top: min(23.5vh, 250rem);
	left: 11.3%;
	z-index: 2;
	opacity: 0;
}

.top-main .copy img {
	width: 4vw;
	min-width: 82rem;
	max-width: 100rem;
	transition: .15s ease-out;
}

.top-main:has(.img2.slick-current) .copy img,
.top-main:has(.img3.slick-current) .copy img,
.top-main:has(.img4.slick-current) .copy img {
	filter: invert(100%) brightness(111%);
}

.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: 75% 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: 130rem;
	padding: 140rem 0 59vw;
	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: 930rem;
	margin: 0 auto;
	padding: 115rem 0 0;
	z-index: 1;
}

.top-lead h2 {
	position: absolute;
	top: 0;
	right: 10rem;
	font-size: 35rem;
	line-height: 1.95;
	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: 19rem;
	line-height: 2.55;
	letter-spacing: 0.17em;
}

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

.top-lead .en p {
	font-size: 14rem;
	line-height: 2.45;
	letter-spacing: 0.01em;
}

/* .top-care
------------------------------------*/
.top-care {
	width: 1070rem;
	margin: 0 auto 120rem;
}

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

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

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

.top-care-list h3 strong {
	font-size: 18rem;
}

.top-care-list h3 em {
	font-size: 16rem;
}

.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: 30rem;
}

/* .top-recruit
------------------------------------*/
.top-recruit {
	display: flex;
	flex-direction: row-reverse;
	background-color: #FFFFFF;
	width: 1120rem;
	margin: 0 auto 140rem;
	padding: 75rem 60rem 60rem;
}

.top-recruit figure {
	width: 600rem;
	min-width: 600rem;
}

.top-recruit .txt {
	width: 100%;
	margin: 0 60rem 0 0;
}

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

.top-recruit h3 {
	margin-bottom: 34rem;
	font-family: var(--font-serif-jp);
	font-size: 24rem;
	line-height: 2;
	letter-spacing: 0.2em;
	opacity: 0.8;
}

.top-recruit h4 {
	margin-bottom: 22rem;
	color: var(--color-green);
	font-size: 14rem;
	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: 15rem;
	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: 32rem;
}

.top-recruit .link-list a {
	padding-right: 38rem;
	font-size: 16rem;
}

/* .top-area
------------------------------------*/
.top-area {
	width: 1080rem;
	margin: 0 auto 140rem;
}

.top-area .inner {
	display: flex;
	justify-content: space-between;
}

.top-area .inner > figure {
	width: 420rem;
	min-width: 420rem;
	margin-right: 93rem;
}

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

.top-area .area h3 {
	margin-bottom: 20rem;
	color: var(--color-green);
	font-family: var(--font-serif-jp);
	font-size: 23rem;
	line-height: 1.85;
	letter-spacing: 0.2em;
}

.top-area .area p {
	font-size: 15rem;
	line-height: 2;
}

.top-area .area .attention-list li {
	padding-left: 16rem;
	font-size: 12rem;
}

.top-area .area .attention-list li:nth-of-type(2) {
	position: absolute;
	bottom: 0;
	left: 0;
	line-height: 2;
	margin-left: -16rem;
	text-indent: 16rem;
}

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

.top-area .area .link-list li {
	display: inline-block;
	margin-right: 20rem;
}

.top-area .area figure {
	margin: -50rem -5rem 0 -22rem;
}

/* .top-news
------------------------------------*/
.top-news { width: 1080rem; margin: 0 auto; }
.top-news h2 { padding: 0 23rem; }
.top-news h2 strong { font-size: 23rem; letter-spacing: 0.3em; }


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

/* .about-lead
------------------------------------*/
.about-lead { margin-bottom: 140rem; }
.about-lead .title-page { margin-bottom: 195rem; }

.about-lead .lead {
	position: relative;
	display: flex;
	width: 1140rem;
	margin: 0 auto 120rem;
}

.about-lead .lead figure { width: 400rem; min-width: 400rem; }

.about-lead .lead .txt {
	padding: 0 0 0 110rem;
	transform: translateY(-8rem);
}

.about-lead .lead .txt h2 {
	position: absolute;
	top: -150rem;
	right: -70rem;
	color: var(--color-green);
	font-family: var(--font-serif-jp);
	font-size: 27rem;
	line-height: 1.8;
	letter-spacing: 0.04em;
	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 .lead .txt p {
	margin-bottom: 16rem;
	line-height: 2.35;
	letter-spacing: 0.1em;
}

/* .about-lead .service
------------------------------------*/
.about-lead .service {
	position: relative;
	width: 1140rem;
	margin: 0 auto;
	padding: 0 0 25rem 718rem;
}

.about-lead .service h2 {
	position: absolute;
	top: -55rem;
	left: 25rem;
	color: var(--color-green);
	font-family: var(--font-serif-jp);
	font-size: 27rem;
	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 0 70rem;
	padding-right: 0rem;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.about-lead .service .txt-v p { line-height: 2.25; letter-spacing: 0.17em; }
.about-lead .service .txt-v p:not(:last-of-type) {margin-left: 22rem;}

.about-lead .service .img {
	position: absolute;
	bottom: 0;
	left: 110rem;
	width: 533rem;
	text-align: center;
}

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

/* .about-support
------------------------------------*/
.about-support { margin-bottom: 180rem; }

.support-list {
	position: relative;
	border-top: 1px solid var(--color-border-gray);
	padding: 72rem 32% 0 19%;
}

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

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

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

.support-list figure {
	position: absolute;
	top: 78rem;
	right: 0;
	width: 265rem;
}

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

.support-list .txt p {
	font-size: 14rem;
	letter-spacing: 0.05em;
	text-align: justify;
}

.support-list .txt .box {
	display: flex;
	width: fit-content;
	border: 1px solid var(--color-border-gray);
	margin: 30rem 0 18rem;
	padding: 26rem 28rem 22rem 28rem;
}

.support-list .txt .box ul:first-of-type {margin-right: 22rem;}

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

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

.support-list .txt .attention-list li {
	margin-bottom: 5rem;
	padding-left: 15rem;
	color: var(--color-gray);
	font-size: 12rem;
	letter-spacing: 0.08em;
}

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

/* .about-policy
------------------------------------*/
.about-policy {
	display: flex;
	flex-direction: row-reverse;
	position: relative;
	margin: 0 auto 130rem;
	padding: 42rem 0 0 78rem;
}

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

.about-policy > figure {
	width: 56.5%;
	min-width: 56.5%;
	margin-top: 5rem;
	margin-right: -10rem;
	margin-left: 80rem;
}

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

.about-policy p { line-height: 2.2; text-align: justify; }

.about-policy .txt figure { margin: 10rem 0 0; }
.about-policy .txt figure img { width: 128rem; }

.about-policy .txt figcaption {
	margin-bottom: 40rem;
	font-size: 14rem;
	line-height: 2;
	letter-spacing: 0.02em;
	text-align: justify;
}

/* .about-message
------------------------------------*/
.about-message {
	position: relative;
	display: flex;
	margin: 0 auto 150rem;
	padding: 0 70rem 0 148rem;
}

.about-message h2 {
	position: absolute;
	top: -4rem;
	left: 0;
}

.about-message h2 strong {
	display: block;
	margin-bottom: 4rem;
	color: var(--color-green);
	font-size: 16rem;
	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 {
	width: 396rem;
	min-width: 396rem;
	margin-right: 70rem;
}

.about-message .txt { margin-right: -60rem; }

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

.about-message .txt > p {
	margin-bottom: 12rem;
	font-size: 16rem;
	line-height: 2.15;
	letter-spacing: 0.08em;
}

.about-message .txt > p:last-of-type { margin-bottom: 0; }

.about-message .name {
	position: absolute;
	bottom: 4rem;
	left: 148rem;
}

.about-message .name b {
	display: block;
	margin-bottom: 19rem;
	font-size: 14rem;
	line-height: 1.75;
	letter-spacing: 0.08em;
}

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

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

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

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

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

/* .about-img
------------------------------------*/
.about-img {
	width: 1140rem;
	margin: 0 auto 65rem;
}

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

.about-office .lead {
	width: 1140rem;
	margin: 0 auto 90rem;
	padding: 0 30rem;
}

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

.about-office .lead p { font-size: 15rem; }

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

.about-office-inner { display: flex; }

.about-office-inner .area {
	align-self: flex-start;
	position: sticky;
	top: 140rem;
	left: 0;
	margin: 0 100rem 0 0;
	padding: 10rem 0 0;
}

.about-office-inner .area figure { text-align: right; }

.about-office-inner .area figure img {
	width: auto;
	height: 610rem;
	min-height: 320rem;
	max-height: calc(100vh - 360rem);
	margin-left: -130rem;
}

.about-office-inner .area > div { margin: 10rem 0 0; }

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

.about-office-inner .area p {
	margin-bottom: 11rem;
	font-size: 14rem;
	line-height: 1.85;
}

.about-office-inner .area .attention-list li {
	margin-bottom: 3rem;
	font-size: 13rem;
}

.about-office-inner .area .attention-list li br { display: none !important; }

.about-office-inner .office {
	display: grid;
	grid-template-columns: 1fr;
	gap: 55rem 0;
	width: 480rem;
	min-width: 480rem;
	padding-top: 35rem;
}

.about-office-inner .office .inner {
	background-color: #FFFFFF;
	padding: 45rem 40rem 45rem;
}

.about-office-inner .office h4 {
	border-top: 1px solid var(--color-border-gray);
	padding: 8rem 0 0;
	margin-bottom: 42rem;
	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: 35rem;
}

.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: 17rem;
	letter-spacing: 0.14em;
}

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

.about-office-inner .office address .link-tel { color: var(--color-gray-dark); }
.about-office-inner .office .link-list { margin: 30rem 0 0; }
.about-office-inner .office .link-list li a { font-size: 14rem; }

@media (max-width: 1100px) {
	.about-office-inner .area > div {
		margin-left: 20rem;
	}
}


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

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

.medical-lead .txt {
	width: 930rem;
	margin: 0 auto;
	padding-top: 10rem;
}

.medical-lead p {
	line-height: 2.3;
	letter-spacing: 0.16em;
}

/* .medical-role
------------------------------------*/
.medical-role {
	display: flex;
	align-items: center;
	width: 990rem;
	margin: 0 auto 120rem;
}

.medical-role figure {
	width: 504rem;
	min-width: 504rem;
}

.medical-role .txt {
	width: 100%;
	margin: 0 0 0 75rem;
}

.medical-role .txt h2 {
	margin-bottom: 20rem;
	font-size: 14rem;
	line-height: 1.6;
	letter-spacing: 0.16em;
}

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

.medical-role .txt p {
	font-size: 15rem;
	letter-spacing: 0.13em;
	text-align: justify;
}

/* .medical-data
------------------------------------*/
.medical-data {
	width: 1000rem;
	margin: 0 auto 120rem;
}

.medical-data .lead {
	display: flex;
	margin-bottom: 55rem;
	padding: 0 0 0 32rem;
}

.medical-data .lead-v { display: block; }

.medical-data .lead h2 {
	margin-right: 55rem;
	color: var(--color-green);
	font-family: var(--font-serif-jp);
	font-size: 22rem;
	line-height: 1.8;
	letter-spacing: 0.16em;
	white-space: nowrap;
	transform: translateY(-2rem);
}

.medical-data3 .lead h2 { margin-right: 85rem; }
.medical-data .lead-v h2 { margin: 0 0 15rem; }

.medical-data .lead p {
	font-size: 15rem;
	line-height: 2.15;
	letter-spacing: 0.12em;
}

.medical-data .lead-v p {
	font-size: 14rem;
	line-height: 2;
}

.medical-data .box {
	position: relative;
	background-color: #FFFFFF;
	padding: 80rem 75rem 70rem;
}

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

.medical-data .box .pic-txt {
	margin-bottom: 18rem;
	padding-top: 10rem;
}

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

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

.medical-data .box-wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 60rem;
}

.medical-data .box-wrap.column3 {
	grid-template-columns: 1fr 1fr 1fr;
	gap: 0 32rem;
}

.medical-data .box-wrap:not(:last-child),
.medical-data .box > .inner:not(:last-child) {
	margin-bottom: 70rem;
}

.medical-data .box-wrap.mb-m:not(:last-child),
.medical-data .box > .inner.mb-m:not(:last-child) {
	margin-bottom: 60rem;
}

.medical-data .box-wrap.mb-s:not(:last-child),
.medical-data .box > .inner.mb-s:not(:last-child) {
	margin-bottom: 40rem;
}

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

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

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

.medical-data .inner h3 span {
	padding-left: 10rem;
	font-size: 11rem;
	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: 567rem; }
.medical-data .inner-s .data4 img { width: 390rem; }
.medical-data .inner-s .data5 img { width: 326rem; }
.medical-data .inner-s .data6 img { width: 388rem; }
.medical-data .inner-s .data7 img { width: 388rem; }
.medical-data .inner-s .data8 img { width: calc(100% + 20rem); margin-right: -10rem; margin-left: -10rem; }
.medical-data .inner-s .data9 img { width: 272rem; }

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

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

.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: 16rem;
	line-height: 1.5;
	letter-spacing: 0.08em;
}

.medical-data .box-wrap.column3 .txt-list li {
	margin-bottom: 10rem;
}

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

.medical-data .box-wrap.column3 p.attention {
	margin-top: 14rem;
	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: 17rem;
	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: 10rem; }

.dl-data-total dt { padding: 0 20rem 3rem 0; }
.dl-data-total dt.pr-s { padding-right: 10rem; }

.dl-data-total dd strong {
	display: inline-block;
	padding-right: 2rem;
	font-size: 25rem;
	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: 30rem; }

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

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

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

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

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

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

.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 {
	display: flex;
	justify-content: space-between;
	gap: 0 10rem;
}

.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%;
}

.table-data-line thead th {
	padding: 0 4rem 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%;
	font-size: 14rem;
	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 {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	padding: 0 64rem 0 79rem;
}

.medical-data .inner.data1-3 .inner-s figure { margin-right: 85rem; }
.medical-data .inner.data1-3 .inner-s .dl-data-line { width: 100%; }

/* .data1-4 */
.medical-data .inner.data1-4 .inner-s {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	padding: 20rem 42rem 0 33rem;
}

.medical-data .inner.data1-4 .inner-s figure { margin-right: 44rem; }
.medical-data .inner.data1-4 .inner-s .dl-data-box { width: 100%; }

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

/* .data2-2 */
.medical-data .inner.data2-2 .inner-s figure { margin-bottom: 35rem; }
.medical-data .inner.data2-2 .inner-s p { width: 325rem; margin-right: auto; margin-left: auto; }
.medical-data .inner.data2-2 .dl-data-total.mr { display: block; margin-bottom: -12rem; text-align: right; }
.medical-data .inner.data2-2 .dl-data-total.mr dt { margin-bottom: -10rem; padding-right: 0; }

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

/* .medical-img
------------------------------------*/
.medical-img {
	width: 1140rem;
	margin: 160rem auto 115rem;
}

/* .medical-common
------------------------------------*/
.medical-common {
	position: relative;
	width: 1140rem;
	margin: 0 auto 120rem;
	padding: 0 70rem 0 105rem;
}

.medical-common h2 {
	position: absolute;
	top: 4rem;
	left: 0;
	color: var(--color-green);
	font-size: 16rem;
	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 {
	display: flex;
	justify-content: space-between;
}

.medical-area .map {
	position: relative;
	width: 595rem;
	min-width: 595rem;
}

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

.medical-area .map .attention-list li {
	font-size: 14rem;
}

.medical-area .map .attention-list li:nth-of-type(2) {
	position: absolute;
	bottom: -10rem;
	left: -16rem;
	padding-left: 16rem;
  text-indent: 16rem;
	font-size: 13rem;
	line-height: 1.9;
}

.medical-area .map figure {
	width: 595rem;
	margin: -30rem 0 0 -18rem;
}

.medical-area .area {
	width: 320rem;
	min-width: 320rem;
	margin-top: 55rem;
}

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

.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: 16rem;
	font-size: 16rem;
	letter-spacing: 0.12em;
}

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

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

.medical-care-inner {
	position: relative;
	padding-top: 50rem;
}

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

.medical-care-inner .inner {
	display: flex;
}

.medical-care-inner figure {
	width: 305rem;
	min-width: 305rem;
}

.medical-care-inner .txt {
	width: 100%;
	margin: 5rem 0 0 80rem;
}

.medical-care-inner h3 {
	position: absolute;
	top: 0;
	left: 0;
	font-size: 14rem;
	letter-spacing: 0.1em;
}

.medical-care-inner .link-list {
	position: absolute;
	bottom: 0;
	left: 385rem;
}

.medical-care-inner .link-list li {
	display: inline-block;
	margin-right: 20rem;
}


/* page home-care, psychiatric
---------------------------------------------------------------------------*/

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

#psychiatricContents .service-lead {
	margin-bottom: 150rem;
}

.service-lead .title-page {
	margin-bottom: 75rem;
}

.service-lead .txt {
	width: 750rem;
	margin: 0 auto;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.service-lead .txt h2 {
	margin-left: 56rem;
	color: var(--color-green);
	font-family: var(--font-serif-jp);
	font-size: 28rem;
	line-height: 1.8;
	letter-spacing: 0.04em;
}

.service-lead .txt h2 i:first-of-type { display: inline-block; margin-top: -8rem; }
.service-lead .txt h2 i:last-of-type { display: inline-block; margin-bottom: -8rem; }

.service-lead .txt p {
	margin: 50rem 0 0 30rem;
	line-height: 2.1;
	letter-spacing: 0.12em;
}

#home-careContents .service-lead .txt .p_wide { margin-left: 20rem; margin-bottom: 0; }


/* .service-point
------------------------------------*/
.service-point {
	width: 1080rem;
	margin: 0 auto 195rem;
}

#psychiatricContents .service-point {
	margin-bottom: 220rem;
}

.service-point .lead {
	position: relative;
	margin: 0 0 50rem 5rem;
	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: 28rem;
	padding: 0;
}

.service-point .lead p {
	font-size: 15rem;
	letter-spacing: 0.2em;
}

.service-point .inner h3 {
	color: var(--color-green);
	font-family: var(--font-serif-jp);
}

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

/* .service-point .inner1
------------------------------------*/
.service-point .inner1 {
	display: flex;
	align-items: flex-end;
	margin: 0 auto 100rem;
}

.service-point .inner1 figure {
	width: 586rem;
	min-width: 586rem;
}

.service-point .inner1 .txt { padding: 0 0 0 49rem; }
#psychiatricContents .service-point .inner1 .txt { padding: 0 36rem 0 69rem; }

.service-point .inner h3 {
	font-size: 27rem;
	line-height: 1.7;
	letter-spacing: 0.2em;
}

.service-point .inner1 h3 {
	margin: 0 0 24rem -4rem;
	font-size: 28rem;
}

#home-careContents .service-point .inner1 h3 { font-size: 23rem; }

.service-point .inner1 p {
	line-height: 2;
	text-align: justify;
}

/* .service-home-care .inner2
------------------------------------*/
.service-home-care .inner2 {
	position: relative;
	margin: 0 auto 105rem;
	padding: 0 0 0 115rem;
}

#home-careContents .service-home-care .inner2 {
	padding-left: 15rem;
}

.service-home-care .inner2 h3 {
	position: absolute;
	top: -243rem;
	left: -126rem;
	font-size: 26rem;
	line-height: 1.65;
	letter-spacing: 0.1em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

#home-careContents .service-home-care .inner2 h3 {
	position: inherit;
	writing-mode: inherit;
	margin: 0 0 30rem -4rem;
	font-size: 23rem;
	letter-spacing: 0.02em;
}

.service-home-care .inner2 figure {
	position: absolute;
	top: 0;
	right: 35rem;
	width: 405rem;
}

.service-home-care .inner2 p {
	margin: 0 0 14rem;
	line-height: 2;
	letter-spacing: 0.14em;
}

.service-home-care .inner2 .link-list {
	margin: 25rem 0 0;
}

/* .service-home-care .inner3
------------------------------------*/
.service-home-care .inner3 {
	display: flex;
	margin: 0 auto 100rem;
	padding: 0 0 0 5rem;
}

.service-home-care .inner3 figure {
	width: 400rem;
	min-width: 400rem;
}

.service-home-care .inner3 .txt {
	margin: 25rem 0 0 50rem;
}

.service-home-care .inner3 h3,
.service-home-care .inner4 h3 {
	margin-bottom: 28rem;
}

.service-home-care .inner3 h3 {
	margin-left: -3rem;
	font-size: 23rem;
	line-height: 1.8;
}

.service-home-care .inner4 h3 {
	font-size: 25rem;
}

.service-home-care .inner3 p,
.service-home-care .inner4 p {
	line-height: 2;
	letter-spacing: 0.15em;
}

/* .service-home-care .inner4
------------------------------------*/
.service-home-care .inner4 {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-direction: row-reverse;
}

.service-home-care .inner4 figure {
	width: 515rem;
	min-width: 515rem;
}

.service-home-care .inner4 .txt {
	margin: 0 60rem 0 15rem;
}

/* .service-psychiatric .inner1
------------------------------------*/
.service-psychiatric .inner1 {
	margin-bottom: 50rem;
}

.service-psychiatric .inner1 figure {
  align-self: flex-start;
	width: 586rem;
	min-width: 586rem;
}

.service-psychiatric .inner1 .txt h3 {
	margin-top: -8rem;
	margin-left: -1rem;
	margin-bottom: 28rem;
  text-indent: -0.05em;
}

.service-psychiatric .inner1 .txt p {
	letter-spacing: 0.08em;
}

/* .service-psychiatric .inner2
------------------------------------*/
.service-psychiatric .inner2 {
	display: flex;
	align-items: flex-start;
	margin: 0 0 110rem;
}

.service-psychiatric .inner2 figure {
	order: 2;
	width: 384rem;
	min-width: 384rem;
	margin: 96rem 76rem 0 0;
}

.service-psychiatric .inner2 .txt {
	order: 1;
	width: 100%;
	padding: 0 0 0 16rem;
}

.service-psychiatric .inner2 .txt h3 {
	margin-bottom: 25rem;
	font-size: 25rem;
	line-height: 1.8;
}

.service-psychiatric .inner2 .txt p,
.service-psychiatric .inner3 .txt p {
	line-height: 2.1;
	letter-spacing: 0.14em;
}

/* .service-psychiatric .inner3
------------------------------------*/
.service-psychiatric .inner3 {
	position: relative;
	display: flex;
	align-items: flex-start;
}

.service-psychiatric .inner3 figure {
	width: 302rem;
	min-width: 302rem;
	margin: 0 90rem 0 -13rem;
}

.service-psychiatric .inner3 figure picture:nth-of-type(2) {
	position: absolute;
	bottom: -70rem;
	right: 10rem;
	width: 220rem;
}

.service-psychiatric .inner3 .txt {
	width: 100%;
	padding-top: 20rem;
}

.service-psychiatric .inner3 .txt h3 {
	margin: -10rem 0 25rem;
}

/* .service-detail
------------------------------------*/
.service-detail {
	position: relative;
	border-top: 1px solid var(--color-border-gray);
	width: 1050rem;
	margin: 0 auto 130rem;
	padding: 125rem 0 0;
}

#home-careContents .service-detail { padding-top: 90rem !important; }

.service-detail .txt {
	display: flex;
	justify-content: space-between;
	color: var(--color-gray-dark);
}

.service-detail .txt .txt-inner:nth-of-type(1) { width: 565rem; }
.service-detail .txt .txt-inner:nth-of-type(2) { width: 438rem; }
#psychiatricContents .service-detail .txt .txt-inner:nth-of-type(2) { margin-top: 80rem; }

.service-detail h2 {
	margin-bottom: 35rem;
	color: var(--color-green);
	font-family: var(--font-serif-jp);
	font-size: 25rem;
	line-height: 1.75;
	letter-spacing: 0.22em;
}

.dl-service-list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 30rem;
	margin: 0 20rem 0 0;
	padding: 0 !important;
}

.dl-service-list.odd {
	grid-template-columns: 1fr;
}

.dl-service-list dl:not(:last-of-type) { margin-bottom: 40rem; }
#home-careContents .dl-service-list dl:not(:last-of-type),
#medical-welfareContents .dl-service-list dl:not(:last-of-type) { margin-bottom: 26rem; }

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

.dl-service-list dt {
	position: relative;
	margin-bottom: 16rem;
	padding-left: 23rem;
	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: 5rem;
	margin-left: 6rem;
	padding-left: 13rem;
	color: var(--color-gray-dark);
	letter-spacing: 0.06em;
}

.dl-service-list dd li span {
	display: block;
	padding: 5rem 0;
	font-size: 13rem;
	line-height: 1.65;
}

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

.service-detail .target { margin-bottom: 35rem; }
.service-detail .txt h3 { margin-bottom: 15rem; }
.service-detail .txt .txt-inner:first-of-type h3 { margin-bottom: 20rem; }
.service-detail .txt .txt-inner:first-of-type h3:not(:first-of-type) { margin-top: 40rem; }

.service-detail .dl-table { margin-bottom: 10rem; }

.service-detail .dl-table dl {
	display: flex;
	align-items: center;
	background-color: var(--color-bg-green-light);
	border-bottom: 8rem solid var(--color-bg);
}

.service-detail .dl-table dt {
	width: 130rem;
	min-width: 130rem;
	padding: 15rem;
	font-size: 15rem;
	letter-spacing: 0.15em;
	color: var(--color-green);
	text-align: center;
}

.service-detail .dl-table dd {
	background-color: #FFFFFF;
	border-left: 2px solid var(--color-bg);
	width: 100%;
	padding: 18rem 16rem 15rem 20rem;
}

.service-detail .dl-table dd li { letter-spacing: 0.1em; }
.service-detail .dl-table dd li span { font-size: 12rem; letter-spacing: 0.04em; }

.service-detail .target p,
.service-detail .area p {
	font-size: 14rem;
	line-height: 1.9;
	letter-spacing: 0.12em;
}

.service-detail .area p.attention {
	margin-top: -10rem;
	font-size: 13rem;
	letter-spacing: 0.1em;
}

.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: 1080rem;
	margin: 0 auto 100rem;
	padding: 90rem 0 0 325rem;
}

.service-common h2,
#home-careContents .service-detail h2 {
	position: absolute;
	top: 13rem;
	left: 0;
	color: var(--color-green);
	font-family: var(--font-serif-jp);
	font-size: 19rem;
	letter-spacing: 0.1em;
}

.service-common .dl-list { padding-right: 35rem; padding-left: 40rem; }
.service-common .dl-list dl:not(:last-of-type) { margin-bottom: 28rem; }

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

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

.service-common .dl-list dd { color: var(--color-gray-dark); }

.service-common .dl-list dd p {
	margin-bottom: 8rem;
	font-size: 15rem;
	line-height: 1.9;
	letter-spacing: 0.14em;
	text-align: justify;
}

/* .qa-list
------------------------------------*/
.service-common .qa-list { margin-right: 35rem; }

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

.qa-list dt {
	position: relative;
	padding: 22rem 110rem 20rem 63rem;
	/*color: var(--color-gray-dark);*/
	font-size: 16rem;
  line-height: 1.6;
	letter-spacing: 0.12em;
	transition: .15s ease-out;
	cursor: pointer;
}

.qa-list dt:hover,
.qa-list dt.active { color: var(--color-green); }

.qa-list dt i.q {
	display: block;
	position: absolute;
	top: 16.5rem;
	left: 25rem;
	color: var(--color-yellow-green);
	font-family: var(--font-serif-en);
	font-size: 23rem;
}

.qa-list dt .plus,
.job-list button .plus {
	position: absolute;
	top: 27rem;
	right: 28rem;
	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-gray);
}

.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:hover .plus:before,
.qa-list dt:hover .plus:after,
.qa-list dt.active .plus:before,
.qa-list dt.active .plus:after,
.job-list button:hover .plus:before,
.job-list button:hover .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 110rem 30rem 63rem;
}

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

/* .service-link
------------------------------------*/
.service-link {
	width: 1064rem;
	margin: 145rem auto 0;
}

.service-link .lead {
	display: flex;
	margin-bottom: 55rem;
}

.service-link .lead h2 {
	width: auto;
	margin: 0 85rem 0 0;
	padding: 0;
	white-space: nowrap;
}

.service-link .lead p {
	width: 100%;
	line-height: 2;
	letter-spacing: 0.14em;
}

.service-link nav {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 34rem;
	width: 100%;
}

.service-link nav .inner {
	background-color: #FFFFFF;
	border-radius: 3rem;
	padding: 36rem 30rem;
}

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

.service-link nav .inner a:hover {
	opacity: 0.7;
}

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

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

.service-link nav .inner a > div {
	padding: 5rem 0 2rem 38rem;
	white-space: nowrap;
}

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

.service-link nav .inner h3 {
	display: inline-block;
	position: relative;
	padding: 0 36rem 0 0;
	color: var(--color-green);
	font-size: 18rem;
	line-height: 1.9;
	letter-spacing: 0.14em;
	text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

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


/* page recruit
---------------------------------------------------------------------------*/
#recruitContents {
	padding-top: 260rem;
}

#recruit-job {
	margin-top: -200rem;
	padding-top: 200rem;
}

/* .recruit-lead
------------------------------------*/
.recruit-lead {
	overflow: hidden;
	position: relative;
	margin-bottom: 120rem;
	padding: 0 0 425rem;
}

.recruit-lead-inner {
	position: relative;
	width: 970rem;
	margin: 0 auto;
}

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

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

.recruit-lead h3 { margin: 0 0 52rem; }
.recruit-lead h3 img { width: 275rem; }

.recruit-lead .txt { opacity: 0.8; }

.recruit-lead p {
	margin-bottom: 10rem;
	line-height: 2.4;
	letter-spacing: 0.16em;
	will-change: transform;
}

.recruit-lead .link-list { margin: 50rem 0 0; }

/* .img-slide-recruit-wrap
------------------------------------*/
.img-slide-recruit-wrap { position: absolute; bottom: 0; left: 0; height: 280rem; opacity: 0; }
.img-slide-recruit { display: flex; gap: 0 4rem; }
.img-slide-recruit figure img { width: auto; height: 280rem; }

/* .recruit-company
------------------------------------*/
.recruit-company {
	position: relative;
	margin:0 auto 80rem;
}

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

.recruit-company .inner {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	border-top: 1px solid var(--color-border-gray-light);
	width: 1080rem;
	margin: 0 auto;
	padding: 70rem 20rem 70rem 54rem;
}

.recruit-company .inner figure {
	width: 580rem;
	min-width: 580rem;
}

.recruit-company .inner .txt {
	margin: -5rem 68rem 0 0;
}

.recruit-company .inner h3 {
	margin-bottom: 18rem;
	color: var(--color-green);
	font-family: var(--font-serif-jp);
	font-size: 22rem;
	line-height: 1.9;
	letter-spacing: 0.2em;
}

.recruit-company .inner p {
	font-size: 15rem;
	line-height: 2.05;
	letter-spacing: 0.1em;
	text-align: justify;
	opacity: 0.8;
}

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

/* .recruit-data
------------------------------------*/
.recruit-data {
	width: 1140rem;
	margin: 0 auto 120rem;
}

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

.recruit-data .lead h2 {
	margin-bottom: 25rem;
	font-size: 26rem;
	letter-spacing: 0.2em;
}

.recruit-data .lead p {
	font-size: 15rem;
	line-height: 2.1;
	opacity: 0.8;
}

.recruit-data .box {
	width: 1000rem;
	margin: 0 auto;
}

/* .recruit-data .data2-2-1
------------------------------------*/
.recruit-data .data2-2-1 .inner-s { display: flex; }

.recruit-data .data2-2-1 .inner-s figure {
	width: 281rem;
	min-width: 281rem;
	margin-right: 49rem;
}

.dl-training {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 30rem;
	margin-bottom: 35rem;
	padding: 0 10rem 0 0;
}

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

.medical-data .inner-s .dl-training p,
.recruit-data .data2-2-1 .other p {
	color: var(--color-text);
	font-size: 13rem;
	line-height: 1.9;
	text-align: justify;
	opacity: 0.8;
}

.recruit-data .data2-2-1 .other { display: flex; }

.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;
	width: 1000rem;
	margin: 0 auto 100rem;
	padding: 0 0 0 265rem;
}

.recruit-common h2 {
	position: absolute;
	top: 0;
	left: 0;
	width: auto;
	margin: 0;
	padding: 0;
}

/* .recruit-job
------------------------------------*/
.recruit-job .lead { margin-bottom: 30rem; }
.recruit-job .lead p { opacity: 0.8; }

.job-list article { background-color: #FFFFFF; border-radius: 3rem; }
.job-list article:not(:last-child) { margin-bottom: 16rem; }

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

.job-list button:hover { opacity: 0.7; }

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

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

.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: 16rem 40rem 50rem; }

.job-list .detail dl {
	display: flex;
	border-top: 1px solid var(--color-border-gray-light);
	padding: 17rem 10rem 16rem 0;
}

.job-list .detail dl,
.job-list .detail dd p {
	font-size: 14rem;
	line-height: 1.9;
	letter-spacing: 0.08em;
}

.job-list .detail dt {
	width: 200rem;
	min-width: 200rem;
	padding-right: 40rem;
	color: var(--color-green);
}

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

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

.job-list .detail .btn-link {
	display: block !important;
	margin-top: 25rem;
}

.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 {
	display: flex;
	align-items: flex-start;
	border-top: 1px solid var(--color-border-gray);
	padding: 15rem 0 35rem;
}

.dl-outline > dl.pt { padding-top: 20rem; }

.dl-outline > dl,
.dl-outline > dl p {
	font-size: 15rem;
	line-height: 1.8;
	letter-spacing: 0.06em;
}

.dl-outline > dl > dt {
	width: 317rem;
	min-width: 317rem;
	color: var(--color-green);
}

.dl-outline > dl > dd {
	width: 100%;
	color: var(--color-gray-dark);
}

.dl-outline > dl > dd .link-list { margin-bottom: 20rem; }
.dl-outline > dl > dd .link-list:not(:first-child) { margin-top: 20rem; }
.dl-outline > dl > dd .link-list li:not(:last-child) {margin-bottom: 1rem;}

.dl-outline > dl > dd .dl-line { margin-top: 24rem; }

.dl-outline > dl > dd .dl-wide { margin-left: -109rem; }
.dl-outline > dl > dd .dl-wide > dl { margin-bottom: 50rem; }
.dl-outline > dl > dd .dl-wide p { margin-bottom: 0; }
.dl-outline > dl > dd .dl-wide p:first-of-type { margin-bottom: 12rem; }
.dl-outline > dl > dd .dl-wide p a.link-tel { color: var(--color-gray-dark); text-decoration: none; pointer-events: none; }

#companyContents .dl-outline > dl > dd .dl-line { margin-top: 0; }
#companyContents .dl-outline .dl-line > dl { border-bottom: none; margin-bottom: 6rem; padding: 0; }

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

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

.dl-outline .dl-dot-list { margin-bottom: 20rem; }
.dl-outline .dl-dot-list dl { display: flex; }
.dl-outline .dl-dot-list dl:not(:last-of-type) { margin-bottom: 18rem; }

.dl-outline .dl-dot-list dt {
	width: 130rem;
	min-width: 130rem;
	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: 2rem;
	color: var(--color-gray);
	font-size: 13rem;
	letter-spacing: 0.08em;
}


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

/* .qa-wrap
------------------------------------*/
.qa-wrap {
	display: flex;
	justify-content: space-between;
}

.qa-wrap aside {
	position: sticky;
	align-self: flex-start;
	top: 200rem;
	left: 0;
	width: 220rem;
	min-width: 220rem;
	margin: 55rem 100rem 0 0;
	padding: 0;
}

.qa-wrap aside li {
	margin-bottom: 10rem;
}

.qa-wrap aside li a {
	display: inline-block;
	background: url(img/share/ico-arrow-gray-down.svg) no-repeat left 2rem top 14rem / 7rem auto;
	padding: 2rem 10rem 5rem 20rem;
	color: var(--color-gray-dark);;
	font-size: 16rem;
	line-height: 1.7;
	letter-spacing: 0.08em;
	text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.1em;
}

/* .qa-inner
------------------------------------*/
.qa-inner { width: 100%; }
.qa-inner .post { margin-top: -200rem; padding-top: 200rem; }
.qa-inner .post:not(:last-of-type) { margin-bottom: 80rem; }

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

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

.qa-main ul li,
.qa-main ol li {
	font-size: 14rem;
}

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

.qa-main blockquote p {
	font-size: 13rem;
}

.qa-inner .post-link {
	margin: 27rem 0 0;
}


/* page contact
---------------------------------------------------------------------------*/

/* .contact-area
------------------------------------*/
.contact-area { margin: 65rem 0 -55rem; }

.contact-area dl {
	display: flex;
	border-top: 1px solid var(--color-border-gray-light);
	padding: 16rem 0 32rem;
}

.contact-area dt {
	width: 117rem;
	min-width: 117rem;
	padding-left: 2rem;
}

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

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

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

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

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

.contact-area dd .tel a { pointer-events: none; }

.contact-area dd .num {
	position: absolute;
	top: 0;
	right: 0;
	font-size: 13rem;
	letter-spacing: 0.04em;
}

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

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

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

.form-wrap dt,
.form-wrap dt p {
	font-size: 15rem;
	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: 13rem;
	letter-spacing: 0.1em;
}

.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: 60rem;
	padding: 12rem 25rem;
	font-size: 16rem;
	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: 26rem;
	right: 27rem;
	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: 20rem 25rem;
	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: 20rem 0 0; }

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

.privacy-check p a:hover,
.contact-btm a:hover { color: var(--color-green); }

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

.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; }

@supports (-webkit-appearance: none) and (not (-webkit-touch-callout: none)) {
	.privacy-check .wpcf7-form-control-wrap input {
		transform: scale(1.2) translateY(1rem);
	}
}

_::-webkit-full-page-media, _:future, :root .privacy-check .wpcf7-form-control-wrap input {
	transform: scale(1.2) translateY(-1rem);
}

/* .contact-btm
------------------------------------*/
.contact-btm { margin: 8rem 0 0; }
.contact-btm,
.contact-btm a { color: var(--color-gray-dark); }
.contact-btm p { font-size: 12rem; }

/* .btn-submit
------------------------------------*/
.btn-submit {
	position: relative;
	display: inline-block;
	margin: 60rem 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 52rem / 26rem auto;
	border: none;
	border-radius: 8rem;
	margin: 0;
	padding: 17rem 90rem 17rem 60rem;
	color: var(--color-text-white);
	font-size: 16rem;
	line-height: 1.4;
	letter-spacing: 0.12em;
	text-align: center;
	white-space: nowrap;
	transition: .15s ease-out;
}

.btn-submit input:hover { opacity: 0.8; }

/* 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: 14rem 0 0;
	padding: 0;
	color: var(--color-green);
	font-size: 14rem;
	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: 16rem;
	line-height: 1.6;
	letter-spacing: 0.12em;
}

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

.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: 75rem; }
.privacy-list dl:not(:last-of-type) { margin-bottom: 75rem; }
.privacy-list dt { margin-bottom: 18rem; }

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

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

.privacy-list dd h3 {
	margin: 32rem 0 16rem;
	color: var(--color-green);
	font-size: 16rem;
	line-height: 1.8;
	letter-spacing: 0.08em;
}

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

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

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


/* media query
---------------------------------------------------------------------------*/
@media (max-width: 1240px) {
	header {
		width: 94%;
	}
	header .logo a {
		padding-right: 30rem;
		padding-left: 30rem;
	}
	header .gnav li > a,
	header .gnav li > button {
		padding-right: 8rem;
		padding-left: 8rem;
	}
	.header-inner {
		padding-right: 12rem;
	}
	.nav-question {
		margin-left: 10rem;
	}
}


/* print
---------------------------------------------------------------------------*/
@media print {

}