@import "./reset.css";
@import "./index.css";

html.lenis, html.lenis body {height: auto;}
.lenis.lenis-smooth {scroll-behavior: auto !important;}
.lenis.lenis-smooth [data-lenis-prevent] {overscroll-behavior: contain;}
.lenis.lenis-stopped {overflow: hidden;}
.lenis.lenis-smooth iframe {pointer-events: none;}

/* ************************************ Lenis End ************************************ */


html,body {font-size: 8px;
  width: -webkit-fill-available;height: auto;margin: 0 auto;padding: 0;
  scroll-behavior: smooth;
}
@media (min-width: 1200px) {
  html, body{font-size: 10px;}
}
@media (min-width: 1400px) {
  html, body{font-size: 11px;}
}
@media (min-width: 1600px) {
  html, body{font-size: 14px;}
}
@media (min-width: 2000px) {
  html, body{font-size: 14px;}
}
@media (min-width: 3000px) {
  html, body{font-size: 14px;}
}
video{pointer-events: none;}

/* ************************************ Page Navi ************************************ */
.top_fix_container{position: fixed;z-index: 99;
  width: -webkit-fill-available;height: auto;margin: 0;padding: 1rem 1rem;max-width: unset;
  display: flex;justify-content: space-between;align-items: center;
  transform: translateY(-200%);
  pointer-events: none;
}
.menu_logo{position: relative;
  width: 20%;height: auto;pointer-events: all;
}
.menu_logo_Mobile{position: relative;
  width: 30%;height: auto;pointer-events: all;
}
.menu_logo_svg{position: relative;
  width: 100%;height: auto;object-fit: cover;
}
.menu_btnblock{position: relative;
  width: auto;height: auto;margin: 0;padding: 0;
  display: flex;align-items: center;gap: 2rem;pointer-events: all;
}

.menu_btn_contact{position: relative;cursor: pointer;pointer-events: all;
  width: 20rem;height: 4rem;padding: 1rem 3rem;margin: 0;border-radius: 100rem;
  display: flex;justify-content: center;align-items: center;
  background-color: var(--color-black38);color: var(--color-white);
  font-family: var(--font-JP5);font-size: 1.5rem;line-height: 1;font-weight: 500;
  opacity: 1;
}
.btn_arrow_block{position: relative;overflow: hidden;transition: .3s;margin-left: 0rem;
  width: 0;height: auto;display: flex;align-items: center;justify-content: flex-start;
}
.btn_arrow{position: relative;top: 0;left: 0;
  width: 100%;height: 100%;
}
.menu_btn_menu{position: relative;cursor: pointer;
  width: 4rem;height: 4rem;padding: 0;margin: 0;border-radius: 100rem;aspect-ratio: 1/1;
  display: flex;flex-direction: column;justify-content: center;align-items: center;gap: .3rem;
  background-color: var(--color-black38);color: var(--color-white);
}
.menu_btn_menu div{
  width: 1.7rem;height: 2px;
  background-color: var(--color-white);
}
.menu_btn_menu:hover{gap: .4rem;transition: .3s;}
.menu_btn_contact:hover .btn_arrow_block{width: 1.5rem;margin-left: 1rem;transition: .3s;}

.menu_btn_menu_line1,.menu_btn_menu_line2,.menu_btn_menu_line3{position: relative;margin: unset;transform: rotateZ(0deg);}


/* Menu Fix */
.top_menu_fix{position: fixed;top: 0;left: 0;z-index: 98;
  width: -webkit-fill-available;height: 100vh;padding: 10rem 4rem;
  background-color: var(--color-black);color: var(--color-white);
  display: none;flex-direction: column;justify-content: center;align-items: center;gap: 3rem;
  opacity: 0;
}
.top_menu_fix_sitemap{position: relative;
  width: -webkit-fill-available;height: auto;
  display: flex;flex-direction: column;justify-content: space-between;align-items: stretch;gap: 1rem;
}
.top_menu_fix_sitemap_block{position: relative;
  width: -webkit-fill-available;height: auto;
  display: flex;flex-direction: column;justify-content: flex-start;align-items: flex-start;gap: 0rem;
}
.top_menu_fix_sitemap_a_hover{position: absolute;bottom: 0;
  width: 0%;height: 1px;background-color: var(--color-white);transition: .5s;
}
.top_menu_fix_sitemap_a:hover > .top_menu_fix_sitemap_a_hover{width: 100%;transition: .5s;}

.top_menu_fix_company{position: relative;
  width: -webkit-fill-available;height: auto;
  display: flex;flex-direction: column;justify-content: space-between;align-items: stretch;gap: 3rem;
}
.top_menu_fix_company_block{position: relative;
  width: -webkit-fill-available;height: auto;
  display: flex;flex-direction: column;justify-content: flex-start;align-items: flex-start;gap: 1rem;
}
.top_menu_fix_company_contact,.footer_menu_fix_company_contact{position: relative;cursor: pointer;
  width: 100%;height: auto;padding: 1rem 3rem;
  display: flex;justify-content: space-between;align-items: center;
  background-color: var(--color-white);border-radius: 8px;transition: color .5s;
}
.top_menu_fix_company_contact circle,.footer_menu_fix_company_contact circle{transition: fill .5s;fill: var(--color-black);}

.top_menu_fix_company_contact svg,.footer_menu_fix_company_contact svg{width: 1.5rem;margin-top: .2rem;margin-left: .5rem;
  fill: var(--color-black);stroke: var(--color-white);stroke-miterlimit: 10;}
.top_menu_fix_company_contact:hover,.footer_menu_fix_company_contact:hover{color: var(--color-red);transition: color .5s;}
.top_menu_fix_company_contact:hover circle,.footer_menu_fix_company_contact:hover circle{fill: var(--color-red);transition: fill .5s;}
#レイヤー_1{fill: none;}

/* Menu Fix Font */
.top_menu_fix_sitemap_title{font-family: var(--font-EN1);font-size: 5rem;line-height: 1.6;letter-spacing: .2rem;padding-bottom: 0rem;}
.top_menu_fix_sitemap_a{position: relative;font-family: var(--font-JP7);font-size: 2rem;line-height: 1.6;letter-spacing: .2rem;cursor: pointer;font-weight: 500;}
.top_menu_fix_sitemap_a span{font-family: var(--font-EN1);}

.top_menu_fix_company_address{font-family: var(--font-JP7);font-size: 1.2rem;line-height: 1.6;letter-spacing: .2rem;font-weight: 500;}
.top_menu_fix_company_text{font-family: var(--font-JP7);font-size: 1.2rem;line-height: 1.6;letter-spacing: .2rem;
  width: -webkit-fill-available;display: flex;gap: 2rem;font-weight: 500;
}
.top_menu_fix_company_text_2{font-family: var(--font-JP7);font-size: 1.2rem;line-height: 1.6;letter-spacing: .2rem;
  width: -webkit-fill-available;display: flex;gap: 2rem;
}
.top_menu_fix_company_contact,.footer_menu_fix_company_contact{font-family: var(--font-EN1);font-size: 4rem;line-height: 1.6;letter-spacing: .5rem;font-weight: 700;
  color: var(--color-black);
}
.top_menu_fix_company_contact_small,.top_menu_fix_company_contact span,.footer_menu_fix_company_contact span{font-family: var(--font-JP7);font-size: 1.5rem;letter-spacing: .2rem;font-weight: 500;
display: flex;align-items: center;gap: 1rem;white-space: nowrap;}
.top_menu_fix_company_contact img,.footer_menu_fix_company_contact img{width: 1.5rem;margin-top: .3rem;margin-left: .5rem;}

/* ************************************ Page Navi End ************************************ */

/* ************************************ Top Page Top Section ************************************ */
.top_scoll_container{position: relative;max-width: unset;max-height: unset;display: flex;}
.top_bgvideo{position: fixed;z-index: 0;overflow: hidden;
  width: -webkit-fill-available;height: 100vh;max-width: unset;max-height: unset;
  background-color: black;pointer-events: none;
}
.top_bgvideo_item{position: relative;z-index: 0;
  width: -webkit-fill-available;height: -webkit-fill-available;object-fit: cover;
  pointer-events: none;
  opacity: 0;
}

.top_top_container{position: relative;z-index: 1;
  width: -webkit-fill-available;height: 100vh;max-height: unset;object-fit: cover;
  display: flex;clip-path: inset(0 0 0 0);
}
.top_top_container_fix_1{position: fixed;top: 0;left: 0;z-index: 1;opacity: 1;
  width: 100%;height: 100%;object-fit: cover;padding: 0;
  display: flex;justify-content: space-between;align-items: self-end;color: var(--color-white);transition: opacity 1s;
}
.top_top_container_fix_2{position: fixed;top: 0;left: 0;z-index: 1;opacity: 0;pointer-events: none;
  width: 100%;height: 100%;object-fit: cover;padding: 0 4rem;
  display: flex;justify-content: flex-start;align-items: center;color: var(--color-black);transition: opacity 1s;
}
.Top_text_2 .top_top_container_fix_1{opacity: 0;pointer-events: none;transition: opacity 1s;}
.Top_text_2 .top_top_container_fix_2{opacity: 1;pointer-events: unset;transition: opacity 1s;}
.Top_text_3 .top_top_container_fix_1,.Top_text_3 .top_top_container_fix_2{opacity: 0;pointer-events: none;transition: opacity 1s;}

.top_topcontainer_l{position: relative;z-index: 1;
  width: auto;height: 100%;margin: 0;padding: 0;max-height: unset;margin-left: 4rem;
  display: flex;justify-content: flex-end;align-items: center;
}
.top_top_brand{position: relative;z-index: 1;margin-top: 10%;margin-right: 80%;
  width: 0px;height: auto;
  display: flex;flex-direction: column;
  font-family: var(--font-JP3);font-size: 9rem;line-height: 1;
  -webkit-filter:blur(10px);opacity: 0;
}
.top_top_container_fix_2_brand{font-family: var(--font-JP3);font-size: 9rem;line-height: 1;margin-bottom: 5rem;}
.top_top_brand_dot{margin-top: -5rem;margin-left: 5rem;}


.top_topcontainer_r{position: relative;z-index: 1;
  width: fit-content;height: 100%;margin: 0;padding: 0;margin-right: 4rem;max-height: unset;
  display: flex;flex-direction: column;justify-content: center;align-items: flex-start;gap: 0;
  -webkit-filter:blur(10px);opacity: 0;
}
.top_topcontainer_r_title1{position: relative;
  font-family: var(--font-EN1);font-size: 4rem;line-height: 1.2;font-weight: 500;letter-spacing: .5rem;
}
.top_topcontainer_r_title2{position: relative;margin-bottom: 3rem;
  font-family: var(--font-EN1);font-size: 1.2rem;line-height: 1.6;font-weight: 300;letter-spacing: .3rem;
}
.top_topcontainer_r_text{position: relative;margin-top: 2rem;
  font-family: var(--font-JP1);font-size: 1.5rem;line-height: 1.6;letter-spacing: .2rem;
}
.top_topcontainer_r_text_2{position: relative;margin-top: 2rem;
  font-family: var(--font-JP3);font-size: 1.5rem;line-height: 1.6;letter-spacing: .2rem;
}

/* ************************************ Top Page Top Section End ************************************ */

/* ************************************ Top Page Slide Section ************************************ */
.top_service_container {position: relative;z-index: 1;
  width: 100%;height: 350vh;max-width: unset;max-height: 3240px;
  display: flex;flex-direction: column;flex-wrap: nowrap;
  background-image: linear-gradient(var(--color-white70), var(--color-white));
}
.top_service_fake_container{position: absolute;z-index: 0;pointer-events: none;
  width: 100%;height: auto;max-width: unset;
  display: flex;flex-direction: column;justify-content: flex-start;align-items: center;
}
.top_service_fake_container *{position: relative;
  width: 100%;height: 100vh;max-width: unset;max-height: unset;
}
.top_service_show_container{position: sticky;top: 0;left: 0;overflow: hidden;
  width: 100%;height: 100vh;max-width: unset;max-height: unset;
  display: flex;flex-wrap: nowrap;justify-content: center;align-items: flex-start;
}

/* Slide left Fix */
#top_service_1{position: relative;white-space: nowrap;
  width: auto;height: 100vh;max-height: unset;padding: 10rem 5rem 10rem 10rem;
  display: flex;flex-direction: column;justify-content: center;align-items: center;gap: 0;
  transform: translate(0, 0) translate3d(0px, 0px, 0px) !important;
}
.top_service_1_inner{position: relative;white-space: nowrap;width: auto;gap: 5rem;
  display: flex;flex-direction: column;justify-content: space-between;align-items: flex-start;
}

.top_service_1_title{color: var(--color-black);font-family: var(--font-EN1);font-size: 4.2rem;line-height: 1.6;font-weight: 500;letter-spacing: .2rem;}
.top_service_1_title2{color: var(--color-black);font-family: var(--font-JP4);font-size: 3.5rem;line-height: 1.6;text-align: center;}
.top_service_1_brand{color: var(--color-black);font-family: var(--font-JP4);font-size: 5.5rem;line-height: 1.6;}
.top_service_1_textblock{position: relative;
  width: 100%;height: auto;
  display: flex;flex-direction: column;gap: 3rem;
}
.top_service_1_text{color: var(--color-black);font-family: var(--font-EN1);width: -webkit-fill-available;padding: 0rem 1rem;
  font-size: 1.3rem;line-height: 1.6;font-weight: 500;letter-spacing: .2rem;padding-right: 3rem;
  transform: translateX(-100rem);transition: .5s;
}
.top_service_1_text2{font-family: var(--font-JP3);letter-spacing: 0;}

#top_service_1_btn_2{background-color: var(--color-black);color: var(--color-white);}
#top_service_1_btn_2,#top_service_1_btn_3,#top_service_1_btn_4{transform: translateX(-100rem);transition: transform 0.5 ease !important;}
.top_btn_view{transform: translateX(0) !important;}
/* Slide left Fix End */


#top_service_item_r{position: relative;top: 0;right: 0;
  width: 100%;height: 300vh;max-height: unset;overflow: hidden;
  display: flex;flex-direction: column;justify-content: flex-start;align-items: center;
  transform: translateY(0);
}
.top_service_r_inner{position: relative;white-space: nowrap;width: 100%;gap: 5rem;
  display: flex;flex-direction: column;justify-content: space-between;align-items: center;
}
/* Slide Right Scroll 1 */
#top_service_2{position: relative;top: 0;left: 0;
  width: 100%;height: 100vh;max-height: unset;padding: 10rem 5rem 10rem 0;
  display: flex;flex-direction: column;justify-content: center;align-items: center;
}
.top_service_2_text_block{position: relative;top: 0;left: 0;gap: 1rem;
width: auto;height: auto;margin: 0;padding: 0;
display: flex;flex-direction: column;justify-content: flex-start;align-items: center;
}
.top_service_2_text{font-family: var(--font-JP5);font-size: 1.5rem;line-height: 2;font-weight: 500;letter-spacing: .1rem;
  text-align: center;margin-top: 3rem;}
.top_service_2_title{font-size: 5.1rem;font-family: var(--font-JP1);}
.top_service_2_logo{width: 20%;margin: 0 auto;margin-top: 2rem;}
.top_service_2_text_hide{opacity: 0;pointer-events: none;font-size: 1.2rem;}
/* Slide Right Scroll 1 End */

/* Slide Right Scroll 2 */
#top_service_3{position: relative;top: 0;left: 0;
  width: 100%;height: 100vh;max-height: unset;padding: 10rem 5rem 10rem 0;
  display: flex;flex-direction: column;justify-content: center;align-items: center;
  color: var(--color-black);text-align: center;
}

.top_service_3_title{position: relative;
  width: 100%;
  display: flex;flex-direction: column;justify-content: center;align-items: center;gap: 0rem;
}
.top_service_3_title_1{font-family: var(--font-EN1);font-size: 4.2rem;line-height: 1.6;font-weight: 500;letter-spacing: .2rem;}
.top_service_3_title_2{font-family: var(--font-JP5);font-size: 4rem;line-height: 1.6;font-weight: 500;margin-top: 5rem;}

.top_service_3_top{position: relative;
  width: 100%;height: auto;
  display: flex;justify-content: center;align-items: stretch;gap: 1rem;
}
.top_service_3_top_item{position: relative;
  width: 100%;height: auto;
  display: flex;flex-direction: column;justify-content: flex-start;align-items: center;gap: 1rem;
}
.top_service_3_top_arrow{position: relative;
  width: 10%;display: flex;
}
.top_service_3_bottom{position: relative;
  width: 100%;padding: 0 4rem;margin-top: 3rem;margin-bottom: 5rem;
}
.top_service_3_top_arrow img{max-width: 150%;width: 0%;}
.top_service_3_top_title{font-family: var(--font-JP5);font-size: 2rem;line-height: 1.6;font-weight: 500;}
.top_service_3_top_text{font-family: var(--font-JP5);font-size: 1.2rem;line-height: 1.6;font-weight: 500;text-align: center;}

.top_service_3_bottom_text{font-family: var(--font-JP5);font-size: 1.2rem;line-height: 1.6;font-weight: 500;margin-top: 0rem;}
/* Slide Right Scroll 2 End */

/* Slide Right Scroll 3 */
#top_service_4{position: relative;top: 0;left: 0;
  width: 100%;height: 100vh;max-height: unset;padding: 10rem 5rem 10rem 0;
  display: flex;flex-direction: column;justify-content: center;align-items: center;
  color: var(--color-black);text-align: center;
}

.top_service_4_title{position: relative;
  width: 100%;
  display: flex;flex-direction: column;justify-content: center;align-items: center;gap: 0rem;
}
.top_service_4_title_1{font-family: var(--font-EN1);font-size: 4.2rem;line-height: 1.6;font-weight: 500;letter-spacing: .2rem;}
.top_service_4_title_2{font-family: var(--font-JP5);font-size: 4rem;line-height: 1.6;font-weight: 500;margin-top: 5rem;}

.top_service_4_block{position: relative;width: 100%;gap: 1rem;
  display: flex;flex-direction: column;justify-content: center;align-items: center;}
.top_service_4_row{position: relative;
  width: 100%;height: auto;margin: 0;padding: 0 4rem;margin-bottom: 1rem;
  display: flex;justify-content: stretch;align-items: stretch;gap: 1rem;
}
.top_service_4_item{position: relative;cursor: pointer;opacity: 0;
  width: 100%;height: auto;margin: 0;aspect-ratio: 1/1;
  display: flex;flex-direction: column;justify-content: center;align-items: center;gap: .5rem;
  border: solid 1px var(--color-black);transition-duration: .5s;
}
.horizo_4_case{font-family: var(--font-EN1);font-size: 1.2rem;line-height: 1.6;font-weight: 500;letter-spacing: .3rem;text-transform: uppercase;margin-top: 10%;color: var(--color-red);}
.top_service_4_text{font-family: var(--font-JP5);font-size: 1.5rem;line-height: 1.6;font-weight: 500;text-align: center;}
.top_service_4_item:hover{background-color: var(--color-black);color: var(--color-blackhover);transition-duration: .5s;}

.top_service_4_item_border_r{border-right: none;}
.top_service_4_item_border_t{border-top: none;}


.top_service_4_item_hide{opacity: 0;pointer-events: none;}

/* ************************************ Top Page Slide Section End ************************************ */

/* ************************************ Top Material Section ************************************ */
.top_about_container{position: relative;
  width: -webkit-fill-available;height: 300vh;max-width: unset;max-height: unset;
  display: flex;flex-direction: column;
  background-color: var(--color-white);
}

/* Material Sticky */
.top_about_material{position: sticky;top: 0;left: 0;z-index: 0;
  width: -webkit-fill-available;height: 100vh;max-width: unset;max-height: unset;padding: 0 1rem;padding-bottom: 0rem;
  display: flex;flex-direction: column;justify-content: center;align-items: center;gap: 0rem;
  background-color: var(--color-white);
}
.top_about_material *{  --color-select: #fff;
  --color-select2: #000;
}
.top_about_material_content{position: relative;width: 60%;
  display: flex;flex-direction: column;justify-content: center;align-items: flex-start;gap: 2rem;
}
.top_about_material_container{position: relative;
  width: -webkit-fill-available;height: auto;max-width: unset;max-height: unset;
}

.top_about_material_title{color: var(--color-black);font-family: var(--font-EN1);font-size: 12rem;
  line-height: 1.6;font-weight: 700;letter-spacing: .5rem;margin-bottom: 5rem;}

.top_about_material_1{position: relative;width: -webkit-fill-available;text-wrap: nowrap;
  display: flex;flex-direction: column;justify-content: flex-start;align-items: center;gap: 2rem;
}
.top_about_material_title_2{color: var(--color-black);font-family: var(--font-JP4);font-size: 7rem;line-height: 1;white-space: nowrap;}
.top_about_material_title_3{color: var(--color-black);font-family: var(--font-EN1);font-size: 1.5rem;line-height: 1;font-weight: 700;letter-spacing: .1rem;white-space: nowrap;}
.top_about_material_2{position: relative;width: -webkit-fill-available;}
.top_about_material_text{color: var(--color-black);font-family: var(--font-JP5);font-size: 1.2rem;line-height: 1.6;font-weight: 500;}
.top_about_material_3{position: relative;width: -webkit-fill-available;height: auto;}
.top_about_material_text_2{color: var(--color-black);font-family: var(--font-JP5);font-size: 1rem;line-height: 1.6;font-weight: 500;}
/* Material Sticky End */

/* Material Select */
.top_about_select{position: sticky;top: 0;z-index: 1;margin-top: 50vh;overflow: hidden;
  width: -webkit-fill-available;flex-direction: column;height: 100vh;max-width: unset;max-height: unset;
  display: flex;
  color: var(--color-white);
}
.top_about_left,.top_about_right{position: relative;z-index: 1;overflow: hidden;
  width: 50vw;height: 100%;
  display: flex;align-items: center;
}
.top_about_left{justify-content: flex-start;}
.top_about_right{justify-content: flex-end;}
.top_about_left_title_block,.top_about_right_title_block{position: relative;z-index: 1;white-space: nowrap;
  width: 50vw;height: 100%;
  display: flex;flex-direction: column;justify-content: center;align-items: center;gap: 2rem;cursor: pointer;
  background-color: var(--color-dark50);
  -webkit-transition: background-color .3s linear;
  -ms-transition: background-color .3s linear;
  transition: background-color .3s linear;
}
.top_about_left_title_block:hover{background-color: var(--color-dark00) !important;
  -webkit-transition: background-color .3s linear;
  -ms-transition: background-color .3s linear;
  transition: background-color .3s linear;
}
.top_about_right_title_block:hover{background-color: var(--color-dark00) !important;
  -webkit-transition: background-color .3s linear;
  -ms-transition: background-color .3s linear;
  transition: background-color .3s linear;
}
/* Material Select Inner */
.top_about_left_text_block,.top_about_right_text_block{position: relative;z-index: 1;overflow: hidden;
  width: 0;height: 100%;white-space: nowrap;flex-wrap: wrap;
  display: flex;flex-direction: column;justify-content: center;
  background-color: var(--color-dark50);
}
.top_about_left_text_block{align-items: flex-start;}
.top_about_right_text_block{align-items: flex-end;}
.top_about_text_inner{position: relative;z-index: 1;overflow: hidden;opacity: 0;
  width: fit-content;height: auto;padding: 3rem 4rem;
  display: flex;flex-direction: column;justify-content: center;align-items: flex-start;gap: 2rem;
}
.top_about_arrow_left,.top_about_arrow_right{width: 8rem;height: 8rem;fill: var(--color-white);stroke: var(--color-white);transition: .3s !important;
}
@keyframes arrow_role{from {transform: rotate(0deg);}
  to {transform: rotate(180deg);fill: var(--color-red);stroke: var(--color-red);}}
@keyframes arrow_back{from {transform: rotate(180deg);}
  to {transform: rotate(0deg);fill: var(--color-white);stroke: var(--color-white);}}

.top_about_left_title_block:hover .top_about_arrow_left{fill: var(--color-red) !important;stroke: var(--color-red) !important;transition: .3s !important;}
.top_about_right_title_block:hover .top_about_arrow_right{fill: var(--color-red) !important;stroke: var(--color-red) !important;transition: .3s !important;}
.top_about_text_block{position: relative;z-index: 1;
  width: 100%;
  display: flex;flex-direction: column;justify-content: flex-start;align-items: flex-start;gap: 2rem;
}
.top_about_text_item{position: relative;z-index: 1;
  width: fit-content;
  display: flex;flex-direction: column;justify-content: flex-start;align-items: flex-start;gap: 1rem;
}

.top_about_left_video,.top_about_right_video{position: absolute;top: 0;z-index: 0;
  width: 100%;height: 100%;
}
.top_about_left_video_item,.top_about_right_video_item{position: relative;width: 100%;height: 100%;object-fit: cover;z-index: 0;}

/* Material Select Font */
.top_about_title1{font-family: var(--font-JP4);font-size: 6rem;line-height: 1;text-align: center;}
.top_about_title2{font-family: var(--font-EN1);font-size: 3rem;line-height: 1;font-weight: 500;letter-spacing: .5rem;text-align: center;}
.top_about_title3{font-family: var(--font-JP4);font-size: 2.5rem;line-height: 1;}
.top_about_text{font-family: var(--font-JP5);font-size: 1.5rem;line-height: 2;font-weight: 500;letter-spacing: .1rem;}
/* ************************************ Top Material Section End ************************************ */

/* ************************************ Top Product ************************************ */

.top_product_container{position: relative;z-index: 1;
  width: -webkit-fill-available;height: auto;max-width: unset;max-height: unset;padding: 15rem 0;margin: 0;padding-top: 30rem;
  display: flex;flex-direction: column;justify-content: center;align-items: center;gap: 20rem;
  background-color: var(--color-black);color: var(--color-white);text-align: left;
}
.top_product_item_block{position: relative;overflow: hidden;
  width: -webkit-fill-available;height: auto;max-width: unset;max-height: unset;padding: 0;margin: 0;
}
.top_product_item_move{position: relative;
  width: -webkit-fill-available;height: auto;max-width: unset;max-height: unset;padding: 0;margin: 0;
  display: flex;justify-content: center;align-items: center;gap: 0;
}
.top_product_text_block{position: relative;
  width: 100%;height: auto;max-width: unset;max-height: unset;padding: 0 4rem;margin: 0 5rem;
  display: flex;flex-direction: column;justify-content: center;align-items: flex-start;
}
.top_product_photo_block,.top_product_video_block{position: relative;pointer-events: none;
  width: 70%;height: auto;max-width: unset;max-height: unset;padding: 0;margin: 0;aspect-ratio: 3/2;transition: width .5s;
}
.top_product_photo,.top_product_video{position: relative;pointer-events: none;
  width: 100%;height: auto;object-fit: cover;aspect-ratio: 3/2;
}

/* Product 1cm action */
.top_product_action_block{position: absolute;top: 0;overflow: hidden;pointer-events: none;
  width: -webkit-fill-available;height: 100%;max-width: unset;max-height: unset;padding: 0;margin: 0;
  display: flex;justify-content: center;align-items: center;
}
.top_product_action_item{position: relative;pointer-events: none;
  width: -webkit-fill-available;height: -webkit-fill-available;max-width: unset;max-height: unset;padding: 0;margin: 0;
  display: flex;justify-content: center;align-items: center;
}
.top_product_action_inner{position: absolute;top: auto;bottom: auto;right: auto;left: auto;
  width: 10rem;height: 10rem;margin: 0;padding: 0;opacity: 1;
  display: flex;justify-content: center;align-items: center;
  background-color: var(--color-dark70);transition: .5s;
}
#top_product_item_1 .top_product_action_inner,#top_product_item_3 .top_product_action_inner{margin-left: 50%;}
#top_product_item_2 .top_product_action_inner,#top_product_item_4 .top_product_action_inner{margin-right: 50%;}
.top_product_action_inner_plus{position: relative;
  width: -webkit-fill-available;height: -webkit-fill-available;
  display: flex;justify-content: center;align-items: center;
}
.top_product_action_inner_plus_1,.top_product_action_inner_plus_2{position: absolute;top: auto;bottom: auto;right: auto;left: auto;
  width: 4rem;height: 1px;
  background-color: var(--color-white);transition: .5s;
}
.top_product_action_inner_plus_1{transform: rotateZ(0deg);}
.top_product_action_inner_plus_2{transform: rotateZ(90deg);}
.top_product_action_outner{position: absolute;top: auto;bottom: auto;right: auto;left: auto;overflow: hidden;
  width: 100%;height: 100%;margin: 0;padding: 0;pointer-events: none;
}
.top_product_action_outner_cover{position: absolute;top: 0;left: 0;pointer-events: none;
  width: -webkit-fill-available;height: -webkit-fill-available;padding: 0;margin: 0;
  object-fit: cover;opacity: 0;transition: .5s;
}
.top_product_action_actived .top_product_action_outner_cover{opacity: 1;transition: .5s;}
.top_product_action_actived .top_product_action_inner_plus_1,.top_product_action_actived .top_product_action_inner_plus_2 {width: 0;transition: .5s;}
.top_product_action_actived .top_product_action_inner{width: 100%;height: 100%;opacity: 0;transition: .5s;}

/* Product Font */
.top_product_title{font-family: var(--font-JP4);font-size: 4rem;line-height: 2;}
.top_product_sub{font-family: var(--font-JP5);font-size: 1.2rem;line-height: 2;font-weight: 500;}
.top_product_text{font-family: var(--font-JP5);font-size: 1.5rem;line-height: 1.6;font-weight: 500;}

#top_product_item_1,#top_product_item_3{margin-left: 10rem;transform: translateX(30%);opacity: 0;}
#top_product_item_2,#top_product_item_4{margin-right: 10rem;transform: translateX(-30%);opacity: 0;}


/* ************************************ Top Product End ************************************ */


/* ************************************ Top Table ************************************ */
.top_table_container{position: relative;z-index: 1;
  width: -webkit-fill-available;height: auto;max-width: unset;max-height: unset;padding: 5rem 1rem;margin: 0;
  display: flex;flex-direction: column;justify-content: center;align-items: flex-start;gap: 5rem;
  background-color: var(--color-black);color: var(--color-white);text-align: left;
}
.table_grid{display: none;}
.m_table_grid{position: relative;z-index: 1;
  width: -webkit-fill-available;height: auto;max-width: unset;max-height: unset;
  display: grid;grid-template-columns: auto auto auto auto auto auto auto auto auto auto auto;
  gap:1px;background-color: var(--color-white30);justify-items: center;
  padding: 1px;
}
.table_grid_item_1 {
  grid-row: 1 / span 1;
  grid-column: unset;
}
.table_grid_item_2 {
  grid-row: 1 / span 2;
  grid-column: unset;
}
.table_grid_item_3 {
  grid-column: 2 / span 1;
  grid-row: 11 / span 9;
}
.table_grid_item_4 {
  grid-column: 3 / span 1;
  grid-row: 12 / span 8;
}
.table_grid_item_5 {
  grid-column: 4 / span 1;
  grid-row: 16 / span 4;
}
.table_grid_item_6 {
  grid-row: unset;
  grid-column: unset;
}
.table_grid_item_7 {
  grid-row: 1 / span 1;
  grid-column: 1 / span 1;
}

.m_table_grid div,.table_grid div{width: -webkit-fill-available;background-color: var(--color-black);
  display: flex;justify-content: center;align-items: center;
}

.table_grid p,.m_table_grid p{text-wrap: nowrap;font-family: var(--font-JP5);font-size: 1.5rem;line-height: 1.6;font-weight: 500;
  background-color: var(--color-black);color: var(--color-white);
  width: -webkit-fill-available;text-align: center;padding: .2rem;vertical-align: middle;
}
.m_table_grid p{font-size: 1.3rem;}
.m_table_grid div p,.table_grid div p{background-color: unset;}


.top_table_title_1{font-family: var(--font-JP5);font-size: 3.5rem;line-height: 1.6;}
.top_table_title_2{font-family: var(--font-JP5);font-size: 2.5rem;line-height: 1.6;font-weight: 500;}

.table_note{font-family: var(--font-JP5);font-size: 1.5rem;line-height: 1.6;font-weight: 500;}

/* ************************************ Top Table End ************************************ */








/* ************************************ Top Quality ************************************ */

.top_quality_container{position: relative;z-index: 1;
  width: -webkit-fill-available;height: auto;padding: 15rem 4rem;
  display: flex;flex-direction: column;justify-content: center;align-items: flex-start;gap: 2rem;
  background-color: var(--color-black);color: var(--color-white);text-align: left;
}
.top_quality_text_block{width: 100%;}
.top_quality_title_block,.top_quality_text_block{position: relative;
  padding: 0;margin: 0;
  display: flex;flex-direction: column;justify-content: space-between;align-items: flex-start;gap: 2rem;
}
.top_quality_text_block_photo{width: 100%;aspect-ratio: 16/10;overflow: hidden;display: flex;justify-content: center;align-items: center;}
.top_quality_text_block_photo *{width: 100%;height: 100%;object-fit: cover;}
.top_quality_text_block_under{margin: 1rem 0;width: 100%;height: 1px;background-color: var(--color-white);}
.top_quality_text_line{position: relative;cursor: pointer;
  width: auto;height: auto;padding: 0;margin: 0;border-bottom: solid 1px var(--color-white);
  display: flex;justify-content: flex-start;align-items: center;gap: 1rem;
}
.top_quality_text_URL{position: relative;
  width: 1.2rem;height: auto;object-fit: cover;
  fill: none;stroke: var(--color-white);stroke-miterlimit: 10;transition: .3s;
}
.top_quality_text_line:hover .top_quality_text_URL{stroke: var(--color-red);transition: .3s;}
.top_quality_text_btn_a{width: auto;position: relative;overflow: hidden;}
.top_quality_text_btn{position: relative;margin-top: 2rem;cursor: pointer;scale: 1;
  width: auto;height: calc(1.2rem * 6);object-fit: cover;transition: scale .5s;
}
.top_quality_text_btn:hover{scale: 1.05;transition: scale .5s;}

.top_quality_title_1{font-family: var(--font-EN1);font-size: 4rem;line-height: 1.6;font-weight: 500;letter-spacing: .3rem;}
.top_quality_title_2{font-family: var(--font-JP2);font-size: 6rem;line-height: 1.6;margin-top: 2rem;}
.top_quality_title_3{font-family: var(--font-JP2);font-size: 3.5rem;line-height: 1.6;text-wrap: nowrap;}
.top_quality_title_text{font-family: var(--font-JP5);font-size: 1.5rem;line-height: 2;font-weight: 500;}
.top_quality_title_text_2{font-family: var(--font-JP5);font-size: 1.2rem;line-height: 1.6;font-weight: 500;}
.top_quality_text_text{font-family: var(--font-JP5);font-size: 1.5rem;line-height: 2;font-weight: 500;}
.top_quality_text_text_1{display: flex;align-items: center;flex-direction: row;gap: 1rem;width: 100%;justify-content: flex-start;}
.top_quality_text_text_1 p{text-wrap: nowrap;}
.top_quality_text_text_2{display: flex;align-items: flex-start;flex-direction: column;gap: 2rem;}
.top_quality_text_text_3{padding: .5rem 1rem;border: solid 1px var(--color-white);transition: color .3s ease, border .3s ease;}

/* ************************************ Top Quality End ************************************ */



/* ************************************ Top Flow ************************************ */
.top_flow_container{position: relative;z-index: 1;
  width: -webkit-fill-available;height: auto;padding: 15rem 1rem;gap: 10rem;
  display: flex;flex-direction: column;justify-content: center;align-items: flex-start;
  background-color: var(--color-black24);color: var(--color-white);text-align: left;
}
.top_flow_title_block{position: relative;
  width: auto;height: auto;padding: 0 3rem;margin: 0;
  display: flex;flex-direction: column;justify-content: flex-start;align-items: flex-start;gap: 1rem;
  transform: translateX(-200%);
}
.top_flow_block{position: relative;overflow: hidden;
  width: 100%;height: auto;
  display: flex;flex-direction: column;justify-content: flex-start;align-items: flex-start;gap: 0;
}
.top_flow_title_text_block{position: absolute;bottom: 0;right: 4rem;
  width: auto;height: auto;
  display: flex;flex-direction: column;justify-content: flex-start;align-items: flex-start;gap: 0;
}

/* Top Flow step title */
.top_flow_title_row{position: relative;cursor: pointer;
  width: -webkit-fill-available;height: auto;
  display: flex;justify-content: flex-start;align-items: center;gap: 1rem;
  transform: translateY(2000%);
}
.top_flow_title_row_number{position: relative;
  width: 5rem;height: 5rem;aspect-ratio: 1/1;
  display: flex;justify-content: center;align-items: center;
  background-color: var(--color-black);border: 1px solid var(--color-white);border-radius: 50rem;
  transition: .5s;
}
.top_flow_title_row_text{position: relative;
  width: -webkit-fill-available;height: auto;
  display: flex;justify-content: flex-start;align-items: center;
  transition: .5s;
}
.top_flow_title_row:hover .top_flow_title_row_number{background-color: var(--color-white);color: var(--color-red);
  transition: .5s;
}
.top_flow_title_row_active .top_flow_title_row_number{
  background-color: var(--color-white);color: var(--color-red);
  transition: .5s;
}

/* Top Flow step inner */
.top_flow_show_row{position: relative;overflow: hidden;
  width: -webkit-fill-available;height: auto;min-height: 5rem;
  display: flex;justify-self: flex-start;align-items: stretch;gap: 1rem;
  transform: translateY(2000%);
}
.top_flow_show_line_block{position: relative;overflow: hidden;
  width: 5rem;height: auto;min-width: 5rem;
  display: flex;justify-content: center;align-items: flex-start;
}
.top_flow_show_line{position: relative;
  width: 1px;height: 100%;background-color: var(--color-white);
}

.top_flow_show_text_block{position: relative;overflow: hidden;
  width: -webkit-fill-available;height: auto;padding: 2rem 0;
  display: flex;justify-content: flex-start;align-items: center;
}
.top_flow_show_text_grid{
  display: grid;grid-template-rows: 1fr;margin: 0;padding: 0;padding-top: 3rem;padding-bottom: 5rem;
  transition: grid-template-rows 0.5s;
  -webkit-transition: grid-template-rows 0.5s;
  -ms-transition: grid-template-rows 0.5s;
}
.top_flow_show_text_flex{position: relative;overflow: hidden;
  width: -webkit-fill-available;flex-direction: column;height: auto;padding: 0;margin: 0;margin-right: 3rem;
  display: flex;justify-content: space-around;align-items: flex-start;gap: 2rem;
}
.top_flow_show_text_iconLine{position: relative;
  display: flex;gap: 2rem;justify-content: flex-start;align-items: center;
}
.top_flow_show_text_image{position: relative;
  display: flex;justify-content: center;align-items: center;
}
.top_flow_show_text_image_img{position: relative;
  width: 100%;height: auto;padding: 0;margin: 0;
}
.top_flow_show_text_drop{position: relative;overflow: hidden;
  width: 100%;height: 100%;padding: 0;margin: 0;
  display: flex;flex-direction: column;justify-content: flex-start;align-items: flex-start;gap: 2rem;
}

.top_flow_show_text_hide{grid-template-rows: 0fr !important;padding: 0;transition: .5s;}
/* Top Flow Font */
.top_flow_title_1{font-family: var(--font-EN1);font-size: 10rem;line-height: 1.2;letter-spacing: .5rem;word-spacing: 1rem;padding-bottom: 0;}
.top_flow_text{font-family: var(--font-JP5);font-size: 1.5rem;line-height: 1.6;font-weight: 500;}

.top_flow_title_row_btn{font-family: var(--font-EN1);font-size: 2rem;line-height: 1;}
.top_flow_row_text_title{font-family: var(--font-JP5);font-size: 2rem;line-height: 1;font-weight: 500;opacity: .5;transition: .3s;}
.top_flow_title_row:hover .top_flow_row_text_title{opacity: 1;}

.top_flow_show_text_text1{font-family: var(--font-JP5);font-size: 1.6rem;line-height: 2.5;font-weight: 500;}
.top_flow_show_text_text2{font-family: var(--font-JP5);font-size: 1.2rem;line-height: 1.6;font-weight: 400;}
.top_flow_show_text_btn{border-radius: 50rem;padding: 1rem 3rem;width: 20rem;
  font-family: var(--font-JP5);font-size: 1.5rem;line-height: 1.6;font-weight: 500;
  background-color: var(--color-black38);
  display: flex;justify-content: center;align-items: center;
  transition: .3s;cursor: pointer;
}

.btn_arrow_block{position: relative;overflow: hidden;transition: .3s;margin-left: 0rem;
  width: 0;height: auto;display: flex;align-items: center;justify-content: flex-start;
}
.btn_arrow{position: relative;top: 0;left: 0;
  width: 100%;height: 100%;
}

.top_flow_title_row_active .top_flow_row_text_title{opacity: 1;}
.top_flow_show_text_btn:hover{transition: .3s;}
.top_flow_show_text_btn:hover .btn_arrow_block{width: 1.5rem;transition: .3s;margin-left: 1rem;}
/* ************************************ Top Flow End ************************************ */

/* ************************************ Top FAQ ************************************ */
.top_faq_container{position: relative;overflow: hidden;
  width: -webkit-fill-available;height: auto;padding: 5rem 0rem;margin: 0;
  display: flex;flex-direction: column;justify-content: flex-start;align-items: center;gap: 0;
  background-color: var(--color-black24);color: var(--color-white);text-align: left;
}
.top_faq_inner{position: relative;overflow: hidden;
  width: -webkit-fill-available;height: auto;padding: 0;margin: 0;margin-top: 3rem;
  display: flex;flex-direction: column;justify-content: flex-start;align-items: center;gap: 1rem;
}
.top_faq_inner_item{position: relative;overflow: hidden;
  width: -webkit-fill-available;height: auto;padding: 2rem 4rem;margin: 0;
  display: flex;flex-direction: column;justify-content: flex-start;align-items: center;gap: 2rem;
  border-top: 1px solid var(--color-white);
}

.top_faq_inner_Q,.top_faq_inner_A_block{position: relative;overflow: hidden;
  width: -webkit-fill-available;height: auto;padding: 0;margin: 0;
  display: flex;justify-content: space-around;align-items: flex-start;gap: 1rem;
}
.top_faq_inner_big_A_line{position: relative;overflow: hidden;
  width: -webkit-fill-available;height: auto;padding: 0;margin: 0;
  display: flex;flex-direction: column-reverse;justify-content: space-around;align-items: flex-start;gap: 2rem;
}
.top_faq_inner_Q{cursor: pointer;}
.top_faq_inner_A{display: grid;grid-template-rows: 1fr;
  width: -webkit-fill-available;height: auto;margin: 0;padding: 0;
  transition: grid-template-rows 0.5s;
  -webkit-transition: grid-template-rows 0.5s;
  -ms-transition: grid-template-rows 0.5s;
}
.top_faq_inner_A_hide .top_faq_inner_A{grid-template-rows: 0fr !important;}
.top_faq_inner_A_hide .top_faq_inner_X_1{transform: rotateZ(0deg);transition: .5s;}
.top_faq_inner_A_hide .top_faq_inner_X_2{transform: rotateZ(90deg);transition: .5s;}



.top_faq_inner_text_block{position: relative;
  width: -webkit-fill-available;height: auto;padding: 0;margin: 0;
  display: flex;flex-direction: column;justify-content: flex-start;align-items: flex-start;gap: 2rem;
}

.top_faq_inner_photo{position: relative;overflow: hidden;
  width: 60%;height: auto;min-width: 30%;padding: 0;margin: 0;aspect-ratio: 1/1;
  display: flex;justify-content: center;align-items: stretch;
}
.top_faq_inner_photo *{position: relative;
  width: 100%;height: auto;padding: 0;margin: 0;object-fit: cover;
}
.top_faq_inner_Q .top_faq_inner_photo{display: none;}

.top_faq_inner_X{position: relative;
  width: 5rem;height: 5rem;min-width: 5rem;min-height: 5rem;padding: 0;margin: 0;aspect-ratio: 1/1;
  display: flex;justify-content: center;align-items: center;
}
.top_faq_inner_X_1{position: absolute;margin: auto;
  width: 4rem;height: 3px;transform: rotateZ(45deg);
  background-color: var(--color-white);transition: .5s;
}
.top_faq_inner_X_2{position: absolute;margin: auto;
  width: 4rem;height: 3px;transform: rotateZ(-45deg);
  background-color: var(--color-white);transition: .5s;
}


/* Top FAQ Font */
.top_faq_title_1{font-family: var(--font-EN1);font-size: 10rem;line-height: 1.6;letter-spacing: .5rem;word-spacing: 1rem;}
.top_faq_title_2{font-family: var(--font-JP5);font-size: 1.5rem;line-height: 1.6;font-weight: 500;}

.top_faq_inner_big{font-family: var(--font-EN1);font-size: 4rem;line-height: 1;text-align: left;letter-spacing: .5rem;word-spacing: 1rem;}

.top_faq_inner_text{font-family: var(--font-JP5);font-size: 1.5rem;line-height: 1.6;font-weight: 500;}
.top_faq_inner_btn{border-radius: 1rem;padding: 1rem 0rem;white-space: nowrap;
  width: 15rem;display: flex;flex-direction: row;justify-content: center;align-items: center;
  font-family: var(--font-EN1);font-size: 1.5rem;line-height: 1.6;letter-spacing: .2rem;
  background-color: var(--color-black38);border: 1px solid var(--color-white);
  transition: .3s;cursor: pointer;
}

.top_faq_inner_btn:hover{transition: .3s;}
.top_faq_inner_btn:hover .btn_arrow_block{width: 1.5rem;transition: .3s;margin-left: 1rem;}
/* ************************************ Top FAQ End ************************************ */




/* ************************************ Top Footer End ************************************ */

.top_footer_container{position: relative;overflow: hidden;
  width: -webkit-fill-available;height: auto;padding: 10rem 4rem;margin: 0;padding-bottom: 3rem;
  display: flex;flex-direction: column;justify-content: space-between;align-items: center;gap: 0rem;
  background-color: var(--color-black);color: var(--color-white);
}
.top_footer_company{position: relative;overflow: hidden;
  width: -webkit-fill-available;height: auto;padding: 0;margin: 10rem 0;
  display: flex;justify-content: space-between;align-items: center;gap: 1rem;
}
.top_footer_logo{position: relative;overflow: hidden;
  width: 30%;height: auto;padding: 0;margin: 0;
  display: flex;justify-content: center;align-items: center;
}
.top_footer_logo *{position: relative;overflow: hidden;
  width: 100%;height: auto;object-fit: cover;
}
.top_footer_company_block{position: relative;overflow: hidden;
  width: auto;height: auto;
  display: flex;flex-direction: column;justify-content: flex-start;align-items: flex-start;gap: 2rem;
}
.top_footer_company_line{position: relative;overflow: hidden;
  width: auto;height: auto;
  display: flex;flex-direction: column;justify-content: space-between;align-items: flex-start;gap: .5rem;
}
.top_footer_company_contact_btn img{width: 2rem;height: auto;}

.top_footer_sitemap_block{position: relative;overflow: hidden;
  width: 100%;height: auto;padding: 0;margin: 0;margin-top: 5rem;
  display: flex;flex-direction: column;justify-content: flex-start;align-items: center;gap: 10rem;
}
.top_footer_sitemap_group{position: relative;overflow: hidden;
  width: 100%;height: auto;padding: 0;margin: 0;
  display: flex;flex-direction: row;justify-content: flex-start;align-items: flex-start;gap: 10rem;
}
.top_footer_sitemap_line{position: relative;
  width: 100%;height: auto;padding: 0;margin: 0;
  display: grid;grid-template-columns: auto auto;gap: 3rem;justify-content: space-around;
}
.top_footer_sitemap_line_copy{position: relative;overflow: hidden;
  width: auto;height: auto;padding: 0;margin: 0;
  display: flex;flex-direction: column;justify-content: space-between;align-items: flex-start;gap: 1rem;
}
.top_footer_sitemap_a{position: relative;overflow: hidden;
  width: auto;height: auto;padding: .5rem;margin: 0;
  display: flex;justify-content: center;align-items: flex-start;gap: 1rem;
  cursor: pointer;
  border-bottom: 1px solid var(--color-white70);
}
.top_footer_sitemap_a_hover{position: absolute;bottom: 0;
  width: 0%;height: 1px;padding: 0;margin: 0;
  background-color: var(--color-white);transition: width .5s;
}
.top_footer_sitemap_a:hover .top_footer_sitemap_a_hover{width: 100%;transition: width .5s;}

.top_footer_sitemap_line_copy{margin: 0 auto;}
/* Top Footer Font */
.top_footer_company_address{font-family: var(--font-JP7);font-size: 1.2rem;line-height: 1.6;text-align: left;
  width: -webkit-fill-available;justify-content: flex-start;}
.top_footer_company_text{font-family: var(--font-JP7);font-size: 1.2rem;line-height: 1.6;text-align: left;}
.top_footer_company_text_2{font-family: var(--font-JP7);font-size: 1.2rem;line-height: 1.6;text-align: left;}
.top_footer_company_contact_btn{font-family: var(--font-JP7);font-size: 2rem;line-height: 1.6;text-align: left;
  margin: 0 auto;padding: .5rem 3rem;
  border: 1px solid var(--color-white);
  display: flex;justify-content: center;align-items: center;gap: 2rem;
  background-color: var(--color-black);transition: background-color .3s;cursor: pointer;
}
.top_footer_company_contact_btn:hover{background-color: var(--color-black24);transition: background-color .3s;}

.top_footer_sitemap_a_ja{font-family: var(--font-JP7);font-size: 1.5rem;line-height: 1.6;text-align: left;}
.top_footer_sitemap_a_en{font-family: var(--font-EN1);font-size: 1.5rem;line-height: 1.6;text-align: left;letter-spacing: .2rem;}
.top_footer_sitemap_copy{font-family: var(--font-JP7);font-size: 1rem;line-height: 1.6;text-align: left;margin-left: auto;}
/* ************************************ Top Footer End ************************************ */


/* ************************************ Top Page Slide Section Mobile ************************************ */
.m_top_service_container{position: relative;
  width: -webkit-fill-available;height: auto;padding: 10rem 0;margin: 0;padding-top: 20rem;
  display: flex;flex-direction: column;justify-self: flex-start;align-items: flex-start;gap: 0rem;
  background-image: linear-gradient(var(--color-white70), var(--color-white));color: var(--color-black);
}
#m_top_service_1{position: relative;
  width: -webkit-fill-available;height: auto;
  display: flex;flex-direction: column;justify-self: flex-start;align-items: center; margin-bottom: 3rem;
}
#m_top_service_2,#m_top_service_3,#m_top_service_4{position: relative;
  width: -webkit-fill-available;height: auto;padding: 20rem 0 0 0;margin: 0;
  display: flex;flex-direction: column;justify-self: flex-start;align-items: center;
}
#m_top_service_2{padding: 0;}
.m_top_service_3_top{position: relative;
  width: -webkit-fill-available;height: auto;padding: 0rem 4rem;margin: 0;
  display: flex;flex-direction: column;justify-self: flex-start;align-items: center;gap: 0rem;
}
.m_top_service_3_top_item{position: relative;
  width: -webkit-fill-available;height: auto;padding: 0rem 0rem;margin: 0;
  display: flex;flex-direction: row;justify-self: center;align-items: center;gap: 0rem;
}
.m_top_service_3_top_text_block{position: relative;
  width: 100%;
  display: flex;flex-direction: column;justify-self: flex-start;align-items: center;gap: .5rem;
}
.m_top_service_3_title,.m_top_service_4_title{position: relative;
  width: 100%;padding-bottom: 3rem;
  display: flex;flex-direction: column;justify-content: center;align-items: center;gap: 0rem;
}
.m_top_service_3_top_item img{width: 100%;}
.m_top_service_3_top_arrow{width: 15% !important;transform: rotateZ(90deg);}

.m_top_service_1_text{font-family: var(--font-EN1);width: -webkit-fill-available;padding: 0rem 1rem;
  font-size: 2rem;line-height: 1.6;font-weight: 500;letter-spacing: .2rem;text-align: center;
  background-color: var(--color-black);color: var(--color-white);
}
/* ************************************ Top Page Slide Section Mobile End ************************************ */

/* ************************************ Top Material Mobile************************************ */
.m_top_about_left,.m_top_about_right{position: relative;z-index: 1;overflow: hidden;
  width: -webkit-fill-available;height: 100%;
  display: flex;flex-direction: column;justify-content: center;align-items: center;
  background-color: var(--color-black);
}
.m_top_about_left_title_block,.m_top_about_right_title_block{position: relative;z-index: 1;
  width: 100%;height: 100%;
  display: flex;flex-direction: column;justify-content: center;align-items: center;gap: 2rem;cursor: pointer;
  background-color: var(--color-dark50);
  transition: background-color .3s linear;-ms-transition: background-color .3s linear;
  -webkit-transition: background-color .3s linear;
}
.m_top_about_left_text_block,.m_top_about_right_text_block{position: relative;z-index: 1;overflow: hidden;
  width: -webkit-fill-available;height: 0%;flex-wrap: wrap;padding: 0;
  display: flex;flex-direction: column;justify-content: flex-start;
  background-color: var(--color-dark50);
  transition: background-color .3s linear;-ms-transition: background-color .3s linear;
  -webkit-transition: background-color .3s linear;
}
.m_top_about_plus{position: relative;
  width: 4rem;height: 4rem;aspect-ratio: 1/1;margin: 0;padding: 0;
  display: flex;justify-content: center;align-items: center;
  border: 1px solid var(--color-white);border-radius: 50rem;transition: border .3s;
}
.m_top_about_plus_1,.m_top_about_plus_2,.m_top_about_plus_3{position: absolute;
  width: 2rem;height: 2px;padding: 0;margin: auto;
  background-color: var(--color-white);
  transition: background-color .3s linear;-ms-transition: background-color .3s linear;
  -webkit-transition: background-color .3s linear;
}
.m_top_about_plus_2,.m_top_about_plus_3{transform: rotateZ(90deg);}

/* ************************************ Top Material Mobile End ************************************ */



/* ************************************ Top Product Mobile ************************************ */
.m_top_product_container{position: relative;
  width: -webkit-fill-available;height: auto;padding: 20rem 0 0 0;margin: 0;
  display: flex;flex-direction: column;justify-content: flex-start;align-items: center;gap: 5rem;
  background-color: var(--color-black);color: var(--color-white);
}
.m_top_product_item_block{position: relative;
  width: -webkit-fill-available;height: auto;padding: 0;margin: 0;
  display: flex;flex-direction: column;justify-content: flex-start;align-items: center;gap: 5rem;
}
.m_top_product_item_move{position: relative;
  width: -webkit-fill-available;height: auto;;padding: 5rem 0rem;margin: 0;
  display: flex;flex-direction: column;justify-content: flex-start;align-items: center;gap: 2rem;
  background-color: var(--color-black24);
}
.m_top_product_item_move .top_product_text_block{align-items: center;}
.m_top_product_item_move .top_product_photo_block{pointer-events: unset;}
#m_top_product_item_1 .top_product_action_inner,#m_top_product_item_3 .top_product_action_inner{margin-left: 60%;}
#m_top_product_item_2 .top_product_action_inner,#m_top_product_item_4 .top_product_action_inner{margin-right: 60%;}

.m_top_product_action_actived .top_product_photo_block{width: 100%;}
.m_top_product_action_actived .top_product_action_inner_plus_1,
.m_top_product_action_actived .top_product_action_inner_plus_2{width: 0;}
.m_top_product_action_actived .top_product_action_inner{width: 100%;height: 100%;margin: 0;opacity: 0;}
.m_top_product_action_actived .top_product_action_outner_cover{opacity: 1;}


/* ************************************ Top Product Mobile End ************************************ */












/* ************************************ Contact Top ************************************ */
.contact_scroll_container{position: relative;overflow: hidden;
  width: 100%;height: auto;margin: 0;padding: 20rem 1rem 5rem 1rem;
  display: flex;flex-direction: column;justify-content: center;align-items: center;gap: 0;
  background-color: var(--color-black24);color: var(--color-white);
}
.contact_top_text_block{position: relative;
  width: 100%;height: auto;margin: 0;padding: 3rem 4rem;
  display: flex;flex-direction: column;justify-content: flex-start;align-items: flex-start;gap: 0;
  background-color: var(--color-black24);color: var(--color-white);
}

.contact_top_title_1{font-family: var(--font-JP5);font-size: 3rem;line-height: 1.5;text-align: center;font-weight: 500;}
.contact_top_title_2{font-family: var(--font-EN1);font-size: 10rem;line-height: 1.2;text-align: center;letter-spacing: .3rem;font-weight: 500;}
.contact_top_text{font-family: var(--font-JP5);font-size: 1.5rem;line-height: 1.6;text-align: left;font-weight: 500;}
.contact_top_text{font-family: var(--font-JP5);font-size: 1.5rem;line-height: 1.6;text-align: left;font-weight: 500;}
/* ************************************ Contact Top End ************************************ */

/* ************************************ Contact Select Box End ************************************ */
.contact_box_container{position: relative;
  width: 100%;height: auto;margin: 0;padding: 3rem 1rem;
  display: flex;flex-direction: column;justify-content: flex-start;align-items: flex-start;gap: 2rem;
  background-color: var(--color-black24);color: var(--color-white);
}
.contact_box_select{position: relative;
  width: auto;height: auto;margin: 0;padding: 0 3rem;flex-wrap: wrap;
  display: flex;flex-direction: row;justify-content: flex-start;align-items: center;gap: 2rem;
}
.contact_box_select_title_block{position: relative;
  width: 100%;height: auto;margin: 0;padding: 0;
  display: flex;flex-direction: column;justify-content: flex-start;align-items: flex-start;gap: 0;
}
.contact_box_select_title_btn{position: relative;cursor: pointer;opacity: .5;
  width: 100%;height: auto;margin: 0;padding: 1rem 3rem;
  display: flex;flex-direction: row;justify-content: flex-start;align-items: center;gap: 1rem;
  border: 1px solid var(--color-white);border-radius: 50rem;
  background-color: var(--color-black24);color: var(--color-white);
}
.contact_box_select_title_btn_circle{position: relative;
  width: 2rem;height: 2rem;aspect-ratio: 1/1;margin: 0;padding: 0;
  border: 1px solid var(--color-white);border-radius: 50rem;
}

.contact_box_block{position: relative;
  width: 100%;height: auto;margin: 0;padding: 3rem;
  display: flex;flex-direction: column;justify-content: flex-start;align-items: flex-start;gap: 0;
  border: 1px solid var(--color-white);background-color: var(--color-black24);color: var(--color-white);
}
/* .contact_box_block *,.contact_box_block{
  --color-white: #000;
  --color-black: #fff;
  --color-white30: rgba(0, 0, 0, 0.3);
} */
.contact_box_item{position: relative;
  width: 100%;height: auto;margin: 0;padding: 0;
  display: none;flex-direction: column;justify-content: flex-start;align-items: flex-start;gap: 0;
}
.contact_box_row{position: relative;
  width: 100%;height: auto;margin: 0;padding: 0;
  display: flex;flex-direction: column;justify-content: center;align-items: stretch;gap: 0;
}
.contact_box_row_check{position: relative;
  width: 100%;height: auto;margin: 0;padding: 5rem 0;
  display: flex;flex-direction: column;justify-content: center;align-items: stretch;gap: 1rem;
}
.contact_box_row_title_block{position: relative;
  width: 50%;height: auto;padding: 0;
  display: flex;flex-direction: row;justify-content: flex-start;align-items: center;gap: 0;
  border-bottom: 1px solid var(--color-white30);
}
.contact_box_row_input_block{position: relative;
  width: 100%;height: auto;padding: 2rem 1rem 2rem 1rem;
  display: flex;flex-direction: row;justify-content: flex-start;align-items: center;gap: 0;
  border-bottom: 1px solid var(--color-white);
}

.contact_box_row_select {position: relative;width: inherit;padding: 1rem 2rem;
  font-family: var(--font-JP5);font-size: 1.5rem;line-height: 1.6;text-align: left;font-weight: 300;
  -webkit-appearance: none;
  appearance: none;
  background-color: var(--color-black24);color: var(--color-white);
  border: 1px solid var(--color-white);outline: 0;
  background-image: linear-gradient(var(--color-white), var(--color-white)),
    linear-gradient(-135deg, transparent 50%, var(--color-white) 50%),
    linear-gradient(-225deg, transparent 50%, var(--color-white) 50%),
    linear-gradient(var(--color-white) 42%, var(--color-black24) 42%);
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
  background-size: 1px 0%, 40px 60%, 40px 60%, 40px 100%;
  background-position: right 20px center, right bottom, right bottom, right bottom;   
}
.contact_box_row_select:hover {background-color: var(--color-white);color: var(--color-black24);}
.contact_box_row_select:focus{background-color: var(--color-white);color: var(--color-black24);}

.contact_box_row_input{position: relative;width: 100%;padding: 1rem 2rem;
  font-family: var(--font-JP5);font-size: 1.5rem;line-height: 1.6;text-align: left;font-weight: 300;
  background-color: var(--color-black24);color: var(--color-white);
  border: 1px solid var(--color-white);outline: 0;
}
.contact_box_row_input:focus,.contact_box_row_input:hover{background-color: var(--color-white);color: var(--color-black24);}

.contact_1_checkbox{position: relative;cursor: pointer;
  width: 100%;height: auto;margin: 0;padding: 0;
  display: flex;flex-direction: row;justify-content: center;align-items: center;gap: 1rem;
}
.contact_1_upCheck{justify-content: flex-start;}

input[type="checkbox"] {opacity: .5;transition: .2s;
  -webkit-appearance: none;appearance: none;cursor: pointer;
  background-color: var(--color-white);
  width: 3rem;height: 3rem;margin: 0;
  border: 1px solid var(--color-white);border-radius: 0.15em;
  display: grid;place-content: center;
}
.contact_1_upCheck input[type="checkbox"]{width: 1.5rem;height: 1.5rem;}
input[type="checkbox"]::before {
  content: "";width: 2rem;height: 2rem;
  transform: scale(0);
  transition: .2s transform ease-in-out;
  box-shadow: inset 2rem 2rem var(--color-red);
}
.contact_1_upCheck input[type="checkbox"]::before {width: 1rem;height: 1rem;box-shadow: inset 1rem 1rem var(--color-red);}
input[type="checkbox"]:checked::before {
  transform: scale(1);
}
input[type="checkbox"]:checked{opacity: 1;}
.contact_1_checkbox_text{width: auto;transition: .2s;opacity: .5;position: relative;
  font-family: var(--font-JP5);font-size: 2rem;line-height: 1.6;text-align: left;font-weight: 500;cursor: pointer;
}
.contact_1_upCheck .contact_1_checkbox_text{font-size: 1.5rem;}
input[type="checkbox"]:checked + .contact_1_checkbox_text{opacity: 1;}
input[type="checkbox"]:hover + .contact_1_checkbox_text{opacity: 1;}
input[type="checkbox"]:hover{opacity: 1;}

.contact_1_checkbox_text_under{position: absolute;bottom: 0;left: 0;
  width: 0;height: 1px;background-color: var(--color-white);transition: width .5s;
}

input[type="checkbox"]:hover + .contact_1_checkbox_text .contact_1_checkbox_text_under{width: 100%;}
input[type="checkbox"]:checked + .contact_1_checkbox_text .contact_1_checkbox_text_under{width: 100%;}
.contact_1_hidden{display: none;}


.contact_box_row_submit{position: relative;padding: 1rem 10rem;cursor: pointer;margin-top: 5rem;
  font-family: var(--font-JP5);font-size: 3rem;line-height: 1.6;text-align: center;font-weight: 700;
  background-color: var(--color-black24);color: var(--color-white);
  border-radius: 4px;border: 1px solid var(--color-white);
  transition: .3s;
}
.contact_box_row_submit:hover{background-color: var(--color-white);color: var(--color-black);}

.contact_box_select_title_1{font-family: var(--font-JP5);font-size: 2rem;line-height: 1.6;text-align: left;font-weight: 500;}
.contact_box_select_title_2{font-family: var(--font-JP5);font-size: 1.2rem;line-height: 1.6;text-align: left;font-weight: 300;}

.contact_box_select_title_btn_text{font-family: var(--font-JP5);font-size: 2rem;line-height: 1.6;text-align: center;font-weight: 500;white-space: nowrap;}

.contact_box_select_title_btn:hover{opacity: 1;}
.contact_box_select_title_btn:hover .contact_box_select_title_btn_circle{background-color: var(--color-white);}

.contact_box_select_active .contact_box_select_title_btn_circle{background-color: var(--color-white);border: 1px solid var(--color-black);}
.contact_box_select_active{background-color: var(--color-white);color: var(--color-black);opacity: 1;}

.contact_box_row_title_1{font-family: var(--font-JP5);font-size: 2rem;line-height: 1.6;text-align: left;font-weight: 500;}
.contact_box_row_title_2{font-family: var(--font-JP5);font-size: 5rem;line-height: 1.6;text-align: center;width: 100%;font-weight: 700;}
.contact_box_row_title_3{font-family: var(--font-JP5);font-size: 1.2rem;line-height: 1.6;text-align: left;font-weight: 500;}
.contact_box_row_text{font-family: var(--font-JP5);font-size: 1.5rem;line-height: 1.6;text-align: left;font-weight: 500;}

.contact_1_checkbox_note{font-family: var(--font-JP5);font-size: 1.5rem;line-height: 1.6;text-align: left;font-weight: 500;}
.contact_1_checkbox_note2{font-size: 1rem;}
.contact_box_block_active{display: flex;}
.contact_1_checkbox_URL{text-decoration: underline !important;text-underline-offset: 4px;transition: .3s;}
.contact_1_checkbox_URL:hover{color: var(--color-red);transition: .3s;text-decoration:  underline var(--color-red);}
/* ************************************ Contact Select Box End ************************************ */

/* ************************************ Contact Conpany ************************************ */
.contact_company_container{position: relative;white-space: nowrap;
  width: 100%;height: auto;margin: 0;padding: 5rem 4rem;padding-top: 0;
  display: flex;flex-direction: column;justify-content: flex-start;align-items: center;gap: 2rem;
  background-color: var(--color-black24);color: var(--color-white);
}
.contact_company_item{position: relative;white-space: normal;
  width: fit-content;height: auto;
  display: grid;grid-template-columns: auto auto;
}
.contact_company_title{position: relative;
  width: 100%;padding: 1rem;border-bottom: 1px solid var(--color-white70);padding-right: 5rem;
  font-family: var(--font-JP5);font-size: 1.5rem;line-height: 1.6;text-align: left;font-weight: 500;
}
.contact_company_text{position: relative;
  width: 100%;padding: 1rem;border-bottom: 1px solid var(--color-white30);
  font-family: var(--font-JP5);font-size: 1.5rem;line-height: 1.6;text-align: left;font-weight: 500;
}
/* ************************************ Contact Conpany End ************************************ */

/* ************************************ Privacy Page ************************************ */
.privacy_text_container{position: relative;
  width: 100%;height: auto;margin: 0;padding: 5rem 4rem;
  display: flex;flex-direction: column;justify-content: flex-start;align-items: center;gap: 5rem;
  background-color: var(--color-black24);color: var(--color-white);
}
.privacy_text_item{position: relative;
  width: 100%;height: auto;margin: 0;
  display: flex;flex-direction: column;justify-content: flex-start;align-items: flex-start;gap: 1rem;
}
.privacy_text_title{position: relative;
  width: auto;height: auto;
  font-family: var(--font-JP5);font-size: 3rem;font-weight: 500;line-height: 1.6;
}
.privacy_text_text{position: relative;
  width: auto;height: auto;
  font-family: var(--font-JP5);font-size: 1.5rem;font-weight: 300;line-height: 1.6;
}
/* ************************************ Privacy Page End ************************************ */

/* ************************************ Mail Send Page ************************************ */
.contact_thank{position: relative;
  width: auto;height: auto;
  font-family: var(--font-JP5);font-size: 2.5rem;font-weight: 500;line-height: 3;
}
.contact_thank_a{position: relative;
  width: auto;height: auto;
  font-family: var(--font-JP5);font-size: 2rem;font-weight: 500;line-height: 2;
  text-decoration: underline !important; text-underline-offset: .7rem;transition: .3s;
}
.contact_thank_a:hover{color: var(--color-red);transition: .3s;}
/* ************************************ Mail Send Page End ************************************ */

/* ************************************ FAQ Page ************************************ */
.faq_container{position: relative;
  width: 100%;height: auto;margin: 0;padding: 5rem 1rem;
  display: flex;flex-direction: column;justify-content: start;align-items: start;gap: 2rem;
  background-color: var(--color-black24);color: var(--color-white);
}
.faq_menu{position: sticky;top: 10rem;left: 0;
  width: 20%;height: auto;max-height: 80vh;margin: 0;padding: 0;
  display: flex;flex-direction: column;justify-content: start;align-items: start;gap: 2rem;
}
.m_faq_menu{position: relative;
  width: 100%;height: auto;margin: 0;padding: 3rem 0;
  display: flex;flex-direction: column;justify-content: start;align-items: start;
  background-color: var(--color-black24);color: var(--color-white);
}
.m_faq_menu_a_block{position: relative;
  width: 100%;height: auto;margin: 0;padding: 5rem 3rem;
  display: grid;grid-template-columns: auto auto;gap: 2rem;justify-content: center;justify-items: center;column-gap: 5rem;
  background-color: var(--color-black38);border-radius: 8px;
}
.faq_menu_block{position: relative;
  width: 100%;height: auto;max-height: 70vh;margin: 0;padding: 2rem;
  display: flex;flex-direction: column;justify-content: start;align-items: start;gap: 1rem;
  background-color: var(--color-black38);border-radius: 8px;
}
.faq_menu_title_under{position: absolute;bottom: 0;left: 0;width: 0;height: 1px;background-color: var(--color-white);transition: width .3s;}

.faq_content_block{position: relative;
  width: 100%;height: auto;margin: 0;
  display: flex;flex-direction: column;justify-content: start;align-items: start;gap: 5rem;
}
.faq_content_item{position: relative;
  width: 100%;height: auto;margin: 0;padding: 5rem 1rem;
  display: flex;flex-direction: column;justify-content: start;align-items: start;gap: 1rem;
  background-color: var(--color-black38);border-radius: 8px;
}

.faq_btn_block{font-family: var(--font-JP5);font-size: 1.5rem;font-weight: 500;line-height: 1.6;position: relative;
padding: 1.5rem 2rem;width: 100%;text-align: center;
background-color: var(--color-black38);border-radius: 8px;transition: .3s;cursor: pointer;
}
.faq_btn_block:hover{background-color: var(--color-white);color: var(--color-black);transition: .3s;}

.faq_menu_title{font-family: var(--font-JP5);font-size: 3rem;font-weight: 500;line-height: 3;position: relative;}
.faq_menu_a{font-family: var(--font-JP5);font-size: 1.5rem;font-weight: 500;line-height: 1.6;position: relative;}
.faq_menu_a:hover .faq_menu_title_under{width: 100%;transition: width .3s;}
.m_faq_menu_a{font-family: var(--font-JP5);font-size: 1.5rem;font-weight: 500;line-height: 1.6;position: relative;
text-decoration: underline !important;text-underline-offset: .5rem;}

.faq_content_title{font-family: var(--font-JP5);font-size: 5rem;font-weight: 500;line-height: 1.6;margin: 0 auto;padding-bottom: 5rem;}
.faq_content_photo_1{margin: 0 auto;width: 70%;padding-bottom: 5rem;}
.faq_content_text{font-family: var(--font-JP5);font-size: 1.5rem;font-weight: 300;line-height: 1.6;}
/* ************************************ FAQ Page End ************************************ */
.show_up,.show_up2,.show_text_13{
  opacity: 0;
  transform: translateY(50px);
}

