@charset "UTF-8";

/* ====================================================
専用
==================================================== */
.bl_flowList {
  counter-reset:number; /*数字をリセット*/
  list-style-type: none!important; /*数字を一旦消す*/
  padding: 0.3em;
  /* border: solid 3px #209F20; */
}
.bl_flowList > li {
  border-bottom: dashed 1px #209F20;
  position: relative;
  padding: 0.5em 0.5em 0.5em 40px;
  line-height: 1.5em;
}
.bl_flowList > li:before{
    /* 以下数字をつける */
    position: absolute;
    counter-increment: number;
    content: counter(number);
    display:inline-block;
    background: #209F20;
    color: white;
    font-family: 'Avenir','Arial Black','Arial',sans-serif;
    font-weight:bold;
    font-size: 15px;
    border-radius: 50%;
    left: 0;
    width: 25px;
    height: 25px;
    line-height: 25px;
    text-align: center;
    /*以下 上下中央寄せのため*/
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.bl_flowList._alpha > li::before {
  content: counter(number, upper-alpha);
}
.bl_flowList._number_top > li {
  padding-top: 0.8em;
  padding-bottom: 0.8em;
}
.bl_flowList._number_top ul.disc{
  margin: 0;
}
.bl_flowList._number_top ul.disc > li {
  margin-top: 0;
}
.bl_flowList._number_top > li::before {
  top:26px;
}

@media (max-width:900px) {
  .bl_flowList._number_top > li::before {
    top:25px;
  }
}

.bl_flowList_ttl {
  line-height: 1.4;
  font-size: 20px;
  font-weight: bold;
  padding: 0;
  margin: 0 0 0.7em;
}

/* .bl_flowList li:last-of-type {
border-bottom: none;
} */


/*  */
.page_title{
  display: flex;
  justify-content: center;
  align-items: center;
  height: 150px;
  padding: 0 10px;
  margin-bottom:40px;
  border-bottom:1px solid #ddd;
  color: #665e26;
  background: url(../img/title_bg.jpg) center center;
}
.page_title .title{
  margin:0;
  font-size: 36px;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}
.page_title .title::before,
.page_title .title::after{
  content: "";
  display: block;
  width: 30px;
  height: 2px;
  background: #d5a035;
}
.page_title .title::before{margin-right:.6em;}
.page_title .title::after{margin-left:.6em;}
@media (max-width:900px) {
  .page_title{height:120px;}
  .page_title .title{font-size:27px;}
  .page_title .title::before,
  .page_title .title::after{width: 18px;}
}


.ptit {
  background: url(../img/center/ec_sakuhin.jpg) no-repeat left center;
  height: 100px;
  line-height: 115px;
  padding-left: 130px;
  color: #274F00;
  font-size: 28px;
  text-shadow: 2px 2px #ffffff;
  font-weight: normal;
  font-weight: bold;
}
@media (max-width:770px) {
  .ptit {
  padding: 15px;
  font-size: 25px;
  line-height: 120%;
  height: auto;  
  }
}

/* キャッチ */
.catch {
  padding: 0.5em 32px;
  margin: 0 auto 0.5em;
  text-align: center;
  width: 770px;
  max-width: 100%;
  position: relative;
  font-size: 25px;
  line-height: 140%;
  font-weight: bold;
}

.catch.wAuto {
  width: auto;
}

.catch::before, .catch::after {
  font-size: 62px;
  line-height: 100%;
  color: #AEBF5F;
  position: absolute;
  top: 35%;
}

.catch::before {
  content: "“";
  left: 0;
}
.catch:after {
  content: "”";
  right: 0;
}

@media (max-width:900px) {
  .catch {
    font-size: 20px;
  }
}

.bl_box {
  padding: 15px;
  background: #eee;
  box-shadow: -4px -4px 16px rgb(255 255 255 / 80%) inset;
}

.bl_box__red {
  background: #f0e8e8;
  border: 1px solid #E4B8B8;
}
.bl_box__lBlue {
  background: #EFFFFF;
  border: 1px solid #C3D8DF;
}

.bl_box__lGreen {
  background: #e0efd1;
  border: 1px solid #c4dfc3;
}

.bl_box__yellow {
  background: #FFFFB3;
  border: 1px solid #E3D28E;
}

.bl_box > *:last-child {
  margin-bottom: 0;
}
/* ====================================================
ページレイアウト
   ==================================================== */

/* main（IE対応） */
main { display: block;}

/* コンテンツ（レイアウト用） */
.ly_cont {
  max-width: 1160px;
  padding: 60px 15px 0;
  margin-right: auto;
  margin-left: auto;
  box-sizing: border-box;
}

section > .ly_cont,
.ly_cont_wrapper > .ly_cont {
  padding-top: 0 !important;
}

.ly_cont > .bl_cont:first-child {
  padding-top: 0;
}



.ly_narrow {
  max-width: 960px;
  margin-right: auto;
  margin-left: auto;
}

.ly_narrow_more {
  max-width: 760px;
  margin-right: auto;
  margin-left: auto;
}

/* counter */
.counter__r {
  counter-reset: number 0;
}

/* マップエリア */
.bl_mapArea {
  margin-bottom: 2em;
}

.bl_mapArea iframe {
  vertical-align: bottom;
  width: 100%;
}

/* ====================================================
flexbox
======================================================= */

/* flexbox */
.bl_flex_container {
  display: flex;
}

.bl_flex_item figcaption {
  padding-top: 10px;
}

/* flex cl2 */
.cl_2 {
  display: flex;
  flex-wrap: wrap;
  margin-right: -17px;
  margin-left: -17px;
  margin-top:-20px;
}
.cl_2 .bl_flex_item {
  width: calc(100%/2);
  position: relative;
  padding: 0 17px;
  margin-top: 20px;
}

.cl_2 .cl_2_body {
  padding-top: 15px;
}
@media (max-width:900px) {
  .cl_2 {
    display: block;
  }
  .cl_2 .bl_flex_item {
    width: 100%;
  }
}

/* flex cl3 */
.cl_3 {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
  margin-top:-20px;
}
.cl_3 .bl_flex_item {
  width: calc(100%/3);
  position: relative;
  padding: 0 15px;
  margin-top: 20px;
}

.cl_3 .cl_3_body {
  padding-top: 15px;
}
@media (max-width:900px) {
  .cl_3 {
    display: block;
  }
  .cl_3 .bl_flex_item {
    width: 100%;
    max-width: 100%;
    margin: 0 auto 20px;
  }
  .cl_3 .bl_flex_item figure {
    width: 500px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}

/* flex cl4 */
.cl_4 {
  display: flex;
  flex-wrap: wrap;
  margin-right: -10px;
  margin-left: -10px;
  margin-top:-20px;
}
.cl_4 .bl_flex_item {
  width: calc(100%/4);
  position: relative;
  padding: 0 10px;
  margin-top: 20px;
}

.cl_4 .cl_4_body {
  padding-top: 15px;
}
@media (max-width:900px) {
  .cl_4 {
    display: block;
  }
  .cl_4 .bl_flex_item {
    width: 100%;
    max-width: 100%;
    margin: 0 auto 30px;
  }
  .cl_4 .bl_flex_item figure, .cl_4 figure.bl_flex_item {
    width: 500px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}

/* flex cl5 */
.cl_5 {
  display: flex;
  flex-wrap: wrap;
  margin-right: -10px;
  margin-left: -10px;
  margin-top:-20px;
}
.cl_5 .bl_flex_item {
  width: calc(100%/5);
  position: relative;
  padding: 0 10px;
  margin-top: 20px;
}

.cl_5 .cl_5_body {
  padding-top: 15px;
}
@media (max-width:900px) {
  .cl_5 {
    display: block;
  }
  .cl_5 .bl_flex_item {
    width: 100%;
    max-width: 100%;
    margin: 0 auto 30px;
  }
  .cl_5 .bl_flex_item figure, .cl_5 figure.bl_flex_item {
    width: 500px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}


@media (max-width:900px) {
  /* mdの時 カラム2 */  
  .md_cl_2 {
    display: flex !important;
    flex-wrap: wrap !important;
    margin-right: -7px;
    margin-left: -7px;
  }
  .md_cl_2 .bl_flex_item {
    width: calc(100%/2) !important;
    position: relative;
    padding: 0 7px ;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .md_cl_2 .bl_flex_item img {
    width: 450px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

  /* mdの時 カラム3 */
  .md_cl_3 {
    display: flex !important;
    flex-wrap: wrap !important;
    margin-right: -10px;
    margin-left: -10px;
  }
  .md_cl_3 .bl_flex_item {
    width: calc(100%/3) !important;
    position: relative;
    padding: 0 10px ;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .md_cl_2 .bl_flex_item img {
    width: 450px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

  .bl_flex_item figcaption {
    padding-top: 10px !important;
  }
}

/* 非常時 */
.cl_2.cl_2_firstLong .bl_flex_item:first-child {
  flex:1;
}
.cl_2.cl_2_firstLong .bl_flex_item:nth-child(2) {
  width: 40%;
}
/* ====================================================
モジュール
==================================================== */

/* コンテンツエリア */
.bl_cont {
padding-top: 30px;
padding-bottom: 30px;
margin-right: auto;
margin-left: auto;
}

/* h2+narrow直下の時padding-topをなくす */
h2 + .ly_narrow > .bl_cont:first-child, h2 + .bl_cont {
  padding-top: 0;
}

/* メディア */
.bl_media {
  display: flex;
  align-items: center;
}

.bl_media_imgWrapper {
  flex: 0 1 27.58333%;
  margin: 0 3.33333% 0 0;
}
.bl_media_imgWrapper.bl_media_card {
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
  background-color: #fff;
  padding: 10px
}

.bl_media_imgWrapper  img {
  display:block;
  max-width:100%;
  margin-left:auto;
  margin-right:auto; 
}
.bl_media_imgWrapper figcaption {
  padding-top: 15px;
}

.bl_media_body {
  flex: 1;
}

.bl_media_body > *:last-child {
  margin-bottom: 0;
}

.bl_media_ttl {
  margin-bottom: 10px;
  font-size: 1.125rem;
  font-weight: bold;
  margin-top: 0;
}

.bl_media_txt {
  margin-top: 0;
}

@media screen and (max-width: 900px) {
  .bl_media {
    display: block;
  }

  .bl_media_imgWrapper {
    margin-right: 0;
    margin-bottom: 20px;
  }
}

/* メディア　逆位置 */
.bl_media.bl_media__rev {
  flex-direction: row-reverse;
}

.bl_media__rev .bl_media_imgWrapper {
  margin-right: 0;
}

.bl_media__rev .bl_media_body {
  margin-right: 3.33333%;
}

@media screen and (max-width: 900px) {
  .bl_media__rev .bl_media_body {
    margin-right: 0;
  }
}

/* メディア 画像半分サイズ */
.bl_halfMedia {
  display: flex;
  align-items: center;
}

.bl_halfMedia_imgWrapper {
  flex: 0 1 48.33333%;
  margin: 0 3.33333% 0 0;
}

.bl_halfMedia_imgWrapper.bl_halfMedia_card {
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
  background-color: #fff;
  padding: 10px
}

.bl_halfMedia_imgWrapper figcaption {
  padding-top: 15px;
}

.bl_halfMedia_imgWrapper img {
  display:block;
  max-width:100%;
  margin-left:auto;
  margin-right:auto; 
}

.bl_halfMedia_body {
  flex: 1;
}

.bl_halfMedia_body > *:last-child {
  margin-bottom: 0;
}

.bl_halfMedia_ttl {
  margin-bottom: 10px;
  font-size: 1.125rem;
  font-weight: bold;
  margin-top: 0;
}

.bl_halfMedia_txt {
  margin-top: 0;
}

.bl_halfMedia.bl_halfMedia__rev {
  flex-direction: row-reverse;
}

.bl_halfMedia__rev .bl_halfMedia_imgWrapper {
  margin-right: 0;
}

.bl_halfMedia__rev .bl_halfMedia_body {
  margin-right: 3.33333%;
}

@media screen and (max-width: 900px) {
  .bl_halfMedia__rev .bl_halfMedia_body {
    margin-right: 0;
  }
}

@media screen and (max-width: 900px) {
  .bl_halfMedia {
    display: block;
  }
  .bl_halfMedia.md_w600 {
    width: 600px;
    max-width: 100%;
    margin: 0 auto 20px;
  }
  /* figureの縮小 */
  .bl_halfMedia_imgWrapper {
    margin: 0 auto 20px;
  }
}
/* メディア 画像37%サイズ */
.bl_middleMedia {
  display: flex;
  align-items: center;
}

.bl_middleMedia_imgWrapper {
  flex: 0 1 37.33333%;
  margin: 0 3.33333% 0 0;
}

.bl_middleMedia_imgWrapper img {
  display:block;
  max-width:100%;
  margin-left:auto;
  margin-right:auto; 
}

.bl_middleMedia_imgWrapper.bl_middleMedia_card {
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
  background-color: #fff;
  padding: 10px
}

.bl_middleMedia_body {
  flex: 1;
}

.bl_middleMedia_body > *:last-child {
  margin-bottom: 0;
}

.bl_middleMedia_ttl {
  margin-bottom: 10px;
  font-size: 1.125rem;
  font-weight: bold;
  margin-top: 0;
}

.bl_middleMedia_txt {
  margin-top: 0;
}

.bl_middleMedia.bl_middleMedia__rev {
  flex-direction: row-reverse;
}

.bl_middleMedia__rev .bl_middleMedia_imgWrapper {
  margin-right: 0;
}

.bl_middleMedia__rev .bl_middleMedia_body {
  margin-right: 3.33333%;
}

@media screen and (max-width: 900px) {
  .bl_middleMedia__rev .bl_middleMedia_body {
    margin-right: 0;
  }
}

@media screen and (max-width: 900px) {
  .bl_middleMedia {
    display: block;
  }
  .bl_middleMedia.md_w600 {
    width: 600px;
    max-width: 100%;
    margin: 0 auto 20px;
  }

  /* figureの縮小 */
  .bl_middleMedia_imgWrapper {
    margin: 0 auto 20px;
  }
}

/* 市松レイアウト （モバイルファースト） */
.bl_alternate {
  display: flex;
  flex-direction: column;
}
.bl_alternate_body {
  padding: 30px 20px ;
  background-color: #F7F7F1;
}

a.bl_alternate {
  text-decoration: none;
}
.bl_alternate_ttl {
  text-align: center;
  font-size: 18px;
  letter-spacing: 0.1em;
}

.bl_alternate_sttl {
  display: block;
  font-size: 10px;
}

.bl_alternate_txt {
  margin-top: 20px;
  line-height: 1.7;
}

.bl_alternate_txt > *:last-child {
  margin-bottom: 0;
}

.bl_alternate_thumb {
  position:relative;
}

.bl_alternate_thumb img {
  max-width: none;
  width: 100%;
}

.bl_alternate_btn {
  display: inline-block;
  position: relative;
  width: 300px;
  max-width: 100%;
  padding: 10px 20px;
  background-color: #fff;

  color: #003caa;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  line-height: 1.4;
}
.bl_alternate_btn.bl_alternate_btn__round {
  border-radius: 2em;
}

.bl_alternate_btn__arrowRight::after {
  content: '\f054';
  position: absolute;
  top: 50%;
  right: .83em;
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media screen and (min-width: 900px) {
  .bl_alternate {
    flex-direction: row;
  }
  .bl_alternate.bl_alternate__rev {
    flex-direction: row-reverse;
  }
  .bl_alternate_body {
    width: 50%;
    padding: 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .bl_alternate_thumb {
    width: 50%;
  }
  .bl_alternate_thumb img {
    height: 100%;
    object-fit: cover;
  }
}


/* 背景重ねる、のばす */
.bl_alternate__bgLap .bl_alternate_thumb::after , .bl_alternate__bgOver .bl_alternate_thumb::after {
  position: absolute;
  top: -15px;
  z-index: -1;
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: #FFBF00;
}
.bl_alternate.bl_alternate__bgLap .bl_alternate_thumb::after , .bl_alternate.bl_alternate__bgOver .bl_alternate_thumb::after {
  right: 15px;
}
.bl_alternate.bl_alternate__rev.bl_alternate__bgLap .bl_alternate_thumb::after, .bl_alternate.bl_alternate__rev.bl_alternate__bgOver .bl_alternate_thumb::after {
  left: 15px;
}

@media screen and (min-width: 900px) {
  .bl_alternate__bgLap .bl_alternate_thumb::after , .bl_alternate__bgOver .bl_alternate_thumb::after {
    top: -30px;
  }
  .bl_alternate.bl_alternate__bgOver .bl_alternate_thumb::after {
    right: 50px;
    width: 50vw;
  }
  .bl_alternate.bl_alternate__rev.bl_alternate__bgOver .bl_alternate_thumb::after {
    left: 50px;
    width: 50vw;
  }
}

.bl_alternate__bgLap .bl_alternate_body , .bl_alternate__bgOver .bl_alternate_body {
  background-color: transparent;
}


/* メールフォーム */
.bl_mailForm_table {
  width: 100%;
}

.bl_mailForm_table tr {
  border-bottom: 1px solid rgba(0, 0, 0, .2);
}

.bl_mailForm_table tr:first-child {
  border-top: 1px solid rgba(0, 0, 0, .2);
}

.bl_mailForm_table th {
  padding: 0.7em;
  border: none;
  background: inherit;
  vertical-align: top;
}

.bl_mailForm_table td {
  padding: 0.7em;
  border: none;
  background: inherit;
  vertical-align: top;
}

/* --------------------------------------------
card
-----------------------------------------------*/
.bl_card {
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
}

.bl_card_imgWrapper {
  position: relative;
  padding-top: 56.25%;
  overflow: hidden;
  margin: 0;
}

.bl_card_imgWrapper > img {
  position: absolute;
  top: 50%;
  width: 100%;
  transform: translateY(-50%);
}

.bl_card_body {
  padding: 15px;
}

.bl_card_body > *:last-child {
  margin-bottom: 0;
}

.bl_card_ttl {
  margin-bottom: 5px;
  font-size: 1.125rem;
  font-weight: bold;
  margin-top: 0;
}

.bl_card_txt {
  color: #777;
  margin-top: 0;
}

a.bl_card {
  display: block;
  color: currentColor;
  text-decoration: none;
  transition: .25s;
}

a.bl_card .bl_card_ttl,
a.bl_card .bl_card_txt {
  transition: .25s;
}

a.bl_card:focus,
a.bl_card:hover {
  opacity: .75;
}

a.bl_card:focus .bl_card_ttl,
a.bl_card:focus .bl_card_txt,
a.bl_card:hover .bl_card_ttl,
a.bl_card:hover .bl_card_txt {
  color: #00A73C;
  text-decoration: underline;
}

/* 3カラム */
.bl_cardUnit {
  display: flex;
  flex-wrap: wrap;
}

.bl_cardUnit.bl_cardUnit__col3 {
  margin-bottom: -30px;
}

.bl_cardUnit__col3 > .bl_card {
  width: 31.707%;
  margin-right: 2.43902%;
  margin-bottom: 30px;
}

.bl_cardUnit__col3 > .bl_card:nth-child(3n) {
  margin-right: 0;
}

/* 4カラム */
.bl_cardUnit.bl_cardUnit__col4 {
  margin-bottom: -20px;
}

.bl_cardUnit__col4 > .bl_card {
  width:  23.78%;
  margin-right: 1.62602%;
  margin-bottom: 20px;
}

.bl_cardUnit__col4 > .bl_card:nth-child(4n) {
  margin-right: 0;
}

@media (max-width: 768px) {
  .bl_cardUnit.bl_cardUnit__col3 {
    margin-bottom: -20px;
  }

  .bl_cardUnit > .bl_card {
    width: 100%;
    margin-right: 0;
    margin-bottom: 20px;
  }
  
}

/* --------------------------------------------
テーブル水平
-----------------------------------------------*/


.bl_horizTable table {
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid #ddd;
  border-right: 1px solid #ddd;
}

.bl_horizTable th {
  width: 20%;
  padding: 10px 15px;
  background-color: #F5F7F4;
  border-left: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  font-weight: bold;
  vertical-align: middle;
}

.bl_horizTable thead th {
  background-color: #edf3ea;
}

.bl_horizTable td {
  padding: 10px 15px;
  border-left: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  vertical-align: middle;
}


.bl_horizTable.bl_horizTable_prl0_5em th,
.bl_horizTable.bl_horizTable_prl0_5em td {
  padding: 5px 10px;
}



@media screen and (max-width: 900px) {
  .bl_horizTable.bl_horizTable_blockType{
    border: none;
  }
  .bl_horizTable.bl_horizTable_blockType th,
  .bl_horizTable.bl_horizTable_blockType td {
    width: 100%;
    display: block;
    border-left: none;
    border-bottom: none;
  }

  .bl_horizTable.bl_horizTable__mdScroll {
    border-right-width: 0;
    overflow-x: auto;
  }

  .bl_horizTable.bl_horizTable__mdScroll th,
.bl_horizTable.bl_horizTable__mdScroll td {
    white-space: nowrap;
  }

  .bl_horizTable.bl_horizTable__mdScroll td {
    border-right: 1px solid #ddd;
  }
}

/* --------------------------------------------
クロステーブル
-----------------------------------------------*/
.bl_crossTable {
  border: 1px solid #ddd;
}

.bl_crossTable table {
  width: 100%;
  text-align: center;
  table-layout: fixed;
  border-collapse: collapse;
}

.bl_crossTable th {
  padding: 15px;
  background-color: #F5F7F4;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  font-weight: bold;
  vertical-align: middle;
}

.bl_crossTable td {
  padding: 15px;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  vertical-align: middle;
}

.bl_crossTable th:last-child,
.bl_crossTable td:last-child {
  border-right-width: 0;
}

.bl_crossTable tbody tr:last-child th,
.bl_crossTable tbody tr:last-child td {
  border-bottom-width: 0;
}

@media screen and (max-width: 900px) {
  .bl_crossTable {
    border-right-width: 0;
    overflow-x: auto;
  }

  .bl_crossTable table {
    width: auto;
    min-width: 100%;
  }

  .bl_crossTable th,
.bl_crossTable td {
    white-space: nowrap;
  }

  .bl_crossTable th:last-child,
.bl_crossTable td:last-child {
    border-right-width: 1px;
  }

  .bl_crossTable_mdSticky {
    position: -webkit-sticky;
    position: sticky;
    left: 0;
  }
}

/* --------------------------------------------
垂直テーブル
-----------------------------------------------*/
.bl_vertTable {
  border: 1px solid #ddd;
}

.bl_vertTable table {
  width: 100%;
  text-align: center;
  table-layout: fixed;
  border-collapse: collapse;
}

.bl_vertTable thead tr {
  background-color: #efefef;
}

.bl_vertTable th {
  padding: 15px;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  background: #EFEFEF;
  font-weight: bold;
  vertical-align: middle;
}

.bl_vertTable td {
  padding: 15px;
  background: #fff;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  vertical-align: middle;
}

.bl_vertTable th:last-child,
.bl_vertTable td:last-child {
  border-right-width: 0;
}

.bl_vertTable tbody tr:last-child td {
  border-bottom-width: 0;
}

@media screen and (max-width: 900px) {
  .bl_vertTable {
    border-right-width: 0;
    overflow-x: auto;
  }

  .bl_vertTable table {
    width: auto;
    min-width: 100%;
  }

  .bl_vertTable th,
.bl_vertTable td {
    white-space: nowrap;
  }

  .bl_vertTable th:last-child,
.bl_vertTable td:last-child {
    border-right-width: 1px;
  }
}

/* --------------------------------------------
リスト
-----------------------------------------------*/
.bl_orderList {
  counter-reset: bl_orderList;
}

.bl_orderList > *:last-child {
  margin-bottom: 0;
}

.bl_orderList > li {
  position: relative;
  padding-left: 1em;
  margin-bottom: 10px;
}

.bl_orderList > li::before {
  content: counter(bl_orderList) '. ';
  position: absolute;
  top: 0;
  left: 0;
  color: #000;
  font-weight: bold;
  counter-increment: bl_orderList;
}
/* ====================================================
header
   ==================================================== */
.ly_header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  -webkit-transition: .6s;
  transition: .6s;
  z-index: 5000;
  padding-top: 5px;
  background: #fff;
}

.ly_header_inner {
  max-width: 1230px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 900px) {
  .ly_header_inner {
    padding-left: 10px;
    padding-right: 10px;
  }
}

.bl_headerUtils {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: 10px;
  margin-bottom: 10px;
}

@media (max-width: 900px) {
  .bl_headerUtils {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.bl_headerUtils_before {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.bl_headerUtils_before_company {
  font-weight: bold;
}

.bl_headerUtils_before_nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  border-left: 1px solid #ccc;
}

.bl_headerUtils_before_nav_item {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  text-align: center;
}

.bl_headerUtils_before_nav_link {
  position: relative;
  display: block;
  padding: 0 15px;
  border-right: 1px solid #ccc;
  border-bottom: 2px solid transparent;
  color: #222;
  font-size: 0.875rem;
  font-weight: bold;
  text-decoration: none;
  -webkit-transition: .25s;
  transition: .25s;
}

.bl_headerUtils_before_nav_link:focus, .bl_headerUtils_before_nav_link:hover {
  background: rgba(0, 0, 0, 0.1);
}

.bl_headerUtils_logo {
  width: 280px;
}

.bl_headerUtils_logo a {
  -webkit-transition: .25s;
  transition: .25s;
}

.bl_headerUtils_logo a:focus, .bl_headerUtils_logo a:hover {
  opacity: 0.7;
}

@media (max-width: 900px) {
  .bl_headerUtils_logo {
    max-width: 50%;
  }
}

.bl_headerUtils_top_right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media (max-width: 900px) {
  .bl_headerUtils_top_right img {
    width: 45px;
    max-width: 100%;
    max-height: auto;
  }
}

.bl_headerUtils .el_btn {
  width: 180px;
  padding: 10px;
  font-size: 0.875rem;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.bl_headerNav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

ul.bl_headerNav.md_only{
  overflow: auto;
}

.bl_headerNav_logo {
  width: 23%;
  margin-right: 2%;
  position: relative;
  top: -20px;
}

.bl_headerNav_logo a {
  -webkit-transition: .25s;
  transition: .25s;
}

.bl_headerNav_logo a:hover {
  opacity: 0.7;
}

.bl_headerNav_logo img {
  max-height: 100px;
}

.bl_headerNav_item {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  text-align: center;
}

.bl_headerNav:last-child.bl_headerNav_link::after {
  content: none;
}

.bl_headerNav_link {
  position: relative;
  display: block;
  padding: 10px 2% 30px;
  border-bottom: 4px solid transparent;
  color: #222;
  font-size: 14px;
  font-weight: bold;
  text-decoration: none;
  -webkit-transition: .25s;
  transition: .25s;
}

.bl_headerNav_link:focus, .bl_headerNav_link:hover {
  border-bottom-color: #7eb201;
}

.bl_headerNav_HM {
  height: 60px;
}

.bl_headerNav_HM:focus, .bl_headerNav_HM:hover {
  content: none;
}



/* ====================================================
footer
   ==================================================== */
  .ly_footer {
  padding-top: 20px;
  padding-bottom: 20px;
  background-color: #E7ECE3;
}

.ly_footer.banner_bg {
  background-color: #F5F7F4;
}

.ly_footer.copyRight_bg {
  background-color: #019700;
}

.ly_footer_inner {
  max-width: 1230px;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.ly_footer .bl_banner {
  background-color: #F5F7F4;
  padding: 35px 20px;

  margin-right: auto;
  margin-left: auto;
  max-width: 800px;
}



.ly_footer.Companyinfo_bg {
  background-color: #fff;
}

.ly_footer.Companyinfo_bg .bl_Companyinfo {
  background-color: #fff;
  padding: 60px 20px;
  text-align: center;
}

.ly_footer.Companyinfo_bg .bl_Companyinfo_caption {
  padding: 10px 0;
}

.ly_footer.Companyinfo_bg .bl_Companyinfo_name {
  padding: 15px 0;
  font-size: 1.7rem;
  font-weight: bold;
}

/* フッターナビゲーション */
.bl_footerNav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  padding-left: 0;
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 40px;
  padding-bottom: 40px;
  font-size: 14px;
  list-style-type: none;
}

@media (max-width: 900px) {
  .bl_footerNav {
    display: block;
    font-size: 16px;
  }
}

.bl_footerNav_item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border-right: 1px solid #ccc;
}

.bl_footerNav_item > *:last-child {
  margin-bottom: 0;
}

.bl_footerNav_item:last-child .bl_footerNav_link::after {
  content: none;
}

.bl_footerNav_item:last-child {
  border-right: none;
}

@media (max-width: 900px) {
  .bl_footerNav_item {
    border-right: none;
  }
}

.bl_footerNavChild_item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

@media (max-width: 900px) {
  .bl_footerNavChild_item {
    font-size: 16px;
  }
}

.bl_footerNavChild_item > *:last-child {
  margin-bottom: 0;
}

.bl_footerNavChild_item:last-child .bl_footerNav_link::after {
  content: none;
}

.bl_footerNav_link {
  position: relative;
  display: block;
  padding-left: 15px;
  padding-right: 15px;
  padding-top: 5px;
  padding-bottom: 5px;
  margin-bottom: 5px;
  font-weight: bold;
  color: #222;
  text-decoration: none;
}

.bl_footerNav_link:focus,.bl_footerNav_link:hover {
  text-decoration: underline;
}

@media (max-width: 900px) {
  .bl_footerNav_link {
    padding: 10px 20px;
  }
}

/* フッターナビゲーション（リスト子要素） */
.bl_footerChildNav {
  padding-left: 0;
  text-align: left;
}

.bl_footerChildNav_item {
  margin-bottom: 5px;
  line-height: 1.4;
  padding-left: 2.3em;
  text-indent: -1.3em;
  padding-right: 15px;
}

.bl_footerChildNav_item::before {
  content: '・';
}

.bl_footerChildNav_link {
  color: #444;
  font-size: 12px;
  text-decoration: none;
}

.bl_footerChildNav_link:focus, .bl_footerChildNav_link:hover {
  text-decoration: underline;
}

@media (max-width: 900px) {
  .bl_footerChildNav_link {
    font-size: 14px;
  }
}
