@charset "UTF-8";

.infoFirst{
	background: url(../img/index/bg_pattern_flowerWH.webp) repeat 0 0 / 160px auto, linear-gradient(to bottom, #fff 30%, var(--pale) 100%) 0 0 / 100% 100%;
	padding-bottom: 90px;
}
.infoFirst .firstInner{
	margin: 60px auto 70px;
}
@media screen and (max-width: 768px){
	.infoFirst{
		background: url(../img/index/bg_pattern_flowerWH.webp) repeat 0 0 / 120px auto, linear-gradient(to bottom, #fff 12%, var(--pale) 100%) 0 0 / 100% 100%;
		padding-bottom: 60px;
	}
	.infoFirst .firstInner{
		margin: 30px auto 40px;
	}
}
@media screen and (max-width: 450px){
	.infoFirst .firstInner{
		margin: 25px auto 40px;
	}
}


.infoWrap h4{
	text-align: center;
	font-size: var(--fsMiddle);
	line-height: 1.8em;
	margin-bottom: 50px;
}
.infoBtnWrap{
	text-align: center;
}
.infoBtn{
	width: 300px;
	text-align: center;
	text-decoration: none;
	display: inline-block;
	padding: 15px 0;
	border-radius: 50px;
	letter-spacing: 0.125em;
	font-size: 1.0725em;
	color: #fff;
	position: relative;
	transition: 0.8s;
	margin: 0 auto;
}
.infoBtn:hover{
	opacity: 0.7;
	color: #fff;
}
.infoBtn:visited{
	color: #fff;
}
.infoBtn span{
	margin-left: -10px;
}
.infoBtn span::before,
.infoBtn span::after{
	content: "";
	position: absolute;
	right: 30px;
	width: 10px;
	height: 3px;
	display: inline-block;
	border-radius: 3px;
	background: #fff;
	z-index: 2;
}
.infoBtn span::before{
	top: calc(50% - 3px);
	transform: translateY(-50%) rotate(45deg);
}
.infoBtn span::after{
	top: calc(50% + 3px);
	transform: translateY(-50%) rotate(-45deg);
}
.infoBtn{	
	background: var(--liner);
}
@media screen and (max-width: 768px){
	.infoBtn{
		width: 280px;
		padding: 12px 0;
	}
	.infoBtn span{
		margin-left: 0;
	}
	.infoBtn span::before,
	.infoBtn span::after{
		right: 20px;
	}
}
@media screen and (max-width: 450px){
	.infoWrap h4{
		margin-bottom: 30px;
	}
	.infoBtn{
		width: 200px;
		padding: 8px 0;
	}
	.infoBtn span{
		margin-left: 0;
	}
	.infoBtn span::before,
	.infoBtn span::after{
		right: 20px;
	}
}


/* support */

.supportList ul{
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 15px;
}
.supportList ul li{
	width: 100%;
	background: #fff;
	box-shadow: 3px 3px 5px #efefef;
	border-radius: 18px;
	position: relative;
    overflow: hidden;
}
.supportList ul li:nth-of-type(even){
	margin: 30px 0 -30px;
}
.supportList ul li img{
	width: 100%;
	border-radius: 15px 15px 0 0;
}
.supportListInner{
	position: relative;
	padding: 40px 30px 30px;
}
.supportListTtl::before{
	content: "";
	width: 8px;
	display: block;
	aspect-ratio: 1;
	clip-path: polygon(0 100%,100% 0,100% 100%);
	background: var(--deep);	
}
.supportListTtl{
	position: absolute;
	top: -75px;
	left: -8px;
}
.supportListTtl h5,
.supportListTtl h6{
	font-family: var(--marugo);
	font-weight: 500;
	padding: 8px 25px 8px 35px;
	display: inline-block;
}
.supportListTtl h5{
	background: var(--liner);
	color: #fff;
	font-size: var(--fsMiddle);
}
.supportListTtl h6{
	background: var(--pale);
	color: var(--base);
	font-size: var(--fsBase);
	display: inherit;
}
.supportList p{
	margin-bottom: 40px;
	font-size: var(--fsSmall);
}
.supportList .btnSmall{
	text-align: right;
}
@media screen and (max-width: 1100px){
	.supportList ul{
		font-size: 0.85em;
		gap: 10px;
	}
	.supportListTtl h5,
	.supportListTtl h6{
		padding: 8px 20px 8px 30px;
	}
	.supportListTtl h5{
		font-size: var(--fsBase);
	}
	.supportListTtl h6{
		font-size: var(--fsSmall);
	}
	.supportList p{
		margin-bottom: 20px;
		line-height: 1.8em;
		font-size: inherit;
	}
}
@media screen and (max-width: 880px){
	.supportList ul{
		font-size: 0.85em;
		flex-wrap: wrap;
		gap: 15px;
		justify-content: center;
	}
	.supportList ul li{
		width: 45%;
	}
	.supportList ul li:nth-of-type(even){
		margin: 0;
	}
	.supportListTtl h5,
	.supportListTtl h6{
		padding: 8px 25px 8px 35px;
	}
	.supportListTtl h5{
		font-size: var(--fsLarge);
	}
	.supportListTtl h6{
		font-size: var(--fsMiddle);
	}
	.supportList p{
		margin-bottom: 30px;
		font-size: inherit;
	}
}
@media screen and (max-width: 750px){
	.supportListInner{
		padding: 40px 30px 30px;
	}
	.supportList ul{
		font-size: inherit;
		max-width: 450px;
		margin: 0 auto;
	}
	.supportList ul li{
		width: 100%;
	}
	.supportListTtl h5,
	.supportListTtl h6{
		padding: 8px 25px 8px 35px;
	}
	.supportList p{
		line-height: 1.75em;
	}
}
@media screen and (max-width: 450px){
	.supportList ul{
		width: 90%;
	}
	.supportListTtl h5,
	.supportListTtl h6{
		padding: 8px 25px 8px 32px;
	}
}
@media screen and (max-width: 375px){
	.supportListTtl h5,
	.supportListTtl h6{
		padding: 7px 22px 8px 30px;
	}
}


/* report */

.reportWrap{
	margin: 0 auto 180px;
	width: 90%;
	max-width: 850px;
	background: #fff;
	border-radius: 30px;
	padding: 40px 90px 50px;
	box-sizing: border-box;
	border: solid 1px var(--base);
	box-shadow: 3px 3px 5px #efefef;
}
.reportWrap h5{
	text-align: center;
	font-size: var(--fsXLarge);
}
.reportWrap img{
	width: 100%;
}
.reportExplain{
	margin: 0 0 40px;
	font-size: 1em;
	line-height: 1.8rem;
}
.reportExplain p:not(:last-child){
	margin-bottom: 15px;
}
.reportWrap ul{
	margin-top: 25px;
	display: flex;
	align-items: stretch;
	flex-wrap: nowrap; 
	gap: 30px;
}
.reportWrap ul li{
	width: 100%;
}
.reportWrap ul li h6{
	font-weight: 500;
	font-size: var(--fsBase);
	border-bottom: solid 1px var(--base);
	line-height: 22px;
	margin-bottom: 5px;
	display: flex;
	padding-bottom: 5px;
}
.reportWrap ul li h6::before{
	content: "";
	display: inline-block;
	background: var(--base);
	width: 5px;
	height: 22px;
	margin-right: 10px;
}
.reportWrap ul li p{
	font-size: 0.875em;
	line-height: 1.6em;
}
@media screen and (max-width: 900px){
	.reportWrap{
		padding: 40px 40px 50px;
	}
}
@media screen and (max-width: 768px){
	.reportWrap{
		padding: 30px 30px 50px;
	}
	.reportExplain{
		margin: 20px 0 25px;
		line-height: 1.5rem;
	}
	.reportWrap ul{
		flex-wrap: wrap; 
		gap: 25px;
	}
}
@media screen and (max-width: 450px){
	.reportWrap{
		margin: 0 auto 130px;
		padding: 30px 30px 40px;
	}
	.reportExplain{
		margin: -15px 0 30px;
	}
	.reportExplain p{
		font-size: 0.96em;
		line-height: 1.4rem;
	}
	.reportExplain p:not(:last-child){
		margin-bottom: 10px;
	}
	.reportWrap ul{
		gap: 20px;
	}
	.reportWrap ul li h6{
		margin-bottom: 5px;
	}
}
@media screen and (max-width: 375px){
	.reportWrap{
		margin: 0 auto 130px;
		padding: 30px 20px 40px;
	}
}


/* voice */

.voiceWrap{
	background: #efefef;
	padding-bottom: 120px;
}
.voiceList{
	margin: 50px auto;
	display: flex;
	justify-content: center;
	align-items: stretch;
	flex-wrap: nowrap;
	width: 100%;
}
.voiceList article{
	width: 100%;
	position: relative;
}
.voiceLetter{
	width: calc(100% - 30px);
	background: #fff;
	box-shadow: 1px 1px 10px #dfdfdf;
	box-sizing: border-box;
	padding: 40px 40px 180px;
	margin: 0 auto;
}
.voiceLetter h6{
	font-size: var(--fsLarge);
	font-family: var(--aralet);
	color: #80420d;
	text-align: center;
	line-height: 1.6em;
}
.voiceLetter h6::after{
	content: "";
	display: block;
	background: url("../img/info/letterLine.svg") 50% 38% / 18% no-repeat;
	width: 100%;
	height: 40px;
	padding: 25px 0;
	box-sizing: border-box;
}
.voiceLetterInner{
	padding: 0 5px 0;
	letter-spacing: 0;
	background: #fff;
	background-image: linear-gradient(360deg, #efefef 1px, transparent 1px);
	background-size: 100% 2.0rem;
	line-height: 2.0rem;
}
.voiceLetterInner p{
	font-size: var(--fsSmall);
	text-indent: 1em;
}
.voiceStampWrap{
	position: absolute;
	z-index: 2;
	right: 30px;
	bottom: 70px;
}
.voiceStamp{
	position: relative;
	margin: 0;
	padding: 8px;
	width: 100px;
	height: 100px;
	border: 5px double #8e6e54;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
	text-align: center;
	-webkit-transform: rotate(-16deg);
	-ms-transform: rotate(-16deg);
	transform: rotate(-16deg);
	line-height: 1.925em;
}
.voiceStamp::before{
	content: "";
	position: absolute;
	top: 12%;
	left: 41%;
	display: block;
	box-sizing: border-box;
	background: url("../img/info/stampHibakichi.svg") top center / 100% no-repeat;
	width: 23px;
	height: 35px;
	line-height: 1;
}
.voiceStamp::after{
	content: "";
	position: absolute;
	bottom: 34%;
	left: 10%;
	display: block;
	padding: 6px 0 0;
	border-top: 1px solid #8e6e54;
	width: 80%;
	line-height: 1;
}
.voiceStamp p{
	color: #8e6e54;
	font-size: 0.8rem;
	font-weight: 500;
}
.voiceStamp p:first-child{
	margin-top: 30px;
}
.voiceStamp p:last-child span{
	font-size: 0.95rem;
	padding-right: 2px;
}
.voiceList article::before,
.voiceList article::after{
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	width: calc( 100% - 10px );
	aspect-ratio: 3.5/1;
	background: var(--linerBL);
	z-index: 1;
}
.voiceList article::before{
	clip-path: polygon(0 100%,0 0,100% 100%);
	left: 5px;
}
.voiceList article::after{
	clip-path: polygon(0 100%,100% 0,100% 100%);
	right: 5px;
}
.voiceList1{
	margin-left: -15px;
}
.voiceList2{
	margin: -100px 0 0 15px;
}
@media screen and (max-width: 1000px){
	.voiceLetterInner{
		padding: 0 2px 0;
	}
	.voiceLetterInner p{
		font-size: 0.9rem;
	}
}
@media screen and (max-width: 900px){
	.voiceLetter{
		padding: 40px 30px 170px;
	}
	.voiceLetterInner{
		padding: 0 2px 0;
		background-size: 100% 1.9rem;
		line-height: 1.9rem;
	}
	.voiceLetterInner p{
		font-size: 0.8rem;
	}
	.voiceStampWrap{
		bottom: 55px;
	}
	.voiceStamp{
		width: 95px;
		height: 95px;
		line-height: 1.75em;
	}
	.voiceStamp::before{
		width: 23px;
		height: 35px;
	}
	.voiceStamp::after{
		bottom: 33%;
		left: 10%;
	}
	.voiceStamp p{
		font-size: 0.75rem;
	}
	.voiceStamp p:first-child{
		margin-top: 30px;
	}
	.voiceStamp p:last-child span{
		font-size: 0.8rem;
		padding-right: 2px;
	}
}
@media screen and (max-width: 800px){
	.voiceLetter{
		width: calc( 100% - 30px );
		padding: 50px 60px 180px;
	}
	.voiceList{
		margin: 40px auto;
		flex-wrap: wrap;
		width: 100%;
		gap: 15px;
	}
	.voiceList article{
		max-width: 600px;
	}
	.voiceLetterInner{
		background-size: 100% 2rem;
		line-height: 2rem;
	}
	.voiceLetterInner p{
		font-size: 0.925rem;
	}
	.voiceLetter h6{
		line-height: 1.6em;
		padding-bottom: 5px;
	}
	.voiceList1{
		margin-bottom: 15px;
	}
	.voiceList2{
		margin: 0;
	}
}
@media screen and (max-width: 768px){
	.voiceStamp{
		line-height: 2em;
	}
}
@media screen and (max-width: 600px){
	.voiceLetter{
		padding: 50px 40px 180px;
	}
	.voiceLetterInner p{
		font-size: 0.875rem;
	}
	.voiceStampWrap{
		bottom: 60px;
	}
}
@media screen and (max-width: 450px){
	.voiceWrap{
		padding-bottom: 90px;
	}
	.voiceList{
		width: calc( 100% + 14px );
		margin: 30px 0 0 -7px;
	}
	.voiceLetter{
		width: calc( 100% - 25px );
		padding: 40px 30px 140px;
	}
	.voiceLetterInner{
		background-size: 100% 1.9rem;
		line-height: 1.9rem;
	}
	.voiceLetterInner p{
		font-size: 0.8rem;
	}
	.voiceLetter h6{
		font-size: var(--fsLarge);
	}
	.voiceStampWrap{
		bottom: 30px;
	}
}
@media screen and (max-width: 400px){
	.voiceLetter{
		width: calc( 100% - 25px );
		padding: 30px 22px 140px;
	}
	.voiceLetter h6::after{
		padding: 22px 0 0;
	}
	.voiceLetterInner{
		background-size: 100% 1.75rem;
		line-height: 1.75rem;
	}
	.voiceLetterInner p{
		font-size: 0.715rem;
	}
	.voiceStampWrap{
		bottom: 30px;
	}
	.voiceStamp{
		width: 85px;
		height: 85px;
		border: 4px double #8e6e54;
		line-height: 1.725em;
	}
	.voiceStamp::before{
		width: 20px;
		height: 32px;
	}
	.voiceStamp p{
		font-size: 0.675rem;
	}
	.voiceStamp p:last-child span{
		font-size: 0.75rem;
	}
}


/* qa */

.qaWrap{
	margin: 0!important;
}
.qaList{
	width: 80%;
	max-width: 850px;
	margin: 70px auto 0;
}
.qaList li{
	width: 100%;
	background: #fff;
	border-radius: 20px;
	position: relative;
	box-sizing: border-box;
	padding: 40px 70px;
	margin-bottom: 45px;
}
.qaList li::before,
.qaList li::after{
	position: absolute;
}
.qaList li::before{
	content: "";
	background: var(--liner);
	width: 75px;
	height: 75px;
	border-radius: 50%;
	display: inline-block;
	top: -25px;
	left: -25px;
}
.qaList li::after{
	content: "Q.";
	font-size: var(--fsXXLarge);
	color: #fff;
	font-weight: 500;
	top: -3px;
	left: -1px;
}
.qaList li h6{
	color: var(--base);
	font-family: var(--marugo);
	font-weight: 500;
	font-size: var(--fsLarge);
	line-height: 2rem;
	margin-bottom: 15px;
}
.qaList li p{
	font-size: var(--fsSmall);
	line-height: 1.6rem;
}
.qaList li p a{
	font-weight: 500;
	margin: 0 3px;
}
.qaList li p a:hover{
	color: var(--dark);
}
@media screen and (max-width: 768px){
	.qaList{
		width: 92%;
		max-width: inherit;
		margin: 30px auto;
	}
	.qaList li{
		width: calc( 100% - 20px );
		padding: 35px 40px 35px 50px;
		margin: 0 0 20px 20px;
	}
	.qaList li:last-of-type{
		margin: 0 0 0 20px;
	}
	.qaList li::before{
		width: 65px;
		height: 65px;
		top: -10px;
		left: -30px;
	}
	.qaList li::after{
		font-size: 1.8rem;
		top: 3px;
		left: -10px;
	}
	.qaList li h6{
		line-height: 1.7rem;
		margin-bottom: 7px;
	}
	.qaList li p{
		font-size: var(--fsSmall);
		line-height: 1.3rem;
	}
}
@media screen and (max-width: 450px){
	.qaList{
		width: calc( 100% - 20px );
		max-width: inherit;
		margin: 30px auto 0;
	}
	.qaList li{
		width: calc( 100% - 20px );
		padding: 34px 34px 34px 47px;
		margin: 0 0 20px 15px;
	}
	.qaList li:last-of-type{
		margin: 0 0 0 15px;
	}
	.qaList li::before{
		width: 62px;
		height: 62px;
		top: -13px;
		left: -23px;
	}
	.qaList li::after{
		font-size: 1.65rem;
		top: 3px;
		left: -6px;
	}
	.qaList li h6{
		line-height: 1.7rem;
		margin-bottom: 7px;
	}
	.qaList li p{
		font-size: var(--fsSmall);
		line-height: 1.3rem;
	}
}