@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%;
  z-index: 999;
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
  background: #ffffff
}
.header.header-fix {
  -webkit-transform: translateY(-100px);
  transform: translateY(-100px)
}
@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(8.5px, 8px);
  transform: rotate(45deg) translate(8.5px, 8px)
}
.header.is-active .header__toggle span:after {
  -webkit-transform: rotateZ(-45deg) translate(8.5px, -7.5px);
  transform: rotate(-45deg) translate(8.5px, -7.5px)
}
.header__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  height: 110px;
  padding: 10px
}
@media only screen and (max-width: 1024px) {
  .header__wrap {
    height: 70px;
    padding: 0 20px
  }
}
.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;
  max-width: 432px;
  margin-left: 22px;
  position: relative;
  z-index: 100
}
@media only screen and (max-width: 1599px) {
  .header__top {
    max-width: 27.0168855535vw;
    margin-left: 1.3758599124vw
  }
}
@media only screen and (max-width: 1024px) {
  .header__top {
    max-width: 100%;
    margin: 0
  }
}
.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: 1024px) {
  .header__logo {
    max-width: 305px
  }
}
@media only screen and (max-width: 389px) {
  .header__logo {
    max-width: 240px
  }
}
.header__logoImg {
  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
}
.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;
    width: 25px;
    height: 25px
  }
}
.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: 25px;
  height: 25px;
  position: relative
}
.header__toggle span span {
  width: 25px;
  height: auto;
  border-top: 1px solid #222222;
  -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 #222222;
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out
}
.header__toggle span span:before {
  top: -12px
}
.header__toggle span span:after {
  top: 11px
}
.header__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1
}
@media only screen and (max-width: 1024px) {
  .header__nav {
    position: fixed;
    top: 0;
    left: -100%;
    width: 100%;
    background: #F1F1F1;
    height: 100vh;
    z-index: 99;
    padding: 100px 0 0;
    -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;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    overflow: auto
  }
  .header__nav.is-active {
    left: 0;
    opacity: 1;
    visibility: visible
  }
}
.header__navbar {
  position: relative;
  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__navbar {
    padding: 0 20px 80px;
    display: block;
    width: 100%;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    overflow-y: auto;
    overflow-x: hidden;
    height: 100%;
    min-height: 100vw
  }
}
.header__phone {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
  margin-left: 35px;
  width: 236px;
  border: 2px solid #3CB678;
  border-radius: 5px;
  font-family: Zen Kaku Gothic New, sans-serif;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: normal;
  color: #3cb678;
  padding: 0 18px;
  white-space: nowrap;
  text-align: center;
  min-height: 86px;
  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-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-negative: 0;
  flex-shrink: 0
}
@media only screen and (max-width: 1599px) {
  .header__phone {
    margin-left: 2.1888680425vw;
    width: 14.7592245153vw;
    font-size: .8130081301vw;
    padding: 0 1.1257035647vw;
    min-height: 5.3783614759vw
  }
}
@media only screen and (max-width: 1024px) {
  .header__phone {
    display: none
  }
}
.header__phone .phone {
  font-family: futura-pt, sans-serif;
  font-size: 2.7rem;
  letter-spacing: .03em;
  display: block
}
@media only screen and (max-width: 1599px) {
  .header__phone .phone {
    font-size: 1.6885553471vw
  }
}
.header__phone .phone span {
  font-size: 1.5rem
}
@media only screen and (max-width: 1599px) {
  .header__phone .phone span {
    font-size: .9380863039vw
  }
}
.header__gr {
  -webkit-box-ordinal-group: 4;
  -ms-flex-order: 3;
  order: 3;
  background: #3CB678;
  border-radius: 5px;
  margin-left: 3px;
  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-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 10px 18px;
  min-height: 90px;
  -ms-flex-negative: 0;
  flex-shrink: 0
}
@media only screen and (max-width: 1599px) {
  .header__gr {
    padding: .6253908693vw 1.1257035647vw;
    min-height: 5.6285178236vw
  }
}
@media only screen and (max-width: 1024px) {
  .header__gr {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    padding: 0;
    min-height: 90px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row
  }
}
@media only screen and (max-width: 374px) {
  .header__gr {
    min-height: 24.064171123vw
  }
}
.header__booking, .header__contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-family: Zen Kaku Gothic New, sans-serif;
  font-size: 1.7rem;
  letter-spacing: .03em;
  font-weight: 700;
  color: #fff;
  white-space: nowrap
}
@media only screen and (max-width: 1599px) {
  .header__booking, .header__contact {
    font-size: 1.0631644778vw
  }
}
@media only screen and (max-width: 1024px) {
  .header__booking, .header__contact {
    font-size: 2.1rem;
    padding: 0 26px
  }
}
@media only screen and (max-width: 374px) {
  .header__booking, .header__contact {
    font-size: 4.8128342246vw;
    padding: 0 5.3475935829vw
  }
}
.header__booking:before, .header__contact:before {
  content: "";
  display: block;
  margin-right: 14px;
  width: 22px;
  height: 21px
}
@media only screen and (max-width: 1599px) {
  .header__booking:before, .header__contact:before {
    margin-right: .875547217vw;
    width: 1.3758599124vw;
    height: 1.3133208255vw
  }
}
@media only screen and (max-width: 1024px) {
  .header__booking:before, .header__contact:before {
    margin-right: 14px;
    width: 22px;
    height: 21px
  }
}
@media only screen and (max-width: 374px) {
  .header__booking:before, .header__contact:before {
    margin-right: 3.743315508vw;
    width: 5.8823529412vw;
    height: 5.614973262vw
  }
}
.header__booking {
  padding-bottom: 9px;
  margin-bottom: 9px;
  border-bottom: 2px solid rgba(255, 255, 255, .25)
}
@media only screen and (max-width: 1599px) {
  .header__booking {
    padding-bottom: .5628517824vw;
    margin-bottom: .5628517824vw
  }
}
@media only screen and (max-width: 1024px) {
  .header__booking {
    padding: 0 26px;
    margin: 0;
    border-bottom: none;
    border-right: 2px solid rgba(255, 255, 255, .24)
  }
}
@media only screen and (max-width: 374px) {
  .header__booking {
    padding: 0 6.9518716578vw
  }
}
.header__booking:before {
  background: url(../img/common/icon/ic_checkbox.svg) no-repeat center;
  background-size: 22px
}
@media only screen and (max-width: 1599px) {
  .header__booking:before {
    background-size: 1.3758599124vw
  }
}
@media only screen and (max-width: 1024px) {
  .header__booking:before {
    background-size: 22px
  }
}
@media only screen and (max-width: 374px) {
  .header__booking:before {
    background-size: 5.8823529412vw
  }
}
.header__contact:before {
  background: url(../img/common/icon/ic_mail.svg) no-repeat center;
  background-size: 22px
}
@media only screen and (max-width: 1599px) {
  .header__contact:before {
    background-size: 1.3758599124vw
  }
}
@media only screen and (max-width: 1024px) {
  .header__contact:before {
    background-size: 22px
  }
}
@media only screen and (max-width: 374px) {
  .header__contact:before {
    background-size: 5.8823529412vw
  }
}
.header__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1
}
@media only screen and (max-width: 1024px) {
  .header__list {
    display: block;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    margin-top: 30px
  }
}
.header__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  margin-left: 18px
}
.header__item:nth-child(5), .header__item:nth-child(6) {
  display: none
}
@media only screen and (max-width: 1024px) {
  .header__item:nth-child(5), .header__item:nth-child(6) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
  }
}
@media only screen and (max-width: 1024px) {
  .header__item {
    display: block;
    border-left: none;
    margin-left: 0;
    border-bottom: 1px solid #DCDCDC;
    padding: 14px 0
  }
  .header__item:nth-child(1) {
    margin-top: -12px
  }
  .header__item:after {
    content: "";
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    right: 0;
    width: 25px;
    height: 25px;
    background: url(../img/common/icon/ic_arrow-square.svg) no-repeat center;
    background-size: 25px 25px
  }
  .header__item.js-submenu .header__link {
    max-width: -webkit-fit-content;
    max-width: -moz-fit-content;
    max-width: fit-content
  }
  .header__item.js-submenu:after {
    top: 20px;
    -webkit-transform: none;
    transform: none;
    background: url(../img/common/icon/ic_plus-square.svg) no-repeat center
  }
  .header__item.js-submenu.is-subActive:after {
    background: url(../img/common/icon/ic_minus-square.svg) no-repeat center
  }
}
.header__link {
  font-family: Zen Kaku Gothic New, sans-serif;
  color: #404c4e;
  font-size: 1.7rem;
  line-height: normal;
  font-weight: 700;
  white-space: nowrap
}
@media only screen and (max-width: 1440px) {
  .header__link {
    font-size: 1.0416666667vw
  }
}
@media only screen and (max-width: 1024px) {
  .header__link {
    font-size: 1.7rem;
    line-height: 1.8823529412;
    letter-spacing: .015em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
  }
  .header__link:before {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #3CB678;
    margin-right: 10px;
    position: relative;
    top: 12px
  }
}
.header__sub {
  display: none
}
@media only screen and (max-width: 1024px) {
  .header__sub {
    margin-top: 15px
  }
  .header__sub li + li {
    margin-top: 5px
  }
  .header__sub li a {
    font-size: 1.5rem;
    line-height: 1.9;
    letter-spacing: .015em;
    color: #404c4e;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
  }
  .header__sub li a:before {
    content: "";
    display: block;
    width: 5px;
    border-top: 1px solid #404C4E;
    margin-right: 12px;
    position: relative;
    top: 15px
  }
}
.footer .contact {
  background: url(../img/common/contact_bg.jpg) no-repeat center;
  background-size: cover;
  padding: 90px 0
}
@media only screen and (max-width: 767px) {
  .footer .contact {
    padding: 45px 0
  }
}
.footer .contact__title {
  font-weight: 600;
  font-size: 3.2rem;
  line-height: normal;
  text-align: center;
  letter-spacing: .38em;
  color: #fff;
  -webkit-transform: matrix(1, 0, -.14, .99, 0, 0);
  transform: matrix(1, 0, -.14, .99, 0, 0);
  margin-bottom: 58px
}
@media only screen and (max-width: 1180px) {
  .footer .contact__title {
    font-size: 2.3728813559vw;
    margin-bottom: 4.9152542373vw
  }
}
@media only screen and (max-width: 767px) {
  .footer .contact__title {
    font-size: 2.4rem;
    margin-bottom: 30px
  }
}
.footer .contact__box {
  background: #FCFCFC;
  border-radius: 30px;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative
}
@media only screen and (max-width: 1180px) {
  .footer .contact__box {
    border-radius: 2.5423728814vw
  }
}
@media only screen and (max-width: 767px) {
  .footer .contact__box {
    display: block
  }
}
.footer .contact__box:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  height: 135px;
  border-left: 1px solid #7AB6BF
}
@media only screen and (max-width: 1180px) {
  .footer .contact__box:before {
    height: 11.4406779661vw
  }
}
@media only screen and (max-width: 767px) {
  .footer .contact__box:before {
    display: none
  }
}
.footer .contact__box .phone {
  width: 50%;
  padding: 45px 72px
}
@media only screen and (max-width: 1180px) {
  .footer .contact__box .phone {
    padding: 3.813559322vw 6.1016949153vw
  }
}
@media only screen and (max-width: 767px) {
  .footer .contact__box .phone {
    padding: 20px;
    width: 100%;
    border-bottom: 1px solid #7AB6BF
  }
}
.footer .contact__box .phone__title {
  font-size: 2.1rem;
  line-height: normal;
  letter-spacing: .22em;
  font-weight: 700;
  color: #404c4e;
  text-align: center;
  margin-bottom: 30px
}
@media only screen and (max-width: 1180px) {
  .footer .contact__box .phone__title {
    font-size: 1.7796610169vw;
    margin-bottom: 2.5423728814vw
  }
}
@media only screen and (max-width: 767px) {
  .footer .contact__box .phone__title {
    font-size: 1.8rem;
    margin-bottom: 15px;
    text-align: center
  }
}
.footer .contact__box .phone__number {
  font-size: 4.5rem;
  line-height: 1;
  font-weight: 700;
  color: #3cb678
}
@media only screen and (max-width: 1180px) {
  .footer .contact__box .phone__number {
    font-size: 4.0677966102vw
  }
}
@media only screen and (max-width: 767px) {
  .footer .contact__box .phone__number {
    font-size: 2.8rem
  }
}
.footer .contact__box .phone__number .number {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-family: Inter, sans-serif;
  letter-spacing: .04em
}
.footer .contact__box .phone__number .number:before {
  content: "";
  display: block;
  width: 50px;
  height: 50px;
  background: url(../img/common/icon/ic_phone.svg) no-repeat center;
  background-size: 50px 50px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin-right: 15px;
  position: relative
}
@media only screen and (max-width: 1180px) {
  .footer .contact__box .phone__number .number:before {
    width: 4.2372881356vw;
    height: 4.2372881356vw;
    background-size: 4.2372881356vw 4.2372881356vw;
    margin-right: 1.2711864407vw
  }
}
@media only screen and (max-width: 767px) {
  .footer .contact__box .phone__number .number:before {
    width: 30px;
    height: 30px;
    background-size: 30px 30px;
    margin-right: 15px
  }
}
.footer .contact__box .phone__number .time {
  font-size: 1.5rem;
  letter-spacing: .03em;
  color: #192a2d;
  font-weight: 400;
  position: relative;
  display: block;
  text-align: center;
  margin-top: 20px
}
@media only screen and (max-width: 1180px) {
  .footer .contact__box .phone__number .time {
    font-size: 1.2711864407vw;
    margin-top: 1.6949152542vw
  }
}
@media only screen and (max-width: 767px) {
  .footer .contact__box .phone__number .time {
    font-size: 1.2rem;
    margin-top: 10px
  }
}
.footer .contact__box .mail {
  width: 50%;
  padding: 45px 72px;
  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
}
@media only screen and (max-width: 1180px) {
  .footer .contact__box .mail {
    padding: 3.813559322vw 6.1016949153vw
  }
}
@media only screen and (max-width: 767px) {
  .footer .contact__box .mail {
    width: 100%;
    padding: 20px
  }
}
.footer .contact__box .mail__title {
  font-size: 2.1rem;
  line-height: normal;
  letter-spacing: .22em;
  font-weight: 700;
  color: #404c4e;
  text-align: center;
  margin-bottom: 30px
}
@media only screen and (max-width: 1180px) {
  .footer .contact__box .mail__title {
    font-size: 1.7796610169vw;
    margin-bottom: 2.5423728814vw
  }
}
@media only screen and (max-width: 767px) {
  .footer .contact__box .mail__title {
    font-size: 2.4rem;
    margin-bottom: 30px;
    text-align: center
  }
}
.footer .contact__box .mail .btn__normal {
  margin: 0;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end
}
.footer .contact__box .mail .btn__normal a {
  min-width: 276px
}
@media only screen and (max-width: 1180px) {
  .footer .contact__box .mail .btn__normal a {
    min-width: 23.3898305085vw;
    font-size: 1.3559322034vw;
    height: 6.3559322034vw
  }
}
@media only screen and (max-width: 767px) {
  .footer .contact__box .mail .btn__normal a {
    min-width: auto;
    font-size: 1.5rem;
    height: 75px
  }
}
@media only screen and (max-width: 374px) {
  .footer .contact__box .mail .btn__normal a {
    height: 20.0534759358vw;
    font-size: 4.0106951872vw
  }
}
.footer__wrap {
  padding: 90px 0
}
@media only screen and (max-width: 767px) {
  .footer__wrap {
    padding: 45px 0
  }
}
.footer__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}
@media only screen and (max-width: 767px) {
  .footer__inner {
    display: block
  }
}
.footer__info {
  max-width: 340px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  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-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}
@media only screen and (max-width: 1024px) {
  .footer__info {
    max-width: 290px
  }
}
@media only screen and (max-width: 767px) {
  .footer__info {
    max-width: 100%
  }
}
@media only screen and (max-width: 767px) {
  .footer__logo {
    max-width: 290px;
    margin: 0 auto
  }
}
.footer__title {
  font-size: 2.1rem;
  line-height: normal;
  letter-spacing: .03em;
  font-weight: 700;
  color: #192a2d;
  margin: 75px 0 30px
}
@media only screen and (max-width: 767px) {
  .footer__title {
    margin: 30px 0 15px
  }
}
.footer__address {
  font-size: 1.5rem;
  line-height: 1.75;
  letter-spacing: .03em;
  color: #192a2d;
  font-weight: 400
}
.footer__address .iten-foot {
  color: #606060;
}
.footer__body {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  max-width: 571px;
  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-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}
@media only screen and (max-width: 767px) {
  .footer__body {
    display: block;
    max-width: 100%;
    margin-top: 30px
  }
}
.footer__gr {
  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;
  margin-left: 30px
}
@media only screen and (max-width: 767px) {
  .footer__gr {
    display: block;
    margin: 0
  }
}
.footer__list {
  width: calc(33.3333333333% - 30px);
  margin-left: 30px;
  margin-bottom: 40px
}
@media only screen and (max-width: 1024px) {
  .footer__list {
    min-width: calc(50% - 30px)
  }
}
@media only screen and (max-width: 767px) {
  .footer__list {
    width: 100%;
    margin-bottom: 20px;
    margin-left: 0
  }
}
.footer__list:not(:last-child) {
  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-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}
@media only screen and (max-width: 767px) {
  .footer__list {
    width: 100%;
    padding: 0;
    display: block
  }
  .footer__list + .footer__list {
    margin-top: 20px
  }
}
.footer__item:not(:last-child) {
  margin-bottom: 45px
}
@media only screen and (max-width: 767px) {
  .footer__item:not(:last-child) {
    margin-bottom: 20px
  }
}
.footer__link {
  font-size: 1.5rem;
  letter-spacing: .03em;
  line-height: normal;
  color: #192a2d;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  white-space: nowrap
}
.footer__link:before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #7AB6BF;
  margin-right: 10px;
  -ms-flex-negative: 0;
  flex-shrink: 0
}
.footer__sub {
  margin-top: 20px;
  padding-left: 18px
}
@media only screen and (max-width: 767px) {
  .footer__sub {
    margin-top: 10px
  }
}
.footer__sub li + li {
  margin-top: 10px
}
.footer__sub li a {
  font-size: 1.4rem;
  line-height: 1.3;
  letter-spacing: .03em;
  font-weight: 400;
  color: #404c4e
}
.footer__copyright {
  font-size: 1.4rem;
  line-height: normal;
  letter-spacing: .03em;
  font-weight: 300;
  color: #007384;
  margin-top: 16px;
  text-align: right
}
@media only screen and (max-width: 767px) {
  .footer__copyright {
    text-align: center;
    margin-top: 40px
  }
}
.scrolltop {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 99;
  -webkit-transform: translateY(165px);
  transform: translateY(165px);
  mix-blend-mode: multiply
}
.scrolltop.absolute {
  bottom: 80px
}
@media only screen and (max-width: 767px) {
  .scrolltop {
    bottom: 10px;
    right: 10px
  }
}
.scrolltop a {
  display: block;
  width: 30px;
  height: 46px;
  font-size: 1.6rem;
  line-height: normal;
  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;
  text-transform: uppercase;
  text-align: center;
  font-weight: 700;
  color: #fff;
  cursor: pointer;
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
  opacity: 1
}
@media only screen and (max-width: 767px) {
  .scrolltop a {
    width: 40px;
    height: 40px;
    font-size: 1rem
  }
}
.scrolltop.UpMove {
  -webkit-animation: UpAnime .5s forwards;
  animation: UpAnime .5s forwards
}
.scrolltop.DownMove {
  -webkit-animation: DownAnime .5s forwards;
  animation: DownAnime .5s forwards
}
@-webkit-keyframes UpAnime {
  0% {
    opacity: 0;
    -webkit-transform: translateY(165px);
    transform: translateY(165px)
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0px);
    transform: translateY(0)
  }
}
@keyframes UpAnime {
  0% {
    opacity: 0;
    -webkit-transform: translateY(165px);
    transform: translateY(165px)
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0px);
    transform: translateY(0)
  }
}
@-webkit-keyframes DownAnime {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0px);
    transform: translateY(0)
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(165px);
    transform: translateY(165px)
  }
}
@keyframes DownAnime {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0px);
    transform: translateY(0)
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(165px);
    transform: translateY(165px)
  }
}
.breadcrumb {
  padding: 15px 0
}
.breadcrumb ul {
  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
}
.breadcrumb ul li:not(:last-child) {
  margin-right: 15px
}
.breadcrumb ul a, .breadcrumb ul span {
  font-size: 1.4rem;
  line-height: 2.1;
  letter-spacing: .04em;
  font-weight: 500;
  color: #fff
}
.breadcrumb ul a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}
.breadcrumb ul a:after {
  content: "/";
  margin-left: 15px
}
body {
  position: relative;
  font-family: Noto Sans JP, sans-serif;
  overflow-x: hidden;
  font-size: 1.7rem;
  color: #192a2d;
  letter-spacing: .02em
}
@media only screen and (max-width: 767px) {
  body {
    min-width: 320px;
    font-size: 1.5rem
  }
}
main {
  overflow: hidden;
  padding-top: 110px
}
main:not(.top) {
  background: url(../img/common/bg_main.jpg) no-repeat center/cover
}
@media only screen and (max-width: 1024px) {
  main {
    padding-top: 70px
  }
}
.child-page__body {
  background: url(../img/common/frame_main.svg) no-repeat top right 30px/cover
}
@media only screen and (max-width: 1180px) {
  .child-page__body {
    background: url(../img/common/frame_main.svg) no-repeat top right 20px/cover
  }
}
@media only screen and (max-width: 767px) {
  .child-page__body {
    background: #E3F5EC
  }
}
.child-page__inner {
  position: relative;
  z-index: 1
}
.child-page__inner:after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translate(-50%);
  width: 100vw;
  height: 100%;
  background: url(../img/common/frame_box.svg) no-repeat top left/cover;
  z-index: -1
}
@media only screen and (max-width: 767px) {
  .child-page__inner:after {
    background: #fff
  }
}
.container {
  max-width: 1180px;
  padding: 0 20px;
  margin: 0 auto
}
a[href^="tel:"] {
  pointer-events: none
}
@media only screen and (max-width: 1024px) {
  a[href^="tel:"] {
    pointer-events: inherit
  }
}
@-webkit-keyframes jstxt {
  0% {
    -webkit-transform: translateY(50px);
    transform: translateY(50px)
  }
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
}
@keyframes jstxt {
  0% {
    -webkit-transform: translateY(50px);
    transform: translateY(50px)
  }
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
}
.btn__normal, .btn__back {
  margin-top: 60px
}
@media only screen and (max-width: 767px) {
  .btn__normal, .btn__back {
    margin-top: 30px
  }
}
.btn__normal a, .btn__back a {
  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;
  font-size: 1.66rem;
  line-height: 1.8674698795;
  letter-spacing: .19em;
  font-weight: 600;
  color: #3cb678;
  background: #fff;
  border: 1px solid rgba(60, 182, 120, .54);
  border-radius: 46px;
  height: 73px;
  padding: 0 35px;
  max-width: 260px;
  width: 100%
}
.btn__normal a:after, .btn__back a:after {
  content: "";
  display: block;
  width: 34px;
  height: 7px;
  background: url(../img/common/icon/ic_arrow-green.svg) no-repeat center;
  background-size: 34px 7px !important;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  left: 15px;
  position: relative
}
.btn__normal.is-blue a, .btn__back.is-blue a {
  background: rgba(0, 115, 132, .73);
  border-color: #00738452;
  color: #fff
}
.btn__normal.is-blue a:after, .btn__back.is-blue a:after {
  background: url(../img/common/icon/ic_arrow-white.svg) no-repeat center;
  opacity: .56
}
.btn__more a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 1.36rem;
  line-height: 1.5441176471;
  letter-spacing: .19em;
  font-weight: 600;
  color: #007384;
  background: #F0FDFF;
  border: 1px solid rgba(0, 115, 132, .31);
  border-radius: 46px;
  height: 33px;
  padding: 0 28px;
  min-width: 120px;
  white-space: nowrap;
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content
}
.btn__more a:after {
  content: "";
  display: block;
  width: 25px;
  height: 5px;
  background: url(../img/common/icon/ic_arrow-blue.svg) no-repeat center;
  background-size: 25px 5px !important;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin-left: 15px
}
.btn__more.is-blue a {
  background: #007384;
  border-color: #00738452;
  color: #fff
}
.btn__more.is-blue a:after {
  background: url(../img/common/icon/ic_arrow-white.svg) no-repeat center
}
.btn__back {
  margin-top: 138px
}
@media only screen and (max-width: 767px) {
  .btn__back {
    margin-top: 60px
  }
}
.titleMain {
  margin-bottom: 45px
}
@media only screen and (max-width: 767px) {
  .titleMain {
    margin-bottom: 30px
  }
}
.titleMain__en {
  font-size: 7.4rem;
  line-height: 1;
  letter-spacing: .05em;
  font-weight: 600;
  text-transform: uppercase;
  text-shadow: 0px 0px 2px #FFFFFF
}
@media only screen and (max-width: 767px) {
  .titleMain__en {
    font-size: 3.7rem
  }
}
.titleMain__jp {
  display: block;
  font-size: 2.1rem;
  letter-spacing: .1em;
  color: #666;
  font-weight: 500;
  margin-top: 10px
}
@media only screen and (max-width: 767px) {
  .titleMain__jp {
    font-size: 1.6rem
  }
}
.child-page__title {
  font-family: futura-pt, sans-serif;
  font-size: 7.8rem;
  line-height: 1;
  letter-spacing: .03em;
  color: #7ab6bf;
  font-weight: 500;
  text-transform: uppercase;
  margin-bottom: 60px
}
@media only screen and (max-width: 767px) {
  .child-page__title {
    font-size: 4rem;
    margin-bottom: 30px
  }
}
.child-page__title span {
  font-family: Noto Sans JP, sans-serif;
  font-size: 1.6rem;
  line-height: normal;
  letter-spacing: .37em;
  font-weight: 300;
  color: #007384;
  margin-top: 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}
.child-page__title span:after {
  content: "";
  display: block;
  width: 48px;
  border-top: 1px solid rgba(0, 115, 132, .17);
  margin-left: 18px
}
.form__wrap {
  max-width: 900px;
  margin: 0 auto
}
.form__title {
  font-size: 2.4rem;
  text-align: center;
  line-height: 1.4;
  letter-spacing: .04em;
  font-weight: 700;
  color: #383838;
  padding-bottom: 20px;
  border-bottom: 1px solid #E9F0F8;
  margin-bottom: 60px
}
@media only screen and (max-width: 767px) {
  .form__title {
    margin-bottom: 30px
  }
}
.form__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  padding: 25px 0;
  border-bottom: 1px solid #CCCCCC
}
.form__item:first-child {
  border-top: 1px solid #CCCCCC
}
@media only screen and (max-width: 767px) {
  .form__item {
    display: block;
    padding: 20px 0
  }
}
.form__item.is-required .form__label:after {
  content: "\5fc5\9808";
  background: #C60010
}
.form__label {
  width: 315px;
  font-size: 1.7rem;
  line-height: 1.9;
  letter-spacing: .015em;
  font-weight: 700;
  padding: 5px 15px 5px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  color: #222
}
@media only screen and (max-width: 767px) {
  .form__label {
    width: 100%;
    margin-bottom: 10px;
    padding: 5px 0;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
  }
}
.form__label:after {
  content: "\4efb\610f";
  display: block;
  width: 50px;
  font-size: 1.6rem;
  line-height: 1.5;
  padding: 2px 0 4px;
  letter-spacing: .04em;
  font-weight: 700;
  color: #fff;
  background: #373737;
  text-align: center;
  border-radius: 5px;
  position: relative;
  top: 1px
}
@media only screen and (max-width: 767px) {
  .form__label:after {
    top: 0
  }
}
.form__content {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1
}
.form input, .form textarea {
  padding: 0 15px;
  background: #fff;
  border: 1px solid #E6E6E6;
  border-radius: 5px;
  font-size: 1.7rem;
  line-height: 1.9;
  letter-spacing: .015em;
  font-weight: 400;
  width: calc(100% - 30px);
  color: #222;
  outline: none;
  font-family: Noto Sans JP, sans-serif
}
.form input::-webkit-input-placeholder, .form textarea::-webkit-input-placeholder {
  color: #888
}
.form input::-moz-placeholder, .form textarea::-moz-placeholder {
  color: #888
}
.form input:-ms-input-placeholder, .form textarea:-ms-input-placeholder {
  color: #888
}
.form input::-ms-input-placeholder, .form textarea::-ms-input-placeholder {
  color: #888
}
.form input::placeholder, .form textarea::placeholder {
  color: #888
}
@media only screen and (max-width: 767px) {
  .form input, .form textarea {
    font-size: 1.6rem
  }
}
.form input {
  min-height: 38px
}
.form textarea {
  min-height: 188px;
  padding: 10px 15px
}
.form__gr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 -5px
}
.form__gr .form__input {
  /*width: calc(50% - 15px);*/
  width: calc(100% - 40px);
  margin: 0 5px
}
.form__note {
  font-size: 1.7rem;
  line-height: 1.9;
  letter-spacing: .015em;
  font-weight: 400;
  color: #888;
  margin-top: 10px
}
@media only screen and (max-width: 767px) {
  .form__note {
    font-size: 1.5rem
  }
}
.form__policy {
  margin-top: 60px
}
@media only screen and (max-width: 767px) {
  .form__policy {
    display: block;
    margin-top: 30px
  }
}
.form__policy .form__checkbox {
  display: block;
  position: relative;
  top: 0;
  padding-left: 35px
}
.form__policy .form__checkbox input {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background: #fff
}
.form__policy .form__checkbox a, .form__policy a {
  color: #007384;
  text-decoration: underline;
  text-underline-offset: 3px
}
.form__checkbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.7rem;
  line-height: 1.9;
  letter-spacing: .015em;
  font-weight: 400;
  color: #222
}
.form__checkbox input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  height: 20px;
  width: 20px;
  border: 1px solid #CCCCCC;
  border-radius: 3px;
  min-height: auto;
  margin: 6px 15px 0 0;
  padding: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  background: #fff;
}
.form__checkbox input:checked {
  background: #222222 url(../img/common/icon/ic_checked.svg) no-repeat center;
  background-size: 20px 20px;
  border-color: #222
}
.form .btn {
  margin: 60px auto 0;
  width: 348px;
  height: 75px;
  background: rgba(0, 115, 132, .73);
  border-radius: 46px;
  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-size: 1.66rem;
  letter-spacing: .19em;
  font-weight: 600;
  color: #fff
}
.wpcf7 .wpcf7-submit:disabled {
  background: rgb(166 195 199 / 73%);
}
@media only screen and (max-width: 767px) {
  .form .btn {
    margin-top: 30px;
    width: 100%;
    max-width: 348px
  }
}
.form .form__checkbox {
  display: block;
}
.form .wpcf7-list-item {
  display: block;
  /* margin: 0 0 0 1em; */
}
.form .form__checkbox label {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.form .form__checkbox input {
  margin: 0 15px 0 0;
}
.form .form__policy {
  text-align: center;
}
.form .form__policy label {
  display: flex;
  justify-content: center;
  align-items: center;
}
.form .form__policy label input {
  width: 20px;
  height: 20px;
  margin: 2px 15px 0 0;
}
.text {
  font-size: 1.7rem;
  line-height: 1.9;
  letter-spacing: .015em;
  font-weight: 400;
  color: #222
}
@media only screen and (max-width: 767px) {
  .text {
    font-size: 1.5rem
  }
}
.text.cl-red {
  color: #c60010
}
.text p + p {
  margin-top: 15px
}
.no-post {
  padding: 20px 0
}
.pagenavi {
  margin-top: 138px
}
@media only screen and (max-width: 767px) {
  .pagenavi {
    margin-top: 45px
  }
}
.pagenavi .wp-pagenavi {
  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
}
.pagenavi .wp-pagenavi a, .pagenavi .wp-pagenavi 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;
  font-family: Inter, sans-serif;
  font-size: 3rem;
  line-height: .1em;
  color: #7ab6bf;
  font-weight: 400;
  margin: 0 20px;
  height: 45px
}
@media only screen and (max-width: 767px) {
  .pagenavi .wp-pagenavi a, .pagenavi .wp-pagenavi span {
    font-size: 2.4rem;
    width: 20px;
    height: 20px;
    margin: 0 5px
  }
}
@media only screen and (min-width: 768px) {
  .pagenavi .wp-pagenavi a:hover {
    color: #19b6ed;
    opacity: 1
  }
}
.pagenavi .wp-pagenavi span {
  color: #192a2d
}
.pagenavi .wp-pagenavi .dot {
  background: url(/assets/img/common/icon/ic_ellipsis.svg) no-repeat center center;
  background-size: contain
}
.pagenavi .wp-pagenavi .nextpostslink, .pagenavi .wp-pagenavi .previouspostslink {
  width: 45px;
  height: 45px;
  border-radius: 50%;
  background: #7AB6BF url(../img/common/icon/ic_arrow-pagi.svg) no-repeat center;
  background-size: 10px 10px;
  margin: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0
}
@media only screen and (max-width: 767px) {
  .pagenavi .wp-pagenavi .nextpostslink, .pagenavi .wp-pagenavi .previouspostslink {
    width: 40px;
    height: 40px;
    background-position: center left 15px
  }
}
.pagenavi .wp-pagenavi .previouspostslink {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
  margin-right: 20px
}
@media only screen and (max-width: 767px) {
  .pagenavi .wp-pagenavi .previouspostslink {
    margin-right: 10px
  }
}
.pagenavi .wp-pagenavi .nextpostslink {
  margin-left: 20px
}
@media only screen and (max-width: 767px) {
  .pagenavi .wp-pagenavi .nextpostslink {
    margin-left: 10px
  }
}
.pagenavi .wp-pagenavi .pages {
  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: 88px;
  height: 43px;
  border-radius: 100px;
  border: 1px solid #7AB6BF;
  background: #fff;
  color: #7ab6bf;
  font-family: Inter, sans-serif;
  font-size: 1.9rem;
  letter-spacing: .11em;
  font-weight: 500
}
@media only screen and (max-width: 767px) {
  .pagenavi .wp-pagenavi .pages {
    height: 38px
  }
}
.imgtext {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 90px 0
}
@media only screen and (max-width: 767px) {
  .imgtext {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 40px 0
  }
}
.imgtext:nth-of-type(odd) .imgtext__content {
  margin-right: 90px
}
@media only screen and (max-width: 1024px) {
  .imgtext:nth-of-type(odd) .imgtext__content {
    margin-right: 40px
  }
}
.imgtext:nth-of-type(even) .imgtext__content {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
  margin-left: 90px
}
@media only screen and (max-width: 1024px) {
  .imgtext:nth-of-type(even) .imgtext__content {
    margin-left: 40px
  }
}
.imgtext:nth-of-type(even) .imgtext__img {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1
}
.imgtext:nth-of-type(even) .imgtext__img:after {
  background: -webkit-gradient(linear, left top, right top, from(#80E5FF), to(#A6CAE0));
  background: -webkit-linear-gradient(left, #80E5FF 0%, #A6CAE0 100%);
  background: linear-gradient(90deg, #80E5FF 0%, #A6CAE0 100%)
}
.imgtext:after {
  content: "";
  position: absolute;
  top: 0;
  left: calc(-.5*(100vw - 1140px));
  width: 100vw;
  height: 100%;
  z-index: -1
}
@media only screen and (max-width: 1180px) {
  .imgtext:after {
    left: -20px
  }
}
.imgtext__img, .imgtext__content {
  width: 50%
}
@media only screen and (max-width: 767px) {
  .imgtext__img, .imgtext__content {
    width: 100%
  }
}
.imgtext__content {
  max-width: 510px
}
@media only screen and (max-width: 767px) {
  .imgtext__content {
    -webkit-box-ordinal-group: 3 !important;
    -ms-flex-order: 2 !important;
    order: 2 !important;
    margin: 20px 0 0 !important;
    max-width: 100%
  }
}
.imgtext__img {
  position: relative;
  padding: 5px 0 0 5px;
  margin: 11px 0
}
@media only screen and (max-width: 767px) {
  .imgtext__img {
    -webkit-box-ordinal-group: 2 !important;
    -ms-flex-order: 1 !important;
    order: 1 !important
  }
}
.imgtext__img img {
  border-radius: 10px;
  position: relative;
  z-index: 1
}
.imgtext__img:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: calc(100% - 5px);
  width: calc(100% - 5px);
  background: -webkit-gradient(linear, left top, right top, from(#24BCE2), to(#4E95C1));
  background: -webkit-linear-gradient(left, #24BCE2 0%, #4E95C1 100%);
  background: linear-gradient(90deg, #24BCE2 0%, #4E95C1 100%);
  border-radius: 10px
}
.imgtext__number {
  display: block;
  font-size: 3.8rem;
  line-height: 1;
  letter-spacing: -.01em;
  background: -webkit-gradient(linear, left top, right top, from(#24BCE2), to(#4E95C1));
  background: -webkit-linear-gradient(left, #24BCE2 0%, #4E95C1 100%);
  background: linear-gradient(90deg, #24BCE2 0%, #4E95C1 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: 500;
  font-style: italic;
  margin-bottom: 3px
}
.imgtext__title {
  font-size: 3.2rem;
  line-height: 1.64;
  letter-spacing: -.05em;
  font-weight: 400;
  margin-bottom: 65px
}
@media only screen and (max-width: 1024px) {
  .imgtext__title {
    font-size: 2.6rem;
    margin-bottom: 40px
  }
}
@media only screen and (max-width: 767px) {
  .imgtext__title {
    font-size: 2.4rem;
    margin-bottom: 30px
  }
}
.imgtext .text {
  line-height: 2.14
}
.imgtext .text + .text {
  margin-top: 9px
}
.imgtext__box {
  background: #F1F4F6;
  border-radius: 3px;
  padding: 20px 30px;
  min-height: 75px;
  margin-top: 45px
}
@media only screen and (max-width: 767px) {
  .imgtext__box {
    margin-top: 20px
  }
}
.imgtext__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: -10px
}
.imgtext__list li {
  font-size: 1.6rem;
  line-height: 2.14;
  letter-spacing: .02em;
  margin-bottom: 10px
}
.imgtext__list li:before {
  content: "\30fb";
  color: #1aaed3;
  margin-right: 4px
}
.imgtext__list li span {
  font-size: 1.2rem
}
.imgtext__position {
  font-size: 2.1rem;
  line-height: 2.14;
  letter-spacing: .02em;
  font-weight: 400;
  margin: 39px 0 -9px
}
@media only screen and (max-width: 767px) {
  .imgtext__position {
    margin: 20px 0 0
  }
}
.imgtext.construction {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  padding: 73px 0;
  border-bottom: 1px solid #F1F4F6
}
@media only screen and (max-width: 767px) {
  .imgtext.construction {
    padding: 40px 0
  }
}
.imgtext.construction:nth-of-type(1) {
  padding-top: 0
}
.imgtext.construction:nth-last-of-type(2) {
  padding-bottom: 0;
  border-bottom: 0
}
.imgtext.construction .imgtext__img {
  -webkit-box-ordinal-group: 2 !important;
  -ms-flex-order: 1 !important;
  order: 1 !important;
  padding: 0;
  max-width: 510px;
  margin: 0
}
@media only screen and (max-width: 767px) {
  .imgtext.construction .imgtext__img {
    max-width: 100%
  }
}
.imgtext.construction .imgtext__img:after {
  display: none
}
.imgtext.construction .imgtext__img img {
  border-radius: 5px
}
.imgtext.construction .imgtext__content {
  -webkit-box-ordinal-group: 3 !important;
  -ms-flex-order: 2 !important;
  order: 2 !important;
  padding-left: 60px;
  max-width: 100%;
  margin: -11px 0 0;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1
}
@media only screen and (max-width: 1024px) {
  .imgtext.construction .imgtext__content {
    padding-left: 30px
  }
}
@media only screen and (max-width: 767px) {
  .imgtext.construction .imgtext__content {
    padding-left: 0
  }
}
.imgtext.construction .imgtext__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}
.imgtext.construction .imgtext__number {
  letter-spacing: .02em;
  color: #1aaed3;
  background-clip: unset;
  background: none;
  -webkit-text-fill-color: unset;
  margin: 0 31px 0 0;
  position: relative;
  top: 9px
}
.imgtext.construction .imgtext__title {
  font-size: 2.1rem;
  font-weight: 500;
  letter-spacing: .02em;
  color: #1383cb;
  line-height: 2.14;
  margin-bottom: 0
}
.imgtext.construction .imgtext__title span {
  font-size: 1.6rem
}
.imgtext.construction .text {
  margin-top: 49px
}
@media only screen and (max-width: 767px) {
  .imgtext.construction .text {
    margin-top: 20px
  }
}
.imgtext.greeting .imgtext__content {
  margin-right: 0;
  margin-left: 90px;
  max-width: 525px
}
@media only screen and (max-width: 1024px) {
  .imgtext.greeting .imgtext__content {
    margin-left: 40px
  }
}
@media only screen and (max-width: 767px) {
  .imgtext.greeting .imgtext__content {
    max-width: 100%
  }
}
.imgtext.greeting .imgtext__img {
  margin: 0;
  max-width: 525px
}
@media only screen and (max-width: 767px) {
  .imgtext.greeting .imgtext__img {
    max-width: 100%
  }
}
.imgtext.greeting .imgtext__img img {
  border-radius: 5px
}
.imgtext.greeting .imgtext__img:after {
  border-radius: 5px
}
.imgtext.greeting .imgtext__title {
  margin-bottom: 42px
}
@media only screen and (max-width: 767px) {
  .imgtext.greeting .imgtext__title {
    margin-bottom: 20px
  }
}
.imgtext.job {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  padding: 0
}
.imgtext.job .imgtext__img {
  padding: 0;
  max-width: 540px;
  margin: 0
}
@media only screen and (max-width: 767px) {
  .imgtext.job .imgtext__img {
    max-width: 100%
  }
}
.imgtext.job .imgtext__img:after {
  display: none
}
.imgtext.job .imgtext__img img {
  border-radius: 5px
}
.imgtext.job .imgtext__content {
  margin: -8px 0 0 60px;
  max-width: 540px
}
@media only screen and (max-width: 1024px) {
  .imgtext.job .imgtext__content {
    margin-left: 40px
  }
}
@media only screen and (max-width: 767px) {
  .imgtext.job .imgtext__content {
    max-width: 100%
  }
}
.imgtext.job .imgtext__title {
  font-size: 2.4rem;
  line-height: 1.75;
  letter-spacing: -.02em;
  margin-bottom: 39px
}
@media only screen and (max-width: 767px) {
  .imgtext.job .imgtext__title {
    font-size: 2rem;
    margin-bottom: 20px
  }
}
.imgtext.job .exbox.job .exbox__list {
  margin: 0;
  width: 100%;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}
.imgtext.job .exbox.job .exbox__list .text.circle {
  margin: 0 30px 0 0;
  width: auto
}
.imgtext.job .exbox.job .exbox__list .text.circle:last-child {
  margin-right: 0
}
.table {
  width: 100%;
  border-collapse: collapse
}
.table tr:first-child td {
  border-top: 1px solid #ccc
}
.table td {
  font-size: 1.7rem;
  line-height: 1.9;
  letter-spacing: .015em;
  font-weight: 400;
  padding: 30px 0;
  border-bottom: 1px solid #ccc;
  height: 90px
}
@media only screen and (max-width: 767px) {
  .table td {
    display: block;
    height: auto;
    font-size: 1.5rem;
    padding: 15px 0
  }
}
.table td:first-child {
  font-weight: 700;
  width: 265px
}
@media only screen and (max-width: 767px) {
  .table td:first-child {
    width: 100%
  }
}
.aos-init {
  -webkit-transform: none !important;
  transform: none !important;
  opacity: 1 !important;
  -webkit-transition-property: none !important;
  transition-property: none !important
}
.aos-init .js-inView-fadeIn {
  opacity: 0
}
.aos-init.aos-animate .js-inView-fadeIn {
  -webkit-animation: fadeInUp 2s ease forwards var(--animate-block-delay, 0s);
  animation: fadeInUp 2s ease forwards var(--animate-block-delay, 0s)
}
.aos-init.aos-animate .shin, .aos-init.aos-animate .shin span {
  -webkit-animation: aniShine 3s;
  animation: aniShine 3s;
  opacity: 1;
  -webkit-transform: translateY(0px);
  transform: translateY(0);
  visibility: visible
}
.aos-init .shin, .aos-init .shin span {
  --ani-transition: 1s;
  -webkit-background-clip: text;
  background-clip: text;
  opacity: 0;
  position: relative;
  -webkit-transition: opacity var(--ani-transition), visibility var(--ani-transition), -webkit-transform var(--ani-transition);
  transition: opacity var(--ani-transition), visibility var(--ani-transition), -webkit-transform var(--ani-transition);
  transition: opacity var(--ani-transition), visibility var(--ani-transition), transform var(--ani-transition);
  transition: opacity var(--ani-transition), visibility var(--ani-transition), transform var(--ani-transition), -webkit-transform var(--ani-transition);
  visibility: hidden;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content
}
@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    translate: 0 10px;
    visibility: visible
  }
  to {
    opacity: 1;
    translate: 0 0;
    visibility: visible
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    translate: 0 10px;
    visibility: visible
  }
  to {
    opacity: 1;
    translate: 0 0;
    visibility: visible
  }
}
@-webkit-keyframes aniShine {
  0% {
    background-position: 100% 50%
  }
  to {
    background-position: 0% 50%
  }
}
@keyframes aniShine {
  0% {
    background-position: 100% 50%
  }
  to {
    background-position: 0% 50%
  }
}
.mv-child {
  padding: 20px 0 40px
}
.mv-child__title {
  font-family: ten-mincho, serif;
  font-size: 4.8rem;
  letter-spacing: 0;
  font-weight: 400;
  line-height: normal;
  color: #fff
}
@media only screen and (max-width: 767px) {
  .mv-child__title {
    font-size: 2.8rem
  }
}
.relative {
  padding: 73px 0 160px;
  border-top: 1px solid #CCCCCC
}
@media only screen and (max-width: 767px) {
  .relative {
    padding: 40px 0 80px
  }
}
.relative__title {
  font-family: ten-mincho, serif;
  font-size: 3rem;
  letter-spacing: 0;
  font-weight: 400;
  color: #007384;
  text-align: center;
  margin-bottom: 60px
}
@media only screen and (max-width: 767px) {
  .relative__title {
    font-size: 2rem;
    margin-bottom: 30px
  }
}
.mv {
  background: url(../img/top/mv.jpg) no-repeat center/cover;
  min-height: 751px;
  position: relative
}
@media only screen and (max-width: 1599px) {
  .mv {
    min-height: 46.9668542839vw
  }
}
.mv .swiper-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  width: 100%;
  bottom: 27px;
  left: 0;
  padding: 0 32px
}
@media only screen and (max-width: 767px) {
  .mv .swiper-pagination {
    bottom: 10px;
    padding: 0 20px;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
  }
}
.mv .swiper-pagination .swiper-pagination-bullet {
  width: 11px;
  height: 19px;
  border-radius: 2px;
  background: #FFFFFF;
  opacity: 1;
  border: 1px solid #007384
}
.mv .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #007384
}
.mv__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;
  padding: 63px 0
}
@media only screen and (max-width: 1599px) {
  .mv__wrap {
    padding: 3.9399624765vw 0
  }
}
@media only screen and (max-width: 767px) {
  .mv__wrap {
    padding: 30px 0 75px
  }
}
.mv__content {
  width: 512px;
  margin-left: -3.75vw;
  position: relative;
  top: -2px
}
@media only screen and (max-width: 1599px) {
  .mv__content {
    width: 32.0200125078vw;
    top: -.1250781739vw;
    margin-left: calc(-.5*(100vw - 1400px))
  }
}
@media only screen and (max-width: 1180px) {
  .mv__content {
    margin-left: 7.6271186441vw
  }
}
@media only screen and (max-width: 767px) {
  .mv__content {
    margin: 0;
    position: absolute;
    width: 100%;
    height: auto;
    top: unset;
    bottom: 0;
    left: 0;
    z-index: 2;
    padding: 20px 20px 40px;
    background: rgba(255, 255, 255, .6)
  }
}
.mv__title {
  font-family: ten-mincho, serif;
  font-size: 7.5rem;
  line-height: 1.4666666667;
  font-weight: 400;
  color: #294044;
  white-space: nowrap;
  background-image: -webkit-linear-gradient(70deg, #294044 45%, #fff 50%, rgba(211, 209, 209, 0) 55%);
  background-image: linear-gradient(20deg, #294044 45%, #fff 50%, rgba(211, 209, 209, 0) 55%);
  background-size: 500% 100%;
  color: #0000
}
@media only screen and (max-width: 1599px) {
  .mv__title {
    font-size: 4.6904315197vw
  }
}
@media only screen and (max-width: 767px) {
  .mv__title {
    font-size: 3rem
  }
}
.mv__title .color-01 {
  background-image: -webkit-linear-gradient(70deg, #007384 45%, #fff 50%, rgba(211, 209, 209, 0) 55%);
  background-image: linear-gradient(20deg, #007384 45%, #fff 50%, rgba(211, 209, 209, 0) 55%);
  background-size: 500% 100%;
  color: #0000
}
.mv__title .color-03 {
  background-image: -webkit-linear-gradient(70deg, #3CB678 45%, #fff 50%, rgba(211, 209, 209, 0) 55%);
  background-image: linear-gradient(20deg, #3CB678 45%, #fff 50%, rgba(211, 209, 209, 0) 55%);
  background-size: 500% 100%;
  color: #0000
}
.mv__text {
  font-family: futura-pt, sans-serif;
  font-size: 1.7rem;
  line-height: 1.2941176471;
  font-weight: 500;
  letter-spacing: .03em;
  color: #7ab6bf;
  margin-top: 20px
}
@media only screen and (max-width: 1599px) {
  .mv__text {
    font-size: 1.0631644778vw;
    margin-top: 1.2507817386vw
  }
}
@media only screen and (max-width: 767px) {
  .mv__text {
    font-size: 1.5rem;
    margin-top: 0
  }
}
.mv__img {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  position: relative;
  z-index: 1;
  margin-right: calc(-.5*(100vw - 1200px));
  background: url(../img/top/mv_frame-after.png) no-repeat center/100% 100%;
  min-height: 720px;
  margin-bottom: -97px;
  max-width: 826px
}
@media only screen and (max-width: 1599px) {
  .mv__img {
    min-height: 45.0281425891vw;
    margin-bottom: -6.0662914321vw;
    max-width: 51.6572858036vw
  }
}
@media only screen and (max-width: 1180px) {
  .mv__img {
    margin-right: 0
  }
}
@media only screen and (max-width: 767px) {
  .mv__img {
    min-height: 85.3333333333vw;
    max-width: 100%;
    margin-bottom: 0
  }
}
.mv__slide {
  position: absolute;
  top: -10px;
  left: -10px;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-clip-path: url(#customClip);
  clip-path: url(#customClip)
}
@media only screen and (max-width: 1599px) {
  .mv__slide {
    top: -.6253908693vw;
    left: -.6253908693vw
  }
}
@media only screen and (max-width: 767px) {
  .mv__slide {
    top: -5px;
    left: -5px
  }
}
.mv__slide .swiper-slide {
  overflow: hidden
}
.mv__slide .swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: -webkit-transform 15s ease-out;
  transition: -webkit-transform 15s ease-out;
  transition: transform 15s ease-out;
  transition: transform 15s ease-out, -webkit-transform 15s ease-out
}
.mv__slide .swiper-slide.swiper-slide-active img {
  -webkit-transform: scale(1.2);
  transform: scale(1.2)
}
.top__feature {
  background: url(../img/top/bg-2.jpg) no-repeat center/cover;
  padding: 80px 0 0;
  position: relative
}
@media only screen and (max-width: 767px) {
  .top__feature {
    padding: 40px 0 0
  }
}
.top__feature:after {
  content: "";
  position: absolute;
  top: 80px;
  right: 40px;
  width: 100%;
  height: 1576px;
  background: url(../img/top/bg-1.svg) no-repeat top right;
  background-size: cover
}
@media only screen and (max-width: 767px) {
  .top__feature:after {
    top: 40px;
    right: 20px;
    height: 1000%;
    background: #E3F5EC;
    border-radius: 0 30px 0 0
  }
}
.top__feature .feature {
  position: relative;
  z-index: 1;
  padding: 108px 0 135px
}
@media only screen and (max-width: 767px) {
  .top__feature .feature {
    padding: 60px 20px 60px 0
  }
}
.top__feature .feature__title {
  font-family: ten-mincho, serif;
  font-size: 4rem;
  line-height: 1.475;
  font-weight: 400;
  color: #026c36;
  margin-bottom: 60px;
  letter-spacing: 0;
  text-align: left
}
@media only screen and (max-width: 767px) {
  .top__feature .feature__title {
    font-size: 2.1rem
  }
}
.top__feature .feature__bl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}
@media only screen and (max-width: 767px) {
  .top__feature .feature__bl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
}
.top__feature .feature__img {
  max-width: 46.0526315789%
}
@media only screen and (max-width: 767px) {
  .top__feature .feature__img {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    max-width: 100%
  }
}
.top__feature .feature__img img {
  border-radius: 30px;
  -webkit-box-shadow: 0px 0px 27.6px rgba(0, 115, 132, .15);
  box-shadow: 0 0 27.6px #00738426
}
@media only screen and (max-width: 767px) {
  .top__feature .feature__img img {
    border-radius: 15px
  }
}
.top__feature .feature__content {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-right: 20px;
  max-width: 502px
}
@media only screen and (max-width: 767px) {
  .top__feature .feature__content {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    margin: 30px 0 0;
    max-width: 100%
  }
}
.top__feature .feature__tit {
  font-size: 2.1rem;
  line-height: 1.380952381;
  letter-spacing: .37em;
  color: #3cb678;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 28px
}
@media only screen and (max-width: 767px) {
  .top__feature .feature__tit {
    font-size: 1.8rem;
    margin-bottom: 14px
  }
}
.top__feature .feature__tit:after {
  content: "";
  display: block;
  width: 48px;
  border-bottom: 1px dashed #3CB678;
  margin-left: 18px
}
.top__feature .feature__text {
  font-size: 1.7rem;
  line-height: 1.8235294118;
  letter-spacing: .03em;
  font-weight: 500;
  color: #192a2d
}
@media only screen and (max-width: 767px) {
  .top__feature .feature__text {
    font-size: 1.5rem
  }
}
.top__feature .feature__text p + p {
  margin-top: 14px
}
.top__service {
  background: url(../img/top/bg-3.svg) no-repeat top left;
  background-size: cover;
  position: relative;
  z-index: 1;
  padding: 78px 0
}
@media only screen and (max-width: 767px) {
  .top__service {
    padding: 40px 0;
    background: #FFFFFF;
    border-radius: 30px 0 0
  }
}
.top__service .service__logo {
  max-width: 244px;
  margin: 0 auto 50px
}
@media only screen and (max-width: 767px) {
  .top__service .service__logo {
    margin-bottom: 25px
  }
}
.top__service .service__title {
  font-family: ten-mincho, serif;
  font-size: 3rem;
  line-height: 57px;
  letter-spacing: 0;
  font-weight: 400;
  text-align: center;
  margin-bottom: 60px;
  color: #007384
}
@media only screen and (max-width: 767px) {
  .top__service .service__title {
    font-size: 2.4rem;
    line-height: 40px
  }
}
.top__service .service__title span {
  display: block;
  font-size: 4rem;
  text-decoration: underline;
  text-underline-offset: 6px;
  text-decoration-thickness: 2px
}
@media only screen and (max-width: 767px) {
  .top__service .service__title span {
    font-size: 3.2rem;
    line-height: 57px
  }
}
.top__service .service__title span span {
  display: inline-block;
  font-size: 3rem
}
.top__service .service__bl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}
@media only screen and (max-width: 767px) {
  .top__service .service__bl {
    display: block
  }
}
.top__service .service__img {
  max-width: 426px;
  width: 37.3684210526%
}
@media only screen and (max-width: 767px) {
  .top__service .service__img {
    max-width: 100%;
    width: 100%
  }
}
.top__service .service__imgTit {
  -webkit-box-shadow: 0px 0px 27.6px rgba(0, 115, 132, .15);
  box-shadow: 0 0 27.6px #00738426;
  border-radius: 37px;
  background: #fff;
  font-size: 1.9rem;
  line-height: 1.2631578947;
  font-weight: 500;
  letter-spacing: .37em;
  color: #404c4e;
  padding: 7px 0;
  text-align: center;
  margin-bottom: 38px
}
@media only screen and (max-width: 1180px) {
  .top__service .service__imgTit {
    font-size: 1.7796610169vw
  }
}
@media only screen and (max-width: 767px) {
  .top__service .service__imgTit {
    font-size: 1.5rem
  }
}
.top__service .service__img .blur {
  -webkit-transition: all .5s;
  transition: all .5s;
  -webkit-filter: blur(10px);
  filter: blur(10px)
}
.top__service .service__img.aos-animate .blur {
  -webkit-filter: blur(0);
  filter: blur(0)
}
.top__service .service__content {
  background: #fff;
  border-radius: 30px;
  padding: 48px;
  -webkit-box-shadow: 0px 0px 27.6px rgba(0, 115, 132, .15);
  box-shadow: 0 0 27.6px #00738426;
  max-width: 585px;
  width: 51.3157894737%
}
@media only screen and (max-width: 1180px) {
  .top__service .service__content {
    padding: 40px 20px;
    width: 55.2631578947%
  }
}
@media only screen and (max-width: 767px) {
  .top__service .service__content {
    max-width: 100%;
    margin-top: 30px;
    padding: 20px;
    border-radius: 15px;
    width: 100%
  }
}
.top__service .service__tit {
  font-size: 2.1rem;
  line-height: 1.380952381;
  letter-spacing: .37em;
  color: #007384;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 28px
}
@media only screen and (max-width: 767px) {
  .top__service .service__tit {
    font-size: 1.8rem;
    margin-bottom: 14px
  }
}
.top__service .service__tit:after {
  content: "";
  display: block;
  width: 48px;
  border-bottom: 1px dashed #007384;
  margin-left: 18px
}
@media only screen and (max-width: 767px) {
  .top__service .service__tit:after {
    width: 24px;
    margin-left: 10px
  }
}
.top__service .service__text {
  font-size: 1.7rem;
  line-height: 1.8235294118;
  letter-spacing: .03em;
  font-weight: 500;
  color: #192a2d
}
@media only screen and (max-width: 767px) {
  .top__service .service__text {
    font-size: 1.5rem
  }
}
.top__service .service__text p + p {
  margin-top: 14px
}
.top__service .service .btn__normal {
  margin-top: 28px
}
.top__company {
  padding: 128px 0 100px;
  background: url(../img/top/company.jpg) no-repeat center/cover;
  position: relative;
  z-index: 1
}
@media only screen and (max-width: 767px) {
  .top__company {
    padding: 60px 0
  }
}
.top__company .company__title {
  font-size: 3.2rem;
  line-height: 1.46875;
  font-weight: 600;
  text-align: center;
  letter-spacing: .38em;
  color: #fff;
  -webkit-transform: matrix(1, 0, -.14, .99, 0, 0);
  transform: matrix(1, 0, -.14, .99, 0, 0);
  margin-bottom: 48px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}
@media only screen and (max-width: 767px) {
  .top__company .company__title {
    font-size: 1.7rem;
    margin-bottom: 24px
  }
}
.top__company .company__slogan {
  background: #fff;
  border-radius: 10px;
  padding: 18px 20px
}
@media only screen and (max-width: 767px) {
  .top__company .company__slogan {
    padding: 10px 20px
  }
}
.top__company .company__slogan p {
  font-family: ten-mincho, serif;
  position: relative;
  font-size: 3.7rem;
  line-height: 1.4594594595;
  letter-spacing: .06em;
  font-weight: 400;
  color: #404c4e;
  -webkit-transform: matrix(1, 0, -.14, .99, 0, 0);
  transform: matrix(1, 0, -.14, .99, 0, 0);
  text-align: center
}
@media only screen and (max-width: 767px) {
  .top__company .company__slogan p {
    font-size: 2rem
  }
}
.top__company .company__slogan .color-01 {
  color: #007384
}
.top__company .company__slogan .color-03 {
  color: #3cb678
}
.top__company .company__box {
  background: #fff;
  border-radius: 10px;
  padding: 58px 58px 84px;
  margin-top: 38px
}
@media only screen and (max-width: 1180px) {
  .top__company .company__box {
    padding: 40px 40px 60px
  }
}
@media only screen and (max-width: 767px) {
  .top__company .company__box {
    padding: 40px 20px
  }
}
.top__company .company__tit {
  font-size: 2.1rem;
  line-height: 1.380952381;
  letter-spacing: .37em;
  color: #192a2d;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 60px
}
@media only screen and (max-width: 767px) {
  .top__company .company__tit {
    font-size: 1.8rem;
    margin-bottom: 30px
  }
}
.top__company .company__tit:after {
  content: "";
  display: block;
  width: 48px;
  border-bottom: 1px dashed #192A2D;
  margin-left: 18px
}
.top__company .company__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 -45px
}
@media only screen and (max-width: 1180px) {
  .top__company .company__list {
    margin: 0 -20px
  }
}
@media only screen and (max-width: 767px) {
  .top__company .company__list {
    display: block;
    margin: 0
  }
}
.top__company .company__item {
  padding: 0 45px
}
@media only screen and (max-width: 1180px) {
  .top__company .company__item {
    padding: 0 20px
  }
}
@media only screen and (max-width: 767px) {
  .top__company .company__item {
    padding: 0
  }
  .top__company .company__item:not(:last-child) {
    margin-bottom: 30px
  }
}
.top__company .company__img img {
  border-radius: 30px;
  -webkit-box-shadow: 0px 0px 27.6px rgba(0, 115, 132, .15);
  box-shadow: 0 0 27.6px #00738426
}
@media only screen and (max-width: 767px) {
  .top__company .company__img img {
    border-radius: 15px
  }
}
.top__company .company__content {
  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;
  margin-top: 38px
}
@media only screen and (max-width: 1024px) {
  .top__company .company__content {
    display: block
  }
}
@media only screen and (max-width: 767px) {
  .top__company .company__content {
    margin-top: 20px
  }
}
.top__company .company__content .btn__more {
  -ms-flex-negative: 0;
  flex-shrink: 0
}
@media only screen and (max-width: 1024px) {
  .top__company .company__content .btn__more {
    margin-top: 20px
  }
}
.top__company .company__text {
  font-size: 2rem;
  line-height: 1.35;
  letter-spacing: .28em;
  font-weight: 500;
  color: #007384;
  margin-right: 20px
}
@media only screen and (max-width: 767px) {
  .top__company .company__text {
    font-size: 1.5rem
  }
}
.top__news {
  padding: 80px 0;
  position: relative;
  z-index: 1;
  background: #fff
}
@media only screen and (max-width: 767px) {
  .top__news {
    padding: 40px 0
  }
}
.top__news .topNews {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}
@media only screen and (max-width: 767px) {
  .top__news .topNews {
    display: block
  }
}
.top__news .topNews .news__navbar {
  width: 352px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin-right: 20px;
  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-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}
@media only screen and (max-width: 767px) {
  .top__news .topNews .news__navbar {
    width: 100%;
    margin: 0
  }
}
.top__news .topNews__title {
  font-family: futura-pt, sans-serif;
  font-size: 9.6rem;
  line-height: 1;
  font-weight: 500;
  letter-spacing: .03em;
  margin-bottom: 24px
}
@media only screen and (max-width: 767px) {
  .top__news .topNews__title {
    font-size: 4.8rem
  }
}
.top__news .topNews__title .shin {
  background-image: -webkit-linear-gradient(70deg, #7AB6BF 45%, #fff 50%, rgba(211, 209, 209, 0) 55%);
  background-image: linear-gradient(20deg, #7AB6BF 45%, #fff 50%, rgba(211, 209, 209, 0) 55%);
  background-size: 500% 100%;
  color: #0000;
  text-transform: uppercase
}
.top__news .topNews__title .topNews__sub {
  font-family: Noto Sans JP, sans-serif;
  font-size: 2.1rem;
  line-height: 1.380952381;
  letter-spacing: .37em;
  color: #007384;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 21px
}
@media only screen and (max-width: 767px) {
  .top__news .topNews__title .topNews__sub {
    font-size: 1.8rem
  }
}
.top__news .topNews__title .topNews__sub:after {
  content: "";
  display: block;
  width: 48px;
  border-bottom: 1px dashed #007384;
  margin-left: 18px
}
.top__news .topNews__navi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}
.top__news .topNews__navi li:first-child {
  border-left: 1px solid #7AB6BF
}
@media only screen and (max-width: 767px) {
  .top__news .topNews__navi li {
    width: 33.3333333333%
  }
}
@media only screen and (max-width: 375px) {
  .top__news .topNews__navi li {
    width: 100%
  }
}
.top__news .topNews__navi li .js-tab {
  display: block;
  font-size: 1.7rem;
  line-height: 1.3529411765;
  letter-spacing: .03em;
  font-weight: 500;
  color: #007384;
  padding: 5px 14px;
  border-right: 1px solid #7AB6BF;
  text-align: center;
  white-space: nowrap;
  cursor: pointer
}
@media only screen and (max-width: 767px) {
  .top__news .topNews__navi li .js-tab {
    font-size: 1.5rem
  }
}
@media only screen and (max-width: 374px) {
  .top__news .topNews__navi li .js-tab {
    font-size: 4.0106951872vw;
    padding: 1.3368983957vw 3.743315508vw
  }
}
.top__news .topNews__navi li .js-tab.is-active {
  color: #3cb678
}
.top__news .topNews__content {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  max-width: 720px
}
@media only screen and (max-width: 767px) {
  .top__news .topNews__content {
    margin-top: 30px;
    max-width: 100%
  }
}
.top__news .topNews__list {
  display: none
}
.top__news .topNews__list.is-active {
  display: block
}
.top__news .topNews__item:first-child a {
  border-top: 1px solid #EEEEEE
}
.top__news .topNews__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 24px 35px 24px 0;
  border-bottom: 1px solid #EEEEEE;
  position: relative
}
@media only screen and (max-width: 1180px) {
  .top__news .topNews__link {
    padding: 20px 40px 20px 0;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
}
.top__news .topNews__link:after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 0;
  width: 33px;
  height: 6px;
  background: url(../img/common/icon/ic_arrow-news.svg) no-repeat center;
  background-size: 33px 6px
}
.top__news .topNews__date {
  font-size: 1.6rem;
  letter-spacing: .05em;
  font-weight: 400;
  color: #404c4e;
  margin-right: 15px
}
.top__news .topNews__cat {
  font-size: 1.2rem;
  line-height: 16px;
  font-weight: 600;
  letter-spacing: 0;
  background: #7AB6BF;
  border-radius: 3px;
  padding: 1px 5px;
  color: #fff;
  margin-right: 20px;
  -ms-flex-negative: 0;
  flex-shrink: 0
}
.top__news .topNews__tit {
  font-weight: 500;
  font-size: 17px;
  line-height: 1.3529411765;
  letter-spacing: .03em;
  color: #404c4e
}
@media only screen and (max-width: 1180px) {
  .top__news .topNews__tit {
    width: 100%;
    margin-top: 10px
  }
}
@media only screen and (max-width: 767px) {
  .top__news .topNews__tit {
    font-size: 1.5rem
  }
}
.top__news .btn__more {
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
  margin: 68px 0 0 auto
}
@media only screen and (max-width: 767px) {
  .top__news .btn__more {
    margin-top: 30px
  }
}
.news__body {
  padding: 138px 0
}
@media only screen and (max-width: 767px) {
  .news__body {
    padding: 60px 0
  }
}
.news__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}
@media only screen and (max-width: 767px) {
  .news__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
}
.news__wrap .pagenavi {
  display: none
}
@media only screen and (max-width: 767px) {
  .news__wrap .pagenavi {
    display: block;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2
  }
}
.news__nav {
  -webkit-box-ordinal-group: 4;
  -ms-flex-order: 3;
  order: 3;
  width: 320px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin-left: 30px
}
@media only screen and (max-width: 1024px) {
  .news__nav {
    width: 240px
  }
}
@media only screen and (max-width: 767px) {
  .news__nav {
    width: 100%;
    margin: 45px 0 0
  }
}
.news__nav li:first-child a {
  border-top: 1px solid #7AB6BF
}
.news__nav li a {
  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;
  font-size: 1.9rem;
  line-height: 1.6842105263;
  letter-spacing: 0;
  font-weight: 500;
  color: #192a2d;
  border-bottom: 1px solid #7AB6BF;
  padding: 23px 30px
}
@media only screen and (max-width: 767px) {
  .news__nav li a {
    padding: 20px;
    font-size: 1.5rem
  }
}
.news__nav li a:after {
  content: "";
  display: block;
  width: 33px;
  height: 6px;
  background: url(../img/common/icon/ic_arrow-news.svg) no-repeat center;
  background-size: 33px 6px
}
.news__inner {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  max-width: 730px
}
.news__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 60px 0;
  border-bottom: 1px solid rgba(64, 76, 78, .18)
}
@media only screen and (max-width: 767px) {
  .news__item {
    display: block;
    padding: 30px 0
  }
}
.news__item:first-child {
  padding-top: 0
}
.news__img {
  width: 41.095890411%;
  max-width: 300px
}
@media only screen and (max-width: 767px) {
  .news__img {
    width: 100%;
    max-width: 100%
  }
}
.news__img img {
  border-radius: 3px;
  width: 100%
}
.news__content {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding-left: 30px
}
@media only screen and (max-width: 767px) {
  .news__content {
    padding-left: 0;
    margin-top: 30px
  }
}
.news__content .btn__more {
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
  margin: 13px 0 0 auto
}
.news__gr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}
.news__date {
  font-family: Inter, sans-serif;
  font-size: 1.6rem;
  letter-spacing: .05em;
  font-weight: 400;
  color: #404c4e
}
.news__cat {
  margin-left: 14px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}
.news__cat span {
  font-size: 1.2rem;
  line-height: 16px;
  font-weight: 600;
  letter-spacing: 0;
  background: #7AB6BF;
  border-radius: 3px;
  padding: 1px 5px;
  color: #fff;
  margin-right: 18px;
  display: block
}
.news__title {
  font-size: 1.9rem;
  line-height: 1.4210526316;
  letter-spacing: .03em;
  font-weight: 600;
  color: #007384;
  margin: 13px 0
}
.news__text {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.6875;
  letter-spacing: .03em;
  color: #192a2d;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  height: 54px;
  overflow: hidden
}
@media only screen and (max-width: 767px) {
  .news__text {
    height: auto
  }
}
@media only screen and (max-width: 767px) {
  .news-detail .news__gr {
    display: block
  }
}
.news-detail .news__date {
  font-size: 2.1rem;
  color: #78878b;
  letter-spacing: .1em
}
.news-detail .news__cat {
  margin-left: 18px
}
@media only screen and (max-width: 767px) {
  .news-detail .news__cat {
    margin: 10px 0 0
  }
}
.news-detail .news__cat span {
  font-size: 1.4rem;
  padding: 7px 15px
}
.news-detail__title {
  font-family: ten-mincho, serif;
  font-size: 3.2rem;
  font-weight: 400;
  line-height: 1.4375;
  letter-spacing: 0;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(0, 115, 132, .17);
  margin: 20px 0 35px
}
@media only screen and (max-width: 767px) {
  .news-detail__title {
    font-size: 2.4rem
  }
}
.news-detail__content .wp-content img {
  border-radius: 30px;
  margin-bottom: 35px
}
@media only screen and (max-width: 767px) {
  .news-detail__content .wp-content img {
    border-radius: 15px;
    margin-bottom: 20px
  }
}
.news-detail__content .wp-content p {
  margin-bottom: 35px;
  font-size: 1.6rem;
  line-height: 1.75;
  letter-spacing: .03;
  font-weight: 400
}
@media only screen and (max-width: 767px) {
  .news-detail__content .wp-content p {
    font-size: 1.5rem;
    margin-bottom: 20px
  }
}
.news-detail .btn__back {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}
.feature .service {
  padding: 60px 0 120px
}
@media only screen and (max-width: 767px) {
  .feature .service {
    padding: 60px 0
  }
}
.feature .service__box {
  background: #fff;
  border-radius: 8px;
  padding: 58px
}
@media only screen and (max-width: 767px) {
  .feature .service__box {
    padding: 40px 20px
  }
}
.feature .service__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}
@media only screen and (max-width: 767px) {
  .feature .service__top {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
}
.feature .service__img {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
  max-width: 314px;
  margin-top: -135px
}
@media only screen and (max-width: 767px) {
  .feature .service__img {
    max-width: 100%;
    margin-top: 30px
  }
}
.feature .service__img img {
  border-radius: 20px;
  -webkit-box-shadow: 0px 0px 27.6px rgba(0, 115, 132, .15);
  box-shadow: 0 0 27.6px #00738426
}
@media only screen and (max-width: 767px) {
  .feature .service__img img {
    border-radius: 10px
  }
}
.feature .service__logo {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
  max-width: 190px
}
@media only screen and (max-width: 767px) {
  .feature .service__logo {
    margin: 0 auto
  }
}
.feature .service__title {
  font-family: ten-mincho, serif;
  font-size: 3.8rem;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0;
  color: #404c4e;
  margin-bottom: 48px
}
@media only screen and (max-width: 767px) {
  .feature .service__title {
    font-size: 2rem;
    margin: 20px 0 30px
  }
}
.feature .service__title span {
  color: #3cb678
}
.feature .service__text {
  font-size: 1.8rem;
  line-height: 1.7222222222;
  letter-spacing: .03em;
  font-weight: 600;
  color: #404c4e
}
@media only screen and (max-width: 767px) {
  .feature .service__text {
    font-size: 1.5rem
  }
}
.feature .service__text p + p {
  margin-top: 15px
}
.feature__list {
  padding: 104px 0
}
@media only screen and (max-width: 767px) {
  .feature__list {
    padding: 60px 0
  }
}
.feature__point {
  font-family: futura-pt, sans-serif;
  font-size: 1.3rem;
  letter-spacing: .03em;
  font-weight: 500;
  color: #3cb678;
  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;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(0, 115, 132, .17);
  margin-bottom: 35px
}
@media only screen and (max-width: 767px) {
  .feature__point {
    padding-bottom: 0;
    margin-bottom: 20px
  }
}
.feature__point span {
  font-size: 12.8rem;
  color: #e3f5ec;
  margin-left: 18px
}
@media only screen and (max-width: 767px) {
  .feature__point span {
    font-size: 8rem
  }
}
.feature__title {
  font-family: ten-mincho, serif;
  font-size: 4.9rem;
  letter-spacing: 0;
  font-weight: 400;
  text-align: center;
  color: #3cb678;
  margin-bottom: 44px
}
@media only screen and (max-width: 767px) {
  .feature__title {
    font-size: 2.4rem;
    margin-bottom: 20px
  }
}
.feature__bl {
  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
}
@media only screen and (max-width: 767px) {
  .feature__bl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
}
.feature__item:not(:last-child) {
  margin-bottom: 110px
}
@media only screen and (max-width: 767px) {
  .feature__item:not(:last-child) {
    margin-bottom: 40px
  }
}
.feature__item:nth-child(odd) .feature__img {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2
}
.feature__item:nth-child(odd) .feature__content {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
  margin-right: 40px
}
@media only screen and (max-width: 767px) {
  .feature__item:nth-child(odd) .feature__content {
    margin: 0 0 20px
  }
}
.feature__item:nth-child(even) .feature__content {
  margin-left: 40px
}
@media only screen and (max-width: 767px) {
  .feature__item:nth-child(even) .feature__content {
    margin: 20px 0 0
  }
}
.feature__img {
  width: 50%;
  max-width: 438px
}
@media only screen and (max-width: 767px) {
  .feature__img {
    width: 100%;
    max-width: 100%
  }
}
.feature__img img {
  border-radius: 30px
}
@media only screen and (max-width: 767px) {
  .feature__img img {
    border-radius: 15px
  }
}
.feature__content {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  max-width: 587px;
  font-size: 1.7rem;
  line-height: 1.8235294118;
  letter-spacing: .03em
}
@media only screen and (max-width: 767px) {
  .feature__content {
    max-width: 100%
  }
}
.feature__content p + p {
  margin-top: 15px
}
.feature__content .bold {
  font-weight: 600
}
.company__body {
  padding: 60px 0 195px
}
@media only screen and (max-width: 767px) {
  .company__body {
    padding: 60px 0
  }
}
.company__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 -30px
}
@media only screen and (max-width: 767px) {
  .company__list {
    display: block;
    margin: 0
  }
}
.company__item {
  width: 50%;
  padding: 0 30px
}
@media only screen and (max-width: 767px) {
  .company__item {
    width: 100%;
    padding: 0
  }
  .company__item:not(:last-child) {
    margin-bottom: 60px
  }
}
.company__img img {
  border-radius: 30px;
  -webkit-box-shadow: 0px 0px 27.6px rgba(0, 115, 132, .15);
  box-shadow: 0 0 27.6px #00738426
}
@media only screen and (max-width: 767px) {
  .company__img img {
    border-radius: 15px
  }
}
.company__content {
  padding: 30px 10px 0
}
@media only screen and (max-width: 767px) {
  .company__content {
    padding: 20px 0 0
  }
}
.company__content .btn__more {
  margin-top: 16px
}
.company__title {
  font-size: 1.6rem;
  letter-spacing: .37em;
  font-weight: 300;
  color: #007384;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 16px
}
.company__title:after {
  content: "";
  display: block;
  width: 48px;
  border-top: 1px solid rgba(0, 115, 132, .17);
  margin-left: 18px
}
.company__text {
  font-size: 1.7rem;
  line-height: 1.8235294118;
  letter-spacing: .03em;
  font-weight: 500;
  color: #192a2d
}
.message__inner {
  padding: 60px 0 120px
}
@media only screen and (max-width: 767px) {
  .message__inner {
    padding: 60px 0
  }
}
.message__box {
  background: #fff;
  border-radius: 8px;
  padding: 80px 60px 80px 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}
@media only screen and (max-width: 1024px) {
  .message__box {
    padding: 40px
  }
}
@media only screen and (max-width: 767px) {
  .message__box {
    padding: 40px 20px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
}
.message__img {
  width: 50%;
  max-width: 327px;
  margin-top: -150px
}
@media only screen and (max-width: 1024px) {
  .message__img {
    margin-top: -120px
  }
}
@media only screen and (max-width: 767px) {
  .message__img {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    margin-top: 0;
    max-width: 100%;
    width: 100%
  }
}
.message__img img {
  border-radius: 30px;
  -webkit-box-shadow: 0px 0px 27.6px rgba(0, 115, 132, .15);
  box-shadow: 0 0 27.6px #00738426;
  width: 100%
}
@media only screen and (max-width: 767px) {
  .message__img img {
    border-radius: 15px
  }
}
.message__content {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding-right: 60px
}
@media only screen and (max-width: 1024px) {
  .message__content {
    padding-right: 40px
  }
}
@media only screen and (max-width: 767px) {
  .message__content {
    padding: 0;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    margin-top: 20px
  }
}
.message__title {
  font-family: ten-mincho, serif;
  font-size: 3.8rem;
  letter-spacing: 0;
  font-weight: 400;
  color: #404c4e;
  margin-bottom: 48px
}
@media only screen and (max-width: 767px) {
  .message__title {
    font-size: 2.4rem;
    margin-bottom: 20px
  }
}
.message__text {
  font-size: 1.7rem;
  line-height: 1.8235294118;
  letter-spacing: .03em;
  font-weight: 500
}
@media only screen and (max-width: 767px) {
  .message__text {
    font-size: 1.5rem
  }
}
.message__author {
  font-family: ten-mincho, serif;
  font-size: 2.4rem;
  letter-spacing: 0;
  font-weight: 400;
  color: #404c4e;
  margin-top: 48px
}
@media only screen and (max-width: 767px) {
  .message__author {
    font-size: 2rem;
    margin-top: 20px
  }
}
.message .vision {
  padding: 60px 0 120px
}
@media only screen and (max-width: 767px) {
  .message .vision {
    padding: 60px 0
  }
}
.message .vision__box {
  max-width: 924px;
  margin: 0 auto
}
.message .vision__title {
  font-family: ten-mincho, serif;
  font-size: 3.8rem;
  letter-spacing: 0;
  font-weight: 400;
  color: #404c4e;
  margin-bottom: 48px
}
@media only screen and (max-width: 767px) {
  .message .vision__title {
    font-size: 2.4rem;
    margin-bottom: 20px
  }
}
.message .vision__text {
  font-size: 1.7rem;
  line-height: 1.8235294118;
  letter-spacing: .03em;
  font-weight: 500
}
@media only screen and (max-width: 767px) {
  .message .vision__text {
    font-size: 1.5rem
  }
}
.message .vision__rinen {
  font-family: ten-mincho, serif;
  font-size: 2.5rem;
  line-height: 1.8235294118;
  letter-spacing: 0.5em;
  font-weight: 400;
  padding: 60px 0;
  border: #e3f5ec 1px solid;
  border-radius: 20px;
  text-align: center;
  margin: 0 auto 60px auto;
  box-shadow: 0px 7px 5px 0px rgb(227, 245, 236);
  width: 80%;
}
@media only screen and (max-width: 767px) {
  .message .vision__rinen {
    font-size: 1.5rem;
    padding: 30px 0;
    margin-bottom: 30px;
    width: 100%;
  }
}
.message .vision__list {
  margin: 60px 0 0 0;
  font-size: 1.7rem;
  line-height: 1.8235294118;
  letter-spacing: .03em;
  font-weight: 500;
}
.message .vision__list dt {
  padding: 0 0 1.5rem 0;
}
.message .vision__list dd {
  padding-bottom: 5rem;
}
@media only screen and (max-width: 767px) {
  .message .vision__list {
    font-size: 1.5rem;
    margin: 30px 0 0 0;
  }
}
/*--------vision　リストの装飾線--------*/
.message .vision__list .c-line-primary {
  display: flex;
  align-items: flex-end;
  margin-bottom: calc(var(--custom-rem, 1rem) * 2)
}
@media (min-width: 768px) {
  .message .vision__list .c-line-primary {
    margin-bottom: calc(var(--custom-rem, 1rem) * 3)
  }
}
.message .vision__list .c-line-primary:after, .c-line-primary:before {
  content: "";
  display: block
}
.message .vision__list .c-line-primary:before {
  background-color: #3cb678;
  width: calc(var(--custom-rem, 1rem) * 2);
  height: 2px
}
@media (min-width: 768px) {
  .message .vision__list .c-line-primary:before {
    width: calc(var(--custom-rem, 1rem) * 3)
  }
}
.message .vision__list .c-line-primary:after {
  flex: 1;
  height: 1px;
  background-color: #dfe2e5
}
/*--------vision　リストの装飾　end--------*/
.summary__inner {
  padding: 60px 0 120px
}
.summary__box {
  background: #fff;
  border-radius: 8px;
  padding: 60px 20px
}
.summary__box .table {
  max-width: 842px;
  margin: 0 auto
}
.summary .access {
  padding: 60px 0 120px
}
@media only screen and (max-width: 767px) {
  .summary .access {
    padding: 60px 0
  }
}
.summary .access__map iframe {
  width: 100%;
  height: 771px
}
@media only screen and (max-width: 767px) {
  .summary .access__map iframe {
    height: 350px
  }
}
.summary .access__gr {
  max-width: 1048px;
  margin: 60px auto 0;
  padding: 0 20px;
  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;
  font-size: 1.7rem;
  line-height: 1.8235294118;
  font-weight: 500;
  letter-spacing: .03em
}
.summary .access__gr .access__address span.iten {
  color: #606060;
}
@media only screen and (max-width: 767px) {
  .summary .access__gr {
    display: block;
    padding: 0;
    margin-top: 30px
  }
}
.summary .access__list {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin-left: 30px
}
@media only screen and (max-width: 767px) {
  .summary .access__list {
    margin: 10px 0 0;
    width: 100%
  }
}
.summary .access__list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  border-bottom: 1px solid #CCCCCC;
  padding: 10px 26px 10px 0
}
.summary .access__list li:not(:last-child) {
  margin-bottom: 10px
}
.summary .access__list li span:first-child {
  margin-right: 30px
}
.summary span.note {
  font-size: 1.6rem;
  color: #606060;
}
@media only screen and (max-width: 767px) {
  .summary span.note {
    font-size: 1.2rem;
  }
}
.contact__body {
  padding: 60px 0 245px
}
@media only screen and (max-width: 767px) {
  .contact__body {
    padding: 60px 0
  }
}
@media only screen and (max-width: 1024px) {
  .contact__form {
    margin-right: 20px
  }
}
@media only screen and (max-width: 767px) {
  .contact__form {
    margin: 0
  }
}
@media only screen and (max-width: 1180px) {
  .contact__thanks {
    margin-right: 20px
  }
}
@media only screen and (max-width: 767px) {
  .contact__thanks {
    margin: 0
  }
}
.contact__thanks .child-page__title {
  padding: 0 40px
}
@media only screen and (max-width: 767px) {
  .contact__thanks .child-page__title {
    padding: 0
  }
}
.contact__thanks .thanks {
  background: #fff;
  padding: 60px 20px
}
@media only screen and (max-width: 767px) {
  .contact__thanks .thanks {
    padding: 40px 20px
  }
}
.contact__thanks .thanks__wrap {
  max-width: 936px;
  margin: 0 auto
}
.contact__thanks .thanks__title {
  font-family: ten-mincho, serif;
  font-size: 3.8rem;
  letter-spacing: 0;
  font-weight: 400;
  color: #404c4e;
  padding-bottom: 60px;
  border-bottom: 1px solid #CCCCCC;
  margin-bottom: 60px
}
@media only screen and (max-width: 767px) {
  .contact__thanks .thanks__title {
    font-size: 2rem;
    padding-bottom: 30px;
    margin-bottom: 30px
  }
}
.contact__thanks .thanks__text {
  font-size: 1.7rem;
  line-height: 1.9;
  letter-spacing: .015em;
  color: #222
}
@media only screen and (max-width: 767px) {
  .contact__thanks .thanks__text {
    font-size: 1.5rem
  }
}
.contact__thanks .thanks__text p + p {
  margin-top: 30px
}
@media only screen and (max-width: 767px) {
  .contact__thanks .thanks__text p + p {
    margin-top: 15px
  }
}
@media only screen and (max-width: 767px) {
  .contact__thanks .thanks .btn__normal a {
    width: auto
  }
}
.policy__bl {
  padding: 60px 0 120px
}
@media only screen and (max-width: 767px) {
  .policy__bl {
    padding: 60px 0
  }
}
.policy__box {
  background: #fff;
  padding: 58px;
  font-size: 1.7rem;
  line-height: 1.8235294118;
  letter-spacing: .03em;
  color: #192a2d
}
@media only screen and (max-width: 767px) {
  .policy__box {
    padding: 20px;
    font-size: 1.5rem
  }
}
.policy__list {
  padding: 120px 0;
  max-width: 900px;
  margin: 0 auto
}
@media only screen and (max-width: 767px) {
  .policy__list {
    padding: 60px 0
  }
}
.policy__item {
  padding-bottom: 60px;
  border-bottom: 1px solid rgba(64, 76, 78, .18)
}
@media only screen and (max-width: 767px) {
  .policy__item {
    padding-bottom: 30px
  }
}
.policy__item:not(:last-child) {
  margin-bottom: 60px
}
@media only screen and (max-width: 767px) {
  .policy__item:not(:last-child) {
    margin-bottom: 30px
  }
}
.policy__title {
  font-family: ten-mincho, serif;
  font-size: 3.8rem;
  letter-spacing: 0;
  font-weight: 400;
  margin-bottom: 28px;
  color: #3cb678
}
@media only screen and (max-width: 767px) {
  .policy__title {
    font-size: 2.4rem;
    margin-bottom: 15px
  }
}
.policy__text {
  font-size: 1.7rem;
  line-height: 1.8235294118;
  letter-spacing: .03em;
  color: #192a2d
}
@media only screen and (max-width: 767px) {
  .policy__text {
    font-size: 1.5rem
  }
}
.policy__text + .policy__text {
  margin-top: 38px
}
@media only screen and (max-width: 767px) {
  .policy__text + .policy__text {
    margin-top: 20px
  }
}
.policy__text span {
  display: block;
  font-family: ten-mincho, serif;
  font-size: 2.4rem;
  letter-spacing: 0;
  margin-bottom: 8px
}
@media only screen and (max-width: 767px) {
  .policy__text span {
    font-size: 1.8rem
  }
}
.policy__text a {
  display: block;
  color: #3cb678;
  font-weight: 500;
  word-break: break-all
}
.policy__text.is-mail span {
  font-family: Noto Sans JP, sans-serif;
  font-size: 1.8rem;
  letter-spacing: .28em;
  font-weight: 600;
  color: #7a9fa6;
  margin-bottom: 15px
}
.policy__text img {
  display: block;
  max-width: 184px
}
body {
  min-width: 1280px;
  color: #222;
  font-size: 1.8rem;
  line-height: 1.5;
  -moz-text-size-adjust: none;
  -ms-text-size-adjust: none;
  text-size-adjust: none;
  -webkit-text-size-adjust: none;
  background-color: #fff
}
.fixed {
  position: fixed;
  width: 100%;
  height: 100%
}
#container {
  text-align: left
}
#main {
  display: block
}
a[href^="tel:"] {
  cursor: default;
  pointer-events: none
}
@media all and (min-width: 897px) {
  .sp {
    display: none !important
  }
}
@media all and (max-width: 896px) {
  body {
    min-width: inherit;
    font-size: 1.4rem
  }
  a:hover, a:hover img {
    opacity: 1 !important
  }
  .pc {
    display: none !important
  }
  a[href^="tel:"] {
    cursor: pointer;
    pointer-events: auto
  }
}
#gHeader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999
}
#gHeader .hBox {
  padding: 15px 0 16px 29px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #fff
}
#gHeader h1 {
  width: 214px
}
#gHeader .menuBox {
  width: calc(100% - 230px)
}
#gHeader .link {
  position: absolute;
  top: 0;
  right: 0;
  width: 99px
}
#gHeader .link a {
  padding: 33px 10px 31px;
  display: block;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
  background-color: #ec5e00
}
#gHeader .link a:hover {
  opacity: .7
}
@media all and (min-width: 897px) {
  #gHeader .menuBox {
    display: block !important
  }
}
@media all and (max-width: 896px) {
  #gHeader .hBox {
    padding: 15px 50px 15px 30px;
    display: block
  }
  #gHeader h1 {
    width: 107px
  }
  #gHeader .menuBox {
    padding: 100px 20px 150px;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #fff;
    z-index: 100;
    overflow: auto;
    display: none
  }
  #gHeader .link {
    margin: 0 auto;
    position: static;
    width: auto;
    max-width: 280px
  }
  #gHeader .link a {
    padding: 18px
  }
  #gHeader .menu {
    position: absolute;
    top: 22px;
    right: 20px;
    height: 20px;
    width: 25px;
    cursor: pointer;
    z-index: 200;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
  }
  #gHeader .menu span {
    background: #212121;
    border: none;
    height: 1px;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transition: all .35s ease;
    transition: all .35s ease;
    cursor: pointer
  }
  #gHeader .menu span:nth-of-type(2) {
    top: 7px
  }
  #gHeader .menu span:nth-of-type(3) {
    top: 14px
  }
  #gHeader .menu.on .top {
    -webkit-transform: translateY(7px) translateX(0) rotate(45deg);
    transform: translateY(7px) translate(0) rotate(45deg)
  }
  #gHeader .menu.on .middle {
    opacity: 0
  }
  #gHeader .menu.on .bottom {
    -webkit-transform: translateY(-7px) translateX(0) rotate(-45deg);
    transform: translateY(-7px) translate(0) rotate(-45deg)
  }
}
@media all and (min-width: 897px) and (max-width: 1400px) {
  #gHeader .hBox {
    padding: 26px 0 22px 29px
  }
  #gHeader h1 {
    width: 150px
  }
  #gHeader .menuBox {
    width: calc(100% - 160px)
  }
}
#gNavi {
  padding: 6px 109px 0 0;
  text-align: right
}
#gNavi li {
  margin-right: 11px;
  display: inline
}
#gNavi li:last-child {
  margin-right: 0
}
#gNavi li a {
  color: #383838;
  font-size: 1.5rem;
  font-weight: 700
}
#gNavi li a:hover {
  opacity: .7
}
@media all and (max-width: 896px) {
  #gNavi {
    margin-bottom: 40px;
    padding: 0;
    text-align: center
  }
  #gNavi li {
    margin: 0 0 20px;
    display: block
  }
  #gNavi li:last-child {
    margin-bottom: 0
  }
  #gNavi li a {
    padding: 5px;
    display: block
  }
}
@media all and (min-width: 897px) and (max-width: 1400px) {
  #gNavi {
    padding-top: 0
  }
  #gNavi li a {
    font-size: 1vw
  }
}
#gFooter .fBox {
  padding: 41px 33px 35px 29px;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end
}
#gFooter .lBox {
  width: 330px;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end
}
#gFooter .lBox a {
  display: block;
  width: 214px
}
#gFooter .lBox .txt {
  margin: 0 0 1px 26px;
  padding: 6px 3px 5px;
  min-width: 89px;
  width: calc(100% - 240px);
  color: #3cb678;
  text-align: center;
  font-size: 1.5rem;
  font-weight: 700;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  border-radius: 5px;
  border: 1px solid #3CB678
}
#gFooter .rBox {
  width: calc(100% - 330px);
  margin-bottom: 5px
}
#gFooter .rBox .fLink {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: end
}
#gFooter .rBox .fLink li {
  margin-left: 15px
}
#gFooter .rBox .fLink li a {
  font-size: 1.5rem;
  font-weight: 700;
  color: #383838
}
#gFooter .rBox .fLink li:first-child {
  margin-left: 0
}
#gFooter .rBox .fLink li a:hover {
  opacity: .7
}
#gFooter .copyright {
  padding: 36px 20px 34px;
  color: #80b59a;
  text-align: center;
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 700;
  background: #EDF6F2
}
@media all and (max-width: 896px) {
  #gFooter .fBox {
    padding: 20px;
    display: block
  }
  #gFooter .lBox {
    width: auto;
    display: block;
    text-align: center
  }
  #gFooter .lBox a {
    margin: 0 auto 20px;
    display: block
  }
  #gFooter .lBox .txt {
    margin-left: 0;
    width: auto
  }
  #gFooter .copyright {
    padding: 20px 10px;
    font-size: 1.3rem
  }
}
@media all and (min-width: 897px) and (max-width: 1100px) {
  #gFooter .rBox .fLink li a {
    font-size: 1.2vw
  }
}
@media all and (min-width: 1101px) and (max-width: 1500px) {
  #gFooter .rBox .fLink li a {
    font-size: 1vw
  }
}
@media all and (max-width: 359px) {
  #gFooter .copyright {
    font-size: 1.1rem
  }
}
#main .mainVisual {
  padding: 66px 0 28px;
  min-height: 751px;
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background: url(../img/housing-loan/main_bg.png) no-repeat right bottom/cover
}
#main .mainVisual .ttlBox {
  margin-bottom: 30px;
  padding: 17px 20px 18px;
  position: relative;
  background-color: #fdffff;
  height: 270px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}
#main .mainVisual .ttlBox .photo {
  position: absolute;
  top: -97px;
  left: 0;
  width: 27%;
  max-width: 518px
}
#main .mainVisual .ttlBox .title {
  text-align: center;
  line-height: 1.46;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 auto;
  padding-left: 128px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}
#main .mainVisual .ttlBox .title img {
  margin-top: -10px
}
#main .mainVisual .ttlBox .title .sub {
  display: inline-block;
  width: 46.8vw;
  max-width: 871px
}
#main .mainVisual .ttlBox .title .sub-02 {
  margin-left: 28px;
  margin-top: 0
}
#main .mainVisual .text {
  margin-bottom: 26px;
  color: #000;
  font-size: 2.7rem;
  font-weight: 700;
  text-align: center
}
#main .mainVisual .textPhoto {
  margin: 120px auto 0 auto;
  width: 578px;
  max-width: 40%;
  padding-right: 5%
}
#main .mainVisual .textPhoto-02 {
  position: absolute;
  left: 0;
  top: 73%;
  width: 29%;
  max-width: 520px
}
#main .mainVisual .textPhoto-03 {
  margin-top: -44px;
  max-width: 39%;
  width: 578px;
  padding-left: 28px
}
#main .sec01 {
  padding: 58px 0 127px
}
#main .sec01 .headLine02 {
  position: relative;
  margin: 0 10px 68px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}
#main .sec01 .headLine02:before {
  position: absolute;
  bottom: -48px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translate(-50%);
  width: 150px;
  height: 46px;
  background: url(../img/housing-loan/common/icon06-yl.png) left top/100%;
  content: ""
}
#main .sec01 .headLine02 .pic {
  width: 168px
}
#main .sec01 .bigText {
  margin-bottom: 24px;
  color: #212121;
  font-size: 3.1rem;
  font-weight: 500;
  text-align: center
}
#main .sec01 .text01 {
  font-size: 4.4rem;
  font-weight: 500;
  text-align: center
}
#main .sec01 .text01 span {
  position: relative;
  display: inline-block
}
#main .sec01 .inner {
  margin: 70px 10px 0;
  padding: 60px 142px;
  position: relative;
  border-radius: 10px;
  background-color: #ffed8e
}
#main .sec01 .inner h3 {
  margin-bottom: 53px;
  color: #212121;
  font-size: 2.6rem;
  font-weight: 700;
  text-align: center
}
#main .sec01 .textUl {
  -ms-flex-pack: distribute;
  justify-content: space-around
}
#main .sec01 .textUl li {
  padding: 12px 26px 13px;
  width: calc(33.3333333333% - 7px);
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
  background-color: #fff;
  border: 4px solid #FFDB1D;
  border-radius: 50px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}
#main .sec01 .textUl li:nth-child(n+4) {
  margin-top: 28px
}
@media all and (max-width: 896px) {
  #main .sec01 {
    padding: 50px 0
  }
  #main .sec01 .headLine02 {
    margin-bottom: 70px
  }
  #main .sec01 .headLine02:before {
    bottom: -50px;
    width: 75px;
    height: 23px
  }
  #main .sec01 .bigText {
    font-size: 1.7rem;
    margin-bottom: 7px
  }
  #main .sec01 .text01 {
    font-size: 2.2rem
  }
  #main .sec01 .inner {
    margin: 40px 0 0;
    padding: 40px 20px 20px
  }
  #main .sec01 .inner h3 {
    margin-bottom: 30px;
    font-size: 2rem
  }
  #main .sec01 .textUl {
    display: block
  }
  #main .sec01 .textUl li {
    margin: 0 0 8px;
    padding: 6px 0 4px;
    width: auto;
    font-size: 1.8rem
  }
  #main .sec01 .textUl li:nth-child(n+4) {
    margin-top: 0
  }
}
#main .sec02 {
  padding: 99px 0
}
#main .sec02 .text {
  margin-bottom: 62px;
  font-size: 2rem;
  text-align: center;
  line-height: 1.46
}
#main .sec02 .textUl {
  margin: -18px 0 86px
}
#main .sec02 .textUl li {
  margin: 18px 36px 0 0;
  padding: 6px 0 4px;
  width: 362px;
  color: #212121;
  font-size: 2.5rem;
  font-weight: 700;
  text-align: center;
  border-radius: 50px;
  background-color: #ffed8e
}
#main .sec02 .textUl li:nth-child(3n) {
  margin-right: 0
}
#main .sec02 .inner {
  margin: 0 10px 156px;
  padding: 62px 50px 0;
  position: relative;
  border-radius: 10px;
  background-color: #edf6f2
}
#main .sec02 .inner:before {
  position: absolute;
  bottom: -117px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translate(-50%);
  width: 150px;
  height: 46px;
  background: url(../img/housing-loan/common/icon06-gr.png) no-repeat left top/100%;
  content: ""
}
#main .sec02 .inner h3 {
  margin-bottom: 68px;
  color: #212121;
  font-size: 2.5rem;
  font-weight: 700;
  text-align: center
}
#main .sec02 .inner .textList {
  margin: -28px 0 25px
}
#main .sec02 .inner .textList li {
  margin: 28px 15px 0 0;
  padding: 46px 10px;
  width: 196px;
  min-height: 104px;
  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;
  border-radius: 10px;
  background-color: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}
#main .sec02 .inner .textList li:nth-child(5n) {
  margin-right: 0
}
#main .sec02 .inner .textList li p {
  color: #212121;
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.625
}
#main .sec02 .inner .photo {
  margin: 0 auto;
  width: 614px
}
#main .sec02 .bigText {
  margin-bottom: 7px;
  color: #212121;
  font-size: 3.3rem;
  font-weight: 500;
  text-align: center
}
#main .sec02 .text01 {
  font-size: 4.4rem;
  font-weight: 500;
  text-align: center
}
#main .sec02 .text01 span {
  border-bottom: 2px solid #3CB678
}
@media all and (max-width: 896px) {
  #main .sec02 {
    padding: 50px 0
  }
  #main .sec02 .text {
    margin-bottom: 40px;
    font-size: 1.6rem
  }
  #main .sec02 .textUl {
    margin: 0 0 60px;
    display: block
  }
  #main .sec02 .textUl li {
    margin: 0 0 15px;
    width: auto;
    font-size: 1.8rem
  }
  #main .sec02 .inner {
    margin: 0 0 70px;
    padding: 40px 20px 0
  }
  #main .sec02 .inner:before {
    bottom: -50px;
    width: 75px;
    height: 23px
  }
  #main .sec02 .inner h3 {
    margin-bottom: 30px;
    font-size: 2rem
  }
  #main .sec02 .inner .textList {
    margin: 0 0 25px;
    display: block
  }
  #main .sec02 .inner .textList li {
    margin: 0 0 20px;
    padding: 40px 10px;
    width: auto
  }
  #main .sec02 .inner .photo {
    margin: 0;
    width: auto
  }
  #main .sec02 .bigText {
    font-size: 2rem
  }
  #main .sec02 .text01 {
    font-size: 2.5rem
  }
}
#main .sec03 {
  padding: 47px 0 131px
}
#main .sec03 .photoList {
  margin: 0 10px
}
#main .sec03 .photoList li {
  margin-bottom: 28px;
  padding: 66px 45px 60px 85px;
  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: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  border: 8px solid rgba(60, 182, 120, .3);
  border-radius: 18px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}
#main .sec03 .photoList li:last-child {
  margin-bottom: 0
}
#main .sec03 .photoList li .lBox {
  width: 627px
}
#main .sec03 .photoList li .lBox h3 {
  margin-bottom: 27px;
  color: #3cb678;
  font-size: 3.8rem;
  font-weight: 500;
  line-height: 1.45
}
#main .sec03 .photoList li .lBox p {
  line-height: 1.78
}
#main .sec03 .photoList li .rBox {
  width: 290px
}
@media all and (max-width: 896px) {
  #main .sec03 {
    padding: 50px 0
  }
  #main .sec03 .text {
    margin-bottom: 40px;
    font-size: 1.6rem
  }
  #main .sec03 .textUl {
    margin: 0 0 60px;
    display: block
  }
  #main .sec03 .textUl li {
    margin: 0 0 15px;
    width: auto;
    font-size: 1.8rem
  }
  #main .sec03 .textUl li:last-child {
    margin-bottom: 0
  }
  #main .sec03 .inner {
    margin: 0 0 100px;
    padding: 40px 20px 0
  }
  #main .sec03 .inner:before {
    bottom: -50px;
    width: 75px;
    height: 23px
  }
  #main .sec03 .inner h3 {
    margin-bottom: 30px;
    font-size: 2rem
  }
  #main .sec03 .inner .textList {
    margin: 0 0 25px;
    display: block
  }
  #main .sec03 .inner .textList li {
    margin: 0 0 20px;
    padding: 40px 10px;
    width: auto
  }
  #main .sec03 .inner .textList li:last-child {
    margin-bottom: 0
  }
  #main .sec03 .inner .photo {
    margin: 0;
    width: auto
  }
  #main .sec03 .inner .photo img {
    width: 100%
  }
  #main .sec03 .bigText {
    font-size: 2rem
  }
  #main .sec03 .text01 {
    font-size: 2.5rem
  }
  #main .sec03 .text01 span:before {
    bottom: 0;
    left: 0;
    right: 0
  }
  #main .sec03 {
    padding: 40px 0 80px
  }
  #main .sec03 .photoList {
    margin: 0
  }
  #main .sec03 .photoList li {
    margin-bottom: 20px;
    padding: 30px 20px;
    display: block
  }
  #main .sec03 .photoList li .lBox {
    width: auto
  }
  #main .sec03 .photoList li .lBox h3 {
    margin-bottom: 27px;
    font-size: 2.4rem
  }
  #main .sec03 .photoList li .lBox p {
    margin-bottom: 20px
  }
  #main .sec03 .photoList li .rBox {
    width: auto;
    text-align: center
  }
}
#main .sec04 {
  padding: 50px 0 99px;
  background-color: #edf6f2
}
#main .sec04 .headLine02 {
  margin-bottom: 24px
}
#main .sec04 .headLine02 .pic {
  margin-right: 17px;
  padding-bottom: 2px;
  width: 154px
}
#main .sec04 .headLine02 .txt {
  width: 460px
}
#main .sec04 .photo {
  margin: 0 -12px 70px
}
#main .sec04 .text {
  color: #212121;
  font-size: 3.3rem;
  font-weight: 500;
  text-align: center;
  line-height: 1.46
}
#main .sec04 .text span {
  display: inline-block;
  text-align: left
}
@media all and (max-width: 896px) {
  #main .sec04 {
    padding: 50px 0
  }
  #main .sec04 .text {
    font-size: 2rem
  }
  #main .sec04 .photo {
    margin-bottom: 40px
  }
}
#main .sec05 {
  margin-bottom: 101px;
  padding: 86px 0 100px;
  background-color: #ffed99
}
#main .sec05 .headLine01 {
  margin-bottom: 90px;
  color: #212121
}
#main .sec05 .photoUl {
  margin: 0 auto;
  width: 1140px
}
#main .sec05 .photoUl li {
  margin: 0 0 38px;
  width: auto;
  overflow: hidden;
  border-radius: 10px
}
#main .sec05 .photoUl li:nth-child(4n) {
  margin-right: 0
}
#main .sec05 .photoUl li:last-child {
  margin-bottom: 0
}
@media all and (max-width: 896px) {
  #main .sec05 {
    margin-bottom: 0;
    padding: 50px 0
  }
  #main .sec05 .headLine01 {
    margin-bottom: 30px;
    padding-bottom: 15px;
    font-size: 2.5rem
  }
  #main .sec05 .photoUl {
    width: auto
  }
  #main .sec05 .photoUl li {
    margin: 0 0 18px
  }
}
#main .sec06 {
  padding: 0;
  margin-bottom: 100px
}
#main .sec06 .headLine01, #main .sec06 .headLine01 {
  color: #212121
}
#main .sec06 .textList {
  margin: -23px auto 0;
  width: 1140px
}
#main .sec06 .textList li {
  margin: 23px 9px 0 0;
  padding: 12px 28px 13px;
  width: 278px;
  color: #fff;
  font-size: 2.8rem;
  font-weight: 700;
  text-align: center;
  background-color: #3cb678;
  border-radius: 50px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-box-shadow: 0px 5.00549px 5.00549px 0px rgba(0, 0, 0, .25);
  box-shadow: 0 5.00549px 5.00549px #00000040
}
#main .sec06 .textList li:nth-child(4n) {
  margin-right: 0
}
#main .sec06 .textList li:last-child {
  color: #3cb678;
  background-color: #fff;
  -webkit-box-shadow: none;
  box-shadow: none;
  text-align: left
}
@media all and (max-width: 896px) {
  #main .sec06 {
    margin-bottom: 0;
    padding: 40px 0 60px
  }
  #main .sec06 .textList {
    margin-top: -15px;
    width: auto;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
  #main .sec06 .textList li {
    margin: 15px 0 0;
    width: calc((100% - 20px)/2);
    font-size: 1.5rem
  }
  #main .sec06 .textList li:last-child {
    margin-bottom: 0;
    text-align: center
  }
}
#main .sec08 {
  padding: 106px 0 100px;
  background-color: #edf6f2
}
#main .sec08 .headLine01 {
  margin-bottom: 50px
}
#main .sec08 .faqDl {
  margin: 0 auto;
  width: 1040px
}
#main .sec08 .faqDl dt {
  padding: 42px 50px 30px 80px;
  position: relative;
  color: #212121;
  font-size: 2.5rem;
  border-bottom: 1px solid #B8B8B8;
  cursor: pointer;
  background: url(../img/housing-loan/common/icon07.png) no-repeat right 20px center/22px
}
#main .sec08 .faqDl dt.on {
  background-image: url(../img/housing-loan/common/icon07_on.png)
}
#main .sec08 .faqDl dt:before {
  position: absolute;
  top: 20px;
  left: 0;
  color: #3cb678;
  font-size: 4.8rem;
  font-family: Raleway, sans-serif;
  font-weight: 600;
  content: "Q."
}
#main .sec08 .faqDl dd {
  padding: 30px 50px 30px 80px;
  display: none;
  line-height: 1.625
}
@media all and (max-width: 896px) {
  #main .sec08 {
    padding: 50px 0
  }
  #main .sec08 .headLine01 {
    margin-bottom: 25px
  }
  #main .sec08 .faqDl {
    width: auto
  }
  #main .sec08 .faqDl dt {
    padding: 20px 35px;
    font-size: 1.7rem;
    background-position: right 10px center
  }
  #main .sec08 .faqDl dt:before {
    top: 10px;
    left: 0;
    font-size: 3rem
  }
  #main .sec08 .faqDl dd {
    padding: 15px 20px 15px 35px;
    font-size: 1.6rem
  }
}
#main .imgBox {
  margin: 0 10px 100px;
  padding: 65px 85px 80px;
  border-radius: 22px;
  border: 8px solid rgba(60, 182, 120, .3)
}
#main .imgBox .photoBox {
  margin-top: 16px;
  width: 256px;
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
  border-radius: 10px;
  overflow: hidden
}
#main .imgBox .textBox h2 {
  margin-bottom: 25px;
  color: #3cb678;
  font-size: 3.8rem;
  font-weight: 500
}
#main .imgBox .textBox .text {
  margin-bottom: 27px;
  line-height: 1.78
}
#main .imgBox .textBox .bigText {
  color: #212121;
  font-size: 2rem;
  font-weight: 700
}
@media all and (max-width: 896px) {
  #main .mainVisual {
    padding: 20px 0 0;
    min-height: inherit;
    position: relative;
    background: -webkit-linear-gradient(292deg, #36A893 0%, #36A893 100%);
    background: linear-gradient(158deg, #36A893 0%, #36A893 100%)
  }
  #main .mainVisual:before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(63%, #36A893), color-stop(79%, rgba(217, 217, 217, .01)));
    background: -webkit-linear-gradient(top, #36A893 63%, rgba(217, 217, 217, .01) 79%);
    background: linear-gradient(180deg, #36A893 63%, rgba(217, 217, 217, .01) 79%);
    content: ""
  }
  #main .mainVisual .ttlBox {
    margin-bottom: 10px;
    padding: 10px 8px 8px 22%;
    height: auto
  }
  #main .mainVisual .ttlBox .photo {
    top: 0;
    left: 1%;
    width: 26%
  }
  #main .mainVisual .ttlBox .title {
    padding-left: 0
  }
  #main .mainVisual .ttlBox .title .sub {
    width: auto;
    max-width: inherit
  }
  #main .mainVisual .ttlBox .title .sub-02 {
    margin-left: 0;
    width: 18%;
    height: 100%
  }
  #main .mainVisual .ttlBox .title .sub:before {
    right: -20%;
    top: 5%;
    width: 18%;
    height: 100%
  }
  #main .mainVisual .text {
    margin-bottom: 15px;
    padding: 0 20px;
    position: relative;
    font-size: 3.6vw
  }
  #main .mainVisual .textPhoto {
    margin: 0;
    width: auto;
    position: relative;
    padding: 20px;
    max-width: inherit
  }
  #main .mainVisual .textPhoto-02 {
    width: 45%;
    top: 45%
  }
  #main .mainVisual .textPhoto-03 {
    width: 50%;
    margin: -10px 0 0 auto
  }
  #main .mainVisual .textPhoto img {
    width: 100%
  }
  #main .mainVisual .spPhoto .subPhoto {
    overflow: hidden
  }
  #main .mainVisual .spPhoto img {
    margin-bottom: -1px;
    width: 100%
  }
  #main .imgBox {
    margin: 0 0 50px;
    padding: 20px;
    border-width: 4px;
    display: block
  }
  #main .imgBox .photoBox {
    margin: 0 0 15px;
    width: auto
  }
  #main .imgBox .photoBox img {
    width: 100%
  }
  #main .imgBox .textBox {
    width: auto
  }
  #main .imgBox .textBox h2 {
    margin-bottom: 10px;
    font-size: 2.5rem
  }
  #main .imgBox .textBox .text {
    margin-bottom: 20px
  }
  #main .imgBox .textBox .bigText {
    font-size: 1.7rem
  }
}
@media all and (min-width: 897px) and (max-width: 1500px) {
  #main .mainVisual .ttlBox .photo {
    width: 29%
  }
  #main .mainVisual .ttlBox .title {
    padding-left: 246px
  }
  #main .mainVisual .ttlBox .title .sub {
    width: 57.8vw;
    min-width: 690px;
    max-width: 58vw
  }
  #main .mainVisual .textPhoto-02 {
    width: 26%
  }
}
@media all and (min-width: 500px) and (max-width: 896px) {
  #main .mainVisual .ttlBox .photo {
    top: -12%
  }
  #main .mainVisual .ttlBox {
    margin-bottom: 8%
  }
}
@media all and (max-width: 365px) {
  #main .imgBox .textBox h2 {
    font-size: 6.5vw
  }
}
.clearfix:after {
  content: "";
  display: block;
  clear: both
}
.flex, .flexA, .flexB, .flexC {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}
.flexA {
  -ms-flex-pack: distribute;
  justify-content: space-around
}
.flexB {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}
.flexC {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}
.fax {
  cursor: default;
  pointer-events: none
}
.col01 {
  color: #43ad9a
}
.col02 {
  color: #3cb678
}
.col03 {
  color: #ec5e00
}
.content {
  margin: 0 auto;
  width: 1160px;
  position: relative
}
@media all and (max-width: 896px) {
  .content {
    padding: 0 20px;
    width: auto
  }
}
.headLine01 {
  margin-bottom: 51px;
  padding-bottom: 20px;
  position: relative;
  color: #3cb678;
  font-size: 4rem;
  font-weight: 700;
  text-align: center
}
.headLine01:before {
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translate(-50%);
  width: 28px;
  height: 3px;
  background-color: #212121;
  content: ""
}
@media all and (max-width: 896px) {
  .headLine01 {
    margin-bottom: 30px;
    padding-bottom: 15px;
    font-size: 2.5rem
  }
  .headLine01:before {
    height: 2px
  }
}
.headLine02 {
  margin-bottom: 60px;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: end
}
.headLine02 > span {
  display: block
}
.headLine02 .pic {
  margin-right: 7px;
  padding: 0 0 4px;
  width: 160px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}
.headLine02 .txt {
  width: 590px;
  color: #212121;
  font-size: 3.3rem;
  font-weight: 700;
  text-align: center
}
.headLine02 .txt .big {
  display: block;
  font-size: 4.7rem;
  font-weight: 500
}
.headLine02 .txt .big span {
  position: relative;
  display: inline-block
}
.headLine02 .txt .big span:before {
  position: absolute;
  bottom: 2px;
  left: 0;
  right: 0;
  height: 2px;
  background-color: #3cb678;
  content: ""
}
@media all and (max-width: 896px) {
  .headLine02 {
    margin-bottom: 40px;
    display: block
  }
  .headLine02 .pic {
    margin: 0 auto !important;
    width: 30% !important
  }
  .headLine02 .pic img {
    width: 100% !important
  }
  .headLine02 .txt {
    width: auto !important;
    font-size: 2rem
  }
  .headLine02 .txt .big {
    font-size: 2.5rem
  }
  .headLine02 .txt .big span:before {
    bottom: 0
  }
}
.comConsultBox {
  padding: 100px 0;
  background-color: #3cb678
}
.comConsultBox .content {
  width: 1140px
}
.comConsultBox .subBox {
  padding: 48px;
  border-radius: 8px;
  background-color: #fff
}
.comConsultBox .lBox, .comConsultBox .rBox {
  width: calc(50% - 18px);
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}
.comConsultBox .lBox .flexBox {
  margin-bottom: 38px
}
.comConsultBox .lBox .txt {
  margin-left: 27px;
  font-size: 2.2rem;
  font-weight: 700;
  min-width: 152px;
  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;
  color: #fff;
  border-radius: 5px;
  background: #EC5E00
}
.comConsultBox .lBox .textUl li {
  margin-bottom: 9px;
  font-size: 2.6rem;
  font-weight: 700;
  color: #007384;
  border-radius: 10px;
  background: #EDF6F2
}
.comConsultBox .lBox .textUl li:last-child {
  margin-bottom: 0
}
.comConsultBox .lBox .textUl .list01 a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 20px 20px 30px;
  margin-bottom: 10px
}
.comConsultBox .lBox .textUl .list02 a, .comConsultBox .lBox .textUl .list03 a {
  padding: 18px 20px 17px;
  font-size: 2.7rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #18868a;
  background: url(../img/housing-loan/common/icon01.png) no-repeat center right 22px
}
.comConsultBox .lBox .textUl li .ico {
  margin-right: 20px;
  width: 54px
}
.comConsultBox .lBox .textUl li .text {
  padding-right: 20px;
  width: calc(100% - 74px);
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}
.comConsultBox .lBox .textUl .list01 .text {
  margin-top: 7px;
  padding: 0
}
.comConsultBox .lBox .textUl .list01 .text .sub {
  display: block;
  color: #007384
}
.comConsultBox .lBox .textUl li .text .sml {
  margin-left: 15px;
  vertical-align: 6px;
  font-size: 1.5rem;
  color: #212121
}
.comConsultBox .lBox .textUl li .tel {
  display: block;
  font-size: 5.9rem;
  font-weight: 700;
  line-height: .9;
  letter-spacing: -.01em;
  color: #007384;
  word-break: break-all;
  font-family: Century Gothic
}
.comConsultBox .lBox .textUl li .col {
  color: #3cb678
}
.comConsultBox .rBox {
  padding: 20px;
  font-size: 2.7rem;
  font-weight: 700;
  color: #007384;
  border-radius: 10px;
  background: #EDF6F2
}
.comConsultBox .rBox .ttl {
  margin-bottom: 14px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}
.comConsultBox .rBox .ttl .ico {
  width: 54px
}
.comConsultBox .rBox .ttl .txt {
  margin-left: 21px;
  width: calc(100% - 75px)
}
.comConsultBox .rBox .mapBox, .comConsultBox .rBox .pho {
  width: 50%
}
.comConsultBox .rBox .mapBox iframe {
  width: 230px;
  height: 253px
}
.comConsultBox .rBox .text {
  margin-bottom: 5px;
  font-size: 1.8rem;
  font-weight: 400;
  color: #222
}
.comConsultBox .rBox p:last-child {
  margin-bottom: 0
}
.comConsultBox .rBox .flexBox {
  position: relative
}
.comConsultBox .rBox .flexBox .pho01 {
  position: absolute;
  top: -124px;
  right: 0
}
@media all and (min-width: 897px) {
  .comConsultBox .lBox .textUl .list02 a:hover, .comConsultBox .lBox .textUl .list03 a:hover {
    opacity: .7
  }
}
@media all and (max-width: 896px) {
  .comConsultBox {
    padding: 50px 0
  }
  .comConsultBox .content {
    padding: 0 20px;
    width: auto
  }
  .comConsultBox .subBox {
    padding: 15px;
    display: block
  }
  .comConsultBox .lBox, .comConsultBox .rBox {
    width: 100%
  }
  .comConsultBox .lBox {
    margin-bottom: 6px
  }
  .comConsultBox .lBox .flexBox {
    margin-bottom: 20px;
    display: block;
    text-align: center
  }
  .comConsultBox .lBox .flexBox .logo {
    margin: 0 auto 15px;
    max-width: 220px
  }
  .comConsultBox .lBox .txt {
    margin: 0 auto;
    font-size: 2rem;
    min-width: 130px;
    text-align: center;
    display: inline-block
  }
  .comConsultBox .lBox .textUl li {
    margin-bottom: 6px;
    font-size: 1.9rem
  }
  .comConsultBox .lBox .textUl .list01 a {
    padding: 20px;
    margin-bottom: 6px
  }
  .comConsultBox .lBox .textUl .list02 a, .comConsultBox .lBox .textUl .list03 a {
    padding: 20px;
    font-size: 1.9rem
  }
  .comConsultBox .lBox .textUl li .ico {
    margin-right: 10px;
    width: 40px
  }
  .comConsultBox .lBox .textUl .list01 .text {
    margin-top: 0
  }
  .comConsultBox .lBox .textUl li .text {
    width: calc(100% - 50px)
  }
  .comConsultBox .lBox .textUl li .text .sml {
    margin: 0;
    font-size: 1.4rem;
    display: block
  }
  .comConsultBox .lBox .textUl li .tel {
    font-size: 3.2rem;
    line-height: 1
  }
  .comConsultBox .rBox {
    padding: 20px;
    font-size: 1.9rem
  }
  .comConsultBox .rBox .ttl .ico {
    width: 40px
  }
  .comConsultBox .rBox .ttl .txt {
    margin-left: 10px;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1
  }
  .comConsultBox .rBox .mapBox, .comConsultBox .rBox .pho, .comConsultBox .rBox .pho img {
    width: 100%
  }
  .comConsultBox .rBox .mapBox {
    position: relative;
    padding-bottom: 75%
  }
  .comConsultBox .rBox .mapBox iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
  }
  .comConsultBox .rBox .text {
    font-size: 1.5rem
  }
  .comConsultBox .rBox .flexBox {
    margin-bottom: 10px;
    position: relative;
    display: block
  }
  .comConsultBox .rBox .flexBox .pho01 {
    position: absolute;
    top: auto;
    bottom: -15px;
    right: -15px
  }
}
@media all and (max-width: 374px) {
  .comConsultBox .lBox .textUl li .tel {
    font-size: 7.5vw
  }
}
@media all and (max-width: 359px) {
  .comConsultBox .rBox .ttl .txt, .comConsultBox .lBox .textUl li .text {
    font-size: 1.6rem
  }
}
.anime-set {
  opacity: 1;
  -webkit-transition-duration: .8s;
  transition-duration: .8s;
  -webkit-transition-delay: 0ms;
  transition-delay: 0ms
}
.anime-off, .mainview.anime-off {
  opacity: 0
}
.mainview {
  opacity: 1;
  -webkit-transition-duration: .8s;
  transition-duration: .8s;
  -webkit-transition-delay: 0ms;
  transition-delay: 0ms
}
.housing-loan {
  background: none !important
}

.wp-pagenavi {
	margin: 40px auto;
	font-size: 12px;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #7AB6BF;
}
.wp-pagenavi a {
	color: #333;
}
.wp-pagenavi span.current,
.wp-pagenavi a.page,
.wp-pagenavi .extend,
.wp-pagenavi .first,
.wp-pagenavi .last {
	margin: 0 10px 0 0;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	line-height: 40px;
	text-align: center;
	box-sizing: border-box;
	justify-content: center;
	display: flex;
	align-items: center;
}
.wp-pagenavi span.current {
		border: solid 1px #7AB6BF;
}
.wp-pagenavi a.page:hover,
.wp-pagenavi .first,
.wp-pagenavi .last {
	background: #7AB6BF;
	color: #fff;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
    display: none;
}

.ttl-narita{
    
    padding:0 0 30px 0;
    text-align:center;
    margin:auto auto 15px auto;
    
}



.ttl-narita span{
    border-top:1px solid #7ab6bf;
    border-bottom:1px solid #7ab6bf;
    padding:15px;
}
