html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var,b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
margin:0;
padding:0;
border:0;
outline:0;
font-size:100%;
vertical-align:baseline;
background:transparent;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
display:block;
}
audio, canvas, progress, video {
display: inline-block; vertical-align: baseline;
}

html {
-ms-text-size-adjust:100%;
-webkit-text-size-adjust:100%;
}
body {
color:#444;
font-family: sans-serif;
line-height:1.0;
}

br {letter-spacing:0;}
ul, li {list-style:none;}
img, a img {border:0; text-decoration:none; vertical-align:top;}
mark {background:#ff0; color:#000;}
b, strong {font-weight:bold;}
table {border-collapse:collapse; border-spacing:0;}
td, th {padding:0;}
hr {box-sizing:content-box; height:0;}
button, input, optgroup, select, textarea {color:inherit; font:sans-serif; margin:0;}
button {overflow: visible;}
button, select {text-transform:none;}
button, html input[type="button"], input[type="reset"], input[type="submit"] {-webkit-appearance:button; cursor:pointer;}
input[type="checkbox"], input[type="radio"] {box-sizing:border-box; padding:0;}
textarea {overflow:auto;}

div:after, ul:after {content:""; display:block; clear:both;}
.cf:before,
.cf:after {content:""; display:table;}
.cf:after {clear:both;}
.cf {zoom:1;}

a {background-color:transparent; outline:0;}
a:link    {color:#3366CC; text-decoration:none;}
a:visited {color:#3366CC; text-decoration:none;}
a:hover   {color:#1a428c; text-decoration:underline;}
a:active  {color:#99CCFF; text-decoration:none;}

/* -------------------------------------------------------
Layout
---------------------------------------------------------- */







/* -------------------------------------------------------
Detail
---------------------------------------------------------- */

/* -------------------------------------------------------
for SmartPhone
---------------------------------------------------------- */
@media only screen and (max-width:959px){
  body {
    font-family: sans-serif;
  }

  .pcv {
    display: none;
  }


  /* header -------------- */
  .header .logo {
    padding: 16px 0;
    text-align: center;
  }
  .logo img {
    width: 240px;
  }

  /* fixed */
  .fixed_cv {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 80px;
    background: rgba(255,255,255,1.0);
    border-top: 1px solid #007f41;
    text-align: center;
  }
  .fixed_cv p {
    margin-top: 8px;
    margin-bottom: 4px;
    color: #007f41;
    font-size: 80%;
    font-weight: bold;
  }
  .fixed_cv img {
    width: 100%;
    max-width: 750px;
  }

  /* fv */
  .fv {
    text-align: center;
  }
  .fv img {
    width: 100%;
    max-width: 750px;
  }

  .lead {
    box-sizing: border-box;
    padding: 16px;
    background: #007f41;
    text-align: center;
  }
  .lead p {
    margin-bottom: 1em;
    color: #fff;
  }
  .lead h2 {
    color: #fff;
    font-size: 140%;
    line-height: 1.4;
  }
  .lead h2 span {
    color: #ff0;
  }
  .lead_arr {
    text-align: center;
  }
  .lead_arr img {
    width: 40px;
  }


  /* section -------------- */
  .section {
    margin-top: 48px;
  }
  .st {
    padding: 0 8px;
    text-align: center;
  }
  .st img {
    width: 100%;
  }

  .st span {
    display: inline-block;
    margin-bottom: 24px;
    padding-bottom: 8px;
    border-bottom: 2px solid #017f40;
    color: #017f40;
    font-size: 140%;
  }

  .s_t {
    margin-top: 16px;
    padding: 0 16px;
    font-size: 100%;
    line-height: 2.0;
  }
  .s1_img {
    margin-top: 24px;
    padding: 0 16px;
  }
  .s1_img img {
    width: 100%;
  }

  .hd3 {
    margin-bottom: .5em;
    color: #111;
    font-size: 120%;
    font-weight: bold;
  }


  /*
  .tool_a, .tool_b {
    padding: 0 16px;
    margin-top: 32px;
    text-align: center;
  }
  .tool_a img,
  .tool_b img {
    width: 100%;
  }

  .exp {
    margin: 64px 0 32px;
    color: #007f41;
    font-size: 24px;
    font-weight: normal;
    text-align: center;
  }
  .tool2 {
    text-align: center;
  }
  .tool2 div + div {
    margin-top: 32px;
  }

  .tool2 img {
    max-width: 100%;
  }

  img.s_img1 {
    width: 60px;
  }
  */
  .tool {
    margin-top: 24px;
    text-align: center;
  }
  .tool img {
    max-width: 100%;
  }

  /* class */

  .class .c_a,
  .class .c_b {
    padding: 0 16px;
  }
  .class .c_b {
    margin-top: 24px;
  }
  .class .c_a table,
  .class .c_b table {
    width: 100%;
    border: 1px solid #ccc;
  }
  .class .c_a th,
  .class .c_a td,
  .class .c_b th,
  .class .c_b td {
    padding: 1em;
    border: 1px solid #ccc;
    line-height: 1.4;
  }
  .class .c_a th,
  .class .c_b th {
    width: 6em;
    background: #fbfbf3;
    font-weight: normal;
    text-align: left;
    vertical-align: middle;
  }


  /* office */
  .office .map iframe {
    width: 100%;
    height: 240px;
  }
  .office_txt .name {
    color: #111;
    font-size: 120%;
    font-weight: bold;
  }
  .office_txt p {
    padding: 0 1em;
    line-height: 1.8;
  }
  .office .map {
    margin-top: 32px;
  }
  .office .map iframe {
    width: 100%;
    height: 400px;
  }


  /* cv_s */
  .cv_s {
    margin: 40px 0;
    text-align: center;
  }
  .cv_s p {
    color: #111;
    font-size: 90%;
    font-weight: bold;
  }
  .cv_s_btn {
    margin-top: 16px;
    padding: 0 16px;
  }
  .cv_s_btn a {
    display: block;
    height: 48px;
    background: #ff7e00;
    border-radius: 24px;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    line-height: 48px;
    box-shadow: 0 3px 0 #eee;
  }


  /* footer -------------- */
  .footer {
    width: 100%;
    margin-top: 40px;
    margin-bottom: 80px;
    background: #017f40;
  }
  .footer .inner_m {
    padding: 16px 0;
    color: #fff;
    text-align: center;
  }
  .footer .cp {
    margin-bottom: 1em;
    font-size: 10px;
  }
  .footer .address {
    font-size: 100%;
    line-height: 1.4;
  }
  .footer .att {
    margin-top: 1em;
    padding: 0 1em;
    font-size: 10px;
    line-height: 1.4;
    text-align: left;
  }

}/* end SP */




/* -------------------------------------------------------
for PC
---------------------------------------------------------- */
@media only screen and (min-width:960px){
  body {
    font-family: sans-serif;
    zoom:1;
  }

  .spv {
    display: none;
  }

  /* common -------------- */
  .inner_m {
    width: 960px;
    margin: 0 auto;
  }


  /* header -------------- */
  .header {
    width: 100%;
  }
  .header .inner_m {
    position: relative;
    height: 100px;
  }
  .header .inner_m .logo {
    position: absolute;
    top: 16px;
    left: 0;
  }
  .header .inner_m .h_tel {
    position: absolute;
    top: 0;
    right: 0;
  }


  /* fixed */
  .fixed_cv {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 120px;
    background: rgba(255,255,255,1.0);
    border-top: 1px solid #007f41;
  }
  .fixed_cv p {
    margin-top: 18px;
    color: #007f41;
    font-weight: bold;
    text-align: center;
  }
  .fixed_cv > .inner_m {
    display: flex;
    margin-top: 16px;
  }
  .fixed_cv > .inner_m .f_cv_tel {
    box-sizing: border-box;
    width: 50%;
    padding-right: 32px;
    text-align: right;
  }
  .fixed_cv > .inner_m .f_cv_mail {
    box-sizing: border-box;
    width: 50%;
    padding-left: 32px;
    text-align: left;
  }
  .f_cv_mail a:hover {
    opacity: .7;
  }

  /* main_v */
  .main_v {
    position: relative;
    /*height: 640px;*/
    height: 600px;
    background: url(../images/main_bg.jpg) no-repeat center top;
  }
  .main_v .main_cv_btn {
    position: absolute;
    top: 396px;
    left: 54px;
  }
  .main_cv_btn a:hover {
    opacity: .7;
  }

  .lead {
    text-align: center;
  }


  /* section -------------- */
  .section {
    margin-top: 80px;
  }
  .st {
    text-align: center;
  }

  .s_t {
    margin-top: 32px;
    padding: 0 64px;
    font-size: 120%;
    line-height: 2.0;
  }

  .hd3 {
    margin-bottom: 1em;
    color: #111;
    font-size: 18px;
    font-weight: bold;
  }

  .s1_img {
    margin-top: 40px;
    padding-left: 64px;
  }

  /*
  .tool {
    display: flex;
    padding-top: 48px;
  }
  .tool .tool_a {
    width: 350px;
    vertical-align: top;
  }
  .tool .tool_b {
    flex: 1;
    text-align: right;
    vertical-align: top;
  }
  */
  .exp {
    margin-top: 64px;
    color: #007f41;
    font-size: 24px;
    font-weight: normal;
    text-align: center;
  }
  .tool {
    margin-top: 32px;
  }





  .class {
    /*display: flex;*/
    padding-top: 48px;
  }
  .class .c_a,
  .class .c_b {
    box-sizing: border-box;
    /*width: 50%;*/
    padding: 0 16px;
    vertical-align: top;
  }
  .class .c_a table,
  .class .c_b table {
    width: 100%;
    border: 1px solid #ccc;
  }
  .class .c_a th,
  .class .c_a td,
  .class .c_b th,
  .class .c_b td {
    padding: 1em;
    border: 1px solid #ccc;
    line-height: 1.6;
  }
  .class .c_a th,
  .class .c_b th {
    width: 10em;
    background: #fbfbf3;
    font-weight: normal;
    text-align: left;
    text-align: center;
    vertical-align: middle;
  }

  .office {
    display: flex;
    padding-top: 48px;
  }
  .office .office_txt {
    flex: 1;
  }
  .office .map {
    width: 576px;
    height: 400px;
  }
  .office_txt .name {
    color: #111;
    font-size: 140%;
    font-weight: bold;
  }
  .office_txt p {
    line-height: 1.8;
  }
  .office .map iframe {
    width: 100%;
    height: 400px;
  }

  /* footer -------------- */
  .footer {
    width: 100%;
    margin-top: 80px;
    margin-bottom: 120px;
    background: #017f40;
  }
  .footer .inner_m {
    padding: 32px 0;
    color: #fff;
    text-align: center;
  }
  .footer .cp {
    margin-bottom: 16px;
    font-size: 12px;
  }
  .footer .address {
    font-size: 12px;
    line-height: 1.4;
  }
  .footer .att {
    margin-top: 1em;
    font-size: 10px;
    line-height: 1.7;
    text-align: left;
  }

}/* end PC */



/* -------------------------------------------------------
Common
---------------------------------------------------------- */
.fs80 {font-size:80%;}
.fs90 {font-size:90%;}
.fs100 {font-size:100%;}
.fs120 {font-size:120%;}
.fs150 {font-size:150%;}
.fs10px {font-size:10px;}
.fs11px {font-size:11px;}
.fs12px {font-size:12px;}
.fs13px {font-size:13px;}
.fs14px {font-size:14px;}
.fs15px {font-size:15px;}
.fs16px {font-size:16px;}
.fs17px {font-size:17px;}
.fs18px {font-size:18px;}

.lh15 {line-height:1.5;}
.lh16 {line-height:1.6;}
.lh17 {line-height:1.7;}
.lh18 {line-height:1.8;}
.lh20 {line-height:2.0;}

.mgb8 {margin-bottom:8px;}
.mgb16 {margin-bottom:16px;}
.mgb24 {margin-bottom:24px;}
.mgb32 {margin-bottom:32px;}
.mgb40 {margin-bottom:40px;}
.mgb48 {margin-bottom:48px;}
.mgb56 {margin-bottom:56px;}
.mgb64 {margin-bottom:64px;}
.mgb80 {margin-bottom:80px;}
.mgb100 {margin-bottom:100px;}
.mgb05em {margin-bottom:0.5em;}
.mgb1em {margin-bottom:1em;}
.mgb15em {margin-bottom:1.5em;}
.mgb2em {margin-bottom:2em;}

.pdlr8 {padding:0 8px;}
.pdlr16 {padding:0 16px;}
.pdlr24 {padding:0 24px;}
.pdlr32 {padding:0 32px;}
.pdlr1em {padding:0 1em;}
.pdlr2em {padding:0 2em;}

.tac {text-align:center;}
.tal {text-align:left;}
.tar {text-align:right;}

.fwb {font-weight:bold;}

.udl {
  border-bottom: 1px solid #000;
  font-weight: bold;
}
.marker {
  background: #ff0;
  color: #111;
  font-weight: bold;
}
