@charset "utf-8";
/* CSS Document */

main { overflow:hidden; position: relative; }

/* 配置（好みに応じて調整できます） */
.logomark { position: absolute; z-index: -1; width: 100vw; opacity: 0.25;　pointer-events: none; will-change: transform; }
.logomark img { width: 100%; height: auto; display: block; }

.logomark01 { top: 800px; left: -10vw; }
.logomark01 img { transform: rotate(25deg)}
.logomark02 { top: 1200px; right: -10vw; }
.logomark02 img { transform: rotate(-25deg)}
.logomark03 { top: 1600px; left: -10vw; }
.logomark03 img { transform: rotate(25deg)}
.logomark04 { top: 2000px; right: -10vw; }
.logomark04 img { transform: rotate(-25deg)}

@media screen and (max-width: 899px) {
	header { background: #fff; padding: 5px 0;}
	header h1 { color: #000; }
	header .in .h_flex .h_flex_L .h_logo .blk { display: block; }
	header .in .h_flex .h_flex_L .h_logo .wh { display: none; }
	.menu-trigger span { background-color: var(--sub-color); }
	header .in .h_flex .h_flex_R .h_menu { position: fixed; top: 2%; right: 4%; }
	header.is-fix .in .h_flex .h_flex_R .h_menu { position: fixed; top: 1%; right: 4%; }
}
@media screen and (min-width: 900px) {
	header { background: #fff; padding-bottom: 20px;}
	header h1 { color: #000; }
	header .in .h_flex .h_flex_L .h_logo .blk { display: block; }
	header .in .h_flex .h_flex_L .h_logo .wh { display: none; }
	
	.h_flex_R .h_nav li a         { resize: none; display: block; }
	.h_flex_R .h_nav li a:link    { color:#000; text-decoration: none; }
	.h_flex_R .h_nav li a:visited { color:#000; text-decoration: none; }
	.h_flex_R .h_nav li a:hover   { color:var(--base-color); text-decoration: none; }
	.h_flex_R .h_nav li a:active  { color:#000; text-decoration: none; }
}

/*-- headline ------------------------------------------------------------*/
#headline { }
@media screen and (max-width: 1089px) {
	#headline { position: relative; }
	#headline .headlineBg { background: url("../img/second/headline_base.webp") center center no-repeat; background-size: cover; width: 100%; height: 300px; }
	#headline .headlineBg_company { background: url("../img/second/company.webp") center center no-repeat; background-size: cover; }
	#headline .headlineBg_factory { background: url("../img/second/factory.png") center center no-repeat; background-size: cover; }
	#headline .headlineBg_service { background: url("../img/second/service.webp") center center no-repeat; background-size: cover; }
	#headline .headlineBg_product { background: url("../img/second/headline_product.webp") center center no-repeat; background-size: cover; }
	#headline .headlineBg_recruit { background: url("../img/second/headline_recruit.webp") center center no-repeat; background-size: cover; }
	#headline .headlineBg_news { background: url("../img/second/headline_news.webp") center center no-repeat; background-size: cover; }
	#headline .headlineBg_contact { background: url("../img/second/headline_contact.webp") center center no-repeat; background-size: cover; }
	
	.headlineTtl { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); background: rgba(255,255,255,0.9); padding: 20px 40px; display: flex; justify-content: center; flex-direction: column; align-items: center; }
	#headline .ttl01 { font-size: 1.0em; font-weight: 700; line-height: 1.0; margin-bottom: 0px; color: var(--base-color); text-align: center; order: 2; }
	#headline .enTtl { font-size: 3.0em; font-weight: 700; line-height: 1.0; margin-bottom: 10px; text-align: center; color: #000000; }
}
@media screen and (min-width: 1090px) {
	#headline { position: relative; padding: 10vh 6% 5vh; background: #fff; overflow-y: hidden; height: 400px; }
	.headlineTtl { position: absolute; top: 50%; transform: translateY(-50%); }
	#headline .ttl01 { font-size: 2.0em; font-weight: 700; line-height: 1.0; margin-bottom: 10px; color: var(--base-color); }
	#headline .enTtl { font-size: 5.0em; font-weight: 700; line-height: 1.0; margin-bottom: 0px; }
	
	#headline .headlineBg { 
		position: absolute; width: 60%; height: 400px; top: 5vh; right: 0; background: url("../img/second/headline_base.webp") center center no-repeat; background-size: cover;
		-webkit-clip-path: polygon(0 0, 100% 0%, 100% 100%, 10% 100%);
		clip-path: polygon(0 0, 100% 0%, 100% 100%, 10% 100%);
	}
	#headline .headlineBg_company { background: url("../img/second/company.webp") center center no-repeat; background-size: cover; }
	#headline .headlineBg_factory { background: url("../img/second/factory.png") center center no-repeat; background-size: cover; }
	#headline .headlineBg_service { background: url("../img/second/service.webp") center center no-repeat; background-size: cover; }
	#headline .headlineBg_product { background: url("../img/second/headline_product.webp") center center no-repeat; background-size: cover; }
	#headline .headlineBg_recruit { background: url("../img/second/headline_recruit.webp") center center no-repeat; background-size: cover; }
	#headline .headlineBg_news { background: url("../img/second/headline_news.webp") center center no-repeat; background-size: cover; }
	#headline .headlineBg_contact { background: url("../img/second/headline_contact.webp") center center no-repeat; background-size: cover; }
	
	#headline .ovry { 
		position: absolute; width: 65%; height: 400px; top: 5vh; right: 0; background: rgba(255,255,255,0.5); z-index: 3;
		-webkit-clip-path: polygon(0 0, 15% 0, 25% 100%, 10% 100%);
		clip-path: polygon(0 0, 15% 0, 25% 100%, 10% 100%);
	}
	#headline .ovry02 { 
		position: absolute; width: 65%; height: 400px; top: 5vh; right: 0; background: rgba(255,255,255,0.5); z-index: 2;
		-webkit-clip-path: polygon(0 0, 25% 0, 35% 100%, 10% 100%);
		clip-path: polygon(0 0, 25% 0, 35% 100%, 10% 100%);
	}
	#headline .ovry03 { 
		position: absolute; width: 65%; height: 400px; top: 5vh; right: 0; background: rgba(255,255,255,0.5); z-index: 1;
		-webkit-clip-path: polygon(0 0, 40% 0, 50% 100%, 10% 100%);
		clip-path: polygon(0 0, 40% 0, 50% 100%, 10% 100%);
	}
}
@media screen and (min-width: 1090px) and (max-width: 1189px)  {
	#headline .ttl01 { font-size: 1.6em; }
	#headline .enTtl { font-size: 5.0em; }
}
@media screen and (min-width: 1190px) and (max-width: 1189px)  {
	#headline .ttl01 { font-size: 1.8em; }
	#headline .enTtl { font-size: 5.5em; }
}

/*-- breadcrumbs ------------------------------------------------------------*/
#breadcrumbs { display: flex; justify-content: flex-end; align-items: center; padding: 10px 1%; background: #fff; border-top: 1px solid #dedede; border-bottom: 1px solid #dedede; position: relative; }
#breadcrumbs li { font-size: 0.8rem; margin-right: 5px; display: inline-block; }
#breadcrumbs li:nth-child(1):before { content:"\f109"; font-family: "Font Awesome 5 Free"; font-weight: 700; margin-right: 5px; }
#breadcrumbs li:after { content: "〉"; margin-left: 20px; color: #666; }
#breadcrumbs li:last-child { margin-right: 0px; }
#breadcrumbs li:last-child:after { display: none; }
@media screen and (max-width: 599px) {
	#breadcrumbs { margin-bottom: 0px; }
	#breadcrumbs li { font-size: 0.7rem; }
}

#breadcrumbs li a         { resize: none; }
#breadcrumbs li a:link    { color:#333; text-decoration: underline; }
#breadcrumbs li a:visited { color:#333; text-decoration: underline; }
#breadcrumbs li a:hover   { color:var(--base-color); text-decoration: underline; }
#breadcrumbs li a:active  { color:#333; text-decoration: underline; }

/*-- section ------------------------------------------------------------*/
@media screen and (max-width: 899px){
	/*section {
        position: relative;
        background: url(../img/common/kika_02.png) right top no-repeat;
        background-size: 15vw;
	}*/
	main { margin: 0 6%; }
	main section { margin-bottom: 10vh; }
	main .ttl01 { font-size: 1.5em; font-weight: 700; line-height: 1.5; margin-bottom: 10px; }
	main .enTtl { font-size: 4.0em; font-weight: 700; line-height: 1.0; margin-bottom: 40px; color: #eff6f3; }
	.in-flex main .enTtl { color: #eff6f3; }
	.in-flex main .ttl01 em { font-style: normal; color: #000; font-size: 1.2em; }
	.ttl02 { font-size: 1.5em; font-weight: bold; margin-bottom: 20px; }
	
	.in-flex main .singleSec .ttl01 { line-height: 1.7; }
}
@media screen and (max-width: 899px) {
	.in-flex aside { margin-bottom: 5vh; }
	.in-flex aside .side-in .sp-toggle { background: #f4f4f4; text-align: center; padding: 5px 0; position: relative; margin-bottom: 0px; }
	.in-flex aside .side-in .sp-toggle:after { content: "\f107"; font-family: "Font Awesome 5 Free"; font-weight: 700; position: absolute; top: 50%; right: 2%; transform: translateY(-50%);}
	.in-flex aside .side-in .sp-toggle.active:after { content: "\f106"; font-family: "Font Awesome 5 Free"; font-weight: 700; position: absolute; top: 50%; right: 2%; transform: translateY(-50%);}
	.in-flex aside .side-in ul li { padding: 10px; border-bottom: 1px dotted #dedede; border-left: 5px solid var(--base-color); }
	.in-flex aside .side-in ul li a { resize: none; display: block; }
	.in-flex aside .side-in ul li a:link    { color:#000; text-decoration: none; }
	.in-flex aside .side-in ul li a:visited { color:#000; text-decoration: none; }
	.in-flex aside .side-in ul li a:hover   { color:#fff; text-decoration: none; background: var(--base-color); }
	.in-flex aside .side-in ul li a:active  { color:#000; text-decoration: none; }
	.in-flex aside .side-in .sp-toggleContent { margin-bottom: 40px; }
}
@media screen and (min-width: 600px) and (max-width: 1089px){ 
	main { padding: 4% 6%; }
}
@media screen and (min-width: 900px){	
	.singleContent { max-width: 1000px; width: 96%; margin: 5vh auto; }
	section {
        position: relative;
        /*background: url(../img/common/kika_02.png) right top no-repeat;
        background-size: 5vw;*/
	}
	.in-flex { display: flex; justify-content: space-between; }
	.in-flex aside { width: 20%; padding: 6% 2%; background: #f6f6f6; }
	.in-flex aside .side-in { position: sticky; top: 10%; }
	.in-flex aside .side-in ul { margin-bottom: 20px; }
	.in-flex aside .side-in ul li { border-left: 3px solid var(--base-color); padding: 10px 10px 10px 15px; border-bottom: 1px dotted #dedede; margin-bottom: 10px; font-size: 0.9em; cursor: pointer; }
	.in-flex aside .side-in ul li.subMenu { border-left:none; padding: 5px 0px 5px 5px; border-bottom: 1px dotted #dedede; margin-bottom: 10px; font-size: 0.9em; }
	.in-flex aside .side-in ul li.subMenu:before { content: "├"; margin-right: 0.25em; display: inline-block; vertical-align: top; }
	.in-flex aside .side-in ul li.subMenu a { display: inline-block; }
	
	.in-flex aside .side-in ul li:hover { background:var(--base-color); color: #fff; }
	.in-flex aside .side-in ul li a { resize: none; display: block; }
	.in-flex aside .side-in ul li a:link    { color:#000; text-decoration: none; }
	.in-flex aside .side-in ul li a:visited { color:#000; text-decoration: none; }
	.in-flex aside .side-in ul li a:hover   { color:#fff; text-decoration: none; background: var(--base-color); }
	.in-flex aside .side-in ul li a:active  { color:#000; text-decoration: none; }
	
	.in-flex aside .side-in ul li:hover a { color: #fff; }
	.in-flex aside .side-in ul li:hover a:link    { color:#fff; text-decoration: none; }
	.in-flex aside .side-in ul li:hover a:visited { color:#fff; text-decoration: none; }
	.in-flex aside .side-in ul li:hover a:hover   { color:#fff; text-decoration: none; background: var(--base-color); }
	.in-flex aside .side-in ul li:hover a:active  { color:#fff; text-decoration: none; }
	
	.in-flex aside .side-in ul li.current { background:var(--base-color); color: #fff; }
	.in-flex aside .side-in ul li.current:hover a { color: #fff; opacity: 0.7; }
	.in-flex aside .side-in ul li.current a { resize: none; display: block; }
	.in-flex aside .side-in ul li.current a:link    { color:#fff; text-decoration: none; }
	.in-flex aside .side-in ul li.current a:visited { color:#fff; text-decoration: none; }
	.in-flex aside .side-in ul li.current a:hover   { color:#fff; text-decoration: none; background: var(--base-color); }
	.in-flex aside .side-in ul li.current a:active  { color:#fff; text-decoration: none; }
	.in-flex aside .side-in ul li.current.subMenu a { display: inline-block; }
	
	.in-flex aside .side-in ul li.active { background:var(--base-color); color: #fff; }
	.in-flex aside .side-in ul li.active:hover a { color: #fff; opacity: 0.7; }
	.in-flex aside .side-in ul li.active a { resize: none; display: block; }
	.in-flex aside .side-in ul li.active a:link    { color:#fff; text-decoration: none; }
	.in-flex aside .side-in ul li.active a:visited { color:#fff; text-decoration: none; }
	.in-flex aside .side-in ul li.active a:hover   { color:#fff; text-decoration: none; background: var(--base-color); }
	.in-flex aside .side-in ul li.active a:active  { color:#fff; text-decoration: none; }
	
	.in-flex aside .side-in ul li.toggle { position: relative; }
	.in-flex aside .side-in ul li.toggle:after { position: absolute; top: 50%; transform: translateY(-50%); right: 5px; font-family: "Font Awesome 5 Free"; content: "\f067"; font-weight: 700; opacity: 0.5;}
	.in-flex aside .side-in ul li.active.toggle:after { content: "\f068"; }
	
	.in-flex main { width: 80%; padding: 4% 5%; }
	.in-flex main section { margin-bottom: 10vh; }
	.in-flex main section .in-max { max-width: 1200px; }

	.in-flex main .ttl01 { font-size: 1.8em; font-weight: 700; line-height: 1.0; margin-bottom: 10px; }
	.in-flex main .enTtl { font-size: 5.0em; font-weight: 700; line-height: 1.0; margin-bottom: 40px; color: #f6f6f6; }
	.in-flex main .ttl01 em { font-style: normal; color: #000; font-size: 1.2em; }
	
	.in-flex main .singleSec .ttl01 { line-height: 1.7; }
	
	.ttl { font-size: 2.0em; border-bottom: 1px solid var(--base-color); padding:5px 0; position: relative; margin-bottom: 40px; }
	.ttl span { position: absolute; top: -30px; right: -10px; font-size: 3.0em; font-family: "Oswald", sans-serif; font-weight: 700; z-index: -1; opacity: 0.1; line-height: 1.0; color: var(--base-color); }
	.ttl:after { content: ""; position: absolute; bottom: -3px; left: 0; width: 20%; height: 3px; background:var(--base-color); }
	
	/*.sign { font-size: 1.1em; font-weight: 700; }
	.sign span { margin-left: 1em; font-size: 1.3em; }*/
	
	.ttl02 { font-size: 1.5em; font-weight: bold; margin-bottom: 20px; }
}
@media screen and (min-width: 1090px) and (max-width: 1189px){
}
@media screen and (min-width: 1190px) and (max-width: 1289px)  {
}
@media screen and (min-width: 1290px) and (max-width: 1389px)  {
}
@media screen and (min-width: 1390px) and (max-width: 1489px)  {
}
@media screen and (min-width: 1490px) {
}

/*-- company ------------------------------------------------------------*/
.signImg { max-width: 240px; }
.sign { margin-bottom: 0; /*font-family: "Sawarabi Mincho"; */font-family: "Yuji Syuku", serif; font-weight: 400; font-style: normal; letter-spacing: 0.05em; font-size: 1.1em; }
@media screen and (max-width: 599px) {
	.tbl01 { width: 100%; border-top: 1px solid #dedede; }
	.tbl01 th,.tbl01 td { padding: 10px; text-align: left; display: block; background: #fff; }
	.tbl01 th { text-align: center; border-bottom: 1px dotted #dedede; background: #dedede; }
	.tbl01 td { border-bottom: 1px solid #dedede; }
	
	.tbl02 { width: 100%;  }
	.tbl02 th,.tbl02 td { padding: 20px; text-align: left; border: 1px solid #fff; vertical-align:middle; font-size: 0.9em; background: #fff;}
	.tbl02 th { width: 25%; text-align: center; background: #f4f4f4; border: 1px solid #dedede; }
	.tbl02 td { width: 75%; border: 1px solid #dedede; }
	
	.setDl { border-left: 5px solid var(--base-color); padding-left: 1em; margin-bottom: 10px;}
	.setDl:last-child { margin-bottom: 20px; }
	.setDl dt { font-weight: bold; }
	
	.imgFlex { margin-bottom: 20px; }
}
@media screen and (min-width: 600px) {
	.tbl01 { width: 100%;  }
	.tbl01 th,.tbl01 td { padding: 20px; text-align: left; background: #fff; }
	.tbl01 th { width: 20%; text-align: left; border-bottom: 3px solid #dedede; }
	.tbl01 td { width: 80%; border-bottom: 1px solid #dedede; }
	
	.tbl02 { width: 100%;  }
	.tbl02 th,.tbl02 td { padding: 20px; text-align: left; border: 1px solid #fff; vertical-align:middle; font-size: 0.9em; background: #fff; }
	.tbl02 th { width: 25%; text-align: center; background: #f4f4f4; border: 1px solid #dedede; }
	.tbl02 td { width: 75%; border: 1px solid #dedede; }
	
	.setDl { border-left: 5px solid var(--base-color); padding-left: 1em; margin-bottom: 10px;}
	.setDl:last-child { margin-bottom: 20px; }
	.setDl dt { font-weight: bold; }
	
	.imgFlex { display: flex; justify-content: flex-start; margin-bottom: 40px; }
}

/*-- service ------------------------------------------------------------*/
@media screen and (max-width: 599px) {
	.subTtl { font-size: 1.2em; font-weight: bold; position: relative; margin-bottom: 20px; }
	.subTtl span { position: relative; }
	.subTtl span:after { content: ""; background: var(--base-color); width: 100%; height: 2px; position: absolute; bottom: -10px; left: 0; }
}
@media screen and (min-width: 600px) {
	.subTtl { font-size: 1.2em; font-weight: bold; position: relative; margin-bottom: 20px; }
	.subTtl span { position: relative; }
	.subTtl span:after { content: ""; background: var(--base-color); width: 100%; height: 2px; position: absolute; bottom: -10px; left: 0; }
}

@media screen and (max-width: 899px) {
	.in-flex-sp { flex-direction: column; }
	.in-flex-sp .in-flex-L { margin-bottom: 20px; }
	.fileList { display: flex; justify-content: flex-start; flex-wrap: wrap; }
}
@media screen and (max-width: 599px) {
	.fileList li { width: 48%; margin-right: 4%; margin-bottom: 20px; }
	.fileList li:nth-child(2n) { margin-right: 0px; }
}
@media screen and (min-width: 600px) and (max-width: 899px) {
	.fileList li { width: 32%; margin-right: 2%; margin-bottom: 20px; }
	.fileList li:nth-child(3n) { margin-right: 0px; }
}
@media screen and (min-width: 900px) {
	.in-flex-L { width: 48%; margin-right: 4%; }
	.in-flex-R { width: 48%; }
	.fileList { display: flex; justify-content: flex-start; flex-wrap: wrap; }
	.fileList li { width: 32%; margin-right: 2%; margin-bottom: 20px; }
	.fileList li:nth-child(3n) { margin-right: 0px; }
	
	.img480 { max-width: 480px; }
	.img640 { max-width: 640px; }
	.img720 { max-width: 720px; }
}
/*-- factory ------------------------------------------------------------*/
@media screen and (max-width: 599px) {
	.photoFlex { display: flex; justify-content: flex-start; flex-wrap: wrap; margin-bottom: 40px; }
	.photoFlex li { width: calc(100% / 3);}
	
	.tbl03 { table-layout: fixed; margin-bottom: 20px; width: 100%; }
	.tbl03 th,.tbl03 td { padding: 10px 20px; text-align: left; border: 1px solid #fff; vertical-align:middle; font-size: 0.9em;}
	.tbl03 th { text-align: center; background: #f4f4f4; border: 1px solid #dedede; }
	.tbl03 td { border: 1px solid #dedede; }
	.tbl03 caption { text-align: right; font-size: 0.7em; margin-top: 5px;}
	
	.flowList li { padding-bottom: 40px; margin-bottom: 40px; border-bottom: 1px solid #333; position: relative; display: flex; justify-content: center; align-items: center; flex-direction: column; }
	.flowList li:after { content: ""; width: 0; height: 0; border-style: solid; border-right: 15px solid transparent; border-left: 15px solid transparent; border-top: 10px solid #333; border-bottom: 0; position: absolute; bottom: -10px; left: 50%; transform: translateX(-50%);}
	.flowList li:last-child:after { display: none; }
	.flowList li .flowImg { width: 80%; margin:0 auto; order: 2; }
	.flowList li dl { order: 1; margin-bottom: 20px; }
	.flowList li dl dt { height: 55px; width: 60px; margin: 0px auto 10px; border-radius: 50%; background: var(--base-color); color: rgb(255, 255, 255); display: flex; justify-content: center; align-items: center; outline: 1px solid var(--base-color); outline-offset: 2px;margin-bottom: 10px;}
	.flowList li dl dd { }
	.flowList li dl dd p { margin-bottom: 0px; text-align: center; }
	.flowList li dl dd p.bold { font-size: 1.5em; margin-bottom: 10px; color: var(--base-color); }
}
@media screen and (min-width: 600px) {
	.photoFlex { display: flex; justify-content: flex-start; flex-wrap: wrap; margin-bottom: 40px; }
	.photoFlex li { width: calc(100% / 3);}
	
	.tbl03 { table-layout: fixed; margin-bottom: 40px; }
	.tbl03 th,.tbl03 td { padding: 20px; text-align: left; border: 1px solid #fff; vertical-align:middle; font-size: 0.9em;}
	.tbl03 th { text-align: center; background: #f4f4f4; border: 1px solid #dedede; }
	.tbl03 td { border: 1px solid #dedede; background: #fff; }
	.tbl03 caption { text-align: right; font-size: 0.7em;}
	
	.flowList li { padding-bottom: 40px; margin-bottom: 40px; border-bottom: 1px solid #333; position: relative; display: flex; justify-content: flex-start; align-items: center; }
	.flowList li:after { content: ""; width: 0; height: 0; border-style: solid; border-right: 15px solid transparent; border-left: 15px solid transparent; border-top: 10px solid #333; border-bottom: 0; position: absolute; bottom: -10px; left: 50%; transform: translateX(-50%);}
	.flowList li:last-child:after { display: none; }
	.flowList li .flowImg { width: 36%; margin-right: 4%; }
	.flowList li dl { display: flex; justify-content: flex-start; width: 60%; }
	.flowList li dl dt { height: 55px; width: 60px; margin: 0px auto 10px; border-radius: 50%; background: var(--base-color); color: rgb(255, 255, 255); display: flex; justify-content: center; align-items: center; outline: 1px solid var(--base-color); outline-offset: 2px; margin-right: 4%;}
	.flowList li dl dd { width: calc(100% - 60px);}
	.flowList li dl dd p { margin-bottom: 0px;}
	.flowList li dl dd p.bold { font-size: 1.5em; margin-bottom: 10px; color: var(--base-color); }
	
	.tableFlex { display: flex; justify-content: space-between; flex-wrap: wrap;}
	.in-tableFlex { width: 48%; margin-right: 4%;}
	.in-tableFlex:nth-child(2n) { margin-right: 0;}
}

@media screen and (max-width: 899px) {
	.flexHalf { margin-bottom: 5vh; }
	.flexHalf .in-flexHalf { margin-bottom: 2.5vh; }
	
	.tbl04 { margin-bottom: 0px; }
	.tbl04 th,.tbl04 td { padding: 10px; font-size: 0.9rem; text-align: center; }
	
	.in-flex-mb { margin-bottom: 5vh;}
	.in-flex-Tbl { width: auto; margin-bottom: 5vh; }
	.in-flex-Tbl .tbl04 { width: 100%; }
	.in-flex-Tbl .tbl04 th,.in-flex-Tbl .tbl04 td { white-space: nowrap; }
	.in-flex-Img { display: flex; }
	.in-flex-Img div { margin-right: 2%; }
	.in-flex-Img div:last-child { margin-right: 0;}
}
@media screen and (max-width: 599px) {
	.in-flex-Img { display: block; }
	.in-flex-Img div { margin-right: 0%; margin-bottom: 20px; width: 100%; }
	.in-flex-Img div:last-child { margin-bottom: 0;}
}
@media screen and (min-width: 900px) {
	.flexHalf { display: flex; justify-content: space-between; margin-bottom: 5vh; }
	.flexHalf .in-flexHalf { width:48%; }
	
	.tbl04 { margin-bottom: 0px; }
	.tbl04 th,.tbl04 td { padding: 10px; font-size: 0.9rem; text-align: center; }
	
	.in-flex-mb { margin-bottom: 5vh;}
	.in-flex-Tbl { width: auto; margin-right: 4%; }
	.in-flex-Tbl .tbl04 { min-width: 240px; }
	.in-flex-Tbl .tbl04 th,.in-flex-Tbl .tbl04 td { white-space: nowrap; }
	.in-flex-Img { display: flex; }
	.in-flex-Img div { margin-right: 2%; }
	.in-flex-Img div:last-child { margin-right: 0;}
}
/*-- Recruit ------------------------------------------------------------*/
@media screen and (max-width: 599px) {
	.jobList { display: flex; justify-content: center; align-items: center;  position: relative; }
	.jobList:after { content: ""; background: #dedede; position: absolute; bottom: 0px; height: 5px; width: 100%; z-index: 0; }
	.jobList li { border: 5px solid #dedede; border-bottom: none; display: flex; justify-content: center; align-items: center; flex-direction: column; min-height: 80px; position: relative; width: calc(100% / 3); background: #fff; }
	.jobList li:nth-child(1) { border-right: none; }
	.jobList li:nth-child(2) { border-right: none; }
	.jobList li.selected:after { content: ""; background: #fff; position: absolute; bottom: 0px; height: 5px; width: 100%; z-index: 1; opacity: 1.0; }
	.jobList li p { margin-bottom: 0px; font-size: 0.7rem; text-align: center; }
	.jobList li p .bold { margin-bottom: 10px; font-size: 1.0em;}
	
	.tabContent { padding: 5vh 0 0; }
	
	.listFlex { display: flex; justify-content: flex-start; flex-wrap: wrap; margin-bottom: 5vh; }
	.listFlex .in-listFlex { margin-right: 6%; }
	
	.jobList li:nth-child(2) { line-height: 1.4; }
}
@media screen and (min-width: 600px) {
	.jobList { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; position: relative; }
	.jobList:after { content: ""; background: #dedede; position: absolute; bottom: 0px; height: 5px; width: 100%; z-index: 0; }
	.jobList li { border: 5px solid #dedede; border-bottom: none; display: flex; justify-content: center; align-items: center; flex-direction: column; min-height: 100px; position: relative; background: #fff; }
	.jobList li.selected:after { content: ""; background: #fff; position: absolute; bottom: 0px; height: 5px; width: 100%; z-index: 1; }
	.jobList li p { margin-bottom: 0px; font-size: 0.9rem; text-align: center; }
	.jobList li p .bold { margin-bottom: 10px; font-size: 1.2em;}
	
	.tabContent { padding: 5vh 0 0; }
	
	.listFlex { display: flex; justify-content: flex-start; flex-wrap: wrap; margin-bottom: 5vh; }
	.listFlex .in-listFlex { margin-right: 6%; }
	
	.jobList li:nth-child(2) { line-height: 1.4; }
}
@media screen and (min-width: 600px) and (max-width: 899px) {
	.jobList li { width: 31%; margin-right: 1%; }
	.jobList li:nth-child(3n) { margin-right: 0%; }
}
@media screen and (min-width: 900px) {
	.jobList li { width: 25.0%; margin-right: 1%; }
	.jobList li:nth-child(3n) { margin-right: 0%; }
}
/*-- ニュース -------------------------------------------------------------*/
@media screen and (max-width: 599px) {
	.newsList { margin-bottom: 40px;}
	.newsList li { margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px dotted #dedede; }
	.newsList li dl { display: flex; justify-content: flex-start; align-items: center; margin-bottom: 10px; }
	.newsList li dl dt { font-family: "Oswald", sans-serif; font-weight:bold; line-height: 1.0; background: var(--base-color); color: #fff; padding: 2px 10px; border: 1px solid var(--base-color); margin-right: 0px; font-size: 0.7em;}
	.newsList li dl dd { font-family: "Oswald", sans-serif; font-weight:bold; line-height: 1.0; background: #fff; color: var(--base-color); padding: 2px 10px; border: 1px solid var(--base-color); font-size: 0.7em;}
	.newsList li:before { display: none; padding-bottom: 10px; margin-bottom: 10px;}
	.arrow-button a { background: var(--opa-color);}
	.arrow-button a:hover { color:#000; background:var(--opa-color);  }
	.arrow-button a:hover::after { border-right: 2px solid #000; border-bottom: 1px solid #000; }
	.newsList li p { margin-bottom: 0px; }
	
	.newsCate { display: flex; justify-content: flex-start; align-items: center; margin-bottom: 10px; }
	.newsCate dt { font-family: "Oswald", sans-serif; font-weight:bold; line-height: 1.0; background: var(--base-color); color: #fff; padding: 2px 10px; border: 1px solid var(--base-color); margin-right: 0px; font-size: 0.7em;}
	.newsCate dd { font-family: "Oswald", sans-serif; font-weight:bold; line-height: 1.0; background: #fff; color: var(--base-color); padding: 2px 10px; border: 1px solid var(--base-color); font-size: 0.7em;}
}
@media screen and (min-width: 600px) {
	.newsList { margin-bottom: 40px;}
	.newsList li { margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px dotted #dedede; }
	.newsList li dl { display: flex; justify-content: flex-start; align-items: center; margin-bottom: 10px; }
	.newsList li dl dt { font-family: "Oswald", sans-serif; font-weight:bold; line-height: 1.0; background: var(--base-color); color: #fff; padding: 2px 10px; border: 1px solid var(--base-color); margin-right: 0px; font-size: 0.7em;}
	.newsList li dl dd { font-family: "Oswald", sans-serif; font-weight:bold; line-height: 1.0; background: #fff; color: var(--base-color); padding: 2px 10px; border: 1px solid var(--base-color); font-size: 0.7em;}
	.newsList li:before { display: none; padding-bottom: 10px; margin-bottom: 10px;}
	.arrow-button a { background: var(--opa-color);}
	.arrow-button a:hover { color:#000; background:var(--opa-color);  }
	.arrow-button a:hover::after { border-right: 2px solid #000; border-bottom: 1px solid #000; }
	.newsList li p { margin-bottom: 0px; }
	
	.newsCate { display: flex; justify-content: flex-start; align-items: center; margin-bottom: 10px; }
	.newsCate dt { font-family: "Oswald", sans-serif; font-weight:bold; line-height: 1.0; background: var(--base-color); color: #fff; padding: 2px 10px; border: 1px solid var(--base-color); margin-right: 0px; font-size: 0.7em;}
	.newsCate dd { font-family: "Oswald", sans-serif; font-weight:bold; line-height: 1.0; background: #fff; color: var(--base-color); padding: 2px 10px; border: 1px solid var(--base-color); font-size: 0.7em;}
}

/*-- 製品 -------------------------------------------------------------*/
@media screen and (max-width: 767px) {
	.productList table { margin-bottom: 20px; }
	.productList .in-productPhoto { margin-bottom: 10px; }
}
@media screen and (min-width: 768px) {
	.productList { display: flex; justify-content: flex-start; }
	.productList table { margin-right: 20px; white-space: nowrap; }
	.productPhoto { margin-top: 20px; }
	.productList .in-productPhoto { max-width: 300px; margin-bottom: 10px; }
}
@media screen and (min-width: 768px) and (max-width: 899px) {
	.productPhoto { max-width: 240px; }
}
@media screen and (min-width: 900px) and (max-width: 1189px) {
	.productPhoto { max-width: 270px; }
}
@media screen and (min-width: 1190px) {
	.productList table { min-width: 320px; }
	.productPhoto { display: flex; justify-content: flex-start; flex-wrap: wrap; }
	.productPhoto .in-productPhoto { margin-right: 20px; }
}

@media screen and (min-width: 1690px) {
	.productList .in-productPhoto { max-width: 360px; margin-bottom: 10px; }
}


/*-- privacy -------------------------------------------------------------*/
@media screen and (max-width: 599px) {
	ul.sub-menu02 { display: flex; justify-content: flex-start; align-items: center; margin-bottom: 20px; }
	ul.sub-menu02 li { border: 1px solid #000; width: 33%; text-align: center; margin-left: 0.5%; font-size: 0.7rem; align-items: center; display: flex; justify-content: center;}
	ul.sub-menu02 li:nth-child(1) { margin-left: 0px; }
	ul.sub-menu02 li.current { background: var(--base-color); color: #fff; border: 1px solid var(--base-color); }
	ul.sub-menu02 li a         { resize: none; display: block;}
	ul.sub-menu02 li a:link    { color:#000; text-decoration: none; }
	ul.sub-menu02 li a:visited { color:#000; text-decoration: none; }
	ul.sub-menu02 li a:hover   { color:#fff; text-decoration: none; background:var(--base-color);}
	ul.sub-menu02 li a:active  { color:#000; text-decoration: none; }
	ul.sub-menu02 li.current a { color: #fff; }
	
	.second-box { margin-bottom: 40px; }
}
@media screen and (min-width: 600px) {
	ul.sub-menu02 { display: flex; justify-content: flex-start; align-items: center; margin-bottom: 20px; }
	ul.sub-menu02 li { border: 1px solid #000; width: 200px; text-align: center; height: 30px; line-height: 30px; margin-left: 5px; font-size: 0.8rem; }
	ul.sub-menu02 li.current { background: var(--base-color); color: #fff; border: 1px solid var(--base-color); }
	ul.sub-menu02 li a         { resize: none; display: block;}
	ul.sub-menu02 li a:link    { color:#000; text-decoration: none; }
	ul.sub-menu02 li a:visited { color:#000; text-decoration: none; }
	ul.sub-menu02 li a:hover   { color:#fff; text-decoration: none; background:var(--base-color);}
	ul.sub-menu02 li a:active  { color:#000; text-decoration: none; }
	ul.sub-menu02 li.current a { color: #fff; }
	
	.second-box h4 { font-size: 1.6rem; color: var(--base-color); font-weight: bold; margin-bottom: 10px; }
}
