@charset "utf-8";

/*========= レイアウトのためのCSS ===============*/

.overflow{
  overflow: auto;
  height: 350px;
  
}

.slider a {
  display: block;
  background: #fff;
  padding: 15px 0;
  font-size: 20px;
}

/*日付*/
.slider time {
  display: inline-block;
  font-size: 20px;
  margin-right: 30px;
  color: rgb(0, 0, 0);
}

@keyframes smoothAnime {
  from {
    transform: translate3d(0, 100%, 0) skewY(12deg);
    opacity: 0;
  }

  to {
    transform: translate3d(0, 0, 0) skewY(0);
    opacity: 1;
  }
}

.overview-image .overview-content .overview-image-2 {
  opacity: 0;
}

.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 0.9s;
  animation-fill-mode: forwards;
  opacity: 0;
}
@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


@keyframes fadeInAnime {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.notice {
  width: auto; /*横幅*/
  height: 70px; /*縦幅*/
  background: #014099; /*背景色*/
  animation: fluidrotate 10s ease 0s infinite; /*アニメーションの設定*/

}
.oshi{
  height: 70px;
  width: 200px;
}

.notice h1{
  font-size: 38px;
  color: #ffffff;
  padding-left: 20px;
  padding-top: 10px;
}
.more{
  padding-top: 40px;
}


@keyframes fluidrotate {
  0%,
  100% {
    border-radius: 63% 37% 54% 46%/55% 48% 52% 45%;
  }
  14% {
    border-radius: 40% 60% 54% 46%/49% 60% 40% 51%;
  }
  28% {
    border-radius: 54% 46% 38% 62%/49% 70% 30% 51%;
  }
  42% {
    border-radius: 61% 39% 55% 45%/61% 38% 62% 39%;
  }
  56% {
    border-radius: 61% 39% 67% 33%/70% 50% 50% 30%;
  }
  70% {
    border-radius: 50% 50% 34% 66%/56% 68% 32% 44%;
  }
  84% {
    border-radius: 46% 54% 50% 50%/35% 61% 39% 65%;
  }
}

.btntextchange{
    /*テキストの基点とするためrelativeを指定*/
  position: relative;
    /*ボタンの形状*/
  border: 1px solid #555;
  border-radius:25px;
    min-width:110px;
  padding: 20px;
    text-align: center;
  display: inline-block;
    text-decoration: none;
    color: #333;
    outline: none;
    /*アニメーションの指定*/
    transition: all .1s;
    
}

/*hoverした際の変化*/
.btntextchange:hover{
  background:#f4f9fd;
  color:rgb(51, 51, 51);
}

.btntextchange span{
    /*絶対配置でテキストの位置を決める*/
  position: absolute;
  left: 50%;
  top:50%;
    transform:translate(-50%,-50%);
    /*アニメーションの指定*/
    transition: all .5s;
  /*ブロック要素にしてテキスト折り返しなし*/  
  display: block;
  white-space: nowrap;
}

/*差し替わるテキストの設定*/
.btntextchange span:nth-child(2){
  opacity:0;/*透過0に*/
}

/*hoverするとテキストが入れ替わる設定*/
.btntextchange:hover span:nth-child(1){
  opacity:0;/*透過0に*/
}

.btntextchange:hover span:nth-child(2){
  opacity:1;/*不透明に*/
}


.slide-in {
  overflow: hidden;
  display: inline-block;
}

.slide-in_inner {
  display: inline-block;
}

/*左右のアニメーション*/
.leftAnime {
  opacity: 0; /*事前に透過0にして消しておく*/
}

.slideAnimeLeftRight {
  animation-name: slideTextX100;
  animation-duration: 1.8s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes slideTextX100 {
  from {
    transform: translateX(-100%); /*要素を左の枠外に移動*/
    opacity: 0;
  }

  to {
    transform: translateX(0); /*要素を元の位置に移動*/
    opacity: 1;
  }
}

.slideAnimeRightLeft {
  animation-name: slideTextX-100;
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes slideTextX-100 {
  from {
    transform: translateX(100%); /*要素を右の枠外に移動*/
    opacity: 0;
  }

  to {
    transform: translateX(0); /*要素を元の位置に移動*/
    opacity: 1;
  }
}

/* ここからがニュース記事のCSS */

.news_list a {
    text-decoration: none;
    color: rgb(0, 0, 0);
}

.news_list .news_list_item p{
    color: rgb(0, 0, 0);
    margin-bottom: 0px
}

.news_list ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.news_list {
    margin: 0 5%;
  }
  
  .news_list_item {
    padding: 25px 0;
    border-bottom: 1px solid #E6E6E6;
  }
  
  .news_list_item:first-child {
    border-top: 1px solid #E6E6E6;
  }
  .news_list_item a {
   position: relative;
   display: flex;
   padding-right: 30px;
  }
  
  .news_list_date {
    font-size: 20px;
    display: flex;
    margin-right: 15px;
    align-items: center;
  }
  
  .news_item {
    font-size: 20px;
    background: #b1ccfd;
    border-radius: 14px;
    width: 6em;
    /* 親要素の文字サイズを基準 */
    text-align: center;
    margin-left: 20px;
  }
  
  .arrow {
    width: 25px;
    height: 1px;
    background: #707070;
    position: absolute;
    top: 50%;
    right: 0;
  }
  
  .arrow::after {
    content: "";
    display: block;
    width: 6px;
    height: 1px;
    background: #707070;
    transform: rotate(45deg);
    position: absolute;
    right: 0px;
    bottom: 2px;
  }
  
  
  @media screen and (max-width: 1024px) {
      .news_list_item a {
          display: block;
      }
  }
  
  @media screen and (max-width: 769px) {
      .news_list_item a  {
          font-size: 14px;
      }
  
  
  }
  @media screen and (max-width: 480px) {
      .arrow {
          display: none;
      }
      .news_list_item a {
          padding-right: 0;
      }
  }

.news-all{
  padding-right: 15%;
  padding-left: 15%;
  text-align: left;
}
.news-all p{
  font-size: 18px;
}

/* ここからが個人情報の取扱いについてページのCSS */


.personalinfo-section-right-side {
  text-align: right;
  position: absolute;
  right: 0;
}

.personalinfo-section-updata {
  height: 80px;
  position: relative;
}

.personalinfo-section-content1 {
  text-indent: 1em;
  line-height: 35px;
  position: relative;
}
.personalinfo-section-content1-end{
  height: 80px;
}
.personalinfo-section-list1 ol {
  list-style-type: lower-alpha
}

.personalinfo-section-list1 li {
  margin: 20px;
}

.telephone{
  border: 1px solid grey ;
  width: 100%;
  height: 100px;
  text-align: center;
  margin: 0 auto 40px;
  display: flex;
}
.telephone p{
  align-self:center;
  margin: 0 auto;
}

.personalinfo-section-list2 ol {
  list-style-type: decimal
}

.personalinfo-section-list2 li {
  margin: 20px;
}

.personalinfo-ul li{
  list-style-type: circle;
  margin: 0 0 0 20px;
  list-style-position: inside;

}

.personalinfo-section-content2{
  margin-bottom: 40px;
  line-height: 35px;
  position: relative;
}

.personalinfo-section-content2-end{
  margin-bottom: 60px;
}
