html {
    color: #000;
    background: #FFF
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
input,
textarea,
p,
blockquote,
th,
td {
    margin: 0;
    padding: 0
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

fieldset,
img {
    border: 0
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
    font-style: normal;
    font-weight: normal
}

ol,
ul {
    list-style: none
}

caption,
th {
    text-align: left
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: 100%;
    font-weight: normal
}

q:before,
q:after {
    content: ''
}

abbr,
acronym {
    border: 0;
    font-variant: normal
}

sup {
    vertical-align: text-top
}

sub {
    vertical-align: text-bottom
}

input,
textarea,
select {
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    *font-size: 100%
}

legend {
    color: #000
}

#yui3-css-stamp.cssreset {
    display: none
}

html {
    background-color: transparent;
    background-image: none
}

body {
    -webkit-text-size-adjust: 100%
}

figure {
    margin: 0;
    padding: 0;
    -webkit-margin-before: 0;
    -webkit-margin-after: 0;
    -webkit-margin-start: 0;
    -webkit-margin-end: 0
}

figure img {
    vertical-align: top
}

@font-face {
    font-family: 'Oswald';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("fonts/oswald-v41-latin-regular.eot");
    src: local(""), url("fonts/oswald-v41-latin-regular.eot?#iefix") format("embedded-opentype"), url("fonts/oswald-v41-latin-regular.woff2") format("woff2"), url("fonts/oswald-v41-latin-regular.woff") format("woff"), url("fonts/oswald-v41-latin-regular.ttf") format("truetype"), url("fonts/oswald-v41-latin-regular.svg#Oswald") format("svg")
}

html {
    color: #000;
    font-size: 18px;
    font-family: 'Arial', sans-serif;
    line-height: 1
}

@media screen and (max-width: 767px) {
    html {
        font-size: 13px
    }
}

html,
body {
    height: 100%
}

body {
    background-color: #fff
}

em,
strong {
    font-weight: 600
}

a {
    color: #007274
}

img {
    vertical-align: top
}

@media screen and (min-width: 481px) {
    .for-mobile {
        display: none
    }
}

@media screen and (max-width: 480px) {
    .not-for-mobile {
        display: none
    }
}

.em {
    color: #C00
}

.theme {
    color: #007274
}

.note {
    margin-top: 8px;
    line-height: 1.5;
    color: #999;
    font-size: 0.88rem
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="url"],
input[type="number"],
input[type="tel"] {
    border: 1px solid #999;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -ms-border-radius: 3px;
    -o-border-radius: 3px;
    border-radius: 3px;
    height: 38px;
    width: 70%;
    text-indent: 8px
}

textarea {
    border: 1px solid #999;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -ms-border-radius: 3px;
    -o-border-radius: 3px;
    border-radius: 3px;
    box-sizing: border-box;
    width: 100%;
    height: 240px;
    padding: 8px;
    font-size: 14px;
    line-height: 1.5
}

select {
    border-color: #999;
    height: 44px;
    padding: 0 10px;
    line-height: 44px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -ms-border-radius: 3px;
    -o-border-radius: 3px;
    border-radius: 3px
}

.required {
    color: #C00
}

th .required {
    margin-left: 10px
}

.button {
    margin-top: 50px;
    text-align: center
}

.button > div {
    margin-top: 30px
}

.button a {
    display: inline-block
}

.button a,
.button button,
.button input[type="submit"],
.button input[type="button"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 0;
    border-radius: 30px;
    background: #007274;
    height: 60px;
    line-height: 60px;
    min-width: 180px;
    color: #FFF;
    font-weight: 600;
    text-decoration: none;
    border: 1px solid #FFF;
    font-size: 20px;
    padding: 0 30px;
    
}

.button.payments>button{
    width: 40%;
    max-width: 430px;
}

.button>input,
button:hover{
    cursor: pointer;
}

/*.btn.bankTransfer{
    width: 80%;
    max-width: 660px;
}*/

.button a:not(:first-child),
.button button:not(:first-child),
.button input[type="submit"]:not(:first-child),
.button input[type="button"]:not(:first-child) {
    margin-left: 10px
}

@media screen and (max-width: 767px) {
    .button.payments {
        margin-left: -8px;
        margin-right: -8px
    }

    .button.payments > a,
    .button.payments > button,
    .button.payments > input[type="submit"],
    .button.payments > input[type="button"] {
        border-radius: 30px;
        min-width: 0;
        padding: 0 8px;
        font-size: 14px;
        /*margin-left: 0 !important*/
    }

    .button.payments > div button {
        font-size: 14px;
        min-width: 0
    }
}

.button input[name^="back"],
.button .cancel,
.button .close {
    background: #999
}

table,
th,
td {
    border-collapse: collapse;
    border: 1px solid #CCC
}

table {
    margin: 0 10px;
    background: #FFF
}

@media screen and (min-width: 640px) {
    table {
        min-width: 620px;
        margin: 0 auto
    }
}

th,
td {
    padding: 15px 20px;
    text-align: left;
    line-height: 1.5
}

.button.payments>button{
    width: 100%;
   margin: 0px 10px 20px 10px!important;
}


.option{
    margin: 50px 0px;
}

.option h2{
    line-height: 0.95
}

.option h3{
    color: #9a9170;
    margin-bottom: 10px
}

.option h3:last-of-type{
    margin-top: 40px;
    font-weight: bold;
}
.option ul{
    width: 540px;
    margin: 0 auto;
    background: rgba(0, 114, 116, 0.1);
    padding: 20px 40px;
    box-sizing: border-box;
}
.option li{
    font-size: 90%;
    text-align: left
}

.option .section-body div:nth-of-type(1) ul li{
    list-style: decimal
}

.option .section-body div:nth-of-type(2) ul li{
    list-style: upper-latin
}

.option_caption{
   margin-top: 30px 
}
.option_caution_wrap{
    display: flex;
    justify-content: center;
    margin-top: 50px
}

.option_caution{
    color: #cc0000;
    font-size: 90%;
    text-align: left;
    text-indent: -1rem
}
@media screen and (max-width: 480px) {

    th,
    td {
        padding: 10px
    }
}

th {
    background: #e6e6e6;
    font-weight: 600
}

@media screen and (min-width: 640px) {
    th {
        min-width: 100px
    }
}

header[role="banner"] {
    position: fixed;
    z-index: 200;
    
}

header[role="banner"] h1 {
    position: absolute;
    left: 30px;
    top: 30px
}

header div{
    background: #fff;
    width: 100vw;
    height: 89px;
}

body.home header div{
    background: #000c15;

}

@media screen and (max-width: 979px) {
    header[role="banner"] h1 {
        left: 10px;
        top: 10px
    }

    header[role="banner"] h1 img {
        height: 20px;
        width: auto
    }
    
    header div{
    background: #fff;
    width: 100vw;
    height: 40px;
}
    
}

body:not(.home) main[role="main"] {
    padding-top: 100px;
    padding-bottom: 100px
}

body:not(.home) main[role="main"] section:first-child {
    margin-top: 0
}

.top {
    background-color: #000;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url(/images/topimage.gif)
}

.top-inner {
    padding: 80px 10px;
    background-position: center;
    background-repeat: repeat;
    background-size: 4px 4px;
    text-align: center;
    line-height: 1.5;
    color: #FFF
}

.webp .top-inner {
    background-image: url(/images/top-bg.png.webp)
}

.no-webp .top-inner {
    background-image: url(/images/top-bg.png)
}

.top-inner .catch {
    margin-bottom: 50px
}

.top-inner .sitename + p {
    margin-top: 50px;
    margin-left: -10px;
    margin-right: -10px;
    font-size: 1.3rem;
    font-weight: 600
}

.top-inner .sitename + p + p {
    margin-top: 24px;
    font-size: 0.88rem
}

@media screen and (min-width: 980px) {
    .top-inner {
        padding: 180px 10px
    }
    
}

@media screen and (max-width: 767px) {
    .top-inner .catch img {
        width: 80%;
        height: auto
    }

    .top-inner .sitename img {
        width: 98%;
        height: auto
    }
}

section {
    margin-top: 80px;
    padding: 0 10px;
    text-align: center
}

section header h2 {
    line-height: 1.5;
    font-size: 2rem;
    font-weight: 600;
    color: #007274
}

section header h2 small {
    display: block;
    font-size: 1.3rem;
    font-weight: 600
}

.section-body {
    margin-top: 44px
}

.section-body h3,
.section-body h4,
.section-body p,
.section-body li,
.section-body table {
    line-height: 1.5
}

.lists {
    max-width: 960px;
    margin: 0 auto;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: flex-start;
    align-items: flex-start
}

.lists > ul {
    box-sizing: border-box;
    width: 50%;
    padding: 30px;
    text-align: left
}

@media screen and (max-width: 767px) {
    .lists > ul {
        width: 100%
    }

    .lists > ul:first-child {
        padding-top: 0;
        padding-bottom: 0
    }
    
    
    
}

.lists > ul li {
    padding-left: 30px;
    position: relative;
    font-weight: 600
}

.lists > ul li:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 22px;
    height: 20px;
    background-position: left bottom;
    background-repeat: no-repeat;
    background-size: contain
}

.webp .lists > ul li:before {
    background-image: url(/images/checkmark-theme.png.webp)
}

.no-webp .lists > ul li:before {
    background-image: url(/images/checkmark-theme.png)
}


@media screen and (max-width: 767px) {
    .lists > ul li {
        padding-left: 24px
    }

    .lists > ul li:before {
        width: 18px;
        height: 16px
    }
}

.top-recommend .lists .anxiety {
    background-color: rgba(0, 114, 116, 0.1)
}

@media screen and (max-width: 767px) {
    .top-recommend .lists .anxiety {
        margin-top: 30px
    }
}

.top-recommend .lists + div {
    margin-top: 80px
}

.top-recommend .lists + div p {
    font-weight: 600
}

.top-recommend .lists + div p:first-child {
    font-size: 1.8rem
}

.top-recommend .lists + div p:last-child {
    color: #007274;
    margin-top: 1em
}

.top-program {
    background-color: rgba(154, 145, 112, 0.1);
    padding: 80px 10px
}

.top-program header h2 {
    color: #9a9170
}

.webp .top-program .lists > ul li:before {
    background-image: url(/images/checkmark-em.png.webp)
}

.no-webp .top-program .lists > ul li:before {
    background-image: url(/images/checkmark-em.png)
}

.top-program .lists + p {
    margin-left: 50%;
    padding-left: 30px;
    text-align: left;
    font-weight: 600;
    color: #9a9170
}

@media screen and (max-width: 979px) {
    .top-program .lists + p {
        margin-left: 0;
        padding-left: 0;
        text-align: center
    }
}

.top-point .section-body ul {
    display: table;
    max-width: 748px;
    margin: 0 auto
}

.top-point .section-body ul + h3 {
    margin-top: 80px;
    font-size: 2rem;
    font-weight: 600;
    color: #007274
}

.top-point .section-body ul + h3 small {
    display: block;
    font-size: 1.3rem;
    font-weight: 600
}

.top-point .section-body ul + h3 + p {
    font-weight: 600;
    margin-top: 1em
}

.top-point .section-body li {
    text-align: left
}

.top-point .section-body li:not(:first-child) {
    margin-top: 44px
}

.top-point .section-body li h3 span {
    display: inline-block;
    vertical-align: baseline
}

.top-point .section-body li h3 .num {
    box-sizing: border-box;
    width: 100px;
    height: 100px;
    padding-top: 19px;
    margin-right: 15px;
    border-radius: 8px;
    background-color: #007274;
    color: #FFF;
    font-family: 'Oswald';
    font-size: 1.2rem;
    text-align: center;
    letter-spacing: 2px;
    line-height: 1.1
}

.top-point .section-body li h3 .num span {
    display: block;
    font-size: 2rem
}

.top-point .section-body li h3 .en {
    color: #007274;
    font-family: 'Oswald';
    font-size: 2.1rem
}

.top-point .section-body li h3 .ja {
    margin-left: 15px;
    color: #007274;
    font-weight: 600
}

@media screen and (max-width: 767px) {
    .top-point .section-body li h3 .num {
        width: 64px;
        height: 64px;
        padding-top: 10px
    }
}

@media screen and (max-width: 480px) {
    .top-point .section-body li h3 .ja {
        display: block;
        margin-left: 0;
        text-align: right
    }
}

.top-point .section-body li p {
    margin-top: 24px;
    font-weight: 600
}

.top-plan {
    background-color: rgba(0, 114, 116, 0.1);
    padding: 80px 10px
}

.top-plan table {
    max-width: 1024px;
    width: 100%;
    margin: 0 auto
}

.top-plan td:nth-child(2) {
    text-align: right
}

.top-plan .button + p {
    margin-top: 30px;
    font-size: 0.88rem;
    font-weight: 600
}

.top-plan .attention {
    margin-top: 1em;
    font-size: 0.88rem;
    font-weight: 600;
    color: #C00
}

@media screen and (max-width: 767px) {
    .top-plan th {
        width: 24%
    }
}

section.purchase .error_block {
    margin-bottom: 30px;
    font-weight: 600
}

section.purchase form {
    margin-top: 50px
}

section.purchase form table {
    max-width: 1024px;
    width: 100%;
    margin: 0 auto
}

section.purchase form table + .total {
    box-sizing: border-box;
    max-width: 1024px;
    width: 100%;
    margin: 30px auto 0;
    padding: 20px;
    border: 1px solid rgba(0, 114, 116, 0.3);
    background-color: rgba(0, 114, 116, 0.1);
    font-weight: 600;
    text-align: left
}

section.purchase form table + .total b {
    margin-right: 10px;
    color: #007274
}

section.purchase form table + .total input {
    width: 200px;
    border: none;
    background-color: transparent;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    color: #000;
    -webkit-text-fill-color: black;
    opacity: 1;
    font-size: 1.5rem
}

section.purchase form th input {
    margin-right: 10px
}

@media screen and (max-width: 767px) {
    section.purchase form th {
        width: 30%
    }
}

section.purchase form td:nth-child(2) {
    text-align: right
}

.info {
    max-width: 748px;
    margin: 80px auto 0
}

.info._bank {
    background-color: rgba(0, 114, 116, 0.1);
    padding: 30px
}

.info h3 {
    font-weight: 600;
    font-size: 1.3rem;
    color: #007274
}

.info dl {
    margin-top: 50px;
    text-align: left
}

.info dl.name input[type="text"] {
    box-sizing: border-box;
    width: 49%
}

.info dl.name input[type="text"]:first-child {
    margin-right: 2%
}

.info dl.email input[type="email"] {
    box-sizing: border-box;
    width: 100%
}

.info dl.email input[type="email"]:first-child {
    margin-bottom: 8px
}

.info dl.subject label {
    display: block
}

.info dl.subject label input {
    margin-right: 8px
}

.info dl dt {
    padding-bottom: 3px;
    color: #007274;
    font-weight: 600;
    border-bottom: 1px solid #007274
}

.info dl dd {
    margin-top: 8px;
    line-height: 1.5
}

.confirm-message {
    margin-top: 80px;
    font-weight: 600
}

@media screen and (max-width: 480px) {
    .confirm-message.em {
        margin-left: -20px;
        margin-right: -20px
    }
}

footer[role="contentinfo"] {
    padding: 50px 10px;
    background-color: #020d18;
    line-height: 1.5;
    color: #AAA
}

footer[role="contentinfo"] .lisk {
    display: table;
    margin: 0 auto
}

footer[role="contentinfo"] .lisk h3 {
    margin-bottom: 12px
}

footer[role="contentinfo"] .lisk p {
    font-size: 0.8rem
}

footer[role="contentinfo"] .footer-menu {
    margin-top: 50px;
    text-align: center
}

@media screen and (max-width: 767px) {
    footer[role="contentinfo"] .footer-menu ul {
        max-width: 480px;
        margin-left: auto;
        margin-right: auto;
        font-size: 0;
        text-align: left
    }
}

footer[role="contentinfo"] .footer-menu li {
    display: inline
}

footer[role="contentinfo"] .footer-menu li:not(:first-child) {
    margin-left: 60px
}

@media screen and (max-width: 1024px) {
    footer[role="contentinfo"] .footer-menu li:not(:first-child) {
        margin-left: 30px
    }
}

@media screen and (max-width: 767px) {
    footer[role="contentinfo"] .footer-menu li {
        display: inline-block;
        padding: 15px;
        box-sizing: border-box;
        margin-left: 0 !important;
        width: 50%
    }
}

footer[role="contentinfo"] .footer-menu li a {
    color: #AAA;
    font-size: 0.8rem
}

@media screen and (max-width: 1024px) {
    footer[role="contentinfo"] .footer-menu li a {
        font-size: 0.7rem
    }
}

@media screen and (max-width: 767px) {
    footer[role="contentinfo"] .footer-menu li a {
        font-size: 0.8rem
    }
}

.copyright {
    display: block;
    margin-top: 50px;
    font-size: 13px;
    text-align: center
}

@media screen and (max-width: 480px) {
    .copyright {
        font-size: 11px
    }
}

.overlay {
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 900;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7)
}

.modal {
    display: none;
    box-sizing: border-box;
    position: fixed;
    left: 25%;
    top: 10%;
    z-index: 910;
    width: 50%;
    height: 80%;
    overflow-y: scroll;
    background-color: #FFF;
    border-radius: 10px;
    box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.3);
    font-size: 13px;
    line-height: 1.5
}

@media screen and (max-width: 1279px) {
    .modal {
        width: 70%;
        left: 15%
    }
}

@media screen and (max-width: 979px) {
    .modal {
        width: 90%;
        left: 5%
    }
}

.modal h5,
.modal h6,
.modal dt {
    margin-top: 24px;
    margin-bottom: 8px
}

.modal h4 {
    font-size: 18px;
    font-weight: 600
}

.modal h5 {
    font-size: 16px;
    font-weight: 600
}

.modal h6,
.modal dt {
    font-size: 14px;
    font-weight: 600
}

.modal dt {
    margin-bottom: 0
}

.modal .decimal {
    list-style: decimal outside;
    padding-left: 1.3em
}

.modal-inner {
    padding: 50px
}

@media screen and (max-width: 767px) {
    .modal-inner {
        padding: 24px
    }
}

.modal-inner .close {
    height: 44px;
    line-height: 44px;
    width: auto;
    min-width: 0;
    padding: 0 30px;
    font-size: 0.88rem
}

#affili_bunner{
    text-align: center;
    padding: 30px 30px;
    word-break: keep-all;
    overflow-wrap: break-word;
    box-sizing: border-box;
}

#affili_bunner h5{
    font-weight: bold;
    font-size: 1.6rem;
    color: #007274;
    margin-bottom: 1.2rem;
}
#affili_bunner div{
    border: 3px solid #e5f1f1;
    padding: 30px 10px;
    max-width: 1024px;
    margin: 0 auto;
    background: #fff url(/images/affili_bg.jpg) 0 80%/cover no-repeat;
    border-radius: 5px;
   
}

#affili_bunner p span:first-of-type{
    color: #0074bc;
    font-weight: bold;
}

#affili_bunner .rewards{
    background: #9a9170;
    color: #fff;
    padding: 10px 10%;
    font-size: 1.2rem;
    display: inline-block;
    margin: .5rem 0;
    font-weight: bold;
}

#affili_bunner .btn{
    padding: 0 5px;
    background: #193653;
    display: inline-block;
    width: 400px;
    height: 50px;
    border-radius: 5px;
    margin-top: 30px;
    border: none;
    padding-block: 0px;
}

#affili_bunner .btn:hover{
    background: #25598d;
}

#affili_bunner .btn a{
    color: #fff;
    font-size: 1rem;
    text-decoration: none;
    display: block;
}
