﻿@charset "UTF-8";
/* -- foundation -- */
/* CSS Document */
/*----------------------------------------------------
	☆etc
----------------------------------------------------*/
/*----------------------------------------------------
    ☆component
----------------------------------------------------*/
/*----------------------------------------------------
    ☆margin
----------------------------------------------------*/
/*----------------------------------------------------
    ☆element size fix
----------------------------------------------------*/
/*----------------------------------------------------
    ☆position
----------------------------------------------------*/
/*----------------------------------------------------
    ☆border
----------------------------------------------------*/
/*----------------------------------------------------
    ☆button
----------------------------------------------------*/
/*----------------------------------------------------
    ☆animation
----------------------------------------------------*/
@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css);

@keyframes arrowAnimLeft {
    0% {
        transform: translateX(0);
        opacity: 1;
    }

    50% {
        transform: translateX(-100%);
        opacity: 0;
    }

    50.1% {
        transform: translateX(100%);
        opacity: 0;
    }

    100% {
        transform: translateX(0%);
        opacity: 1;
    }
}

@keyframes arrowAnimLeft {
    0% {
        transform: translateX(0);
        opacity: 1;
    }

    50% {
        transform: translateX(100%);
        opacity: 0;
    }

    50.1% {
        transform: translateX(-100%);
        opacity: 0;
    }

    100% {
        transform: translateX(0%);
        opacity: 1;
    }
}

@keyframes arrowAnimTop {
    0% {
        transform: translateY(0);
        opacity: 1;
    }

    50% {
        transform: translateY(-100%);
        opacity: 0;
    }

    50.1% {
        transform: translateY(100%);
        opacity: 0;
    }

    100% {
        transform: translateY(0%);
        opacity: 1;
    }
}

@keyframes arrowAnimTop {
    0% {
        transform: translateY(0);
        opacity: 1;
    }

    50% {
        transform: translateY(-100%);
        opacity: 0;
    }

    50.1% {
        transform: translateY(100%);
        opacity: 0;
    }

    100% {
        transform: translateY(0%);
        opacity: 1;
    }
}

/* ------------------------------ */
/* -- FONT -- */
/* ------------------------------ */
/* -- Function -- */
/*-----------------------------------------------------------
reset
-------------------------------------------------------------*/
html, body {
    overflow-x: hidden;
    min-height: 100vh;
}

body, h1, h2, h3, h4, h5, h6, pre, ul, ol, li, dl, dt, dd, p, img {
    margin: 0;
    padding: 0;
    color: #434343;
}

a {
    color: #ea6056;
    outline: 0;
}

@media screen and (min-width: 768px) {
    a:hover {
        text-decoration: none;
    }

    a img:hover {
        /*@include opacity(0.7);*/
    }
}

ul, ol {
    list-style-type: none;
}

    ul li:first-child {
        /*margin-left: 0;*/
    }

p {
    line-height: 1.8;
}

/*-----------------------------------------------------------
font
-------------------------------------------------------------*/
/*-----------------------------------------------------------
layout
-------------------------------------------------------------*/
html {
    position: relative;
    min-height: 100%;
    font-size: 62.5%;
    /* sets the base font to 10px for easier math */
}

body {
    width: 100%;
    margin: 0;
    padding: 0;
    font-family: "Noto Sans Japanese","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic","HelveticaNeue","Helvetica Neue",Arial,sans-serif;
    font-size: 14px;
    font-size: 1.4rem;
    background-color: #eeeeee;
}

.wrap {
    width: 100%;
    min-height: 100vh;
    overflow: hidden;
}

    .wrap input:disabled {
        cursor: default;
        /*border-top: none;
        border-right: none;*/
        background-color:#aaaaaa;
        border:none;
    }

.wrap--fullwindow {
    position: absolute;
    min-height: 100%;
}

.wrap--light {
    overflow: hidden;
    min-height: 100vh;
}

.wrap--dark {
    overflow: hidden;
    min-height: 100vh;
    background: url(../images/common/bg-02.jpg);
}

    .wrap--dark .l-header {
        background-color: #000;
    }

.pc {
    display: block !important;
}

.sp {
    display: none !important;
}

.anchor {
    margin-top: -80px;
    padding-top: 80px;
    pointer-events: none;
}

@media only screen and (max-width: 768px) {
    .pc {
        display: none !important;
    }

    .sp {
        display: block !important;
    }

    body {
        font-size: 12px;
        font-size: 1.2rem;
    }

    .anchor {
        margin-top: -77px;
        padding-top: 77px;
    }
}

*, *:before, *:after {
    box-sizing: border-box;
}

input[type="password"],
input[type="email"],
input[type="text"],
select {
    outline: none;
    border: 1px solid #c9c9c9;
}

textarea {
    border: 1px solid #c9c9c9;
    outline: none;
    padding: 20px;
}

    input[type="password"]:focus,
    input[type="email"]:focus,
    input[type="text"]:focus,
    textarea:focus {
        outline: none;
        border: 1px solid #ea6056;
        transition: all .3s;
    }

input[type="submit"] {
    -webkit-appearance: none;
    background-image: none;
    border: none;
    border-radius: 0;
    cursor: pointer;
    text-decoration: none;
}

button {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
}

@media only screen and (max-width: 768px) {
    textarea {
        padding: 10px;
    }
}

/* -- layout -- */
/* -- foundation -- */
/* --------------------------- */
/* Header */
.l-header {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    /*height: 80px;*/
    z-index: 999;
    box-sizing: border-box;
    background-color: #fff;
}

.l-header--a {
    border-top: 5px solid #ea6056;
}

.l-header--dark {
    background-color: #000;
}

.l-header__inner {
    height: 100%;
    margin: 0 auto;
    padding: 5px 30px;
    box-sizing: border-box;
}

.l-headerLogo {
    position: relative;
    max-width: 180px;
}

    .l-headerLogo:hover {
        opacity: 0.7;
    }

.l-headerLogo--login {
    margin: 0 auto;
    margin-bottom: 47px;
}

@media only screen and (max-width: 768px) {
    .l-header {
        position: fixed;
        height: 77px;
        background-size: 100%;
        padding-left: 20px;
        padding-right: 10px;
    }

    .l-header--a {
        border-top: 5px solid #ea6056;
    }

    .l-headerLogo {
        width: 180px;
        margin-top: 25px;
    }

    .l-headerLogo--login {
        width: 245px;
        margin: auto;
        margin-bottom: 35px;
    }

    .l-header__inner {
        padding: 0;
    }

    .l-header--control {
        height: auto;
    }
}

@media only screen and (max-width: 340px) {
    .l-headerLogo {
        width: 150px;
    }
}

.l-headerLeft {
    margin-right: auto;
    width: 326px;
}

@media only screen and (max-width: 1100px) {
    .l-headerLeft {
        width: 300px;
    }
}

@media only screen and (max-width: 768px) {
    .l-headerLeft {
        height: 72px;
        overflow: hidden;
        width: auto;
    }
}

.l-headerUser {
    margin-left: 30px;
}

.l-headerUser__icon {
    width: 25px;
    margin-right: 8px;
}

.l-headerUser__icon--sp {
    display: none;
}

@media only screen and (max-width: 768px) {
    .l-headerUser__icon--sp {
        display: block;
    }
}

.l-headerUser__username {
    font-size: 16px;
    font-size: 1.6rem;
    color: #ea6056;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.l-headerUser__btn {
    margin-left: 40px;
}

    .l-headerUser__btn a {
        border: 4px solid #dcdcdc;
        text-decoration: none;
        padding: 10px 30px;
        display: block;
        text-align: center;
        transition: all 0.3s;
        white-space: nowrap;
    }

        .l-headerUser__btn a:hover {
            border: 4px solid #ea6056;
        }

@media only screen and (max-width: 1100px) {
    .l-headerUser__username {
        width: 6.2em;
    }

    .l-headerUser__btn {
        margin-left: 10px;
    }
}

@media only screen and (max-width: 768px) {
    .l-headerUser {
        position: relative;
        width: 26%;
        height: 95px;
        padding: 20px 0;
        box-sizing: border-box;
        z-index: 2;
        margin-left: auto;
    }

        .l-headerUser > .l-flex {
            display: block;
        }

    .l-headerUser__box {
        width: auto;
        padding: 6px 0;
    }

        .l-headerUser__box.open {
            height: 247px;
        }

    .l-headerUser__icon {
        width: 24px;
        margin-right: 4px;
    }

    .l-headerUser__username-en {
        font-size: 10px;
        font-size: 1rem;
        margin-bottom: 3px;
    }

    .l-headerUser__username {
        width: 100%;
        line-height: 1.3;
        font-size: 12px;
        font-size: 1.2rem;
    }

    .l-headerUser__btn {
        margin-left: 0;
    }

        .l-headerUser__btn a {
            border: 2px solid #dcdcdc;
            text-decoration: none;
            padding: 3px;
            display: block;
        }
}

.l-headerNav {
    width: 74px;
}

.l-headerMenuContainer {
    position: fixed;
    width: 101%;
    left: 0;
    top: 5px;
    background-color: #eeeeee;
    padding: 70px 0 0;
    z-index: 999;
    transition: all 0.3s;
    transform: translateY(-110%);
    max-height: 100%;
    overflow-y: scroll;
}

    .l-headerMenuContainer.open {
        transform: translateY(0);
    }

@media only screen and (max-width: 768px) {
    .l-headerMenuContainer {
        top: 5px;
        padding-left: 20px;
        padding-right: 20px;
        padding-top: 63px;
        box-sizing: border-box;
    }
}

.l-footerMenuContainer {
    z-index: 999;
    transition: all 0.3s;
    transform: translateY(0);
    max-height: 100%;
}

    .l-footerMenuContainer.open {
        transform: translateY(110%);
    }

.l-headerMenu {
    width: auto !important;
}

    .l-headerMenu:last-child {
        margin-bottom: 100px;
    }

.l-headerMenu__title {
    color: #ea6056;
    font-weight: bold;
    font-size: 20px;
    font-size: 2rem;
    text-align: center;
    margin-bottom: 25px;
    margin-top: 45px;
}

    .l-headerMenu__title:first-child {
        margin-top: 0;
    }

.l-headerMenu__elem {
    margin: 0 20px;
    background-color: #fff;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    border-bottom: 5px solid #d2d2d2;
    text-align: center;
    width: 28%;
    position: relative;
}

    .l-headerMenu__elem:after {
        content: "";
        width: 12px;
        height: 12px;
        border-top: 4px solid #ea6056;
        border-right: 4px solid #ea6056;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        position: absolute;
        left: 0;
        right: 0;
        margin: auto;
        bottom: 16px;
    }

    .l-headerMenu__elem:nth-child(n+4) {
        margin-top: 10px;
    }

.l-headerMenu__min:after {
    left: auto;
    right: 20px;
    top: 0;
    bottom: 0;
}

.l-headerMenu__min .l-headerMenu__btn {
    padding: 10px;
    font-size: 20px;
    font-size: 2rem;
}

.l-headerMenu__btn {
    display: block;
    padding: 29px 10px 52px;
    height: 100%;
    font-size: 25px;
    font-size: 2.5rem;
    color: #ea6056;
    text-decoration: none;
    line-height: 1.4;
    transition: all 0.2s;
    box-sizing: border-box;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    border: 5px solid #fff;
}

    .l-headerMenu__btn span {
        font-size: 15px;
        font-size: 1.5rem;
    }

    .l-headerMenu__btn:hover {
        border: 5px solid #ea6056;
    }

.l-headerMenu__elearning:before {
    content: "";
    position: relative;
    display: block;
    width: 61px;
    height: 44px;
    margin: 0 auto;
    margin-bottom: 17px;
    background: url("../images/common/hdmenu_icon_elearning.png") left top no-repeat;
    background-size: 100%;
}

.l-headerMenu__assesment:before {
    content: "";
    position: relative;
    display: block;
    width: 44px;
    height: 44px;
    margin: 0 auto;
    margin-bottom: 17px;
    background: url("../images/common/hdmenu_icon_assesment.png") left top no-repeat;
    background-size: 100%;
}

.l-headerMenu__community:before {
    content: "";
    position: relative;
    display: block;
    width: 52px;
    height: 44px;
    margin: 0 auto;
    margin-bottom: 17px;
    background: url("../images/common/hdmenu_icon_community.png") left top no-repeat;
    background-size: 100%;
}

@media only screen and (max-width: 768px) {
    .l-headerMenu {
        margin: 0;
    }

    .l-headerMenu__elem {
        margin: 0 2.6%;
        margin-top: 12px;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        border-radius: 5px;
        text-align: left;
        border-bottom: 3px solid #d2d2d2;
    }

        .l-headerMenu__elem:after {
            content: "";
            width: 8px;
            height: 8px;
            border-top: 3px solid #ea6056;
            border-right: 3px solid #ea6056;
            -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
            left: 0;
            right: 0;
            bottom: 7px;
        }

    .l-headerMenu__min {
        margin-top: 12px;
        font-size: 11px;
        font-size: 1.1rem;
    }

        .l-headerMenu__min:after {
            bottom: 7px;
            top: auto;
        }

        .l-headerMenu__min .l-headerMenu__btn {
            font-size: 11px;
            font-size: 1.1rem;
            padding: 10px 0 20px;
        }

    .l-headerMenu__btn {
        font-size: 11px;
        font-size: 1.1rem;
        line-height: 1.4;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        border-radius: 5px;
        padding: 10px 0 20px;
        -webkit-box-pack: left !important;
        -ms-flex-pack: left !important;
        -webkit-justify-content: left !important;
        justify-content: left !important;
    }

        .l-headerMenu__btn span {
            font-size: 11px;
            font-size: 1.1rem;
        }

    .l-headerMenu__default {
        margin: 0 auto;
        text-align: center;
    }

    .l-headerMenu__elearning {
        position: relative;
        padding-top: 35px;
        margin: 0 auto;
    }

        .l-headerMenu__elearning:before {
            content: "";
            position: absolute;
            display: block;
            width: 40px;
            height: 29px;
            top: 0;
            margin: auto;
            left: 0;
            right: 0;
            margin-bottom: 0;
        }

    .l-headerMenu__assesment {
        position: relative;
        padding-top: 35px;
        margin: 0 auto;
    }

        .l-headerMenu__assesment:before {
            content: "";
            position: absolute;
            display: block;
            width: 29px;
            height: 29px;
            top: 0;
            margin: auto;
            left: 0;
            right: 0;
            margin-bottom: 0;
        }

    .l-headerMenu__community {
        position: relative;
        padding-top: 35px;
        margin: 0 auto;
    }

        .l-headerMenu__community:before {
            content: "";
            position: absolute;
            display: block;
            width: 34px;
            height: 29px;
            top: 0;
            margin: auto;
            left: 0;
            right: 0;
            margin-bottom: 0;
        }
}

.l-headerControl--dark .l-headerControl__item {
    border-bottom: 4px solid #fff;
    color: #fff;
}

    .l-headerControl--dark .l-headerControl__item.current {
        background-color: #fff;
    }

        .l-headerControl--dark .l-headerControl__item.current input[type="submit"] {
            color: #000;
            background-color: inherit;
        }

    .l-headerControl--dark .l-headerControl__item:hover {
        background-color: inherit;
        background-color: #fff;
    }

        .l-headerControl--dark .l-headerControl__item:hover input[type="submit"] {
            color: #000;
        }

    .l-headerControl--dark .l-headerControl__item:last-child {
        border-bottom: none;
    }

.l-headerControl--dark .l-headerControl__item--back:before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
}

.l-headerControl--dark .l-headerControl__item--back:hover:before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
}

.l-headerControl--dark .l-headerControl__item--next:before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.l-headerControl--dark .l-headerControl__item--next:hover:before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.l-headerControl--dark .l-headerControl__item input[type="submit"] {
    color: #fff;
    background-color: inherit;
}

.l-headerControl--dark .l-headerControl__item--square:hover {
    background-color: inherit;
}

.l-headerControl--dark .l-headerControl__item--square--up {
    background-color: #fff;
    border: 2px solid #dcdcdc;
}

.l-headerControl--dark .l-headerControl__item--square--down {
    background-color: #959595;
    border: 2px solid #00b7ee;
}

.l-headerControl--dark .l-headerControl__item--time {
    border: 4px solid #dcdcdc;
    background-color: #fff;
    color: #ea6056;
}

.l-headerControl__inner {
    padding: 20px;
    width: 1020px;
    max-width: 100%;
    margin: 0 auto;
    height: 100%;
}

    .l-headerControl__inner.footFix {
        position: fixed;
        bottom: 0;
        left: 0;
        height: auto;
        padding: 10px;
        overflow: unset;
    }

.l-headerControl__item {
    border-bottom: 4px solid #ea6056;
    margin-right: 10px;
    text-align: center;
    position: relative;
    font-size: 15px;
    font-size: 1.5rem;
    transition: all 0.3s;
}

    .l-headerControl__item input[type="submit"] {
        background-color: inherit;
        color: #ea6056;
        display: block;
        width: 100%;
        padding: 5px 0;
        transition: all 0.3s;
    }

    .l-headerControl__item:last-child {
        margin-right: 0;
    }

    .l-headerControl__item:hover {
        background-color: #ea6056;
    }

        .l-headerControl__item:hover input[type="submit"] {
            color: #fff;
        }

.l-headerControl__item--back {
    width: 80px;
    border-color: #009944;
}

    .l-headerControl__item--back:before {
        content: '';
        content: "";
        width: 7px;
        height: 7px;
        border-top: 2px solid #009944;
        border-right: 2px solid #009944;
        -webkit-transform: rotate(-135deg);
        transform: rotate(-135deg);
        position: absolute;
        top: 0;
        bottom: 0;
        margin: auto;
        left: 10px;
        transition: all 0.3s;
    }

    .l-headerControl__item--back input[type="submit"] {
        color: #009944;
    }

    .l-headerControl__item--back:hover {
        background-color: #009944;
    }

        .l-headerControl__item--back:hover:before {
            content: "";
            width: 7px;
            height: 7px;
            border-top: 2px solid #fff;
            border-right: 2px solid #fff;
            -webkit-transform: rotate(-135deg);
            transform: rotate(-135deg);
        }

        .l-headerControl__item--back:hover input[type="submit"] {
            color: #fff;
        }

.l-headerControl__item--next {
    width: 80px;
    border-color: #009944;
}

    .l-headerControl__item--next:before {
        content: '';
        content: "";
        width: 7px;
        height: 7px;
        border-top: 2px solid #009944;
        border-right: 2px solid #009944;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        position: absolute;
        top: 0;
        bottom: 0;
        margin: auto;
        right: 10px;
        transition: all 0.3s;
    }

    .l-headerControl__item--next input[type="submit"] {
        color: #009944;
        transition: all 0.3s;
    }

    .l-headerControl__item--next:hover {
        background-color: #009944;
    }

        .l-headerControl__item--next:hover:before {
            content: "";
            width: 7px;
            height: 7px;
            border-top: 2px solid #fff;
            border-right: 2px solid #fff;
            -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
        }

        .l-headerControl__item--next:hover input[type="submit"] {
            color: #fff;
        }

.l-headerControl__item--break {
    width: 100px;
}

.l-headerControl__item--scoring {
    width: 100px;
}

.l-headerControl__item--result {
    width: 100px;
    border-color: #f78600;
}

    .l-headerControl__item--result input[type="submit"] {
        color: #f78600;
    }

    .l-headerControl__item--result:hover {
        background-color: #f78600;
    }

        .l-headerControl__item--result:hover input[type="submit"] {
            color: #fff;
        }

    .l-headerControl__item--result.current {
        background-color: #f78600;
        pointer-events: none;
    }

        .l-headerControl__item--result.current input[type="submit"] {
            color: #fff;
        }

.l-headerControl__item--answer {
    width: 100px;
    border-color: #f78600;
}

    .l-headerControl__item--answer input[type="submit"] {
        color: #f78600;
    }

    .l-headerControl__item--answer:hover {
        background-color: #f78600;
    }

        .l-headerControl__item--answer:hover input[type="submit"] {
            color: #fff;
        }

    .l-headerControl__item--answer.current {
        background-color: #f78600;
        pointer-events: none;
    }

        .l-headerControl__item--answer.current input[type="submit"] {
            color: #fff;
        }

.l-headerControl__item--commentary {
    width: 100px;
    border-color: #f78600;
}

    .l-headerControl__item--commentary input[type="submit"] {
        color: #f78600;
    }

    .l-headerControl__item--commentary:hover {
        background-color: #f78600;
    }

        .l-headerControl__item--commentary:hover input[type="submit"] {
            color: #fff;
        }

    .l-headerControl__item--commentary.current {
        background-color: #f78600;
        pointer-events: none;
    }

        .l-headerControl__item--commentary.current input[type="submit"] {
            color: #fff;
        }

.l-headerControl__item--time {
    width: 140px;
    border: 4px solid #dcdcdc;
    padding: 7px 0;
    color: #ea6056;
}

    .l-headerControl__item--time:hover {
        background-color: inherit;
    }

.l-headerControl__item--end {
    width: 80px;
    border-color: #da3a24;
}

    .l-headerControl__item--end input[type="submit"] {
        color: #da3a24;
    }

    .l-headerControl__item--end:hover {
        background-color: #da3a24;
    }

        .l-headerControl__item--end:hover input[type="submit"] {
            color: #fff;
        }

.l-headerControl__item--square {
    width: 16px;
    border: none;
}

.l-headerControl__item--square--up {
    width: 16px;
    height: 16px;
    background-color: #fff;
    display: block;
    border: 2px solid #00b7ee;
    margin-bottom: 10px;
}

    .l-headerControl__item--square--up:hover {
        transform: scale(1.1);
    }

.l-headerControl__item--square--down {
    width: 16px;
    height: 16px;
    background-color: #c9c9c9;
    display: block;
    border: 2px solid #c9c9c9;
}

    .l-headerControl__item--square--down:hover {
        transform: scale(1.1);
    }

.l-headerControl__item--square:hover {
    background-color: inherit;
}

@media only screen and (max-width: 768px) {
    .l-headerControl__inner {
        padding: 15px 0;
    }

    .l-headerControl__item {
        font-size: 12px;
        font-size: 1.2rem;
        width: 32%;
        margin-right: 2%;
        padding: 3px;
        border: none;
        background-color: #ea6056;
    }

        .l-headerControl__item:not(.l-headerControl__item--square) {
            display: -webkit-box;
            display: -moz-box;
            display: -ms-box;
            display: -webkit-flexbox;
            display: -moz-flexbox;
            display: -ms-flexbox;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: flex;
            -webkit-box-align: center;
            -ms-flex-align: center;
            -webkit-align-items: center;
            align-items: center;
            flex-direction: row;
            -webkit-box-pack: center;
            -ms-flex-pack: center;
            -webkit-justify-content: center;
            justify-content: center;
        }

        .l-headerControl__item input[type="submit"] {
            width: 100%;
            padding: 5px 0;
            color: #fff;
        }

        .l-headerControl__item:nth-child(3n) {
            margin-right: 0;
        }

        .l-headerControl__item:nth-child(n+4) {
            margin-top: 5px;
        }

    .l-headerControl__item--back {
        border-color: #b3b3b3;
        background-color: #b3b3b3;
    }

        .l-headerControl__item--back:before {
            content: "";
            width: 7px;
            height: 7px;
            border-top: 2px solid #fff;
            border-right: 2px solid #fff;
            -webkit-transform: rotate(-135deg);
            transform: rotate(-135deg);
        }

        .l-headerControl__item--back input[type="submit"] {
            color: #fff;
        }

        .l-headerControl__item--back:disabled {
            background-color: #dddddd;
        }

    .l-headerControl__item--next {
        border-color: #009944;
        background-color: #009944;
    }

        .l-headerControl__item--next:before {
            content: "";
            width: 7px;
            height: 7px;
            border-top: 2px solid #fff;
            border-right: 2px solid #fff;
            -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
        }

        .l-headerControl__item--next input[type="submit"] {
            color: #fff;
        }

    .l-headerControl__item--time {
        width: 65% !important;
        border: 4px solid #dcdcdc;
        padding: 7px 0;
        background-color: #fff;
    }

    .l-headerControl__item--end {
        background-color: #da3a24;
    }

        .l-headerControl__item--end input[type="submit"] {
            color: #fff;
        }

    .l-headerControl__item--square {
        width: 14px;
        border: none;
        background-color: inherit;
    }

    .l-headerControl__item--square--up {
        width: 14px;
        height: 14px;
        margin-bottom: 5px;
    }

    .l-headerControl__item--square--down {
        width: 14px;
        height: 14px;
    }

    .l-headerControl--1column .l-headerControl__item:nth-child(n+4) {
        margin-top: 0;
    }

    .l-headerControl--1column .l-headerControl__item:nth-child(3n) {
        margin-right: 2%;
    }

    .l-headerControl--1column .l-headerControl__item--back:before {
        left: 7px;
    }

    .l-headerControl--1column .l-headerControl__item--next:before {
        right: 7px;
    }
}

/* -- foundation -- */
/* --------------------------- */
/* Footer */
.l-footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 70px;
    padding-left: 24px;
    padding-right: 24px;
    box-sizing: border-box;
    background-color: #fff;
    z-index: 999;
}

.l-footer__elem {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
}

.l-footer__inner {
    max-width: 1030px;
    margin: auto;
    overflow: hidden;
    padding: 21px 0;
}

.l-footer__text {
    font-size: 12px;
    font-size: 1.2rem;
    color: #ea6056;
}

.l-footer__copyright {
    font-size: 12px;
    font-size: 1.2rem;
    color: #ea6056;
    margin:0 auto;
}

.l-footer--control {
    position: fixed;
    left: 0;
    bottom: 0;
    margin: auto;
    z-index: 998;
    width: 100vw;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}

    .l-footer--control.static {
        position: absolute;
    }

.l-footer--control__inner {
    padding: 25px 10px;
    background-color: #fff;
    width: 100%;
    border-top: 1px solid #9fadbf;
    border-bottom: 1px solid #9fadbf;
}

.l-footer--control__btnWrap {
    width: 1200px !important;
    max-width: 100%;
    margin: 0 auto;
}

    .l-footer--control__btnWrap .left {
        width: 680px;
    }

    .l-footer--control__btnWrap .right {
        margin-left: auto;
    }

.l-footer--control__item {
    margin-right: .4%;
    width: 10.71%;
}

    .l-footer--control__item.right {
        width: auto;
        margin-left: auto;
        margin-right: 0;
        width: 225px;
    }

    .l-footer--control__item:nth-child(9n) {
        margin-right: 0;
    }

    .l-footer--control__item:nth-child(n+10) {
        margin-top: .4%;
    }

.l-footer--control .p-defaultBtn__btn {
    width: 100%;
    font-size: 13px;
    font-size: 1.3rem;
}

@media only screen and (max-width: 768px) {
    .l-footer {
        height: auto;
        padding-left: 20px;
        padding-right: 20px;
    }

    .l-footer__inner {
        display: block !important;
        padding: 0;
    }

    .l-footer__flex {
        display: block;
    }

    .l-footer__text {
        width: 100%;
        text-align: center;
        padding: 20px 0 0 0;
    }

    .l-footer__copyright {
        width: 100%;
        font-size: 9px;
        font-size: 0.9rem;
        text-align: center;
        line-height: 42px;
        margin: 0 auto;
    }
}

/* --------------------------- */
/* nav */
html.open {
    position: fixed;
    z-index: -1;
    width: 100%;
    height: 100%;
}

    html.open .l-footer {
        bottom: auto;
    }

.l-nav {
    position: absolute;
    top: 33px;
    width: 100%;
    z-index: 1;
}

.l-nav--list__elem + .l-nav--list__elem {
    margin-left: 65px;
}

.l-nav--list__btn {
    text-decoration: none;
    color: #000 !important;
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: 500;
    white-space: nowrap;
    cursor: pointer;
    line-height: 28px;
}

    .l-nav--list__btn:hover {
        text-decoration: none;
        opacity: 0.7;
    }

@media only screen and (max-width: 1000px) {
    .l-nav--list__elem + .l-nav--list__elem {
        margin-left: 32px;
    }

    .l-nav--list__btn {
        font-size: 13px;
        font-size: 1.3rem;
    }
}

.header-nav-btn {
    width: 65px;
    height: 65px;
    background-color: #ea6056;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    z-index: 1000;
    cursor: pointer;
    position: relative;
    margin-left: 3%;
}

    .header-nav-btn.open {
        background-position: 0 -100%;
        width: 74px;
        height: 74px;
        top: 15px;
    }

.footer-nav-btn {
    width: 65px;
    height: 65px;
    background-color: #ea6056;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    z-index: 1000;
    cursor: pointer;
    position: relative;
    margin-left: auto;
}

    .footer-nav-btn.open {
        background-position: 0 -100%;
        width: 74px;
        height: 74px;
        top: -5px;
    }

.footer-nav-btn__wrap {
    position: absolute;
    bottom: 10px;
    top: auto;
    right: 10px;
}

    .footer-nav-btn__wrap.open {
        top: -35px;
        bottom: auto;
    }

.menu-trigger,
.menu-trigger span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
}

.menu-trigger {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    width: 28px;
    height: 26px;
}

    .menu-trigger span {
        position: absolute;
        left: 0;
        width: 100%;
        height: 3px;
        background-color: #fff;
    }

        .menu-trigger span:nth-of-type(1) {
            top: 0;
        }

        .menu-trigger span:nth-of-type(2) {
            top: 12px;
        }

        .menu-trigger span:nth-of-type(3) {
            bottom: 0;
        }

.header-nav-btn.open .menu-trigger,
.footer-nav-btn__wrap.open .menu-trigger {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
}

    .header-nav-btn.open .menu-trigger span:nth-of-type(1),
    .footer-nav-btn__wrap.open .menu-trigger span:nth-of-type(1) {
        -webkit-transform: translateY(12px) rotate(-45deg);
        transform: translateY(12px) rotate(-45deg);
    }

    .header-nav-btn.open .menu-trigger span:nth-of-type(2),
    .footer-nav-btn__wrap.open .menu-trigger span:nth-of-type(2) {
        -webkit-transform: translateY(0) rotate(45deg);
        transform: translateY(0) rotate(45deg);
    }

    .header-nav-btn.open .menu-trigger span:nth-of-type(3),
    .footer-nav-btn__wrap.open .menu-trigger span:nth-of-type(3) {
        opacity: 0;
    }

@media only screen and (max-width: 768px) {
    .l-nav {
        display: none;
    }

    .header-nav-btn {
        right: 0;
        top: 0;
        width: 37px;
        height: 37px;
        margin-left: 8px;
    }

        .header-nav-btn.open {
            width: 37px;
            height: 37px;
        }

    .footer-nav-btn {
        right: 0;
        top: 0;
        width: 37px;
        height: 37px;
    }

        .footer-nav-btn.open {
            width: 37px;
            height: 37px;
        }

    .menu-trigger {
        width: 14px;
        height: 13px;
    }

        .menu-trigger span {
            height: 2px;
        }

    .header-nav-btn.open .menu-trigger span:nth-of-type(1),
    .footer-nav-btn__wrap.open .menu-trigger span:nth-of-type(1) {
        -webkit-transform: translateY(6px) rotate(-45deg);
        transform: translateY(6px) rotate(-45deg);
    }

    .menu-trigger span:nth-of-type(2) {
        top: 6px;
    }
}

/* -- foundation -- */
/* --------------------------- */
/* main */
.l-main {
    display: block;
    position: relative;
    width: 100%;
    margin-top: 80px;
    /*margin-bottom: 70px;*/
    padding-left: 24px;
    padding-right: 24px;
    box-sizing: border-box;
}

.l-main--b {
    margin-top: 80px;
}

.l-main--login {
    position: absolute;
    width: 100%;
    border: 5px solid #ea6056;
    box-sizing: border-box;
    background: url(../images/common/bg-01.png);
}

.l-main--fullwindow {
    position: absolute;
    /*height: calc(100% - 70px);*/
    margin: 0;
    padding: 0;
}

.l-main--fullwindow__inner {
    position: absolute;
    width: 780px;
    max-width: 100%;
    left: 0;
    right: 0;
    margin: auto;
    top: 50%;
    transform: translateY(-50%);
}

.l-main--control {
    position: absolute;
    width: 100%;
    /*min-height: 823px;*/
    height: 100vh;
    box-sizing: border-box;
    /*padding-top: 100px;*/
}

.l-main__content {
    position: relative;
    position: relative;
    width: 100%;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

@media only screen and (max-width: 768px) {
    .l-main {
        margin-top: 77px;
        margin-bottom: 83px;
        padding-left: 3.75%;
        padding-right: 3.75%;
    }

    .l-main--login {
        min-height: 100vh;
        border: 5px solid #ea6056;
        overflow: auto;
        position: relative;
    }

    .l-main--fullwindow {
        height: auto;
        position: relative;
        box-sizing: border-box;
        width: 100%;
        margin-top: 38px;
        padding-bottom: 30px;
    }

    .l-main--control {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        padding: 0;
        margin: 0;
        min-height: 100%;
    }

    .l-main--control--dark {
        background: url(../images/common/bg-02.jpg);
    }
}

.l-block {
    position: relative;
    /* ブラウザのスクロールバーの幅を考慮 */
}

    .l-block:after {
        display: table;
        content: "";
        clear: both;
    }

.l-block--breaking-mg {
    margin-right: -webkit-calc(50% - 50vw);
    margin-left: -webkit-calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}

.l-block--breaking-pd {
    padding-right: -webkit-calc(50vw - 50%);
    padding-left: -webkit-calc(50vw - 50%);
    padding-right: calc(50vw - 50%);
    padding-left: calc(50vw - 50%);
}

.l-block__inner {
    position: relative;
    width: 100%;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

.l-block__content {
    padding: 40px 0 80px;
}

@media only screen and (max-width: 768px) {
    .l-block--breaking-mg {
        margin-right: -webkit-calc(50% - 50vw);
        margin-left: -webkit-calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        margin-left: calc(50% - 50vw);
    }

    .l-block--breaking-pd {
        padding-right: -webkit-calc(50vw - 50%);
        padding-left: -webkit-calc(50vw - 50%);
        padding-right: calc(50vw - 50%);
        padding-left: calc(50vw - 50%);
    }

    .l-block__content {
        padding: 30px 0 60px;
    }
}

.l-flex {
    position: relative;
    width: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
}

.l-flex--wrap {
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.l-flex--left {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
}

.l-flex--right {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
}

.l-flex--center {
    flex-direction: row;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
}

.l-flex--spb {
    -webkit-box-pack: justify;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

.l-flex--spa {
    -ms-flex-pack: distribute;
    -webkit-justify-content: space-around;
    justify-content: space-around;
}

.l-flex--v-top {
    -webkit-box-align: start;
    -ms-flex-align: start;
    -webkit-align-items: flex-start;
    align-items: flex-start;
}

.l-flex--v-center {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}

.l-flex--v-bottom {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    align-items: flex-end;
}

.l-flex--reverse {
    -webkit-box-direction: reverse;
    /*--- Androidブラウザ用 ---*/
    -webkit-flex-direction: row-reverse;
    /*--- safari（PC）用 ---*/
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.l-flex__elem, .l-flex__elem--blank {
    position: relative;
    /*
		-webkit-box-flex: 1;
		-ms-flex: 1;
		flex: 1;
		*/
    -webkit-flex-basis: 0;
    -ms-flex-basis: 0;
    flex-basis: 0;
    -webkit-flex-grow: 1;
    flex-grow: 1;
    min-width: 1px;
    max-width: 100%;
}

.l-flex__elem-inline {
    position: relative;
    /*
			-webkit-box-flex: 1;
			-ms-flex: 1;
			flex: 1;
			*/
    -webkit-flex-basis: 0;
    -ms-flex-basis: 0;
    flex-basis: 0;
    -webkit-flex-grow: 1;
    flex-grow: 1;
    min-width: 1px;
    max-width: 100%;
}

.l-flex__elem--sep {
    width: 100% !important;
}

.l-flex__elem--inheirt {
    -webkit-box-flex: inherit;
    -webkit-flex: inherit;
    -ms-flex: inherit;
    flex: inherit;
}

@media only screen and (max-width: 768px) {
    .l-flex__elem, .l-flex__elem--blank {
        -webkit-box-flex: 0 0 100%;
        -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }

    .l-flex__spAuto {
        -webkit-box-flex: auto;
        -webkit-flex: auto;
        -ms-flex: auto;
        flex: auto;
    }
}

.l-flexMargin {
    /* -- マージンをセットする --*/
    margin-left: 40px;
}

    .l-flexMargin:first-child {
        margin-left: 0;
    }

@media only screen and (max-width: 768px) {
    .l-flexMargin {
        margin-left: 0;
        margin-top: 40px;
    }

        .l-flexMargin:first-child {
            margin-top: 0;
        }
}

.l-flexMargin--sep {
    margin-top: 40px;
}

    .l-flexMargin--sep + * {
        margin-left: 0;
    }

@media only screen and (max-width: 768px) {
    .l-flexMargin--sep {
        margin-top: 0;
    }
}

.l-flexMargin--blank {
    margin-left: 40px;
}

    .l-flexMargin--blank:first-child {
        margin-left: 0;
    }

@media only screen and (max-width: 768px) {
    .l-flexMargin--blank {
        margin-left: 0;
        margin-top: 40px;
    }

        .l-flexMargin--blank:first-child {
            margin-top: 0;
        }
}

@media only screen and (max-width: 768px) {
    .l-flexMargin--blank {
        margin-top: 0;
    }
}

.l-flexMargin--w200 {
    /* px % どちらでも可 */
    -webkit-box-flex: 0 0 200px !important;
    -webkit-flex: 0 0 200px !important;
    -ms-flex: 0 0 200px !important;
    flex: 0 0 200px !important;
    max-width: 200px !important;
    /*
    @media only screen and (max-width: 768px) {
        -webkit-box-flex: none;
        -ms-flex: none;
        flex: none;
        width: $fxw;
        float: left;
    }
    */
    /* @include block__elem--width( ( 200 / 1000 ) * 100% ); */
}

@media only screen and (max-width: 768px) {
    .l-order1 {
        -webkit-box-ordinal-group: 1;
        -ms-flex-order: 1;
        -webkit-order: 1;
        order: 1;
    }

    .l-order2 {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 2;
        -webkit-order: 2;
        order: 2;
    }

    .l-order3 {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 3;
        -webkit-order: 3;
        order: 3;
    }

    .l-order4 {
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 4;
        -webkit-order: 4;
        order: 4;
    }

    .l-order5 {
        -webkit-box-ordinal-group: 5;
        -ms-flex-order: 5;
        -webkit-order: 5;
        order: 5;
    }
}

.l-modal {
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 9999;
    left: 0;
    top: 0;
}

.l-modal__bg {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-color: rgba(255, 255, 255, 0.9);
}

.l-modal__inner {
    position: relative;
}

/* -- object -- */
/* -- title -- */
.c-h1-header {
    display: inline-block;
    font-size: 46px;
    font-size: 4.6rem;
    font-weight: 200;
    line-height: 1.1;
    /* -- height: 50px -- */
    margin-bottom: 52px;
}

    .c-h1-header + .c-h2-header {
        margin: 0;
        margin-left: 1.5em;
        vertical-align: super;
        font-weight: 400;
    }

.c-h2-header {
    font-size: 28px;
    font-size: 2.8rem;
    font-weight: 400;
    line-height: 1.5;
    width: 100%;
}

.c-h2-cache {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.4;
    font-weight: 400;
    color: #626262;
    margin-bottom: 30px;
}

.c-h3-header {
    font-size: 19px;
    font-size: 1.9rem;
    color: #ff0000;
    line-height: 1.5;
}

* + .c-h3-header {
    margin-top: 70px;
}

.c-h4-osusume {
    font-size: 26px;
    font-size: 2.6rem;
    line-height: 1.4;
    margin-bottom: 40px;
    font-weight: 400;
}

.c-h4-header {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.4;
    margin-bottom: 5px;
    color: #626262;
    font-weight: 400;
}

.c-h5-header {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.1;
    margin-bottom: 1.5rem;
}

.c-h5-header--icon {
    color: #000;
    padding-left: 1em;
}

    .c-h5-header--icon:before {
        content: "■";
        color: #ea6056;
        margin-left: -1em;
    }

.c-h5-header--blue {
    font-size: 16px;
    font-size: 1.6rem;
    color: #ea6056;
    margin-bottom: 20px;
}

.c-hd-label {
    font-size: 20px;
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 5px;
}

.c-hd--center {
    text-align: center;
}

.c-link {
    display: inline-block;
}

    .c-link:before {
        content: "●";
    }

@media only screen and (max-width: 768px) {
    .c-h1-header {
        font-size: 28px;
        font-size: 2.8rem;
        letter-spacing: -0.05em;
        margin-top: 33px;
        margin-bottom: 33px;
    }

    .c-h2-header {
        font-size: 15px;
        font-size: 1.5rem;
    }

    .c-h2-cache {
        font-size: 18px;
        font-size: 1.8rem;
    }

    .c-h3-header {
        font-size: 22px;
        font-size: 2.2rem;
        margin-bottom: 10px;
    }

    * + .c-h3-header {
        margin-top: 60px;
    }

    .c-h4-header {
        font-size: 15px;
        font-size: 1.5rem;
        margin-bottom: 5px;
    }

    .c-h4-osusume {
        font-size: 20px;
        font-size: 2rem;
        margin-bottom: 24px;
    }

    .c-h5-header {
        font-size: 12px;
        font-size: 1.2rem;
        margin-bottom: 1.5rem;
    }

    .c-h5-header--blue {
        font-size: 12px;
        font-size: 1.2rem;
        margin-bottom: 10px;
    }

    .c-hd-label {
        font-size: 14px;
        font-size: 1.4rem;
        margin-bottom: 0;
    }
}

/* --------------------------- */
/* text */
.c-txt {
    line-height: 1.8em;
}

.c-txt--large {
    font-size: 18px;
    font-size: 1.8rem;
}

.c-txt--base {
    font-size: 16px;
    font-size: 1.6rem;
}

.c-txt--small {
    font-size: 14px;
    font-size: 1.4rem;
}

.c-txt + .c-txt {
    margin-top: 2em;
}

.c-title {
    font-size: 20px;
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
    color: #ea6056;
    margin-bottom: 30px;
}

.c-title--border {
    border-left: 4px solid #ea6056;
    padding-left: 10px;
    text-align: left;
    margin-bottom: 0;
    width: 500px;
    max-width: 100%;
}

.c-title + .p-lessonTitle--type {
    margin: 0;
    width: auto;
    margin-left: auto;
}

@media only screen and (max-width: 768px) {
    .c-title {
        font-size: 17px;
        font-size: 1.7rem;
    }

    .c-title--border {
        margin-bottom: 20px;
    }

    .c-title + .p-lessonTitle--type {
        width: 80%;
        margin: 0 0 30px auto;
    }
}

.c-title2 {
    font-size: 17px;
    font-size: 1.7rem;
    font-weight: bold;
    text-align: center;
    color: #ea6056;
    margin-bottom: 30px;
}

.copyright {
    font-size: 10px;
    font-size: 1rem;
    text-align: center;
}

.c-notice {
    font-weight: 200;
    font-size: 12px;
    font-size: 1.2rem;
}

.c-linkTxt {
    color: #ea6056 !important;
    text-decoration: none;
    display: inline;
    line-height: 2;
}

.c-linkTxt--border {
    padding-bottom: 2px;
    border-bottom: 1px solid #ea6056 !important;
}

    .c-linkTxt--border:hover {
        border-bottom: none !important;
    }

.c-linkTxt2 {
    color: #434343 !important;
    text-decoration: none;
    display: inline;
    line-height: 2;
}

.c-linkTxt2--border {
    padding-bottom: 2px;
    border-bottom: 1px solid #434343 !important;
}

.c-bgc-base {
    background-color: #eeeeee;
}

.c-input-required {
    color: #ff0000;
    font-size: 20px;
    font-size: 2rem;
    margin-right: 5px;
    margin-top: 10px;
}

@media only screen and (max-width: 768px) {
    .c-input-required {
        font-size: 15px;
        font-size: 1.5rem;
    }
}

.c-cursor-pointer {
    cursor: pointer;
}

    .c-cursor-pointer:hover {
        background-color: #edf7fb !important;
    }

        .c-cursor-pointer:hover .c-linkTxt {
            border-bottom: 1px solid #ea6056 !important;
        }

        .c-cursor-pointer:hover .c-linkTxt--border {
            border-bottom: 1px solid #edf7fb !important;
        }

        .c-cursor-pointer:hover .c-linkTxt2 {
            border-bottom: 1px solid #434343 !important;
        }

        .c-cursor-pointer:hover .c-linkTxt2--border {
            border-bottom: 1px solid #edf7fb !important;
        }

    .c-cursor-pointer.hover-noevent {
        background-color: #fff !important;
    }

        .c-cursor-pointer.hover-noevent:nth-child(even) {
            background-color: #f8f8f8 !important;
        }

        .c-cursor-pointer.hover-noevent:hover {
            background-color: #fff;
        }

            .c-cursor-pointer.hover-noevent:hover .c-linkTxt {
                border-bottom: 1px solid #ea6056 !important;
            }

            .c-cursor-pointer.hover-noevent:hover .c-linkTxt--border {
                border-bottom: 1px solid #ea6056 !important;
            }

            .c-cursor-pointer.hover-noevent:hover .c-linkTxt2 {
                border-bottom: 1px solid #434343 !important;
            }

            .c-cursor-pointer.hover-noevent:hover .c-linkTxt2--border {
                border-bottom: 1px solid #434343 !important;
            }

.c-shadowWrap {
    background-color: #fff;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    border: 1px solid #d2d2d2;
    border-bottom: 5px solid #d2d2d2;
    padding: 20px;
}

/* -- foundation -- */
/* CSS Document */
/*----------------------------------------------------
	☆etc
----------------------------------------------------*/
/*----------------------------------------------------
    ☆component
----------------------------------------------------*/
/*----------------------------------------------------
    ☆margin
----------------------------------------------------*/
/*----------------------------------------------------
    ☆element size fix
----------------------------------------------------*/
/*----------------------------------------------------
    ☆position
----------------------------------------------------*/
/*----------------------------------------------------
    ☆border
----------------------------------------------------*/
/*----------------------------------------------------
    ☆button
----------------------------------------------------*/
/*----------------------------------------------------
    ☆animation
----------------------------------------------------*/
@keyframes arrowAnimLeft {
    0% {
        transform: translateX(0);
        opacity: 1;
    }

    50% {
        transform: translateX(-100%);
        opacity: 0;
    }

    50.1% {
        transform: translateX(100%);
        opacity: 0;
    }

    100% {
        transform: translateX(0%);
        opacity: 1;
    }
}

@keyframes arrowAnimLeft {
    0% {
        transform: translateX(0);
        opacity: 1;
    }

    50% {
        transform: translateX(100%);
        opacity: 0;
    }

    50.1% {
        transform: translateX(-100%);
        opacity: 0;
    }

    100% {
        transform: translateX(0%);
        opacity: 1;
    }
}

@keyframes arrowAnimTop {
    0% {
        transform: translateY(0);
        opacity: 1;
    }

    50% {
        transform: translateY(-100%);
        opacity: 0;
    }

    50.1% {
        transform: translateY(100%);
        opacity: 0;
    }

    100% {
        transform: translateY(0%);
        opacity: 1;
    }
}

@keyframes arrowAnimTop {
    0% {
        transform: translateY(0);
        opacity: 1;
    }

    50% {
        transform: translateY(-100%);
        opacity: 0;
    }

    50.1% {
        transform: translateY(100%);
        opacity: 0;
    }

    100% {
        transform: translateY(0%);
        opacity: 1;
    }
}

/* ------------------------------ */
/* -- FONT -- */
/* ------------------------------ */
/* -- Function -- */
/* --------------------------- */
/* media */
.c-media {
    line-height: 0;
}

.c-media--mw100 {
    max-width: 100%;
}

.c-media__image {
    /* -- img tags -- */
    width: 100%;
}

.c-media--video {
    position: relative;
    line-height: 0;
}

    .c-media--video:before {
        display: block;
        content: "";
        padding-top: 56.25%;
        pointer-events: none;
    }

.c-media--video__vid {
    /* -- video tags and Youtube iframe -- */
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}

/* --------------------------- */
/* alerts */
.c-badge {
    display: inline-block;
    padding: .25em .4em;
    font-size: 75%;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
}

.c-badge--round {
    border-radius: .5rem;
}

.c-badge--secondary {
    color: #fff;
    background-color: #868e96;
}

.c-badge__bakudan:after {
    content: "";
    position: absolute;
    width: 98px;
    height: 97px;
    background: url("../images/common/bakudan-icon.png");
    background-size: 100%;
    left: -18px;
    top: -32px;
}

.c-badge__bakudan--center:after {
    top: 12px;
}

@media only screen and (max-width: 1080px) {
    .c-badge__bakudan:after {
        width: 9.07407vw;
        height: 8.98148vw;
    }
}

@media only screen and (max-width: 768px) {
    .c-badge__bakudan:after {
        width: 55px;
        height: 55px;
        left: -9px;
        top: -13px;
    }
}

/* --------------------------- */
/* button component */
.c-btn {
    display: inline-block;
    position: relative;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.25;
    font-weight: 400;
    /* 16px × 1.25 = 高さ20px */
    /* padding .5rem × 2 = 10px */
    /* border 1px × 2 = 2px */
    /* 合計 30px */
    padding: 0.5rem 0.75rem;
    border: 1px solid transparent;
    transition: all .15s ease-in-out;
    background-color: inherit;
    background-color: #fff;
}

    .c-btn:hover {
        text-decoration: none;
    }

.c-btn--text:hover {
    text-decoration: none;
}

.c-btn--img {
    transition: filter 0.2s;
}

    .c-btn--img:hover {
        -webkit-filter: sepia(110%);
        -moz-filter: sepia(110%);
        -o-filter: sepia(110%);
        -ms-filter: sepia(110%);
        filter: brightness(110%);
    }

.c-btn--base {
    border-style: none;
    font-size: 16px;
    font-size: 1.6rem;
    position: relative;
    display: block;
    width: 100%;
    height: 50px;
    line-height: 50px;
    /*-webkit-border-radius: 21px;
		border-radius: 21px;*/
    color: #fff !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.32);
    font-weight: bold;
    background-color: #ec1651;
    text-align: center;
    text-decoration: none;
    box-shadow: 0px 3px 0px 0px #b2113d;
}

    .c-btn--base:after {
        content: "";
        position: absolute;
        width: 6px;
        height: 6px;
        top: 0;
        bottom: 0;
        margin: auto;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        right: 15px;
    }

    .c-btn--base:hover {
        text-decoration: none;
        transform: translateY(3px);
        box-shadow: 0px 0px 0px 0px #b2113d;
        -webkit-filter: sepia(120%);
        -moz-filter: sepia(120%);
        -o-filter: sepia(120%);
        -ms-filter: sepia(120%);
        filter: brightness(120%);
    }

@media only screen and (max-width: 768px) {
    .c-btn--base {
        font-size: 12px;
        font-size: 1.2rem;
        width: 100%;
        height: 36px;
        line-height: 36px;
        /*-webkit-border-radius: 14px;
			border-radius: 14px;*/
        font-weight: 500;
    }

        .c-btn--base:after {
            right: 12px;
        }
}

.c-btn--cart {
    color: #fff !important;
    width: 202px;
    height: 45px;
    line-height: 45px;
    padding-left: 34px;
    box-sizing: border-box;
    text-decoration: none;
    font-weight: 500;
    background: url("../images/common/btn-cart.png");
    background-size: 100%;
}

    .c-btn--cart:hover {
        text-decoration: none;
        opacity: 0.7;
    }

@media only screen and (max-width: 1080px) {
    .c-btn--cart-rsp {
        width: 18.7037vw;
        height: 4.16667vw;
        line-height: 4.16667vw;
        font-size: 1.48148vw;
        padding-left: 3.14815vw;
    }
}

.c-btn--back {
    display: block;
    position: absolute;
    width: 66px;
    right: 23px;
    top: -145px;
}

    .c-btn--back.static {
        position: fixed;
        bottom: 100px;
        top: auto;
    }

    .c-btn--back:after {
        content: "";
        position: absolute;
        width: 53px;
        height: 12px;
        background: url("../images/common/btn-backtop-txt.png") left top no-repeat;
        background-size: 100%;
        left: 9px;
        bottom: -22px;
    }

.c-btn--back__arrow {
    width: 66px;
    height: 66px;
    border: 2px solid #ff0000;
    box-sizing: border-box;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    overflow: hidden;
    background-color: #fff;
}

    .c-btn--back__arrow:hover img {
        animation-name: arrowAnimTop;
        animation-duration: 0.3s;
        animation-timing-function: ease-out;
    }

@media only screen and (max-width: 768px) {
    .c-btn--back {
        width: 40px;
        right: 3.75%;
        top: -65px;
    }

        .c-btn--back:after {
            width: 31px;
            height: 8px;
            left: 5px;
            bottom: -15px;
            background-size: 100%;
        }

    .c-btn--back__arrow {
        width: 36px;
        height: 36px;
    }
}

.c-btn--readmore {
    position: absolute;
    display: block;
    width: 200px;
    height: 40px;
    line-height: 40px;
    left: 0;
    right: 0;
    margin: auto;
    bottom: 0;
    -webkit-border-radius: 20px;
    border-radius: 20px;
    color: #fff !important;
    font-weight: bold;
    background-color: #ff0000;
    text-align: center;
    text-decoration: none;
    transition: all 0.3s;
    box-shadow: 0px 3px 0px 0px #aaaaaa;
}

    .c-btn--readmore:after {
        content: "";
        width: 8px;
        height: 8px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        right: 20px;
    }

    .c-btn--readmore:hover {
        text-decoration: none;
        /*
			color: #fff;
			background-color: $COL_RED;
			&:after {
				border-color: #fff;
			}
			*/
    }

@media only screen and (max-width: 1080px) {
    .c-btn--readmore {
        font-size: 1.48148vw;
        width: 18.51852vw;
        height: 3.7037vw;
        line-height: 3.7037vw;
        -webkit-border-radius: 1.85185vw;
        border-radius: 1.85185vw;
    }
}

.c-btn--readmore-large {
    position: relative;
    margin: 0 auto;
    width: 290px;
    height: 60px;
    line-height: 60px;
    border-radius: 30px;
    font-size: 18px;
    font-size: 1.8rem;
    cursor: pointer;
}

    .c-btn--readmore-large:after {
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg);
    }

.c-btn--readmore__off {
    display: none;
}

@media only screen and (max-width: 768px) {
    .c-btn--readmore {
        width: 140px;
        height: 28px;
        line-height: 28px;
        border-radius: 14px;
        font-size: 10px;
        font-size: 1rem;
    }

        .c-btn--readmore:after {
            content: "";
            width: 6px;
            height: 6px;
            border-top: 2px solid #fff;
            border-right: 2px solid #fff;
            -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
            right: 15px;
        }

    .c-btn--readmore-large {
        width: 240px;
        height: 50px;
        line-height: 50px;
        border-radius: 25px;
    }
}

.c-btn:hover {
    opacity: 0.7;
}

.c-btn span {
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: normal;
}

.c-btn--center {
    display: table;
    margin: 0 auto;
}

.c-btn.is-disabled {
    opacity: .65;
    pointer-events: none;
}

.c-btn--block {
    display: block;
    width: 100%;
}

.c-btn--round {
    -webkit-border-radius: 0.5rem;
    -moz-border-radius: 0.5rem;
    border-radius: 0.5rem;
}

.c-btn--arrow {
    position: relative;
    /*
		&:hover:after {
			border-color: #fff;
		}
		*/
}

    .c-btn--arrow:after {
        content: "";
        width: 6px;
        height: 6px;
        border-top: 2px solid #ff0000;
        border-right: 2px solid #ff0000;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
    }

.c-btn--arrow-left {
    padding-left: 16px;
}

    .c-btn--arrow-left:after {
        left: 0;
    }

.c-btn--arrow-right {
    padding-right: 16px;
}

    .c-btn--arrow-right:after {
        right: 0;
    }

.c-btn--arrow-center:before {
    left: 0;
    right: 0;
}

.c-btn--arrow-next:after {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.c-btn--arrow-prev:after {
    -webkit-transform: rotate(225deg);
    transform: rotate(225deg);
}

.c-btn--arrow-up:after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.c-btn--arrow-down:after {
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}

.c-btn--arrow:hover {
    text-decoration: none;
}

.c-btn--primary {
    color: #fff;
    background-color: #007bff;
    border-color: #007bff;
}

.c-btn--exlink {
    border: 1px solid #ea6056;
    background-color: #fff !important;
    color: #ea6056;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: normal;
    height: auto;
    line-height: 1.4 !important;
    padding-top: 7px !important;
    padding-bottom: 7px !important;
}

    .c-btn--exlink:after {
        border-top: 1px solid #ea6056 !important;
        border-right: 1px solid #ea6056 !important;
    }

@media only screen and (max-width: 768px) {
    .c-btn--exlink {
        font-size: 12px;
        font-size: 1.2rem;
    }
}

.c-btn--card:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    left: -20px;
    top: -20px;
    padding: 20px;
    box-shadow: 0px 0px 10px 0px #a6a6a6;
    border-radius: 8px;
    opacity: 0;
    transition: opacity 0.3s;
}

.c-btn--card:hover {
    text-decoration: none;
}

    .c-btn--card:hover p {
        color: #ff0000;
    }

    .c-btn--card:hover > .p-idxCard__img img {
        transform: scale(1.1);
    }

    .c-btn--card:hover > .c-btn--readmore {
        text-decoration: none;
        color: #fff;
        background-color: #ff0000;
    }

        .c-btn--card:hover > .c-btn--readmore:after {
            border-color: #fff;
        }

    .c-btn--card:hover:before {
        opacity: 1;
    }

.c-btn--default {
    background-color: #ea6056;
    color: #fff;
    border: 1px solid white;
}

.c-btn--gray {
    background-color: #aaaaaa;
    color: #fff;
}

.c-btn--white {
    background-color: #fff;
    color: #ea6056;
}

.c-linkbtn {
    line-height: 2em;
    /*border-bottom: 1px solid $COL_BLUE;*/
}

.c-linkbtn--arrow {
    display: inline-block;
    position: relative;
    vertical-align: middle;
    padding-left: 1.5rem;
    box-sizing: border-box;
    padding-bottom: 2px;
}

    .c-linkbtn--arrow:before {
        content: "";
        width: 5px;
        height: 5px;
        border-top: 1px solid #000;
        border-right: 1px solid #000;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        left: 0;
    }

.c-btn-hover {
    position: relative;
    display: block;
}

    .c-btn-hover:after {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        background-color: #fff;
        left: 0;
        top: 0;
        opacity: 0;
        transition: opacity 0.2s;
    }

    .c-btn-hover:hover:after {
        opacity: 0.5;
    }

.hover-animation {
    /*
	overflow: hidden;
	*/
}

    .hover-animation img {
        /*transform: scale(1);*/
        transition: all 0.6s ease;
    }

    .hover-animation:hover img {
        /*transform: scale(1.1);*/
        opacity: 0.7;
    }

/* --------------------------- */
/* list */
.c-list {
    position: relative;
    width: 100%;
}

.c-list__elem {
    position: relative;
    width: 100%;
}

.c-counterList {
    counter-reset: counter01;
}

.c-counterList__item {
    position: relative;
    /*padding-left: 30px;*/
    background-clip: padding-box;
}

    .c-counterList__item:before {
        /*counter-increment: counter01;
        content: counter(counter01) ".";*/
        position: absolute;
        /*left: 13px;*/
        left:5px;
        margin: auto;
        line-height: 2;
    }

.c-counterList02 {
    counter-reset: counter02;
}

.c-counterList02__item {
    padding-left: 30px;
    position: relative;
    display: block;
}

    .c-counterList02__item:before {
        counter-increment: counter02;
        content: counter(counter02, decimal-leading-zero);
        position: absolute;
        left: 0;
        margin: auto;
    }

.c-counterList02.p-idxListTable tbody th {
    font-weight: normal;
    font-size: 15px;
    font-size: 1.5rem;
    padding-left: 40px;
}

.c-diskList {
    margin-top: 5px;
}

.c-diskList__item {
    position: relative;
    padding-left: 15px;
}

    .c-diskList__item:before {
        content: '・';
        position: absolute;
        left: 0;
    }

    .c-diskList__item:nth-child(n+2) {
        margin-top: 5px;
    }

/* --------------------------- */
/* alerts */
.c-alert {
    padding: .75rem 1.25rem;
    border: 1px solid transparent;
    -webkit-border-radius: 0.25rem;
    -moz-border-radius: 0.25rem;
    border-radius: 0.25rem;
}

.c-alert--primary {
    color: #004085;
    background-color: #cce5ff;
    border-color: #b8daff;
}

    .c-alert--primary hr {
        border-top-color: #9fcdff;
    }

    .c-alert--primary .alert-link {
        color: #002752;
    }

.c-alert--secondary {
    color: #464a4e;
    background-color: #e7e8ea;
    border-color: #dddfe2;
}

    .c-alert--secondary hr {
        border-top-color: #cfd2d6;
    }

    .c-alert--secondary .alert-link {
        color: #2e3133;
    }

.c-alert--success {
    color: #155724;
    background-color: #d4edda;
    border-color: #c3e6cb;
}

    .c-alert--success hr {
        border-top-color: #b1dfbb;
    }

    .c-alert--success .alert-link {
        color: #0b2e13;
    }

.c-alert--danger {
    color: #721c24;
    background-color: #f8d7da;
    border-color: #f5c6cb;
}

    .c-alert--danger hr {
        border-top-color: #f1b0b7;
    }

    .c-alert--danger .alert-link {
        color: #491217;
    }

.c-alert--warning {
    color: #856404;
    background-color: #fff3cd;
    border-color: #ffeeba;
}

    .c-alert--warning hr {
        border-top-color: #ffe8a1;
    }

    .c-alert--warning .alert-link {
        color: #533f03;
    }

.c-alert--info {
    color: #0c5460;
    background-color: #d1ecf1;
    border-color: #bee5eb;
}

    .c-alert--info hr {
        border-top-color: #abdde5;
    }

    .c-alert--info .alert-link {
        color: #062c33;
    }

.c-alert--light {
    color: #818182;
    background-color: #fefefe;
    border-color: #fdfdfe;
}

    .c-alert--light hr {
        border-top-color: #ececf6;
    }

    .c-alert--light .alert-link {
        color: #686868;
    }

.c-alert--dark {
    color: #1b1e21;
    background-color: #d6d8d9;
    border-color: #c6c8ca;
}

    .c-alert--dark hr {
        border-top-color: #b9bbbe;
    }

    .c-alert--dark .alert-link {
        color: #040505;
    }

/* --------------------------- */
/* card */
.c-card {
    margin-left: 45px;
    background-color: #fff;
    border: 0;
    padding: 0;
    box-sizing: border-box;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    line-height: 0;
}

    .c-card:first-child {
        margin-left: 0;
    }

@media only screen and (max-width: 768px) {
    .c-card {
        margin-left: 0;
        margin-top: 45px;
    }

        .c-card:first-child {
            margin-top: 0;
        }
}

.c-card--frame {
    padding: 20px;
}

    .c-card--frame:hover {
        box-shadow: 0px 0px 10px 0px #a6a6a6;
    }

.c-card__thumb, .c-card__thumb-pd {
    width: 100%;
}

    .c-card__thumb img, .c-card__thumb-pd img {
        width: 100%;
    }

.c-card__thumb-pd {
    padding: 0 0 0 0;
    box-sizing: border-box;
}

.c-card__body {
    padding: 20px 15px 85px 15px;
    line-height: 1.5;
}

@media only screen and (max-width: 768px) {
    .c-card {
        margin-top: 25px;
        border-bottom: 1px solid #cdcdcd;
        padding-bottom: 78px;
    }

    .c-card__body {
        margin-top: 15px;
        padding-bottom: 0;
    }

    .c-card--empty {
        display: none;
    }
}

.c-card--parallel {
    line-height: 0;
}

    .c-card--parallel + .c-card--parallel {
        margin-top: 15px;
        border-top: 1px solid #ccc;
        padding-top: 15px;
    }

.c-card--parallel__thumb img {
    width: 100%;
}

.c-card--parallel__thumb + .c-card--parallel__body {
    margin-left: 40px;
}

.c-card--parallel__body {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    line-height: 1.5;
}

    .c-card--parallel__body + .c-card--parallel__thumb {
        margin-left: 40px;
    }

@media only screen and (max-width: 768px) {
    .c-card--parallel__thumb {
        /*flex: 0 0 100% !important;
				max-width: 100% !important;*/
        width: 54px;
    }

        .c-card--parallel__thumb + .c-card--parallel__body {
            margin-left: 24px;
            margin-top: 0;
        }

    .c-card--parallel__body + .c-card--parallel__thumb {
        margin-left: 24px;
        margin-top: 0;
    }
}

.c-cardW100 {
    padding: 50px 24px 55px 24px;
}

.c-cardW100__flexbox {
    border: 1px solid #e1dedf;
    background-color: #fff;
    padding: 3px;
    box-sizing: border-box;
}

    .c-cardW100__flexbox + .c-cardW100__flexbox {
        margin-top: 27px;
    }

.c-cardW100__thumbElem {
    /* px % どちらでも可 */
    -webkit-box-flex: 0 0 53.22581% !important;
    -webkit-flex: 0 0 53.22581% !important;
    -ms-flex: 0 0 53.22581% !important;
    flex: 0 0 53.22581% !important;
    max-width: 53.22581% !important;
    /*
    @media only screen and (max-width: 768px) {
        -webkit-box-flex: none;
        -ms-flex: none;
        flex: none;
        width: $fxw;
        float: left;
    }
    */
}

.c-cardW100__textElem {
    /* px % どちらでも可 */
    -webkit-box-flex: 0 0 46.77419% !important;
    -webkit-flex: 0 0 46.77419% !important;
    -ms-flex: 0 0 46.77419% !important;
    flex: 0 0 46.77419% !important;
    max-width: 46.77419% !important;
    /*
    @media only screen and (max-width: 768px) {
        -webkit-box-flex: none;
        -ms-flex: none;
        flex: none;
        width: $fxw;
        float: left;
    }
    */
    background-color: #fafafa;
    padding: 35px 20px 60px 20px;
    box-sizing: border-box;
}

.c-cardW100__textElem-fmy {
    padding: 18px 20px 20px 20px;
}

.c-cardW100__tab {
    color: #fff;
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 25px;
    padding: 0 10px;
    white-space: nowrap;
    position: absolute;
    left: -4px;
    top: -9px;
}

    .c-cardW100__tab:after {
        content: "";
        position: absolute;
        width: 6px;
        height: 6px;
        right: -6px;
        top: 0;
        background: url("../images/common/idx-tab-frame.png");
    }

.c-cardW100__tab--orange {
    background-color: #ff5400;
}

.c-cardW100__tab--red {
    background-color: #ad0000;
}

.c-cardW100__tab-min {
    left: -1px;
    top: -5px;
    font-size: 13px;
    font-size: 1.3rem;
}

.c-cardW100__label {
    font-size: 22px;
    font-size: 2.2rem;
    color: #ff0000;
    margin-bottom: 10px;
    line-height: 1.4;
    font-weight: 600;
    letter-spacing: -0.07em;
}

.c-cardW100__label-b {
    font-size: 20px;
    font-size: 2rem;
    margin-bottom: 10px;
    line-height: 1.4;
    font-weight: 500;
    letter-spacing: -0.07em;
}

.c-cardW100__detail {
    font-size: 14px;
    font-size: 1.4rem;
    margin-bottom: 25px;
}

.c-cardW100__link {
    font-size: 14px;
    font-size: 1.4rem;
}

.c-cardW100__cartBtn {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    bottom: 15px;
}

.c-cardW100__readmore {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    bottom: 23px;
}

@media only screen and (max-width: 1080px) {
    .c-cardW100__tab {
        font-size: 1.38889vw;
        line-height: 2.31481vw;
    }

    .c-cardW100__tab-min {
        font-size: 1.2037vw;
    }

    .c-cardW100__textElem {
        padding: 3.24074vw 1.85185vw 6.48148vw 1.85185vw;
        box-sizing: border-box;
    }

    .c-cardW100__textElem-fmy {
        padding: 1.66667vw 1.85185vw 1.85185vw 1.85185vw;
        box-sizing: border-box;
    }

    .c-cardW100__label {
        font-size: 2.03704vw;
        margin-bottom: 0.92593vw;
    }

    .c-cardW100__label-b {
        font-size: 1.85185vw;
        margin-bottom: 0.92593vw;
    }

    .c-cardW100__detail {
        font-size: 1.2963vw;
        margin-bottom: 2.31481vw;
    }

    .c-cardW100__link {
        font-size: 1.2963vw;
    }

    .c-cardW100__readmore {
        bottom: 2.12963vw;
    }
}

@media only screen and (max-width: 768px) {
    .c-cardW100 {
        padding: 28px 3.75% 20px 3.75%;
    }

    .c-cardW100__thumbElem {
        /* px % どちらでも可 */
        -webkit-box-flex: 0 0 100% !important;
        -webkit-flex: 0 0 100% !important;
        -ms-flex: 0 0 100% !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
        /*
    @media only screen and (max-width: 768px) {
        -webkit-box-flex: none;
        -ms-flex: none;
        flex: none;
        width: $fxw;
        float: left;
    }
    */
    }

    .c-cardW100__textElem {
        /* px % どちらでも可 */
        -webkit-box-flex: 0 0 100% !important;
        -webkit-flex: 0 0 100% !important;
        -ms-flex: 0 0 100% !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
        /*
    @media only screen and (max-width: 768px) {
        -webkit-box-flex: none;
        -ms-flex: none;
        flex: none;
        width: $fxw;
        float: left;
    }
    */
        background-color: #fafafa;
        padding: 35px 20px 60px 20px;
        box-sizing: border-box;
    }

    .c-cardW100__textElem-fmy {
        padding: 10px 10px 73px 10px;
    }

    .c-cardW100__tab {
        font-size: 11px;
        font-size: 1.1rem;
        line-height: 18px;
    }

    .c-cardW100__tab-min {
        font-size: 11px;
        font-size: 1.1rem;
    }

    .c-cardW100__label {
        font-size: 15px;
        font-size: 1.5rem;
        margin-bottom: 4px;
    }

    .c-cardW100__label-b {
        font-size: 13px;
        font-size: 1.3rem;
        margin-bottom: 4px;
        font-weight: 600;
    }

    .c-cardW100__detail {
        font-size: 12px;
        font-size: 1.2rem;
        margin-bottom: 4px;
    }

    .c-cardW100__link {
        font-size: 12px;
        font-size: 1.2rem;
    }

    .c-cardW100__readmore {
        bottom: 27px;
    }
}

.c-cardPickup {
    padding: 53px 0 70px 0;
}

.c-cardPickup__head {
    margin-bottom: 35px;
}

.c-cardPickup__h2 {
    position: relative;
    font-size: 30px;
    font-size: 3rem;
    padding-right: 22px;
    margin-right: 20px;
    line-height: 50px;
}

    .c-cardPickup__h2:after {
        content: "";
        position: absolute;
        width: 2px;
        height: 50px;
        background-color: #ff0000;
        right: 0;
        top: 0;
    }

.c-cardPickup__h2cache {
    font-size: 17px;
    font-size: 1.7rem;
}

.c-cardPickup__elem {
    border: 1px solid #e1dedf;
    background-color: #f6f6f6;
    box-shadow: 0 0 0 3px #fff inset;
    padding: 3px;
    box-sizing: border-box;
    margin: 0;
}

    .c-cardPickup__elem + .c-cardPickup__elem {
        margin-left: 20px;
    }

.c-cardPickup__elem--sep {
    margin-top: 15px;
}

.c-cardPickup__elem--empty {
    visibility: hidden;
}

.l-flex__elem--sep + .c-cardPickup__elem {
    margin-left: 0;
}

.c-cardPickup__body {
    padding-bottom: 50px;
}

.c-cardPickup__label {
    font-size: 22px;
    font-size: 2.2rem;
    font-weight: 600;
    color: #ff0000;
    margin-bottom: 14px;
    line-height: 1.5;
    letter-spacing: -0.06em;
}

.c-cardPickup__label-m {
    font-size: 18px;
    font-size: 1.8rem;
    margin-bottom: 9px;
}

.c-cardPickup__cache {
    font-size: 20px;
    font-size: 2rem;
    font-weight: 500;
    color: #000;
    margin-bottom: 13px;
    line-height: 1.5;
    letter-spacing: -0.06em;
}

.c-cardPickup__cache-m {
    font-size: 16px;
    font-size: 1.6rem;
}

.c-cardPickup__txt {
    font-size: 14px;
    font-size: 1.4rem;
    margin-bottom: 10px;
    line-height: 1.5;
}

.c-cardPickup__link {
    font-size: 14px;
    font-size: 1.4rem;
    display: block;
    text-align: right;
}

.c-cardPickup__linkArrow {
    font-size: 14px;
    font-size: 1.4rem;
    position: absolute;
    right: 26px;
    bottom: 25px;
    padding-right: 10px;
    line-height: 1.2;
}

    .c-cardPickup__linkArrow:after {
        right: 0;
    }

.c-cardPickup__cartBtn {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    bottom: 28px;
}

@media only screen and (max-width: 1080px) {
    .c-cardPickup__h2 {
        font-size: 2.77778vw;
        line-height: 4.62963vw;
    }

        .c-cardPickup__h2:after {
            height: 4.62963vw;
        }

    .c-cardPickup__cache {
        font-size: 1.57407vw;
    }

    .c-cardPickup__label {
        font-size: 2.03704vw;
        margin-bottom: 0.92593vw;
    }

    .c-cardPickup__txt {
        font-size: 1.2963vw;
        margin-bottom: 0.92593vw;
    }

    .c-cardPickup__link {
        font-size: 1.2963vw;
    }

    .c-cardPickup__linkArrow {
        font-size: 1.2963vw;
    }
}

@media only screen and (max-width: 768px) {
    .c-cardPickup {
        padding: 20px 0;
    }

    .c-cardPickup__head {
        margin-bottom: 15px;
    }

    .c-cardPickup__h2 {
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 4.62963vw;
        text-align: center;
        padding: 0;
        margin: 0 0 10px 0;
        width: 100%;
    }

        .c-cardPickup__h2:after {
            content: none;
        }

    .c-cardPickup__h2cache {
        font-size: 11px;
        font-size: 1.1rem;
        width: 100%;
        text-align: center;
        margin-bottom: 0;
    }

    .c-cardPickup__elem {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-box;
        display: -webkit-flexbox;
        display: -moz-flexbox;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: flex;
    }

        .c-cardPickup__elem + .c-cardPickup__elem {
            margin-left: 0;
            margin-top: 13px;
        }

    .c-cardPickup__elem--sep {
        margin-top: 13px;
    }

    .c-cardPickup__elem--empty {
        display: none;
    }

    .c-cardPickup__thumb {
        /* px % どちらでも可 */
        -webkit-box-flex: 0 0 46.55172% !important;
        -webkit-flex: 0 0 46.55172% !important;
        -ms-flex: 0 0 46.55172% !important;
        flex: 0 0 46.55172% !important;
        max-width: 46.55172% !important;
        /*
    @media only screen and (max-width: 768px) {
        -webkit-box-flex: none;
        -ms-flex: none;
        flex: none;
        width: $fxw;
        float: left;
    }
    */
    }

    .c-cardPickup__body {
        /* px % どちらでも可 */
        -webkit-box-flex: 0 0 53.44828% !important;
        -webkit-flex: 0 0 53.44828% !important;
        -ms-flex: 0 0 53.44828% !important;
        flex: 0 0 53.44828% !important;
        max-width: 53.44828% !important;
        /*
    @media only screen and (max-width: 768px) {
        -webkit-box-flex: none;
        -ms-flex: none;
        flex: none;
        width: $fxw;
        float: left;
    }
    */
        padding: 14px 10px 37px 10px;
        box-sizing: border-box;
        margin-top: 0;
    }

    .c-cardPickup__label {
        font-size: 4.0625vw;
        margin-bottom: 6px;
    }

    .c-cardPickup__cache {
        display: none;
    }

    .c-cardPickup__txt {
        font-size: 3.125vw;
        margin-bottom: 0.92593vw;
    }

    .c-cardPickup__link {
        font-size: 3.125vw;
    }

    .c-cardPickup__linkArrow {
        font-size: 3.125vw;
        right: 19px;
        bottom: 18px;
        padding-right: 10px;
    }
}

/* ---------------------------- */
.p-idxBlock {
    padding-left: 24px !important;
    padding-right: 24px !important;
}

.p-idxBlock--main {
    max-height: 165px;
    height: 165px;
}

.p-idxBlock--status {
    background: url("../images/common/bg-01.png");
    padding: 7px 0;
    box-sizing: border-box;
}

.p-idxBlock--elearning {
    background-color: #00b6ec;
    border-bottom: 5px solid #16a8d3;
    box-sizing: border-box;
}

.p-idxBlock--assesment {
    background-color: #5bb92a;
    border-bottom: 5px solid #5faa38;
    box-sizing: border-box;
}

.p-idxBlock--community {
    background-color: #fa9300;
    border-bottom: 5px solid #de8c16;
    box-sizing: border-box;
}

.p-idxBlock--tips {
    padding: 35px 0 30px 0;
    background-color: #3b8dcb;
}

.p-idxBlock--news {
    padding: 35px 0 30px 0;
}

.p-idxBlock__inner {
    width: 1000px;
    max-width: 100%;
    margin: 0 auto;
}

@media only screen and (max-width: 768px) {
    .p-idxBlock--main {
        height: auto;
        max-height: 100%;
    }

    .p-idxBlock--status {
        padding: 8px 0;
        background-size: 10px 10px;
    }

    .p-idxBlock--elearning {
        border-bottom: 3px solid #16a8d3;
        flex: 1;
    }

    .p-idxBlock--assesment {
        border-bottom: 3px solid #5faa38;
    }

    .p-idxBlock--community {
        border-bottom: 3px solid #de8c16;
    }

    .p-idxBlock--tips {
        padding: 30px 0 74px 0;
    }

    .p-idxBlock--news {
        padding: 30px 0 30px 0;
    }
}

.p-idxStatus {
    font-size: 13px;
    font-size: 1.3rem;
    color: #434343;
    padding-left: 32px;
    line-height: 1.6;
    position: relative;
}

    .p-idxStatus:before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: 20px;
        height: 20px;
        background: url("../images/common/idx-status-icon.png") left top no-repeat;
    }

.p-idxStatus__btn {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
}

    .p-idxStatus__btn a {
        background-color: #aaaaaa;
        color: #fff !important;
        text-decoration: none;
        display: block;
        padding: 8px 30px;
        font-size: 13px;
        font-size: 1.3rem;
        height: 35px;
    }

@media only screen and (max-width: 768px) {
    .p-idxStatus {
        font-size: 10px;
        font-size: 1rem;
        padding-left: 28px;
    }

        .p-idxStatus:before {
            bottom: 0;
            margin: auto;
        }

    .p-idxStatus__btn a {
        font-size: 11px;
        font-size: 1.1rem;
        padding: 8px 10px;
    }
}

.p-idxMainIcon {
    position: relative;
    margin: 0 auto;
    width: 100%;
    max-width: 122px;
    max-height: 122px;
    top: 50%;
    transform: translateY(-50%);
    /*box-sizing: border-box;*/
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    transition: all 0.2s;
}

    .p-idxMainIcon:before {
        display: block;
        content: "";
        padding-top: 100%;
        pointer-events: none;
    }

.p-idxMainIcon__thumb {
    position: absolute;
    width: 43.2%;
    max-width: 108px;
    left: 0;
    right: 0;
    margin: auto;
    top: 23.2%;
}

.p-idxMainIcon__label {
    position: absolute;
    left: 0;
    top: 61.2%;
    width: 100%;
    font-size: 14px;
    font-size: 1.4rem;
    color: #fff;
    text-align: center;
}

.p-idxMainIcon--elearning {
    border: 0 solid #0064ec;
    background-color: #00adec;
}

.p-idxMainIcon--assesment {
    border: 0 solid #238b0e;
    background-color: #4eae2a;
}

.p-idxMainIcon--community {
    border: 0 solid #dd7800;
    background-color: #f78401;
}

@media only screen and (max-width: 768px) {
    .p-idxMainIcon {
        width: 78.125%;
        max-width: 78.125%;
        max-height: 500px;
    }

    .p-idxMainIcon__thumb {
        width: 43.2%;
        max-width: 54px;
        top: 23.2%;
    }

    .p-idxMainIcon__label {
        top: 58%;
        font-size: 2.60417vw;
    }

    .p-idxMainIcon--elearning {
        border: 5px solid #00b6ec;
    }

    .p-idxMainIcon--assesment {
        border: 5px solid #5cb92a;
    }

    .p-idxMainIcon--community {
        border: 5px solid #fa9300;
    }
}

.p-idxCheckIcon {
    position: relative;
    padding: 10px 0;
}

    .p-idxCheckIcon:before {
        content: "";
        position: absolute;
        bottom: 0;
        right: 0;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 0 45px 45px;
    }

    .p-idxCheckIcon:after {
        content: "";
        width: 10px;
        height: 10px;
        border-top: 4px solid #fff;
        border-right: 4px solid #fff;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        position: absolute;
        right: 8px;
        bottom: 10px;
    }

    .p-idxCheckIcon:hover .p-idxMainIcon--elearning {
        border: 10px solid #0064ec;
    }

    .p-idxCheckIcon:hover .p-idxMainIcon--assesment {
        border: 10px solid #238b0e;
    }

    .p-idxCheckIcon:hover .p-idxMainIcon--community {
        border: 10px solid #dd7800;
    }

.p-idxCheckIcon--elearning:before {
    border-color: transparent transparent #0092ec transparent;
}

.p-idxCheckIcon--assesment:before {
    border-color: transparent transparent #238c2a transparent;
}

.p-idxCheckIcon--community:before {
    border-color: transparent transparent #ec5506 transparent;
    border-width: 0 0 53px 50px;
}

.p-idxCheckIcon--community:after {
    right: 15px;
}

@media only screen and (max-width: 768px) {
    .p-idxCheckIcon {
        height: 30vw;
    }

        .p-idxCheckIcon:before {
            border-width: 0 0 30px 30px;
        }

        .p-idxCheckIcon:after {
            content: "";
            width: 6px;
            height: 6px;
            border-top: 2px solid #fff;
            border-right: 2px solid #fff;
            -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
            right: 6px;
            bottom: 6px;
        }
}

.p-idxTipsCarousel {
    background-color: #fff;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    border-bottom: 5px solid #d2d2d2;
    width: 800px;
    max-width: 80%;
    margin: 0 auto;
}

@media only screen and (max-width: 768px) {
    .p-idxTipsCarousel {
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        border-radius: 5px;
        border-bottom: 3px solid #d2d2d2;
        width: 100%;
        max-width: 80%;
    }
}

.p-idxTipsCarousel__section {
    padding: 30px 30px 30px 35px;
    box-sizing: border-box;
}

    .p-idxTipsCarousel__section .c-media {
        width: 28%;
    }

.p-idxTipsCarousel__txtArea {
    margin-right: 7%;
}

.p-idxTipsCarousel__h3 {
    font-size: 18px;
    font-size: 1.8rem;
    margin-bottom: 15px;
}

.p-idxTipsCarousel p {
    margin-bottom: 5px;
}

@media only screen and (max-width: 768px) {
    .p-idxTipsCarousel__label {
        left: -10px;
        top: 20px;
        line-height: 29px;
        padding: 0px 18px;
        font-size: 12px;
        font-size: 1.2rem;
    }

        .p-idxTipsCarousel__label:before {
            bottom: -6px;
            border-width: 0 10px 6px 0;
        }

    .p-idxTipsCarousel__section {
        padding: 20px;
    }

        .p-idxTipsCarousel__section .c-media {
            width: auto;
            margin: 0 auto;
            max-width: 80%;
        }

    .p-idxTipsCarousel__txtArea {
        padding-top: 0;
        margin-right: 0;
        margin-bottom: 20px;
    }

    .p-idxTipsCarousel__h3 {
        font-size: 13px;
        font-size: 1.3rem;
        margin-bottom: 5px;
    }

    .p-idxTipsCarousel p {
        margin-bottom: 0;
    }
}

.p-idxSectionTitle {
    font-size: 20px;
    font-size: 2rem;
    color: #fff;
    text-align: center;
    margin-bottom: 35px;
    position: relative;
}

    .p-idxSectionTitle span {
        position: relative;
        padding-left: 40px;
    }

        .p-idxSectionTitle span:before {
            content: "";
            position: absolute;
            left: 0;
            top: 3px;
        }

.p-idxSectionTitle--news span {
    color: #ea6056;
}

    .p-idxSectionTitle--news span:before {
        width: 29px;
        height: 24px;
        background: url("../images/common/idx-titleicon-news.png") left top no-repeat;
        background-size: cover;
    }

.p-idxSectionTitle--tips {
    margin-bottom: 30px;
}

    .p-idxSectionTitle--tips span {
        padding-left: 45px;
    }

        .p-idxSectionTitle--tips span:before {
            width: 29px;
            height: 24px;
            background: url("../images/common/idx-titleicon-tips.png") no-repeat center center;
            background-size: cover;
        }

@media only screen and (max-width: 768px) {
    .p-idxSectionTitle {
        font-size: 15px;
        font-size: 1.5rem;
        margin-bottom: 30px;
    }

        .p-idxSectionTitle:before {
            top: 10px;
        }

    .p-idxSectionTitle--news span {
        padding-left: 35px;
    }

        .p-idxSectionTitle--news span:before {
            width: 24px;
            height: 24px;
            background-size: 100%;
        }

    .p-idxSectionTitle--tips {
        margin-bottom: 30px;
    }

        .p-idxSectionTitle--tips span {
            padding-left: 35px;
        }

            .p-idxSectionTitle--tips span:before {
                width: 26px;
                height: 21px;
                background: url("../images/common/idx-titleicon-tips.png") no-repeat center center;
                background-size: cover;
            }
}

.p-idxSection {
    position: relative;
    background-color: #fff;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    border-bottom: 5px solid #d2d2d2;
    padding: 25px 32px 22px 125px;
    box-sizing: border-box;
    margin-top: 56px;
    margin-left: 30px;
}

    .p-idxSection:nth-of-type(1) {
        margin-top: 0;
    }

.p-idxSection__title {
    position: absolute;
    left: 0;
    top: -16px;
    width: 326px;
    height: 48px;
    line-height: 48px;
    color: #ea6056;
    background-color: #fff;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    padding-left: 50px;
    box-sizing: border-box;
}

.p-idxSection__description {
    color: #0e335f;
}

    .p-idxSection__description span {
        color: #ea6056;
    }

.p-idxSection__date {
    display: inline-block;
    margin-bottom: 5px;
}

.p-idxSection--news__title {
    width: 125px;
    height: 38px;
    left: -30px;
    top: 0;
    bottom: 0;
    margin: auto;
    line-height: 38px;
    padding-left: 0;
    color: #fff;
    text-align: center;
}

.p-idxSection--news__title--all {
    background-color: #ea6056;
}

.p-idxSection--news__title--assesment {
    background-color: #5bb92a;
}

.p-idxSection--news__title--elearning {
    background-color: #00b6ec;
}

.p-idxSection--news__title--community {
    background-color: #fa9300;
}

@media only screen and (max-width: 768px) {
    .p-idxSection {
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        border-radius: 5px;
        border-bottom: 3px solid #d2d2d2;
        padding: 33px 19px 25px 19px;
        margin-top: 32px;
        margin-left: 0;
    }

    .p-idxSection__title {
        top: -13px;
        bottom: auto;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        border-radius: 5px;
        padding-left: 0;
        left: 14.28571%;
    }

    .p-idxSection--news__title {
        width: 90px;
        left: -10px;
    }
}

.p-idxLink {
    font-size: 16px;
    font-size: 1.6rem;
    color: #fff !important;
    position: relative;
    display: block;
    font-weight: 200;
    text-decoration: none;
}

    .p-idxLink:after {
        content: "";
        width: 9px;
        height: 9px;
        border-top: 4px solid #fff;
        border-right: 4px solid #fff;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        position: absolute;
        top: 0;
        bottom: 0;
        margin: auto;
        margin-left: 5px;
    }

@media only screen and (max-width: 768px) {
    .p-idxLink {
        font-size: 11px;
        font-size: 1.1rem;
    }

        .p-idxLink:after {
            content: "";
            width: 5px;
            height: 5px;
            border-top: 2px solid #fff;
            border-right: 2px solid #fff;
            -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
            margin-left: 5px;
        }
}

.p-idxBtnTop {
    position: fixed;
    display: block;
    width: 54px;
    height: 54px;
    right: 30px;
    bottom: 10px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    background-color: #ea6056;
    float: right;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    z-index: 10;
}

.p-idxBtnTopContainer {
    display: none;
}

.p-idxBtnTop:after {
    content: "";
    width: 9px;
    height: 9px;
    border-top: 4px solid #fff;
    border-right: 4px solid #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

.p-idxBtnTop.static {
    position: absolute;
}

@media only screen and (max-width: 768px) {
    .p-idxBtnTop {
        width: 41px;
        height: 41px;
        right: 20px;
        margin: auto;
        bottom: 15px;
    }

        .p-idxBtnTop:after {
            content: "";
            width: 6px;
            height: 6px;
            border-top: 3px solid #fff;
            border-right: 3px solid #fff;
            -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
        }
}

.p-admin__title {
    padding: 0 20px 0;
}

    .p-admin__title.js-admin__title {
        position: fixed;
        background: url(../images/common/bg-03.jpg) repeat left top;
        width: 100%;
        z-index: 99;
        left: 0;
        padding-top: 40px;
    }

.p-admin__title__wrap {
    position: relative;
    width: 1000px;
    max-width: 100%;
    margin: 0 auto;
}

    .p-admin__title__wrap .c-title {
        line-height: 50px;
    }

.p-admin__title__btn {
    position: absolute;
    right: 0;
    top: 0;
}

    .p-admin__title__btn .c-btn {
        width: 105px;
        height: 50px;
    }

.p-admin__text {
    width: 655px;
    max-width: 100%;
    margin: 0 auto;
}

.p-admin .p-defaultBtn__wrap--1column {
    margin: 20px auto 40px;
}

    .p-admin .p-defaultBtn__wrap--1column .c-btn {
        font-size: 16px;
        font-size: 1.6rem;
    }

.p-admin .p-defaultBtn__wrap--5column .c-btn {
    width: 18%;
    font-size: 16px;
    font-size: 1.6rem;
    margin-left: 3%;
}

    .p-admin .p-defaultBtn__wrap--5column .c-btn:first-child {
        margin-left: 0;
    }

.p-admin--list__inner {
    padding-bottom: 200px;
}

.p-admin--list__text {
    padding-top: 80px;
}

.p-admin--list .p-idxBtnTop {
    bottom: 124px;
}

.p-bottomToggle {
    display: none;
    max-height: 100%;
    background-color: #fff;
    padding: 30px 20px;
}

.p-bottomToggle__inner {
    width: 1000px;
    max-width: 100%;
    margin: 0 auto;
    position: relative;
}

.p-bottomToggle .p-idxListTableContainer:nth-child(2n) {
    margin-left: 40px;
}

.p-bottomToggle .p-defaultBtn__wrap {
    margin-top: 30px;
    width: 470px;
}

    .p-bottomToggle .p-defaultBtn__wrap .c-btn {
        width: 225px;
    }

.p-bottomToggle .p-defaultBtn__wrap--1column {
    width: 225px;
}

.p-bottomToggle .p-defaultBtn__wrap .p-defaultBtn__btn--mini {
    width: 105px;
}

.p-bottomToggle .p-idxListTable__btn.toggle__btn {
    position: absolute;
    top: 0;
    bottom: auto;
    right: 0;
}

@media only screen and (max-width: 768px) {
    .p-bottomToggle {
        padding: 10px;
    }

        .p-bottomToggle .p-idxListTable th.bgc-gray {
            padding: 10px;
            font-size: 13px;
            font-size: 1.3rem;
        }

        .p-bottomToggle .p-idxListTable--addspace td:last-child {
            padding: 10px;
        }

        .p-bottomToggle .file_upload--l2 {
            position: relative;
        }

            .p-bottomToggle .file_upload--l2 label {
                margin: 50px 0 0 0;
                height: 35px;
                line-height: 35px;
            }

        .p-bottomToggle .p-defaultBtn__btn {
            font-size: 13px;
            font-size: 1.3rem;
        }
}

.p-login {
    width: 780px;
    max-width: 100%;
    left: 0;
    right: 0;
    margin: auto;
    padding-bottom: 40px;
}

.p-login__inner {
    width: 500px;
    max-width: 100%;
    margin: 0 auto;
}

.p-login__label {
    font-size: 15px;
    font-size: 1.5rem;
    display: inline-block;
    width: 8%;
    margin-right: 3%;
}

.p-login__labelimg {
    vertical-align: middle;
}

.p-login__unknown {
    text-align: center;
    margin-top: 5px;
}

.p-login__textInput {
    width: 100%;
    margin-left: auto;
    border: 0;
    box-sizing: border-box;
    padding: 15px 10px;
    font-size: 15px;
    font-size: 1.5rem;
}

.p-login .p-login__textInput {
    padding: 20px 10px;
    width: 87%;
}

.p-login__item {
    margin-bottom: 15px;
}

.p-login__alert {
    font-size: 15px;
    font-size: 1.5rem;
    color: #ff0000;
    text-align: center;
    margin-bottom: 15px;
}

.p-login__forget {
    font-size: 15px;
    font-size: 1.5rem;
    display: table;
    margin-left: auto;
    margin-bottom: 35px;
    text-decoration: none;
    line-height: 1.7;
    border-bottom: 1px solid #ea6056;
}

    .p-login__forget:hover {
        border-bottom: 1px solid transparent;
    }

.p-login__language {
    position: absolute;
    right: 25px;
    top: -55px;
}

    .p-login__language a {
        position: relative;
        background-color: #aaa;
        color: #fff !important;
        padding: 10px 30px 10px 60px;
        display: inline-block;
        text-decoration: none;
        transition: all 0.3s;
    }

        .p-login__language a:before {
            content: '';
            position: absolute;
            top: 0;
            bottom: 0;
            left: 30px;
            margin: auto;
            width: 20px;
            height: 20px;
            background: url(../images/common/select-language-icon.png) no-repeat center center;
        }

        .p-login__language a:hover {
            opacity: 0.7;
        }

.p-login__panel {
    width: 440px;
    max-width: 100%;
    background-color: #eeeeee;
    padding: 50px 65px 50px 28px;
    box-sizing: border-box;
    margin: 0 auto;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    margin-bottom: 25px;
}

@media only screen and (max-width: 768px) {
    .p-login__panel {
        width: 100%;
        padding: 20px 20px 25px 20px;
        margin-bottom: 28px;
    }
}

.p-login__panel .p-login__textInput {
    border: 1px solid #fff;
}

.p-login__inputWrap {
    width: 350px;
    max-width: 100%;
    margin: 0 auto;
    margin-bottom: 20px;
}

.p-login__inputWrap--medium {
    width: 560px;
    max-width: 100%;
    margin: 0 auto;
}

    .p-login__inputWrap--medium .p-login__label {
        width: 46%;
        text-align: right;
    }

    .p-login__inputWrap--medium .p-login__textInput {
        width: 54%;
    }

@media only screen and (max-width: 768px) {
    .p-login {
        position: relative;
        top: auto;
        transform: none;
        width: 100%;
        padding-bottom: 30px;
        margin-top: 80px;
    }

    .p-login__label {
        font-size: 10px;
        font-size: 1rem;
        width: 8%;
        margin-right: 5%;
    }

    .p-login__textInput {
        padding: 10px;
        font-size: 13px;
        font-size: 1.3rem;
    }

    .p-login .p-login__textInput {
        padding: 15px 10px;
    }

    .p-login__username {
        margin-bottom: 17px;
    }

    .p-login__pswd {
        margin-bottom: 15px;
    }

    .p-login__btn {
        height: 40px;
        font-size: 11px;
        font-size: 1.1rem;
    }

    .p-login__alert {
        font-size: 10px;
        font-size: 1rem;
        margin-bottom: 13px;
    }

    .p-login__forget {
        font-size: 11px;
        font-size: 1.1rem;
        margin-bottom: 15px;
    }

    .p-login__language {
        right: 15px;
        top: -65px;
    }

        .p-login__language a {
            padding: 10px 20px 10px 50px;
        }

            .p-login__language a:before {
                content: '';
                position: absolute;
                top: 0;
                bottom: 0;
                left: 20px;
                margin: auto;
                width: 20px;
                height: 20px;
                background: url(../images/common/select-language-icon.png) no-repeat center center;
            }

    .p-login__inputWrap--medium {
        width: 560px;
        max-width: 100%;
        margin: 0 auto;
    }

        .p-login__inputWrap--medium .p-login__label {
            width: auto;
            text-align: left;
            margin: 0 0 5px 0;
            font-size: 12px;
            font-size: 1.2rem;
        }

        .p-login__inputWrap--medium .p-login__textInput {
            width: 100%;
            font-weight: bold;
        }

        .p-login__inputWrap--medium input.p-login__textInput {
            font-weight: normal;
        }
}

.p-loginCheck__inner {
    width: 790px;
    max-width: 100%;
    margin: 0 auto;
    padding: 40px 50px 40px 50px;
    background-color: #fff;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    border-bottom: 5px solid #d2d2d2;
}

@media only screen and (max-width: 768px) {
    .p-loginCheck__inner {
        padding: 20px;
    }
}

.p-loginChange {
    width: 720px;
    max-width: 100%;
    margin: 0 auto;
}

.p-loginChange__inner {
    max-width: 100%;
    padding: 40px 50px 40px 50px;
    background-color: #fff;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    border-bottom: 5px solid #d2d2d2;
}

@media only screen and (max-width: 768px) {
    .p-loginChange__inner {
        padding: 20px;
    }
}

.p-loginInfo {
    background-color: #fff;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    border-bottom: 5px solid #d2d2d2;
    padding: 25px;
    margin-top: 25px;
}

.p-loginInfo__title {
    padding-left: 35px;
    position: relative;
    font-weight: bold;
    font-size: 20px;
    font-size: 2rem;
    margin-bottom: 5px;
}

    .p-loginInfo__title:before {
        content: '';
        width: 25px;
        height: 25px;
        background: url(../images/common/info-icon.png) no-repeat center center;
        position: absolute;
        top: 0;
        bottom: 0;
        margin: auto;
        left: 0;
    }

.p-loginInfo__text {
    padding-left: 35px;
}

@media only screen and (max-width: 768px) {
    .p-loginInfo__title {
        font-size: 15px;
        font-size: 1.5rem;
    }

    .p-loginInfo__text {
        font-size: 12px;
        font-size: 1.2rem;
    }
}

.p-idxListTable {
    width: 100%;
    border: 1px solid #c9c9c9;
    background-color: #fff;
}

.p-idxListTable--auto {
    width: auto;
    max-width: 100%;
}

.p-idxListTable tr:nth-child(even) {
    background-color: #f8f8f8;
}

.p-idxListTable td, .p-idxListTable th {
    border: 1px solid #c9c9c9;
}

.p-idxListTable th {
    background-color: #e5f3fa;
    padding: 16px 20px;
    font-size: 17px;
    font-size: 1.7rem;
    text-align: left;
}

    .p-idxListTable th.bgc-gray {
        background-color: #959595;
        color: #fff;
        font-weight: normal;
        font-size: 15px;
        font-size: 1.5rem;
    }

.p-idxListTable thead th {
    background-color: #959595;
    border-right: 2px solid #fff;
    color: #fff;
    font-weight: normal;
    padding: 0 5px;
    font-size: 14px;
    font-size: 1.4rem;
    text-align: center;
    height: 50px;
}

    .p-idxListTable thead th:last-child {
        border-right: none;
    }

.p-idxListTable td {
    padding: 9px 10px;
    font-size: 15px;
    font-size: 1.5rem;
    text-align: center;
    line-height: 2;
    word-break: break-all;
    word-wrap: break-word;
}

    .p-idxListTable td:last-child {
        border-right: none;
    }

.p-idxListTable .brnone {
    border-right: none;
}

    .p-idxListTable .brnone + td {
        border-left: none;
    }

.p-idxListTable.add-padding th {
    padding: 15px;
    font-size: 15px;
    font-size: 1.5rem;
}

.p-idxListTable.add-padding td {
    padding: 15px;
}

.p-idxListTable__btn {
    position: absolute;
    right: 20px;
    top: 0;
    bottom: 0;
    margin: auto;
    height: 35px;
    background-color: #aaaaaa;
    padding: 7px 28px;
    color: #fff;
    font-weight: normal;
    cursor: pointer;
    font-size: 14px;
    font-size: 1.4rem;
    width: 100px;
    text-align: center;
}

    .p-idxListTable__btn:after {
        position: absolute;
        right: 15px;
        top: 16px;
        margin: auto;
        content: "";
        width: 6px;
        height: 6px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

.p-idxListTable__btn__text:before {
    content: '閉じる';
}

.p-idxListTable__btn.close:after {
    top: 14px;
    content: "";
    width: 6px;
    height: 6px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}

.p-idxListTable__btn.close .p-idxListTable__btn__text:before {
    content: '開く';
    letter-spacing: 3.5px;
}

.p-idxListTable__ebtn {
    position: absolute;
    right: 20px;
    top: 0;
    bottom: 0;
    margin: auto;
    height: 35px;
    background-color: #aaaaaa;
    padding: 7px 28px;
    color: #fff;
    font-weight: normal;
    cursor: pointer;
    font-size: 14px;
    font-size: 1.4rem;
    width: 100px;
    text-align: center;
}

    .p-idxListTable__ebtn:after {
        position: absolute;
        right: 15px;
        top: 16px;
        margin: auto;
        content: "";
        width: 6px;
        height: 6px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

.p-idxListTable__ebtn__text:before {
    content: 'CLOSE';
}

.p-idxListTable__ebtn.close:after {
    top: 14px;
    content: "";
    width: 6px;
    height: 6px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}

.p-idxListTable__ebtn.close .p-idxListTable__ebtn__text:before {
    content: 'OPEN';
    letter-spacing: 3.5px;
}

.p-idxListTable__nest > td {
    padding: 0;
}

    .p-idxListTable__nest > td .p-idxListTable {
        border: none;
        background-color: inherit;
    }

        .p-idxListTable__nest > td .p-idxListTable tr {
            background-color: inherit;
        }

            .p-idxListTable__nest > td .p-idxListTable tr:nth-child(even) {
                background-color: #f8f8f8;
            }

            .p-idxListTable__nest > td .p-idxListTable tr:first-child td {
                border-top: none;
            }

        .p-idxListTable__nest > td .p-idxListTable td:first-child {
            border-left: none;
        }

        .p-idxListTable__nest > td .p-idxListTable td:last-child,
        .p-idxListTable__nest > td .p-idxListTable tr:last-child td {
            border-bottom: none;
        }

    .p-idxListTable__nest > td:nth-child(n+2) {
        padding: 9px 10px;
    }

.p-idxListTable__nest:not(.row1) {
    background-color: inherit !important;
}

.p-idxListTable--space {
    border: none;
    background-color: inherit;
}

.p-idxListTable--space__nest > td {
    padding: 0;
    border: none;
    width: 100%;
}

.p-idxListTable--space__nest .p-idxListTable {
    margin-top: 10px;
    border: none;
}

    .p-idxListTable--space__nest .p-idxListTable td:last-child {
        border-right: 1px solid #c9c9c9;
    }

.p-idxListTable .c-counterList__item {
    /*padding-left: 30px;*/
}

.p-idxListTable + .p-idxListTable {
    margin-top: 20px;
}

.p-idxListTable.js-tableFixHeader {
    display: none;
    width: 1000px;
    margin: auto;
}

    .p-idxListTable.js-tableFixHeader.static {
        position: fixed;
    }

    .p-idxListTable.js-tableFixHeader + .sheet .c-btn {
        width: 100%;
        padding: 10px 5px;
        position: static;
    }

.p-idxListTable.js-tableFixHeaderB {
    display: none;
    width: 1000px;
    margin: auto;
}

    .p-idxListTable.js-tableFixHeaderB.static {
        position: fixed;
    }

    .p-idxListTable.js-tableFixHeaderB + .sheet .c-btn {
        width: 100%;
        padding: 10px 0px;
        position: static;
    }

.p-idxListTable--nothead {
    width: 480px;
}

    .p-idxListTable--nothead tr:last-child th {
        border-bottom: none;
    }

    .p-idxListTable--nothead th {
        background-color: #959595;
        border-right: none;
        border-bottom: 2px solid #fff;
        color: #fff;
        font-weight: normal;
        font-size: 14px;
        font-size: 1.4rem;
        padding: 10px 20px;
    }

.p-idxListTable--nothead300 {
    width: 300px;
    display: inline-block;
    padding: 0;
}

    .p-idxListTable--nothead300 tr:last-child th tr:last-child td {
        border-bottom: none;
    }

    .p-idxListTable--nothead300 th {
        background-color: #959595;
        border-right: none;
        border-bottom: 1px solid #fff;
        color: #fff;
        font-weight: normal;
        font-size: 14px;
        font-size: 1.4rem;
        padding: 10px 20px;
    }

.p-idxListTable--nothead850 {
    width: 850px;
}

    .p-idxListTable--nothead850 tr:last-child th {
        border-bottom: none;
    }

    .p-idxListTable--nothead850 th {
        background-color: #959595;
        border-right: none;
        border-bottom: 2px solid #fff;
        color: #fff;
        font-weight: normal;
        font-size: 14px;
        font-size: 1.4rem;
        padding: 10px 20px;
    }

.p-idxListTable--nothead1000 {
    width: 1000px;
}

    .p-idxListTable--nothead1000 tr:last-child th {
        border-bottom: none;
    }

    .p-idxListTable--nothead1000 th {
        background-color: #959595;
        border-right: none;
        border-bottom: 2px solid #fff;
        color: #fff;
        font-weight: normal;
        font-size: 14px;
        font-size: 1.4rem;
        padding: 10px 20px;
    }

.p-idxListTable--addspace td {
    padding: 20px;
}

    .p-idxListTable--addspace td:last-child {
        padding: 20px 12px 20px 20px;
    }

@media only screen and (max-width: 768px) {
    .p-idxListTable.add-padding th {
        padding: 10px;
        font-size: 13px;
        font-size: 1.3rem;
    }

    .p-idxListTable.add-padding td {
        padding: 5px;
    }

    .p-idxListTable__btn {
        position: absolute;
        right: 15px;
        top: 0;
        bottom: 0;
        margin: auto;
        height: 25px;
        background-color: #aaaaaa;
        padding: 3px 8px;
        color: #fff;
        font-weight: normal;
        cursor: pointer;
        font-size: 12px;
        font-size: 1.2rem;
        width: 80px;
    }

        .p-idxListTable__btn:after {
            top: 11px;
            right: 10px;
        }

        .p-idxListTable__btn.close:after {
            top: 10px;
        }

    .p-idxListTable td, .p-idxListTable th {
        font-size: 13px;
        font-size: 1.3rem;
    }
}

.p-idxList__heading {
    border: 1px solid #c9c9c9;
    background-color: #e5f3fa;
    padding: 12px 15px;
    font-weight: bold;
    position: relative;
    font-size: 14px;
    font-size: 1.4rem;
}

    .p-idxList__heading.p-idxListTable__btnWrap {
        padding-right: 100px;
    }

    .p-idxList__heading + ul {
        margin: 20px 0 50px;
    }

        .p-idxList__heading + ul:last-child {
            margin-bottom: 0;
        }

.p-idxList__item {
    border: 1px solid #c9c9c9;
    position: relative;
    background-color: #fff;
}

    .p-idxList__item:nth-child(n+2) {
        margin-top: 20px;
    }

.p-idxList__column {
    width: 13%;
}

    .p-idxList__column:nth-child(2) {
        width: 83%;
    }

    .p-idxList__column .p-idxList__title {
        padding-right: 0;
    }

    .p-idxList__column .p-idxList__note {
        padding-right: 0;
    }

.p-idxList__inner {
    padding: 20px;
    text-decoration: none;
    display: block;
    color: #434343;
}

.p-idxList__inner--ptn2 {
    padding: 10px;
}

    .p-idxList__inner--ptn2:first-child {
        background-color: #e5f3fa;
    }

.p-idxList__day {
    font-weight: bold;
    text-align: right;
    margin-left: auto;
}

    .p-idxList__day span {
        display: inline-block;
    }

.p-idxList__title {
    margin: 10px 0 0;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.7;
}

    .p-idxList__title span {
        border-bottom: 1px solid #000;
        padding-bottom: 2px;
    }

    .p-idxList__title + .p-idxList__note {
        margin-top: 20px;
    }

.p-idxList__note {
    font-weight: normal;
    font-size: 12px;
    font-size: 1.2rem;
}

.p-idxList__pdfBtn {
    padding: 0 20px 20px;
}

.p-idxList__pdfBtn__item {
    text-decoration: none;
    color: #fff;
    padding: 3px 22px 3px 5px;
    background: #aaa url("../images/common/pdf-icon.png") no-repeat right 5px center;
    background-size: 12px;
}

    .p-idxList__pdfBtn__item:nth-child(n+2) {
        margin-left: 10px;
    }

.p-idxList__arrowBtn {
    padding: 0 20px 20px;
}

.p-idxList__arrowBtn__item {
    text-decoration: none;
    color: #fff;
    padding: 5px 22px 5px 15px;
    background-color: #aaa;
    background-size: 12px;
    position: relative;
    display: block;
    text-align: center;
}

    .p-idxList__arrowBtn__item:after {
        content: "";
        width: 7px;
        height: 7px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        position: absolute;
        right: 8px;
        top: 0;
        bottom: 0;
        margin: auto;
    }

.p-idxList .p-idxProgress__icon {
    width: auto;
    min-width: 75px;
    display: inline-block;
    padding-left: 10px;
    padding-right: 10px;
    margin-right: 5px;
    text-align: center;
}

.p-idxList .p-idxProgress__icon--img {
    position: absolute;
    right: 0;
    bottom: 0;
    left: auto;
    z-index: 10;
    width: 45px;
    height: 45px;
}

    .p-idxList .p-idxProgress__icon--img:after {
        content: '';
        background-color: #aaaaaa;
        width: 100%;
        height: 100%;
        position: absolute;
        right: 0;
        bottom: 0;
        z-index: -1;
        border-top-left-radius: 100%;
    }

    .p-idxList .p-idxProgress__icon--img a {
        display: block;
        width: 100%;
        height: 100%;
        position: relative;
    }

        .p-idxList .p-idxProgress__icon--img a img {
            position: absolute;
            width: 17px;
            bottom: 7px;
            right: 7px;
        }

.p-idxList--1column {
    margin-bottom: 50px;
}

.p-idxList--1column__heading {
    padding: 15px;
    color: #ea6056;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: bold;
    background-color: #fff;
    border: 1px solid #c9c9c9;
}

    .p-idxList--1column__heading:nth-child(n+2) {
        margin-top: 20px;
    }

.p-idxList--1column__item {
    border: 1px solid #c9c9c9;
    border-top: none;
    background-color: #fff;
}

    .p-idxList--1column__item a {
        text-decoration: none;
        display: block;
        padding: 10px 15px;
        color: #343434;
    }

        .p-idxList--1column__item a .c-counterList__item {
            padding-left: 15px;
        }

            .p-idxList--1column__item a .c-counterList__item:before {
                left: 0;
            }

        .p-idxList--1column__item a .c-linkTxt--border {
            color: #ea6056;
            margin-right: 10px;
            line-height: 2;
        }

        .p-idxList--1column__item a small {
            display: inline-block;
        }

.p-idxCustomList__item {
    background-color: #fff;
    border: 1px solid #c9c9c9;
}

    .p-idxCustomList__item:nth-child(n+2) {
        border-top: none;
    }

.p-idxCustomList__left {
    padding: 10px;
    text-align: center;
    width: 30%;
}

.p-idxCustomList__right {
    padding: 10px;
    border-left: 1px solid #c9c9c9;
    width: 70%;
}

.p-idxCustomList__btn {
    width: 50%;
    text-align: center;
}

    .p-idxCustomList__btn a {
        display: block;
        text-align: center;
        padding-top: 5px;
        margin-bottom: 15px;
    }

.p-idxProgress__icon {
    padding: 3px 5px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    color: #fff;
    text-align: center;
    letter-spacing: 1.5px;
    width: 100%;
    font-size: 13px;
    font-size: 1.3rem;
}

.p-idxProgress__icon--end {
    background-color: #0066b3;
    position: relative;
}

.p-idxProgress__icon--during {
    background-color: #009944;
}

.p-idxProgress__icon--still {
    background-color: #da3a24;
}

.p-idxProgress__icon--not {
    background-color: #959595;
}

.p-idxProgress__icon--default {
    background-color: #0066b3;
}

.p-idxProgress__icon--output {
    background-color: #ea6056;
}

.p-idxProgress__icon--new {
    background-color: #ea68a2;
}

.p-idxProgress__icon--img {
    position: absolute;
    left: -25px;
}

    .p-idxProgress__icon--img:hover {
        opacity: 0.7;
    }

@media only screen and (max-width: 768px) {
    .p-idxProgress__icon {
        padding: 5px;
        font-size: 12px;
        font-size: 1.2rem;
    }
}

.p-idxShadowTextBox {
    background-color: #fff;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    border-bottom: 5px solid #d2d2d2;
    padding: 25px 35px 30px;
}

.p-idxShadowTextBox__title {
    font-size: 18px;
    font-size: 1.8rem;
    color: #ea6056;
    font-weight: bold;
    margin-bottom: 18px;
}

.p-idxShadowTextBox__subTitle {
    font-weight: bold;
    font-size: 16px;
    font-size: 1.6rem;
    margin-bottom: 10px;
}

.p-idxShadowTextBox__day {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
    margin-bottom: 8px;
}

@media only screen and (max-width: 768px) {
    .p-idxShadowTextBox {
        padding: 20px;
    }

    .p-idxShadowTextBox__title {
        font-size: 15px;
        font-size: 1.5rem;
    }

    .p-idxShadowTextBox__day {
        font-size: 13px;
        font-size: 1.3rem;
    }
}

.p-defaultBtn__btn {
    width: 100%;
    height: 60px;
    font-size: 18px;
    font-size: 1.8rem;
    width: 87%;
    margin-left: auto;
    display: block;
}

.p-defaultBtn__btn--mini {
    width: 105px !important;
    height: 40px;
    font-size: 16px;
    font-size: 1.6rem;
}

.p-defaultBtn__btn--auto {
    width: auto;
    min-height: 50px;
    padding-left: 20px;
    padding-right: 20px;
}

.p-defaultBtn__wrap {
    width: 520px;
    margin: 55px auto 0;
    max-width: 100%;
}

    .p-defaultBtn__wrap .c-btn {
        width: 45%;
        white-space: pre-line;
        word-break: break-all;
        margin-left: auto;
    }

        .p-defaultBtn__wrap .c-btn:first-child {
            margin-left: 0;
        }

.p-defaultBtn__wrap--1column {
    width: 225px;
    margin: 50px auto 0 auto;
}

    .p-defaultBtn__wrap--1column .c-btn {
        width: 100%;
    }

.p-defaultBtn__wrap--3column {
    width: 500px;
}

    .p-defaultBtn__wrap--3column .c-btn {
        width: 32%;
    }

.p-defaultBtn__wrap--mini {
    width: 310px;
}

    .p-defaultBtn__wrap--mini .c-btn {
        width: 47%;
    }

.p-defaultBtn__wrap--large {
    width: 400px;
}

    .p-defaultBtn__wrap--large .c-btn {
        width: 100%;
    }

@media only screen and (max-width: 768px) {
    .p-defaultBtn__btn {
        height: 50px;
        font-size: 13px;
        font-size: 1.3rem;
        width: 87%;
    }

    .p-defaultBtn__btn--mini {
        width: 75px !important;
        height: 35px;
        font-size: 13px;
        font-size: 1.3rem;
    }

    .p-defaultBtn__wrap {
        margin-top: 30px;
    }

    .p-defaultBtn__wrap--1column {
        width: 60%;
        max-width: 300px;
    }
}

.p-defaultTab .p-lessonTitle--type__link {
    width: 500px !important;
    max-width: 50%;
    margin-right: 5px;
}

    .p-defaultTab .p-lessonTitle--type__link:last-child {
        margin-right: 0;
    }

    .p-defaultTab .p-lessonTitle--type__link .current {
        background-color: #ea6056;
        border-color: #ea6056;
        color: #fff;
    }

        .p-defaultTab .p-lessonTitle--type__link .current:after {
            content: '';
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 12px 12px 0 12px;
            border-color: #ea6056 transparent transparent transparent;
            position: absolute;
            left: 0;
            right: 0;
            margin: auto;
            bottom: -12px;
        }

.p-defaultTab.js-footFix .p-lessonTitle--type__link {
    width: 30% !important;
}

    .p-defaultTab.js-footFix .p-lessonTitle--type__link .current:after {
        top: -12px;
        bottom: auto;
        border-width: 0 12px 12px 12px;
        border-color: transparent transparent #ea6056 transparent;
    }

.p-defaultTab + .c-title {
    margin-bottom: 30px;
}

@media only screen and (max-width: 768px) {
    .p-defaultTab {
        margin-bottom: 40px !important;
    }

        .p-defaultTab .p-lessonTitle--type__link .current:after {
            content: '';
            border-width: 8px 8px 0 8px;
            bottom: -8px;
        }

        .p-defaultTab.js-footFix .p-lessonTitle--type__link .current:after {
            top: -8px;
            bottom: auto;
            border-width: 0 8px 8px 8px;
            border-color: transparent transparent #ea6056 transparent;
        }
}

.p-profile {
    background-color: #fff;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    border-bottom: 5px solid #d2d2d2;
    padding: 60px 20px;
}

.p-profile__inner {
    width: 820px;
    max-width: 100%;
    margin: 0 auto;
}

.p-profile__title {
    color: #ea6056;
    font-weight: bold;
    font-size: 20px;
    font-size: 2rem;
    text-align: center;
    margin-bottom: 40px;
}

    .p-profile__title span {
        padding-left: 38px;
        position: relative;
    }

        .p-profile__title span:before {
            content: '';
            width: 22px;
            height: 28px;
            background: url(../images/common/user-icon.png) no-repeat center center;
            background-size: contain;
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            margin: auto;
        }

.p-profile__text {
    width: 535px;
    max-width: 100%;
    margin: 0 auto;
}

.p-profile__elem:first-child {
    width: 40%;
}

.p-profile__panel {
    margin-top: 45px;
}

.p-profile__img {
    width: 170px;
    height: 170px;
    /*background-color: #c9c9c9;*/
    display: block;
}

.p-profile__img__btnWrap {
    width: 170px;
}

    .p-profile__img__btnWrap .p-defaultBtn__btn {
        width: 100%;
        height: 50px;
    }

        .p-profile__img__btnWrap .p-defaultBtn__btn:first-child {
            margin-bottom: 30px;
        }

.p-profile__textarea {
    width: 500px;
    max-width: 100%;
}

    .p-profile__textarea + span {
        display: block;
        text-align: right;
    }

@media only screen and (max-width: 768px) {
    .p-profile {
        padding: 30px 20px;
    }

    .p-profile__title {
        font-size: 17px;
        font-size: 1.7rem;
        margin-bottom: 30px;
    }

        .p-profile__title span {
            display: inline-block;
        }

    .p-profile__panel {
        margin-top: 25px;
    }

    .p-profile__elem:first-child {
        width: 100%;
        margin-right: 0;
    }

    .p-profile__elem:nth-child(2) {
        width: 100%;
    }

    .p-profile__elem--full {
        width: 100%;
    }

        .p-profile__elem--full:nth-child(n+2) {
            margin-top: 10px;
        }

    .p-profile__img {
        width: auto;
        height: auto;
        /*background-color: #c9c9c9;*/
        display: inline-block;
        background-size: contain;
        background-repeat: no-repeat;
    }

    .p-profile__img__btnWrap {
        width: 520px;
        max-width: 100%;
        margin: 20px auto 0;
    }

        .p-profile__img__btnWrap .p-defaultBtn__btn {
            width: 100%;
            height: 50px;
            margin-left: 0;
        }

            .p-profile__img__btnWrap .p-defaultBtn__btn:first-child {
                margin: 0 0 5px 0;
            }

    .p-profile__textarea {
        width: 100%;
    }
}

.p-scaleWrap {
    width: 100%;
    max-width: 370px;
    background-color: #d2d2d2;
    height: 10px;
    margin: 0 20px;
}

.p-scaleWrap__value {
    background-color: #ea6056;
    height: 100%;
    display: block;
}

@media only screen and (max-width: 768px) {
    .p-scaleWrap {
        width: 50%;
        max-width: inherit;
        height: 5px;
        margin: 0 5px;
    }
}

.p-control {
    /*width: 760px;*/
    width: 1280px;
    max-width: 100%;
    margin: 0 auto;
    margin-top: 90px;
}

    .p-control iframe {
        /*position: absolute;*/
        border: none;
        background-color: #fff;
        top: 0px;
        left: 0;
        width: 100%;
        height: 100%;
        min-height: 780px;
        margin-top: 0;
    }

@media only screen and (max-width: 768px) {
    .p-control {
        height: calc(100% - 80px);
    }

    .p-control__inner {
        width: 100%;
        height: 100%;
        overflow: hidden;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-box;
        display: -webkit-flexbox;
        display: -moz-flexbox;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: flex;
        -webkit-flex-wrap: nowrap;
        -moz-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    }

        .p-control__inner iframe {
            position: relative;
            top: 0px;
            left: 0;
            margin-left: 0;
            margin-top: 0;
            min-width: 0%;
            height: 100%;
        }

    .p-control__item {
        height: 100%;
        max-width: 73%;
    }

        .p-control__item img {
            height: 100%;
            max-width: inherit;
        }

        .p-control__item > div {
            height: 100%;
        }

    .p-control__item--right {
        order: 1;
        width: 100%;
    }

    .p-control .l-headerControl__inner {
        width: auto;
        padding-top: 0;
        position: relative;
        margin: 5px;
        height: auto;
    }

        .p-control .l-headerControl__inner .l-flex {
            position: static;
        }

            .p-control .l-headerControl__inner .l-flex:nth-child(2) {
                margin-top: 5px;
            }

    .p-control .l-headerControl__item {
        width: 49%;
        margin-right: 0;
    }

        .p-control .l-headerControl__item:nth-child(2n) {
            margin-left: 2%;
        }

    .p-control .l-headerControl__item--time {
        width: 90% !important;
    }

    .p-control .l-headerControl__item--square {
        width: 10%;
        padding-left: 0;
        padding-right: 0;
    }

    .p-control .l-headerControl__item--scoring {
        width: 100%;
        margin-top: 5px;
    }

    .p-control .l-headerControl__item--result {
        width: 100%;
        margin-left: 0 !important;
        background-color: #f78600;
    }

    .p-control .l-headerControl__item--answer {
        background-color: #f78600;
    }

    .p-control .l-headerControl__item--commentary {
        background-color: #f78600;
    }

    .p-control .l-headerControl__item--back {
        position: absolute;
        bottom: 0;
        left: 0;
        background-color: #009944;
    }

    .p-control .l-headerControl__item--next {
        position: absolute;
        bottom: 0;
        right: 0;
    }

    .l-main--control--dark .p-control .l-headerControl__item {
        border-bottom: none;
        color: #fff;
        background-color: #000;
    }

    .l-main--control--dark .p-control .l-headerControl__item--time {
        background-color: #fff;
        color: #ea6056;
        border: 4px solid #dcdcdc;
    }
}

.p-modal {
    display: none;
    width: 500px;
    height: 500px;
}

.p-lessonTitle {
    background-color: #fff;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    border-bottom: 5px solid #d2d2d2;
    padding: 0;
    margin-bottom: 10px;
}

    .p-lessonTitle > div {
        padding: 12px 17px;
        border-right: 2px solid #c9c9c9;
        width: auto;
    }

        .p-lessonTitle > div:last-child {
            border-right: none;
        }

        .p-lessonTitle > div .p-idxProgress__icon--end:before {
            content: none;
        }

.p-lessonTitle__progress {
    width: 165px !important;
}

.p-lessonTitle__category {
    width: 536px !important;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
}

.p-lessonTitle__text {
    width: 150px !important;
    font-size: 15px;
    font-size: 1.5rem;
}

.p-lessonTitle__day {
    width: 150px !important;
    font-size: 15px;
    font-size: 1.5rem;
}

.p-lessonTitle--type {
    margin: 60px 0 20px;
}

    .p-lessonTitle--type:first-child {
        margin-top: 0;
    }

    .p-lessonTitle--type > div {
        padding: 12px 19px;
        border-right: 2px solid #c9c9c9;
        background-color: #fff;
    }

        .p-lessonTitle--type > div:last-child {
            border-right: none;
        }

.p-lessonTitle--type__progress {
    font-size: 16px;
    font-size: 1.6rem;
    width: 135px !important;
    background-color: #ea6056 !important;
    color: #fff;
    border-right: none !important;
}

.p-lessonTitle--type__input {
    font-size: 16px;
    font-size: 1.6rem;
    width: 135px !important;
    background-color: #fff !important;
    color: #ea6056;
    border-right: none !important;
}

.p-lessonTitle--type__category {
    width: 580px !important;
    font-size: 16px;
    font-size: 1.6rem;
    color: #ea6056;
}

.p-lessonTitle--type__text {
    width: 148px !important;
    font-size: 15px;
    font-size: 1.5rem;
}

.p-lessonTitle--type__day {
    width: 148px !important;
    font-size: 15px;
    font-size: 1.5rem;
}

.p-lessonTitle--type__link {
    padding: 0 !important;
    width: 165px !important;
    border-right: none !important;
}

    .p-lessonTitle--type__link a {
        padding: 12px 19px;
        background-color: #fff;
        text-decoration: none;
        display: block;
        width: 100%;
        text-align: center;
        color: #ea6056;
        transition: all 0.3s ease 0s;
        border: 4px solid #fff;
    }

        .p-lessonTitle--type__link a:hover {
            border: 4px solid #ea6056;
        }

        .p-lessonTitle--type__link a.current {
            pointer-events: none;
        }

        .p-lessonTitle--type__link a.cancel {
            background-color: #aaaaaa;
            color: #fff;
            border: 4px solid #aaaaaa;
        }

            .p-lessonTitle--type__link a.cancel:hover {
                background-color: #fff;
                color: #aaaaaa;
                border: 4px solid #aaaaaa;
            }

        .p-lessonTitle--type__link a.save {
            background-color: #ea6056;
            color: #fff;
            border: 4px solid #ea6056;
        }

            .p-lessonTitle--type__link a.save:hover {
                background-color: #fff;
                color: #ea6056;
                border: 4px solid #ea6056;
            }

    .p-lessonTitle--type__link:only-of-type a {
        background-color: #ea6056;
        color: #fff;
        border: 4px solid #ea6056;
        transition: all 0.3s ease 0s;
    }

        .p-lessonTitle--type__link:only-of-type a:hover {
            color: #ea6056;
            background-color: #fff;
        }

.p-lessonTitle--type.js-footFix {
    margin-bottom: 0;
}

@media only screen and (max-width: 768px) {
    .p-lessonTitle > div {
        border-right: none;
        width: auto;
    }

        .p-lessonTitle > div:last-child {
            border-right: none;
        }

        .p-lessonTitle > div .p-idxProgress__icon--end:before {
            content: none;
        }

    .p-lessonTitle__progress {
        width: auto !important;
        position: absolute;
        top: -10px;
        left: 0;
        padding: 0 !important;
    }

        .p-lessonTitle__progress .p-idxProgress__icon {
            padding: 5px 30px;
        }

    .p-lessonTitle__category {
        width: 100% !important;
        font-size: 14px;
        font-size: 1.4rem;
        padding: 30px 30px 20px !important;
        border-bottom: 2px solid #c9c9c9;
    }

    .p-lessonTitle__text {
        width: 37% !important;
        font-size: 13px;
        font-size: 1.3rem;
    }

    .p-lessonTitle__day {
        width: 63% !important;
        border-left: 2px solid #c9c9c9;
        font-size: 13px;
        font-size: 1.3rem;
    }

    .p-lessonTitle--type {
        margin: 30px 0 20px;
    }

        .p-lessonTitle--type:first-child {
            margin-top: 0;
        }

        .p-lessonTitle--type > div {
            padding: 10px;
            border-right: 2px solid #c9c9c9;
            background-color: #fff;
        }

            .p-lessonTitle--type > div:last-child {
                border-right: none;
            }

    .p-lessonTitle--type__progress {
        font-size: 14px;
        font-size: 1.4rem;
        width: 100% !important;
        background-color: #ea6056 !important;
        border-right: none !important;
    }

    .p-lessonTitle--type__input {
        font-size: 16px;
        font-size: 1.6rem;
        width: 135px !important;
        background-color: #fff !important;
        border-right: none !important;
    }

    .p-lessonTitle--type__category {
        width: 60% !important;
        font-size: 10px;
        font-size: 1rem;
    }

    .p-lessonTitle--type__text {
        width: 25% !important;
        font-size: 10px;
        font-size: 1rem;
    }

    .p-lessonTitle--type__day {
        width: 15% !important;
    }

    .p-lessonTitle--type.p-aslist .p-lessonTitle--type__link:nth-child(2n) a {
        background-color: #ea6056;
        color: #fff;
        border: 4px solid #ea6056;
    }

        .p-lessonTitle--type.p-aslist .p-lessonTitle--type__link:nth-child(2n) a:hover {
            background-color: #fff;
            color: #ea6056;
        }

    .p-lessonTitle--type.js-footFix {
        margin-bottom: 0 !important;
    }

        .p-lessonTitle--type.js-footFix .p-lessonTitle--type__link {
            width: 42% !important;
        }

            .p-lessonTitle--type.js-footFix .p-lessonTitle--type__link:only-of-type {
                margin: 0 auto !important;
                width: 165px !important;
            }
}

.p-js-modal__wrap {
    display: none;
}

.p-js-modal__content {
    background-color: #fff;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    border-bottom: 5px solid #d2d2d2;
    padding: 25px;
    width: 790px;
    max-width: 100%;
    margin: 0 auto;
}

.p-js-modal__title {
    text-align: center;
    font-size: 20px;
    font-size: 2rem;
    color: #ea6056;
    font-weight: bold;
    margin-bottom: 30px;
}

.p-js-modal__text {
    width: 420px;
    max-width: 100%;
    margin: 0 auto;
}

.p-outputWrap {
    width: 100%;
    min-height: 500px;
    background-color: #fff;
    padding: 20px;
    margin-top: 20px;
}

.js-footFix__inner {
    position: fixed;
    left: 0;
    bottom: 0;
    margin: auto;
    padding: 25px;
    background-color: rgba(238, 238, 238, 0.7);
    width: 100%;
    display: none;
    z-index: 10;
}

    .js-footFix__inner.static {
        position: absolute;
        background-color: inherit;
    }

.js-footFix__wrap {
    margin-bottom: 100px;
}

@media only screen and (max-width: 768px) {
    .js-footFix__inner {
        padding: 15px;
    }

    .js-footFix__wrap {
        margin-bottom: 60px;
    }
}

.js-responsiveTable > table {
    min-width: 1000px;
}

.file_upload {
    width: 650px;
    max-width: 100%;
    margin: 0 auto;
    margin-bottom: 20px;
}

    .file_upload #UserFileUpload {
        display: none;
    }

    .file_upload #BelongFileUpload {
        display: none;
    }

    .file_upload #FileUpload1 {
        display: none;
    }

    .file_upload #FileUpload2 {
        display: none;
    }

    .file_upload label {
        background: #ea6056;
        height: 60px;
        line-height: 60px;
        color: #fff;
        padding: 0 10px;
        display: inline-block;
        position: relative;
        transition: all 0.3s ease 0s;
        padding-left: 545px;
        width: 100%;
        font-size: 18px;
        font-size: 1.8rem;
    }

        .file_upload label:hover {
            transition: all 0.3s ease 0s;
            opacity: 0.7;
        }

    /*.file_upload #file_label {
        padding-left: 520px;
    }*/

    /*.file_upload #file_label2 {
        padding-left: 520px;
    }*/

    .file_upload .filename1 {
        width: 506px;
        height: 60px;
        line-height: 60px;
        line-height: 20px;
        color: #c9c9c9;
        position: absolute;
        left: 0;
        top: 0;
        background-color: #fff;
        border: 1px solid #c9c9c9;
        z-index: 10;
        padding: 18px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .file_upload .filename2 {
        width: 506px;
        height: 60px;
        line-height: 60px;
        line-height: 20px;
        color: #c9c9c9;
        position: absolute;
        left: 0;
        top: 0;
        background-color: #fff;
        border: 1px solid #c9c9c9;
        z-index: 10;
        padding: 18px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.file_upload--l2 {
    min-height: 54px;
    margin: 0;
    width: 100%;
}

    .file_upload--l2 .filename1 {
        top: auto;
        height: 54px;
        line-height: 54px;
        padding: 0 18px;
        width: 84%;
    }

    .file_upload--l2 .filename2 {
        top: auto;
        height: 54px;
        line-height: 54px;
        padding: 0 18px;
        width: 84%;
    }

    .file_upload--l2 label {
        position: absolute;
        right: 0;
        padding: 0;
        width: 105px;
        height: 40px;
        line-height: 40px;
        text-align: center;
        font-size: 16px;
        font-size: 1.6rem;
    }

@media only screen and (max-width: 768px) {
    .file_upload label {
        background: #ea6056;
        height: 40px;
        line-height: 40px;
        color: #fff;
        padding: 0 20px;
        display: inline-block;
        position: relative;
        transition: all 0.3s ease 0s;
        width: auto;
        font-size: 2.86458vw;
        margin: 65px auto 0 auto;
    }

    .file_upload .filename1 {
        width: 100%;
        height: 40px;
        line-height: 30px;
        padding: 5px;
    }

    .file_upload .filename2 {
        width: 100%;
        height: 40px;
        line-height: 30px;
        padding: 5px;
    }

    .file_upload--l2 .filename1 {
        width: 84%;
        height: 40px;
        line-height: 30px;
        padding: 5px;
    }

    .file_upload--l2 .filename2 {
        width: 84%;
        height: 40px;
        line-height: 30px;
        padding: 5px;
    }

}

.checkbox01__input {
    display: none;
}

    .checkbox01__input:checked + .checkbox01__parts:after {
        content: "";
        display: block;
        position: absolute;
        top: -9px;
        left: 5px;
        width: 13px;
        height: 22px;
        transform: rotate(40deg);
        border-bottom: 3px solid #ea6056;
        border-right: 3px solid #ea6056;
    }

.checkbox01__parts {
    padding-left: 20px;
    position: relative;
}

    .checkbox01__parts:before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 20px;
        height: 20px;
        border: 1px solid #999;
    }

.radio01__input {
    display: none;
}

    .radio01__input:checked + .radio01__parts:after {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        margin: auto;
        left: 0;
        width: 17px;
        height: 17px;
        background: #fff;
        border-radius: 50%;
        border: 5px solid #589fed;
    }

.radio01__parts {
    padding-left: 25px;
    position: relative;
}

    .radio01__parts:before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        margin: auto;
        left: 0;
        width: 17px;
        height: 17px;
        border: 1px solid #999;
        border-radius: 50%;
    }

@media only screen and (max-width: 768px) {
    .radio01__wrap {
        margin-bottom: 5px;
    }

    .radio01__input:checked + .radio01__parts:after {
        width: 14px;
        height: 14px;
        border: 4px solid #589fed;
    }

    .radio01__parts {
        padding-left: 16px;
        margin-right: 5px;
    }

        .radio01__parts:before {
            width: 14px;
            height: 14px;
        }
}

.text01__input {
    padding: 5px;
}

.select01__input {
    padding: 5px;
}

.p-btnsTitle {
    padding: 10px 5px;
}

.p-btnsTitle__left {
    width: 220px;
}

    .p-btnsTitle__left .p-defaultBtn__btn--mini {
        margin-left: auto;
    }

        .p-btnsTitle__left .p-defaultBtn__btn--mini:first-child {
            margin-left: 0;
        }

.p-btnsTitle__right {
    width: 105px;
    margin: 0;
}

@media only screen and (max-width: 768px) {
    .p-btnsTitle {
        background-color: #959595;
        color: #fff;
        padding: 10px 20px;
    }

        .p-btnsTitle:nth-child(n+2) {
            margin-top: 30px;
        }

    .p-btnsTitle__left {
        width: 220px;
        font-weight: bold;
    }

    .p-btnsTitle__right {
        width: 75px;
        margin: 0;
    }

        .p-btnsTitle__right .p-defaultBtn__btn--mini {
            margin-top: 5px;
        }

            .p-btnsTitle__right .p-defaultBtn__btn--mini:first-child {
                margin-top: 0;
            }
}

.p-circleTrimming__82 {
    width: 82px;
    height: 82px;
    margin: 10px auto 0;
}

.p-circleTrimming img {
    border-radius: 50%;
}

@media only screen and (max-width: 768px) {
    .p-circleTrimming {
        width: 62px;
        height: 62px;
    }
}

.p-textWrap01 {
    border: 1px solid #c9c9c9;
    padding: 10px 15px;
    min-height: 145px;
    text-align: left;
}

.p-evaluation {
    color: #959595;
    border: 1px solid #c9c9c9;
    border-radius: 10px;
    padding: 2px;
    width: 105px;
    margin: 10px auto 0;
}

.p-evaluation__img {
    width: 30%;
}

.p-evaluation__number {
    width: 30%;
    margin-top: 10px;
    font-size: 16px;
    font-size: 1.6rem;
}

.p-evaluation__date {
    width: 100%;
    text-align: center;
    font-size: 13px;
    font-size: 1.3rem;
}

@media only screen and (max-width: 768px) {
    .p-evaluation {
        margin-left: auto;
        margin-right: 0;
    }
}

.p-evaluation__date {
    margin-top: 5px;
}

.p-pager {
    /*margin: 20px 0;*/
}

    .p-pager li {
        margin-right: 10px;
    }

        .p-pager li:last-child {
            margin-right: 0;
        }

    .p-pager a {
        /*display: block;*/
        text-decoration: none;
		background-color: #fff;
        border: 1px solid #ea6056;
        padding: 10px 20px;
    }

        .p-pager a:hover {
            opacity: 0.7;
        }

    .p-pager span {
        padding: 10px 20px;
        background-color: #fff;
        border: 1px solid #ea6056;
        display: block;
    }

/* ---------------------------- */
/* --------------------------- */
/* text */
.u-txt-lh0 {
    line-height: 0;
}

.u-txt-indent {
    text-indent: 1em;
}

.u-txt-indent-left {
    text-indent: -0.5em;
}

.u-txt-strong {
    font-weight: bold;
}

.u-txt-italic {
    font-face: italic;
}

.u-txt-center {
    text-align: center;
}

.u-txt-left {
    text-align: left !important;
}

.u-txt-right {
    text-align: right;
}

.u-txt-ls {
    letter-spacing: -0.05em;
}

.u-txt-ls2 {
    letter-spacing: -0.08em;
}

.u-txt-min {
    font-size: 60%;
}

.u-txt-nolink {
    pointer-events: none;
}

.u-txt-green {
    color: #1aa150;
}

.u-txt-red {
    color: #ff0000;
}

.u-txt-read {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 2.2;
    margin-bottom: 25px;
}

@media only screen and (max-width: 768px) {
    .u-txt-read {
        font-size: 12px;
        font-size: 1.2rem;
        line-height: 1.7;
    }
}

/* --------------------------- */
/* position */
.u-ab {
    position: absolute;
}

.u-rel {
    position: relative;
}

.u-fix {
    position: fixed;
}

/* -- foundation -- */
/* --------------------------- */
/* margin */
.u-mb--ex-small4 {
    margin-bottom: 10px;
}

.u-mb--ex-small3 {
    margin-bottom: 20px;
}

.u-mb--ex-small2 {
    margin-bottom: 25px;
}

.u-mb--ex-small1 {
    margin-bottom: 30px;
}

.u-mb--ex-small {
    margin-bottom: 40px;
}

.u-mb--small {
    margin-bottom: 60px;
}

.u-mb--default {
    margin-bottom: 80px;
}

.u-mb--large {
    margin-bottom: 100px;
}

.u-mb--ex-large {
    margin-bottom: 120px;
}

@media only screen and (max-width: 768px) {
    .u-mb--ex-small3 {
        margin-bottom: 10px;
    }

    .u-mb--ex-small2 {
        margin-bottom: 13px;
    }

    .u-mb--ex-small1 {
        margin-bottom: 16px;
    }

    .u-mb--ex-small {
        margin-bottom: 20px;
    }

    .u-mb--small {
        margin-bottom: 30px;
    }

    .u-mb--default {
        margin-bottom: 40px;
    }

    .u-mb--large {
        margin-bottom: 50px;
    }

    .u-mb--ex-large {
        margin-bottom: 60px;
    }
}

.u-mt--ex-smal2 {
    margin-top: 20px;
}

.u-mt--ex-small {
    margin-top: 40px;
}

.u-mt--small {
    margin-top: 60px;
}

.u-mt--default {
    margin-top: 80px;
}

.u-mt--large {
    margin-top: 100px;
}

.u-mt--ex-large {
    margin-top: 120px;
}

.u-mt--minus {
    margin-top: -20px;
}

@media only screen and (max-width: 768px) {
    .u-mt--ex-small {
        margin-top: 20px;
    }

    .u-mt--small {
        margin-top: 30px;
    }

    .u-mt--default {
        margin-top: 40px;
    }

    .u-mt--large {
        margin-top: 50px;
    }

    .u-mt--ex-large {
        margin-top: 60px;
    }
}

.u-ml--ex-small {
    margin-left: 10px;
}

.u-ml--small {
    margin-left: 20px;
}

.u-ml--default {
    margin-left: 30px;
}

.u-ml--large {
    margin-left: 40px;
}

.u-ml--ex-large {
    margin-left: 60px;
}

@media only screen and (max-width: 768px) {
    .u-ml--ex-small {
        margin-left: 5px;
    }

    .u-ml--small {
        margin-left: 10px;
    }

    .u-ml--default {
        margin-left: 15px;
    }

    .u-ml--large {
        margin-left: 20px;
    }

    .u-ml--ex-large {
        margin-left: 30px;
    }
}

.u-ml--zero {
    margin-left: 0;
}

.u-mr--ex-small {
    margin-right: 10px;
}

.u-mr--small {
    margin-right: 20px;
}

.u-mr--default {
    margin-right: 30px;
}

.u-mr--large {
    margin-right: 40px;
}

.u-mr--ex-large {
    margin-right: 60px;
}

.u-mr--auto {
    margin: 0 auto 0 0;
}

@media only screen and (max-width: 768px) {
    .u-mr--ex-small {
        margin-right: 5px;
    }

    .u-mr--small {
        margin-right: 10px;
    }

    .u-mr--default {
        margin-right: 15px;
    }

    .u-mr--large {
        margin-right: 20px;
    }

    .u-mr--ex-large {
        margin-right: 30px;
    }
}

.u-pb--zero {
    padding-bottom: 0 !important;
}

.u-fltR {
    float: right;
    margin-left: 15px;
    width: 40%;
}

.u-ma {
    margin: 0 auto;
}

/* --------------------------- */
/* size */
.u-w6 {
    width: 6%;
}

.u-w8 {
    width: 8%;
}

.u-w9 {
    width: 9%;
}

.u-w10 {
    width: 10%;
}

.u-w11 {
    width: 11%;
}

.u-w12 {
    width: 12%;
}

.u-w13 {
    width: 13%;
}

.u-w14 {
    width: 14%;
}

.u-w23 {
    width: 23%;
}

.u-w30 {
    width: 30%;
}

.u-w31 {
    width: 31%;
}

.u-w35 {
    width: 35%;
}

.u-w38 {
    width: 38%;
}

.u-w45 {
    width: 45%;
}

.u-w55 {
    width: 55%;
}

.u-w57 {
    width: 57%;
}

.u-w60 {
    width: 60%;
}

.u-w68 {
    width: 68%;
}

.u-w75 {
    width: 75%;
}

.u-w84 {
    width: 84%;
}

.u-w90 {
    width: 90%;
}

.u-w100 {
    width: 100%;
}

.u-h100 {
    height: 100%;
}

.u-w60px {
    width: 60px;
}

.u-w66px {
    width: 66px;
}

.u-w68px {
    width: 68px;
}

.u-w69px {
    width: 69px;
}

.u-w70px {
    width: 70px;
}

.u-w72px {
    width: 72px;
}

.u-w75px {
    width: 75px;
}

.u-w80px {
    width: 80px;
}

.u-w81px {
    width: 81px;
}

.u-w82px {
    width: 82px;
}

.u-w86px {
    width: 86px;
}

.u-w89px {
    width: 89px;
}

.u-w90px {
    width: 90px;
}

.u-w100px {
    width: 100px;
}

.u-w102px {
    width: 102px;
}

.u-w103px {
    width: 103px;
}

.u-w104px {
    width: 104px;
}

.u-w109px {
    width: 109px;
}

.u-w110px {
    width: 110px;
}

.u-w111px {
    width: 111px;
}

.u-w120px {
    width: 120px;
}

.u-w121px {
    width: 121px;
}

.u-w123px {
    width: 123px;
}

.u-w124px {
    width: 124px;
}

.u-w125px {
    width: 125px;
}

.u-w126px {
    width: 126px;
}

.u-w128px {
    width: 128px;
}

.u-w129px {
    width: 129px;
}

.u-w130px {
    width: 130px;
}

.u-w140px {
    width: 140px;
}

.u-w148px {
    width: 148px;
}

.u-w150px {
    width: 150px;
}

.u-w157px {
    width: 157px;
}

.u-w160px {
    width: 160px;
}

.u-w170px {
    width: 170px;
}

.u-w180px {
    width: 180px;
}

.u-w200px {
    width: 200px;
}

.u-w217px {
    width: 217px;
}

.u-w220px {
    width: 220px;
}

.u-w240px {
    width: 240px;
}

.u-w260px {
    width: 260px;
}

.u-w280px {
    width: 280px;
}

.u-w285px {
    width: 285px;
}

.u-w290px {
    width: 290px;
}

.u-w300px {
    width: 300px;
}

.u-w310px {
    width: 310px;
}

.u-w320px {
    width: 320px;
}

.u-w330px {
    width: 330px;
}

.u-w340px {
    width: 340px;
}

.u-w350px {
    width: 350px;
}

.u-w353px {
    width: 353px;
}

.u-w360px {
    width: 360px;
}

.u-w363px {
    width: 363px;
}

.u-w370px {
    width: 370px;
}

.u-w380px {
    width: 380px;
}

.u-w390px {
    width: 390px;
}

.u-w400px {
    width: 400px;
}

.u-w440px {
    width: 440px;
}

.u-w460px {
    width: 460px;
}

.u-w480px {
    width: 480px;
}

.u-w490px {
    width: 490px;
}

.u-w500px {
    width: 500px;
}

.u-w548px {
    width: 548px;
}

.u-w550px {
    width: 550px;
}

.u-w570px {
    width: 570px;
}

.u-w650px {
    width: 650px;
}

.u-w668px {
    width: 668px;
}

.u-w700px {
    width: 700px;
}

.u-w720px {
    width: 720px;
}

.u-w745px {
    width: 745px;
}

.u-w760px {
    width: 760px;
}

.u-w764px {
    width: 764px;
}

.u-w800px {
    width: 800px;
}

.u-w850px {
    width: 850px;
}

.u-w872px {
    width: 872px;
}

.u-w1000px {
    width: 1000px;
}

.empty-data {
    margin-top: 1em;
    text-align: center;
    font-size: large;
    font-weight: bold;
    color: #FF0000;
}

.right {
    text-align: right;
}

.hr_style {
    background-color: #fff;
    border-top: 2px dotted #8c8b8b;
}

.a_clear {
    cursor: pointer;
    text-decoration: none;
    vertical-align: middle;
    text-align: center;
    height: 60px;
    padding-top: 20px;
    padding-bottom: 20px;
}
/*# sourceMappingURL=common.css.map */
