@charset "UTF-8";
/*
	00. common
========================================================================== */
#content .low_content {
    padding: 0 5vw 15vw;
}
#content section:not(:last-child) {
    margin-bottom: 14vw;
}

/* mv -------------------------------- */
.low .low_mv {
    position: relative;
    width: 100vw;
    height: 80vw;
    margin-bottom: 8vw;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.low .low_mv .mv_ttl_wrap {
    margin: 0 auto;
    width: 90%;
}
.low .low_mv .mv_ttl {
    text-align: right;
    color: #333;
    line-height: 1.4;
}
.low .low_mv .mv_ttl .mv_ttl_en {
    display: block;
    font-size: 9vw;
    letter-spacing: 0.08em;
    font-weight: 700;
    line-height: 1.1;
    margin-bottom: 0.3em;
}
.low .low_mv .mv_ttl .mv_ttl_jp {
    display: block;
    padding: 0 0.3em;
    font-size: 4vw;
    font-weight: 600;
    letter-spacing: 0.1em;
}

/*
    company
========================================================================== */
#company .low_mv {
    background: url("../images/company/mv.jpg") no-repeat 63% 50% / cover;
}
#company #company_outline .table_A th {
    width: 7.1em;
}
#company #company_business .business_list {
    padding: 6vw;
    background: #e7f3e9;
    border-radius: 8px;
}
#company #company_business .business_list li {
    font-weight: 500;
    margin-left: 1em;
    margin-bottom: 0.8em;
    list-style-type: disc;
}
#company #company_business .business_list li:last-child {
    margin-bottom: 0;
}
#company #company_access .ggmp {
    position: relative;
    width: 100%;
    padding-top: 80%;
    height: 0;
}
#company #company_access .ggmp iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/*
    product
========================================================================== */
#product .low_mv {
    background: url("../images/product/mv.jpg") no-repeat 88% 50% / cover;
}
#product .product_list .product_cont {
    margin-bottom: 7vw;
    padding: 6vw 4vw;
    background: #f3f3f3;
    border-radius: 6px;
}
#product .product_list .product_cont .product_img {
    margin: 0 auto 15px;
    width: 96%;
}
#product .product_list .product_cont .product_txt {
    padding: 50px 20px 20px;
    position: relative;
    border: 3px solid #138a2b;
    border-radius: 6px;
    background: #fff;
}
#product .product_list .product_cont .product_txt .product_txt_ttl {
    position: absolute;
    top: 0;
    left: 0;
    background: #138a2b;
    line-height: 1;
    padding: 10px 13px 13px 10px;
    font-weight: 600;
    color: #fff;
    border-bottom-right-radius: 6px;
}

/*
    recruit
========================================================================== */
#recruit .low_mv {
    background: url("../images/recruit/mv.jpg") no-repeat 50% 50% / cover;
}

/*
    contact
========================================================================== */
#contact .low_mv {
  background: url("../images/contact/mv.jpg") no-repeat 50% 20% / cover;
}

/* form
************************************/
.contact_form dt,
.contact_form dt p {
  font-weight: bold;
}
/*「必須」文字デザイン*/
.contact_form .required {
  display: inline-block;
  margin-left: 5px;
  font-size:.8em;
  padding: 5px;
  line-height: 1;
  background: #c43a5a;
  color: #fff;
  border-radius: 3px;
  margin-right: 5px;
}
/* 入力項目を見やすく */
.contact_form input.wpcf7-form-control.wpcf7-text,
.contact_form textarea.wpcf7-form-control.wpcf7-textarea,
.contact_form select {
	width: 100%;
	padding: 8px 15px;
	margin: 7px 0 15px;
    box-sizing: border-box;
	border: 1px solid #d0d5d8;
	border-radius: 3px;
	background-color: #eff1f5;
}
.contact_form select {
  appearance: none;         /* 標準の矢印などを非表示 */
  -webkit-appearance: none; /* Safari対応 */
  -moz-appearance: none;    /* Firefox対応 */
  padding: 10px 40px 10px 12px; /* 矢印用に右側に余白 */
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="%23333" class="bi bi-caret-down-fill" viewBox="0 0 16 16"><path d="M7.247 11.14 2.451 5.658C1.885 5.012 2.33 4 3.204 4h9.592c.873 0 1.319 1.012.753 1.658L8.753 11.14a1 1 0 0 1-1.506 0z"/></svg>');
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 12px;
  cursor: pointer;
  box-sizing: border-box;
}
.contact_form textarea.wpcf7-form-control.wpcf7-textarea {
	height: 200px;
}
/* 「送信する」ボタン */
.contact_form input.wpcf7-submit {
  position: relative;
  margin: 0 auto;
  display: block;
  width: 80%;
  box-sizing: border-box;
  padding: 1.2em 30px;
  text-align: center;
  font-size: 1.15rem;
  border: none;
  color: #fff;
  font-weight: bold;
  background: #f6aa15;
  line-height: 1;
  letter-spacing: 0.2em;
  border-radius: 50px;
  box-shadow: 2px 2px 5px rgba(0,0,0,0.3);
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
  cursor: pointer;
  -webkit-transition: .3s ease-in-out;
  -moz-transition: .3s ease-in-out;
  -o-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
}
.contact_form input.wpcf7-submit:hover {
	opacity:0.7;
}
/* エラーメッセージを見やすく */
.contact_form span.wpcf7-not-valid-tip,
.contact_form .wpcf7-response-output.wpcf7-validation-errors {
	color: red;
	font-weight: 600;
}
/* セレクトボックス */
.contact_form .select_box {
  position: relative;
	margin: 7px 0 15px;
}
.contact_form .select_box:before {
  position: absolute;
  top: 50%;
  right: 15px;
  z-index: 10;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 8px solid #333;
  border-right: 6px solid transparent;
  border-left: 6px solid transparent;
  pointer-events: none;
  content: '';
}
.contact_form .select_box select {
  width: 100%;
	padding: 12px 15px;
  border: 1px solid #d0d5d8;
	border-radius: 3px;
	background-color: #eff1f5;
  color: #a5a5a5;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
#contact .wpcf7 form .wpcf7-response-output {
    margin: 0em 0.5em 6em;
}

/*
    news
========================================================================== */
#news .low_mv {
  background: url("../images/news/mv.jpg") no-repeat 50% 50% / cover;
}
#news #article_list .article_list_cont li {
	border-bottom: 1px solid #b1b1b1;
    padding: 20px 0;
}
#news #article_list .article_list_cont li a {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
    flex-wrap: wrap;
}
#news #article_list .article_list_cont li .date {
	width: 6em;
	color: #138a2b;
}
#news #article_list .article_list_cont li .news_ttl {
    margin-top: 5px;
    width : 100%;
}
/*wp-pagenavi base*/
.wp-pagenavi {
	clear: both;
	text-align:center;
}
.wp-pagenavi a, .wp-pagenavi span {
	color: #999;
	background-color: #FFF;
	border: solid 1px #999;
	padding: 8px 15px;
	margin: 0 2px;
	white-space: nowrap;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
	text-align: center;
	text-decoration:none;
}
.wp-pagenavi a:hover{
	color:#FFF; 
	background-color:#999; 
	border-color:#999;
}
.wp-pagenavi span.current{
	color: #FFF;
	background-color: #f6aa15;
	border-color: #f6aa15;
	font-weight: bold;
}

/* single */
.roop {
	min-height: 500px;
}
.roop .post .size-full,
.roop .post img{
	max-width: 700px;
	height: auto;
}
.roop .post iframe{
	max-width: 600px;
}
.cms_content {
  margin-bottom: 40px;
}
.wp-pagenavi {
	margin: 40px 0 60px;
	font-size: 90%;
}
/* post */
.post h1 {
	font-size: 5.5vw;
	margin: 1rem 0;
	line-height: 1.3;
	font-weight: 600;
}
.post .date_category {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
.post .date_category .date {
	color: #666;
}
.post .date_category .category {
    margin: 0.2em 0 0 0.6em;
    padding: 0.4em 0.3em 0.6em;
    width: 7.5em;
    line-height: 1;
    color: #fff;
    font-size: 0.8rem;
    text-align: center;
    background: #138a2b;
}
.post .entry {
	margin-top: 20px;
}
.post .entry  p {
	margin-top: 10px;
}
.post .entry  a {
	color: #d1372b;
  text-decoration: underline;
}
.post .entry  strong {
  font-weight: bold;
}
.post .entry  em {
  font-style: italic;
}
.post .entry  blockquote {
  border-left: 6px solid #d9d9d9;
  padding-left: 10px;
}
.post .entry .marker {
  display: inline;
  background: linear-gradient(transparent 40%, #ffff00 40%);
	font-weight: bold;
}
.post .entry .box {
	margin-top: 15px;
  padding: 20px;
	background: #ecf7fb;
}
.post .entry .box > *:first-child {
	margin-top: 0;
}
.post .entry ul,
.post .entry ol{
  margin-top: 25px;
}
.post .entry ul li {
  list-style: disc;
  margin-left: 1.5em;
}
.post .entry ol li {
  list-style: decimal;
  margin-left: 1.5em;
}
.post .entry ul + *,
.post .entry ol + * {
	margin-top: 25px;
}
.post .entry h2 {
	margin: 30px 0 0;
	padding: 0.05em 0.4em;
	border-left: 6px solid #138a2b;
	font-size: 5vw;
	font-weight: 600;
}
.post .entry h3 {
	margin: 30px 0 0;
	padding-bottom: 0.2em;
	border-bottom: 2px solid #b1b1b1;
	font-size: 4.5vw;
	font-weight: 600;
}
.post .entry h4 {
	margin: 30px 0 0;
	font-size: 4.5vw;
	padding-left: 1em;
  text-indent: -0.7em;
	line-height: 1.4;
	font-weight: 600;
}
.post .entry h4::before {
	display: inline-block;
	content: '●';
	color: #f6aa15;
	margin-right: 0.4em;
}
.post .entry h5 {
	margin: 30px 0 0;
	font-size: 4.2vw;
	font-weight: 600;
}
.post .entry h2 + p,
.post .entry h3 + p {
	margin-top: 10px;
}
.post .entry h4 + p,
.post .entry h5 + p {
	margin-top: 6px;
}
/*画像設定*/
.post .size-full,
.post .size-large,
.post .size-medium,
.post .size-thumbnail{
	max-width:100%; 
    height:auto;
    margin-top: 5vw;
}
.post .alignleft {
	float: left;
	margin: 0 10px 10px 0;
}
.post .aligncenter {
	display: block;
	margin:0 auto 10px auto;
}
.post .alignright {
	float: right;
	margin: 0 0 10px 10px;
}
.post .two_img {
	margin: 20px auto 0;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.post .two_img img {
	float: none;
	margin: 0;
	width: 48.5%;
}
.post .wp-caption{margin-top:20px;}
.post .wp-caption a{display:block;}
.post .wp-caption a:hover{border-bottom: none;}
.post .wp-caption img{vertical-align: bottom;}
.post .wp-caption-text{
	margin-top: 10px;
	text-align:center;
	font-size:1.4rem;
}

/*
    blog
========================================================================== */
#blog .low_mv {
  background: url("../images/blog/mv.jpg") no-repeat 50% 50% / cover;
}
#blog .article_list_cont li {
    margin-bottom: 7vw;
}
#blog .article_list_cont li a {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
#blog .article_list_cont li a .img {
    width: 44%;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
    overflow: hidden;
}
#blog .article_list_cont li a .img img {
    object-fit: cover;
    aspect-ratio: 1 / 1;
}
#blog .article_list_cont li a .txt {
    width: 50%;
}
#blog .article_list_cont li a .txt .ttl_wrap {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-bottom: 8px;
}
#blog .article_list_cont li a .txt .ttl_wrap .date {
    font-weight: 500;
}
#blog .article_list_cont li a .txt .ttl_wrap .category {
    margin: 0.2em 0 0 1em;
    padding: 0.3em 0.3em 0.5em;
    width: 7.5em;
    line-height: 1;
    color: #fff;
    font-size: 0.733rem;
    text-align: center;
    background: #138a2b;
}
#blog .article_list_cont li a .txt .ttl_wrap .ttl {
    width: 100%;
    margin-top: 5px;
    font-size: 4vw;
    font-weight: 600;
    line-height: 1.3;
}
#blog .article_list_cont li a .txt .cont_txt {
    line-height: 1.8;
    font-size: 0.9rem;
}
/* blog single */
#blog .blog_wrap .sidebar {
    padding: 5vw;
    background: #f6f6f6;
    border-radius: 6px;
}
#blog .blog_wrap .sidebar .ttl_C {
    background: #f6aa15;
}
#blog .blog_wrap .sidebar .archives_list li a {
    display: block;
    padding-bottom: 0.8em;
    margin-bottom: 0.8em;
    border-bottom: 1px solid #ccc;
    line-height: 1.5;
}

/*
    emergency
========================================================================== */
#emergency .low_mv {
  background: url("../images/news/mv.jpg") no-repeat 50% 50% / cover;
}