@charset "utf-8";

.colum{ font-family: 'Noto Serif JP', serif;}
.font-optima{ font-family: "optima", sans-serif; font-weight: normal;  }
.flex{ display: flex; justify-content: space-between; flex-wrap: wrap;}

h2{ font-size: 5rem; font-weight: bold; max-width: 1200px; width: calc(100% - 50px); line-height: 1.5; margin:0 auto;}
h2 span:not(.font-optima){ display: block; font-size: clamp(1.6rem,1.5vw,1.8rem); }

.titBox { padding-bottom: 30px;}
.contents{  padding: 100px 0 90px ; background: #f5f5f5;}
.colum_list{ background: #fff ; padding: 25px; }
.colum_list .entry{  flex-basis: calc((100% - 25px)/2); margin-bottom: 50px;}
.colum_list .entry figure {position: relative; text-align: center;}
.colum_list .entry figure figcaption{ position: absolute; font-size: 1rem; font-family: 'Noto Sans JP', sans-serif; color: #fff; text-align: center; padding: 0 5px 3px 5px; display: block; background: #13a774; bottom: 8px; left: 8px; border-radius: 3px;}
.staff .colum_list .entry figure figcaption{ background: #FFC107;}
.visit .colum_list .entry figure figcaption{ background: #E83E8C;}
.colum_list .entry figure img{ border-radius: 3px;}
.colum_list .entry .entry_tit{ padding: 5px 0 10px; font-size: 1.8rem;}
.colum_list .entry .entry_tit span{ display: inline-block; margin-right: 0.2em;}
.colum_list .entry .entry_tit:hover{ opacity: 0.7;}
.colum_list .entry a:hover figure{ overflow: hidden;}
.colum_list .entry a:hover figure img{ transform:scale(1.1,1.1); transition: 1s linear;}
.colum_list .entry .date{ padding-bottom: 10px; font-size: 1.4rem; color: #999;}
.colum_list .entry .txtBox{   overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical;-webkit-line-clamp: 2; }


@media (max-width: 1400px){
  h2{ font-size: 4.5rem;}
  .titBox { padding-bottom: 30px;}
}

@media (max-width: 768px){
    .contents { padding: 70px 0 90px; background: #f5f5f5;}
    h2{ font-size: clamp( 2rem , 6.5vw, 5rem); margin-bottom: 0;}

    .mv .mv_txt{ top: 47%; left: 50%; transform: translateX(-50%); font-size: clamp(20px,7vw,58px); width: 100%; top: 20.7%; text-align: center; font-feature-settings: "palt";}

    .concept_txt{ padding: 40px auto;}
    .concept_txt .txtBox{text-align: left; font-size: 3.1vw; }

    .colum_list .entry{ flex-basis: 100%; margin-bottom: 50px;}
    .colum_list .entry .entry_tit{ padding: 5px 0 10px; font-size: 1.8rem;}


}