/*
Template:bootstrap-basic4
Theme Name:child-pken
*/
@charset "utf-8";
body{font-size: 16px; background-color: #fff; font-family: 'Noto Sans JP', "Public Sans", "Noto Sans", sans-serif; color: #333;}
a{text-decoration: none; color: inherit;}
img{height: auto; max-width: 100%;}

/*------BASE------*/
/*color*/
.bg-1{background-color: #c41716; color: #fff;}
.bg-2{background-color: #e9ecef;}
.bg-3{background-color: #f8f9fa;}

/*btn*/
.btn{border-radius: 0.75rem; padding: 0.75em 1rem;}
.btn-1{background-color: #c41716; color: #fff;}
.btn-2{background-color: #fff; color: #c41716;}
.btn-light{background-color: #fff; border-color: #e9ecef}

/*badge*/
.badge{display: inline-block; font-size: 0.8rem; padding: 0.4rem 0.5rem; border-radius: 0.25rem; background-color: #c41716; color: #fff;}

/*text*/
.small-1{font-size: 60%;}
.item-title{font-weight: 900;}
.text-middle{font-size: 1.25rem;}

/*container*/
.container{max-width: 930px;}

/*------HEADER------*/
#header{padding: 0.25rem 2.5rem; position: fixed; width: 100%; top: 0; z-index: 99; backdrop-filter: blur(6px) !important; background-color: rgba(255, 255, 255, 0.7) !important;}
.head-l{gap: 1rem;}
.logo-txt{font-size: 1.125rem; font-weight: 700; letter-spacing:-0.015em;}
.logo{width: 50px;}

/*nav*/
.ul-hnav{display: flex; font-size: 0.875rem; align-items: center; gap: 0.75rem; list-style: none;}

/*bread*/
.breadcrumbs{padding: 0.25rem 0; font-size: 11px; background-color: #f4f4f4; margin-top: 66px;}
.breadcrumbs,.breadcrumbs a{color: #373737;}
.breadcrumbs > .container > span{margin:0 5px;}
.breadcrumbs > .container > span:first-child{margin-left: 0;}
.single-project .breadcrumbs{margin-bottom: 0;}

/*------INDEX------*/
/*mv*/
.mv{height: 100vh; position: relative; background:linear-gradient(rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.35) 100%),  url('assets/images/mv.jpg') no-repeat center / cover; color: #fff;}
.mv > .container{display: flex; align-items: end; height:calc(100% - 98px);}
.mv-inner{padding:80px 0;}
.mv-text{font-size: 2.25rem; line-height: 1.6; font-weight: 900;}
.mv-text small{display: block; font-size: 60%;}
.wrp-mv_news{background-color: rgba(187, 0, 0, 0.6); padding: 25px 0; color: #fff; position: relative;}
.mv-news .item-title{font-size: 1.2rem; margin-right: 20px; padding-right: 20px; border-right: 2px solid #fff;}
.mv-news a.link-news{color: #fff !important;}

/*sec*/
.sec{padding:4rem 0;}
.sec-head{text-align: left; margin-bottom: 3rem;}
.sec-title{font-size: 2.5rem; font-weight: 900;}

/*sec_chairman*/
.chairman-name{font-size: 2rem; margin-bottom: 1rem;}
.block_btn{text-align: left; margin-top: 2rem;}
.block_btn .btn{width: 180px;}

/*sec_about*/
.img-fff_box{padding: 30px 15px; background-color: rgba(255, 255, 255, 0.8); border-radius: 10px;}

/*sec_news*/
.wrp-news{gap: 1rem;}
.item-news{width: 32%; color: #333; border-radius: 0.75rem; overflow: hidden; border: none; box-shadow: 0 0 4px rgba(0,0,0,0.1);}
.item-news .card-body{padding: 1rem;}
.item-news .item-badge{margin-bottom: 0.4rem;}
.item-news .news-title{font-size: 1rem; font-weight: 500;}
.item-news .item-date{margin:0.25rem 0 1rem;}

/*sec_federation*/
.item-fede{padding: 0.75rem 0;}
.item-fede .item-title{font-size: 1.0rem; font-weight: 500; margin: 0.25rem 0;}
.item-fede .item-img{overflow: hidden; border-radius: 0.5rem; width: 60px; height: 60px; min-width: 60px;}
.inner-fede{display: flex; align-items: center; gap: 1rem;}

/*------PAGE SINGLE------*/
.main-default{padding: 4rem 0 4rem;}
.page-body{min-height: 80vh;}
.wrp-content a:not(.btn) {color:#007bff; text-decoration:underline;}

/*post*/
.wrp-post_head{margin-bottom: 2rem;}
.wrp-post_head .post-title{margin-top:0.75rem; font-size: 2rem; font-weight: 900;}
.wrp-post_head .item-img{margin-top: 1rem; max-width: 400px; position: relative;}
.wrp-post_head .item-inner{gap: 0.5rem;}
.wrp-post_head .item-date{margin-left: 1rem;}
.zoomup{right: 10px; bottom: 10px; color: #fff; font-size: 20px;}
.wrp-next_prev{margin-top: 3rem; padding-top: 1rem; gap: 1rem; font-size: 0.9rem; border-top: 1px solid #ccc;}

/*post_content*/
.wrp-the_content.style-t{font-size: 1.25rem; line-height: 1.8;}
.wrp-the_content h2{margin: 1.5rem 0; font-size: 1.75rem; border-bottom: 2px solid #c41716; padding-bottom: 0.5rem;}
.wrp-the_content p{margin-bottom: 1rem;}
.wrp-the_content img{max-width: 680px; width: 100%;}
iframe{max-width: 100%;}

/*paging*/
.p_under .pagination-nav-container{margin-top: 3rem;}
.pagination .page-link{border-radius: 0 !important; color: #c41716;}
.page-item.active .page-link{background-color: #c41716; border-color: #dee2e6;}

/*page-about*/
.content-chairman{padding-top: 4rem; border-top: 1px solid #ccc; margin-top: 4rem;}
.content-img{position: relative;}
.content-img .zoomup{color: #bbb;}
.google-form{position: relative; width: 100%; padding-top: 90%; /* 高さは比率で調整（例：150% = 高さが幅の1.5倍） */}
.google-form iframe{position: absolute;    top: 0;    left: 0;    width: 100%;    height: 100%;    border: none;}


/*------SINGLE------*/
.box-title{font-size: 1.5rem; font-weight: bold; border-bottom: 3px solid #333; padding-bottom: 5px; margin-bottom: 25px;}
.box-title_sub{margin: -20px 0 10px;}
.box-label{font-weight: bold; display: inline-block;}
.wrp-imgbox.grid{grid-gap:5px;}
.imgbox{margin-bottom: 0;}
.imgbox:last-child{margin-bottom: 0;}
.imgbox-memo{background-color: #F2F2F2; padding: 5px; font-size: 12px;}
.userlists{margin-top: 5px;}
.user_avatar{overflow: hidden;display: inline-block;}
.user_avatar .avatar{width: 45px; height: auto;}
.userlists .item-name{font-weight: bold; font-size: 14px;}

/*------ARCHIVE------*/
.wrp-postlist{flex-direction: unset; gap: 1rem; flex-wrap: wrap;}


/*------MyPage------*/
.sec-mypage{padding: 40px 0;}
.wrp-my_login{max-width: 580px; padding: 20px 15px; background-color: #fff;}
.alert-heading{font-size: 1.2rem;}
.mypage-qr{max-width: 280px;}
.mypage-nav{margin-top: 50px;}
.page-mypage .mypage-nav{margin-top: 0;}
.mypage-nav .card-body{padding-top: 10px; padding-bottom: 10px;}
.mypage-nav .btn{width: 49%; max-width: 130px;}
.display_name{font-weight: bold; font-size: 12px;}

/*------TABLE------*/
/*style*/
table{background-color: #fff;}
.tb-users th{text-align: center;}
.td-user{text-align: center; line-height: 1.1;}
.tb-sm th,.tb-sm td{padding: 7px; vertical-align: middle; font-size: 14px;}
.tb-xs th,.tb-xs td{padding:3px;}
.tb-up_title{margin-bottom: 7px; font-weight: bold; font-size: 18px;}
.weekday-0{color: #ea2727;}
.weekday-6{color: #308ed9;}
.badge-salaried{background-color: #d98f30;}
.badge-none{background-color: #308ed9;}
.table-responsive {display: block; width: 100%; overflow-y: hidden !important; -webkit-overflow-scrolling: touch;}
.table-responsive > table{min-width: 1750px; margin-bottom: 0;}
.table-responsive > table.ver-sm{min-width: 800px;}
.wrp-quota_tb{margin-bottom: 30px; max-width: 1800px;}
.tb-quota td small{font-size: 11px;}

/*width*/
.th-w_1{width: 130px;}
.th-w_2{width: 90px;}
.th-w_3{width: 145px;}
.th-w_4{width: 50px;}
.th-w_5{width: 180px;}
.th-w_6{width: 70px;}

/*------FOOTER------*/
.footer-inner{padding: 4rem 0;}
.footer-logo{margin-bottom: 2rem; width: 100px;}
.footer-bnr{margin-bottom:4rem;}
.footer-bnr > a{width: 46%; display: inline-block;}
.wrp-foot_nav{gap: 2rem;}
.footer-nav{min-width: 180px;}
.footer-nav .item-title{font-size: 1.25rem; padding-bottom: 0.5rem; margin-bottom: 1rem; border-bottom: 1px solid #fff;}
.footer-nav li{margin-bottom: 0.5rem;}
.footer-nav a{color: #fff; padding: 0; display: inline;}
.footer-nav a:hover{text-decoration: underline;}
.cpr{text-align: center; padding: 7px 0; font-size: 14px; background-color: #222;} 



/*------PRODUCT------*/
.product-card { border: 1px solid #e9ecef; border-radius: 0.75rem; overflow: hidden; }
.product-card .badge { position: absolute; top: 10px; left: 10px; }
.favorite-button { position: absolute; top: 10px; right: 10px; background: none; border: none; }
.slider .slide { flex: 0 0 auto; width: 100%; }
@media (min-width: 768px) { .slider .slide { width: 33.333%; } }
/*------SLIDER------*/
.slider-container { position: relative; overflow: hidden; }
.slider { display: flex; transition: transform 0.5s ease-in-out; gap: 25px; }
.slide { min-width: 100%; height: 250px; display: flex; align-items: center; justify-content: center; color: white; font-size: 24px; font-weight: bold; }
@media (min-width: 768px) { .slider { display: flex; } .slide { min-width: 33.333%; height: 200px; } }
.slide:nth-child(1) { background-color: #3498db; }
.slide:nth-child(2) { background-color: #e74c3c; }
.slide:nth-child(3) { background-color: #2ecc71; }
.slide:nth-child(4) { background-color: #f39c12; }
.slide:nth-child(5) { background-color: #9b59b6; }
.slide:nth-child(6) { background-color: #1abc9c; }
.slider-nav { display: flex; justify-content: center; margin-top: 20px; }
.slider-nav button { background: none; border: none; font-size: 24px; margin: 0 10px; cursor: pointer; padding: 5px 15px; background-color: #f0f0f0; border-radius: 5px; }
.dots { display: flex; justify-content: center; margin-top: 15px; }
.dot { width: 12px; height: 12px; border-radius: 50%; background-color: #ccc; margin: 0 5px; cursor: pointer; transition: background-color 0.3s; }
.dot.active { background-color: #333; }
/*------CART------*/
.cart-button { position: relative; display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 1rem; background-color: white; border: 1px solid #e2e8f0; border-radius: 0.375rem; font-size: 0.875rem; cursor: pointer; transition: all 0.2s; }
.cart-button:hover { background-color: #f8f9fa; }
.cart-badge { position: absolute; top: -8px; right: -8px; display: flex; align-items: center; justify-content: center; width: 20px; height: 20px; background-color: #e11d48; color: white; font-size: 0.75rem; border-radius: 50%; }
.product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.product-card { display: flex; flex-direction: column; height: 100%; background-color: white; border: 1px solid #e2e8f0; border-radius: 0.5rem; overflow: hidden; transition: all 0.2s; }
.product-card:hover { box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); }
.product-image-container { position: relative; aspect-ratio: 3/4; background-color: #f3f4f6; overflow: hidden; }
.product-image { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s; }
.product-card:hover .product-image { transform: scale(1.05); }
.badge-container { position: absolute; top: 0.5rem; left: 0.5rem; display: flex; flex-direction: column; gap: 0.25rem; }
.badge-new { background-color: #3b82f6; color: white; }
.badge-sale { background-color: #e11d48; color: white; }
.favorite-button { position: absolute; top: 0.5rem; right: 0.5rem; display: flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; background-color: rgba(255, 255, 255, 0.8); border: none; border-radius: 50%; cursor: pointer; transition: background-color 0.2s; }
.favorite-button:hover { background-color: white; }
.favorite-icon { width: 1.25rem; height: 1.25rem; stroke: #9ca3af; fill: none; transition: all 0.2s; }
.favorite-button.active .favorite-icon { stroke: #e11d48; fill: #e11d48; }
.product-content { padding: 1rem; flex-grow: 1; }
.product-title { font-size: 1rem; font-weight: 500; margin-bottom: 0.25rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.price-container { display: flex; align-items: center; gap: 0.5rem; }
.current-price { font-size: 1.125rem; font-weight: 700; }
.original-price { font-size: 0.875rem; color: #6b7280; text-decoration: line-through; }
.product-footer { padding: 0 1rem 1rem 1rem; }
.add-to-cart-button { display: flex; align-items: center; justify-content: center; gap: 0.5rem; width: 100%; padding: 0.625rem 1rem; background-color: #3b82f6; color: white; border: none; border-radius: 0.375rem; font-size: 0.875rem; font-weight: 500; cursor: pointer; transition: background-color 0.2s; }
.add-to-cart-button:hover { background-color: #2563eb; }
.cart-icon, .heart-icon { width: 1rem; height: 1rem; }


/*------PC small------*/
@media only screen and (max-width: 1280px) {
}

/*------PAD pro------*/
@media only screen and (max-width: 1080px) {
    #header{padding: 0.75rem 1rem;}
}

  
/*------PAD------*/
@media only screen and (max-width: 880px) {
}

/*------Sm------*/
@media only screen and (max-width: 767px) {

    .logo-txt{font-size: 1.0rem;}

    /*nav*/
    .ul-hnav{display: block;}
    .ul-hnav > li > a{padding:22px 15px; border-bottom: 1px solid #ccc;}
    .ul-hnav > li > a::before{content: "\f054"; position: absolute; right: 15px; top: 20px;}
    .ul-hnav > li > a.nav-contact{background: none;}
    .ul-hnav > li > a.current-menu-item{background-color: #c41716; color: #fff;}    

    /*offcanvas*/
    .offcanvas-nav{background-color: rgba(255, 255, 255, 0.9); position: fixed; z-index: 900; display: block; top: -400%; left: 0; width: 100%; transition: top 0.3s ease-in-out;}
    .offcanvas-nav.open{top: 0;}
    .offcanvas-nav.open .head-nav{display: block;}
    .offcanvas-nav.open::after{height: 55px;}

    .m-toggle{top: 15px; right: 10px; width: 55px; height: 39px; padding:0; text-align: center; border-radius: 30px; border: none; position: absolute; z-index: 999; border-color: #fff; display: block;}
    .m-toggle .icon-bar + .icon-bar {margin-top: 4px;}
    .m-toggle .icon-bar{display: block; width: 22px; height: 2px; border-radius: 1px; margin: auto; transition: all .25s ease-in-out;}
    .m-toggle .icon-bar,
    .m-toggle.is-open .icon-bar{background-color: #fff;}
    .m-toggle.is-open .icon-bar:nth-child(2){opacity: 0;}
    .m-toggle.is-open .icon-bar:nth-child(3){margin-top: 14px; transform: rotate(-45deg) translate(4px, -4px)}
    .m-toggle.is-open .icon-bar:nth-child(4){transform: rotate(-135deg) translate(8px, 8px); margin-top: 4px;}       

    /*------INDEX------*/
    /*mv*/
    .mv{height: 70vh;}
    .mv > .container{display: flex; align-items: end; height:calc(100% - 78px);}
    .mv-text{font-size: 1.75rem;}
    .mv-text small{font-size: 70%;}
    .wrp-mv_news{padding: 15px 0;}
    .mv-news .item-title{min-width: 52px; margin-right: 10px; padding-right: 10px;}
    .mv-news .item-date{display: block;}

    /*sec*/
    .sec{padding:3rem 0;}
    .sec-head{text-align: left; margin-bottom: 2rem;}
    .sec-title{font-size: 2.0rem;}    

    #sec_chairman .row{flex-direction: column-reverse;}
    #sec_about .text-middle{margin-top: 1rem; font-size: 1rem;}
    .chairman-name{margin-top: 1rem; font-size: 1.75rem;}
    .block_btn .btn{width: 100%;}
    .wrp-news{flex-wrap: wrap; gap: 2rem;}
    .item-news{width: 100%;}

    /*------PAGE SINGLE------*/
    .main-default{padding: 3rem 0 3rem;}

    /*post*/
    .wrp-post_head .post-title{font-size: 1.5rem;}
    .wrp-next_prev{flex-wrap: wrap;}

    /*post_content*/
    .wrp-the_content.style-t{font-size: 1rem;}
    .wrp-the_content h2{font-size: 1.5rem;}
    

    .mypage-nav .btn{max-width: none;}

    /*------FOOTER------*/
    .footer-inner{padding: 3rem 0;}
    .footer-logo{margin-bottom: 1.5rem;}
    .footer-bnr{margin-bottom:3rem;}
    .footer-bnr > a{width: 49%;}
    .footer-main{display: block;}
    .wrp-foot_nav{flex-wrap: wrap;}
    .footer-nav{width: 100%;}
    .footer-nav .item-title{font-size: 1.25rem; padding-bottom: 0.5rem; margin-bottom: 1rem; border-bottom: 1px solid #fff;}
    .footer-nav li{margin-bottom: 0.5rem;}
    .footer-nav a{color: #fff; padding: 0; display: inline;}
    .footer-nav a:hover{text-decoration: underline;}
    .cpr{text-align: center; padding: 7px 0; font-size: 14px; background-color: #222;}     
}

/*------Sm small------*/
@media only screen and (max-width: 350px) {
    

}