@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Noto Sans JP',sans-serif;color:#1A202C;background:#ffffff;font-size:16px;line-height:1.8}

/* ======= JS ANIMATIONS ======= */
.fade-hidden{opacity:0;transform:translateY(24px);transition:opacity .55s ease,transform .55s ease}
.fade-hidden.is-visible{opacity:1;transform:translateY(0)}
.tl-box,.tl-group{opacity:0;transform:translateY(12px);transition:opacity .4s ease,transform .4s ease}
.tl-box.tl-visible,.tl-group.tl-visible{opacity:1;transform:translateY(0)}
@keyframes pulse-ring{0%{box-shadow:0 0 0 0 rgba(42,109,115,.45)}70%{box-shadow:0 0 0 10px rgba(42,109,115,0)}100%{box-shadow:0 0 0 0 rgba(42,109,115,0)}}
.btn-cta.pulse,.btn-section.pulse,.btn-dl.pulse{animation:pulse-ring .6s ease}
.row-hover td{background:#E0F0F1!important;transition:background .2s}
.warning-body.warning-collapsed{max-height:4.5em;overflow:hidden;position:relative}
.warning-body.warning-collapsed::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2em;background:linear-gradient(transparent,#FFF8E1)}
.warning-toggle{display:block;margin:1rem auto 0;background:none;border:1px solid #EF9F27;border-radius:6px;padding:.35rem 1rem;font-size:13px;color:#633806;cursor:pointer;font-family:inherit}
.warning-toggle:hover{background:#FFF0C0}

/* ======= STICKY NAV ======= */
.sticky-nav{position:sticky;top:0;z-index:200;background:#fff;border-bottom:.5px solid rgba(0,0,0,.08);transition:box-shadow .3s}
.sticky-nav.nav-scrolled{box-shadow:0 2px 16px rgba(0,0,0,.10)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:.75rem 2rem;max-width:1360px;margin:0 auto}
.nav-logo{width: 230px; height:100%; :none;flex-shrink:0}
.nav-links{display:flex;gap:1.5rem;list-style:none;align-items:center}
.nav-links a{font-size:13px;font-weight:600;color:#2A6D73;text-decoration:none;transition:color .2s;white-space:nowrap}
.nav-links a:hover{color:#1A4447}
.nav-cta{display:inline-flex;align-items:center;gap:.4rem;background:#DE0F23;color:#fff;font-size:13px;font-weight:700;padding:.5rem 1.5rem;border-radius:999px;text-decoration: none;}
.nav-cta:hover{background:#2A6D73}
.nav-g{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.ti-file-description:before {
    content: "\f028";
    display: none;
}

/* ハンバーガーボタン */
.nav-hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;background:none;border:none;cursor:pointer;padding:4px;flex-shrink:0}
.nav-hamburger span{display:block;height:2px;background:#1A4447;border-radius:2px;transition:transform .3s,opacity .3s}
.nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-hamburger.open span:nth-child(2){opacity:0}
.nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ドロワー */
.nav-drawer{display:none;flex-direction:column;background:#fff;border-top:.5px solid rgba(0,0,0,.08);padding:1rem 2rem 1.5rem}
.nav-drawer.open{display:flex}
.nav-drawer a{font-size:15px;font-weight:500;color:#2A6D73;text-decoration:none;padding:.65rem 0;border-bottom:.5px solid rgba(0,0,0,.06)}
.nav-drawer a:last-child{border-bottom:none}
.nav-drawer .nav-cta{margin-top:1rem;text-align:center;justify-content:center;font-size:15px;padding:.75rem 1.5rem}

@media(max-width:768px){
  .nav-links{display:none}
  .nav-cta{display:none}
  .nav-hamburger{display:flex}
}




/* ======= CTA Button ======= */
.btn-cta{display:inline-flex;align-items:center;gap:.5rem;background:#fff;color:#1A4447;font-size:15px;font-weight:700;padding:.9rem 2rem;border-radius:999px;text-decoration:none;transition:transform .15s}
.btn-cta:hover{transform:translateY(-1px)}
.btn-cta i{font-size:16px}
.btn-wrap{text-align:center;margin:1.25rem 0}
.btn-section{display:inline-flex;align-items:center;gap:.5rem;background:#1A4447;color:#fff;font-size:15px;font-weight:700;padding:.85rem 2rem;border-radius:999px;text-decoration:none;transition:transform .15s}
.btn-section:hover{transform:translateY(-1px);background:#2A6D73}
.btn-section i{font-size:16px}
.btn-dl{display:inline-flex;align-items:center;gap:.5rem;background:#2A6D73;color:#fff;font-size:15px;font-weight:700;padding:.85rem 2rem;border-radius:999px;text-decoration:none;transition:transform .15s}
.btn-dl:hover{transform:translateY(-1px);background:#1A4447}

/* ======= WRAP ======= */
.lp-wrap{max-width:860px;margin:0 auto;padding:0 1rem 5rem}

/* ======= SECTION ======= */
.section{padding:2rem 0 1.75rem;margin-top:1.5rem;border-top:0.5px solid rgba(0,0,0,.12) ; margin: 30px;}
.maincta{padding:2rem 0 1.75rem;margin-top:1.5rem;margin: 30px;}

/* 小見出し */
.sh{display:flex;align-items:center;gap:.65rem;margin-bottom:1.25rem}
.sh-bar{width:5px;height:1.6em;background:linear-gradient(180deg,#2A6D73,#2A6D73);border-radius:99px;flex-shrink:0}
.sh-text{font-size:20px;font-weight:700;color:#1A4447;letter-spacing:.01em}

/* ======= スケジュール ======= */
.timeline{display:flex;align-items:stretch;gap:4px;margin-bottom:1.5rem}
.tl-box{background:#E0F0F1;border:1.5px solid #9ECBCC;border-radius:8px;padding:.65rem .55rem;text-align:center;flex:1;display:flex;flex-direction:column;justify-content:center}
.tl-label{font-size:12px;font-weight:700;color:#1A4447;line-height:1.45}
.tl-sub{font-size:10px;color:#2A6D73;margin-top:.15rem;font-weight:400}
.tl-date{font-size:10px;color:#2A6D73;margin-top:.3rem;font-weight:700}
.tl-arrow{color:#2A6D73;font-size:20px;flex-shrink:0;line-height:1;align-self:center}
.tl-group{display:flex;flex-direction:column;align-items:stretch;flex:2.5}
.tl-group-box{background:#E0F0F1;border:1.5px solid #9ECBCC;border-radius:8px;padding:.65rem .55rem;display:flex;flex-direction:column;justify-content:center;gap:.35rem;width:100%;height:100%}
.tl-group-inner{display:flex;gap:4px;width:100%;align-items:stretch}
.tl-group-inner .tl-box{flex:1;border:1px solid #9ECBCC; background-color: #FFF}
.tl-group-label{font-size:11px;font-weight:700;color:#1A4447;text-align:center}
.tl-group-date{font-size:10px;color:#2A6D73;font-weight:700;text-align:center}
.tl-inner-arrow{color:#2A6D73;font-size:14px;flex-shrink:0;align-self:center;padding:0 2px}
.tl-inner-arrow-v{display:none;color:#2A6D73;font-size:14px;text-align:center;line-height:1;margin:.2rem 0}
.tl-arrow-v{display:none;color:#2A6D73;font-size:18px;margin:.25rem 0;text-align:center}

@media(max-width:768px){
  .timeline{flex-direction:column;align-items:stretch;gap:2px}
  .tl-box{text-align:center;padding:.6rem .85rem;flex:none}
  .tl-arrow{display:none}
  .tl-arrow-v{display:block}
  .tl-group{width:100%}
  .tl-group-inner{flex-direction:column}
  .tl-inner-arrow{display:none}
  .tl-inner-arrow-v{display:block}
  .tl-group-label,.tl-group-date{text-align:center}
}

.schedule-item{display:flex;align-items:baseline;gap:1.25rem;padding:.8rem 0;border-bottom:1px dashed #E2E8F0}
.schedule-item:last-of-type{border-bottom:none}
.s-label{font-size:12px;font-weight:700;background:#E0F0F1;color:#2A6D73;padding:.2rem .7rem;border-radius:6px;white-space:nowrap;flex-shrink:0}
.s-val{font-size:14px;color:#1A202C;font-weight:500}
.s-note{font-size:12px;color:#718096;margin-top:.25rem}
.alert-box{background:#FFF8E1;border-left:4px solid #EF9F27;border-radius:0 12px 12px 0;padding:1rem 1.25rem;font-size:13px;color:#412402;margin-top:1rem;line-height:1.9}

/* ======= Info box ======= */
.info-box{background:#F0F4F8;border-radius:12px;padding:1.1rem 1.25rem;font-size:14px;color:#1A202C;line-height:1.9; border-left:none;padding-left:0;background:transparent}
.note{font-size:12px;color:#718096}

/* ======= テーブル ======= */
.table-wrap{overflow-x:auto;border-radius:12px;border:1px solid #E2E8F0;-webkit-overflow-scrolling:touch;margin: 25px auto;}
table{width:100%;min-width:639px;border-collapse:collapse;font-size:14px}
thead th{background:#1A4447;color:#fff;font-weight:500;padding:.75rem 1rem;text-align:center;border-right:1px solid rgba(255,255,255,.18)}
thead th:last-child{border-right:none}
thead tr:first-child th:first-child{border-radius:12px 0 0 0}
thead tr:first-child th:last-child{border-radius:0 12px 0 0}
thead tr:first-child th:nth-child(2){border-radius:0}
thead tr:last-child th{border-radius:0;border-right:1px solid rgba(255,255,255,.18)}
thead tr:first-child th{border-bottom:1px solid rgba(255,255,255,.25)}
tbody td{padding:1rem 1rem;border-bottom:1px solid #EDF2F7;border-right:1px solid #EDF2F7;color:#1A202C;vertical-align:top}
tbody td:last-child{border-right:none}
tbody tr:last-child td{border-bottom:none}
tbody tr:nth-child(even) td{background:#F7FAFC}
.highlight-row td{background:#E0F0F1!important;font-weight:500;color:#1A4447}

/* ======= 助成対象事業 ======= */
.target-grid{display:flex;flex-direction:column;gap:.85rem}
.target-item{padding:.85rem 0;border-bottom:1px dashed #E2E8F0}
.target-item:last-child{border-bottom:none}
.target-num{font-size:13px;font-weight:700;color:#2A6D73;margin-bottom:.3rem;letter-spacing:.04em}
.target-desc{font-size:14px;color:#2D3748;line-height:1.85}

/* ======= 注意事項 ======= */
.warning-wrap{background:#FFF8E1;border-radius:14px;padding:1.5rem;border:1.5px solid #FAC775}
.warning-title{font-size:15px;font-weight:700;color:#633806;margin-bottom:.85rem;display:flex;align-items:center;gap:.5rem}
.warning-body{font-size:13px;color:#4A2902;line-height:2;white-space:pre-wrap}
.warning-sub{font-size:13px;font-weight:700;color:#412402;margin-top:1rem;margin-bottom:.35rem}

/* ======= 申請方法 ======= */
.step-list{display:flex;flex-direction:column;gap:.6rem}
.step-item{display:flex;gap:1rem;align-items:flex-start;padding:.75rem 1rem;background:#F7FAFC;border-radius:12px}
.step-num{width:28px;height:28px;border-radius:50%;background:#2A6D73;color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.step-body{font-size:14px;color:#2D3748;line-height:1.85}
.step-body a{color:#2A6D73}

/* ======= 連絡先 ======= */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.contact-card{background:#F0F4F8;border-radius:14px;padding:1.25rem;font-size:13px;line-height:1.9;color:#2D3748}
.contact-card h4{font-size:14px;font-weight:700;color:#1A4447;margin-bottom:.6rem;padding-bottom:.5rem;border-bottom:1.5px solid #2A6D73;display:inline-block}
.contact-card a{color:#2A6D73;word-break:break-all}

/* ======= 次回予告 ======= */
.notice-bar{font-size:15px;color:#1A4447;font-weight:500;display:flex;align-items:center;gap:.75rem;margin-top: 10px;}
.ti-calendar-event:before {
    content: "\ea52";
    display: none;
}

@media(max-width:600px){
  .hero-title{font-size:20px}
  .metric-value{font-size:30px}
  .metrics-row{gap:10px}
  .contact-grid{grid-template-columns:1fr}
  .sh-text{font-size:17px}
  .schedule-item{flex-direction:column;gap:.3rem}
}

/* common */

html{
    font-size: 62.5%;
}

body{
    /* font-family: 
    "Zen Kaku Gothic New","Noto Sans JP"; */
    font-optical-sizing: auto;
    font-weight: 600;
    /* color: var(--color-ink); */
    /* background-color: white; */
    line-height: 1.5;
    overflow-x: hidden;
}

.article_header{
    overflow: hidden;
    position: relative;
}

img{
    max-width: 100%;
    height: auto;
    overflow: hidden;
}

a {
  color: inherit;
  text-decoration: none;
}

.title_area{
  text-align: center;
}

.brsp{
  display: block;
}


/* nav Buttons */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 18px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
  transition: transform 0.15s ease-out, box-shadow 0.15s ease-out,
    background-color 0.15s ease-out, color 0.15s ease-out, border-color 0.15s ease-out;
}

.btn-custom01 {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 3rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #fff;
  border-radius: 10rem;
  z-index: 998;
}

.btn-custom01 {
  animation:show 0.5s none;
  animation-delay: 950ms;
}

@keyframes show {
	0% {
		-webkit-transition: all 0.3s;
        transition: all 0.3s;
        background: var(--color-linegreen);
	}
	100% {
		-webkit-transform: translate(0, 0.25rem);
        transform: translate(0, 0.25rem);
	}
}


a.btn-custom01 {
  margin-bottom: 0.5rem;
  padding: 0;
  border-radius: 10rem;
}

a.btn-custom01:before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: translate3d(0, 0.75rem, -1rem);
  transform: translate3d(0, 0.75rem, -1rem);
  border-radius: inherit;
  background: #BC0214;
  -webkit-box-shadow: 0 0.6rem 0 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0 0.6rem 0 0 rgba(0, 0, 0, 0.2);
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}


a.btn-custom01:before {
  animation:show01 0.5s none;
  animation-delay: 950ms;
}

@keyframes show01 {
	0% {
    -webkit-box-shadow: 0 0.6rem 0 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 0.6rem 0 0 rgba(0, 0, 0, 0.2);
	}
	100% {
		  -webkit-transform: translate3d(0, 0.5rem, -1rem);
            transform: translate3d(0, 0.5rem, -1rem);
            -webkit-box-shadow: 0 0.35rem 0 0 rgba(0, 0, 0, 0.2);
            box-shadow: 0 0.35rem 0 0 rgba(0, 0, 0, 0.2);
            transition: all 0.3s;
	}
}

.btn-custom01-front {
  position: relative;
  display: block;
  padding: 1rem 9rem;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border-radius: inherit;
  background: #DE0F23;
}

.fa-position-right {
  position: absolute;
  top: calc(50% - 0.5em);
  right: 1rem;
}

a.btn-custom01:hover {
  -webkit-transform: translate(0, 0.25rem);
  transform: translate(0, 0.25rem);
  background: var(--color-linegreen);
}

a.btn-custom01:hover:before {
  -webkit-transform: translate3d(0, 0.5rem, -1rem);
  transform: translate3d(0, 0.5rem, -1rem);
  -webkit-box-shadow: 0 0.35rem 0 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0 0.35rem 0 0 rgba(0, 0, 0, 0.2);
}

a.btn-custom01:active {
  -webkit-transform: translate(0rem, 0.75rem);
  transform: translate(0rem, 0.75rem);
}

a.btn-custom01:active:before {
  -webkit-transform: translate3d(0, 0, -1rem);
  transform: translate3d(0, 0, -1rem);
  -webkit-box-shadow: 0 0.35rem 0 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0 0.35rem 0 0 rgba(0, 0, 0, 0.2);
}

/* header */
.article_header{
  overflow-x: hidden;
  overflow: hidden;
}

.header{
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 999;
  position: sticky;
  top: 0;
  z-index: 999;
  background: #ffffffcc;
}

.logo{
    display: flex;
    align-items: center;
}

.header_topic,
.nav_logo,.header_logo{
    display: block;
}

.header_topic,
.nav_logo{
    margin: 14px 0px 14px 20px;
    width: 187px;
    height: 100%;
}

.header-cta {
  margin-top: 20px;
}

/* nav */

.nav_btn,
.header_btn{
    width: 47px;
}

.nav_cta{
  width: 227px;
    height: 40px;
    padding: 10px 19px;
    font-size: 14px;
    font-weight: 700;
    justify-content: center;
     margin: 18px auto 0px auto;
    text-align: center;
}


/*============
nav
=============*/
nav {
  display: block;
  position: fixed;
  top: 0;
  left: -300px;
  bottom: 0;
  width: 311px;
  background:#2A6D73;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transition: all .5s;
  z-index: 3;
  opacity: 0;
}
.open nav {
  left: 0;
  opacity: 1;
  z-index: 1000;
  display: block;
}
nav .inner {
  padding: 25px;
}
nav .inner ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
nav .inner ul li {
  position: relative;
  margin: 0;
  border-bottom: 2px solid var(--color-card);
}
nav .inner ul li a {
    display: block;
    color:#FFF;
    font-size: 14px;
    padding: 1em;
    font-weight: 600;
    text-decoration: none;
    transition-duration: 0.2s;
}

@media screen and (max-width: 767px) {
  nav {
    left: -220px;
    width: 311px;
  }
}
/*============
.toggle_btn
=============*/
.toggle_btn {
display: block;
    position: fixed;
    top: 28px;
    right: 18px;
    width: 30px;
    height: 30px;
    transition: all .5s;
    cursor: pointer;
    z-index: 3;
}
.toggle_btn span {
  display: block;
  position: absolute;
  left: 0;
  width: 30px;
  height: 2px;
  background-color: #2A6D73;
  border-radius: 4px;
  transition: all .5s;
}
.toggle_btn span:nth-child(1) {
  top: 4px;
}
.toggle_btn span:nth-child(2) {
  top: 14px;
}
.toggle_btn span:nth-child(3) {
  bottom: 4px;
}
.open .toggle_btn span {
  background-color: #fff;
}
.open .toggle_btn span:nth-child(1) {
  -webkit-transform: translateY(10px) rotate(-315deg);
  transform: translateY(10px) rotate(-315deg);
}
.open .toggle_btn span:nth-child(2) {
  opacity: 0;
}
.open .toggle_btn span:nth-child(3) {
  -webkit-transform: translateY(-10px) rotate(315deg);
  transform: translateY(-10px) rotate(315deg);
}
/*============
#mask
=============*/
#mask {
  display: none;
  transition: all .5s;
}
.open #mask {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: .8;
  z-index: 2;
  cursor: pointer;
}


/* .header PC */
@media screen and (min-width:1024px) {

  .btn-custom01-front {
        padding: 1rem 7rem;
  }

  .btn-custom01-front.cta{
        padding: 1.3rem 10rem;
  }

  a.btn-custom01 {
    margin-top: 0px;
    font-size: 14px;
}

  .btn-custom01.cta {
    margin-top: 0px;
    font-size: 20px;
}

  nav {
  display: block;
  position: fixed;
  top: 0;
  left: -300px;
  bottom: 0;
  width: 311px;
  background:#ffffff;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transition: all .5s;
  z-index: 3;
  opacity: 1;
}

nav .inner ul li{
      border-bottom: 0px solid var(--color-card);
}

nav .inner ul li a {
    display: block;
    color:#2A6D73;
    font-size: 14px;
    padding: 8px 11px;
    font-weight: 600;
    text-decoration: none;
    transition-duration: 0.2s;
    display: inline-block;
  position: relative;
  overflow: hidden;
  margin: 0px 0px 0px 0px;
}
nav .inner ul li a:hover {
  color:#0d373b;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
}

.inner{
  display: flex;
  align-items: end;
}

.inner ul{
  display: flex;
}


    .header_topic {
        width: 204px;
        margin: 0px 0px 0px 33px;
    }

    .header_logo{
    width: 90px;
    margin: 20px 0px 10px 10px;
    }

    nav{
        background: transparent;
        width: auto;
        height: auto;
        padding: 0;
        position: static;
        transform: translateX(0);
    }

    .toggle_btn {
        display: none;
    }

    .nav_cta{
      width: 54%;
    }

    .btn.nav_cta{
        margin: 0px 0px;
        text-align: center;
        font-size: 75%;
        color: #FFF;
    }

.header-cta {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0px 10px;
}

nav .inner {
    padding: 16px;
}

}


/* Hero */

.mainImg_sp{
  display: block;
  position: relative;
}

.mainImg_pc{
  display: none;
}

.hero-cta {
    margin: 0 auto;
    width: 100%;
    padding: 10px 20px 31px;
    text-align: center;
    margin-top: 20px;
}



/* .header PC */
@media screen and (min-width:1024px) {

    .mainImg_sp{
  display: none;
  
}

.mainImg_pc{
  display: block;
  width: 100%;
}

.hero-cta {
    padding: 0px 20px 31px;
}

}
