/*
Theme Name: Lightning Child 
Theme URI: ★ テーマの公式サイトなどのURL（空欄でも可） ★
Template: lightning
Description: ★ テーマの説明（空欄でも可） ★
Author: ★ テーマ作成者の名前（空欄でも可） ★
Tags: 
Version: 0.5.1
*/
/*スクロール*/
html {
  scroll-behavior: smooth;
}

/*フッター削除*/
.site-footer-copyright p:nth-child(2) {
    display: none;
}


/*Access部分*/
.accessBase {
    position: relative;
}
.accessChild1 {
    position: absolute;
    top: 10%;
    left: 8%;
    z-index : 10;
	
}
.accessChild2 {
    position: absolute;
    top: 60%;
    left: 40%;
    z-index : 5;
}

.accessChild2_EN{
	position: absolute;
    top: 55%;
    left: 43%;
    z-index : 5;
}

/* gmap裏ぱるふぇちゃん */
.Googlemap_column{
  position: relative;
}

.gmap{
  position: relative;
  z-index: 1;
}

.Access_parfait {
  position: absolute;
  bottom: -20px;   /* マップの下からちょっとはみ出す */
  right: -40px;    /* マップの右から少しはみ出す */
  
  z-index: 0;      /* マップの後ろ */
  transform: rotate(0deg);
  transform-origin: bottom center; 
  transition: transform 0.5s ease;
}

.Googlemap_column:hover .Access_parfait {
  transform: rotate(40deg) scale(1.50); /* 右にひょこっと首をかしげる */
}

/*上に戻るボタンカスタマイズ*/
.page_top_btn {
    right: 20px;
    bottom: 20px;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: var(--vk-color-primary);
    box-shadow: none;
background-image: url("http://ribbon-parfait.jp/wp-content/uploads/2025/09/topback-1.png");
}

/*ContactForm7カスタマイズ*/
table.CF7_table{
	width:60%;
	margin:0 auto;
	color:#848484;
	

}

/*枠線を消す*/
.wpcf7 table {
    border: none !important;
    border-collapse: collapse !important;
}

.wpcf7 table td, table th {
    border: none !important;
}


.single .entry-content table.CF7_table,
.page .entry-content table.CF7_table{
	display:table;

}





/*「必須」文字*/
.CF7_req{
	font-size:.9em;
	padding: 5px;
	background: #FBE2E9;/*うすピンク*/
	color: #f8afaf;/*濃いピンク*/
	border-radius: 3px;
	margin-right:1em;
}

/*「任意」文字*/
.CF7_unreq{
	font-size:.9em;
	padding: 5px;
	background: #bdbdbd;/*グレー*/
	color: #8b847b;/*濃いグレー*/
	border-radius: 3px;
	margin-right:1em;
}

/* タイトル列 */
@media screen and (min-width: 768px){
	.CF7_table th{
	width:100%;/*横幅*/
float: left;
		text-align:left;
	}
}

/* レスポンシブ */
@media screen and (max-width: 768px){
	table.CF7_table{
	width:100%;
	}
	.CF7_table tr, .CF7_table td, .CF7_table th{
	display: block;
	width: 100%;
	line-height:2.5em;
		text-align:center;
	}

}

/* 「送信する」ボタン */
.wpcf7 input.wpcf7-submit {
	background-color:#b7a096;/*茶*/
	border:0;
	color:#fff;/*白*/
	font-size:1.2em;
	font-weight:bold;
	margin:0 auto;
	border-radius: 100px;
}

.CF7_btn{
	text-align:center;
	margin-top:20px;
}

.wpcf7-spinner{
	width:0;
	margin:0;
}

input[type=date], input[type=email], input[type=number], input[type=password], input[type=tel], input[type=text], input[type=url], select, textarea

  {
  outline:none;
	background-color:rgba(251,226,233,0.5);
		width:100%;
	  font-family: Kaisei Decol;
}


/* ページヘッダーの背景画像 */
.page-header {
   /* background: url(http://ribbon-parfait.jp/wp-content/uploads/2025/07/headereaimg.png) no-repeat; ページヘッダーの背景画像 */
	transform: translate;
  background-color: transparent;
    background-size: cover;
    height: 15vw;
    display: flex;
    align-items: center;
	
}
 
/* ページヘッダーの文字 */
h1.page-header-title {
    color: #848484;
    font-size: 2vw !important;
}

/*
* 新着記事一覧ショートコード用
*/
.news-list .news-list-inner {
 padding: 20px 5px;
	color:#8b847b;


}
.archive .news-list .news-list-inner {
 background: #fff;
 padding: 20px;
}
.news-list ul {
 list-style: none;
 margin: 0 0 20px;
}
.news-list li {
 padding: 10px;
 border-bottom: 1px solid #ddd;
}
.news-list a {
 text-decoration-line: none;
}
.news-list a:hover {
 opacity: 0.6;
	color: #fbe2e9;
}
.news-list a.wp-block-button__link {
 color: #fff;
}
.news-list a.wp-block-button__link:hover {
 color: #fbe2e9;
}
.news-list .news_date {
 margin: 0;
 font-size: 14px;
}
.news-list .news_title {
 margin: 0;
 font-size: 18px;
 line-height: 30px;
 padding-top: 10px;
 padding-bottom: 10px;
}

/* 風船バウンド */

.img-bound{
  padding:0 !important;
}
.img-bound img{
  animation: bound 1.5s ease infinite alternate;
}
@keyframes bound{
  0%    {transform: translateY(0px);}
  100%  {transform: translateY(-20px);}
}
/* 線を削除ヘッダーフッター */
.siteHeader {
	box-shadow: none;
}
.breadSection {
	border-bottom: none;
}
.site-footer {
border-top: none;
}
/* キャスト一覧ホバーで浮く*/

.castcard{
	position:relative;
	top:0;
}
.castcard:hover{
	top:-10px;
	transition:0.3s;
}


/* キャスト裏カルーセルスライダー */
.slider1 {
  display: flex;
  margin: 0 calc(50% - 50vw);
  width: 100%;
  height:200px;
 
}



.slider1 ul{
	display:flex;
	padding: 0;
	margin:0;
}
.slider1 li{
	width:280px;/* 画像サイズ */
	list-style: none;
	margin:10px;
}
.slider1 ul:first-child {
  animation: slide1 150s -75s linear infinite;
}

.slider1 ul:last-child {
  animation: slide2 150s linear infinite;
}
@keyframes slide1 {
  0% {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(100%);
  }
}

@keyframes slide2 {
  0% {
    transform: translateX(-200%);
  }
  to {
    transform: translateX(0);
  }
}
.cast-cover{
	 position: relative;
}
.slider1{
	position: absolute;
  top: 25%;
  
}



/* キャスト前カルーセルスライダー */
.slidertop {
  display: flex;
  margin: 0 calc(50% - 50vw);
  width: 100%;/* 画像サイズ */
  
 
}
.slidertop ul{
	display:flex;
	padding: 0;
	margin:0;
}
.slidertop li{
	width:300px;
	list-style: none;
	margin:10px;
}
.slidertop ul:first-child {
  animation: slidetop1 150s -75s linear infinite;
}

.slidertop ul:last-child {
  animation: slidetop2 150s linear infinite;
}
@keyframes slidetop1 {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}

@keyframes slidetop2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}

/* コラム裏画像 */
.columncover{
	position: relative;
}
.column1{
	position: absolute;
  top: 30%;
	left: 10%;
	animation: rotation-3d 8.0s linear infinite;
	z-index:1;
}
.column2{
	position: absolute;
  top: 25%;
	left: 45%;
	z-index:1;
	animation: rotation-y 5.5s linear infinite;
}
.column3{
	position: absolute;
  top: 20%;
	left: 80%;
	z-index:1;
	animation: rotation-3d2 10.0s linear infinite;
}
.column{
	position:relative;
	z-index:100;
}
/* コラムアニメーション */
@keyframes rotation-3d {
  0% {
    transform: rotate3d(1,1,1,0deg);
  }
  100% {
    transform: rotate3d(1,1,1,360deg);
  }
}
@keyframes rotation-y {
  0% {
    transform: rotateY(0deg);
  }
  100% {
    transform: rotateY(360deg);
  }
}
@keyframes rotation-3d2 {
  0% {
    transform: rotate3d(1,1,1,0deg);
  }
  100% {
    transform: rotate3d(1,1,1,360deg);
  }
}
/* キャスト個人ページスケジュール表 */
.schedule{
	border-collapse: collapse;
 border-spacing: 0;
 background: linear-gradient(to bottom, #f3aa9b, #848484);
 color: #ffffff;
}
.schedule th {
 border: solid 1px #ffffff;
 background: #f3aa9b;
}
.schedule td {
 border: solid 1px #ffffff;
}

.castsl{
	width:350px;/* キャスト画像サイズ */
}
/* ファストビュー画面いっぱい */
.topfast{
	width: 100%;
  height: 100vh;
	position: relative;
	/*z-index:99999;*/
	
}



/* コンセプト部分*/
.concept-oya{
	position:relative;
	margin-bottom:10px;
}
.con-img-b {
    position: absolute;
    top: -90%;
    left: 35%;
}
.concept_frame{
	position:relative;

}
.concept_p{
	position:absolute;
	top:50%;
  left: 50%;
	-ms-transform: translate(-50%,-50%);/*ベンダープレフィックス*/
  -webkit-transform: translate(-50%,-50%);/*ベンダープレフィックス*/
  transform: translate(-50%,-50%);/*センター寄せの修正*/
  font-size: 1.3rem;
  padding: 0!important;/*文字が折り返される場合*/
	width:100%;
}

.wp-block-cover .wp-block-cover__image-background{
	height: auto;
max-height: none;
min-height: auto;
}

.concepth4 {
	margin-bottom:0!important;
}

/* スマホとPCで改行を切り替える */
.pc-br { display: inline; }
.sp-br { display: none; }

@media screen and (max-width: 768px) {
  .pc-br { display: none; }
  .sp-br { display: inline; }
}
.welcome-text{
	font-size:1.2rem;
	
}


/*キャストカバー*/

/* Castのカバーブロックに“中央だけ白っぽく”を重ねる */
.wp-block-cover.cast-cover
{ position: relative; background-attachment: scroll !important; }
.wp-block-cover.cast-cover::after{
  content:"";
  position:absolute;
  inset:0;               /* 上下左右ぜんぶに貼る */
  pointer-events:none;   /* クリックを邪魔しない */
  z-index:0;             /* コンテンツの背面に回す */
  background: linear-gradient(
    to bottom,
    rgba(255,255,255,0) 0%,
     rgba(255,255,255,0.8) 20%, /* 20%地点で白くなり始める */
    rgba(255,255,255,0.8) 80%, /* 80%まで白のまま広げる */
    rgba(255,255,255,0) 100%
  );
}
/* 念のため、内部コンテンツを前面に */
.wp-block-cover.cast-cover .wp-block-cover__inner-container{
  position: relative; z-index:1;
}
/* newsのカバーブロックに“中央だけ白っぽく”を重ねる */
.wp-block-cover.news-cover
{ position: relative; background-attachment: scroll !important; }
.wp-block-cover.news-cover::after{
  content:"";
  position:absolute;
  inset:0;               /* 上下左右ぜんぶに貼る */
  pointer-events:none;   /* クリックを邪魔しない */
  z-index:0;             /* コンテンツの背面に回す */
  background: linear-gradient(
    to bottom,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.8) 20%, /* 20%地点で白くなり始める */
    rgba(255,255,255,0.8) 80%, /* 80%まで白のまま広げる */
    rgba(255,255,255,0) 100%
  );
}
/* 念のため、内部コンテンツを前面に */
.wp-block-cover.news-cover .wp-block-cover__inner-container{
  position: relative; z-index:1;
}
/* contactのカバーブロックに“中央だけ白っぽく”を重ねる */
.wp-block-cover.contact-cover
{ position: relative; background-attachment: scroll !important; }
.wp-block-cover.contact-cover::after{
  content:"";
  position:absolute;
  inset:0;               /* 上下左右ぜんぶに貼る */
  pointer-events:none;   /* クリックを邪魔しない */
  z-index:0;             /* コンテンツの背面に回す */
  background: linear-gradient(
    to bottom,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.8) 20%, /* 20%地点で白くなり始める */
    rgba(255,255,255,0.8) 80%, /* 80%まで白のまま広げる */
    rgba(255,255,255,0) 100%
  );
}
/* 念のため、内部コンテンツを前面に */
.wp-block-cover.contact-cover .wp-block-cover__inner-container{
  position: relative; z-index:1;
}
/*accessのカバーブロックに“中央だけ茶っぽく”を重ねる */
.wp-block-cover.access-cover
{ position: relative; background-attachment: scroll !important; }
.wp-block-cover.access-cover::after{
  content:"";
  position:absolute;
  inset:0;               /* 上下左右ぜんぶに貼る */
  pointer-events:none;   /* クリックを邪魔しない */
  z-index:0;             /* コンテンツの背面に回す */
  background: linear-gradient(
    to bottom,
    rgba(183,160,150,0) 0%,    /* 上端は透明 */
    rgba(183,160,150,0.5) 20%, /* 20%地点で色が出始める */
    rgba(183,160,150,0.5) 80%, /* 80%まで色を維持 */
    rgba(183,160,150,0) 100%   /* 下端で透明に戻る */
  );
}
/* 念のため、内部コンテンツを前面に */
.wp-block-cover.access-cover .wp-block-cover__inner-container{
  position: relative; z-index:1;
}
/* 751以上の時表示しない */
@media only screen and (min-width: 751px) {
 .sp-con-img { display: none!important; }/* コンセプト画像 */
}
/* システム部分 */
.system-bottle-img{
	align-items: normal!important;
}
/* column部分切り換え */
/* デフォルト（PCで表示） */
.column-pc {
	display: flex !important;
}
.column-mb {
  display: none !important;
}

/* スマホ幅（750px以下）で切り替え */
@media (max-width: 750px) {

 .column-mb {
  display: flex !important;
}
}



/* キャスト個人ページ部分切り換え */
.singlename-mb{
	display:none;
}
/* ボタンホバーでぱるふぇちゃん */
/* 全体を中央寄せするためのラッパー */
.hover-container {
  display: block;
  width: fit-content;   /* ボタンの幅に合わせる */
  margin: 0 auto;       /* 中央に配置 */
  position: relative;
}

.magic-btn {
  position: relative;
  z-index: 2;
  padding: 15px 30px;
  cursor: pointer;
  
}

.system-button{
	padding:0;
}

.character {
  position: absolute;
  top: 50%;
  right: 20%; 
  transform: translateY(-50%) translateX(-50%); /* 最初は完全に隠す */
  transition: transform 0.4s ease;
  z-index: 1;
}

.hover-container:hover .character {
  transform: translateX(-50%) translateY(-60px); /* 顔だけちょっと出す */
	
}

.character_sytsem{
	  position: absolute;
  top: 50%;
  left: 0; /* ← 左端を基準 */
  transform: translate(-100%, -50%); /* 初期状態：左に隠す */
  transition: transform 0.4s ease;
  width: 60px;
  z-index: 1;
}

.hover-container:hover .character_sytsem {
  transform: translate(0, -50%); /* ホバー時：左から出る */
}

.character_news img{
	transform: scale(-1, -1);
}

.character_news {
  position: absolute;
  top: 8%;   /* ボタンの下に配置 */
  left: 50%;
  transform: translateX(-50%) translateY(0%); /* さらに下に押し込んで隠す */
  transition: transform 0.4s ease;
  
  pointer-events: none; /* 画像がクリックの邪魔をしない */
}
.hover-container:hover .character_news {
  transform: translateX(-50%) translateY(35%); /* ボタンの真下にぴょこん */
}

.character_column{
	position: absolute;
  top: 8px;
  left: 28px;
  z-index: 0;   
  transform: rotate(0deg);
  transform-origin: bottom center;
  transition: transform 0.5s ease;
}
.hover-container:hover .character_column {
  transform: rotate(-40deg) scale(1.50);
}

.character_recruit_btn{
	position: absolute;
  top: 8px;
  right: 28px;
  z-index: 0;   
  transform: rotate(0deg);
  transform-origin: bottom center;
  transition: transform 0.5s ease;
}
.hover-container:hover .character_recruit_btn {
  transform: rotate(40deg) scale(1.50);
}

 /* 求人情報バナー部分ぱるふぇちゃん */
.Googlemap_column{
  position: relative;
}

.gmap{
  position: relative;
  z-index: 1;
}

.character_recruit {
  position: absolute;
  top: 20px;
  left: 28px;
  z-index: 0;   /* マップの後ろ */
  transform: rotate(0deg);
  transform-origin: bottom center;
  transition: transform 0.5s ease;
}

.Googlemap_column:hover .character_recruit {
  transform: rotate(-40deg) scale(1.50); /* 右にひょこっと首をかしげる */
}

/* 英語ページcolumn欄 */
.recent-column-en {
    list-style: none;
    padding: 0;
    display: flex;
    justify-content: center; /* 横並びを中央揃え */
    gap: 100px;               /* アイテム間の隙間 */
}

.recent-column-en-item {
    width: 200px;
    
    padding: 10px;
    box-sizing: border-box;
}

.recent-column-en-thumb img {
    width: 100%;
    height: auto;
    display: block;
    margin-bottom: 5px;
}

.recent-column-en-title a {
    font-weight: bold;
    color: #8b847b;
    text-decoration: none;
	font-size:1.0em;
}

.recent-column-en-date {
    font-size: 12px;
    color: #666;
    margin-bottom: 5px;
}

.recent-column-en-excerpt {
    font-size: 14px;
    color: #444;
}

.column-en-archive-wrapper {
    display: flex;
    gap: 30px;
}
.column-en-main {
    flex: 3;
}
.column-en-sidebar {
    flex: 1;
}
/* Column EN 英語版: スマホでPC表示を縮小 */
@media (max-width: 768px) {
  .column-en-archive-wrapper.column-en-archive-wrapper-en .vk_posts {
    width: 1200px;           /* PC表示幅に合わせる */
    transform: scale(0.5);   /* 50%に縮小 */
    transform-origin: top left;
    margin: 0 auto;
  }

  .column-en-archive-wrapper.column-en-archive-wrapper-en .vk_post img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }

  .column-en-archive-wrapper.column-en-archive-wrapper-en .vk_post .post-header,
  .column-en-archive-wrapper.column-en-archive-wrapper-en .vk_post .post-content {
    font-size: 0.9em;
  }

  .column-en-archive-wrapper.column-en-archive-wrapper-en .column-en-sidebar {
    display: none;
  }
}
.column-en-main img {
    width: 100%;
    height: auto;
    max-width: 100%;
}

/* Cast の投稿ページだけタイトル＋メタ情報を消す */
body.single-cast .entry-header,
body.single-cast_en .entry-header {
  display: none;
}
/* Cast の投稿ページだけ前後ナビゲーションを非表示 */
body.single-cast .vk_posts.next-prev,
body.single-cast_en .vk_posts.next-prev {
  display: none !important;
}

.page-header-title{
	color:#8b847b;
}

