@charset "utf-8";

/* -----------------------------------------------------------------------------
	PC
----------------------------------------------------------------------------- */
@media screen and (min-width: 751px) {

.charityNav {
	width: 430px;
}

.lead {
	padding-right: 500px;
	position: relative;
}
.lead p {
	margin-bottom: 20px;
}
.lead figure {
	position: absolute;
	top: 0;
	right: 0;
}
.lead figure img {
	width: 450px;
}

.runnerContTop {
	margin: 0 0 100px 0;
}
.runnerContTop h4 {
	margin: 0 0 40px 0;
}
.runnerContTop .photo {
	display: flex;
	justify-content: space-between;
	margin: 0 0 50px 0;
}
.runnerContTop .photo p:last-child img {
	width: 450px;
}
.runnerContTop .ttl01 {
	margin-bottom: 20px;
}
.ttl02.line {
    padding-bottom: 15px;
    border-bottom: 1px solid #cacaca;
}

.organizationList {
	display: flex;
	justify-content: space-between;
}
.organizationList ul {
	width: 330px;
}
.organizationList ul li {
	font-size: 14px;
	margin: 0 0 5px 0;
	text-indent: -16px;
	padding-left: 16px;
}
.organizationList ul li::before {
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 50%;
	display: inline-block;
	margin: 0 6px 0 0;
	background: #222;
}
.organizationList ul li.purple::before {
	background: #654d9d;
}
.organizationList ul li.navy::before {
	background: #0081cc;
}
.organizationList ul li.blue::before {
	background: #00afec;
}
.organizationList ul li.green::before {
	background: #45b035;
}
.organizationList ul li.yellow::before {
	background: #f0c600;
}
.organizationList ul li.orange::before {
	background: #f18b10;
}
.organizationList ul li.red::before {
	background: #d7000f;
}

.mb30 {
	margin-bottom: 30px;
}

.runnerContBottom {
	margin: 0 0 100px 0;
}
.runnerContBottom h4 {
	margin: 0 0 40px 0;
}
.runnerContBottom .photo {
	display: flex;
	justify-content: space-between;
	margin: 0 0 50px 0;
}
.runnerContBottom .photo p:last-child img {
	width: 450px;
}

.flow .methodNav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 0 50px 0;
	position: relative;
	z-index: 4;
}
.flow .methodNav li {
	width: 344px;
	height: 155px;
	font-weight: bold;
	position: relative;
	text-align: center;
	line-height: 1;
	background: #222;
}
.flow .methodNav li:after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 16px 15px 0 15px;
	border-color: #222 transparent transparent transparent;
	position: absolute;
	bottom: -14px;
	left: calc(50% - 15px);
}
.flow .methodNav li a {
	color: #fff;
	font-size: 19px;
	letter-spacing: 0.05em;
	display: block;
	padding: 20px 0;
	background: #222;
}
.flow .methodNav li:hover,
.flow .methodNav li:hover a {
	background: #444;
}
.flow .methodNav li:hover:after {
	border-color: #444 transparent transparent transparent;
}
.flow .methodNav li a span {
	display: inline-block;
	background: #fff;
	color: #222;
	font-weight: bold;
	font-size: 24px;
	padding: 7px 10px 6px 10px;
	margin: 0 0 8px 0;
	line-height: 1;
}
.flow .methodNav li:nth-child(2) a span {
	margin: 0 0 30px 0;
}

.methodCont {
	padding-top: 200px;
	margin: -200px 0 80px 0;
}
.methodCont h5 {
	background: #222;
	color: #fff;
	padding: 20px 25px;
	margin: 0 0 30px 0;
	font-size: 24px;
	font-weight: bold;
	letter-spacing: 0.05em;
}
.methodCont h5 span {
	display: inline-block;
	background: #fff;
	color: #222;
	font-weight: bold;
	font-size: 24px;
	padding: 7px 10px 6px 10px;
	margin: 0 20px 0 0;
	line-height: 1;
}
.methodCont h5 + p {
	margin: 0 0 40px 0;
}
.receptionist {
	background-image: linear-gradient( to right, #ea0c26 0%, #fa9b05 100%);
	padding: 5px;
	margin: 0 0 100px 0;
}
.receptionist p {
	background: #fff;
	padding: 35px 0;
	text-align: center;
	font-size: 24px;
	font-weight: bold;
	color: #ea0d26;
}

.partner .list ul.ttl {
	display: flex;
}
.partner .list ul.ttl li {
	background: #222;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	padding: 15px 0;
}
.partner .list ul.ttl li span {
	color: #fff;
	font-size: 12px;
}
.partner .list ul.ttl li + li {
	border-left: 1px solid #8c8c8c;
}
.partner .list ul.ttl li:nth-child(1) {
	width: 270px;
}
.partner .list ul.ttl li:nth-child(2) {
	width: 450px;
}
.partner .list ul.ttl li:nth-child(3) {
	width: 360px;
}
.partner .list + .ttl02 {
	margin-top: 50px;
}
.partner .list dl.color {
	margin-top: 4px;
	background: #fff;
	display: flex;
}
.partner .list + .ttl02 {
	margin-top: 50px;
}
.partner .list dl.color > dt {
	width: 270px;
	padding: 30px 0 0 20px;
}
.partner .list dl.color > dd {
	width: 810px;
	display: flex;
}
.partner .list dl.color > dd > dl {
	border-left: 2px solid #f5f5f5;
}
.partner .list dl.color > dd > dl.activity {
	width: 450px;
	height: 100%;
	display: table;
}
.partner .list dl.color > dd > dl.activity dd {
	display: table-cell;
	vertical-align: middle;
	padding: 0 30px;
	font-size: 14px;
}
.partner .list dl.color > dd > dl.name {
	width: 360px;
}
.partner .list dl.color > dd > dl.name dd {
	font-size: 14px;
	height: 80px;
	display: table;
	width: 100%;
}
.partner .list dl.color > dd > dl.name dd a {
	display: table-cell;
	vertical-align: middle;
	font-size: 14px;
	padding: 0 25px 0 35px;
	position: relative;
}
.partner .list dl.color > dd > dl.name dd a:hover,
.partner .list.challenge table.basic > tbody > tr > td a:hover {
	text-decoration: underline;
}
.partner .list dl.color > dd > dl.name dd a:before {
	content: "";
	width: 6px;
	height: 6px;
	border: solid 2px #222;
	border-bottom: none;
	border-left: none;
	transform: rotate(45deg);
	position: absolute;
	top: 44%;
	left: 15px;
}
.partner .list dl.color > dd > dl.name dd a:after,
.partner .list.challenge table.basic > tbody > tr > td a:after {
	content: "";
	width: 12px;
	height: 9px;
	background: url(/2019/common/img/icon_blank_black.png) no-repeat center / 12px;
	opacity: 0.4;
	display: inline-block;
	margin-left: 5px;
}
.partner .list dl.color > dd > dl.name dd sub {
	font-size: 10px;
}
.partner .list dl.color > dd > dl.name dd + dd {
	border-top: 2px solid #f5f5f5;
}
.partner .list dl.color.purple {
	border-left: 3px solid #5f409f;
}
.partner .list dl.color.navy {
	border-left: 3px solid #0081cc;
}
.partner .list dl.color.blue {
	border-left: 3px solid #00afec;
}
.partner .list dl.color.green {
	border-left: 3px solid #3db129;
}
.partner .list dl.color.yellow {
	border-left: 3px solid #f0c600;
}
.partner .list dl.color.orange {
	border-left: 3px solid #f18b0a;
}
.partner .list dl.color.red {
	border-left: 3px solid #d7000f;
}
/* challenge */
.partner .list.challenge ul.ttl li:nth-child(1) {
	width: 60px;
}
.partner .list.challenge ul.ttl li:nth-child(2) {
	width: 530px;
}
.partner .list.challenge ul.ttl li:nth-child(3) {
	width: 490px;
}
.partner .list.challenge ul.ttl li:nth-child(4) {
	width: 130px;
}
.partner .list.challenge table.basic > tbody > tr > th {
	width: 60px;
	background: #222;
	color: #fff;
	text-align: center;
	vertical-align: middle;
}
.partner .list.challenge table.basic > tbody > tr > td {
	width: 530px;
	vertical-align: middle;
	background: #fff;
}
.partner .list.challenge table.basic > tbody > tr > td + td {
	width: 490px;
}
.partner .list.challenge table.basic > tbody > tr > td + td + td {
	width: 130px;
	text-align: center;
}
.partner .list.challenge table.basic > tbody > tr > td p span {
	display: block;
	font-size: 11px;
}

.period dl {
	display: flex;
}
.period dl dt {
	padding: 20px 0;
	color: #fff;
	font-weight: bold;
	font-size: 18px;
	background: #222;
	width: 250px;
	text-align: center;
}
.period dl dd {
	padding: 20px;
	font-size: 18px;
	background: #fff;
	width: 830px;
}
#method01 {
	position: relative;
	z-index: 2;
}
#method02 {
	position: relative;
	z-index: 1;
}
#method02 .btnWrap a {
	width: 440px;
}

.methodCont h6 {
	font-size: 22px;
	font-weight: bold;
	margin: 0 0 20px 0;
}

#method03 dl dt {
	background: #d9d9d9;
	padding: 22px 20px 20px 20px;
	font-size: 18px;
	font-weight: bold;
	line-height: 1;
}
#method03 dl dd {
	padding: 22px 20px 30px 20px;
	font-size: 18px;
}
#method03 dl dd span {
	font-size: 18px;
	color: #d7000f;
	font-weight: bold;
}
#method03 .btnWrap a {
	width: 315px;
}

.flagTxt {
	margin-top: 20px;
}


}

/* -----------------------------------------------------------------------------
	SP
----------------------------------------------------------------------------- */
@media screen and (max-width: 750px) {

.lead {
	margin: 0 15px;
}
.lead p {
	margin: 0 0 10px 0;
}
.lead figure {
	margin-top: 20px;
}

.runnerContTop {
	padding: 0 15px;
	margin: 0 0 50px 0;
}

.runnerContTop h4 {
	margin: 0 0 20px 0;
}
.runnerContTop .photo {
	margin: 0 0 20px 0;
}
.runnerContTop .photo p {
	margin: 0 0 20px 0;
}
.runnerContTop .ttl01 {
	margin-bottom: 20px;
}
.ttl02.line {
    padding-bottom: 10px;
    border-bottom: 1px solid #cacaca;
}

.organizationList ul li {
	font-size: 14px;
	margin: 0 0 5px 0;
	text-indent: -16px;
	padding-left: 16px;
}
.organizationList ul li::before {
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 50%;
	display: inline-block;
	margin: 0 6px 0 0;
	background: #222;
}
.organizationList ul li.purple::before {
	background: #654d9d;
}
.organizationList ul li.navy::before {
	background: #0081cc;
}
.organizationList ul li.blue::before {
	background: #00afec;
}
.organizationList ul li.green::before {
	background: #45b035;
}
.organizationList ul li.yellow::before {
	background: #f0c600;
}
.organizationList ul li.orange::before {
	background: #f18b10;
}
.organizationList ul li.red::before {
	background: #d7000f;
}

.mb30 {
	margin-bottom: 20px;
}

.runnerContBottom {
	padding: 0 15px;
	margin: 0 0 50px 0;
}
.runnerContBottom h4 {
	margin: 0 0 20px 0;
}
.runnerContBottom .photo {
	margin: 0 0 20px 0;
}
.runnerContBottom .photo p {
	margin: 0 0 20px 0;
}
.runnerContBottom .photo p:last-child img {
}

.flow {
	padding: 0 15px;
}
.flow h4 {
	margin-left: 0;
}
.flow .methodNav {
	margin: 0 0 30px 0;
	position: relative;
	z-index: 4;
}
.flow .methodNav .accordion_head span {
	background: #222;
	display: block;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	padding: 15px;
	position: relative;
}
.flow .methodNav .accordion_head span:after {
	content: "＋";
	position: absolute;
	right: 15px;
	transform: scale(1.2);
}
.flow .methodNav .accordion_head.open span:after {
	content: "ー";
	position: absolute;
	right: 15px;
	transform: scale(1);
}
.flow .methodNav .accordion_body ul li {
	position: relative;
	line-height: 1;
	border-bottom: 1px solid #cacaca;
}
.flow .methodNav .accordion_body ul li:after {
	content: "";
    width: 8px;
    height: 8px;
    border: solid 2px #222;
    border-bottom: none;
    border-left: none;
    transform: rotate(135deg);
    position: absolute;
    top: calc(50% - 6px);
    right: 18px;
    transition: 0.3s ease;
}
.flow .methodNav .accordion_body ul li a {
	font-size: 14px;
	letter-spacing: 0.05em;
	display: block;
	padding: 15px;
	background: #fff;
}

.methodCont {
	padding-top: 80px;
	margin: -80px 0 50px 0;
}
.methodCont h5 {
	background: #222;
	color: #fff;
	padding: 15px 15px;
	margin: 0 0 20px 0;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 0.05em;
	display: flex;
	align-items: center;
}
.methodCont h5 span {
	display: block;
	background: #fff;
	color: #222;
	font-weight: bold;
	font-size: 15px;
	padding: 3px 8px 2px 8px;
	margin: -2px 15px 0 0;
	line-height: 1;
}
.methodCont h5 + p {
	margin: 0 0 20px 0;
}
.receptionist {
	background-image: linear-gradient( to right, #ea0c26 0%, #fa9b05 100%);
	padding: 3px;
	margin: 0 0 50px 0;
}
.receptionist p {
	background: #fff;
	padding: 20px 0;
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	color: #ea0d26;
}

.partner .list dl.color + dl.color {
	margin-top: 15px;
}
.partner .list + .ttl02 {
	margin-top: 40px;
}
.partner .list dl.color > dt {
	background: #fff;
	height: 60px;
	box-shadow: 0px 5px 13.5px 1.5px rgba(0, 0, 0, 0.2);
	position: relative;
}
.partner .list dl.color > dt:before {
	content: "";
	width: 14px;
	height: 2px;
	background: #9f9f9f;
	position: absolute;
	top: 50%;
	margin-top: -1px;
	right: 20px;
}
.partner .list dl.color > dt:after {
	content: "";
	width: 2px;
	height: 14px;
	background: #9f9f9f;
	position: absolute;
	top: 50%;
	margin-top: -7px;
	right: 26px;
}
.partner .list dl.color > dt.open:after {
	display: none;
}
.partner .list dl.color > dt img {
	width: auto!important;
	height: 60px!important;
}
.partner .list dl.color > dd {
	margin-top: 20px;
	margin-bottom: 30px;
	display: none;
}
.partner .list dl.color > dd > dl > dt {
	font-weight: bold;
	font-size: 14px;
	display: inline-block;
	padding-right: 10px;
	border-bottom: solid 1px #222;
	padding-bottom: 3px;
}
.partner .list dl.color > dd > dl > dd {
	font-size: 14px;
	margin-top: 10px;
}
.partner .list dl.color > dd > dl.activity {
	margin-top: 20px;
}
.partner .list dl.color > dd > dl.name dd a {
	font-size: 14px;
	padding-left: 15px;
	display: inline-block;
	position: relative;
}
.partner .list dl.color > dd > dl.name dd a:before {
	content: "";
	width: 6px;
	height: 6px;
	border: solid 2px #222;
	border-bottom: none;
	border-left: none;
	transform: rotate(45deg);
	position: absolute;
	top: 35%;
	left: 0;
}
.partner .list dl.color > dd > dl.name dd a:after,
.partner .list.challenge table.basic > tbody > tr > td a:after {
	content: "";
	width: 12px;
	height: 9px;
	background: url(../../../common/img/icon_blank_black.png) no-repeat center / 12px;
	opacity: 0.4;
	display: inline-block;
	margin-left: 5px;
}
.partner .list dl.color > dd > dl.name dd sub {
	font-size: 10px;
}
.partner .list dl.color > dd > dl.name dd + dd {
	border-top: 2px solid #f5f5f5;
}
.partner .list dl.color.purple > dt {
	border-left: 3px solid #5f409f;
}
.partner .list dl.color.navy > dt {
	border-left: 3px solid #0081cc;
}
.partner .list dl.color.blue > dt {
	border-left: 3px solid #00afec;
}
.partner .list dl.color.green > dt {
	border-left: 3px solid #3db129;
}
.partner .list dl.color.yellow > dt {
	border-left: 3px solid #f0c600;
}
.partner .list dl.color.orange > dt {
	border-left: 3px solid #f18b0a;
}
.partner .list dl.color.red > dt {
	border-left: 3px solid #d7000f;
}
/* challenge */
.partner .list.challenge table.basic {
	box-shadow: 0px 5px 13.5px 1.5px rgba(0, 0, 0, 0.2);
}
.partner .list.challenge table.basic > tbody > tr > th {
	width: 40px;
	background: #222;
	color: #fff;
	text-align: center;
	vertical-align: middle;
	display: table-cell;
}
.partner .list.challenge table.basic > tbody > tr + tr > th {
	border-top: 1px solid #fff;
}
.partner .list.challenge table.basic > tbody > tr:first-child > td {
	border: none;
}
.partner .list.challenge table.basic > tbody > tr:first-child > td + td {
	border-top: 1px solid #cacaca;
}
.partner .list.challenge table.basic > tbody > tr > td {
	background: #fff;
	border-top: 1px solid #cacaca;
	padding: 10px;
	padding-right: 40px;
	position: relative;
}
.partner .list.challenge table.basic > tbody > tr > td.accordionHead:before {
	content: "";
	width: 14px;
	height: 2px;
	background: #9f9f9f;
	position: absolute;
	top: 50%;
	margin-top: -1px;
	right: 20px;
}
.partner .list.challenge table.basic > tbody > tr > td.accordionHead:after {
	content: "";
	width: 2px;
	height: 14px;
	background: #9f9f9f;
	position: absolute;
	top: 50%;
	margin-top: -7px;
	right: 26px;
}
.partner .list.challenge table.basic > tbody > tr > td.open:after {
	display: none;
}
.partner .list.challenge table.basic > tbody > tr > td:last-child {
	background: #fff;
	padding-right: 10px;
}
.partner .list.challenge table.basic > tbody > tr > td:last-child:before,
.partner .list.challenge table.basic > tbody > tr > td:last-child:after {
	display: none;
}
.partner .list.challenge table.basic > tbody > tr > td p.sp {
	font-weight: bold;
	font-size: 14px;
	display: inline-block;
	padding-right: 10px;
	border-bottom: solid 1px #222;
	padding-bottom: 3px;
	margin-bottom: 10px;
}
.partner .list.challenge table.basic > tbody > tr > td p span {
	display: block;
	font-size: 11px;
	margin-top: 5px;
}
.partner .list.challenge table.basic + p {
	margin-top: 10px;
}

.period dl {
	
}
.period dl dt {
	padding: 12px 10px 10px 15px;
	color: #fff;
	font-weight: bold;
	font-size: 15px;
	background: #222;
}
.period dl dd {
	padding: 12px 10px 10px 15px;
	font-size: 15px;
	background: #fff;
}

#method02 {
	position: relative;
	z-index: 1;
}
#method02 .btnWrap a span {
	font-size: 12px;
}

.methodCont h6 {
	font-size: 16px;
	font-weight: bold;
	margin: 0 0 10px 0;
}

#method03 dl dt {
	background: #d9d9d9;
	padding: 12px 10px 10px 15px;
	font-size: 14px;
	font-weight: bold;
}
#method03 dl dd {
	padding: 12px 10px 20px 15px;
	font-size: 14px;
}
#method03 dl dd span {
	font-size: 14px;
	color: #d7000f;
	font-weight: bold;
}

.flagTxt {
	margin-top: 20px;
	text-indent: -1em;
	padding-left: 1em;
}
.bikou {
	margin-top: 10px;
}

}