@charset "UTF-8";
/* CSS Document */
/* CSS Document */
* {
  font-family: "YakuHanJP", "Noto Sans Japanese", YuGothic, "Yu Gothic", Meiryo, "Hiragino Kaku Gothic ProN", sans-serif; }

body {
  background-color: #083c0d; }

a {
  -webkit-transition-delay: 0;
  -moz-transition-delay: 0;
  -ms-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0;
  -webkit-transition-duration: 0.1s;
  -moz-transition-duration: 0.1s;
  -ms-transition-duration: 0.1s;
  -o-transition-duration: 0.1s;
  transition-duration: 0.1s;
  -webkit-transition-property: all;
  -moz-transition-property: all;
  -ms-transition-property: all;
  -o-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: ease;
  -moz-transition-timing-function: ease;
  -ms-transition-timing-function: ease;
  -o-transition-timing-function: ease;
  transition-timing-function: ease; }

a, span {
  font-size: inherit;
  font-family: inherit;
  font-weight: inherit;
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  text-decoration: inherit;
  vertical-align: inherit;
  color: inherit; }

a.button {
  color: #472700;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.5em;
  letter-spacing: 0.22em;
  text-indent: 0.22em;
  display: inline-block;
  padding: 12px;
  text-align: center;
  border-radius: 10px;
  background: #ffefb0;
  background: -webkit-gradient(linear, -90deg, from(#ffefb0), to(#d4a400));
  background: -webkit-linear-gradient(-90deg, #ffefb0 0%, #d4a400 100%);
  background: -moz-linear-gradient(-90deg, #ffefb0 0%, #d4a400 100%);
  background: -o-linear-gradient(-90deg, #ffefb0 0%, #d4a400 100%);
  background: -ms-linear-gradient(-90deg, #ffefb0 0%, #d4a400 100%);
  background: linear-gradient(180deg, #ffefb0 0%, #d4a400 100%);
  filter: progid:DXImageTransform.Microsoft.Gradient(Enabled=1,GradientType=0,StartColorStr=#FFFFEFB0,EndColorStr=#FFD4A400);
  border: 1px solid #fde49a;
  width: 479px; }
  a.button:hover {
    background-color: #d4a400;
    background: rgba(255, 239, 176, 0.8);
    background: -webkit-gradient(linear, -90deg, from(rgba(255, 239, 176, 0.8)), to(#d4a400));
    background: -webkit-linear-gradient(-90deg, rgba(255, 239, 176, 0.8) 0%, #d4a400 100%);
    background: -moz-linear-gradient(-90deg, rgba(255, 239, 176, 0.8) 0%, #d4a400 100%);
    background: -o-linear-gradient(-90deg, rgba(255, 239, 176, 0.8) 0%, #d4a400 100%);
    background: -ms-linear-gradient(-90deg, rgba(255, 239, 176, 0.8) 0%, #d4a400 100%);
    background: linear-gradient(180deg, rgba(255, 239, 176, 0.8) 0%, #d4a400 100%);
    filter: progid:DXImageTransform.Microsoft.Gradient(Enabled=1,GradientType=0,StartColorStr=#CCFFEFB0,EndColorStr=#FFD4A400); }

table {
  border-collapse: collapse;
  border-spacing: 0; }

main {
  display: block;
  min-width: 980px; }

.inner {
  width: 980px;
  margin-left: auto;
  margin-right: auto; }

.float:after {
  content: "";
  width: 0;
  height: 0;
  display: block;
  visibility: hidden;
  clear: both; }

.float > .left {
  float: left; }

.float > .right {
  float: right; }

.title01 {
  font-size: 35px;
  letter-spacing: 0.08em;
  font-weight: 500;
  text-align: center; }
  .title01:before {
    content: "";
    width: 0;
    height: 0;
    display: inline-block;
    border-width: 10px 0 10px 18px;
    border-color: transparent;
    border-left-color: #4ea14c;
    border-style: solid;
    margin: 0 10px 3px 0;
    vertical-align: baseline; }

.title02 {
  font-size: 35px;
  font-weight: 500;
  text-align: center;
  line-height: 1.5em; }
  .title02 span span {
    color: #4ea14c; }

.more {
  margin-top: 10px; }
  .more a {
    background-color: #4ea14c;
    color: #fff;
    font-size: 17px;
    font-weight: 500;
    letter-spacing: 0.12em;
    display: block;
    text-align: center;
    padding: 10px 0;
    border-radius: 5px; }
    .more a:hover {
      box-shadow: 0 0 0 1px #4ea14c inset, 0 10px 20px 0 rgba(0, 0, 0, 0.1);
      background-color: #51a84f; }

.more2 {
  margin-top: 10px; }
  .more2 a {
    background-color: #083d0e;
    color: #fff;
    font-size: 17px;
    font-weight: 500;
    letter-spacing: 0.12em;
    display: block;
    text-align: center;
    padding: 10px 0;
    border-radius: 5px; }
    .more2 a:hover {
      box-shadow: 0 0 0 1px #083d0e inset, 0 10px 20px 0 rgba(0, 0, 0, 0.1);
      background-color: #094610; }

.caselist {
  background-color: #FFF;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 24px;
  max-width: 650px;
  text-align: left; }
  .caselist:last-of-type {
    margin-bottom: 0; }
  .caselist header {
    background-color: #4ea14c; }
    .caselist header ul {
      padding: 5px; }
    .caselist header li {
      color: #FFF;
      padding: 6px 12px;
      margin: 0 5px;
      float: left;
      font-size: 13px; }
    .caselist header li:first-of-type {
      margin: 0 30px 0 0;
      font-size: 1rem;
      padding: 5px; }
    .caselist header li:nth-of-type(2) {
      background-color: #595758; }
    .caselist header li:last-of-type {
      background-color: #083D20; }
  .caselist .center {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    padding: 10px;
    width: 100%; }
  .caselist .image {
    text-align: center;
    margin-right: 10px;
    width: 20%;
    flex-grow: 1; }
    .caselist .image img {
      width: 60px;
      border-radius: 50%; }
  .caselist .text {
    font-weight: bold;
    font-size: 1.1em;
    float: left;
    line-height: 1.4em;
    width: 60%;
    text-decoration: underline;
    text-align: justify;
    text-justify: inter-ideograph;
    flex-grow: 1; }
    .caselist .text br {
      display: none; }
  .caselist .next {
    text-align: center;
    margin-left: 10px;
    width: 20%;
    flex-grow: 1; }
  .caselist a {
    display: block;
    position: relative; }
    .caselist a:hover .text {
      text-decoration: none; }

section.service.include {
  background-color: #fff;
  padding: 60px 0 0; }
  section.service.include ul {
    margin: 30px auto;
    text-align: center;
    width: 90%;
    max-width: 986px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center; }
    section.service.include ul li {
      background-color: #e7e4df;
      width: 32%;
      max-width: 320px;
      margin: 0 0.5% 2%;
      position: relative;
      padding: 14px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      -webkit-flex-direction: column;
      flex-direction: column;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      -webkit-justify-content: space-between;
      justify-content: space-between; }
      section.service.include ul li dl {
        width: 100%; }
        section.service.include ul li dl dt {
          font-size: 19px;
          letter-spacing: 0.06em;
          font-weight: 500;
          line-height: 1.5em;
          margin: 0 0 1em; }
          section.service.include ul li dl dt img {
            width: 100%;
            height: auto;
            display: block;
            margin-bottom: 20px; }
        section.service.include ul li dl dd {
          font-size: 14px;
          letter-spacing: 0.05em;
          line-height: 1.8em;
          text-align: center; }
          section.service.include ul li dl dd .title {
            font-size: 19px;
            letter-spacing: 0.06em;
            font-weight: 500;
            line-height: 1.5em;
            margin: 0 0 1em;
            display: block;
            text-align: center; }
      section.service.include ul li .bottom a .more {
        background-color: #4ea14c;
        color: #fff;
        font-size: 17px;
        font-weight: 500;
        letter-spacing: 0.12em;
        display: block;
        text-align: center;
        padding: 16px;
        border-radius: 5px; }
      section.service.include ul li a:hover .more {
        box-shadow: 0 0 0 1px #4ea14c inset, 0 10px 20px 0 rgba(0, 0, 0, 0.1);
        background-color: #51a84f; }
  section.service.include .outsourcing {
    background-color: #e7e4df;
    padding: 60px 0 10px; }
    section.service.include .outsourcing .title01:before {
      border-left-color: #ee8a2b; }
    section.service.include .outsourcing ul li {
      background-color: #fff; }
      section.service.include .outsourcing ul li .bottom a .more {
        background-color: #ee8a2b; }

.tushinlist > li {
  border: solid 2px #9FA0A0;
  padding: 16px 30px;
  margin-bottom: 8px; }

.tushinlist .left {
  width: 80%;
  float: left; }

.tushinlist .left li {
  float: left;
  margin-right: 8px; }
  .tushinlist .left li.date {
    line-height: 1.4em; }
  .tushinlist .left li.tag {
    background-color: #727171;
    display: block;
    color: #FFF;
    padding: 0.2em; }

.tushinlist .left p {
  margin-top: 0.5em; }
  .tushinlist .left p a {
    font-size: 1.4em;
    line-height: 1.5em;
    color: #595757 !important;
    font-weight: bold; }

.tushinlist .right {
  width: 20%;
  text-align: right;
  float: right; }
  .tushinlist .right img {
    width: 60px;
    border-radius: 50%; }

.sp {
  display: none; }

main.default {
  background-color: #fff;
  padding-bottom: 8em; }
  main.default h2 {
    font-size: 1.6em;
    text-align: center;
    padding: 40px 0;
    color: #4ea14c; }
    main.default h2:before {
      content: "ー "; }
    main.default h2:after {
      content: " ー"; }
  main.default section {
    width: 980px;
    margin: 0 auto; }
  main.default .list1 a:before {
    content: "＞  ";
    color: #4ea14c; }
  main.default .list1 a:hover {
    text-decoration: underline; }
  main.default .list1 dd {
    padding-left: 1em; }
  main.default .list1 > dd {
    padding-left: 0em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-box-lines: multiple;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap; }
    main.default .list1 > dd > dl {
      width: 50%;
      margin-top: 4em; }
      main.default .list1 > dd > dl li {
        margin-top: 2em; }

/* CSS Document */
#header {
  background: #fff !important;
  min-width: 980px; }
  #header .inner .left {
    padding-top: 3px;
    padding-bottom: 7px; }
    #header .inner .left .logo {
      width: 70px;
      display: inline-block;
      margin-bottom: -5px; }
      #header .inner .left .logo img {
        width: 100%;
        height: auto;
        display: block; }
    #header .inner .left .text {
      display: inline-block;
      font-size: 10px;
      letter-spacing: 0.06em;
      margin-left: 10px; }
    #header .inner .left .name {
      display: inline-block;
      text-align: center;
      margin-left: 80px; }
      #header .inner .left .name span {
        font-weight: 500;
        display: block;
        line-height: 1.25em; }
        #header .inner .left .name span.small {
          font-size: 14px; }
        #header .inner .left .name span.big {
          font-size: 28px; }
  #header .inner .right {
    position: relative;
    padding: 20px 120px 0 0; }
    #header .inner .right .tel {
      width: 186px;
      display: block; }
      #header .inner .right .tel img {
        width: 100%;
        height: auto;
        display: block; }
    #header .inner .right .text {
      font-size: 11px;
      line-height: 1.7em;
      letter-spacing: 0.12em; }
    #header .inner .right .contactform {
      width: 130px;
      position: absolute;
      top: 0;
      right: 0;
      z-index: 1; }
      #header .inner .right .contactform img {
        width: 100%;
        height: auto;
        display: block; }
      #header .inner .right .contactform:hover {
        opacity: 0.9; }
  #header nav {
    background-color: #083c0d;
    padding: 7px 0; }
    #header nav ul {
      display: block;
      width: 970px;
      adding-right: 120px; }
      #header nav ul li {
        display: inline-block;
        font-size: 14px;
        letter-spacing: 0.2em;
        color: #fff;
        border-left: 1px solid #fff;
        flex-grow: 1;
        text-align: center;
        padding: 0 0.8em 0 1.2em; }
        #header nav ul li a {
          display: block;
          padding: 3px 0; }
        #header nav ul li:first-of-type {
          border: none; }
  #header [data-spnav="wrap"] {
    display: none; }

/* CSS Document */
#footer {
  background-color: #231815;
  padding-top: 20px;
  text-align: center;
  min-width: 980px; }
  #footer .logo {
    color: #fff;
    display: inline-block;
    margin-right: 80px;
    line-height: 1.5em; }
    #footer .logo img {
      width: 75px;
      height: auto;
      margin-right: 10px; }
    #footer .logo > span {
      font-size: 25px; }
      #footer .logo > span > span {
        font-size: 36px; }
  #footer .catch {
    color: #fff;
    font-size: 22px;
    display: inline-block;
    line-height: 1.5em;
    letter-spacing: 0.16em; }
  #footer nav {
    margin-top: 40px; }
    #footer nav dl {
      display: inline-block;
      vertical-align: top;
      margin: 0 20px; }
      #footer nav dl dt {
        color: #fff;
        font-size: 14px;
        line-height: 1.5em;
        text-align: left;
        letter-spacing: 0.14em; }
      #footer nav dl dd ul li {
        color: #fff;
        font-size: 14px;
        line-height: 1.5em;
        text-align: left;
        margin: 1em 0;
        letter-spacing: 0.14em;
        padding-left: 1em; }
        #footer nav dl dd ul li a {
          margin-left: -1em; }
      #footer nav dl a:before {
        content: "＞";
        color: #4ea14c;
        margin-right: 0.5em; }
  #footer > .inner {
    margin-top: 20px; }
    #footer > .inner .address {
      color: #fff;
      text-align: left;
      font-size: 12px;
      line-height: 1.5em;
      letter-spacing: 0.12em; }
      #footer > .inner .address > span {
        display: block; }
      #footer > .inner .address a {
        color: #fff; }
    #footer > .inner .tel {
      color: #fff;
      font-size: 11px;
      line-height: 1.5em;
      letter-spacing: 0.12em;
      margin-top: 10px; }
      #footer > .inner .tel img {
        width: 185px;
        height: auto;
        display: inline-block;
        vertical-align: baseline; }
      #footer > .inner .tel span {
        display: inline-block;
        margin-left: 1em;
        vertical-align: baseline; }
  #footer .bottom {
    background-color: #083c0d;
    position: relative;
    margin-top: 10px;
    padding: 10px 0; }
    #footer .bottom .inner .links li {
      color: #fff;
      font-size: 12px;
      display: inline-block;
      border-left: 1px solid #fff;
      margin-left: 1.5em;
      padding-left: 2em;
      letter-spacing: 0.22em; }
      #footer .bottom .inner .links li:first-of-type {
        border-left: none;
        margin-left: 0;
        padding-left: 0; }
    #footer .bottom .inner .copy {
      color: #fff;
      font-size: 12px;
      letter-spacing: 0.16em; }
    #footer .bottom .contactform {
      position: absolute;
      bottom: 0;
      left: 50%;
      margin-left: -65px; }
      #footer .bottom .contactform img {
        width: 130px;
        height: auto;
        display: block; }

/* CSS Document */
#home .headline {
  position: relative; }
  #home .headline .text {
    background: url(../images/home_headline_bg.jpg) no-repeat 50% 50%;
    background-size: cover;
    height: 545px;
    text-align: center;
    padding-top: 80px; }
    #home .headline .text p {
      color: #fff; }
      #home .headline .text p span {
        display: block; }
      #home .headline .text p.caption {
        font-size: 28px;
        line-height: 1.5em;
        letter-spacing: 0.16em; }
      #home .headline .text p.catch {
        font-size: 58px;
        line-height: 1.25em;
        letter-spacing: 0.08em;
        font-weight: 500;
        margin-top: 10px; }
      #home .headline .text p.lead {
        font-size: 19px;
        line-height: 2em;
        letter-spacing: 0.06em;
        font-weight: 500;
        margin-top: 15px; }
  #home .headline .links {
    position: absolute;
    top: 130px;
    right: 50%;
    margin-right: -460px; }
    #home .headline .links p {
      margin-top: 20px; }
      #home .headline .links p img {
        width: 90px;
        height: auto;
        display: block; }
      #home .headline .links p span {
        width: 96px;
        display: block;
        color: #fff;
        font-size: 13px;
        text-align: center;
        margin-top: 3px;
        line-height: 1.5em;
        vertical-align: middle; }
        #home .headline .links p span:after {
          content: "";
          display: inline-block;
          border-width: 6px 0 6px 6px;
          border-color: transparent;
          border-left-color: #fff;
          border-style: solid;
          vertical-align: middle;
          margin-left: 0.4em; }
      #home .headline .links p:first-of-type {
        margin-top: 0; }
    #home .headline .links a {
      display: block; }
      #home .headline .links a:hover {
        opacity: 0.8; }

#home .efforts {
  background-color: #4ea14c;
  padding-bottom: 60px; }
  #home .efforts h2 {
    width: 721px;
    margin: -130px auto 0;
    position: relative;
    z-index: 1; }
    #home .efforts h2 img {
      width: 100%;
      height: auto;
      display: block; }
  #home .efforts p {
    font-size: 24px;
    line-height: 1.5em;
    letter-spacing: 0.18em;
    color: #fff;
    text-align: center;
    margin-top: 15px; }
    #home .efforts p a {
      margin-top: 25px;
      box-shadow: 0 0 40px 0 rgba(35, 24, 21, 0.5); }
      #home .efforts p a:hover {
        box-shadow: 0 0 10px 0 rgba(35, 24, 21, 0.5); }

#home .case {
  background-color: #706967;
  background-image: url(../images/case/main.jpg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  padding: 80px 0;
  text-align: center; }
  #home .case h2 {
    color: #fff;
    line-height: 1.2em;
    margin-bottom: 30px; }
    #home .case h2 > span {
      display: block; }
      #home .case h2 > span:nth-of-type(1) {
        font-size: 25px; }
      #home .case h2 > span:nth-of-type(2) {
        font-size: 35px; }
  #home .case .more {
    width: 280px;
    margin: 30px auto 0; }

#home .introduction {
  background-color: #fff;
  padding-bottom: 60px; }
  #home .introduction figure {
    width: 100%;
    margin-bottom: 60px; }
    #home .introduction figure img {
      width: 100%;
      height: auto;
      display: block; }
  #home .introduction p {
    font-size: 14px;
    letter-spacing: 0.14em;
    line-height: 1.5em;
    margin: 30px auto 0;
    width: 740px; }
    #home .introduction p span {
      display: inline-block; }
    #home .introduction p.links {
      text-align: center; }
      #home .introduction p.links a {
        margin: 0 10px;
        display: inline-block;
        width: 100%;
        max-width: 307px;
        padding: 20px;
        font-size: 25px;
        letter-spacing: 0.22em; }

#home .wa {
  padding: 70px 0;
  background-image: url(../images/home_wa_bg.jpg);
  background-repeat: repeat-x;
  background-position: 0 0;
  background-size: contain; }
  #home .wa .inner {
    width: 100%;
    max-width: 906px; }
    #home .wa .inner > .left {
      background: url(../images/home_wa.png) no-repeat 50% 0;
      background-size: 160px;
      padding-top: 176px;
      text-align: center; }
      #home .wa .inner > .left h2 {
        color: #fff;
        font-size: 26px;
        letter-spacing: 0.12em; }
      #home .wa .inner > .left p {
        margin-top: 10px;
        color: #fff;
        font-weight: 500;
        font-size: 15px;
        line-height: 1.75em;
        letter-spacing: 0.16em; }
        #home .wa .inner > .left p span {
          display: block; }
        #home .wa .inner > .left p.more {
          margin-top: 50px; }
          #home .wa .inner > .left p.more a {
            width: 207px;
            margin: 0 auto;
            font-size: 15px;
            padding: 4px; }
    #home .wa .inner > .right {
      width: 462px;
      margin: 30px auto; }
      #home .wa .inner > .right li {
        margin-top: 4px; }
        #home .wa .inner > .right li a {
          background-color: #fff;
          display: block;
          padding: 14px 14px 14px 28px; }
          #home .wa .inner > .right li a .left {
            width: 336px; }
            #home .wa .inner > .right li a .left p time {
              color: #595757;
              font-size: 15px;
              letter-spacing: 0.06em; }
            #home .wa .inner > .right li a .left p span {
              background-color: #717071;
              display: inline-block;
              font-size: 14px;
              line-height: 1em;
              padding: 3px 6px;
              margin-left: 5px;
              color: #fff;
              letter-spacing: 0.08em; }
            #home .wa .inner > .right li a .left p.title {
              color: #595757;
              font-size: 18px;
              letter-spacing: 0.06em;
              margin-top: 0.25em;
              line-height: 1.5em;
              font-weight: 500; }
          #home .wa .inner > .right li a figure {
            width: 60px;
            height: 60px;
            border-radius: 50%;
            overflow: hidden; }
            #home .wa .inner > .right li a figure img {
              width: 100%;
              height: auto;
              display: block; }
        #home .wa .inner > .right li:first-of-type {
          margin-top: 0; }
    #home .wa .inner .more,
    #home .wa .inner .more2 {
      width: 207px;
      margin: 0 auto; }

#home .seminar {
  background-color: #fff;
  padding: 20px 0; }
  #home .seminar h2 {
    font-size: 19.6px;
    text-align: center;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    padding-bottom: 0.2em;
    width: 90vw;
    max-width: 568px;
    margin: 0 auto; }
  #home .seminar .flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    margin: 20px auto 0;
    width: 90vw;
    max-width: 568px;
    border-bottom: 1px solid #ccc;
    padding-bottom: 1em; }
    #home .seminar .flex:last-of-type {
      border-bottom-style: none;
      padding-bottom: 0; }
    #home .seminar .flex figure {
      width: 20vw;
      height: 13.33333vw;
      max-width: 150px;
      max-height: 100px;
      overflow: hidden; }
    #home .seminar .flex dl {
      width: 65vw;
      max-width: 396px; }
      #home .seminar .flex dl dt {
        font-size: 22.4px;
        font-weight: 800;
        line-height: 1.3em;
        margin-bottom: 0.5em; }
      #home .seminar .flex dl dd {
        font-size: 14px;
        margin-top: 0.3em;
        line-height: 1.3em; }
        #home .seminar .flex dl dd time {
          font-size: inherit; }
        #home .seminar .flex dl dd a {
          font-size: 19.6px;
          display: block;
          max-width: 206px;
          background-color: #225127;
          padding: 1em;
          color: #fff;
          text-align: center;
          border-radius: 5px;
          margin-top: 1em; }
          #home .seminar .flex dl dd a:hover {
            box-shadow: 0 5px 20px 0 rgba(35, 24, 21, 0.3); }

#home .mykomon {
  background-color: #d2d2d2;
  text-align: center;
  padding: 20px; }
  #home .mykomon a {
    display: inline-block;
    color: #3a3a3a;
    font-weight: 500;
    font-size: 14px;
    position: relative;
    padding-right: 2.5em;
    line-height: 1.3em; }
    #home .mykomon a span {
      color: #23512c;
      font-size: 16px;
      font-weight: 500;
      margin-right: 0.5em; }
    #home .mykomon a:before, #home .mykomon a:after {
      content: "";
      position: absolute; }
    #home .mykomon a:before {
      width: 2em;
      height: 2em;
      background-color: #225127;
      display: block;
      top: calc( 50% - 1em);
      right: 0;
      border-radius: 50%; }
    #home .mykomon a:after {
      width: 0;
      height: 0;
      border-width: 0.5em;
      border-color: transparent transparent transparent #fff;
      border-style: solid;
      display: block;
      top: calc( 50% - 0.5em);
      right: 0.15em; }

/* CSS Document */
#home.jigyosyo {
  background-color: #FFFFFF; }
  #home.jigyosyo .mv {
    background-image: url(../images/jigyosyo/main.jpg);
    background-size: cover;
    background-position: center center;
    padding-top: 70px;
    height: 100%;
    text-align: center;
    padding-bottom: 140px; }
    #home.jigyosyo .mv h2 {
      font-size: 1.6em;
      font-weight: bold;
      color: #FFF;
      margin: 24px 0; }
    #home.jigyosyo .mv ul {
      max-width: 700px;
      margin: 0 auto; }
      #home.jigyosyo .mv ul > li {
        width: 25%;
        float: left;
        text-align: center; }
  #home.jigyosyo .mission {
    background-image: url(../images/jigyosyo/bg.jpg);
    background-repeat: no-repeat;
    background-position: 50% 0%;
    background-size: cover;
    padding-bottom: 14vw; }
    #home.jigyosyo .mission .wrap {
      padding: 0;
      max-width: none;
      width: 64vw; }
    #home.jigyosyo .mission h2 {
      font-size: 2.2vw;
      text-align: center;
      padding: 5vw 0 0;
      color: #4ea14c;
      font-weight: 100; }
    #home.jigyosyo .mission p {
      font-size: 1.7vw;
      text-align: center;
      line-height: 2em;
      margin: 2vw auto;
      font-weight: 200; }
      #home.jigyosyo .mission p:last-of-type {
        margin-bottom: 0; }
  #home.jigyosyo h3 {
    font-family: "YakuHanMP", "Sawarabi Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-size: 3vw;
    line-height: 1.4em;
    text-align: center;
    margin: 4vw 0; }
    #home.jigyosyo h3 span {
      font-size: 1.25em; }
  #home.jigyosyo > .top {
    position: relative;
    z-index: 1;
    background-color: #FFF; }
  #home.jigyosyo .wrap {
    padding: 20px 40px; }
  #home.jigyosyo > .wrap > h2 {
    font-size: 1.6em;
    text-align: center;
    padding: 40px 0 0;
    color: #4ea14c; }
  #home.jigyosyo > .wrap > h3 {
    font-size: 2em;
    line-height: 1.4em;
    margin-bottom: 50px; }
  #home.jigyosyo > .wrap .image {
    margin-top: 20px; }
  #home.jigyosyo p {
    line-height: 34px; }

#home.jigyosyo .comment {
  position: relative;
  margin-bottom: 40px; }

#home.jigyosyo .comment p {
  font-family: "YakuHanMP", "Sawarabi Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
  max-width: 470px;
  text-align: justify;
  text-justify: inter-ideograph;
  line-height: 1.8em;
  letter-spacing: 0.04em; }

#home.jigyosyo .comment .photo {
  position: absolute;
  bottom: 0;
  right: 0;
  max-width: 216px; }

#home.jigyosyo .staff {
  background-color: #E8E5DF; }

#home.jigyosyo .gaiyo {
  background-color: #E8E5DF;
  padding-bottom: 30px; }

#home.jigyosyo .gaiyo .title {
  font-size: 1.6em;
  text-align: center;
  padding: 40px 0;
  color: #595757; }

#home.jigyosyo .gaiyo table {
  width: 100%; }
  #home.jigyosyo .gaiyo table tr {
    border-bottom: solid 1px #595757; }
    #home.jigyosyo .gaiyo table tr:last-of-type {
      border-bottom: none; }
  #home.jigyosyo .gaiyo table th {
    width: 12%;
    background-color: #E8E5DF;
    text-align: left;
    color: #231815;
    vertical-align: top;
    font-size: 1em;
    line-height: 34px;
    font-size: 14px;
    color: #595757; }
  #home.jigyosyo .gaiyo table td {
    line-height: 34px;
    font-size: 14px;
    color: #595757; }
    #home.jigyosyo .gaiyo table td dl {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-box-pack: start;
      -ms-flex-pack: start;
      -webkit-justify-content: flex-start;
      justify-content: flex-start;
      margin-top: 0.5em;
      font-size: inherit;
      color: inherit; }
      #home.jigyosyo .gaiyo table td dl:first-of-type {
        margin-top: 0; }
      #home.jigyosyo .gaiyo table td dl dt {
        width: 20%;
        line-height: 2em;
        font-size: inherit;
        color: inherit; }
      #home.jigyosyo .gaiyo table td dl dd {
        width: 80%;
        line-height: 2em;
        font-size: inherit;
        color: inherit; }

#home.jigyosyo .access h3 {
  text-align: center;
  margin-top: 36px;
  margin-bottom: 0;
  font-family: "YakuHanJP", "Noto Sans Japanese", YuGothic, "Yu Gothic", Meiryo, "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 42px;
  color: #595757;
  font-weight: 200; }

#home.jigyosyo .access section {
  padding-bottom: 40px; }

#home.jigyosyo .access .left {
  width: 47%;
  float: left; }

#home.jigyosyo .access .right {
  width: 48%;
  float: right;
  font-size: 14px; }

#home.jigyosyo .access h4 {
  width: 100px;
  position: relative;
  margin: 30px 0 0;
  display: block;
  background-color: #FFF;
  font-size: 1.2em;
  color: #595757; }

#home.jigyosyo .access .border {
  margin-top: -2px;
  border-top: solid 1px #000;
  margin-bottom: 20px; }

/* CSS Document */
#home.case {
  background-color: #D7E3CD;
  padding-top: 40px; }
  #home.case h2 {
    margin-bottom: 1em; }
  #home.case > .wrap {
    background-color: #FFFFFF;
    padding: 60px;
    margin-top: 40px; }
  #home.case.index {
    padding-bottom: 40px; }
    #home.case.index > .wrap {
      background-color: transparent;
      padding: 0 0 50px;
      margin-top: 0; }

#home.case > .wrap .description {
  line-height: 1.5em; }

/* header */
#home.case > .wrap > header > .left {
  width: 68%;
  float: left; }
  #home.case > .wrap > header > .left > .title {
    font-size: 1.6em;
    font-weight: bold;
    margin-top: -93px;
    background-color: #FFF;
    padding: 10px 30px;
    max-width: 270px;
    text-align: center;
    border-radius: 8px;
    color: #4ea14c; }
  #home.case > .wrap > header > .left > h2 {
    margin-top: 48px;
    font-size: 1.6em;
    font-weight: bold;
    line-height: 1.3em;
    text-align: justify;
    text-justify: inter-ideograph; }
  #home.case > .wrap > header > .left > ul {
    margin-top: 16px;
    border-top: dashed 2px #595757;
    padding: 8px 16px;
    border-bottom: dashed 2px #595757; }
    #home.case > .wrap > header > .left > ul > li {
      float: left;
      font-size: 0.9em;
      padding: 3px 6px;
      color: #FFF;
      line-height: 1.2em; }
      #home.case > .wrap > header > .left > ul > li:first-of-type {
        margin-right: 8px;
        background-color: #595757; }
      #home.case > .wrap > header > .left > ul > li:last-of-type {
        background-color: #083d0e; }
  #home.case > .wrap > header > .left .name {
    margin-top: 1em;
    text-align: right; }

#home.case > .wrap > header > .right {
  width: 26%;
  float: right; }

/* common */
#home.case > .wrap article {
  position: relative; }

#home.case > .wrap .sub-title {
  position: absolute;
  top: 30px;
  left: 0;
  font-size: 1.4em;
  color: #FFF;
  background-color: #4ea24d;
  padding: 8px 0;
  width: 257px;
  text-align: center;
  height: 37px; }

#home.case > .wrap .sub-title > img {
  position: absolute;
  top: 0;
  width: 13px;
  left: -13px; }

#home.case > .wrap .sub-title > span {
  font-size: 0.6em;
  margin-right: 6px; }

#home.case > .wrap > article,
#home.case > .wrap > section {
  background-color: #e7e4df; }

/* article */
#home.case > .wrap > article {
  padding: 80px 60px 40px;
  margin: 50px 0 40px; }

#home.case > .wrap > article:after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -35px;
  border: 20px solid transparent;
  margin-left: -10px;
  border-top: 15px solid #e7e4df; }

#home.case > .wrap > article > h3 {
  font-size: 1.4em;
  font-weight: bold;
  line-height: 1.2em; }

#home.case > .wrap > article > p {
  margin-top: 14px;
  text-align: justify;
  text-justify: inter-ideograph; }

/* section */
#home.case > .wrap > section > .title {
  background-color: #083d0e;
  font-size: 1.2em;
  text-align: center;
  color: #FFF;
  padding: 8px 0;
  font-weight: bold; }

#home.case > .wrap > section > h2 {
  font-size: 1.4em;
  line-height: 1.2em;
  font-weight: bold;
  text-align: justify;
  text-justify: inter-ideograph;
  padding-bottom: 20px;
  background-image: url(../images/case/border.jpg);
  background-repeat: repeat-x;
  background-position: bottom;
  max-width: 590px;
  margin: 40px auto 20px; }

#home.case > .wrap > section > .description {
  max-width: 590px;
  padding: 0 12px;
  margin: 20px auto;
  text-align: justify;
  text-justify: inter-ideograph; }

#home.case > .wrap > section > article {
  border-top: solid 1px #bcb4a4; }

#home.case > .wrap > section > article > .sub-title {
  width: 105px; }

#home.case > .wrap > section > article > h3 {
  font-size: 1.3em;
  line-height: 1.2em;
  font-weight: bold;
  color: #4ea24d;
  padding: 44px 60px 16px 120px;
  text-align: justify;
  text-justify: inter-ideograph; }

#home.case > .wrap > section > article > .description {
  padding: 0 55px 40px 120px;
  text-align: justify;
  text-justify: inter-ideograph; }

#home.case > .wrap > .commenttitle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  margin: 50px 0; }

/* profile */
#home.case > .wrap > div > .title {
  font-size: 1.2em;
  font-weight: bold;
  margin-right: 0.5em; }

#home.case > .wrap .profile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center; }

#home.case > .wrap .profile > li {
  padding-right: 10px; }

#home.case > .wrap .profile > li img {
  width: 90px;
  border-radius: 50%; }

#home.case > .wrap .profile > li:nth-of-type(2) {
  font-size: 1.3em;
  font-weight: bold; }

#home.case > .wrap .profile > li:nth-of-type(2) > span {
  font-size: 14px;
  font-weight: normal; }

#home.case > .wrap .profile > li:nth-of-type(3) > a {
  background-color: #61ab60;
  color: #FFF;
  padding: 2px 4px;
  border-radius: 5px;
  font-size: 14px; }

/* comment */
#home.case > .wrap > .comment {
  background-color: #e8f5fd;
  position: relative; }

#home.case > .wrap > .comment {
  padding: 16px 30px 30px;
  margin: 50px 0 40px;
  border-radius: 10px; }

#home.case > .wrap > .comment:after {
  content: "";
  width: 0;
  height: 0;
  position: absolute;
  left: 43%;
  top: -30px;
  bottom: 0;
  border: 15px solid;
  border-color: transparent #e8f5fd #e8f5fd transparent; }

/* link */
#home.case > .link {
  max-width: 648px;
  margin: 60px auto; }

#home.case > .link > li {
  width: 300px;
  float: left;
  margin: 0 12px; }
  #home.case > .link > li a {
    display: block;
    background-color: #083d0e;
    text-align: center;
    color: #FFF;
    padding: 20px 0;
    font-size: 1.6em;
    border-radius: 10px; }

/* CSS Document */
#home.zeirishi.index {
  padding: 0 0 90px; }
  #home.zeirishi.index .mv {
    height: auto;
    background-color: #4ea14c;
    margin-bottom: 115px;
    position: relative; }
    #home.zeirishi.index .mv figure img {
      width: 100%; }
    #home.zeirishi.index .mv .title {
      text-align: center;
      margin-top: -110px; }
    #home.zeirishi.index .mv .catch {
      font-size: 1.8em;
      text-align: center;
      padding: 0;
      font-weight: 500; }
    #home.zeirishi.index .mv .text {
      color: #fff;
      max-width: 694px;
      margin: 0.5em auto 0;
      text-align: justify;
      text-justify: inter-ideograph;
      font-size: 0.9em;
      line-height: 1.7em; }
    #home.zeirishi.index .mv:after {
      content: "";
      border-width: 80px 50vw 0;
      border-style: solid;
      border-color: #4ea14c transparent transparent;
      position: absolute;
      bottom: -80px;
      left: 0; }
  #home.zeirishi.index h2 {
    font-size: 35px;
    letter-spacing: 0.08em;
    font-weight: 500;
    text-align: center; }
    #home.zeirishi.index h2:before {
      content: "";
      width: 0;
      height: 0;
      display: inline-block;
      border-width: 10px 0 10px 18px;
      border-color: transparent;
      border-left-color: #4ea14c;
      border-style: solid;
      margin: 0 10px 3px 0;
      vertical-align: baseline; }
  #home.zeirishi.index section {
    width: 980px;
    margin: 0 auto; }
    #home.zeirishi.index section h3 {
      position: relative;
      margin: 30px 0 0;
      display: block;
      background-color: #FFF;
      font-size: 1.2em;
      display: inline-block;
      padding-right: 0.5em; }
    #home.zeirishi.index section .border {
      margin-top: -2px;
      border-top: solid 1px #000; }
    #home.zeirishi.index section > figure {
      margin: 20px 0; }
    #home.zeirishi.index section ul {
      margin: 8px -8px 0;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-box-pack: start;
      -ms-flex-pack: start;
      -webkit-justify-content: flex-start;
      justify-content: flex-start;
      -webkit-box-lines: multiple;
      -ms-flex-wrap: wrap;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap; }
      #home.zeirishi.index section ul li {
        width: 230px;
        display: block;
        vertical-align: top;
        margin: 8px;
        background-color: #e7e4df;
        padding: 10px; }
        #home.zeirishi.index section ul li a {
          margin: -10px;
          padding: 10px;
          height: calc( 100% + 20px);
          display: block; }
          #home.zeirishi.index section ul li a:hover {
            box-shadow: 0 0 0 1px #4ea14c inset, 0 10px 20px 0 rgba(0, 0, 0, 0.1); }
            #home.zeirishi.index section ul li a:hover .more {
              background-color: #51a84f; }
        #home.zeirishi.index section ul li figure {
          width: 210px;
          height: 150px;
          overflow: hidden;
          background-color: #ccc; }
        #home.zeirishi.index section ul li .cat {
          background-color: #083d0e;
          color: #fff;
          font-size: 14px;
          padding: 0.2em;
          text-align: center; }
        #home.zeirishi.index section ul li .name {
          font-size: 20px;
          font-weight: bold;
          margin-top: 0.75em; }
        #home.zeirishi.index section ul li .alphabet, #home.zeirishi.index section ul li .num {
          font-size: 12px;
          line-height: 1.2em; }
        #home.zeirishi.index section ul li .alphabet {
          margin-top: 1em; }
        #home.zeirishi.index section ul li .more {
          background-color: #4ea14c;
          color: #fff;
          font-size: 17px;
          font-weight: 500;
          letter-spacing: 0.12em;
          display: block;
          text-align: center;
          padding: 10px 0;
          border-radius: 5px;
          -webkit-transition-delay: 0;
          -moz-transition-delay: 0;
          -ms-transition-delay: 0;
          -o-transition-delay: 0;
          transition-delay: 0;
          -webkit-transition-duration: 0.1s;
          -moz-transition-duration: 0.1s;
          -ms-transition-duration: 0.1s;
          -o-transition-duration: 0.1s;
          transition-duration: 0.1s;
          -webkit-transition-property: all;
          -moz-transition-property: all;
          -ms-transition-property: all;
          -o-transition-property: all;
          transition-property: all;
          -webkit-transition-timing-function: ease;
          -moz-transition-timing-function: ease;
          -ms-transition-timing-function: ease;
          -o-transition-timing-function: ease;
          transition-timing-function: ease; }

#home.zeirishi {
  background-color: #FFFFFF; }
  #home.zeirishi .mv {
    background-color: #38813a;
    height: 344px; }
    #home.zeirishi .mv .wrap {
      width: 806px;
      padding: 0;
      position: relative; }
    #home.zeirishi .mv .left2 {
      padding-right: 38px;
      text-align: left; }
    #home.zeirishi .mv .catch {
      font-size: 24px;
      line-height: 1.4em;
      color: #fff;
      font-weight: 300;
      padding: 58px 0 0;
      margin-left: -33px;
      position: relative;
      z-index: 2; }
      #home.zeirishi .mv .catch > span {
        display: block;
        margin-bottom: 1px; }
        #home.zeirishi .mv .catch > span span {
          display: inline-block;
          background-color: #282828;
          padding: 0.1em 0.5em; }
    #home.zeirishi .mv .class {
      font-size: 14px;
      font-weight: 700;
      color: #fff;
      line-height: 1.5em;
      position: relative;
      z-index: 2;
      margin-top: 40px; }
    #home.zeirishi .mv .name {
      font-size: 36px;
      color: #fff;
      line-height: 1.5em;
      position: relative;
      z-index: 2; }
      #home.zeirishi .mv .name span {
        font-size: 24px;
        font-style: italic;
        margin-left: 0.7em; }
    #home.zeirishi .mv .belong {
      background-color: #80c269;
      font-size: 12px;
      color: #000;
      margin: 0.4em -60px 0 -22px;
      padding: 0.5em 0 0.5em 22px;
      position: relative;
      z-index: 0; }
      #home.zeirishi .mv .belong:before, #home.zeirishi .mv .belong:after {
        position: absolute;
        top: 0;
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-color: transparent; }
      #home.zeirishi .mv .belong:before {
        left: -4px;
        border-width: 2em 0 0 4px;
        border-top-color: #80c269; }
      #home.zeirishi .mv .belong:after {
        right: -4px;
        border-width: 0 4px 2em 0;
        border-bottom-color: #80c269; }
    #home.zeirishi .mv .img {
      width: 408px;
      height: 344px;
      position: absolute;
      top: 0;
      right: 0;
      z-index: 1; }
      #home.zeirishi .mv .img img {
        width: 408px;
        height: 344px; }
  #home.zeirishi > .wrap {
    max-width: 806px;
    padding: 0 16px; }
    #home.zeirishi > .wrap h2 {
      font-size: 2em;
      line-height: 1.2em;
      color: #439f4a;
      margin: 60px 0 30px;
      font-weight: 500; }
    #home.zeirishi > .wrap p {
      text-align: justify;
      text-justify: inter-ideograph;
      font-size: 14px;
      line-height: 2em; }
    #home.zeirishi > .wrap .left {
      width: 300px;
      float: left; }
    #home.zeirishi > .wrap .right {
      width: 440px;
      float: right; }
    #home.zeirishi > .wrap .left2 {
      width: 440px;
      float: left; }
    #home.zeirishi > .wrap .right2 {
      width: 300px;
      float: right; }
    #home.zeirishi > .wrap section {
      margin-top: 40px; }
      #home.zeirishi > .wrap section h2 {
        font-size: 1.6em;
        margin: 40px 0 30px; }
      #home.zeirishi > .wrap section table {
        width: 100%; }
      #home.zeirishi > .wrap section th {
        width: 8%;
        background-color: #FFFFFF;
        color: #231815;
        text-align: left;
        vertical-align: top;
        font-size: 1em; }
      #home.zeirishi > .wrap section td {
        width: 92%;
        background-color: #FFFFFF;
        vertical-align: top;
        font-size: 1em;
        line-height: 16px; }
      #home.zeirishi > .wrap section.biography, #home.zeirishi > .wrap section.seminar {
        position: relative;
        border-top: 1px solid #d2d2d2; }
        #home.zeirishi > .wrap section.biography h2, #home.zeirishi > .wrap section.seminar h2 {
          font-size: 20px;
          background-color: #fff;
          margin: 0;
          display: inline-block;
          position: absolute;
          top: -0.75em;
          left: 0;
          width: 100%;
          max-width: none; }
        #home.zeirishi > .wrap section.biography table, #home.zeirishi > .wrap section.seminar table {
          margin-top: 15px; }
          #home.zeirishi > .wrap section.biography table tr, #home.zeirishi > .wrap section.seminar table tr {
            border: none; }
            #home.zeirishi > .wrap section.biography table tr th, #home.zeirishi > .wrap section.seminar table tr th {
              padding: 0.5em 0;
              line-height: 1.5em;
              font-size: 14px; }
            #home.zeirishi > .wrap section.biography table tr td, #home.zeirishi > .wrap section.seminar table tr td {
              width: auto;
              padding: 0.5em 0;
              line-height: 1.5em;
              font-size: 14px; }
      #home.zeirishi > .wrap section.biography th {
        width: 4em; }
      #home.zeirishi > .wrap section.biography dl {
        background-color: #eeeeee;
        padding: 18px;
        margin-top: 18px; }
        #home.zeirishi > .wrap section.biography dl dt {
          color: #0c3b0d;
          font-size: 18px;
          font-weight: 700;
          margin-bottom: 1em; }
        #home.zeirishi > .wrap section.biography dl dd {
          font-size: 14px;
          line-height: 1.5em; }
      #home.zeirishi > .wrap section.seminar th {
        width: 6em; }
    #home.zeirishi > .wrap .specialized .txt {
      background-color: #f0f0f0;
      display: table-cell;
      width: 50%;
      padding: 20px; }
      #home.zeirishi > .wrap .specialized .txt h2 {
        font-size: 18px;
        font-weight: 700;
        color: #0c3b0d;
        margin: 0; }
      #home.zeirishi > .wrap .specialized .txt p {
        border-top: 2px solid #d2d2d2;
        border-bottom: 2px solid #d2d2d2;
        font-size: 14px;
        line-height: 2em;
        padding: 1em 0;
        color: #333333;
        font-weight: 200;
        margin-top: 16px; }
      #home.zeirishi > .wrap .specialized .txt ul {
        margin-top: 1.5em; }
        #home.zeirishi > .wrap .specialized .txt ul li {
          font-size: 14px;
          color: #333;
          position: relative;
          padding-left: 1em;
          line-height: 1.5em;
          margin: 0.5em 0 0; }
          #home.zeirishi > .wrap .specialized .txt ul li:before {
            content: "";
            width: 0.4em;
            height: 0.4em;
            vertical-align: middle;
            background-color: #333;
            border-radius: 50%;
            position: absolute;
            top: 0.55em;
            left: 0; }
      #home.zeirishi > .wrap .specialized .txt small {
        margin-top: 2em;
        color: #49a14b;
        position: relative;
        font-size: 12px;
        padding-left: 1.5em;
        display: block;
        line-height: 1.5em; }
        #home.zeirishi > .wrap .specialized .txt small:before {
          content: "※";
          position: absolute;
          top: 0;
          left: 0;
          width: 1em;
          height: 1.5em;
          line-height: 1.5em;
          text-align: left; }
        #home.zeirishi > .wrap .specialized .txt small span {
          display: block; }
    #home.zeirishi > .wrap .specialized .img {
      display: table-cell;
      width: 50%;
      background-size: cover;
      background-repeat: no-repeat;
      background-position: 50% 50%; }
  #home.zeirishi .case-area {
    text-align: center;
    padding: 30px 0;
    margin-top: 80px;
    background-color: #d7e3ce; }
    #home.zeirishi .case-area h2 {
      color: #0c3b0d;
      font-size: 24px;
      font-weight: 700;
      margin-bottom: 20px; }
  #home.zeirishi .staff {
    background-color: #4EA14C;
    padding-bottom: 40px; }
    #home.zeirishi .staff .title {
      text-align: center;
      padding: 40px 0;
      font-size: 2em;
      color: #fff; }
    #home.zeirishi .staff ul {
      text-align: center; }
      #home.zeirishi .staff ul li {
        width: 8em;
        text-align: center;
        display: inline-block;
        vertical-align: top;
        padding: 0 0.5em; }
        #home.zeirishi .staff ul li p {
          margin: 8px 0;
          font-size: 12px;
          color: #fff; }
        #home.zeirishi .staff ul li .img {
          width: 60px;
          height: 60px;
          overflow: hidden;
          border-radius: 50%;
          background-color: #999;
          display: block;
          margin: 0 auto; }
          #home.zeirishi .staff ul li .img img {
            border-radius: 50%;
            width: 60px;
            height: auto;
            display: block;
            margin: 0 auto; }
        #home.zeirishi .staff ul li.more a {
          padding: 1em 2em 1em 1em;
          background-color: #235228;
          font-size: 12px;
          position: relative;
          display: inline-block; }
          #home.zeirishi .staff ul li.more a:after {
            content: "";
            position: absolute;
            top: 50%;
            margin-top: -0.5em;
            right: 1em;
            border-width: 0.5em 0 0.5em 0.5em;
            border-style: solid;
            border-color: transparent transparent transparent #fff; }

/* CSS Document */
#home.gyomu-annai {
  background-color: #E8E5DF; }
  #home.gyomu-annai .mv {
    position: relative;
    background-image: url(../images/gyomu-annai/main-bg.jpg);
    background-size: cover;
    background-position: center center;
    padding-top: 90px;
    padding-bottom: 45px;
    height: 100%;
    text-align: center; }
    #home.gyomu-annai .mv.medical {
      background-image: url(../images/gyomu-annai/main-bg2.jpg); }
    #home.gyomu-annai .mv.welfare {
      background-image: url(../images/gyomu-annai/main-bg3.jpg); }
    #home.gyomu-annai .mv.labor {
      background-image: url(../images/gyomu-annai/main-bg4.jpg); }
    #home.gyomu-annai .mv.succession {
      background-image: url(../images/gyomu-annai/main-bg5.jpg); }
    #home.gyomu-annai .mv.inheritance {
      background-image: url(../images/gyomu-annai/main-bg6.jpg); }
    #home.gyomu-annai .mv.accounting {
      background-image: url(../images/gyomu-annai/main-bg7.jpg); }
    #home.gyomu-annai .mv.personnel {
      background-image: url(../images/gyomu-annai/main-bg8.jpg); }
    #home.gyomu-annai .mv div {
      text-align: center; }
      #home.gyomu-annai .mv div h2 {
        max-width: 300px;
        margin: 0 auto 20px;
        background-color: #377B37;
        padding: 8px 16px;
        color: #FFF;
        font-size: 1.2em;
        padding-left: 5px;
        padding-right: 5px; }
      #home.gyomu-annai .mv div h3 {
        font-size: 2.8em;
        line-height: 1.4em;
        max-width: 980px;
        margin: 0 auto 20px;
        font-weight: bold;
        padding-left: 5px;
        padding-right: 5px; }
      #home.gyomu-annai .mv div p {
        line-height: 34px;
        padding-left: 5px;
        padding-right: 5px; }
    #home.gyomu-annai .mv:after {
      content: "";
      position: absolute;
      bottom: -40px;
      left: 50%;
      margin-left: -10px;
      border: 20px solid transparent;
      border-top: 20px solid #ffffff;
      display: block; }
  #home.gyomu-annai .mv2 {
    position: relative;
    background-image: url(../images/gyomu-annai/main2-bg.jpg);
    background-size: cover;
    background-position: center center;
    padding-top: 70px;
    padding-bottom: 50px;
    height: 100%;
    text-align: center; }
    #home.gyomu-annai .mv2:before, #home.gyomu-annai .mv2:after {
      content: "";
      position: absolute;
      margin-left: -10px;
      border: 20px solid transparent;
      left: 50%;
      display: block; }
    #home.gyomu-annai .mv2:before {
      top: 0;
      border-top-color: #e8e5df; }
    #home.gyomu-annai .mv2:after {
      bottom: -40px;
      border-top-color: #3d3b3c; }
    #home.gyomu-annai .mv2 div {
      text-align: center; }
      #home.gyomu-annai .mv2 div h2 {
        text-align: center;
        margin: 16px auto 20px;
        font-weight: bold;
        color: #4ea14c;
        font-size: 1.6em;
        padding-left: 21px; }
      #home.gyomu-annai .mv2 div ul {
        max-width: 620px;
        margin: 0 auto 20px;
        padding-left: 5px;
        padding-right: 5px; }
        #home.gyomu-annai .mv2 div ul li {
          margin-bottom: 20px; }
          #home.gyomu-annai .mv2 div ul li p {
            color: #FFF; }
          #home.gyomu-annai .mv2 div ul li .left {
            font-size: 1.4em;
            line-height: 25px;
            width: 10%;
            float: left;
            margin-left: 0;
            color: #4ea14c; }
          #home.gyomu-annai .mv2 div ul li .right {
            width: 90%;
            float: left;
            text-align: justify;
            text-justify: inter-ideograph;
            margin-left: 0;
            line-height: 30px; }
    #home.gyomu-annai .mv2 p {
      margin-left: 35px;
      color: #FFF; }
  #home.gyomu-annai .trouble .icon {
    text-align: center;
    margin-top: 45px;
    margin-left: 35px; }
  #home.gyomu-annai .trouble h2 {
    font-size: 1.6em;
    line-height: 1.2em;
    font-weight: bold;
    color: #49a14b;
    text-align: center; }
  #home.gyomu-annai .trouble ul {
    max-width: 670px;
    margin: 25px auto 45px; }
    #home.gyomu-annai .trouble ul li {
      background-color: #FFF;
      margin-bottom: 15px;
      box-shadow: 5px 7px 9px 0px #b8b8b8;
      -moz-box-shadow: 5px 7px 9px 0px #b8b8b8;
      -webkit-box-shadow: 5px 7px 9px 0px #b8b8b8;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-box-pack: start;
      -ms-flex-pack: start;
      -webkit-justify-content: flex-start;
      justify-content: flex-start;
      -webkit-box-align: stretch;
      -ms-flex-align: stretch;
      -webkit-align-items: stretch;
      align-items: stretch; }
      #home.gyomu-annai .trouble ul li .left {
        width: 70px;
        text-align: center;
        padding: 18px 0;
        background-color: #49a14b; }
      #home.gyomu-annai .trouble ul li .right {
        background-color: #FFF;
        max-width: 600px;
        padding: 12px 30px;
        line-height: 23px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        -webkit-justify-content: flex-start;
        justify-content: flex-start;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        align-items: center;
        text-align: justify;
        text-justify: inter-ideograph; }
  #home.gyomu-annai .offer > .title {
    text-align: center;
    margin: 16px auto 20px;
    font-weight: bold;
    color: #377B37;
    font-size: 1.6em;
    padding-left: 21px; }
  #home.gyomu-annai .offer > .text {
    text-align: center;
    line-height: 28px; }
  #home.gyomu-annai .offer .icon {
    width: 100%;
    margin: 20px auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-lines: multiple;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap; }
    #home.gyomu-annai .offer .icon li {
      width: 125px;
      height: 125px;
      margin: 0.5%;
      text-align: center; }
      #home.gyomu-annai .offer .icon li a {
        background-color: #49a14b;
        color: #fff;
        padding: 1.5em 0 2em;
        line-height: 1.5em;
        font-size: 14px;
        width: 125px;
        height: 125px;
        border-radius: 50%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        align-items: center;
        position: relative; }
        #home.gyomu-annai .offer .icon li a:after {
          content: "";
          width: 1em;
          height: 1em;
          border-right: 2px solid #fff;
          border-bottom: 2px solid #fff;
          -webkit-transform: rotate(45deg);
          -moz-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
          -o-transform: rotate(45deg);
          transform: rotate(45deg);
          position: absolute;
          bottom: 1em;
          left: 50%;
          margin-left: calc( ( -1.41421356em + 4px ) * 0.5); }
  #home.gyomu-annai .offer .image {
    text-align: center;
    margin: 50px 0 25px; }
  #home.gyomu-annai .offer section {
    background-color: #FFF;
    margin-bottom: 40px;
    padding: 0 2.5em 2.5em;
    border-top: 10px solid #083d0e;
    position: relative; }
    #home.gyomu-annai .offer section h2 {
      font-size: 18px;
      line-height: 1.2em;
      margin: -10px 0 0;
      height: calc( 4em + 14px);
      padding: 1px 0 13px;
      overflow: hidden; }
      #home.gyomu-annai .offer section h2 span {
        font-size: inherit;
        line-height: inherit;
        background-color: #4ea14c;
        color: #fff;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        align-items: center;
        height: 50em;
        padding-top: 46em;
        margin-top: calc( -46em - 2px);
        border-radius: 50%;
        text-align: center;
        box-shadow: 6px 6px 13px 0 rgba(0, 0, 0, 0.2); }
    #home.gyomu-annai .offer section h3 {
      font-size: 26px;
      font-weight: 500;
      text-align: center;
      margin: 0 0 1em;
      color: #595757; }
    #home.gyomu-annai .offer section .left {
      width: 55%;
      float: left;
      margin-top: -0.5em; }
      #home.gyomu-annai .offer section .left .emphasis {
        -webkit-text-emphasis: filled dot #4ea14c;
        text-emphasis: filled dot #4ea14c; }
    #home.gyomu-annai .offer section .right {
      width: 40%;
      float: right; }
      #home.gyomu-annai .offer section .right img {
        width: auto;
        max-width: 100%;
        max-height: 310px; }
      #home.gyomu-annai .offer section .right.bottom {
        position: absolute;
        right: 0;
        bottom: 0;
        width: 43%;
        text-align: center; }
    #home.gyomu-annai .offer section .center + .center {
      margin-top: 40px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      -webkit-justify-content: space-between;
      justify-content: space-between;
      position: relative;
      width: 100%; }
      #home.gyomu-annai .offer section .center + .center:before {
        content: "";
        border: 26px solid transparent;
        border-left-color: #d2d2d2;
        position: absolute;
        top: 50%;
        left: 50%;
        margin-top: -26px;
        margin-left: -13px;
        display: block; }
      #home.gyomu-annai .offer section .center + .center img {
        display: block; }
      #home.gyomu-annai .offer section .center + .center .before {
        margin-right: auto; }
      #home.gyomu-annai .offer section .center + .center .after {
        margin-left: auto; }
    #home.gyomu-annai .offer section p {
      line-height: 2em;
      font-size: 14px;
      text-align: justify;
      text-justify: inter-ideograph; }
      #home.gyomu-annai .offer section p small {
        font-size: 0.9em;
        line-height: 1.5em;
        display: block;
        margin-top: 0.5em; }
    #home.gyomu-annai .offer section dl {
      width: 340px;
      background-image: url(../images/note_top.jpg), url(../images/note_repeat.jpg);
      background-repeat: no-repeat, repeat-y;
      background-position: 50% 0%, 50% 115px;
      background-size: 100%;
      padding: 1.5em 0.7em 1.5em 3em;
      margin: 0 0px -40px -24px; }
      #home.gyomu-annai .offer section dl dt {
        line-height: 28px;
        text-align: center;
        color: #4aa14c;
        padding: 3px;
        font-weight: 500; }
      #home.gyomu-annai .offer section dl dd {
        line-height: 22px;
        font-size: 14px;
        text-align: justify;
        text-justify: inter-ideograph;
        position: relative;
        padding: 8px 8px 0 34px; }
        #home.gyomu-annai .offer section dl dd:last-of-type {
          padding-bottom: 8px; }
        #home.gyomu-annai .offer section dl dd:before {
          content: "";
          position: absolute;
          top: 6px;
          left: 3px;
          background-image: url(../images/gyomu-annai/check2.png);
          background-repeat: no-repeat;
          background-position: 50% 50%;
          width: 28px;
          height: 25px; }
    #home.gyomu-annai .offer section .insert {
      background-color: #f1f6ee;
      padding: 1.5em;
      margin: 1em 0; }
      #home.gyomu-annai .offer section .insert h4 {
        font-weight: 500;
        font-size: 17px;
        color: #57744d;
        text-align: center;
        margin: 0 0 1em; }
      #home.gyomu-annai .offer section .insert p {
        font-size: 14px;
        color: #57744d; }
    #home.gyomu-annai .offer section.reverse .left {
      float: right; }
    #home.gyomu-annai .offer section.reverse .right {
      float: left; }
      #home.gyomu-annai .offer section.reverse .right.bottom {
        right: auto;
        left: 0; }
    #home.gyomu-annai .offer section.reverse dl {
      margin: 0 0 -40px -40px; }
    #home.gyomu-annai .offer section:first-of-type .right {
      text-align: center; }
    #home.gyomu-annai .offer section .right table {
      border: solid 1px #4aa14c; }
      #home.gyomu-annai .offer section .right table caption {
        background-color: #4aa14c;
        color: #FFF;
        padding: 8px; }
      #home.gyomu-annai .offer section .right table tr {
        border-bottom: none; }
      #home.gyomu-annai .offer section .right table th,
      #home.gyomu-annai .offer section .right table td {
        background-color: #fff;
        padding: 6px 0; }
      #home.gyomu-annai .offer section .right table th {
        width: 10%; }
      #home.gyomu-annai .offer section .right table td {
        width: 90%;
        font-size: 0.85em; }
    #home.gyomu-annai .offer section .box {
      width: 33%;
      float: left;
      background-color: #E5EEDE;
      padding: 18px;
      margin-bottom: 8px; }
      #home.gyomu-annai .offer section .box:nth-of-type(3n-1) {
        margin: 0 0.5%; }
      #home.gyomu-annai .offer section .box:nth-of-type(3n+1) {
        clear: left; }
      #home.gyomu-annai .offer section .box .icon {
        font-size: 1.6em;
        font-weight: bold;
        background-color: #4ea14c;
        color: #FFF;
        width: 55px;
        border-radius: 50%;
        text-align: center;
        height: 55px;
        padding-top: 2px;
        margin-left: -12px;
        margin-top: -12px;
        margin-bottom: 10px;
        float: left; }
      #home.gyomu-annai .offer section .box .name {
        font-size: 1.1em;
        line-height: 1.3em;
        font-weight: bold;
        padding-left: 0.3em;
        padding-top: 0.5em;
        float: left;
        width: 157px; }
      #home.gyomu-annai .offer section .box .text {
        clear: left; }
      #home.gyomu-annai .offer section .box.logo {
        background-image: url(../images/gyomu-annai/common_logo.png);
        background-repeat: no-repeat;
        background-position: 50% 50%;
        background-size: 60%;
        background-color: transparent; }
    #home.gyomu-annai .offer section .box-list {
      margin-top: 20px; }
      #home.gyomu-annai .offer section .box-list > p {
        background-color: #4ea14c;
        text-align: center;
        color: #fff;
        margin-bottom: 8px; }
      #home.gyomu-annai .offer section .box-list .title {
        margin-bottom: 0.5em; }
        #home.gyomu-annai .offer section .box-list .title img {
          height: 56px; }
  #home.gyomu-annai .support {
    background: #fff;
    display: block;
    width: 100%;
    padding: 60px 0 45px;
    position: relative; }
    #home.gyomu-annai .support:after {
      content: "";
      position: absolute;
      margin-left: -10px;
      border: 20px solid transparent;
      bottom: -40px;
      left: 50%;
      border-top-color: #fff; }
    #home.gyomu-annai .support .title {
      font-size: 24px;
      text-align: center;
      font-weight: 500; }
      #home.gyomu-annai .support .title + div {
        background-color: #f5e37f;
        padding: 30px 40px 40px;
        margin-top: 30px; }
        #home.gyomu-annai .support .title + div .caption {
          color: #333333;
          font-size: 16px;
          background-color: #fff;
          line-height: 1em;
          padding: 0.5em 1em;
          border-radius: 1em;
          column-rule-width: thick;
          margin: 0 1em;
          text-align: center;
          font-weight: 500; }
        #home.gyomu-annai .support .title + div .catch {
          color: #db5d11;
          font-size: 24px;
          text-align: center;
          font-weight: 500;
          margin: 0.7em 0 1.5em; }
        #home.gyomu-annai .support .title + div .left {
          float: left;
          width: 61%;
          text-align: justify;
          text-justify: inter-ideograph;
          font-size: 14px;
          line-height: 1.6em; }
        #home.gyomu-annai .support .title + div .right {
          float: right;
          margin: 0 -20px 0 0; }
        #home.gyomu-annai .support .title + div dl {
          clear: both;
          width: 100%; }
          #home.gyomu-annai .support .title + div dl dt {
            color: #db5d11;
            font-size: 20px;
            font-weight: 500;
            text-align: center;
            padding: 1.5em 0 0.5em; }
          #home.gyomu-annai .support .title + div dl dd ul {
            counter-reset: num;
            display: -webkit-box;
            display: -ms-flexbox;
            display: -webkit-flex;
            display: flex;
            -webkit-box-pack: justify;
            -ms-flex-pack: justify;
            -webkit-justify-content: space-between;
            justify-content: space-between;
            -webkit-box-lines: multiple;
            -ms-flex-wrap: wrap;
            -webkit-flex-wrap: wrap;
            flex-wrap: wrap;
            width: 100%; }
            #home.gyomu-annai .support .title + div dl dd ul li {
              counter-increment: num;
              display: -webkit-box;
              display: -ms-flexbox;
              display: -webkit-flex;
              display: flex;
              -webkit-box-pack: start;
              -ms-flex-pack: start;
              -webkit-justify-content: flex-start;
              justify-content: flex-start;
              -webkit-box-align: center;
              -ms-flex-align: center;
              -webkit-align-items: center;
              align-items: center;
              margin-top: 0.5em;
              width: 49%;
              background-color: #fff;
              font-weight: 500;
              font-size: 18px; }
              #home.gyomu-annai .support .title + div dl dd ul li:before {
                content: counter(num);
                display: block;
                width: 1em;
                height: 1em;
                padding: 0.5em;
                background-color: #db5d11;
                color: #fff;
                text-align: center;
                margin-right: 0.5em; }
          #home.gyomu-annai .support .title + div dl + p {
            text-align: right;
            margin-top: 1em;
            font-size: 12px; }
        #home.gyomu-annai .support .title + div .link {
          clear: both;
          padding-top: 25px; }
          #home.gyomu-annai .support .title + div .link a {
            font-size: 24px;
            line-height: 1em;
            padding: 0.5em;
            text-align: center;
            font-weight: 200;
            color: #fff;
            display: block;
            border-radius: 5px;
            background: #ecb982;
            background: -webkit-gradient(linear, -90deg, from(#ecb982), to(#e77e0f));
            background: -webkit-linear-gradient(-90deg, #ecb982 0%, #e77e0f 100%);
            background: -moz-linear-gradient(-90deg, #ecb982 0%, #e77e0f 100%);
            background: -o-linear-gradient(-90deg, #ecb982 0%, #e77e0f 100%);
            background: -ms-linear-gradient(-90deg, #ecb982 0%, #e77e0f 100%);
            background: linear-gradient(180deg, #ecb982 0%, #e77e0f 100%);
            filter: progid:DXImageTransform.Microsoft.Gradient(Enabled=1,GradientType=0,StartColorStr=#FFECB982,EndColorStr=#FFE77E0F);
            max-width: 452px;
            margin: 0 auto;
            position: relative;
            box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.25); }
            #home.gyomu-annai .support .title + div .link a:before {
              content: "";
              display: block;
              position: absolute;
              top: 0;
              left: 0;
              width: 100%;
              height: 1em;
              background-color: rgba(255, 255, 255, 0.15); }
  #home.gyomu-annai .bg {
    position: relative;
    background-image: url(../images/gyomu-annai/main3-bg.jpg);
    background-size: cover;
    background-position: center center;
    padding: 70px 5px 30px;
    height: 100%; }
    #home.gyomu-annai .bg:before {
      content: "";
      position: absolute;
      bottom: -40px;
      left: 50%;
      border: 20px solid transparent;
      border-top: 20px solid #3a1f14;
      margin-left: -20px; }
    #home.gyomu-annai .bg:after {
      content: "";
      position: absolute;
      top: 0;
      left: 50%;
      border: 20px solid transparent;
      border-top: 20px solid #e8e5df;
      margin-left: -20px; }
    #home.gyomu-annai .bg h2 {
      color: #FFF;
      text-align: center;
      font-size: 1.6em;
      font-weight: bold;
      margin-bottom: 28px; }
  #home.gyomu-annai.orange .mv div h2 {
    background-color: #ee8a2b; }
  #home.gyomu-annai.orange .offer > .title {
    color: #ee8a2b; }
  #home.gyomu-annai.orange .offer .icon li a {
    background-color: #f88e25; }
  #home.gyomu-annai.orange .offer section {
    border-top-color: #45250f; }
    #home.gyomu-annai.orange .offer section h2 span {
      background-color: #e5862e; }
  #home.gyomu-annai.orange .trouble h2 {
    color: #ee8a2b; }
  #home.gyomu-annai.orange .trouble ul li .left {
    background-color: #ee8a2b; }
  #home.gyomu-annai.orange .mv2 div h2 {
    color: #ee8a2b; }
  #home.gyomu-annai.orange .mv2 div ul li .left {
    color: #ee8a2b; }

/* CSS Document */
#home.tushin {
  background-color: #FFFFFF; }
  #home.tushin table {
    border-top: 1px solid #000;
    border-left: 1px solid #000;
    width: 100%; }
    #home.tushin table tr {
      border: none; }
    #home.tushin table td {
      background-color: transparent;
      border-right: 1px solid #000;
      border-bottom: 1px solid #000;
      padding: 0.5em;
      width: auto;
      line-height: 1.3em; }

#home.tushin a {
  color: #4EA14C;
  text-decoration: underline; }

#home.tushin .tag {
  float: left; }
  #home.tushin .tag a {
    background-color: #727171;
    display: block;
    color: #FFF;
    padding: 2px 8px 5px;
    text-decoration: none; }

#home.tushin .wrap {
  width: 980px;
  background-color: #E8E5DF;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between; }

#home.tushin .main {
  background-color: #FFFFFF;
  width: 70%;
  padding: 4%;
  float: left; }

#home.tushin .main > .date {
  float: right;
  color: #898989; }

#home.tushin .main > h1 {
  clear: both;
  font-size: 1.7em;
  line-height: 1.3em;
  font-weight: bold;
  padding: 0.7em 0 1em; }

#home.tushin .main article {
  text-align: justify;
  text-justify: inter-ideograph; }
  #home.tushin .main article h2 {
    margin-top: 1em;
    margin-bottom: -0.25em;
    font-weight: 600;
    font-size: 1.2em; }
  #home.tushin .main article p {
    font-size: 16px;
    line-height: 34px;
    margin: 0.75em 0; }
  #home.tushin .main article .alignleft {
    display: block;
    float: left;
    margin-right: 1em; }
  #home.tushin .main article .alignright {
    display: block;
    float: right;
    margin-left: 1em; }
  #home.tushin .main article .aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto; }
  #home.tushin .main article footer {
    clear: both;
    margin: 40px 0; }
    #home.tushin .main article footer div {
      text-align: right; }
    #home.tushin .main article footer .left {
      margin-right: 16px;
      display: inline-block;
      vertical-align: middle; }
      #home.tushin .main article footer .left li:first-of-type {
        font-size: 0.75em;
        line-height: 1.6em; }
    #home.tushin .main article footer .right {
      font-size: 16px;
      line-height: 34px;
      margin: 0.75em 0;
      display: inline-block;
      vertical-align: middle; }
    #home.tushin .main article footer img {
      width: 60px;
      height: 60px;
      border-radius: 50%;
      height: auto; }

#home.tushin .pagenav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between; }

#home.tushin section {
  padding: 20px 30px;
  border-top: solid 1px #9FA0A0;
  border-bottom: solid 1px #9FA0A0;
  margin-bottom: 30px; }

#home.tushin section > ul > li {
  line-height: 50px; }

#home.tushin h3 {
  font-size: 1.6em;
  font-weight: bold;
  color: #898989;
  margin: 0 0 20px 16px; }

#home.tushin .sidebar {
  width: 30%;
  padding: 4% 2%;
  height: 100%;
  float: right; }

#home.tushin .sidebar .title {
  margin-bottom: 16px; }
  #home.tushin .sidebar .title img {
    width: 100%; }

#home.tushin .sidebar .sub-title {
  margin: 40px 4px 0;
  border-bottom: 1px solid;
  padding-bottom: 0.5em; }

#home.tushin .sidebar ul {
  margin-bottom: 40px;
  border-left: 1px dotted #000;
  margin-left: 1em; }
  #home.tushin .sidebar ul li {
    line-height: 1.25em;
    padding: 1em 0 0 1em;
    position: relative; }
    #home.tushin .sidebar ul li:before {
      content: "";
      position: absolute;
      width: 1em;
      height: 1px;
      top: 1.75em;
      left: 0;
      border-top: 1px dotted #000; }
    #home.tushin .sidebar ul li a {
      display: block; }
      #home.tushin .sidebar ul li a:hover {
        text-decoration: none; }
    #home.tushin .sidebar ul li select {
      padding: 0.25em 1em;
      background-color: #fff;
      box-shadow: -1px -1px 1px 1px rgba(0, 0, 0, 0.1) inset;
      border: 1px solid #ccc; }
      #home.tushin .sidebar ul li select::-ms-expand {
        display: none; }

/* CSS Document */
#home.saiyo {
  background-color: #FFFFFF; }
  #home.saiyo .wrap {
    padding: 0 16px; }
  #home.saiyo .mv {
    position: relative;
    background-image: url(../images/saiyo/main-bg.jpg);
    background-size: cover;
    background-position: center center;
    padding: 70px 0 30px;
    height: 100%;
    text-align: center; }
    #home.saiyo .mv div {
      width: 800px;
      margin: 0 auto;
      padding: 0 5px; }
      #home.saiyo .mv div h2 {
        padding: 95px 0 0;
        color: #FFF;
        font-size: 21px;
        text-align: center;
        font-weight: 300;
        letter-spacing: 0.24em;
        margin: 0; }
        #home.saiyo .mv div h2 + figure {
          margin-top: -40px; }
      #home.saiyo .mv div h3 {
        color: #FFF;
        font-size: 27px;
        line-height: 1.4em;
        font-weight: 300;
        border-top: none;
        padding: 0;
        margin: 0; }
        #home.saiyo .mv div h3 + p {
          font-size: 14px;
          line-height: 1.7em;
          text-align: justify;
          text-justify: inter-ideograph;
          color: #FFF;
          margin: 50px auto 0;
          max-width: 700px; }
      #home.saiyo .mv div .text {
        color: #fff;
        background-color: rgba(255, 255, 255, 0.33);
        font-size: 14px;
        line-height: 1.7em;
        text-align: justify;
        text-justify: inter-ideograph;
        padding: 1em;
        max-width: 700px;
        margin: 1em auto 0; }
        #home.saiyo .mv div .text span {
          display: block;
          font-size: 1.4em;
          margin-bottom: 0.3em; }
      #home.saiyo .mv div p:last-of-type {
        font-weight: 500;
        color: #fff;
        text-align: justify;
        text-justify: inter-ideograph;
        max-width: 670px;
        margin: 1em auto 0;
        line-height: 1.7em; }
  #home.saiyo h2 {
    font-size: 38px;
    font-weight: 100;
    text-align: center;
    margin: 1em auto; }
  #home.saiyo h3 {
    font-size: 1.8em;
    font-weight: bold;
    text-align: center;
    margin: 40px 0; }
  #home.saiyo .toyou {
    margin: 100px auto 0;
    max-width: 700px; }
    #home.saiyo .toyou p {
      font-size: 14px;
      line-height: 1.7em;
      margin-top: 1em;
      text-align: justify;
      text-justify: inter-ideograph; }
    #home.saiyo .toyou .kakomi {
      background-image: url(../images/saiyo/kakomi_bg.jpg);
      background-repeat: repeat;
      background-position: 50% 50%;
      padding: 1.5em;
      margin-top: 50px; }
      #home.saiyo .toyou .kakomi h3 {
        color: #615f5f;
        font-size: 14px;
        padding: 0.5em 1em;
        background-color: #fff;
        max-width: 12em;
        margin: 0 auto;
        border: 1px solid #9fa0a0; }
      #home.saiyo .toyou .kakomi h4 {
        text-align: center;
        font-size: 29px;
        margin: 0.5em auto;
        line-height: 1.6em; }
    #home.saiyo .toyou h5 {
      font-size: 1.3em;
      margin-top: 2em; }
      #home.saiyo .toyou h5:before {
        content: "●";
        font-size: 0.77em;
        margin-right: 0.3em; }
      #home.saiyo .toyou h5 + p {
        margin-top: 0.5em; }
    #home.saiyo .toyou .three {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      -webkit-justify-content: space-between;
      justify-content: space-between;
      counter-reset: num; }
      #home.saiyo .toyou .three h5 {
        counter-increment: num;
        background: #EBF1E5;
        width: 32%;
        padding: 1em 0.5em;
        line-height: 1.3em;
        border-radius: 0.25em;
        font-size: 18px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        align-items: center;
        text-align: center;
        position: relative;
        margin: 2em 0 0; }
        #home.saiyo .toyou .three h5:before {
          background-color: #4EA14C;
          content: counter(num);
          color: #fff;
          width: 1em;
          height: 1em;
          text-align: center;
          display: block;
          line-height: 1em;
          position: absolute;
          padding: 0.5em;
          top: -1.25em;
          left: calc(50% - 0.75em);
          margin: 0;
          border-radius: 50%; }
  #home.saiyo hr {
    background-color: #595757;
    max-width: 980px;
    height: 1px;
    margin: 60px -106px; }

#home.saiyo h3 {
  padding-top: 40px;
  border-top: solid 1px #000; }

#home.saiyo section {
  margin-bottom: 40px; }

#home.saiyo section .text {
  font-weight: bold;
  padding: 8px 12px 0;
  line-height: 25px;
  text-align: left; }

#home.saiyo .left {
  position: relative;
  width: 72%;
  padding: 1.7em;
  float: left;
  background-color: #EBF1E5;
  border-radius: 10px; }

#home.saiyo .left:after {
  content: "";
  position: absolute;
  top: 50px;
  right: -50px;
  border: 20px solid transparent;
  border-left: 40px solid #ebf1e5;
  width: 0;
  height: 0; }

#home.saiyo .left > p {
  line-height: 1.7em;
  text-align: justify;
  text-justify: inter-ideograph; }

#home.saiyo .right {
  width: 25%;
  float: right;
  text-align: center; }
  #home.saiyo .right img {
    border-radius: 50%; }

#home.saiyo .left2 {
  width: 25%;
  float: left;
  text-align: center; }
  #home.saiyo .left2 img {
    border-radius: 50%; }

#home.saiyo .right2 {
  position: relative;
  width: 72%;
  padding: 1.7em;
  float: right;
  background-color: #EBF1E5;
  border-radius: 10px; }

#home.saiyo .right2:after {
  content: "";
  position: absolute;
  left: -60px;
  top: 50px;
  border: 20px solid transparent;
  border-right: 40px solid #ebf1e5;
  width: 0;
  height: 0; }

#home.saiyo .right2 > p {
  line-height: 1.7em;
  text-align: justify;
  text-justify: inter-ideograph; }

#home.saiyo .description {
  max-width: 550px;
  margin: 0 auto;
  padding-bottom: 100px;
  line-height: 24px; }

/* CSS Document */
#home.privacypolicy {
  background-color: #FFFFFF;
  padding-top: 60px;
  counter-reset: num; }
  #home.privacypolicy .wrap {
    padding: 0 0 6em; }
    #home.privacypolicy .wrap p {
      text-align: justify;
      text-justify: inter-ideograph;
      line-height: 1.5em;
      margin: 3em 0; }
    #home.privacypolicy .wrap dl {
      counter-increment: num; }
      #home.privacypolicy .wrap dl dt {
        text-align: justify;
        text-justify: inter-ideograph;
        font-weight: 500;
        font-size: 1.25em;
        margin: 2em 0 0.5em;
        line-height: 1.3em; }
        #home.privacypolicy .wrap dl dt:before {
          content: counter(num) ". "; }
      #home.privacypolicy .wrap dl dd {
        text-align: justify;
        text-justify: inter-ideograph;
        line-height: 1.5em;
        margin: 1em 0 3em; }
        #home.privacypolicy .wrap dl dd ol {
          padding-left: 1em;
          margin: 1.5em 0;
          counter-reset: num2; }
          #home.privacypolicy .wrap dl dd ol li {
            line-height: 1.5em;
            margin: 1.5em 0;
            counter-increment: num2;
            position: relative;
            padding-left: 2.5em; }
            #home.privacypolicy .wrap dl dd ol li:before {
              content: "（ " counter(num2) " ）";
              position: absolute;
              top: 0;
              left: 0; }
        #home.privacypolicy .wrap dl dd small {
          font-size: 0.75em;
          line-height: 1.5em;
          display: block;
          margin-top: 1em; }
        #home.privacypolicy .wrap dl dd p {
          padding-left: 2em;
          margin: 1em 0; }
          #home.privacypolicy .wrap dl dd p .title {
            font-weight: 500;
            margin-bottom: 0.5em;
            display: block; }
    #home.privacypolicy .wrap a {
      text-decoration: underline; }

/* CSS Document */
#home.faq {
  background-color: #FFFFFF;
  padding-top: 60px; }
  #home.faq > h2 + p {
    font-size: 14px;
    line-height: 1.5em;
    margin-top: 2em;
    max-width: 600px;
    margin: 30px auto; }
  #home.faq .wrap {
    padding-bottom: 50px; }
    #home.faq .wrap dl {
      max-width: 600px;
      background-color: #eaeaea;
      margin: 30px auto;
      padding: 25px; }
      #home.faq .wrap dl dt:before,
      #home.faq .wrap dl dd:before {
        content: "";
        display: block;
        width: 38px;
        height: 38px;
        background-size: contain;
        background-position: 50% 50%;
        background-repeat: no-repeat;
        position: absolute;
        top: 0;
        left: 0; }
      #home.faq .wrap dl dt {
        color: #4ea14c;
        text-align: justify;
        text-justify: inter-ideograph;
        font-size: 22px;
        font-weight: 400;
        line-height: 1.3em;
        position: relative;
        padding-left: 60px; }
        #home.faq .wrap dl dt:before {
          background-image: url(../images/q.png); }
      #home.faq .wrap dl dd {
        font-size: 14px;
        font-weight: 400;
        line-height: 1.7em;
        text-align: justify;
        text-justify: inter-ideograph;
        position: relative;
        margin: 40px 0 0 60px;
        padding-left: 55px; }
        #home.faq .wrap dl dd:before {
          background-image: url(../images/a.png); }

/* CSS Document */
#home.contact {
  background-color: #fff;
  padding-top: 60px; }
  #home.contact .wrap {
    padding: 0 0 6em; }
  #home.contact p {
    text-align: justify;
    text-justify: inter-ideograph;
    line-height: 1.5em; }
  #home.contact h2 {
    position: relative;
    font-size: 2em;
    font-weight: bold;
    max-width: 260px;
    text-align: center;
    margin: 0 auto 1em; }
    #home.contact h2:after {
      content: "";
      position: absolute;
      top: 0;
      left: -25px;
      border: 12px solid transparent;
      border-top: 20px solid #4ea14c;
      transform: rotate(270deg); }
  #home.contact dl {
    text-align: justify;
    text-justify: inter-ideograph;
    line-height: 1.5em;
    margin: 1.5em 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center; }
    #home.contact dl:first-of-type {
      margin-top: 3em; }
    #home.contact dl dt {
      width: 30%;
      font-weight: 700; }
      #home.contact dl dt span {
        color: #4ea14c;
        display: inline-block;
        margin-left: 1em;
        font-size: 0.75em; }
    #home.contact dl dd {
      width: 70%; }
      #home.contact dl dd .error {
        display: block;
        margin-top: 0.5em; }
  #home.contact input[type="text"],
  #home.contact input[type="email"],
  #home.contact input[type="url"],
  #home.contact textarea {
    border: 1px solid;
    padding: 0.5em;
    width: 100%; }
    #home.contact input[type="text"][name^="postalcode"],
    #home.contact input[type="email"][name^="postalcode"],
    #home.contact input[type="url"][name^="postalcode"],
    #home.contact textarea[name^="postalcode"] {
      margin: 0 0.5em;
      width: 6em; }
    #home.contact input[type="text"][name^="tel"], #home.contact input[type="text"][name^="fax"],
    #home.contact input[type="email"][name^="tel"],
    #home.contact input[type="email"][name^="fax"],
    #home.contact input[type="url"][name^="tel"],
    #home.contact input[type="url"][name^="fax"],
    #home.contact textarea[name^="tel"],
    #home.contact textarea[name^="fax"] {
      margin: 0 0.5em;
      width: 6em; }
      #home.contact input[type="text"][name^="tel"]:first-of-type, #home.contact input[type="text"][name^="fax"]:first-of-type,
      #home.contact input[type="email"][name^="tel"]:first-of-type,
      #home.contact input[type="email"][name^="fax"]:first-of-type,
      #home.contact input[type="url"][name^="tel"]:first-of-type,
      #home.contact input[type="url"][name^="fax"]:first-of-type,
      #home.contact textarea[name^="tel"]:first-of-type,
      #home.contact textarea[name^="fax"]:first-of-type {
        margin-left: 0; }
  #home.contact input[type="radio"] {
    border: 1px solid;
    background-color: #eee;
    width: 1em;
    height: 1em;
    border-radius: 50%; }
    #home.contact input[type="radio"]:checked {
      background-color: #4ea14c;
      box-shadow: 0 0 0 3px #fff inset; }
  #home.contact form p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-lines: multiple;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap; }
  #home.contact input[type="submit"] {
    background-color: #4ea14c;
    color: #fff;
    font-size: 17px;
    font-weight: 500;
    letter-spacing: 0.12em;
    display: block;
    text-align: center;
    padding: 10px 0;
    border-radius: 5px;
    min-width: 10em;
    margin: 0 1em; }
    #home.contact input[type="submit"][name="submitBack"] {
      background-color: #d1e9d0;
      color: #4ea14c; }
    #home.contact input[type="submit"]:hover {
      box-shadow: 0 0 0 1px #4ea14c inset, 0 10px 20px 0 rgba(0, 0, 0, 0.1); }

/* CSS Document */
#home.seminar {
  background-color: #fff;
  padding: 34px 0 0; }
  #home.seminar .caption {
    font-size: 17px;
    color: #fff;
    background-color: #4ea14c;
    padding: 0.5em;
    max-width: 281px;
    margin: 0 auto;
    text-align: center; }
  #home.seminar h1 {
    font-size: 36px;
    font-weight: 800;
    line-height: 1.3em;
    text-align: center;
    margin: 0.7em 5vw; }
  #home.seminar > .flex {
    width: 90vw;
    margin: 45px auto;
    max-width: 892px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between; }
    #home.seminar > .flex figure {
      width: 100%;
      max-width: 268px;
      text-align: center; }
    #home.seminar > .flex .content {
      width: 100%;
      max-width: 588px;
      text-align: justify;
      text-justify: inter-ideograph;
      font-size: 15px;
      line-height: 1.8em; }
      #home.seminar > .flex .content p {
        line-height: inherit; }
      #home.seminar > .flex .content ul {
        line-height: inherit;
        padding: 0 0 0 2em; }
        #home.seminar > .flex .content ul li {
          line-height: inherit;
          margin: 0.5em 0;
          list-style: disc; }
      #home.seminar > .flex .content ol {
        line-height: inherit;
        padding: 0 0 0 2em; }
        #home.seminar > .flex .content ol li {
          line-height: inherit;
          margin: 0.5em 0;
          list-style: decimal; }
      #home.seminar > .flex .content strong {
        font-weight: 500; }
      #home.seminar > .flex .content em {
        font-style: italic; }
      #home.seminar > .flex .content blockquote {
        opacity: 0.6;
        margin: 1em; }
      #home.seminar > .flex .content del {
        text-decoration: line-through; }
      #home.seminar > .flex .content hr {
        border: 1px solid #ccc;
        border-style: solid none none;
        margin: 1em; }
  #home.seminar .outline h2,
  #home.seminar .teacher h2 {
    color: #606060;
    width: 800px;
    margin: 60px auto 25px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-box-align: end;
    -ms-flex-align: end;
    -webkit-align-items: flex-end;
    align-items: flex-end; }
    #home.seminar .outline h2 span,
    #home.seminar .teacher h2 span {
      font-size: 20px;
      margin-right: 0.5em; }
    #home.seminar .outline h2:after,
    #home.seminar .teacher h2:after {
      content: "";
      display: block;
      height: 1px;
      max-width: 100%;
      background-color: #606060;
      flex-grow: 1; }
  #home.seminar .outline dl {
    width: 90vw;
    max-width: 771px;
    margin: 14px auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between; }
    #home.seminar .outline dl dt {
      background-color: #939393;
      font-size: 14px;
      line-height: 1.3em;
      text-align: center;
      padding: 20px;
      width: 18%;
      color: #fff; }
    #home.seminar .outline dl dd {
      background-color: #eaeaea;
      font-size: 16px;
      line-height: 1.3em;
      text-align: justify;
      text-justify: inter-ideograph;
      padding: 20px;
      width: 82%; }
      #home.seminar .outline dl dd a {
        color: #4ea14c;
        text-decoration: underline;
        margin-left: 1em; }
      #home.seminar .outline dl dd span {
        color: #f00;
        margin-left: 1em; }
  #home.seminar .teacher .flex {
    width: 90vw;
    max-width: 771px;
    margin: 0 auto 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between; }
    #home.seminar .teacher .flex figure {
      width: 19%; }
    #home.seminar .teacher .flex dl {
      width: 73%;
      text-align: justify;
      text-justify: inter-ideograph; }
      #home.seminar .teacher .flex dl dt {
        font-size: 25px;
        line-height: 1.2em; }
        #home.seminar .teacher .flex dl dt small {
          font-size: 15px;
          line-height: 1.2em; }
        #home.seminar .teacher .flex dl dt span {
          border-width: 1px;
          border-bottom-style: solid;
          display: inline-block;
          margin-bottom: 0.2em;
          vertical-align: bottom; }
          #home.seminar .teacher .flex dl dt span:nth-of-type(3) small {
            margin-left: 0.5em; }
      #home.seminar .teacher .flex dl dd {
        font-size: 14px;
        line-height: 1.5em;
        margin-top: 1.5em; }
  #home.seminar .tel {
    background-color: #4ea14c;
    padding: 84px 5vw 56px; }
    #home.seminar .tel h2 {
      font-size: 36px;
      text-align: center;
      color: #fff;
      letter-spacing: 0.09em;
      line-height: 1.3em; }
    #home.seminar .tel div {
      max-width: 753px;
      background-color: #fff;
      margin: 27px auto 0;
      text-align: center;
      padding: 28px 5vw 18px; }
      #home.seminar .tel div p {
        width: 100%;
        max-width: 382px;
        margin: 0 auto; }
        #home.seminar .tel div p:not(:first-of-type) {
          margin-top: 1em; }
  #home.seminar .backnumber {
    padding: 50px 5vw 40px; }
    #home.seminar .backnumber ul {
      width: 100%;
      max-width: 771px;
      margin: 28px auto 0; }
      #home.seminar .backnumber ul li {
        background-color: #eaeaea;
        padding: 20px;
        margin: 15px 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        -webkit-justify-content: space-between;
        justify-content: space-between; }
        #home.seminar .backnumber ul li span {
          display: block;
          font-size: 14px;
          line-height: 1.3em;
          width: 20%;
          letter-spacing: 0.01em; }
        #home.seminar .backnumber ul li dl {
          width: 80%; }
          #home.seminar .backnumber ul li dl dt {
            font-size: 18px;
            font-weight: 800;
            line-height: 1.3em;
            letter-spacing: 0.16em; }
          #home.seminar .backnumber ul li dl dd {
            font-size: 15px;
            line-height: 1.3em;
            letter-spacing: 0.035em;
            margin-top: 0.5em; }

@media screen and (max-width: 512px) {
  /* CSS Document */
  main {
    min-width: auto;
    overflow: hidden; }
  .inner {
    width: 90vw; }
  a.button {
    font-size: 18.2px;
    line-height: 1.5em;
    padding: 5vw;
    text-align: center;
    width: 90vw;
    letter-spacing: 0; }
  .float > .left {
    float: none; }
  .float > .right {
    float: none; }
  .title01 {
    font-size: 20px;
    letter-spacing: 0.08em;
    font-weight: 500;
    text-align: center;
    padding: 0 5vw; }
    .title01:before {
      border-width: 0.4em 0 0.4em 0.6em;
      margin: 0 0.5em 0 0; }
  .title02 {
    font-size: 17.5px;
    padding: 0 5vw; }
    .title02 > span {
      display: inline-block; }
  .more {
    margin-top: 5vw; }
    .more a {
      font-size: 14px;
      display: block;
      padding: 2.5vw; }
  .caselist {
    margin: 5vw auto;
    width: 90vw; }
    .caselist a {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      -webkit-justify-content: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      -webkit-align-items: center;
      align-items: center;
      -webkit-box-lines: multiple;
      -ms-flex-wrap: wrap;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap; }
    .caselist header {
      margin: 0;
      display: block;
      width: 90vw; }
      .caselist header li {
        color: #FFF;
        padding: 2px 4px;
        float: left; }
      .caselist header li:first-of-type {
        width: 100%;
        margin: 0;
        padding: 0.25em;
        font-size: 14px; }
      .caselist header li:nth-of-type(2) {
        margin: 1vw;
        font-size: 12px; }
      .caselist header li:last-of-type {
        margin: 1vw;
        font-size: 12px; }
    .caselist .image {
      padding: 0 2.5vw 0 0;
      width: 26%;
      margin: 0 !important; }
      .caselist .image img {
        width: 100%;
        border-radius: 50%; }
    .caselist .text {
      font-size: 14px;
      float: none;
      width: 50vw;
      padding: 0;
      display: inline;
      margin: 0; }
      .caselist .text br {
        display: none; }
      .caselist .text a {
        margin: 2.5vw; }
    .caselist .next {
      display: inline;
      width: 5vw;
      padding: 0;
      position: static;
      margin: 0 0 0 2.5vw; }
      .caselist .next img {
        width: 100%; }
  section.service.include ul {
    margin: 5vw auto; }
    section.service.include ul li {
      margin: 0 0 5vw;
      height: auto !important;
      max-width: none;
      width: 100%; }
      section.service.include ul li figure {
        width: 30%; }
      section.service.include ul li dl {
        width: 100%;
        max-width: none;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        -webkit-justify-content: space-between;
        justify-content: space-between; }
        section.service.include ul li dl dt {
          font-size: 14px;
          text-align: left;
          width: 30%; }
        section.service.include ul li dl dd {
          width: 70%;
          margin: 0 0 0 2.5vw;
          font-size: 12px;
          position: static !important; }
          section.service.include ul li dl dd .title {
            font-size: 14px;
            text-align: justify;
            text-justify: inter-ideograph;
            margin-bottom: 0.25em;
            letter-spacing: 0.05em; }
      section.service.include ul li .bottom {
        margin-top: -1em; }
        section.service.include ul li .bottom a:not(:first-of-type) .more {
          margin-top: 0.5em; }
        section.service.include ul li .bottom a .more {
          font-size: 12px;
          margin: 0.5em 0 0 auto;
          padding: 0.75em;
          line-height: 1em;
          width: 70%; }
  section.service.include .outsourcing {
    padding: 10vw 0 5vw; }
    section.service.include .outsourcing ul li {
      background-color: #fff; }
  .tushinlist > li {
    padding: 2.5vw; }
  .tushinlist .left li {
    float: none;
    margin-bottom: 0.5em;
    font-size: 12px;
    text-align: left; }
  .tushinlist .left p {
    margin: 0 1em 0 0; }
    .tushinlist .left p a {
      font-size: 12px;
      line-height: 1.2em; }
  .sp {
    display: initial; }
  main.default {
    padding: calc( 5vw + 62px) 0 10vw; }
    main.default h2 {
      font-size: 1.25em;
      padding: 5vw 0; }
    main.default section {
      width: 90vw; }
    main.default .list1 > dd > dl {
      width: 100%;
      margin-top: 10vw; }
      main.default .list1 > dd > dl li {
        margin-top: 5vw; }
  /* CSS Document */
  #header {
    background: #fff;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1100;
    -webkit-transition-delay: 0;
    -moz-transition-delay: 0;
    -ms-transition-delay: 0;
    -o-transition-delay: 0;
    transition-delay: 0;
    -webkit-transition-duration: 1s;
    -moz-transition-duration: 1s;
    -ms-transition-duration: 1s;
    -o-transition-duration: 1s;
    transition-duration: 1s;
    -webkit-transition-property: all;
    -moz-transition-property: all;
    -ms-transition-property: all;
    -o-transition-property: all;
    transition-property: all;
    -webkit-transition-timing-function: ease;
    -moz-transition-timing-function: ease;
    -ms-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease;
    min-width: auto; }
    #header .inner {
      width: 96vw; }
      #header .inner .left {
        padding: 8px 0; }
        #header .inner .left .logo {
          width: 48px;
          display: inline-block; }
          #header .inner .left .logo img {
            width: 100%;
            height: auto;
            display: block; }
        #header .inner .left .text {
          display: none; }
        #header .inner .left .name {
          text-align: left;
          margin-left: 2px; }
          #header .inner .left .name span {
            line-height: 1.25em; }
            #header .inner .left .name span.small {
              font-size: 12px;
              font-weight: 700; }
            #header .inner .left .name span.big {
              font-size: 18px;
              font-weight: 700; }
      #header .inner .right {
        padding: 0;
        position: static; }
        #header .inner .right .tel {
          display: none; }
        #header .inner .right .text {
          display: none; }
        #header .inner .right .contactform {
          width: 60px;
          z-index: 1010;
          transform: translate3d(0px, 0px, 1010px); }
    #header nav {
      display: none; }
      #header nav ul {
        display: block;
        padding-right: 0;
        width: 100%; }
        #header nav ul li {
          text-align: justify;
          text-justify: inter-ideograph; }
    #header [data-spnav="wrap"] {
      display: block; }
      #header [data-spnav="wrap"] [data-spnav="open"],
      #header [data-spnav="wrap"] [data-spnav="close"] {
        position: absolute;
        width: 108px;
        padding: 10px 70px 10px 10px;
        top: 0;
        right: 0;
        background: #007c38;
        background: -webkit-gradient(linear, 0deg, from(#007c38), to(#002400));
        background: -webkit-linear-gradient(0deg, #007c38 0%, #002400 100%);
        background: -moz-linear-gradient(0deg, #007c38 0%, #002400 100%);
        background: -o-linear-gradient(0deg, #007c38 0%, #002400 100%);
        background: -ms-linear-gradient(0deg, #007c38 0%, #002400 100%);
        background: linear-gradient(90deg, #007c38 0%, #002400 100%);
        filter: progid:DXImageTransform.Microsoft.Gradient(Enabled=1,GradientType=0,StartColorStr=#FF007C38,EndColorStr=#FF002400); }
        #header [data-spnav="wrap"] [data-spnav="open"] img,
        #header [data-spnav="wrap"] [data-spnav="close"] img {
          width: 100%;
          height: auto;
          display: block; }
      #header [data-spnav="wrap"] [data-spnav="menu"] {
        background-color: #fff;
        padding: 0;
        overflow: auto;
        width: 100vw;
        height: auto !important;
        top: 100%;
        bottom: -100%; }
        #header [data-spnav="wrap"] [data-spnav="menu"] a {
          display: block;
          padding: 5vw;
          margin: -5vw;
          color: inherit; }
          #header [data-spnav="wrap"] [data-spnav="menu"] a:before {
            content: "＞";
            color: #4ea14c;
            margin-right: 0.5em; }
        #header [data-spnav="wrap"] [data-spnav="menu"] dl {
          border-bottom: 1px solid #717071; }
          #header [data-spnav="wrap"] [data-spnav="menu"] dl dt {
            color: #fff;
            font-size: 16px;
            background-color: rgba(78, 161, 76, 0.8);
            padding: 5vw; }
            #header [data-spnav="wrap"] [data-spnav="menu"] dl dt a:before {
              color: #fff; }
          #header [data-spnav="wrap"] [data-spnav="menu"] dl dd ul li {
            color: #231815;
            font-size: 16px;
            padding: 5vw;
            display: block;
            margin: 0;
            line-height: 1.5em;
            border-bottom: 1px solid #ccc; }
  /* CSS Document */
  #footer {
    padding-top: 5vw;
    min-width: auto; }
    #footer .logo {
      display: inline-block;
      margin: 0; }
      #footer .logo img {
        width: 45px;
        margin-right: 6px; }
      #footer .logo > span {
        font-size: 15px; }
        #footer .logo > span > span {
          font-size: 21.6px; }
    #footer .catch {
      font-size: 15.4px;
      margin: 10px;
      display: block; }
      #footer .catch span {
        display: inline-block; }
    #footer nav {
      display: none; }
    #footer > .inner {
      margin-top: 5vw; }
      #footer > .inner .address {
        font-size: 12px;
        text-align: center; }
        #footer > .inner .address span span {
          display: inline-block; }
      #footer > .inner .tel {
        text-align: center;
        font-size: 12px; }
        #footer > .inner .tel span {
          margin: 5px; }
    #footer .bottom {
      margin-top: 40px;
      padding: 1em; }
      #footer .bottom .inner {
        width: 100%; }
        #footer .bottom .inner .links {
          display: none; }
        #footer .bottom .inner .copy {
          text-align: left; }
      #footer .bottom .contactform {
        left: auto;
        right: 0;
        margin-left: 0;
        width: 100px; }
        #footer .bottom .contactform img {
          width: 100%; }
  /* CSS Document */
  #home .headline .text {
    height: auto;
    padding: 80px 5vw 20vw;
    height: calc( 62px + 100vw);
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-lines: multiple;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center; }
    #home .headline .text p span {
      display: inline-block; }
    #home .headline .text p.caption {
      font-size: 5vw;
      width: 100%;
      margin: 0; }
    #home .headline .text p.catch {
      font-size: 7vw;
      line-height: 1.25em;
      width: 100%;
      margin: 0; }
    #home .headline .text p.lead {
      font-size: 4vw;
      text-align: justify;
      text-justify: inter-ideograph;
      width: 100%;
      margin: 0; }
      #home .headline .text p.lead span {
        display: inline; }
  #home .headline .links {
    position: static;
    background-color: #4ea14c;
    margin-right: 0;
    text-align: center;
    padding: 5vw;
    background-color: #fff; }
    #home .headline .links p {
      width: 90px;
      margin: 0 5vw;
      display: inline-block; }
      #home .headline .links p span {
        color: #231815; }
        #home .headline .links p span:after {
          border-left-color: #231815; }
  #home .efforts {
    padding-bottom: 10vw; }
    #home .efforts h2 {
      margin: -25vw 0 0;
      position: relative;
      z-index: 1;
      overflow: hidden;
      width: 100%; }
      #home .efforts h2 img {
        width: 126vw;
        margin: 0 -13vw;
        max-width: initial; }
    #home .efforts p {
      font-size: 19.2px;
      margin-top: 0; }
      #home .efforts p span {
        display: inline-block; }
      #home .efforts p a {
        margin-top: 5vw;
        box-shadow: 0 0 40px 0 rgba(35, 24, 21, 0.5); }
        #home .efforts p a:hover {
          box-shadow: 0 0 10px 0 rgba(35, 24, 21, 0.5); }
  #home .case {
    padding: 10vw 0;
    text-align: center; }
    #home .case h2 > span:nth-of-type(1) {
      font-size: 16px; }
    #home .case h2 > span:nth-of-type(2) {
      font-size: 21px; }
  #home .introduction {
    padding-bottom: 10vw; }
    #home .introduction figure {
      margin-bottom: 30px; }
    #home .introduction p {
      width: 90%;
      margin: 5vw;
      text-align: justify;
      text-justify: inter-ideograph; }
      #home .introduction p span {
        display: inline; }
      #home .introduction p.links {
        width: 207px;
        text-align: center;
        margin: 5vw auto; }
        #home .introduction p.links a {
          margin: 2.5vw 0;
          font-size: 17px;
          padding: 10px 0; }
  #home .wa {
    padding: 10vw 0; }
    #home .wa .inner > .left {
      width: 90%;
      margin: 0 auto 5vw;
      background-size: 30vw;
      padding-top: 35vw;
      background-position: 50% 0;
      text-align: center; }
      #home .wa .inner > .left h2 {
        font-size: 20.8px; }
      #home .wa .inner > .left p {
        font-size: 14px; }
        #home .wa .inner > .left p.more {
          margin-top: 5vw; }
          #home .wa .inner > .left p.more a {
            width: 100%;
            margin: 0 auto;
            font-size: 14px;
            padding: 2.5vw; }
    #home .wa .inner .right {
      width: 90%;
      margin: 0 auto; }
      #home .wa .inner .right li a {
        padding: 2.5vw; }
        #home .wa .inner .right li a .left {
          width: 70%;
          float: left; }
          #home .wa .inner .right li a .left p time {
            font-size: 12px;
            display: block; }
          #home .wa .inner .right li a .left p span {
            font-size: 12px;
            margin: 5px 0 0; }
          #home .wa .inner .right li a .left p.title {
            font-size: 16px;
            display: block; }
        #home .wa .inner .right li a figure {
          float: right; }
      #home .wa .inner .right li:first-of-type {
        margin-top: 0; }
    #home .wa .inner .more2 {
      margin-top: 5vw; }
  #home .seminar .flex dl dt {
    font-size: 14px; }
  #home .seminar .flex dl dd {
    padding-left: 2.5em;
    position: relative; }
    #home .seminar .flex dl dd span {
      position: absolute;
      top: 0;
      left: 0;
      display: block; }
    #home .seminar .flex dl dd time {
      display: block; }
    #home .seminar .flex dl dd a {
      font-size: 17px;
      padding: 10px 0;
      max-width: 207px; }
  #home .mykomon a span {
    margin-right: 0;
    margin-bottom: 0.2em;
    display: block; }
  /* CSS Document */
  #home.jigyosyo .mission {
    background-image: none;
    padding: 5vw 0 5vw;
    border-bottom: 1px solid #ccc; }
    #home.jigyosyo .mission .wrap {
      width: 90%; }
    #home.jigyosyo .mission h2 {
      font-size: 1.2em;
      padding: 1em 0; }
    #home.jigyosyo .mission h3 {
      font-size: 1.4em; }
    #home.jigyosyo .mission p {
      font-size: 1em;
      text-align: justify;
      text-justify: inter-ideograph; }
  #home.jigyosyo .gaiyo .title {
    padding: 0.5em 0; }
  #home.jigyosyo .gaiyo table th {
    width: 18%;
    font-size: 12px;
    line-height: 1.7em; }
  #home.jigyosyo .gaiyo table td {
    width: 82%;
    font-size: 12px;
    line-height: 2em; }
    #home.jigyosyo .gaiyo table td dl dt {
      width: 34%; }
    #home.jigyosyo .gaiyo table td dl dd {
      width: 66%;
      text-align: justify;
      text-justify: inter-ideograph; }
  #home.jigyosyo .mv {
    height: auto;
    padding: 50px 0 1em; }
    #home.jigyosyo .mv ul {
      counter-reset: num; }
      #home.jigyosyo .mv ul > li {
        width: auto;
        margin: 2.5vw 5vw;
        float: none;
        text-align: left;
        counter-increment: num; }
        #home.jigyosyo .mv ul > li a {
          background-color: rgba(255, 255, 255, 0.1);
          color: #fff;
          font-size: 14px;
          padding: 0.5em 3em 0.5em 0.5em;
          display: block;
          border-radius: 0.25em;
          position: relative; }
          #home.jigyosyo .mv ul > li a:before {
            content: counter(num) " "; }
          #home.jigyosyo .mv ul > li a:after {
            position: absolute;
            content: "";
            width: 0.5em;
            height: 0.5em;
            display: block;
            border-right: 1px solid #fff;
            border-bottom: 1px solid #fff;
            -webkit-transform: rotate(45deg);
            -moz-transform: rotate(45deg);
            -ms-transform: rotate(45deg);
            -o-transform: rotate(45deg);
            transform: rotate(45deg);
            top: 50%;
            right: 1em;
            margin-top: -0.35355em; }
          #home.jigyosyo .mv ul > li a img {
            display: none; }
  #home.jigyosyo .wrap {
    padding: 20px 5vw; }
    #home.jigyosyo .wrap h3 {
      font-size: 1.3em;
      margin: 1em 0; }
  #home.jigyosyo > .wrap > h2 {
    font-size: 1.2em;
    padding: 1em 0; }
  #home.jigyosyo .comment p {
    width: 100%;
    max-width: none;
    line-height: 1.7em;
    letter-spacing: 0;
    text-align: center; }
  #home.jigyosyo .comment .photo {
    position: relative;
    text-align: center;
    margin: 16px auto 0;
    max-width: none; }
  #home.jigyosyo .access .left,
  #home.jigyosyo .access .right {
    width: 100%;
    float: none;
    font-size: 12px;
    line-height: 2em; }
  /* CSS Document */
  #home.case {
    padding-top: 69px; }
  #home.case > .wrap {
    background-color: #FFFFFF;
    margin-top: 60px;
    padding: 5vw; }
    #home.case > .wrap > header > .left {
      width: 68%; }
      #home.case > .wrap > header > .left > .title {
        margin-bottom: -35px;
        font-size: 16px; }
      #home.case > .wrap > header > .left h2 {
        margin-top: 89px;
        text-align: justify;
        text-justify: inter-ideograph; }
      #home.case > .wrap > header > .left ul {
        padding: 8px 0; }
        #home.case > .wrap > header > .left ul li {
          font-size: 12px;
          text-align: center;
          display: inline-block;
          margin: 0 1% 1% 0; }
    #home.case > .wrap .description {
      line-height: 1.7em; }
  #home.case > .wrap > article {
    padding: 80px 5vw 40px; }
  #home.case > .wrap > section h2 {
    margin: 5vw; }
  #home.case > .wrap > section > .description {
    max-width: none;
    padding: 0 5vw 8vw;
    margin: 0; }
  #home.case > .wrap > section > article > .description {
    padding: 0 5vw 8vw; }
  #home.case > .wrap > section > article > h3 {
    padding: 80px 5vw 16px; }
  #home.case > .link > li {
    font-size: 14px;
    letter-spacing: 0.14em;
    line-height: 1.5em;
    width: 207px;
    text-align: center;
    float: none;
    margin: 5vw auto; }
    #home.case > .link > li a {
      font-size: 17px;
      padding: 10px 0;
      border-radius: 5px; }
  #home.case > .wrap > .commenttitle {
    display: block; }
  #home.case > .wrap .title,
  #home.case > .wrap .profile {
    width: 100%;
    float: none; }
  #home.case > .wrap > div > .title {
    float: none;
    font-size: 1.1em;
    text-align: center;
    padding: 5vw 0; }
  #home.case > .wrap .profile {
    margin-top: 5vw; }
    #home.case > .wrap .profile li:nth-of-type(1) {
      width: 20%;
      padding: 0; }
    #home.case > .wrap .profile li:nth-of-type(2) {
      width: 40%;
      padding: 0 5vw;
      font-size: 16px;
      vertical-align: middle; }
      #home.case > .wrap .profile li:nth-of-type(2) span {
        font-size: 12px;
        line-height: 1.3em;
        display: block; }
      #home.case > .wrap .profile li:nth-of-type(2) br {
        display: none; }
    #home.case > .wrap .profile li:nth-of-type(3) {
      padding: 0;
      vertical-align: middle;
      text-align: center; }
      #home.case > .wrap .profile li:nth-of-type(3) a {
        font-size: 1em;
        font-size: 14px; }
  #home.case > .wrap .title {
    padding-top: 50px; }
  #home.case > .wrap > .comment {
    padding: 16px 5vw 30px; }
    #home.case > .wrap > .comment:after {
      left: 9%; }
  #home.case > .link {
    width: 90vw;
    margin: 5vw auto; } }

@media only screen and (max-width: 512px) and (max-width: 375px) {
  #home.case > .wrap > header > .left,
  #home.case > .wrap > header > .right {
    width: 100%;
    float: none; }
  #home.case > .wrap > header > .right {
    text-align: center;
    margin-top: 20px; } }

@media screen and (max-width: 512px) {
  /* CSS Document */
  #home.zeirishi.index {
    padding: 0 0 90px; }
    #home.zeirishi.index .mv {
      margin-top: 53px; }
      #home.zeirishi.index .mv figure {
        overflow: hidden; }
        #home.zeirishi.index .mv figure img {
          width: 120%;
          max-width: none;
          margin: 0 -10%; }
      #home.zeirishi.index .mv .title {
        margin-top: -10px;
        width: 50vw;
        margin: -10px auto 0; }
      #home.zeirishi.index .mv .catch {
        font-size: 1.1em;
        margin: 0.5em auto; }
      #home.zeirishi.index .mv .text {
        margin: 5vw; }
    #home.zeirishi.index h2 {
      font-size: 21px;
      letter-spacing: 0.08em;
      font-weight: 500;
      text-align: center;
      padding: 0 5vw; }
      #home.zeirishi.index h2:before {
        border-width: 0.4em 0 0.4em 0.6em;
        margin: 0 0.5em 0 0; }
    #home.zeirishi.index section {
      width: 90vw; }
      #home.zeirishi.index section h3 {
        position: relative;
        margin: 30px 0 0;
        display: block;
        background-color: #FFF;
        font-size: 1.2em;
        display: inline-block;
        padding-right: 0.5em; }
      #home.zeirishi.index section .border {
        margin-top: -2px;
        border-top: solid 1px #000; }
      #home.zeirishi.index section > figure {
        margin: 5vw 0; }
      #home.zeirishi.index section ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        -webkit-justify-content: flex-start;
        justify-content: flex-start;
        -webkit-box-lines: multiple;
        -ms-flex-wrap: wrap;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap; }
        #home.zeirishi.index section ul li {
          width: 45vw;
          padding: 2.5vw;
          margin: 2.5vw auto; }
          #home.zeirishi.index section ul li figure {
            width: 40vw;
            height: 28.57143vw; }
            #home.zeirishi.index section ul li figure img {
              width: 100%; }
          #home.zeirishi.index section ul li .cat {
            background-color: #083d0e;
            color: #fff;
            font-size: 12px;
            padding: 0.5em;
            text-align: center; }
          #home.zeirishi.index section ul li .name {
            font-size: 1em;
            font-weight: bold;
            margin-top: 0.75em; }
          #home.zeirishi.index section ul li .alphabet, #home.zeirishi.index section ul li .num {
            font-size: 12px;
            line-height: 1.2em;
            margin-top: 0.5em; }
          #home.zeirishi.index section ul li .more {
            font-size: 12px;
            padding: 0.5em;
            margin-top: 2.5vw; }
          #home.zeirishi.index section ul li a {
            margin: -2.5vw;
            padding: 2.5vw;
            height: calc( 100% + 5vw); }
  #home.zeirishi .mv {
    margin-top: 62px;
    height: auto; }
    #home.zeirishi .mv .wrap {
      width: auto;
      max-width: none; }
      #home.zeirishi .mv .wrap > div .catch {
        margin: 0;
        font-size: 1em;
        width: 100%;
        text-align: justify;
        text-justify: inter-ideograph;
        background-color: #282828;
        padding: 5vw; }
        #home.zeirishi .mv .wrap > div .catch > span {
          display: inline; }
          #home.zeirishi .mv .wrap > div .catch > span span {
            display: inline;
            padding: 0; }
      #home.zeirishi .mv .wrap > div .class {
        font-size: 12px;
        margin: 2.5vw 5vw 0; }
      #home.zeirishi .mv .wrap > div .name {
        font-size: 24px;
        margin: 0 5vw 2.5vw; }
        #home.zeirishi .mv .wrap > div .name span {
          font-size: 12px; }
      #home.zeirishi .mv .wrap > div .belong {
        font-size: 12px;
        margin: 0;
        padding: 2.5vw 5vw; }
        #home.zeirishi .mv .wrap > div .belong:before, #home.zeirishi .mv .wrap > div .belong:after {
          content: none; }
      #home.zeirishi .mv .wrap .img {
        height: auto;
        width: 100%;
        position: static; }
        #home.zeirishi .mv .wrap .img img {
          width: 100%;
          height: auto;
          display: block; }
  #home.zeirishi > .wrap {
    padding: 5vw;
    width: 100%; }
    #home.zeirishi > .wrap h2 {
      font-size: 20px;
      margin: 5vw 0 5vw;
      line-height: 1.5em; }
    #home.zeirishi > .wrap p {
      margin: 5vw 0; }
    #home.zeirishi > .wrap .left,
    #home.zeirishi > .wrap .right,
    #home.zeirishi > .wrap .left2,
    #home.zeirishi > .wrap .right2 {
      width: auto;
      float: none;
      line-height: 1.7em; }
      #home.zeirishi > .wrap .left img,
      #home.zeirishi > .wrap .right img,
      #home.zeirishi > .wrap .left2 img,
      #home.zeirishi > .wrap .right2 img {
        width: 100%;
        height: auto;
        display: block; }
    #home.zeirishi > .wrap .specialized .txt,
    #home.zeirishi > .wrap .specialized .img {
      display: block;
      width: auto; }
    #home.zeirishi > .wrap .specialized .txt {
      padding: 5vw; }
    #home.zeirishi > .wrap .specialized .img {
      height: calc( 90vw / 400 * 514);
      background-color: #f0f0f0;
      border: 5vw solid #f0f0f0; }
  #home.zeirishi .case-area {
    margin-top: 10vw; }
  #home.zeirishi .staff li {
    width: 50%; }
  /* CSS Document */
  #home.gyomu-annai .mv {
    padding-bottom: 30px; }
  #home.gyomu-annai .mv div {
    margin: 0 5vw; }
    #home.gyomu-annai .mv div h3 {
      font-size: 20px;
      padding: 0;
      margin-bottom: 0; }
    #home.gyomu-annai .mv div p {
      display: none; }
  #home.gyomu-annai .trouble .icon {
    margin-left: 17px; }
  #home.gyomu-annai .trouble h2 {
    font-size: 1.3em;
    margin: 0 5vw; }
  #home.gyomu-annai .trouble ul {
    margin: 5vw 5vw 10vw; }
    #home.gyomu-annai .trouble ul li .left {
      width: 20%; }
    #home.gyomu-annai .trouble ul li .right {
      width: 80%;
      padding: 2.5vw; }
      #home.gyomu-annai .trouble ul li .right br {
        display: none; }
    #home.gyomu-annai .trouble ul li:nth-of-type(2) .right {
      padding: 2.5vw; }
  #home.gyomu-annai .mv2 div p {
    margin-left: 17px; }
  #home.gyomu-annai .mv2 div h2 {
    padding-left: 0; }
  #home.gyomu-annai .mv2 div ul {
    margin: 5vw;
    padding: 0; }
    #home.gyomu-annai .mv2 div ul li .right {
      text-align: justify;
      text-justify: inter-ideograph; }
    #home.gyomu-annai .mv2 div ul li br {
      display: none; }
  #home.gyomu-annai .offer .title {
    padding: 0; }
  #home.gyomu-annai .offer .text {
    margin: 5vw;
    font-size: 0.8em;
    line-height: 1.7em; }
  #home.gyomu-annai .offer .icon li {
    width: 9em;
    height: 9em;
    font-size: 14px; }
    #home.gyomu-annai .offer .icon li a {
      width: 100%;
      height: 100%;
      font-size: inherit;
      padding: 1em 0.5em 1.5em; }
  #home.gyomu-annai .offer section {
    padding-left: 5vw;
    padding-right: 5vw; }
    #home.gyomu-annai .offer section h2 {
      font-size: 16px;
      margin: -10px -5vw;
      height: 30vw; }
      #home.gyomu-annai .offer section h2 span {
        width: 106vw;
        height: 53vw;
        margin: -35vw -3vw 0;
        padding-top: 34vw; }
    #home.gyomu-annai .offer section h3 {
      margin: 5vw 0;
      line-height: 1.2em;
      font-size: 1.4em; }
      #home.gyomu-annai .offer section h3 span {
        display: inline-block; }
    #home.gyomu-annai .offer section .box {
      width: 100%;
      float: none;
      padding: 5vw;
      height: auto !important; }
      #home.gyomu-annai .offer section .box:nth-of-type(3n-1) {
        margin: 0 0 8px 0; }
      #home.gyomu-annai .offer section .box .name {
        width: auto; }
      #home.gyomu-annai .offer section .box .text {
        margin: 0; }
      #home.gyomu-annai .offer section .box.logo {
        display: none; }
    #home.gyomu-annai .offer section dl {
      margin: 0 0 -2.5em;
      width: 100%; }
    #home.gyomu-annai .offer section .left,
    #home.gyomu-annai .offer section .right {
      margin-top: 16px;
      width: 100%;
      float: none; }
      #home.gyomu-annai .offer section .left.bottom,
      #home.gyomu-annai .offer section .right.bottom {
        position: static;
        width: 100%;
        margin-bottom: -2.9em; }
      #home.gyomu-annai .offer section .left img,
      #home.gyomu-annai .offer section .right img {
        display: block;
        margin: 0 auto; }
    #home.gyomu-annai .offer section.reverse dl {
      margin: 0 0 -2.5em; }
    #home.gyomu-annai .offer section.reverse .left,
    #home.gyomu-annai .offer section.reverse .right {
      float: none; }
    #home.gyomu-annai .offer section .center + .center {
      display: block;
      text-align: center; }
      #home.gyomu-annai .offer section .center + .center:before {
        -webkit-transform: rotate(90deg);
        -moz-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
        -o-transform: rotate(90deg);
        transform: rotate(90deg);
        margin-left: -26px;
        margin-top: -13px; }
      #home.gyomu-annai .offer section .center + .center .before,
      #home.gyomu-annai .offer section .center + .center .after {
        margin: 0 auto; }
      #home.gyomu-annai .offer section .center + .center .after {
        margin-top: 60px; }
  #home.gyomu-annai .support .title {
    font-size: 14px; }
    #home.gyomu-annai .support .title + div {
      padding: 5vw; }
      #home.gyomu-annai .support .title + div .caption {
        font-size: 14px;
        line-height: 1.3em;
        margin: 0; }
      #home.gyomu-annai .support .title + div .catch {
        font-size: 20px;
        line-height: 1.2em; }
        #home.gyomu-annai .support .title + div .catch span {
          display: inline-block; }
      #home.gyomu-annai .support .title + div .left {
        float: none;
        width: 100%; }
      #home.gyomu-annai .support .title + div .right {
        float: none;
        width: 100%;
        margin-top: 1em; }
      #home.gyomu-annai .support .title + div dl {
        clear: both;
        width: 100%; }
        #home.gyomu-annai .support .title + div dl dt {
          color: #db5d11;
          font-size: 20px;
          font-weight: 500;
          text-align: center;
          padding: 1.5em 0 0.5em; }
        #home.gyomu-annai .support .title + div dl dd ul {
          display: block; }
          #home.gyomu-annai .support .title + div dl dd ul li {
            width: 100%; }
      #home.gyomu-annai .support .title + div .link a {
        font-size: 18px; }
  #home.gyomu-annai .bg h2 {
    line-height: 1.2em;
    margin: 5vw; }
  #home.gyomu-annai .bg .detail header li:first-of-type {
    width: 100%; }
  /* CSS Document */
  #home.tushin .main,
  #home.tushin .sidebar {
    width: 100%;
    float: none; }
  #home.tushin .main {
    padding: 30vw 5vw 5vw; }
    #home.tushin .main > .title {
      margin: 0 0 5vw;
      display: block; }
    #home.tushin .main article p {
      line-height: 1.5em; }
  #home.tushin .sidebar {
    padding: 5vw; }
    #home.tushin .sidebar .sub-title {
      margin: 0; }
  #home.tushin .wrap {
    display: block;
    width: 100%; }
  #home.tushin .nextprev {
    padding: 5vw 0; }
    #home.tushin .nextprev li {
      font-size: 12px;
      line-height: 1.3em; }
      #home.tushin .nextprev li:not(:first-of-type) {
        margin-top: 1em; }
      #home.tushin .nextprev li a {
        font-size: 14px;
        line-height: 1.3em;
        display: block;
        border: 1px solid #4EA14C;
        padding: 1em 2.4em 1em 1em;
        position: relative;
        text-align: justify;
        text-justify: inter-ideograph;
        margin: 0.5em 0; }
        #home.tushin .nextprev li a:after {
          position: absolute;
          content: "";
          width: 0.5em;
          height: 0.5em;
          display: block;
          -webkit-transform: rotate(45deg);
          -moz-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
          -o-transform: rotate(45deg);
          transform: rotate(45deg);
          border-top: 1px solid #4EA14C;
          border-right: 1px solid #4EA14C;
          top: 50%;
          right: 1em;
          margin-top: -0.17678em; }
  /* CSS Document */
  #home.saiyo h2 {
    font-size: 1.3em;
    margin: 10vw 0; }
  #home.saiyo h3 {
    font-size: 1em; }
  #home.saiyo .mv {
    padding: 5vw 0; }
    #home.saiyo .mv div {
      padding: 0 5vw;
      width: 100%; }
      #home.saiyo .mv div h2 + figure {
        margin: 20px auto 0;
        width: 50vw; }
      #home.saiyo .mv div h3 {
        padding: 0;
        font-size: 1.2em;
        margin: 1.5em 0; }
      #home.saiyo .mv div p {
        font-size: 14px;
        padding: 0 0 5vw; }
      #home.saiyo .mv div .text {
        padding: 5vw; }
  #home.saiyo .toyou {
    margin-top: 5vw; }
    #home.saiyo .toyou .kakomi h4 {
      font-size: 20px; }
    #home.saiyo .toyou h5 {
      font-size: 1em; }
    #home.saiyo .toyou .three {
      display: block; }
      #home.saiyo .toyou .three h5 {
        width: 100%; }
  #home.saiyo .wrap {
    padding: 0 5vw; }
  #home.saiyo .left,
  #home.saiyo .right2 {
    width: 100%;
    padding: 5vw;
    float: none;
    margin-top: 1.5em; }
    #home.saiyo .left:after,
    #home.saiyo .right2:after {
      top: -2em;
      right: auto;
      left: 15%;
      margin-left: -1em;
      border: 1em solid transparent;
      border-bottom: 1em solid #ebf1e5; }
  #home.saiyo .right,
  #home.saiyo .left2 {
    width: 100%;
    float: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center; }
    #home.saiyo .right .img,
    #home.saiyo .left2 .img {
      width: 30%; }
    #home.saiyo .right .text,
    #home.saiyo .left2 .text {
      font-size: 1em;
      line-height: 1.5em;
      padding: 0 0 0 1em; }
  #home.saiyo hr {
    width: 100%;
    margin-left: 0; }
  #home.saiyo section .text {
    font-size: 12px;
    line-height: 1.2em; }
  #home table {
    width: 100%; }
  /* CSS Document */
  #home.privacypolicy {
    background-color: #FFFFFF;
    padding-top: 60px;
    counter-reset: num; }
    #home.privacypolicy .wrap {
      padding: 0 0 5vw; }
      #home.privacypolicy .wrap p {
        margin: 5vw; }
      #home.privacypolicy .wrap dl dt {
        margin: 10vw 5vw 5vw; }
      #home.privacypolicy .wrap dl dd {
        margin: 5vw 5vw 10vw; }
        #home.privacypolicy .wrap dl dd ol {
          padding: 0;
          margin: 0; }
          #home.privacypolicy .wrap dl dd ol li {
            margin: 5vw 0; }
            #home.privacypolicy .wrap dl dd ol li:before {
              position: absolute;
              top: 0;
              left: 0; }
        #home.privacypolicy .wrap dl dd p {
          padding: 0;
          margin: 5vw 0;
          word-break: break-all; }
      #home.privacypolicy .wrap a {
        text-decoration: underline; }
  /* CSS Document */
  #home.faq > h2 + p {
    margin: 5vw; }
  #home.faq .wrap {
    padding-bottom: 5vw; }
    #home.faq .wrap dl {
      margin: 5vw;
      padding: 5vw;
      max-width: none; }
      #home.faq .wrap dl dt:before,
      #home.faq .wrap dl dd:before {
        width: 8vw;
        height: 8vw; }
      #home.faq .wrap dl dt {
        padding-left: 10vw;
        font-size: 18px; }
      #home.faq .wrap dl dd {
        margin: 5vw 0 0 0vw;
        padding-left: 10vw; }
  /* CSS Document */
  #home.contact .wrap {
    padding: 0 0 5vw; }
  #home.contact p {
    margin: 5vw; }
  #home.contact h2 {
    margin: 5vw;
    display: inline-block;
    max-width: none;
    width: auto;
    padding-left: 0.75em; }
    #home.contact h2:after {
      left: 0; }
  #home.contact dl {
    margin: 5vw;
    display: block; }
    #home.contact dl dt {
      margin-top: 2em;
      width: 100%; }
    #home.contact dl dd {
      margin-top: 1em;
      width: 100%; }
  #home.contact input[type="text"][name^="postalcode"],
  #home.contact input[type="email"][name^="postalcode"],
  #home.contact input[type="url"][name^="postalcode"],
  #home.contact textarea[name^="postalcode"] {
    margin: 0 0.25em;
    width: 4em; }
  #home.contact input[type="text"][name^="tel"], #home.contact input[type="text"][name^="fax"],
  #home.contact input[type="email"][name^="tel"],
  #home.contact input[type="email"][name^="fax"],
  #home.contact input[type="url"][name^="tel"],
  #home.contact input[type="url"][name^="fax"],
  #home.contact textarea[name^="tel"],
  #home.contact textarea[name^="fax"] {
    margin: 0 0.25em;
    width: 4em; }
    #home.contact input[type="text"][name^="tel"]:first-of-type, #home.contact input[type="text"][name^="fax"]:first-of-type,
    #home.contact input[type="email"][name^="tel"]:first-of-type,
    #home.contact input[type="email"][name^="fax"]:first-of-type,
    #home.contact input[type="url"][name^="tel"]:first-of-type,
    #home.contact input[type="url"][name^="fax"]:first-of-type,
    #home.contact textarea[name^="tel"]:first-of-type,
    #home.contact textarea[name^="fax"]:first-of-type {
      margin-left: 0; }
  #home.contact input[type="submit"] {
    margin: 5vw auto; }
  /* CSS Document */
  #home.seminar {
    padding: 73px 0 0; }
    #home.seminar h1 {
      font-size: 20px;
      margin: 5vw; }
    #home.seminar > .flex {
      display: block;
      margin: 5vw; }
      #home.seminar > .flex figure {
        max-width: none; }
      #home.seminar > .flex p {
        margin-top: 5vw; }
    #home.seminar .outline h2,
    #home.seminar .teacher h2 {
      margin: 10vw 5vw 5vw;
      width: 90vw; }
    #home.seminar .outline dl {
      margin: 2.5vw 5vw; }
      #home.seminar .outline dl dt {
        padding: 5vw;
        width: 30%; }
      #home.seminar .outline dl dd {
        padding: 5vw;
        width: 70%; }
    #home.seminar .teacher .flex figure {
      width: 25%; }
    #home.seminar .teacher .flex dl {
      width: 70%; }
      #home.seminar .teacher .flex dl dt small {
        display: block; }
      #home.seminar .teacher .flex dl dt span:nth-of-type(3) small {
        margin-left: 0; }
    #home.seminar .tel {
      padding: 5vw; }
      #home.seminar .tel h2 {
        font-size: 20px; }
      #home.seminar .tel div {
        margin: 5vw auto 0;
        padding: 5vw; }
    #home.seminar .backnumber ul {
      margin: 5vw auto 0; } }

img {
  border-style: none;
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }

.wrap {
  width: 800px;
  max-width: 100%;
  margin: 0 auto; }

.clearfix:after {
  content: "";
  clear: both;
  display: block;
  height: 0;
  visibility: hidden; }

#home .contact {
  background-color: #4ea14c;
  padding: 40px 0;
  text-align: center; }

#home > .contact .wrap {
  text-align: center; }

#home .contact p {
  font-size: 1.3em;
  line-height: 1.2em;
  margin: 20px 0;
  color: #FFF; }
  #home .contact p a {
    box-shadow: 0 0 20px 0 rgba(35, 24, 21, 0.5); }
    #home .contact p a:hover {
      box-shadow: 0 0 10px 0 rgba(35, 24, 21, 0.5); }

#home .contact .title {
  font-size: 2.4em;
  font-weight: bold;
  margin-bottom: 8px; }

#home .contact p:nth-of-type(3) {
  font-size: 1em;
  background: #fff;
  padding: 2em 13em; }
  #home .contact p:nth-of-type(3) img {
    display: block;
    width: 100%; }

#home .contact p:nth-of-type(4) {
  margin: 30px 0; }

#home .contact p:nth-of-type(5) {
  font-size: 1.6em;
  margin: 30px 0; }

@media screen and (max-width: 512px) {
  #home .contact {
    padding: 5vw; }
    #home .contact .wrap {
      width: 100%; }
      #home .contact .wrap .title {
        font-size: 1.5em; }
      #home .contact .wrap p {
        font-size: 0.9em; }
        #home .contact .wrap p:nth-of-type(3) {
          padding: 1em; } }

#home table {
  width: 92%;
  margin: 0 auto; }

#home table > tbody > tr {
  border-bottom: solid 8px #FFF; }

#home table > tbody > tr > th {
  width: 30%;
  padding: 12px 0;
  background-color: #7D7D7D;
  color: #FFF; }

#home table > tbody > tr > td {
  width: 66%;
  padding: 12px 2%;
  background-color: #E8E5DF;
  line-height: 22px; }

/*
------------------------
ryokin
------------------------
*/
#home.ryokin {
  background-color: #FFFFFF;
  padding-top: 60px; }
  #home.ryokin > .contact > .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-box-lines: multiple;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 695px; }
    #home.ryokin > .contact > .wrap .title {
      width: 100%; }

#home.ryokin > h2 {
  position: relative;
  font-size: 2em;
  font-weight: bold;
  width: 140px;
  text-align: center;
  margin: 0 auto 20px; }

#home.ryokin > h2:after {
  content: "";
  position: absolute;
  top: 0;
  left: -25px;
  border: 12px solid transparent;
  border-top: 20px solid #4ea14c;
  transform: rotate(270deg); }

#home.ryokin > .contact > .wrap > .box {
  max-width: 372px;
  background-color: #FFF;
  color: #000;
  margin: 20px auto;
  padding: 12px 12px 24px;
  display: inline-block; }

#home.ryokin > .contact > .wrap > .box > h3 {
  font-size: 1.2em;
  padding: 22px 0 12px; }

#home.ryokin > .contact > .wrap > .box > p {
  color: #000;
  font-size: 0.9em;
  line-height: 1.3em;
  margin: 0;
  text-align: left;
  position: relative;
  padding: 0 0 0 1em !important; }
  #home.ryokin > .contact > .wrap > .box > p:before {
    content: "・";
    position: absolute;
    top: 0;
    left: 0; }

#home.ryokin > .contact > .wrap > .box > ul {
  border-bottom: solid 1px #000; }

#home.ryokin > .contact > .wrap > .box > ul > li {
  padding: 7px 0;
  border-top: solid 1px #000; }

#home.ryokin > .contact > .wrap > .box > ul > li > span {
  color: #f00; }

#home.ryokin > .wrap > h2 {
  font-size: 2.6em;
  font-weight: bold;
  width: 200px;
  margin: 40px auto 20px;
  text-align: center; }

#home.ryokin > .wrap > h3 {
  font-size: 1.8em;
  line-height: 1.2em;
  text-align: center;
  margin-bottom: 24px;
  color: #4ea14c; }

#home.ryokin > .wrap > h4 {
  width: 95px;
  position: relative;
  margin: 30px 0 0;
  display: block;
  background-color: #FFF;
  font-size: 1.2em; }

#home.ryokin > .wrap > .description {
  max-width: 650px;
  margin: 0 auto;
  line-height: 24px;
  text-align: justify;
  text-justify: inter-ideograph; }

#home.ryokin > .wrap > .border {
  margin-top: -2px;
  border-top: solid 1px #000;
  margin-bottom: 40px; }

#home.ryokin > .wrap > .annotation {
  width: 92%;
  margin: 20px auto 100px;
  padding: 0 16px; }

#home.ryokin > .example {
  background-color: #E8E5DF;
  padding: 40px 0 20px; }

#home.ryokin > .example > .wrap > h2 {
  font-size: 2em;
  text-align: center;
  padding-bottom: 8px; }

#home.ryokin > .example > .wrap > div {
  font-size: 1.2em;
  background-color: #FFF;
  text-align: center;
  padding: 80px 0;
  margin: 20px 0; }

/* sp */
@media only screen and (max-width: 999px) {
  #home.ryokin > .contact {
    margin: 0;
    padding: 5vw; }
    #home.ryokin > .contact .title {
      font-size: 1.4em; }
    #home.ryokin > .contact > .wrap > .box {
      width: 100%;
      float: none;
      margin: 0 auto 30px;
      height: auto; }
  #home.ryokin > .wrap {
    padding: 5vw; }
    #home.ryokin > .wrap h2 {
      font-size: 1.4em; }
    #home.ryokin > .wrap h3 {
      font-size: 1.4em; }
    #home.ryokin > .wrap > .annotation {
      width: 100%;
      text-align: justify;
      line-height: 1.3em; } }

/*
------------------------
torikumi
------------------------
*/
#home.torikumi {
  background-color: #4EA14C; }

#home.torikumi .mv {
  position: relative;
  z-index: 0;
  background-image: url(../images/torikumi/main-bg.jpg);
  background-size: cover;
  background-position: center center;
  padding-top: 70px;
  height: 100%;
  padding-bottom: 100px;
  text-align: center; }

#home.torikumi .mv h2 {
  font-size: 1.6em;
  font-weight: bold;
  color: #FFF;
  margin: 24px 0; }

#home.torikumi .mv ul:first-of-type {
  max-width: 700px;
  margin: 0 auto; }

#home.torikumi .mv ul:first-of-type > li {
  width: 25%;
  float: left;
  text-align: center; }

#home.torikumi .mv ul:last-of-type {
  max-width: 600px;
  margin: 0 auto;
  padding: 0 50px; }

#home.torikumi .mv ul:last-of-type > li {
  width: 33%;
  float: left;
  text-align: center; }

#home.torikumi .main {
  position: relative;
  z-index: 1;
  background-color: #FFF;
  margin-top: -40px;
  margin-bottom: 40px; }

#home.torikumi .main .box {
  position: relative;
  z-index: 0; }

#home.torikumi .main .box .tag {
  background-color: #595758;
  color: #FFF;
  padding: 6px 12px;
  display: inline-block;
  margin: 40px 40px 12px; }

#home.torikumi .main .box h2 {
  font-size: 1.8em;
  line-height: 1.2em;
  margin-bottom: 32px;
  margin-left: 40px; }

#home.torikumi .main .box > div {
  margin: 0 40px 40px; }

#home.torikumi .main .box > div .left {
  float: left;
  width: 60%;
  line-height: 34px;
  text-align: justify;
  text-justify: inter-ideograph; }

#home.torikumi .main .box > div .right {
  float: right;
  width: 32%; }

#home.torikumi .main .box footer {
  background-color: #EEECEB; }

#home.torikumi .main .box footer .left {
  width: 49%;
  padding: 0;
  position: absolute;
  left: 20px;
  bottom: 0;
  text-align: center; }
  #home.torikumi .main .box footer .left img {
    max-height: 280px; }

#home.torikumi .main .box footer .right {
  width: 368px;
  float: right;
  margin-right: 20px; }

#home.torikumi .main .box footer .right h3 {
  padding: 30px 0 16px;
  font-size: 1.2em;
  font-weight: bold; }

#home.torikumi .main .box footer .right p {
  float: right;
  line-height: 24px;
  padding-right: 32px;
  padding-bottom: 60px;
  text-align: justify;
  text-justify: inter-ideograph;
  font-size: 14px; }

#home.torikumi .main .bar {
  position: relative;
  z-index: 1;
  background: #4EA14C;
  height: 45px;
  -webkit-transform: rotate(-3deg);
  -moz-transform: rotate(-3deg);
  -ms-transform: rotate(-3deg);
  -o-transform: rotate(-3deg);
  transform: rotate(-3deg);
  margin: -23px -12px 0; }

#home.torikumi .main .box > div .left2 {
  float: left;
  width: 32%; }

#home.torikumi .main .box > div .right2 {
  float: right;
  width: 60%;
  line-height: 34px;
  text-align: justify;
  text-justify: inter-ideograph; }

#home.torikumi .main .box footer .left2 {
  width: 368px;
  float: left;
  margin-left: 20px; }

#home.torikumi .main .box footer .left2 h3 {
  padding: 30px 0 16px;
  font-size: 1.2em;
  font-weight: bold;
  padding-left: 32px; }

#home.torikumi .main .box footer .left2 p {
  float: right;
  line-height: 24px;
  padding-left: 32px;
  padding-bottom: 60px;
  text-align: justify;
  text-justify: inter-ideograph;
  font-size: 14px; }

#home.torikumi .main .box footer .right2 {
  width: 49%;
  padding: 0;
  position: absolute;
  right: 20px;
  bottom: 0;
  text-align: center; }
  #home.torikumi .main .box footer .right2 img {
    max-height: 280px; }

#home.torikumi .main .bar2 {
  position: relative;
  z-index: 1;
  background: #4EA14C;
  height: 45px;
  -webkit-transform: rotate(2deg);
  -moz-transform: rotate(2deg);
  -ms-transform: rotate(2deg);
  -o-transform: rotate(2deg);
  transform: rotate(2deg);
  margin: -23px -12px 0; }

#home.torikumi .main .change {
  background-color: #ecebe7;
  text-align: center;
  padding: 70px 0;
  margin-top: -55px; }

#home.torikumi .main .change h2 {
  font-size: 2em;
  margin: 40px 8px 60px; }

#home.torikumi .main .change ul {
  max-width: 700px;
  margin: 0 auto; }

#home.torikumi .main .change ul li {
  width: 31%;
  margin: 0 -2%;
  display: inline-block; }
  #home.torikumi .main .change ul li img {
    width: 100%; }

#home.torikumi .main .for h2 {
  font-size: 2em;
  text-align: center;
  margin: 60px 0 40px; }

#home.torikumi .main .for .text {
  font-size: 19.5px;
  text-align: justify;
  text-justify: inter-ideograph;
  line-height: 1.8em;
  padding: 0 40px 40px; }

/* sp */
@media only screen and (max-width: 999px) {
  #home.torikumi .main .box .tag {
    margin: 10vw 0 0 5vw;
    width: 50vw;
    font-size: 0.8em; }
  #home.torikumi .main .box h2 {
    margin: 5vw;
    width: 60vw;
    text-align: justify;
    text-justify: inter-ideograph;
    font-size: 20px; }
  #home.torikumi .main .box > div {
    margin: 0 0 5vw; }
  #home.torikumi .main .box > div .right,
  #home.torikumi .main .box > div .left2 {
    float: none;
    margin: 0;
    position: absolute;
    top: 10vw;
    right: 5vw;
    width: 25vw; }
  #home.torikumi .main .box > div .left,
  #home.torikumi .main .box > div .right2,
  #home.torikumi .main .box footer .left,
  #home.torikumi .main .box footer .right,
  #home.torikumi .main .box footer .left2,
  #home.torikumi .main .box footer .right2 {
    margin-top: 5vw;
    width: 100%;
    float: none;
    padding-right: 5vw;
    padding-left: 5vw;
    position: static;
    line-height: 1.7em; }
  #home.torikumi .main .box footer .right p,
  #home.torikumi .main .box footer .left2 p {
    padding: 0 0 10px; }
  #home.torikumi .main .box footer .left p {
    padding-right: 0; }
  #home.torikumi .main .box footer .left2 h3 {
    padding-left: 0; }
  #home.torikumi .main .for h2 {
    font-size: 1.4em;
    line-height: 1.2em;
    margin: 5vw; }
  #home.torikumi .main .for .text {
    padding-right: 5vw;
    padding-left: 5vw;
    font-size: 16px; }
  #home.torikumi .main .box footer .left,
  #home.torikumi .main .box footer .right2 {
    text-align: center;
    width: 80%;
    margin: 0 auto; }
  #home.torikumi .main .box:nth-of-type(2) footer .left,
  #home.torikumi .main .box:nth-of-type(2) footer .right2 {
    width: 95%; }
  #home.torikumi .main .box:nth-of-type(5) footer .left,
  #home.torikumi .main .box:nth-of-type(5) footer .right2 {
    margin-bottom: 10px; }
  #home.torikumi .main .change {
    margin-top: -22px;
    padding: 40px 0; }
    #home.torikumi .main .change h2 {
      font-size: 1.4em;
      line-height: 1.2em;
      margin: 5vw; }
      #home.torikumi .main .change h2 span {
        display: block; }
    #home.torikumi .main .change ul {
      width: 100%;
      height: 216vw;
      margin: 10vw 0;
      position: relative;
      overflow: hidden; }
      #home.torikumi .main .change ul li {
        width: 60vw;
        margin: 0;
        position: absolute;
        overflow: hidden; }
        #home.torikumi .main .change ul li:nth-of-type(1) {
          top: 0;
          left: 20vw; }
        #home.torikumi .main .change ul li:nth-of-type(2) {
          top: 105vw;
          left: -7vw; }
        #home.torikumi .main .change ul li:nth-of-type(3) {
          top: 105vw;
          right: -7vw; } }

main.notfound {
  background-color: #fff;
  text-align: center;
  padding: 8em 0; }
  main.notfound p {
    line-height: 2em; }
  main.notfound .more2 {
    max-width: 288px;
    margin: 2em auto; }

@media only screen and (max-width: 999px) {
  main.notfound p {
    margin: 5vw; } }

.pc_none {
  display: none; }

@media only screen and (max-width: 767px) {
  .sp_none {
    display: none !important; }
  hr.pc_none,
  br.pc_none {
    display: block; } }

/*header*/
#header .inner .left .text {
  font-size: 12px; }

#header .inner .right {
  position: relative;
  padding: 15px 309px 0 0; }

#header .inner .right .tel {
  position: absolute;
  top: 17px;
  left: 100px; }

#header .inner .right .tel img {
  width: 170px;
  height: auto;
  margin-bottom: 3px; }

#header .inner .right .text {
  position: absolute;
  left: 160px;
  top: 37px;
  letter-spacing: 0.01em;
  line-height: 1.5;
  font-size: 12px; }

.btn-mycomon {
  position: relative;
  display: inline-block;
  width: 92px; }

section.service.include ul li dl dd div {
  line-height: 1.5em; }

@media only screen and (max-width: 767px) {
  #header .inner .right {
    padding: 0;
    position: static; }
  .btn-mycomon {
    display: block;
    position: absolute;
    top: 0;
    right: 108px;
    width: 57px; }
  section.service.include ul li dl dt,
  section.service.include ul li dl dt img,
  section.service.include ul li dl dd .title {
    margin-bottom: 0; }
  section.service.include ul li .bottom a .more {
    margin-top: 0;
    width: 67.5%; } }

#home.contact dl:nth-of-type(2n-1) {
  background-color: #FAFAFA;
  padding-top: 10px;
  padding-bottom: 10px; }

#home.contact dl dt {
  padding-left: 10px;
  color: #083C0D; }

#home.contact dl dt span.required {
  color: #f00;
  margin-left: 7px; }

#home.contact dl dd {
  padding-right: 10px; }

#home.contact input[type="text"],
#home.contact input[type="email"],
#home.contact input[type="url"],
#home.contact textarea {
  border-color: #083C0D;
  line-height: 1.4; }

@media only screen and (max-width: 767px) {
  #home.contact dl,
  #home.contact dl:nth-of-type(2n-1) {
    margin-top: 0;
    margin-bottom: 0; }
  #home.contact dl dt,
  #home.contact dl dd {
    padding: 10px;
    margin-top: 0; }
  #home.contact dl dt {
    padding-bottom: 5px; } }

#home .seminar .flex dl dd {
  padding-left: 2.7em;
  position: relative; }

#home .seminar .flex dl dd span {
  position: absolute;
  display: inline-block;
  left: 0; }

@media only screen and (max-width: 767px) {
  #home.seminar .backnumber ul li {
    display: block;
    padding: 10px; }
  #home.seminar .backnumber ul li span {
    width: auto;
    padding-bottom: 5px; }
  #home.seminar .backnumber ul li dl {
    width: 100%; }
  #home.seminar .backnumber ul li dl dt {
    font-size: 16px; }
  #home.seminar .backnumber ul li dl dd {
    font-size: 14px; } }

@media screen and (max-width: 512px) {
  #home .mv {
    margin-top: 53px !important;
    height: auto; } }

#home.ryokin > .contact > .wrap > .box > h3 {
  padding: 10px 0; }

@media only screen and (max-width: 767px) {
  #home.ryokin > .contact > .wrap > .box > h3 {
    padding: 5px 0 15px;
    line-height: 1.3; } }

.mw_wp_form .error {
  font-weight: bold; }

@media screen and (max-width: 512px) {
  #home.gyomu-annai .offer section h3 {
    margin-top: -10px;
    line-height: 1.3; }
  #home.gyomu-annai .offer section .left,
  #home.gyomu-annai .offer section .right,
  #home.gyomu-annai .offer section p {
    font-size: 16px; } }

@media screen and (max-width: 512px) {
  #home.gyomu-annai .offer section .left.bottom,
  #home.gyomu-annai .offer section .right.bottom {
    margin-bottom: -40px; }
  #home.case > .wrap {
    margin-top: 20px; }
  #home.case > .wrap > header > .left > .title {
    margin-top: -43px;
    margin-bottom: -75px; }
  #home.case > .wrap > .comment {
    margin-bottom: 0; } }

/*# sourceMappingURL=style.css.map */