@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%; }
@media (max-width: 1239px) { body.noscroll { position: inherit; }}

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

p { font-size: 1.6rem; line-height: 2; letter-spacing: 0.12em; margin-bottom: 1em; }
p:last-child { margin-bottom: 0 !important; }
address,i { font-style: normal; }
img { max-width: none; }
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: inline-block !important; }
.wide.block { display: block !important; }
.narrow { display: none !important; }
.narrow.block { display: none !important; }

/* #loading
------------------------------------*/
#loading {
	display: block;
	opacity: 1;
	position: fixed;
	top: 50%;
	left: 50%;
	border: 2px solid var(--color-black);
	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,
.approach-wrap:after { background: url(img/share/bg-beige@2x.jpg) repeat left top / 200px auto; }
.bg-beige-dark { background: url(img/share/bg-beige-dark@2x.jpg) repeat left top / 200px auto; }

/* color
------------------------------------*/
#mnav-senior .mnav-title h2,
#seniorContents .title-message-en span,
#seniorContents .service-lead .title em,
.office-search-result .result-head .title .senior h3,
.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 { color: var(--color-service01-txt); }

#mnav-disability .mnav-title h2,
#disabilityContents .title-message-en span,
#disabilityContents .service-lead .title em,
.office-search-result .result-head .title .disability h3,
.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 { color: var(--color-service02-txt); }

#mnav-child .mnav-title h2,
#childContents .title-message-en span,
#childContents .service-lead .title em,
.office-search-result .result-head .title .child h3,
.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 { color: var(--color-service03-txt); }

#mnav-regenerate .mnav-title h2,
#regenerateContents .title-message-en span,
#regenerateContents .service-lead .title em,
.office-search-result .result-head .title .regenerate h3,
.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 { color: var(--color-service04-txt); }

#mnav-community .mnav-title h2,
#communityContents .title-message-en span,
#communityContents .service-lead .title em,
.office-search-result .result-head .title .community h3,
.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 { color: var(--color-service05-txt); }

/* link
------------------------------------*/
a { color: var(--color-black); text-decoration: none; transition: .1s ease-out; -webkit-transform: translateZ(0); }
p a { text-decoration: underline; text-decoration-thickness: 1px; 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-black); width: 100%; height: 1px; }
.line-dot, .line-dot-v { position: relative; }

.line-dot:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background: url(img/share/line-dot-black.svg) repeat-x left bottom / 5px 2px;
	width: 100%;
	height: 2px;
	opacity: 0.4;
}

.line-dot-v:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: inherit;
	right: 0;
	background: linear-gradient(to bottom, var(--color-black) 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: 1px; }

.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;
	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;
	letter-spacing: 0.1em;
}

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

/* .btn
------------------------------------*/
.btn-link a,
.btn-link-m a,
.btn-link-s a,
.btn-link-ss a {
	display: block;
	position: relative;
	background: url(img/share/bg-btn-yellow@2x.jpg) repeat left top / 1042px auto;
	border-radius: 8px;
	padding: 18px 28px 15px 30px;
	color: var(--color-black);
	font-size: 1.6rem;
	line-height: 1.6;
	letter-spacing: 0.14em;
	text-align: center;
}

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

.btn-link a i,
.btn-submit:before {
	display: block;
	content: '';
	display: inline-block;
	background: url(img/share/ico-arrow-btn-l.svg) no-repeat;
	background-size: 100% auto;
	width: 25px;
	height: 25px;
	margin: 0 12px -9px 0;
	transform: translateY(-0.2rem);
}

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

.btn-link a.blank span {
	display: inline-block;
	position: relative;
	max-width: calc(100% - 60px);
	padding-right: 30px;
	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: 18px;
	height: 15px;
}

.btn-link-m a { padding: 16px 24px 13px 26px; font-size: 1.5rem; }

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

.btn-link-s a.blank { padding-left: 46px; }

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

.btn-link-s a i { margin-bottom: -10px; }

.btn-link-ss a {
	border-radius: 4px;
	padding: 11px 20px 10px 22px;
	font-size: 1.4rem;
	letter-spacing: 0.12em;
}

.btn-link-ss a.blank { padding-left: 46px; }

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

.btn-line a {
	display: inline-block;
	background: #F9F8F3;
	border: 1px solid var(--color-black);
	border-radius: 30px;
	padding: 11px 16px 11px 18px;
	font-size: 1.5rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-align: center;
}

.btn-line-s a { padding: 9px 12px 8px 14px; }
.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.7rem / 22px auto;
	padding: 5px 5px 5px 32px;
	font-size: 1.5rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

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

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

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

.btn-link-arrow a span,
.btn-link-arrow-red span { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.1em; }
.btn-link-arrow-red span em { text-transform: capitalize; }

/* .btn-nav
------------------------------------*/
.btn-nav,
.btn-nav-close {
	position: absolute;
	top: 32px;
	right: 30px;
	background: linear-gradient(151.76deg, #5A4524 11.6%, #6B4E22 90.1%);
	border-radius: 50%;
	width: 68px;
	height: 68px;
	cursor: pointer;
	z-index: 10000;
}

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

.btn-nav > span {
	position: relative;
	width: 32px;
	height: 14px;
	margin: 0 auto;
	transition: .15s ease-out;
}

.btn-nav:hover > span { opacity: 0.7; }

.btn-nav > span span {
	position: absolute;
	left: 0;
	background-color: #FFFFFF;
	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: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%;
	min-width: 1240px;
	height: 100vh;
	z-index: 9999;
	opacity: 0;
}

.nav .inner {
	position: absolute;
	top: 0;
	right: 0;
	overflow-y: scroll;
	display: flex;
  flex-direction: column;
	height: 100%;
	padding: 100px 45px 60px 70px;
	opacity: 0;
}

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

.nav .nav-top { margin-bottom: 3rem; }
.nav .nav-top a { color: var(--color-black); font-size: 1.6rem; letter-spacing: 0.14em; }
.nav .nav-global { margin-bottom: 5rem; }
.nav .nav-global .nav-workers { display: none; }
.nav .nav-global li { margin-bottom: 0.8rem; }
.nav .nav-global li a { background: url(img/share/ico-arrow-btn-l.svg) no-repeat left top 0.3rem / 21px auto; color: var(--color-black); }
.nav .nav-global li a strong { text-decoration: none; }
.nav .bnr-workers { margin: 0 0 5.5rem -15px; }
.nav .bnr-workers a { display: block; position: relative; width: 100%; padding-bottom: 25.5%; }
.nav .bnr-workers img { display: block; position: absolute; top: 0; left: 0; width: 100%; }
.nav .nav-service { margin-bottom: 6rem; }
.nav .nav-service li:not(:last-of-type) { margin-bottom: 1.3rem; }
.nav .nav-service li a { display: inline-block; padding: 5px 10px 5px 33px; line-height: 1.6; }

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

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

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

.nav-btm { margin-top: auto; }
.nav-btm .sns,
.nav-btm .nav-link-en { display: inline-block; }
.nav-btm .nav-link-en { margin-left: 18px; transform: translateY(-10px); }
.nav-btm .nav-link-en a { font-size: 1.4rem; }
.nav-btm .sns li a { padding-right: 5px; padding-left: 5px; }
.nav-btm .sns li a img { width: 26px; filter: saturate(100%) brightness(85%) contrast(150%); }
.nav-btm .txt-link-wrap { margin-top: 2.2rem; }

.nav .logo,
.nav .btn-tel,
.nav .btn-keyword,
.nav-office-search,
.nav .footer-inner,
.nav-office-search-btn { display: none !important; }

/* .sns
------------------------------------*/
.sns ul { display: flex; margin: -5px; }
.sns li a { display: block; padding: 5px 6px 5px 5px; }


/* #wrap
---------------------------------------------------------------------------*/
#wrap { min-height: 100vh; }
#wrap, header, .office-search { min-width: 1240px; }

/* .search-fix
------------------------------------*/
.search-fix,
.tel-fix { position: fixed; right: 30px; z-index: 190; opacity: 0; }
.search-fix { top: 113px; width: 410px; }

/*.search-fix:hover,*/
.search-fix.active {
	/*z-index: 301;*/
	z-index: 20000;
}

.search-fix-btn,
.tel-fix-btn { position: absolute; top: 0; right: 0; border-radius: 50%; width: 68px; height: 68px; z-index: 1; }

.search-fix-btn {
	background: #FFE479 url(img/share/ico-search-keyword-dark.svg) no-repeat left 25px top 13px / 19px auto;
	padding-top: 27px;
	padding-left: 3px;
	font-size: 1.3rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	z-index: 3;
}

.search-fix.active .search-fix-btn {
	z-index: 2;
}

.search-fix .close {
	display: none;
	position: absolute;
	top: -14px;
	left: 36px;
	z-index: 2;
	opacity: 0;
}

.search-fix:not(.active) .close {
	display: none !important;
}

.search-fix .close img {
	position: relative;
	width: 38px;
	z-index: 1;
	transition: .1s ease-out;
}

.search-fix .close:hover img {
	filter: brightness(110%);
}

/* .gsc
------------------------------------*/
.search-fix input.gsc-input {
	position: relative;
	background: none !important;
	border-bottom: 1px solid var(--color-border) !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 34px 0 5px !important;
	line-height: 22px !important;
}

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

.search-fix .gsib_a:before {
	display: block;
	content: '';
	position: absolute;
	top: 6px;
	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: 9px;
	left: 32px;
	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: 0 !important;
	right: 0 !important;
	width: 23px !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:hover .gsc-control-searchbox-only,*/
.search-fix #___gcse_1 {
	opacity: 0;
	transition: .4s linear;
}

.search-fix.active #___gcse_1 {
	opacity: 1;
	transition: .0s var(--easeOutCubic) .0s;
}

.search-fix .gsc-control-searchbox-only {
	overflow: hidden;
	position: absolute;
	top: 0;
	right: 0;
	background-color: #FFFFFF;
	border-radius: 1000px;
	width: 0;
	height: 68px;
	padding: 16px 25px 0 30px;
	z-index: 2;
	pointer-events: none;
	transition: .4s var(--easeOutCubic);
}

.search-fix.active .gsc-control-searchbox-only {
	width: 360px;
	pointer-events: all;
	transition: .4s var(--easeOutCubic);
}

.search-fix form.gsc-search-box {
	overflow: hidden;
	margin: 0 !important;
	opacity: 0;
	transition: .1s var(--easeOutCubic);
}

.search-fix.active form.gsc-search-box {
	opacity: 1;
	transition: .4s var(--easeOutCubic);
}

.search-fix .gsc-search-button {
	display: block !important;
	position: relative;
	z-index: 2;
}

.search-fix button.gsc-search-button {
	position: relative;
	background-color: #FFE894 !important;
	border: none !important;
	border-radius: 5px !important;
	width: 60px !important;
	height: 38px !important;
	margin-left: 12px !important;
	transition: .15s ease-out;
	z-index: 2;
}

.search-fix button.gsc-search-button:hover { opacity: 0.7; }

.search-fix button.gsc-search-button:before {
	display: block;
	content: '検索';
	position: absolute;
	top: 11px;
	left: 0;
	width: 100%;
	padding-left: 3px;
	font-weight: 600;
	font-size: 16px;
	letter-spacing: 0.1em;
	line-height: 1;
	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; }

/* .tel-fix
------------------------------------*/
.tel-fix { top: 194px; }
/*.tel-fix { top: 116px; }*/
.tel-fix > a { display: block; transition: none !important; opacity: 1 !important; }
.tel-fix-btn { background-color: var(--color-green); }

.tel-fix-btn i {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	margin: 1px 0 0 1px;
}

.tel-fix-txt {
	overflow: hidden;
	position: absolute;
	top: 0;
	right: 0;
	background-color: #FFFFFF;
	box-shadow: 0 12px 12px -12px rgba(0,0,0,0.1);
	border-radius: 1000px;
	width: 0;
	height: 68px;
	font-weight: 600;
	font-size: 13px;
	line-height: 1.75;
	letter-spacing: 0.14em;
	white-space: nowrap;
	z-index: 0;
	pointer-events: none;
	opacity: 0;
	transition: .2s var(--easeInCubic);
}

.tel-fix > a:hover .tel-fix-txt,
.tel-fix > a:focus .tel-fix-txt {
	width: 252px;
	pointer-events: all;
	opacity: 1;
	transition: .3s var(--easeOutCubic);
}

.tel-fix-txt > div { padding: 13px 90px 0 28px; }
.tel-fix-txt span { transition: .15s linear; }
.tel-fix-txt:hover span { opacity: 0.7; }


/* header
---------------------------------------------------------------------------*/
header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	margin: 0;
	padding: 34px 40px 0 36px;
	z-index: 200;
	opacity: 0;
}

.header-inner { display: flex; justify-content: space-between; width: 100%; margin: 0 auto; }
.header-inner .logo { width: 235px; min-width: 235px; margin-top: 5px; }
.header-inner .logo img { width: 100%; height: auto; }

.header-nav,
.header-nav a { color: var(--color-black); }
.header-nav a { display: block; }

.header-nav {
	position: relative;
	display: flex;
	position: relative;
	background-color: #FFFFFF;
	border-radius: 50px;
	max-width: calc(100% - 380px);
	margin-right: 80px;
	margin-left: auto;
	z-index: 1000;
}

.header-nav .gnav > ul { display: flex; }

.header-nav .gnav > ul > li > a,
.header-nav .gnav > ul > li > button {
	display: block;
	position: relative;
	padding: 23px 7px 22px;
	font-weight: 600;
	font-size: min(1.5rem, 23px);
	line-height: 1.4;
	letter-spacing: 0.06em;
	z-index: 1;
	cursor: default;
}

.header-nav .gnav > ul > li.line-dot-v:after { top: 17px; height: calc(100% - 34px); }

.header-nav .gnav > ul > li:first-of-type > a,
.header-nav .gnav > ul > li:first-of-type > button { padding-right: 20px; padding-left: 30px; }
.header-nav .gnav > ul > li:nth-of-type(2) > a,
.header-nav .gnav > ul > li:nth-of-type(2) > button { padding-left: 20px; }
.header-nav .gnav > ul > li:last-of-type > a,
.header-nav .gnav > ul > li:last-of-type > button { padding-right: 34px; }

.header-nav .gnav > ul > li > a i,
.header-nav .gnav > ul > li > button i {
	display: inline-block;
	background: url(img/share/ico-arrow-down-gray.svg) no-repeat;
	width: 20px;
	height: 20px;
	margin: -7px 7px 0 0;
	transform: translateY(4.5px);
}

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

@media (min-width: 1600px) {
	header {
		padding-left: 38px;
	}
	.header-inner .logo {
    width: 242px;
    min-width: 242px;
	}
	.header-nav .gnav > ul > li > a,
	.header-nav .gnav > ul > li > button {
		padding-right: 12px;
		padding-left: 12px;
		font-size: min(1.6rem, 24px);
	}
	.header-nav .gnav > ul > li:first-of-type > a,
	.header-nav .gnav > ul > li:first-of-type > button {
		padding-right: 34px;
	}
	.header-nav .gnav > ul > li:nth-of-type(2) > a,
	.header-nav .gnav > ul > li:nth-of-type(2) > button {
		padding-left: 26px;
	}
	.header-nav .gnav > ul > li:last-of-type > a,
	.header-nav .gnav > ul > li:last-of-type > button {
		padding-right: 38px;
	}
	.header-nav .gnav > ul > li > a i,
	.header-nav .gnav > ul > li > button i {
		margin-left: 9px;
	}
}

@media (max-width: 1400px) {
	header {
		padding-right: 30px;
		padding-left: 25px;
	}
	.header-inner .logo {
		width: 200px;
		min-width: 200px;
	}
	.header-nav {
		max-width: calc(100% - 300px);
	}
	.header-nav .gnav > ul > li > a,
	.header-nav .gnav > ul > li > button {
		font-size: min(1.4rem, 22px);
	}
	.header-nav .gnav > ul > li:first-of-type > a,
	.header-nav .gnav > ul > li:first-of-type > button {
		padding-right: 16px;
		padding-left: 22px;
	}
	.header-nav .gnav > ul > li:nth-of-type(2) > a,
	.header-nav .gnav > ul > li:nth-of-type(2) > button {
		padding-left: 16px;
	}
	.header-nav .gnav > ul > li:last-of-type > a,
	.header-nav .gnav > ul > li:last-of-type > button {
		padding-right: 24px;
	}
	.header-nav .gnav > ul > li > a i,
	.header-nav .gnav > ul > li > button i {
		background-size: 100% auto;
		width: 18px;
		height: 18px;
		margin-right: 6px;
	}
	.btn-nav,
	.btn-nav-close,
	.office-search .close,
	.search-fix,
	.tel-fix {
		right: 20px !important;
	}
	.share {
		right: 31px !important;
	}
}

@media (max-width: 1240px) {
	.search-fix { left: 810px; right: inherit !important; }
	.tel-fix { left: 1220px; right: inherit !important; }
	.share { left: 1163px; right: inherit !important; }
}

@media (max-height: 1100px) {
	.header-nav .gnav > ul > li > a,
	.header-nav .gnav > ul > li > button {
		font-size: 14px !important;
	}
}

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

.nav-bg.active {
	pointer-events: inherit;
}

/* .mnav
------------------------------------*/
.btn-mnav { position: relative; z-index: 1; }

.mnav-wrap {
	position: absolute;
	top: 4.4rem;
	left: calc(50% - 375px);
	width: calc(525px + 245px);
	padding-top: 45px;
	transition: .3s var(--easeOutQuart);
	visibility: hidden;
	pointer-events: none;
	opacity: 0;
	z-index: 0;
}

#mnav-regenerate { left: inherit; right: -220px; }
#mnav-community { left: inherit; right: -55px; }
#wrap.tablet .mnav-wrap { display: none; visibility: inherit; transition: inherit; }
#wrap:not(.tablet) .btn-mnav.active .mnav-wrap { top: 5.4rem; visibility: visible; pointer-events: auto; opacity: 1; }
#wrap.tablet .btn-mnav > a { pointer-events: none; }

.mnav { position: relative; background-color: #FFFFFF; border-radius: 11px; padding: 11px 3px; }
.mnav-inner { overflow-y: scroll; max-height: calc(100vh - 12rem); padding: 30px 32px 19px; }
.mnav-inner::-webkit-scrollbar { width: 2px; }
.mnav-inner::-webkit-scrollbar-track { border-radius: 0; background: none; }
.mnav-inner::-webkit-scrollbar-thumb { border-radius: 0; background: var(--color-black); }

.mnav:before {
	display: block;
	content: '';
	position: absolute;
	top: -7px;
	left: calc(50% - 5px);
	background-color: #FFFFFF;
	border-radius: 15px;
	width: 10px;
	height: 15px;
}

#mnav-regenerate .mnav:before { left: inherit; right: 275px; }
#mnav-community .mnav:before { left: inherit; right: 135px; }
.mnav-title { display: flex; justify-content: space-between; margin-bottom: 25px; }

.mnav-title h2 {
	order: 2;
	margin-top: -4px;
	padding-left: 60px;
	font-weight: 600;
	font-size: 1.8rem;
	line-height: 1.4;
	letter-spacing: 0.16em;
	text-align: right;
}

.btn-mnav-link { order: 1; }

.btn-mnav-link a {
	display: inline-block;
	background: url(img/share/ico-arrow-btn-l.svg) no-repeat right top 0.05rem / 18px auto;
	padding: 0 30px 5px 0;
	font-size: 2.0rem;
	letter-spacing: 0.12em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.3em;
	white-space: nowrap;
}

.btn-mnav-link a,
.btn-mnav-link a span { font-weight: 600; }

.mnav ul { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 23px 20px; }
.mnav li { width: 220px; }

.mnav li a > span {
	display: block;
	margin-top: 10px;
	font-size: 1.4rem;
	line-height: 1.6;
	letter-spacing: 0.06em;
	font-weight: 600;
}

.mnav .btn-link { margin-top: 30px; }
.mnav .btn-link a { padding-top: 17px; padding-bottom: 14px; }

@media (max-height: 920px) {
	.mnav { transform-origin: center top; transform: scale(0.9); }
	.mnav-inner { max-height: calc(100vh - 110px); }
}


/* footer
---------------------------------------------------------------------------*/
footer {
	position: relative;
	width: 100%;
	margin: 100px auto 0;
	padding: 140px 0 50px 75px;
	opacity: 0;
}

footer,
footer a { color: var(--color-black); }
.footer-inner { display: flex; -webkit-box-align: end; align-items: flex-end; }

.footer-inner .copyright {
	position: absolute;
	top: 27px;
	right: 15px;
	font-size: 1rem;
	letter-spacing: 0.1em;
	transform-origin: left top;
	transform: scale(0.9);
	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) translateY(1px); }
.footer-inner .inner { margin-right: 135px; margin-bottom: 4.5rem; }
.footer-inner .sns { display: inline-block; margin: 0 20px 30px 0px; }
.footer-inner h3 { margin-bottom: 32px; margin-left: 2px; }

.footer-inner h1,
.footer-inner h2 {
	margin-bottom: 13px;
	font-weight: 600;
	font-size: 1.6rem;
	letter-spacing: 0.1em;
}

.footer-inner .tel,
.footer-inner address {
	font-size: 1.6rem;
	line-height: 1.8;
	letter-spacing: 0.08em;
}

.footer-inner .tel { margin-bottom: 0; letter-spacing: 0.01em; }
.footer-inner .tel a { pointer-events: none; }
.footer-inner .tel i { padding: 0 6px; }

.nav-global { display: flex; transform: translateY(6px); }
.footer-inner .nav-global { transform: translateY(8px); }
.nav-global > div { display: flex; position: relative; }
.nav-global ul { margin-right: 25px; }
.nav-global li { margin-bottom: 4px; }
.nav-global li:last-of-type { margin-bottom: 0; }

.nav-global li a {
	display: block;
	background: url(img/share/ico-arrow-btn-red.svg) no-repeat left top 0.3rem;
	padding: 2px 10px 10px 33px;
	font-size: 1.7rem;
	line-height: 1.4;
	letter-spacing: 0.12em;
}

.nav-global li a strong { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.1em; }
.nav-global li a span { display: block; margin-top: 8px; font-size: 1.4rem; letter-spacing: 0.12em; }

.nav-global .txt-link { position: absolute; bottom: 12px; left: 355px; }
footer .txt-link-wrap { position: absolute; bottom: 52px; left: 75px; max-width: 40%; }
.txt-link-wrap { display: flex; }
.txt-link-wrap .txt-link { margin-right: 15px; }
.txt-link-wrap a { font-size: 1.4rem; line-height: 1.4; letter-spacing: 0.08em; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.1em; }
.txt-link-wrap a.blank { background-position: left top calc(0.6rem - 2px); 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; }

footer .txt-link-wrap .txt-link-privacy { position: absolute; top: -258px; left: 134px; }
footer .txt-link-wrap .txt-link-privacy a { font-size: 1.3rem; }

.mnav-wrap.ul-txt { left: 0; width: auto; }
.ul-txt .mnav { padding: 26px 24px 10px 20px; }
.ul-txt .mnav:before { left: 107px; }
.ul-txt .mnav ul { display: block; }
.ul-txt .mnav ul li { width: auto; margin-bottom: 6px; }

.ul-txt .mnav ul li a {
	display: inline-block;
	background: url(img/share/ico-arrow-btn-red.svg) no-repeat left 2px top calc(0.8rem - 7px);
	padding: 4px 0 12px 32px;
	font-weight: 600;
	font-size: 1.6rem;
	letter-spacing: 0.06em;
	white-space: nowrap;
}

.ul-txt .mnav ul li a span {
	display: block;
	margin: 8px 0 -2px;
	font-size: 1.4rem;
	letter-spacing: 0.14em;
}


/* .office-search
---------------------------------------------------------------------------*/
.office-search-btn-head { display: none !important; }

.office-search-btn {
	position: fixed;
	bottom: -66px;
	left: 38px;
	background: #FFFFFF;
	box-shadow: 0 4px 4px 0 rgba(0,0,0,0.25);
	border-radius: 40px;
	padding: 22px 28px 23px 73px;
	color: var(--color-black);
	font-weight: 600;
	font-size: 1.7rem;
	letter-spacing: 0.12em;
	white-space: nowrap;
	cursor: pointer;
	transition: .15s ease-out;
	z-index: 99;
}

.office-search-btn .ico {
	display: block;
	position: absolute;
	top: 1rem;
	left: 18px;
	transform-origin: center bottom;
}

@media (max-height: 860px) {
	.office-search-btn { margin: 0 0 -10px -10px; }
}

.office-search { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 1000; }
.office-search .logo { display: none !important; }

.modal-bg,
.office-search-bg {
	position: absolute;
	top: 0;
	left: 0;
	background-color: rgba(180,173,162,0.92);
	width: 100%;
	height: 100%;
	z-index: 0;
	opacity: 0;
}

.modal-bg { display: none; position: fixed; z-index: 300; }

/* .office-search-select
------------------------------------*/
.office-search-select {
	display: none;
	position: absolute;
	bottom: 40px;
	left: 30px;
	background-color: #FFF9EF;
	box-shadow: -1px 4px 7px rgba(148, 139, 123, 0.56);
	border-radius: 15px;
	width: 480px;
	max-height: calc(100vh - 90px);
	padding: 45px 30px 5px;
	font-weight: 600;
	color: var(--color-black);
	z-index: 2;
	opacity: 0;
}

.office-search-select { overflow-y: scroll; }
.office-search-select::-webkit-scrollbar { width: 3px; }
.office-search-select::-webkit-scrollbar-track { border-radius: 0; background: none; }
.office-search-select::-webkit-scrollbar-thumb { border-radius: 0; background: var(--color-black); }

.office-search .close {
	position: fixed;
	top: 32px;
	right: 31px;
	background-color: var(--color-red);
	border-radius: 50%;
	width: 68px;
	height: 68px;
	z-index: 100;
}

.office-search .close img { display: block; width: 100%; transform: translateX(1px); }
.office-search .close-result { display: none !important; }
.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: 32px; }
.office-search-select-q1 .index { position: absolute; top: -3px; right: 0; background: none; border: none; }

.office-search-select-q1 .index a {
	display: inline-block;
	padding: 5px 5px 5px;
	font-size: 1.5rem;
	letter-spacing: 0.1em;
}

.office-search-select h2 {
	margin-bottom: 20px;
	font-weight: 600;
	font-size: 1.7rem;
	letter-spacing: 0.07em;
}

.office-search-select-q1 h2 { margin-bottom: 40px; padding-right: 130px; }
.office-search-select h2 i { display: inline-block; margin-right: 5px; color: var(--color-red-txt); }
.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 1fr; gap: 36px 9px; }

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

.office-search-select-q1 li .btn { display: block; width: 100%; padding: 42px 12px 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 { display: flex; justify-content: space-between; }
.office-search-select-q2 .q2-inner > div { width: 48.6%; }
.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; }
.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.12em;
	text-align: center;
	z-index: 1;
}

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

.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.6rem;
	white-space: nowrap;
	letter-spacing: 0.15em;
	z-index: 3;
	transform: translateY(3px);
}

.office-search-count .inner { display: inline-block; pointer-events: none; }

.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: 1.1rem;
	height: 1.6rem;
	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: absolute;
	top: 0;
	right: 0;
	width: 100%;
	min-width: 650px;
	height: 100%;
	padding: 0 0 0 max(585px, 40%);
	font-weight: 600;
	z-index: 1;
	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;
	background-color: #FFFFFF;
	padding: 90px 40px 45px;
	box-shadow: -1px 4px 7px rgba(148, 139, 123, 0.56);
	opacity: 0;
}

.office-search-result-inner > p:first-of-type {
	margin: -78px 0 50px -22px;
	padding-right: 80px;
	font-weight: 400;
	font-size: 1.4rem;
	letter-spacing: 0.12em;
}

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

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

.office-search-result .result-head .title h3 { font-weight: 600; font-size: 2.6rem; 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: 15px; }
.office-search-result .result-head .title .senior i { top: 5px; margin-left: -5px; }
.office-search-result .result-head .title .disability i { top: 0; margin-left: 4px; }
.office-search-result .result-head .title .child i { top: -5px; margin-left: 8px; }
.office-search-result .result-head .title .regenerate i { top: -28px; margin-left: 8px; }
.office-search-result .result-head .title .community i { top: 2px; margin-left: -2px; }
.office-search-result .result-head .title .senior i img { width: 110px; }
.office-search-result .result-head .title .disability i img { width: 86px; }
.office-search-result .result-head .title .child i img { width: 92px; }
.office-search-result .result-head .title .regenerate i img { width: 100px; }
.office-search-result .result-head .title .community i img { width: 100px; }

.office-search-result .result-head .count {
	position: absolute;
	bottom: -20px;
	right: 0;
	font-family: var(--font-gothic);
	font-weight: 500;
	font-size: 1.3rem;
	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 { position: relative; display: block; 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 11px 14px;
	font-size: 1.5rem;
	line-height: 1.5;
	letter-spacing: 0.06em;
	text-align: left;
	font-weight: 600;
}

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

.dropdown-btn:before {
	display: block;
	content: '';
	position: absolute;
	top: calc(50% - 10px);
	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:has(+ .dropdown-layer + .dropdown-btn-reset.active):before { display: none; }

.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-reset:hover img { opacity: 0.7; }

/* .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% - 3px);
	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: 14px 40px 13px 75px;
	color: var(--color-black);
	letter-spacing: 0.06em;
}

.dropdown-btn-color:before {
	background-image: url(img/share/ico-check-btn.svg);
	top: calc(50% - 12px);
	left: 35px;
	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: calc(2.5rem + 30px); left: 0; z-index: 10; }
.dropdown-layer-up { top: inherit; bottom: 55px; }

.dropdown-layer-common {
	background-color: #FFFFFF;
	border-radius: 7px;
	width: 100%;
	padding: 12px 6px 12px 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: 360px; }
.office-search-select-q3 .dropdown-inner { max-height: 475px; }
.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,
.dropdown-li > button {
	display: block;
	position: relative;
	font-size: 1.4rem;
	line-height: 1.5;
	letter-spacing: 0.14em;
	text-align: left;
}

.dropdown-li,
.dropdown-li > a {
	display: block;
	border-radius: 3px;
	padding: 5px 9px;
}

.dropdown-li:has(a) { padding: 0; }
.dropdown-li > a:hover { opacity: 1 !important; }
.dropdown-ul:has( .dropdown-li.headline) .dropdown-li.child-li { margin-top: 0; padding-left: 25px; }
.dropdown-li.child-head,
.dropdown-li.grandchild + .dropdown-li.child-li { margin-top: 2px; }
.dropdown-li.grandchild { padding-left: 37px; }
.dropdown-li.grandchild:before { display: block; content: '-'; position: absolute; top: 3px; left: 25px; }
.dropdown-li:not(.headline) { transition: .15s ease-out; cursor: pointer; }
.dropdown-li:not(.headline):hover { background-color: #F3EADC; }
.dropdown-li:has(+ .headline):first-of-type { padding-left: 17px; }

.dropdown-li.headline {
	padding-top: 35px;
	padding-bottom: 12px;
	pointer-events: none;
	color: var(--color-green);
	letter-spacing: 0.12em;
	font-size: 1.2em;
}

.dropdown-li.headline:first-of-type { padding-top: 15px; }

/* .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: 2px solid var(--color-border-beige-dark); }
.office-search-result .result-list > div { display: flex; flex-wrap: wrap; }
.office-search-result .result-list li { display: none; width: 100%; border-bottom: 2px solid var(--color-border-beige-dark); }
.office-search-result .result-list a { display: flex; justify-content: space-between; padding: 20px 12px 21px 17px; }
.office-search-result .result-list a > span { max-width: 66%; }

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

.office-search-result .result-list .address {
	display: block;
	max-width: 50%;
	padding-top: 3px;
	padding-left: 40px;
	font-weight: 500;
	font-size: 1.5rem;
	line-height: 1.6;
	letter-spacing: 0.06em;
	text-align: right;
}

.office-search-result .result-list .label { display: flex; flex-wrap: wrap; }
.office-search-result .result-list .label span { padding: 5px 6px 4px 7px !important; font-size: 1.3rem !important; }
.office-search-result .no-result { display: none; position: relative; height: calc(100vh - 240px); }

.office-search-result .no-result > div {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(0,-50%);
	width: 100%;
}

.office-search-result .no-result,
.office-search-result .no-result p {
	font-size: 1.8rem;
	line-height: 2.4;
	text-align: center;
	font-family: var(--font-gothic);
}

.office-search-result .no-result .txt-link { margin-top: 28px; letter-spacing: 0.1em; }
.office-search-result .no-result .txt-link a.blank { background-position: left top 2px; padding-left: 26px; }
.office-search-result .result .attention-list { display: none; margin-top: 40px; }
.office-search-result .result .attention-list li { font-size: 1.4rem; line-height: 1.8; }


/* contents
---------------------------------------------------------------------------*/
#mainContents { display: block; width: 100%; min-height: calc(100vh - 180px); margin: 0 auto; padding: 0; text-align: left; }
body.top #mainContents { padding-top: 0; }
.contents { opacity: 0; }

/* .header-page
------------------------------------*/
.header-page {
	position: relative;
	border-bottom: 1px solid #E0E0CE;
	width: calc(100% - 34px);
	margin: 0 17px 80px;
	padding: 185px 112px 42px 4.7%;
}

.header-page .plink { right: 4.7%; }

.header-page h1,
.header-page h2 {
	padding-right: 500px;
	font-weight: 400;
	font-size: 2.8rem;
	line-height: 1.4;
	letter-spacing: 0.1em;
}

#blogContents .header-page h1,
#blogContents .header-page h2 { padding-right: 840px; }
#officeContents.single .header-page h1:not(:has(+ .office-sns)) { padding-right: 0; }

.header-page-title { display: flex; justify-content: space-between; }
.header-page-title h1,
.header-page-title h2 { padding-right: 60px; }

/* .plist
------------------------------------*/
.plist-wrap { display: flex; justify-content: space-between; max-width: 50%; }
.plist { margin-bottom: 27px; }

.plist ul { display: flex; margin: -7px 0 -8px; font-size: 1.2rem; letter-spacing: 0.08em; }
.plist ul + ul { margin-top: 6px; }
.plist ul + ul:last-of-type { padding-bottom: 20px; }
.plist ul:not(:first-of-type) li:first-of-type { pointer-events: none; opacity: 0; }

.plist li { position: relative; min-width: 6rem; margin-right: 18px; font-weight: 600; font-size: 1.3rem; line-height: 1.4; }
.plist li:after { display: block; content: '／'; position: absolute; top: 7px; right: -16px; transform: rotate(-10deg); }
.plist li:has(+ li:empty):after { display: none; }
.plist li:last-of-type:after { display: none; }
.plist li a,
.plist li:not(:has(a)) { display: inline-block; padding: 6px 0.5rem 7px 4px; }
.plist li:first-of-type a { background: url(img/share/ico-home.svg) no-repeat left 2px top 8px; padding-left: 26px; }
.plist li.parent a { background-repeat: no-repeat; background-position: left 4px top 8px; 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 { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.15em; line-height: 1.4; }
.plist li span.line:after { display: none; }
.plist li i { margin: 0 -1px 0 -2px; }
.plist li i:last-of-type { display: none; }

/* .ptag
------------------------------------*/
.ptag {
	display: flex;
	flex-wrap: wrap;
	justify-content: right;
	margin-top: 12px;
	font-size: 1.4rem;
	letter-spacing: 0.06em;
}

.ptag:not(:has(ul li:nth-of-type(2))) { display: none; }
.ptag ul { display: flex; flex-wrap: wrap; justify-content: right; }

.ptag li {
	margin: 0 0 6px;
	white-space: nowrap;
	color: var(--color-text);
	font-weight: 600;
	font-size: 1.4rem;
	line-height: 1.6;
	letter-spacing: 0.05em;
}

.ptag li.first {
	align-self: flex-start;
	background-color: rgba(255, 255, 255, 0.8);
	border: 1px solid var(--color-black);
	border-radius: 3px;
	margin: 0 12px 0 0;
	padding: 2px 6px 0 8px;
	font-size: 1.3rem;
	letter-spacing: 0.08em;
	text-align: center;
	white-space: nowrap;
	transform: translateY(-1px);
}

.ptag ul li i { padding: 3px 4px 0 5px; }
.ptag ul li:last-of-type i { display: none; }

/* .plink
------------------------------------*/
.plink-wrap:has(> .plink + .ptag li) { margin-top: calc(-1.4rem - 24px); }
.plink-wrap { max-width: 55%; margin-top: 3px; margin-bottom: -3px; }
.header-page .plink { margin-right: -16px; }
.plink ul { display: flex; justify-content: right; }
.plink li.line-dot-v:last-of-type:after { display: none; }

.plink li a {
	display: block;
	background: url(img/share/ico-arrow-down-yellow.svg) no-repeat left 16px top 8px;
	min-width: 9rem;
	padding: 10px 16px 10px 38px;
	font-size: 1.5rem;
	letter-spacing: 0.07em;
	font-weight: 600;
}

/* .pback
------------------------------------*/
.pback { position: absolute; top: 0; left: 15px; z-index: 2; }
.pback.fixed { position: fixed; top: 180px; }

.pback .btn,
.pback > a {
	display: inline-block;
	background-position: left 1px top;
	background-repeat: no-repeat;
	padding: 33px 6px 5px;
	font-size: 1.8rem;
	letter-spacing: 0.08em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.pback > a.senior { background-image: url(img/share/ico-back-service01.svg); }
.pback > a.disability { background-image: url(img/share/ico-back-service02.svg); }
.pback > a.child { background-image: url(img/share/ico-back-service03.svg); }
.pback > a.regenerate { background-image: url(img/share/ico-back-service04.svg); }
.pback > a.community { background-image: url(img/share/ico-back-service05.svg); }

.pback .btn { background-image: url(img/share/ico-back.svg); }
.pback .btn.active { background-image: url(img/share/ico-back-close.svg); }

.pback ul {
	display: flex;
	align-items: flex-start;
	position: absolute;
	top: 33px;
	left: 4rem;
	visibility: hidden;
	pointer-events: none;
	opacity: 0;
	transition: .25s var(--easeOutQuart);
}

.pback .btn.active + ul {
	left: 5rem;
	visibility: visible;
	pointer-events: auto;
	opacity: 1;
}

.pback li {
	margin-right: 8px;
	background-color: #FFFFFF;
	border-radius: 5px;
	box-shadow: 4px 2px 8px rgba(0, 0, 0, 0.07);
}

.pback li a {
	display: inline-block;
	background-position: center top 16px;
	background-repeat: no-repeat;
	min-width: 38px;
	padding: 36px 11px 13px;
	font-size: 1.6rem;
	letter-spacing: 0.08em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

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

/* .title-page
------------------------------------*/
.contents-common-center {
	width: calc(100% - 34px);
	margin: 0 auto 9rem;
	padding: 0 35px;
}

.contents-common-center-inner {
	position: relative;
	width: 100%;
	max-width: 1270px;
	margin: 0 auto;
}

.title-page h1, .title-page h2 {
	font-size: 2.8rem;
	line-height: 1;
	letter-spacing: 0.14em;
}

/* .title-page-center
------------------------------------*/
.title-page-center { margin: 0 0 80px; padding: 20rem 60px 0; text-align: center; }
.title-page-center:has(.plink){ margin-bottom: 60px; }
.title-page-center.sub { padding-top: 21rem; }
.title-page-center .title { margin-bottom: 40px; }

.title-page-center h1 {
	color: var(--color-green);
	font-size: min(3.4rem, 60px);
	letter-spacing: 0.15em;
}

.title-page-center.sub h1 {
	color: var(--color-black);
	font-family: var(--font-gothic);
	font-size: 2.8rem;
}

.title-page-center h2 {
	margin-top: 30px;
	padding-bottom: 5px;
	font-weight: 600;
	font-size: 1.8rem;
	letter-spacing: 0.22em;
}

.title-page-center h2:has(+ h1) {
	margin: 0 0 23px;
	font-size: 1.7rem;
	letter-spacing: 0.14em;
}

.title-page-center .justify { width: 675px; margin: 0 auto; text-align: justify; }
.title-page-center p { font-size: 1.6rem; line-height: 2.25; letter-spacing: 0.16em; }
.title-page-center .justify p { line-height: 2.1; letter-spacing: 0.12em; }

.title-page-center .box { border-radius: 10px; width: 785px; margin: 40px auto 0; padding: 35px 50px 35px; text-align: left; }
.title-page-center .box.even { display: flex; justify-content: space-between; }
.title-page-center .box.even ul { width: 50%; }
.title-page-center .box.even ul:nth-child(odd) { padding-right: 25px; }
.title-page-center .box li { font-size: 1.6rem; }
.title-page-center .plink { margin-top: 50px; text-align: center; }
.title-page-center .plink ul,
.title-page-center .plink li { display: inline-block; margin-bottom: 20px; }
.title-page-center .plink li { position: relative; }

.title-page-center .plink li:not(:first-of-type):before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background: var(--color-black);
	width: 1px;
	height: 100%;
	opacity: 0.5;
}

.title-page-center .plink li a {
	background-position: left 25px top 9px;
	padding: 10px 20px 10px 52px;
	font-size: 1.6rem;
}

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

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

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

.dot-line-list li {
	position: relative;
	margin: 0 0 6px;
	padding-left: 17px;
	font-size: 1.4rem;
	line-height: 1.6;
	letter-spacing: 0.12em;
}

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

.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: 2rem;
	font-family: var(--font-gothic);
	font-weight: 500;
	font-size: 1.4rem;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.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; background: url(img/share/btn-pause-bg.svg) no-repeat; width: 51px; height: 51px; z-index: 1; }
.slider-nav-play > span { position: absolute; top: 0; left: 0; }
.slider-nav-play > span img { width: 50px; }
.slider-nav-play .play { display: none; }

/* .slider-main
------------------------------------*/
.slider-main-wrap { position: relative; width: calc(100% - 120px); max-width: 1200px; margin: 0 auto 75px; z-index: 2; }
.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 { border-radius: 12px; 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: 86px; margin: 0 9px; }
.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: 4px; }
.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; }
.history-movie { width: calc(100% + 10px); margin: 0 -5px 110px; }
.workers-movie { width: 990px; margin: 0 auto 180px; }

.movie-contents .movie { position: relative; overflow: hidden; border-radius: 5px; width: 100%; height: 0; padding-bottom: 56.25%; z-index: 0; }
.movie-contents .movie:hover { opacity: 0.8; }
.movie-contents .movie.active { cursor: default; }
.movie-contents .movie.active:hover { opacity: 1; }
.movie-contents .movie-cover { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; }
.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 { position: absolute; top: 56px; left: 48px; z-index: 2; }
.movie-contents .movie-logo img { width: 210px; }
.movie-contents .movie-title { position: absolute; bottom: calc(2.1rem + 101px); left: 48px; z-index: 1; pointer-events: none; }
.movie-contents .movie-btn { position: absolute; bottom: 38px; left: 44px; z-index: 2; }

.movie-contents .movie-btn span {
	display: inline-block;
	background: #FFFFFF url(img/share/ico-movie.svg) no-repeat left 24px center;
	border-radius: 40px;
	padding: 14px 22px 16px 62px;
	color: var(--color-red-txt);
	font-family: var(--font-sans);
	font-size: 2.1rem;
	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; margin-bottom: 10px; }
.dl-dt-box > div:last-of-type { margin-bottom: 0; }

.dl-dt-box dt {
	display: flex;
	align-items: center;
	background-color: #FFFFFF;
	border: 1px solid var(--color-text);
	border-radius: 4px;
	margin: 4px 0;
	padding: 10px 9px 10px 11px;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
	text-align: center;
	transform: translateY(1px);
}

.dl-dt-box dd { padding: 0 0 0 16px; }
.dl-dt-box dd p { letter-spacing: 0.1em !important; }


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

/* .blog-nav-open
------------------------------------*/
.blog-nav-open { display: none !important; }

/* .blog-nav
------------------------------------*/
.blog-nav { position: absolute; top: 200px; right: 112px; z-index: 110; }
.blog-nav.active { z-index: 301; }
.blog-nav-inner { display: flex; }
.blog-nav-inner > div { position: relative; width: 260px; margin-left: 3px; }

.blog-nav-btn {
	display: block;
	background-color: #F1EBDF;
	width: 100%;
	padding: 22px 0 22px 24px;
	font-size: min(1.7rem, 19.5px);
	text-align: left;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

.blog-nav-inner > div:first-of-type .blog-nav-btn,
.blog-nav-inner > div.blog-nav-input:first-of-type input { border-radius: 8px 0 0 8px; }
.blog-nav-inner > div:nth-child(3) .blog-nav-btn { border-radius: 0 8px 8px 0; }

/* .blog-nav-close
------------------------------------*/
.blog-nav-close { display: none !important; }

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

.blog-nav-input input {
  display: none;
	position: absolute;
	top: 0;
	left: 0;
	border: 2px solid var(--color-yellow-light);
	width: 100%;
	height: 100%;
  padding: 0 0 0 20px;
	font-family: var(--font-gothic-default);
  font-size: min(1.7rem, 19.5px);
  letter-spacing: 0.2em;
	z-index: 1;
  opacity: 0;
}

.dropdown-layer-blog-nav-keyword { top: 65px; padding-top: 12px; }
.dropdown-layer-blog-nav-keyword .dropdown-layer-common { position: relative; padding: 15px 15px 14px; }
.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.5rem;
	letter-spacing: 0.12em;
	white-space: nowrap;
}

.dropdown-layer-blog-nav-keyword li a:hover { background-color: #F3EADC; opacity: 1; }

/* .dropdown-open-blog-nav-list
------------------------------------*/
.dropdown-layer-blog-nav-list {
	overflow: inherit;
	top: 65px;
	left: inherit;
	right: -110px;
	padding: 15px 5px 5px;
}

.dropdown-layer-blog-nav-list .dropdown-layer-common {
	position: relative;
	width: 1330px;
	min-width: 1190px;
	max-width: calc(100vw - 65px);
	padding: 55px 0 45px 45px;
}

.dropdown-layer-blog-nav-keyword .dropdown-layer-common:before,
.dropdown-layer-blog-nav-list .dropdown-layer-common:before {
	display: block;
	content: '';
	position: absolute;
	top: -11px;
	right: 256px;
	background-color: #FFFFFF;
	width: 15px;
	height: 19px;
	clip-path: polygon(50% 0, 0% 100%, 100% 100%);
}

.dropdown-layer-blog-nav-list dl { display: flex; }
.dropdown-layer-blog-nav-list dl > div { padding-right: 50px; min-width: 220px; }

.dropdown-layer-blog-nav-list dt {
	position: relative;
	margin-bottom: 30px;
	padding: 0 1px 0 0;
	white-space: nowrap;
}

.dropdown-layer-blog-nav-list dt a {
	font-size: min(1.9rem, 25px);
	letter-spacing: 0.1em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

.dropdown-layer-blog-nav-list dd li { margin-bottom: 5px; }
.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;
	background: url(img/share/ico-arrow-btn.svg) no-repeat left top 4px / 16px auto;
	padding: 0 0 4px 24px;
	font-size: min(1.5rem, 25px);
	line-height: 1.55;
	letter-spacing: 0.08em;
}

.dropdown-layer-blog-nav-list dd .btn-link-ss { display: none; }

/* .blog-list-head
------------------------------------*/
.blog-list-head {
	width: 1200px;
	margin: 0 auto 60px;
	padding-top: 10px;
}

.blog-list-head h1 {
	display: inline-block;
	position: relative;
	margin-right: 22px;
	font-size: 2.8rem;
	letter-spacing: 0.1em;
}

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

.blog-none { width: 1200px; margin: 0 auto; padding-left: 2px; }
.blog-none p { line-height: 2.2; }


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

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

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

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

.blog-title .time {
	display: inline-block;
	margin-right: 27px;
	margin-left: 1px;
	font-family: var(--font-sans);
	font-size: 1.3rem;
	letter-spacing: 0.08em;
}

.blog-title .office { display: inline-block; position: relative; }
.blog-title .office:before { display: block; content: '｜'; position: absolute; top: 8px; left: -20px; }

.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.4rem;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

.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.4rem; letter-spacing: 0.1em; }
.blog-list article .office > span span a,
.blog-title .office li a { text-decoration: underline; }
.blog-area .post-categories { margin-top: 60px; }
.blog-area .post-categories li { display: inline-block; margin: 0 6px 10px 0; }

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

/* .blog-list-detail
------------------------------------*/
.blog-list-detail { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 0 15px; }
.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: 20px;
	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.5rem; line-height: 1.6; 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.6rem; line-height: 2.3; letter-spacing: 0.1em; word-break: break-all; }
.post-main h2 { margin: 50px 0 15px; font-size: 2rem; }
.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; word-break: break-all; }
.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: 100%; height: auto; margin: 38px 0; border-radius: 10px; }
.post-main p img:first-child { margin-top: 60px; }
.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.4rem; line-height: 2; }

.post-main ul, .post-main ol { margin: 32px 0 30px; 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 8px 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: 40px 0; padding: 30px 38px; text-align: justify; }
.post-main blockquote p { font-size: 1.5rem; line-height: 2.1; }
.post-main iframe { border-radius: 10px; width: 840px; height: 476px; }

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

.blog-table h3 {
	margin: 80px 0 12px 7px;
	font-size: 1.8rem;
	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.6rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.blog-table tr { border-bottom: 1px solid var(--color-border-beige-dark); }
.blog-table th, .blog-table td { padding-top: 20px; padding-bottom: 7px; }

.blog-table th {
	position: relative;
	padding-right: 25px;
	padding-left: 7px;
	text-align: left;
	vertical-align: top;
	white-space: nowrap;
}

.blog-table td { width: 100%; padding-right: 5px; }
.blog-table table.right td { text-align: right; }

.blog-table-attention {
	margin: -20px 0 0 7px;
	font-size: 1.4rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

/* .blog-link
------------------------------------*/
.blog-link { margin-top: 45px; }
.blog-link li { display: inline-block; margin: 0 14px 19px 0; }

/* .share
------------------------------------*/
.share { position: fixed; top: 393px; right: 41px; z-index: 10; }
.share li a,
.share li span { display: block; padding: 7px; }

/* .blog-other
------------------------------------*/
.blog-other { margin: 160px auto 0; }
.blog-other-title { display: flex; justify-content: space-between; margin-bottom: 50px; }
.blog-other-title h2 { font-size: 2rem; line-height: 1.4; letter-spacing: 0.12em; }

.blog-other-title > a {
	display: inline-block;
	font-size: 1.4rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
	text-align: right;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

.blog-other .blog-list { width: 100% !important; }
.blog-other > .btn-link { margin-top: 80px; }


/* .wp-pagenavi
---------------------------------------------------------------------------*/
.wp-pagenavi { overflow: hidden; margin: 100px 0 0; font-family: var(--font-sans); font-size: 1.8rem; text-align: center; }
.wp-pagenavi .pages,
.wp-pagenavi .extend { display: none; }

.wp-pagenavi a,
.wp-pagenavi .current {
	display: inline-block;
	position: relative;
	width: 3.9rem;
	height: 3.9rem;
	margin: 0 8px;
	padding: 1rem 10px 1rem 9px;
	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: 3.9rem;
	height: 3.9rem;
	z-index: -1;
}

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

.wp-pagenavi a.first,
.wp-pagenavi a.last,
.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink { width: auto; color: var(--color-black); font-family: var(--font-gothic); font-size: 1.7rem; letter-spacing: 0.1em; }

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

.wp-pagenavi a.first { margin-right: -5px; }
.wp-pagenavi a.previouspostslink { margin-right: 20px; }
.wp-pagenavi a.last { margin-left: -5px; }
.wp-pagenavi a.nextpostslink { margin-left: 18px; }


/* page news
---------------------------------------------------------------------------*/

/* .news-category
------------------------------------*/
.news-category { margin-top: 50px; text-align: center; }
.news-category .inner { display: inline-block; margin: 0 17px; text-align: left; }
.news-category .inner > div { display: flex; }

.news-category .inner h2 {
	margin-top: 0;
	margin-right: 14px;
	padding-top: 1.1em;
	font-size: 1.6rem;
	letter-spacing: 0.12em;
	white-space: nowrap;
}

.news-category .dropdown-li.grandchild { padding-left: 25px; }
.news-category .dropdown-li.grandchild:before { left: 20px; }

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

.news-list article .btn-ac button {
	position: relative;
	display: flex;
	justify-content: space-between;
	width: 100%;
	padding: 25px 125px 24px 15px;
	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 .btn-ac i {
	display: block;
	position: absolute;
	top: 26px;
	right: 26px;
	background: url(img/share/ico-arrow-down-yellow.svg) no-repeat left top / 23px auto;
	width: 23px;
	height: 23px;
	transition: .15s ease-out;
}

.news-list article .btn-ac.active i { transform: rotate(180deg); }
#newsContents.single .news-list article .btn-ac i { display: none; }

.news-list article .time {
	order: 1;
	width: 110px;
	min-width: 110px;
	font-family: var(--font-sans);
	font-size: 1.4rem;
	letter-spacing: 0.08em;
	transform: translateY(0.5rem);
	word-break: break-all;
}

.news-list article .category { order: 2; width: 160px; min-width: 160px; padding-right: 25px; }

.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: 2px 10px 0 10px;
	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;
}

.news-list article .category span:last-of-type { margin-bottom: 0; }

.news-list article strong {
	order: 3;
	display: block;
	width: 100%;
	font-size: 1.6rem;
	line-height: 1.55;
	letter-spacing: 0.12em;
}

.news-detail { display: none; padding: 0 125px 40px 285px; }
#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 { padding: 5px 0 0; }
.news-main h2 { font-size: 1.7rem !important; }
.news-main p { margin-bottom: 1em; }
.news-main img { margin: 30px 0; }
.news-main p img:first-child { margin-top: 45px; }
.news-detail .blog-table { margin-top: 40px; }
.news-detail .blog-table h3 { margin-bottom: 5px; font-size: 1.5rem; }
.news-detail .blog-table table { font-size: 1.4rem; }
.news-detail .blog-table-attention { margin-top: -22px; font-size: 1.2rem; }
.news-detail .blog-link { margin-top: 22px; }
.news-detail .blog-table + .blog-link { margin-top: 30px; }
.news-detail .blog-link li { margin: 0 8px 16px 0; }


/* page top
---------------------------------------------------------------------------*/
body.top footer { margin-top: 0; }
#topContents { overflow: hidden; }

/* .top-main
------------------------------------*/
.top-main {
	position: relative;
	width: 100%;
	margin-bottom: 150px;
	padding-top: clamp(595px, 58.5vh, 9999px);
}

.top-main-img { position: relative; overflow: hidden; width: 100%; height: 41.5vh; z-index: 0; }
.top-main-img .slider-loop { z-index: 0; }
.infiniteslide_wrap,
.slider-loop,
.slider-loop .inner { height: 100% !important; }
.slider-loop-wrap { position: relative; }
.slider-loop-nav { bottom: 25px; right: 25px; }
.slider-loop { display: flex; }
.slider-loop .inner { padding-right: 4px; }
.slider-loop .inner img { height: 100%; }

.top-main-copy {
	display: flex;
	flex-direction: row-reverse;
	position: absolute;
	top: max(175px, 17.5vh);
	right: 11%;
	z-index: 1;
}

.top-main-copy * { font-size: 0; line-height: 1; }
.top-main-copy h2 { margin: -4% 0 0 7.4%; }
.top-main-copy h2 img { height: clamp(475px, 46vh, 9999px); }
.top-main-copy p { position: relative; }
.top-main-copy p:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	background: url(img/top/txt-top-copy2_s@2x.png) no-repeat right top / 100% auto;
	width: 675px;
	height: 100%;
	opacity: 0;
} 
.top-main-copy p .size-s { position: absolute; top: 0; right: 0; opacity: 0; }

.top-main-news {
	position: absolute;
	bottom: calc(41.5vh + 25px);
	left: 2.2%;
	max-width: 600px;
	z-index: 2;
}

.top-main-news article a {
	display: inline-block;
	max-width: 100%;
	color: var(--color-black);
	padding: 0 2px 2px 2px;
}

.top-main-news article .time {
	display: block;
	margin: 0 0 16px 1px;
	color: var(--color-green);
	font-family: var(--font-sans);
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.12em;
}

.top-main-news article h3 {
	font-size: 1.6rem;
	letter-spacing: 0.12em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

@media (min-width: 1600px) {
	.top-main-copy h2 { margin-left: 5vw; }
}

@media (max-width: 1340px) {
	.top-main-news { left: 30px; }
	.top-main-news article h3 { font-size: 1.6rem; }
}

@media (max-height: 1140px) {
	.top-main-copy p:after { opacity: 1; }
	.top-main-copy p img { opacity: 0; }
}

/* .top-service
------------------------------------*/
.top-service { width: 1000px; margin: 0 auto 125px; text-align: center; }
.top-service h2 { margin-bottom: 86px; }

.top-service h2 em {
	display: block;
	margin-bottom: 22px;
	color: var(--color-red-txt);
	font-family: var(--font-sans);
	font-size: 2.2rem;
	letter-spacing: 0.08em;
}

.top-service h2 strong {
	display: block;
	margin-left: 12px;
	font-weight: 400;
	font-size: 3.6rem;
	line-height: 1.4;
	letter-spacing: 0.22em;
}

.top-service-list {
	display: flex;
	justify-content: space-between;
	width: 990px;
	margin: 0 auto 44px;
}

.top-service-list .inner {
	position: relative;
	background-color: #FFFFFF;
	border-radius: 8px;
	width: 182px;
	font-weight: 600;
}

.top-service-list .inner a { display: block; padding: 56px 0 16px; color: #FFFFFF; }
.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.office-search-btn-open { display: none !important; }
.top-service-list .inner i { display: block; position: absolute; left: 50%; transform: translateX(-50%); }
.top-service-list .inner:nth-of-type(1) i { top: -29px; }
.top-service-list .inner:nth-of-type(1) i img { width: 124px; }
.top-service-list .inner:nth-of-type(2) i { top: -37px; }
.top-service-list .inner:nth-of-type(2) i img { width: 89px; }
.top-service-list .inner:nth-of-type(3) i { top: -42px; margin-left: 2px; }
.top-service-list .inner:nth-of-type(3) i img { width: 102px; }
.top-service-list .inner:nth-of-type(4) i { top: -55px; margin-left: 10px; }
.top-service-list .inner:nth-of-type(4) i img { width: 100px; }
.top-service-list .inner:nth-of-type(5) i { top: -20px; }
.top-service-list .inner:nth-of-type(5) i img { width: 104px; }

.top-service-list .inner h3 {
	margin-bottom: 22px;
	color: #FFFFFF;
	font-weight: 600;
	font-size: 2.2rem;
	line-height: 1.4;
	letter-spacing: 0.12em;
}

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

.top-service-list .inner h4 {
	background-color: #F2F2F2;
	border-radius: 30px;
	margin: 0 22px;
	padding: 8px 9px 7px 11px;
	font-size: 1.4rem;
	letter-spacing: 0.12em;
}

.top-service .office-search-btn-open {
	display: flex;
	align-items: center;
	justify-content: space-between;
	overflow: hidden;
	position: relative;
	background-color: #FFFFFF;
	border-radius: 120px;
	width: 100%;
	padding: 14px 36px 14px 123px;
	font-weight: 600;
}

.top-service .office-search-btn-open i {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background: var(--color-yellow) url(img/share/ico-question-brown.svg) no-repeat left 39px center;
	width: 95px;
	min-width: 95px;
	height: 100%;
}

.top-service .office-search-btn-open strong {
	width: 100%;
	font-weight: 600;
	font-size: 1.9rem;
	line-height: 1.4;
	letter-spacing: 0.11em;
	text-align: left;
	transform: translateY(1px);
}

.top-service .office-search-btn-open span {
	display: inline-block;
	background-color: var(--color-red);
	border-radius: 2rem;
	padding: 12px 18px 12px 20px;
	color: #FFFFFF;
	font-size: 1.7rem;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

/* .post-list-title
------------------------------------*/
.post-list-title { position: relative; margin-bottom: 70px; color: var(--color-black); z-index: 2; }
.post-list-title .copy { position: absolute; top: 6px; right: -38px; width: 359px; height: 83px; transform-origin: left bottom; }
.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; }

.post-list-title h2 {
	display: inline-block;
	margin: 0 0 16px -1px;
	font-weight: 400;
	font-size: 3.6rem;
	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.6rem;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0.12em;
}

.post-list-title .btn-line { transform: translateY(-2px); }

.post-list-title p {
	margin: 0 0 25px 1px;
	font-size: 1.6rem;
	font-weight: 600;
	letter-spacing: 0.18em;
}

/* .top-blog
------------------------------------*/
.top-blog { border-radius: 70px; width: 100%; margin: 0 auto 120px; padding: 100px 0 100px; }
.top-blog-inner { position: relative; width: 90%; max-width: 1200px; margin: 0 auto; }
.top-blog-inner .post-list-title { max-width: 37%; }

.top-blog-inner nav {
	position: absolute;
	top: 48px;
	right: -5px;
	background: #F9F8F3;
	box-shadow: 0px 6px 9px #E9E2D5;
	border-radius: 90px;
	max-width: 63%;
	padding: 25px 38px 25px 38px;
	font-weight: 600;
	z-index: 2;
}

.top-blog-inner nav ul { display: flex; }
.top-blog-inner nav li:not(:last-of-type) { margin-right: 20px; }
.top-blog-inner nav li a { font-size: 1.5rem; letter-spacing: 0.08em; }
.top-blog-inner .btn-line { margin: 5px 0 5px 10px; transform: translateY(-9px); }

/* .blog-list
------------------------------------*/
.blog-list {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 65px 46px;
	width: 1200px;
	margin: 0 auto;
}

.top-blog-inner .blog-list { width: 100%; }
.blog-other,
#blogContents .blog-list { width: 90%; max-width: 1200px; }
.blog-list article { position: relative; }
.blog-list article a { display: block; }

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

.blog-list figure img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	width: 100%;
	height: 100%;
	-webkit-backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
}

.blog-list h3 {
	margin-bottom: 9px;
	font-size: 1.6rem;
	line-height: 1.65;
	letter-spacing: 0.12em;
}

.blog-list h3 span { padding-right: 4px; }
.blog-list h3 img { transform: translateY(-5px); }

.blog-list .time {
	display: block;
	margin-left: 1px;
	font-weight: 600;
	font-size: 1.2rem;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

.blog-list .service {
	position: absolute;
	top: 2px;
	left: max(-2.2rem, -32px);
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.blog-list .service > span a,
.blog-list .service > span > span {
	display: inline-block;
	position: relative;
	font-weight: 600;
	font-size: min(1.4rem, 20px);
	letter-spacing: 0.12em;
}

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

.blog-list .office { position: relative; margin: 19px 0 0 1px; }

.blog-list article .office p {
	display: block;
	font-size: 1.4rem;
	font-weight: 500;
	margin-bottom: 6px;
	line-height: 1;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.blog-list article .office > span span {
	font-family: var(--font-gothic);
	font-size: 1.4rem;
	line-height: 1.5;
	letter-spacing: 0.06em;
}

/* .top-news
------------------------------------*/
.top-news {
	position: relative;
	width: 90%;
	max-width: 1190px;
	min-height: 15.5rem;
	margin: 0 auto 80px;
	padding-left: 400px;
}

.top-news .post-list-title { position: absolute; top: 0; left: 0; max-width: 360px; }
.news-list-top { transform: translateY(-25px); }

.news-list-top article a {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	background: url(img/share/ico-arrow-btn-green.svg) no-repeat right 14px top 26px;
	padding: 26px 60px 9px 9px;
	color: var(--color-black);
}

.news-list-top article .time {
	/*align-self: center;*/
	align-self: flex-start;
	width: 120px;
	min-width: 120px;
	padding-top: 6px;
	padding-right: 20px;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
	word-break: break-all;
}

.news-list-top article h3 {
	width: 100%;
	font-size: 1.7rem;
	line-height: 1.55;
	letter-spacing: 0.12em;
}

.top-news .btn-line { margin-top: 40px; }

/* .top-team
------------------------------------*/
.top-team { position: relative; width: 100%; margin: 110px 0 80px; z-index: 1; }
.top-team-inner { position: relative; width: 1130px; margin: 0 auto; }
.top-team .txt { position: relative; margin: 0 140px 50px 10px; padding-top: 17px; z-index: 1; }
.top-team .txt h2 { margin: 0 0 20px -4px; }

.top-team .txt h2 em {
	display: block;
	margin: 0 0 18px 3px;
	color: var(--color-red-txt);
	font-family: var(--font-sans);
	font-size: min(2.3rem, 34px);
	letter-spacing: 0.11em;
}

.top-team .txt h2 strong {
	display: block;
	color: var(--color-black);
	font-size: min(4.4rem, 48px);
	line-height: 1.5;
	letter-spacing: 0.06em;
}

.top-team .txt p {
	margin-bottom: 10px;
	font-size: min(1.8rem, 28px);
	line-height: 2.15;
	letter-spacing: 0.14em;
}

.top-team .img figure { position: absolute; }
.top-team .img figure picture img { border-radius: 10px; }
.top-team .img1 { position: absolute; top: 0; right: 23px; width: 650px; height: 463px; }
.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; top: -29px; right: -66px; z-index: 1; }
.top-team .img2 { bottom: 36px; right: 430px; }
.top-team .img2 .pic { display: block; position: absolute; top: -28px; left: -37px; z-index: -1; }
.top-team .img3 { bottom: 36px; right: -20px; }
.top-team .img3 .pic { display: block; position: absolute; bottom: -22px; right: -13px; z-index: 1; }

.top-team nav {
	display: inline-block;
	position: relative;
	background-color: #FFFFFF;
	border-radius: 10px;
	max-width: 330px;
	padding: 25px 20px 7px;
}

.top-team nav .pic {
	display: block;
	position: absolute;
	bottom: -44px;
	left: -34px;
	z-index: -1;
}

.top-team nav .pic2 { display: none !important; }

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

.top-team nav li a {
	display: block;
	background: url(img/share/ico-arrow-btn-red.svg) no-repeat left 4px top 18px;
	padding: 20px 6px 21px 36px;
	color: var(--color-black);
	font-size: 1.6rem;
	letter-spacing: 0.12em;
}

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

/* .top-bnr
------------------------------------*/
.bnr-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 96%;
	max-width: 1200px;
	margin: 0 auto;
}

.bnr-list .inner { width: 582px; margin-top: 40px; }
.bnr-list .inner:nth-of-type(1),
.bnr-list .inner:nth-of-type(2) { margin-top: 0; }
.bnr-list .inner.even { display: flex; justify-content: space-between; }

/* .top-btm-img
------------------------------------*/
.top-btm-img { position: relative; width: 100%; margin-top: 225px; }
.slider-control { z-index: 0; }
.slider-control,
.slider-control .slick-list,
.slider-control .slick-track { position: relative; width: 100% !important; }
.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: 29px;
	right: 35px;
	background: url(img/share/btn-slide-set@2x.png) no-repeat left top / 100% auto;
	width: 169px;
	height: 51px;
	z-index: 1000;
}

.slider-control.left-bottom .slick-list:after { bottom: 25px; left: 25px; }
.slider-control-nav { position: absolute; bottom: 30px; right: 89px; width: 60px; height: 50px; z-index: 1; }
.slider-control.left-bottom + .slider-control-nav { bottom: 25px; left: 80px; }
.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; }
.slider-control-nav .play img { margin-left: 2px; }

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

.slider-control .slick-prev { right: 147px; transform: scaleX(-1) !important; }
.slider-control .slick-next { right: 35px; }
.slider-control.left-bottom .slick-prev { bottom: 25px; left: 27px; }
.slider-control.left-bottom .slick-next { bottom: 25px; left: 139px; }


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

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

/* .about-philosophy
------------------------------------*/
.about-philosophy {
	position: relative;
	width: 1140px;
	margin: 0 auto 100px;
	padding: 40px 0 0 470px;
}

.about-philosophy h2 {
	position: absolute;
	top: 0;
	left: 0;
	font-weight: 600;
	font-size: 1.5rem;
	letter-spacing: 0.14em;
}

.about-philosophy h3 { position: absolute; top: 4.4rem; left: 2px; }

.about-philosophy li {
	position: relative;
	padding-left: 4.5rem;
	font-size: 1.6rem;
	line-height: 2.1;
	letter-spacing: 0.1em;
}

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

/* .about-greencoop
------------------------------------*/
.about-greencoop { overflow: hidden; position: relative; display: flex; align-items: flex-end; margin-bottom: 140px; }
.about-greencoop .img { position: relative; align-self: normal; width: 50%; }
.about-greencoop .img .slider-control,
.about-greencoop .img .slider-control .slick-list,
.about-greencoop .img .slider-control .slick-track { height: 100%; }
.about-greencoop .img .slider-control .inner img { object-fit: cover; height: 100%; }
.about-greencoop .txt { width: 50%; padding: 75px 5.2% 3.8%; }
.about-greencoop .txt .logo { position: absolute; top: 70px; right: 70px; }

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

.about-greencoop .txt p { font-size: 1.6rem; }

.about-greencoop .txt .btn-wrap {
	display: grid;
	grid-template-columns: auto auto auto;
	gap: 0 15px;
	max-width: 55rem;
	margin: 9.5% -15px 0 0;
}

.about-greencoop .txt .btn-wrap .btn-link-ss a { padding-right: 14px; padding-left: 16px; }

@media (max-width: 1340px) {
	.about-greencoop .txt .logo { top: 45px; right: 45px; }
	.about-greencoop .txt p { margin-bottom: 14px; }
	.about-greencoop .txt p:nth-of-type(2) br { display: none; }
}

/* .about-message
------------------------------------*/
.about-message { position: relative; margin-bottom: 200px; }

.about-message-inner {
	display: flex;
	justify-content: space-between;
	width: 1050px;
	margin: 0 auto;
	transform: translateX(15px);
}

.about-message-inner .img { position: relative; padding-right: 60px; }

.about-message-inner .img h2 {
	margin-bottom: 30px;
	font-size: 1.6rem;
	letter-spacing: 0.14em;
}

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

.about-message-inner .img figure { position: absolute; bottom: 0; left: 0; }
.about-message-inner .txt { width: 600px; margin-top: 45px; }

.about-message-inner .txt p {
	font-size: 1.6rem;
	line-height: 2.3;
	letter-spacing: 0.05em;
	margin-bottom: 1.2em;
	text-align: justify;
}

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

.about-message-inner .name b {
	display: block;
	margin-bottom: 22px;
	font-weight: 600;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
}

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

.about-message-inner .name em {
	display: inline-block;
	color: var(--color-red-txt);
	font-family: var(--font-sans);
	font-size: 1.7rem;
	letter-spacing: 0.05em;
}

/* .about-organization
------------------------------------*/
.about-organization { position: relative; width: 1020px; margin: 0 auto 220px; }
.about-organization:before { display: none; }

.about-organization h2 {
	position: absolute;
	top: 0;
	left: 0;
	font-size: 2rem;
	letter-spacing: 0.14em;
	z-index: 2;
}

.about-organization h2 span { padding-bottom: 8px; }
.about-organization h2 span:after { width: calc(100% - 3px); height: 1.5px; }

.diagram-organization {
	position: relative;
	padding: 1rem 0 0 335px;
	font-weight: 600;
}

.diagram-organization .inner1 {
	position: absolute;
	top: 40.5rem;
	left: 55px;
	z-index: 1;
}

.diagram-organization .inner1:before,
.diagram-organization .inner2 .inner:before {
	display: block;
	content: '';
	position: absolute;
	top: 50%;
	left: -87px;
	transform: translateY(-50%);
	background-color: var(--color-black);
	width: 87px;
	height: 1px;
}

.diagram-organization .inner1:before { top: 55px; left: 0; transform: translateY(0); width: 194px; }

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

.diagram-organization .inner1 h3 {
	position: absolute;
	background-color: #FFFFFF;
	border: 1px solid #000;
	padding: 9px 4px 0;
	font-size: 1.6rem;
	letter-spacing: 0.55em;
	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: 0; left: 0; }
.diagram-organization .inner1 h3:nth-of-type(2) { top: 12px; left: 112px; }
.diagram-organization .inner1 h3:nth-of-type(3) { top: 110px; left: 56px; }

.diagram-organization .inner2 { position: relative; z-index: 0; }

.diagram-organization .inner2 .inner {
	position: relative;
	border: 1px solid var(--color-black);
	border-radius: 4px;
	margin-bottom: 60px;
	padding: 45px 30px 30px 40px;
}

.diagram-organization .inner2 .inner-child {
	display: inline-block;
	border: none;
	margin-top: -10px;
	margin-left: 1px;
	padding: 0 0 8px;
}

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

.diagram-organization .inner2 .inner-child-s {
	display: block;
	position: relative;
	background-color: #E3DFD2;
	padding: 32px 40px 32px;
}

.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: -50px; height: 50px; }
.diagram-organization .inner2 .inner-child-s:after { bottom: -48px; height: 48px; }

.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:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: -88px;
	background-color: var(--color-black);
	width: 1px;
	height: calc(100% + 65px);
}

.diagram-organization .inner2 .inner:first-of-type:after { top: 50%; }
.diagram-organization .inner2 .inner:last-of-type:after { display: none; }
.diagram-organization .inner2 .inner:nth-last-child(2):after { height: calc(100% + 60px); }

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

.diagram-organization .inner2 .inner.not-line h3 { margin-left: -10px; padding-left: 10px; }
.diagram-organization .inner2 .inner h4 { margin: 30px 0 20px -4px; font-size: 1.5rem; font-weight: 600; letter-spacing: 0.1em; }
.diagram-organization .inner2 .inner h4:first-child { margin-top: 0 !important; } 
.diagram-organization .inner2 .inner h4:last-child { margin-bottom: 10px; } 
.diagram-organization .inner2 .inner-child h4:last-child { margin-bottom: -2px; } 
.diagram-organization .inner2 .inner h4:has( + h4) { margin-bottom: -1px; }
.diagram-organization .inner2 .inner h4 { margin-top: 24px; }
.diagram-organization .inner2 .inner-child h4 { margin-top: 22px; margin-bottom: 16px; }

.diagram-organization .inner2 .inner ul { display: inline-block; vertical-align: top; }
.diagram-organization .inner2 .inner:nth-of-type(2) ul { margin-right: 57px !important; }
.diagram-organization .inner2 .inner ul.mr { margin-right: 40px; }
.diagram-organization .inner2 .inner li { font-size: min(1.4rem, 20px); font-weight: 500; }
.diagram-organization .inner2 .inner li:before { top: calc(0.6rem + 2px); }

.diagram-organization .inner2 .inner-even {
	display: flex;
	gap: 50px;
}

/* .about-headquarters
------------------------------------*/
.about-headquarters { width: 1020px; margin: 0 auto; }
.about-headquarters:before { display: none; }
.about-headquarters h2 { margin-bottom: 35px; font-size: 1.8rem; letter-spacing: 0.14em; }
.headquarters-list:after { top: 0; }
.headquarters-list .inner { display: flex; justify-content: space-between; padding: 17px 23px 32px 3px; }
.headquarters-list .inner,
.headquarters-list .inner h3 { font-size: 1.6rem; line-height: 1.6; letter-spacing: 0.1em; }
.headquarters-list .inner h3 { width: 32%; padding-right: 40px; }
.headquarters-list .inner address { width: 48%; line-height: 1.7; }
.headquarters-list .inner address span { letter-spacing: 0.04em; font-size: 1.4rem; }
.headquarters-list .inner .tel { width: 20%; text-align: right; letter-spacing: 0.04em; }
.headquarters-list .inner .tel a { pointer-events: none; }
.about-headquarters .btn-link { margin-top: 100px; }


/* page approach
---------------------------------------------------------------------------*/

/* .approach-img-main
------------------------------------*/
.approach-img-main { position: relative; overflow: hidden; margin: calc(27rem - 100px) 0 0; padding-bottom: 80px; z-index: 1; }
.slider-approach-nav { position: absolute; bottom: 0; right: 25px; }
.slider-approach { padding-top: 100px; }
.slider-approach .slick-list { overflow: visible; }

.slider-approach .inner { padding: 0 40px; transition: .6s var(--easeInOutCubic) .19s; }

.slider-approach .inner.slick-current,
.slider-approach .inner.active { margin-top: -100px; transition: .6s var(--easeInOutQuad); }

.slider-approach .inner img { border-radius: 60px; }
#approachContents .title-page-center { margin-top: -105px; padding-top: 0; }

/* .approach-wrap
------------------------------------*/
.approach-wrap { position: relative; margin: 90px 0 140px; padding: 0 0 100px; z-index: 1; }
.approach-wrap:after { display: block; content: ''; position: absolute; top: 100px; left: 0; width: 100%; height: calc(100% - 100px); z-index: -1; }
.approach-inner figure img { border-radius: 5px; }

.approach-inner h2 {
	font-weight: 600;
	font-size: 2.4rem;
	line-height: 1.7;
	letter-spacing: 0.1em;
}

.approach-inner p { font-size: 1.6rem; }
.approach1 { width: 1180px; margin: 0 auto 120px; text-align: center; }

.approach1 figure {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 0 25px;
	margin-bottom: 48px;
}

.approach1 .txt h2 { margin-bottom: 30px; letter-spacing: 0.16em; }
.approach1 .txt p { line-height: 2.3; transform: translateX(10px); }
.approach2 { display: flex; width: 1070px; margin: 0 auto 100px; }
.approach2 figure { width: 360px; min-width: 360px; }
.approach2 figure img:not(:last-of-type) { display: block; margin-bottom: 35px; }
.approach2 .txt { padding: 0 0 0 75px; transform: translateY(-5px); }
.approach2 .txt h2 { margin-bottom: 20px; line-height: 1.9; letter-spacing: 0.12em; }
.approach2 .txt h2:not(:first-of-type) { margin-top: 42px; }
.approach2 .txt p { line-height: 2.15; letter-spacing: 0.08em; }
.approach3 { width: 1135px; margin: 0 auto; }

.approach3 figure { display: grid; grid-template-columns: 1fr 1fr; gap: 0 25px; margin-bottom: 60px; }
.approach3 .txt { display: flex; padding: 0 20px 0 42px; }

.approach3 .txt h2 {
	margin-right: 80px;
	line-height: 1.9;
	letter-spacing: 0.16em;
	transform: translateY(-5px);
}

/* .approach-support
------------------------------------*/
.approach-support { width: 1150px; margin: 0 auto 110px; }

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

.approach-support-list { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 80px 35px; }
.approach-support-list .inner { position: relative; padding-bottom: 6.5rem; }
.approach-support-list figure { margin-bottom: 28px; }
.approach-support-list figure img { border-radius: 5px; }

.approach-support-list h3 {
	margin-bottom: 18px;
	font-weight: 600;
	font-size: 1.8rem;
	line-height: 1.7;
	letter-spacing: 0.14em;
	text-align: center;
}

.approach-support-list p { padding: 0 5px; letter-spacing: 0.06em; text-align: justify; }
.approach-support-list .btn-link { position: absolute; bottom: 0; left: 0; width: 100%; }
.approach-support-list .btn-link a { padding-top: 15px; font-weight: 600; font-size: 1.5rem; }

/* .approach-food
------------------------------------*/
.approach-food {
	display: flex;
	align-items: flex-end;
	background-color: #FFFFFF;
	border-radius: 10px;
	width: 1160px;
	margin: 0 auto;
	padding: 45px 55px;
}

.approach-food figure { align-self: flex-start; width: 275px; min-width: 275px; }
.approach-food figure img { border-radius: 5px; }
.approach-food .txt { padding: 0 0 0 56px; transform: translateY(5px); }

.approach-food .txt h2 {
	margin: 0 0 12px 1px;
	font-weight: 600;
	font-size: 2.1rem;
	line-height: 1.7;
	letter-spacing: 0.12em;
}

.approach-food .txt p { line-height: 2.15; letter-spacing: 0.1em; }


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

/* .history-title
------------------------------------*/
.history-title { margin: 0 0 95px; padding: 21.5rem 50px 0; }
.history-title h2 { margin-bottom: 12px; }
.history-title h1 { margin-bottom: 45px; }
.history-title p { font-size: 1.4rem; line-height: 2.1; letter-spacing: 0.14em; }

/* .history-year
------------------------------------*/
.history-year { display: flex; max-width: 1600px; margin-bottom: 160px; padding-right: 8.5%; }
.history-year:has(.history-chronology){ max-width: 100%; padding-right: 0; }
.history-year:last-child { margin-bottom: 0; }

.history-year-title {
	align-self: flex-start;
	position: sticky;
	top: 180px;
	left: 0;
	width: 420px;
	min-width: 32%;
	margin-top: 5px;
	padding: 0 50px;
}

.history-year-title:has(h2):before {
	display: block;
	content: '';
	position: absolute;
	top: 21px;
	left: 0;
	background-color: var(--color-green);
	width: 38px;
	height: 2px;
}

.history-year-title h2 {
	margin-bottom: 23px;
	color: var(--color-green);
	font-family: var(--font-sans);
	font-size: 4.2rem;
	font-weight: 300;
	letter-spacing: 0.03em;
}

.history-year-title h3 {
	margin-left: 1px;
	font-size: 2rem;
	line-height: 1.85;
	letter-spacing: 0.12em;
}

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

@media (max-width: 1340px) {
	.history-year { padding-right: 4%; }
	.history-year.year1993 { padding-right: 8.5%; }
	.history-year-title { min-width: 30%; }
	.history-year-title h3 { font-size: 1.8rem; }
}

/* .history-year-contents
------------------------------------*/
.history-year-contents { width: 100%; padding: 0 5px; }
.history-year:has(.history-chronology) .history-year-contents { position: relative; padding: 0; }

.history-year:has(.history-chronology) .history-year-contents:before {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	right: 0;
	background-color: var(--color-bg);
	width: 35px;
	height: 3px;
}

.history-year-contents > h4,
.history-txt-left h4 {
	margin: 2px 0 18px;
	font-size: 2.1rem;
	line-height: 1.9;
	letter-spacing: 0.16em;
}

.history-year-contents > h4:not(:first-child) { margin-top: 80px; }

.history-year-contents p {
	margin-bottom: 0.8em;
	font-size: 1.6rem;
	line-height: 2.2;
	letter-spacing: 0.1em;
	text-align: justify;
}

.history-year-contents > p:first-child { margin-top: 2px; }

.history-img-column2 { display: flex; justify-content: space-between; margin-bottom: 60px; }
.history-img-column2 picture { width: calc(50% - 0.5px); }
.history-img-column2 img { width: 100%; border-radius: 5px; }
.history-img-column2 img:first-of-type { margin-right: 1px; }

/* .history-kousou
------------------------------------*/
.history-kousou { position: relative; min-height: 460px; }
.history-kousou figure { position: absolute; top: 15px; right: 0; }

.history-kousou h4,
.history-kousou h5,
.history-kousou p:not(.attention) { padding-right: 565px; }

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

.history-kousou h5 {
	margin-bottom: 20px;
	font-weight: 400;
	font-size: 3.4rem;
	line-height: 1.7;
	letter-spacing: 0.16em;
}

.history-kousou p {
	font-size: 1.6rem;
	line-height: 2.1;
	text-align: justify;
}

.history-kousou p.attention {
	margin: 26px 0 0;
	font-size: 1.6rem;
	line-height: 2.1;
	letter-spacing: 0.07em;
}

@media (max-width: 1340px) {
	.history-year-contents { width: 76% !important; }
	.history-kousou figure { right: -10px }
	.history-kousou h4, .history-kousou h5, .history-kousou p:not(.attention) { padding-right: 535px; }
}

/* .history-plan
------------------------------------*/
.history-plan { width: 100%; margin-top: 25px; }

.history-plan .inner { display: flex; }
.history-plan .inner.pickup { width: calc(100% + 24px); transform: translateX(-12px); }

.history-plan h5,
.history-plan h6,
.history-plan .inner > div { border-top: 1px solid var(--color-border-black); }

.history-plan .inner:last-of-type h6,
.history-plan .inner:last-of-type > div { border-top: none; }

.history-plan .inner.pickup h6,
.history-plan .inner.pickup > div,
.history-plan .inner:last-of-type h6,
.history-plan .inner:last-of-type > div { border-bottom: 1px solid var(--color-border-black); }

.history-plan h5:nth-of-type(1),
.history-plan h6 { width: 75px; min-width: 75px; }

.history-plan h5:nth-of-type(2),
.history-plan h5:nth-of-type(3),
.history-plan .inner > div { width: 430px; }

.history-plan .inner h5,
.history-plan .inner h6,
.history-plan .inner > div { border-right: 1px solid var(--color-border-black); }

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

.history-plan h5,
.history-plan h6 { background-color: var(--color-bg); }

.history-plan h5 {
	padding: 15px 15px;
	font-weight: 600;
	font-size: 1.5rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
	text-align: center;
}

.history-plan h6 {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 15px 15px;
	font-weight: 600;
	font-size: 1.5rem;
	letter-spacing: 0.4em;
}

.history-plan h6 span {
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.history-plan .inner.pickup h6 {
	background-color: var(--color-red);
	color: #FFFFFF;
	font-size: 1.7rem;
}

.history-plan .inner > div {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	background-color: #FFFFFF;
	padding: 32px 40px 30px;
}

.history-plan .inner.pickup > div {
	background-color: #FFF7F4;
	width: 442px;
	padding-top: 45px;
	padding-bottom: 45px;
}

.history-plan .inner.pickup > div:nth-of-type(1) { padding-left: 46px; }
.history-plan .inner.pickup > div:nth-of-type(2) { padding-right: 46px; }
.history-plan .inner > div > * { width: 100%; }

.history-plan .inner > div p {
	margin-bottom: 0.6em;
	font-size: 1.5rem;
	line-height: 2;
	letter-spacing: 0.08em;
}

.history-plan .inner .dot-list li { margin-bottom: 5px; }
.history-plan .inner .dot-list li:last-of-type { margin-bottom: 0; }

/* .history-txt-left
------------------------------------*/
.history-txt-left { display: flex; justify-content: space-between; }
.history-txt-left .txt { padding-right: 8%; }
.history-txt-left .txt p { font-size: 1.6rem; letter-spacing: 0.08em; text-align: justify; }

.history-txt-left .box-needs {
	align-self: flex-start;
	position: relative;
	background-color: #F2EEDF;
	border-radius: 33px;
	min-width: 280px;
	margin-top: 10px;
	padding: 5rem 28px 40px 32px;
}

.history-txt-left .box-needs h5 {
	position: absolute;
	top: -0.9rem;
	left: 0;
	width: 100%;
	font-weight: 600;
	font-size: 1.4rem;
	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: 15px; }
.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.1em;
	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: 15px;
	font-size: 1.6rem;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

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

/* .history-img-left
------------------------------------*/
.history-img-left { display: flex; margin-top: 22px; }
.history-img-left figure { width: 360px; min-width: 360px; margin-top: 8px; }
.history-img-left .txt { padding: 0 0 0 38px; }
.history-img-left .txt p { margin-bottom: 1em; line-height: 2.1; letter-spacing: 0.06em; }

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

.history-dl-line > div {
	display: -webkit-box;
	display: flex;
	border-top: 1px solid var(--color-border-beige);
	margin-bottom: 50px;
	padding-top: 22px;
}

.history-dl-line > div:last-of-type { margin-bottom: 0; }

.history-dl-line dt {
	width: 220px;
	min-width: 220px;
	padding-right: 40px;
	font-size: 1.6rem;
	line-height: 1.85;
	letter-spacing: 0.12em;
}

.history-dl-line dd,
.history-dl-line dd p,
.history-dl-line dd .num-list li {
	font-size: 1.6rem;
	line-height: 2.1;
	letter-spacing: 0.1em;
}

.history-dl-line dd .num-list li { margin-bottom: 2px; }

/* .history-graph
------------------------------------*/
.history-graph {
	overflow: hidden;
	background-color: #FFFFFF;
	border: 1px solid var(--color-black);
	border-radius: 5px;
	max-width: 860px;
	margin-top: 80px;
}

.history-graph .inner { padding: 25px 20px 45px; }
.history-graph .inner:not(:last-child) { border-bottom: 1px solid var(--color-black); }

.history-graph .inner h5 {
	margin-bottom: 45px;
	font-size: 1.6rem;
	line-height: 1.4;
	letter-spacing: 0.12em;
}

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

/* .history-chronology
------------------------------------*/
.history-chronology-btn,
.history-chronology-btn-close { display: none !important; }
.history-year-contents:has(.history-chronology) { overflow: hidden; }

.history-chronology { overflow-x: scroll; padding: 10px 35px 15px 0; }
.history-chronology::-webkit-scrollbar { height: 3px; }
.history-chronology::-webkit-scrollbar-track { background: var(--color-bg-beige); }
.history-chronology::-webkit-scrollbar-thumb { background: var(--color-black); }

.chronology-head {
	display: flex;
	width: fit-content;
	margin-bottom: 35px;
	padding-left: 7rem;
}

.chronology-head > div {
	position: relative;
	background-color: #DCE5DA;
	border-radius: 5px 0 0 5px;
	margin-right: 50px;
	padding: 18px 0 17px 20px;
	text-align: center;
	white-space: nowrap;
}

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

.chronology-head > div strong {
	display: inline-block;
	font-family: var(--font-sans);
	font-size: 2.2rem;
	font-weight: 500;
	padding-right: 14px;
	letter-spacing: 0.01em;
}

.chronology-head > div em {
	display: inline-block;
	font-weight: 600;
	font-size: 1.3rem;
	letter-spacing: 0.1em;
	transform: translateY(-0.2rem);
}

.chronology-head .year1 { width: calc(8rem * 11 - 50px); }
.chronology-head .year2 { width: calc(8rem * 8 - 50px); }
.chronology-head .year3 { width: calc(8rem * 15 - 50px); }

/* .chronology-body
------------------------------------*/
.chronology-body { display: flex; background-color: #FFFFFF; width: fit-content; }
.chronology-body:nth-of-type(1) h4 span,
.chronology-body:nth-of-type(1) > div { border-top: 1px solid var(--color-black); }
.chronology-body:last-child { border-radius: 0 0 5px 5px; }
.chronology-body h4,
.chronology-body.head > div:first-child { width: 7rem; min-width: 7rem; }

.chronology-body h4 {
	position: sticky;
	top: 0;
	left: 0;
	font-weight: 600;
	font-size: 1.3rem;
	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-left: 1px solid var(--color-black);
	border-bottom: 1px solid var(--color-black);
	width: 100%;
	height: 100%;
	padding: 22px 22px 22px 20px;
	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-radius: 0 0 0 5px; }

.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: 8rem;
	min-width: 8rem;
	padding-left: 11px;
	padding-bottom: 13px;
}

.chronology-body > div:nth-of-type(1) { background: none; }
.chronology-body > div.last { border-right: 1px solid var(--color-black); }
.chronology-body:first-of-type > div.last { border-radius: 0 5px 0 0; }
.chronology-body:last-of-type > div.last { border-radius: 0 0 5px 0; }
.chronology-body.head { background: none; }
.chronology-body.head > div { position: relative; background: none; border-bottom: none; }

.chronology-body.head > div:before {
	display: block;
	position: absolute;
	top: -6px;
	left: -16px;
	font-family: var(--font-sans);
	font-size: 13px;
	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: 17px;
	margin-top: var(--chronology-body-mt);
	--chronology-body-dt-fs: 1.1rem;
	--chronology-body-dt-mb: 7px;
	--chronology-body-dd-fs: 1.3rem;
	--chronology-body-dd-mb: 3px;
	--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: -13px;
	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 {
	margin-bottom: var(--chronology-body-dd-mb);
	font-weight: 600;
	font-size: var(--chronology-body-dd-fs);
	line-height: 1.5;
	letter-spacing: 0.06em;
}

.chronology-body:nth-of-type(1) .year2014 dl,
.chronology-body:nth-of-type(2) .year2004 dl,
.chronology-body:nth-of-type(4) .year2014 dl,
.chronology-body:nth-of-type(5) .year2011 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.2));
}

.chronology-body:nth-of-type(1) .year2019 dl,
.chronology-body:nth-of-type(5) .year2003 dl,
.chronology-body:nth-of-type(6) .year2008 dl,
.chronology-body:nth-of-type(6) .year2023 dl {
	margin-top: calc(var(--chronology-body-dl-dt) + ((var(--chronology-body-dl-dd)) * 1.7));
}

.chronology-body:nth-of-type(2) .year1994 dl,
.chronology-body:nth-of-type(2) .year2001 dl,
.chronology-body:nth-of-type(3) .year2012 dl,
.chronology-body:nth-of-type(5) .year2017 dl,
.chronology-body:nth-of-type(7) .year2024 dl {
	margin-top: calc(var(--chronology-body-dl-dt) + ((var(--chronology-body-dl-dd)) * 1.9));
}

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

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

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

.chronology-body:nth-of-type(4) .year2015 dl,
.chronology-body:nth-of-type(5) .year2012 dl,
.chronology-body:nth-of-type(5) .year2014 dl,
.chronology-body:nth-of-type(7) .year2018 dl {
	margin-top: calc(var(--chronology-body-dl-dt) + ((var(--chronology-body-dl-dd)) * 2.9));
}

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

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

.chronology-body:nth-of-type(1) .year2015 dl,
.chronology-body:nth-of-type(2) .year2006 dl,
.chronology-body:nth-of-type(2) .year2009 dl,
.chronology-body:nth-of-type(2) .year2011 dl {
	margin-top: calc(var(--chronology-body-dl-dt) + ((var(--chronology-body-dl-dd)) * 3.7));
}

.chronology-body:nth-of-type(1) .year2018 dl,
.chronology-body:nth-of-type(2) .year2021 dl,
.chronology-body:nth-of-type(6) .year2024 dl {
	margin-top: calc(var(--chronology-body-dl-dt) + ((var(--chronology-body-dl-dd)) * 3.9));
}

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

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

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

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

/* .history-kikin
------------------------------------*/
.history-kikin { display: flex; margin-bottom: 100px; }

.history-kikin .title {
	width: 290px;
	min-width: 290px;
	padding-right: 60px;
}

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

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

.history-kikin .title .logo {
	display: block;
	margin-left: 30px;
}

.history-kikin .txt h5 {
	margin-bottom: 25px;
	font-size: 2rem;
	line-height: 1.9;
	letter-spacing: 0.15em;
}

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

.history-kikin .txt h5 span {
	display: inline-block;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
	transform: translateY(-1px);
}

.history-kikin .txt h5 i.space {
	display: inline-block;
	width: 12px;
}

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

/* .josei-list 
------------------------------------*/
.josei-list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px 30px;
	align-items: flex-start;
	margin-bottom: 70px;
}

.josei-list .inner { display: flex; flex-wrap: wrap; align-items: flex-start; }
.josei-list figure { order: 1; border: 4px solid #FFFFFF; width: 100%; margin-bottom: 20px; }
.josei-list figure img { width: 100%; }
.josei-tag { order: 2; display: flex; flex-wrap: wrap; width: 100%; margin-bottom: 8px; }
.josei-list .josei-tag,
.history-kikin .txt .josei-list .txt { padding: 0 4px; }

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

.josei-tag h6 {
	order: 3;
	width: 100%;
	margin-top: 10px;
	color: var(--color-green);
	font-weight: 600;
	font-size: 1.6rem;
	line-height: 1.4;
	letter-spacing: 0.12em;
}

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

.history-kikin .txt .josei-list .txt { order: 3; }

.history-kikin .txt .josei-list p {
	font-size: 1.3rem;
	line-height: 1.9;
	letter-spacing: 0.06em;
	text-align: justify;
}

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

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

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

.josei-list-other .josei-tag h6 {
	order: 2;
	width: auto;
	margin-top: 0;
	margin-right: 10px;
	transform: translateY(-0.1rem);
}

.josei-list-other .josei-tag span { order: 3; transform: translateY(3px); }
.history-kikin .txt .josei-list-other p { font-size: 1.4rem; line-height: 2; }

/* .history-kikin-other
------------------------------------*/
.history-kikin-other { display: flex; }
.history-kikin-other:not(:last-child) { margin-bottom: 80px; }
.history-kikin-other figure { width: 230px; min-width: 230px; }
.history-kikin-other figure img { border-radius: 8px; }
.history-kikin-other .txt { padding-left: 64px; }

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

.history-kikin-other h5 {
	margin-bottom: 20px;
	font-size: 2.1rem;
	line-height: 1.7;
	letter-spacing: 0.17em;
}

.history-kikin-other p { font-size: 1.5rem; text-align: justify; }
.history-kikin-other .btn-link-m { display: inline-block; margin-top: 10px; }


/* page workers
---------------------------------------------------------------------------*/
#workersContents .title-page-center { padding-top: 0; }

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

.btn-recruit-fix a {
	display: block;
	background: url(img/share/btn-play.svg) no-repeat left 25px top calc(0.85rem - 11px + 14px) / 24px auto;
	padding: 16px 26px 15px 58px;
	font-weight: 600;
	font-size: 1.6rem;
	letter-spacing: 0.1em;
	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: 17px;
	height: 14px;
	transform: translateY(1px);
}

.workers-about { margin-top: -65px !important; padding-top: 65px !important; }
.workers-life,
.workers-day { margin-top: -187px !important; padding-top: 187px !important; }
.workers-movie,
.workers-qa {	margin-top: -140px !important; padding-top: 140px !important; }

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

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

.workers-page-nav-btn:hover > span { opacity: 0.7; }

.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: 8px; }
.workers-page-nav-btn > span span:nth-of-type(3) { bottom: 0; }

.workers-page-nav-btn.active > span span:nth-of-type(1) { width: 34px; transform: translateY(8px) 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: 34px; transform: translateY(-8px) 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: 180px;
	left: 60px;
	background-color: #FFFFFF;
	box-shadow: -1px 4px 7px rgba(148, 139, 123, 0.56);
	border-radius: 18px;
	max-height: calc(100vh - 240px);
	padding: 80px 14px 30px 34px;
	z-index: 301;
	opacity: 0;
}

.workers-page-nav-inner {
	overflow-y: scroll;
	max-height: calc(100vh - 350px);
	padding-right: 30px;
}

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

.workers-page-nav h2 { margin: 30px 0 20px; }
.workers-page-nav h2:first-of-type { margin-top: 0; }
.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-decoration-thickness: 1px;
	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.6rem;
	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.08em;
	transform: translateY(4px);
}

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

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

/* .workers-main-img
------------------------------------*/
.workers-main-img { position: relative; overflow: hidden; margin: 14rem 0 80px; }
.workers-main-img .slider-loop { margin-bottom: 2px; }
.workers-main-img .slider-loop .inner { padding-right: 2px; }
.workers-main-img .slider-loop-nav { bottom: 110px; right: 25px; }
.workers-main-img h2 { position: relative; margin-top: -22px; text-align: center; z-index: 1; }

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

.workers-about-inner {
	background-color: var(--color-bg-green);
	border-radius: 85px;
	padding: 100px 125px 125px;
}

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

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

.workers-about-lead p {
	margin-bottom: 0.8em;
	font-size: 1.7rem;
	line-height: 2.35;
	letter-spacing: 0.1em;
}

.workers-about-lead .count {
	display: inline-block;
	position: relative;
	margin-top: 45px;
	padding-bottom: 3.2rem;
	font-weight: 600;
	color: var(--color-green-dark);
}

.workers-about-lead .count span {
	display: inline-block;
	margin: 0 9px;
	font-size: 3.4rem;
	letter-spacing: 0.1em;
}

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

.workers-about-lead .count .attention {
	position: absolute;
	bottom: 0;
	right: 16px;
	font-size: 1.3rem;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

/* .workers-about-list
------------------------------------*/
.workers-about-list { margin-bottom: 120px; }
.workers-about-list .inner { position: relative; display: flex; }
.workers-about-list .inner:not(:last-of-type) { margin-bottom: 45px; }
.workers-about-list .inner .pic { display: block; position: absolute; pointer-events: none; }
.workers-about-list .inner:nth-of-type(1) .pic { top: -5px; left: -60px; z-index: 1; }
.workers-about-list .inner:nth-of-type(2) .pic { bottom: -15px; right: -20px; z-index: 1; }
.workers-about-list .inner:nth-of-type(4) .pic { bottom: -75px; right: -60px; z-index: 1; }
.workers-about-list .inner:nth-of-type(5) .pic { bottom: -75px; left: -80px; z-index: 1; }
.workers-about-list figure { width: 212px; min-width: 212px; }
.workers-about-list figure img { border-radius: 6px; }
.workers-about-list .txt { padding: 2px 0 0 44px; }

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

.workers-about-list .txt p {
	font-size: 1.6rem;
	letter-spacing: 0.1em;
	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: -190px; padding-top: 190px; }

.workers-about-comparison {
	position: relative;
	background-color: #FFFFFF;
	border-radius: 30px;
	width: 830px;
	margin: 0 auto;
	padding: 85px 62px 75px;
}

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

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

.workers-about-comparison .txt h2 {
	position: relative;
	display: inline-block;
	margin-bottom: 15px;
	color: var(--color-green);
	font-weight: 600;
	font-size: 1.6rem;
	line-height: 1.7;
	letter-spacing: 0.21em;
	transform: translateX(5px);
}

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

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

.workers-about-comparison .txt h3 {
	display: inline-block;
	margin-bottom: 35px;
	color: var(--color-green);
	font-weight: 600;
	font-size: 2.5rem;
	line-height: 1.7;
	letter-spacing: 0.17em;
	transform: translateX(5px);
}

.workers-about-comparison .txt h3 span.line-dot-green:after { display: none; }
.workers-about-comparison .txt p { font-size: 1.7rem; line-height: 2.1; text-align: justify; }

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

.workers-about-comparison th,
.workers-about-comparison td {
	position: relative;
	border-bottom: 1px solid #CDDEC9;
	padding: 18px 2px 6px;
	font-weight: 600;
	font-size: 1.4rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
	text-align: center;
}

.workers-about-comparison th:not(:first-of-type):after,
.workers-about-comparison td:after {
	display: block;
	content: '';
	position: absolute;
	bottom: -1px;
	left: 0;
	background-color: #FFFFFF;
	width: 12px;
	height: 1px;
	z-index: 1;
}

.workers-about-comparison th { color: var(--color-green); }
.workers-about-comparison tr:first-of-type th:nth-of-type(2) { font-size: 1.6rem; }
.workers-about-comparison tr:first-of-type th:nth-of-type(2),
.workers-about-comparison tr:first-of-type th:nth-of-type(3) { width: 44%; padding-right: 10px; padding-left: 10px; }
.workers-about-comparison th:first-of-type:last-of-type { padding-right: 12px; text-align: left; white-space: nowrap; }
.workers-about-comparison th span { padding-left: 2px; }

/* .workers-tellme
------------------------------------*/
.workers-tellme { width: 1200px; margin: 0 auto 120px; }

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

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

.workers-tellme .txt p {
	font-size: 1.6rem;
	line-height: 2.1;
	letter-spacing: 0.16em;
}

.workers-tellme .txt p.attention {
	padding-top: 6px;
	font-size: 1.4rem;
	letter-spacing: 0.12em;
}

.workers-tellme figure { display: flex; justify-content: space-between; }
.workers-tellme figure img { align-self: flex-start; border-radius: 5px; }

/* .workers-sec-title
------------------------------------*/
.workers-slider-wrap { overflow: hidden; }
body.workers-interview .workers-slider-wrap { background-color: var(--color-bg-green); margin-top: 140px; padding: 100px 0 0; }
body.workers-interview .workers-slider:before { background-color: var(--color-bg-green); }
.workers-slider-wrap > section { width: 90%; max-width: 1200px; margin: 0 auto; }
.workers-sec-title { margin-bottom: 55px; padding-right: 180px; }
.workers-sec-title h2 { margin-bottom: 30px; font-size: 0; }

.workers-sec-title h2 em {
	display: block;
	margin: 0 0 26px 1px;
	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 { font-size: 1.7rem; line-height: 1.7; letter-spacing: 0.12em; }

@media (max-width: 1340px) {
	.workers-slider .slick-arrow { margin-left: -40px; }
}

/* .workers-life
------------------------------------*/
.workers-slider-wrap .workers-life { margin-bottom: 110px; }
.workers-slider { position: relative; display: flex; margin-left: -10px; }

.workers-slider:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: calc(-50vw - 15px);
	background-color: var(--color-bg);
	width: 50vw;
	height: calc(100% + 15px);
	z-index: 1;
}

.workers-slider .slick-list { overflow: visible; }

.workers-slider .slick-arrow {
	position: absolute;
	top: -110px;
	background: url(img/share/ico-arrow-btn-red2-l.svg) no-repeat left top;
	width: 52px;
	height: 52px;
	text-indent: -9999px;
	transition: .15s ease-out;
}

.workers-slider .slick-prev { left: 1070px; transform: scaleX(-1); }
.workers-slider .slick-next { left: 1135px; }
.workers-slider .slick-arrow:hover { opacity: 0.7; }
.workers-slider + .attention { margin-top: 15px; font-size: 1.4rem; }
.workers-slider .inner { background: #FFFFFF; box-shadow: 5px 9px 9px rgba(0,0,0,0.02); border-radius: 10px; }
.workers-life-slider .inner { display: block; width: 375px; margin-right: 35px; padding: 30px 30px 35px; }
.workers-life-slider .inner figure { margin-bottom: 24px; }
.workers-life-slider .inner figure img { border-radius: 8px; }
.workers-life-slider .inner .txt { padding: 0 4px; }

.workers-life-slider .inner h3 {
	position: relative;
	margin-bottom: 5px;
	padding-right: 50px;
	font-size: 2rem;
	line-height: 1.7;
	letter-spacing: 0.1em;
}

.workers-life-slider .inner h3 span {
	padding-left: 2px;
	font-size: 1.4rem;
	letter-spacing: 0.12em;
}

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

.workers-life-slider .inner h4 {
	margin: 0 0 18px 1px;
	color: var(--color-green);
	font-weight: 600;
	font-size: 1.5rem;
	line-height: 1.7;
	letter-spacing: 0.12em;
}

.workers-life-slider .inner h5 {
	font-size: 1.5rem;
	line-height: 1.7;
	letter-spacing: 0.11em;
}

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

/* .workers-day
------------------------------------*/
.workers-slider-wrap .workers-day { margin-bottom: 150px; }

.workers-day-slider .inner {
	width: 548px;
	margin-right: 50px;
	padding: 32px 38px 38px;
}

.workers-day-slider .inner .title {
	display: flex;
	justify-content: space-between;
	margin-bottom: 50px;
	padding-right: 6px;
}

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

.workers-day-slider .inner h4 {
	color: var(--color-green);
	font-weight: 600;
	font-size: 1.5rem;
	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.9;
	letter-spacing: 0.03em;
}

.workers-day-slider .inner dl > div {
	display: -webkit-box;
	display: flex;
	border-top: 1px solid var(--color-black);
	padding: 10px 6px 22px 0;
}

.workers-day-slider .inner dl > div.min-height3 dd { min-height: calc(3em + (0.9em * 3)); }
.workers-day-slider .inner dl > div.min-height4 dd { min-height: calc(3em + (0.9em * 5.15)); }
.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 {
	width: 120px;
	min-width: 120px;
	padding-right: 20px;
	color: var(--color-green);
	font-weight: 600;
}

.workers-day-slider .inner dl > div.schedule dt { width: 100%; margin-bottom: 10px; padding-right: 0; }
.workers-day-slider .inner dd { text-align: justify; }
.workers-day-slider .inner dl > div.schedule dd img { margin-left: -10px; }

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

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

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

.workers-qa .lead p {
	font-size: 1.6rem;
	line-height: 2.1;
	letter-spacing: 0.16em;
}

.workers-qa dl {
	margin-bottom: 80px;
	padding-right: 5px;
	padding-left: 58px;
}

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

.workers-qa dt {
	position: relative;
	margin-bottom: 16px;
	color: var(--color-green);
	font-weight: 600;
	font-size: 1.9rem;
	line-height: 2;
	letter-spacing: 0.12em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

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

.workers-qa dd p {
	font-size: 1.6rem;
	line-height: 2.1;
	text-align: justify;
}

.workers-qa .support { position: relative; }
.workers-qa .support figure { position: absolute; top: 0; right: 5px; width: 253px; }
.workers-qa .support .txt { padding-left: 5px; }

.workers-qa .support h3 {
	margin-bottom: 16px;
	color: var(--color-green);
	font-weight: 600;
	font-size: 1.9rem;
	line-height: 2;
	letter-spacing: 0.14em;
}

.workers-qa .support h3,
.workers-qa .support p {
	padding-right: 300px;
}

.workers-qa .support p {
	margin-bottom: 0.8em;
	font-size: 1.5rem;
	letter-spacing: 0.12em;
}

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

.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: 4px;
	font-size: 1.4rem;
	line-height: 1.7;
	letter-spacing: 0.12em;
}

/* .workers-recruit
------------------------------------*/
.workers-recruit { width: 1010px; margin: 0 auto; text-align: center; }
.workers-recruit h2 { margin-bottom: 42px; }
.workers-recruit p { font-size: 1.8rem; }
.workers-recruit .btn-link { margin-top: 60px; }


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

/* .interview-main
------------------------------------*/
.interview-main { margin-bottom: 125px; padding: 14rem 37px 0; }
.interview-main figure { margin-bottom: 30px; }
.interview-main figure img { border-radius: 10px; width: 100%; }
.interview-main section { display: flex; justify-content: space-between; }
.interview-main .title { font-weight: 600; }

.interview-main .title h1 {
	margin-bottom: 12px;
	font-size: 2.6rem;
	line-height: 1.3;
	letter-spacing: 0.16em;
}

.interview-main .title h1 span,
.interview-main .title h2 {
	display: inline-block;
	background-color: #FFFFFF;
}

.interview-main .title h1 span { padding: 0 5px 0 7px; }
.interview-main .title h1 span:has(+ br) { padding-right: 0; }
.interview-main .title h1 br + span { padding-left: 0; }

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

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

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

.interview-main .title h2 span {
	padding-right: 4px;
	font-size: 1.4rem;
	letter-spacing: 0.14em;
}

.interview-main dl { margin-right: 4px; margin-left: 40px; }

.interview-main dl > div {
	margin-bottom: 12px;
	line-height: 1.6;
	text-align: right;
}

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

.interview-main dt {
	display: inline-block;
	border-radius: 20px;
	margin-right: 10px;
	padding: 2px 14px 2px 16px;
	font-weight: 600;
	font-size: 1.4rem;
	letter-spacing: 0.14em;
	transform: translateY(-0.1rem);
}

.interview-main dd {
	display: inline-block;
	font-size: 1.6rem;
	letter-spacing: 0.14em;
}

/* .interview-lead
------------------------------------*/
.interview-lead {
	position: relative;
	margin-bottom: 80px;
	padding: 65px 60px 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 {
	line-height: 2.55;
	letter-spacing: 0.16em;
	text-align: center;
}

/* .interview-section
------------------------------------*/
.interview-section { width: 1026px; margin: 0 auto 130px; }
.interview-section figure { margin-bottom: 90px; }
.interview-section figure picture:not(:last-of-type) { display: block; margin-bottom: 40px; }

.interview-section h2 {
	margin-bottom: 60px;
	font-weight: 600;
	font-size: 2.4rem;
	line-height: 1.7;
	letter-spacing: 0.16em;
	text-align: center;
}

.interview-section dl { width: 780px; margin: 0 auto; }
.interview-section dl > div:not(:last-of-type) { margin-bottom: 60px; }

.interview-section dt {
	position: relative;
	margin-bottom: 16px;
	font-weight: 600;
	font-size: 1.6rem;
	line-height: 2.2;
	letter-spacing: 0.12em;
}

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

.interview-section dd { position: relative; }

.interview-section dd,
.interview-section dd p {
	font-size: 1.6rem;
	line-height: 2.2;
	letter-spacing: 0.1em;
	text-align: justify;
}

.interview-section dd .name {
	position: absolute;
	top: 0;
	left: -123px;
	width: calc(123px - 11px);
	text-align: right;
	white-space: nowrap;
}

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

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

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

/* .timeline-schedule
------------------------------------*/
.timeline-schedule {
	display: flex;
	justify-content: space-between;
	border-top: 1px solid #000000;
	border-bottom: 1px solid #000000;
	width: 100%;
	padding: 0 0 0 12px;
}

.timeline-schedule .inner {
	position: relative;
	background: url(img/share/line-dot-v.svg) repeat-y left top;
	width: 87px;
	min-width: 87px;
	padding: 22px 0 12px;
}

.timeline-schedule .inner:last-of-type { width: 25px; min-width: 25px; }

.timeline-schedule .inner .time {
	position: absolute;
	bottom: -2.6rem;
	left: 1px;
	width: 4.4rem;
	font-size: 1.2rem;
	letter-spacing: 0.04em;
	white-space: nowrap;
	transform: translateX(-50%);
}

.timeline-schedule .inner li {
	position: relative;
	width: 90px;
	margin-bottom: 15px;
	text-align: left;
}

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

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

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

.timeline-schedule .inner li strong span { font-size: 1.2rem; }

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

.timeline-schedule.interview2 .inner:nth-of-type(1) li:nth-of-type(1) { margin-left: 20px; }
.timeline-schedule.interview2 .inner:nth-of-type(1) li:nth-of-type(2) { margin-left: 52px; }
.timeline-schedule.interview2 .inner:nth-of-type(2) li:nth-of-type(1) { width: 130px; margin-top: 9.3rem; margin-left: 78px; }
.timeline-schedule.interview2 .inner:nth-of-type(3) li:nth-of-type(1) { margin-left: 10px; }
.timeline-schedule.interview2 .inner:nth-of-type(4) li:nth-of-type(1) { margin-left: 65px; }
.timeline-schedule.interview2 .inner:nth-of-type(4) li:nth-of-type(2) { width: 150px; margin-left: 82px; }
.timeline-schedule.interview2 .inner:nth-of-type(5) li:nth-of-type(1) { margin-top: 11.4rem; margin-left: 10px; }
.timeline-schedule.interview2 .inner:nth-of-type(5) li:nth-of-type(2) { margin-left: 65px; }
.timeline-schedule.interview2 .inner:nth-of-type(5) li:nth-of-type(2) strong { margin-bottom: 0; }
.timeline-schedule.interview2 .inner:nth-of-type(5) li:nth-of-type(3) { position: absolute; top: 22px; left: 80px; width: 280px; }
.timeline-schedule.interview2 .inner:nth-of-type(8) li:nth-of-type(1) { margin-top: 5.5rem; margin-left: 10px; }
.timeline-schedule.interview2 .inner:nth-of-type(10) li:nth-of-type(1) { width: 150px; margin-left: 30px; }
.timeline-schedule.interview2 .inner:nth-of-type(10) li:nth-of-type(2) { width: 150px; margin-left: 35px; }

/* .interview-profile
------------------------------------*/
.interview-profile {
	position: relative;
	background-color: #FFFFFF;
	border: 1px solid #A8A8A8;
	border-radius: 5px;
	width: 1140px;
	margin: 150px auto 0;
	padding: 85px 500px 75px 85px;
}

.interview-profile figure { position: absolute; top: 85px; right: 100px; }
.interview-profile figure.mt { top: 130px; }
.interview-profile h2 { margin-bottom: 14px; }

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

.interview-profile h2 em:not(:last-child):after {
	display: block;
	content: '';
	position: absolute;
	top: -2px;
	right: -17px;
	background-color: #A8A8A8;
	width: 1px;
	height: calc(1.4rem + 6px);
}

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

.interview-profile h3 {
	margin-bottom: 22px;
	font-weight: 600;
	font-size: 2.1rem;
	line-height: 2;
	letter-spacing: 0.12em;
}

.interview-profile p {
	margin-bottom: 20px;
	font-size: 1.5rem;
	line-height: 2.1;
	letter-spacing: 0.09em;
	text-align: justify;
}

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

.interview-profile dl > div {
	position: relative;
	margin-bottom: 25px;
	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: 0;
	background-color: var(--color-yellow-light);
	border-radius: 4px;
	width: 4px;
	height: 100%;
}

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

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

.interview-profile dd a { pointer-events: none; }


/* page service 
---------------------------------------------------------------------------*/
.service-message.line-top,
.service-list.line-top { margin-top: 70px; padding-top: 210px; }
.service-message.line-top:before,
.service-list.line-top:before { top: 70px; }

/* .service-main-img
------------------------------------*/
.service-main-img { position: relative; overflow: hidden; margin-top: 14rem; }
.service-main-img .slider-loop .inner { padding-right: 0; }
.service-main-img .slider-nav-play { position: absolute; bottom: 22px; left: 27px; }

/* .service-lead
------------------------------------*/
.service-lead { position: relative; margin-top: -20px; z-index: 2; }

.service-lead .title {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row-reverse;
	position: absolute;
	top: -205px;
	right: 75px;
}

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

.service-lead-inner {
	position: relative;
	display: flex;
	align-items: flex-end;
	width: 1140px;
	margin: 0 auto;
}

#seniorContents .service-lead .txt { padding-right: 120px; }
#disabilityContents .service-lead .txt { padding-right: 150px; }
#childContents .service-lead .txt { padding-right: 200px; }
#regenerateContents .service-lead .txt { padding-right: 150px; }
#communityContents .service-lead .txt { padding-right: 120px; }

.service-lead h2 { margin-bottom: 50px; }

.service-lead p {
	font-size: 1.6rem;
	line-height: 2.2;
	letter-spacing: 0.14em;
}

.service-lead h1 {
	display: inline-block;
	margin-top: 13px;
	color: #FFFFFF;
	font-size: 1.7rem;
	line-height: 1.5;
	letter-spacing: 0.17em;
}

.service-lead h1 span { display: inline-block; padding: 0 6px 0 9px; }
.service-lead h1 br + span { margin-left: -6px; padding-left: 0; }

#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); }

.service-lead nav h3 {
	margin: 0 0 30px;
	font-size: 1.6rem;
	line-height: 1.8;
	letter-spacing: 0.15em;
}

.service-lead nav ul:not(:has( li h3)) { margin: 0 0 30px 2px; }
.service-lead nav li { margin-bottom: 18px; }
.service-lead nav li:not(:has(h3)) { margin-bottom: 10px; }

.service-lead nav li h3 { margin-bottom: 3px; }

.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.6rem;
	line-height: 1.85;
	letter-spacing: 0.14em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	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-top: 14px; }

@media (max-width: 1380px) {
	.service-lead-inner { width: 1000px; }
	#disabilityContents .service-lead .txt { padding-right: 65px; }
	#childContents .service-lead .txt { padding-right: 120px; }
	#communityContents .service-lead .txt { padding-right: 65px; }
}

/* .service-message
------------------------------------*/
.service-message .sec-inner { margin: 0 auto; }

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

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

#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 .sec-inner { width: 1140px; margin: 0 auto; }

.service-list h2 {
	margin-bottom: 50px;
	font-size: 2rem;
	line-height: 1.7;
	letter-spacing: 0.14em;
}

.service-list section { position: relative; display: flex; padding: 40px 0 0; }
.service-list section:has( .sec-title .comment) { padding-top: 65px; }
.service-list section:not(:last-child) { margin-bottom: 110px; }

.service-list section:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background-color: var(--color-red);
	width: 25px;
	height: 2px;
	z-index: 1;
}

.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 {
	align-self: start;
	position: sticky;
	top: 160px;
	left: 0;
	width: 280px;
	min-width: 280px;
	margin-top: -5px;
	padding-right: 60px;
}

.service-list section .sec-title:has( .comment) { padding-right: 40px; }

.service-list section .sec-title h3 {
	font-size: 2rem;
	line-height: 1.8;
	letter-spacing: 0.14em;
}

.service-list section .sec-title p {
	margin-top: 24px;
	font-size: 1.4rem;
	line-height: 1.9;
	letter-spacing: 0.1em;
}

.service-list section .sec-title p span { font-size: 1.3rem; }
.service-list section .sec-title .comment { text-align: center; transform: translateX(-25px); }

.service-list section .sec-title .comment h3 {
	display: inline-block;
	background-color: #FFFFFF;
	border: 1px solid var(--color-text);
	border-radius: 20px;
	margin-bottom: 4px;
	padding: 11px 21px 12px 23px;
	font-size: 1.5rem;
	text-align: left;
}

.service-list section .sec-title .comment div { margin-top: 10px; }

.service-list section .sec-title .comment div > span {
	display: inline-block;
	background-color: #FFFFFF;
	margin-bottom: 6px;
	padding: 2px 4px 2px 4px;
	font-size: 1.5rem;
	line-height: 1.2;
	letter-spacing: 0.1em;
}

.service-list section .inner { display: flex; position: relative; }

.service-list section .inner:not(:last-child) {
	border-bottom: 2px solid var(--color-border-beige);
	margin-bottom: 40px;
	padding-bottom: 40px;
}

.service-list section .inner h4 {
	position: absolute;
	top: 0;
	left: calc(-1.4rem - 12px);
	padding-top: 20px;
	color: var(--color-red-txt);
	font-weight: 600;
	font-size: 1.3rem;
	letter-spacing: 0.13em;
	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 { width: 210px; min-width: 210px; }
.service-list section .inner .txt { width: 100%; padding: 2px 0 0 48px; }

.service-list section .inner h5 {
	margin-top: -2px;
	margin-bottom: 7px;
	color: var(--color-green);
	font-weight: 600;
	font-size: 1.4rem;
	line-height: 1.6;
	letter-spacing: 0.12em;
}

.service-list section .inner h5 i:first-of-type { padding-right: 4px; }
.service-list section .inner h5 i:last-of-type { padding-left: 4px; }

.service-list section .inner h5 em {
	padding-left: 6px;
	font-size: 1.3rem;
	letter-spacing: 0.1em;
}

.service-list section .inner h6 {
	margin-bottom: 10px;
	font-size: 2rem;
	line-height: 1.8;
	letter-spacing: 0.16em;
}

.service-list section .inner h6.size-s {
	margin-top: 40px;
	font-size: 1.5rem;
	letter-spacing: 0.1em;
}

.service-list section .inner p {
	margin-bottom: 0.8em;
	font-size: 1.5rem;
	letter-spacing: 0.08em;
	text-align: justify;
	word-break: break-all;
}

.service-list section .inner p a.tel { pointer-events: none; text-decoration: none; }

.service-list section .inner .dl-dt-box { margin-top: 20px; }
.service-list section .inner .dl-dt-box:not(:last-child) { margin-bottom: 18px; }

.service-list section .inner .btn-link-ss { display: inline-block; margin-top: 8px; margin-right: 10px; }
.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 { display: flex; margin-top: 45px; }
.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 figure { width: 145px; min-width: 145px; }
.service-list section .inner-s .txt { padding-left: 32px; }
.service-list section .inner-s h5 { margin-bottom: 14px; }
.service-list section .inner-s h6 { margin-top: -8px; margin-bottom: 5px; }
.service-list section .inner-s p { font-size: 1.4rem; line-height: 1.95; }

/* .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.1em; }

/* .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 35px 20px;
}

.service-list section .inner .box-line h6 {
	display: inline-block;
	background-color: var(--color-bg);
	margin: 0 0 0 -15px;
	padding: 0 12px 0 14px;
	color: var(--color-red-txt);
	font-weight: 600;
	font-size: 1.6rem;
	letter-spacing: 0.13em;
	transform: translateY(-15px);
}

.service-list section .inner .box-line p { font-size: 1.4rem; letter-spacing: 0.1em; }
.service-list section .inner .box-line .btn-link-arrow { margin-top: -2px; }

/* .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: 35px;
}

.service-list section .inner .box-list h6 {
	border-bottom: 1px solid var(--color-text);
	margin: 0;
	padding: 8px;
	font-weight: 600;
	font-size: 1.4rem;
	text-align: center;
}

.service-list section .inner .box-list > div { background-color: #FFFFFF; display: flex; padding: 18px 18px 10px 24px; }
.service-list section .inner .box-list .dot-list:not(:last-of-type) { margin-right: 16px; }
.service-list section .inner .box-list .dot-list li { margin-left: 0; margin-bottom: 6px; padding-left: 10px; font-size: 1.4rem; letter-spacing: 0.12em; }
.service-list section .inner .box-list .dot-list li:before { width: 3px; height: 3px; margin-top: -1px; }

/* .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.85;
	letter-spacing: 0.12em;
}


/* page service - senior
---------------------------------------------------------------------------*/

/* .senior-message1
------------------------------------*/
.senior-message1 .sec-inner { width: 1060px; }
.senior-message1 section:not(:last-child) { margin-bottom: 100px; }
.senior-message1 .title { display: flex; margin-bottom: 85px; padding-top: 58px; }
.senior-message1 .title > div { margin-top: -60px; padding-right: 90px; }
.senior-message1 .title h2 { margin-bottom: 20px; }

.senior-message1 .title h3 {
	font-weight: 400;
	font-size: 3.4rem;
	line-height: 1.6;
	letter-spacing: 0.2em;
}

.senior-message1 .title p {
	font-size: 1.7rem;
	line-height: 2.2;
}

.senior-message1 section h4 {
	margin: 0 0 30px 0px;
	font-size: 2.0rem;
	line-height: 1.6;
	letter-spacing: 0.16em;
}

.message-list-main { display: grid; grid-template-columns: 1fr 1fr; gap: 80px 80px; }
.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: 2rem;
	line-height: 1.8;
	letter-spacing: 0.16em;
	text-align: center;
}

.message-list-main p { line-height: 1.95; letter-spacing: 0.08em; text-align: justify; }

.message-list-sub .inner { display: flex; align-items: center; }
.message-list-sub .inner:not(:last-of-type) { margin-bottom: 55px; }
.message-list-sub figure { align-self: start; width: 170px; min-width: 170px; }
.message-list-sub figure img { border-radius: 6px; }
.message-list-sub .txt { padding: 0 0 0 55px; }
.message-list-sub h5 { text-align: left; }

/* .senior-message2
------------------------------------*/
.senior-message2 .sec-inner { display: flex; align-items: flex-end; width: 1100px; }
.senior-message2 figure { align-self: start; width: 480px; min-width: 480px; }
.senior-message2 .txt { padding: 0 0 0 70px; }
.senior-message2 h2 { margin-bottom: 23px; }
.senior-message2 h3 { margin-bottom: 27px; font-size: 2.4rem; line-height: 2; letter-spacing: 0.12em; }
.senior-message2 p { font-size: 1.7rem; line-height: 2.2; }


/* page service - disability
---------------------------------------------------------------------------*/
#disabilityContents .service-message .sec-inner { width: 1060px; }
#disabilityContents .service-message h2 { margin-bottom: 26px; }

#disabilityContents .service-message h3 {
	font-weight: 400;
	font-size: 3.6rem;
	line-height: 1.65;
	letter-spacing: 0.2em;
}

.disability-message2 .sec-inner .title,
.disability-message3 .sec-inner .title {
	display: flex;
	margin-bottom: 75px;
}

.disability-message2 .sec-inner .title p,
.disability-message3 .sec-inner .title p {
	font-size: 1.7rem;
	line-height: 2.1;
	letter-spacing: 0.14em;
	text-align: justify;
}

/* .disability-message1
------------------------------------*/
.disability-message1 .sec-inner { display: flex; position: relative; }
.disability-message1 .title { width: 400px; min-width: 400px; }
#disabilityContents .disability-message1 h2 { margin-bottom: 32px; }
.disability-message1 figure.pic { position: absolute; bottom: 0; left: -10px; width: 410px; }

.disability-message1 figure.pic figcaption {
	position: relative;
	margin: 35px 10px 0;
	padding: 0 19px 0 21px;
	font-size: 1.4rem;
	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 { margin-right: -75px; padding: 72px 0 0 75px; }
.disability-message1 .txt p { margin-bottom: 1.2em; font-size: 1.7rem; line-height: 2.25; }
.disability-message1 .txt figure.img { display: flex; margin: 75px 0 0 -2px; }
.disability-message1 .txt figure.img img { margin-right: 12px; }

/* .disability-message2
------------------------------------*/
#disabilityContents .disability-message2 h3 { font-size: 3rem; line-height: 1.8; }
.disability-message2 .sec-inner .title { padding-right: 30px; }
.disability-message2 .sec-inner .title .txt { max-width: 625px; padding: 66px 0 0 80px; }

/* .disability-message3
------------------------------------*/
.disability-message3 .sec-inner .title .txt { padding: 66px 0 0 130px; }
.disability-message3 .period { margin: 80px -38px 0; }

.disability-message3 .period table {
	overflow: hidden;
	width: 100%;
	border-top: 1px solid var(--color-text);
	border-bottom: 1px solid var(--color-text);
	font-weight: 600;
	font-size: 1.4rem;
	line-height: 1.4;
}

.disability-message3 .period thead tr { border-bottom: 1px solid var(--color-text); }

.disability-message3 .period thead th {
	position: relative;
	width: 25%;
	padding: 7px 10px;
	letter-spacing: 0.14em;
	text-align: center;
}

.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: 25%;
	padding-left: 22px;
	text-align: left;
	letter-spacing: 0.12em;
}

.disability-message3 .period tbody { background-color: #F9F7F0; }
.disability-message3 .period tbody th,
.disability-message3 .period tbody td { padding: 9px 22px 7px; }
.disability-message3 .period tbody tr:first-of-type th,
.disability-message3 .period tbody tr:first-of-type td { padding-top: 24px; }
.disability-message3 .period tbody tr:last-of-type th,
.disability-message3 .period tbody tr:last-of-type td { padding-bottom: 22px; }

.disability-message3 .period tbody th {
	padding-right: 20px;
	letter-spacing: 0.1em;
	text-align: left;
}

.disability-message3 .period tbody th span {
	padding-left: 2px;
	font-size: 1.3rem;
	letter-spacing: 0.08em;
}

.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: 45px; }
.disability-message3 .period tbody tr:nth-of-type(2) td { padding-left: 190px; }
.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: 155px; }
.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: 20px; }

.disability-message3 .period tbody td i {
	display: block;
	position: absolute;
	top: 6px;
	left: 0;
	margin-left: -4px;
	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: 22px; }
.disability-message3 .period tbody tr:nth-of-type(1) td i { left: 45px; width: 240px; }
.disability-message3 .period tbody tr:nth-of-type(2) td i { left: 190px; width: 370px; }

.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: 155px; }

.disability-message3 .period tbody tr:nth-of-type(3) td i,
.disability-message3 .period tbody tr:nth-of-type(6) td i { width: 350px; }
.disability-message3 .period tbody tr:nth-of-type(4) td i,
.disability-message3 .period tbody tr:nth-of-type(5) td i { width: 398px; }

.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: 20px; width: 831px; }

.disability-message3 .period .attention { margin-top: 10px; font-size: 1.4rem; letter-spacing: 0.1em; }


/* page service - child
---------------------------------------------------------------------------*/
#childContents .service-message .sec-inner { width: 1100px; padding-left: 20px; }
#childContents .service-message h3 { font-weight: 400; }

/* .child-message1
------------------------------------*/
.child-message1 .sec-inner { display: flex; }
.child-message1 .sec-inner .txt { width: 440px; min-width: 440px; }

.child-message1 h2 { margin-bottom: 25px; }
.child-message1 h3 { margin-bottom: 32px; font-size: 2.9rem; line-height: 1.8; letter-spacing: 0.2em; }
.child-message1 .sec-inner .txt p { letter-spacing: 0.1em; text-align: justify; }
.child-message1 .team { margin: 95px 0 0 75px; }

.child-message1 .team h4 {
	margin: 0 0 36px 10px;
	font-size: 1.6rem;
	letter-spacing: 0.12em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.3em;
}

.child-message1 .team .pic { position: relative; margin-bottom: 55px; }
.child-message1 .team .pic figure { position: relative; margin-left: -13px; z-index: 0; }
.child-message1 .team .pic dl { position: absolute; top: 117px; left: 370px; width: 230px; line-height: 1.6; }
.child-message1 .team .pic dl > div:not(:last-of-type) { margin-bottom: 16px; }

.child-message1 .team .pic dt {
	position: relative;
	margin-bottom: 3px;
	color: var(--color-service03-txt);
	font-weight: 600;
	font-size: 14px;
	letter-spacing: 0.1em;
}

.child-message1 .team .pic dt:before {
	display: block;
	content: '';
	position: absolute;
	top: 8px;
	background: url(img/child/pic-message1-line.svg) no-repeat left top;
	height: 7px;
	margin-left: -10px;
}

.child-message1 .team .pic dl > div:nth-of-type(1) dt:before { left: -195px; width: 195px; }
.child-message1 .team .pic dl > div:nth-of-type(2) dt:before { left: -107px; width: 107px; }
.child-message1 .team .pic dl > div:nth-of-type(3) dt:before { left: -90px; width: 90px; }
.child-message1 .team .pic dl > div:nth-of-type(4) dt:before { left: -100px; width: 100px; }

.child-message1 .team .pic dd {
	font-size: 13px;
	letter-spacing: 0.06em;
}

.child-message1 .team .box {
	background-color: #FFFFFF;
	width: 595px;
	padding: 15px 25px 14px 25px;
}

.child-message1 .team .box p {
	font-size: 1.4rem;
	line-height: 1.9;
	letter-spacing: 0.1em;
	text-align: justify;
}

/* .child-message2
------------------------------------*/
.child-message2 .sec-inner { display: flex; margin-bottom: 90px; }
.child-message2 .sec-inner h2 { margin-bottom: 23px; }
.child-message2 .sec-inner h3 { font-size: 2.8rem; line-height: 1.85; letter-spacing: 0.2em; }

.child-message2 .sec-inner .title figure {
	display: flex;
	justify-content: space-between;
	width: 503px;
	min-width: 503px;
	margin: 55px 0 0 -13px;
}

.child-message2 .sec-inner .txt { padding: 55px 0 0 75px; }
.child-message2 .sec-inner .txt p { font-size: 1.7rem; line-height: 2.15; }

.child-message2 .shien {
	position: relative;
	background-color: #FFFFFF;
	border-radius: 13px;
	width: 1160px;
	margin: 0 auto;
	padding: 45px 60px 22px;
}

.child-message2 .shien figure {
	overflow: hidden;
	position: absolute;
	top: 40px;
	right: 65px;
	border-radius: 4px;
	border: 3px solid var(--color-green);
	z-index: 0;
	pointer-events: none;
}

.child-message2 .shien figure img { margin: -3px; }

#childContents .child-message2 .shien h3 {
	margin-bottom: 40px;
	padding-right: 260px;
	color: var(--color-green);
	font-family: var(--font-gothic);
	font-size: 2.5rem;
	line-height: 1.65;
	letter-spacing: 0.14em;
}

.child-message2 .shien h4 {
	margin-bottom: 24px;
	font-weight: 600;
	font-size: 1.4rem;
	letter-spacing: 0.12em;
}

.child-message2 .shien dl { display: inline-block; }
.child-message2 .shien dl:not(:last-of-type) { margin-right: 15px; }

.child-message2 .shien dl > div {
	position: relative;
	margin-bottom: 28px;
	padding-left: 22px;
}

.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: 2px;
	color: var(--color-red-txt);
	font-size: 1.8rem;
	line-height: 1.6;
	letter-spacing: 0.14em;
}

.child-message2 .shien dd p {
	font-size: 1.4rem;
	line-height: 1.9;
	letter-spacing: 0.1em;
}

.child-message2 .shien dd p span { font-size: 1.2rem; }

/* .child-message3
------------------------------------*/
.child-message3 h2 { margin-bottom: 38px; }

.child-message3 h3 {
	margin-bottom: 20px;
	font-size: 2.9rem;
	line-height: 1.85;
	letter-spacing: 0.2em;
}

.child-message3 .img { display: flex; justify-content: space-between; margin: 65px -50px 85px; }
.child-message3 .inner { display: flex; justify-content: space-between; padding-right: 35px; }
.child-message3 .txt { padding-right: 100px; }

.child-message3 .txt p {
	margin-bottom: 1.2em;
	font-size: 1.7rem;
	line-height: 2.2;
	letter-spacing: 0.14em;
}

.child-message3 .txt figure { width: 350px; min-width: 350px; }

/* .child-kikin
------------------------------------*/
.child-kikin {
	display: flex;
	justify-content: space-between;
	position: relative;
	background-color: #FFFFFF;
	border-radius: 13px;
	width: 1160px;
	margin: 125px auto 0;
	padding: 50px 70px;
}

.child-kikin .logo { order: 1; width: 168px; min-width: 168px; margin-top: 15px; }

.child-kikin figure {
	order: 3;
	align-self: flex-start;
	overflow: hidden;
	border: 3px solid var(--color-green);
	border-radius: 4px;
	width: 187px;
	min-width: 187px;
}

.child-kikin figure img { margin: -3px; }
.child-kikin .txt { order: 2; padding: 12px 40px 0 55px; }

.child-kikin .txt h3 {
	margin-bottom: 20px;
	font-weight: 600;
	color: var(--color-green);
	font-size: 2.2rem;
	line-height: 1.7;
	letter-spacing: 0.15em;
}

.child-kikin .txt p {
	margin-bottom: 0.7em;
	font-size: 1.5rem;
	line-height: 2.2;
	letter-spacing: 0.065em;
	text-align: justify;
}


/* page service - regenerate
---------------------------------------------------------------------------*/
#regenerateContents .service-message .sec-inner { width: 1100px; }
#regenerateContents .service-message h2 { margin-bottom: 38px; }

#regenerateContents .service-message h3 {
	margin-bottom: 30px;
	font-weight: 400;
	font-size: 3.6rem;
	line-height: 1.7;
	letter-spacing: 0.16em;
}

#regenerateContents .regenerate-message2 h2,
#regenerateContents .regenerate-message2 h3,
#regenerateContents .regenerate-message3 h2,
#regenerateContents .regenerate-message3 h3,
.regenerate-message3 .inner { padding-left: 10px; }

/* .regenerate-message1
------------------------------------*/
.regenerate-message1 .sec-inner { display: flex; justify-content: space-between; }
.regenerate-message1 .txt { padding-right: 50px; padding-left: 10px; }
.regenerate-message1 .txt p { font-size: 1.7rem; line-height: 2.15; }

.regenerate-message1 .check-list {
	align-self: flex-start;
	background-color: #FFFFFF;
	border-radius: 6px;
	padding: 45px 35px 35px;
}

.regenerate-message1 .check-list h4 {
	margin: 0 0 40px 7px;
	color: var(--color-green);
	font-weight: 600;
	font-size: 2.1rem;
	line-height: 1.65;
	letter-spacing: 0.14em;
}

.regenerate-message1 .check-list li {
	position: relative;
	border-bottom: 1px solid #E0EFF2;
	padding: 0 0 3px 33px;
	margin-bottom: 10px;
	font-size: 1.5rem;
	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.5rem - 10px);
	left: 11px;
	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: 55px; }
.regenerate-message2 .inner { display: flex; align-items: center; }
.regenerate-message2 .inner figure { align-self: flex-start; }
.regenerate-message2 .txt { padding-left: 60px; }

.regenerate-message2 .txt p {
	margin-bottom: 0.8em;
	font-size: 1.7rem;
	line-height: 2.05;
	letter-spacing: 0.11em;
}

.regenerate-message2 .txt p span { font-size: 1.2rem; letter-spacing: 0.1em; }

/* .regenerate-message3
------------------------------------*/
#regenerateContents .regenerate-message3 h3 { margin-bottom: 55px; }
.regenerate-message3 figure { display: flex; justify-content: space-between; margin: 0 -40px 75px; }
.regenerate-message3 .inner { display: flex; justify-content: space-between; padding: 0 10px; }

.regenerate-message3 .inner .txt {
	padding-top: 4px;
	padding-right: 80px;
}

.regenerate-message3 .inner .txt p {
	font-size: 1.7rem;
	line-height: 2.1;
	letter-spacing: 0.14em;
}

.regenerate-message3 .inner .mission {
	align-self: flex-start;
	position: relative;
	background-color: rgba(255,255,255,0.7);
	border-radius: 10px;
	margin-right: 10px;
	padding: 45px 32px 30px;
}

.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: 30px;
	color: var(--color-green);
	font-weight: 600;
	font-size: 1.6rem;
	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: 2.2rem;
}

.regenerate-message3 .inner .mission .num-list li {
	margin-bottom: 13px;
	padding-left: 3rem;
	font-size: 1.6rem;
	line-height: 1.7;
	letter-spacing: 0.16em;
}

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

/* .regenerate-jiritsu
------------------------------------*/
.regenerate-jiritsu {
	display: flex;
	justify-content: space-between;
	background-color: #FFFFFF;
	border-radius: 13px;
	width: 1160px;
	margin: 150px auto 45px;
	padding: 55px 75px 55px 60px;
}

.regenerate-jiritsu .title { position: relative; width: 220px; min-width: 220px; }

.regenerate-jiritsu .title h2 {
	color: var(--color-green);
	font-size: 2.2rem;
	line-height: 1.9;
	letter-spacing: 0.12em;
}

.regenerate-jiritsu .title ul { position: absolute; bottom: 0; left: 0; width: 100%; }

.regenerate-jiritsu .title li {
	position: relative;
	margin-bottom: 6px;
	padding-left: 2rem;
	font-size: 1.4rem;
	line-height: 1.6;
	letter-spacing: 0.12em;
}

.regenerate-jiritsu .title li:before {
	display: block;
	content: '◯';
	position: absolute;
	top: 0.1rem;
	left: 0;
	font-size: 1.2rem;
}

.regenerate-jiritsu .txt { padding: 3px 0 0 90px; }

.regenerate-jiritsu .txt p {
	font-size: 1.5rem;
	line-height: 2.1;
	text-align: justify;
}

.regenerate-jiritsu .txt dl { position: relative; margin-top: 45px; padding-left: 34px; }

.regenerate-jiritsu .txt dl:before {
	display: block;
	content: '';
	position: absolute;
	top: 4px;
	left: 0;
	background-color: var(--color-yellow-light);
	width: 4px;
	height: calc(100% - 7px);
}

.regenerate-jiritsu .txt dl > div { margin-bottom: 18px; }
.regenerate-jiritsu .txt dl > div:last-of-type { margin-bottom: 0; }

.regenerate-jiritsu .txt dt {
	margin-bottom: 6px;
	color: var(--color-green);
	font-size: 1.8rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.regenerate-jiritsu .txt dt span { font-size: 1.4rem; }
.regenerate-jiritsu .txt dd p { font-size: 1.4rem; line-height: 1.95; }

/* .regenerate-soudan
------------------------------------*/
.regenerate-soudan {
	background-color: #FFFFFF;
	border-radius: 13px;
	width: 1160px;
	margin: 0 auto;
	padding: 55px 60px 60px;
}

.regenerate-soudan .inner { position: relative; display: flex; }

.regenerate-soudan h2 {
	color: var(--color-green);
	font-size: 2.2rem;
	line-height: 1.8;
	letter-spacing: 0.14em;
}

.regenerate-soudan .txt { padding: 4px 0 0 65px; }
.regenerate-soudan p { font-size: 1.5rem; line-height: 2.1; letter-spacing: 0.1em; }
.regenerate-soudan .btn-link-ss { margin-top: 20px; }

.regenerate-soudan .seikyou {
	position: relative;
	background-color: var(--color-bg-green);
	border-radius: 8px;
	margin-top: 30px;
	padding: 28px 28px 28px 175px;
}

.regenerate-soudan .seikyou figure { position: absolute; top: 40px; left: 48px; }
.regenerate-soudan .seikyou p { letter-spacing: 0.16em; }


/* page service - community
---------------------------------------------------------------------------*/

/* .community-message1
------------------------------------*/
#community-service1,
#community-service2,
#community-service3,
#community-service4 { margin-top: -165px; padding-top: 165px; margin-bottom: 110px; }


/* page service single
---------------------------------------------------------------------------*/
.service-single { position: relative; }

.service-business,
.service-detail,
.service-use,
.service-other { color: var(--color-text); }

.service-business { margin-top: -200px !important; padding-top: 200px !important; }
.service-detail { margin-top: -125px !important; padding-top: 205px !important; }
#service-office-list { margin-top: -175px !important; padding-top: 175px !important; }
.service-use { margin-top: -180px !important; padding-top: 180px !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 9px / 16px auto;
	padding-left: 27px;
	padding-right: 2px;
}

/* .service-business
------------------------------------*/
.service-business {
	position: relative;
	margin: 0 auto 85px;
	text-align: center;
	z-index: 1;
}

.service-business .lead {
	margin-bottom: 72px;
	padding: 0 5rem;
	text-align: center;
}

.service-business .lead h2 {
	margin-bottom: 26px;
	font-size: 3rem;
	line-height: 1.7;
	letter-spacing: 0.14em;
}

.service-business .lead p {
	line-height: 2.2;
	letter-spacing: 0.13em;
}

.service-business .lead .box {
	border: 1px solid var(--color-black);
	border-radius: 3px;
	width: 780px;
	margin: 60px auto 100px;
	padding: 0 45px 35px;
}

.service-business .lead .box h3 {
	display: inline-block;
	background: var(--color-bg);
	margin-bottom: 15px;
	padding: 0 22px 0 26px;
	font-size: 1.6rem;
	line-height: 1.6;
	letter-spacing: 0.14em;
	transform: translateY(-13px);
}

.service-business .lead .box p {
	font-size: 1.5rem;
	line-height: 2.1;
  letter-spacing: 0.12em;
	text-align: justify;
}

.service-business .block-list {
	display: grid;
	width: 1020px;
	margin: 0 auto 75px;
}

.service-business .block-list:last-of-type { margin-bottom: 0; }

.service-business .block-list.column2 { grid-template-columns: 1fr 1fr; gap: 70px 60px; width: 1040px; }
.service-business .block-list.column3 { grid-template-columns: 1fr 1fr 1fr; gap: 70px 45px; }
.service-business .block-list.column2 .inner { width: 490px; }
.service-business .block-list.column3 .inner { width: 310px; }

.service-business .block-list figure { position: relative; margin-bottom: 24px; }
.service-business .block-list figure img { min-width: 100%; border-radius: 8px; }

.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: 18px;
	color: var(--color-green);
	font-weight: 600;
	line-height: 1.8;
	letter-spacing: 0.14em;
	text-align: center;
}

.service-business .block-list.column2 h3 { font-size: 2rem; }
.service-business .block-list.column3 h3 { font-size: 1.7rem; }

.service-business .block-list p {
	padding: 0 3px;
	letter-spacing: 0.06em;
	text-align: justify;
}

.service-business .btn-wrap {
	display: flex;
	justify-content: space-between;
	width: 1040px;
	margin: 45px 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 blockquote { width: 1040px; margin: 60px auto 80px; padding: 60px 70px; }
.service-business blockquote dl > div { display: -webkit-box; display: flex; margin-bottom: 40px; }
.service-business blockquote dl > div:last-of-type { margin-bottom: 0; }

.service-business blockquote dt {
	width: 185px;
	min-width: 185px;
	padding: 7px 35px 0 0;
	font-size: 1.7rem;
	line-height: 1.7;
	letter-spacing: 0.1em;
	text-align: left;
	transform: translateY(-4px);
}

.service-business blockquote dd,
.service-business blockquote dd p { font-size: 1.7rem; text-align: justify; }

/* .service-detail
------------------------------------*/
.service-detail {
	position: relative;
	width: 100%;
	margin-bottom: 125px;
	padding: 80px 0 0;
}

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

.service-detail .sec-inner { width: 1140px; margin: 0 auto; }

.service-detail .lead {
	position: relative;
	margin-bottom: 125px;
	padding-left: 285px;
}

.service-detail .lead h2 {
	position: absolute;
	top: 0;
	left: 0;
	max-width: 245px;
	font-size: 2.2rem;
	line-height: 1.5;
	letter-spacing: 0.12em;
}

.service-detail .lead > .inner:not(:last-of-type) { margin-bottom: 40px; }
.service-detail .lead > .inner:not(:has(h3)) { margin-bottom: 60px !important; }

.service-detail .lead h3 {
	margin-bottom: 15px;
	color: var(--color-green);
	font-weight: 600;
	font-size: 2rem;
	line-height: 1.5;
	letter-spacing: 0.15em;
}

.service-detail .lead h3 span {
	display: inline-block;
	margin-left: 8px;
	font-size: 1.6rem;
	letter-spacing: 0.16em;
	transform: translateY(-1px);
}

.service-detail .lead .inner > div + div { margin-top: 20px; }
.service-detail .lead p { line-height: 2.1; letter-spacing: 0.08em; text-align: justify; }
.service-detail .lead .inner:not(:has(h3)) p { font-size: 1.6rem; }
.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.3rem; }
.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: 38px 38px 30px;
}

.service-detail .lead .box dl > div { margin-bottom: 24px; }
.service-detail .lead .box dl > div:last-of-type { margin-bottom: 0; }

.service-detail .lead .box dt {
	margin-bottom: 14px;
	color: var(--color-red-txt);
	font-weight: 600;
	font-size: 1.6rem;
	letter-spacing: 0.1em;
}

.service-detail .lead .box dd,
.service-detail .lead .box dd p {
	font-size: 1.5rem;
	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;
}

/* .facility
------------------------------------*/
.service-detail .lead .facility:not(:first-child) { margin-top: 60px; margin-bottom: 90px; }

.service-detail .lead .facility .inner {
	display: flex;
	border-top: 1px solid var(--color-border-beige-dark);
	margin-bottom: 50px;
	padding: 32px 0 0 5px;
}

.service-detail .lead .facility-name { width: 345px; min-width: 345px; margin-top: -2px; }

.service-detail .lead .facility-name h3 {
	width: 345px;
	min-width: 345px;
	margin-bottom: 14px;
	font-size: 2rem;
	letter-spacing: 0.12em;
}

.service-detail .lead .facility-name .tel,
.service-detail .lead .facility-name address { font-size: 1.5rem; line-height: 1.6; letter-spacing: 0.07em; }
.service-detail .lead .facility-name .tel { margin-bottom: 4px; }
.service-detail .lead .facility-name .tel a { color: var(--color-text); pointer-events: none; }

.service-detail .lead .facility-office-list { margin-top: 0 !important; }
.service-detail .lead .facility-office-list li:not(:last-of-type) { margin-bottom: 7px; }

.service-detail .lead .facility-office-list li a {
	display: inline-block;
	position: relative;
	padding: 0 0 4px 32px;
	font-size: 1.6rem;
	line-height: 1.6;
	letter-spacing: 0.06em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	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: 19px;
	height: 19px;
}

/* .box.catalog
------------------------------------*/
.service-detail .lead .box.catalog { padding: 44px 44px 40px; }
.catalog-list { display: flex; margin-top: 35px; }
.catalog-list figure { width: 184px; margin-right: 56px; }

.catalog-list-inner h4 {
	margin: 2px 0 8px -1px;
	font-size: 1.6rem;
	letter-spacing: 0.12em;
}

.catalog-list-inner ul { display: grid; grid-template-columns: 1fr 1fr; }

.catalog-list-inner li {
	background: url(img/share/ico-arrow-btn-red2.svg) no-repeat left top calc(1.5rem - 7px);
	margin-bottom: 3px;
	padding: 0 0 0 27px;
}

.catalog-list-inner li a {
	display: inline-block;
	padding: 5px 15px 5px 0;
	font-size: 1.5rem;
	line-height: 1.6;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	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;
	border-radius: 15px;
	width: 1200px;
	margin: 0 auto;
	padding: 95px 80px 80px;
}

.service-detail .service-office-list { margin: 0 -30px; }

.service-office-list h1 {
	margin: 0 0 19px 10px;
	padding-right: calc(240px + 10rem);
	font-size: 1.4rem;
	line-height: 1.4;
	letter-spacing: 0.14em;
	font-weight: 600;
}

.service-office-list h1 em {
	display: block;
	margin-bottom: 12px;
	font-size: 1.4rem;
}

.service-office-list h1 strong,
.service-office-list h2 {
	display: block;
	margin: 0 0 85px 8px;
	font-family: var(--font-gothic);
	font-size: 2.6rem;
	letter-spacing: 0.12em;
}

.service-office-list h1 strong { margin: 0 0 0 -2px; }

.service-office-list .btn-office-list-sort { position: absolute; top: 110px; right: 90px; }

.service-office-list-link { margin: -48px 0 100px 10px; }
.service-office-list-link div:has(a.line) { margin-top: 20px; }

.service-office-list-link a {
	display: inline-block;
	position: relative;
	font-size: 1.6rem;
	letter-spacing: 0.1em;
}

.service-office-list-link a.blank { padding-left: 31px; }

.service-office-list-link a.blank:before {
	display: block;
	content: '';
	position: absolute;
	top: 2px;
	left: 1px;
	background: url(img/share/ico-blank.svg) no-repeat left top / 100% auto;
	width: 18px;
	height: 14px;
}

.service-office-list dl > div { margin-top: -180px; padding-top: 180px; }
.service-office-list dl > div:not(:last-of-type) { margin-bottom: 75px; }

.service-office-list dt {
	margin: 0 0 30px 25px;
	color: var(--color-red-txt);
	font-size: 1.8rem;
	letter-spacing: 0.1em;
	font-weight: 600;
}

.service-office-list dd { border-bottom: 1px solid var(--color-border-beige-dark); }
.service-office-list dd li { border-top: 1px solid var(--color-border-beige-dark); }

.service-office-list dd li a {
	display: flex;
	justify-content: space-between;
	background: url(img/share/ico-arrow-btn-red2.svg) no-repeat left 23px top calc(1.8rem + 5px) / 24px auto;
	padding: 20px 25px 19px 60px;
}

.service-office-list dd li a:hover {
	background-color: var(--color-bg-beige-light);
	opacity: 1 !important;
}

.service-office-list dd li a > span:nth-of-type(1) { padding-right: 60px; min-width: 0; }

.service-office-list dd li strong {
	display: block;
	font-size: 1.8rem;
	line-height: 1.7;
	letter-spacing: 0.12em;
}

.service-office-list dd li .address {
	padding-top: 4px;
	font-size: 1.6rem;
	line-height: 1.4;
	letter-spacing: 0.08em;
	text-align: right;
	white-space: nowrap;
}

.service-office-list dd li .label { display: block; margin: 7px 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: 4px;
	margin: 0 3px 4px 0;
	padding: 5px 6px 5px 7px;
	color: #FFFFFF;
	font-size: 1.3rem;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

/* .service-use
------------------------------------*/
.service-use { width: 1140px; margin: 0 auto; }

.service-use .inner {
	position: relative;
	padding: 44px 20px 60px 366px;
	text-align: justify;
}

.service-use .inner:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background-color: var(--color-red);
	width: 117px;
	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 {
	position: absolute;
	top: 40px;
	left: 0;
	max-width: 320px;
	font-size: 2.2rem;
	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-weight: 600;
	font-size: 2rem;
	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: -4px; }
.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: 30px; }

.service-use .num-list li {
	position: relative;
	margin-left: -2px;
	margin-bottom: 16px;
	padding-left: 4.4rem;
}

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

.service-use .dot-list li { margin-left: 5px; line-height: 1.7; }
.service-use .num-list li:before { display: none; }
.service-use .num-list li p { margin-bottom: 10px; }

.service-use .num-list li i {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background-color: var(--color-red);
	border-radius: 50%;
	width: 3rem;
	height: 3rem;
	padding-left: 1px;
	color: #FFFFFF;
	font-family: var(--font-sans);
	font-size: 1.7rem;
	font-weight: 600;
	text-align: center;
	line-height: 1.8;
}

.service-use .attention-list { margin: 8px 0 0; }
.service-use p + .attention-list { margin-top: 0; }
.service-use .inner-s + .attention-list { margin-top: 20px; }
.service-use .inner-s + .inner-s + .attention-list { margin-top: 36px; }
.service-use .attention-list li { margin-bottom: 6px; font-size: 1.6rem; }
.service-use .faq-list { margin-left: -17px; border-bottom: 1px solid var(--color-border-beige); }
.service-use .faq-list dt:first-of-type { border-top: none; }

/* .service-blog
------------------------------------*/
.service-blog {
	background-color: #FFFFFF;
	border-radius: 15px;
	width: 1220px;
	margin: 30px auto 0;
	padding: 65px 65px 55px;
}

.service-blog + .service-blog { margin-top: 65px; }

.service-blog > h2 {
	margin-bottom: 34px;
	font-family: var(--font-gothic);
	font-size: 2rem;
	line-height: 1.6;
	letter-spacing: 0.12em;
}

.service-blog .blog-list { width: 100%; gap: 50px 42px; }
.service-blog .blog-list article { width: auto; }
.service-blog .blog-list .service { display: none; }
.service-blog .blog-list figure { margin-bottom: 18px; }
.service-blog .blog-list h3 { font-size: 1.6rem; letter-spacing: 0.08em; }
.service-blog .blog-list h3 img { transform: translateY(-4px); }
.service-blog .blog-list .time { font-size: 1.2rem; }
.service-blog .btn-wrap { margin-top: 55px; }

/* .faq-list
------------------------------------*/
.faq-list { position: relative; top: -27px; }
.faq-list dt { border-top: 1px solid var(--color-border-beige); }

.faq-list dt button {
	position: relative;
	width: 100%;
	padding: 27px 75px 13px 6.5rem;
	font-size: 1.6rem;
	line-height: 1.7;
	letter-spacing: 0.08em;
	text-align: left;
}

#faqContents .faq-list dt button {
	padding-top: 18px;
	padding-bottom: 28px;
}

.faq-list dt:hover { opacity: 1; }
.faq-list dt strong { transition: .15s ease-out; }
.faq-list dt:hover strong { opacity: 0.7; }

.faq-list dt i.q,
.faq-list dt i.q-on {
	display: block;
	position: absolute;
	top: 20px;
	left: 17px;
	width: 3rem;
	height: 3rem;
	padding-left: 2px;
	color: var(--color-red-txt);
	font-family: var(--font-sans);
	font-size: 2.3rem;
	letter-spacing: 0;
	text-align: center;
	transition: .3s var(--easeOutQuint);
}

.faq-list dt i.q-on {
	top: 24px;
	background-color: var(--color-red);
	border-radius: 50%;
	padding-top: 0.5rem;
	color: #FFFFFF;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1;
	transform-origin: center center;
	transform: scale(0.8);
	opacity: 0;
}

#faqContents .faq-list dt i.q,
#faqContents .faq-list dt i.q-on { margin-top: -8px; }

.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: 28px;
	right: 26px;
	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);
}

#faqContents .faq-list dt i.arrow { top: 21px; }
.faq-list dt.active i.arrow { transform: rotate(180deg); }

.faq-list dd {
	display: none;
	padding: 0 64px 40px 18px;
	text-align: justify;
}

.faq-list .dd-inner {
	position: relative;
	background-color: #FFFFFF;
	border-radius: 9px;
	margin-top: 12px;
	padding: 28px 30px 25px 33px;
}

.faq-list .dd-inner:before {
	display: block;
	content: '';
	position: absolute;
	top: -13px;
	left: 35px;
	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;
}

.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; }
.faq-list dd .faq-link li a { display: inline-block; }

/* .service-other
------------------------------------*/
.service-other {
	background-color: var(--color-bg-beige);
	width: 100%;
	margin-top: 120px;
	padding: 0 0 80px;
}

.service-other .slider-loop .inner { padding-right: 1px; }

.service-other .sec-inner {
	width: 1140px;
	margin: 0 auto;
	padding-top: 80px;
}

.service-other .sec-inner h2 {
	margin-bottom: 26px;
	font-size: 2.4rem;
	letter-spacing: 0.12em;
}

.service-other .sec-inner p { line-height: 2.3; }
.service-other nav { margin-top: 35px; }

.service-other nav ul {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px 25px;
}

.service-other nav li a {
	display: block;
	background: #FFFFFF url(img/share/ico-arrow-btn-l.svg) no-repeat left 27px center / 26px auto;
	padding: 24px 24px 24px 65px;
	font-size: 1.6rem;
	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 service single - media query
-----------------------------------*/
@media (max-width: 1380px) {
	.service-detail .sec-inner,
	.service-use,
	.service-other .sec-inner {
		width: 1020px;
	}
	.service-detail .service-office-list {
		width: 1100px;
		margin: 0 -40px;
		padding: 80px 55px 80px;
	}
	.service-office-list .btn-office-list-sort {
		top: 95px;
		right: 65px
	}
}


/* page office archive
---------------------------------------------------------------------------*/
#officeContents.archive { padding-top: 215px; }

#officeContents.archive .service-office-list h1 {
	margin-left: 20px;
	padding-right: 0;
}

#officeContents.archive .service-office-list dl > div {
	position: relative;
	display: flex;
	margin-top: 0;
	padding-top: 0;
}

#officeContents.archive .service-office-list dl > div:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background: var(--color-border-beige-dark);
	width: 100%;
	height: 1px;
}

#officeContents.archive .service-office-list dt {
	position: sticky;
	top: 130px;
	align-self: flex-start;
	width: 155px;
	min-width: 155px;
	margin: 0;
	padding: 26px 0 25px 18px;
	font-family: var(--font-gothic);
}

#officeContents.archive .service-office-list dt h3 {
	margin-bottom: 10px;
	color: var(--color-red-txt);
	font-size: 1.9rem;
}

#officeContents.archive .service-office-list dt p {
	color: var(--color-black);
	font-size: 1.4rem;
	letter-spacing: 0.1em;
}

#officeContents.archive .service-office-list dd { border-top: none; width: 100%; max-width: 885px; }

/* .office-list-nav
------------------------------------*/
.office-list-title {
	position: relative;
	display: flex;
	justify-content: space-between;
	margin-bottom: 45px;
	z-index: 2;
}

.office-list-nav { padding: 42px 25px 0 0; }
.office-list-nav ul { display: flex !important; flex-wrap: wrap !important; }
.office-list-nav li { margin-left: 15px; margin-bottom: 15px; }

.office-list-nav li a {
	display: inline-block;
	color: var(--color-red-txt);
	font-size: 1.6rem;
	letter-spacing: 0.1em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
	white-space: nowrap;
}


/* page office single
---------------------------------------------------------------------------*/
.office-section-title {
	margin: 0 0 45px 10px;
	font-size: 2.4rem;
	letter-spacing: 0.12em;
}

/* .office-sns
------------------------------------*/
.office-sns {
	display: flex;
	align-items: center;
	position: absolute;
	bottom: 40px;
	right: 112px;
	max-width: 480px;
}

.office-sns .txt {
	position: relative;
	background-color: #FFFFFF;
	border-radius: 15px;
	margin-right: 20px;
	padding: 3px 15px 3px 17px;
	font-size: 1.4rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.office-sns .txt:after {
	display: block;
	content: '';
	position: absolute;
	top: 8px;
	right: -9px;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: #FFFFFF transparent transparent transparent;
	border-width: 8px 12px 0 0;
}

.office-sns ul { display: flex; }
.office-sns li a { display: block; padding: 5px 4px; }

/* .office-single
------------------------------------*/
.office-single { position: relative; }

.office-single-inner {
	display: flex;
	justify-content: space-between;
	width: 100%;
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 20px 0 0;
}

.office-single .service-other { margin-top: 140px; }

@media (max-width: 1400px) {
	.office-single-inner {
		padding-right: 30px;
		padding-left: 7.5rem;
	}
	.office-aside {
		width: 205px !important;
	}
	.office-aside h2 {
		font-size: 1.5rem !important;
		letter-spacing: 0.06em !important;
	}
	.office-aside h2 br {
		display: none;
	}
	.office-aside-inner {
		padding-right: 14px !important;
		padding-left: 14px !important;
		padding-bottom: 16px !important;
	}
	.office-aside .btn-link a {
		padding-left: 13px !important;
	}
	.office-aside .btn-link a i {
		display: none !important;
	}
}

/* .office-post
------------------------------------*/
.office-post { order: 2; width: 890px; }

/* .office-img
------------------------------------*/
.office-img { width: 100%; margin-bottom: 60px; }
.office-img img { border-radius: 12px; width: 100%; }

/* .office-lead
------------------------------------*/
.office-lead {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	padding: 0 10px;
	word-break: break-all;
}

.office-lead:has(.manager) { padding-right: 30px; }
.office-lead:has(.txt) { margin-bottom: 120px; }
.office-lead:has(.manager) .txt { margin-right: 60px; }

.office-lead .txt h2 {
	margin-bottom: 18px;
	font-size: 2.2rem;
	line-height: 1.85;
	letter-spacing: 0.16em;
}

.office-lead .txt p { text-align: justify; }

.office-lead .manager {
	position: relative;
	background-color: #FFFFFF;
	border-radius: 0 0 4px 4px;
	width: 232px;
	min-width: 232px;
	padding: 0 20px 25px;
	text-align: center;
}

.office-lead .manager:before {
	display: block;
	content: '';
	position: absolute;
	top: -74px;
	left: 50%;
	transform: translateX(-50%);
	background: url(img/share/pic-roof-line-red@2x.png) no-repeat center top / 268px auto;
	width: 268px;
	height: 88px;
	z-index: 1;
}

.office-lead .manager:after {
	display: block;
	content: '';
	position: absolute;
	top: -70px;
	left: 0;
	background-color: #FFFFFF;
	width: 100%;
	height: 70px;
	clip-path: polygon(50% 0, 0% 100%, 100% 100%);
}

.office-lead .manager figure {
	position: relative;
	width: 180px;
	height: 180px;
	margin: 0 auto 24px;
	z-index: 2;
}

.office-lead .manager figcaption {
	position: absolute;
	top: 0;
	left: 10px;
	background: var(--color-green);
	border-radius: 0 0 30px 30px;
	padding: 9px 6px 8px 6px;
	color: #FFFFFF;
	font-size: 1.4rem;
	letter-spacing: 0.2em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.office-lead .manager figcaption:before {
	display: block;
	content: '';
	position: absolute;
	top: -5px;
	left: 50%;
	transform: translateX(-50%);
	background: var(--color-green);
	border-radius: 2px;
	width: 35px;
	height: 2px;
}

.office-lead .manager figure img {
	border-radius: 50%;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.office-lead .manager h3 {
	font-size: 2.1rem;
	line-height: 1.2;
	letter-spacing: 0.1em;
}

.office-lead .manager h3:has(+ p) {
	background: url(img/share/line-dot-black.svg) repeat-x left bottom / 4px auto;
	padding-bottom: 8px;
}

.office-lead .manager p {
	margin-top: 13px;
	font-size: 1.3rem;
	line-height: 1.8;
	letter-spacing: 0.08em;
	text-align: justify;
}

/* .office-blog
------------------------------------*/
.office-blog { margin-bottom: 120px; }
.blog-list-detail { width: 100%; gap: 0 28px; }
.blog-list-detail article { width: 100%; }
.blog-list-detail figure { padding-bottom: 100%; }
.blog-list-detail time { color: var(--color-red-txt); }

.blog-list-detail h3 {
	margin-top: 8px;
	font-size: 1.5rem;
	line-height: 1.7;
	letter-spacing: 0.1em;
}

.blog-list-detail h3 img { display: none; }

.office-blog > .btn-link { margin-top: 40px; }
.office-blog > .btn-link a { letter-spacing: 0.1em; }

/* .office-column
------------------------------------*/
.office-column { margin-bottom: 120px; word-break: break-all; }
.office-lead + .office-column .column1:not(:has(figure)) { margin-top: -50px; padding-right: 30px; padding-left: 10px; }
.office-lead + .office-column .column1:not(:has(figure)) + .column1:not(:has(figure)) { margin-top: 45px; }
.office-column .column1:not(:first-child),
.office-column .column2:not(:first-child),
.office-column .column3:not(:first-child) { margin-top: 70px; }
.office-column figure img { border-radius: 4px; }
.office-column .column1 figure { margin-bottom: 30px; }

.office-column .column1 h3 {
	margin-bottom: 10px;
	font-size: 2.2rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.office-lead + .office-column .column1:not(:has(figure)) h3 { font-size: 2rem; }

.office-column .column1 p { text-align: justify; }
.office-column .column2,
.office-column .column3 { display: flex; justify-content: space-between; }
.office-column .column2 .inner { width: 47.5%; }
.office-column .column3 .inner { width: 30.8%; }

.office-column .column2 figure,
.office-column .column3 figure {
	position: relative;
  overflow: hidden;
  width: 100%;
  height: 0;
  padding-bottom: 75%;
	margin-bottom: 22px;
}

.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: 10px;
	font-size: 1.8rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.office-column .column2 p,
.office-column .column3 p {
	font-size: 1.4rem;
	line-height: 1.9;
	text-align: justify;
}

/* .office-gallery
------------------------------------*/
.office-gallery {
	margin-bottom: 90px;
}

.office-gallery-img {
	overflow: hidden;
	width: 890px;
	height: 570px;
	border-radius: 6px;
	margin-bottom: 15px;
}

.office-gallery-img .inner {
	position: relative;
	width: 890px !important;
	height: 570px !important;
}

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

.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 1fr 1fr 1fr 1fr 1fr;
	gap: 10px 10px;
	width: 100% !important;
	transform: none !important;
}

.office-gallery-thumb .inner {
	position: relative;
  overflow: hidden;
	border-radius: 4px;
	width: 80px !important;
	height: 0 !important;
  padding-bottom: calc(80px * 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-thumb .inner img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

/* .office-voice
------------------------------------*/
.office-voice { margin-bottom: 70px; 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: 20px;
	border-radius: 20px;
	width: calc(50% - 10px);
	margin-bottom: 22px;
	padding: 0px 6px 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: -29px;
	left: 22.5px;
	background: url(img/share/pic-fukidashi-dot.svg) no-repeat;
	width: 26px;
	height: 11px;
}

/* .office-event
------------------------------------*/
.office-event { margin-bottom: 140px; }
.office-event-calendar { background-color: #FFFFFF; padding: 20px; }
.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: 25%; }

.office-event-calendar dl > div:before {
	display: block;
	content: '';
	position: absolute;
	bottom: -10px;
	right: -10px;
	background-color: #FFFFFF;
	width: 21px;
	height: 21px;
	z-index: 2;
}

.office-event-calendar dt {
	position: absolute;
	top: 12px;
	right: 18px;
	color: var(--color-red-txt);
	font-family: var(--font-sans);
	font-size: 4.0rem;
	font-weight: 300;
	white-space: nowrap;
}

.office-event-calendar dd {
	display: flex;
	align-items: flex-end;
	min-height: 210px;
	margin-top: auto;
	padding: 8rem 18px 18px 22px;
	font-size: 1.5rem;
	line-height: 1.75;
	letter-spacing: 0.08em;
}

.office-event .attention-list { margin: 28px 0 0 8px; }
.office-event .attention-list li { margin-bottom: 6px; }

/* .office-schedule
------------------------------------*/
.office-schedule { margin-bottom: 140px; word-break: break-all; }
.office-schedule h2 { display: inline-block; margin-bottom: 65px; margin-right: 16px; }
.office-schedule h2 + p { display: inline-block; letter-spacing: 0.08em; }
.office-schedule-list { position: relative; padding-left: 9.5rem; }

.office-schedule-list:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 6.4rem;
	background: url(img/share/line-dot-v.svg) repeat-y;
	width: 1px;
	height: calc(100% - 10px);
	z-index: 1;
}

.office-schedule-list .inner {
	position: relative;
	display: flex;
	justify-content: space-between;
	margin-bottom: 60px;
}

.office-schedule-list .inner:last-of-type { margin-bottom: 0; }
.office-schedule-list .inner .txt { width: 100%; padding-right: 260px; }
.office-schedule-list .inner:has(figure) .txt { min-height: 170px; }
.office-schedule-list .inner:not(:has(figure)) .txt { padding-right: 30px; }

.office-schedule-list .inner .time {
	display: block;
	position: absolute;
	top: 3px;
	left: -10.9rem;
	width: 8.5rem;
	padding-right: 25px;
	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%;
	right: -6px;
	transform: translateY(-50%);
	border-radius: 50%;
	background-color: #FFFFFF;
	border: 3px solid var(--color-red);
	width: 14px;
	height: 14px;
	margin-top: -1px;
}

.office-schedule-list .inner h3 {
	position: relative;
	margin-right: -24px;
	margin-bottom: 16px;
	padding-bottom: 12px;
	font-size: 1.9rem;
	letter-spacing: 0.16em;
}

.office-schedule-list .inner h3: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-schedule-list .inner p { letter-spacing: 0.1em; text-align: justify; }

.office-schedule-list .inner figure {
	position: absolute;
	top: 30px;
	right: 0;
	width: 195px;
	min-width: 195px;
}

.office-schedule-list .inner figure img { width: 100%; }
.office-schedule .attention-list { margin: 58px 0 0 58px; }
.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: 525px;
	margin-bottom: 60px;
}

.office-outline .map iframe { width: 100%; height: 100%; }

.office-outline .btn-line {
	position: absolute;
	bottom: 13px;
	left: 62px;
	background-color: #FFFFFF;
	border-radius: 30px;
	z-index: 2;
}

.office-outline .btn-line a {
	background: #FFFFFF url(img/share/ico-blank.svg) no-repeat left 18px top 12px;
	padding-left: 42px;
}

.office-outline .outline { position: relative; }
.office-outline .outline:has( .outline-link-sub) { padding-right: 300px; }

.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 { display: flex; border-bottom: 1px solid var(--color-border-beige); }
.office-outline .outline-txt dl > div:last-of-type { border-bottom: none; }

.office-outline .outline-txt dt,
.office-outline .outline-txt dd { padding: 18px 18px 18px 0; }

.office-outline .outline-txt dt,
.office-outline .outline-txt dd,
.office-outline .outline-txt dd p {
	font-size: 1.5rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.office-outline .outline-txt dt {
	background: #F6F3EE;
	width: 150px;
	min-width: 150px;
	padding-left: 13px;
}

.office-outline .outline-txt dd {
	background-color: #FFFFFF;
	width: 100%;
	padding-left: 23px;
}

.office-outline .outline-txt dd span { display: block; }
.office-outline .outline-txt dd a:not(.tel) { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.15em; }
.office-outline .outline-txt dd a.tel { pointer-events: none; }

.office-outline .outline-txt dd a[target="_blank"] {
	padding-right: 4px;
	padding-left: 25px;
	background: url(img/share/ico-blank.svg) no-repeat left 4px top 2px / 16px auto;
}

.office-outline .outline-txt dd .btn-link-arrow-red { margin: 3px 0 -2px; }
.office-outline .outline-txt dd .btn-link-arrow-red:first-of-type { margin-top: -4px; }
.office-outline .outline-txt dd .btn-link-arrow-red a { background-position: left top 0.65rem; text-decoration: none; }
.office-outline .outline-txt dd .btn-link-arrow-red a span { font-size: 1.5rem; }
.office-outline .outline-link { margin-top: 35px; }
.office-outline .outline-link .btn-link:not(:last-of-type) { margin-bottom: 12px; }
.office-outline .outline-link-sub { position: absolute; top: 0; right: 25px; width: 235px; }
.office-outline .outline-link-sub li { margin-bottom: 3px; }

/* .office-aside
------------------------------------*/
.office-aside {
	order: 1;
	align-self: flex-start;
	position: relative;
	width: 270px;
}

.office-aside-inner {
	position: relative;
	background-color: #FFFFFF;
	border-radius: 8px;
	padding: 43px 17px 34px;
}

.office-aside-inner:not(:last-of-type) { margin-bottom: 20px; }

.office-aside-inner:before {
	display: block;
	content: '';
	position: absolute;
	top: 12px;
	left: 12px;
	background-color: var(--color-red);
	border-radius: 3px;
	width: 242px;
	width: calc(100% - 24px);
	height: 6px;
}

.office-aside h2 {
	margin-bottom: 27px;
	font-size: 1.6rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
	text-align: center;
	font-family: var(--font-gothic-b)
}

.office-aside h2 i { opacity: 0.7; }
.office-aside-list { position: relative; }
.office-aside-list article { position: relative; padding: 15px 5px 20px 10px; 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.4rem;
	line-height: 1.65;
	letter-spacing: 0.06em;
}

.office-aside-list article address {
	display: block;
	margin-top: 8px;
	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; }
.office-aside .btn-link a { font-size: 1.3rem; letter-spacing: 0.13em; }


/* page faq
---------------------------------------------------------------------------*/
.faq-wrap .contents-common-center-inner { display: flex; justify-content: space-between; }

.faq-wrap aside {
	position: sticky;
	align-self: flex-start;
	top: 160px;
	left: 0;
	width: 370px;
	min-width: 370px;
	padding: 5px 70px 40px 0;
}

@media (max-height: 1100px) {
	.faq-wrap aside { position: static; }
}

.faq-wrap aside h2 {
	margin-bottom: 3rem;
	font-size: 1.4rem;
	line-height: 1.6;
	letter-spacing: 0.12em;
}

.faq-wrap aside dt { margin-bottom: 7px; }

.faq-wrap aside dt button {
	position: relative;
	padding: 10px 16px 10px 32px;
	font-size: 1.5rem;
	letter-spacing: 0.08em;
	text-align: left;
}

.faq-wrap aside dt i {
	display: block;
	position: absolute;
	top: 7px;
	left: 0;
	background: url(img/share/ico-arrow-down-yellow.svg) no-repeat left top / 20px auto;
	width: 20px;
	height: 20px;
	transition: .4s var(--easeOutQuint);
}

.faq-wrap aside dt.active i { transform: rotate(180deg); }
.faq-wrap aside dd { display: none; }
.faq-wrap aside dt.active + dd { display: block; }
.faq-wrap aside dd ul { padding: 7px 0 28px; }
.faq-wrap aside li { margin-bottom: 0.5rem; }

.faq-wrap aside li a {
	display: inline-block;
	background: url(img/share/ico-arrow-down.svg) no-repeat left 6px top 1.1rem / 8px auto;
	padding: 2px 16px 4px 24px;
	font-size: 1.4rem;
	line-height: 1.6;
	letter-spacing: 0.07em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

/* .faq-inner
------------------------------------*/
.faq-inner { width: 81%; margin: 0 auto; }
.faq-inner .inner { margin-top: -200px; padding-top: 200px; }
.faq-inner .inner:not(:last-of-type) { margin-bottom: 8rem; }

.faq-inner .inner > h3 {
	margin: 0 0 2.5rem 0.85rem;
	font-size: 2.4rem;
	line-height: 1.6;
	letter-spacing: 0.12em;
}

.faq-inner .inner > h4 {
	margin: calc(-200px + 3rem) 0 5rem 0.4rem;
	padding-top: 200px;
	font-size: 1.6rem;
	line-height: 1.6;
	letter-spacing: 0.12em;
}


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

/* .tel-fukushi
------------------------------------*/
.tel-fukushi {
	position: relative;
	border-radius: 20px;
	width: 935px;
	margin: -15px auto 115px;
	padding: 56px 55px 50px 322px;
}

.tel-fukushi-title {
	position: absolute;
	top: 55px;
	left: 55px;
	max-width: 240px;
}

.tel-fukushi h2 {
	margin-bottom: 30px;
	color: var(--color-green);
	font-size: 2.2rem;
	line-height: 1.65;
	letter-spacing: 0.2em;
}

.tel-fukushi .btn-link a { word-break: break-all; }
.tel-fukushi p { font-size: 1.5rem; }

.tel-fukushi .box {
	display: flex;
	flex-wrap: wrap;
	background-color: #FFFFFF;
	border-radius: 3px;
	margin-top: 25px;
	padding: 30px 35px 30px 35px;
}

.tel-fukushi .box h3 {
	width: 100%;
	margin-bottom: 20px;
	color: var(--color-green);
	font-size: 1.7rem;
	line-height: 1.65;
	letter-spacing: 0.16em;
}

.tel-fukushi .box .dot-list:not(:last-of-type) { margin-right: 20px; }
.tel-fukushi .box .dot-list li { font-size: 1.4rem; }
.tel-fukushi .box .dot-list li:before { top: 0.55em; }

/* .form-wrap
------------------------------------*/
.form-wrap { width: 860px; margin: 0 auto; }
.form-wrap dl, .form-wrap dl p { line-height: 1.6; }
.form-wrap dl div { display: flex; margin-bottom: 25px; }
.form-wrap dl div:last-of-type { margin-bottom: 0; }
.form-wrap dt { box-sizing: border-box; width: 230px; padding: 20px 30px 0 0; }
.form-wrap dt,
.form-wrap dt p { font-size: 1.6rem; letter-spacing: 0.08em; }
.form-wrap dt:has( .must) { padding-top: 12px; }
.form-wrap div.line2 dt { padding-top: 10px; }
.form-wrap dl > div:last-of-type dt { padding-top: 10px; align-self: flex-start; }

.form-wrap dt .must {
	display: block;
	margin-top: 2px;
	color: var(--color-red-txt);
	font-weight: 600;
	font-size: 1.3rem;
}

.form-wrap dt .attention {
	display: block;
	margin: 16px 10px 0 0;
	font-size: 1.3rem;
	line-height: 1.85;
	letter-spacing: 0.06em;
	text-align: justify;
}

.form-wrap dd { box-sizing: border-box; width: calc(100% - 230px); min-height: 48px; }
.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%;
	height: 48px;
	padding: 32px 20px;
	font-size: 1.6rem;
	letter-spacing: 0.1em;
}

.select-address { position: relative; width: 370px !important; }

.select-address:before {
	display: block;
	content: '';
	position: absolute;
	top: 29px;
	right: 22px;
	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: 66px;
	padding: 1px 40px 0 20px;
	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: 20px 0 0 230px; }
.privacy-check p { font-size: 1.5rem; letter-spacing: 0.1em; }
.privacy-check p:not(:last-of-type) { margin-bottom: 30px; }
.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.5) translateY(0px);
}

/* .btn-submit
------------------------------------*/
.btn-submit {
	position: relative;
	display: inline-block;
	margin: 40px 0 0 230px;
}

.btn-submit input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: block;
	background: url(img/share/bg-btn-yellow@2x.jpg) repeat left top / 1042px auto;
	box-sizing: border-box;
	border: none;
	border-radius: 8px;
	margin: 0;
	padding: 18px 28px 15px 64px;
	color: var(--color-black);
	font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.12em;
	text-align: left;
	transition: .15s ease-out;
}

.btn-submit input:hover,
.btn-submit:hover:before { opacity: 0.7; }

.btn-submit:before {
	display: block;
	content: '';
	position: absolute;
	top: 18px;
	left: 25px;
	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.4rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

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

.txt-response,
.wpcf7-response-output {
	margin: 40px 0 0 230px;
	color: var(--color-red-txt);
	font-size: 1.6rem;
	line-height: 1.6;
	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
---------------------------------------------------------------------------*/

/* .dl-privacy
------------------------------------*/
.dl-privacy { width: 835px; margin: 0 auto; }
.dl-privacy > div:not(:last-of-type) { margin-bottom: 75px; }

.dl-privacy dt {
	color: var(--color-green);
	margin-bottom: 16px;
	font-size: 1.6rem;
	line-height: 1.7;
	letter-spacing: 0.12em;
}

.dl-privacy dd { padding: 0 30px 0 45px; }

.dl-privacy dd p,
.dl-privacy dd li,
.dl-privacy dd address {
	font-size: 1.6rem;
	letter-spacing: 0.06em;
	text-align: justify;
}

.dl-privacy dd p { margin-bottom: 0.7em; line-height: 2.1; }
.dl-privacy dd.mb0 p { margin-bottom: 0; }
.dl-privacy dd p a { word-break: break-all; }
.dl-privacy dd p a.blank { background-position: left 4px top 0.9rem; 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: 16px 0 18px 5px;
	padding: 0 0 0 25px;
	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: 30px;
}

.dl-privacy .dd-inner h3 {
	margin-bottom: 18px;
	font-size: 1.5rem;
	letter-spacing: 0.12em;
}

.dl-privacy .dd-inner p {
	margin-bottom: 0;
}


/* page tel
---------------------------------------------------------------------------*/

/* .tel-office-list
------------------------------------*/
.tel-office-list {
	border-top: 1px solid var(--color-border-beige);
	width: calc(100% - 100px);
	max-width: 1340px;
	margin: 90px auto 0;
	padding: 25px 0 0;
}

.tel-office-list h2 {
	margin-bottom: 90px;
	color: var(--color-green);
	font-size: 2rem;
	letter-spacing: 0.12em;
}

.tel-office-list table { width: 1120px; margin: 0 auto; }
.tel-office-list tr:not(:last-of-type) { border-bottom: 1px solid var(--color-border-beige); }

.tel-office-list th,
.tel-office-list td {
	padding: 15px 25px 35px 25px;
	font-size: 1.6rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.tel-office-list th { width: 32%; line-height: 2; }
.tel-office-list tr:first-of-type th { padding: 0 25px 5px 25px; font-weight: 500; font-size: 1.6rem; letter-spacing: 0.1em; }
.tel-office-list td:last-of-type { padding-right: 0; letter-spacing: 0.06em; }
.tel-office-list tr.pb th,
.tel-office-list tr.pb td { padding-bottom: 28px; }
.tel-office-list td.area { padding-left: 0; white-space: nowrap; }
.tel-office-list td.time { width: 30%; }
.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.4rem; }
.tel-office-list td a { pointer-events: none; }


/* .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: 998;
	opacity: 0;
}

.hash-tag {
	position: fixed;
	bottom: 30px;
	left: 30px;
	background: #FFFFFF;
	border: 0.5px solid var(--color-black);
	border-radius: 5px;
	height: 750px;
	max-height: calc(100% - 140px);
	padding: 22px 26px 18px;
	color: var(--color-black);
	z-index: 999;
	opacity: 0;
}

.hash-tag-close {
	display: none;
	position: absolute;
	top: -26px;
	right: -26px;
	margin: -20px;
	padding: 20px;
	cursor: pointer;
	z-index: 1;
	opacity: 0;
}

.hash-tag-close:before {
	display: block;
	content: '';
	position: absolute;
	top: 21px;
	left: 21px;
	background-color: #FFFFFF;
	border-radius: 50%;
	width: 50px;
	height: 50px;
	z-index: -1;
}

.hash-tag .tag-area { position: relative; }

.hash-tag .tag {
	position: absolute;
	top: 0;
	left: 0;
	visibility: hidden;
	pointer-events: none;
	opacity: 0;
}

.hash-tag h2 {
	margin: 0 0 18px 3px;
	font-size: 1.5rem;
	letter-spacing: 0.15em;
	white-space: nowrap;
}

.hash-tag .btn-edit {
	position: absolute;
	top: -17px;
	right: -17px;
	padding: 18px 20px 20px 23px;
	font-size: 1.2rem;
	letter-spacing: 0.12em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	white-space: nowrap;
	cursor: pointer;
}

.hash-tag .btn-edit i { display: block; position: absolute; top: 16px; left: 0; }

.hash-tag .btn {
	display: inline-block;
	position: relative;
	background-color: var(--color-yellow-light);
	border-radius: 8px;
	margin-right: 8px;
	padding: 13px 15px 12px 17px;
	font-size: 1.3rem;
	letter-spacing: 0.1em;
	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: hidden;
	position: relative;
	width: 450px;
	height: 100%;
}

.hash-tag .edit-area {
	position: absolute;
	top: 0;
	left: 0;
	border-top: 1px solid #E7E7D5;
	width: 100%;
	height: 100%;
	margin-top: 28px;
	padding-top: 22px;
	padding-bottom: 18px;
}

.hash-tag .edit-area dl { height: 100%; }

.hash-tag .edit-area dl > div {
	display: flex;
	height: calc(100% - 170px);
	margin-bottom: 25px;
}

@media (max-height: 960px) {
	.hash-tag .edit-area dl > div { height: calc(100% - 240px); }
}

.hash-tag .edit-area dl > div:last-of-type { height: 120px !important; margin-bottom: 0; }

.hash-tag .edit-area dt {
	width: 55px;
	min-width: 55px;
	padding: 8px 0 0 2px;
	font-size: 1.3rem;
	letter-spacing: 0.13em;
	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%;
	padding: 25px 15px 25px 25px;
}

.hash-tag .edit-area dd.blog-copy-area2 { padding-top: 20px; padding-bottom: 23px; }
.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.3rem;
	line-height: 1.93 !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: 16px;
	background: rgba(0,0,0,0.2);
	width: 1px;
	height: calc(100% - 50px);
	z-index: 2;
}


/* page error
---------------------------------------------------------------------------*/
#mainContents:has(#errorContents){
	position: relative;
	height: calc(100vh - 385px);
	min-height: 800px;
	margin-bottom: -200px;
}

#errorContents section {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 1080px;
	margin-top: 40px;
}

#errorContents section h1 {
	margin-bottom: 36px;
	margin-left: -1px;
	font-weight: 400;
	font-size: 3rem;
	letter-spacing: 0.14em;
}

#errorContents section p { font-size: 1.6rem; line-height: 2.2; letter-spacing: 0.14em; }


/* hover
---------------------------------------------------------------------------*/
@media (any-hover: hover) {

	/* common
	------------------------------------*/
  .hover,
	.slider-control .slick-arrow { cursor: pointer; transition: .1s ease-out; -webkit-transform: translateZ(0); }
	a:hover, .hover:hover,
	.slider-control .slick-arrow:hover { text-decoration: none; opacity: 0.7; }
	.office-search-btn:hover { background-color: var(--color-green); color: #FFFFFF; }

}


/* 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; }

/* print
---------------------------------------------------------------------------*/
@media print {
	header,
	.search-fix,
	.tel-fix,
	.office-search-btn { position: absolute; }
}