@charset "UTF-8";
/* CSS Document */


html, body{
  padding: 0;
  margin: 0;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
  text-align: justify;
  font-feature-settings: "palt";
  background-color: hsla(56,100%,97%,1.00);
}

a{
  text-decoration: none;
  transition: 0.3s;
  opacity: 1;
}
a:hover{
  opacity: 0.6;
}




header{
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 60px;
  box-shadow: 0 0 5px gray;
  background-color: #690A0D;
  z-index: 999999;
}

.header_nk{
  display: block;
  justify-content: center;
  width: 1000px;
  margin: auto;
}

.header_right{
  display: flex;
  justify-content: space-between;
  margin-top: 0px;
}
.header_right a{
  display: block;
  width: auto;
  margin: 0px 0px 0 0;
  color: #FFFFFF;
  text-align: center;
  font-weight: bold;
  line-height: 60px;
}
.header_hr{
  display: block;
  width: 1px;
  height: 60px;
  background-color: #FFFFFF;
  margin: auto;
}




main{
  display: block;
  width: 100%;
  height: auto;
  overflow: hidden;
}

.main_view{
  display: block;
  position: relative;
  width: 100%;
  height: 60vw;
  background-color: #ADADAD;
  background-image: url("../img/32496480_m.jpg");
  background-size: cover;
  background-position: center center;
  overflow: hidden;
}



.top_kachikaku{
  display: block;
  position: absolute;
  top: 13vw;
  left: 3vw;
  width: 45vw;
  opacity: 0.9;
  z-index: 99999;
}
.top_uma{
  display: block;
  position: absolute;
  top: 10vw;
  right: -10vw;
  width: 65vw;
  z-index: 100000;
}
.top_maru{
  display: block;
  position: absolute;
  top: 8vw;
  left: 10vw;
  width: 50vw;
  height: auto;
  opacity: 0.6;
}

/* 3つ共通の初期状態（非表示＋ちょい下） */
.top_kachikaku,
.top_uma,
.top_maru{
  display: block;
  position: absolute;
  opacity: 0;
  transform: translateY(20px);
  transition:
    opacity 0.8s ease,
    transform 0.8s ease;
}

/* 表示状態 */
.show {
  opacity: 1;
  transform: translateY(0);
}





/* 火の粉全体を乗せるレイヤー */
  /* 火の粉レイヤー（全画面） */
  #fireParticles {
    pointer-events: none;
    position: absolute;
    inset: 0;
    overflow: hidden;
    z-index: 50;
    z-index: 110000;
  }

  /* 火の粉１つ分 */
  .particle {
    position: absolute;
    bottom: -60px;
    width: 8px;
    height: 8px;
    background: radial-gradient(circle,
      rgba(255,230,160,1),
      rgba(255,120,40,0.9),
      rgba(255,60,0,0.5),
      rgba(0,0,0,0)
    );
    border-radius: 50%;
    opacity: 0;
    /* ★ duration などは CSS変数でJSから渡す */
    animation: rise var(--duration, 3s) linear forwards;
  }

  /* 上にのぼりながら少し横に流れて、消えていく */
  @keyframes rise {
    0% {
      transform: translate(0, 0) scale(var(--scaleStart, 0.8));
      opacity: 0;
    }
    20% {
      opacity: 1;
    }
    100% {
      transform: translate(var(--endX, 0px), -120vh) scale(var(--scaleEnd, 1.6));
      opacity: 0;
    }
  }




.main_news{
  display: flex;
  justify-content: center;
  width: 100%;
  height: 50px;
  background-color: hsla(0,100%,6%,1.00);
  color: #FFFFFF;
  text-align: center;
  line-height: 50px;
}

.main_news span{
  display: block;
  background-color: hsla(359,100%,40%,1.00);
  margin-right: 20px;
  line-height: 50px;
  font-size: 14px;
  padding: 0 20px;
}
.main_news small{
  display: block;
  margin-right: 20px;
}




.c_one_st{
  display: block;
  width: 100%;
  height: auto;
  background-color: hsla(56,100%,97%,1.00);
  padding: 100px 0;
}
.c_one{
  display: flex;
  justify-content: space-between;
  width: 1000px;
  margin: auto;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}
.c_one_left{
  display: block;
  width: 400px;
  height: 400px;
}
.top_cone_left{
  height: 370px!important;
  background-color: hsla(0,0%,89%,1.00);
  background-image: url("../img/company_main_img.jpg");
  background-size: cover;
  background-position: center center;
}
.c_one_right{
  display: block;
  width: 500px;
  height: auto;
}
.c_one_right h1{
  display: block;
  text-align: justify;
  font-size: 25px;
  margin: 10px 0 0 0;
}
.c_one_right p{
  display: block;
  width: 500px;
  margin: 30px auto 0;
  font-size: 18px;
  line-height: 35px;
}


.read_more1{
  display: block;
  width: 300px;
  height: 50px;
  margin: 50px auto 0;
  padding: 0 0px;
  background-color: #B62227;
  text-align: center;
  line-height: 50px;
  color: #FFFFFF;
}
.read_more2{
  display: block;
  width: 300px;
  height: 50px;
  margin: -100px auto 30px;
  padding: 0 0px;
  background-color: #480A14;
  text-align: center;
  line-height: 50px;
  color: #FFFFFF;
}




.c_two{
  display: block;
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  padding: 80px 0;
  background-color: hsla(0,0%,92%,1.00);
  background-image: url("../img/584011_m.jpg");
  background-size: cover;
  background-position: center center;
}
.c_two_nk{
  display: block;
  width: 900px;
  margin: auto;
  background-color: rgba(255,255,255,0.7);
  border: solid 2px hsla(355,90%,8%,1.00);
  border-radius: 20px;
  padding: 20px 50px;
}
.c_two_nk h1{
  display: block;
  text-align: center;
}
.c_two_nk p{
  display: block;
  line-height: 30px;
}




.c_three{
  display: block;
  width: 100%;
  height: auto;
  background-color: hsla(56,100%,97%,1.00);
  padding: 100px 0;
}
.c_three_nk{
  display: flex;
  justify-content: space-between;
  width: 1000px;
  margin: auto;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}
.c_three_nk_right{
  display: block;
  width: 400px;
  height: 400px;
  background-color: hsla(0,0%,87%,1.00);
  background-image: url("../img/top_three_img.jpg");
  background-size: cover;
  background-position: center center;
}
.c_three_nk_left{
  display: block;
  width: 500px;
  height: auto;
}
.c_three_nk_left h1{
  display: block;
  text-align: justify;
  font-size: 25px;
  margin: 10px 0 0 0;
}
.c_three_nk_left p{
  display: block;
  width: 500px;
  margin: 30px auto 0;
  font-size: 18px;
  line-height: 35px;
}
.main_gengaku{
  display: block;
  width: 100%;
  height: auto;
  background-color: hsla(213,100%,14%,1.00);
  margin: 20px auto 0;
  padding: 10px 0;
  text-align: center;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
  color: hsla(57,100%,47%,1.00);
  font-size: 20px;
}
.main_gengaku span{
  text-decoration: line-through;
}





footer{
  display: block;
  position: relative;
  width: 100%;
  height: 200px;
  background-color: #750004;
}

.footer_nk{
  display: block;
  position: relative;
  top: 0;
  left: 0;
  width: 1000px;
  margin: auto;
  height: auto;
}
.footer_up{
  display: flex;
  justify-content: space-between;
  width: 1000px;
  height: auto;
  margin: 0px auto 0;
  text-align: center;
  line-height: 100px;
}
.footer_up_left{
  display: block;
  width: 600px;
}
.footer_up_left_up{
  display: flex;
  height: 40px;
  justify-content: flex-start;
  margin: 50px 0 0 0;
}
.footer_up_left_up a{
  display: block;
  margin: 0 30px 0;
  color: #FFFFFF;
  font-size: 16px;
  line-height: 20px;
}
.footer_up_left_up a:nth-child(1){
  margin-left: 0;
}
.footer_hr1{
  display: block;
  width: 1px;
  height: 20px;
  background-color: #FFFFFF;
}
.footer_up_left_down{
  display: flex;
  justify-content: flex-start;
}
.footer_up_left_down a{
  display: block;
  margin: 0 20px 0;
  color: #E29595;
  font-size: 13px;
  line-height: 15px;
}
.footer_up_left_down a:nth-child(1){
  margin-left: 0;
}
.footer_hr2{
  display: block;
  width: 1px;
  height: 15px;
  background-color: #E29595;
}
.footer_up_right{
  display: block;
  text-align: end;
  font-size: 40px;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  color: #E29595;
  line-height: 60px;
  margin-top: 40px;
}
.footer_up_right span{
  display: block;
  font-size: 12px;
  line-height: 18px;
}

.footer_down{
  display: block;
  position: absolute;
  top: 150px;
  left: 0;
  width: 100%;
  border-top: solid 1px #FFFFFF;
  text-align: end;
  color: #FFFFFF;
  font-size: 12px;
  line-height: 50px;
}
.footer_under{
  display: block;
  width: 100%;
  height: 20px;
  background-color: hsla(0,100%,6%,1.00);
}





.main_view_sub{
  display: block;
  width: 100%;
  height: 250px;
  color: #FFFFFF;
  text-shadow: 0 0 5px hsla(358,100%,23%,1.00);
  text-align: center;
  line-height: 280px;
  background-image: url("../img/33294607_m.jpg");
  background-size: cover;
  background-position: center 60%;
}





.main_view_sub_content{
  display: block;
  width: 95%;
  max-width: 1000px;
  margin: 0px auto 40px;
  padding-bottom: 0px;
  padding-top: 50px;
}
.main_view_sub_content h3{
  display: block;
  text-align: start;
  color: #222222;
  border-bottom: solid 2px #828282;
}
.main_view_sub_content h5{
  color: #222222;
  font-size: 16px;
}

.list span{
  display: block;
  font-size: 0.8rem;
}




.company_st{
  display: block;
  width: 100%;
  height: auto;
  padding: 0px 0 50px 0;
  background-color: hsla(358,100%,95%,1.00);
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}
.company{
  display: block;
  width: 100%;
  height: auto;
  padding: 0px 0 0px 0;
}
.company table{
  display: block;
  width: 100%;
  max-width: 1000px;
  margin: 0px auto 0;
  padding: 0px;
  background-color: #E5B7B9;
}
.company table tr{
  width: 100%;
  display: block;
  padding: 5px;
}
.company table tr th{
  width: 200px;
  text-align: justify;
  padding-left: 20px;
  height: 60px;
  background-color: #820000;
  color: #FFFFFF;
  font-weight: bold;
}
.company table tr td{
  width: 737px;
  text-align: justify;
  padding-left: 20px;
  height: 60px;
  background-color: #FFFFFF;
  color: #2D2D2D;
  font-weight: 500;
  text-decoration: none!important;
  font-size: 20px;
}





.record_flex{
  display: flex;
  justify-content: space-between;
}
.record_flex_left{
  display: block;
  width: 430px;
  height: auto;
}
.record_flex_right{
  display: block;
  width: 430px;
  height: auto;
}
.record_flex2{
  display: flex;
  justify-content: space-between;
  margin-top: 20px;
}
.record_flex2_left{
  display: block;
  width: 280px;
  height: auto;
}
.record_flex2_center{
  display: block;
  width: 280px;
  height: auto;
}
.record_flex2_right{
  display: block;
  width: 280px;
  height: auto;
}
.record_flex3{
  display: block;
  margin: 20px 0 0px 0;
  width: 100%;
  height: auto;
}
.record_flex4{
  display: block;
  margin: 0px 0 20px 0;
  width: 100%;
  height: auto;
}



.c_one_left .ceo{
  display: block;
  width: 90%;
  margin: -60px auto 0;
}
.ceo_bn{
  display: block;
  width: 70%;
  margin: 270px 0 0 110px;
}


.member_cone_left{
  background-color: hsla(0,0%,89%,1.00);
  background-image: url("../img/member_one_left.jpg");
  background-size: cover;
  background-position: center center;
  height: 420px!important;
}
.record_cone_left{
  background-color: hsla(0,0%,89%,1.00);
  background-image: url("../img/record_top_img.jpg");
  background-size: cover;
  background-position: 15% center;
  height: 350px!important;
}
.c_company_one_left{
  background-color: hsla(0,0%,89%,1.00);
  background-image: url("../img/top_ceo.jpg");
  background-size: cover;
  background-position: center bottom;
  height: 370px!important;
  position: relative;
}




.member_one{
  display: block;
  width: 100%;
  height: auto;
}
.member_one_st{
  display: block;
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  padding: 80px 0;
  background-color: hsla(0,0%,92%,1.00);
  background-image: url("../img/584011_m.jpg");
  background-size: cover;
  background-position: center center;
}
.member_one_nk{
  display: flex;
  justify-content: space-between;
  height: auto;
  margin: auto;
  width: 900px;
  background-color: rgba(255,255,255,0.7);
  border: solid 2px hsla(355,90%,8%,1.00);
  border-radius: 20px;
  padding: 40px 50px;
}
.member_one_left{
  display: block;
  width: 400px;
  height: auto;
}
.member_one_left h1{
  display: block;
  text-align: justify;
  font-size: 20px;
  margin: 10px 0 0 0;
}
.member_one_left p{
  display: block;
  width: auto;
  margin: 30px auto 0;
  font-size: 16px;
  line-height: 35px;
}
.member_one_right{
  display: block;
  width: 400px;
  height: auto;
}
.member_two{
  display: block;
  width: 100%;
  height: auto;
  margin: 100px auto 50px;
}
.member_two h1{
  display: block;
  width: 1000px;
  margin: auto;
  text-align: center;
  font-size: 30px;
  background-color: hsla(358,100%,23%,1.00);
  color: hsla(58,100%,44%,1.00);
  padding: 20px 0;
}
.member_two p{
  display: block;
  width: 1000px;
  margin: 30px auto;
  text-align: center;
}
.member_koumoku{
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  width: 1000px;
  margin: auto;
}
.member_koumoku img{
  display: block;
  width: auto;
  height: 35px;
  margin: 5px 10px;
}

.member_two_nk{
  display: block;
  width: 1000px;
  height: auto;
  margin: auto;
}
.member_two_nk h2{
  display: block;
  text-align: center;
  margin: 40px auto 0;
}
.member_two img{
  display: block;
  margin: 20px auto 0;
}

.member_three{
  display: block;
  width: 1000px;
  height: auto;
  margin: 0px auto 100px;
  background-color: hsla(0,100%,25%,1.00);
  padding: 20px 0;
  text-align: center;
  color: #FFFFFF;
  font-size: 25px;
  font-weight: bold;
}
.tokuten_flex{
  display: flex;
  justify-content: space-between;
}
.tokuten_flex img{
  display: block;
  width: 480px;
}


.space{
  display: block;
  height: 80px;
}

.jisseki_p{
  text-align: center;
}





























