@charset "UTF-8";
/*
------------------------------------------------------------
------------------------------------------------------------
common
------------------------------------------------------------
------------------------------------------------------------*/
body {
  position: relative;
  font-size: 16px;
  font-family: "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif !important;
  line-height: 2em;
  color: #333;
  background-color: #fff; }
  @media (max-width: 768px) {
    body {
      font-size: 14px; } }

a {
  color: #333;
  text-decoration: none;
  -webkit-transition: all .3s;
  transition: all .3s; }

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

hr {
  border: none;
  border-top: 1px solid #e1e1e1; }
  hr.dotted {
    width: 100%;
    border-top: 1px dotted #c7c7c7; }

.PT10 {
  padding-top: 10px; }

.PT20 {
  padding-top: 20px; }

.PT30 {
  padding-top: 30px; }

.PT40 {
  padding-top: 40px; }

.PT50 {
  padding-top: 50px; }

.PT60 {
  padding-top: 60px; }

.PT70 {
  padding-top: 70px; }

.PT80 {
  padding-top: 80px; }

.PT90 {
  padding-top: 90px; }

.PT100 {
  padding-top: 100px; }

.PT110 {
  padding-top: 110px; }

.PT120 {
  padding-top: 120px; }

.MT10 {
  margin-top: 10px; }

.MT20 {
  margin-top: 20px; }

.MT30 {
  margin-top: 30px; }

.MT40 {
  margin-top: 40px; }

.MT50 {
  margin-top: 50px; }

.MT60 {
  margin-top: 60px; }

.MT70 {
  margin-top: 70px; }

.MT80 {
  margin-top: 80px; }

.MT90 {
  margin-top: 90px; }

.MT100 {
  margin-top: 100px; }

.MT110 {
  margin-top: 110px; }

.MT120 {
  margin-top: 120px; }

.PB10 {
  padding-bottom: 10px; }

.PB20 {
  padding-bottom: 20px; }

.PB30 {
  padding-bottom: 30px; }

.PB40 {
  padding-bottom: 40px; }

.PB50 {
  padding-bottom: 50px; }

.PB60 {
  padding-bottom: 60px; }

.PB70 {
  padding-bottom: 70px; }

.PB80 {
  padding-bottom: 80px; }

.PB90 {
  padding-bottom: 90px; }

.PB100 {
  padding-bottom: 100px; }

.PB110 {
  padding-bottom: 110px; }

.PB120 {
  padding-bottom: 120px; }

.MB10 {
  margin-bottom: 10px; }

.MB20 {
  margin-bottom: 20px; }

.MB30 {
  margin-bottom: 30px; }

.MB40 {
  margin-bottom: 40px; }

.MB50 {
  margin-bottom: 50px; }

.MB60 {
  margin-bottom: 60px; }

.MB70 {
  margin-bottom: 70px; }

.MB80 {
  margin-bottom: 80px; }

.MB90 {
  margin-bottom: 90px; }

.MB100 {
  margin-bottom: 100px; }

.MB110 {
  margin-bottom: 110px; }

.MB120 {
  margin-bottom: 120px; }

.indent1 {
  padding-left: 1em;
  text-indent: -1em; }

.indent2 {
  padding-left: 2em;
  text-indent: -2em; }

.indent3 {
  padding-left: 3em;
  text-indent: -3em; }

.indent4 {
  padding-left: 4em;
  text-indent: -4em; }

.indent5 {
  padding-left: 5em;
  text-indent: -5em; }

.indent6 {
  padding-left: 6em;
  text-indent: -6em; }

.indent7 {
  padding-left: 7em;
  text-indent: -7em; }

.indent8 {
  padding-left: 8em;
  text-indent: -8em; }

.indent9 {
  padding-left: 9em;
  text-indent: -9em; }

.indent10 {
  padding-left: 10em;
  text-indent: -10em; }

.indent1h {
  padding-left: 1.5em;
  text-indent: -1.5em; }

.indent {
  text-indent: 1em; }

.PLem1 {
  padding-left: 1em; }

.PLem2 {
  padding-left: 2em; }

.PLem3 {
  padding-left: 3em; }

.PLem4 {
  padding-left: 4em; }

.PLem5 {
  padding-left: 5em; }

.PLem6 {
  padding-left: 6em; }

.PLem7 {
  padding-left: 7em; }

.PLem8 {
  padding-left: 8em; }

.PLem9 {
  padding-left: 9em; }

.PLem10 {
  padding-left: 10em; }

.Wem1 {
  width: 1em; }

.Wem2 {
  width: 2em; }

.Wem3 {
  width: 3em; }

.Wem4 {
  width: 4em; }

.Wem5 {
  width: 5em; }

.Wem6 {
  width: 6em; }

.Wem7 {
  width: 7em; }

.Wem8 {
  width: 8em; }

.Wem9 {
  width: 9em; }

.Wem10 {
  width: 10em; }

/*
------------------------------------------------------------
------------------------------------------------------------
共通スタイル
------------------------------------------------------------
------------------------------------------------------------*/
.content {
  width: 100%;
  max-width: 1020px;
  margin: 0 auto; }
  @media (max-width: 1020px) {
    .content {
      width: 97%;
      margin: 0 1.5%; } }
  @media (max-width: 768px) {
    .content {
      width: 90%;
      margin: 0 auto; } }

.main-color {
  color: #2a456b; }

.main-light-color {
  color: #72a9c9; }

.sub-color {
  color: #419591; }

.caution-color {
  color: #e27e62; }

.error-color {
  color: #e83200; }

.normal {
  font-weight: normal; }

.bold {
  font-weight: bold; }

.condensed {
  transform: scale(0.9, 1); }

.font-s {
  font-size: 85%; }

.font-l {
  font-size: 120%; }

.font-ll {
  font-size: 140%; }

.font-h-s {
  line-height: 1.6em; }

.bk-common {
  padding: 20px;
  background-color: #ededed; }
  @media (max-width: 500px) {
    .bk-common {
      padding: 5%; } }

.bk-main {
  padding: 20px;
  background-color: #d6dade; }
  @media (max-width: 500px) {
    .bk-main {
      padding: 5%; } }

.bk-sub {
  padding: 20px;
  background-color: #dce5f3; }
  @media (max-width: 500px) {
    .bk-sub {
      padding: 5%; } }

.bk-base {
  padding: 20px;
  background-color: #fff; }
  @media (max-width: 500px) {
    .bk-base {
      padding: 5%; } }

.bk-border {
  padding: 20px;
  border: solid 1px #e1e1e1; }
  @media (max-width: 500px) {
    .bk-border {
      padding: 5%; } }

.center {
  text-align: center !important; }

.center-pc {
  text-align: center; }
  @media (max-width: 768px) {
    .center-pc {
      text-align: left; } }

.center-tb {
  text-align: center; }
  @media (max-width: 500px) {
    .center-tb {
      text-align: left; } }

.right {
  text-align: right !important; }

.right-pc {
  text-align: right; }
  @media (max-width: 768px) {
    .right-pc {
      text-align: left; } }

.right-tb {
  text-align: right; }
  @media (max-width: 500px) {
    .right-tb {
      text-align: left; } }

.left {
  text-align: left !important; }

.flex {
  display: flex; }

.flex-align {
  display: flex;
  align-items: center; }

.link-text {
  color: #368cc6;
  text-decoration: underline; }
  .link-text:hover {
    opacity: 0.6; }

.link-text-icon {
  color: #368cc6;
  text-decoration: underline;
  display: flex;
  align-items: center; }
  .link-text-icon:hover {
    opacity: 0.6; }
  .link-text-icon img {
    width: 1.4em;
    height: auto;
    margin-right: 5px; }
    .link-text-icon img.icon {
      width: 16px;
      height: auto;
      margin: 0 0 0 5px; }
      @media (max-width: 768px) {
        .link-text-icon img.icon {
          width: 14px; } }

.icon-inline {
  width: 24px;
  height: 24px;
  margin: 0 5px -5px 5px;
  display: inline; }
  @media (max-width: 768px) {
    .icon-inline {
      width: 20px;
      height: 20px;
      margin: 0 5px -4px 5px; } }

/* タイトル */
.common-title {
  padding-bottom: 60px;
  text-align: center; }
  @media (max-width: 768px) {
    .common-title {
      padding-bottom: 50px; } }
  .common-title h3 {
    padding: 5px 30px;
    font-weight: bold;
    color: #72a9c9;
    position: relative;
    display: inline; }
    @media (max-width: 768px) {
      .common-title h3 {
        font-size: 13px; } }
    .common-title h3::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      border-bottom: 16px solid transparent;
      border-left: 16px solid #72a9c9; }
      @media (max-width: 768px) {
        .common-title h3::before {
          border-bottom: 14px solid transparent;
          border-left: 14px solid #72a9c9; } }
    .common-title h3::after {
      content: "";
      position: absolute;
      bottom: 0;
      right: 0;
      border-top: 16px solid transparent;
      border-right: 16px solid #72a9c9; }
      @media (max-width: 768px) {
        .common-title h3::after {
          border-top: 14px solid transparent;
          border-right: 14px solid #72a9c9; } }
  .common-title p {
    padding-top: 10px;
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 40px;
    line-height: 1.2em; }
    @media (max-width: 768px) {
      .common-title p {
        font-size: 30px; } }

/* ページネーション */
.pagination-wrap {
  margin-top: 30px;
  display: flex;
  justify-content: flex-end;
  align-items: center; }
  @media (max-width: 768px) {
    .pagination-wrap {
      flex-direction: column;
      justify-content: center; } }

.pagination {
  margin: 0 0 0 30px;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 0 8px;
  list-style-type: none; }
  @media (max-width: 768px) {
    .pagination {
      margin: 20px 0 0 0; } }
  .pagination a {
    width: 2em;
    height: 2em;
    display: flex;
    justify-content: center;
    align-items: center; }
    .pagination a:hover {
      opacity: 0.6; }
  .pagination .current {
    width: 2em;
    height: 2em;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #72a9c9;
    border-bottom: 3px solid #72a9c9;
    pointer-events: none; }
  .pagination .current {
    color: #72a9c9;
    border-bottom: 3px solid #72a9c9;
    pointer-events: none; }
  .pagination img {
    width: 11px;
    height: 20px; }

/* ページ内リンク */
.page-link {
  margin: 50px 0;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end; }
  @media (max-width: 1020px) {
    .page-link {
      margin: 40px 0; } }
  .page-link li {
    width: 18.4%;
    margin: 1.5% 0; }
    .page-link li:not(:nth-child(5n)) {
      margin-right: 2%; }
    @media (max-width: 1020px) {
      .page-link li {
        width: 23.5%; }
        .page-link li:nth-child(4n) {
          margin-right: 0; }
        .page-link li:not(:nth-child(4n)) {
          margin-right: 2%; } }
    @media (max-width: 500px) {
      .page-link li {
        width: 48%;
        margin: 4% 0; }
        .page-link li:nth-child(even) {
          margin-right: 0; }
        .page-link li:nth-child(odd) {
          margin-right: 4%; } }
    .page-link li a {
      width: 100%;
      padding: 10px 0;
      position: relative;
      font-weight: bold;
      line-height: 1.2em;
      display: flex;
      align-items: flex-end; }
      .page-link li a::before, .page-link li a::after {
        content: '';
        position: absolute;
        z-index: 1;
        bottom: 0;
        left: 0;
        background: #333;
        width: 100%;
        height: 1px;
        transition: all 0.3s ease-in-out; }
      .page-link li a::after {
        width: 0;
        background: #72a9c9; }
      .page-link li a div {
        text-align: center; }
        .page-link li a div:nth-child(1) {
          width: 30px; }
        .page-link li a div:nth-child(2) {
          width: calc(100% - 30px);
          padding: 1px 5px;
          font-size: 14px;
          font-feature-settings: "palt"; }
          @media (max-width: 320px) {
            .page-link li a div:nth-child(2) {
              font-size: 12px; } }
      .page-link li a span {
        width: 100%;
        text-align: center; }
      .page-link li a:hover {
        color: #72a9c9; }
        .page-link li a:hover::after {
          width: 100%; }

a.anchor {
  display: block;
  margin-top: -70px;
  padding-top: 70px; }
  @media (max-width: 768px) {
    a.anchor {
      margin-top: -50px;
      padding-top: 50px; } }

td a.anchor {
  margin-top: -100px;
  padding-top: 100px; }
  @media (max-width: 768px) {
    td a.anchor {
      margin-top: -74px;
      padding-top: 74px; } }

/* btn
------------------------------------------------------------
------------------------------------------------------------*/
/* 基本のボタン */
.btn-main, .btn-light, .btn-light-s, .btn-caution, .btn-main-ghost {
  width: 240px;
  height: 42px;
  padding: 0 5px;
  color: #fff;
  background-color: #2a456b;
  border: solid 1px #2a456b;
  border-radius: 10px;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  cursor: pointer;
  line-height: 1.2em;
  -webkit-transition: all .3s;
  transition: all .3s; }
  .btn-main:hover, .btn-light:hover, .btn-light-s:hover, .btn-caution:hover, .btn-main-ghost:hover {
    background-color: #3a5c84;
    border: solid 1px #3a5c84;
    box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.3); }

.btn-light, .btn-light-s {
  background-color: #72a9c9;
  border: solid 1px #72a9c9; }
  .btn-light:hover, .btn-light-s:hover {
    background-color: #86b6ce;
    border: solid 1px #86b6ce; }

.btn-light-s {
  width: inherit;
  max-width: 240px;
  min-height: 40px;
  height: inherit;
  padding: 5px 7px;
  font-size: 12px; }
  .btn-light-s img {
    width: 2em;
    height: auto;
    margin-right: 5px; }

td.center .btn-light-s {
  margin: 0 auto; }

.btn-caution {
  background-color: #e27e62;
  border: solid 1px #e27e62; }
  .btn-caution:hover {
    background-color: #f48b76;
    border: solid 1px #f48b76; }

.btn-main-ghost {
  color: #2a456b;
  background-color: #fff;
  border: solid 1px #2a456b;
  position: relative;
  z-index: 10; }
  .btn-main-ghost:hover {
    background-color: #edf3f9; }

/* 矢印のボタン */
.btn-arrow {
  min-width: 240px;
  position: relative;
  font-weight: bold;
  color: #333;
  padding: 10px 0;
  display: inline-block;
  text-decoration: none;
  outline: none; }
  .btn-arrow::before, .btn-arrow::after {
    content: '';
    position: absolute;
    z-index: 1;
    bottom: 0;
    left: 0;
    background: #333;
    width: 100%;
    height: 1px;
    transition: all 0.3s ease-in-out; }
  .btn-arrow::before {
    height: 1px; }
  .btn-arrow::after {
    width: 0;
    height: 2px;
    background: #72a9c9; }
  .btn-arrow span {
    padding-right: 70px; }
    .btn-arrow span::before, .btn-arrow span::after {
      content: "";
      position: absolute;
      background: #333; }
    .btn-arrow span::before {
      top: 50%;
      right: 20px;
      width: 40px;
      height: 1px;
      transition: all .2s linear; }
    .btn-arrow span::after {
      top: 15px;
      right: 25px;
      width: 1px;
      height: 12px;
      transform: skewX(45deg);
      transition: all .2s linear; }
      @media (max-width: 768px) {
        .btn-arrow span::after {
          top: 13px; } }
  .btn-arrow:hover::after {
    width: 100%; }
  .btn-arrow:hover span::before {
    right: 0;
    background: #72a9c9; }
  .btn-arrow:hover span::after {
    right: 5px;
    background: #72a9c9; }

/* フォームtable内の小さめボタン */
.btn-table, .btn-table-caution {
  min-width: 56px;
  height: 40px;
  padding: 0 5px;
  color: #fff;
  background-color: #666;
  border: solid 1px #666;
  border-radius: 10px;
  font-weight: bold;
  font-size: 85%;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer; }
  @media (max-width: 1020px) {
    .btn-table, .btn-table-caution {
      font-size: 14px; } }
  @media (max-width: 768px) {
    .btn-table, .btn-table-caution {
      height: 36px;
      font-size: 13px; } }
  @media (max-width: 500px) {
    .btn-table, .btn-table-caution {
      min-width: 50px;
      font-size: 12px; } }
  .btn-table.w100px, .w100px.btn-table-caution {
    min-width: 100px; }
  .btn-table:hover, .btn-table-caution:hover {
    background-color: #777;
    border: solid 1px #777;
    box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.3); }

.btn-table-caution {
  margin: 0  0  0 5px;
  background-color: #e27e62;
  border: solid 1px #e27e62; }
  .btn-table-caution:hover {
    background-color: #f48b76;
    border: solid 1px #f48b76; }

/* 押せないボタン  */
input:disabled, button:disabled {
  background: #c7c7c7;
  border: solid 1px #c7c7c7; }
  input:disabled:hover, button:disabled:hover {
    background: #c7c7c7;
    border: solid 1px #c7c7c7;
    box-shadow: none; }

a.disabled {
  pointer-events: none;
  background: #c7c7c7;
  border: solid 1px #c7c7c7; }

/* 追加、削除ボタン  */
.btn-add, .btn-dele, .btn-dele-1 {
  width: 40px;
  height: 40px;
  padding: 10px;
  margin: 2px;
  border-radius: 20px;
  border: solid 1px #666;
  background-color: #666; }
  .btn-add:hover, .btn-dele:hover, .btn-dele-1:hover {
    background-color: #777;
    border: solid 1px #777;
    box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.3); }

.btn-dele, .btn-dele-1 {
  background-color: #fff; }
  .btn-dele:hover, .btn-dele-1:hover {
    background-color: #fff;
    opacity: 0.7; }

/* ボタン位置（左寄せ、中央、右寄せ） */
.btn-center {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }
  @media (max-width: 500px) {
    .btn-center {
      flex-direction: column;
      align-items: center; } }
  .btn-center .btn-main, .btn-center .btn-light, .btn-center .btn-light-s, .btn-center .btn-caution, .btn-center .btn-main-ghost, .btn-center .btn-light, .btn-center .btn-light-s, .btn-center .btn-caution, .btn-center .btn-main-ghost, .btn-center .btn-arrow {
    margin: 15px 10px; }
  .btn-center .btn-light-s {
    margin: 5px; }

.btn-left {
  display: flex;
  flex-wrap: wrap; }
  @media (max-width: 500px) {
    .btn-left {
      flex-direction: column;
      align-items: center; } }
  .btn-left .btn-main, .btn-left .btn-light, .btn-left .btn-light-s, .btn-left .btn-caution, .btn-left .btn-main-ghost, .btn-left .btn-light, .btn-left .btn-light-s, .btn-left .btn-caution, .btn-left .btn-main-ghost, .btn-left .btn-arrow {
    margin: 15px 20px 15px 0; }
    @media (max-width: 500px) {
      .btn-left .btn-main, .btn-left .btn-light, .btn-left .btn-light-s, .btn-left .btn-caution, .btn-left .btn-main-ghost, .btn-left .btn-light, .btn-left .btn-light-s, .btn-left .btn-caution, .btn-left .btn-main-ghost, .btn-left .btn-arrow {
        margin: 15px 10px 15px 10px; } }

.btn-right {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end; }
  @media (max-width: 500px) {
    .btn-right {
      flex-direction: column;
      align-items: center; } }
  .btn-right .btn-main, .btn-right .btn-light, .btn-right .btn-light-s, .btn-right .btn-caution, .btn-right .btn-main-ghost, .btn-right .btn-light, .btn-right .btn-light-s, .btn-right .btn-caution, .btn-right .btn-main-ghost, .btn-right .btn-arrow {
    margin: 15px 0 15px 20px; }
    @media (max-width: 500px) {
      .btn-right .btn-main, .btn-right .btn-light, .btn-right .btn-light-s, .btn-right .btn-caution, .btn-right .btn-main-ghost, .btn-right .btn-light, .btn-right .btn-light-s, .btn-right .btn-caution, .btn-right .btn-main-ghost, .btn-right .btn-arrow {
        margin: 15px 10px 15px 10px; } }

/* form
------------------------------------------------------------
------------------------------------------------------------*/
/* iosデフォルトスタイルをリセット */
input[type="submit"],
input[type="reset"],
input[type="button"],
input[type="text"] {
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-transition: all .3s;
  transition: all .3s; }

input[type="submit"]::-webkit-search-decoration,
input[type="reset"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration,
input[type="text"]::-webkit-search-decoration {
  display: none; }

input[type="submit"]::focus,
input[type="reset"]::focus,
input[type="button"]::focus,
input[type="text"]::focus {
  outline-offset: -2px; }

input[type="checkbox"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

input[type="date"],
input[type="time"],
input[type="datetime-local"] {
  -webkit-appearance: none; }

input[type="date"]::-webkit-date-and-time-value,
input[type="time"]::-webkit-date-and-time-value {
  text-align: left; }

button {
  background: none;
  border: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-transition: all .3s;
  transition: all .3s; }

/* フォームパーツ */
input {
  height: 2.5em;
  margin: 5px 0;
  padding: 0.5em;
  border: solid 1px #c7c7c7;
  border-radius: 0;
  background: #fff;
  color: #333; }
  input.size-l {
    width: 100%; }
  input.size-m {
    width: 49%;
    margin-right: 1%; }
    @media (max-width: 768px) {
      input.size-m {
        width: 100%;
        margin-right: 0; } }
  input.size-s {
    width: 30%; }
    @media (max-width: 768px) {
      input.size-s {
        width: 50%; } }
  input.size-addition {
    width: calc(100% - 102px);
    margin-right: 1%; }

textarea {
  width: 100%;
  height: 8em;
  margin: 5px 0;
  padding: 0.5em;
  border: solid 1px #c7c7c7;
  border-radius: 0;
  display: block;
  background: #fff; }
  textarea.line-2 {
    height: 4.5em; }

::placeholder {
  color: #999; }

/* チェックボックス */
.checkbox {
  width: 2em;
  height: 2em;
  margin-right: 0.5em;
  position: relative;
  border: 1px solid #c7c7c7;
  border-radius: 0;
  vertical-align: -0.9em; }

.checkbox:checked:before {
  width: 10px;
  height: 20px;
  top: 4px;
  left: 10px;
  transform: rotate(50deg);
  border-right: 3px solid #2a456b;
  border-bottom: 3px solid #2a456b;
  content: '';
  position: absolute; }
  @media (max-width: 768px) {
    .checkbox:checked:before {
      width: 9px;
      height: 18px;
      top: 1px;
      left: 8px; } }

.checkbox-wrap {
  display: flex;
  flex-wrap: wrap; }
  @media (max-width: 500px) {
    .checkbox-wrap {
      display: flex;
      flex-direction: column; } }
  .checkbox-wrap label {
    margin-right: 1.5em; }
    @media (max-width: 500px) {
      .checkbox-wrap label {
        margin-right: 0; } }

/* セレクトボックス */
select {
  width: 100%;
  height: 2.5em;
  margin: 5px 0;
  padding: 0.5em;
  border: 1px solid #c7c7c7;
  border-radius: 0;
  background-color: rgba(255, 255, 255, 0);
  cursor: pointer;
  appearance: none;
  color: #333;
  position: relative;
  z-index: 1; }

.selectbox, .selectbox-period, .selectbox-number, .selectbox-search {
  width: 100%;
  display: inline-flex;
  align-items: center;
  position: relative; }
  .selectbox::after, .selectbox-period::after, .selectbox-number::after, .selectbox-search::after {
    content: "";
    width: 20px;
    height: 11px;
    display: inline-block;
    background: url("../images/common/icon_arrow_down.svg");
    background-size: 20px 11px;
    top: 50%;
    transform: translateY(-50%);
    right: 10px;
    position: absolute;
    /*z-index: -1;*/ }
  .selectbox::before, .selectbox-period::before, .selectbox-number::before, .selectbox-search::before {
    content: "";
    width: 100%;
    height: calc(100% - 10px);
    margin: 5px 0;
    background-color: #fff;
    background-size: 20px 11px;
    top: 0;
    left: 0;
    position: absolute; }
  .selectbox.size-l, .size-l.selectbox-period, .size-l.selectbox-number, .size-l.selectbox-search {
    width: 100%; }
  .selectbox.size-m, .size-m.selectbox-period, .size-m.selectbox-number, .size-m.selectbox-search {
    width: 49%;
    margin-right: 1%; }
    @media (max-width: 768px) {
      .selectbox.size-m, .size-m.selectbox-period, .size-m.selectbox-number, .size-m.selectbox-search {
        width: 100%; } }

select.select-text {
  color: #999; }

.selectbox-period {
  margin-right: 5px; }

.selectbox-number-wrap {
  margin-bottom: 10px;
  display: flex;
  align-items: center; }

.selectbox-number {
  width: 100px;
  margin: 0 0.5em;
  line-height: 1.6em; }

/*　トップページフューチャー用の検索　*/
.selectbox-search {
  width: 160px;
  line-height: 1.5em; }
  @media (max-width: 768px) {
    .selectbox-search {
      width: 140px; } }
  .selectbox-search::after {
    z-index: 0; }
  .selectbox-search::before {
    content: "";
    width: 100%;
    height: 2.5em;
    background-color: #fff;
    border-top: 1px solid #e1e1e1;
    border-bottom: 1px solid #e1e1e1;
    border-left: 1px solid #e1e1e1;
    position: absolute; }
  .selectbox-search select {
    border: none;
    background-color: rgba(42, 69, 107, 0.1);
    z-index: 1; }

.input-search {
  width: 340px;
  height: 2.5em;
  margin: 5px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  overflow: hidden;
  border: 1px solid #e1e1e1;
  background-color: #fff; }
  @media (max-width: 1200px) {
    .input-search {
      width: 220px; } }
  @media (max-width: 768px) {
    .input-search {
      width: 160px; } }
  .input-search input {
    width: 298px;
    border: none; }
    @media (max-width: 1200px) {
      .input-search input {
        width: 178px; } }
    @media (max-width: 768px) {
      .input-search input {
        width: 118px; } }
  .input-search button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 42px;
    height: 100%;
    border: none;
    background-color: transparent;
    cursor: pointer; }
    .input-search button::after {
      width: 22px;
      height: 22px;
      background-image: url("../images/common/icon_search.svg");
      background-repeat: no-repeat;
      content: ''; }

/*　下層ページ検索の大中小セレクトボックス　*/
.search-table td.stages-3 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center; }
  .search-table td.stages-3 .selectbox, .search-table td.stages-3 .selectbox-period, .search-table td.stages-3 .selectbox-number, .search-table td.stages-3 .selectbox-search {
    width: calc((98% - 150px) / 3); }
    @media (max-width: 500px) {
      .search-table td.stages-3 .selectbox, .search-table td.stages-3 .selectbox-period, .search-table td.stages-3 .selectbox-number, .search-table td.stages-3 .selectbox-search {
        width: calc(100% - 50px); } }
    .search-table td.stages-3 .selectbox:not(:last-child), .search-table td.stages-3 .selectbox-period:not(:last-child), .search-table td.stages-3 .selectbox-number:not(:last-child), .search-table td.stages-3 .selectbox-search:not(:last-child) {
      margin-right: 1%; }
      @media (max-width: 500px) {
        .search-table td.stages-3 .selectbox:not(:last-child), .search-table td.stages-3 .selectbox-period:not(:last-child), .search-table td.stages-3 .selectbox-number:not(:last-child), .search-table td.stages-3 .selectbox-search:not(:last-child) {
          margin-right: 0; } }
  .search-table td.stages-3 span {
    width: 50px;
    font-size: 14px; }

/*　カレンダー　*/
input[type="date"] {
  width: 100%;
  max-width: 190px;
  min-width: 130px;
  position: relative; }
  input[type="date"]::after {
    content: '';
    background-image: url("../images/common/icon_calendar.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: 0 0;
    width: 20px;
    height: 20px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 10px; }
  input[type="date"]::-webkit-calendar-picker-indicator {
    background: transparent;
    z-index: 1; }

/* トグルボタン */
.toggle {
  display: inline-block;
  width: 70px;
  height: 30px;
  border-radius: 10px;
  background-color: #ccc;
  border: 1px solid #ccc;
  cursor: pointer;
  position: relative; }
  .toggle::after {
    content: '';
    display: block;
    width: 34px;
    height: 24px;
    background-color: #fff;
    border-radius: 7px;
    cursor: pointer;
    transition: left 0.3s;
    position: absolute;
    top: 2px;
    left: 32px; }
  .toggle:checked {
    background-color: #2a456b;
    border: 1px solid #2a456b; }
    .toggle:checked::after {
      left: 2px; }

.toggle-wrap {
  width: 100%;
  max-width: 990px;
  padding-bottom: 40px;
  line-height: 1.6em;
  display: flex;
  align-items: center;
  flex-wrap: wrap; }
  .toggle-wrap p {
    width: 18%;
    font-weight: bold; }
    @media (max-width: 500px) {
      .toggle-wrap p {
        width: 30%; } }

/* ファイルアップロード */
.upload {
  min-width: 56px;
  height: 40px;
  margin-right: 5px;
  padding: 0 5px;
  color: #fff;
  background-color: #666;
  border: solid 1px #666;
  border-radius: 10px;
  font-weight: bold;
  font-size: 85%;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer; }
  @media (max-width: 1020px) {
    .upload {
      font-size: 14px; } }
  @media (max-width: 768px) {
    .upload {
      height: 36px;
      font-size: 13px; } }
  .upload:hover {
    background-color: #777;
    border: solid 1px #777;
    box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.3); }

input[type="file"] {
  display: none; }

.upload-text, .add-upload-text {
  width: 270px;
  margin-right: 10px; }
  @media (max-width: 1200px) {
    .upload-text, .add-upload-text {
      width: 250px; } }
  @media (max-width: 1020px) {
    .upload-text, .add-upload-text {
      width: calc(100% - 248px); } }
  @media (max-width: 500px) {
    .upload-text, .add-upload-text {
      width: 100%; } }

/* ラジオボタン */
.radio-wrap {
  display: flex;
  flex-wrap: wrap;
  border: none; }
  @media (max-width: 500px) {
    .radio-wrap {
      flex-direction: column; } }
  .radio-wrap label {
    margin-right: 1.5em;
    display: flex;
    align-items: center;
    position: relative;
    cursor: pointer; }
    @media (max-width: 500px) {
      .radio-wrap label {
        margin-right: 0; } }
    .radio-wrap label::before, .radio-wrap label::after {
      margin: 9px 0.5em 9px 0;
      content: ''; }
      @media (max-width: 768px) {
        .radio-wrap label::before, .radio-wrap label::after {
          margin: 6px 0.5em 6px 0; } }
    .radio-wrap label::before {
      width: 2em;
      height: 2em;
      border: 1px solid #c7c7c7;
      box-sizing: border-box;
      border-radius: 50%;
      background-color: #fff; }
    .radio-wrap label::after {
      position: absolute;
      top: 0.5em;
      left: 0.5em;
      width: 1em;
      height: 1em;
      background-color: #c7c7c7;
      border-radius: 50%; }
    .radio-wrap label:has(:checked)::after {
      background-color: #2a456b; }
  .radio-wrap input {
    display: none; }

/*　header　
------------------------------------------------------------
------------------------------------------------------------*/
#header {
  width: 100%;
  height: 100px;
  position: fixed;
  top: 0;
  left: 0;
  background-color: rgba(255, 255, 255, 0.9);
  box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.3);
  z-index: 100;
  display: flex;
  justify-content: space-between;
  align-items: center; }
  @media (max-width: 768px) {
    #header {
      height: 50px; } }
  #header h1 {
    width: 240px;
    height: auto;
    margin-left: 50px;
    display: flex;
    align-items: center;
    -webkit-transition: all .3s;
    transition: all .3s; }
    @media (max-width: 1020px) {
      #header h1 {
        margin-left: 1.5%; } }
    @media (max-width: 768px) {
      #header h1 {
        width: 136px;
        margin-left: 5%; } }
    #header h1 a {
      width: 75%; }
      #header h1 a:hover {
        opacity: 0.7; }

#header.scroll-header {
  height: 70px;
  -webkit-transition: all .3s;
  transition: all .3s; }
  #header.scroll-header h1 {
    width: 170px; }
    @media (max-width: 768px) {
      #header.scroll-header h1 {
        width: 136px; } }
  @media (max-width: 768px) {
    #header.scroll-header {
      height: 50px; } }

/*　footer　
------------------------------------------------------------
------------------------------------------------------------*/
footer {
  padding: 60px 0 20px 0;
  background-color: #2a456b;
  color: #fff;
  line-height: 1.6em;
  font-size: 14px; }
  @media (max-width: 768px) {
    footer {
      font-size: 13px; } }
  footer a {
    color: #fff; }
    footer a:hover {
      opacity: 0.6; }

.gradation {
  width: 100%;
  height: 200px;
  position: absolute;
  bottom: 0;
  right: 0;
  mix-blend-mode: multiply;
  background-position: center bottom;
  background-size: 200px 200px;
  background-image: url("../images/common/gradation.svg");
  background-repeat: repeat-x; }

.footer {
  padding-bottom: 40px;
  position: relative;
  display: flex;
  justify-content: space-between; }
  @media (max-width: 768px) {
    .footer {
      flex-direction: column; } }

.footer-address {
  width: 48%; }
  @media (max-width: 768px) {
    .footer-address {
      width: 100%; } }
  .footer-address .footer-logo {
    padding-bottom: 30px;
    margin-bottom: 30px;
    border-bottom: solid 1px rgba(255, 255, 255, 0.3); }
    .footer-address .footer-logo img {
      width: 100%;
      max-width: 330px; }
      @media (max-width: 768px) {
        .footer-address .footer-logo img {
          width: 230px; } }
  .footer-address .footer-management {
    margin: 20px 0;
    display: flex;
    align-items: center;
    font-weight: bold;
    font-size: 16px; }
    @media (max-width: 768px) {
      .footer-address .footer-management {
        font-size: 13px; } }
    .footer-address .footer-management img {
      width: 60px;
      height: auto;
      margin-right: 20px; }
      @media (max-width: 768px) {
        .footer-address .footer-management img {
          width: 35px;
          margin-right: 10px; } }
  .footer-address .footer-sns {
    margin-top: 30px;
    display: flex; }
    @media (max-width: 768px) {
      .footer-address .footer-sns {
        margin: 30px 0;
        flex-direction: column; } }
    .footer-address .footer-sns a {
      margin-right: 20px;
      display: flex;
      align-items: center; }
      .footer-address .footer-sns a img {
        width: 40px;
        height: auto; }

.footer-list {
  width: 48%;
  display: flex; }
  @media (max-width: 768px) {
    .footer-list {
      width: 100%;
      flex-direction: column; } }
  .footer-list ul {
    width: 50%;
    padding-left: 10px; }
    @media (max-width: 768px) {
      .footer-list ul {
        width: 100%;
        padding-left: 0; } }
    .footer-list ul a {
      width: 100%;
      padding: 5px 0;
      display: block; }
      @media (max-width: 768px) {
        .footer-list ul a {
          padding: 10px 0; } }
      .footer-list ul a img {
        width: 14px;
        height: auto;
        margin: 0 0 -2px 5px;
        display: inline; }

.copyright {
  text-align: center;
  font-size: 11px; }
  @media (max-width: 768px) {
    .copyright {
      padding: 0 5%;
      text-align: left;
      font-size: 10px; } }

/* ページトップ */
#page-top {
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 10;
  opacity: 0;
  transform: translateY(150px); }

#page-top.UpMove {
  animation: UpAnime 0.5s forwards; }

@keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(150px); }
  to {
    opacity: 1;
    transform: translateY(0); } }
#page-top.DownMove {
  animation: DownAnime 0.5s forwards; }

@keyframes DownAnime {
  from {
    opacity: 1;
    transform: translateY(0); }
  to {
    opacity: 1;
    transform: translateY(150px); } }
#page-top a {
  display: block;
  width: 70px;
  height: 70px;
  margin: 15px;
  background: url("../images/common/pagetop.svg") no-repeat center;
  background-size: cover;
  background-position: center center;
  -webkit-transition: all .3s;
  transition: all .3s; }
  @media (max-width: 500px) {
    #page-top a {
      width: 50px;
      height: 50px;
      margin: 15px; } }
  #page-top a:hover {
    opacity: 0.6; }

/* cookie */
.cookie-consent {
  width: calc(100% - 130px);
  padding: 20px 60px 20px 30px;
  display: flex;
  align-items: center;
  position: fixed;
  bottom: 0;
  background: linear-gradient(to right, rgba(0, 0, 0, 0.9) 85%, rgba(0, 0, 0, 0) 100%);
  visibility: hidden;
  z-index: 11;
  text-shadow: #333 0 0 6px; }
  @media (max-width: 500px) {
    .cookie-consent {
      width: calc(100% - 80px);
      padding: 20px 5%;
      flex-direction: column;
      align-items: flex-start;
      background: rgba(0, 0, 0, 0.85); } }
  .cookie-consent a {
    color: #fff; }
  .cookie-consent.is-show {
    visibility: visible; }

.cookie-agree:hover {
  cursor: pointer; }
.cookie-agree img {
  width: 20px;
  height: 20px;
  margin-right: 30px; }
  @media (max-width: 500px) {
    .cookie-agree img {
      margin-bottom: 10px; } }

.cookie-text {
  font-size: 12px;
  line-height: 1.4em;
  color: #fff; }
  .cookie-text a {
    text-decoration: underline; }

/* cookie パッと消える */
.cc-hide1 {
  display: none; }

/* cookie ゆっくり消える */
.cc-hide2 {
  animation: hide 1s linear 0s;
  animation-fill-mode: forwards; }

@keyframes hide {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    visibility: hidden; } }
/*
------------------------------------------------------------
------------------------------------------------------------
ページごとの個別スタイル
------------------------------------------------------------
------------------------------------------------------------*/
/* トップページ
------------------------------------------------------------*/
/* メインビジュアル */
.main-visual-wrap {
  height: 600px;
  margin-bottom: 100px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end; }
  @media (max-width: 1200px) {
    .main-visual-wrap {
      height: 500px; } }
  @media (max-width: 768px) {
    .main-visual-wrap {
      height: 450px;
      margin-bottom: 90px; } }
  .main-visual-wrap .scroll {
    font-family: "Poppins", sans-serif;
    font-weight: 400;
    font-style: normal;
    margin: 0 1%;
    padding-bottom: 55px;
    font-size: 14px;
    writing-mode: vertical-rl;
    position: relative;
    display: inline-block; }
    @media (max-width: 500px) {
      .main-visual-wrap .scroll {
        display: none; } }
    .main-visual-wrap .scroll::before {
      content: '';
      position: absolute;
      bottom: 0;
      left: 50%;
      width: 1px;
      height: 50px;
      background: #333; }
    .main-visual-wrap .scroll::after {
      content: '';
      position: absolute;
      bottom: 5px;
      left: 42%;
      width: 15px;
      height: 1px;
      background: #333;
      transform: rotate(-50deg); }

.main-visual {
  width: 96%;
  height: 100%;
  padding: 100px 0 0 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: url("../images/top/top_main-visual.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  border-radius: 0 0 100px 0;
  animation: fadeIn 1.5s ease 0s 1 normal;
  -webkit-animation: fadeIn 1.5s ease 0s 1 normal;
  -webkit-transition: all .3s;
  transition: all .3s; }
  @media (max-width: 1200px) {
    .main-visual {
      border-radius: 0 0 80px 0;
      background-position: left -80px center; } }
  @media (max-width: 768px) {
    .main-visual {
      padding: 50px 0 0 0;
      border-radius: 0 0 70px 0;
      background-position: left -60px center; } }
  @media (max-width: 500px) {
    .main-visual {
      width: 100%;
      padding: 100px 0 0 0;
      flex-direction: column;
      background-image: url("../images/top/top_main-visual_sp.jpg");
      background-position: center center; } }
  .main-visual form {
    padding: 30px 0 20px 0; }
    @media (max-width: 1200px) {
      .main-visual form {
        padding: 20px 0 10px 0; } }
    @media (max-width: 768px) {
      .main-visual form {
        padding: 20px 0 0 0; } }

.main-visual-logo {
  width: 430px;
  margin: 0 5% 0 1%;
  filter: drop-shadow(0 0 6px #123a37);
  -webkit-transition: all .3s;
  transition: all .3s; }
  @media (max-width: 1200px) {
    .main-visual-logo {
      width: 300px; } }
  @media (max-width: 1020px) {
    .main-visual-logo {
      width: 260px; } }
  @media (max-width: 768px) {
    .main-visual-logo {
      width: 220px; } }
  @media (max-width: 500px) {
    .main-visual-logo {
      margin: 0 0 40px 0; } }

/* フェードイン */
@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
/* テキストアニメーション */
.main-visual-text-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start; }

.main-visual-text,
.main-visual-text::after {
  animation-delay: var(--animation-delay, 3s);
  animation-iteration-count: var(--iterations, 1);
  animation-duration: var(--duration, 800ms);
  animation-fill-mode: both;
  animation-timing-function: cubic-bezier(0, 0, 0.2, 1); }

.main-visual-text {
  margin: 5px 0;
  --animation-delay: var(--delay, 0);
  --animation-duration: var(--duration, 800ms);
  --animation-iterations: var(--iterations, 1);
  position: relative;
  font-weight: bold;
  font-feature-settings: "palt";
  animation-name: clip-text;
  color: #fff;
  white-space: nowrap;
  cursor: default;
  background-color: #1f5b58;
  -webkit-transition: all .3s;
  transition: all .3s; }
  .main-visual-text:not(:last-child) {
    padding: 7px 10px;
    font-size: 22px; }
  .main-visual-text:last-child {
    padding: 10px;
    font-size: 28px; }
  @media (max-width: 1200px) {
    .main-visual-text:not(:last-child) {
      font-size: 19px; }
    .main-visual-text:last-child {
      font-size: 24px; } }
  @media (max-width: 1020px) {
    .main-visual-text:not(:last-child) {
      font-size: 16px; }
    .main-visual-text:last-child {
      font-size: 20px; } }
  @media (max-width: 768px) {
    .main-visual-text {
      margin: 4px 0; }
      .main-visual-text:not(:last-child) {
        padding: 2px 6px;
        font-size: 13px; }
      .main-visual-text:last-child {
        padding: 4px 6px;
        font-size: 17px; } }
  @media (max-width: 500px) {
    .main-visual-text:not(:last-child) {
      font-size: 12px; }
    .main-visual-text:last-child {
      font-size: 15px; } }
  @media (max-width: 320px) {
    .main-visual-text:not(:last-child) {
      font-size: 10px; }
    .main-visual-text:last-child {
      font-size: 13px; } }
  .main-visual-text::after {
    content: "";
    position: absolute;
    z-index: 999;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #fff;
    transform: scaleX(0);
    transform-origin: 0 50%;
    pointer-events: none;
    animation-name: text-revealer; }

@keyframes clip-text {
  from {
    clip-path: inset(0 100% 0 0); }
  to {
    clip-path: inset(0 0 0 0); } }
@keyframes text-revealer {
  0%, 50% {
    transform-origin: 0 50%; }
  60%, 100% {
    transform-origin: 100% 50%; }
  60% {
    transform: scaleX(1); }
  100% {
    transform: scaleX(0); } }
/* 最近追加された製品 */
.top-addition {
  margin: 0 auto 100px auto; }
  @media (max-width: 768px) {
    .top-addition {
      margin: 0 auto 90px auto; } }
  .top-addition .epd-box {
    border: solid 1px #e1e1e1; }
  .top-addition .common-title {
    text-align: left; }
    .top-addition .common-title h3 {
      color: #2a456b; }
      .top-addition .common-title h3::before {
        border-left: 16px solid #2a456b; }
      .top-addition .common-title h3::after {
        display: none; }

/* プログラムの紹介 */
.top-intro-wrap {
  background-color: #f7f7f7; }

/*.top-intro-lead{
	padding: 100px 5%;
	color: #fff;
	text-shadow: $text-color 0 0 6px;
	text-align: center;
	background-image: url("../images/top/top_bk_greenblur.jpg") ;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	@include tb{
		padding: 60px 5%;
	}
	@include sp{
		padding: 60px 0;
		text-align: left;
	}
	.lead{
		padding: 20px 40px;
		font-size: 42px;
		font-weight: bold;
		position: relative;
		line-height: 1.6em;
		@include tb{
			font-size: 20px;
		}
		@include sp{
			padding: 20px;
		}
		@include spSE{
			text-align: left;
		}
		&::before,
		&::after {
			width: 60px;
			height: 60px;
			position: absolute;
			content: '';
			filter: drop-shadow( 0 0 6px $text-color);
			color: $base-color;
		}
		&::before {
			border-left: solid 2px;
			border-top: solid 2px;
			top: 0;
			left: 0;
		}
		&::after {
			border-right: solid 2px;
			border-bottom: solid 2px;
			bottom: 0;
			right: 0;
		}
		span{
			@include en-font-regular;
			font-size: 16px;
			@include tb{
				font-size: 14px;
			}
		}
	}
}*/
.top-intro-lead {
  padding: 0 5% 100px 5%;
  color: #123a37;
  text-align: center;
  background-color: #fff; }
  @media (max-width: 768px) {
    .top-intro-lead {
      padding: 0 5% 60px 5%; } }
  @media (max-width: 500px) {
    .top-intro-lead {
      padding: 0 0 60px 0; } }
  @media (max-width: 320px) {
    .top-intro-lead {
      text-align: left; } }
  .top-intro-lead .lead {
    padding: 20px 40px;
    font-size: 42px;
    font-weight: bold;
    position: relative;
    line-height: 1.6em; }
    @media (max-width: 768px) {
      .top-intro-lead .lead {
        font-size: 20px; } }
    @media (max-width: 500px) {
      .top-intro-lead .lead {
        padding: 20px; } }
    .top-intro-lead .lead::before, .top-intro-lead .lead::after {
      width: 60px;
      height: 60px;
      position: absolute;
      content: '';
      color: #123a37; }
    .top-intro-lead .lead::before {
      border-left: solid 2px;
      border-top: solid 2px;
      top: 0;
      left: 0; }
    .top-intro-lead .lead::after {
      border-right: solid 2px;
      border-bottom: solid 2px;
      bottom: 0;
      right: 0; }
    .top-intro-lead .lead span {
      font-family: "Poppins", sans-serif;
      font-weight: 400;
      font-style: normal;
      font-size: 16px; }
      @media (max-width: 768px) {
        .top-intro-lead .lead span {
          font-size: 14px; } }

.top-intro {
  padding: 100px 0;
  display: flex;
  justify-content: space-between;
  align-items: center; }
  @media (max-width: 768px) {
    .top-intro {
      padding: 60px 0; } }
  @media (max-width: 500px) {
    .top-intro {
      flex-direction: column; } }
  .top-intro p {
    width: 45%; }
    @media (max-width: 500px) {
      .top-intro p {
        width: 100%; } }
  .top-intro img {
    width: 340px;
    height: auto;
    margin: 0 auto; }
    @media (max-width: 768px) {
      .top-intro img {
        width: 240px; } }
    @media (max-width: 500px) {
      .top-intro img {
        margin: 0 auto 50px auto; } }

/* 新着情報 */
.top-news-wrap {
  margin: 100px auto; }
  @media (max-width: 768px) {
    .top-news-wrap {
      margin: 90px auto; } }
  .top-news-wrap .common-title {
    text-align: left; }
    .top-news-wrap .common-title h3 {
      color: #2a456b; }
      .top-news-wrap .common-title h3::before {
        border-left: 16px solid #2a456b; }
      .top-news-wrap .common-title h3::after {
        display: none; }

.top-news {
  margin-bottom: 40px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  @media (max-width: 768px) {
    .top-news {
      flex-direction: column; } }

.top-news-box {
  width: 48%;
  padding: 20px 0;
  position: relative;
  /* 最新のニュース1件 */ }
  .top-news-box:nth-child(odd)::after {
    content: '';
    width: 105%;
    height: 1px;
    display: inline-block;
    background-color: #e1e1e1;
    position: absolute;
    bottom: 0;
    right: 0; }
  .top-news-box:nth-child(even)::after {
    content: '';
    width: 105%;
    height: 1px;
    display: inline-block;
    background-color: #e1e1e1;
    position: absolute;
    bottom: 0;
    left: 0; }
  .top-news-box:nth-child(even)::before {
    content: '';
    width: 1px;
    height: 80%;
    display: inline-block;
    background-color: #e1e1e1;
    position: absolute;
    bottom: 10%;
    right: -20px; }
  @media (max-width: 1020px) {
    .top-news-box {
      width: 100%;
      margin: 0;
      padding: 10px 0; }
      .top-news-box:nth-child(odd)::after, .top-news-box:nth-child(even)::after {
        width: 100%;
        bottom: 0;
        left: 0; }
      .top-news-box:nth-child(even)::before {
        display: none; } }
  .top-news-box a {
    width: 100%;
    height: 100%;
    padding: 10px 10px 10px 0;
    display: flex;
    align-items: stretch;
    align-content: stretch; }
    @media (max-width: 768px) {
      .top-news-box a {
        padding: 10px 0; } }
    @media (max-width: 320px) {
      .top-news-box a {
        flex-direction: column; } }
    .top-news-box a .date {
      padding-left: 20px;
      font-weight: bold; }
      @media (max-width: 768px) {
        .top-news-box a .date {
          padding-left: 10px; } }
    .top-news-box a .top-news-title {
      padding: 10px 0 0 20px;
      font-weight: bold;
      line-height: 1.6em; }
      @media (max-width: 768px) {
        .top-news-box a .top-news-title {
          padding: 10px 0 0 0; } }
    .top-news-box a .top-news-text {
      margin: 10px 0 0 20px;
      overflow: hidden; }
      @media (max-width: 768px) {
        .top-news-box a .top-news-text {
          margin: 10px 0 0 0; } }
      .top-news-box a .top-news-text p {
        width: 100%;
        padding-right: 1em;
        font-size: 16px;
        height: 51.2px;
        line-height: 1.6em;
        position: relative; }
        @media (max-width: 768px) {
          .top-news-box a .top-news-text p {
            font-size: 14px;
            height: 44.8px; } }
        .top-news-box a .top-news-text p:before, .top-news-box a .top-news-text p:after {
          background: #fff;
          position: absolute;
          -webkit-transition: all .3s;
          transition: all .3s; }
        .top-news-box a .top-news-text p:before {
          content: "…";
          top: 25.6px;
          right: 0; }
          @media (max-width: 768px) {
            .top-news-box a .top-news-text p:before {
              top: 22.4px; } }
        .top-news-box a .top-news-text p:after {
          content: "";
          height: 100%;
          width: 100%; }
    .top-news-box a .top-news-img {
      margin: 0 0 0 15px;
      display: flex;
      justify-content: center;
      align-items: center; }
      @media (max-width: 320px) {
        .top-news-box a .top-news-img {
          margin: 15px 0 0 0; } }
      .top-news-box a .top-news-img img {
        width: 200px;
        height: 200px;
        object-fit: cover; }
        @media (max-width: 768px) {
          .top-news-box a .top-news-img img {
            width: 120px;
            height: 120px; } }
    .top-news-box a:hover {
      background-color: #e7e7e7;
      opacity: 0.7; }
      .top-news-box a:hover .top-news-text p:before, .top-news-box a:hover .top-news-text p:after {
        background-color: #e7e7e7; }
  .top-news-box:first-child {
    width: 100%; }
    .top-news-box:first-child:nth-child(odd)::after {
      display: none; }
    .top-news-box:first-child a {
      padding: 20px 20px 20px 0;
      border: solid 1px #e1e1e1; }
      @media (max-width: 500px) {
        .top-news-box:first-child a {
          padding: 5% 5% 5% 0;
          flex-direction: column; } }
      .top-news-box:first-child a div {
        width: 100%; }
      .top-news-box:first-child a .top-news-title {
        padding: 30px 0 0 20px;
        font-size: 20px; }
        @media (max-width: 768px) {
          .top-news-box:first-child a .top-news-title {
            padding: 20px 0 0 20px;
            font-size: 18px; } }
        @media (max-width: 500px) {
          .top-news-box:first-child a .top-news-title {
            padding: 20px 0 0 5%;
            font-size: 16px; } }
      .top-news-box:first-child a .top-news-text {
        width: calc(100% - 20px);
        margin: 20px 20px 0 20px; }
        @media (max-width: 768px) {
          .top-news-box:first-child a .top-news-text {
            margin: 10px 0 0 20px; } }
        @media (max-width: 500px) {
          .top-news-box:first-child a .top-news-text {
            margin: 10px 0 0 5%; } }
      .top-news-box:first-child a .top-news-img {
        margin: 0 0 0 20px; }
        @media (max-width: 500px) {
          .top-news-box:first-child a .top-news-img {
            margin: 20px 0 0 5%; } }
        .top-news-box:first-child a .top-news-img img {
          width: 240px;
          height: 240px; }
          @media (max-width: 768px) {
            .top-news-box:first-child a .top-news-img img {
              width: 200px;
              height: 200px; } }

/* 新着情報アイコン */
.icon-epd, .icon-pcr, .icon-seminar, .icon-event, .icon-info {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-style: normal;
  width: 110px;
  color: #fff;
  background-color: #419591;
  font-size: 14px;
  text-align: center;
  border-radius: 0 10px 10px 0;
  z-index: 1; }

.icon-epd {
  background-color: #416791; }

.icon-pcr {
  background-color: #41938f; }

.icon-seminar {
  background-color: #e27e62; }

.icon-event {
  background-color: #937460; }

.icon-info {
  background-color: #999; }

/* 動画 */
.top-video {
  padding: 100px 0;
  background: linear-gradient(180deg, #fff 0%, #fff 19%, #dfe2e5 19%, #dfe2e5 100%); }
  @media (max-width: 768px) {
    .top-video {
      padding: 90px 0; } }
  @media (max-width: 500px) {
    .top-video {
      background: linear-gradient(180deg, #fff 0%, #fff 24%, #dfe2e5 24%, #dfe2e5 100%); } }
  .top-video .common-title h3 {
    color: #2a456b; }
    .top-video .common-title h3::before {
      border-left: 16px solid #2a456b; }
    .top-video .common-title h3::after {
      border-right: 16px solid #2a456b; }

.iframe-video-wrap {
  width: 90%;
  max-width: 800px;
  margin: 60px auto 0 auto; }
  @media (max-width: 768px) {
    .iframe-video-wrap {
      margin: 50px auto 0 auto; } }

.iframe-video {
  width: 100%;
  padding-bottom: 56.25%;
  position: relative;
  border: 1px solid #e1e1e1; }
  .iframe-video iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0; }

.iframe-img {
  width: 80%;
  margin: 0 auto; }

/* footer上リンクボックスエリア */
.link-box-wrap {
  padding: 90px 5%;
  background-color: #ededed;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  -webkit-transition: all .3s;
  transition: all .3s; }
  @media (max-width: 1200px) {
    .link-box-wrap {
      padding: 90px 2%; } }
  @media (max-width: 1020px) {
    .link-box-wrap {
      padding: 50px 1%; } }
  @media (max-width: 500px) {
    .link-box-wrap {
      padding: 50px 5%; } }

.link-box {
  width: 19%;
  margin: 0 0.5%;
  background-color: #fff;
  -webkit-transition: all .3s;
  transition: all .3s; }
  @media (max-width: 1020px) {
    .link-box {
      width: 31%;
      margin: 10px 1%; } }
  @media (max-width: 500px) {
    .link-box {
      width: 90%;
      margin: 10px 5%; } }
  .link-box a .link-box-img {
    width: 100%; }
    .link-box a .link-box-img img {
      width: 100%;
      height: 170px;
      object-fit: cover; }
      @media (max-width: 1200px) {
        .link-box a .link-box-img img {
          height: 120px; } }
      @media (max-width: 1020px) {
        .link-box a .link-box-img img {
          height: 100px; } }
      @media (max-width: 1020px) {
        .link-box a .link-box-img img.img {
          display: none; } }
      .link-box a .link-box-img img.img-s {
        display: none; }
        @media (max-width: 1020px) {
          .link-box a .link-box-img img.img-s {
            display: block; } }
  .link-box a .link-box-logo {
    margin: 0 15px;
    border-bottom: solid 1px #e1e1e1; }
    .link-box a .link-box-logo img {
      width: 100%;
      height: 170px;
      padding: 30px;
      object-fit: contain; }
      @media (max-width: 1200px) {
        .link-box a .link-box-logo img {
          height: 120px;
          padding: 20px; } }
      @media (max-width: 1020px) {
        .link-box a .link-box-logo img {
          height: 100px;
          padding: 15px; } }
  .link-box a .link-box-text {
    padding: 15px;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.4em; }
    @media (max-width: 1200px) {
      .link-box a .link-box-text {
        font-size: 18px; } }
    @media (max-width: 768px) {
      .link-box a .link-box-text {
        font-size: 16px; } }
    .link-box a .link-box-text span {
      font-family: "Poppins", sans-serif;
      font-weight: 400;
      font-style: normal;
      font-size: 16px;
      color: #999; }
      @media (max-width: 1200px) {
        .link-box a .link-box-text span {
          font-size: 14px; } }
      @media (max-width: 768px) {
        .link-box a .link-box-text span {
          font-size: 12px; } }
  .link-box a:hover {
    opacity: 0.7; }
  .link-box:hover {
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2); }

/* 下層ページ共通
------------------------------------------------------------
------------------------------------------------------------*/
/* ページタイトル */
.page-title-wrap {
  margin-bottom: 90px;
  padding-top: 100px; }
  @media (max-width: 768px) {
    .page-title-wrap {
      margin-bottom: 60px;
      padding-top: 50px; } }

.page-title {
  width: 100%;
  height: 300px;
  margin-top: -100px;
  padding-top: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  border-radius: 0 0 100px 0;
  -webkit-transition: all .3s;
  transition: all .3s;
  /* ヘッダー画像変更 */
  /* ヘッダー文字色変更 */ }
  .page-title.epd-l, .page-title.pcr-l, .page-title.about-l, .page-title.cooperation-l {
    height: 460px;
    background: url("../images/epd/header_epd_l.jpg");
    background-size: cover;
    background-position: center center;
    display: flex;
    flex-direction: column; }
    @media (max-width: 768px) {
      .page-title.epd-l, .page-title.pcr-l, .page-title.about-l, .page-title.cooperation-l {
        height: 220px; } }
    .page-title.epd-l img, .page-title.pcr-l img, .page-title.about-l img, .page-title.cooperation-l img {
      width: 110px;
      height: auto;
      margin-bottom: 25px;
      filter: drop-shadow(0 0 3px rgba(0, 0, 0, 0.5)); }
      @media (max-width: 768px) {
        .page-title.epd-l img, .page-title.pcr-l img, .page-title.about-l img, .page-title.cooperation-l img {
          width: 60px;
          margin-bottom: 15px; } }
    .page-title.epd-l p, .page-title.pcr-l p, .page-title.about-l p, .page-title.cooperation-l p {
      font-family: "Poppins", sans-serif;
      font-weight: 400;
      font-style: normal;
      padding-top: 20px;
      color: #fff;
      text-shadow: #333 0 0 4px;
      line-height: 1em;
      font-size: 14px; }
      @media (max-width: 768px) {
        .page-title.epd-l p, .page-title.pcr-l p, .page-title.about-l p, .page-title.cooperation-l p {
          padding-top: 10px;
          font-size: 12px; } }
  .page-title.epd {
    background: url("../images/epd/header_epd.jpg");
    background-size: cover;
    background-position: center center; }
  .page-title.pcr-l {
    background: url("../images/pcr/header_pcr_l.jpg");
    background-size: cover;
    background-position: center center; }
  .page-title.pcr {
    background: url("../images/pcr/header_pcr.jpg");
    background-size: cover;
    background-position: center center; }
  .page-title.company {
    background: url("../images/company/header_company.jpg");
    background-size: cover;
    background-position: center center; }
  .page-title.about-l {
    background: url("../images/about/header_about_l.jpg");
    background-size: cover;
    background-position: center center; }
    .page-title.about-l img {
      width: 200px; }
      @media (max-width: 768px) {
        .page-title.about-l img {
          width: 100px; } }
  .page-title.about {
    background: url("../images/about/header_about.jpg");
    background-size: cover;
    background-position: center center; }
    @media (max-width: 500px) {
      .page-title.about {
        background: url("../images/about/header_about.jpg");
        background-size: cover;
        background-position: right -260px center; } }
  .page-title.cooperation-l {
    background: url("../images/coop/header_coop_l.jpg");
    background-size: cover;
    background-position: center center; }
  .page-title.cooperation {
    background: url("../images/coop/header_coop.jpg");
    background-size: cover;
    background-position: center center; }
  .page-title.seminar {
    background: url("../images/seminar/header_seminar.jpg");
    background-size: cover;
    background-position: center center; }
  .page-title.resource {
    background: url("../images/resource/header_resource.jpg");
    background-size: cover;
    background-position: center center; }
  .page-title.news {
    background: url("../images/news/header_news.jpg");
    background-size: cover;
    background-position: right center; }
  .page-title.common {
    background: url("../images/common/header_common.jpg");
    background-size: cover;
    background-position: center center; }
  .page-title.terms {
    background: url("../images/terms/header_terms.jpg");
    background-size: cover;
    background-position: center center; }
  .page-title.faq {
    background: url("../images/faq/header_faq.jpg");
    background-size: cover;
    background-position: center center; }
  .page-title.glossary {
    background: url("../images/glossary/header_glossary.jpg");
    background-size: cover;
    background-position: center center; }
  .page-title.mypage {
    background: url("../images/mypage/header_mypage.jpg");
    background-size: cover;
    background-position: right center; }
    @media (max-width: 1200px) {
      .page-title.mypage {
        background: url("../images/mypage/header_mypage.jpg");
        background-size: cover;
        background-position: right -150px center; } }
    @media (max-width: 768px) {
      .page-title.mypage {
        background: url("../images/mypage/header_mypage.jpg");
        background-size: cover;
        background-position: right -100px center; } }
  @media (max-width: 768px) {
    .page-title {
      height: 170px;
      border-radius: 0 0 50px 0;
      margin-top: -50px;
      padding-top: 50px; } }
  .page-title h2 {
    padding: 0 10px;
    font-size: 50px;
    font-weight: bold;
    text-align: center;
    line-height: 1.2em;
    font-feature-settings: "palt";
    color: #fff;
    text-shadow: #333 0 0 6px; }
    @media (max-width: 768px) {
      .page-title h2 {
        font-size: 23px; } }
  .page-title.mypage h2 {
    color: #333;
    text-shadow: none; }

/* タイトル */
.content-title-l {
  margin-bottom: 60px;
  font-size: 40px;
  font-weight: bold;
  line-height: 1.4em;
  font-feature-settings: "palt"; }
  @media (max-width: 768px) {
    .content-title-l {
      margin-bottom: 50px;
      font-size: 20px; } }

.content-title-m {
  margin: 60px 0 50px 0;
  font-size: 18px;
  font-weight: bold;
  border-bottom: solid 1px #333; }
  @media (max-width: 768px) {
    .content-title-m {
      margin: 50px 0 30px 0; } }

.content-title-s {
  margin: 50px 0 30px 0;
  font-size: 18px;
  font-weight: bold; }
  @media (max-width: 768px) {
    .content-title-s {
      margin: 30px 0 20px 0;
      font-size: 16px; } }

.lead {
  padding: 30px;
  font-size: 24px;
  position: relative;
  line-height: 1.6em;
  display: inline-block; }
  @media (max-width: 768px) {
    .lead {
      padding: 5%;
      font-size: 18px; } }
  .lead::before, .lead::after {
    width: 60px;
    height: 60px;
    position: absolute;
    content: '';
    color: #333; }
  .lead::before {
    border-left: solid 1px;
    border-top: solid 1px;
    top: 0;
    left: 0; }
  .lead::after {
    border-right: solid 1px;
    border-bottom: solid 1px;
    bottom: 0;
    right: 0; }

/* パンくず */
.pankuzu {
  min-height: 60px;
  padding: 0 50px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  font-size: 16px;
  line-height: 1.4em; }
  @media (max-width: 1020px) {
    .pankuzu {
      padding: 0 1.5%;
      font-size: 14px; } }
  .pankuzu li, .pankuzu p {
    padding-left: 5px; }
    .pankuzu li:not(:last-child)::after, .pankuzu p:not(:last-child)::after {
      content: ">";
      padding-left: 5px; }
    .pankuzu li a, .pankuzu p a {
      color: #368cc6;
      text-decoration: underline;
      -webkit-transition: all .3s;
      transition: all .3s; }
      .pankuzu li a:hover, .pankuzu p a:hover {
        opacity: 0.6; }
  .pankuzu li br {
    display: none; }

/* 段組み */
.col-2 {
  display: flex;
  justify-content: space-between;
  align-items: flex-start; }
  @media (max-width: 500px) {
    .col-2 {
      flex-direction: column; } }
  .col-2 .col-2-inner {
    width: 45%; }
    @media (max-width: 500px) {
      .col-2 .col-2-inner {
        width: 100%; } }
    .col-2 .col-2-inner .img-100 {
      margin: 0; }
      @media (max-width: 500px) {
        .col-2 .col-2-inner .img-100 {
          margin: 20px 0; } }
    .col-2 .col-2-inner .content-title-m {
      margin: 0 0 50px 0; }
      @media (max-width: 500px) {
        .col-2 .col-2-inner .content-title-m {
          margin: 0 0 30px 0; } }
    .col-2 .col-2-inner .content-title-s {
      margin: 0 0 30px 0; }
      @media (max-width: 500px) {
        .col-2 .col-2-inner .content-title-s {
          margin: 30px 0 20px 0; } }
    @media (max-width: 500px) {
      .col-2 .col-2-inner:nth-child(2).table, .col-2 .col-2-inner.table-simple:nth-child(2) {
        margin-top: 20px; } }
    .col-2 .col-2-inner.table th, .col-2 .col-2-inner.table-simple th {
      padding: 0 10px 15px 10px; }
      @media (max-width: 768px) {
        .col-2 .col-2-inner.table th, .col-2 .col-2-inner.table-simple th {
          padding: 0 5px 10px 5px; } }
      @media (max-width: 500px) {
        .col-2 .col-2-inner.table th, .col-2 .col-2-inner.table-simple th {
          padding: 10px 5px; } }

.col-3 {
  display: flex;
  justify-content: space-between;
  align-items: flex-start; }
  @media (max-width: 500px) {
    .col-3 {
      width: 82%;
      margin: 0 auto;
      flex-direction: column; } }
  .col-3 .col-3-inner {
    width: 29%; }
    @media (max-width: 500px) {
      .col-3 .col-3-inner {
        width: 100%; } }
    .col-3 .col-3-inner .img-100 {
      margin: 0; }
      @media (max-width: 500px) {
        .col-3 .col-3-inner .img-100 {
          margin: 20px 0; } }
    .col-3 .col-3-inner .content-title-s {
      margin: 0 0 30px 0; }
      @media (max-width: 500px) {
        .col-3 .col-3-inner .content-title-s {
          margin: 30px 0 20px 0; } }

.col-2 + .col-2,
.col-3 + .col-3,
.col-2 + .col-3,
.col-3 + .col-2,
.col-2 + .content-title-m,
.col-3 + .content-title-m {
  margin-top: 90px; }
  @media (max-width: 768px) {
    .col-2 + .col-2,
    .col-3 + .col-3,
    .col-2 + .col-3,
    .col-3 + .col-2,
    .col-2 + .content-title-m,
    .col-3 + .content-title-m {
      margin-top: 60px; } }

@media (max-width: 500px) {
  .col-2 .col-2-inner:first-child .content-title-m,
  .col-2 .col-2-inner:first-child .content-title-s,
  .col-2 .col-2-inner:first-child .img-100,
  .col-3 .col-3-inner:first-child .content-title-m,
  .col-3 .col-3-inner:first-child .content-title-s,
  .col-3 .col-3-inner:first-child .img-100 {
    margin-top: 0; } }

@media (max-width: 500px) {
  .col-2 .col-2-inner:nth-child(2) .img-100 {
    margin-bottom: 0; } }

/* 画像 */
.img-100 {
  margin: 20px 0; }

.img-90-adj {
  width: 90%;
  margin: 20px 0; }
  .img-90-adj.center {
    margin: 20px auto; }
  @media (max-width: 500px) {
    .img-90-adj {
      width: 100%; } }

.img-80 {
  width: 80%;
  margin: 20px 0; }
  .img-80.center {
    margin: 20px auto; }

.img-80-adj {
  width: 80%;
  margin: 20px 0; }
  .img-80-adj.center {
    margin: 20px auto; }
  @media (max-width: 500px) {
    .img-80-adj {
      width: 100%; } }

.img-60 {
  width: 60%;
  margin: 20px 0; }
  .img-60.center {
    margin: 20px auto; }

.img-60-adj {
  width: 60%;
  margin: 20px 0; }
  .img-60-adj.center {
    margin: 20px auto; }
  @media (max-width: 500px) {
    .img-60-adj {
      width: 80%; } }

.img-30 {
  width: 30%;
  margin: 20px 0; }
  .img-30.center {
    margin: 20px auto; }

.col-2-img, .col-3-img {
  margin: 10px auto;
  display: flex;
  justify-content: space-between; }
  @media (max-width: 500px) {
    .col-2-img, .col-3-img {
      width: 82%;
      -webkit-flex-direction: column;
      flex-direction: column; } }
  .col-2-img p, .col-3-img p {
    width: 48%;
    margin: 10px 1%; }
    @media (max-width: 500px) {
      .col-2-img p, .col-3-img p {
        width: 100%; } }

.col-3-img p {
  width: 31.3%; }
  @media (max-width: 500px) {
    .col-3-img p {
      width: 100%; } }

/* table */
.table, .table-simple {
  width: 100%;
  line-height: 1.4em;
  word-break: break-all;
  font-size: 15px; }
  @media (max-width: 1020px) {
    .table, .table-simple {
      font-size: 14px; } }
  @media (max-width: 768px) {
    .table, .table-simple {
      font-size: 13px; } }
  .table th, .table-simple th {
    position: relative;
    padding: 15px 10px;
    font-weight: bold;
    vertical-align: middle;
    text-align: center; }
    .table th::after, .table-simple th::after {
      content: '';
      width: 100%;
      height: 1px;
      display: inline-block;
      background-color: #333;
      position: absolute;
      bottom: 5px;
      left: 0; }
    @media (max-width: 768px) {
      .table th, .table-simple th {
        padding: 10px 5px; } }
  .table td, .table-simple td {
    padding: 15px 10px;
    border-right: solid 2px #fff;
    border-top: solid 5px #fff;
    background-color: #ededed; }
    @media (max-width: 768px) {
      .table td, .table-simple td {
        padding: 10px 5px; } }
    .table td.td-title, .table-simple td.td-title {
      background-color: #dfdfdf; }

.table-simple td {
  padding: 10px 10px;
  border-right: none;
  border-top: none;
  border-bottom: solid 1px #e1e1e1;
  background-color: #fff; }
  @media (max-width: 768px) {
    .table-simple td {
      padding: 10px 5px; } }

/* スマホでは表をスクロール表示 */
@media (max-width: 500px) {
  .table-scroll {
    overflow-x: scroll; }
    .table-scroll .table, .table-scroll .table-simple {
      width: 690px; } }

.table-scroll-text {
  display: none; }
  @media (max-width: 500px) {
    .table-scroll-text {
      display: block;
      text-align: center;
      color: #fff;
      background-color: #666; } }

.noborder-table {
  line-height: 1.4em;
  word-break: break-word; }
  .noborder-table th {
    padding: 5px 0;
    border: 0px none;
    text-align: left; }
  .noborder-table td {
    padding: 5px 0;
    border: 0px none; }

/* list */
.list {
  padding-left: 1em; }
  .list li {
    list-style: disc; }
  .list ol li {
    list-style: none; }

.list-decimal {
  padding-left: 1em;
  list-style-type: decimal; }
  @media (max-width: 768px) {
    .list-decimal {
      padding-left: 1.5em; } }

.list-border li {
  padding: 15px 0;
  list-style: none;
  border-bottom: dotted 1px #c7c7c7; }
  @media (max-width: 768px) {
    .list-border li {
      padding: 10px 0; } }

.indent1 .list {
  padding-left: 1em;
  text-indent: 0; }

.indent2 .list {
  padding-left: 1em;
  text-indent: 0; }

.indent3 .list {
  padding-left: 1em;
  text-indent: 0; }

.indent4 .list {
  padding-left: 1em;
  text-indent: 0; }

.indent5 .list {
  padding-left: 1em;
  text-indent: 0; }

.indent6 .list {
  padding-left: 1em;
  text-indent: 0; }

.indent7 .list {
  padding-left: 1em;
  text-indent: 0; }

.indent8 .list {
  padding-left: 1em;
  text-indent: 0; }

.indent9 .list {
  padding-left: 1em;
  text-indent: 0; }

.indent10 .list {
  padding-left: 1em;
  text-indent: 0; }

.indent1h .list {
  padding-left: 1em;
  text-indent: 0; }

/* section */
section.lower {
  padding-bottom: 100px; }
  @media (max-width: 768px) {
    section.lower {
      padding-bottom: 90px; } }
  section.lower section {
    margin-top: 90px; }
    @media (max-width: 768px) {
      section.lower section {
        margin-top: 60px; } }

/* 404ページ
------------------------------------------------------------*/
.page404 {
  padding: 190px 0 380px 0;
  background-image: url("../images/common/404_bk.jpg");
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center bottom;
  -webkit-transition: all .3s;
  transition: all .3s; }
  @media screen and (max-width: 1400px) {
    .page404 {
      padding: 190px 0 320px 0; } }
  @media (max-width: 1200px) {
    .page404 {
      padding: 190px 0 260px 0;
      background-size: 1200px auto; } }
  @media (max-width: 768px) {
    .page404 {
      padding: 110px 0 260px 0;
      background-size: 900px auto; } }
  @media (max-width: 500px) {
    .page404 {
      padding: 110px 0 160px 0;
      background-size: 500px auto; } }

/* EPD検索、PCR検索、事業者検索
------------------------------------------------------------*/
/* 検索-フォーム */
.main-search-wrap {
  width: 100%;
  max-width: 800px;
  margin: 0 auto 100px auto; }
  @media (max-width: 768px) {
    .main-search-wrap {
      width: 90%;
      margin: 0 auto 60px auto; } }
  .main-search-wrap .error-text {
    margin-top: 30px;
    color: #e83200;
    text-align: center;
    font-size: 18px;
    line-height: 1.6em; }
    @media (max-width: 768px) {
      .main-search-wrap .error-text {
        font-size: 16px; } }

.main-search {
  margin-top: 30px; }
  @media (max-width: 768px) {
    .main-search {
      width: 90%;
      margin: 30px auto 0 auto; } }

.search-table {
  width: 100%;
  max-width: 660px;
  margin-bottom: 30px;
  line-height: 1.6em; }
  @media (max-width: 768px) {
    .search-table tr {
      padding-bottom: 10px;
      display: flex;
      flex-direction: column; } }
  .search-table th {
    width: 20%;
    margin-left: 10%;
    padding: 5px 5px 5px 0;
    font-weight: bold;
    text-align: right; }
    @media (max-width: 768px) {
      .search-table th {
        width: 100%;
        margin-left: 0;
        padding: 0;
        text-align: left; } }
  .search-table td {
    width: 80%;
    padding: 5px 0 5px 10px; }
    @media (max-width: 768px) {
      .search-table td {
        width: 100%;
        padding: 0; } }
    .search-table td.flex {
      width: 100%; }

/* 検索-結果 */
.main-search-results {
  padding: 60px 0 100px 0;
  background-color: #ededed; }
  .main-search-results .radio-wrap {
    margin: 0 0 0 0.5em; }
    @media (max-width: 500px) {
      .main-search-results .radio-wrap {
        flex-direction: row; } }
    @media (max-width: 320px) {
      .main-search-results .radio-wrap {
        flex-direction: column; } }
    @media (max-width: 500px) {
      .main-search-results .radio-wrap label {
        margin-right: 1em; } }

.icon-new, .icon-update {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-style: normal;
  width: 110px;
  position: absolute;
  top: 0;
  left: 0;
  color: #fff;
  background-color: #72a9c9;
  font-size: 14px;
  text-align: center;
  border-radius: 0 0 10px 0;
  z-index: 1; }

.icon-update {
  background-color: #2a456b; }

/* 検索-結果EPD */
.epd-box-wrap {
  margin: 20px 0;
  display: flex;
  flex-wrap: wrap; }
  @media (max-width: 768px) {
    .epd-box-wrap {
      justify-content: space-between; } }

.epd-box {
  width: 30%;
  margin: 1.6%;
  position: relative;
  background-color: #fff;
  -webkit-transition: all .3s;
  transition: all .3s; }
  @media (max-width: 768px) {
    .epd-box {
      width: 48%;
      margin: 2% 0; } }
  @media (max-width: 500px) {
    .epd-box {
      width: 82%;
      margin: 10px 9%; } }
  .epd-box a {
    display: block; }
    .epd-box a .epd-box-img {
      position: relative;
      overflow: hidden; }
      .epd-box a .epd-box-img::before {
        content: "";
        padding-top: 100%;
        display: block; }
      .epd-box a .epd-box-img img {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        object-fit: cover; }
    .epd-box a .epd-box-text {
      padding: 15px;
      line-height: 1.4; }
      .epd-box a .epd-box-text .flex .number {
        margin-right: 5px;
        padding: 5px 10px;
        font-size: 14px;
        background-color: #c7c7c7; }
      .epd-box a .epd-box-text .field {
        padding: 5px 10px;
        font-size: 14px;
        border: solid 1px #c7c7c7; }
      .epd-box a .epd-box-text .name {
        padding-top: 15px;
        padding-bottom: 15px;
        font-size: 18px;
        font-weight: bold; }
        @media (max-width: 768px) {
          .epd-box a .epd-box-text .name {
            font-size: 16px; } }
    .epd-box a:hover {
      opacity: 0.7; }
  .epd-box:hover {
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2); }

/* 検索-結果PCR */
.pcr-box-wrap {
  margin: 20px 0; }

.pcr-box {
  margin: 1.6%;
  background-color: #fff;
  -webkit-transition: all .3s;
  transition: all .3s; }
  @media (max-width: 768px) {
    .pcr-box {
      margin: 2% 0; } }
  @media (max-width: 500px) {
    .pcr-box {
      width: 82%;
      margin: 20px 9%; } }
  .pcr-box a {
    display: flex;
    position: relative;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media (max-width: 500px) {
      .pcr-box a {
        display: block; } }
    @media (max-width: 500px) {
      .pcr-box a .pcr-box-img {
        position: relative;
        overflow: hidden; }
        .pcr-box a .pcr-box-img::before {
          content: "";
          padding-top: 100%;
          display: block; } }
    .pcr-box a .pcr-box-img img {
      width: 160px;
      height: 160px;
      object-fit: cover; }
      @media (max-width: 500px) {
        .pcr-box a .pcr-box-img img {
          width: 100%;
          height: 100%;
          position: absolute;
          top: 0;
          left: 0; } }
    .pcr-box a .pcr-box-text {
      width: calc(100% - 160px);
      padding: 15px;
      line-height: 1.4;
      display: flex;
      flex-direction: column;
      justify-content: space-between; }
      @media (max-width: 500px) {
        .pcr-box a .pcr-box-text {
          width: 100%; } }
      .pcr-box a .pcr-box-text .number {
        margin-right: 5px;
        padding: 5px 10px;
        font-size: 14px;
        background-color: #c7c7c7; }
      .pcr-box a .pcr-box-text .field {
        padding: 5px 10px;
        font-size: 14px;
        border: solid 1px #c7c7c7; }
      .pcr-box a .pcr-box-text .name {
        padding: 15px 0 10px 0;
        font-size: 18px;
        font-weight: bold; }
        @media (max-width: 768px) {
          .pcr-box a .pcr-box-text .name {
            font-size: 16px; } }
    .pcr-box a:hover {
      opacity: 0.7; }
  .pcr-box:hover {
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2); }

/* 検索-結果事業者 */
.company-box-wrap {
  margin: 20px 0; }

.company-box {
  margin: 1.6%;
  background-color: #fff;
  -webkit-transition: all .3s;
  transition: all .3s; }
  @media (max-width: 768px) {
    .company-box {
      margin: 2% 0; } }
  @media (max-width: 500px) {
    .company-box {
      margin: 20px 5%; } }
  .company-box a {
    min-height: 100px;
    display: flex;
    position: relative;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center; }
    @media (max-width: 500px) {
      .company-box a {
        padding: 15px;
        flex-direction: column; } }
    .company-box a .company-box-img {
      width: 200px; }
      .company-box a .company-box-img img {
        width: 160px;
        height: 80px;
        margin: 0 auto;
        object-fit: contain; }
        @media (max-width: 500px) {
          .company-box a .company-box-img img {
            margin: 0 auto 20px auto; } }
    .company-box a .company-box-text {
      width: calc(100% - 200px);
      padding: 15px;
      line-height: 1.4;
      display: flex;
      align-items: center; }
      @media (max-width: 500px) {
        .company-box a .company-box-text {
          width: 100%;
          padding: 0;
          flex-direction: column;
          align-items: stretch; } }
      .company-box a .company-box-text .name {
        width: 60%;
        padding: 0 5px; }
        @media (max-width: 500px) {
          .company-box a .company-box-text .name {
            width: 100%; } }
      .company-box a .company-box-text .year {
        width: 20%;
        padding: 0 5px; }
        @media (max-width: 500px) {
          .company-box a .company-box-text .year {
            width: 100%;
            margin-top: 15px; } }
      .company-box a .company-box-text .number {
        width: 20%;
        padding: 0 5px; }
        @media (max-width: 500px) {
          .company-box a .company-box-text .number {
            width: 100%; } }
    .company-box a:hover {
      opacity: 0.7; }
  .company-box:hover {
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2); }

.epd-box a .company-box-img {
  margin: 30px 50px 0 50px;
  position: relative;
  overflow: hidden; }
  .epd-box a .company-box-img::before {
    content: "";
    padding-top: 100%;
    display: block; }
  .epd-box a .company-box-img img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: contain; }

/* EPD検索-詳細、PCR検索-詳細、事業者検索-詳細
------------------------------------------------------------*/
.main-search-detail {
  padding-bottom: 100px; }
  @media (max-width: 768px) {
    .main-search-detail {
      margin-top: -20px;
      padding-bottom: 90px; } }
  .main-search-detail section {
    margin-top: 90px; }
    @media (max-width: 768px) {
      .main-search-detail section {
        margin-top: 60px; } }
  .main-search-detail h3 {
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    font-style: normal;
    margin-bottom: 50px;
    font-size: 18px;
    border-bottom: solid 1px #333; }
    @media (max-width: 768px) {
      .main-search-detail h3 {
        margin-bottom: 30px; } }
  .main-search-detail dl {
    display: flex;
    flex-wrap: wrap;
    line-height: 1.4em; }
    .main-search-detail dl dt {
      width: 150px;
      padding-right: 10px;
      padding-bottom: 20px;
      font-weight: bold; }
      @media (max-width: 768px) {
        .main-search-detail dl dt {
          width: 120px; } }
    .main-search-detail dl dd {
      width: calc(100% - 150px);
      padding-bottom: 20px; }
      @media (max-width: 768px) {
        .main-search-detail dl dd {
          width: calc(100% - 120px); } }
      .main-search-detail dl dd dt {
        width: 130px;
        padding-bottom: 10px;
        font-weight: normal; }
      .main-search-detail dl dd dd {
        width: calc(100% - 130px);
        padding-bottom: 0; }
      .main-search-detail dl dd li {
        padding-bottom: 0; }
      @media (max-width: 768px) {
        .main-search-detail dl dd li:not(:last-child) {
          padding-bottom: 15px; } }
  .main-search-detail li {
    padding-bottom: 10px; }
  .main-search-detail .epd-box {
    padding-bottom: 0;
    border: solid 1px #e1e1e1; }
  .main-search-detail .pcr-box {
    padding-bottom: 0;
    border: solid 1px #e1e1e1; }
  @media (max-width: 768px) {
    .main-search-detail .btn-left {
      margin-top: 20px; } }

.search-detail-title {
  position: relative;
  padding: 50px 50px 50px 50px;
  border: solid 1px #e1e1e1;
  /*.search-detail-img img{
  	max-width: 660px;
  	margin: 20px auto 0 auto;
  	object-fit: contain;
  }*/ }
  @media (max-width: 500px) {
    .search-detail-title {
      padding: 50px 0 0 0;
      border: none; } }
  @media (max-width: 500px) {
    .search-detail-title .icon-new, .search-detail-title .icon-update {
      border-radius: 0 10px 10px 0;
      left: -6%; } }
  .search-detail-title h2 {
    font-size: 40px;
    font-weight: bold;
    line-height: 1.4em; }
    @media (max-width: 768px) {
      .search-detail-title h2 {
        font-size: 20px; } }
  .search-detail-title .subtitle {
    color: #666; }
  .search-detail-title .search-detail-img img {
    max-width: 660px;
    max-height: 440px;
    margin: 20px auto 0 auto;
    object-fit: contain; }
    @media (max-width: 768px) {
      .search-detail-title .search-detail-img img {
        max-height: 400px; } }
    @media (max-width: 500px) {
      .search-detail-title .search-detail-img img {
        max-height: 300px; } }

.search-company-title h2 {
  font-size: 40px;
  font-weight: bold;
  line-height: 1.4em; }
  @media (max-width: 768px) {
    .search-company-title h2 {
      font-size: 20px; } }
.search-company-title .subtitle {
  color: #666; }
.search-company-title .search-detail-logo img {
  margin: 30px 0 0 0;
  object-position: 0 50%; }
  @media (max-width: 768px) {
    .search-company-title .search-detail-logo img {
      margin: 20px 0 0 0; } }
  @media (max-width: 500px) {
    .search-company-title .search-detail-logo img {
      margin: 20px auto 0 auto;
      object-position: 50% 50%; } }

.search-detail-company {
  display: flex;
  justify-content: space-between; }
  @media (max-width: 500px) {
    .search-detail-company {
      flex-direction: column; } }
  .search-detail-company dl {
    width: 60%; }
    @media (max-width: 768px) {
      .search-detail-company dl {
        width: 100%; } }
    .search-detail-company dl dl {
      width: 100%; }
      @media (max-width: 768px) {
        .search-detail-company dl dl dt {
          width: 100%;
          padding-bottom: 0; } }
      @media (max-width: 768px) {
        .search-detail-company dl dl dd {
          width: 100%;
          padding-bottom: 10px; } }
  .search-detail-company .search-detail-logo {
    width: 40%; }
    @media (max-width: 768px) {
      .search-detail-company .search-detail-logo {
        width: 100%; } }
    @media (max-width: 500px) {
      .search-detail-company .search-detail-logo {
        width: 100%;
        padding-bottom: 10px; } }

.search-detail-logo img {
  width: 300px;
  height: 200px;
  margin: 0 auto;
  object-fit: contain; }
  @media (max-width: 768px) {
    .search-detail-logo img {
      width: 200px;
      height: 150px; } }

.search-detail-qr {
  width: 45%;
  height: 100%;
  padding: 30px;
  border: solid 1px #e1e1e1;
  display: flex;
  justify-content: center;
  align-items: center; }
  @media (max-width: 768px) {
    .search-detail-qr {
      width: 100%;
      padding: 10px; } }
  .search-detail-qr img {
    width: 120px;
    margin-right: 10px; }
    @media (max-width: 768px) {
      .search-detail-qr img {
        width: 100px; } }

/* もっと見るボタンの挙動 */
.list-more li.hidden, .list-more-2 li.hidden {
  opacity: 0;
  height: 0;
  margin: 0; }

/* EPDスライダー */
.slider-wrap {
  width: 100%;
  margin: 20px auto 0 auto;
  display: flex;
  justify-content: center; }
  @media (max-width: 768px) {
    .slider-wrap {
      flex-direction: column; } }

.slider {
  width: 72%;
  max-width: 660px;
  overflow: hidden; }
  @media (max-width: 768px) {
    .slider {
      width: 100%; } }
  .slider img {
    max-width: 660px;
    max-height: 440px;
    object-fit: contain; }
    @media (max-width: 768px) {
      .slider img {
        max-height: 393px; } }
    @media (max-width: 500px) {
      .slider img {
        max-height: 234px; } }
    @media (max-width: 320px) {
      .slider img {
        max-height: 192px; } }

.thumbnail {
  width: 17.5%;
  max-width: 160px;
  margin-left: 2%; }
  @media (max-width: 768px) {
    .thumbnail {
      width: 100%;
      max-width: inherit;
      margin: 2% 0 0 0; } }
  .thumbnail .slick-track {
    width: 100% !important;
    transform: unset !important;
    display: flex;
    flex-direction: column; }
    @media (max-width: 768px) {
      .thumbnail .slick-track {
        flex-direction: row; } }
  .thumbnail .thumbnail-img {
    width: 100% !important;
    opacity: .3;
    transition: opacity .3s linear; }
    @media (max-width: 768px) {
      .thumbnail .thumbnail-img {
        width: 24% !important; } }
    .thumbnail .thumbnail-img:not(:last-child) {
      margin-bottom: 3%; }
      @media (max-width: 768px) {
        .thumbnail .thumbnail-img:not(:last-child) {
          margin: 0 1.3% 0 0; } }
    .thumbnail .thumbnail-img img {
      max-width: 160px;
      max-height: 106.6667px;
      object-fit: contain; }
      @media (max-width: 768px) {
        .thumbnail .thumbnail-img img {
          max-height: 94px; } }
      @media (max-width: 500px) {
        .thumbnail .thumbnail-img img {
          max-height: 56px; } }
      @media (max-width: 320px) {
        .thumbnail .thumbnail-img img {
          max-height: 46px; } }
  .thumbnail .slick-current {
    opacity: 1; }

/* SuMPO環境ラベルプログラムとは
------------------------------------------------------------*/
.about-4features {
  display: flex;
  flex-wrap: wrap; }
  .about-4features li {
    width: 23%;
    margin: 30px 1% 0 1%;
    padding: 40px 15px 15px 15px;
    position: relative;
    border: solid 1px #e1e1e1; }
    @media (max-width: 768px) {
      .about-4features li {
        width: 48%;
        padding: 30px 15px 15px 15px; } }
    @media (max-width: 500px) {
      .about-4features li {
        width: 100%;
        padding: 30px 5% 5% 5%; }
        .about-4features li:first-child {
          margin: 30px 0 0 0; }
        .about-4features li:not(:first-child) {
          margin: 40px 0 0 0; } }
    .about-4features li .about-4features-number {
      width: 50px;
      position: absolute;
      top: -30px;
      left: 10px;
      font-family: "Poppins", sans-serif;
      font-weight: 500;
      font-style: normal;
      font-size: 60px;
      line-height: 1em;
      text-align: center;
      color: #999;
      background-color: #fff; }
    .about-4features li div {
      height: 100%;
      display: flex;
      flex-direction: column;
      align-items: center; }
      .about-4features li div h5 {
        height: 2.4em;
        font-size: 20px;
        font-weight: bold;
        line-height: 1.2em;
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: center; }
        @media (max-width: 768px) {
          .about-4features li div h5 {
            font-size: 18px; } }
      .about-4features li div img {
        width: 90%;
        margin: 30px 0; }
        @media (max-width: 768px) {
          .about-4features li div img {
            width: 60%;
            margin: 10px 0; } }
      .about-4features li div p {
        font-size: 14px;
        line-height: 1.6em; }

/* プログラムの歴史
------------------------------------------------------------*/
.about-history-title {
  display: flex;
  justify-content: space-between; }
  .about-history-title div {
    width: 48%; }
  .about-history-title .history-title {
    padding-bottom: 10px;
    display: flex;
    align-items: center; }
    @media (max-width: 500px) {
      .about-history-title .history-title {
        flex-direction: column; } }
    .about-history-title .history-title img {
      width: 100px;
      height: auto;
      margin-right: 30px; }
      @media (max-width: 768px) {
        .about-history-title .history-title img {
          width: 50px;
          margin-right: 20px; } }
      @media (max-width: 500px) {
        .about-history-title .history-title img {
          width: 50px;
          margin: 0 0 10px 0; } }
    .about-history-title .history-title h3 {
      font-size: 24px;
      font-weight: bold;
      line-height: 1.2em; }
      @media (max-width: 768px) {
        .about-history-title .history-title h3 {
          font-size: 18px; } }
      @media (max-width: 500px) {
        .about-history-title .history-title h3 {
          height: 100%;
          font-size: 14px;
          display: flex;
          justify-content: center;
          align-items: center; } }
    .about-history-title .history-title.ecoleaf {
      border-bottom: solid 5px #419591; }
    .about-history-title .history-title.cfp {
      border-bottom: solid 5px #72a9c9; }

.about-history {
  margin-top: 30px;
  padding-bottom: 30px;
  background-image: url("../images/common/timeline_bk.svg");
  background-repeat: repeat-y;
  background-size: 240px 10px;
  background-position: top center; }
  @media (max-width: 768px) {
    .about-history {
      padding-bottom: 1px; } }
  .about-history .history-box {
    width: 50%;
    padding: 20px 0;
    display: flex;
    position: relative;
    line-height: 1.6em; }
    @media (max-width: 500px) {
      .about-history .history-box {
        width: 100%; } }
    .about-history .history-box p:nth-child(1) {
      width: 120px;
      font-size: 24px;
      font-weight: bold;
      text-align: center; }
      @media (max-width: 500px) {
        .about-history .history-box p:nth-child(1) {
          width: 100px;
          padding-left: 25px;
          font-size: 20px;
          text-align: left; } }
    .about-history .history-box p:nth-child(2) {
      width: calc(100% - 120px); }
      @media (max-width: 500px) {
        .about-history .history-box p:nth-child(2) {
          width: calc(100% - 100px); } }
    .about-history .history-box.ecoleaf {
      margin-right: 52%;
      flex-direction: row-reverse; }
      @media (max-width: 500px) {
        .about-history .history-box.ecoleaf {
          margin-right: 0;
          flex-direction: row; } }
      .about-history .history-box.ecoleaf p:nth-child(1) {
        padding-right: 0.5em;
        color: #419591; }
        @media (max-width: 500px) {
          .about-history .history-box.ecoleaf p:nth-child(1) {
            padding-right: 0; } }
      .about-history .history-box.ecoleaf p:nth-child(2) {
        padding-right: 15px;
        text-align: right; }
        @media (max-width: 768px) {
          .about-history .history-box.ecoleaf p:nth-child(2) {
            padding-right: 10px;
            text-align: left; } }
        @media (max-width: 500px) {
          .about-history .history-box.ecoleaf p:nth-child(2) {
            padding-right: 0; } }
      .about-history .history-box.ecoleaf::before {
        width: 20px;
        height: 20px;
        position: absolute;
        right: -10px;
        top: 22px;
        content: "";
        border-radius: 10px;
        background-color: #666; }
        @media (max-width: 500px) {
          .about-history .history-box.ecoleaf::before {
            left: 3px;
            top: 21px;
            background-color: #419591; } }
    .about-history .history-box.cfp {
      margin-left: 50%; }
      @media (max-width: 500px) {
        .about-history .history-box.cfp {
          margin-left: 0; } }
      .about-history .history-box.cfp p:nth-child(1) {
        padding-left: 0.5em;
        color: #72a9c9; }
        @media (max-width: 500px) {
          .about-history .history-box.cfp p:nth-child(1) {
            padding-left: 25px; } }
      .about-history .history-box.cfp p:nth-child(2) {
        padding-left: 15px; }
        @media (max-width: 768px) {
          .about-history .history-box.cfp p:nth-child(2) {
            padding-left: 10px; } }
        @media (max-width: 500px) {
          .about-history .history-box.cfp p:nth-child(2) {
            padding-left: 0; } }
      .about-history .history-box.cfp::before {
        width: 20px;
        height: 20px;
        position: absolute;
        left: -10px;
        top: 22px;
        content: "";
        border-radius: 10px;
        background-color: #666; }
        @media (max-width: 500px) {
          .about-history .history-box.cfp::before {
            left: 3px;
            top: 21px;
            background-color: #72a9c9; } }
  .about-history .history-box-both {
    display: flex;
    justify-content: space-between; }
    @media (max-width: 500px) {
      .about-history .history-box-both {
        flex-direction: column; } }
    .about-history .history-box-both .history-box.ecoleaf {
      margin-right: 0; }
    .about-history .history-box-both .history-box.cfp {
      margin-left: 0; }
      .about-history .history-box-both .history-box.cfp::before {
        display: none; }
        @media (max-width: 500px) {
          .about-history .history-box-both .history-box.cfp::before {
            display: block; } }
  .about-history .history-both {
    margin: 30px 0;
    padding: 15px 30px;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.4em;
    text-align-last: center;
    color: #fff;
    background: linear-gradient(to right, #419591, #72a9c9);
    border-radius: 9999px; }
    @media (max-width: 768px) {
      .about-history .history-both {
        font-size: 16px; } }
    @media (max-width: 500px) {
      .about-history .history-both {
        font-size: 15px; } }

.about-history-bottom {
  width: 240px;
  height: 94px;
  margin: 0 auto 20px auto; }

.about-history-logo {
  width: 38%;
  margin: 30px auto 0 auto;
  align-items: center; }
  @media (max-width: 768px) {
    .about-history-logo {
      width: 50%; } }
  @media (max-width: 500px) {
    .about-history-logo {
      width: 80%; } }

/* EPD加盟方法
------------------------------------------------------------*/
/* フロー図 */
.flow-wrap {
  width: 90%;
  margin: 0 auto;
  padding: 40px 0 1px 0;
  background-image: url("../images/common/timeline_bk.svg");
  background-repeat: repeat-y;
  background-size: 240px 10px;
  background-position: top left; }
  @media (max-width: 768px) {
    .flow-wrap {
      width: 100%;
      padding: 30px 0 1px 0; } }
  .flow-wrap .flow-box {
    margin-left: 4%;
    padding: 10px 0 40px 0;
    display: flex;
    justify-content: space-between;
    border-top: solid 1px #2a456b;
    position: relative; }
    @media (max-width: 500px) {
      .flow-wrap .flow-box {
        flex-direction: column; } }
    .flow-wrap .flow-box div {
      width: 48%; }
      @media (max-width: 500px) {
        .flow-wrap .flow-box div {
          width: 95%;
          padding-left: 5%; } }
    .flow-wrap .flow-box span {
      font-family: "Poppins", sans-serif;
      font-weight: 500;
      font-style: normal;
      padding-left: 50px;
      font-size: 12px;
      line-height: 1em;
      color: #2a456b; }
      @media (max-width: 500px) {
        .flow-wrap .flow-box span {
          padding-left: 0; } }
    .flow-wrap .flow-box h4 {
      padding-left: 50px;
      font-size: 24px;
      font-weight: bold;
      line-height: 1.2em;
      color: #2a456b; }
      @media (max-width: 768px) {
        .flow-wrap .flow-box h4 {
          font-size: 20px; } }
      @media (max-width: 500px) {
        .flow-wrap .flow-box h4 {
          padding: 0 0 20px 0; } }
      .flow-wrap .flow-box h4.long-text {
        font-size: 22px; }
        @media (max-width: 768px) {
          .flow-wrap .flow-box h4.long-text {
            font-size: 20px; } }
    .flow-wrap .flow-box::before {
      width: 20px;
      height: 20px;
      position: absolute;
      left: 0;
      top: -10px;
      content: "";
      border-radius: 10px;
      background-color: #2a456b; }
    .flow-wrap .flow-box.user {
      border-top: solid 1px #419591; }
      .flow-wrap .flow-box.user span {
        color: #419591; }
      .flow-wrap .flow-box.user h4 {
        color: #419591; }
      .flow-wrap .flow-box.user::before {
        background-color: #419591; }

.flow-bottom {
  width: 240px;
  height: 94px;
  margin-left: 5%; }
  @media (max-width: 768px) {
    .flow-bottom {
      margin-left: 0; } }

/* PCR-WG募集、PCR意見公募
------------------------------------------------------------*/
/* 一覧 */
.pcr-wg-wrap {
  margin: 60px 0 0 0; }
  @media (max-width: 768px) {
    .pcr-wg-wrap {
      margin: 50px auto 0 auto; } }

.pcr-wg-title {
  display: flex; }
  .pcr-wg-title h3 {
    width: 50%;
    height: 80px;
    padding-right: 40px;
    position: relative;
    font-size: 22px;
    line-height: 1.2em;
    font-weight: bold;
    color: #2a456b;
    display: flex;
    align-items: center;
    justify-content: center; }
    @media (max-width: 768px) {
      .pcr-wg-title h3 {
        height: 60px;
        padding-right: 30px;
        font-size: 16px; } }
    @media (max-width: 500px) {
      .pcr-wg-title h3 {
        font-size: 14px; } }
    @media (max-width: 320px) {
      .pcr-wg-title h3 {
        font-size: 13px; } }
    .pcr-wg-title h3::before {
      width: 100%;
      height: 0;
      display: block;
      position: absolute;
      left: 0;
      content: "";
      border-bottom: solid 80px #ededed;
      border-right: solid 80px transparent;
      top: 0;
      z-index: -1; }
      @media (max-width: 768px) {
        .pcr-wg-title h3::before {
          border-bottom: solid 60px #ededed;
          border-right: solid 60px transparent; } }
      @media (max-width: 500px) {
        .pcr-wg-title h3::before {
          border-bottom: solid 60px #ededed;
          border-right: solid 30px transparent; } }
    .pcr-wg-title h3::after {
      width: 26px;
      height: 15px;
      margin: 0 auto;
      display: inline-block;
      position: absolute;
      content: '';
      top: 70px;
      left: 0;
      right: 40px;
      background-image: url("../images/common/icon_arrow_down_blue.svg");
      background-repeat: no-repeat;
      background-size: contain;
      vertical-align: middle; }
      @media (max-width: 768px) {
        .pcr-wg-title h3::after {
          top: 50px;
          right: 30px; } }
  .pcr-wg-title a {
    width: 50%;
    height: 80px;
    padding-right: 40px;
    position: relative;
    font-size: 20px;
    line-height: 1.2em;
    font-weight: bold;
    color: #999;
    border-left: solid 4px #ededed;
    display: flex;
    align-items: center;
    justify-content: center; }
    @media (max-width: 768px) {
      .pcr-wg-title a {
        height: 60px;
        padding-right: 30px;
        font-size: 16px; } }
    @media (max-width: 500px) {
      .pcr-wg-title a {
        font-size: 14px; } }
    @media (max-width: 320px) {
      .pcr-wg-title a {
        font-size: 13px; } }
    .pcr-wg-title a::before {
      position: absolute;
      content: "";
      left: 0;
      top: 0;
      width: calc(100% - 80px);
      height: 4px;
      background: #ededed; }
      @media (max-width: 768px) {
        .pcr-wg-title a::before {
          width: calc(100% - 60px); } }
      @media (max-width: 500px) {
        .pcr-wg-title a::before {
          width: calc(100% - 30px); } }
    .pcr-wg-title a::after {
      position: absolute;
      content: "";
      right: 38px;
      top: -15px;
      width: 4px;
      height: 115px;
      background: #ededed;
      transform: rotate(-45deg); }
      @media (max-width: 768px) {
        .pcr-wg-title a::after {
          right: 20px; } }
      @media (max-width: 500px) {
        .pcr-wg-title a::after {
          height: 67px;
          top: 0;
          right: 17px;
          transform: rotate(-22.5deg); } }
    .pcr-wg-title a:hover {
      color: #2a456b; }

.pcr-wg {
  padding: 60px 0 100px 0;
  background-color: #ededed; }
  @media (max-width: 768px) {
    .pcr-wg {
      padding: 50px 0 90px 0; } }
  .pcr-wg h4 {
    margin-bottom: 50px;
    font-size: 26px;
    font-weight: bold;
    line-height: 1.4em; }
    @media (max-width: 768px) {
      .pcr-wg h4 {
        margin-bottom: 30px;
        font-size: 20px; } }
  .pcr-wg .table th, .pcr-wg .table-simple th {
    text-align: left;
    padding: 20px 10px; }
    @media (max-width: 768px) {
      .pcr-wg .table th, .pcr-wg .table-simple th {
        padding: 15px 5px; } }
  .pcr-wg .table td, .pcr-wg .table-simple td {
    padding: 20px 10px;
    border-right: none;
    border-top: solid 5px #ededed;
    background-color: #fff; }
    @media (max-width: 768px) {
      .pcr-wg .table td, .pcr-wg .table-simple td {
        padding: 15px 5px; } }

/* EPD相互認証、国際協調
------------------------------------------------------------*/
.coop-box-wrap {
  display: flex;
  flex-wrap: wrap; }
  @media (max-width: 500px) {
    .coop-box-wrap {
      width: 82%;
      margin: 0 auto; } }
  .coop-box-wrap .coop-box {
    width: 29%;
    line-height: 1.6em; }
    .coop-box-wrap .coop-box:not(:nth-child(3n)) {
      margin-right: 6.5%; }
    .coop-box-wrap .coop-box:nth-child(n+4) {
      margin-top: 6.5%; }
    @media (max-width: 768px) {
      .coop-box-wrap .coop-box {
        width: 48%;
        line-height: 1.6em; }
        .coop-box-wrap .coop-box:nth-child(odd) {
          margin-right: 4%; }
        .coop-box-wrap .coop-box:nth-child(even) {
          margin-right: 0; }
        .coop-box-wrap .coop-box:nth-child(n+3) {
          margin-top: 30px; } }
    @media (max-width: 500px) {
      .coop-box-wrap .coop-box {
        width: 100%; }
        .coop-box-wrap .coop-box:nth-child(odd) {
          margin-right: 0; }
        .coop-box-wrap .coop-box:nth-child(even) {
          margin-right: 0; }
        .coop-box-wrap .coop-box:nth-child(2) {
          margin-top: 30px; } }
    .coop-box-wrap .coop-box .coop-box-img {
      margin: 0; }
    .coop-box-wrap .coop-box h4 {
      margin: 10px 0;
      font-weight: bold; }

/* 関連制度
------------------------------------------------------------*/
.content-title-l.flag {
  display: flex;
  align-items: center; }
  .content-title-l.flag img {
    width: 100px;
    margin-right: 20px;
    border: solid 1px #e1e1e1; }
    @media (max-width: 768px) {
      .content-title-l.flag img {
        width: 80px;
        margin-right: 10px; } }

/* 各種テンプレート・申請書・ロゴ
------------------------------------------------------------*/
.temp-box-wrap {
  margin: 20px 0;
  display: flex;
  flex-wrap: wrap; }
  @media (max-width: 768px) {
    .temp-box-wrap {
      justify-content: space-between; } }

.temp-box {
  width: 22%;
  margin: 1.5%;
  position: relative;
  background-color: #fff;
  border: solid 1px #e1e1e1;
  -webkit-transition: all .3s;
  transition: all .3s;
  /* リンク無しのスタイル */ }
  @media (max-width: 768px) {
    .temp-box {
      width: 48%;
      margin: 2% 0; } }
  @media (max-width: 500px) {
    .temp-box {
      width: 82%;
      margin: 10px 9%; } }
  .temp-box a {
    display: block; }
    .temp-box a .icon-dl {
      width: 42px;
      height: 42px;
      position: absolute;
      bottom: 0;
      right: 0;
      background-color: #72a9c9;
      z-index: 1; }
      .temp-box a .icon-dl img {
        width: 20px;
        height: 20px;
        margin: 11px auto; }
    .temp-box a .temp-box-img {
      margin: 15px;
      position: relative;
      overflow: hidden; }
      .temp-box a .temp-box-img::before {
        content: "";
        padding-top: 100%;
        display: block; }
      .temp-box a .temp-box-img img {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        object-position: 0 0;
        object-fit: cover; }
    .temp-box a .temp-box-noimg {
      width: 100%;
      padding: 15px;
      position: relative; }
      .temp-box a .temp-box-noimg::before {
        content: "";
        padding-top: 100%;
        display: block;
        background-color: #d6dade; }
      .temp-box a .temp-box-noimg p {
        width: 100%;
        padding: 0 30px;
        position: absolute;
        top: 50%;
        left: 0%;
        transform: translateY(-50%);
        text-align: center;
        line-height: 1.4em;
        color: rgba(42, 69, 107, 0.5); }
    .temp-box a .temp-box-text {
      margin: 0 15px;
      padding: 15px 0 45px 0;
      line-height: 1.4;
      border-top: solid 1px #e1e1e1; }
      .temp-box a .temp-box-text h4 {
        font-weight: bold; }
        @media (max-width: 768px) {
          .temp-box a .temp-box-text h4 {
            font-size: 16px; } }
      .temp-box a .temp-box-text p {
        padding-top: 15px; }
    .temp-box a:hover {
      opacity: 0.7; }
  .temp-box:hover {
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2); }
  .temp-box.no-link a {
    pointer-events: none; }
  .temp-box.no-link:hover {
    box-shadow: none; }

/* 新着情報
------------------------------------------------------------*/
/* 一覧 */
.news-box {
  padding: 10px;
  border-bottom: solid 1px #e1e1e1; }
  .news-box:first-child {
    border-top: solid 1px #e1e1e1; }
  @media (max-width: 768px) {
    .news-box {
      padding: 10px 0; } }
  .news-box a {
    padding: 10px 10px 10px 0;
    display: flex;
    justify-content: space-between;
    align-items: center; }
    @media (max-width: 768px) {
      .news-box a {
        padding: 10px 0 10px 0; } }
    @media (max-width: 500px) {
      .news-box a {
        flex-direction: column;
        align-items: stretch; } }
    .news-box a .news-box-text {
      padding: 5px 0;
      display: flex;
      align-items: center; }
      @media (max-width: 768px) {
        .news-box a .news-box-text {
          flex-direction: column;
          align-items: stretch; } }
      .news-box a .news-box-text div {
        width: calc(100% - 110px);
        padding: 0 0 0 30px; }
        @media (max-width: 768px) {
          .news-box a .news-box-text div {
            width: 100%;
            padding: 10px 0 0 0; } }
      .news-box a .news-box-text .news-box-title {
        font-weight: bold;
        line-height: 1.6em; }
      .news-box a .news-box-text .date {
        padding-bottom: 5px;
        font-weight: bold; }
    .news-box a .news-box-img {
      width: 160px;
      margin: 0 0 0 30px; }
      @media (max-width: 500px) {
        .news-box a .news-box-img {
          width: 70%;
          margin: 10px auto 0 auto; } }
      .news-box a .news-box-img img {
        width: 160px;
        aspect-ratio: 3 / 2;
        object-fit: cover; }
        @media (max-width: 500px) {
          .news-box a .news-box-img img {
            width: 100%; } }
    .news-box a:hover {
      background-color: #e7e7e7;
      opacity: 0.7; }

/*　詳細　*/
.news-title {
  margin-bottom: 60px;
  border-bottom: solid 1px #333; }
  @media (max-width: 768px) {
    .news-title {
      margin-bottom: 50px; } }
  .news-title .news-title-text {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    @media (max-width: 500px) {
      .news-title .news-title-text {
        font-size: 16px;
        flex-direction: column;
        align-items: flex-start; } }
    .news-title .news-title-text div {
      display: flex; }
    .news-title .news-title-text .date {
      padding-left: 20px;
      font-size: 20px;
      font-weight: bold; }
      @media (max-width: 768px) {
        .news-title .news-title-text .date {
          padding-left: 10px;
          font-size: 14px; } }
    .news-title .news-title-text .name {
      padding: 0 10px;
      font-size: 14px;
      border: solid 1px #c7c7c7; }
      @media (max-width: 500px) {
        .news-title .news-title-text .name {
          margin-top: 10px; } }
  .news-title h3 {
    padding: 30px 0;
    font-size: 30px;
    font-weight: bold;
    line-height: 1.4em; }
    @media (max-width: 768px) {
      .news-title h3 {
        padding: 20px 0;
        font-size: 20px; } }

.news-main-img {
  margin-bottom: 60px; }
  @media (max-width: 768px) {
    .news-main-img {
      margin-bottom: 50px; } }

section.lower section.news-content {
  margin-top: 0;
  margin-bottom: 60px; }
  @media (max-width: 768px) {
    section.lower section.news-content {
      margin-bottom: 50px; } }

/* FAQ/お問い合わせ
------------------------------------------------------------*/
.number-box {
  width: 100%;
  max-width: 1200px;
  padding: 0 1.5% 60px 1.5%; }
  .number-box:not(:last-child) {
    margin: 0 auto 60px auto; }
  .number-box:last-child {
    margin: 0 auto 100px auto; }
  @media (max-width: 768px) {
    .number-box {
      padding: 0 5% 50px 5%; }
      .number-box:not(:last-child) {
        margin: 0 auto 50px auto; }
      .number-box:last-child {
        margin: 0 auto 90px auto; } }
  .number-box .number-box-title {
    max-width: 1020px;
    margin: 0 auto 30px auto;
    display: flex;
    align-items: center; }
    @media (max-width: 500px) {
      .number-box .number-box-title {
        flex-direction: column;
        align-items: stretch; } }
    .number-box .number-box-title h3, .number-box .number-box-title h4 {
      padding-left: 30px;
      font-size: 30px;
      font-weight: bold; }
      @media (max-width: 768px) {
        .number-box .number-box-title h3, .number-box .number-box-title h4 {
          font-size: 20px; } }
      @media (max-width: 500px) {
        .number-box .number-box-title h3, .number-box .number-box-title h4 {
          padding: 10px 0 0 0; } }
  .number-box .number-box-tag {
    font-family: "Poppins", sans-serif;
    font-weight: 400;
    font-style: normal;
    width: 200px;
    padding: 20px 10px 10px 10px;
    color: #fff;
    text-align: center; }
    @media (max-width: 768px) {
      .number-box .number-box-tag {
        width: 170px;
        padding: 5px 10px; } }
    .number-box .number-box-tag div {
      display: flex;
      justify-content: center;
      align-items: center; }
      .number-box .number-box-tag div div {
        padding: 10px; }
        @media (max-width: 768px) {
          .number-box .number-box-tag div div {
            padding: 0; } }
        .number-box .number-box-tag div div:nth-child(1) {
          font-size: 18px; }
          @media (max-width: 768px) {
            .number-box .number-box-tag div div:nth-child(1) {
              font-size: 16px; } }
        .number-box .number-box-tag div div:nth-child(2) {
          font-size: 50px; }
          @media (max-width: 768px) {
            .number-box .number-box-tag div div:nth-child(2) {
              padding-left: 0.5em;
              font-size: 20px; } }
    .number-box .number-box-tag p {
      padding-top: 5px;
      border-top: solid 1px #fff; }
      @media (max-width: 768px) {
        .number-box .number-box-tag p {
          padding-top: 0; } }

/* アコーディオン */
.acod-area {
  width: 100%;
  max-width: 1020px;
  margin: 0 auto;
  list-style: none; }
  .acod-area section {
    padding: 15px 0;
    border-bottom: solid 1px #333; }
    @media (max-width: 500px) {
      .acod-area section {
        padding: 5px 0; } }

.acod-title {
  padding: 10px 70px 10px 0;
  position: relative;
  cursor: pointer;
  transition: all .5s ease;
  display: flex;
  align-items: center; }
  @media (max-width: 768px) {
    .acod-title {
      padding: 10px 60px 10px 0; } }
  @media (max-width: 500px) {
    .acod-title {
      flex-direction: column;
      align-items: stretch; } }
  .acod-title p {
    width: 70px;
    font-weight: bold;
    font-size: 20px;
    display: inline-block; }
    @media (max-width: 768px) {
      .acod-title p {
        width: 60px;
        font-size: 18px; } }
    @media (max-width: 500px) {
      .acod-title p {
        width: 100%; } }
  .acod-title h3, .acod-title h4 {
    width: calc(100% - 70px);
    font-weight: bold;
    font-size: 18px; }
    @media (max-width: 768px) {
      .acod-title h3, .acod-title h4 {
        width: calc(100% - 60px);
        font-size: 16px; } }
    @media (max-width: 500px) {
      .acod-title h3, .acod-title h4 {
        width: 100%; } }
  .acod-title::before, .acod-title::after {
    position: absolute;
    content: '';
    width: 26px;
    height: 3px;
    background-color: #333; }
  .acod-title::before {
    top: 48%;
    right: 15px;
    transform: rotate(0deg); }
  .acod-title::after {
    top: 48%;
    right: 15px;
    transform: rotate(90deg); }

.acod-title.acod-close::before {
  transform: rotate(45deg); }

.acod-title.acod-close::after {
  transform: rotate(-45deg); }

.acod-box {
  display: none;
  margin: 20px 70px; }
  @media (max-width: 768px) {
    .acod-box {
      margin: 20px 60px; } }
  @media (max-width: 500px) {
    .acod-box {
      margin: 20px 5%; } }
  .acod-box p:nth-child(1) {
    font-weight: bold; }
  .acod-box li {
    padding: 0; }

.number-box:nth-of-type(even) {
  border: solid 1px #e1e1e1; }
  .number-box:nth-of-type(even) .number-box-title h3, .number-box:nth-of-type(even) .number-box-title h4 {
    color: #729cbc; }
  .number-box:nth-of-type(even) .number-box-tag {
    background-color: #729cbc; }
  .number-box:nth-of-type(even) .acod-title p {
    color: #729cbc; }
  .number-box:nth-of-type(even) .acod-box p:nth-child(1) {
    color: #729cbc; }

.number-box:nth-of-type(odd) {
  background-color: #ededed;
  border: solid 1px #ededed; }
  .number-box:nth-of-type(odd) .number-box-title h3, .number-box:nth-of-type(odd) .number-box-title h4 {
    color: #2a456b; }
  .number-box:nth-of-type(odd) .number-box-tag {
    background-color: #2a456b; }
  .number-box:nth-of-type(odd) .acod-title p {
    color: #33567f; }
  .number-box:nth-of-type(odd) .acod-box p:nth-child(1) {
    color: #33567f; }

/*お問い合わせ*/
.contact-wrap {
  background-image: url("../images/faq/faq_bk_contact.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  color: #fff;
  text-shadow: #333 0 0 6px; }
  .contact-wrap .content {
    padding: 100px 0 85px 0; }
    @media (max-width: 768px) {
      .contact-wrap .content {
        padding: 60px 0 45px 0; } }
  .contact-wrap .btn-arrow {
    color: #fff; }
    @media (max-width: 768px) {
      .contact-wrap .btn-arrow {
        margin-top: 45px; } }
    .contact-wrap .btn-arrow::before, .contact-wrap .btn-arrow::after {
      background: #fff; }
    .contact-wrap .btn-arrow::after {
      background: #2a456b; }
    .contact-wrap .btn-arrow span::before, .contact-wrap .btn-arrow span::after {
      background: #fff; }
    .contact-wrap .btn-arrow:hover span::before {
      background: #2a456b; }
    .contact-wrap .btn-arrow:hover span::after {
      background: #2a456b; }

/* 用語集
------------------------------------------------------------*/
.glossary-area {
  width: 100%;
  max-width: 1020px;
  margin: 0 auto; }
  .glossary-area > li:first-child {
    padding-top: 25px; }
    @media (max-width: 768px) {
      .glossary-area > li:first-child {
        padding-top: 15px; } }
  .glossary-area > li:not(:first-child) {
    padding-top: 50px; }
    @media (max-width: 768px) {
      .glossary-area > li:not(:first-child) {
        padding-top: 40px; } }
  .glossary-area li li {
    padding-top: 0; }

.glossary-title {
  padding-bottom: 30px;
  display: flex;
  align-items: center; }
  @media (max-width: 768px) {
    .glossary-title {
      padding-bottom: 20px; } }
  @media (max-width: 500px) {
    .glossary-title {
      flex-direction: column;
      align-items: stretch; } }
  .glossary-title p {
    padding-right: 20px;
    font-weight: bold;
    font-size: 20px;
    display: inline-block; }
    @media (max-width: 768px) {
      .glossary-title p {
        font-size: 18px; } }
    @media (max-width: 500px) {
      .glossary-title p {
        width: 100%;
        padding-right: 0; } }
  .glossary-title h4 {
    font-weight: bold;
    font-size: 18px; }
    @media (max-width: 768px) {
      .glossary-title h4 {
        font-size: 16px; } }

.number-box:nth-of-type(even) {
  border: solid 1px #e1e1e1; }
  .number-box:nth-of-type(even) .glossary-title p {
    color: #729cbc; }

.number-box:nth-of-type(odd) {
  background-color: #ededed;
  border: solid 1px #ededed; }
  .number-box:nth-of-type(odd) .glossary-title p {
    color: #33567f; }

/* サイト利用規約
------------------------------------------------------------*/
.img-adobe-reader {
  width: 240px;
  height: auto;
  margin: 20px 0; }
  .img-adobe-reader a:hover {
    opacity: 0.7; }

/* マイページ
------------------------------------------------------------
------------------------------------------------------------*/
/* マイページ-ログイン
------------------------------------------------------------*/
.login-wrap {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: 50px 30px 30px 30px;
  background-color: #ededed;
  border-radius: 30px; }
  @media (max-width: 768px) {
    .login-wrap {
      width: 90%;
      padding: 30px 5% 20px 5%;
      border-radius: 20px; } }
  .login-wrap .error-text {
    margin: -20px 0 20px 0;
    color: #e83200;
    text-align: center; }

.registration-wrap {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: 50px 30px 30px 30px;
  border: solid 4px #ededed;
  border-radius: 30px; }
  @media (max-width: 768px) {
    .registration-wrap {
      width: 90%;
      padding: 30px 5% 20px 5%;
      border-radius: 20px; } }

section.lower section.registration-wrap {
  margin-top: 50px; }
  @media (max-width: 768px) {
    section.lower section.registration-wrap {
      margin-top: 30px; } }

/* マイページ-トップページ
------------------------------------------------------------*/
/* ユーザーネーム */
.user-name {
  min-height: 60px;
  margin-top: -60px;
  padding: 0 50px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  font-size: 16px;
  line-height: 1.4em; }
  @media (max-width: 1020px) {
    .user-name {
      padding: 0 1.5%;
      font-size: 14px;
      display: block;
      text-align: right; } }
  @media (max-width: 768px) {
    .user-name {
      min-height: inherit;
      margin-top: 0;
      padding: 2% 5%; } }

.mypage-box-wrap {
  display: flex;
  flex-wrap: wrap; }
  .mypage-box-wrap .mypage-box {
    width: 23%;
    line-height: 1.6em; }
    .mypage-box-wrap .mypage-box:not(:nth-child(4n)) {
      margin-right: 2.6%; }
    .mypage-box-wrap .mypage-box:nth-child(n+5) {
      margin-top: 4%; }
    @media (max-width: 768px) {
      .mypage-box-wrap .mypage-box {
        width: 48%;
        line-height: 1.6em; }
        .mypage-box-wrap .mypage-box:nth-child(odd) {
          margin-right: 4%; }
        .mypage-box-wrap .mypage-box:nth-child(even) {
          margin-right: 0; }
        .mypage-box-wrap .mypage-box:nth-child(n+3) {
          margin-top: 30px; } }
    @media (max-width: 500px) {
      .mypage-box-wrap .mypage-box {
        width: 90%;
        margin: 0 5%; }
        .mypage-box-wrap .mypage-box:not(:first-child) {
          margin-top: 30px; } }
    .mypage-box-wrap .mypage-box .mypage-box-img {
      margin-bottom: 15px;
      position: relative;
      background-color: #333;
      display: flex;
      justify-content: center;
      align-items: center; }
      @media (max-width: 768px) {
        .mypage-box-wrap .mypage-box .mypage-box-img {
          margin-bottom: 20px; } }
      .mypage-box-wrap .mypage-box .mypage-box-img h4 {
        position: absolute;
        color: #fff;
        font-weight: bold;
        font-size: 20px;
        text-align: center;
        text-shadow: #333 0 0 6px;
        z-index: 1; }
        @media (max-width: 500px) {
          .mypage-box-wrap .mypage-box .mypage-box-img h4 {
            font-size: 18px; } }
      .mypage-box-wrap .mypage-box .mypage-box-img img {
        opacity: 0.8; }
    .mypage-box-wrap .mypage-box .list li {
      margin-top: 5px;
      font-size: 18px; }
      @media (max-width: 768px) {
        .mypage-box-wrap .mypage-box .list li {
          margin-top: 15px; } }
      @media (max-width: 500px) {
        .mypage-box-wrap .mypage-box .list li {
          font-size: 16px; } }

/* マイページ-下層ページ
↓adminのlayout.scssの「詳細ページ」部分から移植↓　変更箇所には「//変更」記述
------------------------------------------------------------*/
/* エラー表示 */
.error-box {
  width: 100%;
  /*max-width: 990px;*/
  margin-bottom: 30px;
  padding: 15px;
  line-height: 1.6em;
  color: #e83200;
  background-color: #f9f0ed; }
  @media (max-width: 768px) {
    .error-box {
      padding: 10px 5%; } }
  .error-box li {
    margin-left: 1em;
    list-style: disc; }

.form-table {
  width: 100%;
  /*max-width: 990px;*/
  margin-bottom: 30px;
  line-height: 1.6em; }
  @media (max-width: 768px) {
    .form-table tr {
      padding-bottom: 10px;
      display: flex;
      flex-direction: column; } }
  .form-table tr::before {
    content: "";
    vertical-align: middle;
    display: inline-block;
    min-height: 52px; }
    @media (max-width: 768px) {
      .form-table tr::before {
        min-height: inherit; } }
  .form-table th {
    width: 18%;
    padding: 5px 5px 5px 0;
    font-weight: bold;
    text-align: left; }
    @media (max-width: 768px) {
      .form-table th {
        width: 100%;
        padding: 0; } }
    .form-table th.top {
      padding: 25px 5px 5px 0;
      vertical-align: top; }
      @media (max-width: 768px) {
        .form-table th.top {
          padding: 10px 5px 5px 0; } }
  .form-table td {
    width: 82%;
    padding: 5px 0;
    /* 追加box */ }
    @media (max-width: 768px) {
      .form-table td {
        width: 100%;
        padding: 0; } }
    .form-table td a {
      margin: 5px 0; }
    .form-table td.flex {
      width: 100%; }
      .form-table td.flex .flex-inner {
        width: 100%;
        display: flex;
        align-items: center; }
      .form-table td.flex .divider {
        margin-right: 10px;
        padding: 0 10px;
        border-right: dotted 1px #c7c7c7; }
        @media (max-width: 1200px) {
          .form-table td.flex .divider {
            margin-right: 0;
            padding: 0;
            border-right: none; } }
    .form-table td .addition {
      width: 100%;
      margin: 1% 0;
      display: flex;
      align-items: center; }
      .form-table td .addition .addition-upload {
        width: calc(100% - 88px);
        margin-right: 1%;
        padding: 10px;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        background-color: #ededed;
        border-radius: 10px; }
        @media (max-width: 1020px) {
          .form-table td .addition .addition-upload {
            width: calc(100% - 44px); } }
        .form-table td .addition .addition-upload .upload-text, .form-table td .addition .addition-upload .add-upload-text {
          width: 260px; }
          @media (max-width: 1200px) {
            .form-table td .addition .addition-upload .upload-text, .form-table td .addition .addition-upload .add-upload-text {
              width: 240px; } }
          @media (max-width: 1020px) {
            .form-table td .addition .addition-upload .upload-text, .form-table td .addition .addition-upload .add-upload-text {
              width: calc(100% - 188px); } }
          @media (max-width: 500px) {
            .form-table td .addition .addition-upload .upload-text, .form-table td .addition .addition-upload .add-upload-text {
              width: 100%; } }
        @media (max-width: 1200px) {
          .form-table td .addition .addition-upload .display-text {
            margin-left: 0; } }
        @media (max-width: 500px) {
          .form-table td .addition .addition-upload .display-text {
            font-size: 13px; } }
      .form-table td .addition .addition-select {
        width: calc(100% - 88px);
        margin-right: 1%;
        padding: 10px;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        background-color: #ededed;
        border-radius: 10px; }
        @media (max-width: 1020px) {
          .form-table td .addition .addition-select {
            width: calc(100% - 44px); } }
        .form-table td .addition .addition-select .selectbox, .form-table td .addition .addition-select .selectbox-period, .form-table td .addition .addition-select .selectbox-number, .form-table td .addition .addition-select .selectbox-search {
          width: 57%;
          margin-right: 20px; }
          @media (max-width: 1020px) {
            .form-table td .addition .addition-select .selectbox, .form-table td .addition .addition-select .selectbox-period, .form-table td .addition .addition-select .selectbox-number, .form-table td .addition .addition-select .selectbox-search {
              width: 100%;
              margin-right: 0; } }
      .form-table td .addition .addition-btn {
        width: 88px;
        display: flex;
        justify-content: space-between; }
        @media (max-width: 1020px) {
          .form-table td .addition .addition-btn {
            width: 44px;
            flex-direction: column; } }
      .form-table td .addition .selectbox.size-m, .form-table td .addition .size-m.selectbox-period, .form-table td .addition .size-m.selectbox-number, .form-table td .addition .size-m.selectbox-search {
        width: 49%;
        margin-right: 1%; }
        @media (max-width: 768px) {
          .form-table td .addition .selectbox.size-m, .form-table td .addition .size-m.selectbox-period, .form-table td .addition .size-m.selectbox-number, .form-table td .addition .size-m.selectbox-search {
            width: calc(100% - 102px); } }
    .form-table td label.company-label {
      display: inline-flex;
      align-items: center;
      margin-right: 15px; }
    .form-table td.flex .company-sets {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      align-items: flex-start; }
      .form-table td.flex .company-sets .company-input-set {
        width: calc(100% - 110px);
        margin-right: 8px;
        margin-bottom: 15px;
        padding: 10px;
        background-color: #ededed;
        border-radius: 10px;
        display: flex;
        flex-direction: column; }
        .form-table td.flex .company-sets .company-input-set .first-row {
          display: flex;
          align-items: center;
          gap: 10px; }
        .form-table td.flex .company-sets .company-input-set .company-name-wrap {
          margin-bottom: 5px;
          display: flex;
          align-items: center; }
      .form-table td.flex .company-sets .addition-btn {
        align-self: flex-start;
        margin-top: 10px; }
    .form-table td.flex-geo-range {
      width: 100%;
      display: flex;
      justify-content: space-between;
      flex-wrap: nowrap;
      align-items: center; }
      @media (max-width: 500px) {
        .form-table td.flex-geo-range {
          flex-wrap: wrap; } }
      .form-table td.flex-geo-range div {
        flex: 1;
        margin: 0 0 0 1em;
        white-space: nowrap; }
        @media (max-width: 500px) {
          .form-table td.flex-geo-range div {
            width: 100%;
            margin-bottom: 10px; } }
        .form-table td.flex-geo-range div.form-container {
          margin: 0; }
      .form-table td.flex-geo-range .selectbox, .form-table td.flex-geo-range .selectbox-period, .form-table td.flex-geo-range .selectbox-number, .form-table td.flex-geo-range .selectbox-search {
        flex: 2; }
        @media (max-width: 500px) {
          .form-table td.flex-geo-range .selectbox, .form-table td.flex-geo-range .selectbox-period, .form-table td.flex-geo-range .selectbox-number, .form-table td.flex-geo-range .selectbox-search {
            width: 100%;
            margin-bottom: 10px; } }
        .form-table td.flex-geo-range .selectbox select, .form-table td.flex-geo-range .selectbox-period select, .form-table td.flex-geo-range .selectbox-number select, .form-table td.flex-geo-range .selectbox-search select {
          width: 100%;
          box-sizing: border-box; }

/* 追加box内-大中小セレクトボックス */
.form-table td .addition-select.stages-3 .selectbox, .form-table td .addition-select.stages-3 .selectbox-period, .form-table td .addition-select.stages-3 .selectbox-number, .form-table td .addition-select.stages-3 .selectbox-search {
  width: calc((97% - 150px) / 3);
  margin-right: 1%; }
  @media (max-width: 1020px) {
    .form-table td .addition-select.stages-3 .selectbox, .form-table td .addition-select.stages-3 .selectbox-period, .form-table td .addition-select.stages-3 .selectbox-number, .form-table td .addition-select.stages-3 .selectbox-search {
      width: calc((98% - 100px) / 2); } }
  @media (max-width: 500px) {
    .form-table td .addition-select.stages-3 .selectbox, .form-table td .addition-select.stages-3 .selectbox-period, .form-table td .addition-select.stages-3 .selectbox-number, .form-table td .addition-select.stages-3 .selectbox-search {
      width: calc(99% - 50px); } }
.form-table td .addition-select.stages-3 span {
  width: 50px;
  font-size: 14px; }

/*
------------------------------------------------------------
------------------------------------------------------------
調整
------------------------------------------------------------
------------------------------------------------------------*/
.none-top {
  margin-top: 0 !important;
  padding-top: 0 !important; }

.none-bottom {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important; }

.MT90-MT50 {
  margin-top: 90px; }
  @media (max-width: 768px) {
    .MT90-MT50 {
      margin-top: 50px; } }

.PT90-PT50 {
  padding-top: 90px; }
  @media (max-width: 768px) {
    .PT90-PT50 {
      padding-top: 50px; } }

.PB90-PB50 {
  padding-bottom: 90px; }
  @media (max-width: 768px) {
    .PB90-PB50 {
      padding-bottom: 50px; } }

.MT50-MT30 {
  margin-top: 50px; }
  @media (max-width: 768px) {
    .MT50-MT30 {
      margin-top: 30px; } }

.PT40-PT30 {
  padding-top: 40px; }
  @media (max-width: 768px) {
    .PT40-PT30 {
      padding-top: 30px; } }

/* PCとSPの非表示指示 */
@media screen and (min-width: 769px) {
  .pc-none {
    display: none; } }
@media (max-width: 768px) {
  .sp-none {
    display: none; } }

@media (max-width: 500px) {
  .tb-block {
    display: none; } }

.tb-only {
  display: none; }
  @media (max-width: 768px) {
    .tb-only {
      display: block; } }
  @media (max-width: 500px) {
    .tb-only {
      display: none; } }

.sp-only {
  display: none; }
  @media (max-width: 500px) {
    .sp-only {
      display: block; } }
