@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#main .fixUl {
	position: fixed;
	right: 0;
	top: 98px;
	z-index: 50;
}
#main .mainVisual img {
	width: 100%;
}
#main .fixUl li {
	margin-bottom: 10px;
}
#main .fixUl li:last-child {
	margin-bottom: 0;
}
#main .textImg {
	padding: 42px 0 35px; 
	background-color: #FF0000;
}
#main .textImg img {
	width: 100%;
}
#main .linkBox {
	padding: 22px 0 33px;
	background : #FFF2CA;
}
#main .linkBox .content {
	max-width: 1002px;
}
#main .linkBox .h2Ttl {
	margin-bottom: 18px;
	font-size: 4.2rem;
	font-weight: 800;
	text-align: center;
	color: #FF0000;
}
#main .linkBox .linkUl {
	margin: -10px 0 20px;
}
#main .linkBox .linkUl li {
	margin: 10px 20px 0 0;
	width: 235px;
	box-sizing: border-box;
	border-radius: 20px;
}
#main .linkBox .linkUl li a {
	font-size: 3rem;
	line-height: 1.26;
	text-align: center;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	color: #FF7E00;
	background-color: #FF7E00;
	border: 7px solid #FF7E00;
	border-radius : 15px;
}
#main .linkBox .linkUl li a span {
	padding: 10px 5px 9px;
	display: inline-block;
	background-color: #FFF;
	width: 235px;
	border-radius: 16px;
	box-sizing: border-box;
}
#main .linkBox .linkUl li:nth-child(4n) {
	margin-right: 0;
}
#main .feeBox {
	overflow: hidden;
	position: relative;
}
#main .feeBox .topBox {
	width: 100%;
	position: absolute;
	top: 1.34vw;
	text-align: center;
	z-index: 2;
}
#main .feeBox .h2Ttl {
	margin-bottom: 4px;
}
#main .feeBox .title {
	font-size: 4.2rem;
	line-height: 1.16;
}
#main .feeBox .photo img {
	width: 100%;
}
#main .feeBox .textBox {
	position: absolute;
	bottom: 1.4vw;
	width: 100%;
	text-align: center;
}
#main .feeBox .textBox .content {
	width: 1002px;
}
#main .feeBox .textBox .h3Ttl {
	margin-bottom: 3px;
	font-size: 5rem;
	font-weight: 800;
	letter-spacing: -0.07em;
	text-align: center;
	color: #1A2DA3;
}
#main .feeBox .textBox .text {
	margin-bottom: 19px;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.55;
	text-align: left;
}
#main .useBox {
	padding: 34px 0 94px;
}
#main .useBox .subBox {
	margin: 0 0 218px 2px;
	position: relative;
}
#main .useBox .subBox img {
	width: 100%;
}
#main .useBox .h2Ttl {
	margin: 0 5px 29px 0;
}
#main .useBox .photo {
	width: 722px;
	position: absolute;
	bottom: -310px;
	left: 50%;
	transform: translateX(-50%);
}
#main .textBox {
	margin-bottom: 5px;
}
#main .useBox .textBox p {
	margin-right: -4px;
	font-size: 2.4rem;
	font-weight: 300;
	line-height: 1.83;
	text-align: justify;
	color: #292929;
}
#main .useBox .textBox .note {
	font-size: 1.8rem;
	padding-left: 1em;
	text-indent: -1em;
}
#main .useBox .textImg02 {
	margin: 0 0 28px -2px;
}
#main .useBox .textImg02 img {
	width: 100%;
}
#main .useBox .textInner {
	margin: 0 1px 32px 2px;
	padding: 17px 38px 39px;
	border-radius : 10px;
	background-color: #F7F0EB;
}
#main .useBox .textInner .h3Ttl {
	margin-bottom: 3px;
	font-size: 4rem;
	font-weight: 800;
	line-height: 1.95;
	color: #262626;
}
#main .useBox .textInner p {
	margin: 0 0 4px 3px;
	font-size: 2.6rem;
	font-weight: 300;
	line-height: 1.61;
	text-align: justify;
	color: #292929;
}
#main .useBox .textInner p:last-child {
	margin-bottom: 0;
}
#main .useBox .textInner .note {
	font-size: 2rem;
	letter-spacing: 0.025em;
	padding-left: 1em;
	text-indent: -1em;
}
#main .useBox .comLinkUl {
	margin-left: 2px;
}
#main .flowBox {
	padding: 43px 0 59px;
	background-color: #FFF2CA;
}
#main .flowBox .h2Ttl {
	margin: 0 0 9px 4px;
}
#main .flowBox .title {
	margin-bottom: 32px;
	font-size: 3.8rem;
	letter-spacing: -0.07em;
	text-align: center;
}
#main .flowBox .stepImg {
	text-align: center;
}
#main .faqBox {
	padding: 42px 0 109px;
}
#main .faqBox .h2Ttl {
	margin-bottom: 50px;
}
#main .faqBox .textDl dt,
#main .faqBox .textDl dd {
	padding: 0 0 22px 60px;
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.08em;
	position: relative;
}
#main .faqBox .textDl dt::before,
#main .faqBox .textDl dd::before {
	padding: 4px 9px;
	font-size: 2.4rem;
	font-weight: 800;
	position: absolute;
	top: -5px;
	left: 2px;
	height: 40px;
	width: 40px;
	color: #FFF;
	background-color: #666;
	content: "Q";
	box-sizing: border-box;
}
#main .faqBox .textDl dd {
	margin: 0 2px 33px 0;
	padding-bottom: 24px;
	line-height: 1.46;
	color: #FF0038;
	background: url("../img/common/icon03.png") repeat-x left bottom;
}
#main .faqBox .textDl dd a {
	color: #FF0038;
}
#main .faqBox .textDl dd:last-child {
	margin-bottom: 41px;
	background: none;
	padding-bottom: 0;
}
#main .faqBox .textDl dd::before {
	padding: 3px 12px;
	top: 4px;
	content: "A";
	background-color: #FF0038;
}
#main .faqBox .textDl dd .note {
	padding-left: 19px;
	margin-right: -15px;
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 1.54;
	color: #000;
	background: url("../img/common/icon01.png") no-repeat top 10px left 3px;
}
#main .faqBox .comLinkUl {
	margin: 0 0 0 2px;
}
#main .storeBox {
	padding-bottom: 68px;
	background-color: #F0FAFF;
}
#main .storeBox .h2Ttl {
	margin-bottom: 34px;
	padding: 20px 10px;
	font-size: 4.8rem;
	font-weight: 800;
	color: #FFF;
	text-align: center;
	background-color: #1A2DA3;
}
#main .storeBox .content {
	max-width: 1000px;
}
#main .storeBox .imgBox {
	margin-bottom: 20px;
	flex-direction: row-reverse;
}
#main .storeBox .imgBox .photoBox img {
	width: 100%;
}
#main .storeBox .imgBox .textBox {
	margin: -2px 0 0;
}
#main .storeBox .imgBox .logoBox {
	margin-bottom: 12px;
}
#main .storeBox .imgBox .textBox p {
	font-size: 2.6rem;
	font-weight: 500;
	line-height: 1.53;
	font-family:'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo ,'ＭＳＰゴシック', 'MS PGothic', sans-serif;
}
#main .storeBox .imgBox .textBox {
	position: relative;
}
#main .storeBox .imgBox .textBox .qrImg {
	position: absolute;
	right: -11px;
	top: 158px;
}
#main .storeBox .imgBox .textBox .tel a {
	padding-left: 43px;
	background: url("../img/common/icon02.png") no-repeat left bottom 5px;
}
#main .storeBox .map {
	margin-bottom: 25px;
}
#main .storeBox .map iframe{
	height: 500px;
	width: 100%;
}
#main .storeBox .comLinkUl {
	margin-right: -1px;
}
@media all and (min-width: 897px) {
	#main .mainVisual .fixUl li a:hover {
		opacity: 0.7;
	}
	#main .linkBox .linkUl li a:hover{
		opacity: 0.7;
	}
	#main .faqBox .textDl dd a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	#main .fixUl {
		padding: 10px 20px;
		position: fixed;
		width: 100%;
		left: 0;
		right: 0;
		top: auto;
		bottom: 0;
		z-index: 50;
		display: flex;
		flex-wrap: wrap;
		box-sizing: border-box;
		background-color: #FC0D1B;
	}
	#main .fixUl li {
		margin: 0 10px 0 0;
		width: calc((100% - 20px) / 3);
		text-align: center;
	}
	#main .fixUl li a {
		display: block;
		background-color: #FFF;
		border-radius: 6px;
	}
	#main .fixUl li a img {
		text-align: center;
		height: 37px;
		width: auto;
	}
	#main .fixUl .contact a {
		background-color: #FFFF00;
	}
	#main .fixUl li:last-child {
		margin: 0;
	}
	#main .textImg {
		padding: 13px 0 18px; 
	}
	#main .linkBox {
		padding: 4px 0 14px;
	}
	#main .linkBox .content {
		max-width: inherit;
	}
	#main .linkBox .h2Ttl {
		margin-bottom: 7px;
		font-size: 1.75rem;
		font-weight: 800;
	}
	#main .linkBox .linkUl {
		margin: 0 0 5px;
		justify-content: space-between;
	}
	#main .linkBox .linkUl li {
		margin: 0 0 9px;
		width: calc(50% - 6px);
		border-radius: 10px;
	}
	#main .linkBox .linkUl li a {
		padding: 0;
		font-size: 1.5rem;
		border-radius: 10px;
		border-width: 4px;
	}
	#main .linkBox .linkUl li a span {
		padding:  10px 0;
		border-radius: 9px;
		width: 100%;
	}
	#main .feeBox .topBox {
		top: 10px;
	}
	#main .feeBox .title {
		font-size: 1.75rem;
		line-height: 1.22;
		letter-spacing: -0.03em;
	}
	#main .feeBox .textBox {
		bottom: 5vw;
		width: 100%;
	}
	#main .feeBox .h2Ttl {
		margin: 0 auto 10px;
		width: 44vw;
	}
	#main .feeBox .textBox .content {
		width: 100%;
	}
	#main .feeBox .textBox .h3Ttl {
		margin: 0 -15px 1px;
		font-size: 2.15rem;
	}
	#main .feeBox .textBox .text {
		margin: 0 -2px 24px;
		font-size: 1.3rem;
		line-height: 1.53;
	}
	#main .useBox {
		padding: 11px 0 17px;
	}
	#main .useBox .subBox {
		margin: 0 0 17.6vw 0;
	}
	#main .useBox .h2Ttl {
		margin: 0 auto 16px;
		width: 46.8vw;
	}
	#main .useBox .photo {
		width: 89vw;
		bottom: -30vw;
	}
	#main .useBox .textBox {
		margin-bottom: 3px;
	}
	#main .useBox .textBox p {
		margin: 0 0 4px;
		font-size: 1.4rem;
		line-height: 1.78;
		text-align: justify;
	}
	#main .useBox .textBox p:last-child {
		margin-bottom: 0;
		padding-left: 0;
		text-indent: 0;
	}
	#main .useBox .textBox .note {
		font-size: 1.3rem;
	}
	#main .useBox .textImg02 {
		margin: 0 0 8px 0;
	}
	#main .useBox .textInner {
		margin: 0 0 18px;
		padding: 5px 13px 14px;
		border-radius : 5px;
	}
	#main .useBox .textInner .h3Ttl {
		margin-bottom: 1px;
		font-size: 2rem;
	}
	#main .useBox .textInner p {
		margin: 0 0 4px 0;
		font-size: 1.3rem;
		line-height: 1.69;
		letter-spacing: -0.05em;
	}
	#main .useBox .textInner .note {
		font-size: 1.3rem;
		letter-spacing: 0;
		padding-left: 0;
		text-indent: 0;
	}
	#main .useBox .comLinkUl {
		margin: 0;
	}
	#main .flowBox {
		padding: 16px 0 15px;
	}
	#main .flowBox .h2Ttl {
		margin: 0 auto 11px;
		width: 87.4vw;
	}
	#main .flowBox .title {
		margin-bottom: 7px;
		font-size: 1.75rem;
	}
	#main .faqBox {
		padding: 11px 0 23px;
	}
	#main .faqBox .h2Ttl {
		margin: 0 auto 22px;
		width: 31.4vw;
	}
	#main .faqBox .textDl {
		margin-right: -3px;
	}
	#main .faqBox .textDl dt,
	#main .faqBox .textDl dd {
		padding: 0 0 8px 35px;
		font-size: 1.4rem;
		line-height: 1.35;
	}
	#main .faqBox .textDl dt::before,
	#main .faqBox .textDl dd::before {
		padding: 2px 6px;
		font-size: 1.5rem;
		top: 0;
		left: 0;
		height: 26px;
		width: 26px;
	}
	#main .faqBox .textDl dt {
		min-height: 43px;
		box-sizing: border-box;
	}
	#main .faqBox .textDl dd {
		margin: 0 2px 15px 0;
		padding-bottom: 21px;
		line-height: 1.46;
		background-size: 4px;
	}
	#main .faqBox .textDl dd:last-child {
		margin: 0 0 30px;
	}
	#main .faqBox .textDl dd::before {
		padding: 3px 8px;
		top: 3px;
	}
	#main .faqBox .textDl dd .note {
		padding-left: 10px;
		margin: 1.2vw 0 0 -34px;
		font-size: 1.3rem;
		line-height: 1.3;
		background-size: 10px;
		background-position: left top 3px;
	}
	#main .faqBox .comLinkUl {
		margin: 0;
	}
	#main .storeBox {
		padding-bottom: 27px;
		background-color: #FFF;
	}
	#main .storeBox .h2Ttl {
		margin-bottom: 20px;
		padding: 10px 10px;
		font-size: 2.4rem;
	}
	#main .storeBox .content {
		max-width: inherit;
	}
	#main .storeBox .imgBox {
		margin-bottom: 10px;
		display: block;
	}
	#main .storeBox .imgBox .photoBox {
		margin: 0 -1px 12px 0;
	}
	#main .storeBox .imgBox .logoBox {
		margin: 0 auto 12px;
		width: 60vw;
	}
	#main .storeBox .imgBox .textBox p {
		font-size: 1.4rem;
		font-weight: 700;
		line-height: 1.6;
		text-align: center;
		font-family: 'M PLUS 1p', sans-serif;
	}
	#main .storeBox .imgBox .textBox .tel01, 
	#main .storeBox .imgBox .textBox .fax {
		font-size: 2.2rem;
		line-height: 1.34;
	}
	#main .storeBox .imgBox .textBox .tel {
		margin-bottom: 5px;
	}
	#main .storeBox .imgBox .textBox .tel a {
		font-size: 2.2rem;
		color: #F81628;
	}
	#main .storeBox .imgBox .textBox .time {
		line-height: 1.64;
	}
	#main .storeBox .link {
		margin-bottom: 15px;
	}
	#main .storeBox .link a {
		display: block;
	}
	#main .storeBox .link img {
		width: 100%;
	}
	#main .storeBox .map {
		margin-bottom: 0;
		padding-bottom: 84%;
		position: relative;
		overflow: hidden;
	}
	#main .storeBox .map iframe{
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
}
@media all and (max-width: 370px) {
	#main .linkBox .linkUl li a {
		font-size: 1.2rem;
	}
	#main .feeBox .textBox .text {
		margin-bottom: 5px;
	}
	#main .feeBox .textBox .h3Ttl {
		font-size: 1.8rem;
	}
	#main .linkBox .h2Ttl {
		font-size: 1.6rem;
	}
	#main .faqBox .textDl dd .note {
		margin-left: -24px;
	}
	#main .faqBox .textDl dt,
	#main .faqBox .textDl dd {
		padding-left: 27px;
		font-size: 1.3rem;
	}
	#main .faqBox .textDl dt::before, 
	#main .faqBox .textDl dd::before {
		padding: 0 3px;
		width: 20px;
		height: 20px;
	}
	#main .feeBox .textBox {
		bottom: 1vw;
	}
}
@media (max-width: 1919px) and (min-width: 897px) {
	#main .feeBox .photo {
		overflow: hidden;
		min-height: 1926px;
	}
	#main .feeBox .photo img {
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		top: 0;
		width: auto;
		max-width: inherit;
	}
}