@charset "utf-8";
/* CSS Document */

/*フォントスタイル*/
@import url('https://fonts.googleapis.com/css2?family=Kiwi+Maru:wght@300;400;500&family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');

/*基本*/

body{
	box-sizing : border-box;
	max-width: 100%;
	overflow-x: hidden;
	height: auto;
	width: auto;
	margin: 0;
	padding: 0;
	line-height: 1.4em;
	color:#333333;
	font-weight: 300;}

h1.h1_title{
	max-width:1040px;
    margin:0px auto;
	padding: 5px;
	font-family: 'Kiwi Maru', serif; font-size: 18px; font-weight: 300;}

.wrapper{
    width:100%;}
.wrapper .container{
    max-width:1040px;
    margin:0px auto;
    padding:80px 0px;
	}
.wrapper .container p{font-family: 'Noto Sans JP', sans-serif;}
.wrap{max-width:1040px;margin:0px auto;}
.bg_chuck {background: url("../images/bg-check.png")!important;}
.bg_gray {background:#f3f3f3!important;}
.bg_white{background: #FFFFFF!important;}
.border-bottom-blue{border-bottom: solid #417ab1;}
a {
    text-decoration: none;
    cursor: pointer;
    transition: color .3s;
}
.sp {
	display: none;
  }
  .pc {
	display: block;
  }



@media screen and (max-width: 767px) {
	/*body{overflow:　;}*/
	h1.h1_title{width: 100%; font-size: 8px ;line-height: 1.2em;margin-bottom: 10px; border-bottom: solid 1px #939393;padding: 5px;}
	.wrapper .container,.wrap{    max-width: 100%;width: 95%; margin: 0 auto; padding: 30px 0;}
	.header{padding:10px 10px;}
	.header .logo img{width: 120px;}
	.sp {
		display: block;
	  }
	  .pc {
		display: none;
	  }
	
}

.header{
	display: flex; align-items: center; justify-content: space-between; max-width:1040px;
    margin:0px auto;}
.header nav ul{display: flex; align-content: center;margin: 30px;}
.header nav ul li{margin: 10px;}
.header nav ul li a{text-decoration: none; font-family: 'Kiwi Maru', serif; color:#000000; font-weight: 300;}
.header nav ul li a:hover{color:#417ab1 ;}

.fv{background: url("../images/fv_bg.png") no-repeat; background-size: 100%; height: /*620px*/20vh; position: relative; padding-top: 300px; }
.fv .fv_title {
    position: absolute;
    top: 80px;
    background: #FFFFFF;
    width: 50%;
    text-align: center;
	height: 280px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 0 4px 4px 0;
	}

.fv .fv_title .fv_title_txt{
    text-align: center;
	font-family: 'Kiwi Maru', serif; font-size: 10px;}
.fv .fv_title .fv_title_txt p{color: #606163; font-size: 25px;letter-spacing: 3px;font-weight: 300;margin-bottom: 20px;}
.fv .fv_title .fv_title_txt h2{color:#417ab1; font-size: 45px;letter-spacing: 3px;line-height: 1.2em;font-weight: 500;}
.fv .fv_banner {
    display: flex;
    align-items: center;
    justify-content: space-between;margin-bottom: 30px;
}
.fv .fv_cta {
	display: flex;
    justify-content: space-between;
    align-items: center;
	box-shadow: 0px 8px 23px 3px #43434347;
}
.fv .fv_cta a {
	font-family: 'Kiwi Maru', serif;
    width: 50%;
	height: 160px;
    display: flex;
    align-items: center;
    justify-content: center;
	color: #FFFFFF; text-decoration: none;
	font-size: 25px;}
.fv .fv_cta a img{margin-right: 20px;}
.fv .fv_cta a.left{background: #417ab1; border-radius: 4px 0 0 4px;}
.fv .fv_cta a.right{background: #d5660d; border-radius: 0 4px 4px 0;}

.fv .fv_cta a.left:hover{background: #35689a;}
.fv .fv_cta a.right:hover{background: #ba5606;}



@media screen and (max-width: 767px) {
	.header nav{display: none;}
	.fv{
	background: url(../images/fv_bg.png) no-repeat #c6f0ff;
    background-size: 150%;
    background-position: -75px 0px;
    height: 150px;
    position: relative;
    padding-top: 90px;
	}
	.fv .fv_title{position: absolute;
		top: 45px;
		background: #FFFFFF;
		width: 60%;
		text-align: center;
		height: 140px;
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: 0 4px 4px 0;}
		
		
		.fv .fv_title .fv_title_txt p {font-size: 12px;
		margin-bottom: 10px;
		line-height: 1.2em;}
		.fv .fv_title .fv_title_txt h2 {font-size: 16px;}
	.fv .fv_banner{flex-wrap: wrap;}
	.fv .fv_banner div{width: 100%; margin-bottom: 10px;}
	
	.fv .fv_banner a,.fv .fv_banner img{width: 100%;}
	.fv .fv_cta a{font-size: 16px;    height: 95px;}
	.fv .fv_cta a img{width: 20px; margin-right:5px;}
}


/*footer*/
.footer {
    margin-top: 80px;
	position: relative;
}

.footer:after{position:absolute;background: url("../images/ft_img.png") no-repeat ; width: 100%; height: 100px;content: "";background-size: contain; background-position: center;top: 0px;    top: -70px;}

.footer .footerCon{
	position: relative;	
	background-position: bottom;
	padding-top: 30px;
}
.footerCon ul {
    display: flex;
    align-items: center;
    justify-content: center;
    list-style: none;
	background: #417ab1;
	padding: 10px 0;
}

.footerCon ul li{margin: 10px;}
.footerCon ul li a{line-height: 1.6em; color: #FFFFFF;    font-family: 'Kiwi Maru', serif;}
.footerCon ul li a:hover{text-decoration: underline;}

.footer p.copyright{background: #417ab1; color: #FFFFFF; text-align: center; padding: 5px 0; font-size: 12px;}

@media screen and (max-width: 767px) {
	.footerCon ul{flex-wrap: wrap;}
	.footerCon ul li {
    margin: 10px;
    width: 100%;
    margin: 0px 10px;
	}

}


/*ハンバーガーメニュー*/
#menu-btn-check {
    display: none;
}
.menu-btn {
    position: fixed;
    top: 35px;
    right: 10px;
    display: flex;
    height: 40px;
    width: 40px;
    justify-content: center;
    align-items: center;
    z-index: 90;
    background-color: #3584bb;
}
.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background-color: #ffffff;
    position: absolute;
}
.menu-btn span:before {
    bottom: 8px;
}
.menu-btn span:after {
    top: 8px;
}

.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 80;
    background-color: #3584bb;
}
.menu-content ul {
    padding: 70px 10px 0;
}
.menu-content ul li {
    border-bottom: solid 1px #ffffff;
    list-style: none;
}
.menu-content ul li a {
    display: block;
    width: 100%;
    font-size: 15px;
    box-sizing: border-box;
    color:#ffffff;
    text-decoration: none;
    padding: 9px 15px 10px 0;
    position: relative;
}
.menu-content ul li a::before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: solid 2px #ffffff;
    border-right: solid 2px #ffffff;
    transform: rotate(45deg);
    position: absolute;
    right: 11px;
    top: 16px;
}


.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%;/*leftの値を変更してメニューを画面外へ*/
    z-index: 80;
    background-color: #3584bb;
    transition: all 0.5s;/*アニメーション設定*/
}

#menu-btn-check:checked ~ .menu-content {
    left: 0;/*メニューを画面内へ*/
}

.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%;/*leftの値を変更してメニューを画面外へ*/
    z-index: 80;
    background-color: #3584bb;
    transition: all 0.5s;/*アニメーション設定*/
}


.front h2.title{
	text-align: center;
	font-size: 46px; font-weight: 400;
	font-weight: 500;
	margin-bottom: 60px;
	color: #417ab1;
	font-family: 'Kiwi Maru', serif;
	line-height: 1.2em;
}


.front h2.title span{background:linear-gradient(transparent 40%, #fcff18 40%);}

@media screen and (max-width: 767px) {
	.footer:after {
		top: -35px;
		}
	.front h2.title{font-size: 28px;width: 82%;margin: 0 auto;}
	.front section.point ul li .img{height: auto;}
	
}
@media screen and (max-width: 767px) {
	.news a.cta{width: 75%; margin: 20px auto 0; font-size: 16px;}
}

/*各　コンテンツ　point*/
.front section.point{padding-top: 30px;}
.front section.point ul{list-style: none;}
.front section.point ul li{display: flex; align-items: center;margin-bottom: 50px;}
.front section.point ul li:nth-child(2n){flex-direction: row-reverse;}
.front section.point ul li .txt{width: 50%; background: #FFFFFF; height: 500px; display: flex; align-items: center;padding:0 30px;}
.front section.point ul li .img{width: 50%; height: 500px;}
.front section.point ul li .img img{object-fit: cover; width: 100%;}
.front section.point ul li .txt span{background: #417ab1; color: #FFFFFF; padding: 10px 15px; display: inline-block; margin-bottom: 10px;font-size: 20px; letter-spacing: 1.2px;margin-bottom: 20px;}
.front section.point ul li .txt h3{font-size: 38px; letter-spacing: 1px;color: #417ab1; font-family: 'Kiwi Maru'; line-height: 1.2em;
	font-weight: 300;margin-bottom: 20px;}
.front section.point ul li .txt p{font-weight: 400;line-height: 1.4em; font-size: 16px;}

@media screen and (max-width: 767px) {
	.front section.point ul{width: 95%; margin: 0 auto;}
	.front section.point ul li{flex-flow: wrap;}
	.front section.point ul li .txt,.front section.point ul li .img{width: 100%;height: auto;}
	.front section.point ul li .txt{padding: 30px;}
	.front section.point ul li .txt h3{font-size: 25px;}
	.front section.point ul li:last-child{margin-bottom: 0;}
}

/*各　コンテンツ　news*/
section.news{padding: 80px 0;position: relative; z-index: 1;}
section.news:before
	{
	z-index: -1;
	position: absolute; 
	content: "";
	background: #e8f8ff; 
	width: 80%; height: 430px; 
	top: 160px;
	right: 0;}

.front_news{padding: 10px;}
.slide-con {
	position: relative;
    background: #fff;
    height: 240px!important;
    margin: 10px 20px 10px;
    display: block;
    position: relative;
    transition: all .3s ease 0s;
    box-shadow: 0 0 3px 0 rgb(0 0 0 / 25%);
    cursor: pointer;
    transition: all .3s ease 0s;
    box-shadow: 1px 6px 10px -5px rgb(167 167 167 / 84%);
    font-family: 'Noto Sans JP', sans-serif;
}
.slide-con a{display: block;}
.slide-con .img img{height: 130px; width: 100%; object-fit: cover}
.slide-con p.category {
    position: absolute;
    top: 110px;
    background: #417ab1;
    padding: 5px 15px;
    color: #fff;
    font-size: 14px;
    min-width: 60%;
    text-align: center;
}
.slide-con p.title{margin: 30px 10px 10px; font-size: 16px; font-weight: 400; color: #000000;}
.news a.cta {
    /* text-align: center; */
    display: block;
    margin: 20px auto 30px;
    border: solid 2px;
    padding: 20px;
    max-width: 520px;
    text-align: center;
    color: #417ab1;
    font-size: 22px;
    font-weight: 400;
    font-family: 'Noto Sans JP';
    border-radius: 100px;
	}
.news a.cta:hover{background:#417ab1;color: #FFFFFF; }

.slick-prev{left: 0px;}
.slick-next {
    right: 10px;
}



/*-------------------------------
ページstyle
--------------------------------*/
.page{padding: 80px 0;}
.page div.title h2{
    text-align: center;
    font-size: 32px;
    font-weight: 400;
    font-weight: 500;
    margin-bottom: 60px;
    color: #417ab1;
   ont-size: x;
    line-height: 1.2em;
}
.page article{padding: 0px 30px;}
.page article p{margin: 20px 0;line-height: 1.6em;}

.page article table{
    width: 100%;
  margin: 0 auto;
    border-collapse: collapse;
  }
  
  .page article table tr{
    border-bottom: solid 2px white;
  }
  
  .page article table tr:last-child{
    border-bottom: none;
  }
  
  .page article table th {
      position: relative;
      text-align: left;
      width: 30%;
      background-color: #417ab1;
      color: white;
      text-align: center;
      padding: 20px 0;
  }
  
  .page article table th:after{
    display: block;
    content: "";
    width: 0px;
    height: 0px;
    position: absolute;
    top:calc(50% - 10px);
    right:-10px;
    border-left: 10px solid #417ab1;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
  }
  
  .page article table td{
    text-align: left;
    width: 70%;
    text-align: center;
    background-color: #eee;
    padding: 10px 0;
  }
  @media screen and (max-width: 767px) {
      .page article {padding: 10px;}
      .page article table th{width: 20%;}
      .page article table td{font-size: 14px;}
  }
  