@charset "UTF-8";
.relatedContent {
  padding: 60px 0;
}

@media screen and (max-width: 768px) {
  .relatedContent {
    padding: 20px 0 15px;
  }
}

.related {
  max-width: 1080px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .related {
    margin: 0 20px;
  }
}

.related--small {
  display: flex;
  flex-direction: column-reverse;
}

@media screen and (max-width: 768px) {
  .related--small {
    display: block;
  }
}

.related__snsList {
  display: flex;
  justify-content: center;
  margin-bottom: 60px;
  padding: 0 20px;
}

@media screen and (max-width: 768px) {
  .related__snsList {
    display: block;
    margin-bottom: 22px;
    padding: 0;
  }
}

.related__snsList--small {
  justify-content: center;
  margin-bottom: 0;
}

.related__snsList--small .related__item {
  flex-grow: 0;
}

.related__item {
  display: flex;
  margin-right: 28px;
  flex-grow: 1;
}

@media screen and (max-width: 768px) {
  .related__item {
    border-bottom: 1px solid #231815;
    margin: 0;
  }
}

.related__item:last-of-type {
  margin-right: 0;
}

@media screen and (max-width: 768px) {
  .related__item:last-of-type {
    border-bottom: none;
  }
}

.related__item--line::after {
  content: '';
  display: inline-block;
  margin-left: 36px;
  width: 1px;
  height: 67px;
  background-color: #5f6f7a;
}

@media screen and (max-width: 768px) {
  .related__item--line::after {
    display: none;
  }
}

.related__item--line:last-of-type::after {
  content: none;
}

@media screen and (max-width: 768px) {
  .related__item--small {
    display: none;
  }
}

.related__link {
  display: flex;
  align-items: center;
  font-size: 1.7rem;
  font-weight: 500;
  text-decoration: none;
  line-height: 1.8;
  color: #000;
}

@media screen and (max-width: 768px) {
  .related__link {
    width: 100%;
    padding: 15px 2.143em;
    font-size: 1.4rem;
  }
}

.related__link:hover::before {
  opacity: 0.6;
}

.related__link::before {
  content: '';
  display: inline-block;
  width: 42px;
  height: 40px;
  margin-right: 15px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  transition: opacity 0.3s;
}

.related__link--line::before {
  background-image: url(../img/line_icon.png);
}

.related__link--youtube::before {
  background-image: url(../img/youtube_icon.png);
}

@media screen and (max-width: 768px) {
  .related__link--youtube::before {
    margin-right: 6.5%;
  }
}

.related__link--instagram::before {
  background-image: url(../img/instagram_icon.png);
}

.relatedBanner {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
  .relatedBanner {
    flex-wrap: wrap;
    margin-bottom: 0;
  }
}

.relatedBanner__item {
  display: block;
  overflow: hidden;
  width: 22.77778%;
}

@media screen and (max-width: 768px) {
  .relatedBanner__item {
    width: 48%;
    margin-bottom: 15px;
  }
}

.relatedBanner__img {
  display: block;
  width: 100%;
}

.relatedBanner__item:hover .relatedBanner__img {
  transform: scale(1.1);
  transition-duration: 0.3s;
}

@keyframes indicator-right {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(180deg);
  }
  100% {
    transform: rotate(180deg);
  }
}

@keyframes indicator-left {
  0% {
    transform: rotate(180deg);
  }
  50% {
    transform: rotate(180deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@keyframes keyvisualZoom {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.1);
  }
}

.keyvisual {
  position: relative;
  cursor: default;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background-color: #fff;
}

.keyvisual__item {
  overflow: hidden;
}

.keyvisual__slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}

.keyvisual__slide--1 {
  background-image: url(../img/keyvisual_1_pc.jpg);
}

@media screen and (max-width: 768px) {
  .keyvisual__slide--1 {
    background-image: url(../img/keyvisual_1_sp.jpg);
  }
}

.keyvisual__slide--2 {
  background-image: url(../img/keyvisual_2_pc.jpg);
}

@media screen and (max-width: 768px) {
  .keyvisual__slide--2 {
    background-image: url(../img/keyvisual_2_sp.jpg);
  }
}

.keyvisual__slide--3 {
  background-image: url(../img/keyvisual_3_pc.jpg);
}

@media screen and (max-width: 768px) {
  .keyvisual__slide--3 {
    background-image: url(../img/keyvisual_3_sp.jpg);
  }
}

.keyvisual__slide--4 {
  background-image: url(../img/keyvisual_4_pc.jpg);
}

@media screen and (max-width: 768px) {
  .keyvisual__slide--4 {
    background-image: url(../img/keyvisual_4_sp.jpg);
  }
}

.keyvisual__slide--5 {
  background-image: url(../img/keyvisual_5_pc.jpg);
}

@media screen and (max-width: 768px) {
  .keyvisual__slide--5 {
    background-image: url(../img/keyvisual_5_sp.jpg);
  }
}

.keyvisual__slide--6 {
  background-image: url(../img/keyvisual_6_pc.jpg);
}

@media screen and (max-width: 768px) {
  .keyvisual__slide--6 {
    background-image: url(../img/keyvisual_6_sp.jpg);
  }
}

.keyvisual__body {
  position: relative;
  max-width: 1210px;
  height: 100%;
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
  z-index: 10;
}

@media screen and (max-width: 1200px) {
  .keyvisual__body {
    width: 100%;
  }
}

.keyvisual__title {
  position: absolute;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", sans-serif;
  font-size: 4.5rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 1.5px;
  color: #fff;
  text-shadow: 0 0 10px #808080;
  transform: translateY(-50%) translateX(-50%);
}

@media screen and (max-width: 768px) {
  .keyvisual__title {
    font-size: 2.5rem;
  }
}

.keyvisual__title--type1 {
  top: 50%;
  left: 50%;
  width: 40%;
  text-align: center;
}

.keyvisual__title--type2 {
  top: 55%;
  left: 85%;
  width: 40%;
}

@media screen and (max-width: 768px) {
  .keyvisual__title--type2 {
    top: 70%;
    left: 82%;
  }
}

.keyvisual__title--type3 {
  top: 75%;
  left: 1%;
  transform: translateY(-50%);
}

.keyvisual__title--type4, .keyvisual__title--type5 {
  top: 15%;
  left: 3%;
  transform: translateY(-50%);
}

.keyvisual__title--type6 {
  top: 20%;
  left: 3%;
  transform: translateY(-50%);
}

@media screen and (max-width: 768px) {
  .keyvisual__title--type6 {
    bottom: 10%;
  }
}

.keyvisual__titleImg {
  vertical-align: middle;
}

@media screen and (max-width: 768px) {
  .keyvisual__titleImg {
    display: none;
  }
}

.keyvisualSwiper {
  height: 700px;
}

@media screen and (max-width: 768px) {
  .keyvisualSwiper {
    height: 71.615vw;
  }
}

.keyvisualSwiper__pagination.swiper-pagination-bullets {
  width: auto;
  right: 90px;
  left: auto;
  bottom: 50px;
}

@media screen and (max-width: 768px) {
  .keyvisualSwiper__pagination.swiper-pagination-bullets {
    width: 100%;
    right: auto;
    left: auto;
    bottom: 5%;
  }
}

.keyvisualSwiper__pagination.swiper-pagination-bullets > .swiper-pagination-bullet {
  margin: 0 8px;
  background: none;
}

@media screen and (max-width: 768px) {
  .keyvisualSwiper__pagination.swiper-pagination-bullets > .swiper-pagination-bullet {
    margin: 0 6px;
  }
}

.keyvisualSwiper__button {
  position: relative;
  display: inline-block;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  overflow: hidden;
  opacity: 1;
}

@media screen and (max-width: 768px) {
  .keyvisualSwiper__button {
    width: 20px;
    height: 20px;
  }
}

.keyvisualSwiper__button::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  display: inline-block;
  width: 8px;
  height: 8px;
  background-color: #fff;
  border-radius: 50%;
  transition: transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

@media screen and (max-width: 768px) {
  .keyvisualSwiper__button::before {
    width: 6px;
    height: 6px;
  }
}

.keyvisualSwiper__innerButton {
  position: absolute;
  display: none;
  top: 0;
  width: 50%;
  height: 100%;
  overflow: hidden;
}

.keyvisualSwiper__innerButton::before {
  content: '';
  position: absolute;
  display: block;
  top: 0;
  width: 200%;
  height: 100%;
  background-image: url(../img/pagination_icon.svg);
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

.keyvisualSwiper__innerButton:nth-child(1) {
  left: 50%;
}

.keyvisualSwiper__innerButton:nth-child(1)::before {
  left: -100%;
}

.keyvisualSwiper__innerButton:nth-child(2) {
  left: 0;
}

.keyvisualSwiper__innerButton:nth-child(2)::before {
  left: 0;
}

.keyvisualSwiper .swiper-pagination-bullet-active .keyvisualSwiper__innerButton {
  display: block;
}

.keyvisualSwiper .swiper-pagination-bullet-active.keyvisualSwiper__button::before {
  transform: scale(2.25);
}

.keyvisualSwiper .swiper-pagination-bullet-active .keyvisualSwiper__innerButton:nth-child(1)::before {
  animation: indicator-right 6s linear forwards;
}

.keyvisualSwiper .swiper-pagination-bullet-active .keyvisualSwiper__innerButton:nth-child(2)::before {
  animation: indicator-left 6s linear forwards;
}

.keyvisualSwiper .swiper-pagination-bullet-active .keyvisualSwiper__innerButton::before {
  animation-delay: 0s;
}

.keyvisualSwiper .swiper-slide-active .keyvisual__slide,
.keyvisualSwiper .swiper-slide-duplicate-active .keyvisual__slide,
.keyvisualSwiper .swiper-slide-prev .keyvisual__slide {
  animation-name: keyvisualZoom;
  animation-duration: 6s;
  animation-timing-function: linear;
  animation-fill-mode: both;
}

.disasterMessage{
  padding-top: 50px;
}

@media screen and (max-width: 768px) {
  .disasterMessage{
    padding-left: 20px;
    padding-right: 20px;
  }
}

.disasterMessage__text{
  text-align: center;
  font-size: 15px;
  line-height: 2.0;
}

@media screen and (max-width: 768px) {
  .disasterMessage__text{
    line-height: normal;
  }
}

.informationContent {
  max-width: 1210px;
  margin: 0 auto;
  padding-top: 50px;
  padding-left: 15px;
  padding-right: 15px;
}

@media screen and (max-width: 768px) {
  .informationContent {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.information {
  border: 2px solid #5f6f7a;
  margin-bottom: 65px;
  padding: 40px 76px;
  font-weight: bold;
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
  .information {
    font-size: 1.4rem;
    padding: 25px 18px;
  }
}

.information__inner a > span {
  color: #000;
}

.information__inner span,
.information__inner p,
.information__inner li {
  font-size: 1.5rem;
  color: #000;
  font-weight: normal;
}

.information__item {
  display: flex;
  align-items: baseline;
  margin-bottom: 15px;
}

.information__item:last-of-type {
  margin-bottom: 0;
}

@media screen and (max-width: 768px) {
  .information__item {
    display: block;
    margin-bottom: 20px;
  }
}

.information__date {
  position: relative;
  display: inline-block;
  min-width: 6em;
  margin-right: 25px;
  padding-left: 12px;
  font-size: 1.5rem;
  line-height: 1.5;
  color: #5f6f7a;
}

.information__date::before {
  content: '';
  position: absolute;
  left: 0;
  top: 8px;
  display: inline-block;
  margin-right: 5px;
  width: 6px;
  height: 6px;
  border-radius: 100%;
  background-color: #5f6f7a;
}

.information__text {
  font-size: 1.5rem;
  line-height: 1.5;
  color: #5f6f7a;
}

@media screen and (max-width: 768px) {
  .information__text {
    font-size: 1.4rem;
    margin-left: 10px;
    margin-top: 5px;
  }
}

.pickUp {
  position: relative;
  width: 100%;
  height: 100%;
  /*background-image: url(../img/pickUpBackground.jpg);*/
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  margin-top: 15px;
  margin-bottom: 80px;
  padding-top: 80px;
  /*padding-bottom: 13rem;*/
}

@media screen and (max-width: 768px) {
  .pickUp {
    margin-bottom: 0;
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

.pickUp__title {
  text-align: center;
  font-family: "Roboto", sans-serif;
  font-size: 4rem;
  line-height: 1.3;
  letter-spacing: 1.5px;
}

@media screen and (max-width: 768px) {
  .pickUp__title {
    font-size: 3rem;
  }
}

.pickUp__wrapper {
  position: relative;
  max-width: 100%;
  padding: 50px 0;
}

.pickUp__wrapper .swiper-wrapper {
  align-items: baseline;
}

@media screen and (max-width: 1023px) {
  .pickUp__wrapper .swiper-wrapper {
    padding-bottom: 60px;
  }
}

@media screen and (max-width: 768px) {
  .pickUp__wrapper .swiper-wrapper {
    padding-bottom: 50px;
  }
}

@media screen and (max-width: 1023px) {
  .pickUp__wrapper {
    padding-bottom: 15px;
  }
}

@media screen and (max-width: 768px) {
  .pickUp__wrapper {
    padding: 20px 0 0;
  }
}

.pickUp__slide {
  width: 500px;
}

@media screen and (max-width: 768px) {
  .pickUp__slide {
    max-width: 250px;
  }
}

.pickUp__item {
  display: block;
  width: 100%;
}

.pickUp__img {
  display: block;
  width: 100%;
}

.pickUpSwiper {
  position: relative;
  margin: 0;
}

@media screen and (max-width: 768px) {
  .pickUpSwiper {
    width: 100%;
  }
}

.pickUpSwiper__nav {
  position: absolute;
  top: auto;
  right: auto;
  left: 50%;
  bottom: -20px;
  width: 330px;
  height: 44px;
  z-index: 10;
  transform: translateX(-50%);
}

@media screen and (max-width: 768px) {
  .pickUpSwiper__nav {
    width: 220px;
    bottom: -5px;
  }
}

.pickUpSwiper__nav > .swiper-button-next::after,
.pickUpSwiper__nav .swiper-button-prev::after {
  content: '';
  font-size: 18px;
  width: 24px;
  height: 24px;
  border: 2px solid;
}

@media screen and (max-width: 768px) {
  .pickUpSwiper__nav > .swiper-button-next::after,
  .pickUpSwiper__nav .swiper-button-prev::after {
    width: 12px;
    height: 12px;
  }
}

.pickUpSwiper__nav > .swiper-button-next:after {
  border-color: #5e5e5e #5e5e5e transparent transparent;
  transform: rotate(45deg);
}

.pickUpSwiper__nav > .swiper-button-prev:after {
  border-color: transparent transparent #5e5e5e #5e5e5e;
  transform: rotate(45deg);
}

.pickUpSwiper__pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 80%;
  height: 44px;
  left: 50%;
  top: 50%;
  transform: translateY(-50%) translateX(-50%);
}

@media screen and (max-width: 768px) {
  .pickUpSwiper__pagination {
    width: 75%;
  }
}

.pickUpSwiper__pagination .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  margin: 0 10px;
  opacity: 1;
  background-color: #cbcbcb;
}

@media screen and (max-width: 768px) {
  .pickUpSwiper__pagination .swiper-pagination-bullet {
    width: 6px;
    height: 6px;
    margin: 0 6px;
  }
}

.pickUpSwiper__pagination .swiper-pagination-bullet-active {
  background-color: #202020;
}

.aboutContent {
  padding-bottom: 20px;
}

@media screen and (max-width: 768px) {
  .aboutContent {
    width: 100%;
    margin: auto;
    padding: 0 20px;
    padding-bottom: 20px;
  }
}

.about {
  display: flex;
  align-items: center;
  max-width: 1310px;
  margin: 0 auto;
  margin-top: 60px;
  padding-left: 15px;
  padding-right: 15px;
}

@media screen and (max-width: 768px) {
  .about {
    display: block;
    margin-top: 0;
    padding: 0;
  }
}

@media screen and (max-width: 768px) {
  .about__btn {
    text-align: center;
  }
}

.about .lv3Heading,
.about .about__imgWrapper {
  opacity: 0;
  transform: translateY(30px);
}

.about--isScroll .lv3Heading,
.about--isScroll .about__imgWrapper {
  opacity: 1;
  transition: opacity 1.8s 0s, transform 1.8s 0s cubic-bezier(0.19, 1, 0.22, 1);
  transform: translateY(0);
}

.about--isScroll .about__imgWrapper {
  transition-delay: 0.3s;
}

.about__imgWrapper {
  flex-shrink: 0;
  margin-left: 5.46875%;
  width: 41.01563%;
}

@media screen and (max-width: 768px) {
  .about__imgWrapper {
    margin-left: 0;
    width: 100%;
  }
}

.about__img {
  display: block;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .about__img {
    margin: 30px 0;
  }
}

.presenceContent {
  padding-top: 80px;
}

@media screen and (max-width: 768px) {
  .presenceContent {
    padding-top: 40px;
    padding-left: 20px;
    padding-right: 20px;
  }
}

.presence {
  text-align: center;
  padding-bottom: 30px;
}

@media screen and (max-width: 768px) {
  .presence {
    padding-bottom: 35px;
  }
}

@media screen and (max-width: 768px) {
  .presence--open .presence__item--spHide {
    animation: show 0.5s linear 0s;
    display: flex;
  }
}

.presence__heading {
  display: inline-block;
  margin-bottom: 60px;
  text-align: center;
  color: #000;
  font-weight: bold;
  font-size: 3.4rem;
  line-height: 1.7;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", sans-serif;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .presence__heading {
    font-size: 2.8rem;
    margin-bottom: 10px;
  }
}

@media screen and (min-width: 768px) and (max-width: 900px) {
  .presence__heading {
    font-size: 2.8rem;
  }
}

.presence__wrapper {
  max-width: 1310px;
  padding-left: 15px;
  padding-right: 15px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .presence__wrapper {
    padding: 0;
  }
}

.presence__list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.presence__list--isScroll .presence__item {
  opacity: 1;
  transition: opacity 1.8s 0s, transform 1.8s 0s cubic-bezier(0.19, 1, 0.22, 1);
  transform: translateY(0);
}

.presence__list--isScroll .presence__item:nth-of-type(2n) {
  transition-delay: 0.3s;
}

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

.presence__item {
  position: relative;
  display: block;
  margin-bottom: 24rem;
  width: 46.875%;
  opacity: 0;
  transform: translateY(30px);
}

@media screen and (max-width: 768px) {
  .presence__item {
    width: 100%;
    margin-bottom: 2.5rem;
  }
}

.presence__imgLink {
  position: relative;
  width: 100%;
  display: block;
  box-shadow: 0px 0px 16px -4px rgba(0, 0, 0, 0.4);
}

.presence__imgWrapper {
  width: 100%;
}

.presence__img {
  width: 100%;
  vertical-align: middle;
}

.presence__content {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  width: 80.62016%;
  padding-top: 35px;
  background-color: #fff;
  box-shadow: 0px 0px 16px -4px rgba(0, 0, 0, 0.4);
}

@media screen and (max-width: 768px) {
  .presence__content {
    position: relative;
    top: 0;
    left: 0;
    transform: none;
    width: 91.4%;
    margin: 0 auto;
    margin-top: -40px;
    padding-top: 27px;
  }
}

.presence__title {
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.16em;
  color: #5f6f7a;
  margin-bottom: 12px;
}

@media screen and (max-width: 768px) {
  .presence__title {
    font-size: 1.6rem;
    margin-bottom: 5px;
  }
}

.presence__text {
  font-size: 2rem;
  line-height: 1.5;
  margin-bottom: 42px;
}

@media screen and (max-width: 768px) {
  .presence__text {
    font-size: 1.6rem;
    margin-bottom: 25px;
  }
}

.presence__textLarge {
  margin: 0 8px;
  font-size: 6rem;
  font-family: "Roboto", sans-serif;
  letter-spacing: -1px;
}

@media screen and (max-width: 768px) {
  .presence__textLarge {
    font-size: 3.8rem;
    margin: 0 5px;
  }
}

.presence__button {
  position: relative;
  display: block;
  width: 100%;
  line-height: 1.2;
  font-size: 1.8rem;
  padding: 20px 0;
  border-top: 1px solid #c8c8c8;
  color: #424242;
  font-family: "Roboto", sans-serif;
}

@media screen and (max-width: 768px) {
  .presence__button {
    font-size: 1.5rem;
    padding: 10px 0;
  }
}

.presence__button::before {
  content: '';
  position: absolute;
  display: block;
  left: 0;
  right: 0;
  top: 0;
  width: 80px;
  height: 3px;
  margin: auto;
  background-color: #5f6f7a;
  transition: 0.3s;
}

@media screen and (max-width: 768px) {
  .presence__button::before {
    width: 60px;
    height: 1px;
  }
}

.presence__button::after {
  content: '';
  display: inline-block;
  border-color: #5f6f7a;
  border-style: solid;
  border-width: 0 2px 2px 0;
  width: 9px;
  height: 9px;
  vertical-align: middle;
  transform: rotate(-45deg);
  margin-left: 10px;
  transition: 0.3s;
}

@media screen and (max-width: 768px) {
  .presence__button::after {
    margin-left: 4px;
    border-width: 0 1px 1px 0;
    width: 8px;
    height: 8px;
  }
}

.presence__button:hover {
  background-color: #5f6f7a;
  color: #fff;
}

.presence__button:hover::after {
  border-color: #fff;
}

.presence__button:hover::before {
  width: 100%;
}

.summaryContent {
  background-image: url(../img/summaryBackground.jpg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.summar {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 1310px;
  margin: 0 auto;
  padding-top: 126px;
  padding-bottom: 90px;
  padding-left: 15px;
  padding-right: 15px;
}

@media screen and (max-width: 768px) {
  .summar {
    display: block;
    padding: 0 20px;
    padding-top: 50px;
  }
}

.summar--isScroll .summar__item {
  opacity: 1;
  transition: opacity 1.8s 0s, transform 1.8s 0s cubic-bezier(0.19, 1, 0.22, 1);
  transform: translateY(0);
}

.summar--isScroll .summar__item:nth-child(2n) {
  transition-delay: 0.3s;
}

.summar__note {
  max-width: 90%;
  margin: 0 auto;
  margin-top: 2px;
  font-size: 12px;
  line-height: 1.5;
}

.summar__item {
  display: inline-block;
  width: 46.875%;
  opacity: 0;
  transform: translateY(30px);
}

@media screen and (max-width: 768px) {
  .summar__item {
    width: 100%;
    margin-bottom: 30px;
  }
}

.summar__body {
  background-color: #fff;
  height: 100%;
}

.summar__wrapper {
  background-color: #eee;
  padding: 30px 0;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .summar__wrapper {
    padding: 20px 0;
  }
}

.summar__title {
  display: inline-block;
  margin-bottom: 20px;
  font-size: 3.2rem;
  font-weight: normal;
  letter-spacing: 2px;
  line-height: 1.2;
}

@media screen and (max-width: 768px) {
  .summar__title {
    font-size: 2rem;
    margin-bottom: 10px;
  }
}

@media screen and (min-width: 768px) and (max-width: 900px) {
  .summar__title {
    font-size: 2.5rem;
  }
}

.summar__title::after {
  content: '';
  display: block;
  margin: 0 auto;
  margin-top: 11px;
  width: 80px;
  height: 2px;
  background-color: #5f6f7a;
  transition: width 0.5s;
}

.summar__text {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  line-height: 1.6;
}

@media screen and (max-width: 768px) {
  .summar__text {
    height: auto;
    font-size: 1.4rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 900px) {
  .summar__text {
    font-size: 1.6rem;
  }
}

.summar__button {
  display: block;
  margin: 0 auto;
  margin-top: 30px;
  text-align: center;
  text-decoration: none;
  width: 200px;
  padding: 12px 0;
  background-color: #fff;
  color: #000;
  letter-spacing: 0.05em;
  font-size: 1.8rem;
  font-family: "Roboto", sans-serif;
  line-height: 1.2;
  transition: width 0.2s;
}

@media screen and (max-width: 768px) {
  .summar__button {
    width: 78.4%;
    margin-top: 16px;
    font-size: 1.6rem;
  }
}

.summar__button::after {
  content: '';
  display: inline-block;
  border-color: #5f6f7a;
  border-style: solid;
  border-width: 0 2px 2px 0;
  width: 9px;
  height: 9px;
  vertical-align: middle;
  transform: rotate(-45deg);
  margin-left: 10px;
}

@media screen and (max-width: 768px) {
  .summar__button::after {
    border-width: 0 1px 1px 0;
    width: 8px;
    height: 8px;
  }
}

.summar__button:hover {
  width: 88%;
  background-color: #5f6f7a;
  color: #fff;
}

.summar__button:hover::after {
  border-color: #fff;
}

.summarSwiper {
  height: 275px;
  margin-top: 70px;
  background-color: #fff;
}

@media screen and (max-width: 768px) {
  .summarSwiper {
    height: 240px;
  }
}

.summarSwiper__slide {
  width: 80%;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .summarSwiper__slide {
    width: 90%;
  }
}

.summarSwiper > .summarSwiper__pagination {
  bottom: 30px;
}

.summarSwiper > .summarSwiper__pagination .swiper-pagination-bullet {
  margin: 0 10px;
  width: 8px;
  height: 8px;
  opacity: 1;
  background-color: #dcdddd;
}

@media screen and (max-width: 768px) {
  .summarSwiper > .summarSwiper__pagination .swiper-pagination-bullet {
    margin: 0 6px;
    width: 6px;
    height: 6px;
  }
}

.summarSwiper > .summarSwiper__pagination .swiper-pagination-bullet-active {
  background-color: #9fa0a0;
}

.summarSwiper > .swiper-button-next,
.summarSwiper .swiper-button-prev {
  top: 15%;
}

.summarSwiper > .swiper-button-next {
  right: 40px;
}

@media screen and (max-width: 768px) {
  .summarSwiper > .swiper-button-next {
    right: 10px;
  }
}

@media screen and (min-width: 768px) and (max-width: 970px) {
  .summarSwiper > .swiper-button-next {
    right: 12px;
  }
}

.summarSwiper > .swiper-button-prev {
  left: 40px;
}

@media screen and (max-width: 768px) {
  .summarSwiper > .swiper-button-prev {
    left: 10px;
  }
}

@media screen and (min-width: 768px) and (max-width: 970px) {
  .summarSwiper > .swiper-button-prev {
    left: 12px;
  }
}

.summarSwiper > .swiper-button-next:after,
.summarSwiper .swiper-button-prev:after {
  content: '';
  font-size: 18px;
  width: 24px;
  height: 24px;
  border: 2px solid;
}

@media screen and (max-width: 768px) {
  .summarSwiper > .swiper-button-next:after,
  .summarSwiper .swiper-button-prev:after {
    width: 20px;
    height: 20px;
  }
}

.summarSwiper > .swiper-button-next:after {
  border-color: #5f6f7a #5f6f7a transparent transparent;
  transform: rotate(45deg);
}

.summarSwiper > .swiper-button-prev:after {
  border-color: transparent transparent #5f6f7a #5f6f7a;
  transform: rotate(45deg);
}

.summarSwiper__title {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 10px;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
  color: #5f6f7a;
}

@media screen and (max-width: 768px) {
  .summarSwiper__title {
    height: auto;
    font-size: 1.6rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 870px) {
  .summarSwiper__title {
    font-size: 1.8rem;
  }
}

.summarSwiper__inner {
  display: flex;
  justify-content: center;
  align-items: center;
}

.summarSwiper__iconImgWrapper {
  display: block;
  flex-shrink: 0;
  width: 15.875%;
}

@media screen and (max-width: 768px) {
  .summarSwiper__iconImgWrapper {
    width: 66px;
  }
}

.summarSwiper__iconImg {
  display: block;
  width: 100%;
}

.summarSwiper__textArea {
  margin-left: 22px;
}

@media screen and (max-width: 768px) {
  .summarSwiper__textArea {
    margin-left: 12px;
  }
}

.summarSwiper__text {
  margin-bottom: 10px;
  text-align: center;
  font-family: "Roboto", sans-serif;
  font-size: 6rem;
  font-weight: 500;
  letter-spacing: -1px;
}

@media screen and (max-width: 768px) {
  .summarSwiper__text {
    font-size: 5rem;
    margin-bottom: 5px;
    white-space: nowrap;
  }
}

@media screen and (min-width: 768px) and (max-width: 870px) {
  .summarSwiper__text {
    font-size: 4.5rem;
  }
}

.summarSwiper__text--medium {
  font-size: 5rem;
}

@media screen and (max-width: 768px) {
  .summarSwiper__text--medium {
    font-size: 3.8rem;
  }
}

.summarSwiper__text--small {
  margin-left: 4px;
  margin-right: 4px;
  font-size: 3rem;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  .summarSwiper__text--small {
    font-size: 1.5rem;
  }
}

.summarSwiper__subTitle {
  margin-bottom: 3px;
  font-weight: normal;
  font-size: 1.6rem;
  letter-spacing: -1px;
}

@media screen and (max-width: 768px) {
  .summarSwiper__subTitle {
    font-size: 1.4rem;
  }
}

.summarSwiper__subText {
  letter-spacing: 2px;
  text-align: center;
  font-size: 1.8rem;
}

@media screen and (max-width: 768px) {
  .summarSwiper__subText {
    font-size: 1.4rem;
  }
}

.summarSwiper__subText--green {
  color: #94b428;
}

.summarSwiper__note {
  font-size: 1.2rem;
  line-height: 1.2;
}

.esgContent {
  padding-top: 30px;
}

@media screen and (max-width: 768px) {
  .esgContent {
    padding: 24px 0 0;
  }
}

.esgHeading {
  max-width: 1080px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .esgHeading {
    margin: 0 20px;
  }
}

.esgHeading__title {
  margin-top: 20px;
  text-align: center;
  line-height: 1.75;
  font-size: 4rem;
  font-family: "Roboto", sans-serif;
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  .esgHeading__title {
    font-size: 3rem;
  }
}

.esgHeading__lead {
  margin: 30px 0;
  text-align: center;
  font-size: 3.4rem;
  color: #5f6f7a;
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
  .esgHeading__lead {
    font-size: 1.8rem;
    margin: 10px 0;
  }
}

.esgHeading__text {
  font-size: 2.8rem;
  text-align: center;
  line-height: 1.6;
}

@media screen and (max-width: 768px) {
  .esgHeading__text {
    font-size: 1.4rem;
  }
}

.esg {
  position: relative;
  margin-top: 80px;
  padding-top: 60px;
  padding-bottom: 60px;
  background-image: url(../img/esgBackground.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

@media screen and (max-width: 768px) {
  .esg {
    margin-top: 20px;
    padding-top: 15px;
    padding-bottom: 16px;
  }
}

.esgSwiper {
  margin-top: 55px;
  padding-bottom: 50px;
}

@media screen and (max-width: 768px) {
  .esgSwiper {
    margin-top: 35px;
    margin-bottom: 30px;
  }
}

.esgSwiper__slide {
  display: flex;
  height: auto;
  align-items: flex-start;
  background-color: rgba(255, 255, 255, 0.8);
  padding: 23px 20px;
}

@media screen and (max-width: 768px) {
  .esgSwiper__slide {
    flex-direction: column;
    max-width: 250px;
    max-height: 80%;
  }
}

.esgSwiper__slide:hover .esgSwiper__img {
  transform: scale(1.1);
  transition-duration: 0.3s;
}

.esgSwiper__body {
  width: 73.74194%;
  margin-left: 40px;
}

@media screen and (max-width: 768px) {
  .esgSwiper__body {
    width: 100%;
    margin-left: 0;
  }
}

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

@media screen and (max-width: 768px) {
  .esgSwiper__head {
    margin-top: 15px;
  }
}

.esgSwiper__detail {
  margin-top: 20px;
}

@media screen and (max-width: 768px) {
  .esgSwiper__detail {
    margin-top: 15px;
  }
}

.esgSwiper__detailText {
  margin-bottom: 20px;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 2.5rem;
  height: 7.5rem;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .esgSwiper__detailText {
    display: block;
    line-height: 1.8rem;
    font-size: 1.4rem;
    margin-bottom: 20px;
    height: auto;
  }
}

.esgSwiper__title {
    font-size: 3rem;
    font-weight: 700;
    color: #222;
    
    /* 1. 基準位置を設定 */
    position: relative; 
    
    /* 2. 下線を入れるための隙間をあらかじめ内側に作っておく */
    padding-bottom: 15px; 

    /* 元の2行制限の機能 */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden; /* これがあってもpaddingの中なら表示されます */
    line-height: 3.6rem;
    

}

/* アンダーラインの設定 */
.esgSwiper__title::after {
    content: ""; /* これがないと絶対表示されません */
    position: absolute;
    
    /* 4. bottom: 0 にすることで、paddingで空けた隙間の底辺に配置 */
    bottom: 0; 
    left: 0;
    
    width: 100%; 
    height: 3px; 
    background-color: #005bac; 
    
    /* 5. 万が一他の要素の下に隠れないように念のため */
    z-index: 1; 
}
@media screen and (max-width: 768px) {
  .esgSwiper__title {
    display: block;
    font-size: 1.6rem;
    line-height: 2rem;
    height: auto;
  }
}

.esgSwiper__iconImgWrapper {
  display: inline-block;
  max-width: 74%;
  width: 17.8%;
  margin-right: 1.2%;
  margin-left: 0;
  flex-shrink: 0;
}

@media screen and (max-width: 768px) {
  .esgSwiper__iconImgWrapper {
    width: 17%;
    margin-right: 4px;
  }
}

.esgSwiper__iconImg {
  display: block;
  width: 100%;
}

.esgSwiper__imgWrapper {
  flex-shrink: 0;
  display: block;
  width: 25.92423%;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .esgSwiper__imgWrapper {
    width: 100%;
  }
}

.esgSwiper__img {
  width: 100%;
  vertical-align: middle;
  transition-duration: 0.3s;
  border-radius: 9%;
}

.esgSwiper__pagination {
  display: flex;
  justify-content: center;
}

.esgSwiper__pagination.swiper-pagination-bullets,
.esgSwiper__pagination .swiper-pagination-custom,
.esgSwiper__pagination .swiper-pagination-fraction {
  bottom: 0;
}

.esgSwiper__pagination > .swiper-pagination-bullet-active {
  background-color: #fff !important;
}

.esgSwiper__pagination.swiper-pagination-bullets > .swiper-pagination-bullet {
  display: block;
  margin-right: 20px;
  background-color: #cbcbcb;
  opacity: 1;
}

@media screen and (max-width: 768px) {
  .esgSwiper__pagination.swiper-pagination-bullets > .swiper-pagination-bullet {
    margin-right: 10px;
  }
  .esgSwiper__pagination.swiper-pagination-bullets > .swiper-pagination-bullet:last-of-type {
    margin-right: 0;
  }
}

.esgSwiper > .swiper-button-next {
  right: 4px;
}

@media screen and (min-width: 1320px) {
  .esgSwiper > .swiper-button-next {
    right: calc(50% - 650px);
  }
}

@media screen and (max-width: 768px) {
  .esgSwiper > .swiper-button-next {
    right: 2.3%;
  }
}

.esgSwiper > .swiper-button-prev {
  left: 4px;
}

@media screen and (min-width: 1320px) {
  .esgSwiper > .swiper-button-prev {
    left: calc(50% - 650px);
  }
}

@media screen and (max-width: 768px) {
  .esgSwiper > .swiper-button-prev {
    left: 2.3%;
  }
}

.esgSwiper > .swiper-button-next,
.esgSwiper .swiper-button-prev {
  top: 50%;
  display: block;
  margin-bottom: 10px;
  width: 85px;
  height: 85px;
  border-radius: 50%;
  background-color: #fff;
  transition: 0.3s;
  transform: translateY(-50%);
}

@media screen and (max-width: 1023px) {
  .esgSwiper > .swiper-button-next,
  .esgSwiper .swiper-button-prev {
    display: none;
  }
}

.esgSwiper > .swiper-button-next:hover,
.esgSwiper .swiper-button-prev:hover {
  background-color: #5f6f7a;
}

.esgSwiper > .swiper-button-next:hover.swiper-button-next::after,
.esgSwiper .swiper-button-prev:hover.swiper-button-next::after {
  border-color: #fff #fff transparent transparent;
}

.esgSwiper > .swiper-button-next:hover.swiper-button-prev::after,
.esgSwiper .swiper-button-prev:hover.swiper-button-prev::after {
  border-color: transparent transparent #fff #fff;
}

.esgSwiper > .swiper-button-next::after,
.esgSwiper .swiper-button-prev::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  display: inline-block;
  width: 32px;
  height: 32px;
  border: 1px solid;
}

@media screen and (max-width: 1080px) {
  .esgSwiper > .swiper-button-next::after,
  .esgSwiper .swiper-button-prev::after {
    width: 25px;
    height: 25px;
  }
}

@media screen and (max-width: 768px) {
  .esgSwiper > .swiper-button-next::after,
  .esgSwiper .swiper-button-prev::after {
    width: 20px;
    height: 20px;
  }
}

.esgSwiper__buttonNext.swiper-button-next::after {
  right: 10px;
  border-color: #5f6f7a #5f6f7a transparent transparent;
  transform: rotate(45deg);
}

.esgSwiper__buttonPrev.swiper-button-prev::after {
  left: 10px;
  border-color: transparent transparent #5f6f7a #5f6f7a;
  transform: rotate(45deg);
}

.esgSwiper__paginatioImg {
  display: block;
  width: 100%;
}

.newsReleaseContent {
  padding: 50px 0 40px;
  background-color: #f5f6f6;
}

@media screen and (max-width: 768px) {
  .newsReleaseContent {
    padding: 44px 0;
  }
}

.newsRelease {
  max-width: 1050px;
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
}

.newsRelease__title {
  position: relative;
  text-align: center;
  font-size: 4rem;
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 3.6px;
  padding-bottom: 37px;
}

@media screen and (max-width: 768px) {
  .newsRelease__title {
    font-size: 3rem;
    margin: 0 20px;
    padding-bottom: 20px;
  }
}

.newsRelease__title::after {
  content: '';
  position: absolute;
  bottom: 0px;
  left: 0px;
  display: block;
  width: 0;
  height: 1px;
  background-color: #909090;
  transition: width 0.5s;
}

.newsRelease__title--isScroll::after {
  width: 100%;
}

.newsRelease__body {
  display: flex;
  margin-top: 42px;
}

@media screen and (max-width: 768px) {
  .newsRelease__body {
    display: block;
    margin: 0 20px;
    margin-top: 20px;
  }
}

.newsRelease__body > dl {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .newsRelease__body > dl {
    margin-top: 18px;
    margin-left: 0;
  }
}

.newsRelease__body dt {
  position: relative;
  display: inline-block;
  vertical-align: top;
  line-height: 1.5;
  font-size: 1.5rem;
  max-width: 135px;
  margin-right: 25px;
  padding-left: 12px;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  .newsRelease__body dt {
    display: block;
    font-size: 1.4rem;
    margin-bottom: 6px;
  }
}

.newsRelease__body dt::before {
  content: '';
  position: absolute;
  left: 0;
  top: 8px;
  display: inline-block;
  background-color: #000;
  width: 6px;
  height: 6px;
  margin-right: 3px;
  border-radius: 50%;
}

.newsRelease__body dd {
  display: inline-block;
  margin-bottom: 45px;
  width: 75%;
  font-size: 1.5rem;
  line-height: 1.5;
  text-decoration: none;
  color: #000;
}

@media screen and (max-width: 768px) {
  .newsRelease__body dd {
    width: 100%;
    margin-bottom: 15px;
    font-size: 1.4rem;
  }
}

.newsRelease__category {
  min-width: 140px;
  font-size: 1.7rem;
  font-weight: 400;
  color: #5f6f7a;
}

.newsRelease__item {
  display: flex;
  margin-bottom: 45px;
}

.newsRelease__item:last-of-type {
  margin-bottom: 0;
}

@media screen and (max-width: 768px) {
  .newsRelease__item {
    display: block;
    margin-bottom: 20px;
  }
}

.newsRelease__foot {
  position: relative;
  margin-top: 20px;
  margin-bottom: 60px;
}

@media screen and (max-width: 768px) {
  .newsRelease__foot {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 20px;
    margin-top: 15px;
    padding-bottom: 30px;
  }
}

.newsRelease__button {
  display: block;
  max-width: 180px;
  margin: 0 auto;
  padding: 12px 0;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.75;
  color: #5f6f7a;
  text-align: center;
  text-decoration: none;
  background-color: #fff;
}

@media screen and (max-width: 768px) {
  .newsRelease__button {
    font-size: 1.4rem;
    padding: 6px 32px;
    margin: 0;
    margin-right: 50px;
  }

  .newsRelease__button.newsRelease__button--noMargin {
    margin-right:0;
  }
}

.newsRelease__button::after {
  content: '';
  display: inline-block;
  margin-left: 6px;
  width: 8px;
  height: 8px;
  border: 1px solid;
  border-color: #5f6f7a #5f6f7a transparent transparent;
  transform: rotate(45deg);
}

.newsRelease__button:hover {
  background-color: #5f6f7a;
  color: #fff;
}

.newsRelease__button:hover::after {
  border-color: #fff #fff transparent transparent;
}

.newsRelease__detail {
  position: absolute;
  right: 0;
  top: 34%;
  font-size: 1.6rem;
  text-decoration: none;
  color: #5f6f7a;
  padding-bottom: 2px;
  border-bottom: 1px solid transparent;
}

@media screen and (max-width: 768px) {
  .newsRelease__detail {
    position: relative;
    transform: none;
    right: auto;
    padding-left: 6px;
    font-size: 1.4rem;
  }
}

.newsRelease__detail::before {
  content: '';
  display: inline-block;
  position: absolute;
  left: -18px;
  top: 4px;
  width: 8px;
  height: 8px;
  border: 1px solid;
  border-color: #fff #fff transparent transparent;
  transform: rotate(45deg);
  z-index: 2;
}

@media screen and (max-width: 768px) {
  .newsRelease__detail::before {
    left: -22px;
    top: 2px;
    width: 10px;
    height: 10px;
  }
}

.newsRelease__detail::after {
  content: '';
  display: inline-block;
  position: absolute;
  left: -22px;
  top: -2px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  z-index: 1;
  background-color: #5f6f7a;
}

@media screen and (max-width: 768px) {
  .newsRelease__detail::after {
    width: 25px;
    height: 25px;
    left: -27px;
    top: -5px;
  }
}

.newsRelease__detail:hover {
  border-color: #5f6f7a;
}

.newsTopics {
  margin-top: 80px;
}

@media screen and (max-width: 768px) {
  .newsTopics {
    margin-top: 40px;
  }
}

.sectionEffect {
  opacity: 0;
  transform: translateY(30px);
}

.sectionEffect--isScroll {
  opacity: 1;
  transition: opacity 1.8s 0s, transform 1.8s 0s cubic-bezier(0.19, 1, 0.22, 1);
  transform: translateY(0);
}

.topPageBody::before {
  content: '';
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100vh;
  background-image: url(../img/presenceBackground.jpg);
  background-repeat: no-repeat;
  background-position: 50% 100%;
  background-size: cover;
}

@keyframes menueShow {
  from {
    opacity: 0;
    transform: translateX(100%);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.topNav {
  position: relative;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  width: 100%;
  margin-bottom: 60px;
  background-color: #f2f2f2;
}

@media (min-width: 768px) {
  .topNav {
    display: none;
  }
}

.topNav__inner {
  padding: 23px 0 20px;
}

.topNavSitemap {
  margin-bottom: 15px;
  padding: 0 20px;
}

.topNavSitemap--isOpen {
  display: flex;
  padding: 0;
}

.topNavSitemap--isOpen .topNavSitemapSpHedging {
  width: 37.33333%;
}

.topNavSitemap--isOpen .topNavSitemapSpHedging__text--newLine {
  display: block;
}

.topNavSitemap--isOpen .topNavSitemapSpHedging__text {
  display: flex;
  align-items: center;
  height: 50px;
  padding: 0;
  padding-left: 20px;
  padding-right: 1.1em;
}

.topNavSitemap__list {
  display: block;
  width: 62.4%;
  overflow: hidden;
}

.topNavSitemap__listItem {
  width: 100%;
}

.topNavSitemap__listItem--isOpen .topNavCategory__item {
  display: block;
  animation: menueShow 0.3s linear 0s;
}

.topNavSitemap__listItem:last-of-type {
  border-bottom: none;
}

.topNavSitemap__listItem--onlyPc {
  display: none;
}

.topNavSitemap__listItem--onlySp {
  display: block;
}

.topNavSitemapSpHedging {
  width: 100%;
  display: block;
  text-align: left;
}

.topNavSitemapSpHedging__item--active {
  background-color: #5f6f7a;
}

.topNavSitemapSpHedging__item--active .topNavSitemapSpHedging__text {
  color: #fff;
}

.topNavSitemapSpHedging__text {
  position: relative;
  display: inline-block;
  cursor: pointer;
  width: 100%;
  padding: 14px 0;
  border-bottom: 1px solid #5f6f7a;
  color: #000;
  font-size: 14px;
  line-height: 1.5;
  text-decoration: none;
  transition: none;
}

.topNavSitemapSpHedging__text::after {
  content: '';
  position: absolute;
  top: 18px;
  right: 14px;
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 1px solid;
  border-color: #5f6f7a #5f6f7a transparent transparent;
  transform: rotate(45deg);
}

.topNavSitemapSpHedging__text--newLine {
  display: none;
}

.topNavCategory {
  position: relative;
  background-color: #5f6f7a;
}

.topNavCategory__title {
  display: none;
}

.topNavCategory__item {
  display: none;
}

.topNavSubCategory--blankIcon::after {
  content: '';
  width: 1.125em;
  height: 1.125em;
  display: inline-block;
  background-image: url(../img/blank_icon_white.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  flex-shrink: 0;
}

.topNavSubCategory--blankIconGreen::after {
  background-image: url(../img/blank_icon.png);
}

.topNavSubCategory__item {
  height: 50px;
  padding-left: 18px;
  padding-right: 20px;
}

.topNavSubCategory__item:first-of-type .topNavSubCategory__link {
  border-top: none;
}

.topNavSubCategory__item--offset {
  height: auto;
  padding-left: 0;
  padding-right: 0;
}

.topNavSubCategory__item--white {
  background-color: #fff;
}

.topNavSubCategory__item--white .topNavSubCategory__link {
  color: #231815;
  border-top: 1px solid #5f6f7a;
}

.topNavSubCategory__item--white:first-of-type .topNavSubCategory__link {
  border-top: none;
}

.topNavSubCategory__link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.3em 0;
  height: 100%;
  color: #fff;
  font-size: 14px;
  text-decoration: none;
  border-top: 1px solid #fff;
  cursor: pointer;
}

.topNavSubCategory__link:hover {
  color: #fff;
}

.topNavSubCategory__text {
  line-height: 1.2;
}

.topNavSubCategoryRelationMenu {
  background-color: #fff;
}

.topNavSubCategoryRelationMenu__item {
  height: 50px;
  padding-left: 18px;
  padding-right: 20px;
}

.topNavSubCategoryRelationMenu__item:first-of-type .topNavSubCategoryRelationMenu__link {
  border-top: none;
}

.topNavSubCategoryRelationMenu__link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.3em 0;
  height: 100%;
  color: #000;
  border-top: 1px solid #5f6f7a;
  font-size: 14px;
  text-decoration: none;
  cursor: pointer;
  padding-left: 2.9em;
}

.topNavSubCategoryRelationMenu__link::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 5px;
  transform: translateY(-50%);
  display: inline-block;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.topNavSubCategoryRelationMenu__link--owners::before {
  width: 1.222em;
  height: 1.556em;
  background-image: url(../img/owners_icon.png);
}

.topNavSubCategoryRelationMenu__link--modelhouse::before {
  width: 1.667em;
  height: 1.667em;
  background-image: url(../img/modelhouse_icon.png);
}

.topNavSubCategoryRelationMenu__link--catalog::before {
  width: 1.786em;
  height: 1.714em;
  background-image: url(../img/catalog_icon_small.png);
}

.topNavSubCategoryRelationMenu__link--area::before {
  width: 2.222em;
  height: 1.444em;
  left: 0;
  background-image: url(../img/area_icon.png);
}

.topNavSubCategoryRelationMenu__link--balloon::before {
  width: 1.667em;
  height: 1.333em;
  background-image: url(../img/balloon_icon.png);
}

.topNavSpAccordionMenu {
  position: relative;
  padding-right: 18px;
  line-height: 1.3;
}

.topNavSpAccordionMenu::before, .topNavSpAccordionMenu::after {
  content: '';
  display: block;
  background-color: #fff;
  position: absolute;
  top: 50%;
  width: 15px;
  height: 1px;
  right: 5px;
}

.topNavSpAccordionMenu::after {
  transform: rotate(90deg);
  transition-duration: 0.3s;
}

.topNavSpAccordionMenu--isActive {
  padding-right: 30px;
  height: 50px;
  border-bottom: 1px solid #fff;
}

.topNavSpAccordionMenu--isActive::after {
  transform: rotate(0);
}

.topNavSpAccordionMenu__list {
  display: none;
  padding-left: 18px;
}

.topNavSpAccordionMenu__list--isOpen {
  display: block;
}

.topNavSpAccordionMenu__item {
  height: 44px;
  border-top: 1px solid #fff;
}

.topNavSpAccordionMenu__item--wide {
  height: 60px;
}

.topNavSpAccordionMenu__item:first-of-type {
  border-top: none;
}

.topNavSpAccordionMenu__item--autoHeight {
  height: auto;
}

.topNavSpAccordionMenu__item--child {
  border-top: none;
}

.topNavSpAccordionMenu__item--child .topNavSpAccordionMenu--isActive {
  padding: 12.5px 0;
  height: auto;
}

.topNavSpAccordionMenu__item--child .topNavSpAccordionMenu--offset.topNavSpAccordionMenu--isActive {
  padding: 2.82px 0;
  padding-right: 18px;
}

.topNavSpAccordionMenu__link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.3em 0;
  width: 100%;
  height: 100%;
  color: #fff;
  font-size: 14px;
  line-height: 1.3;
  text-decoration: none;
}

.topNavSpAccordionMenu__link:hover {
  color: #fff;
}

.topNavSpAccordionMenu__link--blankIcon::after {
  content: '';
  width: 1.125em;
  height: 1.125em;
  display: inline-block;
  background-image: url(../img/blank_icon_white.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  flex-shrink: 0;
}



/* =========================
   ニュースエリア
========================= */

/* 共通 */
.textLink {
  font-size: 1.5rem;
  display: block;
  text-decoration: none;
  color: inherit;
}

.textLink img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

/* タブメニュー */
.menu {
  display: flex;
  gap: 20px;
}

.menu li {
  width: 33.33%;
  border-bottom: 1px solid #ccc;
  font-size: 1.8rem;
  padding-bottom: 0.5em;
  text-align: center;
}

.menu li.active {
  border-bottom: 3px solid #5f6f7a;
}

/* =========================
   一覧レイアウト（PC）
========================= */

#tab3 .infoTable {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
}

.infoTable__item {
  background: #fff;
}

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

/* 日付＋エリア */
.infoTable__meta {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
  font-size: 1.4rem;
}

/* カテゴリ */
.type_cat {
  display: flex;
  margin-top: 8px;
}

.type_cat .type {
  width: 120px;
  font-size: 1.3rem;
  text-align: center;
  background: #5f6f7a;
  color: #fff;
  padding: 4px 0;
}

/* タイトル */
.textLink__text {
  display: block;
  margin-top: 8px;
  font-size: 1.5rem;
  line-height: 1.6;
  text-align: justify;
}

/* エリア */
.area_name_s span {
  display: flex;
  align-items: center;
  padding-left: 10px;
  background: url("../img/icon_blue_18.png") left center no-repeat;
  background-size: 4px auto;
}

/* ボタン */
.newsRelease__button {
  border: 1px solid;
  max-width: 230px;
  display: block;
  margin: 30px auto 0;
  text-align: center;
  padding: 10px;
}

/* =========================
   タブレット
========================= */
@media screen and (max-width: 1000px) {
  #tab3 .infoTable {
    grid-template-columns: repeat(2, 1fr);
  }

  .textLink__text br {
    display: none;
  }
}

/* =========================
   スマホ（今回の本命）
========================= */
@media screen and (max-width: 768px) {

  .infoTable.newsRelease__body {
    margin: 20px 0;
  }

  /* ★2列 */
  #tab3 .infoTable {
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
  }

  .menu {
    gap: 8px;
  }

  .menu li {
    font-size: 1.35rem;
  }

  .textLink__text {
    font-size: 1.4rem;
  }

  .type_cat .type {
    width: 100px;
    font-size: 1.2rem;
  }

}


/*フッター*/
/*-----------------------------------------
　フッター
-----------------------------------------*/
footer {
  padding-bottom: 100px;
  background: #444d51;
}
footer .footer_upper {
  padding: 40px 0;
  background: #444d51;
}
footer .footer_upper .footer_link_contents {
  width: 88%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  footer .footer_upper .footer_link_contents {
    width: 82.6086956522vw;
    max-width: 1455px;
    min-width: 1080px;
  }
}
footer .footer_upper .footer_link_contents .link_item {
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #44514b;
}
footer .footer_upper .footer_link_contents .link_item:nth-last-of-type(1) {
  margin-bottom: 0px;
  padding-bottom: 0px;
  border-bottom: 0px solid #44514b;
}
footer .footer_upper .footer_link_contents .link_item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
}
footer .footer_upper .footer_link_contents .link_item a .img_wrap {
  width: 60px;
  margin-right: 15px;
}
footer .footer_upper .footer_link_contents .link_item a .txt_wrap {
  width: calc(100% - 75px);
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 1.5;
}
footer .footer_inner {
  width: 88%;
  margin-left: auto;
  margin-right: auto;
  padding: 50px 0;
}

footer .footer_inner .footer_navigation {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
footer .footer_inner .footer_navigation::before {
  position: absolute;
  display: block;
  content: "";
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 3px;
  background-image: url(../img/dot.png);
  background-size: 8px;
  background-position: center center;
  background-repeat: repeat-x;
}
footer .footer_inner .footer_navigation .footer_nav {
  width: 100%;
  margin-bottom: 40px;
}
footer .footer_inner .footer_navigation .footer_nav .nav_ttl {
  width: 100%;
  font-size: 1.2rem;
  font-weight: bold;
  color: #fff;
  margin-bottom: 15px;
}
footer .footer_inner .footer_navigation .footer_nav .nav_ttl a {
  color: #fff;
}
footer .footer_inner .footer_navigation .footer_nav ul li {
  margin: 5px 0;
  padding-left: 5px;
}
footer .footer_inner .footer_navigation .footer_nav ul li a {
  display: block;
  font-size: 1.1rem;
  padding: 3px 0;
  color: #fff;
}


footer .footer_inner .footer_corp_info {
  position: relative;
  padding-top: 50px;
  margin-bottom: 30px;
}
footer .footer_inner .footer_corp_info .footer_logo {
  width: 220px;
  margin-bottom: 15px;
}
footer .footer_inner .footer_corp_info .footer_logo a {
  display: block;
}
footer .footer_inner .footer_corp_info .corp_address {
  font-size: 1.2rem;
  line-height: 1.5;
  color: #fff;
}
footer .footer_inner .footer_corp_info .corp_address .adrress_info {
  margin-bottom: 15px;
}
footer .footer_inner .footer_corp_info .corp_address .adrress_info span {
  display: inline-block;
  margin-right: 1em;
}
footer .footer_inner .footer_corp_info .corp_address .adrress_info a {
  color: inherit;
}
footer .footer_inner .footer_corp_info .corp_address .kobutsu_txt {
  font-size: 1.2rem;
  line-height: 1.5;
  margin-bottom: 15px;
}
footer .footer_inner .footer_corp_info .footer_lower_nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
footer .footer_inner .footer_corp_info .footer_lower_nav ul li {
  margin-right: 5px;
}
footer .footer_inner .footer_corp_info .footer_lower_nav ul li a {
  position: relative;
  display: block;
  font-size: 1.2rem;
  line-height: 1.5;
  color: #fff;
  padding-right: 5px;
}
footer .footer_inner .footer_corp_info .footer_lower_nav ul li a::after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  width: 1px;
  height: 10px;
  background: #fff;
}
footer .footer_inner .footer_corp_info .footer_lower_nav ul li:nth-last-of-type(1) {
  margin-right: 0px;
}
footer .footer_inner .footer_corp_info .footer_lower_nav ul li:nth-last-of-type(1) a {
  padding-right: 0px;
}
footer .footer_inner .footer_corp_info .footer_lower_nav ul li:nth-last-of-type(1) a::after {
  display: none;
}
footer .footer_inner .footer_button_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
footer .footer_inner .footer_button_wrap .instagram_button {
  margin-right: 15px;
}
footer .footer_inner .footer_button_wrap .instagram_button a {
  display: block;
  width: 40px;
  height: 40px;
  border: 1px solid #fff;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
footer .footer_inner .footer_button_wrap .instagram_button a svg {
  width: 15px;
}
footer .footer_inner .footer_button_wrap .instagram_button a svg .cls-1 {
  fill: #fff;
  fill-rule: evenodd;
}
footer .footer_inner .footer_button_wrap .kaitori_link {
  width: 175px;
}
footer .footer_inner .footer_button_wrap .kaitori_link a {
  display: block;
  text-align: center;
  border-radius: 200px;
  font-size: 1.1rem;
  font-weight: bold;
  border: 1px solid #fff;
  color: #fff;
  line-height: 40px;
}
footer .footer_copyright {
  width: 88%;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  color: #fff;
}
@media screen and (min-width: 768px) {

  footer .footer_copyright {
    width: 82.6086956522vw;
    max-width: 1455px;
    min-width: 1080px;
  }
}
footer .footer_copyright .copyright {
  font-size: 1.1rem;
}
footer .footer_copyright .backtop_button button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: 1px;
  border-bottom: 1px solid #fff;
}
footer .footer_copyright .backtop_button button .txt {
  font-size: 1.1rem;
  margin-right: 7px;
  font-weight: bold;
}
footer .footer_copyright .backtop_button button .caret {
  margin-bottom: 4px;
}
footer .footer_copyright .backtop_button button .caret svg {
  width: 8px;
}
footer .footer_copyright .backtop_button button .caret svg .cls-1 {
  fill: #fff;
  fill-rule: evenodd;
}

@media screen and (min-width: 768px) {
  footer {
    padding-bottom: 50px;
    min-width: 1080px;
  }
  footer .footer_upper {
    padding: 70px 0;
  }
  footer .footer_upper .footer_link_contents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  footer .footer_upper .footer_link_contents .link_item {
    position: relative;
    width: 26.3157894737%;
    margin-right: 10.5263157895%;
    padding-bottom: 0px;
    margin-bottom: 0px;
    border-bottom: 0px solid #44514b;
  }
  footer .footer_upper .footer_link_contents .link_item::after {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: -4.347826087vw;
    width: 1px;
    height: 100%;
    background: rgba(245, 243, 237, 0.5);
  }
  footer .footer_upper .footer_link_contents .link_item:nth-last-of-type(1) {
    margin-right: 0;
    padding-right: 0;
    border-right: 0px;
  }
  footer .footer_upper .footer_link_contents .link_item:nth-last-of-type(1)::after {
    display: none;
  }
  footer .footer_upper .footer_link_contents .link_item a {
    -webkit-transition: color 0.2s;
    transition: color 0.2s;
    will-change: color;
  }
  footer .footer_upper .footer_link_contents .link_item a .img_wrap {
    width: 80px;
    margin-right: 20px;
    border-radius: 5px;
    overflow: hidden;
    -webkit-transition: -webkit-transform 0.2s;
    transition: -webkit-transform 0.2s;
    transition: transform 0.2s;
    transition: transform 0.2s, -webkit-transform 0.2s;
    will-change: transform;
    -webkit-transform-origin: center center;
            transform-origin: center center;
  }
  footer .footer_upper .footer_link_contents .link_item a .txt_wrap {
    width: calc(100% - 100px);
    font-size: 1.5rem;
  }
  footer .footer_upper .footer_link_contents .link_item a:hover {
    color: #ef7626;
  }
  footer .footer_upper .footer_link_contents .link_item a:hover .img_wrap {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  footer .footer_inner {
    padding: 120px 0 150px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  footer .footer_inner .footer_navigation {
    position: relative;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    padding-bottom: 100px;
  }
  footer .footer_inner .footer_navigation::before {
    width: 100%;
    height: 6px;
    background-size: 12px;
  }
  footer .footer_inner .footer_navigation .footer_nav {
    width: 100%;
    margin-bottom: 0px;
  }
  footer .footer_inner .footer_navigation .footer_nav .nav_ttl {
    width: 100%;
    font-size: 1.6rem;
    color: #fff;
    margin-bottom: 25px;
  }
  footer .footer_inner .footer_navigation .footer_nav ul li {
    margin: 7px 0;
    padding-left: 0;
  }
  footer .footer_inner .footer_navigation .footer_nav ul li a {
    display: block;
    font-size: 1.6rem;
    padding: 5px 0;
    color: #fff;
  }
  footer .footer_inner .footer_navigation .footer_nav ul li a:hover {
    text-decoration: underline;
  }
  footer .footer_inner .footer_navigation .footer_nav.nav01 {
    width: 15%;
    margin-right: 5.2%;
  }
  footer .footer_inner .footer_navigation .footer_nav.nav02 {
    width: 15%;
    margin-right: 5.2%;

  }
 
  footer .footer_inner .footer_navigation .footer_nav.nav03 {
    width: 15%;
    margin-right: 5.2%;
  }
  footer .footer_inner .footer_navigation .footer_nav.nav04 {
    width: 15%;
    margin-right: 5.2%;
  }
  footer .footer_inner .footer_navigation .footer_nav.nav05 {
    width: 15%;
  }
  footer .footer_inner .footer_corp_info {
    position: relative;
    padding-top: 100px;
    margin-bottom: 0px;
  }
  footer .footer_inner .footer_corp_info .footer_logo {
    width: 240px;
    margin-bottom: 15px;
  }
  footer .footer_inner .footer_corp_info .footer_logo a {
    display: block;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
    will-change: opacity;
  }
  footer .footer_inner .footer_corp_info .footer_logo a:hover {
    opacity: 0.75;
  }
  footer .footer_inner .footer_corp_info .corp_address {
    font-size: 1.4rem;
  }
  footer .footer_inner .footer_corp_info .corp_address .adrress_info {
    margin-bottom: 5px;
  }
  footer .footer_inner .footer_corp_info .corp_address .adrress_info span {
    display: inline-block;
    margin-right: 1em;
  }

  footer .footer_inner .footer_corp_info .corp_address .kobutsu_txt {
    font-size: 1.4rem;
    margin-bottom: 15px;
  }
  footer .footer_inner .footer_corp_info .footer_lower_nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  footer .footer_inner .footer_corp_info .footer_lower_nav ul li {
    margin-right: 10px;
  }
  footer .footer_inner .footer_corp_info .footer_lower_nav ul li a {
    font-size: 1.4rem;
    padding-right: 10px;
  }
  footer .footer_inner .footer_corp_info .footer_lower_nav ul li a::after {
    display: block;
    content: "";
    position: absolute;
    top: 3px;
    bottom: 0;
    right: 0;
    margin: auto;
    width: 1px;
    height: 10px;
    background: #fff;
  }
  footer .footer_inner .footer_corp_info .footer_lower_nav ul li a:hover {
    text-decoration: underline;
  }
  footer .footer_inner .footer_button_wrap .instagram_button {
    margin-right: 15px;
  }
  footer .footer_inner .footer_button_wrap .instagram_button a {
    width: 40px;
    height: 40px;
    -webkit-transition: background 0.2s;
    transition: background 0.2s;
    will-change: background;
  }
  footer .footer_inner .footer_button_wrap .instagram_button a svg .cls-1 {
    -webkit-transition: fill 0.2s;
    transition: fill 0.2s;
    will-change: fill;
  }
  footer .footer_inner .footer_button_wrap .instagram_button a:hover {
    background: #fff;
  }
  footer .footer_inner .footer_button_wrap .instagram_button a:hover svg .cls-1 {
    fill: #44514b;
  }
  footer .footer_inner .footer_button_wrap .kaitori_link {
    width: 220px;
  }
  footer .footer_inner .footer_button_wrap .kaitori_link a {
    font-size: 1.4rem;
    line-height: 40px;
    -webkit-transition: background 0.2s, color 0.2s;
    transition: background 0.2s, color 0.2s;
    will-change: background, color;
  }
  footer .footer_inner .footer_button_wrap .kaitori_link a:hover {
    background: #fff;
    color: #44514b;
  }
  footer .footer_copyright {
    width: calc(100% - 100px);
  }
  footer .footer_copyright .copyright {
    font-size: 1.2rem;
  }
  footer .footer_copyright .backtop_button button .txt {
    font-size: 1.2rem;
    margin-right: 10px;
  }
  footer .footer_copyright .backtop_button button .caret {
    margin-bottom: 4px;
  }
  footer .footer_copyright .backtop_button button .caret svg {
    width: 10px;
  }
}
/*追従ボタン*/
.l-fixedbtn {
    position: fixed;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    z-index: 50;
}
.l-fixedbtn__item.-reserve {
    background-color: rgba(154, 178, 17, 0.623);
    border-radius: 1.5rem 0 0 0;
    margin-bottom: 0.6rem;
}
.l-fixedbtn__item {
    width: 8rem;
    height: 16.5rem;
    writing-mode: vertical-rl;
    display: flex;
    justify-content: center;
    align-items: center;
}
.l-fixedbtn__item.-reserve span {
    padding-top: 1rem;
}
.l-fixedbtn__item span {
    display: inline-block;
    font-size: 1.5rem;
    color: #fff;
    letter-spacing: 0.15em;
    padding-bottom: 4rem;
    position: relative;
}
.l-fixedbtn__item.-reserve span:after {
    background-image: url(../img/information.svg);
    left: calc((100% - 6.1rem) / 6);
}
.l-fixedbtn__item span:after {
    content: "";
    display: block;
    width: 3rem;
    height: 3rem;
    background-color: transparent;
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-position: center center;
    background-size: cover;
    background-size: contain;
    position: absolute;
    bottom: 0;
}
.l-fixedbtn__item.-open {
    background-color: rgba(204, 170, 132, 0.74);
    border-radius: 0 0 0 1.5rem;
}
.l-fixedbtn__item.-open span:after {
    width: 3.6rem;
    height: 3.6rem;
    background-image: url(../img/info_mail.png);
    left: calc((100% - 3.5rem) / 2);
}
.-totop {
    position: fixed;
    right: 0;
    bottom: 0;
    width: 8rem;
    height: 8rem;
    /*background-color: rgba(103, 177, 210, 0.08);*/
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 100;
}
.-totop span {
    padding-top: 2.4rem;
    font-size: 1.2rem;
    color: #000;
    position: relative;
}
.-totop span:before {
    content: "";
    display: block;
    width: 0.8rem;
    height: 0.8rem;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    transform: rotateZ(-45deg);
    position: absolute;
    top: calc((100% - 0.8rem) / 2);
    left: calc((100% - 0.8rem) / 2);
}
@media screen and (max-width: 768px) {
    .l-fixedbtn {
        width: 100%;
        top: auto;
        bottom: -1px;
        right: auto;
        left: 0;
        transform: translateY(0);
        display: flex;
    }
    .l-fixedbtn__item.-reserve {
    margin-bottom: 0;
}
.l-fixedbtn__item {
    width: calc((100% - 4.4rem) / 2);
    height: 4.4rem;
    writing-mode: horizontal-tb;
}
.l-fixedbtn__item span {
    font-size: 1.4rem;
    padding-bottom: 0;
    padding-left: 4rem;
}
.l-fixedbtn__item.-reserve span:after {
    bottom: auto;
    top: calc((100% - 3.1rem) / 2);
    left: 0;
}
.l-fixedbtn__item.-open {
    border-radius: 0 3rem 0 0;
}
.l-fixedbtn__item.-open span {
    padding-bottom: 0;
}
.l-fixedbtn__item.-open span:after {
    bottom: auto;
    top: calc((100% - 3.6rem) / 2);
    left: 0;
}
.-totop {
    width: 4.4rem;
    height: 4.4rem;
    border-radius: 3rem 0 0 0;
}
footer .footer_inner .footer_navigation .footer_nav .nav_ttl {
  width: 100%;
  font-size: 1.8rem;
  font-weight: bold;
  color: #fff;
  margin-bottom: 15px;
}
footer .footer_inner .footer_navigation .footer_nav ul li a {
  display: block;
  font-size: 1.6rem;
  padding: 3px 0;
  color: #fff;
}
footer .footer_inner .footer_corp_info .corp_address .kobutsu_txt {
  font-size: 1.2rem;
  line-height: 1.5;
  margin-bottom: 15px;
}
footer .footer_inner .footer_corp_info .corp_address {
  font-size: 1.6rem;
  line-height: 1.5;
  color: #fff;
}
footer .footer_inner .footer_corp_info .footer_lower_nav ul li a {
  position: relative;
  display: block;
  font-size: 1.6rem;
  line-height: 1.5;
  color: #fff;
  padding-right: 5px;
}
}

/*--------------------------------------------------------------------------
	・共通
--------------------------------------------------------------------------*/
/*-----パンくず-----*/
#pan { 
  background: #5f6f7a;
  margin-top: 6px;
}
#pan div { margin: 0 auto; padding: 0 10px; width: 100%; max-width: 1160px; }
#pan div ul { padding: 9px 0 7px; font-size: 0; line-height: 0; }
#pan div ul li { display: inline-block; line-height: 1.0; color: #FFF; font-size: 12px; margin-bottom: 2px;}
#pan div ul li:first-of-type::before { padding: 0; content: ''; }
#pan div ul li::before { padding: 0 15px; content: '|'; }
#pan div ul li a:link, #pan div ul li a:visited { color: #FFF; }
#pan div ul li a:active, #pan div ul li a:hover { color: #f0d972; }
#pan div ul li#pan_home img { margin: 1px 0 0 0; display: inline-block; max-width: 10px; }

/*-----コンテンツタイトル-----*/
#sub_title { display: -webkit-flex; display: flex; width: 100%; height: 200px; background-position: center center; background-repeat: no-repeat; background-size: auto 200px; flex-direction: column; -webkit-box-orient: vertical; -webkit-box-direction: normal; justify-content: center; -webkit-box-pack: center; }
#sub_title .frm { margin: 0 auto; padding: 0 10px; width: 100%; text-align: center; max-width: 1180px; }
#sub_title .frm h2 { display: -webkit-flex; display: flex; font-weight: 500; flex-direction: column; -webkit-box-orient: vertical; -webkit-box-direction: normal; }
#sub_title .frm h2 .sbj { margin: 10px 0 0 0; line-height: 1.6; color: #fff; font-size: 17px; order: 2; }
#sub_title .frm h2 .sbj_en { line-height: 1; color: #fff; font-size: 45px; font-weight: 500; letter-spacing: 0.05em; order: 1; }

/*-----コンテンツ枠-----*/
.inner { margin: 0 auto; padding: 70px 10px 100px; }

.outer { margin: 0 auto; padding: 70px 0 100px 0; }

.outer_top { margin: 0 auto; padding: 70px 0 0 0; }

.outer_bottom { margin: 0 auto; padding: 0 0 100px 0; }

.bbox { max-width: 1180px; }
/*--------------------------------------------------------------------------
	安心保証
--------------------------------------------------------------------------*/
#sub_title.guarantee {
    background-image: url("../img/about/titleback_guarantee.jpg");
}

#guarantee .guarantee_frm .guarantee_main {
    background: url(../img/about/guarantee_main.jpg) center no-repeat;
    background-size: 2220px auto;
    margin: 0 auto 0;
    width: 100%;
    height: 333px;
}

#guarantee .guarantee_frm .guarantee_main > div {
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 0 30px 0 20px;
    width: 50%;
    height: 100%;
}

#guarantee .guarantee_frm .guarantee_main > div > div p {
    margin: 0;
    color: #5f6f7a;
    line-height: 1.5;
    text-align: center;
    font-size: 4.0rem;
    font-weight: 700;
}

#guarantee .guarantee_frm .guarantee_main > div > div p:last-child {
    padding: 20px 0 0;
}

#guarantee .guarantee_frm .guarantee_main > div > div p img {
    max-width: 180px;
}

.company_main {
    background: url(../img/company/company_main.jpg) center no-repeat;
    background-size: 2220px auto;
    margin: 0 auto 0;
    width: 100%;
    height: 333px;
}
.company_main > div {
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 0 30px 0 20px;
    width: 50%;
    height: 100%;
}
.company_main > div > div p {
    margin: 0;
    color: #5f6f7a;
    line-height: 1.5;
    text-align: center;
    font-size: 29px;
    font-weight: 700;
}
.company_main > div > div p:last-child {
    padding: 20px 0 0;
}

.company_main > div > div p img {
    max-width: 130px;
}


#guarantee .guarantee_frm .guarantee_wrap {
    margin: 60px auto 0;
    padding: 0 20px 0;
    max-width: 1100px;
    font-size: 1.6rem;
    line-height: 160%;
}

#guarantee .guarantee_frm .guarantee_wrap .old_link a {
    display: block;
    background: #ececec;
    margin: 30px auto 0;
    padding: 20px 10px 20px;
    max-width: 500px;
    color: #00000f;
    text-align: center;
    font-size: 14px;
}

#guarantee .guarantee_frm .guarantee_wrap .old_link a .caution {
    color: #c71c2f;
}

#guarantee .guarantee_frm .guarantee_wrap .old_link strong {
    color: #002065;
}

#guarantee .guarantee_frm .guarantee_wrap .old_link:hover strong, #guarantee .guarantee_frm .guarantee_wrap .old_link:active strong {
    text-decoration: underline;
}

#guarantee .guarantee_frm .guarantee_wrap .sc_navi {
    margin: 60px auto 0;
}

#guarantee .guarantee_frm .guarantee_wrap .sc_navi ul {
    display: -webkit-flex;
    display: flex;
    width: 100%;
}

#guarantee .guarantee_frm .guarantee_wrap .sc_navi ul li {
    display: -webkit-flex;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    padding: 0 10px 0;
    width: 33.33%;
}

#guarantee .guarantee_frm .guarantee_wrap .sc_navi ul li a {
    display: -webkit-flex;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    background-image: url("../img/about/arrow_under01.png");
    background-size: 20px auto;
    background-position: bottom 40px center;
    background-repeat: no-repeat;
    border: 5px solid #cccbc9;
    border-radius: 15px;
    padding: 40px 15px 80px;
    color: #000;
}

#guarantee .guarantee_frm .guarantee_wrap .sc_navi ul li a:hover, #guarantee .guarantee_frm .guarantee_wrap .sc_navi ul li a:active {
    border: 5px solid #002065;
}

#guarantee .guarantee_frm .guarantee_wrap .sc_navi ul li a h2 {
    flex-grow: 1;
    background-size: 100px auto;
    background-position: bottom center;
    background-repeat: no-repeat;
    margin-top: 15px;
    padding: 0 0 110px;
    line-height: 1.5;
    text-align: center;
    font-size: 19px;
    font-weight: 500;
}

#guarantee .guarantee_frm .guarantee_wrap .sc_navi ul li a p {
    flex-grow: 1;
}

#guarantee .guarantee_frm .guarantee_wrap .sc_navi ul li a p.number {
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 3px solid #5f6f7a;
    margin: 0 auto 0;
    padding: 0 0 20px;
    width: 40px;
}

#guarantee .guarantee_frm .guarantee_wrap .sc_navi ul li a p.number span {
    display: inline-block;
    line-height: 1;
    font-size: 40px;
    font-family: "Barlow Semi Condensed", serif;
    font-weight: 500;
}

#guarantee .guarantee_frm .guarantee_wrap .sc_navi ul li a p.time {
    margin-top: 10px;
    text-align: center;
    font-size: 19px;
    font-weight: bold;
}

#guarantee .guarantee_frm .guarantee_wrap .sc_navi ul li a p.time .year {
    line-height: 1;
    font-size: 35px;
    font-weight: 500;
}

#guarantee .guarantee_frm .guarantee_wrap .sc_navi ul li a p.tx {
    margin-top: 5px;
}

#guarantee .guarantee_frm .guarantee_wrap .sc_navi ul li:nth-of-type(1) a h2 {
    background-image: url("../img/about/guarantee_icon01.jpg");
}

#guarantee .guarantee_frm .guarantee_wrap .sc_navi ul li:nth-of-type(2) a h2 {
    background-image: url("../img/about/guarantee_icon02.jpg");
}

#guarantee .guarantee_frm .guarantee_wrap .sc_navi ul li:nth-of-type(3) a h2 {
    background-image: url("../img/about/guarantee_icon03.jpg");
}

#guarantee .guarantee_frm .guarantee_wrap .tel_info {
    margin: 100px auto 0;
    max-width: 810px;
}

#guarantee .guarantee_frm .guarantee_wrap .tel_info > p {
    text-align: center;
    font-size: 22px;
    font-weight: 500;
}

#guarantee .guarantee_frm .guarantee_wrap .tel_info ul {
    display: table;
    margin: 60px auto 0;
    width: 100%;
}

#guarantee .guarantee_frm .guarantee_wrap .tel_info ul li {
    display: table-cell;
    vertical-align: middle;
    padding: 25px 10px 20px;
    text-align: center;
}

#guarantee .guarantee_frm .guarantee_wrap .tel_info ul li:first-child {
    background: #5f6f7a;
    width: 360px;
    color: #FFF;
    line-height: 1.6;
    font-size: 23px;
    font-weight: 700;
}

#guarantee .guarantee_frm .guarantee_wrap .tel_info ul li:first-child .sub_tx {
    display: block;
    margin-bottom: 5px;
    font-size: 18px;
    font-weight: 500;
}

#guarantee .guarantee_frm .guarantee_wrap .tel_info ul li:last-child {
    background: #ececec;
}

#guarantee .guarantee_frm .guarantee_wrap .tel_info ul li a {
    display: block;
    color: #00000f;
}

#guarantee .guarantee_frm .guarantee_wrap .tel_info ul li a[href^="tel:"] {
    pointer-events: none;
}

#guarantee .guarantee_frm .guarantee_wrap .tel_info ul li a .number {
    background-position: left top 3px;
    background-repeat: no-repeat;
    background-size: 50px auto;
    padding: 0 0 0 60px;
    line-height: 1;
    font-size: 39px;
    font-family: "Barlow Semi Condensed", serif;
    font-weight: 500;
}

#guarantee .guarantee_frm .guarantee_wrap .main_area {
    margin: 100px auto 0;
}

#guarantee .guarantee_frm .guarantee_wrap .main_area h2 {
    line-height: 1.5;
    text-align: center;
    font-size: 28px;
    font-weight: 500;
}

#guarantee .guarantee_frm .guarantee_wrap .main_area h2 .in_blo {
    padding: 0 10px 0 0;
}

#guarantee .guarantee_frm .guarantee_wrap .main_area .color_tx {
    display: inline-block;
    color: #c71c2f;
}

#guarantee .guarantee_frm .guarantee_wrap .main_area .image {
    margin: 80px auto 0;
    max-width: 980px;
}

#guarantee .guarantee_frm .guarantee_wrap .main_area + section {
    margin-top: 140px;
}

#guarantee .guarantee_frm .guarantee_wrap section {
    border-top: 1px solid #ccc;
    margin: 100px auto 0;
    padding: 100px 0 0;
}

#guarantee .guarantee_frm .guarantee_wrap section h2 {
    background-image: url("../img/about/icon_blue.png");
    background-size: 4px auto;
    background-repeat: no-repeat;
    padding-left: 25px;
    line-height: 1.5;
    font-size: 25px;
    font-weight: 500;
}

#guarantee .guarantee_frm .guarantee_wrap section ul.table_list {
    display: table;
    width: 100%;
}

#guarantee .guarantee_frm .guarantee_wrap section ul.table_list li {
    display: table-cell;
    vertical-align: middle;
}

#guarantee .guarantee_frm .guarantee_wrap section.item > div {
    display: table;
    margin-top: 25px;
    width: 100%;
}

#guarantee .guarantee_frm .guarantee_wrap section.item > div > div {
    display: table-cell;
    vertical-align: top;
}

#guarantee .guarantee_frm .guarantee_wrap section.item > div .grt_text {
    padding: 0 10px 0 0;
}

#guarantee .guarantee_frm .guarantee_wrap section.item > div .grt_link {
    width: 450px;
    padding: 0 0 0 40px;
}

#guarantee .guarantee_frm .guarantee_wrap section.item > div .grt_link a {
    display: block;
    background: #6b6d79;
    padding: 15px 10px 10px;
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    text-align: center;
}

#guarantee .guarantee_frm .guarantee_wrap section.item > div .grt_link a:hover {
    background-color: #5f6f7a;
}

#guarantee .guarantee_frm .guarantee_wrap section.item > div .grt_link a.img_link {
    display: table;
    table-layout: fixed;
    width: 100%;
    padding: 0;
}

#guarantee .guarantee_frm .guarantee_wrap section.item > div .grt_link a.img_link p {
    display: table-cell;
    padding: 12px 20px 12px 0;
    font-size: 14px;
    font-weight: normal;
    vertical-align: middle;
}

#guarantee .guarantee_frm .guarantee_wrap section.item > div .grt_link a.img_link p:first-child {
    width: 92px;
    padding: 12px 0 12px 15px;
}

#guarantee .guarantee_frm .guarantee_wrap section.item > div .grt_link a.img_link p span {
    line-height: 1.5;
    font-size: 24px;
    font-weight: 500;
}

#guarantee .guarantee_frm .guarantee_wrap section.item > div .grt_link ul {
    display: -webkit-flex;
    display: flex;
}

#guarantee .guarantee_frm .guarantee_wrap section.item > div .grt_link ul li {
    padding: 0 5px 0 0;
    width: 50%;
}

#guarantee .guarantee_frm .guarantee_wrap section.item > div .grt_link ul li:last-of-type {
    padding: 0 0 0 5px;
}

#guarantee .guarantee_frm .guarantee_wrap section > h2 {
    background-position: left top 6px;
}

#guarantee .guarantee_frm .guarantee_wrap section .title_area div {
    display: inline-block;
    border-bottom: 3px solid #5f6f7a;
    padding: 0 30px 50px 0;
}

#guarantee .guarantee_frm .guarantee_wrap section .title_area .number {
    display: inline-block;
    line-height: 1;
    font-size: 58px;
    font-family: "Barlow Semi Condensed", serif;
    font-weight: 500;
    width: 90px;
    text-align: center;
}

#guarantee .guarantee_frm .guarantee_wrap section .title_area h2 {
    display: inline-block;
    background-position: left top 19px;
    padding: 15px 0 0 25px;
    line-height: 1.5;
    vertical-align: top;
}

#guarantee .guarantee_frm .guarantee_wrap section .img_area {
    margin-top: 50px;
}

#guarantee .guarantee_frm .guarantee_wrap section#long_p .img_area {
    background: #ececec;
    padding: 40px 10px 40px;
}

#guarantee .guarantee_frm .guarantee_wrap section#long_p .img_area .image {
    margin: 0 auto 0;
    max-width: 880px;
}

#guarantee .guarantee_frm .guarantee_wrap section#long_p .caution {
    margin-top: 14px;
}

#guarantee .guarantee_frm .guarantee_wrap section#ground .title_area + p {
    margin-top: 50px;
}

#guarantee .guarantee_frm .guarantee_wrap section#ground ul.table_list.image {
    margin: 20px auto 0;
}

#guarantee .guarantee_frm .guarantee_wrap section#ground ul.table_list.image li {
    padding: 0 10px 0;
    text-align: center;
}

#guarantee .guarantee_frm .guarantee_wrap section#ground ul.table_list.image li:nth-of-type(2), #guarantee .guarantee_frm .guarantee_wrap section#ground ul.table_list.image li:nth-of-type(4) {
    padding: 0;
}

#guarantee .guarantee_frm .guarantee_wrap section#ground ul.table_list.image li:nth-of-type(2) img, #guarantee .guarantee_frm .guarantee_wrap section#ground ul.table_list.image li:nth-of-type(4) img {
    width: 25px;
}

#guarantee .guarantee_frm .guarantee_wrap section#ground ul.table_list.image li:nth-of-type(1) img, #guarantee .guarantee_frm .guarantee_wrap section#ground ul.table_list.image li:nth-of-type(3) img, #guarantee .guarantee_frm .guarantee_wrap section#ground ul.table_list.image li:nth-of-type(5) img {
    max-width: 300px;
}

#guarantee .guarantee_frm .guarantee_wrap section#ground ul.table_list.image li h3 {
    background: #6b6d79;
    margin: 0 auto 0;
    padding: 10px 10px 7px;
    max-width: 300px;
    color: #FFF;
    text-align: center;
    font-size: 17px;
    font-weight: 500;
}

#guarantee .guarantee_frm .guarantee_wrap section#ground ul.table_list.cost {
    table-layout: fixed;
    margin-top: 20px;
}

#guarantee .guarantee_frm .guarantee_wrap section#ground ul.table_list.cost li {
    padding: 0 10px 0;
    text-align: center;
}

#guarantee .guarantee_frm .guarantee_wrap section#ground ul.table_list.cost li p {
    border: 1px solid #313A68;
    padding: 20px 10px 15px;
    color: #313A68;
    font-size: 20px;
}

#guarantee .guarantee_frm .guarantee_wrap section#ground > h3 {
    margin-top: 50px;
    line-height: 1.5;
    font-size: 20px;
    font-weight: 500;
}

#guarantee .guarantee_frm .guarantee_wrap section#ground .caution {
    margin-top: 15px;
    font-size: 14px;
}

#guarantee .guarantee_frm .guarantee_wrap section#facility > h3 {
    margin-top: 50px;
    line-height: 1.5;
    font-size: 20px;
    font-weight: 500;
}

#guarantee .guarantee_frm .guarantee_wrap section#facility > .caution {
    margin-top: 20px;
}

#guarantee .guarantee_frm .guarantee_wrap section#facility ul.table_list.three {
    table-layout: fixed;
    margin: 50px auto 0;
}

#guarantee .guarantee_frm .guarantee_wrap section#facility ul.table_list.three li {
    padding: 0 20px 0;
}

#guarantee .guarantee_frm .guarantee_wrap section#facility ul.table_list.three li p {
    background-size: 90px auto;
    background-position: left 20px top 20px;
    background-repeat: no-repeat;
    background-color: #e4e4e4;
    padding: 35px 20px 20px 130px;
    min-height: 130px;
    color: #002065;
    font-size: 17px;
    font-weight: 700;
}

#guarantee .guarantee_frm .guarantee_wrap section#facility ul.table_list.three li:nth-of-type(1) p {
    background-image: url("../img/about/guarantee_icon04.jpg");
}

#guarantee .guarantee_frm .guarantee_wrap section#facility ul.table_list.three li:nth-of-type(2) p {
    background-image: url("../img/about/guarantee_icon05.jpg");
}

#guarantee .guarantee_frm .guarantee_wrap section#facility ul.table_list.three li:nth-of-type(3) p {
    background-image: url("../img/about/guarantee_icon06.jpg");
}

#guarantee .guarantee_frm .guarantee_wrap section#facility ul.flex_list {
    display: -webkit-flex;
    display: flex;
}

#guarantee .guarantee_frm .guarantee_wrap section#facility ul.flex_list.five {
    margin-top: 25px;
    width: 100%;
}

#guarantee .guarantee_frm .guarantee_wrap section#facility ul.flex_list.five li {
    display: -webkit-flex;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    padding: 0 20px 0;
    width: 20%;
}

#guarantee .guarantee_frm .guarantee_wrap section#facility ul.flex_list.five li h4 {
    padding: 15px 0 10px;
    text-align: center;
    font-size: 15px;
    font-weight: 500;
}

#guarantee .guarantee_frm .guarantee_wrap section#facility ul.flex_list.five li p {
    flex-grow: 1;
    background: #e6e6e6;
    padding: 20px 20px 17px;
    line-height: 1.8;
    font-size: 13px;
}

#guarantee .guarantee_frm .guarantee_wrap section#facility ul.flex_list.five li p .caution {
    font-size: 12px;
}

#guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area {
    margin: 25px auto 0;
}

#guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame {
    display: table;
    width: 100%;
    text-align: center;
}

#guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame:nth-of-type(3), #guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame:nth-of-type(5) {
    background: #ececec;
}

#guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame h3, #guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame > div {
    display: table-cell;
    vertical-align: top;
}

#guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame h3 {
    border-right: 1px solid #cccccc;
    padding: 15px 10px 15px;
    width: 200px;
    font-size: 15px;
    font-weight: 500;
}

#guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame > div ul {
    display: table;
    border-bottom: 1px solid #cccccc;
    width: 100%;
}

#guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame > div ul:last-of-type {
    border-bottom: none;
}

#guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame > div ul li {
    display: table-cell;
    vertical-align: middle;
    border-right: 1px solid #cccccc;
}

#guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame > div ul li:last-of-type {
    border-right: none;
}

#guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame > div ul li.text01 {
    padding: 15px;
    text-align: left;
}

#guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame > div ul li.text02 {
    padding: 15px;
    width: 287px;
    text-align: left;
}

#guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame > div ul li.pay {
    padding: 15px 2px 15px;
    width: 200px;
}

#guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame > div ul li.pay dl {
    display: table;
    padding: 0 30px 0 20px;
    width: 100%;
}

#guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame > div ul li.pay dl dt, #guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame > div ul li.pay dl dd {
    display: table-cell;
    font-size: 14px;
}

#guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame > div ul li.pay dl dt {
    text-align: right;
}

#guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame > div ul li.pay dl dd {
    background: url("../img/about/arrow_right01.png") left 10px center no-repeat;
    background-size: 16px auto;
    width: 66px;
    color: #C1272D;
    text-align: right;
    font-weight: 500;
}

#guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame.f_head {
    background: #6b6d79;
    border-top: 1px solid #cccbc9;
    border-bottom: 1px solid #cccbc9;
}

#guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame.f_head h3 {
    color: #FFF;
}

#guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame.f_head h3 .tx_block {
    display: block;
}

#guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame.f_head > div ul {
    border-bottom: none;
}

#guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame.f_head > div ul li {
    padding: 15px 0 15px;
    color: #FFF;
}

#guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame.f_head > div ul li.text01, #guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame.f_head > div ul li.text02 {
    text-align: center;
}

#guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame.f_item {
    border-bottom: 1px solid #cccbc9;
}

#guarantee .guarantee_frm .guarantee_wrap section#exsamples .bg_area {
    background: #e6e6e6;
    margin: 30px auto 0;
    padding: 20px;
}

#guarantee .guarantee_frm .guarantee_wrap section#exsamples .bg_area h3 {
    margin-bottom: 15px;
    line-height: 1.5;
    font-size: 18px;
    font-weight: 500;
}

#guarantee .guarantee_frm .guarantee_wrap section#exsamples .bg_area h3 .color_tx {
    color: #c71c2f;
}

#guarantee .guarantee_frm .guarantee_wrap section#exsamples .bg_area .case {
    display: table;
    table-layout: fixed;
    width: 100%;
}

#guarantee .guarantee_frm .guarantee_wrap section#exsamples .bg_area .case > div {
    display: table-cell;
    vertical-align: top;
}

#guarantee .guarantee_frm .guarantee_wrap section#exsamples .bg_area .case > div dl {
    display: table;
    margin-top: 1px;
    width: 100%;
}

#guarantee .guarantee_frm .guarantee_wrap section#exsamples .bg_area .case > div dl dt, #guarantee .guarantee_frm .guarantee_wrap section#exsamples .bg_area .case > div dl dd {
    display: table-cell;
    vertical-align: middle;
}

#guarantee .guarantee_frm .guarantee_wrap section#exsamples .bg_area .case > div dl dt {
    background: #919191;
    padding: 6px 0 5px;
    width: 160px;
    color: #FFF;
    text-align: center;
    font-weight: 500;
}

#guarantee .guarantee_frm .guarantee_wrap section#exsamples .bg_area .case > div dl dd {
    padding: 6px 15px 5px;
}

#guarantee .guarantee_frm .guarantee_wrap section#after_info .tel_info {
    margin: 30px auto 0;
}

#guarantee .guarantee_frm .guarantee_wrap section#after_info .tel_info ul {
    margin: 0 auto 0;
}

#guarantee .guarantee_frm .guarantee_wrap section#after_info > div:last-of-type {
    margin-top: 40px;
}

/*--------------------------------------------------------------------------
	telパーツ
--------------------------------------------------------------------------*/
/*-----電話番号共通-----*/
.nttcome { background-image: url("../img/ico_tel01.png"); }

.ntthjp { background-image: url("../img/ico_tel02.png"); }

.normal_tel { background-image: url("../img/ico_tel03.png"); }

#mailform_tel { margin: 0 auto 0; }
#mailform_tel > div { display: -webkit-flex; display: flex; flex-wrap: wrap; }
#mailform_tel > div section { padding: 0 10px 0; width: 50%; }
#mailform_tel > div section:nth-of-type(n+3) { margin-top: 10px; }
#mailform_tel > div section > div { display: table; width: 100%; }
#mailform_tel > div section > div h3, #mailform_tel > div section > div p { display: table-cell; vertical-align: middle; height: 60px; }
#mailform_tel > div section > div h3 { background: #6b6d79; padding: 5px 0 0; width: 200px; color: #FFF; line-height: 1; text-align: center; font-size: 18px; font-weight: 500; }
#mailform_tel > div section > div p { background: #ececec; padding: 5px 10px 0; text-align: center; }
#mailform_tel > div section > div p span { display: inline-block; background-size: 36px auto; background-position: left center; background-repeat: no-repeat; padding: 0 0 0 42px; line-height: 1; font-size: 27px; font-family: "Barlow Semi Condensed", serif; font-weight: 500; font-style: normal; }
#mailform_tel.tel_areatype > div section { padding: 0 20px 0; width: 33.33%; }
#mailform_tel.tel_areatype > div section:nth-of-type(n+3) { margin-top: 0; }
#mailform_tel.tel_areatype > div section > div { display: block; }
#mailform_tel.tel_areatype > div section > div h3, #mailform_tel.tel_areatype > div section > div p { display: block; width: 100%; height: auto; }
#mailform_tel.tel_areatype > div section > div h3 { padding: 15px 0 10px; }
#mailform_tel.tel_areatype > div section > div p { padding: 21px 10px 16px; }
#mailform_tel.tel_areatype.tel_one { max-width: 500px; }
#mailform_tel.tel_areatype.tel_one > div section { padding: 0; width: 100%; }
/*--------------------------------------------------------------------------
	・リセット
--------------------------------------------------------------------------*/
img { border: 0; width: 100%; vertical-align: top; }
.clear { clear: both; }
br.clear { display: block; clear: both; }

/*--------------------------------------------------------------------------
	共通
--------------------------------------------------------------------------*/
/*768px*/
/*640px*/
/*--------------------------------------------------------------------------
	安心保証
--------------------------------------------------------------------------*/
@media screen and (max-width: 1100px) {
    #guarantee .guarantee_frm .guarantee_wrap section#facility ul.table_list.three li {
        padding: 0 10px 0;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#facility ul.flex_list.five li {
        padding: 0 10px 0;
    }
}

/*1100px*/
@media screen and (max-width: 1000px) {
    #guarantee .guarantee_frm .guarantee_main {
        background-position: center left 60%;
    }
        .company_main {
        background-position: center left 60%;
    }

    #guarantee .guarantee_frm .guarantee_wrap .sc_navi {
        max-width: 600px;
    }

    #guarantee .guarantee_frm .guarantee_wrap .sc_navi ul {
        display: block;
    }

    #guarantee .guarantee_frm .guarantee_wrap .sc_navi ul li {
        display: block;
        padding: 0;
        width: 100%;
    }

    #guarantee .guarantee_frm .guarantee_wrap .sc_navi ul li:nth-of-type(n+2) {
        margin-top: 20px;
    }

    #guarantee .guarantee_frm .guarantee_wrap .sc_navi ul li a {
        display: block;
        background-position: bottom 20px center;
        padding: 20px 15px 50px;
        text-align: center;
    }

    #guarantee .guarantee_frm .guarantee_wrap .sc_navi ul li a h2 {
        display: inline-block;
        background-size: 50px auto;
        background-position: center right;
        margin-top: 15px;
        padding: 10px 70px 10px 0;
    }

    #guarantee .guarantee_frm .guarantee_wrap .sc_navi ul li a p.number {
        padding: 0 0 10px;
    }

    #guarantee .guarantee_frm .guarantee_wrap .sc_navi ul li a p.time {
        margin-top: 15px;
    }

    #guarantee .guarantee_frm .guarantee_wrap .sc_navi ul li a p.tx {
        margin-top: 20px;
        text-align: left;
    }

    #guarantee .guarantee_frm .guarantee_wrap section.item > div .grt_link {
        width: 370px;
        padding: 0 0 0 20px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#facility ul.table_list.three li p {
        background-size: 70px auto;
        background-position: left 10px top 10px;
        padding: 18px 20px 15px 90px;
        min-height: 90px;
        font-size: 16px;
    }
}

/*1000px*/
@media screen and (max-width: 900px) {
    #guarantee .guarantee_frm .guarantee_wrap section.item > div {
        display: block;
    }

    #guarantee .guarantee_frm .guarantee_wrap section.item > div > div {
        display: block;
    }

    #guarantee .guarantee_frm .guarantee_wrap section.item > div .grt_text {
        padding: 0;
    }

    #guarantee .guarantee_frm .guarantee_wrap section.item > div .grt_link {
        margin: 30px auto 0;
        padding: 0;
        width: 100%;
        max-width: 370px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#facility ul.table_list.three {
        display: block;
        max-width: 400px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#facility ul.table_list.three li {
        display: block;
        padding: 0;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#facility ul.table_list.three li:nth-of-type(n+2) {
        margin-top: 10px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#facility ul.table_list.three li p {
        padding: 32px 10px 10px 90px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#facility ul.table_list.three li p br {
        display: none;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#facility ul.flex_list {
        flex-wrap: wrap;
        margin: 0 auto 0;
        max-width: 600px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#facility ul.flex_list.five li {
        padding: 0 5px 0;
        width: 100%;
        max-width: 33.33%;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#facility ul.flex_list.five li:nth-of-type(n+4) {
        margin-top: 30px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area {
        max-width: 600px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame {
        display: block;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame.f_head {
        display: none;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame:nth-of-type(n+2) {
        margin-top: 20px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame:nth-of-type(3), #guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame:nth-of-type(5) {
        background: #FFF;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame h3, #guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame > div {
        display: block;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame h3 {
        display: block;
        background: #6b6d79;
        border: none;
        padding: 10px 10px 8px;
        width: 100%;
        color: #FFF;
        font-size: 14px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame > div ul {
        display: block;
        border-bottom: 4px double #cccccc;
        border-right: 1px solid #cccccc;
        border-left: 1px solid #cccccc;
        width: 100%;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame > div ul:last-of-type li::before {
        background: #dddddd;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame > div ul li {
        display: table;
        vertical-align: middle;
        border-bottom: 1px solid #cccccc;
        border-right: none;
        width: 100%;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame > div ul li:last-of-type {
        border-bottom: none;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame > div ul li.text01 {
        padding: 0;
        text-align: left;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame > div ul li.text01::before {
        content: '故障内容';
    }

    #guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame > div ul li.text02 {
        padding: 0;
        width: 100%;
        text-align: left;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame > div ul li.text02::before {
        content: '修理内容';
    }

    #guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame > div ul li.pay {
        padding: 0;
        width: 100%;
        text-align: left;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame > div ul li.pay::before {
        content: '修理費用(目安)';
        vertical-align: text-bottom;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame > div ul li.pay .pay_box {
        display: inline-block;
        vertical-align: bottom;
        margin: 0;
        max-width: 180px;
        padding: 0 0 0 10px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame > div ul li.pay dl {
        display: table;
        padding: 0;
        width: auto;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame > div ul li::before, #guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame > div ul li .sp_style, #guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame > div ul li .pay_box {
        display: table-cell;
        vertical-align: top;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame > div ul li::before {
        background: #eeeeee;
        padding: 10px;
        width: 110px;
        text-align: center;
        font-size: 13px;
        font-weight: 500;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame > div ul li .sp_style {
        padding: 10px 10px 8px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#exsamples .bg_area {
        max-width: 600px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#exsamples .bg_area .case {
        display: block;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#exsamples .bg_area .case > div {
        display: block;
    }
}

/*900px*/
@media screen and (max-width: 768px) {
    #guarantee .guarantee_frm .guarantee_main {
        background-position: center left 60%;
        background-size: auto 167px;
        height: 167px;
    }

    #guarantee .guarantee_frm .guarantee_main > div {
        padding: 0 0 0 10px;
        width: 50%;
        height: 100%;
    }

    #guarantee .guarantee_frm .guarantee_main > div > div p:last-child {
        padding: 10px 0 0;
        font-size: 16px;
    }

    #guarantee .guarantee_frm .guarantee_main > div > div p img {
        max-width: 150px;
    }
        .company_main {
        background-position: center left 60%;
        background-size: auto 167px;
        height: 167px;
    }

    .company_main > div {
        padding: 0 0 0 10px;
        width: 70%;
        height: 100%;
    }

    .company_main > div > div p:last-child {
        padding: 10px 0 0;
        font-size: 16px;
    }

    .company_main> div > div p img {
        max-width: 150px;
    }

    #guarantee .guarantee_frm .guarantee_wrap {
        margin: 40px auto 0;
    }

    #guarantee .guarantee_frm .guarantee_wrap .old_link a {
        padding: 15px 10px 15px;
        font-size: 13px;
    }

    #guarantee .guarantee_frm .guarantee_wrap .old_link strong {
        color: #002065;
    }

    #guarantee .guarantee_frm .guarantee_wrap .old_link:hover strong, #guarantee .guarantee_frm .guarantee_wrap .old_link:active strong {
        text-decoration: underline;
    }

    #guarantee .guarantee_frm .guarantee_wrap .sc_navi {
        margin: 50px auto 0;
    }

    #guarantee .guarantee_frm .guarantee_wrap .sc_navi ul li a {
        background-size: 15px auto;
        background-position: bottom 20px center;
        padding: 15px 10px 40px;
    }

    #guarantee .guarantee_frm .guarantee_wrap .sc_navi ul li a h2 {
        padding: 15px 70px 15px 0;
        font-size: 16px;
    }

    #guarantee .guarantee_frm .guarantee_wrap .sc_navi ul li a p.number span {
        font-size: 25px;
    }

    #guarantee .guarantee_frm .guarantee_wrap .sc_navi ul li a p.time {
        margin-top: 10px;
        font-size: 18px;
    }

    #guarantee .guarantee_frm .guarantee_wrap .sc_navi ul li a p.time .year {
        font-size: 30px;
    }

    #guarantee .guarantee_frm .guarantee_wrap .tel_info {
        margin: 50px auto 0;
        max-width: 400px;
    }

    #guarantee .guarantee_frm .guarantee_wrap .tel_info > p {
        font-size: 18px;
    }

    #guarantee .guarantee_frm .guarantee_wrap .tel_info ul {
        display: block;
        margin: 40px auto 0;
    }

    #guarantee .guarantee_frm .guarantee_wrap .tel_info ul li {
        display: block;
        padding: 15px 10px 10px;
    }

    #guarantee .guarantee_frm .guarantee_wrap .tel_info ul li:first-child {
        width: 100%;
        font-size: 16px;
    }

    #guarantee .guarantee_frm .guarantee_wrap .tel_info ul li:first-child .sub_tx {
        font-size: 15px;
    }

    #guarantee .guarantee_frm .guarantee_wrap .tel_info ul li a[href^="tel:"] {
        pointer-events: auto;
    }

    #guarantee .guarantee_frm .guarantee_wrap .tel_info ul li a .number {
        background-size: 30px auto;
        padding: 0 0 0 40px;
        font-size: 27px;
    }

    #guarantee .guarantee_frm .guarantee_wrap .main_area {
        margin: 50px auto 0;
    }

    #guarantee .guarantee_frm .guarantee_wrap .main_area h2 {
        font-size: 22px;
    }

    #guarantee .guarantee_frm .guarantee_wrap .main_area .image {
        margin: 50px auto 0;
    }

    #guarantee .guarantee_frm .guarantee_wrap .main_area + section {
        margin-top: 60px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section {
        margin: 50px auto 0;
        padding: 50px 0 0;
    }

    #guarantee .guarantee_frm .guarantee_wrap section h2 {
        padding-left: 15px;
        font-size: 18px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section.item > div {
        margin-top: 15px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section.item > div .grt_link {
        margin: 20px auto 0;
    }

    #guarantee .guarantee_frm .guarantee_wrap section.item > div .grt_link a {
        background-position: right 10px center;
        font-size: 15px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section.item > div .grt_link a.img_link p {
        font-size: 13px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section.item > div .grt_link a.img_link p:first-child {
        width: 60px;
        padding: 12px 0 12px 10px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section.item > div .grt_link a.img_link p:first-child img {
        height: auto;
    }

    #guarantee .guarantee_frm .guarantee_wrap section.item > div .grt_link a.img_link p span {
        font-size: 20px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section > h2 {
        background-position: left top;
    }

    #guarantee .guarantee_frm .guarantee_wrap section .title_area div {
        padding: 0 20px 20px 0;
    }

    #guarantee .guarantee_frm .guarantee_wrap section .title_area .number {
        font-size: 35px;
        width: 55px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section .title_area h2 {
        background-position: left top 6px;
        padding: 5px 0 0 15px;
        font-size: 18px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section .img_area {
        margin-top: 40px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#long_p .img_area {
        padding: 10px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#long_p .caution {
        margin-top: 13px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#ground .title_area + p {
        margin-top: 40px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#ground ul.table_list.image {
        display: block;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#ground ul.table_list.image li {
        display: block;
        padding: 0;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#ground ul.table_list.image li:nth-of-type(2), #guarantee .guarantee_frm .guarantee_wrap section#ground ul.table_list.image li:nth-of-type(4) {
        padding: 8px 0 5px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#ground ul.table_list.image li:nth-of-type(2) img, #guarantee .guarantee_frm .guarantee_wrap section#ground ul.table_list.image li:nth-of-type(4) img {
        width: 20px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#ground ul.table_list.image li h3 {
        font-size: 16px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#ground ul.table_list.cost li {
        padding: 0 5px 0;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#ground ul.table_list.cost li p {
        font-size: 16px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#ground > h3 {
        margin-top: 40px;
        font-size: 18px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#ground .caution {
        margin-top: 15px;
        font-size: 13px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#facility > h3 {
        margin-top: 40px;
        font-size: 18px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#facility > .caution {
        margin-top: 15px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#facility ul.table_list.three {
        margin: 40px auto 0;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#facility ul.table_list.three li p {
        padding: 32px 10px 10px 90px;
        font-size: 15px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#facility ul.table_list.three li p br {
        display: none;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#facility ul.flex_list {
        max-width: 600px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#facility ul.flex_list.five {
        margin-top: 15px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#facility ul.flex_list.five li {
        padding: 0 5px 0;
        width: 100%;
        max-width: 33.33%;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#facility ul.flex_list.five li:nth-of-type(n+4) {
        margin-top: 30px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#facility ul.flex_list.five li h4 {
        padding: 10px 0 7px;
        font-size: 14px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#facility ul.flex_list.five li p {
        padding: 10px 10px 7px;
        font-size: 12px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#facility ul.flex_list.five li p .caution {
        font-size: 12px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame h3 {
        font-size: 13px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame > div ul li.pay dl dt, #guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame > div ul li.pay dl dd {
        font-size: 13px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#exsamples .frame_area .frame > div ul li::before {
        font-size: 13px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#exsamples .bg_area {
        padding: 12px 10px 10px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#exsamples .bg_area h3 {
        margin-bottom: 10px;
        font-size: 15px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#exsamples .bg_area .case > div dl dt {
        width: 130px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#exsamples .bg_area .case > div dl dd {
        padding: 6px 10px 5px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#after_info .tel_info {
        margin: 30px auto 0;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#after_info .tel_info ul {
        margin: 0 auto 0;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#after_info > div:last-of-type {
        margin-top: 30px;
    }
}

/*768px*/
@media screen and (max-width: 640px) {
    #guarantee .guarantee_frm .guarantee_wrap section#ground .title_area + p {
        margin-top: 40px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#ground ul.table_list.cost {
        display: block;
        margin: 15px auto 0;
        width: 100%;
        max-width: 400px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#ground ul.table_list.cost li {
        display: block;
        padding: 0;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#ground ul.table_list.cost li:nth-of-type(n+2) {
        margin-top: 10px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#ground ul.table_list.cost li p {
        padding: 15px 10px 10px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#facility ul.flex_list {
        max-width: 400px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#facility ul.flex_list.five li {
        max-width: 50%;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#facility ul.flex_list.five li:nth-of-type(n+3) {
        margin-top: 30px;
    }
}

/*640px*/
@media screen and (max-width: 480px) {
    #guarantee .guarantee_frm .guarantee_main > div > div p:last-child {
        padding: 5px 0 0;
        font-size: 15px;
    }

    #guarantee .guarantee_frm .guarantee_main > div > div p img {
        max-width: 120px;
    }
        .company_main > div > div p:last-child {
        padding: 5px 0 0;
        font-size: 1.6rem;
    }

    .company_main > div > div p img {
        max-width: 80px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#facility ul.table_list.three {
        max-width: 300px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#facility ul.table_list.three li p {
        padding: 20px 10px 10px 100px;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#facility ul.table_list.three li p br {
        display: block;
    }

    #guarantee .guarantee_frm .guarantee_wrap section#exsamples .bg_area .case > div dl dt {
        width: 95px;
    }
}

/*480px*/
/*-------2024年3月31日までにご契約の方--------*/
@media screen and (max-width: 900px) {
    #guarantee_oldtype section > div {
        display: block;
    }

    #guarantee_oldtype section > div > div {
        display: block;
    }

    #guarantee_oldtype section > div .grt_link {
        margin: 30px auto 0;
        padding: 0;
        width: 100%;
        max-width: 410px;
    }

    #guarantee_oldtype section > div .grt_link a.img_link p {
        font-size: 12px;
    }

    #guarantee_oldtype section > div .grt_link a.img_link p:first-child {
        width: 60px;
        padding: 12px 0 12px 15px;
    }

    #guarantee_oldtype section > div .grt_link a.img_link p span {
        font-size: 20px;
    }
}

/*900px*/
@media screen and (max-width: 800px) {
    #guarantee_oldtype .guarantee_main {
        background-image: url(../../guarantee/img/guarantee_main_800_typeold.jpg);
        background-position: right top;
        background-size: cover;
    }

    #guarantee_oldtype .guarantee_main > div p {
        text-shadow: 1px 1px rgba(255, 255, 255, 0.5);
        text-align: left;
    }

    #guarantee_oldtype .guarantee_main > div p img {
        margin-left: 50px;
    }
    .company_main {
        background-image: url(../img/company/company_main_sp.jpg);
        background-position: right top;
        background-size: cover;
    }

    .company_main > div p {
        text-shadow: 1px 1px rgba(255, 255, 255, 0.5);
        text-align: left;
    }

    .company_main > div p img {
        margin-left: 0px;
    }
}

/*800px*/
@media screen and (max-width: 640px) {
    #guarantee_oldtype .guarantee_main {
        background-image: url("../../guarantee/img/guarantee_main_sp_typeold.jpg");
        padding: 0;
        width: 100%;
        height: 167px;
    }

    #guarantee_oldtype .guarantee_main > div p {
        margin: 0;
        padding: 10px 0 0 10px;
        width: 300px;
        font-size: 16px;
        font-weight: 500;
    }

    #guarantee_oldtype .guarantee_main > div p:first-child {
        padding: 15px 0 0 0;
    }

    #guarantee_oldtype .guarantee_main > div p img {
        max-width: 80px;
    }

    #guarantee_oldtype .guarantee_wrap {
        padding: 0 10px 0;
    }

    #guarantee_oldtype .guarantee_wrap > h2.announce {
        margin-top: 30px;
        font-size: 16px;
    }

    #guarantee_oldtype .guarantee_wrap > p {
        margin: 20px auto 30px;
    }

    #guarantee_oldtype section {
        padding: 50px 0 50px;
    }

    #guarantee_oldtype section h2 {
        margin: 0 0 15px;
        padding: 0 0 0 10px;
        font-size: 16px;
    }

    #guarantee_oldtype section > div .grt_link a {
        font-size: 15px;
    }

    #guarantee_oldtype section > div .grt_link a.img_link p:first-child {
        width: 75px;
    }

    #guarantee_oldtype section > div .grt_link ul li a {
        font-size: 14px;
    }

    #guarantee_oldtype section ul.logo_link {
        display: block;
        margin: 0 auto 0;
        max-width: 400px;
    }

    #guarantee_oldtype section ul.logo_link li {
        display: block;
        padding: 0;
    }

    #guarantee_oldtype section ul.logo_link li:nth-of-type(n+2) {
        margin-top: 10px;
    }

    #guarantee_oldtype section ul.logo_link li a {
        background-size: 25px auto;
        height: 70px;
    }

    #guarantee_oldtype section ul.logo_link li a p {
        padding-right: 30px;
        font-size: 14px;
    }

    #guarantee_oldtype section ul.logo_link li a p:first-child {
        padding: 0 10px;
        width: 70px;
    }

    #guarantee_oldtype section ul.logo_link li a p br {
        display: block;
    }

    #pan {
        display: none;
    }
}

.newsRoomContent{
  background-color: #f8f7f6;
  padding-bottom: 10px;
}

/*施工実績CSS*/
/* ---------- Event ---------- */
.navi_event {
  margin-top: 80px;
  margin-bottom: 80px;
  font-size: 1.6rem;
}
.navi_event ul {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.navi_event ul li {
  min-width: 30%;
  padding-right: 60px;
  box-sizing: border-box;
}
.navi_event ul li a {
  display: block;
  padding: 5px 15px;
  border-bottom: 1px solid #616161;
  position: relative;
}
/* 1. 元のafterにアニメーションの滑らかさを追加 */
.navi_event ul li a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  /* 縦中央揃え（元の状態）に、アニメーションの準備を追加 */
  transform: translateY(-50%) translateX(0);
  /* 0.3秒かけて滑らかに動かす設定 */
  transition: transform 0.3s ease; 
  
  width: 16px; 
  height: 16px;
  background: url("../img/arrow.svg") no-repeat center center / contain;
}

/* 2. マウスが乗った（hover）時の動きを指定 */
.navi_event ul li a:hover::after {
  /* 縦中央をキープしたまま、右に5px移動させる */
  transform: translateY(-50%) translateX(5px);
}

.list_event {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin: 0 -25px 60px;
}
.list_event li {
  width: calc(100% / 3);
  padding: 0 25px;
  box-sizing: border-box;
  margin-bottom: 70px;
}
.list_event li a {
  display: block;
}
.list_event li figure {
  width: 100%;
  aspect-ratio: 7 / 5;
  margin-bottom: 20px;
  position: relative;
}
.list_event li figure.end::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: rgba(43, 43, 43, 0.6);
  z-index: 2;
}
.list_event li figure.end::after {
  content: "終了しました";
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  z-index: 2;
  font-size: 15px;
  font-weight: 500;
}
.list_event li .text_area {
  padding: 0 10px;
}
.list_event li .text_area .category {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.list_event li .text_area .category span {
  margin-right: 5px;
  display: block;
  width: fit-content;
  background: #fff;
  padding: 5px 12px 3px;
  font-size: 11px;
}
.list_event li .text_area .post_title {
  line-height: 1.6;
  margin-bottom: 10px;
  font-size: 16px;
  font-weight: 500;
}
.list_event li .text_area .text {
  line-height: 1.6;
  margin-bottom: 20px;
  font-size: clamp(12px, 1.6vw, 13px);
}
.list_event li .text_area .event_info {
  margin-bottom: 10px;
  padding-top: 10px;
  border-top: 1px dashed #AEAAA7;
}
.list_event li .text_area .event_info .date {
  position: relative;
  padding-left: 40px;
  line-height: 1.4;
  margin-bottom: 6px;
  font-size: 14px;
}
.list_event li .text_area .event_info .date::before {
  content: "";
  width: 15px;
  height: 15px;
  mask-position: center center;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url("../img/icon_calendar.svg");
  background: #616161;
  position: absolute;
  left: 11px;
  top: 1px;
}
.list_event li .text_area .event_info .add {
  position: relative;
  padding-left: 40px;
  line-height: 1.4;
  font-size: 14px;
}
.list_event li .text_area .event_info .add::before {
  content: "\f3c5";
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #616161;
  position: absolute;
  left: 10px;
  top: 0;
  font-size: 14px;
  font-family: "Font Awesome 6 free", "Font Awesome 6 Brands";
  font-weight: 900;
}
.list_case {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin: 0 -35px 60px; }
  .list_case li {
    width: calc(100% / 3);
    padding: 0 35px;
    box-sizing: border-box;
    margin-bottom: 70px; }
    .list_case li a {
      display: block; }
    .list_case li .img_area {
      position: relative;
      }
      .list_case li .img_area .main_img {
        width: 100%;
        aspect-ratio: 7 / 5; }
      .list_case li .img_area .sub_img {
        width: 27%;
        aspect-ratio: 1 / 1;
        position: absolute;
        right: -10px;
        bottom: -10px; }
    .list_case li .text_area {
      padding: 0 10px; }
      .list_case li .text_area .post_title {
        line-height: 1.6;
        margin-bottom: 10px;
        font-size: 16px;
        font-weight: 500; }
      .list_case li .text_area .category {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: wrap;
        margin-bottom: 10px; }
        .list_case li .text_area .category span {
          margin: 2px 4px 2px 0;
          display: block;
          width: fit-content;
          background: #fff;
          padding: 5px 12px 3px;
          font-size: 11px; }

/* ------------------------------
 Entry
------------------------------ */
.post {
  padding-top: 200px; }
  .post .sec_intro {
    position: relative;
    margin-bottom: 100px; }
    .post .sec_intro figure {
      width: 50%;
      height: 700px;
      position: absolute;
      right: 0;
      top: 0; }
    .post .sec_intro .wrapper {
      height: 700px;
      display: flex;
      align-items: center;
      justify-content: flex-start; }
    .post .sec_intro .text_area {
      width: 45%; }
      .post .sec_intro .text_area .cnt_title {
        margin-bottom: 20px;
        font-size: 16px;
        font-family: "Marcellus", "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
        .post .sec_intro .text_area .cnt_title a {
          color: #AEAAA7; }
      .post .sec_intro .text_area .post_title {
        line-height: 1.6;
        margin-bottom: 50px;
        font-size: clamp(18px, 2.8vw, 24px);
        font-weight: 500; }
      .post .sec_intro .text_area .data_area {
        border-top: 1px solid #d5d5d5;
        margin-bottom: 70px; }
        .post .sec_intro .text_area .data_area dl {
          display: flex;
          align-items: center;
          justify-content: flex-start;
          border-bottom: 1px solid #d5d5d5; }
          .post .sec_intro .text_area .data_area dl dt {
            width: 150px;
            padding: 10px;
            box-sizing: border-box;
            font-size: 90%; }
          .post .sec_intro .text_area .data_area dl dd {
            flex: 1;
            padding: 10px;
            box-sizing: border-box; }
      .post .sec_intro .text_area .intro_area .catch {
        margin-bottom: 20px;
        font-size: clamp(16px, 2.2vw, 18px);
        font-weight: 500; }
      .post .sec_intro .text_area .intro_area .text p + p {
        margin-top: 1em; }
  .post .sec_body .block {
    margin-bottom: 80px; }
    .post .sec_body .block .img_area {
      display: flex;
      align-items: flex-end;
      justify-content: center;
      margin-bottom: 30px; }
      .post .sec_body .block .img_area figcaption {
        text-align: left;
        margin-top: 10px;
        color: #AEAAA7;
        font-size: 80%;
        font-family: "Marcellus", "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
      .post .sec_body .block .img_area .img_before {
        max-width: 220px;
        padding-right: 20px;
        box-sizing: border-box; }
        .post .sec_body .block .img_area .img_before + .img_after {
          max-width: 620px;
          padding-left: 20px;
          box-sizing: border-box; }
      .post .sec_body .block .img_area .img_after {
        max-width: 900px; }
    .post .sec_body .block .text_area {
      max-width: 550px;
      margin: 0 auto; }
      .post .sec_body .block .text_area p + p {
        margin-top: 1em; }

.pagenavi ul li.prev a {
  text-align: right; }

/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-1 ( 1300px )
 
------------------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-2 ( 959px )
 
------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 959px) {
  /* ------------------------------
   Index
  ------------------------------ */
  .list_case {
    margin: 0 -25px 60px; }
    .list_case li {
      width: calc(100% / 2);
      padding: 0 25px; }

  /* ------------------------------
   Entry
  ------------------------------ */
  .post {
    padding-top: 110px; }
    .post .sec_intro {
      margin-bottom: 60px; }
      .post .sec_intro figure {
        width: 100%;
        height: 500px;
        position: relative;
        right: auto;
        top: auto;
        margin-bottom: 40px; }
      .post .sec_intro .wrapper {
        height: auto;
        display: block; }
      .post .sec_intro .text_area {
        width: 100%; }
        .post .sec_intro .text_area .post_title {
          margin-bottom: 30px; }
        .post .sec_intro .text_area .data_area {
          margin-bottom: 80px; }
        .post .sec_intro .text_area .intro_area {
          max-width: 550px;
          margin: 0 auto; }
    .post .sec_body .block {
      margin-bottom: 60px; }
      .post .sec_body .block .img_area .img_before {
        max-width: 30%; }
        .post .sec_body .block .img_area .img_before + .img_after {
          max-width: 70%; }
      .post .sec_body .block .img_area .img_after {
        max-width: 100%; } }
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-3 ( 644px )
 
------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 644px) {
  /* ------------------------------
   Index
  ------------------------------ */
  .wrapper.wide:has(.list_case) {
    padding-right: 5vw;
    padding-left: 5vw; }

  .list_case {
    margin: 0 0 40px; }
    .list_case li {
      width: 100%;
      padding: 0;
      margin-bottom: 60px; }
      .list_case li .text_area {
        padding: 0; }

  /* ------------------------------
   Entry
  ------------------------------ */
  .post {
    padding-top: 80px; }
    .post .sec_intro figure {
      height: 250px; }
    .post .sec_intro .text_area .cnt_title {
      margin-bottom: 10px; }
    .post .sec_intro .text_area .post_title {
      margin-bottom: 30px; }
    .post .sec_intro .text_area .data_area {
      margin-bottom: 60px; }
      .post .sec_intro .text_area .data_area dl dt {
        width: 110px;
        padding: 10px 10px 10px 0; }
      .post .sec_intro .text_area .data_area dl dd {
        padding: 10px 0 10px 10px; }
    .post .sec_intro .text_area .intro_area {
      max-width: 100%; }
    .post .sec_body .block .img_area {
      margin-bottom: 20px; }
      .post .sec_body .block .img_area .img_before {
        padding-right: 10px; }
        .post .sec_body .block .img_area .img_before + .img_after {
          padding-left: 10px; } }

          .navi_category {
  margin: -40px 0 80px;
  display: flex;
  align-items: center;
  justify-content: flex-start; }
  .navi_category .navi_title {
    margin-right: 10px;
    font-size: 15px;
    font-family: "Marcellus", "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
  .navi_category ul {
    display: flex;
    align-items: center;
    justify-content: flex-start; }
    .navi_category ul li {
      margin-left: 10px; }
      .navi_category ul li a {
        display: block;
        border: 1px solid #AEAAA7;
        padding: 5px 15px;
        border-radius: 50px;
        font-size: 14px; }

.navi_category_mobile {
  display: none; }
  .navi_category_mobile .navi_title {
    margin-right: 10px;
    font-size: 15px;
    font-family: "Marcellus", "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }

.list_case {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin: 0 -35px 60px; }
  .list_case li {
    width: calc(100% / 3);
    padding: 0 35px;
    box-sizing: border-box;
    margin-bottom: 70px; }
    .list_case li a {
      display: block; }
    .list_case li figure {
      width: 100%;
      aspect-ratio: 7 / 5; }
    .list_case li .text_area {
      padding: 0 10px; }
      .list_case li .text_area .post_title {
        line-height: 1.6;
        margin-bottom: 10px;
        font-size: 1.6rem;
        font-weight: 700;

      }
      .list_case li .text_area .category {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: wrap;
        margin-bottom: 10px; }
        .list_case li .text_area .category span {
          margin-right: 5px;
          display: block;
          width: fit-content;
          background: #fff;
          padding: 5px 12px 3px;
          font-size: 12px; }

/* ------------------------------
 Category
------------------------------ */
.cat_title {
  margin-bottom: 40px;
  font-size: clamp(18px, 2.6vw, 22px);
  font-weight: 500; }

/* ------------------------------
 Entry
------------------------------ */
.post {
  margin-bottom: 160px; }
  .post .sec_hd {
    width: 100%;
    height: 70vh;
    margin-bottom: 80px; }
  .post .sec_intro {
    margin-bottom: 80px; }
    .post .sec_intro .title_area {
      margin-bottom: 50px; }
      .post .sec_intro .title_area .title_area_info {
        display: flex;
        justify-content: flex-start;
        margin-bottom: 20px; }
        .post .sec_intro .title_area .title_area_info .cnt_title {
          margin-right: 30px;
          font-size: 16px;
          font-family: "Marcellus", "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
          .post .sec_intro .title_area .title_area_info .cnt_title a {
            color: #AEAAA7; }
        .post .sec_intro .title_area .title_area_info .category {
          display: flex;
          align-items: center;
          justify-content: flex-start;
          flex-wrap: wrap; }
          .post .sec_intro .title_area .title_area_info .category span {
            margin-right: 5px;
            display: block;
            width: fit-content;
            background: #fff;
            padding: 5px 15px 3px;
            font-size: 13px; }
      .post .sec_intro .title_area .post_title {
        line-height: 1.6;
        font-size: clamp(17px, 2.8vw, 24px);
        font-weight: 500; }
    .post .sec_intro .intro_area {
      display: flex;
      align-items: flex-start;
      justify-content: space-between; }
      .post .sec_intro .intro_area .text_area {
        flex: 1;
        padding-right: 80px; }
      .post .sec_intro .intro_area .data_area {
        width: 45%; }
        .post .sec_intro .intro_area .data_area table {
          width: 100%;
          border-collapse: collapse; }
          .post .sec_intro .intro_area .data_area table tr {
            border-bottom: 1px solid #d5d5d5; }
          .post .sec_intro .intro_area .data_area table th {
            padding: 10px;
            width: 45%;
            box-sizing: border-box;
            color: #616161;
            line-height: 1.4;
            font-size: 14px;
            font-weight: 500; }
          .post .sec_intro .intro_area .data_area table td {
            padding: 10px 10px 10px 15px;
            box-sizing: border-box;
            line-height: 1.4; }
        .post .sec_intro .intro_area .data_area .more {
          width: 250px;
          margin: 40px 0 0 auto; }

.pagenavi ul li.prev a {
  text-align: right; }

/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-1 ( 1300px )
 
------------------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-2 ( 959px )
 
------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 959px) {
  /* ------------------------------
   Index
  ------------------------------ */
  .navi_category {
    display: none; }

  .navi_category_mobile {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin: -30px 0 50px; }
    .navi_category_mobile form {
      padding: 6px 15px;
      background: #fff; }
    .navi_category_mobile select {
      -webkit-appearance: none;
      appearance: none;
      margin-left: auto;
      border-radius: 0;
      padding: 6px;
      vertical-align: middle;
      box-sizing: border-box;
      text-align: left;
      font-family: "IBM Plex Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "游ゴシック Medium", "Yu Gothic Medium", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Meiryo", "メイリオ", Helvetica, sans-serif;
      font-size: 14px; }
      .navi_category_mobile select:focus {
        outline: none;
        background: rgba(250, 246, 243, 0.5); }

  .list_case {
    margin: 0 -25px 60px; }
    .list_case li {
      width: calc(100% / 2);
      padding: 0 25px; }

  /* ------------------------------
   Entry
  ------------------------------ */
  .post {
    margin-bottom: 80px; }
    .post .sec_hd {
      height: 50vh;
      margin-bottom: 60px; }
    .post .sec_intro .title_area {
      margin-bottom: 50px; }
    .post .sec_intro .intro_area {
      display: block; }
      .post .sec_intro .intro_area .text_area {
        width: 100%;
        margin-bottom: 40px;
        padding-right: 0; }
      .post .sec_intro .intro_area .data_area {
        width: 100%; }
        .post .sec_intro .intro_area .data_area table {
          border-top: 1px solid #d5d5d5; } }
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-3 ( 644px )
 
------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 644px) {
  /* ------------------------------
   Index
  ------------------------------ */
  .navi_category_mobile {
    margin: 0 0 30px; }
    .navi_category_mobile .navi_title {
      margin-right: 5px;
      font-size: 13px; }
    .navi_category_mobile form {
      padding: 6px; }
    .navi_category_mobile select {
      padding: 2px;
      font-size: 12px; }

  .wrapper.wide:has(.list_case) {
    padding-right: 5vw;
    padding-left: 5vw; }

  .list_case {
    margin: 0 0 40px; }
    .list_case li {
      width: 100%;
      padding: 0;
      margin-bottom: 60px; }
      .list_case li .text_area {
        padding: 0; }

  /* ------------------------------
   Entry
  ------------------------------ */
  .post .sec_hd {
    height: 50vh;
    margin-bottom: 40px; }
  .post .sec_intro {
    margin-bottom: 50px; }
    .post .sec_intro .title_area {
      margin-bottom: 30px; }
      .post .sec_intro .title_area .title_area_info {
        margin-bottom: 10px; }
        .post .sec_intro .title_area .title_area_info .cnt_title {
          margin-right: 15px; }
    .post .sec_intro .intro_area .text_area {
      margin-bottom: 30px; }
    .post .sec_intro .intro_area .data_area table th {
      width: 40%;
      font-size: 13px; }
    .post .sec_intro .intro_area .data_area .more {
      width: 160px;
      margin: 30px 0 0 auto; } }

.wrapper_list_case {
    max-width: 1200px;
    margin: 0 auto;
    text-align: left;
    clear: both;
}

.wrapper.wide {
    max-width: 1600px;
    padding-left: 50px;
    padding-right: 50px;
    margin-left: auto;
    margin-right: auto;
}
/* ---------- PageNavi ---------- */
.pageback {
  margin: 0 auto 80px;
}

.pagenavi {
  margin: 20px 0;
}
.pagenavi ul {
  overflow: hidden;
  position: relative;
}
.pagenavi ul li {
  width: 40%;
}
.pagenavi ul li a {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  letter-spacing: 0;
  padding: 0 30px;
}
.pagenavi ul li a::after {
  transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  color: #616161;
  top: 50%;
  transform: translateY(-50%);
  position: absolute;
  font-size: 20px;
  font-weight: 900;
  font-family: "Font Awesome 6 free", "Font Awesome 6 Brands";
}
.pagenavi ul li a figure {
  width: 100px;
  height: 100px;
}
.pagenavi ul li a p {
  flex: 1;
  line-height: 1.45;
  font-size: 90%;
  /*white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;*/
}
.pagenavi ul li.next {
  float: left;
}
.pagenavi ul li.next a {
  text-align: left;
}
.pagenavi ul li.next a::after {
  content: "\f104";
  left: 0;
}
.pagenavi ul li.next a figure {
  margin-right: 10px;
}
.pagenavi ul li.prev {
  float: right;
}
.pagenavi ul li.prev a {
  justify-content: flex-end;
  /*text-align: right;*/
}
.pagenavi ul li.prev a::after {
  content: "\f105";
  right: 0;
}
.pagenavi ul li.prev a figure {
  margin-left: 10px;
}

.pagination {
  clear: both;
  text-align: center;
  letter-spacing: -.4em;
  padding-bottom: 30px;
  font-size: 1.6rem;
}
.pagination span, .pagination a {
  border: #AEAAA7 1px solid;
  display: inline-block;
  margin: 0 3px;
  width: 36px;
  height: 36px;
  line-height: 36px;
  text-align: center;
  letter-spacing: 0;
  overflow: hidden;
  color: #AEAAA7;
}
.pagination a:hover {
  background-color: #d5d5d5;
}
.pagination .page-of {
  border-color: transparent;
  width: auto;
  margin-right: 10px;
}
.pagination .current_page {
  background-color: #444;
  border-color: #444;
  color: #fff;
}

#contents{
    background-color: #f8f7f6;
    padding-bottom: 1px;
}
/* 初期状態：その場で完全に透明（透過100%） */
.js-simple-fade {
opacity: 0;
  /* 1.5秒（1500ms）かけて、ゆっくり不透明になります */
  transition: opacity 1.5s ease;
}

/* 画面内に入った状態：不透明（透過0% = 100%見える状態） */
.js-simple-fade.is-visible {
  opacity: 1;
}

/* スマホ時のスタイル（画面幅768px以下） */
@media screen and (max-width: 768px) {
  .navi_event ul {
    display: flex;
    flex-direction: column; /* 縦並びにする */
    align-items: center;    /* 必要に応じて中央寄せにする場合 */
  }

  .navi_event ul li {
    width: 100%;            /* 横幅いっぱいに広げる場合 */
    text-align: center;     /* 文字を中央寄せにする場合 */
    margin-right: 0;        /* PC用についているかもしれない右余白をリセット */
    margin-bottom: 10px;    /* 縦に並んだときの下の隙間（数値は調整してください） */
  }

  .navi_event ul li:last-child {
    margin-bottom: 0;       /* 最後の要素の下隙間をなくす */
  }
  /* 外側の枠（ラッパー）の調整 */
  .wrapper_list_case {
    padding: 0 20px; /* 画面の左右にほどよい余白を作る */
  }

  /* メニュー全体のスタイル */
  .navi_event ul {
    display: flex;
    flex-direction: column; /* 縦並びにする */
    gap: 2px;             /* ボタンとボタンの間の隙間を均等に空ける */
    padding: 0;
    margin: 0;
    list-style: none;
  }

  /* 各リスト項目の横幅をいっぱいに */
  .navi_event ul li {
    width: 100%;
  }

  /* リンクボタン自体のデザイン（ここが重要です！） */
  .navi_event ul li a {
    display: block;
    text-align: center;
    padding: 14px 0;       /* 上下にしっかり余白をとって押しやすく */
    font-size: 1.5rem;     /* 文字の大きさをスマホ用に最適化 */
    font-weight: bold;
    letter-spacing: 0.05em;/* 文字の間隔を少し広げて洗練された印象に */
    color: #333;           /* 通常時の文字色（サイトに合わせて変更してください） */
    background: #f7f7f7;   /* 通常時の背景色（薄いグレー） */
    border: 1px solid #e0e0e0; /* 繊細な細いボーダー */
    border-radius: 30px;   /* 角を丸くして今風のデザインに（好みに合わせて 4px などにしてもOK） */
    text-decoration: none;
    transition: all 0.3s ease; /* タップした時の変化を滑らかに */
  }

  /* 現在選択されているボタン（.current）のデザイントップ */
  .navi_event ul li a.current {
    color: #fff;           /* 選択されている時の文字色（白） */
    background: #aeaaa7;   /* 選択されている時の背景色（style.cssで使われているシックなグレー） */
    border-color: #aeaaa7; /* 枠線も同色に */
    box-shadow: 0 4px 10px rgba(174, 170, 167, 0.3); /* ほんのり上品な影をつけて浮かび上がらせる */
  }
  .navi_event {
    margin-top: 20px;
    margin-bottom: 20px;
    font-size: 1.6rem;
}
}

/*施工事例の詳細CSS*/
/* =========================
gallery
========================= */

.gallery{
  width:min(1000px, 100%);
  margin:auto;
}

/* メイン画像 */

.gallery-main{
  position:relative;
  overflow:hidden;
  border-radius:24px;
  background:#000;
  box-shadow:0 20px 60px rgba(0,0,0,.12);
}

.gallery-main img{
  width:100%;
  aspect-ratio:16 / 9;
  object-fit:cover;
}

/* 矢印 */

.gallery-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #fff;
  color: #333;
  font-size: 24px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: .3s;
  z-index: 10;
  border: 1px solid #e5e5e5;
  box-shadow: 0 4px 12px rgba(0,0,0,.15);
}

.gallery-arrow:hover {
  background: #fff;
  color: #000;
  box-shadow: 0 6px 18px rgba(0,0,0,.2);
}
.gallery-arrow.prev {
  left: 16px;
}

.gallery-arrow.next {
  right: 16px;
}

/* サムネイル */

.gallery-thumbs{
  display:flex;
  gap:14px;
  margin-top:22px;
  overflow-x:auto;
  padding-bottom:5px;
}

.gallery-thumbs::-webkit-scrollbar{
  height:6px;
}

.gallery-thumbs::-webkit-scrollbar-thumb{
  background:#ccc;
}

.thumb{
  flex:0 0 140px;
  overflow:hidden;
  opacity:.5;
  transition:.3s ease;
  position:relative;
}

.thumb img{
  aspect-ratio:16 / 10;
  object-fit:cover;
}

.thumb:hover{
  opacity:.8;
}

.thumb.active{
  opacity:1;
}

.thumb.active::after{
  content:"";
  position:absolute;
  inset:0;
}
.gallery-thumbs,
.thumb,
.thumb img {
  border-radius: 0;
}

/* =========================
responsive
========================= */

@media (max-width:768px){

  .gallery-arrow{
    width:44px;
    height:44px;
    font-size:20px;
  }

  .thumb{
    flex:0 0 100px;
  }

}
.c-detail-contents__title {
  position: relative;
  margin: 0 auto 70px;
  padding: 0 20px 36px;
  text-align: center;
  font-size: 3.0rem;
  line-height: 1.45;
  font-weight: 300;
  letter-spacing: 0.12em;
  color: #111;
}

.c-detail-contents__title::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 80px;
  height: 1px;
  background: #111;
  transform: translateX(-50%);
}

.c-detail-contents__title span {
  display: block;
  margin-top: 22px;
  font-size: clamp(1.1rem, 1vw, 1.4rem);
  font-weight: 500;
  letter-spacing: 0.45em;
  color: #888;
}

/* スマホ */
@media screen and (max-width: 768px) {

  .c-detail-contents__title {
    margin-bottom: 40px;
    padding-bottom: 24px;
    font-size: 2.4rem;
    line-height: 1.5;
    letter-spacing: 0.08em;
  }

  .c-detail-contents__title::after {
    width: 56px;
  }

  .c-detail-contents__title span {
    margin-top: 16px;
    font-size: 1rem;
    letter-spacing: 0.3em;
  }

}
/*施工事例詳細の説明エリアCSS*/
.sub_post01 {
    margin: 70px auto 70px;
    max-width: 1000px;
}
.sub_items h3 {
    background: #5f6f7a;
    padding: 20px 40px 20px;
    color: #FFF;
    line-height: 1.5;
    font-size: 22px;
    font-weight: 500;
}
.sub_items h3 span {
    display: inline-block;
    border-left: 3px solid #FFF;
    padding: 0 0 0 20px;
    font-weight: bold;
}
.sub_items .tx_area {
    border: 1px solid #5f6f7a;
    padding: 50px;

}
.sub_items .tx_area > .comment {
    font-size: 1.6rem;
    word-break: break-all;
    line-height: 160%;
}
.details {
    max-width: 1030px;
    margin: 70px auto 20px;
}
.details article {
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
    font-size: 1.3rem;
    letter-spacing:0.1em;
}
.details article dl:first-of-type, .details article dl:nth-of-type(2) {
    border-top: 1px solid #cccbc9;
}
.details article dl {
    border-bottom: 1px solid #cccbc9;
    display: -webkit-flex;
    display: flex;
    width: 50%;
}
.details article dl dt {
    background: #eef2f4;
    padding: 15px 10px;
    text-align: center;
    width: 140px;
    min-width: 140px;
    color: #202020;
    font-weight: 700;
}
.details article dl dd {
    background: #fff;
    padding: 15px 20px 15px;
    width: 100%;
}
.back_frm {
    border-top: 1px solid #7a85a3;
    margin-top: 100px;
    padding-top: 100px;
}
.back_btn {
    text-align: center;
}
.back_btn a {
    border: 1px solid #00000f;
    display: inline-block;
    width: 100%;
    line-height: 45px;
    color: #00000f;
    background: #fff;
    font-size: 1.6rem;
    font-weight: 500;
    text-decoration: none;
    max-width: 300px;
}
.back_btn a span {
    display: inline-block;
}
@media screen and (max-width: 768px) {
.wrapper.wide {
    padding-left: 10px;
    padding-right: 10px;
    margin-left: auto;
    margin-right: auto;
}
    .sub_items h3 {
        padding: 10px;
        font-size: 16px;
    }
    .sub_items .tx_area {
    padding: 20px 10px 20px;
}
.sub_items h3 span {
    padding: 0 0 0 15px;
}
.sub_items .tx_area > .comment {
    font-size: 16px;
}
.details {
    margin: 50px auto 0;
}
.details article {
    display: block;
    padding: 0;
}
.details article dl:first-of-type, .details article dl:nth-of-type(2) {
    border-top: 1px solid #cccbc9;
}
.details article dl {
    padding: 0;
    width: 100%;
}
.details article dl dt {
    padding: 8px 3px 8px;
    width: 100px;
    min-width: 100px;
}
.details article dl dd {
    padding: 8px 10px 8px;
}
#sub_title .frm h2 .sbj_en {
    line-height: 1;
    color: #fff;
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    order: 1;
}
#sub_title .frm h2 .sbj {
    margin: 10px 0 0 0;
    line-height: 1.6;
    color: #fff;
    font-size: 2.4rem;
    order: 2;
}
}

/*標準仕様*/
.cm-content-img-cont {
    max-width: 144rem;
    margin-left: auto;
    margin-right: auto;
    /*width: calc(100% - 18rem);260615*/
    padding-top: 8rem;
}
.cm-content-img--top {
    align-items: flex-start;
}
.cm-content-img {
    max-width: 130rem;
    display: grid;
    grid-template-columns: 54.54% 1fr;
    -moz-column-gap: 4%;
    column-gap: 4%;
    align-items: flex-end;
}
/* sec3: 画像を狭く・テキストを広く */
.sec3-quality-wrap .cm-content-img {
    grid-template-columns: 40% 1fr;
    column-gap: 4%;
}
.sec3-quality-wrap .cm-content-img {
    grid-template-columns: 40% 1fr;
    column-gap: 4%;
    margin-left: auto;
    margin-right: auto;
    max-width: 100%; /* 親幅いっぱいに使う */
}
.cm-content-left-tlt {
    display: inline-block;
    background-color: #fff;
    font-size: 4rem;
    letter-spacing: 0.2rem;
    line-height: 1;
    font-weight: 700;
    padding: 1rem 1.5rem;
    border-radius: 1rem;
}
.cm-content-left-tlt-gr p + p {
    margin-top: 2rem;
}
.cm-content-left-tlt-blue {
    color: #d54949;
}
.cm-content-left-txt {
    padding-left: 1.5rem;
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: 0.25rem;
    line-height: 2.2;
    padding-top: 2rem;
    text-align: justify;
}
.sec1-quality .cm-img-right-video {
    margin-top: 6.5rem;
}
.sec2-perormance {
    max-width: 120rem;
    margin-left: auto;
    margin-right: auto;
    width: calc(100% - 3rem);
    background-color: #fff;
    border-radius: 3rem;
    padding-top: 5rem;
    padding-bottom: 8rem;
    margin-top: 4rem;
    margin-bottom: 4rem;
}

.sec2-perormance-tlt {
    font-size: 2.8rem;
    font-weight: 700;
    text-align: center;
    letter-spacing: 0.5rem;
    color: #070707;
}
.sec2-perormance-ul-normal {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    -moz-column-gap: 1.5rem;
    column-gap: 1.5rem;
}
.sec2-perormance-ul {
    max-width: 96rem;
    margin-left: auto;
    margin-right: auto;
    display: grid;
    grid-template-columns: 33.0% 33.0% 33.0%;
    padding-left: 0.4rem;
    padding-right: 0.4rem;
    justify-content: space-between;
    padding-top: 4.5rem;
}
.sec2-perormance-ul-normal a {
    padding-left: 2.7rem;
    padding-right: 2.7rem;
}
.sec2-perormance-ul a {
    display: flex;
    color: #fff;
    background-color: #D54949;
    border-radius: 0.5rem;
    font-size: 1.8rem;
    letter-spacing: 0.2rem;
    text-align: center;
    justify-content: center;
    align-items: center;
    height: 6rem;
    font-weight: 500;
}
.sec2-quality {
    margin-bottom: 3rem;/*260608*/
}
.sec3-perormance {
    position: relative;
    margin-top: 8rem;
}
.sec3-perormance-left {
    position: relative;
}
.sec3-perormance-left-img {
    position: absolute;
    top: 17.6rem;
    left: 0;
    width: 43.8%;
}
.sec3-perormance-left-img img {
    border-top-right-radius: 10rem;
}
.sec3-perormance-right {
    width: 87.5%;
    margin-left: auto;
    border-top-left-radius: 30rem;
    background-color: #F1F3F3;
    border-bottom-left-radius: 3rem;
}
.sec3-perormance-right1, .sec3-perormance-right2 {
    max-width: 144rem;
    width: calc(100% - 1.5rem);
}
.sec3-perormance-right1-content {
    max-width: 76.5rem;
    margin-left: auto;
}
.sec3-perormance-right1-content .title-area-child-concept-gr {
    padding-bottom: 3.7rem;
    transform: translateY(-4rem);
}
.title-area-child-concept-gr {
    display: flex;
    flex-direction: column;
    row-gap: 2rem;
    align-items: flex-start;
}
.title-area-child-concept.charjs.active {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    opacity: 1;
}
.title-area-child-concept {
    font-size: 4rem;
    font-weight: 700;
    display: inline-block;
    color: #fff;
    letter-spacing: 0.3rem;
    background-color: #5f6f7a;
    border-radius: 3rem;
    line-height: 1;
    padding-left: 4rem;
    padding-right: 3.5rem;
    padding-top: 4rem;
    padding-bottom: 4rem;
}
.sec3-perormance-left-sp {
    display: none;
}
.sec3-perormance-left-sp {
    max-width: 63rem;
    transform: translateX(-1.5rem);
}
.sec3-perormance-right1-content .title-area-child2-concept-gr {
    padding-left: 6rem;
}
.title-area-child2-concept-gr {
    display: flex;
    flex-direction: column;
    row-gap: 1rem;
    align-items: flex-start;
}
.title-area-child2-concept {
    font-size: 3rem;
    font-weight: 500;
    color: #5f6f7a;
    background-color: #fff;
    display: inline-block;
    line-height: 1;
    padding-left: 1.3rem;
    padding-right: 1.3rem;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    border-radius: 1rem;
}
.sec2-quality .txt-area-child-concept {
    max-width: 70.5rem;
}
.sec3-perormance-right1-content .txt-area-child-concept {
    padding-left: 7.5rem;
    max-width: 64.7rem;
    padding-top: 5.5rem;
}
.txt-area-child-concept {
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: 0.3rem;
    line-height: 2.2;
}
.sec2-quality-video {
    max-width: 144rem;
    padding-top: 9rem;
}
.sec2-quality-video-lv1 {
    max-width: 132rem;
    margin-left: auto;
}
.sec3-perormance-right3-main {
    max-width: 96rem;
    margin-left: auto;
    margin-right: auto;
    width: calc(100% - 3rem);
    background-color: #fff;
    border: 0.8rem solid #D1D5DB;
    padding-bottom: 2.5rem;
    border-radius: 0.2rem;
}
.sec2-quality-video .sec3-perormance-right3-stik {
    padding-left: 2.7rem;
    padding-right: 2.7rem;
    padding-top: 1.6rem;
    padding-bottom: 1.6rem;
}
.sec3-perormance-right3-stik {
    font-size: 1.4rem;
    font-weight: 500;
    color: #fff;
    letter-spacing: 0.2rem;
    display: inline-block;
    background-color: #d54949;
    border-radius: 0.2rem;
    padding: 0.3rem 5rem;
    margin-left: 2.3rem;
    transform: translateY(-50%);
}
.sec2-quality-video .sec3-perormance-right3-txt {
    max-width: 73rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
}
.sec3-perormance-right3-txt {
    font-size: 1.5rem;
    font-weight: 500;
    letter-spacing: 0.2rem;
    line-height: 2;
    max-width: 68rem;
    margin-left: auto;
    margin-right: auto;
    padding-top: 0.5rem;
}
.sec2-quality-video-tlt {
    font-size: 1.8rem;
    font-weight: 500;
    text-align: center;
    letter-spacing: 0.3rem;
    line-height: 2.2;
    padding-top: 7rem;
    padding-bottom: 4.5rem;
}
.sec2-quality-video-youtube {
    text-align: center;
    padding-bottom: 12rem;
}
.sec3-quality-img {
    position: relative;
    margin-top: 20rem;
}
.sec3-quality-img-main {
    position: absolute;
    top: 16rem;
    right: 0;
    width: 43.75%;
}
.sec3-quality-img {
    position: relative;
    margin-top: 20rem;
}
.sec3-quality {
    margin-top: 0;
}
.sec5-perormance {
    width: 87.5%;
    border-top-right-radius: 30rem;
    background-color: #F1F3F3;
    border-bottom-right-radius: 3rem;
    margin-top: 23rem;
    padding-bottom: 12.5rem;
}
.sec5-perormance .title-area-child-concept-gr {
    transform: translateY(-7rem);
    max-width: 129.5rem;
    margin-left: auto;
    margin-right: auto;
    width: calc(100% - 3rem);
}
.sec5-perormance {
    width: 87.5%;
    border-top-right-radius: 30rem;
    background-color: #F1F3F3;
    border-bottom-right-radius: 3rem;
    margin-top: 23rem;
    padding-bottom: 12.5rem;
}
.sec5-perormance .title-area-child-concept-gr {
    transform: translateY(-7rem);
    max-width: 129.5rem;
    margin-left: auto;
    margin-right: auto;
    width: calc(100% - 3rem);
}
.title-area-child-concept-gr {
    display: flex;
    flex-direction: column;
    row-gap: 2rem;
    align-items: flex-start;
}
.title-area-child-concept.charjs.active {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    opacity: 1;
}
.title-area-child-concept.charjs {
    -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
    clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
    opacity: 0;
    transition: all 1.5s ease-in-out;
}
.title-area-child-concept {
    font-size: 4rem;
    font-weight: 700;
    display: inline-block;
    color: #fff;
    letter-spacing: 0.3rem;
    background-color: #5f6f7a;
    border-radius: 3rem;
    line-height: 1;
    padding-left: 4rem;
    padding-right: 3.5rem;
    padding-top: 4rem;
    padding-bottom: 4rem;
}
.view-sp {
    display: none !important;
}
.sec3-perormance-left-sp {
    display: none;
}
.sec3-perormance-left-sp {
    max-width: 63rem;
    transform: translateX(-1.5rem);
}
.sec3-quality-main {
    max-width: 144rem;
    margin-left: auto;
    width: calc(100% - 1.5rem);
}
.title-area-child2-concept-gr {
    display: flex;
    flex-direction: column;
    row-gap: 1rem;
    align-items: flex-start;
    margin-top: 20px;
}
.title-area-child2-concept {
    font-size: 3rem;
    font-weight: 500;
    color: #5f6f7a;
    background-color: #fff;
    display: inline-block;
    line-height: 1;
    padding-left: 1.3rem;
    padding-right: 1.3rem;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    border-radius: 1rem;
}
.sec3-quality-main .txt-area-child-concept {
    max-width: 69rem;
}
.sec3-quality-main .txt-area-child-concept {
    padding-top: 2.6rem;
}
.gr-title-area-child2-txt .txt-area-child-concept {
    padding-left: 1.7rem;
    padding-top: 4.5rem;
}
.sec3-quality-img-main {
    position: absolute;
    top: 16rem;
    right: 0;
    width: 43.75%;
}
.sec3-quality-img-main img {
    border-top-left-radius: 10rem;
}
.sec3-perormance-right {
    width: 87.5%;
    margin-left: auto;
    border-top-left-radius: 30rem;
    background-color: #F1F3F3;
    border-bottom-left-radius: 3rem;
}
.sec3-perormance-left {
    position: relative;
}
.sec3-perormance-left-img {
    position: absolute;
    top: 17.6rem;
    left: 0;
    width: 43.8%;
}
.sec3-perormance-left-img img {
    border-top-right-radius: 10rem;
}
.sec3-perormance-right {
    width: 87.5%;
    margin-left: auto;
    border-top-left-radius: 30rem;
    background-color: #F1F3F3;
    border-bottom-left-radius: 3rem;
}
.sec3-perormance-right1, .sec3-perormance-right2 {
    max-width: 144rem;
    width: calc(100% - 1.5rem);
}
.sec3-perormance-right1-content {
    max-width: 76.5rem;
    margin-left: auto;
}
.sec3-perormance-right1-content .title-area-child-concept-gr {
    padding-bottom: 3.7rem;
    transform: translateY(-4rem);
}
.title-area-child-concept-gr {
    display: flex;
    flex-direction: column;
    row-gap: 2rem;
    align-items: flex-start;
}
.title-area-child-concept {
    font-size: 4rem;
    font-weight: 700;
    display: inline-block;
    color: #fff;
    letter-spacing: 0.3rem;
    background-color: #5f6f7a;
    border-radius: 3rem;
    line-height: 1;
    padding-left: 4rem;
    padding-right: 3.5rem;
    padding-top: 4rem;
    padding-bottom: 4rem;
}


/* スクロール表示アニメーション */
.reveal {
  position: relative;
  overflow: hidden;
  display: block;
  width: fit-content;
}

.reveal > * {
  opacity: 0;
  transform: translateX(-30px);

  transition:
    opacity 1.2s ease,
    transform 1.2s cubic-bezier(.19,1,.22,1);
}

.reveal::before {
  content: "";

  position: absolute;
  top: 0;
  left: 0;

  width: 100%;
  height: 100%;

  background: #fff;

  z-index: 10;

  transform: translateX(0);

  transition:
    transform 1.4s cubic-bezier(.77,0,.18,1);
}

.reveal.is-show > * {
  opacity: 1;
  transform: translateX(0);
}

.reveal.is-show::before {
  transform: translateX(101%);
}
/* sec3-perormance: cm-content-img構造に合わせた調整 */
.sec3-quality-wrap {
    padding-top: 0;
}

.sec3-quality-wrap .cm-content-img img {
    width: 100%;
    height: auto;
    border-radius: 1rem;
    object-fit: cover;
}
/* 動画エリアをセンター表示 */
.sec3-quality-video-center {
    text-align: center;
    
}

.sec3-quality-video-center .sec3-perormance-right3-main {
    max-width: 73rem;
    margin-left: auto;
    margin-right: auto;
}

.sec3-quality-video-center .sec3-perormance-right3-txt {
    max-width: 100%;
    padding-left: 3.5rem;
    padding-right: 3.5rem;
    text-align: left;
}
/* スマホ時 */
@media screen and (max-width: 767px) {
    .sec3-quality-wrap .cm-content-img {
        flex-direction: column; /* 画像→テキストの順（column-reverseをリセット） */
    }

    .sec3-quality-wrap .cm-content-img img {
        width: 100%;
    }

    .sec3-quality-wrap .sec2-quality-video-youtube {
        padding-bottom: 5rem;
    }
}
.hv-o{
  pointer-events: none;  /* クリックもホバーイベントも完全に無効化 */
  cursor: default;       /* カーソルを指マーク（pointer）から通常の矢印に戻す */
  text-decoration: none; /* 必要に応じてリンクの下線を消す */
}
.no {
    width: 330px;
    height: 46px;
    border-radius: 30px;
    color: #fff;
    background-color: #33425f;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    margin-bottom: 1.96rem;
}
@media screen and (max-width: 767px) {
  .cm-content-img-cont {
    width: 100%;
    padding-top: 4rem;
    padding-left: 2rem;
    padding-right: 2rem;
}
  .cm-content-img {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column-reverse;
    -moz-column-gap: 0;
    column-gap: 0;
}
  .cm-content-left {
    padding-top: 3.5rem;
}
  .cm-content-left-tlt {
    font-size: 2.4rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 0.6rem;
    padding-bottom: 0.6rem;
    line-height: 140%;
}
    .cm-content-left-txt {
        font-size: 1.6rem;
        padding-left: 1.0rem;
        padding-right: 1.1rem;
        line-height: 1.7;
        letter-spacing: 0.5rem;
        padding-top: 3rem;
        text-align: justify;
    }
.sec2-perormance {
    width: calc(100% - 7rem);
    margin-top: 6.5rem;
    padding-top: 3.0rem;
    padding-bottom: 3.0rem;
    padding-left: 3.0rem;
    padding-right: 3.0rem;
}
.sec2-perormance-tlt {
    font-size: 2.0rem;
}
.sec2-perormance-tlt-2linesp {
    line-height: 1.5;
}
.sec2-perormance-ul {
    max-width: 55.5rem;
    display: flex;
    flex-wrap: wrap;
    row-gap: 0.8rem;
    -moz-column-gap: 0.8rem;
    column-gap: 0.8rem;
    justify-content: flex-start;
}
.sec2-perormance-ul a {
    font-size: 1.6rem;
    height: 6rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    letter-spacing: 0.3rem;
}
.sec3-perormance-right {
    width: calc(100% - 1.5rem);
}
.sec3-perormance-right1, .sec3-perormance-right2 {
    width: 100%;
}
.sec3-perormance-right1-content .title-area-child-concept-gr {
    padding-bottom: 4.7rem;
    transform: translateY(-3rem);
}
.title-area-child-concept-gr {
    row-gap: 1.8rem;
}
.title-area-child-concept {
    font-size: 2.0rem;
    padding-left: 3rem;
    padding-right: 2.7rem;
    padding-top: 3rem;
    padding-bottom: 3rem;
    border-radius: 2rem;
}
.sec3-perormance-right1-content .title-area-child2-concept-gr {
    padding-left: 5rem;
    padding-top: 7.8rem;
}
.title-area-child2-concept {
    font-size: 2.0rem;
    padding-left: 2.4rem;
    padding-right: 2.4rem;
    font-weight: 700;
}
.sec3-perormance-right1-content .txt-area-child-concept {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
    max-width: 68.7rem;
    padding-top: 5rem;
}
.txt-area-child-concept {
    font-size: 1.6rem;
    line-height: 1.7;
}
.sec2-quality-video {
    padding-top: 9rem;
}
.sec3-perormance-right3-main {
    max-width: 64rem;
    padding-bottom: 2rem;
}
.sec3-perormance-right3-stik {
    font-size: 1.6rem;
    padding: 0.6rem 2.5rem;
    margin-left: 5rem;
    transform: translateY(-50%);
}
.sec2-quality-video .sec3-perormance-right3-txt {
    padding-bottom: 1rem;
}
.sec3-perormance-right3-txt {
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: 0.2rem;
    line-height: 1.7;
    max-width: 100%;
    padding-left: 5rem;
    padding-right: 5rem;
    padding-top: 1rem;
}
.sec2-quality-video-tlt {
    font-size: 2.4rem;
    line-height: 1.7;
    padding-top: 7.5rem;
    padding-bottom: 2.5rem;
}
.sec2-quality-video-youtube {
    padding-bottom: 13rem;
}
.view-pc {
    display: none !important;
}
}

/*企業情報*/
.company {
  padding: 120px 0;
  background: #f8f7f3;
}

.company__inner {
  width: min(100% - 40px, 1100px);
  margin: 0 auto;
}

.sec-heading {
  text-align: center;
  margin-bottom: 60px;
}

.sec-heading span {
  display: block;
  font-size: 1.6rem;
  letter-spacing: .2em;
  color: #8b7e6d;
  margin-bottom: 10px;
}

.sec-heading h2 {
  font-size: 3.4rem;
  font-weight: 700;
  margin-bottom: 15px;
}

.sec-heading p {
  color: #666;
  line-height: 1.8;
  font-size: 1.6rem;
}

.company-card {
  background: #fff;
  border-radius: 20px;
  padding: 50px;
  box-shadow: 0 20px 50px rgba(0,0,0,.06);
}

.company-card dl {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 30px;
  padding: 25px 0;
  border-bottom: 1px solid #e8e8e8;
}

.company-card dl:last-child {
  border-bottom: none;
}

.company-card dt {
  font-weight: 700;
  letter-spacing: .05em;
  font-size: 1.6rem;
}

.company-card dd {
  line-height: 2;
  font-size: 1.6rem;
}

.company-card a {
  text-decoration: none;
}

.company-card a:hover {
  opacity: .7;
}
.company-intro {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 40px;
  align-items: stretch;
  padding-bottom: 40px;
  margin-bottom: 20px;
}

.company-info dl:first-child {
  padding-top: 0;
}

.company-photo {
  margin: 0;
  overflow: hidden;
  border-radius: 20px;
}

.company-photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: .5s;
}

.company-photo:hover img {
  transform: scale(1.05);
}
.company-photo {
  box-shadow:
    0 10px 30px rgba(0,0,0,.08);
}
@media (max-width: 768px) {
  .company-intro {
    grid-template-columns: 1fr;
  }

  .company-photo {
    order: -1;
    aspect-ratio: 16 / 9;
  }
  .company {
    padding: 80px 0;
  }

  .company-card {
    padding: 30px;
  }

  .company-card dl {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 20px 0;
  }

  .company-card dt {
    padding-bottom: 5px;
    border-bottom: 1px solid #ddd;
  }

}
/*会社概要のマップ*/
.access {
  padding: 120px 0;
  background: #eee;
}
.access__inner {
  width: min(100% - 40px, 1200px);
  margin: 0 auto;
}
.access-card {
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 50px;

  max-width: 1100px; /* 追加 */
  margin: 0 auto;    /* 中央寄せ */

  background: #fff;
  border-radius: 24px;
  padding: 50px;

  box-shadow:
    0 10px 30px rgba(0,0,0,.04),
    0 30px 60px rgba(0,0,0,.05);
}

/* 左側 */

.access-info h3 {
  font-size: 1.8rem;

  margin-bottom: 30px;
}

.access-info dl {
  margin-bottom: 25px;
      padding-bottom: 15px;
    border-bottom: 1px solid #ddd;
}

.access-info dt {
  font-weight: 700;

  margin-bottom: 8px;
  font-size: 1.6rem;
}

.access-info dd {
  line-height: 1.9;

  font-size: 1.6rem;
}

/* 右側マップ */

.access-map {
  overflow: hidden;
  border-radius: 20px;
  min-height: 450px;
}

.access-map iframe {
  width: 100%;
  height: 100%;
  border: none;
  display: block;
}
@media (max-width: 768px) {

  .access {
    padding: 80px 0;
  }

  .access-card {
    grid-template-columns: 1fr;
    padding: 30px;
    gap: 30px;
  }

  .access-map {
    min-height: 300px;
  }

}
.access-btn a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;

  min-width: 260px;
  height: 60px;

  border: 1px solid #444d51;
  background: #e6e6e6;
  color: #202020;

  text-decoration: none;
  border-radius: 999px;

  font-weight: 700;
  transition: .4s;
}

.access-btn a::after {
  content: "→";
  font-size: 1.1rem;
  transition: .4s;
}

.access-btn a:hover {
  background: #444d51;
  color: #fff;
}

.access-btn a:hover::after {
  transform: translateX(5px);
}

/*プライバシーポリシーCSS*/
:root{
  --main:#8B7D6B;
  --main-dark:#665A4C;
  --bg:#F7F4EF;
  --border:#DDD5CA;
  --text:#444;
}

.policy{
  padding:120px 20px;
  background:var(--bg);
}

.policy__head{
  max-width:900px;
  margin:0 auto 80px;
  text-align:center;
  font-size:1.6rem;
}

.policy__head span{
  display:block;
  color:var(--main);
  letter-spacing:.2em;
  font-size:1.6rem;
  margin-bottom:15px;
}

.policy__head h3{
  font-size:2.9rem;
  margin-bottom:20px;
  color:var(--main-dark);
}

.policy__head p{
  max-width:900px;
  margin:0 auto;
  line-height:2;
  text-align: justify;
}
.policy__block li::before {
  content: "●";
  color: #8B7D6B;
  margin-right: 0.5em;
}
.policy__body{
  max-width:900px;
  margin:0 auto;
}

.policy__block{
  background:#fff;
  padding:40px;
  border-radius:20px;
  margin-bottom:24px;
  box-shadow:
    0 8px 20px rgba(0,0,0,.03);
}

.policy__block h4{
  position:relative;
  padding-left:20px;
  margin-bottom:20px;
  font-weight: bold;
  font-size:1.8rem;
  color:var(--main-dark);
}

.policy__block h4::before{
  content:"";
  position:absolute;
  left:0;
  width:4px;
  height:1.2em;
  background:var(--main);
  border-radius:10px;
}

.policy__block p{
  line-height:2;
  font-size:1.6rem;
}

.policy__block ul{
  margin-top:15px;
  padding-left:20px;
  font-size:1.6rem;
}

.policy__block li{
  line-height:2;

}

.policy-contact{
  background:var(--main-dark);
  color:#fff;
  padding:40px;
  border-radius:20px;
  margin-top:50px;
}

.policy-contact h4{
  margin-bottom:20px;
  font-size:1.6rem;
}

.policy-contact address{
  font-style:normal;
  line-height:2;
  font-size:1.6rem;
}
/* ======================
   Responsive
====================== */

@media screen and (max-width: 768px){

  .policy{
    padding:80px 15px;
  }

  .policy__head{
    margin-bottom:50px;
  }

  .policy__head p{
    text-align:left;
    line-height:1.9;
  }

  .policy__block{
    padding:25px;
    border-radius:15px;
  }

  .policy__block h2{
    font-size:1.1rem;
    padding-left:15px;
    margin-bottom:15px;
  }

  .policy__block h2::before{
    width:3px;
  }

  .policy__block p,
  .policy__block li{
    line-height:1.9;
    font-size:.95rem;
  }

  .policy-contact{
    padding:25px;
    border-radius:15px;
  }

  .policy-contact h2{
    font-size:1.1rem;
  }

  .policy-contact address{
    font-size:.95rem;
    line-height:1.9;
  }

}

/* ===================================================
   1. 基本設定（まずはPCサイズを基準にする場合）
   =================================================== */
.onlyPc {
  display: block; /* PCでは表示 */
}
.onlySp {
  display: none;  /* PCでは非表示 */
}

/* ===================================================
   2. スマホサイズ（画面幅 768px 以下）の時の設定
   =================================================== */
@media screen and (max-width: 768px) {
  .onlyPc {
    display: none;  /* スマホでは非表示 */
  }
  .onlySp {
    display: block; /* スマホでは表示 */
  }
}

/* ===================================================
   標準仕様ページのセクション交互背景設定
=================================================== */

/* すべての仕様セクションの共通設定（横幅は自動的に100%になります） */
.standard-spec-section {
  width: 100%;
  /* 上下の余白（サイトのデザインに合わせて調整してください） */
  padding: 40px 0; 
}

/* スマホ表示時の上下余白の調整 */
@media screen and (max-width: 768px) {
  .standard-spec-section {
    padding: 40px 0;
  }
}

/* 内側の中央寄せコンテンツエリア（横幅を制限） */
.spec-section__inner {
  max-width: 1180px; /* 既存の .related クラス等の最大幅に合わせます */
  margin: 0 auto;    /* 左右中央寄せ */
  padding: 0 20px;   /* スマホ等で画面端にテキストがくっつかないための余白 */
}

/* ---------------------------------------------------
   背景色の交互繰り返し（灰色、白、灰色、白）の指定
--------------------------------------------------- */

/* 1つ目、3つ目、5つ目...（奇数番目）のセクションを灰色にする */
.standard-spec-section:nth-of-type(odd) {
  background-color: #f7f7f7; /* お好みの灰色のカラーコードに変更してください */
}

/* 2つ目、4つ目、6つ目...（偶数番目）のセクションを白にする */
.standard-spec-section:nth-of-type(even) {
  background-color: #ffffff;
}

.standard-spec-section:nth-of-type(odd) .sec2-perormance {
  background: #ffffff;
}

.standard-spec-section:nth-of-type(even) .sec2-perormance {
  background: #F7F4EF;
}


/*標準仕様のページ内リンクボタン*/
.spec-nav {
  max-width: 1200px;
  padding: 0 20px;
}

.spec-nav__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.spec-nav__list li a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 15px;
  background: #fff;
  border: 1px solid #d9d9d9;
  border-radius: 8px;
  color: #333;
  font-weight: 700;
  text-decoration: none;
  text-align: center;
  transition: all .3s ease;
  position: relative;
  font-size: 1.4rem;
}

.spec-nav__list li a::after {
  content: "→";
  margin-left: 8px;
  transition: transform .3s;
}

.spec-nav__list li a:hover {
  background: #2b4c7e;
  color: #fff;
  border-color: #2b4c7e;
  transform: translateY(-3px);
  box-shadow: 0 10px 25px rgba(0,0,0,.12);
}

.spec-nav__list li a:hover::after {
  transform: translateX(4px);
}


@media (max-width: 768px) {
  .spec-nav {
    margin: 50px auto;
  }

  .spec-nav__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  .spec-nav__list li a {
    min-height: 58px;
    font-size: 14px;
    padding: 10px;
  }
}
.spec-nav__heading {
  text-align: center;
  margin-bottom: 40px;
  font-size: 3.2rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #2b4c7e;
  line-height: 1.4;
}

.spec-nav__heading span {
  display: block;
  margin-top: 8px;
  font-size: 1.6rem;
  font-weight: 500;
  color: #666;
  letter-spacing: 0.15em;
}

@media (max-width: 768px) {
  .spec-nav__heading {
    font-size: 2.4rem;
    margin-bottom: 24px;
  }

  .spec-nav__heading span {
    font-size: 1.3rem;
  }
.footer_navigation {
  display: none !important;
}
}

/*FLOWページのCSS*/

:root{
  --ink:#1a1714;
  --ink-soft:#4a4540;
  --ink-muted:#8a8480;
  --paper:#faf8f4;
  --paper-warm:#f3efe8;
  --paper-mid:#e8e2d8;
  --accent:#8b6f4e;
  --accent-light:#c4a882;
  --accent-pale:#f0e8dc;
  --gold:#b08d57;
  --line:rgba(26,23,20,0.1);
}

/* PROGRESS */
.progress{position:fixed;top:0;left:0;height:2px;background:var(--gold);z-index:100;width:0;transition:width .1s linear;}

/* HERO */
.hero{
  position:relative;height:100vh;min-height:580px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  overflow:hidden;background:var(--ink);
}
.hero-bg{position:absolute;inset:0;background:linear-gradient(155deg,#2a2420 0%,#1a1714 50%,#0e0c0a 100%);}
.hero-grid{
  position:absolute;inset:0;
  background-image:
    repeating-linear-gradient(0deg,transparent,transparent 59px,rgba(176,141,87,.06) 60px),
    repeating-linear-gradient(90deg,transparent,transparent 59px,rgba(176,141,87,.06) 60px);
  background-size:60px 60px;
}
.hero-spine{
  position:absolute;top:0;bottom:0;left:50%;
  width:1px;transform:translateX(-50%);
  background:linear-gradient(to bottom,transparent,rgba(176,141,87,.4) 20%,rgba(176,141,87,.4) 80%,transparent);
  scale:1 0;transform-origin:top center;
  animation:spineIn 1.8s ease forwards;
}
@keyframes spineIn{to{scale:1 1;}}
.hero-content{
  position:relative;z-index:2;text-align:center;padding:2rem;
  opacity:0;animation:fadeUp 1s ease .6s forwards;
}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.hero-en{
  font-family:'Cormorant Garamond',serif;font-size:.8rem;
  letter-spacing:.4em;color:var(--gold);text-transform:uppercase;margin-bottom:1.5rem;
}
.hero-title{
  font-family:'Noto Serif JP',serif;
  font-size:clamp(1.9rem,5vw,3.2rem);
  font-weight:300;color:#faf8f4;
  line-height:1.35;letter-spacing:.1em;margin-bottom:1.2rem;
}
.hero-title em{
  display:block;font-family:'Cormorant Garamond',serif;font-style:italic;
  font-size:clamp(1rem,2.5vw,1.7rem);color:var(--gold);
  letter-spacing:.2em;margin-top:.4rem;
}
.hero-sub{font-size:.82rem;color:rgba(250,248,244,.5);letter-spacing:.15em;line-height:2.2;}
.hero-scroll{
  position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:8px;
  color:var(--gold);font-size:.68rem;letter-spacing:.25em;
  font-family:'Cormorant Garamond',serif;
  animation:fadeUp 1s ease 1.4s both;
}
.scroll-bar{width:1px;height:44px;background:linear-gradient(to bottom,var(--gold),transparent);animation:scrollAnim 1.5s ease-in-out 2s infinite;}
@keyframes scrollAnim{
  0%{transform:scaleY(0);transform-origin:top;opacity:1}
  50%{transform:scaleY(1);transform-origin:top}
  51%{transform-origin:bottom}
  100%{transform:scaleY(0);transform-origin:bottom;opacity:0}
}

/* INTRO */
.intro{max-width:1100px;margin:0 auto;padding:6rem 2rem 4rem;text-align:center;}
.section-eyebrow{
  font-size:1.4rem;
  letter-spacing:.4em;color:var(--gold);
  text-transform:uppercase;
  display:flex;align-items:center;
  justify-content:center;gap:1rem;
  margin-bottom:1.5rem;
}
.section-eyebrow::before,.section-eyebrow::after{content:'';display:inline-block;width:36px;height:1px;background:var(--gold);opacity:.5;}
.intro-lead{
  font-size:3.4rem;
  font-weight:700;
  line-height:1.4;
  color:var(--ink-soft);
  letter-spacing:.05em;
}
.intro-note{
  margin-top:2rem;
  font-size:1.6rem;
  color:var(--ink-muted);
  line-height:2;
  letter-spacing:.05em;
}

/* STEPS WRAPPER */
.steps-wrap{padding:2rem 0 8rem;}
.steps-header{text-align:center;padding:2rem 2rem 4rem;}
.steps-header h2{
  font-size:3.2rem;
  font-weight:300;
  letter-spacing:.15em;
}

/* STEP */
.step{
  display:grid;
  grid-template-columns:1fr 72px 1fr;
  max-width:1180px;
  margin:0 auto 3.5rem;
  padding:0 2rem;
  position:relative;
  opacity:0;transform:translateY(16px);
  transition:opacity .65s ease,transform .65s ease;
}
.step.visible{opacity:1;transform:none;}

/* alternate: even steps flip */
.step.alt .step-img-side{order:-1;}
.step.alt .step-spacer{order:0;}
.step.alt .step-node{order:0;}
.step.alt .step-text-side{order:1;text-align:left;}
.step.alt .step-text-side .step-inner{border-left:3px solid var(--gold);border-right:none;padding-left:2rem;padding-right:1.5rem;}

/* vertical spine */
.steps-wrap{position:relative;}
.steps-spine{
  position:absolute;left:50%;top:0;bottom:0;
  width:1px;transform:translateX(-50%);
  background:linear-gradient(to bottom,transparent,var(--accent-light) 4%,var(--accent-light) 96%,transparent);
  pointer-events:none;
}

/* NODE */
.step-node{
  display:flex;flex-direction:column;align-items:center;
  position:relative;z-index:2;padding-top:.25rem;
}
.node-circle{
  width:80px;
  height:80px;
  border-radius:50%;
  background:var(--ink);border:1px solid var(--gold);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.node-step-en{
  font-family:'Cormorant Garamond',
  serif;font-size:1.2rem;
  letter-spacing:.2em;
  color:var(--gold);
  line-height:1;
}
.node-num{
  font-size:3.5rem;
  font-weight:300;
  color:#faf8f4;
  line-height:1;
}

/* TEXT SIDE */
.step-text-side{
  display:flex;flex-direction:column;justify-content:center;
  text-align:right;
  margin-left: 2.0rem;
}
.step-inner{
  background:var(--paper-warm);
  border:1px solid var(--paper-mid);
  border-right:3px solid var(--gold);
  padding:1.6rem 2rem 1.6rem 1.5rem;
  margin-right: 2.0rem;
}
.step-phase{
  font-size:1.4rem;
  letter-spacing:.3em;
  color:var(--gold);
  margin-bottom:.3rem;
  font-weight: 700;
}
.step-title{
  font-size:2.0rem;
  font-weight:bold;
  letter-spacing:.08em;
  color:var(--ink);
  line-height:1.5;
  margin-bottom:.6rem;
}
.step-desc{
  font-size:1.6rem;
  color:var(--ink-soft);
  line-height:2;
  letter-spacing:.02em;
}

/* IMAGE SIDE */
.step-img-side{
  display:flex;flex-direction:column;justify-content:center;
  padding-left:2rem;
  padding-right: 2rem;
}
.img-frame{
  /*background:var(--paper-warm);
  border:1px solid var(--paper-mid);*/
  padding:1.6rem;
  display:flex;
  align-items:center;
  justify-content:center;
}
.img-frame img{
  width:100%;max-width:140px;height:120px;
  object-fit:contain;
  filter:grayscale(20%);
  transition:filter .3s;
}
.step:hover .img-frame img{filter:grayscale(0);}

/* SPACER */
.step-spacer{}

/* CTA */
.cta-section{
  background:var(--ink);padding:7rem 2rem;text-align:center;
  position:relative;overflow:hidden;
}
.cta-section::before{
  content:'';position:absolute;inset:0;
  background-image:
    repeating-linear-gradient(0deg,transparent,transparent 59px,rgba(176,141,87,.05) 60px),
    repeating-linear-gradient(90deg,transparent,transparent 59px,rgba(176,141,87,.05) 60px);
  background-size:60px 60px;
}
.cta-inner{position:relative;z-index:1;max-width:580px;margin:0 auto;}
.cta-en{font-family:'Cormorant Garamond',serif;font-size:.8rem;letter-spacing:.4em;color:var(--gold);margin-bottom:1.8rem;}
.cta-title{
  font-family:'Noto Serif JP',serif;
  font-size:clamp(1.2rem,3vw,1.9rem);
  font-weight:300;color:#faf8f4;
  line-height:1.8;letter-spacing:.1em;margin-bottom:1.2rem;
}
.cta-text{font-size:.8rem;color:rgba(250,248,244,.5);line-height:2.2;margin-bottom:2.8rem;letter-spacing:.05em;}
.btns{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;}
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:.9rem 2.2rem;
  font-family:'Noto Sans JP',sans-serif;font-size:.78rem;letter-spacing:.18em;
  cursor:pointer;text-decoration:none;transition:all .3s;
}
.btn-gold{background:var(--gold);color:var(--ink);border:1px solid var(--gold);}
.btn-gold:hover{background:transparent;color:var(--gold);}
.btn-outline{background:transparent;color:rgba(250,248,244,.75);border:1px solid rgba(176,141,87,.4);}
.btn-outline:hover{border-color:var(--gold);color:var(--gold);}
.arr{transition:transform .3s;}
.btn:hover .arr{transform:translateX(3px);}


/* RESPONSIVE */
@media(max-width:768px){
  .intro-lead{
  font-size:1.6rem;
  font-weight:700;
  line-height:1.4;
  color:var(--ink-soft);
  letter-spacing:.05em;
  text-align: justify;
}
.intro-note{
  margin-top:2rem;
  font-size:1.4rem;
  color:var(--ink-muted);
  line-height:2;
  letter-spacing:.05em;
  text-align: justify;
}

/* STEPS WRAPPER */
.steps-wrap{padding:2rem 0 8rem;}
.steps-header{text-align:center;padding:2rem 2rem 4rem;}
.steps-header h2{
  font-size:1.8rem;
  font-weight:300;
  letter-spacing:.1em;
}
  .steps-spine{left:36px;}
  .step{grid-template-columns:60px 1fr;grid-template-rows:auto auto;padding:0 1rem;}
  .step .step-img-side,.step.alt .step-img-side{order:0;grid-column:2;padding-left:1rem;margin-bottom:.75rem;}
  .step .step-text-side,.step.alt .step-text-side{order:1;grid-column:2;text-align:left;}
  .step .step-node,.step.alt .step-node{grid-column:1;grid-row:1/3;}
  .step-spacer,.step.alt .step-spacer{display:none;}
  .step-inner,.step.alt .step-inner{border-left:3px solid var(--gold);border-right:none;padding-left:1.2rem;padding-right:1rem;}
  .step-img-side{padding-left:1rem;}
  .img-frame{padding:1rem;}
  .img-frame img{height:80px;}
  .nav{padding:1rem 1.5rem;}
  .nav.scrolled{padding:.75rem 1.5rem;}
}
/*アフターサービスについて*/
/* =========================================
         保証概要カード（4つのハイライト）
      ========================================= */
      .warranty-highlights {
        background: var(--bg);
        padding: 70px 40px;
      }
      .warranty-highlights__inner {
        max-width: 1200px;
        margin: 0 auto;
      }
      .warranty-highlights__heading {
        text-align: center;
        margin-bottom: 50px;
      }
      .warranty-highlights__title {
        font-size: clamp(20px, 2.8vw, 28px);
        font-weight: 700;
        letter-spacing: 0.06em;
        margin-top: 12px;
      }
      .warranty-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 24px;
}
/* 1段目（3件） */
.warranty-card:nth-child(1),
.warranty-card:nth-child(2),
.warranty-card:nth-child(3) {
  grid-column: span 2;
}

/* 2段目（2件を中央寄せ） */
.warranty-card:nth-child(4) {
  grid-column: 2 / span 2;
}

.warranty-card:nth-child(5) {
  grid-column: 4 / span 2;
}
      .warranty-card {
        background: var(--white);
        border-radius: 8px;
        padding: 36px 24px 32px;
        text-align: center;
        box-shadow: 0 2px 20px rgba(0,0,0,0.06);
        opacity: 0;
        transform: translateY(24px);
        transition: opacity 0.5s ease, transform 0.5s ease;
      }
      .warranty-card.visible {
        opacity: 1;
        transform: translateY(0);
      }
      .warranty-card:nth-child(2) { transition-delay: 0.1s; }
      .warranty-card:nth-child(3) { transition-delay: 0.2s; }
      .warranty-card:nth-child(4) { transition-delay: 0.3s; }
      .warranty-card__icon {
        width: 206px;
        height: 206px;
        margin: 0 auto 0px;
        background: var(--gold-light);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
      }
      .warranty-card__icon svg {
        width: 106px;
        height: 106px;
        stroke: var(--gold);
        fill: none;
        stroke-width: 1.5;
        stroke-linecap: round;
        stroke-linejoin: round;
      }
      .warranty-card__num {
        font-size: clamp(32px, 4vw, 48px);
        font-weight: 800;
        color: var(--gold);
        line-height: 1;
        margin-bottom: 6px;
        letter-spacing: -0.02em;
      }
      .warranty-card__unit {
        font-size: 14px;
        font-weight: 600;
        color: var(--gold);
        margin-left: 2px;
      }
      .warranty-card__label {
        font-size: 2.2rem;
        font-weight: 700;
        color: #1a1a1a;
        margin-bottom: 10px;
        letter-spacing: 0.04em;
      }
      .warranty-card__desc {
        text-align: justify;
        font-size: 1.6rem;
        color: var(--muted);
        line-height: 1.8;
      }
      /* =========================================
         よくある質問（FAQ）
      ========================================= */
      .faq-section {
        background: var(--bg);
        padding: 40px;
      }
      .faq-section__inner {
        max-width: 1200px;
        margin: 0 auto;
      }
      .faq-section__heading {
        text-align: center;
        margin-bottom: 50px;
      }
      .faq-section__title {
        font-size: clamp(20px, 2.8vw, 28px);
        font-weight: 700;
        letter-spacing: 0.06em;
        margin-top: 12px;
      }
      .faq-list {
        display: flex;
        flex-direction: column;
        gap: 12px;
      }
      .faq-item {
        background: var(--white);
        border-radius: 6px;
        border: 1px solid var(--line);
        overflow: hidden;
        opacity: 0;
        transform: translateY(12px);
        transition: opacity 0.4s ease, transform 0.4s ease;
      }
      .faq-item.visible {
        opacity: 1;
        transform: translateY(0);
      }
      .faq-item:nth-child(2) { transition-delay: 0.06s; }
      .faq-item:nth-child(3) { transition-delay: 0.12s; }
      .faq-item:nth-child(4) { transition-delay: 0.18s; }
      .faq-item:nth-child(5) { transition-delay: 0.24s; }

      .faq-question {
        display: flex;
        align-items: center;
        gap: 18px;
        padding: 20px 24px;
        cursor: pointer;
        user-select: none;
      }
      .faq-question__q {
        flex: 0 0 28px;
        height: 28px;
        border-radius: 50%;
        background: var(--gold);
        color: var(--white);
        font-size: 14px;
        font-weight: 800;
        display: flex;
        align-items: center;
        justify-content: center;
      }
      .faq-question__text {
        flex: 1;
        font-size: 15px;
        font-weight: 600;
        color: var(--ink);
        line-height: 1.6;
      }
      .faq-question__arrow {
        flex: 0 0 20px;
        transition: transform 0.3s ease;
      }
      .faq-question__arrow svg {
        width: 18px;
        height: 18px;
        stroke: var(--gold);
        fill: none;
        stroke-width: 2;
        stroke-linecap: round;
      }
      .faq-item.open .faq-question__arrow {
        transform: rotate(180deg);
      }

      .faq-answer {
        display: none;
        padding: 0 24px 20px 70px;
      }
      .faq-answer__a {
        flex: 0 0 28px;
        height: 28px;
        border-radius: 50%;
        background: var(--blue);
        color: var(--white);
        font-size: 14px;
        font-weight: 800;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin-right: 14px;
        flex-shrink: 0;
      }
      .faq-answer__text {
        font-size: 14px;
        color: var(--muted);
        line-height: 1.9;
      }
/* =========================================
         レスポンシブ
      ========================================= */
      @media screen and (max-width: 1024px) {
        .warranty-grid { grid-template-columns: repeat(2, 1fr); }
        .timeline::before { display: none; }
        .timeline-item,
        .timeline-item:nth-child(even) {
          flex-direction: column;
          transform: translateX(0) translateY(20px);
          gap: 20px;
        }
        .timeline-node { flex-direction: row; padding-top: 0; width: auto; }
        .timeline-item:nth-child(odd) .timeline-content::after,
        .timeline-item:nth-child(odd) .timeline-content::before,
        .timeline-item:nth-child(even) .timeline-content::after,
        .timeline-item:nth-child(even) .timeline-content::before { display: none; }
        .inspection-layout { grid-template-columns: 1fr; gap: 40px; }
        .support-grid { grid-template-columns: repeat(2, 1fr); }
        .after-cta__box { grid-template-columns: 1fr; padding: 48px 40px; }
        .after-cta__actions { align-items: flex-start; }
      }
      @media screen and (max-width: 767px) {
        :root { --section-pad: 60px; }
        .warranty-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
        .warranty-highlights { padding: 50px 20px; }
        .warranty-timeline { padding: 60px 20px; }
        .support-grid { grid-template-columns: 1fr; }
        .inspection-section { padding: 60px 20px; }
        .support-section { padding: 60px 20px; }
        .faq-section { padding: 60px 20px; }
        .after-cta { padding: 60px 20px; }
        .after-intro { padding: 50px 20px 40px; }
        .after-cta__box { padding: 40px 24px; }
        .warranty-card { padding: 24px 16px; }
        #sub_title.after-hero .frm { padding: 0 20px; }
        #pan div { padding: 0 20px; }
        .timeline-content { padding: 22px 20px; }
        .faq-answer { padding: 0 20px 16px 20px; }
        .warranty-card:nth-child(1),
  .warranty-card:nth-child(2),
  .warranty-card:nth-child(3),
  .warranty-card:nth-child(4),
  .warranty-card:nth-child(5) {
    grid-column: auto;
  }
      }
/*標準仕様追加デザインCSS*/
.spec-feature{
padding:0px 0;
margin-top: 60px;
}

.spec-feature .inner{
width:min(98%,1200px);
margin:auto;
}

.section-title{
text-align:center;
margin-bottom:70px;
}

.section-title span{
display:block;
color:#9c714f;
font-family:serif;
font-size:1.3rem;
margin-bottom:10px;
}

.section-title h2{
font-size:clamp(2rem,5vw,4rem);
letter-spacing:.15em;
margin-bottom:15px;
}

.section-title p{
color:#8d6b4f;
font-size:2.6rem;
}

.spec-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(200px,1fr));
    gap:24px;
}

.spec-card{
  background:#fff;
  border:1px solid #e4d8ca;
  border-radius:20px;
  padding:18px 18px;
  text-align:center;
  position:relative;
}


.spec-num{
color:#9c714f;
font-size:3.0rem;
font-family:serif;
margin-bottom:15px;
}

.spec-card figure{
margin-bottom:25px;
}

.spec-card figure img{
width:100%;
max-width:99px;
margin:auto;
display:block;
}

.spec-card h3{
font-size:1.6rem;
margin-bottom:15px;
color:#3f2e1f;
line-height:1.6;
}

.spec-card p{
font-size:1.4rem;
line-height:1.6;
color:#1a1919;
text-align: justify;
}

/* Tablet */
/* Tablet */
@media (max-width:1200px){

  .spec-grid{
    grid-template-columns:repeat(3,1fr);
  }

}

/* Smartphone */
@media (max-width:768px){

.spec-feature{
padding:0px 0;
}

.spec-grid{
    grid-template-columns:repeat(2,1fr);
    gap:15px;
  }

  .spec-card{
    padding:20px 15px;
  }

  .spec-num{
    font-size:1.8rem;
  }

  .spec-card h3{
    font-size:1.6rem;
    line-height:1.5;
  }

  .spec-card p{
    font-size:1.3rem;
    line-height:1.8;
  }

  .spec-card figure img{
    max-width:120px;
  }
.section-title p{
color:#8d6b4f;
font-size:1.6rem;
}


}
/*標準仕様のページ内リンクボタン用CSS*/
.specNav{

    position:sticky;
    top:80px;
    z-index:999;
    background:#fff;
    padding:35px;
    border:1px solid #ddd;
    border-radius:20px;
    margin-bottom:70px;

}

.specNav-group{

    margin-bottom:30px;

}

.specNav-group h3{

    font-size:2.6rem;
    letter-spacing:.2em;
    color:#33425f;

}

.specNav-group span{

    display:block;
    font-size:2.0rem;
    margin:8px 0 18px;

}

.specNav-links{

    display:flex;
    flex-wrap:wrap;
    gap:12px;

}

.specNav-links a{

    border:1px solid #c8b49b;
    color:#6a5139;
    text-decoration:none;
    padding:12px 22px;
    border-radius:40px;
    transition:.3s;
    font-size: 1.4rem;

}

.specNav-links a:hover{

    background:#6a5139;
    color:#fff;

}
.specNav-title{
    display:flex;
    align-items:baseline;
    gap:15px;

    margin-bottom:18px;

    font-size:2rem;
    font-weight:700;
    color:#3d2d22;
}

.specNav-title span{
    color:#b29267;
    font-size:1.1rem;
    font-weight:500;
    letter-spacing:.25em;
    text-transform:uppercase;
    white-space:nowrap;
}
/* SP */

.specNav-sp{

    display:none;

}

@media(max-width:768px){

.specNav{

    padding:0;
    top:65px;

}

.specNav-pc{

    display:none;

}

.specNav-sp{

    display:block;

}

.specNav-btn{
    width:calc(100% - 20px);
    margin:10px;
    padding:16px 20px;
    border:none;
    border-radius:50px;
    background:#8f755b;
    color:#fff;
    font-size:15px;
    font-weight:700;
    cursor:pointer;

    display:flex;
    align-items:center;
    justify-content:space-between;

    box-shadow:0 8px 20px rgba(0,0,0,.12);
}

.specNav-btn::after{

    content:"";
    width:10px;
    height:10px;

    border-right:2px solid #fff;
    border-bottom:2px solid #fff;

    transform:rotate(45deg);
    transition:.3s;

}

.specNav-menu{

    display:none;
    background:#fff;

}

.specNav-menu.active{

    display:block;

}

.specNav-menu details{

    border-bottom:1px solid #eee;

}

.specNav-menu summary{

    padding:18px;
    cursor:pointer;
    font-weight:bold;
    font-size: 1.4rem;

}

.specNav-menu a{

    display:block;
    padding:14px 30px;
    color:#444;
    text-decoration:none;
    font-size: 1.4rem;

}
.anchor{

    position:relative;
    top:-200px;

}
}
.specNav a.active{
    background:#6a5139;
    color:#fff;
    border-color:#6a5139;
}
.as-service__num {
        width: 54px;
        height: 54px;
        margin: 0 auto 0px;
        border-radius: 50%;
        background: #b08d57;
        color: #fff;
        font-size: 2.6rem;
        font-weight: 700;
        display: flex;
        align-items: center;
        justify-content: center;
      }
/*資料請求*/
/* =====================================================
   TOKENS
===================================================== */
:root {
  --ink:       #1a1a1a;
  --muted:     #5f6f7a;
  --gold:      #c8a96e;
  --gold-lt:   #f5ede0;
  --gold-dark: #b8955a;
  --blue:      #2563a8;
  --bg:        #f8f7f4;
  --white:     #ffffff;
  --line:      #e2ddd6;
  --max-w:     1080px;
  --ease:      cubic-bezier(.4,0,.2,1);
}

.specMore{
    position: relative;
    display: flex;
    align-items: center;
    gap: 24px;
    max-width: 740px;
    margin: 60px auto 0;
    padding: 32px 36px;
    background: var(--white);
    border: 1px solid var(--line);
    border-radius: 18px;
    box-shadow: 0 12px 32px rgba(26, 26, 26, 0.06);
    overflow: hidden;
}

.specMore::before{
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--gold), var(--gold-dark));
}

.specMore__icon{
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--gold-lt);
    color: var(--gold-dark);
}

.specMore__icon svg{
    width: 39px;
    height: 39px;
}

.specMore__body{
    flex: 1 1 auto;
    text-align: left;
}

.specMore__eyebrow{
    margin: 0 0 4px;
    font-family: "Roboto", sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.18em;
    color: var(--gold-dark);
    text-transform: uppercase;
}

.specMore__text{
    margin: 0;
    font-size: 15px;
    line-height: 1.8;
    color: var(--muted);
}

.specMore__btn{
    position: relative;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 28px;
    border-radius: 999px;
    background: linear-gradient(120deg, var(--gold), var(--gold-dark));
    color: var(--ink);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    transition: transform .3s var(--ease), box-shadow .3s var(--ease);
    box-shadow: 0 8px 20px rgba(184, 149, 90, 0.3);
}

.specMore__btn::before{
    content: "";
    position: absolute;
    top: 0;
    left: -75%;
    width: 50%;
    height: 100%;
    background: rgba(255,255,255,0.35);
    transform: skewX(-20deg);
    transition: left .5s var(--ease);
}

.specMore__btn:focus-visible{
    outline: 2px solid var(--blue);
    outline-offset: 3px;
}

.specMore__arrow{
    width: 16px;
    height: 16px;
    transition: transform .3s var(--ease);
}

.specMore__btn:hover{
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(184, 149, 90, 0.4);
}

.specMore__btn:hover::before{
    left: 130%;
}

.specMore__btn:hover .specMore__arrow{
    transform: translateX(4px);
}

@media screen and (max-width: 768px){
    .specMore{
        flex-direction: column;
        text-align: center;
        padding: 28px 24px;
    }
    .specMore__body{
        text-align: center;
    }
    .specMore__btn{
        width: 100%;
        justify-content: center;
    }
}
