
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, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {border: 0;font-family: inherit;font-size: 100%;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
:focus {outline: 0;}

ol, ul {list-style: none;}
table {border-collapse: separate;border-spacing: 0;}
caption, th, td {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
a img {border: 0;}
article, aside, details, figcaption, figure, footer, header,  menu, nav, section {display: block;}

* {
  box-sizing: border-box;
}

html{ font-size: 62.5% ;} /*初期値16pxの62.5%でルートが10px*/
body{
	line-height: 1.6;
	font-size:90%;
	/*font-family: 'Noto Sans JP', sans-serif;*/
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color:#000;
 -webkit-text-size-adjust: 100%;
	display: flex;
    flex-flow: column;
    min-height: 100vh; 
	font-weight: 300;
	min-width : 1024px;
}


/*全てをクリア*/
.clear {clear: both;} 

/* new clearfix */
.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
	}
* html .clearfix             { zoom: 1; } /* IE6 */
*:first-child+html .clearfix { zoom: 1; } /* IE7 */


/* リンク設定
------------------------------------------------------------*/
a,a:visited{
margin:0;
padding:0;
text-decoration:none;
outline:0;
vertical-align:baseline;
background:transparent;
 color:#009DCD; transition: all 0.5s ease 0s;
  cursor: pointer;}

a:hover, a:active{transition: all 0.5s ease 0s;
outline: none;
color:#CCC; text-decoration: none;}

 a:hover img{opacity:.7; }

/**** Clearfix ****/

/* レイアウト
------------------------------------------------------------*/
.inner{margin:0 auto;max-width:1125px;  min-width: 1020px}
.inner2{margin:0 auto;max-width:1000px; width:95%;}
.inner3{margin:0 auto;max-width:800px; width:95%;}
/*main{margin: 36px auto; font-size: 14px;font-size: 1.4rem; padding:0 0 0px; width:100%;text-align: center; }*/
main{margin: 0px auto; font-size: 14px;font-size: 1.4rem; padding:0 0 0px; width:100%;text-align: center; }
.googlefont{ font-family: 'M PLUS Rounded 1c', sans-serif;
font-family: 'Lato', sans-serif; }

.alignright{ float:right;}
.center{ text-align:center;}


/*ヘッダー*/
#glovalheader{ padding: 20px 0 ;  border-bottom: 1px solid #009DCD; } 
#glovalheader .inner{position: relative;}
#glovalheader h1{ font-size: 20px; font-size: 2.0rem; font-weight: 400; } 
#glovalheader h1 img{ width:200px; height: auto; display: block;} 
#glovalheader .headbtn{ position: absolute;  font-size: 12px; font-size: 1.2rem; top:50%;  transform: translateY(-50%);}
#glovalheader .logout{ right: 10px; }
#glovalheader .menu{  right: 120px; }
#glovalheader .headbtn img{ width:23px; height: auto; margin-right: 5px;} 
#glovalheader .headbtn img,#glovalheader .headbtn span{ display: inline-block; vertical-align:middle; } 

#glovalheader .addnew{ 
	font-size: 2em;
    right: 140px;
    background-color: #42c9ff;
    border: 2px solid #52b1d7;
    padding: 0.3em 1em;
    color: #fffFFF;
    border-radius: 5px;
    cursor: pointer;}
#glovalheader .addnew:hover{ 
	background:#AA0C0C;border: 2px solid  #AA0C0C;
}

#glovalheader .btn_login{  
	font-size: 2em;
    right: 10px;
    background-color: #ffffff;
    border: 2px solid #000000;
    padding: 0.3em 1em;
    color: #000000;
    border-radius: 5px;
    cursor: pointer;}
#glovalheader .btn_login:hover{ 
	background:#AA0C0C;border: 2px solid  #AA0C0C;color:#ffffff;
}

/*フッター*/
#glovalfooter{ padding: 10px 0 5px; } 
#glovalfooter  dl{  background: #f0f0f0; padding:20px 0px;   text-align: center;  font-size: 14px;} 
#glovalfooter  dl dt,#glovalfooter  dl dd{ display: inline-block; vertical-align: top;  } 
#glovalfooter  dl dt{ text-align: right; padding: 0 0 0 1em; border-left:2px solid; margin: 0 0 0 2em; }
#glovalfooter  dl dd{padding:0 2em 0 1em;text-align: left; } 

#glovalfooter  .address{ background: #009DCD; color: #fff;text-align: center; padding: 0.5em;   font-size: 12px;font-size: 1.2rem; }

/*トップ*/
.home img{  display:block; margin: 20px auto;  max-width:1200px; height: auto; width:100%;}
.home ul.member,.home .topnews{ display:  inline-block; vertical-align: top;}
.home ul.member{ width:300px; margin: 50px 40px 0 0;  }
.home ul.member li{margin: 0px 0 15px;  }
.home ul.member a{border-radius: 2px; display: block; border: 1px solid ; padding: 1.5em;font-size: 18px;font-size: 1.8rem; text-align: center;  position: relative;}
.home ul.member a .fas{ position: absolute; left:2em;font-size: 24px;font-size: 2.4rem;  top: 50%;
    transform: translateY(-50%);}
.home .inner2  h2{ margin: 1em 0 0; font-size:22px ; font-size:2.2rem; text-align: left; font-weight: 600;
  padding: 0.3em 0;
  margin-bottom: 1em;
  position: relative;
  text-align:center;
  color: #009fc5;
}
.home .inner2  h2::after {
  content: '';
  background-color: #009fc5;
  width: 11em;
  height: 3px;
  position: absolute;
  bottom: 0px;
  left: 50%;
  transform:translateX(-50%);
  z-index: 1;
}
.home .inner2  p{ text-align: left; margin: 1em 0 0;}
.home .topnews{ border-radius:10px; box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px; margin: 10px auto; width:100%;padding: 20px;}
.home .topnews h3{ font-size:18px; font-weight: 400;}
.home .topnews ul{ width:95%; margin:0px auto 0;  }
.home .topnews li{  margin: 0.3em 0; padding: 1em 0; text-align: left; border-bottom: 1px dotted #999;}
.home .topnews span,.home .topnews h4{ display: inline-block; vertical-align: top;}
.home .topnews span{width:100px; color: #000; padding:2px 0 0;}
.home .topnews h4{ widtg: calc( 100% - 100px); font-size: 16px; }

.home .topDescTable{
	td{
		width:33%;
		padding:0.2em 1em;
	}
	.topDescTable_title1{
		font-size: 1.2em;
        font-weight: bold;
        text-align: center;
        background-color: #9ce7ff;
        border-radius: 8px;
        padding: 0.3em;
	}
	.topDescTable_title2{
		font-size:1.2em;
		font-weight:bold;
	}
}


/*フォーム　基本*/
input[type="text"],input[type="password"],input[type="file"],input[type="tel"],input[type="number"],
textarea {
    padding: 0.5em; margin: 5px 0;
    outline: none; display: block;
    border: 1px solid #DBDCDC;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    font-size: 14px; font-size: 1.4rem; 
}
input[type="tel"]{ width:12em;}

input[type="date"]{
    padding: 0.5em; margin:0 5px 0;
    outline: none; display:inline-block;
    border: 1px solid #DBDCDC;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    font-size: 14px; font-size: 1.4rem; 
}

input[type="text"]:focus,input[type="password"]:focus,input[type="file"]:focus,input[type="tel"]:focus,input[type="number"]:focus,
texture:focus {
    box-shadow: 0 0 7px #AA0C0C;
    border: 1px solid #AA0C0C;
}


input[type="file"] {
    display: none;
}
label.photo {
    padding: 10px 40px;
    color: #ffffff;
    background-color: #389D25;
    cursor: pointer;
    position: relative;
}
label.photo .far{  display: inline-block; margin-right: 0.5em;}
 select {
  /* styling */
  background-color: white;
  border: 1px solid #DBDCDC;
  border-radius: 4px;
  display: inline-block;
  font: inherit;
  line-height: 1.5em;
  padding: 0.5em 3.5em 0.5em 1em;

 /* reset */

  margin: 0;      
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;

  background-image:
    linear-gradient(45deg, transparent 50%, gray 50%),
    linear-gradient(135deg, gray 50%, transparent 50%),
    linear-gradient(to right, #ccc, #ccc);
  background-position:
    calc(100% - 20px) calc(1em + 2px),
    calc(100% - 15px) calc(1em + 2px),
    calc(100% - 2.5em) 0.5em;
  background-size:
    5px 5px,
    5px 5px,
    1px 1.5em;
  background-repeat: no-repeat;
}
select.mult {
  background-image:none;
}

select:focus {
  background-image:
    linear-gradient(45deg, green 50%, transparent 50%),
    linear-gradient(135deg, transparent 50%, green 50%),
    linear-gradient(to right, #ccc, #ccc);
  background-position:
    calc(100% - 15px) 1em,
    calc(100% - 20px) 1em,
    calc(100% - 2.5em) 0.5em;
  background-size:
    5px 5px,
    5px 5px,
    1px 1.5em;
  background-repeat: no-repeat;
  border-color: green;
  outline: 0;
}
select.mult:focus {
  background-image:none;box-shadow: 0 0 7px #AA0C0C;
    border: 1px solid #AA0C0C;
}

select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000;
}

/*チェックボックス*/
.checkbox {
  display:inline-block; vertical-align: middle; 
  position: relative;
  margin:0;
  cursor: pointer;  text-align: left;
  user-select: none; /* テキストの選択を防ぐ */
  white-space: -moz-pre-space;
}

/* inputは非表示にする */
.checkbox input {
  display: none;
}
.checkbox b{ display: inline-block; width:6em; font-weight: 400;   margin-left: 2em }

/* □ */
.checkmark {
  position: absolute;
  top: 0; /* 上からの位置 */
  left: 0;
  height: 22px!important ; /* 大きさ */
  width: 22px!important; /* 大きさ */
  border: solid 2px #d4dae2; /* 線 */
  border-radius: 4px;
  box-sizing: border-box; background: #fff;
}
/* ✓ */
.checkmark:after {
  content: "";
  position: absolute;
  left: 5px; /* チェックの位置 */
  top: 1px; /* チェックの位置 */
  width: 6px; /* チェックの大きさ */
  height: 10px; /* チェックの大きさ */
  border: solid #FFF;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  opacity: 0; /* 透明にしておく */
}

/* チェックが入ったときの□ */
.checkbox input:checked + .checkmark {
  background: #2e80ff; /* チェック時の色 */
  border-color: #2e80ff; /* チェック時の色 */
}

/* チェックが入ったときの✓ */
.checkbox input:checked + .checkmark:after {
  opacity: 1; /* 透明を解除 */
}


/* ラジオボックス */
.radio {
    display: flex;
    flex-wrap: wrap;
    gap: .3em 2em;
    border: none;
}

.radio label {
    display: flex;
    align-items: center;
    gap: 0 .5em;
    position: relative;
    cursor: pointer;
}

/*
.radio label::before,
.radio label::after {
    border-radius: 50%;
    content: '';
}

.radio label::before {
    width: 18px;
    height: 18px;
    border: 2px solid #dee5eb;
    box-sizing: border-box;
}

.radio label::after {
    position: absolute;
    top: 50%;
    left: 9px;
    transform: translate(-50%, -50%);
    width: 9px;
    height: 9px;
    background-color: #dee5eb;
}

.radio label:has(:checked)::after {
    background-color: #2589d0;
    animation: anim-radio-002 .3s linear;
}
*/

@keyframes anim-radio-002 {
    0% {
        box-shadow: 0 0 0 1px transparent;
    }
    50% {
        box-shadow: 0 0 0 10px #2589d033;
    }
    100% {
        box-shadow: 0 0 0 10px transparent;
    }
}

.radio input {
    /*display: none;*/
	margin: 0px;
    padding: 0px;
    margin-top: -2px;
}

/*ボタン*/
.buttons { text-align: center;}
.buttons  .c-send{ font-size: 16px;font-size: 1.6rem; 
  margin:30px auto 25px;vertical-align: middle;
  background-color:#009DCD;
  padding: 12px 45px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
  border: 1px solid #009DCD;
  -webkit-transition: .5s;
  transition: .5s;
  display:block;
  cursor: pointer;
 width: 250px;
  color:#fff; text-align: center;
}

.buttons  .c-send2{ display: inline-block;margin:30px 5px 25px;
}
.buttons  .c-send3{ display: inline-block;
 width: 180px;font-size: 14px;font-size: 1.4rem; margin:30px 5px 25px;padding: 8px 45px;
}

.buttons  .c-back{ display: inline-block;
	background-color:#9c9ab9;
	border: 1px solid #9c9ab9;
}

.c-edit{ font-size: 16px;font-size: 1.6rem; 
  /*margin:30px auto 25px;*/
  vertical-align: middle;
  background-color:green;
  padding: 0.1em 1em;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
  border: 1px solid green;
  -webkit-transition: .5s;
  transition: .5s;
  cursor: pointer;
  color:#fff; text-align: center;
}

.c-delete{ font-size: 16px;font-size: 1.6rem; 
  /*margin:30px auto 25px;*/
  vertical-align: middle;
  background-color:red;
  padding: 0.1em 1em;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
  border: 1px solid #cd0000;
  -webkit-transition: .5s;
  transition: .5s;
  cursor: pointer;
  color:#fff; text-align: center;
}

.c-copy{ font-size: 16px;font-size: 1.6rem; 
  /*margin:30px auto 25px;*/
  vertical-align: middle;
  background-color:limegreen;
  padding: 0.1em 1em;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
  border: 1px solid #cd0000;
  -webkit-transition: .5s;
  transition: .5s;
  cursor: pointer;
  color:#fff; text-align: center;
}

.buttons  .c-send:hover, .button:hover, .button button:hover {
  background:#AA0C0C;border: 1px solid  #AA0C0C;
}

.button_dis{
	background: #cfcfcf!important;
    border: 1px solid #aaaaaa!important;
    cursor: default!important;
}

/*ログイン画面*/
.login{ background: #F0F0F0;  border-radius: 10px; padding: 45px 0 20px; margin: 50px auto 80px; width:260px; text-align: center; box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;}
.login h3{ font-family: 'Lato', sans-serif; font-weight: 600;}
.login img{  margin: 10px auto; width:85px; text-align: left; }
.login  .buttons  .c-send{ 
  padding: 12px 0;
 width: 90%;
  color:#fff; text-align: center;
}

.login input[type="text"], .login input[type="password"] {
    width:90%; margin:0.8em auto;
}



.green{ background:#E8FBE8}

/*サブページ　*/
main{  position:relative;}
.sub  h1{
    text-align: left;
	font-size: 26px; font-size: 2.6rem;  font-weight: 400; color: #333;border-bottom:#999 solid 1px ;
    padding:0em 2em 0em;
    margin: 0 auto; max-width:1200px; width:100%;}
.sub h2 {
    text-align: left;
	font-size: 22px; font-size: 2.2rem;  font-weight: 400; color: #333;
    padding: 0.3em 0 0.3em 2.5em;
    margin: 1em 0 0em 0em;
  position: relative;
}
.sub h2::before {
  content: '';
  background-color: #389D25;
  width: 2em;
  height: 3px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}
.sub article{ padding: 0px 0;}


dl.officecode {display: flex; margin: 0 0 2em;  border-bottom:1px solid #389D25;   }
dl.officecode dt,dl.officecode dd { padding:0.5em 2em !important;  }
dl.officecode dd { font-family: 'Lato', sans-serif; font-weight: 600; min-width: 10em; }
dl.officecode dt { text-align: center!important; background:#389D25; color: #fff; }

/*各トップ*/
.topmenu ul.btn{margin: 1em auto; text-align: left; width:600px; }
.topmenu ul.btn li{margin: 1em 0; }
.topmenu ul.btn li a{ display: block; border: 1px solid #999; border-radius: 2px; padding:1em 2em 1em 3em; font-size: 18px; position: relative; }
.topmenu ul.btn li a:before{
font-family: "Font Awesome 5 Free";
 font-weight: 900; font-size:20px;
  content: "\f061"; position: absolute;
left:1em; top:50%;transform: translateY(-50%);
transition: .5s ;}
.topmenu ul.btn li a:hover:before{ transform: rotateZ( 90deg) ;top:30%; 
}

.topmenu .topnews{ border-radius:10px; box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px; margin: 50px auto; width:600px; padding: 20px;}
.topmenu .topnews h3{ font-size:18px; font-weight: 600;}
.topmenu .topnews li{  margin: 0.5em 0; padding: 1em 0; text-align: left; border-bottom: 1px dotted #999;}
.topmenu .topnews span,.topmenu .topnews h4{ display: inline-block; vertical-align: top;}
.topmenu .topnews span{width:100px; color: #000; padding:2px 0 0;}
.topmenu .topnews h4{ widtg: calc( 100% - 100px); font-size: 16px; }




/*登録フォーム*/
.form h3 {position: relative;
  display: block;
  padding: 0 55px;  margin: 3em auto 0;  text-align: center;
}

.form h3:before, .form h3:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: calc(50% - 5em);
  height: 2px;
  border-top: solid 1px black;
  border-bottom: solid 1px black;
}

.form h3:before {
  left:0;
}
.form h3:after {
  right: 0;
}
.form table{margin:0px auto ; border-bottom: 1px solid #389D25; border-collapse: collapse;  width:800px;}
.form tr{ border-top: 1px  solid #389D25;border-bottom: 1px  solid #389D25;}
.form th, .form td{ padding: 1em 0 1em 2.2em; text-align: left; vertical-align: middle;border-top: 1px  solid #389D25; position: relative;word-break: break-all;}
.form td li{ padding: 0 0 0.8em 14px ; margin: 0.8em 0 0; position: relative; border-bottom: 1px dotted #999;}
.form td li:last-child{ border: none;padding: 0 0 0 14px ;}
.form td li:before{
font-family: "Font Awesome 5 Free";
 font-weight: 900; font-size:6px;
  content: "\f111"; position: absolute; top:6px; left:0; 
}
.form th{ white-space: nowrap;}
.form td ul.no li{ padding: 0 0 0.8em 0 ; margin: 0.8em 0 0; border: none;}
.form td ul.no li:last-child{ border: none;padding: 0 ;}
.form td ul.no li:before{ display: none;}
.form td  div{  margin: 0.5em 1em 0 0; border-top:1px solid #389D25; padding: 0.5em 0 0 0;}
.form span {float: left; display: inline-block;  width:12em; padding:0.1em 0 0;}
.form th.hissu:before {
	content: '必須';
	display: block; position: absolute;
    left:0em; top:50%;transform: translateY(-50%);
	font-size: 11px; background:#AA0C0C; color: #fff; padding:0 0.3em; border-radius: 3px; 
	/* その他任意のデザイン指定 */
}


/*一覧*/

.box{ padding:0 1em 1em; margin: 0 0 1em; }
article.list{ position: relative; overflow-x: scroll; margin:0px auto 0px ;  text-align: left;}
article.list table{border: 1px solid #389D25; border-collapse: collapse;  }
.table-wrap {display: flex; width:100%;margin:0px auto 0px ;  text-align: left;}
.table-wrap  div{  margin: 0 1em 0 0;  vertical-align: top;}
.table-wrap  article{ display: flex; }
.table-wrap h4{  margin:0px 0 0; text-align: left;padding-left: 1em; position: relative;font-size: 16px; font-size: 1.6rem; }
.table-wrap h4:before{
font-family: "Font Awesome 5 Free";
 font-weight: 900;  font-size: 10px;
  content: "\f04d";  
position: absolute; left:0px; top:5px;
}

article.list .table-wrap  table th,
article.list .table-wrap  table td {
 border: 1px solid #B5D9B6; vertical-align: middle;
  padding: 0.5em; background: #fff;white-space: nowrap;
}
article.list .table-wrap  table .tr1 th{ background-color:#b0e1a7; color: #000; text-align: center;}
article.list .table-wrap  table .tr2 th{ background-color:#a7e1d4; color: #000; text-align: center;}
article.list  table td .far{ display: inline-block; margin-right: 0.5em; font-size: 1.2em;}
article.list table.jigyosho,article.list table .jigyosho{border: 1px solid #009DCD; border-collapse: collapse; max-width: 1200px; margin: 0 ;  }
article.list table.jigyosho th,article.list table .jigyosho th,
article.list table.jigyosho td,article.list table .jigyosho td {
 border: 1px solid #BAEAF9; vertical-align: middle;
 padding: 0.5em; background: #fff;
}
article.list table.jigyosho th,article.list table .jigyosho th{ background: #009DCD; color: #fff; text-align: center;white-space: nowrap;}
article.list table.jigyosho th b,article.list table .jigyosho th b{  display: inline-block; margin: 0 0.2em;}
article.list table.jigyosho td .far,article.list table .jigyosho td .far{ display: inline-block; margin-right: 0.5em; font-size: 1.2em;}
article.list table.jigyosho td:not(.appeal) ,article.list table .jigyosho td:not(.appeal) {white-space: nowrap; text-align: center;}

article.list table.jigyosho td.henshu { font-size: 12px;}
buttonap-send{ display: flow-root;}
button.ap-send{ font-size: 16px;font-size: 1.6rem; 
  margin:0.5em ;
  background-color:#009DCD; 
  padding:0.5em;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
  border: 1px solid #009DCD;
  -webkit-transition: .5s;
  transition: .5s; vertical-align: middle;
  cursor: pointer;
 width: 200px;display: inline-block;
  color:#fff; text-align: center;
}
.ap-send:hover {
  background:#AA0C0C;border: 1px solid  #AA0C0C;
}


button.tenkai-send{ font-size: 14px;font-size: 1.4rem; 
  margin:0.5em auto 1em 0; 
  padding:0.5em;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  background: #fff;
  border-radius: 5px;
  border: 1px solid #009DCD;
  -webkit-transition: .5s;
  transition: .5s;
  cursor: pointer;
  color:#009DCD; text-align: center;
}
.tenkai-send:hover {
  background:#009DCD;border: 1px solid  #009DCD; color: #fff;
}
.ap-send .fas,.tenkai-send .fas{ margin-right: 0.5em;}


.addition{  border-radius: 3px;  display: block; padding: 0.5em 1em; color: #fff; background: #009DCD; position: absolute;  right: 20px; top:80px;}
.addition:hover{ background: #AA0C0C;}
.addition .fas{ display: inline-block; margin-right: 0.5em;}

/*検索部分*/
.sarch {  padding: 20px 0px 0px;  text-align: left;}
.sarch h3{position: relative; padding:15px 0 0 50px; font-size: 16px; font-size: 1.6rem; }
.sarch h3 img{ position: absolute; top:0; left:0; width:38px; height:auto;}
.sarch  dl{  margin: 2em 0 0 ;   }
.sarch  dt,.sarch  dd{ display: inline-block; vertical-align: middle; padding: 1em 1em 1em 0;}
.sarch  dt{width: 5em; text-align: right;  font-weight: 600; }
.sarch  dd { margin-right:2em; width:calc( 100% - 8em);}
.sarch  dd label{ width:8em; margin-right: 1em;}
.sarch  ul{  margin: 0em 0 0 ; text-align: center; }
.sarch  ul li{ display: inline-block; vertical-align: middle; width: calc( 100% / 3 - 1em); margin: 0.5em 0.4em; text-align: left;}
.sarch  ul li h4{ background:#389D25 ; color: #fff; font-size: 16px; padding:0.2em 0.5em ; display:block; text-align: left; border-radius: 5px;}
.sarch  ul li select{  margin: 0.5em 0; width:100%;}
.sarch  dl.ap{ margin: 1em 0 0; border:#389D25 1px solid ;}
.sarch  dl.ap dt{width: 20em; }
.sarch  dl.ap dd { margin-right:0em; width:auto;}
.serchbtn{ margin: 20px auto;}
.serchbtn button{ display: inline-block; vertical-align: middle; font-size: 16px;font-size: 1.6rem; 
  margin:0 0 0 5px;vertical-align: middle;
  background-color:#fff;
  padding: 5px 25px;
  border: 1px solid #009DCD;
  -webkit-transition: .5s;
  transition: .5s;
  cursor: pointer; position: relative;
  color:#009DCD;
}
.serchbtn button.clear{ 
  padding: 2px 15px;
}
.serchbtn button:hover {  background:#AA0C0C;border: 1px solid  #AA0C0C;}
.serchbtn button .fas{ margin-right:0.5em;}

/*ユーザー登録トップ*/
.sub .rule { margin: 2em auto ;
    background: #f3f3f3; padding: 0 0 2em;
}
.sub .rulep { margin: 2em auto ;font-size: 18px; font-size: 1.8rem; }
.sub .rule h2 {
    text-align: center;
     padding: 1em 0 0; margin: 0;
}
.sub .rule h2::before { display: none;
}
.sub .rule .rulebox { text-align: left; 
     margin: 1em auto ; width:90%; padding: 1em 2em;
     height: 30em; overflow: auto;  background: #fff; border:1px solid;
}

.rulebox,.rulebox ol{
	counter-reset: number;
}
.rulebox dt{  float: none;  margin: 2em 0 0;  position: relative;  display: block;  padding:0 0 0 1.5em;font-size: 18px; font-size: 1.8rem; }
.rulebox dt::before, .rulebox ol li:before  {
	counter-increment: number;
	content: counter(number); 
	padding-right: 5px;
    position: absolute;
    left:0; 
    font-family: 'Lato', sans-serif;  font-weight: 400; letter-spacing:-0.1em;}
.rulebox dt::before{ font-size: 18px; top:4px;border:1px solid #000; border-radius: 50%; width:15px; height:15px;  padding: 0em 0.2em 0.2em 0;text-align: center; line-height: 1;}
.rulebox ol li:before { font-size: 14px; top:5px;content: "("counter(number) "）";  font-weight: 400;  }
.rulebox dd{ margin: 0.5em 0 1em 1.5em; display: block;}
.rulebox ol li{ margin: 0em 0 0.5em; padding: 5px 0 0 1.8em;position: relative;  }
.ruleform dl { text-align: center; margin: 2em auto; width:400px!important;  }
.ruleform dt,.ruleform dd { display: inline-block;margin: 0; vertical-align: middle; padding: 1em 0.5em;}

.ruleform  .buttons  .c-send{ font-size: 16px;font-size: 1.6rem; 
  margin:30px 10px 25px;
  padding: 12px 45px 10px;
  display:inline-block; vertical-align: middle;
  cursor: pointer;
 width: 250px;
}

.colorbox-fade{
	border-radius: 3px;
    display: block;
    padding: 0.2em 1em;
    color: #FFF;
    background: #59b594;
}


.need{
    position: absolute;
    left: 0px;
    top: 50%;
    float: left;
    width: 2em!important;
    transform: translateY(-50%);
}


.need .s_need{
	width: 2.6em;
	background: #AA0C0C;
	color : #FFFFFF;
	font-size: 11px;
	padding: 0 0.3em;
	border-radius: 3px;
	margin : 0.1em;
	margin-top: -2px;
}

.need .s_public{
	margin : 0.1em;
	width: 2.6em;
	background: #008000;
	color : #FFFFFF;
	font-size: 11px;
	padding: 0 0.3em;
	border-radius: 3px;
}
