@charset "UTF-8";
html {
  font-family: "M PLUS Rounded 1c", sans-serif;
  line-height: 1.75;
  color: #777;
  scroll-behavior: smooth;
  height: 100%;
}

body {
  height: 100%;
}

/*header
--------------------------------------------*/
.header {
  padding-top: 2.5641025641vw;
  width: 100%;
  position: fixed;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .header {
    padding-top: 1.6071428571vw;
  }
}
@media screen and (min-width: 1120px) {
  .header {
    padding-top: 1.125rem;
  }
}
.header__container {
  margin: 0 auto;
  padding: 0 8.2051282051vw;
  width: 91.7948717949vw;
  height: auto;
  background-color: rgba(7, 190, 184, 0.7);
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
  border-radius: 5.7692307692vw;
  position: relative;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .header__container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 5.3571428571vw;
    width: 96.4285714286vw;
  }
}
@media screen and (min-width: 1120px) {
  .header__container {
    padding: 0 3.75rem;
    width: 67.5rem;
  }
}
.header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 11.5384615385vw;
}
@media screen and (min-width: 768px) {
  .header__inner {
    height: 6.25vw;
  }
}
@media screen and (min-width: 1120px) {
  .header__inner {
    height: 4.375rem;
  }
}
.header__name {
  display: block;
  width: 20.5128205128vw;
  height: 8.2051282051vw;
}
@media screen and (min-width: 768px) {
  .header__name {
    width: 8.9285714286vw;
    height: 3.5714285714vw;
  }
}
@media screen and (min-width: 1120px) {
  .header__name {
    width: 6.25rem;
    height: 2.5rem;
  }
}
.header__logo {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
.header__hamburger {
  width: 6.4102564103vw;
  height: 5.3846153846vw;
  background-image: url(../image/hamburger.svg);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 10;
  cursor: pointer;
  opacity: 1;
}
@media screen and (min-width: 768px) {
  .header__hamburger {
    display: none;
  }
}
.header__nav {
  display: none;
  margin-top: 2.0512820513vw;
  text-align: center;
  font-size: 4.1025641026vw;
  font-weight: bold;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .header__nav {
    display: block;
    margin-top: 0;
    font-size: 1.7857142857vw;
  }
}
@media screen and (min-width: 1120px) {
  .header__nav {
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .header__list {
    display: flex;
    justify-content: right;
  }
}
.header__nav-item {
  padding-bottom: 6.4102564103vw;
}
@media screen and (min-width: 768px) {
  .header__nav-item {
    padding-bottom: 0;
    margin-left: 5.3571428571vw;
  }
}
@media screen and (min-width: 1120px) {
  .header__nav-item {
    margin-left: 3.75rem;
  }
}
.header__nav-item:last-child {
  padding-bottom: 7.6923076923vw;
}
@media screen and (min-width: 768px) {
  .header__nav-item:last-child {
    padding-bottom: 0;
  }
}
.header__nav-link {
  display: block;
  opacity: 1;
}

/*main-visual
---------------------------------------------------*/
.main-visual {
  width: 100%;
}
.main-visual__img {
  width: 100%;
  height: 76.9230769231vw;
  background-image: url(../image/main_visual.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .main-visual__img {
    height: 49.1071428571vw;
  }
}
@media screen and (min-width: 1120px) {
  .main-visual__img {
    height: 34.375rem;
  }
}

/*skill
---------------------------------------------------*/
.skill {
  padding: 15.3846153846vw 0 7.6923076923vw;
}
@media screen and (min-width: 768px) {
  .skill {
    padding: 13.3928571429vw 0 4.4642857143vw;
  }
}
@media screen and (min-width: 1120px) {
  .skill {
    padding: 9.375rem 0 3.125rem;
  }
}
.skill__container {
  margin: 0 auto;
  width: 91.7948717949vw;
}
@media screen and (min-width: 768px) {
  .skill__container {
    width: 75vw;
  }
}
@media screen and (min-width: 1120px) {
  .skill__container {
    width: 52.5rem;
  }
}
.skill__title, .about__title, .news__title, .works__title {
  font-size: 10.2564102564vw;
  font-weight: 800;
  color: #555;
  text-align: center;
  position: relative;
  display: block;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .skill__title, .about__title, .news__title, .works__title {
    font-size: 5.3571428571vw;
  }
}
@media screen and (min-width: 1120px) {
  .skill__title, .about__title, .news__title, .works__title {
    font-size: 3.75rem;
  }
}
.skill__title::before, .about__title::before, .news__title::before, .works__title::before {
  content: "";
  width: 8.2051282051vw;
  height: 8.2051282051vw;
  background-color: #f1d84c;
  border-radius: 50%;
  position: absolute;
  top: 1.5384615385vw;
  left: 35%;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .skill__title::before, .about__title::before, .news__title::before, .works__title::before {
    width: 3.5714285714vw;
    height: 3.5714285714vw;
    top: 1.0714285714vw;
    left: 41%;
  }
}
@media screen and (min-width: 1120px) {
  .skill__title::before, .about__title::before, .news__title::before, .works__title::before {
    width: 2.5rem;
    height: 2.5rem;
    top: 0.75rem;
  }
}
.skill__list {
  margin-top: 7.6923076923vw;
}
@media screen and (min-width: 768px) {
  .skill__list {
    margin-top: 5.3571428571vw;
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 1120px) {
  .skill__list {
    margin-top: 3.75rem;
  }
}
.skill__item {
  margin: 7.6923076923vw auto 0;
  padding: 10.2564102564vw 6.9230769231vw 12.8205128205vw;
  width: 65.1282051282vw;
  position: relative;
}
@media screen and (min-width: 768px) {
  .skill__item {
    margin: 0;
    padding: 4.1964285714vw 1.7857142857vw 5.0892857143vw;
    width: 22.6785714286vw;
  }
}
@media screen and (min-width: 1120px) {
  .skill__item {
    padding: 2.9375rem 1.25rem 3.5625rem;
    width: 15.875rem;
  }
}
.skill__item::before {
  content: "";
  display: block;
  width: 61.5384615385vw;
  height: calc(100% - 3.8461538462vw);
  box-sizing: content-box;
  border: solid 1.0256410256vw #9ceaef;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (min-width: 768px) {
  .skill__item::before {
    width: 21.4285714286vw;
    height: calc(100% - 1.3392857143vw);
    border-width: 0.3571428571vw;
  }
}
@media screen and (min-width: 1120px) {
  .skill__item::before {
    width: 15rem;
    height: calc(100% - 0.9375rem);
    border-width: 0.25rem;
  }
}
.skill__item::after {
  content: "";
  display: block;
  width: 61.5384615385vw;
  height: calc(100% - 3.8461538462vw);
  background-color: #e8fbf9;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .skill__item::after {
    width: 21.4285714286vw;
    height: calc(100% - 1.3392857143vw);
  }
}
@media screen and (min-width: 1120px) {
  .skill__item::after {
    width: 15rem;
    height: calc(100% - 0.9375rem);
  }
}
.skill__name {
  text-align: center;
  font-size: 5.1282051282vw;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .skill__name {
    font-size: 1.7857142857vw;
  }
}
@media screen and (min-width: 1120px) {
  .skill__name {
    font-size: 1.25rem;
  }
}
.skill__text {
  margin-top: 5.1282051282vw;
  font-size: 4.1025641026vw;
}
@media screen and (min-width: 768px) {
  .skill__text {
    margin-top: 2.8571428571vw;
    font-size: 1.4285714286vw;
  }
}
@media screen and (min-width: 1120px) {
  .skill__text {
    margin-top: 1.25rem;
    font-size: 1rem;
  }
}

/*works
----------------------------------------*/
.works {
  padding: 5.1282051282vw 0 25.641025641vw;
  background-color: #e8fbf9;
}
@media screen and (min-width: 768px) {
  .works {
    padding: 8.9285714286vw 0 17.8571428571vw;
  }
}
@media screen and (min-width: 1120px) {
  .works {
    padding: 6.25rem 0 12.5rem;
  }
}
.works__container {
  margin: 0 auto;
  width: 91.7948717949vw;
}
@media screen and (min-width: 768px) {
  .works__container {
    width: 85.7142857143vw;
  }
}
@media screen and (min-width: 1120px) {
  .works__container {
    width: 60rem;
  }
}
.works__title {
  z-index: 1;
}
.works__title::before {
  left: 30%;
}
@media screen and (min-width: 768px) {
  .works__title::before {
    left: 39%;
  }
}
.works__link {
  width: 100%;
  height: 100%;
  font-size: 6.1538461538vw;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .works__link {
    font-size: 1.7857142857vw;
  }
}
@media screen and (min-width: 1120px) {
  .works__link {
    font-size: 1.25rem;
  }
}
.works__img-box {
  width: 100%;
  height: 51.2820512821vw;
}
@media screen and (min-width: 768px) {
  .works__img-box {
    height: 17.8571428571vw;
  }
}
@media screen and (min-width: 1120px) {
  .works__img-box {
    height: 12.5rem;
  }
}
.works__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.works__more, .news-detail__more, .news__more {
  margin: 7.6923076923vw auto 0;
  width: 20.5128205128vw;
  height: 8.2051282051vw;
  display: flex;
  font-size: 4.1025641026vw;
  justify-content: center;
  align-items: center;
  background-color: #68d8d6;
  color: #fff;
  border-radius: 4.1025641026vw;
}
@media screen and (min-width: 768px) {
  .works__more, .news-detail__more, .news__more {
    margin-top: 4.4642857143vw;
    width: 10.7142857143vw;
    height: 4.2857142857vw;
    font-size: 1.7857142857vw;
    border-radius: 2.1428571429vw;
  }
}
@media screen and (min-width: 1120px) {
  .works__more, .news-detail__more, .news__more {
    margin-top: 3.125rem;
    width: 7.5rem;
    height: 3rem;
    font-size: 1.25rem;
    border-radius: 1.5rem;
  }
}
.works__more:hover, .news-detail__more:hover, .news__more:hover {
  opacity: 0.8;
}

.swiper {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 768px) {
  .swiper {
    margin-top: 2.6785714286vw;
  }
}
@media screen and (min-width: 1120px) {
  .swiper {
    margin-top: 1.875rem;
  }
}

.swiper-pagination {
  position: static;
}
@media screen and (min-width: 768px) {
  .swiper-pagination {
    margin-top: 0.8928571429vw;
  }
}
@media screen and (min-width: 1120px) {
  .swiper-pagination {
    margin-top: 0.625rem;
  }
}

.swiper-pagination-bullet {
  width: 0.5rem;
  height: 0.5rem;
  background-color: #00afbf;
}
@media screen and (min-width: 768px) {
  .swiper-pagination-bullet {
    width: 0.9rem;
    height: 0.9rem;
  }
}

/*news
------------------------------------------------*/
.news {
  padding: 12.8205128205vw 0 25.641025641vw;
}
@media screen and (min-width: 768px) {
  .news {
    padding: 4.4642857143vw 0 8.9285714286vw;
  }
}
@media screen and (min-width: 1120px) {
  .news {
    padding: 3.125rem 0 6.25rem;
  }
}
.news__container {
  margin: 0 auto;
  width: 91.7948717949vw;
}
@media screen and (min-width: 768px) {
  .news__container {
    width: 71.4285714286vw;
  }
}
@media screen and (min-width: 1120px) {
  .news__container {
    width: 50rem;
  }
}
.news__title::before {
  left: 32%;
}
@media screen and (min-width: 768px) {
  .news__title::before {
    left: 38.5%;
  }
}
.news__list {
  margin-top: 5.1282051282vw;
}
@media screen and (min-width: 768px) {
  .news__list {
    margin-top: 2.6785714286vw;
  }
}
@media screen and (min-width: 1120px) {
  .news__list {
    margin-top: 1.875rem;
  }
}
.news__item {
  padding: 2.5641025641vw;
  border-bottom: solid 1px #ddd;
}
.news__item:first-of-type {
  border-top: solid 1px #ddd;
}
@media screen and (min-width: 768px) {
  .news__item {
    padding: 1.7857142857vw;
  }
}
@media screen and (min-width: 1120px) {
  .news__item {
    padding: 1.25rem;
  }
}
.news__link {
  display: block;
}
.news__date {
  display: inline-block;
  font-size: 2.5641025641vw;
}
@media screen and (min-width: 768px) {
  .news__date {
    font-size: 1.0714285714vw;
  }
}
@media screen and (min-width: 1120px) {
  .news__date {
    font-size: 0.75rem;
  }
}
.news__info {
  display: flex;
  align-items: center;
}
.news__tag-list {
  display: flex;
  flex-wrap: wrap;
  margin-left: 2.5641025641vw;
  font-size: 3.0769230769vw;
}
@media screen and (min-width: 768px) {
  .news__tag-list {
    margin-left: 1.3392857143vw;
    font-size: 1.25vw;
  }
}
@media screen and (min-width: 1120px) {
  .news__tag-list {
    margin-left: 0.9375rem;
    font-size: 0.875rem;
  }
}
.news__category {
  display: inline-block;
  margin-left: 2.5641025641vw;
  padding: 0 1.2820512821vw;
  font-size: 3.0769230769vw;
  background-color: #ddd;
  border-radius: 1.2820512821vw;
}
@media screen and (min-width: 768px) {
  .news__category {
    margin-left: 1.3392857143vw;
    padding: 0 0.4464285714vw;
    font-size: 1.25vw;
    border-radius: 0.4464285714vw;
  }
}
@media screen and (min-width: 1120px) {
  .news__category {
    margin-left: 0.9375rem;
    padding: 0 0.3125rem;
    font-size: 0.875rem;
    border-radius: 0.3125rem;
  }
}
.news__category--important {
  background-color: #68d8d6;
  color: #fff;
}
.news__headline {
  margin-top: 1.0256410256vw;
  font-size: 4.1025641026vw;
}
@media screen and (min-width: 768px) {
  .news__headline {
    margin-top: 0.3571428571vw;
    font-size: 1.7857142857vw;
  }
}
@media screen and (min-width: 1120px) {
  .news__headline {
    margin-top: 0.25rem;
    font-size: 1.25rem;
  }
}
/*about
------------------------------------------------*/
.about {
  background-color: #68d8d6;
  padding: 28.7179487179vw 0 6.1538461538vw;
}
@media screen and (min-width: 768px) {
  .about {
    padding: 16.0714285714vw 0 17.8571428571vw;
  }
}
@media screen and (min-width: 1120px) {
  .about {
    padding: 11.25rem 0 12.5rem;
  }
}
.about__container {
  margin: 0 auto;
  width: 91.7948717949vw;
}
@media screen and (min-width: 768px) {
  .about__container {
    gap: 1.7857142857vw;
    width: 85.7142857143vw;
  }
}
@media screen and (min-width: 1120px) {
  .about__container {
    gap: 1.25rem;
    width: 60rem;
  }
}
.about__flex {
  margin-top: 5.1282051282vw;
}
@media screen and (min-width: 768px) {
  .about__flex {
    display: flex;
    justify-content: space-between;
    gap: 1.7857142857vw;
    margin-top: 1.7857142857vw;
  }
}
@media screen and (min-width: 1120px) {
  .about__flex {
    gap: 1.25rem;
    margin-top: 1.25rem;
  }
}
.about__title {
  z-index: 10;
}
.about__title::before {
  left: 21%;
}
@media screen and (min-width: 768px) {
  .about__title::before {
    left: 34%;
  }
}
.about__img {
  display: block;
  margin: 0 auto;
  width: 47.4358974359vw;
  height: 47.4358974359vw;
  border-radius: 50%;
}
@media screen and (min-width: 768px) {
  .about__img {
    margin: 0;
    width: 23.2142857143vw;
    height: 23.2142857143vw;
  }
}
@media screen and (min-width: 1120px) {
  .about__img {
    width: 16.25rem;
    height: 16.25rem;
  }
}
@media screen and (min-width: 768px) {
  .about__content {
    width: 100%;
  }
}
.about__name-box {
  margin-top: 3.3333333333vw;
  padding: 3.0769230769vw 5.8974358974vw;
  background-color: #fff;
  border-bottom: solid 1.0256410256vw #07beb8;
}
@media screen and (min-width: 768px) {
  .about__name-box {
    margin-top: 0;
    padding: 1.4285714286vw 2.8571428571vw;
    border-bottom-width: 0.3571428571vw;
  }
}
@media screen and (min-width: 1120px) {
  .about__name-box {
    padding: 1rem 2rem;
    border-bottom-width: 0.25rem;
  }
}
.about__name-kana {
  font-size: 4.1025641026vw;
  font-weight: bold;
  color: #07beb8;
}
@media screen and (min-width: 768px) {
  .about__name-kana {
    font-size: 1.7857142857vw;
  }
}
@media screen and (min-width: 1120px) {
  .about__name-kana {
    font-size: 1.25rem;
  }
}
.about__name {
  margin-top: 3.0769230769vw;
  font-size: 9.2307692308vw;
  font-weight: bold;
  color: #68d8d6;
}
@media screen and (min-width: 768px) {
  .about__name {
    margin-top: 0;
    font-size: 4.6428571429vw;
    line-height: 1.5;
  }
}
@media screen and (min-width: 1120px) {
  .about__name {
    font-size: 3.25rem;
  }
}
.about__text-box {
  margin-top: 4.1025641026vw;
  font-size: 4.1025641026vw;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .about__text-box {
    margin-top: 3.5714285714vw;
    font-size: 1.7857142857vw;
  }
}
@media screen and (min-width: 1120px) {
  .about__text-box {
    margin-top: 2.5rem;
    font-size: 1.25rem;
  }
}

/*contact
--------------------------------------------*/
.contact {
  position: relative;
  width: 100%;
  height: 128.2051282051vw;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .contact {
    height: 44.1071428571vw;
  }
}
@media screen and (min-width: 1120px) {
  .contact {
    height: 30.875rem;
  }
}
.contact::before {
  content: "";
  width: 100%;
  height: 100%;
  background-image: url(../image/contact_sp.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.5;
}
@media screen and (min-width: 768px) {
  .contact::before {
    background-image: url(../image/contact_pc.jpg);
  }
}
.contact__link {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 51.2820512821vw;
  height: 10.2564102564vw;
  font-size: 6.1538461538vw;
  font-weight: bold;
  border: solid 1px #555;
  border-radius: 5.1282051282vw;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .contact__link {
    width: 22.3214285714vw;
    height: 4.4642857143vw;
    font-size: 2.6785714286vw;
    border-radius: 2.2321428571vw;
  }
}
@media screen and (min-width: 1120px) {
  .contact__link {
    width: 15.625rem;
    height: 3.125rem;
    font-size: 1.875rem;
    border-radius: 1.5625rem;
  }
}
.contact__link:hover {
  opacity: 0.8;
}

/*footer
--------------------------------------*/
.footer {
  width: 100%;
  padding: 5.1282051282vw;
  background-color: #68d8d6;
  position: sticky;
  top: 100vh;
}
@media screen and (min-width: 768px) {
  .footer {
    padding: 1.7857142857vw;
  }
}
@media screen and (min-width: 1120px) {
  .footer {
    padding: 1.25rem;
  }
}
.footer__text {
  font-size: 3.0769230769vw;
  color: #fff;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .footer__text {
    font-size: 1.0714285714vw;
  }
}
@media screen and (min-width: 1120px) {
  .footer__text {
    font-size: 0.75rem;
  }
}

/*----------------------------------------------------
contactページ
----------------------------------------------------*/
/*contact-section
----------------------------------------------------*/
.contact-section {
  padding: 38.4615384615vw 0 25.641025641vw;
}
@media screen and (min-width: 768px) {
  .contact-section {
    padding: 17.8571428571vw 0 13.3928571429vw;
  }
}
@media screen and (min-width: 1120px) {
  .contact-section {
    padding: 12.5rem 0 9.375rem;
  }
}
.contact-section__container {
  margin: 0 auto;
  width: 91.7948717949vw;
}
@media screen and (min-width: 768px) {
  .contact-section__container {
    width: 85.7142857143vw;
  }
}
@media screen and (min-width: 1120px) {
  .contact-section__container {
    width: 60rem;
  }
}
.contact-section__title {
  text-align: center;
  font-size: 10.2564102564vw;
  font-weight: 800;
}
@media screen and (min-width: 768px) {
  .contact-section__title {
    font-size: 5.3571428571vw;
  }
}
@media screen and (min-width: 1120px) {
  .contact-section__title {
    font-size: 3.75rem;
  }
}
.contact-section__box {
  margin-top: 5.1282051282vw;
  padding: 0 5.1282051282vw;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .contact-section__box {
    margin-top: 2.6785714286vw;
    padding: 0 2.6785714286vw;
  }
}
@media screen and (min-width: 1120px) {
  .contact-section__box {
    margin-top: 1.875rem;
    padding: 0 1.875rem;
  }
}
.contact-section__form {
  display: flex;
  flex-direction: column;
  gap: 5.1282051282vw;
}
@media screen and (min-width: 768px) {
  .contact-section__form {
    gap: 1.7857142857vw;
  }
}
@media screen and (min-width: 1120px) {
  .contact-section__form {
    gap: 1.25rem;
  }
}
.contact-section__item {
  display: flex;
  flex-direction: column;
}
.contact-section__label {
  display: flex;
  align-items: center;
  font-size: 3.5897435897vw;
  margin-bottom: 0.7692307692vw;
  padding-left: 0.7692307692vw;
  margin-top: 5.1282051282vw;
}
@media screen and (min-width: 768px) {
  .contact-section__label {
    font-size: 1.7857142857vw;
    margin-bottom: 0.4464285714vw;
    margin-top: 2.6785714286vw;
    padding-left: 0.4464285714vw;
  }
}
@media screen and (min-width: 1120px) {
  .contact-section__label {
    font-size: 1.25rem;
    margin-top: 1.875rem;
    margin-bottom: 0.3125rem;
    padding-left: 0.3125rem;
  }
}
.contact-section__tag {
  margin-left: 1.2820512821vw;
  display: flex;
  width: 7.6923076923vw;
  height: 3.8461538462vw;
  font-size: 2.5641025641vw;
  color: #fff;
  justify-content: center;
  align-items: center;
  background-color: #bbb;
  border-radius: 1.0256410256vw;
}
@media screen and (min-width: 768px) {
  .contact-section__tag {
    margin-left: 0.4464285714vw;
    width: 3.5714285714vw;
    height: 1.7857142857vw;
    font-size: 1.25vw;
    border-radius: 0.3571428571vw;
  }
}
@media screen and (min-width: 1120px) {
  .contact-section__tag {
    margin-left: 0.3125rem;
    width: 2.5rem;
    height: 1.25rem;
    font-size: 0.875rem;
    border-radius: 0.25rem;
  }
}
.contact-section__tag--required {
  background-color: #68d8d6;
}
.contact-section__text, .contact-section__email {
  padding: 1.2820512821vw 2.0512820513vw;
  font-size: 3.5897435897vw;
  width: 100%;
  border: solid 1px #ddd;
  border-radius: 1.2820512821vw;
}
@media screen and (min-width: 768px) {
  .contact-section__text, .contact-section__email {
    padding: 0.4464285714vw 0.7142857143vw;
    font-size: 1.7857142857vw;
    border-radius: 0.4464285714vw;
  }
}
@media screen and (min-width: 1120px) {
  .contact-section__text, .contact-section__email {
    padding: 0.3125rem 0.5rem;
    font-size: 1.25rem;
    border-radius: 0.3125rem;
  }
}
.contact-section__text::-moz-placeholder, .contact-section__email::-moz-placeholder {
  font-size: 3.5897435897vw;
  color: #999;
}
.contact-section__text::placeholder, .contact-section__email::placeholder {
  font-size: 3.5897435897vw;
  color: #999;
}
@media screen and (min-width: 768px) {
  .contact-section__text::-moz-placeholder, .contact-section__email::-moz-placeholder {
    font-size: 1.7857142857vw;
  }
  .contact-section__text::placeholder, .contact-section__email::placeholder {
    font-size: 1.7857142857vw;
  }
}
@media screen and (min-width: 1120px) {
  .contact-section__text::-moz-placeholder, .contact-section__email::-moz-placeholder {
    font-size: 1.25rem;
  }
  .contact-section__text::placeholder, .contact-section__email::placeholder {
    font-size: 1.25rem;
  }
}
.contact-section__checkbox-name {
  display: flex;
  flex-direction: column;
  margin-left: 3.8461538462vw;
}
.contact-section__checkbox-name label {
  margin-bottom: 0.7692307692vw;
  display: flex;
  align-items: center;
  font-size: 3.0769230769vw;
  gap: 1.2820512821vw;
}
@media screen and (min-width: 768px) {
  .contact-section__checkbox-name label {
    font-size: 1.4285714286vw;
    margin-bottom: 0.4464285714vw;
    gap: 0.7142857143vw;
  }
}
@media screen and (min-width: 1120px) {
  .contact-section__checkbox-name label {
    font-size: 1rem;
    margin-bottom: 0.3125rem;
    gap: 0.5rem;
  }
}
.contact-section__message {
  padding: 1.2820512821vw 2.0512820513vw;
  width: 100%;
  height: 38.4615384615vw;
  resize: vertical;
  font-size: 3.5897435897vw;
  border: solid 1px #ddd;
  border-radius: 1.2820512821vw;
}
@media screen and (min-width: 768px) {
  .contact-section__message {
    padding: 0.4464285714vw 0.7142857143vw;
    height: 22.3214285714vw;
    font-size: 1.7857142857vw;
    border-radius: 0.4464285714vw;
  }
}
@media screen and (min-width: 1120px) {
  .contact-section__message {
    padding: 0.3125rem 0.5rem;
    height: 15.625rem;
    font-size: 1.25rem;
    border-radius: 0.3125rem;
  }
}
.contact-section__button {
  margin: 7.6923076923vw auto 0;
  padding: 0.5128205128vw 4.6153846154vw;
  font-size: 4.1025641026vw;
  background-color: #68d8d6;
  color: #fff;
  border-radius: 4.1025641026vw;
}
@media screen and (min-width: 768px) {
  .contact-section__button {
    margin-top: 4.4642857143vw;
    padding: 0.1785714286vw 1.6071428571vw;
    font-size: 1.7857142857vw;
    border-radius: 2.1428571429vw;
  }
}
@media screen and (min-width: 1120px) {
  .contact-section__button {
    margin-top: 3.125rem;
    padding: 0.125rem 1.125rem;
    font-size: 1.25rem;
    border-radius: 1.5rem;
  }
}
.contact-section__button:hover {
  opacity: 0.8;
}

body:not(.page-id-48) .grecaptcha-badge {
  visibility: hidden;
}

/*--------------------------------------------------------
works一覧
---------------------------------------------------------*/
.works-table {
  padding: 25.641025641vw 0 25.641025641vw;
}
@media screen and (min-width: 768px) {
  .works-table {
    padding: 13.3928571429vw 0 13.3928571429vw;
  }
}
@media screen and (min-width: 1120px) {
  .works-table {
    padding: 9.375rem 0 9.375rem;
  }
}
.works-table__container {
  margin: 0 auto;
  width: 91.7948717949vw;
}
@media screen and (min-width: 768px) {
  .works-table__container {
    width: 85.7142857143vw;
  }
}
@media screen and (min-width: 1120px) {
  .works-table__container {
    width: 60rem;
  }
}
.works-table__title {
  text-align: center;
  font-size: 10.2564102564vw;
  font-weight: 800;
}
@media screen and (min-width: 768px) {
  .works-table__title {
    font-size: 5.3571428571vw;
  }
}
@media screen and (min-width: 1120px) {
  .works-table__title {
    font-size: 3.75rem;
  }
}
.works-table__list {
  margin-top: 5.1282051282vw;
  padding: 0 10vw;
}
@media screen and (min-width: 768px) {
  .works-table__list {
    margin-top: 2.6785714286vw;
    padding: 0 4.0178571429vw;
  }
}
@media screen and (min-width: 1120px) {
  .works-table__list {
    margin-top: 2.5rem;
    padding: 0 2.8125rem;
  }
}
.works-table__list-item {
  margin-top: 3.8461538462vw;
}
@media screen and (min-width: 768px) {
  .works-table__list-item {
    margin-top: 1.7857142857vw;
  }
}
@media screen and (min-width: 1120px) {
  .works-table__list-item {
    margin-top: 1.25rem;
  }
}
.works-table__list-link {
  display: block;
}
.works-table__list-link:hover {
  opacity: 0.8;
}
.works-table__background {
  display: block;
  width: 100%;
  height: 41.0256410256vw;
}
@media screen and (min-width: 768px) {
  .works-table__background {
    height: 49.1071428571vw;
  }
}
@media screen and (min-width: 1120px) {
  .works-table__background {
    height: 34.375rem;
  }
}
.works-table__background-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.works-table__text {
  margin-top: 0.7692307692vw;
  font-size: 3.0769230769vw;
}
@media screen and (min-width: 768px) {
  .works-table__text {
    margin-top: 0.4464285714vw;
    font-size: 2.6785714286vw;
  }
}
@media screen and (min-width: 1120px) {
  .works-table__text {
    margin-top: 0.3125rem;
    font-size: 1.875rem;
  }
}
.works-table__text::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f061";
  margin-right: 3.8461538462vw;
  font-size: 3.0769230769vw;
}
@media screen and (min-width: 768px) {
  .works-table__text::before {
    margin-right: 1.3392857143vw;
    font-size: 1.7857142857vw;
  }
}
@media screen and (min-width: 1120px) {
  .works-table__text::before {
    margin-right: 0.9375rem;
    font-size: 1.25rem;
  }
}

.pagination ul {
  display: flex;
  justify-content: center;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 20px 0;
}

.pagination li {
  padding: 6px 10px;
  border: 1px solid #ccc;
}

.pagination .current {
  font-weight: bold;
  background: #eee;
}

.pagination .disabled {
  opacity: 0.5;
  pointer-events: none;
  cursor: default;
}

/*-----------------------------------------------------
works詳細
------------------------------------------------------*/
.works-detail {
  padding: 25.641025641vw 0 25.641025641vw;
}
@media screen and (min-width: 768px) {
  .works-detail {
    padding: 13.3928571429vw 0 13.3928571429vw;
  }
}
@media screen and (min-width: 1120px) {
  .works-detail {
    padding: 9.375rem 0 9.375rem;
  }
}
.works-detail__container {
  margin: 0 auto;
  width: 91.7948717949vw;
}
@media screen and (min-width: 768px) {
  .works-detail__container {
    width: 85.7142857143vw;
  }
}
@media screen and (min-width: 1120px) {
  .works-detail__container {
    width: 60rem;
  }
}
.works-detail__title {
  text-align: center;
  font-size: 10.2564102564vw;
  font-weight: 800;
}
@media screen and (min-width: 768px) {
  .works-detail__title {
    font-size: 3.5714285714vw;
  }
}
@media screen and (min-width: 1120px) {
  .works-detail__title {
    font-size: 2.5rem;
  }
}
.works-detail__box {
  padding: 0 10vw;
  margin-top: 5.1282051282vw;
}
@media screen and (min-width: 768px) {
  .works-detail__box {
    padding: 0;
    margin-top: 2.6785714286vw;
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 1120px) {
  .works-detail__box {
    padding: 0;
    margin-top: 1.875rem;
  }
}
.works-detail__img-link {
  display: flex;
  align-items: center;
  font-size: 3.8461538462vw;
}
@media screen and (min-width: 768px) {
  .works-detail__img-link {
    font-size: 1.6071428571vw;
  }
}
@media screen and (min-width: 1120px) {
  .works-detail__img-link {
    font-size: 1.125rem;
  }
}
.works-detail__img-link::before {
  content: "";
  display: inline-block;
  width: 3.8461538462vw;
  height: 3.8461538462vw;
  background-image: url(../image/link.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  margin-right: 2.5641025641vw;
}
@media screen and (min-width: 768px) {
  .works-detail__img-link::before {
    width: 1.6071428571vw;
    height: 1.6071428571vw;
    margin-right: 0.8928571429vw;
  }
}
@media screen and (min-width: 1120px) {
  .works-detail__img-link::before {
    width: 1.125rem;
    height: 1.125rem;
    margin-right: 0.625rem;
  }
}
.works-detail__img-box {
  width: 100%;
  height: 100%;
}
.works-detail__img {
  width: 100%;
  height: 51.2820512821vw;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  background-image: repeating-linear-gradient(343deg, hsla(0, 0%, 72.94%, 0.9760586932) 11%, hsla(215.29, 84.4%, 72.35%, 0.050046893) 44%), repeating-conic-gradient(from 97deg at 24% 36%, hsla(169.28, 66.51%, 42.16%, 0.71) 60%, hsla(0, 0%, 36.86%, 0.8667541893) 87%), repeating-linear-gradient(52deg, hsla(244.29, 7.37%, 37.25%, 0.6337646833) 29%, hsla(172.5, 28.57%, 5.49%, 0.851245781) 45%), repeating-radial-gradient(circle at 43% 38%, hsla(183.48, 85.19%, 84.12%, 0.5703305616) 1%, hsla(280.91, 81.48%, 89.41%, 0.4843467205) 2%), repeating-linear-gradient(295deg, #fefadb 14%, #09090b 98%);
}
@media screen and (min-width: 768px) {
  .works-detail__img {
    width: 35.7142857143vw;
    height: 26.7857142857vw;
  }
}
@media screen and (min-width: 1120px) {
  .works-detail__img {
    width: 25rem;
    height: 18.75rem;
  }
}
@media screen and (min-width: 768px) {
  .works-detail__content {
    margin-left: 4.4642857143vw;
  }
}
@media screen and (min-width: 1120px) {
  .works-detail__content {
    margin-left: 3.125rem;
  }
}
.works-detail__header {
  margin-top: 5.1282051282vw;
  padding-bottom: 1.2820512821vw;
  font-size: 5.1282051282vw;
  border-bottom: solid 1px #ddd;
}
@media screen and (min-width: 768px) {
  .works-detail__header {
    margin-top: 0;
    padding-bottom: 1.2820512821vw;
    font-size: 3.5714285714vw;
  }
}
@media screen and (min-width: 1120px) {
  .works-detail__header {
    padding-bottom: 0.3125rem;
    font-size: 2.5rem;
  }
}
.works-detail__id {
  font-size: 2.5641025641vw;
  margin-top: 1.2820512821vw;
}
@media screen and (min-width: 768px) {
  .works-detail__id {
    font-size: 1.25vw;
    margin-top: 1.3392857143vw;
  }
}
@media screen and (min-width: 1120px) {
  .works-detail__id {
    font-size: 0.875rem;
    margin-top: 0.9375rem;
  }
}
.works-detail__id--link {
  color: #00afbf;
  text-decoration: underline;
  text-decoration-color: #00afbf;
}
.works-detail__text {
  margin-top: 2.5641025641vw;
  font-size: 3.5897435897vw;
}
@media screen and (min-width: 768px) {
  .works-detail__text {
    margin-top: 1.3392857143vw;
    font-size: 1.6071428571vw;
  }
}
@media screen and (min-width: 1120px) {
  .works-detail__text {
    margin-top: 0.9375rem;
    font-size: 1.125rem;
  }
}
.works-detail__text-link {
  color: #00afbf;
  text-decoration: underline;
}
.works-detail__post-link {
  margin-top: 5.1282051282vw;
  font-size: 3.0769230769vw;
  display: flex;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .works-detail__post-link {
    margin-top: 2.6785714286vw;
    font-size: 1.25vw;
  }
}
@media screen and (min-width: 1120px) {
  .works-detail__post-link {
    margin-top: 1.875rem;
    font-size: 0.875rem;
  }
}
.works-detail__post-link-prev {
  padding-left: 3.3333333333vw;
  position: relative;
}
@media screen and (min-width: 768px) {
  .works-detail__post-link-prev {
    padding-left: 1.1607142857vw;
  }
}
@media screen and (min-width: 1120px) {
  .works-detail__post-link-prev {
    padding-left: 0.8125rem;
  }
}
.works-detail__post-link-prev::before {
  content: "";
  display: block;
  width: 2.5641025641vw;
  height: 2.5641025641vw;
  background-image: url(/assets/image/prev.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}
@media screen and (min-width: 768px) {
  .works-detail__post-link-prev::before {
    width: 0.8928571429vw;
    height: 0.8928571429vw;
  }
}
@media screen and (min-width: 1120px) {
  .works-detail__post-link-prev::before {
    width: 0.625rem;
    height: 0.625rem;
  }
}
.works-detail__post-link-next {
  padding-right: 3.3333333333vw;
  position: relative;
}
@media screen and (min-width: 768px) {
  .works-detail__post-link-next {
    padding-right: 1.1607142857vw;
  }
}
@media screen and (min-width: 1120px) {
  .works-detail__post-link-next {
    padding-right: 0.8125rem;
  }
}
.works-detail__post-link-next::before {
  content: "";
  display: block;
  width: 2.5641025641vw;
  height: 2.5641025641vw;
  background-image: url(/assets/image/next.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
}
@media screen and (min-width: 768px) {
  .works-detail__post-link-next::before {
    width: 0.8928571429vw;
    height: 0.8928571429vw;
  }
}
@media screen and (min-width: 1120px) {
  .works-detail__post-link-next::before {
    width: 0.625rem;
    height: 0.625rem;
  }
}

/*----------------------------------------------------
news一覧
-----------------------------------------------------*/
.news-table {
  padding: 38.4615384615vw 0 38.4615384615vw;
}
@media screen and (min-width: 768px) {
  .news-table {
    padding: 22.3214285714vw 0 22.3214285714vw;
  }
}
@media screen and (min-width: 1120px) {
  .news-table {
    padding: 15.625rem 0 15.625rem;
  }
}
.news-table__container {
  margin: 0 auto;
  width: 91.7948717949vw;
}
@media screen and (min-width: 768px) {
  .news-table__container {
    width: 85.7142857143vw;
  }
}
@media screen and (min-width: 1120px) {
  .news-table__container {
    width: 60rem;
  }
}
.news-table__title {
  text-align: center;
  font-size: 10.2564102564vw;
  font-weight: 800;
}
@media screen and (min-width: 768px) {
  .news-table__title {
    font-size: 5.3571428571vw;
  }
}
@media screen and (min-width: 1120px) {
  .news-table__title {
    font-size: 3.75rem;
  }
}
.news-table__list {
  margin-top: 5.1282051282vw;
}
@media screen and (min-width: 768px) {
  .news-table__list {
    margin-top: 2.6785714286vw;
    padding: 0 7.1428571429vw;
  }
}
@media screen and (min-width: 1120px) {
  .news-table__list {
    margin-top: 1.875rem;
    padding: 0 5rem;
  }
}
.news-table__list-item {
  margin-top: 3.8461538462vw;
  padding: 2.5641025641vw;
  border-bottom: solid 1px #ddd;
}
.news-table__list-item:first-of-type {
  border-top: solid 1px #ddd;
}
@media screen and (min-width: 768px) {
  .news-table__list-item {
    margin-top: 1.7857142857vw;
    padding: 1.7857142857vw;
  }
}
@media screen and (min-width: 1120px) {
  .news-table__list-item {
    margin-top: 1.25rem;
    padding: 1.25rem;
  }
}
.news-table__list-link {
  display: block;
}
.news-table__list-link:hover {
  opacity: 0.8;
}
.news-table__info {
  display: flex;
  align-items: center;
}
.news-table__tag-list {
  display: flex;
  gap: 1.2820512821vw;
  margin-left: 2.5641025641vw;
}
@media screen and (min-width: 768px) {
  .news-table__tag-list {
    gap: 0.8928571429vw;
    margin-left: 1.3392857143vw;
  }
}
@media screen and (min-width: 1120px) {
  .news-table__tag-list {
    gap: 0.625rem;
    margin-left: 0.9375rem;
  }
}
.news-table__tag-item {
  padding: 0 1.5384615385vw;
  font-size: 2.5641025641vw;
  background-color: #ddd;
  border-radius: 1.2820512821vw;
}
@media screen and (min-width: 768px) {
  .news-table__tag-item {
    padding: 0 0.5357142857vw;
    font-size: 1.25vw;
    border-radius: 0.4464285714vw;
  }
}
@media screen and (min-width: 1120px) {
  .news-table__tag-item {
    padding: 0 0.375rem;
    font-size: 0.875rem;
    border-radius: 0.3125rem;
  }
}
.news-table__tag-item--important {
  background-color: #68d8d6;
  color: #fff;
}
.news-table__date {
  font-size: 3.0769230769vw;
}
@media screen and (min-width: 768px) {
  .news-table__date {
    font-size: 1.25vw;
  }
}
@media screen and (min-width: 1120px) {
  .news-table__date {
    font-size: 0.875rem;
  }
}
.news-table__text {
  font-size: 4.1025641026vw;
}
@media screen and (min-width: 768px) {
  .news-table__text {
    font-size: 2.1428571429vw;
  }
}
@media screen and (min-width: 1120px) {
  .news-table__text {
    font-size: 1.5rem;
  }
}

/*--------------------------------------------------------
news詳細
--------------------------------------------------------*/
.news-detail {
  padding: 38.4615384615vw 0 38.4615384615vw;
}
@media screen and (min-width: 768px) {
  .news-detail {
    padding: 22.3214285714vw 0 22.3214285714vw;
  }
}
@media screen and (min-width: 1120px) {
  .news-detail {
    padding: 15.625rem 0 15.625rem;
  }
}
.news-detail__container {
  margin: 0 auto;
  width: 91.7948717949vw;
}
@media screen and (min-width: 768px) {
  .news-detail__container {
    width: 85.7142857143vw;
  }
}
@media screen and (min-width: 1120px) {
  .news-detail__container {
    width: 60rem;
  }
}
.news-detail__title {
  text-align: center;
  font-size: 10.2564102564vw;
  font-weight: 800;
}
@media screen and (min-width: 768px) {
  .news-detail__title {
    font-size: 5.3571428571vw;
  }
}
@media screen and (min-width: 1120px) {
  .news-detail__title {
    font-size: 3.75rem;
  }
}
.news-detail__content {
  margin-top: 5.1282051282vw;
  padding-bottom: 2.5641025641vw;
  border-bottom: solid 1px #ddd;
}
@media screen and (min-width: 768px) {
  .news-detail__content {
    margin-top: 2.6785714286vw;
    padding-bottom: 1.3392857143vw;
  }
}
@media screen and (min-width: 1120px) {
  .news-detail__content {
    margin-top: 1.875rem;
    padding-bottom: 0.9375rem;
  }
}
.news-detail__info {
  display: flex;
  align-items: center;
}
.news-detail__tag-list {
  display: flex;
  gap: 1.2820512821vw;
  margin-left: 2.5641025641vw;
}
@media screen and (min-width: 768px) {
  .news-detail__tag-list {
    gap: 0.8928571429vw;
    margin-left: 1.3392857143vw;
  }
}
@media screen and (min-width: 1120px) {
  .news-detail__tag-list {
    gap: 0.625rem;
    margin-left: 0.9375rem;
  }
}
.news-detail__tag-item {
  padding: 0 1.5384615385vw;
  font-size: 3.0769230769vw;
  background-color: #ddd;
  border-radius: 1.2820512821vw;
}
@media screen and (min-width: 768px) {
  .news-detail__tag-item {
    padding: 0 0.5357142857vw;
    font-size: 1.4285714286vw;
    border-radius: 0.4464285714vw;
  }
}
@media screen and (min-width: 1120px) {
  .news-detail__tag-item {
    padding: 0 0.375rem;
    font-size: 1rem;
    border-radius: 0.3125rem;
  }
}
.news-detail__tag-item--important {
  background-color: #68d8d6;
  color: #fff;
}
.news-detail__date {
  font-size: 3.5897435897vw;
}
@media screen and (min-width: 768px) {
  .news-detail__date {
    font-size: 1.4285714286vw;
  }
}
@media screen and (min-width: 1120px) {
  .news-detail__date {
    font-size: 1rem;
  }
}
.news-detail__text {
  margin-top: 1.2820512821vw;
  font-size: 4.1025641026vw;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .news-detail__text {
    margin-top: 0.7142857143vw;
    font-size: 2.1428571429vw;
  }
}
@media screen and (min-width: 1120px) {
  .news-detail__text {
    margin-top: 0.5rem;
    font-size: 1.5rem;
  }
}
.news-detail__sentence {
  font-size: 3.5897435897vw;
  margin-top: 5.1282051282vw;
}
@media screen and (min-width: 768px) {
  .news-detail__sentence {
    font-size: 1.9642857143vw;
    margin-top: 2.2321428571vw;
  }
}
@media screen and (min-width: 1120px) {
  .news-detail__sentence {
    font-size: 1.375rem;
    margin-top: 1.5625rem;
  }
}
.news-detail__pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 20.5128205128vw;
  font-size: 4.1025641026vw;
}
@media screen and (min-width: 768px) {
  .news-detail__pagination {
    margin-top: 8.9285714286vw;
    font-size: 1.6071428571vw;
  }
}
@media screen and (min-width: 1120px) {
  .news-detail__pagination {
    margin-top: 6.25rem;
    font-size: 1.125rem;
  }
}
.news-detail__prev-post, .news-detail__next-post {
  color: #0073aa;
}
.news-detail__disabled {
  color: #ccc;
}
.news-detail__more {
  width: 25.641025641vw;
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  .news-detail__more {
    width: 13.3928571429vw;
  }
}
@media screen and (min-width: 1120px) {
  .news-detail__more {
    width: 9.375rem;
  }
}/*# sourceMappingURL=main.css.map */