@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
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/


        /* 記事全体のスタイル */
        .shichusuimei-article {
            max-width: 800px;
            margin: 0 auto;
            padding: 20px;
            font-family: 'Hiragino Sans', 'Yu Gothic', sans-serif;
            color: #333;
            line-height: 1.8;
        }

        /* アイキャッチ画像 */
        .shichusuimei-eyecatch {
            width: 100%;
            max-width: 800px;
            height: auto;
            border-radius: 12px;
            margin-bottom: 30px;
            box-shadow: 0 4px 12px rgba(0,0,0,0.1);
        }

        /* 見出しスタイル */
        .shichusuimei-article h1 {
            font-size: 32px;
            color: #1e3a8a;
            text-align: center;
            margin-bottom: 10px;
            font-weight: bold;
        }

        .shichusuimei-article h2 {
            font-size: 24px;
            color: #2563eb;
            border-left: 5px solid #3b82f6;
            padding-left: 15px;
            margin-top: 40px;
            margin-bottom: 20px;
        }

        .shichusuimei-article h3 {
            font-size: 20px;
            color: #3b82f6;
            margin-top: 30px;
            margin-bottom: 15px;
        }

        /* イントロボックス */
        .intro-box {
            background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%);
            border-left: 5px solid #2563eb;
            padding: 20px;
            border-radius: 8px;
            margin: 20px 0;
        }

        /* ポイントボックス */
        .point-box {
            background: linear-gradient(135deg, #fff9e6 0%, #ffe6cc 100%);
            border: 2px solid #f59e0b;
            padding: 20px;
            border-radius: 8px;
            margin: 20px 0;
        }

        .point-box h4 {
            color: #d97706;
            margin-top: 0;
        }

        /* 占いツールのスタイル */
        .shichusuimei-calculator {
            background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%);
            padding: 40px 20px;
            border-radius: 16px;
            margin: 30px 0;
            box-shadow: 0 8px 24px rgba(0,0,0,0.3);
        }

        .shichusuimei-input-section {
            text-align: center;
        }

        .shichusuimei-title {
            color: #fff;
            font-size: 24px;
            margin-bottom: 10px;
        }

        .shichusuimei-subtitle {
            color: #bfdbfe;
            font-size: 16px;
            margin-bottom: 30px;
        }

        .input-group {
            margin-bottom: 25px;
            text-align: left;
            max-width: 500px;
            margin-left: auto;
            margin-right: auto;
        }

        .input-label {
            display: block;
            color: #fff;
            font-size: 16px;
            margin-bottom: 10px;
            font-weight: bold;
        }

        .date-inputs {
            display: flex;
            align-items: center;
            gap: 10px;
            flex-wrap: wrap;
        }

        .date-input {
            padding: 10px;
            border: 2px solid #3b82f6;
            border-radius: 8px;
            font-size: 16px;
            background: #fff;
        }

        .date-input:focus {
            outline: none;
            border-color: #60a5fa;
            box-shadow: 0 0 8px rgba(59, 130, 246, 0.3);
        }

        .shichusuimei-btn {
            background: linear-gradient(135deg, #3b82f6 0%, #60a5fa 100%);
            color: #1e3a8a;
            border: none;
            padding: 18px 40px;
            font-size: 18px;
            font-weight: bold;
            border-radius: 50px;
            cursor: pointer;
            margin-top: 20px;
            transition: all 0.3s ease;
            box-shadow: 0 4px 12px rgba(59, 130, 246, 0.4);
        }

        .shichusuimei-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 16px rgba(59, 130, 246, 0.6);
        }

        /* 結果表示エリア */
        .shichusuimei-result-section {
            padding: 30px 20px;
        }

        .result-header {
            text-align: center;
            margin-bottom: 30px;
        }

        .result-title {
            color: #bfdbfe;
            font-size: 24px;
            margin-bottom: 15px;
        }

        .meishiki-card {
            background: linear-gradient(135deg, #fff 0%, #dbeafe 100%);
            padding: 30px;
            border-radius: 12px;
            margin-bottom: 25px;
            text-align: center;
            box-shadow: 0 4px 12px rgba(0,0,0,0.1);
        }

        .meishiki-card h4 {
            color: #1e3a8a;
            margin-top: 0;
            margin-bottom: 20px;
            font-size: 20px;
        }

        .meishiki-display {
            display: flex;
            justify-content: center;
            gap: 20px;
            margin-bottom: 20px;
            flex-wrap: wrap;
        }

        .jikkan-badge,
        .junishi-badge {
            width: 120px;
            height: 120px;
            border-radius: 50%;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            color: #fff;
            font-size: 36px;
            font-weight: bold;
            box-shadow: 0 4px 12px rgba(0,0,0,0.2);
        }

        .junishi-badge {
            background: linear-gradient(135deg, #6b7280 0%, #9ca3af 100%);
        }

        .yomi {
            font-size: 14px;
            font-weight: normal;
            margin-top: 5px;
        }

        .meishiki-description {
            color: #333;
            font-size: 16px;
            line-height: 1.6;
            margin: 0;
        }

        .gogyou-card {
            background: linear-gradient(135deg, #fff 0%, #f0fdf4 100%);
            padding: 25px;
            border-radius: 12px;
            margin-bottom: 25px;
            box-shadow: 0 4px 12px rgba(0,0,0,0.1);
        }

        .gogyou-card h4 {
            color: #1e3a8a;
            margin-top: 0;
            margin-bottom: 15px;
            font-size: 20px;
            text-align: center;
        }

        .shichusuimei-calculator .gogyou-chart {
    display: flex !important;
    flex-direction: column !important;
    gap: 15px !important;
    margin-top: 15px !important;
}

.shichusuimei-calculator .gogyou-item {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
}

.shichusuimei-calculator .gogyou-label {
    width: 50px !important;
    font-weight: bold !important;
    color: #333 !important;
    font-size: 18px !important;
    text-align: center !important;
}

.shichusuimei-calculator .gogyou-bar {
    flex: 1 !important;
    height: 35px !important;
    background: #e5e7eb !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.1) !important;
}

.shichusuimei-calculator .gogyou-fill {
    height: 100% !important;
    transition: width 1.5s ease !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2) !important;
}

        .result-details {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 20px;
            margin-bottom: 25px;
        }

        .detail-card {
            background: #fff;
            padding: 20px;
            border-radius: 12px;
            box-shadow: 0 2px 8px rgba(0,0,0,0.1);
        }

        .detail-card h4 {
            color: #1e3a8a;
            margin-top: 0;
            margin-bottom: 10px;
            font-size: 18px;
        }

        .detail-card p {
            color: #333;
            margin: 0;
            line-height: 1.6;
        }

        .advice-section {
            background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
            padding: 20px;
            border-radius: 12px;
            margin-bottom: 25px;
        }

        .advice-section h4 {
            color: #92400e;
            margin-top: 0;
            margin-bottom: 15px;
            font-size: 18px;
        }

        .advice-section ul {
            margin: 0;
            padding-left: 20px;
        }

        .advice-section li {
            color: #333;
            line-height: 1.8;
            margin-bottom: 8px;
        }

        /* 注意書きボックス */
        .warning-box {
            background: linear-gradient(135deg, #fff5f5 0%, #ffe6e6 100%);
            border-left: 5px solid #ff6b6b;
            padding: 20px;
            border-radius: 8px;
            margin: 20px 0;
        }

        /* CTAボックス */
        .cta-box {
            background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%);
            border: 2px solid #2563eb;
            padding: 30px;
            border-radius: 12px;
            text-align: center;
            margin: 30px 0;
        }

        .cta-box h3 {
            color: #1e3a8a;
            margin-top: 0;
        }

        .cta-button {
            display: inline-block;
            background: linear-gradient(135deg, #2563eb 0%, #1e3a8a 100%);
            color: #fff;
            padding: 15px 30px;
            border-radius: 50px;
            text-decoration: none;
            font-weight: bold;
            margin-top: 15px;
            transition: all 0.3s ease;
        }

        .cta-button:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 16px rgba(37, 99, 235, 0.4);
        }

        /* テーブルスタイル */
        .shichusuimei-table {
            width: 100%;
            border-collapse: collapse;
            margin: 20px 0;
            overflow-x: auto;
            display: block;
        }

        .shichusuimei-table table {
            width: 100%;
            min-width: 500px;
        }

        .shichusuimei-table th,
        .shichusuimei-table td {
            padding: 12px;
            border: 1px solid #ddd;
            text-align: left;
        }

        .shichusuimei-table th {
            background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%);
            color: #fff;
            font-weight: bold;
        }

        .shichusuimei-table tr:nth-child(even) {
            background: #dbeafe;
        }

        /* レスポンシブ対応 */
        @media (max-width: 768px) {
            .shichusuimei-article h1 {
                font-size: 24px;
            }

            .shichusuimei-article h2 {
                font-size: 20px;
            }

            .shichusuimei-calculator {
                padding: 30px 15px;
            }

            .shichusuimei-btn {
                padding: 15px 30px;
                font-size: 16px;
            }

            .result-details {
                grid-template-columns: 1fr;
            }

            .date-inputs {
                flex-direction: column;
                align-items: stretch;
            }

            .date-input {
                width: 100%;
            }

            .meishiki-display {
                flex-direction: column;
                align-items: center;
            }

            .jikkan-badge,
            .junishi-badge {
                width: 100px;
                height: 100px;
                font-size: 30px;
            }
        }


    /* 記事全体のスタイル */
        .soulmate-fortune-article {
            max-width: 800px;
            margin: 0 auto;
            padding: 20px;
            font-family: 'Hiragino Sans', 'Yu Gothic', sans-serif;
            color: #333;
            line-height: 1.8;
        }

        /* 見出しスタイル */
        .soulmate-fortune-article h1 {
            font-size: 32px;
            color: #7c3aed;
            text-align: center;
            margin-bottom: 10px;
            font-weight: bold;
        }

        .soulmate-fortune-article h2 {
            font-size: 24px;
            color: #8b5cf6;
            border-left: 5px solid #a78bfa;
            padding-left: 15px;
            margin-top: 40px;
            margin-bottom: 20px;
        }

        .soulmate-fortune-article h3 {
            font-size: 20px;
            color: #a78bfa;
            margin-top: 30px;
            margin-bottom: 15px;
        }

        /* イントロボックス */
        .intro-box {
            background: linear-gradient(135deg, #faf5ff 0%, #f3e8ff 100%);
            border-left: 5px solid #8b5cf6;
            padding: 20px;
            border-radius: 8px;
            margin: 20px 0;
        }

        /* ポイントボックス */
        .point-box {
            background: linear-gradient(135deg, #fff9e6 0%, #ffe6cc 100%);
            border: 2px solid #f59e0b;
            padding: 20px;
            border-radius: 8px;
            margin: 20px 0;
        }

        .point-box h4 {
            color: #d97706;
            margin-top: 0;
        }

        /* 占いツールのスタイル */
        .soulmate-fortune-calculator {
            background: linear-gradient(135deg, #581c87 0%, #7c3aed 100%);
            padding: 40px 20px;
            border-radius: 16px;
            margin: 30px 0;
            box-shadow: 0 8px 24px rgba(0,0,0,0.3);
        }

        .soulmate-input-section {
            text-align: center;
        }

        .soulmate-title {
            color: #fff;
            font-size: 24px;
            margin-bottom: 10px;
        }

        .soulmate-subtitle {
            color: #e9d5ff;
            font-size: 16px;
            margin-bottom: 30px;
        }

        .input-group {
            margin-bottom: 25px;
            text-align: left;
            max-width: 500px;
            margin-left: auto;
            margin-right: auto;
        }

        .input-label {
            display: block;
            color: #fff;
            font-size: 16px;
            margin-bottom: 10px;
            font-weight: bold;
        }

        .date-inputs {
            display: flex;
            align-items: center;
            gap: 10px;
            flex-wrap: wrap;
        }

        .date-input {
            padding: 10px;
            border: 2px solid #a78bfa;
            border-radius: 8px;
            font-size: 16px;
            background: #fff;
        }

        .date-input:focus {
            outline: none;
            border-color: #c4b5fd;
            box-shadow: 0 0 8px rgba(167, 139, 250, 0.3);
        }

        .gender-select {
            width: 100%;
            padding: 12px;
            border: 2px solid #a78bfa;
            border-radius: 8px;
            font-size: 16px;
            background: #fff;
        }

        .soulmate-btn {
            background: linear-gradient(135deg, #a78bfa 0%, #c4b5fd 100%);
            color: #3b0764;
            border: none;
            padding: 18px 40px;
            font-size: 18px;
            font-weight: bold;
            border-radius: 50px;
            cursor: pointer;
            margin-top: 20px;
            transition: all 0.3s ease;
            box-shadow: 0 4px 12px rgba(167, 139, 250, 0.4);
        }

        .soulmate-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 16px rgba(167, 139, 250, 0.6);
        }

        /* 結果表示エリア */
        .soulmate-result-section {
            padding: 30px 20px;
        }

        .result-header {
            text-align: center;
            margin-bottom: 30px;
        }

        .result-title {
            color: #e9d5ff;
            font-size: 24px;
            margin-bottom: 15px;
        }

        .element-badge {
            display: inline-block;
            padding: 10px 20px;
            border-radius: 50px;
            color: #fff;
            font-size: 18px;
            font-weight: bold;
        }

        .compatibility-card {
            background: linear-gradient(135deg, #fff 0%, #faf5ff 100%);
            padding: 25px;
            border-radius: 12px;
            margin-bottom: 25px;
            text-align: center;
            box-shadow: 0 4px 12px rgba(0,0,0,0.1);
        }

        .compatibility-card h4 {
            color: #7c3aed;
            margin-top: 0;
            margin-bottom: 15px;
            font-size: 20px;
        }

        .compatibility-types {
            display: flex;
            justify-content: center;
            gap: 15px;
            flex-wrap: wrap;
        }

        .compat-badge {
            display: inline-block;
            padding: 10px 20px;
            background: linear-gradient(135deg, #a78bfa 0%, #c4b5fd 100%);
            color: #fff;
            border-radius: 50px;
            font-weight: bold;
            font-size: 16px;
        }

        .result-details {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 20px;
            margin-bottom: 25px;
        }

        .detail-card {
            background: #fff;
            padding: 20px;
            border-radius: 12px;
            box-shadow: 0 2px 8px rgba(0,0,0,0.1);
        }

        .detail-card h4 {
            color: #7c3aed;
            margin-top: 0;
            margin-bottom: 10px;
            font-size: 18px;
        }

        .detail-card p {
            color: #333;
            margin: 0;
            line-height: 1.6;
        }

        .relationship-section {
            background: linear-gradient(135deg, #fce7f3 0%, #fbcfe8 100%);
            padding: 20px;
            border-radius: 12px;
            margin-bottom: 25px;
        }

        .relationship-section h4 {
            color: #be185d;
            margin-top: 0;
            margin-bottom: 10px;
            font-size: 18px;
        }

        .relationship-section p {
            color: #333;
            margin: 0;
            line-height: 1.6;
        }

        .advice-section {
            background: linear-gradient(135deg, #e6f7ff 0%, #cce7ff 100%);
            padding: 20px;
            border-radius: 12px;
            margin-bottom: 25px;
        }

        .advice-section h4 {
            color: #2c5aa0;
            margin-top: 0;
            margin-bottom: 15px;
            font-size: 18px;
        }

        .advice-section ul {
            margin: 0;
            padding-left: 20px;
        }

        .advice-section li {
            color: #333;
            line-height: 1.8;
            margin-bottom: 8px;
        }

        /* 注意書きボックス */
        .warning-box {
            background: linear-gradient(135deg, #fff5f5 0%, #ffe6e6 100%);
            border-left: 5px solid #ff6b6b;
            padding: 20px;
            border-radius: 8px;
            margin: 20px 0;
        }

        /* CTAボックス */
        .cta-box {
            background: linear-gradient(135deg, #faf5ff 0%, #f3e8ff 100%);
            border: 2px solid #8b5cf6;
            padding: 30px;
            border-radius: 12px;
            text-align: center;
            margin: 30px 0;
        }

        .cta-box h3 {
            color: #7c3aed;
            margin-top: 0;
        }

        .cta-button {
            display: inline-block;
            background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
            color: #fff;
            padding: 15px 30px;
            border-radius: 50px;
            text-decoration: none;
            font-weight: bold;
            margin-top: 15px;
            transition: all 0.3s ease;
        }

        .cta-button:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 16px rgba(139, 92, 246, 0.4);
        }

        /* レスポンシブ対応 */
        @media (max-width: 768px) {
            .soulmate-fortune-article h1 {
                font-size: 24px;
            }

            .soulmate-fortune-article h2 {
                font-size: 20px;
            }

            .soulmate-fortune-calculator {
                padding: 30px 15px;
            }

            .soulmate-btn {
                padding: 15px 30px;
                font-size: 16px;
            }

            .result-details {
                grid-template-columns: 1fr;
            }

            .date-inputs {
                flex-direction: column;
                align-items: stretch;
            }

            .date-input {
                width: 100%;
            }

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

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

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