/* Slider */
.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}
@charset "utf-8";
/*------------------------------------------------------------
Theme Name: kimata
Theme URI: null
Description: Description
Version: 1.0
------------------------------------------------------------*/
.aligncenter {
	display: block;
	margin: 0 auto;
}
.alignright {
	float: right;
}
.alignleft {
	float: left;
}
img[class*="wp-image-"],
img[class*="attachment-"] {
	height: auto;
	max-width: 100%;
}
.wp-block-image figure,
.wp-block-image figcaption {
	display: block;
}
a.nolink,
a.nolink:hover {
	opacity: 1;
	cursor: default;
	pointer-events: none;
}
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, figcaption, figure, section, footer, header, main, hgroup, menu, nav, summary {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 1em;
	box-sizing: border-box;
}
html {
	font-size: 62.5%;
}
@media all and (min-width: 768px) and (max-width: 896px) {
	html {
		font-size: calc(1000vw / 768);
	}
}
@media all and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
	html {
		font-size: calc(1000vw / 768);
	}
}
@media all and (max-width: 374px) {
	html {
		font-size: calc(1000vw / 375);
	}
}
body, table, input, textarea, select, option {
	font-family: "Shippori Mincho B1", serif;
	font-weight: 500;
}
article, aside, canvas, details, figcaption, figure, footer, header, main, hgroup, menu, nav, section, summary {
	display: block;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
chrome_annotation {
	border: none !important;
}
:focus {
	outline: 0;
}
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}
img {
	vertical-align: top;
	max-width: 100%;
	height: auto;
}
address {
	font-style: normal;
}
a,
a:link {
	color: inherit;
	text-decoration: none;
	transition: 0.5s;
}
a:visited {
	color: inherit;
}
a:hover {
	color: inherit;
}
a:active {
	color: inherit;
}
/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	min-width: 1280px;
	color: #000;
	font-size: 1.4rem;
	line-height: 1.5;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: #EFEDE7;
}
body.fixed {
	overflow: hidden;
	touch-action: none;
	overscroll-behavior: none;
}
#container {
	position: relative;
	text-align: left;
	overflow: clip;
}
a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}
@media all and (min-width: 897px) and (orientation: landscape) {
	.sp {
		display: none !important;
	}
}
@media all and (max-width: 896px), (orientation: portrait) {
	body {
		min-width: inherit;
	}
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
	a:hover,
	a:hover img {
		opacity: 1 !important;
	}
	.pc {
		display: none !important;
	}
}
/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#gHeader .hBox {
	width: 4.2rem;
	position: fixed;
	display: flex;
	flex-direction: column;
	right: 2.9rem;
	top: 6.5rem;
	z-index: 1100;
}
#gHeader .logo {
	margin-bottom: 4.3rem;
}
#gHeader .logo a {
	display: block;
	transition: none;
}
#gHeader .hCta {
	margin: 0 auto;
	width: 3.6rem;
}
#gHeader .hCta a {
	display: block;
	position: relative;
	transition: opacity 0.5s;
}
#gHeader .hCta a img {
	visibility: hidden;
}
#gHeader .hCta a::before {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: url(img/common/icon07.png) no-repeat left top / 100%;
	content: '';
	opacity: 0;
	transition: opacity 0.5s;
	z-index: 1;
}
#gHeader .hCta a::after {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: url(img/common/icon06.png) no-repeat left top / 100%;
	content: '';
	opacity: 1;
	transition: opacity 0.5s;
	z-index: 1;
}
.menu {
	margin-bottom: 3.6rem;
	width: 4.2rem;
	height: 8.4rem;
	color: #fff;
	cursor: pointer;
	position: relative;
	transition: opacity 0.5s;
}
.menu::before,
.menu::after {
	margin-left: 0.1rem;
	position: absolute;
	bottom: 0;
	left: 50%;
	font-weight: 400;
	letter-spacing: 0.12em;
	white-space: nowrap;
	transform: translateX(-50%);
	content: 'MENU';
	transition: 0.5s;
}
.menu::after {
	opacity: 0;
	content: 'CLOSE';
}
.menu span {
	width: 0.2rem;
	height: 6rem;
	position: absolute;
	top: 0;
	left: 1.4rem;
	background: #fff;
	transition: 0.5s;
}
.menu span:nth-child(2) {
	left: 2.7rem;
}
.menu.on::before {
	opacity: 0;
	transition-delay: 0.25s;
}
.menu.on::after {
	opacity: 1;
	transition-delay: 0.25s;
}
.menu.on span:nth-child(1) {
	animation: openline01 0.5s forwards;
}
.menu.on span:nth-child(2) {
	animation: openline02 0.5s forwards;
}
.menu.close::before {
	opacity: 1;
	transition-delay: 0.25s;
}
.menu.close::after {
	opacity: 0;
	transition-delay: 0.25s;
}
.menu.close span:nth-child(1) {
	animation: closeline01 0.5s forwards;
}
.menu.close span:nth-child(2) {
	animation: closeline02 0.5s forwards;
}
@keyframes openline01 {
	0% {
		left: 1.4rem;
		transform: rotate(0);
	}
	50% {
		left: 50%;
		transform: rotate(0);
	}
	100% {
		left: 50%;
		transform: rotate(20deg);
	}
}
@keyframes openline02 {
	0% {
		left: 2.7rem;
		transform: rotate(0);
	}
	50% {
		left: 50%;
		transform: rotate(0);
	}
	100% {
		left: 50%;
		transform: rotate(-20deg);
	}
}
@keyframes closeline01 {
	0% {
		left: 50%;
		transform: rotate(20deg);
	}
	50% {
		left: 50%;
		transform: rotate(0);
	}
	100% {
		left: 1.4rem;
		transform: rotate(0);
	}
}
@keyframes closeline02 {
	0% {
		left: 50%;
		transform: rotate(-20deg);
	}
	50% {
		left: 50%;
		transform: rotate(0);
	}
	100% {
		left: 2.7rem;
		transform: rotate(0);
	}
}
.menuBox {
	width: 100%;
	height: 100%;
	position: fixed;
	left: 0;
	top: 0;
	color: #fff;
	background: #000;
	overflow-y: auto;
	z-index: 1000;
	opacity: 0;
	transition: 1s;
	pointer-events: none;
}
.menuBox.on {
	opacity: 1;
	pointer-events: all;
}
.menuBox .menuWrap {
	width: 100%;
	min-height: 100%;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	background: url(img/common/menu_bg.jpg) no-repeat center center / cover;
}
#gNavi {
	padding: 20rem 3.9rem 22.5rem;
	width: 144rem;
	max-width: 100%;
	display: flex;
	justify-content: flex-end;
	flex-direction: column;
	white-space: nowrap;
	writing-mode: vertical-rl;
	text-orientation: upright;
	flex-shrink: 0;
}
#gNavi .naviList {
	margin-left: 21.3rem;
	display: flex;
	flex-direction: column;
	gap: 4.7rem;
	font-weight: 600;
}
#gNavi .naviList > li {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	align-content: flex-start;
}
#gNavi .naviList > li > a {
	padding: 1.3rem 0.8rem 0.5rem;
	position: relative;
	font-size: 2.4rem;
	letter-spacing: 0.4em;
	border-right: 1px solid #fff;
}
#gNavi .naviList > li:first-child > a {
	letter-spacing: 0.3em;
}
#gNavi .naviList > li > a + a {
	margin-right: 4.8rem;
}
#gNavi .naviList > li .subList {
	margin: 4.2rem 1rem 0 0;
}
#gNavi .naviList > li .subList li {
	display: flex;
	line-height: 2;
}
#gNavi .naviList > li .subList li a {
	padding-top: 1.6rem;
	position: relative;
	font-size: 1.7rem;
	letter-spacing: 0.4em;
}
#gNavi .naviList > li .subList li a::before {
	width: 1px;
	height: 0.8rem;
	position: absolute;
	left: 50%;
	top: 0;
	background: #E8B800;
	content: '';
}
#gNavi .hLogo {
	margin-left: 2.8rem;
	width: 3.3rem;
}
#gNavi .hInfo {
	margin-top: 7.2rem;
	display: flex;
	gap: 2.3rem;
}
#gNavi .hTxtList li {
	margin-left: 0.5rem;
	padding-top: 5.3em;
	text-indent: -5.3em;
	line-height: 1.45;
}
#gNavi .hTxtList li:last-child {
	margin-left: 0;
}
#gNavi .hTxtList li .txt01 {
	margin-bottom: 0.3em;
}
#gNavi .hTxtList li .line {
	text-orientation: initial;
}
#gNavi .hTxtList li .hor {
	padding: 0;
	text-indent: 0;
	display: inline-block;
	writing-mode: horizontal-tb;
}
#gNavi .hSnsList {
	margin-left: 0.6rem;
	display: flex;
	flex-direction: column-reverse;
	justify-content: center;
	gap: 1.2rem;
}
#gNavi .hSnsList li {
	width: 5.5rem;
}
#gNavi .hSnsList li a {
	width: 100%;
	display: block;
	position: relative;
}
#gNavi .hSnsList li img {
	width: 100%;
	transition: 0.5s;
}
#gNavi .hSnsList li .over {
	position: absolute;
	left: 0;
	top: 0;
	opacity: 0;
}
@media all and (min-width: 897px) and (orientation: landscape) {
	#gHeader .hCta a:hover {
		opacity: 0.7;
	}
	.menu:hover {
		opacity: 0.7;
	}
	#gHeader.black .hCta a::after {
		opacity: 0;
	}
	#gHeader.black .hCta a::before {
		opacity: 1;
	}
	#gHeader.black .menu:not(.on) {
		color: #000;
	}
	#gHeader.black .menu:not(.on) span {
		background-color: #000;
	}
	#gNavi .naviList > li > a::before {
		width: 1px;
		height: 100%;
		position: absolute;
		right: -1px;
		top: 0;
		background: #DBB72B;
		transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
		transform: scale(1, 0);
		transform-origin: left bottom;
		z-index: 1;
		content: '';
	}
	#gNavi .naviList > li > a:hover {
		color: #DBB72B;
	}
	#gNavi .naviList > li > a:hover::before {
		transform-origin: left top;
		transform: scale(1, 1);
	}
	#gNavi .naviList > li .subList li a:hover {
		color: #DBB72B;
	}
	#gNavi .hSnsList li a:hover .nor {
		opacity: 0;
	}
	#gNavi .hSnsList li a:hover .over {
		opacity: 1;
	}
}
@media all and (min-width: 897px) and (max-width: 1360px) and (orientation: landscape) {
	#gNavi {
		padding-left: 2.866vw;
		padding-right: 2.866vw;
		font-size: 1.029vw;
	}
	#gNavi .naviList {
		margin-left: 15.65vw;
		gap: 3.453vw;
	}
	#gNavi .naviList > li > a {
		padding: 0.955vw 0.588vw 0.367vw;
		font-size: 1.763vw;
	}
	#gNavi .naviList > li > a + a {
		margin-right: 3.527vw;
	}
	#gNavi .naviList > li .subList {
		margin: 3.086vw 0.735vw 0 0;
	}
	#gNavi .naviList > li .subList li a {
		padding-top: 1.176vw;
		font-size: 1.249vw;
	}
	#gNavi .hLogo {
		margin-left: 2.057vw;
		width: 2.425vw;
	}
	#gNavi .hInfo {
		margin-top: 5.29vw;
		gap: 1.69vw;
	}
	#gNavi .hTxtList li {
		margin-left: 0.367vw;
	}
	#gNavi .hTxtList li:last-child {
		margin-left: 0;
	}
	#gNavi .hSnsList {
		margin-left: 0.441vw;
		gap: 0.882vw;
	}
	#gNavi .hSnsList li {
		width: 4.041vw;
	}
}
@keyframes openline01-sp {
	0% {
		left: 1.9rem;
		transform: rotate(0);
	}
	50% {
		left: 50%;
		transform: rotate(0);
	}
	100% {
		left: 50%;
		transform: rotate(20deg);
	}
}
@keyframes openline02-sp {
	0% {
		left: 2.6rem;
		transform: rotate(0);
	}
	50% {
		left: 50%;
		transform: rotate(0);
	}
	100% {
		left: 50%;
		transform: rotate(-20deg);
	}
}
@keyframes closeline01-sp {
	0% {
		left: 50%;
		transform: rotate(20deg);
	}
	50% {
		left: 50%;
		transform: rotate(0);
	}
	100% {
		left: 1.9rem;
		transform: rotate(0);
	}
}
@keyframes closeline02-sp {
	0% {
		left: 50%;
		transform: rotate(-20deg);
	}
	50% {
		left: 50%;
		transform: rotate(0);
	}
	100% {
		left: 2.6rem;
		transform: rotate(0);
	}
}
@media all and (max-width: 896px), (orientation: portrait) {
	#gHeader {
		height: 6.4rem;
		background: #000;
	}
	#gHeader .hBox {
		padding: 1.2rem 1rem 1rem 2.2rem;
		width: 100%;
		justify-content: space-between;
		flex-direction: row;
		align-items: center;
		position: fixed;
		right: 0;
		top: 0;
		transition: transform 0.5s;
		background: rgba(0, 0, 0, 0.8);
	}
	#gHeader.active .hBox {
		transform: translateY(-100%);
	}
	#gHeader .logo {
		margin-bottom: 0.2rem;
		width: 13.3rem;
		display: flex;
	}
	#gHeader .logo a {
		min-width: 3.3rem;
		height: 3.2rem;
		position: relative;
	}
	#gHeader .logo img {
		transition: 0.5s;
	}
	#gHeader .logo .img01 {
		width: auto;
		height: 3.3rem;
		position: absolute;
		left: -0.1rem;
		top: -0.1rem;
		z-index: 1;
		opacity: 0;
	}
	#gHeader .hCta {
		margin: 0 1.7rem 0 auto;
		width: 2.86rem;
		right: 7rem;
		top: 2.2rem;
	}
	.menu {
		margin: 0;
		width: 4.6rem;
		height: 4.2rem;
		order: 1;
	}
	.menu::before,
	.menu::after {
		margin-left: 0.1rem;
		font-size: 0.9rem;
	}
	.menu span {
		height: 2.9rem;
		left: 1.9rem;
	}
	.menu span:nth-child(2) {
		left: 2.6rem;
	}
	.menu.on span:nth-child(1) {
		animation: openline01-sp 0.5s forwards;
	}
	.menu.on span:nth-child(2) {
		animation: openline02-sp 0.5s forwards;
	}
	.menu::after {
		margin-left: 0.1rem;
	}
	.menu.close span:nth-child(1) {
		animation: closeline01-sp 0.5s forwards;
	}
	.menu.close span:nth-child(2) {
		animation: closeline02-sp 0.5s forwards;
	}
	.menuBox .menuWrap {
		display: block;
		background-image: url(img/common/menu_bg_sp.jpg);
	}
	#gNavi {
		padding: 9.3rem 2.1rem 4.6rem;
		width: auto;
		max-width: initial;
		display: block;
		white-space: initial;
		writing-mode: horizontal-tb;
		text-orientation: initial;
	}
	#gNavi .naviList {
		margin: 0 -0.5rem 5.6rem 0;
		flex-wrap: wrap;
		justify-content: space-between;
		flex-direction: row;
		gap: 5.1rem 0;
		font-weight: 500;
	}
	#gNavi .naviList > li {
		width: 45.4%;
		display: flex;
		flex-direction: column;
		gap: 3.6rem 0;
	}
	#gNavi .naviList > li > a {
		padding: 0 0.3rem 0.3rem;
		font-size: 1.6rem;
		letter-spacing: 0;
		border-right: none;
		border-bottom: 1px solid #fff;
	}
	#gNavi .naviList > li:first-child > a {
		letter-spacing: 0.02em;
	}
	#gNavi .naviList > li > a + a {
		margin: 0;
	}
	#gNavi .naviList > li .subList {
		margin: 0;
	}
	#gNavi .naviList > li .subList li {
		margin: 0 -15% 3rem 0;
		line-height: 1.55;
	}
	#gNavi .naviList > li .subList li:last-child {
		margin-bottom: 0;
	}
	#gNavi .naviList > li .subList li a {
		padding: 0 0 0 2.5rem;
		font-size: 1.3rem;
		letter-spacing: 0;
	}
	#gNavi .naviList > li .subList li a::before {
		width: 0.9rem;
		height: 1px;
		left: 1.1rem;
		top: 1rem;
	}
	#gNavi .hLogo {
		margin: 0 auto 3.1rem;
		width: 17rem;
	}
	#gNavi .hInfo {
		margin: 0 auto;
		display: block;
		gap: 2.3rem 0;
	}
	#gNavi .hTxtList {
		margin: 0 auto 2.6rem;
		max-width: 32.6rem;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		gap: 1.6rem 0;
	}
	#gNavi .hTxtList li {
		margin-left: 0;
		padding-top: 0;
		width: 48%;
		display: flex;
		text-indent: 0;
		font-size: 1.3rem;
		font-weight: 500;
		letter-spacing: 0;
	}
	#gNavi .hTxtList li:first-child {
		width: 100%;
	}
	#gNavi .hTxtList li .txt01 {
		margin: 0;
		white-space: nowrap;
	}
	#gNavi .hSnsList {
		margin-left: 0;
		flex-direction: row;
		gap: 1.2rem;
	}
	#gNavi .hSnsList li {
		width: 4.4rem;
	}
}
/*------------------------------------------------------------
	pagePath
------------------------------------------------------------*/
#pagePath {
	margin: 0 auto 14.7rem;
	padding: 1.2rem 1.5rem 0;
	width: 144rem;
	max-width: 100%;
	vertical-align: top;
	font-size: 1.2rem;
	line-height: 1.95;
	letter-spacing: 0.02em;
}
#pagePath.mb0 {
	margin-bottom: 0;
}
#pagePath.mb0 ul {
	width: 40rem;
}
#pagePath li {
	display: inline-block;
	vertical-align: top;
}
#pagePath li:after {
	margin: 0 0.8rem 0 1.1rem;
	width: 0.6rem;
	height: 0.9rem;
	display: inline-block;
	vertical-align: 0;
	background: url(img/common/icon01.png) no-repeat center center;
	background-size: contain;
	content: '';
}
#pagePath li:last-child::after {
	display: none;
}
#pagePath li a {
	font-weight: 300;
}
#pagePath li a:hover {
	opacity: 0.7;
}
@media all and (max-width: 896px), (orientation: portrait) {
	#pagePath {
		margin-bottom: 6.3rem;
		padding: 0.8rem 2rem;
		width: auto;
		max-width: initial;
		font-size: 1.1rem;
		line-height: 2;
		background: #E0DACC;
	}
	#pagePath.mb0 {
		margin-bottom: 3.9rem;
	}
	#pagePath.mb0 ul {
		width: auto;
	}
}
/*------------------------------------------------------------
	conts
------------------------------------------------------------*/
#conts {
	margin-bottom: 17.6rem;
	width: 82.8rem;
	box-sizing: border-box;
}
@media all and (max-width: 896px), (orientation: portrait) {
	#conts {
		margin: 0 2rem 9.2rem;
		width: auto;
	}
}
/*------------------------------------------------------------
	sideBar
------------------------------------------------------------*/
#sideBar {
	margin-bottom: 17.6rem;
	padding: 4.6rem 4rem 6.2rem;
	width: 30rem;
	position: sticky;
	right: 0;
	top: 0;
	background: #fff;
	box-sizing: border-box;
}
#sideBar .sideSub {
	margin-bottom: 3.3rem;
}
#sideBar .sideSub:last-child {
	margin-bottom: 0;
}
#sideBar .sideTtl {
	margin-bottom: 3.6rem;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0.08em;
}
#sideBar .sideTtl01 {
	font-weight: 500;
}
#sideBar .cateList {
	border-top: 1px solid #CCCCCC;
}
#sideBar .cateList li {
	border-bottom: 1px solid #CCCCCC;
}
#sideBar .cateList li a {
	padding: 1.4rem 1rem;
	position: relative;
	display: flex;
	line-height: 1.51;
	overflow: hidden;
}
#sideBar .cateList li a span {
	position: relative;
	z-index: 1;
}
#sideBar .cateList li .txt {
	min-width: 6.3em;
	letter-spacing: 0.08em;
}
#sideBar .cateList li .num {
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 1.73;
	letter-spacing: 0.1em;
}
#sideBar .monthList dt {
	padding: 1.4rem 1rem;
	position: relative;
	display: flex;
	border-top: 1px solid #CCCCCC;
	cursor: pointer;
}
#sideBar .monthList dt::after {
	width: 1.3rem;
	height: 0.8rem;
	position: absolute;
	right: 1.6rem;
	top: 50%;
	transform: translateY(-50%);
	background: url(img/common/icon02.png) no-repeat center center / 100%;
	content: '';
	transition: 0.5s;
}
#sideBar .monthList dt.on::after {
	transform: rotate(180deg);
}
#sideBar .monthList .txt {
	min-width: 6.3em;
	letter-spacing: 0.08em;
}
#sideBar .monthList .num {
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 1.73;
	letter-spacing: 0.1em;
}
#sideBar .monthList dd {
	display: none;
}
#sideBar .monthList dd ul {
	margin-top: -0.4rem;
}
#sideBar .monthList dd:not(:last-child) ul {
	margin-bottom: 1.4rem;
}
#sideBar .monthList dd li:not(:last-child) {
	margin-bottom: 0.1rem;
}
#sideBar .monthList dd li a {
	padding: 0.4rem 1rem 0 3rem;
	min-height: 2.7rem;
	position: relative;
	display: flex;
	overflow: hidden;
}
#sideBar .monthList dd li a span {
	position: relative;
	z-index: 1;
}
#sideBar .monthList dd li a::before {
	width: 0.8rem;
	height: 1px;
	position: absolute;
	left: 1.3rem;
	top: 1.4rem;
	background: #000;
	content: '';
}
#sideBar .monthList dd li .txt {
	min-width: 4.9em;
}
#sideBar .monthList dd li .num {
	margin-top: 0.1rem;
}
@media all and (min-width: 897px) and (orientation: landscape) {
	#sideBar {
		max-height: 100vh;
		overflow-y: auto;
	}
	#sideBar .cateList li a::after,
	#sideBar .monthList dd li a::after {
		width: 100%;
		height: calc(100% + 1px);
		position: absolute;
		left: 0;
		top: 0;
		background: #DFDACF;
		transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
		transform: scale(0, 1);
		transform-origin: right top;
		content: '';
		will-change: transform;
	}
	#sideBar .cateList li a:hover::after,
	#sideBar .monthList dd li a:hover::after {
		transform-origin: left top;
		transform: scale(1, 1);
	}
}
@media all and (max-width: 896px), (orientation: portrait) {
	#sideBar {
		margin-bottom: 0;
		padding: 9.2rem 2rem;
		width: auto;
		display: flex;
		justify-content: space-between;
		position: relative;
		right: auto;
		top: auto;
	}
	#sideBar .sideSub {
		margin: 0;
		width: 47.2%;
	}
	#sideBar .sideTtl {
		margin-bottom: 3.2rem;
	}
	#sideBar .cateList {
		margin-bottom: 0;
	}
	#sideBar .cateList li a {
		padding: 2.1rem 1.1rem 2.1rem 0.9rem;
		justify-content: space-between;
	}
	#sideBar .cateList li .txt {
		min-width: initial;
	}
	#sideBar .monthList {
		border-bottom: 1px solid #CCCCCC;
	}
	#sideBar .monthList dt {
		padding: 2.1rem 4.5rem 2.1rem 0.9rem;
		justify-content: space-between;
	}
	#sideBar .monthList dt::after {
		right: 0.7rem;
		top: 1.4rem;
		transform: none;
	}
	#sideBar .monthList .txt {
		min-width: initial;
	}
	#sideBar .monthList dd ul {
		padding-bottom: 3rem;
	}
	#sideBar .monthList dd:not(:last-child) ul {
		margin-bottom: 0;
	}
	#sideBar .monthList dd li:not(:last-child) {
		margin-bottom: 1.6rem;
	}
	#sideBar .monthList dd li a {
		padding: 0.4rem 1rem 0 4.7rem;
	}
	#sideBar .monthList dd li a::before {
		left: 3rem;
	}
	#sideBar .monthList dd li .txt {
		min-width: 3em;
	}
}
/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter {
	position: relative;
	z-index: 1;
}
#gFooter .fCta {
	padding: 10rem 3rem 10.7rem;
	text-align: center;
	background: #CFC8B8;
}
#gFooter .fCta p {
	margin-bottom: 2.1rem;
	font-size: 1.6rem;
	line-height: 2;
	letter-spacing: 0.05em;
}
#gFooter .fCta .ctaBtn {
	margin: 0 auto;
	width: 34.8rem;
}
#gFooter .fCta .ctaBtn a {
	display: block;
	position: relative;
	text-align: center;
	font-weight: 600;
	font-size: 1.5rem;
	letter-spacing: 0.15em;
	border: 1px solid #000;
	overflow: hidden;
}
#gFooter .fCta .ctaBtn a .txt {
	padding: 2.3rem 5rem 2.1rem;
	display: block;
	position: relative;
	background: url(img/common/icon05.png) no-repeat right 2rem center / 1.9rem;
	z-index: 1;
	transition: background 0.5s;
}
#gFooter .fBox {
	padding: 9.6rem 0 6.1rem;
	color: #fff;
	background: #000;
}
#gFooter .fContent {
	margin: 0 auto;
	width: 84rem;
}
#gFooter .fLogo {
	margin-bottom: 4rem;
	width: 21.7rem;
}
#gFooter .fLogo a {
	display: block;
}
#gFooter .fSubBox {
	margin-bottom: 4.7rem;
	display: flex;
}
#gFooter .fInfo {
	width: 21.7rem;
	font-size: 1.2rem;
	line-height: 2;
	letter-spacing: 0.02em;
}
#gFooter .fInfo .fTtl {
	margin-bottom: 1.3rem;
	font-size: 1.4rem;
	line-height: 1.5;
}
#gFooter .fInfo .fAdr {
	margin-bottom: 0.8rem;
	line-height: 1.66;
}
#gFooter .fInfo .fTel {
	margin-bottom: 0.2rem;
}
#gFooter .fNaviList {
	display: flex;
	flex-wrap: wrap;
	flex: 1;
}
#gFooter .fNaviList > li:nth-child(1) {
	width: 34.7%;
}
#gFooter .fNaviList > li:nth-child(2) {
	width: 22.8%;
}
#gFooter .fNaviList > li:nth-child(3) {
	width: 21%;
}
#gFooter .fNaviList li a {
	display: inline-block;
	letter-spacing: 0.02em;
}
#gFooter .fNaviList li .subList {
	margin-top: 1.4rem;
	font-size: 1.2rem;
}
#gFooter .fNaviList li .subList li {
	margin-bottom: 1.1rem;
	width: auto;
}
#gFooter .fNaviList li .subList li:last-child {
	margin-bottom: 0;
}
#gFooter .fNaviList li .subList li a {
	padding-left: 1.3rem;
	position: relative;
}
#gFooter .fNaviList li .subList li a::before {
	width: 0.7rem;
	height: 1px;
	position: absolute;
	left: 0.2rem;
	top: 1rem;
	background: #BC9728;
	content: '';
}
#gFooter .fSnsList {
	margin: -0.5rem -0.8rem 0 0.8rem;
	width: 5.5rem;
}
#gFooter .fSnsList li {
	margin-bottom: 1.1rem;
}
#gFooter .fSnsList li:last-child {
	margin: 0;
}
#gFooter .fSnsList li a {
	display: block;
	position: relative;
}
#gFooter .fSnsList li a img {
	transition: 0.5s;
}
#gFooter .fSnsList li .over {
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	opacity: 0;
}
#gFooter address {
	font-size: 1rem;
	letter-spacing: 0.02em;
}
@media all and (min-width: 897px) and (orientation: landscape) {
	#gFooter .fCta .ctaBtn a::before {
		width: 100%;
		height: 100%;
		position: absolute;
		left: 0;
		top: 0;
		background: #000;
		content: '';
		transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
		transform: scale(0, 1);
		transform-origin: right top;
	}
	#gFooter .fCta .ctaBtn a:hover {
		color: #fff;
	}
	#gFooter .fCta .ctaBtn a:hover::before {
		transform-origin: left top;
		transform: scale(1, 1);
	}
	#gFooter .fCta .ctaBtn a:hover .txt {
		background-image: url(img/common/icon05_over.png);
	}
	#gFooter .fNaviList li a:hover {
		color: #DBB72B;
	}
	#gFooter .fSnsList li a:hover .nor {
		opacity: 0;
	}
	#gFooter .fSnsList li a:hover .over {
		opacity: 1;
	}
}
@media all and (max-width: 896px), (orientation: portrait) {
	#gFooter .fCta {
		padding: 7.4rem 2rem 6.6rem;
		background: #D1C7B2;
	}
	#gFooter .fCta p {
		margin-bottom: 2.2rem;
		font-size: 1.4rem;
	}
	#gFooter .fCta .ctaBtn {
		width: 19rem;
	}
	#gFooter .fCta .ctaBtn a {
		font-size: 1.3rem;
		letter-spacing: 0.04em;
	}
	#gFooter .fCta .ctaBtn a .txt {
		padding: 1.4rem 3rem 1.3rem 0.8rem;
		background-position: right 1.3rem center;
		background-size: 1.4rem;
	}
	#gFooter .fBox {
		padding: 8.4rem 2rem 1.9rem;
	}
	#gFooter .fContent {
		width: auto;
	}
	#gFooter .fLogo {
		margin: 0 auto 4.2rem;
		width: 19.1rem;
	}
	#gFooter .fSubBox {
		margin-bottom: 7.6rem;
		display: block;
		position: relative;
	}
	#gFooter .fInfo {
		margin: 0 auto;
		max-width: 33.6rem;
		padding: 0 0.7rem 3.4rem;
		width: auto;
		font-size: 1.3rem;
	}
	#gFooter .fInfo .fTtl {
		margin-bottom: 1.6rem;
		font-size: 1.8rem;
		text-align: center;
	}
	#gFooter .fInfo .fAdr {
		margin-bottom: 1.6rem;
	}
	#gFooter .fInfo .fTel {
		margin-bottom: 1.4rem;
	}
	#gFooter .fInfo .subTxt01 {
		margin-right: 1em;
	}
	#gFooter .fInfo .fTel .subTxt01 {
		margin-right: 1.5em;
	}
	#gFooter .fNaviList {
		padding: 5.6rem 0.9rem 0;
		justify-content: space-between;
		gap: 4.2rem 0;
		border-top: 1px solid #fff;
	}
	#gFooter .fNaviList > li {
		width: 57%;
	}
	#gFooter .fNaviList > li:nth-child(2n) {
		width: 40%;
	}
	#gFooter .fNaviList > li:nth-child(1) {
		width: 57%;
	}
	#gFooter .fNaviList > li:nth-child(2) {
		width: 40%;
	}
	#gFooter .fNaviList > li:nth-child(3) {
		width: 57%;
	}
	#gFooter .fNaviList li .subList {
		margin: 2.8rem 0 0 1rem;
		font-size: 1.3rem;
	}
	#gFooter .fNaviList li .subList li {
		margin-bottom: 2.6rem;
		width: auto;
	}
	#gFooter .fNaviList li .subList li:last-child {
		margin-bottom: 0;
	}
	#gFooter .fNaviList li .subList li a::before {
		width: 0.9rem;
		left: 0;
		top: 1rem;
	}
	#gFooter .fSnsList {
		margin: 0;
		width: auto;
		position: absolute;
		right: 2.7rem;
		bottom: 0.3rem;
		display: flex;
		gap: 2.8rem;
		z-index: 1;
	}
	#gFooter .fSnsList li {
		margin: 0;
		width: 4.4rem;
	}
	#gFooter address {
		text-align: center;
	}
}
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* 81-YH */
/* clearfix */
.clearfix::after {
	content: '';
	display: block;
	clear: both;
}
/* flex */
.flex, .flexA, .flexB, .flexC {
	display: flex;
	flex-wrap: wrap;
}
.flexA {
	justify-content: space-around;
}
.flexB {
	justify-content: space-between;
}
.flexC {
	justify-content: center;
}
/* font */
.oswald {
	font-family: "Oswald", serif;
}
.notoSans {
	font-family: "Noto Sans JP", serif;
}
/*------------------------------------------------------------
	fade
------------------------------------------------------------*/
.jsFadeIn,
.fadeIn {
	opacity: 0;
	transition: opacity 1.5s 0s cubic-bezier(.26, .06, 0, 1);
}
.jsFadeIn.visible,
.fadeIn.visible {
	opacity: 1;
}
.jsFadeImg,
.fadeImg {
	opacity: 0;
	transition: all 0.9s ease;
	overflow: hidden;
}
.jsFadeImg.visible,
.fadeImg.visible {
	opacity: 1;
}
.fadeMaskL {
	opacity: 0;
	transition: all 0.6s 0.1s ease;
	mask-image: url(img/common/mask.png);
	-webkit-mask-image: url(img/common/mask.png);
	mask-size: 100% 4800%;
	-webkit-mask-size: 100% 4800%;
	mask-position: 0 0;
	-webkit-mask-position: 0 0;
}
.fadeMaskL.visible {
	opacity: 1;
	animation: mask-play 2s steps(47) forwards;
}
.fadeMask {
	opacity: 0;
	transition: all 0.6s 0.1s ease;
	mask-image: url(img/common/mask_down.png);
	-webkit-mask-image: url(img/common/mask_down.png);
	mask-size: 4800% 500%;
	-webkit-mask-size: 4800% 500%;
	mask-position: 0 100%;
	-webkit-mask-position: 0 100%;
}
.fadeMask.visible {
	opacity: 1;
	animation: mask-play-pc 3s steps(47) forwards;
}
@media all and (min-width: 897px) and (orientation: landscape) {
	.pcFadeV {
		opacity: 0;
		transition: all 0.6s 0.1s ease;
		mask-image: url(img/common/mask_down.png);
		-webkit-mask-image: url(img/common/mask_down.png);
		mask-size: 4800% 500%;
		-webkit-mask-size: 4800% 500%;
		mask-position: 0 100%;
		-webkit-mask-position: 0 100%;
	}
	.pcFadeV.active {
		opacity: 1;
		animation: mask-play-pc 2s steps(47) forwards;
	}
}
@keyframes mask-play-pc {
	from {
		-webkit-mask-position: 0 100%;
		mask-position: 0 100%
	}
	to {
		-webkit-mask-position: 0% 0%;
		mask-position: 0% 0%
	}
}
@media all and (max-width: 896px), (orientation: portrait) {
	.spFade {
		opacity: 0;
		transition: opacity 1.5s 0s cubic-bezier(.26, .06, 0, 1);
	}
	.spFade.active {
		opacity: 1;
	}
	.fadeMaskLsp {
		opacity: 0;
		transition: all 0.6s 0.1s ease;
		mask-image: url(img/common/mask.png);
		-webkit-mask-image: url(img/common/mask.png);
		mask-size: 100% 4800%;
		-webkit-mask-size: 100% 4800%;
		mask-position: 0 0;
		-webkit-mask-position: 0 0;
	}
	.fadeMaskLsp.active {
		opacity: 1;
		animation: mask-play 2s steps(47) forwards;
	}
}
@keyframes mask-play {
	from {
		-webkit-mask-position: 0 0;
		mask-position: 0 0
	}
	to {
		-webkit-mask-position: 0 100%;
		mask-position: 0 100%
	}
}
.delay01 {
	transition-delay: 0.2s;
}
.delay02 {
	transition-delay: 0.4s;
}
/*------------------------------------------------------------
	pageTitle
------------------------------------------------------------*/
.pageTitle {
	padding: 12rem 2rem 2rem 3.1rem;
	height: 42rem;
	display: flex;
	justify-content: center;
	color: #fff;
	background: url(img/news/page_title_bg.jpg) no-repeat center center / cover;
}
.pageTitle.large {
	height: 72rem;
}
.pageTitle h1 {
	font-weight: 700;
	font-size: 4rem;
	line-height: 2;
	letter-spacing: 0.26em;
	writing-mode: vertical-rl;
	white-space: nowrap;
	text-orientation: upright;
}
.pageTitle h1 .en {
	margin: 0.5rem 0 0 -1.7rem;
	display: block;
	color: #DBB72B;
	font-size: 1.4rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	text-orientation: initial;
}
@media all and (max-width: 896px), (orientation: portrait) {
	.pageTitle {
		padding: 3.6rem 1rem 1rem 2rem;
		height: 21.5rem;
		background-image: url(img/news/page_title_bg_sp.jpg);
	}
	.pageTitle.large {
		height: 41.7rem;
	}
	.pageTitle h1 {
		font-size: 3rem;
		letter-spacing: 0.21em;
		line-height: 1.66;
	}
	.pageTitle h1 .en {
		margin: 0.3rem 0 0 0.1rem;
		font-size: 1.2rem;
	}
}
/*------------------------------------------------------------
	mainBox
------------------------------------------------------------*/
.mainBox {
	margin: 0 auto;
	width: 115.8rem;
	position: relative;
	align-items: flex-start;
}
@media all and (max-width: 896px), (orientation: portrait) {
	.mainBox {
		width: auto !important;
		display: block;
	}
}
/*------------------------------------------------------------
	content
------------------------------------------------------------*/
.content {
	margin: 0 auto;
	width: 116rem;
}
#case .content,
.comBtmBox .content {
	width: 96rem;
}
@media all and (max-width: 896px), (orientation: portrait) {
	.content {
		margin: 0 2rem;
		width: auto !important;
	}
}
/*------------------------------------------------------------
	headLine01
------------------------------------------------------------*/
.headLine01 {
	margin-bottom: 10.6rem;
	position: relative;
	text-align: center;
	font-size: 3.2rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.2;
}
.headLine01::after {
	width: 4rem;
	height: 0.2rem;
	position: absolute;
	bottom: -2.7rem;
	left: 50%;
	background: #DBB72B;
	transform: translateX(-50%);
	content: '';
}
@media all and (min-width: 897px) and (orientation: landscape) {
	#conts .headLine01 {
		margin-top: -0.5rem;
	}
}
@media all and (max-width: 896px), (orientation: portrait) {
	.headLine01 {
		margin-bottom: 5.8rem;
		font-size: 1.6rem;
	}
	.headLine01::after {
		width: 2rem;
		height: 1px;
		bottom: -1.3rem;
	}
}
/*------------------------------------------------------------
	headLine02
------------------------------------------------------------*/
.headLine02 span {
	font-size: 3.8rem;
	letter-spacing: 0.8rem;
}
@media all and (min-width: 897px) and (orientation: landscape) {
	.headLine02 {
		text-align: left;
		white-space: nowrap;
		writing-mode: vertical-rl;
	}
	.headLine02 span {
		padding: 2.6rem 0.8rem 2.3rem 0.2rem;
		display: inline-block;
		letter-spacing: 0.2em;
		border-top: 1px solid currentColor;
		border-right: 1px solid currentColor;
	}
}
@media all and (max-width: 896px), (orientation: portrait) {
	.headLine02 {
		margin-bottom: 3.1rem;
		text-align: center;
	}
	.headLine02 span {
		display: inline-block;
		vertical-align: top;
		padding: 0.7rem 1.9rem 1rem;
		font-size: 2rem;
		letter-spacing: 0.1rem;
		border-bottom: 1px solid currentColor;
		border-left: 1px solid currentColor;
	}
}
/*------------------------------------------------------------
	headLine03
------------------------------------------------------------*/
.headLine03 {
	margin-bottom: 4.8rem;
	position: relative;
	font-weight: 700;
	font-size: 2.8rem;
	line-height: 1.571;
}
.headLine03::after {
	width: 6.8rem;
	height: 0.2rem;
	position: absolute;
	left: 0;
	bottom: -2.5rem;
	background: #DBB72B;
	content: '';
}
@media all and (max-width: 896px), (orientation: portrait) {
	.headLine03 {
		margin-bottom: 3.7rem;
		font-size: 1.9rem;
		line-height: 1.6;
	}
	.headLine03::after {
		width: 9rem;
		bottom: -2rem;
	}
}
/*------------------------------------------------------------
	wp-pagenavi
------------------------------------------------------------*/
.wp-pagenavi {
	margin: 0 auto 20.4rem;
	width: 44rem;
	display: flex;
	justify-content: center;
	align-items: center;
	align-content: flex-start;
	flex-wrap: wrap;
	gap: 3.9rem;
	order: 1;
	text-align: center;
	font-size: 0;
	clear: both;
	font-family: "Oswald", serif;
}
.wp-pagenavi a,
.wp-pagenavi span {
	margin: 0;
	padding: 0;
	width: 5.6rem;
	height: 5.6rem;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: #000;
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 0.18em;
	text-decoration: none;
	background: transparent;
	border: 1px solid #000;
}
.wp-pagenavi a {
	transition: all 0.5s;
}
.wp-pagenavi span.current {
	color: #fff;
	background: #000;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink,
.wp-pagenavi .pages {
	display: none;
}
.wp-pagenavi .extend {
	margin: 0 -0.6rem;
	width: 7.2rem;
	height: 0;
	font-size: 0;
	border: none;
	border-top: 0.3rem dotted #000;
}
@media all and (min-width: 897px) and (orientation: landscape) {
	.wp-pagenavi a::before {
		width: 100%;
		height: 100%;
		position: absolute;
		left: 0;
		top: 0;
		transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
		transform: scale(0, 1);
		transform-origin: right top;
		background: #DBB72B;
		content: '';
		z-index: -1;
	}
	.wp-pagenavi a:hover::before {
		transform-origin: left top;
		transform: scale(1, 1);
	}
	.wp-pagenavi a:hover {
		border-color: #DBB72B;
	}
}
@media all and (max-width: 896px), (orientation: portrait) {
	.wp-pagenavi {
		margin-bottom: 9.1rem;
		width: auto;
		gap: 2rem;
	}
	.wp-pagenavi a,
	.wp-pagenavi span {
		width: 4.8rem;
		height: 4.8rem;
		font-size: 1.4rem;
	}
	.wp-pagenavi .extend {
		width: 2.4rem;
	}
}
.navigation ol {
	margin: 0 auto 20.4rem;
	width: 64rem;
	display: flex;
	justify-content: center;
	align-items: center;
	align-content: flex-start;
	flex-wrap: wrap;
	gap: 3.9rem;
	order: 1;
	text-align: center;
	font-size: 0;
	clear: both;
	font-family: "Oswald", serif !important;
}
.navigation .wp-paginate a,
.navigation .wp-paginate span {
	margin: 0;
	padding: 0;
	width: 5.6rem;
	height: 5.6rem;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: #000;
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 0.18em;
	text-decoration: none;
	background: transparent;
	border: 1px solid #000;
	background-color: none;
	position: relative;
}
.navigation .wp-paginate span.current {
	color: #fff;
	background: #000;
}
.navigation .wp-paginate .gap {
	margin: 0 -0.6rem;
	width: 7.2rem;
	height: 0;
	font-size: 0;
	border: none;
	border-top: 0.3rem dotted #000;
}
@media all and (min-width: 897px) and (orientation: landscape) {
	.navigation .wp-paginate a::before {
		width: 100%;
		height: 100%;
		position: absolute;
		left: 0;
		top: 0;
		transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
		transform: scale(0, 1);
		transform-origin: right top;
		background: #DBB72B;
		content: '';
		z-index: -1;
	}
	.navigation .wp-paginate a:hover::before {
		transform-origin: left top;
		transform: scale(1, 1);
	}
	.navigation .wp-paginate a:hover {
		color: #000;
		border-color: #DBB72B;
		background: none;
	}
}
@media all and (max-width: 896px), (orientation: portrait) {
	.navigation .wp-paginate {
		margin-bottom: 9.1rem;
		width: auto;
		gap: 2rem;
	}
	.navigation .wp-paginate a,
	.navigation .wp-paginate span {
		width: 4.8rem;
		height: 4.8rem;
		font-size: 1.4rem;
	}
	.navigation .wp-paginate .gap {
		width: 2.4rem;
	}
}
/*------------------------------------------------------------
	comPageNav
------------------------------------------------------------*/
.comPageNav {
	margin-bottom: 20.2rem;
	width: 100%;
	display: flex;
	justify-content: center;
	position: relative;
	order: 1;
}
.comPageNav .back a {
	padding: 1.5rem 1rem 1.6rem;
	width: 27rem;
	display: block;
	position: relative;
	text-align: center;
	font-size: 1.6rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	border: 1px solid #000;
	overflow: hidden;
}
.comPageNav .back a .txt {
	position: relative;
	z-index: 1;
}
.comPageNav .prev,
.comPageNav .next {
	margin-top: 0.1rem;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.comPageNav .prev {
	margin-left: -18.8rem;
}
.comPageNav .next {
	margin-left: 18.7rem;
}
.comPageNav .prev a,
.comPageNav .next a {
	width: 3.2rem;
	height: 1.9rem;
	display: block;
	background: no-repeat center center / 100%;
}
.comPageNav .prev a {
	background-image: url(img/common/icon08.png);
}
.comPageNav .next a {
	background-image: url(img/common/icon09.png);
}
@media all and (min-width: 897px) and (orientation: landscape) {
	.comPageNav .back a::before {
		width: 100%;
		height: 100%;
		position: absolute;
		left: 0;
		top: 0;
		background: #000;
		transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
		transform: scale(0, 1);
		transform-origin: right top;
		content: '';
	}
	.comPageNav .back a:hover {
		color: #fff;
	}
	.comPageNav .back a:hover::before {
		transform-origin: left top;
		transform: scale(1, 1);
	}
}
@media all and (max-width: 896px), (orientation: portrait) {
	.comPageNav {
		margin-bottom: 11.4rem;
	}
	.comPageNav .back a {
		padding: 1.4rem 1rem 1.4rem;
		width: 18.6rem;
		font-size: 1.3rem;
		letter-spacing: 0.08em;
	}
	.comPageNav .prev,
	.comPageNav .next {
		margin-top: 0;
	}
	.comPageNav .prev {
		margin-left: -12.5rem;
	}
	.comPageNav .next {
		margin-left: 12.5rem;
	}
	.comPageNav .prev a,
	.comPageNav .next a {
		width: 2.8rem;
	}
}
/*------------------------------------------------------------
	comBtmBox
------------------------------------------------------------*/
.comBtmBox {
	margin-top: 18.2rem;
	padding: 9.1rem 0 8.9rem;
	background: #DBB72B;
}
.comBtmBox.mt0 {
	margin-top: 0;
}
.comBtmBox .linkList {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8rem;
}
.comBtmBox .linkList li {
	width: 27rem;
}
.comBtmBox .linkList li a {
	display: block;
}
.comBtmBox .linkList li .photo {
	position: relative;
}
.comBtmBox .linkList li .photo::before {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: #000;
	content: '';
	opacity: 0;
	transition: 0.5s;
}
.comBtmBox .linkList li .photo img {
	width: 100%;
}
.comBtmBox .linkList li p {
	padding-top: 2.2rem;
	position: relative;
	text-align: center;
	font-size: 1.5rem;
	font-weight: 600;
	letter-spacing: 0.15em;
}
.comBtmBox .linkList li p::before {
	width: 1px;
	height: 1.8rem;
	position: absolute;
	left: 50%;
	top: 0;
	background: #000;
	content: '';
}
.comBtmBox .linkList li p span {
	display: inline-block;
	position: relative;
}
.comBtmBox .linkList li p span::after {
	width: 100%;
	height: 1px;
	position: absolute;
	left: 0;
	bottom: 0;
	background: #000;
	transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	transform: scale(0, 1);
	transform-origin: right top;
	content: '';
}
@media all and (min-width: 897px) and (orientation: landscape) {
	.comBtmBox .linkList li a:hover .photo::before {
		opacity: 0.3;
	}
	.comBtmBox .linkList li a:hover p span::after {
		transform-origin: left top;
		transform: scale(1, 1);
	}
}
@media all and (max-width: 896px), (orientation: portrait) {
	.comBtmBox {
		margin-top: 11.1rem;
		padding: 7.2rem 0 5.9rem;
		background: #E8B800;
	}
	.comBtmBox .linkList {
		gap: 4rem 2.6rem;
	}
	.comBtmBox .linkList li {
		width: calc(50% - 1.9rem);
	}
	.comBtmBox .linkList li p {
		padding-top: 1.3rem;
		font-size: 1.3rem;
		letter-spacing: 0.11em;
	}
	.comBtmBox .linkList li p::before {
		margin-left: -0.2rem;
		height: 1rem;
	}
}
/*------------------------------------------------------------
	comFixedBar
------------------------------------------------------------*/
.fixPos {
	width: 100%;
	position: absolute;
	left: 0;
	top: -10rem;
}
.comFixedBar {
	width: 17.2rem;
	padding: 1.3rem 1.7rem 1.3rem 1.2rem;
	position: fixed;
	right: 0;
	top: 55%;
	z-index: 100;
	transform: translateY(-50%) translateX(100%);
	background: rgba(255, 255, 255, 0.8);
	transition: all .4s cubic-bezier(.165, .84, .44, 1);
	transition-timing-function: cubic-bezier(.165, .84, .44, 1);
	opacity: 0;
	visibility: hidden;
	will-change: transform;
}
.comFixedBar.show {
	opacity: 1;
	transform: translateY(-50%) translateX(0);
	visibility: visible;
}
.comFixedBar.close {
	transform: translateY(-50%) translateX(100%);
}
.comFixedBar .toggleBtn a {
	width: 4rem;
	height: 100%;
	position: absolute;
	left: -4rem;
	top: 0;
	display: block;
	background: #BFB6A0;
	overflow: hidden;
}
.comFixedBar .toggleBtn a::before {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: url(img/common/icon10.png) no-repeat center center / 1rem;
	transform: rotate(180deg);
	content: '';
}
.comFixedBar.close .toggleBtn a::before {
	transform: rotate(0deg);
}
.comFixedBar .toggleBtn a:hover {
	opacity: 0.7;
}
.comFixedBar li:not(:last-child) {
	border-bottom: 1px solid #9F9F9F;
}
.comFixedBar li a {
	padding: 1.3rem 0 1.2rem;
	display: block;
	text-align: center;
	letter-spacing: 0.08em;
	line-height: 1.54;
}
.comFixedBar li a:hover {
	opacity: 0.7;
}
.comFixedBar.hide {
	opacity: 0;
	transform: translateY(-50%) translateX(100%);
	pointer-events: none;
}
@media all and (min-width: 897px) and (max-height: 899px) and (orientation: landscape) {
	.comFixedBar {
		top: 32rem;
		transform: translateX(0);
	}
	.comFixedBar.show {
		transform: translateY(0) translateX(0);
	}
	.comFixedBar.close {
		transform: translateX(100%);
	}
}
@media all and (min-width: 897px) and (max-height: 699px) and (orientation: landscape) {
	.comFixedBar {
		padding-top: 1rem;
		padding-bottom: 1rem;
	}
	.comFixedBar li a {
		padding: 0.5rem 0;
	}
}
@media all and (max-width: 896px), (orientation: portrait) {
	.fixPos {
		top: -20rem;
	}
	.comFixedBar {
		width: 11rem;
		padding: 0.5rem 1.1rem 0.5rem 1.2rem;
	}
	.comFixedBar .toggleBtn a {
		width: 2.9rem;
		left: -2.9rem;
	}
	.comFixedBar .toggleBtn a::before {
		background-size: 0.8rem;
	}
	.comFixedBar li a {
		padding: 0.9rem 0;
		font-size: 1rem;
	}
}
/*------------------------------------------------------------
	comBtn
------------------------------------------------------------*/
.comBtn {
	margin: 0 auto;
	width: 27rem;
	max-width: 100%;
}
.comBtn a {
	height: 5.7rem;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	text-align: center;
	font-size: 1.5rem;
	font-weight: 600;
	letter-spacing: 0.15em;
	border: 1px solid #000;
	overflow: hidden;
}
.comBtn a::before {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: #000;
	content: '';
	transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	transform: scale(0, 1);
	transform-origin: right top;
}
.comBtn a .txt {
	padding: 0.5rem 7.4rem;
	width: 100%;
	position: relative;
	display: block;
	background: url(img/common/icon05.png) no-repeat right 3rem center / 1.9rem;
	z-index: 1;
}
@media all and (min-width: 897px) and (orientation: landscape) {
	.comBtn a:hover {
		color: #fff;
	}
	.comBtn a:hover::before {
		transform-origin: left top;
		transform: scale(1, 1);
	}
	.comBtn a:hover span {
		background-image: url(img/common/icon05_over.png);
	}
}
@media all and (max-width: 896px), (orientation: portrait) {
	.comBtn {
		width: 18rem;
	}
	.comBtn a {
		height: 4.8rem;
		font-size: 1.3rem;
		letter-spacing: 0.08em;
	}
	.comBtn a::before {
		display: none;
	}
	.comBtn a .txt {
		padding: 0.5rem 2rem 0.5rem 1.2rem;
		background-position: right 1.3rem center;
		background-size: 1.4rem;
	}
}
/*------------------------------------------------------------
	comIntro
------------------------------------------------------------*/
.comIntro {
	margin: -16.5rem auto 11.2rem;
	padding: 4.5rem 4.3rem 3.2rem;
	width: fit-content;
	min-width: 51.6rem;
	height: 35rem;
	display: flex;
	justify-content: center;
	position: relative;
	background: #EFEDE7;
	z-index: 1;
}
.comIntro p {
	text-align: justify;
	font-size: 1.6rem;
	line-height: 2.125;
	letter-spacing: 0.05em;
	writing-mode: vertical-rl;
	text-orientation: upright;
}
@media all and (max-width: 896px), (orientation: portrait) {
	.comIntro {
		margin: 0 2rem 11.4rem;
		padding: 2.8rem 3rem 3rem;
		width: auto !important;
		min-width: initial !important;
		height: auto !important;
		position: relative;
		display: block;
		background: transparent;
	}
	.comIntro::before {
		width: 100%;
		height: 3rem;
		position: absolute;
		left: 0;
		top: 0;
		border: 1px solid #000;
		border-bottom: none;
		content: '';
	}
	.comIntro::after {
		width: 100%;
		height: 3rem;
		position: absolute;
		left: 0;
		bottom: 0;
		border: 1px solid #000;
		border-top: none;
		content: '';
	}
	.comIntro p {
		font-size: 1.4rem;
		line-height: 2;
		writing-mode: horizontal-tb;
	}
}
/*------------------------------------------------------------
	comInner
------------------------------------------------------------*/
.comInner .photo {
	margin-bottom: 2rem;
}
.comInner p {
	margin-bottom: 5.4rem;
	font-size: 1.6rem;
	line-height: 2;
	letter-spacing: 0.13rem;
}
@media all and (min-width: 897px) and (orientation: landscape) {
	.comInner {
		margin: 0 10rem 15rem 0;
		display: flex;
		justify-content: space-between;
	}
	.comInner .headLine02 {
		width: 10rem;
	}
	.comInner .photoBox {
		margin: 0.5rem 6rem 0;
		width: 84rem;
	}
}
@media all and (max-width: 896px), (orientation: portrait) {
	.comInner {
		margin-bottom: 7.7rem;
	}
	.comInner .photo {
		margin-bottom: 1.4rem;
	}
	.comInner .photo img {
		width: 100%;
	}
	.comInner p {
		margin: 0 1rem 2.9rem;
		font-size: 1.4rem;
	}
}
/*------------------------------------------------------------
	comBtmPhoto
------------------------------------------------------------*/
.comBtmPhoto {
	aspect-ratio: 1440/480;
}
.comBtmPhoto img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media all and (max-width: 896px), (orientation: portrait) {
	.comBtmPhoto {
		aspect-ratio: 750/480;
	}
}
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
@media all and (min-width: 897px) and (orientation: landscape) {
	#index:not(.fixed) #gHeader .hBox {
		transform: translateX(100%);
		opacity: 0;
		transition: all 0.5s;
	}
	#index:not(.fixed) #gHeader.active .hBox {
		opacity: 1;
		transform: translateX(0);
	}
	#index:not(.fixed) #gHeader .hCta a::before {
		opacity: 1;
	}
	#index:not(.fixed) #gHeader .hCta a::after {
		opacity: 0;
	}
	#index:not(.fixed) #gHeader .menu:not(.on) {
		color: #000;
	}
	#index:not(.fixed) #gHeader .menu:not(.on) span {
		background-color: #000;
	}
	#index #main .jsScroll {
		min-height: 100vh;
	}
	#index #main .stickyBox {
		height: 100vh;
		position: sticky;
		top: 0;
	}
	#index #main .jsFlex {
		height: 100%;
		overflow: hidden;
	}
	#index #main .jsWidth {
		display: flex;
		flex-wrap: nowrap;
		flex-direction: row-reverse;
		height: 100%;
		width: fit-content;
		position: relative;
	}
	#index #main .jsWidth::before,
	#index #main .jsWidth::after {
		width: 100%;
		height: 2.4rem;
		position: fixed;
		left: 0;
		background: #000;
		content: '';
		z-index: 10;
	}
	#index #main .jsWidth::before {
		top: 0;
	}
	#index #main .jsWidth::after {
		bottom: 0;
	}
	#index #main .jsFlex .itemWrap {
		flex-shrink: 0;
	}
	#index .mainParallax {
		position: fixed;
		width: 100%;
		height: 100%;
		left: 0;
		top: 0;
	}
	#index #main .mainVisual {
		width: 100vw;
		height: 100%;
	}
	#index #main .mainVisual .fvList,
	#index #main .mainVisual .fvList li {
		height: 100%;
	}
	#index #main .mainVisual .fvList li img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	#index #main .fixBg {
		width: 100vw;
		height: 100%;
		position: relative;
	}
}
#index {
	min-width: initial;
}
#index .tatescroll {
	position: relative;
	z-index: 12;
}
#index #main .fixBg .parallax {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	clip: rect(0, auto, auto, 0);
}
#index #main .fixBg .fixInner {
	width: 100vw;
	height: 100vh;
	position: fixed;
	left: 0;
	top: 0;
	-webkit-font-smoothing: antialiased;
	-webkit-transform: translateZ(0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transform-style: preserve-3d;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-overflow-scrolling: touch;
	will-change: transform;
}
#index #main .fixBg img {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	object-fit: cover;
}
#index #main .mainVisual {
	position: relative;
	color: #fff;
	background: #000;
}
#index #main .mainVisual.hide {
	opacity: 0;
	visibility: hidden;
}
#index #main .mainVisual .sideBar {
	width: 10rem;
	height: 100%;
	display: flex;
	align-items: center;
	position: absolute;
	right: 0;
	top: 0;
	background: #000;
	z-index: 50;
}
#index #main .mainVisual .sideBar .inWrap {
	padding: 3.4rem 1.7rem 2rem 2rem;
	width: 100%;
	min-height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}
#index #main .mainVisual .sideBar .logo {
	margin-bottom: min(5.7rem, 6.33vh);
	width: min(4rem, 4.44vh);
}
#index #main .mainVisual .sideBar .logo a {
	display: block;
}
#index #main .mainVisual .sideBar .naviList {
	margin: 0 0.3rem min(4.6rem, 5.1vh) 0;
	display: flex;
	flex-wrap: wrap;
	flex-direction: row-reverse;
	gap: min(3rem, 3.33vh) 0;
}
#index #main .mainVisual .sideBar .naviList li {
	width: 50%;
	display: flex;
	align-items: flex-start;
	justify-content: center;
}
#index #main .mainVisual .sideBar .naviList li a {
	display: inline-block;
	letter-spacing: 0.08em;
	writing-mode: vertical-rl;
	white-space: nowrap;
}
#index #main .mainVisual .sideBar .ctaBtn a {
	width: 4rem;
	height: 18rem;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.5rem;
	letter-spacing: 0.12em;
	writing-mode: vertical-rl;
	white-space: nowrap;
	border: 1px solid #fff;
	z-index: 1;
}
#index #main .mainVisual .fvList li {
	vertical-align: top;
}
#index .fadeTxt {
	-webkit-clip-path: polygon(0 0, 100% 0, 100% 0%, 0 0%);
	clip-path: polygon(0 0, 100% 0, 100% 0%, 0 0%);
	transition: clip-path 3s cubic-bezier(.47, .16, .24, 1), opacity 3s 0s cubic-bezier(.47, .16, .24, 1);
}
#index .fadeTxt.active {
	-webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
#index .fadeTxt .innerSpan {
	opacity: 0;
	transition: opacity 3s cubic-bezier(.26, .06, 0, 1);
}
#index .fadeTxt.active .innerSpan {
	opacity: 1;
}
#index #main .mainVisual .text01,
#index #main .mainVisual .text02 {
	position: absolute;
	writing-mode: vertical-rl;
	white-space: nowrap;
	text-orientation: upright;
	z-index: 1;
}
#index #main .mainVisual .text01 {
	display: flex;
	flex-direction: column;
	top: 17.2%;
	right: 15.5%;
	font-size: 3.6rem;
	font-weight: 700;
	letter-spacing: 0.17em;
	line-height: 2.15;
	align-items: flex-start;
}
#index #main .mainVisual .text01 .innerSpan {
	padding-right: 1px;
	display: inline-block;
	position: relative;
	vertical-align: top;
}
#index #main .mainVisual .text01 .innerSpan::before {
	width: 1px;
	height: calc(100% - 0.7em);
	position: absolute;
	right: 0;
	top: 0;
	background: #fff;
	content: '';
}
#index #main .mainVisual .text02 {
	top: 53.3%;
	left: 10.4%;
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 2.12;
	letter-spacing: 0.2em;
}
#index #main .mainVisual .text02 span {
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}
#index #main .mainVisual .scrollBtn {
	width: 9.2rem;
	position: absolute;
	left: 2.4rem;
	top: 50%;
	transform: translateY(-50%);
	z-index: 20;
}
#index #main .mainVisual .scrollBtn a {
	display: flex;
	align-items: center;
}
#index #main .mainVisual .scrollBtn a img {
	width: 1.7rem;
	opacity: 0.3;
}
#index #main .mainVisual .scrollBtn a .arrow01 {
	animation: arrow01 3s 3s linear infinite;
}
#index #main .mainVisual .scrollBtn a .arrow02 {
	animation: arrow01 3s 2s linear infinite;
}
#index #main .mainVisual .scrollBtn a .arrow03 {
	animation: arrow01 3s 1s linear infinite;
}
#index #main .mainVisual .scrollBtn a .txt {
	margin: 0 0 0.5rem 0.5rem;
	font-size: 1.4rem;
	font-weight: 100;
	white-space: nowrap;
	letter-spacing: 0.18em;
}
#index #main .mainVisual .scrollBtn a:hover {
	opacity: 0.7;
}
@keyframes arrow01 {
	0% {
		opacity: 0.3;
	}
	50% {
		opacity: 1;
	}
	100% {
		opacity: 0.3;
	}
}
#index #main .secBox {
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	position: relative;
	background: #E0DACC;
	z-index: 2;
}
#index #main .secBox img {
	max-height: 100%;
}
#index #main .secBox .secInner {
	padding: 8rem 24rem;
	height: 100%;
	max-height: 73rem;
	display: flex;
}
#index #main .sec01 .secInner {
	padding-right: 27.5rem;
	padding-left: 23.3rem;
	max-height: 90rem;
}
#index #main .sec01 .bg01 {
	width: 36rem;
	position: absolute;
	right: -31.6rem;
	top: 67.5%;
}
#index #main .sec01 .photo01 {
	margin-left: 13.8rem;
	width: 29.4rem;
	position: relative;
	z-index: 1;
}
#index #main .sec01 .photo01 img {
	max-height: 100%;
}
#index #main .sec01 .textBox {
	margin: auto 0 auto 16rem;
	padding: 7.1rem 4.6rem 7.1rem 4.9rem;
	max-height: 57.3rem;
	position: relative;
	z-index: 1;
}
#index #main .sec01 .textBox::before {
	width: 100%;
	height: 5.9rem;
	position: absolute;
	left: 0;
	top: 0;
	border: 1px solid #000;
	border-bottom: none;
	content: '';
}
#index #main .sec01 .textBox::after {
	width: 100%;
	height: 5.9rem;
	position: absolute;
	left: 0;
	bottom: 0;
	border: 1px solid #000;
	border-top: none;
	content: '';
}
#index #main .sec01 .textBox .innerBox {
	writing-mode: vertical-rl;
	text-orientation: upright;
}
#index #main .sec01 .textBox p {
	margin-left: 2.8rem;
	font-size: 1.6rem;
	font-weight: 600;
	letter-spacing: 0.22em;
	line-height: 2;
}
#index #main .sec01 .textBox p:last-child {
	margin: 0;
}
#index #main .sec01 .photo02 {
	margin: auto 0;
	width: 30rem;
	height: 100%;
	max-height: 58rem;
	position: relative;
	writing-mode: horizontal-tb;
}
#index #main .sec01 .photo02::after {
	width: 39.2rem;
	position: absolute;
	left: calc(100% - 8.4rem);
	top: 27.4rem;
	background: url(img/index/bg01.png) no-repeat center center / 100%;
	aspect-ratio: 1;
	content: '';
}
#index #main .sec01 .photo02 div {
	max-height: 100%;
	position: relative;
	z-index: 10;
}
#index #main .sec01 .photo02 img {
	position: relative;
	z-index: 1;
}
#index #main .heading01 {
	margin-left: 4.7rem;
	font-size: 3.8rem;
	font-weight: 700;
	letter-spacing: 0.3em;
	writing-mode: vertical-rl;
	text-orientation: upright;
}
#index #main .heading01 span {
	padding: 3.5rem 2.3rem 2.8rem;
	display: inline-block;
	vertical-align: top;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
}
#index #main .sec02 {
	background: #F0ECE5;
}
#index #main .secBox .topTxt {
	margin: auto 0 auto 4.6rem;
	height: 42.3rem;
	max-height: 100%;
	text-align: justify;
	font-size: 1.6rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	line-height: 2;
	writing-mode: vertical-rl;
	text-orientation: upright;
}
#index #main .secBox .btn01 {
	margin-left: 15.4rem;
	text-align: right;
}
#index #main .secBox .btn01 a {
	max-height: 100%;
	display: inline-block;
	position: relative;
	text-align: left;
	font-weight: 600;
	letter-spacing: 0.15em;
	border: 1px solid #000;
	overflow: hidden;
}
#index #main .secBox .btn01 a::before {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: #000;
	transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	transform: scale(1, 0);
	transform-origin: left bottom;
	content: '';
}
#index #main .secBox .btn01 a span {
	min-width: 3.9rem;
	height: 24.7rem;
	max-height: 100%;
	padding: 2rem 1rem 3rem;
	display: block;
	writing-mode: vertical-rl;
	text-orientation: upright;
	background: url(img/common/icon11.png) no-repeat center bottom 1.4rem / 1.9rem;
	position: relative;
	transition: background 0.5s;
	z-index: 1;
}
#index #main .sec02 .imgList {
	padding: 2rem 0 2rem 4.8rem;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	writing-mode: vertical-rl;
	text-orientation: upright;
}
#index #main .sec02 .imgList li {
	display: flex;
	position: relative;
	writing-mode: horizontal-tb;
}
#index #main .sec02 .imgList li:nth-child(2n) {
	margin-top: auto;
}
#index #main .sec02 .imgList li .photo {
	width: 18.4rem;
}
#index #main .sec02 .imgList li .photo img {
	width: 100%;
}
#index #main .sec02 .imgList li .textBox {
	writing-mode: vertical-rl;
}
#index #main .sec02 .imgList li .textBox .textInner {
	margin-left: -1.7rem;
	height: calc(100% + 2.5rem);
	position: absolute;
	left: 100%;
	top: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	writing-mode: horizontal-tb;
	z-index: 1;
}
#index #main .sec02 .imgList li .textBox .ttl {
	margin: 0 0 -1.3rem 0.5rem;
	flex: 1;
	text-align: left;
	font-size: 2rem;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.1em;
	writing-mode: vertical-rl;
	text-orientation: upright;
}
#index #main .sec02 .imgList li .textBox .num {
	margin-left: -0.8rem;
	font-size: 8.9rem;
	font-weight: 400;
	color: #664600;
	letter-spacing: 0.05em;
	line-height: 1;
	opacity: 0.2;
	white-space: nowrap;
}
#index #main .sec02 .imgList li .textBox .btn01 {
	margin: 0;
	position: absolute;
	right: calc(100% + 0.8rem);
	bottom: 0;
}
#index #main .sec02 .imgList li .textBox .btn01 a span {
	padding: 1.4rem 0.9rem 3rem;
	height: 12.7rem;
	background-position: center bottom 1.1rem;
}
#index #main .sec03 .secInner {
	padding-left: 30.2rem;
}
#index #main .sec03 .btn01 {
	margin-left: 12.6rem;
}
#index #main .sec03 .btn01 a span {
	height: 21rem;
}
#index #main .sec03 .caseList {
	display: flex;
	flex-direction: row-reverse;
	gap: 0 8rem;
	writing-mode: horizontal-tb;
}
#index #main .sec03 .caseList > li {
	width: 35rem;
}
#index #main .sec03 .caseList li .photo {
	margin-bottom: 3rem;
}
#index #main .sec03 .caseList li .photo img {
	width: 100%;
	object-fit: cover;
	aspect-ratio: 35/25;
}
#index #main .sec03 .caseList li .ttlSub,
#index #main .sec03 .caseList li .ttl {
	text-align: center;
}
#index #main .sec03 .caseList li .ttlSub {
	margin-bottom: 0.3rem;
	letter-spacing: 0.18em;
}
#index #main .sec03 .caseList li .ttl {
	margin-bottom: 2rem;
	font-size: 2.2rem;
	font-weight: 600;
	letter-spacing: 0.2em;
}
#index #main .sec03 .caseList li .tagList {
	margin-bottom: 1.2rem;
	display: flex;
	flex-wrap: wrap;
	gap: 1.1rem;
}
#index #main .sec03 .caseList li .tagList li {
	width: 10.9rem;
}
#index #main .sec03 .caseList li .tagList li a {
	padding: 0.1rem 0.3rem 0.2rem;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	text-align: center;
	letter-spacing: 0.02em;
	color: #000;
	background: #fff;
	overflow: hidden;
}
#index #main .sec03 .caseList li .tagList li a::before {
	width: 100%;
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
	background: #947D4C;
	transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	transform: scale(0, 1);
	transform-origin: left top;
	content: '';
}
#index #main .sec03 .caseList li .tagList li a span {
	width: 100%;
	position: relative;
	display: block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	z-index: 1;
}
#index #main .sec03 .caseList li .subBox {
	margin-bottom: 3.2rem;
}
#index #main .sec03 .caseList li .text {
	text-align: center;
	letter-spacing: 0.05em;
	line-height: 2;
}
#index #main .secBox .btn02 {
	margin: 0 auto;
	width: 14.4rem;
}
#index #main .secBox .btn02 a {
	display: block;
	position: relative;
	font-weight: 600;
	letter-spacing: 0.1em;
	overflow: hidden;
	border: 1px solid #000;
}
#index #main .secBox .btn02 a::before {
	width: 100%;
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
	background: #000;
	transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	transform: scale(0, 1);
	transform-origin: left top;
	content: '';
}
#index #main .secBox .btn02 a span {
	padding: 0.9rem 0.5rem 0.9rem 3.4rem;
	display: block;
	position: relative;
	text-align: center;
	background: url(img/common/icon11.png) no-repeat left 1.3rem center / 1.9rem;
	z-index: 1;
}
#index #main .sec04 {
	background: #F0ECE5;
}
#index #main .sec04 .secInner {
	padding-left: 25.5rem;
}
#index #main .sec04 .topTxt {
	margin-left: 3.6rem;
}
#index #main .sec04 .btn01 {
	margin-left: 7.8rem;
}
#index #main .sec04 .photo {
	width: 58.8rem;
	height: 42rem;
	max-height: 100%;
	margin: auto 0;
}
#index #main .sec04 .photo img {
	width: auto;
}
#index #main .blackBox {
	width: 100vw;
	height: 100%;
	background-color: #000;
	position: relative;
}
#index #main .phoArea img {
	width: 100%;
}
#index #main .content {
	width: 84.2rem;
}
#index #main .heading02 {
	margin-bottom: 7.6rem;
	text-align: center;
	font-weight: 700;
	font-size: 3.8rem;
	letter-spacing: 0.24em;
}
#index #main .heading02 span {
	padding: 1.8rem 4.2rem 3rem 4.8rem;
	display: inline-block;
	vertical-align: top;
	border-left: 1px solid #000;
	border-bottom: 1px solid #000;
}
#index #main .company {
	padding: 18rem 0;
	background: #E0DACC;
}
#index #main .company .imgBox {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-direction: row-reverse;
}
#index #main .company .imgBox .textBox {
	width: 27rem;
}
#index #main .company .imgBox .textBox p {
	margin-bottom: 1.6rem;
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 2.1333;
	letter-spacing: 0.08em;
}
#index #main .company .imgBox .photoBox {
	width: 52.7rem;
}
#index #main .company .imgBox .photoBox img {
	width: 100%;
}
#index #main .news {
	padding: 18rem 0 16.1rem;
	background: #F0ECE5;
}
#index #main .news .heading02 {
	margin-bottom: 4.9rem;
}
#index #main .news .heading02 span {
	padding-bottom: 2.3rem;
}
#index #main .news .newsList {
	margin-bottom: 8rem;
}
#index #main .news .newsList li {
	border-bottom: 1px solid #000;
}
#index #main .news .newsList li a {
	padding: 4rem 1.9rem 3.5rem;
	display: block;
	position: relative;
}
#index #main .news .newsList li a::before {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	transform: scale(0, 1);
	transform-origin: right top;
	background: #E0DACC;
	content: '';
}
#index #main .news .newsList li a::after {
	width: 1.9rem;
	position: absolute;
	right: 1.7rem;
	top: 0.5rem;
	bottom: 0;
	background: url(img/common/icon05.png) no-repeat right center / 100%;
	content: '';
}
#index #main .news .newsList li .item {
	display: flex;
	gap: 2rem;
	position: relative;
	z-index: 1;
}
#index #main .news .newsList li .date {
	min-width: 8.3rem;
	font-weight: 400;
	white-space: nowrap;
	letter-spacing: 0.15em;
}
#index #main .news .newsList li .text {
	flex: 1;
	font-size: 1.5rem;
	font-weight: 600;
	letter-spacing: 0.08em;
}
@media all and (min-width: 897px) and (orientation: landscape) {
	#index #main .mainVisual .sideBar .naviList li a {
		position: relative;
	}
	#index #main .mainVisual .sideBar .naviList li a::before {
		width: 1px;
		height: 100%;
		position: absolute;
		right: 0;
		top: 0;
		background: #E8B800;
		transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
		transform: scale(1, 0);
		transform-origin: left bottom;
		content: '';
	}
	#index #main .mainVisual .sideBar .naviList li a:hover {
		color: #E8B800;
	}
	#index #main .mainVisual .sideBar .naviList li a:hover::before {
		transform-origin: left top;
		transform: scale(1, 1);
	}
	#index #main .mainVisual .sideBar .ctaBtn a::before {
		width: 100%;
		height: 100%;
		position: absolute;
		left: 0;
		top: 0;
		background: #fff;
		content: '';
		transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
		transform: scale(1, 0);
		transform-origin: left bottom;
		z-index: -1;
	}
	#index #main .mainVisual .sideBar .ctaBtn a:hover {
		color: #000;
	}
	#index #main .mainVisual .sideBar .ctaBtn a:hover::before {
		transform-origin: left top;
		transform: scale(1, 1);
	}
	#index #main .secBox .inWrap {
		height: 100%;
		writing-mode: vertical-rl;
		position: relative;
	}
	#index #main .secBox .btn01 a:hover {
		color: #fff;
	}
	#index #main .secBox .btn01 a:hover:before {
		transform-origin: left top;
		transform: scale(1, 1);
	}
	#index #main .secBox .btn01 a:hover span {
		background-image: url(img/common/icon12.png);
	}
	#index #main .sec03 .caseList li .tagList li a:hover {
		color: #fff;
	}
	#index #main .sec03 .caseList li .tagList li a:hover::before {
		transform-origin: right top;
		transform: scale(1, 1);
	}
	#index #main .secBox .btn02 a:hover {
		color: #fff;
	}
	#index #main .secBox .btn02 a:hover::before {
		transform-origin: right top;
		transform: scale(1, 1);
	}
	#index #main .secBox .btn02 a:hover span {
		background-image: url(img/common/icon12.png);
	}
	#index #main .news .newsList li a:hover::before {
		transform-origin: left top;
		transform: scale(1, 1);
	}
}
@media all and (min-width: 897px) and (max-height: 850px) and (orientation: landscape) {
	#index #main .mainVisual .sideBar .inWrap {
		padding-top: 2svh;
		padding-bottom: 2svh;
	}
	#index #main .mainVisual .sideBar .logo {
		margin-bottom: 6.333svh;
		width: 4.444svh;
	}
	#index #main .mainVisual .sideBar .naviList {
		margin-bottom: 5.111svh;
		gap: 3.333svh 0;
	}
	#index #main .mainVisual .sideBar .naviList li a {
		letter-spacing: 0;
		font-size: 1.556svh;
	}
	#index #main .mainVisual .sideBar .ctaBtn a {
		width: 4.444svh;
		height: 20svh;
		font-size: 1.667svh;
		letter-spacing: 0.02em;
	}
	#index #main .mainVisual .text01 {
		font-size: 4svh;
		letter-spacing: 0.08em;
	}
	#index #main .mainVisual .text02 {
		font-size: 1.778svh;
		letter-spacing: 0.1em;
	}
	#index #main .sec03 .caseList {
		padding: 2.333svh 0;
		gap: 0 8.889svh;
		font-size: 1.556svh;
	}
	#index #main .sec03 .caseList > li {
		width: 38.889svh;
	}
	#index #main .sec03 .caseList li .photo {
		margin-bottom: 3.333svh;
	}
	#index #main .sec03 .caseList li .ttlSub {
		margin-bottom: 0.333svh;
	}
	#index #main .sec03 .caseList li .ttl {
		margin-bottom: 2.222svh;
		font-size: 2.444svh;
	}
	#index #main .sec03 .caseList li .tagList {
		margin-bottom: 1.333svh;
		gap: 1.222svh;
	}
	#index #main .sec03 .caseList li .tagList li {
		width: 12.111svh;
	}
	#index #main .sec03 .caseList li .subBox {
		margin-bottom: 3.556svh;
	}
}
@media all and (min-width: 897px) and (max-height: 700px) and (orientation: landscape) {
	#index #main .sec02 .imgList {
		margin: auto 0;
	}
	#index #main .sec02 .imgList li {
		margin: auto 0 auto 16rem;
	}
	#index #main .sec02 .imgList li:last-child {
		margin-left: 0;
	}
}
@media all and (min-width: 897px) and (max-height: 540px) and (orientation: landscape) {
	#index #main .mainVisual .sideBar .inWrap {
		padding-top: 2.4rem;
		padding-bottom: 2.4rem;
	}
	#index #main .mainVisual .sideBar .logo {
		margin-bottom: 4svh;
		width: 4svh;
	}
	#index #main .mainVisual .sideBar .naviList {
		margin-bottom: 4svh;
		gap: 2.5svh 0;
	}
	#index #main .mainVisual .sideBar .naviList li a {
		font-size: 1.4svh;
	}
	#index #main .mainVisual .sideBar .ctaBtn a {
		width: 4.444svh;
		height: 18svh;
		font-size: 1.6svh;
		letter-spacing: 0;
	}
	#index #main .secBox .secInner {
		padding-top: 12.5svh;
		padding-bottom: 12.5svh;
	}
}
@media all and (min-width: 897px) and (max-height: 450px) and (orientation: landscape) {
	#index #main .sec02 .imgList {
		padding: 4svh 0 4svh 9.6svh;
		font-size: 2.8svh;
	}
	#index #main .sec02 .imgList li .photo {
		width: 36.8svh;
	}
	#index #main .sec02 .imgList li .textBox .textInner {
		margin-left: -3.4svh;
		height: calc(100% + 5svh);
	}
	#index #main .sec02 .imgList li .textBox .ttl {
		margin: 0 0 -2.6svh 1svh;
		font-size: 4svh;
	}
	#index #main .sec02 .imgList li .textBox .num {
		margin-left: -1.6svh;
		font-size: 17.8svh;
	}
	#index #main .sec02 .imgList li .textBox .btn01 {
		bottom: -1svh;
	}
	#index #main .sec02 .imgList li .textBox .btn01 a span {
		padding: 2.8svh 2.2svh 6svh;
		min-width: 8.6svh;
		height: 25.4svh;
		background-position: center bottom 2.4svh;
		background-size: 4.2svh;
	}
}
@media all and (max-width: 896px), (orientation: portrait) {
	#index #main .mainVisual {
		z-index: 2;
	}
	#index #main .mainVisual .sideBar {
		display: none;
	}
	#index #main .mainVisual .fvList li img {
		width: 100%;
		height: auto;
	}
	#index #main .mainVisual .text01 {
		top: 2.7rem;
		right: 1.8rem;
		font-size: 2.4rem;
		line-height: 1.94;
	}
	#index #main .mainVisual .text01 .innerSpan::before {
		height: calc(100% - 0.74em);
	}
	#index #main .mainVisual .text02 {
		top: 73.6%;
		left: 50%;
		transform: translateX(-50%);
		font-size: 1.4rem;
		font-weight: 500;
		letter-spacing: 0.2em;
		line-height: 2;
	}
	#index #main .mainVisual .scrollBtn {
		display: none;
	}
	#index #main .fixBg {
		width: 100%;
		aspect-ratio: 375/560;
		position: relative;
		z-index: 1;
	}
	#index #main .secBox {
		display: block;
		z-index: 5;
	}
	#index #main .secBox img {
		max-height: initial;
	}
	#index #main .secBox .secInner {
		padding: 10.9rem 2rem;
		height: auto !important;
		max-height: initial !important;
		writing-mode: horizontal-tb;
		position: relative;
		display: block;
	}
	#index #main .sec01 .secInner {
		padding: 11.2rem 2rem;
		display: block;
	}
	#index #main .sec01 .bg01 {
		width: 9rem;
		right: auto;
		left: 1.8rem;
		top: -1.8rem;
		z-index: 2;
	}
	#index #main .sec01 .photo01 {
		margin: 0 auto 10.8rem;
		padding-left: 5rem;
		width: 68.68%;
		text-align: center;
	}
	#index #main .sec01 .photo01 img {
		width: 100%;
		max-height: initial;
	}
	#index #main .sec01 .textBox {
		margin: 0 0 11.1rem;
		padding: 3.8rem 2.9rem 4.1rem 3rem;
		max-height: initial;
	}
	#index #main .sec01 .textBox::before {
		height: 3rem;
	}
	#index #main .sec01 .textBox::after {
		height: 3rem;
	}
	#index #main .sec01 .textBox .innerBox {
		writing-mode: horizontal-tb;
	}
	#index #main .sec01 .textBox p {
		margin: 0 0 1.85rem;
		text-align: justify;
		font-size: 1.4rem;
		letter-spacing: 0.05em;
	}
	#index #main .sec01 .photo02 {
		margin: 0 8.6rem 0 2rem;
		width: auto;
		height: auto;
		max-height: initial;
	}
	#index #main .sec01 .photo02::after {
		width: 15.4rem;
		left: calc(100% - 5.9rem);
		top: -14.3rem;
	}
	#index #main .sec01 .photo02 img {
		width: 100%;
	}
	#index #main .heading01 {
		margin: 0 0 3rem;
		text-align: center;
		font-size: 2.4rem;
		letter-spacing: 0.15em;
		writing-mode: horizontal-tb;
	}
	#index #main .heading01 span {
		padding: 0.8rem 1.3rem 1.2rem 1.7rem;
		border-top: none;
		border-right: none;
		border-left: 1px solid #000;
		border-bottom: 1px solid #000;
	}
	#index #main .sec02 {
		background: #E0DACC;
	}
	#index #main .sec02 .secInner {
		padding: 10.9rem 0 13rem;
	}
	#index #main .secBox .topTxt {
		margin: 0 4rem 2.8rem;
		height: auto;
		max-height: initial;
		font-size: 1.4rem;
		font-weight: 500;
		letter-spacing: 0.05em;
		writing-mode: horizontal-tb;
	}
	#index #main .secBox .btn01 {
		margin: 0 auto 8.5rem;
		width: 19.5rem;
		text-align: center;
	}
	#index #main .secBox .btn01 a {
		max-height: initial;
		display: block;
		text-align: center;
		font-size: 1.3rem;
		letter-spacing: 0.08em;
	}
	#index #main .secBox .btn01 a::before {
		display: none;
	}
	#index #main .secBox .btn01 a span {
		padding: 1.4rem 3rem 1.4rem 1.2rem;
		min-width: initial;
		height: auto;
		max-height: initial;
		writing-mode: horizontal-tb;
		background: url(img/common/icon05.png) no-repeat right 1.2rem center / 1.4rem;
	}
	#index #main .sec02 .imgList {
		padding: 0;
		display: block;
		writing-mode: horizontal-tb;
	}
	#index #main .sec02 .imgList li {
		margin-bottom: 5.2rem;
		display: block;
	}
	#index #main .sec02 .imgList li:last-child {
		margin-bottom: 0;
	}
	#index #main .sec02 .imgList li > div {
		display: flex;
		flex-direction: row-reverse;
		align-items: flex-end;
	}
	#index #main .sec02 .imgList li:nth-child(2n) > div {
		margin-top: 0;
		flex-direction: row;
	}
	#index #main .sec02 .imgList li .photo {
		width: calc(50% + 1rem);
	}
	#index #main .sec02 .imgList li .textBox {
		padding: 0 1.5rem 0 3.2rem;
		flex: 1;
		writing-mode: horizontal-tb;
	}
	#index #main .sec02 .imgList li:nth-child(2n) .textBox {
		padding-right: 3.2rem;
		padding-left: 1.5rem;
	}
	#index #main .sec02 .imgList li .textBox .textInner {
		margin-left: 0;
		height: auto;
		position: relative;
		flex-direction: row;
		justify-content: center;
		left: auto;
		top: auto;
	}
	#index #main .sec02 .imgList li .textBox .textInner01 {
		padding-bottom: 1.3rem;
	}
	#index #main .sec02 .imgList li .textBox .ttl {
		margin: 0 0 2.5rem;
		padding-top: 1em;
		flex: initial;
		text-indent: -1em;
		font-size: 1.7rem;
		letter-spacing: 0.08em;
		position: relative;
		z-index: 1;
	}
	#index #main .sec02 .imgList li .textBox .num {
		margin: -1.4rem 0 0 -0.3rem;
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		font-size: 9rem;
	}
	#index #main .sec02 .imgList li .textBox .btn01 {
		margin: 0 auto;
		width: 11.3rem;
		position: relative;
		right: auto;
		left: auto;
		bottom: auto;
	}
	#index #main .sec02 .imgList li .textBox .btn01 a span {
		padding: 1rem 2.5rem 0.9rem 1rem;
		height: auto;
		background-position: right 0.9rem top 55%;
	}
	#index #main .sec03 .secInner {
		padding-left: 2rem;
	}
	#index #main .sec03 .topTxt {
		margin: 0 1.9rem 2.9rem 2rem;
	}
	#index #main .sec03 .btn01 {
		margin: 0 auto 7.6rem;
		width: 19.1rem;
	}
	#index #main .sec03 .btn01 a span {
		padding-left: 2.2rem;
		height: auto;
		background-position: right 1.4rem center;
	}
	#index #main .sec03 .caseList {
		margin: 0 3.2rem 0 3.3rem;
		padding: 0;
		display: block;
	}
	#index #main .sec03 .caseList > li {
		margin-bottom: 5.8rem;
		width: auto;
	}
	#index #main .sec03 .caseList > li:last-child {
		margin-bottom: 0;
	}
	#index #main .sec03 .caseList li .photo {
		margin-bottom: 1.7rem;
	}
	#index #main .sec03 .caseList li .photo img {
		aspect-ratio: 540/382;
	}
	#index #main .sec03 .caseList li .ttlSub {
		margin-bottom: 0.2rem;
		font-size: 1.2rem;
		letter-spacing: 0.08em;
	}
	#index #main .sec03 .caseList li .ttl {
		margin-bottom: 1.1rem;
		font-size: 1.8rem;
		letter-spacing: 0.1em;
	}
	#index #main .sec03 .caseList li .tagList {
		margin-bottom: 1rem;
		justify-content: center;
		gap: 1.4rem;
	}
	#index #main .sec03 .caseList li .tagList li {
		width: 8rem;
	}
	#index #main .sec03 .caseList li .tagList li a {
		padding: 0.3rem 0.3rem 0.4rem;
		font-size: 1.2rem;
	}
	#index #main .sec03 .caseList li .tagList li a::before {
		display: none;
	}
	#index #main .sec03 .caseList li .subBox {
		margin-bottom: 1.5rem;
	}
	#index #main .sec03 .caseList li .text {
		font-size: 1.3rem;
		line-height: 1.846;
		letter-spacing: 0.05em;
	}
	#index #main .secBox .btn02 {
		width: 15.6rem;
	}
	#index #main .secBox .btn02 a {
		font-size: 1.3rem;
		letter-spacing: 0.08em;
	}
	#index #main .secBox .btn02 a::before {
		display: none;
	}
	#index #main .secBox .btn02 a span {
		padding: 1.4rem 2rem 1.3rem 1.8rem;
		background: url(img/common/icon05.png) no-repeat right 1.4rem center / 1.4rem;
	}
	#index #main .sec04 {
		background: #E0DACC;
	}
	#index #main .sec04 .secInner {
		padding: 9.8rem 2rem;
	}
	#index #main .sec04 .topTxt {
		margin: 0 2rem 2.5rem;
	}
	#index #main .sec04 .btn01 {
		margin: 0 auto 5.3rem;
	}
	#index #main .sec04 .photo {
		width: auto;
		height: auto;
		max-height: initial;
		margin: 0;
	}
	#index #main .sec04 .photo img {
		width: 100%;
	}
	#index #main .heading02 {
		margin-bottom: 2.9rem;
		font-size: 2.4rem;
		letter-spacing: 0.15em;
	}
	#index #main .heading02 span {
		padding: 0.8rem 1.3rem 1.2rem 1.7rem;
	}
	#index #main .company {
		padding: 9.5rem 0 11.1rem;
	}
	#index #main .company .imgBox {
		display: block;
	}
	#index #main .company .imgBox .textBox {
		margin: 0 2rem 4.6rem;
		width: auto;
	}
	#index #main .company .imgBox .textBox p {
		margin-bottom: 2.5rem;
		font-size: 1.4rem;
		line-height: 2;
		letter-spacing: 0.05em;
	}
	#index #main .company .imgBox .photoBox {
		width: auto;
	}
	#index #main .news {
		padding: 10rem 0;
	}
	#index #main .news .heading02 {
		margin-bottom: 3.4rem;
	}
	#index #main .news .heading02 span {
		padding-bottom: 1.2rem;
	}
	#index #main .news .newsList {
		margin-bottom: 5.3rem;
	}
	#index #main .news .newsList li a {
		padding: 1.8rem 5.5rem 1.3rem 1.9rem;
	}
	#index #main .news .newsList li a::before {
		display: none;
	}
	#index #main .news .newsList li a::after {
		right: 2rem;
		top: 0;
	}
	#index #main .news .newsList li .item {
		display: block;
	}
	#index #main .news .newsList li .date {
		min-width: initial;
		font-size: 1.3rem;
		letter-spacing: 0.2em;
		margin-bottom: 0.7rem;
	}
	#index #main .news .newsList li .text {
		font-size: 1.4rem;
		font-weight: 500;
		line-height: 2;
		letter-spacing: 0.05em;
		overflow: hidden;
		text-overflow: ellipsis;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}
}
@media all and (min-width: 768px) and (max-width: 896px) {
	#index #main .mainVisual .text01 {
		font-size: 3.6rem;
	}
	#index #main .mainVisual .text02 {
		font-size: 2.1rem;
	}
	#index #main .sec02 .imgList li > div {
		align-items: center;
	}
	#index #main .sec02 .imgList li .textBox .ttl {
		font-size: 2.5rem;
		margin-bottom: 3.7rem;
	}
	#index #main .sec02 .imgList li .textBox .num {
		font-size: 13.5rem;
	}
	#index #main .sec02 .imgList li .textBox .btn01 {
		width: 16.9rem;
	}
	#index #main .sec02 .imgList li .textBox .btn01 a {
		font-size: 1.9rem;
	}
	#index #main .sec02 .imgList li .textBox .btn01 a span {
		background-size: 2.1rem;
	}
}
@media all and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
	#index #main .mainVisual .text01 {
		font-size: 3.6rem;
	}
	#index #main .mainVisual .text02 {
		font-size: 2.1rem;
	}
	#index #main .sec02 .imgList li > div {
		align-items: center;
	}
	#index #main .sec02 .imgList li .textBox .ttl {
		font-size: 2.5rem;
		margin-bottom: 3.7rem;
	}
	#index #main .sec02 .imgList li .textBox .num {
		font-size: 13.5rem;
	}
	#index #main .sec02 .imgList li .textBox .btn01 {
		width: 16.9rem;
	}
	#index #main .sec02 .imgList li .textBox .btn01 a {
		font-size: 1.9rem;
	}
	#index #main .sec02 .imgList li .textBox .btn01 a span {
		background-size: 2.1rem;
	}
}
/*------------------------------------------------------------
	news
------------------------------------------------------------*/
#news .newsList {
	margin: 0 auto;
	width: 63rem;
	justify-content: space-between;
	gap: 9.5rem 0;
}
#news .newsList li {
	width: 30rem;
}
#news .newsList li a {
	display: block;
}
#news .newsList li .photo {
	margin-bottom: 1.7rem;
	position: relative;
}
#news .newsList li .photo::before {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: #000;
	opacity: 0;
	transition: 0.5s;
	content: '';
	z-index: 1;
}
#news .newsList li .photo img {
	width: 100%;
	object-fit: cover;
	aspect-ratio: 300/212;
}
#news .newsList li .cateBox {
	margin-bottom: 0.8rem;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 1.5rem;
	align-items: center;
	align-content: flex-start;
}
#news .newsList li .cateBox .tag {
	width: 9.1rem;
	height: 1.8rem;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-size: 1rem;
	line-height: 1.2;
	letter-spacing: 0.09em;
	border: 1px solid #000;
}
#news .newsList li .cateBox .date {
	font-size: 1.4rem;
	font-weight: 400;
	letter-spacing: 0.08em;
}
#news .newsList li p {
	font-size: 1.8rem;
	letter-spacing: 0.08em;
	line-height: 1.555;
}
@media all and (min-width: 897px) and (orientation: landscape) {
	#news .newsList li a:hover .photo::before {
		opacity: 0.3;
	}
}
@media all and (max-width: 896px), (orientation: portrait) {
	#news .pageTitle h1 .en {
		margin-left: -0.4rem;
	}
	#news .newsList {
		width: auto;
		gap: 5.5rem 0;
	}
	#news .newsList li {
		width: 46.8%;
	}
	#news .newsList li .photo {
		margin-bottom: 1rem;
	}
	#news .newsList li .photo::before {
		display: none;
	}
	#news .newsList li .photo img {
		aspect-ratio: 314/220;
	}
	#news .newsList li .cateBox {
		margin-bottom: 0.7rem;
		gap: 0.5rem 0.8rem;
	}
	#news .newsList li .cateBox .tag {
		width: 7.7rem;
	}
	#news .newsList li .cateBox .date {
		font-size: 1rem;
	}
	#news .newsList li p {
		font-size: 1.3rem;
		letter-spacing: 0;
	}
}
/*------------------------------------------------------------
	news-detail
------------------------------------------------------------*/
#news-detail #sideBar {
	margin-bottom: 19.1rem;
}
#news-detail #conts {
	margin-bottom: 19.1rem;
}
#news-detail #conts .innerBox {
	margin: -0.2rem auto 0;
	width: 63rem;
}
#news-detail #conts .cateBox {
	margin-bottom: 0.6rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-content: flex-start;
	gap: 1rem 1.3rem;
}
#news-detail #conts .cateBox .tag {
	width: 9.2rem;
	height: 2rem;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.2rem;
	letter-spacing: 0.09em;
	line-height: 1.2;
	text-align: center;
	border: 1px solid #000;
	z-index: 1;
	overflow: hidden;
}
#news-detail #conts .cateBox .date {
	font-weight: 400;
	letter-spacing: 0.08em;
}
#news-detail #conts h2 {
	margin-bottom: 4.8rem;
	font-size: 4rem;
	font-weight: 700;
	letter-spacing: 0.08em;
}
#news-detail #conts .detailBox {
	word-break: break-all;
}
#news-detail #conts .detailBox a:hover {
	opacity: 0.7;
}
#news-detail #conts .detailBox figure {
	margin: 11.2rem 0 3.6rem;
}
#news-detail #conts .detailBox figure:first-child {
	margin-top: 0;
}
#news-detail #conts .detailBox figure:last-child {
	margin-bottom: 0;
}
#news-detail #conts .detailBox figure img {
	width: 100%;
}
#news-detail #conts .detailBox p {
	margin-bottom: 2.8rem;
	letter-spacing: 0.02em;
	line-height: 2;
}
#news-detail #conts .detailBox p:last-child {
	margin-bottom: 0;
}
#news-detail #conts .detailBox h3 {
	margin-bottom: 2.5rem;
	font-weight: 700;
	font-size: 2rem;
	letter-spacing: 0.08em;
	line-height: 1.24;
}
#news-detail #conts .detailBox a:hover {
	opacity: 0.7;
}
#news-detail #conts .name {
	margin-top: 4.6rem;
	max-width: 79rem;
	text-align: right;
	font-size: 1.2rem;
	line-height: 1.66;
	letter-spacing: 0.02em;
}
#news-detail #conts .name span {
	display: inline-block;
	text-align: left;
}
@media all and (min-width: 897px) and (orientation: landscape) {
	#news-detail #conts .cateBox .tag::before {
		width: 100%;
		height: 100%;
		position: absolute;
		left: 0;
		top: 0;
		background: #E8B800;
		content: '';
		z-index: -1;
		transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
		transform: scale(0, 1);
		transform-origin: right top;
	}
	#news-detail #conts .cateBox .tag:hover::before {
		transform-origin: left top;
		transform: scale(1, 1);
	}
}
@media all and (max-width: 896px), (orientation: portrait) {
	#news-detail .pageTitle h1 .en {
		margin-left: -0.4rem;
	}
	#news-detail #sideBar {
		margin-bottom: 0;
	}
	#news-detail #conts {
		margin-bottom: 9.5rem;
	}
	#news-detail #conts .innerBox {
		margin: 0;
		width: auto;
	}
	#news-detail #conts .cateBox {
		gap: 0.5rem 1.3rem;
		font-size: 1.2rem;
	}
	#news-detail #conts .cateBox .tag {
		width: 9.8rem;
		height: 2rem;
	}
	#news-detail #conts h2 {
		margin-bottom: 4rem;
		font-size: 2.4rem;
		letter-spacing: 0.1em;
	}
	#news-detail #conts .detailBox figure {
		margin: 8.1rem 0 2.5rem;
	}
	#news-detail #conts .detailBox figure:first-child {
		margin-top: 0;
	}
	#news-detail #conts .detailBox figure:last-child {
		margin-bottom: 0;
	}
	#news-detail #conts .detailBox p {
		letter-spacing: 0.04em;
	}
	#news-detail #conts .detailBox h3 {
		margin: 3.6rem 0 2.2rem;
		font-size: 1.8rem;
	}
	#news-detail #conts .name {
		margin-top: 3.5rem;
		max-width: initial;
	}
	#news-detail #conts .name span {
		text-align: right;
	}
}
/*------------------------------------------------------------
	case
------------------------------------------------------------*/
#case .pageTitle {
	height: 72rem;
	background-image: url(img/case/page_title_bg.jpg);
}
#case .pageTitle,
#case-detail .pageTitle {
	position: relative;
}
#case .pageTitle h1,
#case-detail .pageTitle h1 {
	z-index: 2;
}
#case .pageTitle::before,
#case-detail .pageTitle::before {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: #000000;
	opacity: 0.4;
	mix-blend-mode: multiply;
	content: '';
}
#case .bgWhite {
	margin-bottom: 15.3rem;
	padding-bottom: 13.8rem;
	background: #fff;
}
#case .selectBox {
	margin: 0 auto;
	width: 84rem;
}
#case .selectBox .all {
	margin-bottom: 2.1rem;
	width: 12.6rem;
}
#case .selectBox .all a {
	padding: 0.7rem;
	display: block;
	position: relative;
	text-align: center;
	letter-spacing: 0.18em;
	border: 1px solid #000;
	overflow: hidden;
}
#case .selectBox .all a span {
	position: relative;
	z-index: 1;
}
#case .selectBox .all.current a {
	color: #fff;
	background: #000;
}
#case .selectBox dl {
	gap: 2.2rem 0;
}
#case .selectBox dt {
	padding: 0.7rem 0.5rem 0 2.6rem;
	width: 14.2rem;
	position: relative;
	font-weight: 400;
}
#case .selectBox dt::before {
	width: 1.8rem;
	height: 0.2rem;
	position: absolute;
	left: 0;
	top: 1.6rem;
	background: #DBB72B;
	content: '';
}
#case .selectBox dd {
	width: calc(100% - 14.2rem);
}
#case .selectBox dd .btnList {
	margin-right: -1px;
	gap: 2.3rem 1.6rem;
}
#case .selectBox dd .btnList li {
	min-width: 12.7rem;
	text-align: center;
}
#case .selectBox dd .btnList li a {
	padding: 0.7rem 1.3rem;
	position: relative;
	display: block;
	letter-spacing: 0.08em;
	border: 1px solid #000;
	overflow: hidden;
}
#case .selectBox dd .btnList li a span {
	position: relative;
	z-index: 1;
}
#case .selectBox dd .btnList li.current a {
	color: #fff;
	background: #000;
}
#case .caseList {
	gap: 11.6rem 3rem;
}
#case .caseList > li {
	width: 30rem;
}
#case .caseList li a {
	display: block;
}
#case .caseList li .photo {
	margin-bottom: 1.9rem;
	position: relative;
}
#case .caseList li .photo::before {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: #000;
	opacity: 0;
	transition: 0.5s;
	content: '';
	z-index: 1;
}
#case .caseList li .photo img {
	width: 100%;
	object-fit: cover;
	aspect-ratio: 300/212;
}
#case .caseList li .tagList {
	margin-bottom: 1.1rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem 1.2rem;
}
#case .caseList li .tagList li {
	padding: 1px 0.3rem 0;
	width: 9.1rem;
	text-align: center;
	font-size: 1rem;
	letter-spacing: 0.08em;
	border: 1px solid #000;
}
#case .caseList li p {
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: 0.08em;
}
#case .caseList li p .sm {
	margin-bottom: 0.2rem;
	display: block;
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: 0.08em;
}
#case .navigation .wp-paginate {
	margin: 16.5rem auto 0;
}
#case.category .bgWhite {
	margin-bottom: 11.2rem;
}
#case.category .headLine01 {
	margin-bottom: 12rem;
}
@media all and (min-width: 897px) and (orientation: landscape) {
	#case .selectBox dd .btnList li a::before,
	#case .selectBox .all a::before {
		width: 100%;
		height: 100%;
		position: absolute;
		left: 0;
		top: 0;
		background: #DBB72B;
		transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
		transform: scale(0, 1);
		transform-origin: right top;
		content: '';
	}
	#case .selectBox dd .btnList li a:hover,
	#case .selectBox .all a:hover {
		border-color: #DBB72B;
	}
	#case .selectBox dd .btnList li.current a:hover,
	#case .selectBox .all.current a:hover {
		color: #000;
	}
	#case .selectBox dd .btnList li a:hover::before,
	#case .selectBox .all a:hover::before {
		transform-origin: left top;
		transform: scale(1, 1);
	}
	#case .caseList li a:hover .photo::before {
		opacity: 0.3;
	}
}
@media all and (max-width: 896px), (orientation: portrait) {
	#case .pageTitle {
		height: 41.7rem;
		background-image: url(img/case/page_title_bg_sp.jpg);
	}
	#case .pageTitle h1 .en {
		margin-left: -0.4rem;
	}
	#case #pagePath {
		margin-bottom: 4.6rem;
	}
	#case .bgWhite {
		margin-bottom: 8.9rem;
		padding-bottom: 9.6rem;
	}
	#case .selectBox {
		margin: 0 2rem;
		width: auto;
	}
	#case .selectBox .all {
		margin-bottom: 2.2rem;
	}
	#case .selectBox dl {
		display: block;
	}
	#case .selectBox dt {
		padding: 0.7rem 0.5rem 1.5rem 2.6rem;
		width: auto;
	}
	#case .selectBox dd {
		margin-bottom: 1.9rem;
		padding-left: 2.7rem;
		width: auto;
	}
	#case .selectBox dd:last-child {
		margin-bottom: 0;
	}
	#case .selectBox dd .btnList {
		gap: 1.9rem 1.8rem;
	}
	#case .selectBox dd .btnList li {
		min-width: 9.1rem;
	}
	#case .selectBox dd .btnList li a {
		padding: 0.8rem 0.2rem 0.7rem;
		font-size: 1.3rem;
	}
	#case .selectBox dd .btnList li.wid01 {
		width: 100%;
		max-width: 41.8rem;
	}
	#case .caseList {
		justify-content: space-between;
		gap: 4.4rem 0;
	}
	#case .caseList > li {
		width: 47%;
	}
	#case .caseList li .photo {
		margin-bottom: 1rem;
	}
	#case .caseList li .photo img {
		aspect-ratio: 300/210;
	}
	#case .caseList li .tagList {
		margin-bottom: 0.7rem;
		gap: 0.7rem 0.5rem;
	}
	#case .caseList li .tagList li {
		width: 7.6rem;
	}
	#case .caseList li p {
		font-size: 1.4rem;
		letter-spacing: 0;
	}
	#case .caseList li p .sm {
		font-size: 1rem;
		letter-spacing: 0.02em;
	}
	#case .navigation .wp-paginate {
		margin: 10rem 0 0;
	}
	#case .navigation .wp-paginate .current {
		color: #000;
		background-color: #E8B800;
		border-color: #E8B800;
	}
	#case.category .bgWhite {
		margin-bottom: 8.5rem;
	}
	#case.category .headLine01 {
		margin-bottom: 6.1rem;
	}
}
/*------------------------------------------------------------
	case-detail
------------------------------------------------------------*/
#case-detail .pageTitle {
	padding-left: 1.8rem;
	height: 72rem;
	background-image: url(img/case/detail/page_title_bg.jpg);
}
#case-detail .pageTitle h1 {
	letter-spacing: 0.18em;
}
#case-detail .bgWhite {
	margin-bottom: 10.3rem;
	padding-bottom: 10.4rem;
	background: #fff;
}
#case-detail .topBox {
	margin: 0 auto;
	width: 84rem;
}
#case-detail .topBox h2 {
	margin-bottom: 1.4rem;
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: 0.18em;
}
#case-detail .topBox h2 .ttlSub {
	margin-bottom: 0.7rem;
	display: block;
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: 0.18em;
}
#case-detail .topBox p {
	margin-bottom: 2.4rem;
	line-height: 2;
	letter-spacing: 0.02em;
}
#case-detail .topBox .tagList {
	margin-bottom: 1.5rem;
	display: flex;
	flex-wrap: wrap;
	gap: 1.2rem;
}
#case-detail .topBox .tagList li {
	min-width: 9.2rem;
	font-size: 1rem;
	line-height: 1.56;
	letter-spacing: 0.09em;
	text-align: center;
	border: 1px solid #000;
}
#case-detail .topBox .profile {
	font-size: 1.2rem;
	line-height: 2;
	letter-spacing: 0.02em;
}
#case-detail .topBox .profile .textList {
	display: grid;
	grid-template-columns: repeat(4, auto);
	grid-auto-flow: row;
	align-items: start;
	gap: 0 2rem;
}
#case-detail .topBox .profile .textList li {
	margin-bottom: 0.3rem;
	display: flex;
	gap: 0 1.4rem;
	break-inside: avoid;
}
#case-detail .topBox .profile .ttl {
	min-width: 4em;
	font-weight: 700;
}
#case-detail .content {
	width: 110rem;
}
#case-detail .ancList {
	margin: 0 auto 13.1rem;
	width: 71.8rem;
	display: flex;
	flex-wrap: wrap;
	gap: 2.2rem 2.7rem;
}
#case-detail .ancList li {
	width: 15.9rem;
	min-height: 3.2rem;
}
#case-detail .ancList li a {
	padding: 1px 0.5rem 0;
	width: 100%;
	height: 100%;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	letter-spacing: 0.08em;
	background: #BFB6A0;
	overflow: hidden;
}
#case-detail .ancList li a::before {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: #DBB72B;
	transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	transform: scale(0, 1);
	transform-origin: right top;
}
#case-detail .ancList li a span {
	position: relative;
	z-index: 1;
}
#case-detail .detailBox {
	margin-bottom: 22.8rem;
	position: relative;
}
#case-detail .detailBox .secBox {
	margin: 0 13rem 11.6rem 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	align-content: flex-start;
}
#case-detail .detailBox .secBox:last-child {
	margin-bottom: 0;
}
#case-detail .detailBox h3 {
	margin-right: auto;
	padding: 2.6rem 1.5rem 2.6rem 0.6rem;
	font-size: 3.2rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	white-space: nowrap;
	writing-mode: vertical-rl;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	text-orientation: upright;
}
#case-detail .detailBox .h3Ttl01 {
	padding: 2.6rem 0.6rem;
	font-size: 3.8rem;
}
#case-detail .detailBox .imgBox {
	margin-left: auto;
	width: 84rem;
	word-break: break-all;
}
#case-detail .detailBox figure {
	margin-bottom: 3.7rem;
}
#case-detail .detailBox figure:last-child {
	margin-bottom: 0;
}
#case-detail .detailBox figure img {
	width: 100%;
}
#case-detail .detailBox figcaption {
	margin: 1.4rem 0 0;
	line-height: 2;
	letter-spacing: 0.02em;
}
#case-detail .detailBox .colBox {
	display: flex;
	justify-content: space-between;
	gap: 4rem;
}
#case-detail .detailBox .colBox figure {
	margin: 0;
	width: auto;
	flex: 1;
}
#case-detail .detailBox .colBox figcaption {
	margin-top: 1rem;
}
#case-detail .comPageNav {
	margin-bottom: 0;
}
#case-detail .comBtmBox {
	margin-top: 16.4rem;
}
@media all and (min-width: 897px) and (orientation: landscape) {
	#case-detail #pagePath {
		margin-bottom: 13.5rem;
	}
	#case-detail .ancList li a:hover:before {
		transform-origin: left top;
		transform: scale(1, 1);
	}
}
@media all and (max-width: 896px), (orientation: portrait) {
	#case-detail .pageTitle {
		padding-left: 0.7rem;
		height: 41.7rem;
		background-image: url(img/case/detail/page_title_bg_sp.jpg);
	}
	#case-detail #pagePath {
		margin-bottom: 3.4rem;
	}
	#case-detail .bgWhite {
		margin-bottom: 7.5rem;
		padding-bottom: 7.5rem;
	}
	#case-detail .topBox {
		margin: 0 2rem;
		width: auto;
	}
	#case-detail .topBox h2 {
		margin-bottom: 1.4rem;
		letter-spacing: 0.1em;
	}
	#case-detail .topBox h2 .ttlSub {
		margin-bottom: 0.7rem;
		letter-spacing: 0.1em;
	}
	#case-detail .topBox p {
		margin-bottom: 4.5rem;
		letter-spacing: 0.04em;
	}
	#case-detail .topBox .tagList {
		margin-bottom: 0.8rem;
	}
	#case-detail .topBox .tagList li {
		min-width: 9.8rem;
		font-size: 1.2rem;
	}
	#case-detail .topBox .profile {
		display: block;
		font-size: 1.3rem;
	}
	#case-detail .topBox .profile .textList {
		min-width: initial;
		max-height: initial;
		display: block;
	}
	#case-detail .topBox .profile .textList li {
		margin: 0;
		padding: 1.3rem 0 1.4rem;
		width: 100%;
		display: flex;
		gap: 0 1rem;
		border-bottom: 1px solid #999999;
	}
	#case-detail .topBox .profile .ttl {
		min-width: 4.2em;
		font-weight: 500;
	}
	#case-detail .topBox .profile .textList01 li {
		width: 100% !important;
	}
	#case-detail .ancList {
		margin: 0 1.4rem 8.5rem;
		width: auto;
		gap: 2.8rem 2rem;
	}
	#case-detail .ancList li {
		width: calc((100% - 4rem) / 3);
		min-height: 3.6rem;
	}
	#case-detail .ancList li a {
		padding: 0.1rem 0.5rem 0;
		font-size: 1.3rem;
	}
	#case-detail .ancList li a::before {
		display: none;
	}
	#case-detail .detailBox {
		margin-bottom: 8rem;
	}
	#case-detail .detailBox .secBox {
		margin: 0 0 6.6rem;
		display: block;
	}
	#case-detail .detailBox .secBox:last-child {
		margin-bottom: 0;
	}
	#case-detail .detailBox h3 {
		margin: 0 auto 2.2rem;
		width: fit-content;
		padding: 0.8rem 1.8rem 1.1rem;
		font-size: 2.4rem;
		letter-spacing: 0.1em;
		white-space: initial;
		writing-mode: horizontal-tb;
		border-top: none;
		border-right: none;
		border-bottom: 1px solid #000;
		border-left: 1px solid #000;
		text-orientation: initial;
	}
	#case-detail .detailBox .h3Ttl01 {
		margin-bottom: 2.8rem;
		padding: 0.8rem 1.8rem 1.1rem;
		font-size: 2.4rem;
	}
	#case-detail .detailBox .imgBox {
		margin: 0;
		width: auto;
	}
	#case-detail .detailBox figure {
		margin-bottom: 3.3rem;
	}
	#case-detail .detailBox figure:last-child {
		margin-bottom: 0;
	}
	#case-detail .detailBox figcaption {
		margin: 1rem 0 0;
		font-size: 1.2rem;
		line-height: 1.75;
	}
	#case-detail .detailBox .colBox {
		gap: 1.6rem;
	}
	#case-detail .detailBox .colBox figure {
		margin: 0;
	}
	#case-detail .comBtmBox {
		margin-top: 9rem;
	}
}
/*------------------------------------------------------------
	contact
------------------------------------------------------------*/
#contact .pageTitle {
	background-image: url(img/contact/page_title_bg.jpg);
}
#contact .pageTitle h1 {
	line-height: 1.5;
}
#contact .pageTitle h1 .en {
	margin-left: -0.3rem;
}
#contact #pagePath {
	margin-bottom: 13.9rem;
}
#contact .formBox {
	margin-bottom: 6.8rem;
	display: flex;
	flex-wrap: wrap;
}
#contact .formBox .stepBox {
	margin-top: 0.3rem;
	width: 25.7rem;
	order: 1;
}
#contact .formBox .stepList {
	position: sticky;
	top: 16.4rem;
}
#contact .formBox .stepList li {
	padding: 0 0 5.3rem 4.1rem;
	position: relative;
	color: #999999;
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: 0.08em;
}
#contact .formBox .stepList li.current {
	color: #000;
	font-weight: 700;
}
#contact .formBox .stepList li::before {
	width: 1.4rem;
	height: 1.4rem;
	position: absolute;
	left: 0;
	top: 1.3rem;
	background: #999999;
	border-radius: 50%;
	content: '';
	z-index: 1;
}
#contact .formBox .stepList li.current::before {
	background: #DBB72B;
}
#contact .formBox .stepList li::after {
	width: 1px;
	height: 100%;
	position: absolute;
	left: 0.7rem;
	top: 2rem;
	background: #999;
	content: '';
}
#contact .formBox .stepList li:last-child:after {
	display: none;
}
#contact .formBox .stepList li .num {
	display: block;
	font-weight: 400;
	font-size: 1.4rem;
	letter-spacing: 0.08em;
}
#contact .formBox .ttlBox {
	margin-bottom: 10rem;
	width: 100%;
}
#contact .formBox .topText {
	text-align: center;
	font-size: 1.6rem;
	line-height: 2;
	letter-spacing: 0.08em;
}
#contact .formBox .subBox {
	width: calc(100% - 25.7rem);
	order: 2;
}
#contact .formBox table {
	width: 100%;
	border-collapse: collapse;
}
#contact .formBox th,
#contact .formBox td {
	padding-bottom: 4.5rem;
	text-align: left;
	vertical-align: top;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 2.05;
	word-break: break-all;
}
#contact .formBox th {
	padding-top: 0.3rem;
	width: 31.2%;
}
#contact .formBox th .fwBold {
	font-weight: 700;
}
#contact .formBox th.pt0 {
	padding-top: 0;
}
#contact .formBox th .must,
#contact .formBox th .any {
	margin-right: 0.6rem;
	width: 4rem;
	height: 1.7rem;
	display: inline-block;
	vertical-align: 0.2rem;
	text-align: center;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.09em;
	line-height: 1.7rem;
	background: #DBB72B;
}
#contact .formBox th .any {
	color: #fff;
	background-color: #999999;
}
#contact .formBox td input[type="text"],
#contact .formBox td input[type="tel"],
#contact .formBox td input[type="email"],
#contact .formBox td textarea,
#contact .formBox td select {
	margin: 0;
	padding: 0 1.1rem;
	width: 100%;
	height: 4.5rem;
	font-size: 1.6rem;
	font-weight: 500;
	color: #000;
	line-height: 1;
	letter-spacing: 0.02em;
	vertical-align: top;
	border-radius: 0.4rem;
	border: 1px solid #B2B2B2;
	background: #fff;
	box-sizing: border-box;
	-webkit-appearance: none;
	appearance: none;
}
#contact .formBox td textarea {
	padding: 0.9rem 1.1rem;
	height: 31.1rem;
	line-height: 1.5;
	resize: vertical;
}
#contact .formBox td ::placeholder {
	color: #999999;
	opacity: 1;
}
#contact .formBox td .checkList {
	gap: 0.5rem 2.8rem;
}
#contact .formBox td .checkList li {
	display: flex;
	align-items: center;
	gap: 2.1rem;
}
#contact .formBox td .checkList .other {
	margin-top: 0.9rem;
	width: 100%;
}
#contact .formBox td .checkList label {
	margin: 0;
	padding: 0;
	text-indent: 0;
	display: inline-block;
	flex-shrink: 0;
}
#contact .formBox td .checkList input[type="checkbox"] {
	display: none;
}
#contact .formBox td .checkList input[type="checkbox"] ~ span {
	padding-left: 3rem;
	display: inline-block;
	font-size: 1.6rem;
	line-height: 1.75;
	letter-spacing: 0.02em;
	background: url(img/contact/check_icon01.png) no-repeat left center / 2.1rem;
	cursor: pointer;
}
#contact .formBox td .checkList input[type="checkbox"]:checked ~ span {
	background-image: url(img/contact/check_icon02.png);
}
#contact .formBox td .checkList input[type="text"] {
	flex: 1;
}
#contact .formBox td .zipBox {
	display: flex;
	gap: 1.8rem;
}
#contact .formBox td .zipBox input[type="text"] {
	width: 20.1rem;
}
#contact .formBox td .zipBox .zipBtn {
	margin-top: 0.5rem;
	width: 19.6rem;
	height: 3.6rem;
	position: relative;
	overflow: hidden;
	cursor: pointer;
}
#contact .formBox td .zipBox .zipBtn::before {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: #000;
	transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	transform: scale(0, 1);
	transform-origin: right top;
	content: '';
}
#contact .formBox td .zipBox input[type="button"] {
	width: 19.6rem;
	height: 3.6rem;
	color: #000;
	font-weight: 500;
	font-size: 1.4rem;
	vertical-align: top;
	letter-spacing: 0.05em;
	line-height: 1;
	text-align: center;
	background: transparent;
	border-radius: 0;
	border: 1px solid #000;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	transition: 0.5s;
	position: relative;
	z-index: 1;
}
#contact .formBox td select {
	padding-right: 4rem;
	width: 20.1rem;
	background-image: url(img/common/icon02.png);
	background-position: right 1.9rem center;
	background-size: 1.3rem;
	background-repeat: no-repeat;
}
#contact .privacyBox {
	padding: 11.4rem 0 9.8rem;
	background: #CFC8B8;
}
#contact .privacyBox .privacy {
	margin: 0 auto 3.1rem;
	padding: 2.4rem 2.9rem 2.4rem 2.9rem;
	width: 64.5rem;
	height: 24.3rem;
	background: #fff;
	border: 1px solid #B2B2B2;
	border-radius: 0.4rem;
}
#contact .privacyBox .privacy ::-webkit-scrollbar {
	display: none;
}
#contact .privacyBox .privacy p {
	margin-bottom: 2.4rem;
	text-align: justify;
	line-height: 1.714;
	letter-spacing: 0.02em;
}
#contact .privacyBox .privacy a:hover {
	opacity: 0.7;
}
.simplebar-track.simplebar-vertical {
	width: 0.2rem;
	right: 1.5rem;
	top: 1.8rem;
	bottom: 1.8rem;
}
.simplebar-scrollbar.simplebar-visible:before {
	opacity: 1;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	border-radius: 0;
	background: #CCCCCC;
}
#contact .privacyBox .privacy p:last-child {
	margin-bottom: 0;
}
#contact .privacyBox .privacy p .mail {
	user-select: none !important;
	pointer-events: none;
}
#contact .privacyBox .agree {
	margin-bottom: 2.9rem;
	text-align: center;
	cursor: default;
	pointer-events: none;
}
#contact .privacyBox .agree.on {
	cursor: auto;
	pointer-events: all;
}
#contact .privacyBox .agree label {
	display: inline-block;
}
#contact .privacyBox .agree input[type="checkbox"] {
	display: none;
}
#contact .privacyBox .agree input[type="checkbox"] ~ span {
	padding-left: 3rem;
	display: inline-block;
	font-size: 1.6rem;
	line-height: 1.75;
	letter-spacing: 0.02em;
	background: url(img/contact/check_icon01.png) no-repeat left center / 2.1rem;
	cursor: pointer;
}
#contact .privacyBox .agree input[type="checkbox"]:checked ~ span {
	background-image: url(img/contact/check_icon02.png);
}
#contact .submit {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 4rem;
}
#contact .submit li {
	width: 27rem;
	position: relative;
}
#contact .submit label {
	width: 100%;
	height: 5.6rem;
	display: block;
	position: relative;
	overflow: hidden;
	cursor: pointer;
	background: #DBB72B;
}
#contact .submit label::before {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: #000;
	transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	transform: scale(0, 1);
	transform-origin: right top;
	content: '';
}
#contact .submit input {
	padding: 0 1.8rem 0 1rem;
	width: 100%;
	height: 5.6rem;
	text-align: center;
	font-size: 1.6rem;
	font-weight: 600;
	color: #fff;
	letter-spacing: 0.15em;
	border: none;
	border-radius: 0;
	background: url(img/common/icon05_over.png) no-repeat right 2.5rem center / 1.9rem;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	position: relative;
	transition: 0.5s;
	z-index: 1;
}
#contact .submit.nolink label {
	cursor: default;
	pointer-events: none;
	background: #999999;
}
#contact h2 {
	margin-bottom: 1rem;
	text-align: center;
	font-size: 2.8rem;
	font-weight: 700;
	letter-spacing: 0.08em;
}
#contact.confirm {
	margin-bottom: 17rem;
}
#contact.confirm #pagePath {
	margin-bottom: 12rem;
}
#contact.confirm .formBox {
	margin-bottom: 9rem;
}
#contact.confirm .formBox th,
#contact.confirm .formBox td {
	padding: 0 0 5rem !important;
}
#contact.confirm .formBox td {
	padding-right: 10rem !important;
	letter-spacing: 0.02em;
}
#contact.confirm .submit label {
	background-color: transparent;
}
#contact.confirm .submit input {
	color: #000;
	border: 1px solid #000;
	background-image: url(img/common/icon05.png);
}
#contact.thanks #pagePath {
	margin-bottom: 11.8rem;
}
#contact.thanks h2 {
	margin-bottom: 2rem;
}
#contact.thanks .formBox {
	margin-bottom: 26.2rem;
}
#contact.thanks .formBox .ttlBox {
	margin-bottom: 3rem;
}
#contact.thanks .formBox .subBox {
	padding: 10rem 25.8rem 0 0;
}
#contact.thanks .formBox .subBox .comBtn a {
	height: auto;
	font-size: 1.6rem;
	letter-spacing: 0.18em;
}
#contact.thanks .formBox .subBox .comBtn a .txt {
	padding: 1.5rem 3rem 1.5rem;
	min-height: 5.4rem;
	background: none;
}
#contact .stepTxt2 {
	display: none;
}
#contact.confirm .stepTxt1 {
	display: none;
}
#contact.confirm .stepTxt2 {
	display: block;
}
#contact .formBox td .checkList01 .wpcf7-checkbox {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 2.8rem;
}
#contact .formBox td .checkList01 .wpcf7-list-item {
	display: flex;
	align-items: center;
	gap: 2.1rem;
	margin: 0;
}
#contact .formBox td .checkList02 .wpcf7-list-item {
	margin: 0;
}
#contact .formBox td .checkList .other .otherInput {
	flex: 1;
}
#contact .privacyBox .agree .wpcf7-list-item {
	margin-left: 0;
}
#contact.confirm .fother {
	display: block;
}
#contact .wpcf7-spinner {
	position: absolute;
	bottom: -3rem;
	left: 42%;
}
@media all and (min-width: 897px) and (orientation: landscape) {
	#contact .formBox td .zipBox .zipBtn:hover:before {
		transform-origin: left top;
		transform: scale(1, 1);
	}
	#contact .formBox td .zipBox .zipBtn:hover input[type="button"] {
		color: #fff;
	}
	#contact .submit label:hover:before {
		transform-origin: left top;
		transform: scale(1, 1);
	}
	#contact .submit label:hover input {
		color: #fff;
		background-image: url(img/common/icon05_over.png);
	}
	#contact.confirm .submit label::before {
		background-color: #000;
	}
	#contact.confirm .submit label:hover input {
		color: #fff;
		background-image: url(img/common/icon05_over.png);
	}
	#contact.thanks .formBox .subBox .btn a:hover {
		color: #fff;
	}
	#contact.thanks .formBox .subBox .btn a:hover::before {
		width: 100%;
		color: #fff;
	}
}
@media all and (max-width: 896px), (orientation: portrait) {
	#contact {
		background: #F0ECE5;
	}
	#contact .pageTitle {
		background-image: url(img/contact/page_title_bg_sp.jpg);
	}
	#contact .pageTitle h1 {
		line-height: 1.34;
	}
	#contact .pageTitle h1 .en {
		margin-left: -0.1rem;
	}
	#contact #pagePath {
		margin-bottom: 6.3rem;
	}
	#contact .formBox {
		margin-bottom: 3.7rem;
		display: block;
	}
	#contact .formBox .stepBox {
		margin: 0 -2rem 5.1rem;
		width: auto;
	}
	#contact .formBox .stepList {
		display: flex;
		justify-content: center;
		position: static;
	}
	#contact .formBox .stepList li {
		padding: 3.3rem 2.5rem 0;
		width: 33.33%;
		font-size: 1.4rem;
		text-align: center;
		line-height: 1.4;
		font-weight: 500;
	}
	#contact .formBox .stepList li::before {
		left: 50%;
		top: 0.3rem;
		transform: translateX(-50%);
	}
	#contact .formBox .stepList li::after {
		width: 100%;
		height: 1px;
		position: absolute;
		left: 50%;
		top: 1rem;
	}
	#contact .formBox .stepList li .num {
		margin-bottom: 0.6rem;
		font-size: 1.2rem;
		letter-spacing: 0.1em;
	}
	#contact .formBox .ttlBox {
		margin-bottom: 6.1rem;
	}
	#contact .formBox .topText {
		font-size: 1.4rem;
		letter-spacing: 0.04em;
	}
	#contact .formBox .subBox {
		width: auto;
	}
	#contact .formBox th,
	#contact .formBox td {
		padding-bottom: 0.7rem;
		width: 100% !important;
		display: block;
		font-size: 1.6rem;
		line-height: 1.75;
		box-sizing: border-box;
	}
	#contact .formBox th {
		padding-top: 0;
		font-weight: 700;
	}
	#contact .formBox td {
		padding-bottom: 2.6rem;
	}
	#contact .formBox td input[type="text"],
	#contact .formBox td input[type="tel"],
	#contact .formBox td input[type="email"],
	#contact .formBox td textarea,
	#contact .formBox td select {
		font-size: 1.4rem;
	}
	#contact .formBox td textarea {
		padding: 1.1rem;
		height: 22rem;
	}
	#contact .formBox td .checkList {
		margin-right: 4rem;
		padding-bottom: 0.2rem;
		gap: 1.3rem 2.4rem;
	}
	#contact .formBox td .checkList li {
		flex-wrap: wrap;
		gap: 0;
	}
	#contact .formBox td .checkList .other {
		margin-top: 0;
		width: 100%;
		flex-direction: column;
		align-items: flex-start;
	}
	#contact .formBox td .checkList input[type="checkbox"] ~ span {
		font-size: 1.4rem;
	}
	#contact .formBox td .checkList input[type="text"] {
		margin: 0.7rem -4rem 0 0;
		width: calc(100% + 4rem);
		height: 6.8rem;
		padding-bottom: 2.2rem;
		flex: initial;
	}
	#contact .formBox td .zipBox {
		gap: 0 1.7rem;
	}
	#contact .formBox td .zipBox .wpcf7-form-control-wrap {
		width: calc(100% - 19.1rem);
	}
	#contact .formBox td .zipBox input[type="text"] {
		width: 100%;
	}
	#contact .formBox td .zipBox .zipBtn {
		width: 17.4rem;
		flex-shrink: 0;
	}
	#contact .formBox td .zipBox input[type="button"] {
		width: 100%;
	}
	#contact .formBox td select {
		width: 20.9rem;
	}
	#contact .privacyBox {
		padding: 5.6rem 0 6.1rem;
	}
	#contact .privacyBox .privacy {
		margin-bottom: 3.8rem;
		padding: 1.1rem 1.8rem 1.1rem 1.1rem;
		width: auto;
		height: 22rem;
	}
	#contact .privacyBox .privacy p {
		margin-bottom: 2.2rem;
		font-size: 1.3rem;
		line-height: 1.65;
	}
	#contact .privacyBox .privacy p:last-child {
		margin-bottom: 0;
	}
	.simplebar-track.simplebar-vertical {
		right: 0.8rem;
		top: 1.5rem;
		bottom: 1.5rem;
	}
	#contact .privacyBox .agree {
		margin-bottom: 2.9rem;
	}
	#contact .privacyBox .agree input[type="checkbox"] ~ span {
		font-size: 1.5rem;
	}
	#contact .submit {
		flex-direction: column;
		align-items: center;
	}
	#contact .submit input {
		font-size: 1.5rem;
	}
	#contact h2 {
		margin-bottom: 0.5rem;
		font-size: 1.6rem;
	}
	#contact.confirm {
		margin-bottom: 9.6rem;
	}
	#contact.confirm #pagePath {
		margin-bottom: 6.2rem;
	}
	#contact.confirm .formBox {
		margin-bottom: 4rem;
	}
	#contact.confirm .formBox th,
	#contact.confirm .formBox td {
		padding: 0 0 0.2rem !important;
	}
	#contact.confirm .formBox td {
		padding: 0 0 2.6rem 4.7rem !important;
	}
	#contact.thanks #pagePath {
		margin-bottom: 6.3rem;
	}
	#contact.thanks h2 {
		margin-bottom: 0.5rem;
		letter-spacing: 0.12em;
	}
	#contact.thanks .formBox {
		margin-bottom: 11rem;
	}
	#contact.thanks .formBox .ttlBox {
		margin: 0 -0.5rem 3rem;
		width: auto;
	}
	#contact.thanks .formBox .subBox {
		padding: 3.6rem 0 0;
	}
	#contact.thanks .formBox .subBox .comBtn {
		width: 27rem;
	}
	#contact.thanks .formBox .subBox .comBtn a {
		height: auto;
		font-size: 1.5rem;
	}
	#contact .formBox td .checkList01 .wpcf7-checkbox {
		margin-right: 4rem;
		padding-bottom: 0.2rem;
		gap: 1.3rem 2.4rem;
	}
	#contact .formBox td .checkList01 .wpcf7-checkbox .wpcf7-list-item {
		flex-wrap: wrap;
		gap: 0;
	}
	#contact .formBox td .checkList .other .otherInput {
		flex: auto;
	}
}
/*------------------------------------------------------------
	company
------------------------------------------------------------*/
#company .pageTitle {
	background-image: url(img/company/page_title_bg.jpg);
}
#company .pageTitle h1 {
	letter-spacing: 0.14em;
}
#company .comIntro {
	margin: -14.1rem auto 11.3rem;
	min-width: 41.8rem;
}
#company .secBox .ttlBox {
	padding-left: 3.3rem;
	flex: 1;
}
#company .secBox .innerBox {
	margin: 1.2rem 16rem 0 0;
	width: 84rem;
}
#company .secBox .photo {
	margin-bottom: 3.1rem;
}
#company .secBox .photo img {
	width: 100%;
}
#company .secBox p {
	margin-bottom: 4.5rem;
	font-size: 1.6rem;
	line-height: 2;
	letter-spacing: 0.02em;
}
#company .comBtn a {
	font-size: 1.6rem;
}
#company .sec01 {
	margin-bottom: 22.7rem;
}
#company .phoArea img {
	width: 100%;
	height: 40rem;
	object-fit: cover;
}
#company .sec02 {
	padding: 16.1rem 0;
	background: #DFDACF;
}
#company .sec02 .headLine02 {
	margin-left: -0.2rem;
	font-size: 3.2rem;
}
#company .sec02 .headLine02 span {
	padding: 2.7rem 1.4rem 2.4rem 0.7rem;
}
#company .sec02 .innerBox {
	margin-top: 2.4rem;
}
#company .sec02 .textBox {
	margin-bottom: 6.9rem;
	display: flex;
	justify-content: space-between;
}
#company .sec02 .textBox .txtList {
	margin-left: 9rem;
	width: 29.5rem;
}
#company .sec02 .textBox .txtList01 {
	width: 38rem;
	margin: 0 -0.5rem 0 0;
}
#company .sec02 .textBox .txtList dt {
	margin-bottom: 0.8rem;
	font-size: 1.8rem;
	font-weight: 600;
	letter-spacing: 0.06em;
}
#company .sec02 .textBox .txtList dd {
	margin: 0 0 2.8rem 1em;
	letter-spacing: 0.06em;
	line-height: 1.7142;
}
#company .sec02 .textBox .txtList dd:last-child {
	margin-bottom: 0;
}
#company .sec02 .textBox .txtList dd .txtUl li {
	padding-left: 1.25em;
	text-indent: -1.25em;
}
#company .sec02 .textBox .txtList dd .txtUl li .dot {
	margin-right: 0.25em;
	font-size: 0.8rem;
	vertical-align: 0.2rem;
}
#company .sec02 .textBox .txtList dd .mail {
	user-select: none !important;
	pointer-events: none;
}
#company .sec03 {
	padding: 14.2rem 0 16.6rem;
	width: 96rem;
}
#company .sec03 .subSec {
	width: 44rem;
}
#company .sec03 h2 {
	margin-bottom: 2.4rem;
	text-align: center;
	font-weight: 700;
	font-size: 2.4rem;
	letter-spacing: 0.16em;
}
#company .sec03 .workArea .photo {
	margin-bottom: 3rem;
}
#company .sec03 .workArea .photo img {
	width: 100%;
}
#company .sec03 .workArea .areaList {
	margin: 0 -0.5rem 3.4rem 0;
	line-height: 2;
	letter-spacing: 0.02em;
}
#company .sec03 .workArea .areaList dt {
	width: 5em;
	font-weight: 700;
}
#company .sec03 .workArea .areaList dd {
	margin-bottom: 0.5rem;
	width: calc(100% - 5em);
}
#company .sec03 .workArea .areaList dd:last-child {
	margin-bottom: 0;
}
#company .sec03 .workArea .areaList dd p {
	margin-bottom: 0.5rem;
}
#company .sec03 .workArea .areaList dd p:last-child {
	margin-bottom: 0;
}
#company .sec03 .workArea .note {
	margin-bottom: 1.5rem;
	text-align: center;
	letter-spacing: 0.02em;
	line-height: 2;
}
#company .sec03 .comBtn a .txt {
	background-position: right 2rem center;
}
#company .sec03 .access .map {
	margin-bottom: 3.6rem;
	width: 100%;
	height: 31.2rem;
	position: relative;
}
#company .sec03 .access .map iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
}
#company .sec03 .access .txtList {
	margin-bottom: 3.1rem;
	text-align: center;
	letter-spacing: 0.02em;
	line-height: 2;
}
#company .sec03 .access .txtList dt {
	width: 27rem;
	margin: 0 auto 0.5rem;
	line-height: 1.84;
	font-weight: 700;
	border: 1px solid #000;
}
#company .sec03 .access .txtList dd {
	margin-bottom: 2rem;
}
#company .sec03 .access .txtList dd:last-child {
	margin-bottom: 0;
}
@media all and (max-width: 896px), (orientation: portrait) {
	#company .pageTitle {
		background-image: url(img/company/page_title_bg_sp.jpg);
	}
	#company .pageTitle h1 {
		letter-spacing: 0.21em;
	}
	#company .pageTitle h1 .en {
		margin-left: -0.7rem;
	}
	#company .comIntro {
		margin: 0 2rem 9.3rem;
	}
	#company .secBox .content {
		display: block;
	}
	#company .secBox .ttlBox {
		padding-left: 0;
	}
	#company .secBox .innerBox {
		margin: 0;
		width: auto;
	}
	#company .secBox .headLine02 {
		margin-bottom: 2.9rem;
	}
	#company .secBox .photo {
		margin-bottom: 1.6rem;
	}
	#company .secBox p {
		margin: 0 1rem 2.3rem;
		text-align: justify;
		font-size: 1.4rem;
		letter-spacing: 0.05em;
	}
	#company .sec01 .comBtn {
		width: 17.6rem;
	}
	#company .comBtn a {
		font-size: 1.3rem;
	}
	#company .comBtn a .txt {
		padding: 0.5rem 3.8rem 0.5rem 3.7rem;
		background-position: right 2rem center;
	}
	#company .sec01 {
		margin-bottom: 11.5rem;
	}
	#company .phoArea img {
		height: auto;
	}
	#company .sec02 {
		padding: 9.9rem 0 9.6rem;
		background: #E0DACC;
	}
	#company .sec02 .headLine02 {
		margin: 0 0 3.5rem;
		font-size: 2rem;
	}
	#company .sec02 .headLine02 span {
		padding: 0.7rem 1.9rem 1rem;
	}
	#company .sec02 .innerBox {
		margin: 0 1.5rem;
	}
	#company .sec02 .textBox {
		margin-bottom: 5.8rem;
		display: block;
	}
	#company .sec02 .textBox .txtList {
		margin: 0 0 3rem;
		width: auto;
	}
	#company .sec02 .textBox .txtList01 {
		width: auto;
		margin: 0;
	}
	#company .sec02 .textBox .txtList dt {
		margin-bottom: 0.2rem;
	}
	#company .sec02 .textBox .txtList dd {
		margin: 0 -2rem 2.2rem 1em;
		font-size: 1.3rem;
		line-height: 1.923;
	}
	#company .sec02 .textBox .txtList dd:last-child {
		margin-bottom: 0;
	}
	#company .sec02 .textBox .txtList dd .txtUl li .dot {
		font-size: 0.9rem;
	}
	#company .sec02 .textBox .txtList dd .infoList {
		margin-left: -0.5em;
	}
	#company .sec02 .textBox .txtList dd .infoList li {
		display: flex;
	}
	#company .sec02 .textBox .txtList dd .infoList li .ttl {
		width: 7em;
	}
	#company .sec02 .textBox .txtList dd .infoList li .txt {
		width: calc(100% - 7em);
		margin-left: -0.5em;
	}
	#company .sec03 {
		padding: 8.9rem 0 12.9rem;
		width: auto;
		display: block;
	}
	#company .sec03 .subSec {
		width: auto;
	}
	#company .sec03 h2 {
		margin-bottom: 1.2rem;
		font-size: 1.6rem;
		letter-spacing: 0.02em;
	}
	#company .sec03 .workArea {
		margin-bottom: 8.5rem;
	}
	#company .sec03 .workArea .photo {
		margin-bottom: 2.2rem;
	}
	#company .sec03 .workArea .areaList {
		margin: 0 1rem 2.5rem;
		display: block;
		line-height: 1.857;
	}
	#company .sec03 .workArea .areaList dt {
		margin-bottom: 0.3rem;
		width: auto;
	}
	#company .sec03 .workArea .areaList dd {
		margin-bottom: 1.3rem;
		width: auto;
	}
	#company .sec03 .workArea .areaList dd:last-child {
		margin-bottom: 0;
	}
	#company .sec03 .workArea .areaList dd p {
		margin-bottom: 0.8rem;
	}
	#company .sec03 .workArea .areaList dd p:last-child {
		margin-bottom: 0;
	}
	#company .sec03 .workArea .note {
		margin-bottom: 1.1rem;
		font-size: 1.3rem;
		line-height: 1.6153;
	}
	#company .sec03 .comBtn a .txt {
		background-position: right 1.2rem center;
	}
	#company .sec03 .access .map {
		margin-bottom: 2rem;
		width: 100%;
		height: auto;
		aspect-ratio: 670/414;
	}
	#company .sec03 .access .txtList {
		margin: 0 auto 3.1rem;
		width: 71%;
		line-height: 1.8;
	}
	#company .sec03 .access .txtList dt {
		margin: 0 0 0.5rem;
		padding-top: 0.2rem;
		width: 13.5rem;
		min-height: 2.8rem;
		font-size: 1.3rem;
	}
	#company .sec03 .access .txtList dd {
		margin: 0 -1em 1.2rem 0;
		text-align: left;
	}
	#company .sec03 .access .txtList dd:last-child {
		margin-bottom: 0;
	}
}
/*------------------------------------------------------------
	history
------------------------------------------------------------*/
#history .pageTitle {
	height: 72rem;
	background-image: url(img/history/page_title_bg.jpg);
}
#history .historyBox {
	margin-bottom: 17.7rem;
	display: flex;
	justify-content: space-between;
	position: relative;
}
#history .historyBox .navSub {
	position: sticky;
	left: 0;
	top: 0;
	z-index: 2;
}
#history .historyBox .navList {
	padding-top: 1.3rem;
}
#history .historyBox .navList li {
	padding: 1.2rem 0 1.3rem 4.1rem;
	min-height: 9.5rem;
	display: flex;
	align-items: center;
	position: relative;
}
#history .historyBox .navList li::before {
	width: 1px;
	height: 100%;
	position: absolute;
	left: 0.7rem;
	top: 0;
	background: #999999;
	content: '';
}
#history .historyBox .navList li:first-child::before {
	height: 50%;
	top: 50%;
}
#history .historyBox .navList li:last-child::before {
	height: 50%;
}
#history .historyBox .navList li a {
	display: block;
	position: relative;
	font-weight: 700;
	letter-spacing: 0.08em;
}
#history .historyBox .navList li .year {
	display: block;
}
#history .historyBox .navList li .txt {
	display: block;
	font-size: 1.3rem;
}
#history .historyBox .navList li a .year::before {
	width: 1.4rem;
	height: 1.4rem;
	position: absolute;
	left: -4.1rem;
	top: 50%;
	background: #999999;
	border-radius: 50%;
	transform: translateY(-50%);
	content: '';
	z-index: 1;
	transition: 0.5s;
}
#history .historyBox .navList .current a .year::before {
	background: #DBB72B;
}
#history .historyBox .contsBox {
	width: 91.4rem;
}
#history h2 {
	margin-bottom: -3.5rem;
	position: relative;
	color: #9F9170;
	font-weight: 400;
	font-size: 15.2rem;
	letter-spacing: 0.02em;
	line-height: 1;
	z-index: 1;
}
#history .secBox {
	margin-bottom: 16rem;
}
#history .sec01 {
	margin-bottom: 9.4rem;
}
#history .secBox:last-child {
	margin-bottom: 0;
}
#history .secBox .imgBox {
	margin-bottom: 3.3rem;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
#history .secBox .imgBox01 {
	margin-bottom: 8.6rem;
}
#history .secBox .imgBox:last-child {
	margin-bottom: 0;
}
#history .secBox .imgBox .photoBox {
	margin-left: 3.5rem;
	width: 54rem;
}
#history .secBox .imgBox .photoBox .photo {
	margin-bottom: 3rem;
}
#history .secBox .imgBox .photoBox .photo:last-child {
	margin-bottom: 0;
}
#history .secBox .imgBox .photoBox .photo01 {
	width: 38.2rem;
}
#history .secBox .imgBox .photoBox .photo img {
	width: 100%;
}
#history .secBox .imgBox .photoBox .photo .txt {
	margin-top: 0.8rem;
	display: block;
	font-size: 1.2rem;
	line-height: 2;
	letter-spacing: 0.02em;
}
#history .secBox .imgBox .photoBox .photo:last-child {
	margin-bottom: 0;
}
#history .secBox .imgBox .textBox {
	padding-top: 2.1rem;
	width: 29rem;
}
#history .sec01 .imgBox .textBox {
	padding-top: 1.4rem;
}
#history .secBox .imgBox .textBox .subBox {
	margin-bottom: 3.4rem;
	padding-left: 3rem;
	position: relative;
}
#history .secBox .imgBox .textBox .subBox:last-child {
	margin-bottom: 0;
}
#history .secBox .imgBox .textBox h3 {
	margin: 0 -1.5rem 1.8rem 0;
	display: flex;
	flex-direction: column;
}
#history .secBox .imgBox .textBox h3 .time {
	display: block;
	position: relative;
	font-weight: 500;
	letter-spacing: 0.08em;
}
#history .secBox .imgBox .textBox h3 .time::before {
	width: 2.1rem;
	height: 1px;
	position: absolute;
	left: -3.4rem;
	top: 1.7rem;
	background: #000;
	content: '';
}
#history .secBox .imgBox .textBox h3 .time .bold {
	margin-right: 1rem;
	font-weight: 700;
	font-size: 1.5rem;
}
#history .secBox .imgBox .textBox h3 .time .bold .lrg {
	font-size: 2.1rem;
}
#history .secBox .imgBox .textBox h3 .time + .ttlSub {
	margin-top: -0.2rem;
}
#history .secBox .imgBox .textBox h3 .ttlSub {
	width: 100%;
	display: block;
	font-size: 2.8rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.464;
}
#history .secBox .imgBox .textBox p {
	margin-bottom: 1.9rem;
	text-align: justify;
	letter-spacing: 0.02em;
	line-height: 2;
}
#history .secBox .imgBox .textBox p:last-child {
	margin-bottom: 0;
}
#history .annBox {
	padding: 10rem 0 18.8rem;
	position: relative;
	text-align: center;
	background: #fff;
}
#history .annBox::before {
	width: 100%;
	height: 33.2rem;
	position: absolute;
	left: 0;
	top: 0;
	background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(239, 237, 231, 1) 100%);
	content: '';
}
#history .annBox .content {
	position: relative;
	z-index: 1;
}
#history .annBox h2 {
	margin-bottom: 5.9rem;
}
#history .annBox p {
	font-size: 2.8rem;
	font-weight: 700;
	letter-spacing: 0.08em;
}
#history .annBox .text01 {
	margin-bottom: 3rem;
}
#history .annBox .photo {
	margin-bottom: 19.6rem;
}
#history .fadeIn {
	transition: opacity 2s 0s cubic-bezier(.26, .06, 0, 1)
}
#history .annBox .text01 {
	transition-delay: 0.5s;
}
#history .annBox .photo {
	transition-delay: 0.5s;
}
#history .annBox .text02 {
	transition-duration: 3s;
	transition-delay: 0.5s;
}
@media all and (min-width: 897px) and (orientation: landscape) {
	#history .historyBox .navList li a:hover .year::before {
		background: #DBB72B;
	}
	#history .secBox .imgBox .textBox .subBox01 {
		margin-bottom: 17.9rem;
	}
}
@media all and (max-width: 896px), (orientation: portrait) {
	#history {
		background: #F0ECE5;
	}
	#history .pageTitle {
		height: 41.7rem;
		background-image: url(img/history/page_title_bg_sp.jpg);
	}
	#history .pageTitle h1 .en {
		margin-left: -0.6rem;
	}
	#history .comIntro {
		margin-bottom: 7.5rem;
	}
	#history .historyBox {
		margin: 0 0 10.5rem;
		display: block;
	}
	#history .historyBox .navBox {
		margin-bottom: 7.5rem;
		z-index: 2;
	}
	#history .historyBox .navSub {
		position: static;
	}
	#history .historyBox .navList {
		padding-top: 0;
	}
	#history .historyBox .navList li {
		padding: 0.7rem 1rem 0.7rem 5.2rem;
		min-height: initial;
		display: block;
	}
	#history .historyBox .navList li::before {
		left: 3.5rem;
	}
	#history .historyBox .navList li a {
		display: flex;
		align-items: flex-start;
		letter-spacing: 0.05em;
	}
	#history .historyBox .navList li .year {
		margin-top: 0.3rem;
		width: 4.5em;
		font-size: 1.3rem;
		position: relative;
	}
	#history .historyBox .navList li a .year::before {
		left: -2.4rem;
		background: #DBB72B;
	}
	#history .historyBox .navList li .txt {
		width: calc(100% - 4.5em);
		font-size: 1.6rem;
	}
	#history .historyBox .contsBox {
		margin: 0 2rem;
		width: auto;
	}
	#history h2 {
		margin-bottom: -2.8rem;
		font-size: 7.5rem;
	}
	#history .secBox {
		margin-bottom: 6.2rem;
	}
	#history .sec01 {
		margin-bottom: 6.6rem;
	}
	#history .secBox:last-child {
		margin-bottom: 0;
	}
	#history .secBox .imgBox {
		margin: 0 0 3.3rem 2.3rem;
		display: block;
	}
	#history .secBox .imgBox01 {
		margin-bottom: 5rem;
	}
	#history .secBox .imgBox:last-child {
		margin-bottom: 0;
	}
	#history .secBox .imgBox .photoBox {
		margin: 0 0 2.7rem;
		width: auto;
	}
	#history .secBox .imgBox .photoBox .photo {
		margin-bottom: 3rem;
	}
	#history .secBox .imgBox .photoBox .photo:last-child {
		margin-bottom: 0;
	}
	#history .secBox .imgBox .photoBox .photo01 {
		width: 70.4%;
	}
	#history .secBox .imgBox .photoBox .photo .txt {
		margin-top: 0.3rem;
		line-height: 1.66;
	}
	#history .secBox .imgBox .photoBox .photo:last-child {
		margin-bottom: 0;
	}
	#history .secBox .imgBox .textBox {
		margin-left: 2rem;
		padding-top: 0;
		width: auto;
	}
	#history .sec01 .imgBox .textBox {
		padding-top: 0;
	}
	#history .secBox .imgBox .textBox .subBox {
		margin-bottom: 2.8rem;
	}
	#history .secBox .imgBox .textBox .subBox:last-child {
		margin-bottom: 0;
	}
	#history .secBox .imgBox .textBox h3 {
		margin: 0 -1.5rem 2rem 0;
	}
	#history .secBox .imgBox .textBox h3 .time {
		font-size: 1.3rem;
		letter-spacing: 0.1em;
	}
	#history .secBox .imgBox .textBox h3 .time::before {
		width: 2.2rem;
		left: -3.3rem;
		top: 1.6rem;
	}
	#history .secBox .imgBox .textBox h3 .time .bold {
		margin-right: 1.2rem;
		font-size: 1.4rem;
		letter-spacing: 0.12em;
	}
	#history .secBox .imgBox .textBox h3 .time .bold .lrg {
		font-size: 2rem;
	}
	#history .secBox .imgBox .textBox h3 .time + .ttlSub {
		margin-top: 0.2rem;
	}
	#history .secBox .imgBox .textBox h3 .ttlSub {
		font-size: 2.4rem;
		line-height: 1.458;
	}
	#history .secBox .imgBox .textBox p {
		margin-bottom: 2.3rem;
	}
	#history .secBox .imgBox .textBox p:last-child {
		margin-bottom: 0;
	}
	#history .annBox {
		padding: 2.1rem 0 7rem;
	}
	#history .annBox::before {
		height: 18.7rem;
	}
	#history .annBox h2 {
		margin-bottom: 2.7rem;
	}
	#history .annBox p {
		font-size: 1.6rem;
		line-height: 1.5625;
	}
	#history .annBox .text01 {
		margin-bottom: 1.5rem;
	}
	#history .annBox .photo {
		margin-bottom: 6rem;
	}
	#history .annBox .photo img {
		width: 100%;
	}
}
/*------------------------------------------------------------
	flow
------------------------------------------------------------*/
#flow .pageTitle {
	background-image: url(img/flow/page_title_bg.jpg);
}
#flow .comIntro {
	margin-bottom: 13.1rem;
}
#flow .anchorList {
	margin-bottom: 17.2rem;
	display: flex;
	gap: 2rem;
	justify-content: center;
}
#flow .anchorList li {
	width: 20rem;
}
#flow .anchorList a {
	padding: 1rem 0 0.9rem;
	display: block;
	text-align: center;
	background-color: #bdb6a4;
}
#flow .flowBox {
	padding: 0 0 20rem;
	position: relative;
}
#flow .flowBox:nth-of-type(2n) {
	margin-bottom: 27rem;
	padding: 23.9rem 0 23.2rem;
	background-color: #DEDBD2;
}
#flow .flowBox .flow {
	padding-bottom: 10.5rem;
	position: relative;
}
#flow .flowBox .flow::after {
	position: absolute;
	left: -5rem;
	top: 8rem;
	content: '';
	height: calc(100% - 6.5rem);
	border-left: 0.2rem dotted #000;
}
#flow .flowBox .flow:last-child {
	padding-bottom: 0;
}
#flow .flowBox .flow:last-child:after {
	display: none;
}
#flow .flowBox .head {
	margin: 0.7rem 0 4.4rem;
	font-size: 2.8rem;
	font-weight: bold;
	position: relative;
	letter-spacing: 0.22rem;
	line-height: 1.39;
	min-height: 8rem;
	display: flex;
	align-items: center;
}
#flow .flowBox .head .num {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	left: -8rem;
	top: 1rem;
	width: 6.2rem;
	height: 6.2rem;
	font-weight: 400;
	color: #fff;
	font-size: 2rem;
	background-color: #D0B53D;
}
#flow .flowBox p {
	line-height: 2;
	letter-spacing: 0.02rem;
	text-align: justify;
}
#flow .accordionBox {
	margin: 0 3.2rem;
	position: relative;
	background-color: #FFF;
	border-top: 0.2rem solid #000000;
}
#flow .accordionBox .btn {
	margin-top: -0.1rem;
	position: absolute;
	left: 50%;
	top: 0;
	transform: translate(-50%, -50%);
	width: 3.5rem;
	height: 3.5rem;
	background-color: #000000;
	border-radius: 4rem;
	cursor: pointer;
}
#flow .accordionBox .btn:before,
#flow .accordionBox .btn:after {
	position: absolute;
	left: 0.7rem;
	top: 50%;
	width: 2.2rem;
	height: 1px;
	background-color: #FFF;
	transition: all .3s ease;
	content: "";
}
#flow .accordionBox .btn:after {
	transform: rotate(90deg);
}
#flow .accordionBox .btn.on:before {
	transform: rotate(45deg);
}
#flow .accordionBox .btn.on:after {
	transform: rotate(135deg);
}
#flow .accordionBox .inner {
	display: none;
}
#flow .accordionBox .list {
	padding: 3.4rem 4.3rem 4.4rem;
}
#flow .accordionBox .list li {
	position: relative;
}
#flow .accordionBox .list li::after {
	width: 6rem;
	position: absolute;
	left: 100%;
	top: 1rem;
	bottom: 0;
	content: '';
	background: url(img/flow/icon.png) no-repeat center center / 2.5rem;
}
#flow .accordionBox .list li:last-child::after {
	display: none;
}
#flow .accordionBox h4 {
	margin-bottom: 0.8rem;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 1.8rem;
	line-height: 1.33;
}
#flow .flowBox .imgBox .photoBox img {
	width: 100%;
}
@media all and (min-width: 897px) and (orientation: landscape) {
	#flow .pageTitle h1 {
		letter-spacing: 0.14em;
	}
	#flow .flowBox .content {
		padding-right: 9.6rem;
		margin: 0 auto;
		width: auto;
		max-width: 109.6rem;
		display: flex;
		justify-content: space-between;
	}
	#flow .flowBox .flowArea {
		width: calc(100% - 23rem);
	}
	#flow .flowBox .txtArea {
		margin: -2rem 3.2rem 0;
	}
	#flow .flowBox .imgBox {
		margin: 0 3.2rem 5.4rem;
		display: flex;
		gap: 3.5rem;
	}
	#flow .flowBox .imgBox .photoBox {
		width: 23.4rem;
	}
	#flow .flowBox .imgBox .textBox {
		margin-bottom: -0.5rem;
		flex: 1;
		align-self: flex-end;
	}
	#flow .accordionBox .list {
		display: flex;
		flex-wrap: wrap;
		gap: 5rem 6rem;
	}
	#flow .accordionBox .list li {
		width: calc((100% - 12rem)/3);
	}
	#flow .accordionBox .list.colum2 li {
		width: calc(50% - 3rem);
		position: relative;
	}
	#flow .accordionBox .list li:nth-child(3n)::after {
		display: none;
	}
	#flow .anchorList a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px), (orientation: portrait) {
	#flow .pageTitle {
		background-image: url(img/flow/page_title_bg_sp.jpg);
	}
	#flow .pageTitle h1 .en {
		margin-left: -0.5rem;
	}
	#flow .anchorList {
		margin: 0 2rem 7rem;
		gap: 2.2rem;
	}
	#flow .anchorList li {
		width: 100%;
	}
	#flow .anchorList a {
		padding: 0.8rem 0;
		font-size: 1.3rem;
	}
	#flow .flowArea {
		margin: 0 0 0 4rem;
	}
	#flow .flowBox {
		padding: 0 0 9.6rem;
	}
	#flow .flowBox:nth-of-type(2n) {
		padding: 8.4rem 0 8rem;
		margin-bottom: 10rem;
	}
	#flow .flowBox .flow {
		padding-bottom: 8.5rem;
	}
	#flow .flowBox .flow::after {
		left: -2.5rem;
		top: 2.7rem;
		height: 100%;
	}
	#flow .flowBox .head {
		margin-bottom: 2.4rem;
		min-height: inherit;
		font-size: 1.6rem;
		line-height: 1.5625;
		letter-spacing: 0.1rem;
	}
	#flow .flowBox .head .num {
		left: -4rem;
		top: -0.4rem;
		width: 3.1rem;
		height: 3.1rem;
		font-size: 1.2rem;
	}
	#flow .flowBox .imgBox {
		margin: 0 0 5rem 0.4rem;
	}
	#flow .flowBox .imgBox .photoBox {
		margin-bottom: 1.8rem;
	}
	#flow .flowBox p {
		line-height: 1.95;
	}
	#flow .accordionBox {
		margin: 0 0.2rem;
	}
	#flow .accordionBox .list {
		padding: 3.2rem 2.6rem 2.5rem;
	}
	#flow .accordionBox .list li:not(:last-child) {
		margin-bottom: 4.3rem;
	}
	#flow .accordionBox .list li::after {
		left: 50%;
		top: auto;
		width: 2.5rem;
		height: 3rem;
		bottom: -4.1rem;
		transform: translateX(-50%) rotate(90deg);
		background-size: 1.8rem;
	}
	#flow .accordionBox h4 {
		margin-bottom: 0.9rem;
		font-size: 1.4rem;
	}
	#flow .accordionBox p {
		font-size: 1.3rem;
		line-height: 1.8;
	}
	#flow .flowBox .txtArea {
		margin: 3.2rem 0 0;
	}
	#flow .comBtmBox {
		margin-top: 0.8rem;
	}
}
/*------------------------------------------------------------
	staff
------------------------------------------------------------*/
#staff .pageTitle {
	background-image: url(img/staff/page_title_bg.jpg);
}
#staff #pagePath {
	margin-bottom: 13.7rem;
}
#staff .staffList01 {
	margin-bottom: 15.7rem;
	position: relative;
	gap: 9.6rem 0;
}
#staff .staffList01::after {
	content: '';
	width: 53.8rem;
	position: absolute;
	right: -22rem;
	bottom: -22rem;
	aspect-ratio: 538/544;
	background: url(img/staff/bg01.png) no-repeat center center;
	background-size: contain;
}
#staff .staffList01 li {
	width: 54rem;
	position: relative;
	z-index: 1;
}
#staff .staffList01 li .photo {
	margin-bottom: 2.3rem;
	position: relative;
}
#staff .staffList01 li .photo img {
	width: 100%;
}
#staff .staffList01 li .photo .txt {
	position: absolute;
	left: 2.8rem;
	top: 4.3rem;
	color: #fff;
	font-weight: 700;
	font-size: 2rem;
	letter-spacing: 0.16em;
	line-height: 1.8;
	writing-mode: vertical-rl;
	text-orientation: upright;
	white-space: nowrap;
	z-index: 1;
}
#staff .staffList01 li .ttl {
	margin-bottom: 1.3rem;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 0.1rem 1rem;
	font-weight: 700;
	font-size: 2.4rem;
	letter-spacing: 0.2em;
}
#staff .staffList01 li .ttl .ttlSub {
	width: 100%;
	display: block;
	font-size: 1.4rem;
	letter-spacing: 0.081em;
}
#staff .staffList01 li .ttl .en {
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 2;
	letter-spacing: 0.1em;
}
#staff .staffList01 li .ttl .ins {
	margin: 0 0 0.4rem 0.5rem;
	width: 2.4rem;
	display: inline-block;
	font-size: 0;
	line-height: 0;
}
#staff .staffList01 li .ttl .ins:hover {
	opacity: 0.7;
}
#staff .staffList01 li p {
	line-height: 2;
	letter-spacing: 0.02em;
	text-align: justify;
}
#staff .staffList01 li .comBtn {
	margin: 1.6rem 0 0 auto;
	width: 18.5rem;
}
#staff .staffList01 li .comBtn a {
	font-size: 1.4rem;
	height: auto;
}
#staff .staffList01 li .comBtn a .txt {
	padding: 0.9rem 3.2rem 1rem 0.5rem;
	background-position: right 1.2rem center;
}
#staff .bgBox {
	padding: 18.8rem 0 19.6rem;
	background: #DFDACF;
}
#staff .staffList02 {
	gap: 9.5rem 0;
}
#staff .staffList02 li {
	width: 54rem;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}
#staff .staffList02 li .photo {
	width: 35rem;
}
#staff .staffList02 li .photo img {
	width: 100%;
}
#staff .staffList02 li .textBox {
	width: 15.7rem;
}
#staff .staffList02 li .textBox .ttl {
	margin-bottom: 0.5rem;
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: 0.2em;
}
#staff .staffList02 li .textBox .ttl .ttlSub {
	margin-bottom: 1px;
	display: block;
	font-size: 1.4rem;
	letter-spacing: 0.081em;
}
#staff .staffList02 li .textBox .ttl .en {
	margin-top: 0.4rem;
	display: block;
	font-size: 1.2rem;
	font-weight: 400;
	letter-spacing: 0.1em;
}
#staff .staffList02 li .textBox p {
	letter-spacing: 0.02em;
	line-height: 2;
}
@media all and (max-width: 896px), (orientation: portrait) {
	#staff .pageTitle {
		background-image: url(img/staff/page_title_bg_sp.jpg);
	}
	#staff .pageTitle h1 .en {
		margin-left: -0.5rem;
	}
	#staff #pagePath {
		margin-bottom: 6.3rem;
	}
	#staff .staffList01 {
		margin-bottom: 10.6rem;
		display: block;
	}
	#staff .staffList01::after {
		width: 15.7rem;
		right: -3.7rem;
		bottom: -18rem;
	}
	#staff .staffList01 li {
		width: auto;
		margin-bottom: 5.3rem;
	}
	#staff .staffList01 li:last-child {
		margin-bottom: 0;
	}
	#staff .staffList01 li .photo {
		margin-bottom: 1.1rem;
	}
	#staff .staffList01 li .photo .txt {
		left: 1.1rem;
		top: 1.7rem;
		font-size: 1.5rem;
		line-height: 1.75;
	}
	#staff .staffList01 li .ttl {
		margin-bottom: 0.6rem;
		gap: 0 0.8rem;
		font-size: 1.9rem;
	}
	#staff .staffList01 li .ttl .ttlSub {
		font-size: 1.2rem;
		letter-spacing: 0;
	}
	#staff .staffList01 li .ttl .en {
		font-size: 1.1rem;
	}
	#staff .staffList01 li .ttl .ins {
		margin: 0 0 0.6rem 1.3rem;
	}
	#staff .staffList01 li p {
		line-height: 1.74;
	}
	#staff .staffList01 li .comBtn {
		margin: 1.6rem auto 0;
		width: 17.6rem;
	}
	#staff .staffList01 li .comBtn a {
		font-size: 1.3rem;
	}
	#staff .staffList01 li .comBtn a .txt {
		padding: 1.4rem 3.2rem 1.4rem 0.5rem;
		background-position: right 2rem center;
	}
	#staff .bgBox {
		padding: 10.5rem 0 12.6rem;
	}
	#staff .staffList02 {
		display: block;
	}
	#staff .staffList02 li {
		margin-bottom: 6.2rem;
		width: auto;
		gap: 1.7rem;
	}
	#staff .staffList02 li:last-child {
		margin-bottom: 0;
	}
	#staff .staffList02 li .photo {
		width: calc(50% + 0.9rem);
	}
	#staff .staffList02 li .photo img {
		aspect-ratio: 354/452;
		object-fit: cover;
	}
	#staff .staffList02 li .textBox {
		margin-bottom: -0.4rem;
		width: auto;
		flex: 1;
	}
	#staff .staffList02 li .textBox .ttl {
		margin-bottom: 0.7rem;
		font-size: 1.9rem;
	}
	#staff .staffList02 li .textBox .ttl .ttlSub {
		margin-bottom: -0.2rem;
		font-size: 1.2rem;
	}
	#staff .staffList02 li .textBox .ttl .en {
		margin-top: 0;
		font-size: 1.1rem;
	}
	#staff .staffList02 li .textBox p {
		line-height: 1.7142;
	}
}
@media all and (min-width: 768px) and (max-width: 896px) {
	#staff .staffList01 li .photo .txt {
		font-size: 2.7rem;
	}
}
@media all and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
	#staff .staffList01 li .photo .txt {
		font-size: 2.7rem;
	}
}
/*------------------------------------------------------------
	staff-detail
------------------------------------------------------------*/
#staff-detail .pageTitle {
	padding-top: 6.6rem;
	background-position: center top;
	background-image: url(img/staff/kimata/page_title_bg.jpg);
}
#staff-detail.shimaoka .pageTitle {
	background-image: url(img/staff/shimaoka/page_title_bg.jpg);
}
#staff-detail.shibata .pageTitle {
	background-image: url(img/staff/shibata/page_title_bg.jpg);
}
#staff-detail.egashira .pageTitle {
	background-image: url(img/staff/egashira/page_title_bg.jpg);
}
#staff-detail .pageTitle .inner {
	width: 102.6rem;
	max-width: 100%;
}
#staff-detail .pageTitle h1 {
	letter-spacing: 0.08em;
	line-height: 1.75;
}
#staff-detail #pagePath {
	margin-bottom: 2rem;
}
#staff-detail .profile {
	margin-bottom: 20.5rem;
	padding: 0 0 4.4rem;
	min-height: 26.4rem;
	background: #DFDACF;
}
#staff-detail .profile .innerBox {
	width: 116rem;
	text-align: right;
	margin: 0 auto;
}
#staff-detail .profile h2 {
	margin-bottom: 1.2rem;
	font-size: 3rem;
	font-weight: 700;
	letter-spacing: 0.06em;
}
#staff-detail .profile h2 .en {
	margin-top: 0.2rem;
	display: block;
	font-size: 1.4rem;
	font-weight: 400;
	letter-spacing: 0.1em;
}
#staff-detail .profile p {
	line-height: 2;
	letter-spacing: 0.06em;
}
#staff-detail .imgBox {
	margin: 0 auto 14.8rem;
	max-width: 144rem;
	display: flex;
	justify-content: space-between;
	gap: 8rem;
}
#staff-detail .imgBox.mb01 {
	margin-bottom: 17rem;
}
#staff-detail .imgBox.mb02 {
	margin-bottom: 20.6rem;
}
#staff-detail .imgBox.reverse {
	flex-direction: row-reverse;
}
#staff-detail .imgBox .photoBox {
	width: calc(50% - 4rem);
}
#staff-detail .imgBox .photoBox img {
	width: 100%;
}
#staff-detail .imgBox .textBox {
	margin: -0.9rem 0;
	display: flex;
	align-items: flex-end;
	flex: 1;
}
#staff-detail .imgBox.reverse .textBox {
	flex-direction: row-reverse;
}
#staff-detail .imgBox .textBox .innerBox {
	width: 38rem;
	max-width: 100%;
}
#staff-detail .textBox .headLine03 {
	margin-right: -1.5em;
}
#staff-detail .textBox p {
	font-size: 1.6rem;
	letter-spacing: 0.02em;
	line-height: 2;
	text-align: justify;
}
#staff-detail .secBox {
	margin-bottom: 16.2rem;
}
#staff-detail .secBox .photo {
	margin-bottom: 3.6rem;
}
#staff-detail .secBox .textBox {
	margin: 0 16rem;
}
#staff-detail .phoArea {
	margin-bottom: 5.4rem;
}
#staff-detail .phoArea img {
	width: 100%;
	height: 48rem;
	object-fit: cover;
}
#staff-detail .intro {
	padding: 20rem 0 16.2rem;
	background: #DFDACF;
}
#staff-detail .intro .content {
	width: 96rem;
}
#staff-detail .intro .photo {
	margin-bottom: 4.5rem;
	position: relative;
}
#staff-detail .intro .photo img {
	width: 100%;
}
#staff-detail .intro .ttl {
	position: absolute;
	left: 5.3rem;
	top: 4.5rem;
	color: #fff;
	font-weight: 700;
	font-size: 3.2rem;
	line-height: 1.74;
	letter-spacing: 0.05em;
	writing-mode: vertical-rl;
	white-space: nowrap;
}
#staff-detail .intro .textBox {
	margin: 0 6rem;
}
@media all and (max-width: 896px), (orientation: portrait) {
	#staff-detail .pageTitle {
		padding-top: 0.9rem;
		background-image: url(img/staff/kimata/page_title_bg_sp.jpg);
		background-position: center bottom;
		height: 111.2vw;
	}
	#staff-detail.shimaoka .pageTitle {
		background-image: url(img/staff/shimaoka/page_title_bg_sp.jpg);
	}
	#staff-detail.shibata .pageTitle {
		background-image: url(img/staff/shibata/page_title_bg_sp.jpg);
	}
	#staff-detail.egashira .pageTitle {
		background-image: url(img/staff/egashira/page_title_bg_sp.jpg);
	}
	#staff-detail .pageTitle .inner {
		width: 88.6rem;
		max-width: 100%;
	}
	#staff-detail .pageTitle .inner {
		width: 100%;
	}
	#staff-detail .pageTitle h1 {
		font-size: 2rem;
	}
	#staff-detail #pagePath {
		margin-bottom: 1.8rem;
	}
	#staff-detail .profile {
		margin-bottom: 8.1rem;
		padding: 0 0 5.1rem;
		min-height: initial;
	}
	#staff-detail .profile .innerBox {
		margin: 0 2rem;
		width: auto;
		text-align: left;
	}
	#staff-detail .profile h2 {
		margin-bottom: 1.5rem;
		font-size: 2rem;
	}
	#staff-detail .profile h2 .en {
		margin-top: 0.2rem;
		font-size: 1.2rem;
	}
	#staff-detail .profile p {
		font-size: 1.3rem;
		line-height: 1.9;
		letter-spacing: 0.02em;
	}
	#staff-detail .imgBox {
		margin-bottom: 6.2rem;
		max-width: initial;
		display: block;
	}
	#staff-detail .imgBox.mb01 {
		margin-bottom: 6.2rem;
	}
	#staff-detail .imgBox.mb02 {
		margin-bottom: 6.2rem;
	}
	#staff-detail .imgBox .photoBox {
		margin: 0 2rem 4rem 0;
		width: auto;
	}
	#staff-detail .imgBox.reverse .photoBox,
	#staff-detail .imgBox .photoBox.right {
		margin: 0 0 2.7rem 2rem;
	}
	#staff-detail .imgBox .textBox {
		margin: 0 2rem;
		display: block;
	}
	#staff-detail .imgBox .textBox .innerBox {
		width: auto;
	}
	#staff-detail .textBox .headLine03 {
		margin-right: 0;
	}
	#staff-detail .textBox p {
		margin: 0 1rem;
		font-size: 1.4rem;
		letter-spacing: 0.05em;
		line-height: 2;
	}
	#staff-detail .secBox {
		margin: 0 0 5.8rem;
	}
	#staff-detail .secBox .photo {
		margin: 0 2rem 3rem 0;
	}
	#staff-detail .secBox .photo.center {
		margin: 0 0 3rem;
	}
	#staff-detail .secBox .photo img {
		width: 100%;
		object-fit: cover;
		aspect-ratio: 710/502;
	}
	#staff-detail .secBox .photo.center img {
		aspect-ratio: 750/360;
	}
	#staff-detail .secBox .textBox {
		margin: 0 2rem;
	}
	#staff-detail .phoArea {
		margin-bottom: 2.7rem;
	}
	#staff-detail .phoArea img {
		height: auto;
		aspect-ratio: 750/360;
	}
	#staff-detail .intro {
		padding: 7.2rem 0;
	}
	#staff-detail .intro .photo {
		margin-bottom: 2rem;
	}
	#staff-detail .intro .photo img {
		aspect-ratio: 670/474;
		object-fit: cover;
	}
	#staff-detail .intro .ttl {
		left: 1.4rem;
		top: 1.8rem;
		font-size: 1.7rem;
		line-height: 1.68;
	}
	#staff-detail .intro .textBox {
		margin: 0;
	}
}
@media all and (min-width: 768px) and (max-width: 896px) {
	#staff-detail .pageTitle h1 {
		font-size: 4rem;
	}
	#staff-detail .intro .ttl {
		font-size: 3.4rem;
	}
}
@media all and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
	#staff-detail .pageTitle h1 {
		font-size: 4rem;
	}
	#staff-detail .intro .ttl {
		font-size: 3.4rem;
	}
}
/*------------------------------------------------------------
	concept
------------------------------------------------------------*/
#concept .pageTitle {
	background-image: url(img/concept/page_title_bg.jpg);
}
#concept .pageTitle h1 {
	letter-spacing: 0.14em;
}
#concept .comIntro {
	margin-bottom: 13rem;
	width: 63.6rem;
}
#concept .linkBox {
	margin: 21rem 0 0;
	padding: 16rem 0 17rem;
	background-color: #dedbd2;
}
#concept .linkBox h3 {
	margin-bottom: 2.5rem;
	text-align: center;
	font-size: 2.4rem;
	letter-spacing: 0.4rem;
}
#concept .linkBox .photo {
	margin-bottom: 2rem;
}
#concept .linkBox p {
	margin-bottom: 3rem;
	font-size: 1.6rem;
	line-height: 2;
	letter-spacing: 0.13rem;
}
#concept .comBtn {
	width: fit-content;
	min-width: 27rem;
}
#concept .comBtn01 .txt {
	padding-left: 4rem;
	padding-right: 6.8rem;
}
@media all and (min-width: 897px) and (orientation: landscape) {
	#concept .linkBox .list {
		display: flex;
		justify-content: center;
		gap: 8rem;
	}
	#concept .linkBox .list li {
		width: 44rem;
	}
}
@media all and (max-width: 896px), (orientation: portrait) {
	#concept {
		background: #F0ECE5;
	}
	#concept .pageTitle {
		background-image: url(img/concept/page_title_bg_sp.jpg);
	}
	#concept .pageTitle h1 {
		letter-spacing: 0.21em;
	}
	#concept .pageTitle h1 .en {
		margin-left: -0.6rem;
	}
	#concept .comIntro {
		margin-bottom: 11.4rem;
	}
	#concept .headLine02 {
		margin-bottom: 2.9rem;
	}
	#concept .headLine02 span {
		font-size: 2.4rem;
	}
	#concept .comBtn {
		min-width: 18rem;
	}
	#concept .comBtn a .txt {
		padding: 0.5rem 4rem 0.5rem 2.2rem;
	}
	#concept .linkBox {
		margin: 9rem 0 0;
		padding: 9rem 4.8rem 10rem;
		background: #E0DACC;
	}
	#concept .linkBox li + li {
		margin-top: 6.8rem;
	}
	#concept .linkBox h3 {
		margin-bottom: 1.7rem;
		font-size: 2rem;
		letter-spacing: 0.1rem;
	}
	#concept .linkBox .photo {
		margin-bottom: 1.5rem;
	}
	#concept .linkBox .photo img {
		width: 100%;
	}
	#concept .linkBox p {
		margin-bottom: 2rem;
		font-size: 1.4rem;
		line-height: 1.92;
	}
}
/*------------------------------------------------------------
	comConceptDetail
------------------------------------------------------------*/
.comConceptDetail .bigPhoto {
	margin: 0 0 18.2rem 0;
	padding-left: calc(50% - 42rem);
	position: relative;
	aspect-ratio: 144/48;
}
.comConceptDetail .bigPhoto::after {
	top: 53.5%;
	left: 0;
	width: calc(50% + 30.2rem);
	bottom: -25.7rem;
	position: absolute;
	content: '';
	background-color: #dedbd2;
}
.comConceptDetail .bigPhoto img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: left center;
	position: relative;
	z-index: 1;
}
.comConceptDetail .content {
	position: relative;
	z-index: 2;
}
.comConceptDetail .comInner p {
	text-align: justify;
}
.comConceptDetail .comInner p:last-child {
	margin-bottom: 0 !important;
}
.comConceptDetail .bgBox {
	margin: 12.4rem -6rem 0;
	padding: 5.5rem 10rem 5.2rem;
	background-color: #dedbd2;
}
.comConceptDetail .bgBox .head {
	margin-bottom: 2.7rem;
	text-align: center;
	font-size: 1.6rem;
	letter-spacing: 0.1rem;
}
.comConceptDetail .bgBox .head span {
	margin-top: 1rem;
	display: block;
	font-size: 2.4rem;
	letter-spacing: 0.2rem;
}
.comConceptDetail .bgBox .photoList {
	display: flex;
	justify-content: space-between;
}
.comConceptDetail .bgBox .photoList li {
	width: 34rem;
}
.comConceptDetail .bgBox .photoList .pho {
	margin-bottom: 1.5rem;
}
.comConceptDetail .bgBox .photoList img {
	width: 100%;
}
.comConceptDetail .bgBox .photoList h4 {
	margin-bottom: 0.5rem;
	text-align: center;
	font-size: 2rem;
	letter-spacing: 0.2rem;
}
.comConceptDetail .bgBox .photoList p {
	font-size: 1.4rem;
	letter-spacing: 0.05rem;
}
@media all and (min-width: 897px) and (orientation: landscape) {
	.comConceptDetail .pageTitle h1 {
		letter-spacing: 0.14em;
	}
	.comConceptDetail .comIntro {
		margin-bottom: 13.2rem;
		min-width: 59.6rem;
	}
	.comConceptDetail .comInner {
		margin-bottom: 18.2rem;
	}
	.comConceptDetail .comInner .headLine02 {
		line-height: 1.3;
	}
	.comConceptDetail .comInner .photoBox {
		margin-top: 1.2rem;
	}
	.comConceptDetail .comInner .photo {
		margin-bottom: 2.5rem;
	}
	.comConceptDetail .comInner p {
		margin-bottom: 2rem;
		letter-spacing: 0.03rem;
	}
	.comConceptDetail .comInner .comBtn {
		margin-top: 6.5rem;
	}
	.comConceptDetail .comBtmPhoto {
		margin-top: 22.5rem;
	}
}
@media all and (max-width: 896px), (orientation: portrait) {
	.comConceptDetail {
		background: #F0ECE5;
	}
	.comConceptDetail .comIntro {
		margin-bottom: 12rem;
	}
	.comConceptDetail .headLine02 {
		margin-bottom: 2.1rem;
	}
	.comConceptDetail .headLine02 span {
		padding-right: 0;
		text-align: left;
	}
	.comConceptDetail .comInner {
		margin-bottom: 8.8rem;
	}
	.comConceptDetail .comInner p {
		margin-bottom: 1.4rem;
		letter-spacing: 0.1rem;
	}
	.comConceptDetail .bigPhoto {
		margin-bottom: 13.1rem;
		padding-left: 4rem;
		aspect-ratio: inherit;
	}
	.comConceptDetail .bigPhoto::after {
		top: 55%;
		bottom: -11rem;
		width: calc(100% - 4rem);
		height: inherit;
	}
	.comConceptDetail .comBtn {
		margin-top: 3rem;
	}
	.comConceptDetail .comBtmPhoto {
		margin-top: 12rem;
	}
	.comConceptDetail .bgBox {
		margin: 7rem 0 0;
		padding: 5rem 2rem 3.6rem;
		background: #E0DACC;
	}
	.comConceptDetail .bgBox .head {
		margin-bottom: 2.7rem;
		text-align: center;
		font-size: 1.3rem;
		letter-spacing: 0;
	}
	.comConceptDetail .bgBox .head span {
		margin-top: 1rem;
		font-size: 1.6rem;
		letter-spacing: 0;
	}
	.comConceptDetail .bgBox .photoList {
		margin: 0 3rem;
		display: block;
	}
	.comConceptDetail .bgBox .photoList li {
		width: auto;
	}
	.comConceptDetail .bgBox .photoList li + li {
		margin-top: 2.2rem;
	}
	.comConceptDetail .bgBox .photoList .pho {
		margin-bottom: 1rem;
		aspect-ratio: 470/276;
	}
	.comConceptDetail .bgBox .photoList img {
		height: 100%;
		object-fit: cover;
	}
	.comConceptDetail .bgBox .photoList h4 {
		margin-bottom: 0.5rem;
		text-align: center;
		font-size: 1.5rem;
		letter-spacing: 0;
	}
	.comConceptDetail .bgBox .photoList p {
		margin: 0;
		font-size: 1.3rem;
		line-height: 1.92;
		letter-spacing: 0.08rem;
		text-align: justify;
	}
}
/*------------------------------------------------------------
	carpenter
------------------------------------------------------------*/
#carpenter .pageTitle {
	background-image: url(img/carpenter/page_title_bg.jpg);
}
#carpenter .pageTitle h1 {
	margin-left: 0.4rem;
	letter-spacing: 0.22em;
	line-height: 1.5;
}
#carpenter .pageTitle h1 .en {
	margin-left: -0.3rem;
}
@media all and (max-width: 896px), (orientation: portrait) {
	#carpenter .pageTitle {
		background-image: url(img/carpenter/page_title_bg_sp.jpg);
	}
	#carpenter .pageTitle h1 {
		line-height: 1.3;
	}
	#carpenter .pageTitle h1 .en {
		margin-left: 0.1rem;
	}
}
/*------------------------------------------------------------
	commitment
------------------------------------------------------------*/
#commitment .pageTitle {
	background-image: url(img/commitment/page_title_bg.jpg);
}
#commitment .comIntro {
	min-width: 63.6rem;
}
@media all and (min-width: 897px) and (orientation: landscape) {
	#commitment .comInner {
		margin-bottom: 9.8rem;
	}
	#commitment .bigPhoto {
		margin-bottom: 17.6rem;
	}
}
@media all and (max-width: 896px), (orientation: portrait) {
	#commitment .pageTitle {
		background-image: url(img/commitment/page_title_bg_sp.jpg);
	}
	#commitment .pageTitle h1 .en {
		margin-left: -0.6rem;
	}
	#commitment .comIntro {
		margin-bottom: 10.6rem;
	}
}
/*------------------------------------------------------------
	inheritance
------------------------------------------------------------*/
#inheritance .pageTitle {
	background-image: url(img/inheritance/page_title_bg.jpg);
}
#inheritance .pageTitle h1 {
	letter-spacing: 0.14em;
}
#inheritance .comIntro {
	width: 59.6rem;
}
#inheritance .comInner {
	margin-bottom: 22.4rem;
}
#inheritance .comInner p {
	margin-bottom: 1rem;
}
#inheritance .comInner p.mb01 {
	margin-bottom: 9.6rem;
}
#inheritance .bgBox {
	margin-top: 10.6rem;
	padding: 3.4rem 7rem 5.5rem;
}
#inheritance .bgBox .head {
	margin-bottom: 4rem;
}
#inheritance .imgBox {
	margin-bottom: 6.5rem;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
#inheritance .imgBox .phoBox {
	width: 52rem;
}
#inheritance .imgBox .textBox {
	margin: -0.7rem 0;
	width: 27.1rem;
}
#inheritance .imgBox .textBox h4 {
	margin-bottom: 1.3rem;
	text-align: center;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.09em;
}
#inheritance .imgBox .textBox p {
	margin-bottom: 0;
	font-size: 1.4rem;
	line-height: 2;
	letter-spacing: 0;
}
#inheritance .bgBox .photoList {
	margin: 0 -0.1rem 5rem;
}
#inheritance .bgBox .photoList li {
	width: 37.8rem;
}
#inheritance .bgBox .photoList h4 {
	margin: 0 -1em 0.7rem;
}
#inheritance .bgBox .photoList h4 .sm {
	font-size: 1.4rem;
}
#inheritance .bgBox .photoList01 {
	margin-bottom: 0;
	justify-content: flex-start;
	gap: 6rem;
}
#inheritance .bgBox .photoList01 li {
	width: 23.5rem;
}
@media all and (max-width: 896px), (orientation: portrait) {
	#inheritance .pageTitle {
		background-image: url(img/inheritance/page_title_bg_sp.jpg);
	}
	#inheritance .pageTitle h1 {
		letter-spacing: 0.22em;
	}
	#inheritance .pageTitle h1 .en {
		margin: 0.3rem 0.4rem 0 -0.6rem;
	}
	#inheritance .comIntro {
		margin-bottom: 7rem;
	}
	#inheritance .comInner {
		margin-bottom: 10.8rem;
	}
	#inheritance .comInner01 {
		margin-bottom: 0;
	}
	#inheritance .comInner p {
		margin-bottom: 1.2rem;
	}
	#inheritance .comInner p.mb01 {
		margin-bottom: 4rem;
	}
	#inheritance .bgBox {
		margin-top: 7.6rem;
		padding: 1.8rem 3rem 3.3rem;
	}
	#inheritance .bgBox .head {
		margin-bottom: 2.3rem;
	}
	#inheritance .bgBox .head span {
		letter-spacing: 0.08em;
	}
	#inheritance .imgBox {
		margin-bottom: 3.2rem;
		display: block;
	}
	#inheritance .imgBox .phoBox {
		margin-bottom: 0.9rem;
		width: auto;
	}
	#inheritance .imgBox .phoBox img {
		width: 100%;
	}
	#inheritance .imgBox .textBox {
		margin: 0;
		width: auto;
	}
	#inheritance .imgBox .textBox h4 {
		margin-bottom: 0.6rem;
		font-size: 1.4rem;
	}
	#inheritance .imgBox .textBox p {
		margin: 0;
		font-size: 1.3rem;
		line-height: 1.85;
	}
	#inheritance .bgBox .photoList {
		margin: 0 0 2.7rem;
	}
	#inheritance .bgBox .photoList li {
		width: auto;
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}
	#inheritance .bgBox .photoList li .pho {
		margin: 0;
		width: 46.5%;
		aspect-ratio: initial;
	}
	#inheritance .bgBox .photoList li .txtBox {
		margin-top: -0.2rem;
		width: 46.5%;
	}
	#inheritance .bgBox .photoList h4 {
		margin: 0 0 0.3rem;
	}
	#inheritance .bgBox .photoList h4 .sm {
		font-size: 1rem;
	}
	#inheritance .bgBox .photoList p {
		line-height: 1.85;
	}
	#inheritance .bgBox .photoList01 {
		margin-bottom: 0;
	}
	#inheritance .bgBox .photoList01 li {
		width: auto;
	}
	#inheritance .bgBox .photoList01 li + li {
		margin-top: 4rem;
	}
	#inheritance .comBtmPhoto {
		margin-top: 7.8rem;
	}
}
/*------------------------------------------------------------
	performance
------------------------------------------------------------*/
#performance .pageTitle {
	background-image: url(img/performance/page_title_bg.jpg);
}
#performance .comIntro {
	min-width: 51.6rem;
}
#performance .comInner .text01 {
	margin-bottom: 11rem;
}
#performance .subSec {
	margin: 0 -6rem 8rem;
	padding: 6.8rem 6rem 6.7rem;
	background: #DEDBD2;
}
#performance .ttl {
	margin-bottom: 5rem;
	text-align: center;
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: 0.09em;
}
#performance .subTtl {
	margin-bottom: 2.2rem;
	text-align: center;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.09em;
}
#performance .subSec .sub01 {
	margin-bottom: 8.3rem;
}
#performance .subSec p {
	margin-bottom: 1.5rem;
}
#performance .subSec p:last-child {
	margin-bottom: 0;
}
#performance .subSec .imgBox01 {
	display: flex;
	justify-content: space-between;
}
#performance .subSec .imgBox01 .phoBox {
	width: 46rem;
}
#performance .subSec .imgBox01 .phoBox img {
	width: 100%;
}
#performance .subSec .imgBox01 .textBox {
	margin-top: -0.6rem;
	width: 34rem;
}
#performance .subSec .imgBox01 .textBox p {
	margin-bottom: 1.4rem;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 2;
	text-align: justify;
}
#performance .subSec .imgBox01 .textBox p:last-child {
	margin-bottom: 0;
}
#performance .subSec .phoList {
	margin-bottom: 2.5rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 4rem 0;
}
#performance .subSec .phoList li {
	width: 38rem;
}
#performance .subSec .phoList li img {
	width: 100%;
}
#performance .subSec .imgBox02 {
	display: flex;
	justify-content: space-between;
}
#performance .subSec .imgBox02 .phoBox {
	width: 38rem;
}
#performance .subSec .imgBox02 .phoBox img {
	width: 100%;
}
#performance .subSec .imgBox02 .textBox {
	margin: -0.7rem 0;
	width: 38rem;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}
#performance .subSec01 {
	margin-bottom: 9.4rem;
	padding: 5.4rem 6rem 5.8rem;
}
#performance .subSec01 .ttl {
	margin-bottom: 3rem;
}
#performance .caseBox {
	margin: 0 -6rem 2rem;
}
#performance .caseBox .ttl {
	margin-bottom: 3.5rem;
}
#performance .caseBox .imgBox {
	margin-bottom: 5.2rem;
	display: flex;
	justify-content: space-between;
}
#performance .caseBox .imgBox .phoBox {
	width: 44rem;
}
#performance .caseBox .imgBox .phoBox img {
	width: 100%;
}
#performance .caseBox .imgBox .textBox {
	margin-top: -0.5rem;
	width: 44rem;
}
#performance .caseBox .imgBox .textBox .innerTtl {
	margin-bottom: 1.4rem;
	font-weight: 700;
	font-size: 2.8rem;
	line-height: 1.2;
	letter-spacing: 0.2em;
}
#performance .caseBox .imgBox .textBox .innerTtl .sm {
	margin-right: 0.8rem;
	display: inline-block;
	vertical-align: 0.3rem;
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 0.2em;
}
#performance .caseBox .imgBox .textBox .tagList {
	margin-bottom: 0.7rem;
	display: flex;
	flex-wrap: wrap;
	gap: 1.6rem;
}
#performance .caseBox .imgBox .textBox .tagList li {
	padding: 1px;
	width: 14rem;
	font-size: 1.6rem;
	font-weight: 500;
	text-align: center;
	border: 1px solid #000;
}
#performance .caseBox .imgBox .textBox .txtList01 {
	margin-bottom: 0.9rem;
	display: flex;
	flex-wrap: wrap;
	gap: 2.9rem;
}
#performance .caseBox .imgBox .textBox .txtList01 li {
	display: flex;
	gap: 1.5rem;
	font-size: 1.6rem;
	font-weight: 500;
}
#performance .caseBox .imgBox .textBox .txtList01 li .txt01 {
	font-weight: 700;
}
#performance .caseBox .imgBox .textBox .txtList02 {
	max-width: 37.6rem;
}
#performance .caseBox .imgBox .textBox .txtList02 li {
	margin-bottom: 0.9rem;
	padding-bottom: 1.1rem;
	display: flex;
	border-bottom: 1px solid #000;
}
#performance .caseBox .imgBox .textBox .txtList02 li:last-child {
	margin-bottom: 0;
	border-bottom: none;
	padding-bottom: 0;
}
#performance .caseBox .imgBox .textBox .txtList02 li p {
	margin: 0;
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: 0.02em;
}
#performance .caseBox .imgBox .textBox .txtList02 li .txt01 {
	padding: 0 0.9rem;
	width: 9.5rem;
	font-weight: 700;
	letter-spacing: 0.02em;
}
#performance .caseBox .imgBox .textBox .txtList02 li .txt02 {
	flex: 1;
}
#performance .comInner .comBtn {
	margin-top: 0;
}
#performance .comInner01 {
	margin-bottom: 33.3rem;
}
#performance .comInner .text02 {
	margin-bottom: 9rem;
}
#performance .subSec02 {
	margin-bottom: 5.9rem;
	padding: 4.2rem 6rem 5.4rem;
}
#performance .subSec02 .ttl {
	margin-bottom: 2.7rem;
}
#performance .subSec02 p {
	margin-bottom: 3.7rem;
}
#performance .subSec02 .tableBox {
	margin-bottom: 2rem;
}
#performance .subSec02 .noteList li {
	margin-bottom: 0.5rem;
	letter-spacing: 0.05em;
}
#performance .subSec02 .noteList li:last-child {
	margin-bottom: 0;
}
#performance .subSec03 {
	margin-bottom: 5.9rem;
	padding: 4.2rem 6rem 5.8rem;
}
#performance .subSec03 .ttl {
	margin-bottom: 3.8rem;
}
@media all and (min-width: 897px) and (orientation: landscape) {
	#performance .bigPhoto {
		margin-bottom: 17rem;
	}
}
@media all and (max-width: 896px), (orientation: portrait) {
	#performance .pageTitle {
		background-image: url(img/performance/page_title_bg_sp.jpg);
	}
	#performance .pageTitle h1 .en {
		margin: 0.2rem 0 0 -0.7rem;
	}
	#performance .comIntro {
		margin-bottom: 10.6rem;
		padding-bottom: 3.6rem;
	}
	#performance .comInner .text01 {
		margin-bottom: 6rem;
	}
	#performance .subSec {
		margin: 0 0 4.5rem;
		padding: 2.9rem 3rem 4.4rem;
		background: #E0DACC;
	}
	#performance .ttl {
		margin-bottom: 3.2rem;
		font-size: 1.6rem;
		letter-spacing: 0.08em;
	}
	#performance .subTtl {
		margin-bottom: 1.6rem;
		font-size: 1.4rem;
		letter-spacing: 0.08em;
	}
	#performance .subSec .sub01 {
		margin-bottom: 4rem;
	}
	#performance .subSec p {
		margin: 0 2rem 1rem;
		font-size: 1.3rem;
		letter-spacing: 0.02em;
		line-height: 2;
	}
	#performance .subSec p:last-child {
		margin-bottom: 0;
	}
	#performance .subSec .imgBox01 {
		display: block;
	}
	#performance .subSec .imgBox01 .phoBox {
		margin-bottom: 1rem;
		width: auto;
	}
	#performance .subSec .imgBox01 .textBox {
		margin: 0;
		width: auto;
	}
	#performance .subSec .imgBox01 .textBox p {
		margin: 0 2rem 1.1rem;
		font-size: 1.3rem;
		letter-spacing: 0.02em;
	}
	#performance .subSec .imgBox01 .textBox p:last-child {
		margin-bottom: 0;
	}
	#performance .subSec .phoList {
		margin-bottom: 1.2rem;
		display: block;
	}
	#performance .subSec .phoList li {
		margin-bottom: 2.8rem;
		width: auto;
	}
	#performance .subSec .phoList li:last-child {
		margin-bottom: 0;
	}
	#performance .subSec .imgBox02 {
		display: block;
	}
	#performance .subSec .imgBox02 .phoBox {
		margin-bottom: 2.3rem;
		width: auto;
	}
	#performance .subSec .imgBox02 .textBox {
		margin: 0;
		width: auto;
		display: block;
	}
	#performance .subSec01 {
		margin-bottom: 5.8rem;
		padding: 3rem 3rem 3.1rem;
	}
	#performance .subSec01 .ttl {
		margin-bottom: 2.7rem;
	}
	#performance .caseBox {
		margin: 0 0 2rem;
	}
	#performance .caseBox .ttl {
		margin-bottom: 1.5rem;
	}
	#performance .caseBox .imgBox {
		margin: 0 2.2rem 6.1rem;
		display: block;
	}
	#performance .caseBox .imgBox .phoBox {
		margin-bottom: 2.2rem;
		width: auto;
	}
	#performance .caseBox .imgBox .textBox {
		margin-top: 0;
		width: auto;
	}
	#performance .caseBox .imgBox .textBox .innerTtl {
		margin-bottom: 2rem;
		font-size: 2.4rem;
		text-align: center;
		letter-spacing: 0.18em;
	}
	#performance .caseBox .imgBox .textBox .innerTtl .sm {
		margin: 0 0 0.5rem;
		display: block;
		font-size: 1.5rem;
		letter-spacing: 0.18em;
	}
	#performance .caseBox .imgBox .textBox .tagList {
		margin-bottom: 0.6rem;
		justify-content: center;
	}
	#performance .caseBox .imgBox .textBox .tagList li {
		width: 13.2rem;
		font-size: 1.5rem;
	}
	#performance .caseBox .imgBox .textBox .txtList01 {
		margin-bottom: 1.5rem;
		gap: 1.5rem;
		justify-content: center;
	}
	#performance .caseBox .imgBox .textBox .txtList01 li {
		font-size: 1.5rem;
		gap: 1rem;
	}
	#performance .caseBox .imgBox .textBox .txtList01 li p {
		margin: 0;
	}
	#performance .caseBox .imgBox .textBox .txtList02 {
		max-width: initial;
	}
	#performance .caseBox .imgBox .textBox .txtList02 li {
		margin-bottom: 0.6rem;
		padding-bottom: 0.7rem;
	}
	#performance .caseBox .imgBox .textBox .txtList02 li:last-child {
		margin-bottom: 0;
		border-bottom: none;
		padding-bottom: 0;
	}
	#performance .caseBox .imgBox .textBox .txtList02 li p {
		margin: 0;
		font-size: 1.6rem;
	}
	#performance .caseBox .imgBox .textBox .txtList02 li .txt01 {
		width: 7.5rem;
	}
	#performance .caseBox .imgBox .textBox .txtList02 li .txt02 {
		margin-right: -0.5rem;
		flex: 1;
		letter-spacing: 0;
		font-feature-settings: "palt";
		text-align: left;
	}
	#performance .comInner01 {
		margin-bottom: 10rem;
	}
	#performance .comInner .text02 {
		margin-bottom: 5.4rem;
	}
	#performance .subSec02 {
		margin-bottom: 4.2rem;
		padding: 2.8rem 3rem 3.2rem;
	}
	#performance .subSec02 .ttl {
		margin: 0 -1.5rem 1.3rem;
	}
	#performance .subSec02 p {
		margin-bottom: 1.3rem;
	}
	#performance .subSec02 .tableBox {
		margin-bottom: 1.5rem;
		overflow: auto;
		text-align: center;
	}
	#performance .subSec02 .tableBox img {
		width: 72.2rem;
		max-width: initial;
	}
	#performance .subSec02 .noteList li {
		margin-bottom: 0.2rem;
		padding-left: 1em;
		text-indent: -1em;
		font-size: 1.2rem;
		line-height: 1.6;
		letter-spacing: 0.02em;
	}
	#performance .subSec02 .noteList li:last-child {
		margin-bottom: 0;
	}
	#performance .subSec03 {
		margin-bottom: 0;
		padding: 2.8rem 3rem 3.3rem;
	}
	#performance .subSec03 .imgBox02 .phoBox {
		margin-bottom: 1.7rem;
	}
	#performance .subSec03 .ttl {
		margin-bottom: 2.2rem;
		line-height: 1.55;
	}
}
.grecaptcha-badge {
	visibility: hidden;
}
.recaptchaTxt {
	margin-top: 2rem;
	text-align: center;
}
.recaptchaTxt a {
	text-decoration: underline;
}
.recaptchaTxt a:hover {
	opacity: 0.7;
}