@charset "utf-8";

/* パンくず
--------------------------------------------------*/
.crumb_wrapper{
	top: 20px;
}
@media screen and (max-width: 767px){
	.crumb_wrapper{
		top: 20px;
	}
}


/* メインコンテンツ
--------------------------------------------------*/

#mainContents #sec_contact .contact_in_ul{
	align-items: stretch;
	justify-content: space-between;
}

.scroll-fade-row li{
	opacity: 0;
	transform: translateY(30px);
	transition: all 0.5s cubic-bezier(0.12, 0.57, 0.43, 0.89);
}
.contentsLead{
	font-size: 2.4rem;
	font-weight: 700;
	color: #01559c;
	margin-bottom: 20px;
}
.strongTxt{
	font-weight: 500;
	font-size: 1.8rem;
}
.strongTxt .min{
	font-size: 0.8em;
	font-weight: 400;
}

.strongTxt.mt20{
	margin-top: 1em;
}

.bgArea{
	position: relative;
	max-width: 1920px;
	margin: 0 auto;
}


#mainContents{
	margin-top: 90px;
}
#mainContents .flex{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#mainContents .contents{
	margin: 0 auto;
	max-width: 1100px;
	width: calc(100% - 30px);
}

#keyVisual{
	background: url("../img/keyVisual_bg.jpg") no-repeat left bottom / cover;
	height: 360px;
	display: flex;
	align-items: center;
	justify-content: center;
}

#keyVisual .lead{
	padding-top: 60px;
	text-align: left;
	font-size: 3.2rem;
	color: #fff;
	font-weight: 700;
}
#keyVisual .lead span{
	font-size: 2.4rem;
}
#keyVisual .lead img{
	max-width: 475px;
	width: 100%;
}
#keyVisual figure{
	margin-bottom: -70px;
}

#feature{
	margin-top: 70px;
	background: #01559c;
	padding: 20px 0;
	overflow: hidden;
}
#feature ul.flex{
	flex-wrap: wrap;
	align-items: stretch;
}
#feature ul li{
	color: #fff;
	border-bottom: solid 2px #fff;
	border-left: solid 2px #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 100px;
	width: 50%;
	position: relative;
	font-size: 2rem;
}
#feature ul li:nth-child(2n){
	border-right: solid 2px #fff;
}
#feature ul li:nth-child(3),
#feature ul li:nth-child(4){
	border-bottom: none;
}
#feature ul li:nth-child(1)::before,
#feature ul li:nth-child(2)::before{
	content: "";
	display: block;
	background: #01559c;
	width: 44px;
	height: 44px;
	position: absolute;
	left: -22px;
	bottom: -22px;
	z-index: 2;
}
#feature ul li:nth-child(2)::after{
	content: "";
	display: block;
	background: #01559c;
	width: 44px;
	height: 44px;
	position: absolute;
	right: -22px;
	bottom: -22px;
	z-index: 2;
}
#feature ul li spna.fnt{
	font-size: 2.2rem;
}

.cloud_hd01{
	font-size: 4rem;
	font-weight: 700;
	line-height: 1.4;
}
@media screen and (max-width: 1200px){
	#feature ul li:nth-child(1)::before{
		left: -3px;
		width: 24px;
	}
	#feature ul li:nth-child(2)::after{
		right: -3px;
		width: 24px;
	}
}

@media screen and (max-width: 1100px){
	#mainContents {
		margin-top: 76px;
	}
}

@media screen and (max-width: 768px){
	#keyVisual{
		background: url("../img/keyVisual_bg_sp.jpg") no-repeat left bottom / cover;
		height: inherit;
	}
	#keyVisual .lead{
		margin-bottom: 20px;
	}
	#keyVisual .contents.flex{
		display: block;
	}
	#feature{
		margin-top: 115px;
		padding: 0;
	}
	#feature ul li{
		border-bottom: solid 1px #fff;
		min-height: inherit;
		padding: 20px 5px;
	}
	#feature ul li,
	#feature ul li:nth-child(2n){
		width: 100%;
		border-right: none;
		border-left: none;
	}
	#feature ul li:nth-child(3){
		border-bottom: solid 1px #fff;
	}
	#feature ul li:nth-child(1)::before,
	#feature ul li:nth-child(2)::before,
	#feature ul li:nth-child(2)::after{
		content: none;
	}
}

@media screen and (max-width: 767px){
	#mainContents {
		margin-top: 70px;
	}
	#feature ul li{
		font-size: 1.8rem;
	}
	#mainContents .contact_in_ul {
		display: block;
	}
}
@media screen and (max-width: 580px){
	.contentsLead{
		font-size: 1.8rem;
	}
	.strongTxt{
		font-size: 1.6rem;
	}
	.cloud_hd01{
		font-size: 2.6rem;
	}
}

/*-------------------------------------------------------

   主な機能

--------------------------------------------------------*/
#MainFunction{
	overflow: hidden;
	background: rgb(255,255,255);
	background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 73%, rgba(1,85,156,1) 73%, rgba(1,85,156,1) 100%);
	padding: 120px 0 80px;
}
#MainFunction .bgArea{
	background: url("../img/bg_p_mailfunction.png") no-repeat left 24%;
}
#MainFunction .cloud_hd01{
	margin-top: 40px;
}
#MainFunction ul.flex{
	margin-top: 40px;
	flex-wrap: wrap;
	align-items: flex-start;
	position: relative;
	z-index: 2;
}
#MainFunction ul.flex::before{
	content: "";
	display: block;
	background: url("../img/mf_bg.svg") no-repeat center / contain;
	width: 1930px;
	height: 1143px;
	position: absolute;
	top: 30px;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}
#MainFunction ul.flex > li{
	color: #fff;
	margin-bottom: 50px;
	max-width: 340px;
	width: calc(95% / 3);
}

#MainFunction ul.flex > li figure{
	background: #fff;
	border: solid 2px #01559c;
	border-radius: 50%;
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 20px;
	padding-top: 100%;
	position: relative;
	width: 100%;
}
#MainFunction ul.flex > li figure img{
	position: absolute;
}
#MainFunction ul.flex > li:nth-child(1) figure img{
	top: calc(50% / 2);
	left: calc(50% / 2);
	max-width: 159px;
	width: 48%;
}
#MainFunction ul.flex > li:nth-child(2) figure img{
	top: calc(44% / 2);
	left: calc(37% / 2);
	max-width: 207px;
	width: 62%;
}
#MainFunction ul.flex > li:nth-child(3) figure img{
	top: calc(50% / 2);
	left: calc(34% / 2);
	max-width: 234px;
	width: 70%;
}
#MainFunction ul.flex > li:nth-child(4) figure img{
	top: calc(67% / 2);
	left: calc(34% / 2);
	max-width: 238px;
	width: 71%;
}
#MainFunction ul.flex > li:nth-child(5) figure img{
	top: calc(62% / 2);
	left: calc(33% / 2);
	max-width: 230px;
	width: 69%;
}
#MainFunction ul.flex > li:nth-child(6) figure img{
	top: calc(50% / 2);
	left: calc(34% / 2);
	max-width: 229px;
	width: 69%;
}
#MainFunction ul li h3{
	font-size: 3.2rem;
	font-weight: 500;
	margin-bottom: 10px;
}

#MainFunction ul.labelList{
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 10px;
}
#MainFunction ul.labelList li{
	color: #fff;
	font-weight: 500;
	border: solid 2px #fff;
	border-radius: 4px;
	overflow: hidden;
	padding: 0 7px 1px;
	margin: 0 7.5px;
}
#MainFunction ul.labelList li.label1{
	background: rgb(38,163,221);
	background: linear-gradient(90deg, rgba(38,163,221,1) 0%, rgba(22,32,100,1) 100%);
}
#MainFunction ul.labelList li.label2{
	background: rgb(47,57,68);
	background: -webkit-linear-gradient(left, rgba(47,57,68,1) 0%, rgba(65,77,90,1) 100%);
	background: -o-linear-gradient(left, rgba(47,57,68,1) 0%, rgba(65,77,90,1) 100%);
	background: linear-gradient(to right, rgba(47,57,68,1) 0%, rgba(65,77,90,1) 100%);
}
#MainFunction ul.labelList li.label3{
	background: #82c7ff;
}
#MainFunction ul.labelList li.label4{
	background: #01979c;
}

@media screen and (max-width: 1400px){
	#MainFunction{
		background: rgb(255,255,255);
		background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 60%, rgba(1,85,156,1) 60%, rgba(1,85,156,1) 100%);
	}
	#MainFunction ul.flex::before{
		width: 1600px;
		height: 953px;
	}
}
@media screen and (max-width: 768px){
	#MainFunction{
		padding: 60px 0 0;
		background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 37%, rgba(1,85,156,1) 35%, rgba(1,85,156,1) 100%);
	}
	#MainFunction .bgArea{
		background: none;
	}
	#MainFunction .cloud_hd01{
		position: relative;
	}
	#MainFunction .cloud_hd01::before{
		content: "";
		display: block;
		background: url("../img/bg_p_mailfunction_sp.png") no-repeat left bottom / 100%;
		position: absolute;
		top: -30%;
		left: 0;
		width: 100%;
		height: 12vw;
	}
	#MainFunction ul.flex > li{
		width: 48%;
	}
	#MainFunction ul.flex > li figure{
		width: 70%;
		padding-top: 70%;
		margin: 0 auto 20px;
	}
	#MainFunction ul.flex::before{
		width: 111%;
		height: 63vw;
		top: 0;
	}
}

@media screen and (max-width: 580px){
	#MainFunction {
    	background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 35%, rgba(1,85,156,1) 35%, rgba(1,85,156,1) 100%);
	}
	#MainFunction .cloud_hd01::before{
		top: -1.5vw;
	}
	#MainFunction ul.flex::before{
		width: 112%;
	}
	#MainFunction ul.flex > li figure{
		width: 100%;
		padding-top: 100%;
	}
	#MainFunction ul li h3{
		font-size: 5vw;
	}
	
	#MainFunction ul.labelList{
		flex-wrap: wrap;
		margin-bottom: 5px;
	}
	#MainFunction ul.labelList li{
		width: calc(100% / 2 - 4px);
		font-weight: 400;
		border: solid 1px #fff;
		font-size: 1.2rem;
		margin: 0 2px 5px;
	}
}
@media screen and (max-width: 365px){
	#MainFunction {
    	background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 35%, rgba(1,85,156,1) 36%, rgba(1,85,156,1) 100%);
	}
}

/*-------------------------------------------------------

   スマホ温度表示「モバイルリンク機能」

--------------------------------------------------------*/
#MobileLink{
	padding: 80px 0 120px;
}
#MobileLink::after {
	background-image: url("/img/bg_nami_gy.png");
}
#MobileLink .bgArea{
	background: url("../img/bg_p_mobilelink.png") no-repeat left top;
}

.annotation{
	margin-top: 30px;
	color: #888;
	font-size: 1.4rem;
	font-weight: 500;
	text-align: left;
}
.annotation > li{
	text-indent: -1em;
	padding-left: 1em;
}

.featureBox{
	padding: 40px;
	border-radius: 8px;
	background: #01559c;
	margin-top: 40px;
}
.featureBox .inner{
	background: #fff;
	border-radius: 8px;
	padding: 40px;
}
.featureBox .inner h3{
	margin-bottom: 60px;
}
.featureBox .inner h3 span{
	font-size: 3.2rem;
	font-weight: 500;
	color: #01559c;
	border-top: solid 2px #01559c;
	border-bottom: solid 2px #01559c;
	padding: 5px 40px;
}

.featureBox .inner div.flex figure{
	max-width: 400px;
	width: 43%;
}
.featureBox .inner .featureList{
	width: 54%;
}
.featureBox .inner .featureList li{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	border-top: solid 1px #d4dbe7;
	padding: 30px 10px;
}
.featureBox .inner .featureList li.note{
	font-size: 1.4rem;
	color: #888;
	text-align: left;
	text-indent: -1em;
	padding: 15px 0 0;
	padding-left: 1em;
	width: 100%;
}
.featureBox .inner .featureList li figure{
	width: 74px;
	margin-right: 24px;
}
.featureBox .inner .featureList li:nth-child(1) figure img{
	max-width: 60px;
}
.featureBox .inner .featureList li .txtBox{
	text-align: left;
	width: 81%;
}

#MobileLink .feature_flow{
	margin-top: 50px;
	align-items: flex-start;
}
.feature_flow li{
	max-width: 300px;
	width: calc(83% / 3);
	position: relative;
}
.feature_flow li figure{
	border: solid 2px #01559c;
	position: relative;
	width: 100%;
	height: 300px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 16px;
	padding: 20px;
}
.feature_flow li figure::after{
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 50px 0 50px 30px;
	border-color: transparent transparent transparent #d4dbe7;
	position: absolute;
	top: 50%;
	right: -23%;
	transform: translateY(-50%);
}
.feature_flow li:last-child figure::after{
	content: none;
}

.feature_flow li figure figcaption{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 80px;
	height: 80px;
	position: absolute;
	top: -20px;
	left: -20px;
	border-radius: 50%;
}
.feature_flow li p{
	text-align: left;
}
.feature_flow li p.flowTxt{
	color: #01559c;
	font-weight: 700;
	font-size: 1.8rem;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	margin-right: -30px;
}
.feature_flow li p span.num{
	display: inline-block;
	margin-top: -1px;
	flex-shrink: 0;
}
.feature_flow li p span.num img{
	width: 24px;
	height: 24px;
	margin-right: 5px;
}

#MobileLink .gyTxt{
	font-size: 1.4rem;
	font-weight: 500;
	text-align: left;
	color: #888;
	margin-top: 10px;
}

@media screen and (max-width: 1200px){
	#MobileLink .feature_flow{
		padding: 0 20px;
	}
}
@media screen and (max-width: 768px){
	#MobileLink{
		padding: 60px 0 80px;
	}
	#MobileLink .bgArea {
		background: none;
	}
	#MobileLink .cloud_hd01 {
		position: relative;
	}
	#MobileLink .cloud_hd01::before{
		content: "";
		display: block;
		background: url("../img/bg_p_mobilelink_sp.png") no-repeat left center / 100%;
		position: absolute;
		top: 50%;
		left: 0;
		width: 100%;
		height: 15vw;
		transform: translateY(-50%);
	}
	.featureBox{
		padding: 20px;
	}
	.featureBox .inner{
		padding: 30px 20px 20px;
	}
	#mainContents .featureBox .inner > div.flex{
		display: block;
	}
	.featureBox .inner > div.flex figure{
		width: 80%;
		margin: 0 auto 30px;
	}
	.featureBox .inner h3 span{
		font-size: 2.5rem;
	}
	.featureBox .inner .featureList{
		width: 100%;
	}
	.featureBox .inner .featureList li{
		padding: 20px 10px;
		align-items: flex-start;
	}
	.featureBox .inner .featureList li figure{
		width: 60px;
		margin: 0 20px 0 0;
	}
	#MobileLink .feature_flow{
		display: block;
		padding: 0;
	}
	.feature_flow li{
		max-width: 450px;
		width: 100%;
		margin: 0 auto 100px;
	}
	.feature_flow li::after{
		content: "";
		display: block;
		position: absolute;
		top: auto;
		right: auto;
		bottom: -70px;
		left: calc(100% / 2 - 75px);
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 45px 75px 0 75px;
		border-color: #d4dbe7 transparent transparent transparent;
		transform: none;
	}
	.feature_flow li:last-child::after{
		content: none;
	}
	.feature_flow li:last-child{
		margin-bottom: 40px;
	}
	.feature_flow li figure::after{
		content: none;
	}
}
@media screen and (max-width: 580px){
	.featureBox {
		padding: 15px;
	}
	.featureBox .inner {
		padding: 30px 15px 15px;
	}
	.featureBox .inner h3 {
		margin-bottom: 30px;
	}
	.featureBox .inner h3 span {
		font-size: 2.4rem;
	}
	.featureBox .inner .featureList{
		width: 100%;
	}
	.feature_flow li{
		max-width: 380px;
		margin: 0 auto 70px;
	}
	.feature_flow li::after{
		border-width: 25px 55px 0 55px;
		bottom: -44px;
		left: calc(100% / 2 - 55px);
	}
	.feature_flow li figure{
		width: 250px;
		height: 250px;
		margin: 0 auto 16px;
	}
	.feature_flow li figure > img{
		width: 80%;
	}
	.feature_flow li:nth-child(2) figure > img{
		width: 70%;
	}
	.feature_flow li:nth-child(3) figure > img{
		width: 60%;
	}
	.feature_flow li figure figcaption{
		width: 60px;
		height: 60px;
	}
	.feature_flow li p.flowTxt{
		margin: 0;
	}

}
