@charset "utf-8";

/* --------------------------------------------


index


---------------------------------------------- */


/* --------------------------------------------

index

---------------------------------------------- */
.mainV {
 padding: 13.6% 5.2% 0;
}

.mainV h1 {
 width: 62%;
 max-width: 1256px;
}

.mainV_text {
 display: flex;
 flex-wrap: wrap;
 justify-content: flex-start;
 margin: 2.3% 0 5%;
}

.mainV_text h2 {
 width: 280px;
}

.mainV_text p {
 padding-left: 3.5%;
 font-size: 1.8rem;
 letter-spacing: 0.18em;
}

@media only screen and (max-width:1340px) {
 .mainV {
  padding: 18% 5.2% 0;
 }

 .mainV h1 {
  width: 78%;
 }

}

@media only screen and (max-width:640px) {
 .mainV {
  padding: 30% 5.2% 0;
 }

 .mainV h1 {
  width: 100%;
 }

 .mainV_text {
  margin: 6% 0 5%;
 }

 .mainV_text h2 {
  width: 360px;
 }

 .mainV_text p {
  padding-left: 0%;
  padding-top: 3%;
  font-size: 1.6rem;
  line-height: 1.6;
 }

 .mainV_text p br {
  display: none;
 }
}








/* --------------------------------------------

index

---------------------------------------------- */
.link-mainWrap {
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
}

.link-main_item {
 width: 28.2%;
 margin: 0 1.6% 4%;
 background: #fff;
 border-radius: 1.4rem;
 box-shadow: 0 0 16px rgba(50, 58, 99, 0.1);
}

.link-main_item a {}

.link-main_item figure {
 border-radius: 1.4rem 1.4rem 0 0;
 overflow: hidden;
 position: relative;
}

.link-main_item figure::after {
 content: "";
 display: block;
 width: 4rem;
 height: 4rem;
 border: 1px solid #fff;
 background-image: url(../_image/common/icon-arrow.svg);
 background-size: 50%;
 background-repeat: no-repeat;
 background-position: center;
 background-color: #fff;
 border-radius: 5rem;
 box-shadow: 0 0 16px rgba(50, 58, 99, 0.1);

 position: absolute;
 right: 4%;
 bottom: 8%;
 transition: 0.5s;
}

.link-main_item figure img {
 transition: 0.5s;
}

.link-main_item:hover figure::after {
 border: 1px solid rgba(195, 203, 214, 0.5);
 box-shadow: 0 0 8px rgba(50, 58, 99, 0.1);
 opacity: 0.6;
}

.link-main_item:hover figure img {
 transform: scale(1.03);
}


.link-main_item h3 {
 margin: -1.9em 0 0.9em 6.5%;
 font-size: 4.2rem;
 color: #fff;
 letter-spacing: 0.1em;
 white-space: nowrap;
 position: relative;
 opacity: 0.85;
}

.link-main_item p {
 padding: 0 7% 1em;
 font-size: 1.6rem;
 line-height: 1.6;
}


@media only screen and (max-width:1480px) {
 .link-main_item h3 {
  font-size: 2.8vw;
 }
}


@media only screen and (max-width:640px) {
 .link-mainWrap {
  margin: 10% 0 4%;
 }

 .link-main_item {
  width: 90%;
  margin: 0 auto 6%;
 }

 .link-main_item figure {
  height: 48vw;
 }

 .link-main_item figure img {
  margin: -10% 0;
 }

 .link-main_item h3 {
  margin: -1.8em 0 0.8em 6.5%;
  font-size: 3.6rem;
 }

 .link-main_item p {
  font-size: 1.6rem;
 }

}





/* --------------------------------------------

index

---------------------------------------------- */
.link-subWrap {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 padding: 0.5% 4.6%;
 margin: 0 0 6.5%;
 background: rgba(214, 224, 234, 0.85);
 background: rgba(71, 132, 193, 0.1);
}

.link-sub_item {
 width: 48%;
}

.link-sub_item:nth-child(1),
.link-sub_item:nth-child(2) {
 border-bottom: 2px solid rgba(52, 63, 106, 0.22);
}

.link-sub_item a {
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
 align-items: center;
 padding: 3.4% 4.2%;
 position: relative;
}

.link-sub_item a::after {
 content: "";
 display: block;
 width: 4rem;
 height: 4rem;
 border: 1px solid #fff;
 background-image: url(../_image/common/icon-arrow.svg);
 background-size: 50%;
 background-repeat: no-repeat;
 background-position: center;
 background-color: #fff;
 border-radius: 5rem;
 box-shadow: 0 0 16px rgba(50, 58, 99, 0.1);

 position: absolute;
 right: 2%;
 bottom: 8%;
 transition: 0.5s;
}

.link-sub_item a[target="_blank"]::after {
 background-image: url(../_image/common/icon-blank.svg);
}

.link-sub_item:hover a::after {
 opacity: 0.6;
 border: 1px solid rgba(195, 203, 214, 0.5);
 box-shadow: 0 0 8px rgba(50, 58, 99, 0.1);
}

.link-sub_item figure {
 width: 39%;
 border-radius: 1rem;
 overflow: hidden;
 box-shadow: 0 0 16px rgba(50, 58, 99, 0.1);
}

.link-sub_item figure img {
 height: 100%;
 object-fit: cover;
 object-position: center;
 transition: 0.5s;
}

.link-sub_item:hover figure img {
 transform: scale(1.03);
}

.link-sub_text {
 width: 61%;
 padding: 0 5% 0 6%;
}

.link-sub_text h3 {
 margin-bottom: 0.5em;
 font-size: 1.8rem;
 font-weight: 700;
}

.link-sub_text p {
 font-size: 1.4rem;
}


@media only screen and (max-width:640px) {
 .link-subWrap {
  margin: 0 0 10%;
  padding: 4% 4.6%;
 }

 .link-sub_item {
  width: 100%;
 }

 .link-sub_item:nth-child(1),
 .link-sub_item:nth-child(2),
 .link-sub_item:nth-child(3) {
  border-bottom: 2px solid rgba(52, 63, 106, 0.22);
 }

 .link-sub_item a {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding: 5% 0%;
  position: relative;
 }

 .link-sub_item a::after {
  width: 3rem;
  height: 3rem;

  right: -2%;
  bottom: 9%;
 }

 .link-sub_item figure {
  width: 40%;
  height: 24vw;
  border-radius: 1rem;
  overflow: hidden;
  order: 2
 }

 .link-sub_text {
  width: 60%;
  padding: 0 5% 0 0%;
  order: 1;
 }

 .link-sub_text h3 {
  margin-bottom: 0.2em;
  font-size: 2rem;
 }

 .link-sub_text p {
  font-size: 1.5rem;
  line-height: 1.4;
 }
}



/* --------------------------------------------

index

---------------------------------------------- */
.main_inner {
 padding: 10% 0 5% 1%;
}

.main_inner::before {}

@media only screen and (max-width:640px) {
 .main_inner {}

 .main_inner::before {}

}



/* --------------------------------------------

index

---------------------------------------------- */
.pickupWrap {
 position: relative;
 display: flex;
 flex-wrap: wrap;
}

.pickupWrap h2 {
 width: 60px;
}

.pickup_slide {
 position: relative;
 width: calc(100% - 60px - 4.6%);
 margin-left: 4.6%;
 padding: 0 0 8rem;
 overflow: hidden;
}

.pickup_slide .swiper-slide a {
 display: block;
 margin: 0 5% 4.5% 0;
 background: #fff;
 box-shadow: 0 0 16px rgba(50, 58, 99, 0.1);
 border-radius: 1.4rem;
}

.pickup_slide .swiper-slide figure {
 height: 13.7vw;
 border-radius: 1.2rem 1.2rem 0 0;
 overflow: hidden;
}

.pickup_slide .swiper-slide figure img {
 object-fit: cover;
 width: 100%;
 height: 101%;
}

.pickup_slide .swiper-slide p {
 display: flex;
 align-items: center;
 padding: 0 8%;
 line-height: 1.4;
 height: 4.8em;
 font-weight: 600;
}


@media only screen and (max-width:1180px) {
 .pickup_slide .swiper-slide figure {
  height: 15.2vw;
  min-height: 165px;
 }
}

@media only screen and (max-width:640px) {
 .pickupWrap {
  margin: 0 0 4%;
 }

 .pickupWrap h2 {}

 .pickup_slide {
  padding: 0 0 6rem;
 }

 .pickup_slide .swiper-slide figure {
  min-height: 230px;
 }

 .pickup_slide .swiper-slide p {
  height: 5.4em;
 }

}







/* --------------------------------------------

index

---------------------------------------------- */
.infoWrap {
 position: relative;
 display: flex;
 flex-wrap: wrap;
 padding: 1.8% 0 0;
}

.infoWrap h2 {
 width: 60px;
}

.info_inner {
 width: calc(100% - 60px - 13.5%);
 padding: 0% 0 5.5% 4.6%;
}

.info_inner h3 {
 font-size: 2.6rem;
 font-weight: 600;
}

.info_list {
 margin: 1.4% 0 0;
}

.info_list li a {
 display: flex;
 align-items: center;
 padding: 2.5rem 0.5%;
 position: relative;
 transition: 0.5s;
}

.info_list li a::after {
 content: "";
 display: block;
 width: 4rem;
 height: 4rem;
 background-image: url(../_image/common/icon-arrow.svg);
 background-size: 50%;
 background-repeat: no-repeat;
 background-position: center;
 background-color: #fff;
 border-radius: 5rem;
 border: 1px solid rgba(255, 255, 255, 1);
 box-shadow: 0 0 16px rgba(50, 58, 99, 0.1);

 position: absolute;
 right: 0.5%;
 top: calc(50% - 2rem);
 transition: 0.5s;
}


.info_list li a:hover {
 opacity: 0.5;
}

.info_list li a:hover::after {
 border: 1px solid rgba(195, 203, 214, 0.5);
 box-shadow: 0 0 8px rgba(50, 58, 99, 0.1);
}


.info_list li:not(:last-child) {
 border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

.info_list time {
 font-family: "Arial", sans-serif;
 opacity: 0.5;
}

.info_list span {
 display: inline-block;
 width: 10em;
 margin: 0 1em;
 color: #fff;
 text-align: center;
 font-size: 1.4rem;
 font-weight: 600;
 line-height: 2.2;
 border-radius: 3rem;
}

.info_list span.cat-bunka {
 background: #1bc3c2;
}

.info_list span.cat-aqua {
 background: #317ecf;
}

.info_list span.cat-zaidan {
 background: #f1b352;
}

.info_list a {
 display: block;
 width: auto;
}

.info_inner .linkBtn {
 display: block;
 max-width: 310px;
 margin: 2rem auto 0;
}

@media only screen and (max-width:640px) {
 .infoWrap {}

 .infoWrap h2 {}

 .info_inner {
  width: calc(100% - 60px - 9%);
  padding: 0% 0 5.5% 4.6%;
 }

 .info_inner h3 {
  font-size: 2.2rem;
 }

 .info_list {
  margin: 1.4% 0 5%;
 }

 .info_list li a {
  flex-wrap: wrap;
  padding: 0.5rem 15% 1.5rem 0.5%;
  position: relative;
 }

 .info_list li a::after {
  width: 3rem;
  height: 3rem;

  right: 0.5%;
  top: calc(50% - 1.5rem);
 }

 .info_list li:not(:last-child) {
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
 }

 .info_list time {}

 .info_list span {
  width: 12rem;
  margin: 0.8em;
 }

 .info_inner .linkBtn {
  max-width: none;
 }
}









/* --------------------------------------------

index

---------------------------------------------- */

@media only screen and (max-width:640px) {}






/* --------------------------------------------

index

---------------------------------------------- */

@media only screen and (max-width:640px) {}
