@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Roboto:ital,wght@0,100..900;1,100..900&family=Source+Sans+3:ital,wght@0,200..900;1,200..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Emoji:wght@300..700&display=swap");
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

:root {
  --primary-color: #0055aa;
  --secondary-color: #ffaa00;
  --spacing-unit: 1rem;
  --color-white: #ffffff;
  --color-white2: #f0f0f0;
  --color-white3: #f2f2f2;
  --color-white4: #f7f7f7;
  --color-black: #000000;
  --color-black2: #222222;
  --color-yellow: #f6d600;
  --color-yellow2: #fec629;
  --color-highlight-y: #f3ff14;
  --color-d-yellow: #916d13;
  --color-blue: #003968;
  --color-gray: #828282;
  --color-gray2: #d8d8d8;
  --color-gray3: #bdbdbd;
  --color-gray4: #f5f5f5;
  --color-gray5: #d0d0d0;
  --color-orange: #f38165;
  --color-green: #94c539;
  --color-red: #e43a3a;
  --color-required: #e53935;
  --color-checkbox-red: #fe0000;
  --color-green2: #218e95;
  --color-purple: #825cac;
  --color-sky-blue: #18abe7;
  --color-sky-blue-trans: rgba(24, 171, 231, 0.1);
  --color-light-orange: #fef3f0;
  --color-blue2: #25b1ca;
  --color-border-white: #e0e0e0;
  --font-lato: "Lato", sans-serif;
  --font-primary: "Source Sans 3", sans-serif;
  --font-roboto: "Roboto", sans-serif;
  --font-noto-sans-jp: "Noto Sans JP", sans-serif;
  --noto-emoji: "Noto Emoji", sans-serif;
  --font-inter :  "Inter", sans-serif;
}

* {
  box-sizing: border-box;
}

/* フォント・文字サイズ指定
-------------------------------------------------------------*/
html {
  font-size: 10px;
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-primary) !important;
  font-size: 1.4rem;
  color: var(--color-black);
  line-height: 1.5;
  position: relative;
  font-weight: 500;
  background-color: var(--color-white);
}

.b-o {
  overflow: hidden;
}

@media only screen and (max-width: 768px) {
  body {
    font-size: 1.6rem;
  }
}

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

a {
  text-decoration: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
  vertical-align: middle;
}

iframe {
  max-width: 100%;
  vertical-align: middle;
}

picture {
  display: block;
  max-width: 100%;
}

.container {
  max-width: 1470px;
  padding: 0 15px;
  margin: 0 auto;
}

/* HEADER */
.header {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 10;
}

.header__wrp {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 15px 0 10px;
}

@media only screen and (min-width: 768px) {
  .header__wrp {
    padding: 30px 20px 0;
  }
}

@media only screen and (min-width: 992px) {
  .header__wrp {
    gap: 10px;
  }
}

@media only screen and (min-width: 1200px) {
  .header__wrp {
    padding: 30px 48px 0 28px;
  }
}

.header__navs {
  display: none;
}

@media only screen and (min-width: 992px) {
  .header__navs {
    display: flex;
    align-items: center;
    gap: 30.5px;
  }
}

.header__navs-list {
  display: flex;
  align-items: center;
  gap: 16px;
}

.header__navs-list li a {
  color: var(--color-white);
  font-family: var(--font-lato);
  font-size: 14px;
  font-weight: 700;
  line-height: 21px;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media only screen and (min-width: 992px) {
  .header__navs-list li a {
    font-size: 12px;
  }
}

@media only screen and (min-width: 1200px) {
  .header__navs-list li a {
    font-size: 14px;
  }
}

.header__navs-list li .down-arrow::after {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25' height='24' viewBox='0 0 25 24' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M12.8982 15.6629C12.6785 15.8826 12.3224 15.8826 12.1027 15.6629L6.36788 9.92804C6.14821 9.70837 6.14821 9.35227 6.36788 9.13259L6.63305 8.86739C6.85271 8.64772 7.20887 8.64772 7.42854 8.86739L12.5005 13.9393L17.5724 8.86739C17.7921 8.64772 18.1482 8.64772 18.3679 8.86739L18.6331 9.13259C18.8527 9.35227 18.8527 9.70837 18.6331 9.92804L12.8982 15.6629Z' fill='white'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  transition: all 0.2s ease;
  width: 24px;
  height: 24px;
}

.header__hamburger {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 40px;
  height: 25px;
  cursor: pointer;
  transition: all 0.3s ease;
  transform: rotate(0deg);
  position: relative;
  z-index: 10;
  user-select: none;
}

@media only screen and (min-width: 992px) {
  .header__hamburger {
    display: none;
  }

  .header__hamburger:hover .header__hamburger-line {
    transition: all 0.3s ease;
    width: 100%;
  }
}

.header__hamburger.active .header__hamburger-line {
  background-color: var(--color-white) !important;
  width: 100%;
}

.header__hamburger.active .header__hamburger-line:nth-of-type(1) {
  top: 10px;
  transform: rotate(135deg);
}

.header__hamburger.active .header__hamburger-line:nth-of-type(2) {
  opacity: 0;
}

.header__hamburger.active .header__hamburger-line:nth-of-type(3) {
  top: 10px;
  transform: rotate(-135deg);
}

.header__hamburger-line {
  height: 3px;
  width: 100%;
  background-color: var(--color-white);
  transition: all 0.3s ease;
  display: block;
  transform: rotate(0deg);
  user-select: none;
  opacity: 1;
  position: absolute;
  right: 0;
}

.header__hamburger-line:nth-of-type(2) {
  width: 75%;
  margin-left: auto;
  top: 10px;
}

.header__hamburger-line:nth-of-type(3) {
  width: 50%;
  margin-left: auto;
  top: 20px;
}

.header.is-invert .header__navs-list li a {
  color: var(--color-black);
  transition: all 0.35s ease;
}

.header.is-invert .header__navs-list li .down-arrow {
  transition: all 0.35s ease;
}

.header.is-invert .header__navs-list li .down-arrow::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25' height='24' viewBox='0 0 25 24' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M12.8982 15.6629C12.6785 15.8826 12.3224 15.8826 12.1027 15.6629L6.36788 9.92804C6.14821 9.70837 6.14821 9.35227 6.36788 9.13259L6.63305 8.86739C6.85271 8.64772 7.20887 8.64772 7.42854 8.86739L12.5005 13.9393L17.5724 8.86739C17.7921 8.64772 18.1482 8.64772 18.3679 8.86739L18.6331 9.13259C18.8527 9.35227 18.8527 9.70837 18.6331 9.92804L12.8982 15.6629Z' fill='black'/%3E%3C/svg%3E");
}

.header__color-logo {
  opacity: 0;
  visibility: hidden;
  max-width: 0;
}

.header.is-invert .header__color-logo {
  opacity: 1;
  visibility: visible;
  max-width: 100%;
}

.header.is-invert .header__logo {
  opacity: 0;
  visibility: hidden;
  max-width: 0;
}

@media only screen and (max-width: 991px) {
  .header__logo,
  .header__color-logo {
    width: 164px;
  }
}

.header.is-invert .header__hamburger-line {
  background-color: var(--color-black);
}

.header__close {
  position: absolute;
  right: 15px;
  top: 16px;
  width: 30.69px;
  cursor: pointer;
  height: 30.527px;
  transition: all 0.35s ease;
  user-select: none;
}

.header__close::after {
  content: "";
  position: absolute;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='31' height='31' viewBox='0 0 31 31' fill='none'%3E%3Crect x='2.59375' y='0.28418' width='40' height='3' transform='rotate(45 2.59375 0.28418)' fill='white'/%3E%3Crect x='0.59375' y='28.2842' width='40' height='3' transform='rotate(-45 0.59375 28.2842)' fill='white'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.header__close:hover {
  opacity: 0.75;
}

.header__sp-menu {
  position: fixed;
  top: 0;
  left: 0;
  background-image: url("../img/lazy-load/menu-sp-bg.webp");
  background-position: top;
  background-repeat: no-repeat;
  background-size: cover;
  overflow-y: scroll;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  max-height: 0;
  z-index: 4;
}

@media only screen and (min-width: 992px) {
  .header__sp-menu {
    display: none;
  }
}

.header__sp-menu.show {
  width: 100%;
  opacity: 1;
  visibility: visible;
  max-height: 100dvh;
}

.header__sp-wrp {
  padding: 60px 15px;
  height: 100%;
  position: relative;
}

.header__url {
  margin-top: 30px;
  margin-bottom: 20px;
}

.header__url .cta__contact {
  align-items: flex-start;
}

.header__links-ttl {
  color: #fff;
  font-family: var(--font-lato);
  font-size: 19px;
  font-weight: 700;
  line-height: 29px;
  padding-bottom: 4px;
  border-bottom: 1px solid var(--color-white);
  /* 28.5px */
}

.header__sp-contact {
  margin-top: 15px;
}

.header__sp-contact .c-btn-primary {
  background-color: var(--color-white);
  color: var(--color-black);
  min-width: 288px;
}

.header__links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 15px;
  align-items: flex-start;
  margin-top: 15px;
}

@media only screen and (min-width: 768px) {
  .header__links {
    margin-top: 0;
  }
}

.header__links li {
  width: calc((100% / 2) - (15px * 1) / 2);
}

.header__links li a {
  color: var(--color-white);
  font-size: 13px;
  font-weight: 500;
  line-height: 20px;
}

.header__links li .link {
  display: flex;
  align-items: center;
  gap: 4px;
}

.header__links li .link::after {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='13' viewBox='0 0 14 13' fill='none'%3E%3Cg clip-path='url(%23clip0_1007_13333)'%3E%3Cpath d='M13.5 1.40173H3.5V9.40173H13.5V1.40173Z' stroke='white'/%3E%3Cpath d='M0.5 3.90173V12.9017' stroke='white'/%3E%3Cpath d='M0 12.4017H11' stroke='white'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_1007_13333'%3E%3Crect width='14' height='12' fill='white' transform='translate(0 0.901733)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 14px;
  height: 12px;
}

.header__social-links {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 15px;
}

.header__url .cta__txt {
  margin-top: 15px;
  text-align: start;
}

/* HEADER */
/* C-btn-primary */
.c-btn-primary {
  color: var(--color-white);
  font-family: var(--font-lato);
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 17px;
  letter-spacing: 0.7px;
  background-color: var(--color-black);
  padding: 10px 22px;
  border-radius: 50px;
  border: 2px solid var(--color-black);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}

.c-btn-primary:hover {
  background-color: var(--color-white);
  color: var(--color-black);
}

/* C-btn-primary__main */
.c-btn-primary__main {
  color: var(--color-white);
  font-family: var(--font-lato);
  font-style: normal;
  font-weight: 700;
  background-color: var(--color-black);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9.2px 18.15px;
  border-radius: 41.977px;
  border: 1.679px solid var(--color-black);
  gap: 6.72px;
  transition: all 0.35s ease;
  font-size: 14px;
  line-height: 17px;
  letter-spacing: 0.7px;
}

@media only screen and (min-width: 768px) {
  .c-btn-primary__main {
    gap: 8px;
    min-width: 266px;
    border: 2px solid var(--color-black);
    letter-spacing: 0.8px;
    border-radius: 50px;
    line-height: 19px;
    font-size: 16px;
    padding: 10px 22px;
  }
}

.c-btn-primary__main .arrow {
  width: 30px;
  height: 30px;
  position: relative;
  background-color: var(--color-white);
  border-radius: 100%;
  transition: all 0.35s ease;
}

.c-btn-primary__main .arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30' fill='none'%3E%3Cpath d='M7 15.2222H22.5556' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M16.7773 21.4444L22.9996 15.2222L16.7773 9' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 24px;
  /* transition: all 0.35s ease; */
  height: 24px;
}

.c-btn-primary__main:hover {
  background-color: var(--color-white);
  color: var(--color-black);
}

.c-btn-primary__main:hover .arrow {
  background-color: var(--color-black);
}

.c-btn-primary__main:hover .arrow:after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30' fill='none'%3E%3Cpath d='M7 15.2222H22.5556' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M16.7773 21.4444L22.9996 15.2222L16.7773 9' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.c-btn-primary__main.c-btn-primary__secondary {
  color: var(--color-black);
  font-family: var(--font-lato);
  background-color: var(--color-yellow);
  border: 1.679px solid var(--color-yellow);
}

@media only screen and (min-width: 768px) {
  .c-btn-primary__main.c-btn-primary__secondary {
    border: 2px solid var(--color-yellow);
  }
}

.c-btn-primary__main.c-btn-primary__secondary:hover {
  border-color: var(--color-black);
  background-color: var(--color-white);
}

/* C-btn-primary */
.c-btn-primary__main.c-btn-primary__secondary.phone {
  font-size: 24px;
  font-weight: 700;
  font-weight: var(--font-primary);
  padding-block: 12px;
  align-items: center;
}

/* c-btn-secondary */
.c-btn-secondary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--color-black);
  font-family: var(--font-lato);
  font-size: 14px;
  line-height: 17px;
  letter-spacing: 0.7px;
  font-weight: 700;
}

@media only screen and (min-width: 768px) {
  .c-btn-secondary {
    font-size: 16px;
    line-height: 19px;
    letter-spacing: 0.8px;
  }
}

.c-btn-secondary img {
  width: 35px;
  transition: all 0.3s ease;
}

@media only screen and (min-width: 768px) {
  .c-btn-secondary img {
    width: auto;
  }
}

.c-btn-secondary .arrow {
  position: relative;
  width: 35px;
  height: 35px;
  display: block;
  border-radius: 50px;
  border: 1px solid var(--color-white);
  overflow: hidden;
  background-color: var(--color-black);
}

.c-btn-secondary .arrow::after {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='35' height='35' viewBox='0 0 35 35' fill='none'%3E%3Cpath d='M10.5 17.6945H24.1111' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M19.0547 23.1389L24.4991 17.6944L19.0547 12.25' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 35px;
  height: 35px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  animation-fill-mode: both;
  animation-duration: 0.6s;
  animation-timing-function: ease-out;
}

.c-btn-secondary .arrow::before {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='35' height='35' viewBox='0 0 35 35' fill='none'%3E%3Cpath d='M10.5 17.6945H24.1111' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M19.0547 23.1389L24.4991 17.6944L19.0547 12.25' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 35px;
  height: 35px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  animation-fill-mode: both;
  animation-duration: 0.6s;
  animation-timing-function: ease-out;
}

.c-btn-secondary .txt span {
  transition: transform 0.3s ease;
  display: inline-block;
  --delay: 0s;
}

.c-btn-secondary:hover .txt span {
  animation: wave 0.6s ease;
  animation-delay: var(--delay);
}

.c-btn-secondary:hover .arrow::before {
  animation-name: transformLeftRight;
  animation-delay: 0.2s;
}

.c-btn-secondary:hover .arrow::after {
  animation-name: transformRightLeft;
}

/* c-btn-tertiary */
.c-btn-tertiary {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 13px;
  color: var(--color-black);
  font-weight: 700;
  line-height: 16px;
  font-family: var(--font-lato);
  letter-spacing: 0.65px;
  gap: 10px;
}

@media only screen and (min-width: 768px) {
  .c-btn-tertiary {
    font-size: 16px;
    line-height: 19px;
    letter-spacing: 0.8px;
  }
}

.c-btn-tertiary img {
  transition: all 0.2s ease-in-out;
  width: 15px;
}

@media only screen and (min-width: 768px) {
  .c-btn-tertiary img {
    width: auto;
  }
}

.c-btn-tertiary:hover img {
  transform: translateX(5px);
  transition: all 0.2s ease-in-out;
}

.c-heading-primary {
  margin-bottom: 30px;
  padding-left: 31px;
}

@media only screen and (min-width: 768px) {
  .c-heading-primary {
    padding-left: 38px;
  }
}

.c-heading-primary.c-heading-secondary {
  padding-left: 0;
  padding-right: 48px;
}

.c-heading-primary.c-heading-secondary .c-heading-primary__main {
  text-align: end;
}

.c-heading-primary.c-heading-secondary .c-heading-primary__main::before {
  left: unset;
  right: -48px;
}

.c-heading-primary.c-heading-secondary .c-heading-primary__sub {
  text-align: end;
}

.c-heading-primary__main {
  font-family: var(--font-lato);
  font-weight: 900;
  position: relative;
  font-size: 40px;
  letter-spacing: 2px;
  line-height: 48px;
}

@media only screen and (min-width: 768px) {
  .c-heading-primary__main {
    font-size: 60px;
    line-height: 72px;
    letter-spacing: 3px;
  }
}

.c-heading-primary__main::before {
  content: "";
  height: 100%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-image: url("../img/icon-line-tilt.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 26px;
  left: -31px;
}

@media only screen and (min-width: 768px) {
  .c-heading-primary__main::before {
    width: 38px;
    left: -48px;
  }
}

.c-heading-primary__main.--ja {
  font-weight: 700;
  font-size: 30px;
  font-family: var(--font-primary);
}

@media only screen and (min-width: 768px) {
  .c-heading-primary__main.--ja {
    font-size: 50px;
  }
}

.c-heading-primary__main.--ja .sep-txt {
  padding-top: 5px;
}

.c-heading-primary__sub {
  font-family: var(--font-lato);
  font-weight: 400;
  margin-top: 5px;
  font-size: 13px;
  line-height: 16px;
  letter-spacing: 1.3px;
}

@media only screen and (min-width: 768px) {
  .c-heading-primary__sub {
    font-size: 16px;
    line-height: 19px;
    letter-spacing: 1.6px;
    margin-top: 10px;
  }
}

.c-heading-primary__sub .font {
  font-family: var(--font-lato);
  line-height: 1;
}

.only-pc {
  display: inline !important;
}

.only-pc.db {
  display: block !important;
}

.only-pc.df {
  display: flex !important;
}

.only-sp {
  display: none !important;
}

.only-sp.db {
  display: none !important;
}

.only-sp.df {
  display: none !important;
}

@media only screen and (max-width: 767px) {
  .only-pc {
    display: none !important;
  }

  .only-pc.db {
    display: none !important;
  }

  .only-pc.df {
    display: none !important;
  }

  .only-sp {
    display: inline !important;
  }

  .only-sp.db {
    display: block !important;
  }

  .only-sp.df {
    display: flex !important;
  }
}

.is-hidden {
  display: none;
}

.l-section {
  padding: 60px 0;
}

@media only screen and (min-width: 768px) {
  .l-section {
    padding: 100px 0;
  }
}

/* FOOTER */
.footer {
  background-color: var(--color-white);
}

.footer__row {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 30px;
  padding: 60px 0;
}

@media only screen and (min-width: 768px) {
  .footer__row {
    padding: 80px 0;
    gap: 20px;
  }
}

@media only screen and (min-width: 992px) {
  .footer__row {
    flex-direction: row;
  }
}

.footer__img {
  max-width: 249px;
  margin: 0 auto;
}

@media only screen and (min-width: 768px) {
  .footer__img {
    max-width: 100%;
  }
}

.footer-btm-txt {
  color: var(--color-white);
  font-family: var(--font-lato);
  font-weight: 500;
  background-color: var(--color-black);
  text-align: center;
  font-size: 10px;
  line-height: 15px;
  padding: 15px 0;
}

@media only screen and (min-width: 768px) {
  .footer-btm-txt {
    font-size: 14px;
    line-height: 21px;
    /* 21px */
  }
}

.footer-btm-note {
  color: var(--color-black);
  font-family: var(--font-primary);
  font-weight: 500;
  text-align: center;
  font-size: 10px;
  line-height: 15px;
  padding: 10px;
}

@media only screen and (min-width: 768px) {
  .footer-btm-note {
    font-size: 14px;
    line-height: 21px;
  }
}

.footer__table {
  margin-top: 30px;
}

@media only screen and (min-width: 768px) {
  .footer__table {
    margin-top: 32px;
  }
}

.footer__table-tr {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

@media only screen and (min-width: 768px) {
  .footer__table-tr {
    gap: 40px;
  }
}

.footer__table-tr:not(:last-of-type) {
  margin-bottom: 10px;
}

@media only screen and (min-width: 768px) {
  .footer__table-tr:not(:last-of-type) {
    margin-bottom: 20px;
  }
}

.footer__table-th {
  min-width: 100px;
  font-family: var(--font-roboto);
  font-weight: 600;
  font-size: 13px;
  line-height: 20px;
}

@media only screen and (min-width: 768px) {
  .footer__table-th {
    font-size: 14px;
    line-height: 21px;
  }
}

.footer__table-td {
  font-family: var(--font-roboto);
  font-weight: 400;
  font-size: 13px;
  line-height: 20px;
}

@media only screen and (min-width: 768px) {
  .footer__table-td {
    font-size: 14px;
    line-height: 21px;
  }
}

.footer__left {
  width: 100%;
}

@media only screen and (min-width: 992px) {
  .footer__left {
    width: calc(100% - 650px);
  }
}

@media only screen and (min-width: 1200px) {
  .footer__left {
    width: calc(100% - 700px);
  }
}

.footer__right {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  width: 100%;
  gap: 20px;
}

@media only screen and (min-width: 768px) {
  .footer__right {
    gap: 60px 20px;
  }
}

@media only screen and (min-width: 992px) {
  .footer__right {
    max-width: 630px;
  }
}

@media only screen and (min-width: 1200px) {
  .footer__right {
    gap: 60px 40px;
    max-width: 680px;
  }
}

.footer__col {
  width: 100%;
}

@media only screen and (min-width: 768px) {
  .footer__col {
    width: calc((100% / 3) - (20px * 2) / 3);
  }
}

@media only screen and (min-width: 1200px) {
  .footer__col {
    width: calc((100% / 3) - (40px * 2) / 3);
  }
}

.footer__list {
  display: flex;
  align-items: center;
  gap: 10px 15px;
  flex-wrap: wrap;
}

@media only screen and (min-width: 768px) {
  .footer__list {
    gap: 10px;
  }
}

.footer__col-ttl {
  font-family: var(--font-lato);
  font-weight: 700;
  padding-bottom: 4px;
  border-bottom: 1px solid var(--color-black);
  margin-bottom: 15px;
  font-size: 19px;
  line-height: 29px;
  /* 28.5px */
  text-align: center;
}

@media only screen and (min-width: 768px) {
  .footer__col-ttl {
    line-height: 30px;
    font-size: 20px;
    text-align: start;
  }
}

.footer__contact-btn {
  text-align: center;
  margin-top: 15px;
}

@media only screen and (min-width: 768px) {
  .footer__contact-btn {
    margin-top: 20px;
  }
}

.footer__contact-btn .c-btn-primary:hover {
  background-color: var(--color-highlight-y);
  border-color: var(--color-highlight-y);
}

.footer__list li {
  width: calc((100% / 2) - (20px * 1) / 2);
}

@media only screen and (min-width: 768px) {
  .footer__list li {
    width: 100%;
  }
}

.footer__list li a {
  color: var(--color-black);
  font-size: 14px;
  font-weight: 500;
  line-height: 21px;
  transition: all 0.3s ease;
}

.footer__list li a:hover {
  text-decoration: underline;
  color: var(--color-blue);
}

.footer__list .link {
  display: flex;
  align-items: center;
  gap: 4px;
}

.footer__list .link:hover::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='13' viewBox='0 0 14 13' fill='none'%3E%3Cg clip-path='url(%23clip0_1007_13467)'%3E%3Cpath d='M13.5 1H3.5V9H13.5V1Z' stroke='%23003968'/%3E%3Cpath d='M0.5 3.5V12.5' stroke='%23003968'/%3E%3Cpath d='M0 12H11' stroke='%23003968'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_1007_13467'%3E%3Crect width='14' height='12' fill='white' transform='translate(0 0.5)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
}

.footer__list .link::after {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='13' viewBox='0 0 14 13' fill='none'%3E%3Cg clip-path='url(%23clip0_980_11736)'%3E%3Cpath d='M13.5 1H3.5V9H13.5V1Z' stroke='%23231815'/%3E%3Cpath d='M0.5 3.5V12.5' stroke='%23231815'/%3E%3Cpath d='M0 12H11' stroke='%23231815'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_980_11736'%3E%3Crect width='14' height='12' fill='white' transform='translate(0 0.5)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 14px;
  height: 12px;
}

.footer__social-links {
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: center;
}

@media only screen and (min-width: 768px) {
  .footer__social-links {
    justify-content: flex-start;
  }
}

.footer__social-links li a {
  width: 32px;
  height: 32px;
  background-color: var(--color-black);
  border-radius: 100%;
  display: block;
  transition: all 0.3s ease;
}

.footer__social-links li a:hover {
  background-color: var(--color-highlight-y);
}

.footer__social-links li span {
  position: relative;
  width: 32px;
  height: 32px;
  transition: all 0.3s ease;
  display: block;
}

.footer__social-links li span::after {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M16 31.9967C24.8366 31.9967 32 24.834 32 15.9984C32 7.16272 24.8366 0 16 0C7.16345 0 0 7.16272 0 15.9984C0 24.834 7.16345 31.9967 16 31.9967Z' fill='black'/%3E%3Cpath d='M25.9987 14.5167C25.9987 9.82052 21.5127 6 15.9993 6C10.4859 6 6 9.82052 6 14.5167C6 18.7264 9.55765 22.2537 14.3621 22.9196C14.6872 22.9936 15.1311 23.1444 15.2434 23.4376C15.3439 23.7035 15.3087 24.1187 15.276 24.3859C15.276 24.3859 15.1586 25.1259 15.1338 25.2849C15.0907 25.5493 14.9327 26.3222 15.9993 25.8508C17.0673 25.3794 21.7582 22.292 23.8563 19.7569C25.3054 18.0892 26 16.3968 26 14.5167H25.9987ZM12.4717 17.0244C12.4717 17.1368 12.3842 17.2286 12.2772 17.2286H9.47544C9.42322 17.2286 9.37618 17.2067 9.34093 17.1711C9.34093 17.1711 9.33962 17.1697 9.33832 17.1683C9.33701 17.1683 9.3357 17.1656 9.3357 17.1642C9.30176 17.1286 9.28088 17.0779 9.28088 17.0231V12.4502C9.28088 12.3365 9.36838 12.246 9.47544 12.246H10.1765C10.2835 12.246 10.371 12.3365 10.371 12.4502V16.0816H12.2772C12.3842 16.0816 12.4717 16.1734 12.4717 16.2858V17.0217V17.0244ZM14.1624 17.0244C14.1624 17.1368 14.0749 17.2286 13.9679 17.2286H13.2668C13.1597 17.2286 13.0723 17.1368 13.0723 17.0244V12.4516C13.0723 12.3392 13.1597 12.2474 13.2668 12.2474H13.9679C14.0749 12.2474 14.1624 12.3392 14.1624 12.4516V17.0244ZM18.9891 17.0244C18.9891 17.1368 18.9016 17.2286 18.7946 17.2286H18.0935C18.0765 17.2286 18.0595 17.2259 18.0439 17.2218H18.0413C18.0413 17.2218 18.0321 17.2176 18.0282 17.2163C18.0256 17.2163 18.0243 17.2149 18.023 17.2135C18.019 17.2122 18.0165 17.2108 18.0138 17.2094C18.0099 17.2081 18.0073 17.2067 18.0047 17.2039C18.0021 17.2039 18.0007 17.2026 17.9994 17.2012C17.9955 17.1985 17.9916 17.1957 17.9877 17.1943C17.9877 17.1943 17.9864 17.1943 17.9864 17.193C17.9682 17.1806 17.9511 17.1628 17.9368 17.1423L15.938 14.3084V17.0244C15.938 17.1368 15.8505 17.2286 15.7434 17.2286H15.0423C14.9353 17.2286 14.8478 17.1368 14.8478 17.0244V12.4516C14.8478 12.3392 14.9353 12.2474 15.0423 12.2474H15.7434C15.7434 12.2474 15.7473 12.2474 15.7499 12.2474C15.7539 12.2474 15.7565 12.2474 15.7604 12.2474C15.7643 12.2474 15.7669 12.2474 15.7709 12.2488C15.7735 12.2488 15.7761 12.2488 15.7787 12.2488C15.7826 12.2488 15.7865 12.2488 15.7904 12.2515C15.793 12.2515 15.7957 12.2529 15.797 12.2529C15.8009 12.2543 15.8048 12.2556 15.8087 12.257C15.8113 12.257 15.8126 12.257 15.8152 12.2597C15.8191 12.2611 15.8231 12.2625 15.827 12.2652C15.8296 12.2652 15.8309 12.268 15.8335 12.268C15.8374 12.2693 15.8401 12.2721 15.844 12.2734C15.8466 12.2748 15.8479 12.2762 15.8492 12.2775C15.8531 12.2803 15.8557 12.2817 15.8597 12.2844C15.8623 12.2844 15.8636 12.2871 15.8649 12.2885C15.8688 12.2913 15.8714 12.2954 15.8753 12.2981C15.8766 12.2981 15.8779 12.3008 15.8792 12.3008C15.8831 12.305 15.887 12.3091 15.891 12.3132C15.8962 12.32 15.9014 12.3269 15.9054 12.3337L17.9029 15.1635V12.4475C17.9029 12.3351 17.9903 12.2433 18.0974 12.2433H18.7985C18.9055 12.2433 18.993 12.3351 18.993 12.4475V17.0203L18.9891 17.0244ZM22.8627 13.1888C22.8627 13.3012 22.7752 13.393 22.6682 13.393H20.762V14.1659H22.6682C22.7752 14.1659 22.8627 14.2577 22.8627 14.3701V15.1059C22.8627 15.2197 22.7752 15.3101 22.6682 15.3101H20.762V16.083H22.6682C22.7752 16.083 22.8627 16.1748 22.8627 16.2872V17.0231C22.8627 17.1354 22.7752 17.2272 22.6682 17.2272H19.8664C19.8142 17.2272 19.7672 17.2053 19.7319 17.1697C19.7319 17.1697 19.7293 17.1683 19.7293 17.1669C19.7293 17.1669 19.7268 17.1642 19.7268 17.1628C19.6928 17.1272 19.6719 17.0765 19.6719 17.0217V12.4488C19.6719 12.394 19.6928 12.3447 19.7254 12.3077C19.7254 12.3077 19.728 12.305 19.728 12.3036C19.728 12.3036 19.7294 12.3036 19.7307 12.3008C19.7659 12.2652 19.8129 12.2433 19.8651 12.2433H22.6668C22.7739 12.2433 22.8614 12.3351 22.8614 12.4475V13.1833L22.8627 13.1888Z' fill='white'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transition: all 0.3s ease;
  transform: translate(-50%, -50%);
}

.footer__social-links li span:hover::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M16 31.9967C24.8366 31.9967 32 24.834 32 15.9984C32 7.16272 24.8366 0 16 0C7.16345 0 0 7.16272 0 15.9984C0 24.834 7.16345 31.9967 16 31.9967Z' fill='%23F3FF14'/%3E%3Cpath d='M25.9987 14.5167C25.9987 9.82052 21.5127 6 15.9993 6C10.4859 6 6 9.82052 6 14.5167C6 18.7264 9.55765 22.2537 14.3621 22.9196C14.6872 22.9936 15.1311 23.1444 15.2434 23.4376C15.3439 23.7035 15.3087 24.1187 15.276 24.3859C15.276 24.3859 15.1586 25.1259 15.1338 25.2849C15.0907 25.5493 14.9327 26.3222 15.9993 25.8508C17.0673 25.3794 21.7582 22.292 23.8563 19.7569C25.3054 18.0892 26 16.3968 26 14.5167H25.9987ZM12.4717 17.0244C12.4717 17.1368 12.3842 17.2286 12.2772 17.2286H9.47544C9.42322 17.2286 9.37618 17.2067 9.34093 17.1711C9.34093 17.1711 9.33962 17.1697 9.33832 17.1683C9.33701 17.1683 9.3357 17.1656 9.3357 17.1642C9.30176 17.1286 9.28088 17.0779 9.28088 17.0231V12.4502C9.28088 12.3365 9.36838 12.246 9.47544 12.246H10.1765C10.2835 12.246 10.371 12.3365 10.371 12.4502V16.0816H12.2772C12.3842 16.0816 12.4717 16.1734 12.4717 16.2858V17.0217V17.0244ZM14.1624 17.0244C14.1624 17.1368 14.0749 17.2286 13.9679 17.2286H13.2668C13.1597 17.2286 13.0723 17.1368 13.0723 17.0244V12.4516C13.0723 12.3392 13.1597 12.2474 13.2668 12.2474H13.9679C14.0749 12.2474 14.1624 12.3392 14.1624 12.4516V17.0244ZM18.9891 17.0244C18.9891 17.1368 18.9016 17.2286 18.7946 17.2286H18.0935C18.0765 17.2286 18.0595 17.2259 18.0439 17.2218H18.0413C18.0413 17.2218 18.0321 17.2176 18.0282 17.2163C18.0256 17.2163 18.0243 17.2149 18.023 17.2135C18.019 17.2122 18.0165 17.2108 18.0138 17.2094C18.0099 17.2081 18.0073 17.2067 18.0047 17.2039C18.0021 17.2039 18.0007 17.2026 17.9994 17.2012C17.9955 17.1985 17.9916 17.1957 17.9877 17.1943C17.9877 17.1943 17.9864 17.1943 17.9864 17.193C17.9682 17.1806 17.9511 17.1628 17.9368 17.1423L15.938 14.3084V17.0244C15.938 17.1368 15.8505 17.2286 15.7434 17.2286H15.0423C14.9353 17.2286 14.8478 17.1368 14.8478 17.0244V12.4516C14.8478 12.3392 14.9353 12.2474 15.0423 12.2474H15.7434C15.7434 12.2474 15.7473 12.2474 15.7499 12.2474C15.7539 12.2474 15.7565 12.2474 15.7604 12.2474C15.7643 12.2474 15.7669 12.2474 15.7709 12.2488C15.7735 12.2488 15.7761 12.2488 15.7787 12.2488C15.7826 12.2488 15.7865 12.2488 15.7904 12.2515C15.793 12.2515 15.7957 12.2529 15.797 12.2529C15.8009 12.2543 15.8048 12.2556 15.8087 12.257C15.8113 12.257 15.8126 12.257 15.8152 12.2597C15.8191 12.2611 15.8231 12.2625 15.827 12.2652C15.8296 12.2652 15.8309 12.268 15.8335 12.268C15.8374 12.2693 15.8401 12.2721 15.844 12.2734C15.8466 12.2748 15.8479 12.2762 15.8492 12.2775C15.8531 12.2803 15.8557 12.2817 15.8597 12.2844C15.8623 12.2844 15.8636 12.2871 15.8649 12.2885C15.8688 12.2913 15.8714 12.2954 15.8753 12.2981C15.8766 12.2981 15.8779 12.3008 15.8792 12.3008C15.8831 12.305 15.887 12.3091 15.891 12.3132C15.8962 12.32 15.9014 12.3269 15.9054 12.3337L17.9029 15.1635V12.4475C17.9029 12.3351 17.9903 12.2433 18.0974 12.2433H18.7985C18.9055 12.2433 18.993 12.3351 18.993 12.4475V17.0203L18.9891 17.0244ZM22.8627 13.1888C22.8627 13.3012 22.7752 13.393 22.6682 13.393H20.762V14.1659H22.6682C22.7752 14.1659 22.8627 14.2577 22.8627 14.3701V15.1059C22.8627 15.2197 22.7752 15.3101 22.6682 15.3101H20.762V16.083H22.6682C22.7752 16.083 22.8627 16.1748 22.8627 16.2872V17.0231C22.8627 17.1354 22.7752 17.2272 22.6682 17.2272H19.8664C19.8142 17.2272 19.7672 17.2053 19.7319 17.1697C19.7319 17.1697 19.7293 17.1683 19.7293 17.1669C19.7293 17.1669 19.7268 17.1642 19.7268 17.1628C19.6928 17.1272 19.6719 17.0765 19.6719 17.0217V12.4488C19.6719 12.394 19.6928 12.3447 19.7254 12.3077C19.7254 12.3077 19.728 12.305 19.728 12.3036C19.728 12.3036 19.7294 12.3036 19.7307 12.3008C19.7659 12.2652 19.8129 12.2433 19.8651 12.2433H22.6668C22.7739 12.2433 22.8614 12.3351 22.8614 12.4475V13.1833L22.8627 13.1888Z' fill='black'/%3E%3C/svg%3E");
  transition: all 0.3s ease;
}

.footer__social-links li .ig::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M20.0113 6.52148H11.7111C8.84602 6.52148 6.52344 8.84407 6.52344 11.7091V20.0093C6.52344 22.8743 8.84602 25.1969 11.7111 25.1969H20.0113C22.8763 25.1969 25.1989 22.8743 25.1989 20.0093V11.7091C25.1989 8.84407 22.8763 6.52148 20.0113 6.52148ZM23.3832 20.0093C23.3775 21.8692 21.8711 23.3756 20.0113 23.3813H11.7111C9.85114 23.3756 8.3448 21.8692 8.33911 20.0093V11.7091C8.3448 9.84919 9.85114 8.34285 11.7111 8.33715H20.0113C21.8711 8.34285 23.3775 9.84919 23.3832 11.7091V20.0093ZM20.7894 11.9685C21.3624 11.9685 21.8269 11.504 21.8269 10.931C21.8269 10.358 21.3624 9.89344 20.7894 9.89344C20.2164 9.89344 19.7519 10.358 19.7519 10.931C19.7519 11.504 20.2164 11.9685 20.7894 11.9685ZM15.8612 11.1903C13.2826 11.1903 11.1923 13.2807 11.1923 15.8592C11.1923 18.4378 13.2826 20.5281 15.8612 20.5281C18.4397 20.5281 20.53 18.4378 20.53 15.8592C20.5328 14.6201 20.0418 13.431 19.1656 12.5548C18.2894 11.6786 17.1003 11.1876 15.8612 11.1903ZM13.008 15.8592C13.008 17.435 14.2854 18.7124 15.8612 18.7124C17.437 18.7124 18.7144 17.435 18.7144 15.8592C18.7144 14.2834 17.437 13.006 15.8612 13.006C14.2854 13.006 13.008 14.2834 13.008 15.8592Z' fill='white'/%3E%3C/svg%3E");
  width: 100%;
  height: 100%;
}

.footer__social-links li .ig:hover::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M20.0113 6.52124H11.7111C8.84602 6.52124 6.52344 8.84382 6.52344 11.7089V20.0091C6.52344 22.8741 8.84602 25.1967 11.7111 25.1967H20.0113C22.8763 25.1967 25.1989 22.8741 25.1989 20.0091V11.7089C25.1989 8.84382 22.8763 6.52124 20.0113 6.52124ZM23.3832 20.0091C23.3775 21.8689 21.8711 23.3753 20.0113 23.381H11.7111C9.85114 23.3753 8.3448 21.8689 8.33911 20.0091V11.7089C8.3448 9.84894 9.85114 8.3426 11.7111 8.33691H20.0113C21.8711 8.3426 23.3775 9.84894 23.3832 11.7089V20.0091ZM20.7894 11.9682C21.3624 11.9682 21.8269 11.5037 21.8269 10.9307C21.8269 10.3577 21.3624 9.89319 20.7894 9.89319C20.2164 9.89319 19.7519 10.3577 19.7519 10.9307C19.7519 11.5037 20.2164 11.9682 20.7894 11.9682ZM15.8612 11.1901C13.2826 11.1901 11.1923 13.2804 11.1923 15.859C11.1923 18.4375 13.2826 20.5278 15.8612 20.5278C18.4397 20.5278 20.53 18.4375 20.53 15.859C20.5328 14.6198 20.0418 13.4307 19.1656 12.5545C18.2894 11.6783 17.1003 11.1873 15.8612 11.1901ZM13.008 15.859C13.008 17.4348 14.2854 18.7122 15.8612 18.7122C17.437 18.7122 18.7144 17.4348 18.7144 15.859C18.7144 14.2832 17.437 13.0058 15.8612 13.0058C14.2854 13.0058 13.008 14.2832 13.008 15.859Z' fill='black'/%3E%3C/svg%3E");
}

.footer__social-links li .x::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M21.4146 7.47461H24.3026L17.9611 14.6581L25.3705 24.4017H19.5561L15.0036 18.4809L9.79232 24.4017H6.90344L13.6219 16.7186L6.52734 7.47461H12.4854L16.5986 12.884L21.4146 7.47461ZM20.4035 22.7154H22.0048L11.6444 9.09869H9.92408L20.4035 22.7154Z' fill='white'/%3E%3C/svg%3E");
  width: 100%;
  height: 100%;
}

.footer__social-links li .x:hover::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M21.4146 7.47485H24.3026L17.9611 14.6583L25.3705 24.4019H19.5561L15.0036 18.4811L9.79232 24.4019H6.90344L13.6219 16.7189L6.52734 7.47485H12.4854L16.5986 12.8842L21.4146 7.47485ZM20.4035 22.7156H22.0048L11.6444 9.09894H9.92408L20.4035 22.7156Z' fill='black'/%3E%3C/svg%3E");
}

.footer__social-links li .linkedin::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M22.9537 6.68652C24.2128 6.68652 25.2359 7.70855 25.2359 8.96847V22.6611C25.2359 23.921 24.2128 24.9431 22.9537 24.9431H9.25875C7.99962 24.9431 6.97656 23.921 6.97656 22.6611V8.96847C6.97656 7.70855 7.99962 6.68652 9.25875 6.68652H22.9537ZM8.94306 13.1463H12.0332V22.135H8.94306V13.1463ZM10.3578 8.37191C9.33196 8.37191 8.66212 9.10115 8.66212 10.0564C8.66212 11.0116 9.31183 11.7418 10.3175 11.7418H10.3376C11.3826 11.7418 12.0332 10.9924 12.0332 10.0564C12.0131 9.10115 11.3826 8.37191 10.3578 8.37191ZM16.8474 14.3604C17.2638 13.7437 18.0068 12.8654 19.6668 12.8654C21.7257 12.8654 23.2694 14.1591 23.2694 16.9416V22.135H20.1408V17.2893C20.1408 16.0724 19.6869 15.2416 18.5559 15.2416C17.6911 15.2416 17.1759 15.8015 16.9499 16.3423C16.8676 16.5353 16.8474 16.8062 16.8474 17.077V22.135H13.7188C13.7188 22.135 13.76 13.9276 13.7188 13.0786H16.8474V14.3604Z' fill='white'/%3E%3C/svg%3E");
  width: 100%;
  height: 100%;
}

.footer__social-links li .linkedin:hover::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M22.9537 6.68652C24.2128 6.68652 25.2359 7.70855 25.2359 8.96847V22.6611C25.2359 23.921 24.2128 24.9431 22.9537 24.9431H9.25875C7.99962 24.9431 6.97656 23.921 6.97656 22.6611V8.96847C6.97656 7.70855 7.99962 6.68652 9.25875 6.68652H22.9537ZM8.94306 13.1463H12.0332V22.135H8.94306V13.1463ZM10.3578 8.37191C9.33196 8.37191 8.66212 9.10115 8.66212 10.0564C8.66212 11.0116 9.31183 11.7418 10.3175 11.7418H10.3376C11.3826 11.7418 12.0332 10.9924 12.0332 10.0564C12.0131 9.10115 11.3826 8.37191 10.3578 8.37191ZM16.8474 14.3604C17.2638 13.7437 18.0068 12.8654 19.6668 12.8654C21.7257 12.8654 23.2694 14.1591 23.2694 16.9416V22.135H20.1408V17.2893C20.1408 16.0724 19.6869 15.2416 18.5559 15.2416C17.6911 15.2416 17.1759 15.8015 16.9499 16.3423C16.8676 16.5353 16.8474 16.8062 16.8474 17.077V22.135H13.7188C13.7188 22.135 13.76 13.9276 13.7188 13.0786H16.8474V14.3604Z' fill='black'/%3E%3C/svg%3E");
}

.footer__social-links li .yt::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M22.6692 10.2628C23.4113 10.4614 23.9951 11.0442 24.1937 11.7872C24.5524 13.1313 24.5542 15.9375 24.5542 15.9375C24.5542 15.9375 24.5543 18.7429 24.1937 20.087C23.9951 20.8299 23.4113 21.4128 22.6692 21.6113C21.325 21.9718 15.9334 21.9718 15.9334 21.9718C15.9334 21.9718 10.5418 21.9718 9.19754 21.6113C8.45542 21.4128 7.87252 20.8299 7.67303 20.087C7.31249 18.7429 7.3125 15.9375 7.3125 15.9375C7.3125 15.9375 7.31249 13.1313 7.67303 11.7872C7.87252 11.0442 8.45542 10.4614 9.19754 10.2628C10.5418 9.90234 15.9334 9.90234 15.9334 9.90234C15.9334 9.90234 21.325 9.90234 22.6692 10.2628ZM18.6868 15.9375L14.2076 18.5233V13.3509L18.6868 15.9375Z' fill='white'/%3E%3C/svg%3E");
  width: 100%;
  height: 100%;
}

.footer__social-links li .yt:hover::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M22.6692 10.2626C23.4113 10.4612 23.9951 11.044 24.1937 11.787C24.5524 13.1311 24.5542 15.9373 24.5542 15.9373C24.5542 15.9373 24.5543 18.7426 24.1937 20.0867C23.9951 20.8297 23.4113 21.4125 22.6692 21.6111C21.325 21.9716 15.9334 21.9716 15.9334 21.9716C15.9334 21.9716 10.5418 21.9716 9.19754 21.6111C8.45542 21.4125 7.87252 20.8297 7.67303 20.0867C7.31249 18.7426 7.3125 15.9373 7.3125 15.9373C7.3125 15.9373 7.31249 13.1311 7.67303 11.787C7.87252 11.044 8.45542 10.4612 9.19754 10.2626C10.5418 9.9021 15.9334 9.9021 15.9334 9.9021C15.9334 9.9021 21.325 9.9021 22.6692 10.2626ZM18.6868 15.9373L14.2076 18.523V13.3506L18.6868 15.9373Z' fill='black'/%3E%3C/svg%3E");
}

/* SCROLL_TOP */
.scroll-top {
  position: fixed;
  bottom: 71px;
  right: 19px;
  display: flex;
  align-items: center;
  visibility: visible;
  transition: all 0.3s ease;
  z-index: 9;
}

.scroll-top:hover {
  opacity: 0.75;
}

.scroll-top.toTop {
  opacity: 0;
  visibility: hidden;
}

.scroll-img {
  max-width: 12px;
}

.scroll-txt {
  color: var(--color-black);
  font-size: 12px;
  font-weight: 700;
  line-height: 18px;
  letter-spacing: 1.2px;
  writing-mode: vertical-lr;
}

/* CTA */
.cta {
  background-color: var(--color-black);
  padding: 60px 0;
}

.cta__block {
  max-width: 1110px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 32px;
}

@media only screen and (min-width: 768px) {
  .cta__block {
    gap: 0;
    flex-direction: row;
    justify-content: space-between;
  }
}

@media only screen and (min-width: 992px) {
  .cta__block {
    gap: 75px;
  }
}

.cta__title {
  border-bottom: 2px solid var(--color-white);
  color: var(--color-white);
  font-family: var(--font-lato);
  font-weight: 900;
  font-size: 40px;
  line-height: 48px;
  /* 48px */
  letter-spacing: 2px;
  padding-bottom: 8px;
  text-align: center;
  margin-bottom: 30px;
}

@media only screen and (min-width: 768px) {
  .cta__title {
    text-align: start;
    font-size: 50px;
    line-height: 60px;
    letter-spacing: 2.5px;
  }
}

.cta__txt {
  color: var(--color-white);
  font-weight: 500;
  font-size: 14px;
  line-height: 17px;
  text-align: center;
  letter-spacing: 0.7px;
}

@media only screen and (min-width: 768px) {
  .cta__txt {
    font-size: 18px;
    text-align: start;
    line-height: 22px;
    letter-spacing: 0.9px;
  }
}

.cta__content {
  width: 100%;
}

.cta__contact {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin-top: 16px;
}

@media only screen and (min-width: 768px) {
  .cta__contact {
    margin-top: 10px;
    flex-direction: column;
    align-items: flex-start;
  }
}

@media only screen and (min-width: 992px) {
  .cta__contact {
    align-items: center;
    gap: 40px;
    flex-direction: row;
  }
}

.cta__contact-row {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
}

.cta__contact-row.line {
  position: relative;
}

.cta__contact-row.line::before {
  content: none;
  background-color: var(--color-white);
  width: 1px;
  height: 100%;
  position: absolute;
  left: -20px;
  top: 50%;
  transform: translateY(-50%);
}

@media only screen and (min-width: 992px) {
  .cta__contact-row.line::before {
    content: "";
  }
}

.cta__logo {
  padding-inline: 59px;
}

@media only screen and (min-width: 768px) {
  .cta__logo {
    padding-inline: 0;
  }
}

@media only screen and (min-width: 1200px) {
  .cta__logo {
    max-width: 267px;
    width: 100%;
  }
}

.cta__contact-tag {
  color: var(--color-black);
  font-family: var(--font-lato);
  font-weight: 900;
  background: var(--color-white);
  font-size: 15px;
  line-height: 18px;
  letter-spacing: 0.75px;
  padding: 6px 15px;
  border-radius: 10px;
  max-width: 80px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

@media only screen and (min-width: 768px) {
  .cta__contact-tag {
    font-size: 20px;
    line-height: 24px;
    letter-spacing: 1px;
    padding: 6px 0;
  }
}

.cta__contact-num {
  color: var(--color-white);
  font-family: var(--font-lato);
  font-weight: 900;
  font-size: 30px;
  line-height: 36px;
}

@media only screen and (min-width: 768px) {
  .cta__contact-num {
    line-height: 48px;
    font-size: 32px;
  }
}

@media only screen and (min-width: 1200px) {
  .cta__contact-num {
    font-size: 40px;
  }
}

.cta__btn {
  text-align: center;
  margin-top: 30px;
}

@media only screen and (min-width: 768px) {
  .cta__btn {
    text-align: start;
  }
}

@keyframes transformLeftRight {
  0% {
    transform: translateX(-330%) translateY(-50%);
  }

  100% {
    transform: translateX(-50%) translateY(-50%);
  }
}

@keyframes transformRightLeft {
  0% {
    transform: translateX(-50%) translateY(-50%);
  }

  100% {
    transform: translateX(230%) translateY(-50%);
  }
}

@keyframes wave {

  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-5px);
  }
}

.animation {
  opacity: 0;
  transition: opacity 0.6s cubic-bezier(0.39, 0.575, 0.565, 1),
    transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.animated {
  transform: translateY(2em);
}

.animated.animate {
  opacity: 1;
  transform: translateY(0);
}

.sep-txt {
  overflow: hidden;
  display: inline-block;
  line-height: 1;
}

.sep-txt span {
  display: inline-block;
  transform: translateY(5rem) rotate(45deg);
  transform-origin: left;
  transition: -webkit-transform 0.4s ease-in-out;
  transition: transform 0.4s ease-in-out;
  transition: transform 0.4s ease-in-out, -webkit-transform 0.4s ease-in-out;
}

@media only screen and (max-width: 767px) {
  .sep-txt .animation-sp {
    display: block !important;
    line-height: 0;
  }
}

.animate .sep-txt span {
  translate: none;
  rotate: none;
  scale: none;
  transform-origin: 50% 100%;
  transform: translate(0px, 0%);
  display: inline-block;
  opacity: 1;
  transform: translateY(0rem) rotate(0deg);
}

.sec__mv {
  background-color: var(--color-white2);
  padding-top: 184px;
}

@media only screen and (min-width: 768px) {
  .sec__mv {
    padding-top: 243px;
  }
}

.sec__mv-img {
  position: relative;
}

.sec__mv-img img {
  width: 100%;
}

.sec__mv-content {
  background-color: var(--color-white);
  padding: 20px;
  border-radius: 30px;
}

@media only screen and (min-width: 768px) {
  .sec__mv-content {
    padding: 40px;
  }
}

.sec__mv-content-wrp {
  padding-inline: 15px;
  max-width: 1200px;
  position: absolute;
  top: -115px;
  width: 100%;
  left: 50%;
  transform: translateX(-50%);
}

@media only screen and (min-width: 768px) {
  .sec__mv-content-wrp {
    margin: 0 auto;
    top: -127px;
  }
}

@media only screen and (min-width: 1200px) {
  .sec__mv-content-wrp {
    padding-inline: 0;
  }
}

.sec__mv-content-txt {
  font-weight: 400;
  font-size: 13px;
  line-height: 23px;
  margin-top: 15px;
}

@media only screen and (min-width: 768px) {
  .sec__mv-content-txt {
    font-size: 15px;
    line-height: 32px;
    margin-top: 20px;
  }
}

@media only screen and (min-width: 992px) {
  .sec__mv-content-txt {
    font-size: 18px;
  }
}

.sec__mv-content-txt sub {
  font-size: 0.6em;
  vertical-align: super;
  line-height: 0;
}

.sec__mv-title {
  font-family: var(--font-lato);
  font-weight: 900;
  display: flex;
  align-items: center;
  margin-top: 10px;
  flex-wrap: wrap;
  font-size: 40px;
  line-height: 48px;
  /* 48px */
  letter-spacing: 2px;
  gap: 5px;
}

@media only screen and (min-width: 768px) {
  .sec__mv-title {
    gap: 10px;
    font-size: 60px;
    line-height: 72px;
    /* 72px */
    letter-spacing: 3px;
    flex-wrap: nowrap;
  }
}

.sec__mv-title img {
  width: 10px;
}

@media only screen and (min-width: 768px) {
  .sec__mv-title img {
    width: auto;
  }
}

.sec__mv-title .sec__mv-main {
  width: 100%;
}

@media only screen and (min-width: 768px) {
  .sec__mv-title .sec__mv-main {
    width: auto;
  }
}

.sec__mv-title .lg {
  font-weight: 700;
  font-size: 14px;
  line-height: 17px;
  letter-spacing: 1.4px;
}

@media only screen and (min-width: 768px) {
  .sec__mv-title .lg {
    font-size: 28px;
    line-height: 34px;
    letter-spacing: 2.8px;
  }
}

.sec__mv-title .lg .font {
  font-family: var(--font-primary);
}

.breadcrumbs {
  display: flex;
  align-items: center;
  gap: 5px;
}

@media only screen and (min-width: 768px) {
  .breadcrumbs {
    gap: 10px;
  }
}

.breadcrumbs li {
  font-family: "Lato", "Source Sans 3", sans-serif;
  font-weight: 400;
  font-size: 11px;
  line-height: 15px;
  letter-spacing: 1.1px;
}

@media only screen and (min-width: 768px) {
  .breadcrumbs li {
    font-size: 13px;
    line-height: 18px;
    letter-spacing: 1.3px;
  }
}

.breadcrumbs li a {
  text-decoration: underline;
  color: var(--color-black);
}

.l-sec__ttl {
  font-size: 26px;
  font-weight: 700;
  line-height: 47px;
}

.l-sec__ttl.secondary {
  padding-bottom: 9px;
  position: relative;
}

.l-sec__ttl.secondary::after {
  content: "";
  width: 100%;
  height: 4px;
  background: rgba(0, 0, 0, 0.1);
  position: absolute;
  left: 0;
  bottom: 0;
}

.l-sec__ttl.secondary::before {
  content: "";
  width: 50px;
  height: 4px;
  background: var(--color-black);
  position: absolute;
  left: 0;
  bottom: 0;
}

/* dropdown */
.has-submenu {
  position: relative;
}

.pc-submenu {
  display: block;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 100%;
  left: 0;
  padding: 10px 15px;
  list-style: none;
  z-index: 1000;
  transform: translateY(10px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.has-submenu.is-open .pc-submenu {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.has-submenu.is-open .down-arrow::after {
  transform: rotate(180deg);
  transition: all 0.2s ease;
}

.pc-submenu li {
  margin-bottom: 5px;
  width: 100%;
  opacity: 0;
  transform: translateY(10px);
  animation: submenuIn 0.4s forwards;
}

/* stagger the delay */
.pc-submenu li:nth-child(1) {
  animation-delay: 0.1s;
}

.pc-submenu li:nth-child(2) {
  animation-delay: 0.2s;
}

.pc-submenu li:nth-child(3) {
  animation-delay: 0.3s;
}

.pc-submenu li:last-child {
  margin-bottom: 0;
}

@keyframes submenuIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.pc-submenu a {
  text-decoration: none;
  white-space: nowrap;
  justify-content: flex-start !important;
  gap: 5px !important;
  font-size: 14px;
  font-weight: 700;
  line-height: 21px;
  transition: all 0.3s ease;
}

.pc-submenu a::before {
  content: "";
  width: 10px;
  height: 2px;
  display: inline-block;
  background-color: var(--color-white);
}

.pc-submenu a:hover {
  opacity: 0.8;
}

.header.is-invert .pc-submenu a::before {
  background-color: var(--color-black);
}

/* .sec__new-mv-wrp {
  background-color: var(--color-white2);
}

.sec__new-mv {
  display: flex;
  align-items: flex-end;
  max-width: calc(50% + 613px);
  margin-left: auto;
  padding-inline: 15px;
  gap: 46px;
  flex-direction: column;
}

.sec__new-mv-content {
  width: 100%;
  position: relative;
}

.sec__new-mv-img {
  margin-inline: -15px;
}

.sec__new-mv-img img {
  width: 100%;
}

.sec__new-mv-content .breadcrumbs {
  background-color: var(--color-white);
  padding: 10px 20px;
  border-radius: 30px;
  display: inline-flex;
  gap: 4px;
}

  .sec__new-mv-content .breadcrumbs li {
    font-size: 11px;
    line-height: 15px;
    letter-spacing: 1.1px;
  }

.sec__new-mv-top-t {
  font-size: 14px;
  font-weight: 700;
  line-height: 17px;
  letter-spacing: 1.4px;
  margin-top: 17.5px;
  position: relative;
  display: flex;
  align-items: center;
  gap: 5px;
}

.sec__new-mv-top-t::before {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='27' viewBox='0 0 15 27' fill='none'%3E%3Cpath d='M0 27L13.2632 0H15L1.73684 27H0Z' fill='black'/%3E%3C/svg%3E");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: 12px;
  height: 22px;
  display: block;
}

.sec__new-mv-main {
  font-size: 26px;
  font-weight: 700;
  line-height: 36px;
  letter-spacing: 2.6px;
  margin-top: 10px;
  position: relative;
  z-index: 2;
}

.sec__new-mv-lead {
  font-size: 16px;
  font-weight: 400;
  line-height: 32px;
  letter-spacing: 1.6px;
  margin-top: 16px;
} */
.sec__new-mv-wrp {
  background-color: var(--color-white2);
  padding: 17.067vw 0;
}

.sec__new-mv {
  display: flex;
  align-items: flex-end;
  max-width: calc(50% + 163.47vw);
  /* 613px → 163.47vw */
  margin-left: auto;
  padding-inline: 4vw;
  gap: 4vw;
  flex-direction: column;
}

.sec__new-mv-content {
  width: 100%;
  position: relative;
  z-index: 2;
}

.sec__new-mv-img {
  margin-inline: -4vw;
  width: calc(100% + 8vw);
}

.sec__new-mv-img img {
  width: 100%;
}

.sec__new-mv-content .breadcrumbs {
  background-color: var(--color-white);
  padding: 2.67vw 5.33vw;
  border-radius: 8vw;
  display: inline-flex;
  gap: 1.07vw;
}

.sec__new-mv-content .breadcrumbs li {
  font-size: 2.93vw;
  line-height: 4vw;
  letter-spacing: 0.29vw;
}

.sec__new-mv-top-t {
  font-size: 3.73vw;
  font-weight: 700;
  line-height: 4.53vw;
  letter-spacing: 0.37vw;
  margin-top: 4.67vw;
  position: relative;
  display: flex;
  align-items: center;
  gap: 1.33vw;
}

.sec__new-mv-top-t::before {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='27' viewBox='0 0 15 27' fill='none'%3E%3Cpath d='M0 27L13.2632 0H15L1.73684 27H0Z' fill='black'/%3E%3C/svg%3E");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: 3.2vw;
  height: 5.87vw;
  display: block;
}

.sec__new-mv-main {
  font-size: 6.93vw;
  font-weight: 700;
  line-height: 9.6vw;
  letter-spacing: 0.69vw;
  margin-top: 2.67vw;
  position: relative;
  z-index: 2;
}

.sec__new-mv-lead {
  font-size: 3.467vw;
  font-weight: 400;
  line-height: 6.93vw;
  letter-spacing: 0.3467vw;
  /* margin-top: 3.467vw; */
}

.sec__new-mv-note {
  font-size: 2.6666666667vw;
  font-weight: 400;
  line-height: 180%;
  color: #777;
  margin-top: 4vw;
}

@media (min-width: 768px) {
  .sec__new-mv-wrp {
    padding: unset;

    .resident__swiper {
      padding: 30px 0 50px;
    }
  }

  .sec__new-mv {
    align-items: flex-start;
    max-width: calc(50% + 42.57vw);
    margin-left: auto;
    padding-inline: 1.04vw 0;
    gap: 3.19vw;
    flex-direction: row;
  }

  .sec__new-mv-content {
    max-width: 31.88vw;
    width: 100%;
    position: relative;
    padding-top: 10.1388888889vw;
  }

  .sec__new-mv-img {
    margin-inline: 0;
  }

  .new__new-mv-lead-lg {
    font-size: 5.3472222222vw;
  }

  .sec__new-mv-img img {
    width: 100%;
  }

  .sec__new-mv-content .breadcrumbs {
    background-color: var(--color-white);
    padding: 0.69vw 1.39vw;
    border-radius: 2.08vw;
    display: inline-flex;
    gap: 0.69vw;
  }


  .sec__new-mv-content .breadcrumbs li {
    font-size: 0.9vw;
    line-height: 1.25vw;
    letter-spacing: 0.09vw;
  }

  .sec__new-mv-top-t {
    font-size: 1.39vw;
    font-weight: 700;
    line-height: 1.67vw;
    letter-spacing: 0.14vw;
    margin-top: 4.17vw;
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.35vw;
  }

  .sec__new-mv-main .w {
    color: var(--color-white);
  }

  .sec__new-mv-top-t::before {
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='27' viewBox='0 0 15 27' fill='none'%3E%3Cpath d='M0 27L13.2632 0H15L1.73684 27H0Z' fill='black'/%3E%3C/svg%3E");
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    width: 1.04vw;
    height: 1.88vw;
    display: block;
  }

  .sec__new-mv-main {
    font-size: 4.58vw;
    font-weight: 700;
    line-height: 6.39vw;
    letter-spacing: 0.46vw;
    word-break: keep-all;
    margin-block: 1.11vw;
    white-space: nowrap;
  }

  .sec__new-mv-lead {
    font-size: 1.11vw;
    font-weight: 400;
    line-height: 2.22vw;
    letter-spacing: 0.11vw;
    margin-top: 1.11vw;
  }

  .sec__new-mv-note {
    font-size: 0.6944444444vw;
    font-weight: 400;
    line-height: 180%;
    color: #777;
    white-space: nowrap;
    margin-top: 5.35vw;
  }
}