@charset "UTF-8";
.cf, #sd #sec01 .sec_cont, #sd_eiken_part li, #search_area, #faq_area dl, #faq_area dt, #pm #sec02 .pm02 dl, #pm #sec02 .pm03 p, #pm #sec03 .sec_cont, .ct_list {
  zoom: 1;
}
.cf:after, #sd #sec01 .sec_cont:after, #sd_eiken_part li:after, #search_area:after, #faq_area dl:after, #faq_area dt:after, #pm #sec02 .pm02 dl:after, #pm #sec02 .pm03 p:after, #pm #sec03 .sec_cont:after, .ct_list:after {
  display: block;
  content: "";
  clear: both;
}

.sprite, #h_top #h_logo, #top_logo span, #gnav li span, .sign_up_btn a, .sign_up_btn #sd .cont_nav span a, #sd .cont_nav .sign_up_btn span a, .sign_up_btn #sd .cont_nav span, #sd .cont_nav .sign_up_btn span, #pagetop a, #pagetop #sd .cont_nav span, #sd .cont_nav #pagetop span, .cont_title span, #ab #sec01 h4 span, #sd #sec02 h4 span, #pm #sec02 .pm03 h4 span, #pm #sec04 h4 span, .more_ripple a, #pm #sec03 .more a, .more_ripple #sd .cont_nav span, #sd .cont_nav .more_ripple span, #pm #sec03 .more #sd .cont_nav span, #sd .cont_nav #pm #sec03 .more span, .btn_nav span, #ab .cont_nav span, #ab #sec01 #ab_story, #sd #sd_nav a, #sd #sd_nav .cont_nav span, #sd .cont_nav #sd_nav span, #sd #sec01 p, #sd #sec01 span, #sd #sec02_cont01 .cont_sub_title, #sd_eiken_part .part_title, #sd #sec02_cont02 .cont_sub_title, #sd_mail_call p, #sd_eiken_story .story_text, #sd_story_link a, #sd_story_link #sd .cont_nav span, #sd .cont_nav #sd_story_link span, #sd #sec02_cont03 .box_text, #sd #sec02_cont04 .cont_sub_title, #sd .btn_nav #bnav02 i, #user_voice #uv_title, #search_area h3, #search span, #cate_area h3, #faq_area h3 span, #faq_area dt button, .money_btn a, .money_btn #sd .cont_nav span, #sd .cont_nav .money_btn span, #pm #sec01 h4, #pm #sec02 .pm01 h4, #pm #sec02 .pm02 h4, #pm #sec02 .pm02 dt, #pm #sec04 .pm02 .math_style h5, #ct_form h3, .ct_list dt span, #ct_name .mfp span, #ct_message dt, #ct_submit span {
  display: block;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}

.backface, #sticky_area a, #sticky_area #sd .cont_nav span, #sd .cont_nav #sticky_area span, #top_cont_story a, #top_cont_story #sd .cont_nav span, #sd .cont_nav #top_cont_story span, .btn_nav li, #ab_movie a, #ab_movie #sd .cont_nav span, #sd .cont_nav #ab_movie span, #sd #sd_nav li, #sd .btn_nav #bnav02, .money_btn {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.mt0 {
  margin-top: 0px;
}

.mb0 {
  margin-bottom: 0px;
}

.ml0 {
  margin-left: 0px;
}

.mr0 {
  margin-right: 0px;
}

.mt10 {
  margin-top: 10px;
}

.mb10 {
  margin-bottom: 10px;
}

.ml10 {
  margin-left: 10px;
}

.mr10 {
  margin-right: 10px;
}

.mt20 {
  margin-top: 20px;
}

.mb20 {
  margin-bottom: 20px;
}

.ml20 {
  margin-left: 20px;
}

.mr20 {
  margin-right: 20px;
}

.mt30 {
  margin-top: 30px;
}

.mb30 {
  margin-bottom: 30px;
}

.ml30 {
  margin-left: 30px;
}

.mr30 {
  margin-right: 30px;
}

.mt40 {
  margin-top: 40px;
}

.mb40 {
  margin-bottom: 40px;
}

.ml40 {
  margin-left: 40px;
}

.mr40 {
  margin-right: 40px;
}

.mt50 {
  margin-top: 50px;
}

.mb50 {
  margin-bottom: 50px;
}

.ml50 {
  margin-left: 50px;
}

.mr50 {
  margin-right: 50px;
}

.mt60 {
  margin-top: 60px;
}

.mb60 {
  margin-bottom: 60px;
}

.ml60 {
  margin-left: 60px;
}

.mr60 {
  margin-right: 60px;
}

.mt70 {
  margin-top: 70px;
}

.mb70 {
  margin-bottom: 70px;
}

.ml70 {
  margin-left: 70px;
}

.mr70 {
  margin-right: 70px;
}

.mt80 {
  margin-top: 80px;
}

.mb80 {
  margin-bottom: 80px;
}

.ml80 {
  margin-left: 80px;
}

.mr80 {
  margin-right: 80px;
}

.mt90 {
  margin-top: 90px;
}

.mb90 {
  margin-bottom: 90px;
}

.ml90 {
  margin-left: 90px;
}

.mr90 {
  margin-right: 90px;
}

.mt100 {
  margin-top: 100px;
}

.mb100 {
  margin-bottom: 100px;
}

.ml100 {
  margin-left: 100px;
}

.mr100 {
  margin-right: 100px;
}

#sd #sec02_cont02 .title01 + img, #sd_mail_call {
  background-image: url(../images/common/section_line.png);
  background-repeat: repeat-x;
  background-position: left bottom;
  padding-bottom: 30px;
}

/*
	ResetStyle
===================================================*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a,
#sd .cont_nav span, 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;
}

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;
}

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;
}

/*
	Project Common Style
===================================================*/
html {
  font-size: 62.5%;
  min-height: 100%;
  _height: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  min-height: 100%;
  _height: 100%;
  min-width: 1280px;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Arial, Verdana, sans-serif;
  font-size: 16px;
  position: relative;
  background-image: url(../images/common/sub_bg.jpg);
  background-repeat: no-repeat;
  background-position: center top;
  -webkit-background-size: auto auto;
  -moz-background-size: auto auto;
  -ms-background-size: auto auto;
  -o-background-size: auto auto;
  background-size: auto auto;
  background-attachment: fixed;
  _display: inline;
  _zoom:1;
}
body#home {
  background-image: url(../images/common/bg.jpg);
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -ms-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  background-attachment: scroll;
}

a, #sd .cont_nav span {
  text-decoration: none;
}

table {
  width: 100%;
}

/* Block Style
--------------------------------------------------*/
.box {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}

.animate, #sticky_area a, .sign_up_btn a, .sign_up_btn #sd .cont_nav span a, #sd .cont_nav .sign_up_btn span a, #pagetop a, #top_cont_story a, #top_cont_story a img, #top_cont_story #sd .cont_nav span img, #sd .cont_nav #top_cont_story span img, #top_cont_money a, #top_cont_money span, #top_cont_ranking a, #top_cont_ranking #sd .cont_nav span a, #sd .cont_nav #top_cont_ranking span a, .more_ripple a, #pm #sec03 .more a, #pm #sec03 .more #sd .cont_nav span, #sd .cont_nav #pm #sec03 .more span, #ab .cont_nav span, #ab_movie img, #ab_movie a, #chara_list li:before, #chara_list li:after, #sd .cont_nav span, #cate_area a, #faq_area dd, #faq_other .btn a:before, #faq_other .btn #sd .cont_nav span:before, #sd .cont_nav #faq_other .btn span:before, #ct_message input[type="radio"] + label:before, #ct_submit:before {
  -webkit-transition: all 200ms cubic-bezier(0.77, 0, 0.175, 1);
  -moz-transition: all 200ms cubic-bezier(0.77, 0, 0.175, 1);
  -ms-transition: all 200ms cubic-bezier(0.77, 0, 0.175, 1);
  -o-transition: all 200ms cubic-bezier(0.77, 0, 0.175, 1);
  transition: all 200ms cubic-bezier(0.77, 0, 0.175, 1);
}

.scale:hover {
  -webkit-transform: scale(1.03);
  -moz-transform: scale(1.03);
  -ms-transform: scale(1.03);
  -o-transform: scale(1.03);
  transform: scale(1.03);
}

#sd_eiken_merit, #pm #sec04 .pm02 .math_style, .chara_prof, #sd #sd_nav, #sd #sd_nav li, #user_voice li, #user_voice .message, #search input, #search span, #faq_area dt span, #faq_area dd, #faq_other .btn, #faq_other .btn a, #faq_other .btn #sd .cont_nav span, #sd .cont_nav #faq_other .btn span, .ct_list dd, .ct_list input, #ct_message input[type="text"], #ct_message textarea {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}

.fleft {
  float: left;
}

.fright {
  float: right;
}

.tcenter {
  text-align: center;
}

.highlight {
  -webkit-transition: opacity 200ms linear;
  -moz-transition: opacity 200ms linear;
  -ms-transition: opacity 200ms linear;
  -o-transition: opacity 200ms linear;
  transition: opacity 200ms linear;
}
.highlight:hover {
  display: block;
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
  opacity: 0.7;
  zoom: 1;
}

.bold, .red_bold, #sd_eiken_part span, #sd #sec02_cont04 a, #sd #sec02_cont04 .cont_nav span, #sd .cont_nav #sec02_cont04 span, #user_voice .user {
  font-weight: bold;
}

.red, .red_bold, #sd_eiken_part span, #sd #sec02_cont04 a, #sd #sec02_cont04 .cont_nav span, #sd .cont_nav #sec02_cont04 span, #user_voice .user {
  color: #c1272d;
}

/*
	Original Style
===================================================*/
#wrapper {
  position: relative;
  height: 100%;
}

/* Header ヘッダー
--------------------------------------------------*/
#header {
  margin-bottom: 60px;
}

.wrap {
  width: 1020px;
  margin: 0 auto;
}

#h_top {
  height: 50px;
  background: #fff;
  padding: 3px 0 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}
#h_top h1 {
  float: right;
  line-height: 1.1;
  margin: 3px 0 0 15px;
}
#h_top h1 a, #h_top h1 #sd .cont_nav span, #sd .cont_nav #h_top h1 span {
  color: #503027;
  font-size: 10px;
  font-size: 1rem;
  font-weight: bold;
}
#h_top #h_logo {
  width: 107px;
  height: 42px;
  background: url(../images/common/ripple_logo.png) no-repeat;
}

#h_top_left {
  float: left;
}

#top_logo {
  position: absolute;
  margin-left: -165px;
  left: 50%;
  top: 0px;
  z-index: 50;
}
#top_logo a, #top_logo #sd .cont_nav span, #sd .cont_nav #top_logo span, #top_logo span {
  background-image: url(../images/common/eiken_logo.png);
  background-repeat: no-repeat;
}
#top_logo a, #top_logo #sd .cont_nav span, #sd .cont_nav #top_logo span {
  display: block;
  width: 330px;
  height: 235px;
}
#top_logo span {
  width: 100%;
  height: 100%;
  background-position: 0 -243px;
  opacity: 0;
  -webkit-transition: all 200ms cubic-bezier(0.77, 0, 0.175, 1);
  -moz-transition: all 200ms cubic-bezier(0.77, 0, 0.175, 1);
  -ms-transition: all 200ms cubic-bezier(0.77, 0, 0.175, 1);
  -o-transition: all 200ms cubic-bezier(0.77, 0, 0.175, 1);
  transition: all 200ms cubic-bezier(0.77, 0, 0.175, 1);
}
#top_logo a:hover span, #top_logo #sd .cont_nav span:hover span, #sd .cont_nav #top_logo span:hover span {
  opacity: 1;
}

#h_bottom {
  position: relative;
  width: 1030px;
  height: 88px;
  background: url(../images/common/nav_bg.png) no-repeat;
  margin: 53px auto 0;
}
#home #h_bottom {
  position: absolute;
  left: 50%;
  margin: 780px 0 0 -515px;
  z-index: 50;
}

#gnav {
  position: relative;
  margin-left: 65px;
  padding-top: 13px;
}
#gnav li {
  float: left;
  height: 60px;
}
#gnav li a, #gnav li #sd .cont_nav span, #sd .cont_nav #gnav li span {
  display: block;
  height: 60px;
}
#gnav li span {
  -webkit-transition: opacity 200ms ease-in-out;
  -moz-transition: opacity 200ms ease-in-out;
  -ms-transition: opacity 200ms ease-in-out;
  -o-transition: opacity 200ms ease-in-out;
  transition: opacity 200ms ease-in-out;
  opacity: 0;
  width: 100%;
  height: 100%;
}
#gnav #menu01 {
  width: 50px;
  background: url(../images/common/menu01_off.png) no-repeat;
  margin-right: 10px;
}
#gnav #menu01 span {
  background: url(../images/common/menu01_on.png) no-repeat;
}
#gnav #menu02 {
  width: 205px;
  background: url(../images/common/menu02_off.png) no-repeat;
  margin-right: 342px;
}
#gnav #menu02 span {
  background: url(../images/common/menu02_on.png) no-repeat;
}
#gnav #menu03 {
  width: 140px;
  background: url(../images/common/menu03_off.png) no-repeat;
  margin-right: 0px;
}
#gnav #menu03 span {
  background: url(../images/common/menu03_on.png) no-repeat;
}
#gnav #menu04 {
  width: 168px;
  background: url(../images/common/menu04_off.png) no-repeat;
}
#gnav #menu04 span {
  background: url(../images/common/menu04_on.png) no-repeat;
}
#gnav span:hover, #gnav .current span {
  opacity: 1;
}

/* Footer フッター
--------------------------------------------------*/
#footer {
  background: url(../images/common/f_bg.png) repeat-x left top;
  padding-top: 190px;
  margin-top: -250px;
}

#f_area {
  background: #fff;
  padding-top: 100px;
}

#f_company {
  border-top: solid 1px #231815;
  border-bottom: solid 1px #231815;
  text-align: center;
  padding: 10px 0;
}
#f_company p {
  display: inline-block;
  padding-left: 120px;
  background: url(../images/common/ripple_logo.png) no-repeat left center;
  padding: 10px 0 10px 120px;
  letter-spacing: 0.05em;
}
#f_company a, #f_company #sd .cont_nav span, #sd .cont_nav #f_company span {
  color: #231815;
  text-decoration: underline;
  font-weight: bold;
}
#f_company a:hover, #f_company #sd .cont_nav span:hover, #sd .cont_nav #f_company span:hover {
  text-decoration: none;
}

#fnav {
  margin-top: 20px;
  text-align: center;
  font-size: 14px;
  font-size: 1.4rem;
  letter-spacing: -0.4em;
}
#fnav li {
  display: inline-block;
  letter-spacing: normal;
  padding-right: 15px;
  margin-left: 10px;
  border-right: solid 1px #231815;
}
#fnav li:first-child {
  margin-left: 0;
}
#fnav li:last-child {
  padding-right: 0;
  border-right: none;
}
#fnav a, #fnav #sd .cont_nav span, #sd .cont_nav #fnav span {
  color: #231815;
}
#fnav a:hover, #fnav #sd .cont_nav span:hover, #sd .cont_nav #fnav span:hover {
  text-decoration: underline;
}

small {
  display: block;
  text-align: center;
  font-size: 12px;
  font-size: 1.2rem;
  padding: 15px 0 10px;
}

/* Sticty 固定エリア
--------------------------------------------------*/
#sticky_area {
  position: fixed;
  right: 0;
  top: 120px;
  z-index: 100;
}
#sticky_area a, #sticky_area #sd .cont_nav span, #sd .cont_nav #sticky_area span {
  position: relative;
  width: 195px;
  height: 178px;
  background-repeat: no-repeat;
  background-position: 0 0;
  right: -10px;
}
#sticky_area a:hover, #sticky_area #sd .cont_nav span:hover, #sd .cont_nav #sticky_area span:hover {
  right: 0;
}
#sticky_area #sticky_btn01 a, #sticky_area #sticky_btn01 #sd .cont_nav span, #sd .cont_nav #sticky_area #sticky_btn01 span {
  background-image: url(../images/common/sticky_btn01.png);
}
#sticky_area #sticky_btn02 a, #sticky_area #sticky_btn02 #sd .cont_nav span, #sd .cont_nav #sticky_area #sticky_btn02 span {
  background-image: url(../images/common/sticky_btn02.png);
}
#sticky_area #sticky_btn03 a, #sticky_area #sticky_btn03 #sd .cont_nav span, #sd .cont_nav #sticky_area #sticky_btn03 span {
  background-image: url(../images/common/sticky_btn03.png);
}

/* Content コンテンツエリア
--------------------------------------------------*/
#content_bg {
  width: 1208px;
  margin: 0 auto;
  position: relative;
}
#content_bg:before {
  content: url(../images/common/bg_top.png);
  width: 1208px;
  position: relative;
  display: block;
  height: 660px;
  top: 0px;
}
#content_bg:after {
  content: url(../images/common/bg_bottom.png);
  position: relative;
  width: 1208px;
  height: 640px;
  bottom: 0;
  display: block;
}

#content_bg_inner {
  background: url(../images/common/bg_middle.png) repeat-y;
}

#content {
  position: absolute;
  top: 110px;
  left: 50%;
  width: 960px;
  margin-left: -480px;
  z-index: 100;
}

/* Other その他
--------------------------------------------------*/
.sign_up_btn, .sign_up_btn a, .sign_up_btn #sd .cont_nav span, #sd .cont_nav .sign_up_btn span {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  background-image: url(../images/common/sign_up.png);
  background-repeat: no-repeat;
  width: 770px;
  height: 160px;
}
.sign_up_btn a, .sign_up_btn #sd .cont_nav span a, #sd .cont_nav .sign_up_btn span a, .sign_up_btn #sd .cont_nav span, #sd .cont_nav .sign_up_btn span {
  background-position: 0 -170px;
}
.sign_up_btn a:hover, .sign_up_btn #sd .cont_nav span a:hover, #sd .cont_nav .sign_up_btn span a:hover, .sign_up_btn #sd .cont_nav span:hover, #sd .cont_nav .sign_up_btn span:hover {
  opacity: 0;
}

.user_flow {
  padding-left: 3px;
  position: relative;
}
.user_flow img {
  display: block;
  margin: 0 auto 25px;
}

#pagetop {
  position: fixed;
  right: 5%;
  bottom: 5%;
  z-index: 100;
  width: 210px;
  height: 70px;
  background: url(../images/common/pagetop.png) no-repeat 0 0;
}
#pagetop a, #pagetop #sd .cont_nav span, #sd .cont_nav #pagetop span {
  width: 100%;
  height: 100%;
  background: url(../images/common/pagetop.png) no-repeat 0 -79px;
}
#pagetop a:hover, #pagetop #sd .cont_nav span:hover, #sd .cont_nav #pagetop span:hover {
  opacity: 0;
}

/*
	TOP PAGE トップページ
===================================================*/
#start_btn {
  position: absolute;
  width: 330px;
  height: 283px;
  top: -130px;
  left: 50%;
  margin-left: -165px;
}
#start_btn {
  position: absolute;
  width: 330px;
  height: 283px;
  top: -130px;
  left: 50%;
  margin-left: -165px;
}
#start_btn a, #start_btn #sd .cont_nav span, #sd .cont_nav #start_btn span {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  text-align: center;
}
#start_btn a:before, #start_btn #sd .cont_nav span:before, #sd .cont_nav #start_btn span:before {
  content: "";
  display: block;
  width: 330px;
  height: 283px;
  background-image: url(../images/index/start_bg.png);
  background-repeat: no-repeat;
  background-position: center;
  -webkit-background-size: 330px 283px;
  -moz-background-size: 330px 283px;
  -ms-background-size: 330px 283px;
  -o-background-size: 330px 283px;
  background-size: 330px 283px;
  opacity: 0;
}
#start_btn img {
  width: 330px;
  height: 283px;
  position: absolute;
  left: 0;
  top: 0;
}
#start_btn a, #start_btn #sd .cont_nav span, #sd .cont_nav #start_btn span, #start_btn img, #start_btn a:before, #start_btn #sd .cont_nav span:before, #sd .cont_nav #start_btn span:before {
  -webkit-transition: all 200ms ease-in;
  -moz-transition: all 200ms ease-in;
  -ms-transition: all 200ms ease-in;
  -o-transition: all 200ms ease-in;
  transition: all 200ms ease-in;
}
#start_btn a:hover, #start_btn #sd .cont_nav span:hover, #sd .cont_nav #start_btn span:hover, #start_btn a:hover:before, #start_btn #sd .cont_nav span:hover:before, #sd .cont_nav #start_btn span:hover:before {
  -webkit-transform: scale(1.04);
  -moz-transform: scale(1.04);
  -ms-transform: scale(1.04);
  -o-transform: scale(1.04);
  transform: scale(1.04);
}
#start_btn a:hover:before, #start_btn #sd .cont_nav span:hover:before, #sd .cont_nav #start_btn span:hover:before {
  opacity: 1;
}

#top_image {
  text-align: center;
  margin: 48px 0 90px;
  position: relative;
  width: 100%;
  height: 800px;
  background: url(../images/index/topimage.png) no-repeat center top;
}

#top_cont_top {
  position: relative;
}
#top_cont_top h2 {
  background: url(../images/index/cont_title01.png) no-repeat;
  width: 960px;
  height: 55px;
  position: relative;
  z-index: 80;
}

#top_cont_left {
  float: left;
  width: 730px;
}

#top_cont_merit {
  background: url(../images/index/top_cont01.png) no-repeat;
  width: 730px;
  height: 523px;
  position: absolute;
  top: 30px;
}

#top_cont_story {
  background: url(../images/index/top_cont02.png) no-repeat;
  width: 632px;
  height: 503px;
  position: absolute;
  bottom: 0;
  left: -10px;
}
#top_cont_story:before {
  content: "";
  display: block;
  position: absolute;
  right: 76px;
  bottom: 8px;
  z-index: 3;
  width: 100px;
  height: 239px;
  background: url(../images/index/top_cont02_img01.png) no-repeat;
}
#top_cont_story a, #top_cont_story #sd .cont_nav span, #sd .cont_nav #top_cont_story span {
  position: absolute;
  top: 215px;
  left: 45px;
  width: 424px;
  height: 240px;
  background: #000;
}
#top_cont_story a:hover, #top_cont_story #sd .cont_nav span:hover, #sd .cont_nav #top_cont_story span:hover {
  -webkit-transform: scale(1.05);
  -moz-transform: scale(1.05);
  -ms-transform: scale(1.05);
  -o-transform: scale(1.05);
  transform: scale(1.05);
}
#top_cont_story a img, #top_cont_story #sd .cont_nav span img, #sd .cont_nav #top_cont_story span img {
  display: block;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
}
#top_cont_story a:hover img, #top_cont_story #sd .cont_nav span:hover img, #sd .cont_nav #top_cont_story span:hover img {
  opacity: 0.7;
}

#eiken_movie {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  overflow: hidden;
  text-align: center;
}
#eiken_movie:before {
  content: "";
  display: inline-block;
  width: 0px;
  height: 100%;
  vertical-align: middle;
}
#eiken_movie .popup-parent {
  display: inline-block;
  width: 50%;
  position: relative;
  vertical-align: middle;
}
#eiken_movie .popup-position {
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
#eiken_movie iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#eiken_movie .popup-modal-dismiss {
  position: absolute;
  right: 0;
  bottom: -25px;
  font-size: 14px;
  font-size: 1.4rem;
  color: #fff;
  background: none;
  border: none;
  cursor: pointer;
}
#eiken_movie .popup-modal-dismiss:focus {
  outline: none;
}
#eiken_movie .mfp-close {
  display: none;
}

#top_cont_right {
  float: right;
  width: 285px;
  position: relative;
  z-index: 100;
  margin-top: 20px;
  min-height: 990px;
}

#top_cont_money {
  text-align: center;
  margin-bottom: 30px;
}
#top_cont_money a, #top_cont_money #sd .cont_nav span, #sd .cont_nav #top_cont_money span {
  display: block;
  width: 100%;
  background-color: #f3e071;
  border: solid 2px #a61e0b;
  margin-top: 10px;
  font-size: 10px;
  font-size: 1rem;
  font-weight: bold;
  color: #78140c;
  padding: 6px 0;
}
#top_cont_money a:hover, #top_cont_money #sd .cont_nav span:hover, #sd .cont_nav #top_cont_money span:hover {
  background-color: #fff19e;
}
#top_cont_money span {
  display: block;
  background-color: #a61e0b;
  border-radius: 30px;
  margin: 2px auto 0;
  color: #fff;
  width: 80%;
  font-weight: normal;
  padding: 2px 0;
}
#top_cont_money a:hover span, #top_cont_money #sd .cont_nav span:hover span, #sd .cont_nav #top_cont_money span:hover span {
  background-color: #fc6b60;
}

.side_wrap {
  background: url(../images/index/media_bottom.png) no-repeat left bottom;
  padding-bottom: 64px;
}
.side_wrap .inner {
  padding-top: 66px;
}
.side_wrap section {
  background: url(../images/index/media_middle.png) repeat-y;
}
.side_wrap .side_cont {
  width: 230px;
  margin: -35px auto -30px;
  font-size: 13px;
  max-height: 210px;
  min-height: 210px;
  overflow-y: auto;
}

#top_cont_media {
/*  margin-bottom: 30px;*/
}
#top_cont_media .inner {
  background: url(../images/index/media_title.png) no-repeat left top;
}

/*
#top_cont_media dl {
  width: 100%;
  display: table;
}
#top_cont_media dt, #top_cont_media dd {
  display: table-cell;
  border-bottom: dashed 1px #7b6151;
  padding: 5px 0;
}
#top_cont_media dt {
  width: 35%;
}
*/
#top_cont_media dt {
  margin: 5px 0 2px;
}
#top_cont_media dd {
  padding: 0 0 5px;
  border-bottom: dashed 1px #7b6151;
}
#top_cont_media .mark {
  color: #f7931e;
  font-weight: bold;
}

#top_cont_user .inner {
  background: url(../images/index/user_title.png) no-repeat left top;
}
#top_cont_user dt {
  margin: 5px 0 2px;
}
#top_cont_user dd {
  padding: 0 0 5px;
  border-bottom: dashed 1px #7b6151;
}
#top_cont_user .mark {
  color: #f7931e;
  font-weight: bold;
}

#top_cont_ranking, #top_cont_ranking a, #top_cont_ranking #sd .cont_nav span, #sd .cont_nav #top_cont_ranking span {
  background-image: url(../images/index/ranking.png);
  background-repeat: no-repeat;
  background-position: 0 -135px;
  width: 250px;
  height: 125px;
}
#top_cont_ranking a, #top_cont_ranking #sd .cont_nav span a, #sd .cont_nav #top_cont_ranking span a, #top_cont_ranking #sd .cont_nav span, #sd .cont_nav #top_cont_ranking span {
  background-position: 0 0;
}
#top_cont_ranking a:hover, #top_cont_ranking #sd .cont_nav span:hover, #sd .cont_nav #top_cont_ranking span:hover {
  opacity: 0;
}

#top_cont_prestudy, #top_cont_prestudy a, #top_cont_prestudy #sd .cont_nav span, #sd .cont_nav #top_cont_prestudy span {
  background-image: url(../images/index/prestudy.png);
  background-repeat: no-repeat;
  background-position: 0 -135px;
  width: 250px;
  height: 125px;
  margin-top: 5px;
}
#top_cont_prestudy a, #top_cont_prestudy #sd .cont_nav span a, #sd .cont_nav #top_cont_prestudy span a, #top_cont_prestudy #sd .cont_nav span, #sd .cont_nav #top_cont_prestudy span {
  background-position: 0 0;
}
#top_cont_prestudy a:hover, #top_cont_prestudy #sd .cont_nav span:hover, #sd .cont_nav #top_cont_prestudy span:hover {
  opacity: 0;
}

#top_cont_news {
  width: 635px;
  height: 276px;
  background: url(../images/index/news.png);
  margin-top: -20px;
  padding: 42px 0 0 55px;
}

#top_news_tab {
  width: 590px;
}
#top_news_tab li {
  width: 118px;
  float: left;
  background: #c9d017;
  border-radius: 20px 20px 0 0;
  text-align: center;
  color: #231815;
  font-size: 15px;
  padding: 3px 0 0;
  cursor: pointer;
  -webkit-transition: opacity 300ms ease-in-out;
  -moz-transition: opacity 300ms ease-in-out;
  -ms-transition: opacity 300ms ease-in-out;
  -o-transition: opacity 300ms ease-in-out;
  transition: opacity 300ms ease-in-out;
}
#top_news_tab li:hover, #top_news_tab li.current {
  background: #f28e19;
  color: #fff;
}

#top_news_cont {
  background: #fff;
  width: 590px;
  height: 196px;
  position: relative;
  overflow: hidden;
}
#top_news_cont dl {
  width: 560px;
  height: 161px;
  overflow-y: auto;
  padding: 10px 15px 15px;
  font-size: 13px;
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 10;
  margin-top: 70px;
  -webkit-transition: all 300ms ease-in-out;
  -moz-transition: all 300ms ease-in-out;
  -ms-transition: all 300ms ease-in-out;
  -o-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
}
#top_news_cont .current {
  opacity: 1;
  margin-top: 0;
  z-index: 30;
}
#top_news_cont dt {
  float: left;
  clear: both;
  width: 100px;
  padding: 5px 0 5px 30px;
  background: url(../images/index/news_mark.png) no-repeat 5px center;
  font: bold 12px/1.6 Arial,Helvetica,sans-serif;
  letter-spacing: 0.07em;
}
#top_news_cont dd {
  padding: 5px 0 5px 130px;
  border-bottom: dashed 1px #7b6151;
}

/*
	SUB PAGE 共通スタイル
===================================================*/
#main_title {
  background: url(../images/common/title_bg.png) no-repeat;
  width: 440px;
  height: 77px;
  position: absolute;
  margin-left: -220px;
  top: -115px;
  left: 50%;
  text-align: center;
  padding-top: 13px;
}
#main_title h2 {
  color: #fff;
  font-size: 22px;
  font-size: 2.2rem;
}
#main_title h2 span {
  display: block;
  font-weight: bold;
  padding-top: 5px;
  letter-spacing: 0.05em;
  text-shadow: 0 0 10px #130303,0 0 10px #130303;
}

#bread {
  color: #fff;
  font-size: 12px;
  font-size: 1.2rem;
  text-shadow: 0 0 10px #130303,0 0 10px #130303;
}
#bread a, #bread #sd .cont_nav span, #sd .cont_nav #bread span {
  color: #fff;
  margin-right: 5px;
}
#bread a:hover, #bread #sd .cont_nav span:hover, #sd .cont_nav #bread span:hover {
  text-decoration: underline;
}
#bread li {
  display: inline-block;
}

#content section {
  position: relative;
}

.sec_title {
  background: url(../images/common/title_bg02.png) no-repeat;
  height: 115px;
  text-align: center;
  font-size: 52px;
  font-size: 5.2rem;
  font-weight: bold;
  color: #c1272d;
}
.sec_title img {
  margin-top: 14px;
}
.sec_title span {
  display: block;
  text-align: center;
  padding-top: 22px;
  letter-spacing: 0.05em;
  text-shadow: 0 2px 0 #fff, 2px 0 0 #fff, 0 -2px 0 #fff, -2px 0 0 #fff, -2px -2px 0 #fff, 2px -2px 0 #fff, -2px 2px 0 #fff, 2px 2px 0 #fff, 0 5px 7px rgba(0, 0, 0, 0.3);
}

.sec_cont {
  position: relative;
  border-left: solid 5px #7f4d28;
  border-right: solid 5px #7f4d28;
  border-bottom: solid 5px #7f4d28;
  padding: 25px;
  margin-bottom: 60px;
}

#ab .cont_nav, #sd .cont_nav li {
  height: 38px;
  border-radius: 35px;
  letter-spacing: -0.4em;
  text-align: center;
  background: -webkit-linear-gradient(top, #0062c1 0%, #0076e8 100%);
  background: -moz-linear-gradient(top, #0062c1 0%, #0076e8 100%);
  background: -ms-linear-gradient(top, #0062c1 0%, #0076e8 100%);
  background: -o-linear-gradient(top, #0062c1 0%, #0076e8 100%);
  background: linear-gradient(top, #0062c1 0%, #0076e8 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0062c1', endColorstr='#0076e8',GradientType=0 );
  border: solid 2px #005cb5;
  border-top: solid 1px #1c8fff;
}

.cont_title, #ab #sec01 h4, #sd #sec02 h4, #pm #sec02 .pm03 h4, #pm #sec04 h4 {
  width: 900px;
  height: 52px;
  background: url(../images/common/cont_title.png) no-repeat;
  margin: 0 auto 30px;
}
.cont_title span, #ab #sec01 h4 span, #sd #sec02 h4 span, #pm #sec02 .pm03 h4 span, #pm #sec04 h4 span {
  width: 100%;
  height: 52px;
  background-repeat: no-repeat;
  background-position: 116px 13px;
}

.cont_title {
  padding-left: 115px;
  line-height: 54px;
  color: #fff;
  letter-spacing: 0.05em;
  font-size: 20px;
  font-size: 2rem;
  margin: 0 auto 20px;
}

#sd_eiken_merit, #pm #sec04 .pm02 .math_style {
  width: 880px;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.25);
}
#sd_eiken_merit:before, #pm #sec04 .pm02 .math_style:before {
  content: "";
  display: block;
  width: 880px;
  height: 58px;
  background: url(../images/common/math_bg_top.png) no-repeat;
}
#sd_eiken_merit .math_cont, #pm #sec04 .pm02 .math_style .math_cont {
  background: url(../images/common/math_bg.png);
  padding-bottom: 30px;
}

.more_ripple a, #pm #sec03 .more a, .more_ripple #sd .cont_nav span, #sd .cont_nav .more_ripple span, #pm #sec03 .more #sd .cont_nav span, #sd .cont_nav #pm #sec03 .more span {
  border: solid 10px #4cb3ff;
  border-radius: 10px;
  background: url(../images/about/study/more_ripple.png) no-repeat;
  width: 860px;
  height: 90px;
  margin-left: auto;
  margin-right: auto;
}
.more_ripple a:hover, #pm #sec03 .more a:hover, .more_ripple #sd .cont_nav span:hover, #sd .cont_nav .more_ripple span:hover, #pm #sec03 .more #sd .cont_nav span:hover, #sd .cont_nav #pm #sec03 .more span:hover {
  opacity: 0.8;
}

.btn_nav {
  margin-top: 50px;
  letter-spacing: -0.4em;
  text-align: center;
}
.btn_nav li {
  display: inline-block;
  width: 433px;
  height: 107px;
  border-radius: 10px;
  background: #fff;
  position: relative;
  box-shadow: 0 8px 0 #005182;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 250ms ease-in-out;
  -moz-transition: all 250ms ease-in-out;
  -ms-transition: all 250ms ease-in-out;
  -o-transition: all 250ms ease-in-out;
  transition: all 250ms ease-in-out;
  margin-left: 40px;
}
.btn_nav li:hover {
  box-shadow: 0 2px #005182;
  -webkit-transform: translateY(5px);
  transform: translateY(5px);
}
.btn_nav li a, .btn_nav li #sd .cont_nav span, #sd .cont_nav .btn_nav li span {
  -webkit-transition: opacity 200ms ease-in-out;
  -moz-transition: opacity 200ms ease-in-out;
  -ms-transition: opacity 200ms ease-in-out;
  -o-transition: opacity 200ms ease-in-out;
  transition: opacity 200ms ease-in-out;
}
.btn_nav li a:hover, .btn_nav li #sd .cont_nav span:hover, #sd .cont_nav .btn_nav li span:hover {
  opacity: 0.85;
}
.btn_nav li:first-child {
  margin-left: 0;
}
.btn_nav a, .btn_nav #sd .cont_nav span, #sd .cont_nav .btn_nav span {
  display: block;
  background-image: url(../images/common/eiken_btn.png);
  background-repeat: no-repeat;
  width: 433px;
  height: 107px;
}

#ab .cont_nav {
  margin-bottom: 50px;
}
#ab .cont_nav li {
  display: inline-block;
  letter-spacing: normal;
  margin-left: 30px;
}
#ab .cont_nav li:first-child {
  margin-left: 0;
}
#ab .cont_nav a, #ab #sd .cont_nav span, #sd #ab .cont_nav span {
  display: block;
  height: 35px;
  background-repeat: no-repeat;
  background-position: 0 2px;
}
#ab .cont_nav #ab_menu01 {
  width: 180px;
  background-image: url(../images/about/cont_nav01_off.png);
}
#ab .cont_nav #ab_menu02 {
  width: 205px;
  background-image: url(../images/about/cont_nav02_off.png);
}
#ab .cont_nav #ab_menu03 {
  width: 142px;
  background-image: url(../images/about/cont_nav03_off.png);
}
#ab .cont_nav #ab_menu04 {
  width: 223px;
  background-image: url(../images/about/cont_nav04_off.png);
}
#ab .cont_nav span {
  opacity: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: 0 2px;
}
#ab .cont_nav a:hover span, #ab #sd .cont_nav span:hover span, #sd #ab .cont_nav span:hover span {
  opacity: 1;
}
#ab .cont_nav #ab_menu01 span {
  background-image: url(../images/about/cont_nav01_on.png);
}
#ab .cont_nav #ab_menu02 span {
  background-image: url(../images/about/cont_nav02_on.png);
}
#ab .cont_nav #ab_menu03 span {
  background-image: url(../images/about/cont_nav03_on.png);
}
#ab .cont_nav #ab_menu04 span {
  background-image: url(../images/about/cont_nav04_on.png);
}

#ab #sec01 h4 {
  margin-top: 50px;
}
#ab #sec01 h4 span {
  background-image: url(../images/about/cont_title01.png);
  background-position: 115px 12px;
}
#ab #sec01 #ab_story {
  background: url(../images/about/story.jpg) no-repeat;
  width: 900px;
  height: 480px;
  margin: 0 auto;
}

#ab_img01 {
  position: relative;
}

#ab_movie a, #ab_movie #sd .cont_nav span, #sd .cont_nav #ab_movie span {
  position: absolute;
  width: 300px;
  height: 180px;
  right: 13px;
  top: 320px;
  z-index: 10;
  -webkit-transform: scale(0.9);
  -moz-transform: scale(0.9);
  -ms-transform: scale(0.9);
  -o-transform: scale(0.9);
  transform: scale(0.9);
}
#ab_movie a:hover, #ab_movie #sd .cont_nav span:hover, #sd .cont_nav #ab_movie span:hover {
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
}
#ab_movie a:hover img, #ab_movie #sd .cont_nav span:hover img, #sd .cont_nav #ab_movie span:hover img {
  opacity: 0.85;
}

#chara_list {
  overflow: hidden;
}
#chara_list li {
  float: left;
  width: 180px;
  height: 280px;
  background: #fff;
  position: relative;
  cursor: pointer;
  overflow: hidden;
}
#chara_list li:before, #chara_list li:after {
  position: absolute;
  height: 280px;
}
#chara_list li:before {
  right: 0;
  bottom: 0;
  z-index: 10;
}
#chara_list #chara01:before {
  content: url(../images/about/chara01_off.png);
}
#chara_list #chara02:before {
  content: url(../images/about/chara02_off.png);
}
#chara_list #chara03:before {
  content: url(../images/about/chara03_off.png);
}
#chara_list #chara04:before {
  content: url(../images/about/chara04_off.png);
}
#chara_list #chara05:before {
  left: 0;
  content: url(../images/about/chara05_off.png);
}
#chara_list li:hover:before {
  margin-right: -10px;
  margin-bottom: -20px;
  opacity: 0.25;
  z-index: 0;
}
#chara_list li:after {
  left: 0;
  top: 0;
  margin-left: -20px;
  margin-top: -20px;
  opacity: 0.25;
  z-index: 0;
}
#chara_list #chara01:after {
  content: url(../images/about/chara01_on.png);
}
#chara_list #chara02:after {
  content: url(../images/about/chara02_on.png);
}
#chara_list #chara03:after {
  content: url(../images/about/chara03_on.png);
}
#chara_list #chara04:after {
  content: url(../images/about/chara04_on.png);
}
#chara_list #chara05:after {
  right: 0;
  content: url(../images/about/chara05_on.png);
}
#chara_list li:hover:after {
  margin-left: -10px;
  margin-top: 0;
  opacity: 1;
  z-index: 10;
}
#chara_list a, #chara_list #sd .cont_nav span, #sd .cont_nav #chara_list span {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 100;
}
#chara_list span {
  margin: 208px auto 0;
  width: 151px;
  height: 53px;
  background-image: url(../images/about/chara_name.png);
  background-repeat: no-repeat;
  background-position: 0 0;
  position: relative;
  z-index: 30;
}
#chara_list #chara02 span {
  background-position: 0px -63px;
}
#chara_list #chara03 span {
  background-position: 0px -126px;
}
#chara_list #chara04 span {
  background-position: 0px -189px;
}
#chara_list #chara05 span {
  background-position: 0px -252px;
}

.chara_prof {
  width: 960px;
  margin: 40px auto 0;
  border-top: solid 10px #998675;
  padding: 0px 20px 40px;
  font-size: 17px;
  font-size: 1.7rem;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5);
  background: #fff;
  position: relative;
}
.chara_prof h4 {
  width: 151px;
  height: 53px;
  margin: -30px auto 10px;
  background-image: url(../images/about/chara_name.png);
  background-repeat: no-repeat;
  background-position: 0 0;
}
.chara_prof .fright {
  width: 525px;
  line-height: 1.8;
  letter-spacing: -0.05em;
  margin-top: 30px;
}
.chara_prof .fleft {
  margin: 0 0 -30px 15px;
}
.chara_prof div {
  border-bottom: solid 1px #998675;
}
.chara_prof #chara_prof_name02 {
  background-position: 0px -63px;
}
.chara_prof #chara_prof_name03 {
  background-position: 0px -126px;
}
.chara_prof #chara_prof_name04 {
  background-position: 0px -189px;
}
.chara_prof #chara_prof_name05 {
  background-position: 0px -252px;
}
.chara_prof .mfp-close {
  display: none;
}

.chara_prof_close {
  background-color: #c1272d;
  color: #fff;
  position: absolute;
  right: 0;
  top: 0;
  font-size: 12px;
  padding: 4px 20px 3px 35px;
  border-radius: 0 0 20px 20px;
  cursor: pointer;
}
.chara_prof_close:before {
  content: url("../images/about/mark.png");
  position: absolute;
  left: 17px;
  top: 5px;
}


.bullets_number {
  width: 830px;
  font-size: 24px;
  padding: 20px 0 20px 70px;
  position: relative; 
  counter-increment: number;
}
.bullets_number h1:before {
  content: "";
  position: absolute;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: #4da12f;
  top: 8px;
  left: 3px;
}
.bullets_number h1:after {
  content: counter(number);
  position: absolute;
  font-size: 32px;
  font-weight: bold;
  color: #fff;
  top: 16px;
  left: 21px;
}

#how_to_play_text_01_span,
#how_to_play_text_02_span01,
#how_to_play_text_02_span02,
#how_to_play_text_03_span,
#how_to_play_text_04_span {
  color: #fff;
  font-weight: bold;
  margin: 5px;
}

#how_to_play_text_01_span {
  background-color: #4da12f;
}
#how_to_play_text_02_span01  {
  background-color: #706d58;
}
#how_to_play_text_02_span02  {
  background-color: #6872e1;
}
#how_to_play_text_03_span {
  background-color: #226908;
}
#how_to_play_text_04_span {
  background-color: #d53a61;
}

.how_to_play_image {
  width: 900px;
  height: calc(900px * 0.75);
  position: relative;
  margin: 0 0 40px 0;
}

.screenshot {
  height: 90%;
  position: absolute;
  top: 5%;
  left: 30%;
}
.screenshot img {
  height: 100%;
  box-shadow: 0 10px 25px 0 rgba(0, 0, 0, .5);
}

.screenshot_borders {
  width: 100%;
  height: 100%;
  position: absolute;
  background-color: transparent;
  top: 0;
  left: 0;  
}
.screenshot_borders_frame {
  width: 100%;
  height: 100%;
  position: relative;
  background-color: transparent;
}

#how_to_play_borders_01:before {
  content: "";
  width: 140px;
  height: 140px;
  border-radius: 50%;
  border: 8px solid #f30;
  position: absolute;
  top: 62%;
  left: 27.5%;
}
#how_to_play_borders_01:after {
  content: url(../images/about/how_to_play/tap_moji.png);
  position: absolute;
  top: 65%;
  left: 80%;
}

#how_to_play_borders_02:before {
  content: "";
  width: 225px;
  height: 70px;
  border: 8px solid #f30;
  position: absolute;
  top: 19%;
  left: 15%;
}

#how_to_play_note_02 {
  width: 28%;
  position: absolute; 
  top: 22%;
  left: 69%;
}
#how_to_play_note_02 .balloon-left {
  position: relative;
  display: inline-block;
  margin: 0 0 0 15px;
  padding: 15px;
  min-width: 120px;
  max-width: 100%;
  color: #222;
  font-size: 18px;
  text-align: justify;
  background:  #f69679;
  border-radius: 8px;
}
#how_to_play_note_02 .balloon-left:before {
  content: "";
  position: absolute;
  top: 50%;
  left: -30px;
  margin-top: -15px;
  border: 15px solid transparent;
  border-right: 15px solid #f69679;
}
#how_to_play_note_02 .balloon-left p {
  margin: 0;
  padding: 0;
}

#how_to_play_borders_03:before {
  content: "";
  width: 140px;
  height: 140px;
  border-radius: 50%;
  border: 8px solid #f30;
  position: absolute;
  top: 21%;
  left: 51%;
}
#how_to_play_borders_03:after {
  content: url(../images/about/how_to_play/tap_moji.png);
  position: absolute;
  top: 23%;
  left: 97%;
}

#how_to_play_borders_04:before {
  content: "";
  width: 140px;
  height: 140px;
  border-radius: 50%;
  border: 8px solid #f30;
  position: absolute;
  top: 40%;
  left: 12%;
}
#how_to_play_borders_04:after {
  content: url(../images/about/how_to_play/tap_moji.png);
  position: absolute;
  top: 43%;
  left: -45%;
}


#sd .cont_nav {
  margin-bottom: 300px;
}
#sd .cont_nav li {
  width: 680px;
  margin: 20px auto;
  position: relative;
}
#sd .cont_nav li:first-child {
  margin-top: 0;
}
#sd .cont_nav a, #sd .cont_nav span {
  display: block;
  width: 100%;
  height: 35px;
  color: #fff;
  position: relative;
  background-repeat: no-repeat;
  background-position: center 1px;
}
#sd .cont_nav #sb_menu01 {
  background-image: url(../images/about/study/cont_nav01_off.png);
}
#sd .cont_nav #sb_menu02 {
  background-image: url(../images/about/study/cont_nav02_off.png);
}
#sd .cont_nav span {
  opacity: 0;
  background-repeat: no-repeat;
  background-position: center 1px;
}
#sd .cont_nav a:hover span, #sd .cont_nav span:hover span {
  opacity: 1;
}
#sd .cont_nav #sb_menu01 span {
  background-image: url(../images/about/study/cont_nav01_on.png);
}
#sd .cont_nav #sb_menu02 span {
  background-image: url(../images/about/study/cont_nav02_on.png);
}

#sd #sd_nav {
  display: block;
  width: 960px;
  height: 260px;
  border: dotted 3px #4cb3ff;
  border-radius: 8px;
  position: absolute;
  left: -140px;
  top: 17px;
  z-index: -1;
  padding-top: 40px;
  letter-spacing: -0.4em;
}
#sd #sd_nav li {
  background: none;
  display: inline-block;
  width: 200px;
  height: 190px;
  margin-top: 0;
  margin-left: 30px;
  border-radius: 5px;
  position: relative;
  overflow: hidden;
  letter-spacing: normal;
  border: none;
  z-index: -1;
  -webkit-transition: all 250ms ease-in-out;
  -moz-transition: all 250ms ease-in-out;
  -ms-transition: all 250ms ease-in-out;
  -o-transition: all 250ms ease-in-out;
  transition: all 250ms ease-in-out;
}
#sd #sd_nav li:first-child {
  margin-left: 0;
}
#sd #sd_nav #sd_nav01 {
  background-color: #72c0f8;
}
#sd #sd_nav #sd_nav01:hover {
  background-color: #8fcdf9;
}
#sd #sd_nav #sd_nav02 {
  background-color: #fcc267;
}
#sd #sd_nav #sd_nav02:hover {
  background-color: #fdce85;
}
#sd #sd_nav #sd_nav03 {
  background-color: #c8a1c9;
}
#sd #sd_nav #sd_nav03:hover {
  background-color: #d3b4d4;
}
#sd #sd_nav #sd_nav04 {
  background-color: #b4da82;
}
#sd #sd_nav #sd_nav04:hover {
  background-color: #c2e19a;
}
#sd #sd_nav li:before {
  content: "";
  display: inline-block;
  width: 110px;
  height: 110px;
  background: url(../images/about/study/zoom.png) no-repeat center;
  position: absolute;
  left: 0;
  top: 0;
  margin-left: -15px;
  margin-top: -15px;
  -webkit-transform: scale(0.8);
  -moz-transform: scale(0.8);
  -ms-transform: scale(0.8);
  -o-transform: scale(0.8);
  transform: scale(0.8);
  -webkit-transition: all 250ms ease-in-out;
  -moz-transition: all 250ms ease-in-out;
  -ms-transition: all 250ms ease-in-out;
  -o-transition: all 250ms ease-in-out;
  transition: all 250ms ease-in-out;
  z-index: 10;
}
#sd #sd_nav li:hover:before {
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
}
#sd #sd_nav a, #sd #sd_nav .cont_nav span, #sd .cont_nav #sd_nav span {
  width: 100%;
  height: 100%;
  border-radius: 5px;
  z-index: 30;
  background-image: url(../images/about/study/sd_nav.png);
  background-repeat: no-repeat;
  background-position: center 10px;
}
#sd #sd_nav #sd_nav01 a, #sd #sd_nav #sd_nav01 .cont_nav span, #sd .cont_nav #sd_nav #sd_nav01 span {
  background-position: 12px 12px;
}
#sd #sd_nav #sd_nav02 a, #sd #sd_nav #sd_nav02 .cont_nav span, #sd .cont_nav #sd_nav #sd_nav02 span {
  background-position: -200px 12px;
}
#sd #sd_nav #sd_nav03 a, #sd #sd_nav #sd_nav03 .cont_nav span, #sd .cont_nav #sd_nav #sd_nav03 span {
  background-position: -420px 12px;
}
#sd #sd_nav #sd_nav04 a, #sd #sd_nav #sd_nav04 .cont_nav span, #sd .cont_nav #sd_nav #sd_nav04 span {
  background-position: -634px 12px;
}

#sd #sec01 .sec_cont{
  height: 740px;
}

#sd #sec01 .sec_cont img {
  position: absolute;
  right: 15px;
  top: 5px;
}

#sd #sec01 .sec_cont .img_1 {
  position: absolute;
  right: 15px;
  top: 5px;
}

#sd #sec01 .sec_cont .img_2 {
  position: absolute;
  right: 15px;
  top: 255px;
}

#sd #sec01 .sec_cont .img_3 {
  position: absolute;
  right: 15px;
  top: 510px;
}

#sd #sec01 p span {
  width: 426px;
  height: 210px;
  background-image: url(../images/about/study/sec01_img01.png);
  background-repeat: no-repeat;
}

/*
#sd #sec01 p span:first-child {
  margin-bottom: 13px;
  background-position: 0 0;
}
*/

#sd #sec01 .box_text {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  border: solid 2px #fbb03b;
  margin-top: 25px;
  width: 426px;
  height: 170px;
  background: url(../images/about/study/sec01_img02.png) no-repeat center;
}

#sd #sec02 h4 span {
  background-image: url(../images/about/study/cont_title.png);
  background-position: 116px 13px;
}

#sd #sec02_cont01 .cont_sub_title {
  background-image: url(../images/about/study/sec02_text.png);
  background-repeat: no-repeat;
}
#sd #sec02_cont01 .title01 {
  height: 54px;
  background-position: 0px -108px;
}
#sd #sec02_cont01 .title02 {
  height: 23px;
  background-position: 0 -171px;
}

#sd_eiken_part {
  margin-top: 30px;
}
#sd_eiken_part li {
  margin-bottom: 35px;
  padding-bottom: 30px;
}
#sd_eiken_part div {
  float: left;
}
#sd_eiken_part .part_title {
  margin-bottom: 20px;
  border-radius: 30px;
  width: 230px;
  height: 26px;
  background-image: url(../images/about/study/sec02_text.png);
  background-repeat: no-repeat;
  background-position: 38px 0;
}

#sd_eiken_part img {
  margin: -5px 0 0 auto;
  display: block;
  box-shadow: 0 10px 25px 0 rgba(0, 0, 0, .5);
}

#sd_eiken_part01 {
  border-bottom: solid 1px #f7931e;
}
#sd_eiken_part01 div {
  width: 460px;
}
#sd_eiken_part01 .part_title {
  background-color: #f7931e;
}

#sd_eiken_part02 {
  border-bottom: solid 1px #39b54a;
}
#sd_eiken_part02 div {
  width: 520px;
}
#sd_eiken_part02 .part_title {
  background-position: 38px -36px;
  background-color: #39b54a;
}

#sd #sd_eiken_part03 {
  border-bottom: solid 1px #4cb3ff;
  margin-bottom: 40px;
}
#sd #sd_eiken_part03 div {
  width: 470px;
}
#sd #sd_eiken_part03 .part_title {
  background-position: 38px -72px;
  background-color: #4cb3ff;
}

#sd #sec02_cont02 {
  margin-top: 50px;
  padding: 0 0 30px;
}
#sd #sec02_cont02 h4 span {
  background-position: 116px -53px;
}
#sd #sec02_cont02 .cont_sub_title {
  background-image: url(../images/about/study/sec02_text02.png);
  background-repeat: no-repeat;
}
#sd #sec02_cont02 .title01 {
  background-position: 0px -282px;
  height: 58px;
}
#sd #sec02_cont02 .title01 + img {
  margin-top: -50px;
  padding-bottom: 50px;
}
#sd #sec02_cont02 .title02 {
  background-position: 0px -350px;
  height: 23px;
  margin: 50px 0 30px;
}
#sd #sec02_cont02 .title03 {
  background-position: 0px -383px;
  width: 491px;
  height: 23px;
}

#sd #sec02 .bullets_number h1 {
  font-weight: bold;
}

#sd #sec02 .bullets_number span {
  color: #c1272d;
}

#sd_mail_call {
  margin: 40px auto;
  position: relative;
  width: 875px;
  height: 190px;
}
#sd_mail_call:before {
  content: url(../images/about/study/sd_mail_call.png);
  display: block;
  position: absolute;
  right: 0;
  top: -10px;
}
#sd_mail_call p {
  background-image: url(../images/about/study/sec02_text02.png);
  background-repeat: no-repeat;
  background-position: 0px -205px;
  width: 497px;
  height: 67px;
}
#sd_mail_call p:first-child {
  background-position: 0px -156px;
  width: 562px;
  height: 39px;
  margin-bottom: 30px;
}

#sd_eiken_story {
  width: 950px;
  height: 520px;
  top: 50px;
  margin: -15px 20px 20px -25px;
  background: url(../images/about/study/sec02_img07.png) no-repeat;
  position: relative;
}
#sd_eiken_story .sd_story_text {
  position: absolute;
  right: 30px;
  bottom: 40px;
  width: 190px;
  height: 69px;
  font-size: 20px;
  font-weight: bold;
  color: #fff;
  text-shadow: 0 0 3px orangered, 0 0 3px orangered, 0 0 3px orangered, 0 0 3px orangered, 0 0 3px orangered, 0 0 3px orangered;
}
#sd_eiken_story .sd_story_text:first-child {
  width: 524px;
  height: 67px;
  left: 25px;
  top: -10px;
  text-shadow: 0 0 3px green, 0 0 3px green, 0 0 3px green, 0 0 3px green, 0 0 3px green, 0 0 3px green;
}

#sd_story_link a, #sd_story_link #sd .cont_nav span, #sd .cont_nav #sd_story_link span {
  width: 520px;
  height: 35px;
  background-image: url(../images/about/study/story_link.png);
  background-repeat: no-repeat;
  background-position: center 7px;
  position: absolute;
  right: 20px;
  bottom: 0px;
  border: solid 1px #4cb3ff;
  border-radius: 40px;
}

#sd #sec02_cont03 {
  margin-top: 30px;
  padding: 0 0 30px;
}
#sd #sec02_cont03 h4 span {
  background-position: 116px -117px;
}
#sd #sec02_cont03 .box_text {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  border: solid 2px #fbb03b;
  height: 140px;
  background: url(../images/about/study/sec02_cont03_box.png) no-repeat center;
}

#sd_eiken_merit {
  width: 880px;
  margin: 40px auto 60px;
  text-align: center;
}
#sd_eiken_merit .math_cont div {
  letter-spacing: -0.4em;
}
#sd_eiken_merit .math_cont div p {
  display: inline-block;
  letter-spacing: normal;
}
#sd_eiken_merit .math_cont div p:first-child {
  margin-right: 30px;
}

#sd #sec02_cont04 {
  margin-top: 30px;
}
#sd #sec02_cont04 h4 span {
  background-position: 116px -182px;
}
#sd #sec02_cont04 .cont_sub_title {
  margin-bottom: 15px;
  background-image: url(../images/about/study/sec02_text04.png);
  background-repeat: no-repeat;
  background-height: 23px;
}
#sd #sec02_cont04 .title02 {
  background-position: 0px -33px;
  margin-top: 30px;
}
#sd #sec02_cont04 p {
  margin-bottom: 10px;
  line-height: 1.7;
}
#sd #sec02_cont04 a, #sd #sec02_cont04 .cont_nav span, #sd .cont_nav #sec02_cont04 span {
  text-decoration: underline;
}
#sd #sec02_cont04 a:hover, #sd #sec02_cont04 .cont_nav span:hover, #sd .cont_nav #sec02_cont04 span:hover {
  text-decoration: none;
}

#sd .btn_nav #bnav02 {
  box-shadow: 0 8px 0 #7b2e12;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 250ms ease-in-out;
  -moz-transition: all 250ms ease-in-out;
  -ms-transition: all 250ms ease-in-out;
  -o-transition: all 250ms ease-in-out;
  transition: all 250ms ease-in-out;
}
#sd .btn_nav #bnav02:hover {
  box-shadow: 0 2px #7b2e12;
  -webkit-transform: translateY(5px);
  transform: translateY(5px);
}
#sd .btn_nav #bnav02 a, #sd .btn_nav #bnav02 .cont_nav span, #sd .cont_nav .btn_nav #bnav02 span {
  -webkit-transition: opacity 200ms ease-in-out;
  -moz-transition: opacity 200ms ease-in-out;
  -ms-transition: opacity 200ms ease-in-out;
  -o-transition: opacity 200ms ease-in-out;
  transition: opacity 200ms ease-in-out;
}
#sd .btn_nav #bnav02 a:hover, #sd .btn_nav #bnav02 .cont_nav span:hover, #sd .cont_nav .btn_nav #bnav02 span:hover {
  opacity: 0.85;
}
#sd .btn_nav #bnav02 a, #sd .btn_nav #bnav02 .cont_nav span, #sd .cont_nav .btn_nav #bnav02 span {
  background-position: 0 -117px;
  z-index: -1;
}
#sd .btn_nav #bnav02 i {
  background: url(../images/common/eiken_btn.png) no-repeat 0 -234px;
  width: 136px;
  height: 142px;
  position: absolute;
  right: -5px;
  top: -55px;
  z-index: 10;
  -webkit-transition: top 250ms ease-in-out;
  -moz-transition: top 250ms ease-in-out;
  -ms-transition: top 250ms ease-in-out;
  -o-transition: top 250ms ease-in-out;
  transition: top 250ms ease-in-out;
}
#sd .btn_nav #bnav02 a:hover i, #sd .btn_nav #bnav02 .cont_nav span:hover i, #sd .cont_nav .btn_nav #bnav02 span:hover i {
  top: -50px;
}

#user_voice {
  margin: 50px auto 0;
  width: 900px;
}
#user_voice #uv_title {
  background: url(../images/common/user_voice.png);
  height: 50px;
  position: relative;
  z-index: 10;
}
#user_voice ul {
  background: url(../images/common/uv_bg.png);
  padding: 25px 20px 20px;
  position: relative;
  z-index: 0;
  margin-top: -20px;
  font-size: 13px;
  font-size: 1.3rem;
  letter-spacing: -0.4em;
  text-align: center;
}
#user_voice li {
  display: inline-block;
  letter-spacing: normal;
  vertical-align: top;
  width: 155px;
  border-left: solid 1px #534741;
  padding-top: 15px;
  padding-left: 20px;
  margin-left: 20px;
}
#user_voice li:first-child {
  border-left: none;
  padding-left: 0;
  margin-left: 0;
}
#user_voice .user {
  margin-bottom: 10px;
}
#user_voice .message {
  height: 150px;
  overflow-y: auto;
}

/*
	FAQ よくある質問
===================================================*/
#search_area {
  background: #604c3f;
  margin-bottom: 30px;
  padding: 15px;
}
#search_area h3 {
  background: url(../images/support/faq/title01.png) no-repeat;
  width: 292px;
  height: 30px;
  float: left;
}

#search {
  float: right;
}
#search input {
  background: -webkit-linear-gradient(top, #e6e7e7 0%, #fff 100%);
  background: -moz-linear-gradient(top, #e6e7e7 0%, #fff 100%);
  background: -ms-linear-gradient(top, #e6e7e7 0%, #fff 100%);
  background: -o-linear-gradient(top, #e6e7e7 0%, #fff 100%);
  background: linear-gradient(top, #e6e7e7 0%, #fff 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e6e7e7', endColorstr='#fff',GradientType=0 );
  padding: 5px 10px;
  font-size: 15px;
  font-size: 1.5rem;
  border-radius: 50px;
  border: none;
  height: 30px;
  display: inline-block;
  width: 460px;
  vertical-align: middle;
}
#search input:focus {
  outline: none;
}
#search button, #search span {
  border-radius: 30px;
}
#search button {
  display: inline-block;
  background: -webkit-linear-gradient(top, #cf4229 0%, #f6911e 100%);
  background: -moz-linear-gradient(top, #cf4229 0%, #f6911e 100%);
  background: -ms-linear-gradient(top, #cf4229 0%, #f6911e 100%);
  background: -o-linear-gradient(top, #cf4229 0%, #f6911e 100%);
  background: linear-gradient(top, #cf4229 0%, #f6911e 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cf4229', endColorstr='#f6911e',GradientType=0 );
  outline: none;
  border: none;
  margin-left: 10px;
  padding: 0;
  vertical-align: middle;
  cursor: pointer;
}
#search span {
  background: url(../images/support/faq/search.png) no-repeat center;
  padding: 10px 20px;
  width: 140px;
  height: 30px;
}

#cate_area h3 {
  background: url(../images/support/faq/title01.png) no-repeat;
  height: 40px;
}
#cate_area ul {
  background: #604c3f;
  letter-spacing: -0.4em;
  padding-top: 20px;
  position: relative;
  margin-bottom: 65px;
}
#cate_area li {
  display: inline-block;
  letter-spacing: normal;
  margin: 0 0 20px 20px;
}
#cate_area a, #cate_area #sd .cont_nav span, #sd .cont_nav #cate_area span {
  display: block;
  color: #fff;
  padding: 5px 40px 4px 50px;
  border-radius: 40px;
  background: url(../images/support/faq/mark.png) no-repeat 23px center #4cb3ff;
  font-size: 18px;
  font-size: 1.8rem;
  letter-spacing: 0.03em;
}
#cate_area a:hover, #cate_area #sd .cont_nav span:hover, #sd .cont_nav #cate_area span:hover, #cate_area a.current, #cate_area #sd .cont_nav span.current, #sd .cont_nav #cate_area span.current {
  background-color: #0075cc;
}
#cate_area ul:before {
  content: url(../images/support/faq/img.png);
  display: block;
  position: absolute;
  right: 40px;
  bottom: 50px;
}
#cate_area ul:after {
  content: "";
  display: block;
  width: 100px;
  height: 35px;
  background: url(../images/support/faq/cate_bottom.png);
  position: absolute;
  left: 50%;
  margin-left: -50px;
  bottom: -35px;
}

#faq_area {
  margin-bottom: 40px;
}
#faq_area h3 {
  border: solid 2px #1768cd;
  padding: 15px 20px 12px 155px;
  position: relative;
  font-size: 21px;
  font-size: 2.1rem;
  font-weight: bold;
  color: #1d1d1d;
  margin-bottom: 50px;
}
#faq_area h3 span {
  position: absolute;
  left: 20px;
  top: 50%;
  width: 120px;
  height: 28px;
  margin-top: -14px;
  background: url(../images/support/faq/cate_title.png);
  margin-right: 15px;
}
#faq_area h3 + p {
  font-size: 15px;
  font-size: 1.5rem;
  text-align: right;
}
#faq_area dl {
  margin-top: 30px;
  font-size: 20px;
  font-size: 2rem;
}
#faq_area dt {
  background: url(../images/support/faq/que.png) no-repeat left center;
  position: relative;
}
#faq_area dt span {
  display: block;
  width: 906px;
  border-top: solid 1px #796a56;
  border-bottom: solid 1px #796a56;
  float: right;
  padding: 15px 190px 15px 15px;
}
#faq_area dt dl.on span {
  border-bottom: dashed 1px #796a56;
}
#faq_area dt button {
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -16px;
  background-image: url(../images/support/faq/more.png);
  background-repeat: no-repeat;
  background-position: 0 -42px;
  width: 166px;
  height: 32px;
  border: none;
  text-indent: 120%;
}
#faq_area dt button:focus {
  outline: none;
}
#faq_area dt button:hover {
  opacity: 0.8;
}
#faq_area .on button {
  background-position: 0 0;
}
#faq_area dd {
  width: 906px;
  margin: 0 0 0 auto;
  padding: 15px 10px 15px 70px;
  font-size: 16px;
  font-size: 1.6rem;
  background: url(../images/support/faq/ans.png) no-repeat left center;
  border-bottom: solid 1px #796a56;
  display: none;
  line-height: 1.7;
}
#faq_area dd span {
  display: block;
  margin-bottom: 10px;
}
#faq_area dd a, #faq_area dd #sd .cont_nav span, #sd .cont_nav #faq_area dd span {
  color: #c1272d;
  text-decoration: underline;
}
#faq_area dd a:hover, #faq_area dd #sd .cont_nav span:hover, #sd .cont_nav #faq_area dd span:hover {
  text-decoration: none;
}
#faq_area dl.on dd {
  display: block;
}

#faq_other {
  text-align: center;
  margin-bottom: 40px;
}
#faq_other .btn {
  width: 700px;
  height: 68px;
  margin: 20px auto;
  border-radius: 10px;
  border: solid 2px #796a56;
  background: -webkit-linear-gradient(top, #003365 0%, #00478c 100%);
  background: -moz-linear-gradient(top, #003365 0%, #00478c 100%);
  background: -ms-linear-gradient(top, #003365 0%, #00478c 100%);
  background: -o-linear-gradient(top, #003365 0%, #00478c 100%);
  background: linear-gradient(top, #003365 0%, #00478c 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#003365', endColorstr='#00478c',GradientType=0 );
}
#faq_other .btn a, #faq_other .btn #sd .cont_nav span, #sd .cont_nav #faq_other .btn span {
  color: #fff;
  display: block;
  line-height: 65px;
  font-size: 22px;
  font-size: 2.2rem;
  width: 696px;
  height: 64px;
  border-radius: 8px;
  border: solid 2px #fff;
  position: relative;
}
#faq_other .btn a:before, #faq_other .btn #sd .cont_nav span:before, #sd .cont_nav #faq_other .btn span:before {
  content: "";
  display: block;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  background: -webkit-linear-gradient(top, #0061bf 0%, #0075e5 100%);
  background: -moz-linear-gradient(top, #0061bf 0%, #0075e5 100%);
  background: -ms-linear-gradient(top, #0061bf 0%, #0075e5 100%);
  background: -o-linear-gradient(top, #0061bf 0%, #0075e5 100%);
  background: linear-gradient(top, #0061bf 0%, #0075e5 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0061bf', endColorstr='#0075e5',GradientType=0 );
  border-radius: 8px;
}
#faq_other .btn a:hover:before, #faq_other .btn #sd .cont_nav span:hover:before, #sd .cont_nav #faq_other .btn span:hover:before {
  opacity: 0;
}
#faq_other .btn span {
  position: relative;
  padding-left: 22px;
}
#faq_other .btn span:before {
  content: "";
  position: absolute;
  width: 15px;
  height: 15px;
  left: 0;
  top: 50%;
  margin-top: -10px;
  display: block;
  background: url(../images/support/faq/mark.png);
}

/*
	PAYMENT 課金システムについて
===================================================*/
.money_btn {
  box-shadow: 0 8px 0 #044517;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 250ms ease-in-out;
  -moz-transition: all 250ms ease-in-out;
  -ms-transition: all 250ms ease-in-out;
  -o-transition: all 250ms ease-in-out;
  transition: all 250ms ease-in-out;
  width: 433px;
  height: 107px;
  border-radius: 10px;
}
.money_btn:hover {
  box-shadow: 0 2px #044517;
  -webkit-transform: translateY(5px);
  transform: translateY(5px);
}
.money_btn a, .money_btn #sd .cont_nav span, #sd .cont_nav .money_btn span {
  -webkit-transition: opacity 200ms ease-in-out;
  -moz-transition: opacity 200ms ease-in-out;
  -ms-transition: opacity 200ms ease-in-out;
  -o-transition: opacity 200ms ease-in-out;
  transition: opacity 200ms ease-in-out;
}
.money_btn a:hover, .money_btn #sd .cont_nav span:hover, #sd .cont_nav .money_btn span:hover {
  opacity: 0.85;
}
.money_btn a, .money_btn #sd .cont_nav span, #sd .cont_nav .money_btn span {
  width: 100%;
  height: 100%;
  background: url(../images/payment/btn.png) no-repeat;
}

#pm #sec01 .sec_cont {
  position: relative;
}
#pm #sec01 span.red, #pm #sec01 span.red_bold, #pm #sec01 #sd_eiken_part span, #sd_eiken_part #pm #sec01 span, #pm #sec01 #user_voice span.user, #user_voice #pm #sec01 span.user {
  text-decoration: underline;
}
#pm #sec01 h4 {
  background: url(../images/payment/sec01_title.png) no-repeat;
  width: 260px;
  height: 43px;
  margin: 30px 0 20px;
}
#pm #sec01 h4 + p {
  border: solid 4px #96d068;
  border-radius: 10px;
  margin-bottom: 30px;
}
#pm #sec01 h4 + p img {
  border-radius: 8px;
}
#pm #sec01 .money_btn {
  position: absolute;
  right: 15px;
  top: 25px;
}

#pm #sec02 .pm01 h4 {
  background: url(../images/payment/sec02_title.png) no-repeat;
  width: 410px;
  height: 102px;
  margin: 0 0 35px;
}
#pm #sec02 .pm01 h4 + p {
  margin-bottom: 50px;
  padding: 30px 30px 30px 250px;
  border-top: dashed 2px #534741;
  border-bottom: dashed 2px #534741;
  position: relative;
}
#pm #sec02 .pm01 p img {
  position: absolute;
  left: 10px;
  top: -30px;
}
#pm #sec02 .pm02 h4 {
  background: url(../images/payment/sec02_title02.png) no-repeat;
  width: 826px;
  height: 120px;
  margin: 40px auto 0;
}
#pm #sec02 .pm02 dl {
  border-bottom: solid 1px #231815;
  overflow: hidden;
  margin-top: 20px;
}
#pm #sec02 .pm02 dt, #pm #sec02 .pm02 dd {
  padding: 10px;
  display: inline-block;
  vertical-align: middle;
}
#pm #sec02 .pm02 dt {
  width: 350px;
}
#pm #sec02 .pm02 img {
  display: block;
}
#pm #sec02 .pm02 .list01 dt {
  height: 22px;
  background-image: url(../images/payment/sec02_title03.png);
  background-repeat: no-repeat;
  background-position: 20px center;
}
#pm #sec02 .pm02 .list02 dt {
  height: 55px;
  background-image: url(../images/payment/sec02_title04.png);
  background-repeat: no-repeat;
  background-position: 20px center;
}
#pm #sec02 .pm03 h4 {
  margin-top: 40px;
}
#pm #sec02 .pm03 h4 span {
  background-image: url(../images/payment/cont_title01.png);
  background-position: 116px 13px;
}
#pm #sec02 .pm03 p {
  padding-top: 10px;
}
#pm #sec02 .pm03 p img {
  width: 300px;
  margin-top: -10px;
  padding-right: 10px;
}

#pm #sec03 .sec_cont div {
  float: right;
}
#pm #sec03 p {
  width: 330px;
  float: left;
  padding-top: 20px;
}
#pm #sec03 a, #pm #sec03 #sd .cont_nav span, #sd .cont_nav #pm #sec03 span {
  display: block;
  margin-top: 20px;
  color: #c1272d;
  text-decoration: underline;
}
#pm #sec03 a:hover, #pm #sec03 #sd .cont_nav span:hover, #sd .cont_nav #pm #sec03 span:hover {
  text-decoration: none;
}
#pm #sec03 .more {
  margin-bottom: 60px;
}
#pm #sec03 .more a, #pm #sec03 .more #sd .cont_nav span, #sd .cont_nav #pm #sec03 .more span {
  background: url(../images/payment/more.png) no-repeat center;
}

#pm #sec04 h4 span {
  background-position: 116px 13px;
}
#pm #sec04 .pm01 h4 span {
  background-image: url(../images/payment/cont_title02.png);
}
#pm #sec04 .pm02 h4 {
  margin-bottom: 15px;
}
#pm #sec04 .pm02 h4 span {
  background-image: url(../images/payment/cont_title03.png);
}
#pm #sec04 .pm02 .math_style {
  margin: 30px auto 50px;
}
#pm #sec04 .pm02 .math_style p:first-child {
  text-align: center;
}
#pm #sec04 .pm02 .math_style .math_cont {
  padding: 0 30px 30px;
}
#pm #sec04 .pm02 .math_style section {
  margin-top: 40px;
}
#pm #sec04 .pm02 .math_style h5 {
  height: 22px;
  background-repeat: no-repeat;
}
#pm #sec04 .pm02 .math_style .list01 h5 {
  background-image: url(../images/payment/sec04_title01.png);
  height: 45px;
}
#pm #sec04 .pm02 .math_style .list02 h5 {
  background-image: url(../images/payment/sec04_title02.png);
  height: 45px;
}
#pm #sec04 .pm02 .math_style .list03 h5 {
  background-image: url(../images/payment/sec04_title03.png);
}
#pm #sec04 .money_btn {
  width: 579px;
  margin: 0 auto 30px;
}
#pm #sec04 .money_btn a, #pm #sec04 .money_btn #sd .cont_nav span, #sd .cont_nav #pm #sec04 .money_btn span {
  width: 580px;
  background: url(../images/payment/btn02.png) no-repeat;
}
#pm #sec04 .btn_nav {
  margin-bottom: 50px;
}
#pm #sec04 .btn_nav li {
  margin-left: 30px;
  border-radius: 8px;
}
#pm #sec04 .btn_nav li:first-child {
  margin-left: 0;
}
#pm #sec04 .btn_nav li {
  width: 299px;
  height: 74px;
}
#pm #sec04 .btn_nav a, #pm #sec04 .btn_nav #sd .cont_nav span, #sd .cont_nav #pm #sec04 .btn_nav span {
  width: 300px;
  height: 74px;
}
#pm #sec04 .btn_nav #bnav01 {
  box-shadow: 0 6px 0 #005182;
}
#pm #sec04 .btn_nav #bnav01 a, #pm #sec04 .btn_nav #bnav01 #sd .cont_nav span, #sd .cont_nav #pm #sec04 .btn_nav #bnav01 span {
  background: url(../images/payment/sub_btn01.png) no-repeat;
}
#pm #sec04 .btn_nav #bnav01:hover {
  box-shadow: 0 1px 0 #005182;
}
#pm #sec04 .btn_nav #bnav02 {
  box-shadow: 0 6px 0 #7b2e12;
}
#pm #sec04 .btn_nav #bnav02 a, #pm #sec04 .btn_nav #bnav02 #sd .cont_nav span, #sd .cont_nav #pm #sec04 .btn_nav #bnav02 span {
  background: url(../images/payment/sub_btn02.png) no-repeat;
}
#pm #sec04 .btn_nav #bnav02:hover {
  box-shadow: 0 1px 0 #7b2e12;
}
#pm #sec04 .btn_nav #bnav03 {
  box-shadow: 0 6px 0 #044517;
}
#pm #sec04 .btn_nav #bnav03 a, #pm #sec04 .btn_nav #bnav03 #sd .cont_nav span, #sd .cont_nav #pm #sec04 .btn_nav #bnav03 span {
  background: url(../images/payment/sub_btn03.png) no-repeat;
}
#pm #sec04 .btn_nav #bnav03:hover {
  box-shadow: 0 1px 0 #044517;
}
#pm #sec04 .btn_nav li:hover {
  -webkit-transform: translateY(4px);
  transform: translateY(4px);
}

/*
	CONTACT お問い合わせ
===================================================*/
#ct_form {
  background: url(../images/support/contact/bg.jpg) repeat-y;
  padding: 25px;
  margin-bottom: 60px;
}
#ct_form h3 {
  background: url(../images/support/contact/title01.png) no-repeat;
  width: 365px;
  height: 42px;
  margin-left: 20px;
  margin-bottom: 20px;
}
#ct_form input[type="text"], #ct_form input[type="email"] {
  letter-spacing: 0.05em;
}
#ct_form input:focus, #ct_form textarea:focus, #ct_form button:focus {
  outline: none;
}
#ct_form dd {
  position: relative;
}

.ct_list {
  background: #fbb03b;
  color: #fff;
  border-radius: 50px;
  text-align: right;
}
.ct_list dt {
  margin-right: 20px;
  padding: 6px 0;
  float: left;
}
.ct_list dt span {
  text-indent: 200%;
  padding: 7px 25px;
  border-right: solid 1px #fff;
}
.ct_list dd {
  display: inline-block;
  vertical-align: middle;
  text-align: right;
  padding: 4px 4px 4px 0;
  height: 50px;
}
.ct_list input {
  background: -webkit-linear-gradient(top, #e6e6e6 0%, #fff 100%);
  background: -moz-linear-gradient(top, #e6e6e6 0%, #fff 100%);
  background: -ms-linear-gradient(top, #e6e6e6 0%, #fff 100%);
  background: -o-linear-gradient(top, #e6e6e6 0%, #fff 100%);
  background: linear-gradient(top, #e6e6e6 0%, #fff 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e6e6e6', endColorstr='#fff',GradientType=0 );
  padding: 5px 10px;
  font-size: 15px;
  font-size: 1.5rem;
  border-radius: 50px;
  border: none;
  display: inline-block;
  vertical-align: middle;
  height: 42px;
}

#ct_name {
  margin-bottom: 20px;
}
#ct_name dt span {
  width: 62px;
  height: 24px;
  background: url(../images/support/contact/name.png) no-repeat center;
}
#ct_name dd span {
  display: inline-block;
}
#ct_name .mfp span {
  display: inline-block;
  vertical-align: middle;
  width: 22px;
  height: 22px;
  margin-top: -4px;
  margin-right: 10px;
}
#ct_name .ct_sei {
  background: url(../images/support/contact/sei.png) no-repeat;
}
#ct_name .ct_mei {
  background: url(../images/support/contact/mei.png) no-repeat;
  margin-left: 15px;
}
#ct_name input {
  width: 330px;
}

#ct_mail {
  margin-bottom: 40px;
}
#ct_mail dt span {
  width: 130px;
  height: 24px;
  background: url(../images/support/contact/mail.png) no-repeat center;
}
#ct_mail input {
  width: 680px;
}

#ct_message dd {
  background-color: #fff;
}
#ct_message dt.ct_select {
  background-image: url(../images/support/contact/select.png);
  background-repeat: no-repeat;
  background-color: #fbb03b;
  background-position: 25px center;
  height: 50px;
  border-radius: 20px 20px 0 0;
}
#ct_message dd.ct_select {
  padding: 25px 25px 15px;
  font-size: 20px;
  font-size: 2rem;
}
#ct_message dd.ct_select li {
  display: inline-block;
  margin-bottom: 10px;
}
#ct_message input[type="radio"] {
  display: none;
}
#ct_message input[type="radio"] + label {
  display: inline-block;
  cursor: pointer;
  margin: 0 10px;
}
#ct_message input[type="radio"] + label:before {
  width: 22px;
  height: 22px;
  display: inline-block;
  content: "";
  vertical-align: middle;
  border: 1px solid #fbb03b;
  background-color: #fff;
  margin: -2px 10px 0 0;
}
#ct_message input[type="radio"]:checked + label {
  cursor: default;
}
#ct_message input[type="radio"]:checked + label:before {
  border-color: #fbb03b !important;
  background-color: #fbb03b !important;
  box-shadow: inset 0 0 0 5px #fff;
}
#ct_message dt.ct_msg {
  background-image: url(../images/support/contact/message.png);
  background-repeat: no-repeat;
  background-color: #fff;
  height: 45px;
  border-bottom: solid 5px #fbb03b;
}
#ct_message dd.ct_msg {
  padding: 25px;
}
#ct_message #ct_title {
  background-image: url(../images/support/contact/ct_title.png);
}
#ct_message input[type="text"], #ct_message textarea {
  width: 100%;
  background: -webkit-linear-gradient(top, #f6f6f6 0%, #fff 100%);
  background: -moz-linear-gradient(top, #f6f6f6 0%, #fff 100%);
  background: -ms-linear-gradient(top, #f6f6f6 0%, #fff 100%);
  background: -o-linear-gradient(top, #f6f6f6 0%, #fff 100%);
  background: linear-gradient(top, #f6f6f6 0%, #fff 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f6f6f6', endColorstr='#fff',GradientType=0 );
  border: solid 1px #fbb03b;
}
#ct_message input[type="text"] {
  height: 40px;
  border-radius: 40px;
  padding: 5px 10px;
  font-size: 15px;
  font-size: 1.5rem;
}
#ct_message textarea {
  padding: 15px 15px;
  font-size: 14px;
  height: 400px;
  overflow-y: auto;
  line-height: 1.6;
  letter-spacing: -0.05em;
}

.mfp_buttons {
  background-color: #fff;
}
.mfp_buttons p {
  font-size: 16px;
  font-size: 1.6rem;
  text-align: center;
  padding: 0 0 25px;
}

#ct_submit {
  display: block;
  width: 320px;
  height: 45px;
  border-radius: 50px;
  background: -webkit-linear-gradient(top, #003365 0%, #00478c 100%);
  background: -moz-linear-gradient(top, #003365 0%, #00478c 100%);
  background: -ms-linear-gradient(top, #003365 0%, #00478c 100%);
  background: -o-linear-gradient(top, #003365 0%, #00478c 100%);
  background: linear-gradient(top, #003365 0%, #00478c 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#003365', endColorstr='#00478c',GradientType=0 );
  border: none;
  cursor: pointer;
  margin: 0 auto 25px;
  padding: 0;
  position: relative;
}
#ct_submit span {
  width: 100%;
  height: 100%;
  background: url(../images/support/contact/submit.png) no-repeat center;
  position: relative;
  z-index: 20;
}
#ct_submit:before {
  content: "";
  position: absolute;
  display: block;
  z-index: 10;
  width: 100%;
  height: 100%;
  border-radius: 50px;
  background: -webkit-linear-gradient(top, #0062c1 0%, #0076e8 100%);
  background: -moz-linear-gradient(top, #0062c1 0%, #0076e8 100%);
  background: -ms-linear-gradient(top, #0062c1 0%, #0076e8 100%);
  background: -o-linear-gradient(top, #0062c1 0%, #0076e8 100%);
  background: linear-gradient(top, #0062c1 0%, #0076e8 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0062c1', endColorstr='#0076e8',GradientType=0 );
}
#ct_submit:hover:before {
  opacity: 0;
}

.tb_01{
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}
.tb_01 th{
	width: 25%;
	padding: 10px;
	text-align: left;
	vertical-align: top;
	background-color: #eee;
	border: 1px solid #b9b9b9;
}
.tb_01 td{
	padding: 10px;
	background-color: #fff;
	border: 1px solid #b9b9b9;
}
.tyuui {
	color: #f99;
	font-weight: bold;
}
.txt_kiyaku {
	width:95%;
	height:16em;
	font-size:80%;
}
.btn_big {
	padding: 20px 60px;
	font-size: 24px;
}
.btn_s {
	padding: 10px 30px;
	font-size: 14px;
}
.chk_big {
	width: 30px;
	height: 30px;
	vertical-align: middle;
}
.msg {
	color: #f99;
	font-weight: bold;
	font-size: 16px;
}



.a_btn {
	border-radius: 10px;
	background-color: #91c942;
	padding: 10px 30px;
	font-size: 20px;
	font-weight: bold;
	color: #fff;
	line-height: 60px;
}
.a_btn:hover {
	color: #000;
	background-color: #b1e962;
}


#start_btn {
  position: absolute;
  width: 330px;
  height: 283px;
  top: -130px;
  left: 50%;
  margin-left: -165px;
}
#start_btn2 {
  position: absolute;
  width: 330px;
  height: 283px;
  top: 100px;
  left: 50%;
  margin-left: -165px;
}
#start_btn2 a, #start_btn2 #sd .cont_nav span, #sd .cont_nav #start_btn2 span {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  text-align: center;
}
#start_btn2 a:before, #start_btn2 #sd .cont_nav span:before, #sd .cont_nav #start_btn2 span:before {
  content: "";
  display: block;
  width: 330px;
  height: 283px;
  background-image: url(../images/index/start_bg.png);
  background-repeat: no-repeat;
  background-position: center;
  -webkit-background-size: 330px 283px;
  -moz-background-size: 330px 283px;
  -ms-background-size: 330px 283px;
  -o-background-size: 330px 283px;
  background-size: 330px 283px;
  opacity: 0;
}
#start_btn2 img {
  width: 330px;
  height: 283px;
  position: absolute;
  left: 0;
  top: 0;
}
#start_btn2 a, #start_btn2 #sd .cont_nav span, #sd .cont_nav #start_btn2 span, #start_btn2 img, #start_btn2 a:before, #start_btn2 #sd .cont_nav span:before, #sd .cont_nav #start_btn2 span:before {
  -webkit-transition: all 200ms ease-in;
  -moz-transition: all 200ms ease-in;
  -ms-transition: all 200ms ease-in;
  -o-transition: all 200ms ease-in;
  transition: all 200ms ease-in;
}
#start_btn2 a:hover, #start_btn2 #sd .cont_nav span:hover, #sd .cont_nav #start_btn2 span:hover, #start_btn2 a:hover:before, #start_btn2 #sd .cont_nav span:hover:before, #sd .cont_nav #start_btn2 span:hover:before {
  -webkit-transform: scale(1.04);
  -moz-transform: scale(1.04);
  -ms-transform: scale(1.04);
  -o-transform: scale(1.04);
  transform: scale(1.04);
}
#start_btn2 a:hover:before, #start_btn2 #sd .cont_nav span:hover:before, #sd .cont_nav #start_btn span:hover:before {
  opacity: 1;
}