@charset "utf-8";
/*---------------------------------------------------------
Theme Name: pz-theme1.0
Description:
Author: JAMD STUDIO
License:
License URI:
Version: 1.0
---------------------------------------------------------*/
.page-header {
    background-size: 100%;
    background-position: center top;
    background-color: #efefef;
}
.page-header .container {
    position: relative;
    padding-top: 25%;
}
.page-header__title {
    position: absolute;
    right: 0;
    top: 50%;
    font-size: 28px;
	text-shadow: 2px 2px 1px #fff;
    transform: translateY(-50%) translateX(-50%);
}
.page-body {
    padding: 100px;
}


.index-section-heder {
    padding-top: 110px;
}
.index-section-heder__title {
    margin-bottom: 31px;
    font: bold 60px/1.6 'signpainter', cursive;
    text-align: center;
    letter-spacing: .05em;
    color: #433939;
}
.index-section-heder__desc {
    width: 810px;
    margin: 0 auto 58px;
    font-size: 14px;
    line-height: 2;
}
.index-section-heder__desc.has--tail {
    margin: 0 auto;
}
.index-section-heder__desc p + p {
    margin-top: 1.25em;
}






.insert-img {
	overflow: hidden;
}
.insert-img01-before {
	margin-bottom: -130px;
	padding-bottom: 130px;
	background-color: #f7f7f7;
}
.insert-img01-before.before--01 { background-color: #f7f7f7;}
.insert-img01-before.before--02 { background-color: #fff;}

.insert-img01 {
	position: relative;
	height: 500px;
	background-attachment: fixed;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	clip-path: polygon(50% 100%, 0 70%, 0 0, 50% 25%, 100% 0, 100% 70%);
}
.insert-img01.img01--01 { background-image: url(assets/img/index/bg01.jpg);}
.insert-img01.img01--02 { background-image: url(assets/img/index/bg02.jpg);}

/* 背景後 セクション */
.insert-img01-after {
	position: relative;
	z-index: -1;
}
.insert-img01-after::before {
	content: '';
	position: absolute;
	top: -100px;
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 50vw 100px 50vw;
}
/*.insert-img01-after.after--01::before { border-color: transparent transparent #f7f7f7 transparent;}*/
.insert-img01-after.after--01::before { border-color: transparent transparent #fff transparent;}
















.main-visual video {
    width: 100%;
    height: auto;
}
/* 動画の読み込み前から高さ（2:1）を確保し、下のコンセプト欄が押し下げられる（表示のずれ）のを防ぐ */
.main-visual video {
    display: block;
    aspect-ratio: 2 / 1;
    background: #000;
}
/* 画像に width/height を付けたので、表示は幅に合わせて高さを自動にする */
.index-service-team__item img,
.index-service-scene-gallery__item img,
.index-service-network__map img,
.index-service-studio-aside img {
    max-width: 100%;
    height: auto;
}


.index-concept, #works {
    background: #f7f7f7;
}
.pz-brands__title {
    margin-bottom: 22px;
    font: normal 30px/1.6 'signpainter', cursive;
    text-align: center;
}



.pz-brands__list {
    text-align: center;
}
.pz-brands__item {
    display: inline-block;
    padding: 0 10px;
}


#works-gallery {

}
#works-gallery::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 7%;
    height: 100%;
    background: linear-gradient( 90deg, rgba(255, 255, 255, 1), rgba(255, 255, 255, .3) 70%, rgba(255, 255, 255, 0));
    z-index: 2;
}
#works-gallery::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    width: 7%;
    height: 100%;
    background: linear-gradient( 90deg, rgba(255, 255, 255, .0), rgba(255, 255, 255, .3) 30%, rgba(255, 255, 255, 1));
    z-index: 2;
}

.works-gallery-group {
	margin: 0 auto;
}

.works-gallery__list {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
    padding: 0 15px;
    /* font-size: 0; */
}
.works-gallery__item {
    /* display: inline-block; */
    box-sizing: border-box;
    width: 25%;
    min-height: 190px;
    margin-bottom: 26px;
    padding: 0 10px;
    font-size: 13px;
    vertical-align: top;
}
@media screen and (min-width: 1601px) {
.works-gallery__item {
    width: 16.666666%;
}
}
.works-gallery__item__thumb img {
    width: 100%;
    height: auto;
}
.works-gallery__item__name {
    padding-top: 10px;
    line-height: 1.5;
}
.works-gallery-notice {
	width: 700px;
    margin: 25px auto 0;
    font-size: 12px;
    line-height: 1.7;
    color: #666;
}


.index-service-header-row {
    background: #f7f7f7;
}
.index-service-content {
    margin-top: 100px;
}
.index-service-team {
    padding: 100px 0 0;
}

.index-service-team__list {
    font-size: 0;
    text-align: center;
}
.index-service-team__item {
    display: inline-block;
    box-sizing: border-box;
    width: 50%;
	margin-bottom: 50px;
    padding: 20px;
	vertical-align: top;
}

.index-service-scene-gallery {
    width: 100%;
    overflow: hidden;
}
.index-service-scene-gallery__item {
    width: 33.333333%;
}
.index-service-scene-gallery__item img {
	display: block;
    width: 100%;
}
.index-service-network__map {
    margin-top: 75px;
    text-align: center;
}

#studio {
    background: #f7f7f7;
	display: none;
}
.index-service-studio-row {
    width: 976px;
    margin: 0 auto;
}
@media screen and (max-width: 767px) {
	.index-service-studio-row { width: 100%;}
}

.index-service-studio__title {
    margin-bottom: 25px;
}
.index-service-studio__option {
    margin-top: 25px;
    line-height: 1.7;
}
.index-service-studio-aside {
    width: 420px;
}
.index-service-studio-aside img {
    width: 100%;
}
.index-service-studio__desc {
    line-height: 1.7;
}


#about {
    padding: 0 0 58px;
    background: url(assets/img/index/bg_about.jpg) no-repeat left bottom;
}



.index-about-philosophy {
	position: relative;
	left: 50%;
	width: 50%;
}
.index-about-philosophy__list {
	list-style: decimal;
	margin-bottom: 50px;
}
.index-about-philosophy__item + .index-about-philosophy__item {
    margin-top: 20px;
}
.index-about-philosophy__item__title {
    margin-bottom: 10px;
    font-size: 15px;
    font-weight: bold;
}
.index-about-philosophy__desc {
	font-size: 15px;
	line-height: 1.8;
}
.index-about-btn {
	position: relative;
	margin-left: 50%;
}



#access {
    background: #f7f7f7;
}
.office__list {
    width: 746px;
    margin: 0 auto;
    font-size: 0;
}
.office__item {
    display: inline-block;
    box-sizing: border-box;
    width: 50%;
    padding: 10px 30px 50px;
    font-size: 14px;
    line-height: 1.8;
    vertical-align: top;
}
.office__item__title .header02 {
    width: 290px;
}
.office__item__link {
    margin-top: 20px;
}
.office__item__link::before {
    position: relative;
    display: inline-block;
    font: normal normal normal 14px/1 FontAwesome;
    content: "\f105";
    top: -.1em;
    margin: 0 10px 0 0;
    vertical-align: middle;
}

#topics {
    padding-top: 39px;
}
.index-topics__item__title {
    line-height: 1.75;
}
#recruit {
    padding-top: 39px;
}
.index-recruit-text.text-noaccept {
    padding: 100px 0 150px;
    text-align: center;
}

.index-topics__list {
    display: flex;
    flex-direction: column;
    gap: 20px;
    max-width: 600px;
    margin: 0 auto;
    padding: 0;
    list-style: none;
}
.index-topics__item a {
    text-decoration: underline;
}
.index-topics__item-row {
    display: flex;
    gap: 10px;
    text-decoration: none;
    color: inherit;
	line-height: 1.75;
}

.index-topics__date {
    font-size: 0.9em;
    color: #888;
}

.index-topics__title {
    font-weight: bold;
}
.single-post {
    padding: 70px 0;
}
.single-post img {
    max-width: 100%;
    height: auto;
}
.single-post-header {
    margin-bottom: 35px;
}
.single-post-date {
	margin-bottom: 10px;
    font-size: 12px;
}
.single-post-title {
    font-size: 22px;
    line-height: 1.35;
}
.single-post-visual {
    margin-bottom: 35px;
}
.single-post-body {
    line-height: 2;
}









#company-profile {
    line-height: 2;
}
#company-profile th {
    text-align: right;
    font-weight: bold;
    vertical-align: top;
}




.form-content__title {
	margin-bottom: 28px;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.8;
	color: #363636;
}
.form-content__text {
    font-size: 14px;
    line-height: 2;
}

#form01 {
    margin: 35px 0;
    line-height: 2;
}

#form01 th, #form01 td {
    padding: 10px;
    vertical-align: top;
}
#form01  th {
    padding-top: 15px;
}
.mw_wp_form_confirm #form01 td {
    padding-top: 15px;
}


input[type="text"],
input[type="email"],
textarea {
    border: 1px solid #ccc;
    border-radius: 2px;
    padding: 10px;
}
.form-footer-btn {
    margin: 0 0 30px;
	padding-left: 270px;
}
.form-footer-btn input[type="submit"] {
    display: inline-block;
    width: 270px;
    margin: 0;
    padding: 10px;
    border: 1px solid #333;
    background: #fff;
}









/* 2026-10-10 JAMD: トップの h1（コンセプト冒頭文）を本文と同じ見た目に */
.index-section-heder__lead {
    margin: 0;
    font-size: 14px;
    font-weight: normal;
    line-height: 2;
}
