@charset "UTF-8";
/*
Theme Name: house
Author: GPRO Co.,Ltd.
*/
@import url(./css/normalize.css);
@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&family=Shippori+Mincho:wght@400;500;700&display=swap);
html {
  scroll-behavior: smooth;
}

body {
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  color: #666666;
  -webkit-text-size-adjust: 100% !important;
}
@media only screen and (max-width: 680px) {
  body {
    font-size: 14px;
  }
}

.ttl {
  font-size: 31px;
  position: relative;
  font-weight: 400;
  /*&::after {
      content: '';
      width: 100%;
      max-width: 150px;
      height: 1px;
      background-color: $clr-blk;
      position: absolute;
      top: -0.1em;
      left: -100%;
      margin-right: 1em;
  }*/
}
@media only screen and (max-width: 680px) {
  .ttl {
    font-size: 24px;
  }
}
.ttl::before {
  content: attr(data-text);
  font-size: 16px;
  position: absolute;
  top: -2em;
  letter-spacing: 0.2em;
  z-index: 2;
}
.ttl.ttl__ctr {
  text-align: center;
}
.ttl.ttl__ctr::before {
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.ttl.ttl__ctr span::before {
  content: "";
  width: 40px;
  height: 1px;
  background-color: #666666;
  position: absolute;
  top: -0.6em;
  left: calc(50% - 90px);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media only screen and (max-width: 680px) {
  .ttl.ttl__ctr span::before {
    top: -0.8em;
  }
}
.ttl.ttl__ctr span::after {
  content: "";
  width: 40px;
  height: 1px;
  background-color: #666666;
  position: absolute;
  top: -0.6em;
  left: calc(50% + 90px);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media only screen and (max-width: 680px) {
  .ttl.ttl__ctr span::after {
    top: -0.8em;
  }
}
.ttl.ttl__btm {
  text-align: center;
  font-size: 24px;
  padding-bottom: 25px;
  margin-bottom: 60px;
  border-bottom: 1px solid #999999;
}
@media only screen and (max-width: 680px) {
  .ttl.ttl__btm {
    margin-bottom: 30px;
  }
}

img {
  display: block;
  height: auto;
  max-width: 100%;
}

table {
  border-collapse: collapse;
  width: 100%;
}
table th {
  white-space: nowrap;
  font-size: 18px;
}
table th,
table td {
  font-weight: 400;
  text-align: left;
  padding: 20px;
  border-bottom: 1px solid #666666;
  vertical-align: top;
}
@media only screen and (max-width: 680px) {
  table {
    margin: 50px auto;
    padding: 30px 0;
    border-top: 1px solid #666666;
  }
  table th {
    text-align: center;
    padding: 10px 0;
    display: block;
    width: 100%;
  }
  table td {
    display: block;
    width: 100%;
    padding: 30px 0;
  }
}

.bg__crm {
  background-color: #f3f2ed;
}
.bg__gry {
  background-color: #f0f0f0;
}

.txt__ctr {
  text-align: center;
}

.btn {
  font-size: 14px;
  background-color: #f3f2ed;
  width: 100%;
  max-width: 280px;
  display: block;
  margin: 60px auto;
  padding: 10px 0;
  text-align: center;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border: 1px solid #666666;
}
.btn:hover {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  background-color: #666666;
  color: #ffffff;
}
.btn__clear {
  text-align: center;
  display: block;
  text-decoration: underline;
  color: #0066cc;
  margin-bottom: 100px;
}

.lazyload,
.lazy {
  opacity: 0;
}

.lazyloaded {
  opacity: 1;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.max_height {
  height: 50vh;
}

.textlink {
  color: #122f60;
  text-decoration: underline;
  margin-right: 1em;
}

.ly_flat {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width: 680px) {
  .ly_flat {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.ly_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
}

.container {
  width: 100%;
  margin: auto;
  padding: 0 15px;
}

.w-lg {
  max-width: 1100px;
}

.w-md {
  max-width: 900px;
}

.w-sm {
  max-width: 790px;
}

.w-xs {
  max-width: 620px;
}

.w-xxs {
  max-width: 550px;
}

.col__2 {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[2];
  grid-template-columns: repeat(2, 1fr);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (max-width: 680px) {
  .col__2 {
    -ms-grid-columns: 1fr;
    grid-template-columns: repeat(1, 1fr);
    gap: 1rem;
  }
}
.col__3 {
  width: 100%;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 3em 1fr 3em 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 3em;
}
@media only screen and (max-width: 940px) {
  .col__3 {
    -ms-grid-columns: 1fr 2rem 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
}
@media only screen and (max-width: 680px) {
  .col__3 {
    -ms-grid-columns: 1fr;
    grid-template-columns: repeat(1, 1fr);
    gap: 1rem;
  }
}
.col__4 {
  width: 100%;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 3rem 1fr 3rem 1fr 3rem 1fr;
  grid-template-columns: repeat(4, 1fr);
  gap: 3rem;
}
@media only screen and (max-width: 940px) {
  .col__4 {
    -ms-grid-columns: 1fr 2rem 1fr 2rem 1fr;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
  }
}
@media only screen and (max-width: 680px) {
  .col__4 {
    -ms-grid-columns: 1fr 1rem 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
}

.ly_5cols {
  width: 100%;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1rem 1fr 1rem 1fr 1rem 1fr 1rem 1fr;
  grid-template-columns: repeat(5, 1fr);
  gap: 1rem;
}
@media only screen and (max-width: 680px) {
  .ly_5cols {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
}

.ly_wrapper {
  position: relative;
}

/* IEだけに適応 */
_:lang(x)::-ms-backdrop,
.selector {
  font-family: "Segoe UI", Meiryo, sans-serif;
}

/*---------------------------------------
   ヘッダー
---------------------------------------*/
#fixed_header {
  top: 0px;
  left: 0px;
  z-index: 10;
  width: 100%;
  background: #FFFFFF !important;
  border-bottom: 8px solid #122f60;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3em;
  padding: 10px 5%;
}

.header_logo {
  width: 300px;
}
.header_tel {
  padding: 5px 10px;
  text-align: center;
  margin-left: auto;
}
.header_tel span {
  display: block;
  font-size: 36px;
  font-weight: bold;
  color: #b91800;
  line-height: 0.8;
}
.header_btn {
  background-color: #b91800;
  color: #ffffff;
  font-weight: bold;
  font-size: 20px;
  padding: 5px 10px;
  text-align: center;
  border-radius: 100vh;
}
.header_btn span {
  color: #f8b62d;
}

#tss_logo {
  display: block;
  padding: 0px;
}

#header-container {
  background-color: #FFF;
  border-top: #999 1px solid;
  width: 100%;
  padding-top: 15px;
  padding-right: auto;
  padding-left: auto;
  text-align: left;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 5px 0 0 0;
  padding: 0;
}

#header-box {
  width: 100%;
  height: 35px;
  border-bottom: 5px solid #691300;
  margin: 0;
  padding: 0;
}

#headwrap {
  margin: -16px auto 0 auto;
  padding: 0 !important;
  list-style: none;
  width: 1110px !important;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.tabwrap {
  position: relative;
  width: 100%;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 1110px;
  margin: 0 auto;
}

.tabwrap li {
  width: 16%;
  margin-right: 3px;
  list-style: none;
  height: 30px;
  line-height: 30px;
  text-align: center;
  font-size: 16px;
  border: solid 1px #cccccc;
  border-bottom: none;
  font-weight: bold;
  border-radius: 5px 5px 0 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
}

.tabwrap li:last-child {
  border-right: 1px solid #cccccc;
}

.tabwrap li a {
  display: block;
  width: 100%;
  height: 30px;
  text-decoration: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 16px;
  color: #333333;
}

.tabwrap li:hover a, .tabwrap li.select a {
  color: #FFFFFF;
  font-size: 16px;
  border: none !important;
}

.tabwrap li:hover, .tabwrap li.select {
  color: #FFFFFF;
  background: #691300;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.tabwrap .head_title {
  display: block;
  width: 100%;
  height: 30px;
  border: none !important;
  text-decoration: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.tabwrap .head_title + .head_title {
  margin-left: 8px;
}

.tabwrap .head_title:hover, .tabwrap .head_title.select {
  background-color: #691300;
  color: #fff;
  border-radius: 5px 5px 0 0;
  border: none !important;
}

.tabwrap .tabcont {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  position: absolute;
  max-height: calc(100vh - 150px);
  width: 100%;
  top: 30px;
  left: 0;
  margin: auto;
  text-align: center;
  color: #000;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow: hidden;
  background-color: #691300;
  cursor: default;
  overflow-y: scroll;
  display: none;
  border-top: #691300 solid 5px;
  border-bottom: #691300 solid 5px;
}

.tabwrap .tabcont .inner {
  height: 100%;
  width: calc(100% - 10px);
  margin: -5px 0 0 5px;
  padding: 0 50px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #FFFFFF;
}

.tabwrap .tabcont.select {
  display: block;
  -webkit-animation: appear 0.3s ease;
          animation: appear 0.3s ease;
}

@-webkit-keyframes appear {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes appear {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.tabcont_close {
  font-weight: normal;
  font-size: 14px;
  color: #333;
  position: absolute;
  right: 15px;
  top: 0px;
  font-family: "FontAwesome";
  font-style: normal;
}

.tabcont_close:after {
  content: "\f057";
  font-weight: normal;
  font-size: 14px;
  color: #333;
  font-family: "FontAwesome";
  font-style: normal;
  margin-left: 5px;
}

.header_cat {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding-bottom: 30px;
}

.header_cat li {
  width: 16.6666666667%;
  padding: 10px 5px 10px 38px;
  float: left;
  list-style: none;
  text-align: left;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  height: 50px;
  border-bottom: 1px solid #FFDD66 !important;
  border-top: none;
  border-right: none;
  border-left: 1px solid #FFDD66 !important;
  background: -webkit-gradient(linear, left top, left bottom, from(#FFFFFF), to(#FFFFFF)) !important;
  background: linear-gradient(to bottom, #FFFFFF, #FFFFFF) !important;
  margin-right: 0;
  border-radius: 0px;
}

.header_cat li.last {
  border-right: 1px solid #FFDD66 !important;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.header_cat li a {
  width: 100%;
  color: #555555 !important;
  font-weight: bold;
  text-decoration: none;
  line-height: 16px !important;
  font-size: 14px !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.header_cat li a:hover {
  text-decoration: underline;
  color: #ff6600;
  background: none;
}

.header_cat li.cat_title {
  color: #666;
  width: 100%;
  margin: 20px 0 0 0 !important;
  font-size: 24px;
  height: 57px;
  line-height: 28px;
  padding-left: 5px;
  padding-bottom: 20px;
  background: url(./img/common/contents_title_bg.png) repeat-x 0 bottom !important;
  border: none !important;
}
@media only screen and (max-width: 680px) {
  .header_cat li.cat_title {
    font-size: 18px;
  }
}

.header_cat li img {
  width: 30px;
  position: absolute;
  left: 5px;
  top: 10px;
}

/*---------------------------------------
   ヘッダー（スマホ）
---------------------------------------*/
.header_icon {
  position: fixed;
  height: 50px;
  top: 10px;
  left: 10px;
  margin: 0;
  padding: 0;
}

.header_icon img {
  height: 30px;
  width: auto;
  max-width: 100%;
}

.l-header {
  background: #ffffff;
  border-bottom: 3px solid #122f60;
  width: 100%;
  height: 50px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
}

.l-drawer {
  position: relative;
}

.l-drawer__checkbox {
  display: none;
}

.l-drawer__icon {
  cursor: pointer;
  display: block;
  width: 42px;
  height: 40px;
  position: fixed;
  top: 5px;
  right: 10px;
  padding-top: 18px;
  border: #ffffff 1px solid;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 5px;
}

.l-drawer__icon-parts {
  position: relative;
  display: block;
  left: 5px !important;
}

.l-drawer__icon-parts,
.l-drawer__icon-parts:before,
.l-drawer__icon-parts:after {
  width: 30px;
  height: 3px;
  -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  -webkit-transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
  background-color: #FFF;
  position: absolute;
}

.l-drawer__icon-parts:before,
.l-drawer__icon-parts:after {
  position: absolute;
  top: -10px;
  content: " ";
}

.l-drawer__icon-parts:after {
  top: 10px;
}

.l-drawer__checkbox:checked ~ .l-drawer__icon .l-drawer__icon-parts {
  background-color: transparent;
}

.l-drawer__checkbox:checked ~ .l-drawer__icon .l-drawer__icon-parts:before,
.l-drawer__checkbox:checked ~ .l-drawer__icon .l-drawer__icon-parts:after {
  top: 0;
}

.l-drawer__checkbox:checked ~ .l-drawer__icon .l-drawer__icon-parts:before {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.l-drawer__checkbox:checked ~ .l-drawer__icon .l-drawer__icon-parts:after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.l-drawer__overlay {
  background: #000;
  opacity: 0;
  pointer-events: none;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 90;
}

.l-drawer__menu {
  background: #666666;
  color: #FFFFFF;
  max-width: 100%;
  width: 320px;
  height: 100vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  position: fixed;
  top: 50px;
  right: -320px;
  padding: 10px 15px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  z-index: 99;
}

.l-drawer__menu li {
  width: 100%;
  height: 36px;
  line-height: 36px;
  color: #FFFFFF !important;
  font-size: 18px;
  text-indent: 5px;
  z-index: 100;
}

.l-drawer__menu li.title, .l-drawer__menu li.kensaku_title {
  width: 100%;
  height: 40px;
  line-height: 37px;
  color: #FFFFFF;
  font-size: 22px;
  font-weight: bold;
  border-bottom: 3px solid #ff6600;
  text-indent: 5px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-top: 0px;
}

.l-drawer__menu li.title {
  margin-top: 15px;
}

.l-drawer__menu li a {
  color: #FFFFFF !important;
  text-decoration: none;
  display: block;
  z-index: 100;
}

.l-drawer__menu hr {
  border: none;
  border-top: 1px solid #FFF;
  margin: 5px 0 !important;
  width: 100%;
  padding: 0px !important;
  background: none;
}

.l-drawer__menu hr.dotted {
  border: none;
  border-top: 1px dotted #FFF;
  height: 1px;
  margin: 5px 0 !important;
  width: 100%;
  padding: 0px !important;
  background: none;
}

/* 検索エリア */
.l-drawer__menu li.kensaku input, .l-drawer__menu li.kensaku button, select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.l-drawer__menu li.kensaku {
  width: 100%;
  height: 90px;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-indent: 0px;
}

.l-drawer__menu li.kensaku select {
  font-size: 16px !important;
  color: #000000;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100% !important;
  margin: 0 !important;
  padding: 5px;
  text-indent: 0;
}

.l-drawer__menu li.kensaku input[type=search] {
  display: block;
  width: 240px;
  font-size: 20px;
  height: 36px;
  line-height: 26px;
  border: #FFFFFF 1px solid;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  float: left;
  border-radius: 3px 0 0 3px;
  margin: 0 0 0 5px !important;
  padding: 0 !important;
  -webkit-box-shadow: 0;
          box-shadow: 0;
  background: #ffffff;
}

.l-drawer__menu li.kensaku button[type=submit] {
  display: block;
  width: 40px;
  height: 36px;
  line-height: 26px;
  border: #FFFFFF 2px solid;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 20px;
  color: #FFFFFF;
  background: #FF6600;
  text-align: center;
  margin: 0 !important;
  padding: 0 !important;
  float: left;
  border-radius: 0 3px 3px 0;
}

.l-drawer__icon {
  z-index: 100;
}

.l-drawer__menu {
  position: absolute;
  z-index: 99;
}

.l-drawer__overlay {
  z-index: 99;
}

.l-drawer__checkbox:checked ~ .l-drawer__overlay {
  opacity: 0.3;
  pointer-events: auto;
}

.l-drawer__checkbox:checked ~ .l-drawer__menu {
  right: 0;
}

.l-drawer__icon-parts,
.l-drawer__icon-parts:after,
.l-drawer__icon-parts:before,
.l-drawer__overlay,
.l-drawer__menu {
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}

.l-drawer__menu .border {
  height: 1px;
  border: none;
  border-top: 1px solid #FFFFFF !important;
  width: 100%;
  margin: 5px auto;
}

.l-drawer__kensaku {
  cursor: pointer;
  display: block;
  width: 42px;
  height: 40px;
  position: fixed;
  top: 5px;
  right: 15px;
  padding-top: 17px;
  border: #ffffff 1px solid;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 5px;
}

/*検索ボックス全体*/
.searchBox {
  width: 100%;
  margin: 0;
  padding: 0;
  -webkit-transition: all 0.2s !important;
  transition: all 0.2s !important;
}

/*ラベル*/
.searchBox label {
  display: block !important;
  font-weight: bold;
  cursor: pointer;
  position: absolute;
  top: 5px;
  right: 135px;
  color: #ffffff;
  border-radius: 3px;
  height: 40px;
  width: 40px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 20px;
  padding: 9px;
  z-index: 80;
}

/*チェックボックスを非表示にする*/
.searchBox input {
  display: none;
}

/*中身を非表示にしておく*/
.searchBox div.inbox {
  height: 0;
  overflow-y: hidden;
  opacity: 0;
}

/*クリックで中身を表示*/
.searchBox input:checked + label + div {
  height: auto;
  opacity: 1;
  position: absolute;
  top: 50px;
  left: 0;
  right: 0;
  background: #DBDBDB;
  border-bottom: 1px solid #BDBDBD;
  -webkit-transition: all 0.2s !important;
  transition: all 0.2s !important;
}

/*アイコン*/
.searchBox label::before {
  content: "\f002";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  padding-right: 8px;
}

.searchBox input:checked + label::before {
  content: "\f002";
}

/* 検索エリア */
.searchBox input, .searchBox button, .searchBox select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.searchBox .inbox {
  width: 100%;
  padding: 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.searchBox .inbox select {
  display: block;
  font-size: 16px !important;
  color: #000000;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100% !important;
  margin: 5px 0 0 0 !important;
  padding: 5px !important;
}

.searchBox .inbox input[type=search] {
  display: block;
  width: 80%;
  font-size: 20px;
  height: 36px;
  line-height: 26px;
  border: #BDBDBD 1px solid;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 5px 0 0 5px;
  margin: 0 !important;
  padding: 0 !important;
  -webkit-box-shadow: none;
          box-shadow: none;
  background: #ffffff;
  text-indent: 5px;
  float: left;
}

.searchBox button[type=submit] {
  display: block;
  width: 20%;
  height: 36px;
  line-height: 26px;
  border: #BDBDBD 1px solid;
  border-left: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 16px;
  color: #FFFFFF;
  background: #FF6600;
  text-align: center;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 5px 5px 0;
  float: left;
}

.searchBox .inbox .srcBox_btn {
  position: relative;
  display: block;
  width: 30px;
  float: right;
}

/*カートボタン*/
.cartBtn {
  display: block;
  font-weight: bold;
  cursor: pointer;
  position: absolute;
  top: 5px;
  right: 100px;
  color: #ffffff;
  border-radius: 3px;
  padding: 9px 8px;
  width: 40px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 20px;
}

.loginBtn, .logoutBtn {
  display: block;
  font-weight: bold;
  cursor: pointer;
  position: absolute;
  top: 5px;
  right: 60px;
  color: #ffffff;
  border-radius: 3px;
  padding: 9px 8px;
  height: 40px;
  width: 40px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 20px;
}

.cartBtn a, .loginBtn a, .logoutBtn a {
  color: #ffffff;
  display: block;
  width: 100%;
}

/* clearfix */
#siteHeader:after,
#siteFooter nav ul:after {
  content: "";
  display: block;
  clear: both;
}

/* devicePixelRatio:2.0 */
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  div.alert ul li a {
    background-image: url(./img/sp/icon_alert_2x.png);
    background-size: 21px 21px;
  }
  #pickup div.round a {
    background-image: url(./img/sp/icon_arrow_black_large_2x.png);
    background-size: 11px 17px;
  }
  div.indexBoxes ul li a {
    background-image: url(./img/sp/icon_arrow_black_2x.png);
    background-size: 18px 13px;
  }
  ul.informationLink li a {
    background-image: url(./img/sp/icon_arrow_gray_2x.png);
    background-size: 18px 13px;
  }
}
.fixed {
  position: fixed;
  top: 0;
  z-index: 1;
}

.fixed-info {
  position: fixed;
  top: 50px !important;
  z-index: 1;
}

nav#global-nav {
  width: 100%;
  max-width: 774px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

nav#global-nav .fixed {
  position: fixed;
  top: 0;
  z-index: 1;
}

.toggle h2 span {
  background-image: url(./img/sp/icon_minus_white.png) !important;
}

.toggle.close h2 span {
  background-image: url(./img/sp/icon_plus_white.png) !important;
}

.toggle.close ul {
  display: none;
}

@media screen and (-webkit-min-device-pixel-ratio: 2) {
  #siteHeader nav p.menu span {
    background-image: url(./img/sp/icon_arrow_down_white_2x.png), url(./img/sp/bg_line.png);
    background-size: 10px 6px, 1px auto;
  }
  .toggle h2 span {
    background-image: url(./img/sp/icon_minus_white_2x.png) !important;
    background-size: 34px 24px !important;
  }
  .toggle.close h2 span {
    background-image: url(./img/sp/icon_plus_white_2x.png) !important;
    background-size: 34px 24px !important;
  }
}
.menu-toriatukai a {
  display: block;
  padding: 0 20px;
  text-decoration: none;
  color: #000;
  font-size: 16px;
}

.menu-toriatukai label {
  display: block;
  padding: 6px;
  line-height: 1;
  color: #fff;
  cursor: pointer;
  font-size: 16px;
  height: 10px;
}

.menu-toriatukai label:after {
  content: "\f078";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  float: right;
}

.menu-toriatukai input[type=checkbox]:checked + label::after {
  content: "\f077";
}

/*.menu-toriatukai input[type="checkbox"]:checked ~ .toriatsukai3 li:last-child{
    margin-bottom: -10px;
    }
*/
.toriatsukai {
  display: none;
}

.menu-toriatukai ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.menu-toriatukai li {
  height: 0;
  overflow: hidden;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  line-height: 35px;
}

.toriatsukai2 {
  text-indent: 1em;
}

.toriatsukai3 li:first-child {
  margin-top: 3px;
}

.toriatsukai3 li:last-child {
  margin-bottom: 3px;
}

.toriatsukai3 li {
  text-indent: 1.2em;
}

#menu_bar01:checked ~ #links01 li,
#menu_bar02:checked ~ #links02 li,
#menu_bar03:checked ~ #links03 li,
#menu_bar04:checked ~ #links04 li,
#menu_bar05:checked ~ #links05 li,
#menu_bar06:checked ~ #links06 li,
#menu_bar07:checked ~ #links07 li,
#menu_bar08:checked ~ #links08 li,
#menu_bar09:checked ~ #links09 li,
#menu_bar10:checked ~ #links10 li,
#menu_bar11:checked ~ #links11 li,
#menu_bar12:checked ~ #links12 li {
  height: 30px;
  opacity: 1;
}

#drawerCheckbox {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#drawerCheckbox ul {
  height: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

/*---------------------------------------
   フッター
---------------------------------------*/
.footer_logo {
  width: 100%;
  min-width: 1000px;
  color: #999;
  border-top: #F96 3px solid;
  background: url(./img/common/footer_logo.gif) right no-repeat #F4F4F4;
  text-align: center;
  font-size: 13px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 3px 0;
}

#footer_2 {
  height: 21px;
  width: 1000px;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 16px;
}

footer {
  font-family: sans-serif, "Font Awesome 5 Free";
}

footer ul {
  padding: 0;
  margin: 0;
}

footer li {
  padding: 0;
  margin: 0;
  list-style: none;
}

footer h2 {
  font-size: 18px;
  height: auto;
  line-height: 25px;
  margin: 10px;
  padding: 5px 5px 5px 10px;
  border-left: 3px solid #FF6600;
  border-bottom: 1px solid #CCC;
  clear: both;
  font-weight: bold;
}

.yellow_button {
  width: 90% !important;
  font-size: 20px;
  margin: 10px auto;
  padding: 15px 10px;
  text-align: center;
  color: #333333 !important;
  background-color: #FC3;
  background: -webkit-gradient(linear, left top, left bottom, from(#FFC), to(#FC3));
  border-radius: 10px;
  border: #333333 1px solid;
  display: block;
  text-decoration: none !important;
}

.yellow_button {
  color: #333333 !important;
  display: block;
  width: 90% !important;
  font-size: 20px;
}

.clear-div {
  clear: both;
}

#siteFooter nav ul {
  background: #eaeaea;
  margin: 0 calc(50% - 50vw) !important;
}

#siteFooter nav ul li {
  border: 1px solid #ccc;
  border-bottom: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  float: left;
  text-align: center;
  width: 50%;
}

#siteFooter nav ul li a {
  display: block;
  padding: 10px 0;
  text-decoration: none;
  font-weight: bold;
}

#siteFooter nav ul li:nth-child(odd) {
  border-left: none;
  clear: left;
}

#siteFooter nav ul li:nth-child(even) {
  border-right: none;
  margin-left: -1px;
}

#siteFooter p#copyright {
  background: #2f2f2f;
  color: #fff;
  font-family: helvetica, arial;
  padding: 5px 0;
  text-align: center;
  margin: 0 calc(50% - 50vw);
}

#siteFooter ul.nav2 {
  margin: 0 calc(50% - 50vw) !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: #666;
  -ms-flex-pack: distribute;
      justify-content: space-around;
}

#siteFooter ul.nav2 li {
  text-align: center;
  font-weight: bold;
  width: 33%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

#siteFooter ul.nav2 li a {
  display: block;
  color: #FFFFFF;
  padding: 15px 0;
}

#siteFooter ul.nav2 i {
  width: 100%;
  text-align: center;
  color: #FFFFFF;
}

#siteFooter ul.nav2 i:before {
  padding: 0;
}

#siteFooter ul.nav2 p {
  clear: both;
  padding: 0;
  color: #666;
  text-align: center;
  font-size: 11px;
  margin: 10px 0 !important;
}

@media screen and (min-width: 451px) {
  #siteFooter ul.nav2 i {
    font-size: 20px !important;
  }
  #siteFooter ul.nav2 li {
    width: 33%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  #siteFooter ul.nav2 li:nth-child(2) {
    width: 34%;
    border-right: #FFF solid 1px;
    border-left: #FFF solid 1px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  #siteFooter ul.nav2 .footer_title br {
    display: none;
  }
}
@media screen and (max-width: 450px) {
  #siteFooter ul.nav2 .footer_title {
    font-size: 12px;
  }
}
/* sp-link */
#siteFooter .pc-link {
  width: 100vw !important;
  margin: 0 calc(50% - 50vw) !important;
  padding: 10px !important;
  background: #ddd;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

#siteFooter .pc-link a {
  display: block;
  background: #fff;
  border: 1px solid #ababab;
  border-radius: 5px;
  padding: 10px;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/*---------------------------------------
   施工事例
---------------------------------------*/
.headline {
  background-color: #f3f2ed;
  padding: 125px 0 110px;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 680px) {
  .headline {
    padding: 70px 15px;
    margin-top: 50px;
  }
}
.headline_bg {
  background-size: cover !important;
  background-position: center !important;
}
.headline_bg::before {
  content: "";
  background-color: rgba(0, 0, 0, 0.4);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
}

.form .ly_flex {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.form .ly_flex li {
  width: 20%;
}
.form .ly_flex li:first-child {
  width: 100%;
}
@media only screen and (max-width: 680px) {
  .form .ly_flex {
    gap: 10px;
  }
  .form .ly_flex li {
    font-size: 12px;
    width: calc(50% - 10px);
  }
}

.archive .container {
  width: 100%;
  margin: auto;
  padding: 0 15px;
  /*display: grid;
  grid-template-columns: 1fr 4fr;
  gap: 3em;*/
  font-size: 14px;
}
@media only screen and (max-width: 680px) {
  .archive .container {
    display: block;
    gap: 1em;
  }
}
.archive .container__rt img {
  margin: 0 auto 10px;
}
@media only screen and (max-width: 940px) {
  .archive .container__rt {
    -ms-grid-columns: 1fr 2rem 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
}
@media only screen and (max-width: 680px) {
  .archive .container__rt {
    gap: 1rem;
  }
}
.archive .container__rt h2 {
  font-weight: normal;
  font-size: 18px;
}
@media only screen and (max-width: 680px) {
  .archive .container__lt {
    margin-top: 50px;
  }
}
.archive .container__lt .cat_title {
  font-size: 18px;
  margin: 0 0 10px;
  height: 40px;
  line-height: 0.8;
  padding-left: 5px;
}
@media only screen and (max-width: 680px) {
  .archive .container__lt .cat_title {
    font-size: 16px;
    height: 30px;
  }
}
.archive .container__lt ul {
  padding-left: 5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.archive .container__lt ul li {
  margin-bottom: 10px;
}
.archive .container__lt ul li:last-child {
  margin-bottom: 30px;
}
.archive article a {
  cursor: pointer;
}
.archive article p a {
  color: #0066cc;
  text-decoration: none;
}
.archive article p a:hover {
  text-decoration: underline;
}
.archive__title {
  margin-top: 30px;
  margin-bottom: 10px;
  padding-bottom: 5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  white-space: nowrap;
}
.archive__title::after {
  content: "";
  background-color: #122f60;
  height: 1px;
  width: 100%;
}

.example {
  position: relative;
  padding: 130px 0;
}
.example__container {
  width: 100%;
  max-width: 1100px;
  padding: 0 15px;
  margin: 0 auto;
}
.example__container--inner {
  width: 100%;
  margin: 0 auto 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 2em;
}
@media only screen and (max-width: 940px) {
  .example__container--inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-width: unset;
    margin: 0;
  }
}
.example__total {
  margin-bottom: 20px;
  font-size: 1.2em;
  font-weight: bold;
}
.example__total span {
  font-size: 1.4em;
}
.example__img {
  width: 100%;
  max-width: 610px;
  overflow: hidden;
}
@media only screen and (max-width: 940px) {
  .example__img {
    max-width: unset;
  }
}
.example__img img {
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.example__img--box img {
  width: 100%;
  height: 400px;
  -o-object-fit: cover;
     object-fit: cover;
}
.example__img--thumbs {
  margin-top: 2px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: spaze-between;
      -ms-flex-pack: spaze-between;
          justify-content: spaze-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.example__img--thumbs .slick-track {
  margin-left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  width: 100% !important;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.example__img--thumbs li {
  padding: 4px 0 0 4px;
  cursor: pointer;
  width: 20% !important;
}
.example__img--thumbs li:first-child, .example__img--thumbs li:nth-child(6) {
  padding: 4px 0 0 0;
}
.example__img--thumbs img {
  width: 100%;
  height: 85px;
  margin: 0 auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.example article a:hover .example__img img,
.example article a:hover img.example__img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.example__ttl {
  font-size: 16px;
}
.example__txt {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  gap: 1.5em;
}
@media only screen and (max-width: 1024px) {
  .example__txt {
    padding-right: 15px;
  }
}
@media only screen and (max-width: 940px) {
  .example__txt {
    padding-right: 0;
  }
}
.example__txt h3 {
  font-size: 24px;
}
.example__txt .price {
  font-size: 26px;
  padding-bottom: 20px;
  border-bottom: 1px solid #837f28;
}
.example__txt .price span {
  font-size: 18px;
}
.example__txt .btn {
  margin: 0 auto 0 0;
}
@media only screen and (max-width: 680px) {
  .example__txt .btn {
    margin: 0 auto;
  }
}
.example__lst {
  font-size: 14px;
  margin: 60px auto;
}
.example__lst.col__4 {
  margin-bottom: 150px;
}
.example__lst article > a {
  display: block;
  overflow: hidden;
}
.example__lst img {
  width: 100%;
  height: 250px;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.example__lst article > a:hover img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.example__lst a {
  cursor: pointer;
  color: #0066cc;
  text-decoration: none;
}
.example__lst a:hover {
  text-decoration: underline;
}
@media only screen and (max-width: 680px) {
  .example__lst {
    margin: 0 auto;
  }
  .example__lst.col__4 {
    margin-bottom: 50px;
  }
  .example__lst img {
    height: 120px;
  }
}
.example__detail--1 {
  position: relative;
  padding: 0 0 150px;
}
@media only screen and (max-width: 680px) {
  .example__detail--1 {
    padding: 0 0 50px;
  }
}
.example__detail--1 .cat_title {
  font-size: 24px;
  margin: 0 0 20px;
  height: 40px;
  line-height: 0.8;
  padding-left: 5px;
  padding-bottom: 20px;
  border-bottom: solid 3px #122f60;
  position: relative;
}
@media only screen and (max-width: 680px) {
  .example__detail--1 .cat_title {
    font-size: 18px;
    height: 30px;
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    padding-right: 40px;
    margin-top: 30px;
  }
}
.example__detail--1 .cat_title__icon {
  display: none;
}
@media only screen and (max-width: 680px) {
  .example__detail--1 .cat_title__icon {
    display: inline-block;
    position: absolute;
    right: 10px;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    font-size: 24px;
    line-height: 1;
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  }
}
@media only screen and (max-width: 680px) {
  .example__detail--1 .cat_title[aria-expanded=true] .cat_title__icon {
    -webkit-transform: translateY(-50%) rotate(45deg);
            transform: translateY(-50%) rotate(45deg);
  }
}
.example__detail--1 h3 {
  font-size: 16px;
  height: auto;
  line-height: 25px;
  margin: 5px 10px 10px 10px;
  padding: 3px 5px 3px 10px;
  text-align: left;
  border-left: 3px solid #333333;
  background-color: #EEEEEE;
}
.example__detail--1 .example__txt {
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
  gap: 0;
}
.example__detail--1 .example__txt p {
  padding: 0 20px 10px;
  line-height: 1.8;
}
.example__detail--1 .cat__lst {
  padding: 0 10px;
}
@media only screen and (max-width: 680px) {
  .example__detail--1 .example__container--inner {
    max-height: 0;
    overflow: hidden;
    -webkit-transition: max-height 0.3s ease;
    transition: max-height 0.3s ease;
    margin: 0;
  }
}
@media only screen and (max-width: 680px) {
  .example__detail--1 .cat_title[aria-expanded=true] + .example__container--inner {
    max-height: 2000px;
    margin: 0 auto 50px;
  }
}
.example__detail--2 {
  padding: 50px 0;
}
@media only screen and (max-width: 680px) {
  .example__detail--2 {
    padding: 0 0 50px;
  }
}
.example__detail--2 p {
  line-height: 1.8;
}
@media only screen and (max-width: 680px) {
  .example__detail--2 p {
    padding: 0 20px;
  }
}

.cat__lst {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5em;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 10px;
  margin-bottom: 30px;
}
.cat__lst a {
  font-size: 12px;
  padding: 2px 5px;
  color: #ffffff;
  text-align: center;
  display: block;
}
.cat__lst--kitchen {
  background-color: red;
}
.cat__lst--bath {
  background-color: blue;
}
.cat__lst--washroom {
  background-color: green;
}
.cat__lst--toilet {
  background-color: orange;
}
.cat__lst--other {
  background-color: black;
}

.lb-data .lb-caption {
  font-size: 18px !important;
}

.editor .ttl__ctr {
  margin-bottom: 75px;
}
.editor h3 {
  margin-bottom: 1em;
}
.editor p {
  margin-bottom: 1em;
  line-height: 1.8em;
}
.editor .container {
  padding: 100px 15px;
}
.editor .container article {
  line-height: 2.5em;
}

/*---------------------------------------
   Slickボタン
--------------------------------------- */
.slick-prev {
  top: -55px !important;
  left: 50% !important;
  z-index: 5;
  width: 100% !important;
  max-width: 1100px;
  height: 30px !important;
  pointer-events: none;
  -webkit-transform: translateX(-50%) !important;
          transform: translateX(-50%) !important;
}
.slick-prev:before {
  content: "" !important;
  width: 30px;
  height: 30px;
  display: block;
  background-color: #837f28;
  z-index: 10;
  position: absolute;
  top: 0;
  right: 40px;
  pointer-events: auto;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.slick-prev::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7.5px 13px 7.5px 0;
  border-color: transparent #ffffff transparent transparent;
  position: absolute;
  right: 50px;
  top: 7px;
  z-index: 11;
  pointer-events: auto;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.slick-next {
  top: -55px !important;
  left: 50% !important;
  z-index: 5;
  width: 100% !important;
  max-width: 1100px;
  height: 30px !important;
  pointer-events: none;
  -webkit-transform: translateX(-50%) !important;
          transform: translateX(-50%) !important;
}
.slick-next:before {
  content: "" !important;
  width: 30px;
  height: 30px;
  display: block;
  background-color: #837f28;
  z-index: 10;
  position: absolute;
  top: 0;
  right: 0;
  pointer-events: auto;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.slick-next::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7.5px 0 7.5px 13px;
  border-color: transparent transparent transparent #ffffff;
  position: absolute;
  right: 7px;
  top: 7px;
  z-index: 11;
  pointer-events: auto;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

/*---------------------------------------
   トップページ
---------------------------------------*/
/*---------------------------------------
   パンくず
---------------------------------------*/
#breadcrumb {
  margin: 20px 0 90px;
}
@media only screen and (max-width: 680px) {
  #breadcrumb {
    margin: 20px 0;
  }
}
#breadcrumb ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 15px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#breadcrumb ul li {
  position: relative;
  padding-right: 20px;
}
#breadcrumb ul li::after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: solid 2px #ccc;
  border-right: solid 2px #ccc;
  position: absolute;
  right: 0;
  top: 8px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
#breadcrumb ul li:last-child::after {
  display: none;
}

/*---------------------------------------
   Light Box
---------------------------------------*/
#fancybox-prev, #fancybox-next {
  display: block !important;
  top: 0 !important;
  margin-top: unset !important;
  width: 30%;
  height: 100%;
}

#fancybox-next, body.rtl #fancybox-prev {
  right: 0 !important;
}
#fancybox-next span, body.rtl #fancybox-prev span {
  top: 50% !important;
}

#fancybox-prev, body.rtl #fancybox-next {
  left: 0 !important;
}
#fancybox-prev span, body.rtl #fancybox-next span {
  top: 50% !important;
}

#fancybox-next span, body.rtl #fancybox-prev span {
  top: 50% !important;
  left: calc(100% - 36px);
}

#fancybox-close {
  top: 0 !important;
  right: 6px !important;
}

.fancy-ico span {
  border: unset !important;
  background: unset !important;
  border-radius: unset !important;
  -webkit-box-shadow: unset !important;
          box-shadow: unset !important;
}

#fancybox-prev span::after, #fancybox-next span::after {
  width: 20px !important;
  height: 20px !important;
  border-top: 4px solid #fff !important;
  border-right: 4px solid #fff !important;
}

#fancybox-close span::after, #fancybox-close span::before {
  width: 30px !important;
  height: 4px !important;
}

/*---------------------------------------
   ページネーション
---------------------------------------*/
.wp-pagenavi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 25px;
  margin: 65px auto 130px;
}
@media only screen and (max-width: 680px) {
  .wp-pagenavi {
    font-size: 12px;
  }
}
.wp-pagenavi a {
  color: #666666;
  background-color: #f3f2ed;
  padding: 5px 12px !important;
}
@media only screen and (max-width: 680px) {
  .wp-pagenavi a {
    padding: 5px 8px !important;
  }
}
.wp-pagenavi .current {
  color: #ffffff;
  background-color: #666666;
  padding: 5px 12px;
}
.wp-pagenavi .first,
.wp-pagenavi .last {
  width: 12px;
  height: 10px;
  display: inline-block;
  background-image: url(./img/page-arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  margin-top: 3px;
}
.wp-pagenavi .nextpostslink,
.wp-pagenavi .previouspostslink {
  width: 12px;
  height: 10px;
  display: inline-block;
  background-image: url(./img/page.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
.wp-pagenavi .first,
.wp-pagenavi .previouspostslink {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

/*---------------------------------------
   ドロワー
---------------------------------------*/
#nav-drawer {
  display: block;
}

#drawer-checkbox {
  display: none;
}

#drawer-icon {
  cursor: pointer;
  display: inline-block;
  position: fixed;
  width: 50px;
  height: 50px;
  z-index: 10;
  top: 14px;
  right: 25px;
}
@media only screen and (max-width: 680px) {
  #drawer-icon {
    top: 10px;
    right: -3px;
  }
}

#drawer-text {
  font-size: 10px;
  position: absolute;
  top: 70px;
  right: 35px;
}

#drawer-icon span {
  display: block;
  height: 2px;
  left: 50%;
  margin: -8% 0 0 -42%;
  position: absolute;
  top: 20px;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  width: 30px;
  background-color: #ffffff;
}
#drawer-icon span::before {
  -webkit-transform: rotate(0);
  content: "";
  display: block;
  height: 2px;
  left: 50%;
  margin: -10px 0 0 -50%;
  position: absolute;
  top: 0px;
  transform: rotate(0);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  width: 30px;
  background-color: #ffffff;
}
#drawer-icon span::after {
  -webkit-transform: rotate(0);
  content: "";
  display: block;
  height: 2px;
  left: 50%;
  margin: 8px 0 0 -50%;
  position: absolute;
  top: 3px;
  transform: rotate(0);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  width: 30px;
  background-color: #ffffff;
}

#drawer-checkbox:checked ~ #drawer-icon span {
  background: rgba(51, 51, 51, 0);
  height: 2px;
}
#drawer-checkbox:checked ~ #drawer-icon span::before, #drawer-checkbox:checked ~ #drawer-icon span::after {
  content: "";
  display: block;
  height: 100%;
  left: 50%;
  margin: -8% 0 0 -42%;
  position: absolute;
  top: 50%;
  width: 100%;
}
#drawer-checkbox:checked ~ #drawer-icon span::before {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
#drawer-checkbox:checked ~ #drawer-icon span::after {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

#drawer-content {
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  -webkit-transition: all 0.3s ease-in-out 0s;
  transition: all 0.3s ease-in-out 0s;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
  padding: 20px 40px;
  background-color: #666666;
}
#drawer-content nav {
  position: absolute;
  top: 40%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-40%);
          transform: translateX(-50%) translateY(-40%);
}
#drawer-content nav ul {
  display: block;
}
#drawer-content nav ul li {
  text-align: center;
}
#drawer-content nav ul li a {
  color: #ffffff;
}
#drawer-content hr {
  margin-top: 10px;
  margin-bottom: 10px;
}
#drawer-content li {
  padding: 10px 0;
  border-bottom: 1px dotted #666666;
}
#drawer-content li:last-child {
  border-bottom: none;
}
#drawer-content .bl_sns {
  position: absolute;
  bottom: 15%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
#drawer-content .bl_sns li {
  padding: 10px;
}

.drawerLink:before {
  content: "-";
  padding-right: 4px;
  color: #666666;
  margin-left: 4px;
}

#drawer-checkbox:checked ~ #drawer-content {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

#drawer-close {
  display: none;
  position: fixed;
  z-index: 39;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  -webkit-transition: all 0.3s ease-in-out 0s;
  transition: all 0.3s ease-in-out 0s;
}

#drawer-checkbox:checked ~ #drawer-close {
  display: block;
  opacity: 0.5;
}

/*---------------------------------------
  絞り込み検索モーダル
---------------------------------------*/
.filter-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  display: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-animation: fadeIn 0.3s ease;
          animation: fadeIn 0.3s ease;
}
.filter-modal__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  cursor: pointer;
}
.filter-modal__content {
  position: relative;
  background-color: #fff;
  width: 90%;
  max-height: 90vh;
  overflow-y: auto;
  border-radius: 8px;
  -webkit-box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
          box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
  z-index: 10000;
  -webkit-animation: slideUp 0.3s ease;
          animation: slideUp 0.3s ease;
}
.filter-modal__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 20px 30px;
  border-bottom: 1px solid #e0e0e0;
  position: sticky;
  top: 0;
  background-color: #fff;
  z-index: 1;
}
.filter-modal__title {
  font-size: 24px;
  font-weight: bold;
  margin: 0;
}
@media only screen and (max-width: 680px) {
  .filter-modal__title {
    font-size: 18px;
  }
}
.filter-modal__close {
  background: none;
  border: none;
  font-size: 36px;
  line-height: 1;
  color: #333;
  cursor: pointer;
  padding: 0;
  width: 40px;
  height: 40px;
  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;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border-radius: 50%;
}
.filter-modal__close:hover {
  background-color: #f0f0f0;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.filter-modal__body {
  padding: 30px;
}
@media only screen and (max-width: 680px) {
  .filter-modal__body {
    padding: 20px;
  }
}
.filter-modal__form .container__side {
  width: 100%;
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes slideUp {
  from {
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@keyframes slideUp {
  from {
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}