@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Poppins:wght@400;600;700&display=swap');

@charset "utf-8";

/* ----------------------------------------
	common
---------------------------------------- */

img {
  max-width: 100%;
  height: auto;
}
.img-orig-size {
  width: auto;
}
.img-fixed-400px {
  width: 400px;
}

a {
  text-decoration: none;
}

a:hover {
  text-decoration: transparent;
  opacity: 0.8;
}
a:hover img {
  opacity: 0.8;
}
.pc_area {
  display: block !important;
}
.sp_area {
  display: none !important;
}
@media only screen and (max-width: 750px) {
  .pc_area {
    display: none !important;
  }
  .sp_area {
    display: block !important;
  }
}

@media only screen and (max-width: 750px) {
  .pc_area02 {
    display: none !important;
  }
}

@media screen and (max-width: 640px) {
  .spbr_none_box br {
    display: none;
  }
}

.link_img01 a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
  transition-duration: 0.2s;
}

.link_img02 a:hover img {
  filter: contrast(200%);
  transition-duration: 0.2s;
}

.row {
  margin: 0;
  padding: 0;
  width: auto;
  overflow: hidden;
}
.grid-3 {
  width: 100%;
}
.grid-3 img{
  width: 100%;
}

@media (min-width: 650px) {
  .row {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
  }
  .grid-12,
  .grid-9,
  .grid-6,
  .grid-4,
  .grid-3,
  .menu_grid-4 {
    float: left;
    padding: 0 0;
  }
  .grid-12 {
    width: 100%;
  }
  .grid-9 {
    width: 75%;
  }
  .grid-6 {
    width: 50%;
  }
  .grid-4 {
    width: 33.3333%;
  }
  .grid-3 {
    width: 25%;
  }
  .menu_grid-4 {
    width: 33.3333%;
  }
  .grid-center {
    margin-left: auto;
    margin-right: auto;
  }
}

.row_box2 {
  margin: 0;
  padding: 0;
  width: auto;
  overflow: hidden;
}

@media (min-width: 750px) {
  .row_box2 {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0;
    display: flex;
  }
  .grid-9_box2,
  .grid-3_box2 {
    padding: 0 0;
  }
  .grid-9_box2 {
    width: 75%;
  }
  .grid-3_box2 {
    width: 25%;
  }
  .grid-center_box2 {
    margin-left: auto;
    margin-right: auto;
  }
}

.block-grid {
  width: auto;
  overflow: hidden;
  list-style: none;
  margin: 0 -1% 20px;
  padding: 0;
}
.block-grid li {
  float: left;
  margin: 0 1% 20px;
  padding: 0;
}
.block-grid a {
  text-decoration: none;
  font-size: 1.6em;
}
@media (min-width: 300px) {
  .block-grid-1-2-3 li {
    width: 98%;
  }
}
@media (min-width: 760px) {
  .block-grid-1-2-3 li {
    width: 31.3333%;
  }
  .block-grid-1-2-3 li:nth-child(2n + 1) {
    clear: none;
  }
  .block-grid-1-2-3 li:nth-child(3n + 1) {
    clear: both;
  }
}

.movie-wrap {
  position: relative;
  padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
  height: 0;
  overflow: hidden;
}

.movie-wrap video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

video {
  width: 100%;
}

.video__video {
  border: none;
  outline: none;
  height: 720px;
  width: 100%;
  object-fit: cover;
}

/* ----------------------------------------
	Anime
---------------------------------------- */

.fadein {
  opacity: 0;
  transform: translateY(20px);
  transition: all 1s;
}

/* ----------------------------------------
	t-link
---------------------------------------- */

.link-t-a {
  position: relative;
  top: -80px;
  display: block;
}

@media screen and (max-width: 640px) {
  .link-t-a {
    top: -40px;
  }
}

/* ----------------------------------------
	header-nemu
---------------------------------------- */

/* pc */
.inner {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
}

/* ----------------------------------------
	section1
---------------------------------------- */

.section1 {
  margin: 0 auto;
  padding: 60px 0 0 0;
  max-width: 1250px;
}
.section1__main {
  margin: 0 auto;
  padding: 0 0 0 0;
  max-width: 1080px;
}
.section1__ttl01 {
  text-align: center;
  padding: 260px 0 0 0;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 48px;
  color: #505F6D;
}
.section1__ttl02 {
  text-align: center;
  padding: 15px 0 0 0;
  font-family: 'Poppins', sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: #505F6D;
}
.section1__text01 {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px;
  line-height: 2.2;
  max-width: 784px;
  margin: 0 auto;
  padding: 25px 0 0 0;
}
.section1__container {
  display: flex;
  gap: 50px;
  padding: 70px 0 0 0;
  max-width: 784px;
  margin: 0 auto;
}

.section1__container__title {
  position: relative;
  display: inline-block;
  width: 150px;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px;
  line-height: 2.2;
}
.section1__container__title::before {
  content: "";
  position: absolute;
  top: 70px;
  right: -30px;
  width: 143px;
  height: 1px;
  background-color: #000;
  transform: rotate(-60deg);
  transform-origin: center;
}
.section1__container__content{
  max-width: 380px;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px;
  line-height: 2.2;
}


@media screen and (max-width: 660px) {
  .section1 {
    margin: 0 10px 0 10px;
    padding: 20px 0 0 0;
  }
  .section1__ttl01 {
    text-align: center;
    padding: 80px 0 0 0;
    font-size: 32px;
    line-height: 1.4;
  }
  .section1__ttl02 {
    padding: 15px 0 0 0;
    font-size: 18px;
  }
  .section1__text01 {
    font-size: 16px;
    padding: 25px 0 0 0;
  }
  .section1__container {
    display: flex;
    gap: 20px;
    padding: 50px 0 0 0;
  }
  .section1__container__title {
    width: 130px;
  }
  .section1__container__content{
  width: calc(100% - 150px);
  }

}

/* ----------------------------------------
	section2
---------------------------------------- */

.section2 {
  margin: 0 auto;
  padding: 0 0 0 0;
  max-width: 1250px;
}

.section2__main {
  padding: 0 0 0 40px;
  position: relative;
}
.section2__cont01{
  position: absolute;
  top: 33%;
  left: 200px;
}
.section2__cont01__img01{
  padding: 0 0 20px 0;
}
.section2__cont01__ttl01{
  padding: 30px 0 0 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px;
  line-height: 1.6;
}
.section2__cont01__text01{
  padding: 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px;
  line-height: 1.6;
  max-width: 410px;
}

@media screen and (max-width: 660px) {
  .section2 {
    margin: 70px 0 0 0;
  }
  .section2__main {
    padding: 0 0 0 0;
    position: static;
  }
  .section2__cont01{
    margin: -30px 10px 0 10px;
    padding: 0 0 0 0;
    position: static;
  }

}


/* ----------------------------------------
	section3
---------------------------------------- */

.section3 {
  margin: 0 auto;
  padding: 250px 0 0 0;
  max-width: 1250px;
}
.section3__main__no02 {
  padding: 0 0 0 85px;
  position: relative;
}
.section3__no02__cont01{
  position: absolute;
  top: 8%;
  right: 200px;
  padding: 30px;
  background:rgba(255, 255, 255, 0.7);
}
.section3__main__no03 {
  padding: 0 0 0 0;
  position: relative;
  margin: -7.3% 0 0 0;
}
.section3__no03__cont01{
  position: absolute;
  top: 23%;
  left: 150px;
  padding: 30px;
  background:rgba(255, 255, 255, 0.7);
}
.section3__cont01__img01{
  padding: 0 0 20px 0;
}
.section3__cont01__ttl01{
  padding: 30px 0 0 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px;
  line-height: 1.6;
}
.section3__cont01__text01{
  padding: 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px;
  line-height: 1.6;
  max-width: 410px;
}

.section3__main__flex{
  display: flex;
}
.section3__main__no04 {
  padding: 0 0 0 0;
}
.section3__main__no05 {
  padding: 10.6% 0 0 0;
}

@media screen and (max-width: 660px) {
  .section3 {
    margin: 0 0 0 0;
    padding: 30px 0 0 0;
  }
  .section3__main__no02 {
    padding: 20px 0 0 0;
  }
  .section3__no02__cont01{
    position: static;
    padding: 0 10px 0 10px;
    margin: -100px 0 100px 0;
  }
  .section3__no03__cont01{
    position: static;
    padding: 0 10px 0 10px;
    margin: -50px 0 50px 0;
  }
  .section3__main__flex{
    display: flex;
    flex-wrap: wrap;
  }
  .section3__main__no03 {
    margin: 30px 0 0 0;
  }
  .section3__main__no04 {
    padding: 70px 0 0 0;
    width: 100%;
  }
  .section3__main__no05 {
    padding: 0 10px 0 12%;
    margin: -1.4% 0 0 0 ;
    width: 100%;
  }

}



/* ----------------------------------------
	section4
---------------------------------------- */

.section4 {
  margin: 0 auto;
  padding: 300px 0 0 0;
  max-width: 1080px;
}
.section4__main__flex{
  display: flex;
  flex-wrap: wrap;
  gap: 0 30px;
}
.section4__main__flex_box01{
  width: calc(33.333% - 20px);
}
.section4__text01{
  font-family: 'Poppins', sans-serif;
  font-size: 18px;
  font-weight: 400;
  padding: 30px 0 120px 0;
}
@media screen and (max-width: 660px) {
  .section4 {
    margin: 0 auto;
    padding: 130px 10px 0 10px;
    max-width: 1080px;
  }
  .section4__main__flex{
    display: flex;
    flex-wrap: wrap;
    gap: 0 15px;
  }
  .section4__main__flex_box01{
    width: calc(50% - 8px);
  }
  .section4__text01{
    font-size: 14px;
    font-weight: 400;
    padding: 15px 0 50px 0;
  }

}


/* ----------------------------------------
	section5
---------------------------------------- */

.section5 {
  margin: 0 auto;
  padding: 0 0 0 0;
  max-width: 550px;
}
.section5__ttl01{
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px;
  font-weight: 600;
  padding: 150px 0 30px 0;
}
.section5__flex{
  display: flex;
  flex-wrap: wrap;
  gap: 0 30px;
}
.section5__flex__left{
  width: calc(50% - 15px);
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px;
  font-weight: 400;
  text-align: right;
  padding: 10px 0;
}
.section5__flex__right{
  width: calc(50% - 15px);
  font-family: 'Poppins', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.3;
  padding: 10px 0;
}

@media screen and (max-width: 660px) {
  .section5 {
    margin: 0 auto;
    padding: 0 10px 0 10px;
    max-width: 80%;
  }
  .section5__ttl01{
    padding: 100px 0 30px 0;
  }
  .section5__flex__left{
    width: 100%;
    text-align: left;
    padding: 10px 0 0 0;
  }
  .section5__flex__right{
    width: 100%;
    padding: 10px 0;
  }

}



/* ----------------------------------------
	archive
---------------------------------------- */

.section__archive {
  margin: 0 auto;
  padding: 200px 0 0 0;
  max-width: 1080px;
}
.section__archive__flex{
  display: flex;
  flex-wrap: wrap;
  gap: 0 45px;
}
.section__archive__flex__box01{
  width: calc(25% - 34px);
}
.section__archive__flex__box01 img{
  width: 100%;
}
.section__archive__flex__text01{
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px;
  font-weight: 400;
  padding: 15px 0 20px 0;
  line-height: 1.4;
}

@media screen and (max-width: 660px) {
  .section__archive {
    margin: 0 auto;
    padding: 100px 10px 0 10px;
  }
  .section__archive__flex{
    display: flex;
    flex-wrap: wrap;
  }
  .section__archive__flex{
    gap: 0 15px;
  }
  .section__archive__flex__box01{
    width: calc(50% - 8px);
  }
}

@media screen and (max-width: 450px) {
  .section__archive {
    margin: 0 auto;
    padding: 100px 10px 0 10px;
    width: 80%;
  }
  .section__archive__flex__box01{
    width: 100%;
  }
}