@charset "UTF-8";
:root {
  --cl_cyan: #5CC5F2;
  --cl_red_sweet: #FF6060;
  --cl_main: #0F376E;
}

/*!
foundation > base
------------------------------
*/
body {
  font-size: 0.875rem;
  color: #0f376e;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (min-width: 768px) {
  body {
    font-size: 1rem;
  }
}
body.popup_open {
  position: fixed;
  width: 100%;
  height: 100vh;
  height: 100lvh;
  left: 0;
}

#wrapper {
  width: 100%;
  position: relative;
  overflow: hidden;
}

main {
  position: relative;
  z-index: 1;
  padding-top: 78px;
}
@media screen and (min-width: 768px) {
  main {
    padding-top: 24px;
  }
}
main.p_top {
  padding-top: 0;
}

.full {
  width: 100%;
}

img {
  max-width: 100%;
  width: 100%;
}

:where(a, .h_opacity) {
  cursor: pointer;
  transition: opacity 0.5s ease;
}

@media screen and (min-width: 768px) {
  :where(a:hover, .h_opacity:hover) {
    opacity: 0.7;
  }
}
.pc {
  display: none !important;
}
@media screen and (min-width: 768px) {
  .pc {
    display: block !important;
  }
}

.sp {
  display: block !important;
}
@media screen and (min-width: 768px) {
  .sp {
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  .u_sp {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

a.blank {
  text-decoration: underline;
  text-underline-offset: 3px;
}
@media screen and (min-width: 768px) {
  a.blank:hover {
    text-decoration: none;
  }
}

/** -- ▷ header -- */
.c_header {
  position: relative;
  left: 0;
  width: 100%;
  z-index: 99;
}
.c_header__inner {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 34px 0 0 30px;
}
@media screen and (min-width: 768px) {
  .c_header__inner {
    padding: clamp(1.25rem,
        8.125vw + -6.0625rem,
        2.0625rem) 28px 0 clamp(1.25rem,
        35.625vw + -30.8125rem,
        4.8125rem);
    gap: 20px;
  }
}
.c_header__logo {
  width: 100%;
  max-width: 134px;
  position: relative;
  z-index: 2;
  transition: opacity 0.4s ease;
}
@media screen and (min-width: 768px) {
  .c_header__logo {
    display: block;
    max-width: clamp(18.75rem,
        25.6009615385vw + 6.4615384615rem,
        32.0625rem);
  }
}
@media screen and (min-width: 1024px) {
  .c_header__logo {
    max-width: clamp(15.625rem,
        45.6597222222vw + -13.5972222222rem,
        32.0625rem);
  }
}
.c_header__logo.out {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.c_header__logo .logo_link {
  display: flex;
  gap: 20px;
  justify-content: space-between;
}
.c_header__logo .logo_link .logo {
  width: 135px;
}
@media screen and (min-width: 768px) {
  .c_header__logo .logo_link .logo {
    width: 58.8693957115%;
  }
}
.c_header__logo .logo_link .logo_certification {
  width: 33.918128655%;
  position: relative;
  top: 7px;
  display: none;
}
@media screen and (min-width: 768px) {
  .c_header__logo .logo_link .logo_certification {
    display: block;
  }
}
.c_header__content {
  width: 100%;
  background-color: #fff;
  padding: 0 36px;
  border-radius: 60px;
  transition: all 0.5s;
  position: fixed;
  right: 0;
}
@media screen and (min-width: 1024px) {
  .c_header__content {
    right: 27px;
    padding: 0px clamp(1.25rem,
        2.7777777778vw + -0.5277777778rem,
        2.25rem) 0px clamp(0.625rem,
        4.5138888889vw + -2.2638888889rem,
        2.25rem);
    margin-left: auto;
    width: 100%;
    max-width: clamp(41.25rem,
        67.5480769231vw + -1.9807692308rem,
        58.8125rem);
  }
}

@media screen and (min-width: 1024px) {
  .page_top .c_header__content {
    transform: translateY(-150%);
  }
}
@media screen and (min-width: 1024px) {
  .page_top .c_header__content.active {
    transform: translateY(0);
  }
}
.page_top .c_toggle {
  opacity: 0;
}

.c_toggle {
  position: fixed;
  top: 29px;
  right: 20px;
  display: block;
  width: 58px;
  height: 58px;
  background-color: #fff;
  border-radius: 100%;
  cursor: pointer;
  z-index: 3;
  transition: all 0.5s;
}
@media screen and (min-width: 1024px) {
  .c_toggle {
    display: none;
  }
}
.c_toggle::after {
  position: absolute;
  top: calc(50% - 5px);
  left: 50%;
  transform: translate(-50%, -50%);
  content: "";
  width: 28px;
  height: 2px;
  background: #0f376e;
  transition: 0.5s;
  transform-origin: center;
}
.c_toggle::before {
  position: absolute;
  top: calc(50% + 5px);
  left: 50%;
  transform: translate(-50%, -50%);
  content: "";
  width: 28px;
  height: 2px;
  background: #0f376e;
  transition: 0.5s;
  transform-origin: center;
}
.c_toggle__line {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 90%;
  height: 90%;
  border-radius: 100%;
  border: 2px solid #0f376e;
  transform: translate(-50%, -50%);
}
.is_nav_open .c_toggle {
  background: #3e3e3e;
}
.is_nav_open .c_toggle::before {
  top: 50%;
  transform: translate(-50%, 0%) rotate(45deg);
  background: #fff;
}
.is_nav_open .c_toggle::after {
  top: 50%;
  transform: translate(-50%, 0%) rotate(-45deg);
  background: #fff;
}
.is_nav_open .c_toggle .c_toggle__line {
  border: 2px solid #fff;
}

/*!
component > gnavi
------------------------------
*/
.c_gnavi {
  opacity: 0;
  visibility: hidden;
  position: fixed;
  pointer-events: none;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  overflow-y: auto;
  padding: 155px 66px 100px 20px;
  z-index: 2;
}
.is_nav_open .c_gnavi {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
  background: url("../images/common/img_bg_menu.png") repeat;
  transition: opacity 0.5s ease-in-out, visibility 0.5s ease-in-out;
  color: #FFF;
}
@media screen and (min-width: 1024px) {
  .c_gnavi {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
    position: static;
    padding: 0;
    overflow-y: initial;
    height: initial;
    width: initial;
  }
}
.c_gnavi .menu_pc {
  display: none;
}
@media screen and (min-width: 1024px) {
  .c_gnavi .menu_pc {
    display: block;
  }
}
.c_gnavi .menu_pc .c_gnavi__link {
  position: relative;
  z-index: 0;
  overflow: hidden;
  transition: all 0.3s;
}
.c_gnavi .menu_pc .c_gnavi__link::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 154px;
  width: 125%;
  translate: -50% -50%;
  aspect-ratio: 1;
  z-index: -1;
  background-color: #0f376e;
  scale: 0.2;
  border-radius: 50%;
  opacity: 0;
  transition: all 0.3s;
}
@media screen and (min-width: 768px) {
  .c_gnavi .menu_pc .c_gnavi__link:hover {
    opacity: 1;
    color: #FFF;
  }
  .c_gnavi .menu_pc .c_gnavi__link:hover::after {
    scale: 1;
    opacity: 1;
  }
  .c_gnavi .menu_pc .c_gnavi__link:hover .link_ttl {
    background-color: #FFF;
    color: #0f376e;
  }
  .c_gnavi .menu_pc .c_gnavi__link:hover.link_map svg {
    fill: #FFF;
  }
}
.c_gnavi .menu_sp {
  display: block;
}
@media screen and (min-width: 1024px) {
  .c_gnavi .menu_sp {
    display: none;
  }
}
.c_gnavi .menu_sp .c_gnavi__item {
  line-height: 1.2;
}
.c_gnavi .menu_sp .c_gnavi__item + .c_gnavi__item {
  margin-top: 41px;
}
.c_gnavi .menu_sp .c_gnavi__item.has_submenu {
  margin-top: 57px;
}
.c_gnavi .menu_sp .c_gnavi__item .sub_item {
  margin-top: 29px;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.2;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
.c_gnavi .menu_sp .c_gnavi__sub {
  margin-right: -13px;
  padding-bottom: 20px;
}
.c_gnavi .menu_sp .fw_semi {
  font-weight: 600;
  margin-right: -13px;
}
.c_gnavi__list {
  font-weight: 400;
  font-size: 1.9375rem;
}
@media screen and (min-width: 1024px) {
  .c_gnavi__list {
    font-size: clamp(0.875rem,
        0.6944444444vw + 0.4305555556rem,
        1.125rem);
    display: flex;
    align-items: center;
  }
}
.c_gnavi__item {
  text-align: right;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 1024px) {
  .c_gnavi__item {
    text-align: left;
  }
}
.c_gnavi__link {
  letter-spacing: 0.1em;
  font-weight: 600;
}
@media screen and (min-width: 1024px) {
  .c_gnavi__link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(7.5rem,
        5.9027777778vw + 3.7222222222rem,
        9.625rem);
    height: clamp(3.75rem,
        4.3402777778vw + 0.9722222222rem,
        5.3125rem);
  }
}
.c_gnavi__link.link_map {
  width: 80px;
}
@media screen and (min-width: 768px) {
  .c_gnavi__link.link_map {
    width: clamp(2.5rem,
        6.9444444444vw + -1.9444444444rem,
        5rem);
  }
}
.c_gnavi__link.link_map svg {
  fill: #0f376e;
}
@media screen and (min-width: 768px) {
  .c_gnavi__link.link_map svg {
    width: clamp(1.25rem,
        10.4166666667vw + -5.4166666667rem,
        5rem);
  }
}
.c_gnavi__link .link_ttl {
  background-color: #0f376e;
  color: #fff;
  font-weight: 600;
  padding: 10px;
  border-radius: 40px;
  transition: all 0.3s;
}

.c_footer {
  background-color: #0f376e;
  color: #fff;
  padding: 38px 43px;
}
@media screen and (min-width: 768px) {
  .c_footer {
    padding: 50px 0;
  }
}
.c_footer .footer_pc {
  display: none;
}
@media screen and (min-width: 768px) {
  .c_footer .footer_pc {
    display: block;
  }
}
.c_footer .footer_sp {
  display: block;
}
@media screen and (min-width: 768px) {
  .c_footer .footer_sp {
    display: none;
  }
}
.c_footer .footer_sp .footer_menu {
  width: calc(100% + 10px);
}
.c_footer .footer_sp .footer_menu__col:nth-child(1) {
  width: 55.2050473186%;
  padding-left: 2px;
}
.c_footer .footer_sp .footer_menu__col:nth-child(2) {
  width: 34.7003154574%;
}
.c_footer .footer_sp .footer_menu__sub.two-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.c_footer__inner {
  width: 100%;
  max-width: 1633px;
  margin: 0 auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  .c_footer__inner {
    display: flex;
    gap: 20px;
    justify-content: space-between;
  }
}
@media screen and (min-width: 768px) {
  .c_footer .footer_info {
    width: 42.0085731782%;
    margin-left: clamp(-1.625rem,
        -14.375vw + 15.625rem,
        1.25rem);
  }
}
.c_footer .footer_info .contact_link {
  font-family: "Jost", sans-serif;
  font-weight: 500;
  font-size: clamp(2.3125rem,
        16.6666666667vw + -1.59375rem,
        2.5rem);
  display: inline-flex;
  gap: 23px;
  letter-spacing: 0.016em;
  font-feature-settings: "palt";
}
@media screen and (min-width: 768px) {
  .c_footer .footer_info .contact_link {
    align-items: center;
    letter-spacing: 0.12em;
    gap: 10px;
    font-weight: 600;
    font-size: clamp(1.875rem,
        4.7139423077vw + -0.3876923077rem,
        4.32625rem);
  }
}
.c_footer .footer_info .contact_link .icon {
  display: inline-block;
  width: 35px;
  height: 35px;
  background-color: #12366f;
  border: 2px solid white;
  border-radius: 50%;
  position: relative;
  right: 0;
  top: clamp(0.25rem,
        11.1111111111vw + -2.3541666667rem,
        0.375rem);
}
@media screen and (min-width: 768px) {
  .c_footer .footer_info .contact_link .icon {
    width: clamp(3.125rem,
        2.0432692308vw + 2.1442307692rem,
        4.1875rem);
    height: clamp(3.125rem,
        2.0432692308vw + 2.1442307692rem,
        4.1875rem);
    position: relative;
    top: 0;
    flex-shrink: 0;
  }
}
.c_footer .footer_info .contact_link .icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 25%;
  width: 10px;
  height: 1px;
  background-color: white;
  transform: translateY(-50%);
}
@media screen and (min-width: 768px) {
  .c_footer .footer_info .contact_link .icon::before {
    left: calc(25% + 2px);
    height: 2px;
    width: clamp(0.9375rem,
        1.2019230769vw + 0.3605769231rem,
        1.5625rem);
  }
}
.c_footer .footer_info .contact_link .icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(50% + 2px);
  width: 8px;
  height: 8px;
  border-top: 1px solid white;
  border-right: 1px solid white;
  transform: translate(-50%, -50%) rotate(45deg);
}
@media screen and (min-width: 768px) {
  .c_footer .footer_info .contact_link .icon::after {
    border-top: 2px solid white;
    border-right: 2px solid white;
    width: clamp(0.625rem,
        0.6009615385vw + 0.3365384615rem,
        0.9375rem);
    height: clamp(0.625rem,
        0.6009615385vw + 0.3365384615rem,
        0.9375rem);
  }
}
.c_footer .footer_info .logo_footer {
  width: 100%;
  max-width: 207px;
  display: block;
}
.c_footer .footer_info__main {
  padding: 16px 0 0 6px;
}
@media screen and (min-width: 768px) {
  .c_footer .footer_info__main {
    padding: 16px 0 0 12px;
  }
}
.c_footer .footer_info__desc {
  padding-top: 9px;
  letter-spacing: 0.1em;
  font-size: 0.75rem;
  line-height: 1.7;
  font-weight: 300;
}
@media screen and (min-width: 768px) {
  .c_footer .footer_info__desc {
    padding-top: 6px;
    line-height: 1.5;
    font-size: clamp(0.875rem,
        0.78125vw + 0.5rem,
        1rem);
  }
}
.c_footer .footer_menu {
  margin-top: 34px;
  display: flex;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .c_footer .footer_menu {
    gap: 20px;
    margin-top: 9px;
    width: 39.2529087569%;
    padding-right: 12px;
  }
}
.c_footer .footer_menu__col {
  display: flex;
  flex-direction: column;
}
.c_footer .footer_menu__col:nth-child(2) {
  position: relative;
}
@media screen and (min-width: 768px) {
  .c_footer .footer_menu__col:nth-child(2) {
    left: -4px;
  }
}
.c_footer .footer_menu__item {
  font-weight: 600;
  line-height: 1.75;
  letter-spacing: 0.05em;
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  .c_footer .footer_menu__item {
    font-size: 1.25rem;
  }
}
.c_footer .footer_menu__item + .footer_menu__item {
  margin-top: 44px;
  font-size: clamp(1rem,
        0.4807692308vw + 0.7692307692rem,
        1.25rem);
}
@media screen and (min-width: 768px) {
  .c_footer .footer_menu__item + .footer_menu__item {
    margin-top: clamp(1.25rem,
        4.8076923077vw + -1.0576923077rem,
        3.75rem);
  }
}
.c_footer .footer_menu__sub {
  padding-top: 16px;
  display: flex;
  justify-content: space-between;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .c_footer .footer_menu__sub {
    display: block;
    padding-top: 19px;
  }
}
.c_footer .footer_menu__sub .footer_menu__item {
  font-size: 0.6875rem;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .c_footer .footer_menu__sub .footer_menu__item {
    font-size: 0.9375rem;
  }
}
.c_footer .footer_menu__sub .footer_menu__item + .footer_menu__item {
  margin-top: clamp(1rem,
        0.5952380952vw + 0.7142857143rem,
        1.25rem);
}

@media screen and (min-width: 768px) {
  .c_pmv .c_mttl__ja {
    margin-top: 10px;
    position: relative;
    left: 12px;
  }
}
.c_pmv .c_pmv__thumb {
  margin-inline: calc(50% - 50vw);
  display: block;
  margin-top: 32px;
}
@media screen and (min-width: 768px) {
  .c_pmv .c_pmv__thumb {
    margin-top: 35px;
  }
}
.c_pmv .c_pmv__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c_mttl {
  display: grid;
  justify-content: flex-start;
}
.c_mttl .c_mttl__en {
  font-size: 3.4375rem;
  color: var(--cl_main);
  font-family: "Jost", sans-serif;
  letter-spacing: 0.09em;
}
@media screen and (min-width: 768px) {
  .c_mttl .c_mttl__en {
    font-size: clamp(3.4375rem,
        9.0189873418vw + -0.8916139241rem,
        7rem);
  }
}
.c_mttl .c_mttl__ja {
  font-size: 1.4375rem;
  font-weight: 600;
  color: var(--cl_main);
  letter-spacing: 0.15em;
}
@media screen and (min-width: 768px) {
  .c_mttl .c_mttl__ja {
    font-size: clamp(1.4375rem,
        2.8481012658vw + 0.0704113924rem,
        2.5625rem);
    margin-top: 8px;
  }
}
.c_mttl.c_mttl__center {
  justify-content: center;
  justify-items: center;
}
.c_mttl.c_mttl__sm .c_mttl__en {
  font-size: 2.875rem;
}
@media screen and (min-width: 768px) {
  .c_mttl.c_mttl__sm .c_mttl__en {
    font-size: clamp(2.875rem,
        6.1708860759vw + -0.0870253165rem,
        5.3125rem);
  }
}
.c_mttl.c_mttl__sm .c_mttl__ja {
  font-size: 1.1875rem;
  margin-top: 8px;
}
@media screen and (min-width: 768px) {
  .c_mttl.c_mttl__sm .c_mttl__ja {
    font-size: clamp(1.1875rem,
        2.6898734177vw + -0.1036392405rem,
        2.25rem);
    margin-top: 8px;
  }
}

.c_ttl01 {
  color: #0f376e;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c_ttl01 {
    text-align: left;
  }
}
.c_ttl01__en {
  font-weight: 400;
  font-size: 3.3125rem;
  letter-spacing: 0.085em;
  font-family: "Jost", sans-serif;
}
@media screen and (min-width: 768px) {
  .c_ttl01__en {
    letter-spacing: 0.09em;
    font-size: clamp(3.875rem,
        6.0096153846vw + 0.9903846154rem,
        7rem);
  }
}
.c_ttl01__jp {
  display: block;
  font-weight: 600;
  letter-spacing: 0.15em;
  font-size: 1.3125rem;
  padding: 8px 0 0;
}
@media screen and (min-width: 768px) {
  .c_ttl01__jp {
    padding: 11px 0 0 10px;
    font-size: clamp(1.5rem,
        2.0432692308vw + 0.5192307692rem,
        2.5625rem);
  }
}

/*!
component > btn
------------------------------
*/
.c_totop {
  position: fixed;
  width: 45px;
  height: 45px;
  right: 5px;
  z-index: 11;
  bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #0f376e;
  border-radius: 100%;
  transform: translateY(150px);
  color: #fff;
  transition: 300ms;
  border: 2px solid #fff;
}
.c_totop:hover {
  background-color: #baaf8f;
}
@media screen and (min-width: 768px) {
  .c_totop {
    width: 60px;
    height: 60px;
    bottom: 30px;
  }
}
.c_totop::after {
  content: "";
  flex-shrink: 0;
  height: 10px;
  width: 10px;
  border-width: 0 2px 2px 0;
  border-color: #fff;
  border-style: solid;
  transform: rotate(-135deg);
  transition: background-color 0.5s ease;
  transform-origin: 50% 60%;
  position: relative;
  transition: 0.5s;
}
@media screen and (min-width: 768px) {
  .c_totop::after {
    height: 15px;
    width: 15px;
    border-width: 0 3px 3px 0;
  }
}

.c_btn {
  width: 100%;
  max-width: 274px;
  border: 2px solid #0f376e;
  letter-spacing: 0.15em;
  font-size: 1.25rem;
}
@media screen and (min-width: 768px) {
  .c_btn {
    border: 4px solid #0f376e;
    max-width: clamp(22.5rem,
        26.9230769231vw + 9.5769230769rem,
        36.5rem);
    font-size: clamp(1.5rem,
        2.2836538462vw + 0.4038461538rem,
        2.6875rem);
  }
}
@media screen and (min-width: 768px) {
  .c_btn.btn02 {
    max-width: 466px;
    margin-left: auto;
  }
}
.c_btn .btn {
  display: flex;
  justify-content: space-between;
  padding: 17px 27px 15px 30px;
  position: relative;
  overflow: hidden;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .c_btn .btn {
    gap: 10px;
    padding: clamp(1.25rem,
        1.3221153846vw + 0.6153846154rem,
        1.9375rem) clamp(1.25rem,
        2.4305555556vw + 0.0833333333rem,
        3rem) clamp(1.25rem,
        1.3221153846vw + 0.6153846154rem,
        1.9375rem) clamp(1.25rem,
        2.9513888889vw + -0.1666666667rem,
        3.375rem);
  }
}
.c_btn .btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background-color: #0f376e;
  transition: left 0.5s ease;
  z-index: -1;
}
.c_btn .btn:hover {
  opacity: 1;
}
@media screen and (min-width: 768px) {
  .c_btn .btn:hover {
    color: #fff;
  }
  .c_btn .btn:hover::before {
    left: 0;
  }
}
@media screen and (min-width: 768px) {
  .c_btn .btn:hover .icon::after {
    background-color: #fff;
  }
}
.c_btn .btn.btn_en {
  font-size: 1.125rem;
}
@media screen and (min-width: 768px) {
  .c_btn .btn.btn_en {
    font-size: clamp(1.25rem,
        0.9615384615vw + 0.7884615385rem,
        1.75rem);
    padding: clamp(0.9375rem,
        2.4038461538vw + -0.2163461538rem,
        2.1875rem) clamp(0.625rem,
        3.125vw + -0.875rem,
        2.25rem) clamp(0.9375rem,
        1.3221153846vw + 0.3028846154rem,
        1.625rem) clamp(0.625rem,
        3.7259615385vw + -1.1634615385rem,
        2.5625rem);
  }
}
@media screen and (min-width: 768px) {
  .c_btn .btn.btn_en .icon::after {
    width: clamp(3.125rem,
        2.2836538462vw + 2.0288461538rem,
        4.3125rem);
    top: 5px;
  }
}
.c_btn .icon {
  position: relative;
}
.c_btn .icon::after {
  content: "";
  position: relative;
  display: inline-block;
  width: 45px;
  height: 14px;
  background-color: #0f376e;
  mask-image: url(../images/common/icon_arrow.svg);
  -webkit-mask-image: url(../images/common/icon_arrow.svg);
  mask-size: contain;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .c_btn .icon::after {
    top: 1px;
    width: clamp(2.5rem,
        7.6923076923vw + -1.1923076923rem,
        6.5rem);
    height: clamp(1.5rem,
        0.9615384615vw + 1.0384615385rem,
        2rem);
    margin-left: 11px;
    transition: all 0.5s;
  }
}

/*!
component > Other
------------------------------

- loadpage
------------------------------
*/
.c_map {
  width: 100%;
}
.c_map iframe {
  width: 100%;
  height: 261px;
}
@media screen and (min-width: 768px) {
  .c_map iframe {
    height: 662px;
  }
}

[data-delay="0.1s"] {
  transition-delay: 0.1s;
}

[data-delay="0.2s"] {
  transition-delay: 0.2s;
}

[data-delay="0.3s"] {
  transition-delay: 0.3s;
}

[data-delay="0.4s"] {
  transition-delay: 0.4s;
}

[data-delay="0.5s"] {
  transition-delay: 0.5s;
}

[data-delay="0.6s"] {
  transition-delay: 0.6s;
}

[data-delay="0.7s"] {
  transition-delay: 0.7s;
}

[data-delay="0.8s"] {
  transition-delay: 0.8s;
}

[data-delay="0.9s"] {
  transition-delay: 0.9s;
}

[data-delay="1s"] {
  transition-delay: 1s;
}

[data-delay="1.5s"] {
  transition-delay: 1.5s;
}

.js_inview[data-duration="1s"] {
  transition-duration: 1s;
}

.js_inview[data-duration="1.5s"] {
  transition-duration: 1.5s;
}

.js_inview[data-duration="2s"] {
  transition-duration: 2s;
}

.js_inview {
  opacity: 0;
  transition-property: opacity, transform;
  transition-duration: 1.5s;
  transition-delay: 0s;
}

.fade {
  opacity: 0;
}

.fadeup {
  transform: translate3d(0, 30px, 0);
}

.fadedown {
  transform: translate3d(0, -30px, 0);
}

.faderight {
  transform: translate3d(30px, 0, 0);
}

.fadeleft {
  transform: translate3d(-30px, 0, 0);
}

.is_show.js_inview {
  opacity: 1;
  transform: none;
}

.c_work_nav__in {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 16px;
}
@media screen and (min-width: 768px) {
  .c_work_nav__in {
    column-gap: clamp(1.5625rem,
        3.9556962025vw + -0.3362341772rem,
        3.125rem);
  }
}
.c_work_nav__item {
  flex: 1;
  max-width: 105px;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .c_work_nav__item {
    max-width: 474px;
    border-radius: 40px;
  }
}
.c_work_nav__button {
  text-align: center;
  width: 100%;
  aspect-ratio: 1;
  font-weight: 500;
  letter-spacing: 0.15em;
  position: relative;
  z-index: 0;
  transition: color 0.3s ease-in-out;
  border-radius: 50%;
  border: 2px solid #0F376E;
  font-size: clamp(0.9375rem,
        9.0909090909vw + -0.8806818182rem,
        1.25rem);
}
@media screen and (min-width: 768px) {
  .c_work_nav__button {
    aspect-ratio: unset;
    min-height: clamp(4.0625rem,
        5.3797468354vw + 1.480221519rem,
        6.1875rem);
    border: 4px solid #0F376E;
    border-radius: 40px;
    font-size: clamp(1.25rem,
        3.3227848101vw + -0.3449367089rem,
        2.5625rem);
    padding: 2px 0 10px;
  }
}
.c_work_nav__button::after {
  content: "";
  position: absolute;
  border-radius: 40px;
  top: -4px;
  left: -4px;
  bottom: -4px;
  right: -4px;
  background-color: #0F376E;
  transform-origin: left center;
  transform: scaleX(0);
  transition: transform 0.3s ease-in-out;
  z-index: -1;
}
.c_work_nav__button.active {
  background-color: #0F376E;
  color: #FFFFFF;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .c_work_nav__button:hover {
    color: #fff;
  }
  .c_work_nav__button:hover::after {
    transform: scaleX(1);
  }
}

/*!
component > Texts
------------------------------
*/
/*!
component > List
------------------------------
*/
.c_breadcrumb {
  padding: 10px 20px;
}
@media screen and (min-width: 768px) {
  .c_breadcrumb {
    padding: 18px 38px 15px;
  }
}
.c_breadcrumb__content {
  display: flex;
  justify-content: flex-end;
}
.c_breadcrumb__item {
  color: #c6c6c6;
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1.4285714286;
}
@media screen and (min-width: 768px) {
  .c_breadcrumb__item {
    font-size: 0.875rem;
  }
}
.c_breadcrumb__item a {
  font-family: "Raleway", sans-serif;
  color: #262424;
  padding-right: 16px;
  margin-right: 12px;
  position: relative;
}
.c_breadcrumb__item a::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 6px;
  height: 1px;
  background-color: #262424;
}

/*!
layout > container
------------------------------
*/
.container {
  width: 100%;
  padding: 0 20px;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .container {
    max-width: 1200px;
  }
}
/*!
page > common > common
------------------------------
*/
/*# sourceMappingURL=common.css.map */
