/* -------------------------------
 * #home
---------------------------------*/
/* #home #mv
---------------------------------*/
#home .slider{
  width: 1200px; height: 360px;
  opacity: 0;
  transition: opacity 0.2s ease;
}
#home .slider.slick-initialized{
  opacity: 1;
}
#home .slider::before{
  width: 100%; height: 100%;
  position: absolute; left: 0; top: 0; z-index: 10;
  display: block;
  content: '';
  border: #BFCEE3 1px solid;
  pointer-events: none;
}
#home .slider .item{
  width: 1200px; height: 360px;
  position: relative;
}
#home .slider .item .bg{
  width: 100%; height: 100%;
  position: absolute; left: 0; top: 0; z-index: 1;
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: 100% auto;
}
#home .slider .item .block{
  width: 100%; height: 100%;
  padding: 32px 40px;
  position: relative; z-index: 2;
  background-image: url("../image/home/mv_parts_gradation.png");
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 100% auto;
}
#home .slider .item.sbp .block{
  padding-top: 40px;
  background: none;
}
#home .slider .item h2{
  padding-bottom: 26px;
  font-size: 46px; line-height: 1.3; font-weight: 700; color: #FFF;
  text-shadow: 0px 3px 12px rgba(0, 59, 143, 1);
}
#home .slider .item .text{
  font-size: 20px; line-height: 1.5; font-weight: 500; color: #FFF;
  text-shadow: 0px 3px 12px rgba(0, 59, 143, 1);
}
#home .slider .item.sbp h2{
  display: none;
}
#home .slider .item.sbp .logo{
  width: 720px; height: 32px;
}
#home .slider .item.sbp .text{
  margin-top: 24px;
  font-size: 26px; line-height: 1.5; font-weight: 500; color: #003b8f;
  text-shadow: none;
}
#home .slider a.btn_slide{
  padding: 10px 31px 11px;
  position: absolute; left: 40px; bottom: 40px;
  display: inline-block;
  background-color: #1E99E6;
  border-radius: 4px;
  font-size: 18px; line-height: 1.5; font-weight: 400; color: #FFF; text-decoration: none;
  font-family: 'Roboto';
  transition: opacity 0.3s ease;
}
#home .slider a.btn_slide:hover{
  background-color: #5AB9F5;
}
/* .slick Arrows */
#home .slider .slick-prev,
#home .slider .slick-next{
  width: 40px; height: 40px;
  padding: 0;
  display: block;
  position: absolute; top: 50%; z-index: 100;
  background-color: #FFF;
  border: #809DC7  1px solid; outline: none;
  border-radius: 50%;
  font-size: 0; line-height: 0; color: transparent;
}
#home .slider .slick-prev{
  left: 0;
  transform: translate(-50%, -50%);
}
#home .slider .slick-next{
  right: 0;
  transform: translate(50%, -50%);
}
#home .slider .slick-prev::before,
#home .slider .slick-next::before{
  width: 100%; height: 100%;
  display: block;
  position: absolute; left: 0; top: 0;
  content: '';
  background-image: url("../image/home/btn_slide.svg");
  background-size: 100% 100%;
  cursor: pointer;
}
#home .slider .slick-next::before{
  transform: rotate(180deg);
}
#home .slider .slick-prev:hover::before,
#home .slider .slick-next:hover::before{
  opacity: 0.5;
}
/* .slick Dots */
.slick-dots{
  width: 100%;
  margin: 0; padding: 0;
  bottom: -24px;
  position: absolute;
  display: block;
  list-style: none;
  text-align: center;
}
.slick-dots li{
  width: 12px; height: 12px;
  margin: 0 4px; padding: 0;
  position: relative;
  display: inline-block;
  cursor: pointer;
}
.slick-dots li button{
  width: 12px; height: 12px;
  padding: 4px;
  display: block;
  color: transparent;
  border: 0; outline: none;
  border-radius: 50%;
  background: #406CAB;
  font-size: 0; line-height: 0;
  cursor: pointer;
}
.slick-dots li.slick-active button{
  background: #A58B4F;
}
@media (max-width: 767px){
  #home .slider{
    width: 100%; height: 73.867vw;
  }
  #home .slider::before{
    display: none;
  }
  #home .slider .item{
    width: 100%; height: 71.467vw;
  }
  #home .slider .item .block,
  #home .slider .item.sbp .block{
    width: 100%; height: 100%;
    padding: 55.73vw 0 0 0;
    background: none;
  }
  #home .slider .item .bg{
    height: 53.33vw;
  }
  #home .slider .item .bg img{
    display: none;
  }
  #home .slider .item h2,
  #home .slider .item.sbp h2{
    padding-left: 3.467vw; padding-bottom: 0;
    display: block;
    position: relative;
    font-size: 4.8vw; line-height: 1.5; font-weight: 500; color: #003b8f;
    text-shadow: none;
  }
  #home .slider .item .text,
  #home .slider .item.sbp .text{
    display: none;
  }
  #home .slider .item.sbp .logo{
    width: 92vw; height: 4vw;
    position: absolute; left: 0; top: 2.13vw;
  }
  
  
  #home .slider a.btn_slide{
    padding: 0 4.8vw 0;
    left: auto; bottom: auto; right: 2.4vw; top: 42.133vw;
    border-radius: 4px;
    font-size: 3.467vw; line-height: 8.8vw;
  }
  #home .slider .item h2::after,
  #home .slider .item.sbp .sbp_text::after{
    width: 1.067vw; height: 100%;
    position: absolute; left: 0; top: 0;
    display: block;
    content: '';
    background-color: #CCA850;
    font-size: 0;
  }
  #home .slider .item.sbp .text{
    padding-top: 55.73vw;
    font-size: 5.33vw; line-height: 1.5; color: #003b8f;
  }
  /* .slick Dots */
  .slick-dots{
    bottom: -3.2vw;
  }
  .slick-dots li{
    width: 2.4vw; height: 2.4vw;
    margin: 0 1.6vw; padding: 0;
  }
  .slick-dots li button{
    width: 2.4vw; height: 2.4vw;
    padding: 0;
  }
}

/* #pickup
---------------------------------*/
#pickup .wrap{
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
}
#pickup .item{
  width: 584px; height: 220px;
  display: block;
  position: relative;
  overflow: hidden;
}
#pickup a.item{
  text-decoration: none;
}
#pickup .block{
  width: 100%; height: 100%;
  border: #BFCEE3 1px solid;
  background-position: center top;
  background-size: 100% auto;
}
#pickup .pic{
  width: 172px; height: 172px;
  position: absolute; left: 24px; top: 24px;
  background-repeat: no-repeat;
  background-size: 100% auto;
}
#pickup .box{
  padding: 24px 24px 24px 220px;
}
#pickup .label{
  margin-bottom: 12px; padding: 4px 12px;
  display: inline-block;
  background-color: #A58B4F;
  font-size: 16px; font-weight: 500; color: #FFF;
}
#pickup h3{
  margin-bottom: 8px;
  font-size: 22px; font-weight: 700; color: #003B8F;
}
#pickup .text{
  margin-bottom: 16px;
  font-size: 14px; color: #333;
}
#pickup .type_a,
#pickup .type_c{
  background-color: #FFF;
}
#pickup .type_b{
  background-color: #002C6B;
}
/* #pickup .type_b .box{
  padding-left: 180px;
}*/
#pickup .type_b h3,
#pickup .type_b .text{
  color: #FFF;
}
#pickup .type_b .btn_s{
  background-color: #1E99E6;
}
@media (max-width: 767px){
  #pickup .wrap{
    gap: 4vw;
  }
  #pickup .item{
    width: 100%; height: auto;
  }
  #pickup .block{
    width: 100%; height: 100%;
    border: #BFCEE3 1px solid;
    background-position: center top;
    background-size: 100% auto;
  }
  #pickup .pic{
    width: 22.4vw; height: 22.4vw;
    left: 3.2vw; top: 3.2vw;
  }
  #pickup .box,
  #pickup .type_b .box{
    padding: 3.2vw 3.2vw 3.2vw 28.8vw;
  }
  #pickup .label{
    margin-bottom: 1.6vw; padding: 0.8vw 2.4vw;
    font-size: 3.733vw;
  }
  #pickup h3{
    margin-bottom: 0.8vw;
    font-size: 4.267vw;
  }
  #pickup .text{
    margin-bottom: 2.4vw;
    font-size: 3.467vw;
  }
}

/* #about-home
---------------------------------*/
.about-home_list{
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 32px 24px;
}
.about-home_list .item{
  width: 282px; height: 332px;
  position: relative;
  display: block;
}
.about-home_list a.item{
  text-decoration: none;
}
.about-home_list .item.youtube{
  width: 588px; height: 331px;
}
.about-home_list .block{
  width: 100%; height: 100%;
  padding: 24px;
  border: #CCC 1px solid;
  border-radius: 4px;
}
.about-home_list .pic{
  width: 80px; height: 80px;
  margin: 0 auto 12px;
}
.about-home_list h3{
  margin-bottom: 13px;
  font-size: 19px; font-weight: 500; text-align: center; color: #003B8F;
}
.about-home_list .text{
  font-size: 15px; color: #333;
}
.about-home_list .btn_m{
  position: absolute; left: 50%; bottom: 24px;
  transform: translate(-50%, 0);
  white-space: nowrap;
}
@media (max-width: 767px){
 .about-home_list{
    gap: 4vw;
  }
  .about-home_list .item{
    width: 100%; height:auto;
    text-align: center;
  }
  .about-home_list .item.youtube{
    width: 100%; height: 51.733vw;
  }
  .about-home_list .block{
    padding: 6.4vw 4.8vw;
    border-radius: 4px;
  }
  .about-home_list .pic{
    width: 24vw; height: 24vw;
    margin: 0 auto 3.2vw;
  }
  .about-home_list h3{
    margin-bottom: 3.467vw;
    font-size: 5.0667vw;
  }
  .about-home_list .text{
    margin-bottom: 4.8vw;
    font-size: 4vw; text-align: left;
  }
  .about-home_list .btn_m{
    margin: 0 auto;
    display: inline-block;
    position: relative; left: auto; bottom: auto;
    transform: translate(0, 0);
  } 
}
/* #sponsor
---------------------------------*/
#sponsor .block{
  padding: 48px 0;
  border-top: #DCDCDC 1px solid;
  text-align: center;
}
#sponsor .block:last-child{
  padding-bottom: 0;
}
#sponsor h4{
  margin-bottom: 40px;
  font-size: 22px; font-weight: 500; color: #003B8F;
}
#sponsor h5{
  margin-bottom: 40px;
  font-size: 16px; font-weight: 500; color: #003B8F;
}
#sponsor .block:nth-child(1) .pic{/*logo:Pia*/
  width: 140px; height: 74px;
  margin: 0 auto;
}
#sponsor .block:nth-child(2) .pic{/*logo:BLUE UNITED*/
  width: 320px; height: 43px;
  margin: 0 auto;
}
#sponsor .list{
  width: 100%;
  font-size: 0; text-align: center;
}
#sponsor .list li{
  margin: 0 32px;
  list-style: none;
  display: inline-block; vertical-align: middle;
}
#sponsor .list li.item1{width: 164px;}
#sponsor .list li.item2{width: 240px;}
#sponsor .list li.item3{width: 160px;}
#sponsor .list li.item4{width: 224px;}
#sponsor .list img{width: 100%; height: auto;}

@media (max-width: 767px){
  #sponsor .block{
    padding: 9.6vw 0;
  }
  #sponsor h4{
    margin-bottom: 8vw;
    font-size: 5.33vw;
  }
  #sponsor h5{
    margin-bottom: 8vw;
    font-size: 4.267vw; 
  }
  #sponsor .block:nth-child(1) .pic{/*logo:Pia*/
    width: 32vw; height: 16.8vw;
  }
  #sponsor .block:nth-child(2) .pic{/*logo:BLUE UNITED*/
    width: 64vw; height: 8.533vw;
    margin: 0 auto;
  }
  #sponsor .block:nth-child(3) h5{
    margin-bottom: 1.6vw;
  }
  #sponsor .list li{
    margin: 0 3.2vw;
  }
  #sponsor .list li.item1{width: 30.4vw; padding: 6.4vw 0;}
  #sponsor .list li.item2{width: 44vw; padding: 6.4vw 0;}
  #sponsor .list li.item3{width: 29.6vw;}
  #sponsor .list li.item4{width: 41.6vw;}
}

/* -------------------------------
 * NEWS
---------------------------------*/
section#news_content{
  padding-bottom: 64px;
}
.news_caption{
  padding-bottom: 16px;
  font-size: 14px; color: #666; text-align: right;
}
#news-home .button-wrap{
  display: none;
}
@media (max-width: 767px){
  section#news_content{
    padding-bottom: 12.8vw;
  }
  .news_caption{
    padding-bottom: 4vw;
    font-size: 3.733vw; text-align: left;
  }
  #news-home .button-wrap{
    margin-top: 5.6vw;
    display: block;
    text-align: center;
  }
}
/* .news_list
---------------------------------*/
.news_list{
  width: 100%;
}
.news_list .item{
  width: 100%;
  list-style: none;
}
.news_list .item:nth-child(odd){
  background-color: #F8F8F8;
}
.news_list a{
  width: 100%;
  position: relative;
  display: table;
  padding: 24px;
  text-decoration: none;
}
.news_list a::before{
  width: 24px; height: 24px;
  position: absolute; right: 24px; top: 50%;
  display: block;
  content: '';
  transform: translate(0, -50%);
  background-image: url("../image/common/icon_arrow-line_blue.svg");
  background-size: 100% 100%;
}
.news_list .pic{
  width: 120px;
  display: table-cell; vertical-align: middle;
}
.news_list .block{
  padding-left: 24px;
  display: table-cell; vertical-align: middle;
}
.news_list .news_icons{
  margin-bottom: 8px;
}
.news_list .news_labels{
  margin-bottom: 8px; padding-top: 5px;
  font-size: 0;
}
.news_list .news_labels .label1{
  padding: 0 12px;
  display: inline-block;
  white-space: nowrap;
  background-color: #406CAB;
  border: #406CAB 1px solid;
  font-size: 13px; line-height: 23px; color: #FFF;
}
.news_list .news_labels .label2{
  padding: 0 12px;
  display: inline-block;
  white-space: nowrap;
  background-color: #FFF;
  border: #406CAB 1px solid;
  font-size: 13px; line-height: 23px; color: #406CAB;
}
.news_list .news_labels.blue2 .label1{
  background-color: #406CAB;
  border: #406CAB 1px solid;
}
.news_list .news_labels.blue2 .label2{
  border: #406CAB 1px solid;
  color: #406CAB;
}
.news_list h3{
  margin-bottom: 8px;
  font-size: 16px; font-weight: 500; color: #003B8F;
}
.news_list .text{
  font-size: 14px; color: #333;
}
@media (max-width: 767px){
  .news_list .item a{
    padding: 11.467vw 2.4vw 4vw 2.4vw;
  }
  .news_list a::before{
    display: none;
  }
  .news_list .pic{
    width: 19.2vw;
    vertical-align: top;
  }
  .news_list .block{
    padding-left: 2.4vw;
    vertical-align: top;
  }
  .news_list .news_icons{
    position: absolute; left: 2.4vw; top: 4vw;
  }
  .news_list .news_labels{
    margin-bottom: 1.6vw; padding-top: 0;
    display: block;
    font-size: 0;
  }
  .news_list .news_labels .label1,
  .news_list .news_labels .label2{
    padding: 0 2.4vw;
    font-size: 2.933vw; line-height: 5.6vw;
  }
  .news_list h3{
    margin-bottom: 1.6vw;
    font-size: 4.267vw;
  }
  .news_list .text{
    font-size: 3.467vw;
  }
}
/* .news_icons
---------------------------------*/
.news_icons{
  font-size: 0;
}
.news_icons p{
  display: inline-block;
  line-height: 19px;
}
.news_icons p.date{
  padding-right: 16px;
  font-size: 14px; color: #666;
}
.news_icons p.icon{
  margin-right: 10px; padding: 0 16px;
  background-color: #003B8F;
  border-radius: 9.5px;
  font-size: 11px; font-weight: 500; color: #FFF;
}
@media (max-width: 767px){
  .news_icons p{
    display: inline-block;
    line-height: 5.067vw;
  }
  .news_icons p.date{
    padding-right: 4vw;
    font-size: 3.467vw;
  }
  .news_icons p.icon{
    margin-right: 1.6vw; padding: 0 4.267vw;
    border-radius: 2.5335vw;
    font-size: 2.933vw;
  }
}
/* .news_header
---------------------------------*/
.news_header{
  padding-top: 24px;
  border-top: #DCDCDC 1px solid;
  position: relative;
}
.news_header .news_icons {
  float: right;
}
.news_header .title3 {
  margin-bottom: 0;
  float: left;
  font-size: 22px;
}
.news_header .news_labels{
  margin-top: 24px; padding-bottom: 18px;
  font-size: 0;
}
.news_header .news_labels .label1{
  padding: 0 16px;
  display: inline-block;
  white-space: nowrap;
  background-color: #406CAB;
  border: #406CAB 1px solid;
  font-size: 16px; line-height: 34px; color: #FFF;
}
.news_header .news_labels .label2{
  padding: 0 16px;
  display: inline-block;
  white-space: nowrap;
  background-color: #FFF;
  border: #406CAB 1px solid;
  font-size: 16px; line-height: 34px; color: #406CAB;
}
.news_header .news_labels.bule2 .label1{
  background-color: #4691C8;
  border: #4691C8 1px solid;
}
.news_header .news_labels.bule2 .label2{
  border: #4691C8 1px solid;
  color: #4691C8;
}
@media (max-width: 767px){
  .news_header{
    padding-top: 3.2vw;
  }
  .news_header .news_icons {
    float: none;
    text-align: right;
  }
  .news_header .title3 {
    margin-top: 5.6vw;
    float: none;
    font-size: 5.33vw;
  }
  .news_header .news_labels{
    margin-top: 6.67vw; padding-bottom: 0;
    font-size: 0;
  }
  .news_header .news_labels .label1{
    padding: 0 2.4vw;
    font-size: 2.933vw; line-height: 5.6vw;
  }
  .news_header .news_labels .label2{
    padding: 0 2.4vw;
    font-size: 2.933vw; line-height: 5.6vw;
  }
}
/* .news_category_select
---------------------------------*/
.news_category_select{
  width: 240px;
  position: absolute; right: 0; top: 0; z-index: 100;
}
.news_category_select::before{
  width: 40px; height: 40px;
  position: absolute; right: 0; top: 0; z-index: 101;
  display: block;
  content: '';
  background-color: #003B8F;
  background-image: url("../image/common/icon_down.svg");
  background-position: center center;
  background-repeat: no-repeat;
  border-radius: 0 4px 4px 0;
  pointer-events: none;
}
.news_category_select:hover::before{
  background-color: #7f9cc7;
}
.news_category_select.active::before{
  background-color: #7f9cc7;
  border-radius: 0 4px 0 0;
}
.news_category_select .wrap{
  width: 100%;
  background-color: #FFF;
  border: 1px solid #CCC;
  border-radius: 4px;
  font-size: 16px; line-height: 38px;
  overflow: hidden;
}
.news_category_select.active .wrap{
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.1);
}
.news_category_select .selected{
  width: 100%;
  padding: 0 56px 0 16px;
  position: relative;
  cursor: pointer;
}
.news_category_select:hover .selected,
.news_category_select.active .selected{
  color: #999;
}
.news_category_select .block{
  width: 100%;
  border-top: none;
  display: none;
}
.news_category_select.active .block{
  display: block;
}
.news_category_select.active a{
  width: 100%;
  padding: 0 56px 0 16px;
  display: block;
  border-top: 1px solid #CCC;
  color: #003B8F;
  text-decoration: none;
}
.news_category_select.active a:hover{
  background-color: #F5FAFF;
}
@media (max-width: 767px){
  .news_category_select{
    width: 100%; height: 11.2vw;
    margin-bottom: 9.6vw; margin-top: 4.8vw;
    position: relative; right: auto; top: auto; z-index: 100;
  }
  .news_category_select::before{
    width: 11.2vw; height: 11.2vw;
    background-size: 6.4vw 6.4vw;
    border-radius: 0 4px 4px 0;
  }
  .news_category_select.active::before{
    border-radius: 0 4px 0 0;
  }
  .news_category_select .wrap{
    position: absolute; left: 0; top: 0;
    border-radius: 4px;
    font-size: 4vw; line-height: 10.933vw;
  }
  .news_category_select .selected{
    padding: 0 14.4vw 0 3.0vw;
  }
  .news_category_select.active a{
    padding: 0 14.4vw 0 3.0vw;
  }
}
/* .news_pagination
---------------------------------*/
.news_pagination{
  width: 100%;
  font-size: 0; text-align: center;
  list-style: none;
}
.news_pagination li{
  margin: 0 4px;
  display: inline-block; vertical-align: top;
  font-size: 18px; line-height: 50px; font-weight: 500; font-family: 'Roboto';
}
.news_pagination .page-numbers{
  width: 52px;
  display: block;
  position: relative;
  border: #CCC 1px solid;
  border-radius: 4px;
}
.news_pagination a.page-numbers{
  color: #003B8F; text-decoration: none;
  transition: all 0.2s ease;
}
.news_pagination span.page-numbers{
  color: #CCC;
}
.news_pagination span.page-numbers.current{
  border: #003B8F 1px solid;
  background-color: #003B8F;
  color: #FFF;
}
.news_pagination .page-numbers.prev::before,
.news_pagination .page-numbers.next::before{
  width: 24px; height: 24px;
  position: absolute; left: 50%; top: 50%;
  display: block;
  content: '';
  transform: translate(-50%, -50%);
  background-image: url("../image/common/icon_arrow-line_blue.svg");
  background-size: 100% 100%;
}
.news_pagination .page-numbers.prev::before{
  transform: translate(-50%, -50%) rotate(180deg);
}
.news_pagination span.page-numbers.prev::before,
.news_pagination span.page-numbers.next::before{
  background-image: url("../image/common/icon_arrow-line_gray.svg");
}
.news_pagination a.page-numbers:hover{
  background-color: #809DC7;
  border: #809DC7 1px solid;
  color: #FFF;
}
.news_pagination a.page-numbers.prev:hover::before,
.news_pagination a.page-numbers.next:hover::before{
  background-image: url("../image/common/icon_arrow-line.svg");
}
.news_pagination.main{
  font-family: 'Roboto';
}
.news_pagination .page-numbers.index{
  width: auto;
  padding: 0 51px;
  font-size: 16px;
}
@media (max-width: 767px){
  .news_pagination.main{
    margin-top: 5.6vw;
  }
  .news_pagination li{
    margin: 0 1.2vw;
    font-size: 5.33vw; line-height: 13.8667vw;
  }
  .news_pagination .page-numbers{
    width: 14.4vw;
    border-radius: 4px;
  }
  .news_pagination.main .page-numbers.prev,
  .news_pagination.main .page-numbers.next{
    display: none;
  }
  .news_pagination .page-numbers.index{
    padding: 0 13.6vw;
    font-size: 4.2667vw;
  }
}
/* .news_sns
---------------------------------*/
.news_sns{
  width: 100%;
  padding: 32px 0;
  list-style: none;
  border-top: #DCDCDC 1px solid;
  font-size: 0; text-align: center;
}
.news_sns li{
  width: 24px;
  margin: 0 6px;
  display: inline-block;
}
@media (max-width: 767px){
  .news_sns{
    padding: 8vw 0;
  }
  .news_sns li{
    width: 8vw;
    margin: 0 1.6vw;
  }
}
/* -------------------------------
 * #about
---------------------------------*/
/* #about_point
---------------------------------*/
#about_point .title2.s{
  margin-top: -17px; margin-bottom: 50px;
}
#about_point .title2.s b{
  font-size: 36px; font-weight: 700;
}
#about_point .about_wrap{
  width: 100%;
  display: flex;
  gap: 32px;
}
#about_point .about_wrap .item{
  width: 390px;
  padding-right: 33px;
  position: relative;
  border-right: #DCDCDC 1px solid;
}
#about_point .about_wrap .item:last-child{
  width: 356px;
  padding-right: 0;
  border-right: none;
}
#about_point .about_wrap .item::before{
  width: 48px;
  position: absolute; left: 0; top: 0;
  content: '';
  background-color: #003B8F;
  font-size: 24px; line-height: 2; font-weight: 500; color: #FFF; text-align: center;
  font-family: 'Roboto';
}
#about_point .about_wrap .item:nth-child(1)::before{
  content: '01';
}
#about_point .about_wrap .item:nth-child(2)::before{
  content: '02';
}
#about_point .about_wrap .item:nth-child(3)::before{
  content: '03';
}
#about_point .about_wrap .pic{
  margin: 24px auto 0;
  width: 90px; height: 90px;
}
#about_point h5{
  font-size: 19px; font-weight: 700; color: #003B8F; text-align: center;
}
#about_point .about_wrap h5{
  margin-top: 24px;
}
#about_point .about_wrap ul{
  margin-top: 25px;
}
#about_point .about_wrap li{
  margin-bottom: 16px; padding-left: 32px;
  position: relative;
  list-style: none;
  font-size: 16px;
}
#about_point .about_wrap li:last-child{
  margin-bottom: 0;
}
#about_point .about_wrap li::before{
  width: 24px; height: 24px;
  position: absolute; left: 0; top: 0;
  content: '';
  background-image: url("../image/about/icon_check.svg");
  background-repeat: no-repeat;
}
#about_point h5.about_title{
  margin-top: 72px;
}
#about_point .about_image{
  width: 800px;
  margin: 33px auto 0;
}
@media (max-width: 767px){
  #about_point .title2.s{
    margin-top: -2.4vw; margin-bottom: 8vw;
  }
  #about_point .title2.s b{
    font-size: 7.2vw;
  }
  #about_point .about_wrap{
    width: 100%;
    display: flex;
    gap: 32px;
  }
  #about_point .about_wrap{
    display: block;
    gap: 0;
  }
  #about_point .about_wrap .item{
    width: 100%;
    padding-right: 0; padding-bottom: 8.533vw; margin-top: 8vw;
    position: relative;
    border-right: none; border-bottom: #DCDCDC 1px solid;
  }
  #about_point .about_wrap .item:last-child{
    width: 100%;
  }
  #about_point .about_wrap .item:first-child{
    margin-top: 0;
  }
  #about_point .about_wrap .item::before{
    width: 12.8vw;
    font-size: 6.4vw;
  }
  #about_point .about_wrap .pic{
    margin: 0 auto; padding-top: 4.8vw;
    width: 24vw; height: 28.8vw;
  }
  #about_point h5{
    font-size: 4.8vw;
  }
  #about_point .about_wrap h5{
    margin-top: 4.8vw;
  }
  #about_point .about_wrap ul{
    margin-top: 4.8vw;
  }
  #about_point .about_wrap li{
    margin-bottom: 2.67vw; padding-left: 8vw;
    font-size: 4vw;
  }
  #about_point .about_wrap li::before{
    width: 5.6vw; height: 5.6vw;
    background-size: 100% 100%;
  }
  #about_point h5.about_title{
    margin-top: 8vw;
  }
  #about_point .about_image{
    width: 100%;
    margin: 5.6vw auto 0;
  }
}
/* #about_features
---------------------------------*/
#about_features .about_wrap{
  width: 100%;
  display: flex;
  gap: 32px;
}
#about_features .about_wrap + .about_wrap{
  margin-top: 32px;
}
#about_features .about_wrap .item{
  width: 582px;
  padding: 32px 32px 56px 32px;
  position: relative;
  border: #CCCCCC 1px solid;
  border-radius: 4px;
}
#about_features .about_wrap.button2 .item{
  padding-bottom: 92px;
}
#about_features .about_wrap.button3 .item{
  padding-bottom: 128px;
}
#about_features .about_wrap.button4 .item{
  padding-bottom: 164px;
}
#about_features .about_wrap .pic{
  width: 100%;
  margin-bottom: 24px;
}
#about_features .about_wrap .text{
  margin-bottom: 24px;
}
#about_features .about_wrap ul{
  position: absolute; left: 32px; bottom: 32px;
}
#about_features .about_wrap li{
  margin-top: 12px;
  list-style: none;
}
#about_features .about_wrap li:first-child{
  margin-top: 0;
}
@media (max-width: 767px){
  #about_features .about_wrap{
    width: 100%;
    display: block;
  }
  #about_features .about_wrap + .about_wrap{
    margin-top: 4vw;
  }
  #about_features .about_wrap .item{
    width: 100%;
    margin-top: 4vw;
    padding: 4.8vw 4vw;
  }
  #about_features .about_wrap .item:first-child{
    margin-top: 0;
  }
  #about_features .about_wrap.button2 .item,
  #about_features .about_wrap.button3 .item,
  #about_features .about_wrap.button4 .item{
    padding-bottom: 4.8vw;
  }
  #about_features .about_wrap .title3{
    font-size: 4.8vw;
    margin-bottom: 4.8vw;
  }
  #about_features .about_wrap .pic{
    margin-bottom: 4.8vw;
  }
  #about_features .about_wrap .text{
    margin-bottom: 4.8vw;
    font-size: 4vw;
  }
  #about_features .about_wrap ul{
    position: relative; left: auto; bottom: auto;
  }
  #about_features .about_wrap li{
    margin-top: 2.4vw;
  }
  #about_features .about_wrap li:first-child{
    margin-top: 0;
  }
}
/* #about_result
---------------------------------*/
#about_result .about_caption{
  margin-top: 16px;
  font-size: 13px; color: #666666; text-align: right;
}
@media (max-width: 767px){
  #about_result .about_caption{
    margin-top: 3.2vw;
    font-size: 3.467vw;
  }
}
/*#about #pickup
---------------------------------*/
#about #pickup h2{
  display: none;
}
/* -------------------------------
 * #lecturers
---------------------------------*/
/* #lecturers_head
---------------------------------*/
section#lecturers_head{
  padding-bottom: 64px;
}
#lecturers_head .profile_head_wrap{
  width: 100%;
  display: flex;
  gap: 32px;
}
#lecturers_head .pic{
  width: 300px;
}
#lecturers_head .block{
  width: 868px;
}
#lecturers_head h4{
  font-size: 28px; font-weight: 500;
}
#lecturers_head .text{
  margin-top: 12px;
  line-height: 1.75;
}
#lecturers_head .box1{
  margin-top: 15px;
}
#lecturers_head .label1{
  margin-top: 31px; padding: 0 24px;
  display: inline-block;
  background-color: #406CAB;
  font-size: 16px; font-weight: 500; line-height: 2; color: #FFF;
}
#lecturers_head ul{
  margin-top: 8px;
}
#lecturers_head li{
  padding: 8px 20px 0 0;
  list-style: none;
  display: inline-block;
}
#lecturers_head .label2{
  margin-top: 32px; padding: 0 24px;
  display: inline-block;
  background-color: #A58B4F;
  font-size: 16px; font-weight: 500; line-height: 2; color: #FFF;
}
#lecturers_head .box2{
  margin-top: 15px;
}
@media (max-width: 767px){
  section#lecturers_head{
    padding-bottom: 12.8vw;
  }
  #lecturers_head .profile_head_wrap{
    display: block;
  }
  #lecturers_head .pic{
    width: 100%;
  }
  #lecturers_head .block{
    width: 100%;
    margin-top: 5.6vw;
  }
  #lecturers_head h4{
    font-size: 5.867vw;
  }
  #lecturers_head .text{
    margin-top: 4.8vw;
  }
  #lecturers_head .box1{
    margin-top: 4.8vw;
  }
  #lecturers_head .label1{
    width: 100%;
    margin-top: 9.6vw; padding: 0;
    font-size: 4.267vw; line-height: 9.6vw; text-align: center;
  }
  #lecturers_head ul{
    margin-top: 4.8vw;
  }
  #lecturers_head li{
    width: 100%;
    padding: 0.8vw 0 0 0;
  }
  #lecturers_head .label2{
    width: 100%;
    margin-top: 9.6vw; padding: 0;
    font-size: 4.267vw; line-height: 9.6vw; text-align: center;
  }
  #lecturers_head .box2{
    margin-top: 4.8vw;
  }
}
/* #lecturers_members
---------------------------------*/
section#lecturers_members{
  padding-bottom: 32px;
}
#lecturers_members .lecturers_caption{
  font-size: 14px; color: #666666; text-align: right;
}
#lecturers_members .lecturers_wrap{
  width: 100%;
  display: flex;
}
#lecturers_members .lecturers_wrap .item{
  width: 300px;
  padding: 30px;
  list-style: none;
}
#lecturers_members .lecturers_wrap .pic{
  margin-bottom: 16px;
}
#lecturers_members .lecturers_wrap h4{
  margin-bottom: 8px;
  font-size: 20px; font-weight: 500;
}
#lecturers_members .lecturers_wrap .lead{
  font-size: 13px;
}
#lecturers_members .lecturers_wrap.line2 .lead{height: 3em;}
#lecturers_members .lecturers_wrap.line3 .lead{height: 4.5em;}
#lecturers_members .lecturers_wrap.line4 .lead{height: 6em;}
#lecturers_members .lecturers_wrap.line5 .lead{height: 7.5em;}
#lecturers_members .lecturers_wrap.line6 .lead{height: 9em;}
#lecturers_members .lecturers_wrap.line7 .lead{height: 10.5em;}
#lecturers_members .lecturers_wrap.line8 .lead{height: 12em;}
#lecturers_members .lecturers_wrap .label1{
  margin-top: 14px; padding: 0 24px;
  display: inline-block;
  background-color: #406CAB;
  font-size: 13px; font-weight: 500; line-height: 27px; color: #FFF;
}
#lecturers_members .lecturers_wrap .text{
  margin-top: 8px;
  font-size: 14px;
}
#lecturers_members .lecturers_wrap a {
  font-weight: 400;
}
@media (max-width: 767px){
  section#lecturers_members{
    padding-bottom: 9.6vw;
  }
  #lecturers_members .lecturers_caption{
    padding-bottom: 3.2vw;
    border-bottom: #DCDCDC 1px solid;
    font-size: 3.467vw;
  }
  #lecturers_members .lecturers_wrap{
    display: block;
  }
  #lecturers_members .lecturers_wrap .item{
    width: 100%;
    padding: 6.4vw 0;
    display: flex;
    gap: 4vw;
    border-bottom: #DCDCDC 1px solid;
  }
  #lecturers_members.no_others .lecturers_wrap:last-child .item:last-child{
    border-bottom: none;
  }
  #lecturers_members .lecturers_wrap .pic{
    width: 40vw;
    margin-bottom: 0;
  }
  #lecturers_members .lecturers_wrap .block{
    width: 48vw;
  }
  #lecturers_members .lecturers_wrap h4{
    margin-bottom: 1.6vw;
    font-size: 4.8vw;
  }
  #lecturers_members .lecturers_wrap .lead{
    font-size: 3.467vw;
  }
  #lecturers_members .lecturers_wrap.line2 .lead,
  #lecturers_members .lecturers_wrap.line3 .lead,
  #lecturers_members .lecturers_wrap.line4 .lead,
  #lecturers_members .lecturers_wrap.line5 .lead,
  #lecturers_members .lecturers_wrap.line6 .lead,
  #lecturers_members .lecturers_wrap.line7 .lead,
  #lecturers_members .lecturers_wrap.line8 .lead{
    height: auto;
  }
  #lecturers_members .lecturers_wrap .label1{
    margin-top: 3.2vw; padding: 0 4.8vw;
    font-size: 3.467vw; line-height: 6.67vw;
  }
  #lecturers_members .lecturers_wrap .text{
    margin-top: 1.6vw;
    font-size: 3.733vw;
  }
}
/* #lecturers_others
---------------------------------*/
#lecturers_others h3{
  margin-bottom: 12px;
  font-size: 18px; font-weight: 500; color: #A58B4F;
}
#lecturers_others table{
  width: 100%; 
  border-collapse: collapse; 
}
#lecturers_others th,
#lecturers_others td{
  margin: 0;
  border: 1px solid #CCC;
}
#lecturers_others th{
  width: 1px;
  padding: 15px 19px;
  border-right: none;
  font-size: 16px; font-weight: 500; text-align: left;
  white-space: nowrap;
}
#lecturers_others td{
  border-left: none;
  font-size: 0;
}
#lecturers_others td p{
  margin-right: 24px;
  display: inline-block;
  font-size: 13px;
}
#lecturers_others td p span{
  color: #406CAB;
}
@media (max-width: 767px){
  #lecturers_others h3{
    margin-bottom: 4vw;
    font-size: 4.8vw;
  }
  #lecturers_others table{
    border-top: 1px solid #CCC;
  }
  #lecturers_others th,
  #lecturers_others td{
    display: block;
  }
  #lecturers_others th{
    width: 100%;
    padding: 3.8vw 4vw 0 4vw;
    border-right: 1px solid #CCC; border-bottom: none; border-top: none;
    font-size: 4.267vw;
  }
  #lecturers_others td{
    padding: 0 4vw 3.8vw 4vw;
    border-left: 1px solid #CCC; border-top: none;
  }
  #lecturers_others td p{
    width: 100%;
    margin: 2.4vw 0 0 0;
    font-size: 3.467vw;
  }
}
/* -------------------------------
 * #curriculum
---------------------------------*/
#curriculum .block{
  width: 100%;
  padding: 23px; margin-bottom: 32px;
  position: relative;
  display: flex;
  gap: 16px;
  border: #CCC 1px solid;
  border-radius: 4px;
}
#curriculum .block:last-child{
  margin-bottom: 0;
}
#curriculum .block .no{
  width: 48px;
}
#curriculum .block .no span{
  width: 100%;
  display: block;
  background-color: #003B8F;
  font-size: 24px; line-height: 2; font-weight: 500; color: #FFF; text-align: center;
  font-family: 'Roboto';
}
#curriculum .block .pic{
  width: 280px;
}
#curriculum .block .box{
  width: 792px;
  padding: 0 8px;
}
#curriculum .block .box.pics{
  width: 496px;
}
#curriculum .box .title3{
  margin-bottom: 20px;
}
#curriculum .box .text p + p{
  margin-top: 5px;
}
#curriculum .box .date{
  margin-top: 16px;
  font-size: 14px;
}
#curriculum .box .date span{
  color: #2578BE;
}
@media (max-width: 767px){
  #curriculum .block{
    padding: 4vw; margin-bottom: 4vw;
    display: block;
  }
  #curriculum .block .no{
    width: 10.4vw;
  }
  #curriculum .block .no span{
    font-size: 4.8vw; line-height: 10.4vw;
  }
  #curriculum .block .pic{
    width: 100%;
    margin-top: 6.4vw;
  }
  #curriculum .block .box{
    width: 100%;
    padding: 0; margin-top: 5.6vw;
  }
  #curriculum .block .box.pics{
    width: 100%;
  }
  #curriculum .box .title3{
    margin-bottom: 4vw;
  }
  #curriculum .box .text p + p{
    margin-top: 2.4vw;
  }
  #curriculum .box .date{
    margin-top: 0;
    font-size: 3.733vw; text-align: right;
    position: absolute; right: 4vw; top: 4vw;
  }
}
/* -------------------------------
 * #insight
---------------------------------*/
/* #insights_head
---------------------------------*/
section#insights_head{
  padding-bottom: 32px;
}
#insights_head .mv{
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-auto-rows: 180px;
  gap: 0;
}
#insights_head .mv div{
  display: flex;
  align-items: center;
  justify-content: center;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
#insights_head .mv div:nth-child(1){
  grid-column: span 2;
}
#insights_head .lead{
  padding-top: 32px;
  font-size: 16px;
}
@media (max-width: 767px){
  section#insights_head{
    padding-bottom: 12.8vw;
  }
  #insights_head .mv{
    grid-template-columns: repeat(3, 1fr);
    /*grid-auto-rows: 22.933vw;*/
    grid-template-rows: 34.4vw 22.933vw 22.933vw;
  }
  #insights_head .mv div:nth-child(1){
    grid-column: 1 / -1;
  }
  #insights_head .lead{
    padding-top: 5.6vw;
    font-size: 4.267vw;
  }
}
/* #insights_news
---------------------------------*/
#insights_news .button_wrap{
  margin-top: 32px; padding-bottom: 14px;
}
@media (max-width: 767px){
  #insights_news .button_wrap{
    margin-top: 9.6vw; padding-bottom: 0;
  }
}
/* -------------------------------
 * #voice
---------------------------------*/
/* #voice_head
---------------------------------*/
section#voice_head{
  padding-bottom: 32px;
}
#voice_head .mv{
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-auto-rows: 180px;
  gap: 0;
}
#voice_head .mv div{
  display: flex;
  align-items: center;
  justify-content: center;
  background-size: cover;
}
#voice_head .lead{
  padding-top: 32px;
  font-size: 16px;
}
@media (max-width: 767px){
  section#voice_head{
    padding-bottom: 12.8vw;
  }
  #voice_head .mv{
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: 22.933vw;
  }
  #voice_head .lead{
    padding-top: 5.6vw;
    font-size: 4.267vw;
  }
  
}
/* #voice_news
---------------------------------*/
#voice_news .button_wrap{
  margin-top: 32px; padding-bottom: 14px;
}
@media (max-width: 767px){
  #voice_news .button_wrap{
    margin-top: 8vw; padding-bottom: 0;
  }
}
/* #voice_attempt
---------------------------------*/
#voice_attempt .text_wrap{
  margin-top: 32px;
}
#voice_attempt .text_wrap.box1{
  margin-top: 0;
}
#voice_attempt .text_wrap .image_wrap{
  margin-top: 32px;
}
#voice_attempt .text_wrap .image_wrap.image2{
  width: 100%;
  gap: 32px;
}
#voice_attempt .text_wrap .image_wrap.image3{
  width: 100%;
  gap: 16px;
}
#voice_attempt .text_wrap .image_wrap .text{
  margin-top: 0;
}
#voice_attempt .lead{
  margin-bottom: 40px;
  line-height: 1.75;
}
#voice_attempt .text{
  line-height: 1.75;
}
#voice_attempt .label1{
  padding: 6px 24px; margin-bottom: 12px;
  display: inline-block;
  white-space: nowrap;
  background-color: #406CAB;
  font-size: 15px; color: #FFF;
}
#voice_attempt .text_wrap .image_wrap.image3.attempt1{
  margin-top: 16px;
}
#voice_attempt .text_wrap .image_wrap.image3.attempt2{
  margin-top: 40px;
}
#voice_attempt .text_wrap .image_wrap.image3.attempt2 .text{
  margin-bottom: 16px;
}
@media (max-width: 767px){
  #voice_attempt .text_wrap{
    margin-top: 4vw;
  }
  #voice_attempt .text_wrap .text{
    font-size: 4vw;
  }
  #voice_attempt .text_wrap .image_wrap{
    margin-top: 4.8vw;
  }
  #voice_attempt .text_wrap .image_wrap.image2,
  #voice_attempt .text_wrap .image_wrap.image3{
    gap: 4vw;
  }
  #voice_attempt .text_wrap .image_wrap .text{
    margin-top: 0;
  }
  #voice_attempt .lead{
    margin-bottom: 8vw;
    font-size: 4vw;
  }
  #voice_attempt .label1{
    padding: 0 2.4vw; margin-bottom: 4vw;
    display: block;
    font-size: 4vw; line-height: 9.067vw;
  }
  #voice_attempt .text_wrap .image_wrap.image3.attempt1{
    margin-top: 4vw;
  }
  #voice_attempt .text_wrap .image_wrap.image3.attempt2{
    margin-top: 8vw;
    gap: 8vw;
  }
  #voice_attempt .text_wrap .image_wrap.image3.attempt2 .text{
    margin-bottom: 4vw;
  }
}
/* #voice_research
---------------------------------*/
#voice_research .lead{
  margin-bottom: 48px;
}
#voice_research .voice_wrap{
  width: 100%;
}
#voice_research .pic{
  width: 580px;
  float: left;
}
#voice_research .block{
  width: 580px;
  float: right;
}
#voice_research .label1{
  padding: 0 24px; margin-bottom: 40px;
  position: relative;
  display: inline-block;
  background-color: #406CAB;
  font-size: 17px; line-height: 41px; font-weight: 500; color: #FFF;
}
#voice_research .label1::before{
  width: 20px; height: 8px;
  content: '';
  position: absolute; left: 50%; bottom: -8px;
  transform: translate(-50%, 0);
  background: url("../image/staff/parts_balloon_blue2.svg") center top no-repeat;
  background-size: 100% auto;
}
#voice_research li{
  padding-left: 38px;
  list-style: none;
  position: relative;
  line-height: 1.75;
}
#voice_research li + li{
  margin-top: 32px;
}
#voice_research li::before{
  width: 30px; height: 30px;
  position: absolute; left: 0; top: 0;
  display: block;
  content: '';
  background-image: url("../image/voice/icon_bubble.svg");
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
@media (max-width: 767px){
  #voice_research .lead{
    margin-bottom: 8vw;
  }
  #voice_research .voice_wrap{
    width: 100%;
  }
  #voice_research .pic{
    width: 100%;
    float: none;
  }
  #voice_research .block{
    width: 100%;
    padding-top: 3.2vw;
    float: none;
  }
  #voice_research .label1{
    padding: 0; margin: 0 auto 8vw auto;
    display: block;
    font-size: 4.533vw; line-height: 11.467vw; text-align: center;
  }
  #voice_research .label1::before{
    width: 5.6vw; height: 2.4vw;
    bottom: -2.4vw;
    background-position: center top;
  }
  #voice_research li{
    padding-left: 10.4vw;
  }
  #voice_research li + li{
    margin-top: 4.8vw;
  }
  #voice_research li::before{
    width: 8vw; height: 8vw;
  }
}

/* -------------------------------
 * #staff
---------------------------------*/
/* #staff_head
---------------------------------*/
section#staff_head{
  padding-bottom: 64px;
}
#staff_head .profile_head_wrap{
  width: 100%;
  display: flex;
  gap: 32px;
}
#staff_head .pic{
  width: 300px;
}
#staff_head .block{
  width: 868px;
}
#staff_head h4{
  font-size: 28px; font-weight: 500;
}
#staff_head .text{
  margin-top: 12px;
  line-height: 1.75;
}
#staff_head .text +.text{
  margin-top: 13px;
}
#staff_head .box1{
  margin-top: 15px;
}
#staff_head .box1 a.btn_text{
  font-weight: 400;
}
#staff_head .label1{
  margin-top: 31px; padding: 0 24px;
  display: inline-block;
  background-color: #406CAB;
  font-size: 16px; font-weight: 500; line-height: 2; color: #FFF;
}
#staff_head ul{
  margin-top: 8px;
}
#staff_head li{
  padding: 8px 20px 0 0;
  list-style: none;
  display: inline-block;
}
#staff_head .label2{
  margin-top: 32px; padding: 0 24px;
  display: inline-block;
  background-color: #A58B4F;
  font-size: 16px; font-weight: 500; line-height: 2; color: #FFF;
}
#staff_head .box2{
  margin-top: 15px;
}
@media (max-width: 767px){
  section#staff_head{
    padding-bottom: 12.8vw;
  }
  #staff_head .profile_head_wrap{
    display: block;
  }
  #staff_head .pic{
    width: 100%;
  }
  #staff_head .block{
    width: 100%;
    margin-top: 5.6vw;
  }
  #staff_head h4{
    font-size: 5.867vw;
  }
  #staff_head .text,
  #staff_head .text +.text{
    margin-top: 4.8vw;
  }
  #staff_head .box1{
    margin-top: 4.8vw;
  }
  #staff_head .label1{
    width: 100%;
    margin-top: 9.6vw; padding: 0;
    font-size: 4.267vw; line-height: 9.6vw; text-align: center;
  }
  #staff_head ul{
    margin-top: 4.8vw;
  }
  #staff_head li{
    width: 100%;
    padding: 0.8vw 0 0 0;
  }
  #staff_head .label2{
    width: 100%;
    margin-top: 9.6vw; padding: 0;
    font-size: 4.267vw; line-height: 9.6vw; text-align: center;
  }
  #staff_head .box2{
    margin-top: 4.8vw;
  }
}
/* #staff_members
---------------------------------*/
section#staff_members{
  padding-bottom: 34px;
}
#staff_members .staff_caption{
  font-size: 14px; color: #666666; text-align: right;
}
#staff_members .staff_wrap{
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, 300px);
}
#staff_members .staff_wrap .item{
  width: 300px;
  padding: 30px;
  list-style: none;
}
#staff_members .staff_wrap .pic{
  margin-bottom: 16px;
}
#staff_members .staff_wrap h4{
  font-size: 20px; font-weight: 500;
}
#staff_members .staff_wrap h4 span:nth-child(2){
  display: none;
}
#staff_members .staff_wrap .text{
  margin-top: 8px;
  font-size: 13px;
}
#staff_members .staff_wrap .text span{
  color: #406CAB;
}
#staff_members .staff_wrap a {
  font-weight: 400;
}
@media (max-width: 767px){
  section#staff_members{
    padding-bottom: 9.6vw;
  }
  #staff_members .staff_caption{
    padding-bottom: 3.2vw;
    border-bottom: #DCDCDC 1px solid;
    font-size: 3.467vw;
  }
  #staff_members .staff_wrap{
    display: block;
  }
  #staff_members .staff_wrap .item{
    width: 100%;
    padding: 6.4vw 0;
    display: flex;
    gap: 4vw;
    border-bottom: #DCDCDC 1px solid;
  }
  #staff_members .staff_wrap .pic{
    width: 40vw;
    margin-bottom: 0;
  }
  #staff_members .staff_wrap .block{
    width: 48vw;
  }
  #staff_members .staff_wrap h4{
    margin-bottom: 1.6vw;
    font-size: 4.8vw;
  }
  #staff_members .staff_wrap .text{
    margin-top: 1.6vw;
    font-size: 3.733vw;
  }
}
/* #staff_company
---------------------------------*/
#staff_company .staff_wrap{
  width: 100%;
  margin-bottom: 32px;
  display: flex;
  gap: 24px;
}
#staff_company .staff_wrap .pic{
  width: 120px;
}
#staff_company .staff_wrap .text{
  width: 1056px;
}
#staff_company .label1{
  padding: 0 24px; margin-bottom: 24px;
  position: relative;
  display: inline-block;
  background-color: #406CAB;
  font-size: 17px; line-height: 41px; font-weight: 500; color: #FFF;
}
#staff_company .label1::before{
  width: 20px; height: 8px;
  content: '';
  position: absolute; left: 50%; bottom: -8px;
  transform: translate(-50%, 0);
  background: url("../image/staff/parts_balloon_blue2.svg") center top no-repeat;
  background-size: 100% auto;
}
#staff_company h4{
  margin-bottom: 16px;
  font-size: 19px; font-weight: 500; color: #003B8F;
}
#staff_company .lead{
  margin-bottom: 32px;
  line-height: 1.75;
}
#staff_company .text{
  line-height: 1.75;
}
#staff_company .text_wrap{
  margin-top: 0;
}
#staff_company .block1{
  width: 559px; float: left;
}
#staff_company .block2{
  width: 559px; float: right;
}
#staff_company .label2{
  padding: 0 24px;
  display: inline-block;
  background-color: #A58B4F;
  font-size: 16px; line-height: 2; font-weight: 500; color: #FFF;
}
#staff_company .block .text{
  margin: 16px 0 0 0;
  padding-left:1em;
  text-indent:-1em;
}
#staff_company .block1 .text + .text{
  margin-top: 8px;
}
#staff_company h6{
  margin-top: 32px;
  font-size: 18px; font-weight: 500; color: #A58B4F;
}
#staff_company .link_box{
  margin-top: 16px;
}
#staff_company .link_box li{
  margin-right: 32px;
  list-style: none;
  display: inline-block;
}
@media (max-width: 767px){
  #staff_company .staff_wrap{
    margin-bottom: 9.6vw;
    display: block;
  }
  #staff_company .staff_wrap .pic{
    width: 32vw;
    margin: 0 auto 4.8vw;
  }
  #staff_company .staff_wrap .text{
    width: 100%;
  }
  #staff_company .label1{
    padding: 0; margin-bottom: 8vw;
    display: block;
    font-size: 4.533vw; line-height: 11.467vw; text-align: center;
  }
  #staff_company .label1::before{
    width: 5.6vw; height: 2.4vw;
    bottom: -2.4vw;
    background-position: center top;
  }
  #staff_company h4{
    margin-bottom: 4.8vw;
    font-size: 4.533vw; font-weight: 700;
  }
  #staff_company .lead{
    margin-bottom: 5.6vw;
  }
  #staff_company .text_wrap{ 
    margin-top: 0;
  }
  #staff_company .block1,
  #staff_company .block2{
    width: 100%; float: none;
  }
  #staff_company .label2{
    padding: 0 2.4vw;
    display: block;
    font-size: 4vw; line-height: 9.067vw;
  }
  #staff_company .block .text{
    margin: 4vw 0 0 0;
  }
  #staff_company .block1 .text + .text{
    margin-top: 0.8vw;
  }
  #staff_company .block1{
    margin-bottom: 4.8vw;
  }
  #staff_company .block2 br{
    display: none;
  }
  #staff_company h6{
    margin-top: 9.6vw; margin-bottom: 4vw;
    font-size: 4.8vw;
  }
  #staff_company .link_box{
    margin-top: 0;
  }
  #staff_company .link_box + .link_box{
    margin-top: 2.4vw;
  }
  #staff_company .link_box li{
    margin-top: 2.4vw; margin-right: 0;
    display: block;
  }
  #staff_company .link_box li:first-child{
    margin-top: 0;
  }
}
/* -------------------------------
 * #cookiepolicy
---------------------------------*/
#cookiepolicy main section{
  padding-top: 8px;
}
#cookiepolicy main h3{
  margin-bottom: 16px;
  font-size: 18px; font-weight: 500;
}
#cookiepolicy main .block{
  margin-bottom: 48px;
}
#cookiepolicy main .block p{
  line-height: 1.75;
}
#cookiepolicy main h4{
  margin-bottom: 8px;
  font-size: 17px; font-weight: 500; color: #A58B4F;
}
#cookiepolicy main h4 + p{
  margin-bottom: 16px;
}
#cookiepolicy main .table2{
  margin-top: 24px;
}
@media (max-width: 767px){
  #cookiepolicy main section{
    padding-top: 0;
  }
  #cookiepolicy main h3{
    margin-bottom: 4.8vw;
    font-size: 4.8vw;
  }
  #cookiepolicy main .block{
    margin-bottom: 9.6vw; 
  }
  #cookiepolicy main h4{
    margin-bottom: 2.4vw;
    font-size: 4.533vw;
  }
  #cookiepolicy main h4 + p{
    margin-bottom: 4.8vw;
  }
  #cookiepolicy main .table2{
    margin-top: 6.4vw;
  }
}
/* -------------------------------
 * #terms
---------------------------------*/
#terms main section{
  padding-top: 8px;
}
#terms main h3{
  margin-bottom: 16px;
  font-size: 18px; font-weight: 500;
}
#terms main .block{
  margin-bottom: 48px;
  line-height: 1.75;
}
#terms main .block p{
  margin-bottom: 4px;
}
#terms main .block.block_last p{
  margin-bottom: 1em;
}
#terms main .block.block_last p:last-child{
  margin-bottom: 0;
}
#terms .numbering1,
#terms .numbering2,
#terms .numbering3{
  list-style: none;
  counter-reset: my-counter;
}
#terms .numbering1 > li,
#terms .numbering2 > li,
#terms .numbering3 > li{
  counter-increment: my-counter;
  position: relative;
  margin-top: 4px;
}
#terms .numbering1 > li:first-child,
#terms .numbering2 > li:first-child{
  margin-top: 0;
}
#terms .numbering1 > li{
  padding-left: 25px;
}
#terms .numbering2 > li{
  padding-left: 30px;
}
#terms .numbering3 > li{
  padding-left: 22px;
}
#terms .numbering1 > li::before{
  content: "(" counter(my-counter) ")";
  position: absolute;
  left: 0;
}
#terms .numbering2 > li::before{
  width: 24px;
  content: counter(my-counter) ".";
  position: absolute;
  left: 0;
  text-align: right;
}
#terms .numbering3 > li::before{
  width: 16px;
  content: counter(my-counter) ".";
  position: absolute;
  left: 0;
  text-align: right;
}
@media (max-width: 767px){
  #terms main section{
    padding-top: 0;
  }
  #terms main h3{
    margin-bottom: 3.2vw;
    font-size: 4.8vw;
  }
  #terms main .block{
    margin-bottom: 9.6vw;
  }
  #terms main .block p{
    margin-bottom: 0.8vw;
  }
  #terms .numbering1 > li,
  #terms .numbering2 > li,
  #terms .numbering3 > li{
    margin-top: 0.8vw;
  }
  #terms .numbering1 > li{
    padding-left: 6.4vw;
  }
  #terms .numbering2 > li{
    padding-left: 8vw;
  }
  #terms .numbering3 > li{
    padding-left: 5.6vw;
  }
  #terms .numbering1 > li::before{
    content: "(" counter(my-counter) ")";
    position: absolute;
    left: 0;
  }
  #terms .numbering2 > li::before{
    width: 6.4vw;
  }
  #terms .numbering3 > li::before{
    width: 4vw;
  }
}

/* -------------------------------
 * #contact
---------------------------------*/
/* #contac_qa
---------------------------------*/
#contact_qa .lead{
  margin-bottom: 28px;
}
#contact_qa .accordion{
  border: 1px solid #CCC;
}
#contact_qa .accordion + .accordion{
  margin-top: -1px;
}
#contact_qa .accordion_title h4{
  width: 100%;
  padding: 19px 58px;
  position: relative;
  font-size: 17px; font-weight: 400;
  cursor: pointer; outline: none; caret-color: transparent;
}
#contact_qa .accordion_title h4::before{
  width: 26px; height: 26px;
  position: absolute; left: 18.75px; top: 18.75px;
  display: block;
  content: '';
  background-image: url("../image/contact/icon_qa_q.svg");
  background-size: 100% 100%;
}
#contact_qa .accordion_title h4::after{
  width: 26px; height: 26px;
  position: absolute; right: 18.75px; top: 18.75px;
  display: block;
  content: '';
  background-image: url("../image/contact/icon_add.svg");
  background-size: 100% 100%;
}
#contact_qa .active .accordion_title h4::after{
  background-image: url("../image/contact/icon_subtract.svg");
}
#contact_qa .accordion_title:hover h4{
  transition: opacity 0.3s ease;
  opacity: 0.5;
}
#contact_qa .accordion_answer{
  overflow: hidden;
  display: none;
}
#contact_qa .accordion_answer .text{
  padding: 19px 58px 19px 58px;
  position: relative;
  background-color: #FAFAFA;
  border-top: 1px solid #CCC;
}
#contact_qa .accordion_answer .text::before{
  width: 26px; height: 26px;
  position: absolute; left: 18.75px; top: 18.75px;
  display: block;
  content: '';
  background-image: url("../image/contact/icon_qa_a.svg");
  background-size: 100% 100%;
}
.page_conf  #contact_qa,
.page_thank #contact_qa{
  display: none;
}
@media (max-width: 767px){
  #contact_qa .lead{
    margin-bottom: 28px;
  }
  #contact_qa .accordion_title h4{
    padding: 4.8vw 12.8vw 4.8vw 3.2vw;
    font-size: 4.267vw;
  }
  #contact_qa .accordion_title h4::before{
    display: none;
  }
  #contact_qa .accordion_title h4::after{
    width: 7.2vw; height: 7.2vw;
    position: absolute; right: 3.2vw; top: 50%;
    transform: translate(0, -50%);
  }
  #contact_qa .accordion_title:hover h4{
    opacity: 1.0;
  }
  #contact_qa .active .accordion_answer{
    /*max-height: 15em;*/
  }
  #contact_qa .accordion_answer .text{
    padding: 4.8vw 3.2vw;
  }
  #contact_qa .accordion_answer .text::before{
    display: none;
  }
}
/* #contact_form .contact_flow
---------------------------------*/
#contact_form .contact_flow{
  width: 100%;
  padding-top: 16px; margin-bottom: 48px;
  font-size: 0; text-align: center;
}
#contact_form .contact_flow .flow{
  display: inline-block; vertical-align: top;
}
#contact_form .contact_flow .flow .num{
  width: 36px;
  margin: 0 auto; padding-top: 2px;
  background-color: #EBEBEB;
  border-radius: 50%;
  font-size: 14px; line-height: 34px; font-weight: 500; color: #666; text-align: center;
  font-family: 'Roboto';
}
#contact_form .contact_flow .flow .text{
  width: 5em;
  margin-top: 8px;
  font-size: 13px; color: #999;
}
#contact_form .contact_flow .line{
  width: 211px;
  display: inline-block; vertical-align: top;
}
#contact_form .contact_flow .line span{
  width: 100%; height: 19px;
  display: block;
  border-bottom: #EBEBEB 2px solid;
}
#contact_form .contact_flow .flow.flow1 .num,
.page_conf  #contact_form .contact_flow .flow.flow2 .num,
.page_thank #contact_form .contact_flow .flow.flow2 .num,
.page_thank #contact_form .contact_flow .flow.flow3 .num{
  background-color: #003B8F;
  color: #FFF;
}
#contact_form .contact_flow .flow.flow1 .text,
.page_conf  #contact_form .contact_flow .flow.flow2 .text,
.page_thank #contact_form .contact_flow .flow.flow2 .text,
.page_thank #contact_form .contact_flow .flow.flow3 .text{
  color: #003B8F;
}
.page_conf  #contact_form .contact_flow .line.line1 span,
.page_thank #contact_form .contact_flow .line.line1 span
.page_thank #contact_form .contact_flow .line.line2 span{
  border-bottom: #003B8F 2px solid;
}
@media (max-width: 767px){
  #contact_form .contact_flow{
    padding-top: 3.2vw; margin-bottom: 8.533vw;
  }
  #contact_form .contact_flow .flow .num{
    width: 9.6vw;
    padding-top: 0.3vw;
    font-size: 3.733vw; line-height: 9.3vw;
  }
  #contact_form .contact_flow .flow .text{
    width: 5em;
    margin-top: 1.6vw;
    font-size: 3.2vw;
  }
  #contact_form .contact_flow .line{
    width: 16vw;
  }
  #contact_form .contact_flow .line span{
    height: 5.067vw;
  }
}
/* #contact_form (lead)
---------------------------------*/
#contact_form .lead{
  line-height: 1.75; margin-bottom: 40px;
}
#contact_form #contact_conf .lead{
  text-align: center;
}
@media (max-width: 767px){
  #contact_form .lead{
    margin-bottom: 9.6vw;
  }
  #contact_form #contact_conf .lead{
    text-align: left;
  }
}
/* #contact_xxx
---------------------------------*/
#contact_conf,
#contact_thank,
#contact_error,
.page_conf #contact_input,
.page_thank #contact_input,
.page_error #contact_input{
  display: none;
}
.page_conf #contact_conf,
.page_thank #contact_thank,
.page_error #contact_error{
  display: block;
}

/* #contact_input (table)
---------------------------------*/
#contact_input table{
  width: 100%;
  border-collapse: collapse; 
  border-top: #DCDCDC 1px solid;
}
#contact_input th{
  width: 219px;
  padding: 40px 0;
  border-bottom: #DCDCDC 1px solid;
  vertical-align: top; text-align: right;
}
#contact_input td{
  padding: 40px 0 40px 42px;
  border-bottom: #DCDCDC 1px solid;
}
#contact_input .icon_required,
#contact_input .icon_optional{
  padding: 11px 0 10px;
  font-size: 0;
}
#contact_input .icon_required span,
#contact_input .icon_optional span{
  padding-bottom: 1px;
  display: inline-block; vertical-align: top;
  font-size: 17px; line-height: 18px; font-weight: 400;
}
#contact_input .icon_required::after,
#contact_input .icon_optional::after{
  padding: 0 16px; margin-left: 12px;
  display: inline-block; vertical-align: top;
  border-radius: 9.5px;
  font-size: 11px; line-height: 19px; font-weight: 500; color: #FFF;
}
#contact_input .icon_required::after{
  content: '必須';
  background-color: #D21E1E;
}
#contact_input .icon_optional::after{
  content: '任意';
  background-color: #809DC7;
}
#contact_input .column_name .block{
  font-size: 0;
}
#contact_input .column_name .box{
  width: 220px;
  display: inline-block; vertical-align: top;
}
#contact_input .column_name .block p{
  display: inline-block; vertical-align: top;
  font-size: 16px; line-height: 40px;
}
#contact_input .column_name .block:nth-child(1){
  margin-bottom: 24px;
}
#contact_input .column_name .block .box:nth-child(1){
  margin-right: 32px;
}
#contact_input .column_name .box p:nth-child(1){
  width: 40px;
}
#contact_input .column_email .block:nth-child(1){
  margin-bottom: 24px;
}
#contact_input .column_email .text{
  margin-bottom: 8px;
}
#contact_input .column_subject .block{
  position: relative;
}
#contact_input .column_content .block:nth-child(2){
  margin-top: 8px;
}
#contact_input .column_content .text{
  font-size: 14px; color: #666;
}
#contact_input .column_content .text:nth-child(1){
  float: left;
}
#contact_input .column_content .text:nth-child(2){
  float: right;
}
@media (max-width: 767px){
  #contact_input th{
    width: 100%;
    padding: 9.6vw 0 5.6vw;
    display: block;
    border-bottom: none;
    text-align: left;
  }
  #contact_input td{
    width: 100%;
    padding: 0 0 9.6vw 0;
    display: block;
    border-bottom: #DCDCDC 1px solid;
  }
  #contact_input .icon_required,
  #contact_input .icon_optional{
    padding: 0;
  }
  #contact_input .icon_required span,
  #contact_input .icon_optional span{
    padding-bottom: 0;
    font-size: 4.533vw;
  }
  #contact_input .icon_required::after,
  #contact_input .icon_optional::after{
    padding: 0 4.267vw; margin-left: 3.2vw;
    border-radius: 2.533vw;
    font-size: 2.933vw; line-height: 5.066vw;
  }
  #contact_input .column_name .box{
    display: block;
  }
  #contact_input .column_name .box{
    width: 100%;
    display: block;
  }
  #contact_input .column_name .block p{
    font-size: 4.267vw; line-height: 11.733vw;
  }
  #contact_input .column_name .block:nth-child(1){
    margin-bottom: 5.6vw;
  }
  #contact_input .column_name .block .box:nth-child(1){
    margin-right: 0; padding-bottom: 3.2vw;
  }
  #contact_input .column_name .box p:nth-child(1){
    width: 11.2vw;
  }
  #contact_input .column_email .block:nth-child(1){
    margin-bottom: 5.6vw;
  }
  #contact_input .column_email .text{
    margin-bottom: 3.2vw;
  }
  #contact_input .column_content .block:nth-child(2){
    margin-top: 1.6vw;
  }
  #contact_input .column_content .text{
    font-size: 3.733vw;
  }
}
/* #contact_input (object)
---------------------------------*/
#contact_input input[type="text"],
#contact_input input[type="email"],
#contact_input textarea,
#contact_input select{
  padding: 7px;
  border: 1px solid #ccc;
  outline: none;
  background-color: #FFF;
  font-size: 16px; line-height: 1.5;
}
#contact_input input[type="text"]::placeholder,
#contact_input input[type="email"]::placeholder,
#contact_input textarea::placeholder{
  color: #CCC;
}
#contact_input .column_company input,
#contact_input .column_email input{
  width: 600px;
}
#contact_input .column_name input{
  width: 180px;
}
#contact_input .column_tel input{
  width: 300px;
}
#contact_input .column_subject input{
  width: 40px;
  border: #FFF 1px solid;
  color: #FFF;
}
#contact_input .column_content textarea{
  width: 100%; height: 180px;
  resize: vertical;
}
.contact_subject_select_value{
  display: none;
}
@media (max-width: 767px){
  #contact_input input[type="text"],
  #contact_input textarea,
  #contact_input select{
    padding: 2.4vw;
    font-size: 4.267vw;
  }
  #contact_input .column_company input,
  #contact_input .column_email input{
    width: 100%;
  }
  #contact_input .column_name input{
    width: 72vw;
  }
  #contact_input .column_tel input{
    width: 64vw;
  }
  #contact_input .column_content textarea{
    width: 100%; height: 64vw;
  }
}
/* .contact_subject_select
---------------------------------*/
.contact_subject_select{
  width: 260px; max-width: 100%;
  /*position: relative; z-index: 100;*/
  position: absolute; left: 0; top: 0; z-index: 100;
}
.contact_subject_select::before{
  width: 40px; height: 40px;
  position: absolute; right: 0; top: 0; z-index: 101;
  display: block;
  content: '';
  background-image: url("../image/common/icon_down_black.svg");
  background-position: center center;
  background-repeat: no-repeat;
  border-radius: 0 4px 4px 0;
  pointer-events: none;
}
.contact_subject_select.active::before{
  border-radius: 0 4px 0 0;
}
.contact_subject_select .wrap{
  width: 100%;
  background-color: #FFF;
  border: 1px solid #CCC;
  border-radius: 4px;
  overflow: hidden;
}
.contact_subject_select.active .wrap{
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.1);
}
.contact_subject_select .selected{
  width: 100%;
  padding: 7px 32px 7px 16px;
  position: relative;
  cursor: pointer;
}
.contact_subject_select:hover .selected,
.contact_subject_select.active .selected{
  color: #999;
}
.contact_subject_select .block{
  width: 100%;
  border-top: none;
  display: none;
}
.contact_subject_select.active .block{
  display: block;
}
.contact_subject_select.active .item{
  width: 100%;
  padding: 7px 8px;
  display: block;
  border-top: 1px solid #CCC;
  color: #333333; text-decoration: none;
  cursor: pointer;
}
.contact_subject_select.active .item:hover{
  background-color: #F5FAFF;
}
@media (max-width: 767px){
  .contact_subject_select{
    width: 100% !important; height: 11.2vw;
    /*margin-bottom: 9.6vw; margin-top: 4.8vw;
    position: relative; right: auto; top: auto; z-index: 100;*/
  }
  .contact_subject_select::before{
    width: 11.2vw; height: 11.2vw;
    background-size: 6.4vw 6.4vw;
    border-radius: 0 4px 4px 0;
  }
  .contact_subject_select.active::before{
    border-radius: 0 4px 0 0;
  }
  .contact_subject_select .wrap{
    position: absolute; left: 0; top: 0;
    border-radius: 4px;
    font-size: 4vw; line-height: 6vw;
  }
  .contact_subject_select .selected{
    padding: 3.2vw 14.4vw 3.2vw 3.0vw;
  }
  .contact_subject_select.active .item{
    padding: 3.2vw 3vw;
  }
}
/* #contact_input (other)
---------------------------------*/
#contact_input .policy_block{
  padding: 24px; margin-top: 64px;
  border: #CCC 1px solid;
}
#contact_input .policy_block li{
  padding-left:1em; margin-bottom: 8px;
  position: relative;
  list-style: none;
}
#contact_input .policy_block li::before{
  content: '・';
  position: absolute; left: 0; top: 0;
  display: block;
}
#contact_input .policy_block li:last-child{
  margin-bottom: 0;
}
#contact_input .policy_block li:last-child::before{
  display: none;
}
#contact_input .agree_block{
  margin-top: 32px;
  text-align: center;
}
#contact_input .agree_block .text{
  margin-bottom: 32px;
  line-height: 1.75;
}
#contact_input .agree_block .box{
  padding-bottom: 64px;
  border-bottom: #CCC 1px solid;
}
#contact_input .agree_block .agree_check{
  display: inline-block;
  cursor: pointer;
}
#contact_input .agree_block .agree_check span{
  display: inline-block; vertical-align: top;
  font-size: 16px;
}
#contact_input .agree_block .agree_check::before{
  width: 24px; height: 24px;
  margin-right: 8px;
  display: inline-block; vertical-align: top;
  content: '';
  background-image: url("../image/contact/btn_checkbox.svg");
  background-size: 100% 100%;
}
.is_agree #contact_input .agree_block .agree_check::before{
  background-image: url("../image/contact/btn_checkbox-agree.svg");
}
#contact_input .submit_button_wrap{
  padding-top: 40px;
}
@media (max-width: 767px){
  #contact_input .policy_block{
    padding: 4vw; margin-top: 9.6vw;
  }
  #contact_input .policy_block li{
    margin-bottom: 2.4vw;
  }
  #contact_input .agree_block{
    margin-top: 5.6vw;
  }
  #contact_input .agree_block .text{
    margin-bottom: 5.6vw;
    text-align: left;
  }
  #contact_input .agree_block .box{
    padding-bottom: 9.6vw;
  }
  #contact_input .agree_block .agree_check span{
    display: inline-block; vertical-align: top;
    font-size: 4.267vw;
  }
  #contact_input .agree_block .agree_check::before{
    width: 6.4vw; height: 6.4vw;
    margin-right: 1.6vw;
  }
  #contact_input .submit_button_wrap{
    padding-top: 12.8vw;
  }
}
/* #contact_input (invalid)
---------------------------------*/
#contact_input .invalid_note{
  margin-bottom: 40px; padding-bottom: 8px;
  text-align: center;
  display: none;
}
#contact_input .invalid_note p{
  padding: 11px 16px;
  position: relative;
  display: inline-block; vertical-align: top;
  background-color: #D21E1E;
  line-height: 30px; font-weight: 500; color: #FFF;
}
#contact_input .invalid_note p::before{
  width: 30px; height: 30px;
  margin-right: 8px;
  display: inline-block; vertical-align: top;
  content: '';
  background-image: url("../image/contact/icon_caution.svg");
  background-size: 100% 100%;
}
#contact_input .invalid_note p::after{
  width: 20px; height: 8px;
  display: block;
  content: '';
  position: absolute; left: 50%; bottom: 0;
  background-image: url("../image/contact/parts_balloon_red.svg");
  background-size: 100% 100%;
  transform: translate(-50%, 100%);
}
#contact_input.is_invalid .invalid_note{
  display: block;
}
#contact_input .invalid_comment{
  padding-top: 8px;
  font-size: 15px; color: #D21E1E;
  display: none;
}
#contact_input .invalid_name1 .box_name1 .invalid_comment,
#contact_input .invalid_name2 .box_name2 .invalid_comment,
#contact_input .invalid_kana1 .box_kana1 .invalid_comment,
#contact_input .invalid_kana2 .box_kana2 .invalid_comment,
#contact_input .invalid_tel .invalid_comment,
#contact_input .invalid_email .block_email .invalid_comment,
#contact_input .invalid_email_conf .block_email_conf .invalid_comment,
#contact_input .invalid_subject .invalid_comment,
#contact_input .invalid_content .invalid_comment{
  display: block;
}
#contact_input .invalid_name1 .box_name1 input,
#contact_input .invalid_name2 .box_name2 input,
#contact_input .invalid_kana1 .box_kana1 input,
#contact_input .invalid_kana2 .box_kana2 input,
#contact_input .invalid_tel input,
#contact_input .invalid_email .block_email input,
#contact_input .invalid_email_conf .block_email_conf input,
#contact_input .invalid_subject .contact_subject_select .wrap,
#contact_input .invalid_content textarea{
  border: #D21E1E 1px solid;
}
#contact_input .invalid_agree .invalid_comment{
  padding-top: 16px;
  display: block;
}
#contact_input .agree_block.invalid_agree .agree_check::before{
  background-image: url("../image/contact/btn_checkbox_error.svg");
}
@media (max-width: 767px){
  #contact_input .invalid_note{
    margin-bottom: 9.6vw; padding-bottom: 2.4vw;
  }
  #contact_input .invalid_note p{
    padding: 2.4vw 6.4vw;
    line-height: 4vw; line-height: 1.5;
  }
  #contact_input .invalid_note p::before{
    display: none;
  }
  #contact_input .invalid_note p::after{
    width: 5.6vw; height: 2.4vw;
    bottom: 1px;
  }
  #contact_input .invalid_comment{
    padding-top: 1.6vw;
    font-size: 4vw;
  }
  #contact_input .invalid_agree .invalid_comment{
    padding-top: 1.6vw;
    text-align: left;
  }
}
/* #contact_conf
---------------------------------*/
#contact_conf table{
  width: 100%;
  border-collapse: collapse; 
  border-top: #DCDCDC 1px solid;
}
#contact_conf th{
  width: 144px;
  padding: 40px 0;
  border-bottom: #DCDCDC 1px solid;
  vertical-align: top;
  font-weight: 400; text-align: right; color: #A58B4F;
}
#contact_conf td{
  padding: 40px 0 40px 32px;
  border-bottom: #DCDCDC 1px solid;
}
#contact_conf .submit_button_wrap{
  width: 448px;
  padding-top: 40px; margin: 0 auto;
  font-size: 0; text-align: center;
}
@media (max-width: 767px){
  #contact_conf th{
    width: 100%;
    padding: 6.4vw 0 2.4vw;
    display: block;
    border-bottom: none;
    text-align: left;
  }
  #contact_conf td{
    width: 100%;
    padding: 0 0 6.4vw 0;
    display: block;
    border-bottom: #DCDCDC 1px solid;
  }
}
/* #contact_button_wrap
---------------------------------*/
#contact_button_wrap{
  width: 448px;
  padding-top: 40px; margin: 0 auto;
  font-size: 0; text-align: center;
}
#contact_button_wrap .btn_conf{
  padding: 11px 32px 13px 56px;
  display: inline-block;
  position: relative;
  border-radius: 4px;
  background-color: #DCDCDC;
  font-size: 18px; line-height: 1.5; color: #FFF; font-weight: 500;
  transition: opacity 0.3s ease;
  caret-color: transparent;
}
#contact_button_wrap .btn_conf::before{
  width: 20px; height: 20px;
  position: absolute; left: 24px; top: 50%;
  display: block;
  content: '';
  transform: translate(0, -50%);
  background-image: url("../image/common/icon_arrow-line.svg");
  background-size: 100% 100%;
}
.is_agree #contact_button_wrap .btn_conf{
  background-color: #003B8F;
  cursor: pointer;
}
#contact_button_wrap .cf7_submit{
  min-width: 208px;
  padding: 11px 72px 13px 64px;
  display: inline-block;
  position: relative;
  border: none; outline: none;
  border-radius: 4px;
  background-color: #DCDCDC;
  background-image: url("../image/common/icon_arrow-line.svg");
  background-position: 176px center;
  background-repeat: no-repeat;
  background-size: 20px 20px;
  float: right;
  transition: opacity 0.3s ease;
  caret-color: transparent;
  pointer-events: none;
  cursor: default;
  font-size: 18px; line-height: 1.5; color: #FFF; font-weight: 500; text-align: center;
}
.is_turnstile_token #contact_button_wrap .cf7_submit:hover{
  opacity: 0.5;
}
.is_turnstile_token #contact_button_wrap .cf7_submit{
  background-color: #003B8F;
  pointer-events: auto;
  cursor: pointer;
}
#contact_button_wrap .btn_next{/*廃止*/
  min-width: 208px;
  padding: 11px 72px 13px 64px;
  display: inline-block;
  position: relative;
  border-radius: 4px;
  background-color: #003B8F;
  float: right;
}
#contact_button_wrap .btn_next::before{
  width: 20px; height: 20px;
  position: absolute; right: 12px; top: 50%;
  display: block;
  content: '';
  transform: translate(0, -50%);
  background-image: url("../image/common/icon_arrow-line.svg");
  background-size: 100% 100%;
}
#contact_button_wrap .btn_back{
  min-width: 208px;
  padding: 11px 64px 13px 72px; 
  display: inline-block;
  position: relative;
  border-radius: 4px;
  background-color: #666666;
  float: left;
}
#contact_button_wrap .btn_back::before{
  width: 20px; height: 20px;
  position: absolute; left: 12px; top: 50%;
  display: block;
  content: '';
  transform: translate(0, -50%) rotate(180deg);
  background-image: url("../image/common/icon_arrow-line.svg");
  background-size: 100% 100%;
}
#contact_button_wrap .btn_next,
#contact_button_wrap .btn_back{
  transition: opacity 0.3s ease;
  caret-color: transparent;
  cursor: pointer;
  font-size: 18px; line-height: 1.5; color: #FFF; font-weight: 500; text-align: center;
}
#contact_button_wrap .btn_next:hover,
#contact_button_wrap .btn_back:hover{
  opacity: 0.5;
}
#contact_button_wrap .btn.btn_home{
  padding: 11px 64px 13px 64px;
  font-weight: 400;
}
#contact_button_wrap .btn.btn_home::before{
  display: none;
}
@media (max-width: 767px){
  #contact_button_wrap{
    width: 100%;
    padding-top: 12.8vw;
  }
  #contact_button_wrap .btn_conf{
    padding: 3vw 4.8vw 3.267vw 8.8vw; 
    border-radius: 4px;
    font-size: 4vw;
  }
  #contact_button_wrap .btn_conf::before{
    width: 4.8vw; height: 4.8vw;
    left: 3.2vw;
  }
  #contact_button_wrap .cf7_submit{
    min-width: 48.533vw;
    padding: 3.2vw 16.533vw 3.467vw 16vw;
    background-position: 40vw center;
    background-size: 5.33vw 5.33vw;
    float: none;
    font-size: 4vw;
  }
  #contact_button_wrap .cf7_submit:hover{
    opacity: 1;
  }
  #contact_button_wrap .btn_next{
    min-width: 48.533vw;
    padding: 3.2vw 16.533vw 3.467vw 16vw;
    float: none;
  }
  #contact_button_wrap .btn_next::before{
    width: 5.33vw; height: 5.33vw;
    right: 3.2vw;
  }
  #contact_button_wrap .btn_back{
    min-width: 48.533vw;
    padding: 3.2vw 16vw 3.467vw 16.533vw; margin-top: 6.4vw;
    float: none;
  }
  #contact_button_wrap .btn_back::before{
    width: 5.33vw; height: 5.33vw;
    left: 3.2vw;
  }
  #contact_button_wrap .btn_next,
  #contact_button_wrap .btn_back{
    font-size: 4vw;
  }
  #contact_button_wrap .btn.btn_home{
    padding: 3vw 16vw 3.267vw 16vw; 
  }
}
/* .page_input */
#contact_button_wrap .cf7_submit,
#contact_button_wrap .btn_back,
#contact_button_wrap .btn.btn_home{
  display: none;
}
/* .page_conf */
.page_conf #contact_button_wrap .btn_conf{
  display: none;
}
.page_conf #contact_button_wrap .cf7_submit,
.page_conf #contact_button_wrap .btn_back{
  display: inline-block;
}
/* .page_thank, .page_error */
.page_thank #contact_button_wrap .btn_conf,
.page_error #contact_button_wrap .btn_conf{
  display: none;
}
.page_thank #contact_button_wrap .btn.btn_home,
.page_error #contact_button_wrap .btn.btn_home{
  display: inline-block;
}
/* .btn_sending */
#contact_button_wrap .btn_sending{
  width: 208px; height: 51px;
  padding-top: 19.5px;
  display: none;
  position: relative;
  border-radius: 4px;
  background-color: #003B8F;
  float: right;
}
#contact_button_wrap .btn_sending .wrap{
  width: 100%;
  position: absolute; left: 0; top: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  transform: translate(0, -50%);
}
#contact_button_wrap .btn_sending .wrap div{
  width: 14px; height: 14px;
  display: inline-block;
  background-color: #FFF;
  border-radius: 8px;
  animation: scaleUp 1s ease-in-out infinite;
}
#contact_button_wrap .btn_sending .wrap div:nth-child(1){
  animation-delay: -0.3s;
}
#contact_button_wrap .btn_sending .wrap div:nth-child(2){
  animation-delay: -0.2s;
}
.is_sending #contact_button_wrap .btn_sending{
  display: inline-block;
}
.is_sending #contact_button_wrap .btn_next,
.is_sending #contact_button_wrap .cf7_submit{
  display: none;
}
.is_sending #contact_button_wrap .btn_back{
  pointer-events: none;
}
@media (max-width: 767px){
  #contact_button_wrap .btn_sending{
    width: 48.533vw;
    padding-top: 4.133vw;
    float: none;
  }
  #contact_button_wrap .btn_sending .wrap{
    gap: 3.2vw;
  }
  #contact_button_wrap .btn_sending .wrap div{
    width: 3.2vw; height: 3.2vw;
    border-radius: 2vw;
  }
}
@keyframes scaleUp{
  0%   {transform: scale(0);}
  40%  {transform: scale(1);}
  80%  {transform: scale(0);}
  100% {transform: scale(0);}
}
/* #contact_thank
---------------------------------*/
#contact_thank h4{
  padding: 16px 0 48px 0;
  font-size: 22px; font-weight: 700; color: #002C6B; text-align: center;
}
#contact_thank .text{
  line-height: 1.75; text-align: center;
}
#contact_thank .submit_button_wrap{
  padding-top: 48px;
  text-align: center;
}
@media (max-width: 767px){
  #contact_thank h4{
    padding: 4vw 0 9.6vw 0;
    font-size: 5.067vw;
  }
  #contact_thank .text{
    text-align: left;
  }
  #contact_thank .submit_button_wrap{
    padding-top: 9.6vw;
  }
}
/* #contact_error
---------------------------------*/
#contact_error h4{
  padding: 16px 0 48px 0;
  font-size: 22px; font-weight: 700; color: #002C6B; text-align: center;
}
#contact_error .text{
  line-height: 1.75; text-align: center;
}
#contact_error .submit_button_wrap{
  padding-top: 48px;
  text-align: center;
}
@media (max-width: 767px){
  #contact_error h4{
    padding: 4vw 0 9.6vw 0;
    font-size: 5.067vw;
  }
  #contact_error .text{
    text-align: left;
  }
  #contact_error .submit_button_wrap{
    padding-top: 9.6vw;
  }
}
/* cf7
---------------------------------*/
.wpcf7-not-valid-tip,
.wpcf7-response-output,
.wpcf7-spinner{
  display: none;
}
.cf-turnstile{
  margin: 0 !important; padding-top: 40px;
  text-align: center;
}
.cf-turnstile div{
  margin: 0 auto !important;
  display: inline-block;
}
.page_thank .cf-turnstile,
.page_error .cf-turnstile{
  display: none;
}
@media (max-width: 767px){
  .cf-turnstile{
    padding-top: 12.8vw;
  }
}
