body{
  margin: 0;
  width: auto;
  -webkit-text-size-adjust: 100%;
  background: white;
  margin: 0 auto;  /* ページを真ん中に寄せる */
  padding: 10px 20px;
}
@media only screen and (max-width: 768px) {
  body {
    padding: 3px;
    width: 100%;
  }
}

.container{
  padding-top:2vh;
  width: 100%;   /* ページの横幅全てを使う */
}

.col-3 {
  width: 25%; /* コンテナの幅を25%に設定し、4等分する */
  height: 150px; /* コンテナの高さを指定 */
  /* border-right: 3px solid green; 緑の縦線を右側に引く */
}
.col-3:last-child {
  border-right: none; /* 最後のコンテナには緑の縦線を引かない */
}

/*PCの場合のみ表示*/
@media screen and (min-width: 769px) {
  .pc	{ display:inline!important; }
  .mb	{ display:none!important; }
  }
@media screen and (max-width: 768px) {
  /*タブレット、スマホの場合のみ表示*/
  .pc	{ display:none!important; }
  .mb { display:inline!important; }
  }

/* モバイル用の文字サイズの設定 */
@media (max-width: 576px) {
  .fs-3 { font-size: 18px; }
  .fs-4 { font-size: 25px; }
  .fs-5 { font-size: 30px; }
}

/*行間をあける。使う時は<p class="l2">*/
.l1 { margin-bottom:1em; }
.l2 { margin-bottom:2em; }
.l3 { margin-bottom:3em; }
.l4 { margin-bottom:4em; }
.l5 { margin-bottom:5em; }

  /* サイドナビ */
t1 {
  /* color: #505050; */
  display: flex;
  color: white;/*文字色*/
  padding-top: 10px;
  padding-bottom:10px;
  padding-left: 3px;/*文字周りの余白*/
  display: inline-block;/*おまじない*/
  line-height: 1.3;/*行高*/
  width:100%;
  /* background: #f5f5f5; */
  background: darkgreen;/*背景色*/
  vertical-align: middle;
  border-radius: 0px 25px 25px 0px;/*左側の角を丸く*/
  margin:0 0 10px;
  }

  button.login-button {
    background-color: darkgreen;
  }

  /* サイドボタン */
  .side-button {
    display: flex;
    width:100%;
    transform: translateY(-50%);
    /* background-color: #green;
    border: 2px solid #darkgreen; */
    padding: 5px;
    cursor: pointer;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    transition: background-color 0.3s ease, border-color 0.3s ease;
    color:gray;
  }
  
  .side-button:hover {
    background-color: #ddd;
    border-color: #b4b4b4;
    text-decoration: none;
    color:rgb(72, 72, 72);
  }

/* カードがBootstrapにしかないので */
  .card {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    border: 1px solid #ccc;
    border-radius: 20px;
    padding: 10px;
    width: 95%;
    background-color: white;
    text-align:center;
  }
  @media only screen and (max-width: 768px) {
    .card {
      width: 100%;
    }
  }
  
  .card-img-top {
    width: 100%;
    height: auto;
  }
  
  .card-body {
    padding: 10px;
  }
  
  .card-title {
    font-size: 18px;
    font-weight: bold;
  }
  
  .card-text {
    margin-bottom: 10px;
  }

/* タブ ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊*/
.area {
  margin: auto;
  flex-wrap: wrap;
  display: flex;
}

.tab_class {
  height: 50px;
  background-color: white;
  line-height: 50px;
  /* line-height: 1; */
  font-size: 15px;
  text-align: center;
  color:darkgreen;
  display: block;
  float: left;
  order: -1;
  border-radius: 15px 15px 0 0;
}
@media only screen and (max-width: 768px) {
  .tab_class {
      line-height: 1;
  }
}


.area-8tabs .tab_class {
  width: calc(100%/8);
  /* その他のスタイル */
}

.area-6tabs .tab_class {
  width: calc(100%/6);
  /* その他のスタイル */
}

.area-5tabs .tab_class {
  width: calc(100%/5);
  /* その他のスタイル */
}

.area-4tabs .tab_class {
  width: calc(100%/4);
  /* その他のスタイル */
}

.area-3tabs .tab_class {
  width: calc(100%/4);
  /* その他のスタイル */
}

 
input[name="tab_name"] {
  display: none;
}
input[name="tab_name2"] {
  display: none;
}
input[name="tab_name3"] {
  display: none;
}
input[name="tab_name4"] {
  display: none;
}
 
input:checked + .tab_class {
  background-color: rgb(232, 231, 231);
  color: gray;
}

.tab_class:hover {
  background-color: whitesmoke;
  color: darkgreen;
}
 
.content_class {
  display: none;
  width: 100%;
}
 
input:checked + .tab_class + .content_class {
  display: block;
}


/* 緑色のアウトラインのボタンの作成 *************************************************/
.btn-outline-darkgreen {
  color: darkgreen;
  background-color: transparent;
  background-image: none;
  border-color: darkgreen;
}

.btn-outline-darkgreen:hover,
.btn-outline-darkgreen:not(:disabled):not(.disabled):active, .btn-outline-darkgreen:not(:disabled):not(.disabled).active,
.show > .btn-outline-darkgreen.dropdown-toggle {
  color: #fff;
  background-color: darkgreen;
  border-color: darkgreen;
}

.btn-outline-darkgreen:focus, .btn-outline-darkgreen.focus,
.btn-outline-darkgreen:not(:disabled):not(.disabled):active:focus, .btn-outline-darkgreen:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-darkgreen.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
}

.btn-outline-darkgreen.disabled, .btn-outline-darkgreen:disabled {
  color: darkgreen;
  background-color: transparent;
}

.btn-outline-gray {
  color: gray;
  background-color: transparent;
  background-image: none;
  border-color: gray;
}

.btn-outline-gray:hover,
.btn-outline-gray:not(:disabled):not(.disabled):active, .btn-outline-gray:not(:disabled):not(.disabled).active,
.show > .btn-outline-gray.dropdown-toggle {
  color: #fff;
  background-color: gray;
  border-color: gray;
}

.btn-outline-gray:focus, .btn-outline-gray.focus,
.btn-outline-gray:not(:disabled):not(.disabled):active:focus, .btn-outline-gray:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-gray.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
}

.btn-outline-darkgreen.disabled, .btn-outline-gray:disabled {
  color: gray;
  background-color: transparent;
}

/*可愛いボタン*/
.btn-darkgreen {
  position: relative;
  display: inline-block;
  padding: 0.25em 0.5em;
  text-decoration: none;
  color: #FFF;
  background: darkgreen;/*色*/
  border-radius: 4px;/*角の丸み*/
  box-shadow: inset 0 2px 0 rgba(255,255,255,0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
  font-weight: bold;
  border: solid 2px darkgreen;/*線色*/
}

.btn-darkgreen:hover {
  /*押したとき*/
  background-color: rgb(0, 77, 0);
  color:white;
}

.btn-darkgreen:active {
  /*押したとき*/
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.30);
  color: white;
}

/*可愛いボタン*/
.btn-square-so-pop {
  position: relative;
  display: inline-block;
  padding: 0.25em 0.5em;
  text-decoration: none;
  color: #FFF;
  background: #fd9535;/*色*/
  border-radius: 4px;/*角の丸み*/
  box-shadow: inset 0 2px 0 rgba(255,255,255,0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
  font-weight: bold;
  border: solid 2px #d27d00;/*線色*/
}

.btn-square-so-pop:hover {
background-color: #d27d00;
color: white;
}

.btn-square-so-pop:active {
  /*押したとき*/
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.30);
  color: white;
}

/*可愛いボタン*/
.btn-square-so-pop-blue {
  position: relative;
  display: inline-block;
  padding: 0.25em 0.5em;
  text-decoration: none;
  color: #FFF;
  background: #4b9fff;/*色*/
  border-radius: 4px;/*角の丸み*/
  box-shadow: inset 0 2px 0 rgba(255,255,255,0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
  font-weight: bold;
  border: solid 2px #1808f8;/*線色*/
}

.btn-square-so-pop-blue:active {
  /*押したとき*/
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.30);
  color:white;
}


/* 使わないかも */
.btn-outline-darkorange {
  color: darkorange;
  background-color: transparent;
  background-image: none;
  border-color: darkorange;
}

.btn-outline-darkorange:hover,
.btn-outline-darkorange:not(:disabled):not(.disabled):active, .btn-outline-darkorange:not(:disabled):not(.disabled).active,
.show > .btn-outline-darkorange.dropdown-toggle {
  color: #fff;
  background-color: darkorange;
  border-color: darkorange;
}

.btn-outline-darkorange:focus, .btn-outline-darkorange.focus,
.btn-outline-darkorange:not(:disabled):not(.disabled):active:focus, .btn-outline-darkorange:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-darkorange.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
}

.btn-outline-darkorange.disabled, .btn-outline-darkorange:disabled {
  color: darkorange;
  background-color: transparent;
}

/* ハンバーガーメニュー */
.menu-container {
  display: none;
  padding: 20px;
  background-color: #f4f4f4;
}

.side-button {
  display: block;
  color: darkgreen;
  font-size: 20px;
  text-decoration: none;
  margin-bottom: 10px;
}

.hamburger {
  display: none;
  cursor: pointer;
  font-size: 50px;
}

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

  .menu-container {
      padding: 20px;
      background-color: #f4f4f4;
  }

  .side-button {
      font-size: 18px;
  }
}