/**
Theme Name: Astra-child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/



@import url('./css/contact7.css');


header.entry-header .entry-title {
    display: block;
}


.tribe-events-promo.tribe-common-b1.tribe-events-c-promo {
    display: none;
}


.omurakidsbrass a {
    color: #2ea7e0;
}



/**  トップの装飾　ここから　**/

/* 「pickup」の大きな文字 */
.pickup-text {
  color: #00AEEF; /* 水色 */
  font-size: 120px;
  line-height: 1;
  text-transform: lowercase;
  transform: rotate(-90deg); /* 90度左に回転 */
  transform-origin: center center;
  margin-right: -40px; /* 回転による余白の調整 */
}

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

/* 小さいテキスト（SPORTS/CULTURE） */
.label {
  writing-mode: vertical-rl; /* 縦書き */
  text-orientation: sideways; /* 文字を横に倒す */
  font-size: 14px;
  letter-spacing: 2px;
  margin-bottom: 10px;
}

/* 矢印（三角形）の作成 */
.arrow {
    width: 0;
    height: 0;
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-top: 15px solid;
    transform: rotate(90deg);
}

/* 個別の配色 */
.sports .label { color: #231815; } /* 黄緑 */
.sports .arrow { border-top-color: #231815; }

.culture .label { color: #231815; } /* オレンジ */
.culture .arrow { border-top-color: #231815; }


/** トップの装飾　ここまで **/



/** チケットページテーブル　ここから **/

.table-container {
    max-width: auto;
    margin: 0 auto;
    overflow-x: auto; /* スマホ表示用 */
}

/* テーブルのスタイル */
.ticket-table {
    width: 100%;
	background-color: #ffffff;
    border-collapse: collapse;
    border: 1px solid #ddd;
}

/* ヘッダー部分 */
.ticket-table th {
    background-color: #2ea7e0;
    border: 1px solid #ddd;
	color: #ffffff;
    padding: 15px;
    text-align: left;
    font-weight: bold;
    width: 33.3%;
}

/* セル部分 */
.ticket-table td {
    border: 1px solid #ddd;
    padding: 15px;
    vertical-align: middle;
}

/* 補足テキスト（カッコ内の文字） */
.sub-text {
    font-size: 0.9em;
    color: #666;
}

/* クレジットカードアイコン部分（簡易的な代用） */
.card-icons {
    margin-top: 10px;
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
}

.icon-placeholder {
    font-size: 10px;
    border: 1px solid #ccc;
    padding: 2px 5px;
    border-radius: 3px;
    background: #eee;
}

/* レスポンシブ対応：スマホでは文字を少し小さく */
@media (max-width: 600px) {
    .ticket-table th, .ticket-table td {
        padding: 10px 5px;
        font-size: 13px;
    }
}

/** チケットページテーブル　ここまで **/




/** アクセスページページテーブル　ここから **/

/* テーブルのスタイル */
.info-table {
    width: 100%;
    max-width: 900px; /* 最大幅を制限 */
    margin-top:20px;
    border-collapse: collapse; /* 枠線を1本にまとめる */
    background-color: #fff;
    border: 1px solid #ddd;
}

/* 各セルの共通設定 */
.info-table th, 
.info-table td {
    padding: 15px 20px;
    border: 1px solid #ddd;
    text-align: left;
    font-size: 14px;
    line-height: 1.6;
}

/* 見出しセル (左側) のスタイル */
.info-table th {
    background-color: #fafafa;
    width: 15%; /* 項目名の幅を固定 */
    font-weight: bold;
    color: #444;
    white-space: nowrap; /* 折り返しを防ぐ */
}

/* 内容セル (右側) のスタイル */
.info-table td {
    width: 85%;
}

/* スマホ表示用の調整 */
@media screen and (max-width: 600px) {
    .info-table th {
        width: 30%;
    }
}


/** アクセスページページテーブル　ここまで **/





/* 全体のスタイル */


.flow-container {
    width: 100%;
    max-width: 900px;
    text-align: center;
}

/* ヘッダー（青背景） */
.flow-header {
    background-color: #5bc0de; /* 画像に近い水色 */
    color: white;
    padding: 15px;
    font-size: 1.2rem;
    font-weight: bold;
    border-radius: 2px;
    margin-bottom: 5px;
}

/* 枠線付きのボックス */
.flow-box-outline {
    border: 2px solid #5bc0de;
    padding: 20px;
    font-size: 1.1rem;
    background-color: #fff;
}

/* 矢印部分のコンテナ */
.arrow-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 5px 0;
}

/* 矢印の直線部分 */
.arrow-down {
    width: 2px;
    height: 60px;
    background-color: #5bc0de;
    position: relative;
    margin: 10px 0;
}

/* 矢印の先端（三角） */
.arrow-down::after {
    content: "";
    position: absolute;
    bottom: -5px;
    left: 50%;
    transform: translateX(-50%);
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 10px solid #5bc0de;
}

/* 矢印の横のテキスト */
.arrow-text {
    font-size: 0.9rem;
    line-height: 1.5;
    text-align: left;
}

.arrow-text span {
    font-size: 0.85rem;
}

.arrow-text-small {
    font-size: 0.9rem;
    margin-bottom: -5px;
}

/* 調整会議の詳細レイアウト */
.meeting-title {
    font-weight: bold;
    margin-bottom: 10px;
}

.meeting-details {
    display: inline-block;
    text-align: left;
}

.detail-row {
    margin: 5px 0;
    display: flex;
    gap: 20px;
}

/* 特殊なテキストカラー */
.blue-text {
    color: #337ab7;
    text-decoration: underline;
    cursor: pointer;
}

/* レスポンシブ調整 */
@media (max-width: 600px) {
    .detail-row {
        flex-direction: column;
        gap: 0;
        margin-bottom: 10px;
    }
    .arrow-text {
        margin-left: 0;
        text-align: center;
    }
}





/* --- 共通スタイル --- */
.small-info { font-size: 0.85rem; line-height: 1.6; margin-top: 10px; }
.blue-text-inline { color: #5bc0de; display: inline; }
.blue-link { color: #337ab7; text-decoration: underline; }

/* --- 分岐レイアウト用 --- */
.branch-container {
    display: flex;
    justify-content: space-between;
    margin: 20px 0;
    align-items: flex-start;
}

.branch-path { width: 45%; }

.sub-branch-container {
    display: flex;
    justify-content: space-around;
    margin-top: 20px;
}

.branch-container-flat {
    display: flex;
    gap: 0;
    margin: 0;
}

.branch-half {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* 枠をくっつけるための調整 */
.branch-half .flow-box-outline {
    width: 90%;
    margin: -1px; /* 境界線を重ねる */
}

/* --- 特殊な矢印 --- */
.arrow-down-short {
    width: 2px;
    height: 30px;
    background-color: #5bc0de;
    position: relative;
}
.arrow-down-short::after {
    content: "";
    position: absolute;
    bottom: -5px;
    left: 50%;
    transform: translateX(-50%);
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 8px solid #5bc0de;
}

.arrow-down-long {
    width: 2px;
    height: 150px;
    background-color: #5bc0de;
    position: relative;
}
.arrow-down-long::after {
    content: "";
    position: absolute;
    bottom: -5px;
    left: 50%;
    transform: translateX(-50%);
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 8px solid #5bc0de;
}

.arrow-with-label {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px 0;
}

.label-left { position: absolute; left: -40px; top: 30px; font-size: 0.8rem; }
.label-right { position: absolute; left: 10px; top: 30px; font-size: 0.8rem; text-align: left; width: 100px; }
.label-bottom { font-size: 0.8rem; margin-top: 10px; }
.arrow-text-side { font-size: 0.75rem; text-align: left; margin-bottom: 5px; }



/* イベントページの調整 */
.tribe-events-event-image{
	display:none;
}