@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100..900&family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Noto+Sans+JP:wght@100..900&family=Roboto+Mono:ital,wght@0,100..700;1,100..700&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&family=Zen+Old+Mincho&display=swap');
*{
  margin:0;
  padding:0;
  list-style: none;
  box-sizing: border-box;
  text-decoration: none;
  background-size: cover;
  background-position: center;
}

*::before,
*::after{
  background-size: cover;
  background-position: center;
}

html {
  -ms-text-size-adjust: none;
  -webkit-text-size-adjust: none;
}

body{
  color: #1D1D1D;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.8;
  font-family: 'Noto Sans CJK JP' , 'Noto Sans JP'  ,sans-serif;
  -webkit-font-smoothing: antialiased;
  -ms-text-size-adjust: none;
  -webkit-text-size-adjust: none;
}


body.fixed {
  width: 100%;
  height: 100%;
  position: fixed;
}

img{
  display: block;
  object-position: center;
}

#body_wrap{
  overflow: hidden;
}

main{
  overflow: hidden;
  padding-top:75px;
}

.grecaptcha-badge { 
  visibility: hidden;
}

a{
  color: #1D1D1D;
}

@media (any-hover:hover){
  a[href^="tel:"] {
    pointer-events: none;
  }
}

/*
------------------------------------
アニメーション関係
------------------------------------
*/

.common_hover_opa{
  transition: 0.4s;
}


@media (any-hover:hover){
  .common_hover_opa:hover{
    opacity: 0.5;
  }
  
}

/*
------------------------------------
共通パーツ
------------------------------------
*/

.hide{
  display: none!important;
}

.container{
  max-width: 1100px;
  margin:0 auto;
}


.text_bg_black{
  background-color: #1D1D1D;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.text_bg_yellow{
  background-color: #FFDF38;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.text_bg_red{
  background-color: #C71E1A;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.text_bg_white{
  background-color: #fff;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.marker_yellow{
  background: linear-gradient(to top, #FFDF38 -10%, #FFDF38 40%, transparent 40%, transparent 100%);
}

/*
------------------------------------
ヘッダー
------------------------------------
*/

header{
  position: fixed;
  top:0;
  left:0;
  z-index: 20;
  width:100%;
  background-color: #fff;
}

header .header_inner{
  padding-left: 8px;
  padding-right: 24px;
}

header .header_flex{
  display: flex;
  justify-content: space-between;
  align-items: center;
  height:75px;
}

header .header_left{
  display: flex;
  align-items: center;
}

header .header_logo{
  display: flex;
  align-items: center;
}

header .header_logo img{
  width:166px;
}

header .header_logo p{
  margin-left: 10px;
  
  line-height: 1;

}

header .other_link{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 182px;
  height: 51px;
  border-radius: 4px;
  background-color: #1B2D3F;
  color:#fff;
  
  line-height: 1;
  
  margin-left: 18px;
}

header .header_right{
  display: flex;
  align-items: center;
}

header .header_tel{
  display: flex;
  align-items: center;
  font-size: 22px;
  font-weight: 500;
  line-height:1;
  color:#1B2D3F;
}

header .header_tel::before{
  content:'';
  width: 23px;
  height: 23px;
  background-image: url('../img/common/icon_tel_blue.svg');
  margin-right: 6px;

}

header .button_flex{
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: 16px;
}

header .button_flex .button{
  width: 282px;
  height: 60px;
  border-radius: 4px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  
  line-height:1;
  
  color:#fff;
  position: relative;
}

header .button_flex .button::after{
  content:'';
  width: 6px;
  height: 13px;
  background-image: url('../img/common/icon_angle_right_white.svg');
  position: absolute;
  right:16px;
  top:0;
  bottom:0;
  margin:auto;
}

header .button_flex .button.line{
  background: linear-gradient(to top, #06C755 0%, #06C755 50%, #0FD15F 50%, #0FD15F 100%);
}

header .button_flex .button.contact{
  margin-left: 10px;
  background: linear-gradient(to top, #FE5900 0%, #FE5900 50%, #FF6C1D 50%, #FF6C1D 100%);
}

header .drawer_open_frame{
  margin-left: 20px;
  min-width:37px;
  height:40px;
  width: fit-content;
  position: relative;
  z-index: 24;
}

header .drawer_open{
  cursor: pointer;
  top:0;
  left:0;
  right:0;
  margin:0 auto;
  z-index: 24;
} 


header .drawer_open p{
  font-family: 'Lato', sans-serif;
  font-size: 12px;
  
  line-height: 1;
  text-align: center;
  color:#1B2D3F;
  margin-top: 6px;
  
}

header .drawer_open_inner{
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  width:34px;
  height:24px;
  margin:0 auto;
}

header .drawer_open .bar{
  height:2px;
  background-color: #1B2D3F;
  transition-duration: 0.5s;
}

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

  header .header_logo img{
    width:120px;
  }
  
  header .header_logo p{
    margin-left: 10px;
    font-size: 14px;
    line-height: 1;
  
  }
  

  header .button_flex .button{
    width: 242px;
    height: 60px;
    border-radius: 4px;
    font-size: 15px;
  }
  
}

/* header .drawer_open.active .bar1 {
  transform: translateY(10.7px) rotate(-45deg);
}
header .drawer_open.active .bar2 {
  display: none;
}
header .drawer_open.active .bar3 {
  transform: translateY(-10.7px) rotate(45deg);
} */


#drawer_menu{
  z-index: 21;
  position: fixed;
  top:0;
  left:0;
  z-index:22;
  width:100%;
  height: calc(100vh ); 
  height: calc(var(--vh2, 1vh) * 100);

  opacity: 0;
  pointer-events: none;
  transition-duration: 0.7s;
  background: #1B2D3F;
}

#drawer_menu a{
  transition: 0.4s;
}


@media (any-hover:hover){
  #drawer_menu a:hover{
    opacity: 0.5;
  }
  
}


#drawer_menu.show{
  opacity: 1;
  pointer-events:auto;
}

#drawer_menu .drawer_flex{
  display: flex;
  height:100%;
  position: relative;
}

#drawer_menu .drawer_close{
  position: absolute;
  width:30px;
  cursor: pointer;
  top:40px;
  right:40px;
}


#drawer_menu .drawer_flex 
#drawer_menu .drawer_flex .drawer_img{
  flex-shrink: 0;
  height:100%;
}

#drawer_menu .drawer_flex .drawer_img img{
  flex-shrink: 0;
  height:100%;
}

#drawer_menu .drawer_flex .drawer_right{
  width:100%;
  height:100%;

  overflow-y: scroll;
  padding-left: 40px;
  padding-right: 80px;
}

#drawer_menu .drawer_contents_frame{
  min-height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

#drawer_menu .drawer_contents{
  padding-top: 60px;
  padding-bottom: 60px;
}

#drawer_menu .drawer_nav{
  display: flex;
}

#drawer_menu .drawer_nav ul+ul{
  margin-left: 72px;
}

#drawer_menu .drawer_nav li + li{
  margin-top: 60px;
}

#drawer_menu .drawer_nav .parents_link{
  color:#fff;
  font-size: 26px;
  
  line-height: 1.3;
  

}

#drawer_menu .button{
  width: 320px;
  height: 60px;
  border-radius: 4px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  
  line-height:1;
  
  color:#fff;
  position: relative;
}

#drawer_menu .button::after{
  content:'';
  width: 6px;
  height: 13px;
  background-image: url('../img/common/icon_angle_right_white.svg');
  position: absolute;
  right:16px;
  top:0;
  bottom:0;
  margin:auto;
}

#drawer_menu .button.line{
  background: linear-gradient(to top, #06C755 0%, #06C755 50%, #0FD15F 50%, #0FD15F 100%);
}

#drawer_menu .button.contact{
  margin-top: 20px;
  background: linear-gradient(to top, #FE5900 0%, #FE5900 50%, #FF6C1D 50%, #FF6C1D 100%);
}

#drawer_menu .drawer_tel{
  display: flex;
  align-items: center;
  width: fit-content;
  color:#fff;
  font-size: 26px;
  font-weight: 500;
  line-height: 1;

}

#drawer_menu .drawer_tel::before{
  content:'';
  width: 23px;
  height: 23px;
  background-image: url('../img/common/icon_tel_white.svg');
  margin-right: 10px;

}

#drawer_menu .other_link{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 182px;
  height: 51px;
  border-radius: 4px;
  margin-top: 16px;
  background-color: #fff;
  
  line-height: 1;
  
  color:#1B2D3F;
}

/*
------------------------------------
トップ
------------------------------------
*/

body.top_body{
  
}

main.top_main{

}

.top_section{

}

.top_mv_section{
  
}

.top_mv_section .mv{
  width:100%;
}

.top_message_section{

}

.top_message_section .message_area{
  padding-top: 40px;
  position: relative;
  z-index: 1;
  padding-bottom:60px ;
  background-color: #1B2D3F;
}

.top_message_section .message_area::after{
  content:'';
  width:0;
  height:0;
  border-style:solid;
  border-width: 120px 50vw 0 50vw;
  border-color: #1B2D3F transparent transparent transparent;
  position: absolute;
  left:0;
  bottom:-120px;
}



.top_message_section .message_frame{
  max-width:1360px;
  width:94%;
  margin:0 auto;
}

.top_message_section .message_frame .letter{
  width: 100%;
  box-shadow: 0px 2px 20px 0px #00000052;

}

.top_message_section .mv_under{
  width: 100%;
  margin-top: -60px;
}

.red_bg_area{
  position: relative;
  margin-bottom: 50px;
}

.red_bg_area::before{
  content:'';
  width:100%;
  height:calc(100% - 50px);
  background-color:#C71E1A ;
  position: absolute;
  top:0;
  left:0;
  z-index:-10;

}

.top_greeting_section{
  padding-top: 120px;
}

.top_greeting_section .greeting_block{
  position: relative;
  padding-top: 180px;
  padding-bottom: 100px;
}

.top_greeting_section .greeting_block::before{
  content:'';
  width:1340px;
  height:100%;
  background-color:#1D1D1D ;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index:-1;
}

.top_greeting_section .greeting_head{
  font-size: 42px;
  line-height:1.8;
  position: absolute;
  width: fit-content;
  top:-40px;
  left:0;
  right:0;
  margin:auto;
  white-space: nowrap;
}

.top_greeting_section .greeting_head span{
  padding: 0 5px;
}

.top_greeting_section .greeting_block .greeting_flex{
  display: flex;
  justify-content: flex-end;
}


.top_greeting_section .greeting_block .greeting_left{
  height:938px;
  position: relative;
}

.top_greeting_section .greeting_block .pic{
  position: absolute;
  right:0;
  top:0;
  width:663px;
}

.top_greeting_section .greeting_block .greeting_right{
  margin-left: 100px;
}

.top_greeting_section .greeting_block p{
  color:#fff;
  font-size: 18px;
}

.top_greeting_section .greeting_block p+p{
  margin-top: 40px;
}

.top_greeting_section .greeting_block p span{
  font-size: 28px;
  padding:0 3px;
}

.top_history_section{
  padding-top: 120px;
}

.top_history_section .history_head img{
  width:940px;
  max-width: 100%;
}

.top_history_section .p01{
  color:#fff;
  font-size: 28px;
  margin-top: 64px;
  text-align: center;

}

.top_history_section .p01 + .p01{
  margin-top: 24px;
}

.top_history_section .history_frame{
  margin-top: 12px;
}

.top_history_section .history_frame img{
  width:100%;
}

.top_history_section .p02{
  margin-top: 48px;
  color:#fff;
  font-size: 28px;
  text-align: center;
} 

.top_history_section .p02 + .p02{
  margin-top: 32px;
}

.top_history_section .p02 span{
  font-size: 38px;
  font-weight: 900;
  
  color:#FFDF38;
  padding:0 2px;
}

.top_guide_section{
  padding-top: 120px;
}

.top_guide_section .guide_area{
  position: relative;
  padding-top: 196px;

}

.top_guide_section .guide_area::before{
  content:'';
  width:0;
  height:0;
  border-style:solid;
  border-width: 130px 195px 0 195px;
  border-color: #C71E1A transparent transparent transparent;
  position: absolute;
  left:0;
  right:0;
  top:0;
  margin:auto;
  z-index: -1;
}

.top_guide_section .guide_area::after{
  content:'';
  width:1340px;
  height:100%;
  background-color:#1B2D3F;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index:-4;
}


.top_guide_section .guide_area .add_text{
  text-align: center;
  position: absolute;
  font-size: 50px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.42em;
  text-align: center;
  top:0;
  left:0;
  width:100%;
  color:#fff;
  padding-left: 50px;
}


.top_guide_section .guide_area .p01{
  font-size: 20px;
  font-weight: 800;
  line-height: 1.6;
  
  text-align: center;
  color:#fff;
}


.top_guide_section .guide_area .p01 span{
  color:#FFDF38;
  font-size: 32px;
}

.top_guide_section .guide_block{
  color:#fff;
}

.top_guide_section .guide_block01{
  display: flex;
  justify-content: flex-end;
  margin-top: 88px;
}

.top_guide_section .guide_block01 .guide_img_area{
  position: relative;
  height:813px;
}

.top_guide_section .guide_block01 .guide_img_area .pic{
  position: absolute;
  right:0;
  top:0;
  width:656px;
}

.top_guide_section .guide_block01 .guide_text_area{
  margin-left: 80px;
}

.top_guide_section .guide_block01 .guide_text01_1{
  font-size: 24px;
  
  
  
}

.top_guide_section .guide_block01 .guide_text01_2{
  margin-top: 32px;
  font-size: 24px;
  
  
  
}

.top_guide_section .guide_block01 .guide_text01_3{
  margin-top: 54px;
  font-size: 50px;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: 0.1em;
}

.top_guide_section .guide_block01 .guide_text01_4{
  margin-top: 32px;
  font-size: 40px;
  font-weight: 800;
  line-height: 1.6;
  letter-spacing: 0.06em;
}

.top_guide_section .guide_block01 .guide_text01_5{
  margin-top: 32px;
  font-size: 24px;
  
  
  
}

.top_guide_section .guide_block01 .text_list{
  margin-top: 32px;
  display: flex;
  align-items: flex-end;
  gap:0 10px;
}

.top_guide_section .guide_block01 .text_list+.text_list{
  margin-top: 10px;
}


.top_guide_section .guide_block01 .text_list p{
  width:183px;
  height:54px;
  border: 3px solid #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 30px;
  line-height: 1;
  
}

.top_guide_section .guide_block01 .text_list p span{
  color:#FFDF38;
}

.top_guide_section .guide_block01 .text_list>span{
  font-size: 24px;
}

.top_guide_section .guide_block02{
  display: flex;
  margin-top: 110px;
}

.top_guide_section .guide_block02 .guide_text_area{

}

.top_guide_section .guide_block02 .guide_img_area{
  position: relative;
  height:624px;
}

.top_guide_section .guide_block02 .guide_img_area .pic{
  position: absolute;
  width:700px;
  top:0;
  left:0;
}

.top_guide_section .guide_block02 .guide_text02_1{
  font-size: 24px;
  
}

.top_guide_section .guide_block02 .guide_text02_1 .color_yellow{
  color:#FFDF38;
}
.top_guide_section .guide_block02 .guide_text02_1 .text_bg_yellow{
  font-size: 34px;
  color:#C71E1A;
  line-height: 1.4;
  font-weight: 900;
}

.top_guide_section .guide_block02 .guide_text02_2{
  margin-top: 40px;
  font-size: 24px;
}

.top_guide_section .guide_block02 .guide_text02_3{
  margin-top: 40px;
  font-size: 24px;
}

.top_guide_section .guide_block02 .guide_text02_4{
  margin-top: 40px;
  font-size: 46px;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: 0.06em;
}

.top_guide_section .p02{
  margin-top: 80px;
  font-size: 24px;
  
  color:#fff;
} 

.top_guide_section .guide_head{
  position: relative;
}

.top_guide_section .guide_head .guide_head_img{
  width:1120px;
  max-width: 100%;
}

.top_guide_section .guide_head .guide_head_bg{
  position: absolute;
  z-index: -1;
  width:820px;
  left:-80px;
  top:-190px;
}

.top_guide_section .guide_block03{
  margin-top: 28px;
  padding-top: 235px;
  padding-bottom: 110px;
  position: relative;
  text-align: center;
}

.top_guide_section .guide_block03::before{
  content:'';
  width:1340px;
  height:100%;
  background-image:url('../img/top/guide_bg.jpg');
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: -1;
  clip-path: polygon(0 200px, 100% 60px, 100% 100%, 49% 100%, 49% 100%, 0 100%);
}

.top_guide_section .guide_block03 p span{
  color:#FFDF38;
}
.top_guide_section .guide_block03 p span.blue{
  color:#0086E7;
}

.top_guide_section .guide_block03 .guide_text03_01{
  font-size: 28px;
}

.top_guide_section .guide_block03 .guide_text03_02{
  font-size: 32px;
  margin-top: 24px;
}

.top_guide_section .guide_block03 .guide_text03_03{
  font-size: 34px;
  margin-top: 24px;
}

.top_guide_section .guide_block03 .guide_text03_04{
  font-size: 32px;
  margin-top: 78px;
}

.top_guide_section .guide_block03 .guide_text03_05{
  font-size: 28px;
  margin-top: 24px;
}

.top_guide_section .guide_block03 .guide_text03_06{
  font-size: 32px;
  margin-top: 78px;
}

.top_guide_section .guide_block03 .guide_text03_07{
  font-size: 50px;
  font-weight: 900;
  line-height: 1;
  margin-top: 4px;
}

.top_about_section{
  background-color: #F8F8F8;
  padding-bottom: 110px;
} 

.top_about_section .mv{
  aspect-ratio: 1/0.3875;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  background-image: url('../img/top/about_mv.jpg');
}

.top_about_section .sec_title{
  font-family: "Zen Old Mincho", serif;
  font-size: 48px;
  line-height: 48px;
  color:#fff;
  position: relative;
  z-index: 1;
  margin-top: -120px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}


.top_about_section .sec_title p{
  padding:8px 12px;
}
.top_about_section .sec_title p + p{
  margin-top: 12px;
  
}

.top_about_section .sec_title .big{
  font-size:  80px;
}

.top_about_section .flex{
  margin-top: 84px;
  width: fit-content;
  min-height: 634px;
  position: relative;

}

.top_about_section .flex .pic{
  position: absolute;
  left:100%;
  top:0;
  width:575px;
}

.top_about_section .about_block{
  display: flex;
  align-items: flex-start;
}

.top_about_section .about_block+.about_block{
  margin-top: 40px;
}

.top_about_section .about_block .human{
  border-radius: 50%;
  width:90px;
  margin-right: 20px;
  flex-shrink: 0;
}

.top_about_section .about_block .about_contents{
  padding-top: 32px;
}

.top_about_section .about_block p{
  font-size: 20px;
}

.top_about_section .about_block p + p{
  margin-top: 32px;
}

.top_about_section .about_block ul{
  margin-bottom: 12px;
}

.top_about_section .about_block ul li{
  margin-top: 12px;
  width: fit-content;
  font-family: "Zen Old Mincho", serif;
  font-size: 20px;
  line-height: 1.3;
  background-color: #fff;
  padding: 5px 8px 5px 16px;
  border-left: 8px solid #FE5900;
}


.top_sale_section{
  background-color: #F8F8F8;
  padding-bottom: 110px;
} 

.top_sale_section .mv{
  aspect-ratio: 1/0.565;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  background-image: url('../img/top/sale_mv.jpg');
}

.top_sale_section .white_box{
  position: relative;
  z-index: 1;
  width:1220px;
  margin:0 auto;
  margin-top:-260px;
  padding-top: 120px;
  padding-bottom: 130px;
  padding-left: 24px;
  padding-right: 24px;
  box-shadow: 0px 4px 24px 0px #00000014;
  background-color: #fff;
  text-align: center;
  font-family: "Roboto Mono", monospace;
}

.top_sale_section .sec_title{
  font-family: "Zen Old Mincho", serif;
  font-size: 56px;
  line-height: 1;
  color:#fff;
  position: absolute;
  left:60px;
  top:-130px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.top_sale_section .sec_title p{
  padding:8px 12px;
}
.top_sale_section .sec_title p + p{
  margin-top: 12px;
}

.top_sale_section .sec_title .big{
  font-size: 80px;
}

.top_sale_section .red{
  color: #C71E1A;
}

.top_sale_section .sale_text01{
  font-family: "Inter", sans-serif;
  font-size: 34px;
}

.top_sale_section .sale_text01 .big{
  font-size: 50px;
}

.top_sale_section .sale_text02{
  margin-top: 40px;
  font-size: 24px;
  line-height: 43.2px;
}

.top_sale_section .sale_text03{
  margin-top: 40px;
  font-size: 24px;
  line-height: 43.2px;
}

.top_sale_section .sale_text04{
  margin-top: 40px;
  font-size: 24px;
}

.top_sale_section .sale_text04 span{
  font-size: 32px;
}

.top_sale_section .sale_text05{
  margin-top: 40px;
  font-size: 20px;
}

.top_sale_section .sale_text05 span{
  font-size: 24px;
}

.top_sale_section .sale_text06{
  margin-top: 60px;
  font-size: 32px;
}

.top_sale_section .sale_text07{
  margin-top: 60px;
  font-size: 24px;
}

.top_sale_section .sale_human{
  position: absolute;
  width:257px;
  bottom:0;
  right:32px;
  z-index: 2;
}

.top_job_section{

}

.top_job_section .job_list_area{
  position: relative;
  padding-top: 72px;
  padding-bottom: 80px;
  color:#fff;
}

.top_job_section .job_list_area::before{
  content:'';
  width:100vw;
  height:100%;
  background-color:#1B2D3F;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index:-5;
}

.top_job_section .job_list_area::after{
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 121px 50vw 0 50vw;
  border-color: #1B2D3F transparent transparent transparent;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  bottom: -120px;
}

.top_job_section .job_head{
  position: relative;
}

.top_job_section .job_head .job_head_img{
  width:646px;
  margin:0 auto;
}

.top_job_section .job_head_deco{
  position: absolute;
  z-index: -1;
  width:390px;
}

.top_job_section .job_head_deco01{
  top:44px;
  right:calc(50% + 330px);
}
.top_job_section .job_head_deco02{
  top:134px;
  left:calc(50% + 330px);
}

.top_job_section .p01{
  margin-top: 54px;
  font-size: 24px;
  text-align: center;
}

.top_job_section .job_list{

}

.top_job_section .job_block{
  position: relative;
  padding-top: 70px;
  padding-bottom: 70px;
  display: flex;
  margin-top: 80px;
}

.top_job_section .job_block::before{
  content:'';
  width:100vw;
  height:100%;
  background-color: #273C51;
  position: absolute;
  top:0;
  z-index:-3;
}

.top_job_section .job_inner{
  width: 550px;
  position: relative;
}

.top_job_section .job_block .job_name{
  font-size: 66px;
  line-height: 1;
  padding-bottom: 28px;
  position: relative;
}

.top_job_section .job_block .job_name::before{
  content:'';
  width: 94px;
  height: 84px;
  background-image: url('../img/top/job_deco.png');
  position: absolute;
  z-index: -1;
  top:-35px;
  left:-25px;
}

.top_job_section .job_block .job_name::after{
  content:'';
  width:calc(100% + 100px);
  height:4px;
  background-color: #FE5900;
  position: absolute;
  bottom:0;
  z-index: 0;
}

.top_job_section .job_block .job_pic{
  position: absolute;
  width:550px;
  top:-30px;
  box-shadow: 0px 4px 12px 0px #00000038;
}

.top_job_section .job_block .job_text{
  margin-top: 30px;
  font-size: 20px;
  white-space: nowrap;
}

.top_job_section .job_block .job_min_name{
  width: fit-content;
  margin-top: 36px;
  font-size: 24px;
  line-height: 1;
  color:#1B2D3F;
  padding:8px;
  background-color: #fff;
}

.top_job_section .job_block .job_min_name + .job_text{
  margin-top: 16px;
  font-size: 18px;
  
}

.top_job_section .job_block .voice_box{
  position: relative;
  padding:16px 6px 16px 122px;
  background-color: #fff;
  margin-top: 36px;
  color:#273C51;
}

.top_job_section .job_block .voice_box::before{
  content:'';
  width:0;
  height:0;
  border-style:solid;
  border-width: 0 14px 18px 14px;
  border-color: transparent transparent #fff transparent;
  position: absolute;
  left:116px;
  top:-16px;
}

.top_job_section .job_block .voice_box .job_human{
  position: absolute;
  width:90px;
  border-radius: 50%;
  left:8px;
  top:-8px;
  z-index: 1;
}


.top_job_section .job_block:nth-child(odd){
  justify-content: flex-start;
}
.top_job_section .job_block:nth-child(odd)::before{
  right:0;
}
.top_job_section .job_block:nth-child(odd) .job_name::after{
  left: 0;
}
.top_job_section .job_block:nth-child(odd) .job_pic{
  transform: rotateZ(3deg);
  left:620px;
}

.top_job_section .job_block:nth-child(even){
  justify-content: flex-end;
}
.top_job_section .job_block:nth-child(even)::before{
  left:0;
}
.top_job_section .job_block:nth-child(even) .job_name::after{
  right: 0;
}
.top_job_section .job_block:nth-child(even) .job_pic{
  transform: rotateZ(-3deg);
  right:620px;
}


.top_job_section .job_bottom_area{
  position: relative;

  padding-top: 186px;
  padding-bottom: 210px;
}

.top_job_section .job_bottom_area::before{
  content:'';
  width:100vw;
  height:100%;
  background-image:url('../img/top/job_bg.jpg') ;
  background-position: top;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: -7;
}

.top_job_section .job_bottom_area .job_bottom_head{
  color:#fff;
  font-size: 40px;
  font-weight: 900;
  text-align: center;
  font-family: "Zen Old Mincho", serif;
}

.top_job_section .job_bottom_area .job_bottom_flex{
  display: flex;
  align-items: flex-start;
  margin-top: 26px;
}

.top_job_section .job_bottom_area .job_human{
  flex-shrink: 0;
  width:140px;
  height:140px;
  border-radius: 50%;
  margin-right: 36px;
}

.top_job_section .job_bottom_area .job_bottom_text_area{
  padding:44px 40px;
  background-color: #fff;
  position: relative;
}

.top_job_section .job_bottom_area .job_bottom_text_area::before{
  content:'';
  width:0;
  height:0;
  border-style:solid;
  border-width: 19.5px 27px 19.5px 0;
  border-color: transparent #FFFFFF transparent transparent;
  position: absolute;
  left:-26px;
  top:40px;
}

.top_job_section .job_bottom_area .job_bottom_text_area p{
  font-size: 20px;
  line-height: 1.7;
}

.top_job_section .job_bottom_area .job_bottom_text_area p+p{
  margin-top: 28px;
}

.top_job_section .job_bottom_area .job_bottom_text_area p span{
  color:#C71E1A;
}

.top_step_section{
  padding-top: 230px;
  padding-bottom: 150px;
  background-color: #C71E1A;
  position: relative;
  /* z-index: 2; */
  margin-top: -160px;
  padding-bottom: 150px;
  clip-path: polygon(0 110px, 100% 0%, 100% calc(100% - 110px), 0% 100%);
  /* clip-path: polygon(0 110px, 100% 0, 100% 100%, 50% 100%, 50% 100%, 0 100%); */
} 


.top_step_section .step_head{
  text-align: center;
  color:#fff;
  font-size: 48px;
  line-height: 1;
  text-align: center;
}

.top_step_section .step_head span{
  font-size: 60px;
}

.top_step_section .p01{
  margin-top: 80px;
  font-size: 24px;
  text-align: center;
  color:#fff;
}

.top_step_section .stap_list{
  margin-top: 56px;
}


.top_step_section .stap_list .step_arrow{
  width:70px;
  height:45px;
  margin:40px auto;
  background-image: url('../img/common/icon_angle_bottom_white.svg');
}

.top_step_section .step_block{
  position: relative;
  display: flex;
  padding:32px 32px;
  background-color: #fff;
}

.top_step_section .step_block .step_num{
  font-size: 110px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.02em;
  color:#C71E1A;
  opacity: 0.14;
  position: absolute;
  top: -16px;
  left: -10px;
  font-style: italic;
}   


.top_step_section .step_block .step_left{
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  margin-right: 32px;
  
}

.top_step_section .step_block .step_left img{
  width:15px;
  flex-shrink: 0;
}

.top_step_section .step_block .step_left::after{
  content:'';
  width:2px;
  height:100%;
  background-color: #C71E1A;
  margin-top: 16px;
}

.top_step_section .step_block .step_right{
  position: relative;
  z-index: 1;
  padding-top: 32px;
  padding-bottom: 48px;
}

.top_step_section .step_block .step_title{
  font-size: 56px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.05em;
  color:#C71E1A;
  font-style: italic;
}


.top_step_section .step_block .human_block{
  margin-top: 30px;
  align-items: flex-start;
  display: flex;
}


.top_step_section .step_block .human_block img{
  width: 89px;
  height: 89px;
  border-radius: 50%;
  flex-shrink:0;
  margin-right: 12px;
}

.top_step_section .step_block .human_block p{
  padding-top: 12px;
  font-size: 18px;
  font-weight: 400;
}

.top_step_section .step_block .human_block p a{
  color:#007DF1;
}

.top_step_section .step_block .human_block p span{
  font-weight: 700;
}

.top_step_section .step_block .min_flex{
  display: flex;
  align-items: flex-start;
  margin-top: 20px;
}

.top_step_section .step_block .min_flex p{
  font-size: 18px;
  font-weight: 400;
  white-space: nowrap;
  margin-top: 16px;
}

.top_step_section .step_block .min_flex img{
  width:298px;
  flex-shrink: 0;
  margin-left: 20px;
}


.top_step_section .step_block .box_flex{
  display: flex;
  gap:0 30px;
  margin-top: 40px;
}

.top_step_section .step_block .color_box{
  width:930px;
  border:5px solid #C71E1A;
  background-color: #F8F8F8;
  padding:56px 40px 36px;
  position: relative;
  margin-top: 30px;
}

.top_step_section .step_block .box_flex .color_box{
  width:430px;
  padding:56px 24px 24px;
  margin-top: 0;
}

.top_step_section .step_block .color_box .box_head{
  position: absolute;
  top:-5px;
  left:-5px;
  height:41px;
  background-color: #C71E1A;
  display: flex;
  align-items: center;
  padding:0 12px;
  color:#fff;
  font-size: 24px;
  line-height: 1;
}

.top_step_section .step_block .color_box .box_head span{
  height:30px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 20px;
  background-color: #fff;
  margin-right: 8px;
  padding:0 12px;
  color:#C71E1A;
  font-size: 20px;
  line-height: 1;
  letter-spacing: 0.04em;
}

.top_step_section .step_block .color_box ul li{
  display: flex;
  align-items: flex-start;
  font-size: 18px;
  margin-top: 4px;
}

.top_step_section .step_block .color_box ul li::before{
  content:'';
  width:22px;
  height:18px;
  flex-shrink: 0;
  background-image: url('../img/common/icon_check_red.svg');
  margin-right: 9px;
  margin-top: 7px;
}


.top_step_section .step_block .color_box .color_box_title{
  font-size: 24px;
  padding-bottom: 6px;
  border-bottom:2px solid #1D1D1D;
}

.top_step_section .step_block .color_box .color_box_text{
  margin-top: 12px;
  font-size: 18px;
  font-weight: 400;
}

.top_step_section .step_block .color_box .color_box_text.mt0{
  margin-top: 0;
}

.top_step_section .step_block .color_box .color_box_text + .color_box_title{
  margin-top: 40px;
}

.top_step_section .step_block01{

}

.top_step_section .step_block01 .step_deco01{
  position: absolute;
  width:223px;
  right:0;
  bottom:100%;
}

.top_step_section .step_block01 .step_right{
  padding-bottom: 0;
}


.top_step_section .step_block02{

}

.top_step_section .step_block02 .step_deco02{
  position: absolute;
  width:245px;
  top:234px;
  left:-150px;
  z-index: 1;
}


.top_step_section .step_block02 .step02_01{
  position: absolute;
  width:290px;
  right:40px;
  top:50px;
}

.top_step_section .step_block02 .step02_02{
  position: absolute;
  width:205px;
  right:0;
  bottom:0;
}

.top_step_section .step_block03{

}

.top_step_section .step_block03 .independ_text{
  margin-top: 40px;
  font-size: 18px;
  font-weight: 400;
}

.top_step_section .step_block03 .independ_text .text_bg_yellow{

}

.top_step_section .step_block03 .independ_text + .independ_text{
  margin-top: 30px;
}

.top_step_section .step_block03 .step03_01{
  position: absolute;
  width:277px;
  right:0;
  top:0;
}


.top_step_section .p02{
  margin-top: 90px;
  font-size: 56px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.05em;
  color:#fff;
  text-align: center;
  font-style: italic;
}

.top_step_section .p02 span{
  font-size: 84px;
}

.top_step_section .p03{
  margin-top: 72px;
  font-size: 20px;
  color:#fff;
  text-align: center;
}

.top_step_section .p03 span{
  font-size: 32px;
  font-weight: 900;
  color:#F6D53E;
}

.top_step_section .p04{
  margin-top: 28px;
  font-size: 20px;
  color:#fff;
  text-align: center;
}

.top_step_section .p04 span{
  font-size: 36px;
  font-weight: 900;
}

.top_data_section{
  padding-top: 180px;
  padding-bottom: 120px;
  margin-top: -150px;
  position: relative;
  /* z-index: 1; */
  
}

.top_data_section::before{
  content:'';
  width:100%;
  height:100%;
  background-color: #1B2D3F;
  position: absolute;
  top:0;
  left:0;
  z-index:-1;
}

.top_data_section .data_head{
  text-align: right;
  position: relative;
  color:#fff;
  font-size: 48px;
  line-height: 1;
}

.top_data_section .data_head img{
  position: absolute;
  z-index: 2;
  width:414px;
  top:-64px;
  right:-90px;
}
.top_data_section .data_head p{
  position: relative;
  z-index: 3;
}

.top_data_section .data_head span{
  font-size: 70px;
}

.top_data_section .data_frame{
  position: relative;
  margin-top: 88px;
  background-color: #1B2D3F;
  z-index: 6;
}

.top_data_section .data_frame .data{
  width:1263px;
  margin-left: -78px;
}

.top_data_section .step_deco{
  width:502px;
  position: absolute;
  z-index: 6;
  bottom:100%;
  left:-180px;
}

.top_interview_section{
  padding-top: 160px;
  padding-bottom: 160px;
  background-color: #F8F8F8;
} 

.top_interview_section .sec_title{
  font-size: 48px;
  line-height: 1;
  text-align: left;
}

.top_interview_section .sub_title{
  font-size: 26px;
  line-height: 1;
  margin-top: 36px;
}

.top_interview_section .interview_list{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 44px;
}

.top_interview_section .interview_card{
  width:340px;
  position: relative;
}


.top_interview_section .interview_card img{
  width:100%;
  box-shadow: 0px 2px 14px 0px #00000024;
}


.top_interview_section .interview_card .interview_button{
  position: absolute;
  width: 304px;
  height: 46px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #FE5900;
  font-size: 18px;
  line-height: 1;
  color:#fff;
  bottom:20px;
  left:0;
  right:0;
  margin:auto;
}

.top_interview_section .interview_card .interview_button::after{
  content:'';
  width: 6px;
  height: 11px;
  background-image: url('../img/common/icon_angle_right_white.svg');
  position: absolute;
  right:30px;
  top:0;
  bottom:0;
  margin:auto;
}

.top_interview_section .interview_card01{
  margin-top: 100px;
}

.top_interview_section .interview_card02{
  margin-top: 50px;
}

.top_recommend_section{
  padding-top: 160px;
  padding-bottom: 160px;
}

.top_recommend_section .flex{
  padding:0 30px;
  display: flex;
  justify-content: space-between;
  position: relative;
  font-family: "Zen Old Mincho", serif;
  color:#1B2D3F;
}


.top_recommend_section .left{
  width:408px;
  height:772px;
}

.top_recommend_section .recommend_head{
  
  font-size: 48px;
  color:#1B2D3F;
  padding-bottom:18px;
  border-bottom:2px solid #1B2D3F;
}

.top_recommend_section .p01{
  color:#1B2D3F;
  font-size: 34px;
  font-weight: 900;
  line-height: 1.6;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
}

.top_recommend_section .p01::before,
.top_recommend_section .p01::after{
  font-family: "Zen Old Mincho", serif;
  color:#1B2D3F;
  font-size: 34px;
  font-weight: 400;
  line-height: 1.6;
  position: absolute;
}

.top_recommend_section .p01::before{
  content:'「';
  left:-20px;
  top:-6px;
}
.top_recommend_section .p01::after{
  content:'」';
  right:0;
  bottom:-6px;
}

.top_recommend_section .p02{
  margin-top: 40px;
  font-size: 20px;
  padding-left: 20px;
  
}

.top_recommend_section .p03{
  font-size: 42px;
  padding-left: 20px;
}

.top_recommend_section .border{
  height:2px;
  background-color:#1B2D3F;
  margin-top: 24px;
}

.top_recommend_section .pic{
  position: absolute;
  width:412px;
  left:30px;
  top:182px;
}

.top_recommend_section ul{
  margin-top: 22px;

}

.top_recommend_section ul li{
  margin-top: 12px;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.6;  
  display: flex;
  align-items: flex-start;
  color:#1D1D1D;
}

.top_recommend_section ul li::before{
  content:'';
  width:16px;
  height:16px;
  border-radius: 50%;
  flex-shrink: 0;
  margin-right: 9px;
  background-color: #1B2D3F;
  margin-top: 9px;
}

.top_recommend_section ul li:first-child{
  margin-top: 0;
}

.top_recommend_section .book_list{
  margin-top: 24px;
  width:536px;
  padding:22px 56px;
  display: flex;
  justify-content: space-between;
  background-color: #F2F2F2;
}

.top_recommend_section .book_list img{
  width:105px;
}

.top_merit_section{
  position: relative;
  padding-top: 260px;
  padding-bottom: 392px;
  
  color:#fff;
}

.top_merit_section::before{
  content:'';
  width:100%;
  height:calc(100% + 100px);
  background-color: #C71E1A;
  position: absolute;
  top:0;
  left:0;
  z-index:-1;

}

.top_merit_section .merit_head{
  text-align: center;
  font-style: italic;
  line-height: 1;
  font-size: 60px;
  font-weight: 900;
}

.top_merit_section .merit_head span{
  font-size: 80px;
}

.top_merit_section .merit_head span.num{
  font-size: 110px;
}

.top_merit_section .p01{
  margin-top: 72px;
  font-size: 24px;
  text-align: center;
}

.top_merit_section .p01 + .p01{
  margin-top: 30px;
}

.top_merit_section .merit_list{
  margin-top: 60px;
}

.top_merit_section .merit_block{
  margin-top: 30px;
}

.top_merit_section .merit_block:first-child{
  margin-top: 0;
}

.top_merit_section .merit_card{
  position: relative;
  height:252px;
}

.top_merit_section .merit_card .merit_radi{
  width: 44px;
  height: 44px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background-color: #fff;
  position: absolute;
  bottom:14px;
  right:14px;
  transition-duration: 0.4s;
}

.top_merit_section .merit_card.active .merit_radi{
  transform: rotateZ(180deg);
}

.top_merit_section .merit_card .merit_radi::after{
  content:'';
  width:19px;
  height:13px;
  background-image: url('../img/common/icon_angle_bottom_red.svg');
}

.top_merit_section .merit_card img{
  width:100%;
}

.top_merit_section .merit_body{
  position: relative;
  background-color: #fff;
  padding:80px 120px;
  color:#1D1D1D;
  display: none;
}

.top_merit_section .merit_body p{
  font-size: 20px;
}

.top_merit_section .merit_body p .red{
  color:#C71E1A;
  font-size: 26px;
}

.top_merit_section .merit_body p .bold{
  font-weight: 900;
}

.top_merit_section .merit_body p + p{
  margin-top: 32px;
}

.top_merit_section .merit_block02 .merit02_01{
  width:314px;
  position: absolute;
  right:16px;
  bottom:0;
}

.top_merit_section .merit_block03 .merit03_01{
  width:280px;
  position: absolute;
  right:0;
  bottom:0;
}

.top_merit_section .merit_block05 .merit05_01{
  width:461px;
  position: absolute;
  right:-44px;
  bottom:0;
}

.top_merit_section .merit_deco1{
  position: absolute;
  width:552px;
  top:0;
  right:calc(50% - 160px);
}
.top_merit_section .merit_deco2{
  position: absolute;
  width:410px;
  top: 440px;
  left: calc(50% + 480px);
}
.top_merit_section .merit_deco3{
  position: absolute;
  width:400px;
  top:1392px;
  right: calc(50% + 510px);
}
.top_merit_section .merit_deco4{
  position: absolute;
  width:790px;
  bottom:0;
  left:calc(50% - 440px);
}

.top_seek_section{
  position: relative;
  padding-bottom: 180px;
} 

.top_seek_section::before{
  content:'';
  width:100vw;
  height:100%;
  background-color:#F0F0F0 ;
  position: absolute;
  top:0;
  left:0;
  z-index:-5;
}

.top_seek_section .mv{
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  aspect-ratio: 1/0.363;
  margin-top: -115px;
  background-image: url('../img/top/seek_mv.png');
}

.top_seek_section .seek_head img{
  width:685px;
  margin:0 auto;
}

.top_seek_section .type_list{
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  margin-top: 84px;
}

.top_seek_section .type_box{
  width:1220px;
  padding:60px;
  position: relative;
}

.top_seek_section .type_box::before{
  content:'';
  width:290px;
  height:288px;
  background-image: url('../img/top/seek_deco.png');
  position: absolute;
  left:0;
  top:0;
}

.top_seek_section .type_box .type_title{
  position: relative;
  z-index: 2;
}

.top_seek_section .type_box .type_img{
  position: relative;
  z-index: 2;
  margin-top: -16px;
}

.top_seek_section .type_box .type_img img{
  width: 940px;
  margin:0 auto;
}

.top_seek_section .type_box ul{
  width: fit-content;
  margin:54px auto 0;
  padding-left: 100px;
}

.top_seek_section .type_box ul li{
  position: relative;
  padding-left: 45px;
  color:#fff;
  font-size: 24px;
  /* margin-top: 8px; */
  min-height: 72px;
  display: flex;
  align-items: center;
  margin-top: 4px;
}

.top_seek_section .type_box ul li::before{
  content:'';
  width:35px;
  height:33px;
  background-image: url('../img/common/icon_list_check.svg');
  position: absolute;
  left:0;
  top:0;
  bottom:0;
  margin:auto;
  translate: 0 3px;
}

.top_seek_section .type_box ul li span{
  font-size: 40px;
}

.top_seek_section .type_box .p01{
  margin-top: 56px;
  font-size: 20px;
  text-align: center;
  color:#fff;
}

.top_seek_section .type_box .seek_bottom_img{
  width: 100%;
  margin-top: -92px;
}


.top_seek_section .type_box01{
  background-color: #1D1D1D;
}

.top_seek_section .type_box01 .type_title img{
  width:1056px;
  margin:0 auto;
  translate: 10px 0;
}

.top_seek_section .type_box02{
  background-color: #1B2D3F;
  margin-top: 60px;
}

.top_seek_section .type_box02 .type_title img{
  width:972px;
  margin:0 auto;
  /* translate: 10px 0; */
}


.top_gal_section{
  padding-top: 240px;
  padding-bottom: 160px;
  background-image: url('../img/top/gal_bg.jpg');
  clip-path: polygon(0 110px, 100% 0%, 100% 100%, 0% 100%);
  position: relative;
  margin-top: -110px;
} 

.top_gal_section .movie_frame{
  aspect-ratio: 1/0.5625;
  position: relative;
}

.top_gal_section .movie_frame .movie_thumb{
  position: absolute;
  top:0;
  left:0;
  transition-duration: 0.4s;
  width:100%;
  height:100%;
  cursor: pointer;
  z-index: 2;
  /* opacity: 0;
  pointer-events: none; */
}

.top_gal_section .movie_frame .movie_thumb.vanish{
  opacity: 0;
  pointer-events: none;
}

.top_gal_section .movie_frame .movie_thumb::after{
  content:'';
  position: absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  margin:auto;
  width:0;
  height:0;
  border-style:solid;
  border-width: 40px 0 40px 69.3px;
  border-color: transparent transparent transparent #FFFFFF;
}

.top_gal_section .movie_frame img{
  width: 100%;
  height:100%;
  object-fit: cover;
}

.top_gal_section .movie_frame video {
  display: block;
  width: 100%;
  height:100%;
  object-fit: cover;
}

.top_gal_section .img_list{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: flex-start;
  gap:24px 0;
  margin-top: 70px;
}

.top_gal_section .img_list img{
  width:31.7%
}

.top_gal_section .img_list .gal04,
.top_gal_section .img_list .gal05{
  width:537px;
}

.top_gal_section .gal_deco{
  position: absolute;
}

.top_gal_section .gal_deco01{
  width: 566px;
  /* top:166px; */
  top:666px;
  right:calc(50% + 380px);
}
.top_gal_section .gal_deco02{
  width:183px;
  right:calc(50% + 520px);
  bottom:0;
}
.top_gal_section .gal_deco03{
  width:232px;
  left:calc(50% + 440px);
  bottom:0;
}

.top_faq_section{
  padding-top: 160px;
  padding-bottom: 160px;
  background-color: #C71E1A;
  position: relative;
}

.top_faq_section .faq_head{
  font-size: 48px;
  line-height: 1;
  text-align: center;
  color:#fff;
}

.top_faq_section .p01{
  margin-top: 90px;
  color:#fff;
  font-size: 24px;
  text-align: center;

}

.top_faq_section .faq_list{
  margin-top: 74px;
  position: relative;
  z-index: 4;
}

.top_faq_section .faq_block{
  margin-top: 30px;
  position: relative;
}



.top_faq_section .faq_block .faq_question{
  position: relative;
  padding:14px 72px 18px 85px;
  cursor: pointer;
  background-color: #1B2D3F;
  color:#fff;
  font-size: 26px;
  z-index: 5;
}

.top_faq_section .faq_block .faq_question::before{
  content:'Q';
  position: absolute;
  font-size: 48px;
  line-height: 1;
  color:#fff;
  top:8px;
  left:28px;
}

.top_faq_section .faq_block .faq_question::after{
  content:'';
  width:44px;
  height:44px;
  border-radius: 50%;
  transition-duration: 0.4s;
  background-image: url('../img/top/faq_radi.svg');
  position: absolute;
  right:14px;
  top:18px;
}

.top_faq_section .faq_block .faq_question.active::after{
  transform: rotateZ(180deg);
}

.top_faq_section .faq_block .faq_answer{
  padding:20px 44px 20px 85px;
  background-color: #fff;
  position: relative;
  font-size: 20px;
  display: none;
  z-index: 5;
}

.top_faq_section .faq_block .faq_answer::before{
  content:'A';
  position: absolute;
  font-size: 48px;
  line-height: 1;
  color:#C71E1A;
  top:17px;
  left:31px;
}

.top_faq_section .faq_block:first-child{
  margin-top: 0;
}

.top_faq_section .faq_block:first-child .faq_answer{
  display: block;
}


.top_faq_section .faq_deco{
  position: absolute;
}

.top_faq_section .faq_deco01{
  width:281px;
  right:0;
  bottom:100%;
}
.top_faq_section .faq_deco02{
  width:415px;
  top:-80px;
  /* top:833px; */
  right:calc(50% + 460px);
}
.top_faq_section .faq_deco03{
  width:504px;
  top:-180px;
  /* top:1835px; */
  left:calc(50% + 440px);
}
.top_faq_section .faq_deco04{
  width:164px;
  /* top:3072px; */
  top:80px;
  right:calc(50% + 560px);
}
.top_faq_section .faq_deco05{
  width:376px;
  bottom:0;
  left:calc(50% + 330px);
  z-index: 6;
}

.top_appli_section{
  padding-top: 160px;
  padding-bottom: 160px;
  background-color: #F8F8F8;
}

.top_appli_section .appli_head{
  font-size: 48px;
  line-height: 1;
  text-align: center;

}

.top_appli_section .appli_list{
  max-width: 880px;
  margin:0 auto;
}

.top_appli_section .appli_block{
  display: flex;
  padding:48px 0;
  border-bottom:1px solid #C1C1C1;
}

.top_appli_section .appli_block .appli_left{
  width:270px;
  padding-right: 24px;
  flex-shrink: 0;
}

.top_appli_section .appli_block .appli_left p{
  padding-left: 18px;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.3;
  color:#FE5900;
  position: relative;
}

.top_appli_section .appli_block .appli_left p::before{
  content:'';
  width: 8px;
  height: 26px;
  background-color:#FE5900;
  position: absolute;
  left:0;
  top:4px;
}

.top_appli_section .appli_block .appli_right{
  width: 100%;
}

.top_appli_section .appli_block .appli_right{
  font-size: 20px;
  font-weight: 400;
}

.top_appli_section .appli_block .appli_right p + p{
  margin-top: 20px;
}

.top_appli_section .contact_link{
  width: 436px;
  height: 100px;
  border-radius: 4px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 20px;
  line-height:1;
  color:#fff;
  position: relative;
  background: linear-gradient(to top, #FE5900 0%, #FE5900 50%, #FF6C1D 50%, #FF6C1D 100%);
  margin:80px auto 0;
}

.top_appli_section .contact_link::after{
  content:'';
  width: 8px;
  height: 15px;
  background-image: url('../img/common/icon_angle_right_white.svg');
  position: absolute;
  right:48px;
  top:0;
  bottom:0;
  margin:auto;
}


/*
------------------------------------
インタビューポップアップ
------------------------------------
*/

.interview_popup{
  position: fixed;
  top:0;
  left:0;
  width:100%;
  height:100vh;
  /* background-color: rgba(29, 29, 29, 0.4); */
  background-color: rgba(0,0,0,0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 50;
  transition-duration: 0.7s;
  pointer-events: none;
  opacity: 0;
}

.interview_popup.show{
  pointer-events: auto;
  opacity: 1;
}

.interview_popup .interview_popup_frame{
  width: 1360px;
  height:80vh;
  max-width: 96%;
  position: relative;
}

.interview_popup .interview_popup_inner{
  height:100%;
  overflow-y: scroll;
}

.interview_popup .interview_popup_close{
  position: absolute;
  width:30px;
  right:0;
  top:-50px;
  cursor: pointer;
}

.interview_popup .mv{
  width:100%;
}

.interview_popup .interview_popup_body{
  position: relative;
  padding:50px 40px 140px;
  background-color: #C71E1A;
}

.interview_popup .interview_popup_body_inner{
  background-color: #fff;
  padding-top: 80px;
  padding-bottom: 80px;
}

.interview_popup .interview_popup_container{
  max-width: 1100px;
  margin:0 auto;
}

.interview_popup .interview_block{
  display: flex;
  position: relative;
}

.interview_popup .interview_block .pic{
  position: absolute;
  width:390px;
  top:0;
  
}

.interview_popup .interview_block .red{
  color:#C71E1A;
}

.interview_popup .interview_block_contents{
  width:630px;
  white-space: nowrap;
}


.interview_popup .interview_block .interview_head{
  font-size: 32px;
  line-height: 1.7;
  color:#fff;
  
}

.interview_popup .interview_block .interview_head span{
  padding:0 10px;
}

.interview_popup .interview_block * + .interview_head{
  margin-top: 80px;
}

.interview_popup .interview_block .interview_text{
  font-size: 18px;
  font-weight: 400;
  line-height: 1.7;
}

.interview_popup .interview_block * + .interview_text{
  margin-top: 40px;
}


.interview_popup .interview_block .flow_box{
  width: fit-content;
  min-width:480px;
  padding:24px;
  background-color: #EDEDED;
  margin-top: 20px;
}

.interview_popup .interview_block .flow_box li{
  display: flex;
  align-items: flex-start;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.7;
  margin-top: 9px;
}

.interview_popup .interview_block .flow_box li:first-child{
  margin-top: 0;
}

.interview_popup .interview_block .flow_box li span{
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #1B2D3F;
  font-size: 18px;
  font-weight: 700;
  line-height:1.1;
  color:#fff;
  flex-shrink: 0;
  margin-right: 10px;
}

.interview_popup .interview_block .flow_box li .month_block{
  width:88px;
}

.interview_popup .interview_block .flow_box li .time_block{
  width:130px;
}

.interview_popup .interview_block + .interview_block{
  margin-top: 100px;
}

.interview_popup .interview_block:nth-child(odd){
  justify-content: flex-start;
}
.interview_popup .interview_block:nth-child(odd) .pic{
  right:0;
}


.interview_popup .interview_block:nth-child(even){
  justify-content: flex-end;
}
.interview_popup .interview_block:nth-child(even) .pic{
  left:0;
}

.interview_popup .interview_popup_text_close{
  position: absolute;
  bottom:60px;
  left:0;
  right:0;
  margin:auto;
  width:fit-content;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  font-size: 24px;
  font-weight: 500;
  line-height: 1;
  color:#fff;

}

.interview_popup .interview_popup_text_close::after{
  content:'';
  width:15px;
  height:23px;
  background-image: url('../img/common/icon_angle_right_white.svg');
  margin-left: 24px;
}


/*
------------------------------------
採用エントリー
------------------------------------
*/

.contact_mv_section{
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1/0.277;
  /* min-height: 400px; */
  min-width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: url('../img/contact/contact_mv.jpg');
}

main.contact_main{
  background-color: #F8F8F8;
}

.contact_mv_section img{
  width:730px;
}

.contact_section01{
  padding-top: 120px;
  padding-bottom: 120px;
} 

.contact_section01 .sec_title{
  font-size: 32px;
  text-align: center;
}

.contact_section01 .button_list{
  margin-top: 50px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.contact_section01 .button_list .button{
  width: 436px;
  height: 100px;
  border-radius: 4px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 20px;
  line-height:1;
  color:#fff;
  position: relative;
  background: linear-gradient(to top, #FE5900 0%, #FE5900 50%, #FF6C1D 50%, #FF6C1D 100%);
  margin-top: 20px;
}

.contact_section01 .button_list .button::after{
  content:'';
  width: 8px;
  height: 15px;
  background-image: url('../img/common/icon_angle_right_white.svg');
  position: absolute;
  right:48px;
  top:0;
  bottom:0;
  margin:auto;
}


.contact_info_section{

} 

.contact_info_section .white_box{
  padding:100px 84px;
  position: relative;
  background-color: #fff;
  box-shadow: 0px 2px 18px 0px #0000001F;
  text-align: center;
  font-weight: 400;
}

.contact_info_section .sec_title{
  font-size: 36px;
  color:#C71E1A;
}

.contact_info_section .contact_guide{
  margin-top: 30px;
}

.contact_info_section .contact_guide img{
  width:100%;
}

.contact_info_section .p01{
  font-size: 22px;
}

.contact_info_section .p02{
  margin-top: 40px;
  font-size: 18px;
  font-weight: 500;
  line-height: 2;
}

.contact_info_section .p03{
  margin-top: 50px;
  font-size: 22px;
}

.contact_info_section .p04{
  margin-top: 32px;
  font-size: 22px;
}

.contact_info_section .p05{
  margin-top: 22px;
  font-size: 22px;
}

.contact_info_section .p06{
  margin-top: 40px;
  font-size: 18px;
}

.contact_info_section .text_list{
  display: flex;
  justify-content: center;
  align-items: center;
  gap:0 14px;
  margin-top: 60px;
}

.contact_info_section .text_list + .text_list{
  margin-top: 14px;
}

.contact_info_section .text_list p{
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 26px;
  font-weight: 700;
  line-height: 1;
  color:#C71E1A;
  height:50px;
  background-color: #FFDF38;
  width:325px;
}

.contact_info_section .text_list p + p{
  width:433px;
}

.contact_info_section .contact_deco{
  width:343px;
  position: absolute;
  bottom:0;
  right:-12px;
}

.contact_form_section{
  margin-top: 140px;
  padding-bottom: 160px;
}

.contact_info_section + .contact_form_section{
  margin-top: 70px;
}

.contact_form_section .white_box{
  padding:110px 148px;
  background-color: #fff;
  box-shadow: 0px 2px 18px 0px #0000001F;
}

.contact_form_section .sec_title{
  font-size: 36px;
  text-align: center;
  color:#C71E1A;  
}

.contact_form_section .form_top_text{
  margin-top: 50px;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.6;
  text-align: center;

}

.contact_form_section .form_block{
  margin-top: 30px;
}

.contact_form_section .form_line{
  display: flex;
  align-items: flex-start;
  margin-top: 40px;
}

.contact_form_section .form_left{
  flex-shrink: 0;
  padding-top: 14px;
  width:324px;
}

.contact_form_section .form_title{
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
  display: flex;
  align-items: center;
}

.contact_form_section .form_title::before{
  content:'必須';
  width: 44px;
  height: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #C71E1A;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.02em;
  color:#fff;
  margin-right: 22px;
}

.contact_form_section .form_right{
  width:100%;
}

.contact_form_section input[type="text"],
.contact_form_section select{
  border:none;
  background: none;
  border-radius: 0;
  display: block;
  width:100%;
  height:54px;
  border-radius: 5px;
  border:1px solid #C7C7C7;
  padding:0 16px;
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
  color: #1D1D1D;
}


.contact_form_section input[type="text"]::placeholder{
  color:#C7C7C7;
}

.contact_form_section .birth_flex{
  display: flex;
  justify-content: space-between;
}

.contact_form_section .birth_box{
  width:116px;
}

.contact_form_section .birth_box04{
  width:86px;
}

.contact_form_section .agree_flex{
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 72px;
  font-size: 18px;
  font-weight: 500;
  padding-bottom: 30px;
  position: relative;
}


.contact_form_section .agree_flex .error{
  position: absolute;
  text-align: center;
  width:100%;
  bottom:0;
  left:0;
}

.contact_form_section .agree_flex p{
  margin-left: -8px;
}

.contact_form_section .agree_flex a{
  color:#007DF1;
  border-bottom: 1px solid #007DF1;
}

.contact_form_section .agree_flex input{
  width:18px;
  height:18px;
  margin-top: 10px;
}

.contact_form_section .submit_area{
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 60px;
}

.contact_form_section .submit_area .submit_frame{
  position: relative;
}

.contact_form_section .submit_area .submit_frame::after{
  content:'';
  width: 8px;
  height: 15px;
  background-image: url('../img/common/icon_angle_right_white.svg');
  position: absolute;
  right:48px;
  top:0;
  bottom:0;
  margin:auto;
  pointer-events: none;
}

.contact_form_section .submit_area .submit{
  cursor: pointer;
  border: none;
  background: none;
  border-radius: 0;
  width: 436px;
  height: 100px;
  border-radius: 4px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 20px;
  line-height:1;
  color:#fff;
  position: relative;
  background: linear-gradient(to top, #FE5900 0%, #FE5900 50%, #FF6C1D 50%, #FF6C1D 100%);
  transition-duration: 0.4s;
}




.contact_form_section .submit_area .return{
  border: none;
  background: none;
  border-radius: 0;
  transition-duration: 0.4s;
  margin-top: 40px;
  color:#007DF1;
  border-bottom:1px solid #007DF1;

  font-size: 18px;
  font-weight: 400;
  line-height:1.6;
  cursor: pointer;

}

@media(any-hover:hover){
  .contact_form_section .submit_area .submit:hover{
    opacity: 0.5;
  }
  .contact_form_section .submit_area .return:hover{
    opacity: 0.5;
  }
}
.contact_form_section .confirm_text{
  margin-top: 80px;
  text-align: center;
  font-size: 18px;
  font-weight: 400;
  text-align: center;
  white-space: nowrap;
  display: none;
}

.contact_form_section .confirm_text p + p{
  margin-top: 32px;
}

.contact_form_section .confirm_text a{
  text-decoration: underline;
  color:#007DF1;
}

/*確認画面*/

.contact_form_section .mw_wp_form_confirm .form_left{
  padding-top: 0;
}

.contact_form_section .mw_wp_form_confirm .agree_flex{
  display: none;
}

.contact_form_section .mw_wp_form_confirm .birth_flex{
  display: flex;
  justify-content: flex-start;
  gap:0 8px;

}

.contact_form_section .mw_wp_form_confirm .birth_box{
  width: auto;
}

.contact_form_section .mw_wp_form_confirm .birth_box04{
  width: auto;
}

.contact_form_section .mw_wp_form_confirm .confirm_text{
  display: block;
}


.contact_finish_section .p01{
  font-size: 24px;
  text-align: center;
}


.contact_finish_section .top_link{
  cursor: pointer;
  border: none;
  background: none;
  border-radius: 0;
  width: 436px;
  height: 100px;
  border-radius: 4px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 20px;
  line-height:1;
  color:#fff;
  position: relative;
  background: linear-gradient(to top, #FE5900 0%, #FE5900 50%, #FF6C1D 50%, #FF6C1D 100%);
  margin:40px auto 0;
}


.contact_finish_section .top_link::after{
  content:'';
  width: 8px;
  height: 15px;
  background-image: url('../img/common/icon_angle_right_white.svg');
  position: absolute;
  right:48px;
  top:0;
  bottom:0;
  margin:auto;
  pointer-events: none;
}
