@charset "utf-8";
/* CSS Document */


/* 固定 */
html { scroll-behavior: smooth;}
body {
  margin: 0;
  padding: 0;
  position: relative;
-webkit-text-size-adjust: 100%; 
font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
line-height: 140%;
}

header{
    display:flex;
	height: 50px;
	width: 100%;
}
 
header div{
    display:flex;
	margin: 0 auto;
}
 
header div img{
    width: 50px;
	padding: 15px;
	margin-right: 10px;
	box-sizing: content-box;
}

		#main_wrap{
			width: 100%;
		}
		
		.cp{
			margin-top: 100px;
			font-size: 10px;
			color: #A2A2A2;
}
		.smp_haikei{
			display: none;
		}

.pagetop a {
  color: #333;
  position: fixed;
  bottom: 24px;
  right: 80px;
  text-decoration: none;
  display: block;
  width: 100px;
  padding: 16px 20px;
  text-align: right;
  transform: rotate(90deg);
  transform-origin: bottom right;
	font-size: 15px;
}

.pagetop .arrow1 {
width: 48px;
height: 1px;
background: #333;
position: absolute;
top: 50%;
right: 62px;
}

.pagetop .arrow2 {
width: 1px;
height: 12px;
background: #333;
position: absolute;
top: calc(50% + 1px);
right: 109px;
transform: rotate(-130deg);
transform-origin: top left;
}


/* 固定 */




/* ここから編集 */
.mv_item{
			width: 100%;
			position: relative;
			z-index: -9999;
		}
.haikei img{
	width: 100%;
	height: 100%;
}
		.mv_item_maintitle{
			position: absolute;
			top: 0;
			right: 0;
			bottom: 0;
			left: 0;
			margin: auto;
			z-index: 999;
		}
	.item_area{
		height: 100%;
		display: block;
		margin: 0 auto;
		max-width: 1200px;
		padding: 2rem 0 8rem;
		}
		.item_area img{
			display: block;
			width: 100%;
		}
		.mv_item_text_2{
			text-align: center;
			color: #2F2F2F;
  			font-size: 2.5rem;
  			font-weight: 600;
  			line-height: 2em;
		padding: 5rem 0;
		}

.center_item{
	text-align: center;
}
		.item_center{
		position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
		z-index: 9999;
		}
		
	.pc_none{
		display: none;
	}
	.pc_block{
	display: block;
	}
		.smp_haikei{
			display: none;
		}



/* --------------------------
スマホ
---------------------------- */

@media screen and (max-width: 640px) {

			.haikei{
				display: none;
			}
			.smp_haikei{
				display: block;
				width: 100%;
			}
			.smp_haikei img{
				display: block;
				width: 100%;
			}

	.smp_none{
		display: none;
	}
	.smp_block{
	display: block;
	}
	.mv_item_maintitle {
			top: 0%;
			}
			
	.mv_item_maintitle img {
		width: 100vw;
			}
		
	.cosme_icon{
		display: block;
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		margin: auto;
	}
		.mv_item_text_2{
  			font-size: 1.8rem;
  			line-height: 3.5rem;
		padding: 3rem 0;
		}

}

/* --------------------------
スマホ　END
---------------------------- */

/* 占いプレコ用背景 */

.item_area_wrap {
   position: relative;
    /* 下部（bottom）に向かって白くなるように、グラデーションの範囲を上半分に限定しました */
   background: 
        url("https://ic4-a.wowma.net/mi/w/1280/h/1280/q/90/bcimg1-a.wowma.net/plus/u40439387/pc/topics/horoscope/common/css/../img/horoscope_bg.png"),
        /* 左上：深みのあるインディゴブルー */
        radial-gradient(circle at 10% 10%, rgba(25, 25, 112, 0.15) 0%, transparent 60%), 
        /* 右中：透明感のあるシアンブルー */
        radial-gradient(circle at 90% 40%, rgba(0, 191, 255, 0.15) 0%, transparent 50%), 
        /* 右上：アクセントのバイオレットブルー（赤みを抑えた青紫） */
        radial-gradient(circle at 80% 5%, rgba(138, 43, 226, 0.1) 0%, transparent 60%), 
        /* 左中：鮮やかなロイヤルブルー */
        radial-gradient(circle at 20% 50%, rgba(65, 105, 225, 0.12) 0%, transparent 60%), 
        /* 下に向かって白くフェードアウト */
        linear-gradient(to bottom, transparent 60%, #fff 95%), 
        #fff;
    background-repeat: repeat, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat;
    background-size: 700px auto, 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%; /* 星の画像サイズを300pxでリピート */
    background-color: #fff;
    overflow: hidden;
}

/* 占いプレコ用CSS */
        :root {
            --fire: #FF5A5F; --earth: #63AD67; --air: #4FC3F7; --water: #A389F4;
            --bg: #FFF9FA; --text: #333; --black: #222; --accent: #FFEB3B;
        }
        body { font-family: "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif; background: var(--bg); margin: 0; color: var(--text); scroll-behavior: smooth; }
        .ph-uranai-wrap { max-width: 900px; padding: 20px; margin: 0 auto; padding-bottom: 50px; }

				.common-text{ text-align: center; max-width: 650px; margin: 0 auto 5rem; line-height: 250%; letter-spacing: 2px; font-size: 0.8rem; background:rgba(25, 25, 112, 0.15); padding: 2rem; border: solid 1px #ffffff; position: relative;}
				.common-text::before { content: "✧"; position: absolute; top: -0.95rem; left: 50%; transform: translateX(-50%); padding: 0 15px; font-size: 25px; color: #ffffff; }
				.common-text::after { content: "✧"; position: absolute; bottom: -1.1rem; left: 50%; transform: translateX(-50%); padding: 0 15px; font-size: 25px; color: #ffffff; }				
        /* 導入文 */
        .ph-intro { text-align: center; margin-bottom: 30px; }
        .ph-intro h2 { font-size: clamp(1.6rem, 5vw, 2.5rem); font-weight: 900; margin: 0; letter-spacing: 0.1em; color: var(--black); line-height: 130%; }
        .ph-intro .tagline { font-size: 0.85rem; color: #666; margin: 5px 0 35px; font-weight: bold; }
        .ph-intro .desc { 
            max-width: 650px; margin: 0 auto; font-size: 0.95rem; line-height: 1.7;  
            position: relative; text-align: left;}
				@media (max-width: 768px) { .ph-intro .desc {text-align: left; } }

        /* 切り替えボタン */
        .ph-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 2rem 0; }
        @media (min-width: 768px) { .ph-grid { grid-template-columns: repeat(4, 1fr); gap: 15px; }}
        
				.ph-grid-header {  max-width: 650px; width: 100%; grid-column: 1 / -1; text-align: center; padding: 15px 0;
					font-weight: bold; font-size: 1.1rem; line-height: 150%; margin: 1rem auto 1rem;

					/* 1. 両端を透明にするグラデーション */
					background: linear-gradient(to right, transparent, rgba(45, 27, 78, 0.8) 30%, rgba(45, 27, 78, 0.8) 70%, transparent);
					color: #fff; font-family: serif; letter-spacing: 0.2em; text-shadow: 0 0 10px rgba(255, 255, 255, 0.4); border: none;}

        .ph-btn { 
					background: #fff; border: 3px solid var(--black); border-radius: 15px; padding: 15px 5px;
					cursor: pointer; transition: all 0.3s ease; /* transitionをallに変更 */
					box-shadow: 4px 4px 0 var(--black); text-align: center;
					position: relative; /* 内部の輝き演出用 */
					overflow: hidden; }
        .ph-btn.active { background: var(--black); color: #fff; transform: translate(2px, 2px); box-shadow: 1px 1px 0 var(--black); }
				
				/* ホバー時のアクション：浮き上がって影を強くする */
				.ph-btn:hover:not(.active) {
						transform: translateY(-3px); /* 少し上に浮く */
						box-shadow: 7px 7px 0 var(--black); /* 影を大きくして浮遊感を出す */
						background: #fffef0; /* ほんの少しだけ発光を感じさせる色に */
						border-color: #d4af37; /* ホバー時だけ金色の縁取り（お好みで） */
				}
        .ph-icon { font-size: clamp(2rem, 6vw, 3rem); display: block; margin-bottom: 5px; }
        .ph-el-name { font-weight: 900; font-size: 0.9rem; display: block; line-height: 1.2rem; }
        .ph-el-name span { font-weight: normal; font-size: 0.7rem; display: block; }

        /* コンテンツエリア */
        .ph-content { 
            display: none; background: #fff; border: 3px solid var(--black); border-radius: 20px; 
            padding: 20px; box-shadow: 0 10px 30px rgba(0,0,0,0.05); animation: pop 0.4s ease-out forwards;
        }
        .ph-joke { font-size: 0.95rem; line-height: 1.8; font-weight: 500; text-align: left; color: #444; }

        /* ラッキー情報 */
        .ph-lucky-box { text-align: center; margin-bottom: 1.5rem; display: flex; flex-direction: column; align-items: center; gap: 15px; }
        .ph-cat-link { 
            display: inline-block; background: var(--black); color: #fff; text-decoration: none; 
            padding: 10px 15px; border-radius: 50px; font-weight: 900; font-size: 0.9rem; transition: 0.2s; line-height: 140%;
        }
        .ph-l-color-display { width: 100%; font-weight: 900; font-size: 1rem; display: flex; align-items: center;
				justify-content: center; gap: 8px; flex-wrap: wrap;
				white-space: nowrap; padding: 1rem 0; margin: 1.5rem 0 1rem; border-bottom: 2px dashed #DDDDDD; border-top: 2px dashed #DDDDDD; }
				.ph-l-color-display > span{display: block;}
				.ph-color-circle { width: 18px; height: 18px; border-radius: 50%; border: 1.5px solid var(--black); flex-shrink: 0; }

        /* 商品リスト */
        .ph-items { display: flex; flex-direction: column; gap: 20px; }
        .ph-item-link { text-decoration: none; color: inherit; display: flex; align-items: center; gap: 15px; border-bottom: 1px solid #f0f0f0; padding-bottom: 15px; }
        .ph-item-link img { width: 100px; height: 100px; padding: 10px; border-radius: 10px; border: 2.5px solid var(--black); flex-shrink: 0; background: #fff; object-fit: contain; }
        
        .ph-item-info { flex-grow: 1; text-align: left; }
        .ph-item-info h4 { font-size: 0.85rem; margin: 0 0 8px; font-weight: 900; color: #000; line-height: 1.4; }
				.ph-item-cat {
						display: block;
						font-size: 0.75rem;
						color: #888;
						font-weight: normal;
						margin-left: 5px;
				}
				.ph-item-cat::before { content: "[ "; }
				.ph-item-cat::after { content: " ]"; }
        .ph-item-info p { font-size: 0.75rem; margin: 0; color: #555; line-height: 1.6; }

        @media (min-width: 768px) {
            .ph-content { padding: 50px; }
            .ph-items { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; }
            .ph-item-link { flex-direction: column; align-items: center; text-align: center; border-bottom: none; padding-bottom: 0; }
            .ph-item-link img { width: 95%; height: auto; margin-bottom: 15px; }
            .ph-item-info { text-align: left; }
        }

        /* 運気をポチるボタン */
        .ph-all-btn { 
            margin: 40px auto 0; text-align: center; display: block; background: var(--accent); 
            border: 3px solid var(--black); padding: 20px; border-radius: 50px; 
            text-decoration: none; color: var(--black); font-weight: 900; font-size: 1.1rem;
            box-shadow: 6px 6px 0 var(--black); max-width: 500px; transition: 0.2s;
        }
        .ph-all-btn:hover { transform: translate(2px, 2px); box-shadow: 2px 2px 0 var(--black); }

        @keyframes pop { from { opacity: 0; transform: scale(0.98) translateY(15px); } to { opacity: 1; transform: scale(1) translateY(0); } }
				
				
/* 性質部分 */

/* 全体レイアウト */
#element-guide {
    font-family: 'Helvetica Neue', Arial, sans-serif;
    color: #444;
    max-width: 800px;
    margin: 5em auto 0;
    line-height: 1.5;
    border-top: 1px solid #ffffff;
    padding: 3em 15px; /* スマホ時の端の余白を確保 */
}

/* タイトル */
.guide-title {
    text-align: center;
    font-size: 1.1em;
    letter-spacing: 0.15em;
    margin-bottom: 2em;
    color: #555;
}

/* グリッド設定 */
.element-grid {
    display: grid;
    grid-template-columns: 1fr 1fr; /* PCは2列 */
    gap: 25px;
}

/* スマホ対応（768px以下で1列） */
@media (max-width: 768px) {
    .element-grid {
        grid-template-columns: 1fr;
    }
}

/* 共通カードスタイル */
.element-card {
    padding: 20px;
    border-radius: 8px;
    background-color: #ffffff;
}

.element-card h3 {
    font-size: 1em;
    margin-top: 0;
		margin-bottom: 10px;
    padding-left: 10px;
}

.element-card p {
    font-size: 0.85em;
    color: #777;
}

.sign-list {
    list-style: none;
    padding: 0;
    font-size: 0.85em;
    margin-top: 10px;
}

/* 各エレメントの色分け */
.card-fire { border: 5px solid #ffecec; }
.card-fire h3 { color: #c2154b; border-left: 3px solid #c2154b; }

.card-earth { border: 5px solid #f2f2e1; }
.card-earth h3 { color: #c79000; border-left: 3px solid #c79000; }

.card-air { border: 5px solid #ebf5e7; }
.card-air h3 { color: #009245; border-left: 3px solid #009245; }

.card-water { border: 5px solid #efefff; }
.card-water h3 { color: #3b5fb8; border-left: 3px solid #3b5fb8; }

/* フッター注釈 */
.guide-footer {
    text-align: center;
    font-size: 0.75em;
    margin-top: 3em;
    color: #999;
    font-style: italic;
}



/*==================================================
動き自体の指定：今回は「ふわっ」
===================================*/

.fadeUp {
animation-name:fadeUpAnime;
animation-duration:1.5s;
animation-fill-mode:forwards;
opacity: 0;
}
@keyframes fadeUpAnime{
  from {
    opacity: 0;
	transform: translateY(100px);
  }

  to {
    opacity: 1;
	transform: translateY(0);
  }
}


.fadeDown {
animation-name:fadeDownAnime;
animation-duration:1.5s;
animation-fill-mode:forwards;
opacity: 0;
}
@keyframes fadeDownAnime{
  from {
    opacity: 0;
	transform: translateY(0px);
  }

  to {
    opacity: 1;
	transform: translateY(-100px);
  }
}
