@charset "UTF-8";
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header, nav, section, time, mark, audio, video {
  border: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  outline: 0;
  padding: 0
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main {
  display: block
}
html {
  font-size: 62.5%
}
body, table, input, textarea, select, option, h1, h2, h3, h4, h5, h6 {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}
h1, h2, h3, h4, h5, h6 {
  font-weight: 700
}
table, input, textarea, select, option {
  line-height: 1.1
}
ol, ul {
  list-style: none
}
blockquote, q {
  quotes: none
}
:focus {
  outline: 0
}
ins {
  text-decoration: none
}
del {
  text-decoration: line-through
}
img {
  vertical-align: top
}
a {
  color: inherit;
  text-decoration: none;
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out
}
a:hover, a:hover img {
  filter: alpha(opacity=80);
  opacity: .8
}
img {
  max-width: 100%
}
.sp-only {
  display: none
}
@media only screen and (max-width: 767px) {
  .pc-only {
    display: none
  }
  .sp-only {
    display: block
  }
}
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: #fff;
  z-index: 999;
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out
}
.header.header-fix {
  -webkit-transform: translateY(-99px);
  transform: translateY(-99px)
}
@media only screen and (max-width: 1024px) {
  .header.header-fix {
    -webkit-transform: none;
    transform: none
  }
}
.header.is-active .header__toggle span {
  border-color: transparent
}
.header.is-active .header__toggle span:before {
  -webkit-transform: rotateZ(45deg) translate(6.5px, 5.5px);
  transform: rotate(45deg) translate(6.5px, 5.5px)
}
.header.is-active .header__toggle span:after {
  -webkit-transform: rotateZ(-45deg) translate(6.5px, -6.5px);
  transform: rotate(-45deg) translate(6.5px, -6.5px)
}
.header__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 20px 30px;
  height: 90px
}
@media only screen and (max-width: 1024px) {
  .header__wrap {
    padding: 0;
    height: 60px
  }
}
.header__top {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}
.header__logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: auto
}
@media only screen and (max-width: 1240px) {
  .header__logo {
    margin-left: 0
  }
}
@media only screen and (max-width: 1024px) {
  .header__logo {
    padding: 0 20px
  }
}
.header__logoImg {
  max-width: 216px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}
@media only screen and (max-width: 1024px) {
  .header__logoImg {
    max-width: 108px;
    position: relative
  }
}
.header__toggle {
  display: none;
  z-index: 1000
}
@media only screen and (max-width: 1024px) {
  .header__toggle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    background: #222222;
    width: 60px;
    height: 60px
  }
}
.header__toggle span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 30px;
  height: 20px;
  position: relative
}
.header__toggle span span {
  width: 30px;
  height: auto;
  border-top: 1px solid #FFFFFF;
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out
}
.header__toggle span span:before, .header__toggle span span:after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  border-top: 1px solid #FFFFFF;
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out
}
.header__toggle span span:before {
  top: -10px
}
.header__toggle span span:after {
  top: 8px
}
.header__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}
@media only screen and (max-width: 1024px) {
  .header__nav {
    position: fixed;
    top: 60px;
    left: -100%;
    width: 100%;
    background: rgba(255, 255, 255, .96);
    height: calc(100vh - 60px);
    overflow: auto;
    z-index: 99;
    padding: 40px 20px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
    opacity: 0;
    visibility: hidden
  }
  .header__nav.is-active {
    left: 0;
    opacity: 1;
    visibility: visible
  }
}
@media only screen and (max-width: 1024px) {
  .header__navbar {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
    height: 100%;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
}
.header__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  left: 7px
}
@media only screen and (max-width: 1024px) {
  .header__list {
    display: block;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    left: 0
  }
}
.header__item {
  margin-left: 25px
}
@media only screen and (max-width: 1440px) {
  .header__item {
    margin-left: 1.3888888889vw
  }
}
@media only screen and (max-width: 1024px) {
  .header__item {
    margin-left: 0;
    position: relative;
    border-bottom: 1px solid #F1F1F1
  }
  .header__item:after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 0;
    border-bottom: 1px solid #E13754;
    -webkit-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out
  }
  .header__item.is-active:after {
    width: 100%
  }
}
.header__link {
  font-size: 1.55rem;
  line-height: 1.8;
  letter-spacing: .11em;
  color: #383838;
  white-space: nowrap;
  font-family: ten-mincho, serif
}
@media only screen and (max-width: 1439px) {
  .header__link {
    font-size: 1.5rem
  }
}
@media only screen and (max-width: 1024px) {
  .header__link {
    display: block;
    font-size: 1.6rem;
    padding: 20px 0
  }
}
.header .btn-entry {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 124px;
  font-size: 2.4rem;
  line-height: 1;
  letter-spacing: .03em;
  font-weight: 900;
  color: #fff;
  background: #E13754;
  padding: 13px 18px;
  margin-left: 21px;
  margin-right: -10px
}
@media only screen and (max-width: 1024px) {
  .header .btn-entry {
    position: relative;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    margin-left: 0;
    margin-right: 0;
    width: calc(100% - 36px);
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 12px 18px;
    font-size: 3.6rem;
    font-weight: 600
  }
}
.header .btn-entry:after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background: url(/assets/img/common/icon/ic_arrow-light.png) no-repeat center;
  background-size: 20px 20px
}
@media only screen and (max-width: 1024px) {
  .header .btn-entry:after {
    position: absolute;
    top: 20px;
    right: 20px
  }
}
.scrollTop {
  background: #383838;
  color: #fff;
  text-align: center;
  font-family: adobe-garamond-pro, serif;
  height: 50px;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 1.7rem;
  font-weight: 600;
  letter-spacing: .1em
}
.scrollTop:after {
  content: "";
  display: block;
  width: 15px;
  height: 22px;
  background: url(/lp/sousin/mockup/assets/img/common/icon/ic_arrow-white.svg) no-repeat center;
  background-size: 15px 15px;
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
  margin-left: 5px;
  position: relative;
  top: -1px
}
.footer {
  padding: 60px 0
}
@media only screen and (max-width: 767px) {
  .footer {
    padding: 30px 0 80px;
  }
}
.footer__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}
@media only screen and (max-width: 767px) {
  .footer__wrap {
    display: block
  }
}
.footer__bl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-negative: 0;
  flex-shrink: 0
}
@media only screen and (max-width: 767px) {
  .footer__bl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
}
.footer__btn {
  width: 161px;
  height: 27px;
  background: #D97495;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  letter-spacing: .06em;
  margin-left: 28px;
  line-height: 27px
}
@media only screen and (max-width: 767px) {
  .footer__btn {
    margin: 20px auto 30px
  }
}
.footer__btn:after {
  content: "";
  display: block;
  width: 11px;
  height: 11px;
  background: url(/lp/sousin/mockup/assets/img/common/icon/ic_tab.svg) no-repeat center;
  background-size: 11px 11px;
  margin-left: 8px
}
.footer__logo {
  display: block;
  max-width: 216px
}
.footer__social {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}
@media only screen and (max-width: 767px) {
  .footer__social {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
  }
}
.footer__social a {
  display: block;
  margin: 0 5px
}
.footer__social a img {
  width: 48px;
  height: 48px
}
.footer__copyright {
  font-size: 1.4rem;
  font-weight: 500;
  text-align: center;
  color: #383838;
  letter-spacing: .2em;
  margin-top: 55px
}
@media only screen and (max-width: 767px) {
  .footer__copyright {
    margin-top: 30px
  }
}
.breadcrumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end
}
.breadcrumb li:not(:last-child) {
  margin-right: 8px
}
.breadcrumb a, .breadcrumb span {
  display: block;
  font-size: 1.5rem;
  letter-spacing: .05em;
  color: #fff
}
.breadcrumb a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}
.breadcrumb a:after {
  content: "";
  display: block;
  width: 12px;
  height: 8px;
  background: url(/assets/img/common/icon/ic_arrow-breadcrumb.svg) no-repeat center;
  background-size: 12px 8px;
  margin-left: 8px
}
body {
  position: relative;
  font-family: yu-gothic-pr6n, sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  color: #383838;
  overflow-x: hidden
}
@media only screen and (max-width: 767px) {
  body {
    min-width: 320px
  }
}
main {
  overflow: hidden;
  padding-top: 90px
}
@media only screen and (max-width: 1024px) {
  main {
    padding-top: 60px
  }
}
.container {
  max-width: 1180px;
  margin: 0 auto
}
.mv {
  position: relative;
  overflow: hidden
}
.mv__wrap {
  position: relative
}
.mv__img {
  max-height: calc(100vh - 100px)
}
@media only screen and (max-width: 767px) {
  .mv__img {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
  }
}
.mv__img img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
@media only screen and (max-width: 767px) {
  .mv__img img {
    object-position: right;
  }
}
.mv__content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 4vw 10vw;
  z-index: 3;
}
@media only screen and (max-width: 767px) {
  .mv__content {
    padding: 40px 20px;
    position: relative;
  }
}
@media only screen and (max-width: 767px) {
  .mv__text {
    padding: 40px 20px;
    position: relative
  }
}
.mv__text {
  display: block;
  color: #fff;
  max-width: 38.1944444444vw;
  background-image: url("../img/top/view-text-bg-01.png");
  text-shadow: 0px 0px 5px #4186c0;
  font-family: "Yu Gothic";
  font-size: 20px;
  font-style: normal;
  text-align: center;
  font-weight: 700;
  line-height: 134%; /* 26.8px */
  letter-spacing: 0.6px;
  padding: 15px;
  margin-bottom: 25px;
}
@media only screen and (max-width: 767px) {
  .mv__text {
    font-size: 1.4rem
  }
}
.mv__text img {
  width: 7.8472222222vw;
  margin: 0 .5555555556vw
}
@media only screen and (max-width: 767px) {
  .mv__text img {
    width: 60px;
    margin: 0 5px
  }
}
.mv__title {
  margin-bottom: 3%;
}
.mv__title img {
  max-width: 38.1944444444vw;
}
@media only screen and (max-width: 767px) {
  .mv__title {
    font-size: 2.4rem;
    line-height: 1.4;
    margin-bottom: 5%;
  }
}
.mv__box {
  max-width: 38.1944444444vw
}
@media only screen and (max-width: 767px) {
  .mv__box {
    max-width: 275px
  }
}
@media only screen and (max-width: 374px) {
  .mv__box {
    max-width: 73.3333333333vw
  }
}
.mv__mail {
  position: absolute;
  bottom: 1.3194444444vw;
  right: 1.3194444444vw;
  width: 11.1111111111vw;
  height: 11.1111111111vw;
  max-width: 160px;
  max-height: 160px
}
@media only screen and (max-width: 767px) {
  .mv__mail {
    bottom: 10px;
    right: 10px;
    width: 40px;
    height: 40px
  }
}
.mv__mail img {
  -webkit-filter: drop-shadow(0px 0px 2.0833333333vw rgba(255, 255, 255, .82));
  filter: drop-shadow(0px 0px 2.0833333333vw rgba(255, 255, 255, .82))
}
a[href^="tel:"] {
  pointer-events: none
}
@media only screen and (max-width: 1024px) {
  a[href^="tel:"] {
    pointer-events: inherit
  }
}
.titleMain {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-family: ten-mincho, serif;
  font-size: 4.0rem;
  line-height: 1.34;
  font-weight: 400;
  color: #383838;
  margin-bottom: 40px;
  text-align: center
}
@media only screen and (max-width: 767px) {
  .titleMain {
    font-size: 2.4rem;
    margin-bottom: 20px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
}
/*　　ADD　　20250206　　*/
.titleMain span br.sp {
  display: none;
}
@media only screen and (max-width: 767px) {
  .titleMain span br.sp {
    display: block;
  }
}
.titleMain:before, .titleMain:after {
  content: "";
  position: relative;
  display: block;
  width: 122px;
  height: 35px;
  background: url(/lp/sousin/mockup/assets/img/common/pattern.svg) no-repeat center;
  -ms-flex-negative: 0;
  flex-shrink: 0
}
@media only screen and (max-width: 767px) {
  .titleMain:before, .titleMain:after {
    width: 80px;
    height: 20px;
    background-size: 80px 20px !important
  }
}
.titleMain:before {
  margin-right: 17px
}
@media only screen and (max-width: 767px) {
  .titleMain:before {
    display: none
  }
}
.titleMain:after {
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1);
  margin-left: 17px
}
@media only screen and (max-width: 767px) {
  .titleMain:after {
    margin-left: 0;
    margin-top: 15px
  }
}
.titleMain span span {
  color: #ec5450
}
.titleMain.is-verOne:before, .titleMain.is-verOne:after {
  background: url(/lp/sousin/mockup/assets/img/common/pattern_brown.svg) no-repeat center
}
.titleMain.is-verTwo {
  background: url(/lp/sousin/mockup/assets/img/common/pattern_bg.svg) no-repeat center;
  background-size: contain;
  width: 760px;
  height: 104px;
  margin: 0 auto;
  font-size: 3.8rem;
  color: #a5772d
}
@media only screen and (max-width: 1024px) {
  .titleMain.is-verTwo {
    width: 728px
  }
}
@media only screen and (max-width: 767px) {
  .titleMain.is-verTwo {
    width: 100%;
    background-size: cover;
    height: auto;
    padding: 30px 0;
    font-size: 3rem
  }
}
.titleMain.is-verTwo:before, .titleMain.is-verTwo:after {
  display: none
}
.titleMain.is-verThree {
  font-size: 5.3rem;
  letter-spacing: .05em;
  font-family: adobe-garamond-pro, serif;
  font-weight: 600
}
.titleMain.is-verThree:before, .titleMain.is-verThree:after {
  display: none
}
.top__page .owner {
  padding: 86px 0 100px;
  background: -webkit-linear-gradient(349.1deg, #FCF8F4 0%, #F8F4E6 98.69%);
  background: linear-gradient(100.9deg, #FCF8F4 0%, #F8F4E6 98.69%)
}
@media only screen and (max-width: 767px) {
  .top__page .owner {
    padding: 40px 0
  }
}
.top__page .owner .titleMain {
  margin-bottom: 90px
}
.top__page .top-contact {
  position: relative;
  padding: 146px 0 80px
}
@media only screen and (max-width: 767px) {
  .top__page .top-contact {
    padding: 30px 0 40px !important;
  }
}
.top__page .top-contact .expBox {
  position: absolute;
  top: -68px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translate(-50%)
}
@media only screen and (max-width: 767px) {
  .top__page .top-contact .expBox {
    top: -8.8541666667vw
  }
}
.top__page .top-contact__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -7.5px -15px
}
.top__page .top-contact__item {
  width: 326px;
  background: #ffffff;
  border: 1px solid #D9CDC5;
  margin: 0 7.5px 15px;
  min-height: 200px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}
.top__page .top-contact__item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 100%
}
.top__page .top-contact__text {
  font-family: ten-mincho, serif;
  font-size: 2.1rem;
  line-height: 1.8;
  letter-spacing: .05em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}
@media only screen and (max-width: 767px) {
  #main .top-contact__text {
    font-size: 5vw !important;
  }
}
.top__page .top-contact__text.is-phone img {
  width: 24px;
  height: 25px;
  margin-right: 12px
}
.top__page .top-contact__text.is-smart_phone {
  position: relative;
  top: -4px
}
.top__page .top-contact__text.is-smart_phone img {
  width: 17px;
  height: 28px;
  margin-right: 6px;
  position: relative
}
.top__page .top-contact__text.is-mail {
  font-size: 1.7rem
}
.top__page .top-contact__text.is-mail img {
  width: 30px;
  height: 20px
}
.top__page .top-contact .line {
  max-width: 218px
}
.top__page .top-contact .beauty {
  max-width: 204px;
  margin-top: 24px;
  position: relative;
  top: -4px
}
.top__page .top-contact .phone {
  font-family: adobe-garamond-pro, serif;
  font-size: 4rem;
  line-height: 1;
  font-weight: 600;
  letter-spacing: .03em;
  text-align: center;
  margin-top: 25px
}
.top__page .top-contact .phone span {
  display: block;
  font-family: yu-gothic-pr6n, sans-serif;
  font-size: 1.7rem;
  line-height: 2;
  font-weight: 400;
  color: #383838;
  letter-spacing: 0;
  text-indent: 4px
}
.top__page .top-contact .mail {
  position: relative;
  cursor: pointer;
  overflow: hidden;
  margin-top: 8px
}
@media only screen and (min-width: 768px) {
  .top__page .top-contact .mail:hover:after {
    -webkit-transform: translate(0, -50%);
    transform: translateY(-50%);
    border-radius: 0
  }
  .top__page .top-contact .mail:hover a {
    color: #e5edff
  }
}
.top__page .top-contact .mail:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translate(-100%, -50%);
  transform: translate(-100%, -50%);
  width: 100%;
  height: 100%;
  border-radius: 0;
  background-color: #383838;
  -webkit-transition: -webkit-transform .6s cubic-bezier(.53, .21, 0, 1);
  transition: -webkit-transform .6s cubic-bezier(.53, .21, 0, 1);
  transition: transform .6s cubic-bezier(.53, .21, 0, 1);
  transition: transform .6s cubic-bezier(.53, .21, 0, 1), -webkit-transform .6s cubic-bezier(.53, .21, 0, 1);
  z-index: 1
}
.top__page .top-contact .mail a {
  width: 213px;
  height: 70px;
  border: 1px solid #383838;
  font-family: adobe-garamond-pro, serif;
  font-weight: 600;
  font-size: 1.7rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  letter-spacing: .05em;
  background: url(/lp/sousin/mockup/assets/img/common/icon/ic_arrow-black.svg) no-repeat center right 9px;
  background-size: 15px 15px;
  position: relative;
  z-index: 2
}
.top__page .top-contact .mail a:after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
  width: 50px;
  border-bottom: 2px solid #DBDBDB
}
.top__page .top-contact .mail a:before {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 40px;
  width: 10px;
  border-bottom: 2px solid #F27554;
  z-index: 1
}
.top__page .top-contact.reserve .top-contact__list {
  margin: 0 -6.5px -13px
}
.top__page .top-contact.reserve .top-contact__item {
  width: 275px;
  margin: 0 6.5px 13px;
  min-height: 197px
}
@media only screen and (max-width: 767px) {
  .top__page .top-contact.reserve .top-contact__item {
    width: 326px;
  }
}
.top__page .top-contact.reserve .top-contact__text.is-phone {
  font-size: 1.7rem
}
.top__page .top-contact.reserve .top-contact__note {
  font-family: ten-mincho, serif;
  color: #d12622;
  padding: 0 29px;
  font-size: 1.4rem
}
.top__page .top-contact.reserve .phone {
  font-size: 2.4rem;
  color: #383838;
  position: relative;
  left: -1px;
  margin-top: 20px;
  top: -8px
}
.top__page .top-contact.reserve .phone a {
  display: inline-block;
  margin-left: 2px;
  letter-spacing: .06em
}
.top__page .top-contact.reserve .titleMain {
  margin-bottom: 43px
}
.top__page .reserve {
  padding: 63px 0 57px
}
.top__page .reserve__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 53px
}
.top__page .reserve__list li {
  margin: 0 10px
}
.top__page .reserve__list a {
  font-size: 1.55rem;
  font-family: ten-mincho, serif;
  font-weight: 400;
  color: #383838;
  letter-spacing: .11em
}
/* ADD CSS 2024.11.14 */
/* ---------------------------------------------------
 .mv
--------------------------------------------------- */
@media all and (min-width: 768px)and (max-width:1290px) {
  .mv__content {
    padding: 1.722222vw 3.736111vw;
  }
  .mv__content .mv__text img, .mv__content .mv__title img, .mv__content .mv__box img {
    transform: scale(0.95);
  }
}
@media only screen and (max-width: 767px) {
  .mv__content .mv__text, .mv__content .mv__title, .mv__content .mv__box {
    transform: none;
  }
  .mv__text, .mv__title img, .mv__box {
    max-width: 60vw;
  }
  .mv__text {
    padding: 5px;
    background-size: 100%;
    font-size: 3vw;
    margin-bottom: 5px;
  }
  .mv .mv__mail {
    width: 60px;
    height: 60px
  }
}
/* ---------------------------------------------------
 .header__logo
--------------------------------------------------- */
@media only screen and (max-width: 767px) {
  .header__logo .footer__btn {
    font-size: 0.9rem;
    width: auto;
    padding: 0 10px;
    margin-left: 10px;
  }
}
/* ---------------------------------------------------
 .header__nav
--------------------------------------------------- */
@media only screen and (max-width: 1024px) {
  .header__nav.is-active {
    overflow: auto;
    height: 90vh;
  }
}
/* ---------------------------------------------------
 .header__link
--------------------------------------------------- */
@media only screen and (max-width: 1024px) {
  .header__link {
    padding: 15px 0;
  }
}
/* ---------------------------------------------------
 reserve
--------------------------------------------------- */
.top__page .top-contact.reserve .top-contact__note {
  color: #C90003;
}
.top__page .top-contact.reserve .top-contact__text.is-phone {
  font-size: 1.8rem;
}
.top__page .top-contact__text.is-phone img {
  width: 22px;
  height: auto;
}
.top__page .top-contact__text.is-mail {
  width: 213px;
  font-size: 1.8rem;
}
.top__page .top-contact__text.is-mail img {
  width: 22px;
  height: auto;
  margin-right: 20px;
}
/* ADD CSS 2024.12.20　*/
/* ---------------------------------------------------
 top__page
--------------------------------------------------- */
.top__page .plan__item:nth-child(3) .plan__text .txt_ct {
  text-align: center;
  display: inherit;
}
/* ADD CSS 2024.12.23　*/
/* ---------------------------------------------------
 top__page
--------------------------------------------------- */
@media only screen and (min-width: 1025px) {
  .top__page .owner__item {
    width: calc(100%/3 - 27px);
    min-width: 260px;
    padding: 81px 25px 16px;
  }
  .top__page .owner__title {
    font-size: 1.8rem;
  }
  .top__page .owner__text {
    font-size: 1.53rem;
    line-height: 1.7;
  }
  .top__page .owner__text span + span {
    margin-top: 10px;
  }
}
/* ADD CSS 2025.03.31　*/
/* ---------------------------------------------------
 box_bg
--------------------------------------------------- */
.box_bg {
  display: flex;
  justify-content: center;
  align-items: center;
  width: auto;
  height: auto;
  margin: 0 auto;
}
.box_bg .box_bg__inner {
  color: #0063BF;
  text-align: center;
  text-shadow: 0px 0px 4px #FFF;
  font-family: "Ten Mincho";
  font-size: 30px;
  font-style: normal;
  font-weight: 400;
  line-height: 100%; /* 30px */
  letter-spacing: 0.9px;
  background: linear-gradient(45deg, transparent 20px, #DBEFFF 20px), linear-gradient(135deg, transparent 20px, #DBEFFF 20px), linear-gradient(225deg, transparent 20px, #DBEFFF 20px), linear-gradient(315deg, transparent 20px, #DBEFFF 20px);
  background-position: bottom left, top left, top right, bottom right;
  background-size: 50% 50%;
  background-repeat: no-repeat;
  padding: 1px;
}
@media only screen and (max-width: 767px) {
  .box_bg .box_bg__inner {
    font-size: 6vw;
  }
}
.box_bg .box_bg__inner .hl_txt {
  padding: 10px 50px;
  background: linear-gradient(45deg, transparent 20px, #fff 20px), linear-gradient(135deg, transparent 20px, #fff 20px), linear-gradient(225deg, transparent 20px, #fff 20px), linear-gradient(315deg, transparent 20px, #fff 20px);
  background-position: bottom left, top left, top right, bottom right;
  background-size: 50% 50%;
  background-repeat: no-repeat;
  filter: drop-shadow(0px 3px 4px #BCDCF6);
  color: #0063BF;
}
@media only screen and (max-width: 767px) {
  .box_bg .box_bg__inner .hl_txt {
    padding: 20px;
    background: linear-gradient(45deg, transparent 10px, #fff 10px), linear-gradient(135deg, transparent 10px, #fff 10px), linear-gradient(225deg, transparent 10px, #fff 10px), linear-gradient(315deg, transparent 10px, #fff 10px);
    background-position: bottom left, top left, top right, bottom right;
    background-size: 50% 50%;
    background-repeat: no-repeat;
  }
}
.box_bg .box_bg__inner .hl_txt > .box_bg__inner__grad {
  padding: 20px;
  background: radial-gradient(50% 50% at 50% 50%, #EFF7FF 50%, #FFF 100%);
}
@media only screen and (max-width: 767px) {
  .box_bg .box_bg__inner .hl_txt > .box_bg__inner__grad {
    padding: 0;
  }
}
.box_bg .box_bg__inner .hl_txt.flow-icon {
  position: relative;
}
.box_bg .box_bg__inner .hl_txt.flow-icon::before, .box_bg .box_bg__inner .hl_txt.flow-icon::after {
  content: "";
  display: inline-block;
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
  border-top: 15px solid #BCDCF6;
  position: absolute;
  bottom: -15px;
}
.box_bg .box_bg__inner .hl_txt.flow-icon::before {
  left: 180px;
}
.box_bg .box_bg__inner .hl_txt.flow-icon::after {
  right: 180px;
}
/* ADD CSS 2025.04.01*/
/* ---------------------------------------------------
 .header__list 
--------------------------------------------------- */
.header__list {
  position: static;
}
@media only screen and (min-width: 1025px) {
  .header__list {
    padding-right: 230px;
  }
}
.header__list .header__link {
  color: #383838;
  white-space: nowrap;
  font-family: "Yu Gothic";
  font-style: normal;
  font-size: 17px;
  font-weight: 500;
  line-height: 180%; /* 30.6px */
  letter-spacing: 1.87px;
}
.header__list .btn-mail {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  right: 0;
  top: 0;
  width: 230px;
  height: 100%;
}
.header__list .btn-mail a {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: url("../img/common/btn_bg.jpg");
  background-size: cover;
  width: 230px;
}
.header__list .btn-mail a::before {
  content: "";
  display: inline-block;
  background-image: url("../img/common/icon-mail.svg");
  width: 30px;
  height: 20px;
  background-size: cover;
  margin-right: 10px;
}
.header__list .btn-mail span {
  color: #FFF;
  font-size: 21px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 2.1px;
  text-shadow: #004b89 1px 0 10px;
}
@media only screen and (max-width: 767px) {
  .header__list {
    padding-top: 70px;
  }
  .header__list .btn-mail {
    right: auto;
    left: 50%;
    transform: translateX(-50%);
    top: 40px;
    width: 80%;
    height: 28px;
    line-height: 28px;
  }
  .header__list .btn-mail a {
    width: 100%;
    border-radius: 3px;
  }
  .header__list .btn-mail span {
    font-size: 4vw;
  }
}
/* ---------------------------------------------------
 text-area_bg
--------------------------------------------------- */
.text-area_bg {
  background: linear-gradient(45deg, transparent 40px, #DBEFFF 40px), linear-gradient(135deg, transparent 40px, #DBEFFF 40px), linear-gradient(225deg, transparent 40px, #DBEFFF 40px), linear-gradient(315deg, transparent 40px, #DBEFFF 40px);
  background-position: bottom left, top left, top right, bottom right;
  background-size: 50% 50%;
  background-repeat: no-repeat;
  padding: 1px;
}
.text-area_bg .text__box {
  padding: 62px;
  background: linear-gradient(45deg, transparent 40px, #fff 40px), linear-gradient(135deg, transparent 40px, #fff 40px), linear-gradient(225deg, transparent 40px, #fff 40px), linear-gradient(315deg, transparent 40px, #fff 40px);
  background-position: bottom left, top left, top right, bottom right;
  background-size: 50% 50%;
  background-repeat: no-repeat;
  filter: drop-shadow(0px 6px 3px #BCDCF6);
}
@media only screen and (max-width: 767px) {
  .text-area_bg .text__box {
    padding: 20px;
    background: linear-gradient(45deg, transparent 10px, #fff 10px), linear-gradient(135deg, transparent 10px, #fff 10px), linear-gradient(225deg, transparent 10px, #fff 10px), linear-gradient(315deg, transparent 10px, #fff 10px);
    background-position: bottom left, top left, top right, bottom right;
    background-size: 50% 50%;
    background-repeat: no-repeat;
  }
}
/* ---------------------------------------------------
 img_bg
--------------------------------------------------- */
.img_bg {
  color: #0063BF;
  text-align: center;
  text-shadow: 0px 0px 4px #FFF;
  font-family: "Ten Mincho";
  font-size: 30px;
  font-style: normal;
  font-weight: 400;
  line-height: 100%; /* 30px */
  letter-spacing: 0.9px;
  background: linear-gradient(45deg, transparent 40px, #DBEFFF 40px), linear-gradient(135deg, transparent 40px, #DBEFFF 40px), linear-gradient(225deg, transparent 40px, #DBEFFF 40px), linear-gradient(315deg, transparent 40px, #DBEFFF 40px);
  background-position: bottom left, top left, top right, bottom right;
  background-size: 50% 50%;
  background-repeat: no-repeat;
  padding: 1px;
  position: relative;
}
.img_bg .img {
  padding: 62px;
  background: linear-gradient(45deg, transparent 40px, #fff 40px), linear-gradient(135deg, transparent 40px, #fff 40px), linear-gradient(225deg, transparent 40px, #fff 40px), linear-gradient(315deg, transparent 40px, #fff 40px);
  background-position: bottom left, top left, top right, bottom right;
  background-size: 50% 50%;
  background-repeat: no-repeat;
  filter: drop-shadow(0px 6px 3px #BCDCF6);
}
@media only screen and (max-width: 767px) {
  .img_bg .img {
    background: linear-gradient(45deg, transparent 10px, #fff 10px), linear-gradient(135deg, transparent 10px, #fff 10px), linear-gradient(225deg, transparent 10px, #fff 10px), linear-gradient(315deg, transparent 10px, #fff 10px);
    background-position: bottom left, top left, top right, bottom right;
    background-size: 50% 50%;
    background-repeat: no-repeat;
    padding: 20px;
  }
}
.img_bg .img img {
  filter: drop-shadow(0 0 25px #F3FAFF);
  padding: 30px;
  background-color: #fff;
  border-radius: 10px;
  max-width: 840px;
}
@media only screen and (max-width: 767px) {
  .img_bg .img img {
    padding: 10px;
    width: 100%;
    max-width: inherit;
  }
}
/* ---------------------------------------------------
 txt_bg
--------------------------------------------------- */
.txt_bg {
  background: radial-gradient(50% 50% at 50% 50%, #DEF0FF 50%, #FFF 100%);
  border-radius: 5px;
  padding: 45px;
}
/* ---------------------------------------------------
 .txt
--------------------------------------------------- */
.txt strong, .txt b {
  color: #0063BF;
  font-weight: normal;
  font-weight: 600;
}
/* ---------------------------------------------------
 .modalArea
--------------------------------------------------- */
/* モーダルCSS */
.modalArea {
  display: none;
  position: fixed;
  z-index: 10; /*サイトによってここの数値は調整 */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.modalBg {
  width: 100%;
  height: 100%;
  background-color: rgba(30, 30, 30, 0.9);
}
.modalWrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  overflow: auto;
  background-color: #fff;
  margin-left: 20px;
}
.modalWrapper img {
  width: 150%;
  max-width: inherit;
  margin: 30px;
}
.closeModal {
  position: absolute;
  top: 0.5rem;
  left: 1rem;
  cursor: pointer;
}
/* 以下ボタンスタイル */
button {
  padding: 0;
  background-color: #DEF0FF;
  border: 1px solid #0063BF;
  color: #0063BF;
  border-radius: 5px;
  cursor: pointer;
  height: 20px;
  line-height: 20px;
  width: 20px;
}
#openModal {
  position: absolute;
  top: 20px;
  right: 20px;
}
@media only screen and (min-width: 768px) {
  #openModal {
    display: none;
  }
}
/* ---------------------------------------------------
 hl-01
--------------------------------------------------- */
.hl-01 {
  color: #0063BF;
  text-align: center;
  text-shadow: 0px 0px 2px #FFF;
  font-family: "Ten Mincho";
  font-size: 48px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%; /* 72px */
  letter-spacing: 2.88px;
  margin-bottom: 85px;
}
.hl-01 span {
  position: relative;
}
.hl-01 span::after {
  content: "・";
  display: inline-block;
  color: #63A8E1;
  position: absolute;
  bottom: -45px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 66px;
}
@media only screen and (max-width: 767px) {
  .hl-01 {
    margin-bottom: 30px;
  }
  .hl-01 span::after {
    bottom: -20px;
    font-size: 33px;
  }
}
/* ---------------------------------------------------
 hl-02
--------------------------------------------------- */
.hl-02 {
  color: #383838;
  text-align: center;
  font-family: "Ten Mincho";
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 120%; /* 24px */
  letter-spacing: 0.72px;
  margin-bottom: 35px;
}
/* ---------------------------------------------------
 hl-03
--------------------------------------------------- */
.hl-03 {
  text-align: center;
  font-family: "Ten Mincho";
  font-size: 47px;
  font-style: normal;
  font-weight: 400;
  line-height: 120%; /* 48px */
  letter-spacing: 2.4px;
  color: #383838;
  margin-bottom: 90px;
}
.hl-03 span {
  background: linear-gradient(180deg, #0867D4 0%, #3A9FF2 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
/* ---------------------------------------------------
 hl-04
--------------------------------------------------- */
.hl-04 {
  color: #FFF;
  text-align: center;
  text-shadow: 0px 0px 10px #BCDCF6;
  font-family: "Ten Mincho";
  font-size: 36px;
  font-style: normal;
  font-weight: 400;
  line-height: 120%; /* 36px */
  letter-spacing: 1.8px;
  position: relative;
  margin-bottom: 46px;
}
.hl-04::after {
  content: "";
  display: inline-block;
  width: 45px;
  height: 1px;
  background-color: #fff;
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: translateX(-50%);
}
/* ---------------------------------------------------
 hl-05
--------------------------------------------------- */
.hl-05 {
  color: #383838;
  font-family: "Ten Mincho";
  font-size: 36px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%; /* 36px */
  letter-spacing: 1.8px;
  position: relative;
  margin-bottom: 90px;
}
.hl-05::after {
  content: "";
  display: inline-block;
  width: 45px;
  height: 1px;
  background: linear-gradient(90deg, #DBEFFF 0%, #63A8E1 50%, #DBEFFF 100%);
  position: absolute;
  left: 0;
  bottom: -30px;
}
/* ---------------------------------------------------
hl-06
--------------------------------------------------- */
.hl-06 {
  color: #383838;
  text-align: center;
  text-shadow: 0px 0px 4px #FFF;
  font-family: "Ten Mincho";
  font-size: 21px;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.63px;
}
/* ---------------------------------------------------
hl-07
--------------------------------------------------- */
.hl-07 {
  color: #383838;
  font-family: "Ten Mincho";
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 120%; /* 24px */
  letter-spacing: 1.2px;
  border-bottom: 1px solid #BCDCF6;
  padding-bottom: 15px;
  margin-bottom: 25px;
}
/* ---------------------------------------------------
hl-08
--------------------------------------------------- */
.hl-08 {
  color: #383838;
  text-align: center;
  leading-trim: both;
  text-edge: cap;
  text-shadow: 0px 0px 2px #FFF;
  font-family: "Ten Mincho";
  font-size: 36px;
  font-style: normal;
  font-weight: 400;
  line-height: 145%; /* 52.2px */
  letter-spacing: 2.16px;
}
/* ---------------------------------------------------
hl-09
--------------------------------------------------- */
.hl-09 {
  position: relative;
}
.hl-09::after {
  content: "";
  display: inline-block;
  width: 45px;
  height: 1px;
  background: linear-gradient(90deg, #DBEFFF 0%, #63A8E1 50%, #DBEFFF 100%);
  position: absolute;
  left: 0;
  bottom: -30px;
}
.hl-09 span.hl_no {
  color: #BCDCF6;
  text-align: center;
  font-family: "Adobe Garamond Pro";
  font-size: 70px;
  font-style: italic;
  font-weight: 400;
  line-height: 120%; /* 70px */
  background-clip: inherit;
  -webkit-background-clip: inherit;
  -webkit-text-fill-color: #BCDCF6;
  opacity: 0.3;
  z-index: 0;
  margin: -30px auto auto -30px;
}
.hl-09 span.hl_text {
  font-family: "Ten Mincho";
  font-size: 36px;
  font-style: normal;
  line-height: 130%; /* 46.8px */
  letter-spacing: 1.8px;
  margin-bottom: 60px;
  font-weight: 500;
  margin-top: -50px;
  display: block;
  z-index: 100;
  position: relative;
  background: linear-gradient(180deg, #0867D4 0%, #3A9FF2 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media only screen and (max-width: 767px) {
  .hl-09 span.hl_no {
    font-size: 46px;
    margin: 0;
    text-align: left;
    width: 100%;
    display: block;
  }
  .hl-09 span.hl_text {
    margin-top: 0;
    font-size: 4.9vw !important;
  }
}
/* ---------------------------------------------------
hl-10
--------------------------------------------------- */
.hl-10 {
  color: #383838;
  text-shadow: 0px 0px 5px #FFF;
  font-family: "Ten Mincho";
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 120%; /* 24px */
  letter-spacing: 1.2px;
  border-bottom: 1px solid #BCDCF6;
  padding-bottom: 15px;
  margin-bottom: 25px;
}
/* ---------------------------------------------------
hl-11
--------------------------------------------------- */
.hl-11 {
  color: #383838;
  leading-trim: both;
  margin-bottom: 60px;
  text-edge: cap;
  font-family: "Ten Mincho";
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 145%; /* 34.8px */
  letter-spacing: 1.2px;
}
/* ---------------------------------------------------
hl-12
--------------------------------------------------- */
.hl-12 {
  color: #383838;
  font-family: "Yu Gothic";
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 134%; /* 32.16px */
  letter-spacing: 0.72px;
  border-bottom: 1px solid #BCDCF6;
  padding-bottom: 25px;
  margin-bottom: 25px;
}
/* ---------------------------------------------------
hl-13
--------------------------------------------------- */
.hl-13 {
  color: #383838;
  font-family: "Ten Mincho";
  font-size: 40px;
  font-style: normal;
  font-weight: 400;
  line-height: 145%; /* 58px */
  letter-spacing: 2px;
}
/* ---------------------------------------------------
 hl-14
--------------------------------------------------- */
.hl-14 {
  text-align: center;
  font-family: "Adobe Garamond Pro";
  font-size: 36px;
  font-style: normal;
  font-weight: 600;
  line-height: 120%; /* 36px */
  letter-spacing: 1.8px;
  background: linear-gradient(180deg, #0867D4 0%, #3A9FF2 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-bottom: 30px;
}
/* ---------------------------------------------------
 hl-15
--------------------------------------------------- */
.hl-15 {
  font-family: "Adobe Garamond Pro";
  font-size: 48px;
  font-weight: 600;
  line-height: 134%; /* 64.32px */
  letter-spacing: 2.4px;
  margin-bottom: 60px;
  text-align: center;
}
/* ---------------------------------------------------
 hl-ct
--------------------------------------------------- */
.hl-ct {
  text-align: center;
  display: table;
  margin-left: auto;
  margin-right: auto;
}
.hl-ct::after {
  left: 50%;
  transform: translateX(-50%);
}
/* ---------------------------------------------------
 .headline
--------------------------------------------------- */
.headline b.point {
  position: relative;
}
.headline b.point.point-text {
  text-align: center;
  font-family: "Adobe Garamond Pro";
  font-size: 24px;
  font-style: normal;
  font-weight: 600;
  line-height: 100%;
  letter-spacing: 1.2px;
  text-transform: capitalize;
  display: block;
  margin: 0 auto 45px;
  background: linear-gradient(180deg, #0867D4 0%, #3A9FF2 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media only screen and (max-width: 767px) {
  .headline b.point {
    font-size: 4vw;
    margin: 0 auto 15px;
  }
}
.headline b.point.point-icon::before {
  content: "";
  background-image: url("../img/common/point-bg.svg");
  background-size: contain;
  background-repeat: no-repeat;
  width: 105px;
  height: 120px;
  z-index: 0;
  margin: 0 auto;
  display: table;
}
.headline b.point.point-icon span {
  text-align: center;
  font-family: "Adobe Garamond Pro";
  font-size: 24px;
  font-style: normal;
  font-weight: 600;
  line-height: 100%;
  letter-spacing: 1.2px;
  text-transform: capitalize;
  display: block;
  margin: 0 auto 45px;
  background: linear-gradient(180deg, #0867D4 0%, #3A9FF2 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  z-index: 1;
  margin-top: -70px;
}
.headline .hl_img {
  display: table;
  margin-left: auto;
  margin-right: auto;
}
/* ---------------------------------------------------
.owner-comment
--------------------------------------------------- */
/*.owner-comment{
	display: flex;
width: 990px;
padding: 45px 60px 35px 250px;
flex-direction: column;
justify-content: center;
align-items: flex-start;
gap: 25px;
	border-radius: 5px;
background: linear-gradient(90deg, #EDF7FF 0%, #FCFCFC 100%);
	position: relative;
}

.owner-comment::after{
	content: "";
	display: inline-block;
	background-image: url("../img/top/reason-img-01.png");
	width: 404px;
	height: 420px;
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	left: -154px;
	bottom: -60px;
}*/
/* ---------------------------------------------------
.top-contact
--------------------------------------------------- */
.top__page .top-contact.lp-contact {
  background: url(../img/common/cv-bg.jpg) no-repeat center;
  background-size: cover;
  position: relative;
  padding: 90px 0;
}
.top__page .top-contact.lp-contact .phone {
  background: linear-gradient(180deg, #0867D4 0%, #3A9FF2 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.top__page .top-contact.lp-contact .top-contact__item {
  border: none;
}
.top__page .top-contact.lp-contact .phone span {
  font-size: 20px;
  display: inline-block;
}
.top__page .top-contact.lp-contact .column__box {
  align-items: center;
  margin-top: 10px
}
.top__page .top-contact.lp-contact .column__box .column__box__item:first-child {
  display: flex;
  width: 165px;
  height: 85px;
  padding: 10px 15px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  border-radius: 10px;
  background: radial-gradient(50% 50% at 50% 50%, #EFF7FF 50%, #FFF 100%);
  box-shadow: 0px 3px 3px 0px #BCDCF6;
}
.top__page .top-contact.lp-contact .column__box .column__box__item:last-child {
  width: 85px;
  height: 85px;
  margin-left: 30px;
}
.top__page .top-contact.lp-contact ul {
  justify-content: space-between;
}
.top__page .top-contact.lp-contact ul .top-contact__item {
  width: calc(100%/3 - 7.5px);
  margin: 0;
  border-radius: 5px;
  min-height: 225px;
  background: radial-gradient(50% 50% at 50% 50%, #EFF7FF 40%, #FFF 100%);
  box-shadow: 0px 0px 15px 0px rgba(120, 170, 230, 0.20);
}
.top__page .top-contact.lp-contact .beauty {
  max-width: 279px;
  margin-top: 0;
  top: auto;
}
.top__page .top-contact.lp-contact ul .top-contact__item:nth-child(3) .top-contact__text {
  line-height: 1;
  margin-top: 28px;
}
.top__page .top-contact.lp-contact .hl-04 {
  text-shadow: 0px 0px 5px #63A8E1;
  font-size: 36px;
  font-weight: 400;
  line-height: 100%; /* 36px */
  letter-spacing: 1.8px;
}
.top__page .top-contact.lp-contact .hl-04::after {
  content: none;
}
@media only screen and (max-width: 767px) {
  .top__page .top-contact.lp-contact {
    padding: 50px 0 !important;
  }
  .top__page .top-contact.lp-contact ul {
    display: inherit;
    padding: 10px;
  }
  .top__page .top-contact.lp-contact ul .top-contact__item {
    width: auto;
    margin-bottom: 10px;
    min-height: 200px;
  }
  .top__page .top-contact.lp-contact ul .top-contact__item + .top-contact__item {
    margin-top: 15px;
  }
  .top__page .top-contact.lp-contact .phone {
    font-size: 10vw;
  }
  .top__page .top-contact.lp-contact .hl-04 {
    margin-bottom: 30px !important;
  }
}
/* ---------------------------------------------------
 .column__box
--------------------------------------------------- */
.column__box {
  display: flex;
}
/* ---------------------------------------------------
 .data-list
--------------------------------------------------- */
dl.data-list {
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px solid #BCDCF6;
}
dl.data-list dt, dl.data-list dd {
  color: #383838;
  font-family: "Yu Gothic";
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  line-height: 134%; /* 26.8px */
  border-top: 1px solid #BCDCF6;
  padding: 28px 0;
}
dl.data-list dt:first-child, dl.data-list dd:nth-child(2) {
  border-top: none;
}
dl.data-list dt {
  font-weight: 700;
  width: 17%;
}
dl.data-list dd {
  width: 83%;
}
@media only screen and (max-width: 767px) {
  dl.data-list dt, dl.data-list dd {
    font-size: 1em;
  }
  dl.data-list dt {
    font-weight: 700;
    width: 22%;
  }
  dl.data-list dd {
    width: 78%;
  }
}
/* ---------------------------------------------------
 link_btn
--------------------------------------------------- */
a.link_btn {
  margin: 60px 0 0;
  display: inline-block;
  width: 480px;
  height: 90px;
  text-align: center;
  text-decoration: none;
  line-height: 90px;
  color: #fff;
  background-image: url("../img/common/btn_bg.jpg");
  background-size: cover;
  text-shadow: 0px 0px 5px #63A8E1;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.72px;
  position: relative;
}
a.link_btn:hover {
  -webkit-animation: pulse 2s infinite;
  animation: ripple 1.5s infinite;
  color: #fff;
}
@keyframes ripple {
  0% {
    box-shadow: 0 0 0 0 #1B85FB;
  }
  70% {
    box-shadow: 0 0 0 10px rgb(27 133 251 / 0%);
  }
  100% {
    box-shadow: 0 0 0 0 rgb(27 133 251 / 0%);
  }
}
a.link_btn::before {
  content: "";
  display: inline-block;
  width: 60px;
  height: 2px;
  background: #FFF;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
a.link_btn::after {
  content: "";
  display: inline-block;
  background-image: url("../img/common/icon_flow_link.svg");
  width: 27px;
  height: 17px;
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
}
@media only screen and (max-width: 767px) {
  a.link_btn {
    margin: 0;
    width: 100%;
    height: 60px;
    line-height: 60px;
    font-size: 4vw;
  }
}
/* ---------------------------------------------------
 #about
--------------------------------------------------- */
#about {
  padding: 90px 0 120px;
  background-image: url("../img/common/bg_lbl-gradation.jpg");
  background-position: bottom;
  background-size: cover;
}
#about .container {
  max-width: 840px;
}
#about .movie {
  width: 840px;
  height: 475px;
  margin-bottom: 90px;
  border-radius: 5px;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  #about .movie {
    width: auto;
    height: auto;
    min-height: 200px;
    margin-bottom: 30px;
  }
  #about .movie video {
    width: 100%;
    height: auto;
    min-height: inherit;
  }
}
#about .headline b {
  margin-bottom: 45px;
}
#about .headline b .hl_txt::before {
  content: none;
}
#about .headline b .hl_txt::after {
  right: auto;
  left: 50%;
  transform: translateX(-50%);
}
#about .headline b span {
  color: #0063BF;
  text-align: center;
  text-shadow: 0px 0px 4px #FFF;
  font-family: "Ten Mincho";
  font-size: 30px;
  font-style: normal;
  font-weight: 400;
  line-height: 100%; /* 30px */
  letter-spacing: 0.9px;
}
@media only screen and (max-width: 767px) {
  #about .headline b span {
    font-size: 5vw;
  }
}
/* ---------------------------------------------------
 #point1
--------------------------------------------------- */
@media only screen and (max-width: 767px) {
  #point1 {
    padding-bottom: 0 !important;
  }
}
#point1 .point1-01 {
  padding: 120px 0;
}
#point1 .container {
  max-width: 1140px;
}
/* #point1 .point1-01 */
#point1 .point1-01 .point01__box {
  padding: 90px 0;
  background-image: url("../img/common/gr-bg.jpg");
  background-position: center;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #point1 .point1-01 .point01__box {
    padding: 40px 0;
    margin-bottom: 60px;
    background-size: cover;
  }
}
#point1 .point1-01 .point01__box::after {
  content: "";
  display: inline-block;
  width: 45px;
  height: 45px;
  transform: rotate(45deg) translateX(-48%);
  background: #74B2E6;
  position: absolute;
  bottom: -35px;
  left: 48%;
}
#point1 .point1-01 .point01__box .container ul.column__box {
  justify-content: space-between;
}
#point1 .point1-01 .point01__box .container > ul.column__box li.column__box {
  align-items: center;
  width: calc(100%/2 - 30px);
  padding: 0;
  background: radial-gradient(50% 50% at 50% 50%, #DEF0FF 10%, #FFF 100%);
}
@media only screen and (max-width: 767px) {
  #point1 .point1-01 .point01__box .container > ul.column__box li.column__box {
    display: flex !important;
    padding: 20px;
    margin-bottom: 15px;
  }
}
#point1 .point1-01 .point01__box .container > ul.column__box li.column__box .column__box__item:first-child {
  width: auto;
  padding: 5px 25px 0;
}
#point1 .point1-01 .point01__box .container > ul.column__box li.column__box .column__box__item img {
  max-height: 162px;
}
#point1 .point1-01 .point01__box .container > ul.column__box li.column__box .column__box__item:nth-child(2) {
  width: 340px;
}
@media only screen and (max-width: 767px) {
  #point1 .point1-01 .point01__box .container > ul.column__box li.column__box .column__box__item:nth-child(2) {
    width: 70% !important;
  }
}
#point1 .point1-01 .point01__box .hl-04 {
  margin-bottom: 80px;
}
#point1 .point1-01 .point01__box p {
  font-size: 17px;
  line-height: 175%; /* 29.75px */
  letter-spacing: 0.85px;
}
@media only screen and (max-width: 767px) {
  #point1 .point1-01 .hl-02 {
    font-size: 4.5vw !important;
  }
}
/* #point1 .point1-02 */
#point1 .point1-02 {
  margin: 0 30px;
  padding-bottom: 80px;
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.80) 0%, rgba(252, 252, 252, 0.80) 100%);
}
@media only screen and (max-width: 767px) {
  #point1 .point1-02 {
    margin: 0 20px;
    padding-bottom: 40px;
  }
}
#point1 .point1-02 .txt__box {
  width: 750px;
}
#point1 .point1-02 .txt__box .txt {
  font-size: 21px;
  line-height: 180%; /* 37.8px */
  letter-spacing: 1.05px;
}
@media only screen and (max-width: 767px) {
  #point1 .point1-02 .column__box .img {
    margin-bottom: 25px;
  }
  #point1 .point1-02 .img_bg {
    margin-bottom: 80px;
  }
}
/* #point1 .point1-03 */
#point1 .point1-03 {
  padding: 120px 0;
  background: url("../img/common/bg_lbl.png");
  background-size: cover;
  background-position: bottom center;
}
#point1 .point1-03 .container {
  max-width: 840px;
}
#point1 .point1-03 .box_bg {
  margin-bottom: 40px;
}
#point1 .point1-03 .txt_bg {
  background: radial-gradient(50% 50% at 50% 50%, #EFF7FF 40%, #FFF 100%);
}
#point1 .point1-03 .column__box {
  justify-content: space-between;
  align-items: stretch;
}
#point1 .point1-03 .column__box .column__box__item {
  width: calc(100%/2 - 30px);
}
#point1 .point1-03 .column__box .column__box__item .txt_bg {
  height: calc(100% - 80px);
}
#point1 .point1-03 .point1-03__box + .point1-03__box {
  margin-top: 75px;
}
#point1 .point1-03 .point1-03__box + .point1-03__box .box_bg .box_bg__inner .hl_txt::before {
  content: none;
}
#point1 .point1-03 .point1-03__box + .point1-03__box .box_bg .box_bg__inner .hl_txt::after {
  right: auto;
  left: 50%;
  transform: translateX(-50%);
}
#point1 .point1-03 .box_bg .box_bg__inner {
  width: 100%;
}
#point1 .point1-03 .txt {
  font-size: 17px;
  line-height: 190%; /* 32.3px */
  letter-spacing: 0.85px;
}
#point1 .point1-03 .hl-05.hl-ct {
  margin-bottom: 75px;
}
@media only screen and (max-width: 767px) {
  #point1 .point1-03 .container {
    padding-bottom: 30px;
  }
  #point1 .point1-03 .column__box .column__box__item {
    margin-bottom: 15px;
  }
  #point1 .point1-03 .point1-03__box .box_bg .box_bg__inner .hl_txt.flow-icon::before {
    display: none;
  }
  #point1 .point1-03 .point1-03__box .box_bg .box_bg__inner .hl_txt.flow-icon::after {
    right: auto;
    left: 50%;
    transform: translateX(-50%);
  }
}
/* ---------------------------------------------------
 #point2
--------------------------------------------------- */
@media only screen and (max-width: 767px) {
  #point2 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}
#point2 .box_bg {
  margin-bottom: 54px;
}
@media only screen and (max-width: 767px) {
  #point2 .box_bg {
    margin-bottom: 30px;
  }
}
#point2 .box_bg .box_bg__inner {
  width: 676px;
}
#point2 .box_bg .box_bg__inner .hl_txt.flow-icon::before {
  content: none;
}
#point2 .box_bg .box_bg__inner .hl_txt.flow-icon::after {
  right: auto;
  left: 50%;
  transform: translateX(-50%);
}
#point2 .txt {
  text-align: center;
  font-size: 17px;
  line-height: 190%; /* 32.3px */
  letter-spacing: 0.85px;
  margin-bottom: 60px;
}
@media only screen and (max-width: 767px) {
  #point2 .txt {
    margin-bottom: 30px;
  }
}
/* #point2 .point2-01 */
#point2 .point2-01 {
  padding: 120px 0;
  background-image: url("../img/common/bg_lbl-gradation.jpg");
  background-position: bottom center;
  background-size: cover;
}
#point2 .point2-01 .container {
  max-width: 840px;
}
@media only screen and (max-width: 767px) {
  #point2 .point2-01 .container {
    padding-top: 30px;
  }
}
#point2 .point2-01 .column__box {
  flex-wrap: wrap;
  justify-content: space-between;
}
#point2 .point2-01 .column__box .column__box__item:nth-child(-n+2) {
  width: calc(100%/2 - 5px);
  margin-bottom: 10px;
}
#point2 .point2-01 .column__box .column__box__item:nth-child(n+3) {
  width: calc(100%/3 - 5px);
}
@media only screen and (max-width: 767px) {
  #point2 .point2-01 .column__box .column__box__item {
    margin-bottom: 15px !important;
  }
}
/* reason__contents */
.reason__contents {
  padding-bottom: 90px;
  border-top: 1px solid #FFF;
  background: linear-gradient(180deg, #FCFCFC 0%, #EBF6FF 100%);
}
@media only screen and (max-width: 767px) {
  .reason__contents {
    padding-bottom: 30px;
  }
}
/* #point2 .reason-01 */
#point2 .reason-01 {
  padding: 105px 0 60px;
}
@media only screen and (max-width: 767px) {
  #point2 .reason-01 {
    padding: 30px 0 60px;
  }
}
#point2 .reason-01 .content {
  max-width: 1140px;
}
#point2 .reason-01 .container > .column__box {
  display: flex;
  padding: 90px 282px 90px 150px;
  margin-bottom: 60px;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  gap: 60px;
  border-radius: 10px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.70) 80%, rgba(255, 255, 255, 0.00) 100%);
  box-shadow: 0px 0px 15px 0px rgba(120, 170, 230, 0.20);
}
@media only screen and (max-width: 767px) {
  #point2 .reason-01 .container > .column__box {
    padding: 30px 30px 120px;
  }
}
#point2 .reason-01 .container > .column__box .column__box__item:nth-child(2) {
  position: absolute;
  right: -210px;
  bottom: 0;
  width: 430px;
  box-shadow: 0px 15px 15px -15px rgba(120, 170, 230, 0.20);
}
@media only screen and (max-width: 767px) {
  #point2 .reason-01 .container > .column__box .column__box__item:nth-child(2) {
    right: 20px;
    left: auto;
    bottom: 0;
    width: auto;
  }
  #point2 .reason-01 .container > .column__box .column__box__item:nth-child(2) img {
    width: 40%;
    margin: 0 0 0 auto;
    display: block;
  }
}
#point2 .reason-01 .column__box .txt {
  text-align: left;
  font-size: 21px;
  font-weight: 500;
  line-height: 190%; /* 39.9px */
  letter-spacing: 1.05px;
  margin-bottom: 0;
}
#point2 .reason-01 .hl-09 {
  margin-bottom: 90px;
}
@media only screen and (max-width: 767px) {
  #point2 .reason-01 .hl-09 {
    margin-bottom: 60px;
  }
}
#point2 .reason-01 .hl-09::after {
  background: #63A8E1;
  width: 45px;
  height: 2px;
}
/* #point2 .reason-02 */
#point2 .reason-02 {
  position: relative;
}
#point2 .reason-02 .column__box {
  padding: 70px 240px 70px 150px;
  border-radius: 10px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.70) 80%, rgba(255, 255, 255, 0.00) 100%);
  box-shadow: 0px 0px 15px 0px rgba(120, 170, 230, 0.20);
}
@media only screen and (max-width: 767px) {
  #point2 .reason-02 .column__box {
    padding: 30px 20px 30px 30px;
  }
}
#point2 .reason-02 .column__box .txt {
  text-align: left;
  font-size: 21px;
  font-weight: 500;
  line-height: 190%;
  letter-spacing: 1.05px;
  margin-bottom: 0;
}
#point2 .reason-02 .container > .column__box .column__box__item:nth-child(2) {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 530px;
}
@media only screen and (max-width: 767px) {
  #point2 .reason-02 .container > .column__box .column__box__item:nth-child(2) {
    width: auto;
    max-width: 35vw;
    bottom: auto;
    top: -86px;
  }
}
#point2 .reason-02__box .hl-09 {
  margin-bottom: 90px;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #point2 .reason-02__box .hl-09 {
    margin-bottom: 60px;
  }
}
#point2 .reason-02__box .hl-09::after {
  background: #63A8E1;
  width: 45px;
  height: 2px;
}
/* #point2 .advice */
.advice {
  padding: 60px 0;
  background-image: url("../img/common/gr-bg.jpg");
  background-position: center;
  background-size: cover;
}
@media only screen and (max-width: 767px) {
  .advice {
    padding: 40px 0;
  }
}
.advice .container {
  max-width: 1140px;
}
.advice .headline .hl_img {
  max-height: 58px;
  margin-bottom: 25px;
}
.advice .column__box {
  position: relative;
	display: inherit;
}
@media only screen and (max-width: 767px) {
  #main .advice .container .column__box__item:first-child {
    bottom: 0;
    left: auto;
    right: -20px;
    width: auto!important;
  }
}
.advice .column__box__item {
  padding: 45px 60px 35px;
  border-radius: 5px;
  background: linear-gradient(90deg, #EDF7FF 0%, #FCFCFC 100%);
}
@media only screen and (max-width: 767px) {
  .advice .column__box__item {
    padding: 30px;
    margin-left: 0;
  }
}
.advice .hl-04 {
  margin-bottom: 30px;
}
@media only screen and (max-width: 767px) {
  .advice .hl-04 {
    margin-bottom: 25px !important;
  }
}
.advice .hl-04::after {
  content: none;
  margin-bottom: 30px;
}
.advice .column__box .txt {
  font-size: 17px !important;
  line-height: 190% !important; /* 32.3px */
  letter-spacing: 0.85px !important;
}

/* ---------------------------------------------------
 #point3
--------------------------------------------------- */
#point3 {
  background: #EBF6FF;
  padding-bottom: 62px;
}
#point3 .point3-01 {
  padding: 90px 0 0;
  background-color: #fff;
}
#point3 .point3-01 .container > .headline {
  position: relative;
}
#point3 .point3-01 .container > .headline::after {
  content: "";
  display: inline-block;
  border-left: 25px solid transparent;
  border-right: 25px solid transparent;
  border-top: 25px solid #FCFCFC;
  position: absolute;
  bottom: -110px;
  left: 50%;
  transform: translateX(-50%);
  filter: drop-shadow(0px 8px 6px #DBEFFF);
}
#point3 .point3-01 .point3-01__box {
  padding: 90px 0 0;
  background: #EBF6FF;
}
@media only screen and (max-width: 767px) {
  #point3 .point3-01 .point3-01__box {
    padding: 30px 0 0;
  }
}
#point3 .point3-01 .point3-01__box .container {
  max-width: 1140px;
}
#point3 .point3-01 .point3-01__box > .container .column__box {
  justify-content: space-between;
  margin-bottom: 57px;
}
#point3 .point3-01 .point3-01__box > .container .column__box .column__box__item {
  position: relative;
  width: calc(100%/3 - 30px);
}
@media only screen and (max-width: 767px) {
  #point3 .point3-01 .point3-01__box > .container .column__box .column__box__item {
    margin-bottom: 15px;
  }
}
#point3 .point3-01 .point3-01__box > .container .column__box .column__box__item img {
  z-index: 0;
}
#point3 .point3-01 .point3-01__box > .container .column__box .column__box__item:not(:last-child)::after {
  content: "";
  display: inline-block;
  background-image: url("../img/common/icon_flow.svg");
  width: 30px;
  height: 30px;
  background-size: cover;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -37px;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  #point3 .point3-01 .point3-01__box > .container .column__box .column__box__item:not(:last-child)::after {
    content: none;
  }
}
#point3 .point3-01 .point3-01__box > .container .column__box + .txt {
  text-align: center;
  font-size: 17px;
  font-style: normal;
  font-weight: 400;
  line-height: 100%; /* 17px */
  letter-spacing: 0.85px;
  margin-bottom: 140px;
}
@media only screen and (max-width: 767px) {
  #point3 .point3-01 .point3-01__box > .container .column__box + .txt {
    margin-bottom: 60px;
  }
}
#point3 .point3-01 .point3-01__box .hl-05 {
  margin-bottom: 75px;
}
/* #point3 .point3-02 */
#point3 .point3-02 {
  padding: 90px 0;
}
@media only screen and (max-width: 767px) {
  #main #point3 .point3-02 {
    padding: 60px 0 !important;
  }
}
#point3 .point3-02 .container {
  max-width: 1140px;
}
#point3 .point3-02 .text-area_bg .text__box {
  padding: 20px 80px;
}
@media only screen and (max-width: 767px) {
  #point3 .point3-02 .text-area_bg .text__box {
    padding: 20px;
  }
}
#point3 .point3-02 .text-area_bg .column__box {
  justify-content: space-between;
  padding: 70px;
}
@media only screen and (max-width: 767px) {
  #point3 .point3-02 .text-area_bg .column__box {
    padding: 20px;
  }
}
#point3 .point3-02 .text-area_bg .column__box .column__box__item {
  width: calc(100%/2 - 15px);
}
#point3 .point3-02 .text-area_bg .column__box .column__box__item:nth-child(2) {
  width: 260px;
  height: 462px;
  border-radius: 10px;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  #point3 .point3-02 .text-area_bg .column__box .column__box__item:nth-child(2) {
    margin-top: 20px;
    width: 100%;
    height: auto;
  }
  #point3 .point3-02 .text-area_bg .column__box .column__box__item:nth-child(2) video {
    width: 100%;
    height: auto;
  }
}
#point3 .point3-02 .text-area_bg .column__box .column__box__item:first-child .txt {
  font-size: 17px;
  font-weight: 500;
  line-height: 175%; /* 29.75px */
  letter-spacing: 0.85px;
}
/* #point3 .point3-03 */
#point3 .point3-03 {
  margin: 0 30px;
  padding: 75px 0 62px;
  border-radius: 0px 5px 5px 0px;
  background-image: url("../img/common/bg_case.jpg");
  background-size: cover;
  background-position: bottom;
}
#point3 .point3-03 .container {
  max-width: 1140px;
}
@media only screen and (max-width: 767px) {
  #point3 .point3-03 .container {
    padding: 50px 20px;
  }
}
#point3 .point3-03 .point3-01__box > .container .column__box .column__box__item {
  position: relative;
}
#point3 .point3-03 .point3-01__box > .container .column__box .column__box__item img {
  z-index: 0;
}
#point3 .point3-03 .point3-01__box > .container .column__box .column__box__item:not(:last-child)::after {
  content: "";
  display: inline-block;
  background-image: url("../img/common/icon_flow.svg");
  width: 30px;
  height: 30px;
  background-size: cover;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -15px;
  z-index: 1;
}
#point3 .point3-03 .txt {
  text-align: center;
  font-size: 15px;
  line-height: 175%; /* 26.25px */
  letter-spacing: 0.75px;
  margin-top: 45px;
}
@media only screen and (max-width: 767px) {
  #point3 .point3-03 .txt {
    text-align: left;
  }
}
#point3 .point3-03 .point3-03__box {
  position: relative;
}
#point3 .point3-03 .point3-03__box:first-child::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, rgba(188, 220, 246, 0.00) 0%, #BCDCF6 50%, rgba(188, 220, 246, 0.00) 100%);
  position: absolute;
  bottom: -60px;
  left: 0;
}
#point3 .point3-03 .point3-03__box + .point3-03__box {
  margin-top: 120px;
}
#point3 .point3-03 .point3-03__box .column__box {
  justify-content: space-between;
}
#point3 .point3-03 .point3-03__box .column__box .column__box__item {
  position: relative;
  width: calc(100% / 3 - 30px);
}
#point3 .point3-03 .point3-03__box .column__box__item:not(:last-child)::after {
  content: "";
  display: inline-block;
  background-image: url(../img/common/icon_flow.svg);
  width: 30px;
  height: 30px;
  background-size: cover;
  position: absolute;
  top: 50%;
  right: -37px;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  #point3 .point3-03 .point3-03__box .column__box .column__box__item {
    margin-bottom: 15px;
  }
  #point3 .point3-03 .point3-03__box .column__box__item:not(:last-child)::after {
    content: none;
  }
}
/* ---------------------------------------------------
#owner
--------------------------------------------------- */
#owner {
  padding: 90px 0;
  position: relative;
  background: linear-gradient(180deg, #F5FAFD 25%, #DBEFFF 100%);
}
@media only screen and (max-width: 767px) {
  #owner {
    padding: 60px 30px !important;
  }
}
#owner .column__box {
  justify-content: flex-end;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  #owner .column__box {
    display: inherit;
  }
}
#owner .column__box .column__box__item:nth-child(2) {
  margin-left: 60px;
}
@media only screen and (max-width: 767px) {
  #owner .column__box .column__box__item:nth-child(2) {
    margin-left: 0;
  }
}
#owner .column__box .column__box__item:nth-child(2) img {
  max-height: 55vh;
  max-width: 50vw;
}
@media only screen and (max-width: 767px) {
  #owner .column__box .column__box__item:nth-child(2) img {
    max-height: inherit;
    max-width: inherit;
    width: 100%;
    margin-top: 60px;
  }
}
/* ---------------------------------------------------
#access
--------------------------------------------------- */
#access {
  padding: 110px 105px;
  background: linear-gradient(180deg, #FCFCFC 0%, #EBF6FF 100%);
}
@media only screen and (max-width: 767px) {
  #main #access {
    padding-bottom: 60px;
  }
}
#access .container {
  max-width: 844px;
}
#access .container .map {
  width: 100%;
  height: 470px;
  background-color: #D3D3D3;
  margin-bottom: 32px;
}
/*------------------------------------------------------------
	fixList
------------------------------------------------------------*/
.fixList {
  position: fixed;
  top: 12vh;
  right: 0;
  width: 225px;
  z-index: 80;
  border-radius: 5px 0px 0px 5px;
  background-color: #fff;
  opacity: 0;
  transition: .3s;
  pointer-events: none;
  box-shadow: 0px 3px 5px 0px #BCDCF6;
  padding: 25px;
}
.fixList.on {
  opacity: 1;
  pointer-events: inherit;
}
.fixList li {
  padding: 15px 0;
  border-bottom: 1px solid #EBEBEB;
  line-height: 120%;
  color: #383838;
  font-family: "Ten Mincho";
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.42px;
}
.fixList li.now {
  color: #0063BF;
}
.fixList li a:hover {
  opacity: 0.7;
}
@media all and (max-width: 896px) {
  .fixList {
    top: auto;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 95%;
    flex-wrap: wrap;
    padding: 10px;
    box-shadow: -2px 0px 5px 0px #BCDCF6;
    border-radius: 5px 5px 0px 0px;
  }
  .fixList.on {
    display: flex !important;
    justify-content: space-between;
  }
  .fixList li {
    width: calc(100%/2 - 1em);
    font-size: 1.2rem;
    padding: 5px;
    text-align: center;
  }
}
/* ---------------------------------------------------
レスポンシブ　一括
--------------------------------------------------- */
@media only screen and (max-width: 767px) {
  #main section:not(.mv) {
    padding: 30px 0;
  }
  #main section .container {
    padding: 0 30px;
  }
  #main section .container .column__box {
    display: inherit !important;
    width: auto !important;
  }
  #main section .container .column__box .column__box__item {
    width: auto !important;
  }
  #main section .container .txt__box {
    width: auto !important;
  }
  #main section > article {
    padding: 0 !important;
  }
  #main section p {
    font-size: 1em !important;
  }
  .hl-06 {
    font-size: 4vw !important;
  }
  .hl-08, .hl-10, .hl-09, .hl-11 {
    font-size: 5vw !important;
    margin-bottom: 20px;
  }
  .hl-01, .hl-02, .hl-03, .hl-13 {
    font-size: 5.5vw !important;
    margin-bottom: 30px !important;
  }
  .hl-04, .hl-05, .hl-07 {
    font-size: 5.5vw !important;
    margin-bottom: 60px !important;
  }
  .hl-12 {
    font-size: 4vw !important;
  }
  .hl-15 {
    font-size: 9vw !important;
    margin-bottom: 20px;
  }
}

/* ADD CSS 2025.06.20 */
@media only screen and (max-width: 767px) {
    #main.top__page section.top-contact.lp-contact p.phone {
        font-size: 10vw !important;
    }
    #point3 .point3-01 .container > .headline::after {
    bottom: -54px;
}
}