@charset "utf-8";

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 リセット 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

*, *:before, *:after { box-sizing: border-box; }

body { margin: 0; }

h1, h2, h3, h4, h5, h6 { font-weight: inherit; margin-top: 0; margin-bottom: 0; }

ol, ul { list-style: none; padding-left: 0; margin-top: 0; margin-bottom: 0; }
dl { margin-top: 0; margin-bottom: 0; }
dd { margin-left: 0; }

p { margin-top: 0; margin-bottom: 0; }
img { width: 100%; height: auto; vertical-align: top; }
a:link { outline: 0; }

table { border-collapse: collapse; }
table tr th, table tr td { vertical-align: top; padding: 0; }
figure { margin: 0; padding: 0; }





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 基礎スタイル 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

html {
	overflow: hidden;
	overflow-y: scroll;
	font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Arial", sans-serif;
	font-size: 62.5%;
	line-height: 1;
}

a { color: #000000; }
a:hover { text-decoration: none; }





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 遺贈寄付 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

h1 { width: 100%; max-width: 1000px; margin: 0 auto; }

.wrap {
	width: 100%;
	max-width: 1000px;
	font-size: 1.6rem;
	font-feature-settings: "palt" 1;
	box-sizing: border-box;
	padding: 70px 0 100px;
	margin: 0 auto 0;
}

.lead {
	width: calc(840/1000 * 100%);
	max-width: 840px;
	display: table;
	font-size: 1.8rem;
	line-height: 1.6;
	font-weight: 700;
	margin: 0 auto 0;
}
.lead p + p { padding-top: 1em; }
.lead p.right {
	font-size: 1.2rem;
	text-align: right;
	font-weight: 500;
	text-indent: -1em;
	padding-left: 1em;
}
.lead p span { letter-spacing: -0.2em; padding: 0 0.3em; }

.present {
	display: table;
	background: #ffe9e3;
	color: #dd0033;
	font-size: 1.8rem;
	line-height: 1.5;
	font-weight: 700;
	text-align: center;
	box-sizing: border-box;
	padding: 1em 2em;
	margin: 100px auto 0;
}
.present span { display: inline-block; }

.linkBtn { display: table; margin: 70px auto 0; }
.association + .linkBtn { margin: 100px auto 0; }
.linkBtn a {
	display: block;
	border: solid 3px #dd0033;
	border-radius: 13px;
	box-shadow: 7px 7px 10px rgba(0,0,0,0.4);
	background: #dd0033;
	color: #ffffff;
	font-size: 2.4rem;
	text-decoration: none;
	font-weight: 700;
	box-sizing: border-box;
	padding: 15px 30px;
}
.linkBtn span {
	display: block;
	border: solid 3px #ccc;
	border-radius: 13px;
	box-shadow: 3px 3px 5px rgba(0,0,0,0.1);
	background: #ccc;
	color: #ffffff;
	font-size: 2.4rem;
	text-decoration: none;
	font-weight: 700;
	box-sizing: border-box;
	padding: 15px 30px;
}

.deadline { display: table; margin: 50px auto 0; }
.deadline p:first-child {
	display: table;
	font-size: 3.6rem;
	font-weight: 700;
	margin: 0 auto 0 ;
}
.deadline p:first-child span { font-size: 4.8rem; }
.deadline p:last-child {
	display: table;
	line-height: 1.5;
	text-indent: -1em;
	padding-left: 1em;
	margin: 1.5em auto 0;
}

.deadline2 { display: table; margin: 50px auto 0; }
.deadline2 p.dltext {
	display: table;
	font-size: 2.4rem;
	font-weight: 700;
	margin: 0 auto 20px ;
	text-decoration:line-through;
	color:#999;
}
.deadline2 p.dltext span { font-size: 3.6rem; }
.deadline2 p.infotext {
	display: table;
	font-size: 2.4rem;
	font-weight: 700;
	margin: 0 auto 0 ;
	color:#dd0033;
}

.association { 
	width: calc(840/1000 * 100%);
	max-width: 840px;
	display: table;
	border-top: solid 2px #dd0033;
	margin: 100px auto 0;
}
.association h2 { color: #dd0033; font-size: 1.8rem; font-weight: 700; text-align: center; padding: 1.5em 0; }
.association .inner { border: solid 2px #dd0033; box-sizing: border-box; padding: 50px calc(40/840 * 100%); }
.association .list { width: 100%; max-width: 750px; display: flex; flex-wrap: wrap; margin: 0 auto 0; }
.association .list a { width: calc(350/750 * 100%); max-width: 350px; text-decoration: none; }
.association .list a:nth-child(2n) { margin-left: calc(50/750 * 100%); }
.association .list a:nth-child(2) ~ a { margin-top: 50px; }
.association .list a img { vertical-align: bottom; }
.association .list a img.gpjapan { margin-top:10px; }
.association .list a div.logoaddcopy { font-size:60%; text-align: center; margin-top:4px; }
.association p { line-height: 1.5; text-align: center; padding: 60px 0 30px; }
.association p + a {
	display: table;
	border: solid 2px #666666;
	border-radius: 11px;
	background: #666666;
	color: #ffffff;
	font-size: 1.8rem;
	font-weight: 700;
	text-decoration: none;
	box-sizing: border-box;
	padding: 15px 30px;
	margin: 0 auto 0;
}

.bottom {
	width: 100%;
	display: block;
	background: #333333;
	color: #ffffff;
	font-size: 1.2rem;
	text-align: center;
	padding: 20px 0;
}

.send p:nth-child(1) { font-size: 2.4rem; line-height: 1.5; font-weight: 700; text-align: center; }
.send p:nth-child(2) { font-size: 1.8rem; line-height: 1.5; text-align: center; margin: 30px 0 0 0; }
.bottomSend {
	width: 100%;
	font-size: 1.2rem;
	text-align: center;
	padding: 20px 0;
}



@media screen and (min-width: 769px) {
	.linkBtn a:hover { background: #ffffff; color: #dd0033; transition: 0.2s; }
	.association p + a:hover { background: #ffffff; color: #666666; transition: 0.2s; }
}



@media screen and (max-width: 767px) {
	.wrap { font-size: 1.5rem; padding: 50px calc(20/375 * 100%) 70px; }
	
	.lead { width: 100%; font-size: 1.6rem; }
	
	.present { font-size: 1.6rem; padding: 1em; margin: 50px auto 0; }
	
	.linkBtn { display: table; margin: 50px auto 0; }
	.association + .linkBtn { margin: 50px auto 0; }
	.linkBtn a { box-shadow: none; font-size: 1.8rem; padding: 15px 20px; }
	.linkBtn span { box-shadow: none; font-size: 1.6rem; padding: 15px 20px; }
	
	.deadline { margin: 40px auto 0; }
	.deadline p:first-child { font-size: 2.2rem; }
	.deadline p:first-child span { font-size: 3.6rem; }
	
	.deadline2 { margin: 40px auto 0; }
	.deadline2 p.dltext,
	.deadline2 p.infotext{ font-size: 2.2rem; }
	.deadline2 p.dltext span { font-size: 3.0rem; }
	
	.association { width: 100%; margin: 50px auto 0; }
	.association h2 { font-size: 1.6rem; padding: 1em 0; }
	.association .inner { padding: 20px calc(40/840 * 100%); }
	.association .list a:nth-child(2) ~ a { margin-top: 30px; }
	.association p { font-size: 1.3rem; padding: 40px 0 30px; }
	.association p + a { font-size: 1.6rem; padding: 10px 30px; }
	
	.send p:nth-child(1) { font-size: 1.8rem; }
	.send p:nth-child(2) { font-size: 1.6rem; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 form 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.form {
	width: calc(840/1000 * 100%);
	max-width: 840px;
	display: table;
	font-size: 1.5rem;
	line-height: 1.5;
	margin: 0 auto 0;
}
.form h2 {
	border-top: solid 2px #dd0033;
	border-bottom: solid 2px #dd0033;
	color: #dd0033;
	font-size: 1.8rem;
	line-height: 1;
	font-weight: 700;
	text-align: center;
	padding: 0.7em 0;
}
.form table + h2 { margin: 100px 0 0 0; }

.form table { width: 100%; border-collapse: collapse; border-spacing: 0; margin: 30px 0 0 0; }
.form table tr:nth-child(2n+1) th, .form tr:nth-child(2n+1) td { background: #f6f6f6; }
.form table th { text-align: left; white-space: nowrap; padding: 20px 1.0em; }
.form table th .iconRed {
	display: inline-block;
	font-size: 1.2rem;
	letter-spacing: 0.2em;
	background: #cc0000;
	color: #ffffff;
	padding: 1px 3px 0 5px;
	margin: 0 7px 0 0;
}
.form table td { padding: 20px 1.0em; }
.form table td p { display: inline-block; }
.form table td.assoc { padding: 15px 1.0em; }
.form table td.assoc p { display:block; margin-top: 5px; }
.form table td input { border: solid 1px #cccccc; padding: 5px; }
.form table td input::placeholder { color: #999999; }
.form table td input:focus::placeholder { color: #ffffff; }
.form table td select { border: solid 1px #cccccc; padding: 5px 10px; margin: 20px 0 0 0; }
.form table td select + div { margin: 10px 0 0 0; }
.form table td .w4em { width: 4.0em; }
.form table td .w100 { width: 100%; }

.form .quest ul li:nth-child(1) {
	width: 100%;
	display: table;
	color: #cc0000;
	font-weight: 700;
	padding: 2em 0 0 1em;
	overflow: hidden;
}
.form .quest ul li:nth-child(1) div { display: table-cell; vertical-align: top; }
.form .quest ul li:nth-child(1) div + div { white-space: nowrap; padding: 0 0 0 1em; }
.form .quest ul li:nth-child(1) p { display: table-cell; }
.form .quest ul li:nth-child(1) .icon {
	float: right;
	font-size: 1.2rem;
	letter-spacing: 0.2em;
	color: #ffffff;
	padding: 1px 3px 0 5px;
	margin: 0 7px 0 0;
}
.form .quest ul li:nth-child(1) .icon.red { background: #cc0000; }
.form .quest ul li:nth-child(1) .icon.gray { background: #999999; }
.form .quest ul li:nth-child(2) { border-bottom: solid 1px #cccccc; line-height: 1.5; padding: 1em 0 2em 1em; }
.form .quest ul li:nth-child(2) p { display: inline-block; margin: 5px 2em 0 0; }
.form .quest ul li:nth-child(2) .other { border: solid 1px #cccccc; padding: 5px; }

.form h3 { font-weight: 700; text-align: center; margin: 100px 0 0 0; }
.form h3 + p { font-size: 1.4rem; text-align: center; margin: 10px 0 0 0; }
.form .privacy {
	width: 100%;
	border: solid 1px #cccccc;
	font-size: 1.4rem;
	line-height: 1.8;
	box-sizing: border-box;
	padding: 30px 30px 50px 30px;
	margin: 30px 0 0 0;
}

.form .privacy .policy { display: table; background: #f6f6f6; padding: 20px; margin: 40px auto 0; }
.form .privacy .policy p { font-weight: 700; line-height: 1; }
.form .privacy .policy a {
	display: block;
	color: #000000;
	font-size: 1.5rem;
	line-height: 1;
	text-decoration: none;
	padding: 0 0 0 25px;
	margin: 20px 0 0 0;
	position: relative;
}
.form .privacy .policy a:before {
	content: "";
	display: block;
	width: 15px;
	height: 13px;
	border: solid 1px #999999;
	box-sizing: border-box;
	position: absolute;
	top: 0;
	left: 2px;
}
.form .privacy .policy a:after {
	content: "";
	display: block;
	width: 15px;
	height: 10px;
	border-bottom: solid 1px #999999;
	border-left: solid 1px #999999;
	box-sizing: border-box;
	position: absolute;
	bottom: 0;
	left: 0;
}

.form .privacy .js-checkbox {
	display: table;
	font-size: 1.8rem;
	line-height: 1.5;
	font-weight: 700;
	padding: 0 20px 0 20px;
	margin: 50px auto 0;
	cursor: pointer;
	position: relative;
}
.form .privacy .js-checkbox input { position: absolute; z-index: -1; opacity: 0; }
.form .privacy .js-checkbox .checkArea {
	display: block;
	width: 16px;
	height: 16px;
	border: solid 1px #cccccc;
	background: #ffffff;
	position: absolute;
	top: 5px;
	left: 0;
}
.form .privacy .js-checkbox.active .checkArea:before {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	content: '';
	width: 9px;
	height: 18px;
	border-bottom: solid 3px #dd0033;
	border-right: solid 3px #dd0033;
	transform: rotate(45deg) translate(-55%, -40%);
	transform-origin: top;
}
.form .submitBtn a {
	display: table;
	border: solid 3px #dd0033;
	border-radius: 13px;
	background: #dd0033;
	color: #ffffff;
	font-size: 2.4rem;
	line-height: 1;
	font-weight: 700;
	text-decoration: none;
	letter-spacing: 0.2em;
	box-sizing: border-box;
	padding: 15px 30px;
	margin: 100px auto 0;
	pointer-events: none;
	opacity: 0.4;
}
.form .submitBtn.active a { box-shadow: 7px 7px 10px rgba(0,0,0,0.4); opacity: 1; pointer-events: inherit; }



@media screen and (min-width: 769px) {
	.form .privacy .policy a:hover { text-decoration: underline; }
	.form .submitBtn.active a:hover { background: #ffffff; color: #dd0033; transition: 0.2s; }
}

@media screen and (max-width: 767px) {
	.form { width: 100%; font-size: 1.4rem; }
	.form h2 { font-size: 1.6rem; padding: 0.5em 0; }
	.form table { margin: 20px 0 0 0; }
	.form table + h2 { margin: 50px 0 0 0; }
	
	.form table th, .form td { display: block; }
	.form table th { padding: 15px 10px 5px; }
	.form table td { padding: 0 10px 15px; }
	.form table td p { display: block; }
	.form table td p + p { margin: 5px 0 0 0; }
	.form table td.assoc { padding: 0 10px 10px; }
	.form table td.assoc p { display: block; }
	.form table td.assoc p:first-child { margin-top: 0; }
	
	.form .quest ul li:nth-child(1) { padding: 20px 0 0 10px; }
	.form .quest ul li:nth-child(2) { padding: 10px 0 20px 10px; }
	.form .quest ul li:nth-child(2) p { display: block; margin: 5px 0 0 0; }
	
	.form h3 { margin: 50px 0 0 0; }
	.form h3 + p { font-size: 1.2rem; }
	.form .privacy { font-size: 1.3rem; padding: 15px 15px 30px 15px; margin: 15px 0 0 0; }
	
	.form .privacy .policy { padding: 15px; margin: 30px auto 0; }
	.form .privacy .policy a { font-size: 1.3rem; padding: 0 0 0 20px; }
	.form .privacy .policy a:before { width: 13px; height: 11px; }
	.form .privacy .policy a:after { width: 13px; height: 9px; }
	
	.form .privacy .js-checkbox { font-size: 1.5rem; padding: 0 0 0 20px; margin: 40px auto 0; }
		.form .privacy .js-checkbox .checkArea { top: 2px; }
	.form .submitBtn a { font-size: 1.8rem; margin: 50px auto 0; }
	.form .submitBtn.active a { box-shadow: none; }
}


/*【追記 2023.9.4】*/
.form .alertText{ color:#d03; margin-top:5px; font-weight:bold; }
