/* フォント
------------------------------------------ */
@font-face {
  font-family: "ShinGoL";
  src: url("../fonts/ShinGoL.woff") format('woff');
}
.ShinGoL { font-family: "ShinGoL"; }
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;700&display=swap');

/* html
------------------------------------------ */
* {
  margin:0 auto;
  padding:0;
  font-weight:normal;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
html { overflow: auto; font-size: 62.5%; }
body {
  font-family: -apple-system, BlinkMacSystemFont, YakuHanJP, Helvetica, "Yu Gothic", ヒラギノ角ゴシック, "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Verdana, Meiryo, sans-serif;
/*
  font-family: "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif;
  font-family: "Hiragino Maru Gothic ProN", "HG丸ｺﾞｼｯｸM-PRO", HGMaruGothicMPRO, "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
*/
  font-size: 14px;
  font-size: 1.4rem;
  text-align:center;
  background-color:#FFFFFF;
  color:#333333;
  letter-spacing: 1.4;
  line-height:1.4em;
}
ul, dl, ol { margin:0; padding:0; }
li, dt, dd { margin:0; padding:0; }
a { text-decoration:none; color:#1D3994; }
a:hover { text-decoration:underline; }
img { border:0; }
a:hover img {
	opacity: 0.7;
	-moz-opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
}
p { margin:0; padding:0; }
input, textarea, select { padding:3px; font-size:1.2em; }
input:not([type=checkbox]), textarea { width:100%; }
td { word-break:break-all; }
iframe { padding:0; margin:0; }

h1 {
  width:100%;
  font-size:12px;
  text-align:right;
  font-weight:normal;
}
h2 {
	margin-bottom:10px;
	padding-bottom:3px;
	color:#000;
  font-family: "ShinGoL";
	font-size:18px;
	border-bottom:2px solid #DCDCDD;
/*	border-bottom:3px solid #1CA465; */
	background:url(../img/logo_min.png) right center no-repeat;
}
h2 div {
	margin-bottom:1px;
	padding-bottom:3px;
	border-bottom:3px solid #1CA465;
}
h3 { margin:0; padding:0 0 10px 0; font-size:18px; }
h3 i { color:#1CA465; }

img {
  max-width: 100%;
}

.box-gray {
	margin:0;
	padding:0;
	border:1px solid #CBCBCB;
}
.box-contents {
	margin:0;
	padding:15px 10px 15px 10px;
}

.ghostbtn {
  display:block;
  width:100%;
  padding:1.4rem 0;
  color:#666666;
  font-size:2.4rem;
  text-align: center;
  border:1px solid rgba(0, 0, 0, 0.4);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.ghostbtn:hover {
  color:#FFFFFF;
  text-decoration: none;
  background-color:rgba(0, 0, 0, 0.3);
}

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

.img-responsive {
  max-width: 100%;
  height: auto;
}


/* レイアウト
-------------------------------------------------------------- */
.wrapper { text-align:left; }
#top {
  margin:0 auto 16px auto;
  padding:8px 2% 8px 0;
  width:100%;
  background-color:#339263;
  color:#FFFFFF;
}

#mainmenu-wrapper {
	margin:10px 0 0 0;
	padding:0;
	height:45px;
	background:url(../img/menu_back.png) left top repeat-x;
}
#mainmenu { margin:0; padding:0; }
#mainmenu:after { clear:both; content:""; display:block; }
#mainmenu li {
  float:left;
  margin:0;
  padding:0;
  width:16%;
  height:45px;
  display:table;
  list-style-type:none;
}
#mainmenu li a {
  display:table-cell;
  width:100%;
  height:100%;
  color:#333333;
  font-size:16px;
  text-align: center;
  vertical-align: middle;
}
#mainmenu a:hover {
  text-decoration: none;
  color:#999999;
}

#mainimage-wrapper {
	margin:0 auto;
	padding:1px 0 1px 0;
	background-color:#FAFAFA;
}
#mainimage {
	position:relative;
	width:100%;
	height: auto !important;
	padding: 13px 0 13px 0;
	background-color:#FFFFFF;
	text-align:center;
}
#mainimage ul {
	position:relative;
	height:350px;
}
#mainimage ul li {
	display:none;
	position:absolute;
	top:0;
	left:0;
	list-style-type:none;
}

#contents {
	margin:0;
	padding:20px 0 50px 0;
	line-height:1.7em;
}
#sidebar-right {
	margin:0;
	padding:30px 0 50px 0;
	width:230px;
}
#sidebar-right img {
  max-width: 100%;
  height: auto !important;
}
.side-address {
	margin:0;
	padding:6px 8px 6px 8px;
}

/* スマホ */
@media screen and (max-width:480px) {
	.wrapper {
		width:100%;
	}
	#mainimage-wrapper {
		width:100%;
	}
	#mainimage-wrapper img {
		width:100%;
		height:auto !important;
	}
	#contents {
		width:100%;
	}
}
/* PC */
@media screen and (min-width:481px) {
	.wrapper {
		width:940px;
	}
	#mainimage-wrapper {
		width:940px;
	}
	#contents {
		float:left;
		width:680px;
	}
	#sidebar-right {
		float:right;
	}
}

/* フッター
-------------------------------------------------------------- */
#footer-wrapper {
	margin:0;
	padding:30px 0 10px 0;
	background-color:#F1F1F1;
	font-size:12px;
}
.footer { margin:0; padding:0; text-align:center; }
#adnews a { color:#666; font-size:10px; }

/* TOP
-------------------------------------------------------------- */
#greeting {
  margin: 0 auto 32px auto;
  padding: 16px;
  border-right: 10px solid #51b23f;
  border-bottom: 10px solid #51b23f;
  border-left: 10px solid #51b23f;
}
#greeting img {
  max-width: 100%;
}
.staff-portrait {
  margin-bottom: 24px;
}
.staff-portrait img {
  max-width: 100%;
}
.info-box {
	height:350px;
	overflow:auto;
}
.info {
	margin:0;
	padding:0;
}
.info dt {
	float:left;
	width:95px;
	margin:0;
	padding:0 0 10px 0;
}
.info dd {
	float:left;
	margin:0;
	padding:0 0 10px 0;
	width:200px;
}

.banner-area li {
	list-style-type:none;
}
.banner-area img {
  max-width: 100%;
  height: auto !important;
}

/* スマホ */
@media screen and (max-width:480px) {
	#greeting-title {
		width:100%;
		height: auto !important;
	}
	.banner-area img {
		width:100%;
		height: auto !important;
	}
}
/* PC */
@media screen and (min-width:481px) {
}


/*
* 会社概要
*/
.company {
	margin:0;
	padding:0;
	border-collapse:collapse;
}
.company th,
.company td
{
	padding:8px 10px 8px 10px;
	margin:0;
	border:1px solid #cbcbcb;
}
.company th { background-color:#F2F2F2; }

.orgchart { margin-bottom:40px; }

.sectionOganization {
  margin-top: 40px;
}
.sectionOganization ul {
  margin-left: 3.2rem;
}
.sectionOganization ul li {
  margin-bottom: 0.8rem;
}


/* ボルビー君工房・生活に一工夫
-------------------------------------------------------------- */
.life-item {
  margin:0 0 20px 0;
  width:680px;
}
.life-item:after {
  content: "";
  clear: both;
  display: block;
}
.life-item li {
  float:left;
  width:48%;
  margin:0 10px 15px 0;
  padding:10px;
  border:10px solid #F2F2F2;
  list-style-type:none;
}
.life-item li:nth-of-type(3n) {
  clear:both;
  content:"";
  display:block;
}
.life-item img { width:100% !important; height:auto !important; }


/* 事業内容
-------------------------------------------------------------- */
.business section { margin-bottom:64px; }
.business .photos ul:after { clear:both; content:""; display:block; }
.business .photos li { float:left; width:50%; padding:0 10px; list-style-type:none; }
.business .photos img { width:100%; height:auto !important; }
.business .photos p { padding:0 16px; }


/* パートナー企業募集
-------------------------------------------------------------- */
.partnerCondition { font-size:1.6rem; }
.partnerCondition dl dt { padding:16px 8px; background-color:#f2f2f2; border:1px solid #cbcbcb; }
.partnerCondition dl dd { padding:16px 8px; border:1px solid #cbcbcb; }
.partnerCondition ul { padding-left:24px; }
.partnerCondition li { padding:4px 0; }

.checkbox { display:table-cell; }



/* 採用情報
-------------------------------------------------------------- */
.careers section { margin-bottom: 24px; }
.careers section + h2 { margin-top: 48px; }
.careers h4 { margin: 8px auto; font-size: 24px; }
.careers h5 { font-size: 16px; line-height: 1.8; }
.careers .contentsInfo {
  margin-left: 24px;
  margin-bottom: 8px;
}
.careers .voice img {
  margin-left: 16px;
  width: 40%;
  height: auto !important;
}
.careers .voice li {
  margin-left: 32px;
  margin-bottom: 16px;
}
.careerCatch {
  margin-bottom: 48px;
  padding: 24px;
  font-family: 'Noto Serif JP', serif;
  font-weight: bold;
  font-size: 24px;
  line-height: 1.6;
  border: 16px solid #f0f0f0;
}


/* 溶接します
-------------------------------------------------------------- */
.weldingPhotos {
  margin-top: 24px;
}
.weldingPhotos ul {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
.weldingPhotos li {
  margin-bottom: 32px;
  text-align: center;
  text-align: center;
  list-style-type: none;
}
@media screen and (min-width:960px) {
  .weldingPhotos li {
    width: 50%;
  }
  .weldingPhotos img {
    width: 88%;
    height: auto !important;
  }
}
@media screen and (max-width:959px) {
  .weldingPhotos img {
    width: 96%;
    height: auto !important;
  }
}

/*
* youtube
*/
.youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}

.manga-list {
  display: grid;
  margin-bottom: 24px;
  list-style-type: none;
  @media screen and (max-width:768px) {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 24px;
    margin-inline: 24px;
  }
  @media screen and (min-width:769px) {
    grid-template-columns: repeat(3, 1fr);
    column-gap: 16px;
  }
  img {
    max-width: 100%;
  }
}

/*
* ボルビーくん
*/
.body-bolbee {
  .manga {
    margin-bottom: 32px;
  }
}

/*
* 採用情報
*/
.body-careers {
  .manga-list {
    display: grid;
    margin-bottom: 24px;
    list-style-type: none;
    @media screen and (max-width:768px) {
      grid-template-columns: repeat(1, 1fr);
      row-gap: 24px;
      margin-inline: 24px;
    }
    @media screen and (min-width:769px) {
      grid-template-columns: repeat(2, 1fr);
      column-gap: 16px;
    }
    img {
      max-width: 100%;
    }
  }
}

/**
 * margin
 */
.mb8 { margin-bottom: 8px; }
.mb16 { margin-bottom: 16px; }
.mb24 { margin-bottom: 24px; }
.mb32 { margin-bottom: 32px; }
.mb40 { margin-bottom: 40px; }
.mb48 { margin-bottom: 48px; }
