/* ナビゲーション全体のスタイル */
.area-nav {
    margin-bottom: 30px !important;
    padding: 20px;
    background-color: var(--color-grbg);
    border-radius: 5px;
}

.area-nav ul {
    list-style: none;
    padding: 0;
    margin: 0 ;
    display: grid;
    gap: 10px; /* ボタン同士の隙間 */
    grid-template-columns: repeat(3,1fr);
    justify-content: center;
}



.area-nav li a {
    display: block;
    text-align: center;
    padding: .7em 1em;
    background-color: #fff;
    border: 2px solid var(--color-main);
    color: #4d5e3c;
    text-decoration: none;
    font-weight: bold;
    border-radius: 50px;
    transition: all 0.3s ease;
    line-height: 1em;
}

.area-nav li a::before{
	font-family: icomoon;
	content: "\e979";
	font-size: .7em;
	padding: 0 .8em 0 0;
}


/* ホバー時の挙動 */
.area-nav li a:hover {
    background-color: var(--color-main);
    color: #fff;
}


@media screen and (max-width: 767px) {}	

@media print, screen and (min-width: 768px) {
	}	

@media print, screen and (min-width: 1024px) {
	.area-nav ul{
		grid-template-columns: repeat(4,1fr);
	}

}	


/* スムーススクロール（ジャンプしたときにスッと動く） */
html {
    scroll-behavior: smooth;
}

/* 固定ヘッダーなどがある場合に、ジャンプ位置が隠れないための調整 */
.area-container {
    scroll-margin-top: 30px; /* ヘッダーの高さに合わせて調整 */
}



/* 地区全体 */
.area-container {
    margin-bottom: 40px;
    border-bottom: 1px solid #d0d7c7;
}

/* 地区タイトル */
h2.region-title {
    background-color: var(--color-main);
    color: #fff;
    margin: 0 auto.5em;
    padding: 10px 15px;
    text-align: center;
    letter-spacing: .8em;
    border-radius: 5px 5px 0px 0px;
    position: relative;
    
}

/* 都道府県ごとの行（Flexboxで横並び） */
.pref-row {
    display: flex;
    border-bottom: 2px solid #d0d7c7;
    
}
.pref-row:last-child {
     border-bottom: 1px solid #d0d7c7;
}

/* 都道府県名のエリア */
.pref-name {
    width: 120px;
    background-color: #fff;
    color: #4d5e3c;
    font-weight: bold;
    display: flex;
    align-items: center; /* 縦方向の中央揃え */
    justify-content: center;
    flex-shrink: 0; /* 幅を固定 */
}

/* 右側のメンバーリスト全体 */
.member-list {
    flex-grow: 1; /* 残りの幅をすべて使う */
}

/* メンバー個別の行 */
.member-item {
    display: flex;
    border-bottom: 1px solid #eee;
}
.member-item:last-child {
    border-bottom: none;
}

/* 各情報のセル */
.member-item > div {
    padding: 15px;
    border-right: 1px solid #eee;
}
.member-item > div:last-child {
    border-right: none;
}

.col-name { width: 30%; }
.col-rep  { width: 25%; }
.col-addr { flex-grow: 1; }

/* --- スマホ対応 --- */
@media screen and (max-width: 640px) {
    .pref-row {
        flex-direction: column; /* 縦並びに変更 */
    }
    .pref-name {
        width: 100%;
        padding: .6em;
        border-right: none;
        border-bottom: 1px solid #d0d7c7;
        background-color: #f9faf7;
    }
    .member-item {
        flex-direction: column;
        padding: 10px;
    }
    .member-item > div {
        width: 100%;
        border-right: none;
        padding: 2px 0;
    }
}




/* 戻るリンクのコンテナ */
.back-to-nav {
    text-align: right;
    padding: 10px 15px;
    background-color: #fcfcfc; /* セクションの最後に軽い背景色 */
}

.back-to-nav a {
    color: #4d5e3c;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: bold;
    display: inline-flex;
    align-items: center;
    transition: opacity 0.3s ease;
}

.back-to-nav a:hover {
    opacity: 0.7;
    text-decoration: underline;
}

/* スムーススクロールを有効に（前回記述済みなら不要） */
html {
    scroll-behavior: smooth;
}

/* アンカージャンプした際の余白調整 */
#area-top {
    scroll-margin-top: 50px;
}







#member_arc{
	background: rgba(49, 88, 178, 0.2);
	padding: 2em 0 2em;
	margin-bottom: 3em
}

#member_arc > div{
	border-left: 2px solid #12536e;
	padding-left: 1.5em
}

#member_arc h1 span{font-size: .8em;padding-left: 1em}

#member_arc h2{margin-top: .4em}

/* ------------------------------
 全ての組合員紹介一覧　
------------------------------ */

#member_all h2 a{
	display: block;
	background: #F2F2F2;
	padding: .8em 1.2em;
	margin-bottom: 1em;
	text-decoration: none;
	box-shadow: 3px 3px 0px #eee;
	position: relative;
}


#member_all h2 a:before{
	content: " ";
	width: 2px;
	height: 20px;
	background-color: #3158B2;
	display: inline-block;
	position: absolute;
	left: 0;
	transition: all .3s;
}

#member_all h2 a:after{
	font-family: icomoon;
	content: "\e977";
	color: #3158B2;
	position: absolute;
	right: 1.5em;
	transition: all .3s;
	}

#member_all h2 a:hover{
	background: rgba(49, 88, 178, 0.2)
}

#member_all h2 a:hover::before{width: 4px;}
#member_all h2 a:hover::after{right: 1em;}


ul#mlist_s{width: 100%;
}


ul#mlist_s > li{
	padding: .5em;
	word-wrap: break-word;
	display: flex;
	flex-wrap:wrap;
	align-items: center;
	-webkit-transition: all .3s;
	transition: all .3s;
}

ul#mlist_s > li:hover{
	background: var(--color-grbg);
}



ul#mlist_s > li:not(:last-child){
	border-bottom: dotted 1px #d0d7c7;
}


#mlist_s .yago{
		display: flex;
		flex-wrap:wrap;
		align-items: center;
	}
	
	
#mlist_s .yago img{
	width: 60px;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 50%;
	
}




#mlist_s .yago h3{
	padding-left: 1em
}

#mlist_s .yago h3 span{font-size: .8em}

#mlist_s .yago h3 a{
	text-decoration: underline
}

#mlist_s .en{
	display: block
}

#mlist_s ul.sns{
	display: flex;
}

#mlist_s ul.sns li:not(:last-child){
	margin-right: 1em
}

@media screen and (max-width: 667px) {
	#mlist_s .yago{width: 65%;}
	#mlist_s .yago img{width: 50px;}
	#mlist_s .yago h3{width: calc(100% - 50px);}
	#mlist_s .name{width: 35%;padding-left: 1em}
	#mlist_s .contact {display: none}
}	

@media print, screen and (min-width: 668px) {
	#mlist_s .yago{width: 40%;}
	#mlist_s .name{width: 20%}
	#mlist_s .contact{width: 40%}
	#mlist_s .yago img{width: 60px;}
	#mlist_s .yago h3{font-size: 1.2em;width: calc(100% - 60px)}
}	

@media print, screen and (min-width: 1000px) {}	


/* ------------------------------
 エリア別　組合員紹介一覧　
------------------------------ */

#area_all{padding: 0 0 3em}


#area_all ul{
	display: flex;
	flex-wrap:wrap;
}

#area_all ul li{
	-webkit-box-shadow:1px 1px 6px #ccc;
	-moz-box-shadow:1px 1px 6px #ccc;
	box-shadow: 1px 1px 6px #ccc;
	position: relative;
}

#area_all ul li a{text-decoration: none;color: #134A63}


#area_all ul li dl{padding: .6em}

#area_all ul li dl dt{
	font-size: 1.2em;
	color: #134A63;
	border-bottom: solid 1px rgba(18, 83, 111, 0.3);
	padding: 0 .3em .2em;
	margin-bottom: .3em
}

#area_all ul li dl dd{padding: 0 .3em;}

#area_all ul li dl dt span{font-size: .7em}

#area_all ul li dl dt span:before,
#area_all ul li dl dt span:after{
	content: '-';
	display: inline-block;
	color: #0F3B4E;
}

#area_all ul li dl dt span:before{margin-right: .5em}
#area_all ul li dl dt span:after{margin-left: .5em}

@media screen and (max-width: 767px) {
	#area_all ul li{
	width: calc(( 100% - 15px ) / 2 );
	margin:0 15px 1em 0;
	}
	
	#area_all ul li:nth-child( 2n ) {margin-right: 0;}
	#area_all ul li dl dt span{display: block}
	#area_all ul li dl dd{font-size: .9em;line-height: 1.2em}
}	

@media print, screen and (min-width: 768px) {
	#area_all{padding: 0 0 5em}
	#area_all ul li{
	width: calc(( 100% - 60px ) / 3 );
	margin:0 30px 2em 0;
	}
	
	#area_all ul li:nth-child( 3n ) {margin-right: 0;}
	#area_all ul li dl{padding: 1em}
	#area_all ul li dl dt{font-size: 1.5em;}
	#area_all ul li dl dd span{padding-left: .5em}
}	

@media print, screen and (min-width: 1000px) {}	




/* ------------------------------
 組合員シングルページ
------------------------------ */
 
#mprof{
	max-width: 900px;
	margin: 0 auto;
	text-align: center;
	padding:3em 0
}

#mprof header h1{
	font-size: 1.6em;
	margin: .5em auto 2em;
	text-align: center;
    letter-spacing: 1px;
    color: #000;
	border-top: solid 2px #ddd4c3;
	border-bottom: solid 1px #ddd4c3;
	padding: 1em 0
}


#mprof header h1 span{
	display: block;
	font-size: .8em;
	margin-top: .6em
}

#mprof header ul{
	display: flex;
	justify-content: flex-end;
	margin-bottom: 1em;
	align-items: center
}



#mprof .comment{
	text-align: center;
	font-size: 1.2em;
    font-family: serif;
    color: #000;
}


#prof_img,
#prof_img_tate{margin-bottom: 3em}

#prof_img img{
		object-fit: cover;
		width: 100%;
		height: 200px;
	}

#prof_img_tate img{
	max-width: 500px;
	height: auto
}

.prof_contact{
	margin: 0 auto 1em;
	border-bottom: 1px solid #ccc;
	
}

.prof_contact th{
	width: 20%;
	text-align: center;
    background: #EAEAEA;
    vertical-align: middle
}

.prof_contact td{text-align: left;}

.prof_contact th, .prof_contact td{
    border-top: 1px solid #ccc;
    padding: 1em 1.2em;
    color: #000000;
    letter-spacing: 1px;
}

.prof_contact .en{
	display: block
}



ul.link_sns{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	line-height: 3em;
	margin-bottom: 5%
}

ul.link_sns li{
	padding: 0 2em;
}


ul.link_sns li.hp{
	width: 100%;
	margin-bottom: 1em
}



ul.link_sns li.hp a:before{
	vertical-align: -4px;
	margin-right: .5em;
	font-size: 1.5em
}

ul.link_sns li:not(.hp) a:before{padding: 0}


ul.link_sns li.fb a:before,
ul.link_sns li.tw a:before,
ul.link_sns li.ig a:before,
ul.link_sns li.yt a:before{
	font-size: 2em;
	color: #666
}



.gmap{
	display: block;
	padding: .8em 1em;
	background: #333398;
	color: #fff;
	border-radius: 2em;
	display: inline-block;
	line-height: 1em;
	text-decoration: none;
	text-align: center;
	max-width: 320px;
	width: 90%;
	margin: 2em auto;
}

.gmap a{color: #fff;}

.gmap:hover{opacity: .8}







@media screen and (max-width: 667px) {
	.gmap{margin-top: .5em}
	
	.prof_contact th, .prof_contact td{
		width: 100%;
		display: block;
		text-align: left;}
		
	#mprof header h1{
		font-size: 1.6em;
		margin: .5em auto 1em;
		text-align: center;
	    letter-spacing: 1px;
		padding: .8em 0}
	
	#mprof header h1 span{
		font-size: .7em;
		margin-top: .1em}
}	
	
@media print, screen and (min-width: 668px) {
	#prof_img img{height: 400px;}
	.prof_contact{width: 80%}
}	

@media print, screen and (min-width: 1025px) {
	#prof_img img{height: 480px;}
}	


