 /*
 Theme Name: オウイの影絵
 Theme URI: https://ouinokagee.com
 Description: オウイの影絵　ホームページ
 Version: 1.0.0
 Author: 北村匡志
 Author URI: https://portfolio.tadashikitamura.com/
 */

/* PC、スマホ共通スタイル */

body {
    font-family: "Zen Maru Gothic", serif , "Hiragino Mincho ProN","YuGothic","游ゴシック体","Charter","Source Sans Pro", "Hiragino Kaku Gothic ProN", Meiryo, Arial,
        sans-serif;
}

body,ul{
  margin: 0;
  padding: 0;
}

p {
    font-size: 1.5vw;
}


/*================
 PC用のスタイル
=================*/
@media screen and (min-width: 750px) {

 
    /* 横幅設定 */
    body {
        max-width: 2000px;
        min-width: 100%;
        margin: 0 auto 0 auto;
    }

      body {
        font-feature-settings: "palt";
      }

/* ヘッダー */

a {
	color: #333333;
	text-decoration: none;
}

.menu li {
	display: inline;
	letter-spacing: 0.04em;
  padding-left: 1%;
  padding-right: 1%;
  font-size: 1.5vw;
}

.menu-div {
  width: 100%;
  text-align: center;
  margin-top: 30px;
}

.oui-h1-div {
  margin-top: 30px;
  width: 100%;
}

.oui-h1-div-2 {
  display: flex;
  width: fit-content;
  margin: 0 auto;
  justify-content: center;
  align-items: center;
}

.oui-h1-div-textlogo {
width: 40%;
}

.oui-h1-div-textlogo img {
  width: 100%;
}
.oui-h1-div-characterlogo {
  width: 10%;
  margin-left: 10%;
}

.oui-h1-div-characterlogo img {
  width: 100%;
}



/* ヘッダー　ホバー時カラー */

.menu a:hover {
	color: #7b5544;
}

h1:hover {
  color: #7b5544;
} 
 
/* カレント表示 javascript*/

.current-display.current a {
  border-bottom: 1px #666 solid ;
  padding-bottom:10px;
}

/* ヘッダーここまで */

/* トップ画像の影絵 */

.topimages-div  {
  width: 100%;
  background-color: black;
  /* padding-top: 10%;
  padding-bottom: 5%; */
  text-align: center;
}

.topimages-div2  {
  width: 100%;
  margin: 0 auto;
  margin-top: 3%;
}

.topimages-div3  {
  width: 100%;
  background-image:radial-gradient(white 50% 1%, black 130%);
}

.topimages-div4  {
  width: 70%;
  margin: 0 auto;
}

.topimages-div2 img {
  width: 100%;
}



/* オウイ紹介 */

#oui-introduction-sec{
  width: 100%;
  position: relative;
  /* background-color: black; */
}

.top-background-div  {
  width: 100%;
  background-color: black;
}

.top-background-div2  {
  width: 100%;
  margin-top: 3%;
}

.top-background-div3  {
  width: 100%;
  background-image:radial-gradient(white 50% 1%, black 130%);
}

.top-background-div4  {
  width: 100%;
  margin: 0 auto;
}

.top-background-div2 img {
  width: 100%;
}

.oui-introduction-div {
  width: 100%;
  margin-top: 50px;
  text-align: center;
  /* background-color: black; */
  /* padding-top: 5%; */
  position: absolute;
  top: 43%;
}

.oui-introduction-div2 {
  width: 100%;
  padding-top: 2%;
  padding-bottom: 2%;
  border-radius: 30%;
  margin: 0 auto;
  /* background-image:radial-gradient(white 55% 2%, black 130%); */
}

.oui-introduction-div p{
  font-size: 1.5vw;
  line-height:220%;
}

/* オウイ影絵コンテンツ */

#oui-story-sec {
  background-color: black;
}

.oui-story-div-h2  {
  width: 100%;
  text-align: center;
  padding-top: 1%;
  padding-bottom: 1%;
}

.oui-story-div-h2-2 {
  width: 50%;
  border-radius: 50%;
  margin: 0 auto;
  /* background-image:radial-gradient(white 35% 2%, black 130%); */
  padding-top: 1.5%;
  padding-bottom: 1.5%;
  font-size: 2.5vw;
}

.oui-story-div2  {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  /* background-color: black; */
  padding-top: 10%;
  padding-bottom: 5%;
}

.oui-story-div2-2  {
  text-align: center;
  width: 50%;
  margin: 0 auto;
}

.oui-story-div2-2 h3{
  color: white;
  font-size: 2vw;
}

.oui-story-div3  {
  width: 100%;
  background-image:radial-gradient(white 65% 1%, black 80%);
  border-radius: 30%;
  padding-top: 20%;
  padding-bottom: 20%;
}

.oui-story-div4  {
  width: 70%;
  margin: 0 auto;
}

.oui-story-div2 img {
  width: 100%;
}

	.oui-story-div5 img{
		height:200px;
	}

/* トップページ　ふわっと */
/* オウイ紹介  ふわっと*/

.oui-introduction-div2 {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 5.5s, transform 8s;
}.oui-introduction-div2.active {
	opacity: 1;
	transform: translateY(0px);
}

/* オウイの影絵（h2）　ふわっと */
.oui-story-div-h2-2{
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 5.5s, transform 8s;
}.oui-story-div-h2-2.active {
	opacity: 1;
	transform: translateY(0px);
}

/* 影絵（トップページ）ふわっと*/
.oui-story-div2-2 {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 5.5s, transform 8s;
}.oui-story-div2-2.active {
	opacity: 1;
	transform: translateY(0px);
}

/* お知らせ */
.top-info {
  width: 100%;
  text-align: center;
  margin-top: 5%;
  font-size: 2.5vw;
}

.top-info-p {
  width: 50%;
  margin: 0 auto;
  border: solid 1px;
  margin-top: 2%;
  word-wrap: break-word;
  overflow-wrap: break-word;
  white-space: normal;
  box-sizing: border-box; /* パディングやボーダーを含めたサイズ管理 */
  max-width: 100%; /* 親要素の幅を超えないように制限 */
}

.top-info-p p {
  font-size: 1.3vw;
}

/* 影絵　別ページ */

.shadowstory-sp {
  display: none;
}

.shadow-div  {
  width: 100%;
  background-color: black;
  padding-top: 10%;
  padding-bottom: 5%;
  text-align: center;
}


.shadow-div h3 {
  color: white;
  font-size: 2vw;
}

.shadow-div2  {
  width: 100%;
  margin: 0 auto;
  margin-top: 3%;
}

.shadow-div3  {
  width: 100%;
  background-image:radial-gradient(white 65% 1%, black 80%);
  border-radius: 30%;
  padding-top: 20%;
  padding-bottom: 20%;
}

.shadow-div4  {
  width: 70%;
  margin: 0 auto;
}

.shadow-div2 img {
  width: 100%;
  height:auto;
  max-height: 800px;
}

/* 影絵（個別ページ）ふわっと*/
.shadow-div2 {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 5.5s, transform 8s;
}.shadow-div2.active {
	opacity: 1;
	transform: translateY(0px);
}


/* フッター */


.menu-footer a:hover {
	color: #7b5544;
}

.footer-div {
  margin-top: 60px;
  width: 100%;
}

.menu-footer {
  width: 100%;
	font-size: 1.5vw;
  text-align: center;
}

.menu-footer li {
	padding-bottom: 10px;
	display: inline;
	letter-spacing: 0.04em;
  margin-left: 1%;
} 

.cmark {
  width: 100%;
  text-align: center;
  margin-top: 5%;
}

/* ページネーション */
.pagination-div {
  display: flex !important; /* 横並びを強制 */
  justify-content: center; /* ページネーションを中央揃え */
  align-items: center;
  gap: 10px; /* 各アイテム間のスペース */
  margin: 20px 0;
  flex-wrap: nowrap; /* 折り返しを防止 */
}

.pagination-div a,
.pagination-div span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px; /* 円の幅 */
  height: 40px; /* 円の高さ */
  border: 2px solid #000; /* 円の枠線 */
  border-radius: 50%; /* 円形にする */
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  color: #000
}

.pagination-div .pagination-current {
  background-color: black; /* 背景色*/
  color: #ffffff; /* 文字色*/
}
	
	/* SNS */
.snsdiv {
  width: 100%;
  margin-top: 60px;
}

.snsdiv-2 {
  display: flex;
  width: 40%;
  height: auto;
  margin: 0 auto;
  justify-content: center;
  align-items: center;
}

.snsdiv-3 {
  width: 10%;
  padding-right: 3%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  overflow: hidden; /* はみ出しを防ぐ */
  height: auto; /* 親要素の高さを適切に調整 */
}

.snsdiv-3 img{
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain; /* 画像の比率を保持しつつ親要素に収める */
}

.snsdiv-4 {
  width: 10%;
  padding-left: 3%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  overflow: hidden; /* はみ出しを防ぐ */
  height: auto; /* 親要素の高さを適切に調整 */

}

.snsdiv-4 img{
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain; /* 画像の比率を保持しつつ親要素に収める */
}

}
    
  /*====================
   スマートフォン用のスタイル
  =====================*/
  @media screen and (max-width: 749px) {

    body {
      max-width: 100%;
      min-width: 100%;
      margin: 0 auto;
  }


/* ヘッダー */

a {
	color: #333333;
	text-decoration: none;
}

.menu li {
	display: inline;
	letter-spacing: 0.04em;
  padding-left: 1%;
  padding-right: 1%;
  font-size: 1.5vw;
}

.menu-div {
  width: 100%;
  text-align: center;
  margin-top: 30px;
}

.oui-h1-div {
  margin-top: 30px;
  width: 100%;
}

.oui-h1-div-2 {
  display: flex;
  width: fit-content;
  margin: 0 auto;
  justify-content: center;
  align-items: center;
}

.oui-h1-div-textlogo {
width: 40%;
}

.oui-h1-div-textlogo img {
  width: 100%;
}
.oui-h1-div-characterlogo {
  width: 10%;
  margin-left: 10%;
}

.oui-h1-div-characterlogo img {
  width: 100%;
}



/* ヘッダー　ホバー時カラー */

.menu a:hover {
	color: #7b5544;
}

h1:hover {
  color: #7b5544;
} 
 
/* カレント表示 javascript*/

.current-display.current a {
  border-bottom: 1px #666 solid ;
  padding-bottom:10px;
}

/* ヘッダーここまで */

/* トップ画像の影絵 */

.topimages-div  {
  width: 100%;
  background-color: black;
  /* padding-top: 10%;
  padding-bottom: 5%; */
  text-align: center;
}

.topimages-div2  {
  width: 100%;
  margin: 0 auto;
  margin-top: 3%;
}

.topimages-div3  {
  width: 100%;
  background-image:radial-gradient(white 50% 1%, black 130%);
}

.topimages-div4  {
  width: 70%;
  margin: 0 auto;
}

.topimages-div2 img {
  width: 100%;
}



/* オウイ紹介 */

#oui-introduction-sec{
  width: 100%;
  position: relative;
  /* background-color: black; */
}

.top-background-div  {
  width: 100%;
  background-color: black;
}

.top-background-div2  {
  width: 100%;
  margin-top: 1%;
}

.top-background-div3  {
  width: 100%;
  background-image:radial-gradient(white 50% 1%, black 130%);
}

.top-background-div4  {
  width: 100%;
  margin: 0 auto;
}

.top-background-div2 img {
  width: 100%;
}

.oui-introduction-div {
  width: 100%;
  margin-top: 3%;
  text-align: center;
  /* background-color: black; */
  /* padding-top: 5%; */
  position: absolute;
  top: 43%;
}

.oui-introduction-div2 {
  width: 100%;
  padding-top: 2%;
  padding-bottom: 2%;
  border-radius: 30%;
  margin: 0 auto;
  /* background-image:radial-gradient(white 55% 2%, black 130%); */
}

.oui-introduction-div p{
  font-size: 1.5vw;
  line-height:220%;
}

/* オウイ影絵コンテンツ */

#oui-story-sec {
  background-color: black;
}

.oui-story-div-h2  {
  width: 100%;
  text-align: center;
  padding-top: 1%;
  padding-bottom: 1%;
}

.oui-story-div-h2-2 {
  width: 50%;
  border-radius: 50%;
  margin: 0 auto;
  /* background-image:radial-gradient(white 35% 2%, black 130%); */
  padding-top: 1.5%;
  padding-bottom: 1.5%;
  font-size: 2.5vw;
}

.oui-story-div2  {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  /* background-color: black; */
  padding-top: 10%;
  padding-bottom: 5%;
}

.oui-story-div2-2  {
  text-align: center;
  width: 50%;
  margin: 0 auto;
}

.oui-story-div2-2 h3{
  color: white;
  font-size: 2vw;
}

.oui-story-div3  {
  width: 100%;
  background-image:radial-gradient(white 65% 1%, black 80%);
  border-radius: 30%;
  padding-top: 20%;
  padding-bottom: 20%;
}

.oui-story-div4  {
  width: 70%;
  margin: 0 auto;
}

.oui-story-div2 img {
  width: 100%;
}
	  
	  .oui-story-div5 img{
		height:12vh;
		  object-fit:fill;
	}

/* トップページ　ふわっと */
/* オウイ紹介  ふわっと*/

.oui-introduction-div2 {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 5.5s, transform 8s;
}.oui-introduction-div2.active {
	opacity: 1;
	transform: translateY(0px);
}

/* オウイの影絵（h2）　ふわっと */
.oui-story-div-h2-2{
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 5.5s, transform 8s;
}.oui-story-div-h2-2.active {
	opacity: 1;
	transform: translateY(0px);
}

/* 影絵（トップページ）ふわっと*/
.oui-story-div2-2 {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 5.5s, transform 8s;
}.oui-story-div2-2.active {
	opacity: 1;
	transform: translateY(0px);
}

/* お知らせ */
.top-info {
  width: 100%;
  text-align: center;
  margin-top: 5%;
  font-size: 2.5vw;
}

.top-info-p {
  width: 50%;
  margin: 0 auto;
  border: solid 1px;
  margin-top: 2%;
  word-wrap: break-word;
  overflow-wrap: break-word;
  white-space: normal;
  box-sizing: border-box; /* パディングやボーダーを含めたサイズ管理 */
  max-width: 100%; /* 親要素の幅を超えないように制限 */
}

.top-info-p p {
  font-size: 1.3vw;
}

/* 影絵　別ページ */
	  .wp-post-image {
  width: 100%;
  height: auto;
  object-fit: cover; /* 必要ならトリミング調整 */
}

.shadowstory-pc {
  display: none !important;
}

	  .shadowstory-sp {
    display: block !important;
  }

.shadow-div  {
  width: 100%;
  background-color: black;
  padding-top: 10%;
  padding-bottom: 5%;
  text-align: center;
  color: white;
}


.shadow-div h3 {
  color: white;
  font-size: 2vw;
}

.shadow-div2  {
  width: 100%;
  margin: 0 auto;
  margin-top: 3%;
}

.shadow-div3  {
  width: 100%;
  background-image:radial-gradient(white 65% 1%, black 80%);
  border-radius: 30%;
  padding-top: 20%;
  padding-bottom: 20%;
}

.shadow-div4  {
  width: 70%;
  margin: 0 auto;
}

.shadow-div2 img {
  width: 100%;
}

/* 影絵別ページ　スクロール切り替え */
.scrollable {
  margin-top: 30px;
  height: 35vh;
  overflow: scroll;
  position: relative;
  padding: 10px;
}

.progressbar {
  position: sticky;
  top: -10px;
  left: -10px;
  width: 0;
  height: 5px;
  animation: progressbar linear both;
  animation-timeline: scroll(nearest);
  animation-range: entry 0% cover 100%;
}

/* 影絵（個別ページ）ふわっと*/
.shadow-div2 {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 5.5s, transform 8s;
}.shadow-div2.active {
	opacity: 1;
	transform: translateY(0px);
}


/* フッター */


.menu-footer a:hover {
	color: #7b5544;
}

.footer-div {
  margin-top: 60px;
  width: 100%;
}

.menu-footer {
  width: 100%;
	font-size: 1.5vw;
  text-align: center;
}

.menu-footer li {
	padding-bottom: 10px;
	display: inline;
	letter-spacing: 0.04em;
  margin-left: 1%;
} 

.cmark {
  width: 100%;
  text-align: center;
  margin-top: 5%;
}


/* ページネーション */
.pagination-div {
  display: flex !important; /* 横並びを強制 */
  justify-content: center; /* ページネーションを中央揃え */
  align-items: center;
  gap: 10px; /* 各アイテム間のスペース */
  margin: 20px 0;
  flex-wrap: nowrap; /* 折り返しを防止 */
}

.pagination-div a,
.pagination-div span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px; /* 円の幅 */
  height: 40px; /* 円の高さ */
  border: 2px solid #000; /* 円の枠線 */
  border-radius: 50%; /* 円形にする */
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  color: #000
}

.pagination-div .pagination-current {
  background-color: black; /* 背景色*/
  color: #ffffff; /* 文字色*/
}

/* SNS */
.snsdiv {
  width: 100%;
  margin-top: 60px;
}

.snsdiv-2 {
  display: flex;
  width: 40%;
  height: auto;
  margin: 0 auto;
  justify-content: center;
  align-items: center;
}

.snsdiv-3 {
  width: 10%;
  padding-right: 3%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  overflow: hidden; /* はみ出しを防ぐ */
  height: auto; /* 親要素の高さを適切に調整 */
}

.snsdiv-3 img{
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain; /* 画像の比率を保持しつつ親要素に収める */
}

.snsdiv-4 {
  width: 10%;
  padding-left: 3%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  overflow: hidden; /* はみ出しを防ぐ */
  height: auto; /* 親要素の高さを適切に調整 */

}

.snsdiv-4 img{
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain; /* 画像の比率を保持しつつ親要素に収める */
}

    }