@charset "UTF-8";
/* 共通 */
html {
  font-size: 100%;
}
body {
  position: relative;
  font-family: fot-tsukuardgothic-std, sans-serif;
  font-weight: 700;
  color: #333;
  font-size: 16px;
  background: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: 0.1em;
  line-height: 1.9;
  overflow: auto;
}
.hamopen {
  overflow: hidden;
  width: 100vw;
  height: 100vh;
}
a {
  text-decoration: none;
  transition: .4s;
}
a:focus-visible {
  outline: 3px solid blue !important;
  outline-offset: -1px;
  box-shadow: 0 0 0 3px white;
}
button:focus-visible {
  outline: 3px solid blue !important;
  outline-offset: -1px;
  box-shadow: 0 0 0 3px white;
}
ul, ol {
  list-style: none;
  padding: 0;
}
/*main section*/
main {
  display: block;
  position: relative;
}
main section {
  padding: 100px 0 115px;
  position: relative;
}
@media (max-width: 550px) {
  main section {
    padding: 55px 0;
  }
}
.pdb {
  padding-bottom: 55px !important;
}
.pdb0 {
  padding-bottom: 1px !important;
}
@media (max-width: 550px) {
  .pdb {
    padding-bottom: 20px !important;
  }
}
/*img*/
img {
  line-height: 1;
  vertical-align: top;
  max-width: 100%;
  transition: .4s;
}
.rounded img {
  border-radius: 60% 65% 50% 45%/50% 50% 60% 70%;
}
.shadow_r img {
  box-shadow: rgba(0, 0, 0, 0.05) 12px 12px;
}
.shadow_l img {
  box-shadow: rgba(0, 0, 0, 0.05) -12px 12px;
}
/*text*/
p {
  margin-bottom: 10px;
}
.marker {
  text-decoration: underline;
  text-decoration-thickness: 0.45em;
  text-decoration-color: rgba(255, 239, 135, 0.55);
  text-underline-offset: -0.05em;
  text-decoration-skip-ink: none;
}
/*中央寄せ*/
.center {
  text-align: center;
}
@media (max-width:750px) {
  .spcenter {
    text-align: center !important;
  }
}
.fitc {
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
/* 見出し */
/*01*/
.maintitle {
  margin-bottom: 47px;
  display: block;
  text-align: center;
  line-height: 1.85;
  position: relative;
  font-size: clamp(1.8rem, 1.05rem + 2.4vw, 2.4rem);
  font-weight: 700;
}
.maintitle .mf {
  font-size: 48%;
  display: inline-block;
  text-align: center;
  text-transform: uppercase;
  position: relative;
  margin-bottom: 3px;
  padding: 10px 15px 15px;
  border-radius: 40% 40% 58% 42% / 30% 60% 45% 70%;
}
.maintitle .sf {
  font-weight: 800;
  font-family: "M PLUS Rounded 1c", serif;
  padding-bottom: 5px;
  text-shadow: 1px 1px 0px #fff, -1px 1px 0px #fff, 1px -1px 0px #fff, -1px -1px 0px #fff, 1px 0px 0px #fff, 0px 1px 0px #fff, -1px 0px 0px #fff, 0px -1px 0px #fff;
}
.bg_gray .maintitle .sf {
  text-shadow: 1px 1px 0px #fcfaf2, -1px 1px 0px #fcfaf2, 1px -1px 0px #fcfaf2, -1px -1px 0px #fcfaf2, 1px 0px 0px #fcfaf2, 0px 1px 0px #fcfaf2, -1px 0px 0px #fcfaf2, 0px -1px 0px #fcfaf2;
}
.maintitle.mtleft {
  text-align: left;
}
.txtmgb {
  margin-bottom: 30px !important;
}
/*02*/
.mtitle {
  font-weight: 700;
  position: relative;
  border-radius: 3px;
  margin-bottom: 15px;
  font-size: clamp(1.15rem, 0.91rem + 0.8533vw, 1.55rem);
  line-height: 1.5;
  color: #fff;
  padding: 14px 25px 15px 12px;
  border-left: 6px solid rgba(255, 255, 255, 0.6);
}
.mtitle::after {
  content: '';
  width: 20px;
  height: 2px;
  border-radius: 3px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.6);
  pointer-events: none;
}
/*03*/
.stitle {
  font-weight: 700;
  font-size: clamp(1.15rem, 0.775rem + 1.2vw, 1.45rem);
  padding-left: 2px;
  line-height: 1.7;
  padding-bottom: 12px;
  margin-bottom: 15px;
  border-bottom: 2px dotted #ddd;
}
.stitle .en {
  text-transform: uppercase;
  display: block;
  font-size: 55%;
}
/* ボタン */
.mainbtn a {
  display: inline-block;
  overflow: hidden;
  position: relative;
  text-align: center;
  padding: 24px 0;
  width: 260px;
  border-radius: 50px;
}
section .mainbtn a::before {
  font-family: "Font Awesome 6 Free";
  content: "\f30b";
  font-weight: bold;
  position: relative;
  top: 0.1em;
  line-height: 1;
  margin-right: 3px;
  font-size: 130%;
}
/**/
.tbtn {
  margin-top: 37px;
}
/**/
.btnflex {
  margin-left: auto;
  margin-right: auto;
}
.btnflex a {
  margin: 1px 7px;
}
@media (max-width: 750px) {
  .mainbtn a {
    max-width: 230px;
    width: 100%;
    padding: 20px 0;
  }
  .tbtn {
    margin-top: 30px;
  }
}
/* flex要素 */
.flexbox {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.aic {
  align-items: center;
}
.reverse {
  flex-direction: row-reverse;
}
@media (max-width: 750px) {
  .flexbox {
    display: block;
  }
  .flexbox img {
    width: 100%;
  }
  .flexbox div {
    width: 100%;
  }
  .spmgb {
    margin-bottom: 35px;
  }
  .spmgb02 {
    margin-bottom: 20px;
  }
}
/* 幅 */
.inner {
  width: 88%;
  max-width: 1300px;
  margin: 0 auto;
}
@media (min-width: 2000px) {
  .inner02 {
    max-width: 1500px;
    width: 92%;
    margin: 0 auto;
  }
}
@media (max-width: 1999px) {
  .inner02 {
    max-width: 100%;
    width: 100%;
  }
  .mauto {
    margin-left: auto;
    margin-right: auto;
  }
  .mauto.w48 {
    width: 42%;
  }
  .mauto.w43 {
    width: 37%;
  }
}
@media (max-width: 750px) {
  .inner02 {
    width: 88%;
    margin: 0 auto;
  }
  .mauto.w48, .mauto.w43 {
    width: 100%;
  }
}
.w65 {
  width: 65%;
}
.w57 {
  width: 57%;
}
.w52 {
  width: 52%;
}
.w48 {
  width: 48%;
}
.w43 {
  width: 43%;
}
.w39 {
  width: 39%;
}
.w32 {
  width: 32%;
}
/*background*/
.bg_gray::before {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #fcfaf2;
  z-index: -100;
}
/*illust*/
.bg01::after {
  pointer-events: none;
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: url(../img/_bg/01a.svg), url(../img/_bg/01b.svg);
  background-repeat: no-repeat;
  background-position: top -1px right -1px, bottom -1px left -1px;
  background-size: 23%;
  z-index: -1;
  opacity: 0.63;
}
.pop .inner::after {
  pointer-events: none;
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: url(../img/_bg/pop_a.svg), url(../img/_bg/pop_b.svg);
  background-repeat: no-repeat;
  background-position: top left, bottom right;
  background-size: 340px;
  z-index: -1;
  opacity: 0.63;
}
.bg01.pop .inner::after {
  background-size: 33%;
}
/**/
.bg02::after, .bg03::after {
  pointer-events: none;
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background-repeat: no-repeat !important;
  background-position: top 10px left 10px, bottom -1px right -1px !important;
  background-size: 290px, 400px !important;
  z-index: -1;
  opacity: 0.63;
}
.bg02::after {
  background: url(../img/_bg/02a.svg), url(../img/_bg/02b.svg);
}
.bg03::after {
  background: url(../img/_bg/03a.svg), url(../img/_bg/03b.svg);
}
/**/
.bg04::after, .bg05::after, .bg06::after, .bg07::after, .bg09::after, .bg10::after {
  pointer-events: none;
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background-repeat: no-repeat !important;
  z-index: -1;
  opacity: 0.57;
}
.bg04::after {
  background: url(../img/_bg/04.svg);
  background-size: 25% !important;
  background-position: top 5px left 5px !important;
}
.bg05::after {
  background: url(../img/_bg/05.svg);
  background-size: 30% !important;
  background-position: top -5px left -5px !important;
}
.bg06::after {
  background: url(../img/_bg/02b.svg);
  background-size: 30% !important;
  background-position: bottom -5px right -5px !important;
}
.bg07::after {
  background: url(../img/_bg/07.svg);
  background-size: 30% !important;
  background-position: top -5px left -5px !important;
}
.bg09::after {
  background: url(../img/_bg/09.svg);
  background-size: 20% !important;
  background-position: top -5px left -5px !important;
}
.bg10::after {
  background: url(../img/_bg/10.svg);
  background-size: 20% !important;
  background-position: top 5px left 5px !important;
}
.bg08::after {
  pointer-events: none;
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: url(../img/_bg/pop_a.svg), url(../img/_bg/pop_b.svg);
  background-repeat: no-repeat;
  background-position: top left, bottom right;
  background-size: 340px;
  z-index: -1;
  opacity: 0.63;
}
.bg08_shape::after {
  pointer-events: none;
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: url(../img/_bg/08a.svg), url(../img/_bg/08b.svg);
  background-repeat: no-repeat;
  background-position: top right, bottom left;
  background-size: 340px;
  z-index: -1;
  opacity: 0.7;
}
@media (max-width: 550px) {
  .bg01::after {
    background-size: 120px;
  }
  .pop .inner::after {
    background-size: 170px;
  }
  .bg01.pop .inner::after {
    background-position: top left, bottom 20% right;
  }
  .bg02::after, .bg03::after {
    background-size: 130px, 180px !important;
  }
  .bg04::after, .bg05::after, .bg06::after, .bg07::after {
    background-size: 190px !important;
  }
  .bg08::after {
    background-size: 170px;
  }
  .bg08_shape::after {
    background-size: 135px;
  }
  .bg09::after, .bg10::after {
    background-size: 130px !important;
  }
}
/*反転*/
.bgx::before, .bgx::after {
  pointer-events: none;
  transform: scaleX(-1);
}
.bgy::before, .bgy::after {
  pointer-events: none;
  transform: scaleY(-1);
}
.bgxy::before, .bgxy::after {
  pointer-events: none;
  transform: scaleX(-1) scaleY(-1);
}
/* 色 ======================*/
/*ピンク==========*/
span.pink, .pink .stitle .en {
  color: #ff9999;
}
.pink .mf {
  background: #ffd6d6;
}
.pink .sf {
  border-bottom: 4px solid #ffd6d6;
}
.pink a {
  border: 2px solid #ff9999;
  color: #fff;
  background: #ff9999;
}
.pink a:hover {
  color: #ff9999;
  background: #fff;
}
/*box-shadow*/
.pink.shadow_r img {
  box-shadow: #ffd6d6 12px 12px;
}
.pink.shadow_l img {
  box-shadow: #ffd6d6 -12px 12px;
}
.pink.shadow_r img, .pink.shadow_l img {
  border: 4px solid #ffd6d6;
}
.pink .stitle {
  border-bottom: 2px dotted #ff9999;
}
.pink .mtitle {
  background: #ff9999;
}
/*オレンジ=========*/
span.orange, .orange .stitle .en {
  color: #fcad62;
}
.orange .mf {
  background: #ffe5cc;
}
.orange .sf {
  border-bottom: 4px solid #ffe5cc;
}
.orange a {
  border: 2px solid #fcad62;
  color: #fff;
  background: #fcad62;
}
.orange a:hover {
  color: #fcad62;
  background: #fff;
}
/*box-shadow*/
.orange.shadow_r img {
  box-shadow: #ffe5cc 12px 12px;
}
.orange.shadow_l img {
  box-shadow: #ffe5cc -12px 12px;
}
.orange.shadow_r img, .orange.shadow_l img {
  border: 4px solid #ffe5cc;
}
.orange .stitle {
  border-bottom: 2px dotted #fcad62;
}
.orange .mtitle {
  background: #fcad62;
}
/*緑==============*/
span.green, .green .stitle .en {
  color: #53d493;
}
.green .mf {
  background: #c6f5dd;
}
.green .sf {
  border-bottom: 4px solid #c6f5dd;
}
.green a {
  border: 2px solid #53d493;
  color: #fff;
  background: #53d493;
}
.green a:hover {
  color: #53d493;
  background: #fff;
}
/*box-shadow*/
.green.shadow_r img {
  box-shadow: #c6f5dd 12px 12px;
}
.green.shadow_l img {
  box-shadow: #c6f5dd -12px 12px;
}
.green.shadow_r img, .green.shadow_l img {
  border: 4px solid #c6f5dd;
}
.green .stitle {
  border-bottom: 2px dotted #53d493;
}
.green .mtitle {
  background: #53d493;
}
/*青==============*/
span.blue, .blue .stitle .en {
  color: #82c1ff;
}
.blue .mf {
  background: #c2e1ff;
}
.blue .sf {
  border-bottom: 4px solid #c2e1ff;
}
.blue a {
  border: 2px solid #82c1ff;
  color: #fff;
  background: #82c1ff;
}
.blue a:hover {
  color: #82c1ff;
  background: #fff;
}
/*box-shadow*/
.blue.shadow_r img {
  box-shadow: #c2e1ff 12px 12px;
}
.blue.shadow_l img {
  box-shadow: #c2e1ff -12px 12px;
}
.blue.shadow_r img, .blue.shadow_l img {
  border: 4px solid #c2e1ff;
}
.blue .stitle {
  border-bottom: 2px dotted #82c1ff;
}
.blue .mtitle {
  background: #82c1ff;
}
/*紫==============*/
span.purple, .purple .stitle .en {
  color: #ce9eff;
}
.purple .mf {
  background: #e7cfff;
}
.purple .sf {
  border-bottom: 4px solid #e7cfff;
}
.purple a {
  border: 2px solid #ce9eff;
  color: #fff;
  background: #ce9eff;
}
.purple a:hover {
  color: #ce9eff;
  background: #fff;
}
/*box-shadow*/
.purple.shadow_r img {
  box-shadow: #e7cfff 12px 12px;
}
.purple.shadow_l img {
  box-shadow: #e7cfff -12px 12px;
}
.purple.shadow_r img, .purple.shadow_l img {
  border: 4px solid #e7cfff;
}
.purple .stitle {
  border-bottom: 2px dotted #ce9eff;
}
.purple .mtitle {
  background: #ce9eff;
}
/* アニメーション ============*/
/* flowup */
.flowup {
  opacity: 0;
  transform: translateY(15px);
  transition: opacity 1.3s, transform 1.3s;
  transition-delay: 0.35s;
}
.flowup.inview {
  opacity: 1;
  transform: translateY(0);
}
/*delay*/
.delay01 {
  transition-delay: 0.45s;
}
.delay02 {
  transition-delay: 0.6s;
}
@media (max-width: 750px) {
  .delay01, .delay02 {
    transition-delay: 0.3s !important;
  }
}
/*=== 共通部分ここまで ===*/
/* header ================================================*/
.header_sticky {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  background: transparent;
}
.header {
  transition: all .5s;
  width: 100%;
  z-index: 100;
  position: relative;
}
.hwrap {
  position: relative;
  width: 97%;
  margin: 0 auto;
}
.header_inner {
  width: fit-content;
  margin-left: auto;
  display: flex;
  align-items: center;
}
/*logo*/
.header h1 {
  transition: .3s;
  z-index: 110;
}
.header_title a {
  position: absolute;
  top: -1px;
  left: 0;
  display: block;
  padding: 23px 20px;
  padding-top: 15px;
  border-radius: 0 0 10px 10px;
  line-height: 0;
  transition: .3s all;
}
.header_title a img {
  position: relative;
  top: -4px;
  width: 285px;
}
/*menu*/
.header ul {
  display: flex;
  text-align: center;
}
.header ul li {
  width: fit-content;
  margin-right: 18px;
  position: relative;
  line-height: 1.6;
}
.header ul li:last-child {
  margin-right: 0;
}
.header ul li a {
  display: block;
  width: 100%;
  transition: all .3s;
  position: relative;
  top: 0;
  padding: 5px 0;
  color: #333;
  line-height: 1.5;
  font-size: 1.07rem;
}
.header ul li a:hover {
  opacity: 0.6;
}
.hflex {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
}
.hnav {
  margin-top: 8px;
  margin-right: 15px;
  width: fit-content;
  border-radius: 50px;
  padding: 17px 25px 17px 27px;
  background: #fff;
  box-shadow: rgb(0 0 0 / 3%) 0px 2px 8px 0px;
}
/* btn */
.header_item .mainbtn {
  margin: -5px 3.5px 0;
}
.header_item .mainbtn a {
  text-align: center;
  width: fit-content;
  line-height: 1.55;
  padding: 17px 10px;
  font-size: 0.9rem;
  color: #fff;
  background: #ff9999;
  border-radius: 0 0 20px 20px;
  border: 2px solid #ffa15c;
}
.header_item .mainbtn a:hover {
  color: #ff9999;
  background: #fff;
  transform: scale(1, 1);
}
.telbtn a {
  color: #ff9999 !important;
  background: #fff !important;
}
.telbtn a:hover {
  color: #fff !important;
  background: #ff9999 !important;
}
.header_item .mainbtn a:after {
  content: none;
}
/* 色 ==============================*/
/*
.header ul li:nth-child(5n) a {
  color: #fcad62;
}
.header ul li:nth-child(5n+4) a {
  color: #82c1ff;
}
.header ul li:nth-child(5n+3) a {
  color: #53d493;
}
.header ul li:nth-child(5n+2) a {
  color: #ce9eff;
}
.header ul li:nth-child(5n+1) a {
  color: #ff9999;
}
*/
/* btn ============================*/
.hflex .header_item .mainbtn:nth-child(5n+1) a {
  border: 2px solid #ff9999;
  color: #fff;
  background: #ff9999;
}
.hflex .header_item .mainbtn:nth-child(5n+1) a:hover {
  color: #ff9999;
  background: #fff;
}
.hflex .header_item .mainbtn:nth-child(5n+2) a {
  border: 2px solid #fcad62;
  color: #fff;
  background: #fcad62;
}
.hflex .header_item .mainbtn:nth-child(5n+2) a:hover {
  color: #fcad62;
  background: #fff;
}
.hflex .header_item .mainbtn:nth-child(5n+3) a {
  border: 2px solid #53d493;
  color: #fff;
  background: #53d493;
}
.hflex .header_item .mainbtn:nth-child(5n+3) a:hover {
  color: #53d493;
  background: #fff;
}
.hflex .header_item .mainbtn:nth-child(5n+4) a {
  border: 2px solid #82c1ff;
  color: #fff;
  background: #82c1ff;
}
.hflex .header_item .mainbtn:nth-child(5n+4) a:hover {
  color: #82c1ff;
  background: #fff;
}
.hflex .header_item .mainbtn:nth-child(5n) a {
  border: 2px solid #ce9eff;
  color: #fff;
  background: #ce9eff;
}
.hflex .header_item .mainbtn:nth-child(5n) a:hover {
  color: #ce9eff;
  background: #fff;
}
/* ドロップダウンメニュー =====*/
.menu-item-has-children {
  position: relative;
}
.menu-item-has-children a::after {
  font-family: "Font Awesome 6 Free";
  content: "\f107";
  font-weight: bold;
  font-size: 95%;
  color: #b0b0b0;
  margin-left: 4px;
}
.sub-menu a::after {
  content: none;
}
.sub-menu {
  position: absolute;
  top: 44px; /**/
  left: 50%;
  transform: translateX(-50%);
  width: 170px;
  opacity: 0;
  visibility: hidden;
  transition: .1s;
  z-index: 4;
  flex-direction: column;
}
.sub-menu::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: -18px;
  left: 50%;
  transform: translateX(-50%);
}
.sub-menu li {
  border: none !important;
  margin: 0 !important;
  margin-bottom: 5px !important;
  width: 100% !important;
  position: relative;
}
.sub-menu li:last-child {
  border-bottom: none;
}
.sub-menu li::after {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border: 2px solid #f5f1e1; /*#f7f2df*/
  background: #fcfaf2;
  z-index: -100;
  transition: .3s all;
  border-radius: 7px;
}
.sub-menu li:hover::after {
  background: #f5f1e1;
}
.sub-menu a {
  display: block;
  opacity: 1 !important;
  color: #333 !important;
  font-size: 0.9rem !important;
  padding: 17px 0 !important;
}
/* ホバー＆フォーカスで子メニュー表示 */
/* Display sub menu by hover & focus */
.menu-item-has-children ul {
  transition: .4s all;
  transform: scale(1, 0) translateX(-50%);
  transform-origin: top;
}
.menu-item-has-children:hover ul, .menu-item-has-children ul.focused {
  opacity: 1;
  visibility: visible;
  transform: scale(1) translateX(-50%);
}
/* hamburger =================*/
.header__inner {
  display: none;
}
.hamburger {
  position: fixed;
  display: block;
  height: 53px;
  z-index: 9999;
  width: 57px;
  border: none;
  background-color: transparent;
}
.hamburger::before {
  content: "";
  background: #ff9999;
  border: 2px solid rgba(255, 255, 255, 0.4);
  border-radius: 50px;
  width: 74px;
  height: 74px;
  position: absolute;
  top: 48%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.hamburger__line {
  display: block;
  height: 3px;
  position: absolute;
  top: 23px;
  left: 50%;
  transform: translateX(-50%);
  width: 42px;
  border-radius: 10px;
  transition: 0.4s;
}
.hamburger__line:before, .hamburger__line:after {
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  width: 100%;
  transition: inherit;
  border-radius: 10px;
}
.hamburger__line, .hamburger__line:before, .hamburger__line:after {
  background: #fff;
}
.hamburger.-active .hamburger__line {
  background-color: transparent;
}
.hamburger.-active .hamburger__line::before {
  top: 0;
  transform: rotate(45deg);
}
.hamburger.-active .hamburger__line::after {
  top: 0;
  transform: rotate(-45deg);
}
.hamburger__line:before {
  top: -9.5px;
}
.hamburger__line:after {
  top: 9.5px;
}
/*
.hamburger__text {
	position: absolute;
	bottom: -8px;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
}
.hamburger.-active .hamburger__text::before {
	content: 'close';
}
.hamburger__text::before {
	content: "menu";
	text-align: center;
	font-size: 19px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
*/
.header {
  width: 100%;
}
.header__nav-area {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  height: 100vh;
  width: 100%;
  visibility: hidden;
  background: #fcfaf2;
  opacity: 0;
  transition: 0.4s;
  overflow-y: scroll;
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none;
}
.header__nav-area::after {
  pointer-events: none;
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: url(../img/_bg/navarea.svg);
  background-repeat: no-repeat;
  background-position: top -1px left -1px;
  background-size: 50%;
  z-index: -1;
  opacity: 0.63;
}
.header__nav-area.-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.global-navigation {
  margin: auto;
  height: fit-content;
  width: 85%;
  padding: 65px 0 120px;
}
.global-navigation__list {
  margin-bottom: 35px;
}
.global-navigation__list > li {
  margin: 3px 0;
  display: block;
  padding: 15px 5px;
  border-bottom: 2px dotted #ddd;
  font-size: 1.1rem;
}
.global-navigation__list > li a, .global-navigation__list li button {
  display: inline-block;
  width: 100%;
  color: #333;
  line-height: 1.3;
}
.global-navigation__link.-active::after {
  transform: translateY(-50%) rotate(-90deg);
}
/*accordion menu*/
.accordion__list li a {
  font-size: 85%;
  color: #333 !important;
}
.accordion__list li + li {
  margin-top: 3px;
}
.accordion__list li a::before {
  display: inline-block;
  font-family: "Font Awesome 6 Free";
  content: "\f105";
  font-weight: bold;
  margin-right: 7px;
  font-size: 0.6rem;
  transform: translateY(-2px);
  color: #b0b0b0;
}
.accordion {
  height: 0;
  overflow: hidden;
  visibility: hidden;
  transition: 0.4s;
}
.accordion.-active {
  height: auto;
  padding-top: 13px;
  visibility: visible;
}
.global-navigation__link.-accordion {
  position: relative;
  background: none;
  border: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  padding: 0;
  text-align: left;
  letter-spacing: 0.1em;
}
.global-navigation__link.-accordion::after {
  content: '';
  display: block;
  height: 12px;
  position: absolute;
  top: 50%;
  right: 5px;
  width: 2px;
  transform: translateY(-50%);
  transition: transform 0.4s;
}
.global-navigation__link.-accordion::before {
  content: '';
  display: block;
  height: 2px;
  position: absolute;
  top: 50%;
  right: 0;
  width: 12px;
  transform: translateY(-50%);
}
.global-navigation__link.-accordion::after, .global-navigation__link.-accordion::before {
  background-color: #b0b0b0;
}
.global-navigation__link.-active::after {
  transform: translateY(-50%) rotate(-90deg);
}
/* 色 ==============================*/
/*
.global-navigation__list li:nth-child(5n+1) a, .global-navigation__list li button:nth-child(5n) {
  color: #ff9999;
}
.global-navigation__list li:nth-child(5n+2) a, .global-navigation__list li button:nth-child(5n+4) {
  color: #fcad62;
}
.global-navigation__list li:nth-child(5n+3) a, .global-navigation__list li button:nth-child(5n+3) {
  color: #53d493;
}
.global-navigation__list li:nth-child(5n+4) a, .global-navigation__list li button:nth-child(5n+2) {
  color: #82c1ff;
}
.global-navigation__list li:nth-child(5n) a, .global-navigation__list li button:nth-child(5n+1) {
  color: #ce9eff;
}
*/
/* btn ===============================*/
.global-navigation .btnflex a:nth-child(5n+1) {
  border: 2px solid #ff9999;
  color: #fff;
  background: #ff9999;
}
.global-navigation .btnflex a:nth-child(5n+1):hover {
  color: #ff9999;
  background: #fff;
}
.global-navigation .btnflex a:nth-child(5n+2) {
  border: 2px solid #fcad62;
  color: #fff;
  background: #fcad62;
}
.global-navigation .btnflex a:nth-child(5n+2):hover {
  color: #fcad62;
  background: #fff;
}
.global-navigation .btnflex a:nth-child(5n+3) {
  border: 2px solid #53d493;
  color: #fff;
  background: #53d493;
}
.global-navigation .btnflex a:nth-child(5n+3):hover {
  color: #53d493;
  background: #fff;
}
.global-navigation .btnflex a:nth-child(5n+4) {
  border: 2px solid #82c1ff;
  color: #fff;
  background: #82c1ff;
}
.global-navigation .btnflex a:nth-child(5n+4):hover {
  color: #82c1ff;
  background: #fff;
}
.global-navigation .btnflex a:nth-child(5n) {
  border: 2px solid #ce9eff;
  color: #fff;
  background: #ce9eff;
}
.global-navigation .btnflex a:nth-child(5n):hover {
  color: #ce9eff;
  background: #fff;
}
@media (max-width: 1385px) {
  .header ul li a {
    font-size: 1.25vw;
  }
  .header_item .mainbtn a {
    font-size: 0.97vw;
  }
  .header_title a {
    padding-left: 0;
  }
  .header_title a img {
    width: 21vw;
  }
  .hwrap {
    width: 98%;
  }
}
@media (max-width: 1185px) {
  .header__inner {
    display: block;
  }
  .header_inner {
    margin: 0 auto;
    padding: 0;
  }
  .header .inner, .header_nav, .hnav, .tel, .header_insta {
    display: none;
  }
  .hwrap {
    width: 100%;
  }
  .header_title a {
    border-radius: 0 0 10px 0;
    padding: 21px 17px 19px;
  }
  .header_title a img {
    width: 245px;
  }
  .hamburger {
    top: 19px;
    right: 22px;
  }
}
@media (max-width: 550px) {
  .global-navigation__list > li {
    padding: 15px 5px 17px;
    font-size: 1rem;
  }
  .header_title a {
    padding: 17px 13px 13px 8px;
  }
  .header_title a img {
    width: 220px;
  }
  .hamburger {
    top: 12px;
    right: 12px;
  }
  .hamburger::before {
    width: 66px;
    height: 66px;
  }
  .global-navigation .btnflex a {
    font-size: 0.9rem;
  }
  .header__nav-area::after {
    background-size: 190px;
  }
}
/* footer ================================================*/
footer {
  position: relative;
}
footer::before {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #f5f1e1; /*#f2eedf*/
  z-index: -100;
}
footer::after {
  pointer-events: none;
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: url(../img/_bg/footer.svg);
  background-repeat: no-repeat;
  background-position: bottom -1px right -1px;
  background-size: 290px;
  z-index: -1;
  opacity: 0.63;
}
@media (max-width: 550px) {
  footer::after {
    background-size: 200px;
  }
}
.footer_contact {
  padding: 70px 0;
}
.footer_contact .inner {
  max-width: 1470px;
  width: 97%;
}
/*logo*/
.flogo {
  width: 100%;
  max-width: 340px;
  margin: 0 auto 45px;
}
/*box*/
.office {
  width: 24%;
  padding: 20px 20px 10px;
  background: #fcfaf2;
  border-radius: 20px;
}
@media (max-width: 1440px) {
  .footer_contact .inner {
    max-width: 1000px;
    width: 88%;
  }
  .office {
    width: 49%;
    margin-bottom: 20px;
  }
}
@media (max-width: 750px) {
  .office {
    width: 100%;
  }
  .office:last-of-type {
    margin-bottom: 0;
  }
}
@media (max-width: 550px) {
  .footer_contact {
    padding: 45px 0;
  }
  .office {
    padding: 20px 12px 10px;
  }
  .flogo {
    max-width: 230px;
    margin-bottom: 35px;
  }
}
/*title*/
.office h3 {
  font-size: clamp(1.1rem, 1.07rem + 0.1067vw, 1.15rem);
  font-weight: 700;
  margin-bottom: 2px;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.ib {
  display: inline-block;
}
/*table*/
.office table a {
  color: #333;
  white-space: nowrap;
}
.office table {
  margin-bottom: 7px;
  width: 100%;
  font-size: 90%;
  table-layout: fixed;
  border-collapse: collapse;
}
.office table tr {
  border-bottom: 2px dotted #ddd;
}
.office table th, .office table td {
  font-weight: 700;
  padding: 18px 0;
}
.office table th {
  background: transparent;
  width: 35%;
  text-align: left;
  padding-left: 7px;
}
.office table td {
  padding-left: 10px;
  padding-right: 10px;
  width: 65%;
  background: transparent;
}
/*sns icon*/
.sns {
  text-align: center;
}
.sns a {
  font-size: 1.5rem;
  display: inline-block;
  margin: 0 5px;
}
.office a:hover {
  opacity: 0.6;
}
/* 色 ======================*/
.office:nth-child(5n+1) h3 {
  color: #ff9999;
}
.office:nth-child(5n+1) .sns a {
  color: #ff9999;
}
.office:nth-child(5n+2) h3 {
  color: #fcad62;
}
.office:nth-child(5n+2) .sns a {
  color: #fcad62;
}
.office:nth-child(5n+3) h3 {
  color: #ce9eff;
}
.office:nth-child(5n+3) .sns a {
  color: #ce9eff;
}
.office:nth-child(5n+4) h3 {
  color: #82c1ff;
}
.office:nth-child(5n+4) .sns a {
  color: #82c1ff;
}
.office:nth-child(5n) h3 {
  color: #53d493;
}
.office:nth-child(5n) .sns a {
  color: #53d493;
}
/*copyright*/
.copyright {
  text-align: center;
  padding: 15px 0px;
  border-top: 2px solid rgba(0, 0, 0, 0.05);
  font-size: 0.9rem;
}
@media (max-width: 550px) {
  .copyright {
    padding: 8px 0px 11px;
    font-size: 0.7rem;
    margin-top: 30px;
  }
}
/*ページ上に戻るボタン*/
.go_top {
  display: block;
  width: 66px;
  height: 66px;
  background: #7a6f6f;
  border: 2px solid rgba(255, 255, 255, 0.3);
  padding-top: 30px;
  position: fixed;
  bottom: 20px;
  right: 30px;
  border-radius: 50px;
}
.go_top::before {
  font-family: "Font Awesome 6 Free";
  content: "\f077";
  font-weight: bold;
  color: #fff;
  font-size: 1.3rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.go_top:hover {
  opacity: 0.6;
}
.tfade {
  position: relative;
  z-index: 9;
}
@media(max-width:550px) {
  .go_top {
    right: 11px;
  }
}
/* スライド　===============================================*/
.topslide {
  position: relative;
  overflow: hidden;
}
/*img*/
.slide_items, .slide_items img {
  width: 100%;
}
/**/
.sky {
  width: 100%;
  position: relative;
  background: linear-gradient(to bottom right, #d1f4ff, #c6e4f7);
}
.sky::after {
  pointer-events: none;
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: url(../img/cloud_r.svg), url(../img/cloud_l.svg);
  background-repeat: no-repeat;
  background-position: center right, center left;
  background-size: 35%;
  z-index: 1;
}
.sky img {
  position: relative;
  z-index: 2;
}
/*飛行機*/
.contrail {
  position: absolute;
  width: 14%;
  max-width: 120px;
  top: 310px;
  left: 0;
  z-index: 1;
  animation: contrail_anim 9s 0s normal forwards;
}
@keyframes contrail_anim {
  0% {
    opacity: 0;
    transform: translateX(-100%);
  }
  30% {
    opacity: 1;
  }
  100% {
    transform: translateX(270%);
  }
}
/*catchcopy*/
.sky .catchcopy {
  padding-top: 0.7%;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  margin-top: 195px;
  margin-bottom: 25px;
  white-space: nowrap;
  text-align: center;
  font-size: 3rem;
  position: relative;
  z-index: 3;
  font-weight: 800;
  font-family: "M PLUS Rounded 1c", serif;
}
.sky .catchcopy::before, .sky .catchcopy::after {
  content: "";
  width: 13%;
  height: 100%;
  position: absolute;
  top: 0;
  background: url(../img/aboutus.svg) top center;
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 1;
}
.sky .catchcopy::before {
  left: -12%;
}
.sky .catchcopy::after {
  right: -10%;
  transform: scaleX(-1);
}
.sky .catchcopy span {
  font-size: 130%;
}
@media (max-width: 1185px) {
  .sky .catchcopy {
    margin-top: 130px;
  }
  .contrail {
    top: 240px;
  }
}
@media (max-width: 950px) {
  .sky .catchcopy {
    font-size: 6.65vw;
    padding-top: 2.5%;
  }
  .sky .catchcopy::before, .sky .catchcopy::after {
    width: 9%;
  }
  .sky .catchcopy::before {
    left: -6%;
    transform: rotate(15deg);
  }
  .sky .catchcopy::after {
    right: -6%;
    transform: rotate(-15deg) scaleX(-1);
  }
  .sky .catchcopy {
    margin-top: 180px;
  }
  .contrail {
    top: 100px;
  }
}
@media (max-width: 550px) {
  .sky::after {
    background-position: top 75px right, bottom 25% left;
  }
  .sky .catchcopy {
    margin-top: 120px;
  }
  .contrail {
    top: 80px;
  }
}
/* ひだまりについて　========================================*/
.aboutus {
  overflow-x: hidden;
}
/*text*/
.au_text {
  margin: auto;
  /*width: 62%;*/
  max-width: 750px;
  position: relative;
  z-index: 1;
}
.au_text .sf, .au_text p {
  filter: drop-shadow(0 0 3px rgba(255, 255, 255, 0.6));
  text-shadow: 1px 1px 0px #fff, -1px 1px 0px #fff, 1px -1px 0px #fff, -1px -1px 0px #fff, 1px 0px 0px #fff, 0px 1px 0px #fff, -1px 0px 0px #fff, 0px -1px 0px #fff;
}
.au_str {
  font-size: clamp(1.2rem, 0.93rem + 0.96vw, 1.65rem);
  text-align: center;
  margin-bottom: 20px;
  line-height: 1.7;
  position: relative;
}
/*
.au_str::before, .au_str::after {
  font-family: "Font Awesome 6 Free";
  font-weight: bold;
  position: absolute;
  z-index: -1;
  color: #ffe5cc;
}
.au_str::before {
  content: "\f10d";
  top: 0;
  left: -6%;
}
.au_str::after {
  content: "\f10e";
  bottom: 0;
  right: -8%;
}
*/
/*img*/
.au_imgs {
  display: contents;
}
.au_imgs .auimg {
  position: absolute;
}
.au_imgs .auimg:nth-child(1) {
  top: 55px;
  left: 3%;
  width: 415px;
}
.au_imgs .auimg:nth-child(2) {
  top: 55px;
  right: 8%;
  width: 330px;
}
.au_imgs .auimg:nth-child(3) {
  bottom: 55px;
  left: 0;
  width: 330px;
}
.au_imgs .auimg:nth-child(4) {
  bottom: 55px;
  right: 0;
  width: 415px;
}
/*
@media (max-width: 1700px) {
  .au_imgs .auimg:nth-child(1), .au_imgs .auimg:nth-child(4) {
    width: 21%;
  }
  .au_imgs .auimg:nth-child(2), .au_imgs .auimg:nth-child(3) {
    width: 17%;
  }
  .au_imgs .auimg:nth-child(1), .au_imgs .auimg:nth-child(2) {
    top: 4vw;
  }
  .au_imgs .auimg:nth-child(3), .au_imgs .auimg:nth-child(4) {
    bottom: 5vw;
  }
}
@media (max-width: 1620px) {
  .au_imgs .auimg img {
    object-fit: cover;
    width: 100%;
    height: 15.5vw;
  }
}
*/
@media (max-width: 1630px) {
  .au_imgs .auimg:nth-child(1) {
    left: -5%;
  }
  .au_imgs .auimg:nth-child(2) {
    right: -1%;
  }
  .au_imgs .auimg:nth-child(3) {
    left: -5%;
  }
  .au_imgs .auimg:nth-child(4) {
    right: -5%;
  }
}
@media (max-width: 1410px) {
  .au_imgs .auimg:nth-child(1), .au_imgs .auimg:nth-child(4) {
    width: 30vw;
  }
  .au_imgs .auimg:nth-child(2), .au_imgs .auimg:nth-child(3) {
    width: 24vw;
  }
}
@media (max-width: 1185px) {
  .aboutus {
    padding: 75px 0 110px;
  }
  .au_imgs {
    margin-top: 55px;
    display: block;
    position: relative;
    height: 80vw;
  }
  .au_imgs .auimg:nth-child(1) {
    width: 51%;
  }
  .au_imgs .auimg:nth-child(2), .au_imgs .auimg:nth-child(3) {
    width: 37%;
  }
  .au_imgs .auimg:nth-child(4) {
    width: 56%;
  }
  .au_imgs .auimg:nth-child(1) {
    top: 0;
    left: 0;
  }
  .au_imgs .auimg:nth-child(2) {
    top: 8%;
    right: 3%;
  }
  .au_imgs .auimg:nth-child(3) {
    bottom: 8%;
    left: 3%;
  }
  .au_imgs .auimg:nth-child(4) {
    bottom: -4%;
    right: 0;
  }
  .au_imgs .pink.shadow_r img {
    box-shadow: #ffd6d6 1.5vw 1.5vw;
  }
  .au_imgs .pink.shadow_l img {
    box-shadow: #ffd6d6 -1.5vw 1.5vw;
  }
  .au_imgs .orange.shadow_r img {
    box-shadow: #ffe5cc 1.5vw 1.5vw;
  }
  .au_imgs .orange.shadow_l img {
    box-shadow: #ffe5cc -1.5vw 1.5vw;
  }
  .au_imgs .green.shadow_r img {
    box-shadow: #c6f5dd 1.5vw 1.5vw;
  }
  .au_imgs .green.shadow_l img {
    box-shadow: #c6f5dd -1.5vw 1.5vw;
  }
  .au_imgs .blue.shadow_r img {
    box-shadow: #c2e1ff 1.5vw 1.5vw;
  }
  .au_imgs .blue.shadow_l img {
    box-shadow: #c2e1ff -1.5vw 1.5vw;
  }
  .au_imgs .purple.shadow_r img {
    box-shadow: #e7cfff 1.5vw 1.5vw;
  }
  .au_imgs .purple.shadow_l img {
    box-shadow: #e7cfff -1.5vw 1.5vw;
  }
}
@media (max-width: 550px) {
  .aboutus {
    padding: 60px 0 50px;
  }
  .au_str {
    margin-bottom: 15px;
    text-align: left;
  }
  .au_str br {
    display: none;
  }
  .au_imgs {
    margin-top: 37px;
  }
}
/* 施設・サービス　========================================*/
.fs_sec .inner {
  max-width: 1700px;
  width: 97%;
}
.fsbox {
  width: 23.5%;
  display: flex;
}
.fsbox a {
  display: flex;
  flex-direction: column;
  position: relative;
  color: #333;
  transition: .6s all;
}
.fsbox a:hover {
  transform: scale(1.02);
}
/*title*/
.fsbox h2 {
  font-size: 1.75rem;
  white-space: nowrap;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  padding: 10px 7px;
  background: #fff;
  position: absolute;
  top: 10px;
  right: 15px;
  border-radius: 7px;
  line-height: 1.3;
}
/*
.fsbox h2 span {
  display: block;
  font-size: 60%;
}
*/
/*img*/
.fsimg img {
  border-radius: 10px 10px 0 0;
}
/*text*/
.fstext {
  height: 100%;
  display: flex;
  flex-direction: column;
  background: #fff;
  padding: 20px;
  border-radius: 0 0 10px 10px;
}
.fstext div {
  padding-right: 57px;
  margin-bottom: 20px;
}
.sercat {
  font-weight: 700;
  line-height: 1.65;
  font-size: clamp(1.1rem, 1.07rem + 0.1067vw, 1.15rem);
}
/*詳しくはこちら*/
.rm {
  margin-left: auto;
  margin-top: auto;
  border-bottom: 2px dotted #ddd;
  width: fit-content;
}
.rm::before {
  font-family: "Font Awesome 6 Free";
  content: "\f30b";
  font-weight: bold;
  line-height: 1;
  margin-right: 3px;
}
@media (max-width:1400px) {
  .fs_sec .inner {
    max-width: 1000px;
    width: 88%;
  }
  .fsbox {
    width: 48%;
    margin-bottom: 40px;
  }
}
@media (max-width:750px) {
  .fsbox {
    width: 100%;
  }
  .fsbox:last-of-type {
    margin-bottom: 0;
  }
}
@media (max-width:550px) {
  .fsbox h2 {
    font-size: 1.45rem;
  }
  .fstext div {
    padding-right: 45px;
  }
}
/* 色 =====================*/
/*ピンク==========*/
.fsbox:nth-child(5n+1) h2 {
  background: #ffd6d6;
}
.fsbox:nth-child(5n+1) .sercat, .fsbox:nth-child(5n+1) .rm {
  color: #ff9999;
}
.fsbox:nth-child(5n+1) .rm {
  border-bottom: 2px dotted #ffd6d6;
}
/*オレンジ=========*/
.fsbox:nth-child(5n+2) h2 {
  background: #ffe5cc;
}
.fsbox:nth-child(5n+2) .sercat, .fsbox:nth-child(5n+2) .rm {
  color: #fcad62;
}
.fsbox:nth-child(5n+2) .rm {
  border-bottom: 2px dotted #ffddbd;
}
/*紫==============*/
.fsbox:nth-child(5n+3) h2 {
  background: #e7cfff;
}
.fsbox:nth-child(5n+3) .sercat, .fsbox:nth-child(5n+3) .rm {
  color: #ce9eff;
}
.fsbox:nth-child(5n+3) .rm {
  border-bottom: 2px dotted #e7cfff;
}
/*青==============*/
.fsbox:nth-child(5n+4) h2 {
  background: #c2e1ff;
}
.fsbox:nth-child(5n+4) .sercat, .fsbox:nth-child(5n+4) .rm {
  color: #82c1ff;
}
.fsbox:nth-child(5n+4) .rm {
  border-bottom: 2px dotted #c2e1ff;
}
/*緑==============*/
.fsbox:nth-child(5n) h2 {
  background: #c6f5dd;
}
.fsbox:nth-child(5n) .sercat, .fsbox:nth-child(5n) .rm {
  color: #53d493;
}
.fsbox:nth-child(5n) .rm {
  border-bottom: 2px dotted #c6f5dd;
}
/* 250220 修正分 =========================================*/
.facilities .inner {
  max-width: 1220px;
}
.faci {
  background: #fff;
  overflow: hidden;
  border-radius: 10px;
  display: flex;
  justify-content: space-between;
  color: #333;
  margin-bottom: 35px;
  transition: .6s all;
}
.faci:last-of-type {
  margin-bottom: 0 !important;
}
.faci:nth-child(2n+1) {
  flex-direction: row-reverse;
}
.faci:hover {
  transform: scale(1.02);
}
/*img*/
.fleximg {
  display: flex;
}
.fleximg img {
  object-fit: cover;
  height: auto;
  width: 100%;
}
.faci .fleximg {
  width: 43%;
}
/*tetx*/
.faci h2 {
  font-size: clamp(1.3rem, 1.06rem + 0.8533vw, 1.7rem);
  padding: 5px 10px;
  border-radius: 7px;
  font-weight: 700;
  width: fit-content;
  margin-bottom: 20px;
  line-height: 1.4;
}
.facitext {
  width: 57%;
  padding: 25px;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width:750px) {
  .faci {
    display: block;
  }
  .faci .fleximg, .facitext {
    width: 100%;
  }
}
@media (max-width:550px) {
  .faci h2 {
    margin-bottom: 15px;
  }
  .facitext {
    padding: 13px;
  }
}
/* 色 ============================*/
/*緑==============*/
.faci:nth-child(5n+1) h2 {
  background: #c6f5dd;
}
.faci:nth-child(5n+1) .rm {
  color: #53d493;
  border-bottom: 2px dotted #c6f5dd;
}
.faci:nth-child(5n+1) .sercat {
  color: #53d493;
}
/*ピンク==========*/
.faci:nth-child(5n+2) h2 {
  background: #ffd6d6;
}
.faci:nth-child(5n+2) .rm {
  color: #ff9999;
  border-bottom: 2px dotted #ffd6d6;
}
.faci:nth-child(5n+2) .sercat {
  color: #ff9999;
}
/*オレンジ=========*/
.faci:nth-child(5n+3) h2 {
  background: #ffe5cc;
}
.faci:nth-child(5n+3) .rm {
  color: #fcad62;
  border-bottom: 2px dotted #ffddbd;
}
.faci:nth-child(5n+3) .sercat {
  color: #fcad62;
}
/*紫==============*/
.faci:nth-child(5n+4) h2 {
  background: #e7cfff;
}
.faci:nth-child(5n+4) .rm {
  color: #ce9eff;
  border-bottom: 2px dotted #e7cfff;
}
.faci:nth-child(5n+4) .sercat {
  color: #ce9eff;
}
/*青==============*/
.faci:nth-child(5n) h2 {
  background: #c2e1ff;
}
.faci:nth-child(5n) .rm {
  color: #82c1ff;
  border-bottom: 2px dotted #c2e1ff;
}
.faci:nth-child(5n) .sercat {
  color: #82c1ff;
}
/* スタッフ募集中！　========================================*/
.recruit .inner {
  max-width: 1243px;
}
.rec_str {
  margin-bottom: 15px;
  text-align: center;
  line-height: 1.65;
  font-size: clamp(1.2rem, 1.17rem + 0.1067vw, 1.25rem);
}
@media (max-width:1400px) {
  .rec_str {
    text-align: left;
  }
}
@media (max-width:750px) {
  .SP_displayContents .inner, .SP_displayContents .inner02 {
    display: flex;
    flex-direction: column;
  }
  .SP_displayContents .flexbox, .SP_dc {
    display: contents;
  }
  .SP_displayContents .SP_dc_title {
    order: -1;
  }
  .SP_dc_title.maintitle {
    margin-bottom: 45px !important;
  }
}
/* 下層ページトップ ==================================================================================================*/
.fvwrap {
  padding-top: 105px;
  position: relative;
}
.fv {
  padding: 85px 0 100px;
  width: 94%;
  max-width: 1600px;
  margin: auto;
  display: flex;
  align-items: center;
  flex-direction: column;
  position: relative;
  border-radius: 30px;
  overflow: hidden;
  background: linear-gradient(to bottom right, #d1f4ff, #c6e4f7);
}
.fv::after {
  pointer-events: none;
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: url(../img/cloud_r.svg), url(../img/cloud_l.svg);
  background-repeat: no-repeat;
  background-position: top right, bottom left;
  background-size: 25%;
  z-index: 1;
}
/*飛行機*/
.fv::before {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  right: 0;
  background-image: url("../img/contrail.svg");
  background-repeat: no-repeat;
  background-size: 110px;
  z-index: 2;
  animation: loop 33s linear infinite;
}
@keyframes loop {
  0% {
    background-position: left -10% bottom 5%;
  }
  100% {
    background-position: right -10% bottom 50%;
  }
}
/**/
.fv .inner {
  max-width: 95%;
  position: relative;
  z-index: 3;
}
.fv h2 {
  margin: 0 !important;
  text-align: center;
  font-size: clamp(1.5rem, 0.25rem + 4vw, 2.5rem);
  line-height: 1.5;
  position: relative;
  color: #333;
  font-weight: 800;
  font-family: "M PLUS Rounded 1c", serif;
}
@media(max-width:1185px) {
  .fvwrap {
    padding-top: 95px;
  }
  .fv {
    padding: 68px 0 80px;
  }
  @keyframes loop {
    0% {
      background-position: left -30% bottom 5%;
    }
    100% {
      background-position: right -30% bottom 50%;
    }
  }
}
@media(max-width:550px) {
  .fvwrap {
    padding-top: 75px;
  }
  .fv {
    padding: 35px 0;
    border-radius: 20px;
  }
  .fv::after {
    background-size: 110px;
  }
  .fv::before {
    background-size: 50px;
    animation: loop 18s linear infinite;
  }
  @keyframes loop {
    0% {
      background-position: left -50% bottom 5%;
    }
    100% {
      background-position: right -50% bottom 50%;
    }
  }
}
/* breadcrumb */
.binner {
  line-height: 1.3;
  width: 97%;
  font-size: clamp(0.75rem, 0.6rem + 0.5333vw, 1rem);
  position: relative;
  z-index: 3;
}
.breadcrumb {
  z-index: 1;
  background: transparent;
  position: relative;
  top: 5px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  text-align: center;
}
.breadcrumb li {
  display: inline;
  list-style: none;
}
.breadcrumb li:after {
  content: '>';
  position: relative;
  top: -0.1em;
}
.breadcrumb li:last-child:after {
  content: none;
}
.breadcrumb li a {
  text-decoration: none;
  color: #333;
}
.breadcrumb li:first-child a::before {
  font-family: "Font Awesome 6 Free";
  content: '\f015';
  font-weight: bold;
  font-size: 90%;
  position: relative;
  top: -0.05em;
}
/* 通所介護・地域密着型通所介護ページ ================================================================================================*/
.name_flex {
  display: flex;
  justify-content: space-between;
  max-width: 950px;
  margin: 0 auto 30px;
}
.name_flex .fname {
  width: 50%;
  text-align: center;
  white-space: nowrap;
}
.fname p {
  margin-bottom: 0;
}
/*施設名とキャッチコピー*/
/*キャッチコピー*/
.fname p:nth-child(1) {
  font-size: 70%;
  text-align: center;
  line-height: 1.5;
  margin-right: 10px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 144px;
  height: 111px;
}
.fname p:nth-child(1)::before, .fname p:nth-child(1)::after {
  pointer-events: none;
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: url(../img/recruit_bg.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  z-index: -1;
  opacity: 0.3;
}
.fname p:nth-child(1)::before {
  z-index: -2;
  transform: scaleX(-1) scaleY(-1);
}
/*施設名*/
.fname div {
  font-size: 1.4rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: fit-content;
  margin: auto;
  margin-bottom: 5px;
}
.fname p:nth-child(2) {
  line-height: 1.2;
}
.fname p .bi {
  display: block;
  font-size: 265%;
}
/*デイサービス種類*/
.type {
  color: #fff;
  font-size: clamp(0.9rem, 0.66rem + 0.8533vw, 1.3rem);
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  border-radius: 100px;
  padding: 7px 15px 10px;
}
/* color ============*/
.pink .type {
  background: #ff9999;
}
.pink p:nth-child(1)::before, .pink p:nth-child(1)::after {
  filter: invert(78%) sepia(45%) saturate(675%) hue-rotate(301deg) brightness(118%) contrast(130%);
}
.pink .bi {
  color: #ff9999;
}
/**/
.orange .type {
  background: #fcad62;
}
.orange p:nth-child(1)::before, .orange p:nth-child(1)::after {
  filter: invert(90%) sepia(8%) saturate(1278%) hue-rotate(322deg) brightness(105%) contrast(101%);
}
.orange .bi {
  color: #fcad62;
}
@media (max-width:1045px) {
  .name_flex {
    display: block;
    margin-bottom: 40px;
  }
  .name_flex .fname {
    width: 100%;
    margin-bottom: 40px;
  }
  .name_flex .fname:last-of-type {
    margin-bottom: 0;
  }
}
@media (max-width:550px) {
  .name_flex {
    margin-bottom: 35px;
  }
  .fname div {
    font-size: 4vw;
  }
  .fname p:nth-child(1) {
    font-size: 88%;
  }
  .fname p:nth-child(1) {
    width: 31vw;
    height: 23vw;
  }
}
/**/
.sd_top .fitc {
  max-width: 1039px;
}
/*img*/
.daycare_imgs {
  max-width: 1120px;
  margin: 45px auto 0;
  display: flex;
  justify-content: space-between;
  padding: 5% 0 1%;
}
.daycare_imgs div {
  width: 48%;
}
.daycare_imgs div:nth-child(1) {
  margin-top: -5%;
}
.daycare_imgs div:nth-child(2) {
  margin-bottom: -5%;
}
@media (max-width:750px) {
  .daycare_imgs {
    display: block;
    padding: 0;
    margin-top: 37px;
  }
  .daycare_imgs div {
    width: 85%;
  }
  .daycare_imgs div:nth-child(1) {
    margin-top: 0;
    margin-bottom: 23px;
  }
  .daycare_imgs div:nth-child(2) {
    margin-bottom: 0;
    margin-left: auto !important;
  }
}
/* 〜とは？ */
.sd_details .inner {
  max-width: 1504px;
}
/*box*/
.sd_details_box {
  width: 49%;
  background: #fcfaf2;
  padding: 30px;
  border-radius: 10px;
}
/**/
.sditem {
  margin-top: 30px;
  border-radius: 10px;
  background: #fff;
  padding: 15px 15px 20px;
}
.sditem:first-of-type {
  margin-top: 40px;
}
/*title*/
.ctitle, .rectitle {
  font-size: clamp(1.15rem, 1.03rem + 0.4267vw, 1.35rem);
  font-weight: 700;
  width: fit-content;
  border-radius: 100px;
  color: #fff;
  padding: 1px 12px 2px;
  margin-top: -30px;
  margin-left: -25px;
  margin-bottom: 10px;
}
.ctitle::before {
  font-family: "Font Awesome 6 Free";
  content: "\f0a6";
  display: inline-block;
  transform: rotate(60deg);
  margin-right: 3px;
}
/*list*/
.star.acheck li::before {
  content: "\f005";
}
/* color ============*/
.pink .ctitle, .pink .rectitle {
  background: #ff9999;
}
.pink .acheck li::before {
  color: #ff9999;
}
/**/
.orange .ctitle, .orange .rectitle {
  background: #fcad62;
}
.orange .acheck li::before {
  color: #fcad62;
}
@media (max-width:1170px) {
  .sd_details .flexbox {
    display: block;
  }
  .sd_details_box {
    width: 100%;
    margin-bottom: 25px;
  }
  .sd_details_box:last-of-type {
    margin-bottom: 0 !important;
  }
}
@media (max-width:550px) {
  .sd_details_box {
    padding: 20px 15px;
  }
  .ctitle, .rectitle {
    margin-left: -17px;
  }
}
/* あなたに合ったデイサービスは？ */
/*title*/
.dtitle {
  position: relative;
  font-size: clamp(1.4rem, 0.98rem + 1.4933vw, 2.1rem);
  font-weight: 700;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  padding: 30px 5% 0;
  line-height: 1.5;
  margin-bottom: 20px;
  text-align: center;
}
.dtitle .dayservice {
  font-size: 120%;
}
.dtitle .dayservice span {
  color: #ff9999;
}
.dtitle .dayservice span:nth-child(2n+1) {
  color: #fcad62;
}
.dtitle::before, .dtitle::after {
  content: "";
  width: 10%;
  height: 100%;
  position: absolute;
  top: 0;
  background: url(../img/aboutus.svg) top center;
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 1;
  pointer-events: none;
  filter: invert(86%) sepia(38%) saturate(1338%) hue-rotate(314deg) brightness(102%) contrast(98%);
}
.dtitle::before {
  left: 0;
}
.dtitle::after {
  right: 0;
  transform: scaleX(-1);
}
.dtitle br {
  display: none;
}
@media (max-width:550px) {
  .dtitle br {
    display: block;
  }
  .dtitle {
    padding: 25px 8% 0;
  }
  .dtitle::before, .dtitle::after {
    width: 18%;
  }
}
/*table*/
.comparison_table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}
.comparison_table tr {
  border: 2px solid #ededed;
}
.comparison_table th, .comparison_table td {
  padding: 14px 0;
  font-weight: 700;
  text-align: center;
}
.comparison_table th {
  color: #fff;
  width: 35%;
  border-right: 2px solid #ededed;
  line-height: 1.5;
  position: relative;
}
.comparison_table td {
  padding-left: 10px;
  padding-right: 10px;
  background: #fff;
  width: 65%;
  border-right: 2px solid #ededed;
  border-left: 2px solid #ededed;
}
/*最初の段*/
.comparison_table tr:first-of-type {
  border: none;
}
.comparison_table tr:first-of-type th, .comparison_table tr:first-of-type td {
  background: transparent;
  border: none;
  padding: 0 0 10px;
}
.comparison_table tr:first-of-type td {
  font-size: clamp(1.3rem, 1.12rem + 0.64vw, 1.6rem);
}
.comparison_table tr:first-of-type td:first-of-type {
  color: #ff9999;
}
.comparison_table tr:first-of-type td:last-of-type {
  color: #fcad62;
}
/*th 背景色*/
.comparison_table tr:not(:first-of-type) th::before, .comparison_table tr:not(:first-of-type) th::after {
  content: '';
  width: 50%;
  height: 100%;
  position: absolute;
  top: 0;
  z-index: -1;
}
.comparison_table tr:not(:first-of-type) th::before {
  left: 0;
  background: #ff9999;
}
.comparison_table tr:not(:first-of-type) th::after {
  right: 0;
  background: #fcad62;
}
/* table sp*/
.spsctext {
  width: fit-content;
  margin-left: auto;
  margin-top: 5px;
  display: none;
  font-size: 90%;
  margin-bottom: 25px;
  line-height: 1.6;
}
@media (max-width:1065px) {
  .spsctext {
    display: block;
  }
  .ct_wrap {
    padding-bottom: 5px;
    overflow-x: scroll;
  }
  .ct_wrap .comparison_table {
    width: 960px;
  }
}
@media (max-width:550px) {
  .ct_wrap .comparison_table {
    width: 590px;
  }
}
/* デイサービスCoCoスタ 施設情報 */
.cocotime p {
  margin-bottom: 0;
}
.cocotime p br {
  display: none;
}
@media (max-width:550px) {
  .cocotime p br {
    display: block;
  }
  .cocotime p:not(:last-of-type) {
    margin-bottom: 10px;
  }
}
/* 訪問介護・居宅介護支援ページ ================================================================================================*/
/* 全体 */
.facilitiesPage section .maintitle {
  font-size: clamp(1.6rem, 1.12rem + 1.7067vw, 2.4rem);
}
/**/
.fcp_item {
  margin-bottom: 50px;
}
.fcp_item_mn {
  margin-bottom: 33px;
}
.fcp_item:last-of-type, .fcp_item_mn:last-of-type {
  margin-bottom: 0 !important;
}
.mgt10 {
  margin-top: 10px;
}
@media(max-width:550px) {
  .fcp_item {
    margin-bottom: 40px;
  }
}
/*主なサービス内容*/
.sbox {
  background: #fcfaf2;
  border-radius: 10px;
  padding: 15px 20px;
}
.sbox h3 {
  font-size: clamp(1.1rem, 0.98rem + 0.4267vw, 1.3rem);
  font-weight: 700;
  margin-bottom: 13px;
  line-height: 1.6;
}
/**/
.purple .sbox {
  width: 32%;
}
/**/
.blue .sbox {
  width: 49.3%;
  margin-bottom: 15px;
}
@media(max-width:1360px) {
  .purple .sbox {
    width: 49%;
    margin-bottom: 23px;
  }
  .purple .sbox:last-of-type {
    margin: auto;
  }
}
@media(max-width:1040px) {
  .blue .sbox {
    width: 100%;
  }
  .blue .sbox:last-of-type {
    margin-bottom: 0;
  }
}
@media(max-width:1000px) {
  .purple .sbox {
    width: 100%;
  }
}
@media(max-width:750px) {
  .sbox {
    padding: 15px;
    margin-bottom: 15px !important;
  }
  .sbox:last-of-type {
    margin-bottom: 0 !important;
  }
}
/* color ===========*/
.pink .sbox h3:first-letter {
  color: #ff9999;
}
.orange .sbox h3:first-letter {
  color: #fcad62;
}
.green .sbox h3:first-letter {
  color: #53d493;
}
.blue .sbox h3:first-letter {
  color: #82c1ff;
}
.purple .sbox h3:first-letter {
  color: #ce9eff;
}
/* 施設情報 */
.information .mtitle {
  font-size: clamp(1.3rem, 1.06rem + 0.8533vw, 1.7rem);
}
.information .inner {
  max-width: 1100px;
}
/*img*/
.wide {
  margin-bottom: 10px;
}
.wide img {
  border-radius: 10px;
}
@media(max-width:750px) {
  .wide {
    margin-bottom: 5px;
  }
  .wide img {
    object-fit: cover;
    width: 100%;
    height: 55vw;
  }
}
/*map*/
.mapd p {
  margin-bottom: 13px;
}
.mapd iframe {
  width: 100%;
  height: 310px;
  border-radius: 10px;
}
@media(max-width:750px) {
  .mapd iframe {
    height: 220px;
  }
}
/* 求人情報ページ ================================================================================================*/
/* 募集職種 */
.recruitment .inner {
  max-width: 1450px;
  width: 95%;
}
.recruitment .flexbox {
  justify-content: center;
}
.recbox {
  width: calc(100% / 3);
  padding: 10px 35px 0;
  border-left: 3px dotted #ddd;
  margin-bottom: 40px;
}
.recbox:nth-child(3), .recbox:nth-child(5) {
  border-right: 3px dotted #ddd;
}
/*img*/
.recimg {
  position: relative;
  margin-bottom: 20px;
}
.recimg::after {
  pointer-events: none;
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: url(../img/recruit_bg.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  z-index: -1;
  opacity: 0.6;
}
.recimg img {
  object-fit: contain;
  width: 100%;
  height: 240px;
}
/*title*/
.recbox h3 {
  font-weight: 700;
  font-size: clamp(1.2rem, 1.11rem + 0.32vw, 1.35rem);
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 13px;
}
.recbox h3 i {
  font-size: 120%;
}
/**/
.nado {
  text-align: right;
  margin-bottom: 0;
}
/*list*/
.acheck li {
  padding-left: 21px;
  position: relative;
}
.acheck li::before {
  font-family: "Font Awesome 6 Free";
  content: "\f058";
  font-weight: bold;
  display: inline-block;
  color: #bababa;
  font-size: .9em;
  position: absolute;
  top: 0.15em;
  left: 0;
}
.dots.acheck li {
  padding-left: 13px;
}
.dots.acheck li::before {
  content: "\f111";
  font-size: .3em;
  top: 2.25em;
}
/* color =============*/
.recbox:nth-child(5n+1) h3 i {
  color: #ff9999;
}
.recbox:nth-child(5n+2) h3 i {
  color: #fcad62;
}
.recbox:nth-child(5n+3) h3 i {
  color: #53d493;
}
.recbox:nth-child(5n+4) h3 i {
  color: #82c1ff;
}
.recbox:nth-child(5n) h3 i {
  color: #ce9eff;
}
/**/
.recbox:nth-child(5n+1) .recimg::after {
  filter: invert(88%) sepia(4%) saturate(1405%) hue-rotate(314deg) brightness(93%) contrast(120%);
}
.recbox:nth-child(5n+2) .recimg::after {
  filter: invert(92%) sepia(5%) saturate(2430%) hue-rotate(319deg) brightness(104%) contrast(101%);
}
.recbox:nth-child(5n+3) .recimg::after {
  filter: invert(89%) sepia(15%) saturate(348%) hue-rotate(97deg) brightness(98%) contrast(104%);
}
.recbox:nth-child(5n+4) .recimg::after {
  filter: invert(91%) sepia(70%) saturate(6155%) hue-rotate(174deg) brightness(100%) contrast(101%);
}
.recbox:nth-child(5n) .recimg::after {
  filter: invert(93%) sepia(99%) saturate(6308%) hue-rotate(184deg) brightness(95%) contrast(112%);
}
@media(max-width:1490px) {
  .recimg img {
    height: 15vw;
  }
}
@media (max-width:1300px) {
  .recruitment .inner {
    width: 88%;
  }
  .recbox {
    width: calc(100% / 2);
    border-left: 3px dotted #ddd;
  }
  .recbox:nth-child(3) {
    border-right: none;
  }
  .recbox:nth-child(2), .recbox:nth-child(4) {
    border-right: 3px dotted #ddd;
  }
  .recimg img {
    height: 20vw;
  }
}
@media (max-width:900px) {
  .recimg img {
    height: 55vw;
  }
  .recruitment .flexbox {
    display: block;
  }
  .recbox {
    width: 100%;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 3px dotted #ddd;
    padding: 27px 0;
    margin-bottom: 0;
  }
  .recbox:first-of-type {
    padding-top: 0;
  }
}
/* ひだまりの働きやすさ */
.environment .maintitle {
  margin-bottom: 50px;
}
.webox {
  width: 32%;
  background: #fff;
  padding: 30px;
  border-radius: 10px;
  position: relative;
}
.webox .stitle .fitc {
  display: block;
}
.webox .stitle .num {
  position: relative;
  display: block;
  z-index: 1;
  padding: 15px 20px 10px;
  margin: -47px auto 7px;
  text-align: center;
  font-size: 44%;
  line-height: 1.2;
  text-transform: uppercase;
  color: #fff;
}
.webox .stitle .num span {
  font-size: 250%;
  display: block;
}
.webox .stitle .num::after {
  pointer-events: none;
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: url(../img/work.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  z-index: -1;
}
/* color =============*/
.webox:nth-child(5n+1) {
  border: 3px solid #ffd6d6;
}
.webox:nth-child(5n+2) {
  border: 3px solid #ffe5cc;
}
.webox:nth-child(5n+3) {
  border: 3px solid #c2e1ff;
}
.webox:nth-child(5n+4) {
  border: 3px solid #e7cfff;
}
.webox:nth-child(5n) {
  border: 3px solid #c6f5dd;
}
/**/
.webox:nth-child(5n+1) .stitle .num::after {
  filter: invert(76%) sepia(38%) saturate(1334%) hue-rotate(303deg) brightness(107%) contrast(107%);
}
.webox:nth-child(5n+2) .stitle .num::after {
  filter: invert(77%) sepia(72%) saturate(732%) hue-rotate(316deg) brightness(106%) contrast(98%);
}
.webox:nth-child(5n+3) .stitle .num::after {
  filter: invert(65%) sepia(97%) saturate(721%) hue-rotate(182deg) brightness(103%) contrast(101%);
}
.webox:nth-child(5n+4) .stitle .num::after {
  filter: invert(67%) sepia(65%) saturate(1695%) hue-rotate(210deg) brightness(103%) contrast(101%);
}
.webox:nth-child(5n) .stitle .num::after {
  filter: invert(80%) sepia(40%) saturate(604%) hue-rotate(88deg) brightness(88%) contrast(87%);
}
@media(max-width:1245px) {
  .webox {
    width: 48%;
    margin-bottom: 40px;
  }
  .webox:last-of-type {
    margin: auto;
  }
}
@media(max-width:825px) {
  .environment .flexbox {
    display: block;
  }
  .webox {
    width: 100%;
  }
  .webox:last-of-type {
    margin-bottom: 0 !important;
  }
}
@media(max-width:550px) {
  .environment .maintitle {
    margin-bottom: 60px;
  }
  .webox {
    padding: 15px;
  }
}
/* 募集要項 */
.outline .inner {
  max-width: 1200px;
}
/*wrapper*/
.sc_wrap {
  display: flex;
}
/*menu*/
.sticky_menu {
  width: 260px;
  position: sticky;
  top: 100px;
  left: 0;
  height: fit-content;
}
.sticky_menu ul li {
  border-bottom: 2px dotted #ddd;
  padding-bottom: 5px;
  margin-bottom: 5px;
}
.sticky_menu a {
  padding-left: 20px;
  color: #333;
  position: relative;
  display: inline-block;
  width: 100%;
}
.sticky_menu a::before {
  font-family: "Font Awesome 6 Free";
  content: "\23";
  font-weight: bold;
  position: absolute;
  top: 0;
  left: 0;
  color: #ddd;
}
.sticky_menu a:hover {
  opacity: 0.6;
}
/*item*/
.sticky_contents {
  width: calc(100% - 300px);
  margin-left: auto;
}
/**/
.infobox {
  background: #fcfaf2;
  padding: 30px;
  border-radius: 10px;
  margin-bottom: 30px;
}
.infobox:last-of-type {
  margin-bottom: 0 !important;
}
.infobox .mtitle {
  margin-bottom: 0;
}
/* color ==================*/
.sticky_menu li:nth-child(5n+1) a::before {
  color: #ff9999;
}
.sticky_menu li:nth-child(5n+2) a::before {
  color: #fcad62;
}
.sticky_menu li:nth-child(5n+3) a::before {
  color: #53d493;
}
.sticky_menu li:nth-child(5n+4) a::before {
  color: #82c1ff;
}
.sticky_menu li:nth-child(5n) a::before {
  color: #ce9eff;
}
/**/
.infobox:nth-child(5n+1) .mtitle {
  background: #ff9999;
}
.infobox:nth-child(5n+2) .mtitle {
  background: #fcad62;
}
.infobox:nth-child(5n+3) .mtitle {
  background: #53d493;
}
.infobox:nth-child(5n+4) .mtitle {
  background: #82c1ff;
}
.infobox:nth-child(5n) .mtitle {
  background: #ce9eff;
}
@media(max-width:1100px) {
  .sc_wrap {
    display: block;
  }
  .sticky_contents {
    width: 100%;
  }
  .sticky_menu {
    position: initial;
    width: 100%;
    margin: 0 auto 40px;
  }
  .sticky_menu ul {
    display: flex;
    flex-wrap: wrap;
  }
  .sticky_menu ul li {
    width: 48%;
    margin: 0 0.6% 10px;
  }
}
@media(max-width:700px) {
  .sticky_menu ul {
    display: block;
  }
  .sticky_menu ul li {
    width: 100%;
    margin: 0 0 10px;
  }
  .infobox {
    padding: 15px 15px 20px;
  }
}
/* 会社案内ページ ================================================================================================*/
/* ご挨拶 */
.greeting .inner {
  max-width: 1320px;
}
.glast {
  margin-top: 23px;
  text-align: right;
}
/* コンセプト */
.c_str {
  font-size: clamp(1.5rem, 1.14rem + 1.28vw, 2.1rem);
  margin-bottom: 20px;
}
.underline {
  font-size: 107%;
  position: relative;
  padding-left: 45px;
  display: inline-block;
}
.underline::before {
  content: '';
  width: 35px;
  height: 1px;
  position: absolute;
  top: 0.9em;
  left: 0;
  background: #333;
}
@media (max-width:790px) {
  .underline {
    padding-left: 0;
  }
  .underline::before {
    content: none;
  }
}
@media (max-width:750px) {
  .c_str {
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
  }
}
/* 会社概要 */
.overview .inner {
  max-width: 1100px;
}
.overview .maintitle {
  margin-bottom: 30px;
}
/*table*/
.info_table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}
.info_table tr {
  border-bottom: 2px dotted rgba(0, 0, 0, 0.21);
}
.info_table th {
  background: transparent;
  width: 35%;
}
.info_table th, .info_table td {
  font-weight: 700;
  padding: 23px 0;
}
.info_table td {
  padding-left: 10px;
  padding-right: 10px;
  width: 65%;
  background: transparent;
}
@media(max-width: 750px) {
  .overview .maintitle {
    margin-bottom: 15px;
  }
  .info_table tr {
    border-bottom: none;
  }
  .info_table td {
    border-bottom: 2px dotted rgba(0, 0, 0, 0.21);
    margin-bottom: 0;
  }
  .info_table td, .info_table th {
    width: 100%;
    padding: 8px 0 18px;
    display: block;
  }
  .info_table th {
    text-align: left;
    padding-bottom: 0;
    padding-top: 13px;
  }
}
/* 事業所一覧 */
.facilist_box {
  background: #fff;
  border-radius: 10px;
  padding: 50px;
  margin-bottom: 50px;
}
.facilist_box img {
  border-radius: 10px;
}
.flmap {
  margin-top: 30px;
}
.flmap iframe {
  width: 100%;
  height: 400px;
  border-radius: 10px;
}
@media(max-width: 750px) {
  .facilist_box {
    padding: 15px;
    display: flex;
    flex-direction: column;
    margin-bottom: 30px;
  }
  .facilist_box:last-of-type {
    margin-bottom: 0 !important;
  }
  .facilist_box .flexbox, .facilist_box .flexbox .w48:last-of-type {
    display: contents;
  }
  .facilist_box .mtitle {
    order: -1;
  }
}
@media(max-width: 550px) {
  .flmap {
    margin-top: 17px;
  }
  .flmap iframe {
    height: 220px;
  }
}
/* 情報公開 */
.disc_item {
  background: #fcfaf2;
  border-radius: 10px;
  padding: 30px;
  margin-bottom: 50px;
}
.disc_item:last-of-type {
  margin-bottom: 0 !important;
}
.disc_item h2 {
  margin-bottom: 15px;
  font-size: clamp(1.3rem, 1.06rem + 0.8533vw, 1.7rem);
  font-weight: 700;
}
.disc_item h2.long {
  font-size: clamp(1.1rem, 0.74rem + 1.28vw, 1.7rem);
}
.disc_item h2::before {
  font-family: "Font Awesome 6 Free";
  content: "\f111";
  font-weight: bold;
  font-size: 50%;
  opacity: 0.2;
  position: relative;
  top: -0.4em;
  margin-right: 10px;
}
.disc_item h3 {
  margin-bottom: 10px;
  font-weight: 700;
  font-size: clamp(1.03rem, 0.808rem + 0.7893vw, 1.4rem);
}
/**/
.disc_item .flexbox .w48 {
  margin-bottom: 20px;
}
.pdfmgb {
  margin-bottom: 10px;
}
.pdfmgb:last-of-type {
  margin-bottom: 0 !important;
}
.pdfmgb h4 {
  font-size: clamp(1rem, 0.94rem + 0.2133vw, 1.1rem);
  font-weight: 700;
  margin-bottom: 9px;
  padding-left: 8px;
  border-left: 5px solid #ddd;
}
.pink.pdfmgb h4 {
  border-left: 5px solid #ff9999;
}
.orange.pdfmgb h4 {
  border-left: 5px solid #fcad62;
}
.purple.pdfmgb h4 {
  border-left: 5px solid #ce9eff;
}
.blue.pdfmgb h4 {
  border-left: 5px solid #82c1ff;
}
/**/
.datalist ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.datalist ul li {
  width: 48%;
  margin-bottom: 15px;
}
.ovv.datalist ul li {
  width: 49.2%;
}
.datalist a {
  background: #fff;
  color: #333;
  border: 1px solid #ddd;
  border-radius: 5px;
  padding: 15px 10px;
  display: flex;
  align-items: center;
  height: 100%;
}
.datalist a:hover {
  background: #f7f7f7;
}
.datalist a span {
  position: relative;
  padding-left: 20px;
  display: inline-block;
}
.datalist a span::before {
  font-family: "Font Awesome 6 Free";
  content: "\f1c1";
  font-weight: lighter;
  display: inline-block;
  color: #eb441e;
  font-size: .9em;
  position: absolute;
  top: 0.15em;
  left: 0;
}
/*処遇改善について*/
.treatment {
  display: flex;
}
.treatment h2 {
  white-space: nowrap;
  margin-right: 55px;
}
.treatment ul {
  width: 100%;
}
.treatment ul li {
  margin-bottom: 8px;
  padding-bottom: 8px;
  border-bottom: 2px dotted #ddd;
}
.treatment ul li:last-of-type {
  margin-bottom: 0 !important;
}
.treatment ul li span {
  padding-left: 20px;
  position: relative;
}
.treatment ul li span::before {
  font-family: "Font Awesome 6 Free";
  content: "\f1c1";
  font-weight: lighter;
  display: inline-block;
  color: #eb441e;
  font-size: .9em;
  position: absolute;
  top: -0.25em;
  left: 0;
}
.treatment ul li a {
  color: #333;
  font-size: clamp(1rem, 0.97rem + 0.1067vw, 1.05rem);
}
.treatment ul li a:hover {
  opacity: 0.6;
}
@media(max-width: 990px) {
  .disc_item .flexbox {
    display: block;
  }
  .disc_item .flexbox .w48 {
    width: 100%;
  }
  .disc_item .flexbox .w48:last-of-type {
    margin-bottom: 0 !important;
  }
  .datalist ul li {
    width: 100% !important;
  }
  .datalist ul li {
    margin-bottom: 10px;
  }
  .treatment {
    display: block;
  }
  .treatment h2 {
    white-space: normal;
    margin-right: 0;
  }
  .pdfmgb {
    margin-bottom: 35px;
  }
}
@media(max-width: 550px) {
  .disc_item {
    padding: 13px 15px 15px;
    margin-bottom: 25px;
  }
}
/* お問い合わせページ ===========================================================================================================*/
.contact_sec section .inner {
  max-width: 1050px;
}
.contact_sec section .stitle {
  font-size: clamp(1.3rem, 1.03rem + 0.96vw, 1.75rem);
  text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, 0px 1px 0 #fff, 0 -1px 0 #fff, -1px 0 0 #fff, 1px 0 0 #fff;
}
/**/
.tels .maintitle {
  margin-bottom: 25px;
}
.contop {
  margin-bottom: 35px;
}
@media (max-width: 550px) {
  .tels .maintitle {
    margin-bottom: 23px;
  }
  .contop {
    margin-bottom: 28px;
    font-size: 94%;
  }
}
/* 電話 =====================*/
/*title*/
.cotitle {
  font-weight: 700;
  position: relative;
  margin-bottom: 20px;
  letter-spacing: 0.1em;
  font-size: clamp(1rem, 0.76rem + 0.8533vw, 1.4rem);
  line-height: 1.7;
  padding-left: 17px;
  padding-bottom: 3px;
  text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, 0px 1px 0 #fff, 0 -1px 0 #fff, -1px 0 0 #fff, 1px 0 0 #fff;
}
.cotitle:after, .cotitle:before {
  content: '';
  position: absolute;
  height: 50%;
  width: 6px;
  left: 0;
}
.cotitle:before {
  top: 0;
}
.cotitle:after {
  bottom: 0;
  opacity: 0.6;
}
.cotitle span {
  font-size: 70%;
}
@media (max-width:750px) {
  .cotitle span {
    display: block;
  }
}
@media (max-width: 550px) {
  .cotitle {
    margin-bottom: 17px;
  }
}
/*電話でのお問い合わせ*/
.tel_items {
  margin-bottom: 50px;
}
.tel_items:last-of-type {
  margin-bottom: 0;
}
/*box*/
.telbox {
  background: #fcfaf2;
  padding: 30px;
  border-radius: 10px;
  /*display: flex;*/
  align-items: center;
}
/* 番号 */
.telbox a {
  font-size: clamp(1.3rem, 1.12rem + 0.64vw, 1.6rem);
  color: #333;
}
.telbox a:hover {
  opacity: 0.6;
}
.telbox p {
  /*margin-left: 25px;*/
  margin-bottom: 0;
  margin-top: 5px;
}
@media (max-width:950px) {
  .telbox {
    display: block;
  }
  .telbox p {
    margin-left: 0;
    margin-top: 5px;
    font-size: 85%;
  }
}
@media (max-width:550px) {
  .tel_items {
    margin-bottom: 37px;
  }
  .telbox {
    padding: 17px;
  }
}
/* color ===============*/
/**/
.tel_items:nth-child(1) .telbox a i, .tel_items:nth-child(1) .telbox p i {
  color: #ff9999;
}
.tel_items:nth-child(1) .cotitle:after, .tel_items:nth-child(1) .cotitle:before {
  background: #ff9999;
}
/**/
.tel_items:nth-child(2) .telbox a i, .tel_items:nth-child(2) .telbox p i {
  color: #fcad62;
}
.tel_items:nth-child(2) .cotitle:after, .tel_items:nth-child(2) .cotitle:before {
  background: #fcad62;
}
/**/
.tel_items:nth-child(3) .telbox a i, .tel_items:nth-child(3) .telbox p i {
  color: #ce9eff;
}
.tel_items:nth-child(3) .cotitle:after, .tel_items:nth-child(3) .cotitle:before {
  background: #ce9eff;
}
/**/
.tel_items:nth-child(4) .telbox a i, .tel_items:nth-child(4) .telbox p i {
  color: #82c1ff;
}
.tel_items:nth-child(4) .cotitle:after, .tel_items:nth-child(4) .cotitle:before {
  background: #82c1ff;
}
/* メール ====================================*/
.mailform .row {
  padding: 20px 0;
  display: flex;
  justify-content: space-between;
}
.mailform .row:not(.last) {
  border-bottom: 0.9px dotted #333;
}
.mailform .row div {
  text-align: left;
}
.mailform .row div:nth-child(1) {
  width: 28%;
}
.mailform .row div:nth-child(2) {
  width: 70%;
  line-height: 1.5;
}
.mailform .row span {
  color: #fff;
  background: #ff9999;
  padding: 6px 5px 5px;
  margin-right: 5px;
  font-size: 14px;
  border-radius: 3px;
}
.mailsp {
  background: #fff !important;
  border: 1px solid #333;
  color: #333 !important;
}
.mailform .row small {
  display: block;
  margin-top: 3px;
}
.mailform .box, .mailform textarea {
  border: 1px solid #ddd;
  padding: 5px;
  width: 100% !important;
  border-radius: 0;
  -webkit-appearance: none;
  margin-bottom: 5px;
  background: #fff;
}
.mailform button {
  display: block;
  text-align: center;
  margin: 0 auto;
  white-space: nowrap;
  color: #fff;
  background: #ff9999;
  border: 2px solid #ff9999;
  width: 260px;
  padding: 24px 0;
  transition: .4s;
  border-radius: 50px;
}
.mailform button:hover {
  background: #fff;
  color: #ff9999;
}
.mailform button::before {
  font-family: "Font Awesome 6 Free";
  content: "\f0e0";
  font-weight: bold;
  margin-right: 10px;
}
.mails {
  padding-bottom: 60px;
}
/*チェックボックス*/
.mailform input[type=checkbox] {
  display: none;
}
.mailform input[type=checkbox] + label {
  display: inline-block;
  padding-left: 20px;
  position: relative;
  margin-right: 20px;
  margin-bottom: 10px;
  cursor: pointer;
}
.mailform input[type=checkbox] + label::before {
  background: #fff;
  border: 1px solid #b5b5b5;
  content: '';
  display: block;
  position: absolute;
  top: 55%;
  transform: translate(0, -50%);
  left: 0;
  width: 15px;
  height: 15px;
  border-radius: 3px;
}
.mailform input[type=checkbox] + label::after {
  border-right: 3px solid #333;
  border-bottom: 3px solid #333;
  content: '';
  display: block;
  height: 13px;
  width: 7px;
  opacity: 0;
  position: absolute;
  top: 25%;
  left: 4px;
  transform: rotate(45deg);
  transition: .1s;
}
.mailform input[type=checkbox]:checked + label::after {
  opacity: 1;
}
@media (max-width: 550px) {
  .mailform input[type=checkbox] + label {
    display: block;
  }
}
@media (max-width: 800px) {
  .mails .stitle {
    margin-bottom: 0;
  }
  .mailform .row {
    padding: 20px 0;
    flex-direction: column;
  }
  .mailform .row div:nth-child(1) {
    width: 100%;
    margin-bottom: 20px;
  }
  .mailform .row div:nth-child(2) {
    width: 100%;
  }
}
@media (max-width: 550px) {
  .mails {
    padding-bottom: 40px;
  }
  .mailform button {
    width: 220px;
    padding: 17px 0;
  }
  .selection small {
    font-size: 0.8rem;
  }
}
/* 個人情報の取り扱いについて */
.privacy {
  padding-top: 0;
}
/*アコーディオン全体*/
/*アコーディオンタイトル*/
.accordion-title {
  position: relative;
  cursor: pointer;
  font-size: clamp(1rem, 0.5625rem + 1.4vw, 1.35rem);
  padding: 15px 35px 15px 15px;
  transition: all .5s ease;
  background: #fcad62;
  color: #fff;
  line-height: 1.5;
  border-radius: 7px;
  font-weight: 700;
}
.privacy .accordion-title span {
  position: relative;
  padding-left: 27px;
  display: inline-block;
}
.privacy .accordion-title span::before {
  font-family: "Font Awesome 6 Free";
  content: "\f023";
  font-weight: bold;
  margin-right: 10px;
  font-size: 80%;
  position: absolute;
  top: 0.15em;
  left: 0;
}
/*アイコンの＋と×*/
.privacy .accordion-title::before, .privacy .accordion-title::after {
  position: absolute;
  content: '';
  width: 15px;
  height: 2px;
  background: #fff;
  top: 50%;
  right: 3%;
  transform: translateY(-50%);
}
.privacy .accordion-title::before {
  transform: rotate(0deg);
}
.privacy .accordion-title::after {
  transform: rotate(90deg);
}
/*　closeというクラスがついたら形状変化　*/
.privacy .accordion-title.close::before {
  transform: rotate(45deg);
}
.privacy .accordion-title.close::after {
  transform: rotate(-45deg);
}
/*アコーディオンで現れるエリア*/
.accordion-text {
  display: none; /*はじめは非表示*/
  background: #fff;
  padding: 13px 25px;
  font-size: 95%;
}
.accordion-text span {
  font-size: 103%;
}
.accordion-text span::before {
  content: "■";
  display: inline-block;
  font-size: 80%;
  margin-right: 0.35em;
  transform: translateY(-2px);
}
@media (max-width: 550px) {
  .privacy .accordion-title::before, .privacy .accordion-title::after {
    width: 11px;
  }
  .privacy .accordion-title span {
    padding-left: 20px;
  }
  .accordion-text {
    padding: 13px;
    font-size: 90%;
  }
}
/* よくある質問 ==========================================*/
.faq .inner {
  max-width: 1100px;
}
.faq_item {
  margin-bottom: 45px;
}
.faq_item:last-of-type {
  margin-bottom: 0 !important;
}
.faqbox {
  padding: 23px;
  background: #fff;
  border-radius: 10px;
  margin-bottom: 10px;
}
/*text*/
.faqbox h3::before, .faqbox p::before {
  display: inline-block;
  position: absolute;
  left: 0;
  font-size: 1.4rem;
}
.faqbox h3 {
  position: relative;
  margin-bottom: 10px;
  font-weight: 700;
  line-height: 1.6;
  padding-left: 35px;
  font-size: clamp(1rem, 0.6875rem + 1vw, 1.25rem);
}
.faqbox h3::before {
  content: "Q.";
  top: -0.2em;
  opacity: 0.4;
}
.faqbox p {
  position: relative;
  padding-left: 35px;
}
.faqbox p::before {
  content: "A.";
  top: -0.35em;
  left: 0.05em;
}
/* color */
.pink .faqbox p::before {
  color: #ff9999;
}
.purple .faqbox p::before {
  color: #ce9eff;
}
.blue .faqbox p::before {
  color: #82c1ff;
}
@media(max-width: 550px) {
  .faqbox {
    padding: 20px 15px;
    margin-bottom: 17px;
  }
  .faqbox:last-of-type {
    margin-bottom: 0;
  }
}