@charset "UTF-8";
/* ---------------
	LIFIX
--------------- */
.quicksand {
  font-family: "Quicksand", sans-serif;
}

html {
  font-size: 62.5%;
  box-sizing: border-box;
}

*, *::before, *::after {
  box-sizing: inherit;
}

body {
  width: 100%;
  margin: 0;
  font-family: "Quicksand", "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: .08em;
  line-height: 1.8;
  -webkit-text-size-adjust: 100%;
  background: linear-gradient(269.82deg, #EEFAFF 59.08%, #FEF8F3 99.9%);
}
@media (min-width: 768px) {
  body {
    font-size: 1.6rem;
  }
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

a,
a:link,
a:visited {
  text-decoration: none;
  color: #374249;
  cursor: pointer;
  transition: 0.5s;
}

a:hover,
a:active {
  text-decoration: none;
  color: #374249;
}

p {
  font-family: Noto Sans JP;
  font-weight: 400;
  font-size: 1.5rem;
  line-height: 2.4;
  letter-spacing: .04em;
}

.link--underline {
  text-decoration: underline !important;
}

ul {
  list-style: none;
  margin: 0;
  padding: 0;
  padding-left: 0;
}

.pc_only {
  display: none !important;
}

@media (min-width: 768px) {
  .sp_only {
    display: none !important;
  }

  .pc_only {
    display: block !important;
  }
}
/* ---------------
	ヘッダー
--------------- */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  transition: all 0.5s ease;
  z-index: 100;
}
.site-header .header-inner {
  width: 100%;
  padding: 1rem;
  display: flex;
  justify-content: space-between;
}
@media (min-width: 768px) {
  .site-header .header-inner {
    padding: 4rem 3.6vw 0;
  }
}
.site-header .header-logo {
  width: 86px;
}
.site-header .header-logo a {
  display: block;
  background: rgba(255, 255, 252, 0);
}
.site-header .header-logo a img {
  width: 100%;
  mix-blend-mode: multiply;
  background: transparent;
}
@media (min-width: 768px) {
  .site-header .header-logo {
    width: clamp(86px, 10vw, 120px);
  }
}
.site-header .hamburger {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1.2rem;
  position: relative;
  z-index: 1000;
}
.site-header .hamburger::after {
  content: "MENU";
  display: block;
  color: #50A6D7;
  font-family: Quicksand;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 160%;
  letter-spacing: .3em;
  text-align: center;
}
.site-header .hamburger span {
  display: block;
  width: 47px;
  height: 2px;
  background-color: #50A6D7;
  border-radius: 1px;
}
@media (min-width: 768px) {
  .site-header {
    position: absolute;
  }
  .site-header.fixed {
    position: fixed;
    top: 0;
    left: 0;
    background: #FFFFFF4D;
  }
  .site-header.fixed .header-inner {
    padding: 1rem 3.6vw;
    align-items: center;
  }
  .site-header.fixed .header-logo {
    width: 90px;
  }
}

/* プレースホルダー初期状態 */
#header-placeholder {
  display: none;
}

/* メニューが開いているときのアイコン変化 */
.hamburger.is-active span {
  background-color: #FFFFFF;
}

.hamburger.is-active::after {
  color: #FFFFFF;
}

.hamburger.is-active span:nth-child(1) {
  transform: translateY(7px) rotate(15deg);
}

.hamburger.is-active span:nth-child(2) {
  transform: translateY(-7px) rotate(-15deg);
}

.header-nav--sp {
  width: 100%;
  height: 100vh;
  background: #ADC9DD;
  color: #FFFFFF;
  padding-bottom: 4rem;
  position: absolute;
  top: 0;
  right: -100%;
  transition: right 0.4s ease;
}
.header-nav--sp .header-logo {
  margin: 1rem;
}
.header-nav--sp .blend-overlay_sp_nav {
  position: absolute;
  inset: 0;
  background: url("../images/top/gauss.png") repeat;
  opacity: 0.2;
  mix-blend-mode: soft-light;
  z-index: 1;
  pointer-events: none;
  border-radius: 8rem 8rem 0 0;
  backdrop-filter: blur(30px) !important;
  /* 背景ぼかし */
  -webkit-backdrop-filter: blur(30px) !important;
  /* Safari対応 */
}

/* メニューが開いているとき */
.header-nav--sp.is-open {
  right: 0;
}

.sp-nav-list {
  margin: 3rem auto;
  width: 88%;
}

.sp-nav-list--item {
  border-bottom: solid 1px #D0E4EF;
  padding: 1.6rem 0;
}
.sp-nav-list--item a {
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: .08em;
  line-height: 1.8;
  color: #FFFFFF;
  position: relative;
}
.sp-nav-list--item a::after {
  content: url("../images/common/Info-Icon.svg");
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.bottom_area {
  margin: 4rem auto 0;
  width: 88%;
}
.bottom_area a {
  max-width: 350px;
  margin: 0 auto;
  width: 100%;
  height: 7rem;
  background: #FFFFFF;
  border-radius: 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 1.6rem;
  font-size: 1.5rem;
  color: #4287AE;
  box-shadow: 2px 6px 8px 0px #5D676D33;
}
.bottom_area .mail a {
  background: linear-gradient(250.34deg, #FFD8D6 -12.11%, #F57772 47.04%);
  color: #FFFFFF;
}
.bottom_area .tel {
  margin-top: 1.6rem;
}
.bottom_area .tel a {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.6;
}
.bottom_area .tel p {
  margin: 0;
  font-size: 1.4rem;
  text-align: center;
}

body.no-scroll {
  overflow: hidden;
  touch-action: none;
  /* スマホでのスクロール無効 */
}

.pc-nav-list {
  display: flex;
  justify-content: flex-end;
  height: 4.6rem;
}

.pc-nav-list--item {
  display: flex;
  padding: 0 1.25vw;
}
.pc-nav-list--item a {
  display: flex;
  align-items: center;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: .08em;
  line-height: 1.6;
  color: #396C87;
}
.pc-nav-list--item a:hover {
  opacity: .7;
}
.pc-nav-list--item.tel {
  padding-right: 0;
}
.pc-nav-list--item.tel a {
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1;
}
.pc-nav-list--item.tel a img {
  margin-right: 1rem;
}

/* ---------------
	フッター
--------------- */
footer {
  margin-top: 10rem;
  padding: 10rem 1rem;
  background: url("../images/footer/footer_bg_SP.webp") center/cover no-repeat;
  border-radius: 8rem 8rem 0 0;
  overflow: hidden;
  color: #FFFFFF;
  position: relative;
}
@media (min-width: 768px) {
  footer {
    padding: 14rem 1rem;
    background: url("../images/footer/footer_bg_PC.webp") center/cover no-repeat;
    border-radius: 200px 200px 0 0;
  }
}
footer .footer_inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0;
  position: relative;
  z-index: 1;
}
footer .footer_panel {
  background: linear-gradient(180deg, rgba(26, 116, 161, 0.18) 0%, rgba(21, 63, 84, 0.3) 100%);
  backdrop-filter: blur(3px);
  border-radius: 4rem;
  padding: 7rem 1rem;
}
@media (min-width: 768px) {
  footer .footer_panel .item_wrap {
    max-width: 1148px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 2rem;
  }
}
footer .footer_panel p {
  font-size: 1.5rem;
  line-height: 2;
}
@media (min-width: 768px) {
  footer .footer_panel p {
    font-size: 1.6rem;
  }
}
footer .heading_2 .heading_en span {
  color: #a3f6f7;
}
@media (min-width: 768px) {
  footer .heading_2 strong {
    font-size: 3rem;
  }
}
footer .contact_block {
  margin-top: 3rem;
}
@media (min-width: 768px) {
  footer .contact_block {
    width: 453px;
  }
}
footer .contact_block a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 6rem;
  border-radius: 3rem;
  box-shadow: 2px 6px 8px 0px #5D676D33;
}
footer .contact_block a.mail {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1;
  background: #FFFFFF;
}
footer .contact_block a.mail svg {
  color: #4287AE;
}
footer .contact_block a.mail svg#footer_mail_icon_sp {
  width: 16px;
}
footer .contact_block a.mail span {
  margin: 0 1.6rem;
}
footer .contact_block a.tel {
  margin: 2.4rem auto .4rem;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1;
  color: #FFFFFF;
  background: #50A6D7;
}
footer .contact_block a.tel img {
  width: 12px;
}
footer .contact_block a.tel span {
  margin-left: 1.6rem;
}
footer .contact_block p {
  line-height: 1.8;
  margin: 0;
  text-align: center;
}
footer .contact_block.pc_only .tel_wrap {
  display: flex;
  align-items: center;
  gap: 0 2rem;
}
footer .contact_block.pc_only .tel_wrap img {
  width: 24px;
}
footer .contact_block.pc_only .tel_wrap span {
  font-size: 4.8rem;
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1.6;
}
footer .contact_block.pc_only p {
  font-family: Zen Maru Gothic;
  font-size: 1.5rem;
  line-height: 1.6;
  letter-spacing: .065em;
  text-align: center;
}
footer .contact_block.pc_only a.mail {
  margin-top: 4rem;
  display: flex;
  width: 400px;
  height: 7rem;
  background: #FFFFFF;
  border-radius: 5rem;
  box-shadow: 2px 6px 8px 0px #5D676D33;
  font-size: 1.6rem;
}
@media (min-width: 768px) {
  footer .contact_block.pc_only a.mail:hover {
    background: #4287AE;
    color: #FFFFFF;
    box-shadow: none;
  }
  footer .contact_block.pc_only a.mail:hover svg {
    color: #FFFFFF;
  }
}
footer .contact_block.pc_only a.mail svg {
  color: #4287AE;
}
footer .contact_block.pc_only a.mail svg#footer_mail_icon_pc {
  width: 14px;
}
footer .contact_block.pc_only a.mail span {
  margin: 0 1.6rem;
}
footer .footer_bottom {
  margin-top: 7rem;
  padding: 0 2rem;
}
@media (min-width: 768px) {
  footer .footer_bottom {
    margin: 140px auto 0;
  }
  footer .footer_bottom ._name {
    display: flex;
    align-items: center;
  }
  footer .footer_bottom ._name img {
    width: 120px;
  }
  footer .footer_bottom ._name strong {
    font-size: 2.4rem;
    margin-left: 1.4rem;
  }
}
@media (min-width: 768px) {
  footer .footer_bottom .footer_info {
    margin-top: 2.4rem;
    display: flex;
    align-items: center;
    gap: 0 214px;
  }
}
footer .footer_bottom .footer_info ._name img {
  width: 63px;
  vertical-align: middle;
}
footer .footer_bottom .footer_info ._name strong {
  display: inline-block;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: .08em;
  margin-left: 1.8rem;
}
footer .footer_bottom .footer_info ._address {
  margin-top: 2rem;
}
@media (min-width: 768px) {
  footer .footer_bottom .footer_info ._address {
    margin-top: 0;
  }
}
footer .footer_bottom .footer_info ._address p {
  margin: 0;
  font-family: Zen Maru Gothic;
  font-size: 1.5rem;
  line-height: 2;
  letter-spacing: .06em;
}
@media (min-width: 768px) {
  footer .footer_bottom .footer_info ._address p {
    font-size: 1.6rem;
  }
}
footer .footer_bottom .footer_info ._address p span.quicksand {
  letter-spacing: .08em;
}
footer .footer_bottom .footer_info ._address .tel_wrap {
  margin-top: 8px;
  display: flex;
  align-items: center;
}
@media (min-width: 768px) {
  footer .footer_bottom .footer_info ._address .tel_wrap {
    margin-top: 2.4rem;
  }
}
footer .footer_bottom .footer_info ._address .tel_wrap img {
  width: 11px;
  vertical-align: middle;
}
footer .footer_bottom .footer_info ._address .tel_wrap span {
  display: inline-block;
  font-size: 1.5rem;
  letter-spacing: .08em;
  line-height: 2;
  margin-left: 9px;
}
@media (min-width: 768px) {
  footer .footer_bottom .footer_info ._address .tel_wrap span {
    font-size: 1.6rem;
    letter-spacing: .04em;
    line-height: 1.4;
  }
}
footer .footer_bottom .footer_info ._address .sns_list {
  margin-top: 2.4rem;
}
footer .footer_bottom .footer_info ._address .sns_list a {
  display: block;
  width: 24px;
}
footer .footer_bottom .footer_info ._address .sns_list a:hover {
  opacity: .6;
}
footer .footer_bottom .footer_info .footer_nav {
  margin: 6rem 0;
}
@media (min-width: 768px) {
  footer .footer_bottom .footer_info .footer_nav {
    margin: 0;
  }
}
footer .footer_bottom .footer_info .footer_nav li {
  margin-bottom: 1.6rem;
}
@media (min-width: 768px) {
  footer .footer_bottom .footer_info .footer_nav li {
    margin-bottom: 3.2rem;
  }
}
footer .footer_bottom .footer_info .footer_nav li a {
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: .08em;
  line-height: 1.6;
  color: #FFFFFF;
}
@media (min-width: 768px) {
  footer .footer_bottom .footer_info .footer_nav li a {
    font-size: 1.8rem;
  }
}
footer .footer_bottom .footer_info .license-number p {
  margin: 0 0 2rem;
  font-size: 1.5rem;
  letter-spacing: .06em;
  line-height: 2;
}
@media (min-width: 768px) {
  footer .footer_bottom .footer_info .license-number p {
    font-size: 1.6rem;
    letter-spacing: .04em;
    line-height: 2;
  }
}
footer .footer_bottom .footer_info .license-number .sns_list a {
  width: 32px;
}
footer .footer_bottom .copy {
  margin-top: 7rem;
  font-size: 1.5rem;
  font-weight: 300;
  letter-spacing: .08em;
  line-height: 1.6;
  text-align: center;
}
@media (min-width: 768px) {
  footer .footer_bottom .copy {
    text-align: left;
    font-size: 1.2rem;
  }
}

.page_top {
  display: none;
  position: fixed;
  bottom: 160px;
  right: 30px;
  cursor: pointer;
  z-index: 1000;
}
.page_top.is-visible {
  display: block;
}
.page_top .page_top_inner {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 8px 0;
  transition: opacity 0.5s;
}
@media (min-width: 768px) {
  .page_top .page_top_inner {
    flex-direction: row-reverse;
    gap: 0 1.6rem;
  }
  .page_top .page_top_inner:hover {
    opacity: .6;
  }
}
.page_top .page_top_inner img {
  width: 35px;
  height: 35px;
}
@media (min-width: 768px) {
  .page_top .page_top_inner img {
    width: 70px;
    height: 70px;
  }
}
.page_top .page_top_inner span {
  display: block;
  font-size: 1.4rem;
  letter-spacing: .03em;
  line-height: 1.6;
  color: #FFFFFF;
}
@media (min-width: 768px) {
  .page_top .page_top_inner span {
    font-size: 1.5rem;
  }
}

.sec_access {
  padding: 70px 1rem !important;
}
.sec_access .heading_2 {
  margin: 0 0 6rem;
}
.sec_access .heading_2 .heading_en {
  display: flex;
  align-items: center;
  margin-bottom: 2px;
}
.sec_access .heading_2 .heading_en img {
  width: 1.8rem;
  margin-right: .8rem;
}
.sec_access .heading_2 .heading_en span {
  font-family: Quicksand;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: .3em;
  line-height: 1.6;
  color: #396C87;
}
.sec_access .heading_2 strong {
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.6;
}
.sec_access .adderss p {
  font-size: 1.5rem;
  letter-spacing: .06em;
  line-height: 2;
}
.sec_access .adderss a {
  margin-top: 2.4rem;
  font-size: 1.5rem;
  letter-spacing: .06em;
  line-height: 2;
  display: flex;
  align-items: center;
}
.sec_access .adderss a img.icon1 {
  width: 1.4rem;
  margin-right: 4px;
}
.sec_access .adderss a img.icon2 {
  width: 2.2rem;
  margin-left: 4px;
}
.sec_access .map {
  position: relative;
  margin-top: 7rem;
  width: 100%;
  border-radius: 1.5rem;
  overflow: hidden;
  aspect-ratio: 350 / 230;
}
.sec_access .map iframe {
  position: absolute;
  width: 100%;
}
@media (min-width: 768px) {
  .sec_access ._panel {
    display: flex;
    justify-content: space-between;
  }
  .sec_access .heading_2 {
    margin: 0 0 7.2rem;
  }
  .sec_access .heading_2 .heading_en {
    margin-bottom: 1.2rem;
  }
  .sec_access .heading_2 .heading_en img {
    width: 1.265rem;
  }
  .sec_access .heading_2 .heading_en span {
    font-size: 1.5rem;
  }
  .sec_access .heading_2 strong {
    font-size: 3.2rem;
  }
  .sec_access .adderss p {
    font-size: 1.6rem;
    letter-spacing: .04em;
  }
  .sec_access .adderss a {
    margin-top: 4.8rem;
    font-weight: 700;
    letter-spacing: .08em;
    transition: .5s;
  }
  .sec_access .adderss a:hover {
    opacity: .6;
  }
  .sec_access .adderss a img.icon1 {
    margin-right: 8px;
  }
  .sec_access .adderss a img.icon2 {
    width: 3.15rem;
    margin-left: 8px;
  }
  .sec_access .map {
    margin-top: 0;
    border-radius: 3rem;
    width: 52.63%;
    flex-shrink: 0;
  }
}

/* ---------------
	共通
--------------- */
.section {
  padding: 70px 0;
}
@media (min-width: 768px) {
  .section {
    padding: 140px 0;
  }
}

.inner {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 1rem;
}
.inner._panel {
  margin: 0 auto;
  padding: 70px 1rem;
  background-color: #FFFFFF;
  border-radius: 5rem;
}
@media (min-width: 768px) {
  .inner {
    max-width: 1280px;
    padding: 0 2rem;
  }
  .inner._panel {
    padding: 70px;
    border-radius: 10rem;
  }
}

.heading_2 {
  margin: 0 0 6rem;
  line-height: 1;
}
.heading_2 .heading_en {
  display: flex;
  align-items: center;
  margin-bottom: 6px;
}
.heading_2 .heading_en img {
  width: 1.8rem;
  margin-right: .8rem;
}
.heading_2 .heading_en span {
  font-family: Quicksand;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: .3em;
  line-height: 1.6;
  color: #4287AE;
}
.heading_2 strong {
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.6;
}

.heading_3 {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: 0;
  color: #396C87;
  margin-bottom: 3.2rem;
}

@media (min-width: 768px) {
  .heading_2 {
    margin: 0 0 7.2rem;
  }
  .heading_2 .heading_en {
    margin-bottom: 1.2rem;
  }
  .heading_2 .heading_en img {
    width: 1.265rem;
  }
  .heading_2 .heading_en span {
    font-size: 1.5rem;
  }
  .heading_2 strong {
    font-size: 3.2rem;
  }

  .heading_3 {
    font-size: 2.4rem;
  }
}
.btn_row {
  margin-top: 4rem;
  display: flex;
  justify-content: center;
}
.btn_row .btn_A {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 260px;
  height: 57px;
  background: linear-gradient(86.5deg, #3A94C7 29.72%, #A4D6F3 98.95%);
  border-radius: 3rem;
  box-shadow: 2px 6px 8px 0px #5D676D33;
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
  color: #FFFFFF;
}
.btn_row .btn_A span {
  margin-right: 1.2rem;
}
.btn_row .btn_B {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 260px;
  height: 57px;
  background: linear-gradient(86.5deg, #E1F4FF 29.72%, #FFFFFF 98.95%);
  border-radius: 3rem;
  box-shadow: 2px 6px 8px 0px #5D676D33;
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
  color: #396C87;
}
.btn_row .btn_B span {
  margin-right: 1.2rem;
}

.mv_inner {
  background: url("../images/common/mv_sp.webp") no-repeat;
  background-size: cover;
  background-position: bottom;
  border-radius: 0 0 0 200px;
  aspect-ratio: 380 / 480;
  width: 100%;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.mv_inner .mv_img {
  width: 58%;
  position: absolute;
  right: 0;
  bottom: 20%;
}
.mv_inner .mail {
  position: absolute;
  right: 2rem;
  bottom: 2rem;
}
.mv_inner .mail a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
  width: 223px;
  height: 96px;
  background: linear-gradient(250.34deg, #FFD8D6 -12.11%, #F57772 47.04%);
  border-radius: 2rem;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1;
  color: #FFFFFF;
  box-shadow: 2px 6px 8px 0px #5D676D33;
}
.mv_inner .mail a:hover {
  background: #FFFFFF;
  border: solid 2px #F57772;
  color: #F57772;
  box-shadow: none;
}

@media (min-width: 768px) {
  .btn_row {
    margin-top: 6.4rem;
  }
  .btn_row .btn_A {
    width: 300px;
    height: 64px;
    border-radius: 3rem;
  }
  .btn_row .btn_A:hover {
    background: #FFFFFF;
    border: solid 2px #4287AE;
    color: #4287AE;
    box-shadow: none;
  }
  .btn_row .btn_A span {
    margin-right: 1.6rem;
  }
  .btn_row .btn_B {
    width: 300px;
    height: 64px;
    border-radius: 3rem;
  }
  .btn_row .btn_B:hover {
    background: #FFFFFF;
    border: solid 2px #4287AE;
    color: #4287AE;
    box-shadow: none;
  }
  .btn_row .btn_B span {
    margin-right: 1.6rem;
  }

  .mv_inner {
    background: url("../images/common/mv_pc.webp") no-repeat;
    background-size: cover;
    background-position: bottom;
    aspect-ratio: 1856 / 800;
    border-radius: 0 0 0 500px;
  }
  .mv_inner .mv_img {
    width: 31%;
    right: 12%;
    bottom: 5.5%;
  }
}
/* ---------------
	エフェクト
--------------- */
.scroll_up {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s ease-out;
}

.scroll_up.on {
  opacity: 1;
  transform: translateY(0);
}

/*# sourceMappingURL=common.css.map */
