html {
  margin: 0;
  padding: 0;
  font-size: 62.5%;
}

body {
  margin: 0;
  padding: 0;
  max-width: 100%;
  font-size: 1.6rem;
  letter-spacing: 0.02em;
  line-height: 1.8;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: var(--c-gray2);
  text-align: justify;
}


/* Firefox */

@-moz-document url-prefix() {
  body {
    line-height: 1.8;
  }
}

p {
  text-align: justify;
}

img {
  vertical-align: bottom;
}

@media screen and (max-width768px) {
  body {
    font-size: 1.45rem;
    line-height: 1.8;
  }
}

@media screen and (max-width:480px) {
  body {
    font-size: 1.35rem;
  }
}

.body-wrap {
  width: 100%;
  overflow: hidden;
}


/*---font------------------------------*/

.en {
  font-family: 'Arial', sans-serif;
}

h1, h2, h3, h4, h5, h6 {
  line-height: 1.45;
}

a {
  transition: .3s;
}

@media screen and (max-width:768px) {
  h1, h2, h3, h4, h5, h6 {
    line-height: 1.6;
  }
}

img {
  width: 100%;
  height: auto;
}

.mb0 {
  margin-bottom: 0!important;
}


/*---common------------------------------*/

.container {
  width: 90%;
  max-width: 1040px;
  margin: 0 auto;
}

.container-s {
  width: 90%;
  max-width: 900px;
  margin: 0 auto;
}


/*color*/

:root {
  --c-main: #4191DD;
  /*濃水色*/
  --c-sub: #FF96BF;
  /*ピンク*/
  --c-wh: #FFFFFF;
  --c-sky1: #64A4E1;
  /*メインよりも薄水色*/
  --c-sky2: #D9E7F7;
  /*薄薄水色*/
  --c-sky3: #6EB6FF;
  /*ボタンの水色*/
  --c-sky4: #EBF4FC;
  /*薄薄水色背景*/
  --c-blue: #2A6DC8;
  /*青-濃い*/
  --c-gray1: #ECEEEF;
  /*薄グレー*/
  --c-gray2: #73747B;
  /*濃グレー*/
}

.sky {
  color: var(--c-main);
}

.wh {
  color: var(--c-wh);
}


/*layout*/

.row {
  display: flex;
  flex-flow: wrap;
}

.row.reverse {
  flex-flow: row-reverse;
}

.column {
  display: flex;
  flex-direction: column;
}

.between {
  justify-content: space-between;
}

.flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

.txt-center {
  text-align: center;
}

.txt-right {
  text-align: right;
}

.en {
  font-family: "Manrope", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}

@media screen and (max-width:1366px) {
  .container {
    width: 92%;
    max-width: 100%;
  }
  .container-m {
    width: 92%;
    max-width: 100% !important;
  }
  .container-s {
    width: 92%;
    max-width: 100%;
  }
}


/*---header-wrap------------------------------*/

.header-wrap {
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  width: 100%;
}


/*　上に上がる動き　*/

.header-wrap.UpMove {
  animation: UpAnime 0.7s forwards;
  margin-top: 0!important;
}

@keyframes UpAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(-100px);
  }
}


/*　下に下がる動き　*/

.header-wrap.DownMove {
  animation: DownAnime 0.7s forwards;
  margin-top: -100px;
}

.header-wrap.DownMove #header {
  height: auto;
}

.header-wrap.DownMove #header .contents {
  display: none;
}

@keyframes DownAnime {
  from {
    opacity: 0;
    transform: translateY(-100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.header-wrap.UpMove.DownMove #header {
  height: 140px;
}

.header-wrap.UpMove.DownMove #header .contents {
  display: flex;
}


/*---header-wh------------------------------*/

.header-wh {
  background: #FFFFFF;
  box-shadow: 0px 4px 15px #3979D04B;
  height: 100px;
  width: 100%;
  ;
  display: flex;
  justify-content: center;
  align-items: center;
}

.header-wh img {
  width: 400px;
  height: auto;
}

@media screen and (max-width:1080px) {
  .header-wh {
    height: 80px;
  }

  .header-wh img {
	width: 90%;
  }
}


/*---header------------------------------*/

#header {
  position: absolute;
  top: 100px;
  left: 0;
  height: 140px;
  width: 100%;
}

#header .contents {
  width: 92%;
  margin: 0 auto;
  height: 100%;
  align-items: center;
}

#header .contents .logo {
  width: 195px;
  margin-right: 30px;
}

#header .contents .tagline {
  color: var(--c-wh);
  font-size: 1.6rem;
  width: calc(100% - 230px);
  margin-top: 10px;
}

#header .ctabtn {
  position: absolute;
  top: 0;
  right: 0;
}

#header .ctabtn a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 235px;
  height: 65px;
  background: transparent linear-gradient(104deg, #FF96BF 0%, #F869AB 100%) 0% 0% no-repeat padding-box;
  border-radius: 0px 0px 0px 15px;
  color: var(--c-wh);
  font-size: 1.7rem;
  font-weight: 600;
  letter-spacing: 0;
}

#header .ctabtn a:hover {
  filter: brightness(105%);
}

#header .ctabtn a img {
  width: 20px;
  height: auto;
  position: relative;
  left: 10px;
}

@media screen and (max-width:1080px) {
  #header {
    top: 0;
    height: auto;
  }
  #header .contents {
    width: 92%;
    margin: 0 auto;
    height: 100%;
    align-items: center;
  }
  #header .contents .logo {
    width: 100%;
    margin: 0 auto;
    margin-top: 50px;
    text-align: center;
  }
  #header .contents .logo img {
    width: 70%;
    min-width: 180px;
    max-width: 400px;
    position: relative;
    left: 0.25em;
  }
  #header .contents .tagline {
    font-size: 1.7rem;
    letter-spacing: 0.075em;
    width: 100%;
    text-align: center;
    margin-top: 15px;
  }
  #header {
    top: 80px;
  }
  #header .ctabtn {
    display: none;
  }
}

@media screen and (max-width:768px) {
  #header .contents .tagline {
    font-size: 2.4vw;
  }
}

@media screen and (max-width:480px) {
  #header {
    top: 60px;
  }
  #header .contents .logo img {
    width: 50%;
    max-width: 280px;
  }
  #header .contents .tagline {
    font-size: 1.4rem;
  }
}


/* ---------------------------------------------------------------------------
    #footer
      フッター
--------------------------------------------------------------------------- */

#footer {
  padding: 40px 0 14px;
  background: #242424;
  color: #fff;
}

#footer .foot-inner {
  max-width: 1000px;
  width: 92%;
  margin: 0 auto;
  font-size: 13px;
  line-height: 1.8;
  position: relative;
}

#footer .foot-inner .fnav-wrap {
  position: absolute;
  right: 0;
  top: 80px;
}

#footer .foot-inner .fnav-wrap .fnav {
  margin: 0 0 33px;
  overflow: hidden;
}

#footer .foot-inner .fnav-wrap .fnav li {
  float: left;
  margin: 0 0 0 50px;
}

#footer .foot-inner .fnav-wrap .fnav li a {
  display: block;
  padding: 12px 0;
  color: #f9f9f9;
  position: relative;
}

#footer .foot-inner .fnav-wrap .fnav li a:before, #footer .foot-inner .fnav-wrap .fnav li a:after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #ccc;
  -webkit-transition: all ease 0.3s;
  -moz-transition: all ease 0.3s;
  transition: all ease 0.3s;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0 auto;
}

#footer .foot-inner .fnav-wrap .fnav li:last-child a:before, #footer .foot-inner .fnav-wrap .fnav li:last-child a:after {
  background: rgb(192, 204, 129);
  background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMTAwJSI+CiAgICA8c3RvcCBvZmZzZXQ9IjAlIiBzdG9wLWNvbG9yPSIjYzBjYzgxIiBzdG9wLW9wYWNpdHk9IjEiLz4KICAgIDxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzI2YTZmMyIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgPC9saW5lYXJHcmFkaWVudD4KICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSJ1cmwoI2dyYWQtdWNnZy1nZW5lcmF0ZWQpIiAvPgo8L3N2Zz4=);
  background: -moz-linear-gradient(-45deg, rgba(192, 204, 129, 1) 0%, rgba(38, 166, 243, 1) 100%);
  background: -webkit-linear-gradient(-45deg, rgba(192, 204, 129, 1) 0%, rgba(38, 166, 243, 1) 100%);
  background: linear-gradient(135deg, rgba(192, 204, 129, 1) 0%, rgba(38, 166, 243, 1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c0cc81', endColorstr='#26a6f3', GradientType=1);
}

#footer .foot-inner .fnav-wrap .fnav li a:hover:before {
  height: 2px;
}

#footer .foot-inner .fnav-wrap .fnav li a:hover:after {
  bottom: 4px;
}

#footer .foot-inner .fnav-wrap .pnav {
  text-align: right;
}

#footer .foot-inner .fnav-wrap .pnav li {
  display: inline;
  margin: 0 0 0 30px;
  font-size: 13px;
}

#footer .foot-inner .fnav-wrap .pnav li a {
  text-decoration: none;
  color: #e2e2e2;
}

#footer .foot-inner .fnav-wrap .pnav li a:before {
  content: "＞";
  display: inline-block;
  margin: 0 8px 0 0;
  font-size: 8px;
  color: #979797;
}

#footer .foot-inner .f-info .f-logo {
  margin: 0 0 18px;
  max-width: 190px;
}

#footer .foot-inner address a {
  text-decoration: none;
  color: #fff;
}

#footer .foot-inner #copyright {
  text-align: right;
  color: #5a5a5a;
}

#footer .foot-inner #copyright small {
  font-size: 10px;
}

#pagetop {
  position: fixed;
  right: 38px;
  bottom: 38px;
  z-index: 1000;
  max-width: 72px;
}

@media screen and (max-width:1080px) {
  #footer {
    padding-bottom: 80px;
  }
  #footer .foot-inner .f-info .f-logo {
    margin: 0 auto 1.5em;
  }
  #footer .foot-inner {
    margin-bottom: 0;
  }
  #footer .foot-inner .fnav-wrap {
    position: absolute;
    right: 0;
    top: 150px;
  }
  #footer .foot-inner .fnav-wrap .pnav {
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
  }
  #footer .foot-inner .fnav-wrap .pnav li {
    display: inline;
    margin: 0 0 0 10px;
    font-size: 11px;
  }
  #footer .foot-inner #copyright {
    margin-top: 50px;
  }
  *, *::before, *::after {
    #pagetop {
      right: 20px;
      bottom: 65px;
      max-width: 60px;
    }
  }
  @media screen and (max-width:480px) {
    #footer .foot-inner {
      font-size: 12px;
    }
}

@media screen and (max-width:480px) {
    *, *::before, *::after {
		#pagetop {
		  right: 15px;
		  bottom: 65px;
		  max-width: 45px;
		}
	  }
}