@charset "UTF-8";
/* Base setting
----------------------------------------------------------------------------------------------------------------------*/
body {
  background: #fff;
  font-size: 16px;
  line-height: 1.8;
  font-weight: 500;
  font-style: normal;
  font-family: YuGothic, "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  color: #000;
  -webkit-text-size-adjust: 100%;
  margin: 0;
  padding: 0; }

div {
  box-sizing: border-box; }

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }

a img:hover {
  opacity: 0.8; }

a {
  color: #000;
  text-decoration: none; }
  a:hover {
    color: #666; }

a.txt {
  border-bottom: 1px dotted #000; }

.inner {
  width: 980px;
  margin: 0 auto; }
  .inner.mgnB {
    margin-bottom: 4em; }

em {
  font-weight: bold;
  font-style: normal; }

/* Header
----------------------------------------------------------------------------------------------------------------------*/
#header {
  margin: -15px 0 30px;
  padding: 0; }
  #header h1 {
    margin: 0 0 30px;
    padding: 0;
    float: left;
    display: block; }
  #header h1 img {
    max-width: 100%; }
  #header .header_menu {
    float: right;
    font-size: 14px;
    text-align: right; }
    #header .header_menu a.linkIcn {
      display: inline-block;
      font-size: 32px;
      line-height: 1;
      color: #666;
      margin-top: 10px;
      margin-left: 32px; }
    #header .header_menu a.txt {
      border-bottom: none; }
      #header .header_menu a.txt:hover {
        border-bottom: 1px dotted #000; }

/* Navigation
----------------------------------------------------------------------------------------------------------------------*/
#nav {
  position: relative;
  clear: both;
  background: #222;
  color: #fff;
  padding: 0;
  font-size: 14px;
  line-height: 1;
    /*-------------------------------    
	
	top level
	
-------------------------------*/
    /*-------------------------------    
	
	second  level
	
-------------------------------*/ }
  #nav ul {
    margin: 0;
    padding: 0;
    list-style: none; }
  #nav .menu {
    position: relative;
    width: 100%;
    height: 90px;
    max-width: 980px;
    margin: 0 auto;
    z-index: 10000; }
  #nav .menu > li {
    float: left;
    text-align: center;
    height: 90px;
    line-height: 90px;
    padding: 0 0 0 26px; }
    #nav .menu > li:first-child {
      padding-left: 0; }
  #nav .menu > li a {
    display: block;
    color: #fff; }
    #nav .menu > li a:after {
      content: "|";
      padding-left: 26px; }
  #nav .menu > li:last-child a:after {
    content: none; }
  #nav .menu > li a:hover {
    color: #ccc; }
  #nav ul.menu__second-level {
    visibility: hidden;
    opacity: 0;
    z-index: 11000; }
    #nav ul.menu__second-level li a:after {
      content: none;
      padding-left: 0; }
  #nav .menu:before,
  #nav .menu:after {
    content: " ";
    display: table; }
  #nav .menu:after {
    clear: both; }
  #nav .menu {
    *zoom: 1; }
  #nav .menu > li.menu__single {
    position: relative; }
  #nav li.menu__single ul.menu__second-level {
    position: absolute;
    top: 90px;
    background-color: #333;
    height: 100px;
    line-height: 40px;
    padding: 0 30px 40px;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    white-space: nowrap;
    text-align: left; }
  #nav li.menu__single ul.menu__second-level li:first-child {
    padding-top: 10px; }
  #nav li.menu__single:hover ul.menu__second-level {
    top: 90px;
    visibility: visible;
    background-color: #333;
    opacity: 0.8; }

#nav ul.spmenu,
#navToggle {
  display: none; }

/* Slider
----------------------------------------------------------------------------------------------------------------------*/
ul.bxslider img {
  width: 100%; }

/* Contents Layout
----------------------------------------------------------------------------------------------------------------------*/
.messageBox {
  position: relative; }
  .messageBox img {
    display: block;
    position: absolute;
    right: 0;
    top: -120px;
    z-index: 1000; }

#headerImg img {
  width: 100%; }

#contents {
    /*-------------------------------    
	
	index menuBox
	
-------------------------------*/
    /*-------------------------------    
	
	txtlink arrowl
	
-------------------------------*/
    /*-------------------------------    
	
	index voice 
	
-------------------------------*/
    /*-------------------------------    
	
	index book
	
-------------------------------*/
    /*-------------------------------    
	
	index news
	
-------------------------------*/
    /*-------------------------------    
	
	index support
	
-------------------------------*/
    /*-------------------------------    
	
	h3 & h4 style
	
-------------------------------*/
    /*-------------------------------    
	
	seminar
	
-------------------------------*/
    /*-------------------------------    
	
	seminar schedule
	
-------------------------------*/
    /*-------------------------------    
	
	profile
	
-------------------------------*/
    /*-------------------------------    
	
	voice & news
	
-------------------------------*/
    /*-------------------------------    
	
	book
	
-------------------------------*/
    /*-------------------------------    
	
	present & limited
	
-------------------------------*/ }
  #contents h2 {
    clear: both;
    font-size: 1.5em;
    padding: 0 2.2em;
    font-weight: normal;
    background-image: url(../images/icn_home.png);
    background-repeat: no-repeat;
    background-position: left center; }
  #contents .titleBox_outer {
    background: #f1f1f1; }
    #contents .titleBox_outer h3 {
      font-size: 1.5em;
      padding-bottom: 0.5em; }
      #contents .titleBox_outer h3 span {
        line-height: 1;
        font-weight: normal;
        margin: 0;
        padding: 0.6em 1em;
        border: 2px solid #000; }
  #contents .titleBox_photo,
  #contents .titleBox_title {
    width: 50%; }
  #contents .titleBox_title {
    box-sizing: padding-box;
    padding: 2.2em 1em 1em;
    text-align: center; }
  #contents .titleBox_photo.book {
    text-align: center;
    padding-top: 40px;
    font-size: 0.8em; }
  #contents .halfBox {
    width: 48%; }
    #contents .halfBox .titleBox_photo,
    #contents .halfBox .titleBox_title {
      width: 100%; }
      #contents .halfBox .titleBox_photo ul,
      #contents .halfBox .titleBox_title ul {
        text-align: left;
        font-size: 0.8em;
        line-height: 2;
        margin: 1em 2em;
        padding: 0; }
    #contents .halfBox .titleBox_title {
      padding-top: 1.5em; }
  #contents .arrowLink {
    display: inline-block;
    margin-top: 0.5em;
    padding-top: 0.8em;
    border-top: 1px dotted #000; }
  #contents i {
    padding-right: 0.5em; }
  #contents .cap {
    font-size: 0.8em; }
  #contents .voiceBox_outer ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: table;
    font-size: 0;
    line-height: 0; }
    #contents .voiceBox_outer ul li {
      display: table-cell;
      font-size: 14px;
      line-height: 1.6;
      width: 33.333%;
      padding: 2%; }
    #contents .voiceBox_outer ul li:first-child {
      padding-left: 0; }
    #contents .voiceBox_outer ul li:last-child {
      padding-right: 0; }
    #contents .voiceBox_outer ul li img {
      margin-bottom: 1em; }
    #contents .voiceBox_outer ul li span.user {
      display: block;
      text-align: right; }
  #contents .bookArea_outer {
    background: #f1f1f1;
    padding: 3em 0; }
  #contents dl.news {
    margin: 0;
    padding: 0;
    width: 100%; }
    #contents dl.news dt {
      clear: both;
      display: block;
      float: left;
      width: 9em;
      font-size: 0.8em;
      color: #fff;
      text-align: center;
      padding: 0.4em;
      margin: 0; }
      #contents dl.news dt.media {
        background-color: #f39800; }
      #contents dl.news dt.news {
        background: #eb6877; }
    #contents dl.news dd {
      display: block;
      margin: 0 0 1em 9em; }
  #contents .topstyle {
    margin-top: 3em; }
  #contents h3.title {
    font-size: 1.3em;
    color: #fff;
    background: #222;
    padding: 0.5em 1.3em;
    margin-bottom: 1.5em;
    font-weight: normal; }
    #contents h3.title span {
      font-size: 0.8em; }
  #contents h4 {
    font-size: 1.3em;
    border-bottom: 2px solid #222; }
  #contents .priceBox {
    background: #f1f1f1;
    text-align: center;
    padding: 2em 4em; }
    #contents .priceBox .arrowLink {
      border: 2px solid #000;
      padding: 1em;
      margin-top: 2em; }
    #contents .priceBox .price {
      font-size: 1.2em; }
    #contents .priceBox .price_under {
      padding-top: 1em;
      border-top: 1px dotted #000; }
  #contents .supportImg img {
    width: 50%; }
  #contents .scheduleTable {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 2.5em; }
    #contents .scheduleTable td {
      padding: 1em 2em;
      text-align: left; }
    #contents .scheduleTable th {
      padding: 1em 2em;
      background: #f1f1f1;
      border-bottom: 1px dotted #000; }
    #contents .scheduleTable td {
      border-bottom: 1px dotted #000; }
    #contents .scheduleTable .date {
      border-right: 3px solid #fff; }
    #contents .scheduleTable .btn_end {
      display: inline-block;
      width: 9em;
      margin: 0.3em -2em 0.3em 1em;
      font-size: 14px;
      text-align: center;
      padding: 2px;
      background: #f39800;
      color: #fff; }
    #contents .scheduleTable .btn_entry {
      display: inline-block;
      width: 9em;
      margin: 0.3em -2em 0.3em 1em;
      font-size: 14px;
      text-align: center;
      padding: 2px;
      background: #79c5ea;
      color: #fff; }
    #contents .scheduleTable .btn_entry:hover {
      background: #84d7ff;
      cursor: pointer; }
    #contents .scheduleTable .btn_entry a {
      color: #fff; }
  #contents .profPhoto {
    display: block;
    float: left;
    margin: 0 1.5em 1.5em 0; }
  #contents p.profTitle {
    font-size: 1.3em;
    padding-bottom: 1em;
    border-bottom: 1px dotted #000; }
  #contents .voiceBox {
    padding: 2em 0 2em 0;
    border-bottom: 1px dotted #000; }
  #contents h2 + .voiceBox {
    padding: 0 0 2em 0; }
  #contents .voicePhoto {
    float: left;
    text-align: center;
    margin: 0 2em 0 0;
    font-size: 14px; }
    #contents .voicePhoto img {
      max-width: 100%; }
  #contents .voiceTitle {
    font-size: 1.3em; }
  #contents .bookPhoto {
    margin: 0 1em;
    padding: 0 3em; }
    #contents .bookPhoto p.bookinfo {
      font-size: 14px; }
    #contents .bookPhoto .titleBox_title {
      padding: 2.2em 0 0; }
    #contents .bookPhoto.pageFoot {
      margin-top: 2em;
      text-align: center; }
  #contents .bookIndex {
    font-size: 0.8em; }
  #contents .presentBox {
    clear: both;
    background: #f1f1f1;
    text-align: center;
    padding: 2em; }
    #contents .presentBox a {
      display: inline-block;
      font-size: 1.5em;
      border: 2px solid #000;
      padding: 0.8em 2em; }
  #contents ul.downloadList {
    list-style: none;
    margin-bottom: 4em; }
    #contents ul.downloadList li {
      line-height: 5; }

/*-------------------------------    
	
	form
	
-------------------------------*/
#contents .form {
  width: 70%;
  margin: 0 auto; }
  #contents .form input[type="text"] {
    width: 100%;
    margin-bottom: 20px;
    padding: 5px;
    box-sizing: border-box; }
  #contents .form input[type="password"] {
    width: 30%;
    margin: 3px 10px 20px 0;
    padding: 8px;
    float: left;
    box-sizing: border-box; }
  #contents .form textarea {
    width: 100%;
    height: 7em;
    padding: 0.5em;
    box-sizing: border-box; }
  #contents .form input {
    color: #000;
    font-weight: bold; }
  #contents .form .submit {
    border: none;
    display: block;
    background: #79c5ea;
    width: 48%;
    padding: 1em 3em;
    margin: 1em auto;
    line-height: 1;
    color: #fff;
    cursor: pointer;
    border-radius: 4px; }
    #contents .form .submit.conf {
      float: right; }
  #contents .form .submit_back {
    border: none;
    display: block;
    background: #fff;
    width: 20%;
    padding: 1em 0;
    margin: 1em auto;
    line-height: 1;
    color: #666;
    cursor: pointer;
    text-align: left;
    float: left; }

/* Footer
----------------------------------------------------------------------------------------------------------------------*/
#footer {
  margin-top: 80px;
  padding: 40px 0;
  background: #e6e6e6; }
  #footer ul {
    margin: 0;
    padding: 0;
    list-style: none; }
    #footer ul li {
      font-size: 0.8em;
      line-height: 3; }
  #footer .copy {
    text-align: center;
    font-size: 0.8em; }

/* Text
----------------------------------------------------------------------------------------------------------------------*/
p.link {
  padding-top: 1em;
  border-top: 1px dotted #000; }

/* Responsive
----------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 1000px) {
  .inner {
    width: 92%;
    margin-left: 4%;
    margin-right: 4%; } }
@media screen and (max-width: 986px) {
  body {
    font-size: 16px; } }
@media screen and (max-width: 920px) {
  /*toggle menu*/
  #navToggle {
    display: block;
    position: absolute;
    right: 20px;
    top: 20px;
    width: 20px;
    height: 60px;
    cursor: pointer;
    color: #fff;
    font-weight: bold;
    text-align: center; }

  #navToggle div {
    position: relative; }

  #navToggle span {
    display: block;
    position: absolute;
    width: 100%;
    border-bottom: solid 2px #000; }

  #navToggle span:nth-child(1) {
    top: 14px; }

  #navToggle span:nth-child(2) {
    top: 22px; }

  #navToggle span:nth-child(3) {
    top: 30px; }

  #nav ul.menu {
    display: none; }

  #header .header_menu {
    display: none; }

  #nav ul.spmenu {
    display: none;
    margin: 0;
    padding: 20px 0;
    list-style: none;
    color: #fff; }
    #nav ul.spmenu li a {
      display: block;
      color: #fff;
      padding: 1em; }
    #nav ul.spmenu ul {
      margin-left: 30px; }
    #nav ul.spmenu .sns {
      text-align: center; }
    #nav ul.spmenu .linkIcn {
      padding: 0 1em;
      display: inline-block;
      width: 30%;
      text-align: center;
      font-size: 30px;
      line-height: 1; }

  #nav {
    opacity: 0.8; } }
@media screen and (max-width: 870px) {
  .messageBox img {
    width: 50%; }

  #contents .fltL,
  #contents .fltR {
    float: none;
    clear: both; }
  #contents .titleBox_photo,
  #contents .titleBox_title {
    width: 100%; }
  #contents .titleBox_photo img {
    width: 100%; }
  #contents .titleBox_title {
    padding-bottom: 2em;
    margin-bottom: 1em; }
  #contents .titleBox_photo.book img {
    width: 40%; }
  #contents .halfBox {
    width: 100%;
    float: none; }
  #contents .spUp {
    margin-bottom: 0 !important; }
  #contents .topstyle {
    margin-top: 0; }

  #contents .titleBox_photo {
    padding: 2em; }

  #contents .titleBox_title {
    padding: 0 1em 1em; }

  #contents .titleBox_outer h3 {
    font-size: 1.3em; }

  #contents .halfBox .titleBox_title {
    padding-top: 0; } }
@media screen and (max-width: 768px) {
  #header h1 img {
    width: 70%; }

  #contents .voiceBox_outer ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: block !important;
    font-size: 0;
    line-height: 0; }
    #contents .voiceBox_outer ul li {
      clear: both;
      display: block;
      font-size: 14px;
      line-height: 1.6;
      width: 100%;
      padding: 0;
      margin-bottom: 2em; }
    #contents .voiceBox_outer ul li:first-child {
      padding-left: 0; }
    #contents .voiceBox_outer ul li:last-child {
      display: none; }
    #contents .voiceBox_outer ul li img {
      display: block;
      width: 30%;
      margin-right: 1em;
      margin-bottom: 1em;
      float: left; }
    #contents .voiceBox_outer ul li span.user {
      display: block;
      text-align: right; } }
@media screen and (max-width: 678px) {
  #header h1 {
    margin-bottom: 20px; } }
@media screen and (max-width: 640px) {
  body {
    font-size: 14px; }

  ul.bxslider > li {
    height: 300px; }

  ul.bxslider > li > img {
    height: 300px;
    object-fit: cover; }

  .ofi {
    object-fit: cover;
    font-family: "object-fit: cover;"; }

  .messageBox {
    margin-bottom: -3em; }
    .messageBox img {
      top: -50px; }

  #footer img {
    width: 70%; }

  #contents .titleBox_photo.book img {
    width: 50%; }

  #contents .profPhoto {
    display: block;
    float: none;
    margin: 0 auto 1.5em auto; }

  #contents p.profTitle {
    font-size: 1.3em;
    padding-bottom: 1em;
    border-bottom: 1px dotted #000; }

  #contents .voicePhoto {
    float: none;
    text-align: center;
    margin: 0 auto 2em auto;
    font-size: 0.8em; }
    #contents .voicePhoto img {
      max-width: 70%; }

  #contents .bookPhoto {
    width: 100%;
    margin: 0 auto 2em auto;
    padding: 0 20%;
    text-align: center; }
    #contents .bookPhoto p.bookinfo {
      font-size: 14px; }
    #contents .bookPhoto .titleBox_title {
      padding: 2.2em 0 0; }

  #contents .form {
    width: 100%; }

  #contents .supportImg img {
    width: 100%; }

    /*-------------------------------    
	
	h3 & h4 style
	
-------------------------------*/
  #contents h2 {
    font-size: 1.3em; }

  #contents h3.title {
    font-size: 1.2em;
    padding: 0.5em 1em; }

  #contents h4 {
    font-size: 1.12em; }

  #contents .scheduleTable {
    line-height: 1.5; }
    #contents .scheduleTable .btn_end {
      margin: 0.3em -1em 0.3em 1em; }
    #contents .scheduleTable .btn_entry {
      margin: 0.3em -1em 0.3em 1em; }

  #contents .scheduleTable th,
  #contents .scheduleTable td {
    padding: 0.8em 1em; } }
.fltL {
  float: left; }

.fltR {
  float: right; }

.clearfix:after {
  content: " " !important;
  display: block !important;
  clear: both !important;
  float: none !important; }
