/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
body {
  font-family:"Helvetica Neue","Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #444444;
  background-color: #0079d1;
  font-feature-settings: "palt";
  font-size:clamp(1rem, 1.5vw, 1.1rem);
  line-height: 1.6;
  letter-spacing: -.01rem;
  animation: fadeIn 1s ease-in 0s 1 normal;
}
@keyframes fadeIn {
    0% {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}
a {
  text-decoration: none;
  color: #3355FF;
}

a:hover {
  color: #3c6dff;
  text-decoration: none;
}
img{max-width: 100%;}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6{
  color: #222;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: .1rem;
}
.t-yellow{
  color: #fff600;
}
.t-blue{
color: #0079d1;
}
.t-red{
  color: #d3111c;
}
.t-pink{
  color: #e40c54;
}
.t-green{
  color: #23abc7;
}
.t-navy{
  color: #0c4796;
}
.t-shadow-w {
  text-shadow: 1px 1px 1px rgba(255,255,255,.8), -1px -1px 1px rgba(255,255,255,.8), -1px 1px 1px rgba(255,255,255,.8), 1px -1px 1px rgba(255,255,255,.8);
}
.bg-blue{background-color: #0079d1;}
.bg-yellow{background-color: #fff600;}
.m_yellow {background:linear-gradient(transparent 35%, #ff6 50%);}
.font-b{font-weight: 800;}
.t-shadow-b {
  text-shadow: 1px 1px 1px #0079d1, -1px -1px 1px #0079d1, -1px 1px 1px #0079d1, 1px -1px 1px #0079d1;
}

/*--------------------------------------------------------------
# Hero Section
--------------------------------------------------------------*/
section#hero{
  padding: 0 0 1.6rem 0;
}
#hero img{width: 100%;
padding: 0;}
#hero .container {
  max-width: 1418px;
  margin: 0 auto;
  padding: 0;
}
.cta-tsp{
  position: absolute;
  left: 0;
  right: 0;
  margin:auto;
  bottom:10.5vw;
}
.annai{font-size:clamp(.75rem, 2vw, 1.2rem);
  padding-top: 5px;
letter-spacing: -.015rem;}
.cta-h{padding-bottom: 4rem;}
#cta-top{
  background: url(../img/cta-bg.png) top center no-repeat;
  background-size: cover;
  position: relative;
  padding-bottom: 4rem;
}
.cta-in{
  position: absolute;
  max-width: 960px;
  top:0;
  bottom: 0;
  left: 0;
  right: 0;
  margin:auto;
  padding: 6rem 0 8rem;
}
#cta-top .btn, .cta-tsp .btn, #cta-last .btn, .cta-bsp .btn{
  max-width: 640px;
  padding: 5px 6rem;
  font-family: "noto-sans-cjk-jp", sans-serif;
  font-size: clamp(2rem, 6vw, 3.5rem);
  border-width: 4px;
  font-weight: 800;
  background-color: #00b83e;
}

#cta-top .btn:hover, #cta-top .btn:active, .cta-tsp .btn:hover, .cta-tsp .btn:active, #cta-last .btn:hover, #cta-last .btn:active, .cta-bsp .btn:hover, .cta-bsp .btn:active{
  color: #0079d1;
  background-color: #fff;
}
.cta-ht{
  max-height: 460px;
  min-height: 400px;
}
@media (min-width: 1400px) {
  #cta-top{
    background-size: contain;
  }
}
@media (max-width: 991px) {
  #hero {
    height: auto;
    text-align: center;
  }
  .cta-tsp{
    bottom: 14.5vw;
  }
}
@media (max-width: 767px) {
.hero-bg {
  background: #fff;
}
.annai{padding-top: 20px;}
}
@media (max-width: 576px) {
  .cta-tsp{
    bottom: 10.5vw;
  }
  .cta-tsp .btn, .cta-bsp .btn{
    padding: 5px 3.5rem;
    font-size: clamp(1.6rem, 6vw, 3.5rem);
  }
  .annai{padding-top: 0;
  padding-bottom: 10px;}
}
/*--------------------------------------------------------------
# Sections General
--------------------------------------------------------------*/
section {
  padding:5rem 0 4rem;
  margin: 0 auto;
  overflow-x: hidden;
}
@media (max-width: 767px) {
  section {
    padding:2.5rem 0;}
}
main{ overflow-x: hidden;}
main .container{
  max-width: 940px;
}

.heading span {
	display: flex;
	align-items: center;
	color: #d3111c;
	font-size: 18px;
  padding-bottom: 1rem;
}

.heading span::before {
	content: '';
	display: inline-block;
	margin-right: 15px;
	width: 20px;
	height: 5px;
	background-color: #d3111c;
  margin-left: -35px;
}
p{margin-bottom: 1.2rem;}


 h2 {
  font-size: clamp(20px, 3.5vw, 30px);
  font-weight:700;
  margin-bottom: 20px;
  margin-left: 35px;
  letter-spacing: .005rem;
}

.section-title p {
  margin-bottom: 0;
}

/*---Achievement-----*/
.ac_box{
  background-color: #0079d1;
  border-radius: 8px;
  max-width: 840px;
  margin: 2rem auto;
  padding: 6px;
  position: relative;
}
.ac_box > span > img{
  position: absolute;
  content: '';
	display: inline-block;
  top:-26px;
  right:3rem;
}
.ac_box h3{
  position: relative;
  font-size: clamp(24px, 4vw, 2.6rem);
  font-weight: 500;
  text-align: center;
  letter-spacing: -.01rem;
}
.ac_box h3 > span > img{
  position: absolute;
  content: '';
	display: inline-block;
  top:-7px;
  margin-left: -35px;

}
.ac_box_in{
  background-color: #fff;
  padding: 1.5rem;
  border-bottom-left-radius: 8px;
border-bottom-right-radius: 8px;
}
@media (max-width: 767px) {
  h2 {
    margin-bottom: 0;
  }
  .ac_box > span >img{
    max-width: 9vw;
    right:.5rem;
  }
  .ac_box h3 > span > img{
    max-width: 7vw;
    margin-left: -25px;
  }
}
/*---Benefit-----*/
.heading.bg-b span {
  color: #fff600;
}
.heading.bg-b span::before{
  background-color: #fff600;
}
.bene-box{
  max-width: 840px;
  margin: 2rem auto 1rem;
}
h4{
  font-size: clamp(22px, 3.5vw, 2rem);
  font-weight: 500;
  letter-spacing: 0;
}
@media (max-width: 400px) {
  .bene-box img{max-width: 110px;}
}

/*voice***************/
.v-tit{margin-left: 0;
font-size: clamp(2rem, 3.5vw, 4rem);
margin-bottom: 0;
color: #0c4796;
font-family: "noto-sans-cjk-jp", sans-serif;}
.v-tit small{font-size: 60%;
  display: inline-block;
padding-right: 5px;}
.v-box{
  border:6px solid #0079d1;
  border-radius: 10px;
  color: #0c4796;
  letter-spacing: .1rem;
}
p{letter-spacing: 0;}
#voice .h3{
  font-size: clamp(1.2rem, 2vw, 1.8rem);;
}
@media (min-width: 575px) {
  .v-tit{margin-left: 25px;}
}
/*cta-last***************/
#cta-last-sp{
  padding: 4rem 0 2rem;
}
#cta-last{
  background: url(../img/cta2_bg.png) top center no-repeat;
  background-size: cover;
  position: relative;
  padding-bottom: 4rem;
}
#cta-last .btn{
  position: absolute;
  bottom:17rem;
  left: 0;
  right: 0;
  margin: 0 auto;
}
#cta-last .annai{
  position: absolute;
  bottom:11.5rem;
  left: 0;
  right: 0;
  margin: 0 auto;
}
#cta-last-sp .annai{
  padding-top: 30px;
}
.cta-bsp {margin-top: 3rem;}
@media (max-width: 767px) {
  #cta-last-sp{
    padding: 2.5rem 0 0;
  }
}
@media (max-width: 576px) {
 .cta-bsp .btn{
    padding: 6px 3.5rem;
    font-size: clamp(1.9rem, 6vw, 3.5rem);
  }
}
/*profile***************/
.p-box{
  background-color: #daeffe;
  border-radius: 10px;
}
#profile h2{
  margin-bottom: 20px;
}
#profile h2 span{
  color: #d3111c;
  font-size: 70%;
  font-weight: 400;
}
#profile h4 span{
  color: #daeffe;
  font-weight: 700;
  font-size: 90%;
}
.asami-i{
  position: absolute;
  right:30px;
  top: 20px;
  max-width: 280px;
  width:18.5vw;
}
/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
#footer {
  padding: 15px 0 13px 0;
  color: #ebebeb;
  font-size: 14px;
  background: #ebf7fc;
  background: #1b1b1b;
  text-align: center;
}
#footer a{color: #ebebeb;}
#footer .copyright {
  color: #ebebeb;
  text-align: center;
}

/*** btn ani**********/
.cp_anime09 {
  position: absolute;
  left: 0;
  right:0;
  margin: -51px auto 0;
}
.cp_anime09 .cp_center,
.cp_anime09 .cp_explosion {
  position: absolute;
  left: 0;
  right:0;
  top:3px;
  margin: 0 auto;
  max-width: 610px;
  height: 102px;
  /*padding: 5px 6rem;*/
  font-family: "noto-sans-cjk-jp", sans-serif;
  font-size: clamp(2rem, 6vw, 3.5rem);
  border: 4px solid #fff;
  font-weight: 800;
  border-radius: 51px;
  color: #fff;
  /*background-color: #00b83e;*/
}
.cp_anime09 .cp_center a{
  color: #fff;
  display: block;
  z-index: 1000;
}
.cp_anime09 .cp_center {
	-webkit-animation: anime09_pulse 1.5s infinite;
	        animation: anime09_pulse 1.5s infinite;
	opacity: 1;
	background: rgba(0,184,62 ,1);
  z-index: 100;
}
.cp_anime09 .cp_explosion {
	-webkit-animation: anime09_pulseradius 1.5s infinite;
	        animation: anime09_pulseradius 1.5s infinite;
	background: rgba(0,184,62 ,0.5);
  border: 0;
  pointer-events: none;
  z-index: 10;
}
#cta-last-sp .cp_anime09 {
  position: relative;
  margin: 0 auto;
  padding: 4vw 0 4.5vw;
}
#cta-last-sp .cp_anime09 .cp_center,
#cta-last-sp .cp_anime09 .cp_explosion {
  top:0;
}
#cta-last .cp_anime09 {
  bottom:380px;
}
@media (max-width: 1400px) {
  .cp_anime09 .cp_center,
  .cp_anime09 .cp_explosion {
    top:3vw;
  }
  #cta-last .cp_anime09 {
    bottom:420px;
  }
}
@media (max-width: 991px) {
  .cp_anime09 .cp_center,
  .cp_anime09 .cp_explosion {
    height: 90px;
  line-height: 80px;
  top:-10vw;}
}
@media (max-width: 767px) {
  .cp_anime09 .cp_center,
  .cp_anime09 .cp_explosion {
    max-width: 450px;
    height: 80px;
  line-height: 70px;
  top:-6vw;}
  .cta-bsp{margin-top: 2.5rem;}
}
@media (max-width: 576px) {
  .cp_anime09 .cp_center,
.cp_anime09 .cp_explosion {
  max-width: 350px;
  height: 70px;
line-height: 60px;
top:-5vw;}
}
@media (max-width: 400px) {
  .cp_anime09 .cp_center,
  .cp_anime09 .cp_explosion {
    top:-1vw;
  }
}
@-webkit-keyframes anime09_pulse {
	30% { -webkit-transform: scale(0.7);
				        transform: scale(0.7);
				opacity: 1.0; }
	50% { -webkit-transform: scale(1.0);
				        transform: scale(1.0);
				opacity: 1.0; }
	70% { -webkit-transform: scale(0.8);
				        transform: scale(0.8);
				opacity: 1.0; }
}
@keyframes anime09_pulse {
	30% { -webkit-transform: scale(0.7);
				        transform: scale(0.7);
				opacity: 1.0; }
	50% { -webkit-transform: scale(1.0);
				        transform: scale(1.0);
				opacity: 1.0; }
	70% { -webkit-transform: scale(0.8);
				        transform: scale(0.8);
				opacity: 1.0; }
}
@-webkit-keyframes anime09_pulseradius {
	30%  { -webkit-transform: scale(0.7);
					       transform: scale(0.7);
				 opacity: 1; }
	40%  { -webkit-transform: scale(2.0);
					       transform: scale(2.0);
				 opacity: 0.2; }
	80%  { -webkit-transform: scale(1.1);
					       transform: scale(1.1);
				 opacity: 0; }
	100% { -webkit-transform: scale(0.9);
					       transform: scale(0.9);
				 opacity: 0; }
}
@keyframes anime09_pulseradius {
	30%  { -webkit-transform: scale(0.7);
					       transform: scale(0.7);
				 opacity: 1; }
	40%  { -webkit-transform: scale(2.0);
					       transform: scale(2.0);
				 opacity: 0.2; }
	80%  { -webkit-transform: scale(1.1);
					       transform: scale(1.1);
				 opacity: 0; }
	100% { -webkit-transform: scale(0.9);
					       transform: scale(0.9);
				 opacity: 0; }
}