@media screen and (max-width: 1385px){
  #container{
    padding-top: 102px;
  }
  header{
    padding: 5px 5% 10px;
  }
  .header_box{
    display: inherit;
    width: 100%;
  }
  h1.header_ttl {
    float: left;
    margin: 10px 20px 0 0;
  }
  #gnavi,.headerSearch{
    float: right;
  }
  #gnavi {
    margin: 0;
    margin-left: 10px;
  }
}
@media screen and (max-width: 1200px){
  #gnavi {
    margin-left: 0;
  }

}
@media screen and (max-width: 1012px){
  #gnavi li a{
    padding: 10px 15px;
  }
  .dropdown-content{
    padding: 15px;
  }
}

@media screen and (max-width: 960px){
  .pc{
    display: none;
  }
  .sp {
    display: block !important;
  }
  #container{
    padding-top: 76px;
  }

  /*------------------------------------------------------------
  header
  ------------------------------------------------------------*/
  header {
    background: #e60012;
    padding: 10px 2.5%;
    border-bottom: none;
    z-index: 250;
  }
  .header_box{
    padding-right: 50px;
  }
  h1.header_ttl {
    margin: 0 20px 0 0;
    width: 66px;
  }
  h1.header_ttl a{
    display: inline-block;
  }
  .logo{
    height: 50px;
  }
  #gnavi {
    display: none;
  }
	.button-area {
		display: inline;
		position: fixed;
		right: 2.5%;
		top: 23px;
		z-index: 250;
	}
	.panel-btn{
		display: inline-block;
		position: relative;
		width: 24px;
		height: 24px;
	}
	.panel-btn-icon{
		display: block;
		position: absolute;
		top: 50%;
		right: 0;
		width: 24px;
		height: 2px;
		margin: -1px 0 0 -7px;
		background: #FFF;
		transition: .2s;
	}
	.panel-btn-icon:before, .panel-btn-icon:after{
		display: block;
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		width: 24px;
		height: 2px;
		background: #FFF;
		transition: .3s;
	}
	.panel-btn-icon:before{
		margin-top: -9px;
	}
	.panel-btn-icon:after{
		margin-top: 8px;
	}
	.panel-btn .close{
		background: transparent;
	}
	.panel-btn .close:before, .panel-btn .close:after{
		margin-top: 0;
	}
	.panel-btn .close:before{
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	.panel-btn .close:after{
		-webkit-transform: rotate(-135deg);
		transform: rotate(-135deg);
	}
	#gnavi_sp{
		display: none;
		position: fixed;
		top: 0;
		width: 100%;
    height: 100%;
		overflow: auto !important;
		z-index: 200;
		padding: 76px 0 0;
	}
	#gnavi_sp a:link,
	#gnavi_sp a:visited,
	#gnavi_sp a:hover{
		color: #FFF;
		text-decoration: none;
	}
	#gnavi_sp ul li a,
	#gnavi_sp ul li dl dt  {
		display: block;
		position: relative;
		padding: 20px 5%;
		border-bottom: 1px solid #FFF;
    color: #fff;
    background: #bb0000;
	}
	#gnavi_sp ul li a:after,
	#gnavi_sp ul li dl dt:after{
		width: 0;
		height: 0;
		position: absolute;
		top: 50%;
		right: 25px;
		border-style: solid;
		border-width: 8px 0 8px 10px;
		border-color: transparent transparent transparent #FFF;
		content: "";
		margin-top: -5px;
	}
  #gnavi_sp ul li dl dt:after{
		transform: rotate(90deg);
  }
  #gnavi_sp ul li dl dt.active:after{
		transform: rotate(-90deg);
  }
  #gnavi_sp ul li dl dd ul li a{
    background: #e60012;
  }
  .headerSearch{
    float: inherit;
    margin-top: 8px;
    width: calc(100% - 86px);
  }
  .headerSearch label{
    width: calc(100% - 35px);
  }
  .headerSearch input[type=search]{
    border: none;
    width: 100%;
    height: 39px;
  }
  .tabSearchSelected{
    padding: 14px 10px;
    height: 39px;
  }
  .headerSearch button{
    margin-left: 0;
  }

  /*------------------------------------------------------------
  footer
  ------------------------------------------------------------*/
  #footer{
    padding: 45px 0 0;
  }
  ul.list_fnavi{
    border-top: 2px solid #e60100;
  }  
  ul.list_fnavi li{
    width: 50%;
    float: left;
    margin: 0;
  }
  ul.list_fnavi li a{
    display: block;
    padding: 20px;
    border-right: 2px solid #e60100;
    border-bottom: 2px solid #e60100;
  }
  ul.list_fnavi li:nth-child(2n) a{
    border-right: none;
  }
  ul.list_fnavi li:nth-child(5) a{
    border-bottom: none;
  }
  ul.list_fnavi li .child{
    display: none;
  }
  ul.list_fnavi li:last-child {
    width: 100%;
    display: flex;
    border-top: 2px solid #e60100;
  }
  ul.list_fnavi li .parent2{
    width: 50%;
  }
  ul.list_fnavi li .parent2 a{
    background: none;
  }
  ul.list_fnavi li .parent2:first-child a{
    border-right: 2px solid #e60100;
  }
  /*------------------------------------------------------------
  top
  ------------------------------------------------------------*/
  ul.list_birth li{
    width: 49%;
  }
  ul.list_birth li:nth-child(3n){
    margin-right: 2%;
  }
  ul.list_birth li:nth-child(2n),
  ul.list_birth li:nth-child(6n){
    margin-right: 0%;
  }
  ul.list_topics li{
    width: 49%;
    margin: 0 2% 30px 0;
  }
  ul.list_topics li:nth-child(2n){
    margin-right: 0;
  }
  /*------------------------------------------------------------
  recruit
  ------------------------------------------------------------*/
  table.table_recruit th{
    width: 20%;
  }
}

@media screen and (max-width: 767px){
  body{
    font-size: 16px;
  }
  #container{
    padding-top: 59px;
  }
  /*------------------------------------------------------------
  header
  ------------------------------------------------------------*/
  header{
    padding: 10px 2.5% 5px;
  }
  .header_box{
    padding-right: 35px;
  }
  h1.header_ttl {
    margin: 3px 10px 0 0;
    width: 43px;
  }
  .logo{
    height: 32px;
  }
  .headerSearch{
    margin-top: 0;
    width: calc(100% - 55px);
  }
  .headerSearch form{
    position: relative;
  }
  .headerSearch label{
    width: 100%;
  }
  .headerSearch input[type=search]{
    padding: 10px 30px 10px 85px;
    max-width: inherit;
    box-sizing: border-box;
    margin-right: 0;
    width: 100%;
  }
  .headerSearch button{
    position: absolute;
    top: 8px;
    right: 10px;
    width: 20px;
    height: 20px;
    background: url(../images/icon_search_sp.png) no-repeat 0 0/100% auto;
  }
  .tabSearchSelected{
    padding: 13px 10px;
    line-height: 1;
  }
  .button-area{
    top: 17px;
    right: 2.5%;
  }
  #gnavi_sp{
    padding-top: 59px;
  }
  /*------------------------------------------------------------
  footer
  ------------------------------------------------------------*/
  #footer{
    margin-bottom: 20px;
  }
  .f_logo{
    margin-bottom: 40px;
  }
  footer .copy{
    padding: 0 5% 20px;
  }
  /*------------------------------------------------------------
  top
  ------------------------------------------------------------*/
  section{
    margin-bottom: 40px;
  }
  #main_img{
    margin-bottom: 40px;
  }
  ul.list_birth li{
    width: 100%;
    margin-right: 0;
  }
  ul.list_birth li:nth-child(3n){
    margin-right: 0%;
  }
  ul.list_topics li{
    width: 100%;
    margin: 0 0 30px 0;
  }
  ul.list_gravure li{
    float: inherit;
    width: 100%;
    margin-right: 0;
    margin-bottom: 30px;
  }
  ul.list_gravure li:last-child{
    margin-bottom: 0;
  }
  .posi_more{
    position: inherit;
    right: auto;
    top: auto;
    float: right;
    margin-bottom: 30px;
  }
  h2.top_ti .en{
    line-height: 1.1;
  }
  p.birth_day{
    margin-top: -5px;
  }
  /*------------------------------------------------------------
  common
  ------------------------------------------------------------*/
  .second_img{
    padding: 50px 5%;
  }
  h2.sec_ti .en{
    line-height: 1.2;
  }
  h3.sec_ti,
  h4.rec_ti{
    margin-bottom: 30px;
  }
  h3.sec_ti .en,
  h4.rec_ti .en{
    line-height: 1.2;
  }
  p.lead{
    font-size: 3rem;
  }
  ul.list_sec{
    margin-bottom: 30px;
  }
  ul.list_sec li{
    margin-bottom: 10px;
  }
  ul.list_img.m130{
    margin-bottom: 60px;
  }
  .section{
    margin-bottom: 60px;
  }
  .m80{
    margin-bottom: 40px;
  }
  /*------------------------------------------------------------
  company
  ------------------------------------------------------------*/
  #img_greeting{
    margin-top: 40px;
  }
  table.table_history th{
    font-size: 2.5rem;
    width: 22%;
    padding: 20px 15px 20px 0;
  }
  /*------------------------------------------------------------
  education
  ------------------------------------------------------------*/
  .career_txt{
    font-size: 1.2rem;
  }
  img.img_careerpath{
    margin: 40px auto ;
  }
  table.table_career tr th{
    display: block;
    width: 100%;
  }
  table.table_career tr th dl.dl_step{
    text-align: left;
    align-items: center;
  }
  table.table_career tr th dl.dl_step dt{
    text-align: center;
  }
  table.table_career tr td{
    display: block;
    width: 100%;
    padding: 0 0 20px;
  }
  /*------------------------------------------------------------
  recruit
  ------------------------------------------------------------*/
  #img_recruit{
    margin-bottom: 60px;
  }
  ul.list_rec_bnr{
    margin-bottom: 60px;
  }
  ul.list_rec_bnr li{
    width: 100%;
    max-width: 475px;
    margin: 0 auto 30px;
  }
  table.table_recruit{
    border-bottom: 2px solid #e60100;
  }
  table.table_recruit th{
    width: 100%;
    display: block;
    border-bottom: none;
  }
  table.table_recruit td{
    width: 100%;
    display: block;
    border-bottom: none;
  }
  ul.list_recruit li{
    width: 49%;
    margin-bottom: 20px;
  }
  ul.list_recruit li:nth-child(2n){
    margin-right: 0;
  }
  .flex{
    display: inherit;
  }
  .img_box{
    width: 100%;
    text-align: center;
    margin-bottom: 40px;
  }
  .img_box img{
    width: 100%;
    max-width: 360px;
  }
  .txt_box{
    width: 100%;
  }
  ul.list_support.m80{
    margin-bottom: 40px;
  }
  ul.list_support li{
    width: 100%;
    margin: 0 0 20px 0;
  }
  table.table_career tr th dl.dl_support{
    padding-right: 0;
  }
}
@media screen and (max-width: 500px){
  header{
    padding-bottom: 9px;
  }
  .headerSearch{
    margin-top: 5px;
  }
  .headerSearch input[type=search]{
    padding: 5px 30px 5px 85px;
    height: 29px;
  }
  .tabSearchSelected{
    padding: 8px 10px;
    height: 29px;
  }
  .tabSearchSelected::before{
    top: 10px;
  }
  .tabSearch{
    top: 15px;
  }
  .headerSearch button{
    width: 15px;
    height: 15px;
    top: 5px;
  }
  ul.list_fnavi li a{
    padding: 15px;
  }
  p.lead{
    font-size: 2.5rem;
  }
  p.tel{
    font-size: 2rem;
    margin: 40px 0 30px;
  }
  p.tel span{
    border: 8px solid #FFF;
    padding: 15px 20px;
    display: inline-block;
  }
  p.form a{
    min-width: inherit;
    width: 100%;
  }
}