@charset "utf-8";
/* ======================================================
	* products.css
====================================================== */

/* ======================================================
	* PC
====================================================== */
@media print, screen and (min-width: 768px) {
	/* ------------------------------------------------------
	 * Common
	------------------------------------------------------ */
	
	/* ------------------------------------------------------
	 * Page Component
	------------------------------------------------------ */

	/* ----- pc-hidden ----- */
	.pc-hidden {
		display: none;
	}
	/* ----- company-hero ----- */
	.company-hero {
		position: relative;
		margin-right: calc(50% - 50vw);
		margin-left: calc(50% - 50vw);
		padding-right: calc(50vw - 50%);
		padding-left: calc(50vw - 50%);
	}
	.company-hero {
		margin-top: -36px;
		margin-bottom: 60px;
		display: flex;
		align-items: center;
		height: 320px;
		background: url('/english/company/images/index_bg01.jpg') 50% 50% no-repeat;
		background-size: cover;
		background-position: right;
	}
	.company-hero_header {
		width: 582px;
	}
	.company-hero_title {
		line-height: 1.3;
		font-size: 4.2rem;
	}
	/* ----- company-message-box ----- */
	.company-message-box_inner {
		min-height: 298px;
		padding: 45px 60px 20px;
		background: url('/english/company/images/index_im01.jpg') 50% 50% no-repeat;
		background-size: contain;
	}
	.company-message-box_detail {
		max-width: 60%;
	}
	.company-message-box_lead {
		margin-top: 1.1em;
		color: #333;
		font-size: 1.8rem;
		line-height: 1.6;
	}
	.company-message-box_text {
		margin-top: 1.5em;
		color: #333;
		font-size: 1.6rem;
		line-height: 1.4;
	}
	.company-message-box .link-button-v2 > li > a {
		padding: 13px 40px 13px 30px;
	}
	/* ----- company-message-box-heading-lv2 ----- */
	.company-message-box-heading-lv2 div.company-message-box-block {
		display: -webkit-flex;
		display: flex;
		-webkit-flex-direction: row;
		flex-direction: row;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-align-items: center;
		align-items: center;
	}
	.company-message-box-heading-lv2 .company-message-box-heading_title {
		color: #333;
		font-size: 2.8rem;
		font-weight: bold;
		line-height: 1.4;
	}
	/* ----- company-index-layout ----- */
	.company-index-layout {
		margin-top: 30px;
	}
	.company-index-layout > *:nth-child(-n+2) {
		margin-top: 0;
	}
	.company-index-layout_item {
		margin-top: 30px;
	}
	.company-index-layout_item > *:first-child,
	.company-index-layout_item > section > *:first-child {
		margin-top: 0;
	}
	.company-index-layout_item > .block {
		position: relative;
		display: block;
		background-color: #767676;
		text-decoration: none;
	}
	.company-index-layout_text {
		position: absolute;
		bottom: 0;
		left: 0;
		display: table;
		width: 100%;
	}
	.company-index-layout_label {
		position: relative;
		display: table-cell;
		padding: 10px 40px 10px 20px;
		background-color: rgba(0, 0, 0, .6);
		vertical-align: middle;
		line-height: 1.4;
		color: #fff;
		z-index: 2;
	}
	.company-index-layout_item > a.block:after {
		display: none;
	}
	.company-index-layout_item > a.block .company-index-layout_label::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 16px;
		width: 10px;
		height: 10px;
		margin-top: -5px;
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		transition-property: right;
		transition-duration: .2s;
	}
	.company-index-layout_description {
		overflow: hidden;
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 100%;
		padding: 15px;
		background-color: rgba(0, 0, 0, .6);
		font-size: 1.4rem;
		color: #fff;
		z-index: 1;
		opacity: 0;
	}
	.company-index-layout_body {
		margin-top: 15px;
	}
	.company-index-layout_body > .company-index-layout_text-v2 {
		line-height: 1.4;
	}
	.company-index-layout_item > a.block {
		transition-property: box-shadow;
		transition-duration: .2s;
	}
	.company-index-layout_item > a.block:hover {
		box-shadow: 0 1px 6px 0 rgba(0, 0, 0, .22);
	}
	.company-index-layout_item > .block .company-index-layout_label {
		transition-property: background-color;
		transition-duration: .4s;
	}
	.company-index-layout_item > .block:hover .company-index-layout_label {
		background-color: rgba(0, 0, 0, 0);
	}
	.company-index-layout_item > .block:hover .company-index-layout_text:last-child .company-index-layout_label {
		background-color: rgba(0, 0, 0, .6);
	}
	.company-index-layout_item > .block .company-index-layout_description {
		transition-property: opacity;
		transition-duration: .2s;
	}
	.company-index-layout_item > .block:hover .company-index-layout_description {
		opacity: 1;
	}
	.company-index-layout_item > a.block:hover .company-index-layout_label::after {
		animation: pattern06 .4s;
	}
	/* ----- company-office-box-layout ----- */
	.company-office-box-layout {
		margin-top: 3em;
		padding: 34px 35px 23px;
		border: 1px solid #e5e5e5;
	}
	.company-office-box-layout > .company-office-box_detail {
		margin-top: 23px;
	}
	.company-office-box-layout > .company-office-box_detail .link-button-v2 {
		margin-top: 1.7em;
	}
	.company-office-box-layout > .company-office-box_detail .link-button-v2 > li > a {
		padding: 13px 40px 13px 30px;
	}
	/* ----- company-office-box-heading-lv2 ----- */
	.company-office-box-heading-lv2 div.company-office-box-block {
		display: -webkit-flex;
		display: flex;
		-webkit-flex-direction: row;
		flex-direction: row;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-align-items: center;
		align-items: center;
		-webkit-justify-content: center;
		justify-content: center;
	}
	.company-office-box-heading-lv2 .company-office-box-heading_title {
		color: #333;
		font-size: 3rem;
		line-height: 1.2;
	}
	/* ----- company-office-box-heading-lv3 ----- */
	section + section > .company-office-box-heading-lv3 {
		margin-top: 2.1em;
	}
	.company-office-box-heading-lv3 div.company-office-box-block {
		display: -webkit-flex;
		display: flex;
		-webkit-flex-direction: row;
		flex-direction: row;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-align-items: center;
		align-items: center;
	}
	.company-office-box-heading-lv3 .company-office-box-heading_title {
		color: #333;
		font-size: 2.4rem;
		line-height: 1.1;
	}
	/* ----- company-office-box-list-description ----- */
	.company-office-box-list-description {
		margin-top: 1.7em;
	}
	.company-office-box-list-description > dt {
		color: #333;
		font-size: 1.8rem;
		font-weight: bold;
		line-height: 1.2;
	}
	.company-office-box-list-description > dd {
		margin-top: .6em;
		color: #333;
		font-size: 1.6rem;
		line-height: 1.6;
	}
	.company-office-box-list-description > dd .link-text {
		margin-top: .5em;
	}
	/* ----- company-office-related-layout ----- */
	.company-office-related-layout {
		margin-top: 1.2em;
	}	
	.company-office-related_item:nth-child(n+5){
	margin-top:10px;
}
	/* ----- company-office-image-set ----- */
	.company-office-image-set {
		position: relative;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-direction: row;
		flex-direction: row;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-align-items: center;
		align-items: center;
		-webkit-justify-content: center;
		justify-content: center;
		height: 110px;
		padding: 10px;
		border: 1px solid #e1e1e1;
	}
	.company-office-image-set.a-blank::after {
		position: absolute;
		bottom: 3px;
		right: 3px;
		margin-left: 0;
	}
	/* ----- company-office-related_link ----- */
	.company-office-related_link {
		position: relative;
		display: inline-block;
		padding-top: 15px;
		padding-left: 20px;
		line-height: 1.4;
		color: #369;
	}
	.company-office-related_link::before {
		content: "";
		position: absolute;
		bottom: -1px;
		left: 20px;
		width: calc(100% - 20px);
		height: 1px;
		background-color: #369;
		transform: scaleX(0);
		transform-origin: bottom left;
		transition: transform .2s;
	}
	.company-office-related_link::after {
		content: "";
		position: absolute;
		top: 1.4em;
		left: 0;
		width: 8px !important;
		height: 8px !important;
		margin-left: 0;
		background: none;
		border-top: 1px solid #969696 !important;
		border-right: 1px solid #969696 !important;
		-webkit-transform: rotate(45deg) !important;
		transform: rotate(45deg) !important;
	}
	a:hover .company-office-related_link::before {
		transform: scaleX(1);
	}
	a:hover .company-office-related_link::after {
		animation: pattern05 .4s;
	}
	.company-office-related_link > .company-office-related-link_label {
		position: relative;
		color: #369;
	}
	.company-office-related_link > .company-office-related-link_label::after {
		display: inline-block;
		width: 10px !important;
		height: 10px !important;
		margin-left: 8px;
		background: url(/english/common/images/com_ic02.png) no-repeat 0 0;
		border: none !important;
		-webkit-transform: rotate(0) !important;
		transform: rotate(0) !important;
		vertical-align: 1px;
		content: "";
	}
	/* ----- company-concept-heading-lv2 ----- */
	.company-concept-heading-lv2 {
		margin-top: 4.2em;
	}
	.company-concept-heading-lv2 .company-concept-heading_title {
		color: #333;
		font-size: 3rem;
		line-height: 1.2;
	}
	.company-concept-heading-lv2 div.company-concept-block {
		display: -webkit-flex;
		display: flex;
		-webkit-flex-direction: row;
		flex-direction: row;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-align-items: center;
		align-items: center;
		-webkit-justify-content: center;
		justify-content: center;
	}
	/* ----- column-layout ----- */
	.company-concept-heading-lv2 + .column-layout {
		margin-top: 1.4em;
	}
	.column-layout[data-row-pc="1"] .column_item > .image-set {
		width: 70%;
		margin: 0 auto;
	}
	
}

/* ======================================================
	* PC max
====================================================== */
@media print, screen and (min-width: 1920px) {
}


/* ======================================================
	* PC min
====================================================== */
@media only screen and (min-width: 768px) and (max-width: 1260px) {
	.company-hero {
		margin-right: -30px;
		margin-left: -30px;
		padding-right: 30px;
		padding-left: 30px;
		height: 210px;
	}
}


/* ======================================================
	* SP
====================================================== */
@media only screen and (max-width: 767px) {
	/* ------------------------------------------------------
	 * Common
	------------------------------------------------------ */

	/* ------------------------------------------------------
	 * Page Component
	------------------------------------------------------ */

	/* ----- sp-hidden ----- */
	.sp-hidden {
		display: none;
	}
	/* ----- company-hero ----- */
	.company-hero {
		margin-right: -15px;
		margin-left: -15px;
		padding-left: 15px;
		padding-right: 15px;
	}
	.company-hero {
		margin-top: -20px;
	}
	.company-hero_header {
		position: relative;
		display: flex;
		flex-direction: column;
		justify-content: center;
		margin: 0 -15px 25px;
		padding: 0 15px;
		height: 42.66vw;
		background: #e2eff8 url('/english/company/images/index_bg01_sp.jpg') 50% 50% no-repeat;
		background-size: cover;
		background-position: right;
	}
	.company-hero_title {
		line-height: 1.3;
		font-size: 2.3rem;
		z-index: 1
	}
	/* ----- company-message-box ----- */
	.company-message-box_lead {
		margin-top: .8em;
		color: #333;
		font-size: 1.4rem;
		line-height: 1.6;
	}
	.company-message-box_text {
		margin-top: .6em;
		color: #333;
		font-size: 1.4rem;
		line-height: 1.6;
	}
	/* ----- company-message-box-heading-lv2 ----- */
	.company-message-box-heading-lv2 {
		min-height: 115px;
		padding: 13px;
		background: url('/english/company/images/index_im01.jpg') 50% 50% no-repeat;
		background-size: contain;
	}
	.company-message-box-heading-lv2 div.company-message-box-block {
		display: -webkit-flex;
		display: flex;
		-webkit-flex-direction: row;
		flex-direction: row;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-align-items: center;
		align-items: center;
		max-width: 60%;
	}
	.company-message-box-heading-lv2 .company-message-box-heading_title {
		color: #333;
		font-size: 1.3rem;
		font-weight: bold;
		line-height: 1.4;
	}
	/* ----- company-index-layout ----- */
	.company-index-layout {
		margin-top: 3.5em;
	}
	.company-index-layout > *:nth-child(n+2) {
		margin-top: 15px;
	}
	.company-index-layout_item > *:first-child,
	.company-index-layout_item > section > *:first-child {
		margin-top: 0;
	}
	.company-index-layout .company-index-layout_item > .block {
		position: relative;
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
		height: auto !important;
		min-height: 60px;
		padding: 10px 20px 10px 10px;
		border: 1px solid #ccc;
		text-decoration: none;
	}
	.company-index-layout[data-row-pc="2"] .company-index-layout_item > .block {
		display: block;
		min-height: inherit;
		padding: 0;
		border: none;
		background-color: #767676;
		text-decoration: none;
	}
	.company-index-layout_image {
		display: none;
	}
	.company-index-layout[data-row-pc="2"] .company-index-layout_image {
		margin-right: 0;
	}
	.company-index-layout_text {
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
	}
	.company-index-layout[data-row-pc="2"] .company-index-layout_text {
		position: relative;
		min-height: 60px;
		background: #5f5f5f;
	}
	.company-index-layout_label {
		font-size: 1.4rem;
		line-height: 1.4;
	}
	.company-index-layout[data-row-pc="2"] .company-index-layout_label {
		display: block;
		width: 100%;
		padding: 5px 20px 5px 15px;
		line-height: 1.4;
		color: #fff;
		font-size: 1.5rem;
	}
	.company-index-layout_item > a.block:after {
		content: "";
		position: absolute;
		top: 50%;
		right: 10px;
		width: 10px;
		height: 10px;
		margin-top: -5px;
		border-top: 1px solid #969696;
		border-right: 1px solid #969696;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		transition-property: right;
		transition-duration: .2s;
	}
	.company-index-layout[data-row-pc="2"] .company-index-layout_item > a.block:after {
		display: none;
	}
	.company-index-layout_item > a.block .company-index-layout_label::after {
		display: none;
	}
	.company-index-layout[data-row-pc="2"] .company-index-layout_item > a.block .company-index-layout_label::after {
		content: "";
		position: absolute;
		display: block;
		top: 50%;
		right: 10px;
		width: 8px;
		height: 8px;
		margin-top: -4px;
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		transition-property: right;
		transition-duration: .2s;
	}
	.company-index-layout .company-index-layout_description {
		display: none;
	}
	.company-index-layout .company-index-layout_text-v2 {
		padding: 5px 0;
		line-height: 1.4;
	}
	/* ----- company-office-box-layout ----- */
	.company-office-box-layout {
		margin-top: 2em;
		padding: 19px 16px 19px;
		border: 1px solid #e5e5e5;
	}
	.company-office-box-layout > .company-office-box_detail {
		margin-top: 23px;
	}
	.company-office-box-layout > .company-office-box_detail .link-button-v2 {
		margin-top: .9em;
	}
	.company-office-box-layout > .company-office-box_detail .link-button-v2 > li > a {
		padding: 15px 25px;
	}
	/* ----- company-office-box-heading-lv2 ----- */
	.company-office-box-heading-lv2 div.company-office-box-block {
		display: -webkit-flex;
		display: flex;
		-webkit-flex-direction: row;
		flex-direction: row;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-align-items: center;
		align-items: center;
		-webkit-justify-content: center;
		justify-content: center;
	}
	.company-office-box-heading-lv2 .company-office-box-heading_title {
		color: #333;
		font-size: 1.9rem;
		line-height: 1.4;
	}
	/* ----- company-office-box-heading-lv3 ----- */
	section + section > .company-office-box-heading-lv3 {
		margin-top: 2.1em;
	}
	.company-office-box-heading-lv3 div.company-office-box-block {
		display: -webkit-flex;
		display: flex;
		-webkit-flex-direction: row;
		flex-direction: row;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-align-items: center;
		align-items: center;
	}
	.company-office-box-heading-lv3 .company-office-box-heading_title {
		color: #333;
		font-size: 1.7rem;
		line-height: 1.4;
	}
	/* ----- company-office-box-list-description ----- */
	.company-office-box-list-description {
		margin-top: 1.4em;
	}
	.company-office-box-list-description > dt {
		color: #333;
		font-size: 1.4rem;
		font-weight: bold;
		line-height: 1.4;
	}
	.company-office-box-list-description > dd {
		margin-top: .6em;
		color: #333;
		font-size: 1.3rem;
		line-height: 1.6;
	}
	.company-office-box-list-description > dd .link-text {
		margin-top: .5em;
	}
	/* ----- company-office-related-layout ----- */
	.company-office-related-layout {
		margin-top: 1.2em;
	}
	.company-office-related_item:nth-of-type(n+3) {
		margin-top: .6em;
	}
	/* ----- company-office-image-set ----- */
	.company-office-image-set {
		position: relative;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-direction: row;
		flex-direction: row;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-align-items: center;
		align-items: center;
		-webkit-justify-content: center;
		justify-content: center;
		min-height: 65px;
		padding: 4px;
		border: 1px solid #e1e1e1;
	}
	.company-office-image-set.a-blank::after {
		position: absolute;
		bottom: 3px;
		right: 3px;
		margin: 0;
	}
	/* ----- company-office-related_link ----- */
	.company-office-related_link {
		position: relative;
		display: inline-block;
		padding-top: 4px;
		padding-left: 10px;
		line-height: 1.4;
		color: #369;
	}
	.company-office-related_link::after {
		content: "";
		position: absolute;
		top: .6em;
		left: -4px;
		width: 8px !important;
		height: 8px !important;
		background: none;
		border-top: 1px solid #969696 !important;
		border-right: 1px solid #969696 !important;
		-webkit-transform: rotate(45deg) !important;
		transform: rotate(45deg) !important;
		transition-property: left;
		transition-duration: .2s;
	}
	.company-office-related_link > .company-office-related-link_label {
		position: relative;
		color: #369;
	}
	.company-office-related_link > .company-office-related-link_label::after {
		display: inline-block;
		width: 10px !important;
		height: 10px !important;
		margin-left: 8px;
		background: url(/english/common/images/com_ic02_sp.png) no-repeat 0 0;
		background-size: 10px 10px;
		border: none !important;
		-webkit-transform: rotate(0) !important;
		transform: rotate(0) !important;
		vertical-align: 0;
		content: "";
	}
	/* ----- company-concept-heading-lv2 ----- */
	.company-concept-heading-lv2 {
		margin-top: 3.2em;
		text-align: center;
	}
	.company-concept-heading-lv2 .company-concept-heading_title {
		color: #333;
		font-size: 1.9rem;
		line-height: 1.4;
	}
	.company-concept-heading-lv2 div.company-concept-block {
		display: -webkit-flex;
		display: flex;
		-webkit-flex-direction: row;
		flex-direction: row;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-align-items: center;
		align-items: center;
		-webkit-justify-content: center;
		justify-content: center;
	}
	/* ----- column-layout ----- */
	.company-concept-heading-lv2 + .column-layout {
		margin-top: 0.9em;
	}
}


/* ======================================================
 * Print
====================================================== */
@media print {
	.company-hero {
		margin-right: -30px;
		margin-left: -30px;
		padding-right: 30px;
		padding-left: 30px;
	}
}