@charset "utf-8";

/* ==========================================
   1. 基本レイアウト・共通設定
   ========================================== */
html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Noto Sans JP', sans-serif;
}

h1, h2, h3, h4, p {
    font-family: inherit;
}

p {
    font-size: 18px;
}

ul {
    list-style: none;
    padding: 0;
}

a {
    color: inherit;
    text-decoration: none;
    transition: opacity 0.3s;
}

a:hover {
    opacity: 0.7;
}

img {
    max-width: 100%;
    height: auto;
}

/* ==========================================
   2. ヘッダー（header.php 共通）
   ========================================== */
header img[src*="header_rogo.png"],
.header_inner img[src*="header_rogo.png"] {
    height: 75px !important;
    width: auto;
}

/* PC/SP表示切り替え */
@media (min-width: 768px) {
    .spstyle { display: none !important; }

}

@media (max-width: 767px) {
    .pcstyle { display: none !important; }


    
    .spstyle header img {
        display: block;
        width: 100%;
    }
    
    /* SP用ロゴサイズ調整 */
    .spstyle .navbar-brand img[src*="header_rogo.png"] {
        height: 65px !important;
    }
}

/* PC/SPの表示切り替え */
/* PC用の設定 */
.sp-only {
  display: none; /* スマホ用は隠す */
}


/* スマホ用の設定（例：画面幅が768px以下の場合） */
@media (max-width: 768px) {
  .pc-only {
    display: none; /* PC用を隠す */
  }
  .sp-only {
    display: inline; /* スマホ用を表示 */
  }
}

/* ==========================================
   3. 各ページ共通コンポーネント
   ========================================== */
/* 背景設定 */
.bg-h {
    background: url("../img/headbg.png") no-repeat center 66.6% / cover;
}

.bg-b {
    background-color: #E0F0E2;
    background-image: url("../img/4250634_l.jpg");
    background-repeat: no-repeat;
    background-size: 2560px auto;
    background-position: center top;
}



@media (max-width: 767px) {
    .bg-b {
        background-size: 2080px auto;
    }
}

/* メインメニュー周辺 */
.mcont {
    margin-top: 15em;
}

@media (max-width: 769px) {
    .mcont {
        margin-top: 7em;
    }
}

.conmainmenu {
    height: 180px;
}

/* 装飾・アイコン */
.toricon {
    background: url(../img/torikumi_l.png) no-repeat center left;
    height: 90px;
    padding-left: 90px;
}

/* グラスモーフィズム効果 */
.bg-glass-gradient {
    background: linear-gradient(to bottom, rgba(209, 231, 221, 0.1), rgba(209, 231, 221, 0.9));
    backdrop-filter: blur(2px);
}

.bg-glass-gradient2 {
    background: rgba(209, 231, 221, 0.9);
}

/* ==========================================
   4. モーダル (history.php)
   ========================================== */
.clickable-area {
    cursor: pointer;
    fill: transparent;
    transition: fill 0.3s;
}

.clickable-area:hover {
    fill: rgba(255, 255, 255, 0.4);
}

.modal.fade {
    transition: opacity 0.3s linear;
}

/* ==========================================
   5. フッター (共通)
   ========================================== */
.footer-lower {
    clear: both;
    position: relative;
    padding: 30px 0 60px;
    background: url(../img/footer_line_img01.png) bottom center / 960px 45px no-repeat, 
                url(../img/footer_line_img02.png) bottom 16px left / 1px 13px repeat-x;
    background-color: #fff;
}

.page_top_btn {
    position: fixed;
    bottom: 10px;
    right: 10px;
    padding: 10px;
    z-index: 100;
}

/* 5カラムグリッド (Bootstrap補完) */
.col-xs-1-5, .col-sm-1-5, .col-md-1-5, .col-lg-1-5 {
    position: relative;
    min-height: 1px;
    padding: 0 15px;
    float: left;
}
.col-xs-1-5 { width: 20%; }
@media (min-width: 768px) { .col-sm-1-5 { width: 20%; } }
@media (min-width: 992px) { .col-md-1-5 { width: 20%; } }