@charset "UTF-8";
:root {
	--main-color: #008838;
	--sub-color: #f3fbf6;
	--koim: #9cc2a0;
	--usum: #93ee97;
	--blue: #005da2;
	--orange: #fd7e14;
	--yellow: #ffc107;
	--green: #198754;
	--teal: #20c997;
	--cyan: #0dcaf0;
	--black: #000;
	--white: #fff;
	--gray: #6c757d;
	--gray-dark: #343a40;
	--gray-100: var(--sub-color);
	--gray-200: #e9ecef;
	--f22: font-size:22px;
	--f20: font-size:20px;
	--f18: font-size:18px;
	--f16: font-size:16px;
	--f14: font-size:14px;
	--f12: font-size:12px;
}
:root {
  scroll-padding-top: 150px; /* ヘッダーの高さ分、位置をずらす */
  scroll-behavior: smooth; /* スクロールを滑らかにする */
}

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: "Noto Sans JP",'Hiragino Sans', 'Yu Gothic', 'Meiryo', sans-serif;
            line-height: 1.6;
            color: #333;
            overflow-x: auto;
            min-width: 1260px;
            font-size: 16px;
        }

        .container {
            width: 1260px;
            min-width: 1260px;
            margin: 0 auto;
        }


        /*フォント設定*/
        p {
            font-family: "Noto Sans JP", sans-serif;
            /*font-optical-sizing: auto;
            font-weight: <weight>;*/
            font-size: 16px;
        }

        h1 {
            font-family: "Zen Kaku Gothic New", sans-serif;
            font-weight: 700;
            font-size: 25px;
        }
        
        h2 {
            font-family: "Zen Kaku Gothic New", sans-serif;
            font-weight: 700;
            font-size: 28px;
        }

        h3 {
            font-family: "Noto Sans JP", sans-serif;
            font-weight: 700;
            font-size: 22px;
        }

        h4 {
            font-family: "Noto Sans JP", sans-serif;
            font-weight: 700;
            font-size: 20px;
        }
        .taR{text-align:right;}

        /* Header */
		header {
		    /* 画面トップに固定 */
		    position: fixed; 
		    /* 上端に配置 */
		    top: 0; 
		    /* 画面幅全体に広げる */
		    width: 100%; 
		    /* 他のコンテンツの上に表示させる（任意だが推奨） */
		    z-index: 100; 
		    /* 背景色を指定して、下のコンテンツが透けないようにする（任意だが推奨） */
		    background-color: #fff; 
		    min-width: 1260px;
		    margin: 0 auto;
		}
        .header {
            background: #fff;
            color: var(--main-color);
            padding: 20px 0;
            display: flex;
            align-items: center;
            justify-content: space-between;
            width: 1200px;
            min-width: 1200px;
            margin: 0 auto;
        }

        .header-logo {
            flex: 1;
            display: flex;
            align-items: center;
            max-width: 237px;
        }

        .logo {
            background: var(--main-color);
            color: white;
            padding: 8px 20px;
            border-radius: 20px;
            font-weight: bold;
            font-size: 14px;
        }

        .header-title {
            flex: 2;
            text-align: left;
        }

        .header h1 {
            margin: 0;
            color: var(--main-color);
        }

        .header-nav {
            flex: 1;
            display: inline;
            align-items: center;
            text-align: right;
        }
        .header-nav .w450{
		    width: 450px;
		}
        .header-nav .w450 a{
		    text-decoration-line: none;
		    color: #8a8a8a;
		    font-size: 14px;
		}

        .header-link {
            color: #000000;
            text-decoration: none;
            font-size: 14px;
            align-items: center;
            margin-left: 20px;
            transition: color 0.3s;
		    margin-right: 0;
        }

        .header-link:hover {
            color: var(--main-color);
        }

        .header-link::before {
            content: '▶ ';
            margin-right: 5px;
            color: var(--main-color);
        }
		nav {
		    background: var(--sub-color);
		    justify-content: center;
		    display: flex;
		    padding: 5px 0;
		    width: 100%;
		    min-width: 1200px;
		    margin: 0 auto;
		}
        .nav-tabs {
            display: flex;
            background: var(--sub-color);
            flex-wrap: nowrap;
            width: 1200px;
            min-width: 1200px;
        }

        .nav-tab {
            flex: 1;
            padding: 0px 5px 5px 5px;
            text-align: center;
            background: var(--sub-color);
            cursor: pointer;
/*            transition: background 0.3s;*/
            font-size: 14px;
            white-space: nowrap;
            min-width: 120px;
            margin: auto;
            height: 55px;
            color: var(--main-color);
		    border-left: 1px solid var(--main-color);
        }
        .nav-tab a {
		    color: var(--main-color);
		    text-decoration-line: none;
            padding: 17px 0 17px 0;
		    width: 100%;
		    display: block;
		}
        
		.nav-tab:last-child {
		    border-right: 1px solid var(--main-color);
		}

        

        .nav-tab:hover {
            background-color: var(--main-color);
            color: var(--sub-color);
        }

        .nav-tab:hover a {
            color: var(--sub-color);
        }

        /* Main Content */
        .main-content {
            padding: 0px 0 60px;
            width: 1200px;
            min-width: 1200px;
            box-sizing: border-box;
		    margin: 0 auto;
        }
        #home .main-content {
		    padding: 36px 0 120px;
		}

        .hero-section {
			background: var(--sub-color);
            margin-bottom: 0px;
            padding: 30px 40px;
            position: relative;
            overflow: hidden;
            border: 2px solid var(--main-color);
        }

        .hero-header {
            padding: 40px;
            display: flex;
            align-items: center;
            position: relative;
            margin-bottom: 30px;
        }

        .hero-header::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: url('../img/bg.png') no-repeat center right;
            background-size: cover;
            z-index: 1;
        }

        .hero-content {
            width: 700px;
            z-index: 2;
            position: relative;
        }

        .hero-image {
            width: 30%;
            z-index: 2;
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .hero-image::after {
            content: '📈';
            font-size: 80px;
            opacity: 0.7;
            filter: drop-shadow(0 4px 8px rgba(0,0,0,0.1));
        }

        .hero-title {
            color: var(--blue);
            font-size: 28px;
            font-weight: bold;
            margin-bottom: 1rem;
		    text-align: center;
        }

        .hero-body {
            padding: 30px 40px;
        }

        .hero-subtitle {
            border-radius: 13px;
            margin-bottom: 25px;
            display: flex;
            overflow: hidden;
            border: 1px solid var(--main-color);
        }

        .notice-label {
            background: var(--main-color);
            color: white;
            padding: 20px;
            width: 225px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: bold;
            font-size: 20px;
        }

        .notice-content {
            padding: 20px;
            width: auto;
            padding-left: 2em;
        }
        .notice-content p {
		    line-height: 2.2em;
		}
        .notice-content p img{
		    height: 1.7em;
		    vertical-align: middle;
		}

        .hero-subtitle h3 {
            color: var(--main-color);
            margin-bottom: 10px;
            display: none;
        }

        /* Hero Buttons */
        .hero-buttons {
            display: flex;
            gap: 35px;
            margin-top: 20px;
            justify-content: center;
            flex-wrap: wrap;
        }

        .hero-btn {
            background: var(--main-color);
            color: white;
            border: none;
            padding: 16px 24px;
		    border-radius: 10px;
            font-size: 18px;
            font-weight: bold;
            cursor: pointer;
            transition: all 0.3s;
            min-width: 250px;
        }
        .hero-btn a {
		    background: var(--main-color);
		    color: white;
		    text-decoration-line: none;
		}
        .service-card h4 a {
		    color: var(--main-color);
		    text-decoration-line: none;
		}

        .hero-btn:hover {
            background: #45a049;
            transform: translateY(-2px);
            box-shadow: 0 4px 8px rgba(0,0,0,0.2);
        }

        /* Company Info Section */
        .company-section {
            background: var(--sub-color);
            padding: 30px;
            border: 2px solid var(--main-color);
            margin-bottom: 30px;
        }

        .company-header {
            display: flex;
            align-items: center;
            overflow: hidden;
        }

        .company-icon {
            width: 225px;
            display: flex;
            align-items: center;
            justify-content: flex-end;
            padding: 20px 0;
            padding-top: 0;
        }
        .company-icon .news-icon {
		    margin-right: 0;
		    width: 70px;
		}

        .company-info {
            width: auto;
            padding: 20px;
            padding-top: 0;
        }

        .feature-list {
            list-style: none;
            padding: 0;
        }

        .feature-item {
            display: flex;
            align-items: center;
            margin-bottom: 12px;
            padding: 10px;
            background: white;
            border-radius: 5px;
            border-left: 3px solid var(--main-color);
        }

        .feature-item::before {
            content: '✓';
            background: var(--main-color);
            color: white;
            border-radius: 50%;
            width: 20px;
            height: 20px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-right: 15px;
            font-size: 12px;
            flex-shrink: 0;
        }

        /* Action Buttons */
        .action-buttons {
            display: flex;
            gap: 15px;
            margin: 30px 0;
            justify-content: center;
            flex-wrap: wrap;
        }

        .btn {
            padding: 15px 30px;
            border: none;
            border-radius: 5px;
            font-size: 16px;
            cursor: pointer;
            transition: all 0.3s;
            text-decoration: none;
            display: inline-block;
            text-align: center;
            font-weight: bold;
        }

        .btn-primary {
            background: var(--main-color);
            color: white;
        }

        .btn-primary:hover {
            background: #45a049;
            transform: translateY(-2px);
        }

        .btn-secondary {
            background: var(--main-color);
            color: white;
        }

        .btn-secondary:hover {
            background: #1B5E20;
            transform: translateY(-2px);
        }

        /* Service Icons */
        .services {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
            gap: 20px;
            width: 1200px;
		    min-width: 1200px;
		    margin: 0 auto;
		   /*padding: 0 0 26px;*/
        }
        
        .service-card {
            background: var(--main-color);
            padding: 20px 30px;
		    border: 2px solid var(--main-color);
		    transition: all 0.3s;
		    cursor: pointer;
		    display: grid;
		    align-items: center;
		    text-align: center;
		    border-radius: 10px;
		    justify-content: center;
        }

        .service-card:hover {
            transform: translateY(-5px);
        }

        .service-icon {
            width: 50px;
            height: 50px;
            margin-right: 15px;
            background: #ffffff;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 24px;
            flex-shrink: 0;
        }

        .service-text {
            flex: 1;
        }

        /*.service-card h4 {
            margin-bottom: 0;
        }*/

        .service-card p {
            margin: 0;
        }
        .news-container {
            background-color: var(--sub-color);
            border: 2px solid var(--main-color);
            padding: 24px;
            margin: 0 auto;
            position: relative;
            padding-top: 14px;
        }
        
        .news-header {
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 14px;
        }
        
        .news-icon {
            width: 62.5px;
		    margin-right: 12px;
		    background: #ffffff;
		    border-radius: 50%;
		    text-align: center;
            margin-right: 12px;
        }
        .news-header .news-icon {
            height: 3.5em;
            width: 3.5em;
		    background: #ffffff;
		    border-radius: 50%;
		    text-align: center;
            margin-right: 0;
        }
        .news-header .news-icon img{
		    height: 3em;
		}

        .services .news-icon {
	        height: 62.5px;
	    }
        .news-title {
            margin: 0;
            color: #333;
            font-weight: bold;
        }
        
        .news-links {
            margin-bottom: 30px;
        }
        
        .news-link {
            display: block;
            color: var(--blue);
            margin-bottom: 8px;
            font-size: 16px;
            line-height: 1.6;
        }
        .news-link a {
            text-decoration: underline;
        }
        .news-link:hover {
            color: #0056b3;
        }
        
        .news-link::before {
            content: "＞　";
            color: var(--blue-color);
        }
        
        .view-all {
            position: absolute;
            bottom: 20px;
            right: 24px;
            text-decoration: underline;
        }
        
        .view-all:hover {
            color: #0056b3;
        }
        .sipo{float:right;color:#000000;}

        /* Footer */
        footer {
		    border-top: 2px solid var(--main-color);
        }

       .footer-links {
            margin-bottom: 10px;
        }

        .footer-links a {
            color: #A5D6A7;
            text-decoration: none;
            margin: 0 10px;
        }

        .footer-links a:hover {
            text-decoration: underline;
        }

        /* 固定ボタン群 */
        .fixed-buttons {
            position: fixed;
            bottom: 0;
            left: 0;
            right: 0;
            z-index: 999;
            transition: transform 0.3s ease;
        }

        .buttons-container {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            max-width: 1200px;
            margin: 0 auto;
            gap: 1px;
            background: #e0e0e0;
        }

        .fixed-button {
            background: #4CAF50;
            color: white;
            border: none;
            padding: 15px 10px;
            font-size: 14px;
            font-weight: bold;
            cursor: pointer;
            transition: background-color 0.3s ease, transform 0.2s ease;
            text-align: center;
            min-height: 60px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .fixed-button:hover {
            background: #45a049;
            transform: translateY(-2px);
        }

        .fixed-button:active {
            transform: translateY(0);
        }

        /* フッター */
        .footer {
            background: white;
            color: black;
            padding: 10px 0px 20px;
            text-align: center;
            position: relative;
            margin-top: 2em;
        }


        .footer-content {
            width: 1200px;
		    min-width: 1200px;
		    margin: 0 auto;
		    padding: 20px;
		    text-align: left;
		    font-size: 14px;
        }

        .footer-links {
            display: flex;
            justify-content: center;
            gap: 30px;
            margin-bottom: 20px;
            flex-wrap: wrap;
        }

        .footer-link {
            color: #ccc;
            text-decoration: none;
            font-size: 14px;
            transition: color 0.3s ease;
        }

        .footer-link:hover {
            color: white;
        }

        .copyright {
            font-size: 12px;
        }
        /* ビジネス成長見出しセクション */
        .growth-section {
            margin: 0 auto 30px auto;
            display: flex;
            align-items: center;
            justify-content: space-between;
            position: relative;
            overflow: hidden;
            height: 130px;
        }
        
        .growth-content {
            flex: 1;
            z-index: 2;
        }
        
        .growth-title {
            font-size: 28px;
            font-weight: bold;
            color: var(--main-color);
            margin: 0;
            line-height: 1.3;
        }
        
        .growth-subtitle {
            font-size: 18px;
            color: #388e3c;
            margin: 0;
            font-weight: 500;
        }
        
        .growth-image {
            position: absolute;
		    right: 0;
		    top: 41%;
		    transform: translateY(-50%);
		    width: 230px;
		    height: 150px;
		    background-image: url(../img/small_bg.png);
		    background-size: contain;
		    background-repeat: no-repeat;
		    background-position: center;
        }
        .page-header {
		    display: flex;
		    align-items: left;
		    justify-content: left;
		    margin-bottom: 20px;
		    background: var(--sub-color);
		    padding: 10px 16px 0;
		    border-bottom: 4px solid var(--main-color);
		    margin: 50px 0 30px;
		}
		.page-title {
		    margin: 0;
		    font-size: 22px;
		    font-weight: bold;
		}
		.title-icon {
		    width: 40px;
		    height: 40px;
		    margin-right: 20px;
		    background-image: url(../img/title.png);
		    background-size: contain;
		    background-repeat: no-repeat;
		    background-position: center;
		}
		table {width: 100%;}
		.comparison-table {
            width: 100%;
            max-width: 1200px;
            margin: 0 auto;
            border-collapse: separate;
            border-spacing: 8px;
            background-color: transparent;
            box-shadow: none;
            text-align: center;
        }
        
        .header-row td {
            text-align: center;
            color: white;
            font-weight: bold;
            font-size: 16px;
            padding: 12px 8px;
            border: 1px solid #dee2e6;
        }
        
        .header-a {
            background-color: #6c757d;
        }
        
        .header-b {
            background-color: #0d47a1;
        }
        
        .header-special {
            background-color: #1a1a1a;
        }
        
        .category-cell {
            background-color: white;
            border: 2px solid #dc3545;
            color: #dc3545;
            font-weight: bold;
            text-align: center;
            padding: 15px 10px;
            font-size: 14px;
            width: 120px;
            vertical-align: middle;
            box-shadow: 0 2px 4px rgba(0,0,0,0.1);
        }
        
        .content-cell {
            padding: 15px 12px;
            border: 1px solid #dee2e6;
            line-height: 1.4;
            vertical-align: middle;
            background-color: white;
            box-shadow: 0 2px 4px rgba(0,0,0,0.1);
        }
        
        .content-a {
            background-color: #e9ecef;
        }
        
        .content-b {
            background-color: #cce7ff;
        }
        
        .content-special {
            background-color: #b3ccff;
        }
        
        .note {
            font-size: 11px;
            color: #666;
            margin-top: 5px;
        }
        
        .limit-text {
            margin-bottom: 8px;
            font-weight: bold;
        }
        
        .detail-text {
            font-size: 12px;
            color: #333;
            margin: 20px 0 10px;
        }
                .arrow-table {
            border-collapse: separate;
            border-spacing: 0;
        }
        
        .arrow-cell {
            position: relative;
            width: 80px;
            height: 300px;
            color: black;
            font-weight: bold;
            font-size: 20px;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            writing-mode: vertical-rl;
            text-orientation: upright;
            letter-spacing: 0.3em;
            padding: 20px 0;
            box-sizing: border-box;
            margin-bottom: 0;
        }
        
        .arrow-cell::after {
            content: '';
            position: absolute;
            left: 50%;
            transform: translateX(-50%);
            width: 0;
            height: 0;
            border-left: 30px solid transparent;
            border-right: 30px solid transparent;
            border-top-width: 15px;
            bottom: 0px;
            z-index: 2;
        }
        .arrow {
            position: relative;
            font-weight: bold;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            writing-mode: vertical-rl;
            text-orientation: upright;
            letter-spacing: 0.3em;
            padding: 20px 0;
            box-sizing: border-box;
            margin-bottom: 0;
        }
        .arrow::after {
            content: '';
            position: absolute;
            left: 50%;
            transform: translateX(-50%);
            width: 0;
            height: 0;
            border-left: 29px solid transparent;
            border-right: 28px solid transparent;
            border-top-width: 30px !important;
            bottom: 0px;
            z-index: 2;
        }

        .pink-arrow::after {
            bottom: 0px;
        }
        
        .blue-arrow::after {
            bottom: 15px;
        }
        
        .arrow-cell:not(:last-child) {
            margin-bottom: -20px;
        }
        
        td.pink-arrow {
	        border: 1px solid #E6A4C4;
            background-color: #E6A4C4;
            width: 56px;
        }
        
        .pink-arrow::after {
            border-top: 15px solid #E6A4C4;
            bottom: -30px;
        }
        
        td.blue-arrow {
	        border: 1px solid #6B9BD2;
            background-color: #6B9BD2;
        }
        
        .blue-arrow::after {
            border-top: 15px solid #6B9BD2;
            bottom: -31px;
        }
        .btnPt02 {
		    -webkit-appearance: none;
		    -moz-appearance: none;
		    appearance: none;
		    background: var(--main-color);
		    border-radius: 6px;
		    -moz-border-radius: 6px;
		    -webkit-border-radius: 6px;
		    box-sizing: border-box;
		    color: #FFFFFF !important;
		    cursor: pointer;
		    display: inline-block;
		    font-weight: bold;
		    padding: 8px 16px;
		    text-decoration: none;
		    -webkit-transition: background-color 0.3s ease 0s;
		    transition: background-color 0.3s ease 0s;
		}
		.cha{
		    background: #5d5f5e;
		    cursor: none;
		}
		.btn02::before {
		    content: "▶ ";
		    margin-right: 4px;
		}
		.btn03 {
		    -webkit-appearance: none;
		    -moz-appearance: none;
		    appearance: none;
		    background: var(--sub-color);
		    border-radius: 6px;
		    -moz-border-radius: 6px;
		    -webkit-border-radius: 6px;
		    box-sizing: border-box;
		    color: #000;
		    cursor: pointer;
		    display: inline-block;
		    font-weight: normal;
		    padding: 8px 16px;
		    text-decoration: none;
		    -webkit-transition: background-color 0.3s ease 0s;
		    transition: background-color 0.3s ease 0s;
		    border: 1px solid #9f9f9f;
		}
		.btnPt02::after,.btn03::after {
		    content: " ＞";
		    margin-left: 4px;
		}
		.btn02::after,.arrow-none::after {
		    content: "";
		}
		.explanation-cell {
		    background-color: white;
		    border: 2px solid #000000;
		    text-align: center;
		    padding: 15px 10px;
		    font-size: 14px;
		    width: 120px;
		    vertical-align: middle;
		    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
		}
		.flow-container {
            padding: 30px;
        }
        
        .flow-row {
            display: flex;
            align-items: center;
            margin-bottom: 20px;
        }
        
        .flow-row:last-child {
            margin-bottom: 0;
        }
        
        .box {
            padding: 20px 30px;
            font-weight: bold;
            font-size: 16px;
            text-align: center;
            min-width: 120px;
            position: relative;
            border: 2px solid #333;
        }
        
        .loss-box {
            background-color: #D97654;
            color: white;
        }
        
        .profit-box {
            background-color: #7FB069;
            color: white;
        }
        
        .arrow2 {
            width: 0;
            height: 0;
            border-top: 30px solid transparent;
            border-bottom: 30px solid transparent;
            border-left: 30px solid #333;
            margin: 0 20px;
        }
        
        .result-box {
            flex: 1;
            padding: 20px;
            font-size: 14px;
            line-height: 1.6;
            border: 2px solid #333;
        }
        
        .loss-result {
            background-color: #FFE8D6;
        }
        
        .profit-result {
            background-color: #E8F5E9;
        }
        
        .small-text {
            font-size: 12px;
            margin-top: 5px;
            color: #666;
        }
        .hPT03 {
		    color: var(--main-color);
		    font-size: 1.2em;
		    font-weight: bold;
		    line-height: 1.4;
		    margin: 50px 0 15px;
		}
		.hPT03 >a {
		    color: var(--main-color) !important;
		}
		div.box-thick {
		    border: 1px dashed var(--main-color);
		    padding: 25px;
		    margin-top: 30px;
		}
		.mB20 {
		    margin-bottom: 20px !important;
		}
		.cautionBox01 {
		    border: 3px solid var(--koim);
		    margin: 15px 0;
		    padding: 4px 16px;
		}
		.mT40 {
		    margin-top: 40px !important;
		}
		.cautionBox01 .title01 {
		    background: none repeat scroll 0 0 var(--koim);
		    color: #FFFFFF;
		    font-weight: bold;
		    margin-bottom: 10px;
		    padding: 10px 2px;
		    text-align: center;
		}
		.cautionBox01 .text01 {
		    margin-bottom: 5px;
		    padding: 0 10px;
		}
		.bgPT01, table.thAllPT01 th {
			background: var(--sub-color);
		}
		table.normalTable01 th, table.normalTable01 td {
		    border: 1px solid #959595;
		    padding: 5px 10px;
		    text-align: left;
		    word-break: break-all;
		    word-wrap: break-word;
		}
		p {
		    margin-bottom: 10px;
		}
		.taC {
		    text-align: center !important;
		}
		div.flex-btw {
		    display: flex;
		    justify-content: space-between;
		}
		div.flex-btw div {
		    width: 48%;
		    margin-bottom: 30px;
		    padding: 20px;
		    box-sizing: border-box;
		}
		.contentsMenu {
		    display: flex;
		}
		.contentsMenu li {
		    margin-bottom: 10px;
		    padding-right: 16px;
		}
		.contentsMenu li::marker { content: ""; /* または */ display: none; }

		.contentsMenu li a {
		    border: 2px solid #000000;
		    color: #000000;
		    display: inline-block;
		    font-weight: bold;
		    padding: 10px 2.5em 10px 20px;
		    position: relative;
		    text-decoration: none;
		    transition: opacity 0.3s ease 0s;
		}
		.contentsMenu li a::before {
		    color: #000000;
		    content: "▼";
		    display: inline-block;
		    font-family: FontAwesome;
		    font-style: normal;
		    font-weight: 400;
		    line-height: 1;
		    -webkit-font-smoothing: antialiased;
		    -moz-osx-font-smoothing: grayscale;
		    margin-top: -0.55em;
		    position: absolute;
		    right: 1rem;
		    top: 50%;
		}
		.main-table {
            width: 100%;
            border-collapse: separate;
            border-spacing: 3px;
            margin-bottom: 20px;
        }
        
        .main-table td, .main-table th {
            padding: 8px;
            text-align: center;
            vertical-align: middle;
        }
        
        .header-pink {
            background-color: var(--main-color);
            color: white;
            font-weight: bold;
            padding: 10px;
        }
        
        .header-gray {
            background-color: #000;
            color: white;
            font-weight: bold;
            padding: 8px;
            font-size: 12px;
        }
        
        .year-cell {
            background-color: white;
            border: 3px solid var(--main-color);
            color: #000;
            font-weight: bold;
            padding: 15px 10px;
            writing-mode: horizontal-tb;
        }
        
        .condition-label {
            background-color: #f0f0f0;
            border: 2px solid #d1195b;
            font-weight: bold;
            font-size: 11px;
            padding: 5px;
        }
        
        .pattern-cell {
            background-color: white;
            font-size: 1.2em;
            padding: 8px 5px;
            border: 3px solid;
		    border-right-width: 0;
		    font-weight: 600;
		}
        
        .katakana-cell {
            background-color: #f8f8f8;
            font-weight: bold;
            border: 3px solid;
		    border-left-width: 0;
        }
        
        .asterisk {
            color: #d1195b;
            font-weight: bold;
        }
        
        .note-section {
            margin: 20px 0;
            font-size: 12px;
            line-height: 1.8;
        }
        
        .note-bold {
            text-align: center;
            font-weight: bold;
            margin-bottom: 10px;
        }
        
        .requirements-section {
            background-color: #1a1a1a;
            color: white;
            padding: 20px;
            margin-top: 20px;
        }
        
        .requirements-title {
            text-align: center;
            font-size: 18px;
            font-weight: bold;
            margin-bottom: 20px;
            padding-bottom: 10px;
            border-bottom: 2px solid white;
        }
        
        .requirement-item {
            margin-bottom: 12px;
            line-height: 1.6;
            display: flex;
            gap: 10px;
        }
        
        .requirement-number {
            min-width: 30px;
            flex-shrink: 0;
        }
        p.right {
		    text-align: right;
		}
		
		.btnPt01 {
		    -webkit-appearance: none;
		    -moz-appearance: none;
		    appearance: none;
		    background: #ffffff;
		    border: 1px solid #cccccc;
		    border-radius: 6px;
		    -moz-border-radius: 6px;
		    -webkit-border-radius: 6px;
		    box-sizing: border-box;
		    color: #000000 !important;
		    cursor: pointer;
		    display: inline-block;
		    font-weight: bold;
		    padding: 8px 16px;
		    text-decoration: none;
		    -webkit-transition: background-color 0.3s ease 0s;
		    transition: background-color 0.3s ease 0s;
		}
		td.step1-arrow {
		    border: 1px solid #008838;
		    background-color: #008838;
		    width: 90px;
		}

		td.step2-arrow {
		    border: 1px solid #33a359;
		    background-color: #33a359;
		}

		td.step3-arrow {
		    border: 1px solid #66be7a;
		    background-color: #66be7a;
		}

		td.step4-arrow {
		    border: 1px solid #99d99b;
		    background-color: #99d99b;
		}

		td.step5-arrow {
		    border: 1px solid #ccf4bc;
		    background-color: #ccf4bc;
		}
		.step1-arrow::after {
		    border-top: 15px solid #008838;
		    bottom: -30px;
		}
		td.step2-arrow::after {
		    border-top: 15px solid #33a359;
		    bottom: -30px;
		}

		td.step3-arrow::after {
		    border-top: 15px solid #66be7a;
		    bottom: -30px;
		}

		td.step4-arrow::after {
		    border-top: 15px solid #99d99b;
		    bottom: -30px;
		}

		td.step5-arrow::after {
		    border-top: 15px solid #ccf4bc;
		    bottom: -30px;
		}
		.arrow.one::after {
		    content: '';
		    position: absolute;
		    left: 50%;
		    transform: translateX(-50%);
		    width: 0;
		    height: 0;
		    border-left: 45px solid transparent;
		    border-right: 44px solid transparent;
		    border-top-width: 29px !important;
		    z-index: 2;
		}
		.kakomi{
		    outline: 2px solid var(--main-color);
		    outline-offset: -2px;
		}
		.kakomi .category-cell {
		    background-color: white;
		    border: none;
		    color: #000;
		    font-weight: bold;
		    text-align: center;
		    padding: 15px 10px;
		    font-size: 14px;
		    width: auto;
		    vertical-align: middle;
		    box-shadow: none;
		}
/*		.kakomi .category-cell.bo {
			border-left: 2px solid var(--main-color);;
		}*/
		.breadcrumb {
		    padding: 15px 0 0px;
		    font-size: 12px;
		    width: 1200px;
		    margin: 0 auto;
		    margin-top: 150px;
		}
		.breadcrumb a {
		    color: #0066cc;
		    text-decoration: none;
		}

		.breadcrumb a:hover {
		    text-decoration: underline;
		}

		.breadcrumb .separator {
		    margin: 0 8px;
		    color: #666;
		}

		.breadcrumb .current {
		    color: #333;
		}
		/* TOPへ戻るボタン */
		.page-top {
		    position: fixed;
		    right: 25%;
		    left: auto;
		    bottom: 20px;
		    width: 60px;
		    height: 60px;
		    background-color:  var(--main-color);;
		    border-radius: 50%;
		    display: flex;
		    align-items: center;
		    justify-content: center;
		    text-decoration: none;
		    color: white;
		    font-weight: bold;
		    font-size: 12px;
		    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
		    transition: all 0.3s ease;
		    opacity: 0;
		    visibility: hidden;
		    z-index: 1000;
		}
		#page-menu {
		    position: fixed;
		    right: 25%;
		    left: auto;
		    bottom: 20px;
		    display: flex;
		    align-items: center;
		    justify-content: center;
		    text-decoration: none;
		    color: white;
		    font-weight: bold;
		    transition: all 0.3s ease;
		    visibility: hidden;
		    z-index: 1000;
		}
		#page-menu .icon-tabs {
            display: flex;
            justify-content: center;
            gap: 20px;
            flex-wrap: wrap;
            margin-top: 30px;
        }
         #page-menu .icon-circle img {
		    width: 2.5em;
		}

        #page-menu .tab-item {
            width: 120px;
            height: 90px;
            background: var(--main-color);
            border-radius: 20px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: all 0.3s ease;
            box-shadow: 0 4px 15px rgba(26, 122, 78, 0.3);
            text-decoration: none;
            color: white;
            position: relative;
            overflow: hidden;
        }

        #page-menu .tab-item:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 25px rgba(26, 122, 78, 0.5);
        }

        #page-menu .tab-item::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: linear-gradient(135deg, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0) 100%);
            opacity: 0;
            transition: opacity 0.3s ease;
        }

        #page-menu .tab-item:hover::before {
            opacity: 1;
        }

        #page-menu .icon-circle {
            width: 40px;
            height: 40px;
            background-color: white;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 5px;
            box-shadow: 0 4px 10px rgba(0,0,0,0.1);
        }

        #page-menu .icon {
            width: 45px;
            height: 45px;
            fill: none;
            stroke: #1a7a4e;
            stroke-width: 2;
            stroke-linecap: round;
            stroke-linejoin: round;
        }

        #page-menu .tab-label {
            font-size: 12px;
            font-weight: bold;
            text-align: center;
            line-height: 1;
        }
		#page-menu {
		    opacity: 0;
		}
		.page-top.show,#page-menu.show {
		    opacity: 1;
		    visibility: visible;
		}

		.page-top:hover {
		    background-color: #218838;
		    transform: translateY(-5px);
		    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.4);
		}

		.page-top span {
		    line-height: 1;
		}
		.contentsMenu {
		    list-style: none;
		    padding: 0;
		    margin: 0;
		    display: flex;
		    flex-wrap: wrap;
		    gap: 10px;
		}

		.contentsMenu li {
		    flex: 0 0 auto;
		}

		.contentsMenu li a {
		    display: block;
		    padding: 10px 40px 10px 10px;
		    background-color: #f5f5f5;
		    border: 1px solid #ddd;
		    border-radius: 4px;
		    text-decoration: none;
		    color: #333;
		    white-space: nowrap;
		    transition: all 0.3s ease;
		}

		.contentsMenu li a:hover {
		    background-color: var(--sub-color);;
		    border-color: #28a745;
		}

		/* cfクラス（クリアフィックス）が既にある場合 */
		.cf::after {
		    content: "";
		    display: table;
		    clear: both;
		}
		.btnPt011 {
		    -webkit-appearance: none;
		    -moz-appearance: none;
		    appearance: none;
		    background: #ffffff;
			background-color: #f5f5f5;
		    border: 1px solid #ddd;
		    border-radius: 6px;
		    -moz-border-radius: 6px;
		    -webkit-border-radius: 6px;
		    box-sizing: border-box;
		    cursor: pointer;
		    display: inline-block;
		    font-weight: bold;
		    padding: 8px 16px;
		    text-decoration: none;
		    -webkit-transition: background-color 0.3s ease 0s;
		    transition: background-color 0.3s ease 0s;
		}
		.flowchart {
            position: relative;
            max-width: 600px;
            padding-top: 3rem;
        }
        
        .flow-item {
            position: relative;
            margin-bottom: 80px;
        }
        
        .question-box {
            border: 3px solid var(--main-color);
            background-color: white;
            padding: 20px 30px;
            font-size: 18px;
            font-weight: bold;
            text-align: center;
            position: relative;
        }
        
        /* 下向き矢印 */
        .arrow-down {
            position: absolute;
            left: 50%;
            bottom: -65px;
            transform: translateX(-50%);
            width: 3px;
            height: 60px;
            background-color: var(--main-color);
        }
        
        .arrow-down::after {
            content: '';
            position: absolute;
            bottom: -10px;
            left: 50%;
            transform: translateX(-50%);
            width: 0;
            height: 0;
            border-left: 10px solid transparent;
            border-right: 10px solid transparent;
            border-top: 15px solid var(--main-color);
        }
        
        /* 右向き矢印とテキスト */
        .arrow-right {
            position: absolute;
            right: -89px;
            top: 50%;
            transform: translateY(-50%);
            display: flex;
            align-items: center;
            gap: 10px;
        }
        
        .arrow-right-line {
            width: 44px;
            height: 3px;
            background-color: var(--main-color);
            position: relative;
        }
        
        
        .arrow-right-line::after {
            content: '';
            position: absolute;
            right: -10px;
            top: 50%;
            transform: translateY(-50%);
            width: 0;
            height: 0;
            border-top: 8px solid transparent;
            border-bottom: 8px solid transparent;
            border-left: 12px solid var(--main-color);
        }
        
        .arrow-text {
            font-size: 16px;
            font-weight: bold;
            white-space: nowrap;
            color: #333;
        }
        
        /* 2つ目の質問の右矢印（はいといいえ） */
        .multi-arrow {
            position: absolute;
            right: -105px;
            top: 20%;
        }
        
        .multi-arrow-item {
            display: flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 40px;
        }
        
        .vertical-line {
		    position: absolute;
		    right: -20px;
		    top: 37%;
		    width: 3px;
		    height: 92px;
		    background-color: var(--main-color);
		}
        
        .branch-line {
            width: 30px;
            height: 3px;
            background-color: var(--main-color);
            position: relative;
        }
        .branch-line.v44 {
		    width: 44px;
		}
		.branch-line.r16 {
	        right: -16px;
		    top: 12px;
		}
        .branch-line::after {
            content: '';
            position: absolute;
            right: -10px;
            top: 50%;
            transform: translateY(-50%);
            width: 0;
            height: 0;
            border-top: 8px solid transparent;
            border-bottom: 8px solid transparent;
            border-left: 12px solid var(--main-color);
        }
        table.normalTable01 {
		    border-collapse: collapse;
		    border: none;
		    margin-bottom: 10px;
		}
        table.normalTable01 th{
		    text-align:center;
		}
		.container2 {
            max-width: 1200px;
            margin: 0 auto;
            display: flex;
            gap: 20px;
        }
        
        /* 左側の表 */
        .container2 .left-table {
            border-collapse: separate;
            border-spacing: 3px;
            width: 700px;
        }
        
        .container2 .left-table td {
            background-color: white;
            padding: 15px 20px;
            text-align: center;
            font-weight: bold;
        }
        
        .container2 .left-table td.header-pink {
            background-color: var(--main-color);
            color: white;
            padding: 15px 20px;
        }
        
        .container2 .left-table td.header-black {
            background-color: #1a1a1a;
            color: white;
            padding: 12px 20px;
        }
        
        .container2 .left-table td.year-cell {
            border: 2px solid var(--main-color);
            color: var(--main-color);
            writing-mode: vertical-rl;
            text-orientation: upright;
            letter-spacing: 0.1em;
            width: 80px;
        }
        
        .container2 .left-table td.period-cell {
            border: 2px solid var(--main-color);
            min-width: 120px;
            color: var(--main-color);
        }
        
        .container2 .condition-cell {
            border: 2px solid #333;
            font-size: 1.2em;
        }
        
        .container2 .pattern-cell {
            border: 2px solid #333;
            background-color: #f8f8f8;
        }
        
        /* 右側の要件リスト */
        .container2 .requirements-box {
            background-color: #1a1a1a;
            color: white;
            padding: 30px;
            flex: 1;
        }
        
        .container2 .requirements-title {
            text-align: center;
            font-weight: bold;
            margin-bottom: 30px;
            letter-spacing: 0.5em;
        }
        
        .container2 .requirement-item {
            display: flex;
            gap: 15px;
            margin-bottom: 20px;
            line-height: 1.8;
        }
        
        .container2 .requirement-number {
            min-width: 40px;
            height: 40px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 20px;
            font-weight: bold;
            flex-shrink: 0;
        }
        
        .container2 .requirement-text {
            flex: 1;
            padding-top: 5px;
        }
        
        .container2 .sub-text {
            font-size: 16px;
            margin-left: 20px;
            margin-top: 5px;
        }
        table.qaTable01 th {
		    text-align: left;
		}
		table.qaTable01 b {
		    color: var(--main-color);
		    display: block;
		    font-size: 1.2em;
		    font-weight: bold;
		    line-height: 1.4;
		    margin: 10px 0 5px;
		}
		
		
		.title {
            font-size: 20px;
            font-weight: bold;
            margin-bottom: 30px;
        }

        .title::before {
            content: "①";
            display: inline-block;
            width: 24px;
            height: 24px;
            background-color: white;
            border: 2px solid #333;
            border-radius: 50%;
            text-align: center;
            line-height: 20px;
            margin-right: 8px;
            font-size: 14px;
        }

        .flow-container {
            display: flex;
            gap: 40px;
            align-items: flex-start;
        }

        .left-section {
            flex: 1;
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        .right-section {
            flex: 1;
            display: flex;
            flex-direction: column;
            gap: 20px;
        }

        .decision-box {
            border: 3px solid #2d7d2d;
            padding: 60px 40px;
            text-align: center;
            font-size: 16px;
            font-weight: bold;
            background-color: white;
            min-width: 400px;
        }

        .arrow-down {
            width: 3px;
            height: 60px;
            background-color: #2d7d2d;
            position: relative;
            margin: 0 auto;
            left: 0%;
		    bottom: 0;
        }

        .arrow-down::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 50%;
            transform: translateX(-50%);
            width: 0;
            height: 0;
            border-left: 8px solid transparent;
            border-right: 8px solid transparent;
            border-top: 12px solid #2d7d2d;
        }
        .arrow-down2{
		    position: absolute;
		    left: -17%;
		    height: 67px;
		    top: -42px;
		}
        .arrow-down2::after {
        	display:none;
        }

        .arrow-right-container {
            display: flex;
            align-items: center;
            position: relative;
        }

        .arrow-horizontal {
            flex: 0.1;
            height: 3px;
            background-color: #2d7d2d;
            position: relative;
            left: -21%;
		    top: 22px;
        }
        .arrow-horizontal2{
		    flex: 0.06;
		    left: -17%;
		    top: 22px;
		}
		.arrow-horizontal22 {
		    flex: 0.1;
		    height: 3px;
		    background-color: #2d7d2d;
		    position: relative;
		    left: -21%;
		    top: 22px;
		}

        .arrow-horizontal::after {
            content: '';
            position: absolute;
            right: -3px;
            top: 50%;
            transform: translateY(-50%);
            width: 0;
            height: 0;
            border-top: 8px solid transparent;
            border-bottom: 8px solid transparent;
            border-left: 12px solid #2d7d2d;
        }

        .arrow-label {
            padding: 4px 12px;
            font-size: 14px;
            font-weight: bold;
            position: absolute;
            left: -11%;
		    top: 8px;
            white-space: nowrap;
        }
        .arrow-label2 {
            padding: 4px 12px;
            font-size: 14px;
            font-weight: bold;
            position: absolute;
            left: -11%;
		    top: 8px;
            white-space: nowrap;
        }
        .arrow-label3 {
		    padding: 4px 12px;
		    font-size: 14px;
		    font-weight: bold;
		    position: absolute;
		    left: 28%;
		    top: auto;
		    white-space: nowrap;
		    margin-top: 165px;
		}

        .result-button {
            position: relative;
            padding-right: 50px;
        }

        .result-label {
            font-weight: bold;
            margin-bottom: 0;
        }

        .branch-container {
            display: flex;
            gap: 20px;
            align-items: flex-start;
        }

        .branch-item {
            flex: 1;
        }

        .vertical-line {
            width: 3px;
            height: 40px;
            background-color: #2d7d2d;
            margin: 0 auto;
        }

        .horizontal-branches {
            display: flex;
            position: relative;
        }

        .horizontal-branches::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 3px;
            background-color: #2d7d2d;
        }
        .news {
		    border-bottom: 1px solid var(--main-color);
		}
        .news h3{
		    margin-top: 25px;
		    border-top: 1px solid;
		    padding-top: 30px;
		}
		.news p.mB10 {
		    margin-left: 4em;
		    margin-bottom: 2em;
		}
		.fwBold{font-weight: 600;}
