@charset "utf-8";


#container {
}

@media screen and (max-width: 767px){
	
	#container {
	}
	
}

.finishText {
	font-size: 36px;
	text-align: center;
	font-weight: 600;
	padding-bottom: 50px;
}

.spIn {
	display: none;
}


@media screen and (max-width: 1024px){
	
	.finishText {
		font-size: 24px;
		padding-bottom: 30px;
	}
	
	
	.spIn {
		display: inline;
	}
	
}


/* img 
--------------------------------------------------------------------*/

#wrapper img {
	border: none;
	vertical-align: bottom;
	max-width: 100%;
	width: auto;
	image-rendering: -webkit-optimize-contrast;
}

/** margin-top **/
.mt10{margin-top: 10px;}
.mt20{margin-top: 20px;}
.mt30{margin-top: 30px;}
.mt40{margin-top: 40px;}
.mt50{margin-top: 50px;}
.mt60{margin-top: 60px;}
.mt70{margin-top: 70px;}
.mt80{margin-top: 80px;}
.mt90{margin-top: 90px;}
.mt100{margin-top: 100px;}

/** margin-bottom **/
.mb10{margin-bottom: 10px!important;}
.mb20{margin-bottom: 20px!important;}
.mb30{margin-bottom: 30px!important;}
.mb40{margin-bottom: 40px!important;}
.mb50{margin-bottom: 50px!important;}
.mb60{margin-bottom: 60px!important;}
.mb70{margin-bottom: 70px!important;}
.mb80{margin-bottom: 80px!important;}
.mb90{margin-bottom: 90px!important;}
.mb100{margin-bottom: 100px!important;}

.mb0 {
	margin-bottom: 0 !important;
}


.maruGo {
	font-family: 'M PLUS Rounded 1c';
}

/* メイン
--------------------------------------------------------------------*/

*{
	box-sizing: border-box;
}

footer .ftTop {
	margin-top: 0;
}

#lpWrap {
	word-wrap : break-all;
  overflow-wrap : break-word;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
	line-height: 1.8;
	color: #333;
	font-weight: 500;
}

.inWrap {
	width: 1000px;
	margin: 0 auto;
}

.indentText {
	text-indent: -1.1em;
	padding-left: 1.1em;
}

@media screen and (max-width: 1024px){
	
	.inWrap {
		width: 94%;
	}
}


/*-------------------------------------------------------------------
	main
-------------------------------------------------------------------*/

.alignCenter {
	text-align: center;
}

.alignLeft {
	text-align: left;
}

.alignRight {
	text-align: right;
}


#mainVisual {
	
}

#mainVisual .bg img {
	width: 100%;
}

.leafIn {
	position: relative;
	color: #133f40;
	font-size: 28px;
	line-height: 1.2;
	font-weight: 600;
	display: block;
	padding: 10px 0 20px 100px;
	
}

.leafIn::before {
	background: url("../image/title_beans.png") left top no-repeat;
	width: 66px;
	height: 73px;
	background-size: cover;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
}

.leafTitle{
	display: block;
	font-family: 'M PLUS Rounded 1c';
	font-weight: 600;
	position: relative;
	margin-bottom: 50px;
}

.leafTitle::before {
	width: 100%;
	height: 39px;
	content: '';
	background: url("../image/title_bar.png") left bottom no-repeat;
	background-size: cover;
	position: absolute;
	bottom: 0;
	left: 0;
}

.scrollWrap {
	width: 100%;
	height: 325px;
	overflow-y: auto;
	box-sizing: border-box;
	padding-right: 20px;
}


@media screen and (max-width: 640px){
	
	.leafIn {
		font-size: 22px;
		padding: 10px 0 10px 70px;
	}

	.leafIn::before {
		width: 45px;
		height: 50px;
	}

	.leafTitle{
		margin-bottom: 30px;
	}
	
	
	.leafTitle::before {
		width: 100%;
		height: 25px;
		background: url("../image/title_bar_sp.png") left bottom no-repeat;
		background-size: cover;
	
	}
	
	
}


/*-------------------------------------------------------------------
	topLead
-------------------------------------------------------------------*/

#topLead {
	background: url("../image/left_beans.png") left bottom no-repeat,url("../image/right_beans.png") right bottom no-repeat;
}

#topLead .leadWrap {
	width: 1130px;
	margin: 0 auto;
	padding: 60px 0 55px;
	text-align: center;
}

.apologyBox {
	box-sizing: border-box;
	background: #fff;
	padding: 40px 5% 50px;
	text-align: left;
	/*border: 3px solid #113f41;*/
	border-radius: 7px;
	margin:0 auto 90px;
	width: 1000px;
}

.apologyTitle {
	font-family: 'M PLUS Rounded 1c';
	font-weight: 600;
	font-size: 24px;
	color: #133f40;
	line-height: 1.0;
	margin-bottom: 30px;
	text-align: center;
}


.leadArrow {
	display: inline-block;
	position: relative;
	padding-left: 30px;
}

.leadArrow::before {
	border-style: solid;
	border-width: 15px 7.5px 0 7.5px;
	border-color: #333333 transparent transparent transparent;
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);

}

.dlLink {
	display: inline-block;
	width: 580px;
	background: #133f40;
	padding: 35px 0;
	box-shadow: 6px 6px 0 #3cb65b;
	border-radius: 7px;
	text-decoration: none;
	transition: all .2s;
	font-size: 32px;
	line-height: 1.0;
	color: #fff;
	box-sizing: border-box;
	font-weight: 600;
	font-family: 'M PLUS Rounded 1c';
}

.ddLink {
	display: inline-block;
	width: 100%;
	background: #00654d;
	padding: 25px 0;
	box-shadow: 6px 6px 0 #3cb65b;
	border-radius: 7px;
	text-decoration: none;
	transition: all .2s;
	font-size: 24px;
	line-height: 1.4;
	color: #fff;
	box-sizing: border-box;
	font-weight: 600;
	font-family: 'M PLUS Rounded 1c';
	text-align: center;
}


@media screen and (max-width: 1130px){
	
	#topLead .leadWrap {
		width: 94%;
	}
	
}

@media screen and (max-width: 1024px){
	
	#topLead {
		width: 100%;
		overflow: hidden;
		background: url("../image/left_beans.png") left -250px bottom no-repeat,url("../image/right_beans.png") right -250px bottom no-repeat;
		background-size: auto 40px;
		padding-bottom: 40px;
	}
	

	.leadArrow::before {
		top: 10px;
		transform: none;

	}

	.dlLink {
		display: inline-block;
		width: 90%;
		background: #133f40;
		padding: 25px 0;
		box-shadow: 6px 6px 0 #3cb65b;
		border-radius: 7px;
		text-decoration: none;
		transition: all .2s;
		font-size: 22px;
		line-height: 1.0;
		color: #fff;
		box-sizing: border-box;
		font-weight: 600;
	}
	
	.ddLink {
		padding: 15px 0;
		font-size: 22px;
	}
	
	.apologyBox {
		padding: 30px 5% 30px;
		margin:0 auto 60px;
		width: auto;
		font-size: 15px;
		text-align: left;
	}

	.apologyTitle {
		font-size: 24px;
		margin-bottom: 20px;
		text-align: center;
	}
	
	
	
}

/*-------------------------------------------------------------------
	greenNav
-------------------------------------------------------------------*/

#greenNav {
	background: #d5eb93;
	padding: 25px 0;
	position: relative;
	top: -5px;
	margin-bottom: -5px;
}

#greenNav .pageNav {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 21px;
	line-height: 1.2;
	font-family: 'M PLUS Rounded 1c';
}


#greenNav .pageNav li {
	width: 200px;
	text-align: center;
	position: relative;
}


#greenNav .pageNav li:nth-child(n + 2)::before {
	width: 3px;
	height: 60px;
	background: #80a21c;
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

#greenNav .pageNav li a {
	color: #133f40;
	font-weight: 600;
}

@media screen and (max-width: 1024px){
	
	#greenNav {
		display: none;
	}
	
}


/*-------------------------------------------------------------------
	campaign
-------------------------------------------------------------------*/

#campaign {
	padding: 90px 0 80px;
}

.cpLead {
	font-size: 18px;
}

@media screen and (max-width: 1024px){
	
	#campaign {
		padding: 60px 0 60px;
	}
}

/*-------------------------------------------------------------------
	prize
-------------------------------------------------------------------*/

#prize {
	background: #f6fde1;
	padding: 90px 0;
}

.prizeList li:nth-child(n + 2) {
	margin-top: 30px;
}

@media screen and (max-width: 1024px){
	
	#prize {
		padding: 50px 0;
	}
	
	.prizeList {
		width: 94%;
		margin: 0 auto;
	}
	
}


/*-------------------------------------------------------------------
	subject
-------------------------------------------------------------------*/

#subject {
	padding: 90px 0;	
}


.subFlex {
	display: flex;
	justify-content: space-between;
	margin-bottom: 20px;
}


.subFlex .subSame {
	width: 48%;
}

.subSame dt {
	font-size: 24px;
	line-height: 1.2;
	margin-bottom: 15px;
	font-weight: 400;
}

.subSame dt .redTxt {
	color: #d61518;
}

.subSame .ddFlex {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.ddFlex .ddSame {
	width: 48%;
}

.nonArea {
	display: none;
}

@media screen and (max-width: 1024px){
	
	#subject {
		padding: 50px 0;	
	}
	
	.subFlex {
		display: block;
		margin-bottom: 20px;
	}

	.subFlex .subSame {
		width: auto;
	}
	
	.subFlex .subSame:nth-child(n + 2) {
		margin-top: 20px;
	}
	
	
	.subSame .ddFlex {
		justify-content: center;
	}
	
	.ddFlex figure.ddSame {
		width: auto;
		margin-right: 50px;
	}
	
}


@media screen and (max-width: 640px){
	
	.subSame .ddFlex {
		justify-content: space-between;
	}
	
	.ddFlex figure.ddSame {
		width: 48%;
		margin: 0;
	}
	
}




/*-------------------------------------------------------------------
	application
-------------------------------------------------------------------*/

#application {
	background: #f6fde1;
	padding: 90px 0;
}

#application .leafTitle {
	margin-bottom: 30px;
}

.appWhite {
	padding: 25px 45px;
	background: #fff;
	border-radius: 5px;
}

.appWhite.ext {
	padding: 50px 45px;
}

.appWhite .time {
	font-size: 24px;
}

.cutFlex {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 60px;
}


.cutFlex .ballon {
	position: relative;
	border: 2px solid #9d9d9d;
	padding: 40px 30px;
	border-radius: 5px;
	width: 480px;
	box-sizing: border-box;
	margin-right: 45px;
}

.cutFlex .ballon::before {
	position: absolute;
	content: '';
	border-style: solid;
	border-width: 10px 0 10px 23px;
	border-color: transparent transparent transparent #9d9d9d;
	top: 50%;
	right: -23px;
	transform: translateY(-50%);
}

.cutFlex .ballon::after {
	position: absolute;
	content: '';
	border-style: solid;
	border-width: 10px 0 10px 23px;
	border-color: transparent transparent transparent #fff;
	top: 50%;
	right: -19px;
	transform: translateY(-50%);
}



@media screen and (max-width: 1024px){
	#application {
		padding: 50px 0;
	}
	
	.appWhite {
		padding: 20px 5%;
	}

	.appWhite .time {
		font-size: 20px;
	}
	
	.appWhite.ext {
		padding: 40px 5%;
	}

	.cutFlex {
		display: block;
		margin-top: 40px;
	}


	.cutFlex .ballon {
		position: relative;
		border: 2px solid #9d9d9d;
		padding: 20px 5%;
		border-radius: 5px;
		width: auto;
		box-sizing: border-box;
		margin:0 0 35px;
	}

	.cutFlex .ballon::before {
		position: absolute;
		content: '';
		border-style: solid;
		border-width: 23px 10px 0 10px;
		border-color: #9d9d9d transparent transparent transparent;
		top: auto;
		right: auto;
		left: 50%;
		bottom: -23px;
		transform: translate(-50%,0);
	}
	
	.cutFlex .ballon::after {
		position: absolute;
		content: '';
		border-style: solid;
		border-width: 23px 10px 0 10px;
		border-color: #fff transparent transparent transparent;
		top: auto;
		right: auto;
		left: 50%;
		bottom: -19px;
		transform: translate(-50%,0);
	}

	.cutFlex figure {
		text-align:center; 
	}

}


/*-------------------------------------------------------------------
	faq
-------------------------------------------------------------------*/

#faq {
	padding: 70px 0 120px;
}


.faqFlex {
	display: flex;
	align-items: center;
	line-height: 1.4;
	font-size: 18px;
}



.faqFlex li:first-child {
	margin-right: 20px;
}



.greenFlex {
	background: #e8f5c0;
	padding: 20px;
	display: flex;
}

.greenFlex .answer {
	width: 5%;
	font-size: 30px;
	color: #c11717;
	font-weight: 500;
	line-height: 1.2;
}

.greenFlex dd {
	width: 95%;
	padding-top: 5px;
}

.acWrap {
	margin-bottom: 20px;
}

.acWrap .acTop {
	cursor: pointer;
	position: relative;
}

.acWrap .acTop::before,
.acWrap .acTop::after {
	content: "";
	position: absolute;
	right: 1.25em;
	top: 1.25em;
	width: 2px;
	height: 1.0em;
	background-color: #444140;
	transition: all 0.3s;
}

.acWrap .acTop::after {
	transform: rotate(90deg);
}

.acWrap .acTop.acOpen::before {
	transform: rotate(90deg);
}


.acWrap .acBtm {
	display: none;
	margin-top: 15px;
}

@media screen and (max-width: 1024px){
	
	#faq {
		padding: 50px 0;
	}
	
	.faqFlex {
		font-size: 16px;
	}
	
	.faqFlex.fSt {
		align-items: flex-start;
	}

	.faqFlex li:first-child {
		margin-right: 10px;
		flex-shrink: 0;
		width: 40px;
	}
	
	
	.acWrap .acTop {
		padding-right: 35px;
	}
	
	
	.greenFlex {
		padding: 15px 4%;
	}
	
	.greenFlex .answer {
		width: 8%;
		font-size: 20px;
	}

	.greenFlex dd {
		width: 92%;
		padding-top: 0;
		margin-top: -3px;
	}
	
	
}



/*-------------------------------------------------------------------
	caution
-------------------------------------------------------------------*/

#caution {
	padding: 80px 0 80px;
	background: #f6fde1;
}


#caution a {
	color: #231815;
	text-decoration: none;
}

#caution a:hover {
	text-decoration: underline;
}


.caList {
	position: relative;
	padding-left: 1.5em;
}

.caList span {
	display: block;
}

.caList .kome {
	position: absolute;
	top: 0;
	left: 0;
}


@media screen and (max-width: 1024px){
	#caution {
		padding: 50px 0;
	}
}


/*-------------------------------------------------------------------
	endArea
-------------------------------------------------------------------*/

#endArea {
	background: url("../image/ft_beans.png") bottom right 10% no-repeat #fff;
	border-bottom: 10px solid #fff8c9;
	padding: 60px 0 50px;
}

.marusanLink {
	font-size: 18px;
	color: #333333;
	text-align: center;
	display: inline-block;
	background: #fed900;
	line-height: 1.0;
	padding: 20px 0;
	width: 370px;
	font-weight: 600;
	border-radius: 50px;
	border: 5px solid #fff;
	filter:drop-shadow(1px 2px 5px rgba(0, 0, 0, 0.3));
	text-decoration: none;
}

.snsFlex {
	display: flex;
	justify-content: center;
}


.snsFlex li:nth-child(n + 2) {
	margin-left: 40px;
}

@media screen and (max-width: 767px){
	
	#endArea {
		background-size: auto 70px;
		border-bottom: 5px solid #fff8c9;
		padding: 30px 0 100px;
	}

	.marusanLink {
		font-size: 16px;
		width: 80%;
	}

	.snsFlex {
		display: flex;
		justify-content: center;
	}
	
	.snsFlex li {
		width: 18%;
	}


	.snsFlex li:nth-child(n + 2) {
		margin-left: 5%;
	}
	
	
}


/*-------------------------------------------------------------------
	アコーディオン処理
-------------------------------------------------------------------*/

.accBox {
	
}

.accBox .inTop {
	display: none;
	margin: 0 auto;
	box-sizing: border-box;
	position: relative;
	background: #d5eb93;
	text-align: center;
	line-height: 1.0;
	font-size: 22px;
	padding: 25px 0;
	cursor: pointer;
	color: #133f40;
	font-family: 'M PLUS Rounded 1c';
	font-weight: 600;
}

.accBox .inTop:after,
.accBox .inTop.view.open:after{
	width: 10px;
  height: 10px;
  border: 2px solid;
  border-color:  transparent transparent #133f40 #133f40;
  transform: rotate(-45deg);
	position: absolute;
	top: 35%;
	right: 3%;
	content: '';
}

.accBox .inTop.open:after,
.accBox .inTop.view:after {
	border-color: #133f40 #133f40 transparent transparent;
	top: 44%;
}

.accBox .inBtm {
	display: block;
	width: 100%;
}

@media screen and (max-width: 1024px){
	
	.accBox {
		margin-bottom: 30px;
	}
	
	.accBox .inTop {
		display: block;
	}
	
	.accBox .inBtm {
		display: none;
	}
	
	.accBox .inBtm.view {
		display: block;
	}
}


/* 追加 */

.greenBg {
	background: #f6fde1;
	padding: 60px 0 90px;
	margin-bottom: 70px;
}

.menuTitle01 {
	text-align: center;
	margin-bottom: 20px;
}
.menuTitle02 {
	text-align: center;
	margin-bottom: 45px;
}

.menuImgFlex {
	display: flex;
	justify-content: center;
	margin-bottom: 40px;
}


.menuImgFlex li:nth-child(n + 2) {
	margin-left: 135px;
}

@media screen and (max-width: 1024px){
	
	.greenBg {
		padding: 50px 0;
		margin-bottom: 50px;
	}
	
	
	.menuImgFlex {
		display: block;
		margin-bottom: 40px;
		padding: 0 5%;
	}

	.menuImgFlex li {
		text-align: center;
	}

	.menuImgFlex li:nth-child(n + 2) {
		margin: 40px 0 0;
	}
	
	.greenBg .extra {
		padding: 0 5%;
	}
	
	
}

/*-------------------------------------------------------------------
	container
-------------------------------------------------------------------*/

.spv {
	display: none !important;
}

br.sp {
	display: none;
}

.relaWrap {
	position: relative;
}

.absLink {
	position: absolute;
	/*top: -50px;*/
	top: 0;
	left: 0;
	width: 0;
	height: 0;
}

.pcIn {
	display: inline;
}
.pcBl {
	display: block;
}

.spIn,
.spBl {
	display: none;
}


@media screen and (max-width: 1024px){
	br.pc {
		display: none;
	}
	
	br.sp {
		display: inline;
	}
	
	.pcv {
		display: none !important;
	}

	.spv {
		display: block !important;
	}
	
	.pcIn,
	.pcBl {
		display: none;
	}

	.spIn {
		display: inline;
	}
	.spBl {
		display: block;
	}
	
}


@media(min-width: 1024px){
  
	a[href^="tel:"]{
    pointer-events: none;
  }
	
}

/*-------------------------------------------------------------------
	fadein
-------------------------------------------------------------------*/

.fadein {
	visibility: hidden;
}

	.fadeInDown {
		animation-fill-mode:both;
		animation-duration:3s;
		animation-name: fadeInDown;
		visibility: visible !important;
	}

	@keyframes fadeInDown {
		0% { opacity: 0; transform: translateY(30px); }
		100% { opacity: 1; transform: translateY(0); }
	}

@media screen and (max-width: 1024px){
	
	.fadein {
		visibility: visible !important;
	}
	
}


@media print{
	
	body {
		-webkit-print-color-adjust: exact;
	}
	
	#gheader,
	#gfooter {
		display: none;
	}
	
	#topLead .leadWrap {
		width: 94%;
	}
	
	.inWrap {
		width: 94%;
	}
	
	.apologyBox {
		width: 94%;
	}
	
	.fadein {
		visibility: visible !important;
	}
	
	
	.fadeInDown {
		opacity: 1 !important;
		
		animation-name: none;
    animation-duration: 0s;
    animation-timing-function: ease;
    animation-delay: 0s;
    animation-iteration-count: 1;
    animation-direction: normal;
    animation-fill-mode: none;
    animation-play-state: running;
    animation-timeline: auto;
		
	}
	
	
}
