html {
    font-size: 10px;
    scroll-padding-top: 160px;
  }
body {
  margin: 0;
  background-color: #fff;
  color: #282828;
  font-family: "游明朝", "Yu Mincho", "YuMincho", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%; 
  word-wrap: break-word;
  -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body.hidden {
  overflow: hidden;
}
h1 span,
h2 span,
h3 span,
h4 span,
h5 span {
  display: inline-block;
}
.sp-only,
.small-only {
  display: none;
}
    
/*-- header --*/
#header {
  position: fixed;
  top: 0;
  left: 5.26vw;
  z-index: 999;
  width: calc(100% - 5.26vw);
  height: 100px;
  padding-left: 39px;
  background-color: rgba(255, 255, 255, 0);
  border-radius: 0 0 0 30px;
  display: flex;
  justify-content: space-between;
  /* トランジションの設定 */
  transition: all 0.4s ease;
}
/* スクロール時にJavaScriptによって付与されるクラス */
#header.is-scrolled {
  /* トランジションの最終状態 */
  background-color: rgba(255, 255, 255, 0.9);
}

.header-left {
  display: flex;
  align-items: center;
  padding-right: 39px;
  column-gap: 36px;
}
.header h1 {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(10px, 0.73vw, 14px);
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: calc(17 / 14);
}
.header-logo {
  max-width: 617px;
}
.header-right {
  display: flex;
}
.header-contact {
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', sans-serif;
  font-weight: 700;
  width: 329px;
  padding: 14px 0 13px;
  margin-right: 20px;
}
.header-contact-message {
  font-size: 12px;
}
.header-phone {
  width: 100%;
  margin-top: 1px;
}
.header-contact-bottom {
  display: flex;
  justify-content: space-between;
  font-size: 14px;
  margin-top: 4px;
}
.header-contact-time span {
  letter-spacing: 0.04em;
}
.header-contact-workday {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.header-contact-workday span {
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #AA8B5F;
}
.header-inquiry {
  width: 154px;
  height: 100px;
  background-color: #AA8B5F;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.header-inquiry div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.header-inquiry div img {
  width: 20px;
  height: 16px;
}
.header-inquiry div p {
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: calc(20 / 14);
  color: #FFFFFF;
  text-align: center;
  margin-top: 13px;
}

/*-- nav --*/
#g-nav {
  position:fixed;
  z-index: 999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(74, 80, 113, 0.95);
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
#g-nav.panelactive {
  display: flex;
}
#g-nav-list {
  width: 100%;
  height: 100vh;
  height: fit-content;
  display: flex;
  justify-content: center;
  column-gap: clamp(20px, 8.7vw, 167px);
}
#g-nav li {
  text-align: center; 
  list-style: none;
}
#g-nav.panelactive ul li {
  animation-name: gnaviAnime;
  animation-duration: 1s;
  animation-delay: .1s;
  animation-fill-mode: forwards;
  opacity: 0;
  position: relative;
  margin-top: 53px;
  text-align: left;
  white-space: nowrap;
}
@keyframes gnaviAnime {
  0% {
      opacity: 0;
  }
  100% {
      opacity: 1;
  }
}
#g-nav li a {
  display: block;
  padding-left: 1.5em;
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', sans-serif;
  font-size: clamp(14px, 3.2vw, 16px);
  font-weight: 500;
  letter-spacing: 0.03em;
  color: #fff;
  text-transform: uppercase;
  text-decoration: none;
}
#g-nav.panelactive ul li:first-child {
  margin-top: 0;
}
#g-nav.panelactive ul li::before {
  content: '>';
  font-size: 1em;
  color: #ffffff;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.openbtn {
  position: relative;
  cursor: pointer;
  width: 100px;
  height: 100px;
  background-color: #4A5070;
  overflow: hidden;
  z-index: 9999;
}
.openbtn .openbtn-area {
  transition: all .4s;
}
.openbtn span {
  display: inline-block;
  transition: all .4s;
  position: absolute;
  left: 33px;
  height: 3px;
  background: #ffffff;
  width: 35%;
  z-index: 9999;
}
.openbtn span:nth-of-type(1) {
  top: 35px;	
}
.openbtn span:nth-of-type(2) {
  top: 53px;
}
.openbtn span:nth-of-type(3) {
  top: 71px;
}
.openbtn.active .openbtn-area {
  transform: rotateX(360deg);
}
.openbtn.active span:nth-of-type(1) {
  top: 44px;
  left: 33px;
  transform: translateY(6px) rotate(-135deg);
  width: 50%;
}
.openbtn.active span:nth-of-type(2) {
  opacity: 0;
}
.openbtn.active span:nth-of-type(3){
  top: 56px;
  left: 33px;
  transform: translateY(-6px) rotate(135deg);
  width: 50%;
}

main {
  overflow: hidden;
}

.fv {
  width: 100%;
  height: 66.7vw;
  background-image: url(../images/bg_fv_01.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}
.fv .wrapper {
  width: 100%;
  padding-top: 100px;
  padding-left: clamp(90px, 11.56vw, 222px);
}
.fv .container {
  padding-top: clamp(37px, 3.8vw, 73px);
  display: flex;
  column-gap: 17px;
}
.fv .label {
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', sans-serif;
  font-size: clamp(14px, 1.3vw, 25px);
  font-weight: 500;
  color: #fff;
  text-align: center;
  border-radius: 27px;
  background-color: #AA8B5F;
  padding: clamp(7px, 0.7vw, 14px) clamp(14px, 1.4vw, 28px);
}
.fv .subTitle {
  font-size: clamp(26px, 2.7vw, 52px);
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #AA8B5F;
}
.fv .subTitle span {
  font-size: clamp(22px, 2.2vw, 43px);
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #000000;
}
.fv .title {
  display: flex;
  flex-direction: column;
  row-gap: clamp(13px, 1.4vw, 26px);
  font-size: clamp(30px, 3.1vw, 60px);
  font-weight: 500;
  color: #303030;
  margin-top: clamp(20px, 2.1vw, 40px);
}
.fv .title span {
  margin-left: clamp(28px, 3.6vw, 69px);
}
.fv .title span:last-of-type {
  margin-left: clamp(94px, 12.3vw, 236px);
}

.fv .campaign {
  padding: clamp(10px, 1.1vw, 20px) clamp(12px, 1.25vw, 24px) clamp(14px, 1.45vw, 28px);
  background-color: rgba(243, 45, 81, 0.86);
  border: 2px solid #ffffff;
  border-radius: 27px;
  position: absolute;
  bottom: clamp(64px, 6.6vw, 127px);
  bottom: 127px;
  right: clamp(122px, 12.7vw, 244px); 
  z-index: 2;
  display: flex;
  justify-content: center;
  width: clamp(220px, 19.8vw, 380px);
}
.fv .campaign-title {
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', sans-serif;
  font-size: clamp(17px, 1.8vw, 34px);
  font-weight: 700;
  line-height: calc(48 / 34);
  color: #fff;
}
.fv .campaign-title span {
  display: inline-block;
  white-space: nowrap;
}
.fv .campaign-description {
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', sans-serif;
  font-size: clamp(13px, 1vw, 19px);
  font-weight: 700;
  letter-spacing: -0.06em;
  line-height: calc(25 / 19);
  color: #ffffff;
  margin-top: clamp(9px, 1vw, 18px);
}
.fv .campaign-description span {
  display: inline-block;
  white-space: nowrap;
}
.fv .campaign-image {
  transform: scale(1.3);
  align-self: flex-end;
}
.fv .wave {
  position: absolute;
  bottom: -151px;
  left: 0;
  width: 100%;
  height: 510px;
  z-index: 0;
  animation: kf-vecAni01 20s infinite forwards cubic-bezier(0.45, 0.01, 0.73, 0.98);
  overflow: hidden;
}
.fv .wave > * {
  height: 100%;
}

@keyframes kf-vecAni01 {
  0% {
      scale: 1.4 .8
  }

  50% {
      scale: 1 1
  }

  100% {
      scale: 1.4 .8
  }
}

.first {
  width: 100%;
  padding-bottom: 124px;
  background-color: #F2F4FD;
  position: relative;
  z-index: 1;
}
.first .container {
  display: flex;
  align-items: flex-start;
  column-gap: clamp(64px, 8.1vw, 156px);
  width: 100%;
  max-width: 1550px;
  margin-left: 10.4vw;
}
.first .inner.left {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  margin-top: -7vw;
}
.first .image-box {
  width: 32.7vw;
  margin-top: 3.7vw;
}
.first .image-box.float {
  width: 31.14vw;
  margin-top: 0;
}
.first .inner.right {
  width: 26.6vw;
  padding-top: 6vw;
}
.first .title {
  font-size: clamp(50px, 5.2vw, 101px);
  font-weight: 600;
  color: #7C5757;
  position: relative;
}
.first .title::before {
  position: absolute;
  top: -3.48vw;
  left: -5.7vw;
  z-index: -1;
  display: inline-block;
  content: '新規OPEN';
  font-size: clamp(68px, 7vw, 135px);
  font-weight: 600;
  white-space: nowrap;
  color: rgba(224, 229, 250, 1);
  filter: blur(6px);
}
.first .title::after {
  position: absolute;
  top: 1.7vw;
  left: 0.62vw;
  z-index: -1;
  display: inline-block;
  content: '新規OPEN';
  font-size: clamp(55px, 5.7vw, 110px);
  font-weight: 600;
  white-space: nowrap;
  color: rgba(228, 232, 244, 1);
  filter: blur(4px);
}
.first .subTitle {
  font-size: clamp(18px, 1.45vw, 28px);
  letter-spacing: 0.06em;
  line-height: calc(54 / 28);
  margin-top: 5.4vw;
}
.first .content {
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', sans-serif;
  font-size: clamp(14px, 1.04vw, 20px);
  font-weight: 500;
  line-height: calc(41 / 20);
  color: #303030;
  margin-top: 3.2vw;
}
.first .content:first-of-type {
  margin-top: 5.1vw;
}
.first .ornament {
  position: absolute;
  top: 7.2vw;
  right: -3.17vw;
  width: 28.2vw;
}
.first h4 {
  font-size: clamp(22px, 2.3vw, 44px);
  letter-spacing: 0.06em;
  font-weight: 600;
  line-height: calc(82 / 44);
  margin-top: 10.9vw;
  text-align: center;
}
.first h4 span {
  display: inline-block;
  font-size: clamp(24px, 2.5vw, 48px);
  letter-spacing: 0.06em;
  color: #FA8395;
}


.second {
  width: 100%;
  background-image: url(../images/bg_second_01.jpg);
  background-size: contain;
  background-repeat: repeat;
  padding: clamp(126px, 16.4vw, 315px) 20px clamp(132px, 17.2vw, 332px);
  position: relative;
  z-index: 2;
}
.second .flower01 {
  position: absolute;
  top: 700px;
  right: -41px;
  width: clamp(80px, 23.4vw, 451px);
}
.second .flower02 {
  position: absolute;
  top: 1160px;
  left: 19px;
  width: clamp(56px, 17.2vw, 331px);
}
.second .flower03 {
  position: absolute;
  top: 1717px;
  right: 52px;
  width: clamp(46px, 14.5vw, 280px);
  transform: rotate(-13deg);
}
.second .flower04 {
  position: absolute;
  bottom: -187px;
  left: 80px;
  width: clamp(54px, 17.1vw, 330px);
  transform: rotate(-11deg);
}
.second .triangle {
  position: absolute;
  top: -6px;
  left: 50%;
  transform: translateX(-50%);
  width: clamp(254px, 79.6vw, 876px);
}
.second .wrapper {
  width: 100%;
  max-width: 1100px;
  margin: auto;
}
.second .title {
  font-size: clamp(35px, 4.5vw, 50px);
  font-weight: 600;
  letter-spacing: 0.06em;
  color: #ffffff;
  text-align: center;
}
.second .subTitle {
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', sans-serif;
  font-size: clamp(20px, 2.5vw, 28px);
  font-weight: 700;
  letter-spacing: 0.03em;
  color: #4A5071;
  text-align: center;
  background-image: url(../images/bg_second_02.png);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 20px 0;
  margin-top: 56px;
  position: relative;
}
.second .subTitle::before {
  position: absolute;
  top: clamp(-134px, -12.1vw, -93px);
  left: clamp(36px, 4.7vw, 52px);
  content: '';
  width: clamp(98px, 12.6vw, 139px);
  height: clamp(118px, 15.3vw, 169px);
  background-image: url(../images/img_mark.png);
  background-repeat: no-repeat;
  background-size: cover;
}
.second .content {
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', sans-serif;
  font-size: clamp(16px, 2vw, 22px);
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: calc(40 / 22);
  color: #ffffff;
  text-align: center;
  margin-top: 47px;
}
.second .content span {
  display: inline-block;
}
.second .content.yellow {
  font-size: clamp(20px, 2.5vw, 28px);
  color: #FFDD6E;
}
.second .flow {
  width: clamp(501px, 65.2vw, 718px);
  min-width: 223px;
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 37px;
  background-color: #fff;
  border-radius: 20px;
  padding: 18px 20px 20px;
  margin: 80px auto 0;
  position: relative;
}
.second .flow::before {
  position: absolute;
  top: -53.5px;
  left: 50%;
  transform: translateX(-50%);
  content: '';
  background-image: url(../images/img_arrow.png);
  background-repeat: no-repeat;
  background-size: cover;
  width: 42px;
  height: 27px;
}
.second .flow:first-of-type::before {
  display: none;
}
.second .flow-contents {
}
.second .flow-title {
  width: clamp(128px, 16.6vw, 183px);
}
.second .flow:nth-of-type(2) .flow-title {
  width: clamp(178px, 23.2vw, 256px);
}
.second .flow:nth-of-type(3) .flow-title {
  width: clamp(284px, 37vw, 407px);
}
.second .flow-message {
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', sans-serif;
  font-size: clamp(14px, 1.8vw, 20px);
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: calc(30 / 20);
  color: #000000;
  margin-top: 30px;
}
.second .flow-label {
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', sans-serif;
  font-size: clamp(19px, 2.4vw, 27px);
  font-weight: 700;
  letter-spacing: 0.03em;
  color: #ffffff;
  text-align: center;
  padding: 9px 6px;
  background-color: #1D66BA;
  border-radius: 4px;
  margin-top: 24px;
}
.second .flow .flow-image {
  width: clamp(216px, 28vw, 308px);
}
.second .flow:nth-of-type(2) .flow-image {
  width: clamp(203px, 26.3vw, 290px);
}
.second .flow:nth-of-type(3) .flow-image {
  width: clamp(125px, 16.1vw, 178px);
}
.second .container {
  display: flex;
  justify-content: center;
  column-gap: 50px;
  margin-top: 130px;
}
.second .box {
  width: calc((100% - 100px) / 3);
  max-width: 258px;
  height: clamp(203px, 26.3vw, 230px);
  box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.34);
  background-image: url(../images/bg_second_03.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  row-gap: 15px;
}
.second .box-image {
  width: clamp(112px, 14.5vw, 127px);
}
.second .box:nth-of-type(3) .box-image {
  width: clamp(146px, 18.9vw, 166px);
}
.second .box-content {
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', sans-serif;
  font-size: clamp(20px, 2.5vw, 28px);
  font-weight: 700;
  color: #303030;
  text-align: center;
}
.second h4 {
  font-size: clamp(29px, 3.7vw, 41px);
  font-weight: 600;
  line-height: calc(66 / 41);
  color: #FFDD6E;
  text-align: center;
  margin-top: 84px;
}
.second .bottom {
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', sans-serif;
  font-size: clamp(17px, 2.1vw, 24px);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: calc(50 / 24);
  color: #ffffff;
  text-align: center;
  margin-top: 42px;
}


.third {
  width: 100%;
  background-image: url(../images/bg_third_01.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  padding: clamp(174px, 22.6vw, 434px) 20px clamp(216px, 28vw, 540px);
}
.third .title {
  font-size: clamp(35px, 4.5vw, 50px);
  font-weight: 600;
  letter-spacing: 0.06em;
  color: #7C5757;
  text-align: center;
}
.third .content {
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', sans-serif;
  font-size: clamp(17px, 2.2vw, 24px);
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: calc(40 / 24);
  color: #303030;
  text-align: center;
  margin-top: 58px;
}
.third .content span {
  display: inline-block;
}
.third .card-container {
  display: grid;
  grid-template-rows: 1fr 1fr;
  row-gap: 143px;
  width: 100%;
  max-width: 1100px;
  margin: 145px auto 0;
}
.third .card-inner {
  display: flex;
  justify-content: flex-start;
  column-gap: 50px;
}
.third .card-inner:nth-of-type(2n) {
  display: flex;
  justify-content: flex-end;
  column-gap: 50px;
}
.third .card {
  width: clamp(336px, 43.6vw, 480px);
  background-color: #ffffff;
  border: 2px solid #D5CCCC;
  border-radius: 20px;
  box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.33);
  padding: clamp(87px, 11.2vw, 124px) clamp(40px, 4.5vw, 50px) clamp(40px, 5.1vw, 57px);
  position: relative;
}
.third .circle {
  position: absolute;
  top: clamp(-45px, -4vw, -32px);
  left: 50%;
  transform: translateX(-50%);
  width: clamp(91px, 11.8vw, 130px);
}
.third .card-title {
  font-size: clamp(19px, 2.36vw, 26px);
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: calc(45 / 26);
  color: #303030;
  text-align: center;
}
.third .card-message {
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', sans-serif;
  font-size: clamp(15px, 1.8vw, 20px);
  font-weight: 500;
  line-height: calc(40 / 20);
  color: #303030;
  margin-top: clamp(28px, 3.5vw, 39px);
}
.third .card-image {
  width: 100%;
  margin-top: clamp(33px, 4.2vw, 47px);
  position: relative;
  align-self: flex-end;
}
.third .card.first .card-image::before {
  position: absolute;
  top: -19px;
  right: 10px;
  content: '';
  width: clamp(59px, 7.6vw, 84px);
  height: clamp(72px, 9.2vw, 102px);
  background-image: url(../images/img_mark.png);
  background-repeat: no-repeat;
  background-size: cover;
}

.fourth {
  width: 100%;
  background-image: url(../images/bg_fourth_02.png), url(../images/bg_fourth_01.jpg);
  background-repeat: no-repeat, repeat;
  background-size: cover, contain;
  padding: 373px 20px 189px;
  position: relative;
}
.fourth::after {
  position: absolute;
  z-index: 0;
  bottom: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 27.2vw;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 63%, rgba(255, 255, 255, 1) 100%);
}
.fourth .diamond {
  position: absolute;
  top: clamp(-409px, -21.3vw, -164px);
  right: 0;
  width: clamp(344px, 44.6vw, 858px);
}
.fourth .wrapper {
  width: 100%;
  max-width: 1520px;
  margin: auto;
}
.fourth .title {
  font-size: clamp(35px, 4.5vw, 50px);
  font-weight: 600;
  letter-spacing: 0.06em;
  color: #7C5757;
}
.fourth .content {
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', sans-serif;
  font-size: clamp(17px, 2.2vw, 24px);
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: calc(40 / 24);
  color: #303030;
  margin-top: 58px;
}
.fourth .cards {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: clamp(20px, 2.6vw, 38px);
  row-gap: 50px;
  margin-top: 142px;
}
.fourth .card {
  width: 350px;
  background-color: #ffffff;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.16);
  padding: 28px 20px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}
.fourth .card::before {
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  background-image: url(../images/img_line.png);
  background-repeat: no-repeat;
  background-size: cover;
  width: 46px;
  height: 45px;
}
.fourth .type {
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', sans-serif;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: #7C5757;
  text-align: center;
}
.fourth .size {
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', sans-serif;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: #7C5757;
  text-align: center;
  margin-top: 9px;
}
.fourth .image-box {
  width: 100%;
  margin-top: 16px;
}
.fourth .description {
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: calc(25 / 18);
  color: #303030;
  text-align: center;
  margin-top: 16px;
}
.fourth .price {
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', sans-serif;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #303030;
  text-align: center;
  margin-top: 14px;
  display: flex;
  align-items: center;
}
.fourth .big {
  font-family: "游明朝", "Yu Mincho", "YuMincho", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
  font-size: 39px;
  font-weight: 900;
  letter-spacing: 0.03em;
  color: #7C5757;
  margin: 0 5px;
}
.fourth .cost {
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', sans-serif;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #303030;
}
.fourth .btn {
  display: block;
  background-color: #B09262;
  border: 1px solid #EFE2CD;
  border-radius: 37px;
  width: 300px;
  padding: 14px 0;
  margin-top: 15px;
  position: relative;
}
.fourth .btn:hover {
  background-color: #ffffff;
  border: 1px solid #B09262;
  transition: .3s;
}

.fourth .btn::after {
  position: absolute;
  top: 50%;
  right: 90px;
  transform: translateY(-50%);
  content: '';
  background-image: url(../images/img_link.png);
  background-repeat: no-repeat;
  background-size: cover;
  width: 10px;
  height: 13px;
}
.fourth .link {
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: #ffffff;
  text-align: center;
}
.fourth .btn:hover .link {
  color: #B09262;
  transition: .3s;
}
.fourth .container {
  width: 100%;
  max-width: 1100px;
  margin: 50px auto 0;
  padding-bottom: 50px;
  background-color: #ffffff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.33);
  position: relative;
}
.fourth .container:first-of-type {
  margin: 118px auto 0;
}
.fourth .container::after {
  position: absolute;
  bottom: 0;
  right: 0;
  content: '';
  width: 60px;
  height: 59px;
  background-image: url(../images/img_line.png);
  background-repeat: no-repeat;
  background-size: cover;
  transform: rotate(180deg);
}
.fourth .large-img {
  width: 100%;
}
.fourth .inner {
  width: 100%;
  padding: clamp(35px, 4.5vw, 50px);
  display: flex;
  justify-content: space-between;
}
.fourth .box.left {
  width: 55.9%;
  padding-right: clamp(78px, 10.1vw, 112px);
}
.fourth .box.right {
  width: 44.1%;
}
.fourth .box .type {
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', sans-serif;
  font-size: clamp(20px, 2.3vw, 26px);
  font-weight: 700;
  letter-spacing: 0.03em;
  color: #7C5757;
  text-align: start;
  padding-bottom: 16px;
  border-bottom: 1px solid #7C5757;
}
.fourth .box .description {
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', sans-serif;
  font-size: clamp(15px, 1.8vw, 20px);
  font-weight: 700;
  line-height: calc(30 / 20);
  color: #303030;
  text-align: start;
  margin-top: 21px;
  padding-bottom: 18px;
  border-bottom: 1px solid #7C5757;
}
.fourth .box .price {
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', sans-serif;
  font-size: clamp(17px, 2.1vw, 24px);
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #303030;
  text-align: start;
  margin-top: 14px;
  display: flex;
  align-items: center;
}
.fourth .box .big {
  font-family: "游明朝", "Yu Mincho", "YuMincho", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
  font-size: clamp(40px, 5vw, 56px);
  font-weight: 900;
  letter-spacing: 0.03em;
  color: #7C5757;
  margin: 0 10px 0 2px;
}
.fourth .box .cost {
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', sans-serif;
  font-size: clamp(17px, 2.1vw, 24px);
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #303030;
}
.fourth .box .size {
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', sans-serif;
  font-size: clamp(17px, 2.1vw, 24px);
  font-weight: 700;
  letter-spacing: 0.03em;
  color: #303030;
  text-align: start;
  margin-top: 14px;
}
.fourth .annotation {
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', sans-serif;
  font-size: clamp(13px, 1.4vw, 16px);
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: calc(30 / 16);
  color: #303030;
  text-align: start;
  width: 100%;
  padding: 0 50px;
}
.fourth .bottom-message {
  width: clamp(522px, 68vw, 952px);
  height: clamp(305px, 40vw, 557px);
  margin-left: clamp(30px, 3.7vw, 60px);
  margin-top: 41px;
  position: relative;
  z-index: 3;
}
.fourth .couple {
  position: absolute;
  bottom: 189px;
  z-index: 1;
  right: -124px;
  width: clamp(411px, 53.5vw, 1028px);
}

.fifth {
  width: 100%;
  background-image: url(../images/bg_fifth_01.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  margin-top: 180px;
  padding-bottom: 321px;
  position: relative;
}
.fifth::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 15vw;
  content: '';
  background-image: url(../images/bg_fifth_02.png);
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
.fifth .wrapper {
  width: calc(100% - 40px);
  max-width: 1100px;
  margin: clamp(-202px, -10.5vw, -80px) auto 0;
  padding: clamp(72px, 9.2vw, 102px) clamp(104px, 13.4vw, 148px) clamp(113px, 14.6vw, 161px);
  background-color: #ffffff;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.33);
  position: relative;
  z-index: 2;
}
.fifth .title {
  font-size: clamp(28px, 3.6vw, 40px);
  font-weight: 600;
  line-height: calc(66 / 40);
  color: #4A5071;
  text-align: center;
}
.fifth .content {
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', sans-serif;
  font-size: clamp(17px, 2.2vw, 24px);
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: calc(40 / 24);
  color: #303030;
  text-align: center;
  margin-top: clamp(44px, 5.8vw, 64px);
}
.fifth .image-box {
  margin-top: clamp(62px, 8.1vw, 90px);
}



.sixth {
  width: 100%;
  background-image: url(../images/bg_sixth_01.jpg);
  background-repeat: repeat;
  background-size: contain;
  padding: 182px 0 221px;
}
.sixth .wrapper {
  width: 100%;
}
.sixth .title {
  font-size: clamp(35px, 4.5vw, 50px);
  font-weight: 600;
  letter-spacing: 0.06em;
  color: #ffffff;
  text-align: center;
  max-width: 1100px;
  margin: auto;
  padding: 0 20px;
}
.sixth .content {
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', sans-serif;
  font-size: clamp(17px, 2.2vw, 24px);
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: calc(40 / 24);
  color: #ffffff;
  max-width: 1100px;
  margin: 80px auto 0;
  padding: 0 20px;
}
.sixth .subtitle {
  font-size: clamp(21px, 2.7vw, 30px);
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #ffffff;
  text-align: center;
  width: fit-content;
  max-width: 1100px;
  margin: 124px auto 0;
  padding: 0 54px;
  position: relative;
}
.sixth .subtitle::before,
.sixth .subtitle::after {
  position: absolute;
  top: 50%;
  content: '';
  width: 1px;
  height: clamp(70px, 9vw, 99px);
  background-color: #ffffff;
  transform: translateY(-50%) rotate(42deg);
}
.sixth .subtitle::before {
  left: 0;
}
.sixth .subtitle::after {
  right: 0;
}
.sixth .container {
  width: 100%;
  display: flex;
  column-gap: clamp(44px, 5.7vw, 111px);
  margin-top: 100px;
}
.sixth .inner.left {
  margin-top: 137px;
}
.sixth .name {
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', sans-serif;
  font-size: clamp(16px, 1vw, 20px);
  font-weight: 700;
  color: #ffffff;
  text-align: start;
  margin-top: 10px;
}
.sixth .description {
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', sans-serif;
  font-size: clamp(14px, 0.91vw, 18px);
  font-weight: 500;
  line-height: calc(22 / 18);
  color: #ffffff;
  text-align: start;
  margin-top: 7px;
}
.sixth .description span {
  display: inline-block;
}
.sixth .facility01 .name,
.sixth .facility01 .description {
  width: 20.3vw;
  margin-left: auto;
  text-align: end;
}
.sixth .facility01 {
  width: 100%;
  position: relative;
}
.sixth .facility01::after {
  position: absolute;
  top: clamp(168px, 21.8vw, 420px);
  left: clamp(18px, 2.2vw, 44px);
  content: '';
  width: clamp(146px, 19vw, 366px);
  height: clamp(146px, 19vw, 366px);
  background-image: url(../images/img_sixth_02.png);
  background-repeat: no-repeat;
  background-size: cover;
}
.sixth .facility02 {
  width: 23.2vw;
  justify-self: flex-end;
  margin-top: 90px;
}
.sixth .facility03 {
  width: 23.2vw;
  justify-self: flex-end;
  margin-top: 66px;
}
.sixth .facility04 {
  width: 38.2vw;
}
.sixth .facility05 {
  margin-top: 106px;
}
.sixth .facility06 {
  width: 23.2vw;
  margin-top: 106px;
}
.sixth .facility02 img,
.sixth .facility03 img,
.sixth .facility04 img,
.sixth .facility06 img {
  border-radius: 30px;
}

.seventh {
  width: 100%;
  padding-bottom: 117px;
}
.seventh .wrapper {
  width: 100%;
  background-image: url(../images/bg_seventh_01.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 190px 20px 183px;
}
.seventh .image-box {
  width: 100%;
  max-width: 902px;
  margin: auto;
}
.seventh .image-box:nth-of-type(2) {
  margin: 50px auto 0;
}
.seventh .title {
  font-size: clamp(28px, 3.6vw, 40px);
  font-weight: 600;
  color: #4A5071;
  text-align: center;
  margin-top: 10px;
  padding: 0 20px;
}
.seventh .youtube {
  width: 100%;
  max-width: 902px;
  margin: 50px auto 0;
  aspect-ratio: 16 / 9;
}
.seventh iframe {
  width: 100%;
  height: 100%;
}

.access {
  width: 100%;
  background-image: url(../images/bg_access_01.jpg);
  background-repeat: repeat;
  background-size: contain;
  padding: 0 0 150px;
}
.access .top {
  width: 100%;
}
.access .wrapper {
  width: 100%;
  max-width: 1140px;
  padding: 102px 20px 160px;
  margin: -196px auto 0;
  background-color: #ffffff;
  border: 1px solid #BAA36F;
  box-shadow: 0 0 6px rgba(0, 0, 0, .33);
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 1;
}
.access .title {
  font-size: clamp(28px, 3.6vw, 40px);
  font-weight: 600;
  color: #4A5071;
  text-align: center;
  width: 100%;
  max-width: 940px;
  padding: 0 20px;
}
.access .content {
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', sans-serif;
  font-size: clamp(17px, 2.2vw, 24px);
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: calc(40 / 24);
  color: #303030;
  text-align: center;
  max-width: 940px;
  margin-top: 57px;
  padding: 0 20px;
}
.access .illust-map {
  width: 100%;
  max-width: 510px;
  margin: 50px auto 0;
}
.access .container {
  width: 100%;
  max-width: 715px;
  margin: 64px auto 0;
  display: flex;
  column-gap: 56px;
}

/* Google Map */
.googlemap {
  position: relative;
  width: 100%;
  max-width: 900px;
  height: 0;
  padding-top: 48.8%;
  margin: 93px auto 0;
}
.googlemap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.access .address {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(13px, 1.6vw, 16px);
  letter-spacing: 0.04em;
  text-align: center;
  margin-top: 20px;
}
.access .alert {
  font-size: clamp(15px, 1.6vw, 18px);
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: calc(35 / 18);
  color: #282828;
  border: 1px solid #CC2626;
  padding: 21px 10px 22px;
  max-width: 900px;
  margin: 60px auto 0;
}
.access .alert span {
  display: inline-block;
}
.access .alert span.red {
  color: #BC2828;
}
.access .annotation {
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', sans-serif;
  font-size: clamp(14px, 1.45vw, 16px);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: calc(30 / 16);
  text-align: end;
  color: #303030;
  width: 100%;
  max-width: 900px;
  margin: 10px auto 0;
}


.entryform {
  width: 100%;
  background-color: #F2F4FD;
}
.entryform .title {
  font-size: clamp(28px, 3.6vw, 40px);
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: calc(80 / 40);
  text-align: center;
  color: #ffffff;
  padding: 96px 10px;
  background-image: url(../images/bg_inquiry_01.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}
.main-entryform-001 p.text-001 {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(15px, 1.8vw, 18px);
  letter-spacing: 0.04em;
  text-align: center;
  margin: 60px 0;
}
.entryform table {
  font-family: 'Noto Sans JP', sans-serif;
}
.entryform p {
  font-size: clamp(15px, 1.8vw, 18px);
  letter-spacing: 0.04em;
  text-align: center;
  margin-top: 44px;
}
.entryform label.error {
  position: absolute;
  margin: -52px 0px 0px 0px;
  display: block;
  background-color: #ee0000;
  color: #ffffff;
  font-size: 10px;
  padding: 2px 15px;
  border-radius: 5px;
  -moz-opacity: 0.60;
  -khtml-opacity: 0.60;
  opacity: 0.60;
  -ms-filter:"progid:DXImageTransform.Microsoft.Alpha"(Opacity=60);
  filter: progid:DXImageTransform.Microsoft.Alpha(opacity=60);
  filter:alpha(opacity=60);
}
.entryform label.error:before {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 18px;
  border: 5px solid transparent;
  border-top: 5px solid #ee0000;
}
.entryform input.error {
  border: solid 1px #ff7777;
}
.entryform dl {
  margin: 0px;
  padding: 0px;
  display: flex;
  align-items: center;
}
.entryform dl dt {
  float: left;
}
.entryform dl dt:nth-of-type(2) {
  padding: 8px 0px 0px 15px;
  padding: 0px 0px 0px 15px;
  padding: 0px 0px 0px 1em;
}
.entryform dl dd {
  padding: 0px;
  margin: 0px 0px 0px 8px;
  margin: 0px 0px 0px 0.5em;
  float: left;
}
.entryform textarea {
  width: 100%;
  max-width: 480px;
}
.entryform table {
  max-width: 1000px;
  margin: 0px auto;
  padding: 0px;
  border: solid 1px #aaaaaa;
  border-collapse: collapse;
}
.entryform table td:nth-of-type(odd) {
  width: 256px;
  padding: 16px 16px;
  border-right: solid 1px #ffffff;
  border-bottom: solid 1px #ffffff;
  background-color: #E3E3E3;
  vertical-align: middle;
  font-size: 18px;
  letter-spacing: 0.03em;
  line-height: 1.6;
}
.entryform table td:nth-of-type(even) {
  padding: 16px 16px;
  background-color: #F5F5F5;
  border-bottom: solid 1px #ffffff;
  line-height: 2.4;
}
.entryform table td.bold {
  font-weight: 700;
}
.entryform table td.bold label {
  font-weight: 500;
}
.entryform table tr:last-of-type td {
  border-bottom: solid 1px #aaaaaa;
}
.entryform span {
  padding: 5px 9px;
  font-size: 16px;
  color: #ffffff;
  background-color: #D04343;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  vertical-align: middle;
}
.entryform input,
.entryform select {
  padding: 5px 8px;
  margin: 0 0.5em;
  font-size: 16px;
  border: solid 1px #dddddd;
}
.entryform textarea {
  padding: 5px 8px;
  font-size: 16px;
  font-family: 'Noto Sans JP', sans-serif;;
}
.entryform .submit {
  max-width: 384px;
  margin: 46px auto 0;
}
.entryform .submit input {
  font-size: clamp(15px, 1.8vw, 18px);
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  color: #ffffff;
  background-color: #C70E2E;
  border-radius: 44px;
  width: 100%;
  max-width: 360px;
  margin: auto;
  padding: 21px 0;
  text-align: center;
}
.entryform .submit input:hover {
  cursor: pointer;
  background-color: #cc3333;
}


.present {
  width: 100%;
  background-color: #F2F4FD;
  padding: 166px 0 420px;
  position: relative;
}
.present::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 15vw;
  background-image: url(../images/bg_present_01.png);
  background-repeat: no-repeat;
  background-size: cover;
}
.present .wrapper {
  width: 100%;
  max-width: 800px;
  margin: auto;
  padding: 0 0 37px;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, .16);
  background-color: #ffffff;
}
.present h2 {
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', sans-serif;
  font-size: clamp(20px, 2.4vw, 24px);
  font-weight: 700;
  color: #ffffff;
  text-align: center;
  padding: 24px 10px;
  background-color: #AA8B5F;
}
.present h3 {
  width: 100%;
  margin: 30px auto 0;
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', sans-serif;
  font-size: clamp(18px, 2.2vw, 22px);
  font-weight: 700;
  color: #333333;
  text-align: center;
}
.present h3 span.gold {
  color: #AA8B5F;
}
.present .container {
  width: 100%;
  max-width: 440px;
  margin: 28px auto 0;
}
.present .contact {
  width: 100%;
}
.present .time {
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', sans-serif;
  font-size: clamp(16px, 1.6vw, 18px);
  font-weight: 700;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 7px;
}
.present .time span.gold {
  color: #AA8B5F;
}
.present .overview {
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', sans-serif;
  color: #303030;
  width: 100%;
  max-width: 800px;
  margin: 114px auto 0;
  padding: 21px 30px 30px;
  border: 1px solid #303030;
}
.present .title {
  font-size: clamp(14px, 1.4vw, 16px);
  font-weight: 700;
  text-align: center;
}
.present .detail {
  font-size: clamp(14px, 1.4vw, 16px);
  font-weight: 500;
  line-height: calc(30 / 16);
  text-align: start;
  margin-top: 18px;
}


/* footer */
#footer {
  width: 100%;
  font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', sans-serif;
  background-image: url(../images/bg_footer_01.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  color: #FFFFFF;
  position: relative;
  margin-top: -1px;
}
#footer .top {
  width: 100%;
  padding: 92px 0 103px;
}
#footer .wrapper {
  width: 100%;
  max-width: 800px;
  margin: auto;
  display: flex;
  justify-content: space-between;
}
#footer .container.left {
  padding-top: 10px;
}
#footer p {
  font-size: clamp(13px, 1.6vw, 16px);
  font-weight: 700;
  letter-spacing: 0.03em;
}
#footer .footer-link {
  display: block;
  width: 100%;
  max-width: 398px;
  margin-top: 14px;
}
#footer .address,
#footer .phone a {
  font-size: clamp(12px, 1.4vw, 14px);
  font-weight: 500;
  line-height: calc(23 / 14);
  color: #ffffff;
}
#footer .address {
  margin-top: 13px;
}
#footer .container.right {
  display: flex;
  justify-content: space-between;
  column-gap: 70px;
}
#footer .container.right ul {
  display: flex;
  flex-direction: column;
  row-gap: 23px;
}
#footer .container.right ul li {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.03em;
  display: flex;
  align-items: center;  
}
#footer .container.right ul li a {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.03em;
  color: #ffffff;
}
#footer .container.right ul li::before {
  display: inline-block;
  content: '>';
  margin-right: 1.5em;
}
#footer .bottom {
  width: 100%;
  padding: 22px 10px;
}
#footer .copyright,
#footer .copyright a {
  font-size: 12px;
  font-weight: 500;
  color: #ffffff;
  text-align: center;
}

/* thanks */
#thanks #top-slider .mask {
  position: absolute;
  width: 100%;
  background-color: #1F2C5C;
}
#thanks #top-slider .logo {
  width: 150px;
  margin: 10px auto 0;
}
#thanks .bx-wrapper {
  height: 220px;
}
#thanks #first {
  padding-top: 190px;
}
#thanks #first .text_001 {
  text-align: center;
}
/*-- privacy --*/
.privacy-main {
  width: 100%;
  padding: 323px 20px 25px;
  background-color: #F2F4FD;
}
.privacy {
  width: 100%;
  max-width: 1040px;
  margin: auto;
  line-height: 1.85;
}
.privacy h2 {
  font-size: 28px;
  text-align: center;
  margin: 70px auto;
}
.privacy h3 {
  margin: 60px 0px 16px;
  padding: 0px;
  font-size: 18px;
  text-align: left;
  border-bottom: 1px solid #303030;
}
.privacy ul li {
  margin: 20px 0px 16px;
  font-size: 18px;
  text-align: left;
  list-style: inside;
}
.privacy p {
  margin: 20px 0px 16px;
  font-size: 18px;
  text-align: left;
}
  