@charset "UTF-8";

/* ! CSSの構成 事例紹介 ================================================== 

ページヘッド
ページヘッド下層

-------------------------------------------------- */
.page_head_company .container {
  max-width: 1280px;
}

main > .container > section {
  margin: 30px 0 0;
}


/* ! ページヘッド ================================================== */
.page_head_news {
  color: #1D608C;
  padding: 60px 0;
  background: #ECF1F4;
}

.page_head_news .container {
  position: relative;
  z-index: 2;
  padding: 0;
}
.page_head_news .explain {
  font: 400 14px/1.6em 'Hiragino Sans', sans-serif;
}
.page_head_news article.card > a:after {
  font-size: 24px;
}
.page_head_news .slide_wrapper{
	background: none;
}
.page_head_news .slide_wrapper  article.card{
	margin: auto;
}
.page_head_news .slide_wrapper .swiper-slide{
	width: -webkit-calc(100% / 3) !important;
	width: calc(100% / 3) !important;
	padding: 0 5px;
}
.page_head_news .swiper-container article.card{
  width: 100%;
}
.page_head_news .slide_wrapper .swiper-pagination{
  bottom: 0;
  position: inherit;
  margin: 20px 0 0;
}
.page_head_news .slide_wrapper .swiper-pagination-bullet,
.page_head_news .slide_wrapper .swiper-pagination-bullet-active{
	background: white;
}
@media screen and (max-width: 940px){
	.page_head_news .slide_wrapper .swiper-slide{
		width: 100% !important;
		max-width: none !important;
	}
}
@media screen and (max-width: 400px){
	.swiper-button-prev, .swiper-container-rtl .swiper-button-prev,
	.swiper-button-next, .swiper-container-rtl .swiper-button-next{
		display: none;
	}

}

/* ! テックサービス ================================================== */
main.posts_detail {
  background: #f9f9f9;
}
main.posts_detail .white_box {
  padding: 60px;
  margin: 0;
}
main.posts_detail .white_box > .btnarea_center{
  margin: 20px auto 0;
}

.posts_info {
  margin: 0 0 30px;
}
.posts_info .category {
  color: #024B6E;
  font: 400 14px/1.4em 'Hiragino Sans', sans-serif;
  display: inline-block;
  padding: 4px 12px;
  border: 1px solid #024B6E;
  border-radius: 8px;
}
.posts_info .date {
  color: #ccc;
  font: 700 12px/1em 'Hiragino Sans', sans-serif;
}


main.posts_detail .white_box .ttl.fl{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
main.posts_detail .white_box h1 {
  font: 800 24px/1.6em  'Hiragino Sans', sans-serif;
}
.posts_detail .container {
  max-width: 1280px;
}
.posts_detail img {
  display: block;
  margin: 20px auto 10px;
  border: solid 1px #eee;
}
main.posts_detail .white_box > .ttl{
  text-align: center;
  
}
.posts_detail h3 {
  color: #024B6E;
  font: 800 18px/1.4em 'Hiragino Sans', sans-serif;
  margin: 40px 0 12px;
}
.posts_detail p + p {
  margin: 12px 0 0;
}

@media screen and (max-width: 900px){
  main.posts_detail .white_box{
    padding: 30px;
  }
}
@media screen and (max-width: 480px){
  .posts_detail .container {
    padding: 0 5px;
  }
  main.posts_detail .white_box {
    padding:20px 20px 60px;
    margin: 0;
  }
  main.posts_detail .white_box .white_box {
    padding:20px 5px 5px;
  }
  main.posts_detail .white_box h2 {
    font: 800 18px/1.6em  'Hiragino Sans', sans-serif;
  }
  main.posts_detail .white_box p {
    font: 300 12px/1.6em  'Hiragino Sans', sans-serif;
  }
  .posts_info .date {
    font: 600 12px/1em 'Hiragino Sans', sans-serif;
  }


}





.events_info{
  padding: 50px 0 50px;
  background: #f5f5f5;
  border: solid 1px #eee;
  margin: 20px 0 20px;
}
.events_info > ul{
  max-width: 750px;
  margin: 0 auto;
  border: 1px solid #ccc;
  background: white;
}
.events_info > ul li{
  padding: 15px 50px;
  font: 600 16px/1.4em 'Hiragino Sans', sans-serif;
}
.events_info > ul li + li{
  border-top: 1px solid #ccc;
}
.events_info li .ttl{
  display: inline-block;
  width: 140px;
  font: 500 12px/1.4em 'Hiragino Sans', sans-serif;
  color: #666;
}
.events_info li .en{
  font: 600 16px/1.4em 'Helvetica', sans-serif;
}

.events_info .tag_free,
.events_info .tag_prime{
  margin: 0 10px 0 0;
}
.events_info .tag_prime{
  margin: 0 10px 0 30px;
}

@media screen and (max-width: 680px){
  .events_info > ul li{
    padding: 15px 30px;
    font: 600 14px/1.4em 'Hiragino Sans', sans-serif;
  }
  .events_info > ul li{
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction:column; flex-direction:column;
  }
  .events_info li .ttl{
    margin: 0 0 5px;
  }
}

@media screen and (max-width: 480px){
  
}


.events_map{
  width: 100%;
  min-height: 400px;
  margin: 0 0 50px;
}




/*
.applyform{
  max-width: 510px;
  margin: 0 auto;
}
*/
.applyform h3{
  margin: 0 0 20px;
  text-align: center;
  font: 800 28px/1.4em 'Hiragino Sans', sans-serif;
}
.applyform form{
  background: #fff;
  padding: 50px;
  max-width: 750px;
  margin: 0 auto;
}
.applyform li{
  padding: 5px 16px;
}
.applyform li.top{
  margin: 25px 0 0;
}

@media screen and (max-width: 680px){
  .applyform form{
    padding: 20px;
  }
  .applyform h3{
    font: 700 18px/1.4em 'Hiragino Sans', sans-serif;
  }
}

/* 確認画面 */
.eventsconfirm .form_ttl:before{
  display: none;
}
.eventsconfirm input,
.eventsconfirm select{
  -webkit-box-shadow: none;
  box-shadow: none;
  color: #333;
  border-radius: 0;
}
.eventsconfirm li{
  padding: 4px 16px;
}

.eventsconfirm.gray{
  max-width: 750px;
  margin: 0 auto 30px !important;
}

@media screen and (max-width: 640px){
  .post-area .post-item {
    width: 100%;
  }

  .post-area .post-item + .post-item {
    margin-top: 20px;
  }
}

.post-head{
  padding: 60px 0 0;
}

.top_re .post-head{
  padding: 60px 0 20px;
}

.post-head .h1_ttl {
  margin-bottom: 10px;
}


@media screen and (max-width: 640px){
  .post-head .h1_ttl {
    padding: 0 5%;
  }

  .page-head-message {
    display: flex;
    font-size: 13px;
  }
}

.swiper-slide.recommended img{
  object-fit: cover;
  height: 170px;
  width: 100%;
}