@charset "UTF-8";



:root {
  --main-color: #065497;
  --main-light-color: #f1f9ff;
}


/* レイアウト
-------------------------------------------------- */

/* margin */
.m60 {
  margin-right: -30px;
  margin-left: -30px; }

.m60 > * {
  padding-right: 30px;
  padding-left: 30px; }

.m50 {
  margin-right: -25px;
  margin-left: -25px; }

.m50 > * {
  padding-right: 25px;
  padding-left: 25px; }

.m40 {
  margin-right: -20px;
  margin-left: -20px; }

.m40 > * {
  padding-right: 20px;
  padding-left: 20px;}
.m30 {
  margin-right: -15px;
  margin-left: -15px; }

.m30 > * {
  padding-right: 15px;
  padding-left: 15px; }

.m20 {
  margin-right: -10px;
  margin-left: -10px; }

.m20 > * {
  padding-right: 10px;
  padding-left: 10px; }

.m10 {
  margin-right: -5px;
  margin-left: -5px; }

.m10 > * {
  padding-right: 5px;
  padding-left: 5px; }

@media screen and (max-width: 960px) {
  .m60, .m50 {
    margin-right: -15px;
    margin-left: -15px; }

  .m60 > *, .m50 > * {
    padding-right: 15px;
    padding-left: 15px; }

  .m40, .m30 {
    margin-right: -10px;
    margin-left: -10px; }

  .m40 > *, .m30 > * {
    padding-right: 10px;
    padding-left: 10px; }

  .m20 {
    margin-right: -5px;
    margin-left: -5px; }

  .m20 > * {
    padding-right: 5px;
    padding-left: 5px; } }


/* column */
.__col1 {
  width: 8.3333%; }

.__col2 {
  width: 16.6666%; }

.__col3 {
  width: 25%; }

.__col4 {
  width: 33.33%; }

.__col5 {
  width: 41.6666%; }

.__col6 {
  width: 50%; }

.__col7 {
  width: 58.3333%; }

.__col8 {
  width: 66.67%; }

.__col9 {
  width: 75%; }

.__col10 {
  width: 83.3333%; }

.__col11 {
  width: 91.6666%; }

.__col12 {
  width: 100%; }

.__col_d5 {
  width: 20%; }

.__col_d10 {
  width: 10%; }

@media screen and (max-width: 960px) {
  /*  .__col1,.__col2, .__col3, .__col4, .__col5, .__col6, .__col7, .__col8, .__col9, .__col10,.__col_d5,.__col_d10 {
      width: 100%;
    }*/
  .__col1-tab {
    width: 8.3333%; }

  .__col2-tab {
    width: 16.6666%; }

  .__col3-tab {
    width: 25%; }

  .__col4-tab {
    width: 33.33%; }

  .__col5-tab {
    width: 41.6666%; }

  .__col6-tab {
    width: 50%; }

  .__col7-tab {
    width: 58.3333%; }

  .__col8-tab {
    width: 66.67%; }

  .__col9-tab {
    width: 75%; }

  .__col10-tab {
    width: 83.3333%; }

  .__col11-tab {
    width: 91.6666%; }

  .__col12-tab {
    width: 100%; } }
@media screen and (max-width: 560px) {
  .__col1, .__col2, .__col3, .__col4, .__col5, .__col6, .__col7, .__col8, .__col9, .__col10, .__col11, .__col_d5, .__col_d10 {
    width: 100%; }

  .__col1-sp {
    width: 8.3333%; }

  .__col2-sp {
    width: 16.6666%; }

  .__col3-sp {
    width: 25%; }

  .__col4-sp {
    width: 33.33%; }

  .__col5-sp {
    width: 41.6666%; }

  .__col6-sp {
    width: 50%; }

  .__col7-sp {
    width: 58.3333%; }

  .__col8-sp {
    width: 66.67%; }

  .__col9-sp {
    width: 75%; }

  .__col10-sp {
    width: 83.3333%; }

  .__col11-sp {
    width: 91.6666%; }

  .__col12-sp {
    width: 100%; } }

/* flexbox */
.flex {
  display: flex;
  flex-wrap: wrap; }

.flex.column {
  flex-direction: column; }

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

.flex.center {
  align-items: center; }

.flex.space {
  justify-content: space-between; }

.flex > * {
  margin-bottom: 20px; }

.flex > *:last-child {
  margin-bottom: inherit; }

@media screen and (max-width: 560px) {
  .flex {
    flex-direction: column; }

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

  .flex.row-sp {
    flex-direction: row; }

  .flex > * + * {
    margin-top: 0px; } }
/*


/* 見出し
-------------------------------------------------- */

.related h2{
    font-size: 32px;
    color: #fff;
    padding: 10px 20px;
}


.product-h1 {
    font-size: 35px;
    color: #444;
    letter-spacing: -2px;
    text-align: center;
    }
    @media (max-width: 767px) {
        .product-h1 {
            font-size: 1.6em;
        }
    }

.product-h2 {
    margin-top: 30px;
    margin-bottom: 60px;
    border-left: 8px solid var(--main-color);
    border-bottom-width: 1px;
    padding: 10px 0 10px 20px;
    font-size: 40px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0.05em;
    color: var(--main-color);
    }
    @media (max-width: 767px) {
        .product-h2 {
            margin-top: 0px;
            margin-bottom: 10px;
            padding: 10px 0 10px 10px;
            border-left: 5px solid var(--main-color);
            font-size: 1.8em;
        }
    }

span.h2-small {
    font-size: 0.6em;
    padding-top: 50px;
}

.type2 {
    border-left: none;
    position: relative;
    padding: 15px 10px 20px;
    margin-top: 30px;
    margin-bottom: 40px;
    font-size: 35px;
    font-weight: 600;
    color: var(--main-color);
    }
    @media (max-width: 767px) {
        .type2 {
            margin-top: 0px;
            margin-bottom: 10px;
            padding: 10px 0 10px 10px;
            font-size: 1.6em;
        }
    }
.type2::after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 10px;
    content: '';
    background-image: repeating-linear-gradient(-45deg, var(--main-color), var(--main-color) 1px, transparent 2px, transparent 5px);
    background-size: 7px 7px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    }
    @media (max-width: 767px) {
        .type2::after {
            height: 0.25em;
        }
    }

.type3 {
    font-size: 35px;
    font-weight: 600;
    color: var(--main-color);
    border-left: none;
    position: relative;
    padding: 1em 2em;
    text-align: center;
    }
    @media (max-width: 767px) {
        .type3 {
            font-size: 1.4em;
        }
    }
.type3::before, .type3::after {
    position: absolute;
    content: '';
    width: 50px;
    height: 50px;
    border-color: var(--main-color);
    }
    @media (max-width: 767px) {
        .type3::before, .type3::after {
          width: 1.8em;
          height: 1.8em;
        }
    }
.type3::before {
    right: 0;
    bottom: 0;
    border-right: 5px solid var(--main-color);
    border-bottom: 5px solid var(--main-color);
    }
    @media (max-width: 767px) {
        .type3::before {
          border-right:  2px solid var(--main-color);
          border-bottom:  2px solid var(--main-color);
        }
    }
.type3::after {
    top: 0;
    left: 0;
    border-top: 5px solid var(--main-color);
    border-left: 5px solid var(--main-color);
    }
    @media (max-width: 767px) {
        .type3::after {
          border-top:  2px solid var(--main-color);
          border-left:  2px solid var(--main-color);
        }
    }

.product-h3 {
    border-bottom: 5px solid #d8d8d8;
    margin-top: 30px;
    margin-bottom: 30px;
    font-weight: 600;
    }
    @media (max-width: 767px) {
        .product-h3 {
          border-bottom: 3px solid #d8d8d8;
          margin-top: 20px;
          margin-bottom: 10px;
        }
    }
.product-h3 span {
    display: inline-block;
    position: relative;
    padding: 0 .4em .5em;
    color: var(--main-color);
    font-size: 30px;
    }
    @media (max-width: 767px) {
        .product-h3 span {
          font-size: 1.4em;
        }
    }
.product-h3 span::before {
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 100%;
    height: 5px;
    background-color: var(--main-color);
    content: '';
    }
    @media (max-width: 767px) {
        .product-h3 span::before {
          bottom: -3px;
          height: 3px;
        }
    }

.products-h4 {
    font-size: 22px;
    font-weight: 600;
    color: var(--main-color);
    padding: 10px 0;
    display: flex;
    align-items: flex-start;
    }
    @media (max-width: 767px) {
        .products-h4 {
          font-size: 1.3em;
          padding: 10px 0px;
        }
    }

.products-h4::before {
    color: var(--main-color);
    display: block;
    width: 1.25em;
    height: 1.25em;
    border-radius: 50%;
    content: "\f04d";
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    font-weight: 900;
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    }

.type4 {
    font-size: 1.5em;
    font-weight: 600;
    color: var(--main-color);
    margin-top: 20px;
    }
    @media (max-width: 767px) {
        .type4 {
          font-size: 1.3em;
        }
    }



/* テキスト
-------------------------------------------------- */
.products-em {
    display: block;
    font-size: 1.925em;
    line-height: 1.5;
    font-weight: 600;
    margin-bottom: 20px;
    color: var(--main-color);
    }
    @media (max-width: 767px) {
        .products-em {
          font-size: 1.4em;
          line-height: 1.4;
        }
    }

span.em-small {
    font-size: 0.6em;
}


.subpage p {
    margin: 15px 0;
    line-height: 2.25;
    font-size: 1.1em;
}

.subpage small {
    margin: 15px 0;
    line-height: 2;
    font-size: 0.95em;
}

.subpage small.news-day {
    color: #065497;
}
    

.subpage large{
  font-size: 1.5em;
}

.marker {
    background: linear-gradient(transparent 70%, #ffdc00 30%);
    display: inline;
}


/* 画像
-------------------------------------------------- */
.container img {
    width: 100%;
}



/* box
-------------------------------------------------- */

.box01, .box02, .box03 {
    padding: 20px 30px;
    border: 1px solid;
    border-radius: 10px;
    margin: 20px 0;
}
.box01 p, .box02 p, .box03 p, .box-004 p, .box-006 p, .box-007 p, .box-008 p {
    font-size: 16px;
    line-height: 1.8;
    }
    @media (max-width: 767px) {
        .box01 p, .box02 p, .box03 p, .box-004 p, .box-006 p, .box-007 p, .box-008 p {
          font-size: 1em;
          line-height: 1.5;
        }
    }

.box-006, .box-007, .box-008 {
    margin: 20px 0;
}

.box01 {
    border-color: #ccc;
}

.box02 {
    border-color: var(--main-light-color);
    background-color: var(--main-light-color);
}


.box03 {
    border-color: #d36386;
    background-color: #fff9fb;
}

.box03 .products-h4 {
    color: #b10000;
}

.box03 .products-h4::before {
    color: #b10000;
}

.box-006 {
    display: flex;
    grid-gap: 0 .7em;
    padding: 1em;
    border-radius: 5px;
    background-color: #fff9e5;
    color: #333333;
    align-items: center;
}
.box-006 p {
    margin: 0;
    padding: 0 0 0 .7em;
    border-left: 1px solid #ffb36b;
}

.box-008 {
    display: flex;
    grid-gap: 0 .7em;
    padding: 1em;
    border-radius: 5px;
    background-color: #ecffe9;
    color: #333333;
}

.box-008 p {
    margin: 0;
    padding: 0 0 0 .7em;
    border-left: 1px solid #86d67c;
}

.box-004 {
    display: flex;
    grid-gap: 0 .7em;
    padding: 1em;
    border-radius: 5px;
    background-color: #ffebee;
    color: #333333;
}

.box-004 p {
    margin: 0;
    padding: 0 0 0 .7em;
    border-left: 1px solid #f06060;
}


.box-007 {
    margin: 1em auto 0;
    border: 2px solid #ffb36b;
    border-radius: 5px;
    color: #333333;
    border-color:#089ee1;
}

.box-007 > div:first-child {
    display: inline-flex;
    align-items: center;
    position: relative;
    top: -13px;
    left: 10px;
    margin: 0 7px;
    padding: 0 8px;
    background: #fff;
    color: #089ee1;
    font-weight: 600;
    vertical-align: top;
}

.box-007 svg {
    padding-right: 4px;
}

.box-007 > :is(p,*:nth-child(2)) {
    margin: 0;
    padding: 0 1.5em 1em;
}

.fa-pen:before {
    color: #089ee1;
}

.fa-check:before {
    color: #008000;
}

.fa-exclamation-circle:before {
    color: #ff0000;
}

.fa-question-circle:before {
    color: #089ee1;
}

.fa-pencil-alt:before {
    color: #fff;
}



/* リスト
-------------------------------------------------- */

ol, ul {
    list-style: none;
    font-size: 1.1em;
    margin: 20px 0;
    padding-left: 22px;
    }
    @media (max-width: 767px) {
        ol, ul {
          padding-left: 20px;
          font-size: 1em;
        }
    }
 
.ul-list>li, .fa-ul>li {
    margin-bottom: 5px;
    text-indent: -1em;
}

.ul-list>li::before {
    content: "●";
    margin-right: .5em;
    color:var(--main-color);
}

.fa-ul {
    padding-left: 22px;
    }
    @media (max-width: 767px) {
        .fa-ul {
          padding-left: 0px;
          margin-left: 22px;
        }
    }

@media (max-width: 767px) {
        .fa-ul>li {
          text-indent: 0em;
        }
    }

.fa-check-square::before {
    color:var(--main-color);
}



/* テーブル
-------------------------------------------------- */

table {
    border-collapse: collapse;
    width: 100%;
    margin: 0;
    font-size: 1rem;
}

.table th, .table td {
    border: none;
    padding: 10px;
    background-color: inherit;
    line-height: 1.8;
    color: inherit;
}

.table th, .table table-blk th {
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: var(--main-light-color);
    border-color: #ccc;
}

.table td, .table table-blk th {
    background-color: #fff;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;

}

@media (max-width: 1149px) {
  .table-blk {
    overflow-x: inherit;
  }
  .table-blk::before {
    content: none;
  }
}
@media (max-width: 1149px) {
  .table-blk table {
    width: 100%;
    overflow: inherit;
  }
}
@media (max-width: 1149px) {
  .table-blk tbody th {
    width: 100%;
    padding: 10px;
  }
}
@media (max-width: 1149px) {
  .table-blk th, .table-blk td {
    display: block;
    white-space: normal;
  }
}


/* 料金表用テーブル */
.table-price {
  border-collapse: collapse;
  margin: 0 auto;
  padding: 0;
  .table-price-layout: fixed;
  color: #000;
}

.table-price tr {
  background-color: #fff;
  padding: .35em;
  border-bottom: 1px solid #bbb;
}
.table-price thead{
  border-bottom: 5px solid var(--main-color);
}
.table-price tr:last-child{
   border-bottom: none
}
.table-price th,
.table-price td {
  padding: 1em 10px 1em 1em;
  border-right: 1px solid #bbb;
}
.table-price th:last-child,
.table-price td:last-child{
    border: none;
}
tbody th {
    /*color: var(--main-color);*/
    background-color: var(--main-light-color);
}
.txt{
   text-align: left;
   font-size: .85em;
}
.price{
   text-align: right;
}
@media screen and (max-width: 600px) {
  .table-price {
    border: 0;
    width:100%
  }
  .table-price th{
    display: block;
    border-right: none;
    border-bottom: 5px solid var(--main-color);
    padding-bottom: .6em;
    margin-bottom: .6em;

  }
  .table-price thead {
    border: none;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }
  
  .table-price tr {
    display: block;
    margin-bottom: 2em;
  }
  
  .table-price td {
    border-bottom: 1px solid #bbb;
    display: block;
    font-size: .8em;
    text-align: right;
    position: relative;
    padding: .625em .625em .625em 4em;
    border-right: none;
  }
  
  .table-price td::before {
    content: attr(data-label);
    font-weight: bold;
    position: absolute;
    left: 10px;
  }
  
  .table-price td:last-child {
    border-bottom: 0;
  }
}

/* お知らせ用稼働日テーブル */
.table-price-news {
  table-layout: fixed;
  border-collapse: collapse;
  margin: 0 auto;
  padding: 0;
  .table-price-layout: fixed;
  color: #000;
}

.table-price-news tr {
  background-color: #fff;
  padding: .35em;
  border-bottom: 1px solid #bbb;
}
.table-price-news thead{
  border-bottom: 5px solid var(--main-color);
}
.table-price-news tr:last-child{
   border-bottom: none
}
.table-price-news th,
.table-price-news td {
  padding: 1em 10px 1em 1em;
  border-right: 1px solid #bbb;
  text-align: center;
}
.table-price-news th:last-child,
.table-price-news td:last-child{
    border: none;
}
tbody th {
    /*color: var(--main-color);*/
    background-color: var(--main-light-color);
}
.txt{
   text-align: left;
   font-size: .85em;
}
.price{
   text-align: right;
}
@media screen and (max-width: 600px) {
  .table-price-news {
    border: 0;
    width:100%
  }
  .table-price-news th{
    display: block;
    border-right: none;
    border-bottom: 5px solid var(--main-color);
    padding-bottom: .6em;
    margin-bottom: .6em;

  }
  .table-price-news thead {
    border: none;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }
  
  .table-price-news tr {
    display: block;
    margin-bottom: 2em;
  }
  
  .table-price-news td {
    border-bottom: 1px solid #bbb;
    display: block;
    font-size: .8em;
    text-align: right;
    position: relative;
    padding: .625em .625em .625em 4em;
    border-right: none;
  }
  
  .table-price-news td::before {
    content: attr(data-label);
    font-weight: bold;
    position: absolute;
    left: 10px;
  }
  
  .table-price-news td:last-child {
    border-bottom: 0;
  }
}


/* 吹き出し
-------------------------------------------------- */

.balloon-001, .balloon-002, .balloon-003, .balloon-004 {
	margin: 10px 0;
  font-size: 1.1em;
  max-width: 100%;
  }
  @media (max-width: 1149px) {
  .balloon-001, .balloon-002, .balloon-003, .balloon-004 {
    font-size: 1em;
  }
}


.balloon-001 {
    display: flex;
    justify-content: center;
    position: relative;
    margin-bottom: 10px;
    padding: 1.5em 1.5em;
    border-radius: 5px;
    background-color: #f2f2f2;
    color: #333333;
    line-height: 1.8;
}

.balloon-001::before {
    position: absolute;
    bottom: -15px;
    width: 30px;
    height: 15px;
    background-color: #f2f2f2;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
}

.balloon-002 {
    display: flex;
    justify-content: center;
    position: relative;
    margin-top: 15px;
    padding: .8em 1.2em;
    border-radius: 5px;
    background-color: #f2f2f2;
    color: #333333;
}

.balloon-002::before {
    position: absolute;
    top: -15px;
    width: 30px;
    height: 15px;
    background-color: #f2f2f2;
    clip-path: polygon(50% 0, 0 100%, 100% 100%);
    content: '';
}

.balloon-004 {
    display: flex;
    align-items: center;
    position: relative;
    margin-left: 15px;
    padding: .8em 1.2em;
    border-radius: 5px;
    background-color: #f2f2f2;
    color: #333333;
}

.balloon-004::before {
    position: absolute;
    left: -15px;
    width: 15px;
    height: 30px;
    background-color: #f2f2f2;
    clip-path: polygon(0 50%, 100% 0, 100% 100%);
    content: '';
}

.balloon-003 {
    display: flex;
    align-items: center;
    position: relative;
    margin-right: 15px;
    padding: .8em 1.2em;
    border-radius: 5px;
    background-color: #f2f2f2;
    color: #333333;
}

.balloon-003::before {
    position: absolute;
    right: -15px;
    width: 15px;
    height: 30px;
    background-color: #f2f2f2;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    content: '';
}



/* ページ内リンク
-------------------------------------------------- */
.pnav-head {
  margin-bottom: 60px;
  margin-top: 30px;
  margin-left: -40px;
  }
  @media screen and (max-width: 560px) {
  .pnav-head {
      margin-left: -20px;
      }
  }


.pnav-head1 ul li a:hover {
  opacity: 0.85;
}

/*
.pnav::before{
  content: "このページの目次";
  padding: 6px;
  display: inline-block;
  background-color: #fff;
  font-size: 0.85em;
  border:1px dotted #265246;
  border-bottom: none;
}
*/
.pnav-head ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.pnav-head ul li {
  text-indent: 0;
  padding-left: 0;
  margin-bottom: 1px;
}

.pnav-head ul li + li {
  padding-left: 1px;
}

.pnav-head ul li::before {
  display: none;
}

.pnav-head ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 50px;
  padding: 0 40px 0 20px;
  background-image: url("../img/mrk_nav_anchor.png");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 12px;
  font-size: 1em;
  line-height: 1.2;
  text-decoration: none;
}

.pnav-head ul li a:hover {
  opacity: 0.85;
}

@media screen and (max-width: 560px) {
  .pnav-head ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .pnav-head ul li {
    margin-bottom: 1px;
  }
  .pnav-head ul li + li {
    padding-left: 0;
  }
  .pnav-head ul li a {
    height: 45px;
    padding: 0 10px 0 30px;
    background-position: left 10px center;
  }
}
.pnav-head li a {
    background-color: var(--main-color);
    color: #fff;
}

.box {
    padding: 20px 30px;
    border: 1px solid;
    border-radius: 0.4rem;
    border: 1px solid #cfcfcf;
    color: #000;
}

.related{
    margin-top: 60px;
}



/* lnav-rich
-------------------------------------------------- */
.lnav-rich {
    background: var(--main-light-color);
    border-radius: 0.4rem;
    padding: 10px;
}
.lnav-rich ul {
    display: flex;
    flex-wrap: wrap;
    margin: 0px;
    padding: 0px;
}
.lnav-rich ul li {
    text-indent: 0;
    padding: 5px;
}
.lnav-rich ul li::before {
    display: none;
}
.lnav-rich ul li a {
    display: block;
    flex-direction: column;
    border: 1px solid var(--main-color);
    border-radius: 5px;
    height: 100%;
    padding: 25px 30px;
    padding-right: 40px;
    background: #fff;
    text-decoration: none;
    color: #2f2f2f;
    font-size: 0.857em;
    line-height: 1.86;
    transition: all .1s;
}
.lnav-rich ul li a.current{
    opacity: 0.5;
    pointer-events: none;
}
/*.lnav-rich ul li a::after {
    position: absolute;
    transform: translateY(-55%);
    top: calc(100% - 25px);
    right: 15px;
    width: 20px;
    height: 20px;
    background-image: url("/products/booth/img/common/mrk_right.png");
    background-size: 6px;
}
.lnav-rich ul li a:hover::after {
    background-image: url("/products/booth/img/common/mrk_right_on.png");
    background-color: #fff;
}*/
.lnav-rich ul li a strong {
    color:var(--main-color);
    margin-bottom: 1em;
    font-size: 1.6em;
    line-height: 1.7;
}
.lnav-rich ul li a p {
    margin: 0;
    line-height: 1.6;
}

.lnav-rich ul li a:hover {
    background-color: var(--main-color);
    color:#fff;
}
.lnav-rich ul li a:hover strong {
    color:#fff;
}
.lnav-rich.simple, .index-page .lnav-rich {
    background-color: transparent;
    padding: 0;
}
.lnav-rich ul li a i[class^='fa'] {
    color: inherit;
}
.fa-file-download:before {
    content: "\f56d";
}

@media screen and (max-width: 560px) {
  .lnav-rich {
      padding: 15px;
      /* margin-top: 60px; */
  }
  .lnav-rich:has(+ .breadcrumbs) {
      margin-top: 60px !important;
  }
  .lnav-rich ul {
      /* margin: -8px; */
      margin: 0;
      flex-direction: column;
      flex-wrap: none;
  }

  .lnav-rich ul li {
      margin-bottom: 0;
      padding-bottom: 0;
      /* padding: 8px; */
  }

  .lnav-rich ul li a strong {
      margin-bottom: .5em;
      font-size: 1.4em;
  }
  .lnav-rich ul li a p {
      font-size: 1.2em;
      line-height: 1.4;
  }
}




/* ボタン
-------------------------------------------------- */

.button {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 100%;
  background: #EFC708 url(../img/mrk-right-w.svg) no-repeat right 20px center;
  border-radius: 80px;
  color: #fff;
  font-size: clamp(15px, 1.6363636364vw, 18px);
  font-weight: bold;
  transition: 0.2s;
}
@media (max-width: 768px) {
  .button {
    height: 40px;
    background-position: right 10px center;
  }
}
.button.large {
  width: 100%;
  height: 80px;
  text-decoration: none;
}
@media (max-width: 768px) {
  .button.large {
    width: 340px;
    height: 60px;
  }
}
.button:hover {
  text-decoration: none;
  opacity: 0.8;
  color: #fff;
}

.btn_small {
    display: inline-flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    min-width: 30%;
    height: 45px;
    padding: 0 20px;
    border-radius: 5px;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: bold;
    line-height: 1.3;
    text-decoration: none;
    color: #fff;
    background: var(--main-color) url(../img/mrk-right-w.svg) no-repeat right 20px center;
}
@media (max-width: 768px) {
  .btn_small {
        min-width: 100%;
  }
}




/* FAQ color
-------------------------------------------------- */
.qa dt, .elastic dt {
  background-color: #e9e9e9;
}
.qa dt::before, .elastic dt::before { /* Qアイコンの背景色 */
  background-color: #e9e9e9;
}
.qa dd, .elastic dd {
  background-color: #fff;
}
.qa dd::before, .elastic dd::before { /* Aアイコンの背景色 */
  background-color: #fff;
}
.qa dt::after, .elastic dt::after { /* 展開状態マーク */
  background-color: #065497;
}



/* FAQ parts
-------------------------------------------------- */
.qa dt, .qa dd, .elastic dt, .elastic dd {
  position: relative;
  padding: 15px;
  padding-left: 25px;
  line-height: 1.6;
}

.qa dt::before, .qa dd::before, .elastic dt::before, .elastic dd::before {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 10px;
  content: "";
}

.qa dt, .elastic dt {
  font-weight: normal;
  cursor: pointer;
  color: #065497;
}

.qa dt::after, .elastic dt::after {
  position: absolute;
  top: 20px;
  right: 30px;
  display: inline-block;
  content: "";
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background-image: url("../img/mrk_open.png");
  background-size: 8px;
  background-repeat: no-repeat;
  background-position: center;
}

.qa dt.active::after, .elastic dt.active::after {
  background-image: url("../img/mrk_open.png");
}

.qa dd, .elastic dd {
  margin-top: 3px;
}

.qa dd + dt, .elastic dd + dt {
  margin-top: 20px;
}

@media screen and (max-width: 560px) {
  .qa dt, .qa dd, .elastic dt, .elastic dd {
    padding: 13px;
    padding-left: 25px;
  }
  .qa dt::before, .qa dd::before, .elastic dt::before, .elastic dd::before {
    width: 7px;
  }
}
.qa dt, .qa dd {
  padding-left: 55px;
}

.qa dt::before, .qa dd::before {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 40px;
  color: #065497;
}

.qa dt::before {
  content: "Q";
}

.qa dd::before {
  content: "A";
  color: #000;
}

@media screen and (max-width: 560px) {
  .qa dt, .qa dd {
    padding-left: 43px;
  }
  .qa dt::before, .qa dd::before {
    width: 30px;
  }
}





/* 選ばれる理由
-------------------------------------------------- */
.sec-hero{
    background: var(--main-light-color);
    padding-bottom: 60px;
    }
.hero{
    padding-left: calc(50% - 620px);
    padding-right: calc(50% - 620px); 
    padding-top: 90px;
    }
    @media (max-width: 767px) {
    .hero{
        padding-top: 50px;
        padding-left: 10px;
        padding-right: 10px;
        }
    }
    
.box-hero-R{
    background: #fff;
    border-radius: 50px;
    padding: 30px;
    box-shadow: 0 20px 20px rgba(0, 0, 0, 0.05);
    position: relative;
    }
    @media (max-width: 767px) {
    .box-hero-R{
        padding: 20px;
        }
    }
    
.box-hero-txt{
    padding: 0 15px;
    }
    
/*.number{
    position: absolute;
    top: 75px;
    left: 60px;
    }
    @media (max-width: 767px) {
    .number {
        position: unset; } 
    }*/

    
.number1 {
    font-size: 3.5em;
    /*font-family: 'Zen Maru Gothic';*/
    font-weight: 700;
    /*text-shadow: 0 15px 20px rgba(36,54,122,.2);*/
    color: var(--main-color);
    }
    /*@media (max-width: 767px) {
    .number1 {
        font-size: 80px;
        margin-bottom: 0px;
        line-height: 110px;
        position: absolute;
        top: -60px;
        left: 40px;} 
    }*/
    
    
.number12 {
    font-size: 25px;
    line-height: 40px;
    letter-spacing: 0.08em;
    margin-bottom: 14px;
    font-weight: bold;
    }
    @media (max-width: 767px) {
    .number12 {
        font-size: 20px;
        line-height: 30px;
        margin-top: 20px;
        padding: 0 30px;} 
    }
    
@media (max-width: 767px) {
    .number13, .number33 {
        padding: 0 30px;} 
    }
    
    
.box-hero-btn,  .box-hero-btn-t,  .box-hero-btn-n,  .box-hero-btn-m {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 250px;
    height: 70px;
    padding: 5px 35px;
    border-radius: 50px;
    margin-top: 10px;
    font-size: 15px;
    font-size: 0.9375rem;
    text-decoration: none;
    color: #fff;
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%228.73%22%20height%3D%226.882%22%20viewBox%3D%220%200%208.73%206.882%22%3E%3Cpath%20d%3D%22M906.6%2C281.375l-.685.729%2C2.355%2C2.212h-6.737v1h6.737l-2.355%2C2.212.685.729%2C3.663-3.441Z%22%20transform%3D%22translate(-901.531%20-281.375)%22%20fill%3D%22%23FFF%22%2F%3E%3C%2Fsvg%3E") no-repeat calc(100% - 30px) 50%/8px auto, linear-gradient(to right, #F09198 0, #A67D97 100%) 0 0/auto; 
    }
    
.box-hero-btn-n{
    background: linear-gradient(to right, #F09198 0, #A67D97 100%) 0 0/auto; 
    }
    
    @media (max-width: 767px) {
    .box-hero-btn-t,  .box-hero-btn-n {
        width: 100%;} 
    }
    
   
    
.box-hero-btn-t{
    position: absolute;
    top: 187px;
    left: -3px;
    }
    @media (max-width: 767px) {
    .box-hero-btn  {
         width: 100%;} 
    }
    @media (max-width: 767px) {
    .box-hero-btn-t {
        width: 90%;
        top: 287px;
        left: 20px;
        } 
    }

.box-hero-btn-m{
    /*position: absolute;
    top: 187px;
    left: -3px;*/
    }
    @media (max-width: 767px) {
    .box-hero-btn-t {
        /*width: 90%;
        top: 287px;
        left: 20px;*/
        } 
    }

.img_radius {
    border-radius: 20px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
}
    
.img_radius-c {
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
}
    
@media (max-width: 767px) {
    .interview-reason{
        padding: 0 30px;
    }
    }



/* セットページスライダー
-------------------------------------------------- */
.slider-container{
    width:100%;
    margin:0;
  }
  .slick-slide{
    padding:2px;
  }
  #thumbs .slick-current img{
    border:3px solid #000;
  }
  .slick-prev,.slick-next{z-index:2;}
  .slick-prev{left:0!important;}
  .slick-next{right:0!important;}

.slick-prev, .slick-next {
    filter: drop-shadow(2px 2px 2px #aaa);
}


    /* ボタンのスタイル */
.btn a {
  position: relative;
  display: block;
  padding: 15px 0;
  background-color: #fff;
  border-radius: 8px;
  font-size: 18px;
  color: var(--main-color);
  text-decoration: none;
  text-align: center;
}

/* アイコンのスタイル */
.btn-arrow-bottom a::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 27px;
  width: 9px;
  height: 9px;
  margin: auto;
  border-top: 2px solid var(--main-color);
  border-right: 2px solid var(--main-color);
  transform: translateY(-2px) rotate(135deg);
  box-sizing: border-box;
}



/* セットページ ツールチップ
-------------------------------------------------- */
  .Tooltip {
  --_bg: var(--main-color);
  --_color: #fff;
  --_triangle-size: 5px;
  --_gap: 3px;

  position: absolute;
  z-index: 1000;
  display: block;

  /* ツールチップのみため */
  width: max-content;
  max-width: 300px;
  padding: 10px;
  background-color: var(--_bg);
  color: var(--_color);
  text-align: left;
  border-radius: 8px;
  font-size: 12px;

  /* 表示・非表示の指定 */
  visibility: hidden;
  opacity: 0;
}

/* ツールチップが上に表示される場合 */
.Tooltip.-top {
  bottom: calc(100% + var(--_triangle-size) + var(--_gap));
  left: 50%;
  translate: -50% var(--_y, 0);
}

/* ツールチップが下に表示される場合 */
.Tooltip.-bottom {
  top: calc(100% + var(--_triangle-size) + var(--_gap));
  left: 50%;
  translate: -50% var(--_y, 0);
}

/* ツールチップが右に表示される場合 */
.Tooltip.-right {
  bottom: 50%;
  left: calc(100% + var(--_triangle-size) + var(--_gap));
  translate: var(--_x, 0) 50%;
}

/* ツールチップが左に表示される場合 */
.Tooltip.-left {
  bottom: 50%;
  right: calc(100% + var(--_triangle-size) + var(--_gap));
  translate: var(--_x, 0) 50%;
}

/*
  △を擬似要素で作成
*/
.Tooltip::before {
  position: absolute;
  margin: auto;
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
}

/* ツールチップが上に表示される場合の△ */
.Tooltip.-top::before {
  bottom: calc(var(--_triangle-size) * -1);
  right: 0;
  left: 0;
  border-width: var(--_triangle-size) var(--_triangle-size) 0 var(--_triangle-size);
  border-color: var(--_bg) transparent transparent transparent;
}

/* ツールチップが下に表示される場合の△ */
.Tooltip.-bottom::before {
  top: calc(var(--_triangle-size) * -1);
  right: 0;
  left: 0;
  border-width: 0 var(--_triangle-size) var(--_triangle-size) var(--_triangle-size);
  border-color: transparent transparent var(--_bg) transparent;
}

/* ツールチップが左に表示される場合の△ */
.Tooltip.-left::before {
  top: 0;
  bottom: 0;
  right: calc(var(--_triangle-size) * -1);
  border-width: var(--_triangle-size) 0 var(--_triangle-size) var(--_triangle-size);
  border-color: transparent transparent transparent var(--_bg);
}

/* ツールチップが右に表示される場合の△ */
.Tooltip.-right::before {
  top: 0;
  bottom: 0;
  left: calc(var(--_triangle-size) * -1);
  border-width: var(--_triangle-size) var(--_triangle-size) var(--_triangle-size) 0;
  border-color: transparent var(--_bg) transparent transparent;
}

/* 透明な要素を背面に敷くことでツールチップにマウスをのせやすくする */
.Tooltip::after {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  z-index: -1;
}

/* ツールチップが上に表示される場合 */
.Tooltip.-top::after {
  top: 100%;
  left: 0;
  height: calc(var(--_triangle-size) + var(--_gap));
}

/* ツールチップが下に表示される場合 */
.Tooltip.-bottom::after {
  bottom: 100%;
  left: 0;
  height: calc(var(--_triangle-size) + var(--_gap));
}

/* ツールチップが左に表示される場合 */
.Tooltip.-left::after {
  top: 0;
  left: 100%;
  width: calc(var(--_triangle-size) + var(--_gap));
}

/* ツールチップが右に表示される場合 */
.Tooltip.-right::after {
  top: 0;
  right: 100%;
  width: calc(var(--_triangle-size) + var(--_gap));
}

/*
  ツールチップがあることを、支援技術に伝えるための非表示テキスト
*/
.Tooltip_Body {
  display: block;
}
.Tooltip_Body::before {
  content: "。ツールチップあり：";
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  width: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
}

/*
  対象の要素の周囲に表示されるツールチップを上下左右に配置するために親要素をrelativeにする
  ※親要素のpositionの値を自身で調整したい場合は不要
*/
.TooltipContainer {
  position: relative;
  display: inline-block;
  cursor: pointer;
}

/*
  ホバー、フォーカス、アクティブ時にツールチップを表示する
*/
.TooltipContainer:is(:hover, :focus-visible, :focus-within, :active) > .Tooltip {
  visibility: visible;
  opacity: 1;
}

/*
  no-preferenceはprefers-reduced-motionの設定を行なっていない場合
  アニメーションさせる
*/
@media (prefers-reduced-motion: no-preference) {
  /* フェードアウト用の指定 */
  .Tooltip {
    transition: visibility 0s linear 0.1s, opacity 0.1s, translate 0.1s;
  }
  /* フェードイン用の指定 */
  .TooltipContainer:is(:hover, :focus-visible, :focus-within, :active) > .Tooltip {
    transition: visibility 0s linear 0s, opacity 0.3s, translate 0.3s;
  }
  /*
    ホバー・フォーカス・アクティブ時にツールチップをCSS Transitionさせるため
    ホバー・フォーカス・アクティブ時でないときに、初期位置を指定する
  */
  .TooltipContainer:not(:is(:hover, :focus-visible, :focus-within, :active)) > .Tooltip.-top {
    --_y: var(--_gap);
  }
  .TooltipContainer:not(:is(:hover, :focus-visible, :focus-within, :active)) > .Tooltip.-bottom   {
    --_y: calc( var(--_gap) * -1);
  }
  .TooltipContainer:not(:is(:hover, :focus-visible, :focus-within, :active)) > .Tooltip.-left {
    --_x: var(--_gap);
  }
  .TooltipContainer:not(:is(:hover, :focus-visible, :focus-within, :active)) > .Tooltip.-right {
    --_x: calc(var(--_gap) * -1);
  }  
}



/* セットページ その他
-------------------------------------------------- */
    .other p{
        text-align: center;
        color: #2f2f2f;}
    .other a{
        text-decoration: none;}



    .fusen-1 {
        display: inline-block;
        position: relative;
        padding: .5em 1.3em .5em 1em;
        background-color: #ffa200;
        color: #ffffff;
    }

    .fusen-1::before {
        position: absolute;
        bottom: -1px;
        right: 9px;
        z-index: -1;
        transform: rotate(5deg);
        width: 70%;
        height: 50%;
        background-color: #d0d0d0;
        content: "";
        filter: blur(4px);
    }

    .fusen-2 {
        display: inline-block;
        position: relative;
        padding: .5em 1.3em .5em 1em;
        background-color: #ff5200;
        color: #ffffff;
    }

    .fusen-2::before {
        position: absolute;
        bottom: -1px;
        right: 9px;
        z-index: -1;
        transform: rotate(5deg);
        width: 70%;
        height: 50%;
        background-color: #d0d0d0;
        content: "";
        filter: blur(4px);
    }

    .fusen-3 , .fusen-4 {
        position: relative;
        padding: .5em 1.3em .5em 1em;
        color: #ffffff;
        display: flex;
        justify-content: center;
        align-items: center;
        max-width: 100%;
        border-radius: 20px;
        font-size: 1.4em;
    }

    .fusen-3 {
        background-color: #ea851c;
    }

    .fusen-4 {
        background-color: #1376c6;
    }


/* タイムライン
-------------------------------------------------- */
    ul.timeline {
      display: table;
      padding-left: 0px;
    }

    ul.timeline > li {
      display: table-row;
      padding-left: 0 !important;
      text-indent: 0 !important;
    }

    ul.timeline > li::before {
      display: none;
    }

    ul.timeline>li>time,
    ul.timeline>li>span {
      display: table-cell;
    }

    ul.timeline>li>time {
      width: 50%;
      padding: 0 25px 20px 0;
      color: #666;
      text-align: right;
    }

    ul.timeline>li>span {
      position: relative;
      border-left: 3px #dad8d8 solid;
      padding: 0 0 30px 30px;
      color: #333;
      width: 50%;
    }

    ul.timeline>li span::before {
      position: absolute;
      left: -6px;
      top: 16px;
      width: 9px;
      height: 9px;
      content: "";
      background: #555;
      border-radius: 50%;
    }

    .timeline>li:last-child>span {
      padding-bottom: 0;
    }

    .subpage .section-timeline .timeline-date {
      color: #fff;
    }

    .subpage .section-timeline .timeline-content:before {
      background: #fff;
    }

    .subpage .section-timeline .timeline-content {
      border-left: 1px #fff solid;
    }
    ul.timeline>li span::before {
        background-color: var(--main-color);
    }


/* モーダルウィンドウ
-------------------------------------------------- */
 
/*.modal {
  padding: 200px 0;
}*/

.inner {
  width: min(100%, 1120px);
  margin: 0 auto;
  padding: 0 20px;
}

/* モーダルを開くボタン */
.subpage .modal__trigger {
  cursor: pointer;
  margin-bottom: 0px;
}

/*.modal__trigger:nth-child(n + 2) {
  margin-top: 60px;
}*/

/* モーダル本体 */
.modal__wrapper {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
}

.modal__layer {
  height: 100%;
  background: rgba(50, 50, 50, .85);
  cursor: pointer;
}

.modal__container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(calc(100% - 40px), 1000px);
  height: calc(100% - 40px);
  padding: 20px;
  background: #fff;
}

.modal__inner {
  position: relative;
  overflow-y: scroll;
  height: 100%;
  padding: 80px 20px 20px;
}

/* モーダルを閉じるボタン */
.modal__close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 44px;
  height: 44px;
  background: rgba(50, 50, 50, 1);
  cursor: pointer;
  transition: opacity .6s;
}

.modal__close:hover {
  opacity: .6;
}

.modal__close:before,
.modal__close:after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 1px;
  background: #fff;
  content: '';
}

.modal__close:before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.modal__close:after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* モーダル内のコンテンツ */
.modal__content {
}

.modal__text {
  margin-top: 30px;
  line-height: 2.875;
}