/*
Theme Name: zousancompany child
Description: WordPressテーマ「zousancompany」の子テーマです。
Template: zousancompany
Author: Hiroshi Ota
Author URI: https://wp.zousanrecords.com/
Version: 1.0.0
*/

/* gnav */
@media screen and (max-width: 1024px) {
	#gnav_wrap #gnav, #header #gnav {
		background: rgba(84, 84, 84, 0.9) !important;
	}
}

/* heading */

.heading01 {
    text-align: left !important;
}

@media screen and (min-width: 1025px) {
    #page_contents .heading01
	#contact_contents .heading01,
	#news_index_contents .heading01,
	#news_single_contents .heading01,
	#company_contents .heading01,
	#faq_contents.heading01,
	#table_contents .heading01 {
        margin-left: auto;
        margin-right: auto;
        max-width: 800px !important;
    }
}

.heading02,
.entry_cont h2 {
  font-size: 2.2rem !important;
}

.heading03,
.entry_cont h3 {
  font-size: 2.0rem !important;
}

.heading04,
.entry_cont h4 {
  font-size: 1.8rem !important;
}

@media screen and (min-width: 600px) {
  .heading02,
  .entry_cont h2 {
    font-size: 2.4rem !important;
  }

  .heading03,
  .entry_cont h3 {
    font-size: 2.0rem !important;
  }

  .heading04,
  .entry_cont h4 {
    font-size: 1.8rem !important;
  }
}

/* button */

a.button.btn_modoru {
    box-shadow: none !important;
}

a.button.btn_modoru span {
	padding: 0.7em 10px !important;
	border: none !important;
	background: none !important;
}

a.button.btn_modoru:hover span {
	border: none !important;
	background: none !important;
	color: inherit !important;
}

a.button.btn_modoru span i.icon::before {
	display: inline-block;
	transition: .3s;
}

a.button.btn_modoru:hover span i.icon::before {
	color: inherit !important;
	transform: translateX(-10px);
	transition: .3s;
}


/* header */

#header_wrap {
   background: rgba(255,255,255,0.6) !important;
	border-bottom: none !important ;
}

/* ロゴサイズ */

@media screen and (max-width: 1024px) {
	#header_wrap #header #logo_set #logo a img {
		height: 38px !important;
	}
	
	#header_wrap.header_wrap_change #header #logo_set #logo a img {
		height: 32px !important;
	}
}

/* promo */
	
#promo_wrap ul.promo_slider .object_fit::before {
	padding-top: 100vh !important;
}

@media screen and (max-width: 1024px) {
	
	#promo_wrap {
		margin-top: -91px !important;
	}
}

@media screen and (min-width: 1025px) {
	
	#promo_wrap {
		margin-top: -121px !important;
	}
}

.top_video {
  height: 100vh !important;
}

.top_video video {
  height: 100vh !important;
}


/* lang_ul */

#header nav#gnav ul.lang_ul {
  display: flex;
  justify-content: center;
}

#header nav#gnav ul.lang_ul li {
  padding-left: 5px;
  padding-right: 5px;
}

#header ul.lang_ul li:not(:first-child)::before {
  content: '/';
  margin-right: 8px;
}

#header nav#gnav ul.lang_ul a {
  text-decoration: none;
  font-weight: normal;
	font-weight: 700;
}

#header nav#gnav ul.lang_ul .lang_current {
  color: #7f7f7f;
	font-weight: 700;
}

@media screen and (max-width: 1024px) {
  #header nav#gnav ul.lang_ul {
    margin-top: 10px;
  }

  #header nav#gnav ul.lang_ul li {
    color: #fff;
  }
}

@media screen and (min-width: 1025px) {
  #header nav#gnav {
    display: flex;
  }

  #header nav#gnav ul.lang_ul {
    margin-left: 20px;
    padding-top: 1px;
    padding-left: 5px;
    padding-right: 5px;
    background: #efefef;
    border-radius: 3px;
  }
}

/* top_works_area */

#top_works_area .works_box ul.works_ul {
  display: flex;
  flex-wrap: wrap;
}

#top_works_area .works_box ul.works_ul li:nth-last-child(-n + 2) {
  margin-bottom: 0;
}

#top_works_area .works_box p.pic {
  margin-bottom: 0;
}

#top_works_area .works_box .works_cont {
  position: relative;
  overflow: hidden;
}

#top_works_area .works_box .works_cont img {
  border: 1px solid #eee;
}

#top_works_area .works_box .works_cont .works_caption {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.8);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  opacity: 1;
  text-align: center;
  color: #333;
  opacity: 0;
}

#top_works_area .works_box .works_cont .works_caption .caption_cont {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  width: 90%;
}

#top_works_area .works_box .works_cont .works_caption .heading04 {
  font-weight: normal;
  font-size: 1.5rem;
}

#top_works_area .works_box .works_cont:hover .works_caption {
  opacity: 1;
  transition: 0.3s;
}

#top_works_area .works_box .object_fit {
  margin-bottom: 0;
}

@media screen and (max-width: 599px) {
  #top_works_area .works_box .works_cont .works_caption {
    display: none;
  }
}

@media screen and (min-width: 600px) {
  #top_works_area .works_box ul.works_ul li:nth-last-child(-n + 4) {
    margin-bottom: 0;
  }
}

/* pic_cont-category */

.list_cont a .pic_cont {
  position: relative;
  margin-bottom: 5px;
  overflow: hidden;
}

.list_cont a .pic_cont .object_fit {
  margin-bottom: 0;
  border: 1px solid #eee;
}

.list_cont a .pic_cont .category {
  position: absolute;
  top: 1px;
  right: 1px;
  padding: 2px 8px 3px;
  font-size: 1rem;
  font-weight: bold;
  z-index: 2;
  color: #fff;
}

.list_cont a .pic_cont .category.cat01 {
  background: #c3003a;
}

.list_cont a .pic_cont .category.cat02 {
  background: #3a546b;
}

.list_cont a .pic_cont .category.cat03 {
  background: #d5a02e;
}

.list_cont a .pic_cont .category.cat04 {
  background: #918d43;
}

.list_cont a .pic_cont .category.cat05 {
  background: #787cac;
}

.list_cont a .pic_cont .category.cat06 {
  background: #604439;
}

.list_cont a .pic_cont .category.cat07 {
  background: #6f2757;
}

.list_cont a .pic_cont .category.cat08 {
  background: #c1541c;
}

.list_cont a .pic_cont .category.cat09 {
  background: #565d63;
}

.list_cont a .pic_cont .category.cat10 {
  background: #baaa52;
}

.list_cont a .pic_cont img {
  transition: 0.5s;
}

.list_cont a:hover .pic_cont img {
  transform: scale(1.1);
  opacity: 0.8;
  transition: 0.5s;
}

/* company */

#company_contents .staff_part .heading02 {
	margin-bottom: 0.8em;
    padding-bottom: 0.5em;
    border-bottom: 1px solid #333;
}

@media screen and (max-width: 599px) {
	table.table_block_sp th {
		text-align: left !important;
	}
}

/* footer */

#footer_wrap {
    background: #efefef !important;
}

#footer_wrap .company_name {
	font-size: 1.4rem !important;
}

@media screen and (max-width: 599px) {
	.company_info {
		padding-top: 15px !important;
	}
}

@media screen and (min-width: 600px) {
	.company_info {
		padding: 20px 30px 0 !important;
	}
}

#footer_wrap .adrress,
#footer_wrap .tel {
	font-size: 1.3rem !important;
}