@charset "UTF-8";

/*-- 標準的なレイアウト --*/
.normal-layout,
.onecolumn-layout {
  margin-top: 180px;
  margin-bottom: 180px;
  margin-left: auto;
  margin-right: auto;
  width: 98%;

  color: #606060;
  font-size: 0.9rem;
  h1 {
    font-size: 1.6rem;
    color: #000;
  }

  h2 {
    font-size: 1.3rem;
    color: #000;
  }

  h3 {
    font-size: 1.2rem;
    color: #000;
  }

  .abstruct {
    padding: 9px 12px;
  }

  .block-content {
    padding: 12px 12px 9px 12px;
    p, ul{
      margin-top: 6px;
      margin-left: 9px;
      margin-bottom: 6px;
    }

    table {
      margin-top: 24px;
    } 

    li {
      margin-left : 18px;
      list-style: outside;
    }
  }
}

.onecolumn-layout {

  h1 {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    font-size: 1.8rem;
    padding-bottom: 1.5rem;
    position: relative;* ドット分の余白 */
    color: rgb(0, 84, 56);
    margin: 18px auto 12px auto;
  }

  h1::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: 16px;
    height: 16px;
    background-color: rgb(3, 173, 116);
    border-radius: 50%;
  }

  h2 {
    position: relative;
    padding: .3em 0 .2em 1em;
    border-bottom: 3px solid rgb(3, 173, 116);
    color: #333333;
  }

  h2::before {
    position: absolute;
    top: 0;
    left: .3em;
    transform: rotate(55deg);
    height: 11px;
    width: 12px;
    background: rgb(3, 173, 116);
    content: '';
  }
  
  h2::after {
    position: absolute;
    transform: rotate(15deg);
    top: .6em;
    left: 0;
    height: 8px;
    width: 8px;
    background: rgb(3, 173, 116);
    content: '';
  }
  
  h3 {
    position: relative;
    color: #333333;
    position: relative;
    line-height: 1.4;
    font-size: 1.2em;
    font-weight: normal;
    padding: 5px 5px 5px calc(1em + 5px);
  }

  h3::before{
    position: absolute;
    left: 0;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 5 Free"; 
    font-weight: 900;
    color: rgb(3, 173, 116);
    content: '\f101';
  }

  .onecolumn-content {
    margin: 12px auto 18px auto;
    width: 96%;
    padding: 6px 0;
  }

  .button-list {
    list-style: none;
    padding: 12px 0;
    margin: 0;
    display: flex;
    gap: 12px; /* ボタン間のスペース */
  }
  
  .button-list li {
    list-style: none;
    margin: 0;
  }
  
  .ol-effect {
    list-style-position: outside;     
    border: 1px slid #f00;
  }

  .list-content {
    margin: 12px 0;

    ol li  {
      margin-bottom: 6px;
      list-style-type: none;
      counter-increment: cnt;
    }

    ol li::before {
      content: "("counter(cnt)") ";
    }

    dl {
      margin-left: 12px;
    }

    dl dt {
      font-size: 1.1rem;
      font-weight: normal;
    }
    dl dd {
      margin-top: 9px;
      margin-bottom: 12px;
    }

  }

  .custom-button {
    display: inline-flex;
    overflow: hidden;
    border-radius: 8px;
    padding: 0;
    cursor: pointer;
    border: 1px solid rgb(3, 173, 116);
    color: rgb(0, 84, 56);
    margin-left: 24px;
  }
  
  .button-text {
    background-color: #f2f2f2; /* テキスト側の色 */
    color: #333;;
    padding: 6px 32px;
  }
  
  .button-icon {
    background-color: rgb(3, 173, 116); /* アイコン側の色 */
    color: white;
    padding: 6px 12px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

@media screen and (max-width: 576px) {/* スマホ用のブレイクポイントを指定 */
  .basic-layout, .onecolumn-layout {
    margin-top: 90px;
  }

}
