@charset "utf-8";

.component hr {
	margin: 96px 0;
}

.component .blank {
	margin-bottom: 80px;
}

@media screen and (max-width: 768px) {
	.component hr {
		margin: 64px 0;
	}
	
	.component .blank {
		margin-bottom: 64px;
	}
}

/* button
-------------------------------------------------- */
.btn {
	width: fit-content;
	max-width: 100%;
	font-size: 1.6rem;
	line-height: 1.5;
	margin-top: 40px;
}

p.btn {
	min-width: 310px;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 0;
}

p.btn.left {
	margin-right: 0;
	margin-left: 0;
}

.btnGroup {
	margin-top: 40px;
	margin-bottom: 0;
	display: flex;
	column-gap: 4%;
	justify-content: center;
	align-items: stretch;
}

.btnGroup.left {
	justify-content: flex-start;
}

.btnGroup .btn {
	width: 22%;
	margin-top: 0;
}

.btnGroup.twoBtn .btn {
	min-width: 264px;
}

@media screen and (min-width: 769px) {
	.col p.btn {
		width: 310px;
		min-width: 0;
		max-width: 100%;
	}
	
	.col .btnGroup.twoBtn {
		flex-wrap: wrap;
		margin-bottom: -16px;
	}
	
	.col .btnGroup.twoBtn .btn {
		width: 264px;
		min-width: 0;
		max-width: 100%;
		margin-bottom: 16px;
	}
}

.btn.close {
	min-width: 0;
}

@media screen and (max-width: 768px) {
	.btn {
		margin-top: 32px;
	}
	
	p.btn {
		width: 350px;
		min-width: 0;
	}
	
	p.btn.left {
		margin-right: auto;
		margin-left: auto;
	}
	
	.btnGroup .btn {
		width: 350px;		
	}
	
	.btnGroup.twoBtn .btn {
		min-width: 0;
	}

	.btnGroup:not(.nowrap) {
		flex-direction: column;
		align-items: center;
	}
	
	.btnGroup:not(.nowrap) .btn:not(:last-child) {
		margin-bottom: 16px;
	}

	.btn.close {
		width: fit-content;
	}
	
	ul.btnGroup {
		margin: 32px auto 0;
	}
}

.btn a,
.btn button,
.btn.input {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	width: 100%;
	height: 100%;
	padding: 13px 47px 13px 23px;
	border: 1px solid;
	border-radius: 1.75em;
	font-weight: 600;
	text-decoration: none;
	position: relative;
}

.btn.input {
	width: auto;
	padding: 0;
	border: 0;
}

.btn input {
	border: 1px solid;
	padding: 13px 47px 13px 23px;
	width: 100%;
	height: 100%;
	border-radius: 2em;
	transition: all .2s ease-out;
}

.btnA a,
.btnA button,
.btnA input {
	border-color: var(--planBlue);
	background-color: var(--planBlue);
	color: var(--white);
}

.btnB a,
.btnB button,
.btnB input {
	border-color: var(--lightGray);
	background-color: var(--white);
	color: var(--textBlack);
}

.btnC a,
.btnC button,
.btnC input {
	border-color: var(--yellow);
	background-color: var(--yellow);
	color: var(--textBlack);
}

.btnD a,
.btnD button,
.btnD input {
	border-color: var(--orange);
	background-color: var(--orange);
	color: var(--textBlack);
}

.btn.disabled a,
.btn.disabled button,
.btn.disabled input {
	border-color: #ebebeb;
	background-color: #ebebeb;
	color: var(--textGray);
}

/* anker link add */

.btnAnk a,
.btnAnk button,
.btnAnk input {
	border-color: var(--yellow);
	background-color: var(--yellow);
	color: var(--textBlack);
}
/* anker link end */

.btn a::before,
.btn button::before,
.btn.input::before {
	content: '';
	position: absolute;
	top: 50%;
	right: 14px;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: 100%;
}

.btnA a::before,
.btnA button::before,
.btn.input.btnA::before {
	background-image: url(/shared/images/ico_2.svg);
}

.btnB a::before,
.btnB button::before,
.btn.input.btnB::before {
	background-image: url(/shared/images/ico_1.svg);
}

.btnC a::before,
.btnC button::before,
.btn.input.btnC::before {
	background-image: url(/shared/images/ico_3.svg);
}

.btnD a::before,
.btnD button::before,
.btn.input.btnD::before {
	background-image: url(/shared/images/ico_3.svg);
}

.btn.close a::before,
.btn.close button::before {
	background-image: url(/shared/images/ico_11.svg);
}

.btn.disabled a::before,
.btn.disabled button::before {
	background-image: url(/shared/images/ico_20.svg);
}

.btn.back a,
.btn.back button,
.btn.back input,
.btn.close a,
.btn.close button {
	padding-right: 24px;
	padding-left: 48px;
}

.btn.back a::before,
.btn.back button::before,
.btn.input.back::before,
.btn.close a::before,
.btn.close button::before {
	right: auto;
	left: 14px;
	transform: translateY(-50%) rotate(180deg);
}

.btn.labelL a {
	padding: 17px 53px 17px 27px;
	font-size: 1.8rem;
}

.btn.labelL a::before {
	right: 18px;
}


.btnAnk a::before,
.btnAnk button::before,
.btn.input.btnAnk::before {
	background-image: url(/shared/images/ico_3.svg);
	transform: translateY(-50%) rotate(90deg);
}

@media screen and (max-width: 768px) {
	.btn.back a,
	.btn.back button,
	.btn.back input,
	.btn.close a,
	.btn.close button {
		padding-left: 42px;
	}
		
	.btn.labelL a {
		padding: 17px 47px 17px 23px;
		font-size: 1.7rem;
	}
	
	.btn.labelL a::before {
		right: 14px;
	}
	
	.btn a::before,
	.btn button::before,
	.btn.input::before {
		width: 16px;
		height: 16px;
	}
}

.btn a .sup {
	display: block;
	font-size: 1.4rem;
	text-align: left;
}

.btnB a[target="_blank"]:not(:has(img)),
.btnA a[href$=".pdf"]:not(:has(img)){
	padding: 13px 47px 13px 23px;
	background-image: none;
}

.btn a[target="_blank"]::before {
	background-image: none;
}

.btn a[target="_blank"] img.newTab {
	position: absolute;
	right: 14px;
	margin: 0;
}

.btnB a[target="_blank"]::before {
	background-image: url(/shared/images/ico_newtab_b.svg);
}

.btn a[href$=".pdf"] {
	background-image: none;
}

.btn a[href$=".pdf"]::before {
	background-image: url(/shared/images/ico_pdf.svg);
}

.btnA a[href$=".pdf"]::before {
	background-image: url(/shared/images/ico_pdf_w.svg);
}

@media (hover: hover) {
	.btnA a:hover,
	.btnA button:hover,
	.btnA input:hover {
		border-color: #005ba5;
		background-color: #005ba5;
	}
	
	.btnB a:hover,
	.btnB button:hover,
	.btnB input:hover {
		background-color: #eef5fc;
		color: var(--planBlue);
	}
	
	.btnC a:hover,
	.btnC button:hover,
	.btnC input:hover {
		border-color: #f2ca00;
		background-color: #f2ca00;
	}
	
	.btnD a:hover,
	.btnD button:hover,
	.btnD input:hover {
		border-color: #db5a2b;
		background-color: #db5a2b;
	}
}

.submit .btn {
	transition: all .2s ease-out;
	cursor: pointer;
}

p.btn + *,
.btnGroup + * {
	margin-top: 64px;
}

p.btn + .note,
.btnGroup + .note {
	margin-top: 12px;
}

@media screen and (max-width: 768px) {
	p.btn + *,
	.btnGroup + * {
		margin-top: 56px;
	}
}


.linkA,
.linkB {
	line-height: 1.5;
}

.linkA a,
.linkB a {
	display: inline-block;
	padding-left: 24px;
	text-decoration: none;
	position: relative;
}

.linkA a {
	color: var(--textBlack);
	font-weight: 600;
}

.linkA a::before,
.linkB a::before {
	content: '';
	position: absolute;
	left: 0;
	width: 16px;
	height: 16px;
	background-repeat: no-repeat;
	background-size: 100%;
}

.linkA a::before {
	top: calc(.75em - 8px);
	background-image: url(/shared/images/ico_1.svg)
}

.linkB a::before {
	top: calc(.625em - 8px);
	background-image: url(/shared/images/ico_4.svg);
}

@media (hover: hover) {
	.linkA a:hover,
	.linkA a:active {
		color: #005ba5;
	}

	.linkB a:hover {
		text-decoration: underline;
	}
}

/* 寄付が選択されたときのボタン */

.btnChange.kifu_button + .kifu-select {
	display: none;
}

.btnChange.kifu_button_selected {
	display: none;
}

.btnChange.kifu_button_selected + .kifu-select {
	display: inline-block;
}

.btn a.kifu_button + .kifuMsg,
.linkB a.kifu_button + .kifuMsg {
	display: none;
}

.btn a.kifu_button_selected,
.linkB a.kifu_button_selected,
.btn-lnavi .kifu_button_selected {
	display: none;
}

.btn a.kifu_button_selected + .kifuMsg,
.linkB a.kifu_button_selected + .kifuMsg {
	display: block;
}

.kifuMsg:not(.floatMsg) a, .kifuMsg:not(.floatMsg) a:hover {
	display: flex;
	background-color: #ebebeb;
	color: var(--textGray);
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	width: 100%;
	height: 100%;
	border: 1px solid #ebebeb;
	border-radius: 1.75em;
	font-weight: 600;
	text-decoration: none;
	position: relative;
}

.kifuMsg:not(.floatMsg) span a::before ,.kifuMsg:not(.floatMsg) span a:hover::before {
	background-image: url(/shared/images/ico_20.svg);content: '';
	position: absolute;
	top: 50%;
	right: 18px;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: 100%;
	border: none;
}

.kifuMsg span.note {
	display: block;
	mergin-top: 8px;
}

/* tab content
-------------------------------------------------- */
.tabList {
  display: flex;
  column-gap: 16px;
  border-bottom: 2px solid #000;
}

.tabList .tab {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: calc(1.5em + 38px);
	padding: 0 9px;
	border: 1px solid var(--lightGray);
	border-bottom: 0;
	border-radius: 8px 8px 0 0;
	background-color: var(--white);
	color: var(--planBlue);
  font-size: 1.6rem;
	font-weight: 600;
	text-align: center;
  cursor: pointer;
  flex: 1;
  transition: all .2s ease-out;
}

@media (hover: hover) {
	.tabList .tab:hover {
		background-color: #eef5fc;
	}
}

.tabList .tab.active {
  min-height: calc(1.5em + 45px);
  margin-top: -10px;
	border-color: var(--darkBlue);
	background-color: var(--darkBlue);
	color: var(--white);
	font-size: 1.8rem;
}

.tabList.bottom {
	border-bottom: 0;
	border-top: 2px solid #000;
}

.tabList.bottom .tab {
	border-bottom: 1px solid var(--lightGray);
	border-top: 0;
	border-radius: 0 0 8px 8px;
}

.tabList.bottom .tab.active {
	margin-top: 0;
	margin-bottom: -10px;
}
	
@media screen and (max-width: 768px) {
	.tabList {
		column-gap: 5px;
	}
	
	.tab.active {
		min-height: calc(1.5em + 47px);
		font-size: 1.7rem;
	}
}

.tabPanel {
  display: none;
}

.tabPanel.active {
  display: block;
}



/* news header
-------------------------------------------------- */
.newsHeader {
	margin-bottom: 84px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
}

.newsHeader .share {
	justify-content: flex-start;
}

.newsHeader .update {
	margin-bottom: 16px;
	text-align: right;
}

@media screen and (max-width: 768px) {
	.newsHeader {
		margin-bottom: 54px;
		display: block;
	}
}

.innerC .newsHeader {
	margin-bottom: 40px;
	font-size: 1.6rem;
}


/* keyword
-------------------------------------------------- */
.keywd {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: -8px;
}

.newsHeader .keywd {
	margin-bottom: 8px;
	width: 100%;
}

.keywd li {
	margin-right: 8px;
	margin-bottom: 8px;
	padding: 2px 8px;
	border: 1px solid var(--planBlue);
	background-color: var(--planBlue);
	color: var(--white);
	font-size: 1.2rem;
	font-weight: 600;
}

.keywd li.girls {
	border-color: var(--magenta);
	background-color: var(--magenta);
}

.keywd li.free {
	border-color: var(--lightBlue);
	background-color: var(--lightBlue);
	color: var(--textBlack);
}

.keywd li.end {
	border-color: var(--textGray);
	background-color: var(--textGray);
}




/* category / tag
-------------------------------------------------- */
.taxonomy {
	display: flex;
	flex-wrap: wrap;
	column-gap: 8px;
	align-items: flex-start;
	margin-bottom: -8px;
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 1.5;
}

.taxonomy li {
	margin-bottom: 8px;
	padding: 2px 12px;
	border-radius: 1em;
}

.taxonomy li a {
	display: block;
	margin: -3px -13px;
	padding: 2px 12px;
	border-radius: 1em;
}

.taxonomy li,
.taxonomy li a {
	border: 1px solid var(--planBlue);
	background-color: var(--white);
	color: var(--planBlue);
}

.taxonomy li.cat,
.taxonomy li.cat a {
	border: 1px solid var(--lightGray);
	background-color: var(--lightGray);
	color: var(--textBlack);
}

.taxonomy li.sub,
.taxonomy li.sub a {
	border: 1px solid var(--borderGray);
	color: var(--textBlack);
}

.taxonomy li.sponsership,
.taxonomy li.news,
.taxonomy li.supporters,
.taxonomy li.sponsership a,
.taxonomy li.news a,
.taxonomy li.supporters a {
	border-color: var(--planBlue);
	background-color: var(--planBlue);
	color: var(--white);
}
 
.taxonomy li.girlsPj,
.taxonomy li.girlsPj a {
	border-color: var(--magenta);
	background-color: var(--magenta);
	color: var(--white);
}
 
.taxonomy li.globalPj,
.taxonomy li.globalPj a {
	border-color: var(--green);
	background-color: var(--green);
	color: var(--textBlack);
}
 
.taxonomy li.globalsupporter,
.taxonomy li.globalsupporter a {
	border-color: var(--lightBlue);
	background-color: var(--lightBlue);
	color: var(--textBlack);
}
 
.taxonomy li.emergency,
.taxonomy li.emergency a {
	border-color: var(--orange);
	background-color: var(--orange);
	color: var(--textBlack);
}

.taxonomy li.report,
.taxonomy li.report a {
	border-color: var(--lightBlue);
	background-color: var(--lightBlue);
	color: var(--textBlack);
}

.taxonomy li a:hover {
	background-color: #eef5fc;
}

.taxonomy li.cat a:hover {
	border-color: #c6c6c4;
	background-color: #c6c6c4;
}

.taxonomy li.sub a:hover {
	background-color: #eeeeee;
}

.taxonomy li.sponsership a:hover,
.taxonomy li.news a:hover,
.taxonomy li.supporters a:hover {
	border-color: #005ba5;
	background-color: #005ba5;
}

.taxonomy li.girlsPj a:hover {
	border-color: #d3007b;
	background-color: #d3007b;
}

.taxonomy li.globalPj a:hover {
	border-color: #6e9b06;
	background-color: #6e9b06;
	color: #fff;
}

.taxonomy li.globalsupporter a:hover {
	border-color: var(--bgLightBlue);
	background-color: var(--bgLightBlue);
}

.taxonomy li.emergency a:hover {
	border-color: #be4f26;
	background-color: #be4f26;
	color: #fff;
}

.taxonomy li.report a:hover {
	border-color: #3aacc9;
	background-color: #3aacc9;
}



/* Share
-------------------------------------------------- */
.share {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	column-gap: 48px;
	flex-wrap: wrap;
	margin-top: 64px;
	margin-bottom: -8px;
}

.share li {
	margin-bottom: 8px;
}

@media screen and (max-width: 768px) {
	.share {
		column-gap: 8px;
		margin-top: 56px;
	}
}

.newsHeader .share {
	column-gap: 8px;
	margin-top: 0;
	margin-bottom: 8px;
}

.newsHeader .share li {
	justify-content: flex-start;
}



/* need support
-------------------------------------------------- */
.needSupport h3 {
	text-align: center;
}

.needSupport .boxInner {
	display: flex;
	column-gap: 32px;
	justify-content: center;
	align-items: center;
	border-radius: 8px;
}

.needSupport .boxInner p {
	margin-bottom: 0;
}

.needSupport .boxInner p.btn {
	margin: 0;
}

@media screen and (max-width: 768px) {
	.needSupport h3 {
		text-align: left;
	}
	
	.needSupport .boxInner {
		display: block;
	}
	
	.needSupport .boxInner p.btn {
		margin-top: 16px;
	}
}







/* link list
-------------------------------------------------- */
.linkB li:not(:last-child) {
	margin-bottom: 6px;
}

@media screen and (max-width: 768px) {	
	 .linkB li:not(:last-child) {
		margin-bottom: 12px;
	}
}

.toc ul {
	columns: 2;
	column-gap: 40px;
}

.toc li a::before {
	transform: rotate(90deg);
}

@media screen and (max-width: 768px) {
	.toc ul {
		columns: auto;
	}
}

.years ul {
	display: flex;
	flex-wrap: wrap;
	column-gap: 62px;
}




.girlsArea {
	background-color: var(--bgMagenta);
}

.donateArea {
	background-color: var(--bgYellow);
}



/* columns
-------------------------------------------------- */
.col {
	margin-top: 64px;
	display: flex;
	column-gap: 48px;
}

innerC .col {
	column-gap: 40px;
}

.colWrap {
	margin-top: 64px;
}

.colWrap .col {
	margin: 0;
}

h2 + .col,
h3 + .col,
h4 + .col,
h5 + .col,
h6 + .col,
h2 + .colWrap,
h3 + .colWrap,
h4 + .colWrap,
h5 + .colWrap,
h6 + .colWrap {
	margin-top: 0;
}

p + .col,
ol + .col,
ul + .col,
dl + .col,
.col+ p,
.col+ ol,
.col+ ul,
.col+ dl,
p + .colWrap,
ol + .colWrap,
ul + .colWrap,
dl + .colWrap,
.col + .box {
	margin-top: 32px;
}

.col.continue {
	margin-bottom: 24px;
}

.col2 > *,
.col3 > * {
	flex: 1;
}

.col > .txt {
	flex: 1;
}

.col > .img {
	width: auto;
	max-width: 370px;
	margin-top: .375em;
}

.col .txt > :first-child {
	margin-top: 0;
}

.col > .txt :last-child {
	margin-bottom: 0;
}

.innerC .col > .img {
	max-width: 31.6%;
}

.box .col {
	margin: 0;
}

.girlsDay .col {
	margin-bottom: 12px;
}

.girlsDay .col > .txt {
	font-size: 1.6rem;
}

.girlsDay .col > .img {
	width: 170px;
}

.col.reverse {
	flex-direction: row-reverse;
	column-gap: 32px;
}

.voice .col > .img {
	width: 140px;
}

/* フロート横並び */
.text-sneak {
	margin-top: 64px;
}
.text-sneak .right-img {
	float: right;
	margin-left: 24px;
}

@media screen and (max-width: 960px) {
	.col {
		column-gap: 40px;
	}
	
	.col > .img {
		width: 38.75%;
	}
}

@media screen and (max-width: 768px) {
	.col,
	.colWrap {
		margin-top: 56px;
	}
	
	.col2.spCol,
	.col3.spCol {
		column-gap: 24px;
	}
		
	.col:not(.spCol) {
		display: block;
	}
	
	.colWrap {
		margin-right: -20px;
		margin-left: -20px;
		padding-right: 20px;
		padding-left: 20px;
		overflow-x: auto;
	}
	
	.colWrap .col {
		width: 1008px;
	}
	
	.col:not(.spCol) > *:not(:last-child) {
		margin-bottom: 24px;
	}
	
	.col > .img,
	.innerC .col > .img {
		width: auto;
		max-width: none;
	}
	
	.col > .img {
		margin-top: 26px;
	}
	
	.girlsDay .col > .img {
		margin-bottom: 24px;
	}
	
	.voice .col > .img {
		width: 140px;
		margin: 12px auto 16px;
	}
	
	.col > .img img {
		width: 100%;
	}
	/* フロート横並び */
	.text-sneak .right-img {
		float: none;
		margin: 20px 0 0 0;
		text-align: center;
		}
	/* /フロート横並び */
	
	.sp-img-auto img {
		width: auto!important;
	}
	.sp-img-150 {
		width: 150px!important;
	}
	.sp-img-200 {
		width: 200px!important;
	}
	.sp-img-250 {
		width: 250px!important;
	}
	.sp-img-300 {
		width: 300px!important;
	}
	.sp-center {
		text-align: center;
	}
	.sp-left {
		text-align: left;
	}
}



/* box
-------------------------------------------------- */
.box {
	margin-top: 64px;
	padding: 31px;
	border: 1px solid var(--borderLightGray);
	background-color: var(--white);
}

.box.round {
	border-radius: 16px;
}

.box.girlsArea,
.box.bgMagenta {
	border-color: var(--bgMagenta);
	background-color:  var(--bgMagenta);
}

.box.donateArea,
.box.bgYellow {
	border-color: var(--bgYellow);
	background-color:  var(--bgYellow);
}

.box.bgBlue {
	border-color: var(--bgLightBlue);
	background-color:  var(--bgLightBlue);
}

.box.bgGray {
	border-color: var(--bgLightGray);
	background-color:  var(--bgLightGray);
}

.col .box {
	margin: 0;
}

h2 + .box,
h3 + .box,
h4 + .box,
h5 + .box,
h6 + .box {
	margin-top: 0;
}

p + .box,
ol + .box,
ul + .box,
dl + .box,
.box + p,
.box + ol,
.box + ul,
.box + dl,
.box + .col {
	margin-top: 32px;
}

.box + p,
.box + ol,
.box + ul,
.box + dl {
	margin-top: .75em;
}

.box.continue {
	margin-bottom: 24px;
}

.box:last-child {
	margin-bottom: 0;
}

.box > :first-child,
.box .txt > :first-child {
	margin-top: 0;
}

.box > :last-child,
.box .txt > :last-child {
	margin-bottom: 0;
}

.boxInner {
	padding: 32px;
	background-color: var(--white);
}

@media screen and (max-width: 768px) {
	.box {
		margin-top: 56px;
		padding: 24px;
	}
	
	.box.round {
		border-radius: 8px;
	}
	
	.col .box:not(:last-child) {
		margin-bottom: 16px;
	}
	
	.boxInner {
		padding: 24px;
	}
}



/* image / video
-------------------------------------------------- */
.col.wide {
	display: block;
}

.wide img {
	width: 100%;
}

.video {
	margin: 64px 0;
	width: 980px;
	max-width: 100%;
	padding-top: 56.25%;
	position: relative;
}

.video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.floatLeft {
	float: left;
	margin-top: .375em;
	margin-right: 32px;
	max-width: 100%;
}

.floatRight {
	float: right;
	margin-top: .375em;
	margin-left: 32px;
	max-width: 100%;
}

.floatLeft + *,
.floatRight + * {
	margin-top: 0 !important;
}

@media screen and (max-width: 768px) {
	.video {
		margin: 56px 0;
	}
	
	.floatLeft,
	.floatRight {
		float: none;
		margin: 0;
	}
}



/* News List
-------------------------------------------------- */
.newsList {
	margin-bottom: 40px;
}

h2 + .newsList {
	margin-top: -32px;
}

.newsList li:not(:last-child) {
	border-bottom: 1px solid var(--borderLightGray);
}

.newsList li a {
	display: flex;
	align-items: flex-start;
	padding: 20px 54px 20px 0;
	background: url(/shared/images/ico_1.svg) no-repeat 100% 50% / 16px;
	color: var(--textBlack);
	text-decoration: none;
}

.newsList li .newsCat {
	display: inline-block;
	width: 11em;
	max-width: 20%;
	margin-right: 40px;
	padding: 2px;
	border: 1px solid var(--darkBlue);
	background-color: var(--white);
	color: var(--darkBlue);
	font-size: 1.2rem;
	font-weight: bold;
	text-align: center;
}

.newsList li time {
	width: 9em;
	max-width: 25%;
	margin-right: 24px;
	color: var(--textGray);
}

.newsList li .title {
	flex: 1;
}

@media (hover: hover) {
	.newsList li a:hover .title {
		color: var(--planBlue);
		text-decoration: underline;
	}
}

@media screen and (max-width: 768px) {
	.newsList li a {
		display: block;
	}
	
	.newsList li .newsCat {
		display: block;
		max-width: none;
		margin-bottom: .5em;
	}
	.newsList li time {
		display: block;
		max-width: none;
		margin-bottom: .25em;
	}
}


/* Activity list
-------------------------------------------------- */
h2 + .activityList {
	margin-top: -32px;
}

.activityList li:not(:last-child) {
	border-bottom: 1px solid var(--borderLightGray);
}
.activityList li {
	list-style: none;
}
.activityList li a {
	padding: 32px 64px 32px 0;
	display: flex;
	align-items: flex-start;
	background: url(/shared/images/ico_1.svg) no-repeat 100% 50% / 16px;
	color: var(--textBlack);
	text-decoration: none;
}
.activityList li .noLink {
	padding: 32px 64px 32px 0;
}
.activityList li img {
	width: 176px;
	margin-right: 32px;
	border-radius: 8px;
}

.activityList li div {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
}

.activityList li time {
	margin-right: 24px;
	color: var(--textGray);
	font-size: 1.4rem;
}

.activityList li .title {
	width: 100%;
	margin-top: 12px;
}

@media (hover: hover) {
	.activityList li a:hover .title {
		color: var(--planBlue);
		text-decoration: underline;
	}
}

.activityList + .btn {
	margin-top: 0;
}


@media screen and (max-width: 768px) {
	.activityList li a {
		display: block;
		padding-right: 0;
		background: none;
	}
	
	.activityList li img {
		width: 100%;
		margin-right: 0;
		margin-bottom: 16px;
	}
	
	.activityList li div {
		display: block;
		padding-right: 48px;
		background: url(/shared/images/ico_1.svg) no-repeat 100% 50% / 16px;
	}
	.activityList li .noLink {
		background: none;
	}

}


/* Report List
-------------------------------------------------- */
ul.reportList {
	display: flex;
	flex-wrap: wrap;
	column-gap: 4%;
	margin-bottom: -40px;
}

.colWrap ul.reportList {
	flex-wrap: nowrap;
}

ul.reportList > li {
	width: 30.666%;
	margin-bottom: 40px;
	position: relative;
}

.withSidebar ul.reportList {
	column-gap: 5.4%;
}

.withSidebar ul.reportList > li {
	width: 29.7%;
}

ul.reportList > li,
ul.reportList .splide__list > li {
}

.colWrap ul.reportList > li {
	margin-bottom: 0;
}

.reportList a {
	display: flex;
	height: 100%;
	flex-direction: column;
	justify-content: space-between;
	color: var(--textBlack);
	text-decoration: none;
}

.reportList img {
	width: 100%;
}

.reportList .txt {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.reportList > li .img {
	max-height: 245px;
	overflow: hidden;
	border-radius: 8px;
}

.reportList p {
	margin: 16px 0 0 !important;
}

.reportList .taxonomy {
	margin: 16px 0 8px;
}

.reportList time {
	flex: 1;
	display: flex;
	align-items: flex-end;
	padding: 0 32px 16px 0;
	border-bottom: 1px solid var(--lightGray);
	background: url(/shared/images/ico_1.svg) no-repeat 100% calc(100% - 16px - .25em) / 16px;
	color: var(--textGray);
	font-size: 1.3rem;
}

.reportList + .btn {
	margin-top: 40px;
}

@media (hover: hover) {
	.reportList a:hover p {
		color: var(--planBlue);
		text-decoration: underline;
	}
}

@media screen and (max-width: 768px) {
	ul.reportList {
		display: block;
		margin-bottom: 0;
	}
	
	.colWrap ul.reportList {
		display: flex;
		column-gap: 24px;
	}
	
	ul.reportList > li,
	.withSidebar ul.reportList > li {
		width: 100%;
	}
	
	.colWrap ul.reportList > li {
		width: calc((100% - 48px) / 3);
	}
	.reportList > li .img {
		max-height: unset;
	}
}

@media screen and (max-width: 390px) {
	.colWrap ul.reportList {
		width: 258vw;
	}
}



/* Btn List
-------------------------------------------------- */
ul.btnList {
	display: flex;
	flex-wrap: wrap;
	column-gap: 5%;
	margin-bottom: -32px;
}

.btnList > li {
	width: 30%;
	margin-bottom: 32px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.withSidebar ul.btnList {
	column-gap: 5.4%;
}

.withSidebar .btnList > li {
	width: 29.7%;
}

.btnList img {
	width: 100%;
	border-radius: 8px;
}

.btnList .btn {
	width: 100%;
	min-width: 0;
	margin: 0 auto;
}

.btnList .btn a::before {
	width: 16px;
	height: 16px;
}

.btnList .img + p,
.btnList .btn + p {
	margin-top: 16px !important;
	flex: 1;
}

.btnList p:last-child {
	margin-bottom: 0;
}

@media screen and (max-width: 768px) {
	.btnList {
		display: block;
	}
	
	.btnList > li,
	.withSidebar .btnList > li {
		width: 100%;
	}
	
	.btnList .btn {
		width: 350px;
	}
}




/* pagination, wp-pagenavi
-------------------------------------------------- */
.pagination,
.wp-pagenavi {
	margin-top: 64px;
	display: flex;
	column-gap: 16px;
	justify-content: center;
	align-items: center;
}

.pagination a,
.pagination .current,
.wp-pagenavi a,
.wp-pagenavi .current {
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 2.75em;
	height: 2.75em;
	border: 1px solid var(--borderLightGray);
	border-radius: 2em;
	color: var(--textBlack);
	font-weight: 600;
	line-height: 1.5;
	text-decoration: none;
	text-align: center;
}

.pagination .current,
.wp-pagenavi .current {
	border-color: var(--darkBlue);
	background-color: var(--darkBlue);
	color: var(--white);
}

.pagination .prev,
.pagination .next,
.wp-pagenavi .prev,
.wp-pagenavi .next {
	background: url(/shared/images/ico_4.svg) no-repeat 50% 50% / 18px;
}

.pagination .prev,
.wp-pagenavi .prev {
	transform: rotate(180deg);
}

@media (hover: hover) {
	.pagination a:hover,
	.wp-pagenavi a:hover {
		background-color: #eef5fc;
		color: var(--planBlue);
	}
}

.wp-pagenavi a.last {
	color: var(--planBlue);
}
.wp-pagenavi a.first {
	color: var(--planBlue);
}


@media screen and (max-width: 768px) {
	.pagination,
	.wp-pagenavi {
		column-gap: 8px;
	}
	
	.pagination a,
	.pagination .current,
	.wp-pagenavi a,
	.wp-pagenavi .current {
		min-width: 2.5em;
		height: 2.5em;
	}
}



/* voice
-------------------------------------------------- */
.voice {
	margin-top: 80px;
	padding: 31px;
	border: 1px solid var(--bgLightBlue);
	background-color: var(--bgLightBlue);
}

.voice h3:first-child {
	margin-top: 0;
}

.voiceBox {
	margin-top: 24px;
	padding: 23px;
	border: 1px solid var(--white);
	background-color: var(--white);
	background-image: url(/shared/images/ico_14.svg), url(/shared/images/ico_13.svg);
	background-repeat: no-repeat;
	background-position: 16px 16px, calc(100% - 16px) calc(100% - 16px);
	background-size: 26px 18px;
	font-size: 1.6rem;
}

.voice h4 {
	margin: 24px 0 12px;
}

.voice h4:first-child {
	margin-top: 0;
}

.voiceBox :last-child {
	margin-bottom: 0;
}
@media screen and (max-width: 768px) {
	.voice {
		margin-top: 64px;
		padding: 23px 15px 15px;
	}
	
	.voiceBox {
		margin-top: 16px;
		padding: 23px 15px;
	}
	.voiceBox .text-sneak img {
		margin-bottom: 16px;
	}
}


/* voice slider
-------------------------------------------------- */
.voice .splide {
	margin: 0 48px;
}

.voice .splide__slide .img {
	width: 360px;
	max-width: 100%;
	margin: 0 auto;
}

@media screen and (max-width: 768px) {
	.voice .splide {
		margin: 0 26px;
	}
}



/* photo slider
-------------------------------------------------- */
.photoSlider {
	max-width: 660px;
	margin: 0 auto;
}

.photoSlider .mainCarousel img {
	border: 1px solid var(--borderLightGray);
}

.photoSlider figcaption {
	margin-top: 16px;
	font-size: 1.6rem;
}

.photoSlider .thumbCarousel {
	margin-top: 26px;
	padding: 0 30px;
}

.photoSlider .thumbCarousel .splide__slide {
	border: 1px solid var(--borderLightGray);
	border-radius: 8px;
	overflow: hidden;
	position: relative;
	cursor: pointer;
}

.photoSlider .thumbCarousel .splide__slide.is-active::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(36, 60, 75, .66);
}

.photoSlider .thumbCarousel .splide__arrow {
	width: 24px;
}

.photoSlider .thumbCarousel .splide__arrow--prev {
	left: -1.25%;
}

.photoSlider .thumbCarousel .splide__arrow--next {
	right: -1.25%;
}

@media screen and (max-width: 768px) {
	.photoSlider .thumbCarousel {
		margin-top: 18px;
	}
	
	.photoSlider .thumbCarousel .splide__arrow {
		width: 16px;
	}
}


/* Report slider
-------------------------------------------------- */
@media screen and (max-width: 768px) {
	.reportList.splide {
		margin: 0 -20px;
	}
	
	.reportList.splide .splide__track {
		padding-left: 20px !important;
	}
}

/* related link
-------------------------------------------------- */
.relatedLink {
	font-size: 1.6rem;
}


/* related
-------------------------------------------------- */
.related {
	margin: 64px 0;
	padding: 79px 0;
	border-top: 1px solid  var(--bgLightGray);
	border-bottom: 1px solid  var(--bgLightGray);
	background-color: var(--bgLightGray);
}

.related section:not(:last-child) {
	margin-bottom: 58px;
}

.related h3 {
	margin-top: 0;
}

.related .box {
	border-color: var(--white);
}

.related .reportList li a {
	padding: 24px 24px 2px;
	border: 1px solid var(--white);
	border-radius: 16px;
	background-color: var(--white);
	background-position: calc(100% - 24px) calc(100% - 24px);
}

.related .keyword .taxonomy {
	margin-bottom: -8px;
}

.related .keyword .taxonomy a {
	color: inherit;
	text-decoration: none;
}

.related .reportList time {
	border-bottom: 0;
}

@media screen and (max-width: 768px) {
	.related {
		margin: 56px 0;
		padding: 56px 0;
	}
	
	.related section:not(:last-child) {
		margin-bottom: 36px;
	}
	
	.related .col {
		margin-bottom: 0;
	}
	
	.related .reportList > li {
		width: 100%;
		margin-bottom: 16px;
	}
}



/* donate
-------------------------------------------------- */
.goDonate {
	text-align: center;
}

.goDonate .btn + p {
	margin-top: 20px;
}

.donateMsg {
	padding: 58px 0 64px;
	border-top: 1px solid var(--bgYellow);
	border-bottom: 1px solid var(--bgYellow);
	background-color: var(--bgYellow);
	text-align: center;
}

.donateMsg strong {
	font-size: 2.0rem;
}

.mostSupport {
	display: flex;
	padding: 47px;
}

.mostSupport .img {
	width: 472px;
	margin: -48px 48px -48px -48px;
	border-radius: 16px 0 0 16px;
	overflow: hidden;
}

.mostSupport .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mostSupport .txt {
	flex: 1;
}

.mostSupport h3 {
	margin-bottom: 20px;
	font-size: 3.2rem;
}

.mostSupport .btn {
	margin-top: 26px;
}

@media screen and (max-width: 768px) {
	.mostSupport {
		display: block;
		padding: 23px;
	}
	
	.mostSupport .img {
		width: calc(100% + 48px);
		margin: -24px -24px 32px;
		border-radius: 8px 8px 0 0;
	}
	
	.mostSupport h3 {
		font-size: 2.4rem;
		margin-bottom: 12px;
	}
	
	.bequestsGift img {
		width: 100%;
	}
	
	.mostSupport .btn {
		margin-top: 18px;
	}
}

.donationTotal dl {
	display: flex;
	border: 1px solid var(--borderLightGray);
	font-size: 2.0rem;
	font-weight: 600;
}

.donationTotal dt {
  width: 27%;
  margin-top: 0;
  padding: 17px 24px;
  border-right: 1px solid var(--yellow);
  background-color: var(--yellow);
}

.donationTotal dd {
  width: 73%;
  padding: 17px 24px;
  background-color: var(--bgYellow);
}

.donationTotal dd em {
	color: var(--textBlack);
}

@media screen and (max-width: 768px) {
	.donationTotal dl {
		flex-direction: column;
		font-size: 1.8rem;
	}
	
	.donationTotal dt {
		width: 100%;
		padding: 10px 16px;
		border-bottom: 0;
	}
	
	.donationTotal dd {
		width: 100%;
		padding: 10px 16px;
	}
}


.girlsProject {
	padding: 32px 40px 40px
}

.girlsProject h3 {
	margin-bottom: 10px;
}

.girlsProject .col {
	margin-top: 24px;
	column-gap: 40px;
}

.girlsProject .col .img {
	width: 340px;
	max-width: 100%;
}

.girlsProject .col .btn {
	margin-top: 28px;
	width: fit-content;
}

@media screen and (max-width: 768px) {
	.girlsProject {
		padding: 24px;
	}
	
	.girlsProject .col {
		margin-top: 18px;
	}
	
	.girlsProject .col .img {
		margin: 0 0 18px;
	}
	
	.girlsProject .col .btn {
		margin-top: 18px;
	}
}


/* donate tab
-------------------------------------------------- */
.selectDonate .tabPanel {
	padding: 56px 48px 64px;
	border-right: 1px solid var(--bgYellow);
	border-left: 1px solid var(--bgYellow);
}

.selectDonate .tabPanel .box {
	border-color: var(--white);
}

.selectDonate .tabPanel .box:first-child {
	margin-top: 0;
}

.selectDonate .col {
	column-gap: 32px;
	flex-wrap: wrap;
	justify-content: center;
}

.selectDonate .col .box {
	width: calc((100% - 32px) / 2);
	display: flex;
	flex-direction: column;
}

.selectDonate .col:has(> :nth-child(n+3)) {
	justify-content: flex-start;
}

.selectDonate .col:has(> :nth-child(n+3)) .box {
	width: calc((100% - 64px) / 3);
}

.selectDonate .col .box:nth-child(n+4) {
	margin-top: 32px;
}

.selectDonate h3 {
	margin-bottom: 12px;
	font-size: 2.0rem;
}

.selectDonate .img {
	margin-bottom: 18px;
	border-radius: 8px 8px 0 0;
	overflow: hidden;
}

@media screen and (max-width: 768px) {
	.selectDonate .tabPanel {
		padding: 32px 16px 40px;
	}
	
	.selectDonate .col {
		margin-top: 32px;
	}
	
	.selectDonate .col .box {
		padding-right: 16px;
		padding-left: 16px;
	}
	
	.selectDonate .col .box,
	.selectDonate .col:has(> :nth-child(n+3)) .box {
		width: 100%;
	}
	
	.selectDonate .col .box:nth-child(n+4) {
		margin-top: 0;
	}
	
	.selectDonate img {
		width: 100%;
	}
}

.selectDonate .monthly .use {
	margin-top: 8px;
	padding: 23px;
	border: 1px solid var(--borderLightGray);
	border-radius: 8px;
	flex: 1;
}

.selectDonate .monthly .use .img {
	margin: -24px -24px 26px;
}

.selectDonate .monthly .use img {
	width: 100%;
}

.selectDonate .monthly .use dl {
	margin-bottom: 0;
}

.selectDonate .monthly .use dt {
	font-size: 1.8rem;
}

.selectDonate .monthly .use dd {
	padding: 12px 0 12px 50px;
	border-bottom: 1px solid var(--borderLightGray);
	background-repeat: no-repeat;
	background-position: 0 16px;
}

.selectDonate .monthly .sponcership .use .img {
	position: relative;
	padding-top: 42.37%;
	height: 0;
}

.selectDonate .monthly .sponcership .use img {
	position: absolute;
	top: 0;
	left: 0;
}

.selectDonate .monthly .sponcership .use dd:not(.visible) {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	overflow: hidden;
}

.selectDonate .monthly .sponcership .use dd,
.selectDonate .monthly .use dd:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.selectDonate .monthly .use dd:first-of-type {
	background-image: url(/kifu/images/ico_1.svg);
}

.selectDonate .monthly .use dd:nth-of-type(2) {
	background-image: url(/kifu/images/ico_2.svg);
}

.selectDonate .monthly .use dd:nth-of-type(3) {
	background-image: url(/kifu/images/ico_3.svg);
}

.selectDonate .monthly .use dd em {
	color: var(--textBlack);
	font-weight: 600;
}

.selectDonate .monthly .label {
	margin-bottom: 18px;
	font-size: 1.8rem;
	font-weight: 600;
}

.selectDonate .monthly .use + .label {
	margin-top: 26px;
}

.selectDonate .monthly .btn {
	width: 100%;
	min-width: 0;
	margin-top: 32px;
}

.selectDonate .sponcership .col {
	column-gap: 40px;
	align-items: center;
}

.selectDonate .selectAmount {
	width: 50%;
}

.selectDonate .sponcership .selectAmount .radioGroup {
	column-gap: 16px;
}

.selectDonate .sponcership .selectAmount .radioLabel {
	padding: 24px;
	border-radius: 100vh;
	font-size: 1.8rem;
	font-weight: 600;
	text-align: center;
}

.selectDonate .sponcership .selectAmount input:not(:checked) + .radioLabel {
	border-color: var(--planBlue);
	background-color: var(--planBlue);
	color: #fff;
}

@media (hover: hover) {
	.selectDonate .sponcership .selectAmount input:not(:checked) + .radioLabel:hover {
		border-color: #005ba5;
		background-color: #005ba5;
	}
}

.selectDonate .sponcership .selectAmount .radioLabel::before,
.selectDonate .sponcership .selectAmount .radioLabel::after {
	content: none;
}

@media screen and (max-width: 1040px) and (min-width: 769px) {
	.selectDonate .sponcership .selectAmount label {
		flex: none;
		width: 133px;
	}
}

@media screen and (max-width: 768px) {
	.selectDonate .sponcership .col {
		margin-top: 18px;
	}
	.selectDonate .monthly .use {
		margin-top: 8px;
		padding: 17px 15px;
	}
	
	.selectDonate .monthly .use .img {
		margin: -18px -16px 18px;
	}
	
	.selectDonate .monthly .use dt,
	.selectDonate .monthly .label {
		font-size: 1.7rem;
	}
	
	.selectDonate .selectAmount {
		width: 100%;
	}
	
	.selectDonate .sponcership .selectAmount .radioLabel {
		padding: 16px;
	}
}


.selectDonate .col3 .box {
	flex: none;
	width: calc((100% - 64px) / 3);
}

.selectDonate .emergency {
	margin-top: 52px;
}

.selectDonate .emergency .img {
	margin: -32px -32px 0;
	height: 207px;
}

.selectDonate .emergency .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.selectDonate .onetime h3 {
	flex: 1;
}

.selectDonate .img + h3 {
	margin-top: 18px;
}

.selectDonate .amount {
	margin-top: 6px;
}

.selectDonate .amount input {
	width: 160px;
	max-width: calc(100% - 2px - 2em);
	text-align: right;
}

.selectDonate .usual {
	margin-top: 64px;
	padding-top: 58px;
	border-top: 1px solid var(--borderLightGray);
}

.selectDonate .usual button {
	width: auto;
	padding: 0 0 0 24px;
	font-size: 2.0rem;
	font-weight: 600;
	position: relative;
}

.selectDonate .usual button:hover {
	text-decoration: none;
}

.selectDonate .usual button::before {
	content: '';
	position: absolute;
	top: calc(50% - 8px);
	left: 0;
	width: 16px;
	height: 16px;
	border-bottom: 0;
	background: url(/shared/images/ico_1.svg) no-repeat 50% 50% /100%;
	transform: rotate(90deg);
}

.selectDonate .usual .open button::before {
	transform: rotate(-90deg);
}

.selectDonate .usual button::after {
	content: none;
}

.selectDonate .usual .radioGroup {
	margin-top: 20px;
	column-gap: 16px;
}

.selectDonate .usual .radioGroup label {
	flex: none;
	margin-bottom: 16px;
	width: calc((100% - 32px) / 3);
}

.selectDonate .usual .radioGroup label.all {
	margin-right: calc(100% - (100% - 32px) / 3);
}

.selectDonate .usual #theme[aria-hidden="true"] {
	display: none;
}

.selectDonate .usual .col3 {
	margin: 40px 0 -8px;
	flex-wrap: wrap;
}

.selectDonate .usual .col3 .box {
	margin-bottom: 32px;
}

.selectDonate .usual .img {
	border-radius: 8px;
}

@media screen and (max-width: 768px) {
	.selectDonate .col3 .box {
		width: 100%;
		margin-bottom: 16px;
	}
	
	.selectDonate .emergency .img {
		margin: -25px -17px 0;
		height: auto;
	}

	.selectDonate .amount input {
		width: calc(100% - 2.5em);
	}
	
	.selectDonate .usual {
		margin-top: 48px;
		padding-top: 34px;
	}
	
	.selectDonate .usual .radioGroup label {
		width: 100%;
		margin-bottom: 8px;
	}
	
	.selectDonate .usual .col3 {
		margin-bottom: 0;
	}
}




/* event report
-------------------------------------------------- */
.eventReport .box {
	display: flex;
	padding-top: 40px;
	padding-bottom: 40px;
}

.eventReport .img {
	width: 340px;
	margin-right: 40px;
}

.eventReport .txt {
	flex: 1;
}

.eventReport .btn {
	margin: 28px 0 0;
}

@media screen and (max-width: 768px) {
	.eventReport .box {
		display: block;
		padding-top: 32px;
		padding-bottom: 32px;
	}
	
	.eventReport .img {
		width: auto;
		margin-right: 0;
		margin-bottom: 28px;
	}
	
	.eventReport .img img {
		width: 100%;
	}
}



/* profile
-------------------------------------------------- */
.profile .box {
	display: flex;
	padding-top: 40px;
	padding-bottom: 40px;
}

.profile .img {
	width: 200px;
	height: 200px;
	margin-right: 40px;
	border-radius: 50%;
	overflow: hidden;
}

.profile .txt {
	flex: 1;
}

.profile h3 {
	font-size: 2.0rem;
	margin-bottom: 12px;
}

@media screen and (max-width: 768px) {
	.profile .box {
		display: block;
		padding-top: 32px;
		padding-bottom: 28px;
	}
	
	.profile .img {
		margin: 0 auto 28px;
	}
}




/* dl table format
-------------------------------------------------- */
dl.tableFormat {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	width: 100%;
	margin-bottom: 18px;
	border: 1px solid var(--borderLightGray);
	border-bottom: 0;
}

dl.tableFormat > dt {
  width: 24%;
  margin-top: 0;
  padding: 18px 24px;
  border-right: 1px solid var(--bgLightGray);
  border-bottom: 1px solid var(--borderLightGray);
  background: var(--bgLightGray);
}

dl.tableFormat > dd {
  width: 76%;
  min-height: calc(32px + 1em);
  padding: 18px 24px;
  border-bottom: 1px solid var(--borderLightGray);
  word-break: break-word;
}

dl.tableFormat > dd > :last-child {
	margin-bottom: 0;
}

.innerC dl.tableFormat > dt,
.withSidebar dl.tableFormat > dt {
	width: 26%;
}

.innerC dl.tableFormat > dd,
.withSidebar dl.tableFormat > dd {
	width: 74%;
}

dl.tableFormat.fixed > dt,
dl.tableFormat.fixed > dd {
	width: 50%;
}

@media screen and (max-width: 768px) {
	dl.tableFormat:not(.fixed) {
		flex-direction: column;
	}
	
	dl.tableFormat:not(.fixed) > dt,
	.innerC dl.tableFormat:not(.fixed) > dt,
	.withSidebar dl.tableFormat:not(.fixed) > dt {
		width: 100%;
		border-bottom: 0;
	}
	
	dl.tableFormat:not(.fixed) > dd,
	.innerC dl.tableFormat:not(.fixed) > dd,
	.withSidebar dl.tableFormat:not(.fixed) > dd {
		width: 100%;
	}
	
	dl.tableFormat > dt,
	.innerC dl.tableFormat > dt,
	.withSidebar dl.tableFormat > dt {
		padding: 10px 16px;
	}
	
	dl.tableFormat > dd,
	.innerC dl.tableFormat > dd,
	.withSidebar dl.tableFormat > dd {
		padding: 10px 16px;
	}
}



/* event schedule
-------------------------------------------------- */
.schedule dl {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	width: 100%;
	padding: 16px 32px;
	margin-bottom: 18px;
	border: 1px solid var(--borderLightGray);
}

.schedule dt {
  width: 25%;
  margin-top: 0;
  padding: 18px 32px 18px 0;
}

.schedule dd {
  width: 75%;
  padding: 18px 0;
}

.schedule dt:not(:last-of-type),
.schedule dd:not(:last-of-type) {
  border-bottom: 1px solid var(--borderLightGray);
}

.schedule dd > :last-child {
	margin-bottom: 0;
}

@media screen and (max-width: 768px) {
	.schedule dl {
		padding: 12px 24px;
	}
	
	.schedule dt {
		min-width: 5em;
		padding: 10px 16px 10px 0;
	}
	
	.schedule dd {
		padding: 10px 0;
	}
}

@media screen and (max-width: 460px) {
	.schedule dt {
		width: 92px;
	}
	
	.schedule dd {
		width: calc(100% - 92px);
	}
}


/* event program
-------------------------------------------------- */
.program ol {
	list-style: none;
	padding: 16px 32px;
	margin-bottom: 18px;
	border: 1px solid var(--borderLightGray);
	counter-reset: num;
}

.program ol li {
	padding: 18px 0 18px calc(1em + 32px);
	position: relative;
}

.program ol li::before {
	counter-increment: num;
	content: counter(num)'.';
	position: absolute;
	top: 18px;
	left: 0;
	font-weight: 600;
}

.program ol li:not(:last-child) {
  border-bottom: 1px solid var(--borderLightGray);
}

@media screen and (max-width: 768px) {
	.program ol {
		padding: 12px 24px;
	}
	
	.program ol li {
		padding: 10px 0 10px calc(1em + 16px);
	}
	
	.program ol li::before {
		top: 10px;
	}
}



/* pickup
-------------------------------------------------- */
.pickup h3 {
	margin-bottom: 12px;
}

.pickup img {
	border-radius: 8px;
}

.pickup .btn {
	margin-top: 32px;
	min-width: 0;
}

@media screen and (max-width: 768px) {
	.pickup img {
		width: 100%;
	}
	
	.pickup .btn {
		margin-top: 18px;
	}
}



/* recommend
-------------------------------------------------- */
.recommend {
	margin-top: 92px;
	border-top: 1px solid var(--bgLightGray);
	border-bottom: 1px solid var(--bgLightGray);
	padding: 1px 0 28px;
	background-color: var(--bgLightGray);
}

.recommend h2 {
	margin: 72px 0 32px;
	font-size: 2.4rem;
}

.recommend h2 span {
	display: inline-block;
}

.recommend ul {
	display: flex;
	column-gap: 48px;
}

.recommend li {
	margin-bottom: 24px;
}

.recommend li img {
	border-radius: 8px;
	margin-bottom: 12px;
}

.recommend li a {
	color: var(--textBlack);
	text-decoration: none;
}

@media (hover: hover) {
	.recommend li a:hover {
		color: var(--planBlue);
		text-decoration: underline;
	}
}

@media screen and (max-width: 768px) {
	.recommend {
		margin-top: 64px;
		padding-bottom: 24px;
	}
	
	.recommend h2 {
		margin: 40px 0 28px;
		font-size: 2.0rem;
	}
	
	.recommend ul {
		display: block;
	}

	.recommend li {
		max-width: none;
	}
	
	.recommend li img {
		width: 100%;
	}
}


/* inquiry
-------------------------------------------------- */
.inquiry.box {
	margin-top: 92px;
}

.inquiry dt {
	margin: -8px 0 12px;
}

@media screen and (max-width: 768px) {
	.inquiry.box {
		margin-top: 64px;
	}
	
	.inquiry dt {
		margin-bottom: 8px;
	}
	
	.inquiry a[href^="mailto:"] {
		display: inline-block;
		font-size: 1.5rem;
	}
}



/* faq
-------------------------------------------------- */
.faq dl {
	border-bottom: 1px solid var(--borderLightGray);
}

.faq dt,
.faq dd {
	margin-top: 0;
	padding: 26px 16px 26px 72px;
	position: relative;
}

.faq dt {
	border-top: 1px solid var(--borderLightGray);
	font-weight: 300;
}

.faq dd {
	padding-top: 4px;
}

.faq dd :last-child {
	margin-bottom: 0;
}

.faq img {
	position: absolute;
	top: calc(.85em + 26px - 16px);
	left: 16px;
}

.faq dd img {
	top: calc(.85em + 4px - 16px);
}

.faq dd em {
	display: inline-block;
	margin-bottom: .5em;
	color: var(--darkBlue);
	font-weight: 600;
}

.faq dd p,
.faq dd ol,
.faq dd ul {
	margin-bottom: .5em;
}

@media screen and (max-width: 768px) {
	.faq dt,
	.faq dd {
		padding-right: 8px;
		padding-left: 52px;
	}
	
	.faq dd {
		margin-top: -8px;
	}
	
	.faq img {
		width: 28px;
		left: 8px;
	}
}



/* accordion panel
-------------------------------------------------- */
dl.accordion dt {
	margin-top: 0;
	padding: 0;
	position: relative;
}

dl.accordion dt button {
	width: 100%;
	padding: 26px 48px 26px 72px;
}

dl.accordion dt button:hover {
	color: var(--planBlue);
	text-decoration: underline;
}

dl.accordion dd[aria-hidden="true"] {
	display: none;
}

dl.accordion dt button::before {
	content: '';
	position: absolute;
	top: calc(50% - 1px);
	right: 16px;
	width: 16px;
	border-bottom: 2px solid var(--planBlue);
}

dl.accordion dt button::after {
	content: '';
	position: absolute;
	right: 23px;
	top: calc(50% - 8px);
	height: 16px;
	border-right: 2px solid var(--planBlue);
}

dl.accordion dt.open button::after {
	content: none;
}

@media screen and (max-width: 768px) {
	dl.accordion dt button {
		padding-right: 40px;
		padding-left: 52px;
	}
	
	dl.accordion dt button::before {
		right: 8px;
	}
	
	dl.accordion dt button::after {
		right: 15px;
	}
}



/* Index List (Project, Keyword, Countries)
-------------------------------------------------- */
.indexList {
	margin-top: -24px;
	border-top: 1px solid var(--bgLightGray);
	border-bottom: 1px solid var(--bgLightGray);
	background-color: var(--bgLightGray);
}

.indexList dl {
	padding: 56px 0 64px;
	display: flex;
	justify-content: space-between;
}

.indexList dl > div {
	width: calc((100% - 96px) / 3);
}

.indexList dt p {
	font-size: 2.4rem;
}

.indexList dt span {
	font-size: 1.6rem;
	font-weight: 300;
}

.indexList dd {
	border: 1px solid var(--borderLightGray);
	border-radius: 8px;
	background-color: var(--white);
	overflow: hidden;
	display: block;
}

.indexList dd > ul {
	height: 320px;
	margin-bottom: 0;
	overflow-y: auto;
}

.indexList dd li ul {
	margin-bottom: 0;
	line-height: 1.5;
}

.indexList dd li:not(:last-child) {
	margin-bottom: 0;
	border-bottom: 1px solid var(--borderLightGray);
}

.indexList dd li a {
	display: block;
	padding: 12px 16px 12px 40px;
}

.indexList dd li a::before {
	top: calc(.625em + 4px);
	left: 16px; 
}

.indexList dd li .area {
	display: block;
	padding: 12px 16px;
	border-bottom: 1px solid var(--borderLightGray);
	background-color: var(--bgLightBlue);
	font-weight: 600;
}

.indexList + .catList ul {
	margin-top: 0;
	border-top: 0;
}

.catList ul + ul {
	padding-top: 0;
	margin-top: -.75em;
	border-top: 0;
}

@media screen and (max-width: 1240px) {
	.catList ul + ul.innerA {
		margin: 0;
	}
}

@media screen and (max-width: 768px) {
	.indexList dl {
		display: block;
		padding: 28px 0;
	}
	
	.indexList dl > div {
		width: auto;
	}
	
	.indexList dl > div:not(:last-child) {
		border-bottom: 1px solid var(--borderLightGray);
	}
	
	.indexList dt {
		position: relative;
	}
	
	.indexList dt p {
		margin-bottom: 0;
		padding: 22px 0;
		font-size: 2.0rem;
	}
	
	.indexList dt button {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		padding: 22px 0;
	}
	
	.indexList dd {
		margin-bottom: 32px;
		display: none;
	}
}



/* banner
-------------------------------------------------- */
.catList ul {
	margin-top: 96px;
	padding: 96px 0 72px;
	border-top: 1px solid var(--borderLightGray);
	display: flex;
	flex-wrap: wrap;
	column-gap: 4%;
	line-height: 1.5;
}

.catList li {
	min-height: 94px;
	width: 22%;
	margin-bottom: 24px;
}

.catList li a {
	display: flex;
	align-items: center;
	height: 100%;
	padding: 12px 40px 12px 12px;
	border: 1px solid #e5f1fa;
	border-radius: 8px;
	background: #e5f1fa url(/shared/images/ico_1.svg) no-repeat calc(100% - 12px) 50% / 16px;
	color: var(--textBlack);
	font-weight: 600;
	text-decoration: none;
	position: relative;
}

.catList li a:hover {
	border-color: #dce7f0;
	background-color: #dce7f0;
}

.catList li img {
	border-radius: 2px;
	margin-right: 12px;
}

.catList li .label span {
	display: inline-block;
}

@media screen and (max-width: 980px) {
	.catList li {
		width: 30.6%;
	}
}

@media screen and (max-width: 768px) {
	.catList ul {
		margin-top: 64px;
		padding: 64px 0;
		font-size: 1.4rem;
	}
	
	.catList li {
		width: calc((100% - 4%) / 2);
		margin-bottom: 12px;
	}
	
	.catList li a {
		padding: 12px 22px 12px 8px;
		background-position: calc(100% - 8px) 50%;
		background-size: 12px;
	}
	
	.catList li img {
		width: 40px;
		margin-right: 8px;
	}
}




/* 3steps
-------------------------------------------------- */
.in3steps {
	margin-top: 92px;
}

.in3steps a {
	display: flex;
	align-items: center;
	padding: 23px;
	color: var(--textBlack);
	text-decoration: none;
}

.in3steps .box .img {
	width: 264px;
	align-self: stretch;
	margin: -25px 32px -24px -24px;
	border-radius: 16px 0 0 16px;
	overflow: hidden;
}

.in3steps .box .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.in3steps .box .txt {
	flex: 1;
}

.in3steps .box h2 {
	margin-bottom: 12px;
	padding-left: 24px;
	background: url(/shared/images/ico_1.svg) no-repeat 0 .375em / 16px;
	font-size: 2.0rem;
}

@media screen and (max-width: 768px) {
	.in3steps {
		margin-top: 56px;
	}
	
	.in3steps a {
		display: block;
		padding: 23px;
	}
	
	.in3steps .box .img {
		width: calc(100% + 48px);
		margin: -24px -24px 24px;
		border-radius: 8px 8px 0 0;
	}
	
	.in3steps .box h2 {
		font-size: 1.8rem;
		margin-bottom: 12px;
	}
}




/* Line
-------------------------------------------------- */
.lineInfo {
	margin: 96px 0;
}

.lineInfo .inner {
	padding: 8px;
	border: 1px solid #e5f8e5;
	border-radius: 16px;
	background-color: #e5f8e5;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.lineInfo h2 {
	width: calc(100% - 324px);
	margin: 0;
	padding: 0 24px 0 30px;
	font-size: 1.8rem;
	display: flex;
	align-items: center;
}

.lineInfo h2 img {
	margin-right: 24px;
}

.lineInfo h2 em {
	display: block;
	color: var(--textBlack);
	font-size: 2.4rem;
	font-style: normal;
}

.lineInfo .join {
	width: 324px;
	padding: 16px 24px;
	border: 1px solid var(--white);
	border-radius: 12px;
	background-color: var(--white);
	display: flex;
	justify-content: center;
	align-items: center;
	column-gap: 24px;
	flex: 1;
}

.lineInfo .join .btn {
	min-width: 0;
	margin: 0;
	font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
	.lineInfo {
		margin: 64px 0;
	}
	
	.lineInfo .inner {
		display: block;
		border-radius: 8px;
	}
	
	.lineInfo h2 {
		width: 100%;
		padding: 16px 0 24px;
		font-size: 1.6rem;
		flex-direction: column;
		text-align: center;
	}
	
	.lineInfo h2 img {
		width: 38px;
		margin-right: 0;
		margin-bottom: 12px;
	}
	
	.lineInfo h2 em {
		font-size: 2.0rem;
	}
	
	.lineInfo .join {
		width: 100%;
		padding: 32px 16px;
		border-radius: 4px;
		flex-direction: column;
	}
	
	.lineInfo .join img.qr {
		margin-bottom: 24px;
	}
}



/* Message
-------------------------------------------------- */
.messageList {
	max-width: 992px;
	margin: 32px auto 0;
	display: flex;
	flex-wrap: wrap;
	column-gap: 48px;
}

.messageList li {
	margin-bottom: 32px;
}

.messageList li img {
	border: 1px solid var(--borderLightGray);
	border-radius: 8px;
}

.messageList li figcaption {
	margin-top: 8px;
	color: var(--planBlue);
	text-decoration: underline;
	text-align: center;
}

.messageList li button:hover figcaption {
	text-decoration: none;
}

.message .modal__container {
	width: 992px;
}

.message .modal__container h3 {
	margin-bottom: 8px;
	font-size: 2.0rem;
}

@media screen and (max-width: 768px) {
	.messageList {
		column-gap: 24px;
	}
	
	.messageList li {
		width: calc((100% - 48px) / 3);
		text-align: center;
	}
	
	.messageList li .thumb {
		margin: 0 12px;
	}
}

@media screen and (max-width: 600px) {
	.messageList li {
		width: calc((100% - 24px) / 2);
	}
}



/* form
================================================== */
/* progress
-------------------------------------------------- */
.progress {
	padding-top: 1px;
	margin-bottom: 82px;
}

.progress ol {
	list-style: none;
	padding-left: 0;
	margin-top: calc(10px + 2.75em);
	display: flex;
	justify-content: space-between;
	text-align: center;
	line-height: 1.5;
	counter-reset: num;
}

.progress li {
	width: 25%;
	padding: 0 12px;
	color: var(--textGray);
	font-size: 1.8rem;
	position: relative;
}

.progress li::before {
	position: absolute;
	top: calc(-10px - 2em);
	left: 50%;
	transform: translateX(-50%);
	counter-increment: num;
	content: counter(num);
	width: 2em;
	height: 2em;
	margin-bottom: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 3px solid #ebebeb;
	border-radius: 50%;
	background-color: #ebebeb;
	color: var(--textGray);
	font-size: 2.2rem;
	font-weight: 600;
}

.progress li.current {
	color: var(--darkBlue);
	font-weight: 600;
}

.progress li.current::before {
	border-color: var(--darkBlue);
	background-color: var(--darkBlue);
	color: var(--white);
}

.progress li.finish {
	color: var(--darkBlue);
	font-weight: 300;
}

.progress li.finish::before {
	border-color: var(--darkBlue);
	background-color: var(--white);
	color: var(--darkBlue);
}

.progress li:not(:last-child)::after {
	content: '';
	position: absolute;
	top: calc(-11px - 1.25em);
	left: 50%;
	width: 150%;
	border-top: 3px solid #ebebeb;
	z-index: -1;
}

.progress.step4 li:not(:last-child)::after {
	width: 100%;
}

.progress li:not(:last-child).finish::after {
	border-color: var(--darkBlue);
}

.progress li span {
	display: inline-block;
}

@media screen and (max-width: 768px) {
	.progress ol {
		margin-top: 2.75em;
	}
	
	.progress li {
		font-size: 1.4rem;
	}
	
	.progress li::before {
		top: calc(-10px - 1.75em);
		width: 1.75em;
		height: 1.75em;
		font-size: 2.0rem;
	}
}



/* guide
-------------------------------------------------- */
form .guide {
	margin-top: 24px;
	line-height: 1.7;
}

form .guide .btn {
	min-width: 0;
	margin: 24px 0 64px;
}

form .guide .errorMsg {
	margin-bottom: 24px;
}

@media screen and (max-width: 768px) {
	form .guide {
		margin-bottom: 48px;
	}
	
	form .guide .btn {
		margin-bottom: 56px;
	}
}


/* form header
-------------------------------------------------- */
.formBlock + .formBlock {
	margin-top: 32px;
}

.formBlock header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 18px 24px;
	border: 1px solid var(--lightGray);
	border-bottom: 0;
	background-color: var(--bgLightBlue);
}

.formBlock header h4 {
	margin: 0 24px 0 0;
	font-size: 1.8rem;
}

.formBlock header p {
	margin-bottom: 0;
}

.cancel {
	text-align: right;
}

.cancel a {
	display: inline-block;
	padding-left: 24px;
	background: url(/donate/images/ico_1.svg) no-repeat 0 50% / 16px;
	font-size: 1.4rem;
	line-height: 1.5;
	text-decoration: none;
}

.cancel a:hover,
.cancel a:active {
	text-decoration: underline;
}

@media screen and (max-width: 768px) {
	.formBlock + .formBlock {
		margin-top: 24px;
	}
	
	.formBlock header {
		padding: 12px 16px;
	}
	
	.formBlock h4 {
		font-size: 1.6rem;
	}
	
	.cancel a {
		width: calc(5.3em + 24px);
		font-size: 1.2rem;
	}
}



/* form list
-------------------------------------------------- */
.formList + .formList {
	margin-top: 32px;
}

.formList,
.formList > div {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	width: 100%;
	border: 1px solid var(--borderLightGray);
	border-bottom: 0;
}

.formList > div {
	border: 0;
}

.formList p,
.formList ol,
.formList ul,
.formList dl {
	margin-bottom: 0;
}

.formList dt {
  width: 33.3%;
  margin-top: 0;
  padding: 24px;
  border-right: 1px solid var(--bgLightGray);
  border-bottom: 1px solid var(--borderLightGray);
  background: var(--bgLightGray);
}

.formList dt img {
	border-radius: 8px;
}

.formList dd {
  width: 66.7%;
  padding: 24px;
  border-bottom: 1px solid var(--borderLightGray);
}

.formList dt > label,
.formList dt > span {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	column-gap: 24px;
}

.formList dt .required {
	padding: 3px 5px;
	border: 1px solid var(--red);
	background-color: var(--red);
	color: var(--white);
	font-size: 1.4rem;
	font-style: normal;
	line-height: 1;
	white-space: nowrap;
}

.formList dd img {
	max-width: 280px;
	height: auto;
	border-radius: 8px;
}

@media screen and (max-width: 768px) {
	.formList + .formList {
		margin-top: 24px;
	}

	.formList,
	.formList > div {
		flex-direction: column;
	}
	
	.formList dt {
		width: 100%;
		padding: 14px 16px;
		border-bottom: 0;
	}
	
	.formList dd {
		width: 100%;
		padding: 24px 16px;
	}
	
	.formList dt .required {
		top: 14px;
		right: 16px;
		font-size: 1.2rem;
	}
	.formList dd img {
	max-width: 100%;
	}
}

.formList em {
	color: var(--textBlack);
	font-weight: 600;
	font-style: normal;
}

.formList .example {
	margin-bottom: .5em;
	color: var(--textGray);
	font-size: 1.4rem;
}

.formList .eg,
.formList .note,
.formList .comment {
	color: var(--textGray);
	font-size: 1.4rem;
}

.account_suspension_notice {
	color: var(--red);
}

.formList .eg {
	margin-bottom: 12px;
}

.formList .note,
.formList .comment {
	margin: 12px 0;
}

.formList dd > .note:first-child,
.formList dd > .comment:first-child {
	margin-top: 0;
}

.formList dd > .note:last-child,
.formList dd > .comment:last-child {
	margin-bottom: 0;
}

.formList .eg span,
.formList .note span,
.formList .comment span {
	display: inline-block;
}

.formList p.comment,
.formList .comment p {
	margin-left: 1.375em;
	text-indent: -1.375em;
}

.formList p.comment span,
.formList .comment p span {
	margin-left: 1.375em;
}

.horizonal {
	display: flex;
	flex-wrap: wrap;
	column-gap: 24px;
	margin-bottom: -12px;
}

.horizonal.wap {
	flex-wrap: wrap;
}

.horizonal > * {
	flex: 1;
	margin-bottom: 12px;
}

.horizonal.narrow > *,
.radioGroup.horizonal:not(.radioBox) > * {
	flex: none;
}

.horizonal:not(.radioBox) label:not(:last-child) {
	margin-right: 12px;
}

.selectGroup.horizonal select {
	width: 100%;
}

.vertical > * {
	display: block;
}

.vertical > :not(:last-child) {
	margin-bottom: 6px;
}

.inputGroup.vertical .input + .input {
	margin-top: 16px;
}

.checkItem {
	margin-top: 24px;
}

.inputGroup label {
	display: block;
	margin-bottom: 8px;
}

@media screen and (max-width: 768px) {
	.horizonal {
		column-gap: 8px;
	}
	
	.horizonal:not(.narrow) > * {
		flex: none;
		width: 100%;
	}
	
	.checkItem {
		margin-top: 16px;
	}
}


/* confirm */

#confirm .formList dt,
#confirm .formList dd {
	padding: 17px 24px;
	min-height: calc(32px + 1em);
}

@media screen and (max-width: 768px) {
	#confirm .formList dt,
	#confirm .formList dd {
		padding: 10px 16px;
	}
}


/* substitute */

.substitute {
	margin: 82px 0;
}

.substitute strong {
	display: block;
	padding: 16px;
	border: 1px solid #fcebf5;
	border-radius: 8px;
	background-color: #fcebf5;
	color: var(--red);
	font-size: 1.8rem;
	text-align: center;
}

.substitute h2 {
	font-size: 2.4rem;
	margin: 32px 0 26px;
}

.substitute .checkBox {
	display: flex;
	flex-wrap: wrap;
	gap: 30px 20px;
}

.substitute .checkBox > * {
	width: calc((100% - 20px) / 2);
}

@media screen and (max-width: 768px) {
	.substitute {
		margin: 58px 0;
	}
	
	.substitute .checkBox {
		row-gap: 10px;
	}
	
	.substitute .checkBox > * {
		width: 100%;
	}
}




/* form control
-------------------------------------------------- */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="password"],
select,
textarea {
	max-width: 100%;
	padding: 11px 16px;
	border: 1px solid var(--borderGray);
	border-radius: 8px;
	background-color: var(--white);
	font-size: 1.6rem;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
textarea {
	width: 100%;
}

textarea {
	height: 8em;
}

input[type="radio"],
input[type="checkbox"] {
	position: absolute;
	white-space: nowrap;
	border: 0;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	overflow: hidden;
	height: 1px;
	width: 1px;
	margin: -1px;
}

.checkboxLabel,
.radioLabel {
	display: inline-block;
	padding-left: 30px;
	font-size: 1.6rem;
	position: relative;
	cursor: pointer;
}

.checkboxLabel::before,
.radioLabel::before {
	content: '';
	position: absolute;
	left: 0px;
	height: 20px;
	width: 20px;
	border: 1px solid var(--darkBlue);
	background-color: var(--white);
}

.checkboxLabel::before {
	top: calc(.75em - 10px);
	border-radius: 4px;
}

.radioLabel::before {
	top: calc(50% - 10px);
	border-radius: 50%;
}

input:focus-visible + .checkboxLabel::before,
input:focus-visible + .radioLabel::before {
	border: 2px solid var(--orange);
}

input:checked + .checkboxLabel::after,
input:checked + .radioLabel::after {
	content: '';
	position: absolute;
}

input:checked + .checkboxLabel::after {
	top: calc(.75em - 5px);
	left: 4.5px;
	height: 7px;
	width: 11px;
	border: 3px solid var(--darkBlue);
	border-top: 0;
	border-right: 0;
	transform: rotate(-45deg);
}

input:checked + .radioLabel::after {
	top: calc(50% - 4px);
	left: 6px;
	height: 8px;
	width: 8px;
	border: 4px solid var(--darkBlue);
	border-radius: 50%;
}

.radioBox .radioLabel {
	width: 100%;
	padding: 11px 15px 11px 45px;
	border: 1px solid var(--borderGray);
	border-radius: 8px;
	background-color: var(--white);
	transition: all .2s ease-out;
}

.radioBox .radioLabel:hover {
	background-color: #e5f1fa;
}

.radioBox .radioLabel:before {
	left: 16px;
}

.radioBox input:checked + .radioLabel {
	border-color: var(--darkBlue);
	background-color: var(--darkBlue);
	color: var(--white);
	font-weight: 600;
}

.radioBox input:checked + .radioLabel::after {
	left: 22px;
}

.radioBox input:focus + .radioLabel::after {
}

.radioBox input:focus + .radioLabel::before {
	border: 1px solid var(--darkBlue);
}

.radioBox input:focus-visible + .radioLabel {
	padding: 10px 14px 10px 44px;
	border: 2px solid var(--orange);
}

.checkBox .checkboxLabel {
	width: 100%;
	padding: 13px 15px 13px 45px;
	border: 1px solid var(--borderGray);
	border-radius: 8px;
	background-color: var(--white);
	transition: all .2s ease-out;
}

.checkBox .checkboxLabel:hover {
	background-color: #e5f1fa;
}

.checkBox .checkboxLabel:before {
	top: calc(13px + .75em - 10px);
	left: 16px;
}

.checkBox input:checked + .checkboxLabel {
	border-color: var(--darkBlue);
	background-color: var(--darkBlue);
	color: var(--white);
}

.checkBox input:checked + .checkboxLabel::after {
	top: calc(13px + .75em - 5px);
	left: 20px;
}

.checkBox input:focus + .checkboxLabel::after {
}

.checkBox input:focus + .checkboxLabel::before {
	border: 1px solid var(--darkBlue);
}

.checkBox input:focus-visible + .checkboxLabel {
	padding: 10px 14px 10px 44px;
	border: 2px solid var(--orange);
}

.select {
	display: inline-block;
	max-width: 100%;
	border-radius: 8px;
	position: relative;
}

.select::after {
	content: '';
	position: absolute;
	top: calc(50% - 3px);
	right: 16px;
	width: 12px;
	height: 12px;
	border: 6px solid transparent;
	border-top-color: var(--darkBlue);
	z-index: 1;
	pointer-events: none;
}

@media (-ms-high-contrast:active) {
	.select::after {
		content: '\25BC';
		transform: scaleY(.625);
		top: calc(50% - .625em);
		border: 0;
	}
}

.select select {
	padding-right: 42px;
	position: relative;
	z-index: 1;
}

@media screen and (max-width: 500px) {
	[aria-labelledby="birth_date"] .select {
		width: 97px;
	}
	
	[aria-labelledby="birth_date"] .select:first-child {
		flex: 1;
	}
}

@media screen and (max-width: 400px) {
	[aria-labelledby="birth_date"] .select {
		width: 30%;
	}
	
	[aria-labelledby="birth_date"] .select:first-child {
		flex: 1;
	}
}

input[disabled],
select[disabled] {
	background-color: #ebebeb;
	color: var(--textGray);
}

input[disabled] + .checkboxLabel::before,
input[disabled] + .radioLabel::before,
.radioBox input[disabled] + .radioLabel {
	background-color: #ebebeb;
}

input[disabled] + .checkboxLabel,
input[disabled] + .radioLabel {
	cursor: default;
}

::placeholder {
	color: #767676;
}

[disabled]::placeholder,
.error::placeholder {
	color: #6a6a6a;
}


#onetimeDonation input,
#emergencyAid input {
	width: 10em;
	text-align: right;
}

#post {
	width: 12em;
}

#seccode {
	width: 6em;
}

#subTotal + .note {
	margin-top: .25em;
}

#total {
	padding: 24px;
	border: 1px solid var(--lightGray);
	background-color: var(--bgYellow);
	text-align: center;
}

#total em {
	color: var(--textBlack);
	font-weight: 600;
	display: block;
	font-size: 2.4rem;
}



/* error */

.errorMsg {
	color: var(--red);
}

.errorMsg.msgBox {
	margin-top: 32px;
	padding: 20px 24px;
	border: 1px solid var(--red);
}

.errorMsg.msgBox em {
	font-weight: 600;
	font-style: normal;
}

.errorMsg.msgBox ul {
	margin: .25em 0 0;
	padding-left: 1em;
	list-style: disc;
}

.formList .errorMsg {
	margin-top: 12px;
	font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
	.errorMsg.msgBox {
		padding: 16px 20px;
		font-size: 1.4rem;
	}
}

input.error,
select.error,
textarea.error,
.radioBox .error + .radioLabel  {
	border-color: var(--red);
	background-color: #fbe7e8;
}

@media (-ms-high-contrast:active) {
	input.error,
	select.error,
	textarea.error,
	.radioBox .error + .radioLabel {
		border-width: 2px;
	}
}

select.error {
	background-color: #fbe7e8;
}

.error + .checkboxLabel,
.error + .radioLabel {
	color: var(--red);
}

.radioBox .error + .checkboxLabel,
.radioBox .error + .radioLabel {
	color: var(--textBlack);
}

.error + .checkboxLabel::before,
.error + .radioLabel::before {
	border-color: var(--red);
}



/* submit */

.submit {
	margin: 96px 0 -24px;
	display: flex;
	flex-direction: row-reverse;
	flex-wrap: wrap;
	justify-content: center;
	column-gap: 32px;
}

.submit .btn {
	min-width: 300px;
	margin-top: 0;
	margin-bottom: 24px;
}

@media screen and (max-width: 768px) {
	.submit {
		margin-top: 64px;
	}
	
	.submit .btn {
		width: 350px;
		max-width: 100%;
		min-width: 0;
	}
}



/* Send Letter
-------------------------------------------------- */
.selectChild .checkItem {
	padding: 20px 24px 24px;
	border: 1px solid var(--borderGray);
	border-radius: 8px;
	transition: all .2s ease-out;
}

.selectChild .checkItem:hover,
.selectDesign .radioItem:hover {
	background-color: #e5f1fa;
}

.selectChild .checkItem.checked,
.selectDesign .radioItem.checked {
	border-color: var(--darkBlue);
	background-color: var(--darkBlue);
}

.selectChild .checkItem.checked .checkboxLabel,
.selectDesign .radioItem.checked .radioLabel {
	color: var(--white);
	font-weight: 600;
}

.selectChild .checkItem dl {
	margin: 20px 0 0;
	display: flex;
	flex-wrap: wrap;
}

.selectChild .checkItem dt,
.selectChild .checkItem dd {
	margin-top: 1px;
	padding: 18px 24px;
	border: 1px solid var(--bgLightGray);
	background-color: var(--bgLightGray);
}

.selectChild .checkItem dt {
	width: 30%;
	border-right: 0;
}

.selectChild .checkItem dd {
	width: 70%;
	border-left: 0;
}

@media screen and (max-width: 768px) {
	.selectChild .checkItem {
		padding: 20px 16px 24px;
	}
	
	.selectChild .checkItem dl {
		margin-top: 12px;
		display: block;
	}
	
	.selectChild .checkItem dt {
		width: auto;
		padding: 18px 16px 2px 16px;
		border-right: 1px solid var(--bgLightGray);
		border-bottom: 0;
	}
	
	.selectChild .checkItem dd {
		width: auto;
		margin-top: 0;
		padding: 0 16px 18px 16px;
		border-left: 1px solid var(--bgLightGray);
		border-top: 0;
	}
}

.selectDesign .radioGroup {
	display: flex;
	flex-wrap: wrap;
	column-gap: 16px;
}

.selectDesign .radioItem {
	margin-bottom: 16px;
	padding: 16px;
	width: calc((100% - 64px) / 5);
	border: 1px solid var(--borderGray);
	border-radius: 8px;
	transition: all .2s ease-out;
	position: relative;
}

@media screen and (max-width: 1000px) {
	.selectDesign .radioItem {
		width: calc((100% - 48px) / 4);
	}
}

@media screen and (max-width: 800px) {
	.selectDesign .radioItem {
		width: calc((100% - 32px) / 3);
	}
}

@media screen and (max-width: 600px) {
	.selectDesign .radioItem {
		width: calc((100% - 16px) / 2);
	}
}

.selectDesign .radioItem .new {
	top: 8px;
	left: -8px;
	padding: 1px 4px;
	font-size: 1.2rem;
}

.selectDesign .radioItem .new::before {
	border-width: 2px 4px;
}

.selectDesign .radioItem button {
	display: block;
	margin: 0 auto;
}

.selectDesign .radioItem .thumb  {
	display: block;
	width: fit-content;
	margin: 0 auto;
}

.selectDesign .radioItem .thumb img {
	border: 1px solid #d8d8d8;
}

.selectDesign .radioItem .radioLabel {
	margin-top: 16px;
}

.selectDesign .radioLabel::before {
	top: calc(.75em - 10px);
}

.selectDesign input:checked + .radioLabel::after {
	top: calc(.75em - 4px);
}

.btnA input[disabled="disabled"],
.btnA input[disabled="disabled"] :hover {
  background: #ebebeb;
  border: 1px solid #ebebeb;
  color: var(--textGray);
}



/* policy
-------------------------------------------------- */
#policy .box {
	padding: 5px;
	border: 1px solid var(--lightGray);
}

#policy .box .scrollInner {
	padding: 11px;
	height: 240px;
	overflow: auto;
	scrollbar-color: var(--planBlue) var(--bgLightGray);
}

#policy .box .scrollInner::-webkit-scrollbar {
	width: 10px;
	border-radius: 10px;
	background-color: var(--bgLightGray);
}

#policy .box .scrollInner::-webkit-scrollbar-thumb {
	border-radius: 10px;
	background-color: var(--planBlue);
}

#policy .index {
	display: flex;
}

#policy .index li:last-child {
	margin-left: 20px;
	padding-left: 20px;
	position: relative;
}

#policy .index li:last-child::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-0.5em);
	height: 1em;
	border-right: 1px solid var(--lightGray);
}

#policy .index li a {
	padding-right: 24px;
	color: var(--planBlue);
	text-decoration: none;
	position: relative;
}

#policy .index li a:hover,
#policy .index li a:active {
	text-decoration: underline;
}

#policy .index li a::after {
	content: '';
	position: absolute;
	top: calc(50% - 8px);
	right: 0;
	width: 16px;
	height: 16px;
	background: url(/shared/images/ico_1.svg) no-repeat 0 0 / 100%;
	transform: rotate(90deg);
}

#policy h3 {
	margin: 1.25em 0;
	padding-top: 1.25em;
	border-top: 1px solid var(--borderGray);
	font-size: 1.6rem;
}

@media screen and (max-width: 768px) {
	#policy .index {
		display: block;
	}
	
	#policy .index li:last-child {
		margin: 11px 0 0;
		padding: 11px 0 0;
		border-top: 1px solid var(--lightGray);
	}
	
	#policy .index li:last-child::before {
		content: none;
	}
}
/* 20240902追加 */
.set-center {
	text-align: center;
}
.column2 {
	margin: 40px -24px 0 0;
}
.column2 .column2__item:nth-child(-n+2), .column2 .column__item:nth-child(-n+2) {
	margin-top: 0;
}
.column2 .column2__item, .column2 .column__item {
float: left;
width: calc((100% - 48px) / 2);
margin-right: 24px;
margin-top: 24px;
overflow: hidden;
}
.column2:after {
	content: " ";
    display: block;
    clear: both;
}
.column2 + .caption {
	margin-top: 0;
}
* + .eventSummary {
	margin-top: 64px;
}
.wrap-border {
	margin-top: 30px;
	padding: 20px 30px;
	border: 1px solid #dad8d6;
}
.column {
	display: table;
	width: 100%;
	margin-top: 30px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.column .column-cell {
	display: table-cell;
	vertical-align: top;
}
.column .column-cell + .column-cell {
	padding-left: 24px;
}
.column .column-cell {
	display: table-cell;
	vertical-align: top;
}
body .w225 {
	width: 279px;
}
body .m-r5, .contents__Body__left .m-r5 {
margin-right: 5px;
}
@media (min-width:769px) {
	.column2__item {
		place-items: center;
	}
}
@media (max-width:768px) {
	.column2 {
		margin: 20px 0 0 0;
	}
	.column2 .column2__item:nth-child(1), .column2 .column__item:nth-child(1) {
		margin-top: 0;
	}
	.column2 .column2__item, .column2 .column__item {
		float: none;
		width: auto;
		margin-right: 0;
	}
	* + .eventSummary {
		margin-top: 56px;
	}
	.column .column-cell {
        display: grid;
        vertical-align: top;
    }
	.column .column-cell + .column-cell {
        padding-left: 0px;
    }
}
/* バナーリンク */
.plantxtbnr {
    display: flex;
    background: white;
    border-radius: 10px;
    border: 1px solid #d3eefb;
    text-decoration: none;
    }
    .bunrtxt {
    width: 80%;
    padding: 10px 10px 0 15px;
    text-decoration: none;
    }
    .bnrimg img {
    width: 130px;
    border-radius: 10px 0 0 10px;
    }
    @media screen and (max-width: 540px) {
    .plantxtbnr {
        flex-direction: column;
    }
    .bnrimg {
        border-bottom: 1px solid #c1e8fb;
    }
    .bnrimg img {
        width: 100%;
        border-radius: 10px 10px 0 0;
    }
    .bunrtxt {
        padding: 10px;
        font-size: 16px;
        width:100%;
    }
    }
/* /バナーリンク */

/* margin
-------------------------------------------------- */
/* top */

.m-t0 {
  margin-top: 0;
}
.m-t10 {
  margin-top: 10px;
}
.m-t20 {
  margin-top: 20px;
}
.m-t30 {
  margin-top: 30px;
}
.m-t40 {
  margin-top: 40px;
}
.m-t50 {
  margin-top: 50px;
}
.m-t60 {
  margin-top: 60px;
}
/* bottom */
.m-b0 {
  margin-bottom: 0;
}
.m-b10 {
  margin-bottom: 10px;
}
.m-b20 {
  margin-bottom: 20px;
}
.m-b30 {
  margin-bottom: 30px;
}
.m-b40 {
  margin-bottom: 40px;
}
.m-b50 {
  margin-bottom: 50px;
}
.m-b60 {
  margin-bottom: 60px;
}
/* end margin
-------------------------------------------------- */

/* 幅指定 */
.w100 {
  width: 100px;
  max-width: 100px !important;
}

.w150 {
  width: 150px;
  max-width: 150px !important;
}

.w180 {
  width: 180px;
  max-width: 180px !important;
}

.w200 {
  width: 200px;
  max-width: 200px !important;
}

.w250 {
	width: 250px;
	max-width: 250px !important;
  }
  
.w260 {
  width: 260px;
  max-width: 260px !important;
}

.w294 {
  width: 294px;
  max-width: 294px !important;
}

.w300 {
  width: 300px;
  max-width: 300px !important;
}

.w350 {
  width: 350px;
  max-width: 350px !important;
}

.w400 {
  width: 400px;
  max-width: 400px !important;
}

.w450 {
  width: 450px;
  max-width: 450px !important;
}

.w466 {
	width: 466px;
	max-width: 466px !important;
}

.w500 {
  width: 500px;
  max-width: 500px !important;
}

.w550 {
  width: 550px;
  max-width: 550px !important;
}

.w576 {
  width: 576px;
  max-width: 576px !important;
}

@media screen and (max-width: 768px) {
.w100,
.w150,
.w180,
.w200,
.w250,
.w260,
.w294,
.w300,
.w350,
.w400,
.w450,
.w500,
.w550,
.w466,
.w576 {
	width: 100% !important;
	max-width: 100% !important;

}
}
/* end 幅指定 */

/* スマホ 幅指定 */
@media (max-width: 768px) {
    .col > .img img.sp-w100,.sp-w100,.column2 .column2__item img.sp-w100, .column2 .column__item img.sp-w100 {
        width: 100px;
    }
    .col > .img img.sp-w150,.sp-w150,.column2 .column2__item img.sp-w150, .column2 .column__item img.sp-w150 {
        width: 150px;
    }
    .col > .img img.sp-w180,.sp-w180,.column2 .column2__item img.sp-w180, .column2 .column__item img.sp-w180 {
        width: 180px;
    }
    .col > .img img.sp-w200,.sp-w200,.column2 .column2__item img.sp-w200, .column2 .column__item img.sp-w200 {
        width: 200px;
    }
    .col > .img img.sp-w250,.sp-w250,.column2 .column2__item img.sp-w250, .column2 .column__item img.sp-w250{
        width: 250px;
    }
    .col > .img img.sp-w300,.sp-w300,.column2 .column2__item img.sp-w300, .column2 .column__item img.sp-w300 {
        width: 300px;
    }
    .col > .img img.sp-w350,.sp-w350,.column2 .column2__item img.sp-w350, .column2 .column__item img.sp-w350 {
        width: 350px;
    }
}
/* end スマホ 幅指定 */

#contentBody .eventSummary ul.disc {
    margin-left: 1em;
    list-style: disc;
}
#contentBody .eventSummary ul.disc li + li {
    margin-top: 10px;
}
#contentBody .eventSummary ul.nodisc {
	list-style: none;
    margin-left: 0;
}
#contentBody .eventSummary ul.nodisc li {
	margin-left: 1em;
    text-indent: -1em;
}