@charset "utf-8";

/* HOME
-------------------------------------------------------------------*/
.mv{
	background:url(../img/top/mv.jpg) no-repeat top center;
	background-size:cover;
	height:618px;
	position:relative;
}

.mv h1{
	position:absolute;
	left:0;
	right:0;
	margin:0 auto;
	text-align:center;
	top:60px;
}

.campaign{
	text-align:center;
	padding:45px 0;
	background:url(../img/top/campaign-bg.jpg) no-repeat center center;
	background-size:cover;
}

.campaign .box{
	position:relative;
}

.campaign .box .btn{
	position:absolute;
	left:0;
	right:0;
	margin:0 auto;
	text-align:center;
	bottom:50px;
}

.trouble{
	text-align:center;
}

.trouble .box01{
	padding:60px 20px;
	background:url(../img/top/trouble-bg01.jpg) no-repeat center center;
	background-size:cover;
}

.trouble .box01 ul{
	display:inline-block;
	text-align:left;
}

.trouble .box01 ul li{
	color:#fff;
	font-size:20px;
	line-height:1.6;
	letter-spacing:0.1em;
	margin:0 0 10px 0;
	padding:5px 0 5px 40px;
	background:url(../img/top/trouble-ico.png) no-repeat left 15px;
}

.trouble .box01 ul li span{
	color:#FFFF00;
	font-size:24px;
	font-weight:600;
	border-bottom:1px solid #FFFF00;
}

.trouble .box02{
	padding:0 20px 70px 20px;
	background:url(../img/top/trouble-bg02.png) no-repeat center center;
	background-size:cover;
	position:relative;
}

.trouble .box02 h3{
	line-height:0;
}

.trouble .box02 .img{
	position:absolute;
	left:0;
	right:0;
	margin:0 auto;
	text-align:center;
	top:30px;
}

.topic .box01{
	background:url(../img/top/topic-bg01.jpg) no-repeat bottom center;
	background-size:cover;
	text-align:center;
	padding:0 20px 70px 20px;
}

.topic .box01 .txt{
	font-family: "Shippori Mincho B1", serif;
	font-size:18px;
	font-weight:600;
	line-height:1.8;
}

.topic .box01 .txt span{
	font-size:20px;
	color:#B49531;
	font-weight:700;
}

.topic .box01 .txtbox{
	padding:30px 0 0 0;
}

.topic .box01 h3{
	font-family: "Shippori Mincho B1", serif;
	font-size:43px;
	font-weight:600;
	line-height:1.6;
	letter-spacing:0.1em;
}

.topic .box02{
	background:url(../img/top/topic-bg02.jpg) no-repeat center center;
	background-size:cover;
	padding:90px 20px 50px 20px;
}

.topic .box02 .box-in{
	display:flex;
	align-items:center;
	padding:0 0 40px 0;
}

.topic .box02 .box-in dl{
	min-width:490px;
	width:490px;
	box-sizing:border-box;
	padding:0 40px;
	font-family: "Shippori Mincho B1", serif;
	font-weight:600;
	position:relative;
}

.topic .box02 .box-in02 dl{
	order:2;
}

.topic .box02 .box-in dl dt{
	font-size:40px;
	line-height:1.6;
	position:relative;
}

.topic .box02 .box-in dl dt:after{
	content:url(../img/top/topic-subtit01.png);
	position:absolute;
	left:-20px;
	top:-10px;
}

.topic .box02 .box-in02 dl dt:after{
	content:url(../img/top/topic-subtit02.png);
}

.topic .box02 .box-in dl dd{
	font-size:20px;
	line-height:1.8;
	padding:10px 0 0 0;
}

.topic .box03{
	background:url(../img/top/topic-bg03.jpg) no-repeat right center;
	background-size:cover;
	padding:90px 20px;
}

.topic .box03 h3{
	width:640px;
	text-align:center;
}


h2.m-tit{
	text-align:center;
	font-family: "Shippori Mincho B1", serif;
	font-weight:600;
	font-size:40px;
}

h2.m-tit span{
	color:#B49531;
	font-family: "Cormorant", serif;
	font-size:20px;
	display:block;
}

.voice .box01{
	background:url(../img/top/voice-bg.jpg) no-repeat top center;
	background-size:cover;
	padding:90px 20px 150px 20px;
}

.voice .box01 ul{
	width:860px;
	margin:0 auto;
}

.voice .box01 ul li{
	width:700px;
	box-sizing:border-box;
	padding:10px;
	background: #fff;
	box-shadow: 0px 0px 24px rgba(245, 116, 116, 0.14);
	margin:30px 0 0 0;
	position:relative;
}

.voice .box01 ul li:nth-child(even){
	margin:30px 0 0 160px;
}

.voice .box01 ul li h3{
	position:absolute;
	left:-40px;
	top:-40px;
}

.voice .box01 ul li:nth-child(even) h3{
	position:absolute;
	right:-40px;
	left:auto;
}

.voice .box01 ul li .txt-box{
	border:1px solid #DCDCDC;
	display:flex;
	align-items:center;
	padding:10px;
	height:200px;
	box-sizing:border-box;
	position:relative;
}

.voice .box01 ul li .txt-box .img{
	min-width:165px;
	margin:0 30px 0 0;
}

.voice .box01 ul li .txt-box .txt{
	font-size:18px;
	line-height:1.6;
	font-family: "Noto Serif JP", serif;
	font-weight:700;
}

.voice .box01 ul li .txt-box .name{
	font-size:14px;
	font-family: "Noto Serif JP", serif;
	position:absolute;
	bottom:30px;
	right:20px;
}

.voice .box02{
	background:url(../img/top/voice-bg03.png) no-repeat bottom center;
	background-size:cover;
	padding:30px 20px 100px 20px;
	text-align:center;
}

.voice .box02 h3{
	position:relative;
	padding:60px 0;
	margin:-80px 0 0 0;
}

.voice .box02 h3 span{
	position:relative;
	z-index:2;
}

.voice .box02 h3:after{
	content:url(../img/top/voice-bg02.png);
	position:absolute;
	left:-20px;
	right:0;
	top:0;
}

.voice .box02 .img{
	padding:30px 0 0 0;
}

.voice .box02 .kome{
	padding:10px 0 0 0;
	text-align:right;
	font-family: "Noto Serif JP", serif;
}

.reason h2{
	background: linear-gradient(to top, #f3d4aa 0%, #fff 100%);
	padding:70px 0 60px 0;
	position:relative;
}

.reason h2:after{
	content:"";
	position:absolute;
	left:0;
	right:0;
	margin:0 auto;
	bottom:-40px;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 75px solid transparent;
	border-left: 75px solid transparent;
	border-top: 40px solid #f3d4aa;
	border-bottom: 0;
}

.reason .box01{
	background:url(../img/top/reason-bg01.png) no-repeat right center;
	padding:110px 0 60px 20px;
}

.reason h3{
	position:relative;
}

.reason h3:after{
	content:url(../img/top/reason-num01.png);
	position:absolute;
	left:-160px;
	top:-90px;
}

.reason .box03 h3:after{
	content:url(../img/top/reason-num02.png);
}

.reason .box-in .txt{
	font-size:20px;
	line-height:1.6;
	font-family: "Noto Serif JP", serif;
	font-weight:600;
	padding:20px 0 0 0;
}

.reason .box02{
	background:url(../img/top/reason-bg02.png) no-repeat top center;
	padding:90px 20px 60px 20px;
	background-size:cover;
}

.reason .txt-box{
	width:940px;
	margin:0 auto;
	background: #fff;
	filter: drop-shadow(0px 0px 24px rgba(180, 149, 49, 0.1));
	position:relative;
}

.reason .txt-box h4{
	position:absolute;
	top:-25px;
	left:0;
	right:0;
	margin:0 auto;
	text-align:center;
}

.reason .txt-box .arrow{
	position:absolute;
	bottom:-25px;
	left:0;
	right:0;
	margin:0 auto;
	text-align:center;
}

.reason .txt-in{
	display:flex;
	justify-content:space-between;
	align-items:center;
	padding:50px 40px 40px 40px;
}

.reason .box04 .txt-in .img{
	order:2;
}

.reason .txt-in .txt{
	width:400px;
}

.reason .txt-in .txt em{
	font-size:18px;
	display:block;
}

.reason .txt-in .min-txt{
	font-family: "Noto Serif JP", serif;
	padding:15px 0 0 0;
	font-weight:600;
}

.reason .txt-in ul li{
	font-size:20px;
	line-height:1.6;
	margin:5px 0;
	padding:5px 0 5px 40px;
	font-family: "Noto Serif JP", serif;
	background:url(../img/top/reason-ico.png) no-repeat left 10px;
	font-weight:600;
}

.reason .txt-in ul li span{
	color:#B49531;
	font-weight:700;
}

.reason h5{
	text-align:center;
	padding:50px 0 0 0;
}

.reason .box03{
	padding:90px 20px 40px 0;
	background:url(../img/top/reason-bg03.png) no-repeat left center;
}

.reason .box03 .box-in{
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-end;
}

.reason .box03 h3{
	width:660px;
}

.reason .box03 .txt{
	width:660px;
}

.reason .box04{
	background:url(../img/top/reason-bg04.png) no-repeat top center;
	padding:90px 20px 60px 20px;
	background-size:cover;
}

.reason .box05{
	padding:120px 20px;
	background:url(../img/top/reason-bg05.png) no-repeat center center;
	background-size:cover;
	text-align:center;
}

.reason .box06{
	padding:90px 20px;
	background:url(../img/top/reason-bg06.png) no-repeat center center;
	background-size:cover;
	text-align:center;
}

.reason .box06 h4{
	font-family: "Shippori Mincho B1", serif;
	font-weight:600;
	font-size:32px;
}

.reason .box06 ul{
	display:flex;
	justify-content:space-between;
	padding:40px 0 0 0;
}

.reason .box06 ul li{
	width:240px;
}

.reason .box06 ul li .txt{
	font-size:18px;
	font-weight:600;
	font-family: "Noto Serif JP", serif;
	line-height:1.4;
	padding:20px 0 0 0;
}

.faq{
	padding:70px 20px 100px 20px;
	background:url(../img/top/faq-bg.jpg) no-repeat center center;
	background-size:cover;
}

.faq .box{
	padding:20px 0 0 0;
}

.faq dl{
	font-family: "Noto Serif JP", serif;
	margin:40px 0 0 0;
	background: #fff;
	filter: drop-shadow(0px 3px 12px rgba(71, 61, 50, 0.1));
}

.faq dl dt{
	font-size:24px;
	font-weight:600;
	color:#fff;
	background:#283E74;
	padding:20px 40px 20px 105px;
	position:relative;
}

.faq dl dt:after{
	content:"Q.";
	position:absolute;
	left:40px;
	top:0;
	font-family: "Cormorant", serif;
	font-size:45px;
}

.faq dl dd{
	padding:20px 40px 20px 105px;
	position:relative;
	font-size:18px;
	font-weight:600;
}

.faq dl dd:after{
	content:"A.";
	position:absolute;
	left:40px;
	top:0;
	font-family: "Cormorant", serif;
	font-size:45px;
	color:#B49531;
}

.campaign02{
	padding:70px 20px;
	background:url(../img/top/campaign02-bg.jpg) no-repeat center center;
	background-size:cover;
	text-align:center;
}

.message{
	padding:70px 20px;
	background:url(../img/top/message-bg.png) no-repeat center center;
	background-size:cover;
	position:relative;
}

.message .box{
	display:flex;
	justify-content:center;
	padding:50px 0 0 0;
}

.message .box .img-box{
	text-align:center;
	font-family: "Shippori Mincho B1", serif;
	padding:0 50px 0 0;
	font-weight:600;
}

.message .box .img-box h3 span{
	display:block;
	font-size:14px;
	padding:20px 0 0 0;
}

.message .box .txt{
	width:514px;
	line-height:2;
	font-weight:600;
	font-family: "Noto Serif JP", serif;
}

.company{
	padding:70px 20px;
	position:relative;
}

.company:after{
	content:"";
	width:100%;
	height:260px;
	position:absolute;
	left:0;
	right:0;
	top:0;
	background: linear-gradient(to top, rgba(255, 255, 255, 0) 0%, #f1f1f1 100%);
	z-index:-1;
}

.company .box-in{
	margin:50px auto 0;
	width:700px;
	font-family: "Noto Serif JP", serif;
}

.company .box-in dl{
	padding:30px 0;
	border-bottom:1px solid #C9C9C9;
	display:flex;
	font-weight:600;
}

.company .box-in dl:first-child{
	border-top:1px solid #C9C9C9;
}

.company .box-in dl dt{
	padding:0 0 0 40px;
	line-height:1.6;
	min-width:180px;
	box-sizing:border-box;
}

.company .box-in dl dd{
	line-height:1.6;
}



@media screen and (max-width: 800px) {
.mv{
	background:none;
	height:auto;
	position:relative;
	z-index:2;
}

.mv h1{
	position:static;
}

.campaign{
	padding:0;
	background:none;
	margin:-10% 0 0 0;
}

.campaign .box .btn{
	width:80%;
	bottom:15%;
}

.trouble{
	text-align:center;
}

.trouble .box01{
	background:url(../img/top/sp/trouble-bg01.jpg) no-repeat center center;
	background-size:cover;
}

.trouble .box01 h2{
	max-width:310px;
	margin:0 auto;
}

.trouble .box01 ul{
	padding:20px 0 0 0;
}

.trouble .box01 ul li{
	font-size:18px;
	padding:5px 0 5px 40px;
	background:url(../img/top/sp/trouble-ico.png) no-repeat left 15px;
	background-size:30px;
}

.trouble .box01 ul li span{
	font-size:22px;
}

.trouble .box02{
	padding:0 20px 60px 20px;
	background:url(../img/top/sp/trouble-bg02.png) no-repeat center center;
	background-size:cover;
}

.trouble .box02 h3{
	max-width:340px;
	margin:0 auto;
}

.trouble .box02 .txt{
	max-width:340px;
	margin:0 auto 30px;
}

.trouble .box02 .img{
	position:static;
	max-width:300px;
}

.topic .box01{
	background:url(../img/top/sp/topic-bg01.png) no-repeat bottom center;
	background-size:cover;
	padding:0 20px 60px 20px;
}

.topic .box01 h2{
	max-width:500px;
	margin:0 auto;
	padding:50px 0 20px 0;
}

.topic .box01 .txt{
	font-size:16px;
	text-align:left;
}

.topic .box01 .txt span{
	font-size:18px;
}

.topic .box01 .txtbox{
	padding:20px 0 0 0;
	max-width:500px;
	margin:0 auto;
}

.topic .box01 h3{
	font-size: clamp(18px, 6vw, 28px);
}

.topic .box02{
	background:url(../img/top/sp/topic-bg02.png) no-repeat center center;
	background-size:cover;
	padding:60px 20px 20px 20px;
}

.topic .box02 .box-in{
	display:block;
	padding:0 0 40px 0;
}

.topic .box02 .box-in .img{
	text-align:center;
}

.topic .box02 .box-in dl{
	min-width:inherit;
	width:100%;
	padding:0 20px;
	box-sizing:border-box;
}

.topic .box02 .box-in dl dt{
	font-size:34px;
}

.topic .box02 .box-in dl dt:after{
	content:url(../img/top/sp/topic-subtit01.svg);
}

.topic .box02 .box-in02 dl dt:after{
	content:url(../img/top/sp/topic-subtit02.svg);
}

.topic .box02 .box-in dl dd{
	font-size:16px;
	line-height:1.8;
	padding:5px 0 20px 0;
}

.topic .box03{
	background:none;
	padding:0;
}

.topic .box03 h3{
	width:100%;
}

h2.m-tit{
	font-size:32px;
}

h2.m-tit span{
	font-size:16px;
}

.voice .box01{
	background:url(../img/top/sp/voice-bg.png) no-repeat top center;
	background-size:cover;
	padding:60px 20px 100px 20px;
}

.voice .box01 ul{
	width:100%;
}

.voice .box01 ul li{
	width:100%;
	margin:30px 0 0 0;
}

.voice .box01 ul li:nth-child(even){
	margin:30px 0 0 0;
}

.voice .box01 ul li h3{
	left:2px;
	top:-20px;
	width:160px;
}

.voice .box01 ul li:nth-child(even) h3{
	right:auto;
	left:5px;
}

.voice .box01 ul li .txt-box{
	display:block;
	padding:10px;
	height:auto;
}

.voice .box01 ul li .txt-box .img{
	min-width:inherit;
	max-width:135px;
	margin:0 auto 10px;
}

.voice .box01 ul li .txt-box .txt{
	font-size:16px;
}

.voice .box01 ul li .txt-box .name{
	position:static;
	text-align:right;
	padding:10px 0 0 0;
}

.voice .box02{
	background:url(../img/top/sp/voice-bg03.png) no-repeat center center;
	background-size:cover;
	padding:30px 30px 60px 30px;
}

.voice .box02 h3{
	padding:55px 0 60px 0;
	margin:-60px 0 0 0;
}

.voice .box02 h3 span{
	width:250px;
	display:block;
	margin:0 auto;
}

.voice .box02 h3:after{
	content:url(../img/top/sp/voice-bg02.png);
	left:-30px;
}

.voice .box02 .img{
	padding:0;
}

.voice .box02 .kome{
	padding:10px 0 0 0;
	font-size:10px;
}

.reason h2{
	padding:40px 0 30px 0;
}

.reason h2:after{
	bottom:-20px;
	border-right: 35px solid transparent;
	border-left: 35px solid transparent;
	border-top: 20px solid #f3d4aa;
}

.reason .box01{
	background:none;
	padding:0;
}

.reason h3{
	max-width:280px;
	margin:30px auto 20px;
}

.reason h3:after{
	display:none;
}

.reason .box-in .txt{
	font-size:16px;
	padding:0;
	text-align:center;
}

.reason .box02{
	background:url(../img/top/sp/reason-bg02.png) no-repeat top center;
	padding:80px 20px 60px 20px;
	background-size:cover;
}

.reason .txt-box{
	width:100%;
}

.reason .txt-box h4{
	top:-35px;
	max-width:310px;
}

.reason .box04 .txt-box h4{
	top:-25px;
}

.reason .txt-in{
	display:block;
	padding:60px 20px 20px 20px;
}

.reason .txt-in .txt{
	width:100%;
}

.reason .txt-in .txt em{
	font-size:14px;
}

.reason .txt-in .min-txt{
	padding:10px 0 0 0;
}

.reason .txt-in ul{
	padding:10px 0 0 0;
}

.reason .txt-in ul li{
	font-size:16px;
	padding:5px 0 5px 35px;
	background:url(../img/top/sp/reason-ico.png) no-repeat left 10px;
	background-size:28px;
}

.reason .txt-in ul li span{
	font-size:18px;
}

.reason h5{
	padding:50px 0 0 0;
	width:240px;
	margin:0 auto;
}

.reason .box03{
	padding:0;
	background:none;
}

.reason .box03 .box-in{
	display:block;
}

.reason .box03 h3{
	width:100%;
	margin:0;
	max-width:inherit;
}

.reason .box03 .txt{
	width:100%;
	line-height:1.8;
	padding:30px 20px;
	text-align:left;
}

.reason .box04{
	background:url(../img/top/sp/reason-bg04.png) no-repeat top center;
	padding:60px 20px 60px 20px;
	background-size:cover;
}

.reason .box05{
	padding:0;
	background:none;
}

.reason .box06{
	padding:60px 20px 40px 20px;
	background:url(../img/top/sp/reason-bg06.png) no-repeat center center;
	background-size:cover;
}

.reason .box06 h4{
	font-size:26px;
}

.reason .box06 ul{
	flex-wrap:wrap;
	padding:30px 0 0 0;
}

.reason .box06 ul li{
	width:49%;
	padding:0 0 20px 0;
}

.reason .box06 ul li .txt{
	font-size:14px;
	padding:10px 0 0 0;
	text-align:left;
}

.faq{
	padding:60px 20px;
	background:url(../img/top/sp/faq-bg.png) no-repeat center center;
	background-size:cover;
}

.faq .box{
	padding:20px 0 0 0;
}

.faq dl{
	margin:20px 0 0 0;
}

.faq dl dt{
	font-size:20px;
	padding:15px 40px 15px 65px;
}

.faq dl dt:after{
	left:20px;
	font-size:36px;
}

.faq dl dd{
	padding:15px 40px 15px 65px;
	font-size:16px;
}

.faq dl dd:after{
	left:20px;
	font-size:36px;
}

.campaign02{
	padding:0;
	background:none;
	position:relative;
}

.campaign02 .btn{
	position:absolute;
	left:0;
	right:0;
	bottom: 10%;
	margin:0 auto;
	width: 80%;
}

.message{
	padding:60px 20px;
	background:url(../img/top/sp/message-bg.png) no-repeat top center;
	background-size:contain;
}

.message .box{
	flex-wrap:wrap;
	padding:30px 0 0 0;
}

.message .box .img-box{
	padding:30px 0 0 0;
	font-size:16px;
	order:2;
}

.message .box .txt{
	width:100%;
}

.company{
	padding:60px 20px;
}

.company:after{
	height:165px;
}

.company .box-in{
	margin:30px auto 0;
	width:100%;
}

.company .box-in dl{
	padding:20px 0;
}

.company .box-in dl dt{
	padding:0;
	min-width:125px;
}
}