@charset "utf-8";

/* ====================================================
		Common
==================================================== */

/* 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;}

/* Layout */
.row {
  padding: 150px 0;
}
@media all and (max-width: 896px) {
  .row {
    padding: 80px 0;
  }
}





/* ====================================================
		Font
==================================================== */
.en {
	font-family: "Zen Old Mincho",sans-serif;
}
.brandon {
	font-family: "Outfit",sans-serif;
}
.heisei {
	font-family: "Zen Kaku Gothic New",sans-serif;
}




/* ====================================================
		comText
==================================================== */
.comText {
	padding-left: 75px;
	width: 800px;
	position: absolute;
	bottom: 132px;
	left: 0;
	box-sizing: border-box;
	z-index: 10;
}
.comText .title {
	margin-bottom: 30px;
	color: #fff;
	font-weight: normal;
	font-size: 15rem;
	line-height: 0.96;
	font-family: "Zen Old Mincho",sans-serif;
	letter-spacing: 0.02em;
}
.comText .txt {
	padding: 9px 16px 7px 78px;
	color: #fff;
	font-size: 1.6rem;
	font-weight: bold;
	background-color: #bb0007;
	display: inline-block;
	letter-spacing: 0.1em;
	line-height: 1.5;
	position: relative;
}
.comText .txt::after {
	margin-top: -1px;
	width: 58px;
	height: 1px;
	position: absolute;
	top: 50%;
	left: 6px;
	background-color: #fff;
	content: "";
}
@media all and (max-width: 896px) {
	.comText {
		padding-left: 36px;
		width: 100%;
		bottom: 56px;
	}
	.comText .txt {
		padding: 11px 24px 10px 63px;
		font-size: 1.4rem;
	}
	.comText .title {
		font-size: 7.3rem;
	}
	.comText .txt::after {
		width: 40px;
	}
}
@media all and (max-width: 447px) {
	.comText {
		padding-left: 17px;
	}
	.comText .title {
		font-size: 6rem;
	}
	.comText .txt {
		padding: 9px 14px 8px 50px;
		font-size: 1.2rem;
	}
	.comText .txt::after {
		width: 38px;
	}
}



/* ====================================================
		fixBtnUl
==================================================== */

.fixBtnUl {
	width: 52px;
	position: fixed;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	right: 0;
	z-index: 999;
}
.fixBtnUl a {
	padding: 21px 0 19px;
	color: #fff;
	font-size: 1.5rem;
	font-weight: bold;
	display: block;
	text-align: center;
	background-color: #bd0006;
	letter-spacing: 0.12em;
	position: relative;
}
.fixBtnUl .btn02 a {
	background-color: #262827;
}
.fixBtnUl .btn01 a {
	padding: 50px 0 50px;
	background: #bd0006 url(../../img_common/icon_arrow_bottom.png) no-repeat center bottom 19px;
	background-size: 4px auto;
}
.fixBtnUl .btn01 a::before {
	margin-left: -13px;
	width: 26px;
	height: 19px;
	position: absolute;
	top: 22px;
	left: 50%;
	background: url(../../img_common/icon_direct-delivery.png) no-repeat left top;
	background-size: 100% 100%;
	content: "";
}
.fixBtnUl li {
	margin-bottom: 10px;
}
.fixBtnUl li:last-child {
	margin-bottom: 0;
}
.fixBtnUl .txt {
	margin: 0 auto;
	width: 22px;
	height: 110px;
	-webkit-writing-mode : tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: tb-rl;
	writing-mode: vertical-rl;
	display: block;
}
@media all and (-ms-high-contrast:none){
	.fixBtnUl .txt {
		width: 34px;
	}
}
@media all and (min-width: 897px) {
	.fixBtnUl li a:hover {
		opacity: 0.7;
	}
}





/* ====================================================
		comImgBox
==================================================== */

.comImgBox {
	display: flex;
	justify-content: space-between;
}
.comImgBox .textBox {
	padding: 93px 10px 0 220px;
	width: calc(50% + 190px);
	background-color: #fff;
	box-sizing: border-box;
	position: relative;
}
.comImgBox .textBox .inner {
	padding-bottom: 118px;
	max-width: 480px;
	position: relative;
}
.comImgBox .photo {
	margin: 135px -80px 0 0;
	flex: 1;
	height: 610px;
	background: url(../../img_index/ph_company-policy.jpg) no-repeat center bottom;
	background-size: cover;
	position: relative;
	z-index: 10;
}
@media all and (max-width: 896px) {
	.comImgBox .photo {
		margin: 0;
		padding-bottom: 56.4%;
		height: auto;
	}
	.comImgBox {
		display: block;
	}
	.comImgBox .textBox {
		padding: 20px 20px 40px;
		width: auto;
	}
}





/* ====================================================
		comBtnList
==================================================== */

.comBtnList {
	border-top: 1px solid rgba(0,0,0,0.15);
}
.comBtnList li {
	border-bottom: 1px solid rgba(0,0,0,0.15);
}
.comBtnList a {
	padding: 22px 45px 24px 15px;
	display: block;
	font-size: 1.2rem;
	background: url(../../img_common/icon_arrow_right_red.png) no-repeat right 5px center;
	background-size: 32px auto;
}
.comBtnList .en {
	font-size: 2.2rem;
	font-weight: 800;
	font-family: "Outfit",sans-serif;
	display: block;
	line-height: 1.2;
	letter-spacing: 0.04em;
}
@media all and (min-width: 897px) {
	.comBtnList a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.comBtnList a {
		padding: 22px 45px 24px 5px;
		font-size: 1.1rem;
		background-size: 24px auto;
	}
	.comBtnList .en {
		font-size: 2rem;
		letter-spacing: 0;
	}
	.comImgBox .textBox .inner {
		padding-bottom: 0;
		max-width: inherit;
	}
}




/* ====================================================
		comBtn
==================================================== */

.comBtn a {
	margin: 0 auto;
	padding: 31px 60px 25px;
	color: #fff;
	font-size: 1.6rem;
	max-width: 400px;
	background: #212322 url(../../img_common/icon_arrow_right_white_large.png) no-repeat right 20px center;
	background-size: 30px auto;
	display: block;
	text-align: center;
	letter-spacing: 0.08em;
	font-weight: bold;
	box-sizing: border-box;
}
@media all and (min-width: 897px) {
	.comBtn a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.comBtn a {
		padding: 21px 45px 20px;
		background-size: 22px auto;
		width: 86%;
		font-size: 1.4rem;
	}
}
@media all and (max-width: 374px) {
	.comBtn a {
		padding: 21px 25px 20px;
		width: 90%;
		background-position: right 10px center;
		font-size: 1.3rem;
		letter-spacing: 0;
	}
}





/* ====================================================
		comBtn.ul
==================================================== */

ul.comBtn {
	display: flex;
	justify-content: center;
}
ul.comBtn li {
	margin: 0 20px;
	width: 420px;
}
@media all and (max-width: 896px) {
	ul.comBtn {
		display: block;
	}
	ul.comBtn li {
		margin: 0 0 20px;
		width: auto;
	}
	ul.comBtn li:last-child {
		margin-bottom: 0;
	}
}

/* comBtn02 */
.comBtn02 {
	line-height: 1;
}
.comBtn02 a,
.comBtn02 span {
	margin: 0 auto;
	padding: 14px 60px 12px;
	color: #fff;
	font-size: 1.4rem;
	max-width: 300px;
	background: #212322 url(../../img_common/icon_arrow_right_white.png) no-repeat right 18px center;
	background-size: 22px auto;
	display: block;
	text-align: center;
	letter-spacing: 0.08em;
	font-weight: bold;
	box-sizing: border-box;
	border-radius: 50px;
	letter-spacing: 0.15em;
}
@media all and (min-width: 897px) {
	.comBtn02 a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.comBtn02 a,
	.comBtn02 span {
		padding: 10px 33px 10px 5px;
		font-size: 1.3rem;
		max-width: 230px;
		background-size: 15px auto;
	}
}

/* comBtn03 */
.comBtn03 {
	margin-top: 51px;
}
.comBtn03 a {
	max-width: 420px;
	color: #212322;
	border: 1px solid #212322;
	background-color: transparent;
	background-image: url(../../img_common/icon_arrow_right_black.png);
}

/* comBtn04 */
.comBtn04 a {
	background-image: url(../../img_common/icon_blank.png);
	background-size: 13px auto;
}





/* -------------------------------
		comBox
------------------------------- */
.comBox {
	margin: 0 auto;
	max-width: 1100px;
	box-sizing: border-box;
	position: relative;
}
@media all and (min-width: 897px) and (max-width: 1299px) {
  .comBox {
		margin: 0 70px;
	}
}
@media all and (max-width: 896px) {
	.comBox {
		margin: 0 20px;
	}
}




/* ====================================================
		Title
==================================================== */

/* -------------------------------
		headLine01
------------------------------- */
.headLine01 {
	margin-bottom: 71px;
	padding-left: 77px;
	font-size: 4.06rem;
	color: #fff;
	font-family: "Zen Old Mincho",sans-serif;
	font-style: italic;
	position: relative;
	line-height: 1;
}
.headLine01::before {
	width: 58px;
	height: 1px;
	position: absolute;
	top: 22px;
	left: 0;
	background-color: #fff;
	content: "";
}
@media all and (max-width: 896px) {
	.headLine01 {
		margin-bottom: 40px;
		padding-left: 56px;
		font-size: 2.3rem;
	}
	.headLine01::before {
		width: 46px;
		top: 11px;
	}
}


/* -------------------------------
		headLine02
------------------------------- */
.headLine02 {
	margin-bottom: 68px;
}
.headLine02 .en {
	color: #fff;
	font-weight: normal;
	font-size: 15rem;
	line-height: 0.97;
	display: block;
}
.headLine02 .txt {
	margin-top: 24px;
	padding: 12px 19px 9px;
	color: #fff;
	font-size: 1.6rem;
	background-color: #bd0006;
	line-height: 1.2;
	display: inline-block;
	letter-spacing: 0.1em;
}
@media all and (max-width: 896px) {
	.headLine02 .en {
		font-size: 7rem;
	}
	.headLine02 .txt {
		font-size: 1.3rem;
	}
	.headLine02 {
		margin-bottom: 40px;
	}
}


/* -------------------------------
		headLine03
------------------------------- */
.headLine03 {
	margin-bottom: 132px;
	font-size: 1.6rem;
	text-align: center;
}
.headLine03 .en {
	margin-top: 8px;
	display: block;
	font-size: 8rem;
	line-height: 1;
	letter-spacing: 0.05em;
}
.headLine03 .jp {
	padding: 13px 28px 11px;
	color: #fff;
	background-color: #bd0006;
	display: inline-block;
	line-height: 1;
	vertical-align: top;
	letter-spacing: 0.1em;
}
@media all and (max-width: 896px) {
	.headLine03 .jp {
		padding: 11px 19px 13px;
	}
	.headLine03 {
		margin-bottom: 60px;
		font-size: 1.4rem;
	}
	.headLine03 .en {
		font-size: 5rem;
	}
}


/* -------------------------------
		headLine04
------------------------------- */
.headLine04 {
	margin-bottom: 30px;
	font-size: 3.656rem;
	font-family: "Zen Old Mincho",sans-serif;
	font-style: italic;
	font-weight: normal;
}
@media all and (max-width: 896px) {
	.headLine04 {
		margin-bottom: 15px;
		font-size: 2.2rem;
	}
}


/* -------------------------------
		headLine05
------------------------------- */
.headLine05 {
	margin-bottom: 62px;
	text-align: center;
	position: relative;
}
.headLine05 span {
	position: relative;
	z-index: 10;
}
.headLine05 .enTxt {
	width: 150vw;
	font-weight: normal;
	position: absolute;
	top: 36px;
	left: 50%;
	white-space:nowrap;
	color: transparent;
	font-size: 15rem;
	font-family: "Zen Old Mincho",sans-serif;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	text-stroke: 2px #fff;
	-webkit-text-stroke: 2px #fff;
	content: "";
	opacity: 0.8;
	z-index: 0;
}
.headLine05 .txt {
	margin-top: 37px;
	letter-spacing: -0.05em;
	display: block;
	font-size: 6rem;
	font-family: "Zen Old Mincho",sans-serif;
	line-height: 1;
}
.headLine05 .small {
	padding: 6px 27px 8px;
	min-width: 80px;
	color: #fff;
	font-size: 1.4rem;
	background-color: #b0000b;
	display: inline-block;
	vertical-align: top;
	box-sizing: border-box;
	letter-spacing: 0.1em;
}
.headLine05 .num {
	margin-bottom: 30px;
	color: #b50009;
	display: block;
	font-size: 8rem;
	font-weight: 800;
	position: relative;
	font-family: "Zen Old Mincho",sans-serif;
	line-height: 1;
}
.headLine05 .num::before {
	width: 1px;
	height: 20px;
	position: absolute;
	bottom: -30px;
	left: 50%;
	background-color: #b0000b;
	content: "";
}
.headLine05 .special {
	margin-top: 11px;
	padding-top: 41px;
	font-size: 2rem;
	display: block;
	position: relative;
	letter-spacing: 0.05em;
}
.headLine05 .special::before {
	width: 1px;
	height: 24px;
	position: absolute;
	top: 0;
	left: 50%;
	background-color: #212322;
	content: "";
}

#main .row .headLine05 {
	margin-bottom: 150px;
}

@media all and (max-width: 896px) {
	.headLine05 .txt {
		margin: 12px -10px 0;
		font-size: 2.6rem;
		line-height: 1.2;
		letter-spacing: 0.01em;
	}
	.headLine05 .small {
		padding: 4px 27px 6px;
		min-width: 70px;
		font-size: 1.2rem;
	}
	.headLine05 {
		margin-bottom: 40px;
	}
	.headLine05 .num {
		font-size: 5rem;
	}
	.headLine05 .enTxt {
		font-size: 9rem;
		top: 50% !important;
		-webkit-transform: translate(-50%,-50%);
		transform: translate(-50%,-50%);
		letter-spacing: -0.1em;
	}
	.headLine05 .special {
		letter-spacing: 0.01em;
	}
  
  #main .row .headLine05 {
    margin-bottom: 60px;
  }

}


/* -------------------------------
		headLine06
------------------------------- */
.headLine06 {
	margin-bottom: 36px;
	padding-top: 40px;
	font-size: 3rem;
	font-family: "Zen Old Mincho",sans-serif;
	line-height: 1.633;
	position: relative;
	letter-spacing: 0.1em;
  font-weight: 400;
}
.headLine06::after {
	width: 200px;
	height: 1px;
	position: absolute;
	top: 0;
	left: 0;
	background-color: #b50009;
	content: "";
}
@media all and (max-width: 896px) {
	.headLine06 {
		margin-bottom: 24px;
		padding-top: 19px;
		font-size: 2.2rem;
		line-height: 1.4;
		letter-spacing: 0.08em;
	}
	.headLine06::after {
		width: 100px;
	}
}






/* ====================================================
		comList
==================================================== */

.comList {
	margin: -20px -70px 0 0;
	display: flex;
	flex-wrap: wrap;
}
.comList li {
	margin: 20px 70px 0 0;
	width: 320px;
}
.comList a {
	display: block;
	background-color: #fff;
}
.comList .txt {
	padding: 21px 30px 12px 20px;
	font-size: 1.2rem;
	position: relative;
}
.comList .txt .en {
	margin-bottom: -1px;
	font-size: 2.4rem;
	font-family: "Outfit",sans-serif;
	display: block;
	line-height: 1;
	font-weight: 800;
}
.comList .txt::after {
	width: 40px;
	height: 40px;
	position: absolute;
	bottom: 20px;
	right: 0;
	background: url(../../img_common/icon_arrow_box_red.jpg) no-repeat left top;
	background-size: 100% 100%;
	content: "";
}
@media all and (min-width: 897px) {
	.comList a:hover {
		opacity: 0.7;
	}
}
@media all and (min-width: 897px) and (max-width: 1299px) {
  .comList li {
    margin: 20px 4% 0 0;
    width: 28%;
  }
  .comList .txt .en {
    font-size: 2rem;
  }
}
@media all and (max-width: 896px) {
	.comList {
		margin: -20px 0 0 0;
		display: block;
	}
	.comList li {
		margin-right: 0;
		width: auto;
	}
	.comList .photo img {
		width: 100%;
	}
}


/* -------------------------------
		comList02
------------------------------- */

.comList02 {
	margin-top: -20px;
	display: flex;
	flex-wrap: wrap;
}
.comList02 > li {
	margin: 20px 70px 0 0;
	width: 320px;
}
.comList02 > li:nth-child(3n) {
	margin-right: 0;
}
.comList02 .image {
	margin-bottom: 28px;
}
.comList02 .title {
	margin-bottom: 11px;
	font-size: 3rem;
	font-family: "Zen Old Mincho",sans-serif;
	line-height: 1;
}
.comList02 .title span {
	margin: 6px 0 0 7px;
	font-size: 1.6rem;
	display: inline-block;
	vertical-align: middle;
	letter-spacing: 0;
}
.comList02 .comTxtUl li {
	margin-bottom: -1px;
}
.comList02 .comTxtUl li:last-child {
	margin-bottom: 0;
}
.comList02 a {
	display: block;
	position: relative;
}
.comList02 a .title {
	margin-bottom: 18px;
	padding-right: 50px;
	font-size: 2.43rem;
	font-style: italic;
	position: relative;
}
.comList02 a::after {
	width: 40px;
	height: 40px;
	position: absolute;
	bottom: -9px;
	right: 0;
	background: url(../../img_common/icon_arrow_box_red.jpg) no-repeat left top;
	background-size: 100% 100%;
	content: "";
}
@media all and (min-width: 897px) {
	.comList02 a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.comList02 {
		margin-top: 0;
		display: block;
	}
	.comList02 > li {
		margin: 0 0 40px 0;
		width: auto;
	}
	.comList02 > li:last-child {
		margin-bottom: 0;
	}
	.comList02 .image img {
		width: 100%;
	}
	.comList02 .image {
		margin-bottom: 15px;
	}
	.comList02 .title {
		font-size: 2.2rem;
	}
	.comList02 .title span {
		margin: -1px 0 0 7px;
	}
	.comList02 a::after {
		width: 20px;
		height: 20px;
	}
	.comList02 a .title {
		font-size: 2.1rem;
	}
}
@media all and (max-width: 374px) {
	.comList02 .title {
		font-size: 2.3rem;
	}
}



/* ====================================================
		contactBox
==================================================== */

.contactBox {
	padding: 73px 0 92px;
	background: url(../../img_common/bg_contact.jpg) no-repeat center center;
	background-size: cover;
}
.contactBox .title,
.contactBox .ttl {
	margin-bottom: 60px;
	color: #fff;
	font-size: 3rem;
	font-weight: normal;
	font-family: "Zen Old Mincho",sans-serif;
	text-align: center;
}
.contactBox .ttl {
	margin-bottom: 11px;
	color: #212322;
	font-size: 1.8rem;
}
.contactBox .listUl {
	margin-top: -20px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.contactBox .listUl li {
	margin-top: 20px;
	width: 540px;
}
.contactBox .listUl .btn01 {
	width: 100%;
}
.contactBox .listUl a {
	padding: 26px 20px 21px;
	display: block;
	background-color: #fff;
	text-align: center;
	box-sizing: border-box;
}
.contactBox .listUl .btn01 a {
	padding: 29px 20px;
	color: #fff;
	background-color: transparent;
	border: 1px solid #fff;
}
.contactBox .listUl .btn01 .ttl {
	margin-bottom: 17px;
	color: #fff;
	font-size: 2.4rem;
}
.contactBox .listUl .small {
	margin-top: 5px;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
}
.contactBox .listUl .btn02 .comTel {
	font-size: 4.4rem;
	letter-spacing: 0.05em;
}
.contactBox .listUl .btn02 .small {
	margin-top: 7px;
}
.contactBox .listUl .btn03 .ttl {
	margin-bottom: 0;
	padding: 25px 0 20px;
	font-size: 3.4rem;
	font-weight: bold;
	font-family: "Outfit",sans-serif;
	line-height: 1;
}
.contactBox .listUl .btn03 .ttl img {
	margin: -10px 25px 0 -9px;
	display: inline-block;
	vertical-align: middle;
}
@media all and (min-width: 897px) {
	.contactBox .listUl a:hover {
		opacity: 0.7;
	}
}
@media all and (min-width: 897px) and (max-width: 1299px) {
  .contactBox .listUl li {
    width: 49%;
  }
}
@media all and (max-width: 896px) {
	.contactBox .title,
	.contactBox .ttl {
		margin-bottom: 47px;
		font-size: 1.8rem;
	}
	.contactBox {
		padding: 47px 23px 45px;
	}
	.contactBox .listUl .btn01 .ttl {
		margin-bottom: 19px;
		font-size: 1.8rem;
	}
	.contactBox .listUl .btn01 a {
		padding: 23px 20px 19px;
	}
	.contactBox .listUl {
		margin-top: 0;
		display: block;
	}
	.contactBox .listUl .small {
		margin-top: 8px;
		font-size: 1.3rem;
	}
	.contactBox .listUl li {
		margin: 0 0 15px;
		width: auto;
	}
	.contactBox .listUl li:last-child {
		margin-bottom: 0;
	}
	.contactBox .listUl a {
		padding: 21px 20px 23px;
	}
	.contactBox .listUl .btn02 .comTel {
		font-size: 3.66rem;
	}
	.contactBox .ttl {
		margin-bottom: 19px;
	}
	.contactBox .listUl .btn03 .ttl {
		margin-bottom: 0;
		padding: 13px 0 14px;
		font-size: 2.3rem;
	}
	.contactBox .listUl .btn03 .ttl img {
		margin: -7px 17px 0 -9px;
		width: 21px;
	}
	.contactBox .listUl .btn03 a {
		padding-bottom: 29px;
	}
}
@media all and (max-width: 447px) {
	.contactBox {
		padding: 47px 0 45px;
	}
	.contactBox .title {
		font-size: 1.6rem;
	}
	.contactBox .listUl .btn02 .comTel {
		font-size: 3.2rem;
	}
}





/* ====================================================
		comTel
==================================================== */

.comTel {
	font-size: 5rem;
	font-weight: bold;
	font-family: "Outfit",sans-serif;
	text-align: center;
	line-height: 1;
	letter-spacing: 0.08em;
}
.comTel span {
	padding-left: 32px;
	display: inline-block;
	position: relative;
	vertical-align: top;
}
.comTel span::before {
	width: 28px;
	height: 35px;
	position: absolute;
	top: 9px;
	left: -2px;
	background: url(../../img_common/icon_tel_white.png) no-repeat left top;
	background-size: 100% 100%;
	content: "";
}
.comTel02 span::before {
	width: 25px;
	height: 31px;
	top: 8px;
	left: 3px;
	background-image: url(../../img_common/icon_tel_black.png);
}
@media all and (max-width: 896px) {
	.comTel {
		font-size: 3.7rem;
	}
	.comTel span::before {
		width: 21px;
		height: 26px;
		top: 8px;
		left: 0;
	}
	.comTel span {
		padding-left: 26px;
	}
}
@media all and (max-width: 447px) {
	.comTel {
		font-size: 3rem;
		letter-spacing: 0 !important;
		word-break: break-all;
	}
	.comTel span {
		padding-left: 20px;
	}
	.comTel span::before {
		width: 17px;
		height: 20px;
		top: 6px;
		left: 0;
	}
}





/* ====================================================
		mainVisual
==================================================== */

#mainVisual {
	padding-left: 200px;
	position: relative;
	background-color: #ba0006;
}
#mainVisual .photo {
	height: 600px;
	/*background: url(../../contact/images/main_img.jpg) no-repeat center center;
	background-size: cover;*/
}
#mainVisual .comText {
	padding-left: 94px;
	bottom: 82px;
}
#mainVisual .comText .txt {
	font-size: 2.4rem;
	background-color: #ba0006;
	min-width: 300px;
	box-sizing: border-box;
	padding: 10px 16px 12px 83px;
}
#mainVisual .comText .title {
	margin-bottom: 38px;
	font-size: 9rem;
}
@media all and (max-width: 896px) {
	#mainVisual {
		padding-left: 20px;
	}
	#mainVisual .photo {
		height: 240px;
	}
	#mainVisual .comText .txt {
		font-size: 1.2rem;
		min-width: 0;
		padding: 9px 14px 8px 50px;
	}
	#mainVisual .comText {
		padding-left: 17px;
		bottom: 30px;
	}
	#mainVisual .comText .title {
		margin-bottom: 15px;
		font-size: 5rem;
	}
}






/* ====================================================
		comTable
==================================================== */

.comTable {
	width: 100%;
	border-collapse: collapse;
}
.comTable th,
.comTable td {
	padding: 27px 0;
	vertical-align: top;
	text-align: left;
	border-top: 1px solid #E7E7E7;
	border-bottom: 1px solid #E7E7E7;
}
.comTable th {
	width: 179px;
}
.comTable .small {
	font-size: 1.2rem;
}
@media all and (max-width: 896px) {
	.comTable th,
	.comTable td {
		padding: 15px 0 12px;
		border-width: 1px;
	}
	.comTable th {
		width: 43%;
	}
}



/* -------------------------------
		comTable02
------------------------------- */
.comTable02 {
	width: 100%;
	border-spacing: 3px;
}
.comTable02 th,
.comTable02 td {
	padding: 23px 40px 17px;
	font-size: 1.6rem;
	vertical-align: middle;
	text-align: left;
	line-height: 2.06;
	background-color: #eeeeee;
}
.comTable02 th {
	width: 32.95%;
	color: #fff;
	font-size: 1.8rem;
	text-align: center;
	background-color: #ba0006;
}
.comTable02 td {
	padding-right: 10px;
}
.comTable02 .black {
	color: #fff;
	padding-left: 10px;
	background-color: #212322 !important;
	text-align: center;
}
@media all and (max-width: 896px) {
	.comTable02 th,
	.comTable02 td {
		padding: 12px 10px 10px;
		width: 100%;
		line-height: 1.6;
		float: left;
		font-size: 1.4rem;
		box-sizing: border-box;
	}
	.comTable02 th {
		font-size: 1.4rem;
	}
	.comTable02 td {
		padding-bottom: 10px;
	}
}





/* ====================================================
		typeUl
==================================================== */

.typeUl {
	max-width: 206px;
}
.typeUl li {
	margin-bottom: 9px;
	background: url(../../strength/images/line.jpg) repeat-x left center;
	display: flex;
	justify-content: space-between;
}
.typeUl li:last-child {
	margin-bottom: 0;
}
.typeUl li span {
	display: inline-block;
	background-color: #fff;
}
.typeUl li .ttl {
	padding-right: 5px;
}
.typeUl li .txt {
	padding-left: 10px;
}






/* ====================================================
		comTableBox
==================================================== */

.comTableBox {
	margin-left: -3px;
	padding-top: 1px;
}





/* ====================================================
		mapLink
==================================================== */

.mapLink {
	margin: -2px 0 0 11px;
	display: inline-block;
	vertical-align: middle;
	font-weight: 600;
	font-family: "Outfit",sans-serif;
}
.mapLink a {
	padding: 3px 5px 4px;
	min-width: 88px;
	display: block;
	color: #fff;
	font-size: 1rem;
	line-height: 1;
	background-color: #1f2322;
	box-sizing: border-box;
	text-align: center;
	border-radius: 3px;
}
@media all and (min-width: 897px) {
	.mapLink a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.mapLink a {
		min-width: 70px;
		font-size: 0.8rem;
		padding: 3px 5px 2px;
	}
	.mapLink {
		margin: -2px 0 0 8px;
	}
}





/* ====================================================
		comTxtUl
==================================================== */

.comTxtUl {
	padding: 5px 0 8px 20px;
}
.comTxtUl li {
	margin-bottom: 14px;
	display: flex;
	justify-content: space-between;
	line-height: 1.56;
	position: relative;
}
.comTxtUl li:last-child {
	margin-bottom: 0;
}
.comTxtUl li::before {
	width: 10px;
	height: 1px;
	position: absolute;
	top: 9px;
	left: -19px;
	background-color: #a10018;
	content: "";
}
.comTxtUl .txt {
	margin-left: 41px;
	width: 257px;
}
.comTxtUl .ttl {
	flex: 1;
}
.comTxtUl .ttl span {
	font-size: 1.2rem;
}
@media all and (max-width: 896px) {
	.comTxtUl {
		padding: 5px 0 0 20px;
	}
	.comTxtUl li {
		margin-bottom: 6px;
		display: block;
	}
	.comTxtUl .txt {
		margin: 5px 0 0 0;
		width: inherit;
		display: block;
	}
	.comTxtUl .ttl {
		display: block;
	}
}





/* ====================================================
		show Box
==================================================== */

#main .showBox .photo {
	/*margin-left: auto;
	width: calc(50% + 550px);
	height: 400px;
	background: url("../strength/images/ph_02_quality-technology.jpg") no-repeat center center;
	background-size: cover;*/
}
#main .showBox .textBox {
	margin-top: -155px;
	padding: 0 90px 0 10px;
	width: calc(50% + 200px);
	background-color: #fff;
	position: relative;
	z-index: 10;
	display: flex;
	justify-content: flex-end;
	box-sizing: border-box;
}
#main .showBox .inner {
	width: 100%;
	max-width: 660px;
}
#main .showBox .title {
	margin: -41px 0 51px 0;
	font-size: 3.6rem;
	font-weight: normal;
	font-family: "Zen Old Mincho",sans-serif;
	line-height: 1;
}
#main .showBox .title span {
	margin-bottom: 5px;
	padding: 25px 38px;
	color: #fff;
	display: block;
	background-color: #262827;
}
#main .showBox .title span:last-child {
	margin-bottom: 0;
}
#main .showBox .flexBox {
	display: flex;
	justify-content: space-between;
}
#main .showBox .flexBox .txt {
	flex: 1;
}
#main .showBox .flexBox .image {
	margin: 5px 0 0 60px;
	width: 180px;
	box-shadow: 0 0 16px rgba(0,0,0,0.1);
}
#main .showBox02 .photo {
	margin: 0 auto 0 0;
}
#main .showBox02 .textBox {
	margin-left: auto;
	justify-content: flex-start;
	width: calc(50% + 100px);
	margin-top: -145px;
	padding: 0 10px 0 100px;
}
#main .showBox02 .inner {
	max-width: 550px;
}

@media all and (min-width: 897px) and (max-width: 1299px) {
  #main .showBox .textBox {
    width: calc(50% + 300px);
  }
  #main .showBox .inner {
      width: 100%;
      max-width: 600px;
  }
}

@media all and (max-width: 896px) {
	#main .showBox .photo {
		width: auto;
		height: auto;
		padding-bottom: 54%;
	}
	#main .showBox .textBox {
		margin-top: 0;
		padding: 0 20px 20px;
		width: auto;
		display: block;
	}
	#main .showBox .inner {
		width: 100%;
		max-width: inherit;
	}
	#main .showBox .title {
		margin: 0;
		font-size: 1.7rem;
		top: -22px;
		position: relative;
	}
	#main .showBox .title span {
		padding: 20px 27px;
	}
	#main .showBox .flexBox {
		display: block;
	}
	#main .showBox .flexBox .image {
		margin: 27px auto 0;
		width: 180px;
	}
}




/* ====================================================
		listUl
==================================================== */

#main .listUl {
	margin: 60px auto 0;
	padding-bottom: 73px;
	max-width: 1100px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#main .listUl > li {
	width: 500px;
	position: relative;
}
#main .listUl * {
	position: relative;
	z-index: 10;
}
#main .listUl > li::after {
	width: calc(100% - 20px);
	height: calc(100% - 18px);
	position: absolute;
	top: 90px;
	right: -40px;
	background-color: #fff;
	content: "";
	z-index: 1;
}
#main .listUl .photo {
	margin-bottom: 74px;
}
#main .listUl .textBox {
	margin-right: 40px;
}


@media all and (min-width: 897px) and (max-width: 1299px) {
  #main .listUl {
    max-width: 86%;
  }
  #main .listUl > li {
    width: 46%;
  }
  #main .listUl .pc {
    display: none;
  }
}



@media all and (max-width: 896px) {

	#main .listUl {
		padding-bottom: 0;
		display: block;
	}
	#main .listUl > li {
		margin-bottom: 80px;
		width: auto;
	}
	/*#main .listUl > li:last-child {
		margin-bottom: 0;
	}*/
	#main .listUl .textBox {
		margin-right: 0;
		padding: 0 20px;
	}
	#main .listUl .photo {
		margin-bottom: 28px;
	}
	#main .listUl .photo img {
		width: 100%;
	}
	#main .listUl > li::after {
		top: 40px;
	}

}





/* ====================================================
		bgBox
==================================================== */
#main .bgBox {
	padding: 150px 0;
	background-color: #fff;
}
#main .bgBox .comList .txt {
	padding-left: 0;
}
@media all and (max-width: 896px) {
	#main .bgBox {
		padding: 80px 0;
	}
}



/* ====================================================
		borStyle
==================================================== */

#main .borStyle {
  position: relative;
}
#main .borStyle::after {
  width: 40px;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  background-color: #bd0006;
  content: "";
}
#main .borStyleL::after {
  right: auto;
  left: 0;
}
#main .widTxt {
	margin: 0 auto 43px;
	max-width: 750px;
}
@media all and (max-width: 896px) {
	#main .borStyle::after {
		width: 20px;
	}
	#main .widTxt {
		max-width: inherit;
	}
}







/* ====================================================
		Hack
==================================================== */

@media all and (-ms-high-contrast:none){
	.en,
	.comText .title,
	.headLine01,
	.headLine04,
	.contactBox .title,
	.contactBox .ttl,
	.headLine05 .enTxt,
	.headLine05 .txt,
	.headLine05 .num,
	.headLine06,
	.comList02 .title {
		font-family: 'Noto Serif JP', serif;
	}
}

@media all and (-ms-high-contrast:none){
	#main .comImgBox .title,
	#main .showBox .title,
	#main .factory .numTtl,
	#main .greeting .title .inner,
	#main .greeting .nameTxt span,
	#main .history .historyUl .time span,
	#main .about .imgUl li,
	#main .area .ttl span {
		font-family: 'Noto Serif JP', serif;
	}
	
	#main .philosophy .textBox .headLine05 .txt {
		letter-spacing: -0.01em;
	}
}

