@charset "UTF-8";
/**********************
　 Hp20 : nashi
 *********************/

* {
	color: var(--base-color);
	font-family: Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: var(--font-size);
	text-decoration: none;
}
select {
	-webkit-appearance: none;/* ベンダープレフィックス(Google Chrome、Safari用) */
	-moz-appearance: none;	/* ベンダープレフィックス(Firefox用) */
	appearance: none;	/* 標準のスタイルを無効にする */ 
}
::-ms-expand {	/* select要素のデザインを無効にする（IE用） */
	display: none;
}
h1 {
	display: none;
	height: 0;
}
h2 {
	color: #fff;
	font-size: 300%;
	font-weight: bold;
	position: relative;
	width: 100%;
	text-align: center;
	top: -100px;
}
h3 {
	font-weight: bold;
}

input[type=checkbox]{
	transform:scale(2.0);
}
/*
::::::::::::::::::::
 ヘッダーとフッター
::::::::::::::::::::
*/
header {
	background-color: var(--header-background-color);
	position: fixed;
	top: 0px;
	width: 100%;
	height: 80px;
	opacity: 0.8;
	z-index: 0;
}
header * {
	color: var(--header-color);
	margin: 0 10px;
}
header div {
	float: left;
}
header div.bar_string {
	width: calc(20% - 20px);
	height: 80px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
header div.bar_string div {
	margin: 0;
}
header div.bar_string div * {
	margin: 0;
}
header div.bar_link {
	font-size: 100%;
	width: calc(80% - 20px);
	height: 80px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	line-height: 30px;
}
header div.bar_link ul {
	margin-left: auto;
	margin-right: 10px;
	font-size: 16px;     /* 日洋に追加 */
}
header div.bar_link ul li {
	display: inline-block;
	margin: 0 10px;
}

header div.bar_link ul li:hover a {
	color : blue;
	font-weight : bold;
}

/* メニュー */


#sp-menu {
    position: absolute;
    top: 0px;
    right: 0px;
    width: 80px;
    height: 80px;
    background: #fff;
    font-size: 16px;
    box-sizing: border-box;
}
#sp-menu span {
    position: absolute;
    width: 50px;
    height: 4px;
	background-color: var(--header-background-color);
    border-radius: 10px;
    -webkit-transition: all 400ms;
    transition: all 400ms;
	right: 15px;
}
#sp-menu span:nth-child(1) {
    top: 25px;
}
#sp-menu span:nth-child(2) {
    top: 40px;
}
#sp-menu span:nth-child(3) {
    top: 55px;
}

#sp-menu-list {
    position: fixed;
    position: absolute;
    top: 80px;
    right: 0;
	background-color: var(--header-background-color);
    width: 100%;
    height: auto;
	background-color: var(--header-background-color);
    font-size: 100%;
	z-index: 100;
}
#sp-menu-list ul li {
	color: #fff;
	border-top: 1px solid #fff;
    padding: 1em;
}
#sp-menu-list ul li a {
	color: #fff;
}
#sp-menu-list ul li.detail {
	display: none;
}

#top-image img {

	width: 100%;
	height: auto;
}

#contents ,
#contents #top-image ,
#contents #top-image img
{
	width:100%;
}

footer {	
	background-color: #f5f5f5;
	padding: 30px 0 10px;
	text-decoration: none;
}
footer *
{
	color: var(--footer-color);
}
footer div.bar_link {
	width: 100%;
	height: 60px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
footer div.bar_link ul {
	margin: 0 auto;
}
footer div.bar_link ul li {
	display: inline-block;
	margin: 0 10px;
}
footer div.bar_link ul li.detail {
	display: none;
}
footer .bar ul.menu li:not(:first-child) a:before
{
	content:"\00a0\00a0|\00a0\00a0\00a0";
}
footer div img {
	margin-left: 30px;
}
footer .copy
{
	text-align: center;
}
footer .copy a
{
	font-size: 10px;
}

#to-top {
  width: 80px;
  height: 80px;
  position: fixed;
  right: 0;
  bottom: 0;
  background: var(--to-top-background-color);
  opacity: var(--to-top-opacity);
  border-radius: var(--to-top-border-radius);
}
#to-top a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
}
#to-top a::before {
  font-family: FontAwesome;
  content: '\f106';
  font-size: 60px;
  color: var(--to-top-color);
  position: absolute;
  width: 50%;
  height: calc(100% - 10px);
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}

/*
:::::::::::::::::::
　共通で利用するタグ
:::::::::::::::::::
*//*
.inner-box
{
	margin: 0 auto;
}
.inline
{
	display: inline-block;
}
*/

/*
:::::::::::::::::::
　お知らせ一覧
:::::::::::::::::::
*/

#information-list {
	background-color: var(--information-list-background-color);
	text-align: center;
	padding: 20px 0;
}
#information-list hr {
	color: var(--information-list-color);
	width: 800px;
	margin: 1em auto;
}
#information-list p {
	color: var(--information-list-color);
	font-size: 120%;
	line-height: 1.5em;
}
#information-list .list {
	font-size: 100%;
	width: 780px;
	text-align: left;
	margin: 0 auto;
}
#information-list .list p span {
	color: var(--information-list-color);
}
#information-list .list p span.list-mark {
	background-color: var(--information-list-mark-background-color);
	color: var(--information-list-mark-color);
	font-size: var(--information-list-mark-size);
	width: auto;
	text-align: center;
	padding: 0.3em 2em 0.1em;
	opacity: var(--information-list-mark-opacity);
	border-radius: var(--information-list-mark-border-radius);
	vertical-align: text-top;

}
#btn-goBlogList {
	background-color: var(--information-list-btn-background-color);
    border: 1px solid var(--information-list-btn-border-color);
	color: var(--information-list-btn-color);
    width: 320px;
	height: 45px;
	margin: 40px auto 30px;
	cursor: pointer;
}
#btn-goBlogList:hover {
	background-color: var(--information-list-btn-on-background-color);
    border: 1px solid var(--information-list-btn-on-border-color);
	color: var(--information-list-btn-on-color);
}

/*
:::::::::::::::::::
　ブログ
:::::::::::::::::::
*/
#blog {
	margin: 0 auto;
	width: 100%;
	max-width: 1000px;
}
#blog:after {
	content: "";
	display: block;
	clear: both;
}
#main ,
#sidebar {
	float:left;
	margin: 0;
	padding: 0;
}
#main {
	width: calc(100% - 300px);
}
#sidebar {
	background-color: #fff;
	width: 300px;
}
#sidebar .title {
	background-color: black;
	color: white;
	font-size: 120%;
	width: calc(100% - 20px);
	padding: 0 10px;
	margin: 0;
	height: 40px;
	line-height: 40px;
}
#sidebar .searchform {
	width: 100%;
	margin: 20px 0;
}
#sidebar .searchfield {
	height: 50px;
	border: 1px solid #000;
	padding: 0 0.5em;
	width: calc(100% - 50px);
}
#sidebar .searchsubmit {
	background: #0036A1;
	border: none;
	height: 50px;
	width: 50px;
	cursor: pointer;
}
#sidebar .searchsubmit i {
	color: #fff;
	font-size: 20px;
}
#sidebar .lists {
	width: 100%;
	margin: 0;
	padding: 0;
}
#sidebar .lists li {
	border-bottom: 1px solid #000;
	width: 100%;
	padding: 1em 0;
}
#sidebar .lists li a {
	margin-left: 1em;
}
#main .topic
{
	width: calc(100% - 30px);
}
#main .topic-title ,
#main .topic-date ,
#main .topic-category {
	color: #000;
}
#main .topic-date {
	font-size: 80%;
	line-height: 1.3em;
}
#main .topic-title {
	font-size: 130%;
	font-weight: bold;
	margin-top: 5px;
}
#main .topic-category {
	border-bottom: 2px solid #000;
	margin: 0 0 20px;
	padding: 0 0 0.3em;
	line-height: 1.5em;
}
#main .topic-category a {
	background-color: blue;
	color: #fff;
	border-radius: 3px;
	font-size: 60%;
	width: auto;
	margin: 0 0 0.5em;
	padding: 0.3em 0.5em;
	line-height: 1.0em;
}
#main .topic .note {
	width: calc(100% - 30px);        /*　width: calc(100% - 250px); より変更　*/
	margin: 0 0 50px;
}



/*
:::::::::::::::::::
　お問合せ
:::::::::::::::::::
*/

#inquiry {
	width: 1000px;
	margin: 0 auto;
}

#inquiry-list {
	background-color: var(--inquiry-list-background-color); 
	color: var(--inquiry-list-color); 
	margin: 30px 0 0;
	width: 100%;
}
#inquiry-list tr {
	border-top: 1px solid var(--inquiry-list-border-color);
	border-bottom: 1px solid var(--inquiry-list-border-color);
}
#inquiry-list tr th ,
#inquiry-list tr td {
	padding: 1em 2em;
}
#inquiry-list tr th {
	width: 30%;
	vertical-align: middle;
	text-align: left;
}
#inquiry-list tr td select ,
#inquiry-list tr td input ,
#inquiry-list tr td textarea {
	width: 100%;
	border: 1px solid var(--inquiry-input-border-color);
	border-radius: var(--inquiry-input-border-radius);
}
::placeholder {
	color: #ccc;
}

span[id*='_check_ok'] {
	display: none;
	background-color: blue;
	color: #fff;
	border-radius: 5px;
	margin-left: 10px;
	padding: 2px 10px;
}
span[id*='_check_ng'] {
	display: none;
	background-color: red;
	color: #fff;
	border-radius: 5px;
	margin-left: 10px;
	padding: 2px 10px;
}

#inquiry-policy-title {
	margin: 30px 0;
}

#inquiry-policy-sentence {
	border: 1px solid var(--inquiry-policy-sentence-border-color);
	height: 200px;
	margin: 30px 0;
	padding: 0.5em;
	overflow-y: scroll;
}
#inquiry-policy-sentence p {
	color: var(--inquiry-policy-sentence-color);
	line-height: 1.5em;
}

#policy-check ,
#inquiry-mail-check {
	margin: 30px 0 0;
	text-align: center;
}

#btn-chkInquiry ,
#btn-InquiryGo ,
#btn-InquiryBack {
	background-color: var(--inquiry-policy-btn-background-color);
    border: 1px solid var(--inquiry-policy-btn-border-color);
	color: var(--inquiry-policy-btn-color);
    width: 276px;
	height: 50px;
	margin: 20px auto 30px;
	cursor: pointer;
}
#btn-chkInquiry:hover ,
#btn-InquiryGo:hover ,
#btn-InquiryBack:hover {
	background-color: var(--inquiry-policy-btn-on-background-color);
    border: 1px solid var(--inquiry-policy-btn-on-border-color);
	color: var(--inquiry-policy-btn-on-color);
}




/*
 * メッセージの演出
 * $param["msg"]に値があるとに表示されます
 */
#complete-message {
  color: #000;
  width: 100%;
  height: 100%;
  position: fixed;
  text-align: center;
  vertical-align: middle;
  left: 0;
  top: 0;
  background: #f0f8ff;
  opacity: 0.8;
}
#complete-message .inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50% , -50%);
}
/*
:::::::::::::::::::
　画像タイトル
:::::::::::::::::::
*/

.box1{
  width : auto; /*400px;*/
  height:auto;
  margin:0;
  text-align:center;
}
.box-450{
  width:450px;
  height:auto;
  margin:0;
  text-align:center;
}

.box-800{
  width:800px;
  height:auto;
  margin:0;
  text-align:center;
}

/* リンク */

.link ,
.links {
	width : 100%;
}

.message {

	margin : 0 auto;
	width : 1000px;

}

/*
 三軒茶屋　　左に画像、右にテキストの配置箇所で使用した。
 2021.11.14
*/

.photoFull{
	max-width : 1000px;
	width : 100%;
	height : auto;
}

.photoHalf{
	max-width : 480px; /* 横に余裕を持たせる */
	width : 100%;
	height : auto;
}


/*
||||| WordPress（ブログ）画像位置指定 |||||
*/

/*画像の中央寄せ*/
.aligncenter {
  height: auto;
  margin: 0 auto;
  max-width: 100%;
}
/*figureタグで囲まれた画像の中央寄せ*/
.aligncenter img {
  height: auto;
  max-width: 100%;
}
/*画像右寄せ*/
.alignright {
  height: auto;
  margin-left: auto;
  max-width: 100%;
}
/*figureタグで囲まれた画像右寄せ*/
.alignright img {
  height: auto;
  max-width: 100%;
}
/*位置指定のない画像*/
.alignnone {
  height: auto;
  max-width: 100%;
}
/*figureタグで囲まれた位置指定のない画像*/
.alignnone img {
  height: auto;
  max-width: 100%;
}




img.alignright {
 display: block;
 margin: 0 0 0 auto!important;
}

img.alignleft {
 display: block; 
 margin: 0 auto 0 0!important;
}

img.aligncenter {
 display: block;
 margin: 0 auto!important;
}


/*
====================
  商品一覧　画像３列
====================
<html側記述>
  <div class="box">
	<div class="item"><img src="" alt="" /><p class="cnt">商品名が入る</p></div>
	<div class="item"><img src="" alt="" /><p class="cnt">商品名が入る</p></div> 
  </div>
*/

.box {
	display: flex;
	flex-wrap: wrap;

}
.item {
 	margin-left: 20px;       /* 変更　0→20px　20230919 */
}

.item p {                    /* 追加　20230919 */
	text-align: center;
}
@media screen and (min-width: 768px){       /* 751 768 */
	.item:nth-child(3n+1) {
		margin-left: 0;
		text-align: center;
    }                                     
}

		
.moji-takasa {
	line-height: 2em;
	margin-bottom: 2em;
}




/*
====================
  トップリンクアイコン
====================
<html側記述>
 <ul>
     <li><a href=""><img src="https://" alt=""/><p class="cnt m-top1em blue f-b">日洋物産のものづくり</p><p class="cnt m-top1em ln-h2em">私たちは豊富な経験で<br>皆様差が笑顔になる<br>｢製品づくり」に努めます</p></a> 
     </li>
 </ul>
*/

ul.icon {
    display: flex;
	flex-wrap: wrap;                  /*　追加 */
    justify-content:space-around;
	text-align: center;
}

ul.icon li p {
	text-align: center;
	margin-top: 10px;
}

/*
====================
  製品づくりの思い（カードグループ）
====================
*/
.card-group {
	height: auto;
}
.card-group::after {
	both: clear;
}

.card{
  width: 100%;
  max-width: 490px;
  height: 277px;  /* 277px */
  overflow: hidden;
  border-top: 5px solid #385495;
  float: left;
  margin: 5px;
 }

.card_textbox{
  width: 490px;   /* 100% 490px*/
  width: 100%;
  height: 277px;
  padding: 20px 18px;
  background: #fff;
  box-sizing: border-box;
}

/*.card_textbox > * + *{
  margin-top: 10px;
}*/
.card_titletext{
  font-size: 20px;
  font-weight: bold;
  line-height: 125%;
  color: #385495;
}
.card_overviewtext{
  font-size: 18px;
  line-height: 150%;
}
.card_linktext{
  margin-top: 10px;
  font-size: 12px;
  line-height: 150%;
}


/* レスポンシブ（スマートフォン） */
@media screen and (max-width: 768px) {
/* スマートフォン用のレイアウト　600px未満 */
/* スマートフォン用のレイアウト　768px以下 */

.card{
  max-width: 100%;
 }
.item{
  margin-left :0;
  margin-right :0;
  width: 100%;
  height: auto;
 }

}

out {	/* これは昔の */

	/*
	====================
	  製品づくりの思い（カードグループ）
	====================
	*/
	.card-group {
	  margin-left: auto;
	  margin-right: auto;
	  max-width: 1000px;  /*640 */
	  width: 100%;
	  height: auto;
	/* ポイント１ */
	  display: flex;
	  flex-direction: row;
	  flex-wrap: wrap;
	  justify-content:  flex-start;/*  space-around flex-start */
	}
	/* ポイント２ */
	.card-group > :nth-child(2n){
	  margin-left: 20px;     /* 20px */
	}
	/* ポイント３ */
	.card-group > :nth-child(n+3){
	  margin-top: 0px;       /* 20px */
	}
	.card{
	/* ポイント４ */
	  width: calc((100% - 20px * 1) / 2); 
	  overflow: hidden;
	  border-top: 5px solid #385495;
	 }

	.card_textbox{
	  width: 490px;   /* 100% 490px*/
	  height: 277px;  /* 277px */
	  padding: 20px 18px;
	  background: #fff;
	  opacity: 1;
	  box-sizing: border-box;
	}
	.card_textbox > * + *{
	  margin-top: 10px;
	}
	.card_titletext{
	  font-size: 20px;
	  font-weight: bold;
	  line-height: 125%;
	  color: #385495;
	}
	.card_overviewtext{
	  font-size: 16px;
	  line-height: 150%;
	}
	.card_linktext{
	  font-size: 12px;
	  line-height: 150%;
	}

}



/*
====================
  アンカーリンク位置調整
====================
*/

section {
    padding-top: 100px; /* 調整したい高さ（固定ヘッダーの高さ） */
    margin-top: -60px; /* heightと同じ分のネガティブマージン */
}




/*
====================
  日洋物産で働く魅力
====================
*/


.appeal-area{
    display:flex;
    justify-content:space-between;
    margin:50px 0;
    background:#faf9f7;
    padding:40px 20px;
}

.appeal-item{
    width:24%;
    text-align:center;
    padding:0 20px;
    border-right:1px dashed #cfcfcf;
    box-sizing:border-box;
}

.appeal-item:last-child{
    border-right:none;
}

.appeal-item i{
    font-size:42px;
    color:#1c5fb8;
    margin-bottom:15px;
}

.appeal-item h3{
    color:#1c5fb8;
    font-size:22px;
    font-weight:bold;
    line-height:1.5;
    margin-bottom:15px;
}

.appeal-item p{
    font-size:15px;
    line-height:1.8;
    color:#333;
}


/* スマホ対応 */
@media screen and (max-width:768px){

    .appeal-area{
        flex-direction:column;
        padding:20px;
    }

    .appeal-item{
        width:100%;
        border-right:none;
        border-bottom:1px dashed #ccc;
        padding:25px 0;
    }

    .appeal-item:last-child{
        border-bottom:none;
    }
}


.recruit-point{
    max-width:1200px;
    margin:80px auto;
    padding:0 20px;
}

.section-title{
    font-size:38px;
    color:#0d4f9f;
    font-weight:bold;
    margin-bottom:40px;
    border-left:8px solid #0d4f9f;
    padding-left:15px;
}

.recruit-main{
    display:flex;
    align-items:center;
    gap:50px;
    margin-bottom:50px;
}

.recruit-text{
    flex:1;
}

.recruit-text h3{
    font-size:54px;
    color:#0d4f9f;
    margin-bottom:20px;
    line-height:1.3;
}

.recruit-text h4{
    font-size:36px;
    margin-bottom:30px;
    line-height:1.5;
}

.recruit-text p{
    font-size:18px;
    line-height:2;
    margin-bottom:20px;
}

.recruit-image{
    flex:1;
}

.recruit-image img{
    width:100%;
    border-radius:15px;
    display:block;
}

/* 下の4つの魅力 */

.recruit-features{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
    background:#f7f7f7;
    padding:40px;
    border-radius:10px;
}

.feature-box{
    text-align:center;
}

.feature-box .icon{
    font-size:50px;
    margin-bottom:15px;
}

.feature-box h5{
    font-size:22px;
    color:#0d4f9f;
    margin-bottom:15px;
    line-height:1.5;
}

.feature-box p{
    font-size:15px;
    line-height:1.8;
}