@charset "utf-8";
:root {
   --color-theme: #55183C;
   --color-white: #FFFFFF;
   --color-black: #000000;
   --color-black01: #222222;
   --color-light-purple01: #935D85;
   --color-light-purple02: #C69AC9;
   --color-light-purple03: #9B648D;
   --color-light-purple04: #593460;
   --color-light-purple05: #BA7BAA;
   --color-light-purple06: #EBD5E8;
   --color-light-purple07: #F2F2FF;
   --color-plum-purple: #723E64;
   --color-plum-purple01: #757194;
   --color-lavender-purple: #AA99D0;
   --color-lavender-purple01: #816FA9;
   --color-lavender-purple02: #DAC2D4;
   --color-light-gray: #E2E2E2;
   --color-light-gray01: #D9D9D9;
   --color-light-gray02: #C2C2C2;
   --color-soft-gray: #E8E4F3;
   --color-soft-gray01: #EADFE7;
   --color-soft-gray02: #E9DAEB;
   --color-black-gray: #1E1E1E;
   --color-black-gray01: #4E4E4E;
   --color-deep-teal: #0A5063;
   --color-deep-teal01: #082027;
   --color-deep-teal02: #e5d8e2;
   --color-deep-teal03: #cbd5e0;
   --color-deep-teal04: #276B7E;
   --color-light-white: #F6F5F9;
   --color-dark-blue: #0A2441;
   --color-dark-blue01: #212855;
   --color-dark-blue02: #0D3755;
   --color-gray-blue: #919EAB;
   --color-gray-blue01: #DFE3E8;
   --color-soft-green: #E7F5EC;
   --color-soft-green02: #EDFBFB;
   --color-deep-purple: #5E0D3E;
   --color-deep-purple01: #7D4973;
   --color-deep-purple02: #703DC1;
   --color-deep-purple03: #655D93;
   --color-primary-blue: #0000FF;
   --font-neue: "neue-haas-grotesk-display", sans-serif;
}
a:hover,
button:hover {
    opacity: 0.7;
    -webkit-transition: 0.3s ease;
       -moz-transition: 0.3s ease;
        -ms-transition: 0.3s ease;
         -o-transition: 0.3s ease;
            transition: 0.3s ease;
}
.ecor {
   overflow: hidden;
   background: var(--color-light-white);
}
section {
   position: relative;
}
.inner {
   position: relative;
   width: 82%;
   max-width: 1100px;
   margin: 0 auto;
   z-index: 1;
}

/*Header*/
.header_content {
   position: fixed;
   width: 100%;
   background: url(../images/common/bg_header.jpg) no-repeat top center;
   -webkit-background-size: 100% 100%;
        -o-background-size: 100% 100%;
           background-size: 100% 100%;
   top: 0;
   left: 0;
   z-index: 99;
}
.header_content .inner {
   width: 100%;
   max-width: 1330px;
}
.header_wrap {
   -webkit-align-items: center;
           align-items: center;
   -webkit-justify-content: space-between;
           justify-content: space-between;
   padding: 24px 0;
}
.header_logo_content {
   width: 28%;
   -webkit-align-items: center;
           align-items: center;
}
.header_logo_content .header_logo {
   width: 38%;
   max-width: 140px;
   background: var(--color-white);
   margin-right: 10px;
   -webkit-border-radius: 33px;
           border-radius: 33px;
   padding: 10px 17px;
}
.header_logo_content p {
   width: 58%;
   font-size: 22px;
   color: var(--color-white);
   line-height: 1;
}
.header_menu_content {
   width: 72%;
   -webkit-align-items: center;
           align-items: center;
   -webkit-justify-content: flex-end;
           justify-content: flex-end;
}
.header_menu_content .list_menu {
   width: 81%;
   margin-right: 3%;
   -webkit-justify-content: flex-end;
           justify-content: flex-end;
}
.list_menu li {
   margin-right: 2%;
}
.list_menu li:last-child {
   margin-right: 0;
}
.list_menu li a {
   -webkit-align-items: center;
           align-items: center;
}
.list_menu li a span {
   display: block;
   font-family: var(--font-neue);
   font-size: 20px;
   font-weight: 500;
   color: var(--color-white);
   line-height: 1;
   white-space: nowrap;
}
.list_menu li a .icon_menu {
   width: 40px;
}
.list_menu li.menu_item01 a .icon_menu img {
   width: 29px;
}
.list_menu li.menu_item02 a .icon_menu img {
   width: 34px;
}
.list_menu li.menu_item03 a .icon_menu img {
   width: 32px;
}
.list_menu li.menu_item04 a .icon_menu img {
   width: 27px;
}
.list_menu li.menu_item05 a .icon_menu img {
   width: 39px;
}
.header_language_wrap {
   width: 16%;
   max-width: 150px;
   background: var(--color-white);
   border: 2px solid var(--color-white);
   -webkit-border-radius: 17px;
           border-radius: 17px;
}
.header_language_wrap button {
   width: 50%;
   font-size: 12px;
   color: var(--color-black);
   line-height: 1;
   background: var(--color-light-gray);
   padding: 9px 0;
   appearance: none;
}
.header_language_wrap button:first-child {
   -webkit-border-radius: 16px 0 0 16px;
           border-radius: 16px 0 0 16px;
}
.header_language_wrap button:last-child {
   -webkit-border-radius: 0 16px 16px 0;
           border-radius: 0 16px 16px 0;
}
.header_language_wrap button.language_active {
   background: var(--color-lavender-purple);
   color: var(--color-white);
}
/*end of Header*/

/*Footer*/
.footer_content {
   background: var(--color-light-purple01);
   text-align: center;
   padding: 64px 0;
}
.footer_content .footer_copyright {
   font-size: 12px;
   color: var(--color-white);
   line-height: 1.5;
}
/*end of Footer*/

/*Page Top*/
.page_top {
   display: none;
   position: fixed;
   right: 20px;
   bottom: 200px;
   cursor: pointer;
   z-index: 9;
}
.page_top .btn_top {
   display: flex;
   -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
         flex-wrap: wrap;
   -webkit-justify-content: center;
         justify-content: center;
   -webkit-align-items: center;
         align-items: center;
   -webkit-flex-direction: column;
      -ms-flex-direction: column;
         flex-direction: column;
   width: 66px;
   height: 66px;
   background: var(--color-light-purple05);
   border: 2px solid var(--color-white);
   -webkit-border-radius: 100%;
         border-radius: 100%;
   -webkit-box-shadow: 2px 3px 5px rgba(0,0,0,0.25);
         box-shadow: 2px 3px 5px rgba(0,0,0,0.25);
}
.page_top .btn_top img {
   width: 25px;
   margin-bottom: 7px;
}
.page_top .btn_top span {
   font-family: var(--font-neue);
   font-size: 12px;
   font-weight: 600;
   color: var(--color-white);
   line-height: 1;
   letter-spacing: 1px;
}

.title_h1 {
   font-family: var(--font-neue);
   font-size: 48px;
   font-weight: 600;
   color: var(--color-plum-purple);
   line-height: 1;
   text-transform: uppercase;
   text-align: center;
   margin-bottom: 75px;
}
.title_h2 {
   font-size: 34px;
   color: var(--color-deep-teal);
   line-height: 1.3;
   text-align: center;
}
.text_base {
   font-size: 18px;
   color: var(--color-black-gray);
   line-height: 1.5;
}
.text_sm {
   font-size: 16px;
   color: var(--color-black-gray);
   line-height: 1.5;
}
.text_xs {
   font-size: 12px;
   color: var(--color-black-gray);
   line-height: 1.5;
}
.button_wrap {
   position: relative;
   min-width: 200px;
   padding: 15px 70px 15px 50px;
   background: var(--color-light-purple03);
   -webkit-border-radius: 24px;
           border-radius: 24px;
}
.button_wrap span {
   display: block;
   font-size: 18px;
   color: var(--color-white);
   line-height: 1;
}
.button_wrap::after {
   content: '';
   position: absolute;
   width: 30px;
   height: 30px;
   background: url(../images/common/icon_right_arrow.png) no-repeat right center;
   -webkit-background-size: 100% auto;
        -o-background-size: 100% auto;
           background-size: 100% auto;
   right: 10px;
   top: 50%;
   -webkit-transform: translateY(-50%);
      -moz-transform: translateY(-50%);
       -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
           transform: translateY(-50%);
}

.mv_mod {
   padding-top: 170px;
}
.bg_shape {
   position: absolute;
}
.bg_shape01 {
   width: 56%;
   max-width: 750px;
   top: 0;
   left: 0;
}
.bg_shape02 {
   width: 44%;
   max-width: 583px;
   top: 0;
   right: 0;
}

/*Tag*/
.list_tags li {
   margin-right: 15px;
}
.list_tags li:last-child {
   margin-right: 0;
}
.list_tags li a {
   position: relative;
   font-size: 18px;
   color: var(--color-white);
   line-height: 1;
   background: var(--color-light-purple03);
   -webkit-border-radius: 28px;
           border-radius: 28px;
   padding: 9px 35px 9px 14px;
}
.list_tags li a::after {
   content: '';
   position: absolute;
   width: 14px;
   height: 14px;
   background: url(../images/common/icon_right_arrow.png) no-repeat right center;
      -webkit-background-size: 100% auto;
        -o-background-size: 100% auto;
           background-size: 100% auto;
   right: 12px;
   top: 50%;
   -webkit-transform: translateY(-50%);
   -moz-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      -o-transform: translateY(-50%);
         transform: translateY(-50%);
}

/*For Tablet*/
@media only screen and (min-width: 768px) and (max-width: 1100px) {
   body {
      font-size: 16px;
   }

   /*Header*/
   .header_wrap {
      padding: 0.24rem 0;
   }
   .header_logo_content .header_logo {
      margin-right: 0.10rem;
      -webkit-border-radius: 0.33rem;
              border-radius: 0.33rem;
      padding: 0.10rem 0.17rem;
   }
   .header_logo_content p {
      font-size: 0.22rem;
   }
   .list_menu li a span {
      font-size: 0.20rem;
   }
   .list_menu li a .icon_menu {
      width: 0.40rem;
   }
   .list_menu li.menu_item01 a .icon_menu img {
      width: 0.29rem;
   }
   .list_menu li.menu_item02 a .icon_menu img {
      width: 0.34rem;
   }
   .list_menu li.menu_item03 a .icon_menu img {
      width: 0.32rem;
   }
   .list_menu li.menu_item04 a .icon_menu img {
      width: 0.27rem;
   }
   .list_menu li.menu_item05 a .icon_menu img {
      width: 0.39rem;
   }
   .header_language_wrap {
      border-width: 0.02rem;
      -webkit-border-radius: 0.17rem;
              border-radius: 0.17rem;
   }
   .header_language_wrap button {
      font-size: 0.12rem;
      padding: 0.09rem 0;
   }
   .header_language_wrap button:first-child {
      -webkit-border-radius: 0.16rem 0 0 0.16rem;
              border-radius: 0.16rem 0 0 0.16rem;
   }
   .header_language_wrap button:last-child {
      -webkit-border-radius: 0 0.16rem 0.16rem 0;
              border-radius: 0 0.16rem 0.16rem 0;
   }
   /*end of Header*/

   /*Footer*/
   .footer_content {
      padding: 0.64rem 0;
   }
   .footer_content .footer_copyright {
      font-size: 0.12rem;
   }
   /*end of Footer*/
   
   /*Page Top*/
   .page_top {
      right: 0.20rem;
      bottom: 2.00rem;
   }
   .page_top .btn_top {
      width: 0.66rem;
      height: 0.66rem;
      border-width: 0.02rem;
      -webkit-box-shadow: 0.02rem 0.03rem 0.05rem rgba(0,0,0,0.25);
            box-shadow: 0.02rem 0.03rem 0.05rem rgba(0,0,0,0.25);
   }
   .page_top .btn_top img {
      width: 0.25rem;
      margin-bottom: 0.07rem;
   }
   .page_top .btn_top span {
      font-size: 0.12rem;
      letter-spacing: 0.01rem;
   }
   
   .title_h1 {
      font-size: 0.48rem;
      margin-bottom: 0.75rem;
   }
   .title_h2 {
      font-size: 0.34rem;
   }
   .text_base {
      font-size: 0.18rem;
   }
   .text_sm {
      font-size: 0.16rem;
   }
   .text_xs {
      font-size: 0.12rem;
   }
   .button_wrap {
      min-width: 2.00rem;
      padding: 0.15rem 0.70rem 0.15rem 0.50rem;
      -webkit-border-radius: 0.24rem;
              border-radius: 0.24rem;
   }
   .button_wrap span {
      font-size: 0.18rem;
   }
   .button_wrap::after {
      width: 0.30rem;
      height: 0.30rem;
      right: 0.10rem;
   }

   .mv_mod {
      padding-top: 1.70rem;
   }

   /*Tag*/
   .list_tags li {
      margin-right: 0.15rem;
   }
   .list_tags li a {
      font-size: 0.18rem;
      -webkit-border-radius: 0.28rem;
              border-radius: 0.28rem;
      padding: 0.09rem 0.35rem 0.09rem 0.14rem;
   }
   .list_tags li a::after {
      width: 0.14rem;
      height: 0.14rem;
      right: 0.12rem;
   }
}

/*For SP*/
@media only screen and (max-width: 767px) {
   body {
      font-size: 16px;
   }
   .inner {
      width: 87%;
      max-width: 6.50rem;
   }

   /*Header*/
   .header_content {
      background: url(../images/common/bg_header_sp.jpg) no-repeat top center;
      -webkit-background-size: 100% 100%;
           -o-background-size: 100% 100%;
              background-size: 100% 100%;
   }
   .header_content .inner {
      max-width: 100%;
   }
   .header_wrap {
      padding: 0.20rem;
   }
   .header_logo_content {
      width: 50%;
   }
   .header_logo_content .header_logo {
      width: 2.70rem;
      max-width: 2.70rem;
      margin-right: 0;
      -webkit-border-radius: 0.40rem;
              border-radius: 0.40rem;
      padding: 0.16rem 0.35rem;
   }
   .header_menu_content {
      width: 50%;
   }
   .header_hamburger_menu {
      position: relative;
      width: 0.50rem;
      height: 0.45rem;
      cursor: pointer;
      z-index: 99;
   }
   .header_hamburger_menu span {
      position: absolute;
      width: 100%;
      height: 0.10rem;
      background: var(--color-white);
      left: 0;
      -webkit-border-radius: 0.10rem;
              border-radius: 0.10rem;
      -webkit-transition: all 0.6s ease-in-out;
         -moz-transition: all 0.6s ease-in-out;
          -ms-transition: all 0.6s ease-in-out;
           -o-transition: all 0.6s ease-in-out;
              transition: all 0.6s ease-in-out;
   }
   .header_hamburger_menu span:nth-child(1) {
      top: 0;
   }
   .header_hamburger_menu span:nth-child(2) {
      top: 50%;
      -webkit-transform: translateY(-50%);
         -moz-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
           -o-transform: translateY(-50%);
              transform: translateY(-50%);
   }
   .header_hamburger_menu span:nth-child(3) {
      bottom: 0;
   }
   .header_content.is-open .header_hamburger_menu span:nth-child(1) {
      top: 0.17rem;
      -webkit-transform: rotate(45deg);
         -moz-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
           -o-transform: rotate(45deg);
              transform: rotate(45deg);
   }
   .header_content.is-open .header_hamburger_menu span:nth-child(2) {
      opacity: 0;
   }
   .header_content.is-open .header_hamburger_menu span:nth-child(3) {
      bottom: 0.17rem;
      -webkit-transform: rotate(-45deg);
         -moz-transform: rotate(-45deg);
          -ms-transform: rotate(-45deg);
           -o-transform: rotate(-45deg);
              transform: rotate(-45deg);
   }
   .header_menu_content .list_menu {
      position: absolute;
      display: block;
      width: 100%;
      height: 100vh;
      background: var(--color-light-purple02);
      margin-right: 0;
      top: 0;
      left: 0;
      opacity: 0;
      visibility: hidden;
      z-index: -1;
      padding-top: 0.90rem;
      -webkit-transition: all 0.6s ease-in-out;
         -moz-transition: all 0.6s ease-in-out;
          -ms-transition: all 0.6s ease-in-out;
           -o-transition: all 0.6s ease-in-out;
              transition: all 0.6s ease-in-out;
   }
   .header_content.is-open .header_menu_content .list_menu {
      opacity: 1;
      visibility: visible;
      z-index: 9;
   }
   .list_menu li {
      width: 75%;
      margin: 0 auto 0.35rem;
   }
   .list_menu li:last-child {
      margin: 0 auto;
   }
   .list_menu li a {
      width: fit-content;
   }
   .list_menu li a span {
      font-size: 0.36rem;
   }
   .list_menu li a .icon_menu {
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-justify-content: center;
              justify-content: center;
      -webkit-align-items: center;
              align-items: center;
      width: 0.76rem;
      height: 0.76rem;
      background: var(--color-light-purple01);
      -webkit-border-radius: 100%;
              border-radius: 100%;
      margin-right: 0.25rem;
   }
   .list_menu li.menu_item01 a .icon_menu img {
      width: 0.48rem;
   }
   .list_menu li.menu_item02 a .icon_menu img {
      width: 0.45rem;
   }
   .list_menu li.menu_item03 a .icon_menu img {
      width: 0.45rem;
   }
   .list_menu li.menu_item04 a .icon_menu img {
      width: 0.32rem;
   }
   .list_menu li.menu_item05 a .icon_menu img {
      width: 0.44rem;
   }
   .header_language_wrap {
      width: 2.50rem;
      max-width: 2.50rem;
      border-width: 0.02rem;
      -webkit-border-radius: 0.26rem;
              border-radius: 0.26rem;
      margin-right: 0.40rem;
   }
   .header_language_wrap button {
      font-size: 0.26rem;
      padding: 0.11rem 0;
   }
   .header_language_wrap button:first-child {
      -webkit-border-radius: 0.25rem 0 0 0.25rem;
              border-radius: 0.25rem 0 0 0.25rem;
   }
   .header_language_wrap button:last-child {
      -webkit-border-radius: 0 0.25rem 0.25rem 0;
              border-radius: 0 0.25rem 0.25rem 0;
   }
   /*end of Header*/

   /*Footer*/
   .footer_content {
      padding: 0.84rem 0;
   }
   .footer_content .footer_copyright {
      font-size: 0.24rem;
   }
   /*end of Footer*/
   
   /*Page Top*/
   .page_top {
      right: 0.20rem;
      bottom: 2.00rem;
   }
   .page_top .btn_top {
      width: 0.78rem;
      height: 0.78rem;
      border-width: 0.02rem;
      -webkit-box-shadow: 0.02rem 0.03rem 0.05rem rgba(0,0,0,0.25);
            box-shadow: 0.02rem 0.03rem 0.05rem rgba(0,0,0,0.25);
   }
   .page_top .btn_top img {
      width: 0.29rem;
      margin-bottom: 0.07rem;
   }
   .page_top .btn_top span {
      font-size: 0.18rem;
      letter-spacing: 0.01rem;
   }
   
   .title_h1 {
      font-size: 0.48rem;
      margin-bottom: 0.75rem;
   }
   .title_h2 {
      font-size: 0.34rem;
   }
   .text_base {
      font-size: 0.26rem;
   }
   .text_sm {
      font-size: 0.26rem;
   }
   .text_xs {
      font-size: 0.26rem;
   }
   .button_wrap {
      min-width: 2.33rem;
      padding: 0.14rem 0.70rem 0.14rem 0.40rem;
      -webkit-border-radius: 0.28rem;
              border-radius: 0.28rem;
   }
   .button_wrap span {
      font-size: 0.28rem;
   }
   .button_wrap::after {
      width: 0.45rem;
      height: 0.45rem;
      right: 0.10rem;
   }

   .mv_mod {
      padding-top: 2.60rem;
   }
   .bg_shape01 {
      width: 66%;
      max-width: 4.95rem;
   }
   .bg_shape02 {
      width: 52%;
      max-width: 3.84rem;
   }

   /*Tag*/
   .list_tags li {
      margin-right: 0.15rem;
   }
   .list_tags li a {
      font-size: 0.18rem;
      -webkit-border-radius: 0.28rem;
              border-radius: 0.28rem;
      padding: 0.09rem 0.35rem 0.09rem 0.14rem;
   }
   .list_tags li a::after {
      width: 0.14rem;
      height: 0.14rem;
      right: 0.12rem;
   }
}