@charset "utf-8";

/* ==========================================
共通
========================================== */
/* コンテンツ */
body {
	overflow: hidden;
}
#main .pdf,
#main .blank {
	padding-right: 0!important;
}
#mainwrap #main {
	margin-bottom: 0!important;
}
.areaInner {
	width: 1200px;
	margin: 0 auto;
	position: relative;
}

/* タイトル */
h2 {
	font-size: 40px;
	font-weight: bold;
	line-height: 1;
}
h2 .tagStyle {
	font-size: 20px;
	font-weight: bold;
	color: #fff;
	background-image: linear-gradient(to right, #64A70B 0%, #C4D600 100%);
	padding: 5px 22px;
	line-height: 1;
	display: inline-block;
	margin: 0 0 15px;
}

/* ボタンスタイル */
.btnPush {
  position: relative;
  text-decoration: none;
  display: inline-block;
  text-align: center;
  background: transparent;
  border: solid 1px #343434;
  outline: none;
  transition: all 0.2s ease;
	font-size: 16px;
	font-weight: bold;
	width: 340px;
}
.btnPush span {
  position: relative;
  z-index: 2;
  display: block;
  padding: 10px 30px;
  background:#fff;
  color:#343434;
  transition: all 0.3s ease;
}
.btnOrange {
	border-color: #FF9933;
}
.btnOrange span {
	background: #FF9933;
	color: #fff;
}
.btnOrange span:after {
	border-left-color: #fff!important;
	border-bottom-color: #fff!important;
}
.btnPush span:after {
	content: '';
	position: absolute;
	width: 6px;
	height: 6px;
	border-left: 2px solid #343434;
	border-bottom: 2px solid #343434;
	transform: rotate(-135deg);
	top: 50%;
	right: 15px;
	margin-top: -5px;
}
.btnPush:before {
  content:"";
  position: absolute;
  top:4px;
  left:0;
  width: 100%;
  height: 100%;
  background-color: #343434;
}

/* ==========================================
メインエリア
========================================== */
#mainArea {
	width: 1200px;
	margin: 0 auto 200px;
	position: relative;
}
#mainArea h1 {
	text-align: center;
	margin: 0 0 60px;
}
#mainArea h2 {
	font-size: 38px;
	font-weight: bold;
	text-align: center;
	margin: 0 0 20px;
}
#mainArea .leadTxt {
	font-size: 16px;
	text-align: center;
	margin: 0 0 30px;
}
#mainArea .ancList {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 1120px;
	margin: 0 auto;
}
#mainArea .ancList li {
	width: 340px;
}
#mainArea .ancList li:nth-child(1),
#mainArea .ancList li:nth-child(2),
#mainArea .ancList li:nth-child(3) {
	margin: 0 0 20px;
}
#mainArea .ancList li a {
	width: 100%;
}
#mainArea .ancList li a span {
	background-color: #F2F5D9;
}
#mainArea .ancList li a span:after {
	transform: rotate(-45deg);
	top: 50%;
	right: 30px;
	margin-top: -6px;
}
#mainArea #toApp {
	width: 140px;
	height: 140px;
	line-height: 1.3;
	border-radius: 50%;
	position: fixed;
	bottom: 20px;
	right: 20px;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	background-color: #FF9933;
	box-shadow: 3px 3px 3px #ccc;
	z-index: 999;
  display: flex;
  justify-content: center;
  align-items: center;
}
#mainArea #toApp span {
	position: relative;
	color: #fff;
	width: 100%;
	height: 100%;
	display: block;
}
/* #mainArea #toApp span:after {
	content: '';
	border-top: 8px solid #fff;
	border-bottom: 8px solid transparent;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	position: absolute;
	top: auto;
	bottom: 28px;
	left: 50%;
	right: auto;
	margin: 0 0 0 -10px;
	transform: rotate(0);
	width: auto;
	height: auto;
} */

/* ==========================================
おすすめのポイント
========================================== */
#pointArea {
	background-color: #C4D600;
	margin: 0 0 100px;
	padding: 100px 0;
}
#pointArea h2 {
	position: absolute;
	top: -190px;
	left: 0;
}
#pointArea ul {
	display: flex;
	justify-content: space-between;
}
#pointArea ul li {
	width: 370px;
}
#pointArea ul li .pointImg {
	position: relative;
	margin-bottom: 55px;
}
#pointArea ul li:nth-child(3) .pointImg {
	margin-bottom: 30px;
}
#pointArea ul li .pointImg .iconTit {
	font-size: 24px;
	font-weight: bold;
	border-bottom: 2px solid #343434;
	position: absolute;
	top: -15px;
	left: 0;
	line-height: 1.5;
}
#pointArea ul li .pointTit {
	text-align: center;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.4;
	margin: 0 0 20px;
}
#pointArea ul li:nth-child(3) .pointTit {
	margin-bottom: 10px;
}
#pointArea ul li .pointTxt {
	text-align: center;
	font-size: 16px;
}
#pointArea ul li .pointTxt span {
	font-weight: bold;
}

/* ==========================================
ソラシド.biz専用運賃 「ソラシドbiz割」
========================================== */
#exclusiveArea {
	margin: 0 0 200px;
}
#exclusiveArea h2 {
	margin: 0 0 25px;
}
#exclusiveArea .exclusiveCont {
	background-color: #F2F2F2;
	margin: 0 0 30px;
	padding: 32px 40px;
	display: flex;
	justify-content: space-between;
}
#exclusiveArea .exclusiveCont .contL h3 {
	font-size: 36px;
	font-weight: bold;
	margin: 0 0 5px;
}
#exclusiveArea .exclusiveCont .contL h3 > span {
	color: #64A70B;
	text-decoration: underline;
}
#exclusiveArea .exclusiveCont .contL h3 span span {
	font-size: 49px;
}
#exclusiveArea .exclusiveCont .contL .exampleCont {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 0 15px;
}
#exclusiveArea .exclusiveCont .contL .exampleCont .exampleL {
	font-size: 18px;
	font-weight: bold;
	line-height: 1.5;
}
#exclusiveArea .exclusiveCont .contL .exampleCont .exampleL span {
	font-size: 16px;
}
#exclusiveArea .exclusiveCont .contL .moreLead {
	font-size: 21px;
	font-weight: bold;
	line-height: 1.5;
}
#exclusiveArea .exclusiveCont .contL .moreLead span {
	color: #64A70B;
}
#exclusiveArea .exclusiveCont .contL .exampleCont .exampleR .exampleRL,
#exclusiveArea .exclusiveCont .contL .exampleCont .exampleR .exampleRR {
	font-size: 16px;
	border: 1px solid #707070;
	background-color: #fff;
	text-align: center;
	padding: 10px 15px;
}
#exclusiveArea .exclusiveCont .contL .exampleCont .exampleR .exampleRL {
	position: relative;
	margin: 0 50px 0 0;
}
#exclusiveArea .exclusiveCont .contL .exampleCont .exampleR .exampleRL:after {
	content: '';
	border-top:  20px solid transparent;
	border-bottom:  20px solid transparent;
	border-left: 10px solid #343434;
	position: absolute;
	top: 50%;
	right: -26%;
	margin-top: -20px;
}
#exclusiveArea .exclusiveCont .contL .exampleCont .exampleR .exampleRR {
	font-weight: bold;
}
#exclusiveArea .exclusiveCont .contL .exampleCont .exampleR .exampleRL span,
#exclusiveArea .exclusiveCont .contL .exampleCont .exampleR .exampleRR span {
	font-size: 21px;
}
#exclusiveArea .exclusiveCont .contL .exampleCont .exampleR .exampleRR span {
	color: #64A70B;
}
#exclusiveArea .exclusiveCont .contL .exampleCont .exampleR {
	display: flex;
}
#exclusiveArea .exclusiveCont .contR {
	width: 438px;
}
#exclusiveArea .leadTxt {
	font-size: 16px;
	margin: 0 0 30px;
	text-align: center;
}
#exclusiveArea .exclusiveBtn {
	text-align: center;
}

/* ==========================================
フロー
========================================== */
/* 共通スタイル */
.flowStyle .areaInner .bgInner {
	background-color: #F2F5D9;
	padding: 70px;
}
.flowStyle h2 {
	position: absolute;
	top: -90px;
	left: 0;
}
.flowStyle h2 .titDate {
	font-size: 30px;
}
.flowStyle ul {
	display: flex;
	align-items: stretch;
}
.flowStyle ul li {
	width: 335px;
	position: relative;
	background-color: #fff;
	border-radius: 10px;
	padding: 20px;
}
.flowStyle ul li .iconStep {
	position: absolute;
	top: -25px;
	left: -20px;
	width: 82px;
}
.flowStyle ul li .flowTit {
	font-size: 21px;
	font-weight: bold;
	text-align: center;
}
.flowStyle ul li .flowImg {
	text-align: center;
}

/* flow1 */
#flow1Area {
	margin: 0 0 175px;
}
#flow1Area .areaInner .bgInner {
	margin-left: calc(((100vw - 100%) / 2) * -1);
  padding-left: calc(((100vw - 100%) / 2) * 1);
	border-radius: 0 250px 250px 0;
}
#flow1Area ul {
	justify-content: flex-start;
}
#flow1Area ul li {
	margin: 0 55px 0 0;
}

/* flow2 */
#flow2Area {
	margin: 0 0 200px;
}
#flow2Area .areaInner .bgInner {
	margin-right: calc(((100vw - 100%) / 2) * -1);
  padding-right: calc(((100vw - 100%) / 2) * 1);
	border-radius: 250px 0 0 250px;
}
#flow2Area ul {
	justify-content: flex-end;
}
#flow2Area ul li {
	margin: 0 0 0 55px;
}

/* ==========================================
お申し込み
========================================== */
#appArea {
	background-color: #F2F2F2;
	font-size: 16px;
}
#appArea .areaInner {
	position: relative;
	padding: 50px 30px;
}
#appArea h2 {
	position: absolute;
	top: -90px;
	left: 0;
}
#appArea .leadTxt {
	margin: 0 0 30px;
}
#appArea .checkArea {
	text-align: center;
	margin: 0 0 30px;
	font-weight: bold;
}
#appArea .checkArea #checkTerms {
	margin-right: 5px;
}
#appArea .btnList {
	display: flex;
	justify-content: space-between;
	margin: 0 0 60px;
}
#appArea .btnList li {
	width: 340px;
	position: relative;
}
#appArea .btnList li a {
	display: block;
	width: 100%;
}
#appArea .btnList li span:before {
	content: '';
	width: 22px;
	height: 22px;
	background-size: 22px;
	background-position: top left;
	background-repeat: no-repeat;
	position: absolute;
	top: 50%;
	left: 20px;
	margin-top: -11px;
}
#appArea .btnList li.iconText span:before {
	background-image: url(/info/img/sola-biz/icon_text.png);
}
#appArea .btnList li.iconMail span:before {
	background-image: url(/info/img/sola-biz/icon_mail.png);
}
#appArea .btnList li.iconQ span:before {
	background-image: url(/info/img/sola-biz/icon_quetion.png);
}
#appArea .btnList li.greyOut:after {
	content: '';
	width: 100%;
	height: 100%;
	background-color: #000;
	opacity: 0.7;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
}
#appArea .noticeCont {
	background-color: #fff;
	padding: 30px;
}
#appArea .noticeCont .noticeTit {
	font-weight: bold;
	font-size: 21px;
	margin: 0 0 10px;
}
#appArea .frameArea {
	border: 1px solid #343434;
	margin: 0 0 30px;
	padding: 15px 20px;
	background-color: #fff;
	height: 500px;
	overflow-y: scroll;
}
#appArea .frameArea h3 {
	font-size: 20px;
	font-weight: bold;
	margin: 0 0 15px;
	text-align: center;
}
#appArea .frameArea h4 {
	font-size: 16px;
	font-weight: bold;
}
#appArea .frameArea ol.indent1 {
	text-indent: -1em;
	margin-left: 1em;
}
#appArea .frameArea ol.indent2 {
	text-indent: -2.5em;
	margin-left: 2.5em;
}

/* ==========================================
お問い合わせ
========================================== */
#contactArea {
	background-image: url(/info/img/sola-biz/bg_contact_pc.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	padding: 65px 100px;
}
#contactArea h2 {
	margin: 0 0 25px;
}
#contactArea .contactCont {
	background-color: rgba(255,255,255,0.8);
	text-align: center;
	padding: 40px 0;
}
#contactArea .contactCont .contactTit {
	font-size: 21px;
	font-weight: bold;
	margin: 0 0 5px;
}
#contactArea .contactCont .contactBtn {
	margin: 0 0 15px;
}
#contactArea .contactCont .contactBtn a {
	border: transparent;
}
#contactArea .contactCont .contactBtn a,
#contactArea .contactCont .contactBtn a span {
	border-radius: 25px;
	color: #fff;
}
#contactArea .contactCont .contactBtn a:before {
	border-radius: 25px;
	color: #fff;
}
#contactArea .contactCont .contactBtn a span {
	border-radius: 25px;
	background-color: #64A70B;
	color: #fff;
	border-left-color: #fff;
	border-bottom-color: #fff;
}
#contactArea .contactCont .contactBtn a span:after {
	border-left-color: #fff;
	border-bottom-color: #fff;
	right: 25px;
}

@media screen and (min-width:601px) {
  .btnPush:hover{
		border-color:transparent;
	}
	.btnPush:hover span {
		transform: translateY(4px);
	}
	#contactArea .contactCont .contactBtn a:hover span:after {
		border-left-color: #fff;
		border-bottom-color: #fff;
	}
	#mainArea #toApp:hover {
		opacity: 0.7;
	}
}

@media screen and (max-width:600px){
	/* ==========================================
	共通
	========================================== */
	h2 {
		font-size: 28px;
		left: 10px!important;
		line-height: 1.3;
	}
	h2 .tagStyle {
		font-size: 14px;
		margin-bottom: 10px;
	}
	.areaInner {
		width: 100%;
	}
	.btnPush {
		width: 80%;
	}

	/* ==========================================
	メインエリア
	========================================== */
	#mainArea {
		width: 100%;
		margin-bottom: 100px;
	}
	#mainArea h1 {
		margin-bottom: 45px;
	}
	#mainArea h2 {
		font-size: 26px;
	}
	#mainArea .leadTxt {
		line-height: 2;
	}
	#mainArea .ancList {
		display: block;
		padding: 10px;
		width: 100%;
		text-align: center;
	}
	#mainArea .ancList li {
		width: 100%;
		margin-bottom: 10px!important;
	}
	#mainArea .ancList li:last-child {
		margin-bottom: 0;
	}
	#mainArea .ancList li a {
		width: 95%;
	}
	#mainArea .ancList li a span:after {
		right: 15px;
	}
	#mainArea #toApp {
		bottom: 10px;
		right: 10px;
		width: 84px;
		height: 84px;
		font-size: 12px;
	}
	#mainArea #toApp span {
		padding-top: 12px;
	}
	#mainArea #toApp span:after {
    border-top: 6px solid #fff;
    border-bottom: 6px solid transparent;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    margin-left: -8px;
		bottom: 5px;
}

	/* ==========================================
	おすすめのポイント
	========================================== */
	#pointArea {
		margin-bottom: 50px;
		padding: 60px 0;
	}
	#pointArea h2 {
		top: -130px;
	}
	#pointArea ul {
		display: block;
	}
	#pointArea ul li {
		width: 100%;
		margin-bottom: 28px;
	}
	#pointArea ul li:last-child {
		margin-bottom: 0;
	}
	#pointArea ul li:nth-child(3) .pointImg,
	#pointArea ul li .pointImg {
		text-align: center;
		margin-bottom: 10px;
	}
	#pointArea ul li .pointImg img {
		width: 70%;
	}
	#pointArea ul li .pointImg .iconTit {
		top: 4px;
		left: 45px;
		font-size: 17px;
	}
	#pointArea ul li .pointTit {
		font-size: 18px;
		margin-bottom: 10px;
	}

	/* ==========================================
	ソラシド.biz専用運賃 「ソラシドbiz割」
	========================================== */
	#exclusiveArea {
		margin-bottom: 140px;
		padding: 0 10px;
	}
	#exclusiveArea .exclusiveCont {
		margin-bottom: 15px;
		padding: 20px;
		display: block;
	}
	#exclusiveArea .exclusiveCont .contL h3 {
		font-size: 19px;
		margin-bottom: 15px;
	}
	#exclusiveArea .exclusiveCont .contL h3 span span {
		font-size: 25px;
	}
	#exclusiveArea .exclusiveCont .contL .exampleCont {
		display: block;
	}
	#exclusiveArea .exclusiveCont .contL .exampleCont .exampleL {
		font-size: 16px;
		margin-bottom: 10px;
	}
	#exclusiveArea .exclusiveCont .contL .exampleCont .exampleL span {
		font-size: 14px;
	}
	#exclusiveArea .exclusiveCont .contR {
		width: 100%;
	}
	#exclusiveArea .exclusiveCont .contL .exampleCont .exampleR {
		justify-content: space-between;
	}
	#exclusiveArea .exclusiveCont .contL .moreLead {
		font-size: 16px;
		text-align: center;
		margin-bottom: 15px;
	}
	#exclusiveArea .exclusiveCont .contL .exampleCont .exampleR > div {
		width: 44%;
	}
	#exclusiveArea .exclusiveCont .contL .exampleCont .exampleR .exampleRL {
		margin: 0;
	}
	#exclusiveArea .exclusiveCont .contL .exampleCont .exampleR .exampleRL:after {
		right: -19%;
	}

	/* ==========================================
	フロー
	========================================== */
	/* 共通 */
	.flowStyle {
		margin-bottom: 100px!important;
	}
	.flowStyle .areaInner .bgInner {
		margin: 0!important;
		padding: 80px 45px!important;
		background: none;
		position: relative;
	}
	.flowStyle ul {
		display: block;
	}
	.flowStyle ul li {
		margin: 0 0 50px!important;
		width: 100%;
		box-shadow: 3px 3px 3px #ccc;
	}
	.flowStyle ul li:last-child {
		margin-bottom: 0!important;
	}

	/* flow1 */
	#flow1Area  .areaInner .bgInner:before {
		content: '';
		width: 1000px;
		height: 1000px;
		border-radius: 0 500px 500px 0;
		background: #F2F5D9;
		position: absolute;
		top: 0;
		left: -630px;
	}
	#flow1Area .titDate {
		font-size: 20px;
	}

	/* flow2 */
	#flow2Area  .areaInner .bgInner:before {
		content: '';
		width: 1000px;
		height: 1000px;
		border-radius: 500px 0 0 500px;
		background: #F2F5D9;
		position: absolute;
		top: 0;
		right: -630px;
	}


	/* ==========================================
	お申し込み
	========================================== */
	#appArea h2 {
		top: -70px;
	}
	#appArea .leadTxt {
		text-align: center;
	}
	#appArea .btnList {
		display: block;
		margin-bottom: 30px;
	}
	#appArea .btnList li {
		margin: 0 auto 15px;
		width: 80%;
	}
	#appArea .btnList li:last-child {
		margin: 0 auto;
	}
	#appArea .areaInner {
		padding: 30px 10px;
	}
	#appArea .noticeCont {
		padding: 20px 10px;
	}
	#appArea .frameArea {
		padding: 10px;
		height: 300px;
	}
	#appArea .frameArea h3 {
		font-size: 16px
	}
	#appArea .btnList li {
		text-align: center;
	}
	#appArea .btnList li a {
		width: 100%;
		display: inline-block;
	}

	/* ==========================================
	お問い合わせ
	========================================== */
	#contactArea {
    background-image: url(/info/img/sola-biz/bg_contact_sp.png);
		background-size: cover;
    padding: 35px 10px;
	}
	#contactArea .contactCont {
		padding: 25px 0;
	}
	#contactArea .contactCont .contactBtn a {
		width: 80%;
	}
	#contactArea .contactCont .contactTxt {
		font-size: 16px;
	}
}
