@charset "utf-8";
/*
Theme Name: sososya4
Theme URI: https://sososya.com/
Version: 4.0
*/

/* common
---------------------------------------------------------------------------*/
:root {
	--color-bg: #FFFFFF;
	--color-bg-beige: #FBFAF7;
	--color-bg-gold: #FCFAF4;
	--color-border-gray-light: #E8E7E5;
	--color-border-gray: #D6D6D6;
	--color-border-gray-dark: #A8A59F;
	--color-border-beige-light: #F2EBE0;
	--color-border-beige: #D1CDBF;
	--color-text: #524B40;
	--color-gold: #C6A648;
	--color-brown: #9B7A5F;
	--color-gray: #8A867F;
	--font-gothic: 'Noto Sans JP', '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'Hiragino Sans', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
	--font-min-l: 'FOT-筑紫Aオールド明朝 Pr6N L{pm}', '游明朝体', '游明朝', YuMincho, 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
	--font-min-l-v: 'FOT-筑紫Aオールド明朝 Pr6N L', '游明朝体', '游明朝', YuMincho, 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
	--font-min-r: 'FOT-筑紫Aオールド明朝 Pr6N R{pm}', '游明朝体', '游明朝', YuMincho, 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
	--font-min-r-v: 'FOT-筑紫Aオールド明朝 Pr6N R', '游明朝体', '游明朝', YuMincho, 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
	--font-min-m: 'FOT-筑紫Aオールド明朝 Pr6N M{pm}', '游明朝体', '游明朝', YuMincho, 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
	--font-min-m-v: 'FOT-筑紫Aオールド明朝 Pr6N M', '游明朝体', '游明朝', YuMincho, 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
	--font-min-d: 'FOT-筑紫Aオールド明朝 Pr6N D', '游明朝体', '游明朝', YuMincho, 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
	--font-sans: acumin-pro-wide, sans-serif; /* 300,400 */
	--font-serif: 'Adobe Garamond Pro', 'Garamond Premier Pro', 'EB Garamond', serif;
}

body {
	background-color: var(--color-bg);
	color: var(--color-text);
	font-size: 14px;
	font-family: var(--font-min-m);
	line-height: 1;
	font-feature-settings: 'palt' 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: none !important;
}

body:not(#tablet).noscroll { overflow-y: scroll; position: fixed; width: 100%; }
::-moz-selection { background: #F3F2EF; color: var(--color-text); }
::selection { background: #F3F2EF; color: var(--color-text); }

p { font-size: 14px; line-height: 1.9; letter-spacing: 0.08em; margin-bottom: 14px; }
p:last-child { margin-bottom: 0 !important; }
address,i { font-style: normal; }
img { max-width: none; }

.block { display: inline-block !important; }
.wide { display: inline-block !important; }
.narrow { display: none !important; }
.nav-sp, .btn-nav { display: none !important; }

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

/* link
------------------------------------*/
a { color: var(--color-text); text-decoration: none; transition: .15s ease-out; -webkit-transform: translateZ(0); }
.hover { cursor: pointer; transition: .15s ease-out; }
a:hover,.hover:hover { text-decoration: none; opacity: 0.7; }
.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-border-gray-dark); width: 100%; height: 1px; }

/* .btn
------------------------------------*/
.btn-link a,
.btn-link > span {
	display: inline-block;
	display: inline-block;
	background-color: #FFFFFF;
	border: 1px solid var(--color-border-beige);
	border-radius: 30px;
	padding: 13px 26px 16px 28px;
	font-size: 15px;
	letter-spacing: 0.1em;
	text-align: center;
	text-decoration: none !important;
}

.btn-link .movie {
	display: inline-block;
	margin: -10px 12px 0 -2px;
	transform: translateY(3px);
}

.btn-arrow a {
	display: inline-block;
	font-size: 14px;
	letter-spacing: 0.1em;
}

.btn-color a {
	display: inline-block;
	background-color: var(--color-gold);
	border-radius: 50px;
	color: #FFFFFF;
	font-family: var(--font-min-d);
	font-size: 21px;
	text-align: center;
	padding: 19px 26px 21px 28px;
	letter-spacing: 0.1em;
}

.btn-set { display: -webkit-box; display: flex; flex-wrap: wrap; }
.btn-set > div { margin: 0 14px 18px 0; }
.btn-set > div:first-child:last-child { margin-bottom: 0; }


/* #wrap
---------------------------------------------------------------------------*/
#wrap { min-width: 1240px; min-height: 100vh; }


/* header
---------------------------------------------------------------------------*/
header {
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0;
	z-index: 1;
	pointer-events: none;
	opacity: 0;
}

header.active { pointer-events: auto; }
.header-inner { display: -webkit-box; display: flex; justify-content: space-between; padding: 0 0 95px 65px; }

body.case-top .header-inner,
body.case-single .header-inner,
body.interview-single .header-inner { padding-bottom: 60px; }

.header-logo { margin-top: 60px; }
.header-logo .logo { width: 134px; margin-bottom: 30px; }
.header-logo .logo img { width: 100%; height: auto; }

.header-logo address {
	display: block;
	margin-left: 3px;
	font-family: var(--font-sans);
	font-weight: 400;
	font-size: 10px;
	line-height: 2.2;
	letter-spacing: 0.12em;
	transform-origin: left top;
	transform: scale(0.9);
}

/* .gnav
------------------------------------*/
.header-nav { position: fixed; top: 0; right: 0; padding: 0 65px; z-index: 999; }

.header-nav:after {
	display: block;
	content: '';
	position: absolute;
	top: 39px;
	left: 42px;
	width: calc(100% - 74px);
	height: calc(100% - 81px);
	background: #FFFFFF;
	box-shadow: 0px 1px 9px 1px rgba(53, 45, 38, 0.04);
	border-radius: 25px;
	transform: matrix(-1, 0, 0, 1, 0, 0);
	transition: .15s ease-out;
	z-index: -1;
	opacity: 0;
}

@supports (background:paint(id)) and (-ms-high-contrast-adjust:none) {
	.header-nav:after { height: calc(100% - 77px); }
}

.header-nav.fix:after { opacity: 1; }
.header-nav .sns,
.header-nav + .bg-gnav + .recruit-link { transition: .15s ease-out; }
.header-nav.fix .sns,
.header-nav.fix + .bg-gnav + .recruit-link { pointer-events: none; opacity: 0; }
.header-nav.active .sns,
.header-nav.active + .bg-gnav + .recruit-link { pointer-events: all; opacity: 1; }

.bg-gnav {
	position: fixed;
	top: 0;
	right: 0;
	background-color: rgba(200,200,182,0.64);
	width: 150vw;
	min-width: 1240px;
	height: calc(100vh + 200px);
	height: calc(100dvh + 200px);
	z-index: 1;
	visibility: hidden;
	pointer-events: none;
	transition: .15s ease-out;
	opacity: 0;
}

.bg-mnav {
	background-color: #FFFFFF;
	position: absolute;
	top: -100px;
	right: 0;
	background: url(img/share/bg-mnav.jpg) repeat left top;
	width: 1095px;
	height: calc(100vh + 120px);
	height: calc(100dvh + 120px);
	padding: 0;
	transition: .3s cubic-bezier(0.165, 0.84, 0.44, 1); /* easeOutQuart */
	visibility: hidden;
	pointer-events: none;
	z-index: 2;
	opacity: 0;
}

.header-nav.active + .bg-gnav,
.header-nav.active .bg-mnav {
	pointer-events: all;
	visibility: visible;
	opacity: 1;
}

.header-nav .gnav { position: relative; margin: 0 -12px 0 0; z-index: 3; }
.header-nav .gnav > ul { display: -webkit-box; display: flex; }

.header-nav .gnav > ul > li { margin-top: 50px; }
.header-nav .gnav > ul > li > .btn a,
.header-nav .gnav > ul > li > .btn > span {
	display: block;
	padding: 10px 11px 10px;
	font-size: 18px;
	letter-spacing: 0.07em;
	white-space: nowrap;
}

body#tablet .header-nav .gnav > ul > li.btn-mnav > .btn a { pointer-events: none !important; }

.header-nav .gnav > ul > li > .btn a .line:after { bottom: -4px; opacity: 0; transition: .15s ease-out; }
.header-nav .gnav > ul > li.btn-mnav > .btn a .line:after { bottom: -12px; }
.header-nav .gnav > ul > li.btn-mnav > .btn a:hover { opacity: 1 !important; }
.header-nav.active .gnav > ul > li.active > .btn a .line:after { opacity: 0.6; }
.header-nav .gnav > ul > li > .btn a span img.color { position: absolute; top: 0; left: 0; opacity: 0;	 }
.header-nav.active .gnav > ul > li > .btn a span img { opacity: 0; }
.header-nav.active .gnav > ul > li > .btn a span img.color { opacity: 1; }

.mnav-wrap {
	position: absolute;
	top: 90px;
	right: -53px;
	width: calc(100% + 106px);
	height: 100vh;
	height: 100dvh;
	transition: .15s cubic-bezier(0.25, 0.46, 0.45, 0.94); /* easeOutQuad */
	visibility: hidden;
	opacity: 0;
}

#wrap:not(.transition) .header-nav.active .btn-mnav .mnav-wrap.active {
	transition: .3s cubic-bezier(0.215, 0.61, 0.355, 1); /* easeOutCubic */
	visibility: visible;
	opacity: 1;
}

.mnav-wrap.resize { transition: none !important; }

.mnav {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	height: calc(100vh - 90px);
	height: calc(100dvh - 90px);
	padding: 100px 53px 0 64px;
}

.mnav-inner { position: relative;	overflow: hidden; }

.header-nav.active .gnav > ul > li > .btn a,
.mnav, .mnav a { color: #C9BDAD; }
.header-nav.active .gnav > ul > li > .btn a .line:after { background-color: #C9BDAD; }

.mnav-title { white-space: nowrap; }

.mnav-title b {
	display: block;
	position: absolute;
	bottom: 45px;
	left: 65px;
	font-size: 21px;
	letter-spacing: 0.2em;
}

.mnav-title em {
	display: block;
	position: absolute;
	bottom: 40px;
	right: 65px;
	font-family: var(--font-serif);
	font-size: 28px;
	letter-spacing: 0.08em;
}

.mnav-title strong {
	display: block;
	position: absolute;
	bottom: 94px;
	right: 65px;
	font-size: 16px;
	letter-spacing: 0.14em;
}

.mnav li { position: relative; width: 390px; }

.mnav li a,
.mnav .mnav-inner > ul > li > span { display: inline-block; padding: 10px 28px 30px 0; }

.mnav li.current > a,
body.blog:not(.blog-event) .mnav li#mnav-blog a,
body.blog-event .mnav li#mnav-event a,
body.blog .mnav-blog-category li.current a,
body.case .mnav li#mnav-case > span,
body.case-all .mnav li#mnav-case-all > a { color: rgba(255,255,255,0.95); }

.gnav > ul > li.current img.color { filter: saturate(0%) brightness(130%) contrast(100%); }

.mnav li a strong,
.mnav .mnav-inner > ul > li > span strong {
	display: block;
	margin-bottom: 14px;
	font-size: 19px;
	letter-spacing: 0.12em;
}

.mnav li a strong span {
	display: block;
	margin-bottom: 11px;
	font-size: 13px;
	letter-spacing: 0.08em;
}

.mnav li a em,
.mnav .mnav-inner > ul > li > span em {
	display: block;
	margin-left: 2px;
	font-family: var(--font-sans);
	font-weight: 300;
	font-size: 12px;
	letter-spacing: 0.1em;
	opacity: 0.8;
}

.mnav li time {
	display: block;
	position: absolute;
	top: 11px;
	right: 11px;
	font-family: var(--font-sans);
	font-weight: 300;
	font-size: 10px;
	letter-spacing: 0.14em;
}

.mnav-s { position: relative; margin: -5px 0 25px; padding: 0 0 0 22px; }

.mnav-s:before {
	display: block;
	content: '';
	position: absolute;
	top: 5px;
	left: 4px;
	background-color: #C9BDAC;
	width: 1px;
	height: calc(100% - 14px);
	opacity: 0.4;
}

.mnav-s li a { display: inline-block; padding: 5px 10px 10px 0 !important; font-size: 15px; letter-spacing: 0.12em; }
.mnav-s li:nth-of-type(2) a { padding-left: 2px; }

.mnav figure {
	float: right;
	margin-right: 10px;
	background: url(img/share/bg-mnav.jpg) repeat left top;
	width: 375px;
}

.mnav figure img {
	display: block;
	/*mix-blend-mode: luminosity;*/
	border-radius: 3px;
	width: 100%;
	height: auto;
	-webkit-backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
}

.mnav-blog-category { position: absolute; top: 11px; left: 220px; white-space: nowrap; }
.mnav-blog-category dl { display: -webkit-box; display: flex; }
.mnav-blog-category dl > div { width: 125px; }

.mnav-blog-category dt {
	display: inline-block;
	position: relative;
	margin-bottom: 18px;
	padding: 0 12px 0 11px;
	font-size: 13px;
	letter-spacing: 0.06em;
}

.mnav-blog-category dt:before,
.mnav-blog-category dt:after {
	display: block;
	content: '';
	position: absolute;
	top: 1px;
	background: url(img/share/ico-brackets-arc.svg) no-repeat;
	background-size: 5px auto;
	width: 6px;
	height: 13px;
}

.mnav-blog-category dt:before { left: 0; }
.mnav-blog-category dt:after { right: 0; transform: scaleX(-1); }

.mnav .mnav-blog-category li { width: 100%; }

.mnav .mnav-blog-category li a {
	padding: 1px 5px 7px 0;
	font-size: 14px;
	line-height: 1.5;
	letter-spacing: 0.05em;
	white-space: initial;
}

.mnav-blog { width: 460px; position: absolute; bottom: 0; left: 0; }
.mnav-blog article { position: relative; margin-bottom: 8px; }
.mnav-blog article:last-of-type { margin-bottom: 0 !important; }

.mnav-blog article:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #928572;
	width: calc(100%);
	height: 1px;
	opacity: 0.8;
}

.mnav-blog article a {
	display: block;
	box-sizing: border-box;
	padding: 10px 105px 10px 2px;
	width: 100%;
}

.mnav-blog article time {
	display: block;
	margin-bottom: 10px;
	font-size: 10px;
	letter-spacing: 0.12em;
}

.mnav-blog article strong {
	display: block;
	font-size: 15px;
	letter-spacing: 0.1em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.mnav-blog article .category {
	display: block;
	position: absolute;
	top: 33px;
	right: 0;
	font-size: 12px;
	letter-spacing: 0.1em;
	text-align: right;
}

/* .sns
------------------------------------*/
.header-nav .sns { position: relative; float: right; margin-top: 13px; margin-right: -5px; z-index: 3; }

.sns { display: -webkit-box; display: flex; }
.sns li a { display: block; position: relative; padding: 5px 5px 5px 4px; }
.sns li a img.color { position: absolute; top: 5px; left: 4px; opacity: 0; }

.header-nav.active .sns li a img { opacity: 0; }
.header-nav.active .sns li a img.color { opacity: 1; }

@media (max-width: 1439px) {
	.header-inner { padding-left: 57px; }
	.header-nav { padding: 0 50px; }
	.header-nav:after { left: 34px; width: calc(100% - 58px); }
	.header-nav .gnav > ul > li .btn > a { padding-right: 8px; padding-left: 9px; }
	.header-nav .gnav > ul > li .btn > a img { height: 17px; }
	.header-nav .sns { margin-right: -8px; }
	.bg-mnav { width: 980px; }
	.mnav-wrap { width: calc(100% + 108px); }
	.mnav figure { width: 370px; margin-right: 8px; }
	.mnav-blog-category { left: 205px; }
	.mnav-blog-category dl > div { width: 115px; }
	.mnav .mnav-blog-category li a { padding-right: 0; }
	.mnav-blog { width: 435px; }
	header .recruit-link { right: 216px !important; }
}

@media (max-width: 1240px) {
	.header-nav, .bg-mnav { left: 222px; width: 920px; }
	.bg-mnav { width: calc(1240px - 222px); }
	.header-nav.active { overflow-y: scroll; overflow-x: hidden; height: calc(100vh + 2px); height: calc(100dvh + 2px); right: 0; }
	.header-nav.active:after { display: none !important;}
	.header-nav::-webkit-scrollbar { width: 0; }
	.header-nav .gnav > ul > li .btn > a { padding-right: 12px; }
	.bg-mnav { position: fixed; }
	.mnav-wrap { height: 100%; }
	/*.mnav { height: 700px; }*/
	header .recruit-link { left: 760px !important; }
}

@media (max-height: 800px) {
	.header-logo, body.top .header-logo { margin-top: 50px; }
	.header-nav .gnav > ul > li > .btn a { padding-top: 0px; }
	.header-nav:after { top: 32px; }
	.header-nav.active { overflow-y: scroll; overflow-x: hidden; height: calc(100vh + 2px); right: 0; }
	.header-nav.active:after { display: none !important; }
	.header-nav::-webkit-scrollbar { width: 0; }
	.bg-mnav { position: fixed; }
	.mnav-wrap { height: 100%; }
	.mnav { height: 700px; padding-top: 80px; }
	header .recruit-link { top: 94px !important; }
}

@media (max-height: 860px) {
	.mnav figure { width: auto; }
	.mnav figure img { width: auto; height: calc(100vh - 190px - 170px); min-height: 430px; }
	.mnav li a { padding-bottom: 20px; }
	.mnav li a strong { margin-bottom: 12px; }
	.mnav li a em { font-size: 11px; }
	.mnav-blog-category { top: -1px; }
	.mnav-blog-category dt { margin-bottom: 12px; }
	.mnav .mnav-blog-category li a { padding-bottom: 7px; line-height: 1.3; }
	.mnav-blog article { margin-bottom: 4px; }
	.mnav-blog article a { padding-top: 7px; padding-bottom: 12px; }
	.mnav-blog article time { margin-bottom: 8px; }
	.mnav-blog article strong { font-size: 14px; letter-spacing: 0.08em; }
	.mnav-blog article .category { top: 27px; letter-spacing: 0.08em; }
	.mnav-inner > ul { transform: translateY(-10px); }
	.mnav-title b { font-size: 19px; letter-spacing: 0.18em; }
	.mnav-title strong { bottom: 88px; font-size: 14px; }
	.mnav-title em { font-size: 25px; }
}


/* footer
---------------------------------------------------------------------------*/
footer {
	width: 100%;
	margin: 260px auto 0;
	padding: 0;
	opacity: 0;
}

.footer-inner {
	position: relative;
	display: -webkit-box;
	display: flex;
	-webkit-box-align: end;
	align-items: flex-end;
	margin: 0 80px 60px;
}

.footer-inner > .logo { width: 130px; margin: 0 53px 0 0; transform: translateY(-4px); }
.footer-inner > .logo img { width: 100%; height: auto; }

.footer-inner .copyright {
	display: block;
	margin: 0 0 24px 2px;
	font-family: var(--font-sans);
	font-weight: 400;
	font-size: 10px;
	letter-spacing: 0.12em;
}

.footer-inner .address { margin: 0 60px -4px 0; }

.footer-inner .address h2,
.footer-inner .address address {
	font-family: var(--font-min-r);
	font-size: 16px;
	line-height: 1.8;
	letter-spacing: 0.06em;
}

.footer-inner nav { transform: translateY(-1px); }
.footer-inner nav li { margin-top: 5px; }

.footer-inner nav li a {
	display: inline-block;
	padding: 5px 15px 5px 0;
	font-family: var(--font-min-r);
	font-size: 15px;
	letter-spacing: 0.12em;
}

.footer-inner nav li a:after { bottom: 3px; width: calc(100% - 17px); }

.footer-fp { position: absolute; top: -20px; right: 22px; }

.footer-fp p {
	margin-bottom: 22px;
	font-family: var(--font-min-r-v);
	font-size: 12px;
	line-height: 1;
	letter-spacing: 0.3em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.footer-fp p span {
	display: inline-block;
	position: relative;
	margin-left: 13px;
}

.footer-fp p span:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: -4px;
	background-color: var(--color-border-gray-dark);
	width: 1px;
	height: calc(100%);
	opacity: 0.8;
}

.footer-fp .logo { transform: translateX(-4px); }
.footer-fp .logo img { width: 92px; height: auto; }

footer .sns { position: absolute; bottom: -2px; right: -6px; }

/* .footer-img-top
------------------------------------*/
.footer-img-top { overflow: hidden; width: 100%; height: 0; }
body.top .footer-img-top { height: auto; }
.footer-img-top img { width: 100%; height: auto; }

/* .footer-img
------------------------------------*/
.footer-img { position: relative; overflow: hidden; width: 100%; }
body.top .footer-img { height: 0; }
.footer-img .slick-track { width: 100% !important; }
.footer-img .inner:not(:first-child) { position: absolute !important; top: 0 !important; left: 0 !important; }
.footer-img .inner picture { display: block; width: 100%; }
.footer-img .inner img { width: 100%; height: auto; -webkit-backface-visibility: hidden; image-rendering: -webkit-optimize-contrast; }
.footer-img .copy { position: absolute; top: 42.5%; left: 7.6%; transform: translateY(-50%); }


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

#performance-designContents,
#material-technologyContents,
#fpContents,
#model-houseContents .title-page,
#questionContents,
#contactContents,
#privacyContents,
#errorContents { width: 1060px; margin: 0 auto; }

.contents { box-sizing: border-box; opacity: 0; }

/* .img-main
------------------------------------*/
.img-main { position: relative; width: 100%; margin-top: -48px; margin-bottom: 100px; }
.img-main.column2 { display: -webkit-box; display: flex; }
.img-main.column2 > picture { width: 50%; }
.img-main img { width: 100%; height: auto; -webkit-backface-visibility: hidden; image-rendering: -webkit-optimize-contrast; }

.img-caption {
	display: inline-block;
	position: absolute;
	bottom: 22px;
	left: 22px;
	background-color: #FFFFFF;
	padding: 4px 5px 5px 6px;
	font-size: 14px;
	letter-spacing: 0.1em;
	z-index: 10;
}

/* .slider-img
------------------------------------*/
.slider-img { position: relative; width: 100%; height: 62.5vw; }

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

.slider-img .inner { position: absolute !important; top: 0 !important; left: 0 !important; }
.slider-img .inner:first-of-type { position: relative !important; }
.slider-img img { object-fit: cover; width: 100%; height: 100%; -webkit-backface-visibility: hidden; image-rendering: -webkit-optimize-contrast; }

/* .slick-dots
------------------------------------*/
.slick-dots {
	position: absolute;
	bottom: 0;
	left: 35px;
	display: -webkit-box;
	display: flex;
	z-index: 900;
}

.slick-dots li { position: relative; width: 34px; height: 104px; }
.slick-dots li:first-of-type:last-of-type { display: none; }

.slick-dots button {
	position: relative;
	width: 100%;
	height: 100%;
	text-indent: -9999px;
	transition: .15s ease-out;
}

.slick-dots button:after {
	display: block;
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	background: #D9D9D9;
	border-radius: 50%;
	width: 7px;
	height: 7px;
}

.slick-dots button:hover:after,
.slick-dots .slick-active button:after { background: var(--color-gold); }

/* .title-page
------------------------------------*/
.title-page {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: start;
	align-items: flex-start;
	margin: 0 0 52px 20px;
}

#performance-designContents .title-page { margin-bottom: 100px; }

#material-technologyContents .title-page,
#real-estateContents .title-page { margin-bottom: 100px; }

#contactContents .title-page { margin-left: 0;  }

.title-page .title { display: inline-block; position: relative; white-space: nowrap; }

.title-page h2 {
	margin: 0 0 15px 1px;
	color: var(--color-gold);
	font-family: var(--font-sans);
	font-weight: 300;
	font-size: 12px;
	letter-spacing: 0.12em;
}

.title-page h2:after { display: none; }

.title-page h1,
.title-page b {
	display: block;
	margin-left: -2px;
	font-size: 30px;
	line-height: 1.5;
	letter-spacing: 0.09em;
}

#privacyContents .title-page h1 { letter-spacing: 0.02em; }

.title-page .title strong {
	display: block;
	position: absolute;
	bottom: 60px;
	right: 55px;
	font-family: var(--font-min-m-v);
	line-height: 1.6;
	letter-spacing: 0.18em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
	opacity: 0.6;
}

.title-page .title strong span.let { letter-spacing: 0.34em; }
.title-page .txt { padding: 33px 0 0 65px; }
.title-page h3 { margin-top: 16px; font-size: 19px; letter-spacing: 0.16em; }
.title-page p { font-size: 16px; line-height: 2.2; letter-spacing: 0.12em; }

/* .title-jp
------------------------------------*/
.title-jp {
	font-family: var(--font-min-r);
	font-size: 28px;
	letter-spacing: 0.1em;
	position: relative;
	left: -4px;
}

/* .title-en
------------------------------------*/
.title-en {
	margin-bottom: 40px;
	font-family: var(--font-sans);
	font-weight: 300;
	color: var(--color-gold);
	font-size: 13px;
	letter-spacing: 0.15em;
	white-space: nowrap;
}

.title-en span:after { background-color: var(--color-gold); bottom: -2px; }

/* .title-set
------------------------------------*/
.title-set .title-en { margin-bottom: 28px; }

/* .title-brackets
------------------------------------*/
.title-brackets { margin-bottom: 25px; font-size: 16px; letter-spacing: 0.1em; }

/* .title-sec
------------------------------------*/
.title-sec { margin-bottom: 60px; white-space: nowrap; }

.title-sec em {
	display: inline-block;
	margin-bottom: 27px;
	padding-bottom: 3px;
	color: var(--color-gold);
	font-family: var(--font-sans);
	font-size: 13px;
	font-weight: 300;
	letter-spacing: 0.14em;
}

.title-sec em:after { background-color: var(--color-gold); }

.title-sec strong { display: block; font-size: 28px; letter-spacing: 0.1em; }
.title-sec strong.let { letter-spacing: 0.04em; }

/* .title-sec-wide
------------------------------------*/
.title-sec-wide { margin-bottom: 60px; white-space: nowrap; }
.title-sec-wide strong { padding-right: 16px; font-size: 26px; letter-spacing: 0.12em; }
.title-sec-wide em { color: var(--color-gold); font-family: var(--font-sans); font-size: 13px; font-weight: 300; letter-spacing: 0.14em; }

/* .title-v
------------------------------------*/
.title-v {
	font-family: var(--font-min-m-v);
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

/* .sec-title-v
------------------------------------*/
.sec-title-v { position: relative; display: -webkit-box; display: flex; margin-bottom: 120px; padding: 0 0 0 90px; }
.sec-title-v:last-child { margin-bottom: 0 !important; }

.sec-title-v h3 {
	position: absolute;
	top: 2px;
	left: 0;
	padding-left: 28px;
	white-space: nowrap;
}

.sec-title-v h3 strong {
	display: block;
	font-family: var(--font-min-m-v);
	font-size: 17px;
	letter-spacing: 0.2em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}

.sec-title-v h3 em {
	display: block;
	position: absolute;
	top: 0;
	left: 15px;
	color: var(--color-gold);
	font-family: var(--font-sans);
	font-weight: 300;
	font-size: 13px;
	letter-spacing: 0.13em;
	transform-origin: left top;
	transform: rotate(90deg);
}

.sec-title-v figure { width: 355px; min-width: 355px; }
.sec-title-v figure img:not(:last-of-type) { display: block; margin-bottom: 22px; }

.sec-title-v figure figcaption {
	margin-left: 15px;
	font-size: 13px;
	line-height: 2;
	letter-spacing: 0.05em;
}

.sec-title-v figure figcaption strong {
	display: block;
	margin-bottom: 3px;
	font-size: 15px;
	letter-spacing: 0.1em;
}

.sec-title-v figure figcaption strong i {
	display: inline-block;
	background-color: var(--color-text);
	width: 13px;
	height: 13px;
	margin-right: 6px;
	transform: translateY(1px);
}

.sec-title-v .txt { padding: 0 0 0 65px; margin-top: -2px; }

.sec-title-v .txt h4 {
	margin: 0 0 24px -2px;
	font-family: var(--font-min-r);
	font-size: 23px;
	line-height: 1.8;
	letter-spacing: 0.12em;
}

.sec-title-v .txt p { font-size: 16px; white-space: nowrap; }
.sec-title-v .txt .btn-set { margin: 26px 0 0 -4px; }
.sec-title-v .txt .box + .btn-set { margin-top: 36px; }

/* .dot-list
------------------------------------*/
.dot-list li { position: relative; margin: 0 0 6px; padding-left: 15px; font-size: 14px; line-height: 1.6; letter-spacing: 0.1em; }
.dot-list li:last-of-type { margin-bottom: 0 !important; }
.dot-list li:before { display: block; content: '・'; position: absolute; top: 0; left: 0; }

/* .dl-line
------------------------------------*/
.dl-line > div { display: -webkit-box; display: flex; border-top: 1px solid var(--color-border-gray); padding: 18px 16px 18px; }
.dl-line > div,
.dl-line > div p { font-size: 16px; line-height: 1.8; letter-spacing: 0.08em; }
.dl-line > div:last-of-type { border-bottom: 1px solid var(--color-border-gray); }
.dl-line dt { width: 130px; min-width: 130px; padding-right: 20px; }

/* .lead p
------------------------------------*/
.lead p,
.contact-lead p,
.privacy-lead p,
.privacy-detail dd p { margin-bottom: 11px; font-size: 16px; line-height: 2; letter-spacing: 0.08em; }

/* .page-nav
------------------------------------*/
.page-nav { width: 1160px; margin: 180px auto 0; }

#performance-designContents .page-nav,
#material-technologyContents .page-nav,
#fpContents .page-nav {
	margin-right: -50px;
	margin-left: -50px;
}

.page-nav ul {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	text-align: center;
	white-space: nowrap;
}

.page-nav li {
	position: relative;
	width: calc(100% / 3);
	margin-bottom: 27px;
}

.page-nav.column4 li {
	width: calc(100% / 4);
}

.page-nav li:before,
.page-nav:not(.column4) li:nth-of-type(3n):after,
.page-nav.column4 li:nth-of-type(4n):after,
.page-nav.column4 li:last-of-type:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	background-color: var(--color-border-beige);
	width: 1px;
	height: 100%;
}

.page-nav li:before { left: 0; }
.page-nav:not(.column4) li:nth-of-type(3n):after { right: 0; }
.page-nav.column4 li:nth-of-type(4n):after,
.page-nav.column4 li:last-of-type:after { right: 0; }

.page-nav li a {
	display: block;
	padding: 10px 0;
	color: var(--color-gray);
}

.page-nav li a:hover,
.page-nav li.current a { color: var(--color-text); opacity: 1; }

.page-nav li strong,
.page-nav li em { opacity: 0.8; }

.page-nav li a:hover strong,
.page-nav li a:hover em,
.page-nav li.current strong,
.page-nav li.current em { opacity: 1; }

.page-nav li strong {
	display: block;
	margin-bottom: 14px;
	font-family: var(--font-min-r);
	font-size: 20px;
	letter-spacing: 0.12em;
}

.page-nav.column4 li strong {
	font-size: 17.5px;
	letter-spacing: 0.08em;
}

.page-nav li em {
	display: block;
	font-family: var(--font-sans);
	font-size: 10px;
	font-weight: 300;
	letter-spacing: 0.1em;
}


/* blog
---------------------------------------------------------------------------*/
.top-blog,
#blogContents,
#owner-listContents { position: relative; width: 1126px; margin: 0 auto; }

#blogContents .title-page { overflow: hidden; margin-bottom: 75px; margin-left: 0; }
#blogContents .title-page h1 { font-size: 32px; letter-spacing: 0.05em; }
#blogContents .title-page h2 { margin-left: 2px; }
#blogContents.single .title-page { margin-bottom: 120px; white-space: normal; }

/* .blog-category2
------------------------------------*/
.blog-category2 .blog-past,
.blog-category2 .blog-nav { display: none !important; }
.blog-category2 #blogContents .title-page { margin-left: 0 !important; margin-bottom: 60px; }
.blog-category2 #blogContents .title-page h1 { margin: -7px 0 -7px -2px; font-size: 27px; line-height: 1.6; }

/* .blog-past
------------------------------------*/
.blog-past { position: absolute; top: 0; right: 0; z-index: 10; white-space: nowrap; }

.blog-past h2 {
	position: relative;
	padding: 0 0 15px 25px;
	font-size: 15px;
	letter-spacing: 0.08em;
	cursor: default;
}

.blog-past h2 i { display: block; position: absolute; top: -1px; left: 0; }

.blog-ac-wrap {
	position: absolute;
	top: 14px;
	left: -4px;
	box-sizing: border-box;
	padding-top: 5px;
	transition: .3s cubic-bezier(0.165, 0.84, 0.44, 1);
	visibility: hidden;
	pointer-events: none;
	opacity: 0;
	z-index: 0;
}

.blog-ac-btn:hover .blog-ac-wrap { top: 22px; visibility: visible; pointer-events: auto; opacity: 1; }

.blog-ac-wrap ul {
	background-color: #F5F2E6;
	border-radius: 4px;
	padding: 9px 8px 7px;
}

.blog-ac-wrap li a {
	display: block;
	padding: 8px 8px 10px;
	font-size: 14px;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

/* .blog-nav
------------------------------------*/
.blog-nav { position: absolute; top: 48px; right: -19px; z-index: 2; }
.blog-nav > ul { display: -webkit-box; display: flex; flex-wrap: wrap; }
.blog-nav > ul > li { position: relative; }

.blog-nav > ul > li:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	background: var(--color-border-gray-dark);
	width: 1px;
	height: 100%;
}

.blog-nav > ul > li:last-of-type:after { display: none; }

.blog-nav > ul > li > a {
	display: block;
	padding: 3px 19px 3px 17px;
	font-size: 16px;
	letter-spacing: 0.06em;
	white-space: nowrap;
}

.blog-nav .blog-ac-btn > a i { display: inline-block; margin-right: 6px; }
.blog-nav .blog-ac-wrap { left: 13px; padding-top: 11px; }
.blog-nav .blog-ac-wrap li a { letter-spacing: 0.04em; }

/* .blog-list
------------------------------------*/
.blog-list { display: -webkit-box; display: flex; flex-wrap: wrap; width: 100%; }

.blog-list article { width: 250px; margin: 0 42px 44px 0; }
.blog-list article:nth-of-type(4n){ margin-right: 0; }
.blog-list article a { display: block; position: relative; }

.blog-list figure { position: relative; overflow: hidden; width: 100%; height: 0; margin-bottom: 11px; padding-bottom: 75%; }
.blog-list figure img { display: block; position: absolute; top: 0; left: 0; object-fit: cover; width: 100%; height: 100%; }
.blog-list a .img { display: block; position: relative; }

.blog-list .ico { display: block; position: absolute; top: -12px; left: -22px; z-index: 2; }

.blog-list time {
	display: block;
	position: absolute;
	bottom: 0;
	left: -16px;
	font-size: 11px;
	letter-spacing: 0.13em;
	opacity: 0.6;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.blog-list .category { font-size: 12px; letter-spacing: 0.06em; }

.blog-list h2 {
	margin-bottom: 5px;
	/*color: #000000;*/
	font-size: 15px;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.blog-list .event-date {
	margin-top: 15px;
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

.blog-list .event-date > i { display: inline-block; margin-left: -2px; }

.blog-list .event-date > i + i,
.blog-list .event-date > i:last-of-type { display: none; }

.blog-list .event-date .area { display: inline-block; }
.blog-list .event-date .area i { display: inline-block; margin-right: -2px; }
.blog-list .event-date .area i:last-of-type { display: none; }


/* blog single
---------------------------------------------------------------------------*/
.blog-area { position: relative; width: 680px; margin: 0 auto; }

/* .blog-title
------------------------------------*/
.blog-title { margin-bottom: 40px; }
.blog-title-category { position: absolute; top: 6px; left: -181px; width: 140px; }

.blog-title time {
	display: block;
	margin-left: 1px;
	font-size: 11px;
	letter-spacing: 0.12em;
	opacity: 0.6;
}

.blog-title .post-categories {
	display: block;
	margin-bottom: 10px;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 0.08em;
}

.blog-title .post-categories li { padding-bottom: 5px; }

.blog-title h1 {
	font-size: 26px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

/* .post-main
------------------------------------*/
.post-main, .post-main h2, .post-main p { font-size: 17px; line-height: 2; letter-spacing: 0.08em; }
.post-main h2 { margin-bottom: 20px; font-size: 16px; }
.post-main p { margin-bottom: 30px; text-align: justify; word-break: break-all; }

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

.post-main img { display: block; max-width: 100%; height: auto; margin: 40px 0; }
.post-main p img:first-child { margin-top: 40px; }
.post-main img:first-child, .post-main p:first-child img:first-child { padding-top: 0; }
.post-main img + img { margin-top: -20px; }
.post-main img + br + img { margin-top: -70px; }
.post-main .wp-caption { max-width: 100%; margin-bottom: 40px; }
.post-main .wp-caption-text { margin-top: -24px; font-size: 12px; }

.post-main iframe { width: 680px; height: 382px; }

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

.post-main blockquote { background: #F5F5F5; margin: 40px 0; padding: 28px 36px; text-align: justify; }
.post-main blockquote p { font-size: 15px; line-height: 1.9; }

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

.blog-table h3 {
	margin: 80px 0 24px;
	font-size: 18px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

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

.blog-table table { box-sizing: border-box; width: calc(100% + 10px); margin: 0 -5px 40px; }

.blog-table table,
.blog-table table td p {
	font-size: 16px;
	line-height: 1.75;
	letter-spacing: 0.08em;
}

.blog-table table td p { margin-bottom: 10px; }

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

.blog-table th, .blog-table td { padding-top: 16px; padding-bottom: 16px; }

.blog-table th {
	position: relative;
	box-sizing: border-box;
	padding-right: 40px;
	padding-left: 5px;
	text-align: left;
	vertical-align: top;
	white-space: nowrap;
}

.blog-table td { box-sizing: border-box; width: 100%; padding-right: 5px; }
.blog-table td .date time { padding-left: 6px; }
.blog-table td span.area { padding-right: 6px; }
.blog-table td span.area i:last-of-type { display: none; }

.blog-table td span.attention {
	display: block;
	margin-top: 3px;
	font-size: 12px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.blog-table td span.attention.inline { display: inline-block; }

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

.blog-table-attention {
	margin-top: -22px;
	font-size: 14px;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

/* .post-link
------------------------------------*/
.blog-table + .post-link { margin-left: -5px; }
.post-link { margin-top: 35px; }
.post-link li { display: inline-block; margin: 0 8px 14px 0; }

/* .nav-page
------------------------------------*/
.nav-page { position: absolute; top: 2px; right: -195px; }
.nav-page li { margin-bottom: 5px; }
.nav-page li a, .nav-page li span { display: block; padding: 10px; }
.nav-page li span { opacity: 0.3; }
.nav-page li.next { transform: scaleX(-1) translateX(2px); }

/* .blog-other
------------------------------------*/
.blog-other { position: relative; margin-top: 240px; }
.blog-other > h2 { margin-bottom: 35px; font-size: 18px; letter-spacing: 0.14em; }
.blog-other > .btn { position: absolute; top: -8px; right: -10px; }
.blog-other > .btn a { display: inline-block; padding: 10px; font-size: 16px; }


/* .wp-pagenavi
---------------------------------------------------------------------------*/
.wp-pagenavi { overflow: hidden; margin: 100px 0 0; text-align: center; font-size: 18px; }
.case-list + .wp-pagenavi { margin-top: 140px; }
.wp-pagenavi .pages, .wp-pagenavi .extend { display: none; }
.wp-pagenavi a { margin: 0 7px; padding: 5px; }
.wp-pagenavi .current { display: inline-block; border-bottom: 1px solid #666666; margin: 0 12px; padding: 5px 0 2px; }
.wp-pagenavi a.first, .wp-pagenavi a.last { display: none; }

.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
	display: inline-block;
	background: url(img/share/ico-arrow-next.svg) no-repeat center center;
	width: 30px;
	height: 30px;
	text-indent: -9999px;
}
.wp-pagenavi a.previouspostslink { margin-right: 20px; transform: translateY(-6px) scaleX(-1); }
.wp-pagenavi a.nextpostslink { margin-left: 18px; transform: translateY(-6px); }


/* page top
---------------------------------------------------------------------------*/
body.top header { position: absolute; top: 0; left: 0; z-index: 2; }
body.top .header-inner { padding-bottom: 0; }
body.top .header-logo { margin-top: 50px; }
body.top .header-logo address { pointer-events: none; opacity: 0; }

/* .top-title
------------------------------------*/
.top-title {
	position: relative;
	box-sizing: border-box;
	background-color: #F9F8F5;
	width: 100%;
	margin-bottom: 100px;
	padding: 195px 0 100px;
	opacity: 0;
}

.top-title:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	background-color: #FFFFFF;
	width: 90px;
	height: 100%;
	z-index: 0;
	pointer-events: none;
	transition: .15s ease-out;
}

.top-main { position: relative; overflow: hidden; width: 100%; max-width: 1540px; margin: 0 auto; z-index: 1; }

.top-main .img img,
.top-main .img-set img { width: 100%; height: auto; -webkit-backface-visibility: hidden; image-rendering: -webkit-optimize-contrast; }

.top-main .img { position: absolute; top: 394px; left: 80px; width: 23.4%; opacity: 0; }
.top-main-slide { overflow: hidden; width: 0; height: 0; opacity: 0; pointer-events: none; }

.top-main .txt {
	position: absolute;
	top: -11px;
	left: 96px;
	white-space: nowrap;
}

.top-main .txt h2 {
	margin-bottom: 28px;
	font-family: var(--font-min-r);
	font-size: 38px;
	line-height: 1.65;
	letter-spacing: 0.14em;
}

.top-main .txt p {
	margin: 0 0 8px 1px;
	font-size: 16px;
	line-height: 2.1;
	letter-spacing: 0.1em;
}

.top-main .img-set { position: relative; float: right; width: 59%; margin-right: 49px; }
.top-main .img1 { width: 19.5%; margin: 0 0 11.5% 20.5%; opacity: 0; }
.top-main .img2 { width: 34%; margin: 0 0 11% 10%; opacity: 0; }
.top-main .img3 { position: absolute; top: 8.7%; right: -3.3%; width: 50.6%; opacity: 0; }
.top-main .img4 { position: relative; opacity: 0; }

/* .top-lead
------------------------------------*/
.top-lead {
	position: relative;
	box-sizing: border-box;
	width: 78%;
	min-width: 1020px;
	max-width: 1160px;
	margin: max(-195px, -13.9vw) auto 0;
	z-index: 2;
	opacity: 0;
}

.top-lead > h2 {
	margin: 0 0 25px 2px;
	font-size: 15px;
	letter-spacing: 0.25em;
}

.top-lead > h3 {
	margin: 0 0 34px -1px;
	font-family: var(--font-min-r);
	font-size: 38px;
	line-height: 1.55;
	letter-spacing: 0.17em;
}

.top-lead > .txt p {
	font-size: 16px;
	line-height: 2.45;
	letter-spacing: 0.12em;
}

.top-case { position: absolute; bottom: 0; right: 16px; width: 570px; }
.top-case .case-head { width: 100%; margin-bottom: 32px; }
.top-case .case-head h2 { font-size: 17px; letter-spacing: 0.12em; }

.top-case .case-head .case-category { margin: -5px -16px 0 0; }
.top-case .case-head .case-category li:before { top: 6px; height: calc(100% - 10px); }
.top-case .case-head .case-category li:first-of-type:before,
.top-case .case-head .case-category li:last-of-type:after { display: none; }
.top-case .case-head .case-category a { padding: 5px 17px; letter-spacing: 0.07em; white-space: nowrap; }

.top-case .case-list { justify-content: space-between; width: 100%; margin-bottom: -30px; }
.top-case .case-list article { width: 45%; margin: 0 0 30px 0 !important; }
.top-case .case-list article figure { position: relative; overflow: hidden; width: 100%; height: 0; padding-bottom: 71.3%; }
.top-case .case-list article figure img { display: block; position: absolute; top: 0; left: 0; object-fit: cover; width: 100%; height: 100%; }

.top-lead .btn-set { justify-content: space-between; width: 425px; margin: 50px 0 0 -7px; }
.top-lead .btn-set > div { width: 204px; margin: 12px 0 0; }

.top-lead .btn-set > div a {
	display: block;
	background: none;
	padding-right: 0;
	padding-left: 5px;
	letter-spacing: 0.12em;
	white-space: nowrap;
}

@media (min-width: 1600px) {
	.top-title:after { opacity: 0; }
	.top-main { transform: translateX(-15px); }
	.top-main .img { top: 420px; width: 24.4%; }
	.top-main .txt { top: -14px; }
	.top-main .txt h2 { margin-bottom: 31px; font-size: 41px; }
	.top-main .txt p { margin-bottom: 10px !important; font-size: 17px; line-height: 2.15; }
	.top-main .img4 { margin-left: 1%; }
	.top-case { right: -10px; }
}
@media (max-width: 1439px) {
	.top-title:after { width: 65px; }
	.top-main .img { top: 374px; left: 60px; }
	.top-main .txt h2 { margin-bottom: 26px; font-size: 35px; }
	.top-main .txt p { font-size: 15px; letter-spacing: 0.09em; }
	.top-main .img-set { width: 58%; margin-right: 40px; }
	.top-main .img1 { margin-left: 21.5%; }
	.top-main .img2 { margin-left: 11.5%; }
	.top-main .img3 { width: 49%; }
	.top-main .img4 figure { margin-left: -1%; }
	.top-case { width: 520px; }
	.top-case .case-head h2 { font-size: 16px; }
	.top-case .case-head .case-category a { font-size: 14px; }
	.top-case .case-list h3 { font-size: 15px; }
	.top-case .case-list .case-area li { font-size: 12px; }
	.top-lead {	margin-top: max(-125px, -13.9vw); }
	.top-lead > h2 { font-size: 15px; }
	.top-lead > h3 { margin-bottom: 28px; font-size: 34px; }
	.top-lead > .txt p { font-size: 15px; line-height: 2.2; }
	.top-lead .btn-set { width: 402px; margin-top: 40px; }
	.top-lead .btn-set > div { width: 194px; }
	.top-lead .btn-set > div a { letter-spacing: 0.08em; }
	.top-interview { transform: translateX(25px); }
}
@media (max-width: 1300px) {
	.top-main .txt { left: 76px; }
	.top-lead { margin-top: max(-110px, -13.9vw); }
}

/* .top-blog
------------------------------------*/
.top-blog { margin-bottom: 80px !important; }
.top-blog .title-page { margin-bottom: 45px; }
.top-blog .title-page h2 { margin-bottom: 18px; }
.top-blog .title-page b { font-size: 28px; letter-spacing: 0.12em; }

/* .top-img-slide
------------------------------------*/
.top-img-slide-wrap { overflow: hidden; }
.top-img-slide { display: -webkit-box; display: flex; width: 100%; margin-bottom: 135px; }
.top-img-slide .inner { padding-right: 1px; }

/* .top-interview
------------------------------------*/
.top-interview {
	position: relative;
	display: -webkit-box;
	display: flex;
	-webkit-box-align: end;
	align-items: flex-end;
	justify-content: space-between;
	box-sizing: border-box;
	width: 1086px;
	margin: 0 auto 190px;
	padding: 0 20px 0 0;
}

.top-interview figure { width: 479px; min-width: 479px; margin-right: 100px; }

.top-interview .txt { width: 100%; }

.top-interview .txt > em {
	display: block;
	position: absolute;
	top: 47px;
	left: -37px;
	color: var(--color-gold);
	font-family: var(--font-serif);
	font-size: 12px;
	letter-spacing: 0.15em;
}

.top-interview .txt > h2 { margin-bottom: 30px; font-size: 13px; letter-spacing: 0.3em; }
.top-interview .txt > h3 { margin-bottom: 28px; }
.top-interview .txt > h3 img { width: 346px; }

.top-interview .txt > p { font-size: 13px; line-height: 2.3; letter-spacing: 0.18em; }

.top-interview .interview-list-s { margin: 45px 0 55px; }
.top-interview .interview-list-s article { margin-bottom: 34px; }
.top-interview .interview-list-s article:last-of-type { margin-bottom: 0; }
.top-interview .interview-list-s article a { display: -webkit-box; display: flex; -webkit-box-align: center; align-items: center; }

.top-interview .interview-list-s figure { position: relative; overflow: hidden; align-self: flex-start; width: 141px; min-width: 141px; height: 99px; margin-right: 40px; }
.top-interview .interview-list-s figure img { display: block; position: absolute; top: 0; left: 0; object-fit: cover; width: 100%; height: 100%; }

.top-interview .interview-list-s h2 {
	margin-bottom: 22px;
	font-size: 11px;
	letter-spacing: 0.1em;
}

.top-interview .interview-list-s h3 {
	margin: 0 0 16px -2px;
	font-family: var(--font-min-r);
	font-size: 17px;
	letter-spacing: 0.14em;
}

.top-interview .interview-list-s h4 {
	color: var(--color-gold);
	font-family: var(--font-sans);
	font-size: 10px;
	font-weight: 300;
	letter-spacing: 0.13em;
}

.top-interview .txt .btn-link { margin: 0 0 0 -24px; }
.top-interview .txt .btn-link a { display: block; letter-spacing: 0.14em; }

/* .top-modelhouse
------------------------------------*/
.top-modelhouse {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin-bottom: -20px;
	padding: 20px 0 65px;
}

.top-modelhouse:after {
	display: block;
	content: '';
	position: absolute;
	top: 20px;
	left: calc(50% - 585px);
	background: url(img/share/bg-texture@2x.jpg) repeat left top;
	background-size: 320px auto;
	border-radius: 70px 0 0 0;
	width: 100%;
	height: calc(100% - 20px);
	z-index: 0;
}

.top-modelhouse .sec-inner {
	position: relative;
	display: -webkit-box;
	display: flex;
	width: 1070px;
	margin: 0 auto;
	padding: 75px 0 0 95px;
	z-index: 1;
}

.top-modelhouse .txt { order: 2; margin-top: 32px; }

.top-modelhouse .txt p {
	margin-bottom: 10px;
	font-size: 17px;
	line-height: 2;
	letter-spacing: 0.1em;
}

.top-modelhouse .address { order: 1; margin-right: 80px; }
.top-modelhouse .address h1 { margin-bottom: 40px; }
.top-modelhouse .address h1 img { width: 109px; }

.top-modelhouse .address h2 {
	margin-bottom: 13px;
	font-size: 17px;
	letter-spacing: 0.04em;
}

.top-modelhouse .address address {
	font-size: 14px;
	line-height: 1.7;
	letter-spacing: 0.06em;
}

.top-modelhouse .address address a { pointer-events: none; }

.top-modelhouse .img { position: absolute; top: -20px; right: 40px; }
.top-modelhouse .img figure { margin-bottom: 27px; }
.top-modelhouse .img .btn-color { margin: 0 -18px; }
.top-modelhouse .img .btn-color a { display: block; }


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

/* .about-main
------------------------------------*/
.about-main { display: -webkit-box; display: flex; justify-content: space-between; max-width: 1600px; margin: -34px auto 7.3%; padding: 0 49px 0 60px; }
.about-main img { width: 100%; height: auto; -webkit-backface-visibility: hidden; image-rendering: -webkit-optimize-contrast; }
.about-main .img1 { position: relative; width: 30.2%; }
.about-main .img2 { position: relative; width: 65.5%; margin-top: 5%; }

.about-main > div figure:not(:first-child) { position: absolute !important; top: 0 !important; left: 0 !important; }
.about-main .slick-track, .about-main > div figure { width: 100% !important; }

/* .about-mission
------------------------------------*/
.about-mission { position: relative; width: 1075px; margin: -10.5% auto 120px; }

@media (min-width: 1600px) {
	.about-mission { margin-top: -150px; }
}

.about-mission .title { position: absolute; bottom: 550px; right: -10px; text-align: right; }

.about-mission .title i {
	display: inline-block;
	font-family: var(--font-sans);
	font-weight: 300;
	font-size: 12px;
	letter-spacing: 0.2em;
	opacity: 0.8;
}

.about-mission .title h1 {
	display: inline-block;
	margin-left: 20px;
	font-family: var(--font-min-r);
	font-size: 27px;
	letter-spacing: 0.16em;
}

.about-mission .title h1 span{
	letter-spacing: 0.2em;
	padding-left: 2px;
}

.about-mission .txt h3 {
	margin: -10px 0 30px -1px;
	font-family: var(--font-min-r);
	font-size: 31px;
	line-height: 1.75;
	letter-spacing: 0.13em;
}

.about-mission .txt p {
	font-size: 17px;
	line-height: 2.1;
	letter-spacing: 0.1em;
	margin-bottom: 17px;
}

.about-mission .txt p:last-of-type { margin-top: 30px; }
.about-mission .txt p:last-of-type span { padding-right: 12px; }

.about-mission .img { position: absolute; bottom: 10px; right: -5px; }
.about-mission .img figure:first-of-type { margin-bottom: 30px; }

/* .about-point
------------------------------------*/
.about-point { width: 1075px; margin: 0 auto 130px; }
.about-point .lead { display: -webkit-box; display: flex; margin: -7px auto 50px; padding-left: 38px; white-space: nowrap; }

.about-point .lead h3 {
	margin-right: 110px;
	font-family: var(--font-min-r);
	font-size: 27px;
	line-height: 1.85;
	letter-spacing: 0.11em;
	transform: translateY(-4px);
}

.about-point .lead p {
	font-size: 17px;
	line-height: 2.2;
	letter-spacing: 0.1em;
}

.about-point .point1,
.about-point .point2 {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	justify-content: space-between;
	margin: 0 auto 30px;
	text-align: center;
	transform: translateX(-17px);
}

.about-point .point1 { width: 880px; margin-bottom: 30px; }
.about-point .point1 .inner { position: relative; box-sizing: border-box; width: 330px; height: 510px; padding-top: 85px; z-index: 0; }

.about-point .point1 .inner:after {
	display: block;
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	background-position: center center;
	background-repeat: no-repeat;
	width: 510px;
	height: 510px;
	z-index: -1;
}

.about-point .point1 .inner:first-of-type:after { background-image: url(img/about/pic-point1.svg); }
.about-point .point1 .inner:last-of-type:after { background-image: url(img/about/pic-point2.svg); }
.about-point .point1 .inner:first-of-type { color: #5C543E; }
.about-point .point1 .inner:last-of-type { color: #2C373D; }

.about-point .point1 h3 { margin-bottom: 35px; }

.about-point .point1 h3 strong {
	display: block;
	margin-bottom: 20px;
	font-size: 35px;
	letter-spacing: 0.18em;
}

.about-point .point1 h3 em {
	display: block;
	font-size: 12px;
	letter-spacing: 0.09em;
}

.about-point .point1 p {
	margin-bottom: 8px;
	font-size: 15px;
	line-height: 2.05;
}

.about-point .point1 .cross { position: relative; margin: -10px 0 0; z-index: 2; }

.about-point .point2 { width: 790px; transform: translateX(-32px); }

.about-point .point2 h3 strong {
	display: block;
	margin-bottom: 16px;
	font-family: var(--font-min-r);
	font-size: 17px;
	letter-spacing: 0.12em;
	opacity: 0.85;
}

.about-point .point2 h3 em {
	display: block;
	color: var(--color-gold);
	font-size: 12px;
	letter-spacing: 0.08em;
}

@media (max-width: 1240px) {
	.about-point .point1 { transform: translateX(0) !important; }
	.about-point .point2 { transform: translateX(-15px) !important; }
}

/* .about-team
------------------------------------*/
.about-team { width: 100%; margin: 0 auto 180px; }
.about-team .sec-inner { width: 1082px; margin: 0 auto; }
.about-team .lead { position: relative; margin-bottom: 105px; padding: 60px 0 0 55px; }

.about-team .lead h2 { position: absolute; top: 0; left: 0; }

.about-team .lead h3 {
	margin-bottom: 50px;
	font-family: var(--font-min-r);
	font-size: 27px;
	letter-spacing: 0.08em;
}

.about-team .lead p {
	padding-left: 76px;
	font-size: 17px;
	line-height: 2.2;
}

.about-team .lead img { position: absolute; top: 261px; right: 46px; }

.about-team .inner { position: relative; width: 650px; margin: 0 0 65px 190px; }
.about-team .inner:last-of-type { margin-bottom: 0; }

.about-team .inner figure { position: absolute; }
.about-team .inner1 figure { bottom: -180px; right: -306px; }
.about-team .inner2 figure { top: 75px; left: -345px; }
.about-team .inner3 figure { bottom: -145px; right: -210px; }

.about-team .inner .num { display: block; position: absolute; top: -12px; left: -138px; }

.about-team .inner h4 {
	margin: 0 0 23px 1px;
	color: var(--color-gold);
	font-family: var(--font-sans);
	font-weight: 300;
	font-size: 14px;
	letter-spacing: 0.16em;
}

.about-team .inner h5 {
	position: relative;
	margin: 0 0 17px -1px;
	font-family: var(--font-min-r);
	font-size: 21px;
	line-height: 1.7;
	letter-spacing: 0.12em;
}

.about-team .inner h5 i { display: inline-block; font-size: 10px; transform: scale(0.9) translate(-1px,-10px); }

.about-team .inner p {
	font-size: 16px;
	line-height: 1.95;
	letter-spacing: 0.05em;
	text-align: justify;
}

.about-team .inner p .attention { padding-left: 4px; font-size: 12px;}

.about-team .inner .btn-set {	margin-top: 30px; }
.about-team .sec-inner > figure { margin: 285px -68px 0; }

@media (max-width: 1360px) {
	.about-team .inner .num { left: -88px; }
	.about-team .inner2 figure { left: -285px; }
}

/* .about-staff
------------------------------------*/
.about-staff { width: 1200px; margin: 0 auto 140px; padding-left: 16px; }

.about-staff > h3 {
	margin: 28px 0 50px;
	font-family: var(--font-min-r);
	font-size: 20px;
	letter-spacing: 0.1em;
}

/* .staff-list
------------------------------------*/
.staff-list ul { display: -webkit-box; display: flex; flex-wrap: wrap; }
.staff-list li { position: relative; width: 200px; margin: 0 50px 40px 0; }
.staff-list li:nth-of-type(5n) { margin-right: 0 !important; }
.staff-list li figure { margin-bottom: 21px; }

.staff-list li h4 {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: end;
	align-items: flex-end;
	justify-content: space-between;
	white-space: nowrap;
	margin-bottom: 11px;
	padding-right: 4px;
}

.staff-list li h4 strong {
	font-size: 17px;
	letter-spacing: 0.08em;
}

.staff-list li h4 em {
	color: var(--color-gold);
	font-size: 10px;
	letter-spacing: 0.08em;
	text-align: right;
	transform-origin: right bottom;
	transform: scale(0.9) translateY(-1px);
}

.staff-list li h5 {
	position: absolute;
	top: 0;
	left: -19px;
	font-family: var(--font-min-m-v);
	font-size: 12px;
	letter-spacing: 0.15em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.staff-list li h6 {
	margin-left: 1px;
	font-size: 11px;
	line-height: 1.6;
}

.staff-list li h5 i:last-of-type,
.staff-list li h6 i:last-of-type { display: none; }

@media (max-width: 1340px) {
	.about-staff { width: 1159px; padding-left: 10px; }
	.staff-list li { margin-right: 39px; }
	.staff-list li h5 { left: -18px; }
}

/* .modal-staff
------------------------------------*/
.modal-staff {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	background-color: #F3F2EF;
	width: 100%;
	height: 100vh;
	height: 100dvh;
	z-index: 10010;
	opacity: 0;
}

.modal-staff-close,
.f-con-case-modal-close { position: absolute; top: 0; right: 0; z-index: 3; }
.modal-staff-close span,
.f-con-case-modal-close span { display: block; padding: 32px 32px; }

.modal-staff .slick-prev,
.modal-staff .slick-next { position: absolute; top: 40px; padding: 13px; text-indent: -9999px; z-index: 1000; }

.modal-staff .slick-prev { right: 70px; }
.modal-staff .slick-next { right: 30px; }

.modal-staff .slick-prev:after,
.modal-staff .slick-next:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background: url(img/share/btn-modal-arrow.svg) no-repeat;
	width: 16px;
	height: 36px;
}

.modal-staff .slick-prev:after { transform: scaleX(-1); }

/* .modal-staff-inner
------------------------------------*/
.modal-staff-inner {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	box-sizing: border-box;
	background-color: #FFFFFF;
	border-radius: 10px;
	width: 1150px;
	height: 590px;
	margin-top: -40px;
}

.modal-staff-inner .slick-list, .modal-staff-inner .slick-track { width: 100% !important; height: 100% !important; }
.modal-staff-inner .slick-list { display: block !important; opacity: 1 !important; }

.modal-staff-inner .slick-track > div {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	box-sizing: border-box;
	width: 100% !important;
	height: 100% !important;
	padding: 45px 85px 45px 45px;
}

.modal-staff-inner .inner {
	position: relative;
	display: -webkit-box;
	display: flex;
	-webkit-box-align: end;
	align-items: flex-end;
	justify-content: space-between;
	z-index: 0;
}

.modal-staff-inner .inner figure { overflow: hidden; width: 500px; min-width: 500px; height: 500px; border-radius: 9px; }
.modal-staff-inner .inner figure img { width: 100%; height: auto; -webkit-backface-visibility: hidden; image-rendering: -webkit-optimize-contrast; }
.modal-staff-inner .inner figure.noimg { background-color: #F3EFE3; position: relative; }
.modal-staff-inner .inner figure.noimg img { display: block; position: absolute; top: 50%; left: 0; transform: translateY(-50%); }

.modal-staff-inner .inner .txt { box-sizing: border-box; width: 100%; padding: 0 0 0 50px; }
.modal-staff-inner .inner .txt h4 { position: relative; }
.modal-staff-inner .inner .txt h5 { margin: 0 0 14px 1px; font-size: 12px; letter-spacing: 0.12em; }

.modal-staff-inner .inner .txt h4 strong {
	display: block;
	margin: 0 0 28px -1px;
	font-size: 20px;
	letter-spacing: 0.12em;
}

.modal-staff-inner .inner .txt h4 em {
	display: block;
	position: absolute;
	top: -73px;
	left: 1px;
	color: var(--color-gold);
	font-size: 11px;
	letter-spacing: 0.09em;
}

.modal-staff-inner .inner .txt h6 {
	margin: 0 0 44px 1px;
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.modal-staff-inner .inner .txt h5 i:last-of-type,
.modal-staff-inner .inner .txt h6 i:last-of-type { display: none; }

.modal-staff-inner .inner .txt p {
	line-height: 1.9;
	letter-spacing: 0.06em;
	text-align: justify;
	font-size: 15px;
}

/* .modal-staff-list
------------------------------------*/
.modal-staff-list { position: absolute; bottom: 16px; left: 0; width: 100%; height: 66px; }
.modal-staff-list .slick-list { overflow: inherit !important; width: 216px !important; margin: 0 auto; }
.modal-staff-list .slick-track { display: -webkit-box; display: flex; }

.modal-staff-list li { box-sizing: border-box; width: 72px !important; height: 66px !important; padding: 0 6px !important; }
.modal-staff-list li img { display: block; border-radius: 50%; width: 66px !important; height: 66px !important; }

.staff-list li,
.modal-staff .prev,
.modal-staff .next,
.modal-staff-list li { transition: .15s ease-out; cursor: pointer; }

.staff-list li:hover,
.modal-staff .prev:hover,
.modal-staff .next:hover { opacity: 0.7; }

.modal-staff-list li { position: relative; }

.modal-staff-list li:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 6px;
	box-sizing: border-box;
	background: var(--color-gold);
	border-radius: 50%;
	width: 66px;
	height: 66px;
	transition: .15s ease-out;
	opacity: 0;
}

.modal-staff-list li:hover:before,
.modal-staff-list li.slick-current:before { opacity: 0.5; }

@media (max-height: 740px) {
	.modal-staff-inner { width: 1000px; height: 490px; margin-top: -40px; }
	.modal-staff-inner .inner figure { width: 410px; min-width: 410px; height: 410px; }
	.modal-staff-inner .slick-track > div { padding: 40px 60px 40px 40px; }
	.modal-staff-inner .inner .txt { padding-left: 45px; }
	.modal-staff-inner .inner .txt h4 em { top: -70px; }
	.modal-staff-inner .inner .txt h4 strong { margin-bottom: 18px; }
	.modal-staff-inner .inner .txt h6 { margin-bottom: 30px; font-size: 13px; }
	.modal-staff-inner .inner .txt p { line-height: 1.85; letter-spacing: 0.05em; }
	.modal-staff-inner .inner .txt p br { display: none; }
}

/* .about-concept
------------------------------------*/
.about-concept {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: end;
	align-items: flex-end;
	position: relative;
	box-sizing: border-box;
	width: 1140px;
	margin: 0 auto 160px;
	padding: 100px 0 0 220px;
}

.about-concept h2 {
	position: absolute;
	top: 4px;
	left: 40px;
}

.about-concept h3 {
	position: absolute;
	top: 100px;
	left: 35px;
	font-family: var(--font-min-r-v);
	font-size: 28px;
	line-height: 1.58;
	letter-spacing: 0.18em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.about-concept h3 span { display: inline-block; }
.about-concept h3 span:nth-of-type(1) { margin: 5px 0 1px; }
.about-concept h3 span:nth-of-type(2) { margin: 2px 0 -6px; }
.about-concept h3 span:nth-of-type(3) { margin: -4px 0 -2px; }
.about-concept h3 span:nth-of-type(4) { margin: 4px 0 -12px; }

.about-concept .img { width: 389px; min-width: 389px; }
.about-concept > div { margin-right: -20px; padding: 0 0 0 54px; }

.about-concept p { font-size: 15px; line-height: 2.1; }
.about-concept p.name { margin: 50px 0 0; letter-spacing: 0.06em; }

.about-concept .pic { position: absolute; bottom: 9px; left: 62px; }
.about-concept .pic img { width: 92px; }

/* .about-project
------------------------------------*/
.about-project { width: 1140px; margin: -155px auto 140px; padding-top: 155px; }
.about-project .lead { display: -webkit-box; display: flex; justify-content: space-between; margin: 0 35px 75px 40px; }

.about-project .lead p {
	font-size: 16px;
	line-height: 2.1;
	letter-spacing: 0.11em;
	white-space: nowrap;
	transform: translateY(13px);
}

.about-project .project-list { display: -webkit-box; display: flex; justify-content: space-between; }
.about-project .project-list .inner { width: 355px; }

.about-project .project-list figure { margin-bottom: 34px; }

.about-project .project-list h4 {
	margin-bottom: 22px;
	font-family: var(--font-min-m);
	font-size: 18px;
	letter-spacing: 0.12em;
}

.about-project .project-list h4 i {
	display: inline-block;
	position: relative;
	margin-right: 21px;
	padding: 0 21px 0 11px;
}

.about-project .project-list h4 i:after {
	display: block;
	content: '';
	position: absolute;
	top: -3px;
	right: -1px;
	background-color: var(--color-border-gray-dark);
	width: 1px;
	height: calc(100% + 7px);
}

.about-project .project-list h4 i img { width: auto; height: 19px; }

.about-project .project-list p {
	padding-right: 10px;
	line-height: 1.88;
	letter-spacing: 0.03em;
	text-align: justify;
}

.about-project .project-list .btn-link { margin: 24px 0 0; }
.about-project .project-list .btn-link a { display: block; }

/* .about-company
------------------------------------*/
.about-company { width: 1140px; margin: 0 auto; }
.about-company > h2 { margin-left: 10px; }
.about-company .dl-line { width: 880px; }
.about-company .dl-line > div,
.about-company .dl-line > div p { line-height: 1.9; }


/* page architecture
---------------------------------------------------------------------------*/

/* .sec-architecture-lead
------------------------------------*/
.sec-architecture-lead {
	font-family: var(--font-min-m-v);
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
	width: 820px;
	margin: 0 auto 110px;
	padding-top: 10px;
	transform: translateX(-5px);
}

.sec-architecture-lead h2 {
	margin: 3px 0 0 38px;
	font-size: 15px;
	letter-spacing: 0.3em;
}

.sec-architecture-lead h3 {
	margin-left: 55px;
	font-family: var(--font-min-r-v);
	font-size: 34px;
	line-height: 1.7;
	letter-spacing: 0.11em;
}

.sec-architecture-lead p {
	margin-bottom: 0;
	margin-left: 35px;
	font-size: 17px;
	line-height: 2.1;
	letter-spacing: 0.11em;
}

.sec-architecture-lead p:nth-of-type(1) { margin-left: 0; }
.sec-architecture-lead p:nth-of-type(1),
.sec-architecture-lead p:nth-of-type(2) { display: inline-block; }
.sec-architecture-lead p.indent { text-indent: -0.5em; }

/* .sec-architecture-main
------------------------------------*/
.sec-architecture-main { width: 1080px; margin: 0 auto 140px; }
.sec-architecture-main figure { margin-bottom: 50px; }
.sec-architecture-main .txt { position: relative; padding: 0 60px 0 370px; }

.sec-architecture-main h2 {
	position: absolute;
	top: 10px;
	left: 10px;
	font-size: 14px;
	letter-spacing: 0.16em;
}

.sec-architecture-main h3 {
	position: absolute;
	top: 45px;
	left: 10px;
	font-family: var(--font-min-r);
	font-size: 21px;
	line-height: 1.8;
	letter-spacing: 0.12em;
}

.sec-architecture-main h3 span {
	display: inline-block;
	margin: 0 2px 0 1px;
	font-size: 10px;
	letter-spacing: 0.13em;
	transform: translateY(-6px);
}

.sec-architecture-main p {
	font-size: 15px;
	line-height: 2.25;
	letter-spacing: 0.04em;
	text-align: justify;
}

.sec-architecture-main .btn-link { margin: 30px 0 0 -8px; }

/* .sec-architecture-sub
------------------------------------*/
.sec-architecture-sub { display: -webkit-box; display: flex; width: 1060px; margin: 0 auto 90px; }
.sec-architecture-main + .sec-architecture-sub { margin-top: 180px; }

.sec-architecture-sub figure { width: 286px; min-width: 286px; }
.sec-architecture-sub .txt { padding: 4px 0 0 50px; }

.sec-architecture-sub h2 {
	margin: 0 0 20px 1px;
	font-size: 14px;
	letter-spacing: 0.16em;
}

.sec-architecture-sub h3 {
	margin-bottom: 30px;
	font-family: var(--font-min-r);
	font-size: 21px;
	letter-spacing: 0.12em;
}

.sec-architecture-sub p {
	margin-bottom: 8px;
	font-size: 15px;
	line-height: 2;
	letter-spacing: 0.04em;
}

.sec-architecture-sub .btn-link { margin: 25px 0 0 -3px; }


/* page flow
---------------------------------------------------------------------------*/
#flowContents { overflow: hidden; }

#flowContents .title-page,
.sec-flow-howto,
.sec-flow-maintenance { width: 1060px; margin: 0 auto; }

/* .sec-flow-img
------------------------------------*/
.sec-flow-img { display: -webkit-box; display: flex; width: 100%; margin: 95px 0 120px; }
.sec-flow-img .inner { padding-right: 5px; }

/* .sec-flow-howto
------------------------------------*/
.sec-flow-howto { margin-bottom: 160px; }
.sec-flow-howto .lead { display: -webkit-box; display: flex; margin-bottom: 75px; }

.sec-flow-howto .lead h2 {
	width: 265px;
	min-width: 265px;
	margin: 0;
}

.sec-flow-howto .lead p { transform: translateY(53px); }

.howto-list { border-top: 1px solid var(--color-border-gray); margin: 0 -20px; }
.howto-list .inner { border-bottom: 1px solid var(--color-border-gray); }

.howto-list h3 {
	position: relative;
	box-sizing: border-box;
	height: 102px;
	padding: 35px 160px 35px 22px;
	font-size: 18px;
	line-height: 2;
	letter-spacing: 0.1em;
	cursor: pointer;
}

.howto-list *::-moz-selection { background: #FFFFFF !important; }
.howto-list *::selection { background: #FFFFFF !important; }

.howto-list h3 .plus {
	position: absolute;
	top: 40px;
	right: 35px;
	width: 21px;
	height: 21px;
	transition: .6s cubic-bezier(0.23, 1, 0.32, 1); /* easeOutQuint */
	transform: rotate(0deg);
}

.howto-list h3.active .plus { transform: rotate(225deg); }

.howto-list h3 .plus:before,
.howto-list h3 .plus:after { display: block; content: ''; position: absolute; background-color: rgba(0,0,0,0.5); }

.howto-list h3 .plus:before { top: 0; left: 10px; width: 1px; height: 100%; }
.howto-list h3 .plus:after { top: 10px; left: 0; width: 100%; height: 1px; }

.howto-list h3 > span { display: block; position: absolute; top: 33px; left: 22px; }

.howto-list h3 br { display: none; }
.howto-list h3.after br { display: block; }

.howto-list .inner-s { display: none; width: calc(100% - 285px - 160px); margin-left: 285px; margin-top: -67px; padding-bottom: 55px; }
.howto-list .inner-s2 { opacity: 0; }

.howto-list .inner-s h4 {
	margin: 30px 0 10px;
	font-family: var(--font-min-d);
	font-size: 16px;
	line-height: 1.8;
	letter-spacing: 0.06em;
}

.howto-list .inner-s h4:first-child {
	margin-top: 2px;
}

.howto-list .inner-s p {
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.04em;
	text-align: justify;
}

.howto-list .inner-s p strong { color: var(--color-text); }
.howto-list .inner-s p.attention { font-size: 14px; }
.howto-list .inner-s p + p.attention { margin-top: -10px; }

.howto-list .inner-s ol { counter-reset: count-number; margin: 28px 0 0 4px; }

.howto-list .inner-s ol li {
	position: relative;
	margin-bottom: 10px;
	padding-left: 32px;
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

.howto-list .inner-s ol li:last-of-type { margin-bottom: 0; }
.howto-list .inner-s ol li:before { display: block; counter-increment: count-number; content: counters(count-number,'.'); position: absolute; top: 0; left: 0; }

.howto-list .inner-s dl { margin-top: 25px; margin-bottom: 15px; }
.howto-list .inner-s dl > div { display: -webkit-box; display: flex; border-top: 1px solid var(--color-border-gray); margin-bottom: 20px; padding-top: 8px; }
.howto-list .inner-s dl > div:last-of-type { margin-bottom: 0; }

.howto-list .inner-s dt {
	width: 150px;
	min-width: 150px;
	padding-top: 5px;
	color: var(--color-gold);
	font-size: 14px;
	letter-spacing: 0.07em;
}

.howto-list .inner-s dd { color: var(--color-gray); }

.howto-list .inner-s dd,
.howto-list .inner-s dd p { font-size: 14px; line-height: 1.8; }
.howto-list .inner-s dd p { margin-bottom: 8px; letter-spacing: 0.04em; }

.howto-list .inner-s .box { display: inline-block; background-color: #FBF7EC; margin-top: 12px; padding: 23px 22px 16px 25px; }
.howto-list .inner-s .box h5 { margin-bottom: 10px; font-size: 16px; letter-spacing: 0.06em; }
.howto-list .inner-s .box p { line-height: 1.9; }
.howto-list .inner-s .btn-set { margin: 26px 0 -12px -2px; }
.howto-list .inner-s .btn-set > div { margin: 0 10px 12px 0; }

/* .sec-flow-maintenance
------------------------------------*/
.sec-flow-maintenance { position: relative; margin-top: -150px; padding-top: 150px; }
.sec-flow-maintenance h2 { margin-bottom: 30px; }
.sec-flow-maintenance > p { font-size: 17px; }

.sec-flow-maintenance .inner { margin: 0 0 65px 100px; }
.sec-flow-maintenance .inner:first-of-type { margin-top: 75px; }
.sec-flow-maintenance .inner:last-of-type { margin-bottom: 0; }

.sec-flow-maintenance .inner h3 {
	position: relative;
	margin-bottom: 16px;
	font-family: var(--font-min-r);
	font-size: 20px;
	line-height: 1.7;
	letter-spacing: 0.16em;
}

.sec-flow-maintenance .inner h3 i { display: block; position: absolute; top: 8px; left: -100px; }

.sec-flow-maintenance .inner figure { position: absolute; margin-top: 160px; margin-right: -5px; }
.sec-flow-maintenance .inner:nth-of-type(1) figure { top: 165px; right: -25px; }
.sec-flow-maintenance .inner:nth-of-type(2) figure { top: 440px; right: -100px; }
.sec-flow-maintenance .inner:nth-of-type(3) figure { top: 690px; right: 150px; }
.sec-flow-maintenance .inner:nth-of-type(4) figure { top: 915px; right: -45px; }

.sec-flow-maintenance .inner p { font-size: 16px; line-height: 1.95; letter-spacing: 0.06em; }
.sec-flow-maintenance .inner .btn-link { margin: 25px 0 0; }


/* page performance-design
---------------------------------------------------------------------------*/
#performance-designContents .title-page .title strong {
	bottom: 67px;
	right: 75px;
	line-height: 1.6;
	letter-spacing: 0.18em;
}

#performance-designContents .title-page .txt { padding-left: 100px; }

/* .sec-performance
------------------------------------*/
.sec-performance { margin-bottom: 180px; }
.sec-performance .sec-title-v .txt h4 span.pr { padding-right: 2px; }

.sec-performance .sec-title-v .box {
	display: inline-block;
	background-color: var(--color-bg-gold);
	margin: 18px 0 0 -6px;
	padding: 22px 28px 22px 28px;
}

.sec-performance .sec-title-v .box.box-roof dl {
	font-size: 14px;
	line-height: 1.6;
}

.sec-performance .sec-title-v .box.box-roof dl > div { display: -webkit-box; display: flex; margin-bottom: 9px; }
.sec-performance .sec-title-v .box.box-roof dl > div:last-of-type { margin-bottom: 0; }

.sec-performance .sec-title-v .box.box-roof dt {
	position: relative;
	width: 30px;
	min-width: 30px;
	margin-right: 15px;
	padding-right: 16px;
	color: var(--color-gold);
	letter-spacing: 0.1em;
	white-space: nowrap;
}

.sec-performance .sec-title-v .box.box-roof dt:before {
	display: block;
	content: '';
	position: absolute;
	top: 4px;
	right: 0;
	background-color: var(--color-border-gray);
	width: 1px;
	height: calc(100% - 7px);
}

.sec-performance .sec-title-v .box.box-roof dd { letter-spacing: 0.08em; }


.sec-performance .sec-title-v .box.box-fcon{
	font-size: 16px;
	line-height: 32px;
	letter-spacing: 0.08em;
	color: #524B40;
	padding: 32px 42px 10px;
}

.sec-performance .sec-title-v .box.box-fcon dl{}
.sec-performance .sec-title-v .box.box-fcon dl div{
	position: relative;
}
.sec-performance .sec-title-v .box.box-fcon dl div dt{
	margin-bottom: 7px;
}
.sec-performance .sec-title-v .box.box-fcon dl div dt i{
	padding-right: 38px;
}
.sec-performance .sec-title-v .box.box-fcon dl div dt i:after{
	content:"";
	display:block;
	width: 20px;
	height: 1px;
	background-color: rgba(66, 56, 41, 0.2);
	position: absolute;
	left: 18px;
	top: 16px;
}

.sec-performance .sec-title-v .box.box-fcon dl div dd{
	padding-left: 22px;
	line-height: 1.9em;
	margin-bottom: 20px;
	font-size: 14px;
}



.sec-performance .fcon{
	width: inherit;
	min-width:  inherit;
	position: absolute;
	top: 0;
	right: 0;
}
.sec-performance .txt-attention-v{
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
	position: absolute;
	left: 0;
	bottom: -5px;
	line-height: 1.9;
	letter-spacing: 0.25em;
	font-size: 13px!important;
}






/* .sec-design
------------------------------------*/
.sec-design { margin-bottom: 170px; }
.sec-design .title-sec-wide { margin-bottom: 40px; }

.sec-design > .txt { display: -webkit-box; display: flex; width: 1060px; margin: 50px auto 100px; }

.sec-design > .txt h3 {
	margin: 0 110px 0 45px;
	font-family: var(--font-min-r);
	font-size: 26px;
	line-height: 1.7;
	letter-spacing: 0.14em;
	white-space: nowrap;
	transform: translateY(-3px);
}

.sec-design > .txt p {
	font-size: 16px;
	line-height: 2.05;
	letter-spacing: 0.11em;
}

.sec-design .inner {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: end;
	align-items: flex-end;
	margin: 0 0 52px 20px;
}

.sec-design .inner:last-of-type { margin-bottom: 0; }
.sec-design .inner figure { width: 435px; min-width: 435px; }

.sec-design .inner .txt { padding: 0 0 0 55px; margin-bottom: -4px; }

.sec-design .inner .txt h4 {
	margin-bottom: 21px;
	font-size: 21px;
	line-height: 1.7;
	letter-spacing: 0.15em;
}

.sec-design .inner .txt p {
	font-size: 15px;
	text-align: justify;
}

/* .sec-longterm
------------------------------------*/
.sec-longterm { margin: 0 -11px; }
.sec-longterm .inner { position: relative; margin-top: 82px; }

.sec-longterm .inner > h2 {
	position: absolute;
	top: 0;
	left: 20px;
	font-family: var(--font-min-r);
	font-size: 24px;
	letter-spacing: 0.16em;
}

.sec-longterm .inner > h2 + p {
	position: absolute;
	top: 45px;
	left: 22px;
	font-size: 16px;
	line-height: 2.1;
	letter-spacing: 0.12em;
}

.sec-longterm .inner figure { position: absolute; bottom: 3px; left: 11px; }

.sec-longterm .inner .txt { padding: 0px 25px 0 405px; }

.sec-longterm .inner .txt p {
	font-size: 16px;
	line-height: 2.1;
	letter-spacing: 0.13em;
	margin-bottom: 20px;
}

.sec-longterm .inner .txt ol + p {
	font-size: 14px;
	text-align: justify;
	line-height: 2;
	letter-spacing: 0.08em;
}

.sec-longterm .inner ol { margin: 26px 0 34px 32px; }

.sec-longterm .inner ol li {
	position: relative;
	margin-bottom: 16px;
	padding-left: 67px;
	font-size: 15px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.sec-longterm .inner ol li:last-of-type { margin-bottom: 0; }
.sec-longterm .inner ol li i { position: absolute; top: 0; left: 0; font-size: 16px; white-space: nowrap; }

.sec-longterm .inner ol li i:after {
	display: block;
	content: '';
	position: absolute;
	top: 12px;
	left: 25px;
	background: var(--color-border-gray);
	width: 30px;
	height: 1px;
}


/* page material-technology
---------------------------------------------------------------------------*/
#material-technologyContents .title-page .title strong {
	bottom: 56px;
	right: 31px;
	line-height: 1.4;
	letter-spacing: 0.4em;
}

#material-technologyContents .title-page .txt { padding-left: 126px; }

/* .sec-material
------------------------------------*/
.sec-material .sec-title-v { margin-bottom: 140px; }
.sec-material .sec-title-v:first-of-type .btn-set,
.sec-material .sec-title-v:nth-of-type(3) .btn-set { margin-top: 40px; }

/* .material-list
------------------------------------*/
.material-list { margin-top: 40px; }

.material-list .inner {
	position: relative;
	background: linear-gradient(to left, var(--color-border-gray) 30%, #FFFFFF 30%, #FFFFFF 100%) left top;
	background-repeat: repeat-x;
	background-size: 6px 1.5px;
	margin-top: 25px;
	padding: 26px 0 0 44px;
}

.material-list .inner:last-child { margin-bottom: 0; padding-bottom: 0; }

.material-list .inner h5 {
	position: absolute;
	top: 26px;
	left: 2px;
	font-family: var(--font-min-m-v);
	font-size: 16px;
	letter-spacing: 0.3em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.material-list .inner > div { display: -webkit-box; display: flex; margin-bottom: 25px; }
.material-list .inner > div:last-of-type { margin-bottom: 0; }
.material-list .inner > div figure { width: 90px; min-width: 90px; }
.material-list .inner > div > div { padding: 10px 0 0 25px; }

.material-list .inner > div > div h6 {
	margin-bottom: 11px;
	font-size: 15px;
	letter-spacing: 0.08em
}

.material-list .inner > div > div p {
	font-size: 13px;
	line-height: 1.85;
	white-space: normal;
}


/* page reform-renovation
---------------------------------------------------------------------------*/
#reform-renovationContents .img-main,
#reform-renovationContents .title-page { box-sizing: border-box; width: 100%; max-width: 1240px; margin: 0 auto 80px; }

#reform-renovationContents .title-page { margin-bottom: 120px; padding-left: 130px; }
#reform-renovationContents .title-page h1 { font-size: 34px; }
#reform-renovationContents .title-page .title strong { top: 0; left: -130px; right: inherit; letter-spacing: 0; }
#reform-renovationContents .title-page .txt { padding-left: 150px; }

@media (max-width: 1320px) {
	#reform-renovationContents .title-page .title strong { display: none;	}
}

/* .sec-reform
------------------------------------*/
.sec-reform { width: 1140px; margin: 0 auto 140px; }
.sec-reform > figure { position: relative; margin-bottom: 90px; }
.sec-reform .inner { padding: 0 0 0 245px; }
.sec-reform .inner .lead { position: relative; margin-bottom: 70px; padding-top: 53px; }

.sec-reform .inner .lead h2 {
	position: absolute;
	top: 0;
	left: -205px;
}

.sec-reform .inner .lead h3 {
	margin-bottom: 26px;
	font-size: 24px;
	letter-spacing: 0.16em;
}

.sec-reform .inner .lead p { letter-spacing: 0.06em; }

/* .sec-reform .inner1
------------------------------------*/
.sec-reform .inner1 { display: -webkit-box; display: flex; justify-content: space-between; margin-bottom: 80px; }
.sec-reform .inner1 figure { width: 262px; min-width: 262px; }
.sec-reform .inner1 .txt { box-sizing: border-box; width: 100%; padding: 15px 0 0 45px; }

.sec-reform .inner1 .txt h4,
.sec-reform .inner2 .txt h4 {
	margin-bottom: 28px;
	font-family: var(--font-min-r);
	font-size: 22px;
	letter-spacing: 0.14em;
}

.sec-reform .inner1 .txt p,
.sec-reform .inner2 .txt p {
	font-size: 16px;
	letter-spacing: 0.05em;
	text-align: justify;
}

.sec-reform .inner1 .box { display: inline-block; background-color: var(--color-bg-beige); margin-top: 16px; padding: 20px 32px 23px 28px; }

.sec-reform .inner1 .box li {
	margin-bottom: 5px;
	font-size: 16px;
	letter-spacing: 0.06em;
}

/* .sec-reform .inner2
------------------------------------*/
.sec-reform .inner2 { display: -webkit-box; display: flex; justify-content: space-between; padding-right: 14px; }
.sec-reform .inner2 figure { order: 2; width: 300px; min-width: 300px; margin-top: 55px; }
.sec-reform .inner2 .txt { order: 1; box-sizing: border-box; width: 100%; padding: 0 45px 0 0; }
.sec-reform .inner2 .txt h4 { margin-bottom: 25px; }
.sec-reform .inner2 .txt p { line-height: 2; }
.sec-reform .inner2 .txt p.let { letter-spacing: 0.04em; }
.sec-reform .inner2 .txt .btn-set { margin: 27px 0 0 -4px; }

/* .sec-renovation
------------------------------------*/
.sec-renovation { width: 1060px; margin: 0 auto 120px; }
.sec-renovation > .img { display: -webkit-box; display: flex; justify-content: space-between; margin-bottom: 85px; }
.sec-renovation > .img figure { position: relative; }

.sec-renovation > .img figcaption {
	display: block;
	position: absolute;
	bottom: 16px;
	left: 22px;
	color: #FFFFFF;
	font-size: 16px;
	letter-spacing: 0.02em;
	white-space: nowrap;
}

.sec-renovation .lead { margin-bottom: 100px; padding: 0 0 0 24px; }

.sec-renovation .lead h2 {
	margin-bottom: 35px;
	font-size: 22px;
	letter-spacing: 0.14em;
}

.sec-renovation .lead p {
	margin-bottom: 18px;
	line-height: 2.15;
}

/* .renovation-flow
------------------------------------*/
.renovation-flow { position: relative; padding-left: 24px; }
.renovation-flow dl { position: relative; z-index: 1; }
.renovation-flow dl > div {	display: -webkit-box; display: flex; margin-bottom: 32px; }
.renovation-flow dl > div:last-of-type { margin-bottom: 0; }

.renovation-flow dt {
	position: relative;
	box-sizing: border-box;
	width: 200px;
	min-width: 200px;
	padding-left: 30px;
	font-size: 16px;
	letter-spacing: 0.08em;
	transform: translateY(7px);
}

.renovation-flow dt i {
	display: block;
	position: absolute;
	top: 0;
	left: 1px;
	color: var(--color-gold);
	font-family: var(--font-min-r);
}

.renovation-flow dd p { font-size: 16px; }
.renovation-flow dd p.attention { margin-top: -8px; font-size: 13px; }
.renovation-flow dd .btn-set { margin: 16px 0 0 -4px; }

.renovation-flow figure picture { display: block; position: absolute; margin-right: -15px; z-index: 0; }
.renovation-flow figure picture:nth-of-type(1) { top: 90px; right: 0; }
.renovation-flow figure picture:nth-of-type(2) { top: 395px; right: 260px; }
.renovation-flow figure picture:nth-of-type(3) { bottom: 0; right: 2px; }


/* page fp
---------------------------------------------------------------------------*/
#fpContents .title-page h1 { font-size: 32px; }
#fpContents .title-page .txt { padding-left: 190px; }

/* .bnr-fp
------------------------------------*/
.bnr-fp { margin-top: 125px; }

/* .fp-section
------------------------------------*/
.fp-section {
	background-color: var(--color-bg-beige);
	margin-bottom: 100px;
	padding: 75px 80px 75px;
}

.fp-section .title { margin-bottom: 55px; text-align: center; }

.fp-section .title h2 {
	margin-bottom: 24px;
	font-size: 18px;
	letter-spacing: 0.4em;
}

.fp-section .title h2 span { display: inline-block; position: relative; }

.fp-section .title h2 span:before,
.fp-section .title h2 span:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	background: url(img/share/ico-brackets.svg) no-repeat;
	width: 5px;
	height: 18px;
}

.fp-section .title h2 span:before { left: -22px; }
.fp-section .title h2 span:after { right: -14px; transform: scaleX(-1); }

.fp-section .title h3 {
	margin-bottom: 15px;
	font-size: 28px;
	line-height: 1.7;
	letter-spacing: 0.1em;
}

.fp-section .title p {
	font-size: 16px;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.fp-section .img { position: relative; background-color: #FFFFFF; margin-top: 50px; padding: 55px 45px 55px; font-family: var(--font-gothic); }
.fp-section .img figure { text-align: center; }

.fp-section .img h4 {
	margin-bottom: 45px;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.04em;
}

.fp-section .img h4 i {
	display: inline-block;
	background-color: var(--color-text);
	width: 13px;
	height: 13px;
	margin-right: 6px;
	transform: translateY(1px);
}

.fp-section .txt {
	display: -webkit-box;
	display: flex;
	margin-top: 50px;
	padding: 0 20px;
}

.fp-section .txt h4 {
	font-size: 20px;
	line-height: 1.9;
	letter-spacing: 0.1em;
	white-space: nowrap;
	transform: translateY(-2px);
}

.fp-section .txt h4 span { padding-bottom: 4px; }

.fp-section .txt > div { padding: 0 0 0 40px; }

.fp-section .txt > div p {
	margin-bottom: 10px;
	font-size: 15px;
	line-height: 2;
	letter-spacing: 0.06em;
	text-align: justify;
}

/* .fp-section.fp1
------------------------------------*/
.fp-section.fp1 > dl { display: -webkit-box; display: flex; justify-content: space-between; margin: 50px 0 50px; padding: 0 20px; }
.fp-section.fp1 > dl > div { position: relative; white-space: nowrap; padding: 6px 28px; }

.fp-section.fp1 > dl > div:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	background-color: var(--color-border-gray);
	width: 1px;
	height: 100%;
}

.fp-section.fp1 > dl > div:last-of-type:after { display: none; }

.fp-section.fp1 > dl dt {
	margin-bottom: 10px;
	font-family: var(--font-min-d);
	font-size: 13px;
	letter-spacing: 0.08em;
}

.fp-section.fp1 > dl dd {
	color: var(--color-brown);
	font-size: 23px;
	letter-spacing: 0.02em;
}

.fp-section.fp1 .img { padding-top: 60px; padding-bottom: 70px; }

.fp-section.fp1 .img li {
	position: absolute;
	width: 186px;
	font-size: 13px;
	line-height: 1.75;
	letter-spacing: 0.08em;
	text-align: justify;
}

.fp-section.fp1 .img li:nth-of-type(1) { top: 60px; left: 42px; }
.fp-section.fp1 .img li:nth-of-type(2) { top: 164px; left: 42px; }
.fp-section.fp1 .img li:nth-of-type(3) { top: 273px; left: 42px; }
.fp-section.fp1 .img li:nth-of-type(4) { top: 60px; right: 42px; }
.fp-section.fp1 .img li:nth-of-type(5) { top: 164px; right: 42px; }
.fp-section.fp1 .img li:nth-of-type(6) { top: 273px; right: 42px; }

.fp-section.fp1 .img li i { display: none; }
.fp-section.fp1 .img li span { background: linear-gradient(transparent 96%, var(--color-text) 0%); }
.fp-section.fp1 .txt { padding: 0 15px; }

/* .fp-section.fp2
------------------------------------*/
.fp-section.fp2 .img1 h4 { margin-bottom: 55px; }

.fp-section.fp2 .img1 > div { display: -webkit-box; display: flex; justify-content: space-between; padding: 0 20px; }
.fp-section.fp2 .img1 > div > div { width: 348px; }

.fp-section.fp2 .img1 p {
	margin-top: 30px;
	font-size: 13px;
	letter-spacing: 0.06em;
	text-align: justify;
}

.fp-section.fp2 .txt { padding: 0 20px; }
.fp-section.fp2 .img2 h4 { margin-bottom: 40px; }

/* .fp-section.fp3
------------------------------------*/
.fp-section.fp3 .img { display: -webkit-box; display: flex; justify-content: space-between; padding-right: 60px; padding-left: 95px; }
.fp-section.fp3 .img > div { width: 330px; }
.fp-section.fp3 .img > div:nth-of-type(2) figure { transform: translateX(15px); }

.fp-section.fp3 .img > div div {
	box-sizing: border-box;
	background-color: #EFEDE6;
	width: 270px;
	margin: 38px auto 0;
	padding: 24px 20px 22px;
	color: #5F5F5F;
	text-align: center;
}

.fp-section.fp3 .img > div:nth-of-type(2) div { background-color: #FFF7CC; }

.fp-section.fp3 .img > div div h5 {
	margin-bottom: 14px;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.14em;
}

.fp-section.fp3 .img > div:nth-of-type(2) div h5 { color: var(--color-brown); }

.fp-section.fp3 .img > div div p {
	line-height: 1.7;
	letter-spacing: 0.12em;
}

.fp-section.fp3 .txt { padding: 0 20px; }
.fp-section.fp3 .txt > div { padding-left: 60px; }

/* .fp-section.fp4
------------------------------------*/
.fp-section.fp4 .img h4 { margin-bottom: 65px; }

.fp-section.fp4 .img p {
	margin: 25px 0 0 40px;
	line-height: 1.95;
	letter-spacing: 0.06em;
}

.fp-section.fp4 .txt { padding: 0 20px; }
.fp-section.fp4 .txt > div { padding-left: 40px; }


/* page f-con
---------------------------------------------------------------------------*/
#f-conContents .title-page,
.f-con-img-main,
.f-con-lead,
#f-conContents .fp-section {
	box-sizing: border-box;
	width: 1060px;
	margin: 0 auto;
}

#f-conContents .title-page { justify-content: space-between; margin-bottom: 45px; }
.f-con-img-main { margin-bottom: 130px; }
#f-conContents .page-nav { margin-top: 200px; }

/* .f-con-lead
------------------------------------*/
.f-con-lead {
	display: flex;
	justify-content: space-between;
	margin-bottom: 210px;
}

.f-con-lead .txt {
	order: 2;
	width: 515px;
	padding: 5px 5px 0 0;
}

.f-con-lead .txt h2 {
	margin-bottom: 30px;
	font-size: 25px;
	line-height: 1.9;
	letter-spacing: 0.1em;
}

.f-con-lead .txt p {
	margin-bottom: 12px;
	font-size: 16px;
	line-height: 2.2;
	letter-spacing: 0.1em;
}

.f-con-lead .merit {
	background-color: #FCFAF4;
	margin-top: 60px;
	padding: 45px 45px 30px;
}

.f-con-lead .merit h3 {
	margin-bottom: 30px;
	color: var(--color-brown);
	font-size: 16px;
	letter-spacing: 0.12em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

.f-con-lead .merit ol li {
	list-style: none;
	position: relative;
	margin-bottom: 7px;
	padding-left: 48px;
	font-size: 16px;
	line-height: 1.7;
	letter-spacing: 0.08em;
}

.f-con-lead .merit ol li i {
	display: block;
	position: absolute;
	top: 0;
	left: 1px;
}

.f-con-lead .merit ol li i:after {
	display: block;
	content: '';
	position: absolute;
	top: 14px;
	right: -28px;
	background-color: var(--color-border-gray);
	width: 18px;
	height: 1px;
}

.f-con-lead > figure { order: 1; }
.f-con-lead > figure picture:not(:last-of-type) { display: block; margin-bottom: 8px; }

/* .f-con-system
------------------------------------*/
.f-con-system {
	background-color: var(--color-bg-beige);
	margin-bottom: 140px;
}

.f-con-system .sec-inner {
	position: relative;
	box-sizing: border-box;
	width: 1200px;
	margin: 0 auto;
	padding: 510px 0 80px 40px;
}

.f-con-system h2 {
	position: absolute;
	top: -42px;
	left: 40px;
}

.f-con-system figure > picture {
	position: absolute;
	top: -167px;
	right: -15px;
}

.f-con-system figcaption {
	position: absolute;
	bottom: 90px;
	right: 0px;
}

.f-con-system p {
	margin-bottom: 12px;
	font-size: 16px;
	line-height: 2.05;
	letter-spacing: 0.1em;
}

@media (max-width: 1320px) {
	.f-con-system .sec-inner { width: 1140px; }
	.f-con-system figcaption { right: 5px; }
}

/* .f-con-performance
------------------------------------*/
.f-con-performance {
	margin: 0 auto 65px;
	text-align: center;
}

.f-con-performance h2 {
	margin-bottom: 50px;
}

.f-con-performance h2 em {
	display: block;
	margin-bottom: 25px;
	color: var(--color-gold);
	font-family: var(--font-sans);
	font-size: 12px;
	font-weight: 300;
	letter-spacing: 0.12em;
}

.f-con-performance h2 strong {
	display: block;
	font-size: 26px;
	letter-spacing: 0.18em;
}

.f-con-performance nav ul { display: flex; justify-content: center; }
.f-con-performance nav li:not(:last-of-type) { border-right: 1px solid var(--color-border-beige); }

.f-con-performance nav li a {
	display: block;
	background: url(img/share/ico-arrow-down-beige.svg) no-repeat center bottom;
	padding: 0 32px 34px;
	font-size: 18px;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

/* #f-conContents .fp-section
------------------------------------*/
#f-conContents .fp-section { margin-bottom: 80px; }
#f-conContents .fp-section .title { margin-bottom: 50px; }
#f-conContents .fp-section .title h2 { letter-spacing: 0.2em; }
#f-conContents .fp-section .title h3 { margin-bottom: 22px; letter-spacing: 0.14em; }

#f-conContents .fp-section .title .justify {
	width: 750px;
	margin: 0 auto;
	text-align: justify;
}

#f-conContents .fp-section .title p { font-size: 15px; line-height: 2; }
#f-conContents .fp-section .title .justify p { letter-spacing: 0.04em; }

/* .f-con-performance1
------------------------------------*/
.f-con-performance1 .pic {
	display: flex;
	justify-content: space-between;
	width: 894px;
	margin: 0 auto;
}

.f-con-performance1 .pic figcaption {
	margin: 14px 0 0 2px;
	font-size: 14px;
	line-height: 1.9;
	letter-spacing: 0.08em;
	text-align: left;
}

/* .f-con-performance2
------------------------------------*/
.f-con-performance2 .img {
	display: flex;
	justify-content: space-between;
	padding-right: 60px;
	padding-left: 60px;
}

/* .f-con-performance3
------------------------------------*/
.f-con-performance3 .img {
	padding-right: 90px;
	padding-left: 90px;
	font-family: var(--font-gothic);
	font-weight: 700;
	text-align: center;
}

.f-con-performance3 .img ul {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 25px 25px;
}

.f-con-performance3 .img li {
	background-color: #EEF8FF;
	color: #177F9D;
	padding: 27px 26px 26px;
	font-size: 15px;
	letter-spacing: 0.15em;
}

.f-con-performance3 .img .txt1 {
	position: relative;
	margin: 50px auto;
	z-index: 1;
}

.f-con-performance3 .img .txt1 i {
	display: block;
	position: absolute;
	top: -31px;
	left: 50%;
	margin-left: -12px;
	z-index: 0;
}

.f-con-performance3 .img .txt1 span {
	display: inline-block;
	position: relative;
	background-color: #FFFFFF;
	border: 1px solid #177F9D;
	border-radius: 100px;
	padding: 10px 24px 12px 26px;
	color: #177F9D;
	font-size: 16px;
	letter-spacing: 0.1em;
	z-index: 1;
}

.f-con-performance3 .img .txt2 {
	background-color: #EFFAE8;
	border-radius: 2px;
	padding: 15px;
	color: #659B49;
	font-size: 19px;
	line-height: 1.8;
	letter-spacing: 0.16em;
}

.f-con-performance3 .img .txt2 i {
	display: inline-block;
	margin: -10px 16px -10px 0;
	transform: translateY(-7px);
}

/* .f-con-performance6
------------------------------------*/
.f-con-performance6 .img {
	display: flex;
	justify-content: space-between;
	padding: 60px 60px 48px;
}

.f-con-performance6 .img-txt {
	display: block;
	width: 500px;
	margin: 0 35px 0 0;
	font-family: var(--font-min-m);
}

.f-con-performance6 .img-txt h4 { margin-bottom: 14px; }

.f-con-performance6 .img-txt h4 em {
	display: block;
	margin: 0 0 17px 1px;
	color: var(--color-gold);
	font-family: var(--font-sans);
	font-weight: 300;
	font-size: 12px;
	letter-spacing: 0.12em;
}

.f-con-performance6 .img-txt h4 strong {
	font-size: 22px;
	line-height: 1.8;
	letter-spacing: 0.08em;
}

.f-con-performance6 .img-txt p {
	letter-spacing: 0.03em;
	text-align: justify;
}

/* .f-con-case
------------------------------------*/
.f-con-case {
	box-sizing: border-box;
	width: 1140px;
	margin: 160px auto 0;
	padding: 0 40px;
}

.f-con-case h2 {
	margin-bottom: 34px;
	font-size: 18px;
	letter-spacing: 0.14em;
}

.f-con-case h2 span {
	padding-left: 10px;
	font-size: 14px;
}

.f-con-case .inner { position: relative; }
.f-con-case .inner:not(:last-child) { margin-bottom: 100px; }

.f-con-case .inner h3 {
	position: absolute;
	top: 1px;
	left: -38px;
	font-size: 15px;
	letter-spacing: 0.05em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.f-con-case-list {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 30px 30px;
}

.f-con-case-list li { transition: .15s ease-out; cursor: pointer; }
.f-con-case-list li:hover { opacity: 0.8; }

/* .f-con-case-modal
------------------------------------*/
.f-con-case-modal {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	background-color: #F3F2EF;
	width: 100%;
	height: 100%;
	z-index: 10010;
	opacity: 0;
}

.f-con-case-modal-inner {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) !important;
	width: 940px;
	height: 671px;
	opacity: 0;
}

.f-con-case-modal-inner .slick-list { overflow: inherit !important; }
.f-con-case-modal-inner .slick-slider,
.f-con-case-modal-inner .slick-list { height: 100% !important; }
.f-con-case-modal-inner .slick-track { width: 100% !important; }

.f-con-case-modal-inner li {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 940px !important;
	height: 671px !important;
}

.f-con-case-modal-inner li img { width: 100%; height: auto; }

.f-con-case-modal-inner .slick-prev,
.f-con-case-modal-inner .slick-next {
	position: absolute;
	top: 50%;
	padding: 45px;
	transform: translateY(-50%);
	text-indent: -9999px;
	z-index: 1000;
}

.f-con-case-modal-inner .slick-prev { left: -90px; }
.f-con-case-modal-inner .slick-next { right: -90px; }

.f-con-case-modal-inner .slick-prev:after,
.f-con-case-modal-inner .slick-next:after {
	display: block;
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	background: url(img/share/btn-modal-arrow.svg) no-repeat;
	width: 16px;
	height: 36px;
}

.f-con-case-modal-inner .slick-prev:after { transform: translate(-50%,-50%) scaleX(-1); }

.f-con-case-modal-list {
	overflow: hidden;
	position: absolute;
	bottom: 10px;
	left: 0;
	width: 100%;
}

.f-con-case-modal-list ul { opacity: 0; }

.f-con-case-modal-list .slick-list {
	overflow: inherit !important;
	width: 192px !important;
	margin: 0 auto;
}

.f-con-case-modal-list .slick-list .slick-track {
	left: -14px;
}

.f-con-case-modal-list li {
	position: relative !important;
	width: 60px !important;
	min-width: 60px !important;
	height: 58px;
	margin: 0 2px !important;
	cursor: pointer;
}

.f-con-case-modal-list li.slick-current {
	width: 80px !important;
	min-width: 80px !important;
}

.f-con-case-modal-list li:last-of-type {
	display: none !important;
}

.f-con-case-modal-list li img {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) !important;
	width: 60px;
	height: auto;
	transition: .25s ease-out;
}

.f-con-case-modal-list li.slick-current img {
	width: 100%;
}

@media (max-height: 940px) {
	.f-con-case-modal-inner .slick-slider {
		margin-top: -3.5vh;
		transform: scale(0.85);
	}
}


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

/* .casetop-main
------------------------------------*/
.casetop-main { position: relative; width: 100%; margin-bottom: 75px; }
.casetop-main .inner { position: relative !important; }
.casetop-main .inner:not(:first-of-type) { position: absolute !important; top: 0; left: 0; }

.casetop-main .inner a,
.casetop-main .inner figure,
.case-main .inner a { display: block; width: 100%; height: 100%; }

.casetop-main .inner a:hover,
.case-main .inner a:hover { opacity: 1; }

.casetop-main .inner figure { position: relative; z-index: 0; }

.casetop-main .inner figure:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background: linear-gradient(228.88deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0.5) 99.5%);
	width: 100%;
	height: 100%;
	z-index: 1;
}

.casetop-main .inner .category {
	position: absolute;
	top: 35px;
	left: 35px;
	color: #FFFFFF;
	font-family: var(--font-min-m-v);
	font-size: 19px;
	letter-spacing: 0.22em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.casetop-main .inner .category span { display: block; margin-right: 14px; }
.casetop-main .inner .category span.let-l { letter-spacing: 0.6em; }
.casetop-main .inner .category span.let-s { letter-spacing: 0.02em; }

.casetop-main .inner .txt {
	position: absolute;
	top: 50%;
	left: 35px;
	transform: translateY(-50%);
	color: #FFFFFF;
}

.casetop-main .inner .txt h3 {
	margin: 0 0 17px 1px;
	font-family: var(--font-min-r);
	font-size: 20px;
	letter-spacing: 0.06em;
}

.casetop-main .inner .txt h2 {
	font-size: 27px;
	line-height: 1.6;
	letter-spacing: 0.12em;
}

/* .casetop-lead
------------------------------------*/
.casetop-lead {
	position: relative;
	width: 1241px;
	margin: 0 auto 110px;
}

.casetop-lead .txt {
	display: -webkit-box;
	display: flex;
	width: 1000px;
	margin: 0 auto 100px;
	transform: translateX(-10px);
}

.casetop-lead h1 {
	width: 400px;
	min-width: 400px;
	font-size: 28px;
	letter-spacing: 0.1em;
	white-space: nowrap;
	transform: translateY(7px);
}

.casetop-lead p {
	font-size: 17px;
	line-height: 2.2;
	white-space: nowrap;
}

.casetop-lead time {
	display: block;
	position: absolute;
	bottom: -28px;
	right: 0;
	font-family: var(--font-min-r);
	font-size: 10px;
	letter-spacing: 0.1em;
}

.casetop-lead .img {
	display: -webkit-box;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}

/* .casetop-interview
------------------------------------*/
.casetop-interview {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	width: 1000px;
	margin: 0 auto;
}

.casetop-interview .txt {
	width: 470px;
	min-width: 470px;
}

.casetop-interview .txt > em {
	display: block;
	margin-bottom: 30px;
	font-family: var(--font-serif);
	color: var(--color-gold);
	font-size: 12px;
	letter-spacing: 0.15em;
}

.casetop-interview .txt h1 {
	margin-bottom: 28px;
	font-size: 13px;
	letter-spacing: 0.26em;
}

.casetop-interview .txt h2 {
	box-sizing: border-box;
	margin-bottom: 44px;
}

.casetop-interview .txt h2 img { height: 26px; }

.casetop-interview .txt p {
	margin-bottom: 20px;
	line-height: 2.2;
	letter-spacing: 0.12em;
	font-size: 16px;
}

.casetop-interview .interview-list { width: 530px; min-width: 530px; margin-top: 40px; }
.casetop-interview .interview-list article { width: 100%; margin-bottom: 42px !important; }
.casetop-interview .interview-list article:last-of-type { margin-bottom: 0 !important; }

.casetop-interview .interview-list a {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: end;
	align-items: flex-end;
	justify-content: space-between;
}

.casetop-interview .interview-list figure { position: relative; overflow: hidden; width: 204px; min-width: 204px; height: 145px; margin: 0; padding: 0; }
.casetop-interview .interview-list figure img { display: block; position: absolute; top: 0; left: 0; object-fit: cover; width: 100%; height: 100%; }
.casetop-interview .interview-list a > div { box-sizing: border-box; width: 100%; padding: 0 0 0 37px; }

.casetop-interview .interview-list h2 {
	margin-bottom: 14px;
	font-size: 12px;
}

.casetop-interview .interview-list h3 {
	font-size: 18px;
}

/* .casetop-category
------------------------------------*/
.casetop-category {
	border-top: 1px solid var(--color-border-gray-light);
	width: 100%;
	margin-top: 130px;
	padding-top: 105px;
}

.casetop-category-head,
.casetop-category ul {
	width: 1241px;
	margin: 0 auto;
}

.casetop-category-head {
	margin-bottom: 45px;
	white-space: nowrap;
}

.casetop-category-head h2 {
	display: inline-block;
	margin-right: 16px;
	font-size: 26px;
	letter-spacing: 0.1em;
}

.casetop-category-head a {
	display: inline-block;
	padding-bottom: 3px;
	font-size: 15px;
	letter-spacing: 0.13em;
	transform: translateY(-3px);
}

.casetop-category ul { display: -webkit-box; display: flex; justify-content: space-between; }
.casetop-category li { width: 377px; }
.casetop-category li a { display: block; }
.casetop-category li figure { margin-bottom: 27px; }

.casetop-category li h2 {
	margin-bottom: 19px;
	font-size: 18px;
	letter-spacing: 0.1em;
	text-align: center;
}

.casetop-category li p {
	padding: 0 3px;
	line-height: 2;
	text-align: justify;
}

.casetop-category li .btn-link { margin-top: 26px; }

@media (max-width: 1380px) {
	.casetop-category-head,
	.casetop-category ul { width: 1181px; }
}
@media (max-width: 1300px) {
	.casetop-lead time { right: 10px; }
}


/* page case
---------------------------------------------------------------------------*/
.case-head,
.case-list,
.related-case { width: 1126px; }

@media (max-width: 1340px) {
	.case-head,
	.case-list,
	.related-case { transform: translateX(5px); }
}

/* .case-head
------------------------------------*/
.case-head { display: -webkit-box; display: flex; justify-content: space-between; margin: -15px auto 30px; }
.case-head .title { transform: translateY(6px); }

.case-head .title h1 {
	display: inline-block;
	margin-right: 10px;
	font-family: var(--font-min-r);
	font-size: 22px;
	letter-spacing: 0.06em;
}

.case-head .title .count {
	display: inline-block;
	margin-right: 22px;
	color: var(--color-gold);
	font-family: var(--font-sans);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.08em;
}

.case-head .title .update {
	display: inline-block;
	font-family: var(--font-sans);
	font-weight: 300;
	font-size: 10px;
	letter-spacing: 0.11em;
}

.case-head .case-category { display: -webkit-box; display: flex; }
.case-head .case-category li { position: relative; }

.case-head .case-category li:before,
.case-head .case-category li:last-of-type:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background-color: var(--color-border-gray);
	width: 1px;
	height: 100%;
}

.case-head .case-category li:last-of-type:after { left: inherit; right: 0; }

.case-head .case-category a {
	display: block;
	box-sizing: border-box;
	padding: 10px 30px;
	font-size: 15px;
	letter-spacing: 0.1em;
}

/* .case-list
------------------------------------*/
.case-list { display: -webkit-box; display: flex; flex-wrap: wrap; margin: 0 auto -45px; }
.case-list article { width: 328px; margin: 0 71px 45px 0; }
.case-list article:nth-of-type(3n) { margin-right: 0; }
.case-list article a { display: block; position: relative; }
.case-list .case-area { position: absolute; top: 0; left: -21px; }

.case-list .case-area li {
	font-family: var(--font-min-m-v);
	font-size: 13px;
	letter-spacing: 0.2em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.case-list figure { position: relative; overflow: hidden; width: 100%; height: 234px; margin-bottom: 12px; }
.case-list figure img { display: block; position: absolute; top: 0; left: 0; object-fit: cover; width: 100%; height: 100%; }

.case-list h3 {
	font-family: var(--font-min-r);
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}


/* page case single
---------------------------------------------------------------------------*/

/* .case-main
------------------------------------*/
.case-main { width: 100%; margin-bottom: 80px; }

/* .case-txt
------------------------------------*/
.case-txt { width: 680px; margin: -220px auto 85px; padding-top: 220px; text-align: center; }

.case-txt h1 {
	margin-bottom: 34px;
	font-family: var(--font-min-r);
	font-size: 28px;
	line-height: 1.6;
	letter-spacing: 0.15em;
	text-align: center;
}

.case-txt p {
	font-size: 16px;
	line-height: 2.1;
	text-align: justify;
}

/* .case-img
------------------------------------*/
.case-img,
.case-movie,
.case-gallery-wrap { width: 960px; margin: 0 auto; }
.case-img .layout { margin-bottom: 40px; }
.case-img .layout2 { display: -webkit-box; display: flex; justify-content: space-between; }
.case-img .layout2 .inner { width: 460px; }
.case-img img { min-width: 100%; }

/* .case-movie
------------------------------------*/
.case-movie iframe {
	width: 100%;
	height: 540px;
	margin-bottom: 40px;
}

/* .case-gallery
------------------------------------*/
.case-gallery-wrap { overflow: hidden; margin-top: 80px; }
.case-gallery { position: relative; width: 960px; height: 620px; }

.case-gallery .slick-list,
.case-gallery .slick-track,
.case-gallery .inner { width: 960px !important; height: 100% !important; }

.case-gallery .inner { position: absolute !important; top: 0 !important; left: 0 !important; }
.case-gallery .inner:first-of-type { position: relative !important; }
.case-gallery img { object-fit: cover; width: 100%; height: 100%; -webkit-backface-visibility: hidden; image-rendering: -webkit-optimize-contrast; }

.case-gallery-thumb { margin-top: 20px; }

.case-gallery-thumb,
.case-gallery-thumb .slick-list,
.case-gallery-thumb .slick-track { width: 100% !important; }

.case-gallery-thumb .slick-track { display: -webkit-box; display: flex; flex-wrap: wrap; transform: none !important; }

.case-gallery-thumb .inner { width: 112px !important; height: 80px !important; margin: 0 9px 9px 0; }
.case-gallery-thumb .inner:nth-of-type(8n){ margin-right: 0; }

.case-gallery-thumb .inner img { display: block; object-fit: cover; width: 100%; height: 100%; }
.case-gallery-thumb .inner.noimg { position: relative; overflow: hidden; background-color: #FFFFFF; pointer-events: none !important; }

.case-gallery-thumb .inner.noimg:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	box-sizing: border-box;
	border: 1px solid var(--color-border-beige-light);
	width: 100%;
	height: 100%;
}

.case-gallery-thumb .inner.noimg:after {
	display: block;
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	background-color: var(--color-border-beige-light);
	width: 200px;
	height: 1px;
	transform: translate(-50%,-50%) rotate(-35deg);
}

.case-gallery .slick-arrow {
	position: absolute;
	top: 50%;
	background: url(img/share/btn-modal-arrow-white.svg) no-repeat center center;
	width: 68px;
	height: 130px;
	margin-top: -65px;
	text-indent: -9999px;
	z-index: 100;
	transition: .15s ease-out;
}

.case-gallery .slick-prev { left: 0; transform: scaleX(-1); }
.slick-next { right: 0;	}
.case-gallery .slick-arrow:hover { opacity: 0.7; }

/* .case-detail
------------------------------------*/
.case-detail { width: 890px; margin: 100px auto 0; }

.case-detail dl > div {
	position: relative;
	display: -webkit-box;
	display: flex;
	border-bottom: 1px solid var(--color-border-beige-light);
	padding-bottom: 5px;
	margin-bottom: 19px;
	font-size: 16px;
	line-height: 1.7;
	letter-spacing: 0.08em;
}

.case-detail dl > div:last-of-type { margin-bottom: 0; }

.case-detail dl > div:before {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: var(--color-gold);
	width: 5px;
	height: 1px;
}

.case-detail dt { box-sizing: border-box; width: 160px; min-width: 160px; padding: 0 20px 0 5px; }

/* .case-other
------------------------------------*/
.case-other { width: 1126px; margin: 165px auto 0; }

.case-other > h2 {
	margin-bottom: 30px;
	font-size: 18px;
	letter-spacing: 0.12em;
}


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

/* .slider-interview
------------------------------------*/
.slider-interview.wide { display: block !important; margin-bottom: 75px; }

.slider-interview,
.slider-interview .slick-list,
.slider-interview .slick-track { width: 100% !important; }

.slider-interview .inner { display: -webkit-box !important; display: flex !important; width: 100%; }
.slider-interview .inner:not(:first-of-type) { position: absolute !important; top: 0 !important; left: 0 !important; }
.slider-interview .inner img { width: 100%; }

/* .interview-lead
------------------------------------*/
.interview-lead {
	position: relative;
	width: 1094px;
	margin: -80px auto 90px;
	padding-top: 200px;
	text-align: center;
}

.interview-lead .title {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

.interview-lead .title em,
.interview-lead .title h1 {
	box-sizing: border-box;
	padding-left: 10px;
}

.interview-lead .title em {
	display: block;
	margin-bottom: 20px;
	color: var(--color-gold);
	font-family: var(--font-sans);
	font-size: 12px;
	font-weight: 300;
	letter-spacing: 0.14em;
}

.interview-lead .title h1 {
	margin-bottom: 40px;
	font-size: 14px;
	letter-spacing: 0.26em;
}

.interview-lead .title h2 {
	box-sizing: border-box;
	margin-bottom: 88px;
	padding-left: 16px;
}

.interview-lead .img { display: -webkit-box; display: flex; margin-bottom: 80px; }
.interview-lead .img figure { width: 50%; }

.interview-lead p {
	font-size: 17px;
	line-height: 2.3;
	letter-spacing: 0.1em;
}

.interview-lead p:nth-of-type(1),
.interview-lead p:nth-of-type(3) { margin-bottom: 0; }

/* .interview-list
------------------------------------*/
.interview-list {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 916px;
	margin: 0 auto;
}

.interview-list article { width: 420px; margin-bottom: 80px; }
.interview-list article:last-of-type,
.interview-list article:nth-last-child(2) { margin-bottom: 0; }

.interview-list article a { display: block; }
.interview-list figure { position: relative; overflow: hidden; width: 100%; height: 0; margin-bottom: 25px; padding-bottom: 70%; }
.interview-list figure img { display: block; position: absolute; top: 0; left: 0; object-fit: cover; width: 100%; height: 100%; }

.interview-list h2 {
	margin-bottom: 10px;
	margin-left: 1px;
	font-size: 14px;
	letter-spacing: 0.1em;
}

.interview-list h3 {
	margin-bottom: 18px;
	font-size: 20px;
	line-height: 1.7;
	letter-spacing: 0.15em;
}

.interview-list h3 br { display: none; }

.interview-list h4 {
	margin-left: 1px;
	color: var(--color-gold);
	font-family: var(--font-sans);
	font-size: 10px;
	font-weight: 300;
	letter-spacing: 0.14em;
}


/* page interview single
---------------------------------------------------------------------------*/

/* .interview-main
------------------------------------*/
.interview-main.wide { display: block !important; }

.casetop-main,
.case-main,
.interview-main {
	height: 100vh;
	min-height: 700px;
	max-height: 70vw;
}

.interview-main {
	margin-bottom: 2px;
}

.interview-main,
.interview-main .slick-list,
.interview-main .slick-track { width: 100% !important; }

.casetop-main .slider-img,
.case-main .slider-img,
.interview-main .slick-list,
.interview-main .slick-track,
.interview-main .inner { height: 100% !important; }

.interview-main .inner { position: absolute !important; top: 0 !important; left: 0 !important; width: 100%; opacity: 0; }
.interview-main .inner:first-of-type { position: static !important; opacity: 1; }
.interview-main .inner a { display: block; width: 100%; height: 100%; }
.interview-main .inner a:hover { opacity: 1 !important; }

.casetop-main img,
.case-main img,
.interview-main img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	-webkit-backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
}

.interview-main .top img { object-position: 0 0; }
.interview-main .btm img { object-position: 0 100%; }

/* .interview-wrap
------------------------------------*/
.interview-wrap {
	position: relative;
	display: -webkit-box;
	display: flex;
}

.interview-title {
	position: sticky;
	top: 0;
	left: 0;
	box-sizing: border-box;
	width: 440px;
	min-width: 440px;
	height: 100vh;
	height: 100dvh;
	padding: 138px 25px 0 50px;
}

.interview-title .btn-back {
	position: absolute;
	top: 34px;
	left: 28px;
	font-size: 13px;
	letter-spacing: 0.13em;
}

.interview-title h4 {
	margin: 0 0 14px 1px;
	color: var(--color-gold);
	font-family: var(--font-sans);
	font-size: 10px;
	font-weight: 300;
	letter-spacing: 0.14em;
}

.interview-title h3 {
	margin: 0 0 8px 1px;
	font-family: var(--font-min-r);
	font-size: 13px;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.interview-title h1 {
	margin: 0 0 35px 1px;
	font-size: 15px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.interview-title h2 {
	margin: 0 0 24px -2px;
	font-family: var(--font-min-r);
	font-size: 24px;
	line-height: 1.65;
	letter-spacing: 0.16em;
}

.interview-title p {
	margin-bottom: 12px;
	line-height: 2.05;
	letter-spacing: 0.04em;
	font-size: 15px;
}

.interview-title-btm {
	position: absolute;
	bottom: 45px;
	left: 50px;
	opacity: 0;
}

.interview-title-btm em {
	display: block;
	margin-bottom: 16px;
	color: var(--color-gold);
	font-family: var(--font-sans);
	font-size: 10px;
	font-weight: 300;
	letter-spacing: 0.14em;
}

.interview-title-btm strong {
	display: block;
	margin-bottom: 28px;
	font-size: 12px;
	letter-spacing: 0.24em;
}

.interview-title-btm b { display: block; }
.interview-title-btm b img { width: 289px; height: auto; }

@media (max-height: 860px) {
	.interview-title { padding-top: 110px; }
	.interview-title h1 { margin-bottom: 32px; font-size: 14px; }
	.interview-title h2 { font-size: 23px; }
	.interview-title p { margin-bottom: 11px; font-size: 14px; line-height: 2; }
	.interview-title-btm b img { width: 259px; }
}
@media (max-height: 760px) {
	.interview-title h3 br { display: none; }
	.interview-title-btm { display: none !important; }
}

/* .interview-inner
------------------------------------*/
.interview-inner {
	box-sizing: border-box;
	width: 700px;
	margin: 140px auto 0;
}

.interview-inner .layout { margin-bottom: 60px; }

.interview-inner .layout1 + .layout1,
.interview-inner .layout1 + .layout2,
.interview-inner .layout1 + .layout-caption,
.interview-inner .layout2 + .layout1,
.interview-inner .layout2 + .layout2,
.interview-inner .layout2 + .layout-caption,
.interview-inner .layout-caption + .layout-caption { margin-top: -20px; }

.interview-inner .layout-txt { margin-bottom: 60px; margin-top: -3px; }

.interview-inner .layout-txt dt {
	position: relative;
	margin-bottom: 22px;
	padding-left: 76px;
	font-size: 18px;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.interview-inner .layout-txt dt:before {
	display: block;
	content: '';
	position: absolute;
	top: 14px;
	left: 1px;
	background-color: var(--color-text);
	width: 60px;
	height: 1px;
	opacity: 0.5;
}

.interview-inner .layout-txt dd,
.interview-inner .layout-txt dd p {
	font-size: 16px;
	line-height: 2.15;
	letter-spacing: 0.03em;
	text-align: justify;
	margin-bottom: 20px;
}

.interview-inner .layout-caption figcaption {
	display: block;
	margin-top: 10px;
	font-size: 14px;
	line-height: 1.8;
	letter-spacing: 0.04em;
	text-align: justify;
}

.interview-inner .layout2 { display: -webkit-box; display: flex; justify-content: space-between; }

/* .interview-detail
------------------------------------*/
.interview-detail {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: end;
	align-items: flex-end;
	box-sizing: border-box;
	border: 1px solid var(--color-border-gray-light);
	margin: 100px -60px 0 -15px;
	padding: 40px 45px;
}

.interview-detail figure { width: 340px; min-width: 340px; }
.interview-detail figure img { width: 100%; height: auto; }

.interview-detail .txt { padding: 0 0 0 33px; }

.interview-detail .txt h2 {
	margin-bottom: 24px;
	font-family: var(--font-min-r);
	font-size: 20px;
	line-height: 1.6;
	letter-spacing: 0.16em;
}

.interview-detail dl > div {
	display: -webkit-box;
	display: flex;
	margin-bottom: 4px;
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

.interview-detail dl > div:last-of-type { margin-bottom: 0; }
.interview-detail dt { box-sizing: border-box; width: 80px; min-width: 80px; padding-right: 15px; }
.interview-detail dd { color: var(--color-gray); }

/* .interview-other
------------------------------------*/
.interview-other { width: calc(100% + 75px); margin: 160px -60px 0 -15px; }

.interview-other > h2 {
	margin-bottom: 34px;
	font-family: var(--font-min-r);
	font-size: 20px;
	letter-spacing: 0.16em;
}

.interview-other .interview-list { width: 100%; }
.interview-other .interview-list article { width: 46.5%; margin-bottom: 50px; }
.interview-other .interview-list img { width: 100%; height: auto; -webkit-backface-visibility: hidden; image-rendering: -webkit-optimize-contrast; }
.interview-other .interview-list h2 { font-size: 13px; margin-left: 0; }
.interview-other .interview-list h3 { margin-bottom: 12px; margin-left: -1px; font-size: 17px; }
.interview-other .interview-list h4 { margin-left: 1px; letter-spacing: 0.12em; }

@media (max-width: 1380px) {
	.interview-detail,
	.interview-other { width: 100%; margin-right: 0; margin-left: 0; }
}

/* page model-house
---------------------------------------------------------------------------*/
#model-houseContents .title-page { margin-bottom: 100px; }
#model-houseContents .title-page h1 { font-size: 32px; }
#model-houseContents .title-page .title strong { bottom: 58px; }
#model-houseContents .title-page .title strong span { letter-spacing: 0.08em; }
#model-houseContents .title-page .txt { padding-left: 100px; }
#model-houseContents .img-main { margin-top: 0; margin-bottom: 80px; }

/* .modelhouse-section
------------------------------------*/
.modelhouse-section { width: 100%; margin-bottom: 120px; }
.modelhouse-section .lead { margin-bottom: 80px; text-align: center; }

.modelhouse-section .lead h2 {
	margin-bottom: 32px;
	font-size: 28px;
	letter-spacing: 0.16em;
}

.modelhouse-section .lead p {
	font-size: 17px;
	line-height: 2.2;
	letter-spacing: 0.1em;
}

/* .modelhouse-slide
------------------------------------*/
.modelhouse-slide-wrap { position: relative; overflow: hidden; width: 100%; padding-bottom: 105px; }

.modelhouse-slide-wrap .count {
	position: absolute;
	bottom: 52px;
	left: calc(50% - 568px);
	width: 34px;
	height: 34px;
	font-size: 15px;
}

.modelhouse-slide-wrap .count:after {
	display: block;
	content: '';
	position: absolute;
	top: 18px;
	left: -6px;
	background-color: var(--color-text);
	width: 46px;
	height: 1px;
	transform: rotate(-35deg);
	opacity: 0.3;
	z-index: 0;
}

.modelhouse-slide-wrap .current,
.modelhouse-slide-wrap .total { position: absolute; z-index: 1; opacity: 0.7; }

.modelhouse-slide-wrap .current { top: 0; left: 0; }
.modelhouse-slide-wrap .total { bottom: 0; right: 0; }

.modelhouse-slide .slick-list { margin-left: calc(50% - 573px); }

.modelhouse-slide .inner { margin-right: 20px; }

.modelhouse-slide .slick-arrow {
	position: absolute;
	bottom: -57px;
	background: url(img/share/ico-arrow-next.svg) no-repeat center center;
	background-size: 20px auto;
	width: 42px;
	height: 42px;
	margin-left: 57px;
	text-indent: -9999px;
}

.modelhouse-slide .slick-prev { left: calc(50% + 530px); bottom: -56px; transform: scaleX(-1); }
.modelhouse-slide .slick-next { left: calc(50% + 570px); }

@media (max-width: 1380px) {
	.modelhouse-slide .slick-arrow { margin-left: 0; }
}

/* .modelhouse-inner
------------------------------------*/
.modelhouse-inner {
	position: relative;
	box-sizing: border-box;
	width: 1130px;
	margin: 0 auto 175px;
	padding: 0 0 0 35px;
}

.modelhouse-section section:last-child .modelhouse-inner { margin-bottom: 0; }
.modelhouse-txt { display: -webkit-box; display: flex; -webkit-box-align: end; align-items: flex-end; }
.modelhouse-txt figure { align-self: flex-start; width: 252px; min-width: 252px; }
.modelhouse-txt > div { padding: 0 0 0 38px; }

.modelhouse-txt h3 {
	position: absolute;
	top: 0;
	font-size: 20px;
	letter-spacing: 0.06em;
}

.inner2 .modelhouse-txt h3 { top: inherit; bottom: 114px; }

.modelhouse-txt h3,
.modelhouse-txt .inner-s { left: 890px; }

.modelhouse-txt p {
	font-size: 17px;
	line-height: 2;
	letter-spacing: 0.1em;
}

.modelhouse-txt p:last-of-type { margin-bottom: -3px; }
.modelhouse-txt p + .btn-link { margin-top: 24px; }

.modelhouse-txt .inner-s { position: absolute; top: 38px; }
.inner2 .modelhouse-txt .inner-s { top: inherit; bottom: 0; }

.modelhouse-txt address {
	display: block;
	font-size: 14px;
	line-height: 1.8;
	letter-spacing: 0.08em;
}

.modelhouse-txt address span { display: block; margin-bottom: 7px; }

.modelhouse-txt address em {
	display: block;
	margin-top: 5px;
	padding-bottom: 4px;
	font-size: 11px;
	letter-spacing: 0.04em;
}

.modelhouse-txt .btn-set {
	flex-wrap: nowrap;
	margin: 20px 0 0 -2px;
	white-space: nowrap;
}
.modelhouse-inner.inner2 .modelhouse-txt .btn-set { margin-top: 28px; }
.modelhouse-inner.inner3 .modelhouse-txt .btn-set { margin-top: 24px; }
.modelhouse-txt .btn-link { margin: 0 10px 0 0; }

.inner2 .modelhouse-txt h3,
.inner2 .modelhouse-txt .inner-s { margin-top: 36px; }
.inner2 .modelhouse-txt .btn-link.mt { margin-top: 22px; }

.inner3 .modelhouse-txt h3,
.inner3 .modelhouse-txt .inner-s { margin-top: 22px; }

/* .modal-movie
------------------------------------*/
.modal-movie {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	background: url(img/share/bg-modal-brown.jpg) repeat left top / 100px auto;
	width: 100%;
	height: 100%;
	z-index: 10000;
	opacity: 0;
}

.modal-movie-close {
	position: absolute;
	top: 0;
	right: 0;
	padding: 32px;
	z-index: 2;
}

.modal-movie .movie {
	overflow: hidden;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) !important;
	border: 2px solid #000000;
	border-radius: 11px;
	width: 1024px;
	height: 576px;
	z-index: 1;
	opacity: 0;
}

/* .seinou-label
------------------------------------*/
.seinou-label {
	box-sizing: border-box;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	background-color: #F5F3EE;
	width: 1130px;
	margin: 0 auto 55px;
	padding: 35px 35px 25px;
}

.seinou-label h2 {
	position: relative;
	background-color: #FFFFFF;
	width: 235px;
	min-width: 235px;
	height: 175px;
	color: var(--color-brown);
	text-align: center;
	white-space: nowrap;
}

.seinou-label h2:before {
	display: block;
	content: '';
	position: absolute;
	top: -55px;
	left: 0;
	background-color: #FFFFFF;
	width: 100%;
	height: 55px;
	clip-path: polygon(50% 0, 0% 100%, 100% 100%);
}

.seinou-label h2 > span {
	display: inline-block;
	margin-top: 42px;
}

.seinou-label h2 em {
	display: block;
	margin-bottom: 20px;
	font-family: var(--font-min-d);
	font-size: 14px;
	letter-spacing: 0.1em;
}

.seinou-label h2 strong {
	display: block;
	font-size: 21px;
	letter-spacing: 0.1em;
}

.seinou-label .txt1 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	border-bottom: 1px solid var(--color-border-beige);
	margin: 0 45px 0 45px;
}

.seinou-label .txt1 > div {
	border-top: 1px solid var(--color-border-beige);
	width: 100%;
	padding: 6px 8px 6px;
}

.seinou-label .txt1 > div:nth-of-type(1),
.seinou-label .txt1 > div:nth-of-type(2) {
	border-top: none;
	margin-bottom: 15px;
}

.seinou-label .txt1 > div:nth-of-type(1) {
	border-right: 1px solid var(--color-border-beige);
	width: 34.4%;
}

.seinou-label .txt1 > div:nth-of-type(2) {
	width: 54.5%;
}

.seinou-label .txt1 > div:nth-of-type(3),
.seinou-label .txt1 > div:nth-of-type(4) {
	display: flex;
	align-items: center;
}

.seinou-label .txt1 > div:nth-of-type(3) {
	padding-top: 15px;
	padding-bottom: 16px;
}

.seinou-label .txt1 > div:nth-of-type(4) {
	padding-top: 10px;
	padding-bottom: 11px;
}

.seinou-label .txt1 > div:nth-of-type(3) h3,
.seinou-label .txt1 > div:nth-of-type(4) h3 {
	width: 112px;
	min-width: 112px;
}

.seinou-label .txt1 > div:nth-of-type(3) h3 {
	transform: translateY(5px);
}

.seinou-label .txt1 h3 {
	font-size: 15px;
	letter-spacing: 0.08em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

.seinou-label .txt1 > div:nth-of-type(1) h3,
.seinou-label .txt1 > div:nth-of-type(2) h3 {
	margin-bottom: 10px;
}

.seinou-label .txt1 > div:nth-of-type(1) img {
	display: block;
	margin: 20px 0 0 4px;
}

.seinou-label .txt1 .price {
	color: var(--color-gold);
	font-family: var(--font-min-d);
	font-size: 16px;
	white-space: nowrap;
	letter-spacing: 0.04em;
}

.seinou-label .txt1 .price strong {
	padding: 0 2px 0 2px;
	font-family: var(--font-min-r);
	font-size: 30px;
}

.seinou-label .txt1 > div p {
	font-size: 13px;
	line-height: 1.7;
	text-align: justify;
}

.seinou-label .txt1 > div p strong {
	color: var(--color-brown);
}

.seinou-label .txt2 {
	width: 275px;
	min-width: 275px;
}

.seinou-label .txt2 p {
	margin-bottom: 13px;
	font-size: 13px;
	line-height: 1.75;
	letter-spacing: 0.04em;
	text-align: justify;
}

.seinou-label .txt2 p span {
	font-size: 11px;
}

/* .event-calender
------------------------------------*/
.event-calender { box-sizing: border-box; position: relative; margin-top: -70px; margin-bottom: 130px; padding: 210px 0 0; }
.event-calender:before { display: block; content: ''; position: absolute; top: 70px; left: 0; background-color: #D9D5CE; width: 100%; height: 1px; }

.event-calender .lead,
.event-section { width: 1138px; margin: 0 auto; }

.event-calender .lead h2,
.event-section .lead h2 {
	margin: 0 0 34px 36px;
	font-size: 25px;
	letter-spacing: 0.1em;
}

.event-calender .lead p,
.event-section .lead p {
	margin-left: 38px;
	font-size: 16px;
	line-height: 2.2;
	letter-spacing: 0.1em;
}

.event-calender .lead { margin-bottom: 75px; }

/* .calender
------------------------------------*/
.calender-wrap { position: relative; width: 1135px; margin: 0 auto; }
.calender { width: 100%; }
.calender-wrap .hidden { visibility: hidden; opacity: 0; }

/* .blog .calender
------------------------------------*/
#blogContents .event-calender { margin: -45px 0 155px; padding-top: 50px; }
#blogContents .event-calender:before { top: 0; }
#blogContents .event-calender .lead { margin-bottom: 90px; }
#blogContents .event-calender .lead h2 { display: none; }
#blogContents .event-calender .lead p { margin-left: 2px; line-height: 2.1; }
#blogContents .fc .fc-toolbar-title { top: -115px; }
#blogContents .calender-wrap .month-current { top: -179px; }
#blogContents .fc .fc-button-group { top: -92px; }
#blogContents .calender-wrap { width: 100%; }

/* .event-section
------------------------------------*/
.event-section { margin-bottom: 150px; }
.event-section > figure { display: -webkit-box; display: flex; justify-content: space-between; margin-bottom: 80px;}
.event-section2 > figure img:nth-of-type(1) { order: 3; }
.event-section2 > figure img:nth-of-type(2) { order: 1; }
.event-section2 > figure img:nth-of-type(3) { order: 2; }

.event-section .lead,
.event-wrap { width: 1060px; margin: 0 auto; }

.event-section .lead { margin-bottom: 75px; }
.event-section .lead h2 { margin-left: -3px; }
.event-section .lead p { margin-left: 0; }

.event-wrap { display: -webkit-box; display: flex; justify-content: space-between; }
.event-list > div { position: relative; margin-bottom: 36px; padding-left: 30px; }
.event-list > div:last-child { margin-bottom: 0; }

.event-list > div:before { display: block; content: ''; position: absolute; top: -7px; left: 0; border-radius: 2px; width: 5px; height: calc(100% + 10px); }

.event-list > div.completion:before,
.event-blog-list .category span.completion { background-color: #EE8A8A; }
.event-list > div.structure:before,
.event-blog-list .category span.structure { background-color: #B6CE8F; }
.event-list > div.life-planning:before,
.event-blog-list .category span.life-planning { background-color: #9CD2CC; }
.event-list > div.nandemo:before,
.event-blog-list .category span.nandemo { background-color: #CBA6EF; }
.event-list > div.factory:before,
.event-blog-list .category span.factory { background-color: #AEAEAE; }
.event-list > div.shokudo:before,
.event-blog-list .category span.shokudo { background-color: #F6CE91; }
.event-list > div.owner:before,
.event-blog-list .category span.owner { background-color: #91C6F6; }
.event-list > div.taneichi:before,
.event-blog-list .category span.taneichi { background-color: #C5A385; }

.event-list h3 { margin-bottom: 14px; font-size: 18px; letter-spacing: 0.12em; }
.event-list p { line-height: 1.95; letter-spacing: 0.12em; }

/* .event-blog
------------------------------------*/
.event-blog { width: 350px; }

.event-blog > h3 {
	margin: 0 0 30px -1px;
	font-size: 16px;
	letter-spacing: 0.08em;
}

.event-blog > p { margin: -10px 0 0; }

.event-blog-list article:not(:last-of-type) { margin-bottom: 20px; }
.event-blog-list article a { display: block; display: -webkit-box; display: flex; -webkit-box-align: center; align-items: center; }

.event-blog-list figure { align-self: flex-start; position: relative; overflow: hidden; width: 130px; min-width: 130px; height: 90px; }
.event-blog-list figure img { display: block; position: absolute; top: 0; left: 0; object-fit: cover; width: 100%; height: 100%; }

.event-blog-list article div { box-sizing: border-box; width: 100%; padding: 0 0 0 21px; transform: translateY(-1px); }

.event-blog-list time {
	display: block;
	margin: 0 -10px 5px 1px;
	color: #A3A3A3;
	font-size: 11px;
	line-height: 1.4;
	letter-spacing: 0.1em;
	opacity: 0.6;
}

.event-blog-list time i { display: inline-block; margin-left: -4px; }
.event-blog-list time i:last-of-type { display: none; }

.event-blog-list h2 {
	margin-bottom: 10px;
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.event-blog-list .category {
	font-size: 12px;
	letter-spacing: 0.06em;
}

.event-blog-list .category span {
	display: inline-block;
	background-color: var(--color-text);
	border-radius: 12px;
	padding: 4px 8px 5px 10px;
	color: #FFFFFF;
	font-family: var(--font-gothic);
}


/* page real-estate
---------------------------------------------------------------------------*/
#real-estateContents .title-page,
.real-estate-section { width: 1060px; margin-right: auto; margin-left: auto; }

#real-estateContents .img-main { margin-bottom: 75px; }
#real-estateContents .title-page { box-sizing: border-box; padding-left: 5px; }

#real-estateContents .title-page b {
	margin-bottom: 28px;
	font-size: 30px;
	line-height: 1.7;
}

#real-estateContents .title-page h1 {
	font-size: 18px;
	letter-spacing: 0.14em;
}

#real-estateContents .title-page .txt { padding: 5px 0 0 105px; }

#real-estateContents .title-page .txt p {
	margin-bottom: 12px;
	line-height: 2.15;
	letter-spacing: 0.1em;
}

/* .real-estate-section
------------------------------------*/
.real-estate-section { display: -webkit-box; display: flex; justify-content: space-between; margin-bottom: 95px; }
.real-estate-section:last-of-type { margin-bottom: 0; }
.real-estate-section figure { width: 493px; min-width: 493px; }
.real-estate-section .txt { box-sizing: border-box; width: 100%; padding: 5px 0 0 50px; }

.real-estate-section .txt h2 {
	margin-bottom: 14px;
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.real-estate-section .txt h3 {
	margin-bottom: 26px;
	font-size: 22px;
	line-height: 1.8;
	letter-spacing: 0.14em;
}

.real-estate-section .txt p {
	margin-bottom: 10px;
	font-size: 16px;
	white-space: nowrap;
}

.real-estate-section .txt .btn-set { margin: 26px 0 0 -4px; }

/* .pitat
------------------------------------*/
.pitat {
	position: relative;
	display: -webkit-box;
	display: flex;
	-webkit-box-align: end;
	align-items: flex-end;
	justify-content: space-between;
	box-sizing: border-box;
	background-color: #F9F8F5;
	width: 1140px;
	margin: 160px auto 0;
	padding: 30px 75px 30px 40px;
}

.pitat figure { width: 377px; min-width: 377px; }

.pitat .txt { box-sizing: border-box; width: 100%; padding: 0 0 4px 38px; }
.pitat .txt .instagram { position: absolute; top: 50px; left: 456px; }
.pitat .txt .logo-pitat { position: absolute; top: 34px; right: 44px; }

.pitat .txt h2 {
	margin-bottom: 16px;
	font-size: 21px;
	letter-spacing: 0.08em;
}

.pitat .txt p {
	margin-bottom: 6px;
	font-size: 16px;
	line-height: 1.8;
	letter-spacing: 0.06em;
}

.pitat .txt p.size-s {
	margin-bottom: -4px;
	font-size: 13px;
	letter-spacing: 0.06em;
}

.pitat .txt .link {
	position: absolute;
	top: 51px;
	left: 494px;
}

.pitat .txt .link a {
	font-family: var(--font-sans);
	font-size: 15px;
	letter-spacing: 0.06em;
	text-decoration: underline;
}

/*.pitat .tel { position: absolute; top: 36px; right: 58px; white-space: nowrap; }

.pitat .tel p {
	margin-bottom: 10px;
	font-size: 16px;
	letter-spacing: 0.06em;
}

.pitat .tel a {
	display: inline-block;
	font-family: var(--font-serif);
	font-size: 23px;
	letter-spacing: 0.05em;
}

.pitat .tel a i { padding-right: 4px; font-size: 16px; }*/


/* page public
---------------------------------------------------------------------------*/
#publicContents .img-main,
.public-section1 { box-sizing: border-box; width: 100%; max-width: 1240px; margin: 0 auto 120px; }

/* .public-lead
------------------------------------*/
.public-lead {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	box-sizing: border-box;
	width: 1060px;
	margin: 0 auto 115px;
	padding-left: 10px;
}

.public-lead .txt h1 {
	margin: 12px 0 24px 2px;
	font-size: 16px;
	letter-spacing: 0.16em;
}

.public-lead .txt h2 {
	margin: 0 0 40px -2px;
	font-size: 30px;
	letter-spacing: 0.1em;
}

.public-lead .txt p {
	font-size: 16px;
	line-height: 1.95;
	letter-spacing: 0.1em;
}

.public-lead figure { width: 532px; min-width: 532px; }

/* .public-section1
------------------------------------*/
.public-section1 { margin-bottom: 180px; }
.public-section1 > figure { margin-bottom: 135px; }
.public-section1 > figure img { width: 100%; height: auto; -webkit-backface-visibility: hidden; image-rendering: -webkit-optimize-contrast; }

.public-section1 .inner {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	justify-content: space-between;
	width: 980px;
	margin: 0 auto 70px;
}

.public-section1 .inner:last-child { margin-bottom: 0; }
.public-section1 .inner figure { width: 432px; min-width: 432px; }
.public-section1 .inner .txt { box-sizing: border-box; width: 100%; padding: 8px 0 0 66px; }

.public-section1 .inner .txt h2 {
	margin-bottom: 30px;
	font-size: 23px;
	letter-spacing: 0.14em;
}

.public-section1 .inner .txt p {
	font-size: 16px;
	line-height: 1.95;
	letter-spacing: 0.1em;
}

/* .public-section2
------------------------------------*/
.public-section2 { width: 1140px; margin: 0 auto; }
.public-section2 > figure { display: -webkit-box; display: flex; justify-content: space-between; margin-bottom: 110px; }
.public-section2 .inner { display: -webkit-box; display: flex; justify-content: space-between; width: 980px; margin: 0 auto; }

.public-section2 .inner .txt h2 {
	margin-bottom: 32px;
	font-size: 24px;
	letter-spacing: 0.16em;
}

.public-section2 .inner .txt p {
	font-size: 16px;
	line-height: 2.05;
	letter-spacing: 0.1em;
}

.public-section2 .box {
	box-sizing: border-box;
	background-color: var(--color-bg-beige);
	width: 330px;
	margin-right: 20px;
	padding: 7px;
	transform: translateY(-24px);
}

.public-section2 .box > div {
	box-sizing: border-box;
	border: 1px solid #EBE1C2;
	padding: 40px 24px 36px 28px;
}

.public-section2 .box h3 {
	margin-bottom: 32px;
	font-size: 17px;
	letter-spacing: 0.12em;
	text-align: center;
}

.public-section2 .box h3 span { padding-bottom: 4px; }

.public-section2 .box li {
	position: relative;
	margin-bottom: 10px;
	padding-left: 30px;
	font-size: 16px;
	line-height: 1.78;
	letter-spacing: 0.12em;
}

.public-section2 .box li:last-of-type { margin-bottom: 0; }

.public-section2 .box li i {
	display: block;
	position: absolute;
	top: 1px;
	left: 0;
	font-family: var(--font-serif);
	font-size: 18px;
}


/* page question
---------------------------------------------------------------------------*/
#questionContents { position: relative; padding: 40px 15px 0 245px; }
#questionContents .title-page { position: absolute; top: 0; left: 0; }

/* .question-nav
------------------------------------*/
.question-nav {
	/*position: sticky;
	top: 22px;*/
	position: relative;
	top: 0;
	left: 0;
	background: #FFFFFF;
	margin: 0 0 70px -10px;
	z-index: 10;
}

.question-nav:before {
	display: block;
	content: '';
	position: absolute;
	top: -22px;
	left: 0;
	background-color: #FFFFFF;
	width: 100%;
	height: 82px;
}

.question-nav .btn-select,
#questionContents .btn-select.btm { display: none !important; }

.question-nav ul { display: -webkit-box; display: flex; }

.question-nav li a {
	display: block;
	padding: 10px;
	font-size: 16px;
	letter-spacing: 0.1em;
}

#questionContents .anchor-btm { display: none !important; }

/* .question-list
------------------------------------*/
.question-list { position: relative; }

.question-list .post {
	position: relative;
	margin-bottom: 82px;
	/*margin-top: -125px;
	padding-top: 125px;*/
	margin-top: -170px;
	padding-top: 170px;
}

.question-list .post:last-of-type { margin-bottom: 0; }

.question-list .post h2 {
	position: absolute;
	/*top: 131px;*/
	top: 176px;
	left: 0;
	font-size: 16px;
	letter-spacing: 0.04em;
}

.question-list dl { padding: 0 0 0 195px; }
.question-list dl > div { position: relative; border-bottom: 1px solid var(--color-border-gray); }
.question-list dl > div:first-of-type { border-top: 1px solid var(--color-border-gray); }

.question-list dt {
	position: relative;
	padding: 20px 60px 20px 45px;
	font-size: 16px;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.question-list dt b { display: block; position: absolute; top: 13px; left: 8px; }

.question-list dt i,
.job-list article i { position: absolute; top: 32px; right: 22px; width: 16px; height: 6px; }
.question-list dt i span,
.job-list article i span { display: block; transition: .15s ease-out; }
.question-list dt i .close,
.job-list article i .close { position: absolute; top: 0; left: 0; opacity: 0; }
.question-list dt i span img,
.job-list article i span img { display: block; }
.question-list dt.active i .close,
.job-list article .btn-ac.active i .close { opacity: 1; }
.question-list dt.active i .open,
.job-list article .btn-ac.active i .open { opacity: 0; }

.question-list dd { display: none; padding: 0 65px 20px 45px; }

.question-main { transform: translateY(-7px); }

.question-main p {
	margin-bottom: 15px;
	font-size: 15px;
	line-height: 1.8;
}

.question-link { margin-top: 18px; }
.question-link li { margin-right: 8px; }
.question-link li a { font-size: 14px; }


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

/* .contact-lead
------------------------------------*/
.contact-lead { margin-bottom: 90px; }
.contact-lead .tel { margin-top: 38px; }

.contact-lead .tel h2 {
	margin-bottom: 22px;
	font-size: 15px;
	letter-spacing: 0.1em;
}

.contact-lead .tel .num {
	display: inline-block;
	margin-right: 17px;
	font-family: var(--font-serif);
	font-size: 17px;
	line-height: 0.7;
	letter-spacing: 0.06em;
}

_::-webkit-full-page-media, _:future, :root .contact-lead .tel .num {
	margin-top: -6px;
	line-height: 1;
}

.contact-lead .tel .num:after { bottom: -2px; background-color: var(--color-border-gray); opacity: 0.8; }

.contact-lead .tel .num strong {
	padding-left: 12px;
	font-size: 28px;
	letter-spacing: 0.04em;
}

.contact-lead .tel dl { display: inline-block; }

.contact-lead .tel dl > div {
	display: inline-block;
	margin-right: 14px;
	font-size: 13px;
	letter-spacing: 0.08em;
}

.contact-lead .tel dt,
.contact-lead .tel dd { display: inline-block; }

.contact-lead .tel dt { margin-right: 4px; }

/* .form-wrap
------------------------------------*/
.form-wrap { margin-bottom: 60px; }
.form-wrap dl, .form-wrap dl p { line-height: 1.6; }
.form-wrap dl div { display: flex; margin-bottom: 24px; }
.form-wrap dl div:last-of-type { margin-bottom: 0; }

.form-wrap dt { box-sizing: border-box; width: 180px; padding-top: 10px; }
#contactContents .form-wrap .form-option dt { width: 160px; }

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

.form-wrap dt.pt { padding-top: 0; }

.form-wrap dt span {
	display: block;
	margin-top: -1px;
	font-size: 12px;
	letter-spacing: 0.1em;
}

.form-wrap dt i.br { display: block; }
.form-wrap dd { box-sizing: border-box; width: 470px; min-height: 46px; }
#contactContents .form-wrap .form-option dd { width: 505px; }

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

/* input
------------------------------------*/
.wpcf7-form-control-wrap { display: inline-block; position: relative; width: 100%; }
dd .select .wpcf7-form-control-wrap { width: 88px !important; }

.form-wrap input[type="text"],
.form-wrap input[type="email"],
.form-wrap input[type="tel"],
.form-wrap textarea,
.form-wrap .btn-select .customSelect {
	display: inline-block;
	box-sizing: border-box;
	background-color: #FFFFFF;
	border: 1px solid var(--color-border-gray-light);
	border-radius: 2px;
	width: 100%;
	height: 46px;
	padding: 2px 20px 0;
	font-family: '游明朝体', '游明朝', YuMincho, 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
	font-size: 16px;
	letter-spacing: 0.1em;
}

.form-wrap textarea { height: 280px; padding: 22px 20px; }
.form-wrap .middle input { width: 315px !important; }

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

/* .btn-select .customSelect
------------------------------------*/
.form-wrap .btn-select {
	display: inline-block;
	position: relative;
	overflow: hidden;
	transition: .15s ease-out;
}

.form-wrap btn-select span,
.form-wrap btn-select span:hover { cursor: pointer; opacity: 0.7; }

.form-wrap .btn-select select {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	cursor: pointer !important;
	width: 100% !important;
	height: 100% !important;
	z-index: 2;
	font-family: var(--font-gothic);
}

.form-wrap .btn-select .customSelect {
	display: block;
	position: relative;
	box-sizing: border-box;
	width: 100%;
	padding: 0;
	font-size: 16px;
	text-align: left;
	letter-spacing: 0.06em;
	cursor: pointer;
}

.form-wrap .btn-select .customSelect .customSelectInner {
	display: block;
	box-sizing: border-box;
	width: 100% !important;
	padding: 9px 18px 0 18px;
}

.form-wrap .btn-select .select .customSelect .customSelectInner {
	padding-right: 43px;
	padding-left: 0;
	text-align: center;
}

.form-wrap .btn-select .customSelect:after {
	display: block;
	content: '';
	position: absolute;
	top: 6px;
	right: 42px;
	background: var(--color-border-gray-light);
	width: 1px;
	height: 33px;
}

.form-wrap .btn-select .customSelect .customSelectInner:before,
.form-wrap .btn-select .customSelect .customSelectInner:after {
	display: block;
	content: '';
	position: absolute;
	top: 23px;
	background: var(--color-border-gray);
	width: 9px;
	height: 1px;
}

.form-wrap .btn-select .customSelect .customSelectInner:before { right: 13px; transform: rotate(-35deg); }
.form-wrap .btn-select .customSelect .customSelectInner:after { right: 20px; transform: rotate(35deg); }

/* .btn-select.multiple
------------------------------------*/
.btn-select.multiple { display: -webkit-box; display: flex; }
.btn-select.multiple p { text-align: left; }
.btn-select.multiple > div { margin: 0; }
.btn-select.multiple > div:not(:last-of-type) { margin-right: 22px; }

.btn-select.dd-family { white-space: nowrap; }
.btn-select.dd-family > div:not(:last-of-type) { margin-right: 18px; }

.btn-select.multiple > div b {
	display: inline-block;
	margin-right: 12px;
	font-size: 15px;
	letter-spacing: 0.1em;
}

.btn-select.dd-schedule > div b { margin-right: 6px; }
.btn-select.dd-family > div b { margin-right: 8px; }
.btn-select.multiple > div span + b { margin-right: 0 !important; margin-left: 6px !important; }

.btn-select.multiple > div b + span { width: 105px; }
.btn-select.dd-schedule > div b + span { width: 50px; }
.btn-select.dd-schedule > div b + span input {
	padding-right: 0;
	padding-left: 0;
	text-align: center;
}

/* .form-checkbox
------------------------------------*/
.form-checkbox dd { padding-top: 8px; padding-bottom: 8px; }
.wpcf7-checkbox .wpcf7-list-item { display: inline-block; margin: 2px 16px 4px 0; font-size: 15px; letter-spacing: 0.06em; cursor: pointer; }
.wpcf7-checkbox .wpcf7-list-item input { margin-right: 6px; transform: translateY(1px); }
_::-webkit-full-page-media, _:future, :root .wpcf7-checkbox .wpcf7-list-item input { transform: translateY(-1px); }
.wpcf7-list-item-label { cursor: pointer; }

@media screen and (orientation: portrait) and (max-width: 1240px) {
	_::-webkit-full-page-media, _:future, :root .wpcf7-checkbox .wpcf7-list-item input { transform: translateY(1px); }
}

/* .form-option
------------------------------------*/
.form-option { box-sizing: border-box; background-color: var(--color-bg-beige); width: 745px; margin: 90px 0 20px; padding: 60px 55px 60px 55px; }
#contactContents .form-option { width: 775px; }

.form-option > p { margin-bottom: 25px; }

.form-wrap .form-option input[type="text"],
.form-wrap .form-option input[type="email"],
.form-wrap .form-option input[type="tel"],
.form-wrap .form-option textarea,
.form-wrap .form-option .btn-select .customSelect { border-color: #D1CFC9; }

.form-wrap .btn-select .customSelect .customSelectInner:before,
.form-wrap .btn-select .customSelect .customSelectInner:after { background: #D1CFC9; }

/* .form-file
------------------------------------*/
.form-file dt {
	padding-top: 17px;
}

.form-file dd {
	padding-top: 17px;
	padding-bottom: 15px;
}

.form-file dd input {
	font-size: 14px;
	letter-spacing: 0.1em;
}

.form-file dd input[type="file"]::file-selector-button{
  margin-right: 12px !important;
}

/* .form-wrap dd.even
------------------------------------*/
.form-wrap dd.even { display: -webkit-box; display: flex; justify-content: space-between; }
.form-wrap dd.even > div { width: 48%; margin: 0; }
.form-wrap dd.even .btn-select { width: 100% !important; }

/* .privacy-check
------------------------------------*/
.privacy-check { margin-bottom: 50px; margin-left: 2px; }
.privacy-check .wpcf7-form-control-wrap { width: auto; margin-right: 12px; transform: translateY(2px); }
_::-webkit-full-page-media, _:future, :root .privacy-check .wpcf7-form-control-wrap { transform: translateY(-1px); }
.privacy-check a { padding-bottom: 2px; }

@media screen and (orientation: portrait) and (max-width: 1240px) {
	_::-webkit-full-page-media, _:future, :root .privacy-check .wpcf7-form-control-wrap { transform: translateY(1px); }
}

/* .form-attention
------------------------------------*/
.form-attention p { margin-bottom: 10px; }

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

.btn-submit input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: block;
	background: var(--color-gray);
	box-sizing: border-box;
	border: none;
	border-radius: 2px;
	width: 415px;
	margin: 0;
	padding: 19px 0 20px;
	color: #FFFFFF;
	font-size: 16px;
	line-height: 1;
	letter-spacing: 0.14em;
	text-align: center;
	white-space: nowrap;
	transition: .15s ease-out;
}

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

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

.form-wrap .txt-error,
.wpcf7-not-valid-tip {
	margin: 10px 0 0;
	padding: 0;
	color: var(--color-gold);
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

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

.txt-response,
.wpcf7-response-output {
	margin: 30px 0 0;
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.wpcf7-response-output:first-child { margin: -120px 0 35px; padding-top: 140px; }
.wpcf7-response-output:empty { margin: 0 !important; padding-top: 0 !important; }

.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.blog-form .grecaptcha-badge,
body.contact .grecaptcha-badge { pointer-events: auto; z-index: 0; opacity: 1; }

/* .blog-form-wrap
------------------------------------*/
.blog-form-wrap {
	background-color: var(--color-bg-beige);
	margin: 90px -60px 0;
	padding: 70px 60px 70px;
}

.blog-form-wrap > h2 {
	margin-bottom: 45px;
	font-size: 20px;
	letter-spacing: 0.08em;
}

.blog-form-wrap .form-option { width: 100%; margin: 0; padding: 0; }
.blog-form-wrap .form-wrap { margin-bottom: 0; }

.blog-form-wrap .form-wrap dd,
.blog-form-wrap .btn-submit,
.blog-form-wrap .btn-submit input { width: 500px; }

.blog-form-wrap .privacy-check { margin: 10px 0 30px; }

.blog-form-wrap .privacy-check,
.blog-form-wrap .form-attention,
.blog-form-wrap .btn-submit { margin-left: 180px; }

.blog-form-wrap .form-attention p { letter-spacing: 0.06em; text-align: justify; }
.blog-form-wrap .form-attention p br { display: none !important; }

.blog-form-wrap .btn-submit + .wpcf7-response-output { margin: 45px 0 -10px 180px; }


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

/* .privacy-lead
------------------------------------*/
.privacy-lead { margin: 0 0 105px 50px; }

/* .privacy-detail
------------------------------------*/
.privacy-detail { display: -webkit-box; display: flex; }

.privacy-detail dl > div { margin-bottom: 60px; }
.privacy-detail dl > div.mb { margin-bottom: 100px; }
.privacy-detail dl > div:last-of-type { margin-bottom: 0; }

.privacy-detail dt {
	margin-bottom: 40px;
	font-size: 18px;
	letter-spacing: 0.1em;
}

.privacy-detail dd { padding: 0 0 0 50px; }
.privacy-detail dd p.mb { margin-bottom: 30px; }

.privacy-detail dd address {
	margin-top: 60px;
	font-size: 16px;
	line-height: 1.95;
	letter-spacing: 0.08em;
}

.privacy-detail dd address strong {
	display: block;
	margin-bottom: 10px;
}

.privacy-detail dd .inner { position: relative; margin-bottom: 35px; padding-left: 55px; }
.privacy-detail dd .inner:last-of-type { margin-bottom: 0; }

.privacy-detail dd .inner > i {
	display: block;
	position: absolute;
	top: 8px;
	left: 0;
	font-size: 16px;
	letter-spacing: 0.1em;
}

.privacy-detail dd .inner-s { margin: 28px 0 28px; padding-left: 40px; }

.privacy-detail dd .inner-s h3 {
	margin: 0 0 14px -1px;
	font-size: 13px;
	letter-spacing: 0.1em;
}

.privacy-detail dd .inner-s li,
.privacy-detail dd .inner-s li:before {
	font-size: 16px;
}


/* related
---------------------------------------------------------------------------*/

/* .related-case
------------------------------------*/
.related-case { margin: 140px auto 0; }
.related-case > h2 { margin-bottom: 32px; font-size: 18px; letter-spacing: 0.06em; }

/* .related-question
------------------------------------*/
.related-question { width: 1140px; margin: 120px auto 0; }
.related-question > h2 { margin-bottom: 50px; }
.related-question .question-list dl { padding-left: 0; }
.related-question .question-list dt,
.related-question .question-list dd { padding-left: 52px; }


/* page owner-list
---------------------------------------------------------------------------*/

/* .blog-list-owner
------------------------------------*/
.blog-list-owner { padding-left: 22px; padding-top: 5px; }
.blog-list-owner li { margin-bottom: 5px; }

.blog-list-owner li a {
	display: inline-block;
	background: url(img/share/ico-arrow-right-s.svg) no-repeat left 0 top 9px;
	padding: 5px 20px 15px 13px;
	font-size: 16px;
	letter-spacing: 0.1em;
}

.blog-list-owner li a em { padding-left: 7px; font-size: 14px; letter-spacing: 0.07em; }

#owner-listContents .error-txt { padding: 200px 0 100px; text-align: center; }
#owner-listContents .error-txt p { line-height: 2.1; letter-spacing: 0.1em; }


/* page error
---------------------------------------------------------------------------*/
#errorContents .title-page { margin-left: 0; }
.error-txt p { font-size: 16px; }


/* page recruit
---------------------------------------------------------------------------*/
body.recruit #wrap {
	overflow: hidden;
}

body.recruit .header-nav {
	position: absolute;
	margin-left: 0 !important;
}

body.recruit .header-nav.active {
	position: fixed !important;
}

body.recruit .header-inner {
	padding-bottom: 0;
}

body.recruit .header-nav.fix .sns {
	pointer-events: all !important;
	opacity: 1 !important;
}

#recruitContents {
	position: relative;
	overflow: hidden;
}

#recruitContents > section {
	margin-top: -80px;
	padding-top: 80px;
}

#recruitContents .contents-s {
	opacity: 0;
}

/* .recruit-link
------------------------------------*/
header .recruit-link {
	position: fixed;
	top: 104px;
	right: 232px;
	z-index: 1000;
}

footer .recruit-link {
	position: absolute;
	bottom: 4px;
	right: 168px;
}

.recruit-link,
.recruit-link * {
	line-height: 1;
}

.recruit-link a {
	display: inline-block;
	border-bottom: 1px solid var(--color-gold);
	padding: 10px 0 6px 2px;
	white-space: nowrap;
}

.recruit-link em {
	padding-right: 12px;
	color: var(--color-gold);
	font-family: var(--font-sans);
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.1em;
}

.recruit-link strong {
	font-family: var(--font-min-m);
	font-size: 14px;
	letter-spacing: 0.12em;
}

body.recruit .recruit-link {
	display: none !important;
}

.header-nav.active + .bg-gnav + .recruit-link a,
.header-nav.active + .bg-gnav + .recruit-link em {
	border-bottom: none;
	color: #C9BDAD;
}

/* .bnr-recruit
------------------------------------*/
.bnr-recruit {
	width: 1174px;
	margin: 140px auto 0;
}

/* .btn-recruit-fix
------------------------------------*/
.btn-recruit-fix {
	display: none;
	position: fixed;
	top: 37px;
	right: 37px;
	background: var(--color-gold);
	border-radius: 100px;
	z-index: 100;
	opacity: 0;
}

.btn-recruit-fix.absolute {
	position: absolute;
}

.btn-recruit-fix a {
	display: inline-block;
	border-radius: 100px;
	padding: 15px 25px 15px 30px;
	color: #FFFFFF;
	font-size: 17px;
	letter-spacing: 0.12em;
	text-align: center;
	white-space: nowrap;
}

.btn-recruit-fix a:hover {
	background-color: #D0B770;
}

.btn-recruit-fix a span {
	font-size: 14px;
}

/* .recruit-main
------------------------------------*/
.recruit-main {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	/*max-width: 1440px;*/
	max-width: 1700px;
	margin: 0 auto 180px;
	padding: 60px 0 5px 5.6%;
}

.recruit-main-wrap {
	opacity: 0;
}

.recruit-main-slide .slick-list,
.recruit-main-slide .slick-track,
.recruit-staff-slide .slick-list,
.recruit-staff-slide .slick-track {
	width: 100% !important;
}

.recruit-main-slide figure:not(:first-of-type),
.recruit-staff-slide figure:not(:first-of-type) {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
}

.recruit-main-slide1 {
	width: 51.6%;
}

.recruit-main-slide2 {
	position: absolute !important;
	top: 178px;
	right: 6.9%;
	width: 29.8%;
}

.recruit-main-slide3 {
	position: absolute !important;
	top: -14px;
	left: 32.6%;
	width: 14.3%;
}

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

.recruit-main .logo {
	position: absolute;
	bottom: -10px;
	right: 9%;
}

.recruit-main .logo address {
	display: block;
	margin: 22px 0 0;
	font-family: var(--font-sans);
	font-weight: 400;
	font-size: 10px;
	line-height: 2.2;
	letter-spacing: 0.12em;
	transform-origin: left top;
	transform: scale(0.9);
}

.recruit-main .txt {
	position: relative;
	margin: 6.8% 0 0 1.6%;
}

.recruit-main .txt-s {
	opacity: 0;
}

.recruit-main .txt .title {
	margin: 0 0 21px;
}

.recruit-main .txt .title h1 {
	display: inline;
	padding-right: 12px;
	font-size: 15px;
	letter-spacing: 0.1em;
}

.recruit-main .txt .title em {
	display: inline;
	letter-spacing: 0.12em;
}

.recruit-main .txt h2 {
	margin: 0 0 22px -2px;
	font-family: var(--font-min-r);
	font-size: 29px;
	line-height: 1.7;
	letter-spacing: 0.18em;
}

.recruit-main .txt p {
	font-size: 17px;
	line-height: 2.2;
	letter-spacing: 0.09em;
}

.recruit-main .txt nav {
	margin: 50px 0 0 -18px;
}

.recruit-main .txt nav ul {
	display: flex;
}

.recruit-main .txt nav li {
	position: relative;
}

.recruit-main .txt nav li:not(:last-of-type):after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	background-color: var(--color-text);
	width: 1px;
	height: 100%;
	opacity: 0.5;
}

.recruit-main .txt nav li a {
	display: inline-block;
	background: url(img/share/ico-arrow-down2.svg) no-repeat left 20px top 6px;
	padding: 2px 20px 2px 37px;
	font-size: 16px;
	letter-spacing: 0.08em;
}

/* .recruit-work
------------------------------------*/
.recruit-work {
	overflow: hidden;
	box-sizing: border-box;
	width: 100%;
	max-width: 1440px;
	margin: -80px auto 185px;
	padding-top: 80px;
}

.recruit-work .sec-inner {
	position: relative;
	padding: 0 0 40px 17.4%;
}

.recruit-work figure img {
	display: block;
	position: absolute;
	opacity: 0;
}

.recruit-work .img1 { top: 10px; left: 56.9%; }
.recruit-work .img2 { top: 222px; left: 0%; }
.recruit-work .img3 { top: 325px; left: 66.9%; }

.recruit-work h2 {
	position: absolute;
	top: 0;
	left: 8%;
	transform-origin: left top;
	transform: rotate(90deg) !important;
	margin: 0;
	opacity: 0;
}

.recruit-work .txt {
	opacity: 0;
}

.recruit-work h3 {
	margin: 0 0 36px -2px;
	font-size: 29px;
	line-height: 1.8;
	letter-spacing: 0.14em;
	transform: translateY(-6px);
}

.recruit-work p {
	margin-bottom: 20px;
	font-size: 16px;
	line-height: 2.4;
}

/* .recruit-staff
------------------------------------*/
.recruit-staff {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	max-width: 1440px;
	margin: 0 auto 210px;
	padding: 0 4.4%;
}

.recruit-staff-slide {
	position: absolute !important;
	opacity: 0;
}

.recruit-staff-slide1 { position: relative !important; width: 20%; }
.recruit-staff-slide2 { top: -16%; left: 28.5%; width: 11.5%; }
.recruit-staff-slide3 { top: 77%; left: 38%; width: 7.8%; }
.recruit-staff-slide4 { top: 13%; left: 51.5%; width: 15%; }
.recruit-staff-slide5 { top: -2%; left: 72.2%; width: 7.8%; }
.recruit-staff-slide6 { top: 61%; left: 81.5%; width: 14%; }

.recruit-staff-slide img {
	width: 100%;
}

/* .recruit-point
------------------------------------*/
.recruit-point .about-point {
	margin-bottom: 190px;
}

/* .recruit-comm
------------------------------------*/
.recruit-comm {
	position: relative;
	box-sizing: border-box;
	width: 1090px;
	margin: 0 auto 315px;
	padding: 0 0 0 5px;
}

.recruit-comm .sec-inner {
	position: relative;
}

.recruit-comm figure img {
	display: block;
	position: absolute;
}

.recruit-comm .img1 { top: 0; right: 87px; }
.recruit-comm .img2 { top: 350px; right: 316px; }
.recruit-comm .img3 { bottom: -155px; right: -35px; }

.recruit-comm .title-set {
	margin-bottom: 40px;
}

.recruit-comm .title-set h2 {
	margin: -2px 0 42px -2px;
}

.recruit-comm h4 {
	margin-top: 56px;
	color: var(--color-gold);
	font-size: 24px;
	letter-spacing: 0.1em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.4em;
}

.recruit-comm p {
	margin-bottom: 19px;
	font-size: 17px;
	line-height: 2.1;
}

/* .recruit-welfare
------------------------------------*/
.recruit-welfare {
	width: 1240px;
	margin: -160px auto 180px;
	padding-top: 160px;
}

.recruit-welfare .sec-inner {
	position: relative;
	background: url(img/recruit/bg-pattern@2x.jpg) repeat left top / 150px 150px;
	padding: 30px 0 115px 115px;
}

.recruit-welfare .sec-inner:before {
	display: block;
	content: '';
	position: absolute;
	top: -146px;
	left: 0;
	background: url(img/recruit/bg-pattern-head@2x.png) no-repeat left top / 100% 100%;
	width: 100%;
	height: 146px;
}

.recruit-welfare .title-en {
	color: var(--color-brown);
}

.recruit-welfare h3 {
	margin: 0 0 20px -4px;
	color: var(--color-brown);
	font-family: var(--font-min-m);
	font-size: 28px;
	letter-spacing: 0.14em;
}

.recruit-welfare .sec-inner > p {
	font-size: 17px;
	letter-spacing: 0.12em;
}

.recruit-welfare figure img {
	display: block;
	position: absolute;
}

.recruit-welfare .img1 { top: 90px; right: 88px; }
.recruit-welfare .img2 { top: 425px; right: 115px; }
.recruit-welfare .img3 { top: 790px; right: 97px; }

.recruit-welfare .list {
	margin: 70px 0 0 0;
}

.recruit-welfare .list .inner {
	position: relative;
	padding: 5px 0 0 105px;
}

.recruit-welfare .list .inner:not(:last-child) {
	margin-bottom: 53px;
}

.recruit-welfare .list .num {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}

.recruit-welfare .list h4 {
	margin-bottom: 14px;
	font-family: var(--font-min-r);
	font-size: 22px;
	line-height: 1.8;
	letter-spacing: 0.14em;
}

.recruit-welfare .list p {
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.1em;
	opacity: 0.9;
}

/* .recruit-job, .recruit-entry
------------------------------------*/
.recruit-job,
.recruit-entry {
	width: 1100px;
	margin: 0 auto;
}

.recruit-job .sec-inner,
.recruit-entry .sec-inner {
	display: flex;
}

.recruit-job .title-set,
.recruit-entry .title-set {
	width: 275px;
	min-width: 275px;
}

.recruit-job .title-en,
.recruit-entry .title-en {
	letter-spacing: 0.1em;
}

.recruit-job .title-jp,
.recruit-entry .title-jp {
	font-family: var(--font-min-m);
	letter-spacing: 0.08em;
}

.recruit-entry .title-jp {
	font-size: 27px;
	letter-spacing: 0.06em;
}

.recruit-job .sec-inner-s,
.recruit-entry .sec-inner-s {
	box-sizing: border-box;
	width: calc(100% - 275px);
}

/* .recruit-job
------------------------------------*/
.recruit-job {
	margin-bottom: 160px;
	margin-top: -125px;
	padding-top: 125px;
}

.recruit-job .not-entry {
	margin: 34px 0 0;
}

.recruit-job .not-entry p {
	font-size: 17px;
	line-height: 2.15;
}

.recruit-job .not-entry p a {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

.recruit-job .job-list article {
	position: relative;
	box-sizing: border-box;
	border-top: 1px solid var(--color-border-gray);
}

.recruit-job .job-list-single article {
	border-top: none !important;
}

.recruit-job .job-list button {
	box-sizing: border-box;
	width: 100%;
	padding: 34px 40px 36px 13px;
	font-size: 19px;
	letter-spacing: 0.04em;
	text-align: left;
	z-index: 0;
	transition: .15s ease-out;
}

.recruit-job .job-list-single button {
	padding: 38px 50px 20px 48px;
	font-size: 21px;
	cursor: default !important;
	pointer-events: none !important;
	opacity: 1 !important;
}

.recruit-job .job-list button:hover {
	opacity: 0.6;
}

.recruit-job .job-list button h4 {
	line-height: 1.5;
}

.recruit-job .job-list article i {
	top: 45px;
	right: 10px;
}

.recruit-job .job-list-single article i {
	display: none !important;
}

.recruit-job .job-list .detail {
	display: none;
	position: relative;
	padding: 0 0 60px;
	margin: 0 50px 0 50px;
	z-index: 1;
}

.recruit-job .job-list-single .detail {
	display: block !important;
}

.recruit-job .job-list .detail > p:first-child {
	padding-top: 5px;
}

.recruit-job .job-list p,
.recruit-job .job-list dl {
	font-size: 15px;
	line-height: 1.85;
	letter-spacing: 0.08em;
}

.recruit-job .job-list p {
	margin-bottom: 12px;
}

.recruit-job .job-list p a {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

.recruit-job .job-list dl:first-of-type:not(:first-child) {
	margin-top: 45px;
}

.recruit-job .job-list-single dl:first-of-type:not(:first-child) {
	margin-top: 50px;
}

.recruit-job .job-list dl {
	display: flex;
	border-top: 1px solid var(--color-border-gray);
	padding: 20px 6px;
}

.recruit-job .job-list dt {
	width: 115px;
	min-width: 115px;
}

/* .recruit-entry
------------------------------------*/
.recruit-entry {
	margin-top: -60px;
	padding-top: 60px;
}

.recruit-entry .sec-inner-s {
	background-color: var(--color-bg-beige);
	padding: 85px 90px 90px;
}

.recruit-entry .sec-inner-s h4 {
	margin-bottom: 16px;
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.1em;
}

.recruit-entry .sec-inner-s > p {
	font-size: 13px;
	line-height: 2.1;
	letter-spacing: 0.1em;
}

.recruit-entry .form-wrap {
	margin-top: 40px;
	margin-bottom: 0;
}

.recruit-entry .form-checkbox dd {
	padding-top: 7px;
}

.recruit-entry .wpcf7-checkbox .wpcf7-list-item {
	margin-right: 20px;
}

.recruit-entry .privacy-check,
.recruit-entry .btn-submit,
.recruit-entry .wpcf7-response-output {
	width: calc(100% - 180px);
	margin-left: 180px;
}

.recruit-entry .privacy-check {
	margin-top: 15px;
	margin-bottom: 20px;
}

.recruit-entry .btn-submit input {
	background: var(--color-gold);
	width: 100%;
}

.recruit-entry .wpcf7-response-output {
	margin-top: 25px;
	color: var(--color-gold);
	font-size: 15px;
	letter-spacing: 0.06em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.25em;
}

.recruit-entry .wpcf7-response-output:first-child {
	margin-left: 0;
	padding-top: 30px;
}