@charset "UTF-8";
* {
  box-sizing: border-box;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
form,
fieldset,
p,
button,
table,
th,
td,
pre {
  margin: 0;
  padding: 0;
}

body,
div,
dl,
dt,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
form,
fieldset,
p,
th,
td,
input,
textarea,
select,
button,
pre,
a {
  font-family: "Pretendard", sans-serif;
  color: #222;
}

textarea {
  width: 100%;
}

select,
input,
img,
button {
  vertical-align: middle;
}

ul,
ol {
  list-style-type: none;
}

.hide,
legend,
hr,
caption span {
  position: absolute;
  left: -3000%;
}

em,
address {
  font-style: normal;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

a {
  color: #666;
  text-decoration: none;
}

a:focus,
a:hover {
  text-decoration: none;
}

fieldset,
img,
button {
  border: 0;
  background: none;
}

select {
  height: 30px \0 IE8;
}

/* IE8 전용*/
input:focus {
  outline: none;
}

.clear {
  zoom: 1;
  clear: both;
}

.clear:after {
  content: "";
  display: block;
  clear: both;
}

::-moz-placeholder {
  color: #7d7d7d !important;
  opacity: 1;
}

::placeholder {
  color: #7d7d7d !important;
  opacity: 1;
}

:-webkit-input-placeholder {
  color: #7d7d7d !important;
  font-size: 24px;
}

:-ms-input-placeholder {
  color: #7d7d7d !important;
}

.blind {
  text-indent: -99999px;
  position: absolute;
  top: -9999px;
  left: -9999px;
}

input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0;
  border: none;
  background-color: transparent;
}

::-moz-selection {
  background: #4c65ff;
  color: #fff;
}

::selection {
  background: #4c65ff;
  color: #fff;
}

/*  GMarketSans */
@font-face {
  font-family: "GMarketSans";
  src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansLight.woff") format("woff");
  font-weight: 300;
  font-display: swap;
}
@font-face {
  font-family: "GMarketSans";
  src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansMedium.woff") format("woff");
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "GMarketSans";
  src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansBold.woff") format("woff");
  font-weight: 700;
  font-display: swap;
}
/*  Pretendard   */
@font-face {
  font-family: "Pretendard";
  src: url("/assets/fonts/Pretendard-Thin.eot");
  src: url("/assets/fonts/Pretendard-Thin.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/Pretendard-Thin.woff") format("woff"), url("/assets/fonts/Pretendard-Thin.woff2") format("woff2"), url("/assets/fonts/Pretendard-Thin.ttf") format("truetype"), url("/assets/fonts/Pretendard-Thin.svg") format("svg");
  font-weight: 100;
}
@font-face {
  font-family: "Pretendard";
  src: url("/assets/fonts/Pretendard-Light.eot");
  src: url("/assets/fonts/Pretendard-Light.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/Pretendard-Light.woff") format("woff"), url("/assets/fonts/Pretendard-Light.woff2") format("woff2"), url("/assets/fonts/Pretendard-Light.ttf") format("truetype"), url("/assets/fonts/Pretendard-Light.svg") format("svg");
  font-weight: 200;
}
@font-face {
  font-family: "Pretendard";
  src: url("/assets/fonts/Pretendard-ExtraLight.eot");
  src: url("/assets/fonts/Pretendard-ExtraLight.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/Pretendard-ExtraLight.woff") format("woff"), url("/assets/fonts/Pretendard-ExtraLight.woff2") format("woff2"), url("/assets/fonts/Pretendard-ExtraLight.ttf") format("truetype"), url("/assets/fonts/Pretendard-ExtraLight.svg") format("svg");
  font-weight: 300;
}
@font-face {
  font-family: "Pretendard";
  src: url("/assets/fonts/Pretendard-Regular.eot");
  src: url("/assets/fonts/Pretendard-Regular.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/Pretendard-Regular.woff") format("woff"), url("/assets/fonts/Pretendard-Regular.woff2") format("woff2"), url("/assets/fonts/Pretendard-Regular.ttf") format("truetype"), url("/assets/fonts/Pretendard-Regular.svg") format("svg");
  font-weight: 400;
}
@font-face {
  font-family: "Pretendard";
  src: url("/assets/fonts/Pretendard-Medium.eot");
  src: url("/assets/fonts/Pretendard-Medium.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/Pretendard-Medium.woff") format("woff"), url("/assets/fonts/Pretendard-Medium.woff2") format("woff2"), url("/assets/fonts/Pretendard-Medium.ttf") format("truetype"), url("/assets/fonts/Pretendard-Medium.svg") format("svg");
  font-weight: 500;
}
@font-face {
  font-family: "Pretendard";
  src: url("/assets/fonts/Pretendard-SemiBold.eot");
  src: url("/assets/fonts/Pretendard-SemiBold.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/Pretendard-SemiBold.woff") format("woff"), url("/assets/fonts/Pretendard-SemiBold.woff2") format("woff2"), url("/assets/fonts/Pretendard-SemiBold.ttf") format("truetype"), url("/assets/fonts/Pretendard-SemiBold.svg") format("svg");
  font-weight: 600;
}
@font-face {
  font-family: "Pretendard";
  src: url("/assets/fonts/Pretendard-Bold.eot");
  src: url("/assets/fonts/Pretendard-Bold.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/Pretendard-Bold.woff") format("woff"), url("/assets/fonts/Pretendard-Bold.woff2") format("woff2"), url("/assets/fonts/Pretendard-Bold.ttf") format("truetype"), url("/assets/fonts/Pretendard-Bold.svg") format("svg");
  font-weight: 700;
}
@font-face {
  font-family: "Pretendard";
  src: url("/assets/fonts/Pretendard-ExtraBold.eot");
  src: url("/assets/fonts/Pretendard-ExtraBold.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/Pretendard-ExtraBold.woff") format("woff"), url("/assets/fonts/Pretendard-ExtraBold.woff2") format("woff2"), url("/assets/fonts/Pretendard-ExtraBold.ttf") format("truetype"), url("/assets/fonts/Pretendard-ExtraBold.svg") format("svg");
  font-weight: 800;
}
@font-face {
  font-family: "Pretendard";
  src: url("/assets/fonts/Pretendard-Black.eot");
  src: url("/assets/fonts/Pretendard-Black.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/Pretendard-Black.woff") format("woff"), url("/assets/fonts/Pretendard-Black.woff2") format("woff2"), url("/assets/fonts/Pretendard-Black.ttf") format("truetype"), url("/assets/fonts/Pretendard-Black.svg") format("svg");
  font-weight: 900;
}
/*  꼬딕씨   */
@font-face {
  font-family: "HGGGothicssi";
  src: url("/assets/fonts/HGGGothicssi_00g.eot");
  src: url("/assets/fonts/HGGGothicssi_00g.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/HGGGothicssi_00g.woff") format("woff"), url("/assets/fonts/HGGGothicssi_00g.woff2") format("woff2"), url("/assets/fonts/HGGGothicssi_00g.ttf") format("truetype"), url("/assets/fonts/HGGGothicssi_00g.svg") format("svg");
  font-weight: 100;
}
@font-face {
  font-family: "HGGGothicssi";
  src: url("/assets/fonts/HGGGothicssi_20g.eot");
  src: url("/assets/fonts/HGGGothicssi_20g.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/HGGGothicssi_20g.woff") format("woff"), url("/assets/fonts/HGGGothicssi_20g.woff2") format("woff2"), url("/assets/fonts/HGGGothicssi_20g.ttf") format("truetype"), url("/assets/fonts/HGGGothicssi_20g.svg") format("svg");
  font-weight: 200;
}
@font-face {
  font-family: "HGGGothicssi";
  src: url("/assets/fonts/HGGGothicssi_40g.eot");
  src: url("/assets/fonts/HGGGothicssi_40g.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/HGGGothicssi_40g.woff") format("woff"), url("/assets/fonts/HGGGothicssi_40g.woff2") format("woff2"), url("/assets/fonts/HGGGothicssi_40g.ttf") format("truetype"), url("/assets/fonts/HGGGothicssi_40g.svg") format("svg");
  font-weight: 400;
}
@font-face {
  font-family: "HGGGothicssi";
  src: url("/assets/fonts/HGGGothicssi_60g.eot");
  src: url("/assets/fonts/HGGGothicssi_60g.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/HGGGothicssi_60g.woff") format("woff"), url("/assets/fonts/HGGGothicssi_60g.woff2") format("woff2"), url("/assets/fonts/HGGGothicssi_60g.ttf") format("truetype"), url("/assets/fonts/HGGGothicssi_60g.svg") format("svg");
  font-weight: 600;
}
@font-face {
  font-family: "HGGGothicssi";
  src: url("/assets/fonts/HGGGothicssi_80g.eot");
  src: url("/assets/fonts/HGGGothicssi_80g?#iefix") format("embedded-opentype"), url("/assets/fonts/HGGGothicssi_80g.woff") format("woff"), url("/assets/fonts/HGGGothicssi_80g.woff2") format("woff2"), url("/assets/fonts/HGGGothicssi_80g.ttf") format("truetype"), url("/assets/fonts/HGGGothicssi_80g.svg") format("svg");
  font-weight: 800;
}
@font-face {
  font-family: "HGGGothicssi";
  src: url("/assets/fonts/HGGGothicssi_99g.eot");
  src: url("/assets/fonts/HGGGothicssi_99g.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/HGGGothicssi_99g.woff") format("woff"), url("/assets/fonts/HGGGothicssi_99g.woff2") format("woff2"), url("/assets/fonts/HGGGothicssi_99g.ttf") format("truetype"), url("/assets/fonts/HGGGothicssi_99g.svg") format("svg");
  font-weight: 900;
}
footer {
  width: 100%;
  background-color: #9ccbed;
}
footer .footer {
  width: 720px;
  margin: 0 auto;
  padding: 38px 38px 200px;
}
footer * {
  color: #fff;
}
footer h6 {
  margin: 20px 0 10px;
  font-size: 36px;
  font-weight: 600;
}
footer ul {
  margin-left: 20px;
}
footer ul > li {
  position: relative;
  font-size: 28px;
  font-weight: 500;
  word-break: keep-all;
  letter-spacing: -1px;
}
footer ul > li::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 15px;
  left: -13px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: #fff;
}
footer ul > li.notice::before {
  content: "※";
  top: 0px;
  left: -20px;
  width: auto;
  height: auto;
  border-radius: 0;
  background-color: transparent;
}
footer ul > li:not(:last-of-type) {
  margin-bottom: 10px;
}
footer ul > li ul li {
  position: relative;
}
footer ul > li ul li:not(:last-of-type) {
  margin-bottom: 10px;
}
footer ul > li ul li::before {
  content: "-";
  top: 0;
  width: auto;
  height: auto;
  background: transparent;
  border-radius: 0;
}

@media only screen and (max-width: 740px) {
  footer .footer {
    width: 100%;
    padding: 5% 5% 20vw;
  }
  footer h6 {
    margin-bottom: 2vw;
    font-size: 5vw;
  }
  footer ul {
    margin-left: 4vw;
  }
  footer ul > li {
    font-size: 4vw;
  }
  footer ul > li::before {
    top: 2vw;
    left: -2vw;
    width: 1vw;
    height: 1vw;
  }
  footer ul > li:not(:last-of-type) {
    margin-bottom: 2vw;
  }
  footer ul > li ul li:not(:last-of-type) {
    margin-bottom: 2vw;
  }
  footer ul > li ul {
    margin-left: 0;
  }
}
.slick-slider {
  max-width: 100vw;
  width: 100%;
  overflow: hidden;
  padding: 0 30px 50px;
}
.slick-prev {
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0%;
  z-index: 99;
  width: 25px;
  height: 47px;
  background-image: url(/assets/images/arrow-prev.png);
  text-indent: -999999px;
  cursor: pointer;
}
.slick-next {
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(180deg);
  right: 0%;
  z-index: 99;
  width: 25px;
  height: 47px;
  background-image: url(/assets/images/arrow-prev.png);
  text-indent: -999999px;
  cursor: pointer;
}
.slick-dots {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.slick-dots li {
  width: 20px;
  height: 20px;
  margin: 0 4px;
  background-color: #848594;
  border-radius: 50%;
  box-shadow: none;
  text-indent: -99999px;
  cursor: pointer;
}
.slick-dots li.slick-active {
  background-color: #009fe8;
}

@media only screen and (max-width: 740px) {
  .slick-slide {
    width: 100%;
  }
  .slick-slider {
    width: 100%;
    margin: 0 auto;
    padding: 0 8vw 10vw;
  }
  .slick-prev {
    left: 3vw;
    width: 3vw;
    height: 8vw;
  }
  .slick-next {
    right: 3vw;
    width: 3vw;
    height: 8vw;
  }
  .slick-dots {
    bottom: 5%;
  }
  .slick-dots li {
    width: 3vw;
    height: 3vw;
    margin: 0 1vw;
  }
}
/* 팝업 스타일 */
.popup {
  position: relative;
  z-index: 10000000000000000000 !important;
  width: 420px;
  background-color: #fff;
}
.popup__head {
  padding: 23px 0;
  border-bottom: 1px solid #eee;
  text-align: center;
  font-size: 24px;
  font-weight: 500;
  color: #666;
}
.popup__close {
  position: absolute;
  top: 40px;
  top: 16px;
  right: 20px;
  width: 30px;
  height: 30px;
  cursor: pointer;
}
.popup__close::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 10px;
  background-color: #000;
  cursor: pointer;
  width: 1px;
  height: 35px;
  font-size: 27px;
  transform: rotate(45deg);
}
.popup__close::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 10px;
  background-color: #000;
  cursor: pointer;
  width: 1px;
  height: 35px;
  font-size: 27px;
  transform: rotate(-45deg);
}
.popup__con {
  padding: 30px;
}
.popup__con ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.popup__con li {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  width: 33%;
  font-size: 20px;
  color: #666;
  text-align: center;
}
.popup__con li:not(:nth-last-of-type(1), :nth-last-of-type(2), :nth-last-of-type(3)) {
  margin-bottom: 30px;
}
.popup__con li button {
  display: block;
  width: 100%;
  margin-bottom: 10px;
  cursor: pointer;
}

@media only screen and (max-width: 740px) {
  /* 팝업 스타일 */
  .popup {
    width: 90%;
    height: auto;
    font-size: 2.5vw;
  }
  .popup__close {
    top: 4.2vw;
    right: 4vw;
    width: 5vw;
    height: 5vw;
  }
  .popup__close::before {
    height: 5vw;
  }
  .popup__close::after {
    height: 5vw;
  }
  .popup__head {
    padding: 4vw 0;
    font-size: 4.5vw;
  }
  .popup__con {
    padding: 5% 5% 8%;
  }
  .popup__con li {
    font-size: 4vw;
  }
  .popup__con li:not(:nth-last-of-type(1),
  :nth-last-of-type(2),
  :nth-last-of-type(3)) {
    margin-bottom: 5vw;
  }
  .popup__con li button {
    margin-bottom: 2vw;
  }
  .popup__con img {
    width: 50%;
  }
}
.section01 {
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center 0;
  background-size: 2580px;
  width: 100%;
  background-color: #fff;
  background-image: url(/assets/images/section01/img-section01-bg.png);
  background-repeat: no-repeat;
  background-position: center 0;
}
.section01-inner {
  width: 616px;
  margin: 0 auto;
  padding: 30px 0;
  text-align: center;
}
.section01-tit h1 > span {
  display: inline-block;
  margin: 65px auto 5px;
  font-size: 57px;
  font-family: "HGGGothicssi";
  font-weight: 900;
  text-shadow: 0 0 30px #58b0de;
  color: #fff;
}
.section01-tit h1 > strong {
  display: inline-block;
  background-repeat: no-repeat;
  background-position: -100px -2px;
  background-size: 300px;
  height: 82px;
  padding: 0 25px 7px 35px;
  margin-left: -20px;
  background-color: #000;
  background-image: url(/assets/images/img-lighting.png);
  border-radius: 60px;
  line-height: 1;
  transform: rotate(-2deg);
  vertical-align: middle;
}
.section01-tit h1 > strong b {
  display: inline-block;
  height: 85px;
  background: rgb(238, 174, 202);
  background: linear-gradient(90deg, rgb(209, 179, 193) 0%, rgb(199, 219, 247) 50%, rgb(250, 252, 255) 100%);
  background-clip: text;
  -webkit-background-clip: text;
  font-size: 59px;
  font-family: "GMarketSans";
  font-weight: 700;
  color: transparent;
  letter-spacing: -2px;
  vertical-align: top;
  line-height: 80px;
}
.section01-tit h1 > b {
  display: inline-block;
  padding: 8px 20px;
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#dc8d9f+0,6197e2+100 */
  background: linear-gradient(to right, rgb(220, 141, 159) 0%, rgb(97, 151, 226) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  border-radius: 60px;
  line-height: 1;
  vertical-align: middle;
  color: #fff;
  font-weight: 800;
}
.section01-tit h1 > b small {
  font-size: 80%;
  font-weight: 700;
}
.section01-tit h1 > b > span {
  font-family: "GMarketSans";
}
.section01-tit h1 > p {
  display: inline-block;
  margin-right: -20px;
  font-size: 63px;
}
.section01-tit h1 {
  color: #000;
  font-size: 57px;
  font-weight: 900;
  font-family: "HGGGothicssi";
  letter-spacing: -2px;
  line-height: 1.3;
}
.section01-tit h1 small {
  font-family: "Pretendard", sans-serif;
  font-weight: 100;
}
.section01-tit h1 strong {
  font-size: 93px;
  font-weight: 900;
}
.section01-tit > p {
  display: inline-block;
  margin: 30px auto 88px;
  padding: 8px 20px 8px 8px;
  border-radius: 50px;
  background-color: #fff;
  font-weight: 600;
  font-size: 34px;
  font-family: "HGGGothicssi";
  color: #000;
}
.section01-tit > p span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 10px 5px 5px;
  margin-right: 8px;
  background-color: #000;
  border-radius: 20px;
  color: #fff;
  font-size: 27px;
}
.section01-tit > p span b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  margin-right: 5px;
  background-color: #fff;
  border-radius: 50%;
  color: #000;
  font-size: 38px;
  font-weight: 600;
}
.section01-vis {
  margin-right: -30px;
  padding-bottom: 200px;
}

@media only screen and (max-width: 740px) {
  .section01 {
    display: inline-block;
    background-repeat: no-repeat;
    background-position: center 0;
    background-size: 100%;
    background-image: url(/assets/images/section01/img-section01-bgM.png);
  }
  .section01-inner {
    width: 100%;
    padding: 5%;
  }
  .section01-tit > img {
    width: 50%;
  }
  .section01-tit h1 > span {
    margin: 9vw auto 1vw;
    font-size: 10vw;
    text-shadow: 0 0 3vw #58b0de;
  }
  .section01-tit h1 > strong {
    display: inline-block;
    background-repeat: no-repeat;
    background-position: -20vw -2px;
    background-size: 55vw;
    height: 12vw;
    padding: 1vw 4vw 2vw 4vw;
    margin-left: -6vw;
    border-radius: 6vw;
  }
  .section01-tit h1 > strong b {
    height: 12vw;
    font-size: 9vw;
    line-height: 10vw;
  }
  .section01-tit h1 > b {
    padding: 1vw 2vw;
    border-radius: 5vw;
  }
  .section01-tit h1 > p {
    margin-right: -4vw;
    font-size: 9vw;
  }
  .section01-tit h1 {
    font-size: 8vw;
  }
  .section01-tit h1 strong {
    font-size: 9vw;
  }
  .section01-tit > p {
    margin: 3vw auto 12vw;
    padding: 1vw 2vw 1vw 1vw;
    border-radius: 5vw;
    font-size: 5vw;
  }
  .section01-tit > p span {
    padding: 1vw 2vw 1vw 1vw;
    margin-right: 1vw;
    border-radius: 4vw;
    font-size: 5vw;
  }
  .section01-tit > p span b {
    width: 5vw;
    height: 5vw;
    margin-right: 1vw;
    font-size: 6vw;
  }
  .section01-vis {
    width: 100%;
    margin-right: 0;
    padding-bottom: 20vw;
  }
  .section01-vis img {
    display: inline-block;
    width: 90%;
    margin: 0 auto;
    margin-right: -5vw;
  }
}
.section02 {
  width: 100%;
  margin-top: -380px;
  padding: 0 0 80px;
  background-color: transparent;
  background-image: url(/assets/images/section02/img-section02-bg.png);
  background-repeat: repeat-x;
  background-position: 0 bottom;
}
.section02-inner {
  position: relative;
  width: 616px;
  margin: 0 auto;
  padding: 30px 0;
  text-align: center;
}
.section02-inner::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 20px;
  left: -100px;
  width: 300px;
  height: 135px;
  background-image: url(/assets/images/section02/img-section02-vis.png);
  background-repeat: no-repeat;
  background-position: center;
}
.section02-tit {
  margin: 50px 0;
}
.section02-tit > span {
  display: inline-block;
  padding: 5px 20px;
  margin-bottom: 20px;
  background-color: #000;
  border-radius: 30px;
  color: #fff;
  font-size: 45px;
  font-family: "HGGGothicssi";
}
.section02-tit h2 span {
  display: block;
  margin-bottom: 40px;
  border-radius: 30px;
  color: #232323;
  font-size: 32px;
  letter-spacing: -1px;
  font-family: "HGGGothicssi";
  font-weight: 600;
}
.section02-tit h2 span strong {
  display: inline-block;
  padding: 5px 8px;
  background-color: #e6e6e6;
  border-radius: 30px;
  color: #424242;
  font-size: 26px;
  font-weight: inherit;
}
.section02-tit h2 span b {
  color: #e984b7;
  font-weight: 900;
}
.section02-tit h2 {
  color: #070a40;
  font-size: 45px;
  font-weight: 600;
  font-family: "HGGGothicssi";
}
.section02-tit h2 > strong {
  font-weight: 800;
  color: #5999f3;
}
.section02-tit h2 > b {
  font-weight: 800;
}
.section02-card {
  padding: 2px;
  border: 2px solid transparent;
  border-radius: 20px;
  background-image: linear-gradient(#fff, #fff), linear-gradient(to right, #d48fb8 0%, #6da2ec 100%);
  background-origin: border-box;
  background-clip: content-box, border-box;
  border-radius: 20px;
}
.section02-vis {
  background-color: #fff;
  border-radius: 30px;
}
.section02-img {
  display: block;
  margin: 30px;
  padding: 20px;
  background-color: #f3f3f3;
  border-radius: 20px;
}
.section02-img > img {
  display: block;
  margin: 0 auto;
}
.section02-img > span {
  display: block;
  margin: 20px auto;
  font-family: "GMarketSans";
  font-size: 19px;
  line-height: 1;
}
.section02-img > span b {
  font-weight: 800;
  font-size: 32px;
}
.section02-img > p {
  font-family: "HGGGothicssi";
  font-size: 23px;
  font-weight: 400;
  line-height: 1;
}
.section02-img > p img {
  width: 40px;
}
.section02-img > p b {
  font-weight: 800;
}
.section02-txt > strong {
  position: relative;
  z-index: 0;
  display: block;
  margin-bottom: 40px;
  font-family: "HGGGothicssi";
  font-size: 45px;
  font-weight: 800;
  line-height: 1.2;
}
.section02-txt > strong::after {
  content: "";
  display: inline-block;
  z-index: -1;
  position: absolute;
  bottom: -60px;
  right: 0;
  width: 170px;
  height: 120px;
  background-image: url(/assets/images/section02/img-section02-assets.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}
.section02-txt > strong span {
  display: inline-block;
  z-index: 2;
  padding: 5px;
  background-color: #f07091;
  color: #fff;
  font-size: 54px;
  line-height: 1;
  transform: rotate(-3deg);
}
.section02-txt > ul {
  margin: 0 35px 35px;
  text-align: left;
  line-height: 1.5;
}
.section02-txt > ul > li {
  font-family: "HGGGothicssi";
  font-weight: 800;
  font-size: 27px;
  letter-spacing: -1px;
}
.section02-txt > ul > li::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 5px;
  background-color: #dc8db3;
  border-radius: 50%;
  vertical-align: middle;
}
.section02-txt > ul > li ul {
  margin-left: 20px;
}
.section02-txt > ul > li ul li {
  font-family: inherit;
  font-weight: 600;
  font-size: 23px;
}

@media only screen and (max-width: 740px) {
  .section02 {
    margin-top: -35vw;
    padding: 0 0 10vw;
  }
  .section02-inner {
    width: 100%;
    padding: 5%;
  }
  .section02-inner::before {
    top: -5vw;
    left: -3vw;
    width: 38vw;
    height: 28vw;
    background-size: 100%;
  }
  .section02-tit {
    margin: 3vw 0 5vw;
  }
  .section02-tit > span {
    padding: 1vw 3vw;
    margin-bottom: 2vw;
    border-radius: 6vw;
    font-size: 5vw;
  }
  .section02-tit h2 span {
    margin-bottom: 3vw;
    border-radius: 5vw;
    font-size: 5vw;
  }
  .section02-tit h2 span strong {
    padding: 1vw 2vw;
    border-radius: 5vw;
    font-size: 4vw;
  }
  .section02-tit h2 {
    font-size: 7vw;
  }
  .section02-card {
    padding: 0;
    border-radius: 5vw;
  }
  .section02-img {
    margin: 5vw;
    padding: 5vw;
    border-radius: 5vw;
  }
  .section02-img > img {
    width: 50%;
  }
  .section02-img > span {
    margin: 2vw auto;
    font-size: 3.5vw;
    line-height: 1.2;
  }
  .section02-img > span b {
    font-size: 5vw;
  }
  .section02-img > p {
    font-size: 4vw;
    line-height: 1.2;
  }
  .section02-img > p img {
    width: 5vw;
  }
  .section02-txt > strong {
    margin-bottom: 6vw;
    font-size: 7vw;
  }
  .section02-txt > strong::after {
    bottom: -10vw;
    right: 0;
    width: 25vw;
    height: 20vw;
  }
  .section02-txt > strong span {
    padding: 1vw;
    font-size: 8vw;
  }
  .section02-txt > ul {
    margin: 0 5vw 5vw;
  }
  .section02-txt > ul > li {
    font-size: 5vw;
  }
  .section02-txt > ul > li::before {
    width: 1vw;
    height: 1vw;
    margin-right: 0.5vw;
  }
  .section02-txt > ul > li ul {
    margin-left: 2vw;
  }
  .section02-txt > ul > li ul li {
    font-size: 3.5vw;
  }
}
.section03 {
  overflow-x: hidden;
  width: 100%;
  padding: 70px 0 0;
  background-color: #f3f3f3;
}
.section03-inner {
  width: 616px;
  margin: 0 auto 50px;
  padding: 0;
  text-align: center;
}
.section03-tit {
  margin: 50px 0;
}
.section03-tit > span {
  display: inline-block;
  padding: 2px 10px;
  margin-bottom: 10px;
  background: linear-gradient(90deg, #ef9cb9 0%, #6da2ec 100%);
  border-radius: 30px;
  color: #fff;
  font-size: 26px;
  font-family: "HGGGothicssi";
}
.section03-tit h2 span {
  display: block;
  margin-bottom: 30px;
  color: #232323;
  font-size: 32px;
  letter-spacing: -1px;
  font-family: "HGGGothicssi";
  font-weight: 600;
}
.section03-tit h2 span b {
  color: #5999f3;
  font-weight: 900;
}
.section03-tit h2 {
  color: #070a40;
  font-size: 45px;
  font-weight: 600;
  font-family: "HGGGothicssi";
}
.section03-tit h2 > strong {
  font-weight: 800;
  color: #5999f3;
}
.section03-tit h2 > b {
  font-weight: 800;
}
.section03-benefit > p {
  color: #232323;
  font-size: 23px;
  font-family: "HGGGothicssi";
  font-weight: 400;
  letter-spacing: -1px;
  line-height: 1.2;
}
.section03-benefit > p span {
  color: #ff0000;
}
.section03-benefit ul li {
  border: 2px solid transparent;
  border-radius: 20px;
  background-image: linear-gradient(#fff, #fff), linear-gradient(to right, #d48fb8 0%, #6da2ec 100%);
  background-origin: border-box;
  background-clip: content-box, border-box;
  margin-bottom: 22px;
  text-align: left;
  font-weight: 400;
}
.section03-benefit ul li strong {
  font-size: 52px;
  color: #f07091;
  letter-spacing: -1px;
}
.section03-benefit ul li small {
  font-size: 32px;
}
.section03-benefit ul li p {
  display: inline-block;
  background-repeat: no-repeat;
  background-position: 90% center;
  background-size: 120px;
  width: 100%;
  padding: 45px 30px 30px;
  font-size: 32px;
  font-family: "HGGGothicssi";
  letter-spacing: -1px;
}
.section03-benefit ul li span {
  font-family: "GMarketSans";
}
.section03-benefit ul li span small {
  font-weight: 400;
}
.section03-benefit ul li:first-of-type {
  background-image: linear-gradient(#fff, #fff), linear-gradient(to right, #ffc200 0%, #ff5b00 100%);
}
.section03-benefit ul li:first-of-type strong {
  color: #fe6d02;
}
.section03-benefit ul li:nth-of-type(1) p {
  background-image: url(/assets/images/section03/img-section03-benefit01.png);
}
.section03-benefit ul li:nth-of-type(2) p {
  background-image: url(/assets/images/section03/img-section03-benefit02.png);
}
.section03-benefit ul li:nth-of-type(3) p {
  background-image: url(/assets/images/section03/img-section03-benefit03.png);
}
.section03-benefit ul li:nth-of-type(4) p {
  background-image: url(/assets/images/section03/img-section03-benefit04.png);
}
.section03-btn {
  width: 100%;
  background-color: #fe6d02;
  text-align: center;
}
.section03-btn a {
  display: inline-block;
  width: 616px;
  margin: 0 auto;
  padding: 24px 0;
  font-size: 39px;
  font-family: "HGGGothicssi";
  font-weight: 800;
  color: #fff;
}

@media only screen and (max-width: 740px) {
  .section03 {
    padding: 0;
  }
  .section03-inner {
    width: 100%;
    padding: 5%;
    margin: 0 auto 0;
  }
  .section03-tit {
    margin: 5vw 0;
  }
  .section03-tit > span {
    padding: 1vw 2vw;
    margin-bottom: 2vw;
    border-radius: 4vw;
    font-size: 5vw;
  }
  .section03-tit h2 span {
    margin-bottom: 4vw;
    font-size: 6vw;
  }
  .section03-tit h2 {
    font-size: 7vw;
  }
  .section03-benefit > p {
    font-size: 3.8vw;
  }
  .section03-benefit ul li {
    margin-bottom: 5vw;
    font-weight: 600;
  }
  .section03-benefit ul li strong {
    font-size: 8vw;
  }
  .section03-benefit ul li small {
    display: inline-block;
    margin-left: 1vw;
    font-size: 4vw;
  }
  .section03-benefit ul li p {
    display: inline-block;
    background-repeat: no-repeat;
    background-position: 92% center;
    background-size: 18vw;
    padding: 5vw 5% 5%;
    font-size: 4.5vw;
    line-height: 1.4;
  }
  .section03-benefit ul li span small {
    margin-left: 0;
    font-weight: 600;
    font-size: 5vw;
  }
  .section03-btn a {
    width: 100%;
    padding: 4vw 0;
    font-size: 6vw;
  }
}
.section04 {
  width: 100%;
  padding: 80px 0 150px; /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#f8bfe1+0,a0c8ff+49 */
  background: linear-gradient(135deg, rgb(248, 191, 225) 0%, rgb(160, 200, 255) 49%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
.section04-inner {
  width: 616px;
  margin: 0 auto;
  text-align: center;
}
.section04-tit {
  margin-bottom: 40px;
}
.section04-tit > span {
  display: block;
  margin-bottom: 40px;
}
.section04-tit h2 {
  display: block;
  color: #232323;
  font-size: 32px;
  letter-spacing: -1px;
  font-family: "HGGGothicssi";
  font-weight: 800;
  line-height: 1.2;
}
.section04-tit h2 span {
  display: inline-block;
  padding: 3px 3px 0;
  background-color: #000;
  font-weight: 600;
}
.section04-tit h2 b {
  display: inline-block;
  background: linear-gradient(90deg, rgb(209, 179, 193) 0%, rgb(199, 219, 247) 50%, rgb(250, 252, 255) 100%);
  background-clip: text;
  -webkit-background-clip: text;
  font-size: 45px;
  font-family: "GMarketSans";
  font-weight: 700;
  color: transparent;
  letter-spacing: -2px;
  vertical-align: top;
}
.section04-gift * {
  font-family: "HGGGothicssi";
}
.section04-gift .gift {
  display: flex;
  justify-content: space-between;
  position: relative;
}
.section04-gift .gift .or {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 75px;
  height: 75px;
  border-radius: 50%;
  background-color: #000;
  color: #fff;
  font-size: 27px;
  font-weight: 800;
  text-align: center;
}
.section04-gift .gift .or small {
  display: block;
  font-size: 15px;
  font-weight: 600;
}
.section04-gift .gift > div:not(.or) {
  width: 48%;
  padding: 16px 0;
  border: 3px solid #000;
  background-color: #fff;
  border-radius: 20px;
  text-align: center;
}
.section04-gift .gift > div:not(.or):nth-of-type(1) {
  border-color: #6da2ec;
}
.section04-gift .gift > div:not(.or):nth-of-type(1) img {
  width: 65%;
}
.section04-gift .gift > div:not(.or):nth-of-type(3) {
  border-color: #ec93b5;
}
.section04-gift .gift > div:not(.or):nth-of-type(3) img {
  margin-right: -30px;
}
.section04-gift .gift > div:not(.or) p {
  font-size: 27px;
  font-weight: 600;
  letter-spacing: -1px;
}
.section04-gift .gift > div:not(.or) span {
  font-family: "GMarketSans";
}
.section04-gift .gift > div:not(.or) > span {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 35px;
  height: 35px;
  margin-bottom: 10px;
  border-radius: 50%;
  background-color: #000;
  font-weight: 600;
  font-size: 23px;
  color: #fff;
  line-height: 1;
}
.section04-gift .gift img {
  margin: 10px auto 0;
  width: 70%;
}
.section04-gift .gift strong {
  display: block;
  font-size: 47px;
  font-weight: 800;
}
.section04-gift .date {
  margin-top: 18px;
  padding: 20px;
  background-color: #fff;
  border-radius: 20px;
}
.section04-gift .date > div {
  display: flex;
  justify-content: start;
  margin-left: 130px;
}
.section04-gift .date > div:not(:last-of-type) {
  margin-bottom: 5px;
}
.section04-gift .date span {
  display: inline-block;
  width: 150px;
  padding: 2px 0;
  margin-right: 10px;
  background-color: #6da2ec;
  border-radius: 20px;
  color: #fff;
  text-align: center;
  font-size: 23px;
}
.section04-gift .date p {
  font-size: 23px;
  font-weight: 800;
}
.section04-gift ul {
  margin-top: 20px;
}
.section04-gift ul li {
  display: flex;
  font-size: 26px;
  line-height: 1.5;
  text-align: left;
  letter-spacing: -1px;
}
.section04-gift ul li::before {
  content: "*";
  display: inline-block;
  margin: 5px 5px 0 0;
}
.section04-gift ul li:not(:last-of-type) {
  margin-bottom: 5px;
}
.section04-apply {
  margin-top: 60px;
  text-align: left;
}
.section04-apply > p {
  display: flex;
  justify-content: start;
  align-items: center;
  margin-bottom: 10px;
  font-size: 26px;
  font-weight: 800;
  font-family: "HGGGothicssi";
}
.section04-apply span {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
  margin-right: 5px;
  border: 1px solid #000;
  border-radius: 50%;
  font-family: "GMarketSans";
  font-weight: 400;
  font-size: 14px;
  vertical-align: middle;
}
.section04-apply a {
  display: inline-block;
  background-repeat: no-repeat;
  background-position: -60px -2px;
  background-size: 400px;
  width: 100%;
  padding: 27px 0;
  background-color: #000;
  background-image: url(/assets/images/img-lighting.png);
  border-radius: 20px;
  font-weight: 600;
  font-size: 32px;
  color: #fff;
  text-align: center;
  font-family: "HGGGothicssi";
  letter-spacing: -1px;
}
.section04-apply a span {
  width: 25px;
  height: 25px;
  border-color: #fff;
  font-size: 18px;
}
.section04-btn {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}
.section04-btn a {
  display: inline-block;
  background-repeat: no-repeat;
  background-position: -120px -2px;
  background-size: 300px;
  width: 48%;
  padding: 12px 0;
}
.section04-btn a:nth-of-type(1) {
  background-color: #4082dd;
}
.section04-btn a:nth-of-type(2) {
  background-color: #f07091;
}

@media only screen and (max-width: 740px) {
  .section04 {
    width: 100%;
    padding: 10vw 0 20vw;
  }
  .section04-inner {
    width: 100%;
    padding: 5%;
  }
  .section04-tit {
    margin-bottom: 3vw;
  }
  .section04-tit img {
    width: 40%;
  }
  .section04-tit > span {
    margin-bottom: 3vw;
  }
  .section04-tit h2 {
    font-size: 6vw;
  }
  .section04-tit h2 span {
    padding: 1vw 1vw 0;
  }
  .section04-tit h2 b {
    font-size: 7vw;
    font-weight: 600;
  }
  .section04-gift .gift .or {
    width: 17vw;
    height: 17vw;
    font-size: 7vw;
  }
  .section04-gift .gift .or small {
    font-size: 3vw;
  }
  .section04-gift .gift > div:not(.or) {
    padding: 3vw 0;
    border-radius: 4vw;
  }
  .section04-gift .gift > div:not(.or):nth-of-type(3) img {
    margin-right: -3vw;
  }
  .section04-gift .gift > div:not(.or) p {
    font-size: 4vw;
  }
  .section04-gift .gift > div:not(.or) > span {
    width: 7vw;
    height: 7vw;
    margin-bottom: 2vw;
    font-size: 5vw;
  }
  .section04-gift .gift img {
    margin: 10px auto 0;
  }
  .section04-gift .gift strong {
    font-size: 47px;
  }
  .section04-gift .date {
    margin-top: 2vw;
    padding: 3vw;
    border-radius: 3vw;
  }
  .section04-gift .date > div {
    align-items: center;
    margin-left: 10vw;
  }
  .section04-gift .date > div:not(:last-of-type) {
    margin-bottom: 1vw;
  }
  .section04-gift .date span {
    width: 27vw;
    padding: 1vw 0;
    margin-right: 2vw;
    border-radius: 3vw;
    font-size: 4vw;
  }
  .section04-gift .date p {
    font-size: 4.5vw;
    vertical-align: middle;
    line-height: 1;
  }
  .section04-gift ul {
    margin-top: 2vw;
  }
  .section04-gift ul li {
    font-size: 5vw;
  }
  .section04-gift ul li::before {
    margin: 1vw 1vw 0 0;
  }
  .section04-gift ul li:not(:last-of-type) {
    margin-bottom: 1vw;
  }
  .section04-apply {
    margin-top: 5vw;
  }
  .section04-apply > p {
    margin-bottom: 1vw;
    font-size: 4vw;
  }
  .section04-apply span {
    width: 5vw;
    height: 5vw;
    margin-right: 1vw;
    font-size: 3.5vw;
  }
  .section04-apply a {
    display: inline-block;
    background-repeat: no-repeat;
    background-position: -15vw -2px;
    background-size: 65vw;
    padding: 5vw 0;
    border-radius: 3vw;
    font-size: 5vw;
  }
  .section04-apply a span {
    width: 5vw;
    height: 5vw;
    font-size: 3vw;
  }
  .section04-btn {
    margin-bottom: 2vw;
  }
  .section04-btn a {
    display: inline-block;
    background-repeat: no-repeat;
    background-position: -25vw -2px;
    background-size: 55vw;
    padding: 3vw 0;
  }
}
.banner {
  position: fixed;
  bottom: -100px;
  z-index: 99;
  width: 100%;
  background-color: #337ebd;
  opacity: 0;
  pointer-events: none;
}
.banner.visible {
  opacity: 1;
  transition: opacity 0.5s ease, transform 0.5s ease;
  pointer-events: auto;
  bottom: 0;
}
.banner-inner {
  width: 616px;
  margin: 0 auto;
  padding: 20px 0;
  text-align: center;
}

.card-btn {
  display: inline-flex;
  align-items: center;
  padding: 15px;
  margin-left: 12px;
  border-radius: 10px;
  cursor: pointer;
  font-size: 31px;
  font-family: "HGGGothicssi";
  letter-spacing: -2px;
  color: white;
  font-weight: 700;
}
.card-btn i {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 35px;
  height: 35px;
  margin-left: 10px;
  border-radius: 50%;
  background: linear-gradient(to right, #0b5593, #4992cf);
  box-shadow: inset 0 5px 5px #0b5593;
}
.card-btn i::after {
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  content: "";
  display: inline-block;
  width: 12px;
  height: 18px;
  background-image: url(/assets/images/ico-arrow.png);
}

@media only screen and (max-width: 740px) {
  .banner-inner {
    width: 100%;
    padding: 3vw 5%;
  }
  .banner-inner > img {
    width: 40%;
  }
  .card-btn {
    padding: 2vw;
    margin-left: 2vw;
    font-size: 5vw;
    letter-spacing: normal;
  }
  .card-btn i {
    width: 5vw;
    height: 5vw;
    margin-left: 2vw;
  }
  .card-btn i::after {
    width: 1.5vw;
    height: 3vw;
  }
}