/* 共通 ===================*/
/* ここから集合ページ =========================*/
body {
    margin: 0;
  }
  picture img {
    width: 100%;
    height: auto;
    display: block;
  }
  .tab-labels .btn_keiei {
    border: solid 2px #EC6D65;
  }
  .tab-labels .btn_busidesi {
    border: solid 2px #96a9b3;
  }
  .tab-labels .btn_off {
    border: solid 2px #66BF97;
  }
  .tab-labels .btn_aiit {
    border: solid 2px #D4CB69;
  }
  .tab-labels .btn_spo {
    border: solid 2px #5185C5;
  }
  .tab-labels .btn_flo {
    border: solid 2px #EE86A8;
  }
  .tab-labels .btn_pet {
    border: solid 2px #f6ae6a;
  }
  .tab-labels .btn_aigan {
    border: solid 2px #54c3f1;
  }
  .sp-br {
    display: none;
  }
  @media screen and (max-width: 600px) {
    .sp-br {
      display: block;
    }
  }
  /* all追加 ===================*/
  .tab-contents > div {
  display: none;
  }
  .tab-contents > div.active {
  display: block;
  }
  .tab-labels .btn_all {
  border: solid 2px #000;
  }
  .tab-labels label.btn_all:hover, .tab-labels label.btn_all.active {
  background-color: #000;
  color: #fff;
  border: solid 2px #000;
  z-index: 1;
  }
  /* ボタン ===================*/
  .button {
      width: 70%;
      margin-top: 15px;
      padding: .9em 2em;
      border: none;
      border-radius: 5px;
      background-color: #727171;
      color: #fff;
      font-weight: 600;
      font-size: 1em;
  }
  
  /* 共通ここまで ===================*/
  /* PC ===================*/
  section.main {
      max-width: 100%;
      width: 100%;
      margin: 0 auto;
      padding: 0;
      overflow: hidden;
      overflow: hidden;
      background: url(/files/column/back_pc.png) no-repeat center top;
      background-size: cover;
  }
  section.main img {
    width: 80%;
    height: auto;
    display: block;
    margin: 0 auto;
  }
  .tab-container {
    max-width: 1300px;
    margin: 0 auto;
  }
  .tab-container .tab-wrapper {
    background: #F2F1ED;
    padding: 30px;
    border-radius: 8px;
  }
  .tab-labels {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 0;
    gap: 6px 5px;
    justify-content: left;
  }
  .tab-labels label {
      width: auto;
      min-width: 70px;
      background-color: #ffffff;
      font-size: 16px;
      letter-spacing: 0.05em;
      border-radius: 10px;
      cursor: pointer;
      position: relative;
      box-sizing: border-box;
      transition: background-color 0.3s, color 0.3s;
      height: auto;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      white-space: normal;
      padding: 8px;
      cursor: pointer;
      padding: 5px 10px;
      margin-right: 5px;
      border: 1px solid #ccc;
      border-radius: 4px;
  }
    .tab-labels label.active {
      color: #fff;
      background-color: #30a2f0;
    }
  .tab-wrapper .block02 {
    margin-bottom: 0;
  }
  .tab-contents {
    margin-bottom: 100px;
  }
  .tab-contents > div {
    display: none;
    padding: 1.5em 1em;
  }
  .tab-contents > div.active {
    display: block;
  }
  .tab_area-title{
  font-size: 1.8rem;
      margin-bottom: 20px;
  }
  .tag_list .label::before {
      content: "#";
      margin-right: 2px; /* #と文字の間の隙間 */
  }
  /* PCここまで ===================*/
  
  /* SP ===================*/
  @media screen and (max-width: 767px) {
    section.main img{
      width: 100%;
    }
    .tab_area {
      margin-top: 0;
    }
    .tab_area .tab-labels {
      margin-bottom: 0;
    }
    .tab_area .tab-labels label {
      font-size: 13px;
      min-width: initial;
    }
    section.copy {
      width: 280px;
      margin: 0 auto;
    }
    .tab-container .tab-wrapper {
      background: #F2F1ED;
      padding: 20px 15px;
      border-radius: 8px;
      margin: 20px;
    }
    .card {
      display: block;
      margin: 0 20px;
    }
  .card__img-area {
      width: 40%;
  }
    .card .card__item:last-child {
      margin-bottom: 0;
    }
    .tab-contents > div {
      padding: 4% 5%;
    }
  }
  /* カテゴリを追加したら表示する */
  /* .tab-labels .btn_keiei,
  .tab-labels .btn_busidesi,
  .tab-labels .btn_aiit,
  .tab-labels .btn_spo,
  .tab-labels .btn_flo,
  .tab-labels .btn_pet,
  .tab-labels .btn_aigan{
    display: none;
  } */
  
  /* ここまで集合ページ =========================*/
  
  
  /* ここから記事 =========================*/
  /* =========================
     メインビジュアル
  ========================= */
  .main_v img{
      display: block;
      margin: 20px auto 0px;
      width: 80%;
  }
  
  /* =========================
     見出し
  ========================= */
  .h2_ttl {
      font-weight: bold;
      border: 3px solid #ffa5c1;
      padding: 0.5em 1em;
      border-radius: 20px;
      margin-bottom: 50px;
      position: relative;
      font-size: 3rem;
      line-height: 1.3;
      text-align: justify;
  }
  .h2_ttl::before {
    content: '';
    background-color: #fff;
    width: 20px;
    height: 3px;
    position: absolute;
    left: 30px;
    bottom: -3px;
  }
  .h2_ttl::after {
    content: '';
    background-color: #ffa5c1;
    width: 20px;
    height: 3px;
    transform: rotate(50deg);
    position: absolute;
    left: 25px;
    bottom: -10px;
  }
  h2.sec_head.mini::after{
    display: none;
  }

  .close_inner {
      text-align: center; /* 中央寄せ */
      padding-bottom: 35px;
    }
    .close_p {
      display: inline-block; /* テキストをブロック化して中央に */
      position: relative;
      font-size: 1.5rem;
      font-weight: bold;
      line-height: 1.6;
      padding: 0 90px; /* 装飾の余白を確保 */
    }
    .close_p::before,
    .close_p::after {
      content: "";
      position: absolute;
      top: 50%;
      width: 100px;
      height: 4px;
      background: #66bf97;
    }
    .close_p::before {
      left: 0;
      transform: translateY(-50%) rotate(55deg); /* 左の＼ */
    }
    .close_p::after {
      right: 0;
      transform: translateY(-50%) rotate(-55deg); /* 右の／ */
    }
    .close_p_aigan::before,
    .close_p_aigan::after {
        background: #77bfe3;
    }
  .ann{
      padding-top: 10px;
      line-height: 2.0rem;
  }
  
  /* =========================
     テキスト装飾
  ========================= */
  .hoge{
      font-size: 1.5rem;
      font-weight: bold;
      background: linear-gradient(transparent 50%, #fffa87 50%);
  }
  .bold_text{
      font-weight: bold;
  }
  .text_area p a:hover{
      opacity: 0.5;
  }
  .text_area p + p{
      margin-top: 0;
  }
  .aigan_closing_b{
    font-weight: bold;
    font-size: 2.1rem;
  }
  .aigan_closing_t{
    font-weight: normal;
  }
  
  /* =========================
     背景パターン
  ========================= */
  .bg_pattern::before,
  .bg_pattern::after{
      background: #fffde2;
  }
  
  /* =========================
     チェックリスト
  ========================= */
  .check{
      position: relative;
      text-indent: 2em;
  }
  .check::before{
      position: absolute;
      content: "";
      width: 20px;
      height: 10px;
      border-left: 3px solid #222;
      border-bottom: 3px solid #222;
      transform: rotate(-45deg);
      left: 0;
      top: 5px;
  }
  
  /* =========================
     ボタン
  ========================= */
  .btn_area {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 50px; /* ボタン間隔 */
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .btn_area li{
    width: calc(100% / 2 - 200px);
  }
  .btn_area li a{
    display: block;
    width: 100%;
  }
  .btn_area li img{
    width: 100%;
    height: auto;
    display: block;
    box-shadow: 0px 11px 0px -5px #777777;
    border-radius: 12px;
  }
  .btn_area_off ul li a img{
      box-shadow: 0px 11px 0px -5px #777777;
      width: 34%;
      border-radius: 12px;
  }
  
  /* =========================
     目次
  ========================= */
  .index{
      background: #fffde2;
      padding: 30px;
      width: auto;
      display: table;
      margin: 80px auto;
  }
  .index .text_area{
      margin-bottom: 0;
  }
  .toc_title {
      text-align: center;
      font-weight: 700;
      margin: 0;
      padding: 0;
  }
  .toc_list {
      margin-top: 1em;
  }
  .index li{
      margin: 0;
      padding: 0;
      list-style: none;
  }
  .index a{
      padding: 5px 0;
      display: flex;
  }
  .index .index_no{
  width: 25px;
  }
  
  /* =========================
     詳細ボタン
  ========================= */
  .btn.longer a,
  .btn.longer .under_line {
      width: 400px;
  }
  .link_box_area p {
      margin: 0;
      font-size: 1.5rem;
      line-height: 3rem;
      font-weight: unset;
  }
  
  /* =========================
     関連するコラム
  ========================= */
  .card {
      display: flex;
      flex-wrap: wrap;
      gap: 20px;
      list-style: none;
      padding: 0;
      margin: 0 0 40px;
  }
  .card__title {
  font-size: 14px;
  line-height: 1.5;
}
  .card__item {
    width: calc(33.333% - 27px);
    list-style: none;
    background: #fff;
    overflow: hidden;
    display: flex;
    height: auto;
    border: solid 1px #ccc;
    box-sizing: border-box;
    align-items: stretch;
  }
  .card__item .kanren-link {
      display: flex;
      flex-direction: row;
      width: 100%;
  }

  .card__img-area img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
  }
.card__img-area {
    width: 30%;
	display: flex;
  align-items: center;
}
.card__item .text-area-busi {
    width: 70%;
  padding: 15px;
  display: flex;
  align-items: center;
}

    .tab-contents  .card {
      display: block;
      margin: 80px 60px 0 60px;
      padding: 0;
      flex-wrap: wrap;
      justify-content: left;
      align-items: stretch;
      gap: 60px 40px;
  }
  .tab-contents .card__item {
      min-width: 100%;
      list-style: none;
      background: #fff;
      height: auto;
      box-shadow: none;
      padding: 20px 0;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      border: none;
      position: relative;
      display: block; /* JSで制御 */
      border-bottom: 1px solid #ccc;
  }
  .tab-contents .card__img-area-box{
      display: flex;
      gap: 20px;
  }
  .tab-contents .card__item a {
    text-decoration: none;
    color: #222222;
  }
  .tab-contents .card__item a:hover {
    opacity: 0.6;
    transition: 0.5s;
  }
  .tab-contents .card__img-area {
      margin: 0 2% 0 0;
      width: 20%;
      height: auto;
  }
  .tab-contents .card__img-area img {
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
  .tab-contents .label_wrap span {
      display: inline-block;
      margin: 0 10px 5px 0;
      padding: 4px;
      background: #f5f5f5;
  }
  .tab-contents .card h3 {
     font-size: 15px;
     font-weight: bold;
     display: flex;
     align-items: center;
     position: relative;
  }
  .tab-contents .card h3:after {
     content: "";
      display: flex;
      align-items: center;
      justify-content: center;
      width: 25px;
      height: 25px;
      border-radius: 50%;
      background-color: #000;
      margin-left: 16px;
      flex-shrink: 0;
      background-image: url(/files/top/i-arrow-1.svg);
      background-size: 40%;
      background-repeat: no-repeat;
      background-position: center;
  }
  .tab-contents .text-area {
      padding: 0;
      line-height: 1.6;
      letter-spacing: 0.07em;
      position: relative;
      width: 100%;
  }
  .tab-contents .card__title {
    font-size: 20px;
    font-weight: bold;
    margin: 0;
  }
  
  /* =========================
     オフィスへのリンクボタン
  ========================= */
  .box{
      background: #e8f6f0;
      padding: 40px;
      margin-top: 30px;
  }
  .box_aigan{
        background: #eaf9fa;
    }
  .box .text_area p {
    text-align: center;
    margin-bottom: 0;
  }
  .h3_ttl {
      text-align: center;
      font-size: 2rem;
      padding-bottom: 20px;
      font-weight: bold;
  }
  .btn_area_off  ul{
      display: flex;
      gap: 30px;
  }
  .btn_area_off ul li a img {
    margin: 0 auto;
    display: block;
    width: 100%;
  }
  .btn_area_aigan ul {
      justify-content: center;
  }
  .btn_area_aigan ul li{
      width: calc(100% / 3);
  }
.sec_last{
	margin-bottom: 50px;
}
.box_list{
	text-align: center;
	display: block;
}
.box_list ul{
	text-align: left;
	display: inline-block;
}
.text-ind{
	text-indent: 1em;
}

  /* =========================
     メディアクエリ
  ========================= */
  @media screen and (max-width: 768px) {
      .main_v img{
          width: 100%;
      }

    .pg_ttl.short .inner {
        align-items: center;
        flex-flow: row wrap;
        height: 120px;
    }
    section .sec_wrap{
        margin-top: 40px;
    }
    .index {
        margin: 40px auto;
    }
    .main_v img{
        width: 100%;
    }
    .text_img_set .img_area {
        margin: 0;
    }
    .h2_ttl{
        font-size: 2rem;
        margin-bottom: 30px;
    }
    .btn_area{
        flex-direction: column;
        gap: 30px;
    }
    .btn_area li{
        width: 100%;
    }
    .btn_area a img{
        width: 100%;
    }
    .btn.longer .under_line {
        width: 300px;
    }
    .btn a,
    .btn .under_line {
        padding: 10px 0;
    }

    .pg_ttl.short .inner h1 {
      font-size: 1.8rem;
      line-height: 2.6rem;
    }
      .btn_area_off ul {
          flex-direction: column;
      }
    .btn_area_off ul li a img{
      width: 100%;
    }
    .card{
      flex-direction: column;
      margin-bottom: 40px;
  }
  .card__item{
      width: 100%;
  }
  .box{
      margin-top: 60px;
  }
  .box .text_area p{
      text-align: justify;
  }
  .close_p {
      padding: 0;
      text-align: center;
  }
    .close_p::before,
    .close_p::after {
      top: 0;
      width: 70px;
      height: 4px;
      background: #66bf97;
      bottom: 10px;
      top: initial;
    }
    .close_p::before {
      left: -40px;
      transform: translateY(-50%) rotate(55deg); /* 左の＼ */
    }
    .close_p::after {
      right: -40px;
      transform: translateY(-50%) rotate(-55deg); /* 右の／ */
    }
    .close_p_aigan::before,
    .close_p_aigan::after {
        background: #77bfe3;
    }

  .tab-contents{
      padding: 0px 20px;
  }
  .tab-contents .card{
      margin: 0;
  }
  .tab-contents .card__img-area{
      align-items: center;
      gap: 10px;
      width: 25%;
      margin: 0;
  }
  .tab-contents .card__img-area-box{
      align-items: center;
      gap: 15px;
  }
  .tab-contents .text-area{
      width: 75%;
  }
  .tab-contents .card h3:after{
      bottom: -12px;
      right: 0px;
      width: 20px;
      height: 20px;
  }

  .tab-contents .label_wrap span{
      display: inline-block;
      margin: 0 8px 8px 0;
      word-break: keep-all;
  }
  .btn_area_aigan ul li{
    width: 100%;
  }
  .text_area ul li{
    padding-bottom: 10px;
  }
  .text_area ul li:last-child{
    padding-bottom: 0;
  }
.text-ind{
	text-indent: 0;
}
  }
  
  /* ここから記事 =========================*/
  
  /* 学科名の部分 */
  .tab-contents .label_wrap .office{
      background: #66bf97;
      color: #fff;
      }

.tab-contents .label_wrap .aigan{
      background: #54c3f1;
      color: #fff;
}
  .text-area-busi {
      padding: 20px;
  }
.text-area-busi {
    padding: 20px;
    width: 70%;
display: flex;
    align-items: center;
}

  /*愛玩=====================================*/
  .aigan_li{
      font-size: 1.3rem;
      line-height: 1.7;
  }
  .check_aigan{
      padding-bottom: 20px;
  }
  .check_aigan:last-child{
      padding-bottom: 0;
  }
	.close_p_aigan{
		padding: 0 60px;
	}
	.close_p_aigan::before,
	.close_p_aigan::after{
		width: 50px;
	}
@media screen and (max-width: 768px) {
    .close_p_aigan::before {
        left: -20px;
    }
    .close_p_aigan::after {
        right: -20px;
    }
	.close_p_aigan::before,
	.close_p_aigan::after{
		top: 40px;
	}
	.close_p_aigan{
		padding: 0 20px;
	}
}