@charset "utf-8";

/**********************************************/
/* A-PLAT 改修版 */
/* 地域の適応　計画策定マニュアル /
/**********************************************/


/*マニュアル策定 フロー*/
.manual_box{
	border:10px solid #f0f0f0;
	margin-bottom: 30px;
	padding: 20px;
}
.manual_box p{
	text-align: left;
	font-size: 1.2em;
}
.manual_flow{
	text-align: center;
	padding: 10px 10px 0 0;
}
.manual_flow p{
	/*text-align: center;*/
	margin: 0 auto 10px;
}
.manual_flow img{
	max-width: 800px;
}
.manual_flow img area:hover{
	opacity: 0.6;
}
img[usemap]{
  max-width: 100%;
  height: auto;
}
/*マニュアル一覧の表*/
.plan_manual{
	margin-top: 50px;
}
.plan_manual p{
	margin-bottom: 5px;
}
.tbl-manual{
	margin-top: 0px;
}
.tbl-manual th{
	text-align: center;
	background-color: #f7f7f7;
	border:1px solid #ddd;
	color:#505050;
}
.tbl-manual td{
	padding: 0.75em;
}
.tbl-manual .btn_style03{
	background-color: #265599;
	font-size: 1.6rem;
	padding: 0.5em 1.25em;
	
}

/*.tbl-manual tr img{
    max-width: 60px;
}*/
.upmk{
	font-size: 0.7em;
    color: red;
    margin-left: 10px;
}
/*.icon_word{
	margin-left: 5px;
	color: #4169e1;
}*/
.icon_excel{
	margin-left: 5px;
	color: #227447!important;
}
.icon_word{
	margin-left: 5px;
	color: #4169e1!important;
}
.icon_pdf{
	margin-left: 5px;
	color: #FF2217!important;
}

.manual_support_tool p{
	margin-bottom: 0;
}
.manual_support_tool_item p{
	text-align: center;
}

.w30{
	width: 30%;
}
.w70{
	width: 70%;
}

    .manual-container {
	border:10px solid #f0f0f0;
	margin-bottom: 30px;
	padding: 20px;
		line-height: 1.2;
    }
    .manual-container a::after {
        display: none !important;
        content: none !important;
    }

    /* 共通ボックススタイル（リンク化対応） */
    .manual-box {
        display: block; /* aタグをブロック要素にするため追加 */
        color: white;
        text-align: center;
        padding: 10px;
        font-weight: bold;
        margin-bottom: 10px;
        text-decoration: none; /* リンクの下線を消す */
        transition: opacity 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
    }
    
    /* ホバー時のアクション */
    a.manual-box:hover {
        opacity: 0.85;
        transform: translateY(-2px);
        box-shadow: 0 4px 8px rgba(0,0,0,0.15);
        color: white; /* 文字色を白に固定 */
    }

    .manual-bg-green { background-color: #7ab51d; }
    .manual-bg-orange { background-color: #d96d22; }
    .manual-bg-gray { background-color: #595959; }
    .manual-bg-yellow { background-color: #ddc542; color: #fff; }
    .manual-bg-darkblue { background-color: #1a4478; }
    .manual-text-green { color: #7ab51d; font-weight: bold; }
    .manual-text-orange { color: #d96d22; font-weight: bold; }

    /* 上部セクション */
    .top-section {
        display: flex;
        justify-content: space-between;
        margin-bottom: 5px; /* 余白を20pxから5pxに縮小 */
        align-items: flex-end;
    }
    .top-target {
        width: 45%;
        text-align: center;
    }
    .top-target p {
        margin: 0 0 5px 0; /* テキスト下の余白も縮小 */
    }

    /* フロー部分 */
    .flow-section {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-bottom: 40px;
    }
    /* 説明文〜作成支援ツール：メイン列のみ中央／右列はメイン右隣（スマホは flex に戻す） */
    .flow-section-two-col {
        position: relative;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
    .flow-section-main {
        width: 300px;
        max-width: min(100%, 300px);
        margin-left: auto;
        margin-right: auto;
        min-width: 0;
        box-sizing: border-box;
    }
    .flow-section-side {
        position: absolute;
        left: calc(50% + 150px + 16px);
        top: 50%;
        transform: translateY(-50%);
        width: auto;
        min-width: 0;
        max-width: 320px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        box-sizing: border-box;
    }
    .flow-section-side .side-elements {
        position: static;
        transform: none;
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 10px;
        align-items: center;
        width: 100%;
        max-width: 100%;
    }
    .flow-section-side .document-stack {
        min-width: 0;
        padding-left: 0;
        padding-right: 0;
    }
    .flow-section-main .tool-desc {
        width: 100%;
        max-width: 350px;
        box-sizing: border-box;
    }
    /* メイン列内の灰色矢印2本（下向き・上向き）を中央寄せ */
    .flow-section-main .arrow-down.gray {
        margin-top: 5px;
        margin-bottom: 10px;
        margin-left: auto;
        margin-right: auto;
    }
    .flow-section-main .arrow-up.gray {
        margin-top: 10px;
        margin-bottom: 10px;
        margin-left: auto;
        margin-right: auto;
    }
    .flow-desc {
        text-align: center;
        margin-bottom: 10px;
        font-weight: bold;
    }
    .arrow-down {
        width: 0;
        height: 0;
        border-left: 15px solid transparent;
        border-right: 15px solid transparent;
        border-top: 20px solid #7ab51d;
        margin: 5px auto 10px; /* 上余白を調整 */
    }
    .arrow-down.orange { border-top-color: #d96d22; }
    .arrow-down.gray { border-top-color: #595959; }
    .arrow-up.gray {
        width: 0;
        height: 0;
        border-left: 15px solid transparent;
        border-right: 15px solid transparent;
        border-bottom: 20px solid #595959;
        margin: 10px auto;
    }
    
    .flow-arrows-top {
        display: flex;
        width: 300px;
        justify-content: space-between;
        margin-bottom: 5px;
    }

    /* 中央の縦並びを揃えるためのコンテナ */
    .flow-box {
        width: 300px;
        margin: 0 auto;
        position: relative;
    }
    
    /* 右カラム内：矢印＋素案 */
    .side-elements {
        display: flex;
        align-items: center;
        width: max-content;
        max-width: 100%;
        box-sizing: border-box;
    }
    
    /* 単線3つの矢印スタイル */
    .yellow-arrows {
        color: #ddc542;
        font-size: 36px;
        font-weight: bold;
        margin: 0;
        letter-spacing: -5px;
        font-family: sans-serif;
        flex-shrink: 0;
    }
    .yellow-arrows__single {
        display: none;
    }

    /* 書類スタックの表現 */
    .document-stack {
        border: 2px solid #ddc542;
        background: white;
        padding: 20px 10px;
        text-align: center;
        font-weight: bold;
        width: 120px;
        position: relative;
    }
    .document-stack::before,
    .document-stack::after {
        content: "";
        position: absolute;
        border: 2px solid #ddc542;
        background: white;
        width: 100%;
        height: 100%;
        top: -8px;
        left: 6px;
        z-index: -1;
    }
    .document-stack::after {
        top: -16px;
        left: 12px;
        z-index: -2;
    }

    .tool-desc {
        text-align: center;
        width: 350px;
        margin: 10px auto 0;
        font-size: 0.9em;
    }

    /* 中間・下部情報セクション */
    .info-header {
        color: #1a4478;
        font-weight: bold;
        font-size: 1.1em;
        border-bottom: 1px solid #1a4478;
        padding-bottom: 5px;
        margin-bottom: 20px;
    }
    .info-sub {
        font-size: 0.9em;
        color: #666;
        margin-bottom: 5px;
    }
    .manual-two-col {
        display: flex;
        justify-content: space-between;
        gap: 20px;
        margin-bottom: 30px;
    }
    /* 同一行の manual-box の高さを揃える（2行タイトルと1行タイトル） */
    .manual-two-col-equal-boxes .manual-box {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        min-height: 3.5em;
    }
    .manual-col {
        width: 48%;
    }
    .target-text {
        font-size: 0.85em;
        margin-bottom: 5px;
        font-weight: bold;
    }
    
    .manual-list-style {
        list-style-type: none;
        padding: 0;
        font-size: 0.85em;
    }
    .manual-list-style li {
        display: flex;
        margin-bottom: 8px;
    }
    .manual-list-style li span {
        white-space: nowrap;
        margin-right: 10px;
    }
    
    .desc-text {
        font-size: 0.85em;
        margin-top: 10px;
    }

    /* サムネイルのプレースホルダー */
    .thumbnail-container {
        display: flex;
        gap: 10px;
        margin-top: 15px;
    }
    .manual-thumb {
        width: 60px;
        height: 80px;
        background-color: #f0f0f0;
        border: 1px solid #ccc;
        box-shadow: 1px 1px 3px rgba(0,0,0,0.1);
    }
    .manual-thumb-large {
        width: 100%;
        height: 150px;
        background-color: #f0f0f0;
        border: 1px solid #ccc;
        box-shadow: 1px 1px 3px rgba(0,0,0,0.1);
        margin-top: 15px;
    }


/****************************/
/****************************/
/*レスポンシブ*/
/****************************/
@media (min-width: 480px) {

}

@media (min-width: 768px) {
}

@media (min-width: 920px) {
}

@media (min-width: 1400px) {
}
@media (max-width: 1200px) {
    .yellow-arrows__triple {
        display: none;
    }
    .yellow-arrows__single {
        display: inline;
    }
}
@media (max-width: 768px) {
    /* フロー（情報整理〜作成支援ツール）：中央ではなく左寄せ */
    .flow-section {
        align-items: flex-start;
    }
    /* スマホ：左60%／右40%の2カラム（メインのみ中央の絶対配置を解除） */
    .flow-section-two-col {
        display: flex;
        flex-direction: row;
        align-items: stretch;
        gap: 6px;
    }
    .flow-section-main {
        position: relative;
        width: 60%;
        flex: 0 0 60%;
        max-width: 60%;
        min-width: 0;
        margin-left: 0;
        margin-right: 0;
    }
    .flow-section-side {
        position: static;
        left: auto;
        top: auto;
        transform: none;
        width: 40%;
        flex: 0 0 40%;
        max-width: 40%;
        min-width: 0;
        align-items: center;
        justify-content: flex-start;
    }
    .flow-section-main .flow-box {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        margin-left: auto;
        margin-right: auto;
    }
    .flow-desc {
        text-align: left;
    }
    /* 導入編／手順編下の緑・オレンジ矢印：画面幅中央 */
    .flow-arrows-top {
        margin-left: auto;
        margin-right: auto;
    }
    .flow-arrows-top .arrow-down,
    .flow-arrows-top .arrow-down.orange {
        margin-top: 5px;
        margin-bottom: 10px;
        margin-left: auto;
        margin-right: auto;
    }
    .flow-box {
        margin-left: 0;
        margin-right: auto;
    }
    /* メイン列内の灰色矢印：中央 */
    .flow-section-main .arrow-down.gray {
        margin-top: 5px;
        margin-bottom: 10px;
        margin-left: auto;
        margin-right: auto;
    }
    .flow-section-main .arrow-up.gray {
        margin-top: 10px;
        margin-bottom: 10px;
        margin-left: auto;
        margin-right: auto;
    }
    .tool-desc {
        text-align: left;
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
        box-sizing: border-box;
    }

    /* 右40%列内：2カラム維持＋文字縮小（矢印1文字は max-width:1200px） */
    .flow-section-side .side-elements {
        grid-template-columns: auto 1fr;
        gap: 4px;
        align-items: center;
        box-sizing: border-box;
    }
    .yellow-arrows {
        font-size: 20px;
        margin: 0;
        letter-spacing: 0;
    }
    .document-stack {
        font-size: 0.7em;
        min-width: 0;
        max-width: 100%;
        padding: 10px 6px;
        line-height: 1.25;
    }
    .flow-section-side .document-stack {
        padding-left: 0;
        padding-right: 0;
    }
    .document-stack::before {
        top: -5px;
        left: 4px;
    }
    .document-stack::after {
        top: -10px;
        left: 8px;
    }

    /* 資料集／庁内コミュニケーション・適応オプション等：スマホは1カラム */
    .manual-container .manual-two-col {
        flex-direction: column;
        align-items: stretch;
    }
    .manual-container .manual-col {
        width: 100%;
        max-width: 100%;
    }
}

@media (max-width: 920px) {
	.tbl-manual th {
		display: none;
	}
}