@charset "utf-8";

@font-face {
    src: url("./resources/NotoSansJP-Light.woff") format("woff");
    font-family: "Noto Sans JP";
    font-style: normal;
    font-display: swap;
    font-feature-settings: "palt";
}

@font-face {
    src: url("./resources/NotoSansJP-Medium_select.woff") format("woff");
    font-family: "Noto Sans JPMS";
    font-style: normal;
    font-display: swap;
    font-feature-settings: "palt";
}

body {
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    margin: 0;
    background-color: #F2F2F2;
    height: 100%;
}

html, body {
    height: 100%;
}


footer{
    bottom: 0;
}

a{
    text-decoration:none; 
    font-family:"Noto Sans JP";
    font-weight: normal;
}

p{
    font-family:"Noto Sans JP";
    font-weight: normal;
}

h1{
    font-family:"Noto Sans JP";
    flex-direction: none;
    font-weight: normal;
}

h2{
    font-family:"Noto Sans JP";
    font-weight: normal;
    color: black;
}

ul{
  padding-left:0;
}

li{
  list-style:none;
}

ol{
  list-style:none;
}

.pc { display: block !important; }
.sp { display: none !important; }

/*HUMBERGER MENU ↓ --------------------------------------------------------------*/

/* ベーススタイル */
.hamburger-menu {
    position: relative;
}

#menu-btn-check {
    display: none;
}

.menu-btn {
    position: fixed;
    margin-top: 5px;
    right: 30px;
    display: flex;
    height: 50px; /* ハンバーガーの表示画面内の縦位置 */
    width: 50px;
    justify-content: center;
    align-items: center;
    z-index: 90; /* レイヤーの順番 */
    background-color: rgba(0, 0, 0, 0.2); /* ハンバーガーの背景の色 */
    border-radius: 15px;
    cursor: pointer;
}

.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
    content: '';
    display: block;
    height: 3px; /* ハンバーガーラインの太さ */
    width: 25px; /* ハンバーガーラインの長さ */
    border-radius: 3px;
    background: white; /* ハンバーガーライン色 */
    position: absolute;
}

.menu-btn span:before {
    bottom: 8px;
}

.menu-btn span:after {
    top: 8px;
}

#menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0); /* メニューオープン時ハンバーガーの真ん中の線を透明にする */
}

#menu-btn-check:checked ~ .menu-btn span:before {
    bottom: 0;
    transform: rotate(45deg); /* ハンバーガーをクロスさせる角度 */
}

#menu-btn-check:checked ~ .menu-btn span:after {
    top: 0;
    transform: rotate(-45deg); /* ハンバーガーをクロスさせる角度 */
}

/* メニューのスタイル */
.menu-content {
    position: fixed;
    top: 0;
    right: 0;
    width: 0;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.9);
    overflow-y: scroll;
    transition: width 0.3s ease;
    z-index: 80;
    list-style: none;
}

.menu-content nav ul {
    list-style: none;
    width: 80%;
    padding: 20px;
    margin-left: 5vw;
    display: flex;
    flex-direction: column;
    align-items: left;
    justify-content: center;
    height: 100%;
}

.menu-content nav ul li {
    margin: 12px 0;
    text-align: left;
}

.menu-content nav ul li a {
    color: #C2B4FD;
    text-decoration: none;
    font-size: 25px;
    letter-spacing: .15rem;
    transition: color 0.3s ease;
}

.menu-content nav ul li a:hover {
    color: #AD9AFD; /* トマト色 */
}

.menu-content nav ul li a .name_comment {
    display: block;
    font-size: 15px;
    letter-spacing: .1rem;
    margin-top: 5px;
    color: #fff;
}

#menu-btn-check:checked ~ .menu-content {
    width: 100%; /* 画面全体をカバー */
}

@media (min-width: 768px) {
    .menu-btn {
        width: 50px;
        height: 50px;
    }
    .menu-btn span, .menu-btn span:before, .menu-btn span:after {
        height: 3px;
    }
}

/*HUMBERGER MENU ↑ --------------------------------------------------------------*/

/*MOVIE ↓ ---------------------------------------------------------------------*/

section.home-video-section {
  position: fixed;
  overflow: hidden;
  width: 105%;
  height: 1000px;
  z-index: -10;
  top: 0;
}

section.home-video-section video {
  position: absolute;
  overflow: hidden;
  min-width: 100%;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

section.home-video-section .overlay {
  position: absolute;
  overflow: hidden;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-image: linear-gradient(45deg, rgba(0,0,0,0.6) 50%, rgba(0,0,0,0.2) 50%);
  background-size: 1px 1px;
}

.content .wp-video {
  display: block;
  position: relative;
  overflow: hidden;
  width: 90% !important;
  height: auto !important;2
  /*aspect-ratio: 16 / 9;*/
  padding-top: 56.25%;
  margin: 30px auto;
}

.content .wp-video-shortcode {
  position: absolute;
  width: 100% !important;
  height: 100% !important;
  top: 0;
  left: 0;
}

.content .wp-video {
  width: 100% !important;
}

@media(max-width: 768px) {
  section.home-video-section {
    height: 500px;
  }
  video {
    height: 500px;
  }
  .overlay {
    height: 500px;
  }
  section.home-main-section {
    height: 500px;
  }
  .home-main-heading {
    width: 80vw;
  }
}

@media(max-width: 980px) {
  section.home-video-section {
    /*aspect-ratio: unset;*/
    padding-top: 0;
    height: 600px;
  }
  video {
    /*aspect-ratio: unset;*/
    padding-top: 0;
    height: 600px;
  }
  .overlay {
    /*aspect-ratio: unset;*/
    padding-top: 0;
    height: 600px;
  }
  section.home-main-section {
    /*aspect-ratio: unset;*/
    padding-top: 0;
    height: 600px;
  }

}

/*MOVIE ↑ ----------------------------------------------------*/

.dec{
    width: 150px;
    z-index: 1;
    margin-left: 5%;
    margin-top:  -3px;
    position: absolute;
}

.copy_ninchi{
    width: 1320px;
}

.bic_title{
    position: relative;
    z-index: 10;
    display: flex;
    justify-content: center;
    margin-top: -1140px;
}

.bic_title img{
    position: absolute;
    z-index: 10;
    display: flex;
    justify-content: center;
    width: 57vw;
}

.bic_title_sm{
   display:none;
}

.bic_title_color{
   display:none;
}

.copy_toha p{
    font-family: Noto Sans JP;
    font-size: 40px;
    color: white;    
}

/*News ↓ -----------------------------------------------------------------------*/

.card_box_news{
    display: flex;
    flex-wrap: wrap;   
    justify-content: center;  
    margin-top: 200px;
    margin-bottom: 200px;
    background-color: #F2F2F2;

}

.news_info{
    display: flex;
    justify-content: center;   
    flex-direction: column;
    margin: -210px 30px 300px 30px; 

}

.news_box{
    display: flex;
    justify-content: center;    

}

.news_box a{
    font-family: Noto Sans JP;
    font-size: 20px;
    color: white;    

}
.news_box a:hover {

    color: greenyellow;    

}

@media screen and (min-width: 1000px) {

.news_info{
    display: flex;
    justify-content: center;   
    flex-direction: column;
    margin: -190px 30px 300px 30px; 

}

}

/*News ↑ -----------------------------------------------------------------------*/

/*-----------------------------------------------------------------------CARD*/

.card_box{
    display: flex;
    flex-wrap: wrap;   
    justify-content: center;  
    margin-top: 310px;
    margin-bottom: 100px;
    background-color: #F2F2F2;
}

.item_box{
    display: flex;
    justify-content: center;   
    flex-direction: column;
    margin: -310px 30px 300px 30px;
}

.item{
    display: flex;
    justify-content: center;  
    flex-direction: column;    
    width: 400px;
    height: 250px;
    border: solid 0px ;
    background: linear-gradient(#881CE6, #2B4BFF);
    opacity: 90%;
    margin-top:150px;
}

.item_title{
    pointer-events: none;

}

.item_title p{
    display: flex;
    justify-content: center;  
    color: white;
    font-size: 36px;
    font-family: Noto Sans JP;
    font-weight: normal;
    margin-top: 20px;
    text-align: justify;
}

.item_message p{
    display: flex;
    justify-content: center;  
    color: white;
    font-size: 16px;
    font-family: Noto Sans JP;
    font-weight: normal;
    text-align: justify;
    margin-top: -25px;
}

.item_catch p{
    display: flex;
    justify-content: center;  
    color: white;
    font-size: 22px;
    font-family: Noto Sans JP;
    font-weight: normal;
    margin-top: 25px;
}

.item_content {
    display: flex;
    justify-content: center;  
    flex-direction: column;  
    width: 400px;
    height: 450px;
    margin-top: 10px;
}
.contents_box{
    display: flex;
    justify-content: center;  
    vertical-align: top;
}

.contents_box p{
    display: flex;
    justify-content: center; 
    text-align: justify;
    color: black;
    font-size: 16px;
    font-family: Noto Sans JP;
    font-weight: normal;
    line-height: 30px;
    width: 96%;
    vertical-align: top;
}
.box{
    display: flex;
    justify-content: center;
}

.box2 {
    display: flex;
    justify-content: center;  
    font-size: 18px;
    font-family: Noto Sans JP;
    padding: 7px;
    text-align: center;
    background: white;/*背景色*/
    border-radius: 16px;
    width: 380px;
    margin-top: 30px;   
}

.example_u{
   position: relative; 
}

.example_u img{
    width: 160px;
    margin-left: 7%;
    margin-top: 10px;    
}

.me_content_u{
    display: flex;
    justify-content: flex-end;
    margin-right: 8vw;
    margin-top: -34px;
}

.me_content_u a{
    text-decoration: none;
    font-family: Noto Sans JP;
    font-weight: normal;
    padding: 20px;
    color: black;
}

.box3 {
    display: flex;
    justify-content: center;  
    font-size: 16px;
    padding: 7px;
    background: white;/*背景色*/
    border-radius: 15px;
    width: 150px;
    margin-top: 15px;   
}

/*Daikei box------------------------------------------------------------------*/

.slant-bg {
    position: relative;
    width: 100%;
    height: 1000px;
    margin-top: 42%;
    padding: 0px 0px 0px 0px ;
    z-index: -5;
}

.slant-bg::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #F2F2F2;
    transform: skewY(-0deg) translateY(90px);
    z-index: -5;
}

/*Daikei box------------------------------------------------------------------*/

.home-video-section{
    pointer-events: none;
}

.me_content_{
    display: flex;
    justify-content: flex-end;
    margin-right: 100px;
    z-index: 1000;
}

.me_content_ a{
    color: white;
    letter-spacing: 4px;
    font-family: Noto Sans JP;
    font-weight: normal;
    font-size: 17px;
    padding: 0px 12px 2px 12px;
    margin: 0px 10px 0px 10px;
    z-index: 1000;
    border-radius: 10px;
    background-color:#4A1BE5;
}

.me_content_ a:hover{
   background-color:#691BE5;
}

.box3 a{
    color: black;
}

.box3 :hover{
    color: blue;　　  
}

.card_box_N{
    display: flex;
    justify-content: center;  
    margin-top: 250px;
}

.boxb{
    display: flex;
    justify-content: center;  
    flex-direction: column;
}

.box3 p {
    margin: 0; 
    padding: 0;
}

.card_box2{
    display: flex;
    justify-content: center; 
    margin-top: -300px;  
    background-color: #f2f2f2;
}

.selected{
    display: flex;   
    justify-content: center;  
    flex-direction: column;    
    width: 90%;
    max-width: 1100px;
    background-color: #f2f2f2;
    margin-bottom: 100px;
}

.reason_why{
    display: flex;
    justify-content: center;
    text-align: center;
    background-color: #f2f2f2;
}

.reason_why h2{
    font-family: Noto Sans JPMS;
    font-size: 30px;
}

.reason_why p{
    font-family: Noto Sans JP;
    font-weight: normal;
    font-size: 30px;
}

.reason_why_u{
    font-family: Noto Sans JP;
    text-align: center;
    font-size: 16px;
    margin-top: -30px;
    margin-bottom: 80px;
}

.reason_why_sub{
    display: flex;
    justify-content: center;
    font-family: Noto Sans JP;
    font-weight: normal;
    font-size: 20px;
    margin:5px 10px 10px 10px;
}

.caution_request{
    font-family: Noto Sans JP;
    font-weight: normal;
    text-align: center;
    font-size: 10px;
    margin-top: -10px;
    margin-bottom:180px;

}

.selected_contents{
    display: flex; 
    justify-content: center;        
    margin-left: 20%;
    margin-right: 20%;
    line-height: 30px;
    margin-bottom: 100px;
}

.selected_contents p{
    text-align: justify;
    font-family: Noto Sans JP;
    font-weight: normal;
    font-size: 16px;    
}

.logic{
    display: flex;   
    justify-content: center;  
}

.c_reason{
    display: flex;   
    flex-direction: column;
}

.logic_reason{
    display: flex;   
    justify-content: center;  
    text-align: center; 
}

.logic_reason p{
    justify-content: center;      
    text-align: center;    
    margin: 25px;
    font-size: 18px;
    font-family: Noto Sans JP;
    font-weight: normal;
    font-weight: bold;
    padding: 30px;
    color: white;
    text-align: center;
    background:  -webkit-linear-gradient(#A854F2, #4964FC);
    border-radius: 15px;
}

.logic_reason img{
    display: flex;   
    text-align: center; 
    height: 20px;
    margin-top: 60px;
}

.customers{
    display: flex;
    justify-content: center;
    background-color: #f2f2f2;   
}

.customers_box{
    display: flex;
    width: 50%;
    max-width: 550px;
    flex-direction: column; 
}

.cu_voice p{
    font-family: Noto Sans JP;
    font-weight: normal;
    line-height: 30px;
    text-align: justify;
}

.cu_title{
    font-size: 20px;
    margin-bottom: -20px;
}

.cu_comment{

    font-size: 16px;
}

.cu_parson{
    text-align: right;
    margin-top: 0px;
    font-size: 12px;
}

/*Daikei box------------------------------------------------------------------*/

.card_box3{
    display: flex;
    justify-content: center;
    background-color: #f2f2f2; 
    margin-top: -50px;
}

.peace{
    display: flex;
    justify-content: center; 
    flex-wrap: wrap; 
    margin-top: 100px;
    width: 100%;
}

.flag_1 img{
    margin-bottom: 40px;
    width: 375px;
    margin: 0px 30px 50px 30px;
}

.flag_2{
    display: flex;
    justify-content: center;  
    flex-wrap: wrap;
    width: 340px;
    margin: 0px 30px 100px 30px;
}

.flag2_title p{
    display: flex;
    justify-content: center;      
    text-align: justify;
    width: 300px;
    margin-top: -10px;
    font-size: 18px;
    font-family: Noto Sans JPMS;
    font-weight: normal;
    font-weight: bold;
    padding: 25px;
    color: black;
    text-align: center;
    background: #CED3F4;/*背景色*/
    border-radius: 20px;
    line-height: 30px;
}

.flag2_text p {
    text-align: justify;
    margin-top: 0px;
    margin-bottom: ;
    line-height: 30px;
    margin: 5px 1% 0px 1%;
}

.ninchi_jiku p{
    margin-top: -100px;
    margin-bottom: 5px;
    margin-left: 6%;
    font-size: 20px;
    font-family: Noto Sans JP;   
    font-weight: normal;
}

.flag_1 img{
    border-radius: 8px;
}

.recommend{
    display: flex;
    justify-content: center;
    background-color: #f2f2f2;
}

.recommend_box{
    display: flex;
    justify-content: center; 
    flex-wrap: wrap;
    max-width: 1500px;
    background-color: #f2f2f2;
    margin:20px 0px 50px 0px;
}

.waku_r{
   text-align: center;
   width: 350px;
   height: 190px;
   background: white;
   border-radius: 15px;
   margin: 20px 20px 0px 20px;
}

.r_box_card{
    display: flex;
    justify-content: center; 
    flex-direction: column;
    text-align: center;
    padding: 10px 20px 10px 20px;
}

.r_box_card p{
    font-size: 17px;
    line-height: 25px;
}

.r_card_cont{
    margin-top: 10px;
    font-size: 14px;
}

.r_box_card h2{
    font-size: 18px;
    margin-bottom: -15px;
}

.gram_box{
    display: flex;
    justify-content: center;
    background-color: #f2f2f2;
}

.ban{
    display: flex;
    justify-content: center;
    margin-bottom: 100px;
}

.picture_tag_position{
    text-align: center;
    width: 230px;
    height: 60px;
    background-color: white;
    border-radius: 10px;
    margin-bottom: 25px;
    padding: 5px;
}

.picture_tag_best{
    text-align: center;
    width: 230px;
    height: 60px;
    color: white;
    margin: 50px -40px 0px -40px;

    background: linear-gradient(#881CE6, #6B80F8);
    border-radius: 10px;
    padding: 5px;
}

.sels_band{
   display: flex;
   justify-content: center;
   flex-wrap: wrap;
   background: linear-gradient(#881CE6, #6B80F8);
   height: 160px;
   padding: 10px;
}

.sels_band h1{
    font-size: 30px;
    color: white;
    font-family: Noto Sans JP;
    font-weight: normal;
    padding: 35px 10px 10px 10px;
}

.sels_band p{
    color: white;
    padding: 50px 0px 10px 50px;
}


/*-----------------------------------------------------------------------*/

.service{
    display: flex;
    justify-content: center;
    background-color: #f2f2f2;
}

.our_service{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;   
    background-color: #f2f2f2;    
    margin-bottom: 30px;
}

.service_box{                         /*---------box in 2cards----------*/
    display: flex;
    flex-wrap: wrap; 
    justify-content: center;
}

.service_card{
    width: 310px;
}

.s_card_title{
    margin:10px;
    margin-top: 10px;
}

.s_card_title p{
    text-align: center;
    background: linear-gradient(#881CE6, #6F85FC);
    color: white;
    padding: 35px 25px 35px 25px;
    border-radius: 8px;
    font-size: 20px;
    font-family: Noto Sans JP;
    font-weight: normal;
}

.s_card_text{
    margin:20px 12px 0px 12px;    
    height: 320px;
    width: 280px;
}

.s_card_text p{
    font-size: 16px;
    font-family: Noto Sans JP; 
    font-weight: normal;
    text-align: justify;
    line-height: 25px;  
}

.s_card_price{
    text-align: center;
    background: linear-gradient(#6F85FC,#0D0D6E);
    color: white;
    line-height: 0px;
    font-family: Noto Sans JP;
    font-weight: normal;
    margin: 10px;
}

.s_card_price h3{
    font-size: 16px;
    padding: 25px 25px 10px 25px;
    
}

.s_card_price p{
    font-size: 30px;
    padding: 0px 25px 40px 25px;
}

.flags{
    display: flex;
    justify-content: center;
    margin-bottom: -21px;
    z-index:1;
    background-color: #f2f2f2;
}

.point_{
    display: flex;
    justify-content: center;
}

.menmbers{
    display: flex;
    flex-wrap: wrap;
    width: 70%;
    margin-top: 100px;
}

.members_boxer{
    display: flex;  
    justify-content: center;
    flex-direction: column;
}

.members_picture {
    display: flex;
    background-color:  #f2f2f2;
    margin-bottom: 5px;
}

.members_picture img{
    display: flex;
    text-align: right;
    margin-left: 70%;
    width: 35vw;
}

.members_title{
    margin-bottom: 40px;
    text-decoration: none;
}

.members_title h1{
    font-family: Noto Sans JP;
    font-size: 32px;
    color: black;
    margin-bottom: -10px;
}

.members_title h1:hover{
    color: #691BE5;
}

.members_title p{
    font-family: Noto Sans JP;
    font-weight: normal;
}

.container{
    background-color: black;
    z-index:5;
    height: 170px;
    bottom: 0;
}

.footer-items{
    display: flex;
    flex-wrap: wrap;
    padding-top: 50px;
    margin-left: 13%;
}

.footer-items a{
    color: white;
    font-size: 16px;
    margin-right: 40px;
}

.footer-sub{
    display: flex;
    margin: 20px 50px 10px 10px;
    padding-bottom: 50px;
    margin-left: 13%;
}

.footer-sub a{
    color: white;
    font-size: 12px;
    margin-right: 20px;
}

.members_link a{
   color: black;
   font-size: 18px;
}

.company_ninchi{
    margin: 100px 0px 150px 0px;
}

table.co_info {
    width: 640px;
    margin: 0 auto;
    border-collapse: separate;
    border-spacing: 0px 2px;
    font-size: 16px;
    font-family: Noto Sans JP;
    font-weight: normal;
}

table.co_info th,
table.co_info td {
    padding: 20px;
}

table.co_info th {
    background: #E7E4EB;
    vertical-align: middle;
    text-align: right;
    width: 100px;
    overflow: visible;
    position: relative;
    color: black;
    font-weight: normal;
    font-size: 16px;
    font-family: Noto Sans JP;
    font-weight: normal;
    border-radius: 10px 0px 0px 10px;
}

table.co_info td {
    background: white;
    width: 280px;
    padding-left: 20px;
    border-radius: 0px 10px 10px 0px;
}

/*---------------------------------------- request_form ----*/

.mail_form_box{
    display: flex;
    justify-content: center;
    margin: 50px 0px 50px 0px;
}

label {
  display: block;
  width: 70vw;
  height: 30px;
  margin-bottom: -15px;
  font-family: Noto Sans JP;  
  font-weight: normal;
  font-size: 18px;
}

input {
  display: block;
  width: 70vw;
  height: 50px;
  background: white;
  border-radius: 6px;
  padding: 0px 30px 0px 30px;
  border: none;
}

textarea{
  display: block;
  width: 70vw;
  height: 100px;
  background: white;
  border-radius: 10px;
  padding: 10px 30px 10px 30px;
  border: none;
}

.Form-Item-Label-Required {
  border-radius: 5px;
  margin-left: 10px;
  padding: 0px 5px 1px 5px;
  display: inline-block;
  text-align: center;
  background:white;
  color: #6A1CD3;
  font-size: 14px;
  font-family: Noto Sans JP;
  font-weight: normal;
}

.Form-Btn {
  border-radius: 6px;
  margin-top: 32px;
  margin-left: auto;
  margin-right: auto;
  width: 280px;
  display: block;
  letter-spacing: 0.05em;
  background: black;
  color: #fff;
  font-weight: bold;
  font-size: 20px;
}

.thk{
  display: flex;
  justify-content: center;
  margin-top: 100px;
}

.card_box5{
    display: flex;
    justify-content: center; 
    margin-top: 100px;  
}

.conf_box{
  display: flex;
  justify-content: center;
  margin-top: 50px;
  margin-left: 10%;
  margin-right: 10%;
}

.conf_box p{
  margin-top: -20px;
}

.conf_line{
    width: 360px;
}

.conf_btn{
  display: flex;
  justify-content: center;
  margin-top: 50px;
}

.conf_btn button{
    width:100px;
    height:50px
}

.UNDER_MT{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.UNDER_MT_list{
    font-family: Noto Sans JP;
    font-weight: normal;
    line-height: 30px;
    margin-top: 30px;   
}

.UNDER_MT_list table {
      border-collapse: collapse;
      width: 100%;
}

.UNDER_MT_list th, td {
      padding: 8px;
      text-align: left;
      position: relative; /* 擬似要素の位置を相対的に指定するため */
}

.UNDER_MT_list th {
      background-color: #f2f2f2;
}

.vertical-line-left::before {
      content: '';
      position: absolute;
      left: 0;
      top: 23%; /* 上から15%の位置に配置 */
      height: 60%; /* 高さを70%に設定 */
      width: 1px;
      background-color: black;
}

.UNDER_MT_box{
    width: 70%;
}

.UNDER_MT_title{
    margin-top: 70px;
    margin-bottom: 70px;
}

.UNDER_MT_title h1{
    font-family: Noto Sans JP;
    font-size: 30px;
}

.UNDER_MT_title hr{
    margin-top: -15px;
    color: #656565;
}

.UNDER_MT_title p{
    font-family: Noto Sans JP;
    font-weight: normal;
    margin-top: -5px;
}

.UNDER_MT_title_w{
    display: flex;
    justify-content: center;
    margin-top: 50px;
}

.UNDER_MT_title_w h1{
    display: flex;
    justify-content: center;
    font-family: Noto Sans JP;
    font-weight: normal;
    font-size: 19px;
}

.UNDER_MT_contents{
   display: flex;
   justify-content: center;
   margin-top: 20px; 
}

.UNDER_MT_contents p{
    font-family: Noto Sans JP;
    font-weight: normal;
    line-height: 35px;
    text-align: justify;
    max-width: 700px;
}

.K_catalogue{
    display: flex;
    justify-content: center;
    margin-top: 100px;
}

.k_c_box{
    width: 70%;
    align-items:flex-start
}

.k_c_case{
    justify-content: center;
    display: flex;
    align-items:flex-start
}

.photo_style{
    width: 38vw;
    margin: 0px 30px 0px 0px;
}

.photo_style p{
    font-family: Noto Sans JP;
    font-weight: normal;
    margin-top: 0px 5px 0px 5px;
    line-height: 30px;
    text-align: justify;
}

.photo_style h2{
    font-family: Noto Sans JP;
    font-size: 20px;
    line-height: 22px;
}

.photo_style img{
    width: 100%;
    border-radius: 10px;
}

.intro_style{
    width: 38vw;
    margin-top: -23px;
    margin-left: 5px;
}

.intro_style p{
    font-family: Noto Sans JP;
    font-weight: normal;
    line-height: 30px;
    text-align: justify;
}

.girls_pic img{
    width:  300px;
}

.web3_info{
    display: flex;
    justify-content: center;
    margin-bottom: -21px;
    z-index:1;
    background-color: #f2f2f2;
}

.web3_c{
    display: flex;
    text-align: center;    
    flex-direction: column;
    margin-top: 100px;
    
}

/*---------------------------------------- BRANDING----*/

.bland_info_contents {
    width: 42%;
    margin-left: 2vw;
    padding-top: 8px;
}


.UNC h2{
    display: flex;
    justify-content: center;   
    font-family: Noto Sans JP;  
    font-size: 20px;   
    margin-top: 50px;
}

.UNC hr{
    width: 700px;
}

.bb_title h2{
    display: flex;
    justify-content: center;
    text-align: center;  
    font-size: 18px;
    margin-bottom: 50px;
    font-family: Noto Sans JP;      
}

.bland_graybox h2{
    text-align: center;
    width: 230px;
    height: 80px;
    background-color: white;
    border-radius: 10px;
    padding-top: 50px;
    font-family: Noto Sans JP;
    font-size: 18px;
}

.brand_material{
    display: flex;
    justify-content: center;
    margin: 70px 5px 30px 5px;
}

.brand_b1{
    display: flex;
    flex-direction: column;
}

.brand_b2{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    width: 800px;
}

.bland_greenbox h2{
    text-align: center;
    width: 400px;
    height: 35px;
    background-color: #CCEAB4;
    border-radius: 10px;
    padding-top: 15px;
    font-family: Noto Sans JP;
    font-size: 16px;
}


/*---------------------------------------- WEB ACCECIBILITY_table----*/

.web_ac {
    margin: 20px;
    overflow-x: auto; /* 表が幅を超える場合にスクロール可能にする */
    margin-bottom: 100px;
}

.web_ac table {
    width: 100%;
    max-width: 700px; /* 最大幅を800pxに設定 */
    margin: 0 auto; /* 中央に配置 */
    border-collapse: collapse; /* 表の枠線を統合する */
    background-color: #f9f9f9; /* 表の背景色 */
    font-family: Noto Sans JP, sans-serif;
}

.web_ac th, .web_ac td {
    padding: 12px 15px;
    text-align: left;
    border: 1px solid #ddd; /* セルの枠線 */
}

.web_ac th {
    background:  -webkit-linear-gradient( #A854F2, #4964FC); /* ヘッダーの背景色 */
    color: white; /* ヘッダーの文字色 */
    font-weight: bold;
}

.web_ac tr:nth-child(even) {
    background-color: #f2f2f2; /* 偶数行の背景色 */
}

.web_ac tr:hover {
    background-color: #ddd; /* ホバー時の背景色 */
}

.web_ac th:first-child, .web_ac td:first-child {
    text-align: left;
}

.web_ac th, .web_ac td {
    text-align: center; /* セル内の文字を中央寄せ */
}

.web_ac th:first-child, .web_ac td:first-child {
    text-align: left; /* 最初の列だけ左寄せ */
}

@media (max-width: 600px) {
    .web_ac th, .web_ac td {
        padding: 8px 10px;
    }

.web_ac {
    margin: 5px;
    overflow-x: auto; /* 表が幅を超える場合にスクロール可能にする */
    margin-bottom: 100px;
}

}

/*---------------------------------------- WEB ACCECIBILITY_table----*/

.ALK{
    display: flex;
    justify-content: center;
    margin-top: 200px;
}

.mousikomi{
    display: flex;
    justify-content: center;
    margin-top: 50px;
}

.ap_box{
    display: flex;
    justify-content: center;
    flex-direction: column;
}

.sm_title{
    text-align: center;
    font-family: Noto Sans JP;
    margin-bottom:5px;
    font-size: 16px;
}

.c_b{
    display: flex;
    justify-content: center;
}

.app_box{
    display: flex;
    justify-content: center;
    flex-wrap:wrap;
    width: 300px;
    height: 90px;
    border-radius: 16px;
    padding-bottom: 20px;
    background: linear-gradient(#881CE6, #6F85FC);
}

.ap_box_title p{
    text-align: center;
    color: white;
    font-family: Noto Sans JP;
    font-weight: normal; 
    font-size: 25px;
    margin-top: 20px;   
}

.sm_price p{
    text-align: center;
    font-family: Noto Sans JP;
    font-weight: normal;
    color: white;
    font-size: 16px;
    margin-top: -15px;
 
}

.er{
    margin-top: 50px;
}

.members_info{
    background-color: #f2f2f2; 
    margin-top: -45px;
    width: 70%;
    text-align: justify;
    letter-spacing: .15rem;
    font-size: 16px;   
    line-height: 30px;
}

/*-------------------------------------------------------------------------------------------------------------------------------------*/

@media screen and (max-width: 1400px) {

.item{
    width: 28.5vw;
}

.item_content{
    width: 28.5vw;
}

.copy_ninchi{
    width: 94vw;
}

.bic_title img{
    position: absolute;
    z-index: 10;
    display: flex;
    justify-content: center;
    width: 55vw;
}

.item_content {
    margin-top: 15px;
}

}

@media screen and (max-width: 1250px) {


.item{
    width: 360px;
}

.item_content{
    width: 360px;
    margin-top: 20px;
}

.copy_ninchi{
    width: 780px;
}

.UNC hr{
    width: 90%;
    margin: none;
    margin-bottom: 30px;
}

}

@media screen and (max-width: 920px) {

.copy_ninchi{
    width: 780px;
}

.k_c_box{
    width: 70%;
}

.k_c_case{
    display: flex;    
    justify-content: none;
    flex-wrap: wrap;
}

.intro_style{
    width: 90vw;
}

.intro_style p{
    margin: 30px 5px 0px 5px;    
    line-height: 30px;
}

.photo_style{
    width: 90vw;
    margin: 0px 5px 0px 5px;
}

.bic_title img{
    position: absolute;
    z-index: 10;
    display: flex;
    justify-content: center;
    width: 70vw;
}

.slant-bg {
    margin-top: 450px;
}

.selected_contents{
    display: flex; 
    justify-content: center;        
    margin-left: 10%;
    margin-right: 10%;
    line-height: 30px;
    margin-bottom: 100px;
}

.customers_box{
    display: flex;
    width: 70%;
}

.members_picture img{
    width: 44vw;
    margin-left: 40%;

}

}

@media screen and (max-width: 840px) {

.bic_title img{
    width: 480px;
    margin-left: 38px;
    margin-top: 20px;
}

.slant-bg {
    margin-top: 460px;

}

}


@media screen and (max-width: 680px) {

section.home-video-section {
    width: 100%;
}

.selected_contents{
    display: flex; 
    justify-content: center;        
    line-height: 30px;
    margin-bottom: 30px;
    text-align: justify;
}

.picture_tag_position{
   width: 30.2vw;
}

.picture_tag_best{
   width: 38.2vw;    
}

.bland_greenbox h2{
    width: 280px;
}

.brand_b2{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    width: 100%;
}

.bland_info_contents {
    width: 330px;
    margin-left: 5vw;
    margin-top: -40px;
}


.bland_graybox h2{
    width: 86vw;
    max-width: 500px;

}


@media screen and (max-width: 600px) {

.bic_title img{
    display: none;
}

.bic_title_sm{
   display:initial;
}

.bic_title_sm img{
    margin-top: -30px;
    margin-bottom: -70px;
    margin-left: 15px;
    width: 320px;
}

.card_box{
     margin-top: 300px;   
}

.me_content_{
    display: none;
}

.me_content_u{
    display: none;
}

.menu-btn {

    margin-top: -5px;
    right: 10px;
    display: flex;
    height: 50px;/*ハンバーガーの表示画面内の縦位置*/
    width: 50px;
}

.k_c_box{
    width: 90%;
}

.ap_box_title{
    width: 85%;
    font-size: 18px;
}

.c_reason{
    margin-top: 20px;
}

.logic_reason p{
    margin: 5px;
    font-size: 18px;
    padding: 20px 25px 20px 25px;
    color: white;
    text-align: center;
}

.logic_reason img{
    margin-top: 30px;
}

.members_info{    
    width: 100%;
}

.brand_material{
    margin-bottom: 150px;




}

@media screen and (max-width: 430px) {

section.home-video-section {
    width: 100%;
}

.content .wp-video {
    width: 100% !important;
}

.item{
    width: 355px;
    height: 250px;
    border: solid 0px ;
    background: linear-gradient(#881CE6, #2B4BFF);
    opacity: 90%;
    margin-top:150px;
}

.item_content {
    display: flex;
    justify-content: center;  
    flex-direction: column;  
    width: 355px;
    height: 450px;
    margin-top: 10px;
}

.bic_title_sm img{
    margin-left: 24px;
}

.picture_tag_position{
    width: 32vw;
}

.flag_1 img{
    width: 80vw; 
}

.selected_contents{       
    margin-left: 5%;
    margin-right: 5%;
}

.card_box{
     width: 100%;   
}

.menmbers{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 100px;
}

.members_picture{
    margin-bottom: 4px;

}

.members_picture img{
    display: flex;
    text-align: right;
    margin-left: 40%;
    width: 60vw;
}

.web3_info{
    display: flex;
    justify-content: center;
    width: 100%;
    z-index:1;
    background-color: #f2f2f2;
}

.point_{
    display: flex;
    flex-direction: column;
    width: 80%;
}

.recommend_box{
       width: 100%;
}

.flag_2{
    display: flex;
    justify-content: center;  
    flex-wrap: wrap;
    width: 86%;
    margin: 0px 30px 100px 30px;
}

table.co_info {
    width: 350px;
    margin: 0 auto;
    border-collapse: separate;
    border-spacing: 0px 2px;
    font-size: 16px;
    font-family: Noto Sans JP;
    font-weight: normal;
}

table.co_info th,
table.co_info td {
    padding: 15px;
    height: 60px;
}

.company_ninchi{
    margin: 10px 0px 200px 0px;
}

.UNDER_MT_box{
    width: 85%;
}

.UNDER_MT_title h1{
    text-align: center;
}

.UNDER_MT_contents p{
   margin-top: -30px; 
   line-height: 34px;
}

.photo_style p{
   line-height: 34px;
}

.photo_style h2{
   line-height: 34px;
   margin-top: 40px;
}

.intro_style p{
    line-height: 34px;

}

.intro_style p{
    line-height: 34px;
    margin-left: 0px;
}

}

@media screen and (max-width: 390px) {

.item{
    width: 360px;
}

.item_content { 
    width: 360px;
}

.flag2_title p{
    width: 280px;
}
.bic_title_sm img{
    margin-left: 5px;

}

}

@media screen and (max-width: 375px) {

.item{
    width: 340px;
}

.item_content { 
    width: 340px;
}

.waku_r{
   text-align: center;
   width: 346px;
   height: 190px;
   background: white;
   border-radius: 16px;
   margin: 20px 20px 0px 20px;
}

.item_content {
    margin-top: 30px;
}

}