@charset "UTF-8";
/* CSS Document */

/* =================================================================

  common

================================================================= */

#frame {
    letter-spacing: 1px;
}

img {
    vertical-align: middle;
}

#contentsAreaCompare {
    width: 100%;
    margin: 0 auto;
    text-align: center;
}

/* registBtn */
a.registBtn {
    display: block;
    position: relative;
    width: 480px;
    margin: 0 auto;
    padding: 24px 0;
    background: #c6a75a;
    border-radius: 50px;
    font-weight: bold;
    font-size: 24px;
    color: #ffffff;
}

a.registBtn::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 32px;
    transform: translateY(-50%) rotate(-45deg);
    width: 13px;
    height: 13px;
    border-right: 2px solid #ffffff;
    border-bottom: 2px solid #ffffff;
}

a.registBtn:hover {
    opacity: 0.8;
}

a.registBtn.type02::after {
    top: 45%;
    right: 32px;
    transform: translateY(-50%) rotate(45deg);
}


/* =================================================================

  top

================================================================= */

#mainVisual {
    width: 100%;
    margin: 0 auto 56px;
    padding: 80px 0 56px;
    background-image: url(/assets/image/static/user/compare/index/index_bg_pattern.png),
                      url(/assets/image/static/user/compare/index/index_bg_main.jpg);
    background-repeat: repeat, no-repeat;
    background-position: center, center top;
    background-size: auto, cover;
}

#mainVisual .mainTtl {
    margin-bottom: 56px;
    font-size: 42px;
    font-weight: bold;
}

#mainVisual .mainTtl .subTxt {
    font-size: 24px;
}

#mainVisual .mainTtl .emphasisTxt {
    color: #29c278;
}

#mainVisual .mainTxt {
    font-size: 20px;
}

.topRegist {
    margin: 20px 0;
}


/* =================================================================

  contents

================================================================= */

/* funcIntro */
.funcIntro {
    width: 1000px;
    margin: 0 auto 80px;
}

.funcHd {
    margin: 60px auto 30px;
    background-color: #29c278;
    line-height: 2.3;
    font-size: 26px;
    font-weight: bold;
    color: #ffffff;
}

.funcBox {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 960px;
    margin: 0 auto;
}

.funcBox .midiumFunc {
    width: 464px;
    padding: 32px;
    margin-bottom: 32px;
    background-color: #fffef8;
    box-sizing: border-box;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}

.funcName {
    position: relative;
    margin-bottom: 24px;
    font-size: 24px;
    font-weight: bold;
    line-height: 2.4;
}

.funcName::after {
    content: "";
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 32px;
    height: 2px;
    background: #29c278;
}

.funcReadTxt {
    margin-bottom: 24px;
    font-size: 20px;
}

.funcIcon {
    margin-bottom: 32px;
}

.funcTxt {
    margin-bottom: 0;
    text-align: left;
    font-size: 16px;
}

.funcTxt .emphasisTxt {
    font-weight: bold;
}


/* aMonthFree */
.aMonthFree {
    width: 640px;
    margin: 0 auto 64px;
    padding: 25px;
    background-color: #ffffff;
    border: 2px solid #e01414;
    border-radius: 6px;
    box-sizing: border-box;
}

.freeTxt {
    margin-bottom: 8px;
    font-size: 26px;
    font-weight: bold;
    text-align: center;
}

.freeTxt em {
    color: #e01414;
}

.rootNotes {
    vertical-align: super;
    font-size: 12px;
}

.aMonthFree .notes {
    text-align: center;
}

.applySystem {
    width: 1000px;
    margin: 20px auto 80px;
}

.applyHd {
    margin: 60px auto 30px;
    background-color: #29c278;
    line-height: 2.3;
    font-size: 26px;
    font-weight: bold;
    color: #ffffff;
}

.registerBtnArea {
    margin: 50px 0;
}

/* compareGraph */
.compareGraph {
    width: 960px;
    margin: 20px auto 10px;
    border: 2px #aebec4 solid;
    border-collapse: collapse;
    background: #ffffff;
    font-size: 18px;
}

.compareGraph th,
.compareGraph td {
    padding: 10px;
    border: 1px #aebec4 solid;
    background: #ffffff;
    text-align: center;
}

.compareGraph td {
    vertical-align: middle;
}

.compareGraph td.graphOut {
    background: #ebf2f4;
}

.graphGene {
    color: #666666;
    font-weight: bold;
}

.graphPre {
    color: #ef6907;
    font-weight: bold;
}

.undLine {
    border-bottom: 3px #aebec4 solid !important;
}

.compareGraph .graphPreBg {
    background: #fffdd7;
}

.push {
    position: relative;
    min-height: 30px;
    margin: -10px 0 0 -10px;
    padding: 10px 0 0;
}

.pushIco {
    position: absolute;
    top: 0;
    left: 0;
    width: 70px;
    height: 26px;
    background: url(/assets/image/static/user/compare/index/ico_push01.png) no-repeat center #ff6363;
    border-radius: 0px 0px 6px;
}

.compareNoteArea {
    padding: 16px 20px;
}

.compareNoteArea .compareNoteTxt {
    position: relative;
    padding-left: 20px;
    font-size: 12px;
    color: #666666;
    text-align: left;
}

.compareNoteArea .compareNoteTxt .noteIcon {
    position: absolute;
    top: 0;
    left: 0;
}

.recommendArea {
    padding: 16px 20px 56px;
    margin: 0 auto;
    text-align: right;
}

.recommendArea .recommendTxt {
    margin-bottom: 8px;
    font-size: 13px;
}

.recommendArea .recommendLink {
    position: relative;
    padding-right: 16px;
    color: #1e426b;
}

.recommendArea .recommendLink::after {
    content: "";
    position: absolute;
    top: 45%;
    right: 0;
    transform: translateY(-50%) rotate(-45deg);
    width: 6px;
    height: 6px;
    border-right: 1px solid #1e426b;
    border-bottom: 1px solid #1e426b;
}

.recommendArea .recommendLink:hover {
    opacity: 0.6;
}

/* RegisterArea */
.registerArea {
    padding: 80px 0;
    background-image: url(/assets/image/static/user/compare/index/bg_regist.png);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: contain;
    background-color: #29c278;
}

.registerHd {
    position: relative;
    margin-bottom: 56px;
    font-size: 32px;
    font-weight: bold;
    color: #ffffff;
}

.registerHd::after {
    content: "";
    position: absolute;
    bottom: -16px;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 4px;
    background: #ffffff;
}

.registerArea .registerAreaInner {
    width: 960px;
    margin: 0 auto;
    padding: 56px 128px;
    background-color: #ffffff;
    box-sizing: border-box;
}

.registerArea .registerAreaInner .registerTrialBox {
    margin-bottom: 48px;
    text-align: center;
}

.registerArea .registerAreaInner .registerTrialBox .registerTrialBalloon {
    display: inline-block;
    position: relative;
    width: auto;
    margin-bottom: 40px;
    padding: 24px 32px;
    border-radius: 6px;
    background-color: #bfe9d4;
    box-sizing: border-box;
    line-height: 1.6;
}

.registerArea .registerAreaInner .registerTrialBox .registerTrialBalloon::before {
    content: "";
    position: absolute;
    bottom: -18px;
    left: 36%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 18px 0 0 20px;
    border-color: #bfe9d4 transparent transparent transparent;
}

.registerArea .registerAreaInner .registerBox {
    width: 744px;
    margin: 0 auto 40px;
    padding: 32px;
    box-sizing: border-box;
    background: #f6f6f6;
}

.registerArea .registerAreaInner .registerBox .registerTtl {
    position: relative;
    width: 576px;
    margin: 0 auto 24px;
    font-size: 24px;
    font-weight: bold;
    letter-spacing: 2px;
    text-align: center;
}

.registerArea .registerAreaInner .registerBox .registerTtl::before {
    content: "";
    position: absolute;
    top: 16px;
    left: -40px;
    transform: rotate(45deg);
    width: 30px;
    height: 2px;
    background-color: #29c278;
}

.registerArea .registerAreaInner .registerBox .registerTtl::after {
    content: "";
    position: absolute;
    top: 16px;
    right: -40px;
    transform: rotate(-45deg);
    width: 30px;
    height: 2px;
    background-color: #29c278;
}

.registerArea .registerAreaInner .registerBox .registerFee {
    margin-bottom: 16px;
    font-size: 16px;
}

.registerArea .registerAreaInner .registerBox .registerFee .num {
    padding: 0 4px;
    color: #29c278;
    font-weight: bold;
    font-size: 26px;
}

.registerArea .registerAreaInner .registerBox .registerFee .colorTxt {
    color: #29c278;
}

.registerArea .registerAreaInner .registerBox .registerFee .smallTxt {
    font-size: 12px;
}

.registerArea .registerAreaInner .noteTxtBox {
    width: 744px;
    margin: 0 auto;
    text-align: left;
    color: #666666;
    font-size: 12px;
}

.registerArea .registerAreaInner .noteTxtBox .noteTxt {
    position: relative;
    padding-left: 20px;
}

.registerArea .registerAreaInner .noteTxtBox .noteTxt .noteIcon {
    position: absolute;
    left: 0;
}
