@charset "UTF-8";

@import url("../css/setting.css");
@import url("../css/common_demo.css");


* {
	background-repeat: no-repeat;
	background-position: 0px 0px;
}

body {
	margin-right: auto;
	margin-left: auto;
	margin-top: 0px;
	margin-bottom: 0px;
}

body {
	margin: 0px;
	padding: 0px;
	background-color: #FFF;
	font-size: 1em;
	line-height: 1.8em;
	color: #333333;
	text-align: left;
	text-size-adjust: 100%;
	background-repeat: no-repeat;
}

/*=============================================================
#mainimage
==========================================================*/
#mainimage .mainimage__box{
	display: flex;
	flex-direction: column-reverse;
	align-items: center;
	grid-gap: 10px;
	position: absolute;
	bottom: 0;
	right: 8%;
	width: 50%;
	max-width: 540px;
	transform: translateY(-50%);
}
#mainimage ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	z-index: 1;
  	width: 100%;
}
#mainimage ul li {
	width: calc(50% - 5px);
	min-height: 60px;
}
#mainimage ul li a{
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-radius: 8px;
  	grid-gap: 8px;
	color: var(--colorW);
	padding: 15px 0 13px;
	width: 100%;
	height: 100%;
}
#mainimage ul li.bt01 a{
	background: var(--colorBTN01);
}
#mainimage ul li.bt03 a{
	background: var(--colorBTN03);
}
#mainimage ul li a span{
	display: block;
	width: fit-content;
	margin: 0 auto;
	padding: 0 0 0 40px;
	position: relative;
}
#mainimage ul li a span:before{
	content:"";
	background-size: contain;
	background-repeat: no-repeat;
  	display: inline-block;
	width: 30px;
  	aspect-ratio: 36/32;
	position: absolute;
	top:50%;
	left: 0;
	transform: translate(0,-50%);
}
#mainimage ul li.bt01 a span:before{
	background-image: url(/image/common/icon_mail.svg);
}
#mainimage ul li.bt03 a span:before{
	background-image: url(/image/common/icon_line.svg);
}

#mainimage .bt_sp {
	max-width: 520px;
    width: 100%;
}

#mainimage .bt_sp a {
	display: block;
	background-color: var(--color01);
	color: #FFF;
	border-radius: 6px;
	width: 100%;
	margin: 0px auto 0 auto;
	padding: 1em 0 1em 0;
	text-align: center;
	font-size: 16px;
	line-height: 1.2em;
	font-weight: bold;
	border: 1px solid #FFF;
	position: relative;
	animation: flash 3s linear infinite;
}

#mainimage .bt_sp a:after {
	content: '';
	display: inline-block;
	width: 17px;
	height: 17px;
	background-image: url(../image/navi_loan_point_sp.png);
	background-size: contain;
	vertical-align: middle;
	position: absolute;
	top: -2px;
	right: 20%;
}

@keyframes flash {

	0%,
	20%,
	100% {
		opacity: 1;
	}

	10% {
		opacity: 0;
	}
}

@media screen and (min-width: 641px),print {
	body,
	html {
		min-width: 1200px;
		margin: 0px;
		padding: 0px;
	}

	a[href^="tel:"] {
		pointer-events: none;
		text-decoration: none;
		color: #000;
	}

	/*=============================================================
	#header
	=============================================================*/
	#headerSP,
	#headerPC dt p,#headerPC .obimenu{
		display: none!important;
	}
	/* #headerPC dt p{
		margin-bottom: 5px;
	} */
  
	.tel_main{
		line-height: 1;
	}
	.tel_sub{
		text-align: center;
	}

	/*=============================================================
	#mainimage
	==========================================================*/

	#mainimage {
		background-image: url(/image/top/main_bg1.png?1);
		background-position: center;
		background-size: 100%;
		width: 100%;
		min-width: 1200px;
		height: 560px;
		margin: 0 0 3%;
		position: relative;
		display: flex;
        align-items: center;
	}

	#mainimage #copy {
		/*display: block;*/
		width: 1200px;
		text-align: left;
		margin: 0px auto 0 auto;
		padding-top: 40px;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: flex-start;
		height: fit-content;
	}
	#mainimage #copy img{
		width: 50%;
	}


	/*=============================================================
	#contact
	=============================================================*/
	.contact {
		width: 1200px;
		padding: 70px 0 70px 0;
		margin: 0px auto 0 auto;
	}

	.contact .free {
		padding-bottom: 10px;
		text-align: center;
	}

	.contact h5 {
		color: #333333;
		font-size: 37px;
		line-height: 1.5em;
		font-weight: bold;
		text-align: center;
		margin: 0px auto 20px auto;
		padding: 0;
	}

	.contact ul {
		display: flex;
		flex-flow: nowrap;
		justify-content: space-between;
		margin-top: 30px;
		text-align: center;
		margin: 0px auto 0 auto;
	}

	.contact li {
		width: 32%;
		list-style: none;
	}

	.contact li a img {
		filter: drop-shadow(2px 2px 1px rgba(0, 0, 0, 0.5));
	}

	.contact li a img:hover {
		opacity: .70;
	}

}

@media screen and (min-width: 0px) and (max-width: 640px) {
	body {
		font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, Verdana, Roboto, "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
		font-size: 16px;
		-webkit-text-size-adjust: none;
		-webkit-touch-callout: none;
		background-color: #FFF;
		text-size-adjust: 100%;
		margin: 0px;
		padding: 0px;
		animation: bugfix infinite 1s;
		-webkit-animation: bugfix infinite 1s;
		width: 100%;
		height: 100vh;
	}

	#container {
		display: block;
		position: relative;
		width: 100%;
		height: 100%;
		overflow: scroll;
	}

	/*=============================================================
	#header
	=============================================================*/
	#headerPC dt a{
		margin: 0 auto;
	}

	#mainimage {
		/*margin-top: 46px;*/
		background-image: url(/image/top/main_bg1_sp.png?1);
		background-size: 115%;
		background-position: center top;
		width: 100%;
		height: 130dvw;
		position: relative;
	}

	#mainimage #copy {
		display: block;
		text-align: center;
		margin: 0px auto 0 auto;
		padding: 20px 0 0 0;
	}

	#mainimage #copy img {
		width: 85%;
		padding: 20px 0 0;
	}

	#mainimage .mainimage__box{
		width: 90%;
		right: 50%;
		bottom: 6%;
		transform: translateX(50%);
	}
	#mainimage ul li{
		min-height: 50px;
	}
	#mainimage ul li a{
		padding: 8px;
	}
	#mainimage ul li a span{
		font-size:14px;
		font-weight:600;
		line-height: 1.2em;
		padding: 0 0 0 25px;
	}
	#mainimage ul li a span:before{
		width: 20px;
	}

	#mainimage .bt_sp {
		width: 100%;
	}

	.contact {
		width: 90%;
		padding: 30px 0 30px 0;
		margin: 0px auto 0 auto;
	}

	.contact .free {
		width: 60%;
		margin: 0px auto 0 auto;
		padding-bottom: 10px;
	}

	.contact h5 {
		color: #333333;
		font-size: 16px;
		line-height: 1.5em;
		font-weight: bold;
		margin: 0px auto 0 auto;
		padding: 0;
	}

	.contact ul {
		margin-top: 10px;
		margin: 0px auto 0 auto;
	}

	.contact li {
		width: 100%;
		margin-bottom: 10px;
		list-style: none;
	}
}

@media (min-width: 641px) {
	.sp-disp {
		display: none;
	}
}

@media (max-width: 640px) {
	/* #footer .menu ul {
		list-style: none;
	} */

	.pc-disp {
		display: none;
	}
}
