@charset "UTF-8";
/* Scss Document */
html {
  font-size: 62.5%; }

html, body {
  width: 100%;
  position: relative;
  color: #535353; }

body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  font-size: 1rem;
  border: 0;
  font: inherit;
  vertical-align: top;
  line-height: 1;
  -webkit-text-size-adjust: 100%;
  list-style: none;
  text-decoration: none;
  border: none;
  box-sizing: border-box;
  background-color: transparent; }

span, strong, a, abbr, time, acronym, b, bdo, big, br, button, cite, code, dfn, em, i, img, input, kbd, label, map, object, q, samp, script {
  line-height: inherit;
  font-style: normal; }

sup {
  vertical-align: super;
  font-size: 75%; }

/* settings */
@font-face {
  font-family: 'NotoSansCJKjp';
  font-style: normal;
  font-weight: 400;
  src: url("/assets/fonts/NotoSansCJKjp-Regular.woff") format("woff");
  font-display: swap; }
@font-face {
  font-family: 'NotoSansCJKjp';
  font-style: normal;
  font-weight: 500;
  src: url("/assets/fonts/NotoSansCJKjp-Medium.woff") format("woff");
  font-display: swap; }
@font-face {
  font-family: 'NotoSansCJKjp';
  font-style: normal;
  font-weight: 700;
  src: url("/assets/fonts/NotoSansCJKjp-Bold.woff") format("woff");
  font-display: swap; }
@font-face {
  font-family: 'NotoSerifCJKjp';
  font-style: normal;
  font-weight: 500;
  src: url("/assets/fonts/NotoSerifCJKjp-Medium.woff") format("woff");
  font-display: swap; }
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 400;
  src: url("/assets/fonts/Oswald-Regular.ttf") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 700;
  src: url("/assets/fonts/Oswald-Bold.ttf") format("truetype");
  font-display: swap; }
html {
  font-family: 'NotoSansCJKjp';
  font-weight: 400; }

.clearfix {
  zoom: 1; }
  .clearfix:before, .clearfix:after {
    content: "";
    display: table; }
  .clearfix:after {
    clear: both; }

@media print, screen and (min-width: 890px) {
  .contBox {
    display: flex;
    justify-content: space-between; } }
body {
  letter-spacing: 0.1em;
  color: #3A3634; }

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

i {
  vertical-align: baseline; }

@media screen and (max-width: 768px) {
  ._pc {
    display: none; }

  ._sp {
    display: block; } }
@media print, screen and (min-width: 890px) {
  ._sp {
    display: none !important; }

  ._pc {
    display: block; } }
strong {
  font-weight: 500; }

.c_red {
  color: red; }

.ta_c {
  text-align: center; }

article a:hover {
  color: #086434; }
article a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)"; }
article p a {
  border-bottom: 1px solid #086434; }

a {
  cursor: pointer;
  text-decoration: none;
  color: #3A3634;
  transition: color 0.3s, background 0.3s; }
  a img {
    transition: 0.3s; }

.fontL {
  font-size: 1.8rem; }

@media print, screen and (min-width: 890px) {
  .inner {
    max-width: 1300px;
    margin: 0 auto; } }

.tableBox {
  display: table; }
  .tableBox > div {
    display: table-cell;
    vertical-align: middle;
    font-size: 1.4rem; }
    @media print, screen and (min-width: 890px) {
      .tableBox > div {
        font-size: 1.8rem; } }

.catIndex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .catIndex > li {
    font-size: 1.6rem;
    text-align: center;
    width: calc((100% - (7.5px * 2)) / 2);
    margin-bottom: 25px; }
    @media print, screen and (min-width: 890px) {
      .catIndex > li {
        font-size: 2.4rem;
        width: 460px;
        margin-bottom: 40px; } }

@media print, screen and (min-width: 890px) {
  .col {
    display: flex;
    justify-content: space-between;
    margin-bottom: 40px; } }
.col img {
  margin-bottom: 20px;
  height: auto; }

.col_2 .col_item {
  margin-bottom: 20px; }
  @media print, screen and (min-width: 890px) {
    .col_2 .col_item {
      width: 460px; } }

.pict_freeSize_box img {
  margin-bottom: 20px; }
  @media print, screen and (min-width: 890px) {
    .pict_freeSize_box img {
      height: 220px;
      width: auto; } }

/* component */
/* UI --------------------------------------------- */
.hansel {
  background-color: #EEEAE0; }
  .hansel ol {
    font-size: 1.0rem;
    padding: 5px 15px;
    display: flex; }
    @media print, screen and (min-width: 890px) {
      .hansel ol {
        max-width: 1300px;
        margin: 10px auto 0;
        padding: 7px 15px;
        font-size: 1.2rem; } }

.hansel__item {
  position: relative; }
  .hansel__item + .hansel__item {
    margin-left: 0.6em; }
    .hansel__item + .hansel__item::before {
      content: ">";
      margin-right: 0.3em; }
      html.msie .hansel__item + .hansel__item::before {
        position: relative;
        top: 3px; }
  .hansel__item span,
  .hansel__item mark {
    color: black; }
  .hansel__item a:hover span {
    text-decoration: underline; }

.localMenu {
  display: flex;
  justify-content: space-between; }
  @media screen and (max-width: 768px) {
    .localMenu {
      flex-wrap: wrap;
      margin: 2px 1px; } }
  @media print, screen and (min-width: 890px) {
    .localMenu {
      width: 980px;
      margin: 10px auto 20px; } }
  .localMenu li {
    position: relative;
    background-color: #eee;
    margin: 1px;
    font-size: 1.2rem;
    text-align: center;
    width: calc((100% - (2px * 3)) / 2); }
    @media print, screen and (min-width: 890px) {
      .localMenu li {
        margin: 10px;
        font-size: 1.6rem; } }
    .localMenu li::after {
      position: absolute;
      content: "〉";
      right: 0px;
      top: 10px; }
      html.msie .localMenu li::after {
        position: relative;
        top: 3px; }
    .localMenu li a {
      display: block;
      padding: 10px; }
    .localMenu li a:hover {
      background-color: #42a6fc;
      color: white; }
    .localMenu li.current {
      background-color: #086434;
      color: white;
      padding: 10px; }
    .localMenu li.current::after {
      display: none; }
  @media print, screen and (min-width: 890px) {
    .localMenu.m2 li {
      width: calc((100% - (10px * 4)) / 2); } }
  @media print, screen and (min-width: 890px) {
    .localMenu.m4 li {
      width: calc((100% - (10px * 8)) / 4); } }
  @media print, screen and (min-width: 890px) {
    .localMenu.m5 li {
      width: calc((100% - (10px * 10)) / 5); } }
  .localMenu.w_area {
    flex-wrap: wrap; }
    @media print, screen and (min-width: 890px) {
      .localMenu.w_area {
        margin: 0 auto; } }
    .localMenu.w_area li {
      width: calc((100% - (5px * 6)) / 3);
      margin-bottom: 10px;
      font-size: 1.4rem; }
      @media print, screen and (min-width: 890px) {
        .localMenu.w_area li {
          width: calc((100% - (10px * 10)) / 5); } }
  .localMenu.w_item {
    justify-content: center; }
    .localMenu.w_item li {
      width: calc((100% - (5px * 4)) / 2);
      margin: 5px;
      font-size: 1.4rem; }
      @media print, screen and (min-width: 890px) {
        .localMenu.w_item li {
          width: 225px; } }
  .localMenu.ankerLink li::after {
    position: absolute;
    content: "";
    background-image: url("../img/common/arrow_down.png");
    display: inline-block;
    width: 15px;
    height: 7px;
    background-size: contain;
    background-repeat: no-repeat;
    right: 10px;
    top: 15px; }
    html.msie .localMenu.ankerLink li::after {
      position: relative;
      top: 3px; }

/* link button ------------------------------------ */
.linkArrow {
  letter-spacing: 0;
  line-height: 1.4;
  border: 1px solid #086434;
  display: inline-block;
  padding: 5px 8px;
  color: #3A3634;
  margin-top: 15px; }
  .linkArrow::before {
    margin-right: 5px;
    text-decoration: none;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f0a9"; }
  section .linkArrow {
    color: #086434; }

.btnContact {
  background-color: #086434;
  width: 160px;
  height: 40px;
  text-align: center;
  font-size: 1.6rem;
  padding: 10px;
  display: block;
  color: white;
  line-height: 1; }
  .btnContact::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 14px;
    margin-right: 0.6em;
    background-image: url("../img/common/icon_envelope-w.svg");
    background-repeat: no-repeat;
    vertical-align: middle;
    color: white; }
  .btnContact:hover {
    opacity: 0.8;
    color: white; }

.btnDownload {
  background-color: #086434;
  text-align: center;
  font-size: 1.8rem;
  padding: 10px;
  display: inline-block;
  color: white;
  line-height: 1;
  padding: 16px 20px 16px 20px; }
  .btnDownload::before {
    content: "";
    display: inline-block;
    width: 19px;
    height: 26px;
    margin-right: 0.6em;
    background-image: url("../img/common/icon_filedownload.svg");
    background-repeat: no-repeat;
    vertical-align: middle;
    color: white; }
  .btnDownload:hover {
    opacity: 0.8;
    color: white; }

.btnDetail {
  color: white;
  background-color: #086434;
  border-radius: 50px;
  width: 250px;
  margin: 0 auto;
  text-align: center;
  font-size: 2.0rem;
  color: white;
  padding: 15px;
  display: block; }
  .btnDetail::after {
    content: "〉";
    margin-left: 0.5em; }
    html.msie .btnDetail::after {
      position: relative;
      top: 3px; }
  .btnDetail:hover {
    opacity: 0.8;
    color: white; }
  .aboutArea .btnDetail {
    margin: 0 auto 30px; }
    @media print, screen and (min-width: 890px) {
      .aboutArea .btnDetail {
        margin: 0px auto 90px; } }

.btnDetail_w {
  color: white;
  background-color: #42a6fc;
  padding: 10px 5px 10px 10px;
  display: inline-block; }
  @media print, screen and (min-width: 890px) {
    .btnDetail_w {
      padding: 15px 5px 15px 15px; } }
  .btnDetail_w::after {
    content: "〉";
    margin-left: 0.5em; }
    html.msie .btnDetail_w::after {
      position: relative;
      top: 3px; }
  .btnDetail_w:hover {
    opacity: 0.8;
    color: white;
    cursor: pointer; }
  .btnDetail_w a {
    color: white; }
  .btnDetail_w a:hover {
    color: white; }

/* heading --------------------------------------------- */
.mainTitle {
  background: url("/assets/img/common/bg_heading.png") no-repeat center center;
  background-size: cover; }

.title01 {
  color: white;
  font-weight: 700;
  font-size: 2.5rem;
  letter-spacing: 0.1em;
  padding: 20px 15px;
  line-height: 1.2;
  text-align: center; }
  .title01 .subTxt {
    display: block;
    font-size: 1.4rem;
    font-weight: 500;
    margin-top: 10px;
    font-family: 'NotoSansCJKjp'; }
    @media print, screen and (min-width: 890px) {
      .title01 .subTxt {
        margin-top: 20px;
        font-size: 1.8rem;
        letter-spacing: 0.1em; } }
    @media screen and (max-width: 768px) {
      .c_recruit .title01 .subTxt {
        display: inline;
        vertical-align: middle;
        margin-left: 5px; } }
  @media print, screen and (min-width: 890px) {
    .title01 {
      font-size: 4.0rem;
      padding: 40px 0; } }
  .works .title01 {
    color: white;
    text-shadow: none;
    text-align: center; }
  .t_products .title01 {
    text-shadow: none;
    text-align: center;
    padding-bottom: 0; }

.title02 {
  color: #3A3634;
  font-size: 1.9rem;
  font-weight: 500;
  margin-bottom: 1em;
  padding-left: 15px;
  border-left: 8px solid #086434; }
  @media print, screen and (min-width: 890px) {
    .title02 {
      font-size: 2.8rem;
      　padding-left: 15px; } }

.title03 {
  font-size: 1.5rem;
  padding: 3px 0 0 40px;
  margin-bottom: 10px;
  font-weight: 500;
  line-height: 1.4;
  position: relative; }
  .title03 em {
    font-size: 1.8rem;
    vertical-align: baseline; }
  .title03::before {
    content: '';
    display: inline-block;
    width: 40px;
    height: 49px;
    position: absolute;
    left: 0;
    top: 0;
    background-image: url("../img/common/pct_inaho.svg");
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle; }
    @media print, screen and (min-width: 890px) {
      .title03::before {
        width: 60px;
        height: 69px; } }
  @media print, screen and (min-width: 890px) {
    .title03 {
      font-size: 2.2rem;
      margin-bottom: 15px;
      padding: 3px 0 0 70px; }
      .title03 em {
        font-size: 3.0rem; } }

.title04 {
  font-size: 1.8rem;
  font-weight: 500;
  margin-bottom: 0.5em;
  text-align: center;
  line-height: 1.7; }
  .title04 span {
    background: linear-gradient(transparent 70%, #E1E185 70%); }
  @media print, screen and (min-width: 890px) {
    .title04 {
      font-size: 3.2rem;
      margin-bottom: 50px; } }

.title00 {
  font-size: 1.4rem;
  font-weight: 500;
  color: black;
  margin-bottom: 0.5em; }
  .title00::before {
    content: "●";
    font-size: 0.9em;
    color: #086434;
    margin-right: 0.4em; }
  @media print, screen and (min-width: 890px) {
    .title00 {
      font-size: 1.6rem; } }

.title05 {
  font-size: 2.0rem;
  margin-bottom: 5px;
  text-align: center;
  font-weight: 500;
  line-height: 1.5; }
  @media print, screen and (min-width: 890px) {
    .title05 {
      font-size: 2.8rem;
      margin-bottom: 15px;
      text-align: left; } }

.title06 {
  font-size: 1.4rem;
  margin-bottom: 10px;
  font-weight: 500;
  line-height: 1.9; }
  @media print, screen and (min-width: 890px) {
    .title06 {
      font-size: 1.8rem; } }

.title_copy {
  font-size: 1.8rem;
  color: #086434;
  margin-bottom: 15px;
  font-weight: 500;
  text-align: center;
  line-height: 1.7; }
  @media print, screen and (min-width: 890px) {
    .title_copy {
      font-size: 3.0rem; } }

/* table --------------------------------------------- */
.dlStyle {
  margin: 10px 0 30px; }
  @media print, screen and (min-width: 890px) {
    .dlStyle {
      display: flex;
      flex-wrap: wrap;
      border-top: 2px solid #333;
      border-bottom: 1px solid #333; } }
  .dlStyle dt {
    background-color: #EEEAE0;
    line-height: 1.7;
    font-size: 1.4rem;
    padding: 5px 10px;
    box-sizing: border-box; }
    @media print, screen and (min-width: 890px) {
      .dlStyle dt {
        font-size: 1.6rem;
        width: 25%;
        padding: 25px 15px;
        border-bottom: 1px solid #333; } }
  .dlStyle dd {
    font-size: 1.4rem;
    line-height: 1.7;
    padding: 10px;
    box-sizing: border-box; }
    @media print, screen and (min-width: 890px) {
      .dlStyle dd {
        font-size: 1.6rem;
        width: 75%;
        padding: 25px 15px;
        border-bottom: 1px solid #333; } }

.dlStyle2 {
  margin: 10px 0 30px;
  display: flex;
  flex-wrap: wrap;
  border-top: 2px solid #333;
  border-bottom: 1px solid #333; }
  .dlStyle2 dt {
    background-color: #eee;
    line-height: 1.7;
    font-size: 1.4rem;
    padding: 5px 10px;
    box-sizing: border-box;
    width: 35%;
    border-bottom: 1px solid #333; }
    @media print, screen and (min-width: 890px) {
      .dlStyle2 dt {
        font-size: 1.6rem;
        padding: 10px 15px; } }
  .dlStyle2 dd {
    font-size: 1.4rem;
    line-height: 1.7;
    padding: 10px;
    box-sizing: border-box;
    width: 65%;
    border-bottom: 1px solid #333; }
    @media print, screen and (min-width: 890px) {
      .dlStyle2 dd {
        font-size: 1.6rem;
        padding: 10px 15px; } }

.dlStyle3 {
  background-color: white;
  border-radius: 5px;
  padding: 20px;
  margin-bottom: 10px; }
  .dlStyle3 dt {
    color: #086434;
    font-size: 2.0rem;
    font-weight: 700;
    margin-bottom: 10px; }
  .dlStyle3 dd {
    font-size: 1.5rem;
    line-height: 1.9; }
    @media print, screen and (min-width: 890px) {
      .dlStyle3 dd {
        font-size: 1.8rem; } }

.simpleTable th, .simpleTable td {
  text-align: left;
  padding-bottom: 5px;
  padding-right: 5px; }

article {
  padding-bottom: 30px; }
  @media print, screen and (min-width: 890px) {
    article {
      padding-bottom: 80px; } }
  article > section {
    margin: 25px 15px 35px; }
    @media print, screen and (min-width: 890px) {
      article > section {
        max-width: 1300px;
        padding: 0 15px;
        margin: 60px auto;
        overflow: hidden; } }
    article > section > section {
      margin-bottom: 30px; }
      @media print, screen and (min-width: 890px) {
        article > section > section {
          margin-bottom: 70px; } }
  article p.mainCopy {
    font-size: 2.2rem;
    color: #42a6fc;
    font-weight: 500; }
    @media print, screen and (min-width: 890px) {
      article p.mainCopy {
        font-size: 3.0rem; } }
  article p {
    font-size: 1.4rem;
    margin-bottom: 1em;
    line-height: 1.9; }
    @media print, screen and (min-width: 890px) {
      article p {
        font-size: 1.6rem; } }
    dd article p {
      margin-bottom: 0; }
  article .pic {
    margin: 0 auto 20px; }
    @media print, screen and (min-width: 890px) {
      article .pic {
        float: right;
        margin: 0 0 30px 30px; } }

/* list --------------------------------------------- */
.listStyle_ol {
  padding-left: 2.5em;
  margin-bottom: 4em; }
  .listStyle_ol li {
    list-style: decimal;
    font-size: 1.4rem;
    line-height: 1.7;
    margin-bottom: 5px; }
    @media print, screen and (min-width: 890px) {
      .listStyle_ol li {
        font-size: 1.6rem; } }

.listStyle li {
  border-bottom: 2px dotted #086434;
  padding-bottom: 8px;
  font-size: 1.8rem;
  margin-bottom: 20px;
  line-height: 1.7;
  font-weight: 700; }
  @media print, screen and (min-width: 890px) {
    .listStyle li {
      text-align: center;
      width: 820px;
      margin: 0 auto 20px;
      font-size: 2.2rem; } }

.listStyle2 li {
  position: relative;
  font-size: 1.4rem;
  margin-top: 5px;
  line-height: 1.7;
  padding-left: 15px; }
  @media print, screen and (min-width: 890px) {
    .listStyle2 li {
      font-size: 1.6rem;
      line-height: 1.8; } }
.listStyle2 li::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f111";
  position: absolute;
  left: 0;
  transform: scale(0.4, 0.4);
  color: #086434; }

.gmap iframe {
  height: 300px;
  margin-bottom: 15px;
  width: 100%; }

@media screen and (max-width: 768px) {
  .content ul.menu {
    width: 100%; } }
@media print, screen and (min-width: 890px) {
  ul.menu {
    width: 1300px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center !important; } }
ul.menu li {
  margin: 20px;
  width: 90%; }
  ul.menu li a {
    text-align: center;
    font-size: 1.5rem;
    display: block;
    border: 1px solid #086434;
    background-color: white;
    padding: 30px;
    color: #086434;
    transition: 0.3s; }
  ul.menu li a:hover {
    box-shadow: inset 0px 0px 3px 4px #b2c7e3; }
  @media print, screen and (min-width: 890px) {
    ul.menu li {
      width: 400px;
      font-size: 1.8rem; } }

.actionBtns li a {
  margin-bottom: 10px; }
  .actionBtns li a i {
    margin-right: 5px; }
.actionBtns li.btn-tel a {
  background-color: #086434;
  color: #42a6fc;
  font-size: 3.0rem;
  font-family: "Oswald";
  font-weight: 400;
  text-align: center;
  letter-spacing: 0.1em; }
  @media print, screen and (min-width: 890px) {
    .actionBtns li.btn-tel a {
      font-size: 4.0rem;
      text-align: left; } }
  .actionBtns li.btn-tel a small {
    font-size: 3.0rem;
    vertical-align: baseline; }
@media print, screen and (min-width: 890px) {
  .actionBtns li.btn-tel {
    padding: 0 50px; } }
.actionBtns li.btn-contact a {
  background-color: #42a6fc;
  color: #086434;
  vertical-align: middle;
  font-size: 2.6rem;
  text-align: center;
  display: block;
  padding: 17px 10px;
  transition: 0.3s; }
  .actionBtns li.btn-contact a:hover {
    background: white;
    color: #42a6fc; }
  @media print, screen and (min-width: 890px) {
    .actionBtns li.btn-contact a {
      padding: 25px 10px;
      width: 410px; } }
.actionBtns li .bTime {
  font-size: 1.6rem;
  margin-top: 10px; }
  @media print, screen and (min-width: 890px) {
    .actionBtns li .bTime {
      text-align: left; } }
@media screen and (max-width: 768px) {
  header .actionBtns {
    display: none; }
  footer .actionBtns {
    display: block;
    margin-bottom: 30px; }
    footer .actionBtns li {
      margin-bottom: 10px; } }
@media print, screen and (min-width: 890px) {
  .actionBtns {
    display: flex;
    width: 830px;
    margin: 30px auto 0; }
    .actionBtns li a {
      width: 220px; }
    .actionBtns li.btn-mail a, .actionBtns li.btn-download a {
      font-size: 1.6rem; }
    header .actionBtns {
      position: absolute;
      width: 460px;
      top: 25px;
      right: 0px; }
    footer .actionBtns {
      width: 640px; }
      footer .actionBtns li a {
        width: 310px;
        margin-top: 20px;
        font-size: 1.8rem; } }

#fileDL i {
  color: #42a6fc;
  margin-left: 10px; }

ul.imgList {
  display: flex; }
  @media screen and (max-width: 768px) {
    ul.imgList {
      flex-wrap: wrap; } }
  ul.imgList li {
    margin: 5px; }
    @media screen and (max-width: 768px) {
      ul.imgList li {
        width: calc((100% - (5px * 6)) / 3); } }

.voiceBox img {
  width: 300px;
  display: block;
  margin: 0 auto 15px; }
  @media print, screen and (min-width: 890px) {
    .voiceBox img {
      float: left;
      margin-right: 30px;
      margin-bottom: 10px;
      width: 220px; } }

ul.actionBtns_sp {
  display: flex;
  position: fixed;
  bottom: 0;
  width: 100%;
  height: 50px;
  z-index: 2; }
  ul.actionBtns_sp li {
    width: 50%; }
    ul.actionBtns_sp li a {
      display: block;
      font-size: 1.4rem;
      letter-spacing: 0;
      color: white;
      text-align: center;
      padding: 18px 0 10px;
      height: 50px; }
    ul.actionBtns_sp li.btn_fb a {
      background-color: #3b5998; }
    ul.actionBtns_sp li.btn_guidance a {
      background-color: #ffd800; }

@media screen and (max-width: 768px) {
  .iziModal {
    width: 95%;
    margin-top: 40px !important; } }
@media screen and (max-width: 768px) {
  .iziModal .iziModal-content {
    padding: 15px !important; } }

.note {
  padding-left: 1em;
  position: relative;
  font-size: 1.4rem; }
  .note::before {
    content: "※";
    position: absolute;
    left: 0; }

.catIndex h1 {
  padding: 15px 0;
  border-top: 3px solid #086434;
  font-weight: 500; }

.actionArea {
  background-color: #086434;
  text-align: center;
  padding: 20px; }
  .actionArea h1 {
    color: #42a6fc;
    font-family: "Oswald";
    font-weight: 900;
    font-size: 3.0rem;
    margin-bottom: 20px;
    letter-spacing: 0.2em; }
  .actionArea p {
    font-size: 1.4rem;
    line-height: 1.8;
    margin-bottom: 15px; }
  @media print, screen and (min-width: 890px) {
    .actionArea {
      padding: 80px 0; }
      .actionArea p {
        font-size: 1.6rem; }
      .actionArea h1 {
        font-size: 6.0rem; } }

/* header */
.header-logo {
  width: 160px;
  padding-left: 70px; }
  @media print, screen and (min-width: 890px) {
    .header-logo {
      padding-left: 120px;
      width: 232px; } }

.header-logo path {
  fill: #3A3634; }

@media print, screen and (min-width: 890px) {
  .home .header-logo path {
    fill: white; } }

.home header .gnav a {
  color: white; }

header h1 a {
  position: relative;
  display: block; }

header h1 a:before {
  content: "";
  background: url("../img/common/logo_chara.svg") no-repeat;
  display: inline-block;
  position: absolute;
  width: 60px;
  height: 45px;
  top: 0px;
  left: 0;
  vertical-align: middle;
  margin: 0 10px 3px 0; }
  @media print, screen and (min-width: 890px) {
    header h1 a:before {
      width: 104px;
      height: 71px;
      top: -25px; } }

@media screen and (max-width: 768px) {
  header {
    border-top: 2px solid #086434; } }
@media print, screen and (min-width: 890px) {
  header .header__inner {
    max-width: 1300px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    padding: 0 20px; } }
header .header__inner h1 {
  width: 246px;
  padding: 10px; }
  @media print, screen and (min-width: 890px) {
    header .header__inner h1 {
      width: 362px;
      padding: 0;
      margin: 35px 0 0; } }
header .gnav {
  display: none; }
  @media print, screen and (min-width: 890px) {
    header .gnav {
      display: table;
      table-layout: fixed;
      font-size: 1.6rem;
      min-height: 100px;
      /* margin-left: 100px;*/ }
      header .gnav > li {
        position: relative;
        display: table-cell;
        text-align: center;
        vertical-align: middle;
        padding: 0 25px; }
        header .gnav > li > a {
          color: #3A3634;
          position: relative;
          display: inline-block;
          padding: 30px 0; }
        header .gnav > li > a:hover {
          color: #a5e1c0; }
        header .gnav > li > ul {
          display: none; } }

.slicknav_menu {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 100;
  display: block; }
  .slicknav_menu .slicknav_txtnode {
    display: none; }
  @media print, screen and (min-width: 890px) {
    .slicknav_menu {
      display: none; } }

.slicknav_nav {
  text-align: left; }
  @media screen and (max-width: 768px) {
    .slicknav_nav .gnav > li {
      font-size: 2.1rem;
      border-bottom: 1px solid white;
      padding-bottom: 15px;
      text-align: left;
      width: 85%;
      margin: 0 auto; } }
  .slicknav_nav .gnav__btnEnglish {
    margin-left: 17px !important; }
  .slicknav_nav .subMenu {
    width: 100%;
    display: flex;
    flex-wrap: wrap; }
    .slicknav_nav .subMenu li {
      width: 50%;
      text-align: left;
      padding-left: 20px;
      font-size: 1.6rem; }
      @media print, screen and (min-width: 890px) {
        .slicknav_nav .subMenu li {
          padding-left: 10px; } }
      @media screen and (max-width: 768px) {
        .slicknav_nav .subMenu li a {
          padding: 5px 0px;
          margin: 2px 5px; } }
  .slicknav_nav .subPage {
    border-bottom: none !important;
    padding-bottom: 0 !important; }
    .slicknav_nav .subPage a {
      font-size: 1.8rem;
      margin-bottom: 8px; }
  .slicknav_nav .gnav__btnContact {
    border-bottom: none !important; }
    .slicknav_nav .gnav__btnContact .btnContact {
      background-color: white;
      text-align: center;
      color: #086434;
      width: 100%;
      height: 50px;
      font-size: 1.6rem;
      padding-top: 15px; }
      .slicknav_nav .gnav__btnContact .btnContact::before {
        background-image: url("../img/common/icon_envelope-b.svg");
        width: 22px;
        height: 17px;
        vertical-align: text-bottom; }

.slicknav_item {
  position: relative;
  padding-left: 20px !important;
  margin-bottom: 10px !important; }
  .slicknav_item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 5px;
    display: inline-block;
    width: 8px;
    height: 21px;
    background-color: white; }
  .slicknav_nav .subPage .slicknav_item {
    display: none; }

/* current */
@media print, screen and (min-width: 890px) {
  .home header .gn__home > a::after,
  .c_products header .gn01 > a::after,
  .c_corporate header .gn02 > a::after,
  .c_contact header .gn03 > a::after {
    position: absolute;
    bottom: 15px;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #086434;
    transform: none; } }

.gnav__btnEnglish {
  border: 1px solid white;
  padding: 8px 12px;
  display: inline-block !important; }

.gnav__btnContact a::after {
  display: none !important; }

/* footer */
footer {
  background-repeat: no-repeat;
  background-position: center bottom;
  background-image: url("../img/common/bg_footer.png");
  position: relative; }
  @media print, screen and (min-width: 890px) {
    footer {
      min-height: 465px; } }
  @media print, screen and (min-width: 890px) {
    footer .footerContents {
      max-width: 1300px;
      margin: 0 auto;
      padding-bottom: 50px;
      overflow: hidden; } }
  footer .footerContents .footerLogo {
    width: 180px;
    margin: 0 auto;
    display: block; }
    @media print, screen and (min-width: 890px) {
      footer .footerContents .footerLogo {
        width: 240px;
        margin: 0 10px 20px;
        float: left; } }
  footer .footerContents address {
    margin: 10px 0 5px;
    font-size: 1.3rem;
    text-align: center;
    line-height: 1.7; }
    @media print, screen and (min-width: 890px) {
      footer .footerContents address {
        float: left;
        margin: -4px 30px 0; } }
  footer .footer_bottom {
    background-color: white;
    position: absolute;
    width: 100%;
    bottom: 0; }
    @media print, screen and (min-width: 890px) {
      footer .footer_bottom .inner {
        max-width: 1300px;
        margin: 0 auto;
        display: flex;
        justify-content: space-between;
        padding: 30px 0; } }
  footer .copyRight {
    font-size: 1.4rem;
    padding: 15px;
    color: #3A3634;
    text-align: center; }
    @media print, screen and (min-width: 890px) {
      footer .copyRight {
        padding: 0;
        text-align: left;
        font-size: 1.4rem; } }
  footer .footerLink {
    display: flex; }
    footer .footerLink li {
      text-align: right;
      margin-left: 20px;
      font-size: 1.4rem;
      margin-top: 15px; }
      @media print, screen and (min-width: 890px) {
        footer .footerLink li {
          margin-top: 0px; } }
  footer ul.snsList {
    display: flex;
    justify-content: center;
    padding-bottom: 60px; }
    footer ul.snsList li {
      margin-left: 15px;
      font-size: 4.0rem; }
      footer ul.snsList li a {
        color: #3A3634; }
    @media print, screen and (min-width: 890px) {
      footer ul.snsList {
        float: right; } }

/* News
--------------------------- */
.news {
  width: 90%;
  margin: 0 auto 30px;
  padding: 25px 0; }
  @media print, screen and (min-width: 890px) {
    .news {
      width: 800px;
      margin: 0px auto 60px;
      padding: 60px 50px; } }
  .news li {
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 1px dotted #333;
    font-size: 1.5rem;
    line-height: 1.5; }
    @media print, screen and (min-width: 890px) {
      .news li {
        padding-bottom: 15px;
        margin-bottom: 15px; } }
    .news li time {
      color: #3A3634;
      margin-right: 20px;
      width: 80px;
      display: block; }
      @media print, screen and (min-width: 890px) {
        .news li time {
          width: 120px;
          display: inline-block; } }
    .news li a {
      color: #086434; }
      .news li a::after {
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        content: "\f054";
        transform: scale(0.4, 0.4);
        color: #086434; }
  .news h1 {
    font-size: 2.0rem;
    display: inline-block;
    position: relative;
    color: #3A3634;
    font-weight: 500;
    padding-bottom: 15px;
    margin-bottom: 40px; }
    .news h1::before {
      content: '';
      position: absolute;
      left: 50%;
      bottom: -10px;
      /*下線の上下位置調整*/
      display: inline-block;
      width: 34px;
      /*下線の幅*/
      height: 1px;
      /*下線の太さ*/
      -moz-transform: translateX(-50%);
      -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      transform: translate(-50%);
      /*位置調整*/
      background-color: #666666;
      /*下線の色*/ }
    @media print, screen and (min-width: 890px) {
      .news h1 {
        font-size: 3.0rem; } }

.btn_pageTop {
  width: 50px;
  position: fixed;
  right: 10px;
  bottom: 10px; }
  @media print, screen and (min-width: 890px) {
    .btn_pageTop {
      width: 73px; } }

/* component */
/* utility */
.w210 {
  width: 210px; }

.w150 {
  width: 150px; }

.w300 {
  width: 300px; }

@media screen and (max-width: 768px) {
  body .sp_w100p {
    width: 100% !important; } }
@media print, screen and (min-width: 890px) {
  body .pc_w110 {
    width: 110px; }
  body .pc_w630 {
    width: 630px !important; }
  body .pc_w750 {
    width: 750px; }
  body .pc_w980 {
    width: 980px; }
  body .pc_h220 {
    height: 220px;
    width: auto; }
  body .f_left {
    float: left; }
  body .f_right {
    float: right; } }

.p_rerative {
  position: relative; }

.mt15 {
  margin-top: 15px; }

.ml10 {
  margin-left: 10px; }

.mb0 {
  margin-bottom: 0px; }

.mb20 {
  margin-bottom: 20px; }

.mb40 {
  margin-bottom: 40px; }

.pl10 {
  padding-left: 10px; }

.a_right {
  text-align: right; }

.a_center {
  text-align: center; }

em {
  font-weight: 700;
  color: #086434; }

.hover:hover {
  opacity: 0.8;
  cursor: pointer; }

/* products */
@media print, screen and (min-width: 890px) {
  .productsList {
    display: flex;
    flex-wrap: wrap; } }
.productsList li {
  display: flex;
  padding: 15px 0;
  /* em{
       display:block;
   }*/ }
  @media print, screen and (min-width: 890px) {
    .productsList li {
      width: 50%;
      padding: 35px; } }
  @media screen and (max-width: 768px) {
    .productsList li {
      border-bottom: 1px dotted #ccc; } }

.products-details {
  width: 65%; }
  .products-details .products-text {
    margin-bottom: 0; }

.products-image {
  margin-left: 5px;
  width: 35%; }
  @media print, screen and (min-width: 890px) {
    .products-image {
      margin-left: 15px;
      width: 35%; } }

.standPack {
  max-width: 800px;
  margin: 60px auto; }
  .standPack img {
    margin-bottom: 20px; }

/* settings */
.home article {
  padding-bottom: 0; }
  .home article .title01 {
    text-align: center;
    font-family: 'Oswald';
    color: #3A3634; }
  .home article .inner {
    max-width: 1040px; }
.home header {
  position: absolute;
  top: 0;
  width: 100%; }
  @media print, screen and (min-width: 890px) {
    .home header {
      max-width: 1300px; } }

.mainVisual {
  position: relative;
  width: 100%;
  min-height: 320px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px; }
  @media screen and (max-width: 768px) {
    .mainVisual {
      background-position: center 60px;
      background-size: 120%;
      background-repeat: no-repeat !important; } }
  @media print, screen and (min-width: 890px) {
    .mainVisual {
      width: 100vw;
      height: 100vh;
      background-size: cover;
      padding-top: 92px;
      padding-bottom: 0; } }
  .mainVisual p {
    position: absolute;
    text-align: center;
    bottom: 5%;
    left: 50%;
    transform: translateY(-15%) translateX(-50%);
    color: white;
    line-height: 1.5;
    letter-spacing: 0.2em;
    font-weight: 700;
    font-size: 5.9vw;
    vertical-align: text-bottom;
    text-shadow: 0px 0px 5px rgba(255, 255, 255, 0.6), 0px 0px 6px rgba(0, 0, 0, 0.3), 0px 0px 7px rgba(0, 0, 0, 0.3), 0px 0px 8px rgba(0, 0, 0, 0.3), 0px 0px 9px rgba(0, 0, 0, 0.3), 0px 0px 10px rgba(0, 0, 0, 0.3); }
    @media print, screen and (min-width: 890px) {
      .mainVisual p {
        margin-bottom: 80px;
        font-size: 4vw; } }
    .mainVisual p em {
      font-size: 120%;
      vertical-align: baseline; }

.categgoryBox {
  background-color: #ecf0f4; }

.commentArea {
  background: url("../img/home/pic01.png") no-repeat top center;
  position: relative;
  background-size: cover;
  padding: 30px 15px;
  min-height: 700px; }
  @media print, screen and (min-width: 890px) {
    .commentArea {
      min-height: 600px;
      padding: 50px 0; }
      .commentArea .inner {
        max-width: 1300px;
        margin: 0 auto; } }
  .commentArea h2 {
    font-size: 1.8rem;
    line-height: 1.6;
    border: none;
    padding: 0;
    letter-spacing: 0.1em;
    color: #086434;
    margin-bottom: 15px; }
    @media print, screen and (min-width: 890px) {
      .commentArea h2 {
        font-size: 3.0rem; } }
    @media print, screen and (min-width: 890px) {
      .commentArea h2 {
        margin-bottom: 30px; } }
  .commentArea p {
    font-size: 1.35rem;
    line-height: 2.0;
    margin-bottom: 10px;
    padding: 0 10px;
    letter-spacing: 0.1em; }
    .commentArea p span {
      background-color: white; }
    @media print, screen and (min-width: 890px) {
      .commentArea p {
        font-size: 1.8rem; } }
  .commentArea .btnList {
    margin-top: 20px;
    margin: 20px auto; }
    @media screen and (max-width: 768px) {
      .commentArea .btnList {
        position: absolute;
        bottom: 20px;
        left: 50%;
        transform: translateX(-50%);
        margin: auto; } }
    .commentArea .btnList a {
      text-decoration: none;
      line-height: 1;
      background: #086434;
      border-radius: 30px;
      color: #fff;
      letter-spacing: 0.2em;
      text-align: center;
      width: 280px;
      display: block;
      font-size: 1.6rem;
      padding: 15px 10px;
      margin: 10px 0; }
      @media print, screen and (min-width: 890px) {
        .commentArea .btnList a {
          font-size: 2.0rem;
          width: 350px;
          display: block; } }
      .commentArea .btnList a:hover {
        background: #ffd800;
        color: white; }

.home_business {
  padding: 20px 15px; }
  @media print, screen and (min-width: 890px) {
    .home_business {
      padding: 50px 0; } }
  .home_business .inner {
    max-width: 1040px; }

.box {
  margin-bottom: 30px; }
  @media print, screen and (min-width: 890px) {
    .box {
      position: relative;
      margin-bottom: 50px;
      min-height: 350px; } }
  .box .pctBox {
    margin-bottom: 15px; }
    @media screen and (max-width: 768px) {
      .box .pctBox img {
        width: 70%;
        margin: 0 auto;
        display: block; } }
    @media print, screen and (min-width: 890px) {
      .box .pctBox {
        position: absolute;
        width: 40%; } }
  .box .txtBox p {
    font-size: 1.6rem;
    letter-spacing: 0.2em; }
    @media print, screen and (min-width: 890px) {
      .box .txtBox p {
        font-size: 1.8rem; } }
  @media print, screen and (min-width: 890px) {
    .box .txtBox {
      position: absolute;
      width: 55%;
      padding: 0 20px; } }
  @media print, screen and (min-width: 890px) {
    .box.pct_l .pctBox {
      top: 0;
      left: 0; } }
  @media print, screen and (min-width: 890px) {
    .box.pct_l .txtBox {
      top: 0;
      right: 0; } }
  @media print, screen and (min-width: 890px) {
    .box.pct_r .pctBox {
      top: 0;
      right: 0; } }
  @media print, screen and (min-width: 890px) {
    .box.pct_r .txtBox {
      top: 0;
      left: 0; } }

.aboutArea {
  background-color: #EEEAE0;
  padding: 20px 15px; }
  @media print, screen and (min-width: 890px) {
    .aboutArea {
      padding: 80px 0; } }
  .aboutArea h1 {
    font-size: 2.5rem;
    margin-bottom: 10px;
    font-weight: 500;
    text-align: center;
    line-height: 1.4; }
    .aboutArea h1::before {
      content: '';
      display: inline-block;
      width: 40px;
      height: 49px;
      background-image: url("../img/common/pct_inaho.svg");
      background-size: contain;
      background-repeat: no-repeat;
      vertical-align: middle; }
      @media print, screen and (min-width: 890px) {
        .aboutArea h1::before {
          width: 60px;
          height: 69px; } }
    @media print, screen and (min-width: 890px) {
      .aboutArea h1 {
        font-size: 4.0rem;
        margin-bottom: 40px;
        padding: 3px 0 0 70px; } }
  @media print, screen and (min-width: 890px) {
    .aboutArea .boxA {
      min-height: 570px; } }
  @media print, screen and (min-width: 890px) {
    .aboutArea .boxA .pctBox img {
      width: 350px; } }
  @media print, screen and (min-width: 890px) {
    .aboutArea .boxB {
      min-height: 470px; } }
  @media print, screen and (min-width: 890px) {
    .aboutArea .boxB .pctBox img {
      width: 350px; } }
  @media print, screen and (min-width: 890px) {
    .aboutArea .boxC {
      min-height: 300px; } }
  @media print, screen and (min-width: 890px) {
    .aboutArea .boxC .pctBox {
      width: 25%; } }
  .aboutArea .boxC .pctBox img {
    width: 50%; }
    @media print, screen and (min-width: 890px) {
      .aboutArea .boxC .pctBox img {
        width: 220px; } }
  @media print, screen and (min-width: 890px) {
    .aboutArea .boxC .txtBox {
      width: 75%; } }

.box2 {
  text-align: center;
  width: 100%; }
  @media print, screen and (min-width: 890px) {
    .box2 {
      display: table; } }
  .box2 a {
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 100px 0; }
    @media print, screen and (min-width: 890px) {
      .box2 a {
        width: 50%;
        display: table-cell;
        vertical-align: middle; } }
    .box2 a:hover {
      opacity: 0.8; }
  .box2 .home_corporate {
    background-image: url("../img/home/about_bg.png"); }
  .box2 .home_recruit {
    background-image: url("../img/home/recruit_bg.png"); }
  .box2 h1 {
    color: white;
    font-family: 'Oswald';
    font-weight: 900;
    font-size: 4.0rem;
    letter-spacing: 0.2em;
    margin-bottom: 20px; }
    @media print, screen and (min-width: 890px) {
      .box2 h1 {
        font-size: 7.0rem;
        margin-bottom: 50px; } }
  .box2 button {
    border: none;
    color: black;
    letter-spacing: 0.1em; }

.fadeInUp {
  opacity: 0;
  transform: translateY(20px);
  transition: 1s; }

/* others */
@media print, screen and (min-width: 890px) {
  .ownerBox {
    display: flex;
    align-items: flex-start;
    justify-content: space-between; } }
@media print, screen and (min-width: 890px) {
  .ownerBox .textArea {
    width: 70%; }
    .ownerBox .textArea p {
      font-size: 2.0rem;
      line-height: 2; } }
.ownerBox .ownerImg {
  width: 270px;
  display: block;
  height: auto;
  margin: 0 auto; }
  @media print, screen and (min-width: 890px) {
    .ownerBox .ownerImg {
      width: 15%; } }
.ownerBox p.sign {
  text-align: right; }

.recruitLink {
  margin: 40px auto 0;
  text-align: center; }
  .recruitLink a {
    padding: 20px;
    color: black; }
  .recruitLink a:hover {
    background-color: #42a6fc; }

/* modal */
.modal {
  display: none;
  height: 100vh;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 999; }

.modal__bg {
  background: rgba(0, 0, 0, 0.8);
  display: block;
  height: 100vh;
  position: absolute;
  width: 100%;
  z-index: 997; }

.modal__content {
  box-sizing: border-box;
  background: #fff;
  left: 50%;
  padding: 15px;
  position: fixed;
  top: 50%;
  overflow: auto;
  transform: translate(-50%, -50%);
  /*    width: 60%;*/
  width: 95%;
  border-radius: 3px;
  z-index: 999;
  max-height: 90%; }
  @media print, screen and (min-width: 890px) {
    .modal__content {
      min-height: 487px;
      width: 900px;
      padding: 40px; } }

.btnClose {
  background: url("/assets/img/common/icon_close.svg");
  background-size: contain;
  background-repeat: no-repeat;
  margin-bottom: 10px;
  position: fixed;
  right: 5px;
  top: 5px;
  width: 25px;
  height: 25px;
  border: 0;
  cursor: pointer;
  z-index: 100; }
  @media print, screen and (min-width: 890px) {
    .btnClose {
      right: 10px;
      top: 10px; } }

/* form img upload */
.mailform {
  margin: 30px auto;
  padding: 20px 0;
  border-radius: 10px;
  background-color: #fff; }
  @media print, screen and (min-width: 890px) {
    .mailform {
      width: 900px; } }

.telnum {
  font-size: 1.7rem;
  font-weight: bold;
  vertical-align: baseline;
  text-align: center;
  display: block; }

.telnum a {
  font-size: 3.0rem;
  vertical-align: baseline; }

.btnArea {
  margin: 30px 0 50px; }

.btnArea a.btnLink {
  width: 300px;
  background-color: #fff;
  color: #59a9cc;
  display: block;
  margin-bottom: 40px;
  font-weight: 700; }

.btnArea a.btnLink:hover {
  cursor: pointer;
  background: #db8353;
  color: #fff;
  border-color: #db8353; }

.message {
  color: red; }

p.confirmation,
p.leedC {
  text-align: center;
  margin: 40px 20px 0; }

.err {
  color: red; }

/* -- for JavaScript ここから -------------------------------------------------------------------------------- */
.mailform dl dt span.required,
.mailform dl dt span.optional {
  display: inline-block;
  float: left;
  color: #ffffff;
  line-height: 1;
  padding: 4px 5px;
  border-radius: 3px; }

.mailform dl dt span.required {
  background: #ff3366; }

.mailform dl dt span.optional {
  background: #8f8f8f; }

.mailform dl dd span.error_blank,
.mailform dl dd span.error_format,
.mailform dl dd span.error_match {
  display: block;
  color: #ff3366;
  margin-top: 3px; }

span.loading {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border-top: 5px solid rgba(255, 255, 255, 0.2);
  border-right: 5px solid rgba(255, 255, 255, 0.2);
  border-bottom: 5px solid rgba(255, 255, 255, 0.2);
  border-left: 5px solid #ffffff;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load-circle 1.0s linear infinite;
  animation: load-circle 1.0s linear infinite;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -25px;
  margin-left: -25px; }

@-webkit-keyframes load-circle {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }
@keyframes load-circle {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }
/* -- for JavaScript ここまで -------------------------------------------------------------------------------- */
.mailform input[type="text"],
.mailform input[type="email"],
.mailform input[type="tel"] {
  width: 60%;
  margin: 0 auto;
  height: 2em;
  padding: 2px 2%;
  border: 1px solid #cccccc;
  border-radius: 3px;
  background: #fafafa;
  -webkit-appearance: none;
  font-size: 1.8rem;
  font-family: inherit; }

.w30p input {
  width: 20% !important; }

.mailform input[type="text"]:focus,
.mailform input[type="email"]:focus,
.mailform input[type="tel"]:focus,
.mailform textarea:focus {
  box-shadow: 0px 0px 5px #55ccff;
  border: 1px solid #55ccff;
  background: #ffffff; }

.mailform ul li input[type="radio"],
.mailform ul li input[type="checkbox"] {
  margin-right: 10px;
  margin-top: 1em;
  vertical-align: baseline; }

.mailform ul li:first-child input[type="radio"],
.mailform ul li:first-child input[type="checkbox"] {
  margin-top: 0px; }

.mailform select {
  font-size: 100%;
  margin-top: 5px; }

.mailform textarea {
  width: 60%;
  margin: 0 auto;
  max-width: 90%;
  height: 200px;
  padding: 2px 2%;
  resize: vertical;
  border: 1px solid #cccccc;
  border-radius: 3px;
  background: #fafafa;
  -webkit-appearance: none;
  font-size: 100%;
  font-family: inherit; }

.mailform ul {
  list-style-type: none; }

.mailform ul li label:hover {
  cursor: pointer; }

.mailform input#company {
  width: 60%; }

.mailform input#name_1,
.mailform input#name_2,
.mailform input#read_1,
.mailform input#read_2,
.mailform input#postal,
.mailform input#phone,
.mailform input#schedule {
  width: 30%; }

.mailform input#mail_address,
.mailform input#mail_address_confirm {
  width: 80%; }

.mailform input#postal + a {
  display: inline-block;
  padding: 9px 15px;
  vertical-align: middle;
  line-height: 1;
  background: #5bc0de;
  border: 1px solid #46b8da;
  border-radius: 3px;
  color: #ffffff;
  font-family: inherit;
  text-decoration: none;
  position: relative;
  top: -1px; }

.mailform input#postal + a:hover {
  cursor: pointer;
  background: #31b0d5;
  border: 1px solid #269abc; }

.mailform input#address {
  width: 90%; }

.submit_area {
  display: table;
  width: 100%; }

.completion {
  text-align: center; }

.mailform p#form_submit {
  width: 90%;
  margin: 0 auto;
  padding: 15px 0;
  border-top: 1px solid #cccccc;
  text-align: center; }

.mailform input[type="submit"] {
  padding: 12px 30px;
  vertical-align: middle;
  line-height: 1;
  background: #42a6fc;
  border-radius: 30px;
  color: #ffffff;
  -webkit-appearance: none;
  font-size: 2.0rem;
  letter-spacing: 0.1em;
  text-align: center;
  border-style: none;
  width: 200px;
  margin: 10px; }

.mailform input[type="submit"]:hover {
  cursor: pointer;
  background: #086434;
  color: #42a6fc; }

.mailform input[type="button"] {
  padding: 12px 30px;
  vertical-align: middle;
  line-height: 1;
  background: #fff;
  border: 1px solid #086434;
  border-radius: 30px;
  color: #086434;
  -webkit-appearance: none;
  font-size: 2.0rem;
  letter-spacing: 0.1em;
  text-align: center;
  width: 200px;
  margin: 10px; }

.mailform input[type="button"]:hover {
  cursor: pointer;
  background: #ffd800;
  color: #086434;
  border-color: #ffd800; }

.mailform input.confirmation_btn {
  margin: 0 auto; }

.submit_area {
  margin: 30px 0 0;
  text-align: center; }

/* -- for JavaScript ここまで -------------------------------------------------------------------------------- */
.mailform input#form_submit_button {
  margin-left: 0; }

.mailform input#phone,
.mailform input#schedule {
  width: 50%; }

.mailform {
  margin-top: 0; }

div.form {
  margin: 0; }

div.form h1 {
  font-size: 2.0rem;
  border-bottom: 1px solid #59a9cc;
  padding: 10px 0; }

p.confirmation,
p.leedC {
  text-align: left;
  margin: 15px 10px 0; }

/* 640pixel end */
