@charset "utf-8";
/*-------------------header_eara------------------------*/
.top_topi{
  background:#D2D5DB ;
  text-align: center;
 padding: 7px 0;
 font-size: 14px;
}

.h_menu{
  padding:0 3%;
}

.navIn01{
  width: 75%;
  max-width: 800px;
  margin-left: 5%;
}
.navIn01 .en a{
  font-size: 18px;
}
.navIn02{
  width: 15%;
  margin-right: 5%;
}
.navIn02 img {
 padding: 0 10px;
}
.navIn02 img.menber_img {
 padding: 0 5px;
}
.navIn01, .navIn02{
  padding: 22px 0;
}
.en a{
  font-family: 'Poppins', sans-serif;
}


#header_bx {
  position: fixed;  
  top: 0;           
  left: 0;          
  width: 100%;     
  z-index: 999;     
  background-color: #fff; 
  box-shadow: 0 2px 5px rgba(0,0,0,0.1); 
}
/*-------------------header_eara_END------------------------*/


/*-------------------top------------------------*/
.white_line{
background: #fff;
padding: 16px 40px;
  position: absolute;
  top: 5%;
  right: 0;
}
.posi_rela{
 position: relative;
}

.has_w_b{
  border-left: 2px solid #fff;
  padding-left: 10px;
  margin-bottom: 18px;
}
.top_txt{
    position: absolute;
  bottom: 5%;
  left: 5%;
}
.white_btn{
  border: 1px solid #fff;
  text-align: center;
  padding: 7px 0;
 
}
.width62{ width: 218px;}

/* メインスライダー */
.slider_wrapper {
  position: relative;
  overflow: hidden;
  margin: 0 auto;
}

.slider_track {
  display: flex;
  transition: transform 0.6s ease;
}

.slinder_main {
  min-width: 100%;
  box-sizing: border-box;
  position: relative;
}

.slinder_main img.main_img {
  width: 100%;
  display: block;
}


.slider_dots{
  text-align: center;
  margin-top: 15px;
}
.slider_dots button {
  width: 70px;   
  height: 2px;  
  border-radius: 2px; 
  border: none;
  background: #ccc;
  margin: 0 5px;
  cursor: pointer;
}

.slider_dots button.active {
  background: #333;
}

.slider_dots button.active {
  background: #333;
}
/* メインスライダーEND */



.view_all{
  background: #000;
  text-align: center;
  margin-left: 10px;
  padding: 0px 11px 4px 13px;
  margin-right: 35px;
}
.view_all a,.view_all span{
  line-height: 1em;
}
.view_all span{
  color: #fff;
  display: inline-block;
  font-size: 0.9em;
  margin-left: 4px;
}

.topi_tit .dmy::before {
  content: "";
  display: inline-block;
  width: 15px;    
  height: 1px;     
  background: #000; 
  margin-right: 8px;
   vertical-align: middle;
}
.cate{
  background: #ECEEF2;
  text-align: center;
  display: inline-block;
  line-height: 1em;
  margin: 0 10px;
  padding: 5px 10px;
}

.tit_span{
  font-size: 0.7em;
  vertical-align: middle;
  display: inline-block;
}


.com_b_h1{
  padding-bottom: 20px;
  border-bottom: 1px solid #000;
  display: inline-block;
  font-weight: 800;
}
.com_h2{letter-spacing: 0.1em;}
.mgt40{
  margin-top: 40px;
}
.mgb40{
  margin-bottom: 40px;
}

.com_bg{
    background: #ECEEF2;
     text-align: center;
  display: inline-block;
  line-height: 1em;
  padding: 5px 10px;
font-size: 12px;
position: absolute;
top:0;
left: 5px;
}






/* itemスライダー */
.carousel_slider {
  position: relative;
  overflow: hidden;
  width: 100%; /* 追加：親幅を100%に */
  margin: 0 auto;
}

.carousel_track {
  display: flex;
  flex-wrap: nowrap; /* 追加：横並び固定 */
  transition: transform 0.6s ease;
  padding-bottom: 50px;
}

.carousel_track li {
  flex: 0 0 25%;
  padding: 0 5px;
  box-sizing: border-box; /* 追加：paddingを幅に含める */
  list-style: none;
}

@media (max-width: 798px) {
  .carousel_track li {
    flex: 0 0 33.3333%;
  }
}

@media (max-width: 498px) {
  .carousel_track li {
    flex: 0 0 100%; /* 安定のため100%表示 */
  }
}

.carousel_track img {
  width: 100%;
  display: block;
}

.carousel_slider img {
  display: block;
  width: 100%;
}

/* 矢印 */
.carousel_prev, .carousel_next {
  position: absolute;
  top: 32%;
  transform: translateY(-50%);
  background: rgba(0,0,0,0.5);
  color: #fff;
  border: none;
  padding: 10px 15px;
  cursor: pointer;
  z-index: 10;
}
.carousel_prev { left: 10px; }
.carousel_next { right: 10px; }

/* ドット */
.slider_long_dots {
  position: absolute;
  bottom: 0px;
  width: 100%;
  text-align: center;
  z-index: 10; /* ドットを前面に */
}

.slider_long_dots button {
  display: inline-block;
  width: 5%;
  height: 2px;
  margin: 0 0px;
  background: #ccc;
  border: none;
  cursor: pointer;
  vertical-align: middle;
  border-radius: 2px;
}

.slider_long_dots button.active {
  background: #333;
}

/* itemスライダー 　END*/



.has_mgl {
  width: calc(100% - ((100% - 1200px) / 2));
  margin-left: calc((100% - 1200px) / 2);
}
@media (max-width:1201px) {
  .has_mgl {
    width: 100%;
    margin-left: 0%;
  }


}

.center_btn{

  text-align: center;
}
 .btn_style{
  display: inline-block;
  width: 267px;
}
.black_btn{
  background-color: #000;
  text-align: center;
padding: 6px 0 7px;
}
.black_btn a{
  color: #fff;
}
.border_btn{
  border: 1px solid;
}

.jp_font_style{
  line-height: 2.2em;
  letter-spacing: 0.07em;
}

.en.font_b{
  font-weight: 500;
}
.btn_style.has_pd_btn{
 padding: 9px 0 10px;
}

.eve_feat .flex a{
width: 50%;
}


/* PC（幅799px以上） */
@media screen and (min-width: 799px) {
    .event ul.flex03 li:nth-child(n+4) {
        display: none; /* 4番目以降は非表示 */
    }
}



.event .item_tit{
  line-height: 1.5em;
  letter-spacing: 0.01em;
}
.day_mark{
  background: #ECEEF2;
  text-align: center;
  display: inline-block;
  line-height: 1em;
  padding: 5px 10px;
  font-size: 12px;
}
.day_txt{display: inline-block;margin: 0px 8px;font-size: 14px;}
.event .com_bg{
  left:0;
}

.blackline_btn{
  border: 1px solid #000;
  text-align: center;
  padding: 7px 0;
}

.google_btn img{
  width: 23px;
  display: inline-block;
  vertical-align: middle;
  padding: 0 0 4px 0px;
  margin-right: 6px;
}
.event .black_btn {
  padding: 8px 0 9px;
}

.minhg_3{
  min-height: 3.5em;
}


@media (max-width:1400px) {
.minhg_3.fnt14 {
  font-size: 12px;
}
.minhg_3+p{
   min-height: 3.5em;
}
}



/* スマホ（幅798px以下） */
@media screen and (max-width: 798px) {
    .event ul.flex03 li {
        display: block !important; 
        width: 48%;     
        margin-bottom: 20px;
    }
}



.logo_wrap {
  position: relative;
}

.combg_img {
  display: block;
  width: 100%; 
  height: auto;
}

.center_logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 280px;

}

.company_btn{
  position: absolute;
  bottom: 5%;
  right: 5%;
  padding: 8px 30px;
  letter-spacing: 0.1em;
}
@media (min-width:1800px) {
.company_btn {
  right: 13%;
}
}
/*-------------------top_END------------------------*/




/*-------------------SUB page COMMON------------------------*/
.sub_page{

}
.sub_com_h1{
padding-bottom: 75px;
padding-top: 70px;
border-bottom: 1px solid #ECEEF2;
letter-spacing: 0.15em;
  font-weight: 500;
}

.ja_com_h2{    font-size: 28px;}


.ja_has_b_tit{
  font-size: 28px;
font-weight: 500;
border-bottom: 1px solid #ECEEF2;
letter-spacing: 0.15em;
line-height: 2em;
padding-bottom: 6px;
}

.about_eara .company_label{
  line-height: 1.5em;
}
/*-------------------SUB page COMMON END------------------------*/



/*------------------company page ------------------------*/


.txt_abu{
  position: absolute;
  bottom: 0;
  left: 0;
  width:180px;
}

.flex_txt{
width: 58%;
}
.flex_img{
  width: 38%;
}
@media screen and (min-width: 1600px) {
  .flex_img {
    width: 50%;
    margin-right: -14%;
  }

}
.sub_com_h2{
font-size: 70px;
  font-weight: 600;
  line-height: 1.25em;
}
.flex_img {
  position: relative;   
  display: inline-block; 
}

.flex_img img {
  display: block;   
  max-width: 100%;   
  height: auto;
}

.txt_abu {
  position: absolute;
  bottom: 20px; 
  left: 0;
  right: 0;
  padding: 6px 10px;
  font-size: 12px;
  text-align: center;
  z-index: 2;      
}

.bg_fff {
  background-color: rgba(255,255,255,1); 
}
.company-info{
 margin-left: 36%;
}
/* @media screen and (min-width: 1700px) {.company-info {
  width: 58%;
}
}
@media screen and (max-width: 1699px) {
.company-info{
 margin-left: 30%;
   width: 65%;
}
}
*/
@media screen and (max-width: 1300px) {
.company-info{
 margin-left: 25%;
}
}
@media screen and (max-width: 1200px) {
.company-info{
 margin-left: 20%;
}
}

.company-info {
  display: flex;
  flex-direction: column; 
  gap: 12px; 
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px;
  
}

.info-row {
  display: flex;   
border-bottom: 1px solid #D2D5DC;
  padding-bottom: 50px;
  margin-bottom: 50px;align-items: baseline;
}

.company_label {
  width: 250px;      
letter-spacing: 0.1em;
 font-weight: 500;
line-height: 1.5em;
}
.company_value {
  flex: 1;    
    font-weight: 500;
  letter-spacing: 0.2em;
line-height: 1.5em;
}
.company_value li{
  line-height: 1.5em;
   letter-spacing: 0.2em;
}
.company_value .com_eara{display: block;
   font-weight: 500;
letter-spacing: 0.18em;
  letter-spacing: 0.2em;
line-height: 1.5em;}
.com_eara::before {
  content: "- "; 
}
.company_value a{
  text-decoration: underline;
   font-family: 'Noto Sans JP', sans-serif;
/* 
  color: #626771; */
   font-weight: 500;letter-spacing: 0.18em;
}
.company_value p {
  padding-left: 35px;
}

.line_btn {
  border: 1px solid #000;
  text-align: center;
  padding: 7px 0;
}

.line_btn img {
  width: 22px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 8px;
}


/*------------------company page END------------------------*/

/*------------------abouty page------------------------*/

.about_eara.info-row {
  align-items: flex-start;}
.width48{
  width: 48%;
}
.obj_cover{
  object-fit: cover;
}
@media (max-width:498px) {
.width48{
  width: 100%;
}
}
.letter_s012 {
  letter-spacing: 0.12em;
}



.tab-section {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}

.tab-buttons {
  display: flex;
  flex-wrap: wrap; 
  justify-content: center;
  gap: 20px;
  list-style: none;
  padding: 0;
  margin-bottom: 20px;
}

.tab-button:nth-child(1) {
  width: 100%;      
  text-align: center;
  order: 1;
}

.tab-button:nth-child(2),
.tab-button:nth-child(3) {
  width: calc(50% - 10px); 
  order: 2;
  margin-top: 20px;
}

.tab-button {
  cursor: pointer;
  padding: 10px 15px;
  transition: 0.3s;
  font-weight: 500;
    color: #888; 
}
.tab-button .en_no.fnt30,.tab-button span.sankaku{   color: #888; }
.tab-button:hover ,.tab-button:hover  .en_no.fnt30,.tab-button:hover  span.sankaku{
  color: #000;
}

.tab-button.active ,.tab-button.active .en_no.fnt30,.tab-button.active span.sankaku{
  color: #000; 
}
.tab-button span.sankaku{
  display: block;
  text-align: center;
  font-size: 0.6em;
  margin-top: 12px;
}
 .en_no.fnt30{
  font-size: 28px;
 vertical-align: text-bottom;
  margin-right: 4px;
}
.tab-content {
  display: none;
  opacity: 0;
  transition: opacity 0.5s ease;
}

.tab-content.active {
  display: block;
  opacity: 1;
}



.tab-content img  {
  width: 100%;
  max-width: 380px;
  height: auto;
  margin: 50px auto;
}

/*------------------about page END------------------------*/



/*------------------qa------------------*/

#qa .info-row{
  border-bottom: none;
  display: flex;
  flex-direction: column;
  margin-bottom: 50px;
  padding-bottom: 30px;

  border-bottom: 1px solid #D2D5DC;
}

#qa .company_label {
  width: 100%;
  margin-bottom: 15px;
  font-weight: 600;
  position: relative; 
  padding-left: 0px; 
  cursor: pointer;
  color: #000;
  margin-left: 29px;
}
#qa .company_value{
    color: #000;
}
#qa .company_label::before {
  content: "—";
  position: absolute;
  left: -26px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 14px;
  color: #707070;
}
#qa .company_label::after {
  content: "+";
  position: absolute;
  right: 29px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 14px;
  transition: transform 0.3s ease;
}

#qa .info-row.active .company_label::after {
  transform: translateY(-50%) rotate(45deg);
}

#qa .company_value {
  max-height: 0;
  overflow: hidden;
  transition:
    max-height 0.4s ease,
    padding 0.3s ease,
    margin 0.3s ease,
    opacity 0.3s ease;
  margin-bottom: 0;
  padding: 0 20px  0 0;
  opacity: 0;
}

#qa .info-row.active .company_value {

  opacity: 1;
}


/*------------------qae END------------------------**/

/*------------------privacy------------------------**/

#privacy .info-row{
  border-bottom: none;
  flex-direction: column;
}


#privacy .company_label{
  width: 100%;
font-size: 28px;
color: #000;
padding-bottom: 20px;
margin-bottom: 50px;
border-bottom: 1px solid #D2D5DC;

  font-weight: 500;
}
#privacy .company_value{
  width: 100%;
    line-height: 1.75em;
margin-bottom: 100px;
  font-weight: 500;
color: #000;
  }
  .has_dot{
    margin-left: 50px;
  }
  
  .has_dot li {
    position: relative;
    margin-bottom: 0.5em;
    font-weight: 500;
    letter-spacing: 0.1em;
  padding-bottom: 3px;
  }
  
  .has_dot li::before {
    content: "•";           
    position: absolute;
    left: -1em;    
    top: 3px;
    color: #000;
    font-size: 12px;
    line-height: 1;
  }
  .company-info-box {
    border-left: 1px solid #000; 
    padding-left: 15px;             
    margin: 20px 3px;                 
  }
  .company_value .company-info-box{
  padding-left: 17px;
}
  .company-info-box p{
    padding-left: 5px;
  }
  
  .has_decimal {
    margin-left: 30px;
}
  .has_decimal  li {
    position: relative;
    margin-bottom: 0.5em;
    list-style: decimal;
    line-height: 1.5em;
    letter-spacing: 0.1em;
    font-weight: 500;
}
.has_decimal .has_dot li{
  list-style: none;
}
#privacy .company_label .pop{
  font-size: 28px;
}
.com_tit{
letter-spacing: 0.15em;
}
#privacy .company_value.last_label{
  margin-bottom: 0;
}
/*------------------privacyEND------------------------**/
/*------------------tandc ------------------------**/

#privacy.tandc .company_label .pop{
  font-size: 32px;
}
 
.tandc .company_label{
  font-weight: 500;
}
.tandc .company_value li{
  font-weight: 500;
}
#privacy.tandc .company_label {
  margin-bottom: 38px;
}
#privacy.tandc .company_value p {
  padding-left: 0px;
}
.font_w_500{
  font-weight: 500;
}
#privacy.tandc .company_value p.company-info-box {
  padding-left: 15px;
}



/*------------------tandc END------------------------**/

/*------------------guide ------------------------**/

.guide_tit{
  margin-bottom: 10px;
  letter-spacing: 0.1em;
}

.has_hifun{
  position: relative;
  margin-left: 17px;
  margin-top: 3px;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.has_hifun::before{
  content: "—";
  position: absolute;
  left: -15px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 8px;
  color: #000;
  font-weight: 900;
}
.guide_txt{
  margin-left: 15px;
  letter-spacing: 0.1em;
  font-weight: 500;
  line-height: 1.75em;
}
.guide_tit.mgt30{
  margin-top: 35px;
}

/*------------------guide END------------------------**/

#legalnotice .has_dot {
  margin-left: 10px;
}



/*-------------------contact_eara------------------------*/

.con_read a{
color: #000;
  text-decoration: underline;
    font-weight: 500;
    letter-spacing: 0.2em;
}
.contact_box{align-items: stretch;
}
.contact_box li{
  padding: 4%;
min-height: 304px;
  border: 1px solid #D2D5DC;
}
@media (max-width:1150px) {
.contact_box li{
  padding: 2%;
  min-height: 260px;
  margin-right: 0%;
}
.contact_box .fnt20{
  font-size: 18px;
}
}
@media (max-width:950px) {
.flex03 li {
  width: 48%;
}
.flex03 li:nth-child(3){
  margin-top: 30px;
}
}
@media (max-width:498px) {
.flex03 li {
  width: 100%;
}
.flex03 li{
  margin-top: 20px;
}
}
.bag{
  width: 50px;
  margin: 20px auto 20px;
}


.contact_box li a{
  text-decoration: underline;
  font-size: 12px;
  font-weight: 500;
}
.contact_box li a span{
  font-size: 10px;
  display: inline-block;
  margin-left: 10px;
}
.con_tit a{
  color: #000;
  text-decoration: underline;
  font-weight: 500;
}
.contact_info{
  background: #ECEEF2;
  padding: 15px 20px;
}
.Form .flex {
  justify-content: flex-start;
}


.Form .Form-Item-Label {
  width: 25%;
font-weight: 600;
  padding-left: 10px;
  padding-top: 15px;
  vertical-align: -webkit-baseline-middle;
  display: block;
  margin-right: 15px;
    letter-spacing: 0.1em;
}

.Form .hissu img{
  width: 8px;
  display: inline-block;
  vertical-align: sub;
  margin-left: 3px;
}

.Form input,
.Form textarea,
.Form select {
  margin-left: 3px;
  padding: 11px 19px 15px;
  font-size: 16px;
  vertical-align: text-top;
  border: 1px solid #aaaaaa;
  border-radius: 10px;
  margin-bottom: 40px;
  vertical-align: unset;
}
.Form select{
    border: 1px solid #000;
}
.Form [type=email],
.Form textarea,.Form select, 
.Form [type=text]{
width: 100%;
}
.width70 {
  width: 70%;
}




.Form .btn input{
  margin-bottom: 100px;
  text-align: center;
  background: #000;
color: #fff;
  border-radius: 0px;
  padding: 10px 75px;
  letter-spacing: 0.1em;
  font-weight: 500;
}


button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  width: 291px;
  height: 63px;
  background: url(../../img/form_sub.png) no-repeat;
  text-indent: -9999px;
  border: 0;
  border-radius: 0;
}



footer .footer_flex{
  border-bottom: 20px solid #ECEEF2;
  align-items: self-end;
}
.footer_flex .logo_eara ,.footer_flex .f_menu{
  width: 50%;
  padding-top: 80px;
  margin-top: 20px;
margin-bottom: 20px;
}
.footer_flex .logo_eara {
border-right: 1px solid #ECEEF2;

padding-bottom: 100px;
  padding-top: 200px;
}
 .logo_flex{
  align-items: first baseline;
}
footer .logo_img{
  width: 110px;
}
.logo_child{
  margin-left: 23px;
}
 .logo_child a{
letter-spacing: 0.12em;
}
footer .sns_flex img{
  width: 16px;
  height: 16px;
  margin-left: 15px;
}
.border_f_t{
  border-top: 1px solid #ECEEF2;
  padding-top: 15px;
}
.border_f_t img{
  width: 64%;
  margin:  0 auto;
}
footer .copy{
  text-align: center;
  margin-top: 13px;
}

.f_guide span{
  display: block;
  margin-left: 30px;
line-height: 1.5em;
}
.f_guide span a{
  letter-spacing: 0.05em;
}
.f_menu .flex li{
  width: 30%;
  font-size: 14px;
}

.f_btnflex .box_btn .btn_style {
    display: inline-block;
    width: 160px;
    padding-bottom: 6px;
    padding-top: 5px;
}

@media (max-width:1300px) {
  .br_1300{
  display: block;
}
.f_menu .flex li {
    width: 40%;
}
}
@media (max-width:1000px) {
  .f_menu .flex li{
    width: 45%;
  }
}
.f_menu .flex li p{
  margin-bottom: 0;
}
.f_menu .flex li a{
  font-size: 14px;
}
.box_btn .btn_style {
  display: inline-block;
  width: 120px;
  padding-bottom: 3px;
}
.breadcrumb { font-size: 12px; }
.breadcrumb ol { list-style: none; margin: 0; padding: 0; display: inline-flex; align-items: center; gap: 6px; }
.breadcrumb-item a { text-decoration: none; color: #333; }
.breadcrumb-item[aria-current="page"] { color: #666; }
.breadcrumb-sep { color: #999; user-select: none; }
.br_1300{
  display: none;
}


@media (max-width:1100px) {
.flex_txt .fnt28 {
  font-size: 25px;
}
.f_menu .flex li {
    width: 40%;
}
}

@media (max-width:798px) {


  #form .Form-Item {
    padding-left: 0px;
    padding-right: 0px;
    padding-top: 19px;
    padding-bottom: 0;
    flex-wrap: wrap;
  }


  .Form th span {
    margin-right: 5px;
    padding: 3px;
    margin-top: -2px;
  }

  #form .Form input,
  .Form textarea {
    margin-left: 11px;
    padding: 9px 0px 14px 15px;
    font-size: 9px;
    vertical-align: text-top;
    width: 73%;
  }

  #form .Form input.ch_b {
    width: 13px;
    margin-right: 5px;
    font-size: 10px;
    display: inline-block;
  }

  #form .form_text {
    text-align: left;
    font-size: 14px;
    width: 90%;
    margin: 0 auto;
  }

  #form .form_text li {
    font-size: 12px;
  }

  .Form-Item-Label {
    max-width: inherit;
    display: flex;
    align-items: center;
    font-size: 15px;
  }

  #form .Form input,
  .Form textarea {
    margin-left: 11px;
    padding: 9px 0px 14px 15px;
    font-size: 11px;
    vertical-align: text-top;
    width: 96%;
    margin-bottom: 7px;
  }

  #form [type="submit"] {
    margin-top: 15px;
  }

}
@media only screen and (max-width: 798px) {

  #header_bx {
    position: fixed;
    background: none;
    top: 2%;
    width: 100%;
  }

  .nav {
    position: fixed;
    right: -350px;
    /* 右から出てくる */
    top: 0;
    width: 300px;
    /* スマホに収まるサイズ */
    height: 100vh;
    padding-top: 60px;
    background-color: #fff;
    transition: all .6s;
    z-index: 200;
    overflow-y: auto;
    /* メニューが多くなったらスクロールできるように */
  }

  .hamburger {
    position: absolute;
    right: 15px;
    top: 5px;
    width: 35px;
    height: 38px;
    cursor: pointer;
    z-index: 300;
    background: #fff;
  }

  .nav_list {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .nav_item {
    text-align: center;
    padding: 0 14px;
  }

  .nav_item a {
    display: block;
    padding: 8px 0;
    text-decoration: none;
  }

  .nav_item a:hover {
    background-color: #eee;
  }

  .hamburger_border {
    position: absolute;
    left: 11px;
    width: 16px;
    height: 2px;
    background-color: #333;
    transition: all .6s;
  }

  .hamburger_border_top {
    top: 14px;
  }

  .hamburger_border_center {
    top: 20px;
  }

  .hamburger_border_bottom {
    top: 26px;
  }

  .black_bg {
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    z-index: 100;
    opacity: 0;
    visibility: hidden;
    transition: all .6s;
    cursor: pointer;
  }

  .nav-open .nav {
    right: -10px;
  }


  .nav-open .black_bg {
    opacity: .8;
    visibility: visible;
  }

  .nav-open .hamburger_border_top {
    transform: rotate(45deg);
    top: 20px;
  }

  .nav-open .hamburger_border_center {
    width: 0;
    left: 50%;
  }

  .nav-open .hamburger_border_bottom {
    transform: rotate(-45deg);
    top: 20px;
  }

  .mgb40 {
    margin-bottom: 20px;
}

.mgt40 {
    margin-top: 20px;
}
.mgt70 {
  margin-top: 30px;
}
.dmy.fnt14 ,.topi_tit.fnt14{
  font-size: 12px;
}
h1.fnt30 {
  font-size: 24px;
  margin-top: 35px;
}
.com_b_h1 {
  padding-bottom: 13px;
  border-bottom: 1px solid #000;
  display: inline-block;
  font-weight: 800;
}
.topi_tit .dmy::before {
  display: inline-block;
  width: 10px;}
.carousel_prev, .carousel_next {
  padding: 7px 10px;
    top: 35%;
  }

.fnt18 {
  font-size: 16px;
}
.cate {
  margin: 0 5px;
  padding: 3px 7px;
  font-size: 10px;
}
.view_all {
  background: #000;
  text-align: center;
  margin-left: 10px;
  padding: 0px 7px 3px 9px;
  margin-right: 25px;
}

.sp_flex_direction{
  flex-direction: column;
}

.center_logo {
  position: absolute;
  top: 40%;
  width: 140px;
}
.event .black_btn {
    width: 100%;
}
.event .google_btn{
    width: 100%;
}

.company_btn {
  position: absolute;
  bottom: 5%;
  right: 8%;
  padding: 0px 13px;
  letter-spacing: 0.1em;
  
}
.company_btn a{
  font-size: 12px;
}
.footer_flex .logo_eara {
  padding-bottom: 100px;
  padding-top: 100px;
}
.footer_flex .logo_eara {
  border-right: none;
  padding-bottom: 0px;
  padding-top: 100px;
}
.footer_flex .logo_eara, .footer_flex .f_menu {
  width: 100%;
  padding-top: 20px;
  margin-top: 0px;
  margin-bottom: 20px;
}
.nav {
  position: fixed;
  right: -350px;
  top: 0;
}
.navIn01 {
  width: 100%;
  margin-left: 5%;
}
.flex.navIn01 {
  display: block;}
  .h_menu {
    padding: 15px 3% 7px;
    width: 86%;
    border-bottom: 1px solid #ddd;
  }
.h_menu:nth-child(1) {
    padding: 15px 3% 0px;
    border-bottom: none;
  }
  .h_menu img {
    width: 106px;
    margin: 10px auto 35px;
  }
.navIn02 {
  width: 100%;}
  .navIn02 img.menber_img {
    padding: 0 5px;
    width: 126px;
    margin-top: 10px;
    margin-right: 0;
}
.navIn02 li:nth-child(2){
  width: 48px;
}
.navIn02 li:nth-child(3){
  width: 48px;
}
.nav-open .nav {
  flex-direction: column;
}
.navIn02 {width: 100%;
align-items: center;
}
.navIn02 .h_menu {
  padding: 4px 3%;
  width: 47%;
}

.ja_has_b_tit {
  font-size: 20px;}
  .company-info {
    margin-left: 0;
}
.company_label {
  width: 120px;
  font-size: 14px;
  font-weight: 500;
}
.company_value {
  font-size: 14px;
}
.info-row {
  padding-bottom: 25px;
  margin-bottom: 25px;}
  .en_no.fnt30 {
    font-size: 24px;}
    .tab-button {
      cursor: pointer;
      padding: 10px 4px;
}
.tab-content img {
  margin: 25px auto;
}
.mgt80 {
  margin-top: 50px;
}
.sub_com_h1 {
  padding-bottom: 45px;
  padding-top: 0px;
}
.letter_s012 {
  letter-spacing: 0.12em;
  padding-bottom: 50px;
}
.sub_com_h2
 {
    font-size: 45px;}
    .flex_txt {
      width: 47%;
  }
  .flex_img {
    width: 51%;
}
.mgb50 {
  margin-bottom: 30px;
}
.txt_abu {
  width: 39%;
}
.flex_txt .fnt28 {
  font-size: 22px;
}

/* sp */

/* 最新のsafari用*/

  ::-webkit-full-page-media, :future, :root #form .Form input, .Form textarea {
    width: 100%;
  }

  ::-webkit-full-page-media, :future, :root #recruit .mw_wp_form .horizontal-item input {
    margin-left: 31px;
    width: auto !important;
  } 
  ::-webkit-full-page-media, :future, :root #form .mw_wp_form .horizontal-item input {
    width: auto !important;
  }
  ::-webkit-full-page-media, :future, :root #recruit #form .Form [type="radio"]{
    width: auto !important;
  }

  #header_bx {
    position: fixed;
    background: none;
    top: 0%;
    width: 100%;
   padding: 15px 0;
    background: #fff;
  }

.sp_logo{
  width: 91px;
  margin: 0 15px;
}
.sp_h_icon{
  width: 80px;
  position: absolute;
  top: 19px;
  right: 56px;
}
.sp_h_icon p{
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  justify-content: center;
  align-items: center;
}
.top_main{
  margin-top: 45px;
}
.login-button,.login-ico{
  margin-right: 15px;
}
   .nav {
    padding-top: 10px;
  }
.navIn01, .navIn02 {
  padding: 0px 0;
}
.event .flex03 li {
        margin-top: 0px;
    }
.event .flex03 li:nth-child(3) {
        margin-top: 0px;
    }
.event .black_btn {
        width: 100%;
        margin-bottom: 20px;
    }   
  .event .fnt14 {
    font-size: 10px;
} 
.day_txt {
    font-size: 12px;
}
.day_mark {
    padding: 5px 10px;
    font-size: 10px;
}
.h_menu.sp .btn_style{
  padding: 3px 0 0;
}
.h_menu.sp .btn_style a{    font-size: 16px;}

.f_btnflex{
  margin-top: 30px;
}


}
@media only screen and (max-width: 498px) {
    .common_inner {
    max-width: 95%;
  }
  #header_bx {
   padding: 11px 0;
  }
.sp_h_icon{
  top: 16px;
}
  .hamburger {
    top: 5px;
    width: 35px;
    height: 38px;
  }

  .carousel_track {

    padding-bottom: 30px;
    margin-left: 65px;
}
.item_tit{
    font-size: 12px;
}
.top_main{
  margin-top: 15px;
}
/* .eve_feat .flex1 {
    flex: unset;
} */
.event .flex03 {
        flex-direction: row;
        justify-content: space-between;
}
.event .google_btn {
        width: 100%;
        font-size: 10px;
}
.event li .center_btn .en.font_b {
    font-size: 10px;
}
.event .com_bg {
    font-size: 8px;
}
.event .black_btn {
    padding: 4px 0 6px;
}
.event .item_tit {
    font-size: 12px;
}
    .event ul.flex03 li:nth-child(2), .event ul.flex03 li:nth-child(3) {
        width: 48%;
      order: unset; 
        margin-bottom: 0px;
    }
.google_btn img {
      width: 17px;
}
  h1.fnt30 {
    font-size: 20px;
  }
  .flex_txt {
    width: 100%;
  }
  .flex_img {
    width: 100%;
    margin: 30px 0;
  }

  .ja_has_b_tit {
    font-size: 18px;
}
  .info-row {
    flex-direction: column;
  }
    .company_label {
    width: 100%;
    margin-bottom: 10px;
    font-size: 12px;
  }
    .company_value {
    width: 100%;
    font-size: 12px;
  }
  .f_menu .flex li.f_me001 {
    width: 35%;
    margin-right: 4%;
}
  .f_menu .flex li.f_me002 {
  width: 51%;
}
footer .footer_flex {
  margin-top: 60px;
}
.f_guide span {
  margin-left: 20px;
}
    .f_btnflex .flex1 {
        flex: unset;
        width: 100%;
    }
}