/*
Theme Name:  KoyoRubber-Chemical
Theme URI:
Description:
Version: 1.0
Author: 
Author URI:
*/


body {
	font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic";
	color: #222;
	font-size: 16px;
	line-height: 1.8;
	letter-spacing: 0.03em;
	text-align: justify;
}
a {
	color: #222;
	text-decoration: none;
	transition: 0.3s ease-out;
}
a:hover {
	color:#2ca993;
}

::selection{background-color:#72c3e9;}
::-moz-selection{background-color:#72c3e9;}

body , header , footer {
	max-width: 1920px;
	margin: auto;
}

@media screen and (max-width:640px) {
	body{font-size: 15px;}
	body,header,footer{min-width: 400px;}
}





/*============================================================================

	#mainvisual　＊　下層のMV

============================================================================*/
#mainvisual {
	position: relative;
	width: 100%;
	height:350px;
	margin:auto;
	background: url(images/mv.jpg) center top no-repeat;
  	background-size: cover;
  	z-index: 0;
  	overflow: hidden;
}
#mainvisual h2 {
	position: relative;
	width: 100%;
	box-sizing: border-box;
	padding: 170px 0 20px 0;
	font-size: 44px;
	letter-spacing: 3px;
	font-weight: bold;
	text-decoration-line: underline;
	text-underline-offset: 15px;
	text-align: center;
	color: #FFF;
}
@media screen and (max-width: 768px) {
	#mainvisual {
		height: 250px;
	}
	#mainvisual h2 {
		padding: 130px 20px 20px;
		font-size: 32px;
		letter-spacing: 2px;
		text-underline-offset: 10px;
	}
}
@media screen and (max-width: 480px) {
	#mainvisual {
		height: 200px;
	}
	#mainvisual h2 {
		padding: 115px 15px 15px;
		font-size: 24px;
		letter-spacing: 1.5px;
		text-underline-offset: 8px;
	}
}





/*==================================================================

	main

==================================================================*/
main {
}
main #wrapper {
	width: 90%;
	max-width: 1200px;
	margin: auto;
	padding-top: 80px;
	margin-bottom: 140px;
}
main .box {
	display: flex;
	gap: 60px;
	justify-content: space-between;
	flex-direction: row-reverse;
	align-items: center;
	margin-bottom: 100px;
}
main .box figure {
	min-width: 450px;
	max-width: 450px;
}
main .box figure img {
	width: 100%;
}
@media screen and (max-width: 950px) {
	main #wrapper {
		width: 95%;
		padding-top: 60px;
		margin-bottom: 80px;
	}
	main .box {
		flex-direction: column;
		gap: 30px;
		margin-bottom: 60px;
	}
	main .box figure {
		width: 90%;
		min-width: auto;
		text-align: center;
	}
	main .box .text {
		width: 100%;
	}
}
@media screen and (max-width: 480px) {
	main #wrapper {
		padding-top: 60px;
		margin-bottom: 60px;
	}
	main .box {
		gap: 20px;
		margin-bottom: 40px;
	}
}





/*==================================================================

	 タイトル

==================================================================*/
main h3 {
  	position: relative;
	padding: 20px 0;
	margin-bottom: 40px;
  	background-color: #2b71c0;
	text-align: center;
	font-size: 31px;
	font-weight: bold;
	letter-spacing: 3px;
  	isolation: isolate; 
}
main h3::before {
  	content: "";
  	position: absolute;
  	top: 0;
  	left: 0;
  	width: 100%;
	height: 100%;
  	background-color: #efefef;
  	border-radius: 20px;
 	z-index: -1;
}
@media screen and (max-width: 950px) {
	main h3 {
		font-size: 1.5rem;
	}
}
@media screen and (max-width: 480px) {
	main h3 {
		font-size: 1.3rem;
		margin-bottom: 20px;
	}
}




h4 {
	position: relative;
	margin-bottom: 10px;
	font-size: 27px;
	font-weight: bold;
	color:#0c3165;
}
h5 {
	position: relative;
	margin-top: 30px;
	margin-bottom: 5px;
	font-size: 22px;
	font-weight: bold;
	color:#1d8a5f;
}
@media screen and (max-width: 950px) {
	main h4 {
		font-size: 1.4rem;
	}
	main h5 {
		font-size: 1.2rem;
	}
}
@media screen and (max-width: 480px) {
	main h4 {
		font-size: 1.2rem;
	}
	main h5 {
		font-size: 1.1rem;
	}
}





/*==================================================================

	text

==================================================================*/
.text {
	position:relative;
	margin-bottom:50px;
}
.text p {
	margin-bottom:1em;
}
.text:last-child{
	margin-bottom:0;
}





/*==================================================================

	btn

==================================================================*/
.btn {
	text-align: center;
}
.btn a {
	position: relative;
	display: inline-block;
	padding: 13px 100px;
	border: 2px solid #2ca993;
	background: #2ca993;
	color: #FFF;
	font-weight: 700;
	transition: 0.3s ease-out;
}
.btn a:hover {
	color: #2ca993;
	background: none;
}





/*==================================================================

		$会社概要ページ

==================================================================*/
/*------------------------------ 沿革 ------------------------------*/
.page-id-9 .box:nth-of-type(1) {
	display: block;
}

/*------------------------------ 会社概要 ------------------------------*/
.page-id-9 .box:nth-of-type(3) .text , .page-id-9 .box:nth-of-type(6) .text {
	width: 100%;
}
.page-id-9 .box:nth-of-type(3) dl , .page-id-9 .box:nth-of-type(6) dl {
	display: grid;
	grid-template-columns: 25% 1fr;
	gap: 15px 0;
}
.page-id-9 .box:nth-of-type(3) dl dt , .page-id-9 .box:nth-of-type(6) dl dt {
	font-weight: bold;
	border-bottom: 1px solid #3b567b;
	padding-bottom: 15px;
	padding-left: 25px;
}
.page-id-9 .box:nth-of-type(3) dl dd , .page-id-9 .box:nth-of-type(6) dl dd {
	flex: 1;
	border-bottom: 1px solid #cccccc;
	padding-bottom: 15px;
	padding-left: 25px;
}
@media screen and (max-width: 640px) {
	.page-id-9 .box:nth-of-type(3) dl,
	.page-id-9 .box:nth-of-type(6) dl {
		grid-template-columns: 1fr;
		gap: 3px 0;
	}
	.page-id-9 .box:nth-of-type(3) dl dt,
	.page-id-9 .box:nth-of-type(6) dl dt {
		padding-left: 10px;
		padding-bottom: 0;
		border-bottom: none;
	}
	.page-id-9 .box:nth-of-type(3) dl dd,
	.page-id-9 .box:nth-of-type(6) dl dd {
		padding-left: 10px;
		padding-bottom: 10px;
		margin-bottom: 15px;
	}
}



/*------------------------------ 沿革 ------------------------------*/
.page-id-9 .box:nth-of-type(4) {
}
.page-id-9 .box:nth-of-type(4) dl {
	width: 100%;
	display: grid;
	grid-template-columns: auto 1fr;
}
.page-id-9 .box:nth-of-type(4) dl dt:first-of-type,
.page-id-9 .box:nth-of-type(4) dl dd:first-of-type {
	background-color: #3b567b;
	color: #fff;
	font-weight: bold;
	padding: 15px 35px;
}

.page-id-9 .box:nth-of-type(4) dl dt:not(:first-of-type) {
	padding: 10px 35px;
	font-weight: bold;
}
.page-id-9 .box:nth-of-type(4) dl dd:not(:first-of-type) {
	padding: 10px 35px;
}
.page-id-9 .box:nth-of-type(4) dl dt:nth-of-type(even),
.page-id-9 .box:nth-of-type(4) dl dd:nth-of-type(even) {
	background-color: #f5f5f5;
}
.page-id-9 .box:nth-of-type(4) dl dt:nth-of-type(odd):not(:first-of-type),
.page-id-9 .box:nth-of-type(4) dl dd:nth-of-type(odd):not(:first-of-type) {
	background-color: #fff;
}
@media screen and (max-width: 640px) {
	.page-id-9 .box:nth-of-type(4) dl {
		grid-template-columns: 1fr;
	}
	.page-id-9 .box:nth-of-type(4) dl dt:first-of-type,
	.page-id-9 .box:nth-of-type(4) dl dd:first-of-type {
		padding: 10px 15px;
	}
	.page-id-9 .box:nth-of-type(4) dl dt:not(:first-of-type) {
		padding: 18px 15px 5px;
		border-bottom: none;
	}
	.page-id-9 .box:nth-of-type(4) dl dd:not(:first-of-type) {
		padding: 0 15px 15px;
	}
	.page-id-9 .box:nth-of-type(4) dl dt:first-of-type,
	.page-id-9 .box:nth-of-type(4) dl dd:first-of-type {
		display: none;
	}
}
@media screen and (max-width: 480px) {
	.page-id-9 .box:nth-of-type(4) dl dt:first-of-type,
	.page-id-9 .box:nth-of-type(4) dl dd:first-of-type {
		font-size: 0.9rem;
	}
}



/*------------------------------ 設備紹介 ------------------------------*/
.page-id-9 .box:nth-of-type(5) .btn {
	text-align: left;
}
@media screen and (max-width: 950px) {
	.page-id-9 .box:nth-of-type(5) .btn {
		text-align: center;
	}
}


/*------------------------------ アクセス ------------------------------*/
.page-id-9 .box:nth-of-type(6) iframe {
	min-width: 450px;
	height: 300px;
}
@media screen and (max-width: 950px) {
	.page-id-9 .box:nth-of-type(6) iframe {
		width: 100%;
		min-width: 350px;
		height: 300px;
	}
}






/*==================================================================

		$事業紹介ページ

==================================================================*/
/*------------------------------ 事業紹介 ------------------------------*/
.page-id-11 .box:nth-of-type(1) {
	display: block;
}


/*------------------------------ 設備紹介 ------------------------------*/
.page-id-11 .box:nth-of-type(2) .btn {
	text-align: left;
}
@media screen and (max-width: 950px) {
	.page-id-11 .box:nth-of-type(2) .btn {
		text-align: center;
	}
}


/*------------------------------ 製品情報 ------------------------------*/
.page-id-11 .box:nth-of-type(3) {
	display: block;
}
.page-id-11 .box:nth-of-type(4) , .page-id-11 .box:nth-of-type(5) {
	margin-bottom: 50px;
}






/*==================================================================

		$設備紹介ページ

==================================================================*/
/*------------------------------ 設備紹介 ------------------------------*/
.page-id-13 .box:nth-of-type(1) {
	display: block;
	margin-bottom: 50px;
}
@media screen and (max-width: 640px) {
	.page-id-13 .box:nth-of-type(1) br {
		display: none;
	}
}



/*------------------------------ 写真たち ------------------------------*/
.page-id-13 .box:nth-of-type(2) {
	flex-wrap: wrap;
	gap: 30px;
	flex-direction: row;
}
.page-id-13 .box:nth-of-type(2) figure {
	width: 31%;
	min-width: auto;
}
.page-id-13 .box:nth-of-type(2) figure img {
	width: 100%;
}
.page-id-13 .box:nth-of-type(2) figure span {
	display: block;
	text-align: center;
	padding: 10px 5px;
	font-size: 18px;
	font-weight: bold;
	background-color: #f5f5f5;
}
@media screen and (max-width: 950px) {
	.page-id-13 .box:nth-of-type(2) {
		flex-direction: row;
		gap: 20px;
	}
}
@media screen and (max-width: 640px) {
	.page-id-13 .box:nth-of-type(2) {
		gap: 15px 10px;
		margin-bottom: 70px;
	}
	.page-id-13 .box:nth-of-type(2) figure {
		width: 48%;
	}
	.page-id-13 .box:nth-of-type(2) figure span {
		font-size: 16px;
	}
}



/*------------------------------ 主要設備 ------------------------------*/
.page-id-13 .box:nth-of-type(4) {
	display: block;
}
.page-id-13 .box:nth-of-type(4) dl {
	display: grid;
	grid-template-columns: 20% 20% 35% 25%;
	margin-bottom: 0;
}
.page-id-13 .box:nth-of-type(4) dl:first-of-type dt,
.page-id-13 .box:nth-of-type(4) dl:first-of-type dd {
	background-color: #3b567b;
	color: #fff;
	font-weight: bold;
	padding: 15px 20px;
}
.page-id-13 .box:nth-of-type(4) dl:not(:first-of-type) dt,
.page-id-13 .box:nth-of-type(4) dl:not(:first-of-type) dd {
	padding: 10px 20px;
}
.page-id-13 .box:nth-of-type(4) dl:nth-of-type(even) dt,
.page-id-13 .box:nth-of-type(4) dl:nth-of-type(even) dd {
	background-color: #f5f5f5;
}
.page-id-13 .box:nth-of-type(4) dl:nth-of-type(odd):not(:first-of-type) dt,
.page-id-13 .box:nth-of-type(4) dl:nth-of-type(odd):not(:first-of-type) dd {
	background-color: #fff;
}
@media screen and (max-width: 640px) {
	.page-id-13 .box:nth-of-type(4) {
		position: relative;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	.page-id-13 .box:nth-of-type(4)::before {
		content: "← 横にスクロールできます →";
		display: block;
		text-align: center;
		padding: 8px;
		font-size: 0.85rem;
		margin-bottom: 10px;
		border: 1px solid #2b71c0;
		border-radius: 4px;
	}
	
	.page-id-13 .box:nth-of-type(4) dl {
		min-width: 600px;
		grid-template-columns: 18% 22% 38% 22%;
	}
	
	.page-id-13 .box:nth-of-type(4) dl:first-of-type dt,
	.page-id-13 .box:nth-of-type(4) dl:first-of-type dd {
		padding: 10px 12px;
		font-size: 0.9rem;
	}
	
	.page-id-13 .box:nth-of-type(4) dl:not(:first-of-type) dt,
	.page-id-13 .box:nth-of-type(4) dl:not(:first-of-type) dd {
		padding: 8px 12px;
		font-size: 0.85rem;
	}
}






/*==================================================================

		$プライバシーポリシー

==================================================================*/





/*==================================================================

		$求人募集ページ

==================================================================*/
/*------------------------------ はじめに ------------------------------*/
.page-id-17 .box:nth-of-type(1) {
	display: block;
	margin-bottom: 60px;
}
/*------------------------------ 仕事内容 ------------------------------*/
.page-id-17 .box:nth-of-type(3) {
	margin-bottom: 30px;
}
.page-id-17 .box:nth-of-type(4) {
	align-items: flex-start;
}


/*------------------------------ 会社概要 ------------------------------*/
.page-id-17 .box:nth-of-type(5) {
	width: 100%;
}
.page-id-17 .box:nth-of-type(5) dl {
	width: 100%;
	display: grid;
	grid-template-columns: 25% 1fr;
	gap: 15px 0;
}
.page-id-17 .box:nth-of-type(5) dl dt {
	font-weight: bold;
	border-bottom: 1px solid #3b567b;
	padding-bottom: 15px;
	padding-left: 25px;
}
.page-id-17 .box:nth-of-type(5) dl dd {
	flex: 1;
	border-bottom: 1px solid #cccccc;
	padding-bottom: 15px;
	padding-left: 25px;
}
@media screen and (max-width: 640px) {
	.page-id-17 .box:nth-of-type(5) dl {
		grid-template-columns: 1fr;
		gap: 3px 0;
	}
	.page-id-17 .box:nth-of-type(5) dl dt {
		padding-left: 10px;
		padding-bottom: 0;
		border-bottom: none;
	}
	.page-id-17 .box:nth-of-type(5) dl dd {
		padding-left: 10px;
		padding-bottom: 10px;
		margin-bottom: 15px;
	}
}

/*------------------------------ ご応募・お問い合わせ ------------------------------*/
.page-id-17 .box:nth-of-type(6) {
	display: block;
}


/*------------------------------ 写真を左に配置するクラス ------------------------------*/
.page-id-17 .box-left {
	flex-direction: row !important;
}
@media screen and (max-width: 950px) {
	.page-id-17 .box-left {
		align-items: center !important;
		flex-direction: column !important;
	}
}




/*==================================================================

		#news_list　＊　お知らせ一覧ページ

==================================================================*/
#news_list {
	margin-bottom: 80px;
}

#news_list ul {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto 60px;
}

#news_list ul li {
	position: relative;
	width: 100%;
	height: 70px;
	margin-bottom: 15px;
	box-shadow: 0 0 15px rgba(169,184,192,.5);
	cursor: pointer;
	transition: all 0.3s;
}

#news_list ul li a {
	display: flex;
	align-items: center;
	box-sizing: border-box;
	padding: 0 50px;
	gap: 0 30px;
	width: 100%;
	height: 100%;
	text-decoration: none;
	color: inherit;
}

#news_list ul li em {
	width: 150px;
	color: #666;
}

#news_list ul li p {
	font-weight: 700;
	width: calc(100% - 150px - 30px);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

#news_list ul li::after {
	position: absolute;
	content: "";
	right: 40px;
	top: 50%;
	margin-top: -3px;
	width: 7px;
	height: 7px;
	border-top: 2px solid #4e7eae;
	border-right: 2px solid #4e7eae;
	transform: rotate(45deg);
	transition: all 0.3s;
}

/* hover時 */
#news_list ul li:hover {
	box-shadow: 0 0 20px rgba(114, 195, 233, 0.5);
	transform: translateY(-2px);
}

#news_list ul li:hover::after {
	right: 35px;
}

/* ページネーション */
#news_list .pagination {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin-top: 40px;
}

#news_list .pagination .page-numbers {
	padding: 8px 15px;
	background-color: #f5f5f5;
	border: 1px solid #ddd;
	text-decoration: none;
	color: #333;
	transition: all 0.3s;
}

#news_list .pagination .page-numbers.current {
	background-color: #4e7eae;
	color: #fff;
	border-color: #4e7eae;
}

#news_list .pagination .page-numbers:hover {
	background-color: #4e7eae;
	color: #fff;
}

/* レスポンシブ */
@media (max-width: 900px) {
	#news_list ul li {
		height: auto;
	}
	
	#news_list ul li a {
		flex-direction: column;
		align-items: flex-start;
		padding: 20px 50px 20px 6%;
		gap: 6px 0;
	}
	
	#news_list ul li em {
		width: 100%;
		font-size: 14px;
	}
	
	#news_list ul li p {
		width: 100%;
	}
	
	#news_list ul li::after {
		right: 25px;
	}
	
	#news_list ul li:hover {
		transform: none;
	}
	
	#news_list ul li:hover::after {
		right: 20px;
	}
}



/*==================================================================

		#news_detail　＊　お知らせ詳細ページ

==================================================================*/
#news_detail {
	max-width: 800px;
	margin: 0 auto 80px;
}

/* 日付 */
#news_detail .news_meta {
	margin-bottom: 20px;
	padding-bottom: 15px;
	border-bottom: 1px solid #ddd;
}

#news_detail .news_meta time {
	color: #666;
	font-size: 14px;
}

/* タイトル */
#news_detail h3 {
	margin-bottom: 40px;
	font-size: 28px;
	line-height: 1.6;
}

/* 本文 */
#news_detail .news_content {
	margin-bottom: 60px;
	line-height: 1.8;
}

#news_detail .news_content p {
	margin-bottom: 1.5em;
}

#news_detail .news_content img {
	max-width: 100%;
	height: auto;
	margin: 20px 0;
}

/* 戻るボタン */
#news_detail .news_back {
	text-align: center;
	margin-top: 60px;
}

#news_detail .news_back .btn {
	display: inline-block;
	padding: 15px 40px;
	background-color: #4e7eae;
	color: #fff;
	text-decoration: none;
	border-radius: 4px;
	transition: all 0.3s;
}

#news_detail .news_back .btn:hover {
	background-color: #3b567b;
	transform: translateY(-2px);
}

/* レスポンシブ */
@media (max-width: 768px) {
	#news_detail {
		margin-bottom: 60px;
	}
	
	#news_detail h3 {
		font-size: 22px;
		margin-bottom: 30px;
	}
	
	#news_detail .news_content {
		margin-bottom: 40px;
		font-size: 15px;
	}
	
	#news_detail .news_back {
		margin-top: 40px;
	}
	
	#news_detail .news_back .btn {
		padding: 12px 30px;
		font-size: 14px;
	}
}





/*==================================================================

    Contact Form 7 スタイル

==================================================================*/
.wpcf7 {
    max-width: 1000px;
    margin: 60px auto 0;
}

.form-group {
    margin-bottom: 25px;
    display: flex;
    align-items: flex-start;
    gap: 20px;
	border-bottom: 1px solid #eee;
    padding-bottom: 25px;
}

.form-group label {
    font-weight: bold;
    font-size: 16px;
    min-width: 200px;
    padding-top: 12px;
    flex-shrink: 0;
	width: 30%;
}

.form-group .required {
    background-color: #e37f8f;
    color: #fff;
    font-size: 12px;
    padding: 3px 8px;
    margin-right: 8px;
}
.form-group .optional {
    background-color: #64a9b7;
    color: #fff;
    font-size: 12px;
    padding: 3px 8px;
    margin-right: 8px;
}

/* inputエリア全体を囲むdiv */
.form-group > span,
.form-group > div {
    flex: 1;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 select,
.wpcf7 textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 16px;
    box-sizing: border-box;
}

.wpcf7 textarea {
    min-height: 150px;
    resize: vertical;
}

.wpcf7 input[type="file"] {
    padding: 10px 0;
}

.address-row {
    display: flex;
    gap: 15px;
}

.address-row select {
    width: 200px;
    flex-shrink: 0;
}

.address-row input {
    flex: 1;
}

.file-note {
    font-size: 14px;
    color: #666;
    margin: 5px 0 10px;
}

.wpcf7 input[type="submit"] {
    background-color: #2ca993;
    color: #fff;
    padding: 15px 60px;
    border: none;
    border-radius: 4px;
    font-size: 18px;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.3s;
    display: block;
    margin: 40px auto 0;
}

.wpcf7 input[type="submit"]:hover {
    background-color: #0d846f;
    transform: translateY(-2px);
}

/* エラーメッセージ */
.wpcf7-not-valid-tip {
    color: #e74c3c;
    font-size: 14px;
    margin-top: 5px;
    display: block;
}

.wpcf7-validation-errors {
    border: 2px solid #e74c3c;
    background-color: #ffe8e8;
    padding: 15px;
    margin: 20px 0;
    border-radius: 4px;
}

/* 送信完了メッセージ */
.wpcf7-mail-sent-ok {
    border: 2px solid #27ae60;
    background-color: #e8f8f0;
    padding: 15px;
    margin: 20px 0;
    border-radius: 4px;
}

/* レスポンシブ */
@media (max-width: 840px) {
    .form-group {
        flex-direction: column;
        gap: 8px;
    }
    
    .form-group label {
        min-width: auto;
        padding-top: 0;
		width: 100%;
    }
	
    .form-group > span,
    .form-group > div {
        width: 100%;
    }
    
    
    .address-row {
        flex-direction: column;
        gap: 10px;
    }
    
    .address-row select {
        width: 100%;
    }
    
    .wpcf7 input[type="submit"] {
        width: 100%;
        padding: 15px 20px;
    }
}






