@charset "utf-8";
/* CSS Document */

/*---------------------------------------------
Reset
---------------------------------------------*/


html {
	color: #333;
	overflow-y: scroll;
	font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
	font-size: 62.5%;
	line-height:1.7;
}

h1, h2, h3, h4, h5, h6 { font-weight: normal; margin: 0; padding: 0; }
img { border: none; vertical-align: bottom; max-width: 100%; height: auto; margin: 0; padding: 0; }
div, dl, dt, dd, form, input, ul, ol, li, p, select, textarea, span, th, td { margin: 0; padding: 0;}

/*---------------------------------------------
Style
---------------------------------------------*/
*, *:before, *:after {
	box-sizing: border-box;
}

.font_r{
	font-family: 'M PLUS Rounded 1c', sans-serif;
}

body {
	text-align: center;
	margin: 0 auto;
	padding: 0;
	font-size:1.7rem;
	background-image:url(../img/bg.png);
    background-position: top center;
    background-size: cover;
}

.flexwrap{
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
	align-items:normal;
}

.box_800{
	max-width:800px;
	margin:0 auto;
}

.box_900{
	max-width:900px;
	margin:0 auto;
}

.box_980{
	max-width:980px;
	margin:0 auto;
}

.box_1080{
	max-width:1080px;
	margin:0 auto;
}

.bg_w{
	background:#fff;
}

.bdr_20{
	border-radius:20px;
}

.outline {
  display        : inline-block;
  text-shadow    : 
       2px  2px 1px #fff,
      -2px  2px 1px #fff,
       2px -2px 1px #fff,
      -2px -2px 1px #fff,
       2px  0px 1px #fff,
       0px  2px 1px #fff,
      -2px  0px 1px #fff,
       0px -2px 1px #fff;        /* 文字の影 */
}

.for_sp{
	display:none;
	margin:0 auto;
}

.for_pc{
	display:block;
	margin:0 auto;
}

/*---------------------------------------------
ヘッダー
---------------------------------------------*/
header {
    padding: 40px 5% 16px 5%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;
}

header a img{
    position: absolute;
    top: 0;
    left: 0;
    width:26%;
}

/*---------------------------------------------
3Dアピタン登場
---------------------------------------------*/
.col_2{
  display: flex;
    justify-content: center;
    align-items: center;
}

#head_note{
	margin: 0 auto 40px auto;
}

.head_note_wrap{
	background:#ffffffa6;
	padding: 32px 5%;
}

.head_note_inner{
	font-size:1.8rem;
	font-weight:bold;
}

/* おすすめバナーからのページのみ */

.note_pop {
    font-size: 2.8rem;
    background: #9089c1;
    border-radius: 50px;
    color: #fff;
    margin: 0 16px;
    /* padding: 0 8px; */
}
/* ----------------------------- */

/* ボタン */

a.btn_03 {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size:2.6rem;
  width: 90%;
  position: relative;
  background: #f1037b;
  border: 1px solid #f1037b;
  border-radius: 50px;
  box-sizing: border-box;
  color: #fff;
  text-align: left;
  text-decoration: none;
  transition-duration: 0.3s;
  padding:12px 0;
    margin: 0 auto;
}
a.btn_03:before {
  content: '';
  width: 10px;
  height: 10px;
  border: 0;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 25px;
  margin-top: -6px;
}
a.btn_03:hover {
  background: #fff;
  color: #f1037b;
}
a.btn_03:hover:before {
  border-top: 2px solid #f1037b;
  border-right: 2px solid #f1037b;
}


.btn_wrap{
    margin: 1rem auto;
}

@media screen and (max-width: 768px){
a.btn_03 {
  font-size:2.2rem;
}
}

/*---------------------------------------------
パソコンからご確認いただいている方
---------------------------------------------*/
#view_pc{
    margin: 64px auto -32px auto;
    padding: 0 5%;
}

#view_pc h2{
	padding-bottom: 8px;
}

.howto_note_wrap{
	background:#eee;
	text-align:left;
	padding: 2rem 3rem;
}
.view_pc_wrap{
    padding: 32px 5%;
}

/*---------------------------------------------
対応端末
---------------------------------------------*/

#support {
    margin: 72px 0;
}

.howto_note_wrap{
	background:#eee;
	text-align:left;
	padding: 2rem 3rem;
}

.howto_note_wrap .note_ttl{
	font-weight:bold;
	font-size:120%;
}

.howto_note_wrap .note{
	font-size:80%;
	display:inline-block;
    line-height: 1.5;
    margin-top: .8rem;
}

/*---------------------------------------------
流れ星みーつけたキャンペーン
---------------------------------------------*/
#twcp{
    padding: 0 5% 48px 5%;
}

#twcp h3{
	padding-bottom:24px;
}


.twcp_wrap{
	background:#fff000;
	border:5px solid #1da1f2;
	padding:32px 0;
}

.twcp_details_wrap{
	padding: 0 5%;
}

.twcp_details_note_wrap{
	font-size:90%;
	line-height:1.5;
}

.prize_wrap{
	margin: 32px auto;
	padding: 16px 5%;
}

.terms_wrap{
    overflow: auto;
    height: 430px;
    margin: 24px auto 40px auto;
    border: 5px solid #eee;
    background:#fff;
}

.oubo_ttl_txt {
    font-size: 5rem;
    line-height:1.5;
    padding-bottom: 24px;
}

.twcp_ttl_wrap,
.oubo_wrap{
	padding:0 5%;
}

/* ボタン */

a.btn_04 {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size:2.6rem;
  max-width: 900px;
  position: relative;
  background: #1da1f2;
  border: 1px solid #1da1f2;
  border-radius: 50px;
  box-sizing: border-box;
  color: #fff;
  text-align: left;
  text-decoration: none;
  transition-duration: 0.3s;
  padding:12px 0;
    margin: 0 auto;
}

/*
a.btn_04:before {
  content: '';
  width: 10px;
  height: 10px;
  border: 0;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 25px;
  margin-top: -6px;
}*/


a.btn_04:hover {
  background: #fff;
  color: #1da1f2;
}

/*
a.btn_04:hover:before {
  border-top: 2px solid #1da1f2;
  border-right: 2px solid #1da1f2;
}*/

a.btn_04 img{
    width: 7%;
    margin: 0 8px;

}


.btn_wrap{
    margin: 2rem auto;
}

@media screen and (max-width: 768px){
a.btn_04 {
  font-size:1.8rem;
}

a.btn_04 img {
    width: 7vw;
    margin: 0 3px 0 0;
}

}

.sns_btn_wrap div {
    width: 32%;
    margin: 8px;
}

.sns_btn_wrap div a img:hover{
	    transform: scale(1.05,1.05) !important;
    transition: 0.3s all !important;
}

.sns_btn_wrap div a img{
    transition: 0.3s all !important;
}


.twcp_details_note_wrap ul{
	text-align:left;
}

/* twcp ここから */

.cp_details_wrapper{
	background:#fff;
        padding: 2rem;
}

.kiyaku_wrapper ul,
.kiyaku_wrapper li{
	list-style:none;
}

.ttl {
    margin: 1rem auto 2rem auto;
    font-weight: bold;
    font-size: 2.6rem;
    text-align: center;
    position: relative;
}

.ttl:after {
    content: "";
    display: block;
    width: 8rem;
    height: 3px;
    background: #333;
    position: absolute;
    bottom: -10%;
    left: 50%;
    margin-left: -40px;
}

.oubo_wrapper dt,
.oubo_wrapper dd{
	text-align:left;
}

.oubo_wrapper dt{
    font-weight: bold;
    background: #1da1f2;
    line-height: 2.5;
    padding-left: 2rem;
    color:#fff;

}

.oubo_wrapper dd{
    padding: 2rem;
    color:#333;
}

.oubo_wrapper li{
	margin-left:2rem;
}

.howto_wrapper{
	font-size:90%;
	font-weight:bold;
}

.howto_wrapper .bg {
    background: #ebf0ff;
    padding: 1rem 2rem;
    margin-top: 8px;
}

.howto_wrapper .txt{
	margin-top:0.8rem;
}

/* twcp スマホ表示 */

@media screen and (max-width: 768px){

	.ttl {
	    font-size: 2rem;
	}

	.terms_wrap{
		height: 50vh;
		border: 3px solid #eee;
	}

	.cp_details_wrapper {
	    background: #fff;
	    padding: 0 8px;
	    font-size: 1.4rem;
	}

	.oubo_wrapper dd {
	    padding: 1rem;
	}

}

/* twcp スマホ表示 ここまで*/

/*---------------------------------------------
フッター
---------------------------------------------*/

footer{
	width: 100%;
	padding: 20px 0;
	font: Arial, Helvetica, sans-serif;
	background: #2b2b2b;
	font-size: 90%;
}

footer a{
	color: #fff;
	text-decoration: none;
}


footer address{
	color: #fff;
}

/* 以下、スマホ表示調整が必要な場合に使用※不要な場合は削除 */

@media screen and (max-width: 768px){

body {
	text-align: center;
	margin: 0 auto;
	padding: 0;
	font-size:1.5rem;
}

.col_2{
	display:block;
}

.for_sp{
	display:block;
	margin:0 auto;
}

.for_pc{
	display:none;
	margin:0 auto;
}


/*---------------------------------------------
ヘッダー
---------------------------------------------*/

header {
    padding: 10vw 5%;
}

header a img{
	width:50vw;
}


/*---------------------------------------------
3Dアピタン登場
---------------------------------------------*/
#head_note {
    margin: 0 auto 32px auto;
}

.head_note_inner {
    font-size: 1.4rem;
}

.note_pop {
    font-size: 5.2vw;
    line-height: 1.3;
    padding: 8px 0;
    margin: 0 auto;
}

.btn_wrap {
    margin: 3vw auto;
}

/*---------------------------------------------
パソコンから
---------------------------------------------*/

#view_pc{
    margin: 32px auto;
}

.view_pc_wrap {
    padding: 24px 5%;
}

.howto_note_wrap {
    margin: 8px auto;
    font-size: 1.2rem;
    padding: 1.5rem;
}

#support {
    margin: 0 0 48px 0;
}
/*---------------------------------------------
流れ星みーつけたキャンペーン
---------------------------------------------*/

#twcp h3 {
    padding-bottom: 8px;
}

.twcp_wrap {
    padding: 24px 0;
}

.oubo_ttl_txt {
    font-size: 2.8rem;
    padding-bottom: 1rem;
}

/* ボタン */
a.btn_04 {
  width: 100%;

}

.twcp_details_note_wrap {
    font-size: 80%;
    line-height: 1.5;
    padding: 0 0 0 2rem;
}

.sns_btn_wrap{
    padding: 0 16px;
}

.sns_btn_wrap div {
	width:100%;
    margin: 8px auto;
}
/*---------------------------------------------
フッター
---------------------------------------------*/
	footer{
		padding:10px 0;
	}

	footer a{
	font-size: 0.5em;
	}
	
	#page-top a{
	margin: 0 -10px 0 0;
	}
}
