/*site extension*/
:root {
	--footer-bg-color: var(--cl-add-bg);
	--cl-background: #fff;
	--cl-pageink: #1c231c;
	--cl-pageink-link: #1c231c;
	--cl-pageink-hover: #1c231c;
	--cl-pageink-active: #1c231c;
	--cl-apply: #00c9ff;
	
	--cl-add-bg: #232d25;
	--cl-border: #E3E8E3;
	
	--share-space: 2.4rem; /**/
	--share-padding: 1.4em; /**/
	--share-smp-space: 1.6rem; /**/
	--share-smp-padding: 37.5px;
	--bindwrap-width: 1280px;
	--contents-width: 790px;
	
	--u-base: 60px;
	--u-base-m: 50px;
	--u-base-s: 40px;
	--u-column: 25px;
	--u-gutter: 60px;
	--u-gutter-s: 40px;
	--u-gutter-half: 30px;
	--u-gutter-3x: calc(var(--u-gutter) * 3);
	--u-side-margin: 160px;
	--u-grid: calc(var(--u-gutter) + var(--u-column) * 2);
	--u-gc: calc(var(--u-gutter) + var(--u-column));
	
	--u-sec-bottom: 200px;
	--u-con-bottom: 120px;
	--u-sub-con-bottom: 100px;
}
body {
	font-size: 15px;
	line-height: 2.2em;
	-webkit-font-smoothing: antialiased;
}
#content .breadcrumb.flexpad {
    display: none;
}
#relationLinkSections {
    display: none;
}
@media only screen and (max-width:640px) {
	:root {
		--u-base: 40px;
		--u-base-m: 30px;
		--u-base-s: 21px;
		
		--u-gutter: 12px;
		--u-column: 14px;
	}
	body {
		font-size: 14px;
		line-height: 1.85em;
		letter-spacing: 0.02em;
	}
}

/*begin animation*/
body,
body > *:not(footer) {
	transition: all 1.0s ease-in-out 0.5s;
}
body {
	opacity: 0;
}
body[data-islaunched="true"] {
	opacity: 1.0;
}
body > *:not(footer) {
	filter: blur(1.5rem);
}
body[data-islaunched="true"] > *:not(footer) {
	filter: blur(0rem);
}

/*heading*/
.tate,
.font-h-vertical {
	writing-mode: vertical-rl;
}

/*add-line*/
a.add-line {
    position: relative;
    display: inline-block;
    width: 40px;
    height: var(--u-base);
} 
	.add-line span {
		display: inline-grid;
		position: absolute;
		width: 100%;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		transform-origin: center center;
	}
		.add-line span::before,
		.add-line span::after {
			content: "";
			display: inline-block;
			font-size: 16px;
			width: 100%;
			height: 1px;
			transition: all 0.4s;
			box-shadow: 0.3px 0.3px 0.3px #fff;
		}

/*imdesc*/
.imdesc {
    display: flex;
    flex-wrap: wrap;
	gap: var(--u-gutter);
}

/**/
.flex1 {
	gap: var(--u-gutter);
}
	.flex1 > * {
		flex: 1;
	}

/**/
dl {
    display: flex;
	flex-wrap: nowrap;
    gap: var(--u-gutter);
	width: 100%;
    border-top: 1px solid var(--cl-border);
    padding: 1.75em 0 1.9em;
}
dl > * {
    letter-spacing: 0.02em;
    line-height: 2em;
}
dt {
    min-width: 13em;
}
.wrap-dl {
	width: 100%;
}
.wrap-dl dl:last-of-type {
    border-bottom: 1px solid var(--cl-border);
}

/**/
table {
    border-collapse: collapse;
    width: 100%;
}
th {
    background-color: #F7F7F7;
    text-align: left;
}
th,
td {
    padding: 0.35em 1em;
    line-height: 1.85em;
    border: 1px solid var(--cl-border);
}

/**/
.bt.b,
.hero-wrap,
body .csection-cells .cell {
	margin-bottom: var(--u-sec-bottom);
}
@media only screen and (max-width:640px) {
	.hero-wrap {
		margin-bottom: 120px;
	}
	.pCompany .phero {
        margin-top: 120px;
        padding-top: 0;
    }
	.pCompany .hero-tit.flexbox {
		margin-top: 0;
	}
}

/**/
.document {
	margin-bottom: 200px;
}
.document .hero-tit.flexbox,
.pCompany .hero-tit.flexbox{
    width: 100%;
    padding: 0 var(--u-side-margin);
	justify-content: initial;
}
@media only screen and (min-width:641px) {
	.document #pageHero,
	.pCompany #pageHero {
		height: 100vh;
		position: relative;
	}
	.document #pageHero {
		top: calc(var(--header-height-1) * -1);
	}
    .document .sec-wrap .sec-inner {
        padding: 0 var(--u-gc);
    }
}
@media only screen and (max-width:640px) {
	.document #pageHero {
		position: initial;
		height: initial;
		top: 0;
		padding: 0;
		margin-top: 120px;
	}
	.document .hero-tit.flexbox {
		align-items: center;
		padding: 0 var(--share-smp-padding);
		margin: 0;
	}
	.document .hero-tit h1 {
		font-size: 19px;
	}
}
.document h2 {
	position: relative;
	line-height: 1.85em;
    padding: 60px 0;
}
	.document h2::before {
		position: absolute;
		content: "";
		display: inline-block;
		width: 100px;
		height: 1px;
		top: 0;
		left: 0;
		background-color: var(--cl-add-bg);
	}

/**/
@media only screen and (min-width:641px) {
	.sec-wrap {
        max-width: 960px;
        padding: 0 50px;
        margin: 0 auto;
	}
}
@media only screen and (min-width:1000px) {
    .sec-wrap {
        padding: 0 85px;
    }
}
@media only screen and (min-width:1281px) {
    .sec-wrap {
        max-width: 960px;
        margin: 0 auto;
        padding: 0;
    }
}
@media only screen and (max-width:640px) {
    .sec-wrap {
        max-width: 100%;
        margin: 0 var(--share-smp-padding);
    }
}

/**/
a.a-under {
	text-decoration: underline;
}

/**/
.m-sns.flexbox {
    justify-content: flex-end;
}
	.m-sns .flexbox {
		gap: 20px;
	}
a.icn,
#sitefoot a.icn{
	width: 25px;
	height: 25px;
}
a.ig {
	background-image: url("/share/im/mrk_ig-wh.svg");
}
a.fb {
	background-image: url("/share/im/mrk_fb-wh.svg");
}

/**/
.if-tel,
.m-bt.bt {
    width: 100%;
}
.if-tel a {
    font-size: 32px;
    letter-spacing: 0.06em;
    line-height: 1.25em;
    margin-left: 13px;
}
.if-tel span {
    letter-spacing: 0.02em;
}

/*#############################################*/
/*header*/
#sitehead {
	opacity: 1.0;
	transition: all 0.3s;
}
@media only screen and (min-width:641px) {
	body.fit-header .header-blank-wide {
		display: none;
	}
	
	body[data-hmenucolor=""] #sitehead {
		color: var(--cl-pageink);
	}
	body[data-hmenucolor="dark"] #sitehead {
		color: #fff;
	}
	body[data-hmenucolor=""] #sitehead a.add-line span::before,
	body[data-hmenucolor=""] #sitehead a.add-line span::after {
		background-color: var(--cl-pageink);
	}
	body[data-hmenucolor="dark"] #sitehead a.add-line span::before,
	body[data-hmenucolor="dark"] #sitehead a.add-line span::after {
		background-color: #fff;
	}
	
	body[data-isfootervisible="true"] #sitehead {
		opacity: 0;
		pointer-events: none;
	}
}

/*page scheme*/
.pindex .psec h2.horizontal,
.pindex .psec h3.horizontal {
	writing-mode: horizontal-tb;
}
.sub-con {
	margin-bottom: var(--u-sub-con-bottom);
}

/*
Vender Prefix 250304
*/

/*edge*/
@supports (-ms-ime-align: auto) {
  img {
    pointer-events: none;
	}
}

/*20240421*/
.imGr .flexbox.flex211 > div img {
    height: calc(50% - var(--u-gutter));
    width: 100%;
    object-fit: cover;
}

/*blur-effect*/
.blur-effect::before {
    z-index: 0;
    content: "";
    background-color: rgba(255, 255, 255, 0.75);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
}
.blur-effect a.blur-elm {    
    z-index: 2;
    color: var(--ui-bt-base-hovercolor);
    background-color: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid var(--cl-pageink);
    overflow: hidden;
}
    .blur-effect a.blur-elm:hover {
        background-color: rgba(35, 45, 37, 1);
        color: #fff!important;
        border-color:#fff;
    }

/**/
.imGr-t2y > * + * {
    margin-top: var(--u-gutter);;
}
.imGr-t2y > div:nth-of-type(even) {
    flex-direction: row-reverse;
}
.imGr-t2y .flexbox div {
    display: flex;
    flex-wrap: wrap;
}
.imGr-t2y .flexbox,
.imGr-t2y .flexbox div {
    gap: var(--u-gutter);
    margin-bottom: 0;
}
.imGr-t2y .flexbox > * {
    padding: 0;
    width: calc(50% - var(--u-gutter) / 2);
}
.imGr-t2y .flexbox div img {
    aspect-ratio: 352/209;
}
@media (max-width: 640px){
    .imGr-t2y .flexbox div img {
        aspect-ratio: 4/2.6;
    }
}
