
@charset "utf-8";
/*----------------------------------共通--------------------------------------*/
h3{font-size: 16px; line-height: 160%;font-family: poppins, sans-serif; font-weight: 600; font-style: normal; }
h3 span{font-size: 48px; font-family: 'Noto-Sans-JP-Medium';background: linear-gradient(to right,  #2852A7 60%, #299C9D 90%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; display: inline-block;letter-spacing: 0.05em; line-height: 160%;}
h3 img{padding: 0 0 12px; }
/*----------------------------------#vision--------------------------------------*/
#vision{border-radius: 150px; }

#vision .img_box{padding: 0 0 118px;}
#vision .img_box img{width: 100%; height: auto; border-radius: 128px;}
#vision .ct_box .box{display: flex; align-items: flex-start; width: 1244px; margin: 0 auto;}
#vision .ct_box .box .tt_box{background: #fff;  padding: 0 0 0 197px;}
#vision .ct_box .box .tt_box h4{font-size: 30px; line-height: 170%;}
#vision .ct_box .box .tt_box p{font-size: 18px; line-height: 210%; padding: 43px 0 0;letter-spacing: 0.02em;}

#vision .bottom_box{padding: 121px 0 110px ; border-radius: 0 0 150px 150px; width: 1244px; margin: 0 auto;}
#vision .bottom_box .bg_box{background: linear-gradient( #222c8f 50%, #31b9a2 100%); border-radius: 50px;  padding: 85px 80px 82px; }
#vision .bottom_box .bg_box h3{ color: #fff; width: 100%; border-bottom: 1px solid #fff; padding: 0 0 17px;}
#vision .bottom_box .bg_box h3 span{color: #fff;background: none; -webkit-text-fill-color: #fff;}
#vision .bottom_box .bg_box .box{ padding: 60px 0 0;}
#vision .bottom_box .bg_box .box .tt_box{width: 100%; height: auto; margin:-10px 101px 0 0;}
#vision .bottom_box .bg_box .box .tt_box h4{font-size: 30px; line-height: 170%; color: #fff;}
#vision .bottom_box .bg_box .box .tt_box p{font-size: 16px; line-height: 200%; color: #fff; letter-spacing: 0.05em; padding: 50px 0 0;}

#vision .bottom_box .bg_box .box .img{width: 100%;}
#vision .bottom_box .bg_box .box .img img{border-radius: 28px;}
#vision .bottom_box .bg_box .box .img p{text-align: right; font-weight: 500; font-size: 14px; line-height: 210%; color: #fff; padding: 10px 0 0;}
#vision .bottom_box .bg_box .box .img p span{font-size: 19px;}

/*----------------------------------#history--------------------------------------*/
#history{padding: 83px 0 0 ;}
#history h3 span{font-family: poppins, sans-serif; font-weight: 600; font-style: normal; background: linear-gradient(to right,  #2852A7 60%, #299C9D 90%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; display: inline-block;letter-spacing: 0.05em;}
#history .bg_box{ padding: 144px 0 126px; background: rgb(255,255,255,.85);border-radius:  100px; }
#history .top_box{width: 932px; margin: 0 10% 0 13.3%;}
#history ul{width: 932px; margin: 24px 10% 0 13.3%;}
#history ul li{display: flex; align-items: center;height: 193px; }
#history ul li .box{display: flex; align-items: center; border-left: 1px solid #2952a7;position: relative;height: 193px;width: calc(100% - 180px);}
#history ul li  p.data{display: flex; align-items: center; height: 100%;margin: 0 45px 55px 0; font-size: 36px; font-weight: 600;color: #2952a7; width: 115px;letter-spacing: 0.02em;height: auto; }



#history ul li .box .border{top: 34%;transform: translateY(-48%);-webkit-transform: translateY(-48%); position: absolute; display: block; width: 26px; height: 18px; right: 0px; left: -14px;} 

#history ul li p.je{font-size: 24px; font-weight: 600; margin:  0 0 50px 55px; color: #2952a7; width: 62px;letter-spacing: 0.02em;}
#history ul li .tt_box{width: 400px;font-size: 16px; line-height: 180%; margin: 0 0 20px 90px;letter-spacing: 0.02em;}

#history ul li .img_box{margin: 0 0 0 95px;  width: 318px; height: auto;}
#history ul li .img_box img{width: 100%; height: auto;border-radius: 25px; border: 2px solid #fff;}

#history ul li:first-child p.je{margin:  0 0 65px 55px;}
#history ul li:first-child .box{ margin: 30px 0 0; height: 165px; }
#history ul li:first-child .tt_box {margin: 0 0 30px 90px;}
#history ul li:first-child .box .border{top: 24%;} 

/*----------------------------------#overview--------------------------------------*/
#overview{padding: 83px 0 0;}
#overview .overview_box{background: rgb(255,255,255,.85);border-radius:  100px; padding: 142px 0 145px;}
#overview .overview_box .overview_box_two {width: 917px; height: auto;display: flex; margin: 0 auto; justify-content: space-between;}
#overview .overview_box .overview_box_two .tbe_box table{width: 100%;}
#overview .overview_box .overview_box_two .tbe_box{width:507px;}

#overview .overview_box .overview_box_two .tbe_box tr:last-child th,
#overview .overview_box .overview_box_two .tbe_box tr:last-child td{border-bottom: 1px solid #bed0e9;}
#overview .overview_box .overview_box_two .tbe_box table tr th{text-align: left; font-size: 14px; vertical-align: top; padding: 24px 0 26px; width: 42%; line-height: 170%;border-top: 1px solid #bed0e9;letter-spacing: 0.02em;}
#overview .overview_box .overview_box_two .tbe_box table tr td{font-size: 16px; vertical-align: top; padding: 24px 0 26px;width:calc(100% - 42%); line-height: 170%;border-top: 1px solid #bed0e9;letter-spacing: 0.02em;}

.cta .ct_box h3 span{background: none; -webkit-text-fill-color: #fff; line-height: 100%;}

@media only screen and (max-width: 768px) {
	/*----------------------------------共通--------------------------------------*/
	h3{font-size: 13px;}
	h3 span{font-size: 31px;}
	h3 img{padding: 0 0 8px;width: 100%; height: auto; }
	/*----------------------------------#vision--------------------------------------*/
	#vision{border-radius: 30px;}
	#vision .img_box{padding: 0 0 50px;}
	#vision .img_box img{ border-radius: 36px;}
	#vision .ct_box .box{ flex-direction: column; width: auto;}
	#vision .ct_box .box .tt_box{ width: auto; padding: 22px 0 0;}
	#vision .ct_box .box .tt_box h4{font-size: 24px;;height: auto;}
	#vision .ct_box .box .tt_box p{font-size: 12px; padding: 22px 0 0;}
	
	#vision .bottom_box{padding: 60px 0 0px ; border-radius: 0 0 30px 30px; width: auto;}
	#vision .bottom_box .bg_box{padding: 30px 25px 35px; width: auto; border-radius: 25px; }
	#vision .bottom_box .bg_box h3{padding: 0 0 11px;}
	#vision .bottom_box .bg_box .box{ padding: 25px 0 0;flex-direction: column-reverse;}
	#vision .bottom_box .bg_box .box .tt_box{width: auto;  margin: 0 auto;}
	#vision .bottom_box .bg_box .box .tt_box h4{font-size: 24px; padding: 25px 0 0; }
	#vision .bottom_box .bg_box .box .tt_box p{font-size: 11px; padding: 20px 0 0; }
	
	#vision .bottom_box .bg_box .box .img{width: auto;}
	#vision .bottom_box .bg_box .box .img p{ font-size: 11px; padding: 18px 0 0; line-height: 200%;}
	#vision .bottom_box .bg_box .box .img p span{font-size: 13px; line-height: 200%;}
	
	/*----------------------------------#history--------------------------------------*/
	#history{padding: 55px 0 0 ;}
	#history .bg_box{ padding: 35px 0 38px; border-radius: 30px;}
	#history .top_box {width: auto; margin: 0 25px; }
	#history ul{width: auto; margin: 30px 25px 0;}
	#history ul li{height: auto; align-items: flex-start;}
	#history ul li p.data{font-size: 23px; margin: 7px 18px 0 0; width: 70px;align-items: flex-start;}
	#history ul li .box .border{ width: 18px; height: auto;top: 17px; left: -10px; transform: translateY(-48%); -webkit-transform: translateY(-48%);}
	#history ul li:not(:last-child) .box{padding-bottom:23px;}
	#history ul li .box{padding: 12px 0 0 28px;display: flex; align-items: flex-start; flex-direction: column;width: calc(100% - 70px);height: auto}
	#history ul li p.je{font-size: 17px;  margin: 0px; width: 62px;}
	#history ul li .tt_box{width: 100%;font-size: 12px; margin: 8px 0 0;}
	
	#history ul li .img_box{margin: 17px 0 0; width: 100%; height: auto;}
	#history ul li .img_box img{border-radius: 15px;}
	
	#history ul li:first-child p.data{margin: 7px 18px 0 0;}
	#history ul li:first-child p.je{margin:  0px;}
	#history ul li:first-child .box{ margin: 0px; height: auto; }
	
	#history ul li:first-child .tt_box {margin: 8px 0 0;}
	#history ul li:first-child .box .border{top: 17px;} 
	
	/*----------------------------------#overview--------------------------------------*/
	#overview{padding: 47px 0 0;}
	#overview .overview_box{ padding: 33px 25px 54px;border-radius: 30px;}
	#overview .overview_box .overview_box_two{display: flex; flex-direction: column;}
	#overview .overview_box .title_box .title{width: 151px; height: auto;}
	#overview .overview_box .overview_box_two {width: 100%; flex-direction: column; }
	#overview .overview_box .overview_box_two .tbe_box{padding: 21px 0 0; width:100%;}
	#overview .overview_box .overview_box_two .tbe_box table tr th{ font-size: 11px;  padding: 17px 0 16px; width: 28%; }
	#overview .overview_box .overview_box_two .tbe_box table tr td{font-size: 12px;  padding: 17px 0 16px;width:auto;}
}

