@charset "utf-8";

/* CSS Document */
/*color
-----------------------------------------------------*/

html {
	font-size: 62.5%;
	color: #222;
	scroll-behavior: smooth;
	background: var(--color-gray02);
}

*{
	font-family: "Hiragino Kaku Gothic Pro", "Hiragino Sans", "Yu Gothic", sans-serif;
	font-size: 1.8rem;
}

@media (max-width:1023px) {
	*{
		font-size: 1.6rem
	}
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
}

p {
	margin: 0 0 1em;
	line-height: 1.75em;
}

ul.txt li {
	margin-bottom: 0.5em;
}

ul.txt li ul {
	margin: 0.5em 0 1em;
}

ul.txt li ul li {
	margin-bottom: 0.25em;
}

ul.txt li:last-child {
	margin-bottom: 0em;
}

address {
	font-style: normal;
}

/**/
.ff_se {
	font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", sans-serif;
}


.fs10 {
	font-size: 1.0rem
}

.fs11 {
	font-size: 1.1rem
}

.fs12 {
	font-size: 1.2rem
}

.fs13 {
	font-size: 1.3rem
}

.fs14 {
	font-size: 1.4rem
}

.fs15 {
	font-size: 1.5rem
}

.fs16 {
	font-size: 1.6rem
}

.fs17 {
	font-size: 1.7rem
}

.fs18 {
	font-size: 1.8rem
}

.fs19 {
	font-size: 1.9rem
}

.fs20 {
	font-size: 2.0rem
}

.fs22 {
	font-size: 2.2rem
}

.fs24 {
	font-size: 2.4rem
}

.fs26 {
	font-size: 2.6rem
}

.fs28 {
	font-size: 2.8rem
}

.fs30 {
	font-size: 3.0rem
}

.fs32 {
	font-size: 3.2rem
}

@media (max-width:1023px) {
	.fs10 {
		font-size: 0.8rem
	}

	.fs11 {
		font-size: 0.9rem
	}

	.fs12 {
		font-size: 1.0rem
	}

	.fs13 {
		font-size: 1.1rem
	}

	.fs14 {
		font-size: 1.2rem
	}

	.fs15 {
		font-size: 1.3rem
	}

	.fs16 {
		font-size: 1.4rem
	}

	.fs17 {
		font-size: 1.5rem
	}

	.fs18 {
		font-size: 1.6rem
	}

	.fs19 {
		font-size: 1.7rem
	}

	.fs20 {
		font-size: 1.8rem
	}

	.fs22 {
		font-size: 2.0rem
	}

	.fs24 {
		font-size: 2.2rem
	}

	.fs26 {
		font-size: 2.4rem
	}

	.fs28 {
		font-size: 2.6rem
	}

	.fs30 {
		font-size: 2.8rem
	}

	.fs32 {
		font-size: 3.0rem
	}
}

.fw_n {
	font-weight: normal;
}

.fw_b {
	font-weight: bold;
}

.txtA_c {
	text-align: center;
}

.txtA_l {
	text-align: left;
}

.txtA_r {
	text-align: right;
}

.txtBdr_w {
	text-shadow:
		1px 1px 3px rgba(255, 255, 255, .3),
		-1px -1px 3px rgba(255, 255, 255, .3),
		-1px 1px 3px rgba(255, 255, 255, .3),
		1px -1px 3px rgba(255, 255, 255, .3),
		0px 1px 3px rgba(255, 255, 255, .3),
		0-1px 3px rgba(255, 255, 255, .3),
		-1px 0 3px rgba(255, 255, 255, .3),
		1px 0 3px rgba(255, 255, 255, .3);
}

.mrg_b_50 {
	margin-bottom: 50px !important;
}
.mrg_b_75 {
	margin-bottom: 75px !important;
}
.br_sp {
	display: none;
}

@media (max-width:1023px) {
	.br_sp {
		display: inline;
	}
}
:root {
	--color-black: #222;
	--color-gray01: #CDD6DD;
	--color-gray02: #EFF3F5;
	--color-gray03: #707070;
	--color-blue01: #0677CC;
	--color-blue02: #003399;

	--font-ss: "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", sans-serif;
	--font-robot: "Roboto", sans-serif;

	--area-blue01:#4499CC;
	--area-blue02: rgba(68,153,204,.3);
	--area-green01: #54ADAA;
	--area-green02: rgba(84,173,170,.3);
	--area-purple01: #9988CC;
	--area-purple02: rgba(153,136,204,.3);
	--area-pink01: #D87FCC;
	--area-pink02: rgba(216,127,204,.3);
	--area-orange01: #EEA44B;
	--area-orange02: rgba(238,164,75,.3);
}
  
/*-----------------------------------------------------*/
.color {
	color: var(--color-blue01);
}

.img {
	width: 100%;
	height: auto;
}

.ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
a.txt{
	color: var(--color-blue02);
}
a.txt:hover{
	text-decoration: none;
}
/*-----------------------------------------------------*/
.kome {
	padding-left: 1.25em;
	text-indent: -1.25em;
	list-style: none;
}

.kome::before {
	content: "※";
	margin-right: 0.25em;
}

li.kome {
	margin: 0 0 0.5em;
}
span.kome{
	display: inline-block;
}
/*見出し
-----------------------------------------------------*/
.bar_v{
	display: flex;
	align-items: center;
}
.bar_v::before{
	content: "";
	display: block;
	width: 6px;
	height: 40px;
	margin-right: 1em;
	background: var(--color-blue02);
}
@media (max-width:1023px){
	.bar_v::before{
		width: 4px;
		height: 24px;
		margin-right: 11px;
	}
}
/*テーブル
-----------------------------------------------------*/
.table01{
	width: 100%;
}
.table01 th,
.table01 td{
	border-bottom: solid 1px rgba(0, 51, 153, .2);
}
.table01 tr:last-child th,
.table01 tr:last-child td{
	border-bottom: none;
}
.table01 th{
	padding: 1em 1em 1em 0;
	font-size: 2.0rem;
	text-align: left;
	white-space: nowrap;
	vertical-align: top;
}
.table01 td{
	padding: 1em;
	font-size: 1.8rem;
}
.table01 li{
	margin: 0 0.5em 0.5em 0;
}
@media (max-width:1023px){
	.table01 th,
	.table01 td{
		display: block;
	}
	.table01 th{
		padding: 1.5em 0 0.25em 0;
		border: none;
		font-size: 1.8rem;
	}
	.table01 td{
		padding: 0 0 1.5em 0;
		font-size: 1.68rem;
	}
	.table01 tr:last-child td{
		padding-bottom: 0;
	}
}
.table02{
	width: 100%;
	border-top: solid 1px rgba(0, 51, 153, .2);
}
.table02 th,
.table02 td{
	border-bottom: solid 1px rgba(0, 51, 153, .2);
}
.table02 th{
	padding: 1em 1em 1em 0;
	font-size: 2.0rem;
	text-align: left;
	white-space: nowrap;
	vertical-align: top;
}
.table02 td{
	padding: 1em;
	font-size: 1.8rem;
}
.table02 li{
	margin: 0 0.5em 0.5em 0;
}
@media (max-width:1023px){
	.table02{
		margin-bottom: 40px;
		border-top: none;
	}
	.table02 tr td:first-child{
		display: none;
	}
	.table02 th,
	.table02 td{
		display: block;
	}
	.table02 th{
		padding: 1.5em 0 1em;
		font-size: 1.8rem;
	}
	.table02 td{
		padding: 1.5em 0 1.5em 0;
		font-size: 1.68rem;
	}
}
.table03{
	width: 100%;
}
.table03 th,
.table03 td{
	padding: 1em 1em 1em 0;
	border-bottom: solid 1px rgba(0, 51, 153, .2);
	white-space: nowrap;
}
.table03 th{
	font-size: 2.0rem;
	text-align: left;
	vertical-align: top;
}
.table03 td{
	font-size: 1.8rem;
}
.table03 li{
	margin: 0 0.5em 0.5em 0;
}
@media (max-width:1023px){
	.table03 th{
		font-size: 1.8rem;
	}
	.table03 td{
		font-size: 1.68rem;
	}
}
.tebleTitle{
	font-size: 2.0rem;
	margin-bottom: 0.75em;
}
@media (max-width:1023px){
	.tebleTitle{
		font-size: 1.8rem;
		margin-bottom: 1em;
	}
}
.table04{
	width: 100%;
	border-top: solid 1px rgba(0, 51, 153, .2);
}
.table04 th,
.table04 td{
	padding: 1em;
	border-bottom: solid 1px rgba(0, 51, 153, .2);
	font-size: 1.8rem;
	text-align: center;
	vertical-align: middle;
}
.table04 th{
	background: rgba(0, 51, 153, .1);
}
@media (max-width:1023px){
	.table04 th,
	.table04 td{
		font-size: 1.6rem;
	}
}

/*ボタン
-----------------------------------------------------*/
.btn {
	display: inline-block;
	height: 40px;
	padding: 0 30px 0 calc(40px + 0.5em);
	border-radius: 100vh;
	text-decoration: none;
	line-height: 40px;
	cursor: pointer;
	font-size: 1.4rem;
	transition: background .3s, color .3s;
}
.btn.mail{
	background: url("../images/common/icon_mail.svg") no-repeat left 20px center var(--color-blue01);
	color: #fff;
	font-weight: bold;
}
.btn.mail:hover{
	background-color: var(--color-blue02);
	color: #fff;
}
.btn.member{
	border: solid 1px var(--color-blue01);
	background: url("../images/common/icon_member.svg") no-repeat left 20px center #fff;
	color: var(--color-blue01);
	font-weight: bold;
	
}
.btn.member:hover{
	border: solid 1px var(--color-blue01);
	background: url("../images/common/icon_member_w.svg") no-repeat left 20px center var(--color-blue01);
	color: #fff;
}
.btn.access{
	background: url("../images/common/icon_access.svg") no-repeat left 20px center var(--color-blue01);
	color: #fff;
	font-weight: bold;
}
.btn.access:hover{
	background-color: var(--color-blue02);
}
.btn.news,
.btn.form{
	width: 187px;
	height: 50px;
	border: none;
	padding: 0;
	background: var(--color-blue01);
	color: #fff;
	font-weight: bold;
	line-height: 50px;
}
.btn.news:hover,
.btn.form:hover{
	background-color: var(--color-blue02);
}
/*site
-----------------------------------------------------*/
.site_wrap{
	width: 100%;
	max-width: 1920px;
	margin: 0 auto;
	background: var(--color-bg_site);
}
/*header
-----------------------------------------------------*/
.site_hdr_wrap{
	background: #fff;
}
.site_hdr_wrap.index{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 99;
	background: none;
}
.site_hdr {
	width: calc(100% - 20px);
	max-width: 1366px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 100px;
	margin: 0 auto;
	
}
.site_hdr_title{
	display: flex;
	align-items: center;
}
.site_hdr_logo {
	width: 178px;
	height: 23px;
	margin: 0 0 0 10px;
}
.site_hdr_title_logotype{
	margin: 10px 0 0 10px;
}
@media (max-width:1239px) {
	.site_hdr_wrap{
		position: absolute;
		background:none;
	}
	.site_hdr_title_logotype{
		display: none;
	}
}

/*nav
-----------------------------------------------------*/
.site_navSP_wrap {
	display: none;
}
.site_hdr_nav{
	display: flex;
}
.site_hdr_nav01,
.site_hdr_nav02{
	margin: 10px 0 0;
	padding: 0;
	display: flex;
	align-items: center;
}
.site_hdr_nav01{
	height: 40px;
	margin-right: 30px;
	gap: 30px;
}
.site_hdr_nav02{
	gap: 10px;
}
.site_hdr_nav01 a{
	font-size: 1.6rem;
	font-weight: bold;
	text-decoration: none;
	color: var(--color-black);
	transition: color .3s;
}
.site_hdr_nav01 a:hover{
	color: var(--color-blue01);
}

@media (max-width:1239px) {
	.site_hdr_nav{
		display: none;
	}
	/*　ハンバーガーメニューボタン　*/
	.hamburger {
		display: block;
		position: fixed;
		z-index: 9999;
		top: 16px;
		right: 8px;
		width: 42px;
		height: 42px;
		cursor: pointer;
		text-align: center;
	}
	.hamburger span {
		display: block;
		position: absolute;
		width: 35px;
		height: 3px;
		left: 2px;
		background: var(--color-blue01);
		-webkit-transition: .3s ease-in-out;
		-moz-transition: .3s ease-in-out;
		transition: .3s ease-in-out;
		box-shadow: 0 0 3px 0 #fff;
	}

	.hamburger span:nth-child(1) {
		top: 8px;
	}

	.hamburger span:nth-child(2) {
		top: 19px;
	}

	.hamburger span:nth-child(3) {
		top: 30px;
	}

	/* スマホメニューを開いてる時のボタン */
	.hamburger.active span:nth-child(1) {
		top: 18px;
		left: 3px;
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		transform: rotate(-45deg);
		box-shadow: none;
	}

	.hamburger.active span:nth-child(2),
	.hamburger.active span:nth-child(3) {
		top: 18px;
		left: 3px;
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		transform: rotate(45deg);
		box-shadow: none;
	}

	/* スマホメニュー */
	.site_navSP_wrap {
		position: fixed;
		z-index: 9998;
		top: 0;
		left: 0;
		display: none;
		width: 100%;
		height: 100vh;
		padding-bottom: 60px;
		border-left: solid 1px #fff;
		background: var(--color-gray02);
		overflow: auto;
	}
	.site_navSP_hdr{
		height: 74px;
		display: flex;
		align-items: center;
	}
	.site_navSP_hdr_title_logo{
		width: auto;
		height: 50px;
	}
	.site_navSP_hdr_title_type{
		width: auto;
		height: 15px;
		margin: 6px 0 0 10px;
	}
	.site_navSP {
		max-width: 720px;
		margin: 0 auto;
	}
	.site_navSP01 a{
		display: block;
		height: 50px;
		padding-left: 20px;
		border-bottom: solid 1px #eee;
		background-image: url("../images/common/arrow.svg");
		background-repeat: no-repeat;
		background-position: right 9px center;
		background-color: #fff;
		font-size: 1.4rem;
		font-weight: bold;
		text-decoration: none;
		color: var(--color-black);
		line-height: 50px;
	}
	.site_navSP01 a.sub{
		padding-left: calc(20px + 1em);
		border-bottom: solid 1px #fff;
		background-color: rgba(6, 118, 204, 0.1);
		font-weight: normal;
	}
	.site_navSP02{
		display: flex;
		justify-content: center;
		gap: 10px;
	}
}

/*footer
-----------------------------------------------------*/
.toTop{
	position: fixed;
	right: 10px;
	bottom: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 40px;
	border-radius: 8px;
	background: var(--color-blue02);
	color: #fff;
	text-decoration: none;
}
.site_ftr{
	padding-top: 75px;
	background: url("../images/common/footer_bg.svg") repeat-x;
	background-color: #fff;
}
.site_ftr_main{
	display: flex;
	flex-direction:row-reverse;
	justify-content: space-between;
	width: 98%;
	max-width: 1200px;
	margin:0 auto 70px;
}
.site_ftr_nav_list{
	display: flex;
	gap: 60px;
}
.site_ftr_nav_list a{
	color: var(--color-blue01);
	text-decoration: none;
	transition: color .3s;
}
.site_ftr_nav_list a:hover{
	color: var(--color-blue02)
}
.site_ftr_nav_lev1{
	display: inline-block;
	margin: 0 0 0.75em;
	font-size: 2.0rem;
	font-weight: bold;
}
.site_ftr_nav_lev1.organization{
	margin: 0 0 0.25em;
}
.site_ftr_nav_lev2{
	display: inline-block;
	margin: 0 0 0.25em;
	font-size: 1.8rem;
}
.site_ftr_address{
	font-size: 1.6rem;
}
.site_ftr_address_nav{
	display: inline-block;
}
.site_ftr_address_nav ul{
	display: inline-flex;
	gap: 10px;
	margin: 1em 0 0;
	padding: 0;
}
.site_ftr_address_logotype{
	width: auto;
	height: 23px;
	margin-bottom: 1em;
}
.site_ftr_credits{
	height: 80px;
	background: #3C3C3C;
	color: #fff;
	text-align: center;
	line-height: 80px;
	font-family: var(--font-robot);
	font-size: 1.4rem;
}
.site_ftr_counter{
	padding-right: 1em;
	background: #3C3C3C;
	color: #999;
	font-size: 1.2rem;
	text-align: right;
	
	
}
@media (max-width:1023px) {
	.site_ftr{
		padding-top: 40px;
	}
	.site_ftr_main{
		width: 100%;
		flex-direction: column;
		margin: 0;
	}
	.site_ftr_nav_list{
		justify-content: center;
		gap: 30px;
	}
	.site_ftr_nav_lev1{
		font-size: 1.6rem;
	}
	.site_ftr_nav_lev2{
		font-size: 1.4rem;
	}
	.site_ftr_nav_bottom{
		background-color: var(--color-gray01);
	}
	.site_ftr_address_wrap{
		display: flex;
		justify-content: center;
	}
	.site_ftr_address_logotype{
		height: 20px;
	}
	.site_ftr_address{
		padding: 30px 5%;
	}
	.site_ftr_credits{
		height: 50px;
		line-height: 50px;
		font-size: 1.1rem;
	}
}
/*index
-----------------------------------------------------*/
main.index{
	background: #fff;
}
.index_topImg{
	position: relative;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	width: 100%;
	height: 95vh;
	background: url(../images/index/topImg_pc.jpg) no-repeat center;
	background-size:cover;
}
.index_topImg h1{
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}
.index_topImg h1 img{
	width: 65%;
	max-width:800px ;
	margin-left: 5%;
}
/*香川県管連とは*/
.index_about_wrap{
	background: #fff;
}
.index_about{
	width: 95%;
	max-width: 1200px;
	margin: 0 auto;
	transform: translateY(-110px);
}
.index_about_hdr{
	height: 170px;
	margin: 0 0 56px;
	padding: 70px 0;
	background: url(../images/common/footer_bg.svg) repeat-x top #fff;
	box-shadow: 0px -5px 6px 0px rgba(0, 0, 0, 0.16);
}
.index_about_h2{
	font-size: 3.5rem;
	text-align: center;
}
.index_about_h2::after{
	content: "";
	display: block;
	width: 40px;
	height: 4px;
	margin: 30px auto 0;
	background: var(--color-blue02);
}
.index_about_txt{
	padding: 0 50px ;
	background: #fff;
}
.index_about_txt p{
	text-align: justify;
	text-justify: inter-ideograph;
}
@media (max-width:1023px) {
	.index_topImg{
		flex-direction: column-reverse;
		background:
			url(../images/index/topImg02_sp.png) no-repeat bottom center,
			url(../images/index/topImg_sp.jpg) no-repeat top center;
		background-size:cover;
	}
	.index_topImg h1{
		text-align: center;
	}
	.index_topImg h1 img{
		width: 100%;
		max-width:280px ;
		margin: 0 0 18vh;
	}
	.index_about{
		width: calc(100% - 40px);
		transform: translateY(-70px);
	}
	.index_about_h2{
		font-size: 2.6rem;
	}
	.index_about_h2::after{
		margin: 26px auto 40px;
	}
	.index_about_txt{
		padding: 0 10px ;
	}
}
/*indexナビ*/
.index_nav_wrap{
	padding: 80px 0;
	background: linear-gradient(to bottom, #EFF3F5, #FFFFFF);
}
.index_nav{
	width: calc(100% - 100px);
	max-width: 1200px;
	margin: 0 auto;
}
.index_nav ul{
	display: flex;
	gap: 2.5%;
	margin: 0;
	padding: 0;
}
.index_nav li{
	display: block;
	width: calc((100% - 5%) / 3);
	aspect-ratio: 344 / 250;
}
.index_nav ul a{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	border-radius: 0 20px 0 20px;
	text-decoration: none;
}
.index_nav ul a span{
	position: relative;
	color: #fff;
	font-size: 3.2rem;
	font-weight: bold;
	transition: color .3s;
}
.index_nav ul a:hover span{
	color: #000;
	text-shadow: 0 0 3px rgba(255, 255, 255, 1);
}
.index_nav ul a:before{
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 0 20px 0 20px;
	background: rgba(112, 127, 137, .6);
	mix-blend-mode: multiply;
	transition: background .3s;
}
.index_nav ul a:hover:before{
	background: rgba(112, 127, 137, .0);
}
.index_nav ul a::after{
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	display: block;
	width: 55px;
	height: 55px;
	background:url(../images/index/index_nav_arrow.svg) no-repeat center rgba(0, 0, 0, .6);
	transition: background .3s;
}
.index_nav ul a:hover:after{
	background-color: var(--color-blue02);
}
.index_nav li:nth-child(1) a{
	background: url(../images/index/index_nav_bg01.jpg) no-repeat center /cover;
}
.index_nav li:nth-child(2) a{
	background: url(../images/index/index_nav_bg02.jpg) no-repeat center /cover;
}
.index_nav li:nth-child(3) a{
	background: url(../images/index/index_nav_bg03.jpg) no-repeat center /cover;
}
@media (max-width:1023px){
	.index_nav{
		width: calc(100% - 60px);
	}
	.index_nav ul{
		flex-direction: column;
		align-items: center;
		gap: 20px;
	}
	.index_nav li{
		width:100%;
		max-width: 344px;
	}
	.index_nav ul a span{
		font-size: 2.8rem;
	}
}
/*index会長あいさつ*/
.index_message_wrap{
	background: var(--color-gray02);
}
.index_message{
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 100px 50px;
	
}
.index_message h2{
	font-size: 3.5rem;
	margin: 0 0 1em;
}
.index_message_main{
	display: flex;
	align-items: end;
}
.index_message_txt{
	width: calc(100% - 300px);
}
.index_message_txt p{
	text-align: justify;
	text-justify: inter-ideograph;
}
.index_message_pic_wrap{
	width: 300px;
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
}
.index_message_pic {
    max-width: 180px;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    position: relative;
	margin: 0 auto 20px;
	border-radius: 0 30px 0 30px;
}

.index_message_pic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
@media (max-width:1023px){
	.index_message{
		width: 100%;
		padding: 45px 0 100px;
	}
	.index_message h2{
		font-size: 2.6rem;
		text-align: center;
	}
	.index_message_main{
		flex-direction: column-reverse;
		max-width: 640px;
		margin: 0 auto;
	}
	
	.index_message_txt{
		width: calc(100% - 60px);
		margin: 0 auto;
	}
	.index_message_pic_wrap{
		width: 100%;
		margin: 0 0 30px;
	}
	.index_message_pic {
		max-width: 180px;
		margin: 0 auto;
	}
	/*
	.index_message_pic {
		width: 100%;
		aspect-ratio: auto;
		overflow: hidden;
		position: relative;
		margin: 0 0 1em;
		border-radius: 0;
	}
	*/
}
/*index YouTube*/
.index_youtube_wrap{
	background: #fff;
	padding: 100px 0;
}
.index_youtube{
	display: flex;
	justify-content: space-between;
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
}
.index_youtube h2{
	margin: 0 0 35px;
	font-size: 2.0rem;
}
.index_youtube_item{
	width: 47.5%;
	max-width: 560px;
}
.youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%; /* 16:9の縦横比（高さ / 幅 * 100） */
}
.youtube iframe {
    position: absolute; 
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
@media (max-width:1023px){
	.index_youtube{
		display: flex;
		flex-direction: column;
		width: calc(100% - 60px);
		max-width: 640px;
		margin: 0 auto;
	}
	.index_youtube h2{
		margin: 0 0 1em;
		font-size: 1.6rem;
	}
	.index_youtube_item{
		width: 100%;
		max-width: auto;
		margin: 0 0 50px;
	}
}
/*関連団体リンク*/
.index_banner{
	text-align: center;
	padding: 100px 10px;
	background: var(--color-gray02);
}
.index_banner ul{
	display: flex;
	justify-content: center;
	gap: 50px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.index_banner li{
	max-width: 320px;
	display: flex;
	align-items: center;
	border: solid 1px #ccc;
}
.index_banner a{
	display: inline-block;
	width: 100%;
}
@media (max-width:1023px){
	.index_banner ul{
		flex-direction: column;
		align-items: center;
	}
}
/*瀬戸大橋*/
.index_ftr_img{
	height: 300px;
	background: url(../images/index/index_footer_img.jpg) no-repeat center / cover;
}
@media (max-width:1023px){
	.index_ftr_img{
		height: 250px;
	}
}
/*ページ共通
-----------------------------------------------------*/
.page{
	margin-bottom: 100px;
}
.page_main {
    max-width: 1200px;
	margin: 0 auto;
	padding: 0 50px;
}
.page_main_inr,
.accordion_item {
	margin-bottom: 25px;
    border-radius: 0 30px 0 30px;
	background: #fff;
}
.page_main_inr {
	padding: 50px;
}
.page_main_box{
	border-radius: 0 30px 0 30px;
	background: #fff;
}
@media (max-width:1023px) {
	.page{
		margin-bottom: 60px;
	}
	.page_main {
		padding: 0 10px;
	}
	.page_main_inr {
		padding: 0;
		border-radius: 0 20px 0 20px;
		background: none;
	}
	.page_main_box{
		margin-bottom: 40px;
		padding-bottom: 40px;
		border-radius: 0 20px 0 20px;
	}
}
.page_title{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 300px;
	margin: 0 0 80px;
	color: #fff;
	text-align: center;
}
.page_title h1{
	font-size: 5.0rem;
}
.page_title span{
	font-family: var(--font-robot);
	font-size: 1.6rem;
}
.page_title.organization{
	background: url(../images/organization/title_bg.jpg) no-repeat center / cover;
}
.page_title.branch{
	background: url(../images/branch/title_bg.jpg) no-repeat center / cover;
}
.page_title.activities{
	background: url(../images/activities/title_bg.jpg) no-repeat center / cover;
}
.page_title.contact{
	background: url(../images/contact/title_bg.jpg) no-repeat center / cover;
}
.page_title.member{
	background: url(../images/member/title_bg.jpg) no-repeat center / cover;
}
.page_title.news{
	background: url(../images/news/title_bg.jpg) no-repeat center right / cover;
}
.page_title.links{
	background: url(../images/links/title_bg.jpg) no-repeat center right / cover;
}
.page_title.qualification{
	background: url(../images/qualification/title_bg.jpg) no-repeat center right / cover;
}
@media (max-width:1023px) {
	.page_title{
		height: 250px;
	}
	.page_title div{
		transform: translateY(15px);
	}
	.page_title h1{
		font-size: 4.0rem;
	}
	.page_title span{
		font-size: 1.4rem;
	}
}
/*お知らせ
-----------------------------------------------------*/
/*indexお知らせ*/
.index_news_wrap{
	padding: 70px 0;
	background: url(../images/index/news_bg.jpg) no-repeat center;
	background-size: cover;
}
.index_news{
	max-width: 640px;
	margin: 0 auto;
	padding: 30px;
	border-radius: 0 30px 0 30px;
	background:#f0f3f5;
}
.index_news_hdr{
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-bottom: solid 4px #fff;
}
.index_news_title{
	padding-bottom: 0.5em;
	font-size: 2.8rem;
}
.index_news_hdr_toList a{
	color: var(--color-blue02);
	font-weight: bold;
	font-size: 1.4rem;
	text-decoration: none;
}
@media (max-width:1023px) {
	.index_news_wrap{
		padding: 70px 10px;
		background: linear-gradient(to bottom, #EFF3F5, #FFFFFF);
	}
	.index_news{
		padding: 0px;
		background: none;
	}
	.index_news_title{
		font-size: 2.0rem;
	}
}
/*お知らせ一覧*/
.news_list{
	max-width: 640px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}
.news_list_item{
	margin-bottom: 1em;
	border-bottom: solid 1px #ccc;
}
.news_list_item a{
	display: block;
	padding: 1em 0;
	text-decoration: none;
}
.news_list_date{
	color: var(--color-blue02);
	font-size: 1.6rem;
	font-weight: bold;
}
.news_list_title{
	font-size: 1.6rem;
	color: #222;
}
.news_list_item a:hover .news_list_title{
	color: var(--color-blue02);
	text-decoration: underline;
}
@media (max-width:1023px) {
	.news_list{
		padding: 40px 10px 0;
	}
}
/*お知らせ本文*/
.page_title .newsTitle{
	font-size: 3.0rem;
}
.news_main{
	max-width: 640px;
	margin: 0 auto;
}
.news_main_listLink{
	margin: 0;
	padding: 0;
	list-style: none;
}
.news_main_listLink li{
	margin-bottom: 1em;
}
.news_btn{
	margin-top: 60px;
	text-align: center;
}
@media (max-width:1023px) {
	.page_title .newsTitle{
		font-size: 2.2rem;
	}
	.news_main{
		margin: 0 auto;
		padding: 40px 10px;
	}

}
/*組織概要
-----------------------------------------------------*/
/*アコーデオン*/
.accordion_header {
	position: relative;
    width: 100%;
    padding: 40px 50px;
    transition: background 0.5s ease;
	cursor: pointer;
	font-size: 3.0rem;
	font-weight: bold;
}
.accordion_header::after {
    content: "";
    position: absolute;
    right: 50px;
    top: 50%;
	display: block;
	width: 50px;
	height: 50px;
	background: url(../images/common/accordion_open.svg);
    transform: translateY(-50%);
    transition: transform 0.5s ease;
}
.accordion_header.open::after {
    content: "";
	background: url(../images/common/accordion_close.svg);
    transform: translateY(-50%);
}
.accordion_body {
    max-height: 0;
    overflow: hidden;
    padding: 0 50px;
    transition: max-height 0.5s ease, padding 0.5s ease;
}
@media print {
	.accordion_body {
		max-height: none !important; /* 高さ制限を解除 */
		overflow: visible !important; /* 隠れている部分を表示 */
	}
}
.accordion_body.open {
    overflow: visible;
}
.accordion_body_inr{
	padding-bottom: 50px;
	border-top: solid 4px var(--color-blue02);
}
@media (max-width:1023px){
	.accordion_header {
		padding: 20px 25px;
		font-size: 2.2rem;
	}
	.accordion_body {
		padding: 0 10px;
	}
	.accordion_header::after {
		right: 20px;
		width: 30px;
		height: 30px;
		background-size:30px;
	}
	.accordion_header.open::after {
		background-size:30px;
	}
}
/*共通*/
.table02.history,
.table02.qualification,
.table02.event{
	margin-bottom: 60px;
}
@media (max-width:1023px){
	.accordion_body_inr table:last-child{
		margin-bottom: 20px;
	}
}
/*沿革*/
.table02.history th{
	width: 6em;
}
.table02.historyFlow  tr td:first-child{
	white-space: nowrap;
}
@media (max-width:1023px){
	.table02.history th{
		width: 100%;
	}
	.table02.historyFlow{
		border-top: solid 1px rgba(0, 51, 153, .2);
	}
	.table02.historyFlow  tr td:first-child{
		display: block;
		padding-bottom: 0.5em;
		border: none;
	}
	.table02.historyFlow  tr td:last-child{
		padding-top: 0;
	}
}
/*組織図*/
.chart_top{
	position: relative;
	max-width: 500px;
	margin: 60px auto 46px;
	padding: 18px 0;
	border-radius: 20px;
	box-shadow: 0 3px 10px 0 rgba(0, 0, 0, .16);
	background: #fff;
	text-align: center;
}
.chart_top::after{
	content: "";
	position: absolute;
	bottom: -46px;
	left: 0;
	right: 0;
	display: block;
	width: 3px;
	height: 46px;
	margin: auto;
	background: var(--color-gray01);
}
.chart_top_logo{
	width: 48px;
	height: auto;
	margin-right: 13px;
}
.chart_top_logotype{
	width: 368px;
	height: auto;
}
.chart_line{
	width: calc((((100% - (18px * 4)) / 5)* 3) + (18px * 4));
	height: 3px;
	margin: 0 auto;
	border-top: solid 3px var(--color-gray01);
	border-left: solid 3px var(--color-gray01);
	border-right: solid 3px var(--color-gray01);
}
.chart_block_wrap{
	display: flex;
	gap: 18px;
	margin-bottom: 45px;
}
.chart_block{
	position: relative;
	width: calc((100% - 18px * 4) / 5);
	margin-top: 40px;
}
.chart_block::before{
	content: "";
	position: absolute;
	top: -40px;
	left: 0;
	right: 0;
	display: block;
	width: 3px;
	height: 40px;
	margin: auto;
	background: var(--color-gray01);
}
.chart_block:first-child::before,
.chart_block:last-child::before{
	top: -43px;
	width: 50%;
	height: 43px;
	background: #fff;
	border-top: solid 3px var(--color-gray01);
}
.chart_block:first-child::before{
	left: auto;
	border-left: solid 3px var(--color-gray01);
	border-radius: 20px 0 0 0;

}
.chart_block:last-child::before{
	right: auto;
	border-right: solid 3px var(--color-gray01);
	border-radius: 0 20px 0 0;
}
.chart_block_name{
	height: 40px;
	margin-bottom: 1em;
	border-radius: 7px;
	color: #fff;
	font-size: 1.8rem;
	text-align: center;
	line-height: 40px;
}
.chart_block_list{
	margin: 0;
	padding: 0 5px;
	list-style: none;
	font-size: 1.6rem;
}
.chart_block_list li{
	margin-bottom:1em;
	padding-left: 18px;
	text-indent: -18px;
}
.chart_block_list li:before{
	content: "";
	display: inline-block;
	width: 12px;
	height: 12px;
	margin-right: 6px;
}
.chart_block.blue .chart_block_name,
.chart_block.blue .chart_block_list li:before{
	background: var(--area-blue01);
}
.chart_block.green .chart_block_name,
.chart_block.green .chart_block_list li:before{
	background: var(--area-green01);
}
.chart_block.purple .chart_block_name,
.chart_block.purple .chart_block_list li:before{
	background: var(--area-purple01);
}
.chart_block.pink .chart_block_name,
.chart_block.pink .chart_block_list li:before{
	background: var(--area-pink01);
}
.chart_block.orange .chart_block_name,
.chart_block.orange .chart_block_list li:before{
	background: var(--area-orange01);
}
@media (max-width:1023px){
	.chart_top_logo{
		width: 28px;
		margin-right: 7px;
	}
	.chart_top_logotype{
		width: 217px;
	}
	.chart_line{
		display: none;
	}
	.chart_block_wrap{
		flex-direction: column;
		align-items: center;
		gap: 25px;
		padding: 30px 12px ;
		border-radius: 10px;
		box-shadow: 0 3px 10px 0 rgba(0, 0, 0, .16);
	}
	.chart_block{
		width:100%;
		max-width: 400px;
		margin-top: 0;
	}
	.chart_block::before{
		content: none;
	}
}
/*役員名簿*/
table.officer .block{
	display: inline-block;
	width: 9em;
	height: 40px;
	border-radius: 7px;
	font-weight: bold;
	text-align: center;
	line-height: 40px;
}
.block.blue{
	color: var(--area-blue01);
	background: var(--area-blue02);
}
.block.green{
	color: var(--area-green01);
	background: var(--area-green02);
}
.block.purple{
	color: var(--area-purple01);
	background: var(--area-purple02);
}
.block.pink{
	color: var(--area-pink01);
	background: var(--area-pink02);
}
.block.orange{
	color: var(--area-orange01);
	background: var(--area-orange02);
}
/*資格・評価*/
.table02.qualification th{
	width: 4em;
}
.table02.qualification tr td:nth-child(2){
	width: 11em;
}
@media (max-width:1023px){
	.table02.qualification th{
		width: 100%;
	}
	.table02.qualification tr td:nth-child(2){
		width: 100%;
		padding: 1.5em 0 0;
		border-bottom: none;
	}
	.table02.qualification tr td:last-child{
		margin: 0;
		padding: 0 0 1.5em;
	}
}
/*年間行事*/
.table02.event th{
	width: 5em;
}
.table02.event .pics{
	display: flex;
	flex-wrap: wrap;
	gap: 35px;
	margin: 20px 0 0;
	padding: 0;
}
.table02.event .pics li{
	width: calc((100% - 70px) / 3);
	margin: 0;
	list-style: none;
}
.table02.event .pics li figure{
	margin: 0;
}
.table02.event .pics li figcaption{
	font-size: 1.4rem;
}
.table02.event .pics li img{
	width: 100%;
}
@media (max-width:1023px){
	.table02.event th{
		width: 100%;
	}
	.table02.event .pics{
		flex-direction: column;
		gap: 35px;
	}
	.table02.event .pics li{
		width: 100%;
		max-width: 480px;
	}
}
/*事業活動
-----------------------------------------------------*/
.page_main_box.activities{
	margin-bottom: 60px;
}
.activities_h2{
	height: 60px;
	background: rgba(6, 119, 204, .6);
	color: #fff;
	font-size: 2.8rem;
	padding: 0 0 0 50px;
	border-radius: 0 20px 0 0;
	line-height: 60px;
}
.activities_txt{
	font-weight: bold;
}
@media (max-width:1023px){
	.activities_h2{
		height: 50px;
		font-size: 2.0rem;
		padding: 0 0 0 10px;
		line-height: 50px;
	}
}
/*活動内容*/
.table01.activities th{
	padding-left: 50px;
}
@media (max-width:1023px){
	.table01.activities{
		width: calc(100% - 20px);
		margin: 10px;
	}
	.table01.activities th{
		padding-left: 0;
	}
}
/*活動写真*/
.activities_pics_wrap{
	margin: 80px 0 0;
	padding: 0 50px;
}
.activities_pics_wrap .bar_v{
	font-size: 2.4rem;
	margin-bottom: 1em;
}
.activities_pics{
	margin-bottom: 60px;
}
.activities_pics_title{
	font-size: 1.8rem;
	margin-bottom: 0.5em;
}
.activities_pics_list{
	display: flex;
	flex-wrap: wrap;
	gap: 35px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.activities_pics_list li{
	width: calc((100% - 70px) / 3);
}
.activities_pics_list figure{
	margin: 0;
}
.activities_pics_list figcaption{
	margin: 0.5em 0 0;
	font-size: 1.4rem;
	text-align: left;
}
@media (max-width:1023px){
	.activities_pics_wrap{
		padding: 0 10px;
	}
	.activities_pics_wrap .bar_v{
		font-size: 1.8rem;
	}
	.activities_pics_title{
		font-size: 1.6rem;
	}
	.activities_pics_list{
		flex-direction: column;
		gap: 25px;
		width: 100%;
		max-width: 480px;
	}
	.activities_pics_list li{
		width: 100%;
	}
	.activities_pics_list figcaption{
		font-size: 1.3rem;
	}
}
/*能登半島地震応援復旧活動記録*/
.table02.fukyu_noto{
	margin-bottom: 30px;
}
.activities_fukkyu_noto_intro{
	margin-bottom: 100px;
}
.activities_fukkyu_noto_intro figure{
	margin: 0 0 30px;
}
.activities_fukkyu_noto_intro figcaption{
	font-size: 1.4rem;
}
.activities_fukkyu_noto_intro img{
	max-width: 400px;
}
.activities_fukkyu_noto_intro p{
	text-align: justify;
	text-justify: inter-ideograph;
}
@media (max-width:1023px){
	.table02.fukyu_noto{
		border-top: solid 1px rgba(0, 51, 153, .2);
	}
	.table02.fukyu_noto tr td:first-child{
		display: block;
		padding-bottom: 0.5em;
		border: none;
	}
	.table02.fukyu_noto tr td:last-child{
		padding-top: 0;
	}
	.activities_fukkyu_noto_intro figcaption{
		font-size: 1.3rem;
	}
}
/*支部一覧
-----------------------------------------------------*/
.page_main_box.branch .branch_block:last-child{
	margin-bottom: 20px;
}
.branch_map_sp{
	display: none;
}
.branch_map_pc{
	display:flex;
	justify-content: space-between;
	max-width: 885px;
	height: 380px;
	margin: 0 auto 40px;
}
.branch_map_side{
	display: flex;
	flex-direction: column;
	justify-content: space-around;
}
.branch_map_side.left{
	width: 206px;
}
.branch_map_side.right{
	width: 150px;
}
.branch_map_center{
	width: calc(100% - 206px  150px);
}
.branch_map_center svg{
	width: 100%;
	height: auto;
}
.branch_block{
	margin-bottom: 40px;
}
.branch_block_naem{
	width: 170px;
	height: 51px;
	border-radius: 0 15px 0 0;
	color: #fff;
	font-size: 2.2rem;
	font-weight: bold;
	text-align: center;
	line-height: 56px;
}
.branch_block.honbu .branch_block_naem{
	background: var(--color-blue02);
}
.branch_block.blue .branch_block_naem{
	background: var(--area-blue01);
}
.branch_block.green .branch_block_naem{
	background: var(--area-green01);
}
.branch_block.purple .branch_block_naem{
	background: var(--area-purple01);
}
.branch_block.pink .branch_block_naem{
	background: var(--area-pink01);
}
.branch_block.orange .branch_block_naem{
	background: var(--area-orange01);
}
.branch_wrap{
	display: flex;
    width: 100%;
	margin-bottom: 1px;
}
.branch_block.honbu .branch_wrap.top{
	border-top: solid 5px var(--color-blue02);
}
.branch_block.blue .branch_wrap.top{
	border-top: solid 5px var(--area-blue01);
}
.branch_block.green .branch_wrap.top{
	border-top: solid 5px var(--area-green01);
}
.branch_block.purple .branch_wrap.top{
	border-top: solid 5px var(--area-purple01);
}
.branch_block.pink .branch_wrap.top{
	border-top: solid 5px var(--area-pink01);
}
.branch_block.orange .branch_wrap.top{
	border-top: solid 5px var(--area-orange01);
}
.branch_name{
	width: 170px;
	padding: 1em 0;
	font-size: 1.8rem;
	text-align: center;
}
.branch_name span{
	font-size: 1.4rem;
	font-weight: normal;
}
.branch_block.honbu .branch_name{
	background: rgba(0, 51, 153, .30);
}
.branch_block.blue .branch_name{
	background: var(--area-blue02);
}
.branch_block.green .branch_name{
	background: var(--area-green02);
}
.branch_block.purple .branch_name{
	background: var(--area-purple02);
}
.branch_block.pink .branch_name{
	background: var(--area-pink02);
}
.branch_block.orange .branch_name{
	background: var(--area-orange02);
}
.branch_info{
	display: flex;
	width: calc(100% - 170px);
	border-bottom: solid 1px var(--color-gray01);
}
.branch_union,
.branch_addr,
.branch_tel{
	padding: 1em;
	font-size: 1.6rem;
}
.branch_union{
	width: 35%;
}
.branch_union a{
	color: var(--color-blue01);
	font-size: 1.6rem;
	text-decoration: none;
}
.branch_union a:hover{
	text-decoration: underline;
}
.branch_union a::after{
	content: "";
	display: inline-block;
	width: 18px;
	height: 18px;
	background: url(../images/common/icon_newWin.svg) no-repeat;
	margin-left: 0.25em;
}
.branch_addr{
	width: 40%;
}
.branch_tel{
	width: 25%;
}
@media (max-width:1023px){
	.branch_map_pc{
		display:none;
	}
	.branch_map_sp{
		display: block;
		max-width: 480px;
		margin: 0 auto;
		padding: 40px 10px ;
	}
	.branch_block_naem{
		width: 120px;
		height: 39px;
		font-size: 1.5rem;
		line-height: 43px;
	}
	.branch_name {
		width: 120px;
	}
	.branch_name{
		width: 120px;
		padding: 0.5em 0.25em;
		font-size: 1.6rem;
	}
	.branch_branch span{
		font-size: 1.2rem
	}
	.branch_info{
		flex-direction: column;
		justify-content: center;
		width: calc(100% - 120px);
		padding: 0.5em;
	}
	.branch_union,
	.branch_addr,
	.branch_tel{
		display: flex;
		width: 100%;
		padding: 0.25em 0;
		border-bottom: none;
		font-size: 1.4rem;
	}
	.branch_union{
		align-items: center;
	}
	.branch_union a{
		font-size: 1.4rem;
	}
	.branch_union a::after{
		width: 15px;
		height: 15px;
		background-size: cover;
	}
	.branch_block.blue .branch_wrap.top{
		border-top: solid 4px var(--area-blue01);
	}
}
/*お問い合わせ
-----------------------------------------------------*/
.contact_introTxt{
	margin: 0 0 54px;
}
.page_main_box.contact{
	margin-bottom: 60px;
}
.contact_tel_title,
.contact_mail_title{
	display: flex;
	align-items: center;
	margin-bottom: 30px;
	border-bottom: solid 2px rgba(0, 51, 153, .2);
	color: var(--color-blue02);
	font-size: 2.8rem;
}
.contact_tel_title::before,
.contact_mail_title::before{
	content: "";
	display: block;
	width: 70px;
	height: 70px;
	margin-right: 20px;
	border-radius: 0 20px 0 0;
	transform: translateY(1px);
}
.contact_tel_title::before{
	background: url(../images/common/icon_tel.svg) no-repeat center var(--color-blue02);
}
.contact_mail_title::before{
	background: url(../images/common/icon_mailform.svg) no-repeat center var(--color-blue02);
}
.contact_tel_num{
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: var(--font-robot);
}
.contact_tel_num p{
	margin: 0 0 0 30px;
	font-size: 4.0rem;
	font-weight: bold;
}
p.contact_tel_time{
	margin: 0;
	font-size: 2.5rem;
}
.contact_mail_introTxt{
	margin: 0 0 54px;
}
@media (max-width:1023px){
	.contact_tel_title,
	.contact_mail_title{
		display: block;
		height: 50px;
		margin-bottom: 27px;
		border-bottom: none;
		border-radius: 0 20px 0 0;
		background: var(--color-blue02);
		color: #fff;
		font-size: 1.8rem;
		text-align: center;
		line-height: 50px;
	}
	.contact_tel_title::before,
	.contact_mail_title::before{
		content: none;
	}
	.contact_tel_title{
		background: url(../images/common/icon_tel.svg) no-repeat var(--color-blue02) left 16px center;
		background-size: 28px 28px;
	}
	.contact_mail_title{
		background: url(../images/common/icon_mailform.svg) no-repeat var(--color-blue02) left 16px center;
		background-size: 30px 20px;
	}
	.contact_tel_num{
		display: block;
		text-align: center;
	}
	.contact_tel_num p{
		margin: 0;
		font-size: 3.2rem;
	}
	p.contact_tel_time{
		font-size: 2.0rem;
	}
	.contact_mail{
		padding: 0 15px;
	}
	.contact_mail_introTxt{
		margin: 0 0 35px;
	}
}
/*メールフォーム*/
.form_mail{
	padding: 60px;
	border-radius: 30px;
	background: var(--color-gray02);
}
.mailform{
	max-width: 740px;
	margin: 0 auto;
}
.mailform dt {
	margin-bottom: 14px;
	font-size: 1.6rem;
}
.mailform dd {
	margin: 0 0 20px;
}
.mailform .hissu{
	display: inline-block;
	height: 20px;
	margin-left: 10px;
	padding: 0 0.5em;
	border-radius: 3px;
	background: #f55;
	color: #fff;
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 20px;
}
.mailform input,
.mailform textarea{
	width: 100%;
	padding: 0.75em 1em;
	font-size: 1.6rem;
	border: solid 1px var(--color-gray01);
}
.form_btn{
	margin-top: 30px;
	text-align: center;
}
@media (max-width:1023px){
	.form_mail{
		padding: 0;
		background: none;
	}
}
/*送信完了*/
.thanks{
	max-width: 640px;
	margin: 0 auto;
	padding: 20px;
}
.thanks h2{
	font-size: 2.0rem;
	text-align: center;
	margin-bottom: 1em;
}

/*会員ログインページ
-----------------------------------------------------*/
/*ログイン*/
.login_introTxt{
	margin: 0 0 44px;
	font-weight: bold;
	text-align: center;
}
.form_login{
	padding: 60px;
	border-radius: 30px;
	background: var(--color-gray02);
}
.form_login dl{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 580px;
	margin: 0 auto;
}
.form_login dt,
.form_login dd{
	margin: 0 0 30px;
	font-size: 1.6rem;
}
.form_login dt{
	display: flex;
	justify-content: right;
	align-items: center;
	width: 6em;
}
.form_login dd{
	width: calc(100% - 7em);
}
.form_login_lost{
	margin: 17px 0 0;
	text-align: center;
}
.form_login_lost a{
	margin: 0;
	color: var(--color-blue01);
	font-size: 1.4rem;
}
@media (max-width:1023px){
	.login_introTxt{
		margin: -40px 0 40px;
		font-size: 1.6rem;
		text-align: left;
	}
	.form_login{
		padding: 27px 10px 0px;
		background: none;
	}
	.form_login dl{
		display: block;
		flex-wrap: wrap;
	}
	.form_login dt{
		margin: 0;
		display: block;
		width: auto;
	}
	.form_login dd{
		width:100%;
	}
}
/*ログインフォーム*/
.form_login input,
.form_login textarea{
	width: 100%;
	padding: 0.75em 1em;
	font-size: 1.6rem;
	border: solid 1px var(--color-gray01);
}

/*会員ページ
-----------------------------------------------------*/
.fileType{
	display: inline-block;
	height: 18px;
	margin-left: 0.5em;
	padding: 0 0.25em;
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 18px;
}
.member_docs_list{
	margin: 0;
	padding: 0;
	list-style: none;
}
.member_docs_list li{
	margin-bottom: 1.5em;
	font-weight: bold;
}
.member_docs_list ul li{
	margin-top: 0.25em;
}
.member_docs_list li li{
	margin-bottom: 0.5em;
	font-weight: normal;
}
.fileType.word{
	color: #fff;
	background: rgba(31, 99, 193, .8)
}
.fileType.pdf{
	color: #fff;
	background: rgba(179, 11, 0, .8)
}

/*資格試験等
-----------------------------------------------------*/

.qualification_wrap .table04{
	margin-top: 50px;
}
.qualification_wrap .table04:first-child{
	margin-top: 0;
}
.qualification_wrap .table04 th{
	width: 40%;
}
@media (max-width:1023px){
	.qualification_wrap{
		padding: 40px 10px;
	}
}

/*災害サイト
-----------------------------------------------------*/
.saigai{
	width: 90%;
	max-width: 1024px;
	margin: 0 auto;
}
.saigai h1{
	text-align: center;
	margin: 100px 0;
}
.saigai_noCurrent{
	text-align: center;
}
.saigai_block{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 100px;
	padding-bottom: 100px;
	border-bottom: solid 1px #ccc;
}
.saigai_block.detail{
	flex-direction: column;
}
.saigai_block_item{
	margin-bottom: 2em;
}
.saigai_block_item_ttl{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0.25em 0.5em;
	background: var(--color-blue02);
	color: #fff;
}
.saigai_block_item_ttl .btn{
	background: #fff;
	padding: 0 1em;
	border: none;
	border-radius: 4px;
	color: var(--color-blue02);
}
.saigai_block_item_txt{
	padding: 0.25em 0.5em;
}
.saigai_block_item.num{
	width: 100%;
	padding: 0.25em;
	border: solid 1px var(--color-blue02);
	background: #fff;
	color: var(--color-blue02);
	font-weight: bold;
	text-align: center;
}
.saigai_block_item.date,
.saigai_block_item.name,
.saigai_block_item.branch,
.saigai_block_item.address{
	width: calc((100% - 30px) / 4);
}
.saigai_block_item.situation,
.saigai_block_item.localInfo,
.saigai_block_item.client,
.saigai_block_item.other,
.saigai_block_item.start,
.saigai_block_item.end,
.saigai_block_item.coName,
.saigai_block_item.status{
	width: calc((100% - 10px) / 2);
}

/*ボタン*/
.saigai_block_btn{
	width: 100%;
	text-align: center;
}
.saigai_block_btn .btn,
.saigai_past_btn .btn{
	padding: 0 30px;
	border: none;
	background: var(--color-blue01);
	color: #fff;
	font-weight: bold;
}
.saigai_past_btn{
	margin: 100px 0;
	text-align: center;
}
@media (max-width:1023px){
	.saigai{
		max-width: 640px;
	}
	.saigai h1{
		text-align: center;
		margin: 0 ;
		padding: 100px 0 0;
	}
	.saigai_block{
		flex-direction: column;
	}
	.saigai_block_item.date,
	.saigai_block_item.name,
	.saigai_block_item.branch,
	.saigai_block_item.address,
	.saigai_block_item.situation,
	.saigai_block_item.localInfo,
	.saigai_block_item.client,
	.saigai_block_item.other,
	.saigai_block_item.start,
	.saigai_block_item.end,
	.saigai_block_item.coName,
	.saigai_block_item.status{
		width: 100% ;
	}
}

.modal-overlay {
	position: fixed;
	top: 0; left: 0;
	z-index: 1000;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%; height: 100%;
	background: rgba(0, 0, 0, 0.8);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
}
.modal-overlay.active {
	opacity: 1;
	pointer-events: auto;
}
.modal-content {
	background: white;
	padding: 20px;
	border-radius: 8px;
	width: 90%;
	max-width: 640px;
	position: relative;
	text-align: center;
}
.modal-close {
	position: absolute;
	top: 10px; right: 10px;
	cursor: pointer;
}
.modal-content textarea{
	width: 100%;
	height: 250px;
}
.modal_btn{
	display: flex;
	justify-content: center;
	gap: 20px;
	margin-top: 50px;
}
.modal_btn .btn{
	min-width: 8em;
	padding: 0;
	border: none;
	background: var(--color-blue02);
	color: #fff;
}

.modal_btn .btn{
	min-width: 8em;
	padding: 0;
	border: none;
	background: var(--color-blue02);
	color: #fff;
}
.modal_btn .btn.negative{
	background: var(--color-black);
}
.saigai_pageNav{
	padding: 50px;
	text-align: center;
}
.saigai_pageNav .btn{
	background: var(--color-blue02);
	padding: 0 1em;
	color: #fff;
	border-radius: 0;
}

