@charset "utf-8";
@import url('./defaults/reset.css?ver=240126');
@import url('./defaults/utils.css?ver=240126');
@import url('./defaults/board.css?ver=240126');
@import url('./defaults/popup.css?ver=240126');
@import url('./defaults/ckeditor5.css?ver=240126');
@import url('./defaults/scroll-ani-transition.css?ver=240126');

#sian-nav {position:fixed;top: 120px;right: 0;z-index: 9999999999;}
#sian-nav a {display: block; font-size: 14px; background-color: #666; color: #fff; line-height: 30px; padding: 0 10px; border-radius: 5px 0 0 5px; margin-bottom: 2px; transition: background-color 0.3s;  min-width: 80px;}
#sian-nav a:hover {background-color: #999;}
#sian-nav a.active {background-color: #FC6262; color: #fff;font-weight: 700;}

/* ** 전역적으로 사용될 변수 스타일을 작성합니다. */
:root {
  --container-width: 1200px;
  --container-medium-width: 1100px;
  --container-narrow-width: 1024px;
  --container-wide-width: 1400px;

  --primary: #2D8FFF;
  --secondary: #008700;

  
  --ff-primary: "Pretendard", "맑은 고딕", sans-serif;
  --ff-secondary: 'Poppins', var(--ff-primary);
  --ff-third: "Orbitron", sans-serif;
  
  --cubic-pop1: cubic-bezier(.85,.14,.29,.99);
  --cubic-pop2: cubic-bezier(.71,.45,.36,1.31);
  --cubic-pop3: cubic-bezier(.85,.14,.29,.99);
  
  --scrollbar-color: var(--primary);
}

/* Base assets */
body {font-family: var(--ff-primary); letter-spacing: 0em; word-break: keep-all;}



/* Header */
.header {position: fixed; top: 0; left: 0; width: 100%; height: 83px; z-index: 9999; font-family: var(--ff-secondary); transition: background 0s, transform .4s; background: #3B3B3B; color: #fff;}
.header-container {display: grid; grid-template-columns: 300px 1fr 300px; align-items: center; height: 100%; width: 100%; padding-inline: 36px 30px;}
.header .logo {display: flex; position: relative; font-size: 42px;}
.header .logo img {display: block; transition: opacity .4s; max-width: 191px;}
.header .logo img.light {opacity: 1;}
.header .logo img.dark {position: absolute; top: 0; left: 0; opacity: 0;}

.header-gnb {display: flex; margin: 0 auto; height: 100%;}
.header-gnb-item {display: flex; align-items: stretch;}
.header-gnb-item > a {display: flex; justify-content: center; align-items: center; text-align: center; font-weight: 600; text-transform: uppercase; font-size: 20px; position: relative; width: 164px;}
.header-gnb-item:nth-child(1) > a{width: 216px;}
.header-gnb-item:nth-child(3) > a{width: 165px;}
.header-gnb-item:nth-child(4) > a{width: 182px;}

.header-submenu {position: absolute; top: 100%; left: 0%; padding: 0px 15px; background: #3B3B3B; border-block: 1px solid rgb(255,255,255,0.3); border-radius: 0px; overflow: hidden; box-shadow: 0 5px 10px rgb(0,0,0,.05); color: #303030; width: 100vw; height: auto; min-width: 180px; opacity: 0; transition: transform .5s var(--easing1), opacity .5s var(--easing1); text-align: center; pointer-events: none; font-family: var(--ff-primary); color: white; display: flex; justify-content: center; z-index: 10;}
.header-submenu ul{border-left: 1px solid #4B4B4B; width: 164px; gap: 30px; display: flex; flex-direction: column; padding-block: 48px 70px;}
.header-submenu ul:nth-child(1){width: 216px;}
.header-submenu ul:nth-child(3){width: 165px;}
.header-submenu ul:nth-child(4){width: 182px;}
.header-submenu-item > a {display: block; padding: 0px; color: #B1B1B1; font-size: 18px; line-height: 1.2;}

.header-inq-nav{width: fit-content; border: 1px solid #fff; color: #fff; border-radius: 25px; font-size: 18px; font-weight: 600; transition: .4s all; background: #2D8FFF; border-color: #2D8FFF;}
.header-inq-nav a{width: 171px; height: 42px; display: flex; align-items: center; justify-content: center;}

/* .header-etc-nav {display: flex; justify-content: flex-end; align-items: center; gap: 13px;} */

/* .header-lang-nav .lang-ls {display: flex; font-weight: 500; text-transform: uppercase; font-family: var(--ff-secondary);} */
/* .header-lang-nav .lang-ls a {position: relative; padding-inline: 0.6em; color: #989898; line-height: 1;} */
/* .header-lang-nav .lang-ls a:not(:last-child)::after {position: absolute; top: 50%; right: 0; width: 2px; height: 0.8em; background: #989898; content: ''; transform: translate(50%, -50%);} */
/* .header-lang-nav .lang-ls a.active {color: white;} */
.header-etc-nav {display: flex; justify-content: flex-end; align-items: center; gap: 13px; position: relative; padding: 0 96px 0 0;}
.header-lang-nav {width: 96px; border:1px solid #fff; height: 42px; position: absolute; top: 3px; transition: .2s var(--cubic-pop1); overflow: hidden; border-radius: 25px; right: 0; z-index: 999;}
.header-lang-nav .lang {display: flex; gap: 14px; align-items: center; padding: .63em; font-size: 18px; line-height: 1; border-radius: 25px; justify-content: center; font-weight: 600; align-items: center;}
.header-lang-nav .lang.lang-ls {position: absolute;opacity: 0; transition:opacity .2s ease; width: 100%; padding-right: 38px;}

.header-dropdown {--rounded: 0px; --theme-1: var(--secondary); color: var(--theme-1); position: relative; font-size: 15px;}
.header-dropdown .trigger {padding: 0 1em 0 1em; border: 1px solid var(--theme-1); border-radius: var(--rounded); transition: color .4s, border .4s, background .4s; display: flex; align-items: center; justify-content: space-between; gap: 1em; height: 40px; text-transform: uppercase; background: rgb(0,0,0,0.5); font-weight: 600;}
.header-dropdown .trigger .arrow {border-color: var(--theme-1); margin-top: -3px; width: 10px; height: 10px; transition: color .4s, border .4s, background .4s;}
.header-dropdown ul {position: absolute; top: 100%; left: 0; width: 100%; border: 1px solid var(--theme-1); border-bottom-left-radius: var(--rounded); border-bottom-right-radius: var(--rounded); padding-block: 0.5em; border-top: none; display: none; background: rgb(0,0,0,0.5); transition: color .4s, border .4s, background .4s;}
.header-dropdown ul > li {}
.header-dropdown ul > li > a {display: flex; align-items: center; padding-inline: 1em; padding-block: 0.3em; line-height: 1; font-weight: 500; transition: color .4s, border .4s, background .4s; gap: 0.5em;}
.header-dropdown ul > li > a img {width: 1.4em; height: 1.4em; border-radius: 50%; object-fit: cover;}
.header-dropdown:hover .trigger {border-bottom-left-radius: 0; border-bottom-right-radius: 0;}
.header-dropdown:hover ul {display: block;}
.header-dropdown ul > li > a:hover {color: var(--sub-color1);}

/* company-menu */
.company-menu{position: absolute; top: 100%; left: 0; width: 100%; height: auto; background: #F6F6F6;}
.company-menu ul{display: flex; justify-content: space-between; padding-block: 19px 18px;}
.company-menu li a{font-size: 18px; color: #B1B1B1;}
.company-menu li.active a{color: #2D8FFF; font-weight: 700;}
.sitemap--open .company-menu{display: none;}

/* Header 상태관리 */
.header--scrolled {background: #3B3B3B;}
.header--hide {transform: translate(0, -100%);}

.header.white{background: #fff;}
.header.white .header-gnb-item > a{color: #000;}
.header.white .logo img{content: url(../images/product/logo.png);}
.header.white .header-lang-nav{border: 1px solid #000;}
.header.white .header-lang-nav .lang{color: #000;}
.header.white .icon svg path{stroke: #000;}

.header:not(.header--scrolled) {}
.header:not(.header--scrolled) .logo img.dark {opacity: 0;}
.header:not(.header--scrolled) .logo img.light {opacity: 1;}

.sitemap {display: none;}

@media (hover: hover) {
  .header:has(.header-gnb-item:hover) {background: #000;}
  .header.white:has(.header-gnb-item:hover){background: #fff;}
  /* .header .header-gnb:has(.header-gnb-item:hover) .header-gnb-item:not(:hover) > a {opacity: 0.4;} */
  .header .header-gnb-item:hover > a {opacity: 1;}

  /* 또는 더 간단하게 */
  .header:has(.header-gnb-item:hover) .header-submenu {opacity: 1; pointer-events: initial;}
  .header-submenu:hover{opacity: 1; pointer-events: initial;}
  .header:has(.header-submenu:hover){background: #000;}
  .header.white:has(.header-submenu:hover){background: #fff;}

  .header-submenu-item > a:hover {font-weight: 700; color: var(--primary);}
  .header-lang-nav > a:not(.active):hover {opacity: .7;}
  .header-inq-nav:hover{background: #4ea0fd; border-color: #4ea0fd;}

  .header .header-lang-nav:hover {background:#BDBDBD;}
  .header.white .header-lang-nav:hover{background: #fff;}
  .header .header-lang-nav:hover .lang {padding: .63em; }
  .header .header-lang-nav:hover .lang:not(.active){padding: 0.4em 0.63em;}
  .header .header-lang-nav:hover .lang.lang-ls { opacity: 0.5; transition: .4s var(--cubic-pop1); padding-right: 38px;}
  .header .header-lang-nav:hover .lang.lang-ls:hover { opacity: 1; transition: .4s var(--cubic-pop1); padding-right: 38px;}

  .company-menu li a:hover{color: #2D8FFF; font-weight: 700;}
}

/* 태블릿/모바일 터치 지원 */
/* @media (hover: none) and (pointer: coarse) {
  .header:has(.header-gnb-item:active),
  .header:has(.header-gnb-item.touch-active) {background: #000;}
  .header.white:has(.header-gnb-item:active),
  .header.white:has(.header-gnb-item.touch-active){background: #fff;}
  .header .header-gnb-item:active > a,
  .header .header-gnb-item.touch-active > a {opacity: 1;}

  .header:has(.header-gnb-item:active) .header-submenu,
  .header:has(.header-gnb-item.touch-active) .header-submenu {opacity: 1; pointer-events: initial;}
  .header-submenu:active,
  .header-submenu.touch-active{opacity: 1; pointer-events: initial;}
  .header:has(.header-submenu:active),
  .header:has(.header-submenu.touch-active){background: #000;}
  .header.white:has(.header-submenu:active),
  .header.white:has(.header-submenu.touch-active){background: #fff;}

  .header-submenu-item > a:active,
  .header-submenu-item > a.touch-active {font-weight: 700; color: var(--primary);}
  .header-lang-nav > a:not(.active):active,
  .header-lang-nav > a:not(.active).touch-active {opacity: .7;}
  .header-inq-nav:active,
  .header-inq-nav.touch-active{background: #4ea0fd; border-color: #4ea0fd;}

  .header .header-lang-nav:active,
  .header .header-lang-nav.touch-active {background:#BDBDBD; height: 83px;}
  .header.white .header-lang-nav:active,
  .header.white .header-lang-nav.touch-active{background: #fff;}
  .header .header-lang-nav:active .lang,
  .header .header-lang-nav.touch-active .lang {padding: .63em; }
  .header .header-lang-nav:active .lang:not(.active),
  .header .header-lang-nav.touch-active .lang:not(.active){padding: 0.4em 0.63em;}
  .header .header-lang-nav:active .lang.lang-ls,
  .header .header-lang-nav.touch-active .lang.lang-ls { opacity: 0.5; transition: .4s var(--cubic-pop1); padding-right: 38px;}
  .header .header-lang-nav:active .lang.lang-ls:active,
  .header .header-lang-nav.touch-active .lang.lang-ls.touch-active { opacity: 1; transition: .4s var(--cubic-pop1); padding-right: 38px;}

  .company-menu li a:active,
  .company-menu li a.touch-active{color: #2D8FFF; font-weight: 700;}
  
  .header-gnb-item,
  .header-submenu-item > a,
  .header-lang-nav > a,
  .header-inq-nav,
  .header-lang-nav,
  .company-menu li a{touch-action: manipulation;}
} */

@media screen and (max-width: 1560px) {
  .header-container{grid-template-columns: 300px 1fr 300px;}
  .header-gnb-item > a{width: 134px;}
  .header-gnb-item:nth-child(1) > a{width: 180px;}
  .header-gnb-item:nth-child(3) > a{width: 145px;}
  .header-gnb-item:nth-child(4) > a{width: 152px;}

  .header-submenu-item > a{font-size: 16px;}
  .header-submenu ul{width: 134px;}
  .header-submenu ul:nth-child(1){width: 180px;}
  .header-submenu ul:nth-child(3){width: 145px}
  .header-submenu ul:nth-child(4){width: 152px;}
}

@media screen and (max-width: 1399px) {
  .header {height: 60px; background: #fff; border-bottom: 1px solid #dfdfdf; color: #333!important;}
  .mainpage .header, .product-page .header:not(.white){background: #000; border-bottom: 1px solid #000;}
  
  .header-container {width: min(1920px, calc(100% - 30px)); display: flex; justify-content: space-between; padding-inline: 0; gap: 0;}
  .header-gnb {display: none;}
  .header .logo {font-size: 32px;}
  .header .logo img {height: 100%; width: auto; content: url(../images/product/logo.png); max-width: 160px;}
  .mainpage .header .logo img, .product-page .header:not(.white) .logo img {content: url(../images/common/m-logo.png);}
  /* .header .logo .light {opacity: 0!important;} */
  /* .header .logo .dark {opacity: 1!important;} */

  .header-inq-nav{font-size: 16px;}
  .header-inq-nav a{height: 30px; width: 140px;}
  .header:not(.header--scrolled) .logo img.light{}
  
  .header-etc-nav {gap: 25px; padding: 0;}
  .header-etc-nav .btn--sitemap-toggle {display: flex;}
  .header-lang-nav {display: none;}
  .header .header-dropdown {display: none;}

  .header-etc-nav .btn--sitemap-toggle {display: flex; flex-direction: column; justify-content: center; gap: 6px; border: none; outline: none; box-shadow: none; appearance: none; width: 30px; height: 20px; border-radius: 10px; cursor: pointer; position: relative;}
  .header-etc-nav .btn--sitemap-toggle .bar {width: 100%; height: 2px; background: #7F7F7F; transition: .4s; border-radius: 2px;}
  .header-etc-nav .btn--sitemap-toggle .bar {background: #7F7F7F;}
  .mainpage .header-etc-nav .btn--sitemap-toggle .bar{background: #fff;}
  .product-page .header:not(.white) .header-etc-nav .btn--sitemap-toggle .bar{background: #fff;}

  .sitemap {display: block; position: fixed; top: 0; left: 0; z-index: 9998; width: 100%; height: calc(var(--vh, 1vh) * 100); pointer-events: none;}
  .sitemap-dim {position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgb(0,0,0,.6); backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); opacity: 0; transition: opacity .5s;}
  .sitemap-container {position: absolute; z-index: 10; top: 0; right: 0; width: 100%; max-width: 520px; height: 100%; background: #fff; overflow: hidden auto; --padding-inline: 30px; transform: translate(100%); opacity: 0; transition: opacity .5s, transform .5s; padding-top: 80px;}
  .sitemap-container .body {padding-block: 20px;}
  .sitemap-container .body .block {padding-inline: var(--padding-inline); padding-block: 15px;}

  body.sitemap--open .sitemap {pointer-events: initial;}
  body.sitemap--open .sitemap-dim {opacity: 1;}
  body.sitemap--open .sitemap-container {opacity: 1; transform: translate(0);}

  .sitemap-gnb {}
  .sitemap-gnb-item {padding-block: .7em;}
  .sitemap-gnb-item:not(:last-child) {border-bottom: 1px solid #ededed;}
  .sitemap-gnb-item .trigger {display: flex; align-items: center; justify-content: space-between; font-size: 22px; font-family: var(--sub-font1);}
  .sitemap-gnb-item .trigger .ico--plus {width: 1em; height: auto; aspect-ratio: 1 / 1; display: none;}
  .sitemap-gnb-item .trigger .ico--plus::before,
  .sitemap-gnb-item .trigger .ico--plus::after {background: #afafaf; border-radius: 2px;}
  .sitemap-gnb-item .trigger .ico--plus::before {width: 2px;}
  .sitemap-gnb-item .trigger .ico--plus::after {height: 2px;}
  .sitemap-gnb-item.active .trigger {font-weight: 700;}
  .sitemap-gnb-item.active .trigger .ico--plus::before {display: none;}
  .sitemap-gnb-item.active .trigger .ico--plus::before,
  .sitemap-gnb-item.active .trigger .ico--plus::after {background: var(--secondary);}

  .sitemap-submenu {display: none; margin-block: 10px; padding: 0 0 20px 5px;}
  .sitemap-gnb-item.active .sitemap-submenu {display: block;}
  .sitemap-submenu-ls {font-size: 20px;}
  .sitemap-submenu-ls > .item {}
  .sitemap-submenu-ls > .item > a {display: block; padding-block: 5px; font-weight: 300;}
  .sitemap-submenu-ls > .item.active > a {font-weight: 500;}

  .sitemap-submenu-ls > .item:has(.depth2-ls) > a {display: flex; align-items: center; gap: .8em;}
  .sitemap-submenu-ls > .item:has(.depth2-ls) > a::after {width: .3em; aspect-ratio: 1 / 1; border-top: 1px solid #dfdfdf; border-right: 1px solid #dfdfdf; transform: rotate(45deg); content: ''; display: block; transition: transform .4s;}
  .sitemap-submenu-ls > .item:has(.depth2-ls).active > a::after {transform: translate(0, -25%) rotate(135deg);}
  .sitemap-submenu-ls > .item .depth2-ls {display: none; font-size: 0.9em; padding: 5px 0 40px 0;}
  .sitemap-submenu-ls > .item.active .depth2-ls {display: block;}
  .sitemap-submenu-ls > .item:last-child .depth2-ls {padding-bottom: 0;}
  .sitemap-submenu-ls > .item .depth2-ls > li > a {display: block; padding-block: 8px; line-height: 1;}
  .sitemap-submenu-ls > .item .depth2-ls > li.active {color: #1b1b1b; font-weight: 500;}

  .sitemap-lang {display: flex; font-size: 18px;}
  .sitemap-lang a {display: flex; align-items: center; color: #909090; text-transform: uppercase;}
  .sitemap-lang a.active {color: var(--primary); font-weight: 600;}
  .sitemap-lang a:not(:last-child)::after {width: 1px; height: .7em; content: ''; background: #dfdfdf; margin: 0 .6em;}
}
@media screen and (max-width: 767px) {
  .header {height: 50px;}
  .header-etc-nav {gap: 10px;}

  .header-inq-nav{display: none;}

  .sitemap-container {--padding-inline: 20px;}

  .company-menu{text-align: center;}
  .company-menu ul{display: grid; grid-template-columns: repeat(3,1fr); padding-block: 10px; gap: 10px 0;}
  .company-menu li a{font-size: 14px;}
}



/* Footer */
.footer{padding: 80px 0 58px; background: #000000; color: #fff;}
.footer .container--wide>.flex{gap: 46.5px;}
.footer li:first-child{flex: 1;}
.footer h3{font-size: 45px; line-height: 1.266; white-space: nowrap;}
.footer .link-box{margin: 16.5px 0 0 82px; align-items: flex-end;}
.footer .link-box .btn{text-decoration: underline; font-weight: 700; color: #B1B1B1; margin: 0 16px 0 0;}
.footer .link-box .btn:last-child{margin: 0;}
.footer .copyright{color: #757575; margin-right: auto;}

.footer li:nth-child(2){display: flex; flex-direction: column;}
.footer li img{max-width: fit-content;}
.footer .info{flex-wrap: wrap; color: #B1B1B1; display: flex; margin: 30px 0 0 82px; padding: 0 0 34.5px 0; justify-content: space-between; border-bottom: 1px solid #707070;}
.footer .info p{line-height: 1.8125;}
.footer .info span{color: #2D8FFF; margin:  0 0 0 26px;}
.footer .info span:nth-child(2){margin: 0;}
.footer .icons{margin: auto 0 0; gap: 20.2px;}

.footer li:nth-child(3){margin: 0 0 0 auto;}
.footer .banner{width: 281px; background: url(../images/common/footer-banner.png) no-repeat center; background-size: cover; display: flex; flex-direction: column; height: 100%; border-radius: 25px; padding: 16px 13.4px 19.4px 18px;}
.footer .banner b{font-size: 16px; font-weight: 700; color: #1D32B9; line-height: 1.3;}
.footer .banner p{font-size: 26px; font-weight: 600; line-height: 1.2;}
.footer .banner .flex{margin: auto 0 0; justify-content: space-between;}
.footer .typo{-webkit-mask-image: var(--mask-img); -webkit-mask-position: center center; -webkit-mask-repeat: no repeat; -webkit-mask-size: auto; backdrop-filter: blur(30px) brightness(180%); --mask-img: url(../images/common/footer-typo.svg); mask-image: var(--mask-img); mask-position: center center; mask-repeat: no-repeat; mask-size: auto; object-fit: cover;  display: block;}
.footer .banner .flex{justify-content: flex-end;}

.floating-btn{position: fixed; right: 48px; bottom: 43px; z-index: 99; display: flex; flex-direction: column; justify-content: center; align-items: flex-end; gap: 15px;}
.floating-btn .btn{display: block;}
.floating-btn .flex{align-items: center; border-radius: 200px; background: #F8F8F8; height: 49px; width: 0; transition: all .6s; opacity: 0; justify-content: center; overflow: hidden;}
.floating-btn a{font-size: 15px; font-weight: 600; color: #8B17FF; white-space: nowrap;}
.floating-btn a:first-child{color: #2D8FFF; margin: 0; position: relative;}
/* .floating-btn a:first-child::after{content: ''; width: 1px; height: 13px; position: absolute; right: -11.5px; top: 50%; transform: translateY(-50%); z-index: 1; background: #DEDEDE;} */
.floating-btn .hover-cover{position: relative; min-width: 49px; min-height: 49px;}
.floating-btn .hover-cover img{position: absolute; left: 0; top: 0;}

/* PC에서는 첫 번째 hover-cover만, 태블릿 이하는 두 번째 hover-cover만 표시 */
.floating-btn .hover-cover:nth-child(1){display: block;}
.floating-btn .hover-cover:nth-child(2){display: none;}

@media screen and (max-width: 1399px) {
  .floating-btn .hover-cover:nth-child(1){display: none;}
  .floating-btn .hover-cover:nth-child(2){display: block;}
  /* 두 번째 hover-cover (a 태그로 감싸진 구조) 스타일 */
  .floating-btn .hover-cover:nth-child(2) a{display: block; width: 49px; height: 49px;}
  .floating-btn .hover-cover:nth-child(2) img{position: absolute; left: 0; top: 0; width: 100%; height: 100%;}
}

@media screen and (hover: hover) {
  .floating-btn .hover-cover:hover img{display: none;}
  .floating-btn .hover-cover:hover .flex{width: 128px; opacity: 1;  transition: all .4s;}

.footer .icons a:hover img{content: url(../images/common/youtube_color.svg);}
.footer .icons a:last-child:hover img{content: url(../images/common/linkedIn_color.svg);}

}

/* 태블릿/모바일 터치 지원 */
@media (hover: none) and (pointer: coarse) {
  .floating-btn .hover-cover:active img,
  .floating-btn .hover-cover.touch-active img{display: none;}
  .floating-btn .hover-cover:active .flex,
  .floating-btn .hover-cover.touch-active .flex{width: 128px; opacity: 1;  transition: all .4s;}

  .footer .icons a:active img,
  .footer .icons a.touch-active img{content: url(../images/common/youtube_color.svg);}
  .footer .icons a:last-child:active img,
  .footer .icons a:last-child.touch-active img{content: url(../images/common/linkedIn_color.svg);}
  
  .floating-btn .hover-cover,
  .footer .icons a{touch-action: manipulation;}
}

.pc{display: block;}
.t{display: none;}
.mo{display: none;}
@media screen and (max-width: 1399px) {
  .pc{display: none;}
  .t{display: block;}
  .mo{display: none;}

  .footer .info{margin: 30px 0 0; padding: 0 0 14.5px;}
  .footer .info p{flex-wrap: wrap; margin-bottom: 10px;}
  .footer .info p .email{margin: 0;}

  .footer .link-box{margin: 16.5px 0 0; flex-wrap: wrap;}
  .footer .copyright{width: 100%; margin: 0 0 10px;}
  .floating-btn{right: 18px; bottom: 70px;}
}

@media screen and (max-width: 767px) {
  .pc{display: none;}
  .t{display: none;}
  .mo{display: block;}

  .footer{padding: 0 0 58px;}
  .footer .banner{width: calc(100% + 30px); height: auto; margin: 0 -15px; border-radius: 0; min-height: 136px; background: url(../images/common/footer-banner-mo.png) no-repeat center; background-size: cover;}
  .footer .container--wide>.flex{flex-direction: column-reverse;}
  .footer .info{justify-content: center; padding: 0 0 40px;}
  .footer .info p{font-size: 14px; margin-bottom: 40px;}
  .footer li>img{max-width: 180px; margin: auto;}
  .footer .copyright{text-align: center;}
  .footer .link-box{justify-content: center; font-size: 14px;}

}


/* Modal */
.modal {--width: 890px; position: fixed; top: 0; left: 0; width: 100%; height: 100vh; z-index: 999999; align-items: center; justify-content: center; padding: 50px 15px; display: none; opacity: 0;  background: rgb(0,0,0,.7); -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px);}
.modal-small {--width: 652px;}
.modal .dim {position: absolute; top: 0; left: 0; width: 100%; height: 100%;}
.modal .container {--padding: 70px 60px; width: var(--width)!important; max-width: 100%; position: relative; z-index: 1; background: #fff; overflow: hidden auto; max-height: 100%; border-radius: 10px;}
.modal .container .head {position: sticky; top: 0; left: 0; width: 100%; padding: var(--padding); padding-bottom: 30px; background: #fff; z-index: 10;}
.modal .container .btn--close {position: absolute; top: 20px; right: 20px;}
.modal .container .btn--close .ico--times::before {background: #000;}
.modal .container .btn--close .ico--times::after {background: #000;}
.modal .container .content {padding: var(--padding); padding-top: 0;}

.modal.overflow {overflow: hidden auto; align-items: flex-start;}
.modal.overflow .dim {background: none; backdrop-filter: none;}
.modal.overflow .container {overflow: visible; max-height: none;}
.modal.overflow .container .head {top: -50px; border-radius: 10px 10px 0 0; padding-block: 50px 20px; padding-right: 60px; border-bottom: 1px solid var(--gray-lighter);}
.modal.overflow .container .content {padding-top: 20px;}

.modal-brand-notice {--width: 500px;}
.modal-brand-notice.active {opacity: 1; display: flex;}
.modal-brand-notice .container .head {padding-block: 50px 20px;}
.modal-brand-notice .container .content .title {margin-bottom: 0.6em;}

.modal.type--video {--width: 1000px;}
.modal.type--video .container {--padding: 0; border-radius: 0; display: flex; overflow: visible; flex-direction: column; background: transparent; gap: 20px;}
.modal.type--video .container .content {border-radius: 10px; overflow: hidden; order: 1;}
.modal.type--video .container .btn--close {position: static; margin-inline: auto; order: 2;}
.modal.type--video .container .btn--close .ico--times::before,
.modal.type--video .container .btn--close .ico--times::after {background: #fff;}

@media screen and (max-width: 1399px) {
  .modal .container {--padding: 70px 30px;}
  .modal.overflow .container .head {padding-block: 20px;}
}
@media screen and (max-width: 767px) {
  .modal .container {--padding: 70px 15px;}
  .modal.type--video {padding-inline: 0;}
  .modal.type--video .container {--padding: 0; max-height: none;}
}


/* Policy */
.policy-doc {padding: 30px; border-radius: 10px; background: #FCFCFC; border: 1px solid #E8E8E8; font-size: 16px;}
.policy-doc dl {word-break: break-all;}
.en .policy-doc dl {word-break: normal;}
.policy-doc dt {display: block; font-weight: 700; color: var(--dark-navy); margin-bottom: 0.3em;}
.policy-doc dd {margin-bottom: 1.5em;}
.policy-doc dd :where(h1, h2, h3, h4, h5, h6) {color: var(--dark-navy); margin-bottom: 0.3em;}
.policy-doc dd .indent {padding-left: 1em;}
.policy-doc dd p {margin-bottom: 0.5em;}
.policy-doc dd table {width: 100%; font-size: 13px;}
.policy-doc dd table :where(th, td) {border: 1px solid var(--gray-lighter); padding: .3em .5em; line-height: 1.5;}
.policy-doc dd table thead th {background: var(--gray-light);}
.policy-doc .bullet > li::before {background: var(--primary);}
.policy-doc ol {margin-block: 1em;}
.policy-doc ol > li:not(:last-child) {margin-bottom: 0.7em;}

@media screen and (max-width: 1399px) {
  .policy-doc {padding: 30px 20px; font-size: 15px;}
}
@media screen and (max-width: 767px) {
  .policy-doc {padding: 25px 15px; font-size: 14px;}
  .policy-doc dd .indent {padding-left: 0em;}
}