@charset "utf-8";

/* !Reseting
---------------------------------------------------------- */
.ct_bg div, .ct_bg pre, .ct_bg p, .ct_bg blockquote, .ct_bg figure, .ct_bg dl, .ct_bg dt, .ct_bg dd, .ct_bg ul, .ct_bg ol, .ct_bg li, .ct_bg h1, .ct_bg h2, .ct_bg h3, .ct_bg h4, .ct_bg h5, .ct_bg h6, .ct_bg form, .ct_bg fieldset, .ct_bg th, .ct_bg td
{ margin: 0; padding: 0;}
.ct_bg input, .ct_bg textarea
{ margin: 0; font-size: 100%;}
.ct_bg label
{ cursor: pointer;}
.ct_bg table
{ border-collapse: collapse; border-spacing: 0; font-size: 100%;}
.ct_bg fieldset, .ct_bg img
{ border: 0;}
.ct_bg img
{ vertical-align: top;}
.ct_bg address, .ct_bg caption, .ct_bg cite, .ct_bg code, .ct_bg dfn, .ct_bg em, .ct_bg th, .ct_bg var
{ font-style: normal; font-weight: normal;}
.ct_bg ol, .ct_bg ul
{ list-style: none;}
.ct_bg caption, .ct_bg th
{ text-align: left;}
.ct_bg h1, .ct_bg h2, .ct_bg h3, .ct_bg h4, .ct_bg h5, .ct_bg h6
{ font-size: 100%; font-weight: normal;}
.ct_bg q:after, .ct_bg q:before
{ content:'';}
.ct_bg a, .ct_bg input
{ outline: none; }
.ct_bg abbr, .ct_bg acronym
{ border: 0;}
.ct_bg span,
.ct_bg small {
  font-family: inherit;
  font-weight: inherit;
}
.ct_bg strong {
  font-family: inherit;
  font-weight: 900;
}
.ct_bg li:before {
  content: normal;
  width: auto;
  height: auto;
  background: none;
  border-radius: 0;
  position: initial;
  left: auto;
  top: auto;
}

html {
  scroll-padding-top: 80px;
}

#contents {
  padding: 0;
  width: 100%;
}

.onlySP {
  display: none;
}

.ct_bg {
  position: relative;
  background: #FCE5E8;
  color: #7E644D;
  font-family: var(--font-m-plus-rounded);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
  overflow-x: clip;
}

.ct_bg .wrapper01 {
  position: relative;
  padding-top: min(80px, 5.71vw);
}

.ct_bg a {
  color: #7E644D;
  text-decoration: underline;
}
.ct_bg a:hover {
  text-decoration: none;
}

.ct_bg .imgOver01 img {
  transition: opacity .3s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

@media (any-hover: hover) {
.ct_bg .imgOver01 a:hover img {
  opacity: .6;
}
}

.ct_bg .center {
  text-align: center !important;
}
.ct_bg .right {
  text-align: right !important;
}

.ct_bg .mt20 {
  margin-top: 20px;
}
.ct_bg .mt30 {
  margin-top: 30px;
}
.ct_bg .mt40 {
  margin-top: 40px;
}
.ct_bg .mt60 {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
html {
  scroll-padding-top: 22.5vw;
}

.ct_bg {
  font-size: 3.5vw;
}
.ct_bg .wrapper01 {
  padding-top: 16.5vw;
}

.ct_bg a {
  text-decoration: underline;
}
.ct_bg a:hover {
  text-decoration: none;
}
.ct_bg img {
  width: 100%;
  height: auto;
}

.onlyPC {
  display: none;
}
.onlySP {
  display: block;
}
img.onlySP {
  display: inline-block;
}

.ct_bg .mt20 {
  margin-top: 5vw;
}
.ct_bg .mt30 {
  margin-top: 7.5vw;
}
.ct_bg .mt40 {
  margin-top: 10vw;
}
.ct_bg .mt60 {
  margin-top: 15vw;
}
}

/* header
---------------------------------------------------------- */
.ct_bg .headTitleArea01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding-top: 8px;
  padding-bottom: 8px;
  width: 100%;
}
.ct_bg .headTitleArea01 > .title01 {
  margin-right: 1em;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.2;
  rotate: .03deg;
}
.ct_bg .headTitleArea01 > .text01 {
  font-size: 14px;
  line-height: 1.2;
  rotate: .03deg;
}

.ct_bg .header01 {
  position: absolute;
  z-index: 16;
  top: 37px;
  left: 50%;
  translate: -50% 0;
  padding: min(20px, 1.4vw) min(30px, 2.1vw) min(17px, 1.2vw) min(30px, 2.1vw);
  width: min(1360px, calc(100% - 40px));
  background: #FFF;
  box-shadow: 0 4px 0 0 rgba(246, 200, 221, 0.40);
  border-radius: 100vmax;
}
.ct_bg .header01.fixed {
  position: fixed;
  top: 15px;
}

.ct_bg .header01 > .inner01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

.ct_bg .headBlock01 > .logo01 {
  width: min(272px, 19.42vw);
  font-size: 0;
  line-height: 1.0;
}

.ct_bg .navButton01 {
  display: none;
}

.ct_bg .globalNavArea01 > .logo01 {
  display: none;
}
.ct_bg .globalNav01 > ul {
  display: flex;
  flex-wrap: wrap;
  column-gap: min(30px, 2.1vw);
}

.ct_bg .globalNav01 > ul > li {
  position: relative;
  font-size: 0;
  line-height: 1.0;
}
.ct_bg .globalNav01 > ul > li > a {
  display: block;
  position: relative;
  padding-left: min(30px, 1.6vw);
  transition: opacity .4s;
}
@media (any-hover: hover) {
.ct_bg .globalNav01 > ul > li > a:hover {
  opacity: .6;
}
}

.ct_bg .globalNav01 > ul > li > a::before {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  left: 0;
  content: "";
  width: min(13px, .92vw);
  aspect-ratio: 1 / 1;
  background: #BBE2F1;
  border-radius: 50%;
}

.ct_bg .globalNav01 > ul > li > a > .navImg01 {
  width: min(274px, 19.57vw);
}
.ct_bg .globalNav01 > ul > li > a > .navImg02 {
  width: min(170px, 12.14vw);
}


@media screen and (max-width: 767px) {
.ct_bg .headTitleArea01 {
  display: block;
  padding: 2vw 2.5vw;
  text-align: center;
}
.ct_bg .headTitleArea01::after {
  clear: both;
}
.ct_bg .headTitleArea01 > .title01 {
  font-size: 3vw;
}
.ct_bg .headTitleArea01 > .text01 {
  margin-right: 1vw;
  font-size: 3vw;
}

.ct_bg .header01 {
  top: 12vw;
  left: 50%;
  translate: -50% 0;
  margin: 0;
  padding: 0;
  width: 95vw;
}
.ct_bg .header01.active {
  position: fixed;
  z-index: 10000;
  top: calc(59.4px + 12.25vw);
  border-radius: 7vw;
}
.ct_bg .header01.fixed.active {
  top: 2.5vw;
  height: 95vh;
}

.ct_bg .header01.visible01 {
  position: fixed;
  top: 0;
  translate: 0 0;
}
.ct_bg .header01.fixed {
  position: fixed;
  top: 2.5vw;
}


.ct_bg .headBlock01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 2vw 2vw 2vw 3.75vw;
}

.ct_bg .headBlock01 > .logo01 {
  width: 30.5vw;
  transition: opacity .4s, visibility .4s;
}
.ct_bg .active .headBlock01 > .logo01 {
  opacity: 0;
  visibility: hidden;
}

.ct_bg .navButton01 {
  display: block;
  position: relative;
  width: 10vw;
  height: 10vw;
  background: #FCE5E8;
  border-radius: 50%;
  border: none;
  outline: none;
  cursor: pointer;
  transition: all .1s;
}

.ct_bg .navButton01 > .top,
.ct_bg .navButton01 > .middle,
.ct_bg .navButton01 > .bottom {
  position: absolute;
  z-index: 10;
  left: 50%;
  translate: -50% 0;
  padding: 0;
  width: 5.5vw;
  height: .75vw;
  background: #7E644D;
  border-radius: 100vmax;
  text-indent: 100%;
  white-space: nowrap;
  transition: all .1s;
}

.ct_bg .navButton01 > .top {
  top: 2.875vw;
}

.ct_bg .navButton01 > .bottom {
  top: 4.625vw;
}

.ct_bg .navButton01 > .middle {
  top: 6.375vw;
}

.ct_bg .active .navButton01 > .middle {
  background: none;
}

.ct_bg .active .navButton01 > .top {
  top: 4.7vw;
  transform: rotate(45deg);
}

.ct_bg .active .navButton01 > .bottom {
  top: 4.7vw;
  transform: rotate(-45deg);
}

.ct_bg .globalNavArea01 {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  margin-top: 1vw;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  transition: opacity .4s;
}
.ct_bg .active .globalNavArea01 {
  position: relative;
  opacity: 1.0;
  visibility: visible;
  height: min(97vw, 500px);
  overflow-y: auto;
  scrollbar-width: none;
}

.ct_bg .globalNavArea01 > .logo01 {
  display: block;
  margin: 0 auto;
  width: 80vw;
}

.ct_bg .globalNav01 {
  margin: 7.5vw auto 0;
  width: 80vw;
  border-top: .5vw solid #FCE5E8;
}

.ct_bg .globalNav01 > ul > li {
  position: relative;
  width: 100%;
  border-bottom: .5vw solid #FCE5E8;
}
.ct_bg .globalNav01 > ul > li > a {
  display: block;
  position: relative;
  padding: 3.75vw 0 3.75vw 5.75vw;
}
.ct_bg .globalNav01 > ul > li > a::before {
  width: 3.25vw;
}

.ct_bg .globalNav01 > ul > li > a > .navImg01 {
  width: 69vw;
}
.ct_bg .globalNav01 > ul > li > a > .navImg02 {
  width: 42.5vw;
}

}

/* footer
---------------------------------------------------------- */
.ct_bg .footer01 {
  position: relative;
  margin: min(160px, 11.42vw) auto 0;
  padding: 0 min(20px, 1.42vw) min(40px, 2.85vw);
  width: min(1240px, 88.57vw);
}

.ct_bg .footer01 > .image01 {
  display: block;
  margin-top: min(80px, 5.71vw);
}

.ct_bg .footer01 > .copyrights01 {
  margin-top: min(30px, 2.14vw);
  font-size: 12px;
  text-align: center;
  line-height: 1.4;
  rotate: 0.03deg;
}

.ct_bg .snsBtn01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin-top: 30px;
  gap: 10px;
}

.fb_iframe_widget > span {
  vertical-align: baseline !important;
}

@media screen and (max-width: 767px) {
.ct_bg .footer01 {
  margin-top: 40vw;
  padding: 0 3.75vw 10vw;
  width: 100%;
}
.ct_bg .footer01 > .image01 {
  margin-top: 20vw;
}

.ct_bg .footer01 > .copyrights01 {
  margin-top: 7.5vw;
  font-size: 3vw;
}

.ct_bg .snsBtn01 {
  margin-top: 7.5vw;
  gap: 2.5vw;
}
}


/* animation
---------------------------------------------------------- */
.ct_bg .js_fadeIn01 {
  opacity: 0;
}
.ct_bg .js_fadeIn01.is_show {
  animation: fadeIn01 1s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}

@keyframes fadeIn01 {
  0% {
    opacity: 0;
    translate: 0 50px;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}


/* contents
---------------------------------------------------------- */
.ct_bg .wrap01 {
  display: flex;
  flex-wrap: wrap;
}
.ct_bg .wrap01.bC {
  justify-content: center;
}
.ct_bg .wrap01.between {
  justify-content: space-between;
}
.ct_bg .wrap01.aC {
  align-items: center;
}

.ct_bg .mainImage01 {
  display: block;
  margin: 0 auto;
  padding: 0 20px;
  width: min(840px, 60vw);
}

.ct_bg .frameArea01 {
  margin-top: min(40px, 2.9vw);
  margin-inline: auto;
  padding-left: 20px;
  padding-right: 20px;
  max-width: 1400px;
}

.ct_bg .frameArea01 > .inner01 {
  position: relative;
  padding-top: min(80px, 5.7vw);
  aspect-ratio: 1360 / 570;
  background: url(../img/bg01.png) repeat 0 0 / 25% auto;
  border-radius: 60px;
  overflow: hidden;
}
.ct_bg .frameArea01 > .inner01::before {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  content: "";
  width: min(700px, 50vw);
  aspect-ratio: 1 / 1;
  background: #fff;
  border-radius: 50%;
}

.ct_bg .frameArea01 > .inner01 > .title01 {
  position: relative;
  margin: 0 auto;
  width: min(473px, 33.78vw);
  text-align: center;
}

.ct_bg .frameArea01 > .inner01 > .text01 {
  position: relative;
  margin-top: 15px;
  color: #7E644D;
  text-align: center;
  font-size: min(20px, 1.42vw);
  font-weight: 900;
  line-height: 2.0;
  rotate: .03deg;
}
.ct_bg .frameArea01 > .inner01 > .image01 {
  position: absolute;
  top: min(217px, 15.5vw);
  left: min(974px, 69.57vw);
  width: min(255px, 18.21vw);
}
.ct_bg .frameArea01 > .inner01 > .image02 {
  position: absolute;
  top: min(316px, 22.57vw);
  left: min(203px, 14.5vw);
  width: min(172px, 12.28vw);
}
.ct_bg .frameArea01 > .inner01 > .image03 {
  position: absolute;
  top: min(36px, 2.57vw);
  left: min(945px, 67.5vw);
  width: min(169px, 12.07vw);
}
.ct_bg .frameArea01 > .inner01 > .image04 {
  position: absolute;
  top: min(163px, 11.6vw);
  left: min(264px, 18.85vw);
  width: min(174px, 12.42vw);
}
.ct_bg .frameArea01 > .inner01 > .image05 {
  position: absolute;
  top: min(428px, 30.57vw);
  left: min(932px, 66.57vw);
  width: min(150px, 10.71vw);
}

.ct_bg .frameArea02 {
  margin-top: min(30px, 2.14vw);
  margin-inline: auto;
  padding: min(26px, 1.85vw);
  border: 4px solid #FFF;
  width: min(1200px, 85.71vw);
  border-radius: 60px;
  background: #FFF;
  overflow: hidden;
}
.ct_bg .frameArea02:has(.title01) {
  padding-top: 0;
}

.ct_bg .frameArea02 > .title01 {
  margin-left: min(-26px, -1.85vw);
  margin-right: min(-26px, -1.85vw);
  padding: min(24px, 1.71vw) min(10px, 0.71vw) min(20px, 1.42vw) min(10px, 0.71vw);
  background: #D2ECFA;
  text-align: center;
  font-size: min(30px, 2.14vw);
  font-weight: 900;
  line-height: 1.6;
}

.ct_bg .frameArea02 > .text01 {
  margin-top: min(20px, 1.42vw);
  text-align: center;
  font-size: min(32px, 2.28vw);
  font-weight: 900;
  line-height: 1.6;
}

.ct_bg .frameArea03 {
  margin-top: min(40px, 2.84vw);
  padding-top: min(35px, 2.5vw);
  padding-bottom: min(40px, 2.85vw);
  background-image: repeating-linear-gradient(90deg, #f6c8d4, #f6c8d4 8px, transparent 8px, transparent 16px), repeating-linear-gradient(90deg, #f6c8d4, #f6c8d4 8px, transparent 8px, transparent 16px);
  background-position: left top, left bottom;
  background-repeat: repeat-x, repeat-x;
  background-size: 100% 4px, 100% 4px;
}

.ct_bg .textBlock01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin-top: min(15px, 1.07vw);
  column-gap: min(20px, 1.42vw);
}
.ct_bg .textBlock01:first-child {
  margin-top: 0;
}

.ct_bg .textBlock01 > .text01 {
  display: inline-block;
  padding: min(4px, 0.28vw) min(15px, 1.07vw);
  border-radius: min(4px, 0.28vw);
  border: 1px solid #E75297;
  color: #E75297;
  text-align: center;
  font-size: min(14px, 1.0vw);
  font-weight: 400;
  line-height: 1.8;
  rotate: .03deg;
}

.ct_bg .textBlock01 > .text02 {
  font-size: min(14px, 1.0vw);
  font-weight: 400;
  line-height: 1.8;
  rotate: .03deg;
}

.ct_bg .textBlock01 > .text02 > .price {
  font-size: min(18px, 1.28vw);
}

.ct_bg .txt01 {
  margin-top: min(20px, 1.42vw);
  font-size: min(16px, 1.14vw);
  rotate: .03deg;
}
.ct_bg .heading02 + .txt01 {
  margin-top: min(15px, 1.07vw);
}

.ct_bg .notes01 {
  margin-top: min(20px, 1.42vw);
  font-size: min(12px, 0.85vw);
  rotate: .03deg;
}

.ct_bg .img01 {
  display: block;
  margin: min(20px, 1.42vw) auto 0;
  border-radius: min(40px, 2.85vw);
  overflow: hidden;
}
.ct_bg .img01:first-child {
  margin-top: 0;
}
.ct_bg .img01.type02 {
  margin-top: min(10px, 0.71vw);
}
.ct_bg .img01.type03 {
  margin-top: min(40px, 2.85vw);
}

.ct_bg .img02 {
  display: block;
  margin-top: min(10px, 0.71vw);
}
.ct_bg .img02:first-child {
  margin-top: 0;
}
.ct_bg .img03 {
  display: block;
  margin-top: min(40px, 2.85vw);
}
.ct_bg .img03:first-child {
  margin-top: 0;
}
.ct_bg .img04 {
  display: block;
  margin-top: min(20px, 2.85vw);
}
.ct_bg .img04:first-child {
  margin-top: 0;
}

.ct_bg .list01 {
  margin-top: min(20px, 1.42vw);
}
.ct_bg .list01 > li {
  position: relative;
  margin-top: min(10px, 0.71vw);
  padding-left: min(18px, 1.28vw);
  font-size: min(16px, 1.14vw);
  rotate: .03deg;
}
.ct_bg .list01 > li:first-child {
  margin-top: 0;
}
.ct_bg .list01 > li::before {
  position: absolute;
  top: .5em;
  left: 0;
  content: "";
  width: min(10px, 0.71vw);
  aspect-ratio: 1 / 1;
  background: #F6C8D4;
  border-radius: 50%;
}

.ct_bg .section01 {
  margin-top: min(80px, 5.71vw);
}
.ct_bg .section02 {
  margin-top: min(40px, 2.85vw);
}

.ct_bg .headingImg01 {
  display: table;
  position: relative;
  margin: 0 auto;
  padding: min(81px, 5.78vw) min(199px, 14.21vw) min(31px, 2.21vw) min(279px, 19.93vw);
}
.ct_bg .headingImg01:first-child {
  margin-top: min(20px, 1.42vw);
}

.ct_bg .headingImg01 > .image01 {
  width: min(556px, 39.71vw);
}
.ct_bg .headingImg01 > .image02 {
  position: absolute;
  top: 0;
  left: 0;
  width: min(245px, 17.5vw);
}
.ct_bg .headingImg01 > .image03 {
  position: absolute;
  bottom: 0;
  right: 0;
  width: min(232px, 16.57vw);
}

.ct_bg .heading01 {
  padding: 10px 20px;
  background: rgba(255, 255, 255, 0.50);
}
.ct_bg .heading01 > .inner01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  column-gap: min(30px, 2.14vw);
  position: relative;
  font-size: min(42px, 3.0vw);
  font-weight: 900;
  line-height: 1.6;
  text-align: center;
}
.ct_bg .heading01 > .inner01::before {
  content: "";
  width: min(73px, 5.21vw);
  aspect-ratio: 73 / 55;
  background: url(../img/ic02.png) no-repeat 0 0 / cover;
}
.ct_bg .heading01 > .inner01::after {
  content: "";
  width: min(62px, 4.42vw);
  aspect-ratio: 124 / 94;
  background: url(../img/ic03.png) no-repeat 0 0 / cover;
}

.ct_bg .heading02 {
  font-size: min(32px, 2.28vw);
  font-weight: 900;
  line-height: 1.6;
}

.ct_bg .mallLinkTxt {
  display: table;
  margin: min(20px, 1.42vw) auto 0;
  width: 100%;
}
.ct_bg .mallLinkTxt:first-child {
  margin-top: 0;
}
.ct_bg .mallLinkTxt > a {
  display: block;
  position: relative;
  padding: min(20px, 1.42vw);
  border-radius: 100vmax;
  border: 2px solid #7E644D;
  background: linear-gradient(180deg, #FFF 0%, #CBE9FA 100%);
  box-shadow: 4px 4px 0 0 #7E644D;
  color: #7E644D;
  font-size: min(32px, 2.28vw);
  font-weight: 900;
  line-height: 1.6;
  text-decoration: none;
  text-align: center;
  transition: translate .3s, box-shadow .3s;
}
.ct_bg .mallLinkTxt > a > span {
  position: relative;
  padding-left: min(58px, 4.14vw);
}

.ct_bg .mallLinkTxt > a > span::before {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  left: 0;
  content: "";
  width: min(37px, 2.64vw);
  aspect-ratio: 37 / 39;
  background: url(../img/ic04.svg) no-repeat center / cover;
}
@media (any-hover: hover) {
  .ct_bg .mallLinkTxt > a:hover {
    translate: 4px 4px;
    box-shadow: 0 0 0 0 #7E644D;
  }
}
.ct_bg .mallLinkTxt > a > span.reserve::before {
  width: min(38px, 2.71vw);
  aspect-ratio: 1 / 1;
  background-image: url(../img/ic05.svg);
}
.ct_bg .mallLinkTxt > a > span.waiting::before {
  width: min(38px, 2.71vw);
  aspect-ratio: 38 / 34;
  background-image: url(../img/ic06.svg);
}

.ct_bg .btnList01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin-top: min(20px, 1.42vw);
  column-gap: 1.7%;
}
.ct_bg .btnList01.type02 {
  justify-content: space-between;
}
.ct_bg .btnList01 + .btnList01 {
  margin-top: min(25px, 1.78vw);
}

.ct_bg .notes01 + .btnList01 {
  margin-top: min(15px, 1.07vw);
}

.ct_bg .btnList01 > li {
  margin: 0;
  width: 49.1%;
}
.ct_bg .btnList01 > li > .textBlock01 {
  justify-content: flex-start;
}

.ct_bg .btn01 {
  display: table;
  margin: min(40px, 2.85vw) auto 0;
  width: 100%;
}
.ct_bg .btn01:first-child {
  margin-top: 0;
}

.ct_bg .btn01 > a {
  display: block;
  position: relative;
  padding: min(40px, 1.42vw) min(40px, 2.85vw);
  border-radius: 100vmax;
  border: 2px solid #7E644D;
  background: linear-gradient(180deg, #FFF 0%, #FFF7CA 100%);
  box-shadow: 4px 4px 0 0 #7E644D;
  color: #7E644D;
  font-size: min(32px, 2.28vw);
  font-weight: 900;
  line-height: 1.6;
  text-decoration: none;
  text-align: center;
  transition: translate .3s, box-shadow .3s;
}
.ct_bg .btn01 > a::before {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  left: min(30px, 2.14vw);
  content: "";
  width: min(15px, 1.07vw);
  aspect-ratio: 15 / 16;
  background: url(../img/ic01.svg) no-repeat center / cover;
}
@media (any-hover: hover) {
  .ct_bg .btn01 > a:hover {
    translate: 4px 4px;
    box-shadow: 0 0 0 0 #7E644D;
  }
}

.ct_bg .btn02 {
  display: table;
  margin: min(20px, 1.42vw) auto 0;
  width: 100%;
}
.ct_bg .btn02:first-child {
  margin-top: 0;
}

.ct_bg .btn02 > a {
  display: block;
  position: relative;
  padding: min(20px, 1.42vw);
  border-radius: 100vmax;
  border: 2px solid #7E644D;
  background: linear-gradient(180deg, #FFF 0%, #FCE5E8 100%);
  box-shadow: 4px 4px 0 0 #7E644D;
  color: #7E644D;
  font-size: min(32px, 2.28vw);
  font-weight: 900;
  line-height: 1.6;
  text-decoration: none;
  text-align: center;
  transition: translate .3s, box-shadow .3s;
}
.ct_bg .btn02 > a > span {
  position: relative;
  padding-left: min(30px, 2.14vw);
}

.ct_bg .btn02 > a > span::before {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  left: 0;
  content: "";
  width: min(15px, 1.07vw);
  aspect-ratio: 15 / 16;
  background: url(../img/ic01.svg) no-repeat center / cover;
}
@media (any-hover: hover) {
  .ct_bg .btn02 > a:hover {
    translate: 4px 4px;
    box-shadow: 0 0 0 0 #7E644D;
  }
}

.ct_bg .btn03 {
  display: table;
  margin: min(20px, 1.42vw) auto 0;
  width: 100%;
}
.ct_bg .btn03:first-child {
  margin-top: 0;
}

.ct_bg .btn03 > a {
  display: block;
  position: relative;
  padding: min(16px, 1.14vw) min(15px, 1.07vw) min(14px, 1.00vw);
  border-radius: 100vmax;
  background: #FCE5E8;
  box-shadow: 4px 4px 0 0 #F8C7CD;
  color: #7E644D;
  font-size: min(25px, 1.78vw);
  font-weight: 900;
  line-height: 1.6;
  text-decoration: none;
  text-align: center;
  transition: translate .3s, box-shadow .3s;
}
.ct_bg .btn03 > a > span {
  position: relative;
  padding-left: min(27px, 1.92vw);
}
.ct_bg .btn03.pdf > a > span {
  padding-right: min(71px, 5.07vw);
}

.ct_bg .btn03 > a > span::before {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  left: 0;
  content: "";
  width: min(12px, .85vw);
  aspect-ratio: 15 / 16;
  background: url(../img/ic01.svg) no-repeat center / cover;
}
.ct_bg .btn03.pdf > a > span::after {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  right: 0;
  content: "PDF";
  padding: min(5px, 0.36vw) min(10px, 0.71vw);
  border-radius: 100vmax;
  background: #7E644D;
  color: #FCE5E8;
  text-align: center;
  font-size: min(18px, 1.28vw);
  font-weight: 900;
  line-height: 1.0;
  rotate: .03deg;
}
@media (any-hover: hover) {
  .ct_bg .btn03 > a:hover {
    translate: 4px 4px;
    box-shadow: 0 0 0 0 #F8C7CD;
  }
}


@media screen and (max-width: 767px) {
.ct_bg .mainImage01 {
  padding: 0;
  width: 100%;
}

.ct_bg .frameArea01 {
  margin-top: 0;
  padding-left: 2.5vw;
  padding-right: 2.5vw;
}

.ct_bg .frameArea01 > .inner01 {
  padding-top: 30vw;
  aspect-ratio: 380 / 566;
  background: url(../img/bg01.png) repeat 0 0 / 12% auto;
  border-radius: 15vw;
}
.ct_bg .frameArea01 > .inner01::before {
  width: 116.5vw;
}

.ct_bg .frameArea01 > .inner01 > .title01 {
  width: 62.5vw;
}

.ct_bg .frameArea01 > .inner01 > .text01 {
  margin-top: 15px;
  font-size: 3.5vw;
}
.ct_bg .frameArea01 > .inner01 > .image01 {
  top: 8vw;
  left: 4vw;
  width: 31.87vw;
}
.ct_bg .frameArea01 > .inner01 > .image02 {
  top: 11.75vw;
  left: 67.5vw;
  width: 21.41vw;
}
.ct_bg .frameArea01 > .inner01 > .image03 {
  top: 112.25vw;
  left: 4.75vw;
  width: 21.12vw;
}
.ct_bg .frameArea01 > .inner01 > .image04 {
  top: 121vw;
  left: 36.58vw;
  width: 21.73vw;
}
.ct_bg .frameArea01 > .inner01 > .image05 {
  top: 110vw;
  left: 71.75vw;
  width: 18.67vw;
}

.ct_bg .frameArea02 {
  margin: 7.5vw auto 0;
  padding: 1.5vw 1.5vw 5.25vw;
  border: 1vw solid #FFF;
  width: 95vw;
  border-radius: 7.5vw;
}

.ct_bg .frameArea02 > .title01 {
  margin-left: -1.5vw;
  margin-right: -1.5vw;
  padding: min(19px, 4.75vw) min(10px, 2.5vw) min(15px, 3.75vw) min(10px, 2.5vw);
  font-size: 5vw;
}

.ct_bg .frameArea02 > .text01 {
  margin-top: 5vw;
  font-size: 5vw;
}

.ct_bg .frameArea03 {
  margin-top: 10vw;
  padding: 8.75vw 1.25vw 10vw;
  background-image: repeating-linear-gradient(90deg, #f6c8d4, #f6c8d4 2vw, transparent 2vw, transparent 4vw), repeating-linear-gradient(90deg, #f6c8d4, #f6c8d4 2vw, transparent 2vw, transparent 4vw);
  background-position: left top, left bottom;
  background-repeat: repeat-x, repeat-x;
  background-size: 100% 1vw, 100% 1vw;
}

.ct_bg .textBlock01 {
  margin-top: 3.75vw;
  row-gap: 2.5vw;
}

.ct_bg .textBlock01 > .text01 {
  padding: 1vw 3.75vw;
  border-radius: 1vw;
  font-size: 3.5vw;
}

.ct_bg .textBlock01 > .text02 {
  width: 100%;
  font-size: 3.5vw;
  text-align: center;
}

.ct_bg .textBlock01 > .text02 > .price {
  font-size: 4.5vw;
}

.ct_bg .txt01 {
  margin-top: 5vw;
  font-size: 4vw;
}
.ct_bg .heading02 + .txt01 {
  margin-top: 3.75vw;
}
.ct_bg .notes01 {
  margin-top: 5vw;
  font-size: 3vw;
}

.ct_bg .img01 {
  margin: 5vw auto 0;
  border-radius: 5vw;
}
.ct_bg .img01.type02 {
  margin-top: 2.5vw;
}
.ct_bg .img01.type03 {
  margin-top: 10vw;
}
.ct_bg .img02 {
  margin-top: 2.5vw;
}
.ct_bg .img03 {
  margin-top: 10vw;
}
.ct_bg .img04 {
  margin-top: 5vw;
}

.ct_bg .list01 {
  margin-top: 5vw;
}
.ct_bg .list01 > li {
  margin-top: 2.5vw;
  padding-left: 4.5vw;
  font-size: 4vw;
}
.ct_bg .list01 > li::before {
  width: 2.5vw;
}

.ct_bg .section01 {
  margin-top: 20vw;
}
.ct_bg .section02 {
  margin-top: 5vw;
}

.ct_bg .headingImg01 {
  padding: 21.37vw 8.37vw 12.56vw;
}
.ct_bg .headingImg01:first-child {
  margin-top: 2.5vw;
}
.ct_bg .headingImg01 > .image01 {
  width: 100%;
}
.ct_bg .headingImg01 > .image02 {
  left: 2.5vw;
  width: 30.62vw;
}
.ct_bg .headingImg01 > .image03 {
  right: 2.6vw;
  width: 28.9vw;
}

.ct_bg .heading01 {
  padding: 2.5vw 5vw;
}
.ct_bg .heading01 > .inner01 {
  column-gap: 7.5vw;
  font-size: 7vw;
}
.ct_bg .heading01 > .inner01::before {
  width: 13.68vw;
}
.ct_bg .heading01 > .inner01::after {
  width: 11.62vw;
}

.ct_bg .heading02 {
  font-size: 5vw;
}


.ct_bg .mallLinkTxt {
  margin: 10vw auto 0;
  width: 87.5vw;
}
.ct_bg .mallLinkTxt > a {
  padding: 3.75vw;
  border: .5vw solid #7E644D;
  box-shadow: 1vw 1vw 0 0 #7E644D;
  font-size: 5vw;
}
.ct_bg .mallLinkTxt > a > span {
  padding-left: 11vw;
}

.ct_bg .mallLinkTxt > a > span::before {
  width: 5.5vw;
}
.ct_bg .mallLinkTxt > a > span.reserve::before {
  width: 5.75vw;
}
.ct_bg .mallLinkTxt > a > span.waiting::before {
  width: 5.75vw;
}

.ct_bg .btnList01 {
  margin-top: 5vw;
  row-gap: 5vw;
}
.ct_bg .btnList01 + .btnList01 {
  margin-top: 6.25vw;
}
.ct_bg .notes01 + .btnList01 {
  margin-top: 3.75vw;
}

.ct_bg .btnList01 > li {
  margin: 0;
  width: 100%;
}
.ct_bg .btnList01 > li > .textBlock01 {
  justify-content: center;
}
.ct_bg .btn01 {
  margin: 10vw auto 0;
  width: 87.5vw;
}

.ct_bg .btn01 > a {
  padding: 3.75vw 3.75vw 3.75vw 14.25vw;
  border: .5vw solid #7E644D;
  box-shadow: 1vw 1vw 0 0 #7E644D;
  font-size: 5vw;
}
.ct_bg .btn01 > a::before {
  left: 7.5vw;
  width: 3vw;
}


.ct_bg .btn02 {
  margin: 10vw auto 0;
  width: 87.5vw;
}

.ct_bg .btn02 > a {
  padding: 3.75vw;
  border: .5vw solid #7E644D;
  box-shadow: 1vw 1vw 0 0 #7E644D;
  font-size: 5vw;
}
.ct_bg .btn02 > a > span {
  padding-left: 6.75vw;
}

.ct_bg .btn02 > a > span::before {
  width: 3vw;
}


.ct_bg .btn03 {
  margin: 10vw auto 0;
  width: 87.5vw;
}

.ct_bg .btn03 > a {
  padding: 2.5vw;
  box-shadow: 1vw 1vw 0 0 #F8C7CD;
  font-size: 4vw;
}
.ct_bg .btn03 > a > span {
  padding-left: 6.25vw;
}
.ct_bg .btn03.pdf > a > span {
  padding-right: 13.75vw;
}

.ct_bg .btn03 > a > span::before {
  width: 2.5vw;
}
.ct_bg .btn03.pdf > a > span::after {
  padding: 1.25vw 2.5vw;
  font-size: 2.5vw;
}

}
