/*site extension*/
:root {
	--footer-bg-color: #252525;
	--cl-background: #fff;
	--cl-pageink: #252525;
	--cl-pageink-link: #000;
	--cl-pageink-hover: #4a4a4a;
	--cl-pageink-active: #747474;
	
	--cl-sec-bg: #f6f6f6;
	--cl-apply: #00c9ff;
	--cl-line: #e0e0e0;
	--cl-num: #cccccc;
	--cl-hsub: #a6a6a6;
	--base-unit: 20px;
	--u-line-menu: 2px;
	
	--share-space: 2.5rem;
	--share-padding: 1.4em;
	--share-smp-space: 1.6em;
	--share-smp-padding: 1.4em;
	--bindwrap-width: 1200px;
	--contents-width: 800px;
	--bindwrap-width-large: 1360px;
}
body {
	letter-spacing: 0.02em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
body * {
	letter-spacing: 0.02em;
}

@media only screen and (min-width:1601px) {
	body {
		font-size: 1.1rem;
	}
}
@media only screen and (max-width:640px) {
	body {
		font-size: 15px;
	}
}
@media only screen and (max-width:400px) {
	body {
		font-size: 3.4vw;
	}
}

/*base settings*/
.t-flex {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-box;
	display: -webkit-flexbox;
	display: -moz-flexbox;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: flex;
}
.sb {
	justify-content: space-between;
}
.t-bg {
	background-color: var(--cl-sec-bg);
}
.f-en {
	font-family: var(--font-en);
}
.h-cus {
	text-align: center;
}

/*ham menu - sitemenu*/
a .m-line {
	display: block;
	width: 100%;
	height: var(--u-line-menu);
	background-color: var(--cl-pageink);
	margin: auto;
	transition: all 0.4s;
}

/*SNS icon*/
a.t-icon {
	position: relative;
	background-color: rgba(255, 255, 255, 0.1);
	border-radius: 3em;
	width: 2.5em;
	height: 2.5em;
	padding: 0;
}
	a.t-icon > img {
		position: absolute;
		width: 1.25em;
		height: 1.25em;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%); 
	}
a.t-icon:hover {
		background-color: rgba(255, 255, 255, 0);
		transition: all 0.4s; 
}

/*border-bottom*/
a.addLA {
	position: relative;
	z-index: 1;
}
	a.addLA::before,
	a.addLA::after {
		position: absolute;
		content: "";
		display: block;
		width: 100%;
		height: 1px;
		bottom: 10px;
		transform: translate(-50%,0);
	}
	a.addLA::before {
		z-index: 2;
		left: 50%;
		background-color: var(--cl-pageink);
	}
	a.addLA::after {
		z-index: 3;
		left: 50%;
		background-color: #fff;
		opacity: 1;
	}
a.addLA:hover::after {
	animation: line-anim 0.5s ease-in-out forwards;
}

/*table*/
body .csection-cells .cell[data-type="table"][data-level="3"] {
	font-size: 1em;
}
body .cell[data-type="table"] table {
	border-collapse: initial;
	border-spacing: 0;
}
body .cell[data-type="table"] tr td {
	position: relative;
}
	body .cell[data-type="table"] tr td::after {
		position: absolute;
		content: "";
		width: 100%;
		height: 1px;
		bottom: 0;
		left: 0;
		background-color: var(--cl-line);
	}
body .cell[data-type="table"] tbody tr td:nth-child(1) {
	background-color: #fff;
}

/*Other Pages Display**************************/
#content .breadcrumb {
	display: none;
}
.controlScreen .viewanker {
	display: none;
}
#visual,
#content,
#areaDistribute {
	margin-bottom: 7.5em;
}
main.recp-parent.wide-bind {
	margin-top: 7.5em;
	margin-bottom: 7.5em;
}
#indexhgroup,
#primaryContent {
	margin-top: 7.5em;
}
.vis-face .canvas::before {
	padding-top: initial;
	aspect-ratio: 1.8/1;
}
#content #primaryContent #articlePrimaryTitle,
main.recp-parent .hgroup h1,
#indexhgroup .labelcell:nth-child(2) {
	font-family: var(--font-m1);
	font-size: 2.25em;
	text-align: center;
	margin-bottom: 2.25em;
	color: var(--cl-pageink);
	opacity: 1;
}
.csection-cells [data-type="hgroup"][data-level="3"] .ti-primary,
.h-cus {
	font-family: var(--font-m1);
	font-size: 1.8em;
	margin-bottom: 2em;
}
#content .csection-cells figure.cell:not(:last-of-type) {
	margin-bottom: 0;
}
#content .csection-cells [data-type="space"][data-level="4"]::before {
	height: calc(var(--csec-section-margin)*1.5);
}
#content .csection-cells [data-type="space"][data-level="5"]::before {
	height: calc(var(--csec-section-margin)*0.5);
}
@media only screen and (min-width:1441px) {
	.vis-face .canvas::before {
		aspect-ratio: 2/0.8;
	}
}
@media only screen and (max-width:640px) {
	#visual,
	#content,
	#areaDistribute {
		margin-bottom: 5em;
	}
	main.recp-parent.wide-bind {
		margin-top: 2em;
		margin-bottom: 2em;
	}
	#indexhgroup,
	#primaryContent {
		margin-top: 2em;
	}
	.vis-face .canvas::before {
		padding-top: 20em;
	}
	#content #primaryContent #articlePrimaryTitle {
		margin-bottom: 1.5em;
		font-size: 7vw;
	}
	.csection-cells [data-type="hgroup"] .ti-primary,
	.h-cus {
		font-size: 2em;
	}
	#content .csection-cells [data-type="space"][data-level="4"]::before {
		height: calc(2.5em * 1.5);
	}
	#content .csection-cells [data-type="space"][data-level="5"]::before {
		height: calc(2.5em * 0.5);
	}
	#content .csection-cells .cell {
		margin-bottom: 2.8em;
	}
	#content .csection-cells [data-type="space"] {
		margin-bottom: 0;
	}
}

/*Contact form**************************/
main.recp-parent .navstep > li[data-iscurrent="true"] > i {
	background-color: var(--cl-sec-bg);
}
main.recp-parent .navstep > li[data-iscurrent="true"]::after {
	border-color: transparent transparent transparent var(--cl-sec-bg);
}
main.recp-parent .navstep > li > i {
	background-color: var(--cl-line);
}
main.recp-parent .navstep > li::after {
	border-color: transparent transparent transparent var(--cl-line);
}
main.recp-parent .navstep > li[data-stepid="-complete"] > i {
	background-color: var(--cl-num);
}
main.recp-parent input,
main.recp-parent select,
main.recp-parent textarea {
	font-size: 1em;
}
main.recp-parent input[type="text"],
main.recp-parent input[type="date"],
main.recp-parent input[type="datetime-local"],
main.recp-parent input[type="email"],
main.recp-parent input[type="month"],
main.recp-parent input[type="number"],
main.recp-parent input[type="password"],
main.recp-parent input[type="search"],
main.recp-parent input[type="time"],
main.recp-parent input[type="datetime"],
main.recp-parent input[type="tel"],
main.recp-parent input[type="url"],
main.recp-parent input[type="week"],
main.recp-parent input[type="file"],
main.recp-parent textarea {
	border: solid 2px var(--cl-line);
	box-shadow: none;
	background-color: var(--cl-sec-bg);
}
main.recp-parent .controls button {
	background-position: left 1.6em center;
	background-size: auto 0.6em;
}
main.recp-parent .controls .bt.return {
	padding-right: 1.6em;
	padding-left: 3.8em;
	background-image: url(/share/im_oshare/ui/arrow-return.svg);
	background-color: #fff;
	color: var(--cl-pageink);
	border-color: var(--cl-line);
}
main.recp-parent .controls .bt.return:hover {
	background-image: url("/share/im_oshare/ui/arrow-return-wh.svg");
	background-color: var(--cl-pageink);
	color: #fff;
	border-color: var(--cl-pageink);
}
main.recp-parent .controls .bt.activation {
	background-position: right 1.6em center;
	padding-left: 1.6em;
	padding-right: 3.8em;
	background-image: url(/share/im_oshare/ui/arrow-wh.svg);
	background-color: var(--cl-pageink);
	color: #fff;
	border-color: var(--cl-pageink);
}
main.recp-parent .controls .bt.activation:hover {
	background-image: var(--ui-bt-hover-icon);
	background-color: #fff;
	color: var(--cl-pageink);
	border-color: var(--cl-line);
}
main.recp-parent .controls .bt.submit {
	 background-image: var(--ui-bt-hover-icon);
}
@media only screen and (max-width:640px) {
	main .recp-parent .controls {
		margin: 0 0;
	}
}
/*News*/
#detectedArticleParent_list0[data-category="cat1814079751866ff903c58361"] {
	margin-bottom: calc(0em - var(--list-widedisplay-cell-gap));
}
#indexhgroup .labelcell:nth-child(1).font-en {
	display: none;
}
body .articles li .title {
	font-size: 1em;
	font-weight: 400;
}
body .articles li .date {
	font-family: var(--font-en);
	color: var(--cl-pageink);
}
@media only screen and (max-width:640px) {
	body .articles li .title {
		font-size: 15px;
	}
	body .articles li .date {
		font-size: 12px;
	}
	main.recp-parent .controls button {
		font-size: 1em;
	}
}
@media only screen and (max-width:400px) {
	body .articles li .title {
		font-size: 3.4vw;
	}
	body .articles li .date {
		font-size: 3vw;
	}
}