@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100..700;1,100..700&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Zen+Maru+Gothic:wght@400;500;700&display=swap");
html,
body {
  font-size: 16px;
  line-height: 1.6;
  font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  color: #333;
  background: #fcfcfb;
}

h1, h2, h3, h4, h5, h6 {
  font-family: inherit;
}

a {
  color: #333;
  text-decoration: none;
  word-break: break-all;
}

.bold {
  font-weight: 600;
}

.eng {
  font-family: "Josefin Sans", sans-serif;
}

/*--------------------
loader
--------------------*/
#loader {
  width: 100%;
  height: 100%;
  background: #f9f5ec;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 101;
  overflow: hidden;
}
#loader::before, #loader::after {
  content: "";
  display: block;
  width: calc(100% + 80px);
  position: absolute;
  top: 0;
  left: 0;
}
#loader::before {
  height: 160px; /* 高さは必要に応じて調整 */
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 320' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='grad' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0%' stop-color='%23f5efe3' /%3E%3Cstop offset='100%' stop-color='%23f9f5ec' /%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M0,256L26.7,266.7C53.3,277,107,299,160,282.7C213.3,267,267,213,320,170.7C373.3,128,427,96,480,122.7C533.3,149,587,235,640,234.7C693.3,235,747,149,800,122.7C853.3,96,907,128,960,149.3C1013.3,171,1067,181,1120,165.3C1173.3,149,1227,107,1280,74.7C1333.3,43,1387,21,1413,10.7L1440,0L1440,0L1413.3,0C1386.7,0,1333,0,1280,0C1226.7,0,1173,0,1120,0C1066.7,0,1013,0,960,0C906.7,0,853,0,800,0C746.7,0,693,0,640,0C586.7,0,533,0,480,0C426.7,0,373,0,320,0C266.7,0,213,0,160,0C106.7,0,53,0,27,0L0,0Z' fill='url(%23grad)' /%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
}
#loader::after {
  height: 100px; /* 高さは必要に応じて調整 */
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 320' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='grad' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0%' stop-color='%23f9f5ec' /%3E%3Cstop offset='100%' stop-color='%23f5efe3' /%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M0,256L26.7,266.7C53.3,277,107,299,160,282.7C213.3,267,267,213,320,170.7C373.3,128,427,96,480,122.7C533.3,149,587,235,640,234.7C693.3,235,747,149,800,122.7C853.3,96,907,128,960,149.3C1013.3,171,1067,181,1120,165.3C1173.3,149,1227,107,1280,74.7C1333.3,43,1387,21,1413,10.7L1440,0L1440,0L1413.3,0C1386.7,0,1333,0,1280,0C1226.7,0,1173,0,1120,0C1066.7,0,1013,0,960,0C906.7,0,853,0,800,0C746.7,0,693,0,640,0C586.7,0,533,0,480,0C426.7,0,373,0,320,0C266.7,0,213,0,160,0C106.7,0,53,0,27,0L0,0Z' fill='url(%23grad)' /%3E%3C/svg%3E");
}
#loader .load_txt {
  width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
#loader .load_txt h2 {
  font-size: 1.5rem;
  font-weight: 600;
  text-align: center;
  background: linear-gradient(135deg, #2580ee, #e89686);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}
#loader .load_txt h2 span {
  font-size: 2rem;
  font-weight: 600;
}

/*--------------------
共通コンテナ
--------------------*/
.container {
  padding: 80px 1rem;
}

.m_box {
  padding: 1rem;
}

.m_box2 {
  padding: 2rem;
}

.hr_line {
  margin: 1rem 0;
  border-top: 1px solid #ccc;
}

.relative {
  position: relative;
  z-index: 1;
}

.box_r {
  border-radius: 1rem;
}

.border {
  border: 4px solid #333;
}

.gmap {
  width: 100%;
  padding-top: 33.3333333333%;
  position: relative;
}
.gmap iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

/*--------------------
背景デザイン
--------------------*/
.bg_base {
  background: #2580ee;
}

.bg_sub {
  background: #e89686;
}

.bg_white {
  background: #fcfcfb;
}

.bg_gray {
  background: #fafafa;
}

.bg_beige {
  background: #f9f5ec;
}

.main_bg {
  background: linear-gradient(0deg, rgba(252, 252, 251, 0.7), rgba(252, 252, 251, 0.7)), url(../img/polygon.png) no-repeat center/cover;
}

.bg_grad {
  background: linear-gradient(135deg, white 0%, rgb(248.2916666667, 224.375, 219.7083333333) 100%);
}

.bg_half_l {
  position: relative;
}
.bg_half_l::before {
  content: "";
  display: block;
  width: 85%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(135deg, white 0%, rgb(248.2916666667, 224.375, 219.7083333333) 100%);
}

.bg_border {
  border: 2px solid #2580ee;
}

/*--------------------
liデザイン
--------------------*/
.list_check li {
  padding-left: 1rem;
  position: relative;
}
.list_check li::before {
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f00c";
  font-weight: 900;
  font-size: 1rem;
  font-weight: 600;
  color: #2580ee;
  position: absolute;
  top: 5px;
  left: 0;
}
.list_check li:not(:last-of-type) {
  margin-bottom: 0.5rem;
}
.list_check.large li {
  font-size: 1.25rem;
}

.list_dot li {
  padding: 0.25rem 0;
  padding-left: 0.75rem;
  border-bottom: 1px solid #ccc;
  position: relative;
}
.list_dot li::before {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  background: #e89686;
  border-radius: 50%;
  position: absolute;
  top: 14px;
  left: 0;
}
.list_dot.small li {
  font-size: 0.75rem;
  border-bottom: 1px solid #fafafa;
}
.list_dot.small li::before {
  top: 12px;
}

.list_dot2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
}
.list_dot2 li {
  padding: 0.25rem 1rem;
  padding-left: 1.125rem;
  margin: 0.25rem;
  background: #fafafa;
  font-size: 14px;
  border-radius: 2rem;
  position: relative;
}
.list_dot2 li::before {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  background: #e89686;
  border-radius: 50%;
  position: absolute;
  top: 13px;
  left: 0.5rem;
}

/*--------------------
カラム共通CSS
--------------------*/
.flx_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
}
.flx_box .flx_inner {
  width: 49%;
}
.flx_box .flx_inner2 {
  width: 60%;
}
.flx_box .flx_inner3 {
  width: 38%;
}
.flx_box .flx_inner4 {
  width: 70%;
}
.flx_box .flx_inner5 {
  width: 28%;
}
.flx_box .flx_inner6 {
  width: 78%;
}
.flx_box .flx_inner7 {
  width: 20%;
}
.flx_box img {
  width: 100%;
  border-radius: 5px;
}
.flx_box.jc_center {
  justify-content: center;
}
.flx_box.ai_center {
  align-items: center;
}

.reverse {
  flex-direction: row-reverse;
}

/*--------------------
共通見出し
--------------------*/
.m_text {
  font-size: 1.5rem;
}

.m_text2 {
  font-size: 1.25rem;
}

.marker_g {
  background: linear-gradient(transparent 65%, rgba(188, 208, 10, 0.5) 65%);
}

.marker_o {
  background: linear-gradient(transparent 65%, rgba(243, 125, 74, 0.5) 65%);
}

.marker_y {
  background: linear-gradient(transparent 65%, rgba(255, 236, 92, 0.5) 65%);
}

.h_ttl {
  font-size: 1.25rem;
  margin-bottom: 1rem;
}
.h_ttl span {
  font-weight: 600;
  background: linear-gradient(transparent 65%, rgba(241, 198, 190, 0.5) 65%);
}

.sub_ttl {
  padding-left: 1rem;
  position: relative;
}
.sub_ttl::before {
  content: "";
  display: block;
  width: 0.75rem;
  height: 4px;
  background: #2580ee;
  position: absolute;
  top: 11px;
  left: 0;
}

/*--------------------
header
--------------------*/
header {
  width: 100%;
  padding: 1rem;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  transform: translateY(-100%);
  transition: 0.5s ease-in-out;
}
header.fixed {
  transform: translateY(0);
}
header.fix_bg {
  background: rgba(252, 252, 251, 0.8);
}

.head_wrap #logo {
  width: 160px;
  position: relative;
  z-index: 99;
}
.head_wrap #logo img {
  width: 100%;
}

.nav_wrap {
  width: 100%;
  height: 100vh;
  padding: 6rem 1rem 1rem;
  background: linear-gradient(135deg, #fcfcfb, #f9f5ec);
  position: fixed;
  top: 0;
  left: 0;
  opacity: 0;
  visibility: hidden;
  transition: 0.8s cubic-bezier(0.68, -0.55, 0.27, 1.55);
}
.nav_wrap nav ul li a {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  display: block;
  padding: 1rem 0;
  border-bottom: 1px solid rgba(51, 51, 51, 0.1);
  font-size: 2rem;
  color: #333;
  text-align: center;
}
.nav_wrap .nav_entry {
  padding: 2rem 1rem 0;
}
.nav_wrap .nav_entry a {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  font-size: 2rem;
  display: block;
  text-align: center;
  padding: 1rem 2rem 0.5rem;
  background: linear-gradient(135deg, #2580ee, #e89686);
  color: #fcfcfb;
  border-radius: 4rem;
}

#nav_toggle {
  width: 40px;
  height: 40px;
  padding: 0.5rem;
  background: #594d45;
  border: 1px solid #fcfcfb;
  border-radius: 5px;
  cursor: pointer;
  position: fixed;
  top: 1rem;
  right: 1rem;
}
#nav_toggle span {
  display: block;
  width: 26px;
  height: 1px;
  background: #fcfcfb;
  transition: 0.5s ease;
  position: absolute;
  left: 6px;
}
#nav_toggle span:nth-of-type(1) {
  top: 9px;
}
#nav_toggle span:nth-of-type(2) {
  top: 19px;
}
#nav_toggle span:nth-of-type(3) {
  top: 29px;
}

.open .nav_wrap {
  opacity: 1;
  visibility: visible;
}
.open #nav_toggle span:nth-of-type(1) {
  top: 19px;
  transform: rotate(-135deg);
}
.open #nav_toggle span:nth-of-type(2) {
  opacity: 0;
}
.open #nav_toggle span:nth-of-type(3) {
  top: 19px;
  transform: rotate(135deg);
}

/*--------------------
メインビジュアル
--------------------*/
#mainvisual {
  width: 100%;
  height: 640px;
  position: relative;
  overflow: hidden;
}
#mainvisual::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(51, 51, 51, 0.1);
  position: absolute;
  top: 0;
  left: 0;
}
#mainvisual figure {
  width: 100%;
  height: 100%;
}
#mainvisual figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#mainvisual .wave {
  width: 100%;
  height: 100px; /* 高さは必要に応じて調整 */
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 320' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cpath d='M0,32L48,53.3C96,75,192,117,288,122.7C384,128,480,96,576,112C672,128,768,192,864,224C960,256,1056,256,1152,218.7C1248,181,1344,107,1392,69.3L1440,32L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z' fill='%23f9f5ec'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  position: absolute;
  bottom: 0;
  left: 0;
}

.catch_wrap {
  position: absolute;
  bottom: 6rem;
  left: 1rem;
}
.catch_wrap h2 .main_catch {
  position: relative;
}
.catch_wrap h2 .main_catch span {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 600;
  letter-spacing: 0;
  font-size: 4.5rem;
  color: #fcfcfb;
  line-height: 1.5;
}
.catch_wrap h2 .main_catch p {
  font-weight: 600;
  font-size: 1.25rem;
  position: absolute;
  top: 5.25rem;
  left: 0;
}
.catch_wrap h2 > p {
  margin-top: 0.5rem;
  font-size: 1.125rem;
}
.catch_wrap h2 > p:nth-of-type(1) {
  font-size: 1.75rem;
  font-weight: 600;
}

.sub_catch {
  display: none;
}

.catch_text {
  background: #f9f5ec;
  position: relative;
}
.catch_text .text_wrap {
  padding: 2rem 1rem;
  text-align: center;
}
.catch_text .text_wrap h3 {
  font-size: 2rem;
  font-weight: 600;
  padding-bottom: 1rem;
  position: relative;
  z-index: 1;
}
.catch_text .text_wrap h3::before {
  content: "";
  display: block;
  width: 100%;
  height: 40px;
  background: url(../img/wave_line.svg) no-repeat center/contain;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
.catch_text .text_wrap p {
  font-size: 1.125rem;
  font-weight: 600;
}
.catch_text .text_wrap p span {
  font-weight: 600;
}

.shape_fill {
  fill: #f9f5ec;
}

/*--------------------
#section01
--------------------*/
#section01 {
  background: linear-gradient(0deg, rgba(252, 252, 251, 0.8), rgba(252, 252, 251, 0.8)), url(../img/deco_bg.svg) no-repeat left/cover;
  background-attachment: fixed;
}
#section01 .container {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 100px;
  padding-bottom: 100px;
  padding-left: 1rem;
  padding-right: 1rem;
}
#section01 .wave_wrap {
  position: relative;
  z-index: 2;
}
#section01 .wave_wrap .wave2 {
  width: 100%;
  height: 100px; /* 高さは必要に応じて調整 */
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 320' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cpath d='M0,96L48,80C96,64,192,32,288,69.3C384,107,480,213,576,256C672,299,768,277,864,234.7C960,192,1056,128,1152,128C1248,128,1344,192,1392,224L1440,256L1440,0L1392,0C1344,0,1248,0,1152,0C1056,0,960,0,864,0C768,0,672,0,576,0C480,0,384,0,288,0C192,0,96,0,48,0L0,0Z' fill='%23f9f5ec'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  position: absolute;
  top: 0;
  left: 0;
}
#section01 .wave_wrap .wave {
  width: 100%;
  height: 100px; /* 高さは必要に応じて調整 */
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 320' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cpath d='M0,32L48,53.3C96,75,192,117,288,122.7C384,128,480,96,576,112C672,128,768,192,864,224C960,256,1056,256,1152,218.7C1248,181,1344,107,1392,69.3L1440,32L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z' fill='%23fcfcfb'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  position: absolute;
  bottom: 0;
  left: 0;
}
#section01 .ttl_01 {
  font-size: 2rem;
  font-weight: 600;
  text-align: center;
  margin-bottom: 2rem;
}
#section01 .ttl_01 span {
  display: block;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 600;
  letter-spacing: 0;
  font-size: 1.25rem;
}
#section01 .work_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin-bottom: 2rem;
}
#section01 .work_list li {
  width: 50%;
  padding: 1rem 0.5rem 0;
  text-align: center;
}
#section01 .work_list li span {
  display: block;
  padding: 0.5rem 1rem;
  background: #2580ee;
  color: #fcfcfb;
  border-radius: 2rem;
}
#section01 .ttl_02 {
  text-align: center;
  margin-bottom: 2rem;
}
#section01 .ttl_02 span {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 600;
  letter-spacing: 0;
  font-size: 1.75rem;
}
#section01 .work_wrap {
  margin: 2rem 0;
}
#section01 .work_wrap h4 {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 1rem;
}
#section01 .work_wrap h4::first-letter {
  font-size: 1.5rem;
  color: #2580ee;
}
#section01 .work_wrap .work_inner2 {
  padding: 2rem 4rem 0;
}
#section01 .work_wrap.v2 {
  margin-bottom: 0;
}
#section01 .marker_text {
  font-size: 1.5rem;
  font-weight: 600;
  text-align: center;
  margin-bottom: 2rem;
}
#section01 .marker_text span {
  font-weight: 600;
}

/*--------------------
#section02
--------------------*/
#section02 {
  position: relative;
  z-index: 1;
}
#section02 .container {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 20px;
  padding-bottom: 60px;
  padding-left: 1rem;
  padding-right: 1rem;
  overflow: hidden;
}
#section02 h2 {
  margin-bottom: 1rem;
  position: relative;
  z-index: 1;
}
#section02 h2 span {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 600;
  letter-spacing: 0;
  display: inline-block;
  font-size: 2.5rem;
  padding-left: 1.5rem;
  position: relative;
}
#section02 h2 span::before {
  content: "";
  display: block;
  width: 1rem;
  height: 4px;
  background: #2580ee;
  position: absolute;
  top: 1.5rem;
  left: 0;
}
#section02 .shape_fill {
  fill: #fcfcfb;
}
#section02 .wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
#section02 .wrap .inner:nth-of-type(1) {
  width: 100%;
  margin-bottom: 1rem;
}
#section02 .wrap .inner:nth-of-type(1) img {
  border-radius: 5px;
}
#section02 .wrap .inner:nth-of-type(2) {
  width: 100%;
}
#section02 .ball_wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  filter: url("#filter");
  z-index: -1;
}
#section02 .ball_svg {
  position: absolute;
}
#section02 .ball {
  width: 250px;
  height: 250px;
  position: absolute;
  top: calc(50% - 83.3333333333px);
  left: calc(50% - 83.3333333333px);
}
#section02 .ball::before {
  background: rgb(251.8455696203, 242.1569620253, 240.3544303797);
  border-radius: 100%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
}
#section02 .ball:nth-child(1) {
  transform: translate(-275px);
  animation: x-axis-lateral 10s infinite alternate ease-in-out;
}
#section02 .ball:nth-child(1):before {
  animation: y-axis-lateral 8s infinite 0.1s alternate ease-in-out;
}
#section02 .ball:nth-child(2) {
  animation: x-axis 10s infinite alternate ease-in-out;
}
#section02 .ball:nth-child(2):before {
  animation: y-axis 8s infinite 0.5s alternate ease-in-out;
}
#section02 .ball:nth-child(3) {
  transform: translate(275px, 325px);
  animation: x-axis-lateral 10s infinite alternate ease;
}
#section02 .ball:nth-child(3):before {
  animation: y-axis-lateral 8s infinite 0.4s alternate ease-in-out;
}
@keyframes x-axis {
  0% {
    transform: translate(-400px);
  }
  100% {
    transform: translate(400px);
  }
}
@keyframes y-axis {
  0% {
    transform: translateY(175px);
  }
  100% {
    transform: translateY(-275px) scale(0.8);
    background: rgb(251.8455696203, 242.1569620253, 240.3544303797);
  }
}
@keyframes x-axis-lateral {
  0% {
    transform: translate(-150px);
  }
  100% {
    transform: translate(150px);
  }
}
@keyframes y-axis-lateral {
  0% {
    transform: translateY(50px);
  }
  100% {
    transform: translateY(-250px);
    background: rgb(251.8455696203, 242.1569620253, 240.3544303797);
  }
}

/*--------------------
#section03
--------------------*/
#section03 {
  background: #f9f5ec;
}
#section03 .container {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 60px;
  padding-bottom: 60px;
  padding-left: 1rem;
  padding-right: 1rem;
}
#section03 h2 {
  margin-bottom: 1rem;
  position: relative;
  z-index: 1;
}
#section03 h2 span {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 600;
  letter-spacing: 0;
  display: inline-block;
  font-size: 2.5rem;
  padding-left: 1.5rem;
  position: relative;
}
#section03 h2 span::before {
  content: "";
  display: block;
  width: 1rem;
  height: 4px;
  background: #2580ee;
  position: absolute;
  top: 1.5rem;
  left: 0;
}
#section03 .pride_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin-bottom: 2rem;
  position: relative;
  z-index: 1;
}
#section03 .pride_list li {
  width: 50%;
  padding: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
#section03 .pride_list li span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 160px;
  height: 120px;
  text-align: center;
  font-size: 1.5rem;
  color: #fcfcfb;
  text-shadow: 2px 2px 0 #594d45, -2px 2px 0 #594d45, 2px -2px 0 #594d45, -2px -2px 0 #594d45, 2px 0 0 #594d45, 0 2px 0 #594d45, -2px 0 0 #594d45, 0 -2px 0 #594d45;
}
#section03 .pride_list li:nth-of-type(1) {
  width: 100%;
}
#section03 .pride_list li:nth-of-type(1) span {
  width: 160px;
  margin: auto;
  background: url(../img/pen.svg) no-repeat center/contain;
}
#section03 .pride_list li:nth-of-type(2) span {
  background: url(../img/pen2.svg) no-repeat center/contain;
}
#section03 .pride_list li:nth-of-type(3) span {
  background: url(../img/pen3.svg) no-repeat center/contain;
}
#section03 .pride_dl:not(:last-of-type) {
  margin-bottom: 1rem;
}
#section03 .pride_dl dt {
  font-size: 1.25rem;
  font-weight: 600;
  color: #2580ee;
}

/*--------------------
#section04
--------------------*/
#section04 {
  background-color: #f9f5ec;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2000 1500'%3E%3Cdefs%3E%3CradialGradient id='a' gradientUnits='objectBoundingBox'%3E%3Cstop offset='0' stop-color='%23FCFCFB'/%3E%3Cstop offset='1' stop-color='%23F9F5EC'/%3E%3C/radialGradient%3E%3ClinearGradient id='b' gradientUnits='userSpaceOnUse' x1='0' y1='750' x2='1550' y2='750'%3E%3Cstop offset='0' stop-color='%23fbf9f4'/%3E%3Cstop offset='1' stop-color='%23F9F5EC'/%3E%3C/linearGradient%3E%3Cpath id='s' fill='url(%23b)' d='M1549.2 51.6c-5.4 99.1-20.2 197.6-44.2 293.6c-24.1 96-57.4 189.4-99.3 278.6c-41.9 89.2-92.4 174.1-150.3 253.3c-58 79.2-123.4 152.6-195.1 219c-71.7 66.4-149.6 125.8-232.2 177.2c-82.7 51.4-170.1 94.7-260.7 129.1c-90.6 34.4-184.4 60-279.5 76.3C192.6 1495 96.1 1502 0 1500c96.1-2.1 191.8-13.3 285.4-33.6c93.6-20.2 185-49.5 272.5-87.2c87.6-37.7 171.3-83.8 249.6-137.3c78.4-53.5 151.5-114.5 217.9-181.7c66.5-67.2 126.4-140.7 178.6-218.9c52.3-78.3 96.9-161.4 133-247.9c36.1-86.5 63.8-176.2 82.6-267.6c18.8-91.4 28.6-184.4 29.6-277.4c0.3-27.6 23.2-48.7 50.8-48.4s49.5 21.8 49.2 49.5c0 0.7 0 1.3-0.1 2L1549.2 51.6z'/%3E%3Cg id='g'%3E%3Cuse href='%23s' transform='scale(0.12) rotate(60)'/%3E%3Cuse href='%23s' transform='scale(0.2) rotate(10)'/%3E%3Cuse href='%23s' transform='scale(0.25) rotate(40)'/%3E%3Cuse href='%23s' transform='scale(0.3) rotate(-20)'/%3E%3Cuse href='%23s' transform='scale(0.4) rotate(-30)'/%3E%3Cuse href='%23s' transform='scale(0.5) rotate(20)'/%3E%3Cuse href='%23s' transform='scale(0.6) rotate(60)'/%3E%3Cuse href='%23s' transform='scale(0.7) rotate(10)'/%3E%3Cuse href='%23s' transform='scale(0.835) rotate(-40)'/%3E%3Cuse href='%23s' transform='scale(0.9) rotate(40)'/%3E%3Cuse href='%23s' transform='scale(1.05) rotate(25)'/%3E%3Cuse href='%23s' transform='scale(1.2) rotate(8)'/%3E%3Cuse href='%23s' transform='scale(1.333) rotate(-60)'/%3E%3Cuse href='%23s' transform='scale(1.45) rotate(-30)'/%3E%3Cuse href='%23s' transform='scale(1.6) rotate(10)'/%3E%3C/g%3E%3C/defs%3E%3Cg transform='rotate(0 0 0)'%3E%3Cg transform='rotate(0 0 0)'%3E%3Ccircle fill='url(%23a)' r='3000'/%3E%3Cg opacity='0.5'%3E%3Ccircle fill='url(%23a)' r='2000'/%3E%3Ccircle fill='url(%23a)' r='1800'/%3E%3Ccircle fill='url(%23a)' r='1700'/%3E%3Ccircle fill='url(%23a)' r='1651'/%3E%3Ccircle fill='url(%23a)' r='1450'/%3E%3Ccircle fill='url(%23a)' r='1250'/%3E%3Ccircle fill='url(%23a)' r='1175'/%3E%3Ccircle fill='url(%23a)' r='900'/%3E%3Ccircle fill='url(%23a)' r='750'/%3E%3Ccircle fill='url(%23a)' r='500'/%3E%3Ccircle fill='url(%23a)' r='380'/%3E%3Ccircle fill='url(%23a)' r='250'/%3E%3C/g%3E%3Cg transform='rotate(0 0 0)'%3E%3Cuse href='%23g' transform='rotate(10)'/%3E%3Cuse href='%23g' transform='rotate(120)'/%3E%3Cuse href='%23g' transform='rotate(240)'/%3E%3C/g%3E%3Ccircle fill-opacity='0.1' fill='url(%23a)' r='3000'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  background-attachment: fixed;
  background-size: cover;
}
#section04 .container {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 60px;
  padding-bottom: 60px;
  padding-left: 1rem;
  padding-right: 1rem;
}
#section04 h2 {
  margin-bottom: 1rem;
  position: relative;
  z-index: 1;
}
#section04 h2 span {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 600;
  letter-spacing: 0;
  display: inline-block;
  font-size: 2.5rem;
  padding-left: 1.5rem;
  position: relative;
}
#section04 h2 span::before {
  content: "";
  display: block;
  width: 1rem;
  height: 4px;
  background: #2580ee;
  position: absolute;
  top: 1.5rem;
  left: 0;
}
#section04 .mind_dl:not(:last-of-type) {
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #ccc;
}
#section04 .mind_dl dt {
  width: 100%;
  font-size: 1.125rem;
  color: #2580ee;
  margin-bottom: 1rem;
}
#section04 .mind_dl dt i {
  color: #c9ba47;
}
#section04 .mind_dl dd {
  width: 100%;
}

/*--------------------
#section05
--------------------*/
#section05 {
  background: #f9f5ec;
}
#section05 .container {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 60px;
  padding-bottom: 60px;
  padding-left: 1rem;
  padding-right: 1rem;
}
#section05 h2 {
  margin-bottom: 1rem;
  position: relative;
  z-index: 1;
}
#section05 h2 span {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 600;
  letter-spacing: 0;
  display: inline-block;
  font-size: 2.5rem;
  padding-left: 1.5rem;
  position: relative;
}
#section05 h2 span::before {
  content: "";
  display: block;
  width: 1rem;
  height: 4px;
  background: #2580ee;
  position: absolute;
  top: 2rem;
  left: 0;
}
#section05 .work_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  flex-direction: column-reverse;
}
#section05 .work_wrap .work_inner {
  width: 100%;
}
#section05 .work_wrap .work_inner figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 5px;
}
#section05 .work_wrap .work_inner .list_dot2 {
  margin-bottom: 1rem;
}

/*--------------------
#section06
--------------------*/
#section06 {
  background: linear-gradient(0deg, rgba(252, 252, 251, 0.8), rgba(252, 252, 251, 0.8)), url(../img/deco_bg.svg) no-repeat left/cover;
  background-attachment: fixed;
}
#section06 .wave_wrap {
  position: relative;
  z-index: 2;
}
#section06 .wave_wrap .wave2 {
  width: 100%;
  height: 100px; /* 高さは必要に応じて調整 */
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 320' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cpath d='M0,96L48,80C96,64,192,32,288,69.3C384,107,480,213,576,256C672,299,768,277,864,234.7C960,192,1056,128,1152,128C1248,128,1344,192,1392,224L1440,256L1440,0L1392,0C1344,0,1248,0,1152,0C1056,0,960,0,864,0C768,0,672,0,576,0C480,0,384,0,288,0C192,0,96,0,48,0L0,0Z' fill='%23f9f5ec'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  position: absolute;
  top: 0;
  left: 0;
}
#section06 .container {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 120px;
  padding-bottom: 60px;
  padding-left: 1rem;
  padding-right: 1rem;
}
#section06 h2 {
  text-align: center;
  margin-bottom: 2rem;
}
#section06 h2 span {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 600;
  letter-spacing: 0;
  display: block;
  font-size: 2.5rem;
  padding-bottom: 0.5rem;
  position: relative;
  z-index: 1;
}
#section06 h2 span::before {
  content: "";
  display: block;
  width: 100%;
  height: 40px;
  background: url(../img/wave_line2.svg) no-repeat center/contain;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
#section06 h2 b {
  font-size: 1.125rem;
  font-weight: 600;
}
#section06 .interview_wrap .interview_box {
  width: 100%;
  margin-top: 1rem;
}
#section06 .interview_wrap .interview_box .more_btn {
  margin-top: 1rem;
  text-align: center;
}
#section06 .interview_wrap .interview_box .more_btn a {
  display: inline-block;
  padding: 0.5rem 2rem;
  background: #594d45;
  border: 2px solid #fcfcfb;
  border-radius: 2rem;
  color: #fcfcfb;
  font-weight: 600;
}
#section06 .interview_wrap .interview_img {
  width: 100%;
}
#section06 .interview_wrap .interview_img figure {
  width: 100%;
}
#section06 .interview_wrap .interview_img figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 5px;
}

/*--------------------
#section07
--------------------*/
#section07 .container {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 60px;
  padding-bottom: 60px;
  padding-left: 1rem;
  padding-right: 1rem;
}
#section07 h2 {
  text-align: center;
  margin-bottom: 2rem;
}
#section07 h2 span {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 600;
  letter-spacing: 0;
  display: block;
  font-size: 2.5rem;
  padding-bottom: 0.5rem;
  position: relative;
  z-index: 1;
}
#section07 h2 span::before {
  content: "";
  display: block;
  width: 100%;
  height: 40px;
  background: url(../img/wave_line2.svg) no-repeat center/contain;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
#section07 .doc_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
#section07 .doc_wrap .doc_image {
  width: 100%;
}
#section07 .doc_wrap .doc_txt {
  width: 100%;
  margin: 1rem 0;
}
#section07 .doc_wrap .doc_txt b {
  font-size: 1.125rem;
  font-weight: 600;
}
#section07 .messase_box {
  background: #f9f5ec;
  margin-bottom: 1rem;
}
#section07 .messase_box h3 {
  font-weight: 600;
  margin-bottom: 0.5rem;
}
#section07 .messase_box h3::first-letter {
  font-size: 1.125rem;
  color: #2580ee;
}
#section07 .doc_name {
  text-align: right;
}
#section07 .doc_name span b {
  margin-left: 10px;
  font-size: 1.25rem;
}

/*--------------------
#section08
--------------------*/
#section08 {
  background: #f9f5ec;
}
#section08 .container {
  width: 100%;
  max-width: 100%;
  margin: auto;
  padding-top: 60px;
  padding-bottom: 60px;
  padding-left: 0;
  padding-right: 0;
}
#section08 h2 {
  text-align: center;
  margin-bottom: 2rem;
}
#section08 h2 span {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 600;
  letter-spacing: 0;
  display: block;
  font-size: 2.5rem;
  padding-bottom: 0.5rem;
  position: relative;
  z-index: 1;
}
#section08 h2 span::before {
  content: "";
  display: block;
  width: 100%;
  height: 40px;
  background: url(../img/wave_line2.svg) no-repeat center/contain;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
#section08 h2 b {
  font-size: 1.125rem;
  font-weight: 600;
}
#section08 .reason_wrap {
  position: relative;
  z-index: 1;
}
#section08 .reason_wrap:not(:last-of-type) {
  margin-bottom: 2rem;
}
#section08 .reason_wrap::before {
  content: "";
  display: block;
  width: 80%;
  height: calc(100% - 2rem);
  background: #f1c6be;
  border-radius: 5px 0 0 5px;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
}
#section08 .reason_wrap .reason_box {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 1rem;
  padding-right: 1rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
#section08 .reason_wrap .eng_ttl {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 600;
  letter-spacing: 0;
  writing-mode: vertical-rl;
  font-size: 3rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
  position: absolute;
  top: 0;
  left: 1rem;
}
#section08 .reason_wrap .reason_img {
  width: 100%;
  padding: 2rem 1rem 0;
}
#section08 .reason_wrap .reason_img img {
  border-radius: 5px;
  width: 100%;
}
#section08 .reason_wrap .reason_txt {
  width: 100%;
  padding: 1rem 0;
}
#section08 .reason_wrap .reason_txt h3 {
  margin-bottom: 1rem;
}
#section08 .reason_wrap .reason_txt h3 span {
  font-size: 2rem;
  font-weight: 600;
}
#section08 .reason_wrap .reason_txt h3 p {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
}
#section08 .reason_wrap.v2::before {
  border-radius: 0 5px 5px 0;
  left: 0;
}
#section08 .reason_wrap.v2 .reason_box {
  flex-direction: row-reverse;
}
#section08 .reason_wrap.v2 .eng_ttl {
  left: inherit;
  right: 1.125rem;
}
#section08 .detail_btn {
  text-align: center;
  margin-top: 1rem;
}
#section08 .detail_btn a {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1rem;
  background: #fcfcfb;
  border: 2px solid #333;
  border-radius: 2rem;
}
#section08 .detail_btn a::before {
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f054";
  font-weight: 900;
  font-size: 12px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 1.5rem;
  height: 1.5rem;
  background: #333;
  color: #fcfcfb;
  border-radius: 50%;
  margin-right: 10px;
}

/*--------------------
ここから下層ページ
--------------------*/
#page_main {
  width: 100%;
  height: 45vh;
  position: relative;
}
@media (max-width: 768px) {
  #page_main {
    height: 60vh;
  }
}
#page_main::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(51, 51, 51, 0.1);
  position: absolute;
  top: 0;
  left: 0;
}
#page_main .wave {
  width: 100%;
  height: 60px; /* 高さは必要に応じて調整 */
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 320' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cpath d='M0,160L26.7,181.3C53.3,203,107,245,160,218.7C213.3,192,267,96,320,74.7C373.3,53,427,107,480,144C533.3,181,587,203,640,186.7C693.3,171,747,117,800,96C853.3,75,907,85,960,106.7C1013.3,128,1067,160,1120,192C1173.3,224,1227,256,1280,250.7C1333.3,245,1387,203,1413,181.3L1440,160L1440,320L1413.3,320C1386.7,320,1333,320,1280,320C1226.7,320,1173,320,1120,320C1066.7,320,1013,320,960,320C906.7,320,853,320,800,320C746.7,320,693,320,640,320C586.7,320,533,320,480,320C426.7,320,373,320,320,320C266.7,320,213,320,160,320C106.7,320,53,320,27,320L0,320Z' fill='%23f9f5ec'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  position: absolute;
  bottom: 0;
  left: 0;
}
#page_main figure {
  width: 100%;
  height: 100%;
}
#page_main figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#page_main .page_catch {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 1rem;
  color: #fcfcfb;
  position: absolute;
  bottom: 60px;
  left: 0;
}
#page_main .page_catch .main_ttl {
  width: 180px;
  position: relative;
}
#page_main .page_catch .main_ttl span {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 600;
  letter-spacing: 0;
  font-size: 3.5rem;
  line-height: 1.5;
}
#page_main .page_catch .main_ttl p {
  font-weight: 600;
  font-size: 1rem;
  position: absolute;
  top: 4rem;
  left: 0;
}
#page_main .page_catch .sub_ttl {
  font-size: 1.25rem;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 600;
  letter-spacing: 0;
}
#page_main .page_catch .btm_ttl {
  width: 100%;
  font-size: 1.25rem;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 600;
  letter-spacing: 0;
  text-align: center;
}
#page_main .page_catch .sub_ttl2 {
  width: 100%;
  font-size: 1.25rem;
  font-weight: 600;
}
#page_main .page_catch .btm_ttl2 {
  width: 100%;
  font-size: 1rem;
  font-weight: 400;
}

.under {
  width: 100%;
  max-width: 100%;
  margin: auto;
  padding-top: 30px;
  padding-bottom: 30px;
  padding-left: 0;
  padding-right: 0;
}
.under .reason_wrap {
  position: relative;
  z-index: 1;
}
.under .reason_wrap:not(:last-of-type) {
  margin-bottom: 2rem;
}
.under .reason_wrap::before {
  content: "";
  display: block;
  width: 80%;
  height: calc(100% - 2rem);
  background: #f1c6be;
  border-radius: 5px 0 0 5px;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
}
.under .reason_wrap .reason_box {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 1rem;
  padding-right: 1rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
.under .reason_wrap .eng_ttl {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 600;
  letter-spacing: 0;
  writing-mode: vertical-rl;
  font-size: 3rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
  position: absolute;
  top: 0;
  left: 1rem;
}
.under .reason_wrap .reason_img {
  width: 100%;
  padding: 2rem 1rem 0;
}
.under .reason_wrap .reason_img img {
  border-radius: 5px;
  width: 100%;
}
.under .reason_wrap .reason_txt {
  width: 100%;
  padding: 1rem 0;
}
.under .reason_wrap .reason_txt h3 {
  margin-bottom: 1rem;
}
.under .reason_wrap .reason_txt h3 span {
  font-size: 2rem;
  font-weight: 600;
}
.under .reason_wrap .reason_txt h3 p {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
}
.under .reason_wrap.v2::before {
  border-radius: 0 5px 5px 0;
  left: 0;
}
.under .reason_wrap.v2 .reason_box {
  flex-direction: row-reverse;
}
.under .reason_wrap.v2 .eng_ttl {
  left: inherit;
  right: 1.125rem;
}
.under .detail_btn {
  text-align: center;
  margin-top: 1rem;
}
.under .detail_btn a {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1rem;
  background: #fcfcfb;
  border: 2px solid #333;
  border-radius: 2rem;
}
.under .detail_btn a::before {
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f054";
  font-weight: 900;
  font-size: 12px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 1.5rem;
  height: 1.5rem;
  background: #333;
  color: #fcfcfb;
  border-radius: 50%;
  margin-right: 10px;
}

/*--------------------
.再生医療
--------------------*/
#info01 {
  background: #f9f5ec;
  position: relative;
}

#info02 {
  background-color: #fcfcfb;
  background-image: radial-gradient(#f9f5ec 20%, transparent 22%), radial-gradient(#f9f5ec 20%, transparent 22%);
  background-position: 0 0, 28px 28px;
  background-size: 56px 56px;
  background-attachment: fixed;
  position: relative;
}
#info02 .wave {
  width: 100%;
  height: 60px; /* 高さは必要に応じて調整 */
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 320' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cpath d='M0,160L26.7,138.7C53.3,117,107,75,160,101.3C213.3,128,267,224,320,245.3C373.3,267,427,213,480,176C533.3,139,587,117,640,133.3C693.3,149,747,203,800,224C853.3,245,907,235,960,213.3C1013.3,192,1067,160,1120,128C1173.3,96,1227,64,1280,69.3C1333.3,75,1387,117,1413,138.7L1440,160L1440,0L1413.3,0C1386.7,0,1333,0,1280,0C1226.7,0,1173,0,1120,0C1066.7,0,1013,0,960,0C906.7,0,853,0,800,0C746.7,0,693,0,640,0C586.7,0,533,0,480,0C426.7,0,373,0,320,0C266.7,0,213,0,160,0C106.7,0,53,0,27,0L0,0Z' fill='%23f9f5ec'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  position: absolute;
  top: 0;
  left: 0;
}
#info02 .wave2 {
  width: 100%;
  height: 60px; /* 高さは必要に応じて調整 */
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 320' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cpath d='M0,160L26.7,181.3C53.3,203,107,245,160,218.7C213.3,192,267,96,320,74.7C373.3,53,427,107,480,144C533.3,181,587,203,640,186.7C693.3,171,747,117,800,96C853.3,75,907,85,960,106.7C1013.3,128,1067,160,1120,192C1173.3,224,1227,256,1280,250.7C1333.3,245,1387,203,1413,181.3L1440,160L1440,320L1413.3,320C1386.7,320,1333,320,1280,320C1226.7,320,1173,320,1120,320C1066.7,320,1013,320,960,320C906.7,320,853,320,800,320C746.7,320,693,320,640,320C586.7,320,533,320,480,320C426.7,320,373,320,320,320C266.7,320,213,320,160,320C106.7,320,53,320,27,320L0,320Z' fill='%23f9f5ec'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  position: absolute;
  bottom: 0;
  left: 0;
}
#info02 .container {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 90px;
  padding-bottom: 90px;
  padding-left: 1rem;
  padding-right: 1rem;
}
#info02 .info_wrap {
  margin-bottom: 1rem;
}
#info02 .info_wrap h2 {
  margin-bottom: 1rem;
}
#info02 .info_wrap h2 span {
  font-size: 1.5rem;
  font-weight: 600;
  color: #2580ee;
}
#info02 .info_wrap h2 p {
  font-size: 1rem;
}
#info02 .info_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
#info02 .info_box .info_image {
  width: 100%;
  margin-bottom: 1rem;
}
#info02 .info_box .info_image figure {
  width: 100%;
  height: 100%;
}
#info02 .info_box .info_image figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 5px;
}
#info02 .info_box .info_txt {
  width: 100%;
}
#info02 .info_box .info_txt p:nth-of-type(2) {
  font-size: 1.25rem;
  font-weight: 600;
}
#info02 .info_wrap2 h2 {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 1rem;
  padding-left: 0.5rem;
  padding-bottom: 0.25rem;
  border-top: 4px solid #333;
  border-bottom: 4px solid #333;
  color: #2580ee;
}
#info02 .info_wrap2 h3 {
  font-size: 1.125rem;
  font-weight: 600;
  color: #2580ee;
  margin-bottom: 0.5rem;
}
#info02 .info_wrap3 h2 {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 1rem;
  padding-left: 0.5rem;
  padding-bottom: 0.25rem;
  border-top: 4px solid #333;
  border-bottom: 4px solid #333;
  color: #2580ee;
}
#info02 .info_wrap3 h3 {
  font-size: 1.125rem;
  font-weight: 600;
  color: #2580ee;
  margin-bottom: 0.5rem;
}

#info03 {
  background: #f9f5ec;
}
#info03 .container {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 30px;
  padding-bottom: 30px;
  padding-left: 1rem;
  padding-right: 1rem;
}
#info03 h2 {
  font-size: 1.5rem;
  font-weight: 600;
  color: #2580ee;
  margin-bottom: 1rem;
}
#info03 .info_wrap {
  margin-bottom: 2rem;
}
#info03 .info_wrap span {
  font-weight: 600;
}
#info03 .info_wrap02 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
#info03 .info_wrap02 .box_left {
  width: 100%;
}
#info03 .info_wrap02 .box_right {
  width: 100%;
}
#info03 .info_wrap02 .box_right li {
  font-size: 1.125rem;
  font-weight: 600;
}
#info03 .info_wrap02 .box_right li::before {
  top: 16px;
}
#info03 .info_wrap02 .mid_arw {
  width: 100%;
  padding: 1rem 0;
  text-align: center;
}
#info03 .info_wrap02 .mid_arw::before {
  display: block;
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f0dd";
  font-weight: 900;
  font-size: 2rem;
  color: #2580ee;
  transform: translateY(-6px);
}

#info04 {
  position: relative;
}
#info04 .wave {
  width: 100%;
  height: 60px; /* 高さは必要に応じて調整 */
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 320' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cpath d='M0,160L26.7,138.7C53.3,117,107,75,160,101.3C213.3,128,267,224,320,245.3C373.3,267,427,213,480,176C533.3,139,587,117,640,133.3C693.3,149,747,203,800,224C853.3,245,907,235,960,213.3C1013.3,192,1067,160,1120,128C1173.3,96,1227,64,1280,69.3C1333.3,75,1387,117,1413,138.7L1440,160L1440,0L1413.3,0C1386.7,0,1333,0,1280,0C1226.7,0,1173,0,1120,0C1066.7,0,1013,0,960,0C906.7,0,853,0,800,0C746.7,0,693,0,640,0C586.7,0,533,0,480,0C426.7,0,373,0,320,0C266.7,0,213,0,160,0C106.7,0,53,0,27,0L0,0Z' fill='%23f9f5ec'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  position: absolute;
  top: 0;
  left: 0;
}
#info04 .wave2 {
  width: 100%;
  height: 60px; /* 高さは必要に応じて調整 */
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 320' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cpath d='M0,160L26.7,181.3C53.3,203,107,245,160,218.7C213.3,192,267,96,320,74.7C373.3,53,427,107,480,144C533.3,181,587,203,640,186.7C693.3,171,747,117,800,96C853.3,75,907,85,960,106.7C1013.3,128,1067,160,1120,192C1173.3,224,1227,256,1280,250.7C1333.3,245,1387,203,1413,181.3L1440,160L1440,320L1413.3,320C1386.7,320,1333,320,1280,320C1226.7,320,1173,320,1120,320C1066.7,320,1013,320,960,320C906.7,320,853,320,800,320C746.7,320,693,320,640,320C586.7,320,533,320,480,320C426.7,320,373,320,320,320C266.7,320,213,320,160,320C106.7,320,53,320,27,320L0,320Z' fill='%23f9f5ec'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  position: absolute;
  bottom: 0;
  left: 0;
}
#info04 .container {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 90px;
  padding-bottom: 90px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-bottom: 6rem !important;
}
#info04 h2 {
  margin-bottom: 1rem;
}
#info04 h2 span {
  font-size: 1.25rem;
  font-weight: 600;
  color: #2580ee;
}
#info04 h2 p {
  font-weight: 600;
}
#info04 h3 span {
  font-size: 1.125rem;
  font-weight: 600;
}
#info04 .case_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  align-items: stretch !important;
  flex-wrap: wrap;
  gap: 2rem;
  margin-bottom: 4rem;
}
#info04 .case_wrap .case_box {
  width: calc(50% - 1rem);
  background: #f9f5ec;
  border: 4px solid #333;
  border-radius: 1rem;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
#info04 .case_wrap .case_box .case_tag {
  display: inline-block;
  padding: 0.25rem 1rem;
  background: #e89686;
  border-radius: 0 0 1rem 0;
  color: #fcfcfb;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
#info04 .case_wrap .case_box .case_inr {
  display: flex;
  flex-direction: column;
  flex: 1;
}
#info04 .case_wrap .case_box .case_inr figure {
  width: 100%;
  aspect-ratio: 16/9;
  position: relative;
}
#info04 .case_wrap .case_box .case_inr figure iframe,
#info04 .case_wrap .case_box .case_inr figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#info04 .case_wrap .case_box .case_inr .case_txt {
  padding: 1rem;
}
#info04 .case_wrap .case_box .case_inr .case_txt .case_name {
  padding-left: 0.5rem;
  margin-bottom: 0.5rem;
  font-weight: 600;
  position: relative;
}
#info04 .case_wrap .case_box .case_inr .case_txt .case_name::before {
  content: "";
  display: block;
  width: 4px;
  height: 1rem;
  background: #2580ee;
  position: absolute;
  top: 5px;
  left: 0;
}
@media (max-width: 768px) {
  #info04 .case_wrap {
    flex-direction: column;
  }
  #info04 .case_wrap .case_box {
    width: 100%;
  }
}
@media (max-width: 768px) {
  #info04 .case_wrap {
    flex-direction: column;
  }
  #info04 .case_wrap .case_box {
    width: 100%;
  }
}

#info05 {
  background: #f9f5ec;
}

.separate_arw {
  padding: 2rem 0;
  text-align: center;
}
.separate_arw::before {
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f0d7";
  font-weight: 900;
  font-size: 5rem;
  color: #2580ee;
}

/*--------------------
キャリアのために
--------------------*/
#career01 {
  background: #f9f5ec;
  position: relative;
}

#career02 {
  background-color: #fcfcfb;
  background-image: radial-gradient(#f9f5ec 20%, transparent 22%), radial-gradient(#f9f5ec 20%, transparent 22%);
  background-position: 0 0, 28px 28px;
  background-size: 56px 56px;
  background-attachment: fixed;
  position: relative;
}
#career02 .wave {
  width: 100%;
  height: 60px; /* 高さは必要に応じて調整 */
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 320' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cpath d='M0,160L26.7,138.7C53.3,117,107,75,160,101.3C213.3,128,267,224,320,245.3C373.3,267,427,213,480,176C533.3,139,587,117,640,133.3C693.3,149,747,203,800,224C853.3,245,907,235,960,213.3C1013.3,192,1067,160,1120,128C1173.3,96,1227,64,1280,69.3C1333.3,75,1387,117,1413,138.7L1440,160L1440,0L1413.3,0C1386.7,0,1333,0,1280,0C1226.7,0,1173,0,1120,0C1066.7,0,1013,0,960,0C906.7,0,853,0,800,0C746.7,0,693,0,640,0C586.7,0,533,0,480,0C426.7,0,373,0,320,0C266.7,0,213,0,160,0C106.7,0,53,0,27,0L0,0Z' fill='%23f9f5ec'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  position: absolute;
  top: 0;
  left: 0;
}
#career02 .wave2 {
  width: 100%;
  height: 60px; /* 高さは必要に応じて調整 */
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 320' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cpath d='M0,160L26.7,181.3C53.3,203,107,245,160,218.7C213.3,192,267,96,320,74.7C373.3,53,427,107,480,144C533.3,181,587,203,640,186.7C693.3,171,747,117,800,96C853.3,75,907,85,960,106.7C1013.3,128,1067,160,1120,192C1173.3,224,1227,256,1280,250.7C1333.3,245,1387,203,1413,181.3L1440,160L1440,320L1413.3,320C1386.7,320,1333,320,1280,320C1226.7,320,1173,320,1120,320C1066.7,320,1013,320,960,320C906.7,320,853,320,800,320C746.7,320,693,320,640,320C586.7,320,533,320,480,320C426.7,320,373,320,320,320C266.7,320,213,320,160,320C106.7,320,53,320,27,320L0,320Z' fill='%23f9f5ec'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  position: absolute;
  bottom: 0;
  left: 0;
}
#career02 .container {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 90px;
  padding-bottom: 60px;
  padding-left: 1rem;
  padding-right: 1rem;
}
#career02 .career_wrap {
  margin-bottom: 1rem;
}
#career02 .career_wrap h2 {
  margin-bottom: 1rem;
}
#career02 .career_wrap h2 span {
  font-size: 1.5rem;
  font-weight: 600;
  color: #2580ee;
}
#career02 .career_wrap h2 p {
  font-size: 1rem;
}
#career02 .career_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
#career02 .career_box .career_image {
  width: 100%;
  margin-bottom: 1rem;
}
#career02 .career_box .career_image figure {
  width: 100%;
  height: 100%;
}
#career02 .career_box .career_image figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 5px;
}
#career02 .career_box .career_txt {
  width: 100%;
}
#career02 .career_btm h3 {
  margin-top: 2rem;
}
#career02 .career_btm h3 span {
  font-size: 1.125rem;
  font-weight: 600;
}
#career02 .career_wrap2 h2 {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 1rem;
  padding-left: 0.5rem;
  padding-bottom: 0.25rem;
  border-top: 4px solid #333;
  border-bottom: 4px solid #333;
  color: #2580ee;
}
#career02 .career_wrap2 h3 {
  font-size: 1.125rem;
  font-weight: 600;
  color: #2580ee;
  margin-bottom: 0.5rem;
}
#career02 .career_wrap3 h2 {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 1rem;
  padding-left: 0.5rem;
  padding-bottom: 0.25rem;
  border-top: 4px solid #333;
  border-bottom: 4px solid #333;
  color: #2580ee;
}
#career02 .career_wrap3 h3 {
  font-size: 1.125rem;
  font-weight: 600;
  color: #2580ee;
  margin-bottom: 0.5rem;
}

#career03 {
  background: #f9f5ec;
}
#career03 .container {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 30px;
  padding-bottom: 30px;
  padding-left: 1rem;
  padding-right: 1rem;
}
#career03 h2 {
  margin-bottom: 1rem;
}
#career03 h2 span {
  font-size: 1.5rem;
  font-weight: 600;
  color: #2580ee;
}
#career03 h2 p {
  font-size: 1rem;
  font-weight: 600;
}
#career03 .career_wrap {
  margin-bottom: 1rem;
}
#career03 .career_wrap span {
  font-weight: 600;
}
#career03 .career_wrap02 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}
#career03 .career_wrap02 .box_left {
  width: 100%;
  margin-bottom: 1rem;
}
#career03 .career_wrap02 .box_right {
  width: 100%;
}
#career03 .career_wrap02 .box_right figure {
  width: 100%;
}
#career03 .career_wrap02 .box_right figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 5px;
}
#career03 .career_wrap03 p {
  font-weight: 600;
}

#career04 {
  position: relative;
}
#career04 .wave {
  width: 100%;
  height: 60px; /* 高さは必要に応じて調整 */
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 320' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cpath d='M0,160L26.7,138.7C53.3,117,107,75,160,101.3C213.3,128,267,224,320,245.3C373.3,267,427,213,480,176C533.3,139,587,117,640,133.3C693.3,149,747,203,800,224C853.3,245,907,235,960,213.3C1013.3,192,1067,160,1120,128C1173.3,96,1227,64,1280,69.3C1333.3,75,1387,117,1413,138.7L1440,160L1440,0L1413.3,0C1386.7,0,1333,0,1280,0C1226.7,0,1173,0,1120,0C1066.7,0,1013,0,960,0C906.7,0,853,0,800,0C746.7,0,693,0,640,0C586.7,0,533,0,480,0C426.7,0,373,0,320,0C266.7,0,213,0,160,0C106.7,0,53,0,27,0L0,0Z' fill='%23f9f5ec'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  position: absolute;
  top: 0;
  left: 0;
}
#career04 .wave2 {
  width: 100%;
  height: 60px; /* 高さは必要に応じて調整 */
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 320' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cpath d='M0,160L26.7,181.3C53.3,203,107,245,160,218.7C213.3,192,267,96,320,74.7C373.3,53,427,107,480,144C533.3,181,587,203,640,186.7C693.3,171,747,117,800,96C853.3,75,907,85,960,106.7C1013.3,128,1067,160,1120,192C1173.3,224,1227,256,1280,250.7C1333.3,245,1387,203,1413,181.3L1440,160L1440,320L1413.3,320C1386.7,320,1333,320,1280,320C1226.7,320,1173,320,1120,320C1066.7,320,1013,320,960,320C906.7,320,853,320,800,320C746.7,320,693,320,640,320C586.7,320,533,320,480,320C426.7,320,373,320,320,320C266.7,320,213,320,160,320C106.7,320,53,320,27,320L0,320Z' fill='%23f9f5ec'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  position: absolute;
  bottom: 0;
  left: 0;
}
#career04 .container {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 90px;
  padding-bottom: 90px;
  padding-left: 1rem;
  padding-right: 1rem;
}
#career04 h2 {
  text-align: center;
  margin-bottom: 1rem;
}
#career04 h2 span {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 600;
  letter-spacing: 0;
  font-size: 2rem;
  color: #e89686;
}
#career04 h2 p {
  font-weight: 600;
}
#career04 h3 {
  margin-top: 5rem;
}
#career04 h3 span {
  font-weight: 600;
}
#career04 ul:not(:last-of-type) {
  margin-bottom: 1rem;
}

#career05 {
  background: #f9f5ec;
}

/*--------------------
働く環境
--------------------*/
#work01 {
  background: #f9f5ec;
  position: relative;
}

#work02 {
  background: linear-gradient(0deg, rgba(252, 252, 251, 0.8), rgba(252, 252, 251, 0.8)), url(../img/clinic_bg.jpg) no-repeat center/cover;
  background-attachment: fixed;
  position: relative;
}
#work02 .wave {
  width: 100%;
  height: 60px; /* 高さは必要に応じて調整 */
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 320' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cpath d='M0,160L26.7,138.7C53.3,117,107,75,160,101.3C213.3,128,267,224,320,245.3C373.3,267,427,213,480,176C533.3,139,587,117,640,133.3C693.3,149,747,203,800,224C853.3,245,907,235,960,213.3C1013.3,192,1067,160,1120,128C1173.3,96,1227,64,1280,69.3C1333.3,75,1387,117,1413,138.7L1440,160L1440,0L1413.3,0C1386.7,0,1333,0,1280,0C1226.7,0,1173,0,1120,0C1066.7,0,1013,0,960,0C906.7,0,853,0,800,0C746.7,0,693,0,640,0C586.7,0,533,0,480,0C426.7,0,373,0,320,0C266.7,0,213,0,160,0C106.7,0,53,0,27,0L0,0Z' fill='%23f9f5ec'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  position: absolute;
  top: 0;
  left: 0;
}
#work02 .wave2 {
  width: 100%;
  height: 60px; /* 高さは必要に応じて調整 */
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 320' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cpath d='M0,160L26.7,181.3C53.3,203,107,245,160,218.7C213.3,192,267,96,320,74.7C373.3,53,427,107,480,144C533.3,181,587,203,640,186.7C693.3,171,747,117,800,96C853.3,75,907,85,960,106.7C1013.3,128,1067,160,1120,192C1173.3,224,1227,256,1280,250.7C1333.3,245,1387,203,1413,181.3L1440,160L1440,320L1413.3,320C1386.7,320,1333,320,1280,320C1226.7,320,1173,320,1120,320C1066.7,320,1013,320,960,320C906.7,320,853,320,800,320C746.7,320,693,320,640,320C586.7,320,533,320,480,320C426.7,320,373,320,320,320C266.7,320,213,320,160,320C106.7,320,53,320,27,320L0,320Z' fill='%23f9f5ec'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  position: absolute;
  bottom: 0;
  left: 0;
}
#work02 .container {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 90px;
  padding-bottom: 90px;
  padding-left: 1rem;
  padding-right: 1rem;
}
#work02 .work_wrap {
  margin-top: 1rem;
}
#work02 .work_wrap h2 span {
  font-size: 1.125rem;
  font-weight: 600;
}
#work02 .work_wrap h2 p {
  margin-top: 1rem;
}

.video_wrap {
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  position: relative;
  overflow: hidden;
}
.video_wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#work03 {
  background: #f9f5ec;
}
#work03 .container {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 30px;
  padding-bottom: 30px;
  padding-left: 1rem;
  padding-right: 1rem;
}
#work03 h2 {
  padding-bottom: 0.25rem;
  margin-bottom: 1rem;
  border-bottom: 3px solid #333;
  font-weight: 600;
  position: relative;
}
#work03 h2::before {
  content: "";
  display: block;
  width: 4rem;
  height: 3px;
  background: #e89686;
  position: absolute;
  bottom: -3px;
  left: 0;
}
#work03 .list_dot2 {
  margin-bottom: 1rem;
}
#work03 .facility {
  margin-bottom: 1rem;
}
#work03 .facility_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 1rem;
}
#work03 .facility_wrap .facility_box {
  width: 48%;
  margin-bottom: 1rem;
}
#work03 .facility_wrap .facility_box figure {
  width: 100%;
  height: 120px;
}
#work03 .facility_wrap .facility_box figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 5px;
}
#work03 .floor_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
#work03 .floor_wrap .floor_img {
  width: 100%;
  padding: 1rem;
}
#work03 .floor_wrap .floor_img figure {
  width: 100%;
}
#work03 .floor_wrap .floor_img figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#work03 .floor_wrap .floor_txt {
  width: 100%;
}
#work03 h3 {
  font-size: 1.25rem;
  font-weight: 600;
  margin-top: 1rem;
}

#work04 {
  position: relative;
}
#work04 .wave {
  width: 100%;
  height: 60px; /* 高さは必要に応じて調整 */
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 320' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cpath d='M0,160L26.7,138.7C53.3,117,107,75,160,101.3C213.3,128,267,224,320,245.3C373.3,267,427,213,480,176C533.3,139,587,117,640,133.3C693.3,149,747,203,800,224C853.3,245,907,235,960,213.3C1013.3,192,1067,160,1120,128C1173.3,96,1227,64,1280,69.3C1333.3,75,1387,117,1413,138.7L1440,160L1440,0L1413.3,0C1386.7,0,1333,0,1280,0C1226.7,0,1173,0,1120,0C1066.7,0,1013,0,960,0C906.7,0,853,0,800,0C746.7,0,693,0,640,0C586.7,0,533,0,480,0C426.7,0,373,0,320,0C266.7,0,213,0,160,0C106.7,0,53,0,27,0L0,0Z' fill='%23f9f5ec'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  position: absolute;
  top: 0;
  left: 0;
}
#work04 .wave2 {
  width: 100%;
  height: 60px; /* 高さは必要に応じて調整 */
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 320' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cpath d='M0,160L26.7,181.3C53.3,203,107,245,160,218.7C213.3,192,267,96,320,74.7C373.3,53,427,107,480,144C533.3,181,587,203,640,186.7C693.3,171,747,117,800,96C853.3,75,907,85,960,106.7C1013.3,128,1067,160,1120,192C1173.3,224,1227,256,1280,250.7C1333.3,245,1387,203,1413,181.3L1440,160L1440,320L1413.3,320C1386.7,320,1333,320,1280,320C1226.7,320,1173,320,1120,320C1066.7,320,1013,320,960,320C906.7,320,853,320,800,320C746.7,320,693,320,640,320C586.7,320,533,320,480,320C426.7,320,373,320,320,320C266.7,320,213,320,160,320C106.7,320,53,320,27,320L0,320Z' fill='%23f9f5ec'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  position: absolute;
  bottom: 0;
  left: 0;
}
#work04 .container {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 90px;
  padding-bottom: 60px;
  padding-left: 0;
  padding-right: 0;
}
#work04 h2 {
  text-align: center;
  margin-bottom: 1rem;
}
#work04 h2 span {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 600;
  letter-spacing: 0;
  font-size: 2rem;
  color: #e89686;
}
#work04 h2 p {
  font-weight: 600;
}
#work04 h3 {
  margin-top: 1rem;
}
#work04 h3 span {
  font-weight: 600;
}
#work04 ul:not(:last-of-type) {
  margin-bottom: 1rem;
}

/*--------------------
応募フォーム
--------------------*/
.rec_ttl {
  padding-left: 0.75rem;
  margin-bottom: 1rem;
  font-size: 1.125rem;
  font-weight: 600;
  position: relative;
}
.rec_ttl::before {
  content: "";
  display: block;
  width: 4px;
  height: 100%;
  background: #e89686;
  position: absolute;
  top: 0;
  left: 0;
}

#entry01 {
  background: #f9f5ec;
  position: relative;
}
#entry01 .container {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 30px;
  padding-bottom: 30px;
  padding-left: 1rem;
  padding-right: 1rem;
}
#entry01 .entry_ttl {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 600;
  letter-spacing: 0;
  font-size: 2.5rem;
  margin-bottom: 2rem;
  text-align: center;
  position: relative;
}
#entry01 .entry_ttl::before, #entry01 .entry_ttl::after {
  content: "";
  display: block;
  height: 4px;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
#entry01 .entry_ttl::before {
  width: 2rem;
  background: #333;
}
#entry01 .entry_ttl::after {
  width: 1rem;
  background: #2580ee;
  left: calc(50% - 0.5rem);
}
#entry01 .btm_ttl {
  margin-bottom: 1rem;
}
#entry01 .btm_ttl h3 {
  text-align: center;
}
#entry01 .btm_ttl h3 span {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 600;
  letter-spacing: 0;
  font-size: 2rem;
  color: #e89686;
}
#entry01 .btm_ttl h3 p {
  font-weight: 600;
}

#entry02 {
  background: #f9f5ec;
}
#entry02 .container {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 30px;
  padding-bottom: 60px;
  padding-left: 1rem;
  padding-right: 1rem;
}
#entry02 .m_box:not(:last-of-type) {
  margin-bottom: 2rem;
}
#entry02 .rec_tbl {
  width: 100%;
}
#entry02 .rec_tbl th, #entry02 .rec_tbl td {
  display: block;
  width: 100%;
  padding: 0.5rem;
  border: 1px solid #ccc;
}
#entry02 .rec_tbl th {
  background: #e89686;
  color: #fcfcfb;
}
#entry02 .rec_tbl tr td {
  border-top: none;
}
#entry02 .rec_tbl tr:not(:last-of-type) td {
  border-bottom: none;
}

#entry03 {
  background: #f1c6be;
  position: relative;
  z-index: 1;
}
#entry03 .wave {
  width: 100%;
  height: 60px; /* 高さは必要に応じて調整 */
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 320' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cpath d='M0,160L26.7,138.7C53.3,117,107,75,160,101.3C213.3,128,267,224,320,245.3C373.3,267,427,213,480,176C533.3,139,587,117,640,133.3C693.3,149,747,203,800,224C853.3,245,907,235,960,213.3C1013.3,192,1067,160,1120,128C1173.3,96,1227,64,1280,69.3C1333.3,75,1387,117,1413,138.7L1440,160L1440,0L1413.3,0C1386.7,0,1333,0,1280,0C1226.7,0,1173,0,1120,0C1066.7,0,1013,0,960,0C906.7,0,853,0,800,0C746.7,0,693,0,640,0C586.7,0,533,0,480,0C426.7,0,373,0,320,0C266.7,0,213,0,160,0C106.7,0,53,0,27,0L0,0Z' fill='%23f9f5ec'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  position: absolute;
  top: 0;
  left: 0;
}
#entry03 .wave2 {
  width: 100%;
  height: 60px; /* 高さは必要に応じて調整 */
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 320' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cpath d='M0,160L26.7,181.3C53.3,203,107,245,160,218.7C213.3,192,267,96,320,74.7C373.3,53,427,107,480,144C533.3,181,587,203,640,186.7C693.3,171,747,117,800,96C853.3,75,907,85,960,106.7C1013.3,128,1067,160,1120,192C1173.3,224,1227,256,1280,250.7C1333.3,245,1387,203,1413,181.3L1440,160L1440,320L1413.3,320C1386.7,320,1333,320,1280,320C1226.7,320,1173,320,1120,320C1066.7,320,1013,320,960,320C906.7,320,853,320,800,320C746.7,320,693,320,640,320C586.7,320,533,320,480,320C426.7,320,373,320,320,320C266.7,320,213,320,160,320C106.7,320,53,320,27,320L0,320Z' fill='%23f9f5ec'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  position: absolute;
  bottom: 0;
  left: 0;
}
#entry03 .container {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 90px;
  padding-bottom: 90px;
  padding-left: 1rem;
  padding-right: 1rem;
}
#entry03 h2 {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 2rem;
  padding-bottom: 0.5rem;
  text-align: center;
  position: relative;
}
#entry03 h2::before, #entry03 h2::after {
  content: "";
  display: block;
  height: 4px;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
#entry03 h2::before {
  width: 2rem;
  background: #333;
}
#entry03 h2::after {
  width: 1rem;
  background: #2580ee;
  left: calc(50% - 0.5rem);
}
#entry03 .entry_deco {
  width: 240px;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: -1;
}
#entry03 .entry_deco img {
  width: 100%;
}
#entry03 .entry_wrap .btn_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
#entry03 .entry_wrap .btn_wrap li {
  width: 48%;
}
#entry03 .entry_wrap .btn_wrap li a {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  display: block;
  padding: 0.5rem;
  text-align: center;
  background: #fcfcfb;
  border: 2px solid #333;
  border-radius: 2rem;
}
#entry03 .entry_wrap .btn_wrap li a::before {
  margin-right: 0.5rem;
}
#entry03 .entry_wrap .btn_wrap .tel_btn a::before {
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f098";
  font-weight: 900;
}
#entry03 .entry_wrap .btn_wrap .mail_btn a::before {
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f199";
  font-weight: 900;
}
#entry03 .entry_wrap .btm_box {
  margin-top: 2rem;
  padding: 1rem;
  background: rgba(252, 252, 251, 0.8);
  border-radius: 5px;
}

#entryform {
  background: #f9f5ec;
}
#entryform .container {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 30px;
  padding-bottom: 30px;
  padding-left: 1rem;
  padding-right: 1rem;
}
#entryform h2 {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 2rem;
  padding-bottom: 0.5rem;
  text-align: center;
  position: relative;
}
#entryform h2::before, #entryform h2::after {
  content: "";
  display: block;
  height: 4px;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
#entryform h2::before {
  width: 2rem;
  background: #333;
}
#entryform h2::after {
  width: 1rem;
  background: #2580ee;
  left: calc(50% - 0.5rem);
}
#entryform .contact_form {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #ccc;
}
#entryform .contact_form input[type=text],
#entryform .contact_form input[type=tel],
#entryform .contact_form input[type=email],
#entryform .contact_form textarea {
  padding: 0.25rem 0.5rem;
  display: block;
  width: 100%;
}
#entryform .contact_form dt {
  width: 100%;
  margin-bottom: 0.5rem;
  padding-left: 0.5rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
}
#entryform .contact_form dt p {
  font-weight: 600;
}
#entryform .contact_form dt::before {
  content: "";
  display: block;
  width: 4px;
  height: 1rem;
  background: #2580ee;
  margin-right: 5px;
  position: absolute;
  top: 5px;
  left: 0;
}
#entryform .contact_form dt.required::after {
  content: "必須";
  display: inline-block;
  padding: 2px 5px;
  font-size: 0.5rem;
  background: #e0325b;
  color: #fcfcfb;
  border-radius: 5px;
  margin-left: 5px;
}
#entryform .contact_form dd {
  width: 100%;
}
#entryform .contact_form .birth_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
}
#entryform .contact_form .birth_box p {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: stretch;
  flex-wrap: nowrap;
}
#entryform .contact_form .birth_box p:nth-of-type(1) {
  width: 50%;
}
#entryform .contact_form .birth_box p:nth-of-type(2) {
  width: 25%;
}
#entryform .contact_form .birth_box p:nth-of-type(3) {
  width: 25%;
}
#entryform .contact_form .birth_box p span {
  display: block;
}
#entryform .contact_form .birth_box p b {
  margin-top: 3px;
  margin-left: 5px;
}
#entryform .contact_form .birth_box input, #entryform .contact_form .birth_box select {
  display: inline-block;
  padding: 0.25rem 0.5rem;
}
#entryform .contact_form .file_box b {
  font-size: 0.75rem;
  color: #e0325b;
}
#entryform .h-adr {
  width: 100%;
}
#entryform .tenpu_note {
  font-size: 0.75rem;
  color: #e0325b;
}
#entryform .wpcf7-not-valid-tip {
  font-size: 0.75rem;
}
#entryform .confirm_box {
  text-align: center;
  margin-top: 0.5rem;
  margin-bottom: 1rem;
}
#entryform .confirm_box p:nth-of-type(2) {
  font-size: 0.75rem;
  color: #e0325b;
}
#entryform .soshin_btn {
  text-align: center;
}
#entryform .soshin_btn input {
  display: inline-block;
  padding: 0.5rem 2rem;
  background: #2580ee;
  color: #fcfcfb;
  border-radius: 5px;
}
#entryform .wpcf7-spinner {
  display: none;
}
#entryform .wpcf7-list-item {
  margin: 0;
}

/*--------------------
.cta
--------------------*/
.cta {
  background: linear-gradient(0deg, rgba(51, 51, 51, 0.3), rgba(51, 51, 51, 0.5)), url(../img/cta_bg.jpg) no-repeat right/cover;
}
.cta .container {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 60px;
  padding-bottom: 60px;
  padding-left: 1rem;
  padding-right: 1rem;
}
.cta h2 {
  text-align: center;
  margin-bottom: 1rem;
}
.cta h2 span {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 600;
  letter-spacing: 0;
  font-size: 2.5rem;
  color: #fcfcfb;
}
.cta h2 p {
  font-size: 1.25rem;
  color: #fcfcfb;
}
.cta .cta_btn_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.cta .cta_btn_list li {
  width: 48%;
}
.cta .cta_btn_list li a {
  display: block;
  padding: 0.5rem 1rem;
  text-align: center;
  color: #fcfcfb;
  border: 2px solid #fcfcfb;
  border-radius: 2rem;
}
.cta .cta_btn_list li:nth-of-type(1) a {
  background: #2580ee;
}
.cta .cta_btn_list li:nth-of-type(2) a {
  background: #e89686;
}

/*--------------------
#access
--------------------*/
#access.has-bg {
  background: #f9f5ec;
}

#access {
  background: #fff;
  position: relative;
}
#access .wave {
  width: 100%;
  height: 60px; /* 高さは必要に応じて調整 */
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 320' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cpath d='M0,160L26.7,138.7C53.3,117,107,75,160,101.3C213.3,128,267,224,320,245.3C373.3,267,427,213,480,176C533.3,139,587,117,640,133.3C693.3,149,747,203,800,224C853.3,245,907,235,960,213.3C1013.3,192,1067,160,1120,128C1173.3,96,1227,64,1280,69.3C1333.3,75,1387,117,1413,138.7L1440,160L1440,0L1413.3,0C1386.7,0,1333,0,1280,0C1226.7,0,1173,0,1120,0C1066.7,0,1013,0,960,0C906.7,0,853,0,800,0C746.7,0,693,0,640,0C586.7,0,533,0,480,0C426.7,0,373,0,320,0C266.7,0,213,0,160,0C106.7,0,53,0,27,0L0,0Z' fill='%23f9f5ec'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  position: absolute;
  top: 0;
  left: 0;
}
#access .container {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 60px;
  padding-bottom: 60px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 100px;
}
#access h2 {
  text-align: center;
  margin-bottom: 2rem;
}
#access h2 span {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 600;
  letter-spacing: 0;
  display: block;
  font-size: 2.5rem;
  padding-bottom: 0.5rem;
  position: relative;
  z-index: 1;
}
#access h2 span::before {
  content: "";
  display: block;
  width: 100%;
  height: 40px;
  background: url(../img/wave_line2.svg) no-repeat center/contain;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
#access .access_wrap {
  margin-bottom: 2rem;
}
#access .access_box {
  margin-bottom: 1rem;
}
#access .access_box p:nth-of-type(1) {
  font-size: 1.125rem;
  font-weight: 600;
}
#access .access_box p:nth-of-type(2) {
  margin-top: 10px;
}
#access .access_box .map_btn_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin-top: 1rem;
}
#access .access_box .map_btn_list li {
  width: 300px;
  margin: 0.5rem 0;
}
#access .access_box .map_btn_list li a {
  display: block;
  padding: 0.5rem 1rem;
  background: #f9f5ec;
  border: 2px solid #333;
  border-radius: 2rem;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  text-align: center;
}
#access .access_box .map_btn_list li a::before {
  margin-right: 5px;
}
#access .access_box .map_btn_list li.tel_btn a::before {
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f098";
  font-weight: 900;
}
#access .access_box .map_btn_list li.mail_btn a::before {
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f0e0";
  font-weight: 900;
}

/*--------------------
#f_menu
--------------------*/
#f_menu {
  background: linear-gradient(0deg, rgba(51, 51, 51, 0.3), rgba(51, 51, 51, 0.5)), url(../img/f_menu_bg.jpg) no-repeat left/cover;
}
#f_menu .container {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 60px;
  padding-bottom: 60px;
  padding-left: 1rem;
  padding-right: 1rem;
}
#f_menu h2 {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 1rem;
}
#f_menu h2 span {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 600;
  letter-spacing: 0;
  font-size: 3.25rem;
  line-height: 1.2;
  color: #2580ee;
}
#f_menu h2 p {
  font-weight: 600;
  color: #fcfcfb;
  margin-left: 1rem;
}
#f_menu ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
#f_menu ul li {
  margin: 0.5rem;
}
#f_menu ul li a {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  display: inline-block;
  padding: 0.5rem 1rem 0.25rem;
  background: #f9f5ec;
  border: 2px solid #333;
  border-radius: 2rem;
}
#f_menu ul li a::before {
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f054";
  font-weight: 900;
  display: inline-block;
  margin-right: 6px;
  font-size: 12px;
  transform: translateY(-2px);
}

/*--------------------
#group
--------------------*/
#group {
  background: #fff;
}
#group .container {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 20px;
  padding-bottom: 100px;
  padding-left: 1rem;
  padding-right: 1rem;
}
#group .group_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
#group .group_box .group_inner {
  width: 100%;
  margin-bottom: 1rem;
}
#group .wave_wrap {
  position: relative;
  z-index: 2;
}
#group .wave_wrap .wave {
  width: 100%;
  height: 100px; /* 高さは必要に応じて調整 */
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 320' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cpath d='M0,32L48,53.3C96,75,192,117,288,122.7C384,128,480,96,576,112C672,128,768,192,864,224C960,256,1056,256,1152,218.7C1248,181,1344,107,1392,69.3L1440,32L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z' fill='%23594d45'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  position: absolute;
  bottom: 0;
  left: 0;
}

/*--------------------
footer
--------------------*/
footer {
  background: #594d45;
}
footer .container {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 60px;
  padding-bottom: 30px;
  padding-left: 1rem;
  padding-right: 1rem;
}
footer .f_logo_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
}
footer .f_logo_wrap .f_logo {
  width: 5rem;
}
footer .f_logo_wrap .f_logo img {
  fill: #fcfcfb;
}
footer .f_logo_wrap .f_logo_name {
  padding-left: 1rem;
  color: #fcfcfb;
}
footer .f_logo_wrap .f_logo_name a {
  color: #fcfcfb;
}
footer .f_menu_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-top: 1rem;
}
footer .f_menu_list li {
  width: 48%;
  margin: 0.5rem 0;
  text-align: center;
}
footer .f_menu_list li a {
  display: block;
  padding: 0.5rem 1rem;
  color: #333;
  background: #fcfcfb;
  border-radius: 2rem;
  border: 2px solid #333;
}
footer .f_menu_list li a::before {
  display: inline-block;
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f054";
  font-weight: 900;
  margin-right: 6px;
  font-size: 12px;
  transform: translateY(-2px);
}
footer .f_contact_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin-top: 2rem;
}
footer .f_contact_list li {
  width: 100%;
  margin-bottom: 1rem;
}
footer .f_contact_list li a {
  display: block;
  padding: 1rem;
  text-align: center;
  color: #fcfcfb;
  border: 2px solid #fcfcfb;
  border-radius: 2rem;
}
footer .f_contact_list li a::before {
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f054";
  font-weight: 900;
  margin-right: 5px;
}
footer .f_contact_list li:nth-of-type(1) a {
  background: #2580ee;
}
footer .f_contact_list li:nth-of-type(2) a {
  background: #bcd00a;
}
footer .copyright {
  padding: 0.5rem;
  text-align: center;
  background: #333;
  color: #fcfcfb;
}
footer .copyright a {
  color: #fcfcfb;
}
footer .footer-policy {
  text-align: center;
  color: #fff;
  font-size: 0.9rem;
  margin-bottom: 1rem;
}
footer .footer-policy a {
  color: #fff;
  text-decoration: underline;
}

/*--------------------
Google map
--------------------*/
.gmap {
  width: 100%;
  padding-top: 75%;
  position: relative;
}
.gmap iframe {
  width: 100%;
  height: 100%;
  border-radius: 5px;
  position: absolute;
  top: 0;
  left: 0;
}

/*--------------------
記事関連
--------------------*/
.interview_thumb {
  max-width: 100%;
  height: auto;
}

/*--------------------
メディアクエリ切り替えクラス
--------------------*/
.sp {
  display: block;
}

.pc {
  display: none;
}

/*--------------------
インタビュー
--------------------*/
#interview {
  background-color: #f8f5ed;
  background-image: url("../img/deco_bg_yellow.svg");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  background-attachment: fixed;
}
#interview .container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
#interview .interview-info {
  background: #f9f5ec;
}
#interview .interview-wrapper {
  position: relative;
  padding: 8rem 0;
  padding-bottom: 4rem;
}
@media (max-width: 768px) {
  #interview .interview-wrapper {
    padding: 2rem 0;
    padding-bottom: 0;
  }
}
#interview .interview-wrapper .wave {
  width: 100%;
  height: 60px; /* 高さは必要に応じて調整 */
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 320' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cpath d='M0,160L26.7,138.7C53.3,117,107,75,160,101.3C213.3,128,267,224,320,245.3C373.3,267,427,213,480,176C533.3,139,587,117,640,133.3C693.3,149,747,203,800,224C853.3,245,907,235,960,213.3C1013.3,192,1067,160,1120,128C1173.3,96,1227,64,1280,69.3C1333.3,75,1387,117,1413,138.7L1440,160L1440,0L1413.3,0C1386.7,0,1333,0,1280,0C1226.7,0,1173,0,1120,0C1066.7,0,1013,0,960,0C906.7,0,853,0,800,0C746.7,0,693,0,640,0C586.7,0,533,0,480,0C426.7,0,373,0,320,0C266.7,0,213,0,160,0C106.7,0,53,0,27,0L0,0Z' fill='%23f9f5ec'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  position: absolute;
  top: 0;
  left: 0;
}
#interview .interview-wrapper .wave2 {
  width: 100%;
  height: 60px; /* 高さは必要に応じて調整 */
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 320' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cpath d='M0,160L26.7,181.3C53.3,203,107,245,160,218.7C213.3,192,267,96,320,74.7C373.3,53,427,107,480,144C533.3,181,587,203,640,186.7C693.3,171,747,117,800,96C853.3,75,907,85,960,106.7C1013.3,128,1067,160,1120,192C1173.3,224,1227,256,1280,250.7C1333.3,245,1387,203,1413,181.3L1440,160L1440,320L1413.3,320C1386.7,320,1333,320,1280,320C1226.7,320,1173,320,1120,320C1066.7,320,1013,320,960,320C906.7,320,853,320,800,320C746.7,320,693,320,640,320C586.7,320,533,320,480,320C426.7,320,373,320,320,320C266.7,320,213,320,160,320C106.7,320,53,320,27,320L0,320Z' fill='%23f9f5ec'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  position: absolute;
  bottom: 0;
  left: 0;
}
#interview .interview-wrapper .interview-block {
  padding: 4rem 0;
}
@media (max-width: 768px) {
  #interview .interview-wrapper .interview-block {
    margin: 1rem;
    padding: 3rem 0;
  }
}
#interview .interview-wrapper .interview-block .container {
  background: #fff;
  border-radius: 1rem;
  border: 0.25rem solid #333;
  padding: 2rem;
}
@media (max-width: 768px) {
  #interview .interview-wrapper .interview-block .container {
    padding: 1rem;
  }
}
#interview .interview-wrapper .interview-block .interview_row {
  display: flex;
  flex-direction: column;
  gap: 1.875rem;
}
@media (min-width: 768px) {
  #interview .interview-wrapper .interview-block .interview_row {
    flex-direction: row;
    gap: 2.5rem;
    align-items: center;
  }
}
@media (min-width: 768px) {
  #interview .interview-wrapper .interview-block .interview_row.reverse {
    flex-direction: row-reverse;
  }
}
#interview .interview-wrapper .interview-block .interview_row.center {
  flex-direction: column;
  align-items: center;
  text-align: center;
}
#interview .interview-wrapper .interview-block .interview_row.center .interview_content {
  max-width: 50rem;
}
#interview .interview-wrapper .interview-block .interview_row.multi .interview_image {
  display: flex;
  gap: 0.625rem;
}
#interview .interview-wrapper .interview-block .interview_row.multi .interview_image figure {
  flex: 1 1 0;
}
#interview .interview-wrapper .interview-block .interview_image {
  flex: 0 0 50%;
}
#interview .interview-wrapper .interview-block .interview_image figure {
  margin: 0;
}
#interview .interview-wrapper .interview-block .interview_image figure img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 5px;
}
#interview .interview-wrapper .interview-block .interview_content {
  flex: 1;
}
#interview .interview-wrapper .interview-block .interview_content .interview_title {
  font-size: 1.5rem;
  font-weight: bold;
  color: #d67c6c;
  margin-bottom: 0.75rem;
}
#interview .interview-wrapper .interview-block .interview_content .interview_subtitle {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 1rem;
  line-height: 1.4;
  color: #222;
}
@media (max-width: 768px) {
  #interview .interview-wrapper .interview-block .interview_content .interview_subtitle {
    font-size: 1.2rem;
  }
}
#interview .interview-wrapper .interview-block .interview_content .interview_lead p {
  margin: 0 0 0.5rem 0;
}
#interview .interview-wrapper .interview-block .interview_content .interview_lead .lead_text {
  font-size: 1.2rem;
  color: #333;
}
@media (max-width: 768px) {
  #interview .interview-wrapper .interview-block .interview_content .interview_lead .lead_text {
    font-size: 1.1rem;
  }
}
#interview .interview-wrapper .interview-block .interview_content .interview_lead .lead_person {
  font-size: 1rem;
  color: #555;
}
#interview .interview-wrapper .interview-block .interview_text {
  position: relative;
  background: #f8f5ed;
  padding: 1.2rem;
  border-radius: 1rem;
  margin-top: 2rem;
  margin-bottom: 2rem;
  font-feature-settings: "palt";
  line-height: 1.8;
  letter-spacing: 0.02em;
  word-break: break-word;
  text-align: justify;
}
#interview .interview-wrapper .interview-block .interview_text::after {
  content: "";
  display: block;
  height: 3rem;
}
#interview .interview-wrapper .interview-block .interview_text.open::after {
  height: 0;
}
#interview .interview-wrapper .interview-block .interview_text .text_wrapper {
  max-height: 6.5em;
  overflow: hidden;
  transition: height 0.3s ease;
}
#interview .interview-wrapper .interview-block .interview_text .text_wrapper p {
  font-size: 1rem;
  line-height: 1.8;
  margin-bottom: 1.5rem;
}
@media (max-width: 768px) {
  #interview .interview-wrapper .interview-block .interview_text .text_wrapper p {
    font-feature-settings: "palt";
    line-height: 1.8;
    letter-spacing: 0.02em;
    word-break: break-word;
    text-align: justify;
  }
}
#interview .interview-wrapper .interview-block .interview_text .text_wrapper .text_bold {
  text-align: center;
  background: #e5e5e5;
  padding: 2rem;
  font-size: 1.1rem !important;
  font-weight: bold !important;
  color: #E89686;
}
@media (max-width: 768px) {
  #interview .interview-wrapper .interview-block .interview_text .text_wrapper .text_bold {
    padding: 2rem 1rem;
  }
}
#interview .interview-wrapper .interview-block .interview_text .text_wrapper h5 {
  font-size: 1.2rem;
  font-weight: 700;
  color: #333;
  border-bottom: 3px solid #ccc;
  padding-bottom: 0.5rem;
  margin: 2rem 0 1rem;
  position: relative;
}
@media (max-width: 768px) {
  #interview .interview-wrapper .interview-block .interview_text .text_wrapper h5 {
    font-size: 1.1rem;
  }
}
#interview .interview-wrapper .interview-block .interview_text .text_wrapper h5::before {
  content: "";
  display: block;
  width: 3rem;
  height: 0.2rem;
  background: #E89686;
  position: absolute;
  bottom: -0.2rem;
  left: 0;
}
#interview .interview-wrapper .interview-block .interview_text .text_wrapper .interview_cta {
  background: #e5e5e5;
  padding: 2rem 1rem;
  border-radius: 0.5rem;
  text-align: center;
  margin-top: 2rem;
  margin-bottom: 4rem;
}
@media (max-width: 768px) {
  #interview .interview-wrapper .interview-block .interview_text .text_wrapper .interview_cta {
    padding-top: 0.5rem;
  }
}
#interview .interview-wrapper .interview-block .interview_text .text_wrapper .interview_cta p {
  font-size: 1rem;
  margin-bottom: 1rem;
}
#interview .interview-wrapper .interview-block .interview_text .text_wrapper .interview_cta .button {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  font-size: 1.5rem;
  letter-spacing: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 1rem 2rem 0.5rem;
  background: linear-gradient(135deg, #2580ee, #e89686);
  color: #fcfcfb;
  border-radius: 9999px;
  border: none;
  cursor: pointer;
  transition: opacity 0.3s;
  margin: 1rem 0;
  text-decoration: none; /* ← aタグの下線を消す */
}
#interview .interview-wrapper .interview-block .interview_text .text_wrapper .interview_cta .button:hover {
  opacity: 0.85;
}
#interview .interview-wrapper .interview-block .interview_text .text_wrapper .interview_cta .button + .button {
  margin-top: 1rem;
}
#interview .interview-wrapper .interview-block .interview_text.open .text_wrapper {
  max-height: none;
}
#interview .interview-wrapper .interview-block .interview_text .accordion-toggle {
  position: absolute;
  bottom: -1.25rem;
  left: 50%;
  transform: translateX(-50%);
  width: 18rem;
  padding: 1rem 0;
  background: #E89686;
  color: #fff;
  border-radius: 100px;
  font-size: 1.2rem;
  cursor: pointer;
  border: none;
  transition: 0.3s;
}
#interview .interview-wrapper .interview-block .interview_text .accordion-toggle:hover {
  background: #d67c6c;
}
#interview .interview-wrapper .interview-block .interview_text span.speaker1 {
  background: linear-gradient(transparent 70%, #f1cfc9 70%);
}
#interview .interview-wrapper .interview-block .interview_text span.speaker2 {
  background: linear-gradient(transparent 70%, #c3d8f1 70%);
}
#interview .interview-wrapper .interview-block .interview_text .text_bold {
  text-align: center;
  background: #f3f3f3;
  padding: 2rem;
  font-size: 1.1rem !important;
  font-weight: bold !important;
  color: #E89686;
}

#entry01_test {
  background: #f9f5ec;
  position: relative;
}
#entry01_test .container {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 30px;
  padding-bottom: 30px;
  padding-left: 1rem;
  padding-right: 1rem;
}
#entry01_test .entry_ttl {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 600;
  letter-spacing: 0;
  font-size: 2.5rem;
  margin-bottom: 2rem;
  text-align: center;
  position: relative;
}
#entry01_test .entry_ttl::before, #entry01_test .entry_ttl::after {
  content: "";
  display: block;
  height: 4px;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
#entry01_test .entry_ttl::before {
  width: 2rem;
  background: #333;
}
#entry01_test .entry_ttl::after {
  width: 1rem;
  background: #2580ee;
  left: calc(50% - 0.5rem);
}
#entry01_test .btm_ttl {
  margin-bottom: 1rem;
}
#entry01_test .btm_ttl h3 {
  text-align: center;
}
#entry01_test .btm_ttl h3 span {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 600;
  letter-spacing: 0;
  font-size: 2rem;
  color: #e89686;
}
#entry01_test .btm_ttl h3 p {
  font-weight: 600;
}
#entry01_test .entry_jobs {
  background: #fff;
  border: 3px solid #333;
  border-radius: 10px;
  padding: 2rem;
}
#entry01_test .entry_jobs .entry_row {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  position: relative;
  margin-top: 2rem;
}
#entry01_test .entry_jobs .entry_row .entry_col {
  flex: 1;
  min-width: 200px;
  text-align: center;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}
#entry01_test .entry_jobs .entry_row .entry_col::before {
  content: "";
  position: absolute;
  top: 10%;
  bottom: 10%;
  right: 0;
  width: 1px;
  background: #ccc;
}
#entry01_test .entry_jobs .entry_row .entry_col:last-child::before {
  display: none;
}
#entry01_test .entry_jobs .entry_row .entry_col .clinic_name {
  font-weight: 600;
  margin-bottom: 1rem;
}
#entry01_test .entry_jobs .entry_row .entry_col .job_btn {
  display: inline-block;
  width: 160px;
  padding: 0.5rem 0;
  border-radius: 9999px;
  margin: 0.5rem 0;
  font-weight: 600;
  text-decoration: none;
  transition: 0.3s;
  text-align: center;
}
#entry01_test .entry_jobs .entry_row .entry_col .job_btn.blue {
  background: #2580ee;
  color: #fff;
}
#entry01_test .entry_jobs .entry_row .entry_col .job_btn.pink {
  background: #e89686;
  color: #fff;
}
#entry01_test .entry_jobs .entry_single {
  text-align: center;
  margin-top: 2rem;
}
#entry01_test .entry_jobs .entry_single .job_btn.white {
  display: inline-block;
  width: 200px;
  padding: 0.5rem 0;
  border: 2px solid #333;
  border-radius: 9999px;
  background: #fff;
  color: #333;
  text-align: center;
}
@media (max-width: 768px) {
  #entry01_test .entry_jobs .entry_row {
    flex-direction: column;
  }
  #entry01_test .entry_jobs .entry_row .entry_col {
    border-top: 1px solid #ccc;
  }
  #entry01_test .entry_jobs .entry_row .entry_col::before {
    display: none;
  }
  #entry01_test .entry_jobs .entry_row .entry_col:first-child {
    border-top: none;
  }
}
#entry01_test .entry_notice {
  margin-top: 1em;
  padding: 0.75em 1em;
  background-color: #f4f4f4;
  border-left: 4px solid #4f6ff4;
  font-size: 0.95em;
  color: #333;
}
@media (max-width: 768px) {
  #entry01_test .entry_notice {
    font-size: 0.9em;
  }
}

#entry02_test {
  background: #f9f5ec;
  position: relative;
}
#entry02_test .container {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 30px;
  padding-bottom: 30px;
  padding-left: 1rem;
  padding-right: 1rem;
}
#entry02_test .entry_section {
  margin-top: 4rem;
}
#entry02_test .entry_section .clinic_ttl {
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 1.5rem;
  text-align: center;
}
#entry02_test .entry_section .entry_role.is-open {
  margin-bottom: 2rem;
}
#entry02_test .entry_section .entry_roles {
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
  align-items: flex-start;
}
#entry02_test .entry_section .entry_roles .entry_role {
  width: 100%;
  flex: 1 1 48%;
  background: #fff;
  border: 3px solid #333;
  border-radius: 10px;
  position: relative;
}
#entry02_test .entry_section .entry_roles .entry_role .entry_head {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
#entry02_test .entry_section .entry_roles .entry_role h4 {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 1rem;
}
#entry02_test .entry_section .entry_roles .entry_role .toggle_detail {
  display: inline-block;
  background: none;
  border: 1px solid #ccc;
  padding: 0.5rem 1rem;
  border-radius: 5px;
  cursor: pointer;
  transition: 0.3s;
  width: 100%;
}
#entry02_test .entry_section .entry_roles .entry_role .toggle_detail:hover {
  background: #f5f5f5;
}
#entry02_test .entry_section .entry_roles .entry_role .job_detail {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-top: 1rem;
}
#entry02_test .entry_section .entry_roles .entry_role .job_detail.is-hidden {
  display: none;
}
#entry02_test .entry_section .entry_roles .entry_role .apply_btn {
  position: absolute;
  bottom: -3rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  min-width: 180px;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  font-size: 1.5rem;
  letter-spacing: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 1rem 2rem 0.5rem;
  background: linear-gradient(135deg, #2580ee, #e89686);
  color: #fcfcfb;
  border-radius: 9999px;
  border: none;
  cursor: pointer;
  transition: opacity 0.3s;
  margin: 1rem 0;
  text-decoration: none;
}
#entry02_test .entry_section .entry_roles .entry_role .apply_btn:hover {
  opacity: 0.85;
}
@media screen and (max-width: 768px) {
  #entry02_test .entry_section .entry_roles {
    flex-direction: column;
  }
  #entry02_test .entry_section .entry_roles .entry_role {
    flex: 1 1 100%;
  }
}
#entry02_test .rec_tbl {
  width: 100%;
  border-collapse: collapse;
  font-size: 1rem;
}
#entry02_test .rec_tbl th,
#entry02_test .rec_tbl td {
  padding: 1rem;
  vertical-align: top;
  border-bottom: 1px solid #fff;
}
#entry02_test .rec_tbl th {
  width: 25%;
  background: #e89686;
  color: #fff;
  font-weight: bold;
  text-align: left;
  line-height: 1.5;
}
@media (max-width: 768px) {
  #entry02_test .rec_tbl th {
    width: 30%;
    padding: 0.5rem;
  }
}
#entry02_test .rec_tbl td {
  background: #fff;
  line-height: 1.75;
  color: #333;
}
@media (max-width: 768px) {
  #entry02_test .rec_tbl td {
    padding: 0.75rem;
  }
}
#entry02_test .rec_tbl td ul.list_dot {
  list-style: disc;
  margin: 0.5rem 0 1rem 0.2rem;
}
#entry02_test .rec_tbl td ul.list_dot li {
  line-height: 1.6;
}
#entry02_test .rec_tbl tr:nth-child(even) td {
  background-color: #f7f7f7;
}
#entry02_test .rec_tbl tr:last-child th,
#entry02_test .rec_tbl tr:last-child td {
  border-bottom: none;
  padding-bottom: 3rem;
}
#entry02_test .no_recruit {
  width: 100%;
  text-align: center;
  font-weight: bold;
  color: #999;
  background: #f8f8f8;
  padding: 4rem 1rem;
  border: 1px solid #ddd;
  border-radius: 8px;
  font-size: 1rem;
}

.license_area.is-hidden {
  display: none !important;
}

.sp-only {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp-only {
    display: inline;
  }
}

.pc-only {
  display: inline;
}
@media screen and (max-width: 767px) {
  .pc-only {
    display: none;
  }
}

#related-pages {
  background: #f9f5ec;
}
#related-pages .container {
  width: 100%;
  max-width: 100%;
  margin: auto;
  padding-top: 60px;
  padding-bottom: 60px;
  padding-left: 0;
  padding-right: 0;
}
#related-pages h2 {
  text-align: center;
  margin-bottom: 2rem;
}
#related-pages h2 span {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 600;
  letter-spacing: 0;
  display: block;
  font-size: 2.5rem;
  padding-bottom: 0.5rem;
  position: relative;
  z-index: 1;
}
#related-pages h2 span::before {
  content: "";
  display: block;
  width: 100%;
  height: 40px;
  background: url(../img/wave_line2.svg) no-repeat center/contain;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
#related-pages h2 b {
  font-size: 1.125rem;
  font-weight: 600;
}
#related-pages .reason_wrap {
  position: relative;
  z-index: 1;
}
#related-pages .reason_wrap:not(:last-of-type) {
  margin-bottom: 2rem;
}
#related-pages .reason_wrap::before {
  content: "";
  display: block;
  width: 80%;
  height: calc(100% - 2rem);
  background: #f1c6be;
  border-radius: 5px 0 0 5px;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
}
#related-pages .reason_wrap .reason_box {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 1rem;
  padding-right: 1rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
#related-pages .reason_wrap .eng_ttl {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 600;
  letter-spacing: 0;
  writing-mode: vertical-rl;
  font-size: 3rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
  position: absolute;
  top: 0;
  left: 1rem;
}
#related-pages .reason_wrap .reason_img {
  width: 100%;
  padding: 2rem 1rem 0;
}
#related-pages .reason_wrap .reason_img img {
  border-radius: 5px;
  width: 100%;
}
#related-pages .reason_wrap .reason_txt {
  width: 100%;
  padding: 1rem 0;
}
#related-pages .reason_wrap .reason_txt h3 {
  margin-bottom: 1rem;
}
#related-pages .reason_wrap .reason_txt h3 span {
  font-size: 2rem;
  font-weight: 600;
}
#related-pages .reason_wrap .reason_txt h3 p {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
}
#related-pages .reason_wrap.v2::before {
  border-radius: 0 5px 5px 0;
  left: 0;
}
#related-pages .reason_wrap.v2 .reason_box {
  flex-direction: row-reverse;
}
#related-pages .reason_wrap.v2 .eng_ttl {
  left: inherit;
  right: 1.125rem;
}
#related-pages .detail_btn {
  text-align: center;
  margin-top: 1rem;
}
#related-pages .detail_btn a {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1rem;
  background: #fcfcfb;
  border: 2px solid #333;
  border-radius: 2rem;
}
#related-pages .detail_btn a::before {
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f054";
  font-weight: 900;
  font-size: 12px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 1.5rem;
  height: 1.5rem;
  background: #333;
  color: #fcfcfb;
  border-radius: 50%;
  margin-right: 10px;
}
@media (min-width: 1024px) {
  #related-pages .reason_wrap:not(:last-of-type) {
    margin-bottom: 4rem;
  }
  #related-pages .reason_wrap::before {
    width: 75%;
  }
  #related-pages .reason_wrap .eng_ttl {
    font-size: 5rem;
  }
  #related-pages .reason_wrap .reason_img {
    width: 55%;
  }
  #related-pages .reason_wrap .reason_txt {
    width: 45%;
    padding-left: 2rem;
    padding-right: 1rem;
  }
  #related-pages .reason_wrap .reason_txt h3 span {
    font-size: 2.5rem;
  }
  #related-pages .reason_wrap .reason_txt h3 p {
    font-size: 1.25rem;
  }
  #related-pages .reason_wrap.v2 .reason_txt {
    padding-left: 1rem;
    padding-right: 2rem;
  }
  #related-pages .detail_btn {
    margin-top: 2rem;
  }
  #related-pages .detail_btn a {
    padding: 1rem 2rem;
  }
}

.cta h2 {
  margin-bottom: 2rem;
}
@media (max-width: 768px) {
  .cta {
    background-position: center center;
  }
}
.cta .container {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #fff;
  text-align: center;
}
.cta .entry_lead p + p {
  margin-top: 1rem;
}
.cta .button {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  font-size: 1.5rem;
  letter-spacing: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 1rem 2rem 0.5rem;
  background: linear-gradient(135deg, #2580ee, #e89686);
  color: #fcfcfb;
  border-radius: 9999px;
  cursor: pointer;
  transition: opacity 0.3s;
  margin: 1rem 0;
  text-decoration: none;
  width: 100%;
  max-width: 300px;
  margin-top: 4rem;
  border: 2px solid;
}

.container {
  padding-bottom: 6rem !important;
}

#policy {
  background-color: #fcfcfb;
  background-image: radial-gradient(#f9f5ec 20%, transparent 22%), radial-gradient(#f9f5ec 20%, transparent 22%);
  background-position: 0 0, 28px 28px;
  background-size: 56px 56px;
  background-attachment: fixed;
  position: relative;
}
#policy .container {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 30px;
  padding-bottom: 30px;
  padding-left: 1rem;
  padding-right: 1rem;
}
#policy .container h2 {
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
  color: #3f82f8;
  margin-bottom: 3rem;
}
@media (max-width: 768px) {
  #policy .container h2 {
    font-size: 1.5rem;
  }
}
#policy .container h2 p {
  text-align: center;
  font-size: 1rem;
  color: #333;
}
@media (max-width: 768px) {
  #policy .container h2 p {
    font-size: 0.9rem;
  }
}
#policy .container h3 {
  font-size: 1.2rem;
  margin: 1rem 0;
  border-bottom: 1px solid;
}

#contact #entry03 {
  background: #f9f5ec;
}
#contact #entry03 .container {
  padding-top: 100px;
  padding-bottom: 0 !important;
}
#contact h3 {
  padding-bottom: 0.25rem;
  margin-bottom: 4rem;
  border-bottom: 3px solid #333;
  font-size: 1.5rem;
  font-weight: 600;
  position: relative;
}
@media (max-width: 768px) {
  #contact h3 {
    font-size: 1.2rem;
  }
}
#contact h3::before {
  content: "";
  display: block;
  width: 4rem;
  height: 3px;
  background: #e89686;
  position: absolute;
  bottom: -3px;
  left: 0;
}
#contact .contact-phone {
  display: flex;
  flex-wrap: wrap;
}
#contact .contact-phone h3 {
  width: 100%;
  margin-bottom: 2rem;
}
#contact .contact-phone .phone-box {
  width: 100%;
  background: #f1c6be;
  border-radius: 8px;
  padding: 1.2rem;
  margin-bottom: 2rem;
  display: inline-block;
  min-width: 260px;
  text-align: center;
  color: #fff;
}
#contact .contact-phone .phone-box a {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  font-weight: bold;
  color: #fff;
  text-decoration: none;
}
#contact .contact-phone .phone-box a .phone-icon {
  font-size: 2rem;
  margin-right: 0.5rem;
  color: #fff;
}
#contact .contact-phone .phone-box a:hover {
  opacity: 0.8;
}
#contact .contact-phone .phone-box .phone-hours {
  font-size: 0.85rem;
  margin-top: 0.5rem;
}/*# sourceMappingURL=main.css.map */