/* base
-------------------------------------------*/
html {
  scroll-behavior: smooth;
  scroll-padding-top: 120px;
}

@font-face {
  font-family: "ZenMaruGothic";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/ZenMaruGothic-Bold.woff2") format("woff2"),
    url("../fonts/ZenMaruGothic-Bold.woff") format("woff"),
    url("../fonts/ZenMaruGothic-Bold.ttf") format("truetype");
}

@font-face {
  font-family: "ZenMaruGothic";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/ZenMaruGothic-Regular.woff2") format("woff2"),
    url("../fonts/ZenMaruGothic-Regular.woff") format("woff"),
    url("../fonts/ZenMaruGothic-Regular.ttf") format("truetype");
}

body {
  color: #595757;
  font-family: "ZenMaruGothic", sans-serif;
  font-size: 16px;
  line-height: 1.8;
}

img {
  height: auto;
  max-width: 100%;
  -moz-user-select: none;
  vertical-align: middle;
}

a {
  color: #000;
  text-decoration: none;
}

ul {
  list-style-type: none;
}

.flame {
  overflow: hidden;
}

/* header
--------------------------------------------- */
header {
  background-color: rgba(
    255,
    255,
    255,
    0.9
  ); /* 透過度を調整して背景が少し見えるように */
  background-color: #fff;
  height: 120px;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 99;
}

/* 他のコンテンツの上に固定表示するための調整 */

.l-header {
  background-color: #fff;
  border-radius: 80px;
  box-shadow: 1px 6px 13px 0px rgba(0, 0, 0, 0.1);
  height: 100px;
  left: 50%;
  margin: 0 auto;
  max-width: 1440px;
  position: fixed;
  top: 10%;
  transform: translateX(-50%) translateY(-50%);
  width: calc(100% - 5%);
  z-index: 1000;
}
.l-header_inner {
  align-items: center;
  display: flex;
  height: inherit;
  justify-content: space-between;
  margin: 0 auto;
  width: 95%;
}
.icon-image {
  max-width: 17px;
  width: 100%;
}
@media screen and (max-width: 999px) {
  .l-header {
    background-color: unset;
    border-radius: 80px;
    box-shadow: unset;
    height: 100px;
    left: 50%;
    margin: 0 auto;
    position: fixed;
    top: 4%;
    transform: translateX(-50%) translateY(-50%);
    width: 100%;
    z-index: 1000;
  }

  .header__title--logo {
    background-color: #fff;
    border-radius: 60px;
    padding: 10px 15px;
    width: 79%;
  }

  .l-header_inner {
    align-items: center;
    display: flex;
    height: inherit;
    justify-content: space-between;
    margin: 2vh auto 0;
    width: 95%;
  }
}

.l-header_inner {
  max-width: 1200px;
}

.header__title {
  max-width: 200px;
  z-index: 9999;
}

.header_hamburger {
  background-color: #c75b6f;
  border-radius: 50%;
  height: 60px;
  padding: 15px 12px;
  position: fixed; /* 追加 */
  right: 20px; /* 右からの距離を指定、必要に応じて調整 */
  transform: translateX(0);
  vertical-align: middle;
  width: 60px;
  z-index: 9999; /* 他の要素よりも上に表示するためにz-indexを指定 */
}

.header_nav {
  background-color: #fff;
  height: 100vh;
  left: 0;
  opacity: 0;
  position: fixed; /* ここを absolute から fixed に変更することで、スクロール中も画面内に表示 */
  right: 0;
  top: 0;
  transform: translateY(-100%);
  transition: ease 0.3s;
  visibility: hidden;
  width: 100%;
}
.active.header_nav {
  opacity: initial;
  overflow: scroll;
  padding: 15vh 5vh 36px;
  transform: translateY(0px);
  visibility: visible;
}
@media screen and (min-width: 1000px) {
  .header_nav {
    align-items: center;
    background-color: inherit;
    border: none;
    display: flex;
    height: inherit;
    justify-content: flex-end;
    opacity: 1;
    position: static;
    transform: initial;
    visibility: visible;
    width: 75%;
  }
}

.header_nav ul {
  list-style-type: none;
}

.header_nav .active {
  opacity: 1;
  transform: translateY(0);
  visibility: visible;
}

@media screen and (min-width: 1000px) {
  .header_nav.active {
    background-color: inherit;
    border: none;
    display: flex;
    height: inherit;
    justify-content: flex-end;
    opacity: 1;
    transform: initial;
    visibility: visible;
    width: 75%;
  }
}

.hamburger {
  z-index: 9999;
}

@media screen and (min-width: 1000px) {
  .hamburger {
    display: none;
  }
}

.hamburger span {
  background-color: #fff;
  display: block;
  height: 1px;
  margin: 0 auto;
  position: relative;
  transition: ease 0.3s;
  width: 80%;
}

.hamburger span:nth-child(1) {
  top: 0;
}

.hamburger span:nth-child(2) {
  margin: 4px auto;
}

.hamburger span:nth-child(3) {
  top: 0;
}

.hamburger.active span:nth-child(1) {
  top: 5.75px;
  transform: rotate(30deg);
}

.hamburger.active span:nth-child(2) {
  opacity: 0;
}

.hamburger.active span:nth-child(3) {
  top: -4.3px;
  transform: rotate(-30deg);
}

.hamburger__span--txt {
  color: #fff;
  display: block;
  font-size: 0.65rem;
  margin: 0 auto 0 auto;
  position: relative;
  right: 10%;
  text-align: center;
  top: 5px;
  white-space: nowrap;
}
.open .hamburger__span--txt {
  display: none;
}
.open .hamburger__span--txt-close {
  color: #fff;
  display: block;
  font-size: 0.65rem;
  margin: 0px auto 0 auto;
  position: relative;
  right: 3%;
  text-align: center;
  top: 7px;
  white-space: nowrap;
}
.hamburger__span--txt-close {
  display: none;
}
.ribbon--ico {
    display: block;
    left: 33%;
    margin: 0 auto;
    max-width: 27px;
    position: absolute;
    top: -24px;
}
@media screen and (min-width: 1000px) {
  .header_nav > ul {
    align-items: center;
    display: flex;
    font-size: clamp(0.68rem, calc(0.63rem + 0.32vw), 1rem);
    justify-content: space-evenly;
    margin: 0;
    position: relative;
    width: 100%;
  }

  .flex-spacer {
    width: 100%;
  }
}

li.header_nav-contact a {
  align-content: center;
  background-color: #c75b6f;
  border-radius: 61px;
  color: #fff !important;
  display: flex;
  gap: 10px;
  padding: 10px 22px;
}

/* ハンバーガーメニュー表示時にスクロールを禁止 */
.no-scroll {
  overflow: hidden;
}

.pc_menu li {
    position: relative;
}

/* headerここまで
--------------------------------------------- */

/* back. contents
------------------------------------------------*/
.contents {
  background-image: url(../img/background.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  background-size: cover;
  height: 95vh;
  width: 100%;
}
/* back. contentsここまで
------------------------------------------------*/

/* key-visual
----------------------------------------------*/

.kv {
  height: 100dvh;
  overflow: hidden;
  position: relative;
}

.kv__ribbon {
  left: 50%;
  max-width: 80px;
  position: absolute;
  top: 180px;
  transform: translate(-50%);
}

.kv__title {
  left: 50%;
  max-width: 300px;
  position: absolute;
  top: 240px;
  transform: translate(-50%);
  width: 70%;
}

/* top
---------------------------------------- */
.top {
  background-color: #fff;
  padding-top: 20px;
}

.top .ribbon-separator {
  display: block;
  margin: 0 auto 50px;
  width: 80px;
}

/* modal
------------------------------------------*/
.modal {
  display: none;
  left: 50%;
  margin: auto;
  max-width: 1440px;
  opacity: 0;
  position: fixed;
  text-align: center;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  z-index: 1;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .modal {
    max-width: 800px;
  }
}

.modal.active {
  display: block;
  opacity: 1;
  z-index: 9999;
}

.modal_content {
  padding-bottom: 10px;
}

.modal__movie {
  aspect-ratio: 16 / 9;
  position: relative;
  width: 100%;
}

.modal__movie iframe {
  height: 100%;
  width: 100%;
}

.modal_close {
  cursor: pointer;
  position: absolute;
  right: 0;
  top: -60px;
  width: 50px;
}

.modal_overlay {
  background: rgba(0, 0, 0, 0.8);
  display: none;
  height: 100%;
  left: 0;
  opacity: 0;
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 1;
}

.modal_overlay.active {
  display: block;
  opacity: 1;
  z-index: 999;
}

/* animation
-------------------------------------------*/
.fadeIn {
  animation: FadeIn 0.2s linear forwards;
  opacity: 0;
}

@keyframes FadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

/* media
------------------------------------------ */
.media h2 {
  font-size: 30px;
  text-align: center;
}

.media {
  height: 100vh;
  /* padding-bottom: 50px; */
}

.media__inner {
  margin: 0 auto;
  width: 90%;
}

/* bg
-------------------------------------------*/
.bg-gray {
  background-color: #f7f6ef;
  margin-top: -20px;
}

.bg-gray-full {
  background-color: #f7f6ef;
  margin-top: 0px;
}

.bg-blue {
  background-color: #cdeafb;
  margin-top: -20px;
}

.bg-green {
    background-color: #86be4b;
    padding: 100px 0;
    margin: -1px 0 0 0;
}
.bg-green__inner {
  margin: 0 5%;
}

/* wave
------------------------------------------- */
.wave {
  height: 23vw;
  margin-bottom: -20px; /* 下のマージンを負に設定して隙間を埋める */
  position: relative;
}

@media screen and (min-width: 768px) {
  .wave {
    height: 125px;
  }
}

.wave::after {
  background-repeat: no-repeat;
  bottom: 0;
  content: "";
  height: 23vw;
  left: 0;
  position: absolute;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .wave::after {
    height: 150px;
  }
}

.wave-gray-top::after {
  background-image: url("../img/wave-gray-top.svg");
}

.wave-gray-bottom::after {
  background-image: url("../img/wave-gray-bottom.svg");
}

.wave-blue-top::after {
  background-image: url("../img/wave-blue-top.svg");
}

.wave-blue-bottom::after {
  background-image: url("../img/wave-blue-bottom.svg");
}

.wave-content {
  background-color: #f7f7ef; /* クリーム色をwave-contentに適用 */
  margin-bottom: 100px; /* 必要に応じて調整 */
}
.wave-bottom-bg1 {
  background-color: #f7f7ef; /* クリーム色に設定 */
  height: 100%;
  position: absolute;
  top: 50%; /* 下部の半分だけを覆う */
  width: 100%;
}
.wave-bottom-bg2 {
  background-color: #f7f7ef; /* クリーム色に設定 */
  height: 100%;
  position: absolute;
  top: 50%; /* 下部の半分だけを覆う */
  width: 100%;
  z-index: -1;
}

.ribbon--wave {
  left: 50%;
  position: absolute;
  top: 20px;
  transform: translateX(-50%);
  z-index: 9;
}

.wave__title {
  font-size: 36px;
  left: 50%;
  margin-bottom: 40px; /* 余白を追加して調整 */
  position: absolute;
  top: 90px;
  transform: translateX(-50%);
  z-index: 9;
}

/* separator
----------------------------------------------*/
.separator {
  display: block;
  margin: 0 auto 20px;
  padding-top: 20px;
  width: 90%;
}

/* btn
----------------------------------------------*/
.btn {
  background-color: #f297a8;
  border-radius: 50px;
  color: #fff;
  padding: 10px 20px;
  vertical-align: middle;
}

/* about
--------------------------------------------*/
.about__text {
  font-size: 14px;
  line-height: 2;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .about__text {
    font-size: 16px;
  }
}

.about__text p {
  margin: 20px 0;
}

.movie {
  aspect-ratio: 16 / 9;
  margin: 80px auto 40px;
  position: relative;
  width: 90%;
}

.movie iframe {
  height: 100%;
  width: 100%;
}

.movie-lightbox {
  display: none;
}

@media screen and (min-width: 768px) {
  .movie-lightbox {
    aspect-ratio: 16 / 9;
    cursor: pointer;
    display: block;
    height: auto;
    left: 50%;
    position: absolute;
    top: 0;
    transform: translate(-50%);
    width: 100%;
  }
}

/* news
---------------------------------------------*/

.news__title-lady {
  font-size: 36px;
  left: 50%;
  max-width: 150px;
  position: absolute;
  top: 40px;
  transform: translate(50%);
  width: 30vw;
  z-index: 9;
}

/*.news__contents {
transform: translateX(10px) translateY(10px);
}*/

.news__table {
  margin-top: 60px;
}

.news__table td {
  padding: 8px 0;
  vertical-align: top;
}

.news__table .date {
  min-width: 130px;
}

.news__table a {
  color: #1558d6;
  text-decoration: underline;
}

/* cando
-----------------------------------------------*/
.cando {
  margin-bottom: 60px;
}

.cando__lead {
  color: #c75b6f;
  font-size: 20px;
  font-weight: bold;
  line-height: 2;
  margin: 60px 0 30px;
  text-align: center;
}

.cando__intro {
  text-align: center;
}

.cando__intro p {
  margin: 10px 0;
}

.cando__cloud {
  background: url("../img/cando_cloud01.png") no-repeat center/contain;
  height: 280px;
  margin: 80px auto 0;
  position: relative;
}

.cando__cloud:nth-child(2) {
  background-image: url("../img/cando_cloud02.png");
}

.cando__cloud:nth-child(3) {
  background-image: url("../img/cando_cloud03.png");
}

.cando__icon {
  left: 50%;
  position: absolute;
  top: 10px;
  transform: translate(-50%, -50%);
  width: 100px;
}

.cando__text {
  left: 50%;
  position: absolute;
  text-align: center;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 250px;
}

.cando__text h3 {
  color: #c75b6f;
  font-size: 20px;
  margin-bottom: 16px;
}

/* process
-----------------------------------------------*/
.process__box {
  background-color: #fff;
  border-radius: 50px;
  margin: 60px auto;
  padding: 50px 0;
  width: 90%;
}

.process__icon {
  display: block;
  margin: 0 auto;
  width: 120px;
}

.process__text {
  margin: 0 auto;
  max-width: 80%;
  text-align: center;
}

.process__text h3 {
  font-size: 24px;
  margin: 24px 0;
}

.process__text p {
  text-align: center;
}

.process__applink {
  align-items: center;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-evenly;
  margin: 30px 0;
}

.process__applink a {
  width: 38%;
}

/* アプリダウンロードボタンの中央揃え・左右均等配置 */
.app-download-buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin: 30px auto;
  max-width: 600px;
  padding: 0 20px;
}

.app-download-buttons a {
  flex: 1;
  max-width: 200px;
  text-align: center;
  transition: transform 0.3s ease;
}

.app-download-buttons a:hover {
  transform: scale(1.05);
}

.app-download-buttons img {
  width: 100%;
  height: auto;
  max-width: 180px;
}

@media screen and (max-width: 768px) {
  .app-download-buttons {
    flex-direction: column;
    gap: 20px;
    max-width: 100%;
    width: 100%;
    padding: 0 15px;
  }
  
  .app-download-buttons a {
    max-width: 100%;
    width: 100%;
  }
  
  .app-download-buttons img {
    max-width: 100%;
    width: 100%;
    height: auto;
  }
}

.process__counter {
  display: block;
  margin: 30px auto 0;
  width: 120px;
}

/* mebuku
------------------------------------------------*/
.mebuku__lead {
  margin: 30px 0;
  text-align: center;
}

.mebuku__flex {
  align-items: center;
  display: flex;
  justify-content: space-evenly;
  margin: 40px auto;
  width: 90%;
}

.mebuku__flex img {
  width: 48%;
}

.mebuku__flex p {
  text-align: center;
  width: 48%;
}

.mebuku__example {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}

.mebuku__example p:first-child {
  text-decoration: underline;
  text-decoration-color: #fff799;
  text-decoration-skip-ink: none;
  text-decoration-thickness: 0.5em;
  text-underline-offset: -0.2em;
}

.mebuku__excuse {
  display: block;
  margin: 30px auto 80px;
  width: 90%;
}

.mebuku h3 {
  font-size: 24px;
  text-align: center;
}

.mebuku__caution {
  display: block;
  font-size: 14px;
  margin: 0 auto;
  text-align: center;
  width: 80%;
}

.mebuku__safe {
  display: block;
  margin: 20px auto 80px;
  width: 90%;
}

.mebuku__ready {
  color: #2789b0;
  display: block;
  font-size: 18px;
  font-weight: bold;
  list-style-type: disc;
  margin: 0 auto;
  padding-left: 1em;
  width: 300px;
}

.mebuku__small {
  font-size: 14px;
}

.mebuku__process {
  counter-reset: item;
  counter-reset: 0;
  list-style-type: none;
  margin-top: 100px;
}

.mebuku__process li {
  margin-bottom: 60px;
}

.mebuku__process p::before {
  background-color: #b0c7da;
  border-radius: 50px;
  color: #fff;
  content: counter(item);
  counter-increment: item;
  height: 36px;
  left: 0;
  position: absolute;
  text-align: center;
  width: 36px;
}

.mebuku__process p {
  display: block;
  font-size: 20px;
  margin: 0 auto;
  padding-left: 50px;
  position: relative;
  width: fit-content;
}

.mebuku__process li img {
  display: block;
  margin: 20px auto;
  width: 160px;
}

.mebuku__process li:last-child img {
  max-width: 100px;
}

.mebuku__links {
  margin-top: 100px;
}

.mebuku__btn {
  display: block;
  margin: 40px auto;
  text-align: center;
  width: 250px;
}

/* connect
------------------------------------------------*/
.connect h2 {
  color: #fff;
  font-size: 48px;
  letter-spacing: 0.5rem;
  text-shadow: #999 1px 1px 5px;
}

.connect__subtitle {
  background: linear-gradient(
    to right,
    transparent,
    #fff,
    #fff,
    #fff,
    #fff,
    transparent
  );
  font-size: 15px;
  margin: 20px 0 40px;
  padding: 8px 0;
  text-align: center;
  vertical-align: middle;
}

@media screen and (min-width: 768px) {
  .connect__subtitle {
    font-size: 20px;
  }
}

.connect__logo {
  background-color: #fff;
  border: 4px solid #69aec9;
  border-radius: 10px;
  display: block;
  margin: 20px auto 40px;
  padding: 20px;
  width: 200px;
}

.connect__lead {
  font-size: 14px;
  margin: 40px 0;
  text-align: center;
}

.connect__sect {
  font-size: 24px;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .connect__lead {
    font-size: 16px;
  }
}

.connect__list {
  align-items: start;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
  margin: 80px auto;
  width: 98%;
}

.connect__spacer {
  width: 100%;
}

.connect__list li {
  margin-bottom: 40px;
  width: 42%;
}

.connect__list h3 {
  background-color: #fff;
  border-radius: 50px;
  display: block;
  font-size: 16px;
  font-weight: normal;
  margin: 0 auto;
  padding: 4px 20px;
  text-align: center;
  width: 90%;
}

.connect__list p {
  margin-top: 10px;
}

.connect__vision {
  margin: 0 auto;
  text-align: center;
  width: 80%;
}

.connect__vision li {
  margin: 30px 0;
}

.connect__vision h3 {
  margin-bottom: 10px;
}

.connect__info {
  margin: 60px auto;
  max-width: 85%;
  width: auto;
}

@media screen and (min-width: 768px) {
  .connect__info {
    max-width: unset;
  }
}

.connect__info td {
  padding: 4px 0;
}

.connect__info-l {
  vertical-align: top;
  width: 90px;
}

.connect__contact {
  position: relative;
}

.connect__btn {
  display: block;
  margin: 80px auto 80px;
  text-align: center;
  width: 240px;
}

.connect__qman {
  position: absolute;
  right: 20px;
  top: 40px;
  width: 120px;
  z-index: 2;
}

/* service
------------------------------------------------*/
.service__nav {
  margin: 10px auto 180px;
}

.service__btn {
  color: #000;
  display: block;
  margin: 40px auto;
  position: relative;
  text-align: center;
  width: 270px;
}

.service__btnwrapper {
  padding-left: 30px;
}

.service__btnwrapper:nth-child(1) .service__btn {
  background-color: #f8cccd;
}

.service__btnwrapper:nth-child(2) .service__btn {
  background-color: #f4a367;
}

.service__btnwrapper:last-child .service__btn {
  background-color: #c3dd9d;
}

.service__btn img {
  left: 0;
  position: absolute;
  top: 0;
  transform: translate(-50%, -20%);
  width: 80px;
}

.serbox {
  margin: 80px auto 160px;
  width: 90%;
}

.serbox:last-child {
  margin-bottom: 80px;
}

.serbox__bg {
  border-bottom-left-radius: 50px;
  border-bottom-right-radius: 50px;
  padding-bottom: 50px;
}

.serbox__title {
  position: relative;
}

.serbox__title img {
  left: 50%;
  position: absolute;
  top: 0;
  transform: translate(-50%, -50%);
  width: 120px;
}

.serbox h3 {
  border-top-left-radius: 50px;
  border-top-right-radius: 50px;
  font-size: 24px;
  padding: 60px 0 20px;
  text-align: center;
}

.serbox__inner {
  margin: 0 auto;
  width: 96%;
}

/* service 子育て
----------------------------------------------- */
.serbox-cc .serbox__bg {
  background: linear-gradient(#fff, #fdeaea);
}

.serbox-cc h3 {
  background-color: #f8cccd;
}

.serbox-cc__lead {
  font-size: 18px;
  margin: 40px auto;
  text-align: center;
  width: 90%;
}

@media screen and (min-width: 768px) {
  .serbox-cc__lead {
    font-size: 24px;
  }
}

.serbox-cc__point {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 400px;
}

.serbox-cc__point img {
  width: 35%;
}

.serbox-cc__point li {
  color: #e2839a;
  font-weight: bold;
  margin: 20px 0;
}

.serbox-cc__sending {
  display: block;
  margin: 20px auto 60px;
  max-width: 400px;
  width: 100%;
}

.serbox-cc__function li {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin: 30px 0;
}

@media screen and (min-width: 768px) {
  .serbox-cc__function li {
    margin: 20px auto;
    width: 80%;
  }
}

.serbox-cc__function h4 {
  background-image: url("../img/bg-grape.png");
  background-position: center;
  background-size: contain;
  color: #fff;
  font-weight: normal;
  line-height: 1.2;
  padding: 20px 0;
  text-align: center;
  width: 90px;
}

.fsz-14 {
  font-size: 14px;
}

.serbox-cc__function img {
  width: 80px;
}

.serbox-cc__function p {
  font-size: 14px;
  margin-left: 8px;
  width: 50%;
}

.serbox-cc__copy {
  color: #c75b6f;
  font-size: 20px;
  font-weight: bold;
  margin: 60px auto 120px;
  text-align: center;
  width: 80%;
}

@media screen and (min-width: 768px) {
  .serbox-cc__copy {
    font-size: 24px;
  }
}

.phonebox li {
  margin: 120px 0;
}

.phonebox li:first-child {
  margin-top: 0;
}

.phonebox li:last-child {
  margin-bottom: 0;
}

.phonebox h4 {
  color: #c75b6f;
  font-size: 24px;
  margin-bottom: 30px;
  text-align: center;
}

.phonebox__phone {
  display: block;
  margin: 0 auto;
  max-width: 320px;
  width: 75%;
}

.phonebox__info {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin: 20px auto;
  width: 94%;
}

.phonebox__info p {
  width: 60%;
}

.phonebox__info img {
  width: 40%;
}

img.phonebox__heighimg {
  width: 30%;
}

.serbox-cc__caution {
  display: block;
  margin: 120px auto 20px;
  width: 80%;
}

/* service 助け合い
----------------------------------------------- */
.serbox-h .serbox__bg {
  background: linear-gradient(#fff, #feefe2);
}

.serbox-h h3 {
  background-color: #f4a367;
}

.serbox-h__lead {
  font-size: 16px;
  margin: 40px auto;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .serbox-h__lead {
    font-size: 22px;
  }
}

.serbox-h__about {
  margin: 40px auto 80px;
  width: 80%;
}

.serbox-h__copy {
  color: #ef845c;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 40px;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .serbox-h__copy {
    font-size: 24px;
  }
}

.serbox-h__check {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-top: 60px;
}

.serbox-h__check img {
  width: 30%;
}

.serbox-h__check p {
  font-size: 14px;
  width: 60%;
}

@media screen and (min-width: 768px) {
  .serbox-h__check p {
    font-size: 16px;
  }
}

.serbox-h__small {
  font-size: 12px;
  margin: 20px auto;
  text-align: center;
}

/* service ゆでぴ
----------------------------------------------- */
.serbox-yp .serbox__bg {
  background: linear-gradient(#fff, #eef5e3);
}

.serbox-yp h3 {
  background-color: #c3dd9e;
}

.serbox-yp__lead {
  font-size: 18px;
  margin: 40px auto;
  text-align: center;
  width: 90%;
}

@media screen and (min-width: 768px) {
  .serbox-yp__lead {
    font-size: 20px;
  }
}

.serbox-yp__about {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.serbox-yp__about img {
  width: 40%;
}

.serbox-yp__about-text {
  width: 55%;
}

.serbox-yp__about-text p {
  font-size: 16px;
}

.serbox-yp__connection {
  margin-top: 120px;
}

.serbox-yp__joined p {
  margin: 0 auto 20px;
  width: 80%;
}

.serbox-yp__function {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.serbox-yp__function-block {
  font-size: 14px;
  width: 45%;
}

.serbox-yp__get {
  margin-top: 120px;
}

.serbox-yp__get h4 {
  color: #4dbbaa;
  font-size: 16px;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .serbox-yp__get h4 {
    font-size: 20px;
  }
}

.serbox-yp__get-lead {
  margin: 20px auto 0;
  text-align: center;
  width: 85%;
}

.serbox-yp__get-lead p {
  margin: 10px 0;
}

.serbox-yp__get-list {
  margin: 50px auto;
  width: 90%;
}

.serbox-yp__get-list li {
  align-items: center;
  background: linear-gradient(
    to right,
    transparent,
    #fff,
    #fff,
    #fff,
    #fff,
    transparent
  );
  display: flex;
  justify-content: space-between;
  margin: 20px 0;
}

.serbox-yp__get-list li:nth-child(2) {
  background: none;
  flex-direction: row-reverse;
}

.serbox-yp__get-list img {
  width: 40%;
}

.serbox-yp__get-list p {
  font-size: 14px;
  margin: 20px 0;
  width: 55%;
}

/* Q&A
------------------------------------------------*/
.media .faq__title {
  font-size: 40px;
  letter-spacing: 0.7rem;
}

.faq__title-q {
  color: #2789b0;
}

.faq__title-a {
  color: #e2839a;
}

.faq__list {
    list-style-type: none;
    margin: 0px auto 80px;
    width: 90%;
    max-width: 960px;
}
.faq__item {
    background-color: #F7F6EF;
    border-radius: 20px;
    cursor: pointer;
    margin: 0px auto 20px;
    padding: 20px;
    position: relative;
}

.faq__btn {
  display: inline-block;
  position: absolute;
  right: 30px;
  top: 45px;
}

.faq__btnImg {
  height: auto;
  width: 1em;
}

.faq__closeImg {
  transform: translateZ(0deg);
  transition: all 0.2s;
}

.faq__closeImg.active {
  display: inline-block;
  transform: rotateZ(180deg) translateY(-5px);
  transition: all 0.2s;
}

.faq__question {
  align-items: baseline;
  display: flex;
  margin: 20px 0;
  padding-right: 3em;
}

.faq__answer {
    align-items: baseline;
    display: none;
    margin-top: 20px;
    padding-right: 2em;
    transition: all 0.3s;
    border-top: 1px solid #999;
}

.faq__answer.active {
  display: flex;
  transition: all 0.3s;
}

.faq__mark {
  color: #2789b0;
  font-size: 1.5em;
  font-weight: 600;
  margin-right: 20px;
}

.faq__mark-a {
  color: #e2839a;
  font-size: 1.5em;
  margin-top: 10px;
}

.faq__top-sort {
  font-size: 24px;
  margin-top: 20px;
  text-align: center;
}

.faq__sort {
  font-size: 22px;
  margin: 60px auto 0;
  width: 90%;
}

.faq__answer .indent {
  display: block;
  margin: 8px 0;
  padding-left: 1em;
  text-indent: -1em;
}

.faq__answer a {
  color: #2789b0;
  text-decoration: underline;
}

.faq__sitemap ul {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto 40px;
  padding-top: 40px;
  width: 95%;
}

.faq__sitemap li {
  margin: 10px 0;
  text-align: center;
  width: 50%;
}

.faq__sitemap li:nth-child(1),
.faq__sitemap li:nth-child(3),
.faq__sitemap li:nth-child(5) {
  border-right: 1px solid #000;
}

/* sponsor
------------------------------------------------*/
.sponsor__ready {
  padding-bottom: 100px;
  text-align: center;
}

.sponsor__list {
  align-items: start;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
  padding-bottom: 100px;
  width: 90%;
}

.sponsor__list li {
  padding-bottom: 60px;
  width: 45%;
}

.sponsor__list img {
  border: 1px solid #c75b6f;
}

.sponsor__list h3 {
  margin: 10px 0;
  text-align: center;
}

/* footer
------------------------------------------------*/
.footer {
  background-color: #fff;
}

.footer__links {
  align-items: center;
  display: flex;
  justify-content: center;
}

.footer__links > a {
  padding: 5px 20px;
}

.footer__links > a:first-child {
  border-right: 1px solid #595757;
}

.footer__sitemap ul {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto 40px;
  padding-top: 40px;
  width: 95%;
}

.footer__sitemap li {
  margin: 10px 0;
  text-align: center;
  width: 50%;
}

.footer__sitemap li:nth-child(1),
.footer__sitemap li:nth-child(3),
.footer__sitemap li:nth-child(6),
.footer__sitemap li:nth-child(8) {
  border-right: 1px solid #fff;
}

.footer__sitemap a {
  color: #fff;
}

.footer__info {
  color: #fff;
}

.footer__info__flex {
  align-items: stretch;
  display: flex;
}

.footer__info__flex > img {
  max-width: 80px;
  object-fit: contain;
  width: 100%;
}

.footer__info__text {
  margin-left: 10px;
}

.footer__info__name {
  font-size: 1em;
  font-weight: bold;
  line-height: normal;
}
.footer__info__number {
  font-size: 0.8rem;
  line-height: normal;
}

.footer__info__address {
  font-size: 0.8rem;
}

.footer__info__copy {
  margin-top: 20px;
  padding-bottom: 120px;
  text-align: center;
}

.footer__bg {
  margin: 0 auto; /* 中央揃えにするために自動マージンを適用 */
  overflow: hidden; /* 余分な部分が見えないように設定 */
  width: 100%; /* 親要素の幅に対して100%の幅を持たせる */
}

.footer__bg img {
  display: block; /* 画像をブロック要素として表示し、不要なスペースを削除 */
  height: auto; /* 縦横比を保つ */
  width: 100%; /* 画像の幅を100%に設定し、親要素に合わせてスケーリング */
}

.footer__kv {
  max-width: 256px;
  position: relative;
  width: 100%;
}

.footer__kv__ribbon {
  display: block;
  margin: 0 auto;
  max-width: 58px;
  width: 100%;
}

.footer-menu {
  color: white;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 600px;
  padding: 2em 1em;
}

.bg-green__inner__flex {
  align-items: flex-start;
  display: flex;
  gap: 20%;
}
.bg-green__inner__flex__l {
  display: flex;
  flex-direction: column;
  gap: 4em;
}

.menu-column {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 45%;
}

.menu-column li {
  margin-bottom: 0.5em;
}

li.li_sub {
  margin: 0 0 0.5em 1em;
  padding-left: 1.2em;
  position: relative;
  text-indent: 1em;
  text-indent: -1.2em;
}
li.li_sub--r {
  padding-left: 1.2em;
  position: relative;
  text-indent: 1em;
  text-indent: -1.2em;
}
.menu-column .li-sub li::before {
  color: white; /* ハイフンの色（必要に応じて） */
  content: "- ";
  margin-right: 0.3em;
}
.menu-column li a {
  color: white;
  font-size: 14px;
  text-decoration: none;
}

.menu-column li a:hover {
  text-decoration: underline;
}

.footer__info__sp {
  color: #fff;
  display: none;
}

@media screen and (max-width: 998px) {
  .bg-green__inner__flex {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 20%;
  }
  .bg-green__inner__flex__l {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 4em;
  }
  .menu-column {
    width: 100%;
  }
  .footer__info {
    display: none;
  }

  .footer__info__sp {
    color: #fff;
    display: block;
  }
}

@media screen and (max-width: 768px) {
  .footer-menu {
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 600px;
    padding: 2em 1em;
  }
}
/* totop
---------------------------------------------*/
.totop {
  bottom: 30px;
  opacity: 0;
  position: fixed;
  right: 0;
  transition: 0.3s;
  visibility: hidden;
  width: 100px;
  z-index: 9;
}

.totop.active {
  opacity: 1;
  transition: 0.3s;
  visibility: visible;
}

/*--------------------------------------------*/
/* privacy
--------------------------------------------*/
.privacy {
  background-color: #fff;
  padding-top: 150px;
}

.privacy h1 {
  font-size: 26px;
  text-align: center;
}

.privacy__text {
  line-height: 1.6;
  margin: 80px auto 0;
  width: 85%;
}

.privacy__text h2 {
  font-size: 20px;
  margin-top: 60px;
  text-align-last: left;
}

.privacy__text h3 {
  font-size: 18px;
  font-weight: normal;
  margin: 40px 0 16px;
}

.privacy__text p {
  font-size: 16px;
  margin: 16px 0;
}

.privacy__text p .add {
  padding-left: 1em;
}

.privacy__text ul {
  list-style-type: disc;
  padding-left: 1em;
}

.privacy__text li {
  margin: 8px 0;
}

.privacy__text ul ul {
  list-style-type: circle;
  margin-bottom: 10px;
}

.privacy__text .add {
  display: block;
  margin: 8px 0 16px;
}

.privacy__text a {
  color: #1558d6;
  text-decoration: underline;
}

/* contact
---------------------------------------------*/
.contact {
  background-color: #fff;
  padding-top: 130px;
}

.contact h1 {
  font-size: 26px;
  text-align: center;
}

.contact__text {
  margin: 80px auto 0;
  text-align: center;
  width: 85%;
}

.contact__text h2 {
  font-size: 18px;
  margin-top: 60px;
  text-align-last: left;
}

.contact__text p {
  font-size: 16px;
  margin: 16px 0;
}

.contact__btn {
  display: inline-block;
  margin: 20px auto;
}

.icon__bordered {
  border: 3px solid #91c472;
  border-radius: 20px;
}

/* TOPページ新着情報表示
---------------------------------------------*/

.header-front__content-news {
  background-color: #f7f7ef; /* この部分が背景色を設定しています */
  margin-top: -20px; /* 上の隙間を減らす */
  padding-bottom: 20px; /* 余白が狭い場合、下部にも追加 */
  padding-top: 60px; /* 上部にパディングを追加 */
}

.header-front__content-news_list {
  background-color: #f7f7ef; /* 背景色をクリーム色に設定 */
  list-style: none;
  margin: 0;
  padding: 20px; /* パディングを追加して余白を確保 */
}

.header-front__content-news_list-item {
  background-color: #f7f7ef; /* 背景色をクリーム色に設定 */
  padding: 15px;
}

.header-front__content-news h2 {
  font-size: 5em; /* 必要に応じて調整 */
  margin-bottom: 20px; /* 見出し下の余白 */
  text-align: center;
}

.header-front__content-news_list-item a {
  align-items: center;
  color: #333333; /* テキスト色を濃いグレーに設定 */
  display: flex;
  text-decoration: none;
}

.header-front__content-news_list-item-left {
  flex-shrink: 0;
  margin-right: 15px;
}

.header-front__content-news_list-item-left span {
  color: #ff6699; /* NEWの色をピンクに設定 */
  font-weight: bold;
  margin-right: 10px;
}

.header-front__content-news_list-item-left date {
  color: #666666; /* 日付の色を少し明るいグレーに設定 */
  font-size: 14px;
}

.header-front__content-news_list-item-right {
  color: #333333; /* 記事タイトルの色を濃いグレーに設定 */
  font-size: 16px;
  line-height: 1.5;
}

.header-front__content-news_list-item-right.desc {
  flex-grow: 1;
}

.header-front__content-news_link {
  background-color: #ffcc99; /* ボタンの背景色をオレンジに設定 */
  border-radius: 5px;
  color: #ffffff; /* ボタンのテキスト色を白に設定 */
  display: block; /* ボタンをブロック要素に設定 */
  margin: 15px auto 0; /* 上に15pxの余白、左右中央揃え */
  margin-bottom: 40px;
  padding: 10px 20px;
  text-decoration: none;
  width: fit-content; /* ボタンの幅をコンテンツに合わせる */
  z-index: 100;
}

.header-front__content-news_link:hover {
  background-color: #ff9966; /* ホバー時の色を少し濃いオレンジに設定 */
}

.header-front__content_bottun {
  background-color: #ff9966; /* ボタンの背景色をオレンジに設定 */
  border-radius: 5px;
  color: #ffffff; /* ボタンのテキスト色を白に設定 */
  display: block; /* ボタンをブロック要素に設定 */
  margin: 15px auto 0; /* 上に15pxの余白、左右中央揃え */
  margin-bottom: 40px;
  padding: 10px 20px;
  text-decoration: none;
  width: fit-content; /* ボタンの幅をコンテンツに合わせる */
  z-index: 100;
}

.header-front__content_bottun:hover {
  background-color: #ffcc99; /* ホバー時の色を少し濃いオレンジに設定 */
}

/* single.php用のスタイル調整 */

/* 記事タイトルをヘッダーの下に配置 */
.content-area {
  box-sizing: border-box; /* paddingがwidthに影響しないようにする */
  margin: 0 auto; /* 自動で左右中央揃え */
  padding: 20px; /* 上下左右に20pxの余白を追加 */
  width: 60%; /* PC用：全体幅の60%に設定 */
}

@media screen and (max-width: 768px) {
  .content-area {
    width: 100vw !important; /* スマホ用：画面幅いっぱいに設定 */
    max-width: 100vw !important;
    margin: 0 !important;
    padding: 0 4vw !important;
    box-sizing: border-box;
  }
}

/* 記事タイトルのスタイル */
.content-area h1 {
  color: #333333; /* タイトルの文字色を設定 */
  font-size: 2.5em; /* タイトルのフォントサイズを調整 */
  margin-bottom: 10px; /* タイトル下の余白 */
}

/* 投稿日のスタイル */
.content-area .post-date {
  color: #666666; /* グレーで表示 */
  font-size: 20px;
  margin-bottom: 60px; /* 余白を追加 */
}

/* 記事本文のスタイル */
.content-area p {
  color: #666666; /* 本文の文字色を設定 */
  font-size: 1.1em; /* 本文のフォントサイズを調整 */
  line-height: 1.6; /* 行間を調整 */
  margin-bottom: 20px; /* 段落下の余白 */
}

/* 画像や埋め込みコンテンツのスタイル */
.content-area img,
.content-area iframe {
  height: auto; /* アスペクト比を維持 */
  margin-bottom: 20px; /* 下の余白を追加 */
  max-width: 100%; /* コンテンツエリアの幅に合わせる */
}

/* その他の調整が必要な要素のスタイル */
.content-area ul,
.content-area ol {
  margin-bottom: 20px; /* 下の余白を追加 */
  margin-left: 20px; /* リストのインデントを調整 */
}

/* ヘッダーが固定されている場合、スクロール時にタイトルが隠れないように調整 */
header {
  position: relative; /* 必要に応じて position: fixed を解除 */
  z-index: 999; /* ヘッダーが最前面に来るように調整 */
}

/* 全体の背景色を設定 */
body.single {
  background-color: #f7f7ef; /* 記事ページの背景色をクリーム色に設定 */
}

/* ページネーションのスタイル */
.post-navigation {
  display: flex;
  justify-content: space-between;
  margin-top: 100px; /* 本文との間に余白を追加 */
}

.post-navigation .prev-link,
.post-navigation .next-link {
  color: #0066cc; /* リンク色を設定 */
  font-size: 16px;
  text-decoration: none;
}

.post-navigation .prev-link:hover,
.post-navigation .next-link:hover {
  text-decoration: underline; /* ホバー時の効果を設定 */
}

/* コンタクトページ */
/* 背景設定 */
.contact {
  background-image: url("../img/background.jpg"); /* トップページと同じ背景 */
  background-position: top center;
  background-size: cover; /* containに変更すると、レスポンシブする */
  min-height: 100vh;
  padding: 60px 20px;
  position: relative;
}

/* コンテンツボックス */
.contact .container {
  background-color: rgba(255, 255, 255, 0.9); /* 背景を白の半透明に */
  border-radius: 10px;
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
  margin: 0 auto;
  max-width: 960px;
  padding: 40px;
}

/* テーブルスタイル */
.table-wrapper {
  margin: 0;
  padding: 0;
}

.table-wrapper table {
  border-collapse: collapse;
  margin-bottom: 20px;
  width: 100%;
}

.table-wrapper th,
.table-wrapper td {
  padding: 15px;
  vertical-align: top;
}

.table-wrapper th {
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  text-align: left;
  width: 25%;
}

.table-wrapper td {
  color: #666;
  font-family: "Noto Sans JP", sans-serif;
  width: 75%;
}

/* フォームフィールドのスタイル */
.table-wrapper input[type="text"],
.table-wrapper input[type="email"],
.table-wrapper textarea,
.table-wrapper select {
  border: 1px solid #ccc;
  border-radius: 5px;
  box-sizing: border-box;
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  padding: 10px;
  width: 100%;
}

/* フォームのラベルスタイル */
.form-label {
  color: #333;
  font-size: 1.1em;
  font-weight: bold;
}

.form-label_after {
  color: #ff6699;
  display: block;
  font-size: 0.9em;
  margin-top: 5px;
}

/* サブミットボタンのスタイル */
.submit input[type="submit"] {
  background-color: #ffcc99;
  border: none;
  border-radius: 5px;
  color: #fff;
  cursor: pointer;
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2em;
  margin-top: 20px;
  padding: 15px;
  transition: background-color 0.3s ease;
  width: 100%;
}

.submit input[type="submit"]:hover {
  background-color: #ff9966;
}

/* プライバシーリンクのスタイル */
.privacy a {
  color: #007bff;
  text-decoration: underline;
}

.privacy a:hover {
  color: #0056b3;
  text-decoration: none;
}

/* 各項目のスタイル */
.wrapper {
  display: flex;
  gap: 15px;
}

.wrapper-item {
  flex: 1;
}

.wrapper-item__ttl {
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  margin-bottom: 5px;
}

/* コンタクトページのスマホ表示用のスタイル */
@media screen and (max-width: 767px) {
  /* 背景設定 */
  .contact {
    background-position: top center;
    background-size: cover;
    padding: 40px 15px; /* スマホでのパディングを調整 */
  }

  /* コンテンツボックス */
  .contact .container {
    border-radius: 5px; /* 角丸を少し減らす */
    max-width: 100%; /* 幅を100%にして、スマホでの余白をなくす */
    padding: 20px; /* パディングを調整 */
  }

  /* テーブルスタイル */
  .table-wrapper th,
  .table-wrapper td {
    display: block; /* テーブルセルをブロック表示に */
    padding: 5px; /* パディングを調整 */
    text-align: left; /* スマホでのテキストを左揃え */
    width: 100%; /* 幅を100%に */
  }

  .table-wrapper th {
    font-size: 1em; /* フォントサイズを調整 */
    width: auto; /* 幅の固定を解除 */
  }

  .table-wrapper td {
    font-size: 0.9em; /* フォントサイズを調整 */
    width: auto; /* 幅の固定を解除 */
  }

  /* フォームフィールドのスタイル */
  .table-wrapper input[type="text"],
  .table-wrapper input[type="email"],
  .table-wrapper textarea,
  .table-wrapper select {
    font-size: 0.9em; /* フォントサイズを少し小さく */
    padding: 8px; /* パディングを調整 */
  }

  /* 各項目のスタイル */
  .wrapper {
    flex-direction: column; /* スマホでのレイアウトを縦方向に変更 */
    gap: 10px; /* ギャップを少し減らす */
  }

  .wrapper-item__ttl {
    font-size: 1em; /* フォントサイズを調整 */
  }

  /* サブミットボタンのスタイル */
  .submit input[type="submit"] {
    font-size: 1em; /* フォントサイズを少し小さく */
    padding: 12px; /* パディングを調整 */
  }
}

/* 投稿アーカイブページのスタイル */
/* 投稿アーカイブページのスタイル */
.custom-archive {
  background-image: url("../img/background.jpg"); /* トップページと同じ背景 */
  background-position: bottom center;
  background-size: cover;
  min-height: 100vh;
  padding: 60px 20px;
  position: relative;
}

.custom-archive .container {
  background-color: rgba(255, 255, 255, 0.9); /* 背景を白の半透明に */
  border-radius: 10px;
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
  margin: 0 auto;
  max-width: 960px;
  padding: 40px;
}

.custom-archive h1 {
  color: #333;
  font-size: 2em;
  margin-bottom: 40px;
  text-align: center;
}

.custom-archive .posts-list {
  display: grid;
  grid-gap: 30px;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  padding: 0 20px;
}

.custom-archive .posts-list article {
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  padding: 20px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.custom-archive .posts-list article:hover {
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
  transform: translateY(-5px);
}

.custom-archive .posts-list article a {
  color: #333;
  display: block;
  text-decoration: none;
}

.custom-archive .post-thumbnail {
  height: 200px;
  margin-bottom: 20px;
  overflow: hidden;
  width: 100%;
}

.custom-archive .post-thumbnail img {
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
  width: 100%;
}

.custom-archive .posts-list article:hover .post-thumbnail img {
  transform: scale(1.1);
}

.custom-archive .posts-list h2 {
  color: #333;
  font-size: 1.5em;
  font-weight: bold;
  line-height: 1.4;
  margin: 0 0 10px;
}

.custom-archive .post-excerpt {
  color: #555;
  font-size: 1em;
  margin-top: auto;
}

/* ページネーションのスタイル */
.custom-archive .pagination {
  margin-top: 40px;
  text-align: center;
}

.custom-archive .pagination a {
  border: 1px solid #e2839a;
  border-radius: 5px;
  color: #e2839a;
  margin: 0 5px;
  padding: 10px 15px;
  text-decoration: none;
  transition: background-color 0.3s ease, color 0.3s ease;
}

.custom-archive .pagination a:hover {
  background-color: #e2839a;
  color: #fff;
}

.custom-archive .pagination .current {
  background-color: #e2839a;
  border: 1px solid #e2839a;
  border-radius: 5px;
  color: #fff;
  margin: 0 5px;
  padding: 10px 15px;
}

/* スポンサー企業表示 */
.sponsor-logos-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: space-around;
}

.sponsor-item {
  text-align: center;
  width: calc(50% - 20px); /* 2列で表示 */
}

.sponsor-item a {
  color: inherit;
  text-decoration: none;
}

.sponsor-item img {
  height: 180px;
  margin-bottom: 10px;
  max-width: 100%;
  padding: 40px 20px 0px 20px;
}

.sponsor-item p {
  color: #333;
  font-size: 16px;
  font-weight: bold;
  margin-top: 10px;
}

@media screen and (max-width: 768px) {
  .sponsor-item {
    width: 100%; /* スマホ表示時に1列で表示 */
  }
}

.faq .mebuku__links .mebuku__btn {
  color: #fff; /* 白色に設定 */
  text-decoration: none; /* もしリンクに下線がついている場合、これを無くす */
}

.faq .mebuku__links .mebuku__btn:hover {
  color: #fff; /* ホバー時の色も白に設定 */
  text-decoration: underline; /* ホバー時に下線を表示する場合 */
}

/* プライバシーポリシーページ */
.privacy__text ul {
  list-style-type: disc;
  margin-left: 20px;
}

.privacy__text ul li {
  margin-bottom: 10px;
}

.ex-items {
  list-style-type: none;
}

.my-numbered-blocks .ex-items {
  align-items: flex-start; /* 上端を揃える */
  display: flex;
}
.my-numbered-blocks .ex-items::before {
  content: "例）";
  flex-shrink: 0; /* 例）が勝手に折り返されるのを防ぐ */
  font-weight: bold;
  margin-right: 0.5em; /* 例）と文章の間に余白を作る */
}

.second-items {
  align-items: flex-start; /* ○と文章を上揃え */
  display: flex;
}

.second-items::before {
  content: "○";
  display: inline-block;
  flex-shrink: 0; /* ○が縮まないようにする */
  font-weight: bold;
  margin-right: 0.5em;
  width: 1em;
}

.second-items span {
  display: inline-block;
  flex: 1; /* 文章部分が○の横に配置される */
}

.first-items .add {
  display: block; /* 住所情報は改行されて下に来る */
  margin-left: 1.5em; /* ○の分だけ左に余白を作る */
}

/* プライバシーポリシーページ表の罫線 */
.service_information_list {
  border-collapse: collapse;
  width: 100%;
}
.service_information_list th,
.service_information_list td {
  border: 1px solid black; /* 罫線を黒で表示 */
  padding: 8px;
  text-align: left; /* 横方向を左揃え */
  vertical-align: top; /* 縦方向を上揃え */
}
.service_information_list th {
  background-color: #f2f2f2; /* ヘッダーを薄いグレーに */
}

.second-items {
  white-space: normal; /* 必要に応じて改行を許可 */
}

.small-font {
  display: block; /* 改行をしっかり適用できるようにする */
  max-width: 100%;
  word-wrap: break-word;
}

/* TOPページ情報追加250225 */
.service-instructions {
  display: block; /* 画像の周りの余白をなくすためにブロック要素に */
  height: auto; /* アスペクト比を保ちながら高さを自動調整 */
  width: 100%; /* 画像の横幅を画面幅いっぱいにする */
}

/*-------------------------------------------
 2025 06 Renew
-------------------------------------------*/
/* Updated BEM-style CSS for the 'about' and 'visuals' sections */

.about {
  background-image: url(../img/background_02.png);
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: cover;
  height: 1123px;
  position: relative;
  width: 100%;
}

.about::after {
  background-color: #f7f6ef;
  bottom: 0;
  content: "";
  height: 20%;
  left: 0;
  pointer-events: none;
  position: absolute;
  width: 100%;
  z-index: -1;
}

@media screen and (max-width: 768px) {
  .about {
    background-image: url(../img/background_02__sp.png);
    width: 100%;
  }
}

.about__inner {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 960px;
  padding: 100px 0 0;
  width: calc(100% - 5%);
}

.about__content {
  position: relative;
}

.about__label {
  font-size: 1.375rem;
  margin: 30px 0;
  max-width: 70%;
}

.about__dot {
  font-size: 0.6rem;
}

.about__title {
  color: #409c3e;
  font-size: 2.81rem;
  line-height: 59px;
}

.about__description {
  font-size: 1.375rem;
  margin: 30px 0;
  max-width: 70%;
}

.about__video {
  position: relative;
}

.about__video-frame {
  background-color: #f8f5d8;
  border-radius: 20px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  display: inline-block;
  padding: 15px;
  position: relative;
}

.about__video-frame iframe {
  border: none;
  border-radius: 10px;
  height: 181px;
  margin: 0 auto;
  width: 320px;
}

.about__video-frame::after {
  background: url(../img/cherry_blossoms.png) no-repeat;
  background-size: contain;
  bottom: -68px;
  content: "";
  height: 106px;
  position: absolute;
  right: 0;
  width: 36px;
}

.visuals {
  display: flex;
  justify-content: space-between;
  margin: 67px auto 0;
  max-width: 825px;
}

.visuals__left,
.visuals__right {
  position: relative;
}

.visuals__cloud {
  animation: float 3s ease-in-out infinite;
  position: absolute;
}

.visuals__cloud--1 {
  animation-name: float;
  left: -55px;
  top: 9vh;
}

.visuals__cloud--2 {
  animation-name: float2;
  left: 139px;
  top: 13vh;
}

.visuals__cloud--3 {
  animation-name: float3;
  display: block;
  margin: 0 auto;
}

.visuals__image {
  display: block;
  width: 100%;
}

.visuals__image--kids {
  position: relative;
  top: 31%;
}

.visuals__image--family {
  margin: 0 0 0 auto;
}

@keyframes float {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

@keyframes float2 {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-30px);
  }
}

@keyframes float3 {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-40px);
  }
}

@media screen and (max-width: 999px) {
  .about__inner {
    flex-direction: column;
    padding: 36px 0;
  }

  .visuals__cloud--1 {
    left: 1vw;
    top: -67px;
    width: 50%;
  }

  .visuals__cloud--2 {
    left: 112px;
    top: -27%;
    width: 50%;
  }

  .visuals__cloud--3 {
    left: 26vh;
    width: 31%;
  }

  .about__description {
    max-width: 100%;
  }
}
/* front
---------------------------------------------*/

.sp_menu {
  display: none !important;
}

@media screen and (max-width: 999px) {
  .pc_menu {
    display: none;
  }
  .sp_menu {
    display: block !important;
  }

  li.header_nav-contact a {
    align-content: center;
    background-color: #c75b6f;
    border-radius: 61px;
    color: #fff !important;
    display: flex;
    gap: 10px;
    justify-content: center;
    margin: 0 auto;
    padding: 10px 22px;
    width: 216px;
  }
}

a.menu-link {
  align-items: stretch;
  display: flex;
  gap: 10px;
}
a.arrow-menu {
  display: flex;
  gap: 10px;
}

a.arrow-menu--under {
  display: flex;
  gap: 10px;
  margin: 33px 0;
}

.sp_menu--menu_arrow {
  width: 20px;
}

img.sp_menu--menu--ico {
  width: 44px;
}

.sp_menu--menu--item {
  border-bottom: 1px solid #ddd;
  margin: 0 5%;
}

.sp_menu--menu--item a {
  align-items: center;
  background-color: #fff;
  color: #333;
  display: flex;
  justify-content: space-between;
  padding: 1em;
  text-decoration: none;
}

.sp_menu--menu--ico {
  background-color: #fff;
  border-radius: 50%;
  height: 44px;
  margin-right: 1em;
  object-fit: contain;
  width: 44px;
}

.sp_menu--menu--text {
  flex-grow: 1;
  font-family: "Hiragino Maru Gothic ProN", sans-serif;
  font-size: 16px;
}

.sp_menu--menu--arrow {
  color: #c75c6f;
  font-size: 18px;
  margin-left: 0.5em;
}

.second {
  background-image: url(../img/background_02.png);
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: contain;
  background-size: cover;
  height: 1123px;
  position: relative;
  width: 100%;
}
.second::after {
  background-color: #f7f6ef;
  bottom: 0;
  content: "";
  height: 20%;
  left: 0;
  pointer-events: none;
  position: absolute;
  width: 100%;
  z-index: -1;
}

@media screen and (max-width: 768px) {
  .second {
    background-image: url(../img/background_02__sp.png);
    width: 100%;
  }
}

.second__inner {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin: 0px auto;
  max-width: 960px;
  padding: 100px 0 0 0;
  width: calc(100% - 5%);
}

.video-frame {
  background-color: #f8f5d8; /* 淡い黄色の縁取り */
  border-radius: 20px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  display: inline-block;
  padding: 15px;
  position: relative;
}

.video-frame iframe {
  border: none;
  border-radius: 10px;
  height: 181px;
  margin: 0 auto;
  width: 320px;
  /* display: block; */
}

/* 小さな花飾りを右下に表示（任意の画像を使ってください） */
.video-frame::after {
  background: url(../img/cherry_blossoms.png) no-repeat;
  background-size: contain;
  bottom: -68px;
  content: "";
  height: 106px;
  position: absolute;
  right: -0vw;
  width: 36px;
}

.second__inner-h2 {
  color: #409c3e;
  font-size: 1.21rem;
  line-height: 29px;
}
.second__inner-h2--span {
  font-size: 1.7em;
  font-weight: bold;
}

.second__inner-p {
  font-size: 1.075rem;
  margin: 30px 0;
  max-width: 100%;
}
.second__inner-span {
  font-size: 0.6rem;
}
.second__inner--left {
  position: relative;
}
.second__inner__right {
  position: relative;
}

.cloud_01 {
  animation: float 3s ease-in-out infinite;
  left: -55px;
  position: absolute;
  top: 9vh;
}

.cloud_02 {
  animation: float2 4s ease-in-out infinite;
  left: 139px;
  position: absolute;
  top: 13vh;
}
.cloud_03 {
  animation: float3 5s ease-in-out infinite;
  display: block;
  margin: 0 auto;
}

@keyframes float {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

@keyframes float2 {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-30px);
  }
}

@keyframes float3 {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-40px);
  }
}

.third {
  display: flex;
  justify-content: space-between;
  margin: 67px auto 0;
  max-width: 825px;
}
.third___inner--left {
  position: relative;
}

.third___inner--_right {
  position: relative;
  width: 300px;
}

.family_img {
  display: block;
  margin: 0 0 0 auto;
  width: 100%;
}

.girl_boy_img {
  display: block;
  position: relative;
  top: 31%;
  width: 100%;
}

.fourth {
  background-color: #f7f6ef;
}
.fourth__inner {
  display: flex;
  justify-content: space-around;
  margin: 0 auto;
  max-width: 1200px;
  padding: 40px 0;
  width: calc(100% - 10%);
}
.fourth__inner--left {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.fourth__inner--p {
  font-size: 1rem;
  margin: 0px 0;
  max-width: 70%;
}
.detail--btn {
  background: #f99d63;
  border-radius: 999px;
  color: white;
  display: inline-block;
  font-weight: bold;
  max-width: 176px;
  padding: 12px 24px;
  text-decoration: none;
  transition: background 0.3s ease;
}
.detail--btn:hover {
  width: 120%;
}
.detail--btn .arrow {
  display: inline-block;
  margin-left: 8px;
  transition: transform 0.3s ease;
}

.detail--btn:hover .arrow {
  transform: translateX(6px);
}
.vege_img {
  border-radius: 15%;
  margin: 0 0 0 3vw;
}

.fourth__inner--right {
  margin: 60px 0 0 0;
}

.news-list {
  position: relative;
}
.news-item.large {
  box-shadow: 3px 5px 1px 0px rgba(0, 0, 0, 0.1);
  max-width: 60vw;
  padding: 16px;
  transform: scale(1.05);
  width: 100%;
}
.news-item {
  align-items: center;
  background: white;
  border-radius: 16px;
  display: flex;
  margin: 0 0 30px 0;
  padding: 16px;
  z-index: 1;
}
.large .news-image img {
  max-width: 245px;
  width: 100%;
}
.news-image img {
  max-width: 210px;
  width: 100%;
}
.news-content {
  flex: 1;
  margin: 20px;
}

.news-date {
  color: #888;
  font-size: 0.9em;
  margin-bottom: 8px;
}

.news-text {
  color: #333;
  font-size: 1em;
  line-height: 1.5;
}

.news__lady--img {
  position: absolute;
  right: 0;
  top: -95px;
  width: 116px;
  z-index: 1;
}

.sp_block {
  display: none;
}

@media screen and (max-width: 999px) {
  .second__inner {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin: 0px auto;
    max-width: 960px;
    padding: 36px 0;
    width: calc(100% - 5%);
  }

  .cloud_01 {
    animation: float 3s ease-in-out infinite;
    left: 1vw;
    position: absolute;
	  top: -6vh;
    width: 50%;
  }
  .cloud_02 {
    animation: float2 4s ease-in-out infinite;
    left: 112px;
    position: absolute;
     top: -6vh;
    width: 50%;
  }
  .cloud_03 {
    animation: float3 5s ease-in-out infinite;
    left: 26vh;
    width: 31%;
  }
  .second__inner--p {
    max-width: 100%;
  }
  .fourth__inner {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    max-width: 1200px;
  }
  .vege_img {
    display: none;
  }
}

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

  .sp_block {
    display: block;
    margin: 0 auto;
    text-align: center;
  }
.second__inner-p {
max-width: 100%;
}
  .girl_boy_img {
    display: block;
    left: 4vw;
    position: relative;
    top: 7%;
    width: 100%;
  }
  .family_img {
    display: block;
    margin: 0 auto;
    width: 60%;
  }

  .news-item {
    align-items: flex-start;
    background: #fff;
    border-radius: 16px;
    box-shadow: unset !important;
    display: flex;
    flex-direction: column;
    margin: 0 0 46px 0;
    max-width: 100% !important;
    padding: 16px;
    transform: scale(1.05);
    width: 100%;
    z-index: 1;
  }

  .news-item .large {
    align-items: flex-start;
    background: #fff;
    border-radius: 16px;
    box-shadow: 3px 5px 1px 0px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
    margin: 0 0 30px 0;
    max-width: 100% !important;
    padding: 16px;
    padding: 16px;
    transform: scale(1.05);
    width: 100%;
    z-index: 1;
  }

  .news__lady--img {
    display: none;
  }
  .large .news-image img {
    max-width: 100%;
    width: 100%;
  }
  .news-image {
    width: 100%;
  }
  .news-image img {
    max-width: 100%;
    width: 100%;
  }
}

/* service
---------------------------------------------*/

.service__inner {
  background-image: url(../img/service_01.png);
  background-position: top right;
  height: 360px;
  object-fit: cover;
  padding: 211px 0 0 0;
}

.service__text {
  font-size: 1.375rem;
  max-width: 70%;
}
.service__icon {
  font-size: 0.6rem;
}

.service__inner--title {
  color: #333;
  font-size: 2.81rem;
  font-weight: 400;
  line-height: 59px;
}

.second__inner--wrap {
  margin: 0 auto;
  max-width: 1200px;
  width: calc(100% - 10%);
}

.service__intro {
  background-color: #f7f6ef;
  border-radius: 20px;
  margin: 0 auto;
  max-width: 960px;
  padding: 2vh;
  position: relative;
  width: calc(100% - 5%);
}

.service__title {
    color: #409c3e;
    font-size: clamp(2rem, calc(1.92rem + 0.36vw), 2.5rem);
    font-weight: bold;
    line-height: 1.5;
    margin: 46px auto 0;
    text-align: center;
}

.service__title--quote {
  background-image: url(../img/service_underline.svg;);
  background-position: bottom;
}

.service__badge {
  background-color: #fff;
  border-radius: 12px;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
  display: block;
  margin: 80px auto 40px;
  margin: 123px a;
  margin-bottom: 32px;
  max-width: 375px;
  padding: 15px 16px;
  position: relative;
  width: 100%;
}

.service__badge--label {
    background: #e38f9e;
    border-radius: 4px;
    color: white;
    font-size: 0.75rem;
    font-weight: bold;
    left: -10px;
    padding: 4px 18px;
    position: absolute;
    top: -20px;
    transform: rotate(347deg);
}

.service__badge--text {
  color: #e38f9e;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.6;
  margin: 0 auto;
  text-align: center;
}

.service__description {
  color: #333;
  font-size: 0.95rem;
  line-height: 1.9;
  margin-bottom: 40px;
  text-align: center;
}

.service__image img {
  bottom: 30px;
  display: block;
  position: absolute;
  right: 27px;
  width: 100px;
}

.service__br {
  display: none;
}
.service__br__sp {
  display: block;
}

.service__contents {
  margin: 0 auto;
  max-width: 1260px;
  position: relative;
  width: 100%;
}
.service__contents-paraglider {
    align-items: center;
    display: flex;
    max-width: 414px;
    width: 100%;
}

.paraglider {
  animation: float 3s ease-in-out infinite;
}
.paraglider-comment{
width:100%;
}

.service__contents-wrap {
  position: relative;
}

.ervice__contents--inner-h3 {
  max-width: 270px;
  position: relative;
  width: 100%;
}
.service__contents--inner-img {
  max-width: 270px;
  position: relative;
  transition: transform 0.3s ease;
  cursor: pointer;
}

.service__contents--inner-img:hover {
  transform: scale(1.05);
}
.service__contents--inner-img-nohover {
  max-width: 270px;
  position: relative;
}

.service__contents--inner {
  display: flex;
  justify-content: space-around;
}

.service__contents--inner2 {
  display: flex;
  justify-content: space-around;
  margin: -132px 0 0 0;
}
.service__contents--inner3 {
  display: flex;
  justify-content: space-evenly;
  margin: -90px 0 0 0;
}
.service__contents--inner4 {
  display: flex;
  justify-content: space-evenly;
  margin: -78px 0 0 0;
}
.service__contents--inner5 {
  display: flex;
  justify-content: space-evenly;
  margin: 0px 0 0 0;
}

.service__contents--inner-h3 {
  color: #c75b6f;
  font-size: 1rem;
  left: 50%;
  position: absolute;
  text-align: center;
  top: 45%;
  transform: translate(-50%, -50%);
  width: 100%;
}

.service__contents--inner-p {
  font-size: 0.7rem;
  left: 10%;
  position: absolute;
  text-align: center;
  top: 128px;
  width: 80%;
}
.service__contents--inner-p2 {
  font-size: 0.7rem;
  left: 10%;
  position: absolute;
  text-align: center;
  top: 123px;
  width: 80%;
}

.service__contents--inner5-img img {
  max-width: 277px;
  width: 100%;
}

.service__contents--inner52-img img {
  max-width: 277px;
  width: 100%;
}

.service__contents--second-inner {
  background-color: #f7f6ef;
  padding: 68px 0 1px 0;
}

.service__contents--second-wrap {
  align-items: center;
  display: flex;
  margin: 129px auto 23px;
  max-width: 1190px;
  width: 100%;
}

.service__process-title {
  color: #409c3e;
  font-size: 2.5rem;
  font-weight: bold;
  line-height: 1.5;
  margin: 0px auto 0;
  text-align: center;
}

.process {
    background-color: #fff;
    border-radius: 18px;
    max-width: 376px;
    padding: 30px;
    position: relative;
    width: calc(100% - 10%);
}
.process_counter--img {
  left: 0;
  position: absolute;
  top: -49px;
}
.process_icon--img {
  display: block;
  margin: 0 auto;
  max-width: 120px;
  width: 100%;
}

.process-h3 {
  font-size: 1.5rem;
  margin: 27px 0 0 0;
  text-align: center;
}
.process-p {
  font-size: 1rem;
  margin: 25px 0 82px 0;
  min-height: 146px;
}
.app__ico {
  align-items: center;
  display: flex;
  gap: 16px;
  justify-content: center;
  margin: 0 auto;
  max-width: 313px;
  width: 100%;
}

.app__ico--img {
  max-width: 149px;
  width: 100%;
}
.polygon {
  height: 24px;
  margin: 0 20px 0 0;
  position: relative;
  width: 24px;
}

  .service_11 {
    display: block;
  }
  .service_11_sp {
    display:none;
  }
@media screen and (max-width: 996px) {
	.service__contents--second-wrap {
    align-items: center;
    display: flex;
    margin: 129px auto 23px;
    max-width: 1190px;
    width: 100%;
    gap: 130px;
    flex-direction: column;
}
	.polygon {
    height: 24px;
    margin: 0 20px 0 0;
    position: relative;
    width: 24px;
    transform: rotate(90deg);
}
	  .process_counter--img {
    left: 36%;
    position: absolute;
    top: -96px;
  }
	.paraglider-comment {
    width: 100%;
    max-width: 219px;
}
}


@media screen and (max-width: 768px) {
  .service__br {
    display: block;
  }
  .service__br__sp {
    display: none;
  }
  .service__description {
    text-align: left;
  }
  .service__inner {
    background-position: top;
    background-size: 128%;
    height: 360px;
    object-fit: cover;
    padding: 211px 2% 0 2%;
  }
    .service__image img {
        bottom: -39px;
        display: block;
        position: absolute;
        right: 27px;
        width: 100px;
    }
  .service__contents--paraglider {
    align-items: center;
    display: flex;
    margin: 56px auto 0;
    width: 414px;
  }
  .service__contents--inner {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 10px;
    justify-content: space-around;
  }
  .service__contents--inner2 {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    margin: 10px 0 0 0;
  }

  .service__contents--inner3 {
    align-items: center;
    display: flex;
    flex-direction: column-reverse;
    gap: 10px;
    justify-content: space-evenly;
    margin: 10px 0 0 0;
  }

  .service__contents--inner4 {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    margin: 0;
  }
  .service__contents--inner5 {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    margin: 0;
  }

  .service_10 {
    display: none;
  }
  .service_11 {
    display: none;
  }
	  .service_11_sp {
    display: block;
  }
  .service__contents--second-wrapp {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 83px;
    gap: 118px;
    margin: 129px auto 23px;
    max-width: 1190px;
    width: 100%;
  }

  .polygon {
    display: none;
  }

}

/* yudepi
---------------------------------------------*/

.yudepi__intro {
  margin: 163px auto 0;
  max-width: 960px;
  position: relative;
  width: calc(100% - 5%);
}

.yudepi__container {
  background-image: url(../img/yudepi_01.png);
  background-position: top right;
  height: 360px;
  object-fit: cover;
  padding-top: 211px;
}

.yudepi__header {
  margin: 0 auto;
  max-width: 1200px;
  width: calc(100% - 10%);
}

.yudepi__label {
  font-size: 1.375rem;
  max-width: 70%;
}
.yudepi__labeldot {
  font-size: 8px;
  margin: 9px 0 0 0;
}
.yudepi__title {
  align-items: center;
  color: #333;
  display: flex;
  font-size: 3.1rem;
  font-weight: 400;
  gap: 23px;
  line-height: 59px;
  margin-top: 48px;
}

.yudepi__intro--title {
  color: #409c3e;
  font-size: clamp(1.5rem, calc(1.34rem + 0.72vw), 2.5rem);
  font-weight: bold;
  line-height: 1.5;
  margin-top: 46px;
  text-align: center;
}

.yudepi__intro--title-text {
  background-image: url(../img/service_underline.svg);
  background-position: bottom;
}

.yudepi__app--img {
  position: absolute;
  top: -60px;
}

.yudepi__app {
  background-color: #ecf8f7;
  border-radius: 12px;
  display: block;
  margin: 135px auto 40px;
  max-width: 621px;
  padding: 28px 33px;
  position: relative;
  width: 100%;
}

.yudepi__app--text {
  color: #595757;
  display: flex;
  font-size: 1rem;
  font-weight: 500;
  justify-content: flex-end;
  line-height: 1.6;
  margin: 0 0 0 auto;
  text-align: left;
  width: 73%;
}

.yudepi__steps {
  margin: 0 auto;
  position: relative;
  width: 100%;
}

.yudepi__steps--inner {
  background-color: #f7f6ef;
  padding: 68px 0 1px 0;
}

.yudepi__steps--wrapper {
  align-items: center;
  display: flex;
  gap: 34px;
  margin: 50px auto 23px;
  max-width: 1190px;
  padding: 0 5%;
  width: calc(100%);
}

.yudepi__step {
  background-color: #fff;
  border-radius: 18px;
  max-width: 376px;
  padding: 30px 30px 0px 30px;
  position: relative;
  width: 100%;
}

.yudepi__step--description {
  font-size: 1rem;
  margin: 25px 0 0px 0;
  min-height: 99px;
}

.yudepi__app--secound-img {
  display: block;
  margin: 66px auto 0;
}

.yudepi__app--secound-text {
  margin: 32px auto;
  max-width: 390px;
  text-align: center;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .yudepi__container {
    background-position: top;
    background-size: 128%;
    height: 360px;
    object-fit: cover;
    padding: 211px 2% 0 2%;
  }
}

.yudepi__app--secound-textwrap {
  align-items: center;
  display: flex;
  gap: 86px;
  justify-content: space-around;
  margin: 0 auto;
  width: 754px;
}

.app__secound--p {
  margin: 10px 0 35px 2vw;
}

.yudepi__steps--title-text {
  color: #c75b6f;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 40px;
  text-align: center;
}

.yudepi__steps--title--p {
  margin: 39px auto 0;
  text-align: center;
  width: 40vw;
}

.yudepi__step-icon {
  display: block;
  margin: 0 auto;
}

.yudepi__step--description--span {
  font-weight: 600;
}

.yudepi__card--container {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  justify-content: space-evenly;
  margin: 0 auto;
  max-width: 900px;
  padding: 20px;
}

.yudepi__card {
  align-items: center;
  background: #f89e5a;
  border-radius: 16px;
  color: #fff;
  display: flex;
  height: 123px;
  justify-content: space-evenly;
  padding: 20px;
  position: relative;
  text-decoration: none;
  transition: 0.3s;
  width: 340px;
}

.yudepi__ard:hover {
  background: #e6863f;
}

.yudepi__card--text {
  flex: 1;
  font-size: 1rem;
  line-height: 1.5;
  text-align: center;
}

.yudepi__card--arrow {
  flex-shrink: 0;
  font-size: 24px;
  margin-left: 10px;
}

.yudepi__link--inner {
  padding: 10px 0 0 0;
}
.yudepi-separator-icon {
  left: -2px;
  position: absolute;
  top: -90px;
  z-index: 0;
}

.yudepi__card:hover {
  transform: scale(1.05);
}

.yudepi__card--icon {
  height: auto;
  margin-right: 16px;
  width: 48px;
}

.yudepi__card__text {
  flex: 1;
  font-size: 0.9rem;
  line-height: 1.5;
}

.yudepi__card__arrow {
  align-items: center;
  display: flex;
  justify-content: center;
  transition: transform 0.3s ease;
}

.yudepi__card:hover .yudepi__card--arrow {
  transform: translateX(6px);
}

.yu_arrow {
  display: block;
  height: auto;
  width: 20px;
}
.yudepi__link__inner {
  padding: 124px 0 0 12px;
}

.yudepi__card--container-p {
  font-size: clamp(0.75rem, calc(0.7104rem + 0.181vw), 1rem);
  margin: 38px 0 0 0;
  padding: 0;
  text-align: center;
  text-decoration: underline;
}
.yudepi__card .yudepi-separator-icon {
  opacity: 0;
  transition: opacity 0.3s ease;
}

.yudepi__card:hover .yudepi-separator-icon {
  opacity: 1;
}
@media screen and (max-width: 768px) {
  .yudepi__intro {
    margin: 81px auto 0;
    max-width: 960px;
    position: relative;
    width: calc(100% - 5%);
  }
  .yudepi__steps--wrapper {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 34px;
    margin: 50px auto 23px;
    max-width: 1190px;
    width: 100%;
  }
  .yudepi__card--container {
    display: flex;
    flex-wrap: wrap;
    gap: 108px;
    justify-content: space-evenly;
    margin: 29px auto;
    max-width: 900px;
    padding: 20px;
  }
  .yudepi__title {
    align-items: center;
    color: #333;
    display: flex;
    font-size: 1.6em;
    font-weight: 400;
    gap: 2vw;
    line-height: 36px;
    margin-top: 48px;
  }
  .yudepi__app {
    background-color: #ecf8f7;
    border-radius: 12px;
    display: block;
    margin: 194px auto 40px;
    max-width: 621px;
    padding: 28px 33px;
    position: relative;
    width: 100%;
  }
  .yudepi__app--image {
    left: 50%;
    position: absolute;
    top: -14vh;
    transform: translate(-50%, -50%);
  }
  .yudepi__app--text {
    color: #595757;
    display: flex;
    font-size: 1rem;
    font-weight: 500;
    justify-content: flex-end;
    line-height: 1.6;
    margin: 0 0 0 110px;
    text-align: left;
    width: 70%;
  }
  .yudepi__steps--title-p {
    margin: 39px auto 0;
    text-align: center;
    width: 100%;
  }
.yudepi__link--inner {
        padding: 0px;
    }
  .yudepi__app--secound-textwrap {
    display: flex;
    gap: 30px;
    justify-content: center;
    margin: 0 auto;
    max-width: 754px;
    width: 100%;
  }
	.yudepi__card .yudepi-separator-icon {
    opacity: 100;
}
	.yudepi__card:hover {
    transform: none;
}
	.yudepi__card:hover .yudepi-separator-icon {
    opacity: unset;
}
}

/* community
---------------------------------------------*/

.community__container {
  background-image: url(../img/community_01.png);
  background-position: top right;
  object-fit: cover;
  padding-top: 211px;
}

.community__header {
  margin: 0 auto;
  max-width: 1200px;
  width: calc(100% - 10%);
}

.community__label {
  font-size: 1.375rem;
  max-width: 70%;
}
.community__label--dot {
  font-size: 8px;
  margin: 9px 0 0 0;
}
.community__title {
  align-items: center;
  color: #333;
  display: flex;
  font-size: 3.1rem;
  font-weight: 400;
  gap: 23px;
  line-height: 59px;
  margin-top: 48px;
}

.community__intro--title {
  color: #409c3e;
  font-size: clamp(
    1.5rem,
    calc(1.341628959276018rem + 0.7239819004524887vw),
    2.5rem
  );
  font-weight: bold;
  line-height: 1.5;
  margin-top: 46px;
  text-align: center;
}
.community__title--img {
  max-width: 126px;
  width: 100%;
}
.community__intro--title-text {
  background-image: url(../img/service_underline.svg);
  background-position: bottom;
}

.community__inner {
  padding: 0 0 95px 0;
}

.community__inner--title-img {
  display: block;
  margin: 81px auto 0;
}
.community__inner--main-img {
  display: block;
  left: -9px;
  margin: 0 auto;
  max-width: 900px;
  position: relative;
  width: 100%;
}
.community__inner--main-img-sp {
  display: none;
}
.community__guide--inner {
  background-color: #f7f6ef;
  padding: 102px 0px 0px 0px;
}
.community__guide--inner-h3 {
  color: #c75b6f;
  font-size: 1.2rem;
  text-align: center;
}
.community__guide--main {
  display: flex;
  margin: 78px auto;
  max-width: 1200px;
  position: relative;
}
.community__guide--main-left {
  position: relative;
}
.community__guide--main__right {
  position: relative;
}
.community__guide--main-pl {
  font-size: clamp(0.68em, calc(0.638rem + 0.22vw), 1rem);
  left: 50%;
  max-width: 185px;
  position: absolute;
  top: 64%;
  width: 100%;
}
/*.community__guide--main-pr {
  font-size: clamp(0.68em, calc(0.638rem + 0.22vw), 1rem);
  left: 50%;
  max-width: 185px;
  position: absolute;
  top: 64%;
  width: 100%;
} */

.community__guide--main-img-left {
  display: block;
  margin: 0 auto;
  max-width: 600px;
  width: calc(100% - 10%);
}
.community__guide--main-img-right {
  display: block;
  margin: 0 auto;
  max-width: 600px;
  width: calc(100% - 10%);
}
.community__guide--inner-second--img--pc {
  display: block;
  margin: 0 auto;
  max-width: 870px;
  padding: 0 5%;
  width: 100%;
}
.community__guide--inner-second--img--sp {
  display: none;
}

.community__guide--inner-third__wrap {
  align-items: center;
  display: flex;
  gap: 12px;
  margin: 44px auto 0;
  max-width: 970px;
  width: 100%;
}
.second__wrap--right--p {
  color: #e67d91;
  font-size: clamp(1.06rem, calc(1.03rem + 0.13vw), 1.25rem);
  font-weight: 400;
  line-height: 1.5;
}

.second__wrap--right--p2 {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  margin: 20px 0 0 0;
}

.second__wrap--right--p2--pc {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  margin: 20px 0 0 0;
}
.second__wrap--right--p2--sp {
  display: none;
}

.community__guide--inner-third--img2--sp {
  display: none;
}

.community__guide--inner-third {
  background-image: url(../img/community_07.png);
  background-position: bottom;
  background-size: 100%;
  height: 1017px;
}
.community__guide__container {
  display: flex;
  flex-wrap: wrap;
  gap: 108px;
  justify-content: space-evenly;
  margin: 29px auto;
  max-width: 900px;
  padding: 20px;
}
@media screen and (max-width: 768px) {
  .community__container {
    background-position: top;
    background-size: 128%;
    object-fit: cover;
    padding: 211px 2% 0 2%;
  }
  .community__inner--main-img {
    display: none;
  }
  .community__title--img {
    max-width: 56px;
    width: 100%;
  }
  .community__inner--main-img-sp {
    display: block;
    margin: 0 auto;
  }
  .community__inner--title-img {
    display: block;
    margin: 58px auto 30px;
    max-width: 254px;
    width: 100%;
  }

  .community__intro {
    margin: 60px auto 0;
    max-width: 960px;
    position: relative;
    width: calc(100% - 5%);
  }
  .community__title {
    align-items: flex-start;
    color: #333;
    display: flex;
    font-size: 1.7em;
    font-weight: 400;
    gap: 2vw;
    line-height: 36px;
    margin-top: 37px;
  }

  .community__guide--main {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin: 40px auto 32px;
    max-width: 1200px;
    position: relative;
  }

  .community__guide--inner {
    background-color: #f7f6ef;
    padding: 55px 0% 0px 0%;
  }

  .community__guide--inner-third--img--pc {
    display: none;
  }
  .community__guide--inner-third--img--sp {
    display: block;
    margin: 0 auto;
  }

  .community__guide--inner-third--img2--pc {
    display: none;
  }
  .community__guide--inner-third--img2--sp {
    display: block;
    margin: 0 auto;
  }
  .second__wrap--right--p2--pc {
    display: none;
  }
  .second__wrap--right--p2--sp {
    display: block;
    font-size: 0.95rem;
    font-weight: 400;
    line-height: 1.5;
    margin: 10px 0 0 0;
    padding: 0 5%;
  }

  .community__br {
    display: none;
  }
  .community__guide--inner-third {
    background-image: url(../img/community_07_sp.png);
    background-position: bottom;
    height: 78vh;
  }
  .community__guide__container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    margin: 124px auto 0;
    max-width: 900px;
    padding: 20px;
  }
}

.community__container {
  background-image: url(../img/community_01.png);
  background-position: top right;
  object-fit: cover;
  padding-top: 211px;
}

.community__header {
  margin: 0 auto;
  max-width: 1200px;
  width: calc(100% - 10%);
}

.community__label {
  font-size: 1.375rem;
  max-width: 70%;
}

.community__title {
  align-items: center;
  color: #333;
  display: flex;
  font-size: 3.1rem;
  font-weight: 400;
  gap: 23px;
  line-height: 59px;
  margin-top: 48px;
}

.community__title--img {
  max-width: 126px;
  width: 100%;
}

.community__inner {
  padding: 0 0 95px 0;
}

.community__inner--title-img {
  display: block;
  margin: 81px auto 0;
}
.community__inner--main-img {
  display: block;
  left: -9px;
  margin: 0 auto;
  max-width: 900px;
  position: relative;
  width: 100%;
}
.community__inner--main-img-sp {
  display: none;
}
.community__guide--inner {
  background-color: #f7f6ef;
  padding: 102px 0px 0px 0px;
}
.community__guide--inner-h3 {
  color: #c75b6f;
  font-size: 1.2rem;
  text-align: center;
}
.community__guide--main {
  display: flex;
  margin: 78px auto;
  max-width: 1200px;
  position: relative;
}
.community__guide--main-left {
  position: relative;
}
.community__guide--main__right {
  position: relative;
}
.community__guide--main-pl {
  font-size: clamp(0.68em, calc(0.638rem + 0.22vw), 1rem);
  left: 50%;
  max-width: 185px;
  position: absolute;
  top: 64%;
  width: 100%;
}
.community__guide--main-pr {
  font-size: clamp(0.68em, calc(0.638rem + 0.22vw), 1rem);
  left: 77%;
  max-width: 185px;
  position: absolute;
  top: 64%;
  width: 100%;
}
.community__guide--main-img-left {
  display: block;
  margin: 0 auto;
  max-width: 600px;
  width: calc(100% - 10%);
}
.community__guide--main-img-right {
  display: block;
  margin: 0 auto;
  max-width: 600px;
  width: calc(100% - 10%);
}
.community__guide--inner-second-img-pc {
  display: block;
  margin: 0 auto;
  max-width: 870px;
  padding: 0 5%;
  width: 100%;
}
.community__guide--inner-second-img-sp {
  display: none;
}

.community__guide--inner-third-wrap {
  align-items: center;
  display: flex;
  gap: 12px;
  margin: 44px auto 0;
  max-width: 970px;
  width: 100%;
}
.second__wrap--rightight-p {
  color: #e67d91;
  font-size: clamp(1.06rem, calc(1.03rem + 0.13vw), 1.25rem);
  font-weight: 400;
  line-height: 1.5;
}

.second__wrap--rightight-p2 {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  margin: 20px 0 0 0;
}

.second__wrap--rightight-p2-pc {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  margin: 20px 0 0 0;
}
.second__wrap--rightight-p2-sp {
  display: none;
}

.community__guide--inner-third-img2-sp {
  display: none;
}

.community__guide--inner-third {
  background-image: url(../img/community_07.png);
  background-position: bottom;
  background-size: 100%;
  height: 1017px;
}
.community__guide--container {
  display: flex;
  flex-wrap: wrap;
  gap: 108px;
  justify-content: space-evenly;
  margin: 73px auto;
  max-width: 900px;
  padding: 20px;
}
@media screen and (max-width: 768px) {
  .community__container {
    background-position: top;
    background-size: 128%;
    object-fit: cover;
    padding: 211px 2% 0 2%;
  }
  .community__inner--main-img {
    display: none;
  }
  .community__title--img {
    max-width: 56px;
    width: 100%;
  }
  .community__inner--main-img-sp {
    display: block;
    margin: 0 auto;
  }
  .community__inner--title-img {
    display: block;
    margin: 58px auto 30px;
    max-width: 254px;
    width: 100%;
  }

  .community__intro {
    margin: 60px auto 0;
    max-width: 960px;
    position: relative;
    width: calc(100% - 5%);
  }
  .community__title {
    align-items: flex-start;
    color: #333;
    display: flex;
    font-size: 1.7em;
    font-weight: 400;
    gap: 2vw;
    line-height: 36px;
    margin-top: 37px;
  }

  .community__guide--main {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin: 40px auto 32px;
    max-width: 1200px;
    position: relative;
  }

  .community__guide--inner {
    background-color: #f7f6ef;
    padding: 55px 0% 0px 0%;
  }

  .community__guide--inner-third-img-pc {
    display: none;
  }
  .community__guide--inner-third-img-sp {
    display: block;
    margin: 0 auto;
  }

  .community__guide--inner-third-img2-pc {
    display: none;
  }
  .community__guide--inner-third-img2-sp {
    display: block;
    margin: 0 auto;
  }
  .second__wrap--rightight-p2--pc {
    display: none;
  }
  .second__wrap--rightight-p2-sp {
    display: block;
    font-size: 0.95rem;
    font-weight: 400;
    line-height: 1.5;
    margin: 10px 0 0 0;
    padding: 0 5%;
  }

  .community__br {
    display: none;
  }
  .community__guide--inner-third {
    background-image: url(../img/community_07_sp.png);
    background-position: bottom;
    height: 78vh;
  }
  .community__guide--container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    margin: 34px auto 0;
    max-width: 900px;
  }
}

/* community-support
---------------------------------------------*/

.community-support__container {
  background-image: url(../img/community-support_01.png);
  background-position: top right;
  object-fit: cover;
  padding-top: 211px;
}
.community-support__features--container {
  margin: 110px auto 0;
  max-width: 984px;
  width: 100%;
}
.community-support__features--content {
    background-color: #feefc1;
    border-radius: 10px;
    margin: 31px auto 57px;
    max-width: 708px;
    padding: 28px 0;
    position: relative;
    width: 100%;
}
.features-text {
  font-size: 1rem;
  font-weight: 400;
  padding: 10px;
  text-align: left;
}
.features-decoration {
  position: absolute;
  right: -32px;
  top: 0;
  width: 56px;
}
.features-image-pc {
  display: block;
}
.features-image-sp {
  display: none;
}
.flow-img-sp {
  display: none;
}

.community-support__header {
  margin: 0 auto;
  max-width: 1200px;
  width: calc(100% - 10%);
}

.community-support__title {
  align-items: center;
  color: #333;
  display: flex;
  font-size: 3.1rem;
  font-weight: 400;
  gap: 23px;
  line-height: 59px;
  margin-top: 48px;
}

.community-support__intro--title {
  color: #409c3e;
  font-size: clamp(
    1.5rem,
    calc(1.341628959276018rem + 0.7239819004524887vw),
    2.5rem
  );
  font-weight: bold;
  line-height: 1.5;
  margin-top: 46px;
  text-align: center;
}
.community-support__title-img {
  max-width: 126px;
  width: 100%;
}
.community-support__intro--title-text {
  background-image: url(../img/service_underline.svg);
  background-position: bottom;
}
@media screen and (max-width: 768px) {
  .community-support__container {
    background-position: top;
    background-size: 128%;
    object-fit: cover;
    padding: 211px 2% 0 2%;
  }
	.community-support__features--container {
    margin: 40px auto 0;
    max-width: 984px;
    width: 100%;
}
	
	
  .features-image-pc {
    display: none;
  }
  .flow-img-pc {
    display: none;
  }
  .flow-img-sp {
    display: block;
    margin: 0 auto;
    width: 100%;
  }

  .features-image-sp {
    display: block;
    margin: 0 auto;
    width: 100%;
  }
  .features-decoration {
    position: absolute;
    right: -9px;
    top: 94px;
    width: 58px;
  }
  .community-support__title-img {
    max-width: 56px;
    width: 100%;
  }

  .community-support__intro {
    margin: 60px auto 0;
    max-width: 960px;
    position: relative;
    width: calc(100% - 5%);
  }

  .community-support__title {
    align-items: flex-start;
    color: #333;
    display: flex;
    font-size: 1.7em;
    font-weight: 400;
    gap: 2vw;
    line-height: 36px;
    margin-top: 37px;
  }
}

/* reservation
---------------------------------------------*/
.reserve__container {
  background-image: url(../img/reserve_01.png);
  background-position: top right;
  object-fit: cover;
  padding-top: 211px;
}
.reserve__container--intro-txt {
  font-size: 1rem;
}
.reserve__container--intro {
  align-items: center;
  display: flex;
  justify-content: space-around;
  margin: 30px auto;
  max-width: 880px;
  width: 100%;
}

.reserve__container--intro-img {
  max-width: 80px;
  width: 100%;
}
.reserve__container--intro-img2-pc {
  max-width: 180px;
  width: 100%;
}
.reserve__container--intro-img2-sp {
  display: none;
}

.reserve__container--intro-txt {
  font-size: 1rem;
  font-weight: 400;
  text-align: center;
}
.reserve__container--main {
  background-color: #f7f6ef;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 0 auto;
  text-align: center;
padding: 102px 0 76px 0;
}
.reserve__container--main-img-pc {
  display: block;
  max-width: 1440px;
  width: 100%;
}
.reserve__container--main-img-sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .reserve__container {
    background-position: top;
    background-size: 128%;
    object-fit: cover;
    padding: 211px 2% 0 2%;
  }
.reserve__container--main {
    padding: 44px 0 6px 0;
}
  .reserve__container--intro {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 880px;
    width: 100%;
  }
  .reserve__container--intro-txt {
    font-size: 1rem;
    font-weight: 400;
    text-align: left;
  }
  .reserve__container--intro-img {
    display: none;
  }
  .reserve__container--intro-txt {
    font-size: 1rem;
    font-weight: 400;
    margin: 44px auto 0;
    text-align: left;
  }
  .reserve__container--main-img-pc {
    display: none;
  }
	
  .reserve__container--main-img-sp {
    display: block;
    max-width: 768px;
    width: 100%;
  }

  .reserve__container--intro-img2-pc {
    display: none;
  }
  .reserve__container--intro-img2-sp {
    display: block;
    margin: 38px 0 27px 0;
    max-width: 180px;
    width: 100%;
  }
}

/* chiledcare
---------------------------------------------*/
.childcare__container {
  background-image: url(../img/childcare_01.png);
  background-position: top right;
  object-fit: cover;
  padding-top: 211px;
}

.childcare__container--inner-textwrap {
  background-color: #f7f6ef;
  border-radius: 10px;
  margin: 0 auto;
  margin: 94px auto 0 auto;
  max-width: 637px;
  padding: 20px;
  position: relative;
  width: 100%;
}
.childcare-inner-text {
  font-size: 1rem;
  font-weight: 400;
  text-align: center;
}

.childcare-inner-img {
  left: -74px;
  max-width: 124px;
  position: absolute;
  top: -33px;
  width: 100%;
}

.childcare-inner-img2 {
  display: block;
  margin: 72px auto 80px;
  max-width: 539px;
  width: 100%;
}

.childcare__features {
  align-items: center;
  display: flex;
  gap: 20px;
  justify-content: space-between;
  margin: 0 auto;
  margin-top: 2rem;
  max-width: 742px;
  position: relative;
}

.childcare__feature {
  background-color: #fff;
  border-radius: 10px;
  height: 207px;
  max-width: 168px;
  text-align: center;
  width: 100%;
}

.childcare__feature img {
  margin-bottom: 10px;
  max-width: 142px;
  width: 100%;
}

.childcare__feature h5 {
  border-bottom: 2px solid #d66;
  display: inline-block;
  font-size: 1rem;
  margin-bottom: 5px;
}

.childcare__feature p {
  font-size: 0.9rem;
  line-height: 1.4;
}

.childcare__container--secoundinner {
  background-color: #fef8f8;
  padding: 43px 0 21px 0;
  position: relative;
}

.childcare__container--secoundinner-txt {
  color: #c75b6f;
  font-size: 1.4rem;
  text-align: center;
}
.childcare__feature-ico {
  position: absolute;
  right: -13vw;
  top: 8vh;
  width: 189px;
}

.childcare__features-detail {
  display: flex;
  flex-wrap: wrap;
  gap: 40px 30px;
  justify-content: space-between;
  margin-top: 2rem;
}

.feature-item {
  align-items: flex-start;
  display: flex;
  flex-direction: row;
  width: 48%;
}

.feature-img {
  height: auto;
  margin-right: 20px;
  max-width: 100px;
}

.feature-text h5 {
  color: #d33;
  font-size: 1rem;
  margin-bottom: 8px;
}

.feature-text p {
  font-size: 0.9rem;
  line-height: 1.5;
}
.childcare__container--detail {
  display: flex;
  flex-wrap: wrap;
  gap: 40px 30px;
  justify-content: space-between;
  margin: 63px auto;
  margin-top: 2rem;
  max-width: 957px;
}
.childcare__container--thirdinner {
  background-color: #f7f6ef;
  padding: 60px 0;
}
.feature-ico-pc {
  display: block;
  height: 141px;
  margin: 0 0 0 auto;
  max-width: 103px;
  object-fit: contain;
  width: 100%;
}

.feature-ico-sp {
  display: none;
}
.support-title {
  color: #d94b67;
  font-size: 1.2em;
  font-weight: bold;
  margin-bottom: 1em;
}

.support-box {
  line-height: 1.6;
  margin: 0 auto;
  max-width: 630px;
  padding: 1em;
  width: 100%;
}

.support-icons {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  margin-top: 2em;
}

.support-icon {
  max-width: 150px;
  text-align: center;
}

.support-icon img {
  height: auto;
  margin-bottom: 0.5em;
  width: 80px;
}

.support-icon p {
  font-size: 0.9em;
}

.support-ribbon {
  height: auto;
  width: 40px;
}

.childcare__container--fourthinner {
  background-color: #fef8f8;
  border-radius: 10px;
  margin: 54px auto 0px;
  max-width: 960px;
  padding: 42px 20px;
  width: 100%;
  width: calc(100% - 5%);
}

.support-icons-img-pc {
  display: block;
}
.support-icons-img-sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .childcare__container {
    background-position: top;
    background-size: 128%;
    object-fit: cover;
    padding: 211px 2% 0 2%;
  }
  .childcare__features {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 20px;
    justify-content: space-between;
    margin: 0 auto;
    margin-top: 2rem;
    max-width: 742px;
    position: relative;
  }
  .childcare__feature-ico {
    display: none;
  }
  .feature-item {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    width: 100%;
  }
  .feature-ico-pc {
    display: none;
  }

  .feature-ico-sp {
    display: block;
    height: 141px;
    margin: 0 0 0 auto;
    max-width: 103px;
    object-fit: contain;
    width: 100%;
  }
  .childcare__container--detail {
    display: flex;
    flex-wrap: wrap;
    gap: 40px 30px;
    justify-content: center;
    margin: 63px auto;
    margin-top: 2rem;
    max-width: 957px;
    padding: 0 5%;
  }
  .feature-item__img-wrap {
    align-items: center;
    display: flex;
    justify-content: space-around;
    margin: 0 auto;
  }
  .support-icons-img-pc {
    display: none;
  }
  .support-icons-img-sp {
    display: block;
  }
	.childcare__container--inner {
    display: flex;
    flex-direction: column;
    gap: 15vh;
}
	.childcare-inner-img {
    left: 30%;
    max-width: 124px;
    position: absolute;
    top: 107px;
    width: 100%;
}
.childcare__container--inner-textwrap {
margin: 43px auto 0 auto;
}
}

/* mebukuid
---------------------------------------------*/
.mebukuid__container {
  background-image: url(../img/mebuku_01.png);
  background-position: top right;
  object-fit: cover;
  padding-top: 211px;
}
.mebukuid__container {
        background-position: top;
        background-size: 128%;
        object-fit: cover;
        padding: 211px 2% 0 2%;
    }



.mebukuid__container-text {
  font-size: 1rem;
  font-weight: 400;
  margin: 70px auto;
  max-width: 498px;
  text-align: center;
}

.omusubi-section {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 700px;
}

.app-icon {
  height: auto;
  margin-right: 1rem;
  max-width: 206px;
  width: 100%;
}

.omusubi-section__text-container {
  background: #fff5f5;
  border-radius: 12px;
  flex: 1;
  font-family: "Hiragino Kaku Gothic ProN", sans-serif;
  margin: 2rem auto;
  max-width: 700px;
  padding: 1rem;
  position: relative;
  position: relative;
}
.omusubi-section-label {
  background-color: #e98989;
  border-radius: 10px;
  color: white;
  display: inline-block;
  font-size: 0.9rem;
  left: -1vw;
  margin-bottom: 0.4rem;
  padding: 0.2rem 0.8rem;
  position: absolute;
  top: -20px;
  transform: rotate(355deg);
}

.omusubi-section-p {
  font-size: 1rem;
  margin: 0;
  text-align: center;
}

.girl-illust {
  height: auto;
  margin-left: 1rem;
  width: 60px;
}
.mebukuid__container--secound {
  display: block;
  margin: 88px auto;
  max-width: 1200px;
  width: 100%;
}

.app-use-pc {
  display: block;
}

.app-use-sp {
  display: none;
}

.trust-boxes {
    align-items: stretch;
    display: flex;
    gap: 5rem;
    justify-content: space-between;
    margin: 79px auto;
    max-width: 920px;
    width: calc(100% - 5%);
}

.trust-item {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 20px;
  justify-content: space-between;
  max-width: 280px;
  min-width: 240px;
  padding: 1.5rem;
  text-align: center;
}

.trust-item img {
  height: auto;
  margin: 1rem 0;
  max-width: 132px;
  width: 100%;
}

.trust-item p {
  color: #333;
  font-size: 0.95rem;
  line-height: 1.5;
  margin: 0;
}

.trust-num {
  align-items: center;
  background: #f5b7c3;
  border-radius: 50%;
  color: white;
  display: inline-flex;
  font-size: 0.9rem;
  font-weight: bold;
  height: 36px;
  justify-content: center;
  margin-bottom: 0.5rem;
  width: 36px;
}

.my_number {
  display: block;
  margin: 0 auto;
  max-width: 600px;
  width: 100%;
}

.mebukuid__container--forth {
  background-color: #f7f6ef;
  margin: 69px 0 0px 0;
  padding: 20px 0 30px 0;
}

.mebukuid__container--forth-text {
}
.community__intro--title-descliption {
  margin: 40px auto;
  max-width: 521px;
  text-align: left;
  width: calc(100% - 5%);
}
.requirement-list {
  background-color: #ffffff;
  border-radius: 12px;
  color: #333;
  font-size: 1rem;
  line-height: 1.7;
  list-style-position: inside;
  list-style-type: disc;
  margin: 1rem auto;
  max-width: 493px;
  padding: 1.5rem;
  width: calc(100% - 5%);
}
.requirement-list small {
  color: #666;
  display: block;
  font-size: 0.8rem;
  margin-top: 0.3rem;
}

.requirement-list-img-pc {
  display: block;
  margin: 34px auto;
}
.requirement-list-img-sp {
  display: none;
}

@media (max-width: 768px) {
	.mebukuid__container {
        background-position: top;
        background-size: 128%;
        object-fit: cover;
        padding: 211px 2% 0 2%;
    }
	
.mebukuid__container--secound {
 margin: 6px auto;
}
	
    .mebukuid__container-text {
        text-align: left;
        margin: 40px auto 0;
    }
  .omusubi-section {
    flex-direction: column;
    text-align: center;
  }
  .girl-illust {
    margin: 1rem 0 0;
  }

  .app-use-pc {
    display: none;
  }

  .app-use-sp {
    display: block;
    margin: 0 auto;
    width: calc(100% - 5%);
  }
.trust-boxes {
    align-items: center;
    display: flex;
    gap: 2rem;
    justify-content: space-between;
    margin: 79px auto;
    max-width: 920px;
    width: calc(100% - 5%);
    flex-direction: column;
}
  .requirement-list-img-pc {
    display: none;
  }
    .requirement-list-img-sp {
        display: block;
        margin: 49px auto;
        width: calc(100% - 10%);
        max-width: 70%;
    }
  .my_number {
    padding: 0 5%;
  }
}

/* connect
---------------------------------------------*/
.connect-info__container {
  background-image: url(../img/connect_01.png);
  background-position: top right;
  object-fit: cover;
  padding: 211px 0 100px 0;
  padding-top: 211px;
}

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

.connect-info__features {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
}

.feature-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: -1px 1px 10px 1px rgba(0, 0, 0, 0.1);
  flex: 1;
  max-width: 280px;
  min-width: 220px;
  padding: 1.5rem;
}

.connect-info__features {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: space-between;
  margin: 62px 0 20px 0;
  max-width: 965px;
  width: 100%;
}

.feature-card h3 {
  color: #007acc;
  font-size: 1.1rem;
  margin-bottom: 0.5rem;
}

.feature-card p {
  color: #444;
  font-size: 0.95rem;
  line-height: 1.6;
}
.connect-info__body {
  margin: 0 auto;
  margin-top: 2rem;
  max-width: 965px;
  text-align: center;
}
.connect-info__intro--title {
  color: #2493d2;
  font-size: clamp(1.5rem, calc(1.34rem + 0.72vw), 2.5rem);
  font-weight: bold;
  line-height: 1.5;
  margin-top: 46px;
  text-align: left;
}
.connect-info__intro--title-text {
  background-image: url(../img/connect_underline.svg);
  background-position: bottom;
}
.connect-info__inner {
  align-items: center;
  display: flex;
  justify-content: space-around;
}
.connect-info__description {
  color: #6cb553;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.8;
  margin: 51px 0 36px;
  margin-bottom: 2rem;
  text-align: left;
}
.connect-info__text {
  font-size: 1rem;
  text-align: left;
}
.connect-info__inner-img {
    display: block;
    margin: 0 auto;
    max-width: 353px;
    width: 100%;
}
.connect-info__mvv-topwave {
  background-image: url(../img/wave.svg);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 147px;
  position: relative;
}

.connect-info__mvv {
  background-color: #cceafb;
  position: relative;
}

.connect-info__mvv-bottomwave {
  background-image: url("../img/wave_under.svg");
  background-position: bottom center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 147px;
}

.connect-info__mvv-section {
  background-color: #cdeafb;
}

.connect-info__mvv-wrap {
  margin: 0 auto;
  max-width: 1180px;
  position: relative;
  width: 100%;
}

.connect-info__mvv-container {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  margin: 0 auto;
  margin: -1px auto 0 auto;
  max-width: 1100px;
  position: relative;
width: calc(100% - 5%);
}
.connect-info__mvv-block {
  display: flex;
  position: relative;
}
.connect-info__mvv-text {
  max-width: 580px;
  width: 100%;
}
.connect-info__mvv-block h2 {
  color: #1a99e1;
  font-size: 1.5rem;
  margin-bottom: 0.5rem;
}

.connect-info__mvv-block h2 span {
  color: #333;
  font-size: 0.875rem;
  margin-left: 0.5rem;
}

.connect-info__mvv-block p {
  font-size: 0.95rem;
  line-height: 1.7;
}

.illustration1 {
  margin: 0 0 0 auto;
  max-width: 169px;
}
.illustration2 {
  margin: 0px 0 0px 16vw;
  max-width: 103px;
  position: relative;
  top: -53px;
}
.illustration3 {
  margin: 0 0 0 auto;
  max-width: 340px;
  width: 100%;
}
.decoration {
  position: absolute;
  z-index: 0;
}

.car {
  left: 16vw;
  top: 1vh;
  width: 133px;
}

.castle {
    right: 2vw;
    top: -4rem;
    width: 220px;
}

@media (max-width: 768px) {
    .connect-info__mvv-container {
        padding: 0 1rem 10vh 1rem;
        position: relative;
        margin: -2px auto 0;
    }
	
	
  .connect-info__container {
    background-position: top;
    background-size: 128%;
    object-fit: cover;
    padding: 211px 2% 0 2%;
  }
  .connect-info__inner {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
  }
.connect-info__mvv-topwave {
        background-image: url(../img/wave_sp.svg);
        background-position: bottom center;
        background-repeat: no-repeat;
        background-size: contain;
        position: relative;
        margin: 73px 0 0 0px;
        width: 100%;
	height: 174px;
    }
    .connect-info__mvv-bottomwave {
        background-image: url(../img/wave_under_sp.svg);
        background-position: top center;
        background-repeat: no-repeat;
        background-size: contain;
    }
	
  .connect-info__features {
    align-items: center;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: space-between;
    margin: 62px 0 20px 0;
    max-width: 965px;
    width: 100%;
  }
  .illustration1 {
    display: none;
  }
  .illustration2 {
    display: none;
  }
  .illustration3 {
    max-width: 140px;
    position: absolute;
    right: 0;
    top: 24vh;
    width: 100%;
  }

  .connect-info__mvv-topwave {
    margin: 73px 0 0 0px;
  }

.car {
        left: -1vw;
        top: 13vh;
        width: 90px;
    }
  .castle {
        right: 3rem;
        top: 7vh;
        width: 121px;
    }
}

.connect-info__bottom {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 60px 20px 0 20px;
  
  text-align: center;
  overflow: hidden;
}

.connect-info__visual img {
    max-width: 705px;
    height: auto;
    margin-bottom: 40px;
    width: 100%;
}

.connect-info__logo img {
max-width: 170px;
width:100%;
}

.connect-info__details ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.connect-info__details li {
    font-size: 1rem;
    line-height: 1.6;
    text-align: left;
    border-bottom: 1px solid;
    padding: 12px 0;
    font-weight: 400;
    color: #595757;
    display: flex;
    gap: 34px;
}

.connect-info__details strong {
  font-weight: bold;
}

.connect-info__details {
    display: flex;
    gap: 70px;
    align-items: center;
    align-content: stretch;
}

/* ====== 背景イラスト配置 ====== */
.connect-info__decoration {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.connect-info__deco-parachute {
	    animation: float 3s ease-in-out infinite;
    position: absolute;
    top: 10px;
    left: 20vw;
    width: 60px;
}

.connect-info__deco-airplane {
    animation: float 3s ease-in-out infinite;
    position: absolute;
    top: 1vh;
    right: 9vw;
    width: 30vw;
    max-width: 300px;
}


@media screen and (max-width: 768px) {
.connect-info__details {
        display: flex;
        gap: 13px;
        align-items: center;
        align-content: stretch;
        flex-direction: column;
    }

.connect-info__details li {
display: flex;
gap: 0px;
flex-direction: column;
}
	.connect-info__logo img {
    max-width: 170px;
    width: 50%;
}
}
/* 大村市しあわせ循環コミュニティプライバシーポリシー
---------------------------------------------*/

.privacy-com__container {
    background-image: url(../img/privacy_01.png);
    background-position: top right;
    object-fit: cover;
    padding-top: 211px;
}

.privacy-com__container-text {
    max-width: 960px;
    width: 100%;
    margin: 88px auto 0;
    width: calc(100% - 5%);
}
.privacy-com__container-description{
font-size:1rem;
margin:20px auto;
}

.privacy-com__container-h2 {
    margin: 47px 0 10px 0;
    font-size: 1.5em;
}

.privacy-com__container-ul li{
    list-style: disc;
    list-style-position: inside;
}
.privacy-com__container-ul2 li {
    list-style: disc;
    list-style-position: inside;
    margin: 20px 0;
}
.privacy-com__container-text .second-items {
    margin: 30px 0 0 0;
    word-wrap: break-word;
    display: block;
}

.info-table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
}

.info-table th,
.info-table td {
  border: 1px solid #ccc;
  padding: 12px;
  text-align: left;
  vertical-align: top;
	width: 33.333333%;
}

.info-table thead {
  background-color: #D9D9D9;
}

.footer-links {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 0.8rem;
    gap: 16px;
    margin: 75px 0 0 0;
}

.footer-links a {
  text-decoration: none;
  color: #666;
  transition: color 0.3s;
}

.footer-links a:hover {
  color: #000;
  text-decoration: underline;
}

.footer-links .divider {
  color: #ccc;
}

/* Q&A
---------------------------------------------*/

.qa__container {
  background-image: url(../img/qa_01.png);
  background-position: top right;
  object-fit: cover;
  padding: 211px 0 0px 0;
  padding-top: 211px;
}

.qa__button-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    max-width: 1157px;
    justify-content: center;
    margin: 90px auto;
    row-gap: 38px;
    column-gap: 38px;
    width: calc(100% - 5%);
}

.qa__category-button {
    display: flex;
    align-items: center;
    background-color: #f6d5d5;
    border-radius: 9999px;
    padding: 12px 10px;
    text-decoration: none;
    color: #333;
    font-weight: bold;
    max-width: 326px;
    width: 100%;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    transition: background 0.3s ease;
    position: relative;
    justify-content: center;
    text-align: center;
}

    .qa__category-button:hover {
      background-color: #f2bcbc;
    }

.qa__category-button img {
    width: 80px;
    position: absolute;
    left: -20px;
}
.qa__header-box {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    background-color: white;
    padding: 20px 65px;
    border-radius: 12px;
    max-width: 1199px;
    width: calc(100% - 5%);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
    margin: 0 auto;
    gap: 68px;
}

    .qa__left-section {
      display: flex;
      align-items: center;
      gap: 15px;
    }

    .qa__left-section img {
      width: 60px;
      height: 60px;
    }

.qa__title {
    font-size: 1.4em;
    font-weight: bold;
    color: #228b22;
    background-image: url(../img/service_underline.svg);
    background-position: bottom;
}

    .qa__nav-links {
      display: flex;
      gap: 25px;
    }

    .qa__nav-links a {
      color: #1e40af;
      text-decoration: underline;
      font-weight: 500;
    }

    .qa__nav-links a:hover {
      text-decoration-thickness: 2px;
    }

.qa_container {
    display: none;
}

.faq__wrap {
    width: 100%;
    margin: 40px auto;
    max-width: 960px;
}

.faq__wrap-title {
    font-size: 1.5rem;
    width: 100%;
    margin: 0 auto;
}
span.faq__block {
    margin: 0 0 30px 0;
}

@media (max-width: 768px) {
  .qa__container {
    background-position: top;
    background-size: 128%;
    object-fit: cover;
    padding: 211px 2% 0 2%;
  }
	
.faq__wrap-title {
        font-size: 1.5rem;
        width: 90%;
        margin: 0 0 0 auot;
    }
.qa__header-box {
 display: none;
}
	
.qa_container {
        display: flex;
        justify-content: center;
        flex-direction: column;
        align-items: center;
        background-color: #F4F9F4;
        padding: 8px 0;
    }


.qa__wrap-title {
    font-size: 1.5em;
}
	.qa__title {
    font-size: 1.4em;
    font-weight: bold;
    color: #228b22;
    background-image: url(../img/service_underline.svg);
    background-position: bottom;
    text-align: center;
    display: block;
    max-width: 211px;

}
.qa-select {
    display: inline-flex;
    align-items: center;
    position: relative;
}

    .qa__select h2 {
      color: #3b7f2f;
      font-size: 24px;
      margin-bottom: 20px;
      font-weight: bold;
    }


.qa-select select {
        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        min-width: 230px;
        height: 2.8em;
        padding: .4em 3.6em .4em .8em;
        border: 2px solid #B2D8B2;
        border-radius: 3px;
        color: #333333;
        font-size: 1em;
  position: relative;
        cursor: pointer;
        margin: 20px auto;
    }
.qa-select::before,
.qa-select::after {
    position: absolute;
    content: '';
    pointer-events: none;
}

.qa-select::before {
        right: 0;
        display: inline-block;
        width: 2.8em;
        height: 2.8em;
        border-radius: 0 3px 3px 0;
        background-color: #B2D8B2;
        content: '';
    }

    .qa-select::after {
        position: absolute;
        top: 50%;
        right: 1.4em;
        transform: translate(50%, -50%) rotate(45deg);
        width: 9px;
        height: 9px;
        border-bottom: 3px solid #333;
        border-right: 3px solid #333;
        content: '';
    }

.qa-select select:focus {
    outline: 1px solid #2589d0;
}
}

/* 協賛企業
---------------------------------------------*/

.sponsors__container {
    background-position: top;
    object-fit: cover;
    padding: 363px 2% 0 2%;
    background-image: url(../img/sponsors_01.png);
    background-position: top right;
}



/* common
---------------------------------------------*/

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

@media screen and (max-width: 768px) {
  .single-post-custom,
  .single-post-custom .content-area {
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 !important;
    padding: 0 4vw !important;
    box-sizing: border-box;
  }
  .single-post-custom h1,
  .single-post-custom h2,
  .single-post-custom h3 {
    font-size: 6vw !important;
    line-height: 1.3;
    word-break: break-all;
  }
  .single-post-custom p,
  .single-post-custom li {
    font-size: 4.5vw !important;
    line-height: 1.8;
    word-break: break-all;
  }
  .single-post-custom img,
  .single-post-custom .wp-post-image {
    max-width: 100% !important;
    height: auto !important;
    display: block;
    margin: 0 auto;
  }
  .single-post-custom .campaign-banner {
    max-width: 100% !important;
    width: 100% !important;
    margin: 16px 0 !important;
  }
}

/* Archiveページ用のスタイル */
.archive-main {
  background-image: url(../img/background.jpg);
  background-position: top center;
  background-size: cover;
  min-height: 100vh;
  padding: 120px 20px 60px; /* ヘッダーとの重なりを防ぐため上部に120pxの余白 */
  position: relative;
}

.archive-main .container {
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 10px;
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
  margin: 0 auto;
  max-width: 960px;
  padding: 40px;
}

.archive-main h1 {
  color: #333;
  font-size: 2em;
  margin-bottom: 40px;
  text-align: center;
}

.archive-main .posts-list {
  display: grid;
  grid-gap: 30px;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  margin-bottom: 40px;
}

.archive-main .posts-list article {
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  padding: 20px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.archive-main .posts-list article:hover {
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
  transform: translateY(-5px);
}

.archive-main .posts-list article a {
  color: #333;
  display: block;
  text-decoration: none;
}

.archive-main .post-thumbnail {
  aspect-ratio: 16/9;
  background-color: transparent;
  margin-bottom: 20px;
  overflow: hidden;
  width: 100%;
}

.archive-main .post-thumbnail img {
  height: 100%;
  object-fit: contain;
  transition: transform 0.3s ease;
  width: 100%;
}

.archive-main .posts-list article:hover .post-thumbnail img {
  transform: scale(1.1);
}

.archive-main .posts-list h2 {
  color: #333;
  font-size: 1.5em;
  font-weight: bold;
  line-height: 1.4;
  margin: 0 0 10px;
}

.archive-main .post-excerpt {
  color: #555;
  font-size: 1em;
  margin-top: auto;
}

.archive-main .pagination {
  margin-top: 40px;
  text-align: center;
}

.archive-main .pagination a {
  border: 1px solid #e2839a;
  border-radius: 5px;
  color: #e2839a;
  margin: 0 5px;
  padding: 10px 15px;
  text-decoration: none;
  transition: background-color 0.3s ease, color 0.3s ease;
}

.archive-main .pagination a:hover {
  background-color: #e2839a;
  color: #fff;
}

.archive-main .pagination .current {
  background-color: #e2839a;
  border: 1px solid #e2839a;
  border-radius: 5px;
  color: #fff;
  margin: 0 5px;
  padding: 10px 15px;
}

/* スマホ表示用の調整 */
@media screen and (max-width: 768px) {
  .archive-main {
    padding: 100px 15px 40px; /* スマホでは余白を少し減らす */
  }
  
  .archive-main .container {
    border-radius: 5px;
    max-width: 100%;
    padding: 20px;
  }
  
  .archive-main h1 {
    font-size: 1.5em;
    margin-bottom: 30px;
  }
  
  .archive-main .posts-list {
    grid-gap: 20px;
    grid-template-columns: 1fr; /* スマホでは1列表示 */
  }
  
  .archive-main .posts-list article {
    padding: 15px;
  }
  
  .archive-main .post-thumbnail {
    aspect-ratio: 16/9;
    margin-bottom: 15px;
  }
  
  .archive-main .posts-list h2 {
    font-size: 1.3em;
  }
  
  .archive-main .post-excerpt {
    font-size: 0.9em;
  }
  
  .archive-main .pagination a,
  .archive-main .pagination .current {
    font-size: 0.9em;
    margin: 0 3px;
    padding: 8px 12px;
  }
}

/* スポンサー企業ページ専用 */
.sponsor-page {
  padding-top: 120px; /* ヘッダー分の余白 */
}

.sponsor-page .media {
  margin-bottom: 30px;
  text-align: center;
}

.sponsor-page .sponsor-logos {
  margin-bottom: 40px;
}

.sponsor-page .container {
  margin: 0 auto;
  max-width: 900px;
  padding: 0 20px;
}

.sponsor-page .sponsor-logos-grid {
  justify-content: center;
  margin: 0 auto;
}

.sponsor-page .sponsor-item {
  margin-bottom: 30px;
}

@media screen and (max-width: 768px) {
  .sponsor-page {
    padding-top: 90px;
    min-height: 50vh;
  }
  .sponsor-page .container {
    padding: 0 8px;
  }
  .sponsor-page .media {
    margin-bottom: 18px;
  }
}

/* ほっこりコミュニティ テキストブロック重なり防止・見やすさ調整 */
/*.community__guide--main-pl,
.community__guide--main-pr {
  background: rgba(255,255,255,0.85);
  border-radius: 12px;
  padding: 18px 20px;
  margin-top: 16px;
  margin-bottom: 0;
  max-width: 260px;
  min-width: 180px;
  font-size: 1em;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
  position: relative;
  z-index: 2;
}*/

.community__guide--main-left .community__guide--main-pl {
  margin-left: 0;
  margin-right: 0;
}
.community__guide--main-right .community__guide--main-pr {
  margin-left: 0;
  margin-right: 0;
}

@media screen and (max-width: 768px) {
  .community__guide--main {
    flex-direction: column;
    align-items: center;
    gap: 32px;
  }
  .community__guide--main-pl {
    left: 55%;
  }
  .community__guide--main-pr {
    left: 55%;
    top: 81%;
  }
}

p.text-spacing {
  top: 86%;
  font-weight: 800;
  font-size: smaller;
  color: rgb(255, 255, 255);
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
  transition: transform 0.3s ease, text-shadow 0.3s ease;
  cursor: pointer;
}

p.text-spacing:hover {
  transform: scale(1.1);
  text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.7);
}

/* アプリフロー（フローチャート型）レイアウト */
.app-flow {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 60px 0 40px;
}
.app-flow__top {
  width: 100%;
  display: flex;
  justify-content: center;
  position: relative;
  z-index: 2;
}
.app-flow__arrow--down {
  width: 48px;
  height: 48px;
  margin: 0 0 12px 0;
  display: block;
}
.app-flow__bottom {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: flex-start;
  gap: 48px;
  width: 100%;
  margin-top: 0;
}
.app-flow__left, .app-flow__right {
  flex: 1 1 0;
  display: flex;
  justify-content: center;
}
.app-flow__left .process, .app-flow__right .process {
  width: 100%;
  max-width: 340px;
}

/* スマホ対応 */
@media screen and (max-width: 768px) {
  .app-flow {
    margin: 32px 0 24px;
  }
  .app-flow__top {
    width: 100%;
  }
  .app-flow__arrows {
    flex-direction: column;
    gap: 0;
    margin: 0 0 8px 0;
  }
  .app-flow__arrow--left {
    display: none;
  }
  .app-flow__arrow--right {
    width: 32px;
    height: 32px;
  }
  
  .app-flow__arrow--right::before {
    width: 8px;
    height: 8px;
    border-right: 2px solid white;
    border-bottom: 2px solid white;
    transform: rotate(90deg) translateX(-1px);
  }
  .app-flow__bottom {
    flex-direction: column;
    gap: 0;
    width: 100%;
    align-items: center;
  }
  .app-flow__left, .app-flow__right {
    width: 100%;
    max-width: 340px;
    margin: 0 auto 8px auto;
    justify-content: center;
  }
  .app-flow__right {
    margin-bottom: 0;
  }
}

/* 矢印コンテナ */
.app-flow__arrows {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 120px;
  margin: 0 0 12px 0;
}

.app-flow__arrow--left {
  width: 48px;
  height: 48px;
  position: relative;
  background: #409c3e;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(64, 156, 62, 0.3);
}

.app-flow__arrow--left::before {
  content: '';
  width: 12px;
  height: 12px;
  border-left: 3px solid white;
  border-bottom: 3px solid white;
  transform: rotate(0deg) translateX(2px);
}

.app-flow__arrow--right {
  width: 48px;
  height: 48px;
  position: relative;
  background: #409c3e;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(64, 156, 62, 0.3);
}

.app-flow__arrow--right::before {
  content: '';
  width: 12px;
  height: 12px;
  border-right: 3px solid white;
  border-bottom: 3px solid white;
  transform: rotate(0deg) translateX(-2px);
}

@media screen and (max-width: 768px) {
  .app-flow__arrow--left {
    display: none !important;
  }
  
  .app-flow__arrow--right::before {
    transform: rotate(45deg) translateX(-2px) !important;
  }
}


/* FAQページ専用 */
/* フローティングアクションボタン式FAQヘッダー */
.sticky-header {
  position: relative;
  z-index: 1000;
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  opacity: 1;
  visibility: visible;
}

.sticky-header.fixed {
  position: fixed;
  top: 180px;
  right: 60px;
  width: auto;
  max-width: 400px;
  background: linear-gradient(135deg, #93c86d 0%, #29a7db 100%);
  backdrop-filter: blur(20px);
  box-shadow: 0 10px 40px rgba(102, 126, 234, 0.3);
  border-radius: 50px;
  padding: 12px 20px;
  margin: 0;
  animation: floatIn 0.6s ease-out forwards;
  transform-origin: top right;
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 9999 !important;
}

@keyframes floatIn {
  0% {
    opacity: 0;
    transform: scale(0.8) translateY(-20px);
  }
  100% {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.sticky-header.fixed .qa__left-section {
  display: none;
}

.sticky-header.fixed .qa__nav-links {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
  margin: 0;
  justify-content: center;
  align-items: center;
  min-height: 40px;
  overflow: hidden;
}

.sticky-header.fixed .qa__nav-links a {
  font-size: 0.75rem;
  padding: 6px 10px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 25px;
  text-decoration: none;
  color: white;
  font-weight: 500;
  transition: all 0.3s ease;
  border: 1px solid rgba(255, 255, 255, 0.3);
  white-space: nowrap;
  flex-shrink: 0;
}

.sticky-header.fixed .qa__nav-links a:hover {
  background: rgba(255, 255, 255, 0.3);
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(255, 255, 255, 0.2);
}

/* ホバー時の拡張効果 */
.sticky-header.fixed:hover {
  transform: scale(1.05);
  box-shadow: 0 15px 50px rgba(102, 126, 234, 0.4);
}

/* スペース確保 */
.header-spacer {
  height: 0;
  transition: height 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.header-spacer.active {
  height: 60px;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
  .sticky-header.fixed {
    top: auto;
    bottom: 20px;
    right: 10px;
    left: 10px;
    width: auto;
    max-width: none;
    border-radius: 25px;
    padding: 10px 15px;
  }
  
  .sticky-header.fixed .qa__nav-links {
    gap: 3px;
    flex-wrap: wrap;
  }
  
  .sticky-header.fixed .qa__nav-links a {
    font-size: 0.7rem;
    padding: 6px 10px;
    flex-shrink: 0;
  }
}

/* ダークモード対応（コメントアウト） */
/*
@media (prefers-color-scheme: dark) {
  .sticky-header.fixed {
    background: linear-gradient(135deg, #2d3748 0%, #4a5568 100%);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
  }
}
*/

/* community-support__flow--container 中央揃え */
.community-support__flow--container {
  background-color: #f7f6ef;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 0 auto;
  text-align: center;
}


/* 7/28追加 */

.reserve__container--main-inner {
  max-width: 897px;
  width: 100%;
  display: flex;
  align-items: flex-start;
}

p.reserve__container--main-inner-r-txt {
  font-size: 1rem;
  margin: 10px 0 0 0;
}

.reserve__container--main-inner-r {
  display: flex;
  justify-content: space-around;
  align-items: flex-end;
  gap: 80px;
  background-image: url(../img/reserve_09.png);
  background-position: center bottom;
  padding: 0 0 30px 0;
}

.reserve__container--main-inner-r2 {
  display: flex;
  align-items: center;
  padding: 30px 0 0 40px;
}
.reserve__group.reserve__group--top {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.reserve__group.reserve__group--middle {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.reserve__group.reserve__group--bottom {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.reserve__container-img02 {
  display: block;
  margin: 36px 0 0 0;
}
.reserve__container-img02-sp {
  display: none;
}
.reserve__container-img03 {
  width: 100%;
}
.reserve__container-img04 {
  margin: 30px 0 0 0;
}
.reserve__container-img042 {
  margin: 30px 0 0 0;
}
.reserve__container-img043 {
  margin: 30px 0 0 0;
  min-width: 305px;
}
.reserve__container-img05 {
  display: block;
  margin: 136px 0 0 0;
  min-width: 175px;
}
.reserve__container-img06 {
  display: block;
  margin: 136px 0 0 0;
}
.reserve__container-img07 {
  display: block;
  margin: 136px 0 0 0;
}

.reserve__container-img08 {
  max-width: 230px;
  width: 100%;
}
.reserve__container-img10 {
  display: none;
}
.reserve__container-img11 {
  display: none;
}
.reserve__container-img12 {
  display: none;
}
.reserve__container-img13 {
  display: none;
}
.reserve__container-img14 {
  display: none;
}


@media (max-width: 768px) {
  .reserve__container--main-inner {
    display: flex;
    align-items: flex-start;
    justify-content: center;
  }
  .reserve__container--main-inner-r {
    display: flex;
    justify-content: space-around;
    align-items: center;
    gap: 27px;
    background-image: url(../img/reserve_09.png);
    background-position: center bottom;
    padding: 0 0 30px 0;
    flex-direction: column;
    width: 90%;
    margin: 0 auto;
  }
  .reserve__container-img01 {
    display: none;
  }
  .reserve__container-img02 {
    display: none;
  }
.reserve__container-img02-sp {
    display: block;
}
  .reserve__container-img04 {
    display: none;
  }
  .reserve__container--main-inner-r2 {
    display: none;
  }
  .reserve__container-img10 {
    display: block;
    margin: 33px auto;
    width: 100%;
    max-width: 270px;
  }
  .reserve__container-img11 {
    display: block;
    margin: 33px auto;
    width: 100%;
    max-width: 232px;
  }
  .reserve__container-img12 {
    display: block;
    margin: 33px auto;
    width: 100%;
    max-width: 200px;
  }
  .reserve__container-img13 {
    display: block;
    margin: 33px auto;
    width: 100%;
    max-width: 251px;
  }
  .reserve__container-img14 {
    display: block;
    margin: 33px auto;
    width: 100%;
    max-width: 310px;
  }
}

.support-flow__flow {
  background-color: #f7f6ef;
  padding: 24px 0;
}
.support-flow__flow-inner {
    max-width: 1200px;
    margin: 0 auto;
    width: 95%;
}
.support-flow__container {
  align-items: stretch;
  width: 100%;
  margin: 0 auto;
  text-align: center;
  max-width: 1200px;
  display: flex;
  gap: 2vw;
}
.support-flow__title {
  color: #c75b6f;
  font-size: 1.5rem;
  text-align: left;
  margin: 0 0 0 46px;
}

.support-flow__list {
    background-color: #fff;
    border-radius: 25px;
    padding: 26px;
    max-width: 623px;
    margin: 30px auto;
}

.support-flow__item {
  text-align: left;
  margin: 20px 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 36px;
}

h4.support-flow__message-text {
  color: #e67d91;
  font-size: 1.2rem;
  text-align: center;
  font-weight: 400;
  margin: 65px 0 0 0;
}
.support-img {
  margin: 20px 0 0 0;
}
.support-img__wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.support-flow__message-text2 {
  color: #f8a46d;
  text-align: center;
  line-height: 26px;
  display: block;
  font-weight: 600;
}
.support-flow__message-text3 {
  color: #f8a46d;
  text-align: center;
  line-height: 26px;
  display: block;
  font-weight: 600;
font-size:1rem;
}
.support-flow__message-text4 {
  color: #f8a46d;
  text-align: center;
  display: block;
  font-weight: 400;
  font-size: 0.9rem;
}
.support-img3 {
  max-width: 203px;
  width: 100%;
  margin: 10px auto;
  display: block;
  position: relative;
  left: 2.5vw;
}

.support-img3-sp {
display:none;
}

ul.support-flow__message-text5 {
  text-align: left;
  font-weight: 600;
  line-height: 32px;
  margin: 24px 0px 0 36px;
}
span.li-circle {
  color: #f8a46d;
  margin: 0 10px 0 0;
}
.support-flow__container-r {
  display: flex;
  gap: 36px;
}
.support-img5 {
  max-width: 290px;
  width: 100%;
  margin: 32px auto 0;
}

@media (max-width: 996px) {
  .support-flow__title {
    color: #c75b6f;
    font-size: 1.5rem;
    text-align: center;
    margin: 0 auto 46px;
    display: block;
  }
  .support-flow__container {
    gap: 40px;
    flex-direction: column-reverse;
  }
.support-img2 {
    display: none;
  }
	
.support-img3 {
display: none;
}
	
.support-img3-sp {
display: block;
margin: 40px auto 10px;
max-width: 200px;
width: 100%;
}
	
  .support-flow__flow-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 24px 0;
    width: 95%;
    margin: 0 auto;
  }
  .support-img__wrap {
    display: flex;
    justify-content: center;
    align-items: center;
  }
.support-flow__container-r {
display: flex;
gap: 0px;
 flex-direction: column;
}
}
