@charset "UTF-8";
/* =================================================*/

/* Common CSS

====================================================*/

/*　共通　*/
html {
  font-size: 62.5%;
  font-size: 10px;
}
body {
  position: relative;
	font-size: 1.4rem;
  line-height: 1.6;
	text-align: center;
	font-family: 'Noto Sans JP', sans-serif, 'Hiragino Sans','ヒラギノ角ゴシック','メイリオ', Meiryo,'ＭＳ Ｐゴシック','MS PGothic';
  font-weight: 400;
  color: #4A4A4A;
}
@media (min-width: 768px) {
  body {
    font-size: 1.6rem;
    padding-top: 0;
  }
} /* @media (max-width: 768px) */

.all-wrp {
  position: relative;
}

img {
	max-width: 100%;
	height: auto;
}

/* フォント：ウェイト */
.font-w-regular {
  font-weight: 400;
}

/*　テキスト：両端揃え */
.txt-adjust,
.txt-adjust p {
  text-align: justify;
  text-justify: inter-ideograph;
}

.d-none {
	display: none;
}
@media (min-width: 768px) {
	.d-md-none {
		display: none;
	}
}

.text-center {
	text-align: center;
}
.d-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

/* 中央揃え */
@media (max-width: 767px) {
	.m-auto-sp {
    margin-right: auto;
  	margin-left: auto;
	}
}
.m-auto {
	margin-right: auto;
	margin-left: auto;
}

/*アニメーション*/
.invisible {
	transition: opacity 0.5s ease;
	opacity: 0.0;
}
.visible {
	transition: opacity 0.5s ease;
	opacity: 1.0;
}
.interactive {
  -webkit-transition: .5s;
  -o-transition: .5s;
  transition: .5s;
}

/* カラー */
.color-blue {
  color:#19146E;
}
.color-pink {
  color:#E34D91;
}
.color-content1 {
  color:#E5324E;
}
.color-content2 {
  color:#19146E;
}
.color-content3 {
  color:#ED6D00;
}


/*
z-index
.keyvisual 1000
.content1  2000
.content2  3000
.content3  4000
*/
/* --------------------------------------------------

	keyvisual

-------------------------------------------------- */

.keyvisual {
  position: relative;
  z-index: 1000;
	background-color: #DFE3E7;
  overflow: hidden;
}
.keyvisual-inner {
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 768px) {
  .keyvisual-inner {
    position: relative;
  }
  .keyvisual-inner:before {
    position: absolute;
    content: '';/*何も入れない*/
    display: inline-block;/*忘れずに！*/
    width: 911px;/*画像の幅*/
    height: 632px;/*画像の高さ*/
    left: 18%;
    background-image: url("../img/img_photo1_pc.jpg");
    background-size: inherit;
    vertical-align: middle;
    z-index: -1;
  }
}
@media (min-width: 1024px) {
  .keyvisual-inner {
    max-width: 940px;
  }
  .keyvisual-inner:before {
      left: 24%;
  }
}


/* appIntro:タイトル・アプリロゴ */
.keyvisual .appIntro {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
    -ms-flex-direction: column;
        flex-direction: column;
  padding: 20px 0 80px 0;
  background-image: url("../img/img_photo1_sp.jpg");
  background-repeat: no-repeat;
  background-position: right top;
  background-size: contain;
}
@media (min-width: 768px) {
  .keyvisual .appIntro {
    background-image:none;
  }
}
@media (min-width: 1024px) {
  .keyvisual .appIntro {
    width: 540px;
    padding: 50px 0 60px 0;
  }
}

.keyvisual .appIntro .ttl-sub {
  order: 1;
  font-size: 1.7rem;
}
@media (max-width: 350px) {
  .keyvisual .appIntro .ttl-sub {
    font-size: 1.6rem;
  }
}
.keyvisual .appIntro .ttl {
  order: 3;
  margin:40px 0 0 20px;
  padding:0 20px 0 10px;
  font-size: 5rem;
  background: rgba(255,255,255,0.7);
}
@media (max-width: 350px) {
	.keyvisual .appIntro .ttl {
		font-size: 4.2rem;
	}
}
@media (min-width: 540px) {
	.keyvisual .appIntro .ttl {
		margin:40px 0 0 0;
	}
}
@media (min-width: 768px) {
	.keyvisual .appIntro .ttl {
		margin:10px 0 0 0;
    background: none;
	}
}

.keyvisual .appIntro .logo {
  order: 2;
  max-width: 400px;
  margin: 40px auto 0 auto;
  text-align: left;
}
@media (min-width: 768px) {
	.keyvisual .appIntro .logo {
		margin: 30px auto 0 auto;
	}
}
.keyvisual .appIntro .logo img {
  width: 130px;
  height: 130px;
  margin-right: 160px;
  border-radius: 19px;
  -webkit-border-radius: 19px;
    -moz-border-radius: 19px;
}
@media (min-width: 540px) {
	.keyvisual .appIntro .logo img {
		margin-right: 0;
	}
}

/* appImg:アプリ画面 */
.keyvisual .appMore {
  position: relative;
  margin-top: -50px;
  padding: 20px 20px 160px;
  background: rgba(227,77,145,0.5);
}
@media (min-width: 1024px) {
	.keyvisual .appMore {
		width: 540px;
    padding: 20px 20px 86px;
	}
	.appMore {
	border-radius: 10px;
	}
	
}
.keyvisual .appMore:before {
  content: "";
  z-index: -1;
  -webkit-filter: blur(4px);
  -ms-filter: blur(4px);
  filter: blur(4px);
  position: absolute;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}
.keyvisual .appMore .ttl {
  font-size: 2.0rem;
  padding-bottom: 2rem;
  color: #000;
}

.appMore-Imgs img {
  padding-bottom: 2rem;
}


.appWrp-btn {
  -webkit-box-pack: justify;
    -ms-flex-pack: justify;
        justify-content: space-between;
  max-width: 375px;
}
@media (min-width: 1024px) {
	.keyvisual .appWrp-btn {
    position: absolute;
    right: -360px;
    top: 130px;
	}
}

.appWrp-btn .appWrp-btn__apple {
  margin-top: -.4rem;
}
.appWrp-btn .appWrp-btn__apple img {
  width: 162px;
  height: auto;
  padding: 1.5rem;
}
.appWrp-btn .appWrp-btn__google {
  width: 182px;
}

.appMore-sns {
  -webkit-box-pack: justify;
    -ms-flex-pack: justify;
        justify-content: space-between;
  max-width: 255px;
  font-size: 3.2rem;
  padding-top: .5rem;
  display: none;
}
.appWrp-btn a {
  -webkit-transition: .5s;
  -o-transition: .5s;
  transition: .5s;
}
.appWrp-btn a:hover {
  opacity: .7;
}
.appMore-sns a .fab {
  background: rgb(186,42,97);
  background: linear-gradient(135deg, rgba(186,42,97,1) 0%, rgba(64,57,154,1) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.appMore-sns a .fab:hover {
  background: rgb(186,42,97,1);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

@media (min-width: 1024px) {
	.keyvisual .appMore-sns {
    position: absolute;
    width: 255px;
    right: -325px;
    top: 200px;
	}
}


/* --------------------------------------------------

	content common

-------------------------------------------------- */
.container {
  position: relative;
  margin-bottom: 20px;
  overflow: hidden;
  pointer-events: none;
}
.container.content1 {
  margin-top: -240px;
}
@media (min-width: 768px) {
	.container {
		margin-bottom: 0;
	}
}

.container-inner {
  overflow: hidden;
  padding: 100px 0 0;
  z-index: 2;
}
.content2 .container-inner {
  padding: 0;
}
.content3 .container-inner {
  padding: 50px 0 0;
}
@media (min-width: 1024px) {
  .content2 .container-inner {
    padding: 20px 0 0;
  }
}
.container-inner:before {
  content: '';
  position: absolute;
  left: 0;
  width: 120%;
  height: 33%;
  margin: 3% -10% 0;
  background: rgb(249,194,152);
  background: linear-gradient(90deg, rgba(249,194,152,1) 10%, rgba(238,181,178,1) 100%); 
  z-index: -1;
}
.container-inner.is-content2:before {
  height: 50%;
  background: rgb(152,241,248);
  background: linear-gradient(90deg, rgba(152,241,248,1) 10%, rgba(134,191,249,1) 100%); 
}
.container-inner.is-content3:before {
  height: 34%;
  background: rgb(253,241,122);
  background: linear-gradient(90deg, rgba(253,241,122,1) 10%, rgba(254,217,123,1) 100%);
}
@media (min-width: 768px) {
  .container-inner.is-content1:before {
		height: 38%;
    background: rgb(253,199,141);
    background: linear-gradient(90deg, rgba(253,199,141,1) 0%, rgba(235,177,186,1) 100%); 
	}
	.container-inner.is-content2:before {
    background: rgb(156,252,248);
    background: linear-gradient(90deg, rgba(156,252,248,1) 0%, rgba(127,170,250,1) 100%); 
	}
  .container-inner.is-content3:before {
    height: 41%;
    background: rgb(252,251,121);
    background: linear-gradient(90deg, rgba(252,251,121,1) 0%, rgba(255,208,124,1) 100%); 
  }
}
@media (min-width: 1024px) {
	.container-inner.is-content2:before {
		height: 44%;
	}
}

.container-inner.is-rightUp:before {
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform: rotate(-2.5deg);
  -ms-transform: rotate(-2.5deg);
  transform: rotate(-2.5deg);
}
.container-inner.is-leftUp:before {
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform: rotate(2.5deg);
  -ms-transform: rotate(2.5deg);
  transform: rotate(2.5deg);
}
.content-ttl {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  padding: 50px 10px 30px;
  text-align: center;
  font-size: 2.8rem;
}
.content-ttl::after {
  content: '';
  display: block;
  border-bottom: 4px solid;
  width: 100px;
  margin: 20px auto 0;
}
.content2 .content-ttl {
  padding-top: 80px;
}
@media (min-width: 768px) {
  .content1 .content-ttl {
		padding: 80px 10px 20px;
	}
	.content2 .content-ttl {
		padding: 130px 10px 20px;
	}
  .content3 .content-ttl {
		padding: 80px 10px 20px;
	}
}
@media (min-width: 1440px) {
  .content2 .content-ttl {
		padding: 180px 10px 20px;
	}
}
.content-ttl .far {
  font-size: 5.0rem;
  margin-bottom: 2rem;
}

.content-body {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
    -ms-flex-direction: column;
        flex-direction: column;
-webkit-box-align: center;
    -ms-flex-align: center;
        align-items: center;
}
@media (min-width: 768px) {
	.content-body {
		-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
    -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-pack: distribute;
    	    justify-content: space-around;
    margin-right: auto;
    margin-left: auto;
    padding: 0 20px;
	}
}
@media (min-width: 1024px) {
	.content-body {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
        justify-content: space-between;
	  width: 780px;
    padding-right: 0;
    padding-left: 0;
	}
}

.content-body .content-body__img {
  order: 1;
  width: 280px;
  height: auto;
  margin: 0 auto;
}
.content-body .content-body__txt,
.content-body .content-body__list {
  order: 2;
  max-width: 400px;
}
.content-body .content-body__txt {
  text-align: left;
  font-size: 1.6rem;
  line-height: 1.7;
}
@media (min-width: 1024px) {
  .content-body .content-body__txt {
    font-size: 1.8rem;
    line-height: 2;
  }
}
.content-body .content-body__txt p {
  margin: 10px 20px;
}
@media (min-width: 768px) {
  .content-body .content-body__img {
    margin: 0;
  }
  .content1 .content-body .content-body__img {
    padding-bottom: 50px;
    margin-left: 50px;
  }
  .content2 .content-body .content-body__img {
    margin-right: 50px;
  }
  .content3 .content-body .content-body__img {
    margin-left: 50px;
  }
  .content-body.is-pc-img-right .content-body__txt {
		order: 1;
	}
	.content-body.is-pc-img-right .content-body__img {
		order: 2;
	}
  .content-body .content-body__txt p {
    margin: 20px 20px 0 0;
  }
}


/* --------------------------------------------------

	content1

-------------------------------------------------- */
.content1 {
  z-index: 2000;
}
.content1 .content-body .content-body__list {
  margin: 10px 20px 0;
  padding: 35px 30px;
  text-align: left;
  font-size: 1.8rem;
  background:
  url("../img/waku_coner_left_top.gif") no-repeat left top,
  url("../img/waku_coner_right_top.gif") no-repeat right top,
  url("../img/waku_coner_left_btm.gif") no-repeat left bottom,
  url("../img/waku_coner_right_btm.gif") no-repeat right bottom,
  url("../img/waku_line_top.png") repeat-x left top,
  url("../img/waku_line_left.png") repeat-y left top,
  url("../img/waku_line_right.png") repeat-y right top,
  url("../img/waku_line_btm.png") repeat-x right bottom;
  background-size:
  23px 23px,23px 23px,23px 23px,23px 23px,
  1px 7px,7px 1px,7px 1px,1px 7px;
}
@media (min-width: 1024px) {
  .content1 .content-body .content-body__list {
    width: 462px;
    margin-right: 0;
  }
}

.content1 .content-body .content-body__list li {
  padding-left: 40px;
  padding-bottom: 1rem;
  background-image: url("../img/ico_kira.svg");
  background-size: 30px 32px;
  background-repeat: no-repeat;
}
.content1 .content-body .content-body__list li:last-child {
  padding-bottom: .5rem;
}


/* --------------------------------------------------

	content2

-------------------------------------------------- */
.content2 {
  z-index: 3000;
}
@media (min-width: 768px) {
  .content2 {
    margin-top: -130px;
  }
}
@media (min-width: 1240px) {
  .content2 {
    margin-top: -150px;
  }
}
@media (min-width: 1440px) {
  .content2 {
    margin-top: -200px;
  }
}

/* --------------------------------------------------

	content3

-------------------------------------------------- */
.content3 {
  z-index: 4000;
  margin-top: -40px;
}
@media (min-width: 768px) {
  .content3 {
    margin-top: -80px;
  }
}


/* --------------------------------------------------

	content4

-------------------------------------------------- */
.contentLast {
  position: relative;
  padding-bottom: 50px;
  background-image: url("../img/img_photo2_sp.jpg");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
  background-color: #EBEFF2;
  overflow: hidden;
}
@media (min-width:490px) {
	.contentLast {
    background-size: cover;
	}
}
@media (min-width: 641px) {
	.contentLast {
    background-size: contain;
    background-image: url("../img/img_photo2_pc.jpg");
	}
}
@media (min-width: 768px) {
	.contentLast {
    padding-bottom: 90px;
    background-size: cover;
	}
}
@media (min-width: 1024px) {
	.contentLast {
    background-size: contain;
	}
}

.contentLast .txt {
  margin: 220px 20px 0;
  padding: 20px 0;
  background-image: url("../img/bg_contentlast.jpg");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}
@media (min-width: 768px) {
	.contentLast .txt {
    margin: 220px 20px 0;
    padding: 40px 0;
    font-size: 2.0rem;
	}
}
@media (min-width: 1024px) {
	.contentLast .txt {
    width: 620px;
    margin: 220px auto 0;
	}
}

.contentLast .txt .space {
  padding: 1em 0 0 0;
}


/* --------------------------------------------------

	footer

-------------------------------------------------- */
.footer .footer-btn {
  padding: 30px 20px 20px 20px;
}
@media (min-width: 768px) {
  .footer .footer-btn {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
        justify-content: space-between;
    margin: auto;
  }
}
@media (min-width: 1024px) {
  .footer .footer-btn {
    width: 780px;
    padding: 30px 0 20px;
  }
}

.footer .footer-btn .appWrp-btn {
  margin-top: 0;
}
@media (min-width: 768px) {
  .footer .footer-btn .appWrp-btn {
    width: 40%;
  }
}

.footer .footer-btn .appMore-sns {
  margin-top: 1rem;
  -webkit-box-pack: justify;
    -ms-flex-pack: justify;
        justify-content: space-between;
  font-size: 3.2rem;
}
@media (min-width: 768px) {
  .footer .footer-btn .appMore-sns {
    margin-top: 0;
    width: 40%;
  }
}

.footer .footer-about {
  text-align: left;
  margin-right: auto;
	padding: 20px 20px 15px;
	color: #FFF;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2;
  background: rgb(186,42,97);
  background: linear-gradient(135deg, rgba(186,42,97,1) 30%, rgba(64,57,154,1) 80%);
}
@media (min-width: 768px) {
  .footer .footer-about {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
    -ms-flex-pack: center;
        justify-content: center;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
    -ms-flex-direction: column;
      -webkit-box-orient: vertical;
-webkit-box-direction: normal;
    -ms-flex-direction: column;
        flex-direction: column;
    padding: 40px 40px 80px;
  }
}

.footer .footer-about .footer-about__link {
  padding-bottom: 1rem;
}
@media (min-width: 768px) {
  .footer .footer-about .footer-about__link {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
        justify-content: space-between;
    margin: auto;
    padding-bottom: 50px;
  }
}
@media (min-width: 1024px) {
  .footer .footer-about .footer-about__link {
    width: 780px;
  }
}

.footer .footer-about .footer-about__link a {
  color: #FFF;
  text-decoration: none;
}
.footer .footer-about .footer-about__link a:hover {
  text-decoration: underline;
}

@media (min-width: 768px) {
  .footer .footer-about .footer-about__link li {
    padding:0 20px;
  }
}


.footer .footer-about .footer-about__copyright {
  text-align: right;
}
@media (min-width: 641px) {
  .footer .footer-about .footer-about__copyright {
    text-align: center;
  }
}
