@charset "utf-8";
/*
Template:force_tcd078
Theme Name:ofesta
Theme URI:
Description:お仕事フェスタ用テーマ
Author URI:
Version:1.0.0
*/

/* gnavi */
span.pc_logo_text {
 display: none;
}
/* アニメーション */
#index_slider_wrap #index_slider .caption .catch, #index_slider .caption .catch_image, #index_slider .caption .desc, #index_slider .caption .button {
  opacity:0; position:relative;
}
#index_slider_wrap #index_slider .item.slick-active .caption .animate1, #index_slider.video .caption .animate1 {
  -webkit-animation: slideUp 1.0s cubic-bezier(0.165, 0.84, 0.44, 1) forwards 1.0s;
  animation: slideUp 1.0s cubic-bezier(0.165, 0.84, 0.44, 1) forwards 1.0s;
}
#index_slider_wrap #index_slider .item.slick-active .caption .animate2, #index_slider.video .caption .animate2 {
  -webkit-animation: slideUp 1.0s cubic-bezier(0.165, 0.84, 0.44, 1) forwards 1.8s;
  animation: slideUp 1.0s cubic-bezier(0.165, 0.84, 0.44, 1) forwards 1.8s;
}
#index_slider_wrap #index_slider .item.slick-active .caption .animate3, #index_slider.video .caption .animate3 {
  -webkit-animation: slideUp 1.0s cubic-bezier(0.165, 0.84, 0.44, 1) forwards 2.6s;
  animation: slideUp 1.0s cubic-bezier(0.165, 0.84, 0.44, 1) forwards 2.6s;
}
/************** 
デザインコンテンツ1
***************/
.home .index_design_content1 .button {
 margin-top: 40px;
 text-align: center;
}
/************** 
デザインコンテンツ２
***************/
.index_design_content2 .topSec2 .mobile { display:none; }
.index_design_content2 .topSec2 .pc {
	color: #fff;
	font-size: 30px;
	margin-bottom: 1em;
	display: block;
	font-weight: 500;
	text-align:center;
}


+

/************** 
ボタンの設定
***************/
#main_contents a {
 text-decoration: underline;
}
#main_contents a:hover {
 text-decoration: none;
}
.recruit #main_contents .button a,
#body .wpcf7 .wpcf7-submit,
#contents_builder .index_design_content1.num1 .button a {
 background:#000;
 color:#fff;
 border:none;
 position:relative;
 cursor:pointer;
 transition:400ms ease all;
 outline:none;
	font-size: 16px;
	display: inline-block;
	min-width: 270px;
	height: 60px;
	line-height: 60px;
	text-align: center;
	text-decoration: none;
}
.recruit #main_contents .button a:hover,
#body .wpcf7 .wpcf7-submit:hover,
#contents_builder .index_design_content1.num1 .button a:hover {
 background:#fff !important;
 color:#000 !important;
}
.recruit #main_contents .button a:before,
.recruit #main_contents .button a:after,
#body .wpcf7 .wpcf7-submit:before,
#body .wpcf7 .wpcf7-submit:after,
#contents_builder .index_design_content1.num1 .button a:before,
#contents_builder .index_design_content1.num1 .button a:after {
 content:'';
 position:absolute;
 top:0;
 right:0;
 height:2px;
 width:0;
 background: #000 !important;
 transition:400ms ease all;
}
.recruit #main_contents .button a:after,
#body .wpcf7 .wpcf7-submit:after,
#contents_builder .index_design_content1.num1 .button a:after {
  right:inherit;
  top:inherit;
  left:0;
  bottom:0;
}
.recruit #main_contents .button a:hover:before,
.recruit #main_contents .button a:hover:after,
#body .wpcf7 .wpcf7-submit:hover:before,
#body .wpcf7 .wpcf7-submit:hover:after,
#contents_builder .index_design_content1.num1 .button a:hover:before,
#contents_builder .index_design_content1.num1 .button a:hover:after {
  width:100%;
  transition:800ms ease all;
}


#contents_builder .index_design_content2.num4 .button a,
#contents_builder .index_design_content2.num2 .button a {
 background:#000;
 color:#fff;
 border:none;
 position:relative;
 cursor:pointer;
 transition:400ms ease all;
 outline:none;
}
#contents_builder .index_design_content2.num4 .button a:hover,
#contents_builder .index_design_content2.num2 .button a:hover {
 background:#00304b !important;
 color:#fff !important;
}
#contents_builder .index_design_content2.num4 .button a:before,
#contents_builder .index_design_content2.num4 .button a:after,
#contents_builder .index_design_content2.num2 .button a:before,
#contents_builder .index_design_content2.num2 .button a:after {
 content:'';
 position:absolute;
 top:0;
 right:0;
 height:2px;
 width:0;
 background: #fff !important;
 transition:400ms ease all;
}
#contents_builder .index_design_content2.num4 .button a:after,
#contents_builder .index_design_content2.num2 .button a:after {
  right:inherit;
  top:inherit;
  left:0;
  bottom:0;
}
#contents_builder .index_design_content2.num4 .button a:hover:before,
#contents_builder .index_design_content2.num4 .button a:hover:after,
#contents_builder .index_design_content2.num2 .button a:hover:before,
#contents_builder .index_design_content2.num2 .button a:hover:after {
  width:100%;
  transition:800ms ease all;
}

.index_design_content2 p.button {
 text-align: center;
}
.index_design_content2 p.button a {
 text-align: center;
}
.index_design_content2.num4 p.button {
 text-align: center;
}
.index_design_content2.num4 .topSec2 span.pc {
  text-align: center;
}
.index_design_content2.num4 p.desc.pc {
 text-align: left;
}
/** テキストリンク **/
#footer_social_link li a:hover:before,
#footer a:hover,
a.link.animate_background:hover h3.title span,
.post_list2 .post_meta li a:hover,
#header_carousel .post_meta li a:hover,
#global_menu > ul > li > a:hover {
	color: #8ea3aa !important;
 -webkit-transition: 0.2s ease-in-out;
 -moz-transition: 0.2s ease-in-out;
 -o-transition: 0.2s ease-in-out;
 transition: 0.2s ease-in-out;

}
.post_content a {
 color: #004a68;
 border-bottom: 1px solid #004a68;
}
.post_content a:hover {
 border-bottom: none;
}
#article .post_content {
 margin-bottom: 4em;
}

#main_contents .post_content p.lTxt {
 margin: 0 auto 1em auto;
	font-size: 16px;
}
#main_contents .post_content p {
 margin: 0 0 1em 0;
	font-size: 16px;
	line-height: 2em;
}
div.senpaiMsg p.hdgp {
 display: inline-block;
 font-weight: bold !important;
 margin-bottom: 0.5em !important;
}
.post_content dl {
 display: flex;
 flex-wrap: wrap;
	font-size: 14px;
}
.post_content dt {
 font-weight: bold;
 float: left;
 width: 14%;
 margin-bottom: 1em;
 border-bottom: 1px solid #ddd;
	padding-bottom: 1em;
 padding-left: 0.25em;
}
.post_content dd {
 margin-bottom: 1em;
 float: left;
 width: 85%;
 border-bottom: 1px solid #ddd;
	padding-bottom: 1em;
}

dl {
	overflow: auto;
}
ul.asterisk li {
 list-style-type: none;
 text-indent: -1em;
	font-size: small;
 line-height: 1.8em;
}
ul.asterisk li:before {
 display: inline;
 content: "※";
}
#main_contents .post_content th {
	width: 20%;
	text-align: left;
	font-size: smaller;
	font-weight: bold;
}
.postInner {
 margin-bottom: 5em;
}
.postInner:last-child {
 margin-bottom: 0;
}
/** お問い合わせ **/
form input {
 border: 1px solid #aaa;
}
span.must {
 color: #ff0000;
}
#your_myouji,#your_name,#furi_myouji,#furi_name {
	width:49%;
}
#furi_myouji,#your_myouji {
	margin-right:2%;
}
.wpcf7 .yuubin input {
	width:40%;
	margin-bottom:0.5em;
}
.wpcf7 .jyusho1 input {
	margin-bottom:0.5em;
}
input#tel1, input#tel2, input#tel3 {
 width: 30%;
}
span.hifn {
 width: 5%;
 display: inline-block;
 text-align: center;
}
.wpcf7 dt {
	width:18%;
}
.wpcf7 span.wpcf7-list-item {
 display: inline-block;
}

/** フッター **/
footer#footer div#footer_banner .item {
 width: calc((100% /3) - 10px);
	border: 1px solid #ffffff !important;
}
footer#footer #footer_banner .item {
 margin: 0 15px 0 0;
}
footer#footer #footer_banner .item:nth-child(3n) {
 margin: 0 0 0 0;
}
footer#footer #footer_banner .item {
 margin: 0 15px 0 0;
}
div#footer_banner {
	margin-top: 0;
}

.index_design_content2.num4 {
	margin-bottom: 100px;
}

.ftAd {
 z-index: 2;
 position: relative;
 text-align: center;
	line-height: 1.6em;
	margin-top: 2em;
	color:#ffffff;
}
#container #footer_banner .item {
	margin-bottom: 30px;
}


#footer_banner a img {
 opacity: 1;
}

/** header **/
div#page_header {
	background: url('/wp/wp-content/themes/ofesta/img/header/pageImg.jpg') center;
 height: 360px;
}
p.cp_slider {
 font-size: large;
 font-weight: bold;
 color: #fff;
}
#page_header .headline_area:before {
 content: '';
 display: block;
 background: none !important;
 width: -webkit-fill-available !important;
 height: 100%;
 z-index: 1;
 position: absolute;
 left: 0px;
 -ms-transform: skewX(0) !important;
 -webkit-transform: skewX(0) !important;
 transform: skewX(0) !important;
 -webkit-transform-origin: 0% 50%;
 transform-origin: 0% 50%;
 border-bottom: 140px solid #000;
 border-left: 54px solid transparent;
 border-right: 54px solid transparent;
 height: 0 !important;
	box-sizing: border-box;

}
#page_header .headline_area {
	padding: 0 100px !important;
	min-width: 400px !important;
height: 120px !important;
}
#page_header .headline {
    font-size: 30px !important;
}

#main_contents .post_content h4 {
 background: #ebebeb;
 padding: 0.5em 0 0.5em 1em;
	margin-bottom: 1.4em;
	font-weight: 600;
	font-size: 19px;
	letter-spacing: 0.08em;
}
.post_content h3 {
 font-size: 30px !important;
 color: #00304b;
 text-align: center;
}
#main_contents {
 margin: 88px auto 150px !important;
}
p.catch_slider {
 font-size: 30px;
 margin-bottom: 2em;
 color: #f5e963;
}
/** ヘッダーカルーセル **/
body.home #index_slider .item .overlay {
	background: rgba(0,0,0,0.1);
}
body.home #index_slider .caption {
	width: 55%;
	left: initial;
}
#header_carousel .post_meta {
 background: #607e88 !important;
}
.post_list2 .post_meta {
 background: #607e88 !important;
}
.index_design_content1.num1 .catch {
	font-size: 30px !important;
}
#index_slider .catch span {
 font-size: 42px;
}


.topAllCmpy li a img, .topAllCmpy li a p {
 width: 22%;
	margin-bottom: 0.5em;
}
.topAllCmpy li {
	margin-bottom: 2em;
	margin-left: 4%;
	float: left;
}
.topAllCmpy li:first-child {
	margin-left: 0;
}
.topAllCmpy figure {
	display: contents;
}
/** index_design_content1  **/
body.home .index_design_content1.num1 .post_content {
 max-width: 650px;
 margin: 0 auto;
}
#gallery_archive #gallery_sort_button a.active,#gallery_archive #gallery_sort_button a:hover {
 background: #00304b;
 color: #fff;
}

#gallery_single .button a {
	width: calc(20% + 1px);
	display: inline-block;
	height: 60px;
	line-height: 60px;
	text-align: center;
	border: 1px solid #ddd;
	margin: 0 -1px -1px 0;
	font-size: 16px;
	font-weight: 500;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	text-decoration: none;
 min-width: 270px;
}

/** footer **/
#body #footer {
 padding: 0;
}
/************** 
Single 記事
***************/

#main_contents #side_col {
	display: none;
}
.post-type-archive-news .post_list1 .title {
 height: 3.4em;
}
#main_contents #post_title_area.no_image .title {
	font-size: 30px;
	color: #00304b !important;
}
#post_title_area.no_image .post_meta {
 background: #607e88 !important;
}
#post_title_area .post_meta li a:first-of-type {
 text-decoration: none;
}
body.single #container #page_header {
 background: #004a68 !important;
}
body.single #article .post_content {
 margin-bottom: 0;
}
/************** 
Archive 一覧
***************/
#news_archive .post_list1 .title_area {
 padding: 1em 0;
 border-left: none;
 border-right: none;
 height: auto;
 -webkit-box-sizing: unset;
 box-sizing: unset;
}
#news_archive .post_list1 .title {
 margin: 0 0 20px 0;
 height: 2em;
}
#news_archive .post_list1 .item {
 height: auto;
 position: relative;
 border-bottom: none;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}
/************** 
Form
***************/
div.entry form dl dt {
	width: 24%;
}
div.entry form dl dd {
	width: 75%;
}
/************** 
company
***************/
.slick-track .slick-slide img {
 display: block;
 height: 200px;
	width: auto;
 object-fit: cover;
}
.slick-arrow {
	z-index: 1;
}
img.prevArrow.slick-arrow {
 left: 5px;
 position: absolute;
 top: 90px;
	width: 20px;
}
img.nextArrow.slick-arrow {
 right: 10px;
 position: absolute;
 top: 90px;
	width: 20px;
}
/************** 
Responsive
***************/

@media screen and (max-width: 750px) {
	#page_header .headline {
	 font-size: 22px !important;
	}
	#page_header .headline_area {
		padding: 0 100px !important;
		min-width: 22em !important;
		height: 5em !important;
	}
}
@media (min-width: 1168px) {

}
@media screen and (max-width: 480px) {
	footer#footer div#footer_banner .item {
	 width: 100%;
  margin-bottom: 1em;
	}
	.post_content dt {
	 float: none;
	 width: auto;
	 margin-bottom: 0;
		border-bottom: none;
	}
	.post_content dd {
	 margin-bottom: 1em;
	 float: none;
	 width: auto;
	}
	.post_content dl {
	 display: inline-block;
		width: 100%;
	}
	div.entry form dl dt {
		width: 100%;
	}
	div.entry form dl dd {
		width: 100%;
	}
}
@media screen and (max-width:850px) {
	.index_design_content2 .topSec2 .pc {display: none !important;}
	.index_design_content2 .topSec2 .mobile {display: block !important;}

}
