body {
    color: #2B2B35;
    background-color: #fff;
    font-family: "Noto Sans JP", sans-serif, serif;
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    box-sizing: border-box; }
  
  *,
  *::after,
  *::before {
    margin: 0;
    padding: 0;
    box-sizing: inherit; }
  
  /* noto-sans-jp-regular - latin */
  @font-face {
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 400;
    src: url("../fonts/noto-sans-jp-v28-latin-regular.woff2") format("woff2"), url("../fonts/noto-sans-jp-v28-latin-regular.woff") format("woff");
    /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
    font-display: swap; }
  
  /* noto-sans-jp-500 - latin */
  @font-face {
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 500;
    src: url("../fonts/noto-sans-jp-v28-latin-500.woff2") format("woff2"), url("../fonts/noto-sans-jp-v28-latin-500.woff") format("woff");
    /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
    font-display: swap; }
  
  /* noto-sans-jp-700 - latin */
  @font-face {
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 700;
    src: url("../fonts/noto-sans-jp-v28-latin-700.woff2") format("woff2"), url("../fonts/noto-sans-jp-v28-latin-700.woff") format("woff");
    /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
    font-display: swap; }

  .vgSection {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: center; }
    @media only screen and (max-width: 480px) {
      .vgSection {
        margin-top: 0px;
        padding-left: 0px;
        justify-content: flex-start;
        overflow: hidden; } }
    @media only screen and (max-width: 768px) {
      .vgSection {
        margin-top: 0px;
        padding-left: 0px;
        justify-content: flex-start;
        overflow: hidden; } }
    @media only screen and (max-width: 1024px) {
      .vgSection {
        margin-top: 0px;
        padding-left: 38px;
        justify-content: flex-start;
        overflow: hidden; } }
    @media only screen and (max-width: 1200px) {
      .vgSection {
        margin-top: 0px;
        padding-left: 0px;
        justify-content: flex-start;
        overflow: hidden; } }
 
  
  .footer_root {
    color: #fff;
    background-color: #0d2860; }
  
  .footer_layoutContainer {
    padding: 50px 88px; }
    @media only screen and (max-width: 480px) {
      .footer_layoutContainer {
        padding: 36px 30px; } }
    @media only screen and (max-width: 1200px) {
      .footer_layoutContainer {
        padding: 36px 30px; } }
  
  .footer_menuContainer {
    display: flex;
    position: relative;
    justify-content: space-between;
    width: 100%;
    height: 435px; }
    @media only screen and (max-width: 1024px) {
      .footer_menuContainer {
        flex-direction: column;
        height: auto; } }
  
  .footer_menuColumn {
    max-width: 100%;
    flex: 0 0 auto; }
    @media only screen and (max-width: 480px) {
      .footer_menuColumn {
        margin-bottom: 20px; } }
  
  .footer_menuTitle {
    color: #ffc42a;
    font-size: 16px;
    margin-bottom: 18px; }
  
  .footer_menuList {
    list-style: none; }
  
  .footer_menuListItem {
    margin-bottom: 8px; }
  
  .footer_menuLink {
    color: #fff;
    text-decoration: none; }
  
  .footer_brandingContainer {
    position: absolute;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: right; }
    @media only screen and (max-width: 480px) {
      .footer_brandingContainer {
        position: relative;
        align-items: center; } }
    .footer_brandingContainer > div {
      display: flex;
      justify-content: flex-end;
      align-items: center; }
  
  .footer_logoContainer {
    margin-top: 24px; }
  
  .footer_copyright {
    margin-top: 12px; }
  
  .footer_socialSharing {
    margin-top: 20px; }
  
  .footer_socialLink {
    margin: 6px;
    width: 26px;
    height: 26px; }
    .footer_socialLink svg {
      width: 26px;
      height: 26px; }
  
  .footer_hiddenText {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px; }
  
  .footer_localeContainer {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-top: 20px; }
    .footer_localeContainer > * {
      margin-left: 10px; }

  .footer_social_image {
    width: max-content;
    height: max-content;
  }

  
  .hamburger_root {
    width: 30px;
    height: 22.5px;
    position: relative;
    margin: 5px;
    transform: rotate(0deg);
    transition: 0.5s ease-in-out;
    cursor: pointer; }
  
  .hamburger_root span {
    display: block;
    position: absolute;
    height: 3px;
    width: 100%;
    background: #2b2b35;
    border-radius: 9px;
    opacity: 1;
    left: 0;
    transform: rotate(0deg);
    transition: 0.25s ease-in-out; }
  
  .hamburger_root span:nth-child(1) {
    top: 0px; }
  
  .hamburger_root span:nth-child(2),
  .hamburger_root span:nth-child(3) {
    top: 9px; }
  
  .hamburger_root span:nth-child(4) {
    top: 18px; }
  
  .hamburger_root.hamburger_open span:nth-child(1) {
    top: 9px;
    width: 0%;
    left: 50%; }
  
  .hamburger_root.hamburger_open span:nth-child(2) {
    transform: rotate(45deg); }
  
  .hamburger_root.hamburger_open span:nth-child(3) {
    transform: rotate(-45deg); }
  
  .hamburger_root.hamburger_open span:nth-child(4) {
    top: 9px;
    width: 0%;
    left: 50%; }
  
  .header_root {
    z-index: 100;
    position: fixed;
    width: 100vw;
    top: 0;
    left: 0;
    background-color: #fff;
    box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.05); }
  
  
  .link_button_root {
    display: inline-block;
    color: #2b2b35;
    white-space: nowrap;
    text-decoration: none;
    padding: 15px 25px;
    font-size: 18px; }
    .link_button_root:hover {
      color: #3770e9; }
  
  .locale_dropdown_root {
    position: relative;
    z-index: 1; }

  .locale_dropdown_root .arrow {
    border: solid #fff;
    border-width: 0 1px 1px 0;
    display: inline-block;
    padding: 3px;
    width: 9px;
    height: 9px;
    margin: 0 0 2px 6px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    cursor: pointer; }
  .locale_dropdown_root .arrow-up {
    margin: 5px 0px -2px 6px;
    -webkit-transform: rotate(225deg);
    -ms-transform: rotate(225deg);
    transform: rotate(225deg); }
  .locale_dropdown_default {
    cursor: pointer;
    border: 0;
    outline: 0;
    font-family: inherit;
    font-size: 16px;
    font-weight: 400;
    color: #fff;
    background-color: transparent; }
  
  .locale_dropdown_arrow {
    position: absolute;
    background-color: #fff;
    bottom: -5px;
    right: 10%;
    margin-top: 20px;
    width: 12px;
    height: 12px;
    z-index: 101;
    box-shadow: -3px -3px 4px -2px rgba(50, 50, 50, 0.2);
    transform: rotate(225deg); }
    @media only screen and (max-width: 480px) {
      .locale_dropdown_arrow {
        right: 41%; } }
  
  .locale_dropdown_optionsContainer {
    border-radius: 4px;
    display: none;
    flex-flow: column wrap;
    background-color: #fff;
    color: #fff;
    position: absolute;
    bottom: 200%;
    right: -20%;
    padding: 16px 12px;
    width: 360px;
    height: 264px;
    z-index: -1; }
    @media only screen and (max-width: 480px) {
      .locale_dropdown_optionsContainer {
        width: 270px;
        height: 400px;
        right: -160%;
        bottom: 200%; } }

  
  .locale_dropdown_optionsContainer-small {
    width: 150px !important;
    height: unset;
  }

  @media only screen and (max-width: 480px) {
    .locale_dropdown_optionsContainer-small {
      width: 110px !important;
    }
  }
  
  .locale_dropdown_option {
    position: relative;
    font-family: inherit;
    font-size: 14px;
    font-weight: 400;
    margin: 4px;
    padding: 3px 9px;
    border-radius: 4px;
    text-align: left;
    line-height: 19px;
    cursor: pointer;
    text-decoration: none;
    color: #2b2b35;
    background-color: transparent; }
    .locale_dropdown_option.locale_dropdown_select {
      color: #3770e9;
      background-color: #dfe9ff; }
    .locale_dropdown_option:hover {
      color: #0082ff; }
      .locale_dropdown_option:hover.locale_dropdown_select {
        background-color: #d1ddf6;
        color: #2b2b35; }
  
  .locale_dropdown_show {
    opacity: 1;
    z-index: 2; }
  
  .locale_dropdown_mobile {
    display: flex; }
  
  .menu_root {
    width: 100%;
    position: absolute;
    border-radius: 4px;
    top: 66px;
    visibility: hidden; }
    @media only screen and (max-width: 480px) {
      .menu_root {
        display: none; } }
  
  .menu_arrow {
    position: absolute;
    background-color: #fff;
    top: -5px;
    left: 50%;
    margin-top: 20px;
    width: 12px;
    height: 12px;
    z-index: 101;
    opacity: 0;
    transition: transform 0.25s, opacity 0.1s ease-in;
    will-change: transform, opacity;
    box-shadow: -3px -3px 4px -2px rgba(50, 50, 50, 0.2);
    transform: rotate(45deg); }
    .menu_arrow.menu_product {
        transform: translateY(0) translateX(-262px) rotate(45deg); }
      .menu_arrow.menu_solutions {
        transform: translateY(0) translateX(-139px) rotate(45deg); }
      .menu_arrow.menu_templates {
        transform: translateY(0) translateX(-5px) rotate(45deg); }
      .menu_arrow.menu_learn {
        transform: translateY(0) translateX(113px) rotate(45deg); }
      .menu_arrow.menu_pricing {
        transform: translateY(0) translateX(216px) rotate(45deg); }

  .menu_root.menu_short .menu_arrow.menu_product {
    transform: translateY(0) translateX(-286px) rotate(45deg);
  }
  .menu_root.menu_short .menu_arrow.menu_solutions {
    transform: translateY(0) translateX(-152px) rotate(45deg);
  }
  .menu_root.menu_short .menu_arrow.menu_templates {
    transform: translateY(0) translateX(-15px) rotate(45deg);
  }
  .menu_root.menu_short .menu_arrow.menu_pricing {
    transform: translateY(0) translateX(232px) rotate(45deg);
  }

  .menu_contentContainer {
    position: absolute;
    border-radius: 4px;
    top: 0;
    left: 50%;
    margin-top: 20px;
    transition: transform 0.25s ease-out, width 0.25s, height 0.25s;
    will-change: transform, width, height;
    background-color: #fff;
    box-shadow: 1px 1px 15px 2px rgba(138, 138, 138, 0.25); 
  } 
    .menu_contentContainer.menu_product {
      width: 927px;
      height: 539px;
      transform: translateX(-444px); }
    .menu_contentContainer.menu_solutions {
      width: 927px;
      height: 343px;
      transform: translateX(-444px); }
    .menu_contentContainer.menu_templates {
      width: 640px;
      height: 343px;
      transform: translateX(-290px); }
    .menu_contentContainer.menu_learn {
      width: 640px;
      height: 343px;
      transform: translateX(-290px); }
    .menu_contentContainer.menu_pricing {
      width: 270px;
      height: 470px;
      transform: translateX(96px); }

  .menu_root.menu_short .menu_contentContainer.menu_learn {
    width: 270px;
    transform: translateX(-20px);
  }
  .menu_root.menu_short .menu_contentContainer.menu_pricing {
    height: 150px;
    transform: translateX(102px);
  }
  .menu_menuContainer {
    position: absolute;
    z-index: 100;
    width: 100%;
    height: 100%;
    padding: 35px 30px;
    font-size: 14px;
    border-radius: 4px;
    top: 0;
    left: 0;
    transition: opacity 0.1s ease-in-out;
    opacity: 0;
    pointer-events: none; }
    .menu_menuContainer.menu_product {
      width: 927px; }
    .menu_menuContainer.menu_solutions {
      width: 927px; }
    .menu_menuContainer.menu_templates {
      width: 640px; }
    .menu_menuContainer.menu_learn {
      width: 640px; }
    .menu_menuContainer.menu_pricing {
      width: 270px; }
  .menu_root.menu_short .menu_menuContainer.menu_learn {
    width: 270px;
  }
  
  .menu_menuHeader {
    color: #6f7d8b;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 14px;
    text-align: left; }
  
  .menu_divider {
    border-bottom: 1px solid #e0e0e0;
    margin: 12px 0; }
  
  .menu_featurePageContainer {
    display: flex;
    flex-wrap: wrap;
    margin-top: 12px;
    flex-direction: column;
    max-height: 340px; 
  }
  
  .menu_pageLink {
    color: #2b2b35;
    font-size: 14px;
    text-align: left;
    width: 200px;
    margin: 4px 12px 4px 0px;
    padding: 6px;
    border-radius: 4px;
    text-decoration: none; }
    .menu_pageLink:hover {
      background-color: #f2f6ff;
      color: #3770e9; }
  
  .menu_pointer {
    pointer-events: auto; }
  
  .menu_visible {
    visibility: visible; }
  
  .menu_show {
    opacity: 1; }
  
  .mobile_menu_root {
    display: none;
    margin: 20px 0;
    max-height: calc(100vh - 88px);
    background-color: #fff;
    z-index: 1005;
    padding-bottom: 124px;
    overflow: hidden;
    white-space: nowrap; }
  .mobile_menu_root.menu_short {
    padding-bottom: 0;
  }
  .mobile_menu_show {
    display: flex;
    flex-direction: column; }
  
  .mobile_menu_ctaContainer {
    display: flex;
    margin: 30px 0;
    flex-flow: column wrap; }
  
  .mobile_menu_messageBoxHeader {
    margin: 0;
    cursor: pointer;
    padding: 6px 15px 8px 30px;
    display: flex;
    align-items: center; }
  
  .mobile_menu_messageBoxContent {
    overflow-y: auto; }
  
  .mobile_menu_messageBoxItem {
    margin: 0;
    padding: 15px 30px;
    min-width: 190px;
    text-align: left;
    display: flex;
    align-items: center;
    overflow: hidden;
    cursor: pointer;
    text-decoration: none; }
    @media only screen and (pointer: fine) {
      .mobile_menu_messageBoxItem:hover {
        background-color: #f2f6ff;
        color: #3770e9; } }
    .mobile_menu_messageBoxItem.mobile_menu_selected {
      background-color: #f2f6ff;
      color: #3770e9; }
    .mobile_menu_messageBoxItem.mobile_menu_disabled {
      pointer-events: none;
      color: rgba(16, 16, 16, 0.3); }
  
  .mobile_menu_subMenuHeader {
    margin: 0;
    padding: 15px 30px;
    min-width: 190px;
    text-align: left;
    display: flex;
    align-items: center;
    overflow: hidden;
    text-decoration: none; }
  
  .mobile_menu_messageBoxItemAvatar {
    width: 20px;
    height: 20px;
    margin: 0px 11px 0px 0px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    vertical-align: middle; }
  
  .mobile_menu_messageBoxItemText {
    display: inline-block;
    vertical-align: middle;
    flex-grow: 1; }
  
  .mobile_menu_messageBoxControlGroup {
    width: 100%;
    display: flex;
    padding: 20px 0px 20px 0;
    justify-content: center; }
  
  .mobile_menu_divider {
    height: 1px;
    padding: 0;
    margin: 0 25px;
    border: none;
    flex-shrink: 0;
    background-color: #f1f2f2; }
  
  .mobile_menu_typography {
    margin: 0;
    padding: 0;
    text-decoration: none;
    font-style: normal; }
    .mobile_menu_typography.mobile_menu_h6 {
      font-size: 16px;
      font-weight: 500;
      line-height: 25px;
      letter-spacing: -1%;
      color: #2b2b35;
      display: inline-block; }
    .mobile_menu_typography.mobile_menu_subtitle1 {
      font-size: 16px;
      font-weight: normal;
      line-height: 18px;
      display: inline-block; }
    .mobile_menu_typography.mobile_menu_body1 {
      color: #2b2b35;
      font-size: 14px;
      font-weight: 400;
      line-height: 15.15px;
      letter-spacing: 0.03px; }
    .mobile_menu_typography.mobile_menu_body2 {
      font-size: 14px;
      font-weight: 600;
      color: #6f7d8b;
      cursor: default;
      text-transform: uppercase;
      line-height: 15.15px;
      letter-spacing: 0.03px; }
    .mobile_menu_typography.mobile_menu_disabled {
      color: rgba(16, 16, 16, 0.3); }
    .mobile_menu_typography.mobile_menu_bold {
      color: unset;
      font-weight: 700; }
  
  .mobile_menu_arrow {
    border: solid #666;
    border-width: 0 2px 2px 0;
    display: inline-block;
    padding: 3px;
    margin-right: 10px;
    width: 9px;
    height: 9px; }
    .mobile_menu_arrow.mobile_menu_right {
      transform: rotate(-45deg); }
    .mobile_menu_arrow.mobile_menu_left {
      transform: rotate(135deg); }
  
  .mobile_menu_secondaryMenu {
    padding: 14px 25px 14px 51px; }
  
  .nav_root {
    display: flex;
    justify-content: space-between;
    margin: 0 44px;
    height: 88px;
    align-items: center;
    z-index: 5; }
    @media only screen and (max-width: 480px) {
      .nav_root {
        margin: 0 24px; } }
  
  .nav_logoLink {
    display: flex;
    justify-content: center; }
  
  .nav_navList {
    position: relative;
    display: flex;
    font-size: 16px;
    list-style: none;
    padding: 20px;
}
    @media only screen and (max-width: 1024px) {
      .nav_navList {
        display: none; } }
    @media only screen and (max-width: 1233px) {
      .nav_navList {
        display: none; } }
  
  .nav_navItem {
    position: relative; }
  
  @media only screen and (max-width: 768px) {
    .nav_ctaContainer {
      display: none; } }
  
  @media only screen and (max-width: 1233px) {
    .nav_ctaContainer {
      margin-left: auto;
      margin-right: 44px; } }
  
  .nav_hamburgerMenu {
    display: none; }
    @media only screen and (max-width: 1233px) {
      .nav_hamburgerMenu {
        display: block; } }

  
  .submenu_item_root {
    border-radius: 4px;
    padding: 8px;
    color: #2b2b35;
    text-decoration: none; }
    .submenu_item_root:hover {
      background-color: #f2f6ff;
      color: #3770e9; }
  
  .submenu_item_content {
    display: flex;
    margin: 4px 0; 
    align-items: center;
  }
  
  .submenu_item_svgContainer {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 30px;
    height: 33px; }
    .submenu_item_svgContainer svg {
      width: 100%;
      height: 100%; }
  
  .submenu_item_textContainer {
    margin-left: 15px;
    display: flex;
    justify-content: center;
    flex-direction: column; }
  .menu_root.menu_short .menu_menuContainer.menu_learn .submenu_item_textContainer {
    max-width: 150px;
  }

  .submenu_item_text {
    font-size: 14px;
    font-weight: 500; }
  
  .submenu_item_subtext {
    color: #6f7d8b;
    font-size: 12px; }
  
  .submenu_root {
    display: flex;
    height: fit-content;
    max-height: 100%;
    flex-wrap: wrap;
    margin-left: -7px;
    flex-direction: column; }

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

  .submenu_item_image.see_all_template{
    width: 36px;
  }

  .button_root {
    display: inline-block;
    position: relative;
    background-color: #0073e6;
    border-radius: 9999px;
    color: #fff;
    padding: 12px 36px;
    font-weight: 500;
    font-size: 18px;
    white-space: nowrap;
    text-transform: uppercase;
    text-decoration: none; }
    .button_root:hover {
      background-color: #0052a3; }
