@charset "utf-8";
html {
    background: #f0f0f0;
    color: #555;
}
a,
body,
dd,
dl,
dt,
h1,
h2,
h3,
h4,
h5,
h6,
li,
ol,
p,
small,
ul {
    margin: 0;
    padding: 0;
    line-height: 1.4em;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 400;
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",
        sans-serif;
    color: #555;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
small {
    display: block;
}
a img,
img {
    border: 0;
}
li {
    list-style: none;
}
img {
    width: 100%;
}
.mt-1 {
    margin-top: -1px;
}
.bold {
    font-weight: bold;
}
.boxRegist .flow dt,
.btnBack,
.btnRegist,
.titBalloon,
.titLv2,
.titSub1,
.titSub2,
.titSub3,
ol > li:before {
    font-weight: 700;
}
.note {
    color: #ff6ea5;
}
strong {
    font-size: 1.2rem;
    font-weight: 400;
}
strong.note {
    font-weight: 700;
}
.rice {
    font-size: 0.8rem;
    margin-left: 1em;
    letter-spacing: -0.1em;
}
.rice:before {
    content: "※";
    margin-left: -1em;
}
.arrowA:before,
.arrowB:before,
.arrowC:after,
.boxRegist .flow dd li:before,
.btnSister:before,
.chBlock li:before,
.flow2 > li:after,
.ranking li:before,
.titSub2:before {
    content: "";
    position: absolute;
    display: block;
    background: url(/img/offer/offer_parts.png) no-repeat;
    background-size: 72px auto;
}
#norton:after,
.headGirlB:before {
    content: "";
    position: absolute;
    display: block;
    background: url(/img/offer/offer_parts2.png) no-repeat;
    background-size: 187px auto;
}
.qr:after {
    content: "";
    display: block;
    clear: both;
    width: 100%;
}
.arrowA,
.arrowB {
    position: relative;
    padding: 10px 0;
    background: #fff;
    border-top: solid 1px #999;
}
.arrowB {
    background: #f0f0f0;
}
.arrowA:before,
.arrowB:before {
    top: -13px;
    left: 50%;
    width: 14px;
    height: 14px;
    margin-left: -7px;
    background-position: 0 -400px;
}
.arrowB:before {
    background-position: -30px -400px;
}
.arrowC:after {
    top: 50%;
    right: 10px;
    width: 12px;
    height: 18px;
    margin-top: -9px;
    background-position: 0 -500px;
}
.btnBar,
.btnRegist,
.btnSister {
    display: block;
    clear: both;
    height: 50px;
    line-height: 50px;
}
.btnRegist,
.btnSister {
    margin: 0 20px 20px;
}
.btnBanner {
    display: block;
    margin: 0 20px;
}
.btnRegist {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0.88, #19a10c), color-stop(0, #a2d93f));
    background: -webkit-linear-gradient(top, #a2d93f 0, #19a10c 88%);
    background: -moz-linear-gradient(top, #a2d93f 0, #19a10c 88%);
    background: -o-linear-gradient(top, #a2d93f 0, #19a10c 88%);
    background: -ms-linear-gradient(top, #a2d93f 0, #19a10c 88%);
    background: linear-gradient(to bottom, #a2d93f 0, #19a10c 88%);
    border: 2px solid #a2d93f;
    border-radius: 10px;
    -webkit-box-shadow: 0 1px 1px 0 #999, 0 0 1px 1px #fff inset;
    box-shadow: 0 1px 1px 0 #999, 0 0 0 1px #fff inset;
    text-align: center;
    color: #fff;
    font-weight: 700;
    letter-spacing: 0.1rem;
    font-size: 1.4rem;
    white-space: nowrap;
}
.btnRegist:hover {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0.88, #a2d93f), color-stop(0, #19a10c));
    background: -webkit-linear-gradient(top, #19a10c 0, #a2d93f 88%);
    background: -moz-linear-gradient(top, #19a10c 0, #a2d93f 88%);
    background: -o-linear-gradient(top, #19a10c 0, #a2d93f 88%);
    background: -ms-linear-gradient(top, #19a10c 0, #a2d93f 88%);
    background: linear-gradient(to bottom, #19a10c 0, #a2d93f 88%);
}
.btnSister {
    position: relative;
    background: #fff;
    border-radius: 4px;
    box-shadow: 0 1px 1px 1px #333;
    padding: 0 0 0 54px;
}
.btnSister:before {
    top: 50%;
    left: 6px;
    width: 40px;
    height: 40px;
    margin-top: -20px;
    background-position: 0 -450px;
}
.btnBack-wrap {
    display: block;
    margin: 0 auto 20px;
    text-align: center;
}
.btnBack {
    display: inline-block;
    clear: both;
    height: 40px;
    line-height: 40px;
    padding: 0 32px;
    background: #fff;
    border: solid 1px #bbb;
    border-radius: 10px;
    -webkit-box-shadow: 0 1px 1px 0 #999;
    box-shadow: 0 1px 1px 0 #999;
}
.btnBack:hover {
    background: #efefef;
}
.btnBar {
    position: relative;
    background: #fff;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0.98, #efefef), color-stop(0, #fff));
    background: -webkit-linear-gradient(top, #fff 0, #efefef 98%);
    background: -moz-linear-gradient(top, #fff 0, #efefef 98%);
    background: -o-linear-gradient(top, #fff 0, #efefef 98%);
    background: -ms-linear-gradient(top, #fff 0, #efefef 98%);
    background: linear-gradient(to bottom, #fff 0, #efefef 98%);
    padding: 0 20px;
    white-space: nowrap;
    border-top: solid 1px #999;
}
a.btnBar {
    border-bottom: solid 1px #999;
}
li a.btnBar {
    border-bottom: none;
}
li:last-child a.btnBar {
    border-bottom: solid 1px #999;
}
#help .btnBar {
    border-bottom: solid 1px #999;
}
.money {
    padding: 15px 10px 25px;
    text-align: center;
    background-image: url(../img/offer/bg_offer_camera.png);
    background-size: 8px auto;
}
.money .titCamera:before {
    background-image: url(../img/offer/offer_camera.png);
    background-size: 40px auto;
}
.money h3 {
    text-align: left;
}
.money p {
    font-size: 14px;
    text-align: left;
    padding: 10px 0 15px 0;
    line-height: 20px;
}
.money img {
    margin-bottom: 8px;
    width: 100%;
}
.money span {
    font-size: 14px;
    font-weight: 700;
}
#about a.btnBar {
    border-bottom: 0;
}
.boxRegist {
    padding: 20px 0 0 0;
}
.boxRegist .flow {
    margin-bottom: 20px;
}
.boxRegist .flow dt {
    position: relative;
    margin: 0 10px 14px 10px;
}
.boxRegist .flow dt:before {
    content: "";
    position: absolute;
    right: 0;
    bottom: 4px;
    display: inline-block;
    vertical-align: bottom;
    width: 50%;
    height: 3px;
    background: #fecee1;
    border-radius: 20px;
}
.boxRegist .flow dd li {
    position: relative;
    display: block;
    width: 25%;
    float: left;
    text-align: center;
}
.boxRegist .flow dd li p {
    margin: 0 8px;
    vertical-align: middle;
    height: 40px;
    line-height: 40px;
    padding: 6px 10px;
    background: #a1a1a1;
    border-radius: 6px;
    text-align: center;
    color: #fff;
    text-shadow: 0 0 2px #a2a2a2;
}
.boxRegist .flow dd li p span {
    display: inline-block;
    line-height: 20px;
}
.boxRegist .flow dd li:last-child p {
    background: #fffb9f;
    color: #555;
    text-shadow: 0 0 1px #fff;
}
.boxRegist .flow dd li:before {
    top: 50%;
    right: -5px;
    width: 11px;
    height: 9px;
    margin-top: -4px;
    background-position: 0 -430px;
}
.boxRegist .flow dd li:last-child:before {
    display: none;
}
.sister {
    padding: 6px 0;
    line-height: 14px;
}
.sister dt {
    font-weight: 700;
}
.famu-link-wrap {
    padding: 20px 0 0 0;
}
.my-number-wrap {
    background-color: #e0f2fc;
    padding: 20px 0;
}
.my-number-wrap__header {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 0 20px 0;
}
.my-number-wrap__text {
    font-size: 0.9rem;
    display: block;
    background-color: #fff;
    padding: 20px 10px;
    margin: 0 20px;
    text-align: justify;
}
span.is_emphasis {
    font-weight: 700;
}
#header:after {
    content: "";
    position: absolute;
}
#header #titLogo,
#header .titLv1 {
    position: absolute;
    top: 30px;
    left: 60px;
}
#header .titLv1 {
    top: 50px;
    left: 58px;
    font-size: 8px;
    color: #ff0072;
    letter-spacing: -0.05em;
}
#header #titLogo {
    top: 40px;
    left: 10px;
    display: block;
    width: 170px;
    height: 50px;
}
#header .header-imagewrap.is_adheader {
    margin: 0 0 20px 0;
}
#header .header-imagewrap.is_adheader img {
    display: block;
}
footer small {
    display: block;
    width: 100%;
    height: 30px;
    line-height: 30px;
    background: #f18499;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(1, #f18499), color-stop(0, #ffbcce));
    background: -webkit-linear-gradient(#ffbcce, #f18499);
    background: -moz-linear-gradient(#ffbcce, #f18499);
    background: -o-linear-gradient(#ffbcce, #f18499);
    background: -ms-linear-gradient(#ffbcce, #f18499);
    background: linear-gradient(#ffbcce, #f18499);
    color: #fff;
    text-align: center;
}
#header .arrowA {
    text-align: center;
    border-bottom: solid 1px #999;
}
.chBlock {
    display: inline-block;
}
.chBlock li {
    position: relative;
    height: 24px;
    line-height: 24px;
    margin-bottom: 3px;
    padding: 0 0 0 24px;
    text-align: left;
}
.chBlock li:before {
    top: 50%;
    left: 0;
    width: 21px;
    height: 19px;
    margin-top: -10px;
    background-position: 0 -370px;
}
.titLv2 {
    height: 40px;
    line-height: 40px;
    background: #f18499;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(1, #ffbcce), color-stop(0, #f18499));
    background: -webkit-linear-gradient(#f18499, #ffbcce);
    background: -moz-linear-gradient(#f18499, #ffbcce);
    background: -o-linear-gradient(#f18499, #ffbcce);
    background: -ms-linear-gradient(#f18499, #ffbcce);
    background: linear-gradient(#f18499, #ffbcce);
    box-shadow: 0 1px 2px 0 #760035;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    font-size: 1rem;
    text-shadow: -1px -1px 1px #a40303;
    position: relative;
    z-index: 2;
}
.titLv3 {
    height: 20px;
    background: #ff0072;
    color: #fff;
    text-align: center;
    font-size: 1rem;
}
.headGirlA {
    padding: 145px 0 0;
    text-align: center;
    background: url(/img/offer/offer_parts2.png) no-repeat;
    background-size: 187px auto;
    background-position: 50% -550px;
}
.headGirlA.headGirlA2 {
    background-position: 50% -860px;
}
.headGirlA .wrap1 {
    background: rgba(255, 255, 255, 0.9);
}
.headGirlA p {
    display: inline-block;
    padding: 20px;
    color: #ff6ea5;
    font-size: 1rem;
    text-align: left;
}
.titLogo {
    position: relative;
    top: -20px;
    left: 7px;
    width: 50%;
    height: 50%;
}
.bgA,
.bgB {
    padding: 15px 20px;
    border-bottom: solid 1px #999;
}
.bgA {
    background: #fff;
}
.bgB {
    background: #f0f0f0;
}
.boxRegist.bgA {
    padding: 20px 0 10px;
}
#about .bgA,
#about .bgB {
    padding: 15px 10px 20px;
}
.titBalloon {
    position: relative;
    height: 44px;
    line-height: 44px;
    margin: 0 0 20px 0;
    text-align: center;
    color: #fff;
    background: #eb4e94;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0.81, #eb4e94), color-stop(0, #ff167e));
    background: -webkit-linear-gradient(top, #ff167e 0, #eb4e94 81%);
    background: -moz-linear-gradient(top, #ff167e 0, #eb4e94 81%);
    background: -o-linear-gradient(top, #ff167e 0, #eb4e94 81%);
    background: -ms-linear-gradient(top, #ff167e 0, #eb4e94 81%);
    background: linear-gradient(to bottom, #ff167e 0, #eb4e94 81%);
    font-size: 1.4rem;
}
.titBalloon:after {
    content: "";
    position: absolute;
    bottom: -20px;
    left: 50%;
    display: block;
    width: 0;
    height: 0;
    margin-left: -15px;
    border-left: 16px solid transparent;
    border-right: 16px solid transparent;
    border-top: 20px solid #eb4e94;
}
.titSub1 {
    text-align: center;
    white-space: nowrap;
    font-size: 1rem;
}
#info > p {
    text-align: center;
    margin: 10px 0 10px;
}
.rankingWrap {
    text-align: center;
}
.ranking {
    display: inline-block;
    margin-left: -10px;
    margin: -5px 0 10px 0;
}
.ranking li {
    position: relative;
    font-size: 0.8rem;
    font-weight: 400;
    text-align: left;
    height: 36px;
    line-height: 36px;
    padding: 8px 0 0 60px;
    white-space: nowrap;
}
.ranking li strong {
    font-weight: 700;
    margin-right: 4px;
}
.ranking li.rank1 {
    color: #ff6ea5;
}
.ranking li:before {
    top: 50%;
    left: -16px;
    width: 72px;
    height: 58px;
    margin-top: -29px;
}
.ranking li.rank1:before {
    background-position: 0 -550px;
}
.ranking li.rank2:before {
    background-position: 0 -610px;
}
.ranking li.rank3:before {
    background-position: 0 -670px;
}
.titSub2 {
    position: relative;
    height: 40px;
    line-height: 40px;
    padding: 0 0 0 50px;
    margin: 0 0 10px -5px;
    font-size: 1.4rem;
    white-space: nowrap;
    overflow: hidden;
    letter-spacing: -0.05em;
}
.titSub2:before {
    top: 0;
    left: 0;
    width: 40px;
    height: 40px;
}
.titSub2.titMail:before {
    background-position: 0 -170px;
}
.titSub2.titTel:before {
    background-position: 0 -220px;
}
.titSub2.titBoard:before {
    background-position: 0 -270px;
}
.titSub2.titNotice:before {
    background-position: 0 -320px;
}
.headGirlB {
    position: relative;
    padding: 165px 10px 40px 10px;
    background: #fff;
}
.headGirlB:before {
    top: 6px;
    left: 50%;
    width: 186px;
    height: 154px;
    margin-left: -93px;
    background-position: 0 0;
}
.qanda {
    text-align: left;
}
.qanda dd,
.qanda dt {
    margin: 0 20px;
    font-size: 1rem;
    background: rgba(255, 255, 255, 0.9);
}
.qanda dd a {
    font-size: 1rem;
    text-decoration: underline;
    color: #ff6ea5;
}
.qanda dt {
    position: relative;
    border-radius: 6px 6px 0 0;
    padding: 20px 10px 10px 36px;
    font-weight: 700;
    text-indent: -1.2rem;
}
.qanda dd {
    border-radius: 0 0 6px 6px;
    padding: 10px 20px 20px;
    margin-bottom: 10px;
}
.qanda dt:before {
    content: "Q.";
    margin-right: 2px;
}
.qanda dt:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    display: block;
    width: 90%;
    height: 1px;
    margin-left: -45%;
    background: #999;
}
.flow2 {
    counter-reset: li;
    list-style: none;
    display: block;
    padding: 15px 10px;
}
.flow2 > li {
    position: relative;
    margin-bottom: 40px;
}
.flow2 > li:last-child {
    margin-bottom: 20px;
}
.flow2 > li:before {
    content: counter(li);
    counter-increment: li;
    position: absolute;
    top: 0;
    left: 0;
    width: 40px;
    height: 40px;
    line-height: 40px;
    color: #fff;
    background: #ff0072;
    border-radius: 100%;
    font-weight: 700;
    text-align: center;
    font-size: 1.4rem;
}
.flow2 > li:after {
    bottom: -28px;
    left: 50%;
    width: 9px;
    height: 11px;
    background-position: -30px -430px;
}
.flow2 > li:last-child:after {
    display: none;
}
.titSub3 {
    height: 40px;
    line-height: 40px;
    font-size: 1.4rem;
    font-weight: 700;
    color: #ff0072;
    white-space: nowrap;
    margin: 0 0 0 45px;
}
.flow2 > li p {
    margin: 0 0 0 45px;
}
.flow2 > li.idcard {
    padding-right: 80px;
    min-height: 128px;
    background: url(/img/offer/offer_parts2.png) no-repeat right -204px;
    background-size: 200px auto;
}
.flow2 > li ul li {
    display: inline-block;
    margin: 10px 2px;
}
.flow2 > li ul li:before {
    content: "●";
}
.flow2 .btnRegist {
    margin: 10px 45px 0 0;
}
.flow2 .btnRegist.is_flow {
    margin: 20px 0 0 0;
}
.capa li {
    margin-left: 1em;
}
.capa li:before {
    content: "●";
    margin: 0 4px 0 -1em;
}
#safety .wrap {
    text-align: center;
    background: #fff;
    padding: 35px 20px 20px;
    border-bottom: solid 1px #999;
}
#markP,
#norton {
    position: relative;
    text-align: left;
    display: inline-block;
}
#markP {
    height: 84px;
    line-height: 84px;
    padding: 0 20px 15px 110px;
    margin-bottom: 10px;
    background: url(/img/offer/offer_parts2.png) no-repeat;
    background-size: 187px auto;
    background-position: 0 -340px;
}
#markP span {
    display: inline-block;
    vertical-align: middle;
    line-height: 1rem;
}
#norton {
    background-position: 0 -440px;
}
#parlady-ad .wrap {
    text-align: center;
    background: #fff;
    padding: 35px 20px 20px;
    border-bottom: solid 1px #999;
}
#parlady-ad .wrap #norton {
    text-align: center;
    display: block;
    margin: 0 0 16px 0;
}
.header-inner {
    display: block;
    height: 104px;
    background: #fff;
}
.mynumber {
    background: #e0f2fc;
}
.mynumber_txt {
    background: #fff;
    border: 1px solid #94d1e6;
}
.mynumber {
    overflow: hidden;
    padding-top: 1em;
    background-color: #e0f2fc;
}
.mynumber img {
    width: 100%;
}
.mynumber_txt {
    margin: 1em;
    padding: 1.8em 1em;
    border: 1px solid #94d1e6;
    background: #fff;
    text-align: left;
}
.mynumber_txt p {
    margin: 0 0 2em;
    line-height: 1.6;
    letter-spacing: 0.05em;
    color: #000;
}
.mynumber_txt p:last-child {
    margin-bottom: 0;
}
.mynumber_txt b {
    color: #e70012;
}
.mynumber_txt em {
    color: #e70012;
    font-style: normal;
    font-weight: 700;
    background: #ff9;
    text-decoration: underline;
    font-size: 120%;
}
.youtube-embed {
    margin: 8px 0;
}
.youtube-embed__iframe {
    height: 315px;
    max-width: 560px;
    width: 100%;
    display: block;
    margin: 0 auto;
}
@media screen and (max-width: 316px) {
    .boxRegist .flow dd li p {
        height: 60px;
    }
    .boxRegist .flow dt:before {
        width: 35%;
    }
}
@media screen and (max-width: 310px) {
    .flow2 > li.idcard {
        background: url(/img/offer/offer_parts2.png) no-repeat right -190px;
        min-height: 200px;
        background-size: 240px auto;
    }
}
@media screen and (max-width: 260px) {
    .boxRegist .flow dd li p {
        height: 120px;
    }
    .boxRegist .flow dt:before {
        width: 25%;
    }
}
.regist-flow {
    margin: 0 0 20px 0;
    padding: 0 10px;
}
.regist-flow-list-title {
    display: block;
    color: #fff;
}
.regist-flow-list-title:after {
    content: "";
    display: block;
    clear: both;
}
.regist-flow-list-title__text {
    display: block;
    float: right;
    width: 84%;
    color: #fff;
    background-color: #a1a1a1;
    box-sizing: border-box;
    margin: 0;
    font-size: 14px;
    padding: 13px 0;
    line-height: 1;
    text-align: center;
    font-weight: 700;
}
.regist-flow-list__text {
    display: block;
    margin: 0 0 0 7%;
    padding: 10px 0 20px 20px;
    border-left: solid 6px #e3e3e3;
}
.regist-flow-list__text .emphasis {
    color: #fe0172;
}
.regist-flow-list__text .regist-link {
    color: #217dff;
    text-decoration: underline;
}
.regist-flow-list-title__turn {
    background-color: #fe0072;
    display: block;
    width: 16%;
    text-align: center;
    line-height: 1;
    font-size: 12px;
    padding: 10px;
    border-radius: 4px;
    box-sizing: border-box;
    float: left;
    margin: -2px 0;
}
.regist-flow-end {
    display: block;
    background-color: #fffb9f;
    color: #555;
    padding: 13px 0;
    font-weight: 700;
    text-align: center;
}
.labor-image {
    display: block;
    max-width: 100%;
    width: 79%;
    margin: 0 auto 10px auto;
}
.review-comment {
    display: block;
    max-width: 640px;
    width: 100%;
    height: auto;
    margin: 0 auto 20px auto;
}
#staff .wrap {
    background: #fff;
    padding: 24px 16px 25px;
}
.dotline {
    border-bottom: 5px dotted #fa6199;
    margin: 20px 0;
}
.staff-profile {
    color: #636375;
}
.staff-profile.color-pink {
    --color: #f9e1ff;
}
.staff-profile + .staff-profile {
    margin-top: 28px;
}
.staff-name {
    font-size: 16px;
    font-weight: bold;
}
.staff-name .note {
    font-size: 24px;
    float: left;
    margin-right: 9px;
}
.staff-info {
    display: flex;
    text-align: center;
    margin-top: 8px;
}
.staff-avatar {
    flex: 0 0 134px;
    padding-right: 16px;
}
.staff-text {
    flex: 1;
}
.staff-text div {
    border-bottom: 2px solid #5e2c1b;
    font-weight: bold;
    padding-bottom: 5px;
}
.staff-text p {
    margin: 9px 0 14px;
    line-height: 14px;
}
.staff-quote {
    padding: 12px;
    border-radius: 8px;
    background: var(--color, #e7ffe3);
    margin-top: 15px;
}
