/* 以下 会社ロゴを下にずらす */
#site-logo {
    padding-top: 15px;
}
.pagetop-1, .pagetop-2 {
    height: auto !important;   /* 固定高さを完全に無効化 */
    border-bottom: 1px solid #ddd;
    padding-bottom: 15px;
}
.pagetext-1 h2 {
    margin: 10px 0;   /* デフォルトの大きな余白を削る */
}
.pagetext-2 {
    margin: 10px 0;
    padding: 0;
}
.pagetext-2 table {
    margin: 10px 0;
}
/* 以下、このページのみに適用 */
.hero2100{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin:10px 0 5px;
}
.hero-text{
    width:45%;
}
.hero-image{
    width:58%;
    text-align:right;
}
.hero-image img{
    width:100%;
    max-width:650px;
}
.hero-text .lead{ /*高精度...の色を変える*/
    color:#222 !important;
    font-size:24px;
    font-weight:600;
}
.tax-label{
    display:inline-block;
    margin:30px 0;
    padding:14px 28px;
    background:#c40000;
    color:#fff;
    font-size:22px;
    font-weight:700;
    letter-spacing:1px;
    border-radius:6px;
    box-shadow:0 4px 12px rgba(0,0,0,.20);
}
.feature-row{
    display:flex;
    justify-content:space-between;
    gap:15px;
    margin:50px 0;
}
.feature-box{
    flex:1;
    text-align:center;
    padding:16px 12px;
    background:#f7f7f7;
    border:1px solid #ddd;
    transition:.3s;
}
.feature-box:hover{
    background:#fff;
    box-shadow:0 3px 10px rgba(0,0,0,.15);
}
.feature-box i{ /*アイコン*/
    font-size:38px;
    color:#2b4c7e;
    margin-bottom:10px;
}
.feature-box h3{/*見出し*/
    margin:6px 0;
    font-size:18px;
}
.feature-box p{/*本文*/
    font-size:14px;
    line-height:1.4;
}
.feature-box{/*角を丸くする*/
    border-radius:8px;
}
/*横に2分割 flexの割合が分割程度*/
.two-column{
    display:flex;
    gap:40px;
    align-items:center;
}
.left-column{
    flex:3;
}
.right-column{
    flex:7;
    padding-top:0px;
}
/*listの中点を抜く*/
ul{
  padding-left:0;
}
li{
  list-style:none;
}
/*証明書の写真枠*/
.tax-left{
    text-align:center;
}
.tax-left img{
    max-width:340px;
    width:100%;
    padding:8px;
    border:1px solid #ddd;
    box-shadow:0 3px 8px rgba(0,0,0,.15);
    background:#fff;
}
/*以下スキームの横構成*/
.support-flow{
    padding:5px 0;
    text-align:center;
}
.support-flow h2{
    font-size:30px;
    margin-bottom:10px;
}
.flow-sub{
    margin-bottom:40px;
    color:#666;
}
.flow-grid{
    display:flex;
    justify-content:center;
    align-items:flex-start;
    gap:15px;
    flex-wrap:wrap;
}
.flow-item{
    width:180px;
}
.flow-item i{
    font-size:48px;
    color:#0066aa;
    margin-bottom:15px;
}
.flow-item h3{
    font-size:18px;
    margin-bottom:10px;
}
.flow-item p{
    font-size:14px;
    line-height:1.7;
}
.flow-arrow{
    font-size:36px;
    color:#999;
    margin-top:40px;
}
.flow-button{
    margin-top:40px;
}
.btn-more{
    display:inline-block;
    background:#005baa;
    color:#fff;
    padding:12px 30px;
    text-decoration:none;
    border-radius:4px;
}
.btn-more:hover{
    background:#003f7a;
}
/*以下は製品ラインナップ*/
.product-card{
    text-align:center;
}
.product-image{
    position:relative;
    display:inline-block;
}
.product-image img{
    width:100%;
    max-width:240px;
    height:auto;
    display:block;
}
.product-badge{
    position:absolute;
    top:10px;
    right:10px;
    background:#d60000;
    color:#fff;
    padding:5px 12px;
    font-size:13px;
    font-weight:bold;
    border-radius:3px;
    box-shadow:0 2px 5px rgba(0,0,0,.3);
}
/*製品来ナップのタイトルを左揃え*/
/*==================================
  Product Lineup
==================================*/

.product-lineup{
    padding:40px 0;
}
.product-lineup h2{
    margin-bottom:40px;
}
.product-grid{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:30px;
}
.product-card{/*枠をつけてゴージャスに*/
    width:220px;
    padding:20px 15px;
    border:1px solid #e5e5e5;
    border-radius:6px;
    background:#fff;
    transition:.3s;
}
.product-card a{
    text-decoration:none;
    color:#333;
}
.product-card img{
    width:150px;
    height:auto;
    transition:.3s;
}
.product-card:hover img{
    transform:scale(1.05);
}
.product-card:hover{
    box-shadow:0 6px 18px rgba(0,0,0,.15);
    transform:translateY(-4px);
}
.product-card h3{
    margin-top:15px;
    font-size:22px;
}
.subtitle{
    color:#666;
    font-size:15px;
    margin-top:8px;
    line-height:1.6;
}
/*-----------------------------
 2100のみ
-----------------------------*/
.product-image{
    position:relative;
    display:inline-block;
}
.product-badge{
    position:absolute;
    top:8px;
    right:8px;
    background:#005baa;
    color:#fff;
    padding:4px 10px;
    font-size:12px;
    border-radius:3px;
    font-weight:bold;
}
.featured img{
    width:170px;
}

/*以下お問い合わせ*/
.news-section h2{
    text-align:left;
    margin-bottom:25px;
}
.news-list{
    list-style:none;
    padding:0;
    margin:0;
    text-align:left;
}
.news-list li{
    padding:12px 0;
    border-bottom:1px solid #e5e5e5;
    line-height:1.8;
}
.news-date{
    display:inline-block;
    width:120px;
    font-weight:bold;
    color:#666;
}
/*プダウンメニュー*/
/*==================================================
  Header
==================================================*/
.site-header{
    background:#ffffff;
    border-bottom:1px solid #dcdcdc;
}

.header-inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    height:80px;
}

/*--------------------
  Logo
--------------------*/

.logo img{
    height:55px;
    width:auto;
    display:block;
}

/*--------------------
  Navigation
--------------------*/

.global-nav > ul{
    display:flex;
    align-items:center;
    list-style:none;
    margin:0;
    padding:0;
}
.global-nav > ul > li{
    position:relative;
    margin-left:35px;
}
.global-nav a{
    display:block;
    color:#333;
    font-size:16px;
    font-weight:600;
    text-decoration:none;
    line-height:80px;
    transition:.3s;
}
.global-nav a:hover{
    color:#005baa;
}
/*--------------------
  DropDown
--------------------*/
.sub-menu{
    display:none;
    position:absolute;
    top:80px;
    left:0;
    min-width:220px;
    background:#fff;
    border:1px solid #ddd;
    box-shadow:0 5px 15px rgba(0,0,0,.15);
    list-style:none;
    margin:0;
    padding:0;
    z-index:999;
}
.sub-menu li{
    display:block;
    margin:0;
}
.sub-menu a{
    line-height:1.5;
    padding:12px 18px;
    white-space:nowrap;
}
.menu-item-has-children:hover .sub-menu{
    display:block;
}
.sub-menu a:hover{
    background:#005baa;
    color:#fff;
}


/*以下フッター*/
/*==================================================
  Footer
==================================================*/

.site-footer{
    background:#2f2f2f;
    color:#cccccc;
    margin-top:80px;
    padding:50px 0 25px;
}
.footer-nav{
    text-align:center;
    margin-bottom:30px;
}
.footer-nav a{
    color:#ffffff;
    text-decoration:none;
    margin:0 12px;
    font-size:15px;
}
.footer-nav a:hover{
    color:#4aa3ff;
}
.footer-nav span{
    color:#777;
}
.footer-company{
    text-align:center;
    line-height:1.8;
    font-size:14px;
    color:#bbbbbb;
    margin-bottom:30px;
}
.copyright{
    text-align:center;
    font-size:13px;
    color:#888888;
    border-top:1px solid #555;
    padding-top:20px;
}
/*リンクの体裁を*/
.tax-link{
    margin:18px 0 8px;
}

.tax-link a{
    color:#666;
    text-decoration:underline;
}

.product-link{
    margin:0;
}

.product-link a{
    display:inline-block;
    padding:9px 18px;
    color:#fff;
    background:#0072b8;
    border-radius:4px;
    text-decoration:none;
    font-weight:bold;
}
    