@charset "utf-8";
/*
Theme Name: greencoop2
Theme URI: https://greencoop.or.jp/
Version: 2.0
*/

/* common
---------------------------------------------------------------------------*/
:root {
	--color-text: #685C50;
	--color-bg: #F7F4E9;
	--color-bg-beige-light: #FCFAF6;
	--color-bg-beige: #EEEADD;
	--color-bg-gray: #E7E6E3;
	--color-bg-green: #EAF0E9;
	--color-border: #DCDCD0;
	--color-border-beige: #E0E0CE;
	--color-border-beige-dark: #C8BCA5;
	--color-border-black: #7E7D7A;

	--color-black: #453112;
	--color-green: #008111;
	--color-green-dark: #006F0F; /* 緑背景の文字 */
	--color-red: #CA4E26;
	--color-red-dark: #BF380C; /* 緑背景の文字 */
	--color-red-txt: #C54117;
	--color-yellow: #F2C81C;
	--color-yellow-light: #FFEB85; /* ハイライト */
	--color-blue: #1EA3DA;
	--color-brown: #BC9572;
	--color-beige: #F1EFEA;
	--color-beige-dark: #E8E3DD;

	--color-service01: #CA4E26; /* 高齢者支援 */
	--color-service02: #8C5D90; /* 障がい者（児）支援 */
	--color-service03: #3A77B4; /* 子ども・子育て支援 */
	--color-service04: #8F5E30; /* 生活再生支援 */
	--color-service05: #685D51; /* 地域生活支援 */

	--color-service01-txt: #C54117; /* 高齢者支援 */
	--color-service02-txt: #86528B; /* 障がい者（児）支援 */
	--color-service03-txt: #316FAD; /* 子ども・子育て支援 */
	--color-service04-txt: #9C591A; /* 生活再生支援 */
	--color-service05-txt: #615447; /* 地域生活支援 */

	--font-gothic-default: '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'Hiragino Sans', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
	--font-gothic: 'dnp-shuei-gothic-gin-std', '秀英角ゴシック銀 M', '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'Hiragino Sans', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
	--font-sans: 'Work Sans', 'Noto Sans JP', sans-serif;

	--easeInSine     : cubic-bezier(0.47, 0, 0.745, 0.715);
	--easeOutSine    : cubic-bezier(0.39, 0.575, 0.565, 1);
	--easeInOutSine  : cubic-bezier(0.445, 0.05, 0.55, 0.95);
	--easeInQuad     : cubic-bezier(0.55, 0.085, 0.68, 0.53);
	--easeOutQuad    : cubic-bezier(0.25, 0.46, 0.45, 0.94);
	--easeInOutQuad  : cubic-bezier(0.455, 0.03, 0.515, 0.955);
	--easeInCubic    : cubic-bezier(0.55, 0.055, 0.675, 0.19);
	--easeOutCubic   : cubic-bezier(0.215, 0.61, 0.355, 1);
	--easeInOutCubic : cubic-bezier(0.645, 0.045, 0.355, 1);
	--easeInQuart    : cubic-bezier(0.895, 0.03, 0.685, 0.22);
	--easeOutQuart   : cubic-bezier(0.165, 0.84, 0.44, 1);
	--easeInOutQuart : cubic-bezier(0.76, 0, 0.24, 1);
	--easeInQuint    : cubic-bezier(0.755, 0.05, 0.855, 0.06);
	--easeOutQuint   : cubic-bezier(0.23, 1, 0.32, 1);
	--easeInOutQuint : cubic-bezier(0.86, 0, 0.07, 1);
	--easeInExpo     : cubic-bezier(0.95, 0.05, 0.795, 0.035);
	--easeOutExpo    : cubic-bezier(0.19, 1, 0.22, 1);
	--easeInOutExpo  : cubic-bezier(1, 0, 0, 1);
	--easeInCirc     : cubic-bezier(0.6, 0.04, 0.98, 0.335);
	--easeOutCirc    : cubic-bezier(0.075, 0.82, 0.165, 1);
	--easeInOutCirc  : cubic-bezier(0.785, 0.135, 0.15, 0.86);
	--easeInBack     : cubic-bezier(0.6, -0.28, 0.735, 0.045);
	--easeOutBack    : cubic-bezier(0.175, 0.885, 0.32, 1.275);
	--easeInOutBack  : cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

html { font-size: 62.5%; }

body {
	overflow-y: scroll;
	background-color: var(--color-bg);
	color: var(--color-black);
	font-size: 1.4rem;
	font-family: var(--font-gothic);
	font-weight: 500;
	line-height: 1;
	font-feature-settings: 'palt' 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: none !important;
}

body.noscroll { overflow-y: scroll; position: fixed; width: 100%; }

::-moz-selection { background: #d9d7d1; color: var(--color-black); }
::selection { background: #d9d7d1; color: var(--color-black); }

p { font-size: 1.5rem; line-height: 2; letter-spacing: 0.1em; margin-bottom: 1em; }
p:last-child { margin-bottom: 0 !important; }
address,i { font-style: normal; }
img { max-width: none; }
figure img { width: 100%; }
textarea { letter-spacing: 0.12em; line-height: 2 !important; }

h1,h2,h3,h4,h5,h6 { color: var(--color-black); font-weight: 500; }
strong { font-weight: 500; }

.block { display: inline-block !important; }
.wide { display: none !important; }
.wide.block { display: none !important; }
.narrow { display: inline-block !important; }
.narrow.block { display: block !important; }

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

/* bg
------------------------------------*/
.bg-beige,
.plist,
.share,
.faq-inner .inner > h3,
.approach-wrap:after,
.history-plan h6,
.history-dl-line dt { background: url(img/share/bg-beige.jpg) repeat left top / 100px auto; }

.bg-beige-dark,
.office-search-bg { background: url(img/share/bg-beige-dark.jpg) repeat left top / 100px auto; }

/* color
------------------------------------*/
#seniorContents .title-message-en span,
.dropdown-layer-blog-nav-list .senior dt a,
.blog-list-head h1.senior,
.blog-list-head h1.office-senior-service,
.blog-list .service > span.senior a,
.top-service-list .inner:nth-of-type(1) h4,
.mnav-service-sp .inner:nth-of-type(1) button strong,
.mnav-service-sp .inner:nth-of-type(1) .mnav-sp li:first-of-type a { color: var(--color-service01-txt); }

#disabilityContents .title-message-en span,
.dropdown-layer-blog-nav-list .disability dt a,
.blog-list-head h1.disability,
.blog-list-head h1.office-disability-service,
.blog-list .service > span.disability a,
.top-service-list .inner:nth-of-type(2) h4,
.mnav-service-sp .inner:nth-of-type(2) button strong,
.mnav-service-sp .inner:nth-of-type(2) .mnav-sp li:first-of-type a { color: var(--color-service02-txt); }

#childContents .title-message-en span,
.dropdown-layer-blog-nav-list .child dt a,
.blog-list-head h1.child,
.blog-list-head h1.office-child-service,
.blog-list .service > span.child a,
.top-service-list .inner:nth-of-type(3) h4,
.mnav-service-sp .inner:nth-of-type(3) button strong,
.mnav-service-sp .inner:nth-of-type(3) .mnav-sp li:first-of-type a { color: var(--color-service03-txt); }

#regenerateContents .title-message-en span,
.dropdown-layer-blog-nav-list .regenerate dt a,
.blog-list-head h1.regenerate,
.blog-list-head h1.office-regenerate-service,
.blog-list .service > span.regenerate a,
.top-service-list .inner:nth-of-type(4) h4,
.mnav-service-sp .inner:nth-of-type(4) button strong,
.mnav-service-sp .inner:nth-of-type(4) .mnav-sp li:first-of-type a { color: var(--color-service04-txt); }

#communityContents .title-message-en span,
.dropdown-layer-blog-nav-list .community dt a,
.blog-list-head h1.community,
.blog-list-head h1.office-community-service,
.blog-list .service > span.community a,
.top-service-list .inner:nth-of-type(5) h4,
.mnav-service-sp .inner:nth-of-type(5) button strong,
.mnav-service-sp .inner:nth-of-type(5) .mnav-sp li:first-of-type a { color: var(--color-service05-txt); }

.blog-list .service > span.senior a { border-color: var(--color-service01-txt); }
.blog-list .service > span.disability a { border-color: var(--color-service02-txt); }
.blog-list .service > span.child a { border-color: var(--color-service03-txt); }
.blog-list .service > span.regenerate a { border-color: var(--color-service04-txt); }
.blog-list .service > span.community a { border-color: var(--color-service05-txt); }

/* link
------------------------------------*/
a { color: var(--color-black); text-decoration: none; -webkit-transform: translateZ(0); }
p a { text-decoration: underline; text-underline-offset: 0.1em; }

/* line
------------------------------------*/
.line { display: inline-block; position: relative; padding-bottom: 1px; line-height: 1; }
.line:after { display: block; content: ''; position: absolute; bottom: 0; left: 0; background-color: var(--color-text); width: 100%; height: 1px; }
.line-dot, .line-dot-v { position: relative; }

.line-dot:before {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background: linear-gradient(to left, var(--color-text) 25%, #FFFFFF 25%, #FFFFFF 100%) right bottom;
	background-repeat: repeat-x;
	background-size: 4px 1px;
	width: 100%;
	height: 1px;
}

.line-dot-v:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	background: linear-gradient(to bottom, var(--color-text) 25%, #FFFFFF 25%, #FFFFFF 100%) left top;
	background-repeat: repeat-y;
	background-size: 1px 4px;
	width: 1px;
	height: 100%;
}

.line-dot-green { display: inline-block; position: relative; padding-bottom: 2px; }

.line-dot-green:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background: url(img/share/line-dot-green.svg) repeat-x left top / 10px auto;
	width: 100%;
	height: 3px;
}

.line-top { position: relative; }
.line-top:before { display: block; content: ''; position: absolute; top: 0; left: 0; background-color: var(--color-border-beige); width: 100%; height: 2px; }

/* .txt-link
------------------------------------*/
.txt-link a {
	display: inline-block;
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.1em;
}

.txt-link .blank {
	display: inline-block;
	background: url(img/share/ico-blank.svg) no-repeat left top 2px;
	padding-left: 28px;
}

/* .btn
------------------------------------*/
.btn-link a,
.btn-link-m a,
.btn-link-s a,
.btn-link-ss a {
	display: block;
	background: var(--color-yellow-light);
	border-radius: 8px;
	padding: 14px 10px 13px;
	font-size: 1.4rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
	text-align: center;
}

.btn-link.round a { border-radius: 30px; }

.btn-link a i,
.btn-submit:before {
	display: inline-block;
	background: url(img/share/ico-arrow-btn-l.svg) no-repeat;
	background-size: 100% auto;
	width: 20px;
	height: 20px;
	margin: -7px 8px -7px 0;
	transform: translateY(-2px);
}

.btn-link.ico-left a { padding: 16px 13px 14px 52px; }
.btn-link.ico-left a i { position: absolute; top: 50%; transform: translateY(-50%); left: 15px; margin: 1px 0 0; }

.btn-link a.blank span {
	display: inline-block;
	position: relative;
	max-width: calc(100% - 40px);
	padding-right: 25px;
	vertical-align: top;
}

.btn-link a.blank span:before {
	display: block;
	content: '';
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	background: url(img/share/ico-blank.svg) no-repeat left top / 100% auto;
	width: 16px;
	height: 13px;
}

.btn-link-s a {
	border-radius: 4px;
	padding: 16px 19px 15px 22px;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
}

.btn-link-ss a,
.blog-link li.btn-link-s a {
	border-radius: 4px;
	padding: 10px 14px 9px 16px;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
}

.btn-link-s a.blank { padding-left: 44px; }
.btn-link-ss a.blank { padding-left: 40px; }

.btn-link-s a.blank:before,
.btn-link-ss a.blank:before {
	display: block;
	content: '';
	position: absolute;
	top: calc(50% - 5px);
	background: url(img/share/ico-blank.svg) no-repeat left top / 100% auto;
	width: 16px;
	height: 12px;
}

.btn-link-s a.blank:before { left: 18px; }
.btn-link-ss a.blank:before { left: 15px; }

.btn-line a {
	display: inline-block;
	background: #FFFFFF;
	border: 1px solid var(--color-text);
	border-radius: 30px;
	padding: 7px 12px 8px 15px;
	font-size: 1.4rem;
	letter-spacing: 0.12em;
	text-align: center;
}

.btn-line-s a { color: var(--color-black); font-size: 1.2rem; letter-spacing: 0.08em; }
.btn-line.green a { border-color: var(--color-green); color: var(--color-green); }
.btn-line.white a { background-color: #FFFFFF; }

.btn-link-arrow a {
	display: inline-block;
	background: url(img/share/ico-arrow-btn-l.svg) no-repeat left top 0.6rem / 18px auto;
	padding: 5px 5px 5px 26px;
	font-size: 1.3rem;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.btn-link-arrow-red a {
	display: inline-block;
	background: url(img/share/ico-arrow-btn-red.svg) no-repeat left top 6px;
	padding: 5px 5px 5px 29px;
	font-size: 1.4rem;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.btn-link-arrow-red a.blank span { display: inline-block; position: relative; padding-right: 22px; }

.btn-link-arrow-red a.blank span:before {
	display: block;
	content: '';
	position: absolute;
	top: 5px;
	right: 0;
	background: url(img/share/ico-blank.svg) no-repeat left top / 100% auto;
	width: 15px;
	height: 13px;
}

.btn-link-arrow-red span { text-decoration: underline; text-underline-offset: 0.1em; }
.btn-link-arrow-red span em { text-transform: capitalize; }

/* .btn-nav
------------------------------------*/
.btn-nav,
.btn-nav-close {
	position: fixed;
	top: 0;
	right: 0;
	width: 75px;
	height: 75px;
	z-index: 10000;
}

.btn-nav:after {
	display: block;
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	background: linear-gradient(151.76deg, #5A4524 11.6%, #6B4E22 90.1%);
	border-radius: 50%;
	width: 50px;
	height: 50px;
	margin: 8px 0 0 -13px;
	z-index: -1;
	transition: .15s ease-out;
	opacity: 0;
}

.btn-nav.active:after { opacity: 1; }
.btn-nav span { display: block; transition: .1s ease-out; }

.btn-nav > span {
	position: relative;
	width: 50px;
	height: 14px;
	margin: 17px 0 0;
}

.btn-nav > span span {
	position: absolute;
	left: 0;
	background-color: var(--color-black);
	width: 100%;
	height: 2px;
	-webkit-transform: translateZ(0);
}

.btn-nav > span span:nth-of-type(1) { top: 0; }
.btn-nav > span span:nth-of-type(2) { top: 6px; }
.btn-nav > span span:nth-of-type(3) { bottom: 0; }

/* .btn-nav.active
------------------------------------*/
.btn-nav.active > span span { background-color: #FAF8EC; width: 56%; margin: 0 0 0 22%; }
.btn-nav.active > span span:nth-of-type(1) { transform: translateY(6px) rotate(-20deg); }
.btn-nav.active > span span:nth-of-type(2) { animation: active-menu-bar02 .4s forwards; opacity: 0; }
.btn-nav.active > span span:nth-of-type(3) { transform: translateY(-6px) rotate(20deg); }
@-webkit-keyframes active-menu-bar02 {100%{ height: 0; }}
@keyframes active-menu-bar02 {100%{ height: 0; }}

/* .nav
------------------------------------*/
.nav {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100dvh;
	z-index: 9999;
	opacity: 0;
}

.nav > .inner {
	display: flex;
	position: absolute;
	top: 0;
	right: 0;
	overflow-y: scroll;
	display: flex;
  flex-direction: column;
	width: 100%;
	height: 100%;
	padding: 145px 30px 0;
	opacity: 0;
}

.nav > .inner::-webkit-scrollbar { width: 3px; }
.nav > .inner::-webkit-scrollbar-track { border-radius: 0; background: #E9E4DA; }
.nav > .inner::-webkit-scrollbar-thumb { border-radius: 0; background: var(--color-black); }

.nav .logo { order: 1; }
.nav .nav-top { order: 2; }
.nav .nav-service { order: 3; }
.nav .nav-global { order: 4; }
.nav .btn-tel { order: 5; }
.nav .btn-keyword { order: 6; }
.nav .bnr-workers { order: 7; }
.nav-office-search { order: 8; }
.nav .footer-inner { order: 99; }
.nav .logo { position: absolute; top: 20px; left: 18px; }
.nav .nav-top { margin: 0 0 3rem 14px; }
.nav .nav-top a { font-weight: 600; font-size: 1.4rem; letter-spacing: 0.13em; }
.nav .nav-global { border-top: 2px solid #FFFFFF; margin: 40px 0; padding: 40px 15px 0; }
.nav .nav-global .nav-workers { display: none; }
.nav .nav-global li { margin-bottom: 0.8rem; }

.nav .nav-global li a {
	display: block;
	background: url(img/share/ico-arrow-btn-l.svg) no-repeat left 1px top 0.4rem / 18px auto;
	padding: 5px 10px 13px 33px;
	color: var(--color-black);
	font-size: 1.65rem;
	letter-spacing: 0.14em;
}

.nav .nav-global li a span {
	display: block;
	margin-top: 12px;
	font-size: 1.3rem;
	letter-spacing: 0.18em;
	font-weight: 600;
}

.nav .bnr-workers { width: 310px; margin: 50px auto 60px; }
.nav .bnr-workers a { display: block; }
.nav .bnr-workers img { width: 100%; }

.nav .nav-service { padding: 0 0 0 15px; }
.nav .nav-service li:not(:last-of-type) { margin-bottom: 1.3rem; }

.nav .nav-service li a {
	display: inline-block;
	padding: 5px 10px 5px 32px;
	color: var(--color-black);
	line-height: 1.6;
}

.nav .nav-service li a i {
	display: block;
	position: absolute;
	top: calc(10px + 1rem - 12px);
	left: 0;
	width: 20px;
	height: 20px;
	transform: rotate(-90deg);
}

.nav .nav-service li a strong {
	display: block;
	margin-bottom: 0.7rem;
	font-size: 1.8rem;
	letter-spacing: 0.16em;
}

.nav .nav-service li a em {
	display: block;
	font-weight: 600;
	font-size: 1.2rem;
	letter-spacing: 0.12em;
}

.nav .btn-tel { width: 310px; margin: 0 auto 15px; }
.nav .btn-tel a { background: #FFFFFF url(img/share/btn-tel-s.svg) no-repeat left 20px center / 50px auto; }
.nav .btn-tel a span { letter-spacing: 0.155em; }

.nav .btn-keyword { width: 300px; margin: 0 auto; }
.nav .btn-keyword img { width: 100%; }
.nav-btm { display: none !important; }
.nav .footer-inner { margin-top: 100px; padding-bottom: 45px; }

.nav-office-search {
	position: relative;
	background-color: #FFFFFF;
	border-radius: 8px;
	padding: 38px 30px 26px;
}

.nav-office-search:before {
	display: block;
	content: '';
	position: absolute;
	top: -24px;
	left: 50%;
	transform: translateX(-50%);
	background: var(--color-yellow) url(img/share/ico-question.svg) no-repeat center center / 100% auto;
	border-radius: 50%;
	width: 52px;
	height: 52px;
}

.nav-office-search h2 {
	margin-bottom: 40px;
	font-weight: 600;
	font-size: 1.7rem;
	line-height: 2.2;
	letter-spacing: 0.1em;
	text-align: center;
}

.nav-office-search h2 span {
	display: inline-block;
	background: url(img/share/line-dot-black.svg) repeat-x left bottom;
	padding-bottom: 6px;
	line-height: 1;
}

.nav-office-search .top-service-list { gap: 28px 18px; }
.nav-office-search .top-service-list .inner:last-child { display: none !important; }
.nav-office-search .top-service-list .inner a { padding-top: 36px; }
.nav-office-search .top-service-list .inner h3 { font-size: 1.5rem; letter-spacing: 0.06em !important; }
.nav-office-search .top-service-list .inner i img { transform-origin: center center; transform: scale(0.8); }
.nav-office-search .top-service-list .inner h4 { padding-right: 6px; padding-left: 7px; font-weight: 600; letter-spacing: 0.04em; }

.nav-office-search .office-search-btn-open {
	background-color: var(--color-red);
	border-radius: 100px;
	width: calc(100% + 10px);
	margin: 30px -5px 0;
	padding: 10px 10px 8px 12px;
	color: #FFFFFF;
	font-weight: 600;
	font-size: 1.4rem;
	line-height: 1.6;
	letter-spacing: 0.12em;
	text-align: center;
}

/* .mnav-service-sp
------------------------------------*/
.nav > .inner { display: block; }
.nav .nav-top { margin: 0 0 3.5rem 10px; }

.nav-service,
.nav-office-search { display: none !important; }
.nav-service.narrow,
.nav-office-search-btn { display: block !important; }

.nav .nav-global { border-top: none; margin-top: 0; padding-top: 50px; }
.nav-office-search-btn { width: 310px; margin: 0 auto 15px; }

.nav .btn-tel a,
.nav-office-search-btn button {
	display: block;
	border-radius: 8px;
	width: 100%;
	padding: 17px 15px 15px 98px;
	color: var(--color-black);
	font-weight: 600;
	font-size: 1.5rem;
	line-height: 1.65;
	letter-spacing: 0.13em;
	text-align: left;
}

.nav-office-search-btn button { background: #FFFFFF url(img/share/ico-question-s.svg) no-repeat left 20px top 15px / 50px auto; }
.nav .nav-service:has(.mnav-service-sp){ padding: 0; }
.mnav-service-sp { border-top: 2px solid rgba(192,186,174,0.6); }

.mnav-service-sp .inner button {
	position: relative;
	border-bottom: 2px solid rgba(192,186,174,0.6);
	width: 100%;
	padding: 18px 42px 18px 10px;
	font-weight: 600;
	text-align: left;
}

.mnav-service-sp .inner button strong {
	display: block;
	margin-bottom: 5px;
	font-weight: 600;
	font-size: 1.8rem;
	line-height: 1.6;
	letter-spacing: 0.16em;
}

.mnav-service-sp .inner button em {
	display: block;
	font-weight: 600;
	font-size: 1.3rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.mnav-service-sp .inner button i {
	display: block;
	position: absolute;
	background: url(img/share/ico-plus-line.svg) no-repeat;
	top: 24px;
	right: 17px;
	width: 16px;
	height: 16px;
	transition: .4s var(--easeOutCubic);
	transform: rotate(0deg);
}

.mnav-service-sp .inner button.active i { transform: rotate(135deg); }
.mnav-service-sp .mnav-sp { display: none; }
.mnav-service-sp .mnav-sp ul { border-bottom: 2px solid rgba(192,186,174,0.6); padding: 20px 0 35px 10px; }
.mnav-service-sp .mnav-sp li { margin-bottom: 4px !important; }

.mnav-service-sp .mnav-sp li a {
	display: inline-block;
	position: relative;
	padding: 5px 5px 5px 15px;
	font-size: 1.4rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
	text-decoration: underline;
	text-underline-offset: 0.1em;
}

.mnav-service-sp .mnav-sp li:first-of-type a { font-weight: 600; }

.mnav-service-sp .mnav-sp li a:before {
	display: block;
	content: '';
	position: absolute;
	top: 13px;
	left: 0;
	background-position: left top;
	background-repeat: no-repeat;
	background-size: 8px auto;
	width: 9px;
	height: 5px;
	transform: rotate(-90deg);
}

.mnav-service-sp .inner:nth-of-type(1) .mnav-sp li a:before { background-image: url(img/share/ico-arrow-down-line-service01.svg); }
.mnav-service-sp .inner:nth-of-type(2) .mnav-sp li a:before { background-image: url(img/share/ico-arrow-down-line-service02.svg); }
.mnav-service-sp .inner:nth-of-type(3) .mnav-sp li a:before { background-image: url(img/share/ico-arrow-down-line-service03.svg); }
.mnav-service-sp .inner:nth-of-type(4) .mnav-sp li a:before { background-image: url(img/share/ico-arrow-down-line-service04.svg); }
.mnav-service-sp .inner:nth-of-type(5) .mnav-sp li a:before { background-image: url(img/share/ico-arrow-down-line-service05.svg); }

/* .sns
------------------------------------*/
.sns ul { display: flex; margin: -6px; }
.sns li a { display: block; padding: 5px 4px; }
.sns li a img { width: 26px; height: auto; }


/* #wrap
---------------------------------------------------------------------------*/
#wrap { overflow: hidden; min-height: 100vh; }

/* .search-fix
------------------------------------*/
.search-fix,
.tel-fix { display: none !important; }
.nav .search-fix { order: 6; display: block !important; width: 310px; margin: 0 auto; opacity: 1 !important; }
.search-fix-btn { display: none !important; }
.search-fix .close { display: none !important; }

/* .gsc
------------------------------------*/
.search-fix .gsc-search-box-tools .gsc-search-box .gsc-input,
.search-fix .gsc-search-box-tools .gsc-search-box .gsc-input *:not(input) {
	font-size: 0 !important;
	line-height: 0 !important;
}

.search-fix .gsc-search-box-tools .gsc-search-box .gsc-input input.gsc-input {
	font-size: 16px !important;
}

.search-fix input.gsc-input {
	border-bottom: 1px solid var(--color-border) !important;
	height: 28px !important;
	margin: 0 !important;
	padding: 0 32px 0 4px !important;
	font-family: var(--font-gothic-default);
	line-height: 0 !important;
}

.search-fix .gsib_a { height: 28px !important; line-height: 1 !important; }
.search-fix input.gsc-input { position: relative; background: none !important; padding-left: 22px; }
.search-fix .gsib_a { position: relative; padding-top: 3px !important; padding-bottom: 0 !important; }
.search-fix .gsc-search-box-tools .gsc-search-box .gsc-input { height: 28px !important; padding-top: 2px; padding-right: 15px; }

.search-fix .gsib_a {
	position: relative;
	background: none;
	padding: 0 !important;
}

.search-fix .gsib_a:before {
	display: block;
	content: '';
	position: absolute;
	top: 3px;
	left: 6px;
	background: url(img/share/ico-search-keyword.svg) no-repeat left top / 18px auto !important;
	width: 18px;
	height: 18px;
	pointer-events: none;
	transition: .1s ease-out;
	opacity: 0.8;
}

.search-fix .gsib_a:has(.focus):before { opacity: 0; }

.search-fix .gsib_a:after {
	display: block;
	content: 'キーワード検索';
	position: absolute;
	top: 6px;
	left: 33px;
	color: var(--color-text);
	font-size: 14px;
	line-height: 1;
	letter-spacing: 0.14em;
	white-space: nowrap;
	pointer-events: none;
	transition: .1s ease-out;
	opacity: 0.8;
}

.search-fix .gsib_a:has(.focus):after { opacity: 0; }

.search-fix .gsib_b {
	position: absolute;
	top: -3px !important;
	right: 0 !important;
	width: 22px !important;
	height: 100% !important;
	padding: 4px !important;
	text-align: center;
	z-index: 2;
}

.search-fix .gsib_b .gsst_b,
.search-fix .gsib_b .gsst_a {
	padding: 0 !important;
}

.search-fix .gsc-control-searchbox-only {
	position: relative;
	background-color: #FFFFFF;
	border-radius: 8px;
	width: 100%;
	height: 57px;
	padding: 11px 16px 0 18px;
}

.search-fix form.gsc-search-box {
	margin: 0 !important;
}

.search-fix .gsc-search-button {
	display: block !important;
}

.search-fix button.gsc-search-button {
	position: relative;
	background-color: #FFE894 !important;
	border: none !important;
	border-radius: 5px !important;
	width: 60px !important;
	height: 34px !important;
}

.search-fix button.gsc-search-button:before {
	display: block;
	content: '検索';
	position: absolute;
	top: 10px;
	left: 0;
	width: 100%;
	padding-left: 3px;
	font-weight: 600;
	font-size: 14px;
	letter-spacing: 0.1em;
	text-align: center;
	white-space: nowrap;
	z-index: 1;
}

.search-fix .gsc-search-button svg { display: none !important; }
.search-fix .gsc-input-box { position: relative; border: none; border-radius: 0 !important; }
.search-fix .gsst_a .gscb_a { color: var(--color-text) !important; }


/* header
---------------------------------------------------------------------------*/
header {
	position: absolute;
	top: 0;
	left: 0;
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 20px 0 0 18px;
	z-index: 100;
	opacity: 0;
}

.header-inner { display: flex; justify-content: space-between; width: 100%; margin: 0 auto; }

.nav .logo,
.header-inner .logo,
.office-search .logo { width: 163px; min-width: 163px; margin-top: 7px; }
.nav .logo img,
.header-inner .logo img,
.office-search .logo img { width: 100%; height: auto; }
.header-nav,
.header-nav .gnav { display: none; }

.btn-location, .btn-search {
	position: relative;
	padding: 40px 12px 15px;
	text-align: center;
}

.btn-location i, .btn-search i {
	display: block;
	position: absolute;
	bottom: 36px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}

.btn-location i img { width: 17px; }

.btn-location i:after, .btn-search i:after {
	display: block;
	content: '';
	position: absolute;
	bottom: -5px;
	left: calc(50% - 12px);
	background-color: #F3EAD3;
	border-radius: 50%;
	width: 24px;
	height: 9px;
	z-index: -1;
}

.btn-location span, .btn-search span {
	display: block;
	font-size: 10px;
	letter-spacing: 0.04em;
	font-weight: 500;
}

.btn-location span em { display: none; }

.nav .nav-service li:nth-of-type(1) a i { background-image: url(img/share/ico-arrow-down-service01.svg); }
.nav .nav-service li:nth-of-type(2) a i { background-image: url(img/share/ico-arrow-down-service02.svg); }
.nav .nav-service li:nth-of-type(3) a i { background-image: url(img/share/ico-arrow-down-service03.svg); }
.nav .nav-service li:nth-of-type(4) a i { background-image: url(img/share/ico-arrow-down-service04.svg); }
.nav .nav-service li:nth-of-type(5) a i { background-image: url(img/share/ico-arrow-down-service05.svg); }

/* .nav-bg
------------------------------------*/
.nav-bg {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(46,37,29,0.6);
	width: 100%;
	height: 100vh;
	z-index: 999;
	opacity: 0;
	pointer-events: none;
}


/* footer
---------------------------------------------------------------------------*/
footer {
	box-sizing: border-box;
	position: relative;
	width: 100%;
	margin: 100px auto 0;
	padding: 0 28px 35px;
	opacity: 0;
	z-index: 0;
}

footer,
footer a { color: var(--color-black); }

.footer-inner .copyright {
	position: absolute;
	top: 104px;
	right: -0.5rem;
	font-size: min(1rem, 14px);
	letter-spacing: 0.08em;
	transform-origin: left top;
	transform: scale(0.8);
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.footer-inner .copyright i { display: inline-block; transform: rotate(90deg); }
.footer-inner .inner { position: relative; padding-top: 54px; }
.footer-inner .sns { display: block; margin: 0 25px 25px 2px; }

.footer-inner .btn-en {
	display: inline-block;
	position: absolute;
	top: 94px;
	left: 30px;
	border-bottom: 1px solid var(--color-text);
	padding: 0 3px 10px 4px;
	font-family: var(--font-sans);
	font-size: 12px;
	letter-spacing: 0.08em;
}

.footer-inner h3 { margin-bottom: 28px; }
.footer-inner h3 img { width: min(18rem, 240px); height: auto; }

.footer-inner h1,
.footer-inner h2 {
	margin-bottom: 10px;
	font-size: 1.4rem;
	line-height: 1.4;
	letter-spacing: 0.12em;
}

.footer-inner .tel,
.footer-inner address {
	font-size: 1.4rem;
	line-height: 1.75;
	letter-spacing: 0.05em;
}

.footer-inner .tel { margin-bottom: 12px; }
.footer-inner .tel a { text-decoration: underline; text-underline-offset: 0.1em; }
.footer-inner nav { display: none; }
.footer-inner .txt-link-wrap { margin-top: 3rem; }
.txt-link-wrap .txt-link { margin-top: 1.4rem; }
.txt-link-wrap a { font-size: 1.4rem; text-decoration: underline; text-underline-offset: 0.1em; }
.txt-link-wrap a.blank { background-position: left top calc(0.6rem - 5px); padding-left: 24px; }
.txt-link-wrap a span i { letter-spacing: -1px; }
.txt-link-wrap a span em { font-size: 1.2rem; letter-spacing: 0.06em; }

/* .office-search
---------------------------------------------------------------------------*/
.office-search-btn-head {
	position: absolute;
	top: 30px !important;
	left: calc(100vw - 177px) !important;
	bottom: inherit !important;
	height: auto !important;
	color: var(--color-black);
	font-weight: 600;
	font-size: 13px;
	line-height: 1.3;
	letter-spacing: 0.1em;
	text-align: left;
	z-index: 101;
	opacity: 0;
}

.office-search-btn-head i { margin-right: 8px; }
.office-search-btn-head i img { width: 32px; }
.office-search-btn-head span { display: inline-block; transform: translateY(1px); }
_::-webkit-full-page-media, _:future, :root .office-search-btn-head span { transform: translateY(0); }

.office-search-btn {
	display: none;
	position: fixed;
	bottom: 18px;
	right: 18px;
	background: #FFFFFF;
	box-shadow: 0 4px 4px 0 rgba(0,0,0,0.25);
	border-radius: 40px;
	margin-bottom: 0 !important;
	padding: 17px 24px 17px 52px;
	color: var(--color-black);
	font-weight: 600;
	font-size: min(1.5rem, 25px);
	letter-spacing: 0.12em;
	white-space: nowrap;
	z-index: 99;
	opacity: 0;
}

.office-search-btn .ico { display: block; position: absolute; top: 12px; left: 16px; transform-origin: center bottom; }
.office-search-btn .ico img { width: 24px; }
.office-search { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 1000; }
.office-search .logo { position: absolute; top: 20px; left: 18px; z-index: 1; }

.modal-bg,
.office-search-bg {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 200vh;
	z-index: 0;
	opacity: 0;
}

.modal-bg { display: none; position: fixed; background-color: rgba(180,173,162,0.92); z-index: 300; }

/* .office-search-select
------------------------------------*/
.office-search-select {
	display: none;
	overflow-y: scroll;
	height: 100%;
	padding-bottom: 35px;
	font-weight: 600;
	color: var(--color-black);
	z-index: 2;
	opacity: 0;
}

.office-search-select-inner {
	background-color: #FFF9EF;
	border-radius: 15px;
	width: 92%;
	margin: 120px auto 0;
	padding: 35px 28px 5px;
}

.office-search .close,
.office-search .close-result {
	position: fixed;
	top: 21px !important;
	right: 25px !important;
	background-color: var(--color-red);
	border-radius: 50%;
	width: 50px;
	height: 50px;
	z-index: 100;
}

.office-search .close img,
.office-search .close-result img { display: block; width: 100%; }
.office-search .close img { filter: saturate(15%) brightness(100%) contrast(100%); }
.office-search .close-result { display: none; z-index: 101; opacity: 0; }
.office-search .off { pointer-events: none; }
.office-search .off .dropdown-btn { background-color: #ECECEC; border-color: #ECECEC; color: #6A6A6A; }

/* .office-search-select-q1
------------------------------------*/
.office-search-select-q1 { position: relative; margin-bottom: 45px; }
.office-search-select-q1 .index { background-color: #EEE8DF; border: none; }
.office-search-select-q1 .index .line { line-height: 1.6; }
.office-search-select-q1 .index .line:after { display: none; }

.office-search-select-q1 .index a {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	padding: 10px 5px 5px 8px;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

.office-search-select h2 {
	position: relative;
	margin-bottom: 18px;
	padding-left: 3.8rem;
	font-weight: 600;
	font-size: 1.6rem;
	line-height: 1.6;
	letter-spacing: 0.09em;
}

.office-search-select-q1 h2 { margin-bottom: 30px; }
.office-search-select h2 i { position: absolute; top: 0; left: 0; color: var(--color-red-txt); white-space: nowrap; }
.office-search-select h2 i img { width: 35px; }
.office-search-select h2 span { display: inline-block; padding: 0 0 8px 1px; font-size: 1.7rem; letter-spacing: 0.12em; }

.office-search-select-q1 ul { display: grid; grid-template-columns: 1fr 1fr; gap: 36px 9px; }

.office-search-select-q1 li {
	position: relative;
	background-color: #FFFFFF;
	border: 2px solid #F0F0F0;
	border-radius: 12px;
	text-align: center;
	white-space: nowrap;
	transition: .1s ease-out;
	z-index: 0;
}

.office-search-select-q1 li .btn { display: block; width: 100%; padding: 42px 17px 14px; }
.office-search-select-q1 li i { display: block; position: absolute; left: 0; width: 100%; }

.office-search-select01.current { background-color: var(--color-service01); color: #FFFFFF; }
.office-search-select02.current { background-color: var(--color-service02); color: #FFFFFF; }
.office-search-select03.current { background-color: var(--color-service03); color: #FFFFFF; }
.office-search-select04.current { background-color: var(--color-service04); color: #FFFFFF; }
.office-search-select05.current { background-color: var(--color-service05); color: #FFFFFF; }

.office-search-select .office-search-select01 i { top: -12px; }
.office-search-select .office-search-select01 i img { width: 84px; }
.office-search-select .office-search-select02 i { top: -18px; }
.office-search-select .office-search-select02 i img { width: 60px; }
.office-search-select .office-search-select03 i { top: -21px; margin-left: 2px; }
.office-search-select .office-search-select03 i img { width: 66px; }
.office-search-select .office-search-select04 i { top: -30px; margin-left: 6px; }
.office-search-select .office-search-select04 i img { width: 70px; }
.office-search-select .office-search-select05 i { top: -14px; }
.office-search-select .office-search-select05 i img { width: 80px; }

.office-search-select-q1 li strong { display: block; font-weight: 600; font-size: 1.6rem; line-height: 1.45; letter-spacing: 0.08em; }
.office-search-select .office-search-select02 strong { margin-right: -1px; margin-left: -1px; }
.office-search-select .office-search-select03 strong { margin-right: -4px; margin-left: -4px; }

/* .office-search-select-q2
------------------------------------*/
.office-search-select-q2 { display: none; margin-bottom: 30px; }
.office-search-select-q2 .q2-inner > div { margin-bottom: 10px; }
.office-search-select-q2 .q2-inner .dropdown-li:first-of-type { display: block !important; margin-bottom: 6px; color: #666; }

/* .office-search-select-q3
------------------------------------*/
.office-search-select-q3 { display: none; margin-bottom: 30px; padding-top: 15px; }
.office-search-select-q3 .select-wrap { display: none !important; }
.office-search-select-q3 .select-wrap li { display: inline-block; }

/* .search-result-btn-wrap
------------------------------------*/
.search-result-btn-wrap { display: none; position: relative; margin-bottom: 30px; }

.search-result-btn,
.search-not-result-btn {
	display: block;
	position: relative;
	background-color: #FFE897;
	border-radius: 7px;
	width: 100%;
	margin: 0 auto;
	padding: 19px;
	font-size: 1.5rem;
	letter-spacing: 0.1em;
	text-align: center;
	z-index: 1;
}

.search-result-btn { height: 52px; padding: 0; }
.search-result-btn strong { display: inline-block; margin-right: 5px; font-weight: 600; transform: translateY(-3px); }

.search-not-result-btn {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	background-color: var(--color-bg-gray);
	color: var(--color-black);
	z-index: 2;
}

/* .office-search-count
------------------------------------*/
.office-search-count {
	display: inline-block;
	overflow: hidden;
	height: 2rem;
	margin-right: 6px;
	font-weight: 600;
	font-size: 1.5rem;
	white-space: nowrap;
	letter-spacing: 0.15em;
	z-index: 3;
	transform: translateY(3px);
}

.office-search-count .inner { display: inline-block; pointer-events: none; transform: translateY(1px); }

.office-search-count .count {
	display: inline-block;
	width: 4rem !important;
	margin-top: -2px;
	padding-right: 3px;
	text-align: right;
	transform: translateY(2px);
	white-space: nowrap;
}

.office-search-count .count i {
	display: inline-block;
	position: relative;
	overflow: hidden;
	width: 11px;
	height: 16px;
	letter-spacing: 0;
}

.office-search-count .count i span { display: block; position: absolute; top: 0; left: 0; opacity: 0; }

/* .office-search-result
------------------------------------*/
.office-search-result {
	display: none;
	overflow-y: scroll;
	position: fixed;
	top: 0;
	left: 0;
	background-color: #FFFFFF;
	width: 100%;
	height: 100%;
	font-weight: 600;
	z-index: 99;
	opacity: 0;
}

.office-search-result::-webkit-scrollbar { width: 3px; }
.office-search-result::-webkit-scrollbar-track { border-radius: 0; background: var(--color-beige); }
.office-search-result::-webkit-scrollbar-thumb { border-radius: 0; background: var(--color-black); }

.office-search-result-inner {
	position: relative;
	min-height: 100vh;
	padding: 35px 6% 45px;
	box-shadow: -1px 4px 7px rgba(148, 139, 123, 0.56);
	opacity: 0;
}

.office-search-result-inner > p:first-of-type {
	margin: 0 70px 40px 2px !important;
	font-weight: 400;
	font-size: 1.4rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.office-search-result .result-head { position: relative; }

.office-search-result .result-head .title {
	position: relative;
	min-height: 66px;
	margin-bottom: 35px;
	padding: 0 0 0 105px;
}

.office-search-result .result-head .title .link {
	display: block;
	margin-bottom: 14px;
	font-size: 1.2rem;
	letter-spacing: 0.1em;
}

.office-search-result .result-head .title h3 { font-weight: 600; font-size: 2rem; letter-spacing: 0.15em; }
.office-search-result .result-head .title > div { display: none; opacity: 0; }
.office-search-result .result-head .title i { display: block; position: absolute; left: 5px; }
.office-search-result .result-head .title .senior i { top: 7px; margin-left: -5px; }
.office-search-result .result-head .title .disability i { top: -6px; margin-left: 0; }
.office-search-result .result-head .title .child i { top: -5px; margin-left: 5px; }
.office-search-result .result-head .title .regenerate i { top: -20px; margin-left: 10px; }
.office-search-result .result-head .title .community i { top: 2px; margin-left: -2px; }
.office-search-result .result-head .title .senior i img { width: 90px; }
.office-search-result .result-head .title .disability i img { width: 75px; }
.office-search-result .result-head .title .child i img { width: 80px; }
.office-search-result .result-head .title .regenerate i img { width: 80px; }
.office-search-result .result-head .title .community i img { width: 85px; }

.office-search-result .result-head .count {
	margin: 0 0 10px 2px;
	font-family: var(--font-gothic);
	font-weight: 500;
	font-size: 1.2rem;
	letter-spacing: 0.1em;
}

/* .office-search-result .q1
------------------------------------*/
.office-search-result .q1,
.office-search-result .q2 { padding: 37px 35px 35px; }
.office-search-result .q1 { margin-bottom: 30px; }

.office-search-result .question h4 {
	position: relative;
	margin-bottom: 15px;
	padding: 0 0 0 34px;
	font-size: 1.7rem;
	letter-spacing: 0.08em;
}

.office-search-result .question h4 i {
	display: block;
	position: absolute;
	top: 3px;
	left: 0;
	color: var(--color-red-txt);
	font-size: 1.4rem;
}

/* dropdown
------------------------------------*/
.dropdown { display: block !important; position: relative; width: 100%; text-align: left; }
.dropdown.active { z-index: 301; }

.dropdown-btn {
	display: block;
  position: relative;
  background: #FFFFFF;
	border: 2px solid var(--color-border);
	border-radius: 5px;
  width: 100%;
	padding: 13px 45px 12px 14px;
	font-size: 1.5rem;
	line-height: 1.4;
	letter-spacing: 0.09em;
	text-align: left;
}

.dropdown-btn.active { border-color: var(--color-yellow-light); }

.dropdown-btn:before {
	display: block;
	content: '';
	position: absolute;
	top: 13px;
	right: 13px;
	background: url(img/share/ico-arrow-down-brown.svg) no-repeat left top -0.5px / 100% auto;
	width: 20px;
	height: 20px;
	pointer-events: none;
	transition: .1s ease-out;
}

.dropdown-btn.active:before { transform: rotate(-180deg); }

.dropdown-btn:after {
	display: block;
	content: '';
	position: absolute;
	top: -3px;
	left: -3px;
	border: 1px solid var(--color-yellow-light);
	border-radius: 6px;
	width: calc(100% + 6px);
	height: calc(100% + 6px);
	pointer-events: none;
	opacity: 0;
}

.dropdown-btn.active:after { opacity: 1; }

.dropdown-btn-reset {
	display: none;
	position: absolute;
	top: 0;
	right: 0;
	padding: 14px 15px;
	z-index: 2;
	cursor: pointer;
	opacity: 0;
}

.dropdown-btn-reset img { display: block; transition: .1s ease-out; }

/* .dropdown-btn.arrow-line
------------------------------------*/
.dropdown-btn.arrow-line { min-width: 190px; padding-right: 60px; }
.dropdown-btn.arrow-line:before { display: none; }
.dropdown-btn.arrow-line i { display: block; position: absolute; top: 0; right: 0; height: 100%; }

.dropdown-btn.arrow-line i:before {
	display: block;
	content: '';
	position: absolute;
	top: 5px;
	right: 40px;
	background-color: var(--color-border-beige);
	width: 1px;
	height: calc(100% - 10px);
	z-index: 2;
}

.dropdown-btn.arrow-line i:after {
	display: block;
	content: '';
	position: absolute;
	top: calc(50% - 2px);
	right: 15px;
	background: url(img/share/ico-arrow-down.svg) no-repeat left top / 100% auto;
	width: 10px;
	height: 6px;
}

/* .dropdown-btn-color
------------------------------------*/
.dropdown-btn-color {
	background-color: #FFE894;
	border: none;
	padding: 13px 40px 13px 55px;
	color: var(--color-black);
}

.dropdown-btn-color:before {
	background-image: url(img/share/ico-check-btn.svg);
	top: 12px;
	left: 15px;
	width: 24px;
	height: 24px;
	transform: rotate(0deg) !important;
}

.dropdown-btn-color:after { display: none !important; }

/* .dropdown-layer
------------------------------------*/
.dropdown-layer { display: none; overflow: hidden; position: absolute; top: 55px; left: 0; z-index: 10; }
.dropdown-layer-up { top: inherit; bottom: 55px; }

.dropdown-layer-common {
	background-color: #FFFFFF;
	border-radius: 7px;
	width: 100%;
	padding: 14px 6px 14px 10px;
	filter: drop-shadow(1px 4px 2px rgba(0,0,0,0.1));
}

.dropdown-layer-common,
.dropdown-btn.size-s + .dropdown-layer { filter: drop-shadow(1px 4px 3px rgba(0,0,0,0.1)) }
.dropdown-btn.size-s + .dropdown-layer { top: 45px; }
.dropdown-layer .dropdown-ul:has( .dropdown-li.headline) { padding-bottom: 12px; }
.dropdown-inner { overflow-y: scroll; max-height: 288px; }
.dropdown-inner::-webkit-scrollbar { width: 2px; }
.dropdown-inner::-webkit-scrollbar-track { border-radius: 0; background: #FFFFFF; }
.dropdown-inner::-webkit-scrollbar-thumb { border-radius: 0; background: #CCCCCC; }
.dropdown-ul { padding: 0 4px 0 0; }
.dropdown-ul.scroll { padding-right: 12px; }

.dropdown-li,
.dropdown-li > a {
	display: block;
	position: relative;
	border-radius: 3px;
	padding: 6px 9px;
	font-size: 1.4rem;
	line-height: 1.5;
	letter-spacing: 0.06em;
}

.dropdown-li:has(a) { padding: 0; }
.dropdown-ul:has( .dropdown-li.headline) .dropdown-li.child-li { margin-top: 0; padding-right: 0; padding-left: 16px; }
.dropdown-ul:has( .dropdown-li.headline) .dropdown-li.child-head { margin-top: 0; padding-left: 25px; }
.dropdown-li.grandchild + .dropdown-li.child-head { margin-top: 15px; }
.dropdown-li.grandchild { padding-left: 24px; }
.office-search-select .dropdown-li.grandchild { padding-left: 32px; }
.dropdown-li.grandchild:before { display: block; content: '-'; position: absolute; top: 4px; left: 20px; }
.dropdown-li.child-head { margin-bottom: 2px; }
.dropdown-li.child-head:first-child { padding-top: 6px; }
.q1-inner .dropdown-li:first-of-type { display: block !important; }
.dropdown-li:has(+ .headline):first-of-type { padding-left: 17px; }

.dropdown-li.headline {
	padding-top: 25px;
	padding-bottom: 10px;
	color: var(--color-green);
	pointer-events: none;
}

.dropdown-li.headline:first-of-type { padding-top: 15px; }
.dropdown-li button { letter-spacing: 0.06em; text-align: left; }

/* .search-select-btn
------------------------------------*/
.search-select-btn {
	appearance: none;
	background: #FFFFFF url(img/share/ico-arrow-down-brown.svg) no-repeat right 14px center;
	border: 2px solid var(--color-border);
	border-radius: 5px;
	width: 100%;
	padding: 15px 45px 16px 14px;
	font-size: 1.5rem;
	letter-spacing: 0.06em;
}

.office-search-result .q1-2 select option { display: none; }
.office-search-result .q1-2 select option:first-of-type { display: block !important; }

/* .office-search-result .result
------------------------------------*/
.office-search-result .result { border-top: 1px solid var(--color-border-beige-dark); }
.office-search-result .result-list li { display: none; border-bottom: 1px solid var(--color-border-beige-dark); }
.office-search-result .result-list li.active { display: block; }
.office-search-result .result-list a { display: block; padding: 20px 12px 21px 17px; }

.office-search-result .result-list strong {
	display: block;
	font-weight: 600;
	font-size: 1.5rem;
	line-height: 1.55;
	letter-spacing: 0.08em;
}

.office-search-result .result-list .label {
	display: flex;
	flex-wrap: wrap;
	margin: 16px 0 0 -1px;
}

.office-search-result .no-result {
	display: none;
	position: relative;
	border-bottom: 1px solid var(--color-border-beige-dark);
	padding: 55px 10px 60px;
}

.office-search-result .no-result p { line-height: 1.9; letter-spacing: 0.08em; text-align: justify; }
.office-search-result .no-result p br { display: none; }
.office-search-result .no-result .txt-link { margin-top: 20px; letter-spacing: 0.1em; }
.office-search-result .no-result .txt-link a { font-size: 1.4rem; }
.office-search-result .no-result .txt-link a.blank { background-position: left top 1px; padding-left: 24px; }
.office-search-result .result .attention-list { margin-top: 18px; }
.office-search-result .result .attention-list li { font-size: 1.4rem; }


/* contents
---------------------------------------------------------------------------*/
#mainContents { display: block; width: 100%; margin: 0; padding: 0; text-align: left; }
body.blog #mainContents { position: relative; z-index: 1; }
.contents { opacity: 0; }

/* .header-page
------------------------------------*/
.header-page { margin: 0 0 35px; padding-top: 100px; }
.header-page:has(.blog-nav-open) { overflow: hidden; }
.header-page:has( .dropdown) { position: relative; z-index: 1; }
.header-page:has( .dropdown.active) { z-index: inherit; }

.header-page h1,
.header-page h2,
.office-sns { padding: 0 7%; }

.header-page h1,
.header-page h2 {
	display: inline-block;
	position: relative;
	font-weight: 400;
	font-size: 1.8rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
	margin-top: 2px;
}

.header-page:has(.blog-nav-open) h1,
.header-page:has(.blog-nav-open) h2 { margin-top: 10px; font-size: min(1.8rem, 22px); }

/* .plist
------------------------------------*/
.plist { overflow-x: scroll; width: 100%; margin-bottom: 32px; padding: 14px 16px; }
.header-page:has(.blog-nav-open) .plist { margin-bottom: 22px; }
#faqContents .plist { display: none; }

.plist ul { display: flex; margin: -7px 0 -8px; font-size: 1.3rem; letter-spacing: 0.08em; white-space: nowrap; }
.plist ul + ul { margin-top: 4px; }
.plist ul:not(:first-of-type) li:first-of-type { pointer-events: none; opacity: 0; }

.plist li { position: relative; margin-right: 10px; }
.plist li:last-of-type { padding-right: 10px; }
.plist li:after { display: block; content: '／'; position: absolute; top: 7px; right: -14px; transform: rotate(-10deg); }
.plist li:has(+ li:empty):after { display: none; }
.plist li:last-of-type:after { display: none; }
.plist li.parent { border-radius: 2px; padding: 0 0 0 5px; }
.plist li.parent:after { right: -13px; }
.plist li a,
.plist li:not(:has(a)) { display: inline-block; padding: 7px 0.5rem 8px 8px; }
.plist li:first-of-type a { background: url(img/share/ico-home.svg) no-repeat left 2px top 5.5px; padding-left: 25px; }
.plist li.parent a { background-repeat: no-repeat; background-position: left 4px top 6px; background-size: 16px auto; padding-left: 26px; }

.plist li.senior a { background-image: url(img/share/ico-arrow-down-service01.svg); }
.plist li.disability a { background-image: url(img/share/ico-arrow-down-service02.svg); }
.plist li.child a { background-image: url(img/share/ico-arrow-down-service03.svg); }
.plist li.regenerate a { background-image: url(img/share/ico-arrow-down-service04.svg); }
.plist li.community a { background-image: url(img/share/ico-arrow-down-service05.svg); }

.plist li span { padding-bottom: 1px; }
.plist li span.line:after { width: calc(100% - 1px); }
.plist li i { display: inline-block; margin: 0 -1px 0 -2px; }
.plist li i:last-of-type { display: none; }

/* .ptag
------------------------------------*/
.ptag {
	order: 1;
	display: flex;
	align-items: center;
	background-color: var(--color-bg-beige);
	width: 100%;
	margin: 20px 5% 0;
	padding: 17px 18px 15px;
}

.ptag:not(:has(ul li:nth-of-type(2))) { display: none; }

.ptag h2 {
	align-self: flex-start;
	background-color: rgba(255,255,255,0.8);
	border: 1px solid var(--color-black);
	border-radius: 3px;
	width: 52px;
	min-width: 52px;
	margin-top: 1px;
	padding: 8px 4px 8px 6px;
	font-weight: 600;
	font-size: 1.4rem;
	line-height: 1.5;
	letter-spacing: 0.08em;
	text-align: center;
}

.ptag ul { padding-left: 18px; }

.ptag li {
	display: block;
	position: relative;
	margin: 0 0 3px;
	padding-left: 9px;
	font-weight: 600;
	font-size: 1.3rem;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

.ptag li:before {
	display: block;
	content: '';
	position: absolute;
	top: 8px;
	left: 0;
	background-color: var(--color-black);
	border-radius: 50%;
	width: 3px;
	height: 3px;
}

.ptag li:last-of-type { margin-bottom: 0; }
.ptag ul li i { display: none; }

/* .plink
------------------------------------*/
.plink-wrap { display: flex; flex-wrap: wrap; }
.header-page .plink { order: 2; }
.plink ul { padding: 0 calc(5% - 12px) 0 calc(5% - 3px); }
.plink li { display: inline-block; }
.plink li.line-dot-v:last-of-type:after { display: none; }
.plink li:after { top: 10px; height: calc(100% - 20px); }

.plink li a {
	display: block;
	background: url(img/share/ico-arrow-down-yellow.svg) no-repeat left 6px top 9px / 14px auto;
	padding: 10px 12px 10px 27px;
	font-weight: 600;
	font-size: 1.4rem;
	letter-spacing: 0.06em;
}

/* .pback
------------------------------------*/
.pback { display: none; }

/* .title-page
------------------------------------*/
.contents-common-center-inner { position: relative; width: 100%; margin: 0; }
.title-page .pnav { margin-bottom: 33px; padding-left: 10px; }
.title-page .pnav ul { display: flex; }

.title-page .pnav li {
	position: relative;
	margin-right: 29px;
	font-size: 1.2rem;
	letter-spacing: 0.12em;
	white-space: nowrap;
}

.title-page .pnav li:after {
	display: block;
	content: '';
	position: absolute;
	top: 7px;
	right: -22px;
	background-color: #AAAAAA;
	width: 15px;
	height: 0.5px;
	transform: rotate(128deg);
}

.title-page .pnav li:last-of-type:after { display: none; }
.title-page .pnav li.home img { display: block; transform: translateY(-1px); }

.title-page .pnav li > a {
	display: inline-block;
	position: relative;
	margin: -15px;
	padding: 15px;
	text-decoration: underline;
	text-underline-offset: 0.08em;
}

.title-page .pnav li > a:has(i) { padding-left: 30px; }
.title-page .pnav li > a i { display: block; position: absolute; top: 14.5px; left: 7px; }

.title-page .pnav li.parent > span {
	display: inline-block;
	background-color: #F5EFE2;
	border-radius: 2px;
	padding: 8px 10px 8px 32px;
	transform: translateY(-8px);
}

.title-page .pnav li.parent > span i { display: block; position: absolute; top: 7px; left: 6px; }

.title-page h1, .title-page h2 {
	padding: 0 7%;
	font-size: 1.9rem;
	line-height: 1;
	letter-spacing: 0.12em;
}

/* .title-page-center
------------------------------------*/
.title-page-center,
#faqContents .header-page { margin: 0 0 75px; padding-top: 130px; text-align: left; }

.title-page-center { padding-right: 13%; padding-left: 13%; }

.title-page-center.sub,
#workersContents .title-page-center { padding-right: 8.5%; padding-left: 8.5%; }

#approachContents .title-page-center,
#faqContents .header-page { padding-right: 7%; padding-left: 7%; }

.title-page-center .title { margin-bottom: 35px; }
.title-page-center.sub .title,
.header-page h1:has( + .dropdown) { margin-bottom: 25px; }

.title-page-center h1 {
	color: var(--color-green);
	font-size: 2.1rem;
	line-height: 1.7;
	letter-spacing: 0.14em;
	text-align: center;
}

.title-page-center.sub h1,
#faqContents .header-page h1 {
	padding: 0;
	color: var(--color-black);
	font-family: var(--font-gothic);
	font-size: 2rem;
	letter-spacing: 0.1em;
}

.title-page-center h2 {
	margin-top: 12px;
	margin-bottom: -4px;
	font-weight: 600;
	font-size: 1.4rem;
	line-height: 1.6;
	letter-spacing: 0.19em;
	text-align: center;
}

.title-page-center h2:has(+ h1) {
	margin-top: 0;
	margin-bottom: 3px;
	font-size: 1.4rem;
	letter-spacing: 0.12em;
}

.title-page-center p { font-size: 1.5rem; line-height: 2.2; letter-spacing: 0.1em; text-align: justify; }
.title-page-center.sub p { line-height: 2; letter-spacing: 0.06em; }
.title-page-center p.attention { font-size: 1.4rem; letter-spacing: 0.12em; }
.title-page-center p br { display: none; }

.title-page-center .box { border-radius: 10px; margin: 28px -4px 0; padding: 28px 28px 24px; text-align: left; }
.title-page-center .box ul:not(:last-of-type) { margin-bottom: 8px; }
.title-page-center .plink { position: relative; margin-top: 40px; text-align: center; }

.title-page-center .plink:before,
.title-page-center .plink:after {
	display: block;
	content: '';
	position: absolute;
	top: 6px;
	background-color: var(--color-border);
	width: 1px;
	height: calc(100% - 12px);
}

.title-page-center .plink:before { left: 4px; }
.title-page-center .plink:after { right: 4px; }
.title-page-center .plink ul { display: inline-block !important; }
.title-page-center .plink li { display: block !important; }

.title-page-center .plink li a {
	background-position: left 0 top 10px;
	padding: 10px 26px 10px 26px;
	color: var(--color-black);
	font-weight: 600;
	font-size: 1.5rem;
	letter-spacing: 0.12em;
	text-align: left;
}

/* .dot-list
------------------------------------*/
.dot-list li {
	position: relative;
	margin: 0 0 8px 3px;
	padding-left: 15px;
	font-size: 1.4rem;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.dot-list li:last-of-type { margin-bottom: 0; }

.dot-list li:before {
	display: block;
	content: '';
	position: absolute;
	top: calc(1rem - 1px);
	left: 0;
	background-color: var(--color-text);
	border-radius: 50%;
	width: 4px;
	height: 4px;
}

.dot-line-list li {
	position: relative;
	margin: 0 0 7px;
	padding-left: 14px;
	font-size: 1.4rem;
	font-family: var(--font-gothic);
	line-height: 1.65;
	letter-spacing: 0.1em;
}

.dot-line-list li:before {
	display: block;
	content: '';
	position: absolute;
	top: calc(1.2rem - 3px);
	left: 0;
	border: 1px solid var(--color-text);
	border-radius: 50%;
	width: 5px;
	height: 5px;
}

/* .num-list
------------------------------------*/
.num-list { counter-reset: count-number; }

.num-list li {
	position: relative;
	margin: 0 0 6px 4px;
	padding-left: 2rem;
	font-size: 1.4rem;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.num-list li:before { display: block; counter-increment: count-number; content: counters(count-number,'.') '.'; position: absolute; top: 0; left: 0; }

/* .attention-list
------------------------------------*/
.attention-list li {
	position: relative;
	margin: 0 0 10px;
	padding-left: 20px;
	font-family: var(--font-gothic);
	font-weight: 500;
	font-size: 1.3rem;
	line-height: 1.85;
	letter-spacing: 0.08em;
	text-align: justify;
}

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

/* .slider-nav-play
------------------------------------*/
.slider-nav-play {
	position: absolute;
	position: absolute;
	bottom: 15px;
	left: 15px;
	background: url(img/share/btn-pause-bg.svg) no-repeat left top / 100% auto;
	width: 44px;
	height: 44px;
	z-index: 1;
}

.slider-nav-play > span { position: absolute; top: 0; left: 0; }
.slider-nav-play > span img { width: 44px; }
.slider-nav-play .play { display: none; }

/* .slider-main
------------------------------------*/
.slider-main-wrap { width: 90%; margin: 0 auto 75px; }
.slider-main,
.slider-main .slick-list,
.slider-main .slick-track { width: 100% !important; }
.slider-main .inner { position: absolute !important; top: 0 !important; left: 0 !important; width: 100%; opacity: 0; }
.slider-main .inner:first-of-type { position: static !important; opacity: 1; }
.slider-main .inner img { width: 100%; height: auto; }

.slider-main .slick-dots { position: absolute; bottom: 16px; left: 50%; transform: translateX(-50%); text-align: center; }
.slider-main .slick-dots li { display: inline-block; width: 40px; margin: 0 5px; }
.slider-main .slick-dots li:first-of-type:last-of-type { display: none; }
.slider-main .slick-dots li button { position: relative; border-radius: 10px; width: 100%; height: 30px; text-indent: -9999px; }
.slider-main .slick-dots li button:after { display: block; content: ''; position: absolute; top: 50%; left: 0; transform: translateY(-50%); background-color: #FFFFFF; width: 100%; height: 3px; }
.slider-main .slick-dots li.slick-active button:after { background-color: var(--color-red); }

/* .slider-img
------------------------------------*/
.slider-img { position: relative; z-index: 0; }
.slider-img .slick-list,
.slider-img .slick-track { width: 100% !important; height: 100% !important; }
.slider-img.fit .inner { position: relative !important; top: 0 !important; left: 0 !important; width: 100%; height: 100%; }
.slider-img.fit .inner:not(:first-of-type) { position: absolute !important; }
.slider-img.fit .inner img { object-fit: cover; width: 100%; height: 100%; }

/* .movie-contents
------------------------------------*/
.movie-contents { position: relative; }
.movie-contents .movie { position: relative; overflow: hidden; border-radius: 6px; width: 100%; height: 0; padding-bottom: 56.25%; z-index: 0; }
.history-movie { width: 100%; margin: 40px auto 38px; }
.workers-movie { width: 91%; margin: 0 auto 70px; }

.movie-contents .movie-cover { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; }
.movie-contents .movie-cover:before { display: block; content: ''; position: absolute; top: 0; left: 0; background-color: rgba(0,0,0,0.35); width: 100%; height: 100%; }
.movie-contents .movie-cover img { object-fit: cover; width: 100%; height: 100%; }
.movie-contents iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; }
.movie-contents .movie-logo { display: none; }
.movie-contents .movie-title { margin-bottom: 20px; text-align: center; }
.movie-contents .movie-title h2 { display: none; }
.movie-contents .movie-btn { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%) !important; z-index: 2; }

.movie-contents .movie-btn span {
	display: inline-block;
	background: #FFFFFF url(img/share/ico-movie.svg) no-repeat left 13px center / 19px auto;
	border-radius: 40px;
	padding: 8px 12px 8px 38px;
	color: var(--color-red-txt);
	font-family: var(--font-sans);
	font-size: 1.3rem;
	font-weight: 500;
	letter-spacing: 0.02em;
}

/* .office-list
------------------------------------*/
.service-office-list dd ul { display: flex; flex-wrap: wrap; }
.service-office-list dd ul li { width: 100%; }

/* .dl-dt-box
------------------------------------*/
.dl-dt-box > div { display: -webkit-box; display: flex; align-items: flex-start; margin-bottom: 10px; }
.dl-dt-box > div:last-of-type { margin-bottom: 0; }

.dl-dt-box dt {
	background-color: #FFFFFF;
	border: 1px solid var(--color-text);
	border-radius: 4px;
	margin: 3px 0;
	padding: 9px 6px 9px 9px;
	font-size: 1.2rem;
	letter-spacing: 0.1em;
	text-align: center;
	white-space: nowrap;
}

.dl-dt-box dd { padding: 0 0 0 14px; }


/* page blog
---------------------------------------------------------------------------*/

/* .blog-nav-open
------------------------------------*/
.blog-nav-open {
	float: right;
	background-color: var(--color-beige-dark);
	border-radius: 100px;
	margin: 0 5% 0 0;
	padding: 16px 22px 16px 22px;
	font-weight: 600;
	font-size: min(1.3rem, 18px);
	letter-spacing: 0.1em;
}

.blog-nav-open i { display: inline-block; margin: -10px 8px 0 0; transform: translateY(4px); }

/* .blog-nav
------------------------------------*/
.blog-nav {
	overflow: hidden;
	position: absolute;
	top: 142px;
	left: 0;
	background-color: var(--color-beige-dark);
	width: 100%;
	height: 100%;
	padding: 100px 0 0;
	pointer-events: none;
	z-index: -9999;
	opacity: 0;
}

#blogContents .header-page.fixed h1,
#blogContents .header-page.fixed h2 { position: fixed; top: 33px; left: 0; z-index: 111; }

.blog-nav.fixed { position: fixed; top: 0; }
.blog-nav.active { pointer-events: all; z-index: 110; }
.blog-nav-inner { overflow-y: scroll; height: 100%; padding: 0 20px; }
.blog-nav-inner > div { position: relative; width: 100%; margin-bottom: 13px; }
.blog-nav-service { margin-bottom: 20px !important; }

.blog-nav-btn {
	display: block;
	background-color: #FFFFFF;
	border: 2px solid #FFFFFF;
	border-radius: 6px;
	width: 100%;
	padding: 21px 60px 20px 21px;
	color: var(--color-black);
	font-size: min(1.5rem, 23px);
	text-align: left;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

.blog-nav-btn.dropdown-open-blog-nav-list.active {
	border-color: var(--color-yellow-light);
	border-radius: 6px 6px 0 0;
}

.blog-nav-btn:after {
	display: block;
	content: '';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 22px;
	background: url(img/share/ico-arrow-down-brown.svg) no-repeat;
	width: 20px;
	height: 20px;
	transform-origin: center center;
	transition: .2s ease-out;
}

.blog-nav-btn.active:after { transform: rotate(180deg); }

/* .blog-nav-close
------------------------------------*/
.blog-nav-close {
	display: inline-block;
	position: absolute !important;
	top: 23px;
	right: 20px;
	background-color: #FFFFFF;
	border-radius: 100px;
	width: auto !important;
	margin: 0 !important;
	padding: 16px 21px 16px 22px;
	font-weight: 600;
	font-size: min(1.3rem, 18px);
	letter-spacing: 0.1em;
}

.blog-nav-close i { display: inline-block; margin-right: 13px; transform: translateY(2px); }

/* .dropdown-open-blog-nav-keyword
------------------------------------*/
.blog-nav-input .placeholder {
	display: none;
	position: absolute;
	top: 23px;
	left: 23px;
	color: var(--color-text);
	font-size: 1.5rem;
	letter-spacing: 0.1em;
	z-index: 1;
	pointer-events: none;
	opacity: 0;
}

.blog-nav-input input {
	display: block !important;
	position: absolute;
	top: 0;
	left: 0;
	border: 2px solid var(--color-yellow-light);
	border-radius: 6px;
	width: 100%;
	height: 100%;
  padding: 0 0 0 20px;
	font-family: var(--font-gothic-default);
  font-size: 1.6rem;
  letter-spacing: 0.08em;
	pointer-events: none;
	z-index: 1;
  opacity: 0;
}

.dropdown-layer-blog-nav-keyword { top: 61px; width: 100%; }
.dropdown-layer-blog-nav-keyword .dropdown-layer-common { position: relative; border-radius: 0 0 6px 6px; padding: 16px 20px 18px; }
.dropdown-layer-blog-nav-keyword .dropdown-layer-common:before { left: 23px; }
.dropdown-layer-blog-nav-keyword li { display: none; }

.dropdown-layer-blog-nav-keyword li > span,
.dropdown-layer-blog-nav-keyword li a {
	display: block;
	border-radius: 3px;
	padding: 10px 9px 9px 10px;
	font-size: 1.3rem;
	line-height: 1.55;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

.dropdown-layer-blog-nav-keyword li a { text-decoration: underline; text-underline-offset: 0.1em; }

/* .dropdown-open-blog-nav-list
------------------------------------*/
.dropdown-layer-blog-nav-list { position: inherit; top: inherit; left: inherit; width: 100%; }

.dropdown-layer-blog-nav-list .dropdown-layer-common {
	position: relative;
	border-radius: 0 0 6px 6px;
	padding: 13px 20px 35px;
}

.dropdown-layer-blog-nav-list dt {
	position: relative;
	border-bottom: 1px solid var(--color-beige-dark);
	padding: 18px 0 17px 14px;
	white-space: nowrap;
}

.dropdown-layer-blog-nav-list dt i {
	position: absolute;
	top: calc(50% - 3px);
	left: 10px;
	width: 7px;
	height: 7px;
	transition: .2s var(--easeOutQuint);
	transform: rotate(0deg);
}

.dropdown-layer-blog-nav-list dt.active i { transform: rotate(225deg); }

.dropdown-layer-blog-nav-list dt i:before,
.dropdown-layer-blog-nav-list dt i:after {
	display: block;
	content: '';
	position: absolute;
	background-color: #000;
}

.dropdown-layer-blog-nav-list dt i:before { top: 0; left: 3px; width: 1px; height: 100%; }
.dropdown-layer-blog-nav-list dt i:after { top: 3px; left: 0; width: 100%; height: 1px; }

.dropdown-layer-blog-nav-list dt a {
	font-weight: 600;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
	text-decoration: underline;
	text-underline-offset: 0.1em;
	pointer-events: none;
}

.dropdown-layer-blog-nav-list dd { display: none; padding-bottom: 32px; }
.dropdown-layer-blog-nav-list dl > div:last-of-type dd { padding-bottom: 0; }
.dropdown-layer-blog-nav-list dd ul { padding: 22px 0 20px; }
.dropdown-layer-blog-nav-list dd li:not(:last-of-type) { margin-bottom: 10px; }
.dropdown-layer-blog-nav-list dd li i { position: absolute; top: 0; left: 0; }

.dropdown-layer-blog-nav-list dd li a {
	display: inline-block;
	position: relative;
	padding: 0 0 8px 14px;
	color: var(--color-black);
	font-size: 1.3rem;
	line-height: 1.55;
	letter-spacing: 0.08em;
	text-decoration: underline;
	text-underline-offset: 0.1em;
}

.dropdown-layer-blog-nav-list dd .btn-link-ss { margin: 4px 6px 0; }

/* .blog-list-head
------------------------------------*/
.blog-list-head { margin: 50px auto 22px; padding: 0 calc(5% + 8px); }

.blog-list-head h1 {
	display: inline-block;
	position: relative;
	margin-right: 8px;
	font-size: 1.6rem;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.blog-list-head .count {
	display: inline-block;
	margin-top: 8px;
	font-size: 1.2rem;
	letter-spacing: 0.1em;
	white-space: nowrap;
	transform: translateY(-1px);
}

.blog-none { padding: 0 calc(5% + 8px); }


/* page blog single
---------------------------------------------------------------------------*/
.blog-wrap { margin-top: 45px; }

/* .blog-area
------------------------------------*/
.blog-area { width: 80%; margin: 0 auto; }

/* .blog-title
------------------------------------*/
.blog-title { margin-bottom: 40px; }

.blog-title h1 {
	margin-bottom: 10px;
	font-size: 1.7rem;
	line-height: 1.6;
	letter-spacing: 0.12em;
}

.blog-title .time {
	display: inline-block;
	position: relative;
	margin: 0 17px 8px 1px;
	font-family: var(--font-sans);
	font-size: 1.2rem;
	font-weight: 500;
	letter-spacing: 0.1em;
}

.blog-title .time:before { display: block; content: '｜'; position: absolute; top: 1px; right: -18px; font-size: 1.2rem; }

_::-webkit-full-page-media, _:future, :root .blog-title .time:before {
	right: -16px;
}

.blog-title .office { display: inline-block; margin-bottom: 8px; line-height: 1.6; }

.blog-list article > a {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-items: flex-end;
	justify-content: space-between;
	position: relative;
	padding: 19px 10px 10px 108px;
}

.blog-list article figure {
	overflow: hidden;
	position: absolute;
	top: 18px;
	left: 2px;
	width: 87px;
	height: 65px;
	padding: 0;
}

.blog-list article figure img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	border-radius: 4px;
	width: 100%;
	height: 100%;
}

.blog-list article .office p,
.blog-title .office p {
	display: inline-block;
	margin: 0 2px 0 0;
	color: var(--color-red-txt);
	font-family: var(--font-sans);
	font-size: 1.3rem;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

.blog-title .office p { display: none; }
.blog-list article .office > span,
.blog-title .office ul { display: inline-block; }
.blog-list article .office > span span,
.blog-title .office li { font-size: 1.15rem; letter-spacing: 0.08em; }
.blog-list article .office > span span a,
.blog-title .office li a { text-decoration: underline; }
.blog-area .post-categories { margin-top: 40px; }
.blog-area .post-categories li { display: inline-block; margin: 0 2px 7px 0; }

.blog-area .post-categories li a {
	display: inline-block;
	background-color: #FFFFFF;
	border-radius: 2px;
	padding: 4px 8px 4px 10px;
	font-size: 1.2rem;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

/* .blog-list-detail
------------------------------------*/
.blog-list-detail { display: grid; grid-template-columns: 1fr 1fr; gap: 30px 20px; }
.blog-list-detail article > a { display: block; position: relative; }

.blog-list-detail article figure {
	position: relative;
	overflow: hidden;
	border-radius: 4px;
	width: 100%;
	height: 0;
	margin-bottom: 15px;
	padding-bottom: 100%;
}

.blog-list-detail article figure img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	border-radius: 4px;
	width: 100%;
	height: 100%;
}

.blog-list-detail article figure:has(img.noimg) { background-color: #FFFFFF; }
.blog-list-detail article figure img.noimg { top: 50%; transform: translateY(-50%); height: auto; }

.blog-list-detail .time {
	display: block;
	margin-bottom: 7px;
	color: var(--color-red-txt);
	font-family: var(--font-sans);
	font-size: 1.2rem;
	font-weight: 500;
	letter-spacing: 0.16em;
}

.blog-list-detail h3 { font-size: 1.4rem; line-height: 1.7; letter-spacing: 0.04em; }
.blog-list-detail h3 img { display: none; }

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

.post-main, .post-main h2, .post-main p { font-size: 1.4rem; line-height: 2; letter-spacing: 0.1em; word-break: break-all; }
.post-main h2 { margin: 35px 0 12px; font-size: 1.6rem; }
.post-main > h2:first-child { margin-top: 0; }
.post-main p { margin-bottom: 30px; text-align: justify; }
.post-main p:last-child { margin-bottom: 0; }
.post-main a { text-decoration: underline; }
.post-main strong { font-weight: 600; }
.post-main em { font-style: italic; }
.post-main del { text-decoration: line-through; }

.post-main img { display: block; max-width:calc(100% + 20px); height: auto; margin: 38px -10px; border-radius: 6px; }
.post-main p img:first-child { margin-top: 40px; }
.post-main p:first-of-type:not(:has(img)) + p img:first-child { margin-top: 36px; }
.post-main img:first-child, .post-main p:first-child img:first-child { margin-top: 0; }
.post-main img + img { margin-top: 0; }
.post-main img + br + img { margin-top: -30px; }
.post-main .wp-caption { max-width: 100%; margin-bottom: 40px; }
.post-main .wp-caption-text { margin-top: -24px; font-size: 1.2rem; }

.post-main ul, .post-main ol { margin: 30px 0 28px -3px; line-height: 1.8; }
.post-main ul li { list-style: disc; margin: 0 0 8px 24px; }
.post-main ol li { list-style: decimal; margin: 0 0 10px 26px; }
.post-main ul li:last-of-type,
.post-main ol li:last-of-type { margin-bottom: 0; }

.post-main blockquote { background: var(--color-bg-beige); margin: 38px 0; padding: 24px 26px; text-align: justify; }
.post-main blockquote p { font-size: 1.3rem; line-height: 2; }
.post-main iframe { border-radius: 10px; width: calc(100% + 20px); height: calc((80vw + 20px) * 0.565); margin: 0 -10px; }

/* .blog-table
------------------------------------*/
.blog-table { margin-top: 60px; }

.blog-table h3 {
	margin: 45px 0 14px 4px;
	font-size: 1.6rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

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

.blog-table table {
	width: 100%;
	margin: 0 0 40px;
	font-size: 1.4rem;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

.blog-table tr { border-bottom: 1px solid var(--color-border-beige-dark); }
.blog-table table.right tr { display: flex; justify-content: space-between; }
.blog-table th, .blog-table td { display: block; }

.blog-table th {
	position: relative;
	padding: 12px 0 2px 4px;
	text-align: left;
	vertical-align: top;
}

.blog-table td { padding: 0 0 10px 4px; }
.blog-table table.right th { width: 25% !important; min-width: 25% !important; }
.blog-table table.right th,
.blog-table table.right td { padding-top: 11px; padding-bottom: 9px; }
.blog-table table.right td { text-align: right; }

.blog-table-attention {
	margin: -24px 0 0;
	font-size: 1.2rem;
	line-height: 1.8;
	letter-spacing: 0.08em;
	text-align: justify;
}

/* .blog-link
------------------------------------*/
.blog-link { margin-top: 30px; }
.blog-link li { margin: 0 0 15px; }
.blog-link li.btn-link-s a { letter-spacing: 0.1em; }

/* .share
------------------------------------*/
.share { border-radius: 10px; width: 86%; margin: 40px auto 0; padding: 12px; text-align: center; }

.share p {
	display: inline-block;
	margin: 0 18px 0 0;
	color: var(--color-black);
	font-family: var(--font-sans);
	font-size: 1.6rem;
	line-height: 1;
	letter-spacing: 0.06em;
	text-transform: capitalize;
	transform: translateY(-8px);
}

.share ul,
.share li { display: inline-block; }
.share li a,
.share li span { display: block; padding: 7px; }

/* .blog-other
------------------------------------*/
.blog-other { margin: 120px auto 0; }
.blog-other-title { margin: 0 0 30px 7%; }
.blog-other-title h2 { font-size: 1.6rem; letter-spacing: 0.08em; }
.blog-other-title > a { display: none; }
.blog-other > .btn-link + .btn-link { margin-top: 15px !important; }


/* .wp-pagenavi
---------------------------------------------------------------------------*/
.wp_pagenavi-wrap { text-align: center; }
.wp-pagenavi { display: inline-block; position: relative; margin: 80px 0 0; font-family: var(--font-sans); font-size: 1.5rem; text-align: center; z-index: 0; }
.wp-pagenavi .extend { display: none; }

.wp-pagenavi a,
.wp-pagenavi .current {
	display: inline-block;
	position: relative;
	width: 3rem;
	height: 3rem;
	margin: 0 4px;
	padding: 0.8rem 8px;
	z-index: 1;
}

.wp-pagenavi a:after,
.wp-pagenavi .current:after {
	display: block;
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	background-color: #FFFFFF;
	border-radius: 50%;
	width: 3rem;
	height: 3rem;
	z-index: -1;
}

.wp-pagenavi .current:after { background-color: var(--color-yellow-light); }

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

.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink { width: auto; margin: 0; color: var(--color-black); font-family: var(--font-gothic); font-size: 1.4rem; letter-spacing: 0.08em; }

.wp-pagenavi a.previouspostslink:after,
.wp-pagenavi a.nextpostslink:after { display: none; }

.wp-pagenavi a.previouspostslink:before,
.wp-pagenavi a.nextpostslink:before {
	display: block;
	content: '';
	position: absolute;
	top: 4px;
	background: url(img/share/ico-arrow-btn-red.svg) no-repeat;
	width: 21px;
	height: 21px;
}

.wp-pagenavi a.previouspostslink:before { left: 0; transform: scaleX(-1); }
.wp-pagenavi a.nextpostslink:before { right: 0; }
.wp-pagenavi a.previouspostslink { margin-right: 8px; padding-left: 29px; }
.wp-pagenavi a.nextpostslink { margin-left: 6px; padding-right: 28px; }


/* page news
---------------------------------------------------------------------------*/
#newsContents .news-wrap,
#newsContents .hash-tag-bg,
#newsContents .hash-tag { display: none !important; }
#newsContents .title-page-center { margin-bottom: 4rem; }

/* .news-category
------------------------------------*/
.news-category .inner > div { margin-bottom: 10px; }
.news-category .inner h2 { display: none; }

/* .news-list
------------------------------------*/
.news-list { border-top: 1px solid var(--color-border-beige); width: 84%; margin: 0 auto; }
.news-list article { border-bottom: 1px solid var(--color-border-beige); }

.news-list article .btn-ac button {
	position: relative;
	width: 100%;
	padding: 20px 3px 18px;
	color: var(--color-black);
	vertical-align: middle;
	text-align: left;
}

#newsContents.single .news-list article .btn-ac,
#newsContents.single .news-list article .btn-ac button { pointer-events: none; }

.news-list article .time {
	font-family: var(--font-sans);
	font-weight: 400;
	font-size: 1.3rem;
	letter-spacing: 0.08em;
	transform: translateY(0.55rem);
}

.news-list article .category { margin: 0 2px 0 -2px; }

.news-list article .category span {
	display: inline-block;
	background-color: #FFFFFF;
	border: 1px solid var(--color-green);
	border-radius: 50px;
	margin: 0 4px 6px 0;
	padding: 1px 7px 0 7px;
	color: var(--color-green);
	font-weight: 600;
	font-size: 1.3rem;
	line-height: 1.6;
	letter-spacing: 0.06em;
	word-break: break-all;
	white-space: nowrap;
}

_::-webkit-full-page-media, _:future, :root .news-list article .category span { padding-top: 0; }
.news-list article .category span:last-of-type { margin-bottom: 0; }

.news-list article strong {
	display: block;
	margin-top: 10px;
	font-size: 1.5rem;
	line-height: 1.7;
	letter-spacing: 0.12em;
}

.news-detail { display: none; padding: 0 3px 30px 3px; }
#newsContents.single .news-detail { display: block !important; }
.news-main, .news-main h2, .news-main p { font-size: 1.4rem !important; line-height: 2 !important; }
.news-main h2 { font-size: 1.7rem !important; }
.news-main { padding: 5px 0 0; }
.news-main p { margin-bottom: 1em; }
.news-main img { max-width: 100%; margin: 20px 0; }
.news-main p img:first-child { margin-top: 45px; }
.news-detail .blog-table { margin-top: 35px; }
.news-detail .blog-table h3 { margin-bottom: 5px; font-size: 1.5rem; }
.news-detail .blog-link { margin-top: 22px; }


/* page top
---------------------------------------------------------------------------*/

/* .top-main
------------------------------------*/
.top-main {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	margin-bottom: 50px;
	padding: clamp(700px, 39rem, 780px) 0 0;
}

.top-main-img { position: relative; overflow: hidden; width: 100%; z-index: 0; }
.slider-loop-wrap { position: relative; }
.slider-loop-nav { bottom: 15px; right: 15px; left: inherit; }
.top-main-img .slider-loop-nav { left: 15px; }
.slider-loop { display: flex; }
.slider-loop .inner { padding-right: 4px; }
.slider-loop .inner img { width: auto; height: 223px; }
.top-main-copy * { font-size: 0; line-height: 1; }
.top-main-copy h2 { position: absolute; top: 120px; right: 30px; }
.top-main-copy h2 img { width: 53px; height: auto; }
.top-main-copy p { position: absolute; top: 180px; left: 35px; }
.top-main-copy p img { width: 21.1rem; max-width: 240px; height: auto; }
.top-main-copy p .size-s { display: none !important; }
.top-main-news { display: none; }

/* .nav-support
------------------------------------*/
.nav-support {
	position: fixed;
	bottom: -52px;
	left: 20px;
	width: calc(100% - 40px);
	z-index: 100;
	opacity: 0;
}

.nav .nav-support { position: relative; }

.nav-support-btn {
	position: relative;
	background: #FFFFFF;
	box-sizing: border-box;
	border-radius: 40px;
	width: 100%;
	padding: 16px 0 18px 54px;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.14em;
	white-space: nowrap;
}

.nav-support-btn:after {
	display: block;
	content: '';
	position: absolute;
	top: 10px;
	right: 55px;
	background: url(img/share/line-dot-v.svg) repeat-y left top;
	width: 1px;
	height: 30px;
}

.nav-support-btn .ico { display: block; position: absolute; top: 13px; left: 18px; }
.nav-support-btn .ico img { width: 24px; height: auto; }
.nav-support-btn .arrow { display: block; position: absolute; top: 15px; right: 21px; }
.nav-support-btn .arrow img { width: 16px; height: auto; }

/* .top-service
------------------------------------*/
.top-service { position: relative; margin: 0 auto 80px; padding: 0 10%; z-index: 0; }
.top-service h2 { margin-bottom: 60px; text-align: center; }

.top-service h2 em {
	display: block;
	margin-bottom: 18px;
	color: var(--color-red-txt);
	font-family: var(--font-sans);
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: 0.1em;
}

.top-service h2 strong {
	display: block;
	font-size: 2.1rem;
	line-height: 1.8;
	letter-spacing: 0.22em;
	text-indent: 1rem;
}

.top-service-list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 36px 20px;
	margin: 0 auto;
}

.top-service-list .inner {
	position: relative;
	background-color: #FFFFFF;
	border-radius: 10px;
	font-weight: 600;
	text-align: center;
}

.top-service-list .inner a,
.top-service .office-search-btn-open { display: block; padding: 40px 0 0; }

.top-service-list .inner:nth-of-type(1) { background-color: var(--color-service01); }
.top-service-list .inner:nth-of-type(2) { background-color: var(--color-service02); }
.top-service-list .inner:nth-of-type(3) { background-color: var(--color-service03); }
.top-service-list .inner:nth-of-type(4) { background-color: var(--color-service04); }
.top-service-list .inner:nth-of-type(5) { background-color: var(--color-service05); }

.top-service-list .inner i { display: block; position: absolute; left: 50%; transform: translateX(-50%); }
.top-service-list .inner:nth-of-type(1) i { top: -20px; }
.top-service-list .inner:nth-of-type(1) i img { width: 100px; }
.top-service-list .inner:nth-of-type(2) i { top: -25px; margin-left: -1px; }
.top-service-list .inner:nth-of-type(2) i img { width: 68px; }
.top-service-list .inner:nth-of-type(3) i { top: -24px; margin-left: 2px; }
.top-service-list .inner:nth-of-type(3) i img { width: 75px; }
.top-service-list .inner:nth-of-type(4) i { top: -29px; margin-left: 7px; }
.top-service-list .inner:nth-of-type(4) i img { width: 72px; }
.top-service-list .inner:nth-of-type(5) i { top: -13px; }
.top-service-list .inner:nth-of-type(5) i img { width: 81px; }

.top-service-list .inner h3 {
	margin-bottom: 12px;
	color: #FFFFFF;
	font-weight: 600;
	font-size: 1.7rem;
	line-height: 1.5;
	letter-spacing: 0.08em;
}

.top-service-list .inner:nth-of-type(2) h3 { margin-left: 4px; }
.top-service-list .inner:nth-of-type(3) h3 { margin-left: 2px; letter-spacing: 0.08em; }

.top-service-list .inner h4,
.top-service .office-search-btn-open span {
	display: block;
	background-color: #F2F2F2;
	border-radius: 30px;
	margin: 0 11px 11px;
	padding: 5px 8px;
	font-size: 1.3rem;
	letter-spacing: 0.08em;
}

.top-service > .office-search-btn-open { display: none !important; }
.top-service .office-search-btn-open { background-color: #FFFFFF !important; }

.top-service .office-search-btn-open i {
	display: block;
	position: absolute;
	top: -23px;
	left: 50%;
	transform: translateX(-50%);
	background: var(--color-yellow) url(img/share/ico-question-brown.svg) no-repeat center center / 20px auto;
	border-radius: 50%;
	width: 54px;
	min-width: 54px;
	height: 54px;
}

.top-service .office-search-btn-open strong {
	display: block;
	margin: 2px 0 13px;
	font-size: 1.4rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.top-service .office-search-btn-open span {
	background-color: var(--color-red);
	color: #FFFFFF;
	padding-top: 7px;
	padding-bottom: 6px;
	font-size: 1.4rem;
}

/* .post-list-title
------------------------------------*/
.post-list-title { margin-bottom: 40px; }
.post-list-title .copy { position: absolute; top: 0; left: 50%; margin-left: -70px; width: 140px; height: 18px; }
.post-list-title .copy span { display: block; overflow: hidden; position: absolute; top: 0; left: 0; width: 0; height: 100%; }
.post-list-title .copy img { position: absolute; top: 0; left: 0; width: 140px; height: auto; }

.post-list-title h2 {
	margin-bottom: 20px;
	font-weight: 400;
	font-size: 2.4rem;
	letter-spacing: 0.14em;
}

.post-list-title span.en {
	display: block;
	margin-left: 1px;
	color: var(--color-red-txt);
	font-family: var(--font-sans);
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0.1em;
}

.top-blog .post-list-title { margin-bottom: 32px; padding: 0 9%; }
.top-blog .post-list-title h2 i { top: -64px; }
.top-blog .post-list-title h2 i img { width: 46px; height: auto; }
.post-list-title .btn-line { transform: translateY(-2px); }

.post-list-title p {
	margin-bottom: 20px;
	padding: 0 2px;
	font-size: 1.4rem;
	line-height: 1.85;
	letter-spacing: 0.16em;
	text-align: justify;
}

/* .top-blog
------------------------------------*/
.top-blog { position: relative; border-radius: 30px; padding: 72px 0 38px; }
.top-blog-inner { margin: 0 auto; }

.top-blog-inner nav {
	background: #F9F8F3;
	overflow: hidden;
	box-shadow: 0px 6px 9px #E9E2D5;
	border-radius: 90px 0 0 90px;
	margin: 0 0 40px 10px;
	font-weight: 600;
	z-index: 2;
}

.top-blog-inner nav ul {
	overflow-x: scroll;
	display: flex;
	white-space: nowrap;
	padding: 22px 24px 22px 24px;
}

.top-blog-inner nav li:not(:last-of-type) { margin-right: 18px; }
.top-blog-inner nav li a { font-size: 1.4rem; letter-spacing: 0.06em; }

/* .blog-list
------------------------------------*/
.blog-list { padding: 0 5%; }
.blog-list article { border-bottom: 1px solid var(--color-border-beige); padding: 0 0 16px; }
.blog-list article:first-of-type { border-top: 1px solid var(--color-border-beige); }

.blog-list figure {
	order: 1;
	position: relative;
	overflow: hidden;
	border-radius: 4px;
	width: 100%;
	height: 0;
	margin-bottom: 18px;
	padding-bottom: 71.5%;
}

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

.blog-list .time {
	order: 2;
	display: block;
	width: 100%;
	margin-bottom: 5px;
	font-family: var(--font-sans);
	font-size: 1.2rem;
	font-weight: 500;
	letter-spacing: 0.08em;
}

.blog-list .service { display: block; padding: 11px 0 0 108px; }
.blog-list .service > span { display: inline-block; margin: 0 2px 4px 0; }

.blog-list .service > span a,
.blog-list .service > span > span {
	display: inline-block;
	position: relative;
	border-style: solid;
	border-width: 1px;
	border-radius: 100px;
	padding: 3px 7px 3px 8px;
	font-weight: 600;
	font-size: 1.2rem;
	letter-spacing: 0.06em;
}

.blog-list .service > span a i,
.blog-list .service > span > span i {
	display: block;
	position: absolute;
	top: 0;
	left: 1px;
	background-repeat: no-repeat;
	background-size: 100% auto;
	width: 12px;
	height: 12px;
}

.blog-list h3 {
	order: 3;
	overflow: hidden;
	font-weight: 500;
	font-size: 1.6rem;
	line-height: 1.65;
	letter-spacing: 0.08em;
	text-decoration: underline;
}

.blog-list h3 img { display: none; }
.blog-list .category { margin-top: 12px; }

.blog-list .category a {
	display: inline-block;
	margin: 0 8px 10px 0;
	font-size: 13px;
	letter-spacing: 0.1em;
}

.blog-list + .btn-link,
.blog-other > .btn-link,
.news-list + .btn-link {
	display: block !important;
	width: 90%;
	margin: 40px auto 0;
}

.blog-list .office {
	position: relative;
	margin: 0 0 0 1px;
	padding-left: calc(108px);
}

.blog-list article .office p {
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.02em;
	display: block;
	margin-bottom: 4px;
}

.blog-list article .office > span span {
	font-size: 1.3rem;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

/* .top-blog .blog-list
------------------------------------*/
.top-blog .btn-line.narrow,
.top-news .btn-line.narrow { display: block !important; }
.top-blog .btn-line,
.top-news .btn-line { width: 84%; margin: 38px auto 0; }
.top-news .btn-line { width: 100%; }

.top-blog .btn-line a,
.top-news .btn-line a {
	display: block;
	padding-top: 15px;
	padding-bottom: 14px;
	font-size: 1.6rem;
}

/* .top-news
------------------------------------*/
.top-news { margin: 80px auto 0; padding: 0 8%; }
.top-news .post-list-title { margin-bottom: 35px; padding: 0 10px; }
.news-list-top article { position: relative; box-sizing: border-box; }
.news-list-top article a { display: block; }
.news-list-top article > a { padding: 19px 10px 17px; }

.news-list-top article h3 {
	font-weight: 500;
	font-size: 1.6rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.news-list-top article .category a {
	color: var(--color-red-txt);
	font-size: 13px;
	letter-spacing: 0.08em;
}

.news-list-top article .time {
	display: block;
	margin-bottom: 9px;
	font-family: var(--font-sans);
	font-size: 1.3rem;
	letter-spacing: 0.1em;
}

/* .top-team
------------------------------------*/
.top-team { box-sizing: border-box; width: 100%; margin: 60px 0 100px; padding: 0 6%; }
.top-team .txt { margin-bottom: 45px; padding: 0 13px; }
.top-team .txt h2 { margin: 0 0 18px -2px; }

.top-team .txt h2 em {
	display: block;
	margin: 0 0 16px 2px;
	color: var(--color-red-txt);
	font-family: var(--font-sans);
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: 0.12em;
}

.top-team .txt h2 strong {
	display: block;
	font-weight: 600;
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 1.7;
	letter-spacing: 0.13em;
}

.top-team .txt p {
	margin-right: -20px;
	font-size: 1.5rem;
	letter-spacing: 0.11em;
	line-height: 2.1;
}

.top-team .img { position: relative; margin: 0 -3% 50px; }
.top-team .img figure { border-radius: 6px; }
.top-team .img img { width: 100%; height: auto; }

.top-team .img1 {
	position: relative;
	width: 100%;
	height: 0;
	margin-bottom: 35px;
	padding-bottom: calc(88vw * 0.712);
}

.top-team .img1 .slider-loop-nav { left: 15px; }
.slider-top-team .slick-track,
.slider-top-team .inner { width: 100% !important; }
.top-team .img1 .inner:not(:first-of-type) { position: absolute !important; top: 0 !important; left: 0 !important; }
.top-team .img1 .pic { display: block; position: absolute; bottom: -37px; right: 12px; z-index: 1; }
.top-team .img2 { position: relative; width: 44.6%; }
.top-team .img2 .pic { position: absolute; top: -19px; left: 6px; }
.top-team .img3 { position: absolute; bottom: 0; right: 0; width: 52.2%; }
.top-team .img3 .pic { display: none; }
.top-team nav { position: relative; box-sizing: border-box; margin: 0 6px; z-index: 1; }

.top-team nav:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 15px;
	background-color: var(--color-yellow);
	border-radius: 14px;
	width: calc(100% - 30px);
	height: 8px;
	z-index: 2;
}

.top-team nav ul {
	position: relative;
	background-color: #FFFFFF;
	border-radius: 17px;
	padding: 24px 24px 14px;
	z-index: 1;
}

.top-team nav li a {
	display: block;
	background: url(img/share/ico-arrow-btn-red.svg) no-repeat left 0 top calc(1.6rem - 1px);
	padding: 15px 6px 17px 30px;
	color: var(--color-black);
	font-size: 1.6rem;
	line-height: 1.4;
	letter-spacing: 0.12em;
}

.top-team nav li span {
	display: block;
	padding-top: 6px;
	font-size: 1.4rem;
	letter-spacing: 0.12em;
}

.top-team nav .pic { position: absolute; bottom: -38px; left: -20px; z-index: -1; }
.top-team nav .pic2 { position: absolute; bottom: -18px; right: -14px; z-index: 3; }

/* .top-bnr
------------------------------------*/
.top-bnr { margin-top: 80px; padding: 0 6%; }
.bnr-list .inner { margin-bottom: 12px; }
.bnr-list .inner:last-of-type { margin-bottom: 0; }
.bnr-list .inner.even { display: flex; justify-content: space-between; }
.bnr-list .inner.even a { width: 49%; }
.bnr-list img { width: 100%; height: auto; }

/* .top-btm-img
------------------------------------*/
.top-btm-img { position: relative; width: 100%; margin-top: 120px; }
.slider-control { z-index: 0; }
.slider-control,
.slider-control .slick-list,
.slider-control .slick-track { position: relative; width: 100% !important; }
.slider-control .slick-list { overflow: inherit; }
.slider-control .inner { position: absolute !important; top: 0 !important; left: 0 !important; width: 100%; opacity: 0; }
.slider-control .inner:first-of-type { position: static !important; opacity: 1; }
.slider-control .inner img { width: 100%; height: auto; }

/* .slider-control-nav
------------------------------------*/
.slider-control .slick-list:after {
	display: block;
	content: '';
	position: absolute;
	bottom: -15px;
	right: 20px;
	background: url(img/share/btn-slide-set@2x.png) no-repeat left top / 100% auto;
	width: 100px;
	height: 30px;
	z-index: 1000;
}

.slider-control.left-bottom .slick-list:after { bottom: 10px; left: 12px; }
.slider-control-nav { position: absolute; bottom: -15px; right: 52px; width: 36px; height: 30px; z-index: 1; }
.slider-control.left-bottom + .slider-control-nav { bottom: 10px; left: 44px; }
.slider-control-nav > span { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.slider-control-nav .play { display: none; }
.slider-control-nav > span > span { display: block; position: relative; width: 100%; height: 100%; }
.slider-control-nav > span img { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%) !important; width: 8px; }
.slider-control-nav .play img { margin-left: 2px; }

.slider-control .slick-arrow {
	position: absolute;
	bottom: -20px;
	background: url(img/share/btn-slide-set-arrow.svg) no-repeat center center / 5px auto;
	width: 40px;
	height: 40px;
	text-indent: -9999px;
	z-index: 1001;
}

.slider-control .slick-prev { right: 82px; transform: scaleX(-1) !important; }
.slider-control .slick-next { right: 17px; }
.slider-control.left-bottom .slick-prev { bottom: 5px; left: 10px; }
.slider-control.left-bottom .slick-next { bottom: 5px; left: 75px; }

/* page about
---------------------------------------------------------------------------*/
.title-page-center { margin-bottom: 50px; }

/* .about-img-main
------------------------------------*/
.about-img-main { width: 91%; margin: 0 auto 48px; }
.about-img-main img { border-radius: 20px; width: 100%; }

/* .about-philosophy
------------------------------------*/
.about-philosophy { position: relative; margin: 0 auto 75px; }

.about-philosophy h2 {
	margin-bottom: 18px;
	font-size: 1.5rem;
	line-height: 1.4;
	letter-spacing: 0.12em;
	text-align: center;
}

.about-philosophy h3 { margin-bottom: 37px; text-align: center; }
.about-philosophy h3 img { width: 240px; }
.about-philosophy ul { padding: 0 8% 0 7.5%; }

.about-philosophy li {
	position: relative;
	padding-left: 3.5rem;
	font-size: 1.4rem;
	line-height: 2;
	letter-spacing: 0.08em;
	text-align: justify;
}

.about-philosophy li:not(:last-of-type) { margin-bottom: 20px; }
.about-philosophy li br { display: none; }
.about-philosophy li i { display: block; position: absolute; top: 0; left: 0; }

/* .about-greencoop
------------------------------------*/
.about-greencoop { position: relative; margin-bottom: 80px; padding-bottom: 50px; }
.about-greencoop .img { position: relative; width: 100%; margin-bottom: 60px; }
.about-greencoop .txt { padding: 0 10%; }
.about-greencoop .txt .logo { display: none; }

.about-greencoop .txt h2 {
	margin-bottom: 20px;
	color: var(--color-green);
	font-weight: 500;
	font-size: 2rem;
	line-height: 1.75;
	letter-spacing: 0.14em;
}

.about-greencoop .txt p { letter-spacing: 0.1em; text-align: justify; }
.about-greencoop .txt p br { display: none; }
.about-greencoop .txt .btn-wrap { display: grid; grid-template-columns: auto; gap: 10px 0; margin-top: 35px; }
.about-greencoop .txt .btn-wrap .btn-link-ss a { letter-spacing: 0.12em; }

/* .about-message
------------------------------------*/
.about-message { position: relative; margin-bottom: 80px; padding: 0 10%; }
.about-message-inner .img figure { margin-bottom: 45px; }
.about-message-inner .img h2,
.about-message-inner .img h3,
.about-message-inner .txt { padding: 0 5px; }

.about-message-inner .img h2 {
	margin-bottom: 18px;
	font-size: 1.4rem;
	letter-spacing: 0.16em;
	font-weight: 600;
}

.about-message-inner .img h3 {
	margin-bottom: 26px;
	color: var(--color-green);
	font-size: 2rem;
	line-height: 1.75;
	letter-spacing: 0.2em;
}

.about-message-inner .txt p {
	margin-bottom: 1.2em;
	line-height: 2.1;
	letter-spacing: 0.07em;
	text-align: justify;
}

.about-message-inner .name { margin-top: 34px; }

.about-message-inner .name b {
	display: block;
	margin-bottom: 1.2rem;
	font-size: 1.4rem;
	line-height: 1.4;
	letter-spacing: 0.1em;
}

.about-message-inner .name strong {
	display: inline-block;
	margin-right: 8px;
	font-size: 1.6rem;
	letter-spacing: 0.1em;
}

.about-message-inner .name em {
	display: inline-block;
	margin-top: 2px;
	color: var(--color-red-txt);
	font-family: var(--font-sans);
	font-size: 1.4rem;
	letter-spacing: 0.02em;
}

/* .about-organization
------------------------------------*/
.about-organization { margin: 0 auto 140px; padding-top: 90px; }

.about-organization h2 {
	margin-bottom: 45px;
	font-size: 1.7rem;
	letter-spacing: 0.14em;
	text-align: center;
}

.about-organization h2 span { padding-bottom: 5px; }
.about-organization h2 span:after { width: calc(100% - 3px); height: 1.5px; }
.diagram-organization { padding: 0 8.5%; font-weight: 600; }

.diagram-organization .inner1 {
	position: relative;
	width: 300px;
	margin: 0 auto 55px;
	padding: 0 0 0 132px;
	transform: translateX(15px);
}

.diagram-organization .inner1:before,
.diagram-organization .inner1 li:before {
	display: block;
	content: '';
	position: absolute;
	top: 68px;
	left: 0;
	background-color: var(--color-black);
	width: 132px;
	height: 1px;
}

.diagram-organization .inner1 li:before { top: 12px; left: 0; width: 8px; }

.diagram-organization .inner1:after,
.diagram-organization .inner1 ul:after {
	display: block;
	content: '';
	position: absolute;
	top: 68px;
	left: calc(43px + 0.8rem);
	background-color: var(--color-black);
	width: 1px;
	height: 49px;
}

.diagram-organization .inner1 h3 {
	position: absolute;
	background-color: #FFFFFF;
	border: 1px solid #000;
	padding: 10px 5px 1px;
	font-size: min(1.4rem, 20px);
	letter-spacing: 0.6em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.diagram-organization .inner1 h3:nth-of-type(1) { top: 15px; left: 0; }
.diagram-organization .inner1 h3:nth-of-type(2) { top: 15px; left: 75px; }
.diagram-organization .inner1 h3:nth-of-type(3) { top: 117px; left: 38px; }

.diagram-organization .inner1 ul { position: relative; }
.diagram-organization .inner1 ul:after { top: 12px; left: 0; height: calc(100% - 23px - 1rem); }
.diagram-organization .inner1 li { position: relative; margin-bottom: 10px; padding-left: 24px; }

.diagram-organization .inner1 li a {
	font-size: min(1.4rem, 20px);
	line-height: 1.65;
	letter-spacing: 0.14em;
	text-decoration: underline;
	text-underline-offset: 0.1em;
}

.diagram-organization .inner2 .inner {
	position: relative;
	border: 1px solid var(--color-black);
	border-radius: 4px;
	margin-bottom: 45px;
	padding: 36px 20px 18px 28px;
}

.diagram-organization .inner2 .inner-child {
	display: inline-block;
	border: none;
	padding: 0 0 12px;
}

.diagram-organization .inner2 .inner-child:before {
	display: none !important;
}

.diagram-organization .inner2 .inner-child-s {
	display: block;
	position: relative;
	background-color: #E3DFD2;
	padding: 24px 30px 20px 28px;
}

.diagram-organization .inner2 .inner-child-s:before,
.diagram-organization .inner2 .inner-child-s:after {
	display: block;
	content: '';
	position: absolute;
	left: calc(50% - 1px) !important;
	background-color: var(--color-black);
	width: 1px;
	transform: translateY(0);
	z-index: 0;
}

.diagram-organization .inner2 .inner-child-s:before { top: -45px; height: 45px; }
.diagram-organization .inner2 .inner-child-s:after { bottom: -40px; height: 40px; }

.diagram-organization .inner2 .inner.not-line { border: none; margin: 0; padding: 0; }
.diagram-organization .inner2 .inner:last-of-type { margin-bottom: 0; }

.diagram-organization .inner2 .inner h3 {
	position: absolute;
	top: -0.8rem;
	left: -12px;
	background-color: var(--color-bg);
	padding: 1px 12px 15px 0px;
	font-size: min(1.4rem, 24px);
	letter-spacing: 0.12em;
}

.diagram-organization .inner2 .inner.not-line h3 { margin-left: -10px; padding-left: 10px; }
.diagram-organization .inner2 .inner h4 { margin: 20px 0 10px; font-size: 1.4rem; font-weight: 600; line-height: 1.65; letter-spacing: 0.1em; }
.diagram-organization .inner2 .inner h4:first-child { margin-top: 2px !important; } 
.diagram-organization .inner2 .inner h4:last-child { margin-bottom: 5px; } 
.diagram-organization .inner2 .inner-child h4 { margin-top: 12px; margin-bottom: 8px; }

.diagram-organization .inner2 .inner ul { display: inline-block; vertical-align: top; margin-left: 4px; }
.diagram-organization .inner2 .inner li:before { top: calc(0.6rem + 3px); }
.diagram-organization .inner2 .inner li { margin-bottom: 6px; font-size: min(1.4rem, 24px); font-weight: 500; }

.diagram-organization .inner2 .inner-even {
	display: grid;
	grid-template-columns: 1fr;
	gap: 15px 0;
}

/* .about-headquarters
------------------------------------*/
.about-headquarters { padding: 90px 8% 0; }

.about-headquarters h2 {
	margin-bottom: 50px;
	font-size: 1.7rem;
	line-height: 1.4;
	letter-spacing: 0.1em;
	text-decoration: underline;
	text-underline-offset: 0.3em;
}

.headquarters-list:before,
.headquarters-list .inner:before { display: none; }
.headquarters-list .inner:not(:last-of-type) { margin-bottom: 32px; }
.headquarters-list .inner,
.headquarters-list .inner h3 { font-size: 1.5rem; line-height: 1.6; letter-spacing: 0.1em; }
.headquarters-list .inner h3 { margin-bottom: 12px; font-weight: 600; }
.headquarters-list .inner h3 br { display: none; }
.headquarters-list .inner address,
.headquarters-list .inner .tel { padding-left: 20px; }
.headquarters-list .inner address { margin-bottom: 7px; line-height: 1.7; }
.headquarters-list .inner address span { font-size: 1.2rem; letter-spacing: 0.04em; }
.headquarters-list .inner .tel { font-size: 1.5rem; letter-spacing: 0.04em; line-height: 1.75;}
.headquarters-list .inner .tel a { text-decoration: underline; text-underline-offset: 0.1em; }
.about-headquarters .btn-link { margin-top: 45px; }


/* page approach
---------------------------------------------------------------------------*/
#approachContents .title-page-center { margin-top: 20px; padding-top: 0; }
#approachContents .title-page-center p { letter-spacing: 0.12em; text-align: center; }
#approachContents .title-page-center p br { display: block !important; }

/* .approach-img-main
------------------------------------*/
.approach-img-main { position: relative; overflow: hidden; margin: 120px 0 0; z-index: 1; }
.slider-approach-nav { position: absolute; bottom: 0; left: 14px; z-index: 2; }
.slider-approach { padding-top: 30px; }
.slider-approach .slick-list { overflow: visible; }
.slider-approach .inner { width: calc(100vw - 60px); padding: 0 10px; transition: 1s var(--easeOutCubic); }
.slider-approach .inner.slick-current,
.slider-approach .inner.active { margin-top: -30px; transition: 1s var(--easeOutCubic); }
.slider-approach .inner img { width: 100%; border-radius: 20px; }

/* .approach-wrap
------------------------------------*/
.approach-wrap { position: relative; margin: 60px 0 60px; padding: 0 7% 60px; z-index: 1; }
.approach-wrap:after { display: block; content: ''; position: absolute; top: 87vw; left: 0; width: 100%; height: calc(100% - 87vw); z-index: -1; }
.approach-inner:not(:last-of-type) { margin-bottom: 65px; }
.approach-inner figure { margin-bottom: 34px; }
.approach-inner figure img { border-radius: 2px; }
.approach2 figure img,
.approach3 figure img { border-radius: 5px; }

.approach-inner h2 {
	margin-bottom: 24px;
	font-weight: 600;
	font-size: 1.6rem;
	line-height: 2;
	letter-spacing: 0.14em;
	text-align: center;
}

.approach-inner h2:not(:first-child) { margin-top: 60px; }

.approach-inner p {
	margin-bottom: 1.2em;
	padding: 0 10px;
	line-height: 2.05;
	letter-spacing: 0.1em;
	text-align: justify;
}

.approach-inner p br { display: none; }
.approach1 figure { position: relative; overflow: hidden; }
.approach1 figure img:nth-of-type(2) { display: block; margin-bottom: 6px; }
.approach1 figure img:nth-of-type(1),
.approach1 figure img:nth-of-type(3) { width: calc(50% - 3px); }
.approach1 figure img:nth-of-type(1) { position: absolute; bottom: 0; left: 0; }
.approach1 figure img:nth-of-type(3) { float: right; }
.approach1 h2 { font-size: 1.8rem; line-height: 1.9; }
.approach2 figure img:not(:last-of-type) { display: block; margin-bottom: 30px; }
.approach3 figure img:not(:last-of-type) { display: block; margin-bottom: 10px; }

/* .approach-support
------------------------------------*/
.approach-support { margin-bottom: 90px; padding: 0 5.5%; }

.approach-support h2 {
	margin-bottom: 85px;
	font-weight: 600;
	font-size: 1.7rem;
	line-height: 1.7;
	letter-spacing: 0.12em;
	text-align: center;
}

.approach-support-list .inner { position: relative; margin-bottom: 8rem; padding: 0 0 0 113px; }
.approach-support-list figure { position: absolute; top: 5px; left: 0; width: 90px; }
.approach-support-list figure img { border-radius: 5px; }

.approach-support-list h3 {
	position: absolute;
	top: -3.5rem;
	left: 0;
	font-weight: 600;
	font-size: 1.5rem;
	line-height: 1.7;
	letter-spacing: 0.14em;
}

.approach-support-list p { padding: 0 2px; font-size: 1.3rem; letter-spacing: 0.05em; text-align: justify; }
.approach-support-list .btn-link { margin-top: 15px; }
.approach-support-list .btn-link a { padding-top: 11px; padding-bottom: 11px; font-size: 1.3rem; }

/* .approach-food
------------------------------------*/
.approach-food {
	background-color: #FFFFFF;
	border-radius: 10px;
	width: 85%;
	margin: 0 auto;
	padding: 30px 28px 34px;
}

.approach-food figure { margin-bottom: 30px; }
.approach-food figure img { border-radius: 5px; }
.approach-food .txt { padding: 0 5px; }

.approach-food .txt h2 {
	margin: 0 0 18px;
	font-weight: 600;
	font-size: 1.6rem;
	line-height: 1.7;
	letter-spacing: 0.12em;
	text-align: center;
}

.approach-food .txt p { letter-spacing: 0.1em; text-align: justify; }
.approach-food .txt p br { display: none; }


/* page history
---------------------------------------------------------------------------*/

/* .history-title
------------------------------------*/
.history-title { margin: 0 0 95px; padding: 155px 7.5% 0; }
.history-title h1 { margin-bottom: 36px; }
.history-title h2 { margin: 0 0 24px -1px; }
.history-title h2 img { width: 300px; }
.history-title p { margin-bottom: 0.8em; letter-spacing: 0.12em; }

/* ,history-year-list
------------------------------------*/
.history-year-list { position: fixed; top: 15px; left: 3px; }

.history-year-list li {
	position: absolute;
	top: 0;
	left: 0;
	color: var(--color-green);
	font-family: var(--font-sans);
	font-size: min(1.6rem, 28px);
	font-weight: 400;
	letter-spacing: 0.03em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
	pointer-events: none;
	opacity: 0;
}

/* .history-year
------------------------------------*/
.history-year { margin-bottom: 100px; }
.history-year:last-child { margin-bottom: 0; }
.history-year.year2000-2 { margin-top: -60px; margin-bottom: 90px; }
.history-year-title { position: relative; margin-bottom: 35px; }

.history-year-title h2 {
	display: inline-block;
	position: relative;
	margin-bottom: 15px;
	padding: 9px 2px 0 14px;
	color: var(--color-green);
	font-family: var(--font-sans);
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 0.03em;
}

.history-year-title h2:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background-color: var(--color-green);
	width: calc(100%);
	height: 1px;
}

.history-year-title h3 {
	margin-left: 18px;
	font-weight: 600;
	font-size: 1.7rem;
	line-height: 1.8;
	letter-spacing: 0.16em;
}

.history-year-title h3.ml {
	margin-left: 12%;
	margin-bottom: -12px;
	font-size: 1.5rem;
}

.history-year-title h3 strong {
	display: block;
	margin-bottom: 2px;
	font-size: 1.5rem;
	letter-spacing: 0.14em;
}

/* .history-year-contents
------------------------------------*/
.history-year-contents { padding: 0 6.5% 0 12%; }

.history-year-contents > h4,
.history-txt-left h4 {
	margin: 2px 0 16px;
	font-weight: 600;
	font-size: 1.5rem;
	line-height: 1.9;
	letter-spacing: 0.14em;
}

.year1993 .history-year-contents > h4 { font-size: 1.7rem; letter-spacing: 0.16em; }
.history-year-contents > h4:not(:first-child) { margin-top: 50px; }
.history-year-contents p { letter-spacing: 0.1em; text-align: justify; }
.history-year-contents > p:first-child { margin-top: 2px; }
.history-year-contents p br { display: none; }
.history-img-column2 { display: flex; justify-content: space-between; margin-bottom: 32px; }
.history-img-column2 picture { width: calc(50% - 1px); }
.history-img-column2 img { border-radius: 4px; }

/* .history-kousou
------------------------------------*/
.history-kousou figure { margin: 35px 0 15px; }
.history-kousou figure img { width: calc(100% + 20px); margin-left: -15px; }

.history-kousou h4 {
	margin-bottom: 2px;
	font-size: 1.4rem;
	line-height: 1.7;
	letter-spacing: 0.18em;
	text-align: center;
}

.history-kousou h5 {
	margin-bottom: 18px;
	font-size: 2.2rem;
	line-height: 1.7;
	letter-spacing: 0.16em;
	text-align: center;
}

.history-kousou p { text-align: justify; }
.history-kousou p.attention { font-size: 1.3rem; line-height: 1.9; letter-spacing: 0.07em; }

/* .history-plan
------------------------------------*/
.history-plan,
.history-dl-line {
	border-top: 1px solid var(--color-border-black);
	border-right: 1px solid var(--color-border-black);
	border-left: 1px solid var(--color-border-black);
	width: calc(100% + 20px);
	margin: 25px -10px 0;
}

.history-plan .inner,
.history-plan h6 { border-bottom: 1px solid var(--color-border-black); }
.history-plan .inner:first-of-type { display: none; }

.history-plan h5 {
	margin: 0 0 12px 0px;
	font-weight: 600;
	font-size: 1.5rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.history-plan .inner.pickup h5 { color: var(--color-red-txt); }

.history-plan h6,
.history-dl-line dt {
	padding: 13px 15px;
	font-weight: 600;
	font-size: 1.7rem;
	letter-spacing: 0.15em;
}

.history-plan .inner.pickup h6 { background: var(--color-red); color: #FFFFFF; }
.history-plan .inner > div { background-color: #FFFFFF; padding: 32px 30px 0; }
.history-plan .inner > div:last-of-type { padding-bottom: 30px; }
.history-plan .inner.pickup > div { background-color: #FFF7F4; color: var(--color-red-txt); }

.history-plan .inner > div p,
.history-dl-line dd p {
	margin-bottom: 0.6em;
	font-size: 1.4rem;
	letter-spacing: 0.07em;
}

.history-plan .inner .dot-list li { margin-bottom: 6px; }
.history-plan .inner .dot-list li:last-of-type { margin-bottom: 0; }
.history-plan .inner.pickup .dot-list li:before { background: var(--color-red); }

/* .history-txt-left
------------------------------------*/
.history-txt-left .txt p { letter-spacing: 0.08em; }

.history-txt-left .box-needs {
	position: relative;
	background-color: #F2EEDF;
	border-radius: 33px;
	margin-top: 50px;
	padding: 4.2rem 28px 35px 38px;
}

.history-txt-left .box-needs h5 {
	position: absolute;
	top: -0.9rem;
	left: 0;
	width: 100%;
	font-weight: 600;
	font-size: 1.5rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
	text-align: center;
}

.history-txt-left .box-needs dl > div { display: -webkit-box; display: flex; align-items: center; margin-bottom: 14px; }
.history-txt-left .box-needs dl > div:last-of-type { margin-bottom: 0; }

.history-txt-left .box-needs dt {
	background-color: #FFFFFF;
	border-radius: 30px;
	padding: 11px 11px 10px 11px;
	color: var(--color-green);
	font-weight: 600;
	font-size: 1.4rem;
	letter-spacing: 0.15em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.history-txt-left .box-needs dd {
	padding-left: 20px;
	font-size: 1.6rem;
	line-height: 1.65;
	letter-spacing: 0.15em;
}

.history-txt-left .box-needs dd span {
	display: block;
	padding-top: 2px;
	font-size: 1.2rem;
	font-weight: 600;
}

/* .history-img-left
------------------------------------*/
.history-img-left { margin-top: 22px; }
.history-img-left figure { margin-bottom: 20px; }
.history-img-left .txt p { margin-bottom: 1em; line-height: 2.1; letter-spacing: 0.06em; }

/* .history-dl-line
------------------------------------*/
.history-dl-line { margin-bottom: 45px; }
.history-dl-line:not(:first-child) { margin-top: 30px; }

.history-dl-line dt {
	border-bottom: 1px solid var(--color-border-black);
	padding: 10px 15px;
	font-size: 1.4rem;
	line-height: 1.8;
	letter-spacing: 0.12em;
}

.history-dl-line dd {
	background-color: #FFFFFF;
	border-bottom: 1px solid var(--color-border-black);
	padding: 22px 24px 24px;
}

.history-dl-line dd .num-list { padding-top: 4px; }

/* .history-graph
------------------------------------*/
.history-graph-wrap {
	overflow-x: scroll;
	margin-top: 35px;
	margin-right: -6.5vw;
	margin-left: -12.5vw;
	padding-right: 6.5vw;
	padding-left: 12.5vw;
	padding-bottom: 5px;
}

.history-graph {
	overflow: hidden;
	border-radius: 5px;
	width: 620px;
	padding-right: 6.5vw;
}

.history-graph .inner {
	background-color: #FFFFFF;
	border-top: 1px solid var(--color-black);
	border-right: 1px solid var(--color-black);
	border-left: 1px solid var(--color-black);
	padding: 18px 18px 24px;
}

.history-graph .inner:first-of-type { border-radius: 5px 5px 0 0; }
.history-graph .inner:last-of-type { border-bottom: 1px solid var(--color-black); border-radius: 0 0 5px 5px; }

.history-graph .inner h5 {
	margin-bottom: 25px;
	font-size: 1.4rem;
	line-height: 1.8;
	letter-spacing: 0.08em;
}

.history-graph .inner figure { margin-left: 3px; }

/* .history-chronology
------------------------------------*/
.history-chronology-btn {
	display: block;
	background: var(--color-yellow-light);
	border-radius: 8px;
	width: 100%;
	padding: 12px 10px 13px;
	font-weight: 600;
	font-size: 1.5rem;
	line-height: 1.6;
	letter-spacing: 0.12em;
	text-align: center;
}

.history-chronology-btn-close {
	display: none;
	position: fixed;
	bottom: 16px;
	right: 18px;
	border-radius: 100px;
	padding: 12px 28px 12px 30px;
	background-color: var(--color-red);
	color: #FFFFFF;
	font-weight: 600;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
	white-space: nowrap;
	z-index: 11001;
	opacity: 0;
}

.history-chronology {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	background-color: var(--color-bg);
	width: 100%;
	height: 100dvh;
	padding: 24px 0 0 14px;
	z-index: 11000;
	opacity: 0;
}

.history-chronology:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background-color: var(--color-bg);
	width: calc(3.8rem + 14px);
	height: 126px;
	z-index: 1;
}

.chronology-head {
	position: relative;
	background-color: #DCE5DA;
	border-radius: 5px 0 0 5px;
	margin: 0 50px 20px 3.8rem;
	text-align: left;
}

.chronology-head:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	right: -42px;
	background: url(img/history/bg-chronology-head.png) no-repeat left top / 100% 100%;
	width: 42px;
	height: 100%;
}

.chronology-head > div {
	position: relative;
	overflow: hidden;
	width: calc(100vw - 3.8rem - 14px - 50px);
}

.chronology-head > div:not(:first-of-type) .txt { opacity: 0; }

.chronology-head > div.visible .txt {
	opacity: 0;
	transform: translateX(25px);
	animation: chronology_head_visible .4s var(--easeOutQuart) forwards;
}
@keyframes chronology_head_visible {
	0% { opacity: 0; transform: translateX(25px); }
	100% { opacity: 1; transform: translateX(0px); }
}

.chronology-head > div.hidden .txt {
	opacity: 1;
	transform: translateX(0px);
	animation: chronology_head_hidden .4s var(--easeOutQuart) forwards;
}
@keyframes chronology_head_hidden {
	0% { opacity: 1; transform: translateX(0px); }
	100% { opacity: 0; transform: translateX(-25px); }
}

.chronology-head > div.year1 { z-index: 3; }
.chronology-head > div.year2 { z-index: 2; }
.chronology-head > div.year3 { z-index: 1; width: 100% !important; }
.chronology-head > div:not(:last-child) { position: absolute; top: 0; left: 0; height: 100%; }

.chronology-head > div .txt {
	overflow: hidden;
	padding: 9px 0 8px 14px;
	line-height: 1.4;
	white-space: nowrap;
}

.chronology-head > div strong {
	display: block;
	margin-bottom: 2px;
	font-family: var(--font-sans);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.04em;
}

.chronology-head > div em {
	display: block;
	font-weight: 600;
	font-size: 12px;
	letter-spacing: 0.1em;
}

/* .chronology-body
------------------------------------*/
.chronology-body-wrap {
	overflow: scroll;
	border-top: 1px solid var(--color-black);
	border-left: 1px solid var(--color-black);
	border-radius: 5px 0 0 0;
	box-sizing: border-box;
	width: calc(100vw - 14px);
	height: calc(100dvh - 128px);
}

_::-webkit-full-page-media, _:future, :root .chronology-body-wrap {
	height: calc(100dvh - 126px);
}

.chronology-body-wrap .chronology-body > div:last-of-type {
	position: relative;
	width: calc(4rem + 14px);
  min-width: calc(4rem + 14px);
}

.chronology-body-wrap .chronology-body > div:last-of-type:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	background-color: var(--color-bg);
	width: 14px;
	height: calc(100% + 1px);
	z-index: 1;
}

.chronology-body-wrap .chronology-body > div:last-of-type:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	right: 14px;
	background-color: var(--color-black);
	width: 1px;
	height: calc(100% + 1px);
	z-index: 2;
}

.chronology-body-wrap .chronology-body:last-of-type { border-bottom: 1px solid var(--color-black); }
.chronology-body { display: flex; background-color: #FFFFFF; width: fit-content; }

.chronology-body h4 {
	position: sticky;
	top: 0;
	left: 0;
	width: 38px;
	min-width: 38px;
	font-weight: 600;
	font-size: 1.2rem;
	line-height: 1.6;
	letter-spacing: 0.16em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
	transition: none;
	z-index: 1;
}

.chronology-body h4:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background-color: var(--color-bg);
	width: 100%;
	height: 100%;
	z-index: 0;
}

.chronology-body h4 span {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	background-color: #DFD9C4;
	border-right: 1px solid var(--color-black);
	border-bottom: 1px solid var(--color-black);
	width: 100%;
	height: 100%;
	padding: 22px 0 22px;
	z-index: 1;
}

.chronology-body:nth-of-type(1) h4 span,
.chronology-body:nth-of-type(2) h4 span { background-color: #F2EEDF; }

.chronology-body:nth-of-type(1) h4 span { border-radius: 5px 0 0 0; }
.chronology-body:last-child h4 span { border-bottom: none; }

.chronology-body > div {
	position: relative;
	background: url(img/share/line-dot-v.svg) repeat-y left top;
	border-bottom: 1px solid var(--color-black);
	width: 4rem;
	min-width: 4rem;
	padding-left: 9px;
	padding-bottom: 13px;
}

.chronology-body > div:nth-of-type(1) { background: none; }
.chronology-body:last-of-type > div { border-bottom: none; padding-bottom: 80px; }
.chronology-body:first-of-type > div:last-of-type { border-radius: 0 5px 0 0; }
.chronology-body:last-of-type > div:last-of-type { border-radius: 0 0 5px 0; }
.chronology-body.head { background: none; }

.chronology-body.head:after {
	display: block;
	content: '';
	position: absolute;
	bottom: -1px;
	right: -13px;
	background-color: var(--color-bg);
	width: 14px;
	height: 1px;
}

.chronology-body.head > div { position: relative; background: none; border-bottom: none; }

.chronology-body.head > div:before {
	display: block;
	position: absolute;
	top: -6px;
	left: -14px;
	font-family: var(--font-sans);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.02em;
}

.chronology-body.head > div.year1995:before { content: '1995'; }
.chronology-body.head > div.year2000:before { content: '2000'; }
.chronology-body.head > div.year2005:before { content: '2005'; }
.chronology-body.head > div.year2010:before { content: '2010'; }
.chronology-body.head > div.year2015:before { content: '2015'; }
.chronology-body.head > div.year2020:before { content: '2020'; }
.chronology-body.head > div.year2025:before { content: '2025'; }

.chronology-body dl {
	position: relative;
	width: max-content;
	--chronology-body-mt: 15px;
	margin-top: var(--chronology-body-mt);
	--chronology-body-dt-fs: 1.2rem;
	--chronology-body-dt-mb: 6px;
	--chronology-body-dd-fs: 1.2rem;
	--chronology-body-dd-mb: 4px;
	--chronology-body-dl-dt: var(--chronology-body-mt) + (var(--chronology-body-dt-fs) + var(--chronology-body-dt-mb));
	--chronology-body-dl-dd: var(--chronology-body-dd-fs) * 2 + var(--chronology-body-dd-mb);
}

.chronology-body dl:after {
	display: block;
	content: '';
	position: absolute;
	top: calc(0.55rem - 3px);
	left: -11px;
	background-color: var(--color-red);
	border-radius: 50%;
	width: 5px;
	height: 5px;
}

.chronology-body dt {
	position: relative;
	margin-bottom: var(--chronology-body-dt-mb);
	color: var(--color-green);
	font-family: var(--font-sans);
	font-size: var(--chronology-body-dt-fs);
	font-weight: 600;
	letter-spacing: 0.06em;
	white-space: nowrap;
}

.chronology-body dd {
	max-width: calc(100vw - 80px);
	margin-bottom: var(--chronology-body-dd-mb);
	font-weight: 600;
	font-size: var(--chronology-body-dd-fs);
	line-height: 1.4;
	letter-spacing: 0.04em;
}

.chronology-body:nth-of-type(1) .year2018 dl,
.chronology-body:nth-of-type(1) .year2023 dl,
.chronology-body:nth-of-type(4) .year2014 dl,
.chronology-body:nth-of-type(6) .year2023 dl,
.chronology-body:nth-of-type(7) .year2011 dl,
.chronology-body:nth-of-type(7) .year2017 dl {
	margin-top: calc(var(--chronology-body-dl-dt) + ((var(--chronology-body-dl-dd)) * 1));
}

.chronology-body:nth-of-type(5) .year2011 dl {
	margin-top: calc(var(--chronology-body-dl-dt) + ((var(--chronology-body-dl-dd)) * 1.4));
}

.chronology-body:nth-of-type(1) .year2014 dl,
.chronology-body:nth-of-type(2) .year2001 dl,
.chronology-body:nth-of-type(3) .year2012 dl,
.chronology-body:nth-of-type(5) .year2003 dl,
.chronology-body:nth-of-type(6) .year2008 dl {
	margin-top: calc(var(--chronology-body-dl-dt) + ((var(--chronology-body-dl-dd)) * 1.6));
}

.chronology-body:nth-of-type(2) .year1994 dl,
.chronology-body:nth-of-type(5) .year2017 dl {
	margin-top: calc(var(--chronology-body-dl-dt) + ((var(--chronology-body-dl-dd)) * 1.8));
}

.chronology-body:nth-of-type(3) .year2006 dl,
.chronology-body:nth-of-type(6) .year2018 dl {
	margin-top: calc(var(--chronology-body-dl-dt) + ((var(--chronology-body-dl-dd)) * 2.4));
}

.chronology-body:nth-of-type(2) .year2013 dl,
.chronology-body:nth-of-type(4) .year2015 dl,
.chronology-body:nth-of-type(7) .year2018 dl {
	margin-top: calc(var(--chronology-body-dl-dt) + ((var(--chronology-body-dl-dd)) * 2.6));
}

.chronology-body:nth-of-type(5) .year2014 dl,
.chronology-body:nth-of-type(6) .year2024 dl,
.chronology-body:nth-of-type(7) .year2024 dl {
	margin-top: calc(var(--chronology-body-dl-dt) + ((var(--chronology-body-dl-dd)) * 2.8));
}

.chronology-body:nth-of-type(2) .year2009 dl {
	margin-top: calc(var(--chronology-body-dl-dt) + ((var(--chronology-body-dl-dd)) * 3));
}

.chronology-body:nth-of-type(5) .year2012 dl,
.chronology-body:nth-of-type(6) .year2010 dl {
	margin-top: calc(var(--chronology-body-dl-dt) + ((var(--chronology-body-dl-dd)) * 3.2));
}

.chronology-body:nth-of-type(1) .year2024 dl,
.chronology-body:nth-of-type(1) .year2019 dl,
.chronology-body:nth-of-type(5) .year2019 dl {
	margin-top: calc(var(--chronology-body-dl-dt) + ((var(--chronology-body-dl-dd)) * 3.4));
}

.chronology-body:nth-of-type(1) .year2015 dl,
.chronology-body:nth-of-type(2) .year2003 dl,
.chronology-body:nth-of-type(2) .year2021 dl,
.chronology-body:nth-of-type(3) .year2013 dl {
	margin-top: calc(var(--chronology-body-dl-dt) + ((var(--chronology-body-dl-dd)) * 3.8));
}

.chronology-body:nth-of-type(2) .year1996 dl,
.chronology-body:nth-of-type(7) .year2019 dl {
	margin-top: calc(var(--chronology-body-dl-dt) + ((var(--chronology-body-dl-dd)) * 4.2));
}

.chronology-body:nth-of-type(2) .year2011 dl {
	margin-top: calc(var(--chronology-body-dl-dt) + ((var(--chronology-body-dl-dd)) * 4.6));
}

.chronology-body:nth-of-type(2) .year2004 dl {
	margin-top: calc(var(--chronology-body-dl-dt) + ((var(--chronology-body-dl-dd)) * 5.4));
}

.chronology-body:nth-of-type(6) .year2019 dl {
	margin-top: calc(var(--chronology-body-dl-dt) + ((var(--chronology-body-dl-dd)) * 6));
}

.chronology-body:nth-of-type(1) .year2016 dl {
	margin-top: calc(var(--chronology-body-dl-dt) + ((var(--chronology-body-dl-dd)) * 6.2));
}

.chronology-body:nth-of-type(2) .year2006 dl {
	margin-top: calc(var(--chronology-body-dl-dt) + ((var(--chronology-body-dl-dd)) * 7.8));
}

.chronology-body:nth-of-type(6) .year2020 dl {
	margin-top: calc(var(--chronology-body-dl-dt) + ((var(--chronology-body-dl-dd)) * 8.2));
}

/* .history-kikin
------------------------------------*/
.history-kikin { margin-bottom: 60px; }
.history-kikin .title { position: relative; padding-right: 100px; }

.history-kikin .title h4 {
	color: var(--color-green);
	font-weight: 600;
	margin-bottom: 15px;
	font-size: 1.6rem;
	line-height: 1.7;
	letter-spacing: 0.15em;
}

.history-kikin .title h4 span {
	display: block;
	padding-top: 2px;
	font-size: 1.4rem;
	letter-spacing: 0.15em;
}

.history-kikin .title .logo {
	display: block;
	position: absolute;
	top: -44px;
	right: 25px;
	width: 82px;
}

.history-kikin .txt h5 {
	margin-bottom: 25px;
	font-weight: 600;
	font-size: 1.5rem;
	line-height: 1.85;
	letter-spacing: 0.12em;
}

.history-kikin .txt h5:not(:first-child) { margin-top: 60px; }

.history-kikin .txt h5 span {
	display: block;
	margin-top: 4px;
	font-size: 1.3rem;
	letter-spacing: 0.08em;
}

.history-kikin .txt p {
	line-height: 2.1;
	letter-spacing: 0.08em;
	text-align: justify;
}

/* .josei-list 
------------------------------------*/
.josei-list { margin-bottom: 40px; }
.josei-list .inner:not(:last-of-type) { margin-bottom: 40px; }
.josei-list figure { border: 4px solid #FFFFFF; margin-bottom: 12px; }
.josei-tag { display: flex; flex-wrap: wrap; margin-bottom: 6px; }
.josei-list .josei-tag { margin-bottom: 10px; }

.josei-tag i {
	order: 1;
	align-self: flex-start;
	display: inline-block;
	background-color: var(--color-red);
	border-radius: 3px;
	margin-right: 9px;
	padding: 3px 5px 2px 6px;
	color: #FFFFFF;
	font-weight: 600;
	font-size: 1.2rem;
	letter-spacing: 0.1em;
	white-space: nowrap;
	transform: translateY(1px);
}

_::-webkit-full-page-media, _:future, :root .josei-tag i {
	transform: translateY(0);
}

.josei-tag h6 {
	order: 2;
	display: inline-block;
	margin-right: 8px;
	color: var(--color-green);
	font-weight: 600;
	font-size: 1.4rem;
	line-height: 1.4;
	letter-spacing: 0.08em;
}

_::-webkit-full-page-media, _:future, :root .josei-tag h6 {
	transform: translateY(-1px);
}

.josei-tag span {
	order: 3;
	display: inline-block;
	font-family: var(--font-sans);
	font-size: 1.3rem;
	letter-spacing: 0.02em;
	transform: translateY(3px);
}

.history-kikin .txt .josei-list .txt { padding: 0 4px; }

.history-kikin .txt .josei-list p,
.history-kikin .txt .josei-list-other p {
	font-size: 1.4rem;
	line-height: 1.85;
	letter-spacing: 0.08em;
	text-align: justify;
}

/* .josei-list-other
------------------------------------*/
.josei-list-other .inner { position: relative; padding: 0 0 0 24px; }

.josei-list-other .inner:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 3px;
	background-color: var(--color-yellow-light);
	border-radius: 5px;
	width: 5px;
	height: calc(100% - 5px);
}

.josei-list-other .inner:not(:last-child) { margin-bottom: 30px; }

/* .history-kikin-other
------------------------------------*/
.history-kikin-other:not(:last-child) { margin-bottom: 55px; }
.history-kikin-other figure { width: 76%; margin: 0 auto 38px; }
.history-kikin-other figure img { border-radius: 8px; }

.history-kikin-other h4 {
	margin-bottom: 8px;
	color: var(--color-green);
	font-weight: 600;
	font-size: 1.4rem;
	line-height: 1.7;
	letter-spacing: 0.14em;
}

.history-kikin-other h5 {
	margin-bottom: 18px;
	font-weight: 600;
	font-size: 1.6rem;
	line-height: 1.85;
	letter-spacing: 0.15em;
}

.history-kikin-other .btn-link-m { margin-top: 20px; }


/* page workers
---------------------------------------------------------------------------*/
#workersContents .title-page-center { padding-top: 0; margin-bottom: 65px; }
#workersContents .title-page-center h1 img { width: 270px; }

.btn-recruit-fix {
	position: fixed;
	bottom: 16px;
	right: 14px;
	background: var(--color-yellow-light);
	border-radius: 20px;
	z-index: 90;
}

.btn-recruit-fix a {
	display: block;
	background: url(img/share/btn-play.svg) no-repeat left 16px top calc(0.85rem - 11px + 15px) / 20px auto;
	padding: 16px 18px 15px 44px;
	font-weight: 600;
	font-size: 1.4rem;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

.btn-recruit-fix a i {
	display: inline-block;
	background: url(img/share/ico-blank.svg) no-repeat left top / 100% auto;
	margin-left: 8px;
	width: 16px;
	height: 12px;
	transform: translateY(1px);
}

.workers-about { margin-top: -40px !important; padding-top: 40px !important; }
.workers-life,
.workers-day { margin-top: -75px !important; padding-top: 75px !important; }
.workers-movie { margin-top: -95px !important; padding-top: 95px !important; }
.workers-qa { margin-top: -20px !important; padding-top: 20px !important; }

/* .workers-page-nav
------------------------------------*/
.workers-page-nav-btn {
	display: none;
	position: fixed;
	top: 18px;
	left: 22px;
	background-color: var(--color-red);
	box-shadow: 4px 5px 1px #C8C1A8;
	border-radius: 50%;
	width: 55px;
	height: 55px;
	cursor: pointer;
	z-index: 99;
	opacity: 0;
}

.workers-page-nav-btn > span {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 20px;
	height: 12px;
	transition: .15s ease-out;
}

.workers-page-nav-btn > span span {
	position: absolute;
	left: 0;
	background-color: #FFFFFF;
	border-radius: 2px;
	width: 100%;
	height: 2px;
	transition: .15s ease-out;
}

.workers-page-nav-btn > span span:nth-of-type(1) { top: 0; }
.workers-page-nav-btn > span span:nth-of-type(2) { top: 5px; }
.workers-page-nav-btn > span span:nth-of-type(3) { bottom: 0; }

.workers-page-nav-btn.active > span span:nth-of-type(1) { width: 22px; transform: translate(-1px,5px) rotate(-28deg); }
.workers-page-nav-btn.active > span span:nth-of-type(2) { animation: active-menu-bar02 .4s forwards; opacity: 0; }
.workers-page-nav-btn.active > span span:nth-of-type(3) { width: 22px; transform: translate(-1px,-5px) rotate(28deg); }
@-webkit-keyframes active-menu-bar02 {100%{ height: 0; }}
@keyframes active-menu-bar02 {100%{ height: 0; }}

.workers-page-nav {
	display: none;
	position: fixed;
	top: 44px;
	left: 14px;
	background-color: #FFFFFF;
	box-shadow: -1px 4px 7px rgba(148, 139, 123, 0.56);
	border-radius: 16px;
	padding: 64px 34px 30px;
	z-index: 301;
	opacity: 0;
}

.workers-page-nav h2 { margin: 24px 0 16px; }
.workers-page-nav h2:first-of-type { margin-top: 0; }
.workers-page-nav h2 img { transform-origin: left top; transform: scale(0.95); }
.workers-page-nav li { margin-bottom: 4px; }

.workers-page-nav li a {
	display: inline-block;
	background: url(img/share/ico-arrow-down.svg) no-repeat left 4px top 11px / 9px auto;
	padding: 0 0 5px 21px;
	font-size: 1.4rem;
	line-height: 1.8;
	letter-spacing: 0.08em;
	text-decoration: underline;
	text-underline-offset: 0.1em;
}

.workers-page-nav dl { margin: 10px 0 22px 22px; }
.workers-page-nav dl > div { display: flex; margin-bottom: 12px; }

.workers-page-nav dt {
	margin-right: 8px;
	font-size: 1.5rem;
	letter-spacing: 0.08em;
}

.workers-page-nav dt span {
	font-size: 1rem;
	letter-spacing: 0.08em;
}

.workers-page-nav dd {
	font-size: 1.2rem;
	letter-spacing: 0.06em;
	transform: translateY(3px);
}

.workers-page-nav .btn-link-m { margin: 24px -4px 0; }

.workers-page-nav .btn-link-m a {
	display: block;
	border-radius: 5px;
	padding-top: 12px;
	padding-bottom: 10px;
	font-weight: 600;
}

@media (max-height: 680px) {
	.workers-page-nav {
		top: 38px;
		padding-top: 60px;
		padding-bottom: 26px;
	}
	.workers-page-nav h2 {
		margin: 20px 0 10px;
	}
	.workers-page-nav h2 img {
		transform: scale(0.85);
	}
	.workers-page-nav li {
		margin-bottom: 0;
	}
	.workers-page-nav li a {
		background-position: left 4px top 10px;
		font-size: 1.3rem;
	}
	.workers-page-nav li span,
	.workers-page-nav li br {
		display: none;
	}
	.workers-page-nav dl {
		margin: 8px 0 16px 22px;
	}
	.workers-page-nav dl > div {
		margin-bottom: 10px;
	}
	.workers-page-nav dt {
		font-size: 1.3rem;
	}
	.workers-page-nav dd {
		transform: translateY(2px);
	}
	.workers-page-nav .btn-link-m {
		margin-top: 20px;
	}
	.workers-page-nav .btn-link-m a {
		padding-top: 12px;
    padding-bottom: 10px;
    font-size: 1.3rem;
	}
}

/* .workers-main-img
------------------------------------*/
.workers-main-img { position: relative; overflow: hidden; margin: 90px 0 13vw; }
.workers-main-img .slider-loop { margin-bottom: 1px; }
.workers-main-img .slider-loop .inner { padding-right: 1px; }
.workers-main-img .slider-loop .inner img { height: 189px; }
.workers-main-img .slider-loop-nav { bottom: 45px; }
.workers-main-img h2 { position: relative; width: 97%; margin: -8px auto 0; text-align: center; z-index: 1; }
.workers-main-img h2 img { width: 100%; }

/* .workers-about
------------------------------------*/
.workers-about {
	margin: 0 auto 90px;
	color: var(--color-text);
}

.workers-about-inner {
	background-color: var(--color-bg-green);
	border-radius: 40px;
	padding: 55px 8.5% 10%;
}

.workers-about-lead {
	margin-bottom: 70px;
	text-align: center;
}

.workers-about-lead h2 {
	margin-bottom: 30px;
	font-weight: 600;
	color: var(--color-green-dark);
	font-size: 1.9rem;
	line-height: 1.85;
	letter-spacing: 0.2em;
}

.workers-about-lead p { letter-spacing: 0.08em; text-align: justify; }
.workers-about-lead p br { display: none; }

.workers-about-lead .count {
	display: block;
	position: relative;
	margin-top: 35px;
	color: var(--color-green-dark);
	font-weight: 600;
	text-align: left;
}

.workers-about-lead .count span {
	display: block;
	font-size: 2.7rem;
	letter-spacing: 0.1em;
}

.workers-about-lead .count span:not(:last-of-type) { margin-bottom: 9px; }

.workers-about-lead .count span strong {
	display: inline-block;
	padding-right: 8px;
	color: var(--color-red-dark);
	font-family: var(--font-sans);
	font-size: 4.3rem;
	letter-spacing: 0;
	white-space: nowrap;
	transform: translateY(2px);
}

.workers-about-lead .count .attention {
	margin-top: 12px;
	font-size: 1.2rem;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

/* .workers-about-list
------------------------------------*/
.workers-about-list { margin-bottom: 95px; }
.workers-about-list .inner { position: relative; padding: 0 6.5%; z-index: 0; }
.workers-about-list .inner:not(:last-of-type) { margin-bottom: 40px; }
.workers-about-list .inner .pic { display: block; position: absolute; z-index: 0; pointer-events: none; }
.workers-about-list .inner:nth-of-type(1) .pic { top: -45px; left: -25px; z-index: -1; }
.workers-about-list .inner:nth-of-type(2) .pic { top: -35px; right: -10px; z-index: 1; }
.workers-about-list .inner:nth-of-type(4) .pic { top: -54px; right: -18px; z-index: 1; }
.workers-about-list .inner:nth-of-type(5) .pic { top: 10vw; left: -30px; z-index: 1; }
.workers-about-list figure { width: 100%; margin-bottom: 24px; }
.workers-about-list figure img { border-radius: 6px; }

.workers-about-list .txt h3 {
	margin-bottom: 14px;
	font-weight: 600;
	color: var(--color-green-dark);
	font-size: 1.8rem;
	line-height: 1.7;
	letter-spacing: 0.14em;
	text-align: center;
}

.workers-about-list .txt p {
	letter-spacing: 0.06em;
	line-height: 1.9;
	text-align: justify;
}

.workers-about-list .inner:nth-of-type(4) .txt p { letter-spacing: 0.08em; }

/* .workers-about-comparison
------------------------------------*/
#workers-about-comparison { margin-top: -100px; padding-top: 100px; }

.workers-about-comparison {
	position: relative;
	background-color: #FFFFFF;
	border-radius: 40px;
	margin: 0 -3.5%;
	padding: 85px 20px 50px;
}

.workers-about-comparison .pic {
	position: absolute;
	top: -35px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}

.workers-about-comparison .txt {
	margin-bottom: 20px;
	padding: 0 15px;
	text-align: center;
}

.workers-about-comparison .txt h2 {
	position: relative;
	display: inline-block;
	margin-bottom: 7px;
	color: var(--color-green);
	font-weight: 600;
	font-size: 1.4rem;
	line-height: 1.7;
	letter-spacing: 0.14em;
}

.workers-about-comparison .txt h2:before,
.workers-about-comparison .txt h2:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 4px;
	background-color: var(--color-green);
	width: 2px;
	height: 18px;
}

.workers-about-comparison .txt h2:before { left: -15px; transform: rotate(-36deg); }
.workers-about-comparison .txt h2:after { right: -13px; transform: rotate(36deg); }

.workers-about-comparison .txt h3 {
	margin-bottom: 20px;
	color: var(--color-green);
	font-weight: 600;
	font-size: 2rem;
	line-height: 2.1;
	letter-spacing: 0.1em;
	transform: translateX(2px);
}

.workers-about-comparison .txt h3.line-dot-green:after { display: none; }
.workers-about-comparison .txt h3 span { padding-bottom: 0; line-height: 1.7; }
.workers-about-comparison .txt p { letter-spacing: 0.08em; text-align: justify; }

.workers-about-comparison table { width: 100%; }

.workers-about-comparison table tr {
	position: relative;
	display: flex;
	border-bottom: 1px solid #CDDEC9;
	padding-left: 10px;
}

.workers-about-comparison th,
.workers-about-comparison td {
	position: relative;
	width: 50%;
	padding: 3rem 2px 14px;
	font-weight: 600;
	font-size: 1.3rem;
	line-height: 1.5;
	letter-spacing: 0.08em;
	text-align: center;
}

.workers-about-comparison th:first-of-type {
	position: absolute;
	top: 2px;
	left: 0;
	padding: 0;
	font-size: 1.3rem;
	text-align: left;
}

.workers-about-comparison th { color: var(--color-green); font-size: 1.4rem; }
.workers-about-comparison th span { font-size: 1.3rem; }

/* .workers-tellme
------------------------------------*/
.workers-tellme { margin: 0 auto 100px; }

.workers-tellme .txt {
	position: relative;
	margin: 0 auto 90px;
}

.workers-tellme .txt h2 {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 164px;
	margin-bottom: 12px;
}

.workers-tellme .txt h2 img {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

.workers-tellme .txt p {
	padding: 0 10%;
	line-height: 2.1;
	letter-spacing: 0.1em;
	text-align: justify;
}

.workers-tellme .txt p.attention {
	padding-top: 4px;
	font-size: 1.2rem;
	letter-spacing: 0.1em;
}

.workers-tellme .txt p br { display: none; }
.workers-tellme figure { display: none; }

/* .workers-sec-title
------------------------------------*/
.workers-slider-wrap { overflow: hidden; }
body.workers-interview .workers-slider-wrap { background-color: var(--color-bg-green); margin-top: 90px; padding: 65px 0 0; }
body.workers-interview .workers-slider-wrap .workers-life { margin-bottom: 50px; }
.workers-slider-wrap > section { width: 80%; margin: 0 auto; }
.workers-sec-title { margin-bottom: 35px; }
.workers-sec-title h2 { margin-bottom: 24px; font-size: 0; }

.workers-sec-title h2 em {
	display: block;
	margin: 0 0 20px;
	color: var(--color-red-dark);
	font-family: var(--font-sans);
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: 0.1em;
}

.workers-sec-title h2 strong { margin-left: -1px; }
.workers-sec-title h2 strong .dark { display: none; }
body.workers-interview .workers-sec-title h2 strong img { display: none; }
body.workers-interview .workers-sec-title h2 strong img.dark { display: block; }
.workers-sec-title p { letter-spacing: 0.1em; text-align: justify; }

/* .workers-life
------------------------------------*/
.workers-slider-wrap .workers-life { margin-bottom: 90px; }
.workers-slider { position: relative; display: flex; margin-left: -3.8vw; }
.workers-slider .slick-list { overflow: visible; }

.workers-slider .slick-arrow {
	position: absolute;
	top: 0;
	background: url(img/share/ico-arrow-btn-red2-l.svg) no-repeat right 16px center / 42px auto;
	width: 26.5vw;
	height: 100%;
	text-indent: -9999px;
}

.workers-slider .slick-prev { display: none !important; }
.workers-slider .slick-next { right: -10vw; }
.workers-day-slider .slick-next { background-size: 34px auto; background-position: right 14px center; width: 15vw; }
.workers-slider + .attention { margin: 15px 0 0 -15px; font-size: 1.3rem; }
.workers-slider .inner { background: #FFFFFF; box-shadow: 5px 9px 9px rgba(0,0,0,0.02); border-radius: 8px; }
.workers-life-slider .inner { display: block; width: 61.5vw; margin-right: 6vw; padding: 20px 20px 24px; font-weight: 600; }
.workers-life-slider .inner figure { margin-bottom: 18px; }
.workers-life-slider .inner figure img { border-radius: 6px; }

.workers-life-slider .inner .txt {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	padding: 0 3px;
}

.workers-life-slider .inner h3 {
	order: 2;
	margin-bottom: 8px;
	font-size: 1.6rem;
	line-height: 1.6;
	letter-spacing: 0.12em;
}

.workers-life-slider .inner h3 span {
	padding-left: 1px;
	font-size: 1.2rem;
	letter-spacing: 0.1em;
}

.workers-life-slider .inner h3 span + span {
	display: block;
	padding-top: 2px;
	padding-left: 0;
	font-size: 1.2rem;
}

.workers-life-slider .inner h3 i {
	position: absolute;
	bottom: 2px;
	right: 0;
	background: url(img/share/ico-arrow-btn-red.svg) no-repeat left top / 100% auto;
	width: 29px;
	height: 29px;
}

.workers-life-slider .inner h4 {
	order: 3;
	width: 100%;
	padding-left: 1px;
	color: var(--color-green);
	font-size: 1.3rem;
	line-height: 1.7;
	letter-spacing: 0.1em;
}

.workers-life-slider .inner h5 {
	order: 1;
	margin-bottom: 22px;
	font-size: 1.5rem;
	line-height: 1.75;
	letter-spacing: 0.08em;
}

.workers-life-slider .inner h5.let {
	margin-right: -10px;
	letter-spacing: 0.06em;
}

/* .workers-day
------------------------------------*/
.workers-slider-wrap .workers-day { margin-bottom: 75px; }
.workers-day-slider { margin-left: -20px; }
.workers-day-slider:before { left: calc(-50vw - 5px); }
.workers-day-slider .slick-track { display: flex; }

.workers-day-slider .inner {
	float: none !important;
	width: 87vw;
	height: auto;
	margin-right: 15px;
	padding: 28px 24px 32px;
}

.workers-day-slider .inner .title { margin-bottom: 32px; }

.workers-day-slider .inner h3 {
	margin-bottom: 1px;
	color: var(--color-green);
	font-size: 1.9rem;
	line-height: 1.7;
	letter-spacing: 0.16em;
}

.workers-day-slider .inner h4 {
	color: var(--color-green);
	font-weight: 600;
	font-size: 1.3rem;
	line-height: 1.7;
	letter-spacing: 0.1em;
}

.workers-day-slider .inner dl,
.workers-day-slider .inner dl p {
	font-size: 1.4rem;
	line-height: 1.8;
	letter-spacing: 0.02em;
}

.workers-day-slider .inner dl > div {
	border-top: 1px solid var(--color-black);
	padding: 3px 2px 21px 0;
}

.workers-day-slider .inner dl > div.schedule { display: block; }
.workers-day-slider .inner dl > div:last-of-type { margin-bottom: 0; padding-bottom: 0; }

.workers-day-slider .inner dt {
	margin-bottom: 11px;
	color: var(--color-green);
	font-weight: 600;
	letter-spacing: 0.06em;
}

.workers-day-slider .inner dl > div.schedule dt { margin-bottom: 22px; }
.workers-day-slider .inner dd { padding: 0 2px 0 14px; }
.workers-day-slider .inner dl > div:nth-of-type(1) dd p,
.workers-day-slider .inner dl > div:nth-of-type(2) dd p { text-align: justify; }
.workers-day-slider .inner dl > div:nth-of-type(1) dd p br,
.workers-day-slider .inner dl > div:nth-of-type(2) dd p br { display: none; }
.workers-day-slider .inner dl > div.schedule dd { padding-right: 0; padding-left: 9px; }
.workers-day-slider .inner dl > div.schedule dd img { display: block; width: calc(100% + 10px); }

/* .workers-qa
------------------------------------*/
.workers-qa { margin: 0 auto 100px; }

.workers-qa-inner {
	overflow: hidden;
	background: url(img/share/bg-pattern-note.jpg) repeat left top / 20px 20px;
	border-radius: 5px;
	width: 91%;
	margin: 0 auto;
	padding: 60px 7% 40px;
}

.workers-qa .lead { margin-bottom: 40px; }
.workers-qa .lead h2 { margin-bottom: 24px; }

.workers-qa .lead p,
.workers-qa dd p {
	line-height: 1.95;
	letter-spacing: 0.08em;
	text-align: justify;
}

.workers-qa .lead p br { display: none; }

.workers-qa dl {
	margin-bottom: 45px;
	padding-left: 33px;
}

.workers-qa dl > div:not(:last-of-type) { margin-bottom: 28px; }

.workers-qa dt {
	position: relative;
	margin-bottom: 13px;
	color: var(--color-green);
	font-weight: 600;
	font-size: 1.5rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
	text-decoration: underline;
	text-underline-offset: 0.1em;
}

.workers-qa dt i {
	display: block;
	position: absolute;
	top: -0.5rem;
	left: -32px;
}

.workers-qa dt i img { width: 18px; }

.workers-qa .support { position: relative; }
.workers-qa .support figure { margin: 0 auto 30px; }
.workers-qa .support .txt { padding-left: 5px; }

.workers-qa .support h3 {
	margin-bottom: 20px;
	color: var(--color-green);
	font-weight: 600;
	font-size: 1.7rem;
	line-height: 1.85;
	letter-spacing: 0.12em;
	text-align: center;
}

.workers-qa .support p {
	margin-bottom: 0.8em;
	letter-spacing: 0.1em;
	text-align: justify;
}

.workers-qa .support p br { display: none; }

.workers-qa .support ul {
	position: relative;
	margin-top: 30px;
	padding: 0 0 0 24px;
}

.workers-qa .support ul:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 2px;
	background-color: var(--color-yellow);
	border-radius: 5px;
	width: 5px;
	height: calc(100%);
}

.workers-qa .support li {
	margin-bottom: 10px;
	font-size: 1.4rem;
	line-height: 1.7;
	letter-spacing: 0.1em;
}

/* .workers-recruit
------------------------------------*/
.workers-recruit { padding: 0 7%; }

.workers-recruit h2 {
	margin-bottom: 28px;
	text-align: center;
}

.workers-recruit p {
	padding: 0 10px;
	line-height: 2.1;
	letter-spacing: 0.08em;
	text-align: justify;
}

.workers-recruit p br { display: none; }
.workers-recruit .btn-link { margin-top: 35px; }


/* page workers interview
---------------------------------------------------------------------------*/

/* .interview-main
------------------------------------*/
.interview-main { margin-bottom: 60px; padding: 90px 0 0; }
.interview-main figure { margin-bottom: 40px; }
.interview-main section { padding: 0 8%; }

.interview-main .title {
	margin-bottom: 23px;
	font-weight: 600;
}

.interview-main .title h1 {
	margin-bottom: 11px;
	font-size: 1.9rem;
	line-height: 1.7;
	letter-spacing: 0.16em;
}

.interview-main .title h1 span {
	display: inline-block;
	background-color: #FFFFFF;
	padding: 0 5px 0 7px;
	line-height: 1.4;
}

.interview-main .title h2 {
	line-height: 1.35;
}

.interview-main .title h2 strong,
.interview-main .title h2 span {
	display: inline-block;
	background-color: #FFFFFF;
	line-height: 1.3;
}

.interview-main .title h2 strong {
	padding: 2px 4px 2px 6px;
	font-size: 1.5rem;
	letter-spacing: 0.16em;
}

.interview-main .title h2 em {
	padding: 2px 2px 2px 2px;
	font-size: 1.3rem;
	letter-spacing: 0.12em;
}

.interview-main .title h2 span {
	padding: 3px 4px 3px 4px;
	font-size: 1.3rem;
	letter-spacing: 0.12em;
}

.interview-main dl > div {
	display: flex;
	margin-bottom: 4px;
	line-height: 1.6;
}

.interview-main dl > div:last-of-type { margin-bottom: 0; }

.interview-main dt {
	align-self: flex-start;
	display: inline-block;
	border-radius: 20px;
	margin-right: 10px;
	padding: 2px 10px 2px 12px;
	font-weight: 600;
	font-size: 1.3rem;
	letter-spacing: 0.08em;
	white-space: nowrap;
	transform: translateY(2px);
}

.interview-main dd {
	display: inline-block;
	margin-right: -15px;
	padding: 2px 0 4px;
	font-size: 1.4rem;
	line-height: 1.8;
	letter-spacing: 0.08em;
}

/* .interview-lead
------------------------------------*/
.interview-lead {
	position: relative;
	margin-bottom: 45px;
	padding: 60px 9% 0;
}

.interview-lead:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	background-color: var(--color-border-beige-dark);
	width: 190px;
	height: 1px;
}

.interview-lead p { text-align: justify; }
.interview-lead p br { display: none; }

/* .interview-section
------------------------------------*/
.interview-section { margin: 0 auto 80px; padding: 0 7%; }
.interview-section figure { margin-bottom: 65px; }
.interview-section figure picture:not(:last-of-type) { display: block; margin-bottom: 15px; }

.interview-section h2 {
	margin-bottom: 35px;
	font-weight: 600;
	font-size: 1.9rem;
	line-height: 1.9;
	letter-spacing: 0.14em;
}

.interview-section dl { padding-right: 5px; padding-left: 3.5rem; }
.interview-section dl > div:not(:last-of-type) { margin-bottom: 40px; }

.interview-section dt {
	position: relative;
	margin-bottom: 14px;
	font-weight: 600;
	font-size: 1.4rem;
	line-height: 2;
	letter-spacing: 0.08em;
}

.interview-section dt:before {
	display: block;
	content: '';
	position: absolute;
	top: 1.4rem;
	left: -37px;
	background-color: var(--color-text);
	width: 20px;
	height: 1px;
}

.interview-section dd { position: relative; }

.interview-section dd,
.interview-section dd p {
	font-size: 1.4rem;
	line-height: 2;
	letter-spacing: 0.08em;
	text-align: justify;
}

.interview-section dd .name {
	position: absolute;
	top: 1px;
	left: -120px;
	width: calc(123px - 11px);
	font-size: 1.3rem;
	text-align: right;
	white-space: nowrap;
}

_::-webkit-full-page-media, _:future, :root .interview-section dd .name { top: 2px; }

/* .interview-schedule
------------------------------------*/
.interview-schedule {
	display: block;
	margin: 60px 0 80px !important;
}

.interview-schedule dt {
	width: 100%;
	margin: 0 0  35px -25px;
	font-family: var(--font-gothic);
	font-size: 1.5rem;
	line-height: 1.6;
	letter-spacing: 0.12em;
}

.interview-schedule dt:before { display: none; }

/* .timeline-schedule
------------------------------------*/
.timeline-schedule {
	border-right: 1px solid #000000;
	border-left: 1px solid #000000;
	width: 100%;
}

.timeline-schedule .inner {
	position: relative;
	width: 100%;
	height: 6.7rem;
	padding: 5px 0;
}

.timeline-schedule .inner:last-of-type { height: 0; padding: 0; }

.timeline-schedule .inner:before,
.timeline-schedule .inner:last-of-type:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background: url(img/share/line-dot-black.svg) repeat-x left top;
	width: 100%;
	height: 2px;
	opacity: 0.2;
}

.timeline-schedule .inner:last-of-type:after { top: -1px; }

.timeline-schedule .inner .time {
	position: absolute;
	top: -12px;
	left: -5.2rem;
	width: 4.4rem;
	font-size: min(1.3rem, 23px);
	letter-spacing: 0.03em;
	text-align: right;
	white-space: nowrap;
}

.timeline-schedule .inner li { position: relative; margin-bottom: 5px; }
.timeline-schedule .inner li:last-of-type { margin-bottom: 0; }

.timeline-schedule .inner li:before {
	display: block;
	content: '';
	position: absolute;
	top: calc(1rem - 3px);
	left: -12px;
	background-color: var(--color-red);
	border-radius: 50%;
	width: 5px;
	height: 5px;
}

.timeline-schedule .inner li strong {
	display: block;
	margin-bottom: 1px;
	font-size: min(1.3rem, 18px);
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.timeline-schedule .inner li strong span { font-size: min(1.2rem, 16px); }

.timeline-schedule .inner li em {
	display: block;
	color: var(--color-green);
	font-weight: 600;
	font-size: min(1.2rem, 16px);
	line-height: 1.6;
	letter-spacing: 0.02em;
}

.timeline-schedule.interview2 .inner:nth-of-type(1) li:nth-of-type(1) { margin-top: 5px; margin-left: 30px; }
.timeline-schedule.interview2 .inner:nth-of-type(1) li:nth-of-type(2) { margin-top: -15px; margin-left: 100px; }
.timeline-schedule.interview2 .inner:nth-of-type(2) li:nth-of-type(1) { margin-top: 33px; margin-left: 125px; }
.timeline-schedule.interview2 .inner:nth-of-type(3) li:nth-of-type(1) { margin-top: -14px; margin-left: 30px; }
.timeline-schedule.interview2 .inner:nth-of-type(4) li:nth-of-type(1) { margin-top: 20px; margin-left: 30px; }
.timeline-schedule.interview2 .inner:nth-of-type(4) li:nth-of-type(2) { margin-top: -25px; margin-left: 95px; }
.timeline-schedule.interview2 .inner:nth-of-type(5) li:nth-of-type(1) { margin-top: -14px; margin-left: 205px; }
.timeline-schedule.interview2 .inner:nth-of-type(5) li:nth-of-type(2) { margin-top: -20px; margin-left: 30px; }
.timeline-schedule.interview2 .inner:nth-of-type(5) li:nth-of-type(3) { position: absolute; top: 45px; left: 95px; }
.timeline-schedule.interview2 .inner:nth-of-type(8) li:nth-of-type(1) { margin-top: -15px; margin-left: 30px; }
.timeline-schedule.interview2 .inner:nth-of-type(10) li:nth-of-type(1) { margin-top: 6px; margin-left: 30px; }
.timeline-schedule.interview2 .inner:nth-of-type(10) li:nth-of-type(2) { margin-top: -32px; margin-left: 150px; }

/* .interview-profile
------------------------------------*/
.interview-profile {
	position: relative;
	background-color: #FFFFFF;
	border: 1px solid #A8A8A8;
	border-radius: 5px;
	width: 85%;
	margin: 90px auto;
	padding: 42px 20px 34px;
}

.interview-profile figure { width: 100%; margin: 0 auto 32px; }
.interview-profile h2 { margin-bottom: 30px; text-align: center; }

.interview-profile h2 em {
	display: block;
	position: relative;
	margin-bottom: 8px;
	color: var(--color-red-txt);
	font-family: var(--font-sans);
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-align: center;
	white-space: nowrap;
	transform: translateY(-2px);
}

.interview-profile h2 strong {
	font-weight: 600;
	font-size: 1.7rem;
	line-height: 1.7;
	letter-spacing: 0.12em;
}

.interview-profile h3 {
	margin-bottom: 21px;
	font-weight: 600;
	font-size: 1.5rem;
	line-height: 2;
	letter-spacing: 0.12em;
	text-align: center;
}

.interview-profile p {
	padding: 0 3%;
	letter-spacing: 0.08em;
	text-align: justify;
}

.interview-profile dl { margin-top: 32px; }
.interview-profile dl:not(:last-child) { margin-bottom: 22px; }

.interview-profile dl > div {
	position: relative;
	margin-bottom: 22px;
	padding-left: 30px;
}

.interview-profile dl > div:last-of-type { margin-bottom: 0; }

.interview-profile dl > div:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 8px;
	background-color: var(--color-yellow-light);
	border-radius: 4px;
	width: 4px;
	height: 100%;
}

.interview-profile dt {
	margin-bottom: 5px;
	font-weight: 600;
	font-size: 1.4rem;
	line-height: 1.7;
	letter-spacing: 0.12em;
}

.interview-profile dd {
	font-size: 1.3rem;
	line-height: 1.8;
	letter-spacing: 0.08em;
}

.interview-profile dd a { text-decoration: underline; text-underline-offset: 0.1em; }
.interview-profile dl + p { font-size: 1.25rem; }


/* page service 
---------------------------------------------------------------------------*/
#serviceContents .header-page h1 { padding: 0 calc(5% + 5px); }
#serviceContents .header-page .plink { width: 100%; margin: 18px 0 -2px; }
.service-message.line-top { margin-top: 80px; padding-top: 80px; }

/* .service-main-img
------------------------------------*/
.service-main-img { position: relative; margin-top: 90px; }
.service-main-img .slider-loop .inner { padding-right: 0; }
.service-main-img .slider-nav-play { position: absolute; bottom: -22px; right: 8px; left: inherit; transform: scale(0.7); z-index: 10; }

/* .service-lead
------------------------------------*/
.service-lead { position: relative; z-index: 2; }

.service-lead .title {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row-reverse;
	position: absolute;
	top: -58px;
	left: 15px;
}

.service-lead .title strong img { width: 40px; }

.service-lead .title em {
	align-self: start;
	background-color: #FFFFFF;
	margin-right: 5px;
	padding: 5px 1px 4px 2px;
	font-family: var(--font-sans);
	font-size: 11px;
	letter-spacing: 0.08em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

#seniorContents .service-lead .title em { color: var(--color-service01); }
#disabilityContents .service-lead .title em { color: var(--color-service02); }
#childContents .service-lead .title em { color: var(--color-service03); }
#regenerateContents .service-lead .title em { color: var(--color-service04); }
#communityContents .service-lead .title em { color: var(--color-service05); }

.service-lead-inner { padding: 0 8% }
.service-lead .txt { margin-bottom: 70px; padding: 70px 0px 0 75px; }

.service-lead h2 { margin-bottom: 32px; }
.service-lead h2 img { width: auto; }

.service-lead p {
	margin-bottom: 0.8em;
	letter-spacing: 0.08em;
	text-align: justify;
}

.service-lead p br { display: none; }

.service-lead h1 {
	display: inline-block;
	margin-top: 14px;
	color: #FFFFFF;
	font-family: var(--font-gothic);
	font-size: 1.5rem;
	line-height: 1.8;
	letter-spacing: 0.12em;
}

.service-lead h1 span { display: inline-block; padding: 0px 5px 0px 6px; line-height: 1.5; }
.service-lead h1 span:not(:first-of-type) { margin-top: 7px; }

#seniorContents .service-lead h1 span { background-color: var(--color-service01); }
#disabilityContents .service-lead h1 span { background-color: var(--color-service02); }
#childContents .service-lead h1 span { background-color: var(--color-service03); }
#regenerateContents .service-lead h1 span { background-color: var(--color-service04); }
#communityContents .service-lead h1 span { background-color: var(--color-service05); }

#communityContents .service-lead nav { display: none; }

.service-lead nav h3 {
	margin: 0 0 20px;
	font-size: 1.4rem;
	line-height: 1.8;
	letter-spacing: 0.12em;
}

.service-lead nav ul:not(:has( li h3)) { margin: 0 0 16px 4px; }
.service-lead nav li { margin-bottom: 16px; }
.service-lead nav li:not(:has(h3)) { margin-bottom: 6px; }

.service-lead nav li h3 { margin: 0 0 0 -1px; }

.service-lead nav li h3 span {
	display: inline-block;
	font-family: var(--font-sans);
	font-weight: 400;
	font-size: 1.4rem;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.service-lead nav li h3 span strong {
	display: inline-block;
	padding-left: 8px;
	font-weight: 400;
	font-size: 2.4rem;
	transform: translateY(1px);
}

.service-lead nav li a {
	font-size: 1.5rem;
	line-height: 2.1;
	letter-spacing: 0.12em;
	text-decoration: underline;
	text-underline-offset: 0.1em;
}

.service-lead nav li:not(:has(h3)) a { letter-spacing: 0.12em; }
.service-lead nav .btn-link-ss { display: inline-block; margin: 16px 0 0 -2px; }

/* .service-message
------------------------------------*/
.service-message .sec-inner { padding: 0 10%; }

.service-message .sec-inner h3 {
	margin-bottom: 26px;
	font-weight: 400;
	font-size: 2.2rem;
	line-height: 1.75;
	letter-spacing: 0.2em;
}

.service-message .sec-inner p { font-size: 1.5rem; text-align: justify; }
.service-message .sec-inner p br { display: none; }

.title-message-en span {
	display: inline-block;
	border-bottom: 1px solid var(--color-black);
	padding: 0 1px 2px 2px;
	font-family: var(--font-sans);
	font-weight: 400;
	font-size: 1.2rem;
	letter-spacing: 0.06em;
	white-space: nowrap;
}

.title-message-en span strong { padding-left: 6px; font-weight: 400; font-size: 2.4rem; }

#seniorContents .title-message-en span { border-color: var(--color-service01); }
#disabilityContents .title-message-en span { border-color: var(--color-service02); }
#childContents .title-message-en span { border-color: var(--color-service03); }
#regenerateContents .title-message-en span { border-color: var(--color-service04); }
#communityContents .title-message-en span { border-color: var(--color-service05); }

/* .service-list
------------------------------------*/
.service-list.line-top { margin: 100px 0 180px; padding: 14px 5.5% 0; }
.service-list.line-top:not(:has( .sec-inner > h2)):before { display: none; }

.service-list h2 {
	margin: 0 0 45px -10px;
	font-size: 1.6rem;
	line-height: 1.7;
	letter-spacing: 0.14em;
}

.service-list section { position: relative; }
.service-list .sec-inner { border-bottom: 2px solid var(--color-border-beige); }

.service-list section:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background-color: var(--color-border-beige);
	width: 100%;
	height: 2px;
	z-index: 0;
}

.service-list section .sec-title + div { display: none; padding: 0 5px 50px 55px; }
.service-list section .sec-title + div.active { display: block; }
.service-list section .sec-title + div > div { opacity: 0; }
.service-list section .sec-title + div.active > div { opacity: 1; }

.service-list section .sec-title h3 {
	position: relative;
	width: 100%;
	padding: 18px 45px 24px 7px;
	font-size: 1.6rem;
	line-height: 1.9;
	letter-spacing: 0.12em;
}

.service-list section .sec-title h3 br { display: none; }

.service-list section .sec-title h3 i {
	position: absolute;
	top: calc(1.5rem + 5px);
	right: 5px;
	background: url(img/share/ico-arrow-down-brown.svg) no-repeat center center / 20px auto;
	width: 20px;
	height: 20px;
	transition: .15s ease-out;
}

.service-list section .sec-title.active h3 i { transform: rotate(180deg); }

.service-list section .sec-title p {
	margin: -13px 0 0 8px !important;
	padding-bottom: 18px;
	font-size: 1.3rem;
	line-height: 1.8;
	letter-spacing: 0.11em;
}

.service-list section .sec-title p br { display: none; }

.service-list-nav { padding: 0 10%; }
.service-list-nav ul { display: grid; grid-template-columns: 1fr 1fr; gap: 35px 20px; }
.service-list-nav ul:not(:has(+ .btn-link-ss)) { margin-bottom: -30px; }
.service-list-nav .btn-link-ss { margin-top: 30px; }
.service-list-nav .comment { text-align: center; }
.service-list-nav .comment a { display: block; }

.service-list-nav .comment h3 {
	display: inline-block;
	background-color: #FFFFFF;
	border: 1px solid var(--color-text);
	border-radius: 20px;
	width: 145px;
	min-height: 90px;
	margin: 0 auto 4px;
	padding: 14px 14px 14px 16px;
	font-weight: 600;
	font-size: 1.4rem;
	line-height: 1.6;
	letter-spacing: 0.09em;
	text-align: left;
}

.service-list-nav .comment h3.pt { padding-top: 24px; }
.service-list-nav .comment h3 br { display: none; }
.service-list-nav .comment div { margin-top: 7px; }

.service-list-nav .comment div > span {
	display: inline-block;
	background-color: #FFFFFF;
	margin-bottom: 4px;
	padding: 2px 4px 2px 4px;
	font-weight: 600;
	font-size: 1.4rem;
	line-height: 1.2;
	letter-spacing: 0.1em;
}

.service-list section .inner { position: relative; }
.service-list section .inner:first-child { margin-top: 20px; }
.service-list section .inner:not(:last-child) { margin-bottom: 55px; }

.service-list section .inner h4 {
	position: absolute;
	top: 0;
	left: calc(-1.4rem - 14px);
	padding-top: 20px;
	color: var(--color-red-txt);
	font-weight: 600;
	font-size: 1.4rem;
	letter-spacing: 0.17em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.service-list section .inner h4:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: calc(50% - 5px);
	border: 3px solid var(--color-yellow);
	border-radius: 50%;
	width: 10px;
	height: 10px;
}

.service-list section .inner h4 span { font-size: 1.2rem; }
.service-list section .inner figure { margin-bottom: 24px; }

.service-list section .inner h5 {
	margin: 0 -7px 8px -1px;
	color: var(--color-green);
	font-weight: 600;
	font-size: 1.4rem;
	line-height: 1.65;
	letter-spacing: 0.12em;
}

.service-list section .inner h5:has(+ p) { margin-bottom: 12px; }
.service-list section .inner h5 i:first-of-type { padding-right: 2px; }
.service-list section .inner h5 i:last-of-type { padding-left: 2px; }

.service-list section .inner h6 {
	margin-bottom: 14px;
	font-size: 1.7rem;
	line-height: 1.8;
	letter-spacing: 0.15em;
}

.service-list section .inner h6.size-s {
	margin: 40px 0 0 25px;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
}

.service-list section .inner p {
	margin-bottom: 1.2em;
	font-size: 1.4rem;
	letter-spacing: 0.08em;
	text-align: justify;
	word-break: break-all;
}

.service-list section .inner .dl-dt-box { margin-top: 18px; }
.service-list section .inner .dl-dt-box:not(:last-child) { margin-bottom: 24px; }
.service-list section .inner .dl-dt-box p { font-size: 1.3rem; line-height: 1.9; letter-spacing: 0.06em; }

.service-list section .inner .btn-link-ss { margin-top: 20px; }
.service-list section .inner .btn-link-ss + .btn-link-ss { display: block; margin-top: 8px; }
.service-list section .inner .btn-link-ss a { padding-right: 12px; padding-left: 14px; }
.service-list section .inner .btn-link-ss a.blank { padding-left: 40px; }
.service-list section .inner table + .btn-link-ss,
.service-list section .inner ul + .btn-link-ss { margin-top: 24px; }

/* .service-list section .inner-s
------------------------------------*/
.service-list section .inner-s { margin-top: 45px; padding-left: 25px; }
.service-list section .inner-s + .inner-s { margin-top: 0; }
.service-list section .inner-s:not(:last-child) { margin-top: 45px; margin-bottom: 40px; padding-bottom: 40px; }
.service-list section h6 + .inner-s:not(:last-child) { margin-top: 25px; }
.service-list section .inner-s h6 { margin-top: -8px; margin-bottom: 2px; }

/* .service-list section .inner .attention-list
------------------------------------*/
.service-list section .inner .attention-list { margin-top: 20px; }
.service-list section .inner .attention-list li { margin-bottom: 6px; font-size: 1.3rem; line-height: 1.75; letter-spacing: 0.09em; }

/* .service-list section .inner .box-line
------------------------------------*/
.service-list section .inner .box-line {
	border: 2px solid var(--color-border-beige);
	border-radius: 3px;
	margin-top: 48px;
	padding: 0 20px 12px;
}

.service-list section .inner .box-line h6 {
	display: inline-block;
	background-color: var(--color-bg);
	margin: 0 0 -4px -11px;
	padding: 0 8px 0 11px;
	color: var(--color-red-txt);
	font-weight: 600;
	font-size: 1.4rem;
	letter-spacing: 0.13em;
	transform: translateY(-15px);
}

.service-list section .inner .box-line p { font-size: 1.3rem; line-height: 1.9; letter-spacing: 0.08em; }
.service-list section .inner .box-line .btn-link-arrow { margin: -2px 0 0 -1px; }

/* .service-list section .inner .box-list
------------------------------------*/
.service-list section .inner .box-list {
	overflow: hidden;
	border: 1px solid var(--color-text);
	border-radius: 4px;
	margin-top: 30px;
}

.service-list section .inner .box-list h6 {
	border-bottom: 1px solid var(--color-text);
	margin: 0;
	padding: 9px 10px 8px;
	font-weight: 600;
	font-size: 1.4rem;
	line-height: 1.7;
	letter-spacing: 0.14em;
	text-align: center;
}

.service-list section .inner .box-list > div { background-color: #FFFFFF; padding: 20px 24px 14px; }
.service-list section .inner .box-list .dot-list:not(:last-of-type) { margin-bottom: 6px; }
.service-list section .inner .box-list .dot-list li { margin-left: 0; margin-bottom: 6px; padding-left: 10px; }
.service-list section .inner .box-list .dot-list li:before { width: 3px; height: 3px; }

/* .service-list section .inner .txt-list
------------------------------------*/
.service-list section .inner .txt-list { margin-top: 20px; }

.service-list section .inner .txt-list li {
	margin-bottom: 10px;
	font-size: 1.3rem;
	line-height: 1.8;
	letter-spacing: 0.08em;
	text-align: justify;
}


/* page service - senior
---------------------------------------------------------------------------*/

/* .senior-message1
------------------------------------*/
.senior-message1 section:not(:last-child) { margin-bottom: 80px; }
.senior-message1 .title { margin-bottom: 60px; }
.senior-message1 .title > div:not(:last-of-type) { margin-bottom: 40px; }
.senior-message1 .title h2 { margin-bottom: 22px; }

.senior-message1 section h4 {
	margin: 0 0 30px 0px;
	font-size: 1.4rem;
	line-height: 1.6;
	letter-spacing: 0.14em;
	font-weight: 600;
}

.message-list-main .inner { margin-bottom: 45px; }
.message-list-main figure { margin-bottom: 25px; }
.message-list-main figure img { border-radius: 8px; }

.message-list-main h5,
.message-list-sub h5 {
	margin-bottom: 15px;
	color: var(--color-green);
	font-weight: 600;
	font-size: 1.6rem;
	line-height: 1.8;
	letter-spacing: 0.16em;
	text-align: center;
}

.service-message .message-list-main p {
	font-size: 1.4rem;
	line-height: 1.92;
	letter-spacing: 0.1em;
}

.message-list-sub { margin: 0 -5px; }
.message-list-sub .inner { display: flex; flex-wrap: wrap; }
.message-list-sub .inner:not(:last-of-type) { margin-bottom: 34px; }
.message-list-sub figure { align-self: start; width: 100px; min-width: 100px; }
.message-list-sub figure img { border-radius: 6px; }

.message-list-sub .txt {
	width: calc(100% - 100px);
	margin-top: -4px;
	padding: 0 0 0 18px;
}

.message-list-sub h5 {
	width: 100%;
	font-size: 1.5rem;
	letter-spacing: 0.15em;
	text-align: left;
}

.service-message .message-list-sub p { font-size: 1.3rem; line-height: 1.9; letter-spacing: 0.06em; }

/* .senior-message2
------------------------------------*/
.senior-message2 figure { margin: 0 -15px 55px; }
.senior-message2 h2 { margin-bottom: 23px; }
.senior-message2 .sec-inner h3 { margin-bottom: 27px; font-size: 2rem; line-height: 1.7; letter-spacing: 0.14em; }
.senior-message2 .sec-inner h3 br { display: none; }


/* page service - disability
---------------------------------------------------------------------------*/
#disabilityContents .service-message h2 { margin-bottom: 16px; }

/* .disability-message1
------------------------------------*/
.disability-message1 figure.pic { margin: 45px -10px 0; }

.disability-message1 figure.pic figcaption {
	position: relative;
	margin: 30px 0 0;
	padding: 0 16px 0 18px;
	font-size: 1.3rem;
	line-height: 1.95;
	letter-spacing: 0.1em;
	text-align: justify;
}

.disability-message1 figure.pic figcaption:before,
.disability-message1 figure.pic figcaption:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	background-color: var(--color-border-beige);
	width: 1px;
	height: calc(100%);
}

.disability-message1 figure.pic figcaption:before { left: 0; }
.disability-message1 figure.pic figcaption:after { right: 0; }

.disability-message1 .txt p { letter-spacing: 0.1em; }
.disability-message1 .txt figure.img { display: flex; justify-content: space-between; margin: 40px -10px 0; }
.disability-message1 .txt figure.img img { align-self: start; }
.disability-message1 .txt figure.img img:nth-of-type(1) { width: 56%; }
.disability-message1 .txt figure.img img:nth-of-type(2) { width: 42%; }

/* .disability-message2
------------------------------------*/
.disability-message2 .sec-inner .title { margin-bottom: 40px; }
.disability-message2 .sec-inner figure { margin: 0 -10px; }

/* .disability-message3
------------------------------------*/
.disability-message3 .sec-inner .title { margin-bottom: 35px; }
.disability-message3 .sec-inner .title .txt p { letter-spacing: 0.1em; }
.disability-message3 .period .table-wrap { overflow-x: scroll; margin-right: -10vw; padding-right: 10vw; }

.disability-message3 .period table {
	overflow: hidden;
	width: 800px;
	border-top: 1px solid var(--color-text);
	border-bottom: 1px solid var(--color-text);
	font-weight: 600;
	font-size: 1.2rem;
	line-height: 1.4;
}

.disability-message3 .period thead tr { border-bottom: 1px solid var(--color-text); }

.disability-message3 .period thead th {
	position: relative;
	width: 200px;
	padding: 5px 10px;
	letter-spacing: 0.1em;
	text-align: center;
	vertical-align: middle;
}

.disability-message3 .period thead th:not(:last-of-type):after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	background: url(img/share/line-dot-v.svg) repeat-y;
	width: 1px;
	height: 100vh;
}

.disability-message3 .period thead th:first-of-type {
	width: 200px;
	padding-left: 16px;
	text-align: left;
}

.disability-message3 .period tbody { background-color: #F9F7F0; }
.disability-message3 .period tbody th,
.disability-message3 .period tbody td { padding: 6px 16px 5px; }
.disability-message3 .period tbody tr:first-of-type th,
.disability-message3 .period tbody tr:first-of-type td { padding-top: 18px; }
.disability-message3 .period tbody tr:last-of-type th,
.disability-message3 .period tbody tr:last-of-type td { padding-bottom: 16px; }

.disability-message3 .period tbody th {
	padding-right: 18px;
	letter-spacing: 0.1em;
	text-align: left;
	white-space: nowrap;
}

.disability-message3 .period tbody th span {
	padding-left: 2px;
	font-size: 1rem;
	letter-spacing: 0.06em;
}

.disability-message3 .period tbody td {
	position: relative;
	padding-right: 10px;
	font-size: 1.3rem;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

.disability-message3 .period tbody tr:nth-of-type(1) td { padding-left: 40px; }
.disability-message3 .period tbody tr:nth-of-type(2) td { padding-left: 115px; }
.disability-message3 .period tbody tr:nth-of-type(3) td,
.disability-message3 .period tbody tr:nth-of-type(4) td,
.disability-message3 .period tbody tr:nth-of-type(5) td,
.disability-message3 .period tbody tr:nth-of-type(6) td { padding-left: 100px; }
.disability-message3 .period tbody tr:nth-of-type(7) td,
.disability-message3 .period tbody tr:nth-of-type(8) td,
.disability-message3 .period tbody tr:nth-of-type(9) td { padding-left: 15px; }

.disability-message3 .period tbody td i {
	display: block;
	position: absolute;
	top: 2px;
	left: 0;
	margin-left: -2px;
	background-color: var(--color-yellow);
	width: 100%;
	height: 2px;
}

.disability-message3 .period tbody td i:after {
	display: block;
	content: '';
	position: absolute;
	top: -5.5px;
	right: -2px;
	background: url(img/share/ico-arrow-line-yellow.svg) no-repeat;
	width: 14px;
	height: 14px;
}

.disability-message3 .period tbody tr:first-of-type td i { top: 16px; }
.disability-message3 .period tbody tr:nth-of-type(1) td i { left: 40px; width: 152px; }
.disability-message3 .period tbody tr:nth-of-type(2) td i { left: 115px; width: 265px; }

.disability-message3 .period tbody tr:nth-of-type(3) td i,
.disability-message3 .period tbody tr:nth-of-type(4) td i,
.disability-message3 .period tbody tr:nth-of-type(5) td i,
.disability-message3 .period tbody tr:nth-of-type(6) td i { left: 100px; }

.disability-message3 .period tbody tr:nth-of-type(3) td i,
.disability-message3 .period tbody tr:nth-of-type(6) td i { width: 230px; }
.disability-message3 .period tbody tr:nth-of-type(4) td i,
.disability-message3 .period tbody tr:nth-of-type(5) td i { width: 262px; }

.disability-message3 .period tbody tr:nth-of-type(7) td i,
.disability-message3 .period tbody tr:nth-of-type(8) td i,
.disability-message3 .period tbody tr:nth-of-type(9) td i { left: 15px; width: 570px; }

.disability-message3 .period .attention { margin-top: 13px; font-size: 1.3rem; line-height: 1.85; letter-spacing: 0.08em; }


/* page service - child
---------------------------------------------------------------------------*/
#childContents .service-message h2 { margin-bottom: 18px; }
#childContents .service-message h3 { font-weight: 400; }

.child-message1 .sec-inner .txt p,
.child-message2 .sec-inner .txt p,
.child-message3 .sec-inner .txt p { letter-spacing: 0.1em; }

/* .child-message1
------------------------------------*/
.child-message1 .sec-inner h3 { margin-bottom: 20px; line-height: 1.8; letter-spacing: 0.18em; }
.child-message1 .team { margin: 45px 0 0; }

.child-message1 .team h4 {
	margin-bottom: 32px;
	font-size: 1.6rem;
	line-height: 2.2;
	letter-spacing: 0.22em;
	text-align: center;
	text-decoration: underline;
	text-underline-offset: 0.3em;
	border-color: var(--color-text);
}

.child-message1 .team .pic {
	position: relative;
	width: 309px;
	margin: 0 auto 65px;
	transform: translateX(-5px);
}

.child-message1 .team .pic figure { position: relative; z-index: 0; }
.child-message1 .team .pic figure img { width: auto; }
.child-message1 .team .pic dl { position: absolute; top: 291px; left: 66px; line-height: 1.6; }
.child-message1 .team .pic dl > div:not(:last-of-type) { margin-bottom: 14px; }

_::-webkit-full-page-media, _:future, :root .child-message1 .team .pic dl > div:nth-of-type(3) {
	margin-bottom: 16px;
}

.child-message1 .team .pic dt {
	margin-bottom: 4px;
	color: var(--color-service03-txt);
	font-weight: 600;
	font-size: 14px;
	letter-spacing: 0.14em;
}

.child-message1 .team .pic dd {
	font-size: 12px;
	letter-spacing: 0.1em;
	line-height: 1.65;
}

.child-message1 .team .box {
	background-color: #FFFFFF;
	margin: 0 -5px;
	padding: 16px 22px;
}

.child-message1 .team .box p {
	font-size: 1.4rem;
	line-height: 1.9;
	letter-spacing: 0.08em;
	text-align: justify;
}

/* .child-message2
------------------------------------*/
.child-message2 .sec-inner { margin-bottom: 60px; }
.child-message2 .sec-inner h3,
.child-message3 .sec-inner h3 { font-size: 2rem; line-height: 1.85; }

.child-message2 .sec-inner .title figure {
	display: flex;
	justify-content: space-between;
	margin: 30px -10px 40px;
}

.child-message2 .sec-inner .title figure img { align-self: start; }
.child-message2 .sec-inner .title figure img:nth-of-type(1) { width: 43%; }
.child-message2 .sec-inner .title figure img:nth-of-type(2) { width: 54%; }

.child-message2 .shien {
	position: relative;
	background-color: #FFFFFF;
	border-radius: 13px;
	width: 91%;
	margin: 0 auto;
	padding: 40px 22px 15px;
}

.child-message2 .shien figure {
	overflow: hidden;
	border-radius: 4px;
	border: 3px solid var(--color-green);
	width: 240px;
	margin: 0 auto 22px;
	z-index: 0;
}

.child-message2 .shien figure img { width: calc(100% + 6px); margin: -3px; }

#childContents .child-message2 .shien h3 {
	margin: 0 0 42px;
	color: var(--color-green);
	font-weight: 600;
	font-size: 1.7rem;
	line-height: 1.85;
	letter-spacing: 0.12em;
	text-align: center;
}

.child-message2 .shien h4 {
	margin-bottom: 24px;
	font-weight: 600;
	font-size: 1.3rem;
	letter-spacing: 0.12em;
}

.child-message2 .shien dl > div {
	position: relative;
	margin-bottom: 20px;
	padding-left: 24px;
}

.child-message2 .shien dl > div:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 2px;
	background-color: var(--color-yellow-light);
	border-radius: 5px;
	width: 5px;
	height: calc(100%);
}

.child-message2 .shien dt {
	margin-bottom: 4px;
	color: var(--color-red-txt);
	font-weight: 600;
	font-size: 1.5rem;
	line-height: 1.6;
	letter-spacing: 0.12em;
}

.child-message2 .shien dd p {
	font-size: 1.4rem;
	letter-spacing: 0.1em;
	line-height: 1.75em;
}

.child-message2 .shien dd p span { font-size: 1.2rem; }

/* .child-message3
------------------------------------*/
.child-message3 .sec-inner h3 br { display: none; }
.child-message3 .img { display: flex; flex-wrap: wrap; justify-content: space-between; margin: 30px -10px 40px; }
.child-message3 .img img:nth-of-type(1) { order: 2; width: 48.5%; }
.child-message3 .img img:nth-of-type(2) { order: 1; width: 100%; margin-bottom: 3%; }
.child-message3 .img img:nth-of-type(3) { order: 3; width: 48.5%; }
.child-message3 .inner figure { margin: 35px -5px 0; }

/* .child-kikin
------------------------------------*/
.child-kikin {
	justify-content: space-between;
	position: relative;
	background-color: #FFFFFF;
	border-radius: 13px;
	width: 88%;
	margin: -80px auto 0;
	padding: 35px 30px 30px;
}

.child-kikin .logo { order: 1; width: 130px; margin: 0 auto 40px; }
.child-kikin .logo img { width: 100%; }

.child-kikin figure {
	order: 2;
	overflow: hidden;
	border: 3px solid var(--color-green);
	border-radius: 4px;
	width: 200px;
	margin: 0 auto 25px;
}

.child-kikin figure img { width: calc(100% + 6px); margin: -3px; }

.child-kikin .txt { order: 3; }

.child-kikin .txt h3 {
	margin-bottom: 16px;
	color: var(--color-green);
	font-size: 1.7rem;
	font-weight: 600;
	line-height: 1.8;
	letter-spacing: 0.12em;
	text-align: center;
}

.child-kikin .txt p { letter-spacing: 0.1em; text-align: justify;}
.child-kikin .txt p br { display: none; }


/* page service - regenerate
---------------------------------------------------------------------------*/
#regenerateContents .service-message h2 { margin-bottom: 20px; }

/* .regenerate-message1
------------------------------------*/
.regenerate-message1 .check-list {
	background-color: #FFFFFF;
	border-radius: 6px;
	margin: 40px -15px 0;
	padding: 40px 20px 25px;
}

.regenerate-message1 .check-list h4 {
	margin: 0 0 35px 7px;
	color: var(--color-green);
	font-weight: 600;
	font-size: 1.8rem;
	line-height: 1.75;
	letter-spacing: 0.12em;
}

.regenerate-message1 .check-list li {
	position: relative;
	border-bottom: 1px solid #E0EFF2;
	padding: 0 0 2px 33px;
	margin-bottom: 12px;
	font-size: 1.4rem;
	line-height: 1.5;
	letter-spacing: 0.08em;
}

.regenerate-message1 .check-list li span { font-size: 1.2rem; }

.regenerate-message1 .check-list li i {
	display: block;
	position: absolute;
	top: calc(1.4rem - 9px);
	left: 7px;
	border: 1px solid #B7B7B7;
	border-radius: 1px;
	width: 12px;
	height: 12px;
}

.regenerate-message1 .check-list li i.check:before {
	display: block;
	content: '';
	position: absolute;
	top: -4px;
	left: -4px;
	background: url(img/share/ico-check-red.svg) no-repeat left top / 100% auto;
	width: 18px;
	height: 14px;
}

/* .regenerate-message2
------------------------------------*/
#regenerateContents .regenerate-message2 h3 { margin-bottom: 35px; letter-spacing: 0.12em; }
#regenerateContents .regenerate-message2 h3 br { display: none; }
.regenerate-message2 .inner figure { margin-bottom: 30px; }
.regenerate-message2 .txt p { letter-spacing: 0.1em; }
.regenerate-message2 .txt p span { font-size: 1.3rem; letter-spacing: 0.1em; }

/* .regenerate-message3
------------------------------------*/
#regenerateContents .regenerate-message3 h3 { margin-bottom: 35px; }
.regenerate-message3 figure,
.regenerate-message3 .inner { margin-bottom: 35px; }
.regenerate-message3 figure picture:not(:last-of-type) { display: block; margin-bottom: 10px; }
.regenerate-message3 .inner .txt p { letter-spacing: 0.1em; }

.regenerate-message3 .inner .mission {
	position: relative;
	background-color: rgba(255,255,255,0.7);
	border-radius: 10px;
	width: 260px;
	margin: 45px auto 0;
	padding: 45px 25px 35px;
}

.regenerate-message3 .inner .mission:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 20px;
	background-color: var(--color-green);
	border-radius: 7px;
	width: calc(100% - 40px);
	height: 7px;
}

.regenerate-message3 .inner .mission h4 {
	margin-bottom: 32px;
	color: var(--color-green);
	font-weight: 600;
	font-size: 1.4rem;
	letter-spacing: 0.16em;
	text-align: center;
}

.regenerate-message3 .inner .mission h4 strong {
	display: block;
	padding-top: 12px;
	font-family: var(--font-gothic);
	font-size: 2rem;
}

.regenerate-message3 .inner .mission .num-list li {
	margin-bottom: 13px;
	padding-left: 3rem;
	font-size: 1.5rem;
	line-height: 1.7;
	letter-spacing: 0.13em;
}

.regenerate-message3 .inner .mission .num-list li:last-of-type { margin-bottom: 0; }
.regenerate-message3 .inner .mission .num-list li:before { color: var(--color-green); font-size: 1.6rem; }

_::-webkit-full-page-media, _:future, :root .regenerate-message3 .inner .mission .num-list li:before {
	top: -1px;
}

/* .regenerate-jiritsu
------------------------------------*/
.regenerate-jiritsu {
	background-color: #FFFFFF;
	border-radius: 13px;
	width: 91%;
	margin: -80px auto 45px;
	padding: 40px 35px 45px;
}

.regenerate-jiritsu .title { position: relative; margin-bottom: 35px; }

.regenerate-jiritsu .title h2 {
	margin-bottom: 20px;
	color: var(--color-green);
	font-size: 2rem;
	line-height: 1.8;
	letter-spacing: 0.12em;
}

.regenerate-jiritsu .title li {
	position: relative;
	margin-bottom: 8px;
	padding-left: 2rem;
	font-size: 1.5rem;
	line-height: 1.7;
	letter-spacing: 0.12em;
}

.regenerate-jiritsu .title li:before {
	display: block;
	content: '◯';
	position: absolute;
	top: 0.3rem;
	left: 0;
	font-size: 1.2rem;
}

.regenerate-jiritsu .txt p { letter-spacing: 0.1em; text-align: justify; }
.regenerate-jiritsu .txt dl { position: relative; margin-top: 45px; padding-left: 25px; }

.regenerate-jiritsu .txt dl:before {
	display: block;
	content: '';
	position: absolute;
	top: 2px;
	left: 0;
	background-color: var(--color-yellow-light);
	width: 3px;
	height: calc(100% - 3px);
}

.regenerate-jiritsu .txt dl > div { margin-bottom: 26px; }
.regenerate-jiritsu .txt dl > div:last-of-type { margin-bottom: 0; }

.regenerate-jiritsu .txt dt {
	margin-bottom: 12px;
	color: var(--color-green);
	font-weight: 600;
	font-size: 1.6rem;
	line-height: 1.9;
	letter-spacing: 0.1em;
}

.regenerate-jiritsu .txt dt span {
	display: block;
	margin-top: -1px;
	font-size: 1.3rem;
	letter-spacing: 0.12em;
}

.regenerate-jiritsu .txt dd p {
	font-size: 1.3rem;
	line-height: 1.9;
	text-align: justify;
}

.regenerate-jiritsu .txt dd p br { display: none; }

/* .regenerate-soudan
------------------------------------*/
.regenerate-soudan {
	background-color: #FFFFFF;
	border-radius: 13px;
	width: 91%;
	margin: 0 auto 80px;
	padding: 40px 35px 35px;
}

.regenerate-soudan h2 {
	margin-bottom: 20px;
	color: var(--color-green);
	font-size: 2.2rem;
	line-height: 1.8;
	letter-spacing: 0.14em;
}

.regenerate-soudan p { letter-spacing: 0.08em; text-align: justify; }
.regenerate-soudan p br { display: none; }
.regenerate-soudan .btn-link-ss { display: block; margin-top: 10px; }

.regenerate-soudan .seikyou {
	position: relative;
	background-color: var(--color-bg-green);
	border-radius: 8px;
	margin-top: 45px;
	padding: 28px 28px 28px;
}

.regenerate-soudan .seikyou figure { width: 55px; margin: 0 auto 22px; }


/* page service - community
---------------------------------------------------------------------------*/

/* .community-message1
------------------------------------*/
#community-service1,
#community-service2,
#community-service3,
#community-service4 { margin-top: -85px; padding-top: 85px; }


/* page service single
---------------------------------------------------------------------------*/
.service-single { position: relative; }
.service-single .slider-main-wrap { margin-bottom: 35px; }

.service-business,
.service-detail,
.service-use,
.service-other { color: var(--color-text); }

.service-business { margin-top: -100px !important; padding-top: 100px !important; padding: 0 10%; }
.service-use { margin-top: -45px !important; padding: 45px 7% 0 !important; }

.service-business p a[target="_blank"],
.service-detail p a[target="_blank"],
.service-use p a[target="_blank"] {
	display: inline-block;
	position: relative;
	background: url(img/share/ico-blank.svg) no-repeat left 5px top 8px / 14px auto;
	padding-left: 24px;
	padding-right: 2px;
}

/* .service-business
------------------------------------*/
.service-business { position: relative; margin: 0 auto 85px; z-index: 1; }
.service-business .lead { margin-bottom: 45px; }
.service-business .lead p { letter-spacing: 0.1em; text-align: justify; }
.service-business .lead p br { display: none; }

.service-business .lead .box {
	border: 1px solid var(--color-black);
	border-radius: 3px;
	margin: 60px auto 75px;
	padding: 0 28px 26px;
	text-align: center;
}

.service-business .lead .box h3 {
	display: inline-block;
	background: var(--color-bg);
	margin-bottom: 10px;
	padding: 0 16px 0 20px;
	font-size: 1.5rem;
	line-height: 1.6;
	letter-spacing: 0.14em;
	transform: translateY(-13px);
}

.service-business .lead .box p { font-size: 1.3rem; letter-spacing: 0.1em; }

.service-business .block-list { margin: 0 auto 30px; }
.service-business .block-list .inner { margin-bottom: 38px; }
.service-business .block-list figure { position: relative; margin-bottom: 24px; }
.service-business .block-list figure img { min-width: 100%; border-radius: 5px; }

.service-business .block-list figcaption {
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #FFFFFF;
	padding: 2px 3px 2px 4px;
	color: #000000;
	font-size: 1rem;
	line-height: 1.4;
	letter-spacing: 0.1em;
	text-align: left;
}

.service-business .block-list h3 {
	margin-bottom: 15px;
	color: var(--color-green);
	font-weight: 600;
	font-size: 1.6rem;
	line-height: 1.85;
	letter-spacing: 0.15em;
	text-align: center;
}

.service-business .block-list p {
	padding: 0 3px;
	font-size: 1.5rem;
	letter-spacing: 0.08em;
	text-align: justify;
}

.service-business .btn-wrap { display: flex; justify-content: space-between; margin: -10px auto 0; }
.service-business .btn-wrap .btn-link { width: 49%; }
.service-business .btn-wrap .btn-link:first-of-type:last-of-type { width: 100%; }
.service-business .btn-wrap:has( .btn-link + .btn-link + .btn-link) .btn-link { width: 32%; }
.service-business .btn-wrap:has( .btn-link + .btn-link + .btn-link) .btn-link a { display: flex; text-align: left; }
.service-business .btn-wrap:has( .btn-link + .btn-link + .btn-link) .btn-link a i { min-width: 27px; margin-top: -2px; }
.service-business .btn-wrap a { font-size: 1.3rem; }

.service-business blockquote { margin: 40px auto 0; padding: 28px 30px 24px; }
.service-business blockquote dl > div { margin-bottom: 40px; }
.service-business blockquote dl > div:last-of-type { margin-bottom: 0; }

.service-business blockquote dt {
	margin-bottom: 10px;
	font-size: 1.5rem;
	line-height: 1.7;
	letter-spacing: 0.1em;
	text-align: left;
}

.service-business blockquote dd,
.service-business blockquote dd p { font-size: 1.3rem; text-align: justify; }

/* .service-detail
------------------------------------*/
.service-detail {
	position: relative;
	width: 100%;
	margin-bottom: 80px;
	padding: 20px 0 0;
}

.service-detail:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background-color: var(--color-border-beige);
	width: 100%;
	height: 2px;
}

.service-detail .sec-inner { margin: 0 auto; }

.service-detail .lead {
	position: relative;
	margin-bottom: 60px;
	padding-left: 16px;
}

.service-detail .lead h2 {
	margin-bottom: 50px;
	font-size: 1.7rem;
	line-height: 1.5;
	letter-spacing: 0.12em;
}

.service-detail .lead > .inner { padding-right: 10%; padding-left: 5%; }
.service-detail .lead > .inner:not(:last-of-type) { margin-bottom: 35px; }
.service-detail .lead > .inner:not(:has(h3)) { margin-bottom: 60px !important; }

.service-detail .lead h3 {
	margin-bottom: 13px;
	color: var(--color-green);
	font-weight: 600;
	font-size: 1.5rem;
	line-height: 1.7;
	letter-spacing: 0.12em;
}

.service-detail .lead h3 span {
	padding-left: 2px;
	font-size: 1.3rem;
	letter-spacing: 0.1em;
}

.service-detail .lead .inner > div { padding-left: 15px; }
.service-detail .lead .inner > div + div { margin-top: 20px; }
.service-detail .lead p { letter-spacing: 0.06em; text-align: justify; }
.service-detail .lead .inner:not(:has(h3)) p { font-size: 1.4rem; }
.service-detail .lead .dot-list { margin-left: 5px; }
.service-detail .lead .inner > div .dot-list:first-child { margin-top: 20px; }
.service-detail .lead .dot-list li { margin-bottom: 10px; }
.service-detail .lead .dot-list li:before,
.service-use .dot-list li:before { top: 1.1rem; }
.service-detail .lead .btn-link-s { display: inline-block; margin: 0 8px 14px 0; }

.service-detail .lead .box {
	border-radius: 10px;
	margin-top: 26px !important;
	margin-bottom: 50px;
	padding: 26px 30px 24px !important;
}

.service-detail .lead .box dl > div { margin-bottom: 20px; }
.service-detail .lead .box dl > div:last-of-type { margin-bottom: 0; }
.service-detail .lead .box.catalog dt,
.service-detail .lead .box.catalog dd p,
.service-detail .lead .box.catalog .attention-list { margin-left: 85px; }

.service-detail .lead .box dt {
	margin-bottom: 8px;
	color: var(--color-red-txt);
	font-weight: 600;
	font-size: 1.5rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.service-detail .lead .box dd,
.service-detail .lead .box dd p {
	font-size: 1.4rem;
	line-height: 1.85;
	letter-spacing: 0.08em;
}

.service-detail .lead .box dd p { margin-bottom: 4px; }
.service-detail .lead .box .attention-list { margin-top: 6px; }

.service-detail .lead .box .attention-list li {
	margin-bottom: 5px;
	padding-left: 1.5rem;
	font-size: 1.3rem;
	line-height: 1.8;
	letter-spacing: 0.04em;
}

/* .facility
------------------------------------*/
.service-detail .lead .facility:not(:first-child) { margin-top: 60px; margin-bottom: 90px; }

.service-detail .lead .facility .inner {
	border-top: 1px solid var(--color-border-beige-dark);
	margin-bottom: 40px;
	padding: 25px 0 0 5px;
}

.service-detail .lead .facility-name { padding-left: 0 !important; }

.service-detail .lead .facility-name h3 {
	margin-bottom: 12px;
	font-size: 1.7rem;
	letter-spacing: 0.12em;
}

.service-detail .lead .facility-name .tel,
.service-detail .lead .facility-name address {
	font-size: 1.4rem;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.service-detail .lead .facility-name .tel { margin-bottom: 4px; }
.service-detail .lead .facility-name .tel a {
	color: var(--color-text);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

.service-detail .lead .facility-office-list { margin: 24px 0 0 !important; padding-left: 0 !important; }
.service-detail .lead .facility-office-list li:not(:last-of-type) { margin-bottom: 6px; }

.service-detail .lead .facility-office-list li a {
	display: inline-block;
	position: relative;
	padding: 0 0 4px 26px;
	font-size: 1.4rem;
	line-height: 1.6;
	letter-spacing: 0.06em;
	text-decoration: underline;
	text-underline-offset: 0.1em;
}

.service-detail .lead .facility-office-list li a:before {
	display: block;
	content: '';
	position: absolute;
	top: 3px;
	left: 0;
	background: url(img/share/ico-arrow-btn-red2.svg) no-repeat left top / 100% auto;
	width: 17px;
	height: 17px;
}

/* .box.catalog
------------------------------------*/
.service-detail .lead .box.catalog {
	position: relative;
	margin: 40px 5% 0 0 !important;
	padding: 30px 30px 24px !important;
}

.catalog-list { margin-top: 25px; }

.catalog-list figure {
	position: absolute;
	top: 30px;
	left: 30px;
	width: 65px;
}

.catalog-list-inner h4 {
	margin: 0 0 9px -1px;
	font-size: 1.4rem;
	letter-spacing: 0.12em;
}

.catalog-list-inner li {
	background: url(img/share/ico-arrow-btn-red2.svg) no-repeat left top 5px / 16px auto;
	margin-bottom: 3px;
	padding: 0 0 0 23px;
}

.catalog-list-inner li a {
	display: inline-block;
	padding: 2px 0 4px;
	font-size: 1.4rem;
	line-height: 1.6;
	text-decoration: underline;
	text-underline-offset: 0.1em;
}

.catalog-list-inner li:nth-child(even) a { padding-right: 0; }

/* .service-office-list
------------------------------------*/
.service-office-list {
	position: relative;
	background-color: #FFFFFF;
	padding: 50px 7%;
}

.service-office-list-head { position: relative; }

.service-office-list h1 {
	margin-bottom: 13px;
	font-size: 1.4rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.service-office-list h1 em {
	display: block;
	margin-bottom: 7px;
	font-family: var(--font-gothic);
	font-size: 1.3rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.service-office-list h1 strong,
.service-office-list h2 {
	margin: 0 0 30px;
	font-weight: 400;
	font-size: 2rem;
	letter-spacing: 0.12em;
}

.service-office-list h2 {
	margin-bottom: 55px;
}

.service-office-list .btn-office-list-sort {
	position: absolute;
	bottom: 2px;
	right: 0;
	max-width: 46%;
}

.service-office-list .service-office-list-head .btn-office-list-sort {
	position: relative;
	max-width: 100%;
	margin: -26px 0 45px;
}

.service-office-list .dropdown-btn-color {
	border-radius: 4px;
	padding: 14px 14px;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
	text-align: center;
}

.service-office-list .dropdown-btn-color:before { display: none; }

.service-office-list-link { margin: -30px 0 60px; }
.service-office-list-link p { letter-spacing: 0.08em; text-align: justify; }
.service-office-list-link p br { display: none; }

.service-office-list-link div:has(a.line) { margin-top: 20px; }

.service-office-list-link a {
	display: inline-block;
	position: relative;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
}

.service-office-list-link a.blank { padding-left: 27px; }

.service-office-list-link a.blank:before {
	display: block;
	content: '';
	position: absolute;
	top: 1px;
	left: 1px;
	background: url(img/share/ico-blank.svg) no-repeat left top / 100% auto;
	width: 16px;
	height: 12px;
}

.service-office-list dl > div { margin-top: -70px; padding-top: 70px; }
.service-office-list dl > div:not(:last-of-type) { margin-bottom: 50px; }

.service-office-list dt {
	display: flex;
	justify-content: space-between;
	margin: 0 0 10px 1px;
	color: var(--color-red-txt);
	font-size: 1.6rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
	font-weight: 600;
}

.service-office-list dt h3 {
	padding-right: 40px;
	color: var(--color-red-txt);
	font-size: 1.5rem;
	letter-spacing: 0.1em;
}

.service-office-list dt p {
	color: var(--color-black);
	font-size: 1.2rem;
	transform: translateY(2px);
}

.service-office-list dd { border-top: 1px solid var(--color-border-beige-dark); }
.service-office-list dd li { border-bottom: 1px solid var(--color-border-beige-dark); }

.service-office-list dd li a,
.office-search-result .result-list a {
	display: block;
	background: url(img/share/ico-arrow-btn-red2.svg) no-repeat left 1px top 22px / 16px auto;
	padding: 17px 0 17px 27px;
}

.service-office-list dd li strong {
	display: block;
	font-size: 1.5rem;
	line-height: 1.65;
	letter-spacing: 0.08em;
}

.service-office-list dd li .address,
.office-search-result .result-list .address {
	padding-top: 6px;
	font-weight: 500;
	font-size: 1.4rem;
	line-height: 1.4;
	letter-spacing: 0.08em;
}

.service-office-list dd li .label { display: block; margin: 14px 0 0 -1px; }
.service-office-list dd li .label:empty { margin-top: 2px; }

.service-office-list dd li .label span,
.office-search-result .result-list .label span {
	display: inline-block;
	background-color: var(--color-text);
	border-radius: 3px;
	margin: 0 5px 6px 0;
	padding: 5px 6px 5px 7px;
	color: #FFFFFF;
	font-weight: 600;
	font-size: 1.2rem;
	letter-spacing: 0.08em;
}

_::-webkit-full-page-media, _:future, :root .service-office-list dd li .label span {
	padding-top: 6px;
	padding-bottom: 4px;
}

_::-webkit-full-page-media, _:future, :root .service-office-list dd li .label span,
_::-webkit-full-page-media, _:future, :root .office-search-result .result-list .label span {
	padding-top: 5px;
}

/* .service-use
------------------------------------*/
.service-use .inner {
	position: relative;
	padding: 20px 0 50px;
	text-align: justify;
}

.service-use .inner:last-of-type { padding-bottom: 0; }

.service-use .inner:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background-color: var(--color-red);
	width: 33px;
	height: 3px;
	z-index: 1;
}

.service-use .inner:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background-color: var(--color-border-beige);
	width: 100%;
	height: 3px;
	z-index: 0;
}

.service-use h3 {
	margin-bottom: 30px;
	font-size: 1.6rem;
	line-height: 1.75;
	letter-spacing: 0.12em;
}

.service-use .inner-s:not(:last-of-type) { margin-bottom: 40px; }
.service-use .inner-s:not(:last-of-type):has(.num-list) { margin-bottom: 45px; }

.service-use .inner-s h4 {
	margin: 0 0 26px;
	color: var(--color-green);
	font-size: 1.5rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.service-use .inner-s h4:has(+ .dot-list) { margin-bottom: 16px; }
.service-use .inner-s h4:has(+ .num-list) { margin-bottom: -8px; }
.service-use .inner-s:has(>p) h4 { margin-bottom: 16px; }

.service-use .num-list,
.service-use .faq-list { margin: -3px 0 0; }

.service-use .num-list:not(:first-child) { margin-top: 40px; }
.service-use .inner-s .num-list:not(:first-child) { margin-top: 25px; }

.service-use .num-list li {
	position: relative;
	margin-bottom: 10px;
	padding-left: 36px;
}

.service-use .num-list li:last-of-type { margin-bottom: 0; }

.service-detail .lead .dot-list li,
.service-detail .lead .dot-list li p,
.service-use p,
.service-use .num-list li,
.service-use .num-list li p {
	font-size: 1.4rem;
	line-height: 1.9;
	letter-spacing: 0.08em;
}

.service-use .dot-list li { margin-left: 6px; margin-bottom: 4px; line-height: 1.7; }
.service-use .num-list li:before { display: none; }
.service-use .dot-list li p { letter-spacing: 0.06em; }
.service-use .num-list li p { margin-bottom: 10px; letter-spacing: 0.06em; }

.service-use .num-list li i {
	display: block;
	position: absolute;
	top: 1px;
	left: 0;
	background-color: var(--color-red);
	border-radius: 50%;
	width: 23px;
	height: 23px;
	padding-left: 1px;
	color: #FFFFFF;
	font-family: var(--font-sans);
	font-size: 1.4rem;
	font-weight: 600;
	text-align: center;
	line-height: 1.6;
}

.service-use .attention-list { margin: 12px 0 0; }
.service-use p + .attention-list { margin-top: 0; }
.service-use .inner-s + .inner-s + .attention-list { margin-top: 36px; }
.service-use .attention-list li { margin-bottom: 6px; font-size: 1.3rem; }
.service-use .faq-list { padding: 0; }

/* .service-blog
------------------------------------*/
.service-blog {
	background-color: #FFFFFF;
	border-radius: 15px;
	margin: 65px auto 0;
	padding: 45px 5% 35px;
}

.service-blog + .service-blog { margin-top: 45px; }

.service-blog > h2 {
	margin: 0 8px 25px;
	font-weight: 400;
	font-size: 1.7rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.service-blog .blog-list { padding: 0; }
.service-blog .blog-list .service { display: none; }
.service-blog .btn-wrap { margin-top: 35px; }


/* .faq-list
------------------------------------*/
.faq-list { position: relative; border-bottom: 1px solid var(--color-border-beige); }
.faq-list dt { border-top: 1px solid var(--color-border-beige); }

.faq-list dt button {
	position: relative;
	width: 100%;
	padding: 14px 50px 13px 3.6rem;
	font-size: 1.5rem;
	line-height: 1.7;
	letter-spacing: 0.08em;
	text-align: left;
}

.faq-list dt i.q,
.faq-list dt i.q-on {
	display: block;
	position: absolute;
	top: 1rem;
	left: 1px;
	width: 2.6rem;
	height: 2.6rem;
	padding-left: 0.2rem;
	color: var(--color-red-txt);
	font-family: var(--font-sans);
	font-size: 1.8rem;
	letter-spacing: 0;
	text-align: center;
	transition: .3s var(--easeOutQuint);
}

.faq-list dt i.q-on {
	top: 1.4rem;
	left: 0;
	background-color: var(--color-red);
	border-radius: 50%;
	padding-top: 0.4rem;
	color: #FFFFFF;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1;
	transform-origin: center center;
	transform: scale(0.8);
	opacity: 0;
}

.faq-list dt.active i.q { opacity: 0; }
.faq-list dt.active i.q-on { opacity: 1; transform: scale(1); }

.faq-list dt i.arrow {
	position: absolute;
	top: 14px;
	right: 10px;
	background: url(img/share/ico-arrow-down-yellow.svg) no-repeat left top / 100% auto;
	width: 23px;
	height: 23px;
	transition: .4s var(--easeOutQuint);
	transform: rotate(0deg);
}

.faq-list dt.active i.arrow { transform: rotate(180deg); }

.faq-list dd {
	display: none;
	padding: 0 0 35px;
	text-align: justify;
}

.faq-list .dd-inner {
	position: relative;
	background-color: #FFFFFF;
	border-radius: 9px;
	margin-top: 12px;
	padding: 22px 24px 20px;
}

.faq-list .dd-inner:before {
	display: block;
	content: '';
	position: absolute;
	top: -13px;
	left: 4rem;
	background-color: #FFFFFF;
	width: 12px;
	height: 15px;
	clip-path: polygon(50% 0, 0% 100%, 100% 100%);
}

.faq-list dd p {
	font-size: 1.4rem;
	line-height: 1.9;
	letter-spacing: 0.08em;
}

.faq-list dd img { display: block; max-width: 100%; margin: 25px 0; }
.faq-list dd .faq-link { margin-top: 18px; }
.faq-list dd .faq-link li { display: inline-block; margin: 0 6px 10px 0; text-align: left; }
.faq-list dd .faq-link li a { display: inline-block; text-align: left; }

/* .service-other
------------------------------------*/
.service-other { width: 100%; margin-top: 80px; }
.service-other .slider-loop .inner { padding-right: 1px; }
.service-other .sec-inner { background-color: var(--color-bg-beige); padding: 50px 7% 40px; }
.service-other .sec-inner + .sec-inner { padding-top: 15px; }

.service-other .sec-inner h2 {
	margin-bottom: 20px;
	font-weight: 600;
	font-size: 1.6rem;
	letter-spacing: 0.12em;
}

.service-other .sec-inner h2,
.service-other .sec-inner p { padding: 0 5px; }
.service-other .sec-inner p { letter-spacing: 0.08em; text-align: justify; }

.service-other nav { margin-top: 30px; }
.service-other nav li:not(:last-of-type) { margin-bottom: 10px; }

.service-other nav li a {
	display: block;
	background: #FFFFFF url(img/share/ico-arrow-btn-l.svg) no-repeat left 16px top calc(1.4rem + 3px) / 24px auto;
	padding: 17px 18px 17px 54px;
	font-size: 1.5rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.service-other nav li.current a {
	background-color: var(--color-red);
	background-image: url(img/share/ico-arrow-btn-l-white.svg);
	background-size: 27px auto;
	color: #FFFFFF;
}


/* page office
---------------------------------------------------------------------------*/
#officeContents.archive { padding-top: 95px; }

/* .office-list-nav
------------------------------------*/
.office-list-title { position: relative; margin-bottom: 50px; }


/* page office single
---------------------------------------------------------------------------*/
.office-section-title {
	margin: 0 0 30px;
	font-size: 1.7rem;
	letter-spacing: 0.12em;
}

/* .office-sns
------------------------------------*/
.office-sns {
	display: flex;
	align-items: center;
	white-space: nowrap;
	margin-top: 12px;
}

.office-sns .txt {
	display: inline-block;
	position: relative;
	border-bottom: 1px solid var(--color-text);
	margin: 0 10px 0 2px;
	padding: 0 0 2px;
	font-size: 1.3rem;
	letter-spacing: 0.08em;
	transform: translateY(2px);
}

.office-sns ul { display: flex; }
.office-sns li a { display: block; padding: 5px; }
.office-sns li img { width: 24px; }

/* .office-single
------------------------------------*/
.office-single { position: relative; }
.office-single .service-other { margin-top: 100px; }

/* .office-img
------------------------------------*/
.office-img { margin-bottom: 42px; }

/* .office-lead
------------------------------------*/
.office-lead {
	margin-bottom: 85px;
	padding: 0 10%;
	word-break: break-all;
}

.service-business .lead h2,
.office-lead .txt h2 {
	margin-bottom: 20px;
	font-size: 1.7rem;
	line-height: 1.85;
	letter-spacing: 0.16em;
}

.office-lead .txt h2 br,
.office-lead .txt p br { display: none; }
.office-lead .txt p { letter-spacing: 0.1em; text-align: justify; }

.office-lead .manager {
	position: relative;
	background-color: #FFFFFF;
	border-radius: 0 0 4px 4px;
	width: 100%;
	min-height: 95px;
	margin-top: 85px;
	padding: 35px 20px 20px 120px;
}

.office-lead .manager:before {
	display: block;
	content: '';
	position: absolute;
	top: -46px;
	left: 50%;
	transform: translateX(-50%);
	background: url(img/share/pic-roof-line-red_sp@2x.png) no-repeat center top / 100% 46px;
	width: calc(100% + 28px);
	height: 88px;
	z-index: 1;
}

.office-lead .manager:after {
	display: block;
	content: '';
	position: absolute;
	top: -46px;
	left: 0;
	background-color: #FFFFFF;
	width: 100%;
	height: 46px;
	clip-path: polygon(50% 0, 0% 100%, 100% 100%);
}

.office-lead .manager figure {
	position: absolute;
	top: 4px;
	left: 23px;
	width: 75px;
	height: 75px;
	z-index: 2;
}

.office-lead .manager figcaption {
	position: absolute;
	top: 4px;
	left: 96px;
	color: var(--color-red-txt);
	font-size: 1.3rem;
	letter-spacing: 0.13em;
	white-space: nowrap;
}

.office-lead .manager figure img {
	border-radius: 50%;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.office-lead .manager h3 {
	font-size: 1.7rem;
	letter-spacing: 0.1em;
}

.office-lead .manager p {
	margin-top: 11px;
	font-size: 1.3rem;
	line-height: 1.75;
	letter-spacing: 0.06em;
	text-align: justify;
}

/* .office-blog
------------------------------------*/
.office-blog { margin-bottom: 80px; padding: 0 7%; }
.office-blog > h2 { margin-bottom: 26px; }

.office-blog .blog-list {
	width: 100%;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px 20px;
}

.office-blog .blog-list article { width: 100%; margin: 0; }
.office-blog .blog-list figure { padding-bottom: 100%; }
.office-blog .blog-list .time { color: var(--color-red-txt); }

.office-blog .blog-list h3 {
	margin-top: 7px;
	font-size: 1.3rem;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.office-blog .blog-list h3 img { display: none; }

.office-blog > .btn-link { margin-top: 25px; }
.office-blog > .btn-link a { letter-spacing: 0.1em; }

/* .office-column
------------------------------------*/
.office-column { margin-bottom: 80px; word-break: break-all; }
.office-lead + .office-column .column1:not(:has(figure)) { margin-top: -40px; }
.office-lead + .office-column .column1:not(:has(figure)) + .column1:not(:has(figure)) { margin-top: 40px; }
.office-lead + .office-column .column1:not(:has(figure)) > div { padding-right: 10%; padding-left: 10%; }
.office-column .column1:not(:first-child),
.office-column .column2:not(:first-child),
.office-column .column3:not(:first-child) { margin-top: 40px; }
.office-column .column2 figure img,
.office-column .column3 figure img { border-radius: 4px; }
.office-column .column1 figure { margin-bottom: 25px; }
.office-column .column1 > div { padding: 0 7%; }

.office-column .column1 h3 {
	margin-bottom: 14px;
	font-size: 1.6rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.office-column .column1 p {
	font-size: 1.4rem;
	letter-spacing: 0.08em;
	text-align: justify;
}

.office-lead + .office-column .column1:not(:has(figure)) p {
	font-size: 1.5rem;
	letter-spacing: 0.1em;
}

.office-column .column2,
.office-column .column3 { padding: 0 10%; }
.office-column .column2 .inner,
.office-column .column3 .inner { margin-bottom: 35px; }

.office-column .column2 figure,
.office-column .column3 figure {
	position: relative;
  overflow: hidden;
  width: 100%;
  height: 0;
  padding-bottom: 71%;
	margin-bottom: 22px;
}

.office-column .column3 figure {
	width: 75%;
	margin-right: auto;
	margin-left: auto;
	padding-bottom: calc(71% * 0.75);
}

.office-column .column2 figure img,
.office-column .column3 figure img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.office-column .column2 h3,
.office-column .column3 h3 {
	margin-bottom: 13px;
	font-size: 1.5rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
	text-align: center;
}

.office-column .column2 p,
.office-column .column3 p {
	line-height: 1.95;
	letter-spacing: 0.08em;
	text-align: justify;
}

/* .office-gallery
------------------------------------*/
.office-gallery {
	margin-top: -10px;
	margin-bottom: 80px;
	padding: 0 3.5%;
}

.office-gallery-img {
	overflow: hidden;
	border-radius: 6px;
	width: 100%;
	margin-bottom: 3%;
}

.office-gallery-img,
.office-gallery-img .slick-list,
.office-gallery-img .slick-track,
.office-gallery-img .inner { width: 100% !important; }

.office-gallery-img .inner {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	height: 0;
	padding-bottom: 66%;
}

.office-gallery-img .inner:first-of-type { position: relative !important; }
.office-gallery-thumb .slick-track:before,
.office-gallery-thumb .slick-track:after { display: none !important;　}

.office-gallery-thumb .slick-track {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	gap: 6px 6px;
	width: 100% !important;
	transform: none !important;
}

.office-gallery-thumb .inner {
	position: relative;
  overflow: hidden;
	border-radius: 4px;
	width: 100% !important;
	height: 0 !important;
  padding-bottom: calc(100% * 0.72) !important;
}

.office-gallery-thumb .inner.slick-current:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	border: 3px solid var(--color-yellow-light);
	width: 100%;
	height: 100%;
	z-index: 1;
}

.office-gallery-img .inner img,
.office-gallery-thumb .inner img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

/* .office-voice
------------------------------------*/
.office-voice {
	margin-bottom: 80px;
	padding: 0 7%;
	word-break: break-all;
}

.office-voice-list .inner {
	position: relative;
	background-color: #FFFFFF;
	border-image: url(img/share/border-dot-radius.svg) 20 round;
	border-style: solid;
	border-width: 17px;
	border-radius: 17px;
	margin-bottom: 20px;
	padding: 0px 4px 0px;
	font-size: 1.4rem;
	line-height: 1.8;
	letter-spacing: 0.06em;
	text-align: justify;
}

.office-voice-list .inner:after {
	display: block;
	content: '';
	position: absolute;
	bottom: -26px;
	left: 22.5px;
	background: url(img/share/pic-fukidashi-dot.svg) no-repeat;
	width: 26px;
	height: 11px;
}

/* .office-event
------------------------------------*/
.office-event { margin-bottom: 80px; padding: 0 3.5%; }
.office-event .office-section-title { margin-left: 4%; margin-bottom: 25px; }
.office-event-calendar { background-color: #FFFFFF; padding: 10px; }
.office-event-calendar > div { position: relative; }

.office-event-calendar > div:before,
.office-event-calendar > div:after,
.office-event-calendar dl > div:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background: url(img/share/line-dot-v.svg) repeat-y;
	width: 1px;
	height: 100%;
}

.office-event-calendar > div:after,
.office-event-calendar dl > div:after { left: inherit; right: 0; }
.office-event-calendar dl > div:last-of-type:after { display: none; }
.office-event-calendar dl { position: relative; display: flex; justify-content: space-between; }

.office-event-calendar dl:first-of-type:before,
.office-event-calendar dl:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background: url(img/share/line-dot-black.svg) repeat-x left top;
	width: 100%;
	height: 1px;
	opacity: 0.7;
}

.office-event-calendar dl:after { top: inherit; bottom: 0; }
.office-event-calendar dl > div { display: flex; position: relative; width: calc(100% / 3); }

.office-event-calendar dl > div:before {
	display: block;
	content: '';
	position: absolute;
	bottom: -3px;
	right: -3px;
	background-color: #FFFFFF;
	width: 7px;
	height: 7px;
	z-index: 2;
}

.office-event-calendar dt {
	position: absolute;
	top: 10px;
	right: 11px;
	color: var(--color-red-txt);
	font-family: var(--font-sans);
	font-size: 2.4rem;
	font-weight: 300;
	white-space: nowrap;
}

.office-event-calendar dd {
	display: flex;
	align-items: flex-end;
	margin-top: auto;
	padding: 5.2rem 7px 14px 9px;
	font-size: 1.2rem;
	line-height: 1.65;
	letter-spacing: 0.04em;
}

.office-event .attention-list { margin: 22px 2% 0 4%; }
.office-event .attention-list li { margin-bottom: 6px; }

/* .office-schedule
------------------------------------*/
.office-schedule { margin-bottom: 80px; padding: 0 7%; word-break: break-all; }
.office-schedule h2 { margin-bottom: 10px; }
.office-schedule h2 + p { font-size: 1.2rem; }

.office-schedule-list {
	position: relative;
	margin-top: 35px;
	padding-left: 35px;
}

.office-schedule-list:before {
	display: block;
	content: '';
	position: absolute;
	top: 5px;
	left: 13px;
	background: url(img/share/line-dot-v.svg) repeat-y;
	width: 1px;
	height: calc(100% - 15px);
	z-index: 1;
}

.office-schedule-list .inner { position: relative; margin-bottom: 40px; }
.office-schedule-list .inner:last-of-type { margin-bottom: 0; }
.office-schedule-list .inner .txt { padding-top: 3rem; }
.office-schedule-list .inner:not(:has(figure)) .txt { padding-right: 30px; }

.office-schedule-list .inner .time {
	display: block;
	position: absolute;
	top: 3px;
	left: -29px;
	padding-left: 30px;
	color: var(--color-red-txt);
	font-family: var(--font-sans);
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-align: right;
	white-space: nowrap;
	z-index: 2;
}

.office-schedule-list .inner .time:before {
	display: block;
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	border-radius: 50%;
	background-color: #FFFFFF;
	border: 3px solid var(--color-red);
	width: 14px;
	height: 14px;
}

.office-schedule-list .inner h3 {
	position: relative;
	margin-bottom: 2.6rem;
	font-size: 1.6rem;
	letter-spacing: 0.14em;
}

.office-schedule-list .inner p {
	font-size: 1.3rem;
	line-height: 1.9;
	letter-spacing: 0.06em;
	text-align: justify;
}

.office-schedule-list .inner figure { margin-bottom: 20px; }
.office-schedule-list .inner figure img { width: 100%; }
.office-schedule .attention-list { margin: 35px 0 0 6px; }
.office-schedule .attention-list li { margin-bottom: 6px; }

/* .office-outline
------------------------------------*/
.office-outline { margin-bottom: 20px; word-break: break-all; }

.office-outline .map {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 100vw;
	margin-bottom: 50px;
}

.office-outline .map iframe { width: 100%; height: 100%; }

.office-outline .btn-line {
	position: absolute;
	bottom: 13px;
	left: 62px;
	z-index: 2;
}

.office-outline .btn-line a {
	background-color: var(--color-red);
	border: none;
	padding: 13px 17px 12px 40px;
	color: #FFFFFF;
	font-weight: 600;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
}

.office-outline .btn-line a:before {
	display: block;
	content: '';
	position: absolute;
	top: 13px;
	left: 17px;
	background: url(img/share/ico-blank.svg) no-repeat left top / 100% auto;
	width: 16px;
	height: 13px;
	filter: saturate(0%) brightness(600%) contrast(600%);
}

.office-outline .outline { position: relative; padding: 0 7%; }

.office-outline .outline-txt dl {
	border-top: 1px solid var(--color-border-beige-dark);
	border-bottom: 1px solid var(--color-border-beige-dark);
}

.office-outline .outline-txt dl > div {
	border-bottom: 1px solid var(--color-border-beige-dark);
	padding: 10px 5px 20px 5px;
}

.office-outline .outline-txt dl > div:last-of-type { border-bottom: none; }

.office-outline .outline-txt dt,
.office-outline .outline-txt dd,
.office-outline .outline-txt dd p {
	font-size: 1.4rem;
	line-height: 1.7;
	letter-spacing: 0.08em;
}

.office-outline .outline-txt dt { margin-bottom: 10px; }
.office-outline .outline-txt dd { padding-left: 25px; }
.office-outline .outline-txt dd span { display: block; }
.office-outline .outline-txt dd a { text-decoration: underline; text-underline-offset: 0.15em; }

.office-outline .outline-txt dd a[target="_blank"] {
	padding-right: 4px;
	padding-left: 23px;
	background: url(img/share/ico-blank.svg) no-repeat left 4px top 2px / 15px auto;
}

.office-outline .outline-txt dd .btn-link-arrow-red { margin: 5px 0 0; }
.office-outline .outline-txt dd .btn-link-arrow-red a { background-position: left top 0.55rem; text-decoration: none; }
.office-outline .outline-txt dd .btn-link-arrow-red a span { font-size: 1.4rem; }
.office-outline .outline-link { margin-top: 30px; }
.office-outline .outline-link .btn-link:not(:last-of-type) { margin-bottom: 12px; }
.office-outline .outline-link-sub { margin: 30px 0 0 5px; }
.office-outline .outline-link-sub li { margin-bottom: 3px; }

/* .office-aside
------------------------------------*/
.office-aside {
	position: relative;
	width: 86%;
	margin: 80px auto -20px;
}

.office-aside-inner {
	position: relative;
	background-color: #FFFFFF;
	border-radius: 8px;
	padding: 38px 17px 17px;
}

.office-aside-inner:not(:last-of-type) { margin-bottom: 20px; }

.office-aside-inner:before {
	display: block;
	content: '';
	position: absolute;
	top: 9px;
	left: 50%;
	transform: translateX(-50%);
	background-color: var(--color-red);
	border-radius: 3px;
	width: calc(100% - 18px);
	height: 4px;
}

.office-aside h2 {
	margin-bottom: 26px;
	font-size: 1.5rem;
	line-height: 1.75;
	letter-spacing: 0.1em;
	text-align: center;
}

.office-aside h2 br { display: none; }
.office-aside h2 i + br { display: block; }
.office-aside h2 i { padding: 0 2px; opacity: 0.7; }
.office-aside-list { position: relative; }
.office-aside-list article { position: relative; padding: 16px 6px 21px 12px; z-index: 1; }

.office-aside-list article.current:before {
	display: block;
	content: '';
	position: absolute;
	top: 4px;
	left: 0;
	background-color: #FFF8E0;
	border-radius: 3px;
	width: 100%;
	height: calc(100% - 9px);
	z-index: -1;
}

.office-aside-list:before,
.office-aside-list article:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background: url(img/share/line-dot-black.svg) repeat-x left top;
	width: 100%;
	height: 1px;
	opacity: 0.7;
}

.office-aside-list:before { top: 0; }

.office-aside-list article h3 {
	font-size: 1.5rem;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

.office-aside-list article address {
	display: block;
	margin-top: 7px;
	color: var(--color-red-txt);
	font-size: 1.3rem;
	letter-spacing: 0.1em;
}

.office-aside .office-aside-list .btn-link { margin-top: 32px; }
.office-aside .btn-link:not(:last-child) { margin-bottom: 10px; }


/* page faq
---------------------------------------------------------------------------*/
#faqContents .header-page { margin-bottom: 5rem; }

/* .faq-inner
------------------------------------*/
.faq-inner .inner { margin-top: -25px; padding-top: 18px; }
.faq-inner .inner:not(:last-of-type) { margin-bottom: 8rem; }

.faq-inner .inner > h3 {
	margin-bottom: -30px;
	padding: 15px 7% 15px;
	font-size: 1.6rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.faq-inner .inner > h4 {
	margin: -15px 0 15px 4px;
	padding-top: 75px;
	font-size: 1.5rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.faq-inner .inner > h4,
.faq-list { padding-right: 7%; padding-left: 7%; }


/* page contact
---------------------------------------------------------------------------*/
#contactContents .title-page-center { margin-bottom: 4.5rem; }

/* .tel-fukushi
------------------------------------*/
.tel-fukushi {
	position: relative;
	border-radius: 20px;
	margin: 0 auto 65px;
	padding: 55px 11% 55px;
}

.tel-fukushi h2 {
	margin-bottom: 24px;
	color: var(--color-green);
	font-size: 2.2rem;
	line-height: 1.65;
	letter-spacing: 0.2em;
}

.tel-fukushi p { letter-spacing: 0.1em; text-align: justify; }
.tel-fukushi p br { display: none; }

.tel-fukushi .box {
	display: flex;
	flex-wrap: wrap;
	background-color: #FFFFFF;
	border-radius: 8px;
	margin: 32px 0 25px;
	padding: 30px 15px 28px 25px;
}

.tel-fukushi .box h3 {
	width: 100%;
	margin-bottom: 20px;
	color: var(--color-green);
	font-weight: 600;
	font-size: 1.6rem;
	line-height: 1.75;
	letter-spacing: 0.16em;
}

.tel-fukushi .box .dot-list:not(:last-of-type) { margin-bottom: 8px; }
.tel-fukushi .box .dot-list li { padding-left: 12px; }
.tel-fukushi .box .dot-list li br { display: none; }

.tel-fukushi > .btn-link { display: block !important; }
.tel-fukushi > .btn-link a { font-size: 1.4rem; }

/* .form-wrap
------------------------------------*/
.form-wrap { padding: 0 8.5%; }
.form-wrap dl, .form-wrap dl p { line-height: 1.6; }
.form-wrap dl div { margin-bottom: 25px; }
.form-wrap dl div:last-of-type { margin-bottom: 0; padding-top: 5px; }
.form-wrap dt { margin-bottom: 8px; }
.form-wrap dt,
.form-wrap dt p { font-size: 1.5rem; letter-spacing: 0.1em; }

.form-wrap dt .must {
	display: inline-block;
	margin-left: 10px;
	color: var(--color-red-txt);
	font-weight: 600;
	font-size: 1.3rem;
	transform: translateY(-1px);
}

.form-wrap dt .attention {
	display: block;
	margin: 10px 0 18px;
	font-size: 1.2rem;
	line-height: 1.85;
	letter-spacing: 0.06em;
	text-align: justify;
}

.form-wrap dd { box-sizing: border-box; }
.form-wrap dd p { font-size: 1.2rem; 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,
.form-wrap select,
.form-wrap .btn-select .customSelect {
	display: inline-block;
	box-sizing: border-box;
	background-color: #FFFFFF;
	border: 1px solid var(--color-border-beige-dark);
	border-radius: 4px;
	width: 100%;
	min-height: 48px;
	padding: 0 15px;
	font-size: 1.6rem;
	font-family: var(--font-gothic)!important;
	letter-spacing: 0.12em;
}

.select-address { position: relative; }

.select-address:before {
	display: block;
	content: '';
	position: absolute;
	top: 21px;
	right: 17px;
	background-color: var(--color-black);
	width: 9px;
	height: 8px;
 	clip-path: polygon(0 0, 100% 0%, 50% 100%);
	z-index: 1;
	pointer-events: none;
}

.form-wrap select {
	appearance: none;
	position: relative;
	height: 48px;
	padding: 1px 40px 0 15px;
	font-family: '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'Hiragino Sans', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
	z-index: 0;
}

.form-wrap textarea { height: 280px; padding: 18px 20px; }
.wpcf7:focus { outline: none; }

/* .privacy-check
------------------------------------*/
.privacy-check { margin: 18px 0 0; }
.privacy-check p { font-size: 1.4rem; letter-spacing: 0.1em; text-align: justify; }
.privacy-check p:not(:last-of-type) { margin-bottom: 20px; }
.privacy-check .wpcf7-form-control-wrap { width: auto; }

.privacy-check .wpcf7-form-control-wrap input {
	margin-right: 20px;
	margin-left: 1px;
	transform-origin: left center;
	transform: scale(1.5) translateY(1px);
}

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

/* .btn-submit
------------------------------------*/
.btn-submit { position: relative; margin: 35px 0 0; }

.btn-submit input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: block;
	position: relative;
	background: url(img/share/bg-btn-yellow@2x.jpg) repeat left top / 1042px auto;
	box-sizing: border-box;
	border: none;
	border-radius: 8px;
	width: 100%;
	margin: 0;
	padding: 16px 28px 16px 64px;
	color: var(--color-black);
	font-size: 1.4rem;
  line-height: 1.6;
  letter-spacing: 0.12em;
	text-align: center;
	transition: .15s ease-out;
}

.btn-submit:before {
	display: block;
	content: '';
	position: absolute;
	top: 24px;
	left: 18px;
	width: 26px;
	height: 26px;
	pointer-events: none;
	z-index: 2;
	transition: .15s ease-out;
}

/* 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: 12px 0 0;
	padding: 0;
	color: var(--color-red-txt);
	font-size: 1.3rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

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

.txt-response,
.wpcf7-response-output {
	margin: 40px 0 0;
	color: var(--color-red-txt);
	font-size: 1.5rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.wpcf7-response-output:first-child { margin: -180px 0 45px; padding-top: 180px; }
.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
---------------------------------------------------------------------------*/
#privacyContents .title-page-center { margin-bottom: 7rem; }

/* .dl-privacy
------------------------------------*/
.dl-privacy { padding: 0 5.5%; }
.dl-privacy > div:not(:last-of-type) { margin-bottom: 40px; }

.dl-privacy dt {
	color: var(--color-green);
	margin-bottom: 16px;
	font-weight: 600;
	font-size: 1.5rem;
	line-height: 1.7;
	letter-spacing: 0.12em;
}

.dl-privacy dd { padding: 0 17px; }

.dl-privacy dd p,
.dl-privacy dd li,
.dl-privacy dd address {
	font-size: 1.5rem;
	letter-spacing: 0.06em;
	text-align: justify;
}

.dl-privacy dd p { margin-bottom: 0.7em; }
.dl-privacy dd p.txt-link { margin-top: 14px; }

.dl-privacy dd p a {
	font-size: 1.4rem;
	line-height: 1.7;
	letter-spacing: 0.02em;
	word-break: break-all;
}

.dl-privacy dd p a.blank { display: inline; background-position: left 5px top 0; background-size: 17px auto; }
.dl-privacy dd .dot-list { margin: 30px 0 0 1px; }
.dl-privacy dd .dot-list li { margin-bottom: 4px; line-height: 1.9; }
.dl-privacy dd .dot-list li:before { top: 0.75em; }

.dl-privacy dd address {
	position: relative;
	margin: 20px 0 20px 5px;
	padding: 0 0 0 22px;
	line-height: 1.8;
}

.dl-privacy dd address:before {
	display: block;
	content: '';
	position: absolute;
	top: 0.35em;
	left: 0;
	background-color: var(--color-text);
	border-radius: 2px;
	width: 2px;
	height: calc(100% - 0.6em);
}

.dl-privacy .dd-inner {
	margin-top: 34px;
}

.dl-privacy .dd-inner h3 {
	margin-bottom: 18px;
	font-size: 1.5rem;
	letter-spacing: 0.12em;
}

.dl-privacy .dd-inner p {
	font-size: 1.4rem;
	margin-bottom: 0.6em;
	line-height: 1.8;
}


/* page tel
---------------------------------------------------------------------------*/

/* .tel-office-list
------------------------------------*/
.tel-office-list { margin: 90px auto 0; }

.tel-office-list h2 {
	border-bottom: 1px solid var(--color-border-beige);
	margin-bottom: 30px;
	padding: 0 7% 10px;
	color: var(--color-green);
	font-size: 1.6rem;
	letter-spacing: 0.12em;
}

.tel-office-list table { display: block; padding: 0 7%; }
.tel-office-list table thead,
.tel-office-list table tbody { display: block; }
.tel-office-list tr { display: block; }
.tel-office-list tr:not(:last-of-type) { border-bottom: 1px solid var(--color-border-beige); padding: 0 0 40px; }
.tel-office-list tr:first-of-type { display: none; }
.tel-office-list tr.pb { border-bottom: none; padding-bottom: 18px; }

.tel-office-list th,
.tel-office-list td {
	display: block;
	padding: 0 0 0 10px;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.tel-office-list th {
	padding-top: 12px;
	padding-bottom: 18px;
	font-size: 1.5rem;
	line-height: 1.8;
}

.tel-office-list td { padding-bottom: 6px; padding-left: 32px; font-size: 1.5rem; }
.tel-office-list td:last-of-type { padding-right: 0; letter-spacing: 0.06em; }
.tel-office-list td.area { padding-bottom: 8px; white-space: nowrap; }
.tel-office-list td.time i { padding: 0 6px 0 8px; }
.tel-office-list td.time .num { font-size: 1.4rem; letter-spacing: 0.06em; }
.tel-office-list td span { padding-left: 0.4rem; font-size: 1.3rem; }
.tel-office-list td a { text-decoration: underline; text-underline-offset: 0.1em; }


/* .hash-tag
---------------------------------------------------------------------------*/

/* .hash-tag
------------------------------------*/
.hash-tag-bg {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	background: rgba(86,61,23,0.6);
	width: 100%;
	height: 100%;
	z-index: 119;
	opacity: 0;
}

.hash-tag {
	position: fixed;
	bottom: 0;
	left: 0;
	background: #FFFFFF;
	border-top: 0.5px solid var(--color-black);
	width: 100%;
	height: calc(100dvh - 230px);
	padding: 0 !important;
	color: var(--color-black);
	z-index: 120;
	opacity: 0;
}

.hash-tag.open { padding: 10px 0 20px !important; }

.hash-tag-close {
	display: none;
	position: absolute;
	top: -20px;
	right: 20px;
	margin: -20px;
	padding: 20px;
	cursor: pointer;
	z-index: 1;
	opacity: 0;
}

.hash-tag-close:before {
	display: block;
	content: '';
	position: absolute;
	top: 20px;
	left: 20px;
	background-color: #FFFFFF;
	border-radius: 50%;
	width: 40px;
	height: 40px;
	z-index: -1;
}

.hash-tag-close img { width: 40px; }
.hash-tag .tag-area { position: relative; padding: 20px; }

.hash-tag .tag {
	position: absolute;
	top: 0;
	left: 0;
	visibility: hidden;
	pointer-events: none;
	opacity: 0;
}

.hash-tag h2 {
	margin: 0 0 18px 2px;
	font-size: 1.4rem;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

.hash-tag .btn-edit {
	position: absolute;
	top: 6px;
	right: 8px;
	padding: 15px 10px 15px 21px;
	font-size: 1.2rem;
	letter-spacing: 0.06em;
	text-decoration: underline;
	white-space: nowrap;
	cursor: pointer;
}

.hash-tag .btn-edit i { display: block; position: absolute; top: 12px; left: 0; }

.hash-tag .btn {
	display: inline-block;
	position: relative;
	background-color: var(--color-yellow-light);
	border-radius: 4px;
	margin-right: 2px;
	padding: 11px 10px 11px 12px;
	font-size: 1.2rem;
	letter-spacing: 0.06em;
	cursor: pointer;
}

.hash-tag .btn:last-of-type { margin-right: 0; }

.hash-tag .btn i {
	display: block;
	position: absolute;
	top: -36px;
	left: 0;
	width: 100%;
	text-align: center;
	pointer-events: none;
}

.hash-tag .btn i img { display: inline-block; transform-origin: center bottom; opacity: 0; }

.hash-tag .edit-area-wrap {
	overflow-y: scroll;
	position: relative;
	width: 100% !important;
	height: 100%;
	padding: 0 20px;
}

.hash-tag .edit-area { padding: 15px 0 20px; }
.hash-tag .edit-area dl { height: 100%; }
.hash-tag .edit-area dl > div { margin-bottom: 25px; }
.hash-tag .edit-area dl > div:last-of-type { height: 120px !important; margin-bottom: 0; }

.hash-tag .edit-area dt {
	margin-bottom: 10px;
	padding: 0 0 0 2px;
	font-size: 1.2rem;
	letter-spacing: 0.12em;
	white-space: nowrap;
}

.hash-tag .edit-area dd {
	position: relative;
	border: 0.5px solid rgba(86,61,23,0.6);
	border-radius: 6px;
	width: 100%;
	height: 320px;
	padding: 16px 10px 14px 20px;
}

.hash-tag .edit-area dd.blog-copy-area2 {
	height: 140px;
	padding-top: 20px;
	padding-bottom: 20px;
}

.hash-tag .edit-area dd > div { height: 100%; }

.hash-tag .edit-area dd textarea {
	resize: none;
	border: none;
	width: 100%;
	height: 100%;
	padding: 0 25px 0 0;
	color: var(--color-black);
	font-size: 1.2rem;
	line-height: 1.9 !important;
	letter-spacing: 0.06em;
	text-align: justify;
}

.hash-tag .edit-area dd textarea:focus { outline: none; }

.hash-tag .edit-area dd textarea::-webkit-scrollbar { width: 3px; }
.hash-tag .edit-area dd textarea::-webkit-scrollbar-track { border-radius: 3px; background: none; }
.hash-tag .edit-area dd textarea::-webkit-scrollbar-thumb { border-radius: 3px; background: var(--color-black); }

.hash-tag .edit-area dd:after {
	display: block;
	content: '';
	position: absolute;
	top: 25px;
	right: 11px;
	background: rgba(0,0,0,0.2);
	width: 1px;
	height: calc(100% - 50px);
	z-index: 2;
}


/* page error
---------------------------------------------------------------------------*/
#errorContents { padding: 180px 8.5% 0; }

#errorContents section h1 {
	margin-bottom: 30px;
	font-weight: 400;
	font-size: 2.1rem;
	letter-spacing: 0.1em;
}

#errorContents section p { letter-spacing: 0.08em; text-align: justify; }
#errorContents section p br { display: none; }


/* accessibility
---------------------------------------------------------------------------*/
.skip-link {
  position: absolute;
  top: calc(-1.6rem - 25px);
  left: 0;
  background-color: var(--color-black);
  color: #FFFFFF;
	font-size: 1.4rem;
	letter-spacing: 0.12em;
  padding: 13px 13px 12px 14px;
	line-height: 1;
  text-decoration: none;
  z-index: 11000;
	opacity: 0;
}

.skip-link:focus { top: 0; opacity: 1; }