@charset "UTF-8";
a[href^="tel:"] {
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .sp_block {
    display: block !important;
  }

  * {
    box-sizing: border-box;
  }

  a[href^="tel:"] {
    pointer-events: auto;
  }

  body {
    font-size: 13px;
    line-height: 170%;
    font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
  }

  body.is_menu_open #side {
    transform: translateX(0);
  }
  body.is_menu_open header .sp_btn span {
    background-color: transparent;
  }
  body.is_menu_open header .sp_btn span::before {
    transform: rotate(42deg);
  }
  body.is_menu_open header .sp_btn span::after {
    transform: rotate(-42deg);
  }

  img {
    max-width: 100%;
    height: auto;
  }

  iframe {
    max-width: 100%;
  }

  header {
    height: 125px;
    min-width: 100%;
    border-bottom: #24a85a 2px solid;
  }

  header #in_head {
    width: 100%;
    padding: 0 3%;
  }

  header h1 {
    color: #333;
    font-size: 12px !important;
    text-align: right;
    height: auto !important;
  }

  header #logo {
    width: 40%;
    float: left;
    margin-right: 4%;
    margin-top: 10px;
  }

  header #tel {
    font-size: 11px;
    float: left;
    width: 50%;
    line-height: 1.4;
  }

  header #tel img {
    display: inline-block;
    width: 90%;
    vertical-align: middle;
    float: left;
  }

  header #tel br {
    clear: both;
  }

  header .sp_btn {
    position: fixed;
    right: 3%;
    top: 32px;
  }
  header .sp_btn span {
    display: inline-block;
    position: relative;
    width: 30px;
    height: 3px;
    background-color: #24a85a;
    transition: all 0.2s ease-in-out;
  }
  header .sp_btn span::before, header .sp_btn span::after {
    content: "";
    display: inline-block;
    width: 30px;
    height: 3px;
    background-color: #24a85a;
    position: absolute;
    left: 0;
    transition: transform 0.2s ease-in-out;
    transform-origin: left center;
  }
  header .sp_btn span::before {
    top: -10px;
  }
  header .sp_btn span::after {
    bottom: -10px;
  }

  .h3_1 {
    font-size: 20px;
    line-height: 1.5;
    padding-bottom: 10px;
  }

  .h4_1 {
    font-size: 16px;
    line-height: 1.5;
    padding: 3px 0 3px 10px;
  }

  .h5_1 {
    font-size: 16px;
    margin-bottom: 20px !important;
    line-height: 1.5;
    padding-bottom: 5px;
  }

  #mainTit {
    height: auto;
    margin-bottom: 0;
    clear: both;
  }

  #mainTit h2 {
    text-align: center;
    padding-left: 15px;
  }

  #wrapper {
    width: 100%;
  }

  #mainBox {
    width: 100%;
    float: none;
  }

  .in_page {
    padding: 15px !important;
    width: 94% !important;
    font-size: 16px;
    line-height: 155%;
    margin: 0 auto;
  }

  .in_page section {
    margin-bottom: 40px;
  }

  #side {
    width: 100%;
    float: none;
    transition: transform 0.4s ease-in-out;
    transform: translateX(110%);
    position: fixed;
    right: 0;
    top: 102px;
  }

  footer {
    height: auto;
    min-width: 100%;
  }

  #in_footer {
    width: 100%;
  }

  p#flogo {
    float: none;
    padding-right: 0;
    background-color: #24a85a;
  }

  p#flogo img {
    display: block;
    width: 50%;
    margin: 0 auto;
    padding: 30px 0 20px;
  }

  #in_footer .f_dl {
    width: 100%;
    float: none;
    background-color: #24a85a;
    padding: 0 3% 30px;
  }

  #in_footer .f_dl dt {
    font-size: 16px;
  }

  #in_footer .f_dl table td,
#in_footer .f_dl table th {
    font-size: 14px;
    line-height: 1.8;
  }

  #in_footer .f_dl table {
    margin-bottom: 0;
  }

  #gotop {
    width: 100%;
    padding: 0 3%;
  }

  #in_footer nav a {
    display: inline-block;
    width: 45%;
    padding: 10px 0;
  }

  #in_footer nav a:hover,
#in_footer nav a.now {
    color: #000;
  }

  p#copy {
    clear: both;
    color: #93d6aa;
    text-align: center;
    border-top: 2px solid #93d6aa;
    padding: 10px 0;
  }

  /*index*/
  #mainV {
    height: auto;
    padding-bottom: 20px !important;
    min-width: 100%;
    background-size: cover;
  }

  #news {
    background-color: #fff;
    height: 99px !important;
    border: 1px solid #bde5c7;
  }

  #news h2 {
    float: none;
    width: 50%;
    margin: 20px auto 0;
    padding-bottom: 0 !important;
  }

  #news h2 img {
    width: 100%;
  }

  #news dl {
    width: 99%;
    height: 230px;
    margin-bottom: 20px;
  }
  #news dl::-webkit-scrollbar {
    width: 7px;
  }
  #news dl::-webkit-scrollbar-track {
    border-radius: 3px;
    background-color: rgba(36, 168, 90, 0.2);
  }
  #news dl::-webkit-scrollbar-thumb {
    background-color: #24a85a;
    border-radius: 3px;
  }

  #news dl dt {
    font-size: 14px !important;
  }

  #news dl dd {
    font-size: 14px !important;
  }

  #bnr {
    padding-bottom: 0px !important;
    margin: 0 3%;
  }

  #bnr h2 {
    padding-bottom: 0 !important;
    background-color: #fff;
    margin-bottom: 15px;
  }

  #bnr li {
    height: auto;
    width: 100%;
    background-size: 100% auto;
  }

  #bnr li > p {
    margin: 8px 6%;
    font-size: 14px !important;
  }

  #bnr li img {
    vertical-align: top;
  }

  /* about */
  .about_ph {
    float: none;
    width: 100%;
    padding: 10px 0px 15px 0;
    text-align: center;
  }

  .w470 {
    width: 100% !important;
  }

  .dl_1 {
    margin-bottom: 60px;
  }

  .dl_1 dt {
    width: 30%;
    text-align: left;
    padding: 10px 0px 5px;
  }

  .dl_1 dd {
    border-bottom: 1px solid #ccc;
    padding: 10px 0px 5px 35%;
  }

  #sosiki iframe {
    height: 250px;
  }

  #aboutBnr {
    width: 100%;
  }

  #aboutBnr tr {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }

  #aboutBnr th {
    width: 40%;
    display: block;
    padding: 0;
    margin-bottom: 15px;
  }

  #aboutBnr td {
    width: 60%;
    display: block;
    font-size: 14px;
    padding: 0;
    margin-bottom: 15px;
    line-height: 1.4;
    padding-left: 15px;
  }

  /*map*/
  .dl_2 dt {
    width: 30%;
    clear: left;
  }

  .dl_2 dd {
    padding-left: 30% !important;
    height: auto;
  }

  .dl_2 dt,
.dl_2 dd {
    font-size: 16px;
    line-height: 1.7;
    height: auto;
  }

  .mymap {
    height: 350px;
  }

  .scroll_sp {
    overflow-x: auto;
    width: 100%;
  }

  .scroll_sp #addT {
    width: 700px;
  }

  #addT td,
#addT th {
    padding: 5px 3px;
    font-size: 14px;
  }

  #addT .th1 {
    width: 50px !important;
  }

  #addT .th2 {
    width: 180px !important;
  }

  #addT .th4 {
    width: 130px;
  }

  #addT .th5 {
    width: 130px;
  }

  #addT .bg_1 td {
    background-color: #e1f8eb;
  }

  /*sitemap*/
  .sitemap_li {
    width: 100%;
  }

  .sitemap_li th,
.sitemap_li td {
    font-size: 14px;
    display: block;
    width: 100%;
  }

  .sitemap_li th {
    margin-bottom: 0;
    border-bottom: none;
    padding-top: 10px;
    padding-bottom: 0;
  }

  .sitemap_li td {
    margin-bottom: 15px;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 10px;
  }

  /*duty*/
  .dutyT th {
    width: 100%;
    font-size: 18px !important;
    padding: 10px 0px;
  }

  .dutyT th,
.dutyT td {
    display: block;
  }

  .dutyT th.pl18 {
    padding-left: 18px !important;
    width: 100%;
  }

  .dutyT td {
    border-bottom: none;
    font-size: 18px !important;
    padding: 5px 0px 5px 1em;
  }

  .dutyT td:first-of-type {
    padding-top: 10px;
  }

  .dutyT td:last-child {
    padding-bottom: 15px;
  }

  nav#gnavi {
    margin: 0px auto;
  }

  nav#gnavi h2 {
    display: none;
  }

  nav#gnavi ul {
    margin: -2px auto 0px;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
  }

  nav#gnavi li {
    width: 50%;
    height: auto;
    border-bottom: #fff 1px solid;
  }

  nav#gnavi li a {
    border-right: #fff 1px solid;
    width: 100%;
    height: auto;
    padding: 30px 20px;
    color: #fff;
    font-size: 15px;
    text-align: center;
    background-image: none;
    text-indent: 0 !important;
    background: #47c97f;
    /* Old browsers */
    /* FF3.6-15 */
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #47c97f 0%, #399e64 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#47c97f", endColorstr="#399e64",GradientType=0 );
    /* IE6-9 */
  }

  nav#gnavi li:nth-child(even) a {
    border-right: none;
  }

  #g01 a:hover, #g01 a.now {
    background-position: unset;
  }

  #g02 a:hover, #g02 a.now {
    background-position: unset;
  }

  #g03 a:hover, #g03 a.now {
    background-position: unset;
  }

  #g04 a:hover, #g04 a.now {
    background-position: unset;
  }

  #g05 a:hover, #g05 a.now {
    background-position: unset;
  }

  #g06 a:hover, #g06 a.now {
    background-position: unset;
  }

  #g07 a:hover, #g07 a.now {
    background-position: unset;
  }

  #g08 a:hover, #g08 a.now {
    background-position: unset;
  }

  #g09 a:hover, #g09 a.now {
    background-position: unset;
  }

  #g10 a:hover, #g10 a.now {
    background-position: unset;
  }

  nav#gnavi .contact {
    background-color: #399e64;
    display: flex !important;
    flex-wrap: nowrap;
  }

  nav#gnavi .contact > dl {
    width: 50%;
    padding: 15px 12px;
  }

  nav#gnavi .contact > dl dt,
nav#gnavi .contact > dl dd {
    color: #fff;
  }

  nav#gnavi .contact > dl dt {
    margin-bottom: 5px;
  }

  nav#gnavi .contact > dl dd a {
    font-size: 20px;
    color: #fff;
  }

  /*member*/
  .mem_file {
    width: 100%;
    margin-bottom: 10px !important;
  }

  #semi {
    border: 2px solid #666;
    padding: 15px 25px 10px;
  }

  #semi_tit {
    font-size: 28px;
    padding-bottom: 15px;
    line-height: 120%;
  }

  #semi_name {
    padding-top: 20px !important;
    font-size: 10px;
  }

  /*about*/
  #about_ph p {
    line-height: 130%;
  }

  .alsok {
    margin: 20px 0 0 0;
  }

  .alsok img {
    display: inline-block;
    margin: 0 5px;
  }

  span#annnai {
    background: #04a23e;
    width: 200px;
    height: 30px;
    display: block;
    margin: 0 auto;
    margin-bottom: 5px;
  }

  #annnai a.on {
    text-align: center;
    display: block;
    line-height: 2.5;
    color: white;
  }

  .modoru {
    color: #009eff;
  }

  a:hover.modoru {
    color: #009eff;
    text-decoration: underline;
  }

  .dl2_none {
    border-bottom: none !important;
  }

  /*map*/
  /*seminar*/
  .seminar {
    border: 1px solid #339651;
    padding: 20px;
    margin-bottom: 30px;
  }

  .seminar h5 {
    margin-bottom: 20px !important;
  }

  .semi_tit2 {
    font-size: 30px;
    text-align: center;
    margin-bottom: 10px;
    line-height: 130% !important;
  }

  .semi_name2 {
    text-align: right;
    font-size: 18px;
  }
}
@media screen and (max-width: 480px) {
  header {
    height: 100px;
  }
}