@charset "utf-8";

/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

 default style reset
 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

/* reset
------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video{
  margin:0;
  padding:0;
  border:0;
  vertical-align:baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section{
  display:block;
}

html{
  overflow-y:scroll;
}

body {
  line-height:1;
}

blockquote, q{
  quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after{
  content:'';
  content:none;
}

input, select{
  vertical-align:middle;
}

input[type="submit"]{
  border:none;
}

input[type="button"]{
  border:none;
}

ol, ul{
  list-style:none;
}

table{
  border-collapse:collapse;
  border-spacing:0;
}

a:focus{
  outline:none;
}

/* clearfix
------------------------*/
.clearfix:after{
  content:"";
  height:0;
  display:block;
  clear:both;
}

/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

 common layout
 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

body{
  color:#444;
  font-family:"メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  background:#202020;
}

@media all and (max-width:480px){
  body{
    padding:0 0 11% 0;
  }
}

@media screen and (max-width: 320px) {
  body {
  min-width: 320px;
  }
}

#wrapper{
  margin:0 auto;
  background:url(img/wrapper_bg.gif) repeat 0 0;
  z-index:50;
}


/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

 header
 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

header{
  background:#fff;
}

.h_content{
  max-width:1140px;
  padding:0.7% 0;
  margin:0 auto;
  position:relative;
  /*position:fixed;
  top:0;
  left:0;
  z-index:100;*/
}

h1{
  font-size:75%;
  line-height:150%;
}

@media all and (max-width:1024px){
  .h_content{
    padding:2%;
  }
}

/* logo
------------------------*/
#logo{
  width:274px;
  margin:1% 0 0 0;
  float:left;
}

#logo a{
  width:274px;
  height:70px;
  display:block;
  text-indent:-9999px;
  overflow:hidden;
  background:url(img/logo.png) no-repeat center 0;
  background-size:274px 70px;
}

@media all and (max-width:1150px){
  #logo{
    width:30%;
    max-height:70px;
    margin:1% 0 0;
  }

  #logo a{
    width:auto;
    background-size:contain;
  }
}

@media all and (max-width:768px){
  #logo{
    width:35%;
    margin:3% 0 0 0;
  }
}

@media all and (max-width:568px){
  #logo{
    width:100%;
    margin:2% auto;
    float:inherit;
  }
}
/*
@media all and (max-width:480px){
  #logo{
  width:74%;
  }
}*/

/* header navi
------------------------*/
.h_navi{
  position: absolute;
  top:20%;
  right:2%;
  width:58%;
	text-align: right;
  margin:2% 0;
}

.h_navi p{
  display:inline-block;
  font-size:75%;
  margin:0 0 0 10px;
  background-repeat:no-repeat;
  background-position:0 0;
  background-size:20px 20px;
}

.h_navi p a{
  min-height:20px;
  color:#42250f;
  display:block;
  padding:0 0 0 25px;
  line-height:1.8;
  text-decoration:none;
}

.h_navi p a:hover{
  text-decoration:underline;
}

.h_navi .h_01{
  background-image:url(img/icon_histry.png);
}

.h_navi .h_02{
  background-image:url(img/icon_keep.png);
}

.h_navi .h_03{
  background-image:url(img/icon_lock.png);
}

.h_navi .h_03.login_m{
  background-image:url(img/icon_logout.png);
}

@media all and (max-width:568px){
  .h_navi{
    position: relative;
    right: 0;
    width:100%;
    text-align:center;
    margin:2% 0;
  }

  .h_navi p{
    display:inline-block;
    float:inherit;
  }

  .h_navi p.h_01{
    margin:0;
  }
}

/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

 global navi
 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

#g_navi{
  background-color:#ffa500;
  background:linear-gradient(#ffa500, #f19c00);
  border-top:1px solid #f19c00;
  border-bottom:1px solid #ffa500;
}

#g_navi ul{
  max-width:1140px;
  margin:0 auto;
}

#g_navi li{
  width:20%;
  text-align:center;
  float:left;
  border-left:1px solid #ffca6a;
  border-right:1px solid #d58f0f;
  box-sizing: border-box;
}

@media all and (max-width:1100px){
  #g_navi li{
    font-size:85%;
  }
}

#g_navi .g_01{}
#g_navi .g_02{}
#g_navi .g_03{}
#g_navi .g_04{}
#g_navi .g_05{}

#g_navi li a{
  color:#fff;
  display:block;
  padding:7% 0;
  background:#ffa500;
  background:linear-gradient(#ffa500, #f19c00);
}

#g_navi li a:hover,
#g_navi li#current a{
  background:linear-gradient(#ed9a00, #ed9a00);
}

@media all and (max-width:768px){
  #g_navi li{
    font-size:80%;
  }
}

@media all and (max-width:667px){
  #g_navi li{
    font-size:70%;
  }
}

@media all and (max-width:568px){
  #g_navi .g_01{
    display:none;
  }

  #g_navi li{
    width:25%;
  }
}

@media all and (max-width:480px){
  #g_navi li{
    width:50%;
  }
}

@media all and (max-width:375px){
}


/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

 footer
 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

footer{
  padding:1% 0 0 0;
  background:url(img/footer_bg.gif) repeat 0 0;
}

/* footer contents
------------------------*/
.f_content{
  max-width:1140px;
  text-align:center;
  padding:2% 0;
  margin:0 auto 1% auto;
  background:#fff;
}

/* footer contact
------------------------*/
.f_contact{
  width:30%;
  margin:0 3% 0 0;
  display:inline-block;
  vertical-align:top;
}

.f_contact .logo{
  width:274px;
  height:70px;
  text-indent:-9999px;
  overflow:hidden;
  margin:0 auto 3% auto;
  background:url(img/logo.png) no-repeat center 0;
  background-size:274px 70px;
}

.f_contact .open{
  font-size:68.75%;
  margin:0 0 2% 0;
}

.f_contact .open span{
  color:#fff;
  text-align:center;
  display:block;
  background:#202020;
  padding:1%;
  margin:0 0 1% 0;
}

.f_contact .tel{
  color:#ffa500;
  font-size:180%;
  font-weight:bold;
  display:inline-block;
}

.f_contact .tel a{
  color:#ffa500;
}

.f_contact .add{
  font-size:68.75%;
  line-height:140%;
  margin:1% 0 0 0;
}

@media all and (max-width:1024px){
  .f_contact .logo{
    width:100%;
    background:url(img/logo.png) no-repeat center 0;
    background-size:contain;
  }

  .f_contact .tel{
    font-size:150%;
    padding-left:18%;
    background-size:contain;
  }

  .f_contact .add{
    margin:3% 0 0 0;
  }
}

@media all and (max-width:768px){
  .f_contact{
    width:40%;
  }
}

@media all and (max-width:667px){
  .f_contact{
    width:60%;
    display:inherit;
    margin:0 auto;
  }

  .f_contact .tel{
    font-size:120%;
    padding-left:10%;
  }
}

@media all and (max-width:568px){
  .f_content{
    padding:4%;
  }

  .f_contact{
    width:100%;
    margin:0 0 2% 0;
  }
}

@media all and (max-width:360px){
  .f_contact .tel{
    padding-left:12%;
  }
}

/* footer navi
------------------------*/
.f_navi{
  width:60%;
  display:inline-block;
  vertical-align:top;
}

.f_navi ul{
  text-align:left;
  margin:0 0 4% 0;
}

.f_navi li{
  font-size:75%;
  text-align:left;
  line-height:140%;
  margin:0 2% 0 0;
  display:inline-block;
}

.f_navi li.title{
  color:#878787;
  font-size:87.5%;
  font-weight:bold;
  display:block;
  padding:0.5% 0 0.5% 3%;
  margin:0 0 1% 0;
  background:url(img/icon_arrow4.png) no-repeat 0 50%;
  background-size:14px 14px;
  border-bottom:1px dotted #878787;
}

.f_navi li a{
  color:#878787;
}

.f_navi li a:hover{
  text-decoration:underline;
}

@media all and (max-width:768px){
  .f_navi{
    width:50%;
  }

  .f_navi li.title{
    padding:0.5% 0 0.5% 5%;
  }
}

@media all and (max-width:667px){
  .f_navi{
    width:80%;
    display:inherit;
    margin:3% auto 0 auto;
  }
}

@media all and (max-width:568px){
  .f_navi{
    width:100%;
  }
}

@media all and (max-width:375px){
  .f_navi li{
    margin-bottom:1%;
  }
}

/* copyright
------------------------*/
.copyright{
  color:#fff;
  text-align:center;
  padding:0.5% 0;
  background:#202020;
}

.copyright a{
  color:#fff;
}

@media all and (max-width:480px){
  .copyright{
    font-size:75%;
    padding:1% 0;
  }
}

@media all and (max-width:375px){
  .copyright{
    margin:0 0 2% 0;
  }
}


/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

 page top
 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

#page_top{
  position:fixed;
  bottom:0;
  right:0;
  z-index:100;
}

#page_top a{
  color:#fff;
  font-size:100%;
  font-weight:bold;
  text-align:center;
  line-height:160%;
  padding:7% 5%;
  display:block;
  text-shadow:1px 1px #000;
  border:1px solid #000;
  background-color:#000;
  border-radius:5%;
  opacity:0.8;
}

@media all and (max-width:480px){
  #page_top{
    width:100%;
    border-radius:0;
  }

  #page_top a{
    padding:2%;
    border-radius:0;
  }
}


/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

 contents
 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

#contents{
  max-width:1140px;
  padding:0 2% 2% 2%;
  margin:1% auto 0 auto;
}

.index #contents{
  margin:2% auto 0 auto;
}

#main{
  width:76%;
  /*overflow:hidden;*/
  float:left;
}

#sub{
  width:21%;
  /*overflow:hidden;*/
  float:right;
}

.column1 #main{
  width:100%;
}

@media all and (max-width:1024px){
  #contents{
    max-width:1024px;
  }
}

@media all and (max-width:830px){
  #contents{
    max-width:830px;
  }

  #main{
    width:100%;
  }

  #sub{
    width:100%;
  }
}

@media all and (max-width:768px){
  #contents{
    max-width:768px;
    padding:0 3% 10% 3%;
  }

  #main{
    width:100%;
  }

  #sub{
    width:100%;
    margin:2% 0 0 0;
  }
}

@media all and (max-width:480px){
  #contents{
    max-width:480px;
    padding:0 2% 10% 2%;
  }
}


/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

 common style
 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

/* text
------------------------*/
img{
  max-width:100%;
  height:auto;
  display:block;
}

a{
  color:#2285d1;
  text-decoration:none;
}

.r_lnk{
  float:right;
}

.r_lnk a{
  min-height:14px;
  padding:0 19px 0 0;
  background:url(img/icon_arrow3.png) no-repeat right center;
  background-size:14px 14px;
}

.lnk a{
  min-height:14px;
  padding:0 0 0 19px;
  background:url(img/icon_arrow3.png) no-repeat left center;
  background-size:14px 14px;
}

.ex{
  font-size:100%;
  line-height:160%;
  margin:0 0 1% 0;
}

.note{
  width:100%;
  color:#878787;
  line-height:160%;
  display:block;
}

.box{
  padding:3%;
  background:#fff;
}

.accordion .accordion_head{
  cursor:pointer;
}

/* table
------------------------*/
table.common{
  width:100%;
  border-collapse:collapse;
  background:#f8f8f8;
}

table.common tr:nth-of-type(odd){
  background:#fff;
}

table.common td,
table.common th{
  text-align:center;
  padding:2%;
  border:1px solid #d4d4d4;
}

table.common th{
  font-size:87.5%;
  line-height:160%;
  font-weight:bold;
}

table.common thead th{
  background:#f8f8f8;
}

table.common td{
  font-size:75%;
  line-height:160%;
}

@media all and (max-width:568px){
  table.common th{
    font-size:755%;
  }
}

@media all and (max-width:480px){
  table.common{
    display:block;
    background:none;
  }

  table.common tr:nth-of-type(odd){
    background:none;
  }

  table.common thead{
    display:none;
  }

  table.common tbody{
    display:block;
  }

  table.common tbody tr{
    display:block;
    margin-bottom:3%;
  }

  table.common tbody th,
  table.common tbody td{
    font-size:75%;
    text-align:left;
    display:list-item;
    list-style-type:none;
    border:none;
  }

  table.common tbody th{
    color:#fff;
    padding:1% 2%;
    margin-bottom:3%;
    background:#bbb;
  }

  table.common tbody td{
    padding:0 2%;
    margin-bottom:2%;
  }
}


/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

 topicpath
 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

#topicpath{
  padding:1% 2%;
  margin:1% 0 0 0;
}

#topicpath ul{
  max-width:1140px;
  margin:0 auto;
}

#topicpath li{
  font-size:75%;
  line-height:160%;
  padding:0 0 0 2%;
  margin:0 1% 0 0;
  background:url(img/icon_arrow2.png) no-repeat 0 50%;
  background-size:12px 22px;
  word-wrap:break-word;
  float:left;
}

#topicpath li a{}

#topicpath li.home{
  padding:0;
  background:none;
}

#topicpath li strong{}

#topicpath li span{
  color:#878787;
}

@media all and (max-width:830px){
  #topicpath{
    padding:1% 3%;
  }

  #topicpath li{
    padding:0 0 0 3%;
    background-size:contain;
  }
}

@media all and (max-width:480px){
  #topicpath{
    border-top:none;
  }

  #topicpath li{
    padding:0 0 0 4%;
    border-top:none;
  }
}


/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

 #main contents index
 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

/* top info
------------------------*/
#top_info{
  padding:12% 0;
  margin:1.5% 0 0 0;
  background:url(img/top_info.jpg) no-repeat 50% 50%;
  background-size:cover;
  position:relative;
}

#top_info h2{
  color:#202020;
  font-size:250%;
  text-shadow:1px 1px 3px #fff;
  line-height:160%;
  position:absolute;
  left:20%;
  bottom:50%;
}

/*----- btn -----*/
#top_info .btn_search{
  position:absolute;
  left:20%;
  bottom:20%;
}

#top_info .btn_search a{
  width:400px;
  height:86px;
  text-indent:-999px;
  overflow:hidden;
  display:block;
  background:url(img/btn_search.png) no-repeat 0 0;
  background-size:400px 86px;
}

@media all and (max-width:1280px){
  #top_info{
    padding:12% 0;
  }

  #top_info h2{
    left:5%;
  }

  #top_info .btn_search{
    left:5%;
    bottom:15%;
  }
}

@media all and (max-width:980px){
  #top_info h2{
    font-size:180%;
  }

  #top_info .btn_search{
    bottom:5%;
  }

  #top_info .btn_search a{
    width:300px;
    background-size:contain
  }
}

@media all and (max-width:768px){
  #top_info{
    padding:20% 0;
  }
}

@media all and (max-width:568px){
  #top_info h2{
    font-size:160%;
  }

  #top_info .btn_search{
    bottom:25%;
  }

  #top_info .btn_search a{
    width:200px;
    height:43px;
    background-size:200px 43px;
  }
}

@media all and (max-width:480px){
  #top_info h2{
    font-size:130%;
    bottom:55%;
  }

  #top_info .btn_search{
    bottom:15%;
  }
}

@media all and (max-width:375px){
  #top_info h2{
    font-size:120%;
  }

  #top_info .btn_search{
    bottom:20%;
  }
}

@media all and (max-width:360px){
  #top_info h2{
    font-size:100%;
  }
}

/* load
------------------------*/
.load_new,
.load_reco,
.load_job_ranking,
.load_owner_ranking{
  overflow:hidden;
}

.load_new h2,
.load_reco h2,
.load_job_ranking h2,
.load_owner_ranking h2{
  color:#fff;
  font-size:100%;
  font-weight:normal;
  padding:1.2% 1.2% 1.2% 1.2%;
  background:#ffa500;
  background-size:50px 16px;
}

.load_new h2 span,
.load_reco h2 span,
.load_job_ranking h2 span,
.load_owner_ranking h2 span{
  font-size:80%;
  margin:0 0 0 1%;
  vertical-align:top;
  /*vertical-align:auto; /*IE7*/
}

.load_new,
.load_reco,
.load_job_ranking,
.load_owner_ranking{
  width:100%;
  height:auto;
  margin:0 0 2% 0;
  padding:0.125% 0;
  background:#f8f8f8;
}

.load_new ul,
.load_reco ul,
.load_job_ranking ul,
.load_owner_ranking ul{
  margin:1%;
  padding:0 0.5%;
  letter-spacing:-0.4em;
  background:#fff;
	/*text-align:center;*/
}

.load_new li,
.load_reco li,
.load_job_ranking li,
.load_owner_ranking li{
	width:24%;
  letter-spacing:normal;
	text-align:left;
	margin:1% 0.5%;
	display:inline-block;
  vertical-align:top;
}

.load_new li h3,
.load_reco li h3,
.load_job_ranking li h3,
.load_owner_ranking li h3{
  background-color:#fff;
  color:#2285d1;
  font-size:87.5%;
  line-height:140%;
  display:block;
  margin:10px 0 0 0;
  text-overflow:ellipsis;
  -webkit-text-overflow:ellipsis;
  -o-text-overflow:ellipsis;
  overflow:hidden;
  white-space:nowrap;
}

.load_new li p,
.load_reco li p,
.load_job_ranking li p,
.load_owner_ranking li p{
  font-size:75%;
  line-height:150%;
}

.load_new li .salary,
.load_reco li .salary,
.load_job_ranking li .salary,
.load_owner_ranking li .salary{
  padding:0 0 0 10%;
  background:url(img/icon_en.png) no-repeat 0 0;
  background-size:16px 16px;
}

/* load_owner_ranking */
.load_owner_ranking li h3{
  text-align:center;
}

/* post_img */
.post_img{
  position:relative;
  overflow:hidden;
  width:100%;
}

.post_img:before{
  content:"";
  display:block;
  width:100%;
  padding-top:75%;
}

.post_img a{
  position:absolute;
  top:50%;
  left:50%;
  height:100%;
  width:100%;
}

.post_img img{
  height:100%;
  width:auto;
  max-width:none;
  transform:translate(-50%, -50%);
}

@media all and (max-width:568px){
  .load_new ul,
  .load_reco ul,
  .load_job_ranking ul,
  .load_owner_ranking ul{
    margin:2%;
  }
  
  /* 3列 
  .load_new li,
  .load_reco li,
  .load_job_ranking li,
  .load_owner_ranking li{
    width:32%;
    width:calc(100% / 3 - 1%);
  }*/
  
  /* 2列 */
  .load_new li,
  .load_reco li,
  .load_job_ranking li,
  .load_owner_ranking li{
    width:46%;
    margin:2%;
  }
}

@media all and (max-width:480px){
}

/* top job type
------------------------*/
.top_job_type{
  margin:3% 0 0 0;
}

.top_job_type section{
  width:48%;
  border:1px solid #dadada;
  background:#f8f8f8;
}

.top_job_type section h2{
  color:#202020;
  font-size:100%;
  font-weight:normal;
  padding:2% 2% 2% 8%;
  background:#fff url(img/icon_search3.png) no-repeat 2% 50%;
  background-size:18px 18px;
  border-bottom:3px solid #ff9900;
}

.top_job_type section h2 span{
  color:#adadad;
  font-size:80%;
  margin:0 0 0 1%;
  vertical-align:top;
  /vertical-align:auto; /*IE7*/
}

.index .top_job_type section .box{
  padding:3%;
  margin:1.5%;
  background:#fff;
}

.top_business{
  float:left;
}

.top_category{
  float:right;
}

@media all and (max-width:568px){
  .top_job_type section{
    width:100%;
  }

  .top_job_type section h2{
    padding-left:7%;
  }

  .top_business{
    margin:0 0 3% 0;
    float:inherit;
  }

  .top_category{
    float:inherit;
  }
}

@media all and (max-width:375px){
  .top_job_type section h2{
    padding-left:9%;
  }
}

@media all and (max-width:320px){
  .top_job_type section h2{
    font-size:87.5%
  }
}

/*---- list -----*/
.top_job_type ul{}

.top_job_type li a{
  text-decoration:none;
}

.top_job_type li a:hover{
  text-decoration:underline;
}

.top_job_type li{
  padding:0 0 2% 0;
  margin:0 0 2% 0;
  background:#fff;
  border-bottom:1px dotted #bbb;
}

.top_job_type li:last-child{
  margin:0;
}

.top_job_type li h3{
  font-size:87.5%;
  min-height:14px;
  padding:0 0 0 5%;
  margin:0 0 2% 0;
  background:url(img/icon_arrow1.png) no-repeat 0 50%;
  background-size:14px 14px;
}

.top_job_type li p{
  width:90%;
  color:#666;
  font-size:80%;
  margin:0 0 0 5%;
  text-overflow:ellipsis;
  -webkit-text-overflow:ellipsis;
  -o-text-overflow:ellipsis;
  overflow:hidden;
  white-space:nowrap;
}

@media all and (max-width:375px){
  .top_job_type li h3{
    font-size:75%;
    padding-left:6%;
  }
}

/* top area
------------------------*/
.top_area{
  margin:3% 0 0 0;
  border:1px solid #dadada;
  background:#fff;
}

.top_area h2{
  color:#202020;
  font-size:100%;
  font-weight:normal;
  padding:1% 1% 1% 4%;
  background:#fff url(img/icon_search3.png) no-repeat 1% 50%;
  background-size:18px 18px;
  border-bottom:3px solid #ff9900;
}

.top_area h2 span{
  color:#adadad;
  font-size:80%;
  margin:0 0 0 1%;
  vertical-align:top;
  /vertical-align:auto; /*IE7*/
}

.top_area .box{
  padding:3%;
  background:#fff;
}

.top_area .map{
  width:40%;
  float:left;
}

.prefectures{
  width:60%;
  float:right;
}

.prefectures ul{
  margin:0 0 3% 0;
}

.prefectures li{
  width:12%;
  font-size:75%;
  text-align:center;
  border-right:1px solid #bbb;
  float:left;
}

.prefectures li a{
  padding:5%;
  display:block;
}

@media all and (max-width:667px){  
  .prefectures li{
    width:13%;
    margin:0 0 1% 0;
  }
}

@media all and (max-width:568px){  
  .top_area h2{
    padding:2% 2% 2% 7%;
    background-position:2% 50%;
  }

  .top_area .map{
    display:none;
  }

  .prefectures{
    width:100%;
    float:inherit;
  }

  .prefectures li{
    width:11%;
    margin:0;
  }
}

@media all and (max-width:375px){  
  .top_area h2{
    padding-left:9%;
  }

  .prefectures li{
    width:12%;
  }

}

@media all and (max-width:320px){  
  .top_area h2{
    font-size:87.5%;
  }

  .prefectures li{
    width:16%;
    margin-bottom:1%;
  }
}

/* top employ
------------------------*/
.top_employ{
  margin:3% 0 0 0;
  border:1px solid #dadada;
  background:#fff;
}

.top_employ h2{
  color:#202020;
  font-size:100%;
  font-weight:normal;
  padding:1% 1% 1% 4%;
  background:#fff url(img/icon_search3.png) no-repeat 1% 50%;
  background-size:18px 18px;
  border-bottom:3px solid #ff9900;
}

.top_employ h2 span{
  color:#adadad;
  font-size:80%;
  margin:0 0 0 1%;
  vertical-align:top;
  /vertical-align:auto; /*IE7*/
}

.top_employ .box{
  padding:3%;
  background:#f8f8f8;
}

.top_employ ul{
  margin:0 -3.3% 0 0;
}

.top_employ li{
  width:30%;
  font-size:100%;
  font-weight:bold;
  margin:0 3.3% 0 0;
  background:#fff url(img/icon_search1.png) no-repeat 5% 50%;
  background-size:40px 40px;
  float:left;
}

.top_employ li a{
  color:#555;
  overflow:hidden;
  display:block;
  text-decoration:none;
  padding:5% 0 5% 25%;
  border-radius:3px;
  border:1px solid #ccc;
}

.top_employ li a span{
  font-size:80%;
  color:#2285d1;
  display:block;
  margin:3% 0 0 0;
}

.top_employ .em_01 a{}
.top_employ .em_02 a{}
.top_employ .em_03 a{}

.top_employ li a:hover{
  background:url(img/icon_arrow2.png) no-repeat 96% 50%;
  background-size:12px 22px;
}

@media all and (max-width:667px){
  .top_employ li{
    font-size:87.5%;
  }

  .top_employ li a{
    padding-left:28%;
  }
}

@media all and (max-width:568px){  
  .top_employ h2{
    padding:2% 2% 2% 7%;
    background-position:2% 50%;
  }

  .top_employ .box{
    padding:1%;
  }

  .top_employ ul{
    margin:0 -1% 0 0;
  }

  .top_employ li{
    width:32.3%;
    font-size:75%;
    margin:0 1% 0 0;
  }

  .top_employ li a{
    padding:7% 0 7% 31%;
  }
}

@media all and (max-width:480px){
  .top_employ .box{
    padding:3% 3% 0 3%;
  }

  .top_employ ul{
    margin:0 -3% 0 0;
  }

  .top_employ li{
    width:47%;
    margin:0 3% 3% 0;
  }
}

@media all and (max-width:375px){  
  .top_employ h2{
    padding-left:9%;
  }
}

@media all and (max-width:320px){
  .top_employ .box{
    padding:3%;
  }

  .top_employ h2{
    font-size:87.5%;
  }

  .top_employ ul{
    margin:0;
  }

  .top_employ li{
    width:100%;
    background-size:20px 20px;
    background-position:2% 50%;
    float:inherit;
  }

  .top_employ li:last-child{
    margin-bottom:0;
  }

  .top_employ li a{
    padding:3% 0 3% 12%;
  }

  .top_employ li a span{
    display:inline;
    margin:0 0 0 2%;
  }
}


/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

 #main contents search
 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

.search{}

.search h2{
  color:#fff;
  font-size:112.5%;
  font-weight:normal;
  padding:1% 1% 1% 4%;
  background:#ff9900 url(img/icon_search2.png) no-repeat 1% 50%;
  background-size:18px 18px;
}

.search .box{
  padding:1%;
  background:#f4f4f4;
}

@media all and (max-width:667px){
  .search h2{
    font-size:100%;
    padding:1.5% 1.5% 1.5% 5%;
  }
}

@media all and (max-width:568px){
  .search h2{
    font-size:87.5%;
  }
}

@media all and (max-width:480px){
  .search h2{
    background-size:16px 16px;
  }
}

@media all and (max-width:320px){
  .search h2{
    padding:1.5% 1.5% 1.5% 7%;
  }
}

/* module table
------------------------*/
.search table{
  width:100%;
  border-collapse:collapse;
  border-spacing:0;
  border-top:1px solid #d4d4d4;
  border-bottom:1px solid #d4d4d4;
  background:#fff;
}

.search table th,
.search table td{
  font-size:75%;
  padding:2%;
  border-bottom:1px dotted #d4d4d4;
  vertical-align:middle;
}

.search table th{
  width:30%;
  border-right:1px dotted #d4d4d4;
}

.search td input{
  margin:0 3px 3px 3px;
  padding:2px;
  position:relative;
  top:1px;
}

.search select{
  margin:3px 5px 3px 0;
}

.search td label{
  margin:3px 0;
}

.search td.row2 label{
  width:50%;
  float:left;
}

.search td.row4 label{
  width:25%;
  float:left;
}

.search .sbmt{
  margin:3% 0;
}

@media all and (max-width:480px){
  .search table{
    display:block;
    border:none;
  }

  .search tr:nth-of-type(odd){
    background:none;
  }

  .search thead{
    display:none;
  }

  .search tbody{
    display:block;
  }

  .search tbody tr{
    display:block;
    margin-bottom:3%;
  }

  .search tbody th,
  .search tbody td{
    text-align:left;
    display:list-item;
    list-style-type:none;
    border:none;
  }

  .search tbody th{
    width:inherit;
    font-size:87.5%;
    color:#fff;
    padding:1.5%;
    background:#bbb;
  }

  .search tbody td{
    font-size:75%;
    padding:2%;
  }
}

@media all and (max-width:320px){
  .search td.row2 label{
    width:inherit;
    display:block;
    float:none;
  }
}


/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

 #main contents page navi
 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

.page_navi{}

.page_navi p{
  font-size:100%;
}

.page_navi p strong{
  color:#ff9900;
  margin:0 0.5% 0 0;
}

.page_navi ul{
  text-align:right;
  margin:1% 0 0 0;
}

.page_navi li{
  font-size:75%;
  display:inline;
}

.page_navi li span{
  color:#666;
  display:inline-block;
  padding:1%;
  background-color:#ddd;
  border:1px #666 solid;
  font-weight:bold;
}

.page_navi li a{
  color:#666;
  display:inline-block;
  padding:1%;
  border:1px #666 solid;
}

.page_navi li a:link,
.page_navi li a:visited{
  border-color:#666;
}

.page_navi li a:hover,
.page_navi li a:active{
  color:#fff;
  border-color:#666;
  background-color:#666;
}

@media all and (max-width:830px){
  .page_navi ul{
    margin:2% 0 0 0;
  }
}


/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

 #main contents detail
 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

/* table
------------------------*/
table.detail{
  width:100%;
  border-collapse:collapse;
  background:#f8f8f8;
}

table.detail tr:nth-of-type(odd){
  background:#fff;
}

table.detail td,
table.detail th{
  padding:1%;
  border:1px solid #d4d4d4;
  vertical-align:middle;
}

table.detail th{
  font-size:87.5%;
  text-align:center;
  line-height:160%;
  font-weight:bold;
}

table.detail thead th{
  background:#f8f8f8;
}

table.detail td{
  font-size:75%;
  text-align:left;
  line-height:160%;
}

@media all and (max-width:568px){
  table.detail th{
    font-size:75%;
  }
}

@media all and (max-width:480px){
  table.detail{
    display:block;
    background:none;
  }

  table.detail tr:nth-of-type(odd){
    background:none;
  }

  table.detail thead{
    display:none;
  }

  table.detail tbody{
    display:block;
  }

  table.detail tbody tr{
    display:block;
    margin-bottom:3%;
  }

  table.detail tbody th,
  table.detail tbody td{
    font-size:75%;
    text-align:left;
    display:list-item;
    list-style-type:none;
    border:none;
  }

  table.detail tbody th{
    width:inherit;
    padding:0 0 0 2%;
    margin-bottom:2%;
    border-left:5px solid #ff9900;
  }

  table.detail tbody td{
    padding:0 2%;
  }
}


/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

 #main contents item list
 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

.list{
  margin:3% 0 0 0;
}

/* item
------------------------*/
.item{
  padding:1.5%;
  margin:3% 0;
  background:#fff;
  border:1px solid #d4d4d4;
}

.item .title{
  color:#fff;
  font-size:112.5%;
  font-weight:normal;
  padding:1%;
  background:#bbb;
  margin:0 0 2% 0;
}

.item .title a{
  color:#fff;
  display:block;
  text-overflow:ellipsis;
  -webkit-text-overflow:ellipsis;
  -o-text-overflow:ellipsis;
  overflow:hidden;
  white-space:nowrap;
}

.item table.detail th{
  width:30%;
}

/* type */
.type{
  margin:0 0 2% 0;
}

.type li{
  font-size:75%;
  text-align:center;
  padding:0.5% 3%;
  margin:0 5px 0 0;
  border:1px solid #2185d1;
  float:left;
}

.type .emp{
  color:#fff;
  background:#2185d1;
}

.type .bus{
  color:#2185d1;
  background:#fff;
}

.type .cate{
  color:#2185d1;
  background:#fff;
}

/* catch */
.catch{
  color:#2185d1;
  font-size:100%;
  font-weight:bold;
  line-height:160%;
  padding:0 0 1% 0;
  margin:0 0 2% 0;
  border-bottom:1px dotted #d5d5d5;
  clear:both;
}

.item .left{
  width:28%;
  margin:0 2% 3% 0;
  float:left;
}

.item .right{
  width:70%;
  margin:0 0 3% 0;
  float:right;
}

/* thumb */
.item .thumb{}


/* feature */
.feature{
  margin:0 -1% 2% 0;
}

.feature li{
  width:22%;
  color:#fff;
  font-size:75%;
  text-align:center;
  background:#67b9ca;
  padding:1%;
  margin:0 1% 1% 0;
  float:left;
}

@media all and (max-width:736px){
  .feature li{
    width:30%;
  }
}

@media all and (max-width:667px){
  .item .title{
    font-size:100%;
  }
}

@media all and (max-width:568px){
  .item .title{
    font-size:87.5%;
  }

  .catch{
    font-size:87.5%;
  }
}

@media all and (max-width:480px){
  .item .title{
    font-size:75%;
    padding:1.5%;
  }

  .item .left{
    width:100%;
    float:none;
  }

  .item .left img{
    width:100%;
  }

  .item .right{
    width:100%;
    float:none;
  }
}

/* btn
------------------------*/
.btn_box{
  text-align:center;
  margin:0 0 2% 0;
  clear:both;
}

p.btn_bookmark,
p.btn_info,
p.btn_entry{
  display:inline-block;
  width:30%;
  margin:0 1%;
}

p.btn_bookmark a,
p.btn_info a,
p.btn_entry a{
  width:100%;
  color:#fff;
  font-weight:normal;
  display:block;
  padding:3% 2%;
  border-radius:3px;
  box-sizing: border-box;
}

p.btn_bookmark a{
  color:#666;
  padding:3% 2% 3% 10%;
  border:1px solid #666;
  background:#fff url(img/icon_bookmark.png) no-repeat 5% 50%;
  background-size:16px 16px;
}

p.btn_bookmark.remove a{
  background:#fff url(img/icon_remove.png) no-repeat 5% 50%;
  background-size:16px 16px;
}

p.btn_info a{
  border:1px solid #666;
  background:#666;
  background:linear-gradient(#878787, #666);
}

p.btn_entry a{
  border:1px solid #202020;
  background:#202020;
  background:linear-gradient(#333, #202020);
}

@media all and (max-width:568px){
  p.btn_bookmark,
  p.btn_info,
  p.btn_entry{
    font-size:87.5%;
  }

  p.btn_bookmark a,
  p.btn_info a,
  p.btn_entry a{
    padding:2%;
  }
}

@media all and (max-width:480px){
  p.btn_bookmark,
  p.btn_info,
  p.btn_entry{
    display:block;
    width:80%;
    margin:0;
    margin:2% auto;
  }

  p.btn_bookmark a,
  p.btn_info a,
  p.btn_entry a{
    width:100%;
    padding:3%;
  }
}


/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

 #main contents item info
 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

.item_info{}

.item_info > div:first-child {
  margin:0;
}

.item_info .item{
  margin:0;
}

.item_info .item .left{
  width:38%;
}

.item_info .item .right{
  width:60%;
}

.item_info table.detail th{
  width:30%;
}

@media all and (max-width:768px){
  .item_info .item .right{
    width:58%;
  }

  .item_info .feature li{
    width:30%;
  }
}

@media all and (max-width:667px){
  .item_info .item .left{
    width:39%;
  }
}

@media all and (max-width:480px){
  .item_info .item .left{
    width:100%;
    float:none;
  }

  .item_info .item .right{
    width:100%;
    float:none;
  }
}

/* photo
------------------------*/
.photo{
  padding:2%;
  margin:3% 0 0 0;
  background:#fff;
  border:1px solid #d4d4d4;
}

.photo ul{
  letter-spacing:-0.4em;
  margin:0 -1% -2% 0;
}

.photo li{
  width:32%;
  letter-spacing:normal;
  margin:0 1% 2% 0;
  display:inline-block;
  vertical-align:top;
}

.photo li p{
  font-size:87.5%;
  line-height:160%;
  margin:3% 0 0 0;
}

@media all and (max-width:736px){
  .photo li p{
    font-size:75%;
  }
}

@media all and (max-width:320px){
  .photo ul{
    margin:0;
  }

  .photo li{
    width:100%;
    display:block;
    margin:0 0 3% 0;
  }

  .photo li:last-child{
    margin:0;
  }
}

/* info
------------------------*/
.info{
  border:1px solid #dadada;
  background:#f8f8f8;
  margin:3% 0 0 0;
}

.info h3{
  color:#202020;
  font-size:112.5%;
  font-weight:normal;
  padding:1%;
  background:#fff;
  border-bottom:3px solid #ff9900;
}

.info h4{
  color:#fff;
  font-size:100%;
  font-weight:normal;
  padding:1%;
  margin:3% 0 2% 0;
  background:#878787;
}

.info h4:first-child{
  margin-top:0;
}

@media all and (max-width:568px){
  .info h3{
    font-size:100%;
  }
}

@media all and (max-width:320px){
  .info h3{
    font-size:87.5%;
    padding:2%;
  }

  .info h4{
    font-size:87.5%;
    padding:2%;
  }
}

/* access
------------------------*/
.access{
  border:1px solid #dadada;
  background:#f8f8f8;
  margin:3% 0 0 0;
}

.access .box{}

.access h3{
  color:#202020;
  font-size:112.5%;
  font-weight:normal;
  padding:1%;
  background:#fff;
  border-bottom:3px solid #ff9900;
}

.access .map{
  width:50%;
  float:left;
}

.access .address{
  width:48%;
  float:right;
}

.access .address ul{}

.access .address li{
  font-size:75%;
  line-height:150%;
  padding:0 0 2% 0;
  margin:0 0 2% 0;
  border-bottom:1px dotted #bbb;
}

.access .address li span{
  font-weight:bold;
  display:block;
  margin:0 0 1% 0;
}

.access .map #map-canvas{
  width:100% !important;
}

@media all and (max-width:1024px){
  .access .address{
    width:48%;
  }
}

@media all and (max-width:768px){
  .access .map{
    width:100%;
    float:none;
  }

  .access .address{
    width:100%;
    margin:3% 0 0 0;
    float:none;
  }
}

@media all and (max-width:568px){
  .access h3{
    font-size:100%;
  }
}

@media all and (max-width:320px){
  .access h3{
    font-size:87.5%;
    padding:2%;
  }
}

/* company info
------------------------*/
.com_info{}

.com_info{
  border:1px solid #dadada;
  background:#f8f8f8;
  margin:3% 0 0 0;
}

.com_info .box{}

.com_info h2,
.com_info h3{
  color:#202020;
  font-size:112.5%;
  padding:1.5%;
  background:#fff;
  border-bottom:3px solid #ff9900;
}

.com_info h3{
  font-weight:normal;
  padding:1%;
}

.com_photo{
  width:28%;
  float:left;
}

.com_info .detail{
  width:70%;
  float:right;
}

@media all and (max-width:568px){
  .com_info h3{
    font-size:100%;
  }
}

@media all and (max-width:480px){
  .com_info h3{
    font-size:87.5%;
    padding:2%;
  }

  .com_photo{
    width:100%;
    float:none;
  }

  .com_photo img{
    width:100%;
  }

  .com_info .detail{
    width:100%;
    margin:3% 0 0 0;
    float:none;
  }
}


/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

 #main contents form
 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

/* submit
------------------------*/
.sbmt_box{
  text-align:center;
  margin:3% 0 0 0;
}

.sbmt_box .sbmt{
  display:inline;
}

.sbmt_box .btn{
  margin:0;
}

.sbmt{
  text-align:center;
  margin:3% 0 0 0;
}

.sbmt input[type="submit"],
.sbmt input[type="button"]{
  width:48%;
  color:#fff;
  font-family:"メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size:100%;
  font-weight:normal;
  display:inline-block;
  padding:1%;
  border-radius:3px;
  border:1px solid #202020;
  background:#202020;
  background:linear-gradient(#333, #202020);
  cursor:pointer;
}

@media all and (max-width:480px){
  .sbmt input[type="submit"],
  .sbmt input[type="button"]{
    font-size:75%;
    padding:2%;
  }

  .sbmt{
    margin:3% 0;
  }
}

/* form
------------------------*/
.form{
  margin:3% 0 0 0;
}

.form table{
  width:100%;
  border-collapse:collapse;
  background:#fff;
}

.form caption{
  font-size:100%;
  font-weight:bold;
  text-align:left;
  padding:0 0 0 1%;
  margin:0 0 2% 0;
  border-left:5px solid #ff9900;
}

.form table tr:nth-of-type(odd){
  background:#fff;
}

.form table td,
.form table th{
  padding:2%;
  border:1px solid #d4d4d4;
  vertical-align:middle;
}

.form table th{
  width:30%;
  font-size:87.5%;
  font-weight:bold;
  text-align:center;
  line-height:160%;
}

.form table td{
  font-size:75%;
}

.form td input{
  margin:0 3px 3px 3px;
  padding:2px;
  position:relative;
  top:1px;
}

.nec{
  color:#ff0000;
  margin:0 1%;
}

.form select{
  margin:3px 5px 3px 0;
  max-width: 100%;
}

.form textarea{
  width:98%;
}

.form td label{
  margin:3px 0;
}

.form td.row2 label{
  width:50%;
  float:left;
}

.form td.row4 label{
  width:25%;
  float:left;
}

.form .reminder.r_lnk{
  text-align:right;
  float:none;
  font-size:75%;
  margin:3% 0 0;
}

@media all and (max-width:480px){
  .form table{
    display:block;
    background:none;
  }

  .form table caption{
    display:block;
  }

  .form table tr:nth-of-type(odd){
    background:none;
  }

  .form table tbody{
    display:block;
  }

  .form table tbody tr{
    display:block;
    margin-bottom:1.5em;
  }

  .form table tbody th,
  .form table tbody td{
    font-size:75%;
    text-align:left;
    display:list-item;
    list-style-type:none;
    border:none;
  }

  .form table tbody th{
    width:auto;
    padding:1% 2%;
    margin-bottom:3%;
    background:#f8f8f8;
  }

  .form table tbody td{
    padding:0 2%;
    margin-bottom:2%;
  }

  .form td.row2 label{
    width:100%;
  }
}

/* module check form
------------------------*/
.check_form{
  margin:3% 0 0 0;
}

.check_form table{
  width:100%;
  border-collapse:collapse;
  background:#fff;
}

.check_form caption{
  font-size:100%;
  font-weight:bold;
  text-align:left;
  padding:0 0 0 1%;
  margin:0 0 2% 0;
  border-left:5px solid #ff9900;
}

.check_form table tr:nth-of-type(odd){
  background:#fff;
}

.check_form table td,
.check_form table th{
  padding:2%;
  border:1px solid #d4d4d4;
}

.check_form table th{
  width:30%;
  font-size:87.5%;
  font-weight:bold;
  text-align:center;
  line-height:160%;
}

.check_form table td{
  font-size:95%;
  line-height:150%;
}

@media all and (max-width:480px){
  .check_form table{
    display:block;
    background:none;
  }

  .check_form table caption{
    display:block;
  }

  .check_form table tr:nth-of-type(odd){
    background:none;
  }


  .check_form table tbody{
    display:block;
  }

  .check_form table tbody tr{
    display:block;
    margin-bottom:1.5em;
  }

  .check_form table tbody th,
  .check_form table tbody td{
    font-size:75%;
    text-align:left;
    display:list-item;
    list-style-type:none;
    border:none;
  }

  .check_form table tbody th{
    width:auto;
    padding:1% 2%;
    margin-bottom:3%;
    background:#f8f8f8;
  }

  .check_form table tbody td{
    padding:0 2%;
    margin-bottom:2%;
  }
}

/* error
------------------------*/
.error{
  margin:3% auto;
}

.error .msg{
  font-size:100%;
  font-weight:bold;
  color:#ff0000;
  padding:0 0 0 19px;
  background:url(img/icon_alert.png) no-repeat 0 50%;
  background-size:contain;
}

.error ul{
  margin:1% 0 0 3%;
}

.error li{
  font-size:75%;
  color:#ff0000;
  line-height:160%;
  list-style:disc;
}

@media all and (max-width:480px){
  .error .msg{
    font-size:75%;
  }

  .error ul{
    margin-left:8%;
  }

  .error li{
    font-size:75%;
  }
}

/* message
------------------------*/
.comp dl{
  padding:3%;
  background:#f8f8f8;
}

.comp dt{
  font-size:87.5%;
  text-align:center;
  line-height:160%;
  margin:0 0 3% 0;
}

.comp dd{
  text-align:center;
}

.comp dd p a{
  font-size:75%;
  min-height:14px;
  padding:0 0 0 19px;
  background:url(img/icon_arrow1.png) no-repeat 0 50%;
  background-size:14px 14px;
}

@media all and (max-width:480px){
  .comp dt,
  .comp dd p a{
    font-size:75%;
  }
}


/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

 #main contents entry
 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

.entry{
  border:1px solid #dadada;
  background:#f8f8f8;
}

.com_info + .entry{
  margin:3% 0 0 0;
}

.entry h2{
  color:#202020;
  font-size:112.5%;
  padding:1.5%;
  background:#fff;
  border-bottom:3px solid #ff9900;
}

.entry .ex{
  font-size:75%;
}

.entry table.detail{
  margin:0 0 5% 0;
}

.entry .detail td{
  text-align:center;
}

a.link_delete{
  color:#fff;
  padding:5%;
  display:block;
  background:#ff9900;
  border-radius:3px;
}

a.link_delete:hover{
  background:#bbb;
}

.link_entry,
.link_bookmark{
  border:1px solid #dadada;
  background:#f8f8f8;
}

.link_remove{
  border:1px solid #dadada;
  background:#f8f8f8;
}

.link_entry:hover,
.link_bookmark:hover{
  background:#fcfcfc;
}

.link_remove:hover{
  border:1px solid #e0e0e0;
  background:#e0e0e0;
}

.link_remove a{
  color:#666;
}

@media all and (max-width:568px){
  .entry h2{
    font-size:100%;
  }
}

@media all and (max-width:480px){
  .entry h2{
    font-size:87.5%;
    padding:2%;
  }

  .entry table.detail{
    border:1px solid #ccc;
  }

  .entry table.detail tbody{
    padding:3%;
  }

  a.link_delete{
    width:45%;
    padding:2%;
    margin:5% auto 0 auto;
  }

  .link_bookmark,
  .link_remove a{
    margin:0 0 3% 0;
  }
}


/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

 #main contents about
 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

.about{
  border:1px solid #dadada;
  background:#f8f8f8;
}

.about h2{
  color:#202020;
  font-size:112.5%;
  padding:1.5%;
  background:#fff;
  border-bottom:3px solid #ff9900;
}

.about h3{
  color:#fff;
  font-size:100%;
  font-weight:normal;
  padding:1%;
  margin:0 0 2% 0;
  background:#202020;
}

.about .ex{
  font-size:75%;
}

@media all and (max-width:375px){
  .about h2{
    color:#202020;
    font-size:100%;
    padding:2%;
  }

  .about h3{
    font-size:87.5%;
    padding:2%;
  }
}

/* flow
------------------------*/
.flow{}

.flow ul{}

.flow li{
  padding:0 0 20% 0;
  margin:0 0 10% 0;
}

.flow li:last-child{
  margin-bottom:0;
}

.flow li{
  background-position:right 0;
  background-repeat:no-repeat;
  background-size:45% auto;
}

.flow li:nth-child(2n){
  background-position:0 0;
}

.flow li.f_01{
  background-image:url(img/sample_bg_01.png);
}

.flow li.f_02{
  background-image:url(img/sample_bg_02.png);
}

.about .flow li.f_02{
  background-image:url(img/sample_bg_03.png);
}

.flow li h4{
  width:50%;
  font-size:120%;
  font-weight:normal;
  line-height:160%;
  padding:1% 0;
  border-top:1px solid #202020;
  border-bottom:1px solid #202020;
}

.flow li:nth-child(2n) h4,
.flow li:nth-child(2n) p{
  margin-left:50%;
}

.flow li p{
  width:50%;
  font-size:87.5%;
  line-height:160%;
  margin:3% 0 0 0;
}

@media all and (max-width:1024px){
  .flow li.f_01,
  .flow li.f_02{
    background-size:50% auto;
  }

  .flow li h4{
    width:45%;
    font-size:100%;
  }

  .flow li:nth-child(2n) h4,
  .flow li:nth-child(2n) p{
    margin-left:55%;
  }

  .flow li p{
    width:45%;
  }
}

@media all and (max-width:480px){
  .flow li{
    padding:0 0 10% 0;
    margin:5% 0 5% 0;
  }

  .flow li.f_01,
  .flow li.f_02{
    padding:0 0 80% 0;
    background-position:center bottom;
    background-size:80% auto;
  }

  .flow li h4{
    width:100%;
    font-size:87.5%;
  }

  .flow li:nth-child(2n) h4,
  .flow li:nth-child(2n) p{
    margin-left:0;
  }

  .flow li p{
    width:100%;
    font-size:75%;
  }  
}


/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

 #main contents client
 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

.client{
  border:1px solid #dadada;
  background:#f8f8f8;
}

.client h2{
  color:#202020;
  font-size:112.5%;
  padding:1.5%;
  background:#fff;
  border-bottom:3px solid #ff9900;
}

.client h3{
  color:#fff;
  font-size:100%;
  font-weight:normal;
  padding:1%;
  margin:0 0 2% 0;
  background:#202020;
}

.client .ex{
  font-size:75%;
}

@media all and (max-width:375px){
  .client h2{
    color:#202020;
    font-size:100%;
    padding:2%;
  }

  .client h3{
    font-size:87.5%;
    padding:2%;
  }
}

/* price
------------------------*/
.price{
  margin:5% 0 0 0;
}

.price table.common{
  margin:0 0 3% 0;
}


/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

 #main contents company
 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

.company{
  border:1px solid #dadada;
  background:#f8f8f8;
}

.company h2{
  color:#202020;
  font-size:112.5%;
  padding:1.5%;
  background:#fff;
  border-bottom:3px solid #ff9900;
}

.company table.common th{
  width:30%;
}

.company table.common td{
  text-align:left;
}

@media all and (max-width:480px){
  .company table.common th{
    width:auto;
  }

}

@media all and (max-width:375px){
  .company h2{
    color:#202020;
    font-size:100%;
    padding:2%;
  }
}


/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

 #main contents faq
 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

.faq{
  border:1px solid #dadada;
  background:#f8f8f8;
}

.faq h2{
  color:#202020;
  font-size:112.5%;
  padding:1.5%;
  background:#fff;
  border-bottom:3px solid #ff9900;
}

.faq li{
  padding:10px;
  margin:0 0 10px 0;
  border-bottom:1px dotted #e0e0e0;
}

.faq li h3{
  font-size:87.5%;
  line-height:150%;
  color:#2285d1;
  padding:0 0 0 30px;
  background:url(img/icon_q.png) no-repeat 0 0;
  background-size:20px 20px;
}

.faq li h3:hover{
  cursor:pointer;
  text-decoration:underline;
}

.faq li p{
  font-size:75%;
  line-height:160%;
  padding:10px 0 0 0;
  margin:10px 0;
}

@media all and (max-width:375px){
  .faq h2{
    color:#202020;
    font-size:100%;
    padding:2%;
  }
}



/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

 #main contents policy
 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

.policy{
  border:1px solid #dadada;
  background:#f8f8f8;
}

.policy h2{
  color:#202020;
  font-size:112.5%;
  padding:1.5%;
  background:#fff;
  border-bottom:3px solid #ff9900;
}

.policy dl{}

.policy dt{
  font-size:87.5%;
  line-height:160%;
  font-weight:bold;
  margin:0 0 0.5% 0;
}

.policy dd{
  font-size:75%;
  line-height:160%;
  padding:0 0 1% 0;
  margin:0 0 1% 0;
  border-bottom:1px dotted #bbb;
}

.policy dd ol{
  margin:1% 0 0 0;
}

.policy dd li{
  list-style:decimal;
  margin:0 0 1% 3%;
}

@media all and (max-width:480px){
  .policy dd li{
    margin-left:5%;
  }
}

@media all and (max-width:375px){
  .policy h2{
    color:#202020;
    font-size:100%;
    padding:2%;
  }
}


/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

 #main contents news
 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

.news{
  border:1px solid #dadada;
  background:#f8f8f8;
}

.news h2{
  color:#202020;
  font-size:112.5%;
  padding:1.5%;
  background:#fff;
  border-bottom:3px solid #ff9900;
}

/* module news list
------------------------*/
dl.news_list{
  position:relative;
  zoom:1;
}

dl.news_list dt,
dl.news_list dd{
  font-size:75%;
  line-height:160%;
  vertical-align:top;
}

dl.news_list dt{
  width:10%;
  color:#2285d1;
  font-weight:bold;
  /*position:absolute;*/
}

dl.news_list dd{
  padding:0 0 1% 10%;
  margin:0 0 1% 0;
  border-bottom:1px dotted #bbb;
}

.news dl.news_list dd:last-child{
  padding-bottom:0;
  margin-bottom:0;
  border-bottom:none;
}

dl.news_list dd a{
  color:#333;
  text-decoration:underline;
}

@media all and (max-width:830px){  
  dl.news_list dt{
    width:12%;
  }

  dl.news_list dd{
    padding:0 0 1% 12%;
  }

}

@media all and (max-width:480px){
  dl.news_list dt{
    width:20%;
  }

  dl.news_list dd{
    padding:0 0 1% 20%;
  }
}


/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

 #main contents sitemap
 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

.sitemap{
  border:1px solid #dadada;
  background:#f8f8f8;
}

.sitemap h2{
  color:#202020;
  font-size:112.5%;
  padding:1.5%;
  background:#fff;
  border-bottom:3px solid #ff9900;
}

.sitemap .box{
  padding:3% 3% 0 3%;
}

.sitemap h3{
  font-size:100%;
  color:#202020;
  font-weight:normal;
  padding:0 0 0 1%;
  margin:0 0 2% 0;
  border-left:5px solid #ff9900;
  clear:both;
}

.sitemap ul{
  margin:1% -1% 3% 0;
}

.sitemap li{
  width:32%;
  margin:0 1% 1% 0;
  border:1px solid #d4d4d4;
  float:left;
}

.sitemap li a{
  font-size:75%;
  color:#333;
  text-decoration:none;
  padding:4%;
  display:block;
  background:url(img/icon_arrow2.png) no-repeat 98% 50%;
  background-size:12px 22px;
}

.sitemap li a:hover{
  background-color:#f8f8f8;
}

@media all and (max-width:768px){
  .sitemap h3{
    margin:3% 0 0 0;
  }

  .sitemap ul{
    margin-top:2%;
  }

  .sitemap li{
    width:48.2%;
  }

  .sitemap li a{
    font-size:75%;
    padding:5%;
  }
}

@media all and (max-width:375px){
  .sitemap h2{
    color:#202020;
    font-size:100%;
    padding:2%;
  }

  .sitemap h3{
    font-size:87.5%;
  }
}


/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

 #sub contents
 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

#sub{}


/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

 #sub contents bana
 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

.bana_search,
.bana_login,
.bana_member{
  margin:0 0 5% 0;
}

.bana_login{
  background-color:#2185d1;
  border-radius:2px;
}

.bana_login a{
  color:#fff;
  display:block;
  padding:7% 7% 7% 24%;
  background:transparent url(img/s_login.png) no-repeat;
  background-position:4% 50%;
  background-size:40px 40px;
}

.bana_search:hover,
.bana_login:hover,
.bana_member a:hover img{
  opacity: 0.9;
  filter: alpha(opacity=90);
}

@media all and (max-width:1150px){
  .bana_login a{
    font-size:calc(1rem + ((1vw - 11.5px) * 1.5625));
  }
}

@media all and (max-width:830px){
  .bana_search,
  .bana_login,
  .bana_member{
    width:49%;
    margin:4% 1% 4% 0;
    float:left;
  }
  
  /*.bana_search,*/
  .bana_member{
    margin:4% 0 4% 1%;
  }
  
  .bana_login{
    border-radius:5px;
  }
  
  .bana_login a{
    font-size:120%;
    text-align:center;
    padding:20% 5% 7% 20%;
  }
}

@media all and (max-width:568px){
  .bana_login a{
    font-size:100%;
  }
}

@media all and (max-width:480px){
  .bana_search,
  .bana_login,
  .bana_member{
    width:80%;
    margin:4% auto;
    float:none;
  }

  .bana_login a{
    text-align:left;
    padding:7% 7% 7% 24%;
  }
}

@media all and (max-width:320px){
  .bana_search,
  .bana_login,
  .bana_member{
    width:100%;
  }
}


/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

 #sub contents navi
 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

.s_navi{
  clear:both;
}

.s_navi ul{}

.s_navi li{
  width:100%;
  font-size:100%;
  margin:0 0 5% 0;
  border:1px solid #e0e0e0;
  border-radius:2px;
  background:#fff;
  box-sizing:border-box;
}

.s_navi li:hover{
  border:1px solid #bbb;
}

.s_navi li a{
  color:#202020;
  display:block;
  text-decoration:none;
  padding:7% 0 7% 24%;
  background-repeat:no-repeat;
  background-position:4% 50%;
  background-size:40px 40px;
}

.s_navi li.s_01 a{
  background-image:url(img/s_01.png);
}

.s_navi li.s_02 a{
  background-image:url(img/s_02.png);
}

.s_navi li.s_03 a{
  background-image:url(img/s_03.png);
}

@media all and (max-width:830px){
  .s_navi{
    margin:4% 0;
  }

  .s_navi ul{
    margin:0 -1% 0 0;
  }

  .s_navi li{
    width:32%;
    margin:0 1% 0 0;
    float:left;
  }
}

@media all and (max-width:567px){
  .s_navi{
    margin:4% 0 2% 0;
  }

  .s_navi ul{
    margin:0 -2% 0 0;
  }

  .s_navi li{
    width:48%;
    font-size:87.5%;
    margin:0 2% 2% 0;
  }

  .s_navi li a{
    padding:10% 0 10% 28%;
    background-position:3% 50%;
    background-size:40px 40px;
  }
}

@media all and (max-width:480px){
  .s_navi li a{
    padding:10% 0 10% 26%;
    background-position:5% 50%;
    background-size:40px 40px;
  }
}

@media all and (max-width:375px){
  .s_navi li{
    width:47.3%;
    font-size:68.75%;
  }

  .s_navi li a{
    padding-left:30%;
  }
}


@media all and (max-width:320px){
  .s_navi ul{
    margin:0;
  }

  .s_navi li{
    width:100%;
    font-size:100%;
  }

  .s_navi li a{
    padding:5% 0 5% 20%;
    background-position:3% 50%;
    background-size:40px 40px;
  }
}


/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

 #sub contents top news
 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

#ld_news{
  width:100%;
  height:auto;
  background:#fff;
}

.top_news{
  overflow:hidden;
  margin:3% 0 0 0;
  background:#fff;
  border:1px solid #dadada;
}

.top_news h2{
  font-size:100%;
  font-weight:normal;
  min-height:18px;
  padding:5% 5% 3% 15%;
  background:#f8f8f8 url(img/icon_news.png) no-repeat 5% 50%;
  background-size:18px 18px;
  border-bottom:1px solid #dadada;
  position:relative;
}

.top_news .r_lnk{
  font-size:75%;
  margin:3%;
}

@media all and (max-width:768px){
  .dl_news{
    height:390px;
  }

  .top_news h2{
    font-size:100%;
    font-weight:normal;
    min-height:18px;
    padding:2% 2% 1% 7%;
    background-position:2% 50%;
  }
}

@media all and (max-width:480px){
  .top_news h2{
    padding-left:8%;
  }
}

@media all and (max-width:375px){
  #ld_news{
    height:320px;
  }
}

@media all and (max-width:320px){
  #ld_news{
    height:300px;
  }

  .top_news h2{
    padding-left:9%;
  }
}

/* module ld_news
------------------------*/
#sub dl.news_list{
  padding:5%;
  position:relative;
  zoom:1;
}

#sub dl.news_list dt,
#sub dl.news_list dd{
  font-size:75%;
}

#sub dl.news_list dt{
  font-weight:bold;
  margin:0 0 3% 0;
}

#sub dl.news_list dd{
  line-height:160%;
  padding:0 0 5% 0;
  margin:0 0 5% 0;
  border-bottom:1px dotted #bbb;
}

#sub dl.news_list dd a{
  color:#333;
  display:block;
}

#sub dl.news_list dd a:hover{
  color:#ec5aa1;
}

@media all and (max-width:768px){
  #sub dl.news_list dt{
    margin:0 0 1% 0;
  }

  #sub dl.news_list dd{
    padding:0 0 2% 0;
    margin:0 0 2% 0;
  }
}


/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

  module member l_navi
 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

.l_navi{
  padding:0 9px 9px 9px;
  margin:0 0 5% 0;
  background-color:#2185d1;
  border-radius:2px;
}

.l_navi h2{
  color:#fff;
  font-size:87.5%;
  text-align:center;
  height:25px;
  padding:13px 0 0 0;
}

.l_navi ul{
  padding:10px;
  background-color:#fff;
}

.l_navi li a{
  font-size:75%;
  font-weight:bold;
  text-decoration:none;
  display:block;
  padding:7px 0 7px 20px;
  border-bottom:1px dotted #bbb;
  background:url(img/icon_arrow1.png) no-repeat 0 50%;
  background-size:14px 14px;
}

.l_navi li a:hover{
  color:#ff9900;
}

@media all and (max-width:768px){
  .l_navi{
    margin:3% 0 5% 0;
  }
}

/* =========================================================
   HOST-JOB LUXURY OVERRIDE
   Purpose: premium black & gold redesign with safe layout overrides
   Notes: appended after original style.css
   ========================================================= */

html {
  scroll-behavior: smooth;
}

body {
  color: #e8dcc0;
  line-height: 1.7;
  letter-spacing: 0.02em;
  background: #070707;
  font-family: "Hiragino Sans", "Yu Gothic", "Yu Gothic Medium", "Meiryo", sans-serif;
}

#wrapper {
  background:
    radial-gradient(circle at top, rgba(212, 175, 55, 0.08), transparent 34%),
    linear-gradient(180deg, #151515 0%, #0b0b0b 26%, #080808 100%);
}

img {
  max-width: 100%;
  height: auto;
}

/* -------------------------
   Links / focus
-------------------------- */
a {
  color: #d4af37;
  transition: color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

a:hover {
  color: #f5d77b;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid #d4af37;
  outline-offset: 2px;
}

/* -------------------------
   Header
-------------------------- */
header {
  background:
    linear-gradient(180deg, rgba(22, 22, 22, 0.98) 0%, rgba(8, 8, 8, 0.98) 100%);
  border-bottom: 1px solid rgba(212, 175, 55, 0.24);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.32);
}

.h_content {
  max-width: 1280px;
  padding: 18px 24px 16px;
}

h1 {
  color: #bba57a;
  font-size: 12px;
  line-height: 1.8;
  letter-spacing: 0.08em;
  margin-bottom: 10px;
}

#logo {
  margin: 0;
}

#logo a {
  border-radius: 18px;
  background-color: rgba(255, 255, 255, 0.96);
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.24);
}

.h_navi {
  top: 22px;
  right: 24px;
  width: auto;
  margin: 0;
}

.h_navi p {
  margin-left: 10px;
}

.h_navi p a {
  color: #f3e2b0;
  padding: 10px 14px 10px 32px;
  border: 1px solid rgba(212, 175, 55, 0.28);
  border-radius: 999px;
  background-color: rgba(255, 255, 255, 0.04);
  line-height: 1.3;
}

.h_navi p a:hover {
  text-decoration: none;
  color: #111;
  background-color: #d4af37;
  border-color: #d4af37;
  box-shadow: 0 10px 20px rgba(212, 175, 55, 0.18);
}

/* -------------------------
   Global navigation
-------------------------- */
#g_navi {
  background: linear-gradient(180deg, #181818 0%, #0d0d0d 100%);
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  border-bottom: 1px solid rgba(212, 175, 55, 0.24);
}

#g_navi ul {
  max-width: 1280px;
}

#g_navi li {
  border-left: 1px solid rgba(212, 175, 55, 0.18);
  border-right: none;
}

#g_navi li:last-child {
  border-right: 1px solid rgba(212, 175, 55, 0.18);
}

#g_navi li a {
  color: #f5e7bf;
  padding: 20px 12px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.06em;
  background: transparent;
}

#g_navi li a:hover,
#g_navi li a:focus-visible {
  color: #111;
  background: linear-gradient(135deg, #f1d27a 0%, #c99720 100%);
}

/* -------------------------
   Hero
-------------------------- */
#top_info {
  max-width: 1280px;
  min-height: 460px;
  margin: 26px auto 0;
  padding: 88px 64px;
  border: 1px solid rgba(212, 175, 55, 0.24);
  border-radius: 30px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 24px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.56) 45%, rgba(0, 0, 0, 0.28) 100%),
    linear-gradient(180deg, rgba(212, 175, 55, 0.05), rgba(0, 0, 0, 0.05)),
    url(img/top_info.jpg) no-repeat 50% 50%;
  background-size: cover;
}

#top_info h2,
#top_info .btn_search {
  position: static;
}

#top_info h2 {
  max-width: 12em;
  color: #fff7df;
  font-size: clamp(32px, 5vw, 58px);
  line-height: 1.25;
  letter-spacing: 0.08em;
  text-shadow: 0 4px 18px rgba(0, 0, 0, 0.5);
}

#top_info .btn_search a {
  width: auto;
  min-width: 280px;
  height: auto;
  text-indent: 0;
  overflow: visible;
  color: #111;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  padding: 18px 34px;
  border: 1px solid rgba(255, 244, 214, 0.65);
  border-radius: 999px;
  background: linear-gradient(135deg, #f5ddb0 0%, #d4af37 45%, #b8860b 100%);
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.28);
}

#top_info .btn_search a:hover,
#top_info .btn_search a:focus-visible {
  transform: translateY(-2px);
  color: #111;
  background: linear-gradient(135deg, #fff1c8 0%, #e0bc55 50%, #c19019 100%);
}

/* -------------------------
   Main layout
-------------------------- */
#contents {
  max-width: 1280px;
  padding: 0 24px 40px;
  margin: 26px auto 0;
}

.index #contents {
  margin-top: 26px;
}

#main {
  width: 74%;
}

#sub {
  width: 22%;
}

/* -------------------------
   Shared surface style
-------------------------- */
.load_new,
.load_reco,
.load_job_ranking,
.load_owner_ranking,
.top_job_type section,
.top_area,
.top_employ,
.s_navi li,
.top_news,
.l_navi,
#ld_news {
  border: 1px solid rgba(212, 175, 55, 0.18);
  border-radius: 24px;
  background: linear-gradient(180deg, #161616 0%, #0f0f0f 100%);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.24);
}

.load_new,
.load_reco,
.load_job_ranking,
.load_owner_ranking {
  margin-bottom: 26px;
  padding: 0;
  overflow: hidden;
}

.load_new h2,
.load_reco h2,
.load_job_ranking h2,
.load_owner_ranking h2,
.top_job_type section h2,
.top_area h2,
.top_employ h2,
.top_news h2 {
  color: #fff7df;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.05em;
  padding: 18px 22px;
  border-bottom: 1px solid rgba(212, 175, 55, 0.16);
  background:
    linear-gradient(90deg, rgba(212, 175, 55, 0.16), rgba(212, 175, 55, 0.02)),
    linear-gradient(180deg, #191919 0%, #111111 100%);
}

.load_new h2 span,
.load_reco h2 span,
.load_job_ranking h2 span,
.load_owner_ranking h2 span,
.top_job_type section h2 span,
.top_area h2 span,
.top_employ h2 span {
  color: #d7be82;
  font-size: 12px;
  letter-spacing: 0.08em;
  margin-left: 8px;
}

.box,
.index .top_job_type section .box,
.top_area .box,
.top_employ .box {
  padding: 22px;
  background: transparent;
}

/* -------------------------
   Listing cards
-------------------------- */
.load_new ul,
.load_reco ul,
.load_job_ranking ul,
.load_owner_ranking ul {
  margin: 0;
  padding: 20px;
  background: transparent;
}

.load_new li,
.load_reco li,
.load_job_ranking li,
.load_owner_ranking li {
  width: calc(25% - 12px);
  margin: 6px;
  padding: 14px;
  border: 1px solid rgba(212, 175, 55, 0.14);
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.015));
  box-sizing: border-box;
}

.load_new li:hover,
.load_reco li:hover,
.load_job_ranking li:hover,
.load_owner_ranking li:hover {
  border-color: rgba(212, 175, 55, 0.34);
  box-shadow: 0 18px 32px rgba(0, 0, 0, 0.28);
  transform: translateY(-2px);
}

.load_new li h3,
.load_reco li h3,
.load_job_ranking li h3,
.load_owner_ranking li h3 {
  color: #fff3d1;
  font-size: 14px;
  line-height: 1.55;
  margin: 14px 0 10px;
  white-space: nowrap;
}

.load_new li p,
.load_reco li p,
.load_job_ranking li p,
.load_owner_ranking li p {
  color: #cabd9d;
  font-size: 12px;
  line-height: 1.7;
}

.load_new li .salary,
.load_reco li .salary,
.load_job_ranking li .salary,
.load_owner_ranking li .salary {
  color: #f0d78d;
  font-weight: 700;
  padding-left: 24px;
  background-position: 0 2px;
}

.post_img {
  border-radius: 16px;
  overflow: hidden;
  background: #1b1b1b;
}

/* -------------------------
   Category / Job type blocks
-------------------------- */
.top_job_type {
  margin-top: 26px;
}

.top_job_type section {
  width: 48.8%;
}

.top_job_type ul {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.top_job_type li {
  margin: 0;
  padding: 0;
  border-bottom: none;
  background: transparent;
}

.top_job_type li h3 {
  min-height: 0;
  margin: 0;
  padding: 0;
  background: none;
}

.top_job_type li h3 a {
  display: block;
  padding: 16px 18px;
  border: 1px solid rgba(212, 175, 55, 0.12);
  border-radius: 16px 16px 0 0;
  background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
  color: #fff1ca;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
}

.top_job_type li p {
  width: auto;
  margin: 0;
  padding: 0 18px 16px;
  border: 1px solid rgba(212, 175, 55, 0.12);
  border-top: none;
  border-radius: 0 0 16px 16px;
  background: rgba(255, 255, 255, 0.02);
  color: #bcae8b;
  font-size: 12px;
  line-height: 1.75;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}

.top_job_type li a:hover {
  text-decoration: none;
}

.top_job_type li h3 a:hover,
.top_job_type li h3 a:focus-visible {
  color: #111;
  background: linear-gradient(135deg, #f4ddb2 0%, #d4af37 48%, #b8860b 100%);
  border-color: #d4af37;
}

/* -------------------------
   Area / prefecture block
-------------------------- */
.top_area {
  margin-top: 26px;
}

.top_area .box {
  display: flex;
  gap: 24px;
  align-items: flex-start;
}

.top_area .map {
  width: 36%;
  float: none;
}

.top_area .map img {
  width: 100%;
  border-radius: 22px;
  border: 1px solid rgba(212, 175, 55, 0.18);
  background: radial-gradient(circle, rgba(212,175,55,0.06), rgba(255,255,255,0.02));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.03);
}

.prefectures {
  width: 64%;
  float: none;
}

.prefectures ul {
  margin: 0 0 12px;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 10px;
}

.prefectures li {
  width: auto;
  font-size: 13px;
  text-align: center;
  border-right: none;
  float: none;
}

.prefectures li a {
  color: #f4e5bc;
  padding: 12px 8px;
  display: block;
  border: 1px solid rgba(212, 175, 55, 0.14);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.015));
}

.prefectures li a:hover,
.prefectures li a:focus-visible {
  color: #111;
  background: linear-gradient(135deg, #f5ddb0 0%, #d4af37 48%, #bb8d1c 100%);
  border-color: #d4af37;
}

/* -------------------------
   Feature buttons
-------------------------- */
.top_employ {
  margin-top: 26px;
}

.top_employ ul {
  margin: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.top_employ li {
  width: auto;
  margin: 0;
  float: none;
  border-radius: 18px;
  background: transparent;
}

.top_employ li a {
  min-height: 100%;
  color: #fff4d6;
  padding: 18px 18px 18px 68px;
  border-radius: 18px;
  border: 1px solid rgba(212, 175, 55, 0.14);
  background-color: rgba(255, 255, 255, 0.03);
}

.top_employ li a span {
  color: #cdb274;
  margin-top: 6px;
}

.top_employ li a:hover,
.top_employ li a:focus-visible {
  color: #111;
  border-color: #d4af37;
  background-color: #d4af37;
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.22);
}

.top_employ li a:hover span,
.top_employ li a:focus-visible span {
  color: #3d2c00;
}

/* -------------------------
   Side navigation
-------------------------- */
.s_navi {
  margin-top: 4px;
}

.s_navi li {
  margin-bottom: 14px;
  border-radius: 18px;
}

.s_navi li:hover {
  border-color: rgba(212, 175, 55, 0.28);
}

.s_navi li a {
  color: #f7e8c0;
  padding: 20px 18px 20px 72px;
  border-radius: 18px;
  line-height: 1.5;
}

.s_navi li a:hover,
.s_navi li a:focus-visible {
  color: #111;
  background-color: #d4af37;
}

/* -------------------------
   Footer
-------------------------- */
footer {
  margin-top: 24px;
  padding-top: 24px;
  background:
    linear-gradient(180deg, #111111 0%, #080808 100%);
  border-top: 1px solid rgba(212, 175, 55, 0.2);
}

.f_content {
  max-width: 1280px;
  padding: 28px 24px;
  margin: 0 auto 14px;
  border: 1px solid rgba(212, 175, 55, 0.16);
  border-radius: 28px;
  background: linear-gradient(180deg, #171717 0%, #101010 100%);
}

.f_contact {
  width: 32%;
  margin-right: 3%;
}

.f_contact .logo {
  border-radius: 18px;
  background-color: rgba(255, 255, 255, 0.96);
  box-shadow: 0 14px 26px rgba(0, 0, 0, 0.22);
}

.f_contact .open,
.f_contact .add,
.f_navi li,
.f_navi li a {
  color: #c8ba97;
}

.f_contact .open span {
  color: #111;
  background: linear-gradient(135deg, #f4ddb2 0%, #d4af37 45%, #b8860b 100%);
  border-radius: 999px;
  padding: 8px 12px;
  margin-bottom: 10px;
}

.f_contact .tel,
.f_contact .tel a {
  color: #f1d98d;
}

.f_navi {
  width: 63%;
}

.f_navi li.title {
  color: #fff0c8;
  padding-left: 0;
  background: none;
  border-bottom: 1px solid rgba(212, 175, 55, 0.16);
}

.f_navi li a:hover,
.f_navi li a:focus-visible {
  color: #fff0c8;
  text-decoration: none;
}

.copyright {
  color: #bda97b;
  padding: 12px 0 16px;
  background: transparent;
}

.copyright a {
  color: #f1d98d;
}

/* -------------------------
   Page top
-------------------------- */
#page_top {
  right: 18px;
  bottom: 18px;
}

#page_top a {
  min-width: 120px;
  padding: 13px 16px;
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 999px;
  background: rgba(10, 10, 10, 0.9);
  color: #f5e7bf;
  text-shadow: none;
  backdrop-filter: blur(10px);
}

#page_top a:hover,
#page_top a:focus-visible {
  color: #111;
  background: #d4af37;
}

/* -------------------------
   Mobile / tablet
-------------------------- */
@media all and (max-width: 1100px) {
  .h_content,
  #contents,
  .f_content,
  #top_info,
  #g_navi ul {
    max-width: 100%;
  }

  #top_info {
    padding: 72px 44px;
    min-height: 400px;
  }

  #main {
    width: 72%;
  }

  #sub {
    width: 24%;
  }

  .prefectures ul {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

@media all and (max-width: 830px) {
  .h_content {
    padding: 18px 18px 14px;
  }

  #logo {
    width: 260px;
    max-width: 100%;
    float: none;
    margin: 0 auto 16px;
  }

  .h_navi {
    position: static;
    width: 100%;
    text-align: center;
  }

  #g_navi li {
    width: 50%;
    border-top: 1px solid rgba(212, 175, 55, 0.18);
  }

  #main,
  #sub,
  .f_contact,
  .f_navi {
    width: 100%;
    float: none;
  }

  #top_info {
    min-height: 360px;
    padding: 56px 30px;
    border-radius: 24px;
  }

  #top_info h2 {
    max-width: 100%;
  }

  .load_new li,
  .load_reco li,
  .load_job_ranking li,
  .load_owner_ranking li {
    width: calc(50% - 12px);
  }

  .top_job_type section {
    width: 100%;
  }

  .top_business,
  .top_category {
    float: none;
  }

  .top_business {
    margin-bottom: 18px;
  }

  .top_area .box {
    display: block;
  }

  .top_area .map,
  .prefectures {
    width: 100%;
  }

  .top_area .map {
    margin-bottom: 20px;
  }

  .prefectures ul {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .s_navi ul {
    margin: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
  }

  .s_navi li {
    width: auto;
    margin: 0;
    float: none;
  }

  .top_employ ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .f_content {
    padding: 24px 18px;
  }

  .f_contact {
    margin-right: 0;
    margin-bottom: 20px;
  }
}

@media all and (max-width: 568px) {
  body {
    padding-bottom: 0;
  }

  h1 {
    font-size: 11px;
    text-align: center;
  }

  .h_navi p {
    display: block;
    margin: 0 0 8px 0;
  }

  .h_navi p:last-child {
    margin-bottom: 0;
  }

  .h_navi p a {
    display: block;
    text-align: center;
    padding-left: 0;
    background-image: none !important;
  }

  #g_navi li a {
    padding: 16px 10px;
    font-size: 13px;
  }

  #top_info {
    margin-top: 18px;
    min-height: 320px;
    padding: 42px 20px;
    gap: 18px;
    border-radius: 20px;
  }

  #top_info h2 {
    font-size: 30px;
    line-height: 1.35;
  }

  #top_info .btn_search a {
    min-width: 100%;
    width: 100%;
    padding: 16px 22px;
    box-sizing: border-box;
  }

  #contents {
    padding: 0 14px 30px;
    margin-top: 18px;
  }

  .load_new h2,
  .load_reco h2,
  .load_job_ranking h2,
  .load_owner_ranking h2,
  .top_job_type section h2,
  .top_area h2,
  .top_employ h2,
  .top_news h2 {
    font-size: 16px;
    padding: 16px 18px;
  }

  .load_new ul,
  .load_reco ul,
  .load_job_ranking ul,
  .load_owner_ranking ul,
  .box,
  .index .top_job_type section .box,
  .top_area .box,
  .top_employ .box {
    padding: 16px;
  }

  .load_new li,
  .load_reco li,
  .load_job_ranking li,
  .load_owner_ranking li {
    width: 100%;
    margin: 0 0 14px 0;
  }

  .load_new li:last-child,
  .load_reco li:last-child,
  .load_job_ranking li:last-child,
  .load_owner_ranking li:last-child {
    margin-bottom: 0;
  }

  .top_job_type ul {
    gap: 10px;
  }

  .top_job_type li h3 a,
  .top_job_type li p {
    padding-left: 14px;
    padding-right: 14px;
  }

  .top_area .map {
    display: none;
  }

  .prefectures ul {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  .prefectures li {
    font-size: 12px;
  }

  .prefectures li a {
    padding: 11px 6px;
  }

  .top_employ ul,
  .s_navi ul {
    grid-template-columns: 1fr;
  }

  .top_employ li a,
  .s_navi li a {
    padding-top: 16px;
    padding-bottom: 16px;
  }

  .s_navi li a {
    padding-left: 66px;
  }

  .f_content {
    padding: 20px 14px;
    border-radius: 20px;
  }

  .f_contact .logo {
    width: 100%;
    max-width: 274px;
    margin: 0 auto 14px;
  }

  .f_contact .tel {
    font-size: 28px;
  }

  #page_top {
    right: 12px;
    bottom: 12px;
    width: auto;
  }

  #page_top a {
    min-width: 0;
    font-size: 12px;
    padding: 10px 14px;
    border-radius: 999px;
  }
}

@media all and (max-width: 375px) {
  #g_navi li {
    width: 100%;
  }

  #top_info h2 {
    font-size: 26px;
  }

  .prefectures ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* =========================================================
   検索ページ専用：黒 × 金 プレミアムUI
   貼り付け場所：style.css の一番下
   対象URL：/jobs/data.php?c=search
   ========================================================= */

/* 検索全体 */
.search{
  margin: 0 0 28px;
  border: 1px solid rgba(212, 175, 55, 0.20);
  border-radius: 28px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(20,20,20,0.98) 0%, rgba(10,10,10,0.98) 100%);
  box-shadow: 0 24px 56px rgba(0,0,0,0.34);
}

/* 見出し */
.search h2{
  color: #fff4d6;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.08em;
  margin: 0;
  padding: 22px 24px 22px 58px;
  border-bottom: 1px solid rgba(212, 175, 55, 0.16);
  background:
    linear-gradient(90deg, rgba(212,175,55,0.18), rgba(212,175,55,0.03)),
    linear-gradient(180deg, #1b1b1b 0%, #111111 100%);
  background-size: auto, auto;
  position: relative;
}

.search h2::before{
  content: "";
  position: absolute;
  left: 22px;
  top: 50%;
  width: 22px;
  height: 22px;
  transform: translateY(-50%);
  border: 2px solid #d4af37;
  border-radius: 50%;
  box-sizing: border-box;
  box-shadow: inset 0 0 0 4px rgba(212,175,55,0.12);
}

.search h2::after{
  content: "";
  position: absolute;
  left: 40px;
  top: calc(50% + 8px);
  width: 10px;
  height: 2px;
  background: #d4af37;
  transform: rotate(45deg);
  border-radius: 2px;
}

/* 内側 */
.search .box{
  padding: 22px;
  background:
    linear-gradient(180deg, #141414 0%, #0d0d0d 100%);
}

/* テーブル */
.search table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid rgba(212, 175, 55, 0.14);
  border-radius: 22px;
  overflow: hidden;
  background: #101010;
}

.search table th,
.search table td{
  font-size: 14px;
  line-height: 1.75;
  padding: 18px 20px;
  border-bottom: 1px solid rgba(212, 175, 55, 0.10);
  vertical-align: top;
}

.search table tr:last-child th,
.search table tr:last-child td{
  border-bottom: none;
}

.search table th{
  width: 24%;
  min-width: 140px;
  color: #f4e3b2;
  font-weight: 700;
  letter-spacing: 0.06em;
  border-right: 1px solid rgba(212, 175, 55, 0.10);
  background:
    linear-gradient(180deg, rgba(212,175,55,0.10) 0%, rgba(212,175,55,0.04) 100%);
}

.search table td{
  color: #d9ccb0;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.02) 0%, rgba(255,255,255,0.01) 100%);
}

/* hidden は触らない */
.search input[type="hidden"]{
  display: none;
}

/* select / text 共通 */
.search select,
.search input[type="text"]{
  width: 100%;
  max-width: 100%;
  height: 52px;
  color: #f8ebc7;
  font-size: 15px;
  line-height: 1.4;
  padding: 0 16px;
  border: 1px solid rgba(212, 175, 55, 0.22);
  border-radius: 14px;
  background-color: #111111;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.02),
    0 8px 18px rgba(0,0,0,0.18);
  box-sizing: border-box;
  transition: border-color 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease;
}

.search select:focus,
.search input[type="text"]:focus{
  outline: none;
  border-color: #d4af37;
  background-color: #0d0d0d;
  box-shadow:
    0 0 0 4px rgba(212,175,55,0.14),
    0 10px 22px rgba(0,0,0,0.22);
}

/* select の見た目調整 */
.search select{
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-right: 52px;
  background-image:
    linear-gradient(45deg, transparent 50%, #d4af37 50%),
    linear-gradient(135deg, #d4af37 50%, transparent 50%),
    linear-gradient(180deg, #111111 0%, #111111 100%);
  background-position:
    calc(100% - 22px) calc(50% - 3px),
    calc(100% - 16px) calc(50% - 3px),
    0 0;
  background-size:
    6px 6px,
    6px 6px,
    100% 100%;
  background-repeat: no-repeat;
}

/* キーワード入力 */
.search input[type="text"]{
  min-width: 0;
}

/* チェック群 */
.search td.row2,
.search td.row4{
  overflow: hidden;
}

.search td label{
  color: #eadcb6;
  margin: 0 0 12px;
  box-sizing: border-box;
}

/* 2列 */
.search td.row2 label{
  width: 50%;
  float: left;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid rgba(212, 175, 55, 0.12);
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.035), rgba(255,255,255,0.015));
}

/* 4列 */
.search td.row4 label{
  width: 25%;
  float: left;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid rgba(212, 175, 55, 0.12);
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.035), rgba(255,255,255,0.015));
}

.search td.row2 label:hover,
.search td.row4 label:hover{
  border-color: rgba(212, 175, 55, 0.30);
  background:
    linear-gradient(180deg, rgba(212,175,55,0.10), rgba(255,255,255,0.03));
}

/* チェックボックス */
.search td input[type="checkbox"]{
  width: 18px;
  height: 18px;
  margin: 2px 0 0;
  padding: 0;
  position: static;
  flex: 0 0 18px;
  accent-color: #d4af37;
  cursor: pointer;
}

.search td input[type="checkbox"]:focus{
  outline: none;
  box-shadow: 0 0 0 3px rgba(212,175,55,0.16);
  border-radius: 4px;
}

/* 送信ボタンエリア */
.search .sbmt{
  margin: 24px 0 0;
  text-align: center;
}

/* 検索ボタン */
.search .sbmt input[type="submit"]{
  display: inline-block;
  width: auto;
  min-width: 260px;
  height: auto;
  color: #111111;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-align: center;
  padding: 17px 34px;
  border: 1px solid rgba(255, 244, 214, 0.62);
  border-radius: 999px;
  cursor: pointer;
  background:
    linear-gradient(135deg, #f6e2b6 0%, #d4af37 48%, #b8860b 100%);
  box-shadow:
    0 16px 34px rgba(0,0,0,0.26),
    inset 0 1px 0 rgba(255,255,255,0.35);
  transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease;
}

.search .sbmt input[type="submit"]:hover{
  transform: translateY(-2px);
  filter: brightness(1.04);
  box-shadow:
    0 20px 40px rgba(0,0,0,0.30),
    inset 0 1px 0 rgba(255,255,255,0.42);
}

.search .sbmt input[type="submit"]:focus{
  outline: none;
  box-shadow:
    0 0 0 4px rgba(212,175,55,0.16),
    0 20px 40px rgba(0,0,0,0.30);
}

/* 結果メッセージも馴染ませる */
.page_navi p strong{
  color: #f1d98d;
}

/* ===== タブレット ===== */
@media all and (max-width: 830px){
  .search h2{
    font-size: 20px;
    padding: 20px 20px 20px 54px;
  }

  .search .box{
    padding: 18px;
  }

  .search table th,
  .search table td{
    padding: 16px 16px;
  }

  .search table th{
    width: 28%;
  }

  .search td.row2 label{
    width: 50%;
  }

  .search td.row4 label{
    width: 50%;
  }
}

/* ===== スマホ ===== */
@media all and (max-width: 568px){
  .search{
    border-radius: 20px;
  }

  .search h2{
    font-size: 18px;
    line-height: 1.45;
    padding: 18px 16px 18px 50px;
  }

  .search h2::before{
    left: 18px;
    width: 20px;
    height: 20px;
  }

  .search h2::after{
    left: 34px;
  }

  .search .box{
    padding: 14px;
  }

  .search table{
    display: block;
    border: none;
    background: transparent;
  }

  .search tbody{
    display: block;
  }

  .search tbody tr{
    display: block;
    margin-bottom: 14px;
    border: 1px solid rgba(212, 175, 55, 0.12);
    border-radius: 16px;
    overflow: hidden;
    background:
      linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.015));
  }

  .search tbody tr:last-child{
    margin-bottom: 0;
  }

  .search tbody th,
  .search tbody td{
    display: block;
    width: auto;
    border: none;
    list-style: none;
  }

  .search tbody th{
    min-width: 0;
    font-size: 13px;
    padding: 12px 14px;
    color: #fff2ca;
    background:
      linear-gradient(90deg, rgba(212,175,55,0.18), rgba(212,175,55,0.04)),
      linear-gradient(180deg, #1b1b1b 0%, #131313 100%);
  }

  .search tbody td{
    padding: 14px;
    background: transparent;
  }

  .search select,
  .search input[type="text"]{
    height: 48px;
    font-size: 14px;
  }

  .search td.row2 label,
  .search td.row4 label{
    width: 100%;
    float: none;
    margin-bottom: 10px;
    padding: 11px 12px;
  }

  .search .sbmt{
    margin-top: 18px;
  }

  .search .sbmt input[type="submit"]{
    width: 100%;
    min-width: 0;
    padding: 16px 20px;
    font-size: 15px;
  }
}

/* ===== 極小スマホ ===== */
@media all and (max-width: 375px){
  .search h2{
    font-size: 16px;
    padding-left: 46px;
  }

  .search .box{
    padding: 12px;
  }

  .search tbody th,
  .search tbody td{
    padding-left: 12px;
    padding-right: 12px;
  }

  .search td input[type="checkbox"]{
    width: 17px;
    height: 17px;
    flex-basis: 17px;
  }
}

/* =========================================================
   ロゴ背景を自然に馴染ませる修正
   ヘッダー左上 / フッター共通
   ========================================================= */

/* ヘッダーロゴ */
#logo{
  margin: 0;
}

#logo a{
  display: block;
  width: 274px;
  height: 78px;
  text-indent: -9999px;
  overflow: hidden;
  border-radius: 0;
  background: url(img/hostjoblogo.png) no-repeat left center;
  background-size: contain;
  background-color: transparent !important;
  box-shadow: none !important;
}

/* フッターロゴ */
.f_contact .logo{
  display: block;
  width: 274px;
  height: 78px;
  margin: 0 0 18px;
  text-indent: -9999px;
  overflow: hidden;
  border-radius: 0;
  background: url(img/hostjoblogo.png) no-repeat left center;
  background-size: contain;
  background-color: transparent !important;
  box-shadow: none !important;
}

/* ロゴ周辺も暗背景に自然になじませる */
header{
  background:
    linear-gradient(180deg, rgba(18,18,18,0.98) 0%, rgba(8,8,8,0.98) 100%);
}

.f_content{
  background:
    linear-gradient(180deg, #171717 0%, #101010 100%);
}

/* スマホ */
@media all and (max-width: 830px){
  #logo{
    width: 260px;
    margin: 0 auto 14px;
  }

  #logo a{
    width: 260px;
    height: 74px;
    margin: 0 auto;
    background-position: center center;
  }

  .f_contact .logo{
    width: 260px;
    height: 74px;
    margin: 0 auto 16px;
    background-position: center center;
  }
}

@media all and (max-width: 568px){
  #logo{
    width: 220px;
  }

  #logo a{
    width: 220px;
    height: 62px;
  }

  .f_contact .logo{
    width: 220px;
    height: 62px;
  }
}

/* =========================================================
   ロゴ復旧 + 背景なじませ修正
   原因：img/hostjoblogo.png が存在せず、img/logo.png は存在
   対応：参照先を img/logo.png に統一
   ========================================================= */

/* ヘッダーロゴ */
#logo{
  width: 274px;
  margin: 0;
  float: left;
}

#logo a{
  display: block;
  width: 274px;
  height: 70px;
  text-indent: -9999px;
  overflow: hidden;
  border-radius: 0 !important;
  background: url(img/logo.png) no-repeat left center !important;
  background-size: contain !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

/* フッターロゴ */
.f_contact .logo{
  display: block;
  width: 274px;
  height: 70px;
  margin: 0 auto 18px auto;
  text-indent: -9999px;
  overflow: hidden;
  border-radius: 0 !important;
  background: url(img/logo.png) no-repeat center center !important;
  background-size: contain !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

/* ロゴ周辺とのなじみ */
header{
  background: linear-gradient(180deg, rgba(18,18,18,0.98) 0%, rgba(8,8,8,0.98) 100%);
}

.f_content{
  background: linear-gradient(180deg, #171717 0%, #101010 100%);
}

/* スマホ・タブレット */
@media all and (max-width:1150px){
  #logo{
    width: 30%;
    max-height: 70px;
    margin: 0;
  }

  #logo a{
    width: 100%;
    height: 70px;
    background-size: contain !important;
  }
}

@media all and (max-width:830px){
  #logo{
    width: 260px;
    max-width: 100%;
    float: none;
    margin: 0 auto 14px;
  }

  #logo a{
    width: 260px;
    height: 66px;
    margin: 0 auto;
    background-position: center center !important;
  }

  .f_contact .logo{
    width: 260px;
    height: 66px;
    margin: 0 auto 16px auto;
    background-position: center center !important;
  }
}

@media all and (max-width:568px){
  #logo{
    width: 220px;
    margin: 0 auto 12px;
    float: none;
  }

  #logo a{
    width: 220px;
    height: 56px;
  }

  .f_contact .logo{
    width: 220px;
    height: 56px;
  }
}

/* =========================================================
   下層ページ共通：白背景を黒×金に統一
   対象：client / company / faq を中心に、about / policy / news / sitemap
   目的：レイアウトは壊さず、色・境界線・見出し・表を安全に上書き
   ========================================================= */

/* ---------------------------------
   下層ページの大枠
---------------------------------- */
.client,
.company,
.faq,
.about,
.policy,
.news,
.sitemap,
.entry,
.info,
.access,
.com_info,
.item,
.photo,
.form table,
.check_form table,
table.common,
table.detail{
  border: 1px solid rgba(212, 175, 55, 0.18) !important;
  background: linear-gradient(180deg, #161616 0%, #0f0f0f 100%) !important;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.24);
}

/* 既存の白 box を透明化 */
.client .box,
.company .box,
.faq .box,
.about .box,
.policy .box,
.news .box,
.sitemap .box,
.entry .box,
.info .box,
.access .box,
.com_info .box,
.item .box,
.photo .box{
  background: transparent !important;
}

/* ---------------------------------
   下層ページの h2 / h3 / h4
---------------------------------- */
.client h2,
.company h2,
.faq h2,
.about h2,
.policy h2,
.news h2,
.sitemap h2,
.entry h2,
.info h3,
.access h3,
.com_info h2,
.com_info h3{
  color: #fff4d6 !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em;
  padding: 18px 22px !important;
  border-bottom: 1px solid rgba(212, 175, 55, 0.16) !important;
  background:
    linear-gradient(90deg, rgba(212, 175, 55, 0.16), rgba(212, 175, 55, 0.03)),
    linear-gradient(180deg, #191919 0%, #111111 100%) !important;
}

.client h3,
.about h3,
.info h4{
  color: #fff0c8 !important;
  font-weight: 700 !important;
  padding: 14px 18px !important;
  border-left: 4px solid #d4af37;
  background: linear-gradient(180deg, #1c1c1c 0%, #141414 100%) !important;
}

.sitemap h3{
  color: #fff0c8 !important;
  font-weight: 700 !important;
  padding: 0 0 0 14px !important;
  border-left: 4px solid #d4af37 !important;
}

/* ---------------------------------
   本文テキスト
---------------------------------- */
.client,
.company,
.faq,
.about,
.policy,
.news,
.sitemap,
.entry,
.info,
.access,
.com_info,
.item,
.photo,
.form,
.check_form{
  color: #d8ccb0;
}

.client p,
.company p,
.faq p,
.about p,
.policy p,
.news p,
.sitemap p,
.entry p,
.info p,
.access p,
.com_info p,
.item p,
.photo p,
.client li,
.company li,
.faq li,
.about li,
.policy li,
.news li,
.sitemap li{
  color: #d8ccb0;
  line-height: 1.8;
}

/* ---------------------------------
   テーブル全般
---------------------------------- */
table.common,
table.detail,
.form table,
.check_form table,
.search table{
  background: #101010 !important;
}

table.common th,
table.detail th,
.form table th,
.check_form table th{
  color: #f4e3b2 !important;
  background:
    linear-gradient(180deg, rgba(212,175,55,0.10) 0%, rgba(212,175,55,0.04) 100%) !important;
  border-color: rgba(212, 175, 55, 0.14) !important;
}

table.common td,
table.detail td,
.form table td,
.check_form table td{
  color: #dbcfae !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.02) 0%, rgba(255,255,255,0.01) 100%) !important;
  border-color: rgba(212, 175, 55, 0.12) !important;
}

table.common tr:nth-of-type(odd),
table.detail tr:nth-of-type(odd),
.form table tr:nth-of-type(odd),
.check_form table tr:nth-of-type(odd){
  background: transparent !important;
}

/* ---------------------------------
   会社概要ページのリンク
---------------------------------- */
.company td a,
.company a{
  color: #f1d98d !important;
}

.company td a:hover,
.company a:hover{
  color: #fff0c8 !important;
}

/* ---------------------------------
   FAQ
---------------------------------- */
.faq li{
  padding: 16px 16px 18px !important;
  margin: 0 0 12px 0 !important;
  border: 1px solid rgba(212, 175, 55, 0.10) !important;
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.015)) !important;
}

.faq li h3{
  color: #f1d98d !important;
  font-weight: 700;
  background-size: 20px 20px !important;
}

.faq li h3:hover{
  color: #fff4d6 !important;
  text-decoration: none !important;
}

.faq li p{
  color: #d7caab !important;
  margin: 10px 0 0 0 !important;
}

/* ---------------------------------
   client の flow
---------------------------------- */
.flow li h4{
  color: #fff1ca !important;
  border-top: 1px solid rgba(212, 175, 55, 0.42) !important;
  border-bottom: 1px solid rgba(212, 175, 55, 0.42) !important;
}

.flow li p{
  color: #d8ccb0 !important;
}

/* ---------------------------------
   sitemap
---------------------------------- */
.sitemap li{
  border: 1px solid rgba(212, 175, 55, 0.14) !important;
  background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.015)) !important;
}

.sitemap li a{
  color: #f0dfb0 !important;
}

.sitemap li a:hover{
  background-color: rgba(212, 175, 55, 0.08) !important;
}

/* ---------------------------------
   news
---------------------------------- */
.news dl.news_list dd a,
#sub dl.news_list dd a{
  color: #e7d39a !important;
}

.news dl.news_list dd a:hover,
#sub dl.news_list dd a:hover{
  color: #fff0c8 !important;
}

dl.news_list dt{
  color: #d4af37 !important;
}

dl.news_list dd{
  border-bottom: 1px dotted rgba(212, 175, 55, 0.22) !important;
}

/* ---------------------------------
   entry / item / detail 周辺
---------------------------------- */
.item .title{
  color: #fff4d6 !important;
  background:
    linear-gradient(90deg, rgba(212,175,55,0.18), rgba(212,175,55,0.03)),
    linear-gradient(180deg, #191919 0%, #111111 100%) !important;
}

.item .title a{
  color: #fff4d6 !important;
}

.catch{
  color: #f1d98d !important;
  border-bottom: 1px dotted rgba(212, 175, 55, 0.22) !important;
}

.type li{
  border-color: rgba(212, 175, 55, 0.30) !important;
}

.type .emp{
  color: #111 !important;
  background: linear-gradient(135deg, #f6e2b6 0%, #d4af37 48%, #b8860b 100%) !important;
}

.type .bus,
.type .cate{
  color: #f1d98d !important;
  background: #131313 !important;
}

/* ---------------------------------
   ボタン類
---------------------------------- */
p.btn_bookmark a,
p.btn_info a,
p.btn_entry a,
.sbmt input[type="submit"],
.sbmt input[type="button"],
a.link_delete{
  border-color: rgba(255, 244, 214, 0.55) !important;
  color: #111 !important;
  background:
    linear-gradient(135deg, #f6e2b6 0%, #d4af37 48%, #b8860b 100%) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,0.22);
  text-shadow: none !important;
}

p.btn_bookmark a:hover,
p.btn_info a:hover,
p.btn_entry a:hover,
.sbmt input[type="submit"]:hover,
.sbmt input[type="button"]:hover,
a.link_delete:hover{
  color: #111 !important;
  filter: brightness(1.04);
}

/* remove 系は少し抑える */
.link_entry,
.link_bookmark,
.link_remove{
  border: 1px solid rgba(212, 175, 55, 0.14) !important;
  background: linear-gradient(180deg, #161616 0%, #0f0f0f 100%) !important;
}

.link_remove a{
  color: #f1d98d !important;
}

/* ---------------------------------
   topicpath / page navi
---------------------------------- */
#topicpath{
  background: transparent;
}

#topicpath li span,
#topicpath li,
#topicpath li a{
  color: #c8ba97 !important;
}

.page_navi p,
.page_navi li,
.page_navi li a{
  color: #d8ccb0 !important;
}

.page_navi li span{
  color: #111 !important;
  border-color: #d4af37 !important;
  background: #d4af37 !important;
}

.page_navi li a{
  border-color: rgba(212, 175, 55, 0.24) !important;
  background: #111 !important;
}

.page_navi li a:hover,
.page_navi li a:active{
  color: #111 !important;
  background: #d4af37 !important;
  border-color: #d4af37 !important;
}

/* ---------------------------------
   フォーム系入力欄
---------------------------------- */
.form input[type="text"],
.form input[type="email"],
.form input[type="tel"],
.form input[type="password"],
.form textarea,
.form select{
  color: #f8ebc7;
  border: 1px solid rgba(212, 175, 55, 0.22);
  background: #111111;
  box-sizing: border-box;
}

.form textarea{
  color: #f8ebc7;
  background: #111111;
}

.form input[type="text"]:focus,
.form input[type="email"]:focus,
.form input[type="tel"]:focus,
.form input[type="password"]:focus,
.form textarea:focus,
.form select:focus{
  outline: none;
  border-color: #d4af37;
  box-shadow: 0 0 0 4px rgba(212,175,55,0.14);
}

/* ---------------------------------
   モバイル：白帯防止の最低限調整
---------------------------------- */
@media all and (max-width:568px){
  .client h2,
  .company h2,
  .faq h2,
  .about h2,
  .policy h2,
  .news h2,
  .sitemap h2,
  .entry h2,
  .info h3,
  .access h3,
  .com_info h2,
  .com_info h3{
    padding: 16px 16px !important;
    font-size: 16px !important;
  }

  .client h3,
  .about h3,
  .info h4{
    padding: 12px 14px !important;
    font-size: 14px !important;
  }

  .faq li{
    padding: 14px !important;
  }

  table.common tbody th,
  table.detail tbody th,
  .form table tbody th,
  .check_form table tbody th{
    color: #fff2ca !important;
    background:
      linear-gradient(90deg, rgba(212,175,55,0.18), rgba(212,175,55,0.04)),
      linear-gradient(180deg, #1b1b1b 0%, #131313 100%) !important;
  }

  table.common tbody td,
  table.detail tbody td,
  .form table tbody td,
  .check_form table tbody td{
    color: #d8ccb0 !important;
    background: transparent !important;
  }
}
