@charset "utf-8";



/* 基本設定
-----------------------------------------------------------------------------------------*/
body {
	background: #ffffff;

	margin: 0;
	padding: 0;

	font-size:1.0em;
	line-height:100%;
	color:#000000;
	font-family: -apple-system,BlinkMacSystemFont,Quicksand, Helvetica, Arial, sans-serif;

	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
}
.no_pc { display:none !important; }
img {
	display:block;
	border:0;
	vertical-align: bottom;
}
a {
	color:#1a0dab;
	text-decoration:none;
}
a:hover {
	color:#1a0dab;
	text-decoration:underline;
}
a.window_open:after {
    content: url(../IMAGES/window_open.svg);
    display: inline-block;
	padding-left:10px;
    vertical-align: middle;
}
@media screen and (max-width: 980px){
	.no_pc { display:block !important; }
	.no_sp { display:none !important; }
}



/* 募金フォーム
-----------------------------------------------------------------------------------------*/
div.donationform_bg {
	display:none;

	z-index:100;
	position:fixed;
	top:0;
	left:0;

	background: rgba(0, 0, 0, 0.5);

	width:100%;
	height:100%;

	margin: 0;
	padding: 0;

	text-align:center;
}
iframe.donationform {
	display:none;

	z-index:100;
	position:absolute;
	top:0;
	left:0;

	border:0;

    margin:0 auto;
	padding: 0;

	overflow: hidden;
}



/* フォーム
-----------------------------------------------------------------------------------------*/
input[type="submit"],
input[type="button"] {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	font-family: -apple-system,BlinkMacSystemFont, Verdana,Helvetica,Arial, sans-serif;
	cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
	display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
	outline-offset: -2px;
}
input[type=text], input[type=number], input[type=password], input[type=email], textarea, select {
	border: 2px solid #000000;
	border-radius: 8px;

	margin: 0;
	padding: 10px 10px;

	width:calc(100% - 24px);

	font-size:18px;
	color:#000000;
	line-height: 100%;
	text-align : left;
	font-family: -apple-system,BlinkMacSystemFont, Verdana,Helvetica,Arial, sans-serif;
}
select {
	width:auto;
}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
input[type=number] {
	-moz-appearance: textfield;
}
input[type=radio], input[type=checkbox] {
	margin: 0;
	vertical-align:middle;
}

::-webkit-input-placeholder {
	padding-top:5px;
	color: #cccccc;
}
:-moz-placeholder {
	padding-top:5px;
	color: #cccccc;
}
:focus {
    outline: none;
}

input.form_input_text40 {
	width:40px;
}
input.form_input_text60 {
	width:60px;
}
input.form_input_text80 {
	width:80px;
}
input.form_input_text120 {
	width:120px;
}
input.form_input_text180 {
	width:180px;
}
input.form_input_text250 {
	width:250px;
}
input.form_input_text300 {
	width:300px;
}
input.form_input_text370 {
	width:370px;
}
input.form_text_area370_80 {
	width: 370px;
	height: 80px;
}
input.form_text_area370_200 {
	width: 370px;
	height: 200px;
}
@media screen and (max-width: 400px){
	input.form_input_text370,
	input.form_text_area370_80,
	input.form_text_area370_200 {
		width:calc(100% - 10px);
	}
}

input[type=button]:hover,
input[type=submit]:hover,
.button99,
.button01:hover,
.button02:hover,
.button03:hover,
.button04:hover,
.button05:hover {
	display:inline-block;
	border-radius:30px;
	box-sizing: border-box;
	background:#E60012;
	border:1px solid #E60012;
	margin: 10px 0;
	padding: 10px 24px;
	min-width:90px;
	font-size:16px;
	color:#ffffff;
	line-height: 140%;
	text-align:center;
	text-decoration:none;
}
input[type=button],
input[type=submit],
.button01,
.button02,
.button03,
.button04,
.button05,
.button99:hover {
	display:inline-block;
	border-radius:30px;
	box-sizing: border-box;
	background:#ffffff;
	border:1px solid #E60012;
	margin: 10px 0;
	padding: 10px 24px;
	min-width:90px;
	font-size:16px;
	color:#E60012;
	line-height: 140%;
	text-align:center;
	text-decoration:none;
}

.button97,
.button98 {
	display:inline-block;
	border-radius:30px;
	box-sizing: border-box;
	background:#ffffff;
	border:1px solid #707070;
	margin: 5px 0 10px 0;
	padding: 10px 24px;
	min-width:90px;
	font-size:16px;
	color:#000000;
	line-height: 140%;
	text-align:center;
	text-decoration:none;
}
.button97:hover {
	display:inline-block;
	border-radius:30px;
	box-sizing: border-box;
	background:#000000;
	border:1px solid #707070;
	margin: 5px 0 10px 0;
	padding: 10px 24px;
	min-width:90px;
	font-size:16px;
	color:#ffffff;
	line-height: 140%;
	text-align:center;
	text-decoration:none;
}
.button98:hover {
	display:inline-block;
	border-radius:30px;
	box-sizing: border-box;
	background:#EBEBEB;
	border:1px solid #707070;
	margin: 5px 0 10px 0;
	padding: 10px 24px;
	min-width:90px;
	font-size:16px;
	color:#000000;
	line-height: 140%;
	text-align:center;
	text-decoration:none;
}
@media screen and (max-width: 980px){
	input[type=button]:hover,
	input[type=submit]:hover,
	.button99,
	.button01:hover,
	.button02:hover,
	.button03:hover,
	.button04:hover,
	.button05:hover {
		font-size:13px;
		line-height: 140%;
	}
	input[type=button],
	input[type=submit],
	.button01,
	.button02,
	.button03,
	.button04,
	.button05,
	.button99:hover {
		font-size:13px;
		line-height: 140%;
	}
	.button97,
	.button98 {
		font-size:13px;
		line-height: 140%;
	}
	.button97:hover,
	.button98:hover {
		font-size:13px;
		line-height: 140%;
	}
}



/* ヘッダー
-----------------------------------------------------------------------------------------*/
#header {
	position:relative;
	z-index:80;
	background:#ffffff;
	margin: 0;
	padding: 0;
	width:100%;
	height:100px;
}
#header.fixed {
	position:fixed;
}
#header > div {
	margin: 0 auto;
	padding: 0;
	width:800px;
	height:100px;
}
#header > div:after {
	content : "";
	display : block;
	height : 0;
	clear : both;
}
#header > div h1 {
	margin: 0;
	padding: 30px 0 0 0;
	width:150px;
	float:left;
}
#header > div h1 img:hover {
	opacity:0.6;
}
#header > div ul.navi01 {
	letter-spacing: -0.5em;
	margin: 0;
	padding: 30px 0 0 0;
	width:32px;
	text-align:right;
	list-style:none;
	float:right;
}
#header > div ul.navi01 * {
	letter-spacing: normal;
}
#header > div ul.navi01 > li {
	display:inline-block;
	margin: 0;
	padding: 0;
	width:32px;
	vertical-align:top;
}
#header > div ul.navi01 > li > span {
	display:block;
	cursor:pointer;
}
#header > div ul.navi02 {
	letter-spacing: -0.5em;
	margin: 0;
	padding: 0;
	width:618px;
	text-align:center;
	list-style:none;
	float:left;
}
#header > div ul.navi02 * {
	letter-spacing: normal;
}
#header > div ul.navi02 > li {
	display:inline-block;
	margin: 0;
	padding: 36px 20px 0 20px;
	height:64px;
	vertical-align:top;
}
#header > div ul.navi02 > li > a,
#header > div ul.navi02 > li > span {
	display:block;
	margin: 0;
	padding: 4px 0;
	font-size:0.80em;
	line-height:100%;
	color:#000000;
	cursor:pointer;
}
#header > div ul.navi02 > li > a:hover,
#header > div ul.navi02 > li.current > span {
	border-bottom:2px solid #000000;
	color:#E60012;
	text-decoration:none;
}
#header > div ul.navi02 > li > a br,
#header > div ul.navi02 > li > span br {
	display:none;
}

#header > div ul > li > div {
	letter-spacing: -0.5em;
	display:none;
	position:absolute;
	left:0;
	top:100px;
	background:#ffffff;
	margin: 0;
	padding: 30px 0 30px 0;
	width:100%;
}
#header > div ul > li:hover > div * {
	letter-spacing: normal;
}
#header > div ul > li > div p.close {
	margin: 0 auto;
	padding: 20px 20px 0 20px;
	width:65px;
}
#header > div ul > li > div p.close img:hover {
	opacity:0.6;
}
#header > div ul > li > div div.type0001 {
	text-align:center;
}
#header > div ul > li > div div.type0001 form {
	display:inline-block;
	margin: 0;
	padding: 0 20px;
	vertical-align:top;
}
#header > div ul > li > div div.type0001 form input[type=text] {
	margin: 0 10px;
	width:284px;
}
#header > div ul > li > div div.type0001 ul {
	display:inline-block;
	margin: 0;
	padding: 4px 0 0 0;
	list-style:none;
	vertical-align:top;
}
#header > div ul > li > div div.type0001 ul li {
	display:inline-block;
	margin: 0;
	padding: 0;
}
@media screen and (max-width: 980px){
	#header > div ul > li > div div.type0001 {
		margin:0 auto;
		width:375px;
	}
}
#header > div ul > li > div div.type0101 {
	display:inline-block;
	margin: 0;
	padding: 0 20px 20px 20px;
	vertical-align:top;
}
#header > div ul > li > div div.type0102 {
	display:inline-block;
	margin: 0;
	padding: 0 20px 20px 20px;
	vertical-align:top;
}
#header > div ul > li > div div.type0101 ul {
	margin: 0;
	padding: 0;
	list-style:none;
	text-align:left;
}
#header > div ul > li > div div.type0101 ul li {
	margin: 0;
	padding: 0 0 30px 0;
}
#header > div ul > li > div div.type0101 ul li a {
	color:#000000;
}
#header > div ul > li > div div.type0102 ul {
	letter-spacing: -0.5em;
	margin: 0 0 16px 0;
	padding: 0;
	list-style:none;
}
#header > div ul > li > div div.type0102 ul * {
	letter-spacing: normal;
}
#header > div ul > li > div div.type0102 ul li {
	display:inline-block;
	margin: 0;
	padding: 0;
	width:140px;
}
#header > div ul > li > div div.type0102 ul li a {
	margin: 0;
	width:100%;
	font-size:14px;
	line-height:100%;
}
@media screen and (max-width: 980px){
	#header > div ul > li > div div.type0101,
	#header > div ul > li > div div.type0102 {
		display:block;
		margin: 0 auto;
		padding-bottom:0;
		width:335px;
	}
	#header > div ul > li > div div.type0101 ul {
		text-align:center;
	}
}
#header > div ul > li > div div.type0201 {
	display:inline-block;
	margin: 0;
	padding: 0 20px 20px 20px;
	text-align:left;
	vertical-align:top;
}
#header > div ul > li > div div.type0202 {
	display:inline-block;
	margin: 0;
	padding: 0 20px 20px 20px;
	text-align:left;
	vertical-align:top;
}
#header > div ul > li > div div.type0201 dl {
	margin: 0;
	padding: 0;
}
#header > div ul > li > div div.type0201 dl dt {
	margin: 0 0 30px 0;
	padding: 0;
	font-size:1.1em;
	font-weight:bold;
	text-align:left;
}
#header > div ul > li > div div.type0201 dl dt a {
	color:#000000;
}
#header > div ul > li > div div.type0201 dl dd {
	margin: 0;
	padding: 0;
}
#header > div ul > li > div div.type0201 dl dd ul {
	margin: 0;
	padding: 0 0 0 16px;
	text-align:left;
	list-style:none;
}
#header > div ul > li > div div.type0201 dl dd ul li {
	margin: 0 0 30px 0;
	padding: 0;
}
#header > div ul > li > div div.type0201 dl dd ul li a {
	color:#000000;
}
#header > div ul > li > div div.type0202 ul {
	margin: 0;
	padding: 0;
	list-style:none;
	text-align:left;
}
#header > div ul > li > div div.type0202 ul li {
	margin: 0;
	padding: 0 0 30px 0;
	font-size:1.1em;
	font-weight:bold;
}
#header > div ul > li > div div.type0202 ul li a {
	color:#000000;
}
@media screen and (max-width: 980px){
	#header > div ul > li > div div.type0201,
	#header > div ul > li > div div.type0202 {
		display:block;
		margin: 0 auto;
		padding-bottom:0;
		width:335px;
	}
	#header > div ul > li > div div.type0201 dl dt {
		font-size:1.0em;
		font-weight:normal;
		text-align:center;
	}
	#header > div ul > li > div div.type0201 dl dd {
		display:none;
	}
	#header > div ul > li > div div.type0202 ul {
		text-align:center;
	}
	#header > div ul > li > div div.type0202 ul li {
		font-size:1.0em;
		font-weight:normal;
	}
}
#header > div ul > li > div div.type0301 {
	display:inline-block;
	margin: 0 auto;
	padding: 0 20px 20px 20px;
	max-width:800px;
	text-align:left;
	vertical-align:top;
}
#header > div ul > li > div div.type0301 ul {
	letter-spacing: -0.5em;
	margin: 0 0 16px 0;
	padding: 0;
	list-style:none;
}
#header > div ul > li > div div.type0301 ul * {
	letter-spacing: normal;
}
#header > div ul > li > div div.type0301 ul li {
	display:inline-block;
	margin: 0;
	padding: 0 8px 16px 0;
}
#header > div ul > li > div div.type0301 ul li a {
	margin: 0;
	font-size:14px;
	line-height:100%;
}
@media screen and (max-width: 980px){
	#header > div ul > li > div div.type0301 {
		display:block;
		margin: 0 auto;
		padding-bottom:0;
		width:335px;
	}
	#header > div ul > li > div div.type0301 ul li {
		display:block;
		padding: 0 0 16px 0;
		text-align:center;
	}
}
div.navi_bg {
	z-index:70;
	position:fixed;
	top:0;
	left:0;
	background: rgba(129, 129, 129, 0.72);
	width:100%;
	height:100%;
	margin: 0;
	padding: 0;
	text-align:center;
}
@media screen and (max-width: 980px){
	#header {
		height:150px;
	}
	#header > div {
		width:100%;
		max-width:375px;
		height:150px;
	}
	#header > div h1 {
		padding: 16px 0 0 20px;
	}
	#header > div ul.navi01 {
		padding: 16px 20px 0 0;
		width:calc(100% - 190px);
		float:left;
	}
	#header > div ul.navi02 {
		width:100%;
		float:none;
	}
	#header > div ul.navi02 > li {
		border-left:1px solid #707070;
		margin: 15px 0;
		padding: 0;
		width:90px;
		height:70px;
	}
	#header > div ul.navi02 > li:first-child {
		border:0;
	}
	#header > div ul.navi02 > li > a,
	#header > div ul.navi02 > li > span {
		display:block;
		margin: 0;
		padding: 20px 0 0 0;
		height:50px;
		font-size:0.80em;
		line-height:120%;
	}
	#header > div ul.navi02 > li > a:hover,
	#header > div ul.navi02 > li.current > span {
		border-bottom:0;
		background:#E60012;
		color:#ffffff;
	}
	#header > div ul.navi02 > li > a br,
	#header > div ul.navi02 > li > span br {
		display:block;
	}
	#header > div ul > li > div {
		top:150px;
		height:calc(100vh - 300px);
		min-height:160px;
		overflow:auto;
	}

/*
	#header > div ul > li > div div.type0402 {
		display:none;
	}
*/
}



/* フッター
-----------------------------------------------------------------------------------------*/
#sns {
	margin: 60px auto 0 auto;
	padding: 0;

	width:100%;
	max-width:360px;
}
#sns dl {
	margin: 0;
	padding: 0;
}
#sns dl dt {
	border-bottom:2px solid #E50012;
	margin: 0 0 20px 0;
	padding: 0 20px 10px 20px;
	font-size:1.6em;
	color:#E50012;
	line-height:100%;
	font-weight:bold;
	text-align:center;
}
#sns dl dd {
	margin: 10px 0 0 0;
	padding: 0 20px;
}
#sns dl dd form {
	margin: 0;
	padding: 0;
}
#sns dl dd form input[type=text] {
	border:1px solid #707070;
	border-radius:0;
	background:#F1EEEE;
	width:calc(100% - 6px);
}
#sns dl dd form input[type=text]:nth-child(1) {
	border-right:0;
	border-bottom:0;
	width:calc(50% - 6px);
}
#sns dl dd form input[type=text]:nth-child(2) {
	border-bottom:0;
	width:calc(50% - 5px);
}
#sns dl dd form p {
	margin: 10px 0 0 0;
	padding: 0;
	text-align:center;
}
#sns dl dd > p {
	background: url(../IMAGES/footer_mail.svg) left top no-repeat;
	background-size:20px;
	margin: 0;
	padding: 0 0 10px 32px;
	color:#000000;
	line-height:100%;
	font-weight:bold;
	text-align:left;
}
#sns ul {
	letter-spacing: -0.5em;
	margin: 40px 0 0 0;
	padding: 0;
	text-align:center;
	list-style:none;
}
#sns ul * {
	letter-spacing: normal;
}
#sns ul li {
	display:inline-block;
	margin: 0;
	padding: 0 20px;
	vertical-align:middle;
}
#sns ul li a img:hover {
	opacity:0.6;
}

#footer {
	margin: 80px auto 0 auto;
	padding: 0;

	width:100%;
	max-width:900px;
}
#footer nav {
	letter-spacing: -0.5em;
	display:block;
	margin: 0;
	padding: 0;
	width:100%;
	text-align:center;
}
#footer nav * {
	letter-spacing: normal;
}
#footer nav div {
	display:inline-block;
	margin: 0 auto 30px auto;
	padding: 0 20px;
	width:calc(50% - 40px);
	max-width:410px;
	vertical-align:top;
}
#footer nav div ul.type01 {
	margin: 0;
	padding: 0;
	text-align:left;
	list-style:none;
}
#footer nav div ul.type01 li {
	margin: 0 0 10px 0;
	padding: 0;
}
#footer nav div ul.type01 li a {
	display:block;
	border:3px solid #000000;
	margin: 0;
	padding: 16px 0;
	font-size:1.1em;
	color:#000000;
	line-height:100%;
	text-align:center;
	text-decoration:none;
	font-weight:bold;
}
#footer nav div ul.type01 li a:hover {
	background:#E60012;
	color:#ffffff;
}
#footer nav div ul.type02 {
	margin: 20px 0 0 0;
	padding: 0;
	text-align:left;
	list-style:none;
}
#footer nav div ul.type02 li {
	margin: 10px 0 0 0;
	padding: 0;
	text-align:center;
}
#footer nav div ul.type02 li a {
	display:inline-block;
	margin: 0;
	padding: 10px 0 10px 40px;
	width:240px;
	font-size:1.0em;
	line-height:100%;
	text-align:left;
	font-weight:bold;
}
#footer nav div ul.type02 li:nth-child(1) a {
	background: url(../IMAGES/footer_login_d.svg) left 4px center no-repeat;
	color:#000000;
}
#footer nav div ul.type02 li:nth-child(1) a:hover {
	background: url(../IMAGES/footer_login_h.svg) left 4px center no-repeat;
	color:#e60012;
}
#footer nav div ul.type02 li:nth-child(2) a {
	background: url(../IMAGES/footer_mail.svg) left center no-repeat;
	color:#000000;
}
#footer nav div ul.type03 {
	letter-spacing: -0.5em;
	margin: 0;
	padding: 0;
	text-align:left;
	list-style:none;
}
#footer nav div ul.type03 * {
	letter-spacing: normal;
}
#footer nav div ul.type03 li {
	display:inline-block;
	margin: 0;
	padding: 0 0 10px 10px;
	width:calc((100% - 10px) / 2);
}
#footer nav div ul.type03 li:nth-child(odd) {
	padding: 0 0 10px 0;
}
#footer nav div ul.type03 li a {
	margin: 0;
	padding:14px 0;
	width:100%;
}
#footer nav ul.type04 {
	letter-spacing: -0.5em;
	margin: 40px 0 0 0;
	padding: 0;
	text-align:center;
	list-style:none;
}
#footer nav ul.type04 * {
	letter-spacing: normal;
}
#footer nav ul.type04 li {
	display:inline-block;
	margin: 0;
	padding: 0 20px;
}
#footer nav ul.type04 li a {
	color:#000000;
}
#footer > p {
	display:none;
}
#footer > div {
	margin: 60px 0 40px 0;
	padding: 0;
	text-align:center;
}
#footer > div p {
	margin: 0;
	padding: 0 20px 20px 20px;
	vertical-align:top;
}
#footer > div p img {
	margin: 0 auto;
}
#footer > div p.copyright {
	text-align:center;
}
#footer > div p.copyright a {
	margin:10px 0 20px 0;
	font-size:14px;
}
@media screen and (max-width: 980px){
	#footer nav div {
		display:block;
		width:calc(100% - 40px);
	}
	#footer nav div ul.type02 li a {
		width:220px;
	}
	#footer nav ul.type04 {
		margin: 0 auto 30px auto;
		padding: 0 20px;
		width:calc(100% - 40px);
		max-width:410px;
	}
	#footer nav ul.type04 li {
		margin: 0;
		padding: 10px 0 10px 10px;
		width:calc((100% - 10px) / 2);
		font-size:0.9em;
	}
	#footer nav ul.type04 li:nth-child(odd) {
		padding: 0 0 10px 0;
	}
	#footer > p {
		display:block;
		margin: 0 auto;
		padding: 0;
		width:60px;
	}
	#footer > p a {
		display:block;
	}
	#footer > p a:hover {
		opacity:0.6;
	}
	#footer > div {
		margin: 40px 0;
	}
	#footer > div p.copyright {
		text-align:center;
	}
}



/* 第二階層（一般）
-----------------------------------------------------------------------------------------*/
section#second {
	margin: 0;
	padding: 0;
}
section#index.relative {
	position:relative;
	padding-top:100px;
}
section#second.relative {
	position:relative;
	padding-top:100px;
}
section#second .breadcrumb {
	margin: 80px 20px 120px 20px;
	padding: 0;
}
section#second .breadcrumb ol {
	margin: 0 auto;
	padding: 0;

	width:100%;
	max-width:860px;

	font-size:0.8em;
	line-height: 100%;
	text-align : center;
	white-space: nowrap;
	overflow:hidden;
	list-style:none;
}
section#second .breadcrumb ol li {
	display:inline-block;
	background: url(../IMAGES/breadcrumb.svg) 6px center no-repeat;
	margin: 0;
	padding: 0 0 0 20px;
	white-space: nowrap;
	vertical-align:middle;
}
section#second .breadcrumb ol li:first-child {
	background: none;
	padding: 0;
}
section#second .breadcrumb ol li a {
	color:#000000;
	text-decoration:underline;
}
section#second .breadcrumb ol li a:hover {
	color:#000000;
	text-decoration:none;
}
section#second .breadcrumb ol li a img {
	width:38px;
}
section#second .main_image {
	position:relative;

	margin: 0;
	padding: 0;

	width:100%;
	height:600px;
	overflow:hidden;
}
section#second .main_image img {
	width: 100%;
	height:600px;
	object-fit: cover;
}
@media screen and (max-width: 980px){
	section#index.relative {
		position:relative;
		padding-top:150px;
	}
	section#second.relative {
		position:relative;
		padding-top:150px;
	}
	section#second .main_image {
		height:375px;
	}
	section#second .main_image img {
		height:375px;
	}
}
