@charset "utf-8";

/* =====================================
■ body
===================================== */
body {
  background: #fff;
}

body:after {
  content: '';
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  pointer-events: none;
}

#main {
  overflow: hidden;
  min-height: 1000px;
}

@media screen and (min-width: 768px) {

  /* 	body:after {
	width: 24.31%;
	background: url(/wp-content/uploads/mv-bg03.png) no-repeat left top;
	background-size: 100% auto;
} */
  #wrapper {
    padding-top: 0;
  }

  .elementor-section.elementor-section-boxed>.elementor-container {
    max-width: 100%;
    padding: 0;
  }
}

@media screen and (max-width: 767px) {
  body:after {
    width: 44%;
    background: url(/wp-content/uploads/mv-bg03_sp.png) no-repeat left top;
    background-size: 100% auto;
  }

  .elementor-section.elementor-section-boxed>.elementor-container {
    padding: 0;
  }
}

/* =====================================
■ mainView
===================================== */
/* .mainView {
background: url(/wp-content/uploads/mv-bg.png) repeat-x left top;
background-size: cover;
color: #554E38;
padding-top: 105px;
padding-bottom: 41px;
position: relative;
z-index: 2;
}
.mainView:before {
content: "";
height: 100%;
position: absolute;
z-index: -1;
pointer-events: none;
}
.mainView:after {
content: "";
height: 100%;
position: absolute;
right: 0;
z-index: -1;
pointer-events: none;
}
.mainView .inner {
margin: 0 auto;
padding: 0 52px;
}
.mainView .mainCatch .heading {
margin-bottom: 2.12vw;
}
.mainView .mainCatch .heading h2 {
display: inline-block;
font-family: "Zen Maru Gothic", sans-serif;
font-weight: 700;
font-style: normal;
font-size: 50px;
font-size: 3.66vw;
letter-spacing: 0.1em;
line-height: 1.64;
position: relative;
}
.mainView .mainCatch .heading h2:before,
.mainView .mainCatch .heading h2:after {
font-family: "Zen Maru Gothic", sans-serif;
font-weight: 700;
font-style: normal;
font-size: 80px;
font-size: 5.857vw;
letter-spacing: 0.1em;
line-height: 1;
color: #FAD37A;
position: absolute;
top: -0.35vw;
opacity: 0.64;
}
.mainView .mainCatch .heading h2:before {
content: "“";
left: -3vw;
}
.mainView .mainCatch .heading h2:after {
content: "”";
right: -3vw;
}
.mainView .mainCatch .txt {
display: inline-block;
font-family: "Zen Maru Gothic", sans-serif;
font-weight: 700;
font-size: 20px;
font-size: 1.462vw;
letter-spacing: 0.15em;
line-height: 1.95;
}

@media screen and (min-width: 768px) {
.mainView:before {
width: 11.35%;
background: url(/wp-content/uploads/mv-bg02.png) no-repeat left bottom;
background-size: contain;
left: 0;
bottom: 4.1vw
}
.mainView:after {
width: 27.1%;
background: url(/wp-content/uploads/mv-bg04.png) no-repeat right center;
background-size: contain;
bottom: -31.2vw;
}
.mainView .mainCatch {
width: 35.2%;
padding-top: 0.6vw;
}
.mainView .mainCatch .elementor-column-wrap {
position: relative;
left: 87px;
left: 6.4vw;
}
.mainView .mainSlide {
width: 64.8%;
}
}

@media screen and (max-width: 1199px) and (min-width: 1024px) {
.mainView .inner {
padding: 0 42px;
}
}

@media screen and (max-width: 1023px) and (min-width: 768px) {
.mainView .inner {
padding: 0 32px;
}
}

@media screen and (max-width: 999px) and (min-width: 768px) {
.mainView {
padding-top: 95px;
}
}

@media screen and (max-width: 767px) {
.mainView {
background: none;
padding-top: 0;
padding-bottom: 15.48vw;
}
.mainView:before {
width: 16%;
background: url(/wp-content/uploads/mv-bg02_sp.png) no-repeat right bottom;
background-size: contain;
right: 6.95vw;
bottom: 9.8vw;
}
.mainView:after {
width: 38%;
background: url(/wp-content/uploads/mv-bg04_sp.png) no-repeat right bottom;
background-size: 100% auto;
bottom: 0;
}
.mainView .inner {
padding: 0 14px;
}
.mainView .mainCatch {
padding: 0 7.5vw;
margin-top: 5.0667vw;
}
.mainView .mainCatch .heading {
margin-bottom: 4.27vw;
}
.mainView .mainCatch .heading h2 {
display: inline-block;
font-size: 8.56vw;
line-height: 1.5;
}
.mainView .mainCatch .heading h2:before,
.mainView .mainCatch .heading h2:after {
font-size: 14.134vw;
top: -1.45vw;
}
.mainView .mainCatch .heading h2:before {
left: -6.5vw;
}
.mainView .mainCatch .heading h2:after {
right: -6.5vw;
}
.mainView .mainCatch .txt {
font-size: 3.2vw;
line-height: 1.92;
}
} */
/* =====================================
■ instagram
===================================== */
.menuDrawer {
  position: relative;
  z-index: 1;
}

.menuDrawer:before {
  position: absolute;
  content: '';
  height: 60%;
  width: 100%;
  background: url(/wp-content/uploads/menu_bg.png) no-repeat center top;
  background-size: cover;
  bottom: 0;
  left: 0;
  z-index: -2;
}

.menuDrawer:after {
  position: absolute;
  content: '';
  width: 100%;
  height: 180px;
  background: #fff4f2;
  bottom: 0;
  left: 0;
  z-index: -1;
}

.instagramBox {
  padding-top: 18px;
  margin-bottom: -100px;
  position: relative;
}

.instagramBox .nner {
  max-width: 1385px;
  margin: 0 auto;
  padding: 0 30px;
  box-sizing: border-box;
}

.instagramBox .nner .ro {
  position: relative;
  padding-top: 20px;
}

.instagramBox .nner .ro:before {
  position: absolute;
  content: '';
  width: 100%;
  height: 81%;
  background: url(/wp-content/uploads/instagram_bg.png) no-repeat;
  background-size: cover;
  top: 0;
  left: 0;
  z-index: -1;
}

.instagramBox .nner .titWrap2 {
  max-width: 179px;
  margin: 0 auto;
  margin-bottom: 44px;
}

.instagramBox ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  column-gap: 15px;
}

.instagramBox ul li {
  width: calc((100% - 30px) / 3);
  margin-bottom: 15px;
}

@media screen and (max-width: 767px) {
  .instagramBox {
    padding-top: 50px;
  }

  .instagramBox .nner {
    max-width: 100%;
    padding: 0;
  }

  .container {
    max-width: 767px;
    padding: 0 30px;
  }

  .instagramBox .nner .ro {
    padding-top: 0;
  }

  .instagramBox .nner .ro:before {
    width: 29px;
    height: 30px;
    background: url(/wp-content/uploads/instagram_icon02.png) no-repeat;
    background-size: cover;
    top: 100px;
    right: 13px;
    left: auto;
  }

  .instagramBox .nner .ro:after {
    width: 24px;
    height: 25px;
    position: absolute;
    content: '';
    background: url(/wp-content/uploads/instagram_icon01.png) no-repeat;
    background-size: cover;
    left: 30px;
    top: 10px;
  }

  .instagramBox ul {
    column-gap: 6px;
  }

  .instagramBox ul li {
    width: calc((100% - 12px) / 3);
    margin-bottom: 6px;
  }

  .menuDrawer:before {
    height: 80%;
    background: url(/wp-content/uploads/menu_spbg.png) no-repeat center top;
    background-size: cover;
  }

  .menuDrawer:after {
    height: 130px;
  }
}

/* =====================================
■ menuSlide
===================================== */
.menuSlide {
  padding-top: 160px;
  position: relative;
  padding-bottom: 72px;
}

.animWrapper ul {
  display: flex;
  justify-content: space-between;
  column-gap: 24px;
  flex-wrap: wrap;
}

.animWrapper ul li {
  width: calc((100% - 24px) / 2);
  position: relative;
  margin-bottom: 24px;
}

.animWrapper .btn {
  position: absolute;
  bottom: 24px;
  width: 94%;
  left: 50%;
  transform: translate(-50%);
}

.animWrapper .btn a,
.animWrapper .btn span {
  display: block;
  border: 1px solid #82c2b7;
  color: #82c2b7;
  font-size: 18px;
  padding: 5px 50px 5px 15px;
  background: #fff;
  border-radius: 60px;
}

.animWrapper .btn a:hover,
.animWrapper .btn span:hover {
  opacity: 0.8;
}

.animWrapper .btn .btnNner {
  position: relative;
}

.animWrapper .btn .btnNner:before {
  position: absolute;
  content: '';
  width: 18px;
  height: 1px;
  background: #82c2b7;
  right: 22px;
  top: 50%;
}

.animWrapper .btn .btnNner:after {
  position: absolute;
  content: '';
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #82c2b7;
  right: 16px;
  top: 51%;
  transform: translate(0, -50%);
  transition: transform 0.4s ease;
}

.animWrapper .btn .btnNner:hover:after {
  transform: translate(-20px, -50%);
}

@media screen and (max-width: 767px) {
  .menuSlide {
    padding-top: 150px;
    padding-bottom: 50px;
  }

  .animWrapper ul {
    column-gap: 10px;
  }

  .animWrapper ul li {
    width: calc((100% - 10px) / 2);
    margin-bottom: 10px;
  }

  .animWrapper ul li img {
    width: 100%;
  }

  .animWrapper .btn a,
  .animWrapper .btn span {
    bottom: 8px;
    font-size: 11px;
    padding: 3px 20px 3px 7px;
    letter-spacing: 0;
    line-height: 1.2;
  }

  .animWrapper .btn .btnNner:before {
    width: 10px;
    right: 17px;
    top: 51%;
  }

  .animWrapper .btn .btnNner:after {
    width: 4px;
    height: 4px;
  }

  .animWrapper .btn {
    bottom: 7px;
    width: 95%;
    left: 2%;
    transform: translate(0);
  }
}

/* =====================================
■ Features
===================================== */
.features_inner ul {
  background: #fff;
  padding: 24px;
  border-radius: 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  position: relative;
}

.features_inner ul:before,
.features_inner ul:after {
  position: absolute;
  content: '';
}

.features_inner ul.features01:before {
  width: 135px;
  height: 222px;
  background: url(/wp-content/uploads/features01_flower01.png) no-repeat;
  background-size: cover;
  right: -43px;
  top: -43px;
}

.features_inner ul.features01:after {
  width: 57px;
  height: 47px;
  background: url(/wp-content/uploads/features01_flower02.png) no-repeat;
  background-size: cover;
  bottom: 0;
  left: 0;
}

.features_inner ul.features02:before {
  width: 74px;
  height: 143px;
  background: url(/wp-content/uploads/features02_flower01.png) no-repeat;
  background-size: cover;
  right: 6px;
  top: 0;
  z-index: 1;
}

.features_inner ul.features02 li.features_img {
  position: relative;
}

.features_inner ul.features02 li.features_img:after {
  position: absolute;
  content: '';
  width: 103px;
  height: 239px;
  background: url(/wp-content/uploads/features02_flower02.png) no-repeat;
  background-size: cover;
  left: -50px;
  bottom: 0;
}

.features_inner ul.features03:before {
  width: 75px;
  height: 51px;
  background: url(/wp-content/uploads/features03_flower01.png) no-repeat;
  background-size: cover;
  right: 0;
  top: 0;
}

.features_inner ul.features03:after {
  width: 91px;
  height: 153px;
  background: url(/wp-content/uploads/features03_flower02.png) no-repeat;
  background-size: cover;
  left: -41px;
  bottom: 0;
}

.features_inner ul.features04:before {
  width: 176px;
  height: 237px;
  background: url(/wp-content/uploads/features04_flower01.png) no-repeat;
  background-size: cover;
  right: -12px;
  top: 0;
  z-index: 1;
}

.features_inner ul.features04 li.features_img:after {
  position: absolute;
  content: '';
  width: 67px;
  height: 84px;
  background: url(/wp-content/uploads/features04_flower02.png) no-repeat;
  background-size: cover;
  left: -20px;
  bottom: 0;
}

.features_inner ul.features05:before {
  width: 135px;
  height: 222px;
  background: url(/wp-content/uploads/features05_flower01.png) no-repeat;
  background-size: cover;
  left: -40px;
  top: -30px;
  z-index: 1;
}

.features_inner ul.features05:after {
  position: absolute;
  content: '';
  width: 47px;
  height: 57px;
  background: url(/wp-content/uploads/features05_flower02.png) no-repeat;
  background-size: cover;
  right: 0;
  bottom: 0;
}

.features_inner ul li.features_img {
  width: 55%;
  position: relative;
}

.features_inner ul li.features_txt {
  width: 45%;
  padding-left: 64px;
  box-sizing: border-box;
  padding-right: 40px;
}

.features_inner ul li.features_txt .featureItem {
  font-family: 'Waterfall', cursive;
  font-weight: 400;
  font-style: normal;
  color: #6e6547;
  font-size: 32px;
  letter-spacing: 0.04em;
}

.features_inner ul li .featureItem sub {
  color: #dc7c6b;
  vertical-align: baseline;
}

.features_inner ul li .tit {
  color: #6e6547;
  font-size: 32px;
  letter-spacing: 0.08em;
  line-height: 1.2;
  margin-top: 10px;
  margin-bottom: 26px;
}

.features_inner ul li .tit sub {
  color: #82c2b7;
  font-size: 32px;
  vertical-align: bottom;
  letter-spacing: 0.08em;
}

.features_inner ul li p {
  font-size: 16px;
  color: #6e6547;
  letter-spacing: 0.08em;
  line-height: 1.28;
  margin-top: 14px;
  padding-bottom: 0;
}

.features_inner ul.plural li.features_txt {
  padding-left: 40px;
  padding-right: 64px;
}

.features_inner ul.plural li .tit {
  line-height: 1.2;
}

.features_inner ul li .btn {
  position: static;
  transform: none;
}

.features_inner ul li .btn a {
  padding-top: 9px;
  padding-bottom: 9px;
  color: #dc7c6b;
  border-color: #dc7c6b;
}

.features_inner ul li .btn .btnNner::before,
.features_inner ul li .btn .btnNner::after {
  background: #dc7c6b;
}

@media screen and (max-width: 1024px) and (min-width: 768px) {
  .features_inner ul li.features_txt {
    padding-left: 30px;
    padding-right: 0;
  }

  .features_inner ul.plural li.features_txt {
    padding-left: 0;
    padding-right: 30px;
  }

  .features_inner ul li .tit {
    font-size: 28px;
    letter-spacing: 0;
  }
}

@media screen and (max-width: 767px) {
  .features_inner ul {
    display: block;
  }

  .features_inner ul li.features_txt {
    padding-left: 0;
    padding-right: 0;
    width: 100%;
  }

  .features_inner ul.plural li.features_txt {
    padding-left: 0;
    padding-right: 0;
  }

  .features_inner ul li.features_img {
    width: 100%;
    position: relative;
  }

  .features_inner ul li.features_txt .featureItem {
    text-align: center;
    line-height: 1;
    margin-top: 25px;
  }

  .features_inner ul li .tit {
    text-align: center;
  }

  .features_inner ul li.features_txt .featureItem {
    font-size: 20px;
  }

  .features_inner ul li .tit {
    font-size: 24px;
  }

  .features_inner ul li .tit sub {
    font-size: 24px;
  }

  .features_inner ul.features01 li .btn {
    margin-top: 12px;
  }

  .features_inner ul.features01:before {
    width: 88px;
    height: 145px;
    right: -30px;
    top: -30px;
  }

  .features_inner ul.features01:after {
    width: 32px;
    height: 26px;
    bottom: 30px;
    left: 30px;
  }

  .features_inner ul.features02:before {
    width: 50px;
    height: 96px;
    background: url(/wp-content/uploads/features02_spflower01.png) no-repeat;
    background-size: cover;
    right: auto;
    top: 0;
    z-index: 1;
    left: -10px;
  }

  .features_inner ul.features02 li.features_img:after {
    width: 56px;
    height: 131px;
    background: url(/wp-content/uploads/features02_spflower02.png) no-repeat;
    background-size: cover;
    left: auto;
    bottom: -25px;
    right: -45px;
  }

  .features_inner ul.features03:before {
    width: 63px;
    height: 43px;
    z-index: 1;
  }

  .features_inner ul.features03:after {
    left: -24px;
    width: 44px;
    height: 73px;
  }

  .features_inner ul.features04:before {
    width: 88px;
    height: 118px;
  }

  .features_inner ul.features04 li.features_img:after {
    background: none;
  }

  .features_inner ul.features04:after {
    width: 52px;
    height: 64px;
    background: url(/wp-content/uploads/features04_spflower02.png) no-repeat;
    background-size: cover;
    left: -7px;
    bottom: 0;
  }

  .features_inner ul.features05:before {
    width: 72px;
    height: 118px;
    background: url(/wp-content/uploads/features05_spflower01.png) no-repeat;
    background-size: cover;
    left: auto;
    top: 0;
    z-index: 1;
    right: -22px;
  }

  .features_inner ul.features05:after {
    background: none;
  }

  .features_inner ul.features05 li.features_img {
    position: relative;
  }

  .features_inner ul.features05 li.features_img:after {
    position: absolute;
    content: '';
    width: 27px;
    height: 32px;
    background: url(/wp-content/uploads/features05_spflower02.png) no-repeat;
    background-size: cover;
    left: 0;
    bottom: -20px;
  }

  .features_inner ul.features06:before {
    width: 88px;
    height: 118px;
    background: url(/wp-content/uploads/features06_spflower01.png) no-repeat;
    background-size: cover;
    right: -20px;
    top: 0;
    z-index: 1;
  }

  .features_inner ul.features06 li.features_img {
    position: relative;
  }

  .features_inner ul.features06 li.features_img:before {
    position: absolute;
    content: '';
    width: 52px;
    height: 64px;
    background: url(/wp-content/uploads/features06_spflower02.png) no-repeat;
    background-size: cover;
    left: -30px;
    bottom: -30px;
  }

  .features_inner ul li .btn a {
    font-size: 18px;
    padding: 17px 0px 18px 32px;
  }

  .features_inner ul li .btn .btnNner::before {
    width: 18px;
  }

  .features_inner ul li .btn .btnNner::after {
    width: 8px;
    height: 8px;
  }
}

/* =====================================
■ About
===================================== */
.navSection {
  background: #fff4f2;
  padding-bottom: 88px;
  padding-top: 50px;
}

.about_inner {
  margin-bottom: 70px;
  padding-top: 70px;
}

.about_inner .about_wrap {
  max-width: 1321px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}

.about_inner .nner {
  background: url(/wp-content/uploads/about_bg.png) no-repeat;
  background-size: auto;
  background-size: cover;
  padding-bottom: 120px;
}

.about_inner .nner ul {
  display: flex;
  justify-content: space-between;
  column-gap: 24px;
}

.about_inner .nner ul li {
  flex: 1 1 0;
}

.about_inner .nner ul li .about_box {
  position: relative;
  display: block;
  background:
    url(/wp-content/uploads/about_item.png) no-repeat,
    #fff;
  background-size: 100% 100%;
  border-radius: 24px;
  text-align: center;
  padding: 16px;
}

.about_inner .nner ul li .about_box .text_wep {
  border-radius: 12px;
  background: url(/wp-content/uploads/about_bg2.png) no-repeat;
  background-size: cover;
  padding: 22px 0;
}

.about_inner .nner ul li:nth-child(2n) .text_wep {
  background: url(/wp-content/uploads/about_bg3.png) no-repeat;
  background-size: cover;
}

.about_inner .nner ul li .about_box .img {
  width: 72px;
  height: 72px;
  margin: 0 auto;
}

.about_inner .nner ul li .text_content .tit {
  font-size: 28px;
  letter-spacing: 0.08em;
  color: #fff;
  line-height: 1;
  margin-top: 8px;
}

.about_inner .nner ul li .text_content .txt {
  color: #fff;
  font-size: 16px;
  letter-spacing: 0.08em;
  line-height: 1.28;
  margin-top: 16px;
}

.about_inner .nner .buttons {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  gap: 40px;
}

.about_inner .nner .buttons .about_btn {
  width: 50%;
}

.about_btn {
  margin-top: 24px;
  position: relative;
}

.about_btn:before {
  position: absolute;
  content: '';
  width: 15px;
  height: 2px;
  background: #dc7c6b;
  right: 22px;
  top: 48%;
}

.about_btn:after {
  position: absolute;
  content: '';
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #dc7c6b;
  right: 16px;
  top: 48%;
  transform: translate(0, -50%);
  transition: transform 0.4s ease;
}

.about_btn:hover:after {
  transform: translate(-20px, -50%);
}

.about_btn a {
  font-size: 18px;
  line-height: 100%;
  color: #dc7c6b;
  padding: 20px 10px 20px 26px;
  border: 1px solid #dc7c6b;
  display: block;
  background: #fff;
  border-radius: 60px;
}

.about_btn a:hover {
  opacity: 0.8;
}

@media screen and (max-width: 1300px) {
  .about_inner .nner {
    background-size: 100% auto;
  }
}

@media screen and (max-width: 1024px) and (min-width: 768px) {
  .about_btn a {
    font-size: 14px;
    padding: 20px 10px 20px 10px;
    letter-spacing: -0.05em;
  }

  .about_inner .nner ul {
    column-gap: 20px;
  }

  .about_inner .nner ul li {
    width: calc((100% - 20px) / 2);
  }

  .about_inner .nner ul li .text_content .tit {
    font-size: 24px;
    line-height: 1.3;
  }

  .about_inner .nner ul li .text_content .txt {
    font-size: 11px;
    letter-spacing: 0;
  }
}

@media screen and (max-width: 767px) {
  .about_inner .about_wrap {
    padding: 0;
  }

  .about_inner {
    background: none;
    margin-bottom: 50px;
    padding-top: 50px;
  }

  .about_inner .nner ul {
    display: block;
    padding: 0 30px;
    box-sizing: border-box;
    margin-top: 20px;
  }

  .about_inner .nner ul li {
    width: 100%;
    margin-bottom: 20px;
  }

  .about_inner .nner .container {
    padding: 0;
  }

  .about_inner .nner {
    padding-bottom: 0;
    position: relative;
  }

  .about_inner .nner ul li .about_box {
    background:
      url(/wp-content/uploads/about_item_sp.png) no-repeat,
      #fff;
    background-size: 100% 100%;
    padding: 24px;
    text-align: left;
  }

  .about_inner .nner ul li .about_box .text_wep {
    padding: 24px 20px;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center;
    gap: 12px;
    justify-content: space-between;
  }

  .about_inner .nner ul li .text_content {
    width: 146px;
    min-width: 146px;
  }

  .about_inner .nner ul li .text_content .tit {
    font-size: 24px;
    line-height: 1;
    margin-top: 0;
  }

  .about_inner .nner ul li .text_content .txt {
    font-size: 13px;
    margin-top: 8px;
  }

  .about_inner .nner .buttons {
    flex-direction: column;
    padding: 0 30px;
    gap: 16px;
    margin-top: 40px;
  }

  .about_inner .nner .buttons .about_btn {
    width: 100%;
  }

  .about_btn a {
    padding: 20px 40px 20px 26px;
  }

  .about_btn {
    margin-top: 0;
  }
}

/* =====================================
■ Policy
===================================== */

.policy ul {
  display: flex;
  justify-content: space-between;
  column-gap: 24px;
}

.policy ul li {
  width: calc((100% - 48px) / 3);
}

.policy ul li .policy_card {
  background: #fff;
  border-radius: 24px;
  padding: 24px;
}

.policy ul li .policy_card .tit {
  color: #6e6547;
  font-size: 24px;
  letter-spacing: 0.08em;
  line-height: 1.6;
  text-align: center;
  margin-top: 21px;
}

.policy ul li .policy_card p {
  font-size: 16px;
  line-height: 160%;
  text-align: center;
  letter-spacing: 0.08em;
  color: #6e6547;
}

@media screen and (max-width: 1122px) and (min-width: 1025px) {
  .policy ul li .policy_card p {
    font-size: 15px;
    letter-spacing: 0;
  }
}

@media screen and (max-width: 1024px) and (min-width: 768px) {
  .policy ul li .policy_card {
    padding: 14px;
  }

  .policy ul li .policy_card .tit {
    font-size: 20px;
  }

  .policy ul li .policy_card p {
    font-size: 12px;
    letter-spacing: -0.05em;
  }
}

@media screen and (max-width: 767px) {
  .policy ul {
    display: block;
  }

  .policy ul li {
    width: 100%;
    margin-bottom: 20px;
  }
}

/* =====================================
■ Various programs
===================================== */
.various_programs {
  padding-top: 75px;
  background: url(/wp-content/uploads/various_bg01.png) no-repeat center 20px;
  background-size: cover;
  margin-top: 40px;
  padding-bottom: 96px;
}

.various_programs .animWrapper ul {
  column-gap: 16px;
  justify-content: flex-start;
}

.various_programs .animWrapper ul li {
  width: calc((100% - 48px) / 4);
  margin-bottom: 16px;
}

.various_programs .animWrapper ul li a {
  line-height: 1.3;
}

.animWrapper .program .btn a {
  letter-spacing: 0;
  padding: 13px 50px 13px 15px;
  line-height: 1.1;
}

.animWrapper .program01 .btn a {
  color: #d8a300;
  border: 1px solid #d8a300;
}

.animWrapper .program01 .btn .btnNner:before {
  background: #d8a300;
}

.animWrapper .program01 .btn .btnNner:after {
  background: #d8a300;
}

.animWrapper .program02 .btn a {
  color: #45a8f3;
  border: 1px solid #45a8f3;
}

.animWrapper .program02 .btn .btnNner:before {
  background: #45a8f3;
}

.animWrapper .program02 .btn .btnNner:after {
  background: #45a8f3;
}

.animWrapper .program03 .li01 .btn a {
  color: #98d2c9;
  border: 1px solid #98d2c9;
}

.animWrapper .program03 .li01 .btn .btnNner:before {
  background: #98d2c9;
}

.animWrapper .program03 .li01 .btn .btnNner:after {
  background: #98d2c9;
}

.animWrapper .program03 .li02 .btn a {
  color: #dc7c6b;
  border: 1px solid #dc7c6b;
}

.animWrapper .program03 .li02 .btn .btnNner:before {
  background: #dc7c6b;
}

.animWrapper .program03 .li02 .btn .btnNner:after {
  background: #dc7c6b;
}

.animWrapper .program03 .li03 .btn a {
  color: #79b56a;
  border: 1px solid #79b56a;
}

.animWrapper .program03 .li03 .btn .btnNner:before {
  background: #79b56a;
}

.animWrapper .program03 .li03 .btn .btnNner:after {
  background: #79b56a;
}

.postnatalCareProgram {
  margin-top: 48px;
  position: relative;
}

.postnatalInner {
  position: absolute;
  content: '';
  top: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  height: 100%;
}

.postnatalInner .box {
  max-width: 500px;
  text-align: center;
}

.postnatalInner .box .tit {
  color: #6e6547;
  font-size: 32px;
}

.postnatalInner .box .txt {
  color: #6e6547;
  letter-spacing: 0.08em;
  line-height: 1.6;
}

.postnatalInner .box a {
  color: #6e6547;
  font-size: 18px;
  padding: 7px 100px 7px 15px;
  border: 1px solid #6e6547;
  border-radius: 60px;
  position: relative;
}

.postnatalInner.animWrapper .btn {
  position: relative;
  bottom: 0;
  width: 210px;
}

.postnatalInner.animWrapper .btn .btnNner:before {
  z-index: 1;
  background: #6e6547;
}

.postnatalInner.animWrapper .btn .btnNner:after {
  background: #6e6547;
}

.program.program03 li:last-child a {
  border: 1px solid #79b56a;
  color: #79b56a;
}

.program.program03 li:nth-child(2) a {
  border: 1px solid #dc7c6b;
  color: #dc7c6b;
}

.animWrapper .program.program03 li:last-child .btn .btnNner:after,
.animWrapper .program.program03 li:last-child .btn .btnNner:before {
  background: #79b56a;
}

.animWrapper .program.program03 li:nth-child(2) .btn .btnNner:after,
.animWrapper .program.program03 li:nth-child(2) .btn .btnNner:before {
  background: #dc7c6b;
}

@media screen and (max-width: 1024px) and (min-width: 768px) {
  .animWrapper .program .btn a {
    padding: 13px 30px 13px 15px;
    font-size: 13px;
  }

  .postnatalCareProgram img {
    height: 240px;
  }
}

@media screen and (max-width: 767px) {
  .various_programs {
    margin-top: 0;
    padding-bottom: 65px;
  }

  .various_programs .animWrapper ul li {
    width: calc((100% - 16px) / 2);
  }

  .animWrapper .program .btn a {
    padding: 5px 20px 5px 5px;
  }

  .postnatalInner .box .txt {
    text-align: left;
  }

  .postnatalInner .box {
    padding: 0 30px;
  }

  .postnatalInner.animWrapper .btn .btnNner:before {
    top: 28%;
  }

  .postnatalInner.animWrapper .btn .btnNner:after {
    top: 30%;
  }
}

@media screen and (max-width: 379px) {
  .animWrapper .program .btn a {
    font-size: 9px;
  }
}

/* =====================================
■ Greeting
===================================== */
.greeting_blog {
  padding: 10px;
  background: #ecf8f6;
}

.greeting_blog>.elementor-container.elementor-column-gap-default {
  background: url(/wp-content/uploads/greeting_r.png);
  padding-bottom: 70px;
}

.greetingBox {
  padding-top: 78px;
  position: relative;
}

.greetingBox:before {
  position: absolute;
  content: '';
  right: 0;
  top: 80px;
  width: 89.7px;
  height: 147px;
  background: url(/wp-content/uploads/greeting_flower01.png) no-repeat;
  background-size: cover;
}

.greetingBox ul {
  display: flex;
  justify-content: space-between;
  column-gap: 39px;
}

.greetingBox ul li {
  width: calc((100% - 39px) / 2);
  position: relative;
}

.greetingBox ul li .img {
  position: relative;
}

.greetingBox ul li:first-child .img:before {
  position: absolute;
  content: '';
  right: -17px;
  width: 57px;
  height: 61px;
  background: url(/wp-content/uploads/greeting_spflower01.png) no-repeat;
  background-size: cover;
  bottom: -6px;
  z-index: 2;
}

.greetingBox ul li:first-child .img:after {
  position: absolute;
  width: 125px;
  height: 170px;
  background: url(/wp-content/uploads/greeting_flower02.png) no-repeat;
  background-size: cover;
  bottom: 18px;
  left: -48px;
  content: '';
}

.greetingBox ul li .tit {
  font-size: 27px;
  line-height: 160%;
  letter-spacing: 0.08em;
  color: #6e6547;
}

.greetingBox ul li .txt {
  font-size: 16px;
  color: #6e6547;
  line-height: 1.6;
  letter-spacing: 0.08em;
  margin-top: 33px;
}

@media screen and (max-width: 767px) {
  .greetingBox ul {
    display: block;
  }

  .greetingBox ul li {
    width: 100%;
  }

  .greetingBox ul li:first-child {
    margin-bottom: 30px;
  }

  .greetingBox:before {
    display: none;
  }

  .greetingBox ul li .tit {
    font-size: 24px;
  }

  .greetingBox ul li:first-child .img:after {
    width: 72px;
    height: 98px;
    bottom: 0;
  }
}

/* =====================================
■ Infomation
===================================== */
.infomation {
  position: relative;
  padding-top: 80px;
  padding-bottom: 88px;
}

.infomation:before,
.infomation:after {
  position: absolute;
  content: '';
  width: 271px;
  height: 286px;
}

.infomation:before {
  background: url(/wp-content/uploads/infomation_bg02.png) no-repeat;
  background-size: cover;
  right: 0;
  top: 0;
}

.infomation:after {
  background: url(/wp-content/uploads/infomation_bg01.png) no-repeat;
  background-size: cover;
  left: 0;
  top: 0;
  z-index: -1;
}

.infomation .box {
  display: flex;
  justify-content: space-between;
  column-gap: 40px;
}

.infomation .box>div {
  width: calc((100% - 40px) / 2);
}

.infomation .box>div dl.address-dl dt {
  color: #d8a300;
  font-size: 14px;
  letter-spacing: 0.02em;
  line-height: 1.6;
  font-weight: 500;
}

.infomation .box>div dl.address-dl dd {
  color: #6e6547;
  font-size: 16px;
  letter-spacing: 0.02em;
  line-height: 1.6;
  font-weight: 500;
  border-bottom: 1px solid #e2d8bb;
  padding-bottom: 16px;
  padding-top: 5px;
}

.infomation .box>div dl.address-dl dt:not(:first-of-type) {
  margin-top: 8px;
}

.infomation .box>div dl.address-dl dd.dashed_line {
  border-bottom: 1px dashed #e2d8bb;
  padding-bottom: 3px;
}

.infomation .box .notice_text {
  background: #dcefec;
  margin-top: 8px;
  border-radius: 10px;
  padding: 20px;
}

.infomation .box .notice_text .tit {
  color: #6e6547;
  font-size: 16px;
  line-height: 19.2px;
}

.infomation .box .notice_text .txt {
  color: #6e6547;
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: 0;
  margin-top: 10px;
}

@media screen and (max-width: 767px) {
  .infomation .box {
    display: block;
  }

  .infomation .box>div {
    width: 100%;
  }

  .infomation .box>div.right {
    margin-top: 40px;
  }

  .infomation .box>div dl.address-dl {
    position: relative;
  }

  .infomation .box>div dl.address-dl:after {
    position: absolute;
    content: '';
    width: 48px;
    height: 79px;
    background: url(/wp-content/uploads/infomation_flower.png) no-repeat;
    background-size: cover;
    left: 50%;
    bottom: 20px;
    z-index: -1;
  }

  .infomation:before,
  .infomation:after {
    width: 150px;
    height: 159px;
  }
}

/* =====================================
■ TITLE
===================================== */
.titWrap {
  text-align: center;
  margin-bottom: 44px;
}

.titWrap h2 {
  font-family: 'Waterfall', cursive;
  font-weight: 400;
  font-style: normal;
  font-size: 64px;
  letter-spacing: 0.04em;
  color: #6e6547;
  line-height: 1;
}

.titWrap h2 sub {
  vertical-align: inherit;
  color: #dc7c6b;
}

.titWrap span {
  color: #6e6547;
  letter-spacing: 0.05em;
  font-size: 14px;
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 500;
  font-style: normal;
  padding-right: 20px;
  padding-left: 20px;
  position: relative;
}

.titWrap span:before,
.titWrap span:after {
  position: absolute;
  content: '';
  width: 15px;
  height: 10px;
  top: 6px;
}

.titWrap span:before {
  background: url(/wp-content/uploads/h2_l.png) no-repeat;
  background-size: cover;
  left: 0;
}

.titWrap span:after {
  background: url(/wp-content/uploads/h2_r.png) no-repeat;
  background-size: cover;
  right: 0;
}

.blogSection .elementor-row .elementor-element-7abd046.titWrap .elementor-element-9f7436b.elementor-widget {
  margin-bottom: 0;
}

@media screen and (max-width: 767px) {
  .titWrap h2 {
    font-size: 40px;
  }

  .titWrap span {
    font-size: 12px;
  }
}

/* =====================================
■ Loopslider
===================================== */
.swiper-free-mode>.swiper-wrapper {
  transition-timing-function: linear !important;
}

#loopslider .swiper-slide {
  width: 202px !important;
  margin-right: 5px;
  border-radius: 8px;
  overflow: hidden;
  height: 135px;
}

#loopslider .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#loopslider .swiper-slide:nth-child(2n) {
  margin-top: 16.2px;
}

@media screen and (min-width: 767px) {
  #loopslider .swiper-slide {
    width: 405px !important;
    border-radius: 16.2px;
    height: 270px;
  }

  #loopslider .swiper-slide:nth-child(2n) {
    margin-top: 32.4px;
  }
}

/* =====================================
■ news
===================================== */
.newsSection {
  margin-top: 70px;
}

.newsSection .elementor-row .elementor-container.elementor-column-gap-default {
  background: #fff4f2;
  border-radius: 24px;
}

.newsSection .elementor-element-0cba2c3 {
  width: 20%;
  display: flex;
  align-items: center;
  justify-content: center;
  align-content: center;
}

.newsSection .elementor-element-be6fc2f {
  width: 80%;
  padding-top: 40px;
  padding-bottom: 40px;
}

.newsSection .elementor-heading-title span:before,
.newsSection .elementor-heading-title span:after {
  position: absolute;
  content: '';
  width: 15px;
  height: 10px;
  top: 6px;
}

.newsSection .elementor-heading-title span:before {
  background: url(/wp-content/uploads/h2_l.png) no-repeat;
  background-size: cover;
  left: 0;
}

.newsSection .elementor-heading-title span:after {
  background: url(/wp-content/uploads/h2_r.png) no-repeat;
  background-size: cover;
  right: 0;
}

.newsSection .newsBox .post-time {
  font-size: 14px;
  color: #98d2c9;
  letter-spacing: 0.05em;
  line-height: 1.5;
}

.newsSection .elementor-element-0cba2c3 .elementor-element.elementor-element-792d19c {
  margin-bottom: 0;
}

.newsSection .newsBox dd {
  line-height: 1;
}

.newsSection .newsBox dd a {
  color: #6e6547;
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 1.2;
}

.newsSection .newsBox dd a:hover {
  text-decoration: underline;
}

.blogLink {
  text-align: right;
  margin-top: 10px;
}

.blogLink a {
  color: #dc7c6b;
  font-size: 14px;
  letter-spacing: 0.05em;
}

.blogLink a img {
  width: 24px;
  height: 24px;
  vertical-align: text-top;
}

.newsSection .elementor-row .elementor-element-0cba2c3 {
  width: 25%;
}

.newsSection .elementor-row .elementor-element-be6fc2f {
  width: 75%;
}

@media screen and (max-width: 767px) {
  .newsSection .elementor-row {
    display: block;
  }

  .newsSection .elementor-row .elementor-element-be6fc2f {
    width: 100%;
    padding: 24px;
  }

  .newsSection .elementor-row .elementor-container.elementor-column-gap-default {
    padding: 20px 0 0 0;
  }

  .newsSection .elementor-row .elementor-element-0cba2c3 {
    width: 100%;
    margin-bottom: 5px;
  }
}

/* =====================================
■ blog
===================================== */
.blogSection {
  margin-top: 64px;
}

.blogSection>.elementor-container.elementor-column-gap-default {
  background: #fff;
  border-radius: 24px;
  padding: 34px 24px;
}

.blogSection .elementor-row .elementor-element-77690a9 {
  width: 82%;
}

.blogSection .elementor-row .elementor-element-7abd046.titWrap {
  width: 18%;
  margin-bottom: 0;
  align-items: center;
}

.blogSection .newsBox .post-time {
  font-size: 14px;
  color: #98d2c9;
  letter-spacing: 0.05em;
  line-height: 1.5;
}

.blogSection .newsBox dd {
  line-height: 1;
}

.blogSection .newsBox dd a {
  color: #6e6547;
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 1.2;
}

.blogSection .newsBox dd a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 767px) {
  .blogSection .elementor-row {
    display: block;
  }

  .blogSection .elementor-row .elementor-element-77690a9 {
    width: 100%;
  }

  .blogSection .elementor-row .elementor-element-7abd046.titWrap {
    width: 100%;
  }
}

/* =====================================
■ 地図
===================================== */
.mapSec {
  position: relative;
  z-index: 2;
}

.map {
  position: relative;
  width: 100%;
  padding-top: 606px;
}

.map iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
  border: none;
  border-radius: 24px;
}

@media screen and (max-width: 767px) {
  .map {
    padding-top: 198px;
  }

  .map iframe {
    border-radius: 0;
  }

  .header_map {
    position: relative;
    width: 100%;
    padding-top: 240px;
  }

  .header_map iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
    border: none;
  }
}

.remodal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity .4s ease, visibility .4s ease;
}

.remodal.show {
  opacity: 1;
  visibility: visible;
}

#popup {
  position: relative;
  box-sizing: border-box;
  max-width: 924px;
  width: 100%;
  margin: 0 auto;
  padding: 22px 22px 0;
  transform: translateY(20px);
  opacity: 0;
  transition: all .4s ease;
}

.remodal.show #popup {
  transform: translateY(0);
  opacity: 1;
}

#popup p {
  margin-bottom: 0
}

#popup * {
  font-weight: 500
}

#popup .btn-close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  width: 64px;
  transition: 0.3s;
}

#popup .btn-close:hover {
  opacity: 0.8;
}

#popup .group {
  position: relative;
  background: url("../img/popup/popup_deco1.png") no-repeat left 23px top 16px/323px auto, url("../img/popup/popup_deco2.png") no-repeat right top/246px auto, url("../img/popup/popup_deco3.png") no-repeat left bottom/245px auto, url("../img/popup/popup_deco4.png") no-repeat right 69px bottom 40px/76px auto, #fff;
  border-radius: 40px;
  border: 2px solid #82c2b7;
  max-width: 880px;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 62px 22px
}

#popup .inner {
  max-width: 720px;
  margin: 0 auto
}

#popup h2 span.date {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: "Waterfall", cursive;
  color: #dc7c6b;
  font-size: 64px;
  line-height: 1;
  font-weight: 400;
  letter-spacing: 0
}

#popup h2 span.date img {
  width: 22px
}

#popup h2 span.jp {
  display: block;
  text-align: center;
  margin-top: 9px;
  font-size: 40px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0
}

#popup h2 span.jp i {
  font-style: normal;
  color: #82c2b7;
  letter-spacing: 0
}

#popup .row {
  display: flex;
  margin-top: 57px
}

#popup .row .col-l h3 {
  font-size: 32px;
  line-height: 1;
  letter-spacing: 0
}

#popup .row .col-l h3 span {
  color: #dc7c6b;
  font-size: 48px;
  letter-spacing: 0
}

#popup .row .col-l .txt {
  margin-top: 24px;
  font-size: 24px;
  line-height: 35px;
  letter-spacing: 0
}

#popup .row .col-r {
  margin-left: 12px
}

#popup .row .col-r .item {
  display: flex;
  align-items: center
}

#popup .row .col-r .item .icon {
  width: 72px;
  margin-bottom: 0
}

#popup .row .col-r .item .icon img {
  display: block
}

#popup .row .col-r .item .desc {
  flex: 1;
  margin: 0 -5px 0 17px;
  line-height: 1
}

#popup .row .col-r .item .desc dt {
  color: #dc7c6b;
  font-size: 24px
}

#popup .row .col-r .item .desc dd {
  margin-top: 17px;
  font-size: 18px
}

#popup .row .col-r .item+.item {
  margin-top: 15px
}

#popup .note {
  margin-top: 32px;
  font-size: 15px;
  line-height: 22px
}

#popup .btn-link {
  width: 350px;
  margin: 47px auto 0
}

#popup .btn-link a {
  position: relative;
  display: block;
  border-radius: 60px;
  color: #dc7c6b;
  border: 1px solid #dc7c6b;
  padding-left: 31px;
  font-size: 18px;
  font-weight: 500;
  line-height: 64px;
  letter-spacing: 0
}

#popup .btn-link a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 32px;
  transform: translateY(-50%);
  background: url("../img/popup/icon_arrow.png") no-repeat center/contain;
  width: 24px;
  height: auto;
  aspect-ratio: 48/36
}

#popup .btn-link a:hover {
  opacity: .8
}

@media screen and (min-width: 768px)and (max-width: 1000px) {
  #popup .row .col-l .txt {
    font-size: 22px
  }

  #popup .row .col-r .item .desc dd {
    font-size: 16px
  }
}

body.modal-open {
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .remodal {
    align-items: flex-start;
    overflow-y: auto;
  }

  #popup {
    padding: 22px 20px
  }

  #popup .group {
    position: relative;
    background: url("../img/popup/popup_deco1.png") no-repeat left 23px top 16px/150px auto, url("../img/popup/popup_deco2.png") no-repeat right top/146px auto, url("../img/popup/popup_deco3.png") no-repeat left bottom/145px auto, url("../img/popup/popup_deco4.png") no-repeat right 69px bottom 40px/36px auto, #fff;
    padding: 40px 20px
  }

  #popup .btn-close {
    top: 10px;
    right: 10px;
    width: 50px
  }

  #popup h2 span.jp {
    line-height: 1.5
  }

  #popup h2 span.jp i {
    display: block
  }

  #popup .row {
    display: block;
    margin-top: 30px
  }

  #popup .row .col-l h3 {
    font-size: 32px
  }

  #popup .row .col-l .txt {
    margin-top: 20px
  }

  #popup .row .col-r {
    margin: 30px 0 0
  }

  #popup .row .col-r .item {
    display: flex;
    align-items: center
  }

  #popup .row .col-r .item .icon {
    width: 50px
  }

  #popup .row .col-r .item .desc {
    margin: 0 0 0 10px
  }

  #popup .row .col-r .item .desc dt {
    font-size: 20px
  }

  #popup .row .col-r .item .desc dd {
    margin-top: 10px;
    font-size: 16px
  }

  #popup .note {
    margin-top: 30px
  }

  #popup .btn-link {
    width: auto
  }
}