
   @media screen and (max-width: 768px) {
.sp_none {
   display: none!important;
}
.pc_none {
   display: block;
}
   }

.pc_none {
   display: none;
}


/********************************************************/
/* header */
/********************************************************/
.header {
   position: fixed;
   top: 0;
   left: 0;
   z-index: 500;
   width: 100%;
   background-color: var(--base-color);
   padding: 0.7rem 2rem;

   @media screen and (max-width: 768px) {
      padding: 1rem 2rem;
   }
}

.header__contents {
   width: 100%;
}

.header__logo {
   max-width: 125px;

   @media screen and (max-width: 768px) {
      max-width: 115px;
      width: 35%;
      margin-inline: auto;
   }

   & a:hover {
      opacity: .5;
      transition: opacity .7s;
   }
}


.header__contents {
   display: flex;
   width: 100%;
   justify-content: space-between;
   align-items: center;
}

.cv-btn__link {
   font-family: "Barlow Condensed",
      sans-serif;
   font-size: clamp(0.875rem, 0.7386rem + 0.6818vw, 1.25rem);
   letter-spacing: 1px;
   padding: .2rem 1.5rem;
   background-color: var(--accent-color);
   color: var(--base-color);
   font-weight: 500;

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

   &:visited {
      color: var(--base-color);
   }

   &:hover {
      background-color: #ffb170;
      transition: all .7s;
   }
}

.header__menu {
   margin-left: auto;
   margin-right: 1.5rem;
   display: flex;
   gap: 1.5rem;
   font-family: "Barlow Condensed",
      sans-serif;
   font-size: clamp(0.625rem, 0.4659rem + 0.7955vw, 1.0625rem);
   letter-spacing: 1px;
   font-weight: 500;

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

.header__list {}

.header__link {
   &:hover {
      color: var(--accent-color);
   }
}



/***********************************/
/***** メインヴィジュアル **********/
/***********************************/
.mv {
   margin-top: 69px;
   width: 100%;
   position: relative;

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

.mv__logo {
   position: absolute;
   bottom: 5%;
   left: 5%;
   width: 12%;
   max-width: 122.5px;
   z-index: 10;

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

.swiper {
   position: relative;
   width: 100%;
}

.mv__inner {
   position: relative;
   width: 100%;
   margin-inline: auto;
}

.swiper-slide {
   & img {
      height: auto;
      width: 100%;
   }
}


@keyframes zoomUp {
   0% {
      transform: scale(1);
   }

   100% {
      transform: scale(1.15);
   }
}

.swiper-slide-active .swiper-img,
.swiper-slide-duplicate-active .swiper-img,
.swiper-slide-prev .swiper-img {
   animation: zoomUp 7s linear 0s normal both;
}

.swiper-slide img {
   height: auto;
   width: 100%;
}

/********************************************************/
/* common__title */
/********************************************************/
.contact {
   padding-bottom: var(--padding);

   @media screen and (max-width: 768px) {
      padding-bottom: 4rem;
   }
}

.common__title {
   margin-top: 6rem;
   width: 100%;
   text-align: center;

   @media screen and (max-width: 768px) {
      margin-top: var(--sp-padding);
   }
}

.contact__common__title {
   margin-top: var(--padding);
   width: 100%;
   text-align: center;

   @media screen and (max-width: 768px) {
      margin-top: var(--sp-padding);
   }
}

.common__title__top {
   display: inline-block;
   background: linear-gradient(transparent 40%, var(--accent-color) 10%);
   font-family: "Barlow Condensed",
      sans-serif;
   font-weight: var(--normal);
   letter-spacing: 2.5px;
   padding-bottom: 1rem;
   padding-left: .5rem;
   padding-right: .5rem;
   font-size: clamp(3.25rem, 3.1136rem + 0.6818vw, 3.625rem);

   @media screen and (max-width: 768px) {
      padding-left: 1.5rem;
      padding-right: 1.5rem;
   }
}

.common__title__bottom {
   margin-top: 1rem;
   display: block;
   font-size: clamp(1.625rem, 1.5341rem + 0.4545vw, 1.875rem);
   font-weight: var(--regular);
   letter-spacing: 1px;

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

.common__headline {
   width: 100%;
   letter-spacing: 1px;
   font-size: clamp(1.25rem, 1.1136rem + 0.6818vw, 1.625rem);
   text-align: center;
}

.common__headline__text {
   display: block;
   width: 25%;
   margin-inline: auto;
   padding: .5rem;
   border-bottom: 5px solid var(--accent-color);
   font-weight: var(--regular);

   @media screen and (max-width: 768px) {
      width: 100%;
      border-bottom: 7px solid var(--accent-color);
   }
}


/********************************************************/
/* company */
/********************************************************/
.company__table {
   margin-top: var(--margin);
   width: 100%;
   max-width: 675px;
   margin-inline: auto;

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

.company__table__contents {
   display: flex;
   gap: 5rem;
   text-align: left;
   padding: 1rem;
   border-bottom: 1px solid #ccc;

   @media screen and (max-width: 768px) {
      flex-direction: column;
      gap: 0;
      padding: 1rem 0;
   }

   &:first-of-type {
      border-top: 1px solid #ccc;

      @media screen and (max-width: 768px) {
         border-top: none;
      }
   }
}

.company__table__header {
   width: 25%;
   color: #808080;
   font-weight: 300;

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

.company__table__data {
   width: 70%;
   font-weight: 300;

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

/********************************************************/
/* cta-btn */
/********************************************************/
.cta-btn__section {
   margin-top: 12rem;
   width: 100%;
   padding-bottom: var(--padding);

   @media screen and (max-width: 768px) {
      margin-top: 2rem;
      padding-bottom: 4rem;
   }
}

.company-btn__section {
   margin-top: 2rem;
   padding-bottom: var(--padding);

   @media screen and (max-width: 768px) {
      margin-top: 1rem;
      padding-bottom: 4rem;
   }
}

.cta-btn__contents {
   width: 100%;
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 1rem;

   @media screen and (max-width: 768px) {
      grid-template-columns: 1fr;
   }
}

.cta-btn--left {
   width: 100%;
}

.cta-btn--left__link {
   width: 100%;
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 1rem;
   color: #770e0e;
   background-color: #ffad3a;
   padding: 1rem;
   height: 5rem;
   position: relative;

   @media screen and (max-width: 1024px) {
      padding: 1rem 1rem 1rem 3rem;
   }

   @media screen and (max-width: 768px) {
      gap: 0;
      flex-direction: column;
   }

   &:visited {
      color: #770e0e;
   }

   &:hover {
      background-color: #ffd496;
   }
}

.cta-btn--left__link::before {
   content: url(../images/tel.svg);
   position: absolute;
   top: 54%;
   left: 50px;
   transform: translateY(-50%);
   width: 17%;
   max-width: 35px;
}

@media screen and (max-width: 1024px) {
   .cta-btn--left__link::before {
      left: 10px;
      width: 8%;
   }
}

@media screen and (max-width: 768px) {
   .cta-btn--left__link::before {
      position: absolute;
      top: 54%;
      left: 2.5rem;
      transform: translateY(-50%);
      width: 17%;
   }
}

.cta-btn--left__link__text {
   font-size: clamp(0.875rem, 0.8295rem + 0.2273vw, 1rem);
   line-height: 1.5;
   font-weight: 300;

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

.cta-btn--left__link__number {
   font-family: "Barlow Condensed",
      sans-serif;
   font-size: clamp(2rem, 1.9091rem + 0.4545vw, 2.25rem);
   font-weight: var(--normal);
   letter-spacing: 1px;
   white-space: nowrap;

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

.cta-btn--right {
   width: 100%;

   @media screen and (max-width: 768px) {
      order: -1;
   }
}

.cta-btn--right__link {
   background-color: var(--accent-color);
   width: 100%;
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 1rem;
   color: #fff;
   padding: 1rem;
   height: 5rem;
   position: relative;

   @media screen and (max-width: 768px) {
      flex-direction: column;
      gap: 0;
   }

   &:visited {
      color: #fff;
   }

   &:hover {
      background-color: #ffa962;
   }
}

.cta-btn--right__link::after {
   content: url(../images/arrow.svg);
   width: 7%;
   height: auto;
   max-width: 35px;
   position: absolute;
   top: 55%;
   right: 2rem;
   transform: translateY(-50%);
}

@media screen and (max-width: 1024px) {
   .cta-btn--right__link::after {
      width: 5%;
      right: .7rem;
      top: 50%;
   }
}

@media screen and (max-width: 768px) {
   .cta-btn--right__link::after {
      position: absolute;
      top: 50%;
      right: 1rem;
      transform: translateY(-50%);
      width: 15%;
   }
}




.cta-btn--right__link__en-text {
   font-size: clamp(2rem, 1.9091rem + 0.4545vw, 2.25rem);
   font-family: "Barlow Condensed",
      sans-serif;
   font-weight: var(--normal);
   letter-spacing: 1px;

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

.cta-btn--right__link__ja-text {
   font-size: clamp(0.875rem, 0.8295rem + 0.2273vw, 1rem);

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





/********************************************************/
/* footer */
/********************************************************/
.footer {
   position: relative;
   width: 100%;
   padding: 3rem 2rem;

   @media screen and (max-width: 768px) {
      padding: 2rem 2rem;
   }
}

.footer__inner {
   width: 100%;
   text-align: center;
   display: flex;
}

.footer__contents {
   margin-inline: auto;
   gap: 2%;
   width: 100%;
   max-width: 240px;
   align-items: center;
   justify-content: space-between;

   @media screen and (max-width: 768px) {
      justify-content: center;
      flex-direction: column;
   }
}

.footer__logo {
   width: 100%;
   max-width: 90px;

   @media screen and (max-width: 768px) {
      margin-inline: auto;
   }
}

.footer__copyright {
   display: inline-block;
   font-size: 12px;

   @media screen and (max-width: 768px) {
      margin-top: .5rem;
      width: 100%;
      margin-inline: auto;
      text-align: center;
      margin-bottom: 6px;
   }
}

.p_mark {
   width: 50px;
   position: absolute;
    right: 76px;
    bottom: 48px;
}

.p_mark2 {
width: 66px;
    position: absolute;
    left: 19px;
    bottom: 40px;
}

.footer__copyright1 {
   text-align: center;
    font-size: 16px;
}
.footer__copyright {
   font-size: 16px;
   margin-bottom: 30px;
}

.footer_ppbox {
   text-align: center;
}


.rl_foot {
   display: ruby;
  
}

.contact {

   max-width: 600px;
   margin-inline: auto;
}

.contact__container {
   width: 100%;
}

.contact__contents {
   margin-top: 1rem;
   width: 100%;
}

.wpcf7-form-control {
   width: 100%;
}

.wpcf7-text {
   border: solid 1px #e6e6e6;
}

.wpcf7-textarea {
   border: solid 1px #e6e6e6;
}

.contact__header {
   color: #808080;
   font-size: clamp(1rem, 0.9545rem + 0.2273vw, 1.125rem);
}

.required {
   color: var(--accent-color);
   margin-left: .5rem;
}

.contact__data {
   margin-top: .3rem;
}

.contact__privacy {
   margin-top: 2rem;
   font-size: 14px;
   border: solid 1px #e6e6e6;
   padding: .5rem;
   height: 280px;
   overflow: scroll;
}

.contact__privacy__text {
   margin-top: 1rem;

   &:first-child {
      margin-top: 0;
   }
}

.contact__checkbox__text {
   font-size: 14px;
}

.contact__btn__submit {
   margin-top: 2rem;
   text-align: center;
}

/*デフォルトのスタイルを無効化する*/
input[type="submit"] {
   appearance: none;
   -webkit-appearance: none;
   -moz-appearance: none;
}

span.wpcf7-spinner {
   display: none;
}

input[type="submit"] {
   appearance: none;
   -webkit-appearance: none;
   -moz-appearance: none;
   font-size: 20px;
   font-weight: bold;
   max-width: 300px;
   width: 100%;
   padding: 10px;
   background-color: var(--accent-color);
   border: none;
   color: #fff;
   cursor: pointer;
   letter-spacing: 5px;
}

span.wpcf7-spinner {
   display: none;
}



.checkbox input {
   display: none;
}


.checkbox input+span {
   padding-left: 30px;
   display: inline-block;
   position: relative;
}

.checkbox input+span::after,
.checkbox input+span::before {
   content: "";
   display: block;
   position: absolute;
   top: 0;
}

.checkbox input+span::before {
   border: 1px solid #aaaaaa;
   background-color: #ffffff;
   height: 20px;
   width: 20px;
   left: 0;
   top: 50%;
   transform: translateY(-50%);
}

.checkbox input+span::after {
   border: none;
   background-color: var(--accent-color);
   height: 12px;
   width: 12px;
   left: 4px;
   top: 50%;
   transform: translateY(-50%);
   display: none;
}

.checkbox input:checked+span::after {
   display: block;
}

.wpcf7-list-item-label {
   font-size: 14px;
}

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

.footer_pp {
	text-align: center;
}



/********************************************************/
/* common__title */
/********************************************************/
.contact__common__title {
   margin-top: var(--padding);
   width: 100%;
   text-align: center;
   position: relative;

   @media screen and (max-width: 768px) {
      margin-top: var(--sp-padding);
   }
}

.contact__common__title__bottom {
   margin-top: 1rem;
   display: block;
   font-size: clamp(1.625rem, 1.5341rem + 0.4545vw, 1.875rem);
   font-weight: var(--regular);
   letter-spacing: 1px;

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



/********************************************************/
/* renewal */
/********************************************************/
.renewal {
   padding-top: var(--padding);

   @media screen and (max-width: 768px) {
      padding-top: var(--sp-padding);
   }
}

.renewal__contents {
   max-width: 675px;
   margin-inline: auto;
   width: 100%;
   padding: 1rem;
   border: solid 4px var(--accent-color);
   text-align: center;
}

.renewal__text {
   font-size: clamp(1rem, 0.8636rem + 0.6818vw, 1.375rem);
}

.renewal__logo {
   margin-top: 1rem;
   max-width: 110px;
   margin-inline: auto;
   width: 20%;

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


/********************************************************/
/* concept */
/********************************************************/
.concept__inner {
   max-width: 820px;
   margin-inline: auto;
   width: 100%;
}

.concept__contents {
   width: 100%;
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 4rem;
   font-size: clamp(1rem, 0.9773rem + 0.1136vw, 1.0625rem);

   @media screen and (max-width: 768px) {
      grid-template-columns: 1fr;
      width: 65%;
      gap: 1.5rem;
   }
}

.concept__img {
   max-width: 420px;
   width: 100%;
}

.concept__text {
   padding-left: 2rem;
}

.concept__contents:nth-of-type(2) {
   margin-top: var(--padding);
   margin-left: auto;
   padding-right: 1rem;

   & .concept__text {
      order: -1;
      margin-left: auto;
   }

   & .concept__img {
      max-width: 340px;
      width: 100%;
   }

   @media screen and (max-width: 768px) {
      & .concept__text {
         order: 1;
         margin-left: 0;
         padding-left: 0;
      }
   }
}



/********************************************************/
/* service */
/********************************************************/
.service__container {
   width: 100%;
   display: grid;
   grid-template-columns: 1fr 1fr 1fr;
   max-width: 1200px;
   width: 100%;
   margin-inline: auto;

   @media screen and (max-width: 768px) {
      grid-template-columns: 1fr;
   }
}

.service__contents {
   padding: 2.5rem;

   @media screen and (max-width: 768px) {
      padding: 2rem;
   }
}

.service__contents:nth-of-type(1) {
   background-color: #ff8e20;
}

.service__contents:nth-of-type(2) {
   background-color: #ffad3a;
}

.service__contents:nth-of-type(3) {
   background-color: #ffcc63;
}

.service__headline {
   font-size: clamp(1.8125rem, 1.767rem + 0.2273vw, 1.9375rem);
   text-align: center;
   font-weight: 400;
   letter-spacing: 1.5px;
}

.service__text {
   max-width: 245px;
   margin-inline: auto;
   font-weight: 400;
   letter-spacing: .1px;
   margin-top: 1.5rem;
   text-align: justify;
   font-size: clamp(1rem, 0.9545rem + 0.2273vw, 1.125rem);

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


/********************************************************/
/* client */
/********************************************************/
.client__container {
   padding: 4rem;
   background-color: #e6e6e6;
   border-radius: 45px;

   @media screen and (max-width: 768px) {
      border-radius: 25px;
      padding: 1.5rem;
   }
}

.client__message {
   text-align: center;
   font-size: clamp(1rem, 0.9773rem + 0.1136vw, 1.0625rem);

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

   &:nth-of-type(2) {
      margin-top: 2rem;
   }
}

.client__contents {
   position: relative;
   margin-top: 3.5rem;
   max-width: 700px;
   margin-inline: auto;
   display: grid;
   grid-template-columns: 15% 1fr;
   gap: 3rem;
   align-items: center;

   @media screen and (max-width: 768px) {
      grid-template-columns: 1fr;
      margin-top: 2.5rem;
   }
}

.client__contents:before {
   content: "";
   position: absolute;
   bottom: -34px;
   left: 50%;
   transform: translateX(-50%);
   width: 20px;
   height: 15px;
   background-color: #b3b3b3;
   clip-path: polygon(100% 0, 0 0, 50% 100%);
}

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

.client__contents:nth-of-type(6):before {
   display: none;
}

.common__cta-btn {
   margin-top: 2rem;
}

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

.cliient__sp-img,
.staff__sp-img {
   display: none;

   @media screen and (max-width: 768px) {
      display: inline-block;
      margin-right: 1.5rem;
      vertical-align: middle;
      width: 30%;
      max-width: 180px;
   }
}

.client__headline__text,
.staff__headline__text {
   @media screen and (max-width: 768px) {
      display: inline-block;
      vertical-align: middle;
   }
}

.client__text-box {}

.client__headline {
   font-size: clamp(1.25rem, 1.1364rem + 0.5682vw, 1.5625rem);
   color: var(--accent-color);
   font-weight: 500;
}

.client__text {
   margin-top: .5rem;
}



/********************************************************/
/* staff */
/********************************************************/
.staff {
   width: 100%;
   overflow: hidden;
    padding-bottom: var(--padding);
   @media screen and (max-width: 768px) {

   }
}

.staff__container {
   padding: 4rem;
   background-color: #ffe0c6;
   border-radius: 45px;
padding-top: 2rem;

   @media screen and (max-width: 768px) {
      border-radius: 25px;
      padding: 1.5rem;
   }
}

.staff__title {
   text-align: center;
}

.staff__title__text {
   display: inline-block;
   border: solid 2px var(--accent-color);
   font-size: clamp(1.5rem, 1.4318rem + 0.3409vw, 1.6875rem);
   padding: .5rem 1.5rem;
   font-weight: 500;
}

.staff__message {
   margin-top: 1rem;
   text-align: center;
   font-size: clamp(1rem, 0.9773rem + 0.1136vw, 1.0625rem);

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

}

.staff__contents {
   position: relative;
   margin-top: 3.5rem;
   max-width: 700px;
   margin-inline: auto;
   display: grid;
   grid-template-columns: 15% 1fr;
   gap: 3rem;
   align-items: center;

   @media screen and (max-width: 768px) {
      grid-template-columns: 1fr;
      margin-top: 2.5rem;
   }
}

.staff__contents:before {
   content: "";
   position: absolute;
   bottom: -37px;
   left: 50%;
   transform: translateX(-50%);
   width: 20px;
   height: 15px;
   background-color: #ffb075;
   clip-path: polygon(100% 0, 0 0, 50% 100%);
}

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


.staff__contents:nth-of-type(6):before {
   display: none;
}

.staff__contents--last:before {
   display: none;
}

.staff__img {}

.staff__text-box {}

.staff__headline {
   font-size: clamp(1.25rem, 1.1364rem + 0.5682vw, 1.5625rem);
   color: var(--accent-color);
   font-weight: 500;
}

.asterisk {
   font-size: 15px;
   vertical-align: super;
   margin-left: 2px;

   @media screen and (max-width: 768px) {
      font-size: 12px;
   }
}

.staff__text {
   margin-top: .5rem;
}

/********************************************************/
/* news */
/********************************************************/
.news__container {
   max-width: 675px;
   margin-inline: auto;
}

.news__contents {
   padding-top: 1rem;
   padding-bottom: 1rem;
   border-top: solid 1px #ccc;

   &:last-of-type {
      border-bottom: solid 1px #ccc;
   }
}

.news__item {}

.news__item__link {
   transition: color .5s;

   &:hover .news__title {
      color: var(--accent-color);
   }
}

.news__date {
   font-size: 12px;
   color: var(--accent-color);
   letter-spacing: .5px;
}

.news__title {
   letter-spacing: .5px;
   font-size: 15px;
   transition: color .5s;
}



.news__btn {
   margin-top: 3rem;
   text-align: center;
}

.news__btn__link {
   display: inline-block;
   color: var(--accent-color);
   background-color: #ffe0c6;
   padding: .5rem 2.5rem;
   border-radius: 28px;
   font-weight: 500;
   transition: background-color .5s;

   &:visited {
      color: var(--accent-color);
   }

   &:hover {
      background-color: #ffb170;
   }
}



/********************************************************/
/* lower__common__title */
/********************************************************/
.lower__common__title {

   @media screen and (max-width: 768px) {
      padding-top: 2rem;
   }
}

.lower__section {
   margin-top: 5rem;
   width: 100%;

   @media screen and (max-width: 768px) {
      margin-top: 2rem;
   }

}

.lower__contents {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 1rem;
   white-space: nowrap;

   @media screen and (max-width: 768px) {
      grid-template-columns: 1fr;
   }
}


.lower__left__link {
   width: 100%;
   display: grid;
   grid-template-columns: 38% 1fr;
   background-color: #fff;
   position: relative;
   border: solid 1px #b3b3b3;
   align-items: center;

   @media screen and (max-width: 768px) {}

   &:hover {
      background-color: #f2f2f2;
   }
}

.lower__left__link__left--text {
   font-family: "Barlow Condensed",
      sans-serif;
   font-size: clamp(1.3125rem, 1.0625rem + 1.25vw, 2rem);
   font-weight: 400;
   background: linear-gradient(180deg, transparent 0%, transparent 50%, var(--accent-color) 50%, var(--accent-color) 100%);
   padding: .5rem 1rem;
   letter-spacing: 1px;
   text-align: center;

   @media screen and (max-width: 768px) {
      padding: 1.2rem 1rem;
   }
}

.lower__left__link__right--text {
   font-size: clamp(1rem, 0.9318rem + 0.3409vw, 1.1875rem);
   padding: .5rem 1rem;

   @media screen and (max-width: 768px) {
      padding: 1.2rem 1rem;
   }
}


.lower__right__link {
   width: 100%;
   display: grid;
   grid-template-columns: 38% 1fr;
   background-color: #fff;
   position: relative;
   border: solid 1px #b3b3b3;
   align-items: center;

   @media screen and (max-width: 768px) {}

   &:hover {
      background-color: #f2f2f2;
   }
}

.lower__right__link__left--text {
   font-family: "Barlow Condensed",
      sans-serif;
   font-size: clamp(1.3125rem, 1.0625rem + 1.25vw, 2rem);
   font-weight: 400;
   background: linear-gradient(180deg, transparent 0%, transparent 50%, var(--accent-color) 50%, var(--accent-color) 100%);
   padding: .5rem 1rem;
   letter-spacing: 1px;
   text-align: center;

   @media screen and (max-width: 768px) {
      padding: 1.2rem 1rem;
   }
}

.lower__right__link__right--text {
   font-size: clamp(1rem, 0.9318rem + 0.3409vw, 1.1875rem);
   padding: .5rem 1rem;

   @media screen and (max-width: 768px) {
      padding: 1.2rem 1rem;
   }
}


.single {
   margin-top: 5rem;

   @media screen and (max-width: 768px) {
      margin-top: 2rem;
   }
}

.single__common__title__text {
   font-size: 32px;
   display: inline-block;
   background: linear-gradient(transparent 50%, var(--accent-color) 10%);
   font-family: "Barlow Condensed",
      sans-serif;
   font-weight: var(--normal);
   letter-spacing: 2.5px;
   padding: 0.5rem 0.8rem;

   @media screen and (max-width: 768px) {
      padding: 0.5rem 0.8rem;
   }
}

.category__date {
   margin-top: 4rem;
   font-size: 12px;
   font-weight: 400;
   color: var(--accent-color);

   @media screen and (max-width: 768px) {
      margin-top: 2rem;
   }
}

.single__title {
   margin-top: .5rem;
   font-size: clamp(1rem, 0.8182rem + 0.9091vw, 1.5rem);
}

.single__article {
   margin-top: 1rem;
   font-size: 15px;
}






/********************************************************/
/* 見出しアニメーション */
/********************************************************/
/*== ボタン共通設定 */
.common__title__text {
   position: relative;
   text-decoration: none;
   display: inline-block;
   text-align: center;
   outline: none;
   transition: ease .2s;
   padding-left: 15px;
   padding-right: 10px;
   padding-bottom: 3px;
}

/*== ボタン共通設定 */
.contact__common__title__taxt {
   /*アニメーションの起点とするためrelativeを指定*/
   position: relative;
   /*ボタンの形状*/
   text-decoration: none;
   display: inline-block;
   /* ボーダーの色と太さ */
   text-align: center;
   outline: none;
   /*アニメーションの指定*/
   transition: ease .2s;
   color: var(--accent-color);
}


/*== 背景が流れる（左から右） */
.border-left:before {
   content: '';
   /*絶対配置で位置を指定*/
   position: absolute;
   bottom: 0;
   left: 0;
   z-index: 2;
   /*色や形状*/
   background: var(--accent-color);
   /*背景色*/
   width: 100%;
   height: 34px;
   /*アニメーション*/
   transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
   transform: scale(0, 1);
   transform-origin: right top;
}

/*hoverした際の形状*/
.border-left.is-inview:before {
   transform-origin: left top;
   transform: scale(1, 1);
}

/*== 背景が流れる（左から右） */
.contact__border-left:before {
   content: '';
   /*絶対配置で位置を指定*/
   position: absolute;
   bottom: 0;
   left: 0;
   z-index: 2;
   /*色や形状*/
   background: #e6e6e6;
   /*背景色*/
   width: 100%;
   height: 34px;
   /*アニメーション*/
   transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
   transform: scale(0, 1);
   transform-origin: right top;
}

/*hoverした際の形状*/
.contact__border-left.is-inview:before {
   transform-origin: left top;
   transform: scale(1, 1);
}


.text-left {
   opacity: 0;
   font-family: "Barlow Condensed", sans-serif;
   font-size: clamp(3.25rem, 3.1136rem + 0.6818vw, 3.625rem);
   padding-bottom: 20px;
   padding-left: 20px;
   padding-right: 15px;
   font-weight: var(--normal);
   letter-spacing: 2.5px;
}



.text-left.is-inview {
   opacity: 1;
   width: 0;
   margin: 0;
   white-space: nowrap;
   animation: flowing-anim 1s forwards linear;
   position: relative;
   z-index: 100;
   transition: opacity 1s;
   transition-delay: .5s;
}

@keyframes flowing-anim {
   0% {
      width: 0%;
   }

   100% {
      width: 100%;
   }
}

.contact__contents--cv {
   display: none;
}