/* ==========================================================================
   共通CSS - 全ページで使用するスタイル
   WordPress + Twig サイト用
   ========================================================================== */

/* --------------------------------------------------------------------------
   Reset & Base Styles
   -------------------------------------------------------------------------- */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body,
html {
  width: 100%;
  height: 100%;
  font-size: 3.73vw;
  color: #414141;
  background: #f3f4fb;
}

body {
  font-family: "M PLUS Rounded 1c", sans-serif;
}

a {
  text-decoration: none;
  color: #fff;
}

li {
  list-style: none;
}

/* --------------------------------------------------------------------------
   Loading Animation
   -------------------------------------------------------------------------- */
.loading {
  width: 100vw;
  height: 100vh;
  background: #f3f4fb;
  position: fixed;
  top: 0;
  left: 0;
  transition: 0.5s opacity;
  z-index: 99999;
  pointer-events: none;
}

.loading.is_hide {
  opacity: 0;
}

.loading::after,
.loading::before {
  content: "";
  width: 156vw;
  padding-top: 156vw;
  border-radius: 50%;
  position: absolute;
  opacity: 0.5;
  -webkit-animation: animatebgcircle 5s linear infinite;
  animation: animatebgcircle 5s linear infinite;
}

.loading::before {
  background: radial-gradient(#7655e7, transparent 50%);
  top: 50%;
  left: -70%;
}

.loading::after {
  background: radial-gradient(#dd6fae, transparent 50%);
  bottom: 50%;
  right: -70%;
}

.loading_inner {
  width: 177px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 1;
}

.loading_inner_icon {
  width: 100%;
  padding-top: 33.8%;
  position: relative;
  overflow: hidden;
  -webkit-animation: loading 2.5s ease infinite;
  animation: loading 2.5s ease infinite;
}

.loading_inner_icon::after {
  content: "";
  width: 177px;
  height: 100%;
  background: url(../img/common/icon_logo.webp) no-repeat center/contain;
  position: absolute;
  top: 0;
  left: 0;
}

@keyframes loading {
  0% {
    width: 0;
    opacity: 1;
  }

  70% {
    width: 100%;
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

@keyframes animatebgcircle {
  0% {
    -webkit-transform: scale(1) translate(0, 0);
    transform: scale(1) translate(0, 0);
  }

  25% {
    -webkit-transform: scale(1.5) translate(15%, 0);
    transform: scale(1.5) translate(15%, 0);
  }

  50% {
    -webkit-transform: scale(1) translate(15%, 15%);
    transform: scale(1) translate(15%, 15%);
  }

  75% {
    -webkit-transform: scale(0.5) translate(0, 15%);
    transform: scale(0.5) translate(0, 15%);
  }

  100% {
    -webkit-transform: scale(1) translate(0, 0);
    transform: scale(1) translate(0, 0);
  }
}

/* --------------------------------------------------------------------------
   Container & Contents
   -------------------------------------------------------------------------- */
.l_contents {
  width: 100%;
}

.contents {
  width: 100%;
  overflow: hidden;
  position: relative;
}

/* --------------------------------------------------------------------------
   Main Head (Page Headers)
   -------------------------------------------------------------------------- */
.main_head {
  position: relative;
  padding-top: 41.5%;
}

.main_head__campaign {
  padding-top: 29%;
}

.main_head__topics {
  padding-top: 30.9%;
}

.main_head__topics .main_head_inner_ttl {
  margin: 0 auto;
  top: unset;
  right: 0;
  bottom: 0;
  line-height: 1;
}

.main_head__topics .main_head_inner_ttl_main {
  color: #f3f4fb;
  text-shadow: none;
}

.main_head__interviews .main_head_inner_ttl_sub {
  text-align: center;
}

.main_head__detail {
  padding-top: 34.6%;
}

.main_head_inner {
  width: 100%;
  max-width: 1000px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.main_head_inner_vertical {
  width: 100%;
  padding: 0 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: absolute;
  left: 0;
  bottom: 25px;
}

.main_head_inner_ttl {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  z-index: 1;
}

.main_head_inner_ttl_parent {
  font-size: 1.57rem;
  letter-spacing: 0.2rem;
  font-weight: 800;
}

.main_head_inner_ttl_main {
  font-size: 2.85rem;
  font-weight: 800;
  text-shadow: -2px -2px 0.5px #fff, -2px 0 0.5px #fff, -2px 1px 0.5px #fff,
    0 -2px 0.5px #fff, 0 1px 0.5px #fff, 2px -2px 0.5px #fff, 2px 0 0.5px #fff,
    1px 2px 0.5px #fff;
  letter-spacing: 0.6rem;
}

.main_head_inner_ttl_main.u_unspace {
  letter-spacing: unset;
}

.main_head_inner_ttl_sub {
  font-size: 1.42rem;
  font-weight: 800;
  letter-spacing: 0.2rem;
}

/* --------------------------------------------------------------------------
   Main Body
   -------------------------------------------------------------------------- */
.main_body {
  padding: 40px 20px 160px;
  position: relative;
  background: #f3f4fb;
  border-radius: 40px 40px 0 0;
}

.main_body.u_unbox {
  background: unset;
  border-radius: unset;
  padding: unset;
}

.main_body_lead {
  font-size: 1.42rem;
  font-weight: 900;
  margin-bottom: 40px;
}

.main_body_lead span {
  color: #dd6fae;
}

.main_body_lead__plan {
  margin: 55px 0 40px;
}

/* --------------------------------------------------------------------------
   Page Frame
   -------------------------------------------------------------------------- */
.l_pageframe {
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 9999;
}

.pageframe {
  width: 100%;
  height: 100%;
  position: relative;
}

.pageframe::after {
  content: "";
  width: 100%;
  height: 100%;
  border: solid #ebecf8 20px;
  border-top: unset;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  box-sizing: border-box;
  transition: all 0.3s;
}

.pageframe_bg {
  width: calc(100% - 40px);
  height: calc(100% - 82px);
  position: absolute;
  bottom: 20px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  transition: all 0.3s;
}

.pageframe_bg > span {
  width: 20px;
  aspect-ratio: 1/1;
  display: block;
  background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCI+CiAgPGRlZnM+CiAgICA8Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aCI+CiAgICAgIDxyZWN0IGlkPSLplbfmlrnlvaJfMzYwNzIiIGRhdGEtbmFtZT0i6ZW35pa55b2iIDM2MDcyIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIzMTY1IC0xMDA1OCkiIGZpbGw9IiNmZmYiIHN0cm9rZT0iIzcwNzA3MCIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICA8L2NsaXBQYXRoPgogIDwvZGVmcz4KICA8ZyBpZD0i44Oe44K544Kv44Kw44Or44O844OXXzM5MjUxIiBkYXRhLW5hbWU9IuODnuOCueOCr+OCsOODq+ODvOODlyAzOTI1MSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzMTY1IDEwMDU4KSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXAtcGF0aCkiPgogICAgPGcgaWQ9IuOCs+ODs+ODneODvOODjeODs+ODiF82MV8yMiIgZGF0YS1uYW1lPSLjgrPjg7Pjg53jg7zjg43jg7Pjg4ggNjEg4oCTIDIyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMzE0NSAtMTAxNTIpIj4KICAgICAgPHBhdGggaWQ9IuODkeOCuV83MTcxIiBkYXRhLW5hbWU9IuODkeOCuSA3MTcxIiBkPSJNMjIxLDBIMFY4MDBIMTI4MFYwWk0xMjYwLDc2MGEyMCwyMCwwLDAsMS0yMCwyMEg0MGEyMCwyMCwwLDAsMS0yMC0yMFYxMTRBMjAsMjAsMCwwLDEsNDAsOTRIMTg2LjEyNmEzNC44ODIsMzQuODgyLDAsMCwwLDMzLjEzNi0yNEgxMjQwYTIwLDIwLDAsMCwxLDIwLDIwWiIgZmlsbD0iI2ViZWNmOCIvPgogICAgPC9nPgogIDwvZz4KPC9zdmc+Cg==) no-repeat center/contain;
  position: absolute;
}

.pageframe_bg > span:nth-child(1) {
  bottom: -1px;
  left: -1px;
  -webkit-transform: scale(1, -1);
  transform: scale(1, -1);
}

.pageframe_bg > span:nth-child(2) {
  bottom: -1px;
  right: -1px;
  -webkit-transform: scale(-1, -1);
  transform: scale(-1, -1);
}

/* --------------------------------------------------------------------------
   Marble Background
   -------------------------------------------------------------------------- */
.l_marblebg {
  width: 100%;
  position: absolute;
  pointer-events: none;
}

.marblebg {
  width: 100%;
  height: 100%;
}

.marblebg_group {
  padding-top: 256%;
  position: relative;
}

.marblebg_group:not(:first-child) {
  margin-top: 20%;
}

.marblebg_group_item {
  width: 150vw;
  padding-top: 150vw;
  border-radius: 50%;
  position: absolute;
  pointer-events: none;
  opacity: 0.5;
  -webkit-animation: animatebgcircle 5s linear infinite;
  animation: animatebgcircle 5s linear infinite;
}

/* nth-child の配置は SP / PC のメディアクエリ側で指定 */

/* ==========================================================================
   Header Styles
   ========================================================================== */
.l_header {
  width: 100%;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  z-index: 100;
}

.header {
  padding: 8px 10px 8px 8px;
  background: #ebecf8;
}

.header_inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}

.header_inner_logo {
  width: 34.17%;
}

.header_inner_logo > a {
  width: 100%;
  display: block;
  position: relative;
  background: url(../img/common/icon_logo.webp) no-repeat center/100%;
  transition: opacity 0.3s;
}

.header_inner_logo > a::after {
  content: "";
  padding-top: 36%;
  display: block;
}

.header_inner_menu {
  width: 57.14%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.header_inner_menu_list {
  height: 70px;
  display: flex;
  font-size: 18px;
  font-weight: 800;
}

.header_inner_menu_list > li {
  position: relative;
}

.header_inner_menu_list > li > a {
  width: 100%;
  height: 100%;
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #414141;
  transition: all 0.3s;
}

.header_inner_menu_list > li > a:hover {
  color: #797979;
  background: rgba(255, 255, 255, 0.6);
}

.header_inner_menu_list > li > a.is_current {
  position: relative;
}

.header_inner_menu_list > li > a.is_megamenu {
  cursor: pointer;
}

.header_inner_logo > a:hover {
  opacity: 0.5;
}

.header_inner_menu_list > li.u_down > a {
  position: relative;
}

.header_inner_menu_list > li.u_down > a::after {
  content: "";
  width: 10px;
  margin-left: 5px;
  aspect-ratio: 2/3;
  background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNyIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDcgMTIiPgogIDxkZWZzPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgiPgogICAgICA8cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIxMiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNzA3MDcwIiBzdHJva2Utd2lkdGg9IjEiLz4KICA8L2NsaXBQYXRoPgogIDwvZGVmcz4KICA8ZyBjbGlwLXBhdGg9InVybCgjY2xpcC1wYXRoKSI+CiAgICA8cGF0aCBkPSJNMCw4LjgsNS4xMzQsNC40LDAsMCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNDE0MTQxIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMS41Ii8+CiAgPC9nPgo8L3N2Zz4K)
    no-repeat center/contain;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.header_inner_menu_list > li.u_down > a:hover::after {
  background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNyIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDcgMTIiPgogIDxkZWZzPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgiPgogICAgICA8cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIxMiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNzA3MDcwIiBzdHJva2Utd2lkdGg9IjEiLz4KICA8L2NsaXBQYXRoPgogIDwvZGVmcz4KICA8ZyBjbGlwLXBhdGg9InVybCgjY2xpcC1wYXRoKSI+CiAgICA8cGF0aCBkPSJNMCw4LjgsNS4xMzQsNC40LDAsMCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNzk3OTc5IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMS41Ii8+CiAgPC9nPgo8L3N2Zz4K)
    no-repeat center/contain;
}

/* Buy Button */
.header_inner_menu_buy {
  margin-left: 22px;
}

.header_inner_menu_buy .buy_btn a {
  width: 108px;
  position: relative;
  color: #aa7ac3;
  padding: 11px 22px;
  display: block;
  font-size: 16px;
  font-weight: 700;
}

.header_inner_menu_buy .buy_btn a::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  border-radius: 9999px;
  border: 3px solid transparent;
  background: linear-gradient(90deg, #dd6fae, #7655e7) border-box border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: destination-out;
  mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  mask-composite: exclude;
}

/* Download Button */
.dlacdn {
  width: 100%;
  padding: 5px 10%;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 23px;
  background: #f3f4fb;
  border: 3px solid #fff;
  z-index: 1;
  background: linear-gradient(90deg, #eb85c7 20%, #af66d3 70%, #7a57be);
}

.dlacdn_btn {
  font-size: 15px;
  font-weight: 800;
  cursor: pointer;
}

.dlacdn_btn .u_large {
  font-size: 20px;
}

.dlacdn_btn .u_pink {
  color: #dd6fae;
}

.dlacdn_list {
  padding: 15px 0 5px;
  display: none;
}

.dlacdn_list_item {
  width: 100%;
  position: relative;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
}

.dlacdn_list_item::after {
  content: "";
  padding-top: 25%;
  display: block;
}

.dlacdn_list_item:not(:first-child) {
  margin-top: 17.5px;
}

.header_inner_menu_download {
  position: relative;
}

.header_inner_menu_download::after {
  content: "";
  padding-top: 27.2%;
  display: block;
}

/* Mega Menu */
.l_megamenu {
  position: absolute;
  top: 70px;
  left: 0;
  background: #fff;
  border-radius: 0 0 15px 15px;
  z-index: -1;
  display: none;
}

.l_megamenu.is_show {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
}

.megamenu {
  width: 100%;
  margin: 0 auto;
}

.megamenu_inner {
  width: 100%;
  padding: 17.5px 15px 15.5px;
  position: relative;
}

.menulist_column {
  padding: 8px 0;
}

.menulist_column:not(:first-child) {
  border-top: 2px solid #c3c3c3;
}

.menulist_column > li {
  padding: 0 5px;
  font-size: 17px;
  font-weight: 500;
}

.menulist_column > li.u_little {
  padding: 0;
  font-size: 1rem;
  color: #797979;
}

.menulist_column > li:not(:first-child) {
  margin-top: 10px;
}

.menulist_column > li > a {
  padding: 3px 5px;
  color: inherit;
  white-space: nowrap;
  transition: all 0.3s;
  border-radius: 3px;
}

.menulist_column > li > a.is_current {
  position: relative;
}

.menulist_column > li > a.is_current::after {
  content: "";
  width: 100%;
  height: 2px;
  background: #414141;
  position: absolute;
  bottom: 0;
  left: 0;
}

.menulist_column > li > a:hover {
  background: #dcdef0;
}

/* Mobile Menu Button */
.header_inner_menu_btn {
  display: none;
  width: 20%;
  cursor: pointer;
  background: #414141;
  border: 2px solid #fff;
  border-radius: 50%;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  position: relative;
}

.header_inner_menu_btn::after {
  content: "";
  padding-top: 100%;
  display: block;
}

.header_inner_menu_btn_inner {
  width: 100%;
  height: 100%;
  padding: 30%;
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
}

.header_inner_menu_btn_inner > span {
  width: 100%;
  height: 16%;
  background: #fff;
  border-radius: 50px;
  transition: all 0.3s;
}

.header_inner_menu_btn.is_show .header_inner_menu_btn_inner > span:nth-child(1) {
  -webkit-transform: rotate(45deg) translate(30%, 180%);
  transform: rotate(45deg) translate(30%, 180%);
}

.header_inner_menu_btn.is_show .header_inner_menu_btn_inner > span:nth-child(2) {
  opacity: 0;
}

.header_inner_menu_btn.is_show .header_inner_menu_btn_inner > span:nth-child(3) {
  -webkit-transform: rotate(-45deg) translate(30%, -180%);
  transform: rotate(-45deg) translate(30%, -180%);
}

/* Mobile Navigation (full-screen overlay) */
.l_glonav {
  width: 100vw;
  height: 100svh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  pointer-events: none;
  transition: all 0.3s;
}

.l_glonav.is_show {
  background: rgba(0, 0, 0, 0.8);
  pointer-events: all;
}

.glonav {
  width: 100%;
  height: 100svh;
  position: relative;
  background: #ebecf8;
  -webkit-transform: translateY(-120%);
  transform: translateY(-120%);
  transition: all 0.3s;
}

.glonav.is_show {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.glonav_inner {
  width: 100%;
  height: 100%;
  padding: 24% 0 0;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.glonav_inner_menu {
  height: 76%;
  position: relative;
  overflow: scroll;
}

.glonav_inner_menu_list {
  border-bottom: 1px solid #dcdef0;
}

.glonav_inner_menu_list_row {
  padding: 15px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 1.42rem;
  font-weight: 800;
  color: #414141;
}

.glonav_inner_menu_list_row__link {
  display: block;
  width: 100%;
}

.glonav_inner_menu_list_row__btn {
  cursor: pointer;
}

.glonav_inner_download_list {
  padding: 40px 0;
}

.glonav_inner_download_list > li {
  width: 74.6%;
  margin: 0 auto;
  position: relative;
  color: #fff;
  font-size: 1.28rem;
  font-weight: 700;
}

.glonav_inner_download_list > li .u_large {
  font-size: 1.785rem;
}

.glonav_inner_download_list > li:not(:first-child) {
  margin-top: 15px;
}

.glonav_inner_download_list > li::after {
  content: "";
  padding-top: 19.2%;
  display: block;
}

/* ==========================================================================
   Footer Styles
   ========================================================================== */
.l_footer {
  background: #414141;
}

.footer {
  padding: 0 0 15px;
}

.footer_logo > a {
  width: 54.4vw;
  margin: 0 auto;
  padding: 54px 0 37px;
  display: block;
  position: relative;
  background: url(../img/common/icon_logo_wt.webp) no-repeat center/contain;
  transition: opacity 0.3s;
}

.footer_logo > a::after {
  content: "";
  padding-top: 35.78%;
  display: block;
}

.footer_logo > a:hover {
  opacity: 0.5;
}

.footer_main_menu_list {
  color: #fff;
}

.footer_main_download_ttl {
  font-size: 22px;
  font-weight: 800;
  color: #fff;
  opacity: 0.5;
}

.footer_main_download_list {
  padding: 40px 0;
}

.footer_main_download_list > li {
  width: 74.6%;
  margin: 0 auto;
  position: relative;
  color: #fff;
  font-size: 1.28rem;
  font-weight: 700;
}

.footer_main_download_list > li .u_large {
  font-size: 1.785rem;
}

.footer_main_download_list > li:not(:first-child) {
  margin-top: 15px;
}

.footer_main_download_list > li::after {
  content: "";
  padding-top: 19.2%;
  display: block;
}

.footer_outerlink {
  padding: 0 20px;
}

.footer_outerlink > li:not(.u_icon) {
  font-size: 1.14rem;
  display: flex;
  align-items: center;
}

.footer_outerlink > li:not(.u_icon)::after {
  content: "";
  width: 3.54vw;
  aspect-ratio: 1/1;
  margin-left: 5px;
  background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMy4zNjUiIGhlaWdodD0iMTMuMzY1IiB2aWV3Qm94PSIwIDAgMTMuMzY1IDEzLjM2NSI+CiAgPHBhdGggaWQ9Imljb25zOC3lpJbpg6jjg6rjg7Pjgq8iIGQ9Ik0xNy42NDIsNC45OGEuNy43LDAsMCwwLS4wNzguMDA3SDEzLjA4NmEuNy43LDAsMSwwLDAsMS40MDZoMi44NzNsLTQuNzc2LDQuNzc2YS43LjcsMCwxLDAsLjk5NC45OTRsNC43NzYtNC43NzZWMTAuMjZhLjcuNywwLDAsMCwxLjQwNiwwVjUuNzc2YS43LjcsMCwwLDAtLjcxNy0uOFpNNy42MzcsNi4wNDFBMi42NDgsMi42NDgsMCwwLDAsNSw4LjY3OHY3LjAzMWEyLjY0OCwyLjY0OCwwLDAsMCwyLjYzNywyLjYzNmg3LjAzMUEyLjY0OCwyLjY0OCwwLDAsMCwxNy4zLDE1LjcwOHYtMy4zNGEuNy43LDAsMCwwLTEuNDA2LDB2My4zNGExLjIyNCwxLjIyNCwwLDAsMS0xLjIzLDEuMjNINy42MzdhMS4yMjQsMS4yMjQsMCwwLDEtMS4yMy0xLjIzVjguNjc4YTEuMjI0LDEuMjI0LDAsMCwxLDEuMjMtMS4yM2gzLjM0YS43LjcsMCwxLDAsMC0xLjQwNloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC01IC00Ljk4KSIgZmlsbD0iI2ZmZiIvPgo8L3N2Zz4K) no-repeat center/contain;
}

.footer_outerlink > li:not(.u_icon) > a {
  position: relative;
  transition: all 0.3s;
}

.footer_outerlink > li:not(.u_icon) > a:hover {
  text-decoration: underline;
}

.footer_outerlink > li.u_icon {
  width: 42px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  transition: all 0.3s;
  margin-right: 30px;
}

.footer_outerlink > li.u_icon__twitter {
  background: #fff url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNDIiIGhlaWdodD0iNDIiIHZpZXdCb3g9IjAgMCA0MiA0MiI+CiAgPGRlZnM+CiAgICA8Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aCI+CiAgICAgIDxjaXJjbGUgaWQ9IualleWGhuW9ol8zNjMiIGRhdGEtbmFtZT0i5qWV5YaG5b2iIDM2MyIgY3g9IjIxIiBjeT0iMjEiIHI9IjIxIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjI5MTAuMTc0IDM1ODMuNzYzKSIgZmlsbD0iI2ZmZiIvPgogICAgPC9jbGlwUGF0aD4KICA8L2RlZnM+CiAgPGcgaWQ9IuODnuOCueOCr+OCsOODq+ODvOODl18zOTI1MyIgZGF0YS1uYW1lPSLjg57jgrnjgq/jgrDjg6vjg7zjg5cgMzkyNTMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIyOTEwLjE3NCAtMzU4My43NjMpIiBjbGlwLXBhdGg9InVybCgjY2xpcC1wYXRoKSI+CiAgICA8cGF0aCBpZD0iVHdpdHRlcuOBq+OBpOOBhOOBpl9fX+S8muekvuOBruamguimgeOBqOeQhuW/tS0wIiBkYXRhLW5hbWU9IlR3aXR0ZXLjgavjgaTjgYTjgaYgXyDkvJrnpL7jga7mpoLopoHjgajnkIblv7UtMCIgZD0iTTExLjU1Nyw4LjQsMTguNzg2LDBIMTcuMDczTDEwLjgsNy4zLDUuNzgyLDBIMEw3LjU4MSwxMS4wMzQsMCwxOS44NDZIMS43MTNMOC4zNDIsMTIuMTRsNS4yOTUsNy43MDVoNS43ODJMMTEuNTU3LDguNFpNOS4yMSwxMS4xMzFsLS43NjgtMS4xTDIuMzMsMS4yOUg0Ljk2Mkw5Ljg5NCw4LjM0NWwuNzY4LDEuMSw2LjQxMSw5LjE3MUgxNC40NDJMOS4yMSwxMS4xMzFaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjI4OTguODg1IDM1OTQuODQpIi8+CiAgPC9nPgo8L3N2Zz4K) no-repeat center/contain;
}

.footer_outerlink > li.u_icon__twitter:hover {
  background: #000 url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNDIiIGhlaWdodD0iNDIiIHZpZXdCb3g9IjAgMCA0MiA0MiI+CiAgPGRlZnM+CiAgICA8Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aCI+CiAgICAgIDxjaXJjbGUgaWQ9IualleWGhuW9ol8zNjMiIGRhdGEtbmFtZT0i5qWV5YaG5b2iIDM2MyIgY3g9IjIxIiBjeT0iMjEiIHI9IjIxIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjI5MTAuMTc0IDM2NDQuNzYzKSIvPgogICAgPC9jbGlwUGF0aD4KICA8L2RlZnM+CiAgPGcgaWQ9IuODnuOCueOCr+OCsOODq+ODvOODl18zOTI1NCIgZGF0YS1uYW1lPSLjg57jgrnjgq/jgrDjg6vjg7zjg5cgMzkyNTQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIyOTEwLjE3NCAtMzY0NC43NjMpIiBjbGlwLXBhdGg9InVybCgjY2xpcC1wYXRoKSI+CiAgICA8cGF0aCBpZD0iVHdpdHRlcuOBq+OBpOOBhOOBpl9fX+S8muekvuOBruamguimgeOBqOeQhuW/tS0wIiBkYXRhLW5hbWU9IlR3aXR0ZXLjgavjgaTjgYTjgaYgXyDkvJrnpL7jga7mpoLopoHjgajnkIblv7UtMCIgZD0iTTExLjU1Nyw4LjQsMTguNzg2LDBIMTcuMDczTDEwLjgsNy4zLDUuNzgyLDBIMEw3LjU4MSwxMS4wMzQsMCwxOS44NDZIMS43MTNMOC4zNDIsMTIuMTRsNS4yOTUsNy43MDVoNS43ODJMMTEuNTU3LDguNFpNOS4yMSwxMS4xMzFsLS43NjgtMS4xTDIuMzMsMS4yOUg0Ljk2Mkw5Ljg5NCw4LjM0NWwuNzY4LDEuMSw2LjQxMSw5LjE3MUgxNC40NDJMOS4yMSwxMS4xMzFaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjI4OTguODg1IDM2NTUuODQpIiBmaWxsPSIjZmZmIi8+CiAgPC9nPgo8L3N2Zz4K) no-repeat center/contain;
}

.footer_outerlink > li.u_icon > a {
  width: 100%;
  height: 100%;
  display: block;
}

.footer_bnrlink {
  margin: 50px 0 0;
  padding: 0 20px;
  display: flex;
  flex-flow: wrap;
  justify-content: center;
  align-items: center;
}

.footer_bnrlink > li {
  width: calc(100% / 3 - 7px);
  margin-left: 10px;
}

.footer_bnrlink > li > a {
  width: 100%;
  height: 100%;
  display: block;
  aspect-ratio: 105/38;
  transition: opacity 0.3s;
}

.footer_bnrlink > li > a img {
  width: 100%;
  height: auto;
  display: block;
}

.footer_bnrlink > li > a:hover {
  opacity: 0.5;
}

.footer_sns {
  margin: 30px auto 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.footer_sns_item {
  width: 11.2vw;
  aspect-ratio: 1/1;
  border-radius: 50%;
}

.footer_sns_item__twitter {
  background: #fff url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNDIiIGhlaWdodD0iNDIiIHZpZXdCb3g9IjAgMCA0MiA0MiI+CiAgPGRlZnM+CiAgICA8Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aCI+CiAgICAgIDxjaXJjbGUgaWQ9IualleWGhuW9ol8zNjMiIGRhdGEtbmFtZT0i5qWV5YaG5b2iIDM2MyIgY3g9IjIxIiBjeT0iMjEiIHI9IjIxIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjI5MTAuMTc0IDM1ODMuNzYzKSIgZmlsbD0iI2ZmZiIvPgogICAgPC9jbGlwUGF0aD4KICA8L2RlZnM+CiAgPGcgaWQ9IuODnuOCueOCr+OCsOODq+ODvOODl18zOTI1MyIgZGF0YS1uYW1lPSLjg57jgrnjgq/jgrDjg6vjg7zjg5cgMzkyNTMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIyOTEwLjE3NCAtMzU4My43NjMpIiBjbGlwLXBhdGg9InVybCgjY2xpcC1wYXRoKSI+CiAgICA8cGF0aCBpZD0iVHdpdHRlcuOBq+OBpOOBhOOBpl9fX+S8muekvuOBruamguimgeOBqOeQhuW/tS0wIiBkYXRhLW5hbWU9IlR3aXR0ZXLjgavjgaTjgYTjgaYgXyDkvJrnpL7jga7mpoLopoHjgajnkIblv7UtMCIgZD0iTTExLjU1Nyw4LjQsMTguNzg2LDBIMTcuMDczTDEwLjgsNy4zLDUuNzgyLDBIMEw3LjU4MSwxMS4wMzQsMCwxOS44NDZIMS43MTNMOC4zNDIsMTIuMTRsNS4yOTUsNy43MDVoNS43ODJMMTEuNTU3LDguNFpNOS4yMSwxMS4xMzFsLS43NjgtMS4xTDIuMzMsMS4yOUg0Ljk2Mkw5Ljg5NCw4LjM0NWwuNzY4LDEuMSw2LjQxMSw5LjE3MUgxNC40NDJMOS4yMSwxMS4xMzFaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjI4OTguODg1IDM1OTQuODQpIi8+CiAgPC9nPgo8L3N2Zz4K) no-repeat center/contain;
}

.footer_sns_item > a {
  width: 100%;
  height: 100%;
  display: block;
}

.footer_copy {
  margin: 30px auto 0;
  padding: 0 20px;
  color: #fff;
  text-align: center;
}

/* Footer Accordion */
.footaccordion__glonav {
  background: #dcdef0;
}

.footaccordion__glonav > li > a {
  color: #414141;
}

.footaccordion > li:not(:first-child) {
  margin-top: 10px;
}

.footaccordion > li > a {
  position: relative;
  display: flex;
  align-items: center;
  transition: opacity 0.3s;
}

.footaccordion > li > a:hover {
  opacity: 0.5;
}

/* ==========================================================================
   Utility Classes
   ========================================================================== */

/* Display Utilities */
.u_pc__tab {
  display: block;
}

/* Size Utilities */
.u_little {
  font-size: 0.9em;
}

/* Color Utilities */
.u_pink {
  color: #dd6fae;
}

/* Animation Utilities */
.u_fade_under {
  opacity: 0;
  -webkit-transform: translateY(100px);
  transform: translateY(100px);
  transition: all 0.75s;
}

.u_fade_under.is_show {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.u_fade_pop {
  opacity: 0;
}

.u_fade_pop.is_show {
  -webkit-animation: popshow 0.75s ease-in-out forwards;
  animation: popshow 0.75s ease-in-out forwards;
}

@keyframes popshow {
  0% {
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0);
  }

  50% {
    opacity: 1;
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }

  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

/* ==========================================================================
   Responsive Styles - Tablet
   ========================================================================== */
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .header_inner_menu_list > li > a {
    padding: 0 8px;
    white-space: nowrap;
  }

  .header_inner_menu_download {
    width: 220px;
    margin-left: 12px;
  }
}

/* ==========================================================================
   Responsive Styles - Mobile
   ========================================================================== */
@media screen and (max-width: 767px) {

  /* Display Utilities for Mobile */
  .u_pc {
    display: none;
  }


  .contents {
    margin-top: -30px;
  }

  .main_head__campaign .main_head_inner_vertical {
    justify-content: center;
    bottom: 0;
    -webkit-transform: translateY(15%);
    transform: translateY(15%);
  }

  .main_head__vtuber {
    padding-top: 59.4%;
  }

  .main_head__vtuber .main_head_inner_ttl_main {
    letter-spacing: 0.1em;
    line-height: 0.95;
    text-align: center;
  }

  .main_head__vtuber .main_head_inner_ttl_main .u_small {
    font-size: 2.28rem;
  }

  .main_head__vtuberinterview {
    padding-top: 60%;
  }

  .main_head__vtuberinterview .main_head_inner_ttl_main {
    letter-spacing: 0.1em;
    line-height: 0.95;
    text-align: center;
  }

  .main_head__vtuberinterview .main_head_inner_ttl_main .u_small {
    font-size: 2.2rem;
  }

  .main_head__projects {
    padding-top: 57.6%;
  }

  .main_head__interviews {
    padding-top: 65%;
  }

  .main_head__interviews .main_head_inner_ttl_main {
    letter-spacing: 0;
    font-size: 2.14rem;
  }

  .main_body_lead__vtuber {
    margin-bottom: 30px;
  }


  /* Header Mobile Styles */
  .header {
    border-radius: 0 0 30px 30px;
  }

  .header_inner_menu_download {
    width: 74.3%;
    color: #fff;
    font-size: 1.14rem;
    font-weight: 800;
  }

  .header_inner_menu_btn {
    display: block;
  }

  /* Footer Mobile Styles */
  .footer_main_menu_list {
    border-bottom: 1px solid #707070;
  }

  .footer_main_menu_list_row {
    padding: 15px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 1.42rem;
    font-weight: 800;
  }

  .footer_main_menu_list_row::after {
    content: "";
  }

  .footer_main_menu_list_row__btn::after {
    width: 4.53vw;
    aspect-ratio: 9/14;
    background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMy41MjMiIGhlaWdodD0iMjEuMjE3IiB2aWV3Qm94PSIwIDAgMTMuNTIzIDIxLjIxNyI+CiAgPHBhdGggaWQ9IuODkeOCuV83MjI5IiBkYXRhLW5hbWU9IuODkeOCuSA3MjI5IiBkPSJNMCwwLDkuOTA4LDguNDk0LDAsMTYuOTg3IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyLjExNSAyLjExNSkiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjMiLz4KPC9zdmc+Cg==) no-repeat center/contain;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    transition: all 0.3s;
  }

  .footer_main_menu_list_row__btn.is_show::after {
    -webkit-transform: rotate(90deg) scale(-1, 1);
    transform: rotate(90deg) scale(-1, 1);
  }

  .footer_main_menu_list_row__logo {
    display: none !important;
  }

  .footer_outerlink > li:not(:first-child) {
    margin-top: 25px;
  }

  .footer_bnrlink > li:first-child,
  .footer_bnrlink > li:nth-child(3n + 1) {
    margin-left: 0;
  }

  .footer_bnrlink > li:nth-child(n + 4) {
    margin-top: 10px;
  }

  /* Footer Accordion Mobile */
  .footaccordion {
    padding: 20px;
    background: #5c5c5c;
    display: none;
  }

  .footaccordion__glonav {
    background: #dcdef0;
  }

  .footaccordion__glonav > li > a {
    color: #414141;
  }

  .footaccordion__glonav > li > a::after {
    background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNyIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDcgMTIiPgogIDxkZWZzPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgiPgogICAgICA8cmVjdCBpZD0i6ZW35pa55b2iXzM1Nzk2IiBkYXRhLW5hbWU9IumVt+aWueW9oiAzNTc5NiIgd2lkdGg9IjciIGhlaWdodD0iMTIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xNDA5MyAtOTExMikiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzcwNzA3MCIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICA8L2NsaXBQYXRoPgogIDwvZGVmcz4KICA8ZyBpZD0i44Oe44K544Kv44Kw44Or44O844OXXzM5MjQ5IiBkYXRhLW5hbWU9IuODnuOCueOCr+OCsOODq+ODvOODlyAzOTI0OSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQwOTMgOTExMikiIGNsaXAtcGF0aD0idXJsKCNjbGlwLXBhdGgpIj4KICAgIDxwYXRoIGlkPSLjg5HjgrlfNzIzNCIgZGF0YS1uYW1lPSLjg5HjgrkgNzIzNCIgZD0iTTAsOC44LDUuMTM0LDQuNCwwLDAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xNDA5Mi4xNSAtOTExMC40MDIpIiBmaWxsPSJub25lIiBzdHJva2U9IiM0MTQxNDEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxLjUiLz4KICA8L2c+Cjwvc3ZnPgo=) no-repeat center/contain;
  }

  /* Global Navigation Mobile */
  .glonav_inner_menu_list {
    color: #414141;
    border-bottom: 1px solid #dcdef0;
  }

  .glonav_inner_menu_list_row {
    padding: 15px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 1.42rem;
    font-weight: 800;
    color: #414141;
  }

  .glonav_inner_menu_list_row::after {
    content: "";
  }

  .glonav_inner_menu_list_row__btn::after {
    width: 4.53vw;
    aspect-ratio: 9/14;
    background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNyIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDcgMTIiPgogIDxkZWZzPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgiPgogICAgICA8cmVjdCBpZD0i6ZW35pa55b2iXzM1Nzk2IiBkYXRhLW5hbWU9IumVt+aWueW9oiAzNTc5NiIgd2lkdGg9IjciIGhlaWdodD0iMTIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xNDA5MyAtOTExMikiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzcwNzA3MCIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICA8L2NsaXBQYXRoPgogIDwvZGVmcz4KICA8ZyBpZD0i44Oe44K544Kv44Kw44Or44O844OXXzM5MjQ5IiBkYXRhLW5hbWU9IuODnuOCueOCr+OCsOODq+ODvOODlyAzOTI0OSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQwOTMgOTExMikiIGNsaXAtcGF0aD0idXJsKCNjbGlwLXBhdGgpIj4KICAgIDxwYXRoIGlkPSLjg5HjgrlfNzIzNCIgZGF0YS1uYW1lPSLjg5HjgrkgNzIzNCIgZD0iTTAsOC44LDUuMTM0LDQuNCwwLDAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xNDA5Mi4xNSAtOTExMC40MDIpIiBmaWxsPSJub25lIiBzdHJva2U9IiM0MTQxNDEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxLjUiLz4KICA8L2c+Cjwvc3ZnPgo=) no-repeat center/contain;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    transition: all 0.3s;
  }

  .glonav_inner_menu_list_row__btn.is_show::after {
    -webkit-transform: rotate(90deg) scale(-1, 1);
    transform: rotate(90deg) scale(-1, 1);
  }

  /* Marble Background Mobile */
  .marblebg_group_item:nth-child(1) {
    background: radial-gradient(#dd6fae, transparent 50%);
    top: -30%;
    left: -70%;
  }

  .marblebg_group_item:nth-child(2) {
    background: radial-gradient(#7655e7, transparent 50%);
    top: 0;
    left: 20%;
  }

  .marblebg_group_item:nth-child(3) {
    background: radial-gradient(#7655e7, transparent 50%);
    top: 20%;
    left: -100%;
  }

  .marblebg_group_item:nth-child(4) {
    background: radial-gradient(#dd6fae, transparent 50%);
    top: 40%;
    left: 0;
  }

  /* Animation Utilities Mobile */
  .u_fade_under__sp {
    opacity: 0;
    -webkit-transform: translateY(100px);
    transform: translateY(100px);
    transition: all 0.75s;
  }

  .u_fade_under__sp.is_show {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  .u_fade_pop__sp {
    opacity: 0;
  }

  .u_fade_pop__sp.is_show {
    -webkit-animation: popshow 0.75s ease-in-out forwards;
    animation: popshow 0.75s ease-in-out forwards;
  }
}

@media screen and (max-width: 519px) {
  .u_pc__tab {
    display: none;
  }
}


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


/* ==========================================================================
   Desktop Styles (PC)
   ========================================================================== */
@media screen and (min-width: 768px) {

  /* Base font size adjustment */
  body,
  html {
    font-size: 14px;
  }

  .container {
    min-width: 1000px;
  }

  /* Header Desktop */
  .header {
    padding: 0 20px 0 0;
    position: relative;
  }

  .header::after {
    content: "";
    width: 20px;
    aspect-ratio: 1/1;
    display: block;
    background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCI+CiAgPGRlZnM+CiAgICA8Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aCI+CiAgICAgIDxyZWN0IGlkPSLplbfmlrnlvaJfMzYwNzIiIGRhdGEtbmFtZT0i6ZW35pa55b2iIDM2MDcyIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIzMTY1IC0xMDA1OCkiIGZpbGw9IiNmZmYiIHN0cm9rZT0iIzcwNzA3MCIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICA8L2NsaXBQYXRoPgogIDwvZGVmcz4KICA8ZyBpZD0i44Oe44K544Kv44Kw44Or44O844OXXzM5MjUxIiBkYXRhLW5hbWU9IuODnuOCueOCr+OCsOODq+ODvOODlyAzOTI1MSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzMTY1IDEwMDU4KSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXAtcGF0aCkiPgogICAgPGcgaWQ9IuOCs+ODs+ODneODvOODjeODs+ODiF82MV8yMiIgZGF0YS1uYW1lPSLjgrPjg7Pjg53jg7zjg43jg7Pjg4ggNjEg4oCTIDIyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMzE0NSAtMTAxNTIpIj4KICAgICAgPHBhdGggaWQ9IuODkeOCuV83MTcxIiBkYXRhLW5hbWU9IuODkeOCuSA3MTcxIiBkPSJNMjIxLDBIMFY4MDBIMTI4MFYwWk0xMjYwLDc2MGEyMCwyMCwwLDAsMS0yMCwyMEg0MGEyMCwyMCwwLDAsMS0yMC0yMFYxMTRBMjAsMjAsMCwwLDEsNDAsOTRIMTg2LjEyNmEzNC44ODIsMzQuODgyLDAsMCwwLDMzLjEzNi0yNEgxMjQwYTIwLDIwLDAsMCwxLDIwLDIwWiIgZmlsbD0iI2ViZWNmOCIvPgogICAgPC9nPgogIDwvZz4KPC9zdmc+Cg==) no-repeat center/contain;
    position: absolute;
    top: 100%;
    right: 19px;
    -webkit-transform: scale(-1, 1);
    transform: scale(-1, 1);
    transition: all 0.3s;
  }

  .header_inner {
    justify-content: flex-end;
  }

  .header_inner_logo {
    width: 220px;
    height: 85px;
    background: #ebecf8;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 0 0 50px 0;
  }

  .header_inner_logo::before {
    content: "";
    width: 20px;
    aspect-ratio: 1/1;
    display: block;
    background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCI+CiAgPGRlZnM+CiAgICA8Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aCI+CiAgICAgIDxyZWN0IGlkPSLplbfmlrnlvaJfMzYwNzIiIGRhdGEtbmFtZT0i6ZW35pa55b2iIDM2MDcyIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIzMTY1IC0xMDA1OCkiIGZpbGw9IiNmZmYiIHN0cm9rZT0iIzcwNzA3MCIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICA8L2NsaXBQYXRoPgogIDwvZGVmcz4KICA8ZyBpZD0i44Oe44K544Kv44Kw44Or44O844OXXzM5MjUxIiBkYXRhLW5hbWU9IuODnuOCueOCr+OCsOODq+ODvOODlyAzOTI1MSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzMTY1IDEwMDU4KSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXAtcGF0aCkiPgogICAgPGcgaWQ9IuOCs+ODs+ODneODvOODjeODs+ODiF82MV8yMiIgZGF0YS1uYW1lPSLjgrPjg7Pjg53jg7zjg43jg7Pjg4ggNjEg4oCTIDIyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMzE0NSAtMTAxNTIpIj4KICAgICAgPHBhdGggaWQ9IuODkeOCuV83MTcxIiBkYXRhLW5hbWU9IuODkeOCuSA3MTcxIiBkPSJNMjIxLDBIMFY4MDBIMTI4MFYwWk0xMjYwLDc2MGEyMCwyMCwwLDAsMS0yMCwyMEg0MGEyMCwyMCwwLDAsMS0yMC0yMFYxMTRBMjAsMjAsMCwwLDEsNDAsOTRIMTg2LjEyNmEzNC44ODIsMzQuODgyLDAsMCwwLDMzLjEzNi0yNEgxMjQwYTIwLDIwLDAsMCwxLDIwLDIwWiIgZmlsbD0iI2ViZWNmOCIvPgogICAgPC9nPgogIDwvZz4KPC9zdmc+Cg==) no-repeat center/contain;
    position: absolute;
    top: 100%;
    left: 20px;
    transition: all 0.3s;
  }

  .header_inner_logo > a {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: url(../img/common/icon_logo.webp) no-repeat center/168px;
  }

  .header_inner_menu {
    width: calc(100% - 220px);
  }

  .header_inner_menu_download {
    width: 245px;
    margin-left: 22px;
    z-index: 1;
  }

  @supports (not (-webkit-hyphens: none)) and (not (-moz-appearance: none)) {
    .header_inner_menu_download {
      -webkit-transform: rotate(0.03deg);
      transform: rotate(0.03deg);
    }
  }

  @supports (not (-webkit-hyphens: none)) and (not (-moz-appearance: none)) {
    .header_inner_menu_list > li > a {
      -webkit-transform: rotate(0.03deg);
      transform: rotate(0.03deg);
    }
  }

  .header_inner_menu_download::after {
    padding-top: 46px;
  }

  .header_inner_menu_list > li > a.is_current {
    -webkit-text-decoration: underline 2px;
    text-decoration: underline 2px;
  }

  /* Footer Desktop */
  .footer {
    width: calc(100% - 40px);
    max-width: 1000px;
    margin: 0 auto;
    padding: 65px 0 95px;
  }

  .footer_logo {
    padding: 60px 0 0;
  }

  .footer_logo > a {
    width: 192px;
    margin: 0;
    padding: 0;
  }

  .footer_main {
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
  }

  .footer_main_menu {
    width: 83.7%;
    display: flex;
    justify-content: space-between;
  }

  .footer_main_menu_list {
    margin-right: auto;
  }

  .footer_main_menu_list_row {
    font-size: 22px;
  }

  .footer_main_menu_list_row__link {
    transition: opacity 0.3s;
  }

  .footer_main_menu_list_row > a {
    color: #fff;
    transition: opacity 0.3s;
  }

  .footer_main_menu_list_row__logo > a {
    width: 192px;
    display: block;
    position: relative;
    background: url(../img/common/icon_logo_wt.webp) no-repeat center/contain;
    transition: opacity 0.3s;
  }

  .footer_main_menu_list_row__logo > a::after {
    content: "";
    padding-top: 68px;
    display: block;
  }

  .footer_main_menu_list_row > a:hover {
    opacity: 0.7;
  }

  .footer_main_download {
    width: 16.3%;
  }

  .footer_main_download_list {
    padding: 15px 0 0;
  }

  .footer_main_download_list > li {
    width: 100%;
    font-size: 18px;
  }

  .footer_main_download_list > li .u_large {
    font-size: 20px;
  }

  @supports (not (-webkit-hyphens: none)) and (not (-moz-appearance: none)) {
    .footer_main_download_list > li {
      -webkit-transform: rotate(0.03deg);
      transform: rotate(0.03deg);
    }
  }

  .footer_main_download_list > li::after {
    padding-top: 45px;
  }

  .footer_outerlink {
    margin: 20px auto 0;
    padding: 0;
    display: flex;
    align-items: center;
    flex-flow: wrap;
  }

  .footer_outerlink > li:not(:first-child) {
    margin-left: 30px;
  }

  .footer_outerlink > li.u_nomargin {
    margin-left: 0;
  }

  .footer_outerlink > li:not(.u_icon)::after {
    width: 13.3px;
  }

  @supports (not (-webkit-hyphens: none)) and (not (-moz-appearance: none)) {
    .footer_outerlink > li:not(.u_icon) {
      -webkit-transform: rotate(0.03deg);
      transform: rotate(0.03deg);
    }
  }

  .footer_bnrlink {
    padding: 0;
  }

  .footer_bnrlink > li {
    width: calc(100% / 5 - 12px);
    margin-left: 15px;
  }

  .footer_sns {
    max-width: 1200px;
    margin: 40px auto 0;
  }

  .footer_sns_item {
    width: 50px;
  }

  .footer_sns_item:not(:first-child) {
    margin-left: 20px;
  }

  .footer_copy {
    margin: 20px auto 0;
    font-size: 12px;
  }

  /* Main Head Desktop */
  .main_head {
    padding-top: 200px;
  }

  .main_head__campaign {
    padding-top: 136px;
  }

  .main_head__topics {
    padding-top: 136px;
  }

  .main_head__detail {
    padding-top: 115px;
  }

  .main_head_inner_ttl_main {
    font-size: 57px;
  }

  .main_head_inner_ttl_sub {
    font-size: 22px;
  }

  /* Main Body Desktop */
  .main_body_lead {
    font-size: 30px;
    text-align: center;
    margin-top: 54px;
  }

  .main_body_lead__plan {
    margin-top: 0;
  }

  /* Marble Background Desktop */
  .marblebg_group_item {
    width: 89vw;
    padding-top: 89vw;
  }

  .marblebg_group_item:nth-child(1) {
    background: radial-gradient(#7655e7, transparent 50%);
    top: -10%;
    left: -30%;
  }

  .marblebg_group_item:nth-child(2) {
    background: radial-gradient(#dd6fae, transparent 50%);
    top: -40%;
    right: -35%;
  }

  .marblebg_group_item:nth-child(3) {
    background: radial-gradient(#dd6fae, transparent 50%);
    top: 50%;
    left: -20%;
  }

  .marblebg_group_item:nth-child(4) {
    background: radial-gradient(#7655e7, transparent 50%);
    top: 20%;
    right: -40%;
  }


  .loading::before {
    top: 0;
  }

  .loading::after {
    bottom: 0;
  }

  .main {
    padding: 0 20px;
  }

  .main_head__campaign .main_head_inner_vertical {
    -webkit-transform: translateY(35%);
    transform: translateY(35%);
  }

  .main_head__topics .main_head_inner_vertical {
    width: 71.3%;
  }

  .main_head__topics .main_head_inner_ttl_main {
    width: 1000px;
  }

  .main_head_inner_vertical {
    padding: 0;
    bottom: 0;
  }

  .main_body_lead__vtuber {
    margin-top: 0;
    margin-bottom: 50px;
  }

  .pageframe.is_hide::after {
    opacity: 0;
  }

  .pageframe.is_hide .pageframe_bg {
    opacity: 0;
  }

  .marblebg_group {
    padding-top: 1520px;
  }

  .marblebg_group:not(:first-child) {
    margin-top: 100%;
  }

  @supports (not (-webkit-hyphens: none)) and (not (-moz-appearance: none)) {
    .dlacdn_list_item {
      -webkit-transform: rotate(0.03deg);
      transform: rotate(0.03deg);
    }
  }

  @supports (not (-webkit-hyphens: none)) and (not (-moz-appearance: none)) {
    .menulist_column > li {
      -webkit-transform: rotate(0.03deg);
      transform: rotate(0.03deg);
    }
  }

}


/* ==========================================================================
   Shared UI Components (pagetop, buttons, modal, fade, etc.)
   ========================================================================== */

.glonav_closebtn {
  width: 21.8vw;
  height: 21.8vw;
  padding: 10px;
  aspect-ratio: 1/1;
  background: #ebecf8;
  border-radius: 50%;
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.glonav_closebtn_inner {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border: 2px solid #414141;
  border-radius: 50%;
  background: #fff;
  font-size: 0.85rem;
  font-weight: 800;
}
.glonav_closebtn_inner::before {
  content: "";
  width: 34%;
  aspect-ratio: 1/1;
  background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyMiAyMiI+CiAgPGRlZnM+CiAgICA8Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aCI+CiAgICAgIDxyZWN0IGlkPSLplbfmlrnlvaJfMzYwNzAiIGRhdGEtbmFtZT0i6ZW35pa55b2iIDM2MDcwIiB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xOTIxNiAtODM1MikiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzcwNzA3MCIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICA8L2NsaXBQYXRoPgogIDwvZGVmcz4KICA8ZyBpZD0i44Oe44K544Kv44Kw44Or44O844OXXzM5MjUxIiBkYXRhLW5hbWU9IuODnuOCueOCr+OCsOODq+ODvOODlyAzOTI1MSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTkyMTYgODM1MikiIGNsaXAtcGF0aD0idXJsKCNjbGlwLXBhdGgpIj4KICAgIDxnIGlkPSLjgrDjg6vjg7zjg5dfNDA5NTIiIGRhdGEtbmFtZT0i44Kw44Or44O844OXIDQwOTUyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTk1NTIuNzQ0IC04MzY4LjEwNSkiPgogICAgICA8cGF0aCBpZD0i44OR44K5XzcwODMiIGRhdGEtbmFtZT0i44OR44K5IDcwODMiIGQ9Ik0wLDBIMjUuNDY5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMzguNzQ1IDE4LjEwNikgcm90YXRlKDQ1KSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNDE0MTQxIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS13aWR0aD0iMyIvPgogICAgICA8cGF0aCBpZD0i44OR44K5XzI1Njc4IiBkYXRhLW5hbWU9IuODkeOCuSAyNTY3OCIgZD0iTTAsMEgyNS40NyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzU2Ljc1NSAxOC4xMDYpIHJvdGF0ZSgxMzUpIiBmaWxsPSJub25lIiBzdHJva2U9IiM0MTQxNDEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIzIi8+CiAgICA8L2c+CiAgPC9nPgo8L3N2Zz4K)
    no-repeat center/contain;
}

.container {
  width: 100%;
}
.l_pagetop {
  width: 40vw;
  position: relative;
  margin: -40vw auto 0;
  -webkit-transform: translateY(55%);
  transform: translateY(55%);
}
.l_pagetop::after {
  content: "";
  padding-top: 100%;
  display: block;
}
.pagetop {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #414141;
  border-radius: 50%;
}
.pagetop > a {
  width: 100%;
  height: 45%;
  position: absolute;
  top: 0;
  left: 0;
}
.pagetop > a > span {
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  text-align: center;
}
.pagetop > a > span::after,
.pagetop > a > span::before {
  content: "";
  width: 5.86vw;
  aspect-ratio: 27/14;
  position: absolute;
  left: 50%;
  transition: all 0.3s;
}
.pagetop > a > span::before {
  bottom: 140%;
  -webkit-transform: translate(-50%, 50%);
  transform: translate(-50%, 50%);
  background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNy4xNzYiIGhlaWdodD0iMTMuMzU0IiB2aWV3Qm94PSIwIDAgMjcuMTc2IDEzLjM1NCI+CiAgPHBhdGggaWQ9IuODkeOCuV83MTM5IiBkYXRhLW5hbWU9IuODkeOCuSA3MTM5IiBkPSJNMCwwLDkuNzQsMTEuNDczLDAsMjIuOTQ3IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyLjExNCAxMS4yNCkgcm90YXRlKC05MCkiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjMiIG9wYWNpdHk9IjAuNDI2Ii8+Cjwvc3ZnPgo=)
    no-repeat center/contain;
}
.pagetop > a > span::after {
  bottom: 180%;
  -webkit-transform: translate(-50%, 50%);
  transform: translate(-50%, 50%);
  background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNy4xNzYiIGhlaWdodD0iMTMuMzU0IiB2aWV3Qm94PSIwIDAgMjcuMTc2IDEzLjM1NCI+CiAgPHBhdGggaWQ9IuODkeOCuV83MTM4IiBkYXRhLW5hbWU9IuODkeOCuSA3MTM4IiBkPSJNMCwwLDkuNzQsMTEuNDczLDAsMjIuOTQ3IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyLjExNCAxMS4yNCkgcm90YXRlKC05MCkiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjMiLz4KPC9zdmc+Cg==)
    no-repeat center/contain;
}
.pagetop > a:hover > span::before {
  -webkit-transform: translate(-50%, 30%);
  transform: translate(-50%, 30%);
}
.pagetop > a:hover > span::after {
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
}
.backbtn,
.downloadbtn,
.nextbtn {
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50px;
  border: 2px solid #414141;
  background: #fff;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  font-size: inherit;
  color: inherit;
  transition: all 0.3s;
  text-decoration: none !important;
}
.backbtn::before,
.downloadbtn::before,
.nextbtn::before {
  content: "";
  width: 2.4vw;
  aspect-ratio: 9/16;
  background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNyIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDcgMTIiPgogIDxkZWZzPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgiPgogICAgICA8cmVjdCBpZD0i6ZW35pa55b2iXzM1Nzk2IiBkYXRhLW5hbWU9IumVt+aWueW9oiAzNTc5NiIgd2lkdGg9IjciIGhlaWdodD0iMTIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xNDA5MyAtOTExMikiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzcwNzA3MCIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICA8L2NsaXBQYXRoPgogIDwvZGVmcz4KICA8ZyBpZD0i44Oe44K544Kv44Kw44Or44O844OXXzM5MjQ5IiBkYXRhLW5hbWU9IuODnuOCueOCr+OCsOODq+ODvOODlyAzOTI0OSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQwOTMgOTExMikiIGNsaXAtcGF0aD0idXJsKCNjbGlwLXBhdGgpIj4KICAgIDxwYXRoIGlkPSLjg5HjgrlfNzIzNCIgZGF0YS1uYW1lPSLjg5HjgrkgNzIzNCIgZD0iTTAsOC44LDUuMTM0LDQuNCwwLDAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xNDA5Mi4xNSAtOTExMC40MDIpIiBmaWxsPSJub25lIiBzdHJva2U9IiM0MTQxNDEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxLjUiLz4KICA8L2c+Cjwvc3ZnPgo=)
    no-repeat center/contain;
  position: absolute;
  top: 50%;
}
.backbtn:hover,
.downloadbtn:hover,
.nextbtn:hover {
  box-shadow: unset;
  background: #414141;
  color: #fff;
}
.backbtn:hover::before,
.downloadbtn:hover::before,
.nextbtn:hover::before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMy41MjMiIGhlaWdodD0iMjEuMjE3IiB2aWV3Qm94PSIwIDAgMTMuNTIzIDIxLjIxNyI+CiAgPHBhdGggaWQ9IuODkeOCuV83MjI5IiBkYXRhLW5hbWU9IuODkeOCuSA3MjI5IiBkPSJNMCwwLDkuOTA4LDguNDk0LDAsMTYuOTg3IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyLjExNSAyLjExNSkiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjMiLz4KPC9zdmc+Cg==);
}
.downloadbtn::before {
  width: 13px !important;
  right: 20px;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMy45MjMiIGhlaWdodD0iMTQuODYiIHZpZXdCb3g9IjAgMCAxMy45MjMgMTQuODYiPgogIDxnIGlkPSLjgrDjg6vjg7zjg5dfNDEwMjUiIGRhdGEtbmFtZT0i44Kw44Or44O844OXIDQxMDI1IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjUgMC41KSI+CiAgICA8cGF0aCBpZD0i44OR44K5XzI1NzQwIiBkYXRhLW5hbWU9IuODkeOCuSAyNTc0MCIgZD0iTTUuNSwxOC41bDMuNTgxLDQuMTksMy41ODEtNC4xOSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIuNjE5IC0xMi43NTcpIiBmaWxsPSJub25lIiBzdHJva2U9IiM0MTQxNDEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2Utd2lkdGg9IjIiLz4KICAgIDxnIGlkPSLjgrDjg6vjg7zjg5dfNDEwMjQiIGRhdGEtbmFtZT0i44Kw44Or44O844OXIDQxMDI0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjUgMC41KSI+CiAgICAgIDxnIGlkPSLjgrDjg6vjg7zjg5dfNDEwMjYiIGRhdGEtbmFtZT0i44Kw44Or44O844OXIDQxMDI2IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwKSI+CiAgICAgICAgPGxpbmUgaWQ9Iue3ml81MDYiIGRhdGEtbmFtZT0i57eaIDUwNiIgeTE9IjkuMzIxIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1Ljk2MikiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzQxNDE0MSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS13aWR0aD0iMiIvPgogICAgICAgIDxwYXRoIGlkPSLjg5HjgrlfMjU3NDEiIGRhdGEtbmFtZT0i44OR44K5IDI1NzQxIiBkPSJNMTIuNDIzLDI1LjV2NC41NzhILjVWMjUuNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTAuNSAtMTcuMjE4KSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNDE0MTQxIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICAgIDwvZz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPgo=);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.downloadbtn:hover::before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxNCAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzFfMikiPgo8cGF0aCBkPSJNMy4zODEwMSA2LjI0M0w2Ljk2MjAxIDEwLjQzM0wxMC41NDMgNi4yNDMiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTYuOTYyMDEgMTAuMzIxVjEiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KPHBhdGggZD0iTTEyLjkyMyA5LjI4MlYxMy44NkgxVjkuMjgyIiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMV8yIj4KPHJlY3Qgd2lkdGg9IjEzLjkyMyIgaGVpZ2h0PSIxNC44NiIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K);
}
.backbtn::before {
  left: 20px;
  -webkit-transform: translateY(-50%) scale(-1, 1);
  transform: translateY(-50%) scale(-1, 1);
}
.nextbtn::before {
  right: 20px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.nextbtn__cta::before {
  right: 18px;
}
.nextbtn__longtext {
  justify-content: left;
  padding-left: 13px;
}
.nextbtn__dualrow {
  padding: 0 26px 0 12px;
}
.nextbtn__dualrow::before {
  right: 14px;
}
.nextbtn__shorty::before {
  right: 12px !important;
  width: 9px !important;
}
.outerlinkbtn {
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50px;
  border: 2px solid #414141;
  background: #fff;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  font-size: inherit;
  color: inherit;
  transition: all 0.3s;
}
.outerlinkbtn::before {
  content: "";
  width: 3.5vw;
  aspect-ratio: 1/1;
  background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI3LjguMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IuODrOOCpOODpOODvF8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiCgkgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTMuNCAxMy40IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMy40IDEzLjQ7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDojNDE0MTQxO30KPC9zdHlsZT4KPHBhdGggaWQ9Imljb25zOC3lpJbpg6jjg6rjg7Pjgq8iIGNsYXNzPSJzdDAiIGQ9Ik0xMi42LDBDMTIuNiwwLDEyLjYsMCwxMi42LDBMOC4xLDBDNy43LDAsNy40LDAuMyw3LjQsMC43czAuMywwLjcsMC43LDAuN0gxMQoJTDYuMiw2LjJjLTAuMywwLjMtMC4zLDAuNywwLDFzMC43LDAuMywxLDBsMCwwTDEyLDIuNHYyLjlDMTIsNS43LDEyLjMsNiwxMi43LDZjMC40LDAsMC43LTAuMywwLjctMC43VjAuOGMwLjEtMC40LTAuMi0wLjctMC42LTAuOAoJQzEyLjcsMCwxMi43LDAsMTIuNiwwTDEyLjYsMHogTTIuNiwxLjFDMS4yLDEuMSwwLDIuMiwwLDMuN3Y3YzAsMS41LDEuMiwyLjYsMi42LDIuNmg3YzEuNSwwLDIuNi0xLjIsMi42LTIuNlY3LjQKCWMwLTAuNC0wLjMtMC43LTAuNy0wLjdjLTAuNCwwLTAuNywwLjMtMC43LDAuN3YzLjNjMCwwLjctMC41LDEuMi0xLjIsMS4yYzAsMCwwLDAsMCwwaC03Yy0wLjcsMC0xLjItMC41LTEuMi0xLjJjMCwwLDAsMCwwLDB2LTcKCWMwLTAuNywwLjUtMS4yLDEuMi0xLjJjMCwwLDAsMCwwLDBINmMwLjQsMCwwLjctMC4zLDAuNy0wLjdTNi40LDEuMSw2LDEuMUwyLjYsMS4xeiIvPgo8L3N2Zz4K)
    no-repeat center/contain;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translate(-100%, -50%);
  transform: translate(-100%, -50%);
  transition: all 0.3s;
}
.outerlinkbtn:hover {
  box-shadow: unset;
  background: #414141;
  color: #fff;
}
.outerlinkbtn:hover::before {
  background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMy4zNjUiIGhlaWdodD0iMTMuMzY1IiB2aWV3Qm94PSIwIDAgMTMuMzY1IDEzLjM2NSI+CiAgPHBhdGggaWQ9Imljb25zOC3lpJbpg6jjg6rjg7Pjgq8iIGQ9Ik0xNy42NDIsNC45OGEuNy43LDAsMCwwLS4wNzguMDA3SDEzLjA4NmEuNy43LDAsMSwwLDAsMS40MDZoMi44NzNsLTQuNzc2LDQuNzc2YS43LjcsMCwxLDAsLjk5NC45OTRsNC43NzYtNC43NzZWMTAuMjZhLjcuNywwLDAsMCwxLjQwNiwwVjUuNzc2YS43LjcsMCwwLDAtLjcxNy0uOFpNNy42MzcsNi4wNDFBMi42NDgsMi42NDgsMCwwLDAsNSw4LjY3OHY3LjAzMWEyLjY0OCwyLjY0OCwwLDAsMCwyLjYzNywyLjYzNmg3LjAzMUEyLjY0OCwyLjY0OCwwLDAsMCwxNy4zLDE1LjcwOHYtMy4zNGEuNy43LDAsMCwwLTEuNDA2LDB2My4zNGExLjIyNCwxLjIyNCwwLDAsMS0xLjIzLDEuMjNINy42MzdhMS4yMjQsMS4yMjQsMCwwLDEtMS4yMy0xLjIzVjguNjc4YTEuMjI0LDEuMjI0LDAsMCwxLDEuMjMtMS4yM2gzLjM0YS43LjcsMCwxLDAsMC0xLjQwNloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC01IC00Ljk4KSIgZmlsbD0iI2ZmZiIvPgo8L3N2Zz4K)
    no-repeat center/contain;
}
.outerlinkbtn__longtext {
  justify-content: left;
  padding-left: 13px;
}

.gradientborder {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  display: inline-block;
  pointer-events: none;
}
.gradientborder::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border: 4px solid transparent;
  background: linear-gradient(
      135deg,
      #4aeadc 0,
      #9778d1 20%,
      #cf2aba 40%,
      #ee2c82 60%,
      #fb6962 80%,
      #fef84c 100%
    )
    border-box border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box,
    linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: destination-out;
  mask: linear-gradient(#fff 0 0) padding-box,
    linear-gradient(#fff 0 0) border-box;
  mask-composite: exclude;
  background-size: 300% 300%;
  -webkit-animation: animatedgradient 3s ease alternate infinite;
  animation: animatedgradient 3s ease alternate infinite;
}
.articleback {
  position: relative;
  font-weight: 800;
  color: #414141;
  z-index: 1;
}
.articleback .backbtn::before {
  left: 10px;
}
.pagename {
  color: #fff;
  letter-spacing: 0.2em;
  font-size: 1.85rem;
  font-weight: 800;
  line-height: 1;
  white-space: pre;
  text-align: right;
}
.pagename__campaign {
  font-size: 2.64rem;
  color: #f3f4fb;
}
.l_modal {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  opacity: 0;
  pointer-events: none;
  background: rgba(0, 0, 0, 0.8);
}
.l_modal.is_show {
  opacity: 1;
  pointer-events: auto;
}
.modal {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.modal_bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  cursor: pointer;
}
.modal_inner {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  text-align: center;
}
.modal_inner_cnt {
  width: 100vw;
  position: relative;
}
.modal_inner_cnt::after {
  content: "";
  padding-top: 62%;
  display: block;
}
.modal_inner_cnt > iframe,
.modal_inner_cnt > img,
.modal_inner_cnt > video {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.modal_inner_cnt > img {
  object-fit: contain;
}
.modal_inner_cnt.is_youtube::after {
  padding-top: 56.25%;
}
.modal_inner_cnt.modal2::after {
  aspect-ratio: 44/43;
  padding-top: 0;
}
.modal_inner_cnt.modal3::after {
  aspect-ratio: 313/258;
  padding-top: 0;
}
.modal_inner_txt {
  margin: 38px auto 0;
  display: inline-block;
  position: relative;
  font-size: 1.14rem;
  font-weight: 800;
  border-bottom: 1px solid #fff;
  color: #fff;
  line-height: 1;
  cursor: pointer;
}
.modal_inner_txt > span {
  display: flex;
  align-items: center;
}
.modal_inner_txt > span::before {
  content: "";
  width: 13px;
  margin-right: 5px;
  aspect-ratio: 1/1;
  background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyMiAyMiI+CiAgPGRlZnM+CiAgICA8Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aCI+CiAgICAgIDxyZWN0IGlkPSLplbfmlrnlvaJfMzYwNzAiIGRhdGEtbmFtZT0i6ZW35pa55b2iIDM2MDcwIiB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xOTIxNiAtODM1MikiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICA8L2NsaXBQYXRoPgogIDwvZGVmcz4KICA8ZyBpZD0i44Oe44K544Kv44Kw44Or44O844OXXzM5MjUxIiBkYXRhLW5hbWU9IuODnuOCueOCr+OCsOODq+ODvOODlyAzOTI1MSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTkyMTYgODM1MikiIGNsaXAtcGF0aD0idXJsKCNjbGlwLXBhdGgpIj4KICAgIDxnIGlkPSLjgrDjg6vjg7zjg5dfNDA5NTIiIGRhdGEtbmFtZT0i44Kw44Or44O844OXIDQwOTUyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTk1NTIuNzQ0IC04MzY4LjEwNSkiPgogICAgICA8cGF0aCBpZD0i44OR44K5XzcwODMiIGRhdGEtbmFtZT0i44OR44K5IDcwODMiIGQ9Ik0wLDBIMjUuNDY5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMzguNzQ1IDE4LjEwNikgcm90YXRlKDQ1KSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZmZmIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS13aWR0aD0iMyIvPgogICAgICA8cGF0aCBpZD0i44OR44K5XzI1Njc4IiBkYXRhLW5hbWU9IuODkeOCuSAyNTY3OCIgZD0iTTAsMEgyNS40NyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzU2Ljc1NSAxOC4xMDYpIHJvdGF0ZSgxMzUpIiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIzIi8+CiAgICA8L2c+CiAgPC9nPgo8L3N2Zz4K)
    no-repeat center/contain;
}
.u_fade_left {
  opacity: 0;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
  transition: all 0.75s;
}
.u_fade_left.is_show {
  opacity: 1;
  -webkit-transform: translateX(0);
  transform: translateX(0);
}
.u_fade_right {
  opacity: 0;
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
  transition: all 0.75s;
}
.u_fade_right.is_show {
  opacity: 1;
  -webkit-transform: translateX(0);
  transform: translateX(0);
}

@keyframes animatedgradient {
  0% {
    background-position: 0 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0 50%;
  }
}

/* Shared UI - Desktop */
@media screen and (min-width: 768px) {
  .l_pagetop {
    width: 214px;
    margin: -214px auto 0;
  }

  @supports (not (-webkit-hyphens: none)) and (not (-moz-appearance: none)) {
    .glonav_closebtn_inner {
      -webkit-transform: rotate(0.03deg);
      transform: rotate(0.03deg);
    }
  }
  .pagetop > a > span {
    font-size: 1.5rem;
  }
  .pagetop > a > span::after,
  .pagetop > a > span::before {
    width: 40px;
  }
  .pagetop > a > span::before {
    bottom: calc(100% + 15px);
  }
  .pagetop > a > span::after {
    bottom: calc(100% + 30px);
  }
  .backbtn::before,
  .downloadbtn::before,
  .nextbtn::before {
    width: 10px;
    transition: all 0.3s;
  }
  .nextbtn__longtext {
    justify-content: center;
  }
  .outerlinkbtn::before {
    width: 13px;
  }
  .outerlinkbtn__longtext {
    justify-content: center;
  }

  .articleback_wrap {
    display: inline-block;
  }
  .articleback_wrap > a {
    position: relative;
    color: #414141;
    font-weight: 500;
    display: flex;
    align-items: center;
  }
  .articleback_wrap > a::before {
    content: "";
    width: 6px;
    margin-right: 5px;
    aspect-ratio: 7/12;
    background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNyIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDcgMTIiPgogIDxkZWZzPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgiPgogICAgICA8cmVjdCBpZD0i6ZW35pa55b2iXzM1Nzk2IiBkYXRhLW5hbWU9IumVt+aWueW9oiAzNTc5NiIgd2lkdGg9IjciIGhlaWdodD0iMTIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xNDA5MyAtOTExMikiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzcwNzA3MCIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICA8L2NsaXBQYXRoPgogIDwvZGVmcz4KICA8ZyBpZD0i44Oe44K544Kv44Kw44Or44O844OXXzM5MjQ5IiBkYXRhLW5hbWU9IuODnuOCueOCr+OCsOODq+ODvOODlyAzOTI0OSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQwOTMgOTExMikiIGNsaXAtcGF0aD0idXJsKCNjbGlwLXBhdGgpIj4KICAgIDxwYXRoIGlkPSLjg5HjgrlfNzIzNCIgZGF0YS1uYW1lPSLjg5HjgrkgNzIzNCIgZD0iTTAsOC44LDUuMTM0LDQuNCwwLDAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xNDA5Mi4xNSAtOTExMC40MDIpIiBmaWxsPSJub25lIiBzdHJva2U9IiM0MTQxNDEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxLjUiLz4KICA8L2c+Cjwvc3ZnPgo=)
      no-repeat center/contain;
    -webkit-transform: scale(-1, 1);
    transform: scale(-1, 1);
  }
  .pagename {
    font-size: 47px;
    line-height: 2;
  }
  .modal_inner_btn {
    background: #414141
      url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyMiAyMiI+CiAgPGRlZnM+CiAgICA8Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aCI+CiAgICAgIDxyZWN0IGlkPSLplbfmlrnlvaJfMzYwNzAiIGRhdGEtbmFtZT0i6ZW35pa55b2iIDM2MDcwIiB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xOTIxNiAtODM1MikiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICA8L2NsaXBQYXRoPgogIDwvZGVmcz4KICA8ZyBpZD0i44Oe44K544Kv44Kw44Or44O844OXXzM5MjUxIiBkYXRhLW5hbWU9IuODnuOCueOCr+OCsOODq+ODvOODlyAzOTI1MSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTkyMTYgODM1MikiIGNsaXAtcGF0aD0idXJsKCNjbGlwLXBhdGgpIj4KICAgIDxnIGlkPSLjgrDjg6vjg7zjg5dfNDA5NTIiIGRhdGEtbmFtZT0i44Kw44Or44O844OXIDQwOTUyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTk1NTIuNzQ0IC04MzY4LjEwNSkiPgogICAgICA8cGF0aCBpZD0i44OR44K5XzcwODMiIGRhdGEtbmFtZT0i44OR44K5IDcwODMiIGQ9Ik0wLDBIMjUuNDY5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMzguNzQ1IDE4LjEwNikgcm90YXRlKDQ1KSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZmZmIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS13aWR0aD0iMyIvPgogICAgICA8cGF0aCBpZD0i44OR44K5XzI1Njc4IiBkYXRhLW5hbWU9IuODkeOCuSAyNTY3OCIgZD0iTTAsMEgyNS40NyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzU2Ljc1NSAxOC4xMDYpIHJvdGF0ZSgxMzUpIiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIzIi8+CiAgICA8L2c+CiAgPC9nPgo8L3N2Zz4K)
      no-repeat center/40%;
    border-radius: 50%;
    border: 2px solid #fff;
    position: absolute;
    top: 0;
    right: 0;
    -webkit-transform: translate(50%, -50%);
    transform: translate(50%, -50%);
    width: 66px;
    padding-top: 66px;
    z-index: 1;
    cursor: pointer;
  }
  .modal_inner_cnt {
    width: 62vw;
    border-radius: 30px;
    overflow: hidden;
  }
  .modal_inner_cnt.modal2 {
    width: 45vw;
  }
  .modal_inner_cnt.modal3 {
    width: 50vw;
  }
  .modal_inner_txt {
    margin: 18px auto 0;
  }
  @supports (not (-webkit-hyphens: none)) and (not (-moz-appearance: none)) {
    .modal_inner_txt {
      -webkit-transform: rotate(0.03deg);
      transform: rotate(0.03deg);
    }
  }
  .u_fade_left__pc {
    opacity: 0;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    transition: all 0.75s;
  }
  .u_fade_left__pc.is_show {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  .u_fade_right__pc {
    opacity: 0;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    transition: all 0.75s;
  }
  .u_fade_right__pc.is_show {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

/* Shared UI - Mobile */
@media screen and (max-width: 767px) {
  .articleback {
    width: 36.5%;
  }
  .articleback::after {
    content: "";
    display: block;
    padding-top: 30%;
  }
}

/* ==========================================================================
   Common Button Styles (Default Button)
   ========================================================================== */

/* Button Container */
.l_backbtn,
.l_defaultbtn,
.l_downloadbtn,
.l_nextbtn,
.l_outerlinkbtn {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  font-size: inherit;
  color: inherit;
}

.defaultbtn {
  width: 100%;
  height: 100%;
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  border-radius: 50px;
  border: 2px solid #fff;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  font-size: inherit;
  color: inherit;
  transition: all 0.3s;
  overflow: hidden;
}

.defaultbtn::before {
  content: "";
  width: 200%;
  height: 100%;
  background: linear-gradient(45deg, #7655e7, #dd6fae, #dd6fae, #7655e7);
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  transition: all 0.3s;
}

.defaultbtn_icon {
  width: 20px;
  height: 20px;
  margin-right: 5.4px;
  display: inline-block;
  position: relative;
}

.defaultbtn_icon > img {
  width: auto;
  height: 100%;
  margin: 0 auto;
  display: block;
}

.defaultbtn_icon__spphone {
  margin-right: 15px;
}

.defaultbtn_txt {
  position: relative;
}

.defaultbtn:hover {
  box-shadow: unset;
}

.defaultbtn:hover::before {
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
}


/* ==========================================================================
   Responsive Styles for Common Buttons - Desktop
   ========================================================================== */
@media screen and (min-width: 768px) {
  .u_sp {
    display: none !important;
  }

  .defaultbtn__left {
    padding: 0 30px;
    justify-content: flex-start;
  }
}

@media screen and (min-width: 768px) {
  .dlacdn_btn {
    white-space: nowrap;
  }

  .footaccordion {
    padding: 15px 0 0;
  }

  .footaccordion > li {
    font-size: 18px;
  }

  @supports (not (-webkit-hyphens: none)) and (not (-moz-appearance: none)) {
    .footaccordion > li {
      -webkit-transform: rotate(0.03deg);
      transform: rotate(0.03deg);
    }
  }

  .footaccordion > li.u_large {
    font-size: 22px;
  }


  .footer_logo > a::after {
    padding-top: 68px;
  }

  .footer_main_menu_list_row__link:hover {
    opacity: 0.5;
  }

  .footer_main_menu_list_row__btn {
    pointer-events: none;
    opacity: 0.5;
  }

  .footer_main_menu_list_row__logo > a:hover {
    opacity: 0.5;
  }

  @supports (not (-webkit-hyphens: none)) and (not (-moz-appearance: none)) {
    .footer_copy {
      -webkit-transform: rotate(0.03deg);
      transform: rotate(0.03deg);
    }
  }

  .footaccordion > li.u_small {
    font-size: 16px;
  }


  .footer_bnrlink > li:first-child {
    margin-left: 0;
  }
}

/* ==========================================================================
   Scroll Navigation (scrollnav)
   features / pricing / vtuber で使用。各ページ固有のアイコンは
   それぞれのページ CSS 側に置く。
   ========================================================================== */

.scrollnav {
  display: flex;
  flex-flow: wrap;
}

.scrollnav_item {
  position: relative;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  transition: opacity 0.3s;
}

.scrollnav_item::before {
  content: "";
  width: 28.4%;
  aspect-ratio: 2/1;
  border-radius: 0 0 100px 100px;
  background: #fff;
  position: absolute;
  top: 85%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}

.scrollnav_item::after {
  content: "";
  width: 100%;
  height: 50%;
  background: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  border-radius: 7px;
}

.scrollnav_item > a {
  width: 100%;
  height: 100%;
  padding: 5px;
  position: relative;
  font-size: 1.14rem;
  font-weight: 800;
  color: #414141;
  display: flex;
  align-items: center;
  z-index: 1;
}

.scrollnav_item > a::before {
  content: "";
  width: 20.9%;
  aspect-ratio: 1/1;
  margin-right: 4.5px;
  display: inline-block;
}

.scrollnav_item > a::after {
  content: "";
  width: 8.64%;
  aspect-ratio: 7/5;
  background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOC42MzYiIGhlaWdodD0iMTIuMDE4IiB2aWV3Qm94PSIwIDAgMTguNjM2IDEyLjAxOCI+CiAgPHBhdGggaWQ9IuODkeOCuV83MjI3IiBkYXRhLW5hbWU9IuODkeOCuSA3MjI3IiBkPSJNMCwwLDguNCw3LjIsMCwxNC40MDUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE2LjUyMSAyLjExNSkgcm90YXRlKDkwKSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNDE0MTQxIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMyIvPgo8L3N2Zz4K)
    no-repeat center/contain;
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.scrollnav_item > a > span {
  width: calc(79.1% - 4.5px);
}

.scrollnav_item:hover {
  opacity: 0.6;
}

.scrollnav__pricing {
  flex-direction: column;
}

.scrollnav__pricing .scrollnav_item {
  width: 100%;
  height: 1.5rem;
}

.scrollnav__pricing .scrollnav_item > a > span {
  width: calc(84.1% - 4.5px);
}

.scrollnav__pricing .scrollnav_item > a::before {
  content: "";
  width: 16.8%;
  aspect-ratio: 53/44;
  margin-right: 0;
  padding-left: 13%;
  display: inline-block;
}

.scrollnav__pricing .scrollnav_item:nth-child(even) {
  margin-left: 0;
}

.scrollnav__pricing .scrollnav_item:nth-child(n + 2) {
  margin-top: 1.42rem;
}

.scrollnav__pricing .scrollnav_item::before {
  top: 80%;
  width: 3.71rem;
}

.scrollnav__pricing .scrollnav_item > a::after {
  width: 1.25rem;
}

@media screen and (min-width: 768px) {
  .scrollnav {
    max-width: 1000px;
    margin: 0 auto;
    justify-content: center;
  }

  .scrollnav_item {
    width: calc(20% - 9.6px);
    min-height: 66px;
    margin-left: 12px;
  }

  .scrollnav_item:first-child,
  .scrollnav_item:nth-child(5n + 1) {
    margin-left: 0;
  }

  .scrollnav_item:nth-child(n + 6) {
    margin-top: 37px;
  }

  .scrollnav_item > a {
    padding: 12px 14px;
  }

  .scrollnav__threecolumnpc .scrollnav_item {
    width: calc(33.3% - 13.3px);
    margin-left: 20px;
  }

  .scrollnav__threecolumnpc .scrollnav_item:first-child,
  .scrollnav__threecolumnpc .scrollnav_item:nth-child(3n + 1) {
    margin-left: 0;
  }

  .scrollnav__threecolumnpc .scrollnav_item:nth-child(n + 4) {
    margin-top: 37px;
  }

  .scrollnav__threecolumnpc .scrollnav_item::before {
    width: 50px;
  }

  .scrollnav__threecolumnpc .scrollnav_item > a::before {
    width: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    border-radius: 50%;
    font-size: 18px;
  }

  .scrollnav__threecolumnpc .scrollnav_item > a::after {
    width: 5.6%;
    top: 95%;
  }

  .scrollnav__threecolumnpc .scrollnav_item > a > span {
    font-size: 18px;
    line-height: 1.16;
  }
}

@media screen and (min-width: 768px) {
  @supports (not (-webkit-hyphens: none)) and (not (-moz-appearance: none)) {
    .scrollnav_item > a {
      -webkit-transform: rotate(0.03deg);
      transform: rotate(0.03deg);
    }

    .scrollnav__threecolumnpc .scrollnav_item > a::before {
      -webkit-transform: rotate(0.03deg);
      transform: rotate(0.03deg);
    }

    .scrollnav__threecolumnpc .scrollnav_item > a > span {
      -webkit-transform: rotate(0.03deg);
      transform: rotate(0.03deg);
    }
  }
}

@media screen and (max-width: 767px) {
  .scrollnav_item {
    width: 48.3%;
    min-height: 13.6vw;
  }

  .scrollnav_item:nth-child(even) {
    margin-left: 3.28%;
  }

  .scrollnav_item:nth-child(n + 3) {
    margin-top: 6%;
  }

  .scrollnav__onecolumnsp .scrollnav_item {
    width: 100%;
    margin-left: 0;
  }

  .scrollnav__onecolumnsp .scrollnav_item:not(:first-child) {
    margin-top: 6%;
  }

  .scrollnav__onecolumnsp .scrollnav_item::before {
    width: 13.7%;
  }

  .scrollnav__onecolumnsp .scrollnav_item > a::before {
    width: 8%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    border-radius: 50%;
    font-size: 1.14rem;
  }

  .scrollnav__onecolumnsp .scrollnav_item > a::after {
    width: 4.4%;
  }

  .scrollnav__onecolumnsp .scrollnav_item > a > span {
    width: calc(92% - 4.5px);
    line-height: 1.16;
  }
}

/* ==========================================================================
   Shared Animation Keyframes
   ========================================================================== */

@keyframes scale {
  0% {
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes sway01 {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(5%);
    transform: translateY(5%);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes sway02 {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-5%);
    transform: translateY(-5%);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

/* ==========================================================================
   Breadcrumbs
   ========================================================================== */

.l_breadcrumbs {
  padding: 10px 20px;
  position: relative;
  z-index: 1;
  opacity: 0.5;
}

.breadcrumbs > li {
  position: relative;
  display: inline;
}

.breadcrumbs > li:not(:last-child) {
  margin-right: 20px;
}

.breadcrumbs > li:not(:last-child)::after {
  content: "";
  width: 2.13vw;
  aspect-ratio: 8/12;
  position: absolute;
  top: 1.2vw;
  left: calc(100% + 5px);
  background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNyIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDcgMTIiPgogIDxkZWZzPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgiPgogICAgICA8cmVjdCBpZD0i6ZW35pa55b2iXzM1Nzk2IiBkYXRhLW5hbWU9IumVt+aWueW9oiAzNTc5NiIgd2lkdGg9IjciIGhlaWdodD0iMTIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xNDA5MyAtOTExMikiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzcwNzA3MCIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICA8L2NsaXBQYXRoPgogIDwvZGVmcz4KICA8ZyBpZD0i44Oe44K544Kv44Kw44Or44O844OXXzM5MjQ5IiBkYXRhLW5hbWU9IuODnuOCueOCr+OCsOODq+ODvOODlyAzOTI0OSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQwOTMgOTExMikiIGNsaXAtcGF0aD0idXJsKCNjbGlwLXBhdGgpIj4KICAgIDxwYXRoIGlkPSLjg5HjgrlfNzIzNCIgZGF0YS1uYW1lPSLjg5HjgrkgNzIzNCIgZD0iTTAsOC44LDUuMTM0LDQuNCwwLDAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xNDA5Mi4xNSAtOTExMC40MDIpIiBmaWxsPSJub25lIiBzdHJva2U9IiM0MTQxNDEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxLjUiLz4KICA8L2c+Cjwvc3ZnPgo=)
    no-repeat center/contain;
}

.breadcrumbs a {
  color: #414141;
}

@media screen and (min-width: 768px) {
  .l_breadcrumbs {
    padding: 10px 20px 10px 230px;
  }

  .breadcrumbs > li:not(:last-child)::after {
    width: 8px;
    top: 4px;
  }
}

@media screen and (max-width: 767px) {
  .l_breadcrumbs {
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
  }
}

/* ==========================================================================
   Shared Header Fragments
   ========================================================================== */

@media screen and (min-width: 768px) {
  .header.is_hide::after {
    opacity: 0;
  }

  .header.is_hide .header_inner_logo::before {
    opacity: 0;
  }
}

@media screen and (min-width: 768px) {
  @supports (not (-webkit-hyphens: none)) and (not (-moz-appearance: none)) {
    .glonav_inner_download_list > li {
      -webkit-transform: rotate(0.03deg);
      transform: rotate(0.03deg);
    }
  }
}
