html,body{
  font-family: 'Noto Sans JP', 'Hiragino Sans' , 'ヒラギノ角ゴ ProN', Hiragino Kaku Gothic ProN, 'メイリオ', Meiryo, '游ゴシック Medium', YuGothic, YuGothicM, sans-serif;
  font-weight: 500;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: #333;
	line-height: 1.7;
	letter-spacing: 0.03em;
}
a{
  color: #777;
  transition: opacity 0.3s, color 0.3s;
}
a:hover{ opacity: 0.7; }
img,picture{
	max-width: 100%;
	display: block;
}
.overflow{ overflow: hidden; }




.wide-img{
  display: flex;
  justify-content: center;
}
.wide-img img{
  width: 100%;
  min-width: 150rem;
}


.cta{
  position: relative;
}
.cta .wrap{
  width: 100%;
  color: #fff;
  text-align: center;
  position: absolute;
  bottom: 6rem;
  left: 50%;
  transform: translateX(-50%);
}
.cta .wrap h3 img{
  width: 61.8rem;
  margin: 0 auto 1.5rem;
}
.cta .wrap p{
  font-size: 1.6rem;
  margin-bottom: 2rem;
}
.cta .wrap .copy-box{
  max-width: 39rem;
  margin: 0 auto;
  position: relative;
}
.cta .wrap .copy-box input[type=text]{
  display: block;
  width: 100%;
  line-height: 6rem;
  border-radius: 1px;
  border: 1px solid #D0D0D0;
  font-size: 3.3rem;
  text-align: center;
  cursor: pointer;
}
.cta .wrap .copy-box button{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 6rem;
  height: 6rem;
  background: none;
  border: none;
  position: absolute;
  right: 0;
  top: 0;
  pointer-events: none;
}
.cta .wrap .copy-box button img{
  width: 34%;
}
.cta .wrap a.cta-btn{
  display: block;
  max-width: 57.7rem;
  margin: 2rem auto 0;
}
.cta .wrap small{
  display: block;
  font-size: 1.3rem;
  margin-top: 1.5rem;
}


.sec-1{
  position: relative;
  z-index: 2;
}


.sec-2{
  margin-top: -17rem;
  position: relative;
  z-index: 1;
}


.sec-4{
  position: relative;
}
.sec-4 img.sec-4-txt{
  width: 26.3rem;
  position: absolute;
  top: -6rem;
  right: 50%;
  margin-right: 29.4rem;
}


.sec-5{
  position: relative;
}
.sec-5 img.sec-5-img{
  width: auto;
  height: 8.6rem;
  position: absolute;
  top: -4.3rem;
  left: 50%;
  transform: translateX(-50%);
}


footer{
  background: #333333;
  color: #fff;
  font-size: 1.4rem;
  text-align: center;
  padding: 3rem 0;
}
footer a{ color: #fff }
footer .copy{
  font-size: 1.1rem;
  margin-top: 1.2em;
}




/* ボタン用アニメーション */
a.cta-btn{ animation: pulse 1s infinite; }

@keyframes pulse {
  from { transform: scale3d(1, 1, 1); }
  50% { transform: scale3d(1.05, 1.05, 1.05); }
  to { transform: scale3d(1, 1, 1); }
}


/* ロード画面 */
#loading {
  width: 100%;
  height: 100%;
  background: #0880B5;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
}
.loader008,
.loader008:after {
  border-radius: 50%;
  width: 4.5rem;
  height: 4.5rem;
}
.loader008 {
  position: relative;
  text-indent: -9999em;
  border-top: 0.6rem solid rgba(255,255,255,0.3);
  border-right: 0.6rem solid rgba(255,255,255,0.3);
  border-bottom: 0.6rem solid rgba(255,255,255,0.3);
  border-left: 0.6rem solid #fff;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load8 1.1s infinite linear;
  animation: load8 1.1s infinite linear;
}
@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
#loading.loaded {
  opacity: 0;
  visibility: hidden;
  transition: opacity 1s, visibility 1s;
}


/* ページトップ */
#pagetop {
  display: none;
  position: fixed;
  bottom: 1.6rem;
  right: 1.6rem;
  z-index: 997;
}
#pagetop a {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 100%;
  width: 4rem;
  height: 4rem;
  background-color: #0880B5;
}
#pagetop a img {
  width: 1.6rem;
  margin-top: -0.2rem;
}




/*　PC
------------------------------------------------------------------------------------------------*/
@media (min-width: 769px){
.sp{ display: none !important; }

html{ font-size: 10px; }
body{ font-size: 1.6rem }

.content{
  width: 100%;
  max-width: 116rem;
  padding: 0 4rem;
  margin: 0 auto;
}


/*　1160px以下 */
@media (max-width: 1200px){

html{ font-size: 0.83vw; }


}/*　1160px以下ここまで */
}/*　PCここまで */


/*　1500px以上 */
@media (min-width: 1500px){

html{ font-size: 0.66vw; }


}/*　1500px以上ここまで */




/*　スマホ
------------------------------------------------------------------------------------------------*/
@media (max-width: 768px){
.pc{ display: none !important; }

html{ font-size: 2.6vw; }
body{ font-size: 1.4rem; }

.content{
	width: 100%;
	padding: 0 4rem;
}


.wide-img img{
  min-width: unset;
}


.cta .wrap{
  bottom: 3.5rem;
}
.cta.cta-3 .wrap{
  bottom: 2.5rem;
}
.cta .wrap h3 img{
  margin: 0 auto 0.5rem;
}
.cta .wrap p{
  font-size: 1rem;
  margin-bottom: 1rem;
}
.cta .wrap .copy-box{
  max-width: 23.3rem;
}
.cta .wrap .copy-box input[type=text]{
  line-height: 4rem;
  font-size: 2.2rem;
}
.cta .wrap .copy-box button{
  width: 4rem;
  height: 4rem;
}
.cta .wrap a.cta-btn{
  margin: 1.2rem auto 0;
}
.cta .wrap small{
  width: 23rem;
  font-size: 0.8rem;
  text-align: left;
  margin: 0 auto;
}


.sec-2{
  margin-top: -3.6rem;
}


.sec-4 img.sec-4-txt{
  width: 9rem;
  top: -3.6rem;
  margin-right: 6rem;
}


.sec-5 img.sec-5-img{
  height: 3.6rem;
  top: -1.8rem;
}


footer{
  font-size: 0.7rem;
  padding: 1.5rem 0;
}
footer .copy{
  font-size: 0.5rem;
}




}/*　スマホここまで */



