@charset "UTF-8";
@media screen and (max-width: 767px) {
  .is-pc {
    display: none !important;
  }
  .is-tab {
    display: none !important;
  }
}
@media screen and (min-width: 962px) {
  .is-sp {
    display: none !important;
  }
  .is-tab {
    display: none !important;
  }
}
@media screen and (max-width: 961.5px) and (min-width: 768px) {
  .is-sp {
    display: none !important;
  }
}
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html,
body {
  padding: 0;
  margin: 0;
}

body {
  color: #1A1A1A;
  font-family: "source-han-sans-japanese", sans-serif;
  font-weight: 500;
  font-size: 15px;
  line-height: 1.8;
  background: #fff;
  overflow-x: hidden;
}
@media screen and (max-width: 767px) {
  body {
    font-size: 14px;
  }
}

img {
  width: 100%;
  height: auto;
  pointer-events: none;
}

ul,
ol {
  list-style: none;
  padding: 0;
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
}

a {
  color: inherit;
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

/*========================
common
========================*/
.inner {
  max-width: 962px;
  margin: 0 auto;
  padding: 0 30px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
@media screen and (max-width: 767px) {
  .inner {
    padding: 0 24px;
  }
}

.section {
  padding: 100px 0;
}
@media screen and (max-width: 767px) {
  .section {
    padding: 64px 0;
  }
}
.section.--color1 {
  background: #01B1AE;
}
.section.--color2 {
  background: #E9F7F7;
}

.page-content {
  padding: 80px 0 120px;
}
@media screen and (max-width: 767px) {
  .page-content {
    padding: 50px 0 80px;
  }
}

.page-fv {
  padding: 180px 0 20px;
  border-bottom: 2px solid #E9F7F7;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .page-fv {
    padding: 122px 0 16px;
  }
}
.page-fv .inner {
  position: relative;
}
.page-fv .en {
  font-size: 56px;
  font-weight: 900;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .page-fv .en {
    font-size: 40px;
  }
}
.page-fv .jp {
  font-size: 18px;
}
@media screen and (max-width: 767px) {
  .page-fv .jp {
    font-size: 14px;
  }
}
.page-fv .bg-text {
  font-size: 140px;
  font-weight: 900;
  color: #E9F7F7;
  position: absolute;
  line-height: 106px;
  bottom: -12px;
  left: 52vw;
  text-wrap: nowrap;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .page-fv .bg-text {
    font-size: 96px;
    left: 33vw;
    line-height: 73px;
  }
}

.page-heading {
  color: #01B1AE;
}
.page-heading .jp {
  line-height: 1;
  padding-left: 24px;
  position: relative;
}
.page-heading .jp::before {
  content: "";
  background: #01B1AE;
  width: 20px;
  height: 1px;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.page-heading .en {
  font-weight: bold;
  font-size: 32px;
  line-height: 1.7;
}

.sec-title {
  font-size: 56px;
  font-weight: 900;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .sec-title {
    font-size: 40px;
  }
}
.--color1 .sec-title {
  color: white;
}

.sec-title-small {
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .sec-title-small {
    font-size: 15px;
  }
}
.--color1 .sec-title-small {
  color: white;
}

.catchcopy {
  font-size: 32px;
  font-weight: bold;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .catchcopy {
    font-size: 28px;
  }
}

.center {
  text-align: center;
}

.btn {
  cursor: pointer;
  border-radius: 100px;
  position: relative;
  display: inline-block;
}
.btn::before {
  position: absolute;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .btn {
    font-size: 15px;
  }
}

.btn-solid {
  background: #1A1A1A;
  color: white;
  font-weight: bold;
}
.btn-solid::before {
  content: "";
  background: url(../img/mail-icon_white.png) no-repeat center center/contain;
  left: 25px;
  width: 24px;
  height: 16px;
}
.btn-solid:hover {
  background: white;
  color: #1A1A1A;
}
.btn-solid:hover::before {
  background: url(../img/mail-icon_black.png) no-repeat center center/contain;
}
.btn-solid.--header {
  width: 176px;
  padding: 14px 0 13px;
  padding-right: 25px;
  text-align: right;
  border: 2px solid #1A1A1A;
}

.btn-hollow {
  border: 2px solid #01B1AE;
  color: #01B1AE;
  width: 280px;
  text-align: center;
  padding: 13px 0;
  background: white;
}
@media screen and (max-width: 767px) {
  .btn-hollow {
    padding: 10.5px 0;
  }
}
.btn-hollow:hover {
  background: #01B1AE;
  color: white;
  border-color: white;
}
.btn-hollow.--big {
  max-width: 456px;
  width: 100%;
  padding: 16.5px 0;
}

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

.textlink {
  color: #01B1AE;
  text-decoration: underline;
}

.date {
  display: inline-block;
  font-size: 14px;
  color: #707F89;
}

.category {
  border-radius: 4px;
  display: inline-block;
  padding: 0px 16px;
  font-size: 12px;
}
.category.--hollow {
  background: white !important;
  border: 1px solid #01B1AE;
  color: #01B1AE;
  padding: 0 24px;
}
.category.--hollow.--notice {
  border-color: #01B1AE;
  color: #01B1AE;
}
.category.--hollow.--seminar {
  border-color: #B10260;
  color: #B10260;
}
.category.--hollow.--event {
  border-color: #6702B1;
  color: #6702B1;
}

.works-card {
  display: inline-block;
  max-width: 300px;
}
@media screen and (max-width: 767px) {
  .works-card {
    max-width: none;
  }
}
.works-card:hover .img img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.works-card .img {
  overflow: hidden;
  border-radius: 8px 8px 0 0;
}
.works-card .img img {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 300/182;
}
@media screen and (max-width: 767px) {
  .works-card .img img {
    aspect-ratio: 327/182;
  }
}
.works-card .body {
  background: #F5F5F5;
  padding: 12px 16px 36px;
  border-radius: 0 0 8px 8px;
}
.works-card .category {
  font-size: 12px;
  background: #01B1AE;
  color: white;
}
.works-card .title {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  margin: 8px 0 40px;
}
.works-card .works-card__service {
  border-top: 1px solid #CDD6DD;
  color: #707F89;
  font-size: 12px;
  padding-top: 8px;
}

.column-card {
  max-width: 300px;
}
@media screen and (max-width: 767px) {
  .column-card {
    max-width: none;
  }
}
.column-card:hover .img img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.column-card .img {
  overflow: hidden;
  border-radius: 8px;
  margin-bottom: 8px;
}
.column-card .img img {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 300/182;
}
@media screen and (max-width: 767px) {
  .column-card .img img {
    aspect-ratio: 327/199;
  }
}
.column-card .category {
  font-size: 12px;
  line-height: 1.8;
  background: #1A1A1A !important;
  color: white;
  display: inline-block;
  padding: 0px 24px;
  border-radius: 4px;
}
.column-card .title {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  margin: 8px 0 4px;
}

.news-item {
  display: block;
  padding: 16px 0;
}
.news-item:hover p {
  opacity: 0.7;
}
.news-item .head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  margin-bottom: 6px;
}
.news-item p {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
@media screen and (max-width: 767px) {
  .news-item p {
    -webkit-line-clamp: 2;
  }
}

.back {
  position: relative;
  padding-left: 28px;
  color: #01B1AE;
}
.back:hover {
  opacity: 0.7;
}
.back::before {
  content: "";
  background: url(../img/back.png) no-repeat center center/contain;
  position: absolute;
  width: 20px;
  height: 20px;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.external {
  color: #01B1AE;
  position: relative;
  padding-right: 11px;
  margin-right: 3px;
}
.external::before {
  content: "";
  background: url(../img/external.png) no-repeat center center/contain;
  position: absolute;
  width: 8px;
  height: 8px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0;
}
.external:hover {
  opacity: 0.6;
}

@media screen and (max-width: 767px) {
  .privacy-policy p.--top {
    margin-bottom: 40px;
  }
}
.privacy-policy h2 {
  border-left: 8px solid #01B1AE;
  padding-left: 8px;
  line-height: 21px;
  margin: 40px 0 16px;
}
@media screen and (max-width: 767px) {
  .privacy-policy h2 {
    margin: 24px 0 12px;
    font-size: 15px;
  }
}
.privacy-policy ul {
  list-style: disc;
  padding-left: 1em;
}
.privacy-policy .name {
  margin: 80px 0;
}
@media screen and (max-width: 767px) {
  .privacy-policy .name {
    margin: 40px 0;
  }
}

/*========================
archive-common
========================*/
.pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4px;
}
@media screen and (max-width: 767px) {
  .pagination {
    gap: 12px;
    max-width: 380px;
    margin: 0 auto;
  }
}
.pagination a,
.pagination span {
  width: 40px;
  height: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 4px;
  border: 1px solid #CDD6DD;
  color: #01B1AE;
}
@media screen and (max-width: 767px) {
  .pagination a,
  .pagination span {
    height: 52px;
    border: 2px solid #CDD6DD;
  }
}
.pagination a.current,
.pagination span.current {
  background: #01B1AE;
  color: white;
  border-color: #01B1AE;
}
.pagination a:hover,
.pagination span:hover {
  background: #01B1AE;
  color: white;
  border-color: #01B1AE;
}
.pagination .arrow {
  width: 14.5px;
  height: 14.5px;
}
.pagination .arrow.--left {
  background: url(../img/arrow-gray-left.png) no-repeat center center/contain;
}
.pagination .arrow.--right {
  background: url(../img/arrow-gray-right.png) no-repeat center center/contain;
}
@media screen and (max-width: 767px) {
  .pagination .pager {
    display: none;
  }
}
.pagination .page_num {
  display: none;
}
@media screen and (max-width: 767px) {
  .pagination .page_num {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    background: #01B1AE;
    color: white;
    width: calc(100% - 148px - 24px);
    border-color: #01B1AE;
    font-size: 15px;
  }
}
.pagination .prev {
  margin-right: 36px;
}
@media screen and (max-width: 767px) {
  .pagination .prev {
    margin-right: 0;
  }
}
.pagination .prev.--active {
  border-color: #01B1AE;
}
.pagination .prev.--active .arrow {
  background: url(../img/arrow-color-left.png) no-repeat center center/contain;
}
.pagination .next {
  margin-left: 36px;
}
@media screen and (max-width: 767px) {
  .pagination .next {
    margin-left: 0;
  }
}
.pagination .next.--active {
  border-color: #01B1AE;
}
.pagination .next.--active .arrow {
  background: url(../img/arrow-color-right.png) no-repeat center center/contain;
}
@media screen and (max-width: 767px) {
  .pagination .prev,
  .pagination .next {
    width: 74px;
  }
}
.pagination .prev:hover,
.pagination .next:hover {
  background: white;
  border-color: #CDD6DD;
}
.pagination .prev.--active:hover,
.pagination .next.--active:hover {
  border-color: #01B1AE;
  background: white;
}

.archive-category {
  font-size: 14px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .archive-category {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 12px 38px;
  }
}
.archive-category a {
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.archive-category a:hover {
  color: #01B1AE;
  text-decoration: underline;
}
.archive-category a.current {
  color: #01B1AE;
  text-decoration: underline;
}
.archive-category a.current.--2 {
  color: #B10260;
}
.archive-category a.current.--3 {
  color: #6702B1;
}
.archive-category a.--2 {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.archive-category a.--2:hover {
  color: #B10260;
}
.archive-category a.--3 {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.archive-category a.--3:hover {
  color: #6702B1;
}

/*========================
single-common
========================*/
.single .date {
  margin-right: 12px;
}
.single .category {
  background: #01B1AE;
  color: white;
}
.single .service-list {
  color: #707F89;
  font-size: 12px;
  margin-top: 4px;
}
.single h1 {
  margin: 24px 0;
  font-size: 24px;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .single h1 {
    font-size: 20px;
    margin: 16px 0;
  }
}
.single .eyechatch {
  margin-bottom: 40px;
}
.single .eyechatch img {
  border-radius: 8px;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 962/647;
}
@media screen and (max-width: 767px) {
  .single .eyechatch img {
    aspect-ratio: 327/182;
  }
}

#toc_container {
  background: #F5F5F5;
  border-radius: 8px;
  padding: 32px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  #toc_container {
    padding: 32px 16px;
  }
}
#toc_container .toc_title {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 6px;
  margin-top: 0;
}
#toc_container a:hover {
  opacity: 0.7;
}
#toc_container ul li {
  margin: 5px 0;
}
#toc_container ul ul {
  padding-left: 1em;
}

.article {
  margin-bottom: 70px;
}
.column-single .article {
  margin-bottom: 40px;
}
.article h2 {
  background: #E9F7F7;
  font-size: 18px;
  font-weight: bold;
  border-left: 8px solid #01B1AE;
  padding: 7px 16px;
  margin: 40px 0 16px;
}
.article p {
  margin: 16px 0;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .article p {
    font-weight: 500;
    font-size: 15px;
  }
}
.article h3 {
  border-left: 8px solid #01B1AE;
  padding: 0px 16px;
  margin: 40px 0 16px;
}

.addtoany_share_save_container {
  margin-top: 40px !important;
}

.addtoany_list {
  line-height: 1 !important;
  height: 24px;
  display: block !important;
}

.a2a_kit a {
  display: inline-block;
  height: 24px;
  width: auto;
}
.a2a_kit a img {
  width: auto;
  height: 24px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

/*========================
animation
========================*/
.fadeUpTrigger {
  opacity: 0;
}

.fadeUp {
  -webkit-animation-name: fadeUpAnime;
          animation-name: fadeUpAnime;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes fadeUpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(50px);
            transform: translateY(50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(50px);
            transform: translateY(50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
/*========================
header
========================*/
header {
  z-index: 100;
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.header.scrolled {
  background: white;
}

.header__wrap {
  padding: 10px 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.header__logo {
  display: inline-block;
  max-width: 141px;
}

.header__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 44px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 961.5px) and (min-width: 768px) {
  .header__nav {
    gap: 20px;
  }
}
.header__nav .btn {
  margin-left: -6px;
}
.header__nav .btn:hover {
  opacity: 1;
}
.header__nav a:hover {
  opacity: 0.7;
}

.header__sp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}

.contact-btn-sp {
  max-width: 46px;
  display: inline-block;
}

.openbtn {
  position: relative;
  cursor: pointer;
  width: 36px;
  height: 24px;
}

/*ボタン内側*/
.openbtn span {
  display: inline-block;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  /*アニメーションの設定*/
  position: absolute;
  left: 0;
  height: 4px;
  border-radius: 10px;
  background: #1A1A1A;
}

.openbtn span:nth-of-type(1) {
  top: 0px;
  width: 100%;
}

.openbtn span:nth-of-type(2) {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 28px;
}

.openbtn span:nth-of-type(3) {
  bottom: 0;
  width: 20px;
}

.openbtn.active span:nth-of-type(1) {
  top: 4px;
  left: 4px;
  -webkit-transform: translateY(6px) rotate(45deg);
          transform: translateY(6px) rotate(45deg);
  width: 28px;
}

.openbtn.active span:nth-of-type(2) {
  opacity: 0;
}

.openbtn.active span:nth-of-type(3) {
  top: 16px;
  left: 4px;
  -webkit-transform: translateY(-6px) rotate(-45deg);
          transform: translateY(-6px) rotate(-45deg);
  width: 28px;
}

/*========================
drawer
========================*/
.drawer {
  display: none;
  background: #E9F7F7;
  padding: 60px 24px 90px;
  overflow-y: scroll;
  height: calc(100vh - 66px);
}
.drawer::-webkit-scrollbar {
  display: none;
}
.drawer .scroll {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.drawer__links {
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 54px;
}
.drawer__links a {
  display: inline-block;
}
.drawer__links a:not(:first-child) {
  margin-top: 33px;
}
.drawer__links a .jp {
  font-size: 18px;
  line-height: 1.4;
}
.drawer__links a .en {
  font-size: 12px;
  color: #01B1AE;
  font-weight: 400;
}

.drawer__btn {
  margin-bottom: 40px;
  display: inline-block;
}

.drawer__back {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  color: #01B1AE;
  cursor: pointer;
}
.drawer__back img {
  max-width: 20px;
}

/*========================
footer
========================*/
.footer-contact {
  padding: 80px 0 77px;
}
.footer-contact.--none {
  display: none;
}
@media screen and (max-width: 767px) {
  .footer-contact {
    padding: 53px 0 56px;
  }
}

.footer-contact__text {
  margin: 26px 0 31px;
  color: white;
  text-align: center;
  font-size: 18px;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .footer-contact__text {
    font-size: 14px;
    line-height: 1.8;
  }
}

.footer-contact__btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  max-width: 928px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .footer-contact__btns {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-width: 500px;
  }
}
.footer-contact__btns .btn {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-weight: 500;
  font-size: 18px;
  padding: 19px 0;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
}
@media screen and (max-width: 961.5px) and (min-width: 768px) {
  .footer-contact__btns .btn {
    font-size: 15px;
    gap: 10px;
  }
}
@media screen and (max-width: 767px) {
  .footer-contact__btns .btn {
    width: 100%;
    font-size: 15px;
  }
}
.footer-contact__btns .btn::before {
  display: none;
}
.footer-contact__btns .btn-hollow:hover .icon {
  background: url(../img/download-white.png) no-repeat center center/contain;
}
.footer-contact__btns .btn-hollow .icon {
  background: url(../img/download.png) no-repeat center center/contain;
  width: 21px;
  height: 25px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .footer-contact__btns .btn-hollow .icon {
    display: none;
  }
}
.footer-contact__btns .btn-solid:hover .icon {
  background: url(../img/mail-icon_black.png) no-repeat center center/contain;
}
.footer-contact__btns .btn-solid .icon {
  background: url(../img/mail-icon_white.png) no-repeat center center/contain;
  width: 24px;
  height: 16px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.footer-contact__btns .btn-solid .icon:hover {
  background: url(../img/mail-icon_black.png) no-repeat center center/contain;
}

.footer-bottom {
  background: #1A1A1A;
  padding: 52px 0 56px;
}
@media screen and (max-width: 767px) {
  .footer-bottom {
    padding: 48px 0 16px;
    text-align: center;
  }
}
.footer-bottom .copy {
  font-weight: 400;
  color: #CDD6DD;
  font-size: 12px;
}

.footer-bottom__wrap .head {
  max-width: 260px;
  width: 30%;
}
@media screen and (max-width: 767px) {
  .footer-bottom__wrap .head {
    width: 100%;
  }
}
.footer-bottom__wrap .logo {
  max-width: 129px;
  display: inline-block;
  margin-bottom: 4px;
}
@media screen and (max-width: 767px) {
  .footer-bottom__wrap .logo {
    max-width: 156px;
  }
}
.footer-bottom__wrap .nav {
  color: white;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .footer-bottom__wrap .nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 21px 0 28px;
  }
}
.footer-bottom__wrap .nav a {
  padding: 0 22px;
}
@media screen and (max-width: 961.5px) and (min-width: 768px) {
  .footer-bottom__wrap .nav a {
    padding: 0 20px;
  }
}
@media screen and (max-width: 767px) {
  .footer-bottom__wrap .nav a {
    padding: 0;
  }
}
.footer-bottom__wrap .nav a:hover {
  opacity: 0.7;
}
.footer-bottom__wrap .nav a:not(:last-child) {
  border-right: 1px solid white;
}
@media screen and (max-width: 767px) {
  .footer-bottom__wrap .nav a:not(:last-child) {
    border: none;
    margin-bottom: 18px;
  }
}

/*========================
    common
========================*/
.top-title-wrap {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .top-title-wrap {
    margin-bottom: 32px;
  }
}

/*========================
mv
========================*/
.mv {
  position: relative;
  height: 600px;
  background: #E9F7F7;
  padding-top: 140px;
}
@media screen and (max-width: 961.5px) and (min-width: 768px) {
  .mv {
    height: 540px;
  }
}
@media screen and (max-width: 767px) {
  .mv {
    height: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    padding: 113px 0 48px;
  }
}
.mv .inner {
  position: relative;
  z-index: 1;
  max-width: 1126px;
}
@media screen and (max-width: 767px) {
  .mv .inner {
    padding: 0 16px;
    text-align: center;
  }
}
.mv h1 {
  font-size: 56px;
  font-weight: 900;
  line-height: 1.3;
}
@media screen and (max-width: 961.5px) and (min-width: 768px) {
  .mv h1 {
    font-size: 40px;
  }
}
@media screen and (max-width: 767px) {
  .mv h1 {
    font-size: 40px;
  }
}
.mv p {
  margin: 28px 0 40px;
  font-size: 18px;
  line-height: 1.6;
}
@media screen and (max-width: 961.5px) and (min-width: 768px) {
  .mv p {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .mv p {
    font-size: 14px;
    margin: 19px 0 27px;
  }
}
.mv .btn-download {
  display: inline-block;
  max-width: 420px;
  width: 100%;
  max-height: 87px;
  height: 100vw;
  background: url(../img/btn-download_FV.svg) no-repeat center center/contain;
}
.mv .btn-download:hover {
  background: url(../img/btn-download_FV_hover.svg) no-repeat center center/contain;
}
@media screen and (max-width: 961.5px) and (min-width: 768px) {
  .mv .btn-download {
    max-width: 360px;
  }
}
@media screen and (max-width: 767px) {
  .mv .btn-download {
    background: url(../img/btn-download_FV-SP.png) no-repeat center center/contain;
  }
}
.mv .img {
  max-width: 703px;
  width: 51.464vw;
  position: absolute;
  top: 132px;
  left: 46.7vw;
}
@media screen and (max-width: 767px) {
  .mv .img {
    position: relative;
    top: inherit;
    right: inherit;
    left: inherit;
    width: 100%;
    padding: 0 16px;
  }
}

/*========================
top-about
========================*/
@media screen and (max-width: 767px) {
  .top-about {
    text-align: center;
  }
}
.top-about .sec-title-small {
  color: #01B1AE;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .top-about .catchcopy {
    margin-bottom: 32px;
  }
}

@media screen and (max-width: 961.5px) and (min-width: 768px) {
  .top-about__wrap {
    gap: 20px;
  }
}
.top-about__wrap .content p {
  margin: 40px 0;
}
@media screen and (max-width: 767px) {
  .top-about__wrap .content p {
    margin: 32px 0 37px;
  }
}
.top-about__wrap .content p span {
  color: #01B1AE;
}
.top-about__wrap .img {
  max-width: 427px;
  text-align: center;
}
@media screen and (max-width: 961.5px) and (min-width: 768px) {
  .top-about__wrap .img {
    width: 50%;
  }
}
.top-about__wrap .img p {
  padding-right: 44px;
  font-size: 14px;
  margin-top: 8px;
}

/*========================
top-service
========================*/
@media screen and (max-width: 767px) {
  .top-service {
    text-align: center;
  }
}
.top-service .catchcopy {
  color: white;
}

.top-service__wrap {
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .top-service__wrap {
    max-width: 380px;
    margin: 0 auto;
  }
}
.top-service__wrap .content .img {
  max-width: 280px;
  margin: 24px 0 16px;
}
.top-service__wrap .catchcopy {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .top-service__wrap .catchcopy {
    font-size: 24px;
    margin-bottom: 20px;
  }
}

.top-service__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 20px;
  max-width: 540px;
}
@media screen and (max-width: 767px) {
  .top-service__items {
    margin-bottom: 40px;
  }
}
.top-service__items .item {
  background: white;
  border-radius: 8px;
  max-width: 260px;
  text-align: center;
  padding: 16px 24px 0;
  position: relative;
  min-height: 270px;
}
@media screen and (max-width: 961.5px) and (min-width: 768px) {
  .top-service__items .item {
    width: calc(50% - 10px);
    min-height: 320px;
  }
}
@media screen and (max-width: 767px) {
  .top-service__items .item {
    width: 100%;
    max-width: none;
    min-height: 245px;
  }
}
.top-service__items .num {
  font-size: 32px;
  font-weight: bold;
  color: #01B1AE;
  position: absolute;
  top: 4px;
  left: 8px;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .top-service__items .num {
    left: 24px;
  }
}
.top-service__items .img {
  max-width: 90px;
  margin: 0 auto;
}
.top-service__items h3 {
  color: #01B1AE;
  font-size: 20px;
  font-weight: bold;
  margin: 8px 0;
  line-height: 1.3;
}
.top-service__items p {
  font-size: 14px;
  text-align: left;
}

/*========================
works
========================*/
.top-works__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 31px;
  margin-bottom: 56px;
}
@media screen and (max-width: 767px) {
  .top-works__items {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 24px;
    max-width: 380px;
    margin: 0 auto 56px;
  }
}
.top-works__items .works-card, .top-works__items .column-card {
  width: calc(33.3% - 15.5px);
}
.top-works__items .works-card .title, .top-works__items .column-card .title {
  min-height: 81px;
}
@media screen and (max-width: 767px) {
  .top-works__items .works-card, .top-works__items .column-card {
    width: 100%;
  }
}

/*========================
news
========================*/
.top-news__items {
  max-width: 800px;
  margin: 0 auto 56px;
}
@media screen and (max-width: 767px) {
  .top-news__items {
    margin-bottom: 40px;
    max-width: 500px;
  }
}

/*========================
message
========================*/
.about-message__mesage {
  max-width: 420px;
  margin: 24px 0;
}
@media screen and (max-width: 767px) {
  .about-message__mesage {
    margin: 40px 0 22px;
  }
}

.about-message__wrap {
  gap: 11.5%;
}
.about-message__wrap .content {
  width: 58%;
}
@media screen and (max-width: 767px) {
  .about-message__wrap .content {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .about-message__wrap .content p {
    font-size: 15px;
  }
}
.about-message__wrap .img {
  width: 30%;
}
@media screen and (max-width: 767px) {
  .about-message__wrap .img {
    width: 100%;
  }
}
.about-message__wrap .img .small {
  margin: 8px 0 0;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .about-message__wrap .img .small {
    margin-top: 30px;
  }
}
.about-message__wrap .img .name {
  font-size: 18px;
}
.about-message__wrap .img .name span {
  font-size: 14px;
  color: #01B1AE;
  margin-left: 6px;
}
@media screen and (max-width: 767px) {
  .about-message__wrap .portrait {
    margin-top: 18px;
    display: inline-block;
  }
}

/*========================
outline
========================*/
.about-outline {
  margin-top: 160px;
}
@media screen and (max-width: 767px) {
  .about-outline {
    margin-top: 95px;
  }
}

.about-outline__table {
  margin: 24px 0 80px;
}
@media screen and (max-width: 767px) {
  .about-outline__table {
    margin: 18px 0 40px;
  }
}
.about-outline__table table {
  width: 100%;
}
.about-outline__table table,
.about-outline__table td,
.about-outline__table th {
  border-collapse: collapse;
}
.about-outline__table td,
.about-outline__table th {
  padding: 16px 32px;
}
.about-outline__table th {
  background: #F5F5F5;
  width: 29%;
  color: #707F89;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .about-outline__table th {
    width: 100%;
    padding: 8px;
  }
}
@media screen and (max-width: 767px) {
  .about-outline__table td {
    padding: 16px 8px;
  }
}
.about-outline__table tr {
  border-top: 1px solid #CDD6DD;
}
@media screen and (max-width: 767px) {
  .about-outline__table tr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.about-outline__table tr:last-child {
  border-bottom: 1px solid #CDD6DD;
}
.about-outline__table ul {
  list-style: disc;
  padding-left: 1em;
}

/*========================
service-advantage
========================*/
.service-advantage .catchcopy {
  margin: 22px 0 16px;
}
@media screen and (max-width: 767px) {
  .service-advantage .catchcopy {
    font-size: 20px;
  }
}

.service-advantage__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 31px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 36px;
}
@media screen and (max-width: 961.5px) and (min-width: 768px) {
  .service-advantage__items {
    gap: 2.5%;
  }
}
@media screen and (max-width: 767px) {
  .service-advantage__items {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.service-advantage__items .item {
  background: #E9F7F7;
  text-align: center;
  border-radius: 8px;
  padding: 20px 22px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.service-advantage__items .text,
.service-advantage__items .num {
  font-weight: bold;
  color: #01B1AE;
}
.service-advantage__items .text {
  font-size: 12px;
}
.service-advantage__items .num {
  font-size: 32px;
  border-bottom: 1px solid #01B1AE;
  display: inline-block;
  line-height: 1.4;
}
.service-advantage__items h3 {
  margin: 20px 0 16px;
  font-size: 20px;
  font-weight: bold;
}
.service-advantage__items p {
  font-size: 14px;
  text-align: left;
}

/*========================
service-flow
========================*/
.service-flow {
  margin-top: 160px;
}
@media screen and (max-width: 767px) {
  .service-flow {
    margin-top: 100px;
  }
}
.service-flow .page-heading {
  margin-bottom: 16px;
}

.service-flow__items {
  margin: 36px 0 80px;
}
@media screen and (max-width: 767px) {
  .service-flow__items {
    margin: 28px 0 40px;
  }
}
.service-flow__items .item {
  background: #F5F5F5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 24px;
  border-radius: 8px;
  gap: 64px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .service-flow__items .item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 13px;
    padding: 20px 22px 24px;
  }
}
.service-flow__items .item:not(:first-child) {
  margin-top: 24px;
}
.service-flow__items .item:not(:first-child)::before {
  content: "";
  background: #01B1AE;
  width: 1px;
  height: 50px;
  top: -40px;
  position: absolute;
  z-index: -1;
  left: 47px;
}
@media screen and (max-width: 767px) {
  .service-flow__items .item:not(:first-child)::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
.service-flow__items .head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  width: 242px;
}
@media screen and (max-width: 767px) {
  .service-flow__items .head {
    width: 100%;
  }
}
.service-flow__items .icon {
  max-width: 50px;
}
.service-flow__items .title {
  font-weight: bold;
}
.service-flow__items .title .step {
  color: #01B1AE;
  font-size: 12px;
  line-height: 1;
}
.service-flow__items .title h3 {
  font-size: 20px;
}
.service-flow__items .body {
  font-size: 14px;
  width: calc(100% - 242px - 64px);
}
@media screen and (max-width: 767px) {
  .service-flow__items .body {
    width: 100%;
  }
}
.service-flow__items .body span {
  display: inline-block;
}

/*========================
works-archive
========================*/
.works-archive__items {
  margin: 40px 0 80px;
  gap: 31px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 961.5px) and (min-width: 768px) {
  .works-archive__items {
    margin: 40px auto 80px;
    max-width: 631px;
  }
}
@media screen and (max-width: 767px) {
  .works-archive__items {
    margin: 40px auto;
    gap: 24px;
    max-width: 380px;
  }
}
.works-archive__items .works-card {
  width: calc(33.3% - 21px);
}
@media screen and (max-width: 961.5px) and (min-width: 768px) {
  .works-archive__items .works-card {
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .works-archive__items .works-card {
    width: 100%;
  }
}
.works-archive__items .works-card .title {
  min-height: 81px;
}

/*========================
works-single
========================*/
/*========================
news-archive
========================*/
.news-archive__items {
  margin: 40px 0 80px;
}
@media screen and (max-width: 767px) {
  .news-archive__items {
    margin: 40px 0;
  }
}
.news-archive__items .news-item {
  border-top: 1px solid #CDD6DD;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
  padding: 20px 0;
}
@media screen and (max-width: 767px) {
  .news-archive__items .news-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    gap: 0;
    border: none;
    padding: 16px 0;
  }
}
.news-archive__items .news-item:last-child {
  border-bottom: 1px solid #CDD6DD;
}
@media screen and (max-width: 767px) {
  .news-archive__items .news-item:last-child {
    border: none;
  }
}
.news-archive__items .news-item .head {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .news-archive__items .news-item .head {
    margin-bottom: 6px;
  }
}
.news-archive__items .news-item .category {
  width: 96px;
  padding: 0;
  text-align: center;
}
.news-archive__items .news-item p {
  width: calc(100% - 207px);
}
@media screen and (max-width: 767px) {
  .news-archive__items .news-item p {
    width: 100%;
  }
}

/*========================
news-single
========================*/
@media screen and (max-width: 767px) {
  .news-single h1 {
    margin: 8px 0 16px;
  }
}

/*========================
column-common
========================*/
.popular {
  width: 30.7%;
}
@media screen and (max-width: 767px) {
  .popular {
    width: 100%;
  }
}
.popular .heading {
  text-align: center;
  background: #1A1A1A;
  color: white;
  border-radius: 4px;
  font-size: 18px;
}
.popular .item {
  margin-top: 15px;
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .popular .item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.popular .item:hover .img img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.popular .img {
  max-width: 100px;
  width: 100%;
  overflow: hidden;
  border-radius: 4px;
}
.popular .img img {
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 100/61;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.popular .content {
  width: calc(100% - 100px - 8px);
}
.popular .content .title {
  font-size: 12px;
  line-height: 1.6;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

/*========================
column-archive
========================*/
.column-archive__wrap {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  margin: 40px 0 80px;
}
@media screen and (max-width: 767px) {
  .column-archive__wrap {
    max-width: 380px;
    margin: 40px auto;
    gap: 40px;
  }
}

.column-archive__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  max-width: 631px;
  gap: 24px 31px;
  width: 65.6%;
}
@media screen and (max-width: 767px) {
  .column-archive__items {
    margin: 0 auto;
    width: 100%;
    gap: 16px;
  }
}
.column-archive__items .column-card {
  width: calc(50% - 15.5px);
}
@media screen and (max-width: 767px) {
  .column-archive__items .column-card {
    width: 100%;
  }
}

/*========================
column-single
========================*/
.column-single__wrap {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}

.column-single__content {
  width: 64.4%;
  max-width: 620px;
}
@media screen and (max-width: 767px) {
  .column-single__content {
    width: 100%;
  }
  .column-single__content h1 {
    margin: 8px 0 16px;
  }
}
.column-single__content .eyechatch img {
  aspect-ratio: 620/426;
}
@media screen and (max-width: 767px) {
  .column-single__content .eyechatch img {
    aspect-ratio: 327/182;
  }
}
.column-single__content .category {
  color: #01B1AE;
}

.related {
  margin: 40px 0 64px;
}
@media screen and (max-width: 767px) {
  .related {
    margin: 40px 0 35px;
  }
}
.related .heading {
  background: #1A1A1A;
  color: white;
  font-size: 18px;
  border-radius: 4px;
  text-align: center;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .related .heading {
    margin-bottom: 16px;
  }
}

.related__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .related__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px;
  }
}
.related__wrap .column-card {
  width: calc(50% - 10px);
}
@media screen and (max-width: 767px) {
  .related__wrap .column-card {
    width: 100%;
  }
}
.related__wrap .category {
  color: white;
}

.wp-block-image a {
  display: inline-block;
}

/*========================
contact
========================*/
.main-contact .page-content {
  padding-bottom: 80px;
}

.contact__items {
  margin-bottom: 40px;
}

.contact__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .contact__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.contact__item:not(:first-child) {
  margin-top: 24px;
}
.contact__item .head {
  width: 310px;
  height: 48px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .contact__item .head {
    height: 36px;
  }
}
.contact__item .title {
  position: relative;
  display: inline-block;
}
.contact__item .title.--required::before {
  content: "必須";
  background: #01B1AE;
  color: white;
  position: absolute;
  right: -48px;
  padding: 0 8px;
  border-radius: 4px;
  font-size: 12px;
}
.contact__item .body {
  width: calc(100% - 310px);
}
@media screen and (max-width: 767px) {
  .contact__item .body {
    width: 100%;
  }
}
.contact__item input[type=text],
.contact__item input[type=tel],
.contact__item input[type=email],
.contact__item textarea {
  border-radius: 4px;
  border: 1px solid #CDD6DD;
  width: 100%;
  padding: 14px 16px 13px;
  line-height: 1.4;
}
.contact__item input[type=text]::-webkit-input-placeholder, .contact__item input[type=tel]::-webkit-input-placeholder, .contact__item input[type=email]::-webkit-input-placeholder, .contact__item textarea::-webkit-input-placeholder {
  color: #CDD6DD;
  font-family: sans-serif;
}
.contact__item input[type=text]::-moz-placeholder, .contact__item input[type=tel]::-moz-placeholder, .contact__item input[type=email]::-moz-placeholder, .contact__item textarea::-moz-placeholder {
  color: #CDD6DD;
  font-family: sans-serif;
}
.contact__item input[type=text]:-ms-input-placeholder, .contact__item input[type=tel]:-ms-input-placeholder, .contact__item input[type=email]:-ms-input-placeholder, .contact__item textarea:-ms-input-placeholder {
  color: #CDD6DD;
  font-family: sans-serif;
}
.contact__item input[type=text]::-ms-input-placeholder, .contact__item input[type=tel]::-ms-input-placeholder, .contact__item input[type=email]::-ms-input-placeholder, .contact__item textarea::-ms-input-placeholder {
  color: #CDD6DD;
  font-family: sans-serif;
}
.contact__item input[type=text]::placeholder,
.contact__item input[type=tel]::placeholder,
.contact__item input[type=email]::placeholder,
.contact__item textarea::placeholder {
  color: #CDD6DD;
  font-family: sans-serif;
}
.contact__item input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px rgb(255, 255, 255) inset !important;
          box-shadow: 0 0 0 1000px rgb(255, 255, 255) inset !important;
  -webkit-text-fill-color: #1A1A1A !important;
}
.contact__item input:-webkit-autofill:focus {
  caret-color: #1A1A1A !important;
}
.contact__item textarea {
  height: 200px;
  resize: vertical;
}

.wpcf7-radio {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-top: 7px;
}

.wpcf7-list-item {
  margin: 0 0 8px 0;
}

.wpcf7-list-item-label {
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

/* デフォルトのボタン */
input[type=radio] {
  opacity: 0;
  /* デフォルトのボタンを非表示 */
  position: absolute;
}

/* チェック前のボタン */
.wpcf7-list-item-label::before {
  background: #fff;
  border: 1px solid #CCCCCC;
  border-radius: 100%;
  content: "";
  height: 20px;
  margin-bottom: auto;
  margin-right: 9px;
  margin-top: auto;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  width: 20px;
}

/* チェック後のボタン */
input[type=radio]:checked + .wpcf7-list-item-label::before {
  background-color: #01B1AE;
  /* チェック後の中心の色 */
  /* 中心の色のスタイル */
}

.contact__text {
  font-size: 14px;
  text-align: center;
  margin-bottom: 19px;
}

.contact__btn {
  border-radius: 32px;
  background: #01B1AE;
  color: white;
  max-width: 456px;
  width: 100%;
  display: block;
  padding: 21px;
  text-align: center;
  margin: 0 auto;
}

.wpcf7-submit:disabled {
  background: #F7F7F7;
  color: #B4B4B4;
}

.wpcf7-spinner {
  display: none;
}

.wpcf7-response-output {
  display: none;
}

/*========================
thanks
========================*/
.thanks {
  text-align: center;
}
.thanks h2 {
  font-size: 18px;
  margin-bottom: 24px;
}