@charset "utf-8";
/* CSS Document */

/*----- 202402 期間限定対応　-----*/
.link_questionnaire {
    padding: 20px;
}
.link_questionnaire a {
    display: block;
    max-width: 800px;
    margin: 0 auto;
    position: relative;
    padding: 30px 70px 30px 143px;
    color: #fff;
    text-decoration: none;
  background: #09a3b7 url("../image/top/link_questionnaire.svg") no-repeat center left 30px / 80px;
  transition: opacity .3s;
}
.link_questionnaire a:hover {
  color: #fff;
  opacity: .8;
}
.link_questionnaire a::before {
    content: "";
    position: absolute;
    right: 30px;
    top: 50%;
    width: 12px;
    height: 12px;
    border-right: 4px solid #fff;
    border-bottom: 4px solid #fff;
    transform: rotate(-45deg);
    opacity: .5;
    margin-top: -10px;
}
.link_questionnaire .ttl {
  color: yellow;
    font-weight: bold;
    margin-bottom: 7px;
    font-size: 2.4rem;
}
.link_questionnaire .date {}
.link_questionnaire .note {
    font-size: 1.4rem;
    padding: 10px 20px;
    margin-top: 7px;
    border: 1px dotted #fafafa;
}
/*----- 202402 期間限定対応　-----*/




.top_main {
  margin: 10px 0;
}
.top_main .slide {
  float: left;
  width: 49.72%;
}
.main_slide {
  position: relative;
}
.main-slider {
  width: 100%;
  margin: 0 auto;
}
.slide-arrow {
  position: absolute;
  top: 50%;
  z-index: 1;
  margin-top: -66px;
  font-size: 40px;
  color: #aaa;
}
.prev-arrow { left: 0; }
.next-arrow { right: 0; }

.slick-slide, .slick-slide::before, .caption {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.slick-slide::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.main-slider {
  position: relative;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  transition: all 1.2s ease;
}
.main-slider.slick-initialized {
  opacity: 1;
  visibility: visible;
}
.slick-slide {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #fff;
}
.slick-slide::before {}
.slick-slide a {
    display: block;
  position: relative;
  height: 100%;
}
.slick-slide video {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.slick-slide iframe {
    position: relative;
    pointer-events: none;
    min-width: 100%;
    min-height: 100%;
}
.slick-slide figure {
  position: relative;
  height: 100%;
  margin: 0;
}
.slick-slide .slide-image {
  /*opacity: 0;*/
  height: 100%;
  background-size: cover;
  background-position: center;
  transition: all .8s ease;
}
.slick-slide .slide-image.show {
  opacity: 1;
}
.slick-slide .image-entity {
  width: 100%;
  opacity: 0;
  visibility: hidden;
}
.slick-slide .loading {
  position: absolute;
  top: 44%;
  left: 0;
  width: 100%;
}
.slick-slide .slide-media {
  -webkit-animation: slideOut 0.4s cubic-bezier(0.4, 0.29, 0.01, 1);
  animation: slideOut 0.4s cubic-bezier(0.4, 0.29, 0.01, 1);
}
.slick-slide.slick-current {
  z-index: 1;
}
.slick-slide.slick-current .slide-media {
  -webkit-animation: slideIn 2.4s cubic-bezier(0.4, 0.29, 0.01, 1);
  animation: slideIn 2.4s cubic-bezier(0.4, 0.29, 0.01, 1);
}
.slick-slide.slick-current .caption {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
  transition: all 0.7s cubic-bezier(0.32, 0.34, 0, 1.62) 0.6s;
}
.main_slide .caption {
  position: absolute;
  bottom: 5%;
    right: 2%;
  text-align: center;
  padding: 10px;
  border: 3px solid;
  color: #fff;
  margin: 0;
  font-size: 22px;
  font-weight: bold;
  letter-spacing: .02em;
  opacity: 0;
  z-index: 1;
  transition: all .3s ease;
  -webkit-transform: translateY(100px);
  transform: translateY(100px);
  background: rgba(0,0,0,.3);
  display: none;
}
.slick-dots {
  text-align: center;
  padding-top: 15px;
}
.slick-dots li {
  display: inline-block;
  vertical-align: top;
  margin: 0 8px;
}
.slick-dots li button {
  width: 16px;
  height: 16px;
  border: none;
  cursor: pointer;
  border-radius: 50%;
  vertical-align: middle;
  color: #fff;
  background-color: #fff;
  border: 1px solid #133775;
  transition: all .3s ease;
  opacity: 1;
  text-indent: -99999px;
}
.slick-dots li button:focus {
  outline: none;
}
.slick-dots li button:hover {
  opacity: .8;
}
.slick-dots li.slick-active button {
  background: #133775;
}

 @-webkit-keyframes slideIn {
   from {
   -webkit-filter: blur(15px);
   filter: blur(15px);
  }
   to {
   -webkit-filter: blur(0);
   filter: blur(0);
  }
}
 @keyframes slideIn {
   from {
   -webkit-filter: blur(15px);
   filter: blur(15px);
  }
   to {
   -webkit-filter: blur(0);
   filter: blur(0);
  }
}
@-webkit-keyframes slideOut {
   from {
   -webkit-filter: blur(0);
   filter: blur(0);
  }
   to {
   -webkit-filter: blur(15px);
   filter: blur(15px);
  }
}
@keyframes slideOut {
   from {
   -webkit-filter: blur(0);
   filter: blur(0);
  }
   to {
   -webkit-filter: blur(15px);
   filter: blur(15px);
  }
}

/* top_navi_01 */
.top_main .top_navi_01 {
  float: right;
  width: 49.72%;
}
.top_navi_01 .item {
  float: left;
  width: 49.38%;
  margin: 0 1.11% 0 0;
}
.top_navi_01 .item:nth-child(2n) {
  margin-right: 0;
}
.top_navi_01 .item_01,
.top_navi_01 .item_02 {
  margin-bottom: 1.11%;
}
.top_navi_01 .item a {
  display: block;
  text-decoration: none;
  color: #000;
  position: relative;
  overflow: hidden;
}
.top_navi_01 .item img {
  width: 100%;
  transition: .3s;
}
.top_navi_01 .item a:hover img {
  transform: scale(1.1);
  opacity: 1;
}
.top_navi_01 .item .detail {
  text-align: center;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  padding: 10px;
  transition: .3s;
}
.top_navi_01 .item a:hover .detail {
  padding: 20px 10px;
}
.top_navi_01 .item_01 .detail { background: rgba(225, 238, 217, 0.8) url("/image/top/icon_oki_02.png") no-repeat right 5px bottom 5px; }
.top_navi_01 .item_02 .detail { background: rgba(253, 234, 243, 0.8) url("/image/top/icon_oki_01.png") no-repeat right 5px bottom 5px; }
.top_navi_01 .item_03 .detail { background: rgba(255, 223, 191, 0.8) url("/image/top/icon_oki_04.png") no-repeat right 5px bottom 5px; }
.top_navi_01 .item_04 .detail { background: rgba(216, 236, 239, 0.8) url("/image/top/icon_oki_03.png") no-repeat right 5px bottom 5px; }

.top_navi_01 .item .ttl {
      font-size: 2.4rem;
    font-weight: normal;
}
.top_navi_01 .item .text {
  font-size: 1.4rem;
}


/* top_navi_02 */
.top_navi_02 {
  letter-spacing: -.5em;
  margin-bottom: 10px;
}
.top_navi_02 .item {
  letter-spacing: normal;
  display: inline-block;
  vertical-align: top;
  margin-left: 0.55%;
  width: 19.55%;
}
.top_navi_02 .item:first-child {
  margin-left: 0;
}
.top_navi_02 .item a {
  display: block;
  text-align: center;
  text-decoration: none;
  padding: 15px 10px;
  color: #000;
  transition: .3s;
}

.top_navi_02 .item_01 a { background: #FFF2E6 url("/image/top/icon_arrow_04.png") no-repeat right 10px bottom 10px; }
.top_navi_02 .item_02 a { background: #D2D9F6 url("/image/top/icon_arrow_02.png") no-repeat right 10px bottom 10px; }
.top_navi_02 .item_03 a { background: #E9D9EE url("/image/top/icon_arrow_03.png") no-repeat right 10px bottom 10px; }
.top_navi_02 .item_04 a { background: #E8E4D9 url("/image/top/icon_arrow_01.png") no-repeat right 10px bottom 10px; }
.top_navi_02 .item_05 a { background: #FFF3C2 url("/image/top/icon_arrow_05.png") no-repeat right 10px bottom 10px; }

.top_navi_02 .item_01 a:hover { background-color: #ecd4be; }
.top_navi_02 .item_02 a:hover { background-color: #bbc4ea; }
.top_navi_02 .item_03 a:hover { background-color: #dbb7e6; }
.top_navi_02 .item_04 a:hover { background-color: #e0dbcb; }
.top_navi_02 .item_05 a:hover { background-color: #fbecad; }

.top_navi_02 .ttl {
  font-size: 2.2rem;
  font-weight: normal;
  margin-bottom: 8px;
}
.top_navi_02 .thumb {
  margin-bottom: 10px;
}
.top_navi_02 a:hover img {
  opacity: 1;
}
.top_navi_02 .text {
  font-size: 1.4rem;
}

/* top_navi_03 */
.top_navi_03 {
  letter-spacing: -.5em;
  margin-bottom: 50px;
}
.top_navi_03 li {
  letter-spacing: normal;
  display: inline-block;
  vertical-align: top;
  margin-left: 0.55%;
  width: 24.55%;
}
.top_navi_03 li:first-child {
  margin-left: 0;
}
.top_navi_03 li a {
  display: block;
}
.top_navi_03 li img {
  width: 100%;
}

/* top_lead_01 */
.top_lead_01 {
  font-size: 2.8rem;
  font-weight: normal;
  text-align: center;
  padding-bottom: 15px;
  border-bottom: 1px solid #BBBBBB;
  margin-bottom: 40px;
  position: relative;
}
.top_lead_01::after {
  content: "";
  width: 220px;
  height: 7px;
  position: absolute;
  left: 50%;
  bottom: -4px;
  margin-left: -110px;
  background: url("../image/bg_lead_01.png") no-repeat 0 0;
}

/*top_topics */
.top_topics {
  margin-bottom: 50px;
}
.top_topics .top_lead_01 {
  margin-bottom: 15px;
}
.top_topics .link { margin-bottom: 30px;}
.top_topics .link .list {
  color: #000;
  text-decoration: none;
  display: inline-block;
  padding: 1px 5px;
  position: relative;
  margin-left: 10px;
}
.top_topics .link .list::after {
      content: "";
    width: 6px;
    height: 6px;
    border-right: 2px solid #65AB43;
    border-bottom: 2px solid #65AB43;
    transform: rotate(-45deg);
    position: absolute;
    right: -10px;
    top: 8px;
}

.top_topics .inner {
  background: url("../image/top/bg_topics.png") no-repeat center top;
}
.top_topics .list_news {
  max-width: 1000px;
  margin: 0 auto;
}


/* top_group */
.top_group {
  margin-bottom: 50px;
}
.top_group .inner {
  padding: 30px 20px;
  background: #F9F5F0;
  text-align: center;
}
.top_group ul {
  letter-spacing: -.5em;
  display: inline-block;
}
.top_group li {
  letter-spacing: normal;
  display: inline-block;
  vertical-align: middle;
  width: 15.47%;
}
.top_group li + li {
  margin-left: 1.43%;
}
.top_group a img {}
.top_group a:hover img {
  transform: scale(1.1);
}


/* top_bnr_01 */
.top_bnr_01 {
  margin-bottom: 30px;
}
.top_bnr_01 ul {
  letter-spacing: -.5em;
}
.top_bnr_01 li {
  letter-spacing: normal;
  display: inline-block;
  vertical-align: top;
  width: 22.5%;
  margin: 0 3.33% 3.33% 0;
}
.top_bnr_01 li:nth-child(4n) {
  margin-right: 0;
}


/* top_bnr_02 */
.top_bnr_02 {}
.top_bnr_02 ul {
	text-align: center;
  letter-spacing: -.5em;
}
.top_bnr_02 li {
  letter-spacing: normal;
  display: inline-block;
  vertical-align: top;
  width: 17.33%;
  margin: 0 3.33% 3.33% 0;
  border: 1px solid #bbb;
  padding: 13px 5px;
  text-align: center;
}
.top_bnr_02 li:nth-child(5n) {
  margin-right: 0;
}
.top_bnr_02 li a {
  color: #000;
  text-decoration: none;
  display: block;
}
.top_bnr_02 li p {
  font-size: 1.3rem;
  margin-top: 12px;
}


/*---------------------------------------------------------------------
	解像度低いように調整
---------------------------------------------------------------------*/
@media screen and (max-width: 1280px) {
  .top_navi_01 .item .ttl {
    font-size: 1.7rem;
  }
  .top_navi_01 .item .text {
    font-size: 1.2rem;
  }
  .top_navi_02 .text {
    font-size: 1.2rem;
  }
}