@charset "UTF-8";
/* CSS Document */

/*=== google fonts ===*/
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;500;800&family=Kiwi+Maru:wght@400;500&display=swap');
*{
	font-family: "M PLUS Rounded 1c", sans-serif;
}
/*===============
	パンくずメニュー
===============*/
#top .breadcrumb{
	display: none;
}
.breadcrumb{
	display: flex;;
	margin: 20px auto 10px;
	font-size: 14px;
}
.breadcrumb li.home{
	background: #FEEEC6 url("../img/icon/homeIcon.png") no-repeat left center;
	padding-left: 23px;
}
.breadcrumb li a,
.breadcrumb li span{
	display: block;
	background: #FEEEC6 url("../img/icon/arw.png") no-repeat right center;
	padding: 10px 20px 10px 5px;
}
.breadcrumb li.current a,
.breadcrumb li.current span{
	background-image: none;
}
@media screen and (min-width:768px){
.breadcrumb{
	font-size: 24px;
	}
}
/*===============
	メインコンテンツ設定
===============*/
/*.wrap{
	width: 100%;
}*/
.container{
	width: 100%;
}
@media screen and (min-width:768px){
.container{
	width: 980px;
	margin: 0 auto;
	}
}
.support_heading,
.donation_heading,
.font_content{
	diaplay: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	text-align: center;
	padding: 100px 0;
	background: #fff;
}
.font_content p+h3{
	margin-top: 200px;
	margin:0 0 50px;
	font-weight: 500;
}
.support_heading h2,.support_heading h3,
.donation_heading h2,.donation_heading h3,
.heading h2,.heading h3{
	font-size: 16px;
	font-weight: 500;
	margin:0 0 50px;
}
@media screen and (min-width:768px){
.support_heading h2,.support_heading h3,
.donation_heading h2,.donation_heading h3,
.heading h2,
.heading h3{
	font-size: 32px;
	text-align: center;
	}
}
.support_heading,
.donation_heading{
	text-align: center;
}
.support_heading p span,
.support_heading p,
.donation_heading p span,
.donation_heading p{
	font-size: 14px;
}
@media screen and (min-width:768px){
.support_heading p span,
.support_heading p,
.donation_heading p span,
.donation_heading p{
	font-size: 24px;
	}
}
.support_heading h3{
	border-left: solid 10px #dcdeff;
	padding-left: 10px;
	text-align: start;
}
.br{
	display:block;
	margin-top: 1em;
}
.parallax_content h2{
	display: none;
}
.parallax_content{
	min-height: 100vh;
	background-position: center center;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-size: cover;
	-webkit-overflow-scrolling: touch;
	position: relative;
}
.parallax_content::after{
	content: "";
	color: #fff;
	background-color: rgba(0,0,0,0.5);
	position:absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 24px;
	text-align: center;
}
@media screen and (min-width:768px){
.parallax_content::after{
	content: "";
	font-size: 64px;
	}
}
.bg_01{
	background-image: url("../img/support/bg_01.jpg");
}
.bg_01::after{
	content: "私たちの目指していること";
}
.bg_02{
	background-image: url("../img/support/bg_02.jpg");
}
.bg_02::after{
	content: "支援いただける方にお願いしていること";
}
.bg_03{
	background-image: url("../img/support/bg_03.jpg");
}
.bg_03::after{
	content: "地域で支えるつながりに";
}
.bg_04{
	background-image: url("../img/support/bg_04.jpg");
}
.bg_04::after{
	content: "プレスタ！に申し込む方法";
}
/*===============
	リンクボタン設定
===============*/
#apply{
	background: #fff;/* 違うところにも背景色がかかっているので注意 */
}
.linkBtn{
	width: 250px;
	height: 44px;
	position: relative;
	left:50%;
	top: 0;
	transform: translateX( -50%);
	margin-bottom: 100px;
	cursor: pointer;
	background-image: url(../img/linkBtn/blueSP.png);
	background-repeat: no-repeat;
	background-seze: cover;
	background-position: left top;
}
@media screen and (min-width:768px){
.linkBtn{
	width: 314px;
	height: 56px;
	overflow: hidden;
	background-image: url(../img/linkBtn/blue.png);
	background-position: left bottom;
	}
.linkBtn:hover{
	background-position: left top;
	}
}
/*===============
	モーダルウィンドウ設定
===============*/
.modal_content{
	background: #fff;
	width: 100%;
	padding: 10px 30px;
	position: relative;
	max-height: calc(100vh - 40px);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	box-sizing: border-box;
}
@media screen and (min-width:768px){
.modal_content{
	width: 980px;
	padding: 30px 0;
	}
}
/* スクロールチェインを確実に止める（念のため） */
.modal_container,
.modal_content {
  overscroll-behavior: contain; /* 子要素のスクロールが親に伝播しない */
}

.modal_content h3{
	width: 100%;
	text-align: center;
	font-size: 48px;
	position: relative;
	z-index: 10;
	margin-bottom: 20px;
}
@media screen and (min-width:768px){
.modal_content h3{
	font-size: 20px;
	}
}
.modal_content h3::after{
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 10px;
	background-color: #dcdeff;
	left: 0;
	bottom: 0;
	z-index: -1;
}
.modal_content h3 + p{
	text-align: center;
	font-size: 16px;
}
@media screen and (min-width:768px){
.modal_content h3 + p{
	font-size: 24px;
	}
}
.modal_close{
	width: 50px;
	height: 50px;
	position: absolute;
	top: 10px;
	right: 10px;
	display: flex;
	flex-direction: column;
	background-color: #ccc;
	border-radius: 50%;
	cursor: pointer;
	z-index: 11;
}
.modal_close span{
	display: block;
	width: 40px;
	height: 3px;
	background-color: #333;	
}
.modal_close span:nth-child(1) {
  transform: translate( 5px, 24px) rotate(45deg);
}
.modal_close span:nth-child(2) {
  transform: translate( 5px , 21px) rotate(-45deg);
}
.modal_container{
	position: fixed;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0,0,0,0.6);
	opacity: 0;
	visibility: hidden;
	transition: opacity .28s ease,visibility .28s;
	z-index: 1100;
}
.modal_container.open{
  opacity: 1;
  visibility: visible;
}
@media screen and (min-width:768px){
	
}
/*===============
	フォーム　設定
===============*/
.formTable{
	width: 100%;
	margin: 30px auto;
}
@media screen and (min-width:768px){
.formTable{
	width: 800px;
	}
}
.formTable tr{
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 20px;
}
.formTable tr:last-child{
	margin-bottom: 0;
}
.formTable th{
	font-weight: 300
}
.formTable span,
.formTable .required{
	magrin-left: 40px;
	border-radius: 10px;
	padding: 5px 10px;
	display: inline-block;
	margin-left: 40px;
}
@media screen and (min-width:768px){
.formTable span,
.formTable .required{
	magrin-left: 40px;
	border-radius: 10px;
	padding: 5px 10px;
	display: inline-block;
	margin-left: 40px;
}
}
.formTable span::first-letter,
.formTable .required::first-letter{
	margin-right:1em;
}
.formTable .required{
	background-color: #fdc0ac;
	color: #f00;
}
.formTable span{
	background-color: #dddddd;
	color: #555555;
}
.formTable input,
.formTable select,
.formTable textarea{
	width: 100%;
	border: 1px solid #000;
	padding-left: 20px;
}
.formTable input,
.formTable select{
	height: 50px;
}
.formTable textarea{
	height: 150px;
	padding-top: 10px;
}
.modal_content input[required],
.modal_content select{
	background-color: #feeec6;
}
.reset_submit{
	display: flex;
	justify-content: center;
	gap: 30px;
}
.modal_content .reset_submit input{
	border-radius: 10px;
	padding: 5px 20px;
	display: inline-block;
}
.modal_content input[type="reset"]{
	background-color: #dddddd;
	color: #555555;
}
.modal_content input[type="submit"]{
	background-color: #fdc0ac;
	color: #f00;
}
.no-scroll{
	overflow:hidden;
}
/* 背景スクロールを止める（body に付けるクラス） */
body.no-scroll{
  overflow: hidden;
  /* 下の方法（position:fixed）を併用する場合は不要にするが
     まずは overflow:hidden を基本として後述のJSで位置保持 */
}
/*==============================
フッター　設定
==============================*/
/*=====　フレーム設定　=====*/
footer{
	color: #555555;
}
footer a:hover{
	text-decoration: underline;
}
.footerMainInformaition{
	display: flex;
	flex-direction: column;
	align-items: center;
}
@media screen and (min-width:768px){
.footerMainInformaition{
	flex-direction: row;
	justify-content: space-between
	}
}
.footerMainInformaition ul{
	display: flex;
	flex-direction: column;
	margin: 15px 0;
}
@media screen and (min-width:768px){
.footerMainInformaition ul{
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	margin: 70px 0;
	gap: 45px;
	}
}
.footerMainInformaition li{
		width: 300px;
	}
@media screen and (min-width:768px){
	.footerMainInformaition li{
	width: clamp(100px , 300 / 1440 * 100vw , 300px);
	}
}

.footerMainInformaition li:last-child{
	margin-right: 0;
}
@media screen and (min-width:768px){
.footerColumn{
	display: flex;
	flex-direction: column;
	}
}
/*=====　フッター詳細設定　=====*/
.footerMainInformaition>div{
	width: 320px;									/* calc */
}
.footerMainInformaition>div>img{
	width: 100%;
	height: auto;
	aspect-ratio: 300 / 200;
	margin: 20px;
}
.footerMainInformaition>div>p{
	width: 100%;
	text-align: center;
}
/*=====　各リンク設定　=====*/
dl.footerColumn dt{
	text-align: center;
	margin-bottom: 20px;
	width:100%;
	font-size: 24px;
	font-weight: 300;
	position: relative;
}
dl.footerColumn dt::after{
	content: "";
	display: block;
	width: 100%;
	height: 15px;
	background: inherit;/* 色は以下各自指定 */
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: -1;
}
dl.footer_utilize dt::after{
	background: #afe5a9;
}
dl.footer_support dt::after{
	background: #dcdeff;
}
dl.footer_donation dt::after{
	background: #fdc0ac;
}
dl.footerColumn dd{
	padding-left: 15px;
}
dl.footerColumn dd::before{
	content: ">";	
}
.footerSubInformaition{
	display: flex;
	flex-direction: column;
	gap: 5px;
	margin-top: 30px;
}
@media screen and (min-width:768px){
.footerSubInformaition{
	flex-direction: row;
	justify-content: center;
	gap: 90px;
	margin: 20px 0;
	}
}
.footerSubInformaition p{
	text-align: center;
	margin-bottom: 10px;
}
.footerSubInformaition p:last-child{
	margin-bottom: 0;
}
.footerSubInformaition p a{
	display:block;
	padding: 10px;
}

#copyright{
	background: #fdc0ac;
	color: #fff;
	font-size: 10px;
	text-align: center;
}
@media screen and (min-width:768px){
#copyright{
	font-size: 12px;
	}
}