@charset "UTF-8";
/* -------------------------------------------------------------------------- */
/*                                   Colors                                   */
/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
/*                              Default Functions                             */
/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
/*                               Default Mixins                               */
/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
/*                                Custom Layout                               */
/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
/*                                   Header                                   */
/* -------------------------------------------------------------------------- */
.header {
  position: relative;
}
.header--bot {
  background-color: #faeff1;
  background: no-repeat right bottom 44px/250px url("/images/common/header_deco8.png"), no-repeat left 13px bottom 76px/220px url("/images/common/header_deco7.png"), #faeff1;
}
.header__wrapper-w100 {
  height: 10rem;
  background-color: #faeff1;
  z-index: 100;
}
.header__wrapper-w100--top {
  position: absolute;
  inset: 0 0 auto 0;
  background-color: transparent;
}
.header__wrapper {
  width: min(100%, 1720px);
  margin-inline: auto;
  height: inherit;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-flow: row nowrap;
  transition: all 0.3s;
}
.header__wrapper--top {
  justify-content: end;
}
.header__list {
  display: flex;
  justify-content: space-between;
  align-items: end;
  flex-flow: row nowrap;
  gap: 1rem;
}
.header__list--bot {
  margin-bottom: 3rem;
}
.header__list--bot li a::before {
  box-shadow: inset 0 0 10px 5px #faeff1;
}
.header__item-img {
  transition: all 0.3s;
}
.header__item-link {
  white-space: nowrap;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: column nowrap;
  gap: 1.5rem;
  position: relative;
  z-index: 10;
}
.header__item-link::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 75px;
  height: 75px;
  border-radius: 50%;
  margin: auto;
  background-color: rgba(239, 203, 207, 0.3);
  box-shadow: inset 0 0 10px 5px #ffffff;
  z-index: -20;
  transition: all 0.3s;
}
.header__item-link span {
  position: relative;
  padding-inline: 1.5rem;
}
.header__item-link span::before, .header__item-link span::after {
  content: "";
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  margin-block: auto;
  background-color: #efcbcf;
  transition: all 0.3s;
}
.header__item-link span::before {
  inset: 0 auto 0 0;
}
.header__item-link span::after {
  inset: 0 0 0 auto;
}
.header__item-link:hover {
  transform: translateY(-4px);
}
.header__item-link:hover .header__item-img {
  transform: translateY(8px);
}
.header__item-link:hover::before {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  background-color: rgba(239, 203, 207, 0.4);
}
.header__item-link:hover span::before, .header__item-link:hover span::after {
  background-color: #da8a93;
}
/* --------------------------------- Visual --------------------------------- */
.mainvis,
.subvis {
  position: relative;
  margin-bottom: 3rem;
  transition: all 0.3s;
}

.mainvis {
  height: 92rem;
  background: no-repeat right bottom 80px/332px url("/images/top/mainvis_deco1.png"), no-repeat bottom center/cover url("/images/top/mainvis_bg.png");
}
.mainvis__wrapper-xl {
  position: relative;
  height: inherit;
  position: relative;
  z-index: 10;
}
.mainvis__wrapper-xl::before {
  content: "";
  position: absolute;
  inset: 10.9rem 0 auto 0;
  width: 292px;
  height: 299px;
  border-radius: 0;
  background: no-repeat center/contain url("/images/top/mainvis_deco3.png");
  margin-inline: auto;
  z-index: -20;
  transform: translateX(-69px);
}
.mainvis__wrapper {
  width: min(100%, 1430px);
  margin-inline: auto;
  position: absolute;
  inset: 6rem 0 0 0;
}
.mainvis__box {
  width: fit-content;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: column nowrap;
  z-index: 300;
  position: relative;
}
.mainvis__box::before {
  content: "";
  position: absolute;
  inset: auto auto 0 0;
  width: 261px;
  height: 660px;
  border-radius: 0;
  background: no-repeat center/contain url("/images/top/mainvis_deco2.png");
  z-index: -20;
  transform: translateX(-183px);
}
.mainvis__img {
  margin: 9.6rem clamp(20px, 2.5vw, 35px) 0 auto;
  transition: all 0.3s;
  width: 1103px;
  height: 757px;
  border-radius: 0;
}

.subvis__img {
  width: 1740px;
  height: 400px;
  border-radius: 20px;
  margin-inline: auto;
}
.subvis__catch {
  width: min(100%, 1080px);
  margin-inline: auto;
  position: absolute;
  inset: 0;
  z-index: 50;
  display: flex;
  justify-content: start;
  align-items: center;
}
.subvis__catch h2 {
  position: relative;
  padding: 2.2rem 5.7rem;
  background-color: #ffffff;
  border-radius: 1rem;
  text-align: center;
  font-size: 4.5rem;
  z-index: 10;
}
.subvis__catch h2::before {
  content: "";
  position: absolute;
  inset: auto 0 0 auto;
  width: 77px;
  height: 94px;
  border-radius: 0;
  background: no-repeat center/contain url("/images/common/header_deco9.png");
  transform: translate(16px, 20px);
  z-index: -20;
}

/* -------------------------------------------------------------------------- */
/*                                     Top                                    */
/* -------------------------------------------------------------------------- */
.sec01 {
  overflow: hidden;
  padding-top: 11rem;
}
.sec01__wrapper-xl {
  background: no-repeat top center/1431px url("/images/top/sec01_bg.png");
  position: relative;
  z-index: 10;
}
.sec01__wrapper-xl::before, .sec01__wrapper-xl::after {
  content: "";
  position: absolute;
  z-index: -20;
  background: no-repeat center/contain;
}
.sec01__wrapper-xl::before {
  width: 675px;
  height: 517px;
  border-radius: 0;
  inset: 0 auto auto 0;
  transform: translate(-130px, -50px);
  background-image: url("/images/top/sec01_img1.png");
}
.sec01__wrapper-xl::after {
  width: 640px;
  height: 522px;
  border-radius: 0;
  inset: auto 0 0 auto;
  transform: translateX(145px);
  background-image: url("/images/top/sec01_img2.png");
}
.sec01__wrapper-m .cmn-textbox {
  line-height: 4rem;
  margin-bottom: 6rem;
}

.sec02 {
  background: no-repeat top right/716px url("/images/top/sec02_deco.png"), no-repeat top center/cover url("/images/top/sec02_bg.png");
}
.sec02__header {
  text-align: center;
  margin-bottom: 14rem;
}
.sec02__header h3,
.sec02__header p {
  width: fit-content;
  margin-inline: auto;
  position: relative;
  z-index: 10;
}
.sec02__header h3::before, .sec02__header h3::after,
.sec02__header p::before,
.sec02__header p::after {
  content: "";
  position: absolute;
  background: no-repeat center/contain;
  z-index: -20;
}
.sec02__header p::before {
  width: 57px;
  height: 50px;
  border-radius: 0;
  inset: auto auto 0 0;
  background-image: url("/images/top/header_deco2.png");
  transform: translate(-75px, 2px);
}
.sec02__header p::after {
  width: 199px;
  height: 32px;
  border-radius: 0;
  background-image: url("/images/top/header_deco1.png");
  inset: auto auto 0 50%;
  transform: translate(-50%, 100%);
  margin-inline: auto;
}
.sec02__header h3::before {
  width: 40px;
  height: 37px;
  border-radius: 0;
  inset: 0 auto auto 0;
  background-image: url("/images/top/header_deco3.png");
  transform: translateX(-70px);
}
.sec02__header h3::after {
  width: 70px;
  height: 68px;
  border-radius: 0;
  background-image: url("/images/top/header_deco4.png");
  inset: auto 0 0 auto;
  transform: translate(80px, 30px);
}
.sec02__header h3 span {
  font-size: 6rem;
}
.sec02__list {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: row nowrap;
  gap: 6rem;
  counter-reset: feature;
  margin-bottom: 6rem;
}
.sec02__item {
  width: min(100%, 320px);
  counter-increment: feature;
  position: relative;
}
.sec02__item:nth-child(2) {
  margin-top: 4rem;
}
.sec02__item::before {
  width: 58px;
  height: 62px;
  border-radius: 0;
  position: absolute;
  z-index: 10;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 1rem;
  content: counter(feature);
  font-weight: 700;
  font-size: 3rem;
  color: #ffffff;
  background: no-repeat center/contain url("/images/top/sec02_item-deco.png");
  inset: 0 0 auto 0;
  margin-inline: auto;
  transform: translateY(-50%);
}
.sec02__item-tbox {
  height: 18.1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  background: no-repeat center/contain url("/images/top/sec02_item-bg.png");
  position: relative;
}
.sec02__item-tbox::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  margin-inline: auto;
  width: 175px;
  height: 28px;
  border-radius: 0;
  background: no-repeat center/contain url("/images/top/sec02_item-bg2.png");
  transform: translateY(-100%);
}
.sec02__item-tbox p {
  font-size: clamp(17px, 2.5vw, 24px);
  text-decoration: dashed underline #da8a93;
  line-height: 4rem;
}
.sec02__item-img {
  margin-inline: auto;
}

.sec03 {
  overflow: hidden;
  background: no-repeat top left/724px url("/images/top/sec03_bg1.png");
}
.sec03__wrapper-xl {
  display: flex;
  justify-content: start;
  align-items: center;
  gap: 2rem 10.5rem;
  padding-left: 5.5rem;
  margin-bottom: 6rem;
  overflow: hidden;
}
.sec03__header {
  flex-shrink: 0;
  margin-inline: auto 0;
}
.sec03__header p {
  position: relative;
  margin-bottom: 3rem;
}
.sec03__header p::before {
  content: "";
  width: 253px;
  height: 59px;
  border-radius: 0;
  inset: auto auto 0 0;
  transform: translate(-35px, 65%);
  position: absolute;
  background: no-repeat center/contain url("/images/top/sec03_deco1.png");
}
.sec03__box1, .sec03__box2 {
  position: relative;
  z-index: 10;
  border-radius: 2rem;
  padding: 6rem;
  text-align: center;
}
.sec03__box1-header:has(+ ul, + p), .sec03__box1-note:has(+ ul, + p), .sec03__box1-list:has(+ ul, + p), .sec03__box2-header:has(+ ul, + p), .sec03__box2-note:has(+ ul, + p), .sec03__box2-list:has(+ ul, + p) {
  margin-bottom: clamp(20px, 2.5vw, 30px);
}
.sec03__box1-header, .sec03__box2-header {
  padding: 1.5rem;
  border-radius: 3rem;
}
.sec03__box1-header h4, .sec03__box2-header h4 {
  color: #ffffff;
  font-size: 3rem;
}
.sec03__box1-list, .sec03__box2-list {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: row wrap;
  gap: 2rem;
}
.sec03__box1 {
  background: repeat top/20px url("/images/common/pattern01.png");
  margin-bottom: 8rem;
}
.sec03__box1::before {
  content: "";
  position: absolute;
  inset: auto 0 0 auto;
  width: 143px;
  height: 190px;
  border-radius: 0;
  background: no-repeat center/contain url("/images/top/sec03_deco4.png");
  transform: translateX(23px);
  z-index: -20;
}
.sec03__box1-header {
  background-color: #da8a93;
}
.sec03__box1-item {
  padding: 1.5rem;
  background-color: #ffffff;
}
.sec03__box1-item p {
  font-size: clamp(17px, 2.5vw, 20px);
  position: relative;
  padding-left: 3.5rem;
}
.sec03__box1-item p::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  margin-block: auto;
  width: 25px;
  height: 25px;
  border-radius: 0;
  background: no-repeat center/contain url("/images/top/sec03_deco3.png");
}
.sec03__box2 {
  background-color: #eff7fa;
}
.sec03__box2::before, .sec03__box2::after {
  content: "";
  position: absolute;
  margin-block: auto;
  background: no-repeat center/contain;
  z-index: -20;
}
.sec03__box2::before {
  width: 346px;
  height: 511px;
  border-radius: 0;
  inset: 0 auto 0 0;
  background-image: url("/images/top/sec03_deco5.png");
  transform: translateX(-285px);
}
.sec03__box2::after {
  width: 348px;
  height: 454px;
  border-radius: 0;
  inset: 0 0 0 auto;
  background-image: url("/images/top/sec03_deco6.png");
  transform: translateX(285px);
}
.sec03__box2-header {
  background-color: #8ab3da;
}

.sec04 {
  background: no-repeat top 115px center/cover url("/images/top/sec04_bg.png");
}
.sec04__wrapper-m {
  padding-top: 0;
  position: relative;
  z-index: 10;
}
.sec04__wrapper-m::before {
  content: "";
  position: absolute;
  inset: auto auto 0 0;
  width: 316px;
  height: 437px;
  border-radius: 0;
  background: no-repeat center/contain url("/images/top/sec04_deco2.png");
  transform: translate(-233px, 60px);
  z-index: -20;
}
.sec04__list {
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-flow: row wrap;
  gap: 2rem 4rem;
  margin-bottom: 11.5rem;
}
.sec04__item {
  width: min(100%, 520px);
}
.sec04__item-img {
  margin-bottom: 2rem;
}
.sec04__item-header {
  margin-bottom: 3rem;
  text-align: center;
}
.sec04__item-header h3,
.sec04__item-header p {
  font-size: 3rem;
}
.sec04__item-header p {
  font-weight: 700;
  color: #da8a93;
  margin-bottom: 1rem;
}
.sec04__item-header h3 {
  display: flex;
  justify-content: center;
  align-items: center;
}
.sec04__item-header h3 span {
  margin-inline: 15px 15px;
}
.sec04__item-header h3::before, .sec04__item-header h3::after {
  flex-grow: 1;
  background-color: transparent;
}
.sec04__item-header h3::before, .sec04__item-header h3::after {
  border-top: solid 1px #442800;
}
.sec04__item-header h3::before, .sec04__item-header h3::after {
  content: "";
}
.sec04__item-button {
  width: 250px;
  height: 60px;
  border-radius: 30px;
  background-color: #8ab3da;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-inline: auto;
}
.sec04__item-button:hover {
  background-color: #639ace;
}
.sec04__item-button::before {
  content: "";
  position: absolute;
  inset: 0 0 0 auto;
  margin-block: auto;
  width: 18px;
  height: 18px;
  border-radius: 0;
  background: no-repeat center/contain url("/images/top/sec04_deco1.png");
  transform: translateX(-20px);
}
.sec04__item-button span {
  color: #ffffff;
}
.sec04__box {
  width: min(100%, 800px);
  height: 265px;
  border-radius: 20px;
  margin-inline: auto;
  background-color: #ffffff;
  border: 4px solid transparent;
  background-image: linear-gradient(#fff, #fff), linear-gradient(-90deg, #face73, #f57e3b, #e31f5c, #aa0ca0, #4733e4);
  background-origin: border-box;
  background-clip: content-box, border-box;
}
.sec04__box-inner {
  width: inherit;
  height: 100%;
  border-radius: inherit;
  background: no-repeat bottom center/cover url("/images/top/sec04_bg2.png");
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: column nowrap;
  gap: 2rem;
  z-index: 10;
  padding: 1.5rem;
}
.sec04__box-inner::before, .sec04__box-inner::after {
  content: "";
  position: absolute;
  background: no-repeat center/contain;
  z-index: -20;
}
.sec04__box-inner::before {
  inset: 0 auto auto 0;
  width: 345px;
  height: 143px;
  border-radius: 0;
  background-image: url("/images/top/sec04_deco3.png");
  transform: translate(45px, -70px);
}
.sec04__box-inner::after {
  inset: auto 0 0 auto;
  width: 225px;
  height: 220px;
  border-radius: 0;
  background-image: url("/images/top/sec04_img3.png");
  transform: translate(40px, 24px);
}
.sec04__box-inner--deco2::before {
  width: 282px;
  height: 135px;
  border-radius: 0;
  background-image: url("/images/top/sec04_deco3-2.png");
}
.sec04__box-inner h4 {
  font-size: 3rem;
}
.sec04__box-inner h4 span {
  font-size: 4rem;
}
.sec04__box-button {
  width: 280px;
  height: 60px;
  border-radius: 10px;
  background: linear-gradient(-90deg, #face73, #f57e3b, #e31f5c, #aa0ca0, #4733e4);
  display: flex;
  justify-content: center;
  align-items: center;
}
.sec04__box-button span {
  color: #ffffff;
  letter-spacing: 0.08em;
  position: relative;
  padding-inline: 45px 30px;
}
.sec04__box-button span::before, .sec04__box-button span::after {
  content: "";
  position: absolute;
  margin-block: auto;
  background: no-repeat center/contain;
}
.sec04__box-button span::before {
  width: 30px;
  height: 30px;
  border-radius: 0;
  inset: 0 auto 0 0;
  background-image: url("/images/common/icon_ig2.png");
}
.sec04__box-button span::after {
  width: 15px;
  height: 15px;
  border-radius: 0;
  inset: 0 0 0 auto;
  background-image: url("/images/common/icon_share.png");
}

.sec05 {
  overflow: hidden;
}
.sec05__wrapper-xl {
  position: relative;
  z-index: 10;
}
.sec05__wrapper-xl::before, .sec05__wrapper-xl::after {
  content: "";
  position: absolute;
  background: no-repeat center/contain;
  z-index: -20;
}
.sec05__wrapper-xl::before {
  width: 255px;
  height: 249px;
  border-radius: 0;
  inset: 0 auto auto 0;
  background-image: url("/images/top/sec05_deco4.png");
  transform: translateX(136px);
}
.sec05__wrapper-xl::after {
  width: 244px;
  height: 277px;
  border-radius: 0;
  inset: auto 0 0 auto;
  background-image: url("/images/top/sec05_deco5.png");
  transform: translateX(-133px);
}
.sec05__header {
  margin-bottom: 3rem;
}
.sec05__box {
  background-color: #ffffff;
  background: no-repeat top 70px right 90px/139px url("/images/top/sec05_deco1.png"), #ffffff;
  padding: 6rem;
  width: min(100%, 900px);
  margin-inline: auto;
  border-radius: 2rem;
  border: 2px solid #da8a93;
  text-align: center;
  position: relative;
  z-index: 10;
}
.sec05__box::before, .sec05__box::after {
  content: "";
  position: absolute;
  background: no-repeat center/contain;
  z-index: -20;
}
.sec05__box::before {
  width: 173px;
  height: 168px;
  border-radius: 0;
  inset: auto auto 0 0;
  background-image: url("/images/top/sec05_deco2.png");
  transform: translate(-99px, 55px);
}
.sec05__box::after {
  width: 118px;
  height: 181px;
  border-radius: 0;
  inset: auto 0 0 auto;
  background-image: url("/images/top/sec05_deco3.png");
  transform: translate(20px, 19px);
}
.sec05__box-inner {
  padding: 2rem 3rem;
  background-color: #faeff1;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: row wrap;
  gap: 2rem 2.5rem;
  position: relative;
  z-index: -30;
}
.sec05__box-inner .cmn-tel,
.sec05__box-inner .sec05__box-button {
  z-index: 10;
}
.sec05__box-inner--drawer {
  background-color: #ffffff;
  border-radius: 1rem;
  padding: 1.5rem;
}
.sec05__box-button {
  width: 250px;
  height: 60px;
  border-radius: 10px;
  border: 2px solid #06c755;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #ffffff;
}
.sec05__box-button:hover {
  background-color: rgba(6, 199, 85, 0.1);
}
.sec05__box-button span {
  position: relative;
  padding-left: 4.5rem;
  font-size: 1.4rem;
}
.sec05__box-button span::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  margin-block: auto;
  width: 30px;
  height: 30px;
  border-radius: 0;
  background: no-repeat center/contain url("/images/common/icon_line.png");
}

.news {
  padding-top: 0;
}
.news__wrapper-m {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: row nowrap;
  gap: 0 13rem;
}
.news__lbox {
  width: min(100%, 250px);
  flex-shrink: 0;
}
.news__lbox .sec04__item-button {
  margin-inline: 0 auto;
}
.news__list {
  width: 100%;
}
.news__list:has(+ div) {
  margin-bottom: 4rem;
}
.news__item:not(:last-child) {
  margin-bottom: clamp(15px, 2.5vw, 20px);
}
.news__item-link {
  padding: 2rem 3rem;
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  gap: clamp(15px, 2.5vw, 20px);
  background-color: #faeff1;
}
.news__item-link:hover {
  background-color: rgba(218, 138, 147, 0.3);
}
.news__item-link--des2 {
  padding: 2rem;
}
.news__item-img {
  flex-shrink: 0;
}
.news__item-img img {
  width: 100px;
  height: 100px;
  border-radius: 0;
  border-radius: 0.5rem;
}
.news__item-box {
  text-align: left;
}
.news__item-info {
  display: flex;
  align-items: center;
  column-gap: 1.5rem;
}
.news__item-date, .news__item-title {
  font-weight: 700;
  flex-shrink: 0;
}
.news__item-title {
  text-overflow: ellipsis;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  text-align: left;
}

/* -------------------------------------------------------------------------- */
/*                                    About                                   */
/* -------------------------------------------------------------------------- */
.sec06__wrapper-xl {
  background: no-repeat left 100px center/241px url("/images/about/sec06_deco1.png"), no-repeat right 100px center/241px url("/images/about/sec06_deco2.png");
}
.sec06__wrapper-m {
  padding: 6rem;
  background-color: #eff7fa;
  border-radius: 2rem;
  display: flex;
  justify-content: center;
  align-items: start;
  flex-flow: row wrap;
  gap: 2rem 9.5rem;
}
.sec06__wrapper-m--l {
  gap: 2rem 5rem;
}
.sec06__box {
  width: min(100%, 525px);
}
.sec06__box--l {
  width: min(100%, 565px);
}

.sec07 {
  background: repeat left/337px url("/images/common/pattern06.png");
}
.sec07__wrapper-xl {
  position: relative;
  z-index: 10;
}
.sec07__wrapper-xl::before, .sec07__wrapper-xl::after {
  content: "";
  position: absolute;
  background: no-repeat center/contain;
  z-index: -20;
}
.sec07__wrapper-xl::before {
  width: 408px;
  height: 409px;
  border-radius: 0;
  inset: 0 0 auto auto;
  background-image: url("/images/about/sec07_deco1.png");
  transform: translate(-62px, -68px);
}
.sec07__wrapper-xl::after {
  width: 406px;
  height: 438px;
  border-radius: 0;
  inset: auto auto 0 0;
  background-image: url("/images/about/sec07_deco2.png");
  transform: translate(76px, 94px);
}
.sec07__item {
  padding: 4rem;
  background-color: #ffffff;
  border-radius: 2rem;
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-flow: row wrap;
  gap: 2rem 4rem;
}
.sec07__item:nth-child(1) {
  flex-flow: row-reverse wrap;
}
.sec07__item:not(:last-child) {
  margin-bottom: 6rem;
}
.sec07__item-box {
  width: min(100%, 560px);
}
.sec07__item-title {
  margin-bottom: 3rem;
}
.sec07__item-title span {
  font-weight: 700;
  font-size: 2.8rem;
  line-height: 6rem;
  padding: 0.5rem 2rem;
  border-radius: 1rem;
  background-color: #da8a93;
  color: #ffffff;
}
.sec07__item-title span:not(:last-child) {
  margin-bottom: 1rem;
}

.sec08 {
  padding-bottom: 0;
}
.sec08__header {
  margin-bottom: 8rem;
  position: relative;
  width: fit-content;
  margin-inline: auto;
  position: relative;
  z-index: 10;
}
.sec08__header::before, .sec08__header::after {
  content: "";
  position: absolute;
  background: no-repeat center/contain;
  z-index: -20;
}
.sec08__header::before {
  width: 40px;
  height: 37px;
  border-radius: 0;
  inset: 0 auto auto 0;
  background-image: url("/images/about/sec08_deco2.png");
  transform: translate(-50px, -26px);
}
.sec08__header::after {
  width: 70px;
  height: 68px;
  border-radius: 0;
  inset: auto 0 0 auto;
  background-image: url("/images/about/sec08_deco3.png");
  transform: translate(90px, 30px);
}
.sec08__wrapper-xl {
  background: no-repeat bottom 130px right 100px/282px url("/images/about/sec08_deco.png");
}
.sec08__box {
  padding: 4rem 3.5rem;
  background-color: #eff7fa;
  border-radius: 2rem;
  display: flex;
  justify-content: center;
  align-items: start;
  flex-flow: row wrap;
  gap: 2rem;
}
.sec08__box .cmn-textbox {
  width: min(100%, 637px);
  line-height: 4rem;
}

/* -------------------------------------------------------------------------- */
/*                                New Customer                                */
/* -------------------------------------------------------------------------- */
.sec09__list {
  width: 100%;
  height: 450px;
  border-radius: 20px;
  overflow: auto;
  margin-inline: auto;
  counter-reset: sec09;
  padding: 3rem;
  background-color: #faeff1;
}
.sec09__item:not(:last-child) {
  margin-bottom: clamp(30px, 2.5vw, 45px);
}
.sec09__item-title {
  font-size: clamp(18px, 2.5vw, 24px);
  color: #da8a93;
  margin-bottom: 1.5rem;
}
.sec09__item-title::before {
  counter-increment: sec09;
  content: counter(sec09, decimal-leading-zero) ".";
}
.sec09__item-list {
  list-style: inside disc;
}

.sec10 {
  background: repeat center/337px url("/images/common/pattern06.png");
}
.sec10__wrapper-m {
  position: relative;
  z-index: 10;
}
.sec10__wrapper-m::before {
  content: "";
  position: absolute;
  inset: auto auto 0 0;
  width: 316px;
  height: 437px;
  border-radius: 0;
  background: no-repeat center/contain url("/images/top/sec04_deco2.png");
  transform: translate(-321px, 60px);
  z-index: -20;
}
.sec10__header {
  width: fit-content;
  margin-inline: auto;
  position: relative;
  padding-inline: 7rem;
  z-index: 10;
}
.sec10__header::before, .sec10__header::after {
  content: "";
  position: absolute;
  margin-block: auto;
  background: no-repeat center/contain;
  width: 42px;
  height: 28px;
  border-radius: 0;
}
.sec10__header::before {
  inset: 0 auto 0 0;
  background-image: url("/images/new-customers/sec10_deco1.png");
}
.sec10__header::after {
  inset: 0 0 0 auto;
  background-image: url("/images/new-customers/sec10_deco2.png");
}
.sec10__box {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: row nowrap;
  gap: 5rem 9rem;
  position: relative;
}
.sec10__box::before {
  content: "";
  border-style: solid;
  width: 0;
  height: 0;
  border-radius: 0;
  z-index: 10;
  border-color: transparent transparent transparent #da8a93;
  border-width: 30px 0 30px 35px;
  position: absolute;
}
.sec10__list {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: row wrap;
  gap: 2rem;
}
.sec10__item {
  width: 220px;
  height: 200px;
  border-radius: 20px;
}
.sec10__item img {
  width: inherit;
  height: inherit;
  border-radius: inherit;
}

.sec11 {
  padding-bottom: 0;
}
.sec11__list {
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-flow: row wrap;
  gap: 6rem;
  counter-reset: flow;
}
.sec11__item {
  width: min(100%, 320px);
  background-color: #faeff1;
  border-radius: 2rem;
  padding: 2rem 1.5rem;
  display: flex;
  justify-content: start;
  align-items: center;
  flex-flow: column nowrap;
}
.sec11__item:not(:last-child) {
  position: relative;
}
.sec11__item:not(:last-child)::before {
  content: "";
  border-style: solid;
  width: 0;
  height: 0;
  border-radius: 0;
  z-index: 10;
  border-color: transparent transparent transparent #da8a93;
  border-width: 15px 0 15px 18px;
  position: absolute;
  inset: 0 0 0 auto;
  margin-block: auto;
  transform: translateX(40px);
}
.sec11__item:nth-child(3n)::before {
  display: none;
}
.sec11__item-img {
  margin-bottom: 2rem;
}
.sec11__item-header {
  margin-bottom: 1rem;
}
.sec11__item-header h4 {
  font-weight: 700;
  font-size: clamp(17px, 2.5vw, 20px);
  position: relative;
  padding-left: 3.7rem;
}
.sec11__item-header h4::before {
  counter-increment: flow;
  content: counter(flow, decimal-leading-zero);
  inset: 0 auto 0 0;
  margin-block: auto;
  font-size: 3rem;
  color: #da8a93;
  position: absolute;
  transform: translateY(-8px);
}
.sec11__item-box {
  flex-grow: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #ffffff;
  padding: 1rem;
}
.sec11__item-box p {
  line-height: 2.5rem;
  font-size: clamp(14px, 2.5vw, 16px);
}

/* -------------------------------------------------------------------------- */
/*                                   Pricing                                  */
/* -------------------------------------------------------------------------- */
.sec12 {
  background: repeat top/337px url("/images/common/pattern07.png");
}
.sec12__list {
  width: min(100%, 865px);
  list-style: "※" inside;
  margin-inline: auto;
  margin-bottom: 6rem;
}
.sec12__box {
  display: flex;
  justify-content: center;
  align-items: start;
  gap: 2rem;
  margin-bottom: 6rem;
}
.sec12__box-list {
  width: min(100%, 655px);
}
.sec12__box-item:not(:last-child) {
  margin-bottom: 3rem;
}
.sec12__box-title {
  width: 200px;
  height: 40px;
  border-radius: 10px;
  text-align: center;
  font-weight: 700;
  color: #ffffff;
  font-size: clamp(17px, 2.5vw, 20px);
  background-color: #da8a93;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 1.5rem;
}
.sec12__box-title--accent {
  background-color: #8ab3da;
}
.sec12__table {
  width: 100%;
  table-layout: fixed;
  background-color: #ffffff;
  border-radius: 2rem;
  border-spacing: 0;
  overflow: hidden;
  margin-bottom: 10rem;
}
.sec12__table--course1 {
  background-color: #eff7fa;
}
.sec12__table--course2 {
  background-color: #faeff1;
}
.sec12__table tr:last-of-type th {
  border-radius: 0 0 0 2rem;
}
.sec12__table tr:last-of-type td:last-of-type {
  border-radius: 0 0 2rem 0;
}
.sec12__table tr:first-of-type th {
  color: #ffffff;
  font-size: clamp(17px, 2.5vw, 20px);
  font-weight: 700;
  padding: 2rem;
}
.sec12__table tr:first-of-type th:nth-child(1) {
  background-color: #442800;
}
.sec12__table tr:first-of-type th:nth-child(2) {
  background-color: #8ab3da;
}
.sec12__table tr:first-of-type th:nth-child(3) {
  background-color: #da8a93;
}
.sec12__table tr:not(:last-child) th,
.sec12__table tr:not(:last-child) td {
  border-bottom: 1px solid #442800;
}
.sec12__table th,
.sec12__table td {
  text-align: center;
  padding: 1.5rem;
}

/* -------------------------------------------------------------------------- */
/*                                   Product                                  */
/* -------------------------------------------------------------------------- */
.sec13 {
  background: repeat top/337px url("/images/common/pattern06.png");
}
.sec13__wrapper-m {
  padding-top: 0;
  position: relative;
  z-index: 10;
}
.sec13__wrapper-m::before {
  content: "";
  position: absolute;
  inset: auto auto 0 0;
  width: 316px;
  height: 437px;
  border-radius: 0;
  background: no-repeat center/contain url("/images/product/sec13_deco.png");
  transform: translate(-233px, 60px);
  z-index: -20;
}
.sec13__list {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: row wrap;
  gap: 3rem;
  margin-bottom: 12rem;
}
.sec13__item img {
  width: 340px;
  height: 340px;
  border-radius: 0;
}

/* -------------------------------------------------------------------------- */
/*                                    Store                                   */
/* -------------------------------------------------------------------------- */
.sec14__wrapper-xl {
  position: relative;
  z-index: 10;
}
.sec14__wrapper-xl::before, .sec14__wrapper-xl::after {
  content: "";
  position: absolute;
  background: no-repeat center/contain;
  z-index: -20;
}
.sec14__wrapper-xl::before {
  inset: 0 auto auto 0;
  width: 295px;
  height: 401px;
  border-radius: 0;
  background-image: url("/images/store/sec14_deco1.png");
  transform: translate(110px, 115px);
}
.sec14__wrapper-xl::after {
  inset: 0 0 auto auto;
  width: 291px;
  height: 436px;
  border-radius: 0;
  background-image: url("/images/store/sec14_deco2.png");
  transform: translate(-110px, 235px);
}
.sec14__wrapper {
  width: min(100%, 800px);
  margin-inline: auto;
  margin-bottom: 5rem;
}
.sec14__list {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: row wrap;
  gap: 6rem;
}
.sec14__item img {
  width: 320px;
  height: 250px;
  border-radius: 0;
  border-radius: 2rem;
}

.sec15 {
  background: repeat top/337px url("/images/common/pattern06.png");
}
.sec15__wrapper {
  width: min(100%, 500px);
  margin-inline: auto;
}
.sec15__table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 1rem;
}
.sec15__table th,
.sec15__table td {
  vertical-align: middle;
  padding: 1rem;
}
.sec15__table th {
  background-color: #ffffff;
  color: #da8a93;
  text-align: center;
}

/* -------------------------------------------------------------------------- */
/*                                   Footer                                   */
/* -------------------------------------------------------------------------- */
.footer {
  padding-block: 6rem;
  background-color: #faeff1;
}
.footer__wrapper-m, .footer__box {
  display: flex;
}
.footer__wrapper-m {
  justify-content: center;
  align-items: center;
  flex-flow: row nowrap;
  gap: 2rem 4.8rem;
}
.footer__box {
  justify-content: center;
  align-items: start;
  flex-flow: column nowrap;
}
.footer__box .cmn-sns {
  margin-bottom: clamp(20px, 2.5vw, 30px);
}
.footer__box .cmn-address {
  margin-bottom: clamp(20px, 2.5vw, 40px);
}
.footer__nav {
  width: min(100%, 700px);
  padding: 1.5rem;
  background-color: #ffffff;
  border-radius: 1rem;
  margin-bottom: clamp(15px, 2.5vw, 20px);
}
.footer__list {
  display: flex;
  justify-content: start;
  align-items: center;
  flex-flow: row wrap;
}
.footer__item {
  position: relative;
}
.footer__item:not(:last-child)::before {
  content: "";
  position: absolute;
  inset: 0 0 0 auto;
  width: 1px;
  height: 13px;
  border-radius: 0;
  background-color: #442800;
  margin-block: auto;
}
.footer__item-link {
  padding-inline: 0.5rem;
  font-size: 1.4rem;
}
.footer__item-link:hover, .footer__item-link--current {
  color: #da8a93;
}
.footer__copyright {
  font-size: 1.2rem;
}
.footer__copyright a {
  display: inline-flex;
}