@import url('./Obvio.css');

:root {
  --SpecialPageTopSpacing: calc(var(--headerHeight) + 30px);
}

@media only screen and (max-width:991.98px) {
  :root {
    --SpecialPageTopSpacing: calc(var(--mobileHeaderHeight) + 30px);
  }
}

#Body.isSpecialPage #dnn_content {
  padding-top: var(--SpecialPageTopSpacing);
}

#Body.isSpecialPage .header-replace.header-position.sticky-fixed {
  background-color: #000000;
}

#dnn_content {
  position: relative;
  z-index: 1;
}

#Skip-footer {
  position: relative;
}


/* Font Size */
:root {
  /* 720 ~ 1920 */
  --font-size-76: clamp(48px, 2.3333333333333335vw + 31.2px, 76px);
  --font-size-68: clamp(42px, 2.166666666666667vw + 26.4px, 68px);
  --font-size-60: clamp(40px, 1.6666666666666667vw + 28px, 60px);
  --font-size-56: clamp(38px, 1.5vw + 27.200000000000003px, 56px);
  --font-size-48: clamp(32px, 1.3333333333333335vw + 22.4px, 48px);
  --font-size-40: clamp(28px, 1vw + 20.8px, 40px);
  --font-size-36: clamp(26px, 0.8333333333333334vw + 20px, 36px);
  --font-size-30: clamp(24px, 0.5vw + 20.4px, 30px);
  --font-size-28: clamp(24px, 0.33333333333333337vw + 21.6px, 28px);

  --font-family-Quicksand: "Quicksand", Arial, Helvetica, sans-serif;
  --font-family-Montserrat: "Montserrat", Arial, Helvetica, sans-serif;
}

body .font-size-76 {
  font-size: var(--font-size-76) !important;
}

body .font-size-68 {
  font-size: var(--font-size-68) !important;
}

body .font-size-60 {
  font-size: var(--font-size-60) !important;
}

body .font-size-56 {
  font-size: var(--font-size-56) !important;
}

body .font-size-48 {
  font-size: var(--font-size-48) !important;
}

body .font-size-40 {
  font-size: var(--font-size-40) !important;
}

body .font-size-36 {
  font-size: var(--font-size-36) !important;
}

body .font-size-30 {
  font-size: var(--font-size-30) !important;
}

body .font-size-28 {
  font-size: var(--font-size-28) !important;
}

body .font-family-Quicksand {
  font-family: var(--font-family-Quicksand)
}

body .font-family-Montserrat {
  font-family: var(--font-family-Montserrat);
}


p {
  margin-bottom: 22px;
}

.d-wrapper .is-box .is-container {
  margin-top: 160px;
  margin-bottom: 160px;

  padding-left: 30px;
  padding-right: 30px;
}

#dnn_content>.container {
  padding-left: 30px;
  padding-right: 30px;
}

@media (max-width: 991.98px) {
  .d-wrapper .is-box .is-container {
    margin-top: 100px;
    margin-bottom: 100px;
  }
}



.d-wrapper>div {
  z-index: 1;
}

a.default-color:hover {
  color: var(--link-hover-color) !important;
}

.current-color {
  color: currentColor !important;
}

a.current-color:hover {
  color: var(--link-hover-color) !important;
}

[class^='button-'],
[class*=' button-'] {
  /* display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 0 28px;
    height: 42px;
    text-align: center;
    font-size: 0.9375rem;
    line-height: 1.2; */
}


#Body .AlpineWellnessClinic-01-HeaderMiddle {
  /* 1200 ~ 1920 */
  --paddingSpace: clamp(30px, 12.5vw + -120px, 120px);
  /* 992 ~ 1920 */
  --rowGap: clamp(40px, 4.310344827586207vw + -2.7586206896551744px, 80px);
  --imgWidth: clamp(275px, 15.625vw + 120px, 420px);

  padding: 0 calc(var(--paddingSpace) - 15px);
}

#Body .AlpineWellnessClinic-01-HeaderMiddle .dng-megamenu .primary_structure {
  display: flex;
  flex-wrap: wrap;
  align-items: center;

  gap: 20px var(--rowGap);
}

#Body .AlpineWellnessClinic-01-HeaderMiddle .dng-megamenu .primary_structure>li>a {
  padding-left: 0;
  padding-right: 0;
}

#Body .AlpineWellnessClinic-01-HeaderMiddle .logo img {
  margin: 0 0 0;
  width: 100%;
  max-width: var(--imgWidth);
  max-height: 100%;
}

#Body .AlpineWellnessClinic-01-HeaderMiddle .header-buttonGroup {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 20px;
  max-height: 50px;
  transition: all .3s cubic-bezier(0.420, 0.000, 1.000, 1.000);
}

#Body .AlpineWellnessClinic-01-HeaderMiddle .header-button {
  font-size: 1rem;
  font-weight: normal;
  border: 1px solid #fff;
  background-color: transparent;
}

#Body .AlpineWellnessClinic-01-HeaderMiddle .header-button:hover {
  border-color: var(--accent-color);
  background-color: var(--accent-color);
}

#Body .header-default.floating-active .AlpineWellnessClinic-01-HeaderMiddle .header-buttonGroup {
  margin-bottom: 0 !important;
  max-height: 0;
  opacity: 0;
}



#Body .AlpineWellnessClinic-01-MobileHeaderMiddle .header-buttonGroup {
  /* 768 ~ 991 */
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px clamp(3px, 4.484304932735426vw + -24.43946188340807px, 20px);
  max-height: 50px;
  transition: all .3s cubic-bezier(0.420, 0.000, 1.000, 1.000);
}

#Body .AlpineWellnessClinic-01-MobileHeaderMiddle .header-button {
  /* 768 ~ 991 */
  padding: 0 clamp(8px, 6.726457399103139vw + -36.65919282511211px, 30px);
  font-size: clamp(11px, 0.8968609865470852vw + 7.112107623318385px, 16px);
  font-weight: normal;
  border: 1px solid #fff;
  background-color: transparent;
}

#Body .AlpineWellnessClinic-01-MobileHeaderMiddle .header-button:hover {
  border-color: var(--accent-color);
  background-color: var(--accent-color);
}

#Body .header-default.floating-active .AlpineWellnessClinic-01-MobileHeaderMiddle .header-buttonGroup {
  margin-bottom: 0 !important;
  max-height: 0;
  opacity: 0;
}

@media (max-width: 767.98px) {
  #Body .AlpineWellnessClinic-01-MobileHeaderMiddle .header-buttonGroup {
    height: 45px;
    line-height: 45px;
  }
}




/* custom-bannerSection-01 */
.custom-bannerSection-01 {
  padding-top: var(--headerHeight);
  min-height: 100vh;
}

.sidebar-active .custom-bannerSection-01 .is-section-tool {
  top: calc(10% + var(--headerHeight)) !important;
}

.custom-bannerSection-01 .is-boxes {
  flex-grow: 1;
}

.custom-bannerSection-01 .is-boxes .is-container {
  /* 
	align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: space-between; 
	*/
}

.custom-bannerSection-01 .is-boxes .is-container>.row {
  align-items: center;
}

@media screen and (max-width: 991.98px) {
  .custom-bannerSection-01 {
    padding-top: var(--mobileHeaderHeight);
    min-height: calc(100vh);
  }

  .sidebar-active .custom-bannerSection-01 .is-section-tool {
    top: calc(10% + var(--mobileHeaderHeight)) !important;
  }

  .custom-bannerSection-01.is-section .is-boxes {
    display: flex;
  }

  .custom-bannerSection-01 .is-boxes .is-container {
    align-self: flex-start;
    margin-top: 100px !important;
  }
}

@media screen and (max-width: 575.98px) {
  .custom-bannerSection-01 .is-boxes .is-container {
    padding-top: 30px;
    align-self: flex-start;
    /* 375 ~ 575 */
    margin-top: clamp(0px, 100vw + -375px, 200px) !important;
  }
}




/* custom-pageTitle-01 */
.custom-pageTitle-01 {
  padding-top: var(--headerHeight);
  min-height: 642px;
  justify-content: flex-start;
}

.sidebar-active .custom-pageTitle-01 .is-section-tool {
  top: calc(10% + var(--headerHeight)) !important;
}

.d-wrapper .custom-pageTitle-01.is-box .is-container {
  margin-top: 85px !important;
  margin-bottom: 85px;
}

@media screen and (max-width: 1199.98px) {
  .custom-pageTitle-01 {
    justify-content: flex-start;
  }
}

@media screen and (max-width: 991.98px) {
  .custom-pageTitle-01 {
    padding-top: var(--mobileHeaderHeight);
    min-height: 400px;
  }

  .sidebar-active .custom-pageTitle-01 .is-section-tool {
    top: calc(10% + var(--mobileHeaderHeight)) !important;
  }

  .custom-pageTitle-01.is-section .is-boxes {
    display: flex;
  }

  .d-wrapper .custom-pageTitle-01.is-box .is-container {
    /* 575 ~ 991 */
    margin-top: clamp(30px, 8.928571428571429vw + -3.482142857142861px, 85px);
  }
}

@media screen and (max-width: 575.98px) {
  .custom-pageTitle-01 {
    justify-content: center;
    padding-bottom: 150px;
  }

  .d-wrapper .custom-pageTitle-01.is-box .is-container {
    /* 575 ~ 991 */
    margin-top: 30px;
    margin-bottom: 30px;
  }
}




/* custom-footerSection-01 */
.custom-footerSection-01 .row-section {
  position: relative;
  align-items: center;
  padding-top: 20px;
  row-gap: 40px;
}

.custom-footerSection-01 .row-section::after {
  content: '';
  position: absolute;
  right: calc(5 / 12 * 100%);
  top: 0;
  width: 0;
  height: 100%;
  border-right: 1px solid #c8e2e3;
}

.custom-footerSection-01 .row-section .col-left,
.custom-footerSection-01 .row-section .col-right {
  /* 992 ~ 1920 */
  padding-left: clamp(15px, 9.698275862068966vw + -81.20689655172414px, 105px);
  padding-right: clamp(15px, 9.698275862068966vw + -81.20689655172414px, 105px);
}

.custom-footerSection-01 .row-section .col-left {
  flex-basis: calc(7 / 12 * 100%);
}

.custom-footerSection-01 .row-section .col-right {
  flex-basis: calc(5 / 12 * 100%);
}

.custom-footerSection-01 .row-section .col-right .col-box {
  margin: 0 auto 0;
  max-width: 300px;
}

@media screen and (max-width: 991.98px) {
  .custom-footerSection-01 .row-section {
    padding-top: 0;
  }

  .custom-footerSection-01 .row-section::after {
    content: none;
  }
}



/* custom-section-01 */
.custom-section-01 {
  margin-top: -95px;
}

.custom-section-01 .row-section .home-cta {
  max-width: 966px;
}

.custom-section-01 .row-section.cta {
  max-width: 1312px;
}

.custom-section-01 .row-section {
  --offset: min(25px, calc((100vw - var(--container-width)) / 2 - 30px));
  --offsetWidth: calc(var(--offset) + 30px);

  max-width: 966px;
  background: #e6dbc2;
  margin-left: calc(-1 * var(--offsetWidth));
  margin-right: calc(-1 * var(--offsetWidth));
  padding: 36px 0;
  row-gap: 40px;
  border-radius: 0 50px 0 50px;
}

.custom-section-01 .row-section>[class*='col-'] {
  /* 720 ~ 1920 */
  padding-left: clamp(30px, 2.083333333333333vw + 15px, 55px);
  padding-right: clamp(30px, 2.083333333333333vw + 15px, 55px);
}

.custom-section-01 .section-title {
  position: relative;
}

.custom-section-01 .section-title .title {
  margin: 0 0 0;
  font-weight: normal;
}

.custom-section-01 .section-title .title span {
  position: relative;
}

.custom-section-01 .section-title .title span::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -5px;
  width: 100%;
  height: 5px;
  background-color: #fff;
  border-radius: 5px;
}

@media screen and (max-width: 991.98px) {
  .custom-section-01 {
    /* margin-top: 0; */
  }
}


/* custom-section-02 */
.custom-section-02 {
  position: relative;
  /* 720 ~ 1920 */
  --semicircle1: clamp(105px, 8.75vw + 42.00000000000001px, 210px);
  --semicircle2: clamp(145px, 12.083333333333334vw + 58px, 290px);

  color: #071e22;
  line-height: calc(32 / 22);
}

.custom-section-02 .row-section {
  justify-content: space-between;
  align-items: stretch;
  row-gap: 40px;
  /* 720 ~ 1920 */
  margin-left: clamp(-90px, -2.9166666666666665vw + -34px, -55px);
  margin-right: clamp(-90px, -2.9166666666666665vw + -34px, -55px);
  padding: clamp(36px, 4.166666666666666vw + 6px, 86px) 0 0;
  border-radius: 0 clamp(50px, 3.3333333333333335vw + 26px, 90px) 0 clamp(50px, 3.3333333333333335vw + 26px, 90px);
  background: #c8e2e3;
  /* overflow: hidden; */
}

.custom-section-02 .row-section::before,
.custom-section-02 .row-section::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: clamp(-90px, -2.9166666666666665vw + -34px, -55px);
  width: calc(var(--radius) * 2);
  height: var(--radius);
  border-radius: var(--radius) var(--radius) 0 0;
  background-color: var(--accent-color2);
  opacity: 0.26;
  z-index: 0;
}

.custom-section-02 .row-section::before {
  --radius: var(--semicircle1);
  transform: translate3d(calc(-30px - var(--semicircle2)), 0, 0);
}

.custom-section-02 .row-section::after {
  --radius: var(--semicircle2);
  transform: translate3d(-30px, 0, 0);
}

.custom-section-02 .row-section>[class*='col-'] {
  position: relative;
  z-index: 1;
  /* 720 ~ 1920 */
  padding-left: clamp(55px, 2.9166666666666665vw + 34px, 90px);
  padding-right: clamp(55px, 2.9166666666666665vw + 34px, 90px);
}

.custom-section-02 .row-section>.col-left {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  padding-bottom: clamp(36px, 4.166666666666666vw + 6px, 86px);
}

.custom-section-02 .row-section>.col-right {
  align-self: flex-end;
}

/* @media screen and (min-width: 1200px) { */
/* @media screen and (min-width: 768px) { */
@media screen and (min-width: 992px) {
  .custom-section-02 .row-section {
    flex-wrap: nowrap;
  }

  .custom-section-02 .row-section>.col-left {
    padding-right: 15px;

    flex-shrink: 1;
    flex-basis: auto;
  }

  .custom-section-02 .row-section>.col-right {
    padding-left: 15px;

    flex-grow: 0;
    flex-shrink: 0;
  }
}

/* @media screen and (max-width: 991.98px) {
	.custom-section-02 .row-section.xl-section{
		flex-wrap: wrap;
	}
	.custom-section-02 .row-section.xl-section > [class*='col-']{
		720 ~ 1920
		padding-left: clamp(55px, 2.9166666666666665vw + 34px ,90px);
		padding-right: clamp(55px, 2.9166666666666665vw + 34px ,90px);
		flex: auto;
	}
} */


.custom-section-02 .section-title {
  position: relative;
}

.custom-section-02 .section-title .title {
  margin: 0 0 0;
  font-weight: normal;
}

.custom-section-02 .section-title .title span {
  position: relative;
}

.custom-section-02 .section-title .title span::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -5px;
  width: 100%;
  height: 5px;
  background-color: #fff;
  border-radius: 5px;
}


/* custom-section-03 */
.custom-section-03 {
  position: relative;

  /* 720 ~ 1920 */
  --semicircle: clamp(73px, 6vw + 29.800000000000004px, 145px);
}

.d-wrapper>div.custom-section-03 {
  z-index: 2;
}

.custom-section-03 .row-section {
  flex-wrap: nowrap;
  justify-content: space-between;
}

.custom-section-03 .row-section .col-left {
  position: relative;
  /* 720 ~ 1920 */
  padding: clamp(50px, 3.3333333333333335vw + 26px, 90px) clamp(30px, 4.166666666666666vw + 0px, 80px) calc(var(--semicircle) * 0.75 + 50px);
  width: 100%;
  max-width: 777px;
  border-radius: 0 50px 0 50px;
  box-shadow: 0 0px 8px rgba(0, 0, 0, .1);

  background: #fff;
  margin-bottom: -120px;
  z-index: 1;

  overflow: hidden;
}

@media screen and (min-width: 1400px) {
  .custom-section-03 .row-section .col-left {
    /* 1200 ~ 1920 */
    transform: translate3d(calc(clamp(-175px, 24.305555555555554vw + -466.6666666666667px, 0px)), 0, 0);
  }
}

@media screen and (min-width: 1920px) {
  .custom-section-03 .row-section .col-left {
    /* 1920 ~ 2600 */
    transform: translate3d(calc(clamp(-175px, 18.38235294117647vw + -527.9411764705883px, -50px)), 0, 0);
  }
}

.custom-section-03 .row-section .col-left::before,
.custom-section-03 .row-section .col-left::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: calc(var(--radius) * 2);
  height: var(--radius);
  border-radius: var(--radius) var(--radius) 0 0;
  background-color: var(--accent-color2);
  opacity: 0.26;
  z-index: 0;
}

.custom-section-03 .row-section .col-left::before {
  --radius: var(--semicircle);
  transform: translate3d(-75%, 25%, 0);
}

.custom-section-03 .row-section .col-left::after {
  --radius: var(--semicircle);
  transform: translate3d(-25%, 25%, 0);
}

.custom-section-03 .row-section .col-right {
  position: absolute;
  bottom: 0;
  right: calc(-1/2 * (100vw - var(--container-width)));
  padding-left: 0;
  padding-right: 0;
  z-index: 0;
}

@media screen and (max-width: 1199.98px) {
  .custom-section-03 .is-container {
    padding-left: 45px !important;
    padding-right: 45px !important;
  }

  .custom-section-03 .row-section {
    flex-wrap: wrap;
  }

  .custom-section-03 .row-section .col-left {
    max-width: 100%;
    width: 100%;
    margin-bottom: 40px;
  }

  .custom-section-03 .row-section .col-right {
    position: relative;
    left: 50%;
    right: auto;
    width: 100vw;
    max-width: none;
    transform: translate3d(-50%, 0, 0);
  }
}

@media screen and (max-width: 575.98px) {
  .custom-section-03 .is-container {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
}



/* custom-section-04 */
.custom-section-04 {
  position: relative;
}

.custom-section-04 .row-section {
  background: #e6dbc2;
  /* 720 ~ 1920 */
  margin-left: clamp(-90px, -2.9166666666666665vw + -34px, -55px);
  ;
  margin-right: clamp(-90px, -2.9166666666666665vw + -34px, -55px);
  ;
  padding: clamp(36px, 9vw + -28.799999999999997px, 144px) 0;
  row-gap: 40px;
  border-radius: 0 50px 0 50px;
}

.custom-section-04 .row-section>[class*='col-'] {
  /* 720 ~ 1920 */
  padding-left: clamp(55px, 2.9166666666666665vw + 34px, 90px);
  ;
  padding-right: clamp(55px, 2.9166666666666665vw + 34px, 90px);
  ;
}

.custom-section-04 .section-title {
  position: relative;
}

.custom-section-04 .section-title .title {
  margin: 0 0 0;
  font-weight: normal;
}

.custom-section-04 .section-title .title span {
  position: relative;
}

.custom-section-04 .section-title .title span::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -5px;
  width: 100%;
  height: 5px;
  background-color: #fff;
  border-radius: 5px;
}

@media screen and (max-width: 991.98px) {
  .custom-section-04 {
    margin-top: 0;
  }
}



/* custom-section-05 */
.custom-section-05 {
  margin-top: -150px;
  padding-left: 30px;
  padding-right: 30px;
}

.custom-section-05 .is-container {
  margin-top: 0 !important;
  padding-top: 65px;
  /* 720 ~ 1920 */
  padding-left: clamp(30px, 5.833333333333333vw + -12px, 100px) !important;
  padding-right: clamp(30px, 5.833333333333333vw + -12px, 100px) !important;
  border-top-right-radius: clamp(50px, 4.166666666666666vw + 20px, 100px);
  background: linear-gradient(to bottom, #ffffff 0%, #ffffff 150px, transparent min(450px, 400%));
}

@media screen and (max-width: 991.98px) {
  .custom-section-05 {
    padding-left: 0;
    padding-right: 0;
  }
}




/* custom-sectionTab-01 */
.custom-sectionTab-01 .section-tabs-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

.custom-sectionTab-01 .section-tabs-list .item {
  display: inline-flex;
  padding: 11px 37px;
  color: #fff;
  font-size: 1.125rem;
  line-height: calc(32 / 18);
  font-weight: normal;
  background: var(--accent-color);
  border: none;
  border-radius: 100px;
  align-items: center;
  cursor: pointer;
}

.custom-sectionTab-01 .section-tabs-list .item.active {
  background: var(--accent-color2);
}

.custom-sectionTab-01.custom-section-05 .section-tabs-list {
  padding-top: 80px;
  padding-bottom: 65px;
  border-top-right-radius: clamp(50px, 4.166666666666666vw + 20px, 100px);
  background-color: #fff;
}

.custom-sectionTab-01.custom-section-05 .section-tabs-container .is-container {
  padding-top: 0;
  border-top-right-radius: 0;
}


/* custom-minHeight */
.custom-minHeight {
  min-height: 100%;
}

.custom-fitCover {
  object-fit: cover;
}


/* custom-borderRadius */
.custom-borderRadius-01 {
  border-radius: 0 50px 0 50px;
}

.custom-borderRadius-01.large {
  border-radius: 0 clamp(50px, 4.166666666666666vw + 20px, 100px) 0 clamp(50px, 4.166666666666666vw + 20px, 100px);
}

.custom-borderRadius-02 {
  border-radius: 50px 50px 0 0;
}

.custom-borderRadius-03 {
  border-radius: 50px 50px 50px 50px;
}


/* .custom-boxShadow */
.custom-boxShadow-01 {
  box-shadow: 0 0px 30px -5px rgba(46, 96, 98, 0.25);
}

.custom-boxShadow-02 {
  box-shadow: 0 10px 30px 0px rgba(46, 96, 98, 0.5);
}



/* custom-name-01 */
.custom-name-01 {
  position: relative;
  color: #243141;
  font-weight: 600;
}

.custom-name-01::before {
  content: '';
  display: inline-block;
  margin-top: -3px;
  margin-right: 15px;
  width: 46px;
  height: 3px;
  vertical-align: middle;
  background-color: var(--accent-color2);
}


/* custom-button */
body [class^='custom-button-'],
body [class*=' custom-button-'] {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: 1rem;
  font-family: var(--font-family-Quicksand);
  font-weight: 500;
  line-height: 1.2;
  height: 60px;
  padding: 0 35px;
  white-space: nowrap;
  vertical-align: middle;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  background-image: none;
  border: none;
  border-radius: 60px;
  -webkit-transition: all .3s cubic-bezier(0.420, 0.000, 1.000, 1.000);
  transition: all .3s cubic-bezier(0.420, 0.000, 1.000, 1.000);
  -webkit-appearance: none;
  appearance: none;

  text-decoration: none !important;
}

body [class^='custom-button-'].small,
body [class*=' custom-button-'].small {
  height: 40px;
  padding: 0 30px;
  border-radius: 40px;
}

body [class^='custom-button-'].large,
body [class*=' custom-button-'].large {
  /* 992 ~ 1920 */
  height: clamp(60px, 3.771551724137931vw + 22.586206896551722px, 95px);
  padding: 0 clamp(35px, 0.5387931034482759vw + 29.655172413793103px, 40px);
  border-radius: clamp(60px, 3.771551724137931vw + 22.586206896551722px, 95px);
  font-size: clamp(1rem, 0.9698275862068966vw + 6.379310344827585px, 1.5625rem);
}

.custom-groupButton-01 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 15px;
}

@media screen and (max-width: 991.98px) {

  body [class^='custom-button-'],
  body [class*=' custom-button-'] {
    padding: 0 20px;
  }

  body [class^='custom-button-'].small,
  body [class*=' custom-button-'].small {
    padding: 0 20px;
  }

  body [class^='custom-button-'].large,
  body [class*=' custom-button-'].large {
    padding: 0 20px;
  }

}


/* custom-button-01 */
body .custom-button-01,
body a.custom-button-01 {
  color: #fff;
  background: var(--accent-color);
}

body .custom-button-01:hover,
body a.custom-button-01:hover {
  filter: brightness(1.12);
}

body .custom-button-01.color2,
body a.custom-button-01.color2 {
  background: var(--accent-color2);
}


/* custom-button-02 */
body .custom-button-02,
body a.custom-button-02 {
  /* 720 ~ 1920 */
  column-gap: clamp(20px, 2.5vw + 2px, 50px);
  height: auto;
  padding: 0 0 10px;
  font-size: 1.5625rem;
  line-height: 1.2;
}

body .custom-button-02 .sico {
  color: var(--link-color);
  font-size: 1.2em;
  line-height: 1;
  transition: color .3s cubic-bezier(0.420, 0.000, 1.000, 1.000);
}

body .custom-button-02 span {
  position: relative;
  color: #071e22;
  transition: color .3s cubic-bezier(0.420, 0.000, 1.000, 1.000);
}

body .custom-button-02 span::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -10px;
  width: 100%;
  height: 3px;
  color: var(--link-color);
  border-radius: 3px;
  background-color: currentColor;
  transition: color .3s cubic-bezier(0.420, 0.000, 1.000, 1.000);
}

body .custom-button-02:hover .sico,
body .custom-button-02:hover span,
body .custom-button-02:hover span::after {
  color: var(--link-hover-color);
}



/* custom-playButton-01 */
.custom-playButton-01 {
  width: 94px;
  height: 94px;
  background-color: #FFF;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -47px 0 0 -47px;
}

.custom-playButton-01::before,
.custom-playButton-01::after,
.custom-playButton-01 .water::before,
.custom-playButton-01 .water::after {
  content: "";
  background-color: rgba(255, 255, 255, 0.25);
  opacity: 0.2;
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: 0px;
  border-radius: 50%;
  animation: custom-playButton-01 4s infinite;
}

.custom-playButton-01::after {
  animation-delay: 0.3s;
}

.custom-playButton-01 .water::before {
  animation-delay: 0.6s;
}

.custom-playButton-01 .water::after {
  animation-delay: 0.9s;
}

.custom-playButton-01 .icon {
  width: 26px;
  height: 34px;
  background-color: var(--accent-color);
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  display: block;
  position: relative;
  z-index: 1;
  border-radius: 3px 3px 3px 3px/3px 3px 3px 3px;
  margin-left: 8px;
}

@-webkit-keyframes custom-playButton-01 {
  0% {
    opacity: .8;
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  75% {
    opacity: 0;
    -webkit-transform: scale(4);
    transform: scale(4);
  }

  100% {
    opacity: 0;
    -webkit-transform: scale(4);
    transform: scale(4);
  }
}

@keyframes custom-playButton-01 {
  0% {
    opacity: .8;
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  75% {
    opacity: 0;
    -webkit-transform: scale(4);
    transform: scale(4);
  }

  100% {
    opacity: 0;
    -webkit-transform: scale(4);
    transform: scale(4);
  }
}




/* custom-title-01 */
.custom-title-01 {
  position: relative;
  font-size: 0;
  line-height: 0;
  margin-bottom: 35px;
}

.custom-title-01 .title {
  margin: 0 0 30px;
  font-weight: normal;
}

.custom-title-01 .title a {
  color: currentColor;
}

.custom-title-01 .title a:hover {
  color: var(--link-hover-color);
}

.custom-title-01::after {
  content: '';
  display: inline-block;
  /* margin-bottom: 35px; */
  margin-bottom: 0;
  width: 100%;
  max-width: 222px;
  height: 5px;
  background-color: var(--accent-color);
  border-radius: 5px;
}

.custom-title-01.blackLine::after {
  background-color: #071e22;
}



/* custom-footList-01 */
#Body .custom-footList-01 {
  margin: 0 0 0;
}

#Body .custom-footList-01 li {
  list-style: none;
}

#Body .custom-footList-01 a {
  color: var(--default-color);
}

#Body .custom-footList-01 a:hover {
  color: var(--link-hover-color);
}


/* custom-imgBox-01 */
.custom-imgBox-01 {
  position: relative;
}

.custom-imgBox-01 img {
  width: 100%;
  margin-top: -29.5%;
  margin-bottom: -25.5%;
}

.custom-imgBox-01.large img {
  margin-top: -25%;
  margin-bottom: -20%;
}



/* custom-infoBox-01 */
.custom-infoBox-01 {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background-color: #fff;
  border-radius: 0 50px 0 50px;
  box-shadow: 0 0px 30px -5px rgba(46, 96, 98, 0.25);

  margin-bottom: 40px;
}

.row.row-custom-infoBox-01 {
  /* 720 ~ 1920 */
  --columnGap: clamp(30px, 1.25vw + 21px, 45px);
  margin-left: calc(-1 / 2 * var(--columnGap));
  margin-right: calc(-1 / 2 * var(--columnGap));
  row-gap: clamp(40px, 1.6666666666666667vw + 28px, 60px);
}

.row.row-custom-infoBox-01>[class*="col"] {
  padding-left: calc(1 / 2 * var(--columnGap));
  padding-right: calc(1 / 2 * var(--columnGap));
}

.row.row-custom-infoBox-01 .custom-infoBox-01 {
  margin-bottom: 0;
  height: 100%;
}

.custom-infoBox-01 .pic {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.custom-infoBox-01 .pic img {
  width: 100%;
  aspect-ratio: 1;
  height: auto;
  object-fit: cover;
}

.custom-infoBox-01 .content {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;

  /* 720 ~ 1920 */
  padding: 27.5px clamp(20px, 2.5vw + 2px, 50px);
}

.custom-infoBox-01 .content .title,
.custom-infoBox-01 .content .title a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;

  /* 720 ~ 1920 */
  column-gap: clamp(20px, 1.6666666666666667vw + 8px, 40px);
}

.custom-infoBox-01 .content .title {
  margin: 0 0 0;
  font-size: 1.5625rem;
  line-height: 1.2;
}

.custom-infoBox-01 .content .title a {
  color: currentColor;
  transition: none;
}

.custom-infoBox-01 .content .title a:hover {
  color: var(--link-hover-color);
}

.custom-infoBox-01 .content .title span {
  color: currentColor;
  transition: color .3s cubic-bezier(0.420, 0.000, 1.000, 1.000);
}

.custom-infoBox-01 .content .title span span {
  transition: none;
}

.custom-infoBox-01 .content .title .sico {
  color: var(--link-color);
  font-size: 1.2em;
  line-height: 1;
  transition: color .3s cubic-bezier(0.420, 0.000, 1.000, 1.000);
}

.custom-infoBox-01 .content .title a:hover .sico {
  color: var(--link-hover-color);
}



/* custom-infoBox-02 */
.custom-infoBox-02 {
  margin-bottom: 40px;
  border-radius: 0 50px 0 50px;
  box-shadow: 0 0px 30px -5px rgba(46, 96, 98, 0.25);
  background-color: #fff;
  overflow: hidden;
}

.row.row-custom-infoBox-02 {
  row-gap: 40px;
}

.row.row-custom-infoBox-02 .custom-infoBox-02 {
  margin-bottom: 0;
  height: 100%;
}

.custom-infoBox-02 .content {
  /* 720 ~ 1920 */
  padding: 32px clamp(25px, 2.5vw + 7px, 55px) 42px;
}

.custom-infoBox-02 .content .title {
  display: flex;
  align-items: center;
  gap: 5px;
  color: var(--accent-color);
  font-size: var(--font-size-76);
  font-weight: 500;
  line-height: calc(86 / 76);
}

.custom-infoBox-02 .content .title span {
  font-size: 28px;
}

.custom-infoBox-02 .content p:last-child {
  margin-bottom: 0;
}



/* custom-infoBox-03 */
.custom-infoBox-03 {
  position: relative;
  margin-bottom: 40px;
  color: #243141;
  /* 720 ~ 1920 */
  border-radius: 0 clamp(50px, 4.166666666666666vw + 20px, 100px) 0 clamp(50px, 4.166666666666666vw + 20px, 100px);
  box-shadow: 0 0px 30px -5px rgba(46, 96, 98, 0.25);
  overflow: hidden;
  z-index: 1;
}

.row.row-custom-infoBox-03 {
  row-gap: 40px;
}

.row.row-custom-infoBox-03 .custom-infoBox-03 {
  margin-bottom: 0;
  height: 100%;
}

.custom-infoBox-03::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: var(--accent-color);
  opacity: 0.6;
  z-index: -1;
  filter: brightness(1.2);
}

.custom-infoBox-03.color2::before {
  background-color: var(--accent-color2);
}

.custom-infoBox-03 .content {
  /* 720 ~ 1920 */
  padding: clamp(35px, 2.5vw + 17px, 65px) clamp(20px, 3.3333333333333335vw + -4px, 60px) clamp(40px, 2.9166666666666665vw + 19px, 75px);
}

.custom-infoBox-03 .content .title {
  margin: 0 0 42px;
  font-size: var(--font-size-40);
  line-height: calc(56 / 40);
  font-weight: normal;
}

.custom-infoBox-03 .content .title:last-child {
  margin-bottom: 0;
}

.custom-infoBox-03 .content .title::after {
  content: '';
  display: block;
  margin-top: 28px;
  width: 100%;
  max-width: 184px;
  height: 5px;
  background-color: var(--accent-color);
  border-radius: 5px;
}

.custom-infoBox-03.color2 .content .title::after {
  background-color: #071e22;
}

.custom-infoBox-03 .content p:last-child {
  margin-bottom: 0;
}


/* custom-infoBox-04 */
.custom-infoBox-04 {
  /* 720 ~ 1920 */
  position: relative;
  margin-bottom: clamp(40px, 1.6666666666666667vw + 28px, 60px);
}

.row.row-custom-infoBox-04 {
  /* 720 ~ 1920 */
  row-gap: clamp(60px, 2.666666666666667vw + 40.8px, 92px);
}

.row.row-custom-infoBox-04 .custom-infoBox-04 {
  margin-bottom: 0;
}

.custom-infoBox-04 .header {
  /* 720 ~ 1920 */
  padding: 32px clamp(20px, 2.5vw + 2px, 50px);
  border: 1px solid #ebe9e2;
  border-radius: 0 50px 0 50px;
  background-color: #fff;
  box-shadow: 0 0px 30px -5px rgba(46, 96, 98, 0.25);
}

.custom-infoBox-04 .header .title {
  margin: 0 0 0;
  font-size: 1.5rem;
  line-height: 1.2;
}

.custom-infoBox-04 .header+.content {
  margin-top: 30px;
}

.custom-infoBox-04 .content {
  padding-left: clamp(20px, 2.5vw + 2px, 50px);
}

.custom-infoBox-04 .content p:last-child {
  margin-bottom: 0;
}




/* custom-infoBox-05 */
.custom-infoBox-05 {
  margin-bottom: 40px;
  border-radius: 0 50px 0 50px;
  box-shadow: 0 0px 30px -5px rgba(46, 96, 98, 0.25);
  background-color: #fff;
  overflow: hidden;
}

.row.row-custom-infoBox-05 {
  row-gap: 40px;
}

.row.row-custom-infoBox-05 .custom-infoBox-05 {
  margin-bottom: 0;
  /* height: 100%; */
}

.custom-infoBox-05 .content {
  /* 720 ~ 1920 */
  padding: 46px clamp(25px, 1.25vw + 16px, 40px) 48px;
  color: #243141;
}

.custom-infoBox-05 .content .title {
  margin: 0 0 42px;
  font-size: var(--font-size-40);
  line-height: calc(56 / 40);
  font-weight: normal;
  letter-spacing: calc(1em / 1000 * -25);
}

.custom-infoBox-05 .content .title:last-child {
  margin-bottom: 0;
}

.custom-infoBox-05 .content .title::after {
  content: '';
  display: block;
  margin-top: 28px;
  width: 100%;
  max-width: 184px;
  height: 5px;
  background-color: var(--accent-color);
  border-radius: 5px;
}

.custom-infoBox-05 .content p:last-child {
  margin-bottom: 0;
}



/* custom-infoBox-06  */
.custom-infoBox-06 {
  position: relative;
  display: flex;
  justify-content: space-between;
  /* 720 ~ 1920 */
  padding: clamp(30px, 3.75vw + 3px, 75px) clamp(30px, 5.833333333333333vw + -12px, 100px);
  border-radius: 0 50px 0 50px;
  overflow: hidden;
  /* 720 ~ 1920 */
  gap: 40px clamp(30px, 6.666666666666667vw + -18px, 110px);
}

.custom-infoBox-06::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: var(--accent-color);
  opacity: 0.6;
  z-index: -1;
  filter: brightness(1.2);
}

.custom-infoBox-06.color2::before {
  background-color: var(--accent-color2);
}

.custom-infoBox-06 .pic {
  order: 1;
  flex-shrink: 0;
}

.custom-infoBox-06 .content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-grow: 1;
  color: #243141;
}

.custom-infoBox-06 .content p:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 991.98px) {
  .custom-infoBox-06 {
    flex-wrap: wrap;
  }

  .custom-infoBox-06 .pic {
    order: 0;
    width: 100%;
    text-align: center;
  }
}


/* custom-infobox-07 */
.custom-infobox-07 {
  position: relative;
  margin-bottom: 40px;
  /* 720 ~ 1920 */
  padding: clamp(30px, 1vw + 22.8px, 42px) clamp(20px, 2.5vw + 2px, 50px) clamp(38px, 1.6666666666666667vw + 26px, 58px);
  border-radius: 0 50px 0 50px;
  background-color: #fff;
  box-shadow: 0 0px 30px -5px rgba(46, 96, 98, 0.25);

  text-align: center;
}

.row.row-custom-infobox-07 {
  row-gap: 40px;
}

.row.row-custom-infobox-07 .custom-infobox-07 {
  margin-bottom: 0;
  height: 100%;
}

.custom-infobox-07 .header {
  position: relative;
  font-size: 0;
  line-height: 0;
}

.custom-infobox-07 .header::after {
  content: '';
  display: inline-block;
  width: 100%;
  max-width: 185px;
  height: 5px;
  background-color: var(--accent-color);
  border-radius: 5px;
}

.custom-infobox-07 .header .title {
  position: relative;
  margin: 0 0 28px;
  font-size: var(--font-size-40);
  line-height: calc(56 / 40);
  font-weight: normal;
}

.custom-infobox-07 .header+.content {
  margin-top: 40px;
}

.custom-infobox-07 .content .price-list {
  position: relative;
  margin: 0 0 20px;
  display: flex;
  flex-direction: column;
}

.custom-infobox-07 .content .price-list:last-child {
  margin-bottom: 0;
}

.custom-infobox-07 .content .price-list li {
  list-style-type: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 32px;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--accent-color);
  font-size: 1.25rem;
  line-height: 1.4;
}

.custom-infobox-07 .content .price-list li:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.custom-infobox-07 .content .price-list li .price {
  color: var(--accent-color);
  font-size: var(--font-size-60);
  line-height: 1;
  font-weight: 600;
  font-family: var(--font-family-Quicksand);
}

.custom-infobox-07.color2 .content .price-list li .price {
  color: var(--accent-color2);
}

.custom-infobox-07 .content .price-list li .price sub {
  bottom: 0;
  font-size: 0.5em;
}

/* custom-contactBox-01 */
.custom-contactBox-01 {
  position: relative;
  margin-bottom: 40px;
  /* 720 ~ 1920 */
  padding: clamp(35px, 2.5vw + 17px, 65px) clamp(20px, 3.3333333333333335vw + -4px, 60px) clamp(40px, 2.9166666666666665vw + 19px, 75px);
  color: #243141;
  border-radius: 0 clamp(50px, 4.166666666666666vw + 20px, 100px) 0 clamp(50px, 4.166666666666666vw + 20px, 100px);
  box-shadow: 0 0px 30px -5px rgba(46, 96, 98, 0.25);
  overflow: hidden;
  z-index: 1;
}

.row.row-custom-contactBox-01 {
  row-gap: 40px;
}

.row.row-custom-contactBox-01 .custom-contactBox-01 {
  margin-bottom: 0;
  height: 100%;
}

.custom-contactBox-01::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: var(--accent-color);
  opacity: 0.6;
  z-index: -1;
  filter: brightness(1.2);
}

.custom-contactBox-01.color2::before {
  background-color: var(--accent-color2);
}

.custom-contactBox-01 .icon {
  margin-bottom: 12px;
  font-size: 0;
  line-height: 1;
}

.custom-contactBox-01 .icon .sico {
  font-size: 60px;
}

.custom-contactBox-01 .content .title {
  margin: 0 0 28px;
  font-size: var(--font-size-40);
  line-height: calc(56 / 40);
  font-weight: normal;
}

.custom-contactBox-01 .content .title::after {
  content: '';
  display: block;
  margin-top: 18px;
  width: 100%;
  max-width: 184px;
  height: 5px;
  background-color: var(--accent-color);
  border-radius: 5px;
}

.custom-contactBox-01.color2 .content .title::after {
  background-color: #071e22;
}

.custom-contactBox-01 .content p:last-child {
  margin-bottom: 0;
}



/* custom-priceBox-01 */
.custom-priceBox-01 {
  position: relative;
  margin-bottom: 30px;
  color: #243141;
  /* 720 ~ 1920 */
  border-radius: 0 clamp(50px, 4.166666666666666vw + 20px, 100px) 0 clamp(50px, 4.166666666666666vw + 20px, 100px);
  box-shadow: 0 0px 30px -5px rgba(46, 96, 98, 0.25);
  overflow: hidden;
  z-index: 1;
}

.row.row-custom-priceBox-01 {
  row-gap: 30px;
}

.row.row-custom-priceBox-01 .custom-priceBox-01 {
  margin-bottom: 0;
  height: 100%;
}

.custom-priceBox-01::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: var(--accent-color);
  opacity: 0.6;
  z-index: -1;
  filter: brightness(1.2);
}

.custom-priceBox-01.color2::before {
  background-color: var(--accent-color2);
}

.custom-priceBox-01 .content {
  /* 720 ~ 1920 */
  padding: clamp(35px, 1.4166666666666665vw + 24.8px, 52px) clamp(20px, 3.3333333333333335vw + -4px, 60px) clamp(32px, 1.3333333333333335vw + 22.4px, 48px);
}

.custom-priceBox-01 .content .title {
  margin: 0 0 30px;
  font-size: var(--font-size-40);
  line-height: calc(50 / 40);
  font-weight: normal;
}

.custom-priceBox-01 .content .title:last-child {
  margin-bottom: 0;
}

.custom-priceBox-01 .content .title::after {
  content: '';
  display: block;
  margin-top: 30px;
  width: 100%;
  max-width: 184px;
  height: 5px;
  background-color: var(--accent-color);
  border-radius: 5px;
}

.custom-priceBox-01.color2 .content .title::after {
  background-color: #071e22;
}

.custom-priceBox-01 .content .price-list {
  position: relative;
  margin: 0 0 20px;
  display: flex;
  flex-direction: column;
  /* 720 ~ 1920 */
  row-gap: clamp(10px, 1.6666666666666667vw + -2px, 30px);
}

.custom-priceBox-01 .content .price-list:last-child {
  margin-bottom: 0;
}

.custom-priceBox-01 .content .price-list li {
  list-style-type: none;
  display: flex;
  align-items: center;
  gap: 10px 20px;
  font-size: 1.25rem;
  line-height: 1.4;
}

.custom-priceBox-01 .content .price-list li .price {
  color: var(--accent-color);
  font-size: var(--font-size-60);
  line-height: 1;
  font-weight: 600;
  font-family: var(--font-family-Quicksand);
}

.custom-priceBox-01.color2 .content .price-list li .price {
  color: var(--accent-color2);
}

.custom-priceBox-01 .content .price-list li .price sub {
  bottom: 0;
  font-size: 0.5em;
}



.custom-priceBox-01 .content p:last-child {
  margin-bottom: 0;
}






/* custom-list-01 */
.custom-list-01 {
  position: relative;
  margin: 0 0 0;
}

.custom-list-01 li {
  display: flex;
  align-items: center;
  gap: 25px;

  /* 720 ~ 1920 */
  list-style: none;
  padding: 20px clamp(20px, 1.25vw + 11px, 35px);
  border-bottom: 1px solid var(--default-color);
}

.custom-list-01 li .icon {
  /* 720 ~ 1920 */
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin: -5px 0 -5px clamp(-15px, -1.25vw + 9px, 0px);
  width: 1em;
  height: 1em;
  color: var(--accent-color);
  font-size: 50px;
  line-height: 1;
}

.custom-list-01 li a {
  display: flex;
  align-items: center;
  gap: 25px;

  color: var(--default-color);
}

.custom-list-01 li a:hover {
  color: var(--link-hover-color);
}


/* custom-list-02 */
.custom-list-02 {
  margin: 0 0 0;
  font-size: 1.375rem;
  line-height: calc(32 / 22);
}

.custom-list-02 li {
  position: relative;
}

.custom-list-02>li {
  list-style: none;
  margin-bottom: 15px;
  padding-left: 35px;
}

.custom-list-02>li::before,
.custom-list-02>li::after {
  content: '';
  position: absolute;
  top: 15px;
  left: 0;
  color: var(--accent-color2);
}

.custom-list-02>li::before {
  width: 21px;
  height: 2px;
  background-color: currentColor;
}

.custom-list-02>li::after {
  width: 10px;
  height: 10px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg) translate3d(5px, -11px, 0);
}

.custom-list-02 ul {
  margin: 18px 0 0;
  font-size: 1.25rem;
  line-height: calc(30 / 20);
}

.custom-list-02 ul li {
  list-style: none;
  margin-bottom: 10px;
  padding-left: 22px;
}

.custom-list-02 ul li::before {
  content: '';
  position: absolute;
  top: 11px;
  left: 0;
  width: 8px;
  height: 8px;
  color: var(--accent-color2);
  background-color: currentColor;
  border-radius: 50%;
}

.custom-list-02 ul ul li::before {
  content: '';
  position: absolute;
  top: 11px;
  left: 0;
  width: 8px;
  height: 8px;
  color: var(--accent-color2);
  border: 1px solid currentColor;
  background-color: transparent;
  border-radius: 50%;
}


/* custom-priceList-01 */
.custom-priceList-01 {
  display: flex;
  flex-wrap: wrap;
  gap: 30px 60px;
  margin: 0 0 0;
  color: #243141;
  font-family: var(--font-family-Quicksand);
}

.custom-priceList-01 li {
  list-style: none;
}

.custom-priceList-01 li {
  list-style-type: none;
  display: flex;
  align-items: center;
  gap: 10px 10px;
  font-size: 1.25rem;
  line-height: 1.4;
}

.custom-priceList-01 li .price {
  color: var(--accent-color);
  font-size: var(--font-size-60);
  line-height: 1;
  font-weight: 600;
}

.custom-priceList-01.color2 li .price {
  color: var(--accent-color2);
}

.custom-priceList-01 li .price sub {
  bottom: 0;
  font-size: 0.5em;
}


/* custom-PortfolioPageImg-01 */
body .custom-PortfolioPageImg-01 {
  /* 720 ~ 1920 */
  float: left;
  margin-right: clamp(30px, 7.5vw + -24px, 120px);
  /* margin-bottom: clamp(40px, 3.75vw + 13px ,85px); */
  margin-bottom: 40px;
  max-width: min(532px, 50%);
  border-radius: 50px 0 50px 0;
}

@media screen and (max-width: 575.98px) {
  body .custom-PortfolioPageImg-01 {
    float: none;
    margin-right: 0;
    max-width: 100%;
  }
}


/* custom-responsive-01 */
.custom-responsive-01 {
  display: block;
  margin: 0 auto 0;
  padding: 0 0 0;
  max-width: 360px;
  background: white;
  border-radius: 3px;
  border: 1px solid rgb(219, 219, 219);
}

.custom-responsive-01::before {
  padding-bottom: calc(398 / 360 * 100%);
  min-height: 365px;
}



/* custom-counter-01 */
.custom-counter-01 {
  position: relative;
  display: flex;
  flex-direction: column;
  text-align: center;
  margin-bottom: 40px;
}

.row.row-custom-counter-01 {
  row-gap: 40px;
}

.row.row-custom-counter-01 .custom-counter-01 {
  margin-bottom: 0;
}

.custom-counter-01 .title {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #243141;
  /* 720 ~ 1280 */
  font-size: clamp(54px, 2.166666666666667vw + 38.4px, 80px);
  font-family: var(--font-family-Quicksand);
  line-height: 1;
  letter-spacing: calc(1em / 1000 * -4);
}

.custom-counter-01 .content {
  font-size: 1.375rem;
  line-height: calc(32 / 22);
  letter-spacing: calc(1em / 1000 * -4);
}

.custom-counter-01 .content::before {
  content: '';
  display: block;
  margin: 20px auto 30px;
  width: 100%;
  max-width: 115px;
  height: 5px;
  background-color: var(--accent-color);
  border-radius: 5px;
}

.custom-counter-01.color2 .content::before {
  background-color: var(--accent-color2);
}

.custom-counter-01 .content p:last-child {
  margin-bottom: 0;
}



/* custom-masonry-01 */
.custom-masonry-01 {
  --ImageWidth: 420;
  --ImageHeight: 300;
}

.custom-masonry-01 .isotope-main .isotope-item .pic {
  position: relative;
  padding-bottom: calc(var(--ImageHeight) / var(--ImageWidth) * 100%);
  border-radius: 0 50px 0 50px;
  overflow: hidden;
}

.custom-masonry-01 .isotope-main .isotope-item .pic a,
.custom-masonry-01 .isotope-main .isotope-item .pic img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}




/* custom-accordion-01 */

.custom-accordion-01 .panel-heading {
  margin: 0 0 0;
}

.custom-accordion-01 .panel-heading button {
  position: relative;
  font-size: 1.25rem;
  line-height: 1.6;
  padding: 5px 50px 5px 0;
  font-weight: 600;
  display: block;
  overflow: hidden;
  background: none;
  border: none;
  width: 100%;
  text-align: left;
  border-radius: 0;
  transition: all ease 300ms;
}

.custom-accordion-01 .accordion-content {
  display: none;
  padding: 10px 0 3px;
}

.custom-accordion-01 .accordion-item {
  padding: 20px 0;
  border-bottom: 1px solid #e1e6f1;
  transition: all ease 300ms;
  position: relative;
  margin-bottom: 0;
}

.custom-accordion-01 .accordion-content p:last-child {
  margin: 0 0 0;
}

.custom-accordion-01 .panel-heading .arrow {
  position: absolute;
  top: 50%;
  right: 0;

  width: 23px;
  height: 23px;
  transform: translate3d(0, -50%, 0);
}

.custom-accordion-01 .panel-heading .arrow::before,
.custom-accordion-01 .panel-heading .arrow::after {
  position: absolute;
  content: '';
  top: 50%;
  left: 50%;
  background-color: var(--accent-color2);
  transform: translate3d(-50%, -50%, 0);
  opacity: 1;
  z-index: 1;
  transition: all .3s cubic-bezier(0.420, 0.000, 1.000, 1.000);
}

.custom-accordion-01 .accordion-item .arrow::before {
  width: 23px;
  height: 3px;
}

.custom-accordion-01 .accordion-item .arrow::after {
  width: 3px;
  height: 23px;
}

.custom-accordion-01 .accordion-item.opened .arrow::after {
  transform: translate3d(0, -50%, 0) rotate(90deg);
}

html.html-night .custom-accordion-01 .panel-heading button {
  color: #FFF;
}





.custom-progressbar-01 .title {
  margin: 0 0 16px;
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1.3;
}

.custom-progressbar-01 .progress {
  position: relative;
  margin: 0 0 28px 0;
  height: 16px;
  border: none;
  border-radius: 40px;
  background: transparent;
  overflow: hidden;
}

.custom-progressbar-01 .progress::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: currentColor;
  opacity: 0.25;
}

.custom-progressbar-01 .bar {
  position: absolute;
  width: 0;
  top: 0;
  bottom: 0;
  left: 0;
  background-color: currentColor;
  transition: width ease-in 400ms;
  background-size: 40px 40px;
  border-radius: 40px;
}

.custom-progressbar-01 .bar span {
  display: none;
  visibility: hidden;
}