.truck_theme{

    /*基本*/
    --bg: #ffffff;
    --text: #1A1A1A;
    --text05: #1A1A1A80;
    
    --text_h: #008A90;
    --text_red: #C94A4A;
    --text_red_h: #E85A5A;
    --text_white: #ffffff;
    --text_gray: #666666;

    --main_color: #005A5B;
    --main_color05: #005A5B80;
    --white_05: #FFFFFF80;
    --color1: #F0F7F7;
    --color2: #DCEEEE;
    --color3: #C7E3E3;
    --color4: #A3B8B8;

    /*表*/
    --table_header: #005A5B/*#004647*/;
    --table_line: #1A1A1A;
    --table_data: #E8F2F2;
    --table_data_h: #D1E6E6;

    /*QA*/
    --question: var(--main_color);
    --answer: var(--text_red);

    /*電子申請システム*/
    --system: #ffa3a6;
    --system_h: #cc8284;
    --system_s: #5a3f40;

    /*区切り線*/
    --vertical_line: #bbbbbb;
 
}

/*

* {
  outline: 1px solid blue;
}
body * {
    outline: 1px solid red;
    background-color: rgba(0, 255, 0, 0.1);
}
body::after{
    content: '';
    background: rgba(128, 255, 0, 0.4);
    display: block;
    position: fixed;
    width: 5px;
    height: 100vh;
    top:0;
    right: 0;
    z-index:9995;
}
div * {
    background-color: rgba(255, 0, 255, 0.1);
}*/
/*
*{
    box-sizing: border-box;
    max-width: 100%;
    width: 100%;
}
デバッグ用*/

/*全体*/
html{
    scroll-behavior: smooth;
    scroll-padding-top: 100px;/**/
    font-size: 16px;

    scrollbar-gutter :stable;/*スクロールバーの幅を確保*/
}
#a_top{
    scroll-padding-top:0;
}
body{
    /*font-family: "Meiryo","Hiragino Kaku Gothic Pro", sans-serif;*/
    /*font-family: Noto Sans JP, 'Courier New', Courier, monospace;*/
    font-family: "Noto Sans JP", "Helvetica Neue", Arial, sans-serif;
    font-weight: 100;
    color: var(--text);
    font-size: 1.1em;
    line-height: 1.5;
    letter-spacing: 0.01rem;/*文字幅*/
    text-autospace:nomal;
    font-weight:500;
    box-sizing: border-box; /* パディングやボーダーを幅に含める */
    max-width: 100%;        /* はみ出し防止 */
    width: 100%;
    margin:0;
    scroll-behavior: smooth;
}
/*フッター部分*/
.footer{
    border: none;
    border-top: var(--main_color) 2px solid;
    box-sizing: border-box;
    height: 170px;
    overflow-y: hidden;/*スクロールバーなし*/
    text-align: center;/*左右中央揃え*/
    margin: auto;
}
.footer_style{
    padding: 5px;
    font-size: 0.9em;
    display: flex;
    flex-direction: column;
    text-align: center;
}
.footer_style a{
    margin: 0 5px;
}

.footer_style table{
    width: auto;
    margin: auto;
}




p{
    margin: 0.6rem auto;
    text-wrap: wrap;
}

img{
    /*margin:0 0.3rem;*/
    border: var(--text) 1px solid;
    image-rendering:auto;
    vertical-align: top;

    max-width: 100%;
}
a img:hover{
    border: var(--text_h) 1px solid;
}

.mp4popup, .return img, .dl_area img,.dl_area img:hover{
    border: none;
    cursor: pointer;
    transition: 0.5s ease;
    position: relative;
    display: inline-block;
}

.mp4popup::after{
    content: "";
    
    padding: auto;
    font-weight: 700;
    font-size: 1.5em;
    position: absolute;

    display: flex;
    align-items: center;
    justify-content: center;

    inset: 0;
    background-color: rgb(from var(--color2) /r g b /0.5);
    z-index: 2;
    transition: 0.5s;
    
}
.mp4popup:hover::after{
    content: "動画を再生する";
    color: var(--text);
    /*var(--text_h) 1px solid;*/
    background-color: rgb(from var(--color2) r g b /0.5);
}
/*画像のポップアップ*/
button{
    all: unset;/*ボタンのデフォルトスタイルなし*/
    cursor: pointer;
}
[popover]{
    opacity: 0;
    transform: translateY(10px);/**/
    transition: opacity 0.5s, transform 0.5s;
}
[popover]:popover-open{/*ポップオーバー表示中*/
    border: none;
    padding: 0;
    background: none;

    display: flex;/**/
    justify-content: center;
    align-items: center;

    opacity: 1;
    transform: translateY(0);/**/

    @starting-style{
        opacity: 0;
        transform: translateY(10px);/**/
    }
}
[popover]::backdrop{/*ダイアログの直下に表示されるもの*/
    background: transparent;
    transition: background 0.5s;
    transition-behavior: allow-discrete;
}
[popover]:popover-open::backdrop{
    background-color: var(--text05);
    @starting-style{
        background: transparent;
    }
}


.popup{/*ダイアログの画像*/
    display: block;
    justify-content: center;
    align-items: center;
    margin: auto;
    
    max-width: 70vw;
    max-height: 90vh;
    width: auto;
    height: auto;

    object-fit:contain;

    background: none;
    padding: 0;

    /*overflow: auto;*/
}


a:any-link{/*未訪問・訪問済み*/
    /*text-decoration-line: none ;*/
    color: var(--text);/**/
    transition: 0.5s;
}

a:hover{/*ホバー*/
    /*text-decoration-line:underline;*/
    color: var(--text_h);
}
a:visited{/*押した時*/
    text-decoration: none;
}

ul, li{
  list-style-type: none;/*リストの・を付けない*/
  padding-left: 0;
}
.li_d{
    list-style-type: disc;
    margin-left: 1.5rem;
}
.li_c{
    list-style-type: circled-decimal;
    margin-left: 1.5rem;
}


@counter-style circled-decimal{
    system: fixed;/**/
    symbols: ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩;
    suffix: " ";
}

.break::before{
    content: "";
    display: block;/*見た目だけ改行*/

}

.return img{
    position: fixed;/*固定*/
    bottom:0.5rem;/*下から0*/
    right:0.5rem;/*右から0*/
    z-index: 9998;/*上から2番目の重ね位置*/
    opacity: 0.8;/*不透明度*/
    width:100px;
    height: 100px;
    border: none;
    object-fit: contain;/*アスペクト比を維持したまま縮小*/
    transition: 0.3s ease-in-out;
    content: url("img/return.png");
}
.return img:hover{
    border: none;
    opacity: 0.5;/*不透明度*/
    translate: 0 -0.2rem;
}


.icon_size{
    height: 50px;
    max-width: 40px;
    object-fit: contain;/*アスペクト比を維持したまま縮小*/

    padding-right: 7px;
}


/*ポップアップ用*/
.modal-container{
    display: none;/**/
    position: fixed;
    background: rgb(from var(--text) r g b /0.5);

    top: 0;
    left: 0;
    justify-content: center;
    align-items: center;

    width: 100vw;
    height: 100vh;
    z-index: 9999;
    transition: 0.5s ease;
    opacity: 0;
}

.modal-content{
    /*opacity: 0;*/
    transition: 5.5s ease;

    
    /*padding:1rem 1rem 2rem 1rem;*/
    width: 100%;
    max-height: 70vh;
    box-sizing: border-box;

    background: var(--text); 
}

.modal-content video{
    width: 100%;
    max-height: 70vh;
    border: none;
}
.close{
    margin-right: 1rem;
    float: right;
    font-size: xx-large;
    
    color: var(--text_white);
    cursor: pointer;
}

.breadcrumb{
    display: flex;
    font-size: 0.9rem;
}
.right_triangle{
    width: 0.3rem;
    height: 0.6rem;
    margin:auto 0.3rem auto 0.4rem;
    background-color: var(--text);
    clip-path: polygon(0 0,0 100%,100% 50%);/*左上を起点にX座標 Y座標, X座標 Y座標, X座標 Y座標...*/
}
.header{
    position:sticky;
    top: 0;
    left:0;
    width: 100%;
    background-color: var(--bg);
    z-index: 9998;
    border-bottom: var(--main_color) 5px solid;/**/   
}
@media print{
    .header{
        position: static !important;/*印刷時だけ固定表示解除*/
    }
    .return img{
        display: none;
    }
    .section{
        padding: 0 !important;
    }
}



/*ヘッダー部分*/
.menu_sub{
    padding: 0.05rem 0 0 0;
    display: flex;
    text-align: justify;
    justify-content: space-between;/*両端揃え※flex内*/
    text-wrap: nowrap;/**/
    align-items: center;
    /*max-width: 1400px;*/
    width:98%;
    margin: 0 auto;
}
.header_grant_title{
    display: flex;
    flex-direction: column;
    justify-content: start;
    font-size: 0.9rem; 
    font-weight: 700;
    line-height:1.6rem;
    text-align: left;
    
    text-wrap: wrap;
    
}
.header_grant_title_name{
    font-size: 1.7rem;
    font-weight: 700;
    line-height:1.2rem;
}


.menu_sub_r{
    display: flex;
    justify-content: end;
    align-items: flex-end;
    flex-wrap: nowrap;
    
}
.web_system{
    padding: 0.2rem 0.5rem;
    margin: 0 0.5rem 0.2rem 0;
    background-color: var(--system);
    text-decoration: none;
    /*font-size: 1.2em;
    text-wrap: nowrap;*/
    align-items: end;
    align-content: end;
    font-weight: 600;
    border-radius: 10px;/*丸い枠*/
    width: auto;
    /*border-style: groove;*/
    /*scale: 0.8 1;横幅を狭める*/
    translate: -0.7rem 0rem;
    box-shadow: 3px 3px 2px 0px var(--system_s);
    transition: 0.3s;
}
.web_system_close{
    background-color: var(--text_gray)impotant;
}
.web_system a:any-link{
    color:var(--text_white) !important; 
}
.web_system:hover{
    text-decoration: none;
    translate: -0.5rem 0.1rem;/*横に3、縦に2*/
    box-shadow:none;
    animation: ws 0.5s ease forwards;
}
@keyframes ws{
    from{
        background-color: var(--system);
    }
    to{
        background-color: var(--system_h);
    }
}
.web_system > a{/*子結合子　ウェブシステムボタンの子要素のリンク*/
    text-decoration: none;
}


.qa{
    padding: 0;
    font-size: 0.75em;
    text-wrap: nowrap;
    text-align: end;
    align-items: end;
    /*margin: 0 2rem;*//*公募公表用*/
    margin: 0 0.5rem;/*事前告知用*/
    
}

/*○に↓マーク*/
.qa a::before{
    display: inline-block;
    content: "↓";
    font-family: Source Han Sans;/**/
    color:var(--text_white);
    font-weight: 800;
    padding: 0 0.2rem;
    border-radius: 50%;/*丸い枠*/

    
    background-color: var(--main_color);
    text-decoration:none;

    transition: 0s ease;
    transform: rotateY(0deg);
    transform-origin: center;/*回転の軸*/
}
.qa a:hover::before{
    transform: rotateY(180deg);
    transition: 0.5s ease;
}


.menu{
    display: flex;
    align-items: center;
    justify-content: space-between;/*両端揃え※flex内*/
    width: 100%;
    /*max-width: 1400px;*/
    padding: 0;
    margin: 0.2rem auto 0 auto; 

}
.Lline{
    display: inline-block;
    width: 1px;
    height: 0.8em;
    background-color: var(--vertical_line);
    margin: 0.2px;
    align-items: center;
}
.menu li{
    display: flex;
    
    margin: 0;
    padding:0 0.1rem;
    /*width:100%;*/
}

.menu_button{
    display: flex;
    flex-grow:1;
    font-size: 0.85em;
    margin:auto 0.4rem auto 0.4rem;
    padding:0 0.2rem;
    height:37px;
    width:100%;
    line-height: 1rem;/*行間*/
    justify-content: center;/*左右中央揃え※flex内*/
    text-align: center;/*左右中央揃え*/
    align-items: center;/*上下中央揃え*/
    word-wrap: nowrap;
}

.menu_button:any-link{/*未訪問・訪問済み*/
    text-decoration: none;
    margin:auto 0.2rem;

    /*下線を動かす*/
    background:linear-gradient(var(--main_color),var(--main_color));
    background-size: 0 1px;/*幅　高さ*/
    background-position: left 85%;
    background-repeat: no-repeat;
    transition: 0.3s ease-out;

}
.menu_button:hover{
    display:flex;
    margin:auto 0.2rem;
    height: 37px;
    justify-content: center;/*左右中央揃え※flex内*/
    align-items: center;

    /*下線を動かす*/
    background-size: 100% 1px;
}

.pickup{
    background-color: var(--main_color) !important;
    border-radius: 5px 5px 0 0;
}
.pickup:any-link{
    color: var(--text_white);
}
/*ヘッダー部分終*/


.main_contents{
    width: 100%;
    margin: auto;/*左右余白を均等に中央配置*/

    display:flex;
    flex-direction: column;
    align-items: center;/*左右中央揃え*/
    box-sizing: border-box; /* パディングやボーダーを幅に含める */

}

.grant_year{
    display: block;
    text-align: center;
    font-size: 1.5rem;
    /*padding:1rem 0 0 0;*/
}
.grant_title{
    display: block;/*ブロック化*/
    text-align: center;
    font-size: 3.5rem;
    padding-bottom: 0;
}
.title_message{
    font-size: 1rem;
    letter-spacing: normal;
    padding: 10px 50px;
    max-width: 1000px;
    margin: 0 auto;
    text-align: center;
}

.section_bg{
    background-color: var(--table_data);
    width: 100%;
}
.section{
    padding: 10px 0px 90px 0px;
    margin: 0 auto;
    max-width:1300px;
    width: 80%;
    box-sizing: border-box; /* パディングやボーダーを幅に含める */
}
.section_title{
    text-align: center;
    font-size: 2.2rem;
    letter-spacing: 0.5rem;
    

    padding: 30px 0px;
    margin: 0 auto 2rem auto;
    width:100%;
    background: linear-gradient(120deg, var(--main_color) 70%, rgb(from var(--main_color) r g b /0.7) 30% );
    color: var(--text_white);
}

.alert{
    box-sizing: border-box;
    margin: auto;
    padding: 2rem 3rem 3rem 3rem !important;
    background-color:var(--color1);
    border-radius: 5px;
    flex-basis: 40%;
}
.center_m{
    display: block;
    text-align: center;
}
.left_m{
    display: block;
    text-align: left;
}
.red{
    color:var(--text_red);
    font-weight: 700;
}
.red a{
    color:var(--text_red);
}
.red a:hover{
    color:var(--text_red_h);
}
.blue{
    color: var(--text_h);
}
.fuchidori{
    text-shadow: 2px  2px 0px var(--text_white),
                -2px -2px 0px var(--text_white),
                 2px -2px 0px var(--text_white),
                -2px  2px 0px var(--text_white);
}
.fuchidori2{
    text-shadow: 1px  1px 0px var(--text_white),
                -1px -1px 0px var(--text_white),
                 1px -1px 0px var(--text_white),
                -1px  1px 0px var(--text_white);
}

.f_mini{
    font-size: 0.9em;
}
.f_mini2{
    font-size: 0.6em;
}
.f_big{
    font-size: 1.2em;
    font-weight: 800 !important;
}
.f_bold{
    font-weight: 700;
}
.f_underLine_red{
    border-bottom: double 4px var(--text_red);
}
.f_nowrap{
    text-wrap: nowrap;
}
.f_marker_y{
    background:linear-gradient(transparent 50%,rgba(255, 255, 0, 0.575) 20%);
}
.f_date{
    font-feature-settings: "fwid";
    
}
.f_datenum{
    display: inline-block;
    width: 2em;
    text-align: right;
}
.f_right{
    margin-left:auto;
}
.f_left{
    margin-right:auto;
}
.margin_lr{
    margin:0 2rem;
}

.wp{
    border: none;
    /*transform: scale(0.8); ←でサイズを縮めても実際のサイズは変わらない*/
    transform-origin: top left;
    width: 100%;
    height: 360px;
    font-weight: 900;
    box-sizing: border-box;
    background: var(--bg);
}

/*字下げ*/
.indent{
    text-indent: 1rem !important;
}

/*ぶら下げ（※・）*/
.points{
    padding-left: 1.2em !important;
    text-indent: -1.2em !important;
}
/*執行団体名*/
.executor{
    justify-content: right;
    display:grid;
    grid-template-columns: repeat(3,auto);/**/
    margin-top: 3rem;
}

.section__title{
    padding: 1rem;
    margin-top:1rem;
    /*background-color: var(--color3) ;*/
    border-left:var(--main_color) 5px solid;
    background:linear-gradient(120deg,var(--color3) 70%, rgb(from var(--color3) r g b /0.7) 30%);/**/
    /*text-decoration: var(--main_color) underline 5px;*/
}
.section__title1{
    display: inline-block;
    padding: 0.5rem;
    margin-top:2rem;
    border-left:var(--main_color) 5px solid;
    /*background:linear-gradient(120deg,var(--color3) 70%, rgb(from var(--color3) r g b /0.7) 30%);*/
}

.section__title2{
    display: inline-block;
    border-bottom: var(--main_color) dashed;
}
.at2m{
    margin:0.5rem 1.3rem;
}

.about_p{
    padding: 0 1.3rem !important;
}

/*補助対象事業者／補助対象システム・車両*/
.table_subsidy{
    width: 100%;
    margin: 0 auto;
    max-width: 100%;        /* はみ出し防止 */
    text-align: center;
    /*border-collapse: collapse;セルの境界を共有する*/
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    border-radius: 5px;
    border: var(--table_line) 2px solid;/**/
    border-right: none;
}
.table_subsidy th{
    padding:5px 10px;
    border-block-end: var(--table_line) 2px solid;
    border-inline-end: var(--table_line) 2px solid;
    background-color: var(--table_header);
    color: var(--text_white);/**/
    font-weight: 500;
}
.table_subsidy td{
    padding:5px 10px;
    border-block-end: var(--table_line) 2px solid;
    border-inline-end: var(--table_line) 2px solid;
    background-color: var(--table_data);
    color:var(--text);
}
.table_subsidy tr:last-child th,
.table_subsidy tr:last-child td {
    border-block-end: none;
}


.table_subsidy tr:hover td{
    background-color: var(--table_data_h);
}

.rowN {/*rowspanの次のセル*/
    text-align: start;
}
.sen2{
    border-top: var(--vertical_line) 3px double !important;/*他の線より優先*/
}

/*補助事業の流れのフローチャート*/
.row{
    display: flex;
    /*flex-direction: row;*/
    margin: -10px 0 0 0;
}

.flowchart{
    display: flex;
    flex:1;
    flex-direction: column;
    width:100%;
    margin:auto;
    padding:0;
}
.flow_R{
    display: flex;
    flex:1;
    flex-direction: column;
    padding: 1rem;
    
    font-size: 0.8rem;
}
.flLR{
    display: grid;
    grid-template-columns: 35% 1fr;
    vertical-align: center;
    margin:0;
    width: 100%;
    max-width: 100%;        /* はみ出し防止 */
}

.flD{
    display: flex;
    flex-direction: column;
    position: relative;
    translate: 0 -3px;
    font-size: 0.9em;
    font-weight: 500;
    width: auto;
    align-items: center;
    margin: 0.3rem auto auto 1.6rem;
    padding: 0.5rem 1rem;
    box-sizing: border-box;
    background: var(--table_data);
    border-radius: 5px;
}
.flD::before{
    content: "";
    position: absolute;
    top:20px;/*しっぽの高さ*/
    left: -1.5rem;
    margin-top: -0.7rem;
    border:solid 10px transparent;
    border-right: var(--table_data) 17px solid;
}

.fl{
    font-size: 1rem;
    font-weight: 500;
    width:100%;
    height: 100%;
    text-align: center;
    margin:auto;
    box-sizing: border-box;
    align-items: center;
    z-index: 1;
}

/*下向き矢印*/
.arrowb{
    margin:auto;
}

.arrowb::after{
    display: block;
    margin:auto;
    align-items: center; 
    text-align: center;
    content: "　";
    width: 0;/*本体の幅0*/
    height:0;/*本体の高さ0*/
    border-left: 15px  solid transparent;/*透明なボーダー*/
    border-right: 15px solid transparent;/*透明なボーダー*/
    border-top: 10px solid var(--main_color);/*実際に見える三角形*/
}

/*フローの縦線*/
.flowSen{
    height: 100%;
    position: relative;
}
.flowSen::after{
    display: block;
    margin: auto;
    content: "　";
    background-color: var(--color4);
    width: 4px;
    height: 100%;
    z-index: 0;
}


.narrow{
    padding-bottom: 9px;
}

.fl > span[class^=flow]{/*spanのflowから始まるclass全て*/
    display: inline-block;
    width:100%;
    padding: 0.7rem 0;
    border-radius: 100px;
}

.flow_s{
    text-align: center;
    background-color: var(--color3);
    width:100%;
    height: auto;
    padding:0.7rem 0;
    margin: auto;
    border-radius: 40px;  
}
.fs_content{
    display: flex;
    margin: 0.2rem 1rem;
    padding:0.7rem;
    flex-wrap: wrap;
    justify-content: space-around;
}
.fs_action{
    flex-basis: 35%;
    flex-grow: 1;
    padding:0.4rem 0.4rem;
    margin: 0.1rem;
    text-align: center;
    font-size: 0.8em;/**/
    background-color:var(--color1);
    border-radius: 50px;
    display: flex;
    align-items: center;
    justify-content: center; 
}
.fs_middle{
    width:90%;
    padding:0.7rem 0;
    margin: auto;
    background-color: var(--main_color);
    color: var(--text_white);
    border-radius: 50px;
}



.flow_1{
    background-color: var(--color3);
}
.flow_2{
    background-color: var(--main_color);
    color: var(--text_white);
}
.flow_3{
    background-color: var(--color1);
    border: var(--color4) 2px solid;
    /*color: var(--text_white);*/
    padding: 0.6rem 0 !important;
}

/**/
.chukan_tab{
    /*display: flex;
    flex-wrap: wrap;*/
    min-height:280px;
    /*min-width: 515px;*/

    margin-top: 1rem;
    width: 100%;
    margin-inline: auto;
    /*gap:0 1px;*/
    padding:0.4rem;
    
}
/*ラジオボタン*/
.chukan_tab input{
    display: none;
}
/* タブボタン */
.chukan_tab label{
    background-color: var(--table_data);
    /*color: var(--text_white);*/
    border: var(--table_line) 2px solid;
    border-bottom: none;
    padding:0.1rem 0.5rem;
    margin: 0;
    cursor: pointer;
    text-align: center;
    font-size: 0.8rem;
    border-radius: 5px 5px 0px 0px;
}
.chukan_tab label:hover{
    background-color: var(--table_data_h);
}

/* コンテンツ非表示 */
.chukan_date{
    display: none;
    font-size: 0.8em;
    margin: 0;
}
.chukan_date table{
    width: 100%;
    margin: 0;
    border-radius: 0px 5px 5px 5px;
    font-weight: 600;
}
/* 選択されたタブ＋コンテンツ表示 */
#kobo1:checked ~ #kobo11,
#kobo2:checked ~ #kobo22,
#kobo3:checked ~ #kobo33{
    display: block;
    margin-right: 10px;
    }

.chukan_tab input:checked + label{
    background-color: var(--table_header);
    color: var(--text_white);
    font-weight: 600;
    width: 100%;
}







/*資料ダウンロード*/
.dl_area{
    /*border:var(--main_color) 1px solid;
    border-radius: 20px;
    border-left:var(--main_color) 5px solid;*/
    padding:0 1rem 3rem 1rem;
    margin:auto;
    max-width: 100%;
}
.dl_item1{
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(450px,1fr));/*400px以下になったら1単位分に分ける*/
    flex-wrap: wrap;
}
.dl_item2{
    flex:1;
    flex-basis: 50%;/*寸法*/
    justify-content: space-around;
    /*text-decoration: currentColor underline;
    text-decoration-skip-ink: none;*/
}
.dl_item2 a{
    display:flex;
    padding:10px;
    margin: 0.3rem;
    align-items: center;
    border: var(--main_color) 1.5px solid;
    /*text-decoration: none;*/
    
    box-shadow: inset 0 0 0 0 var(--color1);
    /*text-decoration: var(--text) underline;
    background:linear-gradient(to right var(--bg),#4a66553f);*/
    /*background-color:var(--bg);*/
    border-radius: 5px;/**/
    background-position: 0 0;
    background-size: 0% auto;
    transition: 0.5s ease;
}

.dl_item2 > :not(img):hover{
    /*color: var(--text_red);
    background-color: var(--color3);*/
    border: var(--text_h) 1.5px solid;
    box-shadow: inset 1400px 0 0 0 var(--color1);/*inset=内側*/
    transition: 0.5s ease-in-out;/**/
}

.koushinbi{
    display: contents;
    text-decoration:var(--text_red) underline 1px !important;/*
    background-color: var(--text_red);*/
    color:var(--text_red);
    border-radius: 5px;
    padding: 0 0.3rem 0.1rem 0.3rem;
    font-size: 0.85rem;
    font-weight: 500;
    margin:0 0.1rem;
    text-wrap: nowrap;/**/
}


.contact{
    padding: 0px 0px 20px 0px;
    /*margin: 0px auto;*/
    display:flex;
    flex-direction: column;
    text-align: center;
    align-items: center;
    background-color: var(--color4);/**/
}
.bg_gray{
    background: linear-gradient(120deg, var(--main_color) 70%, rgb(from var(--main_color) r g b /0.7) 30% );
}

.yoken{
    padding: 10px 20px 30px 40px;;
    display:grid;
    grid-template-columns: auto auto 1fr;/*1,2列目の幅をauto　3列目の幅を残りのスペース1fr(分割単位）で自動調整*/
}
.contact1{
    padding: 10px;
    display: flex;
    flex-direction: column;/*tel非公表示*/
    flex-wrap: wrap;
    gap: 1rem;
    max-width: 1300px;
    width: 80%;
    text-align: center;
    align-items: center;
    margin: auto;
    line-height: 2rem;
}
.contact2{
    padding:1rem;
    
    background-color: var(--color2);
    border-radius: 5px;
    /*flex-basis: 40%; tel公表時は外す*/
    box-sizing: border-box;/*tel非公表時*/
    width: 100%;/*tel非公表時*/
    flex-grow: 1;
    text-wrap: nowrap;
}
.contact2_2{
    display: flex;
    justify-content: center;
    align-items: center;
}
.icon_minisize{
    border: none;
    height: 20px;
    width: 25px;
    object-fit: contain;/*アスペクト比を維持したまま縮小*/
    vertical-align: center;

}
.contact3{
    display: grid;
    grid-template-columns: auto auto auto;
    
    justify-content: center;
    text-align: justify;
    
}
.flexbox_c{
    display:flex;
}
.grid2{
    display: grid;
    grid-template-columns: auto auto;
    width: fit-content;
}

.grid4{
    display: grid;
    grid-template-columns: auto auto auto auto;
    width: fit-content;
    margin: auto;
}
.grid5{
    display: grid;
    grid-template-columns: auto auto auto auto auto;
    width: fit-content;
    margin: auto;
}
.grid6{
    display: grid;
    grid-template-columns: auto auto auto auto auto auto;
    width: fit-content;
    margin: auto;
}
.justify_c{
    justify-content: center;
}
.margin_l{
    margin-left: 0;
}

@media  (max-width: 1280px) {
    html{
        scroll-padding-top: 150px;
    }
    
    .header * :not(.Lline, .web_system){
        box-sizing: border-box;
        max-width: 100%;
        width: 100%;
    }
    h1{
        margin:auto;
    }
    .menu_sub{
        flex-direction: column;
        width: 100%;
        justify-content: space-between;
        align-items: start;
        margin: auto;
    }
    .mini_B{
        display: flex;
        flex-direction:column;/*row-reverse;*/
        justify-content: space-between;
        width: 100%;
        align-items: flex-end;
    }
    .menu{
        font-size: 0.95em;
        flex: 1;
        width: 100%;
        align-items: center;
        /*justify-content: flex-start;*/
    }
    .menu li{
        text-wrap: wrap;
        margin: 0;
        /*width: 100%;*/
    }
    .Lline{
        padding:0 1px 0 0;
    }
    .grant_title{
        font-size: 0.7em;
        margin: 0;
    }

    .menu_sub_r{
        width: 100%;
         flex:1;
         justify-content: flex-end;
         text-wrap: nowrap;
         margin: auto;
    }
    .header_grant_title{
        justify-self: start;/*左寄せ*/
        
        margin: auto 0;
    }
   

    .qa_mark,.web_system{
        justify-self: end;/*右寄せ*/
    }
    .qa{
        /*translate: -2rem 0.2rem;横に1.5、縦に0*/
        font-size: 0.7em;
        text-wrap: wrap;
    }
    .web_system{
        font-size:0.8em;
        padding:  2px 10px;
        margin: 0;
    }

    .grant_year{
        font-size: 0.3em;
    }
    .menu_sub,.body, .menu ,.section{/*, .main_contents*/
        width: 95%;
    }
    .menu{
        margin:0.4rem 0 0 0;
    }
    /*.main_contents{
        padding: 6.8rem 0 0 0;;
    }*/
    .fl{
        font-size: 0.8em;
        
    }
    .fl > span[class^=flow]{
        padding: 0.8em 0.2em;
    }
    .fs_action{
        width: 100%;
    }
    
    .flexbox_c{
    flex-direction: column-reverse;
    }
    
    .footer_style{
    font-size: 0.8em;
    }
    .footer{
        height: 200px;
    }
    .popup{/*ダイアログの画像*/
        max-width: 90vw;
    }
}
@media screen and (max-width: 767px) {
    
    .return{
        width: 80px;
        right:0rem;/*右から0*/
    }

    .header_grant_title{
        text-align: start;
        font-size: 1em;
        line-height: 1em;
    }
     .header_grant_title_name{
        line-height: 1.5em;
        font-size: 1em;
    }
    .break::before{
        display: inline;
    }

    .grant_title{
        font-size: 0.5em;
    }
    .grant_year{
        font-size: 0.3em;
    }
    .menu_sub.body, .menu_sub, .main_contents, .section, .contact1{
        width: 100%;
        box-sizing: border-box; /* パディングやボーダーを幅に含める */
    }
    
    .menu ,menu_button:any-link,.menu_button:hover,.pickup{
        height: 44px;
    }

    .yoken{
    grid-template-columns: 1fr auto 1fr;/*1,2列目の幅をauto　3列目の幅を残りのスペース1fr(分割単位）で自動調整*/
    }

    .footer{
        height: 300px;
    }
    .popup{/*ダイアログの画像*/
        max-width: 100vw;
    }
}




/*アコーディオンメニュー*/
.g_chkbox{
    display: none;
}
.g_label{
    display: block;
    padding: 1rem 1rem 1rem 3rem;
    font-weight: 600;
    cursor: pointer;
    position: relative;
}
.g_label::before{
    content: "＋";
    margin-left: 1rem;
    box-sizing: border-box;
    position:absolute;
    left: 0;
    transition: transform 0.5s ease;
    transition: 1.5s ease;
}
.g_chkbox:checked +.g_label::before{
    content: "－";
    /*transform: rotate(180deg);*/
}

.g_content{
    overflow: hidden;
    max-height: 0;
    transition: 0.8s ease;
}
.g_chkbox:checked + .g_label + .g_content{
    max-height: 600px;
}