@charset 'UTF-8';

.card_caution, .price01 td, h3:before {
    position: relative
}

.card_caution:after, h3:before {
    content: ""
}

#card .point, #openhour dl dd p, #openhour dl dt p, .card_desc dl dd p, .prompt, .to_pay, dl.flow dt p {
    font-weight: 700
}

.contents_frame {
    padding: 0 20px
}

h3 {
    font-size: 20px;
    margin: 0 0 20px;
    padding: 0 0 0 10px;
    height: 35px;
    line-height: 40px;
    background: #37c5c4;
    color: #fff
}

h3:before {
    background: url(/img/common/icon_h3.png) center no-repeat;
    padding: 0 6px;
    margin-right: 10px;
    top: -2px
}

.coursebox dl {
    border: 1px solid #ee77c1;
    text-align: center;
    margin-right: 5px;
    display: inline-block;
    width: 348px
}

.coursebox dl:last-child {
    margin-right: 0
}

.coursebox dl dt {
    background: #fde7f5;
    font-size: 18px;
    height: 40px;
    line-height: 40px;
    border-bottom: 1px solid #ff89c5
}

.coursebox dl dd {
    color: #eb57af;
    background: #fff;
    font-size: 22px
}

.price01 {
    width: 100%;
    border: 1px solid #ee77c1;
    border-collapse: collapse;
    margin-bottom: 10px
}

.price01 tr {
    border-bottom: 1px solid #ee77c1
}

.price01 th {
    font-size: 18px;
    padding: 10px 0;
    text-align: center;
    background: #ffe9f4;
    border-right: solid 1px #ee77c1;
    width: 40%
}

.price01 td {
    font-size: 22px;
    text-align: center;
    background: #FFF;
    color: #eb57af
}

.course_caution {
    text-align: right
}

#openhour .article_area {
    border-top: 1px dotted #000;
    border-bottom: 1px dotted #000;
    padding: 10px 0;
    display: table;
    width: 100%
}

#openhour dl {
    display: table-cell;
    padding: 6px 70px
}

#openhour dl:first-child {
    border-right: 1px dotted
}

#openhour dl dd p {
    font-size: 26px;
    color: #eb57af
}

.card_caution {
    text-align: left;
    padding: 0;
    width: 495px;
    margin: 0
}

.card_caution:after {
    position: absolute;
    top: 38%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    right: -215px;
    width: 190px;
    height: 105px;
    display: inline-block;
    background-size: contain;
    background-image: url(/img/price/card.png);
    background-repeat: no-repeat
}

#card .point {
    margin-bottom: 5px
}

#card .article_area:nth-of-type(1) {
    margin-bottom: 20px
}

#card .article_area:nth-of-type(2) {
    border-top: 1px dotted;
    padding-top: 20px
}

#card .article_area:nth-of-type(2) dl {
    border: 1px solid #37c5c4;
    display: table;
    margin-bottom: 10px
}

#card .article_area:nth-of-type(2) dl:last-child {
    margin-bottom: 0
}

#card .article_area:nth-of-type(2) dl dt {
    background: #37c5c4;
    display: table-cell;
    width: 160px;
    vertical-align: middle;
    text-align: center
}

#card .article_area:nth-of-type(2) dl dt p {
    color: #fff;
    font-size: 20px;
    font-weight: 700
}

#card .article_area:nth-of-type(2) dl dd {
    padding: 20px 30px
}

.prompt {
    font-size: 18px;
    color: #078584
}

.card_desc {
    border: 1px solid #37c5c4;
    margin-bottom: 10px;
    padding: 10px 20px
}

.card_desc:last-child {
    margin-bottom: 0
}

.card_desc dl {
    padding: 10px 0;
    border: none !important;
    margin-bottom: 0 !important
}

.card_desc dl dt {
    width: auto !important;
    background: 0 0 !important;
    display: inherit !important
}

.card_desc dl dt p {
    color: #000 !important;
    font-size: 16px !important
}

.card_desc dl dd {
    padding: 0 !important
}

.card_desc dl dd p {
    line-height: normal;
    color: #eb57af;
    font-size: 24px
}

.card_desc dl dd p span {
    font-size: 16px
}

p.starpay_info {
    font-size: 11px;
    font-weight: bold;
    padding: 16px 0px 0px 0px;
    color: #9f9f9f;
}

p.starpay_info_p {
    font-size: 11px;
    color: #9f9f9f;
}

.to_pay {
    width: 290px;
    height: 40px;
    display: inline-block;
    text-align: center;
    text-decoration: none;
    background: #ef79bf;
    background: linear-gradient(to bottom, #ef79bf 0, #ef79bf 50%, #eb57af 50%, #eb57af 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ef79bf', endColorstr='#eb57af', GradientType=0);
    color: #fff;
    font-size: 20px;
    line-height: 40px
}

.to_pay:before {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    margin-top: 15px;
    margin-left: -20px;
    border-style: solid;
    border-width: 4.5px 0 4.5px 8px;
    border-color: transparent transparent transparent #fff
}

.to_pay:hover {
    opacity: .8
}

dl.flow dt p {
    display: table;
    text-align: center;
    white-space: nowrap;
    color: #37c5c4;
    font-size: 18px
}

dl.flow dt p:after, dl.flow dt p:before {
    content: "";
    display: table-cell;
    color: #37c5c4;
    background: linear-gradient(transparent 50%, currentColor 50%, currentColor calc(50% + 1px), transparent calc(50% + 1px));
    -webkit-background-clip: padding;
    background-clip: padding
}

dl.flow dt p:before {
    width: 5%;
    border-right: 10px solid transparent
}

dl.flow dt p:after {
    width: 90%;
    border-left: 10px solid transparent
}

dl.flow dd {
    border-bottom: 1px solid #37c5c4;
    margin-bottom: 35px
}

dl.flow dd p {
    padding: 10px 0 15px
}

dl.flow dd:after {
    position: absolute;
    left: 45%;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 27px 33px 0;
    border-color: #37c5c4 transparent transparent
}

dl.flow dd:last-child:after {
    border: none
}

#reserve .article_area {
    padding: 20px 0;
    border-top: 1px dotted #000;
    border-bottom: 1px dotted #000
}

#reserve .article_area p:first-child {
    margin-bottom: 20px
}