@charset "UTF-8";

html, body {

  height: 100%;

  font-family: "Noto Sans Japanese", Roboto, "Droid Sans", sans-serif;

  font-size: 67.5%;

  font-smoothing: antialiased;

}



* {

  padding: 0;

  border: none;

  margin: 0;

  background: none;

  outline: none;

}



ul, ol {

  list-style: none;

}



img {

  display: block;

  width: 100%;

  margin: auto;

}



a {

  text-decoration: none;

}



html {

  overflow: visible;

}



body {

  overflow: visible;

  font-family: "Noto Sans Japanese", Roboto, "Droid Sans", sans-serif;

  line-height: normal;

}



p {

  margin: 0;

}



input, button, select, textarea {

  font-family: "Noto Sans Japanese", Roboto, "Droid Sans", sans-serif;

}



label, input, button, select, textarea {

  line-height: normal;

}



input[disabled], select[disabled], textarea[disabled], input[readonly]:not(.cloned-text-input), textarea[readonly]:not(.cloned-text-input), select[readonly] {

  background-color: transparent;

}









#serviceHeader {

  position: relative;

  z-index: 201;

  display: -webkit-flex;

  display: -ms-flexbox;

  display: flex;

  -webkit-align-items: center;

      -ms-flex-align: center;

          align-items: center;

  -webkit-justify-content: space-between;

      -ms-flex-pack: justify;

          justify-content: space-between;

  overflow: hidden;

  padding: 0 10px;

  color: #fff;

  background-color: #717071;

}

#serviceHeader #serviceLogo {

  -webkit-flex: 0 0 136px;

      -ms-flex: 0 0 136px;

          flex: 0 0 136px;

}

#serviceHeader .nav {

  -webkit-flex: 0 1 140px;

      -ms-flex: 0 1 140px;

          flex: 0 1 140px;

  display: -webkit-flex;

  display: -ms-flexbox;

  display: flex;

  -webkit-justify-content: flex-end;

      -ms-flex-pack: end;

          justify-content: flex-end;

}

#serviceHeader .nav li {

  -webkit-flex: 0 0 35px;

      -ms-flex: 0 0 35px;

          flex: 0 0 35px;

  position: relative;

  margin-left: 5px;

}

#serviceHeader .nav li a, #serviceHeader .nav li button {

  display: block;

  width: 100%;

  color: inherit;

}

#serviceHeader .nav li a span, #serviceHeader .nav li button span {

  display: block;

  margin: auto;

  font-size: 10px;

  text-align: center;

  white-space: nowrap;

  -webkit-transform: scale(0.8);

      -ms-transform: scale(0.8);

          transform: scale(0.8);

}

#serviceHeader .nav li a:before, #serviceHeader .nav li button:before {

  content: "";

  display: block;

  width: 24px;

  height: 24px;

  margin: auto;

  background-image: url("../../img/icon/menu.png");

  background-size: auto 500%;

}

#serviceHeader .nav li a.nav-news:before, #serviceHeader .nav li button.nav-news:before {

  background-position: 36.84211% 25%;

}

#serviceHeader .nav li a.nav-clip:before, #serviceHeader .nav li button.nav-clip:before {

  background-position: 42.10526% 25%;

}

#serviceHeader .nav li a.nav-search:before, #serviceHeader .nav li button.nav-search:before {

  background-position: 47.36842% 25%;

}

#serviceHeader .nav li a.nav-menu:before, #serviceHeader .nav li button.nav-menu:before {

  background-position: 94.73684% 25%;

}

#serviceHeader .nav li a.nav-point:before, #serviceHeader .nav li button.nav-point:before {

  background-position: 89.47368% 25%;

}

#serviceHeader .nav li .badge {

  right: -2px;

  top: -4px;

  width: 16px;

  height: 16px;

  line-height: 16px;

}

#serviceHeader .regist {

  -webkit-flex: 1 0 125px;

      -ms-flex: 1 0 125px;

          flex: 1 0 125px;

  max-width: 180px;

  margin: auto auto auto 5px;

}

#serviceHeader .regist .button {

  display: -webkit-flex;

  display: -ms-flexbox;

  display: flex;

  -webkit-align-items: center;

      -ms-flex-align: center;

          align-items: center;

  -webkit-justify-content: center;

      -ms-flex-pack: center;

          justify-content: center;

  height: 30px;

  padding: 0;

}

#serviceHeader.he_Login, #serviceHeader.he_Logout, #serviceHeader.he_Under, #serviceHeader.he_Logout_under {

  height: 60px;

}

#serviceHeader.he_Logout_under .nav {

  -webkit-flex-basis: 35px;

      -ms-flex-preferred-size: 35px;

          flex-basis: 35px;

}

#serviceHeader.he_app_Login, #serviceHeader.he_app_Logout {

  height: 44px;

}

#serviceHeader.he_app_Login .nav li a, #serviceHeader.he_app_Logout .nav li a, #serviceHeader.he_app_Login .nav li button, #serviceHeader.he_app_Logout .nav li button {

  height: 24px;

  overflow: hidden;

}

#serviceHeader.he_app_Login .nav-back, #serviceHeader.he_app_Logout .nav-back {

  display: -webkit-flex;

  display: -ms-flexbox;

  display: flex;

  -webkit-align-items: center;

      -ms-flex-align: center;

          align-items: center;

  color: inherit;

  font-size: 1.6rem;

  line-height: 1.2;

}

#serviceHeader.he_app_Login .nav-back:before, #serviceHeader.he_app_Logout .nav-back:before {

  content: "";

  display: block;

  width: 20px;

  height: 20px;

  margin-right: 5px;

  margin-left: -5px;

  background-image: url("../../img/icon/arrow.png");

  background-size: auto 200%;

  background-position: 60% 100%;

}



#serviceHeader.he_Under + #topNav .pt_My {

  font-size: 1.3rem;

}

.pt_My .image {

  width: 50px;

  margin-right: 10px;

}

#serviceHeader.he_Under + #topNav .pt_My .image {

  width: 30px;

}

#serviceHeader.he_Under + #topNav .pt_My .point {

  font-size: 1rem;

}

.pt_My .point .num {

  font-size: 1.8rem;

}

#serviceHeader.he_Under + #topNav .pt_My .point .num {

  font-size: 1.3rem;

}



.pt_Quit {

  margin: 10px;

}



.my-waon-point {

  margin: 10px;

  line-height: 1.6;

  display: -webkit-flex;

  display: -ms-flexbox;

  display: flex;

  -webkit-align-items: center;

      -ms-flex-align: center;

          align-items: center;

}

.my-waon-point .icon:before, .my-waon-point .iconR:before, .my-waon-point .iconL:before, .my-waon-point .iconC:before {

  margin-right: 5px;

  background-image: url("../common/base/icon_linkarrow.png");

  vertical-align: middle;

}

.my-waon-point .point {

  -webkit-flex-grow: 1;

      -ms-flex-positive: 1;

          flex-grow: 1;

  text-align: right;

  font-size: 1.2rem;

}

.my-waon-point .point .num {

  font-size: 1.4rem;

  font-weight: bold;

}



footer {

  width: 100%;

  color: #fff;

  background-color: #717071;

}

footer.app {

  padding-bottom: 50px;

}

footer.fo_app_Login_fixmenu, footer.fo_app_Logout_fixmenu {

  position: fixed;

  bottom: 0;

}

footer.fo_app_Login_fixmenu a span, footer.fo_app_Logout_fixmenu a span,

footer.fo_app_Login_fixmenu button span,

footer.fo_app_Logout_fixmenu button span {

  white-space: nowrap;

  -webkit-transform: scale(0.8);

      -ms-transform: scale(0.8);

          transform: scale(0.8);

}

footer ul.list_footer {

  padding: 25px 10px;

  margin: 0 10px;

}

footer ul.list_footer + ul {

  border-top: #a1a1a1 solid 1px;

}

footer ul.list_footer li {

  font-size: 1.4rem;

}

footer ul.list_footer li + li {

  margin-top: 25px;

}

footer ul.list_footer li a {

  color: inherit;

}

footer ul.nav {

  display: -webkit-flex;

  display: -ms-flexbox;

  display: flex;

  height: 50px;

}

footer ul.nav li {

  -webkit-flex: 1;

      -ms-flex: 1;

          flex: 1;

}

footer ul.nav li > a, footer ul.nav li > button {

  display: -webkit-flex;

  display: -ms-flexbox;

  display: flex;

  -webkit-align-items: center;

      -ms-flex-align: center;

          align-items: center;

  -webkit-flex-direction: column;

      -ms-flex-direction: column;

          flex-direction: column;

  -webkit-justify-content: center;

      -ms-flex-pack: center;

          justify-content: center;

  width: 100%;

  height: 50px;

  color: inherit;

  font-size: 0.8rem;

  text-align: center;

}

footer ul.nav li > a:before, footer ul.nav li > button:before {

  content: "";

  display: block;

  width: 24px;

  height: 24px;

  margin-bottom: 5px;

  background-image: url("../../img/icon/menu.png");

  background-size: auto 500%;

}

footer ul.nav li > a.nav-home:before, footer ul.nav li > button.nav-home:before {

  background-position: 0% 25%;

}

footer ul.nav li > a.nav-clip:before, footer ul.nav li > button.nav-clip:before {

  background-position: 42.10526% 25%;

}

footer ul.nav li > a.nav-search:before, footer ul.nav li > button.nav-search:before {

  background-position: 47.36842% 25%;

}

footer ul.nav li > a.current, footer ul.nav li > button.current {

  background-color: #515051;

}

footer ul.nav li .regist {

  display: -webkit-flex;

  display: -ms-flexbox;

  display: flex;

  -webkit-align-items: center;

      -ms-flex-align: center;

          align-items: center;

  height: 50px;

}

footer ul.nav li .regist .button {

  display: -webkit-flex;

  display: -ms-flexbox;

  display: flex;

  -webkit-align-items: center;

      -ms-flex-align: center;

          align-items: center;

  -webkit-justify-content: center;

      -ms-flex-pack: center;

          justify-content: center;

  height: 30px;

}

footer p {

  display: block;

  padding: 20px;

  font-size: 1.1rem;

  text-align: center;

  background-color: #4b4c4b;

}



#serviceLogo {

  width: 136px;

  height: 0;

  overflow: hidden;

  padding-top: 54px;

  background-image: url("../img/common/smart_waon_logotypo.png");

  background-position: center center;

  background-repeat: no-repeat;

  background-size: 100%;

}



h1 {

  margin: 20px 10px 15px;

  color: #222;

  font-size: 1.6rem;

  font-weight: bold;

  line-height: 1.2;

}

h1:first-child {

  margin-top: 20px;

}

h1 span {

  display: block;

  padding-left: 7px;

  border-left: 3px #717071 solid;

}

h1.underline {

  padding-bottom: 9px;

  border-bottom: 1px #e3e3e3 solid;

}

h1.pt {

  text-align: center;

}

h1.balloon {

  position: relative;

  padding-bottom: 0;

  width: 225px;

  padding: 8px;

  margin: 20px auto;

  color: #fff;

  background-color: #717071;

  border-radius: 4px;

}

h1.balloon:after {

  content: "";

  position: absolute;

  top: 0;

  bottom: 0;

  bottom: -6px;

  width: 10px;

  height: 6px;

  display: block;

  margin: auto;

  border-top: #717071 solid 6px;

  border-left: transparent solid 5px;

  border-right: transparent solid 5px;

}

h1.balloon:after {

  top: auto;

  right: 0;

  left: 0;

}

h1.balloon span {

  padding: 0;

  border: none;

  margin: auto;

  text-align: center;

}

h1.balloon span.caption {

  font-size: 1.1rem;

  font-weight: normal;

}



h2 {

  display: -webkit-flex;

  display: -ms-flexbox;

  display: flex;

  -webkit-align-items: center;

      -ms-flex-align: center;

          align-items: center;

  padding: 10px;

  margin: 20px 0 15px;

  color: #fff;

  font-size: 1.4rem;

  font-weight: bold;

  line-height: 1.2;

  background-color: #717071;

}









/********/

header .inner{display: none;}

header#serviceHeader {display: block;}

div#serviceLogo {float: right;padding: 15px;width: 70px;}



div.box-content.wr{

    margin: 0;

    text-align: justify;

	color: #333;

}

.wr #title{

	width: 100%;

	background: #dbdcdc;

}

.wr #title .inner{/* width: 960px; */margin: 0 auto 0 auto;padding: 6% 0 6% 0;}

.wr #title .inner h1{

    margin: 0;

    padding: 0 2.5% 0 2.5%;

}



.wr #main{}

.wr #main .inner{

    overflow: hidden;

    /* width: 960px; */

    margin: 1% auto 5% auto;

}

.wr #main .inner h2{

    color: #fff;

    background: #656464;

    padding: 2%;

    font-size: 4.6vw;

    line-height: 1.2em;

    margin: 0 0 3% 0;

}

.wr #main .inner h3{

    font-size: 3.7vw;

    padding: 1%;

    margin: 0 0 1% 0;

}

.wr #main .inner h4{

    font-weight: normal;

}

.wr #main .inner h4 span.red{

  color:#ff0000;

}

.wr #main .inner .cont1{

	width: 100%;

	margin: 0 0 0 0;

}

.wr #main .inner h4.txt{

    font-size: 3.6vw;

    line-height: 1.5em;

    margin: 2%;

}

.wr #main .inner h4.txt span.link{

  /* width:100%; */

  /* display:block; */

}

.wr #main .inner h4.img{

    width: 60%;

    margin: 0 auto 0 auto;

}

.wr #main .inner h4.img img{

    width: 100%;

}

.wr #main .inner .cont1 p{line-height: 1.3em;padding: 0 0 0 4vw;position: relative;margin: 0 2% 0 2%;font-size: 3.1vw;}

.wr #main .inner .cont1 p:after {

  position: absolute;

  content: "※";

  top: 0;

  left: 0;

  width: 12px;

  height: 24px;

}

.wr #main .inner p.attention{margin: 0 6% 0 6%;font-size: 3.2vw;line-height: 1.3em;color: #333;}

.wr #main .inner ol.flow{counter-reset: my-counter;margin: 0 2% 0 2%;}

.wr #main .inner ol.flow li{

  margin-bottom: 0px;

  padding: 2% 3% 2% 12%;

  position: relative;

  margin: 0 0 10% 0;

  background: #ccc;

  text-align: center;

  font-size: 4vw;

}

.wr #main .inner ol.flow li span{

  width:100%;

  display: block;

  font-size: 3.2vw;

}

.wr #main .inner ol.flow li:before {

  content: counter(my-counter);

  counter-increment: my-counter;

  border: 1px solid #555;

  color: #222;

  display: block;

  float: left;

  top: 50%;

  position: absolute;

  margin: -9px 0 0 -10%;

  line-height: 18px;

  text-align: center;

  height: 18px;

  width: 18px;

  border-radius: 50%;

}

.wr #main .inner ol.flow li:after {

  position: absolute;

  content: "";

  bottom: -6vw;

  left: 0;

  margin: 0 0 0 0;

  width: 100%;

  height: 4vw;

  display: block;

  background: url("../img/aroww.png") bottom center no-repeat;

  background-size: 100% auto;

}

.wr #main .inner ol.flow li:last-child:after {

  background:none;

}

.wr #main .inner ol.txt{margin: 0 5% 0 5%;counter-reset: my-counter;}

.wr #main .inner ol.txt li{

  margin-bottom: 0px;

  padding-left: 30px;

  position: relative;

  font-size: 3.2vw;

  margin: 0 0 1.5% 0;

}

.wr #main .inner ol.txt li:before {

  content: counter(my-counter);

  counter-increment: my-counter;

  border: 1px solid #555;

  color: #222;

  display: block;

  float: left;

  margin: 0px 0 0 -10%;

  line-height: 14px;

  text-align: center;

  height: 14px;

  width: 14px;

  border-radius: 50%;

}



.wr #main .inner dl{

    margin: 1% 1% 0 1%;

}

.wr #main .inner dt{

    margin: 0 0 1% 0;

}

.wr #main .inner dt h3{

    border-bottom: 1px solid #ccc;

    padding: 0 1% 0 1%;

    font-size: 4vw;

}

.wr #main .inner dd{

    margin: 0 0 16px 0;

}

.wr #main .inner dd h4.txt{

    margin: 0 2% 1% 2%;

}



.wr #main .inner ul.btn{}

.wr #main .inner ul.btn li{

    width: 60%;

    margin: 0 auto;

}

.wr #main .inner ul.btn li a{

    padding: 0;

}

