@charset "UTF-8";
/* CSS Document */
html{
	height: 100%;
}

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Noto+Serif+JP:wght@400;500&display=swap');

body{
    /*font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', '游ゴシック  Medium', meiryo, sans-serif;*/
 font-family: Futura, 'Century Gothic','Arial','Noto Sans JP', "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;

    margin: 0;
	height: 100%;
    text-align: center;
    overflow-x: hidden;
	line-height: 1.2;
}
a {color: #002db2;}
a:hover {color: #00bfff;}

a {transition-duration: .5s; opacity: 1;}
a:hover {opacity: .5 }

img{
	width: 100%;
	height: auto;
	vertical-align: bottom;
}
h2 {
    position: relative;
    padding: 1.0em 0 1.4em 0;
    font-size: 1.8em;
    font-weight: 600;
    color: #2E8FC7;
	/*display: inline-block;*/
    padding-bottom: 4px;
	margin-bottom: 1.0em;
}
h3{
	text-align: left;
	font-size: 1.5em;
	color: #000000;/*文字色*/
	padding: 0.5em 0;/*上下の余白*/
	margin:2.0em 0 1.0em 0;
	/* border-top: solid 2px #000000;/*上線*/
	border-bottom: solid 2px #000000;/*下線*/
}
h4{
	text-align: left;
	font-size: 1.2em;
	color: #000000;/*文字色*/
	padding: 0.5em 0;/*上下の余白*/
	margin:2.0em 0 1.0em 0;
}
p{
	text-align: left ;
	line-height: 2.0;
}
.pdfmark{
	width: 35px;
	vertical-align: middle; 
}

.serif-text {
  font-family: "Noto Serif JP", "Yu Mincho", "游明朝", "MS Mincho", "ＭＳ 明朝", serif;
}


/*heaedr
header nav
---------------------------- */ 
.inner{
	width: 1000px;
	margin: 0 auto;
}
header{
	display: block;
	padding: 10px 0 6px;
	background: #fff;
}
header .inner{
	display: flex;
	align-items: center;
	gap: 28px;
    line-height: 1.4;
}

h1#logo{
	width: 90px;
	flex-shrink: 0;
	margin: 0;
    font-weight:500;
    font-size:180%;
}
.header-main{
	flex: 1;
	position: relative;
	min-width: 0;
	padding-top: 2px;
}
.header-catch{
	margin: 0 0 8px;
	min-height: 48px;
	text-align: center;
	font-family: "Noto Serif JP", "Yu Mincho", "游明朝", "MS Mincho", "ＭＳ 明朝", serif;
	font-size: 20px;
	font-weight: 400;
	line-height: 48px;
	letter-spacing: 0.04em;
	color: #0A8D4B;
	white-space: nowrap;
}
        #top_navi  {
        display: flex;
        /*float:right;*/
        /*width: 20%;*/
        padding-right: 1.0em;
        }

    /* ==============
        #top_navi:Menu
       ============== */

    #top_navi ul {
        margin: 0;
        padding: 0;
        list-style-type: none;
        /*font-size:70%;*/
    }

    #top_navi a {
        display: block;
        margin: 0 0 10px 2px;
        padding: 0 5px;
        text-align: center;
        text-decoration: none;
        color: #000000;
        border: 1px solid #000000;
        font-size:90%;
    }

header nav {
    margin: 0;
    line-height: 1.4;
}
header nav ul{
	display: flex;
    align-items: center;
	justify-content: space-between;
	flex-wrap: nowrap;
	gap: 0;
}
header nav ul li a{
	color: #000;
	text-decoration: none;
	padding: 4px 0;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.04em;
	white-space: nowrap;
}
header nav li:last-child a{
    color: #000;
    background: transparent;
 }
#nav_toggle{
	display: none;
}
.sns-wrap-sp {
	display: none;
}
.nav-toggle-label {
	display: none;
}

.header-main > .sns-wrap {
  position: absolute;
  top: 2px;
  right: 0;
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  align-items: center;
}
.header-main > .sns-wrap img {
	height: 44px;
	width: auto;
}
.header-main > .sns-wrap img.x-logo {
	height: 36px;
}

header nav ul li.home{
    display: none;
}


/*aboutエリア
---------------------------------------------------------------*/ 
#wrapper-aboutarea {
    clear:both;
    overflow:hidden;
    background: #fff;
	padding: 40px 0;
}

/*movieエリア
---------------------------------------------------------------*/
#wrapper-moviearea {
	clear: both;
	background: #fff;
	padding: 20px 0 60px;
}
.movie-block {
	max-width: 688px;
	margin: 0 auto;
	text-align: left;
}
.movie-frame {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	margin: 0 0 20px;
	background: #000;
}
.movie-frame iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
.movie-block h2 {
	position: static;
	padding: 0 0 8px;
	margin: 0;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-size: 22px;
	font-weight: 400;
	line-height: 1.45;
	color: #1941C6;
	text-align: left;
}
.movie-block p {
	margin: 0;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.65;
	color: #333;
	text-align: left;
}

@media screen and (max-width: 767px) {
	.movie-block {
		max-width: 100%;
	}
	.movie-block h2 {
		font-size: 18px;
	}
	.movie-block p {
		font-size: 14px;
	}
} 
#wrapper-infoarea {
    clear:both;
    overflow:hidden;
    background: #D1F4FF;
	padding: 0;
}


/*more_button
---------------------------- */
.more_button a {
	width: 60%;/*48%;*/
	display: inline-block;
	color: #2E8FC7;
    margin: 2.4em 0;
	font-size: 1.3em;
	font-weight: 400;
	height: 2.5em;
	line-height: 2.7em;
	background-color: #fff;
	border: 1px solid #2E8FC7;
	text-align: center;
	outline: none;
	text-decoration: none;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	-ms-transition: all .3s ease-in-out;
	-o-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
	position: relative;
    transition: 1.0s;
}

.more_button a:hover,
.more_button a:active {
    color: #fff;
    background-color: #2E8FC7; 
    border-color: #fff; 
}
.more_button a:after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    width: 12px;
    height:12px;
    margin: -4px 0 0 0;
    border-top: solid 1px #2E8FC7;
    border-right: solid 1px #2E8FC7;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
}
.more_button a:hover::after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    width: 12px;
    height:12px;
    margin: -4px 0 0 0;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
}


/*グリッド全体
---------------------------------------------------------------*/ 

    /* グリッド全体 */

    * html .gridWrapper{height:1%;}

 
    /* グリッド共通 ベース:トップページ2カラム */
    .grid2c{
        width:48.6%;
        display:inline-flex;
        justify-content: space-around;
		padding: 20px 0;
    }

    /*.grid2c h3{
		width: 400px;
		text-align: center;
        padding:20px 30px;
        margin-bottom:1.0em;
        font-size: 1.3em;
        font-weight:600;
		border: 6px solid #2E8FC7;
    }*/





/*newsエリア
---------------------------------------------------------------*/ 
#wrapper-newsarea {
    clear:both;
    overflow:hidden;
    background: #fff;
	padding: 30px 0;
    /*margin: 0 -20px;*/
}

    /* ========================
        1column--NEWS
       ======================== */
      .guideareagrid1{
            width:100%;
            margin:20px 0;
        }
/*news(.update)
---------------------------- */
div.update {
width: 100%;
padding: 10px 0 20px;
margin: 10px 0 20px 0;
background-color: #fff;
}

/* --- 見出し --- */
div.update h3 {
margin: 0 0 5px;
font-size: 100%;
}

/* --- 新着リスト --- */
.news-list {
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid #707070;
}
.news-list li {
	border-bottom: 1px solid #707070;
}
.news-list a {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 12px 8px;
	text-decoration: none;
	color: #333;
	text-align: left;
}
.news-list a:hover {
	opacity: 1;
	background-color: #fafafa;
	color: #333;
}
.news-list time {
	flex: 0 0 6.8em;
	color: #999;
	font-size: 14px;
	letter-spacing: 0.04em;
	white-space: nowrap;
}
.news-cat {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 103px;
	width: 103px;
	height: 25px;
	border-radius: 12.5px;
	font-size: 12px;
	font-weight: 700;
	color: #333;
	line-height: 1;
	white-space: nowrap;
}
.news-cat.cat-info {
	background-color: #F7F79B; /* 情報提供 */
}
.news-cat.cat-event {
	background-color: #B4F79B; /* イベント案内 / イベント */
}
.news-cat.cat-member {
	background-color: #9BE5F7; /* メンバー募集 */
}
.news-cat.cat-notice {
	background-color: #D8B081; /* お知らせ */
}
.news-cat.cat-report {
	background-color: #81D89C; /* 活動報告 */
}
.news-cat.cat-volunteer {
	background-color: #81ACD8; /* ボランティア */
}
.news-cat.cat-recruit {
	background-color: #81ACD8; /* 募集 */
}
.news-list-empty {
	padding: 20px 8px;
	text-align: center;
	color: #666;
	font-size: 14px;
	border-bottom: 1px solid #707070;
}
.news-author {
	flex: 0 0 auto;
	font-size: 12px;
	font-weight: 700;
	color: #333;
	white-space: nowrap;
}
.news-title {
	flex: 1;
	min-width: 0;
	font-size: 15px;
	font-weight: 400;
	color: #333;
	line-height: 1.5;
}


/*more_kiji
---------------------------- */
.morekiji a {
	width: 200%;
	display: inline-block;
	color: #ffffff;
    margin: 30px 0;
	font-size: 15px;
	font-weight: normal;
	height: 2.5em;
	line-height: 2.7em;
	background-color: #2E8FC7;
	border: 1px solid #000000;
	text-align: center;
	outline: none;
	text-decoration: none;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	-ms-transition: all .3s ease-in-out;
	-o-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
	position: relative;
    transition: 1.0s;
}

.morekiji a:hover,
.morekiji a:active {
    color: #fff;
    background-color: #000; 
    border-color: #fff; 
}
.morekiji a:after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    width: 8px;
    height: 8px;
    margin: -4px 0 0 0;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
}
.morekiji a:hover::after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    width: 8px;
    height: 8px;
    margin: -4px 0 0 0;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
}




/*messageエリア
---------------------------------------------------------------*/ 
#wrapper-messagearea {
    clear:both;
    width:100%;
    height: auto;
    overflow:hidden;

}

#bg_dark {
    width: 100%;
    /*height: 36vh;/*50vh;*/
	margin:0 auto;
	position: relative;
	background: rgba(0,0,0,.8);
}
.bg_dark img{
    width: 100%;
    /*height: 36vh;/*60vh;*/
    object-fit:cover;
	opacity: 0.9;
}

.messagearea_txt{
	position: absolute;
	top: 10%;
    z-index: 1;
	width: 50%;
    color: #fff;
    margin: 0;
    text-align: left;
    line-height: 1.5;
}

.overlay::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: rgba(0, 0, 0, 0.8);
}

    .messagearea_view_box{
        display: block;
        position: absolute;
        top:70%;
        left:10;
        height: 100%;
        z-index: 2;
    }

    .message_box{
        display: block;
        position: absolute;
        z-index: 10;
        font-size: 12.0em;
        font-weight: 800;
        color: #fff;
        top: 75%;
        left: 50%;
    }

    .grid2c_right{
        width:40%;
        display:inline-flex;
        text-align: right;
        margin-right: -600px; /* ネガティブマージンを指定。右に100pxずらす。 */
    }
/*linkエリア//登録
---------------------------------------------------------------*/ 
#wrapper-linkarea {
    clear:both;
    overflow:hidden;
    background: #eee;
	padding: 40px 0;
}


    /* グリッドlink ベース:トップページ3カラム-201903204カラムへ変更 */
    .grid3c_l{
        width:22.4%;/* 100%に対しての幅*/
        display:inline-flex;
    }

    .grid3c_l img{
        max-width: 300px;
        height: auto;
        vertical-align: bottom;
        padding: 0.4em;
    }



/*.worksWrapper
---------------------------- */
.worksWrapper{
    padding: 3.0em 0;
}

/*.title_all(h1)
---------------------------- */
.title_all {
    position: relative;
    padding: 1.0em 0 1.4em 0;
    font-size: 240%;
    font-weight: 600;
    color: #2E8FC7;
	display: inline-block;
	font-family: "Noto Serif JP", "Yu Mincho", "游明朝", "MS Mincho", "ＭＳ 明朝", serif;
    padding-bottom: 4px;
	margin-bottom: 1.0em;
}
.title_all_color {
    position: relative;*/
    width:100%;
    padding: 0.3em 0 0.3em 0; 
    font-size: 230%;
    font-weight:500;
    color: #fff;
}
.title_all_subtitle{
		display: block;       /* 下の行に表示する */
	    font-size: 0.6em;
}

/*.topcatch
---------------------------- */
.topcatch  {
    /*position: relative;*/
    width:100%;
    padding: 1.8em 0 1.0em 0; 
    font-size: 230%;
    font-weight:500;
    color: #000;
}

/*.imgleftcontainer
---------------------------- */
.imgleft {
	/*max-width: 50%;*/
}
.imglefttext {
	text-align: left;
}
.imgleftcontainer {
  display: flex;
  align-items: center;
  gap: 48px;
}

#wrapper-aboutarea {
	padding: 56px 0 64px;
}
#wrapper-aboutarea .title_all {
	display: block;
	font-size: 32px;
	font-weight: 400;
	color: #1941C6;
	letter-spacing: 0.06em;
	line-height: 1.6;
	padding: 0 0 40px;
	margin: 0;
}
#wrapper-aboutarea .imgleft {
	width: 250px;
	flex-shrink: 0;
}
#wrapper-aboutarea .imglefttext {
	flex: 1;
	min-width: 0;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.7;
	color: #333;
	letter-spacing: 0.02em;
}

/* 画面幅が768px以下の場合（スマホ・タブレット向け） */
@media (max-width: 768px) {
  .imgleftcontainer {
    flex-direction: column;
    align-items: center;
    gap: 24px;
  }
  #wrapper-aboutarea .title_all {
    font-size: 22px;
    padding-bottom: 28px;
    letter-spacing: 0.04em;
  }
  #wrapper-aboutarea .imgleft {
    width: 180px;
  }
  #wrapper-aboutarea .imglefttext {
    font-size: 15px;
    line-height: 1.8;
  }
}



/*-------------------------------------------------------------PIC梱包ボックス(トップページ以外)*/
#toppicWrap {
    width:100%;
    background-color:#888;
}

#toppic {
	margin:0 auto;
	position: relative;
}

.toppic_txt{
	position: absolute;/* 絶対位置 */
	bottom: 0.6em;
	color: #fff;
    z-index: 1;
	/*background: rgba(0,0,0,0.5);/* 帯の透明度 */ 
	width: 100%;
    margin: 0;
    font-size: 220%;
    text-align: center;
}

#toppic img {
	width:100%;
	padding:0;
    margin: 0;
}

.overlay::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: rgba(0, 0, 0, 0.4);
}

/*allエリア
---------------------------------------------------------------*/
#wrapper-allarea {
    clear:both;
    overflow:hidden;
    background: #fff;
	padding: 20px 0 50px 0;
}

/*newslistエリア（カード型）
---------------------------------------------------------------*/
#wrapper-newslist {
	clear: both;
	background: #fff;
	padding: 10px 0 60px;
}
#wrapper-newslist .newslist-title {
	margin-bottom: 36px;
}
.newslist-title {
	margin: 0 0 36px;
	padding: 0;
	text-align: center;
	font-family: "Noto Serif JP", "Yu Mincho", "游明朝", "MS Mincho", "ＭＳ 明朝", serif;
	font-size: 26px;
	font-weight: 700;
	color: #0FA520;
	letter-spacing: 0.08em;
}
.news-breadcrumbs {
	max-width: 1000px;
	width: 90%;
	margin: 16px auto 0;
	padding: 0;
}
.news-breadcrumbs ol {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}
.news-breadcrumbs ol li {
	display: inline;
	font-size: 14px;
	color: #999;
}
.news-breadcrumbs ol li:not(:first-child)::before {
	content: " >> ";
	color: #999;
}
.news-breadcrumbs ol li a {
	color: #999;
	text-decoration: none;
}
.news-breadcrumbs ol li span {
	color: #999;
}
.news-breadcrumbs ol li:last-child span {
	color: #000;
}
.news-breadcrumbs ol li:first-child span {
	color: #999;
}
.news-card-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px 28px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.news-card-list > li {
	margin: 0;
	padding: 0;
	text-align: left;
}
.news-card-list a {
	display: block;
	color: #333;
	text-decoration: none;
	opacity: 1;
}
.news-card-list a:hover {
	opacity: 0.85;
	color: #333;
}
.news-card-thumb {
	overflow: hidden;
	aspect-ratio: 4 / 3;
	background: #eee;
}
.news-card-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	vertical-align: bottom;
}
.news-card-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin: 12px 0 8px;
}
.news-card-meta time {
	font-size: 14px;
	color: #999;
	letter-spacing: 0.04em;
}
.news-card-cat {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 94px;
	height: 20px;
	padding: 0 10px;
	border-radius: 10px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	color: #333;
	white-space: nowrap;
}
.news-card-cat.cat-volunteer {
	background: #81ACD8; /* ボランティア */
}
.news-card-cat.cat-recruit {
	background: #81ACD8; /* 募集 */
}
.news-card-cat.cat-event {
	background: #9F81D8; /* イベント */
}
.news-card-cat.cat-notice {
	background: #D8B081; /* お知らせ */
}
.news-card-cat.cat-report {
	background: #81D89C; /* 活動報告 */
}
.news-card-title {
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	color: #333;
	text-align: left;
}
.news-pagination {
	margin: 48px 0 0;
	text-align: center;
}
.news-pagination ol {
	display: inline-flex;
	align-items: center;
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.news-pagination a {
	color: #999;
	font-size: 18px;
	text-decoration: none;
	opacity: 1;
}
.news-pagination a.is-current {
	color: #000;
	font-weight: 700;
}
.news-pagination a:hover {
	color: #0FA520;
	opacity: 1;
}
.news-card-empty {
	grid-column: 1 / -1;
	padding: 40px 10px;
	text-align: center;
	font-size: 15px;
	line-height: 1.8;
	color: #666;
}

@media screen and (max-width: 960px) {
	.news-card-list {
		grid-template-columns: repeat(2, 1fr);
		gap: 28px 18px;
	}
}
@media screen and (max-width: 767px) {
	.newslist-title {
		font-size: 22px;
		margin-bottom: 24px;
	}
	.news-card-list {
		grid-template-columns: 1fr;
		gap: 28px;
	}
	.news-pagination ol {
		gap: 12px;
	}
	.news-pagination a {
		font-size: 16px;
	}
}

/*volunteer団体紹介
---------------------------------------------------------------*/
#wrapper-volunteer {
	clear: both;
	background: #fff;
	padding: 10px 0 60px;
}
.volunteer-title {
	margin: 0 0 28px;
	padding: 0;
	text-align: center;
	font-family: "Noto Serif JP", "Yu Mincho", "游明朝", "MS Mincho", "ＭＳ 明朝", serif;
	font-size: 26px;
	font-weight: 700;
	color: #0FA520;
	letter-spacing: 0.08em;
}
.volunteer-lead {
	margin: 0 auto 36px;
	max-width: 760px;
	text-align: center;
	font-size: 16px;
	line-height: 1.9;
	color: #333;
}
.volunteer-map {
	margin: 0 auto 40px;
	text-align: center;
}
.volunteer-map img {
	display: inline-block;
	max-width: 520px;
	width: 100%;
	height: auto;
	vertical-align: bottom;
}
.volunteer-stats-caption {
	margin: 0 0 18px;
	text-align: center;
	font-size: 15px;
	color: #333;
}
.volunteer-stats {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
	margin: 0 0 40px;
	padding: 0;
	list-style: none;
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
}
.volunteer-stats > li {
	position: relative;
	min-height: 109px;
	box-sizing: border-box;
}
.volunteer-stats .stat-link {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 109px;
	padding: 28px 12px 16px;
	box-sizing: border-box;
	color: inherit;
	text-decoration: none;
	opacity: 1;
}
.volunteer-stats .stat-link:hover {
	opacity: 0.9;
	color: inherit;
}
.volunteer-stats .stat-label {
	position: absolute;
	top: 14px;
	left: 50%;
	transform: translateX(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 120px;
	height: 27px;
	padding: 0 18px;
	border-radius: 14px;
	font-size: 13px;
	line-height: 1;
	white-space: nowrap;
}
.volunteer-stats .stat-value {
	margin: 12px 0 0;
	font-size: 28px;
	line-height: 1.2;
	font-weight: 400;
}
.volunteer-stats .stat-num {
	font-size: 44px;
	font-weight: 400;
	letter-spacing: 0.02em;
}
.volunteer-stats .stat-prefix {
	font-size: 28px;
}
.stat-groups {
	background: #4C8A7A;
	color: #fff;
}
.stat-groups .stat-label {
	background: #fff;
	color: #267F25;
}
.stat-companies {
	background: #45678A;
	color: #fff;
}
.stat-companies .stat-label {
	background: #fff;
	color: #267F25;
}
.stat-members {
	background: #fff;
	border: 1px solid #707070;
	color: #267F25;
}
.stat-members .stat-label {
	background: #87B386;
	color: #fff;
}
.volunteer-accordion {
	margin: 0 0 48px;
}
.accordion-item {
	margin: 0 0 8px;
}
.accordion-btn {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 43px;
	padding: 0 22px;
	border: 0;
	box-sizing: border-box;
	font-size: 16px;
	font-weight: 700;
	color: #333;
	text-align: left;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
}
.accordion-btn.block-niikawa {
	background: #CAEBA4;
}
.accordion-btn.block-toyama {
	background: #ADE8AE;
}
.accordion-btn.block-takaoka {
	background: #E3F19C;
}
.accordion-btn.block-tonami {
	background: #9FE7D9;
}
.accordion-icon {
	display: inline-block;
	width: 0;
	height: 0;
	border-left: 6.5px solid transparent;
	border-right: 6.5px solid transparent;
	border-top: 13px solid #000;
	transition: transform 0.2s ease;
}
.accordion-item.is-open .accordion-icon {
	transform: rotate(180deg);
}
.accordion-panel {
	display: none;
	padding: 24px 0 16px;
}
.accordion-item.is-open .accordion-panel {
	display: block;
}
.group-card-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px 16px;
	margin: 0;
	padding: 0;
	list-style: none;
	width: 100%;
	box-sizing: border-box;
}
.group-card-list > li {
	margin: 0;
	padding: 0;
	min-width: 0;
}
.group-card-empty {
	grid-column: 1 / -1;
	padding: 18px 16px;
	border: 1px dashed #b0b0b0;
	background: #fafafa;
	color: #666;
	font-size: 14px;
	line-height: 1.6;
	text-align: center;
	box-sizing: border-box;
}
.group-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	border: 1px solid #707070;
	background: #fff;
	color: #333;
	text-decoration: none;
	box-sizing: border-box;
	opacity: 1;
}
.group-card:hover {
	opacity: 0.9;
	color: #333;
}
.group-card-head {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	padding: 6px 12px 6px 0;
	box-sizing: border-box;
}
.group-no {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 35px;
	width: 35px;
	min-height: 44px;
	align-self: stretch;
	background: #0A7C17;
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
}
.group-name {
	flex: 1 1 auto;
	min-width: 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.35;
	color: #0A7C17;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}
.group-arrow {
	display: inline-block;
	flex: 0 0 auto;
	width: 0;
	height: 0;
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
	border-left: 10px solid #0A7C17;
}
.company-group-page .group-no {
	background: #45678A;
}
.company-group-page .group-name {
	color: #45678A;
}
.company-group-page .group-arrow {
	border-left-color: #45678A;
}
.group-card-table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	flex: 1 1 auto;
}
.group-card-table th,
.group-card-table td {
	padding: 8px 10px;
	vertical-align: top;
	font-size: 13px;
	line-height: 1.5;
	border-top: 1px solid #ccc;
}
.group-card-table tr:last-child th,
.group-card-table tr:last-child td {
	border-bottom: 0;
}
.group-card-table th {
	width: 5.5em;
	background: #000;
	color: #fff;
	font-weight: 400;
	text-align: center;
	white-space: nowrap;
}
.group-card-table td {
	background: #fff;
	color: #000;
	text-align: left;
	word-break: break-word;
}
.group-card-table .group-card-activity {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	overflow: hidden;
}
.volunteer-cta {
	display: flex;
	justify-content: center;
	gap: 24px;
	flex-wrap: wrap;
	margin: 10px 0 0;
}
.cta-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	width: 424px;
	max-width: 100%;
	height: 71px;
	padding: 0 24px;
	border: 1px solid #707070;
	background: #fff;
	box-sizing: border-box;
	font-size: 22px;
	font-weight: 700;
	color: #1941C6;
	text-decoration: none;
	opacity: 1;
}
.cta-btn:hover {
	opacity: 0.85;
	color: #1941C6;
}
.cta-arrow {
	display: inline-block;
	width: 0;
	height: 0;
	border-top: 6.5px solid transparent;
	border-bottom: 6.5px solid transparent;
	border-left: 12px solid #1941C6;
}

@media screen and (max-width: 900px) {
	.group-card-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.volunteer-stats {
		gap: 12px;
	}
	.volunteer-stats .stat-num {
		font-size: 36px;
	}
	.volunteer-stats .stat-value,
	.volunteer-stats .stat-prefix {
		font-size: 22px;
	}
}
@media screen and (max-width: 640px) {
	.group-card-list {
		grid-template-columns: 1fr;
	}
}
@media screen and (max-width: 767px) {
	.volunteer-title {
		font-size: 22px;
		margin-bottom: 20px;
	}
	.volunteer-lead {
		font-size: 14px;
		text-align: left;
	}
	.volunteer-stats {
		grid-template-columns: 1fr;
	}
	.accordion-btn {
		font-size: 14px;
		padding: 0 14px;
	}
	.group-name {
		font-size: 16px;
	}
	.cta-btn {
		width: 100%;
		height: 60px;
		font-size: 18px;
	}
}

/*登録フォーム
---------------------------------------------------------------*/
#wrapper-signup {
	clear: both;
	background: #fff;
	padding: 10px 0 60px;
}
.signup-title {
	margin: 0 0 16px;
	padding: 0;
	text-align: center;
	font-family: "Noto Serif JP", "Yu Mincho", "游明朝", "MS Mincho", "ＭＳ 明朝", serif;
	font-size: 26px;
	font-weight: 700;
	color: #0FA520;
	letter-spacing: 0.08em;
}
.signup-required-note {
	margin: 0 0 28px;
	text-align: center;
	font-size: 14px;
	color: #000;
}
.signup-required-note .req,
.signup-table .req {
	color: #f00;
}
.signup-form {
	margin: 0 0 20px;
}
.signup-type {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 28px;
}
.signup-type label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 15px;
	cursor: pointer;
}
.signup-type input[type="radio"] {
	width: 16px;
	height: 16px;
	margin: 0;
	accent-color: #0FA520;
}
.signup-table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}
.signup-table th,
.signup-table td {
	padding: 14px 12px;
	border-top: 1px solid #b0b0b0;
	vertical-align: middle;
	font-size: 15px;
	line-height: 1.6;
	color: #333;
	text-align: left;
}
.signup-table tr:last-child th,
.signup-table tr:last-child td {
	border-bottom: 1px solid #b0b0b0;
}
.signup-table th {
	width: 220px;
	font-weight: 400;
	white-space: nowrap;
}
.signup-table th.contact-label {
	white-space: normal;
	vertical-align: top;
	padding-top: 20px;
}
.signup-table .contact-row {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}
.signup-table .sub-label {
	display: inline-block;
	min-width: 7.5em;
	font-size: 15px;
	color: #333;
}
.signup-table input[type="text"],
.signup-table input[type="tel"],
.signup-table input[type="email"],
.signup-table input[type="url"],
.signup-table textarea {
	display: block;
	box-sizing: border-box;
	border: 0;
	background: #E4F5E6;
	padding: 6px 10px;
	font-size: 15px;
	line-height: 1.4;
	color: #333;
	font-family: inherit;
}
.signup-table input[type="text"],
.signup-table input[type="tel"],
.signup-table input[type="email"],
.signup-table input[type="url"] {
	height: 27px;
}
.signup-table .input-full {
	width: 100%;
	max-width: 600px;
}
.signup-table .input-half {
	width: 100%;
	max-width: 289px;
}
.signup-table .input-mid {
	width: 100%;
	max-width: 368px;
}
.signup-table .input-short {
	width: 100%;
	max-width: 174px;
}
.signup-table .input-textarea {
	width: 100%;
	max-width: 776px;
	min-height: 72px;
	height: auto;
	resize: vertical;
}
.signup-table .input-activity {
	max-width: 600px;
	min-height: 180px;
	line-height: 1.7;
}
.signup-table .field-with-note {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px 18px;
}
.signup-table .field-note {
	font-size: 13px;
	color: #666;
	line-height: 1.5;
}
.signup-table .field-note-block {
	display: block;
	margin-top: 8px;
}
.signup-photo-mail-note {
	margin: 0;
	font-size: 14px;
	line-height: 1.7;
	color: #c00;
}
.signup-check-list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.signup-check-list li {
	margin: 0 0 8px;
	padding: 0;
}
.signup-check-list li:last-child {
	margin-bottom: 0;
}
.signup-check-list label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
}
.signup-photo-mail-note + .photo-attach-agree {
	margin-top: 10px;
}
.signup-check-list input[type="checkbox"],
.privacy-agree input[type="checkbox"] {
	width: 16px;
	height: 16px;
	margin: 0;
	accent-color: #0FA520;
}
.row-privacy th {
	font-weight: 700;
	color: #45678A;
	white-space: normal;
}
.row-privacy td {
	vertical-align: top;
}
.privacy-text {
	margin: 0 0 14px;
	font-size: 14px;
	line-height: 1.7;
	color: #333;
}
.privacy-text a {
	color: #1941C6;
	text-decoration: underline;
}
.privacy-text a:hover {
	opacity: 0.75;
}
.privacy-agree {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 15px;
	cursor: pointer;
}
.signup-submit {
	margin: 36px 0 0;
	text-align: center;
}
.confirm-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	width: 424px;
	max-width: 100%;
	height: 71px;
	padding: 0 28px;
	border: 1px solid #707070;
	background: #fff;
	box-sizing: border-box;
	font-size: 22px;
	font-weight: 700;
	color: #1941C6;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	font-family: inherit;
}
.confirm-btn:hover {
	opacity: 0.85;
}
.confirm-btn .cta-arrow {
	border-left-color: #1941C6;
}
.confirm-btn-sub {
	border-color: #707070;
	color: #333;
	font-size: 18px;
}
.confirm-btn-sub:hover {
	opacity: 0.85;
	color: #333;
}
.signup-check-actions {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 16px 24px;
}
.signup-check-table td {
	background: #fff;
}
.signup-check-table .contact-row {
	gap: 12px 16px;
}
.signup-send-note {
	margin: 24px 0 0;
	text-align: center;
	font-size: 13px;
	line-height: 1.8;
	color: #666;
}
.signup-cta {
	margin-top: 56px;
	padding-top: 40px;
	border-top: 1px solid #ccc;
}

@media screen and (max-width: 767px) {
	.signup-title {
		font-size: 22px;
	}
	.signup-table,
	.signup-table tbody,
	.signup-table tr,
	.signup-table th,
	.signup-table td {
		display: block;
		width: 100%;
	}
	.signup-table th {
		padding-bottom: 6px;
		border-top: 1px solid #b0b0b0;
		border-bottom: 0;
		white-space: normal;
	}
	.signup-table td {
		padding-top: 0;
		border-top: 0;
	}
	.signup-table th.contact-label {
		padding-top: 14px;
	}
	.signup-table .contact-row {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}
	.signup-table .input-full,
	.signup-table .input-half,
	.signup-table .input-mid,
	.signup-table .input-short,
	.signup-table .input-textarea {
		max-width: 100%;
	}
	.confirm-btn {
		width: 100%;
		height: 60px;
		font-size: 18px;
	}
}

/*プライバシーポリシー
---------------------------------------------------------------*/
#wrapper-policy {
	clear: both;
	background: #fff;
	padding: 10px 0 60px;
}
.policy-body {
	max-width: 860px;
	margin: 0 auto;
	font-size: 15px;
	line-height: 1.9;
	color: #333;
	text-align: left;
}
.policy-body h2 {
	margin: 32px 0 12px;
	padding: 0 0 6px;
	font-size: 18px;
	font-weight: 700;
	color: #267F25;
	border-bottom: 1px solid #c8c8c8;
	text-align: left;
}
.policy-body p {
	margin: 0 0 14px;
	text-align: left;
}
.policy-list {
	margin: 0 0 14px;
	padding: 0 0 0 1.4em;
	text-align: left;
	list-style: disc;
}
.policy-list li {
	margin: 0 0 6px;
	padding: 0;
	list-style: disc;
	line-height: 1.8;
	text-align: left;
}
.policy-body a {
	color: #1941C6;
	text-decoration: underline;
}
.policy-body a:hover {
	opacity: 0.75;
}
.policy-banner {
	margin: 16px 0 20px;
	text-align: center;
}
.policy-banner a {
	color: #1941C6;
	text-decoration: none;
}
.policy-banner img {
	display: inline-block;
	max-width: 100%;
	height: auto;
}
.policy-htmlcode {
	margin: 0 0 20px;
	padding: 14px 16px;
	background: #f5f5f5;
	border: 1px solid #ddd;
	font-size: 13px;
	line-height: 1.6;
	overflow-x: auto;
	white-space: pre-wrap;
	word-break: break-all;
}

/*会員企業紹介
---------------------------------------------------------------*/
#wrapper-company {
	clear: both;
	background: #fff;
	padding: 10px 0 60px;
}
.company-title {
	margin: 0 0 36px;
	padding: 0;
	text-align: center;
	font-family: "Noto Serif JP", "Yu Mincho", "游明朝", "MS Mincho", "ＭＳ 明朝", serif;
	font-size: 26px;
	font-weight: 700;
	color: #0FA520;
	letter-spacing: 0.08em;
}
.member-detail {
	margin: 0 0 48px;
	box-sizing: border-box;
}
.member-detail-head {
	background: #45678A;
	padding: 12px 24px;
	text-align: center;
}
.member-detail-head h2 {
	margin: 0;
	padding: 0;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.4;
	color: #fff;
	letter-spacing: 0.04em;
}
.member-detail-body {
	display: grid;
	grid-template-columns: minmax(280px, 423px) 1fr;
	gap: 28px 40px;
	align-items: start;
	margin-top: 28px;
}
.member-detail-photos {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.member-detail-photo {
	overflow: hidden;
	background: transparent;
	border: 0;
}
.member-detail-photo img {
	display: block;
	width: 100%;
	height: auto;
	vertical-align: bottom;
}
.member-detail-table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}
.member-detail-table th,
.member-detail-table td {
	padding: 12px 16px;
	border-bottom: 1px solid #b0b0b0;
	vertical-align: middle;
	font-size: 15px;
	line-height: 1.6;
	color: #333;
	text-align: left;
}
.member-detail-table tr:last-child th,
.member-detail-table tr:last-child td {
	border-bottom: 0;
}
.member-detail-table th {
	width: 8.5em;
	font-weight: 400;
	white-space: nowrap;
	vertical-align: top;
	padding-top: 14px;
}
.member-detail-table a {
	color: #1941C6;
	text-decoration: underline;
	word-break: break-all;
	opacity: 1;
}
.member-detail-table a:hover {
	opacity: 0.75;
}
.member-contact-item {
	margin: 0 0 6px;
}
.member-contact-item:last-child {
	margin-bottom: 0;
}
.member-email {
	display: inline;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
	word-break: break-all;
}
.member-email a {
	color: #1941C6;
	text-decoration: underline;
}
.member-email a:hover {
	opacity: 0.75;
}
.member-sns-list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.member-sns-list li {
	margin: 0 0 8px;
}
.member-sns-list li:last-child {
	margin-bottom: 0;
}
.company-cta {
	margin-top: 8px;
}

@media screen and (max-width: 960px) {
	.member-detail-body {
		grid-template-columns: 1fr 1.2fr;
	}
	.member-detail-head h2 {
		font-size: 22px;
	}
}
@media screen and (max-width: 767px) {
	.company-title {
		font-size: 22px;
		margin-bottom: 24px;
	}
	.member-detail-body {
		grid-template-columns: 1fr;
		gap: 20px;
		margin-top: 20px;
	}
	.member-detail-photo {
		aspect-ratio: auto;
	}
	.member-detail-head {
		padding: 12px 14px;
	}
	.member-detail-head h2 {
		font-size: 18px;
	}
	.member-detail-table th,
	.member-detail-table td {
		display: block;
		width: 100%;
		padding: 8px 14px;
		box-sizing: border-box;
	}
	.member-detail-table th {
		padding-bottom: 0;
		border-bottom: 0;
	}
	.member-detail-table td {
		padding-top: 4px;
	}
	.member-detail-table tr {
		border-bottom: 1px solid #b0b0b0;
	}
	.member-detail-table tr:last-child {
		border-bottom: 0;
	}
}

/*新着情報詳細
---------------------------------------------------------------*/
#wrapper-news {
	clear: both;
	background: #fff;
	padding: 10px 0 60px;
}
.news-detail-title {
	margin: 0 0 36px;
	padding: 0;
	text-align: center;
	font-family: "Noto Serif JP", "Yu Mincho", "游明朝", "MS Mincho", "ＭＳ 明朝", serif;
	font-size: 26px;
	font-weight: 700;
	color: #0FA520;
	letter-spacing: 0.08em;
}
.news-detail-layout {
	display: grid;
	grid-template-columns: 200px 1fr;
	gap: 40px;
	align-items: start;
}
.news-sidebar {
	padding-top: 4px;
}
.news-side-nav {
	margin: 0 0 40px;
}
.news-side-nav:last-child {
	margin-bottom: 0;
}
.news-side-heading {
	margin: 0 0 12px;
	padding: 0 0 8px;
	border-bottom: 1px solid #6F6E6E;
	font-family: "Futura", "Helvetica Neue", Arial, sans-serif;
	font-size: 22px;
	font-weight: 400;
	letter-spacing: 0.06em;
	color: #1941C6;
	line-height: 1.2;
}
.news-side-list {
	margin: 0;
	padding: 8px 0 0;
	list-style: none;
}
.news-side-list li {
	margin: 0;
	padding: 0;
}
.news-side-list a {
	display: block;
	padding: 8px 0;
	font-size: 16px;
	line-height: 1.5;
	color: #1941C6;
	text-decoration: none;
	opacity: 1;
}
.news-side-list a::before {
	content: "・";
	margin-right: 0.1em;
	color: #1941C6;
}
.news-side-list a:hover {
	opacity: 0.75;
	text-decoration: underline;
}
.news-side-list a.is-current {
	font-weight: 700;
	text-decoration: underline;
}
.news-archive-list a {
	color: #333;
	padding-left: 0;
}
.news-archive-list a::before {
	content: none;
}
.news-filter-note {
	margin: -12px 0 28px;
	text-align: center;
	font-size: 14px;
	color: #666;
}
.news-filter-note a {
	color: #1941C6;
	text-decoration: underline;
	opacity: 1;
}
.news-filter-note a:hover {
	opacity: 0.75;
}
.news-list-main {
	min-width: 0;
}
.news-article {
	border: 0;
	box-sizing: border-box;
	background: #fff;
}
.news-article-head {
	background: #1941C6;
	padding: 8px 20px;
	text-align: center;
}
.news-article-head h2 {
	margin: 0;
	padding: 0;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;
	color: #fff;
	letter-spacing: 0.02em;
}
.news-article-body {
	padding: 20px 0 36px;
}
.news-article-cat {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 112px;
	height: 24px;
	margin: 0 0 18px;
	padding: 0 14px;
	border-radius: 12px;
	background: #D8B081;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	color: #fff;
}
.news-article-content {
	font-size: 18px;
	line-height: 1.9;
	color: #333;
}
.news-article-content p {
	margin: 0 0 28px;
}
.news-article-figure {
	margin: 0;
	padding: 0;
	text-align: center;
}
.news-article-figure img {
	display: inline-block;
	max-width: 623px;
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

@media screen and (max-width: 960px) {
	.news-detail-layout {
		grid-template-columns: 170px 1fr;
		gap: 28px;
	}
	.news-article-head h2 {
		font-size: 17px;
	}
	.news-article-content {
		font-size: 16px;
	}
}
@media screen and (max-width: 767px) {
	.news-detail-title {
		font-size: 22px;
		margin-bottom: 24px;
	}
	.news-detail-layout {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	.news-sidebar {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 24px;
	}
	.news-side-nav {
		margin-bottom: 0;
	}
	.news-article-body {
		padding: 18px 0 28px;
	}
	.news-article-head {
		padding: 10px 14px;
	}
	.news-article-head h2 {
		font-size: 16px;
	}
}

/*basetable
---------------------------------------------------------------*/ 
.basetable{
    border-collapse:collapse;
    margin:2.0em auto;
    width: 100%;
    text-align: left;
}

.basetable td,.basetable th{
    border-top:1px solid #ccc;
    padding:20px 10px;
}
.basetable tr:last-child td,
.basetable tr:last-child th{
    border-bottom:1px solid #ccc;
}



/*mainbox
---------------------------------------------------------------*/ 
.mainbox {
	text-align: left;
    padding-bottom: 100px;
    line-height: 2;
}
.mainbox p{
    /*line-height: 2.0;*/
}
.mainbox h2{
    clear: both;
    text-align: center;
    padding: 1.0em 0 1.0em 0;
    margin: 0;
}
.mainbox h3{
    clear: both;
    padding:40px 0 10px 0;
    font-size:150%;
    font-weight: normal;
    color: #999;
}
.mainbox h4{
    clear: both;
    padding: 2.0em 0 1.0em 0;
    font-size:120%;
    font-weight: normal;
    color: #001966;
}



/*p(mainbox内)
---------------------------- */
.leftyohaku{
    margin-left: 1.8em;
}
.topyohaku{
    margin-top: 1.8em;
}

/*h2(mainbox内)
---------------------------- */
.h2like{
    font-size:200%;
    font-weight: normal;
    color: #30a0c9;
}

/*gray_box
---------------------------- */
.gray_box {
    background-color: #f7f7f7;
    margin: .5em 1.5em;
    padding: 2em;
    overflow: auto;
}



/*breadcrumbs
---------------------------------------------------------------*/ 
.breadcrumbs {
    text-align:left;
    padding:10px 20px 10px 10px;
}
.breadcrumbs ol li {
    display: inline;
    list-style-type: none;
    font-size:70%;
    color:#999999;
}
.breadcrumbs ol li:before {
  content: " > ";
}
.breadcrumbs ol li:first-child:before {
  content:"";
}
.breadcrumbs ol li span {
	/*display: block;*/
	color: #1f1f1f;
	font-size: 11px;
	line-height: 120%;
	letter-spacing: 0.1em;
}
.breadcrumbs ol li a:hover span,
.breadcrumbs ol li a:active span {
	text-decoration: underline;
}

/* #page_top
---------------------------- */
#page_top{
  width: 90px;
  height: 90px;
  position: fixed;
  right: 0;
  bottom: 0;
  background: #30a0c9;
  opacity: 0.6;
  border-radius: 10%;
  z-index: 999;/*footerの前面*/
}
#page_top a{
  position: relative;
  display: block;
  width: 90px;
  height: 90px;
  text-decoration: none;
}
#page_top a::before{
  font-family: FontAwesome;
  content: '\f0d8';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -40px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
#page_top a::after{
  content: 'PAGE TOP';
  font-size: 13px;
  color: #fff;
  position: absolute;
  top: 45px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}

/*opacity
---------------------------- */
.hover a:hover img{ 
    opacity: 0.75;
     -moz-opacity: 0.75; /* Firefox */    
 filter: alpha(opacity=75); /* IE6/7 */ 
 -ms-filter: "alpha(opacity=75)"; /* IE8 */
 } 
.hover a img{
    transition: 1.0s;
}

/*fadein
---------------------------- */
.fadein {
    opacity : 0;
    transform : translate(0, 50px);
    transition : all 300ms;
}
.fadein.scrollin {
    opacity : 1;
    transform : translate(0, 0);
}


/* footer_navi
-------------------------------------------------------------all_page(footer/footer\shita)*/
#footer_navi{
    clear:both;
    overflow:hidden;
    padding:48px 10px 20px;
    background-color: #000000;
    font-size: 0.9em;
    line-height: 2;
	position: relative;
    background-image: url(../images/footer.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

#footer_navi::before {
    content: '';
    background-color: rgba(255, 255, 255, 0.45);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

* html #footer_navi{height:1%;}

#footer_navi .grid{
    padding:10px 0 5px;
    margin:0;
    background:transparent;
}
#info {
	position: relative;
	z-index: 10;
	color: #000;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 28px;
	width: auto;
	max-width: 1000px;
	margin: 0 auto;
}
#footer_navi #info{width:auto;margin: 0 auto;}
#footer_navi #info .info{float:none;}
#footer_navi #info .logo{
	float: none;
	width: 90px;
	flex-shrink: 0;
	margin: 0;
	padding: 0;
	max-width: 90px;
}

#footer_navi #info .info{
    clear: none;
    padding: 0;
    text-align: left;
    line-height: 1.7;
	flex: 0 1 auto;
}
#footer_navi #info .info p {
	margin: 0;
	font-size: 14px;
	color: #000;
}
#glogo{
	width: 200px;
}


#footer_navi .logo {
    max-width: 90px;
    font-size: 2.0em;
    padding: 0;
	margin: 0;
}

#footer_navi .info .tel,#footer_navi .info .tel span,#footer_navi #info .open{
    color:#000;
    margin-top:0;
}

#footer_menunavi{
    clear: both;
    overflow: hidden;
    position: relative;
    padding: 0 10px 36px;
    color: #000;
    font-size: 14px;
    line-height: 1.0;
	z-index: 10;
}

ul.footnav{
    clear: both;
    position: relative;
    left: auto;
    float: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0 28px;
    padding: 0;
	margin: 0;
	list-style: none;
}

ul.footnav li{
    position: relative;
    left: auto;
    float: none;
    margin: 0;
    padding: 0;
    border-right: none;
}

ul.footnav li:last-child{
    border: none;
}

.footnav a{
	color:#000;
	text-decoration: none;
	font-weight: 400;
	white-space: nowrap;
}
.footnav a:hover{color:#000; opacity: .7;}

#footer_navi a{color:#000;}
#footer_navi a:hover{color:#000;}

/*footer_cr
---------------------------- */
#footer_cr {
	width: 100%;
	margin: 0;
	padding: 24px 0 8px;
	text-align: center;
	clear:both;
	position: relative;
	z-index: 10;
}

#fwrap {
	max-width: 960px;
    line-height: 1;
	width: 100%;
	margin: 0 auto;
}

/*#flogo {
	float: left;
	width: 30%;
}*/

#cr {
	float: right;
	text-align: center;
	width: 100%;
	font-size: 0.9em;
	color: #000;
}


/*.clearfix
------------------------------------------------------------ */
.clearfix:after {
  content: "";
  clear: both;
  display: block;
}



/* ==========================================================================
   Media Queries
   ========================================================================== */
/*スマホ・タブレット用の設定*/
@media screen and (max-width:767px){
    .motto{display: none;}
    .grid2c{width: 100%;}
	.worksWrapper{
		width: 100%;
		margin: 10px auto;
        padding: 0;
	}
	.grid3c_l{width: 100%;}
    .grid3c_l a{margin: 1.0em auto;}
    .wrapper-guidearea{
        width: 100%;
        margin: 10px auto;
        padding: 0;
    }
    #footer_navi {
        width: 100%;
        margin: 0 auto;
        padding: 36px 12px 16px;
    }
    #footer_navi #info{
		flex-direction: column;
		gap: 16px;
		text-align: center;
	}
    #footer_navi #info .logo{
        float: none;
        width: 80px;
		max-width: 80px;
		margin: 0 auto;
    }
	#footer_navi #info .info{
		text-align: center;
	}
	#footer_navi #info .info p{
		font-size: 12px;
		line-height: 1.8;
	}
    ul.footnav{
        width: 100%;
        margin: 0 auto;
        padding: 0;
		gap: 12px 20px;
    }
    ul.footnav li{
        float: none;
        border-right: none;
        border-bottom: none;
        margin: 0;
        font-size: 100%;
    }
    ul.footnav li:last-child{
    border-bottom: none;
    }
    .inner {width: 100%;}
	header .inner {
		padding: 0 12px;
		box-sizing: border-box;
	}
    .toppic_txt{ font-size: 180%;}
	h1#logo {width: 70px; margin: 0;}
 
    #timetable_box {margin-right:0.5em;}
    #timetable {padding:0;margin:0;width:120%;font-size:70%}
    td.timerow{white-space:nowrap}
    
	.more_button a {
		width: 90%;
		display: inline-block;
		color: #fff;
	     margin: 0 0 2.4em;
		font-size: 1.0em;
		font-weight: normal;
		height: 2.5em;
		line-height: 2.7em;
		background-color: #2E8FC7;
		border: 1px solid #2E8FC7;
		text-align: center;
		outline: none;
		text-decoration: none;
		-webkit-transition: all .3s ease-in-out;
		-moz-transition: all .3s ease-in-out;
		-ms-transition: all .3s ease-in-out;
		-o-transition: all .3s ease-in-out;
		transition: all .3s ease-in-out;
		position: relative;
	     transition: 1.0s;
	}
	
	.messagearea_txt {
		width: 100%;
	}
	.messagearea_view_box {
		left:10%;
	}

	.news-list a {
		flex-wrap: wrap;
		gap: 8px 12px;
		padding: 12px 6px;
	}
	.news-list time {
		flex: 0 0 auto;
	}
	.news-cat {
		flex: 0 0 90px;
		width: 90px;
	}
	.news-title {
		flex: 1 1 100%;
		font-size: 14px;
	}
}



/*スマホ・タブレット用の設定*/
@media screen and (max-width:960px){
	header{
		display: block;
        background: #fff;
		padding: 12px 0;
		position: relative;
		z-index: 200;
	}
	.inner{
		width: 90%;
	}
	header .inner{
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-wrap: nowrap;
		gap: 0;
		width: 100%;
		padding: 0 12px;
		box-sizing: border-box;
	}
	h1#logo {
		width: 70px;
		margin: 0;
		order: 1;
	}
	.header-catch {
		display: none;
	}
	.header-main > .sns-wrap {
		display: none;
	}
	.header-main {
		position: absolute;
		left: 0;
		top: 0;
		flex: none;
		width: 0;
		height: 0;
		min-width: 0;
		overflow: visible;
		order: 3;
	}
	
	/*メニュー部分*/
	header nav{
		display:none;
		position: fixed;
		top:0;
		left: 0;
		width: 100%;
		height: 100vh;
		height: 100dvh;
		background: rgba(165,214,233,0.9);
		z-index: 99;
		box-sizing: border-box;
	}
	header nav ul{
		display: block;
		width: 90%;
		height: 350px;
		position: absolute;
		top: 0px;
		right: 0px;
		bottom: 0px;
		left: 0px;
		margin: auto;
	}
	header nav ul li{
		margin: 0 auto;
		text-align: center;
        line-height: 1.5em;
        border-bottom: 1px solid #fff;
	}
	header nav ul li:last-child{
		border: none;
	}
	header nav ul li a,
	header nav li:last-child a{
		display: block; 
		color: #006598;
        font-weight: bold;
        font-size: 120%;
		padding: 16px;
		background: transparent;
	}
    header nav ul li.home,
    header nav ul li.inq{
        display: block;
    }
    #top_navi .inq{
        display: none;
    }
    #glogo{
        display: none;
    }
	

	/*開閉ボタン*/
	#nav_toggle{
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: auto;
		position: relative;
		z-index: 110;
		cursor: pointer;
		flex-shrink: 0;
		order: 2;
		margin: 0 0 0 auto;
	}
	#nav_toggle div {
		position: relative;
		width: 28px;
		height: 20px;
	}
	#nav_toggle div span{
		display: block;
		height: 3px;
		background: #666;
		position:absolute;
		width: 100%;
		left: 0;
		-webkit-transition: 0.5s ease-in-out;
		-moz-transition: 0.5s ease-in-out;
		transition: 0.5s ease-in-out;	
	}
	#nav_toggle div span:nth-child(1){
		top:0px;
	}
	#nav_toggle div span:nth-child(2){
		top:8px;
	}
	#nav_toggle div span:nth-child(3){
		top:16px;
	}
	.nav-toggle-label {
		display: block;
		font-size: 10px;
		font-weight: 700;
		color: #1941C6;
		letter-spacing: 0.04em;
		margin-top: 4px;
		line-height: 1;
	}
	
	/*開閉ボタンopen時*/
	.open #nav_toggle div span{
		background: #006598;
	}
	.open #nav_toggle div span:nth-child(1) {
			top: 8px;
		   -webkit-transform: rotate(135deg);
			-moz-transform: rotate(135deg);
			transform: rotate(135deg);
		}
		.open #nav_toggle div span:nth-child(2) {
			width: 0;
			left: 50%;
		}
		.open #nav_toggle div span:nth-child(3) {
			top: 8px;
			-webkit-transform: rotate(-135deg);
			-moz-transform: rotate(-135deg);
			transform: rotate(-135deg);
		}
    
    /*footercopyright*/
    #cr {
	text-align: center;
	width: 100%;
	font-size: 0.9em;
	color: #000;
    }
    /*footermenu*/
    #footer_navi #info{width:auto;}

    .basetable { width: 100%; margin: 0 -10px;font-size: 80%; }
    .basetable th,
    .basetable td{
    padding: 0.5em;
    }
	.grid2c h3 {
    width: 200px;
	}

	.sns-wrap-sp {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 15px;
		position: absolute;
		top: 0;
		right: 0;
		bottom: 420px;
		left: 0;
		width: 90%;
		height: auto;
		margin: auto;
		z-index: 101;
	}
	.sns-wrap-sp img {
		height: 40px;
		width: auto;
	}
   .serif-text {
	   font-size: 60%;
	   text-align: left;
	}
	.imgleft {
		width: 100%;
	}
}


/*sliderpro
---------------------------------------------------------------*/ 
h1.sp-layer.sp-black {
  color: #ffffff !important;
  background-color: transparent !important;
}

