
/* ----------------------------------
mv
---------------------------------- */
.mv{
  position:relative;
  aspect-ratio: 16 / 9;
}
.mv img{
  width:100%;
  position:absolute;
  top:0;
  left:0;
  z-index:-1;
}
.mv h1{
  position:absolute;
  width:100%;
  top:50%;
  left:50%;
  transform: translate(-50%,-50%);
  line-height: 1.8;
}
/* ----------------------------------
mission
---------------------------------- */
.mission{
  width:83.33%;
  margin:-240px auto 0;
  background-color: rgba(255,255,255,0.7);
  padding:65px 0;
  box-shadow: 0px 0px 40px 0px rgba(200, 227, 240, 0.45);
}
.mission_detail{
  margin-top:2.5rem;
  padding:0 1rem;
}
.mission_detail h2{
  margin-bottom:2.5rem;
}
/* ----------------------------------
top_news
---------------------------------- */
.top_news{
  margin-top:106px;
}
ul.news_list{
  margin-top:60px;
  display: flex;
  align-items: flex-start;
  gap:30px;
}
ul.news_list li{
  padding:1rem 0.8rem;
  background-color: rgba(192, 192, 192, 0.1);
  width:calc((100% - 60px) / 3);
  border-radius: 3px;
  box-shadow: 0px 5px 15px 7px rgba(0, 0, 0, 0.1);
}
ul.news_list li a{
  color:#303030;
}
ul.news_list li a hr{
  border: none;
  border-top:1px solid  rgba(192, 192, 192, 0.6);
}
ul.news_list li a span{
  display: block;
}
ul.news_list li a span.news_title{
  font-size:1.2rem;
  font-weight:bold;
}
ul.news_list li a span.news_date{
  font-size:0.8rem;
}
ul.news_list li a span.news_txt{
  font-size:0.9rem;
  white-space: normal;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
/* ----------------------------------
study
---------------------------------- */
.study{
  margin-top:106px;
}
.study_wrap{
  margin-top:112px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 2rem;
}
.study_content article{
  position:relative;
}
.study_wrap p{
  margin-top:1rem;
}
.study_wrap .study_content article p.study_content_title{
  position:absolute;
  left:50%;
  transform: translateX(-50%);
  bottom:3rem;
  color:#fff;
  font-size:1.8rem;
}
.study_wrap img{
  margin-bottom:1rem;
}
.study_wrap h3{
  font-size:1.2rem;
  color:#104889;
  text-align: center;
  font-weight:bold;
}

/* ----------------------------------
study_case
---------------------------------- */
.study_case{
  padding-top:82px;
  padding-bottom:82px;
  margin-top:82px;
  background: url(../images/index/study_case_bg.jpg) center center no-repeat;
  background-size: cover;
  position:relative
}
.study_case h2.sub_title,.study_case h2.sub_title span{
  color:#fff;
  position:relative;
  z-index: 1;
}
.study_case::before,.study_case::after{
  position:absolute;
  content:"";
  width:100%;
  height:100%;
  background-color: #104889;
  opacity: 0.6;
  mix-blend-mode: multiply; /* 乗算 */
  z-index: 0;
  top:0;
  left:0;
}
.study-case__list{
  position: relative;
  z-index: 2;
  display: flex;
  width:100%;
  max-width: 1080px;
  margin:50px auto;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}
.study-case_item{
  width:100%;
}
.study-case__thumb{
  width:100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}
.study-case__thumb img{
  width:100%;
  height:auto;
}
.study-case__meta{
  background-color: #fff;
  padding:0.8rem;
}
.study-case__date{
  font-size:0.8rem;
}
.study-case__cat{
  background-color: var(--sub-blue);
  color:#fff;
  margin-left:5px;
  padding:3px 5px;
  font-size:0.8rem;
}
h3.study-case__title{
  color:#303030;
}
.study-case__btn a{
  position:relative;
  z-index: 2;
  display: inline-block;
  width:170px;
  height:50px;
  line-height: 50px;
  font-family: var(--english-font);
  color:var(--main-blue);
  background-color: #D9D9D9;
  font-weight:bold
}
/* PCでは矢印・ページネーションを非表示 */
.swiper-button-prev,
.swiper-button-next,
.swiper-pagination {
  display: none!important;
}

/* ----------------------------------
member
---------------------------------- */
.member{
  padding-top:180px;
  padding-bottom:180px;
  position:relative;
  overflow: hidden;
}
.member::after{
  position:absolute;
  content:"";
  width:100%;
  height:100%;
  background: url(../images/index/member_bg.png) top center no-repeat;
  background-size: 100%;
  top: -100px;
  left: 0;
  z-index: -1;
}
.member_list{
  display: flex;
  gap:1rem;
  align-items: flex-start;
  justify-content: space-between;
  margin:60px auto 0;
  width:100%;
  max-width: 1080px;
}
.member_content{
  background-color: #fff;
  padding:1rem 0.5rem;
  text-align: center;
  width:calc(100% - 2rem);
}
.member_content h4{
  font-weight:bold;
  margin:1rem auto;
}
.member_content p{
  text-align: left;
}
/* ----------------------------------
archive
---------------------------------- */
.archive_news{
  margin-top:96px;
  margin-bottom:96px;
  width:100%;
  max-width: 1280px;
  padding:0 3%;
  box-sizing: border-box;
}
.news_head ul{
  display: flex;
  justify-content: flex-end;
}
.news_head ul li{
  padding-left:2em;
  font-size:1.2rem;
  font-family: var(--english-font);
}
.cp_list{
  margin-top:60px;
}
.cp_list li{
  border-bottom:1px solid #dfdfdf;
  font-size:1.4rem;
  padding:1em;
}
.cp_link p{
  display: flex;
  align-items: center;
  position: relative;
}
.cp_link p img{
  width:20%;
  aspect-ratio: 16 / 9;
  height: auto !important;
}
.taxonomy_date,.taxonomy_title{
  display: block;
}
.taxonomy_date{
  text-align: center;
  width:15%;
}
.taxonomy_title{
  text-align: left;
}
.cp_link p::after{
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  position: absolute;
  right:20px;
  top:43px;
  border-top: solid 1px;
  border-right: solid 1px;
  transform: rotate(45deg);
  color: inherit;
}
/* ----------------------------------
single
---------------------------------- */
main.main_single{
  padding-bottom:144px;
  width: 100%;
  max-width: 1080px;
  margin:0 auto;
}
main.main_single h2{
  margin:80px auto 24px;
}
main.main_single .post_info{
  margin-bottom:60px;
}
main.main_single .post_content{
  width:100%;
  max-width: 1080px;
  padding:0 5%;
}
main.main_single .post_content p{
  word-break: break-word;   
  overflow-wrap: break-word;  
}
/* ----------------------------------
contact
---------------------------------- */
.mw_wp_form{
  padding:30px 5%;
  background-color: #f1f1f1;
}
.contact{
  margin:96px auto 150px;
  width:100%;
  max-width:880px;
  padding:0 5%;
}
.contact_head{
  margin-bottom:60px;
}
.contact_head h3{
  font-size:36px;
  font-weight:bold;
  color:var(--main-color);
  margin-bottom:50px;
  text-align: center;
  background: url(../images/index/recruit_bg.jpg) center center no-repeat;
  background-size: cover;
  padding-top:130px;
  padding-bottom:130px;
  box-sizing: border-box;
  font-family: var(--english-font);
}

.contact_head h3 span{
  font-size:18px;
}
.contact_head p{
  text-align: center;
  font-size:14px;
  margin-top:100px;
}
.mw_wp_form h3{
  margin-bottom:8px;
}
.mw_wp_form h3 span{
  display: inline-block;
  padding:3px 5px;
  background-color: var(--main-color);
  color:#fff;
  font-size:0.8rem;
  background-color: var(--main-blue);

}
.contact form p{
  font-size:14px;
  margin-bottom:8px;
}
.contact form p span.form_label{
  padding:3px 5px;
  background-color: #808080;
  color:#fff;
}
.contact form p span.red{
  padding:3px 5px;
  margin-left:3px;
  font-size:10px;
  background-color: #29abe2;
  color:#fff;
}
.contact form select{
  box-sizing: border-box;
  appearance: none;
  border:none;
}
.contact form input[name="company"],
.contact form input[name="department"],
.contact form input[name="name"],
.contact form input[name="name"],
.contact form input[name="rubi"],
.contact form input[name="address"],
.contact form input[type="email"],
.contact form textarea,
.contact form select{
  width:50%;
  padding:8px;
  font-size:14px;
  border:none;
  background-color: rgb(250, 250, 250);
  border-radius:7px;
}
.contact form input[type="text"]{
  padding:8px;
  border:none;
  background-color: rgb(250, 250, 250);
  border-radius:7px;
}
.contact form input[name="tel"],
.contact form input[name="add_number"]{
  width:20px;
}
.contact form input[type=submit]{
  padding:15px 0;
  width:200px;
  border:none;
  background-color: rgb(161, 161, 161);
  color:#fff;
}
.contact form input[type=submit]:hover{
  cursor: pointer;
  opacity: 0.7;
  transition: 1s all;
}
.mw_wp_form .error{
  margin-top:5px;
}