.container_full{
	width: 100%;
	height: auto;
}
#content .subtitle span{
	/* font-family: 'Oswald', sans-serif; */
	font-size: 28px;
}
#access .subtitle span{
	/* font-family: 'Oswald', sans-serif; */
	font-size: 36px;
}
/*----------------------- top -------------------------*/
#page_top,
#archive_works_top,
#taxonomy_works_top,
#single_works_top,
#archive_contents_top,
#taxonomy_contents_top{
	margin-top: 100px;
	padding:0;
	width: 100%;
	height: 30vw;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}
#page_top,
#archive_works_top,
#taxonomy_works_top,
#archive_contents_top,
#taxonomy_contents_top{
	height: 30vw;
	max-height: 450px;
	background: url('../img/top_bg.png') 0 0 fixed;
	background-size: cover;
}
.title{
	filter:grayscale(0%);
	color: rgb(160, 14, 21);
	font-family: 'Londrina Shadow', cursive;
	font-family: 'Londrina Solid', "Rounded Mplus 1c", cursive;
	margin-bottom: 40px;
}
.title h1{
	font-size: 96px;
	letter-spacing: 10px;
	font-weight: bold;
}
/*----------------------- top -------------------------*/

/*----------------------- content -------------------------*/
#content .subtitle{
	padding: 0;
}
#content .subtitle::before{
	bottom:0;
}
#content .subtitle::after{
	bottom:-4px;
}
#content .subtitle::before,
#content .subtitle span::before{
	border-bottom-color: #e0e0e0;
}
#content .subtitle::after,
#content .subtitle span::after{
	border-bottom-color: #fff;
}
#content .subtitle span{
	padding-bottom: 15px;
}
/*----------------------- content -------------------------*/

/*----------------------- service -------------------------*/
.service_box{
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
}
figure.service_item{
	position: relative;
	width: 31%;
	color: #fff;
	margin: 0;
	text-align: justify;
}
figure.service_item:nth-child(4),
figure.service_item:nth-child(5),
figure.service_item:nth-child(6){
	margin-top: 40px;
}
figure.service_item *,
figure.service_item *::before,
figure.service_item *::after{
	transition: .3s all ease-in-out;
}
figure.service_item img{
	width: 100%;
	/* filter: grayscale(100%); */
	vertical-align: bottom;
	backface-visibility: hidden;
}
figure.service_item figcaption{
	position: absolute;
	bottom: 5%;
	right: 5%;
	width: 90%;
	height: 90%;
	padding: 5px 10px 10px;
}
figure.service_item figcaption::before,
figure.service_item figcaption::after{
	height: 2px;
	position: absolute;
	content: '';
	background: #fff;
	transition-delay: .3s;
}
figure.service_item figcaption::before{
	top: 80%;
	left: 35%;
	width: 71%;
}
figure.service_item figcaption::after{
	bottom: 0;
	right: 0;
	width: 106%;
}
figure.service_item:hover figcaption{
	background: rgba(0, 0, 0, .7);
	transition-delay: .5s;
}
figure.service_item:hover figcaption::before{
	top: 0;
	left: 0;
	width: 106%;
}
figure.service_item figcaption .heading::before,
figure.service_item figcaption .heading::after{
	width: 2px;
	position: absolute;
	content: '';
	background: #fff;
	transition-delay: .3s;
}
figure.service_item figcaption .heading::before{
	top: 80%;
	left: 35%;
	height: 27%;
}
figure.service_item figcaption .heading::after{
	bottom: 0;
	right: 0;
	height: 107%;
}
figure.service_item:hover figcaption .heading::before{
	top: 0;
	left: 0;
	height: 107%;
}
figure.service_item figcaption .heading h3{
	position: absolute;
	top: 80%;
	left: 35%;
	width: 65%;
	height: 20%;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff;
	color: #000;
	transition-delay: .3s;
}
figure.service_item:hover figcaption .heading h3{
	top: 0;
	left: 0;
	transition-delay: .5s;
	background: transparent;
	color: #fff;
	font-size: 20px;
	width: 100%;
}
figure.service_item figcaption p{
	position: absolute;
	top: 55%;
	left: 10%;
	transform: translateY(-50%);
	width: 80%;
	opacity: 0;
}
figure.service_item:hover p{
	opacity: 1;
	transition-delay: .75s;
}
.service_box{
	margin: 40px 0 80px;
}
.webtag_box{
	padding: 30px 0;
}
.webtag_box .links,
#flow .links{
	margin-right: 0;
}
#flow{
	padding-top: 0;
}
#flow .subtitle span::after{
	content: "制作の流れ";
	display: block;
	font-weight: normal;
	font-size: 16px;
	color: #000;
}
.flow_wrap{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.flow_content img{
	width: 100%;
	vertical-align: bottom;
}
.flow_arrow{
	width: 100px;
}
.flow_arrow img{
	transform: rotate(-90deg);
	width: 20px;
	/* height: 50px; */
}
.flow_content h3{
	font-size: 26px;
	font-weight: bold;
}
.flow_content p{
	font-size: 14px;
	line-height: 1;
}
/*----------------------- service -------------------------*/
/*----------------------- policy -------------------------*/
#policy h2{
	line-height: 2;
	font-size: 30px;
	margin-bottom: 30px;
}
#policy h2:last-of-type{
	margin-top: 50px;
}
#policy p{
	line-height: 2.3;
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
	text-align: left;
}
/*----------------------- policy -------------------------*/
.cat_wrap ul{
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.cat_wrap .cat_links{
	flex: 1;
}
.cat_links .active,
.cat_links a{
	color: #333;
	position: relative;
	display: block;
	padding: 20px 0;
	border: 1px solid #333;
	transition: .3s all;
	white-space: nowrap;
	margin-right: -0.5px;
}
.cat_links .active{
	background: #333;
	color: #fff;
	pointer-events:none;
}
/*----------------------- works -------------------------*/
#works_content{
	margin-top: 50px;
}
#content figure.works_box{
	color: #fff;
	float: left;
	overflow: hidden;
	margin: 10px;
	position: relative;
	width: calc(25% - 20px);
}
figure.works_box *{
	transition: .3s all;
	color: #fff;
}
figure.works_box a{
	display: block;
}
figure.works_box > a{
	background: #212121;
}
figure.works_box img{
	background: #212121;
	height: 100%;
	opacity: 1;
	vertical-align: bottom;
	width: 100%;
}
figure.works_box h2{
	background: rgba(33, 33, 33, .5);
	font-weight: bold;
	margin: 0;
	position: absolute;
	top:  0;
	text-align: right;
	transform: translateY(-300%);
	width: 100%;
	z-index: 1;
}
figure.works_box h2 a{
	padding: 15px 25px 0 0;
}
figure.works_box h2 a::before{
	border-style: solid;
	border-width: 0 275px 55px 0;
	border-color: transparent rgba(33, 33, 33, .5) transparent transparent;
	content: '';
	height: 0;
	position: absolute;
	top: 100%;
	left: 0;
	width: 0;
}
figure.works_box figcaption{
	background: rgba(33, 33, 33, .5);
	padding: 5px 25px 15px;
	position: absolute;
	bottom: 0;
	text-align: left;
	transform: translateY(250%);
	width: 100%;
	z-index: 2;
}
figure.works_box figcaption::before{
	border-style: solid;
	border-width: 55px 0 0 275px;
	border-color: transparent transparent transparent rgba(33, 33, 33, .5);
	content: '';
	height: 0;
	position: absolute;
	bottom: 100%;
	left: 0;
	width: 0;
}
.pagenation{
	margin-top: 50px;
}
.page-numbers{
	font-size: 10px;
	margin: 0 20px;
	padding: 10px;
	border: 1px solid #333;
	color: #333;
	font-weight: bold;
	position: relative;
}
.current{
	background: #333;
	color: #FFF;
}
/*----------------------- works -------------------------*/

/*----------------------- contents -------------------------*/
#content figure{
	margin:  0;
	padding: 0;	
}
#contents_wrap{
	display: flex;
	justify-content: space-between;
}
.main_contents{
	width: 75%;
	height: auto;
	padding: 0 25px 0 50px;
}
.contents_outer{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 20px;
}
.contents_cacth{
	width: 150px;
	height: 150px;
	position: relative;
	overflow: hidden;
	background: #212121;
}
.contents_cacth img{
	width: auto;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition: .3s;
}
.contents_box{
	width: calc(100% - 150px);
	height: auto;
	padding: 0 20px;
}
.inner_wrap{
	display: flex;
	font-size: 14px;
}
.contents_box time{
	margin-right: 20px;
}
.inner_wrap a{
	color: #000;
	transition: .3s all;
}
.inner_wrap a + a{
	margin-left: 20px;
}
.contents_box h2{
	margin: 11px 0;
	text-align: left;
	font-size: 22px;
	font-weight: bold;
}
.contents_box h2 a{
	color: #000;
	transition: .3s all;
}
#sidebar.side_contents{
	width: 25%;
	height: auto;
	padding: 0 50px 0 25px;
}
.side_contents h2{
	border-bottom: 1px solid #aaa;
	color:#777;
	font-size: 18px;
	padding-bottom: 10px;
	padding-left: 10px;
	margin-top: 15px;
	margin-bottom: 20px;
	text-align: left;
}
.side_contentscat li a{
	background: transparent;
	border: 1px solid #eee;
	color: #777;
	display: block;
	font-size: 14px;
	margin-bottom: 1px;
	padding: 6px 20px;
	position: relative;
	text-align: left;
	transition: .6s;
}
.side_contentscat li a::before{
	background: #eee;
	content: '';
	display: block;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	transition: .3s all;
	transform-origin: 50% 100%;
	width: 100%;
	z-index: -1;
}
.side_contentscat li a::after{
	background: #fff;
	content: '';
	display: block;
	height: 100%; 
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
	transition: .3s all;
	transform: scale(0, 1);
	transform-origin: 0 0;
	width: 100%;
	z-index: -1;
}
/*----------------------- contents -------------------------*/

/*----------------------- contact -------------------------*/
.contact_guide{
	width: 100%;
	max-width: 1000px;
	margin: 0 auto 80px;
}
.contact_guide_box{
	margin-top: 60px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.contact_guide_box li{
	background: #ddd;
	font-weight: bold;
	flex-basis: 260px;
	padding: 40px 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
}
.guide_inner1{
	font-size: 14px;
	margin-left: 30px;
}
.guide_inner2{
	font-size: 20px;
	margin-left: 10px;
	margin-right: auto;
	height: 30px;
}
.guide_inner3{
	font-size: 16px;
	margin-right: 30px;
}
.contact_guide_box li.active{
	background: #999;
	color: #fff;
}
#step2{
	margin-left: 15px;
}
#step1::before,
#step2::before{
	content: '';
	position: absolute;
	top: 0;
	right: -30px;
	width: 0;
	height: 0;
	border-top:55px solid #fff ;
	border-right: 30px solid #fff;
	border-bottom: 55px solid #fff;
	border-left: 30px solid transparent;
}
.contact_guide_box li span{
	vertical-align: middle;
}
#contact div.form_box{
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	position: relative;
}
.required_item{
	color: #a00e15;
}
#contact .input_box{
	float: left;
	width: calc(50% - 20px);
	margin-bottom: 85px;
	margin-left: 20px;
}
#contact .input_box:nth-of-type(odd){
	margin-right: 20px;
	margin-left: 0;
}
#contact .textarea_box{
	width: 100%;
	margin-bottom: 80px;
}
#contact .input_box dt,
#contact .input_box dd,
#contact .textarea_box dt,
#contact .textarea_box dd{
	float: left;
	font-size: 14px;
	color: #aaa;
	font-weight: bold;
}
#contact .input_box dt,
#contact .input_box dd{
	height: 21px;
}
#contact .form_box dl{
	border-bottom: #aaa 1px solid;
	padding-bottom: 10px;
	line-height: 1;
}
#contact .form_box dl.focus{
	border-bottom-color: #73bfee;
	transition: .3s all;
}
#contact .form_box dl.no_focus{
	border-bottom-color: #aaa;
	transition: .3s all;
}
#contact .form_box dt{
	width: 130px;
	text-align: left;
}
#contact .form_box dt.focus_size{
	font-size: 1.02em;
	color: #73bfee;
	transition: .3s all;
	padding-top: 6px;
}
#contact .form_box dt.no_focus_size{
	font-size: 14px;
	color: #aaa;
	transition: .3s all;
	padding-top: 6px;
}
#contact .form_box dd{
	width: calc(100% - 130px);
	padding-top: 3px;
}
#contact .form_box .textarea_box dd{
	padding-top: 0;
}
#contact .form_box input,
#contact .form_box textarea{
	width: 100%;
	border: none;
	font-weight: normal;
	position: relative;
	transition: .3s all;
}
#contact .form_box textarea{
	resize: vertical;
}
.form_box input:focus, 
.form_box textarea:focus{
    outline-offset: 0px;
}
:focus {
    outline: -webkit-focus-ring-color 0px;
}
.wpcf7-not-valid-tip{
	margin-top: 20px;
	text-align: left;
}
.textarea_box .wpcf7-not-valid-tip{
	margin-top: 15px;
	text-align: left;
}
input[type="button"],input[type="text"],input[type="submit"] {
	-webkit-appearance: none;
	border-radius: 0;
}
#contact .form_box input#submit,
#contact .form_box input#return,
#contact .form_box input#send{
	margin-right: 1px;
	cursor: pointer;
	width: 300px;
	height: 80px;
	font-weight: bold;
	transition: .3s all;
	color: #fff;
	background: #333;
	border: 1px solid #333;
}
.contact_policy{
	margin: 80px auto 0;
}
.contact_policy h2{
	font-size: 26px;
	font-weight: bold;
}
.scroll_area{
	margin: 30px auto 0;
	border: 1px solid #aaa;
	padding: 30px 50px;
	width: 100%;
	max-width: 800px;
	height: 400px;
	text-align: left;
	overflow-y: scroll;
}
.scroll_area p{
	font-size: 14px;
	line-height: 1.8;
}
.scroll_area dl{
	margin: 20px 0;
}
.scroll_area dt{
	font-weight: bold;
	font-size: 16px;
}
.scroll_area dd{
	margin-top: 5px;
	margin-left: 16px;
	font-size: 12px;
	line-height: 1.8;
}
.scroll_area ol{
	margin-top: 10px;
}
.scroll_area ol li{
	list-style: decimal inside;
}
.thanks_btn a{
	display: block;
	width: 300px;
	height: 80px;
	line-height: 80px;
	font-weight: bold;
	transition: .3s all;
	color: #fff;
	background: #999;
	border: 1px solid #999;
	margin: 80px auto 0;
}
/*----------------------- contact -------------------------*/
/*----------------------- company -------------------------*/
.company_box{
	width: 100%;
	max-width: 1000px;
	height: auto;
	margin: 60px auto 0;
}
#company table{
	width: 50%;
	max-width: 500px;
	float: left;
}
#company th,
#company td{
	padding: 15px 0;
	font-size: 14px;
	font-weight: bold;
}
#company th{
	text-align: right;
	width: 130px;
	padding-right: 20px;
	vertical-align: top;
	color: #777;
}
#company td{
	text-align: left;
	padding-left: 20px;
	color: #333;
}
.company_box li{
	margin-bottom: 5px;
}
.company_box p{
	margin-bottom: 20px;
}
.company_box p:last-child{
	margin-bottom: 0;
}
.company_box p a{
	color: #aaa;
	transition: .3s all;
}
.company_box dl{
	margin-bottom: 20px;
}
.company_box dd{
	font-weight: normal;
	margin-left: 15px;
	margin-top: 5px;
}
/*----------------------- company -------------------------*/
/*----------------------- privacypolicy -------------------------*/
.privacy_box{
	width: 90%;
	max-width: 820px;
	margin: 50px auto 0;
	text-align: left;
}
.privacy_inner p{
	font-size: 16px;
	line-height: 1.8;
}
.privacy_inner dl{
	margin: 30px 0;
}
.privacy_inner dt{
	font-weight: bold;
	font-size: 18px;
}
.privacy_inner dd{
	margin-top: 20px;
	margin-left: 18px;
	font-size: 16px;
	line-height: 1.8;
}
.privacy_inner ol{
	margin-top: 20px;
}
.privacy_inner ol li{
	list-style: decimal inside;
}
/*----------------------- privacypolicy -------------------------*/
