/*--全体--*/
html {
  scroll-behavior: smooth;
}
body {
  width: 100%;
  font-family: YuGothic, 'Yu Gothic', 'Bodoni MT', sans-serif;
  margin: 0;
	font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;

}
.inner00, .header-bar-inner {
  max-width: 1200px;
  margin: 0 auto;
}
.inner01 {
  max-width: 900px;
  margin: 0 auto;
}
section {
  padding: 100px 0px;
}
p {
  font-size: 16px;
  line-height: 2em;
}
.bold {
  font-weight: bold;
}
.white {
  color: #fff;
}
.blue {
  color: #2787D9;
}
.center {
  text-align: center;
}
.shadow {
  box-shadow: 4px 16px 20px rgba(0, 0, 0, 0.25);
}
.sp_none {
  display: block;
}
.pc_none {
  display: none;
}
.pc_br{
	display: block;
}
.second, .third {
  display: flex;
  justify-content: space-between;
}
.one_second {
  flex-basis: 50%;
}
.one_third {
  flex-basis: 33%;
}
.two_third {
  flex-basis: 66%;
}
.second img, .third img, .fourth img, .fifth img {
  width: 100%;
}
/*--header--*/
#menu-btn-check {
  display: none;
}
#main_visual h2 {
  margin: 0;
  width: 20%
}
#main_visual h2 img {
  width: 100%;
}
#global-nav {
  width: 100%;
}
#global-nav ul {
  list-style: none;
  padding-inline-start: 0px;
}
#global-nav ul li {
  float: left;
  margin: 0 15px;
}
#global-nav ul li a {
  text-decoration: none;
  color: #fff;
}
#global-nav ul li a:hover {
  opacity: 0.7;
}
header {
  background-color: rgba(39, 135, 217, 0.5);
}
.header-bar-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 90px;
}
.header-bar-inner ul {
  margin-top: 0;
  margin-bottom: 0;
}
/*--main_visual--*/
#main_visual {
  background-image: url("img/mv_img.png");
  background-size: cover;
  background-position: center;
  height: 700px;
  padding: 0;
}
#main_visual .inner00 {
  position: relative;
}
.main_text {
  position: absolute;
  top: 90px;
}
.main_text img {
  width: 500px;
}
.main_text h1 {
  font-size: 4em;
  margin-top: 20px;
  margin-bottom: 30px;
}
.main_text .btn {
  display: inline-block;
  background: yellow;
  padding: 15px 100px;
  font-size: 1.5em;
  border-radius: 50px;
  text-decoration: none;
  color: #000;
  font-weight: bold;
}
.main_text .btn:hover {
  background: #E5E5E5;
}
/*--lead--*/
#lead {
  background-image: url("img/lead_back.png");
  background-size: auto;
  background-repeat: repeat-y;
  height: 400px;
}
#lead .inner00 {
  position: relative;
}
#lead img {
  width: 400px;
  position: absolute;
  left: 0px;
  top: 70px;
  left: -20px;
  z-index: 1;
}
#lead .inner00 div {
  background: #fff;
  padding: 50px;
  width: 64%;
  position: absolute;
  right: 0;
}
#lead h3 {
  font-size: 2em;
  margin-top: 0;
}
/*--point--*/
#point {
  background: #F2F9FA;
}
.title {
  font-size: 2em;
  position: relative;
  display: inline-block;
  margin-bottom: 80px;
	margin-top:0;
  width: 100%;
}
.u_blue:before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -15px;
  display: inline-block;
  width: 110px;
  height: 5px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background: linear-gradient(90deg, #2787D9, #8FC5E6);
  border-radius: 2px;
}
.u_white:before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -15px;
  display: inline-block;
  width: 110px;
  height: 5px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background: #fff;
  border-radius: 2px;
}
#point .title {
  margin-bottom: 30px;
}
.point_box {
  background: #fff;
  padding: 40px;
  display: flex;
  margin: 120px 0px;
}
.point_box:last-child{
		margin-bottom:0;
	}
.point_text {
  flex-basis: 44%;
  position: relative;
}
.point_text .num {
  position: absolute;
  top: -100px;
  left: 22px;
  width: 150px;
}
.point_text h3 {
  margin-top: 100px;
  font-size: 2em;
  margin-bottom: 20px;
}
.point_img {
  flex-basis: 56%;
  display: flex;
  justify-content: space-around;
}
.point_img div {
  width: 43%;
  border-radius: 30px;
}
.point_img img {
  width: 130px;
  margin: 20px auto 0;
  display: block;
}
.point_img .normal h4 {
  background: #989898;
  margin: 0;
  padding: 10px;
  font-size: 1.4em;
  border-radius: 30px 30px 0 0;
}
.point_img .daiko h4 {
  background: #2787D9;
  margin: 0;
  padding: 10px;
  font-size: 1.4em;
  border-radius: 30px 30px 0 0;
}
.point_img p {
  font-size: 20px;
  margin-top: 0px;
}
.point_img .daiko p {
  display: inline;
  border-bottom: 7px solid #FAFA6A;
}
/*--cta--*/
#cta {
  background-image: url("img/cta_img.png");
  background-size: cover;
}
#cta h3 {
  font-size: 2em;
  margin-top: 0;
}
#cta .btn {
  display: inline-block;
  background: #fff;
  padding: 15px 100px;
  font-size: 1.5em;
  border-radius: 50px;
  text-decoration: none;
  font-weight: bold;
  margin: 0 auto;
}
#cta .btn:hover {
  background: #E5E5E5;
}
/*--summary--*/
#summary p {
  font-size: 1.5em;
  text-align: center;
  line-height: 2em;
}
#summary p .blue {
  font-weight: bold;
  border-bottom: 7px solid #FAFA6A;
	font-size:1.4em;
}
#summary .box {
  display: flex;
  background: #F4F4F4;
  padding: 30px;
  border-radius: 30px;
  border: 4px solid #2787D9;
  margin-top: 40px;
}
#summary .box img {
  width: 20%;
	object-fit: contain;
}
#summary .box ul {
  list-style: none;
}
#summary .box ul li {
  font-size: 2em;
}
#summary .box ul li span {
  color: #2787D9;
}
/*--voice--*/
#voice {
  background: linear-gradient(135deg, #2888D9, #52C2D0);
}
#voice .box {
  background: #fff;
  border-radius: 18px;
  display: flex;
  padding: 10px 30px;
 
}

#voice .box:not(:last-child){
	 margin-bottom: 50px;
}
#voice .box img {
  width: 20%;
  margin-right: 10px;
	object-fit: contain;
}
#voice .box h4 {
  font-size: 1.2em;
  margin-bottom: 20px;
}
/*--faq--*/
#faq details {
  margin-bottom: 7px;
  border-bottom: 2px solid #d0d0d0;
}
#faq details summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding: 1.3em 2em;
  color: #000000;
  font-weight: 600;
  cursor: pointer;
}
#faq details summary::-webkit-details-marker {
  display: none;
}
#faq details summary::after {
  transform: translateY(-25%) rotate(45deg);
  width: 7px;
  height: 7px;
  margin-left: 10px;
  border-bottom: 3px solid #000000b3;
  border-right: 3px solid #000000b3;
  content: '';
  transition: transform .3s;
}
#faq details[open] summary::after {
  transform: rotate(225deg);
}
#faq details p {
  transform: translateY(-10px);
  opacity: 0;
  margin: 0;
  padding: .3em 2em 1.5em;
  color: #000000;
  transition: transform .5s, opacity .5s;
  line-height: 2em;
}
#faq details[open] p {
  transform: none;
  opacity: 1;
}
/*--about--*/
#about {
  background: #EFF9FA;
}
#about img {
  width: 450px;
}
#about .text {
  background-color: rgba(255, 255, 255, 0.7);
  padding: 25px;
  width: 500px;
  position: absolute;
  z-index: 10;
}
#about .box_left, .box_right {
  position: relative;
  height: 400px;
}
#about .box_left img {
  position: absolute;
  top: 0;
  right: 0;
}
#about .box_left .text {
  top: 30px;
}
#about .bl02 .text {
  top: 60px;
}
#about .box_right img {
  position: absolute;
  top: 0;
  left: 0;
}
#about .box_right .text {
  top: 30px;
  right: 0
}
#about h4 {
  font-size: 1.5em;
  margin: 0;
}
#about p {
  margin-bottom: 0;
}
/*--footer--*/
#footer {
  background: #B7D8EA;
  padding-bottom: 40px;
}
#footer h3 {
  font-size: 1.8rem;
  line-height: 1.7em;
  margin-top: 0;
}
.a_content {
  margin-top: 40px;
  background: #fff;
  border-radius: 20px;
  padding: 50px;
  margin-bottom: 60px;
}
.a_content img {
  width: 100%;
}
.a_content p {
  margin-top: 0;
  word-wrap: break-word;
}
.a_content a {
  display: block;
  text-align: center;
  background: #2787D9;
  color: #fff;
  text-decoration: none;
  padding: 15px;
  border-radius: 30px;
  font-weight: bold;
  font-size: 1.2rem;
  margin-top: 30px;
}
.a_content a:hover {
  background: #B7B7B7;
}
#footer .third {
  gap: 50px;
  align-items: flex-end;
}
#footer .third h4 {
  margin-bottom: 0px;
}
.copyright {
  background: #000;
  color: #fff;
  text-align: center;
  margin: 0;
}


/*--1200px以下--*/
@media screen and (max-width: 1200px) {
  /*--バーガー--*/
  .menu-btn {
    position: fixed;
    top: 10px;
    right: 10px;
    display: flex;
    height: 60px;
    width: 60px;
    justify-content: center;
    align-items: center;
    z-index: 90;
    background-color: #2787D9;
  }
  .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-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0); /*メニューオープン時は真ん中の線を透明にする*/
  }
  #menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    transform: rotate(45deg);
  }
  #menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    transform: rotate(-45deg);
  }
  #menu-btn-check {
    display: none;
  }
  .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: 20px;
    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: rgba(39, 135, 217, 0.7);
    transition: all 0.5s; /*アニメーション設定*/
  }
  #menu-btn-check:checked ~ .menu-content {
    left: 0; /*メニューを画面内へ*/
  }
  #global-nav {
    width: 100%;
  }
  #global-nav ul li {
    float: initial;
  }
  .header-bar-inner {
    padding: 0 30px;
	height:80px;
  }
  .inner00, .inner01 {
    width: 95%;
  }
	/*-------lead----------*/
	#lead{
		height:600px;
	}
	#lead .inner00 div{
		width:80%;
		top: 180px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	}
	#lead img{
		width:300px;
		top: -40px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	}
	/*-------point----------*/
	.point_text h3{
		font-size:1.5em;
	}
	.point_img .daiko h4,.point_img .normal h4 {
		font-size: 1em;
	}
	.point_img p{
		font-size:17px;
	}
}



/*-------768px 以下----------*/
@media screen and (max-width: 768px) {
  /*--全体--*/
  body {
    width: 100%;
  }
  section {
    padding: 70px 0px;
  }
  .inner {
    width: 90%;
  }
  .second, .third, .fourth {
    flex-wrap: wrap;
  }
  .one_second, .one_third, .two_third, .one_fourth, .three_fourth {
    flex-basis: 100%;
  }
  .sp_reverse {
    flex-direction: column-reverse;
  }
  .sp_br {
    display: block;
  }
		.pc_br{
	display: inline;
}
  .sp_none {
    display: none;
  }
  .pc_none {
    display: block;
  }
	.pc_br{
	display: inline;
}
	/*-------main_visual----------*/
	#main_visual{
		height:550px;
		background-image: url("img/mainvisual_sp.png");
	}
	
	#main_visual h2{
		width:40%;
	}
	.main_text img{
		width:90%;
	}
	.main_text h1{
		font-size:2em;
	}
	.main_text .btn{
	width: 90%;
    padding: 15px 0px;
		font-size: 1.2em;
	}
	/*-------lead----------*/
	#lead img{
		width:200px;
	}
	#lead h3 {
    font-size: 1.2em;
	}
	#lead .inner00 div{
		padding:40px 20px;
		top:114px;
	}
	#lead .inner00 div p{
		margin-bottom:0;
	}
	
	/*-------point---------*/
	.title{
		font-size:1.2em;
		margin-bottom:50px;
	}
	.u_blue:before{
		width:60px;
	}
	.point_text .num{
		width:100px;
		top:-78px;
		left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	}
	.point_box{
		    flex-direction: column;
		margin:80px 0;
		padding:40px 20px;
	}
	.point_box:last-child{
		margin-bottom:0;
	}
	.point_text h3{
		margin-top:20px;
		text-align: center;
		font-size:1.3em;
	}
	.point_img{
	    justify-content: space-between;
	}
	.point_img div{
		width:47%;
		border-radius: 15px;
	}
	.point_img .daiko h4, .point_img .normal h4{
		border-radius:15px 15px 0px 0px;
	}
	.point_img img{
		width:70px;
	}
	.point_img p{
		font-size:14px;
	}
	
	/*-------cta---------*/
	#cta h3{
		font-size:1.3em;
	}
	#cta .btn{
		width: 90%;
    padding: 15px 0px;
		font-size: 1.2em;
	}
	
	/*-------summary---------*/
	#summary p{
		font-size:1.2em;
	}
	#summary .box{
		flex-direction: column;
    padding: 20px 30px;
	}
	#summary .box img{
		width:40%;
		margin:0 auto;
	}
	#summary .box ul{
		padding-left:0;
	}
	#summary .box ul li{
		font-size:1.5em;
	}
	
	/*-------voice---------*/
	#voice .box{
		padding:20px;
		flex-direction: column;
    text-align: center;
	}
	#voice .box img{
		margin:0 auto;
		width:40%;
	}
	
	.box_left, .box_right{
		position: static !important;;
		height:auto !important;
	}
	.box_left img, .box_right img{
		width:100% !important;;
		position: static !important;
		margin:0px auto;
	}

	#about .text{
		position: static;
		width:86%;
		margin-bottom:50px;
	}
	.bl02 .text{
		margin-bottom:0 !important;
	}

	.box_left{
		display: flex;
    flex-direction: column-reverse;
	}
	#about h4{
		font-size:1.3em;
	}
	
	/*-------footer---------*/
	#footer h3{
		font-size:1.3em;
	}
	.a_content{
		padding: 20px 30px;
	}
	.a_content a{
		width: 100%;
    padding: 15px 0px;
		font-size: 1.2em;
	}
	#footer .third{
		text-align: center;
	}
	#footer .third .one_third a img{
		width:50%;
	}
}