@charset "utf-8";
/* CSS Document */

		main{ position: relative; padding-top:  8rem;}
        @media (max-width: 768px) {main{ position: relative; padding-top: 5rem!important;}}
		
		.concept-wrap h2 { font-size: 2.5rem!important; font-family: 游明朝, YuMincho, ヒラギノ明朝 Pro W3, Hiragino Mincho Pro, HG明朝E, MS P明朝, MS 明朝, serif; }


        /* コンセプトページ固有スタイル */
        .concept-page-fv {
            background-image: url("../images/concept-page-fv-pc.webp");
            background-size: cover;
            background-position: center;
            height: 350px;
            display: flex;
            align-items: center;
            justify-content: center;
            position: relative;
        }
		
		@media screen and (max-width: 736px){
            .concept-page-fv {
                background-image: url("../images/concept-page-fv-sp.webp");
				height: 270px;
            }
        }		
		
        .concept-page-fv::before {
            content: '';
            position: absolute;
            inset: 0;
            background-color: rgba(0, 0, 0, 0.4);
        }
        .concept-fv-title-en {
            font-family: 'Inter', sans-serif;
            font-size: 4rem;
            font-weight: 800;
            color: #fff;
            line-height: 1;
            letter-spacing: 0.05em;
            text-shadow: 0 2px 4px rgba(0,0,0,0.5);
            position: relative;
            z-index: 10;
        }
		
		@media screen and (max-width: 736px){
            .concept-fv-title-en {
                font-size: 3rem;
				line-height: 0.7;
            }
        }	
        .concept-fv-title-jp {
            font-size: 1.25rem;
            font-weight: 400;
            color: #fff;
            margin-top: 0.5rem;
            text-shadow: 0 1px 3px rgba(0,0,0,0.5);
            position: relative;
            z-index: 10;
			text-align: center;
        }


		
        /* アンカーナビゲーション修正版 */
        .concept-anchor-nav {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 12px;
			width: 100%;
			max-width: 70vw;
            margin: 2.5rem auto 0;
        }
		
		@media (max-width: 768px) {
        .concept-anchor-nav {
			max-width: 100vw;
			gap:10px;
        }}
        .concept-anchor-link {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding: 1.2rem 0.5rem;
            width: 20%;
            background: #fff;
            border: 1px solid #e5e7eb;
            border-radius: 12px; /* 丸角四角形 */
            transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
            text-decoration: none;
            color: #433f37;
        }
		
		@media (max-width: 768px) {
		.concept-anchor-link {
			width: 48%;
			padding: 1rem 0.5rem;
		}}
        .anchor-en {
            font-size: 0.65rem;
            font-weight: 700;
            color: #a67c34;
            letter-spacing: 0.05em;
            margin-bottom: 2px;
        }

        .anchor-jp {
            font-size: 1.05rem;
            font-weight: 700;
			padding: 0.5rem 0 0.1rem;
        }
		
		@media (max-width: 768px) {
        .anchor-jp {
            font-size: 0.85rem;
        }}

        .anchor-arrow {
            margin-top: 8px;
            font-size: 0.75rem;
            color: #ccc;
            transition: transform 0.3s ease, color 0.3s ease;
        }

        /* アニメーション演出 */
        .concept-anchor-link:hover {
            border-color: #a67c34;
            background-color: #fafafa;
            transform: translateY(-4px);
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
        }

        .concept-anchor-link:hover .anchor-arrow {
            transform: translateY(4px); /* vが動く */
            color: #a67c34;
        }

        .concept-anchor-link:active {
            transform: translateY(-1px);
            transition: 0.1s;
        }

        /* スクロール位置調整 */
        #concept-01, #concept-02, #concept-03, #concept-04, #concept-05, #concept-06, #concept-07 {
            scroll-margin-top: 100px;
        }
		
		@media (max-width: 768px) {
        #concept-01, #concept-02, #concept-03, #concept-04, #concept-05, #concept-06, #concept-07 {
            scroll-margin-top: 40px;
        }}

        /* コンセプト項目デザイン */
		
		
        .concept-number {
            font-family: 'Inter', serif;
            font-size: 7rem;
            font-weight: 800;
            color: #efefef;
            line-height: 0.8;
            margin-bottom: -1rem;
            position: relative;
            z-index: 0;
        }
		
		@media (max-width: 768px) {
        .concept-number {
            font-family: 'Inter', serif;
            font-size: 5rem;
            font-weight: 800;
            color: #efefef;
            line-height: 0.8;
            margin-bottom: -1rem;
            position: relative;
            z-index: 0;
        }}	
			
        .concept-title-en { font-size: 0.875rem; letter-spacing: 0.25em; color: #a67c34; font-weight: 700; margin-bottom: 1.5rem; position: relative; z-index: 1; }
		
		@media (max-width: 768px) {
        .concept-title-en { margin-bottom: 1rem; }}		
		
        .concept-title-jp { font-size: 2.4rem!important; font-weight: 700; margin-bottom: 1.5rem;  position: relative; z-index: 1; line-height: 1.5 !important; font-family: 游明朝, YuMincho, ヒラギノ明朝 Pro W3, Hiragino Mincho Pro, HG明朝E, MS P明朝, MS 明朝, serif;}
        
        /* アニメーション */
        .fade-in-section { opacity: 0; transform: translateY(40px); transition: opacity 1.2s ease-out, transform 1.2s ease-out; }
        .fade-in-section.is-visible { opacity: 1; transform: translateY(0); }
		
		@media (max-width: 768px) {
		.left{
			position: relative;
			right: 15px;
		}}
		
		.concept-wrap{
			padding: 0 1.4rem;
		}
		
		.concept-wrap h2{
			margin-bottom: 2rem;
		}	
		
		
		@media (max-width: 768px) {
		.concept-wrap h2{
			text-align: left;
        	font-size: 2rem !important;
			margin-bottom: 1.5rem;
		}}	
		
		.concept{
		    padding-top: 5rem;
            padding-bottom: 5rem;
		}
		
		@media (max-width: 768px) {
		.concept{
		    padding-top: 3rem;
		}}		
		
		.concept-gap{
			gap:3rem;
		}
		
		@media (max-width: 768px) {
		.concept-gap{
			gap:2rem;
		}}	
		