@charset "utf-8";

/* mv */
#mv{
	height:80vh;
	padding:0 0;
	background:url("../images/main_img.jpg") no-repeat center center;
	background-size:cover;
	position: relative;
}
#mv .txt_box {
	position: absolute;
	left: 10%; top: 50%; transform: translateY(-50%);
	color: #fff;	
}
#mv .txt_box h2 { 
	font-size: 6em;
	font-weight: 900;
	text-align: left;
	line-height: 1.4;
	text-shadow: 0 0 10px rgba(0,0,0,.75);
	margin-bottom: 20px;
}
#mv .txt_box h2 span {
	font-size: .5em;
	display: block;
}
#mv .txt_box p { text-align: left; }
#mv .txt_box p span {
	font-size: 1.75em;
	background-color: #6ACAF2;
	text-align: left;
	padding: 5px 10px; margin: 0 0 10px;
	display: inline-block;
	line-height: 1;
}

@media screen and (max-width:640px){
	#mv{
		height:80vh;
		padding:11% 5% 30%;
		background:url(../images/main_img.jpg)no-repeat center;
		background-size:cover;
	}
	#mv .txt_box h2 { 
		font-size: 4em;
	}	
	#mv .txt_box h2 span {
		font-size: .4em;
	}	
	#mv div{
		display:inline-block;
	}
	#mv div p{
		margin-bottom:1.5em;
		font-size:14px;
		font-weight:bold;
		text-align:left;
		line-height:1.5;
	}
	#mv .txt_box p span {
		font-size: 1.25em;
		padding: 5px 10px; margin: 0 0 10px;
	}	
}

article {
	background-color: #E1F3FE;
}
/*=============================================

index__intro

===============================================*/
.index__intro {
	background-color: #fff;
	background: linear-gradient(135deg, #E1F3FE 44.27%, #FFFFFF 100%);
	background-image: url("../images/bg_index__intro.png");
	background-attachment: fixed;
	background-size: 100% auto;

	font-size: 1.5em;
	font-weight: 500;
	padding: 80px 2.5%;
}
.index__intro .inner {
	/*  -webkit-box-shadow: 2px 2px 10px 0px rgba(34, 111, 138, 0.16) inset, 2px 2px 9px 0 rgba(255, 255, 255, 0.26) inset;
          box-shadow: 2px 2px 10px 0px rgba(34, 111, 138, 0.16) inset, 2px 2px 9px 0 rgba(255, 255, 255, 0.26) inset; */
	/* background: url("../images/bg_check_pattern.png"); */
	display: inline-block;
	padding: 0;
	margin: 0 auto;
	border-radius: 30px;
	line-height: 1.8;
}
.t-gradation {
  display: inline-block;
  font-family: "Roboto", sans-serif;
  font-size: 2em;
  font-weight: bold;
  background: linear-gradient(to right, #048bf8, #18ca9c);
  -webkit-background-clip: text;
  color: transparent;
}
.t-gradation.__1x {
  font-size: 1em;
}
.t-shadow-w {
	text-shadow: 0 0 10px rgba(255,255,255,.8);
}

@media screen and (max-width:640px){
	.index__intro {
		padding: 40px 2.5%;
		font-size: 1.0em;
	}	
	.t-gradation {
		font-size: 1.5em;
		line-height: 1.4;
	}	
}

/*=============================================

h2.index__head

===============================================*/
h2.index__head {
	margin-bottom:60px;
	font-size: 2.5em;
	font-weight: 600;
	line-height: 1;
}
h2.index__head .jp {
	color: #333;
	font-weight: 400;
	display: block;
	font-size: .5em;
	position: relative;
	margin: .5em auto 0;
}
h2.index__head .jp::after {
	content: "";
	display: block; width: 8em; height: 5px;
	background-image: linear-gradient(90deg, rgba(89, 173, 241, 1), rgba(207, 253, 157, 1));
	position: absolute; left: 50%; bottom: -1.5em; transform: translateX(-50%);
}

@media screen and (max-width:640px){
	h2.index__head {
		font-size: 1.75em;
	}	
}

/*=============================================

index__business

===============================================*/
#index__business {
	padding:80px 0 40px;
	background-color:#fff; 
}
#index__business dt,
#index__business dd {
	padding:1em 1em;
	border-bottom: solid 1px #ccc; 
	display: inline-block;
	text-align: left;
}
#index__business dl {
	display: flex;
	flex-wrap: wrap;
	max-width: 900px;
	margin: 0 auto;
}
#index__business dt { width: 25%; border-bottom: solid 2px #68C9F2; font-weight: bold; margin: 0; }
#index__business dd { width: 75%; margin: 0; }
#index__business dd th,
#index__business dd td { vertical-align: top; font-weight: normal; }
#index__business dd th { white-space: nowrap; padding-right: 1em; }

@media screen and (max-width:640px){
	#index__business {
		padding:40px 0 40px;
	}	

	#index__business p {
		text-align: left;
	}
	#index__business dt { width: 100%; color:#68C9F2; border-bottom: none; padding-bottom: 0; }
	#index__business dd { width: 100%; padding-top: 0; }	
}

/*=============================================

index__strong

===============================================*/

#index__strong {
	padding:80px 0;
	/*background: linear-gradient(135deg, #E1F3FE 44.27%, #FFFFFF 100%);*/
	background-color:#fff; 
}
.wrap_strength {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.wrap_strength .box_strengths {
	background: #fff;
	border:solid 3px #68C9F2;
	line-height: 1.5;
	width: 30%;
	padding: 1.5em 1.5em;
	margin-bottom: 3em;
	border-radius: 20px;
	color: #333;
  -webkit-box-shadow: -5px -5px 15px 0px rgba(255, 255, 255, 0.56), -3px -3px 20px 0px rgba(255, 255, 255, 0.76), 5px 5px 12px 0 rgba(90, 125, 136, 0.16), 3px 3px 24px 0 rgba(90, 125, 136, 0.32);
          box-shadow: -5px -5px 15px 0px rgba(255, 255, 255, 0.56), -3px -3px 20px 0px rgba(255, 255, 255, 0.76), 5px 5px 12px 0 rgba(90, 125, 136, 0.16), 3px 3px 24px 0 rgba(90, 125, 136, 0.32);	
}
.wrap_strength .box_strengths h3 {
	font-size: 1.5em;
	font-weight: 500;
	margin: 1em auto .5em;
}
.wrap_strength .box_strengths p {
	margin: 0 auto 0;
}
.wrap_strength .box_strengths figure {
	text-align: center;
}
.wrap_strength .box_strengths figure img {
	max-width: 200px;
	width: 60%;
}

@media screen and (max-width:640px){
	#index__strong {
		padding:40px 0 40px;
	}	
	.wrap_strength {
		justify-content: center;
	}	
	.wrap_strength .box_strengths {
		width: 80%;	
		padding: 10px 10px;
	}
	.wrap_strength .box_strengths h3 {
		margin: 0 auto .5em;
	}	
	.wrap_strength .box_strengths figure img {
		width: 40%;
	}	
}


/*=============================================

index__message

===============================================*/

#index__message {
	padding:80px 0;
	background-color:#f2f4f4;
	background: url("../images/bg_check_pattern.png");
}

#index__message .inner {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

#index__message .inner .youtube{
	display:inline-block;
	vertical-align:top;
	width: 40%;
}
#index__message .inner .txt_box {
	width: 58%;
}
#index__message div:last-of-type{
	display:inline-block;
	vertical-align:top;
}
#index__message div:last-of-type p{
	margin-bottom:10px;
	font-size:18px;
	text-align:left;
}
#index__message div:last-of-type p span{
	font-weight:bold;
}
#index__message div:last-of-type a{
	font-size:16px;
}
#index__message div:last-of-type a:before{
	content:'>';
	color:#116fa1;
	margin-right:5px;
	font-weight:bold;
}





/*=============================================

index__CardList

===============================================*/
.index__service {
	background-image: url("../images/bg_index__intro.png");
	background-attachment: fixed;
	background-size: 100% auto;	
	padding: 8rem 0;
}
.index__CardList {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;
	padding: 0;
}
.index__CardList-item {
	width: calc(25% - 0.8rem);
	list-style: none;
	background-color: #fff;
	border-radius: 15px;
	overflow: hidden;
	position: relative;
}

.index__CardList-item * {
	
}

.index__CardList-item .link {
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-wrap: wrap;
	-ms-grid-row-align: stretch;
	  align-self: stretch;
	overflow: hidden;
	height: 100%;
	box-shadow: 0px 10px 20px 0px rgba(0, 78, 162, 0.1);
	min-height: auto;
	border-radius: 1.2rem;
	transition: all 0.3s ease-out;
}
.index__CardList-item a {
	padding: 0; margin: 0;
	text-decoration: none;
}

.index__CardList-item .image {
	width: 100%;
}

@media screen and (max-width:640px){
	.index__service {
		padding: 40px 0;
	}	
	.index__CardList {
		padding: 0;
	}	
	.index__CardList-item {
		width: 100%;
		margin-bottom: 1em;
	}
	.index__CardList-item .link .image {
		width: 100%;
	}
	
}


.index__CardList-item .content {
	flex: 1 0 43.75%;
	padding: 1.0rem 1.0rem 2.0rem;
	transition: all 0.3s ease-out;
	color: #004EA2;
	background-color: #fff;	
}
.index__CardList-item .content .sub {
	font-size: .75rem;
	line-height: 1.8;
	margin-top: 10px;
	text-align: left;
}
.index__CardList-item .content .text {
	font-size: 1.25rem;
	line-height: 1.5;
	margin: 0;
}
.index__CardList-item .content .circle {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  position: absolute;
  border-radius: 50%;
  border: solid 1px #004EA2;	
	right: 1.0rem; bottom: 1.0rem;
	width: 2.0rem;
	height: 2.0rem;
	transition: all 0.3s ease-out;
}
.index__CardList-item .content .circle .c-icon {
transform: scale(0.6);
}
.index__CardList-item:hover {
box-shadow: none;
}
.index__CardList-item:hover .content {

}
.index__CardList-item:hover .content .circle {
	background-color: #004EA2;
}
.index__CardList-item:hover .content .circle i {
	color: #fff;
}

@media screen and (max-width:640px){
	.index__CardList-item .link .content {
		padding: 0 2.0rem 2.0rem;
	}
	.index__CardList-item .link .content .text {
		padding-top: 0; margin-top: 0;
	}	
}


/*=============================================

index__CardList

===============================================*/
.bnr_area {
	display: flex;
	align-items: stretch;
}

.bnr_area .img_box {
	position: relative;
}
.bnr_area .img_box::before {
	content: "";
	position: absolute; left: 0; top: 0;
	width: 100%; height: 100%;
	background: rgba(0,0,0,.5);
}

.bnr_area .item {
	display: block;
	position: relative;
	overflow: hidden;
	width: 50%;
	min-height: 202px;	
}
.bnr_area .item::after {
    padding-top: 61.75%;
}
.bnr_area .box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  z-index: 2;
  color: #fff;
	font-weight: 900;
	text-shadow: 0 0 10px rgba(0,0,0,.9);
}
.bnr_area .box .circle {
	font-size: 1rem;
	position: absolute;
	right: 20px;
	bottom: 20px;

	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #004EA2;
	border-radius: 50%;
	width: 32px;
	height: 32px;

	color: #fff;
	margin-left: auto;
	padding-left: 4px;
	transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
}
.bnr_area .box .label {
	font-size: 1em;
	color: #fff;
}
.bnr_area .box .label .eng {
	font-size: 3em;
	display: block;
}

@media screen and (max-width:640px){
	.bnr_area {
		display: flex;
		flex-wrap: wrap;
		align-items: stretch;
}
	.bnr_area .item {
		width: 100%;
	}	
}


/*=============================================

.footer_contact

===============================================*/
.footer_contact {
	background: url("../images/bg_contact.jpg");
	background-size: cover;
}
.footer_contact__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	min-height: 400px;
    width: 100%;
    max-width: var(--contents_width);
	max-width: 1080px;
	margin: 0 auto;
}
.footer_contact__inner .txt_box {
	width:65%;
	text-align: left;
	color: #fff;
}
.footer_contact__inner .btn_box {
	width: 30%;
}
 .footer_contact__inner .txt_box .head_box {
    font-size: 3.7rem;
    margin-bottom: 40px;
  }

.btn a { text-decoration: none; }
.btn a p { margin: 0; }

.btn.is-tel {
	border: solid 1px #fff;
	border-radius: 0;
	padding: 15px 10px 10px;
	box-sizing: border-box;
	background: #fff;
	margin: 0 auto 10px;
}
.btn_link .num {
	font-size: 2rem; line-height: 1;
	display: block;
	margin: 0 0 5px;
}


.btn.is-contact {
	border: solid 1px #fff;
	border-radius: 0;
	padding: 0;
	box-sizing: border-box;
	font-size: 1.8rem; 
	background: #fff;
	display: flex;
}
.btn.is-contact a {
	width: 50%;
}
.btn.is-contact a img {
	width: 100%; height: auto;
}
.btn.is-contact i {
	color: #C8DB47;
}

@media screen and (max-width:640px){
	.footer_contact {
		padding: 30px 0;
	}	
	.footer_contact__inner .txt_box .head_box {
		font-size: 2.0rem; line-height: 1;
		margin-bottom: 10px;
		text-align: center;
	}	
	.footer_contact__inner {
		justify-content: center;
	}	
	.footer_contact__inner .txt_box {
		width:90%;
		text-align: left;
		color: #fff;
	}
	.footer_contact__inner .btn_box {
		width: 90%;
	}	
}
