@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/
/* 見出し */
.article h2::before {
border-top: none;
}
.article h2::after {
border-bottom: none;
}
.article h2{
border: none;
background: none;
} 
.article h3::before {
border-top: none;
}
.article h3::after {
border-bottom: none;
}
.article h3{
border: none;
}
.article h4::before {
border-top: none;
}
.article h4::after {
border-bottom: none;
}
.article h4{
border: none;
}
.article h5::before {
border-top: none;
}
.article h5::after {
border-bottom: none;
}
.article h5{
border: none;
}
.article h6::before {
border-top: none;
}
.article h6::after {
border-bottom: none;
}
.article h6{
border: none;
}
/* 余白 */
main,
#main,
.main {
    margin: 0 ;
	padding: 0;
	border: none;
} 
.article h1 {
    margin-top: 0;
    padding-top: 0;
} 
/* コンテンツ上の間を狭くする */
.content {
margin-top:0px;
padding:0px;
}
.article .entry-categories-tags {
   margin-bottom: 0;
}
.article .status-publish {
	margin-bottom: 0;
}

.page .main .entry-title {
	padding: 0;
	margin: 0;
	border: none;
}
.body .article {
  margin-top: 0;
}
.entry-content {
  margin-top: 0;
  margin-bottom: 0;
}
.date-tags {
	margin-bottom: 0;
}

footer#footer {
  margin-top: 0;
}

/* herosection */
.hero {
 position: relative;
 width: 100%;
 height: 100vh;
 background: url("http://kazuki-movie.com/wp-content/uploads/2025/10/三隅の風景.png") center/cover no-repeat;
 color: #fff;
 display: flex;
 align-items: center;
 justify-content: center;
 text-align: center;
 overflow: hidden;
}

.hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.35);
	z-index: 1;
}

.hero-inner {
	position: relative;
	z-index: 2;
	padding: 0 20px;
}

.hero-title {
	font-size: 3.5rem;
	letter-spacing: 0.05em;
	font-family: 'Zen Old Mincho', sans-serif;
	font-weight: bold;
	margin-bottom: 1rem;
	opacity: 0;
	transform: translatey(30px);
	animation: fadeUp 1s forwards 0.3s;
}

.hero-subtitle {
	font-size: 1.5rem;
	margin-bottom: 2rem;
	font-family: 'Zen Old Mincho', sans-serif;
	font-weight: bold;
	opacity: 0;
	transform: translatey(30px);
	animation: fadeUp 1s forwards 0.6s;
}

@keyframes fadeUp {
	to {
		opacity: 1;
		transform: translatey(0);
	}
}

.about {
	padding: 120px 0;
	color: #333;
}

.about h2.about-title {
	font-size: 64px;
    margin-bottom: 100px;
    font-weight: bold;
   font-family: 'Zen Old Mincho', sans-serif;
    position: relative;
    margin-right: 20px;
    text-align: center;
    z-index: 1;
}
.about-title span {
  display: block;
  font-size: 14px;
  color: #999;
  text-transform: uppercase;
  font-weight: bold;
  margin-top: 8px;
}

.about-profile {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 60px;
	max-width: 1200px;
	margin: 0 auto 100px;
	flex-wrap: wrap;
}
.about-img img {
	width: 280px;
	height: 380px;
	object-fit: cover;
 	border-radius: 5%; 
	box-shadow: 0 5px 20px rgba(0,0,0,0.1);
}

.about-text {
	max-width: 500px;
}

.about-text h3.about-texttitle {
	font-size: 1.8rem;
	margin-bottom: 1rem;
}

.about-text p {
	line-height: 2;
	font-size: 1rem;
	color: #555;
}
/* --- タイムライン本体 --- */
.timeline {
position: relative;
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}
.timeline::before {
content: "";
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
width: 2px;
height: 100%;
background: #e5e5e5;
}

/* 各アイテム */
.timeline-item {
position: relative;
width: 50%;
padding: 40px 30px;
box-sizing: border-box;
opacity: 0;
transform: translateY(50px);
transition: all 1s ease;
}
.timeline-item.visible {
opacity: 1;
transform: translateY(0);
}

/* 左右交互配置 */
.timeline-item.left {
left: 0;
text-align: right;
}
.timeline-item.right {
left: 50%;
}

.timeline-item .content {
background: #f8f8f8;
padding: 25px 30px;
border-radius: 10px;
position: relative;
box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}
.timeline-item.left .content::after,
.timeline-item.right .content::after {
content: "";
position: absolute;
top: 20px;
width: 15px;
height: 15px;
background: #000;
border-radius: 50%;
box-shadow: 0 0 0 5px #fff;
}
.timeline-item.left .content::after {
right: -38px;
}
.timeline-item.right .content::after {
left: -38px;
}

/* テキスト */
.year {
display: block;
font-weight: bold;
font-size: 1.2rem;
color: #000;
margin-bottom: 10px;
}
.timeline-item p {
line-height: 1.8;
color: #555;
font-size: 1rem;
text-align: left;
}

.kazuki-section {
  position: relative;
  background-color: #f5f5f5;
  text-align: center;
}

.kazuki-section h2.kazuki-title {
  font-size: 64px;
  margin-bottom: 100px;
  font-weight: bold;
/*   font-family: 'Montserrat' , 'Noto Sana JP', sans-serif; */
  position: relative;
  margin-right: 20px;
  text-align: center;
  z-index: 1;
}

.kazuki-subtitle {
  display: block;
  font-size: 14px;
  color: #999;
  text-transform: uppercase;
  font-weight: bold;
  margin-top: 8px;
}

.video-container {
  margin: 0 auto;
}

.movie-intro {
  position: relative;
  padding: 160px 20px 120px;
  background: linear-gradient(135deg, #f8f8f8 0%, #ffffff 100%);
  text-align: center;
  color: #333;
  overflow: hidden;
}

/* 斜めカットを作る */
.movie-intro::before {
  content: "";
  position: absolute;
  top: -80px;
  left: 0;
  width: 100%;
  height: 180px;
  background: #fff;
  transform: skewY(-4deg);
  transform-origin: top left;
  z-index: 1;
}

/* 下の斜め */
.movie-intro::after {
  content: "";
  position: absolute;
  bottom: -80px;
  left: 0;
  width: 100%;
  height: 180px;
  background: #fff;
  transform: skewY(4deg);
  transform-origin: bottom left;
  z-index: 1;
}

.intro__inner {
  position: relative;
  z-index: 2;
  max-width: 900px;
  margin: 0 auto;
}

.movie-intro h2.intro__title {
  font-size: 2rem;
  font-family: 'Zen Old Mincho', sans-serif;
  letter-spacing: 0.05em;
  margin-bottom: 0.5rem;
}

.intro__subtitle p{
  font-size: 1.2rem;
  color: #999;
  margin-bottom: 2.5rem;
}

.intro__text p{
  font-size: 1rem;
  line-height: 2;
  color: #555;
  text-align: left;
  margin-bottom: 3rem;
}

.intro__visual img {
  width: 100%;
  max-width: 700px;
  height: auto;
  border-radius: 10px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.1);
  transition: transform 0.8s ease;
}
.intro__visual img:hover {
  transform: scale(1.03);
}

.director-section {
  padding: 140px 0;
  background: #fff;
}

.director-section:nth-of-type(odd) {
  background: #f9f9f9;
}

.profile__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1000px;
  margin: 0 auto 80px;
  gap: 60px;
}

.profile__img img {
  width: 380px;
  height: auto;
  border-radius: 10px;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

.profile__text {
  flex: 1;
}

.director-section h2.director-title {
  font-size: 64px;
  margin-bottom: 100px;
  font-weight: bold;
/*   font-family: 'Montserrat' , 'Noto Sana JP', sans-serif; */
  position: relative;
  margin-right: 20px;
  text-align: center;
  z-index: 1;
}

.director-subtitle {
  display: block;
  font-size: 14px;
  color: #999;
  text-transform: uppercase;
  font-weight: bold;
  margin-top: 8px;
}

.profile__name {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 10px;
}

.profile__bio {
  line-height: 2;
  color: #555;
  text-align: left;
}

/* 監督プロフィール */
.cast-section {
background: #fff;
padding: 120px 0;
color: #333;
}

.cast-section h2.cast-title {
text-align: center;
font-size: 2.5rem;
letter-spacing: 0.05em;
margin-bottom: 80px;
}
.cast-section .cast-title span {
display: block;
font-size: 1rem;
color: #999;
margin-top: 8px;
}
.cast-profile {
display: flex;
align-items: center;
justify-content: center;
gap: 60px;
flex-wrap: wrap;
max-width: 900px;
margin: 0 auto 100px;
}

.cast-img img {
width: 260px;
height: 260px;
object-fit: cover;
border-radius: 5%;
box-shadow: 0 5px 20px rgba(0,0,0,0.1);
}

.cast-text {
max-width: 500px;
}
.cast-name {
font-size: 1.8rem;
margin-bottom: 1rem;
}
.cast-text p {
line-height: 1.8;
color: #555;
}


.dmovie-section {
background: #f9f9f9;
}

.dmovie-inner {
display: flex;
align-items: center;
justify-content: center;
max-width: 1200px;
margin: 0 auto;
gap: 80px;
}

.dmovie-img {
position: relative;
flex: 1;
}

.main-img img {
width: 100%;
max-width: 550px;
/* height: auto; */
border-radius: 10px;
box-shadow: 0 8px 25px rgba(0,0,0,0.1);
/* object-fit: cover; */
}

.sub-img {
	position: absolute;
	bottom: -40px;
	right: -40px;
	width: 250px;
	border-radius: 8px;
	box-shadow: 0 5px 15px rgba(0,0,0,0.15);
	z-index: 2;
	transform: rotate(3deg);
}

.dmovie-text {
flex: 1;
color: #333;
line-height: 2;
}

.dmovie-title {
font-family: "Montserrat", sans-serif;
font-weight: 700;
font-size: 1rem;
letter-spacing: 0.1em;
color: #999;
margin-bottom: 10px;
}

.dmovie-title span {
display: block;
font-size: 2rem;
font-weight: bold;
color: #111;
margin-top: 5px;
}

.dmovie-name {
font-size: 1.6rem;
font-weight: bold;
margin: 30px 0 20px;
}

.dmovie-bio {
margin-bottom: 20px;
font-size: 1rem;
color: #555;
}

.dmovie-career {
font-size: 0.95rem;
color: #666;
}

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
	.hero-title {
		font-size: 1.5rem;
	}
	.hero-subtitle {
		font-size:0.8rem;
	}
	.director-profile {
flex-direction: column;
text-align: center;
gap: 40px;
}
.director-img img {
width: 200px;
height: 200px;
}
	.timeline::before {
left: 20px;
}
.timeline-item {
width: 100%;
padding-left: 60px;
text-align: left;
}
.timeline-item.left,
.timeline-item.right {
left: 0;
}
.timeline-item .content::after {
left: 10px;
}
	.movie-intro {
    padding: 100px 20px;
  }
  .intro__title {
    font-size: 2rem;
  }
  .intro__subtitle {
    font-size: 1rem;
  }
	 .profile__inner {
    flex-direction: column;
    text-align: center;
  }
  .profile__img img {
    width: 80%;
  }
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}
