@charset "utf-8";
/* CSS Document */
@media screen and (max-width: 960px) {
  .bird { animation: birdmoving-sp 16s linear infinite; }
  .raven { animation: ravenmoving-sp 16s linear infinite; }
  header#night #starrysky img#blink ,
  header#night #starrysky img#blinkafter {
    width: 100%;
    position: absolute;
  }
  header #moon {
    top: 2%;
    left: 3%;
  }
  header #header_contents {
    width: 100%;
    min-height: 300px;
    padding: 80px 0 60px 0;
    background: url("../img/shiro.png") left bottom 57px no-repeat;
    background-size: 35%;
  }
  header #header_contents h1 img { width: 80%; }
  header #header_contents p#question {
    margin: 15px 0;
    font-size: 130%;
    text-align: center;
  }
  header #header_contents #heros_party {
    left: auto;
    right: 0;
  }
  .contents {
    width: auto;
    margin: 0 15px;
    padding: 75px 10px 0px 10px;
  }
  .contents h2 {
    margin-bottom: 20px;
    padding: 55px 0 0 0;
    color: #AAAAAA;
    font-weight: normal;
    text-align: center;
    font-size: 120%;
  }
  #message #message_contents h3 ,
  #environment #environment_contents h3 { margin: 0 0 10px 0; }
  #message #message_contents h4 ,
  #environment #environment_contents h4 {
    margin-bottom: 20px;
    font-size: 120%;
  }
  .txt_area { margin-bottom: 30px; }
  .txt_area .txt_left_areaA {
    width: 100%;
    float: none;
  }
  .txt_area .txt_right_img_areaA {
    width: 100%;
    float: none;
    padding: 20px 0 0 0;
  }
  .txt_area .txt_left_areaB {
    width: 100%;
    float: none;
  }
  .txt_area .txt_right_img_areaB {
    width: 100%;
    float: none;
  }
  .txt_area .txt_left_areaC {
    width: 100%;
    float: none;
  }
  .txt_area .txt_right_img_areaC {
    width: 100%;
    float: none;
    padding: 20px 0 0 0;
  }
  .swiper_contents { display: block!important; }
  /* スライダー黒 */
  .swiper_black { padding: 10px!important; }
  .swiper_black .swiper_contents .swiper_data { width: 100%; }
  .swiper_black .swiper_contents section { padding: 10px 0; }
  .swiper_black .swiper_contents .swiper_data section:first-child { margin-bottom: 10px; }
  .swiper_black .swiper_contents .swiper_message_txt {
    width: 100%;
    margin-top: 10px;
    margin-left: 0;
  }
  .swiper_black .swiper_contents section h3 {
    margin-bottom: 10px;
    padding: 0 10px 10px 10px;
    line-height: 1.5;
  }
  .swiper_black .swiper_contents section p { padding: 0 10px; }
  /* スライダー白 */
  .swiper_white {
    margin-bottom: 40px!important;
    padding: 10px;
    border: 3px solid #000000;
    border-radius: 10px;
  }
  .swiper_white .swiper_contents .swiper_txt {
    width: 100%;
    margin: 0 0 20px 0;
  }
  .swiper_white .swiper_contents .swiper_photo {
    margin: 0;
    padding: 0 5px
  }
  .swiper_white .swiper_contents .swiper_photo img { width: 100%; }
  /* スライダー カードタイプ */
  .swiper_card { margin-top: 50px; }
  .swiper-button-prev,
  .swiper-button-next {
    width: 44px!important;
    height: 26px!important;
  }
  .swiper-button-prev, .swiper-rtl .swiper-button-next {
    left: var(--swiper-navigation-sides-offset, 0)!important;
    right: auto;
  }
  .swiper-button-next, .swiper-rtl .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 0)!important;
    left: auto;
  }
  .swiper-button-prev::after,
  .swiper-button-next::after {
      width: 80%;
      height: 80%;
  }
  .swiper_card .swiper-slide {
    background-image:
      url("../img/position/recruit_swiper_bg_left_top.png"),
      url("../img/position/recruit_swiper_bg_right_top.png"),
      url("../img/position/recruit_swiper_bg_left_bottom.png"),
      url("../img/position/recruit_swiper_bg_right_bottom.png"),
      url("../img/position/recruit_swiper_bg.png") ;
    background-repeat: no-repeat no-repeat, no-repeat, no-repeat;
    background-position: left 5px top 5px, right 5px top 5px, left 5px bottom 5px, right 5px bottom 5px, left top;
    height: auto;
    padding: 5px;
    box-sizing: border-box;
    flex: 0 0 auto; /* 要素が親要素の幅を超えないように設定 */
    width: 100%; /* スライド幅を親要素に収める */
  }
  .swiper_card .swiper-slide .swiper_card_contents { padding: 20px 50px; }
  .swiper_card .swiper-slide .swiper_card_contents h4 { font-size: 120%; }
  .swiper_card .swiper-slide .swiper_card_contents p {
    padding-bottom: 20px;
    font-size: 90%;
  }
  .swiper_card .swiper-slide .swiper_card_contents .swiper_card_contents_2col section:first-child { padding-right: 10px; }
  .swiper_card .swiper-slide .swiper_card_contents .swiper_card_contents_2col section:nth-child(2) { padding-left: 10px; }
  .swiper_card .swiper-wrapper {
    width: 100%;
    box-sizing: border-box; /* パディングやボーダーを含む幅設定 */
    overflow: hidden; /* はみ出し防止 */
  }
  /* 事業紹介 */
  #business { padding: 40px 0 20px 0; }
  #business #business_contents { display: block; }
  #business .contents { background-position: center 15px; }
  #business #business_contents section:nth-child(2) { margin: 0; }
  #business #business_contents h3 { width: 100%; }
  /* メッセージ */
  #message { padding: 20px 0; }
  #message .contents { background-position: center 15px; }
  /* 先輩からのメッセージ */
  #seniors_message { padding: 20px 0 40px 0; }
  #seniors_message .contents { background-position: center 15px; }
  #seniors_message h2 {
    padding: 90px 0 0 0;
    background: url("../img/seniors_message/h2_title_seniors_message_sp.png") top center no-repeat;
  }
  /* 環境 */
  #environment { padding: 20px 0; }
  #environment .contents { background-position: center 15px; }
  #environment #environment_contents #sdgs_declaration section h3 { padding: 10px 10px 10px 50px; }
  #environment #environment_contents #sdgs_declaration section .txt_area {
    margin: 0;
    padding: 10px;
  }
  #environment #environment_contents #sdgs_declaration section .initiatives {
    margin-top: 15px;
    margin-bottom: 20px;
    font-size: 85%;
  }
  /* その他 */
  #our_data { padding: 20px 0; }
  #our_data .contents { background-position: center 15px; }
  #our_data #our_data_contents {
    display: block;
    margin-top: 10px;
  }
  #our_data #our_data_contents section {
    margin-bottom: 10px;
    padding: 0 0 10px 0;
  }
  #our_data #our_data_contents section:nth-child(2) ,
  #our_data #our_data_contents section:nth-child(5) { margin: 0 0 10px 0; }
  #our_data #our_data_contents section h3 {
    margin-bottom: 10px;
    padding: 10px;
    font-size: 120%;
  }
  #our_data #our_data_contents section p {
    padding: 0 10px 10px 10px;
    font-size: 120%;
  }
  #our_data #our_data_contents section p:last-child { padding: 0 10px; }
  #our_data #our_data_contents section div { margin: 0 10px; }
  /* 募集中のポジション */
  #position { padding: 20px 0; }
  #position .contents { background-position: center 15px; }
  #position #position_contents {
    display: block;
    margin-top: 10px;
    padding: 10px;
  }
  #position #position_contents section { margin: 0 0 10px 0; }
  #position #position_contents section div.not_recruiting { background-position: center; }
  #position #position_contents section:last-child { margin: 0; }
  #position #position_contents section h3 { font-size: 120%; }
  #position #position_contents section div {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 170px;
  }
  /* 選考フロー */
  #selection_flow { padding: 20px 0 40px 0; }
  #selection_flow .contents { background-position: center 15px; }
  #selection_flow h2 {
    padding: 90px 0 0 0;
    background: url("../img/selection_flow/h2_title_selection_flow_sp.png") top center no-repeat;
  }
  #selection_flow #selection_flow_contents { display: block; }
  #selection_flow #selection_flow_contents section:nth-child(2) ,
  #selection_flow #selection_flow_contents section:nth-child(5) { margin: 0; }
  #selection_flow #selection_flow_contents h3 { width: 100%; }
  #selection_flow #selection_flow_contents div { padding: 20px 20px 40px 20px; }
  #selection_flow #selection_flow_contents section div { background: url("../img/icon_black_bottom_arrow.png") bottom 20px center no-repeat; }
  /* リンク */
  ul#link_area {
    display: block;
    width: 100%;
    padding: 10px 0;
  }
  ul#link_area li {
    font-size: 100%;
    background: url("../img/link_icon_kaidan.png") #FFFFFF right 10px center no-repeat;
  }
  ul#link_area li:hover {
    font-size: 100%;
    background: url("../img/link_icon_kaidan.png") #FFFD00 right 10px center no-repeat!important;
  }
  ul#link_area li#corporate_link { background: url("../img/link_icon_shiro.png") #FFFFFF right 10px center no-repeat; }
  ul#link_area li#corporate_link:hover { background: url("../img/link_icon_shiro.png") #FFFD00 right 10px center no-repeat!important; }  
  ul#link_area li a {
    display: block;
    padding: 15px 70px 15px 15px;
  }
/* 採用共通 */
  header#recruit h1 ,
  header#recruit_list h1 ,
  header#recruit_entry_form h1 { font-size: 140%; }
  header#recruit #recruit_se h1 ,
  header#recruit_list #recruit_se h1 { background-size: 85%; }
  #recruit_main_contents ,
  #recruit_list_contents { padding: 30px 10px 60px 10px; }
  #recruit_contents h2 ,
  #recruit_list_area h2 {
    margin-bottom: 30px;
    font-size: 140%;
  }
/* 採用詳細 */
  header#recruit #recruit_pg ,
  header#recruit #recruit_se {
    align-content: center;
    width: 100%;
    height: auto;
    margin: 0 auto;
    padding: 120px 0 90px 0;
    background-position: top 40px center, right bottom 30px;
    background-repeat: no-repeat, no-repeat;
  }
  header#recruit #recruit_pg {
    background-image: url("../img/position/main_img_pg.png") , url("../img/position/recruit_bg_img.png") ;
    background-size: 80px, auto;
  }
  header#recruit #recruit_se {
    background-image: url("../img/position/main_img_se.png") , url("../img/position/recruit_bg_img.png") ;
    background-size: 100px, auto;
  }
  #recruit_contents {
    width: 100%;
    margin: 0;
    padding: 20px 10px;
    background-position: top right, bottom right, center;
  }
  #recruit_contents #favorable_conditions { margin-bottom: 30px; }
  #recruit_contents #favorable_conditions div {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  #recruit_contents #favorable_conditions div section {
    padding-top: 10px;
    padding-bottom: 10px;
    border-bottom: 1px dashed #876A49;
  }
  #recruit_contents #favorable_conditions div section:first-child ,
  #recruit_contents #favorable_conditions div section:nth-child(2) { padding-top: 0; }
	#recruit_contents #favorable_conditions #point {
		padding-top: 30px;
		padding-left: 0px;
	}
  #recruit_contents #about_us { width: 100%; }
  #recruit_contents #about_us div { padding: 10px; }
  #recruit_contents #about_us div h2 { font-size: 110%; }
  #recruit_contents #aptitude {
    display: block;
    margin: 30px 0;
  }
  #recruit_contents #aptitude section {
    margin: 10px 0;
    padding: 10px;
  }
  #recruit_contents #aptitude section::after {
    top: 10px;
    bottom: 10px;
    left: 10px;
    right: 10px;
  }
  #recruit_contents #aptitude section div { padding: 15px; }
  #recruit_contents #aptitude section div h3 {
    margin-bottom: 10px;
    font-size: 110%;
  }
  #recruit_contents #aptitude section div p {
    margin-bottom: 20px;
    font-size: 90%;
  }
  #recruit_contents .category_area {
    margin: 30px 0;
    padding: 30px 0 0 0;
  }
  #recruit_contents .category_area h2 { font-size: 140%; }
  #recruit_contents .category_area h3 {
    margin: 20px 0;
    padding: 10px 10px 20px 10px;
    font-size: 130%;
  }
  #recruit_contents .category_area .category_area_contents_2col {
    display: block;
    width: 100%;
  }
  #recruit_contents .category_area .category_area_contents_2col section#step article {
    padding-bottom: 75px;
    margin-bottom: 40px;
    box-sizing: border-box;
  }
  #recruit_contents .category_area .category_area_contents_2col section#step article p {
    width: 100%;
    height: 140px;
    padding-top: 65px;
  }
  #recruit_contents .category_area .category_area_contents_2col section#step article#step1 {
    background: url("../img/position/step1_icon_img.png") no-repeat bottom;
  }
  #recruit_contents .category_area .category_area_contents_2col section#step article#step1 p {
    background: url("../img/position/step1_bg_sp.png") no-repeat center;
  }
  #recruit_contents .category_area .category_area_contents_2col section#step article#step2 {
    background: url("../img/position/step2_icon_img.png") no-repeat bottom;
  }
  #recruit_contents .category_area .category_area_contents_2col section#step article#step2 p {
    margin-left: auto;
    background: url("../img/position/step2_bg_sp.png") no-repeat center;
  }
  #recruit_contents .category_area .category_area_contents_2col section#step article#step3 {
    background: url("../img/position/step3_icon_img.png") no-repeat bottom;
  }
  #recruit_contents .category_area .category_area_contents_2col section#step article#step3 p {
    background: url("../img/position/step3_bg_sp.png") no-repeat center;
  }
  #recruit_contents .category_area .category_area_contents_2col section#naitei article {padding: 10px; }
  #recruit_contents .category_area .category_area_contents_2col section#naitei article p { font-size: 90%; }
  #recruit_contents .category_area .category_area_contents_2col section#naitei article p:last-child { padding-bottom: 0; }  
  #recruit_contents #apply_link {
    width: 100%;
    margin: 30px auto;
    font-size: 100%;
  }
  #recruit_contents #apply_link a { padding: 15px 140px 15px 15px; }
	/* 採用一覧 */
  header#recruit_list #recruit_pg ,
  header#recruit_list #recruit_se {
    align-content: center;
    width: 100%;
    height: auto;
    margin: 0 auto;
    padding: 90px 0 140px 0;
    background-position: bottom 52px center;
    background-repeat: no-repeat;
  }
  header#recruit_list #recruit_pg {
    background-image: url("../img/position/main_img_pg.png");
    background-size: 80px, auto;
  }
  header#recruit_list #recruit_se {
    background-image: url("../img/position/main_img_se.png");
    background-size: 100px, auto;
  }
	#recruit_list_area {
    width: 100%;
    margin: 0;
    padding: 20px 10px;
	}
	#recruit_list_data { display: block; }
	/* 採用エントリーフォーム */
	header#recruit_entry #recruit_entry_form {
		align-content: center;
		width: 100%;
		margin: 0 auto;
		background-image: url(../img/position/img_entry_img_sp.png);
		background-position: bottom 55px center;
		background-repeat: no-repeat;
		background-size: 100px;
		padding: 80px 0 150px 0;
		height: auto;
	}
	#recruit_contents #entry_form_area dl { margin: 0 0 30px 0; }
	#recruit_contents #entry_form_area dl dt {
		float: none;
		width: auto;
		padding: 20px 0;
	}
	#recruit_contents #entry_form_area dl dd {
		min-height: auto;
		padding: 0 0 20px 0;
	}
	#recruit_contents #entry_form_btn_area input[type="submit"] { width: 100%; }
  /* footer */
  footer {
    padding: 0 0 50px 0;
    text-align: center;
    font-size: 80%;
  }
  /* ふっかつのじゅもん */
  #jumon {
    position: fixed;
    right: 5px;
    bottom: 5px;
  }
  .pc { display: none; }
  .sp { display: inherit; }
}
@media screen and (max-width: 320px){
  #seniors_message h2 ,
  #environment h2 { background-size: 90%!important; }
  .txt_area .txt_right_img_areaB img ,
  .txt_area .txt_right_img_areaC img { width: 100%; }
  #our_data #our_data_contents section div img { width: 100%; }
  #our_data #our_data_contents section div.our_data_img2col section img { width: auto; }
  #our_data #our_data_contents section p img { margin-left: 35px; }
}