/*! normalize.css v3.0.0 | MIT License | git.io/normalize */
html {
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
}

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

audio,
canvas,
progress,
video {
    display: inline-block;
    vertical-align: baseline;
}

audio:not([controls]) {
    display: none;
    height: 0;
}

[hidden],
template {
    display: none;
}

a {
    background: transparent;
}

a:active,
a:hover {
    outline: 0;
}

abbr[title] {
    border-bottom: 1px dotted;
}

b,
strong {
    font-weight: bold;
}

dfn {
    font-style: italic;
}

h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

mark {
    background: #ff0;
    color: #000;
}

small {
    font-size: 80%;
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

img {
    border: 0;
}

svg:not(:root) {
    overflow: hidden;
}

figure {
    margin: 1em 40px;
}

hr {
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    height: 0;
}

pre {
    overflow: auto;
}

code,
kbd,
pre,
samp {
    font-family: monospace, monospace;
    font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
    color: inherit;
    font: inherit;
    margin: 0;
}

button {
    overflow: visible;
}

button,
select {
    text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button;
    cursor: pointer;
}

button[disabled],
html input[disabled] {
    cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

input {
    line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box;
    padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

input[type="search"] {
    -webkit-appearance: textfield;
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

legend {
    border: 0;
    padding: 0;
}

textarea {
    overflow: auto;
}

optgroup {
    font-weight: bold;
}

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

td,
th {
    padding: 0;
}

/*
* Skeleton V2.0.4
* Copyright 2014, Dave Gamache
* www.getskeleton.com
* Free to use under the MIT license.
* http://www.opensource.org/licenses/mit-license.php
* 12/29/2014
* Less Version by Seth Coelen https://github.com/whatsnewsaes
*/
/* Table of contents
––––––––––––––––––––––––––––––––––––––––––––––––––
- Grid
- Base Styles
- Typography
- Links
- Buttons
- Forms
- Lists
- Code
- Tables
- Spacing
- Utilities
- Clearing
- Media Queries
*/
/* Grid
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.container {
    position: relative;
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
}

.column,
.columns {
    width: 100%;
    float: left;
    box-sizing: border-box;
}

/* For devices larger than 400px */
@media (min-width: 400px) {
    .container {
        width: 85%;
        padding: 0;
    }
}

/* For devices larger than 550px */
@media (min-width: 550px) {
    .container {
        width: 80%;
    }

    .column,
    .columns {
        margin-left: 1%;
    }

    .column:first-child,
    .columns:first-child {
        margin-left: 0;
    }

    .one.column,
    .one.columns {
        width: 6.5%;
    }

    .two.columns {
        width: 15%;
    }

    .three.columns {
        width: 23.5%;
    }

    .four.columns {
        width: 32%;
    }

    .five.columns {
        width: 40.5%;
    }

    .six.columns {
        width: 49%;
    }

    .seven.columns {
        width: 57.5%;
    }

    .eight.columns {
        width: 66%;
    }

    .nine.columns {
        width: 74.5%;
    }

    .ten.columns {
        width: 83%;
    }

    .eleven.columns {
        width: 91.5%;
    }

    .twelve.columns {
        width: 100%;
        margin-left: 0;
    }

    .one-third.column {
        width: 32%;
    }

    .two-thirds.column {
        width: 66%;
    }

    .one-half.column {
        width: 49%;
    }

    /* Offsets */
    .offset-by-one.column,
    .offset-by-one.columns {
        margin-left: 8.5%;
    }

    .offset-by-two.column,
    .offset-by-two.columns {
        margin-left: 17%;
    }

    .offset-by-three.column,
    .offset-by-three.columns {
        margin-left: 25.5%;
    }

    .offset-by-four.column,
    .offset-by-four.columns {
        margin-left: 34%;
    }

    .offset-by-five.column,
    .offset-by-five.columns {
        margin-left: 42.5%;
    }

    .offset-by-six.column,
    .offset-by-six.columns {
        margin-left: 51%;
    }

    .offset-by-seven.column,
    .offset-by-seven.columns {
        margin-left: 59.5%;
    }

    .offset-by-eight.column,
    .offset-by-eight.columns {
        margin-left: 68%;
    }

    .offset-by-nine.column,
    .offset-by-nine.columns {
        margin-left: 76.5%;
    }

    .offset-by-ten.column,
    .offset-by-ten.columns {
        margin-left: 85%;
    }

    .offset-by-eleven.column,
    .offset-by-eleven.columns {
        margin-left: 93.5%;
    }

    .offset-by-one-third.column,
    .offset-by-one-third.columns {
        margin-left: 34%;
    }

    .offset-by-two-thirds.column,
    .offset-by-two-thirds.columns {
        margin-left: 68%;
    }

    .offset-by-one-half.column,
    .offset-by-one-half.column {
        margin-left: 51%;
    }
}

/* Base Styles
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* NOTE
html is set to 62.5% so that all the REM measurements throughout Skeleton
are based on 10px sizing. So basically 1.5rem = 15px :) */
html {
    font-size: 62.5%;
}

body {
    font-size: 1.5em;
    /* currently ems cause chrome bug misinterpreting rems on body element */
    line-height: 1.6;
    font-weight: 400;
    font-family: "Raleway", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #222222;
}

/* Typography
–––––––––––––––––––––––––––––––––––––––––––––––––– */
h1,
h2,
h3,
h4,
h5,
h6 {
    margin-top: 0;
    margin-bottom: 2rem;
}

h1 {
    font-size: 4.0rem;
    line-height: 1.2;
    letter-spacing: -0.1rem;
}

h2 {
    font-size: 3.6rem;
    line-height: 1.25;
    letter-spacing: -0.1rem;
}

h3 {
    font-size: 3.0rem;
    line-height: 1.3;
    letter-spacing: -0.1rem;
}

h4 {
    font-size: 2.4rem;
    line-height: 1.35;
    letter-spacing: -0.08rem;
}

h5 {
    font-size: 1.8rem;
    line-height: 1.5;
    letter-spacing: -0.05rem;
}

h6 {
    font-size: 1.5rem;
    line-height: 1.6;
    letter-spacing: 0;
}

/* Larger than phablet */
@media (min-width: 550px) {
    h1 {
        font-size: 5.0rem;
    }

    h2 {
        font-size: 4.2rem;
    }

    h3 {
        font-size: 3.6rem;
    }

    h4 {
        font-size: 3.0rem;
    }

    h5 {
        font-size: 2.4rem;
    }

    h6 {
        font-size: 1.5rem;
    }
}

p {
    margin-top: 0;
}

/* Links
–––––––––––––––––––––––––––––––––––––––––––––––––– */
a {
    color: #1eaedb;
}

a:hover {
    color: #1b9cc5;
}

/* Buttons
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.button,
button {
    display: inline-block;
    height: 38px;
    padding: 0 30px;
    color: #555555;
    text-align: center;
    font-size: 11px;
    font-weight: 600;
    line-height: 38px;
    letter-spacing: .1rem;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
    background-color: transparent;
    border-radius: 4px;
    border: 1px solid #bbbbbb;
    cursor: pointer;
    box-sizing: border-box;
}

input[type="submit"],
input[type="reset"],
input[type="button"] {
    display: inline-block;
    height: 38px;
    padding: 0 30px;
    color: #555555;
    text-align: center;
    font-size: 11px;
    font-weight: 600;
    line-height: 38px;
    letter-spacing: .1rem;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
    background-color: transparent;
    border-radius: 4px;
    border: 1px solid #bbbbbb;
    cursor: pointer;
    box-sizing: border-box;
}

.button:hover,
button:hover {
    color: #333333;
    border-color: #888888;
    outline: 0;
}

input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover {
    color: #333333;
    border-color: #888888;
    outline: 0;
}

.button:focus,
button:focus {
    color: #333333;
    border-color: #888888;
    outline: 0;
}

input[type="submit"]:focus,
input[type="reset"]:focus,
input[type="button"]:focus {
    color: #333333;
    border-color: #888888;
    outline: 0;
}

.button.button-primary,
button.button-primary {
    color: #fff;
    background-color: #ff6171;
    border-color: #ff6171;
}

input[type="submit"].button-primary,
input[type="reset"].button-primary,
input[type="button"].button-primary {
    color: #fff;
    background-color: #ff6171;
    border-color: #ff6171;
}

.button.button-primary:hover,
button.button-primary:hover {
    color: #fff;
    background-color: #ff949f;
    border-color: #ff949f;
}

input[type="submit"].button-primary:hover,
input[type="reset"].button-primary:hover,
input[type="button"].button-primary:hover {
    color: #fff;
    background-color: #ff949f;
    border-color: #ff949f;
}

.button.button-primary:focus,
button.button-primary:focus {
    color: #fff;
    background-color: #ff949f;
    border-color: #ff949f;
}

input[type="submit"].button-primary:focus,
input[type="reset"].button-primary:focus,
input[type="button"].button-primary:focus {
    color: #fff;
    background-color: #ff949f;
    border-color: #ff949f;
}

input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"] {
    height: 38px;
    padding: 6px 10px;
    background-color: #fff;
    border: 1px solid #d1d1d1;
    border-radius: 4px;
    box-shadow: none;
    box-sizing: border-box;
}

/* Forms
–––––––––––––––––––––––––––––––––––––––––––––––––– */
textarea,
select {
    height: 38px;
    padding: 6px 10px;
    /* The 6px vertically centers text on FF, ignored by Webkit */
    background-color: #fff;
    border: 1px solid #d1d1d1;
    border-radius: 4px;
    box-shadow: none;
    box-sizing: border-box;
}

/* Removes awkward default styles on some inputs for iOS */
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"] {
    /* for main */
    border: 2px solid #f399a7;
    border-radius: 10px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    min-height: 65px;
    padding-top: 6px;
    padding-bottom: 6px;
}

input[type="email"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus {
    /* for main */
    border: 2px solid #f8c7ce;
    outline: 0;
}

textarea:focus,
select:focus {
    border: 1px solid #33c3f0;
    outline: 0;
}

label,
legend {
    display: block;
    margin-bottom: .5rem;
    font-weight: 600;
}

fieldset {
    padding: 0;
    border-width: 0;
}

input[type="checkbox"],
input[type="radio"] {
    display: inline;
}

label > .label-body {
    display: inline-block;
    margin-left: .5rem;
    font-weight: normal;
}

/* Lists
–––––––––––––––––––––––––––––––––––––––––––––––––– */
ul {
    list-style: circle inside;
}

ol {
    list-style: decimal inside;
    padding-left: 0;
    margin-top: 0;
}

ul {
    padding-left: 0;
    margin-top: 0;
}

ul ul,
ul ol {
    margin: 1.5rem 0 1.5rem 3rem;
    font-size: 90%;
}

ol ol,
ol ul {
    margin: 1.5rem 0 1.5rem 3rem;
    font-size: 90%;
}

li {
    margin-bottom: 1rem;
}

/* Code
–––––––––––––––––––––––––––––––––––––––––––––––––– */
code {
    padding: .2rem .5rem;
    margin: 0 .2rem;
    font-size: 90%;
    white-space: nowrap;
    background: #f1f1f1;
    border: 1px solid #e1e1e1;
    border-radius: 4px;
}

pre > code {
    display: block;
    padding: 1rem 1.5rem;
    white-space: pre;
}

/* Tables
–––––––––––––––––––––––––––––––––––––––––––––––––– */
th,
td {
    padding: 12px 15px;
    text-align: left;
    border-bottom: 1px solid #e1e1e1;
}

th:first-child,
td:first-child {
    padding-left: 0;
}

th:last-child,
td:last-child {
    padding-right: 0;
}

/* Spacing
–––––––––––––––––––––––––––––––––––––––––––––––––– */
button,
.button {
    margin-bottom: 1rem;
}

input,
textarea,
select,
fieldset {
    margin-bottom: 1.5rem;
}

pre,
blockquote,
dl,
figure,
table,
p,
ul,
ol,
form {
    margin-bottom: 1.5rem;
}

/* Utilities
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.u-full-width {
    width: 100%;
    box-sizing: border-box;
}

.u-max-full-width {
    max-width: 100%;
    box-sizing: border-box;
}

.u-pull-right {
    float: right;
}

.u-pull-left {
    float: left;
}

/* Misc
–––––––––––––––––––––––––––––––––––––––––––––––––– */
hr {
    margin-top: 3rem;
    margin-bottom: 3.5rem;
    border-width: 0;
    border-top: 1px solid #e1e1e1;
}

/* Clearing
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Self Clearing Goodness */
.container:after,
.row:after,
.u-cf {
    content: "";
    display: table;
    clear: both;
}

/* Media Queries
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/*
Note: The best way to structure the use of media queries is to create the queries
near the relevant code. For example, if you wanted to change the styles for buttons
on small devices, paste the mobile query code up in the buttons section and style it
there.
*/
/* Larger than mobile */
/* Larger than phablet (also point when grid becomes active) */
/* Larger than tablet */
/* Larger than desktop */
/* Larger than Desktop HD */
/* Main */
.text-ellipsis {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/*--------------------------------   function   ------------------------------------*/
form .button-primary {
    width: 150px;
    height: 45px;
    line-height: 35px;
    font-size: 23px;
    margin: 0 auto;
    display: block;
    border-radius: 5px;
}

.button.button-primary {
    display: block;
    border-radius: 10px;
    width: 80px;
    margin: 0 auto;
    font-size: 16px;
    line-height: 18px;
    height: 30px;
    padding: 5px;
}

/*--------------------------------   header   ------------------------------------*/
header {
    background-color: #ffd8de;
    position: relative;
    width: 815px;
    height: 773px;
    margin: 0 auto;
    z-index: 5;
}

header .menu {
    position: absolute;
    width: 55%;
    height: 20%;
    z-index: 999;
    bottom: 5px;
    right: 0;
}

header .menu dl {
    margin: 0;
    padding: 0;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: -ms-flex;
    display: flex;
}

header .menu dl dd {
    margin: 0;
    padding: 0;
    position: relative;
    float: left;
    -webkit-flex: 1 1;
    -ms-flex: 1 1;
    flex: 1 1;
}

header .menu dl dd a {
    display: block;
    margin: 0;
    z-index: 1;
}

header .menu dl dd a:hover {
    opacity: 0.8;
    -moz-opacity: 0.8;
    -khtml-opacity: 0.8;
    filter: alpha(opacity=80);
}

header .menu dl dd a img {
    width: 90%;
}

/*--------------------------------   content   ------------------------------------*/
section {
    background-color: #ffd8de;
    position: relative;
    width: 100%;
    margin: 0 auto;
    padding-bottom: 20px;
    z-index: 1;
}

section:before,
section:after {
    content: " ";
    display: table;
}

section:after {
    clear: both;
}

section h2 {
    margin: 0;
    text-align: center;
}

section.index .rule .main,
section.index .product .main,
section.index .experience .main {
    background-color: #fff;
    margin: 4% 4% 2% 4%;
    border-radius: 10px;
    padding: 2%;
    min-height: 200px;
    background-size: 100%;
}


section.index .join .main {
    background-color: #fff;
    margin: 2% 4% 4% 4%;
    border-radius: 10px;
    padding: 2%;
    /*min-height: 200px;*/
    background-size: 100%;
}


section.index .rule .main label,
section.index .product .main label,
section.index .join .main label,
section.index .experience .main label {
    color: #ea7a85;
    font-size: 19px;
}

section.index .rule .main form,
section.index .product .main form,
section.index .join .main form,
section.index .experience .main form {
    margin-bottom: 0;
}

section.index .rule .main p,
section.index .product .main p,
section.index .join .main p,
section.index .experience .main p {
    color: #181818;
}

section.index .experience {
    position: relative;
}

section.index .experience .share {
    position: fixed;
    width: 815px;
    right: 50%;
    margin-right: -407px;
    top: 50%;
    text-align: right;
}

section.index .experience .share a {
    display: inline-block;
    width: 95px;
    height: 95px;
}

section.index .experience .content h4 {
    height: 200px;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: -ms-flex;
    display: flex;
    -webkit-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-align-items: center;
    align-items: center;
}

section.index .experience .content img {
    display: block;
    width: 250px;
    margin: 0 auto;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    border-radius: 30px;
}

section.index .experience .content .editor {
    font-size: 17px;
    width: 55%;
    margin: 15px auto;
}

section.index .experience ul {
    list-style-type: none;
}

section.index .experience ul li {
    padding: 10px 15px;
    text-align: center;
}

section.index .experience ul li h5 {
    color: #ea7a85;
    font-size: 19px;
    font-weight: 700;
    margin-bottom: 10px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

section.index .experience ul li p {
    font-size: 17px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    text-align: left;
    padding: 0 20px;
}

/* Media Queries
–––––––––––––––––––––––––––––––––––––––––––––––––– */
@media screen and (max-width: 640px) {
    html,
    body {
        width: 100%;
        min-height: 100%;
        overflow-x: hidden;
    }

    .wrap,
    header,
    section {
        position: relative;
        width: 100%;
        height: auto;
        margin: 0 auto;
    }

    h2 img {
        width: 40%;
    }

    .experience .main h2 img {
        width: 50%;
    }

    section.index .experience .content .editor {
        width: 100%;
    }

    section.index .experience .share {
        width: auto;
        right: 0;
        margin-right: 0;
        top: 70%;
    }

    section.index .experience .share a {
        width: 60px;
        height: 60px;
    }

    section.index .experience .share a img {
        width: 100%;
    }
}

.pop-box { background-color: rgba(0, 0, 0, 0.8); width: 100%; min-height: 100vh; position: absolute; z-index: 99; }
.pop-box .pop-main { background-color: #ff7c80; min-height: 30vh; width: 90vw; max-width: 80%; border-radius: 10px; margin: auto; margin-top: 120px; padding: 15px 10px; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; text-align: center; color: #fff; }
.pop-box .pop-main .ans-type { font-size: 20px; font-weight: bold; }
.pop-box .pop-main .ans-type .txt-err { color: #7d0022; }
.pop-box .pop-main .ans-txt { font-size: 20px; color: #fff100; border: solid #ffbec0; border-width: 1px 0 1px 0; padding: 10px 0; margin: 10px 0; font-weight: bold; }
.pop-box .pop-main .btn-ans { width: 80%; margin-left: 10%; margin-top: 15px; display: block; }
.pop-box .pop-main .text-left { text-align: left; }
.pop-box .pop-main b { font-weight: bold; }
.pop-box .pop-main li { margin-bottom: 10px; }
.pop-box.userdata { display: none; }
.pop-box.userdata.active { position: relative; display: block; padding-top: 60px; padding-bottom: 20px; }
.pop-box.userdata.active .pop-main { position: relative; margin-top: 0; }
.pop-box.userdata.active .pop-main .btn-close { width: 45px; height: 45px; text-align: center; display: block; color: #fff; line-height: 45px; position: absolute; right: -10px; top: -10px; background-color: #000; text-decoration: none; border-radius: 50%; font-size: 24px; }
.pop-box.userdata.active .pop-main li, .pop-box.userdata.active .pop-main p { font-size: 13px; }
.pop-box.userdata.active ~ #wrap { position: fixed; }

.pop-box.activeRule { display: none; }
.pop-box.activeRule.active { position: relative; display: block; padding-top: 60px; padding-bottom: 20px; }
.pop-box.activeRule.active .pop-main { position: relative; margin-top: 0; }
.pop-box.activeRule.active .pop-main .btn-close { width: 45px; height: 45px; text-align: center; display: block; color: #fff; line-height: 45px; position: absolute; right: -10px; top: -10px; background-color: #000; text-decoration: none; border-radius: 50%; font-size: 24px; }
.pop-box.activeRule.active .pop-main li, .pop-box.activeRule.active .pop-main p { font-size: 13px; }
.pop-box.activeRule.active ~ #wrap { position: fixed; }
