@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&family=Noto+Sans+JP:wght@400;700&display=swap');
body {
  line-height: 1.8;
  color: #333;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  text-size-adjust: 100%;
}

@media screen and (max-width: 640px) {
  body {
    font-size: 16px;
  }
}

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

p,
ol,
ul,
dl,
table {
  margin-bottom: 1.5em;
}

h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child,
p:first-child,
ol:first-child,
ul:first-child,
dl:first-child,
table:first-child {
  margin-top: 0;
}

p:last-child,
ol:last-child,
ul:last-child,
dl:last-child,
table:last-child {
  margin-bottom: 0;
}

a {
  transition: .3s;
}

a img {
  border: none;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}

ul {
  margin: 0;
  padding: 0;
}

li {
  list-style: none;
}

dt {
  margin: 0;
  padding: 0;
}
dd {
  margin: 0;
  padding: 0;
}

.sp-link {
  cursor: auto;
}

@media screen and (min-width: 641px) {
  .sp-only {
    display: none !important;
  }
}

@media screen and (max-width: 640px) {
  .pc-only {
    display: none !important;
  }
}


.font-min {
  font-family: 'Noto Serif JP';
}



.kv {
  position: relative;
  max-width: 1680px;
  overflow: hidden;
  margin: 0 auto;
  background: url(../images/kv.jpg) top center no-repeat;
  background-size: cover;
  padding:0 16px;
}

.kv h1{
  position: absolute;
  top: 20px;
  left: 40px;
  width: 146px;
  height: auto;
  display: block;
}

.kv-wrap {
  position: relative;
  max-width:1100px;
  min-height: 826px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.kv-wrap .logo{
  width: 24.18%;
}
.kv-wrap .logo dt{
  margin-bottom: 40px;
}
.kv-wrap dd.font-min{
  color: #568FAD;
  font-weight: 600;
  font-size: 18px;

}
.kv-wrap .icon{
  width: 31.27%;
}


@media screen and (max-width: 640px) {

.kv {
  background: url(../images/kv-sp.jpg) top center no-repeat;
  background-size: cover;
}

.kv h1 {
  position: absolute;
  top: 10px;
  left: 16px;
  width: 100px;
  height: auto;
  display: block;
}

.kv-wrap {
  min-height: auto;
  display: block;
}

.kv-wrap .logo {
  width: 100%;
  max-width: 290px;
  /*margin: 355px auto 40px;*/
  margin: 90% auto 26%;
}
.kv-wrap .icon {
  display: none;
  text-align: center;
}
.kv-wrap .logo dt {
  max-width: 125px;
  margin: 0 auto 20px;
}
.kv-wrap dd.font-min {
  color: #568FAD;
  font-weight: 600;
  font-size: 18px;
  text-align: center;
}


}




.ttl {
  margin: 0 0 60px;
  text-align: center;
  font-family: "Poppins";
  font-size: 80px;
  letter-spacing: .05em;
  color: #568FAD;
  font-weight: 500;
  line-height: 1.2;
}

.ttl span {
  display: block;
  text-align: center;
  font-family: 'Noto Serif JP';
  font-size: 20px;
  letter-spacing: .3em;
}


@media screen and (max-width: 640px) {
  .ttl {
    margin: 0 0 40px;
    font-size: 40px;
  }
  .ttl span {
    font-size: 16px;
  }
}




/* about */


.about {
  position: relative;
  background: #fff;
  padding: 60px 16px 100px;
}

.about-inner {
  max-width:1100px;
  margin: 0 auto;
  position: relative;
}

.about-text {
  text-align: center;
  font-size: 18px;
  margin-bottom: 60px;
}

.about-list {
  display: flex;
  justify-content: space-between;
}

.about-list li{
  width: 22.73%;
}

@media screen and (max-width: 640px) {

.about {
  padding: 20px 16px 40px;
}

.about-text {
  text-align: left;
  margin-bottom: 20px;
}

.about-list {
  flex-wrap: wrap;
}

.about-list li {
  width: 48%;
}



}





/* howto */

.howto {
  position: relative;
  background: #fff;
  padding: 60px 16px 200px;
  background: url(../images/howto-bg.png) bottom center no-repeat;
  background-size: 100% auto;
}
.howto-inner {
  max-width:1100px;
  margin: 0 auto;
  position: relative;
}
.howto-list {
  display: flex;
  justify-content: space-between;
}
.howto-list li{
  width: 25%;
}
.movie {
  max-width: 760px;
  position: relative;
  margin: 0 auto 80px;
}
.howto-list dl{
  padding: 0 15%;
}
.howto-list dt{
  text-align: center;
  font-size: 20px;
  color: #568FAD;
  margin-bottom: 1em;
}

@media screen and (max-width: 640px) {
  .howto {
    padding: 20px 16px 40px;
  }
  .movie {
    margin: 0 auto 20px;
  }
  .howto-list {
    flex-wrap: wrap;
  }
  .howto-list li {
    width: 48%;
    margin-bottom: 20px;
  }
  .howto-list dl {
    padding: 0 0;
  }
}


/* feature */

.feature {
  position: relative;
  padding: 60px 16px 60px;
  background: url(../images/feature-bg.png) bottom center no-repeat #EAF6FD;
  background-size: 100% auto;
}
.feature-inner {
  max-width:1100px;
  margin: 0 auto;
  position: relative;
}

.feature-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 0 60px;
}

.feature-list li{
  width: 48%;
  margin-bottom: 40px;
  border-radius: 20px; 
  box-shadow: 6px 8px 25px 0px #E2EAF5;
}

.feature-img {
  background: url(../images/feature-img-bg.png) top center no-repeat;
  background-size: 100% auto;
  padding: 0 15%;
  margin-bottom: 100px;
}

.product {
  background: #fff;
  border-radius: 20px; 
  padding: 50px;
  box-shadow: 6px 8px 25px 0px #E2EAF5;
}

h4.ttl {
  font-size: 54px;
}

.product-wrap {
  display: flex;
  justify-content: space-between;
}
.product-wrap .img{
  width: 30.21%;
}
.product-wrap .txt{
  width: 67.23%;
}

.product-wrap .txt dl{
  border-bottom: 1px solid #E6E6E6;
  margin-bottom: 20px;
}

.product-wrap .txt dt {
  width: 14.24%;
  float: left;
  padding: 0 2px 2px;
  text-align: center;
  box-sizing: border-box;
  background: #EAF6FD;
  color: #568FAD;
  border-radius: 10em;
  margin-bottom: .5em;
}

.product-wrap .txt dd {
  margin-left: 16.24%;
  padding: 0;
  margin-bottom: .5em;
}

.product-wrap .txt dd:after{
  display: block;
  content: "";
  clear: both;
}

@media screen and (max-width: 640px) {
  .feature-img {
    padding: 0;
    margin-bottom: 20px;
  }
  .feature-list {
    display: block;
    margin: 0 0 60px;
  }
  .feature-list li {
    width: 100%;
    margin-bottom: 20px;
  }
  h4.ttl {
    font-size: 40px;
  }
  .product {
    padding: 20px;
  }
  .product-wrap {
    display: block;
  }
  .product-wrap .img {
    width: 100%;
    margin-bottom: 20px;
  }
  .product-wrap .txt {
    width: 100%;
  }
  .product-wrap .txt dl {
    padding-bottom: 10px;
  }
  .product-wrap .txt dt {
    width: 100%;
    float: none;
    margin-bottom: .5em;
  }
  .product-wrap .txt dd {
    margin-left: 0;
    margin-bottom: .5em;
    text-align: center;
  }
}


/* faq */

.faq {
  position: relative;
  padding: 60px 16px 140px;
}
.faq-inner {
  max-width:1100px;
  margin: 0 auto;
  position: relative;
}
.faq-list {
  border-top: 1px solid #E6E6E6;
  padding: 40px 0 30px 0;
}
.faq-list.last {
  border-bottom: 1px solid #E6E6E6;
}

.faq-q,
.faq-a {
  display: flex;
  justify-content: space-between;
}
.faq-q dt{
  height:32px;
  width:32px;
  border-radius:50%;
  line-height:34px;
  text-align:center;
  color: #fff;
  background: #568FAD;
  font-family: "Poppins";
  font-weight: bold;
  margin-bottom: 1em;
  font-size: 18px;
}
.faq-a dt{
  height:32px;
  width:32px;
  border: 1px solid #568FAD;
  border-radius:50%;
  line-height:34px;
  text-align:center;
  color: #568FAD;
  font-family: "Poppins";
  font-weight: bold;
  margin-bottom: 1em;
  font-size: 18px;
}
.faq-q dd,
.faq-a dd{
  width: 95.45%;
  margin-left: 1em;
}
.faq-q dd{
  font-size: 18px;
  color: #568FAD;
}
.img-list {
  display: flex;
  justify-content: space-between;  
}
.img-list .list{
  width: 74.27%;
}
.img-list .pic{
  width: 18.45%;
}

@media screen and (max-width: 640px) {
  .faq {
    padding: 20px 16px 40px;
  }
  .faq-list {
    padding: 20px 0;
  }
  .img-list {
    display: block;
  }
  .img-list .list {
    width: 100%;
    margin-bottom: 20px;
  }
  .img-list .pic {
    width: 100%;
    max-width: 200px;
    margin: 0 auto;
  }
  .faq-q,
  .faq-a {
    margin: 0;
  }
  .faq-q dd,
  .faq-a dd {
    width: 85.45%;
    margin-left: .8em;
  }
}


/*-------------------------------------------------------------------------------------*/

.contact {
  padding: 60px 16px;
  background: #F8F6F8;
}
.contact-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.contact-inner .txt {
  width: 29.27%;
  font-family: 'Noto Serif JP';
  font-size: 20px;
  color: #568FAD;
}
.contact-inner .tel {
  width: 28.64%;
}
.contact-inner .tel strong {
  position: relative;
  display: block;
  font-family: "Poppins";
  font-size: 32px;
  color: #568FAD;
  font-weight: bold;
  line-height: 1;
  padding-left: .8em;
}
.contact-inner .tel strong a{
  color: #568FAD;
  text-decoration: none;
  pointer-events: none;
}


.contact-inner .tel strong:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 20px;
  height: 25px;
  background: url(../images/tel-icon.png) 0 0 no-repeat;
  background-size: cover;
}
.contact-inner .tel span{
  display: block;
}
.contact-inner .btn-wrap {
  width: 28.45%;
}
.contact-inner .btn-wrap a.btn {
  font-family: 'Noto Serif JP';
  display: block;
  font-size: 20px;
  text-align: center;
  padding: 10px;
  background: #568FAD;
  color: #fff;
  text-decoration: none;
  border-radius: 10em;
  max-width: 313px;
  transition: all .3s;
}
.contact-inner .btn-wrap a i{
  display: inline-block;
  width: 20px;
  height: 14px;
  background: url(../images/mail-icon.png) 0 0 no-repeat;
  background-size: cover;
  margin-right: .5em;
}
.contact-inner .btn-wrap a.btn:hover {
  opacity: .7;
  text-decoration: none;
}

@media screen and (max-width: 640px) {
  .contact {
    padding: 40px 16px;
  }
  .contact-inner {
    display: block;
  }
  .contact-inner .txt {
    width: 100%;
    font-size: 18px;
    text-align: center;
    margin-bottom: 20px;
  }
  .contact-inner .tel {
    width: 100%;
    text-align: center;
    margin-bottom: 20px;
  }
  .contact-inner .tel strong{
    max-width: 220px;
    margin: 0 auto;
  }
  .contact-inner .tel strong a{
    pointer-events: auto !important;
  }
  .contact-inner .btn-wrap {
    width: 100%;
  }
  .contact-inner .btn-wrap a.btn {
    font-size: 18px;
    max-width: 100%;
    padding: 5px;
  }
}





.footer {
  padding: 60px 16px;
  background: #70828B;
  color: #fff;
  font-size: 14px;
}
.footer-inner {
  max-width: 1100px;
  margin: 0 auto;
}
.footer-inner .center{
  text-align: center;
}
.footer-inner .center dt{
  text-align: center;
  margin-bottom: 1em;
}
.footer-inner .center dt img{
  max-width: 180px;
}
.footer-inner .center dd {
  text-align: center;
  margin-bottom: 1em;
}
.footer-inner .center dd a.btn {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 5px;
  background: #fff;
  color: #568FAD;
  text-decoration: none;
  border-radius: 10em;
  max-width: 207px;
  margin: 0 auto;
  transition: all .3s;
  font-weight: bold;
}
.footer-inner .center dd a i{
  display: inline-block;
  width: 14px;
  height: 21px;
  background: url(../images/pin.png) 0 0 no-repeat;
  background-size: cover;
  margin-right: .5em;
}
.footer-inner .center dd a.btn:hover {
  opacity: .7;
  text-decoration: none;
}
.footer-inner .left{
  text-align: left;
}


@media screen and (max-width: 640px) {
  .footer {
    padding: 40px 16px;
    font-size: 14px;
  }
  .footer-inner .center dd a.btn {
    max-width: 100%;
  }
}

.copyright {
  position: relative;
  padding: 10px 16px;
}
.copyright-inner {
  max-width:1100px;
  margin: 0 auto;
  position: relative;
  text-align: center;
  font-size: 14px;
  color: #2A3D3A;
}

@media screen and (max-width: 640px) {
  .copyright-inner {
    font-size: 12px;
  }
}


.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}


.youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}