/* Minification failed. Returning unminified contents.
(3,1): run-time error CSS1019: Unexpected token, found '@import'
(3,9): run-time error CSS1019: Unexpected token, found 'url("https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Noto+Sans+JP:wght@100..900&family=Roboto+Condensed:wght@700&display=swap")'
(971,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(972,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(980,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(981,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(1021,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(1022,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(1030,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(1031,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(1107,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(1108,8): run-time error CSS1035: Expected colon, found '{'
 */
/*! * ress.css • v1.1.1 * MIT License * github.com/filipelinhares/ress */ html{box-sizing:border-box;overflow-y:scroll;-webkit-text-size-adjust:100%}*,::before,::after{box-sizing:inherit}::before,::after{text-decoration:inherit;vertical-align:inherit}*{background-repeat:no-repeat;padding:0;margin:0}audio:not([controls]){display:none;height:0}hr{overflow:visible}:focus{outline:none}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}summary{display:list-item}small{font-size:100%}[hidden],template{display:none}abbr[title]{border-bottom:1px dotted;text-decoration:none}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}code,kbd,pre,samp{font-family:monospace,monospace}b,strong{font-weight:bolder}dfn{font-style:italic}mark{background-color:#ff0;color:#000}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}button,[type="button"],[type="reset"],[type="submit"] [role="button"]{cursor:pointer}[disabled]{cursor:default}[type="number"]{width:auto}[type="search"]{-webkit-appearance:textfield}[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto;resize:vertical}button,input,optgroup,select,textarea{font:inherit}optgroup{font-weight:700}button{overflow:visible}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{padding:0}button:-moz-focusring,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{outline:1px dotted ButtonText}button,html [type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button,select{text-transform:none}button,input,select,textarea{border:none;color:inherit}select{height:1.8em}select::-ms-expand{display:none}select::-ms-value{color:currentColor}legend{border:0;color:inherit;display:table;max-width:100%;white-space:normal}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}img{border-style:none;vertical-align:bottom}progress{vertical-align:baseline}svg:not(:root){overflow:hidden}audio,canvas,progress,video{display:inline-block}@media screen{[hidden~="screen"]{display:inherit}[hidden~="screen"]:not(:active):not(:focus):not(:target){position:absolute!important;clip:rect(0 0 0 0)!important}}[aria-busy="true"]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled]{cursor:default}::-moz-selection{background-color:#b3d4fc;color:#000;text-shadow:none}::selection{background-color:#b3d4fc;color:#000;text-shadow:none}
@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Noto+Sans+JP:wght@100..900&family=Roboto+Condensed:wght@700&display=swap");
/*=====基本色*/
/*=====マスターウィス*/
.link_anchor {
  position: relative;
  top: -60px; }

.object_sp {
  display: none; }

:focus {
    outline: revert;
}

/*=====ボディ設定*/
html {
  font-size: 62.5%;
  line-height: 1;
  color: #111;
  font-family: "Noto Sans JP", sans-serif;
  /*=====デバイスフォント最適化*/
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility; }

body {
  font-size: 1.7rem;
  overflow: hidden; }

/*=====リンク設定*/
* {
  /*電話番号*/
  /*選択色*/ }
  * a {
    transition: all .2s ease; }
  * a:hover {
    text-decoration: none; }
  * a[href^="tel"] {
    color: inherit;
    text-decoration: none;
    pointer-events: none; }
  *::selection {
    background-color: #65B328;
    color: #fff; }

/*=====ヘッダー*/
header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  font-weight: 500;
  background-color: #fff;
  transition: top .3s;
  padding: 19px 2.2vw;
  /*ロゴ*/
  /*グローバルナビゲーション*/ }
  header.is_fixed {
    position: fixed;
    z-index: 10; }
  header #ttl_site {
    width: 264px;
    height: 30px;
    text-indent: -9999px; }
    header #ttl_site .site_logo {
      display: block;
      width: 100%;
      height: 100%;
      background-image: url(../img/common/ttl_site.svg); }
  header #nav_global #nav_con {
    display: none;
    position: absolute;
    z-index: 1001;
    top: 0;
    right: 0;
    width: 51px;
    height: 51px;
    background-color: #65B328;
    list-style: none;
    padding: 18px 12px 0; }
    header #nav_global #nav_con li {
      width: 28px;
      height: 1px;
      transition: all .2s ease;
      background-color: #fff;
      margin: 0 0 7px; }
    header #nav_global #nav_con.is_open li:nth-child(2) {
      opacity: 0; }
    header #nav_global #nav_con.is_open li {
      transform: translatey(8px) rotate(45deg); }
    header #nav_global #nav_con.is_open li:nth-child(3) {
      transform: translatey(-8px) rotate(-45deg); }
  header #nav_global .nav_box {
    display: flex;
    align-items: center;
    gap: 4.9vw; }
  header #nav_global #list_global {
    display: flex;
    list-style: none;
    font-size: 1.7rem;
    gap: 6.1vw; }
    header #nav_global #list_global li {
      position: relative; }
      header #nav_global #list_global li a {
        color: #111;
        text-decoration: none; }
        header #nav_global #list_global li a.active, header #nav_global #list_global li a:hover {
          color: #65B328; }
          header #nav_global #list_global li a.active::after, header #nav_global #list_global li a:hover::after {
            content: '';
            position: absolute;
            top: 45px;
            left: 50%;
            transform: translateX(-50%);
            display: block;
            height: 4px;
            width: 85px;
            background-color: #65B328; }
  header #nav_global #list_contact {
    list-style: none; }
    header #nav_global #list_contact li:first-child {
      font-family: "Roboto Condensed", sans-serif;
      font-size: 2.8rem;
      font-weight: 700;
      padding: 0 0 0 27px;
      background-image: url(../img/common/icon_telephone.svg);
      background-size: 20px;
      background-position: center left; }
    header #nav_global #list_contact li:last-child {
      font-size: 1.3rem;
      margin: 2px 0 0; }

/*=====アサイド*/
/*=====フッター*/
footer {
  background-color: #111; }
  footer .footer_contents {
    width: 1100px;
    color: #fff;
    padding-block: 20px;
    margin: 0 auto; }
  footer .flex_footer {
    display: flex;
    justify-content: space-between;
    margin: 0 0 51px; }
    footer .flex_footer h2 {
      font-size: 2rem;
      font-weight: 700;
      line-height: 1.45;
      margin: 0 0 6px; }
    footer .flex_footer address {
      font-size: 1.5rem;
      font-weight: 400;
      line-height: 1.9; }
    footer .flex_footer ul {
      display: flex;
      justify-content: space-between;
      width: 363px;
      font-size: 1.5rem;
      font-weight: 400;
      list-style: none;
      margin-top: 9px; }
      footer .flex_footer ul a {
        color: #fff;
        text-decoration: none;
        padding-bottom: 2px; }
        footer .flex_footer ul a:hover {
          border-bottom: 1px solid #fff; }
  footer #copyright {
    font-size: 1.3rem;
    color: #CDCFCD;
    text-align: center;
    padding: 12px 0; }

/*=====レスポンシブ対応（ブレークポイント 1000px） =====*/
@media screen and (max-width: 1000px) {
  /*=====ヘッダー*/
  header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 51px;
    font-weight: 500;
    background-color: #fff;
    transition: top .3s;
    overflow: hidden;
    padding: 18px 15px;
    /*ロゴ*/
    /*グローバルナビゲーション*/ }
    header.is_fixed {
      position: fixed;
      z-index: 10; }
    header #ttl_site {
      width: 176px;
      height: auto;
      text-indent: -9999px; }
      header #ttl_site .site_logo {
        display: block;
        width: 100%;
        height: 100%;
        background-image: url(../img/common/ttl_site.svg);
        background-size: contain; }
    header #nav_global #nav_con {
      display: block; }
    header #nav_global .nav_box {
      display: none;
      position: fixed;
      top: 51px;
      right: 0;
      width: 100%;
      height: 100%;
      background-color: #111;
      padding: 18px 4% 0;
      z-index: 1000; }
    header #nav_global #list_global {
      display: block;
      font-size: 1.5rem;
      font-weight: 500; }
      header #nav_global #list_global li {
        position: relative;
        border-bottom: 1px solid #525252;
        background-image: url(../img/common/icon_arrow_white.svg);
        background-position: center right;
        background-size: 15px; }
        header #nav_global #list_global li a {
          display: block;
          color: #fff;
          text-decoration: none;
          padding: 20px 0; }
          header #nav_global #list_global li a.active, header #nav_global #list_global li a:hover {
            color: #fff; }
            header #nav_global #list_global li a.active::after, header #nav_global #list_global li a:hover::after {
              content: '';
              position: relative;
              top: 0;
              left: 0;
              transform: translateX(0);
              display: inline-block;
              height: auto;
              width: auto;
              background-color: #111; }
        header #nav_global #list_global li:first-of-type a::after {
          content: 'Home';
          font-size: 1.2rem;
          color: #525252;
          margin-left: 14px; }
        header #nav_global #list_global li:nth-of-type(2) a::after {
          content: 'Company';
          font-size: 1.2rem;
          color: #525252;
          margin-left: 14px; }
        header #nav_global #list_global li:nth-of-type(3) a::after {
          content: 'Service';
          font-size: 1.2rem;
          color: #525252;
          margin-left: 14px; }
        header #nav_global #list_global li:nth-of-type(4) a::after {
          content: 'Recruit';
          font-size: 1.2rem;
          color: #525252;
          margin-left: 14px; }
    header #nav_global #list_contact {
      width: 188px;
      color: #fff;
      list-style: none;
      margin: 41px auto 0; }
      header #nav_global #list_contact li:first-child {
        font-family: "Roboto Condensed", sans-serif;
        font-size: 2.6rem;
        font-weight: 700;
        padding: 0 0 0 25px;
        background-image: url(../img/common/icon_telephone_sp.svg);
        background-size: 19px;
        background-position: center left; }
      header #nav_global #list_contact li:last-child {
        font-size: 1.2rem;
        margin: 2px 0 0; }

  /*=====フッター*/
  footer .footer_contents {
    width: 92%; }
  footer .flex_footer {
    display: block; }
    footer .flex_footer address {
      margin: 0 0 50px; } }
/*=====レスポンシブ対応（ブレークポイント 600px） =====*/
@media screen and (max-width: 600px) {
  /*=====イメージ*/
  img {
    max-width: 100%;
    height: auto; }

  .link_anchor {
    position: relative;
    top: -60px; }

  .object_sp {
    display: block; }

  .object_pc {
    display: none; }

  body {
    font-size: 1.5rem; }

  /*電話番号*/
  a[href^="tel"] {
    pointer-events: all; }

  /*=====フッター*/
  footer {
    background-color: #111; }
    footer .footer_contents {
      color: #fff;
      margin: 0 auto; }
    footer .flex_footer {
      margin: 0 0 42px; }
      footer .flex_footer h2 {
        font-size: 1.6rem; }
      footer .flex_footer address {
        font-size: 1.3rem;
        line-height: 1.9;
        margin: 0 0 15px; }
      footer .flex_footer ul {
        display: block;
        width: 100%;
        font-size: 1.4rem;
        margin-top: 0; }
        footer .flex_footer ul a {
          display: block;
          border-bottom: 1px solid #525252;
          padding: 15px 0;
          background-image: url(../img/common/icon_arrow_white.svg);
          background-position: center right;
          background-size: 15px; }
          footer .flex_footer ul a:hover {
            border-bottom: none; }
    footer #copyright {
      font-size: 1.1rem;
      text-align: left; } }

@charset "UTF-8";
/*=====基本色*/
/*=====マスターウィス*/
/*====== wrapper*/
.wrapper_second {
  width: 980px;
  margin: 80px auto 120px; }

/*====== ページ内リンク*/
.page_link {
  display: flex;
  list-style: none;
  border-bottom: 1px solid #DFE1DF;
  gap: 32px;
  padding: 0 0 18px;
  margin: 0 0 57px; }
  .page_link li a {
    color: #111;
    text-decoration: none;
    background-image: url(../images/second/icon_pagelink.svg);
    background-size: 16px;
    background-position: left center;
    padding-left: 24px; }
    .page_link li a:hover {
      opacity: .7; }

/*====== タイトル*/
.ttl_cmn_1 {
  font-size: 4.2rem;
  font-weight: 700; }
  .ttl_cmn_1 span {
    display: block;
    font-family: "DM Sans", sans-serif;
    font-size: 1.8rem;
    font-weight: 500;
    color: #65B328;
    margin: 10px 0 0; }

/*====== 水平線*/
hr {
  border-bottom: 1px solid #7F7F7F !important; }

.ttl_cmn_2 {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 40px; }

.ttl_cmn_3 {
  position: relative;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.3;
  border-bottom: 3px solid #DFE1DF;
  padding: 0 0 12px;
  margin: 0 0 16px; }
  .ttl_cmn_3::after {
    position: absolute;
    display: block;
    content: '';
    top: 43px;
    width: 100px;
    height: 3px;
    background-color: #65B328; }

.ttl_cmn_4 {
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1.3; }
  .ttl_cmn_4::before {
    display: inline-block;
    content: '';
    width: 16px;
    height: 16px;
    background-color: #65B328;
    border-radius: 3px;
    margin-right: 8px; }

/*====== ページトップイメージ*/
.ttl_second {
  position: relative;
  width: 100%;
  height: 240px;
  margin: 0 0 81px; }
  .ttl_second img {
    height: 100%;
    width: 100%;
    object-fit: cover; }
  .ttl_second h1 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 980px; }

/*====== figcaption*/
figcaption {
  line-height: 1.9;
  margin-top: 8px; }

/*====== text*/
.text_150 {
  line-height: 1.5; }

.text_190 {
  line-height: 1.9; }

/*====== list*/
.list_greenIcon {
  list-style: none; }
  .list_greenIcon li {
    line-height: 1.9; }
    .list_greenIcon li::before {
      display: inline-block;
      content: '';
      width: 14px;
      height: 14px;
      background-color: #65B328;
      border-radius: 3px;
      margin-right: 8px; }
  .list_greenIcon .list_inside {
    list-style: none;
    margin-left: 1.3em; }
    .list_greenIcon .list_inside li::before {
      width: 6px;
      height: 6px;
      background-color: #111;
      border-radius: 50%;
      margin: 0 11px 3px 0; }
  .list_greenIcon p {
    margin: 0 0 6px 1.3em; }

.list_12 {
  margin-left: 1em; }
  .list_12 li {
    margin-bottom: 12px; }
    .list_12 li:last-child {
      margin-bottom: 0; }

.list_150 {
  margin-left: 1.3em;
  line-height: 1.5; }

/*====== flex*/
.flex_area {
  display: flex; }
  .flex_area section {
    width: 50%; }

.flex_list {
  display: flex;
  justify-content: space-between;
  list-style: none;
  margin: 25px 0 0; }

/*====== 運送事業*/
.list_truck {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  list-style: none;
  gap: 25px 0;
  margin: 25px 0 0; }

/*====== 整備事業*/
.list_maintenance {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  list-style: none;
  gap: 48px 0;
  margin: 25px 0 0; }

/*====== 採用情報*/
.flex_recruit {
  display: flex;
  justify-content: space-between;
  gap: 56px; }
  .flex_recruit img {
    margin-top: 6px; }

/*=====レスポンシブ対応（ブレークポイント 1000px） =====*/
@media screen and (max-width: 1000px) {
  /*====== wrapper*/
  .wrapper_second {
    width: 92%; }

  /*====== ページトップイメージ*/
  .ttl_second h1 {
    position: absolute;
    top: 50%;
    left: 4%;
    transform: translateX(0%) translateY(-50%);
    width: 92%; }

  /*====== list*/
  .flex_list {
    flex-wrap: wrap;
    margin: 20px 0 0;
    gap: 18px 0; }
    .flex_list li {
      width: 48%; }
      .flex_list li img {
        width: 100%;
        height: auto; }
    .flex_list figcaption {
      margin-top: 5px;
      font-size: 1.4rem; }

  /*====== 運送事業*/
  .list_truck {
    gap: 20px 0;
    margin: 28px 0 0; }
    .list_truck img {
      width: 45vw;
      height: auto; }

  /*====== 整備事業*/
  .list_maintenance {
    gap: 16px 0;
    margin: 0; }
    .list_maintenance img {
      width: 45vw;
      height: auto; }

  /*====== 採用情報*/
  .flex_recruit img {
    width: 45%;
    height: 45%; } }
/*=====レスポンシブ対応（ブレークポイント 600px） =====*/
@media screen and (max-width: 600px) {
  /*=====イメージ */
  img {
    max-width: 100%;
    height: auto; }

  /*====== wrapper*/
  .wrapper_second {
    margin: 47px auto 72px; }

  /*====== ページ内リンク*/
  .page_link {
    flex-wrap: wrap;
    gap: 24px;
    padding: 0 0 20px;
    margin: 0 0 43px; }
    .page_link li a {
      text-decoration: none;
      background-image: url(../images/second/icon_pagelink.svg);
      background-size: 14px;
      padding-left: 21px; }

  /*====== タイトル*/
  .ttl_cmn_1 {
    font-size: 2.6rem; }
    .ttl_cmn_1 span {
      font-size: 1.3rem;
      margin: 8px 0 0; }

  /*====== 水平線*/
  hr {
    border-bottom: 1px solid #7F7F7F !important; }

  .ttl_cmn_2 {
    font-size: 2.1rem;
    margin: 0 0 22px; }

  .ttl_cmn_3 {
    font-size: 1.9rem; }
    .ttl_cmn_3::after {
      top: 37px;
      width: 86px; }
    .ttl_cmn_3.is_sp::after {
      top: 61px; }

  .ttl_cmn_4 {
    font-size: 1.9rem;
    font-weight: 700;
    line-height: 1.3; }
    .ttl_cmn_4::before {
      display: inline-block;
      content: '';
      width: 16px;
      height: 16px;
      background-color: #65B328;
      border-radius: 3px;
      margin-right: 8px; }

  /*====== ページトップイメージ*/
  .ttl_second {
    position: relative;
    width: 100%;
    height: 130px;
    margin: 0 0 47px; }

  /*====== figcaption*/
  figcaption {
    line-height: 1.5;
    margin-top: 10px; }

  /*====== list*/
  .list_greenIcon {
    list-style: none; }
    .list_greenIcon li {
      line-height: 1.9; }
      .list_greenIcon li::before {
        width: 12px;
        height: 12px; }
    .list_greenIcon .list_inside {
      list-style: none;
      margin-left: 1.3em; }
      .list_greenIcon .list_inside li::before {
        width: 5px;
        height: 5px; }
    .list_greenIcon p {
      margin: 0 0 6px 1.3em; }

  .list_12 {
    margin-left: 1em; }
    .list_12 li {
      margin-bottom: 12px; }
      .list_12 li:last-child {
        margin-bottom: 0; }

  .list_150 {
    margin-left: 1.3em;
    line-height: 1.5; }

  /*====== flex*/
  .flex_area {
    display: block; }
    .flex_area section {
      width: 100%;
      margin: 0 0 25px; }

  /*====== 運送事業*/
  .list_truck img {
    width: 100%;
    height: auto; }

  /*====== 整備事業*/
  .list_maintenance {
    margin: -30px 0 0; }
    .list_maintenance img {
      width: 100%;
      height: auto; }

  /*====== 採用情報*/
  .flex_recruit {
    display: block;
    justify-content: space-between;
    gap: 56px; }
    .flex_recruit img {
      width: 100%;
      height: auto;
      margin-top: 15px; } }

@charset "UTF-8";
/*=====基本色*/
/*=====マスターウィス*/
/*=====読み上げ文字*/
.vi {
  position: absolute;
  white-space: nowrap;
  width: 1px;
  height: 1px;
  overflow: hidden;
  border: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  margin: -1px; }

#mihon {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10000;
  line-height: 1;
  width: 1366px;
  margin: 0 auto;
  display: block; }
  #mihon img {
    width: 100%;
    height: auto;
    opacity: .3; }

/*=====一括初期化 */
/*=====テーブル*/
table {
  border-collapse: collapse;
  border-spacing: 0; }

/*=====ヘッディング*/
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 1em;
  font-style: normal;
  font-weight: normal; }

/*=====パラグラフ*/
p {
  margin: 0;
  padding: 0; }

/*=====水平線*/
hr {
  width: auto;
  height: 0;
  border: none;
  border-bottom: 1px solid #525252; }

/*=====アドレス*/
address {
  font-style: normal; }

/*=====現在準備中です。*/
#under {
  font-weight: bold;
  text-align: center;
  line-height: 1;
  padding: 10em 0; }
  #under:before {
    display: block;
    font-size: 3rem;
    color: #f39c12;
    content: "\f071";
    font-weight: normal;
    font-family: FontAwesome;
    padding: 0 0 .3em; }

/*=====iframe*/
iframe {
  border: none; }

/*=====フォーム部品*/
form {
  /*=====ナンバーのスピンボタン消去*/ }
  form input[type="number"]::-webkit-outer-spin-button,
  form input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0; }
  form input[type="number"] {
    -moz-appearance: textfield; }
  form textarea {
    width: 100%;
    height: 6em; }
  form select {
    min-width: 30%;
    height: 40px;
    border: 1px solid #ddd;
    background-color: #fff;
    font-size: 1.6rem;
    transition: all .2s ease;
    padding: 0 30px 0 20px; }
  form input[type=radio] {
    transition: all .2s ease;
    margin: 0 .5em 0 4px; }
  form label {
    cursor: pointer; }

/*=====フォーム用リスト- 送信用*/
.list_submit {
  display: flex;
  justify-content: center;
  width: auto;
  list-style: none;
  /*=====背景付き送信ボタン*/ }
  .list_submit li {
    margin: 0 10px; }
  .list_submit .submit_back,
  .list_submit .submit_next {
    cursor: pointer; }

/*=====フォーム用テーブル*/
.table_form {
  width: 620px;
  margin: 37px auto 6px; }
  .table_form th,
  .table_form td {
    display: block;
    text-align: left; }
  .table_form th {
    width: auto;
    padding: 0 0 12px; }
  .table_form td {
    width: 100%;
    padding: 0 0 30px; }
  .table_form--list td {
      padding: 0 0 50px;
  }
  .table_form input[type="text"],
  .table_form input[type="email"],
  .table_form input[type="tel"],
  .table_form input[type="date"] {
    width: 100%;
    height: 50px;
    outline: 1px solid #CDCFCD;
    border-radius: 5px;
    padding: 0 20px; }
  select:focus,
  input[type="radio"]:focus,
  input[type="checkbox"]:focus,
  input[type="text"]:focus,
  input[type="email"]:focus,
  input[type="tel"]:focus,
  input[type="date"]:focus {
    background-color: #fff;
    outline: 2px solid #65B328; }
  .table_form input::placeholder {
    color: #CDCFCD; }
  .table_form ul {
    list-style: none;
    line-height: 2.5em; }
    .table_form--list ul {
        padding: revert;
        margin: 0;
        list-style: initial;
        line-height: 1.8;
    }
  .table_form .v_align_top {
    vertical-align: top; }

.box_privacy {
  width: 620px;
  background-color: #F8F9F8;
  border: 1px solid #CDCFCD;
  border-radius: 5px;
  padding: 25px 20px;
  margin: 0 auto 40px; }
  .box_privacy h3 {
    font-weight: 700;
    margin-bottom: 10px; }
  .box_privacy p {
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1.7;
    margin: 0 0 20px; }
    .box_privacy p a {
      color: #00645A; }
  .box_privacy .area_checkbox {
    width: fit-content;
    background-color: #fff;
    border: 1px solid #DFE1DF;
    border-radius: 5px;
    padding: 12px 15px;
    margin: 0 auto; }

/* 送信ボタン */
.submit {
  display: block;
  color: #fff;
  background-color: transparent;
  background-color: #00645A;
  border-radius: 40px;
  cursor: pointer;
  padding: 20px 60px;
  margin: 0 auto; }
  .submit:hover {
    background-color: #038776; }

.submit[disabled] {
  background-color: #A8AAA8;
  cursor: auto; }

/*=====必須項目*/
.item_required:after {
  content: "必須";
  display: inline-block;
  width: auto;
  color: #fff;
  line-height: 1;
  font-size: 1.3rem;
  font-weight: 500;
  background-color: #E52E21;
  border-radius: 3px;
  padding: 4px 7px;
  margin: 0 8px; }

/*=====イメージフローティング*/
.float_left {
  float: left;
  margin-right: 50px; }

.float_right {
  float: right;
  margin-left: 50px; }

/*=====共通ボタン*/
.btn_cmn_1 {
  display: inline-flex;
  font-weight: 500;
  line-height: 1;
  color: #fff;
  text-decoration: none;
  background-color: #00645A;
  border-radius: 30px;
  padding: 19px 46px; }
  .btn_cmn_1 .btn_arrow {
    position: relative;
    overflow: hidden;
    display: inline-block;
    width: 45px;
    height: 19px; }
    .btn_cmn_1 .btn_arrow::before, .btn_cmn_1 .btn_arrow::after {
      content: url(../img/common/icon_arrow_white.svg);
      position: absolute;
      top: 0;
      right: 15px;
      animation-fill-mode: forwards;
      animation-duration: .4s; }
    .btn_cmn_1 .btn_arrow::after {
      transform: translateX(-200%); }
  .btn_cmn_1:hover {
    background-color: #038776; }
    .btn_cmn_1:hover .btn_arrow::before {
      animation-name: transformRightLeft;
      animation-delay: 0s; }
    .btn_cmn_1:hover .btn_arrow::after {
      animation-name: transformLeftRight;
      animation-delay: 0.2s; }
@keyframes transformLeftRight {
  0% {
    transform: translateX(-200%);
    opacity: 0; }
  10% {
    opacity: .2; }
  100% {
    transform: translateX(0);
    opacity: 1; } }
@keyframes transformRightLeft {
  0% {
    transform: translateX(0);
    opacity: 1; }
  10% {
    opacity: .2; }
  100% {
    transform: translateX(100%);
    opacity: 0; } }
.btn_cmn_2 {
  display: inline-flex;
  font-weight: 500;
  line-height: 1;
  color: #00645A;
  text-decoration: none;
  border: 1px solid #00645A;
  border-radius: 30px;
  padding: 19px 46px 19px 59px; }
  .btn_cmn_2 .btn_arrow {
    position: relative;
    overflow: hidden;
    display: inline-block;
    width: 45px;
    height: 19px; }
    .btn_cmn_2 .btn_arrow::before, .btn_cmn_2 .btn_arrow::after {
      content: url(../img/common/icon_arrow_green.svg);
      position: absolute;
      top: 0;
      right: 15px;
      animation-fill-mode: forwards;
      animation-duration: .4s; }
    .btn_cmn_2 .btn_arrow::after {
      transform: translateX(-200%); }
  .btn_cmn_2:hover {
    background-color: #E4F3F2; }
    .btn_cmn_2:hover .btn_arrow::before {
      animation-name: transformRightLeft;
      animation-delay: 0s; }
    .btn_cmn_2:hover .btn_arrow::after {
      animation-name: transformLeftRight;
      animation-delay: .2s; }
@keyframes transformLeftRight {
  0% {
    transform: translateX(-200%);
    opacity: 0; }
  10% {
    opacity: .2; }
  100% {
    transform: translateX(0);
    opacity: 1; } }
@keyframes transformRightLeft {
  0% {
    transform: translateX(0);
    opacity: 1; }
  10% {
    opacity: .2; }
  100% {
    transform: translateX(100%);
    opacity: 0; } }
.is_center {
  text-align: center; }

/*=====テーブル*/
.tbl_cmn_1 {
  width: 100%; }
  .tbl_cmn_1 th,
  .tbl_cmn_1 td {
    vertical-align: top;
    text-align: left;
    padding: 24px 0; }
  .tbl_cmn_1 th {
    width: 207px;
    white-space: nowrap;
    font-weight: 500; }
  .tbl_cmn_1 tr {
    border: 1px solid #ddd;
    border-left: none;
    border-right: none; }

.tbl_cmn_2 {
  width: 100%; }
  .tbl_cmn_2 th,
  .tbl_cmn_2 td {
    vertical-align: top;
    text-align: left;
    padding: 24px 0; }
  .tbl_cmn_2 th {
    width: 207px;
    white-space: nowrap;
    font-weight: 500; }
  .tbl_cmn_2 tr {
    border: 1px solid #ddd;
    border-left: none;
    border-right: none; }
    .tbl_cmn_2 tr:first-of-type {
      border-top: none; }

/*=====リスト*/
.list_cmn_1 {
  margin-left: 22px; }

.list_cmn_2 {
  list-style: none; }

/*=====注意リスト*/
.list_caution {
  list-style: none;
  text-indent: -1em;
  padding: 0 0 0 1em;
  margin-left: 0 !important; }
  .list_caution li:before {
    content: "※";
    font-family: sans-serif; }

/*====== 出現*/
.fadeRight {
  animation-name: fadeRightAnime;
  animation-duration: 2.2s;
  animation-fill-mode: forwards;
  opacity: 0; }

.fadeRight_2 {
  animation-name: fadeRightAnime;
  animation-duration: 2.3s;
  animation-fill-mode: forwards;
  opacity: 0; }

@keyframes fadeRightAnime {
  from {
    opacity: 0;
    transform: translateY(80px); }
  to {
    opacity: 1;
    transform: translateY(0); } }
.fadeIn {
  transform: translateY(100px);
  opacity: 0;
  visibility: hidden;
  transition: transform .7s, opacity .7s, visibility .7s; }

.fadeIn_2 {
  transform: translateY(120px);
  opacity: 0;
  visibility: hidden;
  transition: transform .8s, opacity .8s, visibility .8s; }

.is-fadein {
  transform: translateX(0);
  opacity: 1;
  visibility: visible; }

/*=====テキストコントロール*/
main {
  /*=====アライン*/
  /*=====フォントサイズ*/
  /*=====フォントカラー*/ }
  main .align_left {
    text-align: left; }
  main .align_right {
    text-align: right; }
  main .align_center {
    text-align: center; }
  main .font_small {
    font-size: .9em; }
  main .font_large {
    font-size: 1.5em; }
  main .color_red {
    color: #f44336; }

/*=====マージン*/
main .mar00 {
  margin-bottom: 0px; }
main .mar05 {
  margin-bottom: 5px; }
main .mar10 {
  margin-bottom: 10px; }
main .mar15 {
  margin-bottom: 15px; }
main .mar20 {
  margin-bottom: 20px; }
main .mar25 {
  margin-bottom: 25px; }
main .mar30 {
  margin-bottom: 30px; }
main .mar40 {
  margin-bottom: 40px; }
main .mar50 {
  margin-bottom: 50px; }
main .mar60 {
  margin-bottom: 60px; }
main .mar70 {
  margin-bottom: 70px; }
main .mar80 {
  margin-bottom: 80px; }

/*=====サイズ補正用*/
main .width05 {
  width: 5%; }
main .width10 {
  width: 10%; }
main .width15 {
  width: 15%; }
main .width20 {
  width: 20%; }
main .width25 {
  width: 25%; }
main .width30 {
  width: 30%; }
main .width40 {
  width: 40%; }
main .width50 {
  width: 50%; }
main .width50_2 {
  width: 48%; }
main .width60 {
  width: 60%; }
main .width70 {
  width: 70%; }
main .width80 {
  width: 80%; }
main .width90 {
  width: 90%; }
main .width100 {
  width: 100%; }

/*=====レスポンシブ対応（ブレークポイント 600px） =====*/
@media screen and (max-width: 600px) {
  /*=====サイズ補正用*/
  body .width60,
  body .width70,
  body .width80,
  body .width90,
  body .width100 {
    width: auto; }

  /*=====フォーム用リスト- 送信用*/
  .list_submit {
    flex-wrap: wrap; }
    .list_submit li {
      margin: 10px 0; }

  /*=====イメージフローティング*/
  .float_right,
  .float_left {
    float: none;
    width: 100%;
    text-align: center; }

  /*===== ボタン*/
  .btn_cmn_1 {
    display: flex;
    width: fit-content;
    margin: 0 auto; }

  /*=====テーブル*/
  .tbl_cmn_1 {
    width: 100%; }
    .tbl_cmn_1 th,
    .tbl_cmn_1 td {
      vertical-align: top;
      text-align: left;
      padding: 24px 0; }
    .tbl_cmn_1 th {
      width: 30%;
      white-space: nowrap;
      font-weight: 500; }
    .tbl_cmn_1 tr {
      border: 1px solid #ddd;
      border-left: none;
      border-right: none; }

  .tbl_cmn_2 {
    width: 100%; }
    .tbl_cmn_2 th,
    .tbl_cmn_2 td {
      vertical-align: top;
      text-align: left;
      line-height: 1.2;
      padding: 24px 0; }
    .tbl_cmn_2 th {
      width: 110px;
      white-space: wrap;
      font-weight: 500;
      padding-right: 10px; }
    .tbl_cmn_2 tr {
      border: 1px solid #ddd;
      border-left: none;
      border-right: none; }
      .tbl_cmn_2 tr:first-of-type {
        border-top: none; }

  /*=====フォーム用テーブル*/
  .table_form {
    width: 100%;
    margin: 37px auto 6px; }

  .box_privacy {
    width: 100%; }

  /*=====必須項目*/
  .item_required:after {
    font-size: 1.1rem;
    padding: 3px 6px;
    margin: 0 8px; } }

.error-message:empty {
    display: none;
}

.error-message {
    font-size: 14px;
    line-height: 2;
    color: #dc3545;
}
