@charset "UTF-8";

/*
Theme Name: kitaichi-info
Version: 1.1
Theme URI:
Author: Owndmedia
*/

/* ************************************************************************************************
  front-page.php（ホーム）
************************************************************************************************ */
/*****背景動画******/
.bg-movie {
  position: fixed;
  right: 0;
  left: 0;
  bottom: 0;
  top: 0;
  min-width: 100%;
  min-height: 100%;
  width: 100%;
  height: 100%;
  z-index: -100;
  -webkit-filter: brightness(0.7);
  -moz-filter: brightness(0.7);
  filter: brightness(0.7);
  background-size: cover;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}

@supports (-ms-ime-align: auto) {
  .bg-movie {
    height: auto;
  }
}

#index__wrap {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  transition: ease-in-out .4s;
}

#index__wrap h2,
#index__wrap p,
#index__wrap a,
#index__wrap li,
#index__wrap td {
  color: #fff;
}

.bg-active {
  background-color: rgba(0,0,0,.65);
  transition: ease-in-out .4s;
}

/*****ファーストビュー******/
#hero {
  width: 100%;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.hero__box {
  align-items: center;
}

.hero__content {
  position: absolute;
  left: 2%;
  bottom: 5%;
  padding: 2.5rem 6rem;
  border-radius: 3px;
  background-color: rgb(255 255 255 / 15%);
  backdrop-filter: blur(10px);
}

.hero__content p a {
  font-size: 2.5rem;
  font-weight: 600;
}

.hero__content p span {
  display: block;
}

.hero__box img {
  max-width: 1024px;
  width: 100%;
}

.hero__ttl p {
  font-size: 2rem;
  text-align: center;
  line-height: 1.6;
  margin-top: 1.5rem;
  padding: 0 1rem;
}

.hero__ttl p:nth-of-type(2) {
  font-size: 1.8rem;
  line-height: 1;
}

.scroll_down {
  position: absolute;
  bottom: 5%;
  left: 50%;
  transform: translateX(-50%);
}

.scroll_down:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 80%;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 80%, rgba(0, 0, 0, 0.8) 100%);
}

.scroll_down a {
  display: inline-block;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  width: 100px;
  padding: 10px 10px 190px;
  color: #1a1a1a;
  font-family: Oswald, sans-serif;
  font-size: 14px;
  line-height: 1;
  letter-spacing: .2em;
  text-decoration: none;
  transition: .2s;
  overflow: hidden;
  text-align: center;
}

.scroll_down a:before,
.scroll_down a:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 2px;
  height: 175px;
}

.scroll_down a:before {
  background-color: #ddd;
}

.scroll_down a:after {
  background-color: #555;
  left: 49%;
}

.scroll_down a:hover {
  opacity: .5;
}

#type01 a:after {
  animation: sdl01 5s cubic-bezier(1, 0, 0, 1) infinite;
}

@keyframes sdl01 {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}

/*****会社概要******/
#index-about {
  padding: 10rem 0 15rem;
}

.index-about__txt {
  margin-top: 10rem;
  font-size: 1.8rem;
}

/*****事業内容******/
#index-menu {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  padding-bottom: 20rem;
}

.index-menu__container {
  position: relative;
  margin-bottom: 15rem;
}

.index-menu__container:last-child {
  margin-bottom: 0;
}

.index-menu__container:nth-child(even) picture {
  flex-direction: row-reverse;
  display: flex;
}

.index-menu__container img {
  width: calc(100% / 1.5);
  object-fit: cover;
}

.index-menu__box {
  width: calc(90% / 2 - 1rem);
  background-color: rgb(9 23 78 / 95%);
  padding: 7rem 5rem;
}

.index-menu__container:nth-child(odd) .index-menu__box {
  position: absolute;
  right: 0;
  bottom: -5%;
  z-index: 1;
}

.index-menu__container:nth-child(even) .index-menu__box {
  position: absolute;
  left: 0;
  bottom: -5%;
  z-index: 1;
}

.index-menu__txt {
  margin: 6rem 0 3rem;
}

.index-menu__btn {
  text-align: right;
}

/*****お客様の声******/
#index-featured {
  padding-bottom: 20rem;
}

.index-featured__bnr01,
.index-featured__bnr02 {
  position: relative;
  transition: all .3s;
}

.index-featured__bnr01:hover,
.index-featured__bnr02:hover {
  opacity: .8;
  transition: all .3s;
}

.index-featured__bnr01 {
  background-color: #000;
  position: relative;
  overflow: hidden;
}

.index-featured__bnr01 img {
  opacity: .8;
  width: 1400px;
  height: 450px;
  object-fit: cover;
}

.index-featured__bnr01 .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));
  z-index: 1;
}

.index-featured__txt01,
.index-featured__txt02 {
  position: absolute;
  text-align: center;
}

.index-featured__txt01 {
  width: 500px;
  height: 280px;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 4%;
  z-index: 1;
}

.index-featured__txt01 p {
  font-size: 2.5rem;
  line-height: 1;
  margin-bottom: 8rem;
}

.index-featured__txt02 {
  bottom: 16%;
  left: 4%;
}

#index__wrap .index-featured__txt02 p {
  font-size: 2.5rem;
  color: #ac0f18;
  margin-bottom: 4rem;
}

#index__wrap .index-featured__btn02 .btn01  {
  color: #ac0f18;
  border: 1px solid #ac0f18;
}

#index__wrap .index-featured__btn02 .btn01:hover {
  color: #fff;
}

/*****最新情報******/
#index-info {
  padding-bottom: 10rem;
  padding-top: 20rem;
}

#index-info .wrap {
  justify-content: space-between;
}

#index__wrap .index-news__tbl {
  margin: 5rem 0 0;
  width: 100%;
}

#index__wrap .index-news__tbl tr {
  border-bottom: 1px solid rgba(255, 255, 255, .7);
  width: 100%;
}

#index__wrap .index-news__tbl th {
  width: 8%;
  vertical-align: middle;
}

#index__wrap .index-news__tbl th a {
  font-size: 1.75rem;
  font-weight: 600;
  vertical-align: middle;
  padding: 2.5rem 0;
  display: inline-block;
  width: 100%;
  height: 100%;
}

#index__wrap .index-news__tbl td a {
  display: block;
  font-size: 2rem;
  padding: 2.5rem 0;
  transition: all .3s;
  position: relative;
  display: flex;
  align-items: center;
}

#index__wrap .index-news__tbl td a:hover {
  font-size: 2.05rem;
  transition: all .3s;
}

#index__wrap .index-news__tbl td span.cat-name {
  background-color: #B0B8BE;
  color: #fff;
  padding: 0rem 2rem;
  border-radius: 32px;
  display: inline-block;
  margin: 0 2rem;
  font-size: 1.4rem;
  width: 12.5%;
  text-align: center;
}

.index-event__tbl {
  margin: 7rem 0 4rem
}

.index-event__tbl th,
.index-event__tbl td {
  display: block;
  width: 100%;
}

#index__wrap .index-event__tbl td a {
  transition: all .3s;
}

#index__wrap .index-event__tbl td a:hover {
  transition: all .3s;
}

.index-event__note {
  padding: 3rem;
  border: 1px solid #fff;
}

.index-event__note p:first-of-type {
  font-size: 2rem;
  font-weight: 500;
  margin-bottom: 2rem;
}

.tab-menu {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin-top: 10rem;
  cursor: pointer;
  gap: 1rem;
}

.tab-menu li {
  padding: 10px 20px;
  border: 1px solid #fff;
}

.tab-menu li.active {
  background-color: #4EBDBF;
  border: 1px solid #4EBDBF;
  color: #fff;
}

.tab-content {
  display: none;
  position: relative;
}

.tab-content.active {
  display: block;
}

.news-link-full {
  position: relative;
}

span.dots-animate {
  position: absolute;
  right: 1%;
  top: 50%;
  transform: translateY(-50%);
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
  display: inline-flex;
  gap: 0.1em;
}

span.dot {
  display: inline-block;
  color: #fff;
}

.news-link-full:hover .dot1 {
  animation: dotColorFlow 3s ease-in-out infinite alternate;
  animation-delay: 0s;
}

.news-link-full:hover .dot2 {
  animation: dotColorFlow 3s ease-in-out infinite alternate;
  animation-delay: 0.3s;
}

.news-link-full:hover .dot3 {
  animation: dotColorFlow 3s ease-in-out infinite alternate;
  animation-delay: 0.6s;
}

@keyframes dotColorFlow {
  0% {
    color: #fff;
  }
  25% {
    color: #00A0E9;
  }
  50% {
    color: #4EBDBF;
  }
  75% {
    color: #B0B8BE;
  }
  100% {
    color: #fff;
  }
}


/* ************************************************************************************************
  page-company.php（会社概要）
************************************************************************************************ */
.webp .header-sub__company {
  background: url(img/page/header_company.jpg.webp) no-repeat 50% 95% / cover;
}
.no-webp .header-sub__company {
  background: url(img/page/header_company.jpg) no-repeat 50% 95% / cover;
}


/*****ご挨拶*****/
#company-message {
  padding: 13rem 0;
}

.company-message__container {
  margin-top: 8rem;
}

.company-message__container img {
  height: 450px;
  width: 90%;
  margin-right: 5rem;
  object-fit: cover;
}

.company-message__txt {
  width: 50%;
}

.company-message__txt p:first-of-type {
  font-size: 2.5rem;
  font-weight: 600;
  background-color: #1a1a1a;
  color: #fff;
  display: inline-block;
  padding: 0 2rem;
  margin-bottom: 2rem;
}

.company-message__bg {
  width: 100%;
  height: 600px;
  background-size: cover;
  background-attachment: fixed;
  background-position: center center;
}
.webp .company-message__bg {
  background-image: url(img/page/company_bg.jpg.webp);
}
.no-webp .company-message__bg {
  background-image: url(img/page/company_bg.jpg);
}

/*****会社概要*****/
#company-outline {
  padding: 12rem 0;
}

.company-outline__container {
  margin-top: 8rem;
}

.company-outline__tbl {
  width: 100%;
  height: 100%;
}

.company-outline__tbl tr {
  border-bottom: 1px solid rgba(0,0,0,.4);
}

.company-outline__tbl th, .company-outline__tbl td {
  padding: 1rem;
}

.company-outline__tbl th {
  width: 25%;
}

.company-outline__box {
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 40px;
  margin: 4rem 0 0;
}

.company-outline__map p {
  background-color: #1a1a1a;
  color: #fff;
  padding: .5rem;
}


/* ************************************************************************************************
  page-service.php（事業内容）
************************************************************************************************ */
.webp .header-sub__service {
  background: url(img/page/header_service.jpg.webp) no-repeat 50% 50% / cover;
}
.no-webp .header-sub__service {
  background: url(img/page/header_service.jpg) no-repeat 50% 50% / cover;
}

/***** メッセージ *****/
.service-message {
  text-align: center;
  margin: 12rem 0 0;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
}

.service-message__container {
  background-color: hsla(181, 47%, 53%, 1);
  background-image: radial-gradient(circle at 7% 81%, hsla(181, 47%, 53%, 1) 16%, transparent 53%), radial-gradient(circle at 5% 1%, hsla(228, 79%, 17%, 1) 7%, transparent 84%), radial-gradient(circle at 39% 52%, hsla(199, 100%, 46%, 1) 6%, transparent 68%), radial-gradient(circle at 11% 29%, hsla(201, 97%, 75%, 1) 8%, transparent 74%), radial-gradient(circle at 90% 50%, hsla(206, 10%, 72%, 1) 2%, transparent 85%);
  background-blend-mode: normal, normal, normal, normal, normal;
  padding: 10rem 2.5rem;
}

.service-message__container h3 {
  color: #fff;
  font-size: 4rem;
  font-weight: 600;
  margin-bottom: 1rem;
  line-height: 1.6;
}

.service-message__container p {
  color: #fff;
  font-size: 2rem;
}

/***** 事業内容メニュー *****/
ul.service-menu__list {
  width: 100%;
  height: auto;
  text-align: center;
  padding: 12rem 0 0;
  align-items: center;
  flex-wrap: wrap;
  gap: 2rem;
  justify-content: center;
}

li.service-menu__list__item {
  width: calc(100% / 5);
}

li.service-menu__list__item a {
  position: relative;
  display: inline-block;
  color: inherit;
  font-weight: 600;
  padding-bottom: 8px;
  text-decoration: none;
  transition: color .3s;
  line-height: 2;
}

li.service-menu__list__item a::before {
  content: "";
  position: absolute;
  top: -1.5em;
  left: 50%;
  transform: translateX(-50%);
  display: inline-block;
  background-color: #09174E;
  font-size: 0.8rem;
  opacity: 0;
  transition: opacity 0.3s, transform 0.3s;
  pointer-events: none;
  width: 5px;
  height: 5px;
}

li.service-menu__list__item a::after {
  content: "";
  position: absolute;
  left: 0px;
  bottom: 5px;
  height: 1px;
  width: 100%;
  background-color: currentcolor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.3s;
}

li.service-menu__list__item a:hover {
  color: #09174E;
}

li.service-menu__list__item a:hover::before {
  opacity: 1;
  transform: translateX(-50%) translateY(-2px);
}

li.service-menu__list__item a:hover::after {
  transform: scaleX(1);
}

/***** 事業内容 *****/
#service-list {
  padding: 10rem 0;
} 

.service-list__wrap {
  width: 100%;
  padding: 0 10rem;
}

.service-list__container {
  justify-content: center;
  align-items: center;
  margin-bottom: 10rem;
}

.service-list__container02 {
  justify-content: space-between;
  margin-bottom: 10rem;
}

.service-list__container03 {
  text-align: center;
  width: 48%;
}

.service-list__img {
  width: 100%;
  max-width: 1000px;
  height: 650px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.webp .service-list__img--01 {background-image: url(img/index/index_item01.jpg.webp);}
.no-webp .service-list__img--01 {background-image: url(img/index/index_item01.jpg);}
.webp .service-list__img--02 {background-image: url(img/index/index_item02.jpg.webp);}
.no-webp .service-list__img--02 {background-image: url(img/index/index_item02.jpg);}
.webp .service-list__img--03 {background-image: url(img/index/index_item03.jpg.webp);}
.no-webp .service-list__img--03 {background-image: url(img/index/index_item03.jpg);}
.webp .service-list__img--06 {background-image: url(img/index/index_item04.jpg.webp);}
.no-webp .service-list__img--06 {background-image: url(img/index/index_item04.jpg);}

.service-list__box {
  background-color: rgb(9 23 78 / 95%);
  padding: 8rem 4rem;
  text-align: center;
  max-width: 750px;
  width: 100%;
  z-index: 10;
}

.service-list__container--left .service-list__box {
  margin-left: -6rem;
}

.service-list__container--right .service-list__box {
  margin-right: -6rem;
}

.service-list__box02 {
  margin: 11rem auto 8rem;
}

.service-list__container03 .service-list__box {
  margin: 5rem auto 0;
  max-width: 87%;
}

.service-list__number {
  color: #fff;
  font-size: 5rem;
  border-bottom: 2px solid #fff;
  display: inline-block;
  line-height: 1;
  padding-bottom: 15px;
}

.service-list__box h4 {
  border-bottom: none;
  color: #fff;
  font-size: 2.4rem;
  font-weight: 500;
  margin: 2.5rem 0 3.5rem;
}

.service-list__box02 h4 {
  margin-bottom: 0;
}

.service-list__box h5 {
  font-size: 2rem;
  color: #fff;
  margin-bottom: 2rem;
}

.service-list__txt {
  text-align: left;
  color: #fff;
  margin-bottom: 4rem;
}


/* ************************************************************************************************
  page-after-service.php（アフターサービス）
************************************************************************************************ */
.webp .header-sub__afterservice {
  background: url(img/page/header_after-service.jpg.webp) no-repeat 50% 50% / cover;
}
.no-webp .header-sub__afterservice {
  background: url(img/page/header_after-service.jpg) no-repeat 50% 50% / cover;
}

#afterservice {
  padding: 12rem 0 0;
}

.afterservice__container__box {
  margin: 5rem 0 12rem;
}

.afterservice__container__box > p {
  font-size: 1.8rem;
  margin-bottom: 6rem;
}

.afterservice__container__box ul li {
  margin-bottom: 5rem;
}

.afterservice__container__box ul li > h4 {
  border-bottom: 1px solid #ddd;
  border-left: 4px solid #4EBDBF;
  font-weight: 600;
  line-height: 1.8;
  margin: 0 0 1.5rem;
  padding: 0 2rem;
}

.afterservice__container__box ul li > p {
  font-size: 1.4rem;
}

.afterservice__container__box ul li > p span {
  border-bottom: 1px dashed;
  font-weight: 600;
}

.afterservice__box {
  border: 1px dashed #000;
  background: #fafafa;
  padding: 2rem;
}

.afterservice__box > p {
  color: #09174E;
  font-size: 2.4rem;
  font-weight: 600;
  margin-bottom: 1rem;
}

.afterservice__box ul li {
  margin-bottom: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px dashed;
}

.afterservice__box ul li:last-child {
  margin-bottom: 0;
}

.afterservice__box ul li > p {
  position: relative;
  font-size: 1.7rem;
}


/* ************************************************************************************************
  page-contact.php（お問い合わせ）
************************************************************************************************ */
.webp .header-sub__contact {
  background: url(img/page/header_contact.jpg.webp) no-repeat 50% 90% / cover;
}
.no-web .header-sub__contact {
  background: url(img/page/header_contact.jpg) no-repeat 50% 90% / cover;
}

/* ご案内 */
#contact {
  padding: 12rem 0 0;
}

.contact__txt {
  text-align: center;
}

.contact__tel a {
  color: #ad0310;
  transition: all .4s;
}

.contact__tel a:hover {
  text-decoration: underline;
  transition: all .3s;
}

.contact-container table {
  width: 100%;
}

/* お問い合わせフォーム */
.contact__form {
  margin: 5rem auto 10rem;
  width: 80%;
}

table.contact__form__box__contents--table {
  background-color: #d6dee3;
  padding: 3rem;
  border-radius: 3px;
  border-collapse: separate;
  border-spacing: 0 20px;
  width: 100%;
  height: auto;
}

table.contact__form__box__contents--table th {
  text-align: right;
  padding: 0 4rem;
  vertical-align: middle;
  width: 30%;
}

.contact__form input.wpcf7-form-control.wpcf7-text {
  width: 100%;
  height: 5rem;
  padding: 1.2rem;
  background-color: #fff;
}

.contact__form .privacy input {
  width: 1rem;
  height: 1rem;
}

.contact__form textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  padding: 1.2rem;
  background-color: #fff;
}

span.required {
  background-color: #ad0310;
  border-radius: 3px;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 600;
  padding: .5rem 1rem;
  margin: 0 1rem;
}

.contact__form__box__contents--policy {
  max-width: 100%;
  height: 275px;
  margin: 1.5rem auto 3rem;
  overflow: auto;
  background-color: #d6dee3;
  border-radius: 3px;
  padding: 3rem;
}

.contact__form__box__contents--policy h3 {
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1.6;
}

.contact__form__box__contents--policy h4 {
  border: none;
  color: #1a1a1a;
  font-size: 1.8rem;
}

.contact__form__box__contents--policy p {
  margin-bottom: 1.5rem;
}

.contact__form__box__contents--accept {
  text-align: center;
}

.wpcf7-submit {
  width: 230px;
  height: 65px;
  text-align: center;
  display: block;
  margin: 4rem auto 0;
  background-color: #1a1a1a;
  border: 1px solid #5d5d5d;
  color: #fff;
  transition: .3s;
}

.wpcf7-submit:hover {
  background-color: rgba(255,255,255,.8);
  color: #09174E;
  transition: .3s;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
  font-size: 13px;
}

.wpcf7-list-item {
  margin: 0 !important;
}


/* ************************************************************************************************
  index.php（施工事例）
************************************************************************************************ */
.webp .header-sub__works {
  background: url(img/page/header_works.jpg.webp) no-repeat 50% 50% / cover;
}
.webp .header-sub__works {
  background: url(img/page/header_works.jpg) no-repeat 50% 50% / cover;
}

#works-archive {
  padding: 12rem 0;
  position: relative;
}

#works-archive::after {
  content: "";
  position: fixed;
  right: 0;
  bottom: 0%;
  max-width: 1104px;
  width: 100%;
  max-height: 803px;
  height: 100%;
  z-index: -1;
  opacity: .1;
}
.webp #works-archive::after {
  background: url(img/common/logo-bg.png.webp);
}
.no-webp #works-archive::after {
  background: url(img/common/logo-bg.png);
}

.works-archive__cat-list {
  margin-bottom: 4rem;
}

.custom-select-wrapper {
  position: relative;
  width: 250px;
  cursor: pointer;
  font-size: 1rem;
  margin-bottom: 5rem;
}

.custom-select-trigger {
  padding: 0.7em 1em;
  background-color: #fff;
  border: 1px solid #5d5d5d;
  font-size: 1.4rem;
  position: relative;
}

.custom-select-trigger::after {
  content: '▼';
  position: absolute;
  right: 1em;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}

.custom-options {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 0 0 4px 4px;
  overflow: hidden;
  opacity: 0;
  max-height: 0;
  transform: translateY(-10px);
  pointer-events: none;
  transition: all 0.3s ease;
  z-index: 1000;
}

.custom-select-wrapper.open .custom-options {
  opacity: 1;
  max-height: 800px;
  transform: translateY(0);
  pointer-events: auto;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.custom-option {
  padding: 0.4em 1em;
  border-bottom: 1px solid #eee;
}

.custom-option:last-child {
  border-bottom: none;
}

.custom-option:hover {
  background-color: #f0f0f0;
}

.slide-container {
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.6s ease;
}

.slide-container.active {
  opacity: 1;
  transform: translateY(0);
}

.works-archive__container {
  margin-bottom: 10rem;
}

.works-archive__contents {
  flex-wrap: wrap;
  justify-content: space-between;
}

.works-archive__box {
  margin-bottom: 8rem;
  width: calc(100% / 2 - 2rem);
}

.works-archive__box:nth-child(2n) {
  top: 140px;
  position: relative;
}

.works-archive__thumb {
  overflow: hidden;
}

.works-archive__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}

.works-archive__link:hover .works-archive__thumb img {
  transform: scale(1.05);
}

.works-archive__ttl {
  font-size: 2.25rem;
  font-weight: 600;
  margin: .5rem 0;
}

.works-archive__cat span {
  background-color: #09174E;
  color: #fff;
  display: inline-block;
  padding: 0rem 1.75rem;
  border-radius: 32px;
  margin-bottom: .5rem;
}

.works-single__meta {
  margin-bottom: 1rem;
  font-size: .9rem;
  color: #555;
}

.works-single__date {
  color: rgb(169, 168, 168);
  font-size: 1.75rem;
  font-weight: 600;
  margin-right: 1.5rem;
}

.works-single__category a {
  background-color: #09174E;
  border: 1px solid #09174E;
  color: #fff;
  display: inline-block;
  padding: 0rem 1.75rem;
  border-radius: 32px;
  margin-right: 1rem;
  margin-bottom: .5rem;
  transition: .3s all;
}

.works-single__category a:hover {
  background-color: #fff;
  border: 1px solid #09174E;
  color: #09174E;
  transition: .3s all;
  text-decoration: none;
}


/* ************************************************************************************************
  single.php（施工事例）
************************************************************************************************ */
#works-single {
  padding: 12rem 0;
}

.works-single__ttl {
  font-size: 2.5rem;
  font-weight: 600;
  line-height: 1.6;
}

.works-single__txt p {
  margin-bottom: 3rem;
}

.works-single__thumb {
  margin-bottom: 5rem;
}

.works-single__thumb img {
  width: 100%;
  height: 100%;
}

li.works-single__item {
  position: relative;
}

li.works-single__item:first-child::after {
  display: none;
}

.works-single__gallery {
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 10rem 0;
}

.works-single__gallery p.works-single__gallery--p {
  background-color: #1a1a1a;
  color: #fff;
  display: inline-block;
  padding: 0 4rem;
  margin: 0 0 .75rem;
  clip-path: polygon(10% 0%, 95% 0%, 90% 100%, 5% 100%);
}

.works-single__gallery > div {
  width: calc(100% / 2 - 1rem);
  margin-bottom: 2rem;
}

.works-single__img img {
  width: 100%;
  height: auto;
  object-fit: cover;
}


/* ************************************************************************************************
  archive-update.php＆taxonomy-update.php（最新情報）
************************************************************************************************ */
.webp .header-sub__update {
  background: url(img/page/header_update.jpg.webp) no-repeat 50% 50% / cover;
}
.no-webp .header-sub__update {
  background: url(img/page/header_update.jpg) no-repeat 50% 50% / cover;
}

#update-archive {
  padding: 0 0 12rem;
  position: relative;
}

#update-archive::after {
  content: "";
  position: fixed;
  right: 0;
  bottom: 0%;
  max-width: 1104px;
  width: 100%;
  max-height: 803px;
  height: 100%;
  z-index: -1;
  opacity: .1;
}
.webp #update-archive::after {
  background: url(img/common/logo-bg.png.webp);
}
.no-webp #update-archive::after {
  background: url(img/common/logo-bg.png);
}

#update-archive .tab-menu li {
  border: 1px solid transparent;
  padding: 0;
}

#update-archive .tab-menu li a {
  padding: 25px 20px;
  line-height: 4;
}

#update-archive span.dot {
  color: #1a1a1a;
  transition: color 0.3s ease;
}

#update-archive .update-archive__link:hover span.dot1 {
  animation: dotColorFlow 2s ease-in-out infinite;
  animation-delay: 0s;
}

#update-archive .update-archive__link:hover span.dot2 {
  animation: dotColorFlow 2s ease-in-out infinite;
  animation-delay: 0.2s;
}

#update-archive .update-archive__link:hover span.dot3 {
  animation: dotColorFlow 2s ease-in-out infinite;
  animation-delay: 0.4s;
}

@keyframes dotColorFlow {
  0%   { color: #1a1a1a; }
  25%  { color: #00A0E9; }
  50%  { color: #4EBDBF; }
  75%  { color: #B0B8BE; }
  100% { color: #1a1a1a; }
}

.update-archive__tab {
  border-bottom: 1px solid #ddd;
}

.update-archive__container {
  margin: 5rem 0 0;
}

.update-archive__link {
  width: 100%;
  position: relative;
  border-bottom: 1px solid #ddd;
  margin-bottom: 3rem;
  padding-bottom: 3rem;
  transition: .4s all;
}

.update-archive__link:hover h3.update-archive__ttl {
  font-size: 2.05rem;
  transition: .4s all;
}

.update-archive__item {
  align-items: center;
  flex-wrap: wrap;
  position: relative;
}

.update-archive__date {
  color: rgb(169, 168, 168);
  font-size: 1.75rem;
  font-weight: 600;
  margin-right: 3rem;
}

.update-archive__category {
  background-color: #B0B8BE;
  color: #fff;
  padding: 0rem 2rem;
  border-radius: 32px;
  display: inline-block;
  margin-right: 2rem;
  font-size: 1.4rem;
  width: 12.5%;
  text-align: center;
}

.update-archive__ttl {
  font-weight: bold;
  line-height: 1.8;
  transition: font-size .4s ease;
  width: 50%;
}

.update-archive__category a {
  padding: 0.1rem 1.3rem;
  background-color: #09174E;
  border: 1px solid #09174E;
  margin: 0.1rem 0 0 2rem;
  color: #fff;
  font-size: 1.2rem;
  line-height: 2.2;
  display: inline-block;
  transition: all .4s;
  min-width: 82px;
  font-size: 1.3rem;
}

.update-archive__category a:hover {
  transition: all .3s;
  background-color: #fff;
  color: #09174E;
}

.update-archive__btn {
  text-align: center;
  margin-top: 7rem;
}

/* ページネーション */
.update__pagination,
.voice__pagination {
  margin-top: 5rem;
}

.page-numbers li {
  display: inline;
  margin: 0 .6rem 0;
}

.page-numbers.current {
  background-color: #1a1a1a;
  border: 1px solid #1a1a1a;
  color: #fff;
  padding: 1.5rem;
}

.page-numbers a {
  border: 1px solid #ddd;
  color: #1a1a1a;
  padding: 1.5rem;
  transition: .3s;
}

.page-numbers a:hover {
  background-color: #1a1a1a;
  border: 1px solid #1a1a1a;
  color: #fff;
  transition: .3s;
}

.page-numbers .material-icons {
  margin-left: .5rem;
  vertical-align: middle;
  font-size: 1.8rem;
  margin-bottom: .5rem;
}


/* ************************************************************************************************
  single-update.php（最新情報）
************************************************************************************************ */
#update-single {
  padding: 12rem 0;
  position: relative;
}

#update-single::after {
  content: "";
  position: fixed;
  right: 0;
  bottom: 0%;
  width: 1104px;
  height: 803px;
  z-index: -1;
  opacity: .1;
}
.webp #update-single::after {
  background: url(img/common/logo-bg.png.webp);
}
.no-webp #update-single::after {
  background: url(img/common/logo-bg.png);
}

.update-single__container {
  margin-top: 2rem;
  justify-content: center;
  text-align: center;
}

.update-single__container img {
  width: 75%;
  height: auto;
  object-fit: cover;
}

.update-single__head {
  text-align: center;
}

.update-single__ttl {
  font-size: 2.5rem;
  font-weight: 600;
  margin: 5rem 0 0;
  line-height: 1.6;
}

.update-single__date {
  margin-bottom: 1rem;
  color: #09174E;
  font-weight: 600;
}

.update-single__category a {
  background-color: #B0B8BE;
  color: #fff;
  padding: 0rem 2rem;
  border-radius: 32px;
  display: inline-block;
  font-size: 1.4rem;
  text-align: center;
  transition: .3s all;
}

.update-single__category a:hover {
  background-color: #fff;
  border: 1px solid #B0B8BE;
  color: #B0B8BE;
  transition: .3s all;
}

.update-single__txt {
  text-align: left;
  width: 80%;
  margin: 4rem auto 8rem;
}

.update-single__btn {
  text-align: center;
}

.update-single__btn .btn01 {
  width: 220px;
}

/* パンくずリスト */
.breadcrumb {
  font-size: .9rem;
  padding: 2rem 4rem;
  background-color: rgb(255 255 255 / 40%);
  color: #fff;
  position: absolute;
  width: 100%;
  height: auto;
  bottom: 20vh;
  border-top: 1px solid #5d5d5d;
  border-bottom: 1px solid #5d5d5d;
  backdrop-filter: blur(40px);
}

.breadcrumb ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
}

.breadcrumb li {
  margin-right: .5em;
}

.breadcrumb li::after {
  content: ">";
  margin-left: .5em;
}

.breadcrumb li:last-child::after {
  content: "";
}

.breadcrumb li a {
  padding: 0 .5rem;
}


/* ************************************************************************************************
  archive-voice.php（お客様の声）
************************************************************************************************ */
.webp .header-sub__voice {
  background: url(img/page/header_voice.jpg.webp) no-repeat 50% 100% / cover;
}
.no-webp .header-sub__voice {
  background: url(img/page/header_voice.jpg) no-repeat 50% 100% / cover;
}

#voice-archive {
  padding: 12rem 0;
  position: relative;
}

#voice-archive::after {
  content: "";
  position: fixed;
  right: 0;
  bottom: 0%;
  max-width: 1104px;
  width: 100%;
  max-height: 803px;
  height: 100%;
  z-index: -1;
  opacity: .1;
}
.webp #voice-archive::after {
  background: url(img/common/logo-bg.png.webp);
}
.no-webp #voice-archive::after {
  background: url(img/common/logo-bg.png);
}

.voice-archive__contents {
  margin-bottom: 10rem;
}

.voice-archive__box {
  margin-bottom: 4rem;
}

.voice-archive__link {
  display: block;
  transition: .4s all;
}

.voice-archive__link:hover {
  opacity: .9;
  transition: .4s all;
}

.voice-archive__item {
  gap: 4rem;
}

.voice-archive__thumb {
  overflow: hidden;
  max-width: 325px;
  max-height: 175px;
  width: 100%;
  height: 100%;
}

.voice-archive__thumb img {
  width: 325px;
  height: 175px;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.voice-archive__link:hover .voice-archive__thumb img {
  transform: scale(1.05);
}

p.voice-archive__date {
  color: rgb(169, 168, 168);
  font-size: 1.75rem;
  font-weight: 600;
}

h3.voice-archive__ttl {
  font-size: 2.5rem;
  font-weight: bold;
  line-height: 1.8;
}

.voice-archive__text {
  width: 70%;
}


/* ************************************************************************************************
  single-voice.php（お客様の声）
************************************************************************************************ */
#voice-single {
  padding: 12rem 0;
  position: relative;
}

#voice-single::after {
  content: "";
  position: fixed;
  right: 0;
  bottom: 0%;
  width: 1104px;
  height: 803px;
  z-index: -1;
  opacity: .1;
}
.webp #voice-single::after {
  background: url(img/common/logo-bg.png.webp);
}
.no-webp #voice-single::after {
  background: url(img/common/logo-bg.png);
}

.voice-single__container {
  display: flex;
  justify-content: space-between;
  gap: 4rem;
}

.voice-single__img {
  width: 30%;
}

.voice-single__box {
  width: 70%;
}

.voice-single__img img {
  width: 100%;
  height: auto;
  object-fit: cover;
  margin-bottom: 4rem;
}

.voice-single__ttl {
  font-size: 3rem;
  font-weight: 600;
}

.voice-single__txt p {
  margin-bottom: 1rem;
}

.voice-single__btn {
  text-align: center;
  margin: 5rem 0 0;
}


/* ************************************************************************************************
  レスポンシブ調整
************************************************************************************************ */
@media screen and (max-width: 1536px) {
  /***** service.php @1536px *****/
  .service-list__img {height: 70vh; max-height: 560px;}
  .service-list__box {max-width: 630px;}
}

@media screen and (max-width: 1440px) {
  /***** service.php @1440px *****/
  .service-list__wrap {padding: 0 7rem;}
  #service-intro video {max-width: 650px;}
  .service-list__box {max-width: 600px;}
  
  /***** company.php @1440px *****/
  .company-outline__map, .company-outline__map iframe {width: 100%;}

  /***** contact.php @1440px *****/
  .contact__form {width: 100%;}
  table.contact__form__box__contents--table th {padding: 0 2rem;}
}


/* ************************************************************************************************
  1281px
************************************************************************************************ */
@media screen and (max-width: 1280px) {
  /***** front-page.php @1280px *****/
  #index-about {padding: 20rem 0;}
  .index-menu__container {margin-bottom: 13rem;}
  .index-menu__box {width: calc(120% / 2 - 1rem);}

  /***** service.php @1280px *****/
  .service-list__wrap {padding: 0 6rem;}
  #service-intro video {max-width: 600px;}
  .service-list__box {max-width: 560px;}
  .service-list__img {max-height: 520px;}
}

/* ************************************************************************************************
  1025px
************************************************************************************************ */
@media screen and (max-width: 1024px) {
  .breadcrumb {bottom: 45vh;}

  /***** front-page.php @1025px *****/
  .hero__box img, #logo__loader img {max-width: 825px; width: 100%;}
  #index-about {padding: 15rem 0;}
  .hero__ttl p {font-size: 1.5rem;}
  .index-menu__container {margin-bottom: 10rem; align-items: flex-start;}
  #index-menu {padding-bottom: 15rem;}
  .index-featured__txt01 {right: 0; left: 0; height: 250px;}
  .index-featured__txt01 p {margin-bottom: 6rem;}
  .index-featured__txt02 {bottom: 12%;}
  #index__wrap .index-featured__txt02 p {font-size: 2rem; margin-bottom: 3rem;}
  .index-news {padding-right: 3rem;}
  #index__wrap .index-news__tbl td span.cat-name, .update-archive__category {width: 15%;}

  /***** company.php @1025px *****/
  #company-message {padding: 12rem 0 10rem;}
  .company-message__bg {height: 60vh; background-attachment: scroll;}
  .company-outline__container {margin-top: 4rem;}
  .company-outline__tbl th {width: 40%;}
  .company-outline__box {
    width: 100%;
    padding-left: 0;
    text-align: center;
    margin-top: 4rem;
    gap: 20px;
  }

  /***** service.php @1025px *****/
  .service-message__container h3 {font-size: 3rem;}
  .service-message__container p {font-size: 1.6rem;}

  .service-list__container--right {flex-direction: column;}
  .service-list__container--left {flex-direction: column-reverse;}
  .service-list__container--right .service-list__box {margin-right: 0;}
  .service-list__container--left .service-list__box {margin-left: 0;}
  .service-list__box {max-width: 630px;}
  .service-list__img {height: 600px; background-attachment: scroll; max-height: 100%; margin-top: -80px;}
}


/* ************************************************************************************************
  960px
************************************************************************************************ */
@media screen and (max-width: 959px) {
  .breadcrumb {bottom: 51vh;}

  /***** front-page.php @960px *****/
  .hero__box {display: block; text-align: center;}
  .hero__box img, #logo__loader img {margin-right: 0; max-width: 625px;}

  .index-menu__container {flex-direction: column; align-items: center;}
  .index-menu__container img {width: 90%; margin-bottom: 10rem;}
  .index-menu__container:nth-of-type(even) .index-menu__container img {order: 1;}
  .index-menu__container:nth-of-type(even) .index-menu__box {order: 2;}
  .index-menu__box {width: 90%; padding: 4rem 2rem;}
  .index-menu__txt {margin: 2rem 0;}

  .index-featured__txt01 h2 {font-size: 4.2rem;}
  .index-featured__txt01 p {margin-bottom: 4rem; font-size: 1.8rem;}
  .index-featured__txt01 {width: 380px; height: 220px; right: 0;}
  #index__wrap .index-featured__txt02 p {font-size: 1.6rem; margin-bottom: 1.5rem;}
  .index-featured__txt02 {left: 2%; bottom: 10%;}

  #index-info .wrap {display: block;}
  .index-news, .index-event {width: 100%;}
  .index-news {padding-right: 0; margin-bottom: 7rem;}
  .index-news__tbl {margin: 7rem auto 5rem;}
  .index-news__btn {text-align: center;}

  /***** company.php @960px *****/
  .company-message__container {flex-direction: column; align-items: center; margin-top: 4rem;}
  .company-message__container img {margin: 0 0 4rem 0; width: 80%;}
  .company-message__txt {width: 100%;}
  .company-message__txt p:first-of-type {font-size: 2.4rem; text-align: center;}

  /***** service.php @960px *****/
  #service-list {padding: 10rem 0 5rem;}
  #service-intro {padding: 10rem 0;}
  .service-list__wrap {padding: 0 5rem;}
  .service-list__img {height: 450px; margin-top: -50px;}
  .service-list__box {max-width: 90%;}
  .service-list__container {margin-bottom: 8rem;}
  .service-list__box h4 {font-size: 2.2rem; margin: 2rem 0 3rem;}
  .service-list__box02 h4 {margin-bottom: 0;}
  .service-list__number {font-size: 3.2rem;}
  .service-list__box02 {margin: 9rem auto 7rem;}
  .service-list__box h5 {font-size: 1.8rem;}
  .service-list__container02 {flex-direction: column; margin-bottom: 4rem;}
  .service-list__container03 {width: 100%;}
  .service-list__container03 img {width: 80%;}
  .service-list__container03 .service-list__box {margin: -3rem auto 5rem; max-width: 90%;}

  /***** news.php @960px *****/
  #news-archive {padding: 10rem 0 3rem;}
  .news-archive__box{margin-bottom: 3rem; justify-content: space-between;}
  .news-archive__date {margin-bottom: 0.1rem;}
  .news-archive__ttl {
    margin-left: 2rem;
    margin-bottom: 1rem;
    margin-right: 1rem;
    font-size: 1.5rem;
  }
  .news-archive__category a {
    padding: 0.1rem 1.3rem;
    margin: 0 0 0 2rem;
    color: #fff;
    font-size: 1.2rem;
    line-height: 2.2;
  }

  .news-single__txt {width: 80%;}

  /***** contact.php @960px *****/
  #contact {padding: 10rem 0;}
}


/* ************************************************************************************************
  781px
************************************************************************************************ */
@media screen and (max-width:780px) {
  .breadcrumb {bottom: 47.8vh; background-color: rgb(255 255 255 / 50%);}

  /***** front-page.php @781px *****/
  #index__wrap .index-news__tbl th,
  #index__wrap .index-news__tbl td {
    display: block;
    width: auto;
  }
  #index__wrap .index-news__tbl th a {padding: 2.5rem 0 .5rem;}
  #index__wrap .index-news__tbl td a {padding: 0 0 2.5rem; font-size: 1.6rem;}
  #index__wrap .index-news__tbl td span.cat-name,.update-archive__category {width: 20%; margin: 0 2rem 0 0; font-size: 1.2rem;}
  #index__wrap .index-news__tbl td span.news-ttl {width: 60%; display: inline-block; line-height: 1.6;}
  #index__wrap span.dots-animate {top: 25%;}
  h3.update-archive__ttl {font-size: inherit;}
  #index__wrap .index-news__tbl td a:hover, .update-archive__link:hover h3.update-archive__ttl {font-size: inherit;}

  #index-info {padding-bottom: 5rem; padding-top: 15rem;}
  #index-featured {padding-bottom: 10rem;}

  /***** archive＆category＆single.php @781px *****/
  .works-archive__box {margin-bottom: 4rem; width: calc(100% / 2 - 1rem);}
  .works-archive__box:nth-child(2n) {top: 80px;}
  .works-archive__ttl {font-size: 1.8rem;}
  .works-archive__cat span {font-size: 1.4rem;}
  .custom-select-wrapper {margin-bottom: 2.5rem;}

  .works-single__ttl {font-size: 2rem; margin-bottom: .5rem;}
  .works-single__txt p {margin-bottom: 1.5rem;}

  /***** archive-voice＆single-voice.php @780px *****/
  .voice-single__container {display: block;}
  .voice-single__img, .voice-single__box {width: 100%;}  

  /***** contact.php @780px *****/
  table.contact__form__box__contents--table th, table.contact__form__box__contents--table td {width: auto; display: block;}
  table.contact__form__box__contents--table th {text-align: left; margin: 0 0 1rem 0; padding: 0;}
}


/* ************************************************************************************************
  560px
************************************************************************************************ */
@media screen and (max-width: 559px) {
  .breadcrumb {padding: 1rem 2rem; position: static; bottom: auto; color: #1a1a1a;}

  /***** front-page.php @560px *****/
  .hero__box img, #logo__loader img {width: 325px;}

  #index-about {padding: 10rem 0;}
  #index-about .index__ttl h2 {line-height: 1;}
  .index-about__txt {margin-top: 7rem; font-size: 1.6rem;}

  #index-menu {padding-bottom: 35rem;}
  .index-menu__container {margin-bottom: 32rem;}
  .index-menu__container:nth-child(odd) .index-menu__box, .index-menu__container:nth-child(even) .index-menu__box {bottom: -70%;}
  .index-menu__container img {width: 100%; margin-bottom: 3rem;}
  .index-menu__btn {text-align: center;}

  #index-featured {padding-bottom: 10rem;}
  .index-featured__txt01 {width: 100%; height: 200px;}
  .index-featured__txt01 h2 {font-size: 3.4rem;}
  .index-featured__txt01 p {font-size: 1.8rem;}
  .index-featured__bnr01 img {opacity: .5;}

  #index-info {padding-top: 10rem;}
  #index__wrap .index-news__tbl {margin: 2.5rem 0 0;}
  #index__wrap .index-news__tbl th a {font-size: 1.5rem;}
  #index__wrap .index-news__tbl td span.news-ttl {width: 85%;}
  #index__wrap .index-news__tbl td span.cat-name, .update-archive__category {width: 50%; font-size: 1rem; padding: 0 1rem; margin-bottom: 1rem;}
  #index__wrap .index-news__tbl td a {display: block;}

  .index-menu__box {width: 100%;}

  /***** company.php @560px *****/
  #company-message {padding: 8rem 0;}
  .company-message__container img {width: 100%; height: 375px; object-fit: cover; margin: 0 auto 3rem;}
  .company-message__txt p:first-of-type {font-size: 1.8rem; margin-bottom: 1rem;}
  .company-message__bg {height: 40vh;}

  #company-outline {padding: 7rem 0;}
  .company-outline__container {margin-top: 2.5rem;}
  .company-outline__tbl th, .company-outline__tbl td {display: block; width: 100%; }
  .company-outline__tbl th {padding: 1rem; text-align: center;}
  .company-outline__tbl td {padding: 0 1rem 1rem;}
  .company-outline__box {margin-top: 5rem; text-align: left;}
  .company-outline__map p {font-size: 1.2rem;}
  .company-outline__map iframe {height: 40vh;}

  /***** service.php @560px *****/
  .service-message__container h3 {font-size: 2.5rem;}

  ul.service-menu__list {padding: 6rem 0 0;}
  li.service-menu__list__item {width: calc(100% / 3);}

  #service-list {padding: 7rem 0 4rem;}
  .service-list__wrap {padding: 0;}
  .service-list__box, .service-list__container03 .service-list__box {max-width: 85%;}
  .service-list__box h4 {font-size: 2rem; line-height: 1.8;}
  .service-list__box {padding: 4rem 2rem;}
  .service-list__number {font-size: 3rem; padding-bottom: 12px;}
  .service-list__img {height: 250px; margin-top: -30px;}
  .service-list__container {margin-bottom: 6rem;}
  .service-list__box02 {margin: 7rem auto 5rem;}
  .service-list__container03 img {width: 100%;}
  .service-list__container02 {margin-bottom: 2rem;}

  /***** archive-update＆taxoomy-update＆single-update.php @560px *****/
  #update-archive::after {display: none;}
  .update-archive__container {margin: 3rem 0;}
  .update-archive__tab {margin-top: 8rem;}
  .update-archive__date {font-size: 1.5rem; margin-right: 2rem;}
  h3.update-archive__ttl {width: 90%;}
  
  #update-single {padding: 8rem 0;}
  .update-single__container img {width: 100%;}
  .update-single__ttl {font-size: 2rem;}
  .update-single__txt {width: 100%;}

  /***** archive＆category＆single.php @560px *****/
  #works-archive {padding: 8rem 0;}
  #works-archive::after {display: none;}
  .works-archive__container {margin-bottom: 5rem;}
  .works-archive__box {width: calc(100% / 1);}
  .works-archive__box:nth-child(2n) {top: 0;}

  #works-single {padding: 8rem 0;}
  .works-single__date {display: block; margin-bottom: .5rem; font-size: 1.5rem;}
  .works-single__gallery {margin-bottom: 4rem;}
  .works-single__gallery > div {width: calc(100% / 1);}

  /***** archive-voice＆single-voice.php @560px *****/
  #voice-archive {padding: 8rem 0;}
  #voice-archive::after {display: none;}
  .voice-archive__contents {margin-bottom: 5rem;}
  .voice-archive__item {display: block;}
  .voice-archive__text {width: 100%;}
  .voice-archive__thumb {margin-bottom: 1rem;}
  p.voice-archive__date {font-size: 1.5rem;}
  h3.voice-archive__ttl {font-size: 1.8rem;}

  #voice-single {padding: 8rem 0;}
  .voice-single__img img {margin-bottom: 2rem;}
  .voice-single__ttl {font-size: 2.25rem; margin-bottom: .5rem;}

  /***** after-service.php @560px *****/
  #afterservice {padding: 8rem 0 0;}
  .afterservice__container__box {margin: 3rem 0 9rem;}
  .afterservice__container__box > p {font-size: 1.6rem; margin-bottom: 3rem;}
  .afterservice__container__box ul li {margin-bottom: 2.5rem;}

  /***** contact.php @560px *****/
  span.required {font-size: 1.2rem;}
  #contact {padding: 7rem 0 0;}
  .contact__form {margin: 3rem auto 6rem;}
  table.contact__form__box__contents--table {padding: 1.5rem;}
  .contact__form__box__contents--policy h3 {font-size: 2rem; margin-bottom: 1rem;}
  .contact__form__box__contents--policy h4 {font-size: 1.4rem;}
  .contact__form__box__contents--policy p {font-size: 1.3rem;}
}

/*************************************************************************************************
  376px
************************************************************************************************ */
@media screen and (max-width: 375px) {
  .index__ttl p {font-size: 1.2rem;}

  .index-featured__txt01 h2 {font-size: 3rem;}
  .index-featured__txt01 p {font-size: 1.6rem;}
  .index-featured__txt02 {bottom: 6%;}
  #index__wrap .index-featured__txt02 p {font-size: 1.4rem;}

  .index-menu__container:nth-child(odd) .index-menu__box,
  .index-menu__container:nth-child(even) .index-menu__box {
    bottom: -100%;
  }
}
