@charset "utf-8";
/*
Theme Name: Smilefarm WordPress Themes
Theme URI: https://smile-farm.co.jp/
Author: Smilefarm
Author URI: https://smile-farm.co.jp
Description: Smilefarm WordPress Themes
Version: 1.0
Text Domain: Smilefarm
*/
/* reset */
@import url("bootstrap-reboot.css");
@import url("matome.css");
@import url("header.css");
@import url("footer.css");
@import url("mask.css");

.container_in2 {
  width:1200px;
  margin:0 auto;
}
@media screen and (max-width:1220px) {
  .container_in2 {
    width:100%;
    padding-left:20px;
    padding-right:20px;
  }
}
.container_in3 {
  width:1000px;
  margin:0 auto;
}
@media screen and (max-width:1020px) {
  .container_in3 {
    width:100%;
    padding-left:20px;
    padding-right:20px;
  }
}
.ta_center_left { text-align:center !important; }
@media screen and (max-width:768px) {
  .ta_center_left { text-align:left !important; }
}

h2.tit {
  margin-bottom:50px;
}
h3.tit {
  margin-bottom:20px;
}
@media screen and (max-width:768px) {
  h2.tit {
    margin-bottom:25px;
  }
}

.of_hidden {
  overflow:hidden;
}
.tags {
  display:inline-block;
  font-size:18px;
  color:#FFFFFF;
  background-color:#02052E;
  padding:3px 10px;
  text-align:center;
}
.tags.h3 {
  font-size:25px;
}
.brackets {
  display:inline-block;
  margin:20px 0 60px 12px;
  position:relative;
}
.brackets::before {
  content:'';
  position: absolute;
  top:0;
  left:-12px;
  width:30px;
  height:30px;
  border-top:1px solid #02052E;
  border-left:1px solid #02052E;
}
.brackets::after {
  content:'';
  position: absolute;
  bottom:-12px;
  right:-12px;
  width:30px;
  height:30px;
  border-bottom:1px solid #02052E;
  border-right:1px solid #02052E;
}

.str_txt_w {
  display:flex;
  flex-wrap:wrap;
  padding-top:120px;
}
.str_img {
  width:50%;
  position:relative;
}
.str_imgbg {
  position:absolute;
  width:50vw;
  max-width:initial;
  top:calc(160 / 1920 * 100vw);
  left:calc((100vw - 200%) / 2 * -1);
}
.str_imgtxt {
  position:absolute;
  width:calc(950 / 1920 * 100vw);
  max-width:initial;
  top:calc(520 / 1920 * 100vw);
  left:calc((100vw - 200%) / 2 * -1 + 58px);
}
.str_txt {
  width:50%;
  margin-left:auto;
  padding-left:calc(150 / 1400 * 100%);
  padding-bottom:70px;
}
.str_3col {
  display:flex;
  flex-wrap:wrap;
  justify-content: space-between;
  position:relative;
}
.str_3col>div {
  width:32%;
  display:flex;
  flex-direction: column;
  align-items:center;
  background-color:#fff;
  border:1px solid #fff;
  padding-bottom:30px;
}
.str_3col_img {
  width:100%;
  height:auto;
  min-height:1px;
  margin-bottom:30px;
}
.str_3col_img img {
  width:100%;
}
.str_3col .tags {
  padding:3px 20px;
}
.str_3col p {
  width:100%;
  padding:20px 30px;
}
.str_3col>div .btn_w {
  margin-top:auto;
  padding:0 30px;
}
@media screen and (max-width:768px) {
  .tags.h3 {
    font-size:18px;
  }
  .str_txt_w {
    padding-top:50px;
  }
  .str_img {
    width:100%;
    padding-top:65%;
    margin-bottom:20px;
  }
  .str_imgbg {
    width:100%;
    top:0;
    left:-20px;
  }
  .str_imgtxt {
    width:calc(300 / 375 * 100vw);
    top:auto;
    left:auto;
    bottom:0;
    right:-20px;
  }
  .str_txt {
    width:100%;
    padding:0;
  }
  .tags {
    font-size:14px;
  }
  .brackets {
    margin-bottom:35px;
  }
  .str_3col>div {
    width:100%;
    max-width:600px;
    margin:0 auto 25px;
  }
  .str_3col_img {
    margin-bottom:20px;
  }
}

.com_txt_w {
  display:flex;
  flex-wrap:wrap;
}
.com_img {
  width:50%;
  position:relative;
  padding-top:calc(665 / 1920 * 100vw);
  order:2;
}
.com_imgbg {
  position:absolute;
  width:50vw;
  max-width:initial;
  top:0;
  right:calc((100vw - 200%) / 2 * -1);
}
.com_imgtxt {
  position:absolute;
  width:calc(870 / 1920 * 100vw);
  max-width:initial;
  top:calc(545 / 1920 * 100vw);
  right:calc((100vw - 200%) / 2 * -1 + (150 / 1920 * 100vw));
}
.com_txt {
  width:50%;
  margin-right:auto;
  padding-top:calc(120 / 1400 * 100%);
  padding-right:calc(150 / 1400 * 100%);
  order:1;
}
.com_txt p {
  margin-bottom:60px;
}
@media screen and (max-width:768px) {
  .com_img {
    width:100%;
    padding-top:calc(65% + 30px);
    margin-bottom:30px;
    order:1;
  }
  .com_imgbg {
    width:100vw;
    left:-20px;
  }
  .com_imgtxt {
    width:calc(280 / 375 * 100vw);
    top:auto;
    right:auto;
    bottom:0;
    left:-20px;
  }
  .com_txt {
    width:100%;
    padding:0;
    order:2;
  }
  .com_txt p {
    margin-bottom:30px;
  }
  .com_txt .btn_w {
    text-align:center;
  }
}

#top_news {
  width:100%;
  border:30px solid #1F9C98;
}
.top_news_w {
  width:100%;
  max-width:1400px;
  padding:120px 0;
  margin:0 auto;
  display:flex;
  justify-content: space-between;
}
.top_news_w>div:first-of-type {
  width:200px;
}
.top_news_w>div:last-of-type {
  width:900px;
}
.top_news_w h2 {
  margin-bottom:50px;
}
.top_news_list {
  list-style:none;
  padding:0;
  margin-bottom:30px;
}
.top_news_list li {
  border-bottom:1px solid #BDBDC2;
}
.top_news_list li a {
  width:100%;
  padding:25px 40px;
  display:flex;
  flex-wrap:wrap;
}
.top_news_list li a:hover {
  text-decoration: none;
  opacity:0.7;
}
.news_date {
  font-size:14px;
  color:#8E8E8E;
  width:20%;
}
.news_tit {
  width:80%;
}
.top_news_link {
  text-align:right;
}
.top_news_link a {
  color:#1F9C98;
  text-align:left;
  padding-right:55px;
  position:relative;
}
.top_news_link a::before {
  content:'';
  position:absolute;
  top:50%;
  right:0;
  width: 20px;
  height: 2px;
  background: #1F9C98;
  transform:translateY(-50%);
}
.top_news_link a::after {
  content:'';
  position:absolute;
  top:50%;
  right: 0 ;
  width: 10px;
  height: 10px;
  border-top: 2px solid #1F9C98;
  border-right: 2px solid #1F9C98;
  -webkit-transform: rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}
.top_news_link a:hover {
  color:#1F9C98;
  opacity:0.7;
  text-decoration: none;
}
@media screen and (max-width:1520px) {
  .top_news_w {
    padding-left:20px;
    padding-right:20px;
  }
}
@media screen and (max-width:1000px) {
  .top_news_w {
    flex-wrap:wrap;
    padding:70px 20px;
  }
  .top_news_w h2 {
    margin-bottom:25px;
  }
  .top_news_w>div:first-of-type {
    width:100%;
  }
  .top_news_w>div:last-of-type {
    width:100%;
  }
  .top_news_list li a {
    padding:20px 5px;
  }
  .news_date {
    width:150px;
  }
  .news_tit {
    width:calc(100% - 150px);
  }
}
@media screen and (max-width:768px) {
  .news_date {
    font-size:12px;
  }
}
@media screen and (max-width:600px) {
  #top_news {
    border:8px solid #1F9C98;
  }
  .top_news_w h2 {
    margin-bottom:10px;
  }
  .top_news_w {
    padding:40px 20px;
  }
  .news_date {
    width:100%;
    margin-bottom:10px;
  }
  .news_tit {
    width:100%;
  }
}


.top_org_w {
  width:100%;
  display:flex;
  flex-wrap:wrap;
}
.top_org_img {
  width:50%;
  position:relative;
}
.org_img01 {
  position:absolute;
  width:600px;
  top:0;
  left:calc((100vw - 1400px) / 2);
}
.org_img02 {
  position:absolute;
  width:220px;
  top:calc(240 / 1920 * 100vw);
  right:50px;
}
.org_imgtxt {
  position:absolute;
  width:calc(830 / 1920 * 100vw);
  top:calc(380 / 1920 * 100vw + 120px);
  left:0;
}
.top_org_txt {
  width:50%;
  min-height:650px;
  background-color:#fff;
  padding-top:100px;
  padding-left:calc(120 / 1920 * 100vw);
  padding-right:calc((100vw - 1400px) / 2);
  padding-bottom:50px;
}
.top_org_txt p {
  margin-bottom:60px;
}
@media screen and (max-width:1420px) {
  .top_org_txt {
    padding-right:20px;
  }
  .org_img01 {
    width:calc(600 / 1420 * 100vw);
    left:20px;
  }
  .org_img02 {
    width:calc(220 / 1420 * 100vw);
  }
}
@media screen and (max-width:768px) {
  .top_org_img {
    width:100%;
    padding-top:calc(100% + 40px);
  }
  .org_img01 {
    width:100%;
    left:0;
  }
  .org_img01 img {
    width:100vw;
  }
  .org_img02 {
    width:calc(110 / 375 * 100vw);
    top:calc(150 / 375 * 100vw);
    right:20px;
  }
  .org_imgtxt {
    width:calc(268 / 375 * 100vw);
    top:calc(290 / 375 * 100vw);
    left:0;
  }
  .top_org_txt {
    width:100%;
    min-height:initial;
    padding:30px 15px;
    margin:0 20px;
  }
  .top_org_txt p {
    margin-bottom:30px;
  }
  .top_org_txt .btn_w {
    text-align:center;
  }
}

/***************** 固定ページ *****************/
.bread_w {
  padding:20px 0;
  border-bottom:1px solid #BDBDC2;
}

.jig_w h2,.cutting_w h2 {
  margin-bottom:50px;
}
.jig_interlude {
  width: 100%;
  max-width:1400px;
  margin:0 auto;
  display: flex;
  flex-wrap: wrap;
}
.jig_interlude>img {
  width:50%;
}
.flex_w {
  display:flex;
  flex-wrap:wrap;
}
.flex_w>div:first-of-type {
  width:40%;
}
.flex_w>div:last-of-type {
  width:60%;
}
.flex_p {
  margin-bottom:30px;
}
.flex_inbox {
  width:100%;
  padding:30px;
  background-color:#fff;
  margin-bottom:20px;
}
.flex_inbox h3 {
  margin-bottom:20px;
}
.flex_inbox p {
  margin-bottom:0;
}
.flex_in {
  display:flex;
  flex-wrap:wrap;
  justify-content: space-between;
  margin-bottom:30px;
}
.flex_in>div {
  width:49%;
  padding:30px;
  background-color:#fff;
  margin-bottom:20px;
}

.interlude_w {
  width:100%;
  max-width:1400px;
  margin:0 auto;
}
.interlude_w img {
  width:100%;
}
.reason_h3 {
  font-weight:bold;
  width:100%;
  padding:50px;
  background-color:#fff;
  border:1px solid #02052E;
  text-align:center;
}

.flow_w {
  width:100%;
  max-width:1000px;
  margin:0 auto;
}
.flow_in {
  display:flex;
  flex-wrap:wrap;
  position:relative;
}
.flow_in:before {
  content:'';
  position:absolute;
  bottom:0;
  left:0;
  width:1px;
  height:100%;
  border-left:1px solid #fff;
}
.flow_in:first-of-type:before {
  height:calc(100% - 10px);
}
.flow_in:last-of-type:before {
  bottom:auto;
  top:0;
  height:10px;
}

.flow_in:after {
  content:'';
  position:absolute;
  top:10px;
  left:-7px;
  width:15px;
  height:15px;
  background-color:#fff;
  border-radius:50%;
}

.flow_in>div:first-of-type {
  width:18%;
  position:relative;
}
.flow_in>div:first-of-type:before {
  content:'';
  position:absolute;
  top:17px;
  left:0;
  width:100%;
  height:1px;
  border-top:1px dashed #fff;
}
.flow_img {
  position:absolute;
  top:0;
  right:0;
  display:inline-block;
  background-color:#02052E;
  padding:10px 23px;
  border:1px solid #fff;
}
.flow_in>div:last-of-type {
  width:82%;
  padding-left:20px;
}
.flow_in h3 {
  margin-bottom:25px;
  line-height:1.4;
}
.flow_in p {
  color:#BDBDC2;
  margin-bottom:50px;
}
.flow_in:last-of-type p {
  margin-bottom:0;
}
.flow_kome {
  margin-top:70px;
  padding-left:1em;
  text-indent:-1em;
}
.flex_in2 {
  width:100%;
  display:flex;
  flex-wrap:wrap;
  justify-content: space-between;
}
.flex_in2>div {
  display:flex;
  flex-direction: column;
  width:46%;
  padding:20px;
  margin-bottom:20px;
  background-color:#fff;
}
.flex_in2 h3 {
  padding-bottom:15px;
  border-bottom:1px solid #02052E;
  margin-bottom:15px;
}

.last_w {
  padding:100px 0;
  text-align:center;
  background-color:#fff;
}
.last_w p {
  font-size:20px;
  margin-bottom:50px;
}
.col2_tbl {
  width:100%;
  border-collapse: separate;
  border-spacing: 5px 0px;
}
.col2_tbl th {
  color:#fff;
  background-color:#02052E;
  padding:20px;
}
.col2_tbl td {
  padding:20px;
  border-bottom:1px solid #BDBDC2;
  vertical-align:top;
}
.col2_tbl td:first-of-type {
  width:30%;
  min-width:150px;
}
.cutting_flex_w {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  margin-bottom:100px;
}
.cutting_flex_w>div:first-of-type {
  width:50%;
  padding-top:calc(593 / 1920 * 100vw);
}
.cutting_flex_w>div:last-of-type {
  width:50%;
  padding-left:calc(150 / 1400 * 100%);
}
.cutting_flex_w img {
  position:absolute;
  top:0;
  left:0;
  width:calc(960 / 1920 * 100vw);
}
.cutting_link_w {
  display:flex;
  flex-wrap:wrap;
  justify-content: space-between;
  margin-top:100px;
}
.cutting_link_w>div {
  width:46%;
}
.cutting_link_w a *{
  transition:all .5s;
}
.cutting_link_w a:hover *{
  opacity:0.7;
}
.cutting_link_w img {
  width:100%;
}

.cutting_link {
  color:#fff;
  background-color:#02052E;
  width:100%;
  padding:20px;
  margin:0;
  text-align:center;
  position:relative;
}
.cutting_link:before {
  content:'';
  position:absolute;
  top:50%;
  right:15px;
  width:20px;
  height:2px;
  border-top:2px solid #fff;
  transform:translateY(-50%);
}
.cutting_link:after {
  content:'';
  position:absolute;
  top:50%;
  right:15px;
  width:13px;
  height:13px;
  border-top:2px solid #fff;
  border-right:2px solid #fff;
  transform:translateY(-50%) rotate(45deg);
}
.machine_w {
  width:100%;
  display:flex;
  flex-wrap:wrap;
  padding:30px;
  margin-bottom:20px;
  background-color:#fff;
}
.machine_w h3 {
  width:100%;
  padding-left:30px;
  margin-bottom:25px;
  position:relative;
}
.machine_w h3:before {
  content:'';
  position:absolute;
  top:22px;
  left:0;
  width:15px;
  height:2px;
  background-color:#1F9C98;
}
.machine_w p {
  width:100%;
  margin-bottom:25px;
}
.machine_img {
  width:35%;
}
.machine_txt {
  width:65%;
  padding-left:calc(70 / 1400 * 100%);
}
.col3_tbl {
  width:100%;
  border-collapse: separate;
  border-spacing:5px 0;;
}
.col3_tbl th {
  color:#fff;
  background-color:#02052E;
  padding:20px;
}
.col3_tbl td {
  width:33%;
  padding:20px;
  border-bottom:1px solid #ccc;
  vertical-align:top;
}
.machine_in {
  width:100%;
  display:flex;
  justify-content: space-between;
}
.machine_in img {
  width:24%;
  margin:0;
}

#company_w .col2_tbl tr:first-of-type td {
  border-top:1px solid #BDBDC2;
}
.gmap {
  width:100%;
  padding-top:calc(400 / 800 * 100%);
  border:5px solid #FFFFFF;
  margin-bottom:50px;
  position:relative;
}
.gmap iframe {
  position:absolute;
  width:100%;
  height:100%;
  top:0;
  left:0;
}
.acc_w {
  display:flex;
  flex-wrap:wrap;
}
.acc_w>div {
  width:50%;
}
.com_interlude {
  width:100%;
  display:flex;
  flex-wrap:wrap;
}
.com_interlude>img {
  width:50%;
}
.history_tbl {
  width:100%;
  padding-left:5px;
}
.history_tbl tr {
  display:block;
  min-height:60px;
  position:relative;
}
.history_tbl tr:before {
  content:'';
  position:absolute;
  bottom:0;
  left:0;
  width:1px;
  height:100%;
  background-color:#02052E;
}
.history_tbl tr:first-of-type:before {
  height:calc(100% - 1em);
}
.history_tbl tr:after {
  content:'';
  position: absolute;
  top:1em;
  left:1px;
  width:10px;
  height:10px;
  background-color:#02052E;
  border-radius:50%;
  transform:translate(-50%,-50%);
}

.history_tbl td:first-of-type {
  display:inline-block;
  width:20%;
  padding:0 10px 0 40px;
  vertical-align: top;
}
.history_tbl td:last-of-type {
  display:inline-block;
  width:80%;
}
#company_w .flex_wrap {
  width:100%;
  padding:30px;
  background-color:#fff;
}
.company_fig {
  width:100%;
}
.company_fig img {
  margin-bottom:10px;
}
.company_fig figcaption {
  width:100%;
  text-align:center;
}
.comtbl_pad {
  padding-left:calc(70 / 1340 * 100%);
}
.com_slider_wrap {
  width:100%;
  padding-top:calc(308 / 1920 * 100vw);
  position: relative;
}
#com_slider {
  position:absolute;
  top:0;
  width:100%;
  height:100%;
  padding:0;
  margin:0;
}
#com_slider div {
  height:100%;
}
#com_slider li {
  width:auto;
  height:100%;
  padding:0 10px;
}
#com_slider li img {
  width:100%;
  height:100%;
  object-fit:contain;
  font-family: 'object-fit: contain;';

}
.tool_flex_w {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
}
.tool_flex_w>div:first-of-type {
  width:50%;
  padding-top:calc(593 / 1920 * 100vw);
}
.tool_flex_w>div:last-of-type {
  width:50%;
  padding-left:calc(150 / 1400 * 100%);
}
.tool_img>div {
  position:absolute;
  top:150px;
  left:0;
  width:50vw;
  max-width:initial;
}
.tool_flex_3 {
  width:100%;
  display:flex;
  flex-wrap:wrap;
  justify-content: space-between;
}
.tool_flex_3>div {
  width:32%;
  display:flex;
  flex-direction: column;
  padding:3px;
  background-color:#fff;
}
.tool_flex_3>div>img {
  width:100%;
  margin-bottom:20px;
  flex-shrink: 0; /* fix IE11 */
}
.tflex3_in {
  padding:0 25px 25px;
}
.tool_tag {
  display:inline-block;
  width:135px;
  padding:10px 20px;
  background-color:#02052E;
  margin-bottom:15px;
}

.toolstand_w .col2_tbl tr:first-of-type td {
  border-top:1px solid #BDBDC2;
}
.toolstand_w .last_w h2 {
  line-height:1.4;
  margin-bottom:60px;
}

.tool_link {
  display:block;
  width:100%;
  max-width:550px;
  margin:0 auto;
  transition: all .5s;
}
.tool_link * {
  transition: all .5s;
}
.tool_link:hover * {
  text-decoration: none;
  opacity: 0.7;
}

.tool_link h3 {
  color:#fff;
  background-color:#02052E;
  width:100%;
  padding:20px;
  margin:0;
  text-align:center;
  position:relative;
}
.tool_link h3:before {
  content:'';
  position:absolute;
  top:50%;
  right:15px;
  width:20px;
  height:2px;
  border-top:2px solid #fff;
  transform:translateY(-50%);
}
.tool_link h3:after {
  content:'';
  position:absolute;
  top:50%;
  right:15px;
  width:13px;
  height:13px;
  border-top:2px solid #fff;
  border-right:2px solid #fff;
  transform:translateY(-50%) rotate(45deg);
}

.policy_w ol>li {
  margin-bottom:30px;
}

@media screen and (max-width:1000px) {
  .tool_img img {
    top:60px;
  }
}

@media screen and (max-width:768px) {
  .bread_w {
    padding:10px 0;
  }
  .jig_w h2,.cutting_w h2 {
    margin-bottom:25px;
  }
  .flex_w>div:nth-of-type(n) {
    width:100%;
  }
  .flex_p {
    margin-bottom:20px;
  }
  .flex_inbox {
    padding:20px 15px;
  }
  .flex_in>div {
    padding:20px 15px;
  }
  .reason_h3 {
    padding:15px;
  }
  .flow_in>div:first-of-type {
    width:100%;
    height:50px;
  }
  .flow_in>div:first-of-type:before {
    width:10%;
  }
  .flow_img {
    right:auto;
    left:10%;
  }
  .flow_in>div:last-of-type {
    width:100%;
    padding-left:10%;
  }
  .flow_kome {
    margin-top:30px;
  }
  .last_w {
    padding:60px 0;
  }
  .last_w p {
    font-size:16px;
    margin-bottom:30px;
  }
  .cutting_flex_w {
    margin-bottom:60px;
  }
  .cutting_flex_w>div:first-of-type {
    width:50%;
    padding-top:calc(593 / 1920 * 100vw);
  }
  .cutting_flex_w>div:first-of-type {
    width:100%;
    padding:0;
    margin-bottom:30px;
  }
  .cutting_flex_w>div:last-of-type {
    width:100%;
    padding:0;
  }
  .cutting_flex_w img {
    position:static;
    top:auto;
    left:auto;
    width:100%;
  }
  .cutting_link_w {
    margin-top:60px;
  }
  .cutting_link_w>div {
    width:100%;
    max-width:480px;
    margin: 0 auto 20px;
  }
  .cutting_link {
    padding:12px;
  }
  .cutting_link:before {
    width:15px;
  }
  .cutting_link:after {
    width:10px;
    height:10px;
  }
  .machine_w {
    padding:20px 10px;
  }
  .machine_w h3:before {
    top:15px;
  }
  .machine_img {
    width:100%;
    margin-bottom:20px;
  }
  .machine_txt {
    width:100%;
    padding-left:0;
  }
  .col2_tbl {
    font-size:12px;
  }
  .col2_tbl th,.col2_tbl td {
    padding:15px 5px;
  }
  .col2_tbl td:first-of-type {
    width:25%;
    min-width:113px;
  }
  .machine_txt .col2_tbl td:first-of-type {
    width:25%;
    min-width:initial;
  }
  .col3_tbl {
    font-size:12px;
  }
  .col3_tbl th {
    padding:15px 10px;
  }
  .col3_tbl td {
    padding:15px 5px;
  }
  .col3_tbl td:first-of-type {
    width:25%;
  }
  .comtbl_pad {
    padding-left:0;
  }
  .com_slider_wrap {
    padding-top:calc(155 / 375 * 100vw);
  }
  .gmap {
    margin-bottom:30px;
  }
  .acc_w>div {
    width:100%;
  }
  .tool_flex_w>div:first-of-type {
    width:100%;
    padding:0;
    margin-bottom:40px;
  }
  .tool_flex_w>div:last-of-type {
    width:100%;
    padding:0;
  }

  .tool_img>div {
    position:static;
    top:auto;
    left:auto;
    width:100%;
  }
  #company_w .col2_tbl td:first-of-type {
    min-width: 80px;
  }
  #company_w .flex_wrap {
    padding:20px 10px;
  }
  .company_fig figcaption {
    text-align:left;
  }
  .tflex3_in {
    padding:0 10px 20px;
  }
  .toolstand_w .last_w h2 {
    margin-bottom:25px;
  }
  .tool_tag {
    width:115px;
    padding:10px 20px;
  }
  .history_tbl td:first-of-type {
    width:25%;
    padding:0px 10px 0 15px;
  }
  .history_tbl td:last-of-type {
    width:75%;
  }
  .tool_link h3:before {
    width:15px;
  }
  .tool_link h3:after {
    width:10px;
    height:10px;
  }
}
@media screen and (max-width:640px) {
  .flex_in>div {
    width:100%;
  }
  .reason_h3 {
    text-align:left;
  }
  .flex_in2>div {
    width:100%;
    padding:20px 10px;
  }
  .flex_in2 h3 {
    padding-bottom:10px;
    margin-bottom:20px;
  }
  .flow_in p {
    margin-bottom:30px;
  }
  .last_w {
    text-align:left;
  }
  .machine_in {
    flex-wrap:wrap;
  }
  .machine_in img {
    width:100%;
  }
  .machine_in img:not(:last-of-type) {
    margin-bottom:20px;
  }
  .tool_flex_3>div {
    width:100%;
    margin-bottom:20px;
  }
}
/************** 実績一覧 **********/
.jig_tag {
  display:inline-block;
  font-size:13px;
  font-weight:bold;
  padding:5px 10px;
  color:#fff;
  background-color:#1F9C98;
  margin-right:15px;
}
.cutting_tag {
  display:inline-block;
  font-size:13px;
  padding:5px 10px;
  color:#fff;
  background-color:#1F619C;
  margin-right:15px;
}
.tag_wrap {
  display:inline;
  line-height:1.4;
}
.works_tag {
  display:inline-block;
  font-size:13px;
  font-weight:bold;
  color:#1F9C98;
  margin-right:15px;
}
.works_tag:before {
  content:'#';
}
.works_btn_w {
  width:100%;
  max-width:1200px;
  margin:0 auto 80px;
  display:flex;
  justify-content: space-between;
}
.works_btn_w .btn {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content:center;
  width:100%;
  max-width:380px;
  padding:20px;
  border: 1px solid #02052E;
  background-color: #fff;
  color:#02052E;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  transition:all .5s;
}
.works_btn_w a.btn:hover {
  text-decoration: none;
  opacity:0.6;
}
.works_btn_w .btn.selected {
  color:#fff;
  background-color:#02052E;
}
.works_list_w {
  width:100%;
  display:flex;
  flex-wrap:wrap;
  list-style:none;
  padding:0;
  margin:0;
}
.works_list_w li {
  width:calc(400 / 1400 * 100%);
  margin-bottom:50px;
}
.works_list_w li:not(:nth-of-type(3n)) {
  margin-right:calc(100 / 1400 * 100%);
}
.works_list_w li a {
  display:inline-block;
  width:100%;
  transition: all .5s;
  line-height:1.2;
}
.works_imgbox {
  width:100%;
  padding-top:66.66%;
  margin-bottom:10px;
  position:relative;
}
.works_imgbox img {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  object-fit:contain;
  font-family: 'object-fit: contain;';
  border:1px solid #eee;
}
.works_list_w li a h2 {
  margin-top:5px;
  margin-bottom:0;
  line-height:1.3;
}
.works_list_w li a:hover img {
  opacity:1;
}
.works_list_w li a:hover{
  text-decoration: none;
  opacity:0.7;
}
.arch_pages {
  list-style:none;
  display:flex;
  justify-content: center;
  font-size:16px;
  padding:0;
  margin:0;
}
.arch_pages li:not(:last-of-type) {
  margin-right:10px;
}
.arch_pages li span.current {
  display:inline-block;
  color: #fff;
  background: #02052E;
  padding: 5px 8px;
  border: 1px solid #02052E;
}
.arch_pages li a {
  display:inline-block;
  color:#02052E;
  background: #fff;
  border: 1px solid #02052E;
  border-radius: 2px;
  padding: 5px 8px;
  margin: 0 2px;
}
.arch_pages li a:hover {
  text-decoration: none;
  opacity: 0.7;
}
.arch_pages li a.prev,
.arch_pages li a.next {
  position:relative;
  border:none;
  background:none;
}
.arch_pages li a.prev:after {
  position:absolute;
  content:'';
  top:50%;
  left: 60%;
  width: 10px;
  height: 10px;
  border-top: 1px solid #02052E;
  border-left: 1px solid #02052E;
  -webkit-transform: rotate(225deg);
  transform: translate(-50%,-50%) rotate(-45deg);
}
.arch_pages li a.next:after {
  position:absolute;
  content:'';
  top:50%;
  left: 40%;
  width: 10px;
  height: 10px;
  border-top: 1px solid #02052E;
  border-right: 1px solid #02052E;
  -webkit-transform: rotate(45deg);
  transform: translate(-50%,-50%) rotate(45deg);
}

@media screen and (max-width:768px) {
  .works_btn_w {
    margin-bottom:50px;
  }
  .works_btn_w .btn {
    font-size:16px;
    padding:15px 5px;
  }
  .jig_tag,.cutting_tag,.works_tag {
    font-size:11px;
    margin-right:10px;
    margin-bottom:0;
  }
}
@media screen and (max-width:640px) {
  .tag_wrap {
    display:inline-block;
    width:100%;
  }
  .works_list_w li {
    width:100%;
    margin-bottom:20px;
  }
  .works_list_w li:nth-of-type(n) {
    margin-right:0;
  }
  .works_list_w li a {
    display:flex;
    justify-content: space-between;
    align-items:flex-start;
  }
  .works_imgbox {
    width:40%;
    padding-top:27%;
    margin-bottom:0;
  }
  .works_list_w li a>div:last-of-type {
    width:55%;
  }
  .works_list_w li a>div>div {
    width:100%;
  }
}

/************** 実績詳細 **********/

.works_content_w {
  width:100%;
  display:flex;
  flex-wrap:wrap;
  justify-content: space-between;
  margin-bottom:100px;
}
.works_tit_w {
  width:100%;
  margin-bottom:30px;
}
.works_tit_w h2 {
  font-size:30px;
  padding-bottom:15px;
  border-bottom:1px solid #02052E;
  margin-bottom:20px;
}
.works_img {
  width:47%;
}
.works_img img {
  width:100%;
  height:100%;
  object-fit:contain;
  font-family: 'object-fit: contain;';
  border:1px solid #eee;
}
.works_txt {
  width:47%;
}

#works_slider {
  list-style:none;
  width:100%;
  padding-left:0;
  padding-top:66.66%;
  margin:0 auto 20px;
  position:relative;
}
#works_slider li {
  opacity:0;
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  transition:all .5s;
}
#works_slider li.active {
  opacity:1;
}

#works_thumblist {
  width:100%;
  display:flex;
  flex-wrap:wrap;
  list-style:none;
  padding:0;
  margin:0 auto;
}
#works_thumblist li {
  width:22%;
  padding-top:15%;
  margin-bottom:10px;
  position: relative;
  cursor:pointer;
}
#works_thumblist li:not(:nth-of-type(4n)) {
  margin-right:4%;
}
#works_thumblist li img {
  position: absolute;
  top:0;
  left:0;
}

.works_txt h3 {
  padding-left:30px;
  position:relative;
}
.works_txt h3:before {
  content:'';
  position:absolute;
  top:50%;
  left:0;
  width:15px;
  height:2px;
  background-color:#1F9C98;
  transform:translateY(-50%);
}
.exp_txt {
  margin-bottom:25px;
}
.exp_txt_frame {
  width:100%;
  padding:30px;
  background-color:#fff;
  border:5px solid #1F9C98;
  margin-bottom:50px;
}

.works_tbl {
  width:100%;
  border-collapse: separate;
  border-spacing: 5px 0px;
}
.works_tbl th {
  color:#fff;
  padding:15px;
  background-color:#02052E;
}
.works_tbl td:first-of-type {
  width:30%;
  padding:15px;
  border-bottom:1px solid #BDBDC2;
  vertical-align: top;
}
.works_tbl td:last-of-type {
  width:70%;
  padding:15px;
  border-bottom:1px solid #BDBDC2;
  vertical-align: top;
}
.list_modoru_btn_w {
  width:100%;
  text-align:center;
}
.list_modoru_btn_w .btn {
  display:inline-block;
  width:100%;
  max-width:250px;
  padding:12px;
  background-color:#fff;
  border:1px solid #02052E;
  transition:all .5s;
  position: relative;
}
.list_modoru_btn_w .btn:hover {
  text-decoration: none;
  opacity: 0.7;
}
.list_modoru_btn_w .btn:before {
  content:'';
  position: absolute;
  top:50%;
  right:15px;
  width:15px;
  height:1px;
  border-top:1px solid #02052E;
  transform:translateY(-50%);
}
.list_modoru_btn_w .btn:after {
  content:'';
  position:absolute;
  top:50%;
  right:15px;
  width:8px;
  height:8px;
  border-top:1px solid #02052E;
  border-right:1px solid #02052E;
  transform: translateY(-50%) rotate(45deg);
}
.works_rel_w {
  width:100%;
  padding:50px 0 120px;
  border-top:1px solid #02052E;
}
.works_rel_list {
  list-style:none;
  width:100%;
  padding:0;
  margin:0;
  display:flex;
  flex-wrap:wrap;
}
.works_rel_list li {
  width:calc(320 / 1400 * 100%);
}
.works_rel_list li:not(:nth-of-type(4n)) {
  margin-right:calc(40 / 1400 * 100%);
}
.works_rel_list li a {
  display:inline-block;
  width:100%;
  transition:all .5s;
}
.works_rel_list li a:hover {
  text-decoration: none;
  opacity:0.7;
}
@media screen and (max-width:1000px) {
  .works_rel_list li {
    width:calc(480 / 1000 * 100%);
  }
  .works_rel_list li:nth-of-type(2n) {
    margin-right:0;
  }
  .works_rel_list li:not(:nth-of-type(2n)) {
    margin-right:calc(40 / 1000 * 100%);
  }
}

@media screen and (max-width:768px) {
  .works_content_w {
    margin-bottom:50px;
  }
  .works_img,.works_txt {
    width:100%;
  }
  .exp_txt_frame {
    padding:15px;
  }
  .works_rel_w {
    padding:30px 0 60px;
  }
}
@media screen and (max-width:640px) {
  .works_rel_list li {
    width:100%;
    margin-bottom:20px;
  }
  .works_rel_list li:nth-of-type(n) {
    margin-right:0;
  }
  .works_rel_list li a {
    display:flex;
    justify-content: space-between;
    align-items:flex-start;
  }

  .works_rel_list li a>div:last-of-type {
    width:55%;
  }
  .works_rel_list li a>div>div {
    width:100%;
  }
}

/************** お知らせ一覧 *****************/
.news_list_w {
  list-style:none;
  padding:0;
  margin:0 0 50px;
}
.news_list_w li a {
  width:100%;
  padding:25px 10px;
  display:flex;
  flex-wrap:wrap;
  border-bottom:1px solid #BDBDC2;
}
.news_list_w li:first-of-type a {
  border-top:1px solid #BDBDC2;
}
.news_list_w li a:hover {
  text-decoration: none;
  opacity:0.7;
}
.news_list_w a .news_date {
  width:25%;
}
.news_list_w a .news_tit {
  width:75%;
}
@media screen and (max-width:600px) {
  .news_list_w li a {
    padding:10px;
  }
  .news_list_w a .news_date {
    width:100%;
  }
  .news_list_w a .news_tit {
    width:100%;
  }
}

/************** お知らせ詳細 *****************/
.single_w {
  margin-bottom:50px;
}
.single_in {
  margin-bottom:30px;
}
.single_tit_w {
  margin-bottom:30px;
}
.single_tit_w h2 {
  font-size: 30px;
  padding-bottom: 15px;
  border-bottom: 1px solid #02052E;
  margin-bottom: 20px;
}
.single_w h2 {
  font-size:30px;
}
.single_w table {
  border:1px solid #4a4a4a;
}
.single_w table td {
  padding:5px;
  border:1px solid #4a4a4a;
}
@media screen and (max-width:768px) {
  .single_tit_w h2 {
    font-size:22px;
  }
  .single_w h2 {
    font-size:22px;
  }

}

/******************* お問い合わせフォーム ************************/
.hissu {
  font-size: 12px;
  padding: 3px 8px;
  margin-left: 10px;
  border-radius: 3px;
  color: #fff;
  background: #C3272E;
  display: inline-block;
}
.kome {
  display:block;
  font-size:0.8em;
  color:#999;
}
.mw_wp_btn_w {
  display:flex;
  justify-content: center;
}
.mw_wp_form table {
  width:100%;
  max-width:800px;
  margin-left:auto;
  margin-right:auto;
}
.mw_wp_form table tr:not(:last-of-type) {
  border-bottom:1px solid #C8C8C8;
}
.mw_wp_form table th {
  width:300px;
  padding:10px 0;
  vertical-align:top;
}
.mw_wp_form table td {
  width:calc(100% - 300px);
  padding:10px 0;
}
.mw_wp_form table td>input[type="text"],
.mw_wp_form table td>input[type="email"],
.mw_wp_form table td textarea {
  width:100%;
}
.mw_wp_form table td input[name*="zip"] {
  margin-bottom:5px;
}

.btn_w .btn.send {
  color:#fff;
  background-color:#02052E;
}
.btn_w .btn.send:hover {
  color:#02052E;
  background-color:#fff;
}
.mw_wp_form span.horizontal-item + .horizontal-item {
  margin-left:0;
}
.mw_wp_form .horizontal-item:not(:last-of-type) {
  margin-right:10px;
}
.mwform-tel-field input[type="text"] {
  width:6em !important;
}
@media screen and (max-width:768px) {
  .mw_wp_form table {
    max-width:600px;
  }
  .mw_wp_form table th,
  .mw_wp_form table td {
    display:block;
    width:100%;
  }
  .mw_wp_form table th {
    padding-bottom:0;
    line-height:1;
  }
  .mw_wp_form span.horizontal-item:nth-of-type(n) {
    display:inline-block;
    width:100%;
    margin-right:0;
  }
}
/******************* プライバシーポリシー ************************/
#policy_w ol {
  font-size:20px;
}
