@charset "UTF-8";

/* -----------------------------------------------

	 base

----------------------------------------------- */
.bg_blue{
  background: #e3ecee;
}
.bg_white{
  background: #fff;
}
.iconttl{
  font-weight: 700;
  font-family: 'Zen Old Mincho', serif;
  text-align: center;
  margin-bottom: 80px;
  position: relative;
}
.iconttl::before{
  content: "";
  display: inline-block;
  width: 80px;
  height: 80px;
  background-image: url(../images/icon_cross.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: -1;
}
.iconttl2{
  z-index: 2;
}
.iconttl2::before{
  background-image: url(../images/icon_cross2.png);
}

  @media only screen and (max-width: 1024px) {
  }
  @media only screen and (max-width: 768px) {
  }
  @media only screen and (max-width: 479px) {
    .iconttl{
      margin-bottom: 60px;
    }
    .iconttl::before {
      width: 60px;
      height: 60px;
    }
  }


/* -----------------------------------------------

	 top_mainview

----------------------------------------------- */
.top_mainview {
  margin-bottom: 90px;
}
.top_mainview .main_img{
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.top_mainview .main_img::after{
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  background: rgba(231, 154, 0, 0.05);
  position: absolute;
  top: 0;
  left: 0;
}
.top_mainview .main_img > img {
  width: 100%;
  position: relative;
  height: 750px;
  object-fit: cover;
}
.top_mainview .main_img .main_text {
  position: absolute;
  color: #fff;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 1;
  width: 100%;
  text-align: center;
  line-height: 1.6;
}
.top_mainview .main_img .main_text .ttl{
  font-size: 80px;
  font-weight: 500;
  text-shadow: 3px 3px 10px #555555;
}
  @media only screen and (max-width: 1024px) {
    .top_mainview .main_img > img{
      height: 600px;
    }
    .top_mainview .main_img .main_text .ttl{
      font-size: 60px;
    }
  }
  @media only screen and (max-width: 768px) {
    .top_mainview .main_img > img{
      height: 450px;
    }
    .top_mainview .main_img .main_text .ttl{
      font-size: 50px;
    }
  }
  @media only screen and (max-width: 479px) {
    .top_mainview {
      margin-bottom: 60px;
    }
    .top_mainview .main_img > img{
      height: 320px;
    }
    .top_mainview .main_img .main_text .ttl{
      font-size: 10vw;
    }
  }

/* -----------------------------------------------

	 topinfo

----------------------------------------------- */
.topinfo {
  padding: 120px 0 0;
}
.topinfo .topinfoset{
  margin-bottom: 90px;
}
.topinfo .topinfolink{
  font-size: 18px;
  margin-bottom: 30px;
  padding-bottom: 20px;
  border-bottom: solid 1px #bfbfbf;
}
.topinfo .topinfolink .cate{
  width: 120px;
  text-align: center;
  color: #ffffff;
  font-weight: 700;
  background: #bfbfbf;
  padding: 10px 20px;
  margin-right: 30px;
}
.topinfo .topinfolink time{
  width: 130px;
  margin-right: 30px;
}
.topinfo .topinfolink p{
  font-weight: 500;
  width: calc(100% - 310px);
}


  /* タブレット */
  @media only screen and (max-width: 768px) {
    .topinfo .topinfolink .cate {
      width: 100px;
      margin-right: 20px;
      padding: 3px 10px;
    }
    .topinfo .topinfolink time{
      font-size: 15px;
      width: 110px;
      margin-right: 20px;
    }
  }
  /* スマホ */
  @media only screen and (max-width: 479px) {
    .topinfo .topinfolink a{
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      -webkit-box-align: start;
      -ms-flex-align: start;
      align-items: flex-start;
    }
    .topinfo .topinfolink p {
      width: 100%;
    }
    .topinfo .topinfolink .cate {
      width: auto;
      margin: 0 0 10px;
      padding: 1px 8px;
    }
    .topinfo .topinfolink time{
      margin-bottom: 5px;
    }
    .topinfo .topinfolink {
      padding-bottom: 10px;
    }
  }


/* -----------------------------------------------
	 topsec_about
----------------------------------------------- */
.topsec_about .head{
  margin-bottom: 90px;
}
.topsec_about .topaboutbox{
  background: #fbefd8;
  padding: 90px 80px 60px;
  margin-bottom: 60px;
}
.topsec_about .topaboutbox .txts{
  position: relative;
  margin-bottom: 60px;
}
.topsec_about .topaboutbox .txts::before{
  content: "";
  display: inline-block;
  width: 330px;
  height: 290px;
  background-image: url(../images/icon_shine.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.topsec_about .topaboutbox .txt{
  text-align: center;
  position: relative;
  z-index: 1;
}
.topsec_about .topaboutbox .txt01{
  font-size: 30px;
  margin-bottom: 10px;
}
.topsec_about .topaboutbox .imgwrap{
  position: relative;
  z-index: 1;
  gap: 20px;
}

  @media only screen and (max-width: 1024px) {
    .topsec_about .head .br02{
      display: none;
    }
    .topsec_about .topaboutbox {
      padding: 90px 60px 50px;
    }
    .topsec_about .topaboutbox .txt01 {
      font-size: 25px;
    }
    .topsec_about .topaboutbox .txt02 {
      font-size: 18px;
    }
    .topsec_about .topaboutbox .txts::before {
      width: 300px;
      height: 240px;
    }
  }
  @media only screen and (max-width: 768px) {
    .topsec_about .topaboutbox .txt01 {
      font-size: 22px;
    }
    .topsec_about .topaboutbox .txt02 {
      font-size: 16px;
    }
  }
  @media only screen and (max-width: 650px) {
    .topsec_about .topaboutbox .txts::before {
      width: 200px;
      height: 180px;
    }
    .topsec_about .topaboutbox .txts {
      margin-bottom: 30px;
    }
    .topsec_about .topaboutbox .txt {
      line-height: 1.5;
    }
    .topsec_about .topaboutbox .txt01 {
      font-size: 18px;
    }
    .topsec_about .topaboutbox .txt02 {
      font-size: 14px;
    }
    .topsec_about .topaboutbox .imgwrap{
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
    }
    .topsec_about .topaboutbox .imgwrap .image{
      width: 100%;
    }
    .topsec_about .topaboutbox {
      padding: 60px 30px 35px;
    }
    .topsec_about .topaboutbox .txt .sp{
      display: block;
    }
    .topsec_about .topaboutbox .txt br{
      display: none;
    }
  }

/* -----------------------------------------------
	 topsec_scripture
----------------------------------------------- */
.topsec_scripture {
  color: #fff;
  background-image: url(../images/bg_sky.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 150px 0;
}
.topsec_scripture .txt01{
  font-size: 40px;
  margin-bottom: 30px;
}
.topsec_scripture .txt02{
  font-size: 30px;
  font-weight: 500;
}
.topsec_scripture .txt02 span{
  font-size: 20px;
  display: block;
  font-weight: 500;
}
.topsec_scripture .image{
  margin: 0 auto 45px;
  max-width: 500px;
}

  @media only screen and (max-width: 1024px) {
    .topsec_scripture {
      padding: 120px 0
    }
    .topsec_scripture .txt01 {
      font-size: 35px;
    }
    .topsec_scripture .txt02 {
      font-size: 22px;
    }
    .topsec_scripture .txt02 .sp{
      display: block;
    }
    .topsec_scripture .image{
      margin: 0 auto 35px;
      max-width: 350px;
    }
  }
  @media only screen and (max-width: 768px) {
    .topsec_scripture .txt02 .sp{
      display: none;
    }
    .topsec_scripture .txt02 span {
      font-size: 18px;
    }
  }
  @media only screen and (max-width: 479px) {
    .topsec_scripture {
      padding: 90px 0;
  }
    .topsec_scripture .txt01 {
      font-size: 24px;
      line-height: 1.3;
    }
    .topsec_scripture .txt01 .sp{
      display: block;
    }
    .topsec_scripture .txt02 {
      font-size: 16px;
    }
    .topsec_scripture .txt02 span {
      font-size: 12px;
    }
    .topsec_scripture .image{
      margin: 0 auto 30px;
      width: 85%;
    }
  }


/* -----------------------------------------------
	 topsecset
----------------------------------------------- */
.topsecset {
  padding: 120px 0;
}
  @media only screen and (max-width: 479px) {
    .topsecset {
      padding: 90px 0;
    }
  }

/* -----------------------------------------------
	 topsec_schedule
----------------------------------------------- */
.topsec_schedule {
  margin-bottom: 150px;
}
.topsec_schedule .htxt{
  margin-bottom: 45px;
}
.topsec_schedule .box{
  padding: 60px 80px;
}
.schedulewrap{
  gap: 40px;
  margin-bottom: 60px;
}
.schedulewrap dl{
  text-align: center;
  font-size: 42px;
  width: calc(100% / 2 - 20px );
  line-height: 1.5;
}
.schedulewrap dt{
  color: #fff;
  background: #2d74c0;
  padding: 20px 0;
}
.schedulewrap dd{
  color: #2d74c0;
  background: #e3ecee;
  padding: 30px 0;
}
  @media only screen and (max-width: 1024px) {
    .schedulewrap {
      gap: 30px;
    }
    .schedulewrap dl {
      font-size: 3.5vw;
    }
  }
  @media only screen and (max-width: 768px) {
    .schedulewrap dt {
      padding: 15px 0;
    }
    .topsec_schedule .box {
      padding: 40px 50px;
    }
    .schedulewrap {
      gap: 20px;
    }
  }
  @media only screen and (max-width: 650px) {
    .topsec_schedule .box {
      padding: 30px 20px;
    }
    .schedulewrap{
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      margin-bottom: 30px;
    }
    .schedulewrap dl{
      width: 100%;
      font-size: 20px;
    }
  }
/* -----------------------------------------------
	 topsec_interview
----------------------------------------------- */
.topsec_interview .interviewwrap{
  margin-bottom: 60px;
  gap: 40px;
}
.topsec_interview .interviewer{
  width: 50%;
  gap: 30px;
  margin-bottom: 30px;
  padding: 25px 35px;
  font-size: 18px;
}
.topsec_interview .interviewer .image{
  max-width: 150px;
}
.topsec_interview .interviewer .txts{
  width: 100%;
}
.topsec_interview .interviewer .head{
  margin-bottom: 30px;
}
.topsec_interview .interviewer .position{
  background: #2d74c0;
  color: #fff;
  font-family: 'Zen Old Mincho', serif;
  padding: 8px 10px;
  line-height: 1;
  margin-right: 15px;
}
.topsec_interview .interviewer .name{
  font-size: 24px;
  color: #2d74c0;
  font-weight: 700;
}

  @media only screen and (max-width: 1024px) {
    .topsec_interview .interviewer {
      padding: 20px 30px;
      font-size: 16px;
    }
    .topsec_interview .interviewer .head{
      margin-bottom: 20px;
    }
    .topsec_interview .interviewer .image {
      max-width: 130px;
    }
    .topsec_interview .interviewwrap{
      gap: 30px;
    }
    .topsec_interview .interviewer .name{
      font-size: 22px;
    }
  }
  @media only screen and (max-width: 1000px) {
    .topsec_interview .interviewwrap{
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
    }
    .topsec_interview .interviewer{
      width: 100%;
      max-width: 500px;
      margin-bottom: 0;
    }
  }
  @media only screen and (max-width: 768px) {
  }
  @media only screen and (max-width: 479px) {
    .topsec_interview .interviewer{
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      gap: 10px;
      padding: 20px 25px;
    }
    .topsec_interview .interviewer .head {
      margin-bottom: 10px;
    }
    .topsec_interview .interviewer .image {
      max-width: 100%;
    }
  }
