@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Zen+Old+Mincho:wght@400;500;600;700;900&display=swap');

/* ======================================
    #
====================================== */

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    font-size: 100%;
    vertical-align: baseline;
    border: 0;
    outline: 0;
    background: transparent;
    margin: 0;
    padding: 0;
}

body {
    line-height: 1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
    display: block;
}

blockquote, q {
    quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content: "";
    content: none;
}

a {
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    margin: 0;
    padding: 0;
}

ins {
    color: #000;
    text-decoration: none;
    background-color: #ff9;
}

mark {
    color: #000;
    font-style: italic;
    font-weight: bold;
    background-color: #ff9;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom: 1px dotted;
    cursor: help;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

input, select, textarea, img, th, td {
    vertical-align: middle;
}

ul, dl, ol {
    list-style: none;
}

/* ======================================
    #
====================================== */

* {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-appearance: none;
            appearance: none;
    -webkit-text-size-adjust: 100%;
            text-size-adjust: none;
}

html {
    background: #f6f6f6;
}

body {
    width: 800px;
    font-family: 'Zen Old Mincho', "游明朝 Medium", "Yu Mincho Medium", "YuMincho Medium", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
    font-size: 30px;
    font-weight: 500;
    color: #222;
    line-height: 1.6;
    background: #fff;
    margin: 0 auto;
    box-shadow: 0 0 40px rgba(0,0,0,.05);
}

h1, h2, h3, h4, h5, h6, strong, th {
    font-weight: 600;
}

a {
    color: #333;
    text-decoration: underline;
    transition-duration: .3s;
}

a:hover {
    text-decoration: none;
    transition-duration: .3s;
}

img, video, object {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
    border: none;
    transition-duration: .3s;
}

table {
    table-layout:fixed;
}

table th,
table td {
    vertical-align: middle;
}

/* ======================================
    #
====================================== */

.cta {
    text-align: center;
}

.cta a {
    display: block;
    animation: anime 1s ease 0s infinite alternate;
    transform-origin:center;
}

@keyframes anime {
    0% {transform: scale(0.97,0.97);}
    100% {transform: scale(1,1);}
}

/* ======================================
    #
====================================== */

#mainvisual {
    background: linear-gradient(90deg, #066, #288);
}

#mainvisual .cta {
    width: 800px;
    height: 320px;
    background: url(images/mainvisual-bg_01.webp);
    background-size: 800px 320px;
}

/* ======================================
    #
====================================== */

#why {
    background: linear-gradient(90deg, #066, #288);
}

/* ======================================
    #
====================================== */

#solution {
}

#solution .cta {
    padding: 0 0 90px;
}

/* ======================================
    #
====================================== */

#usp {
    background: linear-gradient(90deg, #066, #288);
}

/* ======================================
    #
====================================== */

#step {
    background: #e8f3f3;
}

/* ======================================
    #
====================================== */

#lecturer {
}

#lecturer .cta {
    padding: 0 0 90px;
}

/* ======================================
    #
====================================== */

#after {
    background: #e8f3f3;
}

/* ======================================
    #
====================================== */

#price {
}

/* ======================================
    #
====================================== */

#summary {
    background: linear-gradient(90deg, #066, #288);
    padding: 0 0 90px;
}

#summary h2 {
    font-size: 40px;
    text-align: center;
    background: linear-gradient(90deg, #ff0, #fe0);
    padding: .75em 0;
    border-radius: 20px 20px 0 0;
    text-shadow: 1px 1px 0 #fff;
}

#summary .edit {
    background: #fff;
    margin: 0 20px 60px;
    padding: 0 0 20px;
    box-shadow: 0 20px 20px rgba(0,50,50,.4);
    border-radius: 20px;
}

#summary table {
    width: calc(100% - 80px);
    margin: 40px;
}

#summary table th,
#summary table td {
    border-bottom: 2px dashed #888;
    padding: 1em;
}

#summary table th {
    width: 20%;
    color: #288;
}

#summary table td span {
    font-size: 80%;
}

#summary .direct {
    color: #fff;
    font-size: 28px;
    text-align: center;
    background: rgba(0,0,0,.12);
    margin: 60px 20px;
    padding: 40px 20px;
    border-radius: 20px;
}

#summary .direct a {
    display: inline-block;
    color: #fff;
    text-decoration: none;
    border: 4px solid #fff;
    background: #58f;
    margin: 24px 0 0;
    padding: .5em 2.5em;
    border-radius: 3em;
    box-shadow: 0 20px 20px rgba(0,50,50,.4);
}

#summary .copyright {
    color: #fff;
    font-size: 24px;
    text-align: center;
}

/* ======================================
    #
====================================== */

.grecaptcha-badge {
    display: none!important;
}
