@charset "UTF-8";
@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap);
.escott_mainte {
    padding: 10px;
    margin: 5px;
    line-height: 1.4;
    background-color: #ff6633;
    color: #ffffff;
}

body {
    color: #2b0d0d;
}

.pconly {
    display: block !important;
}

.mobileonly {
    display: none !important;
}

.sponly {
    display: none !important;
}

div.contents {
    width: 1024px;
    margin: 0 auto;
}

div.main_area {
    width: 860px;
    float: right;
}

#gnav {
    width: calc(99.5% - 615px);
    min-width: 400px !important;
    max-width: 600px;
    box-sizing: border-box;
}

.loginhdMenu_noM {
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
}

.loginhdMenu_noM #gnav {
    width: calc(100% - 450px) !important;
    font-size: calc(1.6vw + 0.3vh + .3vmin);
}

@media screen and (min-width:1200px) {
    .loginhdMenu_noM #gnav {
        font-size: 24px;
    }
}

#gnav ul.middle_size {
    display: none;
}

#hd_btn {
    margin-top: 8px;
}

#gnav ul.middle_size li {
    margin: 0 2px;
    float: left;
    width: 49px;
    height: 44.5px;
    overflow: hidden;
    font-size: 7px;
    vertical-align: bottom;
    text-align: center;
    position: relative;
    border-radius: 4px;
    font-weight: bold;
}

#gnav ul.middle_size li a {
    display: block;
}

#gnav ul.middle_size li a span {
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin-bottom: 3px;
    color: #f58220;
}

#gnav ul.middle_size li a span.fa {
    font-size: 26px;
    top: 3px;
    left: 0;
    right: 0;
}

#gnav ul.default {
    width: 100%;
}

#gnav ul.default li#menu_search {
    width: calc(100% - 200px);
}

#gnav ul.default li#menu_search form {
    width: 98%;
}

#gnav ul.default li#menu_search input {
    width: calc(100% - 62px);
    height: 24px;
    border-radius: 4px 0 0 4px;
    border: solid 2px #999999;
    vertical-align: top;
    border-right: none;
    margin-left: 0.5%;
    padding-left: 5px;
}

#gnav ul.default li#menu_search button {
    border-radius: 0 4px 4px 0;
    line-height: 24px;
    border: solid 2px #999999;
    padding: 1px 10px;
    cursor: pointer;
}

#gnav ul.default li#menu_search button:hover {
    -webkit-filter: brightness(80%)
}

header div.user_status {
    cursor: pointer;
    margin-top: -4px;
    margin-right: 10px;
    text-align: left;
    line-height: 20px;
    border-radius: 4px;
    width: 250px;
    white-space: nowrap;
    background-size: 110px;
    background-repeat: no-repeat;
    background-position: 60% 30%;
    overflow: hidden;
    border: solid 1px rgba(0, 0, 0, 1);
    text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.5), -1px -1px 1px rgba(0, 0, 0, 0.5);
}

@media screen and (max-width:1080px) {
    header div.user_status {
        width: 232px;
    }
}

#hd_area_smartphone,
#hd_area_middle {
    display: none;
}

.notice_smartphone .notice_area {}

.logo_smartphone {}

.hambmenu_smartphone {
    position: fixed;
    top: 0;
    right: 0;
    background-color: #ffffff;
    width: 50px;
    height: 50px;
    line-height: 50px;
    font-size: 24px;
    text-align: center;
    border-left: solid 1px #dddddd;
    border-bottom: solid 1px #bbbbbb;
    border-radius: 0 0 0 8px;
    z-index: 501;
}

.hamburger {
    position: fixed;
    top: 0;
    z-index: 500;
    width: 90%;
    background-color: rgba(0, 0, 0, 0.66);
    height: 100%;
}

.hamburger ul li {
    border-bottom: solid 1px rgba(255, 255, 255, 0.5);
}

.hamburger ul li a {
    display: block;
    padding: 20px 0 20px 20px;
    font-size: 20px;
    color: #ffffff;
}

#page_top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    display: none;
    text-align: center;
    height: 70px;
    width: 70px;
    border-radius: 50px;
    font-size: 18px;
    font-weight: bold;
    cursor: pointer;
    overflow: hidden;
    z-index: 2;
}

#page_top p {
    color: #ffffff;
    background-color: rgba(245, 130, 32, 0.7);
    width: 100%;
    height: 100%;
    font: inherit;
    font-size: 100%;
}

#page_top:hover {
    animation: pon 1s infinite;
}

#page_top p:hover {
    background-color: rgba(245, 130, 32, 0.4);
}

#hd_area_smartphone,
#hd_area_middle {
    display: none;
}

.notice_smartphone .notice_area {}

.logo_smartphone {}

.hambmenu_smartphone {
    position: fixed;
    top: 0;
    right: 0;
    background-color: #ffffff;
    width: 50px;
    height: 50px;
    line-height: 50px;
    font-size: 24px;
    text-align: center;
    border-left: solid 1px #dddddd;
    border-bottom: solid 1px #bbbbbb;
    border-radius: 0 0 0 8px;
    z-index: 501;
}

.hamburger {
    position: fixed;
    top: 0;
    z-index: 500;
    width: 90%;
    background-color: rgba(0, 0, 0, 0.66);
    height: 100%;
}

.hamburger ul li {
    border-bottom: solid 1px rgba(255, 255, 255, 0.5);
}

.hamburger ul li a {
    display: block;
    padding: 20px 0 20px 20px;
    font-size: 20px;
    color: #ffffff;
}

#page_top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    display: none;
    text-align: center;
    height: 70px;
    width: 70px;
    border-radius: 50px;
    font-size: 18px;
    font-weight: bold;
    cursor: pointer;
    overflow: hidden;
    z-index: 2;
}

#page_top p {
    color: #ffffff;
    background-color: rgba(245, 130, 32, 0.7);
    width: 100%;
    height: 100%;
}

#page_top:hover {
    animation: pon 1s infinite;
}

#page_top p:hover {
    background-color: rgba(245, 130, 32, 0.4);
}

@keyframes pon {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.1);
    }
    100% {
        transform: scale(1);
    }
}

#page_top span {
    padding: 0 0 2px 0;
    font-weight: normal;
    font-size: 20px;
    margin-top: 0;
}

@media screen and (max-width:767px) {
    #right_con {
        overflow-x: auto;
        overflow-y: hidden;
    }
}

.title {
    border-left: solid 4px #402720;
    background-color: #ECECEC;
    background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(.25, #F9F9F9), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, #F9F9F9), color-stop(.75, #F9F9F9), color-stop(.75, transparent), to(transparent));
    -webkit-background-size: 6px 6px;
    line-height: 60px;
    margin: 10px 0;
    padding-left: 18px;
    font-size: 20px;
    font-weight: bold;
    color: #2b0d0d;
    letter-spacing: 0.05em;
}

.button {
    display: inline-block;
    padding: 8px 16px;
    font-size: 16px;
    background-color: #eeeeee;
    border: solid 1px #bbbbbb;
    border-radius: 4px;
    color: #4e2108;
    line-height: 24px;
    cursor: pointer;
    transition: all 200ms;
}

.button:hover {
    background-color: #cccccc;
    transform: translate(0px, -0.5px);
}

.button.orange {
    background-color: #f58220;
    border: solid 1px #dd6600;
    color: #ffffff;
    font-weight: bold;
}

.button.orange:hover {
    opacity: 0.66;
    transform: translate(0px, -0.5px);
}

.button.orange {
    background-color: #f58220;
    border: solid 1px #dd6600;
    color: #ffffff;
    font-weight: bold;
}

.button.orange:hover {
    opacity: 0.66;
    transform: translate(0px, -0.5px);
}

.movie_area {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1001;
    background-color: rgba(0, 0, 0, 0.8);
}

.movie_area p {
    color: #ffffff;
    font-size: 18px;
    padding: 12px;
    cursor: pointer;
    position: absolute;
    top: 0;
    right: 0;
}

.movie_area iframe {
    position: absolute;
    width: 80%;
    height: 80%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
}

select.child_color_1 {
    border: solid 1px #ff0000;
    background-color: rgba(255, 0, 0, 0.1);
}

select.child_color_2 {
    border: solid 1px #00bb00;
    background-color: rgba(0, 187, 0, 0.1);
}

select.child_color_3 {
    border: solid 1px #0000ff;
    background-color: rgba(0, 0, 255, 0.1);
}

select.child_color_4 {
    border: solid 1px #dddd00;
    background-color: rgba(221, 221, 0, 0.1);
}

select.child_color_5 {
    border: solid 1px #33ffff;
    background-color: rgba(51, 255, 255, 0.1);
}

select.child_color_6 {
    border: solid 1px #ff66ff;
    background-color: rgba(255, 102, 255, 0.1);
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type="number"] {
    -moz-appearance: textfield;
}

#registFix {
    display: none;
}

/*------------------------------
RESET STYLE スタイルシート初期化
------------------------------*/

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font: inherit;
    font-size: 100%;
    vertical-align: baseline;
    background-color: transparent;
}

html,
body {
    height: 100%;
}

html {
    -ms-text-size-adjust: 100%;
    /* 2 */
    -webkit-text-size-adjust: 100%;
    /* 2 */
}

body {
    line-height: 1;
    font-family: /*"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3",*/
    "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Arial, Verdana, sans-serif;
    /*背景切れ防止,全体のwidthと同一にする*/
    font-size: 14px;
}

ol,
ul {
    list-style: none;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

br {
    letter-spacing: 0;
}

img {
    line-height: 0;
    vertical-align: bottom;
}

/* change colours to suit your needs */

ins {
    background-color: #ff9;
    color: #000;
    text-decoration: none;
}

/* change colours to suit your needs */

mark {
    background-color: #ff9;
    color: #000;
    font-style: italic;
    font-weight: bold;
}

del {
    text-decoration: line-through;
}

abbr[title],
dfn[title] {
    border-bottom: 1px dotted;
    cursor: help;
}

/* change border colour to suit your needs */

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #cccccc;
    margin: 1em 0;
    padding: 0;
}

input,
select {
    vertical-align: middle;
}

/*------------------------------
TIPS
------------------------------*/

/*float解除*/

.clearfix {
    /* overflow: hidden; */
    zoom: 1;
}

.clear {
    clear: both;
}

/*画像置き換え*/

.sprite,
#topcont_btn a,
#tnav a,
#topcont_btn02 a,
.btn,
#snav a,
#return a,
#ft_area a,
#bnav a {
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}

/*CSS3 Animation*/

a,
a>span,
.anime {
    text-decoration: none;
    -webkit-transition: all 200ms linear;
    -moz-transition: all 200ms linear;
    -o-transition: all 200ms linear;
    -ms-transition: all 200ms linear;
    transition: all 200ms linear;
}

/*HighLight*/

.highlight:hover,
#bnav a:hover {
    display: block;
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;
    zoom: 1;
}

.highlight {
    -webkit-transition: all 200ms linear;
    -moz-transition: all 200ms linear;
    -o-transition: all 200ms linear;
    -ms-transition: all 200ms linear;
    transition: all 200ms linear;
}

.fleft {
    float: left;
}

.fright {
    float: right;
}

.ileft {
    float: left;
    margin-right: 20px;
}

.iright {
    float: right;
    margin-left: 20px;
}

.tcenter {
    text-align: center;
}

.tleft {
    text-align: left;
}

.tright {
    text-align: right;
}

.tleft a:hover,
.tright a:hover {
    text-decoration: underline;
}

.mauto {
    margin: 0 auto;
}

.m5 {
    margin: 5px;
}

.m10 {
    margin: 10px;
}

.m20 {
    margin: 20px;
}

.m30 {
    margin: 30px;
}

.m40 {
    margin: 40px;
}

.m50 {
    margin: 50px;
}

.m60 {
    margin: 60px;
}

.m70 {
    margin: 70px;
}

.mb5 {
    margin-bottom: 5px;
}

.mb10 {
    margin-bottom: 10px;
}

.mb20 {
    margin-bottom: 20px;
}

.mb30 {
    margin-bottom: 30px;
}

.mb40 {
    margin-bottom: 40px;
}

.mb50 {
    margin-bottom: 50px;
}

.mb60 {
    margin-bottom: 60px;
}

.mb70 {
    margin-bottom: 70px;
}

.mt5 {
    margin-top: 5px;
}

.mt10 {
    margin-top: 10px;
}

.mt20 {
    margin-top: 20px;
}

.mt30 {
    margin-top: 30px;
}

.mt40 {
    margin-top: 40px;
}

.mt50 {
    margin-top: 50px;
}

.ml5 {
    margin-left: 5px;
}

.ml10 {
    margin-left: 10px;
}

.ml20 {
    margin-left: 20px;
}

.ml30 {
    margin-left: 30px;
}

.ml40 {
    margin-left: 40px;
}

.ml50 {
    margin-left: 50px;
}

.mr5 {
    margin-right: 5px;
}

.mr10 {
    margin-right: 10px;
}

.mr20 {
    margin-right: 20px;
}

.mr30 {
    margin-right: 30px;
}

.mr40 {
    margin-right: 40px;
}

.mr50 {
    margin-right: 50px;
}

.pink {
    color: #eb6f86;
    font-weight: bold;
}

.green {
    color: #88CD1B;
    font-weight: bold;
}

.blue {
    color: #1377b6;
    font-weight: bold;
}

.red {
    color: #ff272e;
}

.orange {
    color: #f58220;
}

.light-orange {
    color: #FEE7CA;
}

.light-green {
    color: #E1F3C5;
}

.brown {
    color: #402720;
}

.black {
    color: #231815;
}

.bold {
    font-weight: bold;
}

.clear {
    clear: both;
    margin: 0;
    padding: 0;
}

.font11 {
    font-size: 11px !important;
    line-height: 16px !important;
}

.font12 {
    font-size: 12px !important;
    line-height: 18px !important;
}

.font13 {
    font-size: 13px !important;
    line-height: 18px !important;
}

.font14 {
    font-size: 14px !important;
    line-height: 20px !important;
}

.font15 {
    font-size: 15px !important;
    line-height: 20px !important;
}

.font16 {
    font-size: 16px !important;
    line-height: 20px !important;
}

.font18 {
    font-size: 18px !important;
    line-height: 20px !important;
}

.none {
    display: none;
}

.pore {
    position: relative;
}

.t_link {
    color: #ee4363;
    font-weight: bold;
}

.t_link:hover {
    text-decoration: underline;
}

.linkTxt {
    color: #126dbb;
    line-height: 1.1rem;
}

.small {
    font-size: 11px;
    line-height: 1.6;
    display: block;
}

#content .title .small {
    display: inline;
    font-size: 16px;
}

.bgOrange {
    background-color: #F58200;
    color: #fff;
    padding: 8px;
}

.bgLightOrange {
    background-color: #FFEBCD;
    padding: 8px;
}

a:not(#no_hover):hover span {
    filter: alpha(opacity=0);
    -moz-opacity: 0;
    opacity: 0;
    zoom: 1;
}

a {
    color: #126dbb;
}

.link-in:hover,
.link-out:hover,
.link-chat:hover {
    opacity: 0.8;
}

.link-in:after,
.link-out:after,
.link-chat:after,
.additionalInfo:after {
    font-family: 'FontAwesome';
    margin-left: 2px;
}

.link-in:after {
    content: '\f138';
}

.link-out:after {
    content: '\f08e';
}

.link-chat:after {
    content: '\f27a';
}

.additionalInfo {
    position: relative;
}

.additionalInfo:after {
    content: '\f05a';
    cursor: pointer;
    color: #f00;
    font-size: 1.2em;
}

.additionalInfo:hover:after {
    -webkit-filter: brightness(140%);
    color: #fc4c4c;
}

.infoBox {
    background-color: #ff95b3;
    color: #fff;
    padding: 5px;
    display: none;
}

.infoBox.on {
    display: block;
}

.checkMark:before {
    font-family: 'FontAwesome';
    margin-right: 2px;
    content: '\f046';
    color: #F58200;
    font-size: 1.1em;
}

@font-face {
    font-family: 'mgenround1';
    src: url('../font/rounded-l-mplus-1c-thin.ttf') format('truetype');
}

@font-face {
    font-family: 'mgenround2';
    src: url('../font/rounded-l-mplus-1c-light.ttf') format('truetype');
}

@font-face {
    font-family: 'mgenround3';
    src: url('../font/rounded-l-mplus-1c-regular.ttf') format('truetype');
}

@font-face {
    font-family: 'mgenround4';
    src: url('../font/rounded-l-mplus-1c-medium.ttf') format('truetype');
}

@font-face {
    font-family: 'mgenplus1';
    src: url('../font/rounded-l-mplus-1c-bold.ttf') format('truetype');
}

@font-face {
    font-family: 'mgenplus2';
    src: url('../font/rounded-l-mplus-1c-heavy.ttf') format('truetype');
}

@font-face {
    font-family: 'mgenplus3';
    src: url('../font/rounded-l-mplus-1c-black.ttf') format('truetype');
}

@font-face {
    font-family: 'honokamarugo';
    src: url('../font/font_1_honokamarugo_1.1.ttf') format('truetype');
}

/*------------------------------
COMMON 共通スタイル
------------------------------*/

/*-----[共通ページ用]-----*/

.ttl02 {
    line-height: 32px;
    font-size: 18px;
    font-weight: normal;
    color: #fff;
    text-align: center;
    margin-bottom: 10px;
    background: url(../../../u/common/images/common/ttl02.png) no-repeat;
}

.ttl02.pink {
    background-position: 0 0;
}

.ttl02.green {
    background-position: 0 -60px;
}

.ttl02.blue {
    background-position: 0 -120px;
}

.ttl02.purple {
    background-position: 0 -180px;
}

.ttl02.yellow {
    background-position: 0 -240px;
}

.ttl03 {
    font-weight: bold;
    font-size: 17px;
    color: #2b0d0d;
    letter-spacing: 0.05em;
}

.ttl03 span {
    margin-right: 4px;
    position: relative;
    top: -1px;
}

.ttl03 .pink {
    color: #ff95b3;
}

.ttl04 {
    border-top: dashed 1px #2b0d0d;
    border-bottom: dashed 1px #2b0d0d;
    margin: 0 0 20px;
    padding: 13px 0 11px;
    text-align: center;
    font-size: 17px;
    font-weight: bold;
    letter-spacing: 0.05em;
}

.read_text {
    width: 690px;
    resize: vertical;
    text-align: left;
    padding: 10px;
}

.table01 {
    width: 100%;
    font-size: 13px;
}

.table01 th,
.table01 td {
    padding: 7px 10px;
    border: solid 1px #2b0d0d;
    vertical-align: middle;
    line-height: 1.6;
}

.table01 th {
    background: #E8E0D6;
    font-weight: bold;
}

/*-----[緊急時メッセージ]-----*/

.notice_area {
    width: 960px;
    margin: 0 auto;
    padding-top: 20px;
}

.notice_area p,
.err_msg {
    background-color: #ff95b3;
    font-size: 14px;
    color: #fff;
    letter-spacing: 0.05em;
    line-height: 1.4;
    padding: 3px 10px;
}

.err_msg {
    margin-bottom: 30px;
}

/*-----[緊急時メッセージ ここまで]-----*/

/*---共通ボタンデザイン---*/

.btnAuto {
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    width: auto;
    height: auto;
    border-radius: 3px;
    cursor: pointer;
}

.btnL {
    width: 280px;
    height: 44px;
    line-height: 44px;
    font-size: 18px;
    font-weight: bold;
    border-radius: 3px;
    cursor: pointer;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    -ms-transition: 0.3s;
    transition: 0.3s;
    margin-top: 1px;
    text-align: center;
    border: none;
    box-sizing: border-box;
}

.btnL a {
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

.btnLplus2 {
    height: 60px;
    line-height: 22px;
    box-sizing: border-box;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
}

.btnM {
    width: 160px;
    height: 36px;
    line-height: 36px;
    font-size: 16px;
    font-weight: bold;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    cursor: pointer;
    text-align: center;
    border: none;
}

.btnS {
    width: 70px;
    height: 32px;
    line-height: 32px;
    font-size: 15px;
    font-weight: bold;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    cursor: pointer;
    text-align: center;
    border: none;
}

.btnAuto:hover,
.btnL:hover,
.btnM:hover,
.btnS:hover {
    -webkit-transform: translate(0px, -1px);
    -moz-transform: translate(0px, -1px);
    -ms-transform: translate(0px, -1px);
    -o-transform: translate(0px, -1px);
    transform: translate(0px, -1px);
    -webkit-filter: brightness(140%)
}

.orangeBtn,
.orangeBtn a {
    background-color: #F58220;
    color: #fff;
}

.lightorangeBtn,
.lightorangeBtn a {
    background-color: #FFEBCD;
    color: #2b0d0d;
}

.lightgreyBtn,
.lightgreyBtn a {
    background-color: #dadada;
    color: #2b0d0d;
}

.greyBtn,
.greyBtn a {
    background-color: #959595;
    color: #fff;
}

.greenBtn,
.greenBtn a {
    background-color: #88CD1B;
    color: #fff;
}

.greenBtn:hover {
    -webkit-filter: brightness(110%)
}

.whiteBtn_orange {
    background-color: #fff;
    color: #2b0d0d;
    border: 1px solid #F58200;
}

.whiteBtn_green {
    background-color: #fff;
    color: #88cd1b;
    border: 1px solid #88CD1B;
}

.lightorangeTable {
    background-color: #FFEBCD;
    color: #2b0d0d;
    display: flex;
    display: -webkit-flex;
    justify-content: flex-start wrap;
    align-items: center;
    width: 100%;
    font-size: 1.2em;
    padding: 8px;
    border-radius: 6px;
    box-sizing: border-box;
}

.lightorangeTable dt {
    font-weight: bold;
    width: 30%;
    text-align: center;
    box-sizing: border-box;
}

.lightorangeTable dd {
    background-color: #fff;
    color: #2b0d0d;
    padding: 10px;
    width: 70%;
    text-align: center;
    box-sizing: border-box;
}

.next {
    background-image: url("../../../u/common/images/icon/ic_go.png");
    background-repeat: no-repeat;
    background-position: right 3px top 50%;
    background-size: 18px;
}

.back {
    background-image: url("../../../u/common/images/icon/ic_back.png");
    background-repeat: no-repeat;
    background-position: left 3px top 50%;
    background-size: 18px;
}

.btnAuto {
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    width: auto;
    height: auto;
    border-radius: 3px;
    cursor: pointer;
}

.btnL {
    width: 280px;
    height: 44px;
    line-height: 44px;
    font-size: 18px;
    font-weight: bold;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    cursor: pointer;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    -ms-transition: 0.3s;
    transition: 0.3s;
    margin-top: 1px;
    text-align: center;
    border: none;
    box-sizing: border-box;
}

.btnL a {
    width: 100%;
    height: 100%;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    border-radius: 3px;
}

.btnLplus2 {
    height: 60px;
    line-height: 22px;
    box-sizing: border-box;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
}

.btnM {
    width: 160px;
    height: 36px;
    line-height: 36px;
    font-size: 16px;
    font-weight: bold;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    cursor: pointer;
    text-align: center;
    border: none;
}

.btnS {
    width: 70px;
    height: 32px;
    line-height: 32px;
    font-size: 15px;
    font-weight: bold;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    cursor: pointer;
    text-align: center;
    border: none;
}

.btnAuto:hover,
.btnL:hover,
.btnM:hover,
.btnS:hover {
    -webkit-transform: translate(0px, -1px);
    -moz-transform: translate(0px, -1px);
    -ms-transform: translate(0px, -1px);
    -o-transform: translate(0px, -1px);
    transform: translate(0px, -1px);
    -webkit-filter: brightness(140%)
}

.orangeBtn,
.orangeBtn a,
.greenBtn,
.greenBtn a,
.greyBtn,
.greyBtn a {
    color: #fff;
}

.orangeBtn {
    background-color: #F58220;
}

.greenBtn {
    background-color: #88CD1B;
}

.greenBtn:hover {
    -webkit-filter: brightness(110%)
}

.greyBtn {
    background-color: #959595;
}

.lightorangeBtn,
.lightorangeBtn a,
.lightgreyBtn,
.lightgreyBtn a,
.whiteBtn_orange,
.whiteBtn_orange a,
.whiteBtn_green,
.whiteBtn_green a {
    color: #2b0d0d;
}

.lightorangeBtn {
    background-color: #FFEBCD;
}

.lightgreyBtn {
    background-color: #dadada;
}

.whiteBtn_orange {
    background-color: #fff;
    border: 1px solid #F58200;
}

.whiteBtn_green {
    background-color: #fff;
    border: 1px solid #88CD1B;
}

.lightorangeTable {
    background-color: #FFEBCD;
    color: #2b0d0d;
    display: flex;
    display: -webkit-flex;
    justify-content: flex-start wrap;
    align-items: center;
    width: 100%;
    font-size: 1.2em;
    padding: 8px;
    border-radius: 6px;
    box-sizing: border-box;
}

.lightorangeTable dt {
    font-weight: bold;
    width: 30%;
    text-align: center;
    box-sizing: border-box;
}

.lightorangeTable dd {
    background-color: #fff;
    color: #2b0d0d;
    padding: 10px;
    width: 70%;
    text-align: center;
    box-sizing: border-box;
}

.next {
    background-image: url("../../../u/common/images/icon/ic_go.png");
    background-repeat: no-repeat;
    background-position: right 3px top 50%;
    background-size: 18px;
}

.back {
    background-image: url("../../../u/common/images/icon/ic_back.png");
    background-repeat: no-repeat;
    background-position: left 3px top 50%;
    background-size: 18px;
}

/*--上向き吹き出し 矢印10px--*/

.arrow_box {
    display: inline-block;
    position: relative;
    min-width: 30px;
    border: 1px solid;
}

.arrow_box:after,
.inputArea .arrow_box:before {
    bottom: 100%;
    left: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
}

.arrow_box:after {
    border-color: rgb(0, 0, 0, 0);
    border-bottom-color: rgb(0, 0, 0);
    border-width: 10px;
    margin-left: -10px;
}

.arrow_box:before {
    border-color: rgba(0, 0, 0, 1);
    border-bottom-color: #000000;
    border-width: 11px;
    margin-left: -11px;
}

/*--左向き吹き出し 矢印10px--*/

.arrow_box_L {
    position: relative;
    background: #fff;
    border: 1px solid;
}

.arrow_box_L:after,
.arrow_box_L:before {
    right: 100%;
    top: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
}

.arrow_box_L:after {
    border-color: rgba(255, 255, 255, 0);
    border-right-color: #fff;
    border-width: 10px;
    margin-top: -10px;
}

.arrow_box_L:before {
    border-color: rgba(245, 130, 0, 0);
    border-right-color: #000;
    border-width: 11px;
    margin-top: -11px;
}

#wrapper {
    position: relative;
    padding-top: 20px;
    margin-bottom: -30px;
    overflow: auto;
}

p {
    color: #2b0d0d;
    background: url(../../../u/common/images/common/clear.png);
}

/*-----[CSS SPRITE]-----*/

#hd_contact ul,
#ft_contact ul,
#ft_contact li:first-child a,
#ft_contact li:first-child span,
#ft_contact li a,
#ft_contact li span,
#ft_btn a,
#ft_btn span {
    background-image: url(../../../u/common/images/common/sprite03.png);
    background-repeat: no-repeat;
}

#ft_contact.supportOpen ul,
#ft_contact.supportOpen li:first-child a,
#ft_contact.supportOpen li:first-child span,
#ft_contact.supportOpen li a,
#ft_contact.supportOpen li span {
    background-image: url(../../../u/common/images/common/sprite_nowon.png);
    background-repeat: no-repeat;
}

#ft_contact.supportClose ul,
#ft_contact.supportClose li:first-child a,
#ft_contact.supportClose li:first-child span,
#ft_contact.supportClose li a,
#ft_contact.supportClose li span {
    background-image: url(../../../u/common/images/common/sprite_nowoff.png);
    background-repeat: no-repeat;
}

#lesson_count,
#hd_btn p:first-child a,
#hd_btn p:first-child span,
#hd_btn p a,
#gnav ul,
.fnav a {
    #background-image: url(../../../u/common/images/common/sprite02.png);
    #background-repeat: no-repeat;
}

#sidebar .login,
#snav a {
    background-image: url(../../../u/common/images/common/side_sprite.png);
    background-repeat: no-repeat;
}

/*-----[CSS SPRITE ここまで]-----*/

/*-----[下層ページ]-----*/

#top_area {
    position: relative;
    z-index: 1;
    margin-top: -45px;
    padding-top: 70px;
    background: url(../../../u/common/images/common/topimage.png) no-repeat center top;
}

#main_ttl {
    text-align: center;
    font-size: 36px;
    font-weight: bold;
    color: #2b0d0d;
}

#bread {
    text-align: center;
}

#bread ul {
    display: inline-block;
    margin: 10px auto 0;
    font-size: 12px;
    background: #fff;
    background: rgba(255, 255, 255, 0.8);
    border-radius: 20px;
    letter-spacing: -0.4em;
    padding: 0 15px;
}

#bread li {
    display: inline-block;
    letter-spacing: normal;
    padding: 2px 0;
}

#bread a {
    color: #2b0d0d;
}

#bread a:hover {
    text-decoration: underline;
}

#bread a:hover span {
    opacity: 1;
}

#content {
    width: 960px;
    margin: 10px auto 0;
    min-height: 500px;
    padding: 50px;
    background: url(../../../u/common/images/common/sub_bg.png) no-repeat;
}

/* 2016.02.22 追記 */

#bnav,
#in_bnav {
    margin: 30px 0 0;
    overflow: hidden;
    zoom: 1;
}

#bnav li,
#in_bnav li {
    float: left;
    margin-left: 15px;
}

#bnav li:first-child,
#in_bnav li:first-child {
    margin-left: 0;
}

#bnav a {
    display: block;
    width: 226px;
    height: 50px;
    background-image: url(../../../u/common/images/common/bmenu.png);
    background-repeat: no-repeat;
}

#in_bnav a {
    display: block;
    width: 226px;
    height: 50px;
}

/* 2016.02.22 追記 */

#bmenu02 a {
    background-position: 0 -70px;
}

#bmenu03 a {
    background-position: 0 -140px;
}

#bmenu04 a {
    background-position: 0 -210px;
}

#bmenu05 a {
    background-position: 0 -280px;
}

#bmenu06 a {
    background-position: 0 -350px;
}

#bmenu07 a {
    background-position: 0 -420px;
}

#bmenu08 a {
    background-position: 0 -490px;
}

#bmenu09 a {
    background-position: 0 -560px;
}

/*-----[下層ページ ここまで]-----*/

/*-----[コンテンツ]-----*/

#content.home {
    background: none;
    height: auto;
    padding: 0;
}

#main,
#sidebar {
    margin-bottom: 60px;
}

#main {
    width: 710px;
    float: left;
}

#main section {
    margin: 0 0 60px;
}

#main section .title {
    background: url(../../../u/common/images/common/bar.png) no-repeat;
    line-height: 70px;
    margin: 0 0 25px;
    padding: 0 20px;
    font-size: 20px;
    font-weight: bold;
    color: #2b0d0d;
    letter-spacing: 0.05em;
}

#main section .title.small {
    font-size: 18px;
}

#main section p {
    font-size: 14px;
    line-height: 1.7;
    letter-spacing: 0.02em;
}

#main .btn {
    width: 210px;
    height: 35px;
    border-radius: 2px;
    margin: 0 0 0 auto;
}

#main .btn a {
    background: url(../../../u/common/images/common/more02.png) no-repeat center 10px #2b0d0d;
}

.btn a {
    display: block;
    width: 100%;
    height: 100%;
}

#main .btn a:hover {
    background-color: #7a6962;
}

#sidebar {
    width: 220px;
    float: right;
}

#sidebar p,
#sidebar #pv {
    margin: 0 0 25px;
}

#sidebar .login {
    background-position: 0 0;
    height: 200px;
    position: relative;
}

#sidebar .login a {
    display: block;
    position: absolute;
    bottom: 19px;
    left: 25px;
    width: 170px;
    padding: 8px 0;
    color: #fff;
    background: #2b0d0d;
    border-radius: 3px;
    text-align: center;
    font-size: 16px;
    letter-spacing: 0.05em;
}

#sidebar .login a:hover {
    background-color: #eb6f86;
}

#snav li {
    margin: 0 0 25px;
}

#snav a {
    display: block;
    height: 75px;
}

#smenu01 a {
    background-position: 0 -230px;
}

#smenu02 a {
    background-position: 0 -335px;
}

#smenu03 a {
    background-position: 0 -440px;
}

#fb {
    margin-bottom: 25px;
    height: 300px;
}

#login_nav {
    background: #2b0d0d;
    border-radius: 8px;
    padding: 10px;
    margin-bottom: 25px;
}

#login_nav h1 {
    background: url(../../../u/common/images/common/login_nav.png) no-repeat;
    height: 21px;
    margin-bottom: 10px;
}

#login_nav ul {
    padding: 8px;
    border-radius: 5px;
    background: #fff;
}

#login_nav li:first-child {
    margin-bottom: 8px;
}

#login_nav a {
    display: block;
    width: 100%;
    height: 100%;
    color: #fff;
    padding: 6px 0;
    text-align: center;
    font-size: 16px;
    background: #7a6962;
    border-radius: 2px;
}

#login_nav a:hover {
    background: #eb6f86;
}

/*-----[コンテンツ ここまで]-----*/

/*-----[フッター]-----*/

#footer {
    width: 100%;
    clear: both;
    background: url(../../../u/common/images/common/ft_bg.png) repeat-x;
    position: relative;
    text-align: left;
}

#footer div.ft_area {
    background: url(../../../u/common/images/common/ft_bg02.png) no-repeat center top;
    padding-top: 65px;
    height: 83px;
}

#ft_area,
#return {
    width: 960px;
    margin: 0 auto;
    position: relative;
}

#return {
    position: absolute;
    top: -30px;
    width: 960px;
    height: 95px;
    background: url(../../../u/common/images/common/return_bg.png) no-repeat right top;
    left: 50%;
    margin-left: -480px;
}

#return a,
#return span {
    display: block;
    width: 213px;
    height: 95px;
    position: absolute;
    bottom: 0;
    right: 0;
}

#return a {
    background: url(../../../u/common/images/common/return02.png) no-repeat 10px 10px;
}

#return span {
    background: url(../../../u/common/images/common/return01.png) no-repeat 10px 10px;
}

#return a:hover span {
    filter: alpha(opacity=0);
    -moz-opacity: 0;
    opacity: 0;
    zoom: 1;
}

#ft_area p {
    position: absolute;
    top: -10px;
}

#ft_area a {
    display: block;
}

#ft_contact {
    margin-top: 5px;
    float: left;
    padding-left: 80px;
}

.regist #ft_area {
    box-sizing: border-box;
    padding-left: 350px;
}

#ft_contact ul {
    float: left;
    background-position: 0 -563px;
    width: 147px;
    padding-left: 410px;
    height: 65px;
    padding-top: 5px;
}

#ft_contact li:first-child a {
    background-position: 0 -223px;
    width: 147px;
    height: 29px;
    margin-bottom: 7px;
}

#ft_contact li:first-child span {
    background-position: 0 -174px;
}

#ft_contact li a {
    background-position: 0 -317px;
    height: 25px;
}

#ft_contact li span {
    display: block;
    width: 100%;
    height: 100%;
    background-position: 0 -272px;
}

#ft_inquiry {
    margin-top: 5px;
    float: left;
    padding-left: 10px;
    width: auto;
}

#ft_inquiry p {
    float: left;
    width: 550px;
    height: 65px;
    padding-top: 20px;
    font-size: 13px;
    line-height: 1.6;
}

#ft_inquiry a {
    padding-top: 20px;
    padding-left: 600px;
    height: 25px;
    width: 100%;
}

#ft_inquiry span {
    display: block;
    width: 100%;
    height: 100%;
    background: url(../../../u/common/images/common/sprite_nowon.png) 0 -272px no-repeat;
}

#ft_area #ft_btn {
    float: right;
    position: static;
    margin: 3px 0 0 40px;
}

#ft_btn a,
#ft_btn span {
    display: block;
    width: 270px;
    height: 62px;
}

#ft_btn a {
    background-position: 0 -82px;
}

#ft_btn span {
    background-position: 0 0;
}

#footer>div {
    background: url(../../../u/common/images/common/footer_bg_01.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top;
}

.fnav a {
    color: #2b0d0d;
    font-size: 12px;
    background-position: 0 -79px;
    padding: 0;
}

.fnav {
    width: 960px;
    margin: 0 auto;
}

.fnav a {
    position: relative;
}

.fnav a:hover {
    left: 3px;
}

#fnav01 {
    width: 900px;
    padding: 35px 0 15px;
    margin-bottom: 50px;
    margin-top: 50px;
    display: flex;
    justify-content: space-between;
}

#fnav01 li {
    display: inline;
    margin: 0;
    position: relative;
}

#fnav01 li > a {
    padding: 0;
    color: #000;
    font-weight: 500;
    font-size: 14px;
    font-family: Noto Sans JP,sans-serif,"\6E38\30B4\30B7\30C3\30AF",YuGothic,"\30D2\30E9\30AE\30CE\89D2\30B4 ProN W3",Hiragino Kaku Gothic ProN;
    text-rendering: optimizeLegibility;
    text-size-adjust: 100%;
    letter-spacing: .1em;
    -webkit-transition: opacity .5s ease;
    -webkit-font-smoothing: antialiased;
    transition: opacity .5s ease;
}

#fnav01 li:first-child {
    margin: 0;
}

.divider {
    border-left:1px solid #000;
}

#fnav02 {
    display: flex;
	justify-content: space-between;
	width: 900px;
    overflow: hidden;
    zoom: 1;
}

#fnav02 section {
    margin: 80px 0 0 0;
}

#fnav02 p {
    margin: 0;
    padding: 0;
    color: #000;
    font-family: Noto Sans JP,sans-serif,"\6E38\30B4\30B7\30C3\30AF",YuGothic,"\30D2\30E9\30AE\30CE\89D2\30B4 ProN W3",Hiragino Kaku Gothic ProN;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .2em;
    line-height: inherit;
}

#fnav02 li {
    margin: 5px 0 0;
}

#fnav02 li > a {
    margin: 0; 
    padding: 0; 
    color: #000;
    font-family: Noto Sans JP,sans-serif,"\6E38\30B4\30B7\30C3\30AF",YuGothic,"\30D2\30E9\30AE\30CE\89D2\30B4 ProN W3",Hiragino Kaku Gothic ProN;
    font-size: 14px; 
    font-weight: 500;
    line-height: 25px;  
    letter-spacing: .1em; 
}

small {
    display: block;
    padding: 0 0 45px 0;
    color: #000;
    font-size: 11px;
    font-weight: 400;
    font-family: Noto Sans JP,sans-serif,"\6E38\30B4\30B7\30C3\30AF",YuGothic,"\30D2\30E9\30AE\30CE\89D2\30B4 ProN W3",Hiragino Kaku Gothic ProN;
    letter-spacing: .1em;
    text-align: center;
}

/*-----[フッター ここまで]-----*/

/*-----[ヘッダー新スタイル]-----*/

#header {
    margin: 0 auto;
    background: url(../../../u/common/images/common/hd_bg.png) no-repeat center bottom;
    padding-bottom: 35px;
    position: relative;
    top: -16px;
    left: 0;
    z-index: 300;
}

#header h1 {
    font-size: 10px;
    line-height: 1.4;
    color: #502009;
}

#hd_area {
    width: 100%;
    height: 88px;
    margin: 0 auto;
    clear: both;
}

/*--ヘッダー固定部分--*/

#hdFix {
    background-color: #fff;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}

#hdFix.fixed {
    position: fixed;
    top: 0;
    left: 100;
    width: 100%;
    background-color: #fff;
}

#hdTop {
    position: relative;
    width: 100%;
    float: left;
    margin: 0 auto;
    height: 68px;
    margin: 0;
    padding: 10px 0 8px;
    box-sizing: border-box;
}

#logo {
    float: left;
    margin: 0 10px 0 30px;
}

#logo a {
    display: block;
    margin-bottom: 10px;
    position: relative;
    z-index: 2;
    cursor: pointer;
}

#logo a:hover {
    filter: brightness(105%);
}

#logo a img {
    height: 50px;
}

/*--ナビゲーション--*/

#gnav {
    float: left;
    margin: 0 auto;
    padding: 9px 0 0 10px;
    position: relative;
}

#gnav ul.default {
    /* background: url(../../../u/common/images/common/gnav_bg.png) no-repeat left bottom; */
    position: absolute;
    left: 0;
    height: 40px;
}

#gnav ul.default li {
    float: left;
    /* background: url(../../../u/common/images/common/gnav_bg.png) no-repeat right bottom; */
    height: 29px;
}

#gnav ul.default a {
    display: flex;
    display: -webkit-flex;
    align-items: center;
    padding: 0 8px;
    position: relative;
    text-align: center;
}

#gnav ul.default li:first-child a {
    border-right: 1px solid;
}

#gnav ul.default a img {
    padding-top: 7px;
    width: 100%;
}

#gnav ul.default a:hover {
    filter: alpha(opacity=80);
    -moz-opacity: 0.8;
    opacity: 0.8;
    zoom: 1;
    -webkit-transform: translate(0px, -1px);
    -moz-transform: translate(0px, -1px);
    -ms-transform: translate(0px, -1px);
    -o-transform: translate(0px, -1px);
    transform: translate(0px, -1px);
}

.loginhdMenu_noM #gnav ul .hdMenu {
    display: -webkit-inline-flex;
    display: inline-flex;
    align-items: center;
    height: 50px;
    margin-top: -9px;
}

.loginhdMenu_noM #gnav ul .hdMenu li {
    font-size: 0.7em;
    border-right: 1px solid;
    box-sizing: border-box;
    padding: 5px 10px;
    box-sizing: border-box;
    height: calc((1.6vw + 0.3vh + .3vmin) * 0.7 + 7px);
}

@media screen and (min-width:1200px) {
    .loginhdMenu_noM #gnav ul .hdMenu li {
        height: calc(24px * 0.7 + 7px);
    }
}

.loginhdMenu_noM #gnav ul .hdMenu li a {
    border: none;
    color: #2b0d0d;
    padding: 0;
}

.loginhdMenu_noM #gnav ul .hdMenu li.over1040 {
    display: none;
}

@media screen and (min-width:1040px) {
    .loginhdMenu_noM #gnav ul .hdMenu li.over1040 {
        display: block;
        font-size: 0.6em;
    }
}

.loginhdMenu_noM #gnav ul .hdMenu li:nth-child(5),
.loginhdMenu_noM #gnav ul .hdMenu li:last-child {
    border-right: none;
}

#gnav #menu01 a {
    width: 22px;
}

#menu02 a {
    width: 88px;
}

#menu03 a {
    width: 64px;
}

#menu04 a {
    width: 73px;
}

#menu05 a {
    width: 87px;
}

#menu06 a {
    width: 121px;
}

/* #gnav a:before {
    content: " ";
    display: block;
    width: 100%;
    height: 2px;
    position: absolute;
    left: 0;
    bottom: 0;
    -webkit-transition: all 200ms linear;
    -moz-transition: all 200ms linear;
    -o-transition: all 200ms linear;
    -ms-transition: all 200ms linear;
    transition: all 200ms linear;
    border-radius: 2px;
}

#gnav ul.default a:hover:before {
    background: #eb6f86;
} */

/*--ボタン表示
----------------*/

#hd_btn {
    float: right;
    padding-left: 8px;
}

#hd_btn a {
    display: block;
    float: right;
    color: #4E4B4D;
}

#hd_btn a:hover {
    -webkit-transform: translate(0px, -1px);
    -moz-transform: translate(0px, -1px);
    -ms-transform: translate(0px, -1px);
    -o-transform: translate(0px, -1px);
    transform: translate(0px, -1px);
    opacity: 0.8;
}

/*--新しいボタン20180703--*/

#hd_btn .hdMember {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    align-items: center;
}

#hd_btn .hdMember li {
    font-size: 20px;
    width: 140px;
    height: 70px;
    text-align: center;
    vertical-align: middle;
    padding: 0 10px;
    font-weight: 800;
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    box-sizing: border-box;
}

#hd_btn .hdMember li.memberRegist {
    position: relative;
    background-color: #f58200;
    width: 180px;
    padding: 0;
}

#hd_btn .hdMember li.memberMypage {
    position: relative;
    background-color: #eb6f86;
    width: 180px;
    padding: 0;
}

#hd_btn .hdMember .memberRegist:hover,
#hd_btn .hdMember .memberMypage:hover {
    -webkit-filter: brightness(140%);
}

#hd_btn .hdMember .memberRegist a,
#hd_btn .hdMember .memberMypage a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    color: #fff;
}

#hd_btn .hdMember .memberRegist a:hover {
    opacity: 1.0;
}

/*---
ヘッダー会員登録--------------------------------*/

#header #hd_area_regist h1 {
    font-size: 0px;
}

#hd_area_regist {
    width: 100%;
    height: 50px;
    margin: 0 auto;
    clear: both;
}

#hd_area_regist #lesson_box {
    position: relative;
    width: 100%;
    height: 50px;
    float: none;
    text-align: left;
}

#hd_area_regist #lesson_box #lesson_count {
    position: absolute;
    bottom: 0;
    right: 0;
}

#hd_area_regist #lesson_box #lesson_count .loginBtn {
    display: inline-block;
    position: relative;
    bottom: 5px;
    right: 0;
    width: 90px;
    height: 25px;
    margin-left: 10px;
    border: 1px solid #2b0d0d;
    cursor: pointer;
    background-image: url("../images/icon/ic_login.png");
    background-repeat: no-repeat;
    background-position: left 2px top 50%;
    background-size: 18px;
}

#hd_area_regist #lesson_box #lesson_count .loginBtn a {
    box-sizing: border-box;
    display: block;
    width: 100%;
    height: 100%;
    line-height: 25px;
    padding-left: 25px;
    color: #4E4B4D;
    cursor: pointer;
}

#hd_area_regist #lesson_box #lesson_count .loginBtn:hover {
    -webkit-transform: translate(0px, -1px);
    -moz-transform: translate(0px, -1px);
    -ms-transform: translate(0px, -1px);
    -o-transform: translate(0px, -1px);
    transform: translate(0px, -1px);
    -webkit-filter: brightness(105%);
    background-color: #FEE7CA;
    font-style: underline !important;
}

#lesson_count span {
    color: #eb6f86;
    font-size: 18px;
    margin: 0 3px 0 0;
}

#lesson_count span span {
    font-family: Helvetica, Arial, sans-serif;
    font-size: 24px;
    font-weight: bold;
    margin-left: 10px;
    letter-spacing: 0;
}

#lesson_count img {
    margin-left: 1px;
    margin-right: 18px;
    vertical-align: middle;
}

/*-----[ヘッダー ここまで]-----*/

/*---
ログイン以降共通部分--------------------------------*/

#content .headContents,
#content .mainContents,
#content .bottomContents {
    position: relative;
    margin: 0 auto;
    padding: 0 0 20px;
    width: 100%;
    height: auto;
    color: #2b0d0d;
    /* border: 1px solid; */
}

.headContents .desc {
    text-align: center;
}

.headContents .descTtl {
    display: inline-block;
    box-sizing: border-box;
    height: 50px;
    line-height: 50px;
    font-size: 30px;
    margin: 20px 0 10px;
}

.headContents p {
    font-size: 18px;
}

.vLine {
    width: 0px;
    height: 80%;
    border-right: 1px dotted;
    position: absolute;
    top: 10%;
    right: 0;
}

/*--ステップ部分--*/

.step {
    width: 900px;
    height: 70px;
    margin: 0 auto;
    padding-top: 0px;
}

.step ul {
    clear: both;
    margin-left: 20px;
}

.step ul li {
    float: left;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    line-height: 25px;
}

.step ul li.line3 {
    width: 33.3%;
}

.step ul li .stepBox_arrow {
    position: relative;
    background: #ffffff;
    border: 2px solid #C0BAB5;
    color: #948F8B;
    width: 93%;
    width: -webkit-calc(100% - 21px);
    width: calc(100% - 21px);
    height: 70px;
    display: flex;
    align-items: center;
}

.stepBox_arrow:after,
.stepBox_arrow:before {
    left: 100%;
    top: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
}

.stepBox_arrow:after {
    border-color: rgba(255, 255, 255, 0);
    border-left-color: #ffffff;
    border-width: 17px;
    margin-top: -17px;
}

.stepBox_arrow:before {
    border-color: rgba(194, 199, 204, 0);
    border-left-color: #C0BAB5;
    border-width: 20px;
    margin-top: -20px;
}

.step ul li .stepBox_arrow.on {
    border: 2px solid #F58220;
    color: #2b0d0d;
}

.step ul li .stepBox_arrow.on:before {
    border-color: rgba(194, 199, 204, 0);
    border-left-color: #F58220;
}

.step ul li .stepBox_arrow span {
    display: block;
    margin: -25px 0 0 -15px;
    padding: 25px 0 0 15px;
    flex: 1;
}

.step ul li .stepBox_arrow.last:after,
.step ul li .stepBox_arrow.last:before {
    border: none;
}

.step ul li .stepBox_arrow span.ripplele {
    background-image: url("../../common/images/common/ripplele.png");
    background-size: 40px;
    background-repeat: no-repeat;
    background-position: left top;
}

.step ul li .stepBox_arrow.last:after,
.step ul li .stepBox_arrow.last:before {
    border: none;
}

/*--2カラム構成--*/

.column2 {
    display: -webkit-flex;
    /* Safari */
    display: flex;
}

.column2 li {
    width: 50%;
    vertical-align: top;
}

.fade {
    opacity: 0;
}

.column2 li.fade:nth-child(1) {
    -webkit-animation: fadeIn 0.3s ease 0.3s 1 forwards;
    animation: fadeIn 0.3s ease 0.3s 1 forwards;
}

.column2 li.fade:nth-child(2) {
    -webkit-animation: fadeIn 0.5s ease 0.8s 1 forwards;
    animation: fadeIn 0.5s ease 0.8s 1 forwards;
}

@-webkit-keyframes fadeIn {
    0% {
        transform: translate(0, 60px);
        -webkit-transform: translate(0, 60px);
    }
    100% {
        opacity: 1;
        transform: translate(0, 0px);
        -webkit-transform: translate(0, 0px);
    }
}

@keyframes fadeIn {
    0% {
        padding-top: 10px;
    }
    100% {
        opacity: 1;
        padding-top: 0px;
    }
}

.scrollfade {
    opacity: 0;
    transform: translate(0, 20px);
    -webkit-transform: translate(0, 20px);
    transition: all 0.7s;
}

.scrollfade.scrollview {
    opacity: 1.0;
    transform: translate(0, 0);
    -webkit-transform: translate(0, 0);
    transition: all 0.7s;
}

/*--アイコン＋テキスト--*/

.benefit {
    position: relative;
    padding-top: 80px;
    font-size: 1.2em;
    line-height: 1.3em;
    color: #2b0d0d;
    text-align: center;
}

.benefit span {
    font-weight: bold;
    color: #EB6F86;
}

.benefit.freelesson {
    background: url("../../common/images/icon/ic_lesson.png") center top / 80px no-repeat;
}

.benefit.multi {
    background: url("../../common/images/icon/ic_multi.png") center top / 80px no-repeat;
}

.benefit.share {
    background: url("../../common/images/icon/ic_share.png") center top / 80px no-repeat;
}

.benefit.change {
    background: url("../../common/images/icon/ic_change.png") center top / 80px no-repeat;
}

.benefit.cancel {
    background: url("../../common/images/icon/ic_cancel.png") center top / 80px no-repeat;
}

.linkageAccordion .more {
    font-size: 12px;
    padding: 5px;
    background-color: #998675;
    color: #fff;
    width: 60px;
    height: 15px;
    line-height: 15px;
    cursor: pointer;
}

.linkageAccordion .more:hover {
    -webkit-transform: translate(0px, -1px);
    -moz-transform: translate(0px, -1px);
    -ms-transform: translate(0px, -1px);
    -o-transform: translate(0px, -1px);
    transform: translate(0px, -1px);
    -webkit-filter: brightness(110%);
}

.linkageAccordion .moredetail {
    box-sizing: border-box;
    padding: 2px;
    background-color: #E8E0D6;
    border: 2px solid #998675;
    box-shadow: 2px 2px 2px #7a6962;
    text-align: left;
    font-size: 15px;
    line-height: 18px;
}

.linkageAccordion .moredetail p {
    margin: 5px;
}

.linkageAccordion .moredetail p span {
    font-weight: bold;
    color: #EB6F86;
}

/*--共通背景ありフォーム（オレンジ）--*/

.bgContents {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: 10px;
    font-size: 13px;
    background-color: #FFEBCD;
    color: #292620;
}

.bgContents .bgdesc {
    padding-left: 2%;
}

/*--入力--*/

/* input要素基本スタイル */

.bgContents input,
.boxContents input {
    margin: 0;
    padding: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.inputArea input,
.inputArea select {
    margin: 0;
    padding: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.inputArea select::-ms-expand {
    display: none;
}

.inputArea input[type="text"],
.inputArea input[type="email"],
.inputArea input[type="password"],
.inputArea input[type="tel"],
.inputArea input[type="checkbox"],
.inputArea select {
    background: none;
    border: none;
    border-radius: 0;
}

.inputArea select {
    padding: 0 26px 0 5px;
    background-image: url("../images/icon/ic_down_orange.png");
    background-position: right 5px top 50%;
    background-repeat: no-repeat;
    background-size: 18px;
}

.inputArea input::-webkit-input-placeholder {
    color: #aaaaaa;
    font-weight: normal;
}

.inputArea input:-ms-input-placeholder {
    color: #aaa;
    font-weight: normal;
}

.inputArea input::-moz-placeholder {
    color: #aaa;
    font-weight: normal;
}

textarea {
    margin: 0;
    padding: 0;
    background: #fff;
    border: 1px solid #998675;
    border-radius: 0;
    resize: none;
    box-sizing: border-box;
}

textarea::-webkit-scrollbar {
    width: 8px;
}

textarea::-webkit-scrollbar-track {
    border-radius: 3px;
    box-shadow: inset 0 0 5px rgba(0, 0, 0, .1);
}

textarea::-webkit-scrollbar-thumb {
    background-color: #998675;
    border-radius: 10px;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .3);
}

.inputArea,
.confirmArea {
    width: 96%;
    margin: 0 auto;
    clear: both;
}

.inputArea dl {
    position: relative;
    width: 100%;
    font-size: 0;
    clear: both;
}

.inputArea dt {
    width: 100%;
    padding: 0;
    box-sizing: border-box;
    color: #292620;
    font-size: 15px;
    height: 18px;
    line-height: 20px;
}

.inputArea dd {
    width: 100%;
    font-size: 15px;
    margin: 0;
}

.inputArea dd.line2 {
    display: inline-block;
    width: 50%;
}

.inputArea .box {
    box-sizing: border-box;
    width: 100%;
    font-size: 12px;
    clear: both;
    border: 1px solid #F58220;
}

.inputArea .box p {
    margin-top: 3px;
    margin-top: 3px;
}

.inputArea input[type="text"],
.inputArea input[type="email"],
.inputArea input[type="password"],
.inputArea input[type="tel"],
.inputArea select {
    box-sizing: border-box;
    width: 100%;
    height: 36px;
    line-height: 36px;
    font-size: 16px;
    padding-left: 3px;
    border-bottom: 2px solid #F58220;
}

.inputArea input[type="text"]:hover,
.inputArea input[type="email"]:hover,
.inputArea input[type="password"]:hover,
.inputArea input[type="tel"]:hover,
.inputArea input[type="text"]:focus,
.inputArea input[type="email"]:focus,
.inputArea input[type="password"]:focus,
.inputArea input[type="tel"]:focus {
    padding-top: -1px;
    box-shadow: 0 5px 5px -5px #F58220;
    border-bottom: 3px solid #F58220;
}

.inputArea select {
    overflow: hidden;
    white-space: nowrap;
}

.inputArea dd label {
    display: block;
    height: 22px;
}

.inputArea .arrow_box {
    background: #fff;
    border: 2px solid #ff272e;
    padding: 4px 3px;
    margin-top: 4px;
    background-image: url("../images/icon/ic_caution_red.png");
    background-repeat: no-repeat;
    background-position: 3px 2px;
    background-size: 16px;
}

.inputArea .arrow_box:after,
.inputArea .arrow_box:before {
    bottom: 100%;
    left: 22px;
}

.inputArea .arrow_box:after {
    border-color: rgba(255, 255, 255, 0);
    border-bottom-color: #fff;
    border-width: 10px;
    margin-left: -10px;
}

.inputArea .arrow_box:before {
    border-color: rgba(255, 255, 255, 0);
    border-bottom-color: #ff272e;
    border-width: 12px;
    margin-left: -12px;
}

.inputArea .arrow_box.right:after,
.inputArea .arrow_box.right:before {
    bottom: 100%;
    left: auto;
    right: 22px;
}

.inputArea .arrow_box.right {
    float: right;
}

.inputArea .arrow_box.right:after {
    border-width: 10px;
    margin-right: -10px;
}

.inputArea .arrow_box.right:before {
    border-width: 12px;
    margin-right: -12px;
}

.inputArea .error {
    font-size: 12px;
    color: #ff272e;
    font-weight: bold;
    margin-left: 18px;
    line-height: 16px;
}

.inputArea input.err,
.inputArea select.err {
    border-bottom: 2px solid #ff272e;
}

.inputArea .top_msg {
    margin: 5px auto -5px;
    padding: 3px;
    border: 1px solid #ff272e;
    background: #fff;
    background-image: url("../images/icon/ic_caution_red.png");
    background-repeat: no-repeat;
    background-position: 3px 2px;
    background-size: 16px;
}

.inputArea .btnContents {
    margin: 10px auto;
    text-align: center;
}

.inputArea .attention {
    margin: 5px auto;
    width: 98%;
    padding: 3px;
    border: 1px solid #ff272e;
    font-size: 12px;
    color: #ff272e;
}

.inputArea input[type="checkbox"] {
    display: none;
}

.inputArea .checkparts {
    display: block;
    position: relative;
    padding-left: 26px;
    margin-top: 5px;
    font-size: 13px;
    height: 24px;
    line-height: 26px;
}

.inputArea .checkparts::before {
    content: "";
    display: block;
    position: absolute;
    top: 0px;
    left: 0;
    width: 24px;
    height: 24px;
    box-sizing: border-box;
    border: 1px solid #F58220;
    border-radius: 4px;
}

.inputArea input[type="checkbox"]:checked+.checkparts::before {
    background-color: #F58220;
}

.inputArea input[type="checkbox"]:checked+.checkparts::after {
    content: "";
    display: block;
    position: absolute;
    top: 1px;
    left: 6px;
    width: 9px;
    height: 14px;
    transform: rotate(40deg);
    border-bottom: 3px solid #fff;
    border-right: 3px solid #fff;
}

.confirmArea dl {
    width: 100%;
    font-size: 0;
}

.confirmArea dt {
    padding-left: 5px;
    font-size: 15px;
    height: 20px;
    line-height: 20px;
    border-left: 4px solid #F58220;
}

.confirmArea dd {
    margin-top: 3px;
    padding-left: 9px;
    font-size: 18px;
}

/*--汎用エリア--*/

.boxContents {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    margin: 0 auto;
    clear: both;
    margin: 0;
    padding: 10px;
    /* border: 1px solid; */
}

.balloon {
    white-space: nowrap;
    position: absolute;
    padding: 7px 12px;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px;
    background: #fffff0;
    color: #2b0d0d;
    z-index: 299 !important;
    border: solid 3px #f58220;
    line-height: 1.5;
    font-size: 14px;
    font-weight: normal;
    cursor: pointer;
    box-shadow: 1px 4px 3px rgba(0, 0, 0, 0.5);
}

.balloon.left {
    right: 0;
}

.balloon.right {
    left: 0;
}

.balloon:before {
    position: absolute;
    bottom: 100%;
    left: 50%;
    width: 0;
    height: 0;
    margin-left: -10px;
    border: solid transparent;
    border-color: rgba(245, 130, 32, 0);
    border-bottom-color: #f58220;
    border-width: 10px;
    pointer-events: none;
    content: attr(data-before);
    transform: scaleX(0.6);
}

.balloon:after {
    position: absolute;
    bottom: 100%;
    left: 50%;
    width: 0;
    height: 0;
    margin-left: -4px;
    border: solid transparent;
    border-color: rgba(255, 255, 255, 0);
    border-bottom-color: #ffffff;
    border-width: 4px;
    pointer-events: none;
    content: attr(data-after);
    transform: scaleX(0.6);
}

.balloon.left:before {
    left: 80%;
}

.balloon.left:after {
    left: 80%;
}

.balloon.right:before {
    left: 20%;
}

.balloon.right:after {
    left: 20%;
}

.balloon .fa-times {
    position: absolute;
    top: -2px;
    right: -2px;
    background-color: #f58220;
    color: #fffff0;
    font-size: 10px;
    width: 14px;
    height: 14px;
    border-radius: 0 8px 0 6px;
    text-align: center;
    line-height: 14px;
}

/*-----[共通部分ここまで]-----*/

.fa.fa-star {
    font-size: 24px;
    color: #f58220;
    padding: 2px;
}

.fa.fa-star.anime {
    animation: star 15s infinite linear;
}

.phonics_icon,
.kidsbrown_icon,
.eiken_icon,
.eiken2_icon {
    position: relative;
    height: 24px;
    width: 24px;
    display: inline-block;
    vertical-align: bottom;
}

.phonics_icon:after,
.kidsbrown_icon:after,
.eiken_icon:after,
.eiken2_icon:after {
    display: inline-block;
    height: 24px;
    width: 24px;
    color: #ffffff;
    border-radius: 18px;
    text-align: center;
    line-height: 26px;
    position: absolute;
    font-weight: bold;
}

.phonics_icon:after {
    content: 'フォ';
    font-size: 10px;
    background-color: rgb(251, 78, 78);
    line-height: 25px;
}

.kidsbrown_icon:after {
    content: 'KB&JB';
    font-size: 5px;
    background-color: #cc4125;
    line-height: 25px;
}

.eiken_icon:after {
    content: 'リ';
    font-size: 18px;
    background-color: #224eff;
}

.eiken2_icon:after {
    content: '英';
    font-size: 18px;
    background-color: #f2b613;
}

.tbonly {
    display: none;
}

@keyframes star {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

.loading {
    width: 100%;
    height: 100%;
    position: fixed;
    background-color: rgba(0, 0, 0, 0.5);
    top: 0;
    left: 0;
    z-index: 1000;
    display: none;
}

.spiner {
    position: absolute;
    display: block;
    margin: auto;
    width: 77px;
    height: 77px;
    border: 4px solid rgba(255, 255, 255, 0.75);
    border-radius: 50%;
    border-top-color: transparent;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    animation: spin 1s infinite linear;
}

@keyframes spin {
    from {
        transform: rotate(-45deg);
    }
    to {
        transform: rotate(315deg);
    }
}

.load_text {
    position: absolute;
    display: block;
    margin: auto;
    width: 100%;
    text-align: center;
    font-size: 20px;
    height: 30px;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    color: rgba(255, 255, 255, 0.75);
}

.load_text:after {
    content: '読み込み中...';
}

@media screen and (max-width:1023px) {
    .tbonly {
        display: unset;
    }
    .pconly {
        display: none !important;
    }
    .mobileonly {
        display: block !important;
    }
    body,
    div.contents {
        width: 100%;
    }
    div.main_area {
        width: 92%;
        margin: 0 auto;
        float: none;
    }
    #logo {
        float: left;
        margin: 0 10px 0 20px;
    }
    #logo a img {
        height: 50px !important;
    }
    #hdTop {
        width: 100% !important;
    }
    #hd_area_middle {
        display: block;
    }
    #gnav {
        padding: 0 !important;
        width: calc(100% - 420px);
        min-width: 300px !important;
    }
    #gnav ul.default,
    header .secretariat {
        display: none;
    }
    #gnav ul.middle_size {
        display: block;
        width: 100%;
    }
    #hd_btn {
        margin-top: 4px;
    }
    .ft_area {
        display: none;
    }
    .fnav {
        width: 92%;
    }
}

@media screen and (max-width:861px) {
    #gnav {
        width: calc(100% - 406px);
        min-width: 300px !important;
    }
    #gnav ul.middle_size {
        width: 100%;
    }
    #gnav ul.middle_size li {
        width: calc(100% / 8 - 4px);
        min-width: 39px;
    }
    header div.user_status {
        width: 220px;
    }
}

@media screen and (max-width:767px) {
    /* スマホ */
    .tbonly {
        display: none;
    }
    .pconly {
        display: none !important;
    }
    .mobileonly {
        display: block !important;
    }
    span.spbr {
        display: block !important;
    }
    .sphidden {
        display: none !important;
    }
    body {
        overflow-x: hidden;
    }
    header .user_status {
        display: none;
    }
    div.main_area {
        width: 100%;
    }
    #hd_area {
        display: none;
    }
    #hd_area_smartphone {
        display: block;
    }
    #hd_area_middle {
        display: none;
    }
    .m_menu_bottom_parent {
        display: none;
    }
    .black_curtain {
        cursor: pointer;
    }
    .title {
        line-height: 37px;
        margin: 7px 0;
        padding-left: 7px;
        font-size: 16px;
        font-weight: bold;
    }
    span.sponly,
    a.sponly {
        display: inline !important;
    }
    div.sponly,
    p.sponly {
        display: block !important;
    }
    button.sponly {
        display: inline-block !important;
    }
    #page_top {
        bottom: 5px;
        right: 5px;
        width: 50px;
        height: 50px;
    }
    #page_top span {
        font-size: 12px;
    }
    .sponly.footer {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        text-align: center;
        font-size: 12px;
        z-index: 500;
    }
    .sponly.footer ul.main li,
    .sponly.footer ul.sub li {
        float: left;
        width: 25%;
        font-size: 9px;
        white-space: nowrap;
    }
    .sponly.footer ul.main li a {
        cursor: pointer;
    }
    .sponly.footer ul.main li div,
    .sponly.footer ul.main li a,
    .sponly.footer ul.sub li a {
        font-weight: bold;
        display: block;
        margin: 4px;
        padding: 4px 0;
        border-radius: 6px;
        background-color: #ffffff;
        color: #2b0d0d;
    }
    .sponly.footer ul.main li p,
    .sponly.footer ul.sub li p {
        font-size: 27px;
        margin-bottom: 5px;
        display: block;
    }
    .sponly.footer ul.sub {
        display: none;
        position: absolute;
        left: 0;
        right: 0;
        bottom: 57px;
    }
    .sp_logo {
        width: 120px;
        padding: 5px;
    }
    .fa.fa-star {
        font-size: 16px;
    }
    .phonics_icon,
    .kidsbrown_icon,
    .eiken_icon,
    .eiken2_icon {
        height: 20px;
        width: 20px;
    }
    .phonics_icon:after,
    .kidsbrown_icon:after,
    .eiken_icon:after,
    .eiken2_icon:after {
        height: 20px;
        width: 20px;
        border-radius: 20px;
        line-height: 22px;
    }
    .phonics_icon:after {
        font-size: 8px;
        line-height: 19px;
    }
    .kidsbrown_icon:after {
        font-size: 4px;
        line-height: 19px;
    }
    .eiken_icon:after {
        font-size: 13px;
    }
    .eiken2_icon:after {
        font-size: 13px;
    }
    .balloon {
        display: none;
    }
    .faqnavi {
        margin: 0 !important;
    }
    @media screen and (-webkit-min-device-pixel-ratio:0) {
        _::-webkit-full-page-media,
        _:future,
        :root select,
        _::-webkit-full-page-media,
        _:future,
        :root textarea,
        _::-webkit-full-page-media,
        _:future,
        :root input {
            font-size: 16px !important;
        }
    }
    #registFix {
        display: block;
        position: fixed;
        left: 0;
        bottom: 0rem;
        width: 100%;
        z-index: 100;
        /* padding-top: 45px; */
    }
    #registFix {
        font-size: 16px;
    }
    @media screen and (max-width:414px) {
        #registFix {
            font-size: 15px;
        }
    }
    @media screen and (max-width:400px) {
        #registFix {
            font-size: 14px;
        }
    }
    @media screen and (max-width:335px) {
        #registFix {
            font-size: 12.5px;
        }
    }
    .registMenu {
        display: block;
        position: relative;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 3rem;
        min-height: 55px;
        background-color: #F58200;
    }
    .registMenu a {
        display: flex;
        display: -webkit-flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
        font-size: 1.4em;
        font-weight: 800;
        color: #fff;
        cursor: pointer;
    }
}

@media screen and (max-width:330px) {
    .sp_logo {
        width: auto;
        height: 30px;
    }
}

.required_btn {
    float: right;
    margin-top: -2px;
    padding: 2px 7px;
    background-color: white;
    color: red;
    border-radius: 4px;
}
.blink {
    animation: blink 2s ease 1s infinite;
}
@keyframes blink {
    0%   { opacity:1; }
    50%  { opacity:0.3; }
    100% { opacity:1; }
}

/* consent statement check */
#consent .consent-box {
    margin: 20px 0 20px 0;        
    overflow: auto;
    width: auto;
    height: 180px;
    top: 592px;
    left: 390px;
    padding: 10px;
    gap: 4px;
    border-radius: 4px;
    border: 1px solid #CCCCCC;
    opacity: 0px;
}
#consent .consent-txt {
    font-family: Hiragino Kaku Gothic Pro;
    font-size: 14px;
    font-weight: 300;
    line-height: 21px;
    text-align: left;
    text-underline-position: from-font;
    text-decoration-skip-ink: none;
}
#consent .consent-inner-title {
    padding: 10px 0 10px 0;
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    text-underline-position: from-font;
    text-decoration-skip-ink: none;
}
#consent .consent-chkbox-box {
    margin: 0px;
    display: flex;
}
#consent .consent-chkbox {
    width: 16px;
    height: 16px;
    gap: 0px;
    border-radius: 4px;
    border: 1px solid #CCCCCC;
    opacity: 0px;
}
#consent .consent-chkbox-lbl {
    font-family: Hiragino Kaku Gothic Pro;
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    text-align: left;
    text-underline-position: from-font;
    text-decoration-skip-ink: none;
}
#consent-btn.gray,
#input.gray {
    color: #BBBBBB;
    cursor: none;
    pointer-events: none;
}
#consent .consent-link {
    text-decoration: underline;
}

#card-name-input {
    margin: 20px 0 20px 0;        
    overflow: auto;
    width: auto;
    height: auto;
    top: 592px;
    left: 390px;
    padding: 10px;
    gap: 4px;
    background-color: lightgrey;
    opacity: 0px;
}

#card-name-input p {
    padding-bottom: 10px;
}

#card-name-input table tr {
    border-collapse: separate;
    clear: both;
    margin: 0px;
    width: 650px;
    background-color: #eab964;
}

#card-name-input table tr th {
    padding: 2px;
}

#card-name-input table tr td {
    background-color: lightgrey;
}

#card-name-input input {
    height: 25px;
    width: 90%;
    ime-mode: disabled;
}

@media screen and (max-width:767px) {
    #consent .consent-box {
        margin: 20px 10px 20px 10px;
    }
    #consent .consent-chkbox-box {
        margin: 20px 10px 20px 10px;
    }
    #consent .consent-chkbox-lbl {
        word-wrap: break-word;
    }
}