@charset "utf-8";

/*----------------------------------------------------------------------------------------------------------------------------

reset & root set

----------------------------------------------------------------------------------------------------------------------------*/

/* reset
--------------------------------------------------------------*/

*,*::before,*::after { box-sizing: border-box; }
ul,ol { margin: 0; padding: 0; list-style: none; }
body,h1,h2,h3,h4,h5,p,figure,blockquote,dl,dd { margin: 0; font-size: inherit; }
img { max-width: 100%; height: auto; display: block; }
header,footer,main,aside,picture { display: block; }

/* iOS Safari tap reset */
body {-webkit-tap-highlight-color: transparent;}



/* print set
--------------------------------------------------------------*/
@media print{
html { width: 1280px; }
.header { position: relative !important; }/* fixheader clear */
}


/* root set
--------------------------------------------------------------*/

/* color */
:root {
    --cl-key01: #015792;
    --cl-txt: #333;
    --cl-wh: #fff;
    --cl-error: #E30000;
    --cl-bg: #EDEDE4;
    --cl-bg-l: #F6F6F1;
    --cl-boder: #ccc;
    --cl-gry : #F0F0F0;
    --cl-tag-01: #C72020;
    --cl-tag-02: #1E844C;
    --cl-tag-03: #D3851C;
    --cl-tag-04: #288112;
    --cl-tag-05: #387DA2;
    --cl-tag-06: #901EAC;
    --cl-tag-07 :#1B3795;
    --cl-tag-08: #DD5C23;
    --cl-tag-09: #179377;
    --cl-tag-10: #1A92A2;
    --cl-tag-11: #7A9F28;
    --cl-tag-12: #116D9F;
    --cl-tag-13: #BFA93A;
    --cl-tag-14: #62269D;
    --cl-tag-15: #5B9111;
    --cl-tag-16: #A51C9B;
    --cl-tag-17: #BC2A52;
    --cl-bg-grn: #DFEACC;
}

/* fixheader height */
:root { --header-height: 6rem; }
@media print, screen and (min-width: 640px) {
:root { --header-height: 8rem; }
}

/* font set */
:root {
    /* font: style weight size / line-height family */
    --ff-base: normal 400 1.4rem / 1.6 'Noto Sans JP', sans-serif;
    --ff01f: ;
    --ff01w: ;
}






/*----------------------------------------------------------------------------------------------------------------------------

base set

----------------------------------------------------------------------------------------------------------------------------*/
html { font-size:calc(100vw / 37.5); scroll-behavior: smooth; scroll-padding-top: var(--header-height); }
html:has( body._fixed) { overflow: hidden;}
body { min-height: 100vh; text-rendering: optimizeSpeed; -webkit-text-size-adjust:100%; text-size-adjust: 100%; color: var(--cl-txt); background-color: var(--cl-bg-l); font: var(--ff-base); overflow-x: hidden; }
a { color: var(--cl-txt); outline:none; text-decoration:none; }
.page-wrapper { overflow-x: hidden; }

@media print, screen and (min-width: 640px) {
html { font-size: calc(100vw / 128); }
body { font-size: 1.6rem; }
.page-wrapper { overflow-x: visible; }
}

@media print, screen and (min-width: 1280px) {
html { font-size:62.5%; }
body { font-size: 1.6rem; }
a { transition: 0.5s; }
a:hover { opacity: 0.7; }
button:hover { opacity: 0.7; }
}



/*----------------------------------------------------------------------------------------------------------------------------

utility

----------------------------------------------------------------------------------------------------------------------------*/

/* utility - base
---------------------------------------------------- */

/* utility - base responsive */
.u-inner { max-width: 130rem; margin: 0 auto; width: 90%; }
.u-only-pc { display: none; }

@media print, screen and (min-width: 640px) {
.u-only-sp { display: none !important; }
.u-only-pc { display: inherit; }
}


/* utility - base */
.u-ff01 { font-family: var(--ff01f); font-weight: var(--ff01w); }
.u-cl-txt { color: var(--cl-txt); }
.u-cl-wh { color: var(--cl-wh); }
.u-cl-key01 { color: var(--cl-key01); }
.u-cl-key02 { color: var(--cl-key02); }
.u-iframebox { position:relative; padding-bottom:56.25%; height:0; }
.u-iframebox iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.u-w30 { width: 30% !important; }
.u-w50 { width: 50% !important; }
.u-mt01 { margin-top: 1rem !important; }
.u-mt02 { margin-top: 2rem !important; }
.u-mt03 { margin-top: 3rem !important; }
.u-mb01 { margin-bottom: 1rem !important; }
.u-mb02 { margin-bottom: 2rem !important; }
.u-mb03 { margin-bottom: 3rem !important; }

/*----------------------------------------------------------------------------------------------------------------------------

base layout

----------------------------------------------------------------------------------------------------------------------------*/

/* body
--------------------------------------------------------------*/
body._fixed { overflow: hidden;}



/* header
--------------------------------------------------------------*/

/* header */
.header { position: absolute; max-width: 130rem; width: 100%; height: var(--header-height); display: flex; align-items: center; justify-content: space-between; padding: 1rem 2rem; margin: 0 auto; z-index: 20; background: var(--cl-wh); border-radius: 0 0 0 4rem; }
.header-logo { }
.header-logo-link { display: block; }
.header-logo-pic { width: 11.8rem; }
.header-nav { display: none; }

@media print, screen and (min-width: 640px) {
.header { position: fixed; width: 90%; top: 0; left: 50%; transform: translateX(-50%); padding: 1.8rem 0 1.8rem 3rem; margin: 4rem auto 0; border-radius: 20rem;}
header.is-scrolled{ box-shadow: 0 0 1rem rgba(0, 0, 0, 0.1);}
.header-logo {  }
.header-logo-pic { width: 16rem;  }
.header-nav { display: flex; margin-right: 2rem; max-height: 4.5rem;}
.header-nav-btn { display: flex; align-items: center; background: var(--cl-key01); color: var(--cl-wh); font-weight: 700; font-size: 1.6rem; padding: 0.5rem 2rem; border-radius: 4rem; border: 1px solid #fff;}
.header-nav-btn::before { content: ""; display: inline-block; width: 1em; height: 1em; background: url(/assets/images/ico_nav.svg) no-repeat center; background-size: contain;margin-right: 0.5rem;}
.header-nav-gnav { display: flex; }
.header-nav-keyword { display: flex; align-items: center; width: 33rem; margin-right: 3rem; border: 1px solid var(--cl-boder); border-radius: 4rem; overflow: hidden;}
.header-nav-keyword input { border: none; outline: none; padding: 1rem 1.5rem; flex: 1; font-size: 1.4rem; color: var(--cl-txt); height: 100%;}
.header-nav-keyword button { background-color: var(--cl-key01); /* ボタンの色 */ font-weight: 700; color: var(--cl-wh); border: none; padding: 1rem 2rem; font-size: 1.4rem; cursor: pointer; border: 1px solid var(--cl-key01);}
input::placeholder { color: var(--cl-boder); /* プレースホルダーの色 */}
}


/* gnav */
@media print, screen and (min-width: 640px) {
.gnav { display: flex; justify-content: flex-end; gap: 4rem; margin-right: 4rem; }
.gnav-item { }
.gnav-item-link { display: flex; align-items: center; height: 8rem; }
}





/* footer
--------------------------------------------------------------*/

/* footer */
.footer { background: var(--cl-wh); padding: 3rem 0 8rem;}
.footer-info { margin-bottom: 3rem;}
.footer-info-logo { width: 16.8rem; margin: 1.5rem 0; }
.footer-info-txt { font-size: 1.4rem;}
.footer-copy { font-size: 1.2rem; text-align: center; margin-top: 2rem; }

@media print, screen and (min-width: 640px) {
.footer { padding-top: 12rem;}
.footer-info { margin-bottom: 5rem;}
.footer-info-logo { width: 18.3rem; margin: 0 0 3rem; }
.footer-copy { text-align: left; }

}


/* fmenu */
.fmenu { padding: 3rem 0; border-top: 1px dotted var(--cl-boder); border-bottom: 1px dotted var(--cl-boder);}
.fmenu + .fmenu { border-top: none;}
.fmenu-box {}
.fmenu-box + .fmenu-box { margin-top: 2rem;}
.fmenu-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.5rem 0; }
.fmenu-item {}
.fmenu-cat { color: var(--cl-key01); font-size: 1.4rem; font-weight: 700;}
.fmenu-link { text-decoration: underline;}
.fmenu-link:hover { text-decoration: none;}
.fmenu-list._subsidy { grid-template-columns: repeat(2, 1fr); }

@media print, screen and (min-width: 640px) {
.fmenu { padding: 5rem 0;}
.fmenu-list { grid-template-columns: repeat(10, 1fr); }
.fmenu-list._subsidy { grid-template-columns: repeat(4, 1fr); }

}

/* ather */
.aibsclink { font-size: 1.4rem; font-weight: 700; display: flex; align-items: center; justify-content: center; margin-top: 4rem;}
.aibsclink::after { content: ""; display: inline-block; width: 1em; height: 1em; background: url(/assets/images/ico_link.svg) no-repeat center; background-size: contain; margin-left: 0.5rem;}

@media print, screen and (min-width: 640px) {
.aibsclink { font-size: 1.6rem; margin-top: 5rem; justify-content: flex-start;}
}

/* spitem
--------------------------------------------------------------*/

/* _spopen changes */
@media print, screen and  (max-width: 1023px) {
body._spopen { height: 100%; overflow: hidden; }
}


/* spnav-btn */
.spitem-btn { position: absolute; top: 0; right: 0; display: flex; align-items: center; cursor: pointer; transition:0.5s; z-index: 20; cursor: pointer; height: var(--header-height); margin-right: 2rem;}
.spitem-btn-inner { display: flex; align-items: center; justify-content: flex-start; font-size: 1.2rem; color: var(--cl-key01); font-weight: 700;}
.spitem-btn-ico { margin-left: 0.5rem;}


._close.spitem-btn { }
._close.spitem-btn::before,
._close.spitem-btn::after { content: ""; position: absolute; left: 50%; background-color:var(--cl-txt); transform: translateX(-50%); transition:0.3s; }
._close.spitem-btn::before { top: 50%; transform: translate(-50%,-50%) rotate(45deg) ; left: 50%; }
._close.spitem-btn::after  { bottom: auto; top: 50%; transform: translate(-50%,-50%) rotate(-45deg); left: 50%;}
._close.spitem-btn .spitem-btn-line { display: none; }

@media print, screen and (min-width: 640px) {
.spitem { display: none; }
.spitem-btn { display: none; }
}


/* spnav [wrap] */
.spmenu { opacity: 0; visibility: hidden; position: fixed; top: var(--header-height); right: 0; width: 100%; z-index: 100; transition: 0.3s; }
.spmenu._spopen { opacity: 1; visibility: visible; }
.spmenu-inner { width: 100%; height: calc(100vh - var(--header-height)); padding: 2rem 2rem 0; overflow-y: scroll; background-color: var(--cl-bg);}


/* spnavMenu */
.spnav {  }
.spnav-item { font-size: 1.4rem; }
.spnav-item:last-child { }
.spnav-item-link { display: grid; grid-template-columns: 1fr 1em; padding: 2.5rem 1.5rem; line-height: 1; font-size: 1.6rem; }


/* spfmenu
--------------------------------------------------------------*/
.spfmenu { position: fixed; bottom: 0.5rem; left: 50%; transform: translateX(-50%); background: var(--cl-key01); padding: 1.5rem 0; border-radius: 4rem; color: var(--cl-wh); font-weight: 700; font-size: 1.6rem; border: 2px solid var(--cl-wh); box-shadow: 0 0 1rem 0 #cccccc; margin: 0 auto 0.5rem; width: 85%; display: flex; align-items: center; justify-content: center;}
.spfmenu::before { content: ""; display: inline-block; width: 1em; height: 1em; background: url(/assets/images/ico_nav.svg) no-repeat center; background-size: contain; margin-right: 0.8rem;}



/* main contents
--------------------------------------------------------------*/
.main { min-height: 50vh;}
@media print, screen and (min-width: 640px) {
.main { }
}





/*----------------------------------------------------------------------------------------------------------------------------

component

----------------------------------------------------------------------------------------------------------------------------*/
/* c-modal
--------------------------------------------------------------*/

/* c-modal */
.c-modal { position: fixed; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 100%; height: 100vh; opacity: 0; visibility: hidden; transition: 0.2s; z-index: 30;background-color: rgba(0,0,0,0.5);  }
.c-modal-body { position: absolute; bottom: 0; left: 50%;  transform: translate(50%,0%); width: 100%; height: 92%; padding: 4rem 2rem 2rem; background-color: var(--cl-wh); transition: 0.5s; border-radius: 1rem 0 0 0; }
.c-modal-contents { overflow-y: scroll; max-height: 70vh;}
._view.c-modal { opacity: 1; visibility: visible !important; }
._view .c-modal-body { transform: translate(-50%,0%); }
@media print, screen and (min-width: 640px) {
.c-modal-body { top: 50%; bottom: auto; left: 50%; width: calc(100% - 4rem); height: auto; padding: 4rem; max-width: 117rem; transform: translate(-50%,-45%); border-radius: 1rem; }
._view .c-modal-body { transform: translate(-50%,-50%); }
}

.c-modal-close { position: absolute; top: 1rem; right: 2rem; -webkit-appearance: none; -moz-appearance: none; appearance: none; border: none; width: 3.5rem; height: 3.5rem; outline: none; border-radius: 100%; z-index: 20; }
.c-modal-close::before,
.c-modal-close::after { content: ""; position: absolute; left: 50%; width: 2rem; height: 2px; background-color: var(--cl-txt); transform: translateX(-50%); }
.c-modal-close::before { top: calc(50% - 1px); transform: translateX(-50%) rotate(45deg); }
.c-modal-close::after  { bottom: calc(50% - 1px); transform: translateX(-50%) rotate(-45deg); }

@media print, screen and (min-width: 640px) {

.c-modal-close { top: -1.5rem; right: -1.5rem; }
.c-modal-close::before,
.c-modal-close::after { width: 1.5rem; }

}
/* spmodalsearch-keyword */
.spmodalsearch{ margin-bottom: 2rem;}
.spmodalsearch-keyword { display: flex; align-items: center; width: 33rem; border: 1px solid var(--cl-boder); border-radius: 4rem; overflow: hidden;}
.spmodalsearch-keyword input { border: none; outline: none; padding: 1rem 1.5rem; flex: 1; font-size: 1.4rem; color: var(--cl-txt); height: 100%;}
.spmodalsearch-keyword button { background-color: var(--cl-key01); /* ボタンの色 */ color: var(--cl-wh); border: none; padding: 1rem 2rem; font-size: 1.4rem; cursor: pointer;}
input::placeholder { color: var(--cl-boder); /* プレースホルダーの色 */}




/* tab */

.tab { width: 100%; margin: 0 auto; position: relative;}
.tab-ttl { font-size: 1.4rem; font-weight: 700; color: var(--cl-key01); margin-bottom: 0.5rem;}
.tab-btn { display: flex;  border-bottom: 6px solid var(--cl-key01);}
.tab-btn-item { color: var(--cl-key01); padding: 0.8rem 2rem 0.2rem; border-radius: 1rem 1rem 0 0; background: #EAEAEA; border: none; cursor: pointer; font-size: 1.4rem; text-align: center; transition: background 0.3s, color 0.3s; width: 50%;}
.tab-btn-item.active { background: var(--cl-key01); color: var(--cl-wh);}
.tab-content-box { display: none; padding: 2rem 0 0; background: var(--cl-wh); border-top: none;}
.tab-content-box.active { display: block;}
.tab-menu {}
@media print, screen and (min-width: 640px) {
.tab-btn-item { width: auto; font-size: 1.6rem;}
.tab-content-box {}
}
/* tabmenu */
.tabmenu { margin-bottom: 1rem; padding-bottom: 1rem; border-bottom: 1px dotted var(--cl-boder) ;}
.tabmenu-link { text-decoration: underline;}
.tabmenu-ttl { font-size: 1.4rem; color: var(--cl-key01); font-weight: 700;}
.tabmenu-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.tabmenu-list._subsidy{ grid-template-columns: repeat(1, 1fr); gap: 1rem;}
.tabmenu-list-item { font-size: 1.4rem; text-decoration: underline;}
.tabmenu-list-link {}
@media print, screen and (min-width: 640px) {
.tabmenu-list { grid-template-columns: repeat(10, 1fr); gap: 0.5rem; }
.tabmenu-list._subsidy{ grid-template-columns: repeat(4, 1fr); gap: 2rem;}
}

/* tabfoot */
.tabfoot {  padding: 1rem 2rem 3rem; position: fixed; bottom: 0; left: 50%; transform: translateX(-50%); width: 100%; background: var(--cl-wh); box-shadow: 0 0 1rem 0 #cccccc;}
.tabfoot-tagwrap { display: grid; grid-template-columns: 7em 1fr; margin-bottom: 2rem;}
.tabfoot-tag { display: flex; flex-wrap: wrap; gap: 1rem;}
.tabfoot-tag-item {font-size: 1.2rem; background: var(--cl-gry); padding: 0.25rem 0.5rem; border-radius: 0.8rem; }
.tabfoot-tag-clear {}
.tabfoot-tag-clear:hover { cursor: pointer;}
.tabfoot-foot { text-align: center;}
.tabfoot-btn { width: 23rem; margin: auto; background: var(--cl-key01); color: var(--cl-wh); font-size: 1.6rem; font-weight: 700; border-radius: 3rem; padding: 1rem 1rem; display: flex; align-items: center; justify-content: center;}
.tabfoot-btn:hover { cursor: pointer;}
.tabfoot-btn::before { content: ""; display: inline-block; width: 1em; height: 1em; background: url(/assets/images/ico_nav.svg) no-repeat center; background-size: contain;}
.tabfoot-foot-clearbtn { font-size: 1.4rem; padding: 0.5rem 2rem 2rem; margin-bottom: 2rem;}
.tabfoot-foot-clearbtn:hover { cursor: pointer;}

.tabtag {}

@media print, screen and (min-width: 640px) {
.tabfoot { padding: 2rem 0 4rem; width: calc(100% - 8rem); box-shadow: none; border-top: 1px solid var(--cl-txt);}
.tabfoot-tag-item {font-size: 1.4rem; padding: 0.25rem 1rem; }
.tabfoot-foot-clearbtn { margin: 0;}
}



/* c-pagettl
--------------------------------------------------------------*/
.c-pagettl { position: relative; background: var(--cl-bg-grn) url(/assets/images/bg_muni_ttl.png) no-repeat top right; background-size: cover; min-height: 22rem; width: 100%;}
.c-pagettl-title { position: absolute; top: 50%; font-size: 2.6rem; font-weight: 700; color: var(--cl-txt);}
@media print, screen and (min-width: 640px) {
.c-pagettl { min-height: 38rem;}
.c-pagettl-title {  font-size: 4rem;}
}




/* c-sec
--------------------------------------------------------------*/
.c-sec { padding: 5rem 0;}
.c-sec._border { border-bottom: 1px dotted var(--cl-boder);}
.c-sec._border:last-of-type { border-bottom: none;}
.c-sec-ttl { font-size: 2.2rem; font-weight: 700; color: var(--cl-key01); margin-bottom: 0.5rem;}
.c-sec-leadtxt { font-size: 1.4rem; color: var(--cl-txt); margin-bottom: 5rem;}
@media print, screen and (min-width: 640px) {
.c-sec { padding: 10rem 0;}
.c-sec-ttl { font-size: 4.3rem;}
.c-sec-leadtxt { font-size: 1.6rem; margin-bottom: 5rem;}
}



/* c-cat
--------------------------------------------------------------*/
.c-cat { position: relative; background-color: var(--cl-wh); border-radius: 0 0 2rem 2rem; border-top: 0.5rem solid;}
.c-cat-link { width: 100%; display: inline-block; padding: 0 2rem 2rem; }
.c-cat-ttl { margin: 1.5rem 0 0; font-size: 1.6rem; font-weight: 700; display: flex; align-items: center; justify-content: space-between;}
.c-cat-ttl::after { content: ""; display: inline-block; width: 1em; height: 1em; background: url(/assets/images/ico_arrow.svg) no-repeat center; background-size: contain;}
.c-cat-txt { font-size: 1.4rem;}

@media print, screen and (min-width: 640px) {
.c-cat {}
.c-cat-link { padding: 0 3rem 2rem; }
.c-cat-ttl { margin: 1.5rem 0 0; font-size: 2rem; }
}

.c-cat._cat01 { border-color: var(--cl-tag-01);}
.c-cat._cat02 { border-color: var(--cl-tag-02);}
.c-cat._cat03 { border-color: var(--cl-tag-03);}
.c-cat._cat04 { border-color: var(--cl-tag-04);}
.c-cat._cat05 { border-color: var(--cl-tag-05);}
.c-cat._cat06 { border-color: var(--cl-tag-06);}
.c-cat._cat07 { border-color: var(--cl-tag-07);}
.c-cat._cat08 { border-color: var(--cl-tag-08);}
.c-cat._cat09 { border-color: var(--cl-tag-09);}
.c-cat._cat10 { border-color: var(--cl-tag-10);}
.c-cat._cat11 { border-color: var(--cl-tag-11);}
.c-cat._cat12 { border-color: var(--cl-tag-12);}
.c-cat._cat13 { border-color: var(--cl-tag-13);}
.c-cat._cat14 { border-color: var(--cl-tag-14);}
.c-cat._cat15 { border-color: var(--cl-tag-15);}
.c-cat._cat16 { border-color: var(--cl-tag-16);}
.c-cat._cat17 { border-color: var(--cl-tag-17);}

/* c-cat- cat wrap
--------------------------------------------------------------*/
.c-catlist { display: grid; gap: 3rem 3rem; }
.c-catlist._col2 { grid-template-columns: repeat(1, 1fr); }
.c-catlist._col3 { grid-template-columns: repeat(1, 1fr); }
@media print, screen and (min-width: 640px) {
.c-catlist { }
.c-catlist._col2 { grid-template-columns: repeat(2, 1fr); }
.c-catlist._col3 { grid-template-columns: repeat(3, 1fr); }
}




/* c-card
--------------------------------------------------------------*/
.c-card { position: relative; background-color: var(--cl-wh); border-radius: 2rem; transition: 0.3s;}
.c-card-link { width: 100%; display: inline-block; padding: 2rem; height: 100%; }
.c-card-tag {}
.c-card-tag-item {}
.c-card-ttl { margin: 1.5rem 0; padding-bottom: 0.5rem; font-size: 2rem; font-weight: 700; border-bottom: 1px solid var(--cl-txt);}
.c-card-info { display: flex; flex-direction: column;}
.c-card-info + .c-card-info { margin-top: 1rem;}
.c-card-info:last-of-type { margin-bottom: 3rem;}
.c-card-info-ttl { font-size: 1.2rem; font-weight: 700; width: 7em; border-bottom: 1px solid var(--cl-boder);}
.c-card-info-ttl._tel {width: 4em;}
.c-card-info-detail { font-size: 1.4rem; margin-top: 1rem;}
.c-card-info-ttl._tel + .c-card-info-detail { font-size: 1.8rem;}
.c-card-btn { position: absolute; bottom: 0; text-align: center; width: 100%; margin-left: -2rem; font-size: 1.4rem; padding: 0.25rem; border-radius: 0 0 2rem 2rem;}
.c-card-btn._link { background-color: var(--cl-key01); color: var(--cl-wh); display: flex; align-items: center; justify-content: center;}
.c-card-btn._link::after { content: ""; display: inline-block; width: 1em; height: 1em; background: url(/assets/images/ico_link_wh.svg) no-repeat center; background-size: contain; margin-left: 0.5rem;}
.c-card-btn._link:hover { cursor: pointer;}
.c-card-btn._nolink { background-color: var(--cl-gry);}

.c-card._new { position: relative;}
.c-card._new::before { content: ""; position: absolute; top: -1.5rem; left: -1.5rem; display: inline-block; width: 4rem; height: 4rem; background: url(/assets/images/ico_new.svg) no-repeat center center; background-size: contain;}


a.c-card-link .c-card-ttl { }
a.c-card-link .c-card-ttl::after { content: ""; display: inline-block; width: 1em; height: 1em; background: url(/assets/images/ico_link.svg) no-repeat center; background-size: contain; margin-left: 0.5rem;}

@media print, screen and (min-width: 640px) {
.c-card._link:hover { box-shadow: 0 0 1rem rgba(0,0,0,0.1); scale: 102%;}
.c-card-link { padding: 3rem; }
.c-card-ttl { margin: 2.5rem 0; font-size: 2.2rem;}
.c-card-btn { margin-left: -3rem; }
.c-card-info { flex-direction: row; align-items: center;}
.c-card-info-ttl { width: 7em; text-align: center; border-bottom: none;}
.c-card-info-ttl._tel {width: 7em;}
.c-card-info-detail { font-size: 1.6rem; width: calc(100% - 6em); padding-top: 0rem; margin-top: 0rem; padding-left: 1rem; margin-left: 1rem; border-top: 0; border-left: 1px solid var(--cl-boder);}
.c-card-info-ttl._tel + .c-card-info-detail { text-decoration: none;}
.c-card-info-ttl._tel + .c-card-info-detail { font-size: 2rem;}
.c-card._new::before { top: -1.5rem; left: -1.5rem; width: 5rem; height: 4.9rem;}
}




/* c-cardlist - card wrap
--------------------------------------------------------------*/
.c-cardlist { display: grid; gap: 3rem; }
.c-cardlist._col2 { grid-template-columns: repeat(1, 1fr); }
.c-cardlist._col3 { grid-template-columns: repeat(1, 1fr); }

@media print, screen and (min-width: 640px) {
.c-cardlist { }
.c-cardlist._col2 { grid-template-columns: repeat(2, 1fr); }
.c-cardlist._col3 { grid-template-columns: repeat(3, 1fr); }
}


/* sidemenu
--------------------------------------------------------------*/
.c-sidemenu { position: static; z-index: 10; display: none;}
.c-sidemenu-box { position: sticky; top: 15rem; max-width: 26rem; background: var(--cl-wh); border-radius: 2rem; padding: 1.5rem 2rem; margin: 10rem 4rem 10rem 0;}
.c-sidemenu-ttl { font-size: 1.6rem; font-weight: 700; color: var(--cl-key01); text-align: center; border-bottom: 1px solid var(--cl-boder); margin-bottom: 2rem; padding-bottom: 1rem;}
.c-sidemenu-cat {}
.c-sidemenu-cat + .c-sidemenu-cat { margin-top: 2rem; }
.c-sidemenu-cat-ttl { font-size: 1.2rem; font-weight: 700; color: var(--cl-key01);}
.c-sidemenu-cat-info { font-size: 1.6rem; color: var(--cl-txt);}


.page-wrapper-content { display: grid; grid-template-columns: 1fr;}

@media print, screen and (min-width: 640px) {
.c-sidemenu { display: inline-block;}
.page-wrapper-content { display: grid; grid-template-columns: 30rem 1fr;}
}



/* btn
--------------------------------------------------------------*/

.c-btn { background-color: var(--cl-key01); color: var(--cl-wh); padding: 1rem 0; margin-top: 3rem; border-radius: 5rem; display: flex;justify-content: center; align-items: center; cursor: pointer;}
.c-btn-txt { font-size: 1.6rem; font-weight: 700;}
.c-btn-txt::before { content: ""; display: inline-block; width: 1.5rem; height: 1.5rem; background: url(/assets/images/ico_nav.svg) no-repeat center center; margin-right: 0.5rem;}

/* utility
--------------------------------------------------------------*/
.u-subsidytag { color: var(--cl-wh); font-size: 1.2rem; font-weight: 700; padding: 0.5rem 1rem; text-align: center; border-radius: 0.8rem;}
.u-subsidytag._cat01 { background-color: var(--cl-tag-01);}
.u-subsidytag._cat02 { background-color: var(--cl-tag-02);}
.u-subsidytag._cat03 { background-color: var(--cl-tag-03);}
.u-subsidytag._cat04 { background-color: var(--cl-tag-04);}
.u-subsidytag._cat05 { background-color: var(--cl-tag-05);}
.u-subsidytag._cat06 { background-color: var(--cl-tag-06);}
.u-subsidytag._cat07 { background-color: var(--cl-tag-07);}
.u-subsidytag._cat08 { background-color: var(--cl-tag-08);}
.u-subsidytag._cat09 { background-color: var(--cl-tag-09);}
.u-subsidytag._cat10 { background-color: var(--cl-tag-10);}
.u-subsidytag._cat11 { background-color: var(--cl-tag-11);}
.u-subsidytag._cat12 { background-color: var(--cl-tag-12);}
.u-subsidytag._cat13 { background-color: var(--cl-tag-13);}
.u-subsidytag._cat14 { background-color: var(--cl-tag-14);}
.u-subsidytag._cat15 { background-color: var(--cl-tag-15);}
.u-subsidytag._cat16 { background-color: var(--cl-tag-16);}
.u-subsidytag._cat17 { background-color: var(--cl-tag-17);}

.u-munistag { color: var(--cl-key01); font-size: 1.2rem; font-weight: 700; background-color: var(--cl-wh); border: var(--cl-key01) 2px solid; padding: 0.3rem 0.8rem;  border-radius: 0.8rem;}

@media print, screen and (min-width: 640px) {
.u-subsidytag { font-size: 1.4rem;}
.u-munistag { font-size: 1.4rem;}
}


/* u-tellink */
.u-tellink { text-decoration: underline; text-decoration-thickness: 1px;}
@media print, screen and (min-width: 640px) {
.u-tellink { text-decoration: none; text-decoration-thickness: 0; pointer-events: none;}
}

/*----------------------------------------------------------------------------------------------------------------------------

page unique

----------------------------------------------------------------------------------------------------------------------------*/


/* kv
--------------------------------------------------------------*/
.kv { position: relative; overflow: hidden; background: var(--cl-bg-grn) url(/assets/images/img_kv_sp.svg) no-repeat center bottom; background-size: contain; padding-bottom: 31rem; padding-top: 8rem;}
.kv-img { display: flex; align-items: center; justify-content: center;}

@media print, screen and (min-width: 640px) {
.kv { background-image: none; padding-top: 15rem; padding-bottom: 10rem;}
}

.kv .c-sec-leadtxt { margin-bottom: 2rem;}


/* pckv */
.pckv { position: relative; min-height: 63rem;}
.pckv-mappin {}

.pckv-mappin-item { position: absolute; color: var(--cl-wh); font-size: 1.2rem; z-index: 1;}
.pckv-menu.kv-menu-area { position: absolute; z-index: 10;}


@media print, screen and (min-width: 640px) {
.pckv-mappin-item._area01 { top: 18%; left: 19%; width: 15.3rem;}
.pckv-mappin-item._area02 { top: 22%; left: 38%; width: 11.5rem;}
.pckv-mappin-item._area03 { top: 45%; left: 16%; width: 16.1rem;}
.pckv-mappin-item._area04 { top: 71%; left: 16%; width: 21.95rem;}
.pckv-mappin-item._area05 { top: 17%; right: 18%; width: 30.9rem;}
.pckv-mappin-item._area06 { top: 40%; right: 18%; width: 18.2rem;}

.pckv-menu._area01 { top: 0%; left: 0%;}
.pckv-menu._area02 { top: 8%; left: 46%;}
.pckv-menu._area03 { top: 50%; left: 0%;}
.pckv-menu._area04 { top: 80%; left: 0%;}
.pckv-menu._area05 { top: 0%; right: 0%;}
.pckv-menu._area06 { top: 36%; right: 0%;}

}

@media print, screen and (min-width: 1200px) {
.pckv-mappin-item._area01 { top: 20%; left: 19%; width: 15.3rem;}
.pckv-mappin-item._area02 { top: 21%; left: 38%; width: 11.5rem;}
.pckv-mappin-item._area03 { top: 43%; left: 15%; width: 16.1rem;}
.pckv-mappin-item._area04 { top: 68%; left: 16%; width: 21.95rem;}
.pckv-mappin-item._area05 { top: 13%; right: 18%; width: 30.9rem;}
.pckv-mappin-item._area06 { top: 40%; right: 18%; width: 18.2rem;}
}

@media print, screen and (min-width: 1300px) {
.pckv-mappin-item._area01 { top: 20%; left: 19%; width: 15.3rem;}
.pckv-mappin-item._area02 { top: 21%; left: 38%; width: 11.5rem;}
.pckv-mappin-item._area03 { top: 43%; left: 17%; width: 16.1rem;}
.pckv-mappin-item._area04 { top: 68%; left: 18%; width: 21.95rem;}
.pckv-mappin-item._area05 { top: 13%; right: 18%; width: 30.9rem;}
.pckv-mappin-item._area06 { top: 40%; right: 18%; width: 18.2rem;}
}


@media print, screen and (min-width: 1400px) {
.pckv-mappin-item._area01 { top: 20%; left: 19%; width: 15.3rem;}
.pckv-mappin-item._area02 { top: 21%; left: 40%; width: 11.5rem;}
.pckv-mappin-item._area03 { top: 43%; left: 19%; width: 16.1rem;}
.pckv-mappin-item._area04 { top: 68%; left: 20%; width: 21.95rem;}
.pckv-mappin-item._area05 { top: 13%; right: 18%; width: 30.9rem;}
.pckv-mappin-item._area06 { top: 40%; right: 18%; width: 18.2rem;}
}

@media print, screen and (min-width: 640px) {
.pckv .kv-img { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 69rem; height: auto;}
}


/* kv-menu */
.kv-menu {}
.kv-menu-wrap { margin-top: 1rem; display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem;}
.kv-menu-area { position: relative;}
.kv-menu-txt { background: var(--cl-wh); border-radius: 1rem; padding: 1rem 1rem; font-size: 1.3rem; color: var(--cl-key01); font-weight: 700; display: flex; align-items: center; justify-content: space-between;}
.kv-menu-txt::after { content: ""; display: inline-block; width: 1em; height: 1em; background: url(/assets/images/ico_arrow_key.svg) no-repeat center; background-size: contain; transition: transform 0.3s ease;}

.kv-menu-wrap .kv-menu-txt::after { transform: rotate(90deg); }
.kv-menu-area.open .kv-menu-txt::after { transform: rotate(-90deg);}

@media print, screen and (min-width: 640px) {
.kv-menu-area { max-width: 27rem;}
.kv-menu-txt { padding: 2rem 1.5rem;}
.kv-menu-txt::after { display: none;}
.kv-menu-area { width: 26rem;}
.kv-menu-area._area02 { width: 15.2rem;}
.kv-menu-area._area02 .kvmenu { grid-template-columns: repeat(1, 1fr);}
}




/* kvmenu */
.kvmenu { display: none; background: var(--cl-wh); border-radius: 0 0 1rem 1rem; padding: 2rem 1rem 1rem; margin-top: -1rem;}
.kvmenu.open { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.5rem 0rem; position: absolute; left: 0; top: 100%; /* .kv-menu-area の下に配置 */ z-index: 10; width: 100%;}
.kvmenu-item { }
.kvmenu-item + .kvmenu-item {}
.kvmenu-link { text-decoration: underline;}
@media print, screen and (min-width: 640px) {
.kvmenu { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.8rem; padding: 1.5rem; margin-top: -2rem; font-size: 1.4rem; }
}



/* pckvbtn */
.pckvbtn { position: absolute; bottom: 0; right: 0;}
.pckvbtn a { background: var(--cl-key01); color: var(--cl-wh); font-size: 1.8rem; font-weight: 700; padding: 1.5rem 3rem; border-radius: 3rem; }







/* section feature
--------------------------------------------------------------*/
.c-sec.feature { background-color: var(--cl-bg);}
.c-sec.feature .c-sec-ttl { display: flex; align-items: center;}
.c-sec.feature .c-sec-ttl::before { content: ""; display: inline-block; width: 1em; height: 1em; background: url(/assets/images/ico_feature.svg) no-repeat center; background-size: contain; margin-right: 0.5rem;}


.c-sec.feature { position: relative;}

.c-sec.feature::before,
.c-sec.feature::after { content: ""; position: absolute; top: 0; bottom: 0; width: 50vw; /* 左右それぞれ50vwずつ */ background-color: var(--cl-bg); /* 背景色を指定 */}

.c-sec.feature::before {left: -50vw; /* 左側に配置 */}

.c-sec.feature::after {right: -50vw; /* 右側に配置 */}


/* page-subsidy
--------------------------------------------------------------*/
.page-subsidy {}
.page-subsidy .c-pagettl { background: var(--cl-bg-grn) url(/assets/images/bg_subsidy_ttl.png) no-repeat top right; background-size: cover; }

/* page-area
--------------------------------------------------------------*/
.page-area .c-pagettl { background: var(--cl-bg-grn) url(/assets/images/bg_muni_ttl.png) no-repeat top right; background-size: cover; }


/* page-search
--------------------------------------------------------------*/
.page-search .c-pagettl { background: var(--cl-bg-grn) url(/assets/images/bg_search_ttl.png) no-repeat top right; background-size: cover; }
.searchttl { font-weight: 700; font-size: 1.8rem; margin-top: 5rem; line-height: 1.5;margin-bottom: -2.5rem;}
.searchttl-min { font-weight: 400; font-size: 1.4rem;}
.searchttl-num { font-weight: 700; font-size: 1.8rem;}

@media print, screen and (min-width: 640px) {
.searchttl { font-size: 2.6rem; margin-top: 10rem; margin-bottom: -5rem;}
.searchttl-min { font-size: 1.8rem;}
.searchttl-num { font-size: 2.6rem;}
}

/* page-home
--------------------------------------------------------------*/


/* section new
--------------------------------------------------------------*/
.c-sec.new { background-color: var(--cl-bg);}

/* 404
--------------------------------------------------------------*/
.page-404 .c-pagettl { background: var(--cl-bg-grn) url(/assets/images/bg_404_ttl.png) no-repeat top right; background-size: cover; }
.page-404 .c-sec { text-align: center;}
/* totopbtn  */
.totopbtn { text-align: center;}
.totopbtn a { background: var(--cl-key01); color: var(--cl-wh); font-size: 1.8rem; font-weight: 700; padding: 1.5rem 3rem; border-radius: 6rem; margin: 0 auto;}