@charset "UTF-8";
/* aタグ設定
------------------------------------- */
@media (any-hover: hover) {
  a:hover, button:hover {
    filter: brightness(1.08);
  }
}

a, button {
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  transition-delay: 0s;
  text-decoration: none;
  color: currentColor;
}

/* 基本設定
------------------------------------- */
html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}

body {
  -webkit-text-size-adjust: 100%;
  font-size: 1.6rem;
  line-height: 1.6;
  font-family: "Noto sans JP", sans-serif;
  color: #111;
}

.font-mincho {
  font-family: "Noto Serif JP", serif;
}

img {
  width: 100%;
  height: auto;
}

ul {
  list-style: none;
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

/* デフォルトの三角形アイコンを非表示にする */
summary {
  display: block;
  list-style: none;
}

summary::-webkit-details-marker,
summary::marker {
  display: none;
}

/* レスポンシブ設定
------------------------------------- */
@media screen and (min-width: 769px) {
  .sp {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .pc {
    display: none !important;
  }
}
em {
  font-style: normal;
  font-weight: 500;
}

.indent {
  display: inline-block;
}

.btn {
  display: inline-flex;
  align-items: center;
  width: 400px;
  min-height: 76px;
  border-radius: 50px;
  padding: 10px 60px 10px 40px;
  background: linear-gradient(to right, #F2CCD7 0%, #7BB6E3 100%);
  color: #fff;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.4;
  border: 1px solid #fff;
  position: relative;
  box-shadow: 0 0 10px white;
  overflow: hidden;
  transition: background 0.3s;
}
@media screen and (max-width: 768px) {
  .btn {
    width: 360px;
    min-height: 76px;
    max-width: 100%;
    padding: 10px min(12.9545454545vw, 57px) 10px min(8.4090909091vw, 37px);
    font-size: min(4.5454545455vw, 20px);
  }
}
@media (any-hover: hover) {
  .btn:hover {
    filter: none;
  }
  .btn:hover::before, .btn:hover::after {
    left: 0;
  }
}
.btn::before {
  content: "";
  width: 200%;
  height: 100%;
  position: absolute;
  top: 0;
  left: -100%;
  background: linear-gradient(to right, #F2CCD7 0%, #7BB6E3 50%, #F2CCD7 100%);
  transition: left 0.3s;
}
.btn::after {
  content: "";
  width: 200%;
  height: 100%;
  position: absolute;
  top: 0;
  left: -100%;
  background: linear-gradient(to right, #F2CCD7 0%, #7BB6E3 50%, #F2CCD7 100%);
  mix-blend-mode: multiply;
  opacity: 0.5;
  transition: left 0.3s;
}
.btn span {
  position: relative;
  z-index: 1;
}
.btn img {
  width: 27px;
  z-index: 1;
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
}

.header {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  z-index: 50;
  transition: background-color 0.3s;
}
@media screen and (max-width: 999px) {
  .header {
    top: 0;
  }
}
.header.scrolled {
  background-color: rgba(255, 255, 255, 0.85);
}
.header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1240px;
  margin: 0 auto;
  padding: 19px 20px;
}
@media screen and (max-width: 999px) {
  .header__inner {
    justify-content: space-between;
    align-items: flex-start;
    padding: 14px 20px;
  }
}
.header__logo {
  width: min(19.6875vw, 252px);
  margin-right: min(4.21875vw, 54px);
}
@media screen and (max-width: 999px) {
  .header__logo {
    width: 174px;
    margin-right: 0;
    position: relative;
    z-index: 1;
  }
}
.header__list {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 999px) {
  .header__list {
    display: block;
  }
}
.header__list li:not(:first-of-type) {
  position: relative;
}
.header__list li:not(:first-of-type)::after {
  content: "";
  width: 2px;
  height: 18px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background-color: #fff;
}
@media screen and (max-width: 999px) {
  .header__list li:not(:first-of-type)::after {
    width: 18px;
    height: 2px;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }
}
.header__list li a {
  display: block;
  padding: 0 min(1.953125vw, 30px);
  color: #083D68;
  line-height: 1.4;
}
@media screen and (max-width: 1280px) {
  .header__list li a {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 999px) {
  .header__list li a {
    font-size: 1.8rem;
    padding: 20px 0;
    text-align: center;
  }
}
@media screen and (min-width: 1000px) {
  .header__menu {
    display: block !important;
  }
}
@media screen and (max-width: 999px) {
  .header__menu {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    background: linear-gradient(to bottom, #FFE9EF 0%, #BDDAF0 100%);
    display: none;
  }
}
@media screen and (max-width: 999px) {
  .header__menu-inner {
    padding: 65px 20px 65px;
    height: 100%;
    overflow: auto;
    display: grid;
    place-items: center;
  }
}
.header__menu-inner > div {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 999px) {
  .header__menu-inner > div {
    display: block;
  }
}
.header__box {
  display: flex;
  align-items: center;
  gap: 20px;
}
@media screen and (max-width: 999px) {
  .header__box {
    display: block;
    margin-top: 20px;
  }
}
.header__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 140px;
  min-height: 34px;
  padding: 3px 10px;
  border-radius: 30px;
  color: #fff;
  font-weight: 600;
}
@media screen and (max-width: 1280px) {
  .header__btn {
    width: 100px;
  }
}
@media screen and (max-width: 999px) {
  .header__btn {
    width: 200px;
    min-height: 40px;
    font-size: 1.8rem;
    margin: 0 auto;
  }
}
.header__btn.--blog {
  background-color: #125A96;
  border: 1px solid #125A96;
}
@media (any-hover: hover) {
  .header__btn.--blog:hover {
    filter: none;
    background-color: #fff;
    color: #125A96;
  }
}
.header__btn.--contact {
  background-color: #B29662;
  border: 1px solid #B29662;
}
@media (any-hover: hover) {
  .header__btn.--contact:hover {
    filter: none;
    background-color: #fff;
    color: #B29662;
  }
}
@media screen and (max-width: 999px) {
  .header__btn.--contact {
    margin-top: 20px;
  }
}
@media screen and (min-width: 1000px) {
  .header__btn-menu {
    display: none;
  }
}
@media screen and (max-width: 999px) {
  .header__btn-menu {
    display: block;
    width: 50px;
    margin-top: 6px;
    position: relative;
    z-index: 1;
  }
}
@media screen and (max-width: 999px) {
  .header__btn-menu.on .--line span:first-of-type {
    width: 40px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(30deg);
  }
}
@media screen and (max-width: 999px) {
  .header__btn-menu.on .--line span:last-of-type {
    width: 40px;
    bottom: 50%;
    left: 50%;
    transform: translate(-50%, 50%) rotate(-30deg);
  }
}
@media screen and (max-width: 999px) {
  .header__btn-menu.on .--line span:nth-of-type(2) {
    opacity: 0;
    transform: translateX(50%);
  }
}
@media screen and (max-width: 999px) {
  .header__btn-menu .--line {
    display: block;
    width: 100%;
    height: 20px;
    position: relative;
  }
}
@media screen and (max-width: 999px) {
  .header__btn-menu .--line span {
    width: 100%;
    height: 1px;
    background-color: #083D68;
    position: absolute;
    display: block;
    transition: transform 0.4s, opacity 0.4s, top 0.4s, bottom 0.4s;
  }
}
@media screen and (max-width: 999px) {
  .header__btn-menu .--line span:first-of-type {
    top: 0;
    left: 0;
  }
}
@media screen and (max-width: 999px) {
  .header__btn-menu .--line span:nth-of-type(2) {
    top: 50%;
    left: 0;
  }
}
@media screen and (max-width: 999px) {
  .header__btn-menu .--line span:last-of-type {
    bottom: 0;
    left: 0;
  }
}
@media screen and (max-width: 999px) {
  .header__btn-menu .--text {
    display: block;
    font-size: 1.2rem;
    color: #083D68;
    text-align: center;
    line-height: 1.4;
    letter-spacing: 0.18em;
    margin-top: 5px;
  }
}

.footer {
  background-color: #587B9D;
  padding: 70px 0 30px;
}
@media screen and (max-width: 768px) {
  .footer {
    padding: 50px 0 30px;
  }
}
.footer__inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .footer__inner {
    max-width: 100%;
  }
}
.footer__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 40px 20px;
}
@media screen and (max-width: 1180px) {
  .footer__top {
    flex-direction: column;
  }
}
.footer__logo {
  width: 252px;
}
@media screen and (max-width: 1180px) {
  .footer__logo {
    margin: 0 auto;
  }
}
@media screen and (max-width: 1180px) {
  .footer__body {
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .footer__body {
    max-width: 310px;
    width: 100%;
  }
}
.footer__body > div {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1000px) {
  .footer__body > div {
    flex-direction: column;
    width: 100%;
    gap: 30px;
  }
}
.footer__list {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .footer__list {
    flex-wrap: wrap;
    gap: 10px 30px;
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .footer__list li {
    width: calc(50% - 15px);
  }
}
.footer__list li:not(:first-of-type) {
  position: relative;
}
.footer__list li:not(:first-of-type)::after {
  content: "";
  width: 2px;
  height: 18px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .footer__list li:not(:first-of-type)::after {
    display: none;
  }
}
.footer__list li a {
  display: block;
  padding: 0 30px;
  font-size: 1.4rem;
  color: #fff;
  line-height: 1.4;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .footer__list li a {
    font-size: 1.6rem;
    padding: 10px 0;
  }
}
.footer__box {
  display: flex;
  align-items: center;
  gap: 20px;
}
@media screen and (max-width: 768px) {
  .footer__box {
    gap: clamp(5px, 6.8181818182vw, 30px);
  }
}
.footer__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 140px;
  min-height: 34px;
  border-radius: 30px;
  color: #125A96;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .footer__btn {
    width: clamp(100px, 31.8181818182vw, 140px);
  }
}
.footer__btn.--blog {
  background-color: #DEE9F4;
}
@media (any-hover: hover) {
  .footer__btn.--blog:hover {
    background-color: #125A96;
    color: #DEE9F4;
  }
}
.footer__btn.--contact {
  background-color: #F8F5ED;
}
@media (any-hover: hover) {
  .footer__btn.--contact:hover {
    background-color: #125A96;
    color: #F8F5ED;
  }
}
.footer__privacy {
  display: block;
  margin-top: 20px;
  font-size: 1.4rem;
  color: #fff;
  line-height: 1.4;
  text-align: right;
  width: 100%;
}
@media screen and (max-width: 1000px) {
  .footer__privacy {
    text-align: center;
    margin-top: 30px;
  }
}
.footer__copyright {
  margin-top: 60px;
  text-align: right;
  font-size: 1.4rem;
  color: #BAC7D3;
  line-height: 1.4;
}
@media screen and (max-width: 1000px) {
  .footer__copyright {
    text-align: center;
    margin-top: 30px;
  }
}

.contact {
  padding: 100px 0;
  position: relative;
  background: linear-gradient(to right, #FFE9EF 0%, #BDDAF0 100%);
  z-index: 1;
  overflow: hidden;
}
.contact__deco {
  width: auto;
  height: 100%;
  position: absolute;
  top: 0;
  left: 58%;
  transform: translateX(-50%);
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .contact__deco {
    width: 100%;
    height: auto;
    left: auto;
    right: 0;
    transform: inherit;
  }
}
.contact__inner {
  max-width: 1240px;
  padding: 0 20px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px 20px;
}
@media screen and (max-width: 1000px) {
  .contact__inner {
    display: block;
  }
}
.contact__title {
  padding-left: 25px;
  font-weight: 500;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  position: relative;
}
.contact__title::after {
  content: "";
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: linear-gradient(-140deg, #F2CCD7 0%, #7BB6E3 100%);
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.contact__title + p {
  margin-top: 15px;
  font-size: 3rem;
  line-height: 1.4;
}
.contact__title + p .--large {
  font-size: 4rem;
}
.contact__title + p + p {
  margin-top: 15px;
}
@media screen and (max-width: 999px) {
  .contact__box {
    margin-top: 40px;
  }
}
.contact__btn {
  width: 460px;
  min-height: 104px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 14px;
  padding: 10px;
  border-radius: 80px;
  background-color: #fff;
  font-size: 2.4rem;
  color: #333;
  letter-spacing: 0.07em;
  line-height: 1.4;
  position: relative;
  filter: drop-shadow(0 0 20px #fff);
  z-index: 1;
}
@media screen and (max-width: 999px) {
  .contact__btn {
    max-width: 380px;
    width: 100%;
    margin: 0 auto;
  }
}
.contact__btn::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 2px; /* 線の太さ */
  border-radius: 80px;
  background: linear-gradient(to right, #F2CCD7, #7BB6E3);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  z-index: -1;
  transition: background 0.3s;
}
@media (any-hover: hover) {
  .contact__btn:hover {
    filter: drop-shadow(0 0 20px #fff);
    background-color: #125A96;
    color: #fff;
  }
  .contact__btn:hover::before {
    background: #125A96;
  }
}
.contact__btn img {
  width: 31px;
}

.section-title {
  display: flex;
  gap: 30px;
}
@media screen and (max-width: 768px) {
  .section-title {
    display: block;
  }
}
.section-title h2 {
  flex: 0 0 auto;
}
.section-title h2 img {
  display: block;
}
.section-title h2 span {
  display: block;
  padding-left: 84px;
  margin-top: 20px;
  font-size: 2rem;
  line-height: 1.4;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .section-title h2 span {
    padding-left: min(14.5454545455vw, 64px);
    margin-top: 20px;
  }
}
.section-title.--services h2 img {
  max-width: 453px;
}
@media screen and (max-width: 768px) {
  .section-title.--services h2 img {
    max-width: 365px;
  }
}
.section-title.--services h2 span {
  color: #B29662;
}
.section-title.--voice h2 img {
  max-width: 448px;
}
@media screen and (max-width: 768px) {
  .section-title.--voice h2 img {
    max-width: 353px;
  }
}
.section-title.--voice h2 span {
  color: #629DCD;
}
.section-title.--blog h2 img {
  max-width: 536px;
}
@media screen and (max-width: 768px) {
  .section-title.--blog h2 img {
    max-width: 370px;
  }
}
.section-title.--blog h2 span {
  color: #B29662;
}
.section-title.--philosophy-team h2 img {
  max-width: 357px;
}
@media screen and (max-width: 768px) {
  .section-title.--philosophy-team h2 img {
    max-width: 295px;
  }
}
.section-title.--philosophy-team h2 span {
  color: #629DCD;
}
.section-title.--philosophy-blog h2 img {
  max-width: 533px;
}
@media screen and (max-width: 768px) {
  .section-title.--philosophy-blog h2 img {
    max-width: 370px;
  }
}
.section-title.--philosophy-blog h2 span {
  color: #B29662;
}
.section-title.--philosophy-strengths h2 img {
  max-width: 472px;
}
@media screen and (max-width: 768px) {
  .section-title.--philosophy-strengths h2 img {
    max-width: 384px;
  }
}
.section-title.--philosophy-strengths h2 span {
  color: #B29662;
}
.section-title.--philosophy-profile h2 img {
  max-width: 384px;
}
@media screen and (max-width: 768px) {
  .section-title.--philosophy-profile h2 img {
    max-width: 311px;
  }
}
.section-title.--philosophy-profile h2 span {
  color: #629DCD;
}
.section-title.--philosophy-contract h2 img {
  max-width: 534px;
}
@media screen and (max-width: 768px) {
  .section-title.--philosophy-contract h2 img {
    max-width: 373px;
  }
}
.section-title.--philosophy-contract h2 span {
  color: #B29662;
}
.section-title__sub {
  display: block;
  font-weight: normal;
  font-size: 1.6rem;
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  .section-title__sub {
    padding-left: min(14.5454545455vw, 64px);
    margin-top: 10px;
    font-size: 1.4rem;
  }
}

.page-top .mv {
  padding: 133px 0 92px;
  background-image: url("../images/bg-mv.webp");
  background-size: cover;
  background-position: bottom center;
}
@media screen and (max-width: 768px) {
  .page-top .mv {
    padding: 136p 0 46px;
    background-image: url("../images/bg-mv-sp.webp");
  }
}
.page-top .mv__inner {
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .page-top .mv__inner {
    padding: 0;
  }
}
.page-top .mv__logo {
  width: 260px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page-top .mv__logo {
    width: 204px;
  }
}
.page-top .mv__copy {
  width: 520px;
  margin: 48px auto 0;
}
@media screen and (max-width: 768px) {
  .page-top .mv__copy {
    width: 405px;
    max-width: 92.0454545455%;
    margin-top: 38px;
  }
}
.page-top .message {
  background-color: #F8F5ED;
  padding: 109px 0 120px;
  background-image: url("../images/bg-message.jpg");
  background-size: cover;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .page-top .message {
    padding: 46px 0 108px;
    background-image: url("../images/bg-message-sp.jpg");
  }
}
.page-top .message__inner {
  max-width: 1306px;
  padding: 0 20px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page-top .message__inner {
    max-width: 100%;
    padding: 0;
  }
}
.page-top .message__title {
  font-size: 4rem;
  font-weight: normal;
  padding-bottom: 30px;
  position: relative;
  line-height: 1.5;
}
@media screen and (max-width: 1250px) {
  .page-top .message__title {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 1000px) {
  .page-top .message__title {
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 768px) {
  .page-top .message__title {
    font-size: 2.2rem;
  }
}
.page-top .message__title.pb0 {
  padding-bottom: 0;
}
.page-top .message__title .--bar {
  display: block;
  width: 35px;
  height: 4px;
  position: absolute;
  bottom: 0;
  left: 0;
  background: linear-gradient(to right, #E898AF 0%, #63A6DA 100%);
}
.page-top .message__title .--gradation {
  display: inline-block;
  font-size: 4.6rem;
  background: linear-gradient(to right, #E898AF 0%, #63A6DA 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 1250px) {
  .page-top .message__title .--gradation {
    font-size: 3.8rem;
  }
}
@media screen and (max-width: 1000px) {
  .page-top .message__title .--gradation {
    font-size: 3rem;
  }
}
.page-top .message__title .--small {
  font-size: 2rem;
  display: block;
  font-weight: 500;
  line-height: 1.3;
}
@media screen and (max-width: 768px) {
  .page-top .message__title .--small {
    font-size: 1.6rem;
    margin-bottom: 7px;
  }
}
.page-top .message__title .--medium {
  font-size: 3rem;
  display: block;
  font-weight: normal;
}
@media screen and (max-width: 768px) {
  .page-top .message__title .--medium {
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .page-top .message__title .--small-grad {
    font-size: 2.4rem;
    letter-spacing: -0.05em;
  }
}
.page-top .message__desc {
  margin-top: 30px;
  line-height: 2.4;
  font-weight: 300;
}
@media screen and (max-width: 1180px) {
  .page-top .message__desc {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .page-top .message__desc {
    margin-top: 24px;
    line-height: 2;
  }
}
.page-top .message__top {
  margin-left: 30px;
  padding-left: 39.0776699029%;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1180px) {
  .page-top .message__top {
    padding-left: 26.9417475728%;
  }
}
@media screen and (max-width: 768px) {
  .page-top .message__top {
    margin-left: 0;
    padding-top: 49.0909090909vw;
    padding-left: min(11.3636363636%, 50px);
  }
}
.page-top .message__top-img {
  width: 47.7346278317%;
  position: absolute;
  top: 93px;
  left: 0;
}
@media screen and (max-width: 1180px) {
  .page-top .message__top-img {
    width: 35.5987055016%;
  }
}
@media screen and (max-width: 768px) {
  .page-top .message__top-img {
    width: 81.8181818182vw;
    top: 0;
    left: -4.5454545455vw;
  }
}
.page-top .message__top-deco {
  width: 88.1355932203%;
  position: absolute;
  top: -13.8957816377%;
  left: -10.8474576271%;
}
@media screen and (max-width: 768px) {
  .page-top .message__top-deco {
    width: 61.3888888889%;
    top: -10.162601626%;
    left: 6.3888888889%;
  }
}
.page-top .message__top-body {
  padding: 60px 0 40px 19.1570881226%;
  position: relative;
}
@media screen and (max-width: 1180px) {
  .page-top .message__top-body {
    padding: 60px 0 40px 12.7713920817%;
  }
}
@media screen and (max-width: 768px) {
  .page-top .message__top-body {
    padding: 13.6363636364vw 24px 40px 30px;
  }
}
.page-top .message__top-body::before {
  content: "";
  width: 900px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #FDFCF9;
  border-radius: 24px;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .page-top .message__top-body::before {
    width: 100%;
    height: 100%;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
}
.page-top .message__middle {
  max-width: 1200px;
  margin: 62px auto 0;
  display: flex;
  align-items: flex-start;
  gap: 3.3333333333%;
}
@media screen and (max-width: 768px) {
  .page-top .message__middle {
    max-width: 100%;
    margin-top: 20px;
    display: block;
  }
}
.page-top .message__middle-body {
  width: 48.3333333333%;
  padding: 40px 40px 30px;
  background-color: #FDFCF9;
  border-radius: 24px;
}
@media screen and (max-width: 1180px) {
  .page-top .message__middle-body {
    padding: 40px 20px 30px;
  }
}
@media screen and (max-width: 768px) {
  .page-top .message__middle-body {
    width: calc(100% - min(11.3636363636%, 50px));
    padding: 40px 24px 30px 30px;
  }
}
@media screen and (max-width: 768px) {
  .page-top .message__middle-body:first-of-type {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
}
.page-top .message__middle-body:nth-of-type(2) {
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  .page-top .message__middle-body:nth-of-type(2) {
    margin-top: 22px;
    margin-left: auto;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
}
.page-top .message__middle-top {
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 20px;
  padding: 0 61px 0 24px;
  position: relative;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .page-top .message__middle-top {
    font-size: 1.4rem;
    margin-bottom: 12px;
    padding: 0 58px 0 16px;
  }
}
.page-top .message__middle-top::before {
  content: "";
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: linear-gradient(-140deg, #F2CCD7 0%, #7BB6E3 100%);
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .page-top .message__middle-top::before {
    width: 11px;
    height: 11px;
  }
}
.page-top .message__middle-top::after {
  content: "";
  width: 52px;
  height: 1px;
  background-color: #333;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.page-top .message__middle-desc {
  margin-top: 20px;
  line-height: 2;
  font-weight: 300;
}
@media screen and (max-width: 1180px) {
  .page-top .message__middle-desc {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .page-top .message__middle-desc {
    margin-top: 12px;
  }
}
.page-top .message__note {
  margin-top: 20px;
  text-align: right;
  font-size: 1.2rem;
  line-height: 2.2;
}
@media screen and (max-width: 768px) {
  .page-top .message__note {
    margin-top: 12px;
    font-size: 1.1rem;
    padding-right: 26px;
  }
}
.page-top .message__bottom {
  margin-top: 97px;
  margin-right: 33px;
  margin-left: 33px;
  padding-right: 35.1500789889%;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1180px) {
  .page-top .message__bottom {
    padding-right: 23.3017377567%;
  }
}
@media screen and (max-width: 768px) {
  .page-top .message__bottom {
    margin-right: 0;
    margin-left: 0;
    padding-top: 48.4090909091vw;
    padding-right: min(11.3636363636%, 50px);
  }
}
.page-top .message__bottom-img {
  width: 45%;
  position: absolute;
  top: 97px;
  right: 0;
}
@media screen and (max-width: 1180px) {
  .page-top .message__bottom-img {
    width: 32.5%;
  }
}
@media screen and (max-width: 768px) {
  .page-top .message__bottom-img {
    width: 81.8181818182vw;
    top: 0;
    right: -4.5454545455vw;
  }
}
.page-top .message__bottom-deco {
  width: 100.5555555556%;
  position: absolute;
  top: -34.8648648649%;
  right: 2.4074074074%;
}
@media screen and (max-width: 768px) {
  .page-top .message__bottom-deco {
    top: -21.8623481781%;
    right: auto;
    left: -24.7222222222%;
  }
}
.page-top .message__bottom-body {
  padding: 60px 16.821192053% 50px 0;
  position: relative;
}
@media screen and (max-width: 1180px) {
  .page-top .message__bottom-body {
    padding: 60px 7.9470198675% 50px 0;
  }
}
@media screen and (max-width: 768px) {
  .page-top .message__bottom-body {
    padding: 13.6363636364vw 24px 40px 30px;
  }
}
.page-top .message__bottom-body::before {
  content: "";
  width: 962px;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  background-color: #FDFCF9;
  border-radius: 24px;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .page-top .message__bottom-body::before {
    width: 100%;
    height: 100%;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
}
.page-top .message__bottom-desc {
  margin-top: 30px;
  line-height: 2.2;
  font-weight: 300;
  max-width: 575px;
}
@media screen and (max-width: 1180px) {
  .page-top .message__bottom-desc {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .page-top .message__bottom-desc {
    margin-top: 29px;
  }
}
.page-top .future {
  background-image: url("../images/bg-future.webp");
  background-size: cover;
  padding: 116px 0 120px;
}
@media screen and (max-width: 768px) {
  .page-top .future {
    background-image: url("../images/bg-future-sp.webp");
    padding: 80px 0;
  }
}
.page-top .future__inner {
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .page-top .future__inner {
    padding: 0 5px;
  }
}
.page-top .future__title {
  max-width: 1200px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page-top .future__title {
    max-width: 420px;
  }
}
.page-top .future__btn {
  margin: 79px auto 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page-top .future__btn {
    margin-top: 60px;
  }
}
.page-top .services {
  padding: 123px 0 117px;
  background-color: #F8F5ED;
  position: relative;
  overflow: hidden;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .page-top .services {
    padding: 80px 0;
  }
}
.page-top .services__deco-top {
  width: 1252px;
  position: absolute;
  top: 0;
  right: calc(50% - 92px);
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .page-top .services__deco-top {
    width: 100%;
    top: 0;
    right: 0;
  }
}
.page-top .services__deco-bottom {
  width: 1081px;
  position: absolute;
  bottom: 0;
  left: calc(50% + 79px);
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .page-top .services__deco-bottom {
    width: 100%;
    bottom: 0;
    left: 0;
  }
}
.page-top .services__inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .page-top .services__inner {
    max-width: 100%;
  }
}
.page-top .services__list {
  margin-top: 60px;
  display: flex;
  flex-wrap: wrap;
  gap: 50px 6.6666666667%;
}
@media screen and (max-width: 768px) {
  .page-top .services__list {
    margin: 50px 10px 0;
    flex-direction: column;
    gap: 40px;
  }
}
.page-top .services__list-item {
  padding-bottom: 44px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  border-radius: 16px;
  width: 46.6666666667%;
  display: flex;
  flex-direction: column;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .page-top .services__list-item {
    padding-bottom: 34px;
    width: 100%;
  }
}
.page-top .services__thumbnail img {
  border-radius: 16px 16px 0 0;
}
.page-top .services__item-title {
  margin: 40px auto 0;
  padding: 0 20px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .page-top .services__item-title {
    margin-top: 22px;
    padding: 0 10px;
  }
}
.page-top .services__item-title.--01 {
  max-width: 291px;
}
@media screen and (max-width: 768px) {
  .page-top .services__item-title.--01 {
    max-width: 176px;
  }
}
.page-top .services__item-title.--02 {
  max-width: 446px;
}
@media screen and (max-width: 768px) {
  .page-top .services__item-title.--02 {
    max-width: 302px;
  }
}
.page-top .services__item-title.--03 {
  max-width: 444px;
}
@media screen and (max-width: 768px) {
  .page-top .services__item-title.--03 {
    max-width: 311px;
  }
}
.page-top .services__item-title.--04 {
  max-width: 425px;
}
@media screen and (max-width: 768px) {
  .page-top .services__item-title.--04 {
    max-width: 252px;
  }
}
.page-top .services__item-desc {
  margin: 35px 0 30px;
  padding: 0 20px;
  text-align: center;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .page-top .services__item-desc {
    margin: 14px 0 14px;
    padding: 0 10px;
    font-size: 1.4rem;
  }
}
.page-top .services__item-btn {
  margin: auto auto 0;
  padding: 10px 60px 10px 40px;
  max-width: 90%;
  width: 270px;
  min-height: 52px;
  border-radius: 50px;
  border: 2px solid #B29662;
  background-color: #FBF9F3;
  color: #B29662;
  position: relative;
}
@media (any-hover: hover) {
  .page-top .services__item-btn:hover {
    filter: none;
    background-color: #B29662;
    color: #FBF9F3;
  }
  .page-top .services__item-btn:hover img {
    filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(645%) hue-rotate(27deg) brightness(118%) contrast(100%);
  }
}
.page-top .services__item-btn img {
  width: 24px;
  position: absolute;
  top: calc(50% + 3px);
  right: 30px;
  transform: translateY(-50%);
  transition: filter 0.3s;
}
.page-top .services__btn {
  margin: 80px auto 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page-top .services__btn {
    margin-top: 70px;
  }
}
.page-top .voice {
  padding: 128px 0 120px;
  background-color: #ECF6F9;
}
@media screen and (max-width: 768px) {
  .page-top .voice {
    padding: 80px 0;
  }
}
.page-top .voice__inner {
  max-width: 1240px;
  padding: 0 20px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page-top .voice__inner {
    max-width: 100%;
    padding: 0;
  }
}
@media screen and (max-width: 768px) {
  .page-top .voice .section-title {
    padding: 0 20px;
  }
}
@media screen and (min-width: 769px) {
  .page-top .voice .splide {
    margin-top: 60px;
    visibility: visible;
  }
}
@media screen and (max-width: 768px) {
  .page-top .voice .splide {
    margin-top: 50px;
  }
}
@media screen and (min-width: 769px) {
  .page-top .voice .splide__list {
    display: flex !important;
    gap: 2.5%;
  }
}
.page-top .voice .splide__slide {
  border-radius: 16px;
  background-color: #fff;
  padding: 30px min(2.5vw, 30px);
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 769px) {
  .page-top .voice .splide__slide {
    width: 31.6666666667%;
  }
}
@media screen and (max-width: 768px) {
  .page-top .voice .splide__slide {
    width: 77.2727272727vw;
    padding: 24px min(6.8181818182vw, 30px);
  }
}
.page-top .voice__desc {
  margin: 20px 0 20px;
  color: #125A96;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .page-top .voice__desc {
    margin: 14px 0;
  }
}
.page-top .voice__item-bottom {
  margin-top: auto;
}
.page-top .voice__item-bottom dl > div {
  display: flex;
  align-items: center;
  gap: 10px;
}
@media screen and (max-width: 1000px) {
  .page-top .voice__item-bottom dl > div {
    flex-direction: column;
    justify-content: center;
  }
}
@media screen and (max-width: 768px) {
  .page-top .voice__item-bottom dl > div {
    flex-direction: row;
    justify-content: flex-start;
    gap: 10px;
  }
}
.page-top .voice__item-bottom dl > div:not(:first-of-type) {
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .page-top .voice__item-bottom dl > div:not(:first-of-type) {
    margin-top: 14px;
  }
}
.page-top .voice__item-bottom dl dt {
  min-width: min(25vw, 110px);
  text-align: center;
  font-size: min(3.1818181818vw, 1.4rem);
  line-height: 1.5;
  font-weight: normal;
  padding: 3px 3px;
  color: #fff;
  background-color: #7BB6E3;
}
.page-top .voice__item-bottom dl dd {
  font-size: min(3.6363636364vw, 1.6rem);
}
.page-top .voice__thumbnail {
  aspect-ratio: 320/200;
  border-radius: 8px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .page-top .voice__thumbnail {
    aspect-ratio: 280/200;
  }
}
.page-top .voice__thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page-top .voice__item-btn {
  margin-top: 24px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  font-size: 1.6rem;
  color: #7BB6E3;
  line-height: 1.4;
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  .page-top .voice__item-btn {
    margin-top: 20px;
  }
}
.page-top .voice__item-btn img {
  display: block;
  width: 16px;
  margin-top: 4px;
}
@media screen and (max-width: 768px) {
  .page-top .voice__item-btn img {
    width: 14px;
  }
}
@media screen and (max-width: 768px) {
  .page-top .voice .splide-controls > div {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 50px auto 0;
    padding: 0 20px;
    gap: 20px;
  }
}
@media screen and (max-width: 768px) {
  .page-top .voice .splide-controls .splide-prev, .page-top .voice .splide-controls .splide-next {
    width: 48px;
  }
}
@media screen and (max-width: 768px) {
  .page-top .voice .splide-controls .splide-counter {
    color: #7CB6E3;
    font-size: 1.4rem;
  }
}
.page-top .voice__btn {
  margin: 60px auto 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page-top .voice__btn {
    padding: 0 20px;
    margin-top: 50px;
  }
}
.page-top .blog {
  padding: 120px 0;
  background-color: #F8F5ED;
}
@media screen and (max-width: 768px) {
  .page-top .blog {
    padding: 80px 0;
  }
}
@media screen and (max-width: 768px) {
  .page-top .blog .section-title {
    padding: 0 20px;
  }
}
.page-top .blog__inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .page-top .blog__inner {
    max-width: 100%;
    padding: 0;
  }
}
@media screen and (min-width: 769px) {
  .page-top .blog .splide {
    margin-top: 60px;
    visibility: visible;
  }
}
@media screen and (max-width: 768px) {
  .page-top .blog .splide {
    margin-top: 50px;
  }
}
@media screen and (min-width: 769px) {
  .page-top .blog .splide__list {
    display: flex !important;
    gap: 2.5%;
  }
}
@media screen and (min-width: 769px) {
  .page-top .blog .splide__slide {
    width: 31.6666666667%;
  }
}
@media screen and (max-width: 768px) {
  .page-top .blog .splide__slide {
    width: 77.2727272727vw;
  }
}
.page-top .blog__thumbnail {
  aspect-ratio: 380/260;
  border-radius: 16px;
}
@media screen and (max-width: 768px) {
  .page-top .blog__thumbnail {
    aspect-ratio: 340/233;
  }
}
.page-top .blog__thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page-top .blog__text {
  display: block;
  margin-top: 20px;
  font-weight: 300;
  line-height: 1.8;
  text-decoration: underline;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
}
.page-top .blog__btn {
  margin: 60px auto 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page-top .blog__btn {
    margin-top: 50px;
    padding: 0 20px;
  }
}
@media screen and (max-width: 768px) {
  .page-top .blog .splide-controls > div {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 50px auto 0;
    padding: 0 20px;
    gap: 20px;
  }
}
@media screen and (max-width: 768px) {
  .page-top .blog .splide-controls .splide-prev, .page-top .blog .splide-controls .splide-next {
    width: 48px;
  }
}
@media screen and (max-width: 768px) {
  .page-top .blog .splide-controls .splide-counter {
    color: #7CB6E3;
    font-size: 1.4rem;
  }
}

.low-page {
  background-color: #F8F5ED;
}
.low-page .mv {
  padding: 190px 0 120px;
  background-image: url("../images/lowpage/bg-mv.webp");
  background-size: cover;
}
@media screen and (max-width: 768px) {
  .low-page .mv {
    padding: 122px 0 61px;
    background-image: url("../images/lowpage/bg-mv-sp.webp");
  }
}
.low-page .mv__inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .low-page .mv__inner {
    max-width: 100%;
  }
}
.low-page .mv__title {
  padding-left: 60px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .low-page .mv__title {
    padding-left: 47px;
  }
}
.low-page .mv__title::after {
  content: "";
  width: 35px;
  height: 4px;
  background: linear-gradient(to right, #F2CCD7 0%, #7BB6E3 100%);
  position: absolute;
  top: 26px;
  left: 0;
}
@media screen and (max-width: 768px) {
  .low-page .mv__title::after {
    top: 14px;
  }
}
.low-page .mv__title .--contact {
  width: 242px;
}
@media screen and (max-width: 768px) {
  .low-page .mv__title .--contact {
    width: 183px;
  }
}
.low-page .mv__title .--philosophy {
  width: 503px;
  max-width: 100%;
}
@media screen and (max-width: 768px) {
  .low-page .mv__title .--philosophy {
    width: 311px;
  }
}
.low-page .mv__title .--privacypolicy {
  width: 457px;
  max-width: 100%;
}
@media screen and (max-width: 768px) {
  .low-page .mv__title .--privacypolicy {
    width: 284px;
  }
}
.low-page .mv__title-bottom {
  font-size: 1.8rem;
  font-weight: 500;
  margin-top: 25px;
  display: block;
}
@media screen and (max-width: 768px) {
  .low-page .mv__title-bottom {
    margin-top: 11px;
  }
}
.low-page .breadcrumbs {
  padding: 36px 0;
}
@media screen and (max-width: 768px) {
  .low-page .breadcrumbs {
    padding: 16px 0;
  }
}
.low-page .breadcrumbs__inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .low-page .breadcrumbs__inner {
    max-width: 100%;
  }
}
.low-page .breadcrumbs__list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 0;
}
.low-page .breadcrumbs__item:not(:first-of-type) {
  margin-left: 1em;
  padding-left: 1em;
  position: relative;
}
.low-page .breadcrumbs__item:not(:first-of-type)::after {
  content: "";
  width: 6px;
  height: 10px;
  background-image: url("../images/lowpage/icon-arrow-to-left.svg");
  background-size: cover;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(-50%, -50%);
}
.low-page .breadcrumbs__link {
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 1.4;
  text-decoration: underline;
}
.low-page .breadcrumbs__link.--current {
  text-decoration: none;
}

.page-contact .page-contact-contents {
  margin-top: 30px;
  padding-bottom: 146px;
}
@media screen and (max-width: 768px) {
  .page-contact .page-contact-contents {
    margin-top: 44px;
    padding-bottom: 80px;
  }
}
.page-contact .page-contact-contents__inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .page-contact .page-contact-contents__inner {
    max-width: 100%;
  }
}
.page-contact .page-contact-contents__top {
  display: flex;
  align-items: flex-start;
  gap: 35px;
  padding-left: 8.3333333333%;
}
@media screen and (max-width: 768px) {
  .page-contact .page-contact-contents__top {
    flex-direction: column;
    gap: 16px;
    padding-left: 10px;
  }
}
.page-contact .page-contact-contents__top > img {
  width: 252px;
}
.page-contact .page-contact-contents__top > div {
  margin-top: 4px;
}
@media screen and (max-width: 768px) {
  .page-contact .page-contact-contents__top > div {
    margin-top: 0;
  }
}
.page-contact .page-contact-contents__top > div p {
  font-size: 1.6rem;
}
.page-contact .page-contact-contents__top > div p.--top {
  font-weight: bold;
}
.page-contact .page-contact-contents__form {
  margin-top: 63px;
  border: 1px solid #D2CDC4;
  border-radius: 24px;
  padding: 60px 20px 80px;
}
@media screen and (max-width: 768px) {
  .page-contact .page-contact-contents__form {
    margin-top: 28px;
    padding: 40px 20px 50px;
  }
}
.page-contact .page-contact-contents__thanks-title {
  font-size: min(8.6486486486vw, 3.2rem);
  font-weight: normal;
  text-align: center;
}
.page-contact .page-contact-contents__thanks-title + p {
  margin-top: 40px;
  font-size: 1.6rem;
  line-height: 2;
  text-align: center;
}
.page-contact .page-contact-contents__home {
  margin: 40px auto 0;
  width: 270px;
  min-height: 52px;
  color: #B29662;
  font-size: 1.6rem;
  display: flex;
  align-items: center;
  border: 2px solid #B29662;
  border-radius: 50px;
  padding: 5px 40px;
  position: relative;
}
@media (any-hover: hover) {
  .page-contact .page-contact-contents__home:hover {
    filter: none;
    background-color: #B29662;
    color: #fff;
  }
  .page-contact .page-contact-contents__home:hover img {
    filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(645%) hue-rotate(27deg) brightness(118%) contrast(100%);
  }
}
.page-contact .page-contact-contents__home img {
  width: 24px;
  position: absolute;
  top: 57%;
  right: 17px;
  transform: translateY(-50%);
}
.page-contact .contact-form {
  max-width: 1000px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page-contact .contact-form {
    max-width: 100%;
  }
}
.page-contact .contact-form__item {
  display: flex;
  align-items: center;
  gap: 40px;
  padding: 40px 0;
  border-bottom: 1px solid #D2CDC4;
}
@media screen and (max-width: 768px) {
  .page-contact .contact-form__item {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    padding: 38px 0;
  }
}
.page-contact .contact-form__item:first-of-type {
  padding-top: 0;
}
.page-contact .contact-form__item dt {
  min-width: 300px;
}
@media screen and (max-width: 768px) {
  .page-contact .contact-form__item dt {
    min-width: auto;
  }
}
.page-contact .contact-form__item dd {
  width: calc(100% - 300px - 40px);
  font-size: 2.4rem;
  font-weight: normal;
}
@media screen and (max-width: 768px) {
  .page-contact .contact-form__item dd {
    width: 100%;
  }
}
.page-contact .contact-form__item dd input:not([type=checkbox]) {
  display: block;
  width: 100%;
  max-width: 574px;
  border: 1px solid #CCCCCC;
  background-color: #fff;
  font-size: 1.8rem;
  padding: 15px;
}
@media screen and (max-width: 768px) {
  .page-contact .contact-form__item dd input:not([type=checkbox]) {
    max-width: 100%;
  }
}
.page-contact .contact-form__item dd textarea {
  display: block;
  width: 100%;
  min-height: 270px;
  border: 1px solid #CCCCCC;
  background-color: #fff;
  font-size: 1.8rem;
  padding: 15px;
}
@media screen and (max-width: 768px) {
  .page-contact .contact-form__item dd textarea {
    min-height: 230px;
  }
}
.page-contact .contact-form__item-label {
  font-size: 2rem;
  display: flex;
  align-items: center;
  gap: 10px;
}
.page-contact .contact-form__item-label .--required {
  display: block;
  padding: 0 16px;
  background-color: #D18D91;
  font-size: 1.6rem;
  color: #fff;
  flex: 0 0 auto;
}
.page-contact .contact-form__input-check {
  display: none;
}
.page-contact .contact-form__input-check:checked + .contact-form__checkbox::after {
  opacity: 1;
}
.page-contact .contact-form__checkbox {
  padding-left: 33px;
  font-size: 2rem;
  position: relative;
}
.page-contact .contact-form__checkbox::before {
  content: "";
  width: 24px;
  height: 24px;
  background-color: #fff;
  border: 2px solid #6B6B6B;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  border-radius: 50%;
}
.page-contact .contact-form__checkbox::after {
  content: "";
  width: 14px;
  height: 14px;
  background-color: #6B6B6B;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 5px;
  transform: translateY(-50%);
  transition: opacity 0.3s;
  opacity: 0;
}
.page-contact .contact-form__btn {
  margin: 100px auto 0;
  text-align: center;
  position: relative;
}
.page-contact .contact-form__btn .btn.--back {
  border: 2px solid #B8AD9B;
  background: none;
  color: #B8AD9B;
  width: 170px;
  min-height: 42px;
  font-size: 1.6rem;
  padding: 5px 5px 5px 8px;
  text-align: center;
  justify-content: center;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 768px) {
  .page-contact .contact-form__btn .btn.--back {
    position: relative;
    display: flex;
    margin: 40px auto 0;
    width: 220px;
    min-height: 55px;
    font-size: 2.1rem;
    padding-left: 18px;
  }
}
.page-contact .contact-form__btn .btn.--back::after, .page-contact .contact-form__btn .btn.--back::before {
  display: none;
}
@media (any-hover: hover) {
  .page-contact .contact-form__btn .btn.--back:hover {
    filter: none;
    background-color: #B8AD9B;
    color: #fff;
  }
  .page-contact .contact-form__btn .btn.--back:hover img {
    filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(645%) hue-rotate(27deg) brightness(118%) contrast(100%);
  }
}
.page-contact .contact-form__btn .btn.--back img {
  right: auto;
  left: 8px;
  width: 27px;
  transition: filter 0.3s;
}
@media screen and (max-width: 768px) {
  .page-contact .contact-form__btn .btn.--back img {
    left: 40px;
  }
}
.page-contact .contact-form__btn .btn.--small {
  width: 288px;
}
@media screen and (max-width: 768px) {
  .page-contact .contact-form__btn .btn.--small {
    width: 360px;
  }
}
.page-contact .contact-form input:not([type=checkbox]).--error, .page-contact .contact-form textarea.--error {
  background-color: #FAEDED;
}
.page-contact .contact-form__error-text {
  margin-top: 10px;
  display: flex;
  align-items: center;
  gap: 13px;
  font-size: 1.6rem;
  color: #C33B43;
}
@media screen and (max-width: 768px) {
  .page-contact .contact-form__error-text {
    margin-top: 20px;
  }
}
.page-contact .contact-form__error-text .--icon {
  display: block;
  width: 26px;
  height: 26px;
  background-color: #C33B43;
  border-radius: 50%;
  position: relative;
}
.page-contact .contact-form__error-text .--icon::before, .page-contact .contact-form__error-text .--icon::after {
  content: "";
  width: 15px;
  height: 2px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 1px;
}
.page-contact .contact-form__error-text .--icon::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.page-contact .contact-form__error-text .--icon::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.page-philosophy .philosophy-top {
  padding-top: 38px;
  padding-bottom: 82px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-top {
    padding-top: 30px;
    padding-bottom: 0;
  }
}
.page-philosophy .philosophy-top__inner {
  max-width: 1234px;
  padding: 0 20px;
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-top__inner {
    max-width: 100%;
    padding: 0;
  }
}
.page-philosophy .philosophy-top__img {
  width: 550px;
  max-width: calc(100% - 410px);
  position: absolute;
  bottom: calc(100% - 39px);
  right: -74px;
  border-radius: 24px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-top__img {
    width: 380px;
    max-width: 100%;
    bottom: auto;
    bottom: calc(100% - 62px);
    right: -23px;
  }
}
.page-philosophy .philosophy-top__title {
  font-size: 4rem;
  line-height: 2.1;
  letter-spacing: 0.04em;
  font-weight: normal;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-top__title {
    padding: 0 20px;
    font-size: 2.6rem;
  }
}
.page-philosophy .philosophy-top__title .--top {
  display: block;
  line-height: 1.6;
}
.page-philosophy .philosophy-top__title .--gradation {
  background: linear-gradient(to right, #E898AF, #63A6DA);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 6.2rem;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-top__title .--gradation {
    font-size: 4rem;
  }
}
.page-philosophy .philosophy-top__body {
  margin-top: 77px;
  background-color: #fff;
  border-radius: 24px;
  margin-right: 74px;
  padding: 90px 20px 100px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-top__body {
    margin-top: 221px;
    border-radius: 0;
    margin-right: 0;
    padding: 100px 20px 80px;
  }
}
.page-philosophy .philosophy-top__body .--inner {
  max-width: 1000px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-top__body .--inner {
    max-width: 100%;
  }
}
.page-philosophy .philosophy-top__title-sub {
  max-width: 652px;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-top__title-sub {
    max-width: 315px;
  }
}
.page-philosophy .philosophy-top__body-top {
  margin-top: 53px;
  margin-bottom: 30px;
  display: flex;
  gap: 40px;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-top__body-top {
    margin-top: 30px;
    flex-direction: column-reverse;
    align-items: center;
  }
}
.page-philosophy .philosophy-top__body-top .--img {
  width: 300px;
  flex: 0 0 auto;
}
.page-philosophy .philosophy-top__body-top .--img p {
  margin-top: 20px;
  font-size: 2.4rem;
  font-weight: 500;
  text-align: center;
}
.page-philosophy .philosophy-top__body-top .--body {
  width: 660px;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-top__body-top .--body {
    width: 100%;
  }
}
.page-philosophy .philosophy-top__desc {
  line-height: 2.4;
}
.page-philosophy .philosophy-team {
  padding: 120px 0;
  border-top: 1px solid #fff;
  background-color: #ECF6F9;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-team {
    padding: 80px 0;
  }
}
.page-philosophy .philosophy-team__inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-team__inner {
    max-width: 100%;
    padding: 0;
  }
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-team .section-title {
    padding: 0 20px;
  }
}
@media screen and (min-width: 769px) {
  .page-philosophy .philosophy-team .splide {
    margin-top: 60px;
    visibility: visible;
  }
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-team .splide {
    margin-top: 50px;
  }
}
@media screen and (min-width: 769px) {
  .page-philosophy .philosophy-team .splide__list {
    display: flex !important;
    gap: 2.5%;
  }
}
.page-philosophy .philosophy-team .splide__slide {
  border-radius: 16px;
  background-color: #fff;
  padding: 30px min(2.5vw, 30px);
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 769px) {
  .page-philosophy .philosophy-team .splide__slide {
    width: 31.6666666667%;
  }
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-team .splide__slide {
    width: 77.2727272727vw;
    padding: 24px min(6.8181818182vw, 30px);
  }
}
.page-philosophy .philosophy-team__thumbnail {
  border-radius: 8px;
}
.page-philosophy .philosophy-team__desc {
  margin-top: 20px;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-team__desc {
    margin-top: 14px;
  }
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-team .splide-controls > div {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 50px auto 0;
    padding: 0 20px;
    gap: 20px;
  }
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-team .splide-controls .splide-prev, .page-philosophy .philosophy-team .splide-controls .splide-next {
    width: 48px;
  }
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-team .splide-controls .splide-counter {
    color: #7CB6E3;
    font-size: 1.4rem;
  }
}
.page-philosophy .philosophy-blog {
  padding: 120px 0;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-blog {
    padding: 80px 0;
  }
}
.page-philosophy .philosophy-blog__inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-blog__inner {
    max-width: 100%;
    padding: 0;
  }
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-blog .section-title {
    padding: 0 20px;
  }
}
@media screen and (min-width: 769px) {
  .page-philosophy .philosophy-blog .splide {
    margin-top: 60px;
    visibility: visible;
  }
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-blog .splide {
    margin-top: 50px;
  }
}
@media screen and (min-width: 769px) {
  .page-philosophy .philosophy-blog .splide__list {
    display: flex !important;
    gap: 2.5%;
  }
}
@media screen and (min-width: 769px) {
  .page-philosophy .philosophy-blog .splide__slide {
    width: 31.6666666667%;
  }
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-blog .splide__slide {
    width: 77.2727272727vw;
  }
}
.page-philosophy .philosophy-blog__thumbnail {
  aspect-ratio: 380/260;
  border-radius: 16px;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-blog__thumbnail {
    aspect-ratio: 340/233;
  }
}
.page-philosophy .philosophy-blog__thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page-philosophy .philosophy-blog__text {
  display: block;
  margin-top: 20px;
  font-weight: 300;
  line-height: 1.8;
  text-decoration: underline;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
}
.page-philosophy .philosophy-blog__btn {
  margin: 60px auto 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-blog__btn {
    margin-top: 50px;
    padding: 0 20px;
  }
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-blog .splide-controls > div {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 50px auto 0;
    padding: 0 20px;
    gap: 20px;
  }
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-blog .splide-controls .splide-prev, .page-philosophy .philosophy-blog .splide-controls .splide-next {
    width: 48px;
  }
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-blog .splide-controls .splide-counter {
    color: #7CB6E3;
    font-size: 1.4rem;
  }
}
.page-philosophy .philosophy-strengths {
  padding: 120px 0;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-strengths {
    padding: 80px 0 100px;
  }
}
.page-philosophy .philosophy-strengths__inner {
  max-width: 1240px;
  padding: 0 20px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-strengths__inner {
    max-width: 100%;
  }
}
.page-philosophy .philosophy-strengths__top {
  margin-top: 40px;
  line-height: 2.4;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-strengths__top {
    margin-top: 30px;
  }
}
.page-philosophy .philosophy-strengths__item {
  margin-top: 100px;
  padding: 50px 20px 80px;
  border-radius: 24px;
  background-color: #fff;
  position: relative;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-strengths__item {
    margin-top: 80px;
    padding: 30px 20px 70px;
  }
}
.page-philosophy .philosophy-strengths__item:first-of-type {
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-strengths__item:first-of-type {
    margin-top: 50px;
  }
}
.page-philosophy .philosophy-strengths__item .--inner {
  max-width: 1120px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-strengths__item .--inner {
    max-width: 100%;
  }
}
.page-philosophy .philosophy-strengths__title-sub {
  padding-left: 44px;
  font-size: 3.6rem;
  font-weight: normal;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-strengths__title-sub {
    padding-left: 27px;
    font-size: 2rem;
  }
}
.page-philosophy .philosophy-strengths__title-sub .--gradation {
  background: linear-gradient(to right, #E898AF, #63A6DA);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 4.6rem;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-strengths__title-sub .--gradation {
    font-size: 3rem;
  }
}
.page-philosophy .philosophy-strengths__title-sub .--top {
  display: block;
  font-size: 2.4rem;
  font-weight: 500;
  position: relative;
  font-family: "Noto sans JP", sans-serif;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-strengths__title-sub .--top {
    font-size: 1.8rem;
    margin-bottom: 8px;
  }
}
.page-philosophy .philosophy-strengths__title-sub .--top::after {
  content: "";
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: linear-gradient(-140deg, #F2CCD7 0%, #7BB6E3 100%);
  position: absolute;
  top: 50%;
  left: -44px;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-strengths__title-sub .--top::after {
    width: 16px;
    height: 16px;
    left: -27px;
  }
}
.page-philosophy .philosophy-strengths__body {
  margin-top: 38px;
  display: flex;
  align-items: center;
  gap: 40px;
}
@media screen and (max-width: 999px) {
  .page-philosophy .philosophy-strengths__body {
    display: block;
    margin-top: 20px;
  }
}
.page-philosophy .philosophy-strengths__body.--rev {
  flex-direction: row-reverse;
}
.page-philosophy .philosophy-strengths__body .--img {
  max-width: 430px;
}
@media screen and (max-width: 999px) {
  .page-philosophy .philosophy-strengths__body .--img {
    max-width: 100%;
    margin-bottom: 20px;
  }
}
.page-philosophy .philosophy-strengths__contents {
  max-width: 610px;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-strengths__contents {
    max-width: 100%;
  }
}
.page-philosophy .philosophy-strengths__contents p {
  line-height: 2;
}
.page-philosophy .philosophy-strengths__contents ul {
  margin: 14px 0;
}
.page-philosophy .philosophy-strengths__contents ul li {
  padding-left: 1em;
  position: relative;
  font-size: 1.8rem;
  line-height: 2;
  color: #D18D91;
  font-weight: 500;
}
.page-philosophy .philosophy-strengths__contents ul li::after {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
.page-philosophy .philosophy-strengths__btn {
  padding: 10px 26px 10px 40px;
  width: 263px;
  min-height: 62px;
  border-radius: 50px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: 2px solid #B29662;
  background-color: #FBF9F3;
  font-size: 2rem;
  color: #B29662;
  position: absolute;
  bottom: 0;
  right: 60px;
  transform: translateY(50%);
}
@media screen and (max-width: 999px) {
  .page-philosophy .philosophy-strengths__btn {
    right: 50%;
    transform: translate(50%, 50%);
  }
}
@media (any-hover: hover) {
  .page-philosophy .philosophy-strengths__btn:hover {
    background-color: #B29662;
    color: #FBF9F3;
  }
  .page-philosophy .philosophy-strengths__btn:hover img {
    filter: brightness(0) saturate(100%) invert(93%) sepia(17%) saturate(239%) hue-rotate(10deg) brightness(113%) contrast(97%);
  }
}
.page-philosophy .philosophy-strengths__btn img {
  width: 27px;
  flex: 0 0 auto;
  transition: filter;
}
.page-philosophy .philosophy-profile {
  padding: 100px 0;
  background-color: #ECF6F9;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-profile {
    padding: 80px 0;
  }
}
.page-philosophy .philosophy-profile__inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-profile__inner {
    max-width: 100%;
  }
}
.page-philosophy .philosophy-profile__body {
  margin-top: 60px;
  background-color: #fff;
  border-radius: 24px;
  padding: 40px 20px 60px;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-profile__body {
    margin-top: 50px;
    padding: 30px 20px 60px;
  }
}
.page-philosophy .philosophy-profile__body dl {
  max-width: 1100px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-profile__body dl {
    max-width: 100%;
  }
}
.page-philosophy .philosophy-profile__body dl > div {
  display: flex;
  padding: 20px 40px 30px;
  border-bottom: 1px solid #CCC;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-profile__body dl > div {
    padding: 20px 0 30px;
  }
}
.page-philosophy .philosophy-profile__body dl > div:not(:first-of-type) {
  margin-top: 10px;
}
.page-philosophy .philosophy-profile__body dl dt {
  font-size: 1.8rem;
  color: #63A6DA;
  font-weight: 500;
  min-width: 240px;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-profile__body dl dt {
    min-width: 126px;
  }
}
.page-philosophy .philosophy-profile__body dl dd {
  font-size: 1.8rem;
}
.page-philosophy .philosophy-profile__body dl dd a {
  color: #083D68;
  text-decoration: underline;
}
.page-philosophy .philosophy-profile__body dl dd ul li {
  padding-left: 1em;
  position: relative;
}
.page-philosophy .philosophy-profile__body dl dd ul li::after {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
.page-philosophy .philosophy-contract {
  padding: 80px 0 113px;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-contract {
    padding: 80px 0;
  }
}
.page-philosophy .philosophy-contract__inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-contract__inner {
    max-width: 100%;
  }
}
.page-philosophy .philosophy-contract__top {
  margin-top: 64px;
}
.page-philosophy .philosophy-contract__top ol {
  display: flex;
}
.page-philosophy .philosophy-contract__top ol li {
  width: 25%;
  padding: 24px 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background-color: #F3EBD7;
}
.page-philosophy .philosophy-contract__top ol li:first-of-type {
  border-top-left-radius: 16px;
  border-bottom-left-radius: 16px;
}
.page-philosophy .philosophy-contract__top ol li:last-of-type {
  border-top-right-radius: 16px;
  border-bottom-right-radius: 16px;
}
.page-philosophy .philosophy-contract__top ol li:nth-of-type(2n - 1) {
  background-color: #fff;
}
.page-philosophy .philosophy-contract__top ol li:not(:first-of-type) {
  position: relative;
}
.page-philosophy .philosophy-contract__top ol li:not(:first-of-type)::after {
  content: "";
  border-top: 25px solid transparent;
  border-right: 0px solid transparent;
  border-bottom: 25px solid transparent;
  border-left: 20px solid #fff;
  position: absolute;
  top: 50%;
  left: -1px;
  transform: translateY(-50%);
}
.page-philosophy .philosophy-contract__top ol li:nth-of-type(3)::after {
  border-left: 20px solid #F3EBD7;
}
.page-philosophy .philosophy-contract__top ol li .--top {
  display: block;
  color: #B29662;
  font-size: 3rem;
  font-weight: 500;
  padding-bottom: 4px;
  position: relative;
}
@media screen and (max-width: 999px) {
  .page-philosophy .philosophy-contract__top ol li .--top {
    font-size: 2rem;
  }
}
.page-philosophy .philosophy-contract__top ol li .--top::after {
  content: "";
  width: 40px;
  height: 2px;
  background-color: #B29662;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.page-philosophy .philosophy-contract__top ol li .--top span {
  font-size: 2rem;
}
@media screen and (max-width: 999px) {
  .page-philosophy .philosophy-contract__top ol li .--top span {
    font-size: 1.6rem;
  }
}
.page-philosophy .philosophy-contract__top ol li .--body {
  margin-top: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  min-height: 2em;
  line-height: 1.4;
  font-size: 2.8rem;
}
@media screen and (max-width: 999px) {
  .page-philosophy .philosophy-contract__top ol li .--body {
    font-size: 2rem;
  }
}
.page-philosophy .philosophy-contract__top ol li .--body .--large {
  font-size: 3rem;
}
@media screen and (max-width: 999px) {
  .page-philosophy .philosophy-contract__top ol li .--body .--large {
    font-size: 2.2rem;
  }
}
.page-philosophy .philosophy-contract__top ol li .--body .--small {
  font-size: 2rem;
}
@media screen and (max-width: 999px) {
  .page-philosophy .philosophy-contract__top ol li .--body .--small {
    font-size: 1.6rem;
  }
}
.page-philosophy .philosophy-contract__contents {
  margin-top: 64px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-contract__contents {
    margin-top: 50px;
  }
}
.page-philosophy .philosophy-contract__contents::before {
  content: "";
  width: 10px;
  height: calc(100% - 10px);
  background-color: #E6DCC9;
  position: absolute;
  top: 5px;
  left: 444px;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-contract__contents::before {
    left: 50%;
    transform: translateX(-50%);
  }
}
.page-philosophy .philosophy-contract__item {
  border-radius: 24px;
  background-color: #fff;
  border: 1px solid #C5B089;
  padding: 40px;
  display: flex;
  align-items: center;
  gap: 40px;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-contract__item {
    padding: 30px;
  }
}
.page-philosophy .philosophy-contract__item:not(:first-of-type) {
  margin-top: 60px;
}
.page-philosophy .philosophy-contract__item:nth-of-type(2n) {
  background-color: #F4EDDD;
}
.page-philosophy .philosophy-contract__item > img {
  width: 300px;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-contract__body {
    text-align: center;
  }
}
.page-philosophy .philosophy-contract__body .--top {
  display: inline-block;
  padding: 0 26px;
  background-color: #B29662;
  border-radius: 60px;
  color: #fff;
  font-size: 3rem;
  font-weight: 500;
}
.page-philosophy .philosophy-contract__body .--top span {
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-contract__body > img {
    max-width: 300px;
    margin: 0 auto;
    display: block;
  }
}
.page-philosophy .philosophy-contract__title-sub {
  margin-top: 15px;
  font-size: 4rem;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-contract__title-sub {
    margin-bottom: 20px;
    font-size: 3rem;
  }
}
.page-philosophy .philosophy-contract__title-sub .--small {
  font-size: 3.4rem;
}
@media screen and (max-width: 768px) {
  .page-philosophy .philosophy-contract__title-sub .--small {
    font-size: 2.4rem;
  }
}
.page-philosophy .philosophy-contract__desc {
  margin-top: 20px;
  font-size: 1.8rem;
  line-height: 1.8;
  text-align: left;
}

.page-privacypolicy .page-privacypolicy-contents {
  padding: 34px 20px 200px;
}
@media screen and (max-width: 768px) {
  .page-privacypolicy .page-privacypolicy-contents {
    padding: 44px 20px 200px;
  }
}
.page-privacypolicy .page-privacypolicy-contents__body {
  padding: 60px 20px;
  background-color: #fff;
  border-radius: 24px;
  max-width: 1200px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page-privacypolicy .page-privacypolicy-contents__body {
    padding: 30px 20px 60px;
    max-width: 100%;
  }
}
.page-privacypolicy .page-privacypolicy-contents__body > div {
  max-width: 1100px;
  margin: 0 auto;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .page-privacypolicy .page-privacypolicy-contents__body > div {
    max-width: 100%;
  }
}
.page-privacypolicy .page-privacypolicy-contents__body dl {
  margin-top: 30px;
}
.page-privacypolicy .page-privacypolicy-contents__body dl > div {
  padding: 30px 0 26px;
}
.page-privacypolicy .page-privacypolicy-contents__body dl > div:not(:last-of-type) {
  border-bottom: 1px solid #DDDDDD;
}
.page-privacypolicy .page-privacypolicy-contents__body dl dt {
  padding-left: 34px;
  font-size: 2.4rem;
  line-height: 1.3;
  font-weight: normal;
  position: relative;
}
@media screen and (max-width: 768px) {
  .page-privacypolicy .page-privacypolicy-contents__body dl dt {
    padding-left: 32px;
    font-size: 2.2rem;
  }
}
.page-privacypolicy .page-privacypolicy-contents__body dl dt::after {
  content: "";
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: linear-gradient(-140deg, #F2CCD7 0%, #7BB6E3 100%);
  position: absolute;
  top: 0.33em;
  left: 0;
}
@media screen and (max-width: 768px) {
  .page-privacypolicy .page-privacypolicy-contents__body dl dt::after {
    top: 0.27em;
  }
}
.page-privacypolicy .page-privacypolicy-contents__body dl dd {
  margin-top: 12px;
}
@media screen and (max-width: 768px) {
  .page-privacypolicy .page-privacypolicy-contents__body dl dd {
    margin-top: 20px;
  }
}
.page-privacypolicy .page-privacypolicy-contents__body dl dd ul li {
  padding-left: 1em;
  position: relative;
}
.page-privacypolicy .page-privacypolicy-contents__body dl dd ul li::after {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
.page-privacypolicy .page-privacypolicy-contents__body dl dd a {
  color: #083D68;
  text-decoration: underline;
}

.animFadeUp {
  opacity: 0;
  transform: translateY(30px);
  transition: transform 1.2s cubic-bezier(0.5, 1, 0.89, 1), opacity 1.2s cubic-bezier(0.5, 1, 0.89, 1);
}
.animFadeUp.on {
  opacity: 1;
  transform: translateY(0);
}/*# sourceMappingURL=base.css.map */