@charset "shift_jis";
/* ======================================================
 * /common-files/css/contribution/index.css
 * ------------------------------------------------------
====================================================== */
body{
	font-family: 'Heebo', 'Noto Sans CJK JP', "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
/* Override
------------------------------------------------------ */
.section03 .heading03:before {
	background-color: #dc322c;
}
#mainContents > .section01 {
	padding-bottom: 170px;
}
/* Hero Slider
------------------------------------------------------ */
#heroSlider .slides{
	opacity: 0;
	transition: opacity .3s linear;
}
#heroSlider .slides.slick-initialized{
	opacity: 1;
}
#heroSlider .heroViewport {
	max-width: 894px;
	margin: 0 auto;
	padding: 20px 0 0;
	overflow: hidden;
}
#heroSlider .heroViewport .bx-wrapper {
	position: relative;
	padding-bottom: 48px;
}
#heroSlider .heroViewport > .slides {
}
#heroSlider .heroViewport > .slides > div {
	padding: 0;
	text-align: center;
}
#heroSlider .heroViewport .bx-viewport .slides > div a,
#heroSlider .heroViewport .bx-viewport .slides > div img {
	width: 920px;
	display: block;
	margin: 0 auto;
}
#heroSlider .heroViewport .bx-pager {
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 0;
}
#heroSlider .heroViewport .bx-pager .bx-pager-item {
	margin: 0 9px;
}
#heroSlider .heroViewport .bx-pager.bx-default-pager a {
	width: 16px;
	height: 16px;
	background: #ffffff;
	border: 2px solid #b0b0b0;
	border-radius: 50%;
}
#heroSlider .heroViewport .bx-pager.bx-default-pager a:hover,
#heroSlider .heroViewport .bx-pager.bx-default-pager a.active {
	background: #dc322c;
}
#heroSlider .heroViewport .bx-prev {
	position: absolute;
	bottom: 0;
	margin-top: -25px;
	left: 70px;
	outline: 0;
}
#heroSlider .heroViewport .bx-next {
	position: absolute;
	bottom: 0;
	margin-top: -25px;
	right: 70px;
	outline: 0;
}
#heroSlider .slick-counter {
	margin-top: 10px;
	font-size: 2.6rem;
}
#heroSlider .slick-next,
#heroSlider .slick-prev {
	top: auto;
	bottom: -33px;
	width: 17px;
	height: 10px;
	background: url("/contribution/img-files/index_ic06.png") no-repeat 0 0 / contain;
}
#heroSlider .slick-next {
	right: -3px;
	transform: rotate(-90deg);
}
#heroSlider .slick-prev {
	left: -3px;
	transform: rotate(90deg);
}
#heroSlider .slick-dotted.slick-slider {
	margin-bottom: 48px;
}
#heroSlider .slick-dots {
	bottom: -48px;
}
#heroSlider .slick-dots li {
	margin: 0 8px;
}
#heroSlider .slick-dots li button:before {
	width: 10px;
	height: 10px;
	border: 1px solid #969696;
	background-color: #dadada;
}
#heroSlider .slick-dots li.slick-active button:before {
	opacity: 1;
	border: 1px solid #d0372c;
	background-color: #d0372c;
}
#heroSlider a {
	transition: 0.3s all ease-out;
}
#heroSlider a:hover {
	opacity: 0.7;
}
/* contributionBtn
------------------------------------------------------ */
.contributionBtnLink01 {
	margin-top: 20px;
}
.contributionBtnLink01 > a {
	display: inline-block;
	position: relative;
	padding: 12px 48px 10px 40px;
	color: #333;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	line-height: 1.2;
	background-color: #fff;
	border: 2px solid #d0372c;
	border-radius: 9px;
	transition: opacity 0.4s ease-out, background 0.4s ease-out, color 0.4s ease-out, background 0.4s ease-out;
}
.contributionBtnLink01.txtSmall > a {
	font-size: 1.4rem;
}
.contributionBtnLink01 > a::after {
	position: absolute;
	top: 50%;
	right: 16px;
	display: inline-block;
	width: 8px;
	height: 13px;
	margin-top: -7px;
	background: url(/contribution/img-files/index_ic01.png) no-repeat top left / 8px 13px;
	content: "";
}
.contributionBtnLink01 > a:hover {
	opacity: 0.7;
}
.contributionBtnLink02 {
	margin-top: 70px;
}
.contributionBtnLink02 a {
	position: relative;
	display: block;
	width: 710px;
	margin: 0 auto;
	border-radius: 10px;
	border: solid 2px #e8e8e8;
	padding: 15px 70px;
	background: #e8e8e8;
	text-decoration: none;
	text-align: center;
	font-weight: bold;
	font-size: 24px;
	font-size: 2.4rem;
	color: #333333;
	line-height: 1.1;
	transition: box-shadow 0.4s ease-out, background 0.4s ease-out, color 0.4s ease-out, background 0.4s ease-out;
}
.contributionBtnLink02 a::after {
	position: absolute;
	top: 50%;
	right: 26px;
	display: block;
	width: 34px;
	height: 34px;
	margin-top: -17px;
	border-radius: 50%;
	background: url("/contribution/img-files/index_ic04.png") 0 0 no-repeat;
	content: '';
}
.contributionBtnLink02 a:hover {
	box-shadow: 0 5px 11px 0 rgb(0 0 0 / 18%), 0 4px 15px 0 rgb(0 0 0 / 15%);
	background: #ffffff;
}
/* contributionIconText
------------------------------------------------------ */
.contributionIconText {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-flow: wrap;
	gap: 15px 25px;
	margin-top: 15px;
}
.contributionMedia {
	display: flex;
	align-items: center;
}
.contributionMediaBody > * {
	margin-top: 0!important;
}
.contributionMediaHead {
	flex-shrink: 0;
	margin-right: 10px;
}
/* contributeTop-col
------------------------------------------------------ */
.contributeTop-col.col2 > .col:nth-child(n+3) {
	margin-top: 30px;
	padding-top: 10px;
	border-top: 1px solid #cccccc;
}
@media print, screen and (min-width: 751px) {
	.index-section02 {
		margin-top: 60px;
	}
	.index-section02 >:first-child {
		margin-top: 0 !important;
	}
	.index-section03 {
		margin-top: 40px;
	}
	.index-section03 >:first-child {
		margin-top: 0 !important;
	}
	.index-heading02 {
		position: relative;
		margin-top: 50px;
		margin-bottom: 45px;
		padding-bottom: 20px;
		text-align: center;
	}
	.index-heading02::before {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		width: 50px;
		height: 2px;
		margin: auto;
		background-color: #008191;
	}
	.index-heading02 .index-heading02Title {
		font-size: 2.6rem;
		font-weight: bold;
		color: #000;
	}
	.index-heading03 {
		position: relative;
		margin-top: 20px;
		margin-bottom: 20px;
		padding-left: 12px;
	}
	.index-heading03::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		width: 4px;
		height: 100%;
		background-color: #d0372c;
	}
	.index-heading03 .index-heading03Title {
		padding-top: 2px;
		font-size: 1.8rem;
		font-weight: bold;
		color: #000;
		line-height: 1;
	}
	.index-linkList {
		margin-top: 25px;
	}
	.index-linkList > li a {
		position: relative;
		padding-left: 30px;
		font-size: 1.8rem;
		color: #008191;
	}
	.index-linkList > li a::before {
		content: '';
		position: absolute;
		top: 2px;
		left: 0;
		width: 22px;
		height: 22px;
		background: url("/contribution/img-files/index_ic07.png") no-repeat 0 0 / contain;
	}
	.index-linkList > li a[data-type="anchor"]::before {
		transform: rotate(90deg);
	}
	.index-ancList {
		display: flex;
		flex-flow: wrap;
		gap: 10px;
		margin-top: 20px;
	}
	.index-ancList > li {
		width: calc(20% - 10px * 4 / 5);
	}
	.index-ancList > li > a {
		display: flex;
		align-items: center;
		position: relative;
		width: 100%;
		min-height: 64px;
		padding: 5px 34px 5px 20px;
		border: 1px solid #d4d4d4;
		border-radius: 10px;
		font-size: 1.8rem;
		color: #000;
		text-decoration: none;
		transition: 0.3s all ease-out;
	}
	.index-ancList > li > a::before {
		content: '';
		position: absolute;
		top: 50%;
		right: 14px;
		width: 17px;
		height: 10px;
		margin-top: -5px;
		background: url("/contribution/img-files/index_ic06.png") no-repeat 0 0 / contain;
		transition: 0.3s all ease-out;
	}
	.index-ancList > li > a:hover {
		opacity: 0.7;
	}
	.index-ancList > li > a:hover::before {
		transform: translateY(5px);
	}
	.index-media {
		display: flex;
		gap: 25px;
		margin-top: 20px;
	}
	.index-media .index-mediaHead {
		flex-shrink: 0;
		width: 91px;
	}
	.index-media .index-mediaBody {
		width: calc(100% - 25px - 91px);
	}
	.index-media .index-mediaHead >:first-child,
	.index-media .index-mediaBody >:first-child {
		margin-top: 0 !important;
	}
	.index-media .index-mediaText {
		margin-top: 10px;
		font-size: 1.4rem;
		color: #000;
	}
	.index-media .index-mediaImage {
		margin-top: 10px;
	}
	.index-column {
		display: flex;
		flex-flow: wrap;
		gap: 45px 40px;
		margin-top: 55px;
	}
	.index-column .index-columnItem {
		width: calc(50% - 40px / 2);
	}
	.index-column .index-columnItem >:first-child {
		margin-top: 0 !important;
	}
	.index-contributionDetail {
		width: calc(100% - 25px - 91px);
		margin: 10px 0 0 auto;
	}
	.index-contributionDetail >:first-child {
		margin-top: 0 !important;
	}
	.index-contributionColumn {
		display: flex;
		justify-content: center;
		gap: 60px;
	}
	.index-contributionColumn .index-contributionColumnIcon {
		text-align: center;
	}
	.index-contributionColumn .index-contributionColumnIcon img {
		width: 57px;
		height: auto;
	}
	.index-contributionColumn .index-contributionColumnText {
		margin-top: 10px;
		text-align: center;
		font-size: 1.4rem;
	}
	.index-contributionButton {
		margin-top: 15px;
	}
	.index-contributionButton a {
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
		width: 100%;
		min-height: 50px;
		padding: 10px 45px;
		border-radius: 10px;
		background-color: #e8e8e8;
		text-align: center;
		font-size: 1.6rem;
		color: #000;
		text-decoration: none;
		transition: 0.3s all ease-out;
	}
	.index-contributionButton a::before {
		content: '';
		position: absolute;
		top: 50%;
		right: 20px;
		width: 20px;
		height: 20px;
		margin-top: -10px;
		background: url("/contribution/img-files/index_ic11.png") no-repeat 0 0 / contain;
	}
	.index-contributionButton a:hover {
		box-shadow: 0 5px 11px 0 rgb(0 0 0 / 18%), 0 4px 15px 0 rgb(0 0 0 / 15%);
		background: #ffffff;
	}
	.index-contributionButton02 {
		margin-top: 45px;
	}
	.index-contributionButton02 a {
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
		width: 640px;
		min-height: 60px;
		margin: 0 auto;
		padding: 10px 60px;
		border-radius: 10px;
		background-color: #e8e8e8;
		text-align: center;
		font-size: 2.4rem;
		color: #000;
		text-decoration: none;
		transition: 0.3s all ease-out;
	}
	.index-contributionButton02 a::before {
		content: '';
		position: absolute;
		top: 50%;
		right: 25px;
		width: 28px;
		height: 28px;
		margin-top: -14px;
		background: url("/contribution/img-files/index_ic11.png") no-repeat 0 0 / contain;
	}
	.index-contributionButton02 a:hover {
		box-shadow: 0 5px 11px 0 rgb(0 0 0 / 18%), 0 4px 15px 0 rgb(0 0 0 / 15%);
		background: #ffffff;
	}
	.index-noteList01 {
		margin-top: 60px;
	}
	.index-noteList01 > li {
		position: relative;
		padding-left: 14px;
		font-size: 1.4rem;
	}
	.index-noteList01 > li > .mark {
		position: absolute;
		top: 0;
		left: 0;
	}
	.index-banner {
		margin-top: 85px;
		text-align: center;
	}
	.index-banner a {
		transition: 0.3s all ease-out;
	}
	.index-banner a:hover {
		opacity: 0.7;
	}
	.index-banner a:hover img {
		opacity: 1;
		background-color: transparent;
	}
}
@media print, screen and (max-width: 750px) {
	/* Override
	------------------------------------------------------ */
	#mainContents > .section01 {
		padding-bottom: 60px;
	}
	.heading02:before {
		right: -4em!important;
	}
	.section03 > .figureCol > .imgL {
		width: 91px;
		margin-right: 18px;
	}
	/* Hero Slider
	------------------------------------------------------ */
	#heroSlider.hero_complete{
		margin-top: 5px;
	}
	#heroSlider a:hover img {
		opacity: 1.0;
	}
	#heroSlider .heroViewport {
		height: auto;
		padding: 0;
	}
	#heroSlider .heroViewport .bx-wrapper {
		position: relative;
		padding-bottom: 18px;
	}
	#heroSlider .heroViewport .bx-viewport .slides > div a,
	#heroSlider .heroViewport .bx-viewport .slides > div img {
		width: 100%;
		-webkit-tap-highlight-color:rgba(0,0,0,0);
	}
	#heroSlider .heroViewport .bx-pager .bx-pager-item{
		margin: 0 4px;
	}
	#heroSlider .heroViewport .bx-pager {
		bottom: 2px;
	}
	#heroSlider .heroViewport .bx-pager{
		line-height: 0;
	}
	#heroSlider .heroViewport .bx-pager.bx-default-pager a {
		width: 8px;
		height: 8px;
		border-width: 1px;
	}
	#heroSlider .heroViewport .bx-prev ,
	#heroSlider .heroViewport .bx-next {
		top: inherit;
		width: 7px;
		height: 12px;
		right: 0;
		outline: 0;
		background-size: 12px 13px;
	}
	#heroSlider .heroViewport .bx-prev {
		left: 10px;
	}
	#heroSlider .heroViewport .bx-next {
		right: 10px;
	}
	#heroSlider .slick-counter {
	margin-top: 10px;
	font-size: 1.4rem;
}
#heroSlider .slick-next,
#heroSlider .slick-prev {
	display: block!important;
	top: auto;
	bottom: max(-25px, calc(50 / 720 * 100vw * -1));
	width: min(12px, calc(24 / 720 * 100vw));
	height: min(7px, calc(14 / 720 * 100vw));
	background: url("/contribution/img-files/index_ic06.png") no-repeat 0 0 / contain;
}
#heroSlider .slick-next {
	right: max(-3px, calc(3 / 720 * 100vw * -1));
	transform: rotate(-90deg);
}
#heroSlider .slick-prev {
	left: max(-3px, calc(3 / 720 * 100vw * -1));
	transform: rotate(90deg);
}
#heroSlider .slick-dotted.slick-slider {
	margin-bottom: min(37px, calc(74 / 720 * 100vw));
}
#heroSlider .slick-dots {
	bottom: max(-37px, calc(74 / 720 * 100vw * -1));
}
#heroSlider .slick-dots li {
	margin: 0 min(7px, calc(14 / 720 * 100vw));
	width: min(12px, calc(24 / 720 * 100vw));
	height: min(12px, calc(24 / 720 * 100vw));
}
#heroSlider .slick-dots li button {
	width: min(10px, calc(20 / 720 * 100vw));
	height: min(10px, calc(20 / 720 * 100vw));
	padding: min(5px, calc(10 / 720 * 100vw));
}
#heroSlider .slick-dots li button:before {
	width: min(10px, calc(20 / 720 * 100vw));
	height: min(10px, calc(20 / 720 * 100vw));
	border: min(1px, calc(2 / 720 * 100vw)) solid #969696;
	background-color: #dadada;
}
#heroSlider .slick-dots li.slick-active button:before {
	opacity: 1;
	border: min(1px, calc(2 / 720 * 100vw)) solid #d0372c;
	background-color: #d0372c;
}
	/* contributionBtn
	------------------------------------------------------ */
	.contributionBtnLink01 > a {
		padding: 12px 48px 10px 40px;
		font-size: 1.6rem;
		border: 1px solid #d0372c;
	}
	.contributionBtnLink01.txtSmall > a {
		font-size: 1.2rem;
	}
	.contributionBtnLink01 > a::after {
		right: 16px;
		width: 8px;
		height: 13px;
		margin-top: -7px;
		background: url(/contribution/img-files/index_ic01.png) no-repeat top left / 8px 13px;
		content: "";
	}
	.contributionBtnLink01 > a:hover {
		opacity: 1;
	}
	.contributionBtnLink02 {
		margin-top: 40px;
	}
	.contributionBtnLink02 a {
		width: 100%;
		border: solid 1px #e8e8e8;
		padding: 15px 70px;
		font-size: 1.4rem;
	}
	.contributionBtnLink02 a::after {
		right: 10px;
		width: 24px;
		height: 24px;
		margin-top: -12px;
		border-radius: 50%;
		background-size: 100% auto;
	}
	.contributionBtnLink02 a:hover {
		box-shadow: none;
		background: #e8e8e8;
	}
	/* contributeTop-col
	------------------------------------------------------ */
	.contributeTop-col.col2 > .col:nth-child(n+2) {
		margin-top: 20px;
		padding-top: 10px;
		border-top: 1px solid #cccccc;
	}
	
	.index-section02 {
		margin-top: 60px;
	}
	.index-section02 >:first-child {
		margin-top: 0 !important;
	}
	.index-section03 {
		margin-top: 30px;
	}
	.index-section03 >:first-child {
		margin-top: 0 !important;
	}
	.index-heading02 {
		position: relative;
		margin-top: 25px;
		margin-bottom: 15px;
		padding-bottom: 12px;
		text-align: center;
	}
	.index-heading02::before {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		width: 50px;
		height: 2px;
		margin: auto;
		background-color: #008191;
	}
	.index-heading02 .index-heading02Title {
		font-size: 2rem;
		font-weight: bold;
		color: #000;
	}
	.index-heading03 {
		position: relative;
		margin-top: 15px;
		margin-bottom: 15px;
		padding-left: 15px;
	}
	.index-heading03::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		width: 5px;
		height: 100%;
		background-color: #d0372c;
	}
	.index-heading03 .index-heading03Title {
		padding-top: 2px;
		font-size: 1.6rem;
		font-weight: bold;
		color: #000;
		line-height: 1;
	}
	.index-linkList {
		margin-top: 15px;
	}
	.index-linkList > li a {
		position: relative;
		padding-left: 18px;
		font-size: 1.3rem;
		color: #008191;
	}
	.index-linkList > li a::before {
		content: '';
		position: absolute;
		top: 2px;
		left: 0;
		width: 16px;
		height: 16px;
		background: url("/contribution/img-files/index_ic07.png") no-repeat 0 0 / contain;
	}
	.index-linkList > li a[data-type="anchor"]::before {
		transform: rotate(90deg);
	}
	.index-ancList {
		display: flex;
		flex-flow: wrap;
		gap: 5px;
		margin-top: 23px;
	}
	.index-ancList > li {
		width: calc(100% / 3 - 5px * 2 / 3);
	}
	.index-ancList > li > a {
		display: flex;
		align-items: center;
		position: relative;
		width: 100%;
		height: 100%;
		min-height: 40px;
		padding: 5px 20px 5px 10px;
		border: 1px solid #d4d4d4;
		border-radius: 5px;
		font-size: 1.3rem;
		color: #000;
		text-decoration: none;
	}
	.index-ancList > li > a::before {
		content: '';
		position: absolute;
		top: 50%;
		right: 9px;
		width: 9px;
		height: 5px;
		margin-top: -2.5px;
		background: url("/contribution/img-files/index_ic06.png") no-repeat 0 0 / contain;
	}
	.index-media {
		display: flex;
		gap: 9px;
		margin-top: 15px;
	}
	.index-media .index-mediaHead {
		flex-shrink: 0;
		width: 91px;
	}
	.index-media .index-mediaBody {
		width: calc(100% - 9px - 91px);
	}
	.index-media .index-mediaHead >:first-child,
	.index-media .index-mediaBody >:first-child {
		margin-top: 0 !important;
	}
	.index-media .index-mediaText {
		margin-top: 10px;
		font-size: 1.4rem;
		color: #000;
	}
	.index-media .index-mediaImage {
		margin-top: 10px;
	}
	.index-column {
		margin-top: 25px;
	}
	.index-column .index-columnItem + .index-columnItem {
		margin-top: 25px;
	}
	.index-column .index-columnItem >:first-child {
		margin-top: 0 !important;
	}
	.index-contributionDetail {
		margin-top: 25px;
	}
	.index-contributionDetail >:first-child {
		margin-top: 0 !important;
	}
	.index-contributionColumn {
		display: flex;
		justify-content: center;
		flex-flow: wrap;
		gap: min(20px, calc(40 / 720 * 100vw)) min(45px, calc(90 / 720 * 100vw));
	}
	.index-contributionColumn .index-contributionColumnIcon {
		text-align: center;
	}
	.index-contributionColumn .index-contributionColumnIcon img {
		width: min(48px, calc(96 / 720 * 100vw));
		height: auto;
	}
	.index-contributionColumn .index-contributionColumnText {
		margin-top: min(10px, calc(20 / 720 * 100vw));
		text-align: center;
		font-size: min(1.2rem, calc(24 / 720 * 100vw));
	}
	.index-contributionButton {
		margin-top: 22px;
	}
	.index-contributionButton a {
		display: flex;
		justify-content:center;
		align-items: center;
		position: relative;
		width: 100%;
		min-height: 40px;
		padding: 5px 35px;
		border-radius: 5px;
		background-color: #e8e8e8;
		text-align: center;
		font-size: 1.4rem;
		color: #000;
		text-decoration: none;
	}
	.index-contributionButton a::before {
		content: '';
		position: absolute;
		top: 50%;
		right: 10px;
		width: 15px;
		height: 15px;
		margin-top: -7.5px;
		background: url("/contribution/img-files/index_ic11.png") no-repeat 0 0 / contain;
	}
	.index-contributionButton02 {
		margin-top: 22px;
	}
	.index-contributionButton02 a {
		display: flex;
		justify-content:center;
		align-items: center;
		position: relative;
		width: 100%;
		min-height: 40px;
		padding: 5px 35px;
		border-radius: 5px;
		background-color: #e8e8e8;
		text-align: center;
		font-size: 1.4rem;
		color: #000;
		text-decoration: none;
	}
	.index-contributionButton02 a::before {
		content: '';
		position: absolute;
		top: 50%;
		right: 10px;
		width: 15px;
		height: 15px;
		margin-top: -7.5px;
		background: url("/contribution/img-files/index_ic11.png") no-repeat 0 0 / contain;
	}
	.index-noteList01 {
		margin-top: 50px;
	}
	.index-noteList01 > li {
		position: relative;
		padding-left: 14px;
		font-size: 1.4rem;
	}
	.index-noteList01 > li > .mark {
		position: absolute;
		top: 0;
		left: 0;
	}
	.index-banner {
		margin-top: 60px;
		text-align: center;
	}
}
/* heading02 typeRed
	------------------------------------------------------ */
.heading02.typeRed {
	color: #ffffff;
	background-color: #d0372c;
	border-top: solid 1px #9C271F;
	}
.heading02.typeRed::before {
	border-bottom: 6.0em solid #C8352A;
	border-left: 6.0em solid #d0372c;
}