   /*
  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  原則として、許可なしの再配布は禁止させていただきます。
  また、無料でお使いになる場合は、【ＰＲ枠】のリンクは全て削除禁止です。
  （※加工後の削除も禁止させていただいておりますのでご了承ください。）
  PR枠の削除（有料プラン）に関するお問い合わせや、その他ご不明な点は、
  https://www.megapx.com/contact.html、または
  https://www.s-hoshino.com/info.htmlのフォームよりお問い合わせください。
  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  */
   * {
     padding: 0;
     margin: 0;
     box-sizing: border-box;
   }
   html {
     height: 100%;
   }
   body {
     color: #111;
     word-wrap: break-word;
     height: 100%;
     font-family: sans-serif;
     line-height: 2.2;
	letter-spacing:0.1em;
   }
   .font_mincho {
     font-family: zen-old-mincho, sans-serif;
     font-weight: 700;
     font-style: normal;
   }
   .font_ni {
     font-family: nitalago-ruika, sans-serif;
     font-weight: 400;
     font-style: normal;
   }
   .font_century {
     font-family: century-gothic, sans-serif;
     font-weight: 700;
     font-style: normal;
   }
   section, article {
     display: block;
   }
   img {
     max-width: 100%;
     height: auto;
     vertical-align: top;
   }
   a img {
     border-top-style: none;
     border-right-style: none;
     border-bottom-style: none;
     border-left-style: none;
     transition: 0.2s linear;
   }
   a:hover img {
     filter: brightness(120%);
   }
   li {
     list-style-type: none;
   }
   a {
     color: #0099CC;
     transition: 0.2s linear;
   }
   a:hover {
	/* #bf2339 */
     color: #e08558;
     text-decoration: none;
   }
   table {
     border-collapse: collapse;
   }
   table td {
     border-collapse: collapse;
   }
   .clfix:after {
     content: ".";
     display: block;
     height: 0;
     font-size: 0;
     clear: both;
     visibility: hidden;
   }
   .black {
     color: #111 !important;
   }
   .white {
     color: #fff !important;
   }
   .grey {
     color: #999 !important;
   }
   .blue {
     color: #d5623f !important;
   }
   .lblue {
     color: #0196ca !important;
   }
   .green {
     color: #008f8e !important;
   }
   .yamabuki {
     color: #d6c42f !important;
   }
   .large {
     font-size: 135% !important;
   }
   .center {
     text-align: center !important;
   }
   .lh15 {
     line-height: 1.5;
   }
   .mt30 {
     margin-top: 30px !important;
   }
   .mt50 {
     margin-top: 50px !important;
   }
   .mb15 {
     margin-bottom: 15px !important;
   }
   .mb30 {
     margin-bottom: 30px !important;
   }
   .mb50 {
     margin-bottom: 50px !important;
   }
   .p30 {
     padding: 30px !important;
   }
   .flex_ {
     display: flex;
   }
   .flexw {
     flex-wrap: wrap;
   }
   .flexsb {
     justify-content: space-between;
   }
   .flex_ .col-2 {
     width: 49%;
   }
   .flex_ .col-3 {
     width: 32%;
   }
   .flex_ .col-66 {
     width: 66%;
   }
   .figflex {
     display: flex;
     flex-wrap: wrap;
     justify-content: space-between;
     align-items: flex-start;
   }
   .figflex img {
     width: 48%;
	margin-top:3%;
   }
   .figflex figcaption {
     position: relative;
     width: 50%;
     margin: 0 0 0 -5%;
     padding: 3.5%;
     background: rgba(255, 255, 255, 0);
   }
   .figflex figcaption::before {
     position: absolute;
     top: 0;
     left: 0;
     width: 7%;
     height: 15%;
     content: "";
     display: block;
     border-left: 5px solid #d1b786;
     border-top: 5px solid #d1b786;
   }
   .figflex figcaption::after {
     position: absolute;
     bottom: 0;
     right: 0;
     width: 7%;
     height: 15%;
     content: "";
     display: block;
     border-right: 5px solid #d1b786;
     border-bottom: 5px solid #d1b786;
   }
ul.check{
	margin-bottom:1em;
	padding:1em;
	background:#f1f1e5;
	border-radius:1em;
}
ul.check i{
	color:#d1b786;
}
   .en {
     display: block;
     margin-top: 10px;
   }
   @media screen and (min-width: 769px) {
     .flex {
       display: flex;
     }
     .col-2 {
       width: 49%;
     }
     .col-3 {
       width: 32%;
     }
     .col-66 {
       width: 66%;
     }
   }
   @media screen and (max-width: 959px) {
     .figflex {
       flex-direction: column-reverse;
     }
     .figflex img {
       width: 100%;
     }
     .figflex figcaption {
       width: 90%;
       margin: -5% 5% 5%;
       padding: 5%;
     }
   }
   /*
  ヘッダー
  -------------------------------------------*/
   header {
     width: 100%;
     position: fixed;
     z-index: 300;
     transition: all 0.3s ease;
   }
   header {
     background-color: #e08558;
     background-color: rgba(214, 98, 63, 0.9);
   }
   header.fixed {
     background-color: #e08558;
     background-color: rgba(214, 98, 63, 0.9);
   }
   header h1 a img {
     display: block;
     position: absolute;
   }
   #g_navi ul li a.ac_menu {
     cursor: pointer;
     overflow: hidden;
   }
   .pankuzu {
     font-size: 12px;
     line-height: 30px;
     color: #aaa;
     width: 100%;
     padding-top: 10px;
     padding-bottom: 10px;
     position: relative;
     z-index: 10;
   }
   .pankuzu ul {
     width: 96%;
     max-width: 1100px;
     margin-right: auto;
     margin-left: auto;
   }
   .pankuzu li {
     display: inline-block;
   }
   .pankuzu li a {
     text-decoration: none;
     color: #333;
   }
   .pankuzu li a::after {
     content: ">";
     padding-left: 10px;
     padding-right: 10px;
   }
   .pankuzu li a:hover {
     color: #000;
   }
   .pankuzu li i {
     padding-right: 5px;
   }
   /*
  メインコンテンツ
  -------------------------------------------*/
   .content {
     width: 100%;
     color: #111;
   }
   body.home .content {
     background-color: #F2F6F7;
   }
   .cont_wrap {
     max-width: 1200px;
     width: 100%;
     margin: 0 auto;
     padding: 50px 0;
   }
   #sub_top {
     position: relative;
     display: flex;
     justify-content: space-between;
     align-items: center;
     width: 100%;
     padding: 250px 0 150px;
     background: url(../images/naikan.jpg) no-repeat 50% 0%;
     background-size: 100%;
     color: #FFF;
     font-size: 34px;
     text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
     font-family: nitalago-ruika, sans-serif;
     font-weight: 400;
     font-style: normal;
     letter-spacing: 0.1em;
   }
   #sub_top::after {
     display: block;
     content: "";
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background: rgba(0, 0, 0, 0.5);
     mix-blend-mode: overlay;
     z-index: 0;
   }
   #sub_top .title {
     position: relative;
     z-index: 10;
     display: block;
     margin: 0 auto;
   }
   #index_top {
     width: 100%;
     min-height:850px;
     position: relative;
     display: flex;
     justify-content: center;
     align-items: center;
   }
   #index_top::after {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     display: block;
     content: "";
     background: rgba(0, 0, 0, 0.5);
     mix-blend-mode: multiply;
     z-index: 0;
   }
   #index_top #top_catch {
     padding: 0 5%;
     color: #FFF;
     margin: 0 auto;
     z-index: 10;
     display: flex;
   }
   #index_top #top_catch h2 {
     margin-bottom: 15px;
     font-size: 80px;
     font-family: nitalago-ruika, sans-serif;
     font-weight: 400;
     font-style: normal;
     letter-spacing: 1px;
     line-height: 1.2;
     text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
   }
   #index_top #top_catch .pre {
     display: block;
     margin-bottom: 15px;
     color: #ccc;
     font-size: 36px;
     line-height: 1;
     letter-spacing: 1px;
   }
   #index_top #top_catch .text {
     margin-bottom: 25px;
     font-size: 15px;
     font-weight: bold;
     letter-spacing: 1px;
     line-height: 1.3
   }
   #index_top #top_banner {
     width: 350px;
     margin-left: -50px;
     transform: rotate(10deg);
     z-index: -1;
   }
   #index_top #top_banner img {
     width: 100%;
   }
   .content h2 {
     font-size: 28px;
     line-height: 1.5;
     margin-bottom: 20px;
     letter-spacing: 1px;
     color: #111;
     text-align: center;
     padding-top: 30px;
     padding-right: 10px;
     padding-bottom: 30px;
     padding-left: 10px;
     clear: both;
     font-family: nitalago-ruika, sans-serif;
     font-weight: 400;
     font-style: normal;
   }
   .content h2 i {
     padding: 10px;
     color: #d5623f;
   }
   .content h2 span {
     display: block;
     font-family: century-gothic, sans-serif;
     font-weight: 700;
     font-style: normal;
     font-size: 24px;
     color: #d5623f;
   }
   .content h2 span.small {
     font-size: 18px;
     font-weight: normal;
     color: #555;
   }
   .content h3 {
     font-size: 24px;
     line-height: 30px;
     margin-top: 30px;
     margin-bottom: 30px;
     position: relative;
     padding: 15px 10px 15px 20px;
     color: #d1b786;
     clear: both;
     letter-spacing: 0.05em;
     font-family: nitalago-ruika, sans-serif;
     font-weight: 400;
     font-style: normal;
   }
   .content h3::after {
     display: block;
     width: 50px;
     height: 2px;
     margin: 15px auto 0;
     background: #d1b786;
     content: '';
   }
   .content h3.white::after {
     background: #fff;
   }
   .content h3 span {
     font-size: 15px;
     color: #555;
     padding-left: 15px;
   }
   .content h4 {
     font-size: 18px;
     letter-spacing: 0.1em;
     font-weight: bold;
     clear: both;
     margin-top: 20px;
     margin-right: 30px;
     margin-bottom: 0px;
     position: reltive;
   }
   .content p {
     font-size: 18px;
     padding: 10px;
     margin-bottom: 30px;
     margin-top: 20px;
     margin-right: 30px;
     margin-left: 30px;
   }
   .content .list li:before {
     font-family: "Font Awesome 5 Free";
     font-weight: 900;
     content: "\f058";
     margin-right: 0.5em;
     color: #353D60;
   }
   .content .ul_news {
     max-width: 50%;
     margin: 0 auto;
   }
   .content .ul_news li {
     font-size: 16px;
     color: #000;
     background-color: #FFF;
     line-height: 30px;
     padding: 20px;
     border-bottom-width: 1px;
     border-bottom-style: dotted;
     border-bottom-color: #999;
     text-decoration: none;
   }
   .content .ul_news li span.date {
     padding-right: 20px;
     color: #888;
   }
   .content .ul_news li span.i_con {
     display: inline-block;
     padding-left: 5px;
     padding-right: 5px;
     background-color: #F90;
     color: #FFF;
     margin-right: 20px;
     line-height: 20px;
     font-size: 12px;
   }
   .content .ul_news li span.i_con.cl2 {
     background-color: #36BEAD;
   }
   /*
  .content .ul_news li a {
      display: block;
      color: #333;
      line-height: 30px;
      padding: 20px;
      border-bottom-width: 1px;
      border-bottom-style: dotted;
      border-bottom-color: #999;
      text-decoration: none;
  }

  .content .ul_news li a:hover {
      color: #000;
      background-color: #FFF;
  }
  */
   .img_center {
     display: block;
     margin-left: auto;
     margin-right: auto;
     position: relative;
   }
   .img_center span {
     position: absolute;
     background-color: #333;
     background-color: rgba(0, 0, 0, 0.8);
     color: #FFF;
     letter-spacing: 0.1em;
     padding: 10px;
     left: 0;
     top: 0;
   }
   .img_center div {
     position: absolute;
     background-color: #333;
     background-color: rgba(0, 0, 0, 0.8);
     color: #FFF;
     letter-spacing: 0.1em;
     padding: 50px;
     right: 0;
     bottom: 0;
   }
   .img_left {
     float: left;
     padding-top: 20px;
     padding-right: 50px;
     padding-left: 30px;
     padding-bottom: 20px;
     max-width: 50%;
   }
   .img_right {
     float: right;
     padding-top: 20px;
     padding-right: 30px;
     padding-left: 50px;
     padding-bottom: 20px;
     max-width: 50%;
   }
   .img_left img, .img_right img, .img_center img {
     width: 100%;
   }
   .content .img_left p, .content .img_right p {
     font-size: 14px;
     margin: 0px;
     text-align: center;
     letter-spacing: 0.1em;
     color: #455E65;
   }
   .content p.check {
     color: #FF3333;
   }
   .content p.p_st {
     font-size: 20px;
     color: #CA28B1;
   }
   .content .cont_wrap .txt_box {
     padding: 5%;
     margin: 20px;
     background: #f4eee0;
   }
   .content .cont_wrap .txt_box h3 {
     margin-top: 0px;
     margin-bottom: 0px;
     text-align: center;
     padding-right: 0px;
     padding-left: 0px;
     border-bottom-width: 1px;
     border-bottom-style: solid;
     border-bottom-color: #B6CACD;
     border-radius: 0px;
     color: #333;
   }
   .content .cont_wrap .txt_box h3::after {
     display: none;
   }
   a.ap {
     padding-top: 50px;
     margin-top: -50px;
   }
   /*
  コンテンツ大ボタン
  -------------------------------------------*/
   .btn_cnt a {
     font-size: 16px;
     color: #FFF;
     text-align: center;
     text-decoration: none;
     display: block;
     width: 240px;
     background-color: #e08558;
     margin-top: 20px;
     margin-right: auto;
     margin-bottom: 30px;
     margin-left: auto;
     line-height: 22px;
     padding-top: 10px;
     padding-bottom: 10px;
     clear: both;
     font-weight: bold;
     border-radius: 4px;
   }
   .btn_cnt a i {
     padding-right: 10px;
   }
   .btn_cnt a:hover {
     color: #fff;
     background-color: #111;
   }
   .btn_cnt.rt a {
     float: right;
     max-width: 220px;
     margin-right: 10px;
   }
   /*
  トップへ戻るボタン
  -------------------------------------------*/
   .to_top {
     position: fixed;
     bottom: 0px;
     right: 0px;
     z-index: 800;
   }
   .to_top a {
     display: block;
     width: 60px;
     height: 60px;
     background-color: #DCE7E9;
     color: #333;
     text-align: center;
     text-decoration: none;
     font-size: 32px;
     line-height: 60px
   }
   .to_top a:hover {
     background-color: #e08558;
     color: #FFF;
   }
   /*
  フッター
  -------------------------------------------*/
   footer {
     background-color: #111;
     color: #f1eeed;
     clear: both;
     width: 100%;
     display: block;
     padding-top: 20px;
   }
   footer .cont_wrap {
     display: flex;
     flex-wrap: wrap;
     justify-content: space-between;
   }
   footer .cont_wrap .f_box {
     width: 25%;
     padding: 10px;
   }
   footer .cont_wrap .f_box.lg {
     width: 50%;
   }
   footer .cont_wrap p {
     font-size: 13px;
   }
   footer .cont_wrap ul {
     padding: 20px;
   }
   footer .cont_wrap ul li a {
     display: block;
     text-decoration: none;
     font-size: 13px;
     color: #f1eeed;
   }
   footer .cont_wrap ul li.contact a {
     text-align: center;
     color: #FFF;
     background-color: #e08558;
     font-size: 14px;
     padding: 2px;
     margin-top: 5px;
   }
   footer .cont_wrap ul li.contact a:hover {
     color: #e08558;
   }
   footer .cont_wrap ul li.contact a::before {
     display: none;
   }
   footer .cont_wrap ul li a::before {
     content: "・ ";
     color: #999;
   }
   footer .cont_wrap ul li a:hover {
     color: #111;
     background-color: #FFF;
   }
   address {
     clear: both;
     font-size: 12px;
     font-style: normal;
     padding: 20px;
     text-align: center;
     letter-spacing: 1px;
   }
   footer .box_pr {
     clear: both;
     width: 100%;
     display: block;
     text-align: center;
     font-size: 10px;
     color: #666;
     letter-spacing: 1px;
     background-color: #000;
     padding-top: 18px;
     line-height: 22px;
   }
   .box_pr ul{
     display: flex;
	justify-content:center;
   }
   .box_pr ul li {
     padding: 5px;
   }
   .box_pr ul li a {
     color: #666;
   }
   /*
  各種テーブル
  -------------------------------------------*/
   .content table.table_01 {
     width: 96%;
     margin-top: 20px;
     margin-right: auto;
     margin-bottom: 30px;
     margin-left: auto;
   }
   .content table.table_01 th, .content table.table_01 td {
     border-bottom-width: 1px;
     border-bottom-style: dotted;
     border-bottom-color: #888;
     padding: 12px 20px;
   }
   .content table.table_01 th {
     font-size: 16px;
     white-space: nowrap;
     font-weight: normal;
     letter-spacing: 1px;
     width: 33%;
     background: #eff3f9;
   }
   .content table.table_01 td {
     font-size: 14px;
     line-height: 30px;
     background-color: #FFF;
   }
   .small {
     font-size: smaller;
     color: #666;
   }
   .chui {
     color: #F03600;
   }
   .table_01 caption {
     font-size: 14px;
     line-height: 30px;
     background-color: #E5E5E5;
     color: #111;
     letter-spacing: 1px;
     padding-top: 5px;
     padding-bottom: 5px;
     border: 1px solid #FFF;
     box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 2px 0px;
   }
   .table_01 th span {
     font-size: 12px;
     color: #CCC;
   }
   .mekki th, .mekki td {}
   .mekki td {
     text-align: center;
   }
   /*
  トップ下部ピックアップ
  -------------------------------------------*/
   .pick_up {
     width: 100%;
     padding: 50px 0;
   }
   .pick_up ul {
     margin-left: auto;
     margin-right: auto;
     width: 100%;
     max-width: 1400px;
     display: flex;
     flex-wrap: wrap;
     justify-content: space-between;
   }
   .pick_up ul li {
     width: 32%;
     position: relative;
   }
   .pick_up ul li a {
     display: block;
     overflow: hidden;
     position: relative;
     transition: 0.2s linear;
   }
   .pick_up ul li a img {
     width: auto;
     max-width: 100%;
     z-index: 0;
   }
   .pick_up ul li a:hover img {
     transform: scale(1.05);
     opacity: 1;
     filter: alpha(opacity=100);
   }
   .pick_up ul li a::before {
     content: "";
     display: block;
     width: 100%;
     height: 100%;
     background-color: rgba(5, 52, 104, 0.2);
     z-index: 5;
     position: absolute;
     top: 0;
     left: 0;
     transition: 0.2s linear;
   }
   .pick_up ul li a:hover::before {
     background-color: rgba(5, 52, 104, 0.9);
   }
   .pick_up ul li a div {
     color: #FFF;
     font-size: 32px;
     line-height: 1;
     text-decoration: none;
     text-align: center;
     display: block;
     width: 80%;
     margin-top: -20px;
     margin-left: -40%;
     position: absolute;
     left: 50%;
     top: 47%;
     font-weight: bold;
     transition: 0.2s linear;
     z-index: 10;
   }
   .pick_up ul li a div span {
     font-size: 16px;
     letter-spacing: 2px;
   }
   /*
  コンテンツボックス
  -------------------------------------------*/
   .box_cont {
     position: relative;
     width: 100%;
     padding: 100px 0;
     background: #f1f1e5;
   }
   .box_cont::after {
     position: absolute;
     top: 0;
     left: 0;
     display: block;
     content: "";
     width: 100%;
     height: 100%;
     background: url("../images/bg_pattern.png") no-repeat;
     background-size: 100%;
     opacity: 0.7;
     z-index: 0;
   }
   .box_cont .cont_wrap, .box_cont .inner {
     position: relative;
     z-index: 10;
   }
   .box_cont h2 span {
     color: #e08558;
   }
   .box_cont .inner {
     display: flex;
     justify-content: space-between;
     width: 100%;
     max-width: 1200px;
     margin: auto;
   }
   .box_cont .box_c_in {
     width: 31%;
     min-height: 200px;
     border: 1px solid #d3cacb;
     border-radius: 30px;
     margin-bottom: 30px;
     background: #f1eeed;
     color: #111;
   }
   .box_cont .box_c_in:hover {
     background: #FFF;
   }
   .box_cont .box_c_in img {
     max-width: 100%;
     border-top-left-radius: 30px;
     border-top-right-radius: 30px;
   }
   .content .box_cont .box_c_in h3 {
     padding-bottom: 10px;
     font-size: 22px;
     text-align: center;
   }
   .box_c_in .btn_cnt a:hover {
     background: #111 !important;
   }
   .box_c_in:nth-of-type(1):hover {
     border: 1px solid #e08558;
   }
   .box_c_in:nth-of-type(1) h3 {
     color: #e08558;
   }
   .box_c_in:nth-of-type(1) h3::after {
     background: #e08558;
   }
   .box_c_in:nth-of-type(1) .btn_cnt a {
     background: #e08558;
   }
   .box_c_in:nth-of-type(2):hover {
     border: 1px solid #dcc601;
   }
   .box_c_in:nth-of-type(2) h3 {
     color: #dcc601;
   }
   .box_c_in:nth-of-type(2) h3::after {
     background: #dcc601;
   }
   .box_c_in:nth-of-type(2) .btn_cnt a {
     background: #dcc601;
   }
   .box_c_in:nth-of-type(3):hover {
     border: 1px solid #898aa9;
   }
   .box_c_in:nth-of-type(3) h3 {
     color: #898aa9;
   }
   .box_c_in:nth-of-type(3) h3::after {
     background: #898aa9;
   }
   .box_c_in:nth-of-type(3) .btn_cnt a {
     background: #898aa9;
   }
   /*
  背景入り帯
  -------------------------------------------*/
   .obi_001 {
     background-image: url(../images/obi_001.jpg);
     background-repeat: no-repeat;
     text-align: center;
     padding-top: 15%;
     padding-right: 5%;
     padding-bottom: 15%;
     padding-left: 5%;
     background-size: cover;
     background-attachment: fixed;
     background-position: center bottom;
     color: #FFF;
   }
   .content .obi_001 h2 {
     color: #FFF;
     border-bottom: none;
     padding-bottom: 0px;
   }
   .content .obi_001 h2 span {
     color: #0ea95a;
   }
   .content .obi_001 .btn_cnt a {
     background: #0ea95a;
   }
   .content .obi_001 .btn_cnt a:hover {
     background: #fff;
     color: #0ea95a;
   }
   .obi_001 p {
     max-width: 1200px;
     margin: 0 auto;
     line-height: 2.4;
   }
   .obi_002 {
     width: 100%;
     height: auto;
     background-image: url(../images/slide_2.jpg);
     background-repeat: no-repeat;
     background-size: cover;
     position: relative;
   }
   .obi_002 .box_in {
     width: 100%;
     height: 100%;
     padding:10%;
     display: flex;
     align-items: center;
     justify-content: center;
     flex-flow: column;
     color: #FFF;
     background-color: rgba(0, 0, 0, 0.75);
   }
   .obi_002 h2 {
     color: #FFF;
     font-size: 36px;
     border-bottom-color: #fff;
   }
   .obi_002 p {
     line-height: 2;
     font-weight: bold;
   }
   @media screen and (min-width:960px) {
     body {
       font-size: 16px;
     }
     /*
  ヘッダー
  -------------------------------------------*/
     header {
       height: 90px;
     }
     header h1 a img {
       top: 23px;
       left: 10px;
       height: 44px;
     }
     .menu_btn, .btn_close {
       display: none;
     }
     /*
  PCグローバルナビ
  -------------------------------------------*/
     #g_navi {
       position: absolute;
       right: 0;
       top: 24px;
       width: auto;
       margin-left: 200px;
       display: block !important;
       z-index: 1000;
     }
     #g_navi ul li {
       display: inline-block;
       margin-right: 10px;
     }
     #g_navi li a {
       width: auto;
       padding: 10px 28px;
       line-height: 1;
       display: block;
       text-decoration: none;
       text-align: center;
       position: relative;
       float: left;
       letter-spacing: 1px;
       font-size: 16px;
       font-weight: bold;
       background: #fff;
       border-radius: 23px;
       border: 1px solid #fff;
     }
     header #g_navi li a, header.fixed #g_navi li a {
       color: #e08558;
     }
     #g_navi li a:hover {
       background: #e08558;
       color: #fff !important;
     }
     #g_navi.txt_w li a {
       color: #e08558;
     }
     #g_navi li.contact {
       display: none;
     }
     #g_navi li.contact a {
       background-color: #ec6941;
       color: #FFF !important;
       padding-left: 20px;
       padding-right: 20px;
       margin-left: 10px;
       border-radius: 4px;
     }
     #g_navi li.contact a:hover {
       background-color: #FFF;
       color: #ec6941 !important;
     }
     #g_navi li.contact a::before {
       display: none;
     }
   }
   /*-- /960px～ --*/
   @media screen and (min-width:1200px) {
     .no_pc {
       display: none !important;
     }
     header h1 a img {
       left: 50%;
       margin-left: -590px;
     }
     header #g_navi {
       right: 50%;
       margin-right: -590px;
     }
   }
   @media screen and (min-width:810px) {
     .no_tb {
       display: none !important;
     }
   }
   @media screen and (max-width:960px) {
     body {
       font-size: 16px;
     }
     body.fixed {
       overflow: hidden;
     }
     img {
       max-width: 100%;
       height: auto;
     }
     .content h4 {
       margin-right: 10px;
       margin-left: 10px;
     }
     /*
  メニューボタン
  -------------------------------------------*/
     .menu_btn {
       display: block;
       height: 40px;
       width: 40px;
       text-align: center;
       padding-top: 5px;
       padding-bottom: 5px;
       position: fixed;
       z-index: 5000;
       top: 5px;
       right: 5px;
       border-radius: 3px;
       cursor: pointer;
     }
     .menu_btn:hover {
       cursor: pointer;
     }
     .menu_btn span {
       width: 28px;
       height: 2px;
       display: block;
       position: absolute;
       left: 50%;
       top: 50%;
       margin-left: -14px;
       background-color: #fff;
     }
     header.fixed .menu_btn span {
       background-color: #fff;
     }
     .menu_btn span {
       transition: all 0.3s;
       transform: rotate(0deg);
     }
     .menu_btn span.top {
       transform: translateY(-8px);
     }
     .menu_btn span.bottom {
       transform: translateY(8px);
     }
     .menu_btn:hover span.top {
       transform: translateY(-10px);
     }
     .menu_btn:hover span.bottom {
       transform: translateY(10px);
     }
     .menu_btn.opened span {
       background-color: #ca5641 !important;
     }
     .menu_btn.opened span.middle {
       background: rgba(255, 255, 255, 0);
       transform: translateX(30px);
     }
     .menu_btn.opened span.top {
       transform: rotate(-45deg) translateY(0px);
     }
     .menu_btn.opened span.bottom {
       transform: rotate(45deg) translateY(0px);
     }
     /*
  グローバルナビ
  -------------------------------------------*/
     #g_navi {
       position: fixed;
       top: 0px;
       display: none;
       width: 100%;
       height: 100%;
       margin-left: 0;
       padding: 0 10% 10%;
       overflow: auto;
       z-index: 3000;
       background: #f0f0e4;
     }
     #g_navi .inner {
       display: flex;
       flex-flow: column;
       justify-content: center;
       min-height: 100%;
     }
     #g_navi ul {
       margin: 15px 0;
     }
     #g_navi ul li a {
       text-decoration: none;
       display: block;
       padding: 10px;
       line-height: 22px;
       color: #023165;
       font-size: 14px;
       font-weight: bold;
       letter-spacing: 1px;
     }
     #g_navi ul li.contact {
       margin-top: 15px;
     }
     #g_navi ul li.contact a {
       text-align: center;
       background-color: #ca5641;
       color: #f0f0e4;
       width: 100%;
     }
     #g_navi .address {
       color: #023165;
       line-height: 1.7;
       font-size: 14px;
       font-weight: bold;
       text-align: center;
     }
     #g_navi .address p {
       margin-top: 10px;
     }
     /*
  メニューシャドウ
  -------------------------------------------*/
     .bg_bl {
       background-color: #FFF;
       height: 100%;
       width: 100%;
       opacity: 0.80;
       filter: alpha(opacity=80);
       -ms-filter: "alpha( opacity=80 )";
       display: block;
       position: fixed;
       z-index: 2000;
     }
     /*
  ヘッダー
  -------------------------------------------*/
     header {
       height: 52px;
     }
     header h1 a img {
       top: 10px;
       left: 10px;
       height: 36px;
     }
     header .h_menu {
       display: none;
     }
     header #info {
       display: none;
     }
     /*
  フッター
  -------------------------------------------*/
     footer {
       border-bottom-width: 60px;
     }
     footer .cont_wrap .f_box {
       width: 100%;
       text-align: center;
     }
     footer .cont_wrap .f_box.lg {
       width: 100%;
     }
     .no_sp {
       display: none;
     }
   }
   /*-- /～960px --*/
   /*
  無限ループ
  -------------------------------------------*/
   .loop_wrap_base {
     width: 100%;
     height: auto;
     overflow: hidden;
     background: #F2F6F7;
     padding:10% 0;
   }
   .loop_wrap_base h2 {
     font-family: nitalago-ruika, sans-serif;
     font-weight: 100;
     font-style: normal;
     color: #d5623f;
     text-align: center;
     line-height: 1.2;
     margin:0 5%;
     padding-bottom: 30px;
     font-size: 24px;
     border: none;
   }
   .loop_wrap_base h2 span {
     font-family: Century Gothic, sans-serif;
     font-weight: 600;
     font-style: bold;
     letter-spacing: 1px;
     font-size: 14px;
     color: #555;
   }
   .loop_wrap_base .txt {
     width: 80%;
     margin: 0 auto 50px;
   }
   /*
  SNSボタン
  -------------------------------------------*/
   .h_sns {
     position: fixed;
     bottom: 90px;
     right: 0px;
     font-family: nitalago-ruika, sans-serif;
     font-weight: 400;
     font-style: normal;
   }
   .h_sns li.tel {
     display: flex;
     flex-wrap: wrap;
     justify-content: center;
     align-items: center;
     width: 100px;
     padding: 15px 10px;
     background: linear-gradient(60deg, #d5623f, #de3f17);
     color: #fff;
     font-family: century-gothic, sans-serif;
     font-weight: 700;
     font-size: 15px;
     line-height: 1.2;
     text-align: center;
     text-decoration: none;
   }
   .h_sns li a {
     display: flex;
     flex-wrap: wrap;
     justify-content: center;
     align-items: center;
     width: 100px;
     padding: 25px 10px;
     background: #e08558;
     color: #FFF;
     font-size: 12px;
     line-height: 1;
     text-align: center;
     text-decoration: none;
   }
   .h_sns li a {}
   .h_sns li.contact a {
     background: linear-gradient(60deg, #575d7f, #3a3f5f);
   }
   .h_sns li.map a {
     background: linear-gradient(60deg, #d7c530, #c6ae1c);
   }
   .h_sns li.contact a:hover {
     background: linear-gradient(60deg, #fff, #fff);
     color: #3a3f5f;
   }
   .h_sns li.map a:hover {
     background: linear-gradient(60deg, #fff, #fff);
     color: #c6ae1c;
   }
   .h_sns i {
     display: block;
     width: 100%;
     margin-bottom: 8px;
     font-size: 24px;
   }
   @media screen and (min-width:960px) {
     .loop_wrap_base {
       padding:5% 0;;
     }
     .loop_wrap_base .txt {
       text-align:center;
     }
   }
   @media screen and (max-width:810px) {
     .box_cont .inner {
       display: block;
       padding: 0 5%;
     }
     .box_cont .box_c_in {
       display: flex;
       width: 100%;
     }
     .box_cont .box_c_in .photo, .box_cont .box_c_in .txt {
       width: 50%;
     }
     .box_cont .box_c_in h3 {
       margin: 15px 15px 0 15px;
     }
     .box_cont .box_c_in p {
       margin-top: 0;
       margin-bottom: 0;
     }
     .box_cont .box_c_in img {
       border-top-right-radius: 0;
     }
   }
   @media screen and (max-width:640px) {
     .h_sns {
       width: 100%;
       display: flex;
       top: auto;
       bottom: 0;
       border-radius: 0px;
       padding-right: 60px;
       background-color: #dce7e9;
     }
     .h_sns li {
       width: 33%;
     }
     .h_sns li.tel {
       display: none;
     }
     .h_sns li a {
       display: block;
       width: 100%;
       height: 60px;
       padding: 10px;
       text-align: center;
     }
     .h_sns i {
       width: auto;
       font-size: 18px;
     }
     #index_top #top_catch {
       width: 100%;
       display: block;
     }
     #index_top #top_catch h2 {
       font-size: 46px !important;
     }
     #index_top #top_catch .pre {
       font-size: 28px !important;
     }
     #index_top #top_catch h3 {
       margin-bottom: 24px;
     }
     #index_top #top_banner {
       width: 90%;
       margin: 20px auto 0;
       transform: rotate(10deg);
       z-index: -1;
     }
     #sub_top {
       padding-top: 120px;
       padding-bottom: 50px;
     }
     .box_cont {
       padding: 25px !important;
     }
     .content p {
       margin-bottom: 20px;
       margin-top: 10px;
       margin-right: 10px;
       margin-left: 10px;
     }
     .img_left, .img_right {
       float: none;
       display: block;
       margin-left: auto;
       margin-right: auto;
       padding-left: 10px;
       padding-right: 10px;
       padding-bottom: 10px;
       max-width: 100%;
     }
     .pick_up ul li {
       width: 100%;
     }
     .content .ul_news {
       max-width: 100%;
     }
     .content .ul_news li span.date {
       padding-right: 0px;
       display: block;
     }
     .obi_001 {
       /* background-image: url(../images/obi_001_sp.jpg); */
       padding-left: 20px;
       padding-right: 20px;
     }
     .obi_001 p {
       text-align: left;
       font-size: 14px;
     }
     .loop_wrap {
       width: 400%;
     }
     .box_cont .inner {
       display: block;
       padding: 0;
     }
     .box_cont .box_c_in {
       display: block;
     }
     .box_cont .box_c_in .photo, .box_cont .box_c_in .txt {
       width: 100%;
     }
     .box_cont .box_c_in h3 {
       font-size: 20px !important;
     }
     .box_cont .box_c_in img {
       border-top-right-radius: 30px;
     }
     .content .cont_wrap .txt_box {
       margin-left: 0px;
       margin-right: 0px;
     }
     footer .cont_wrap ul li a {
       text-align: left;
     }
   }
   @media screen and (max-width:460px) {
     input, textarea {
       max-width: 300px !important;
     }
     .content table.table_01 th, .content table.table_01 td {
       padding: 7px 15px;
       /* display: block; */
     }
     .content table.table_01 th {
       width: 15% !important;
       text-align: left;
     }
     #index_top #top_catch h2 {
       font-size: 30px;
     }
     #sub_top {
       font-size: 24px;
     }
     .content h2 {
       font-size: 24px;
     }
     .content .obi_001 h2 {
       font-size: 22px;
     }
   }
   /*
  エフェクト
  -------------------------------------------*/
   .effect {
     opacity: 0;
     filter: alpha(opacity=0);
     transform: translateY(20px);
     transition: 1.0s ease-out;
   }
   .effect.d_02 {
     transition-delay: 0.2s;
   }
   .effect.d_04 {
     transition-delay: 0.4s;
   }
   .effect.d_06 {
     transition-delay: 0.6s;
   }
   .effect.d_08 {
     transition-delay: 0.8s;
   }
   .effect.start {
     opacity: 1;
     filter: alpha(opacity=100);
     transform: translateY(0px);
   }
   /*------------------------------*/
   .obi_002 .box_in p a.tel {
     font-size: 24px;
     font-family: century-gothic, sans-serif;
     font-weight: 700;
     font-style: normal;
     color: #FFF;
     text-decoration: none;
     line-height: 1.2;
   }
   .obi_002 .box_in p a.tel strong {
     padding-left: 10px;
     font-size: 150%;
   }
   .content .box_att {
     margin-top: 30px;
   }
   .content .box_att h2 {
     font-weight: normal;
     font-size: 24px;
     color: #3EADBD;
     padding: 15px;
     border-bottom-color: #8ED1DB;
   }
   .content .box_att p {
     font-size: 14px;
     margin: 0px;
     color: #328B98;
   }
   /*
  FAQ
  -------------------------------------------*/
   dl.faq {
     display: block;
     margin: auto;
     width: 90%;
   }
   dl.faq dt {
     /*font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "Sawarabi Mincho", "HG明朝E",  "ＭＳ Ｐ明朝", "MS PMincho", serif; */
     font-size: 20px;
     color: #FFF;
     background-color: #278498;
     display: block;
     position: relative;
     width: 80%;
     margin-left: 20%;
     margin-bottom: 20px;
     border-radius: 20px;
     padding-top: 20px;
     padding-right: 20px;
     padding-bottom: 20px;
     padding-left: 50px;
     font-family: zen-old-mincho, sans-serif;
     font-weight: 700;
     font-style: normal;
   }
   dl.faq dt::before {
     font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ ゴシック", "MS Gothic", sans-serif;
     font-size: 24px;
     content: "Q.";
     position: absolute;
     left: 20px;
     top: 13px;
   }
   dl.faq dt::after {
     border: solid transparent;
     content: '';
     height: 0;
     width: 0;
     pointer-events: none;
     position: absolute;
     border-color: rgba(39, 132, 152, 0);
     border-top-width: 16px;
     border-bottom-width: 16px;
     border-left-width: 8px;
     border-right-width: 8px;
     border-bottom-color: #278498;
     bottom: 100%;
     right: 30px;
   }
   dl.faq dd {
     font-size: 16px;
     background-color: #FFF;
     display: block;
     position: relative;
     width: 80%;
     padding: 20px;
     margin-bottom: 50px;
     border-radius: 20px;
     box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 5px 0px;
     padding-top: 20px;
     padding-right: 20px;
     padding-bottom: 20px;
     padding-left: 50px;
   }
   dl.faq dd::after {
     border: solid transparent;
     content: '';
     height: 0;
     width: 0;
     pointer-events: none;
     position: absolute;
     border-color: rgba(255, 255, 255, 0.0);
     border-top-width: 16px;
     border-bottom-width: 16px;
     border-left-width: 8px;
     border-right-width: 8px;
     border-bottom-color: #FFFFFF;
     bottom: 100%;
     left: 30px;
   }
   dl.faq dd::before {
     font-size: 24px;
     content: "A.";
     position: absolute;
     left: 20px;
     top: 13px;
   }
   /*
  事例一覧＆ギャラリー
  -------------------------------------------*/
   .works_list {
     display: flex;
     flex-wrap: wrap;
   }
   .works_list li {
     display: block;
     width: 25%;
     padding: 20px;
   }
   .works_list li a {
     display: block;
     text-decoration: none;
     width: 100%;
     padding: 10px;
     border: 1px solid #F2F6F7;
     position: relative;
   }
   .works_list li a:hover {
     background-color: #FFF;
     border: 1px solid #DDE7EA;
   }
   .works_list li a span {
     display: block;
     color: #FFF;
     font-size: 12px;
     background-color: #36BEAD;
     position: absolute;
     top: 5px;
     left: 5px;
     z-index: 10;
     padding-top: 2px;
     padding-right: 5px;
     padding-bottom: 2px;
     padding-left: 5px;
   }
   .works_list li a span.cl_2 {
     background-color: #333333;
   }
   .works_list li a span.cl_3 {
     background-color: #FF9900;
   }
   .works_list li a img {
     width: 100%;
     height: 180px;
     object-fit: cover;
   }
   .works_list li a p {
     color: #111;
     text-align: center;
     margin: 0px;
   }
   .g_list li {
     display: block;
     float: left;
     width: 20%;
     padding: 20px;
   }
   .g_list li a {
     display: block;
     width: 100%;
     height: 150px;
     overflow: hidden;
   }
   .g_list li a img {
     width: 100%;
     height: 150px;
     object-fit: cover;
   }
   .g_list li a img:hover {
     transform: scale(1.05);
   }
   /*
  Facebook
  -------------------------------------------*/
   .content .cont_wrap .box_left {
     width: 50%;
     float: left;
     padding: 10px;
   }
   .content .cont_wrap .box_right {
     width: 50%;
     float: right;
     text-align: center;
     padding-right: 10px;
     padding-bottom: 20px;
     padding-left: 10px;
   }
   @media screen and (max-width:960px) {
     .content .cont_wrap .box_left {
       width: 100%;
       float: none;
     }
     .content .cont_wrap .box_right {
       width: 100%;
       float: none;
       overflow: hidden;
     }
     .content .cont_wrap .box_right .fb-page {
       width: 100% !important;
     }
     .works_list li {
       width: 33.33%;
     }
     .g_list li {
       width: 33.33%;
     }
   }
   /*
  ページャー
  -------------------------------------------*/
   .pager {
     padding-top: 50px;
     padding-bottom: 50px;
     clear: both;
   }
   .pager .pagination {
     text-align: center;
   }
   .pager .pagination li {
     display: inline-block;
     margin: 0 2px;
     padding: 0;
     width: 36px;
     height: 36px;
     text-align: center;
     position: relative;
   }
   .pager .pagination li a {
     vertical-align: middle;
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     text-align: center;
     display: table;
     color: #FFF;
     text-decoration: none;
     background-color: #333333;
   }
   .pager .pagination li a span {
     display: table-cell;
     vertical-align: middle;
   }
   .pager .pagination li a:hover, .pager .pagination li a.active {
     color: #000;
     background-color: #F9F9F9;
   }
   @media screen and (max-width: 767px) {
     .pager {
       padding-top: 20px;
       padding-bottom: 20px;
     }
     .pager .pagination li {
       display: none;
     }
     .pager .pagination li.pre, .pager .pagination li.next {
       display: inline-block;
       width: 40%;
       height: 40px;
       text-align: center;
     }
     .pager .pagination li.pre a, .pager .pagination li.next a {
       width: 100%;
       text-align: center;
     }
     .pager .pagination li.pre span::after {
       content: "　前の10件へ";
     }
     .pager .pagination li.next span::before {
       content: "次の10件へ　";
     }
     .works_list li {
       width: 50%;
       padding: 10px;
     }
     .g_list li {
       width: 50%;
     }
     .img_center span {
       font-size: 14px;
       padding: 5px;
     }
     .img_center div {
       font-size: 12px;
       padding: 20px;
     }
     dl.faq {
       width: 96%;
     }
     dl.faq dt {
       font-size: 18px;
       width: 90%;
       margin-left: 10%;
     }
     dl.faq dd {
       width: 90%;
     }
   }
   /* 工程
  -------------------------------------------*/
   .seisan_flow {
     width: 100vw;
     margin: -3% calc(50% - 50.5vw) 0;
     padding: 3% 6% 6%;
     background: linear-gradient(45deg, #d5623f, #e08558);
	background-repeat:no-repeat;
   }
   .seisan_flow .col {
     position: relative;
     width: 18%;
     /* padding-bottom: 100px; */
     background-color: #fff;
   }
   .seisan_flow .step {
     position: absolute;
     top: -20px;
     left: -20px;
     width: 70px;
     height: 70px;
     padding-top: 15px;
     background: #d1b786;
     /* border-radius: 35px; */
     line-height: 1;
     text-align: center;
     color: #fff;
     transform: skewX(-5deg);
   }
   .seisan_flow .step .num {
     display: block;
     width: 100%;
     font-size: 24px;
     font-family: century-gothic, sans-serif;
     font-weight: 700;
     font-style: normal;
   }
   .seisan_flow h4 {
     margin-left: 70px;
     color: #d5623f;
   }
   .seisan_flow ul.list {
     margin: 0 30px;
   }
   .seisan_flow ul.list li {
     font-weight: bold;
   }
   .seisan_flow .timing {
     position: absolute;
     bottom: 0;
     display: flex;
     min-height: 55px;
     padding: 2.5%;
     background: #e4ecf0;
     font-size: 13px;
     line-height: 1.3;
   }
   .seisan_flow .timing .check {
     display: flex;
     align-items: center;
     padding: 7px;
     background: #333;
     border-radius: 3px;
     color: #fff;
     font-family: century-gothic, sans-serif;
     font-weight: 700;
     font-style: normal;
     font-size: 11px;
     line-height: 1;
     letter-spacing: 1px;
   }
   .seisan_flow .timing .txt {
     display: flex;
     align-items: center;
     padding: 7px;
   }
   @media screen and (max-width: 960px) {
     .mekki_type > .col-2 {
       width: 100%;
     }
     .seisan_flow {
       padding-bottom: 1px;
     }
     .seisan_flow .col {
       width: 100%;
       margin-bottom: 50px;
       /* padding: 5% 2.5% 100px 2.5%; */
       padding: 5% 2.5%;
     }
     .seisan_flow .step {
       position: absolute;
       top: -20px;
       left: -10px;
     }
     .seisan_flow h4 {
       margin-top: 0px;
       margin-bottom: 20px;
     }
   }
   /*
  iframe
  -------------------------------------------*/
   #map {
     width: 100%;
     text-align: center;
   }
   .iframe {
     position: relative;
     width: 100%;
   }
   .iframe:before {
     content: "";
     display: block;
     padding-top: 65%;
   }
   .iframe iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     border: none;
   }
   /* page-header
  -------------------------------------------*/
   .page-header {
     position: relative;
     width: 95%;
     max-width: 1200px;
     margin: 0 auto;
   }
   .page-header::before {
     position: absolute;
     display: inline-block;
     content: url(../images/sub_top_shape.png);
     width: 95%;
     max-width: 1200px;
     margin-top: -2.5vw;
   }
   .page-header > ul {
     position: relative;
     display: flex;
     justify-content: center;
     z-index: 10;
	max-width:50%;
	margin:0 auto;;
	border:1px solid #e08558;
	border-radius:30px;
   }
   .page-header > ul li a {
     display: block;
     padding: 10px;
     color: #333;
     text-decoration: none;
     line-height: 1;
   }
   .page-header > ul li a:hover {
     color: #e08558;
   }
   .page-header > ul li a .material-symbols-outlined {
     display: inline-block;
     margin-right: 5px;
     color: #e08558;
     font-size: 16px;
     vertical-align: middle;
   }
   #link_1, #link_2, #link_3, #map, #form, #policy {
     padding-top: 100px;
   }
   @media screen and (max-width: 810px) {
     .page-header::before {
       display: none;
     }
     .page-header::after {
       position: absolute;
	top:0;
       display: inline-block;
       content: '';
       width: 100vw;
       height: 33.23vw;
       margin-left: -2.5%;
       background: url(../images/sub_top_shape_sp.png) no-repeat;
       background-size: contain;
       z-index: 10;
     }
     .page-header > ul {
	max-width:70%;
     }
     .page-header > ul li {
       font-size: 13px;
     }
   }
   @media screen and (max-width: 768px) {
     .page-header > ul {
       flex-wrap: wrap;
       justify-content: flex-start;
	padding-bottom:15px;
	border-top:none;
	border-right:none;
	border-left:none;
	border-radius:0;
     }
   }
   /* block
  -------------------------------------------*/
   @media screen and (min-width: 769px) {
     .pattern {
       width: 100vw;
       margin: 0 calc(50% - 50.5vw);
       background: url("../images/bg_pattern.png") no-repeat;
       background-size: auto 100%;
     }
   }
   .block .inner {
     display: flex;
     flex-wrap: wrap;
     justify-content: space-between;
     width: 100%;
     max-width: 1200px;
     margin: 0 auto;
     padding-top: 70px;
   }
   .block ul {
     margin-left: 1em;
   }
   .block.block_left .inner {
     flex-direction: row-reverse;
   }
   .block .photo {
     width: 45%;
   }
   .block .txt {
     width: 55%;
   }
   .block_right {
     width: 100vw;
     margin: 0 calc(50% - 50.5vw);
     background: url(../images/bg_block.png) repeat-y 100% 0%;
     background-size: 70%;
   }
   .block_left {
     width: 100vw;
     margin: 0 calc(50% - 50.5vw);
     background: url(../images/bg_block.png) repeat-y 0% 0%;
     background-size: 70%;
   }
   .block_right.block_1 {
     width: 100vw;
     margin: 0 calc(50% - 50.5vw);
     background: url(../images/bg_block_1.png) repeat-y 100% 0%;
     background-size: 70%;
	color:#fff;
   }
   .block_left.block_1 {
     width: 100vw;
     margin: 0 calc(50% - 50.5vw);
     background: url(../images/bg_block_1.png) repeat-y 0% 0%;
     background-size: 70%;
	color:#fff;
   }
   .block_right.block_2 {
     width: 100vw;
     margin: 0 calc(50% - 50.5vw);
     background: url(../images/bg_block_2.png) repeat-y 100% 0%;
     background-size: 70%;
	color:#fff;
   }
   .block_left.block_2 {
     width: 100vw;
     margin: 0 calc(50% - 50.5vw);
     background: url(../images/bg_block_2.png) repeat-y 0% 0%;
     background-size: 70%;
	color:#fff;
   }
   .block_left table,
   .block_right table{
	color:#111 !important;
	}
   @media screen and (max-width: 768px) {
     .block .inner {
       margin-top: 70px;
       padding-top: 0;
     }
     .block .photo {
       width: 90%;
       margin-top: -35px;
       margin-left: 5%;
     }
     .block .txt {
       width: 100%;
     }
     .block_left,
     .block_right {
       background-size: 100% !important;
     }
   }
   /* めっき加工
  -------------------------------------------*/
   .plating {
     width: 90%;
     margin: 0 auto;
   }
   .plating .explain {
     align-items: flex-start;
   }
   .plating > .seisan_flow {
     padding-top: 10%;
   }
   .plating .explain .photo {
     width: 45%;
   }
   .plating .explain .txt {
     position: relative;
     width: 60%;
     margin: 10% 0 0 -5%;
     padding: 1%;
     background: rgba(255, 255, 255, 0.95);
     border: 5px solid #e4ecf0;
   }
   .spec_group::before, .plating .explain .txt::before {
     position: absolute;
     top: -5px;
     right: -5px;
     width: 7%;
     height: 15%;
     content: "";
     display: block;
     border-right: 5px solid #a3bac8;
     border-top: 5px solid #a3bac8;
   }
   .spec_group::after, .plating .explain .txt::after {
     position: absolute;
     bottom: -5px;
     left: -5px;
     width: 7%;
     height: 15%;
     content: "";
     display: block;
     border-left: 5px solid #a3bac8;
     border-bottom: 5px solid #a3bac8;
   }
   .plating.hoop_group .seisan_flow {
     background: #008f8e;
   }
   .plating .seisan_flow .col {
     padding-bottom: 0;
   }
   .plating .seisan_flow .timing {
     position: relative;
     bottom: auto;
   }
   .plating.hoop_group .seisan_flow .step {
     background: #47b680;
   }
   .plating.hoop_group .seisan_flow .col.hosoku {
     padding-bottom: 0;
   }
   .plating .seisan_flow .hosoku .step {
     padding-top: 1.5em;
     background: #b097c1;
   }
   .plating.hoop_group .seisan_flow h4 {
     color: #47b680;
   }
   .plating .seisan_flow .hosoku h4 {
     color: #b097c1;
   }
   .plating .seisan_flow .hosoku .timing {
     flex-wrap: wrap;
     justify-content: space-between;
     margin: 15px;
     padding: 15px;
   }
   .plating.hoop_group .seisan_flow .check {
     background: #47b680;
   }
   .plating .seisan_flow .hosoku .check {
     background: #b097c1;
   }
   .plating .seisan_flow .hosoku .large {
     width: calc(100% - 3.75em);
   }
   .plating .seisan_flow .hosoku .timing .com {
     margin-top: 15px;
     line-height: 1.5;
   }
   .spec_group {
     position: relative;
     margin-bottom: 2.5vw;
     padding: 2.5vw;
     /*background-image: linear-gradient(90deg, #ec6941, #0b6db7);*/
     border: 5px solid #e4ecf0;
   }
   .spec_group .col {
     width: 16%;
     padding: 20px;
     background: #fff;
     border-bottom: 1px solid #e4ecf0;
   }
   .spec_group h3 {
     margin: 0;
     padding: 0;
     color: #333;
     font-size: 16px;
   }
   .spec_group h3::after {
     display: none;
   }
   .spec_group .photo {
     margin: 15px 0;
   }
   .spec_group dl {
     font-size: 14px;
     line-height: 1.7;
     letter-spacing: 1px;
   }
   .spec_group dt {
     display: inline-block;
     margin-bottom: 7px;
     padding: 7px;
     background: #a3bac8;
     border-radius: 3px;
     color: #fff;
     font-family: century-gothic, sans-serif;
     font-weight: 700;
     font-style: normal;
     font-size: 11px;
     line-height: 1;
   }
   .image_gaiyo {
     width: 100%;
     max-width: 750px;
     margin: 0 auto;
     text-align: center;
   }
   .combination {
     display: none;
     position: relative;
     width: 100%;
     background: #fff;
   }
   .combination table {
     width: 90%;
     margin: 5% auto;
   }
   .combination td {
     width: calc(100% / 7);
     border: 1px dotted #888;
     padding: 12px;
   }
   .combination td:nth-of-type(3), .combination td:nth-of-type(4), .combination td:nth-of-type(5), .combination td:nth-of-type(6), .combination td:nth-of-type(7) {
     text-align: center;
   }
   .combination th {
     border: 1px dotted #888;
     padding: 12px;
     letter-spacing: 1px;
     background: #eff3f9;
   }
   @media screen and (max-width: 959px) {
     .plating .explain .photo {
       width: 100%;
     }
     .plating .explain .txt {
       width: 100%;
       margin: 0;
       padding: 5%;
     }
     .spec_group::before, .spec_group::after, .plating .explain .txt::before, .plating .explain .txt::after {
       width: 10vw;
       height: 7vw;
     }
     .plating .seisan_flow .col {
       padding: 5% 2.5%;
     }
     .plating.hoop_group .seisan_flow .col.hosoku {
       padding: 0;
     }
     .spec_group .col {
       width: 100%;
       margin-bottom: 2%;
     }
   }