@charset "UTF-8";
/* Reset Style */
html {
  overflow-y: scroll;
}

body {
  line-height: 1;
  color: #000;
}

/* html5doctor.com Reset Stylesheet v1.6.1
Last Updated: 2010-09-17 Author: Richard Clark - http://richclarkdesign.com Twitter: @rich_clark */
html, body, div, span, object, iframe, header, footer,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
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, option {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

em {
  font-weight: bold;
  font-style: normal;
}

strong {
  font-weight: normal;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

ul,
ol {
  list-style: none;
}

ul,
ol,
dl {
  letter-spacing: -0.4em;
}

ul li,
ol li,
dl dt,
dl dd {
  letter-spacing: 0.05em;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  outline: none;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

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;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #fff;
}

input, button, select, textarea {
  vertical-align: middle;
  font-family: inherit;
  font-size: 100%;
}

/* YUI 3.4.1 (build 4118) Copyright 2011 Yahoo! Inc. All rights reserved.
Licensed under the BSD License. http://yuilibrary.com/license/ */
body {
  font: 16px/1.5 "メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "游ゴシック", YuGothic, "ＭＳ Ｐゴシック", Helvetica, Arial, sans-serif;
  *font-size: small;
  *font: x-small;
}

/* for IE6 */
* html body {
  font-size: 100%;
}

/* for IE7 */
*:first-child + html body {
  font-size: 100%;
}

/*
// Nudge down to get to 13px equivalent for these form elements
select, input, button, textarea {
	font:99% "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}

// To help tables remember to inherit
table {
	font-size:inherit;
	font:100%;
}

// Bump up IE to get to 13px equivalent for these fixed-width elements
pre, code, kbd, samp, tt {
	font-family:"游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	*font-size:108%;
	line-height:100%;
}*/
.inline_block {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}

.table_cell {
  display: table-cell;
  *display: inline;
  *zoom: 1;
  vertical-align: middle;
}

/* clearfix */
.clearfix, #footer, #header, .pagetop, ul.disc,
ol.disc {
  position: relative;
  *zoom: 1;
}
.clearfix:after, #footer:after, #header:after, .pagetop:after, ul.disc:after,
ol.disc:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
}

/*----------------------------------------------------
	element style
----------------------------------------------------*/
body {
  background: #fff;
  color: #808080;
  font-family: "Yantramanav", sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  letter-spacing: 0.05em;
}

input, textarea {
  font-family: "Yantramanav", sans-serif;
}

sup,
sub,
.note {
  font-size: 70%;
}

sup {
  vertical-align: top;
  position: relative;
  top: 0;
}

sub {
  vertical-align: baseline;
  position: relative;
  top: 0;
}

sub.note {
  font-size: 62% !important;
  font-weight: bold;
}

* html body, * html input, * html textarea {
  font-family: "Yantramanav", sans-serif;
}

.scroll {
  overflow: auto;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}

@media (min-width: 0px) and (max-width: 425px) {
  .scroll {
    width: 100%;
  }
  .scroll table {
    table-layout: fixed;
  }
  .scroll table td,
.scroll table th {
    word-wrap: break-word;
  }
}
.blank span:after {
  content: "";
  display: inline-block;
  vertical-align: baseline;
  background: url("../images/blank.png") no-repeat center left;
  background-size: contain;
  width: 11px;
  height: 11px;
  margin-left: 11px;
}

.blank.blank_wh span:after {
  background-image: url("../images/blank_wh.png");
}

.blank_bk {
  color: #3e3a39;
}

.blank_bk:after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  background: url("../images/blank_bk.png") no-repeat left -1px;
  background-size: contain;
  width: 11px;
  height: 12px;
  margin-left: 11px;
}

.blank_bk:hover, a:hover .blank_bk {
  color: #FFF;
}

.blank_bk:hover:after, a:hover .blank_bk:after {
  background-image: url("../images/blank_wh.png");
}

.blank_blu {
  color: #00a6ff;
}

.blank_blu span:after {
  content: "";
  display: inline-block;
  vertical-align: baseline;
  background: url("../images/blank_blu.png") no-repeat center left;
  background-size: contain;
  width: 11px;
  height: 11px;
  margin-left: 11px;
  color: #00a6ff;
}

.blank_blu:hover {
  text-decoration: underline;
}

a {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  text-decoration: none;
  color: #808080;
}

a.pdf {
  text-decoration: underline;
  color: #33b2ff;
}

a.pdf:before {
  content: "";
  display: inline-block;
  vertical-align: text-bottom;
  background: url("../images/pdf.png") no-repeat center left;
  background-size: contain;
  width: 25px;
  height: 25px;
  margin-right: 5px;
}

a.pdf:hover {
  text-decoration: none;
}

.fr,
.imgR {
  float: right;
  margin-left: 10px;
}

.fl,
.imgL {
  float: left;
  margin-right: 10px;
}

.ta_c,
.imgC,
.tC,
.btn {
  text-align: center;
}

.imgC {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.col940 {
  width: 940px;
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 0px) and (max-width: 767px) {
  .col940 {
    width: 100%;
  }
}

@media (min-width: 0px) and (max-width: 767px) {
  .sp_m-auto {
    margin: auto;
  }
}
.tR {
  text-align: right !important;
}

.sign {
  text-align: right;
}

.tL {
  text-align: left;
}

.att {
  color: #F00;
}
.att a {
  color: #F00;
}

.mb00 {
  margin-bottom: 0 !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mt10 {
  margin-top: 10px;
}

.blu {
  color: #00a6ff;
}

ul.disc > li,
ol.disc > li {
  list-style: disc !important;
  margin: 0 0 0 1.4em;
}
ul.lower-roman > li,
ol.lower-roman > li {
  list-style: lower-roman !important;
  margin: 0 0 0 1.4em;
}
ul.ower-alpha > li,
ol.ower-alpha > li {
  list-style: ower-alpha !important;
  margin: 0 0 0 1.4em;
}
ul.decimal > li,
ol.decimal > li {
  list-style: decimal !important;
  margin: 0 0 0 1.4em;
}
ul.indentlist li,
ol.indentlist li {
  text-indent: -1em;
  padding-left: 1em;
}
ul.att-list li,
ol.att-list li {
  list-style: none;
  background: url("../images/ic_att.png") no-repeat left 0.5em;
  margin: 0;
  padding-left: 20px;
}
ul.note-list li,
ol.note-list li {
  list-style: none;
  background: url("../images/ic_note.png") no-repeat 5px 0.5em;
  margin: 1em 0;
  padding: 5px 5px 5px 25px;
  border: 1px dashed #DDD;
  display: table;
}

.italic {
  font-style: italic;
}

.margin-c {
  margin-left: auto;
  margin-right: auto;
}

.mov {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  margin-top: 2.1126760563%;
}

@media (min-width: 0px) and (max-width: 767px) {
  .mov {
    margin-top: 5.1724137931%;
  }
}
.mov iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.formula {
  color: #333 !important;
  font-family: serif, sans-serif;
  font-weight: bold;
}

.formula .sfrac {
  display: inline-block;
  vertical-align: -0.5em;
  text-align: center;
}

.formula .sfrac i {
  width: auto !important;
  padding: 0 !important;
  color: #333 !important;
}

.formula .sfrac-num {
  display: inline-block;
  font-size: 1.5rem;
}

.formula .sfrac__inr {
  display: block;
  white-space: nowrap;
  text-align: left;
}

.formula .sfrac__inr-bottom {
  border-top: 1px solid #333;
}

.sp_item {
  display: none !important;
}

img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

.note {
  font-size: 77% !important;
  font-weight: normal !important;
}

.indent {
  text-indent: -1em;
  padding-left: 1em;
}

.bold {
  font-weight: bold !important;
}

.contents {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: table;
  margin: 0 auto;
  width: 100%;
  max-width: 1420px;
  table-layout: fixed !important;
  background: #F00;
}

.iframe-content {
  position: relative;
  width: 100%;
  padding: 50% 0 0 0;
  border: 3px double #dfdfdf;
  margin-bottom: 4.9382716049%;
}
@media (min-width: 0px) and (max-width: 767px) {
  .iframe-content {
    margin-bottom: 12.5%;
    overflow: auto;
    padding: 0;
    height: 250px;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
  }
}
.iframe-content iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media (min-width: 0px) and (max-width: 1420px) {
  .contents {
    padding: 0 5%;
  }
}
a.links {
  position: relative;
  padding-left: 15px;
  background: url("../images/arrow02.png") no-repeat 0.4em center;
  background-size: 5px auto;
}

a.txlink {
  color: #00a6ff;
  text-decoration: underline;
}

.box {
  padding: 1em 1.5em;
  border: 1px solid #bbb;
  margin-bottom: 3em !important;
}

.box_att {
  padding: 1em 1.5em;
  border: 1px solid #F00;
  margin-bottom: 2em !important;
}

.bnr_col {
  margin-bottom: 4.92%;
}

@media all and (min-width: 1025px) {
  .btn,
a,
.submit,
span {
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
    opacity: 1;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
  }
  a.fade:hover,
span.fade:hover,
.submit.fade:hover {
    filter: alpha(opacity=50);
    opacity: 0.5;
    -moz-opacity: 0.5;
    -webkit-opacity: 0.5;
  }
}
@media (min-width: 0px) and (max-width: 1240px) {
  body {
    font-size: 93%;
  }
}
@media (min-width: 0px) and (max-width: 1240px) and (-ms-high-contrast: none) {
  body {
    font-size: 70%;
  }
}

#trend_notification_app {
  display: none;
}

/*----------------------------------------------------
	.contents
----------------------------------------------------*/
#contents {
  width: 100%;
  min-width: 1020px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

section {
  width: 100%;
  min-width: 1020px;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  padding: 0 2.1126760563%;
}
section#title_area {
  width: 100%; /* FF3.6-15 */ /* FF3.6-15 */
  background: -webkit-linear-gradient(left, #0458c4 0%, #009fe5 100%); /* Chrome10-25,Safari5.1-6 */
  background-repeat: no-repeat;
  background-position: center;
  color: #FFF;
  text-align: left;
  position: relative;
  height: 270px;
  overflow: hidden;
  padding: 0;
}
section#title_area #bradcrumbs {
  position: absolute;
  width: 100%;
  padding: 1.2345679012% 1.8518518519%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
section#title_area #bradcrumbs li {
  display: inline-block;
  vertical-align: middle;
  font-size: 77%;
}
section#title_area #bradcrumbs li a {
  color: #FFF;
}
section#title_area #bradcrumbs li a:after {
  content: ">";
  display: inline-block;
  vertical-align: baseline;
  margin: 0.5em;
}
section#title_area h1 {
  width: 100%;
  font-size: 362%;
  font-weight: normal;
  display: table;
  height: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
section#title_area h1.adjust {
  font-size: 262%;
}
section#title_area h1 span {
  width: 100%;
  display: table-cell;
  vertical-align: middle;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0 6.1728395062%;
}
section#title_area h1 span:before {
  content: "";
  display: block;
  width: 40px;
  height: 3px;
  background: #ffd600;
}
@media (min-width: 0px) and (max-width: 767px) {
  section#title_area h1 span:before {
    display: none;
  }
}
section#title_area h1 span.note {
  display: inline;
  padding: 0;
}
section#title_area h1 span.note:before {
  display: none;
}
section#title_area h1 span.sml {
  font-size: 54%;
  display: block;
  padding: 0;
  margin-top: -0.5em;
}
section#title_area h1 span.sml:before, section#title_area h1 span.sml:after {
  display: none !important;
}
section.col_w {
  background: #FFF;
  padding: 5.5555555556% 0;
}
section.col_g {
  background: #f2f2f2;
  padding: 5.5555555556% 0;
}
section.col_g.iframe {
  padding: 5.5555555556% 0 1.2345679012%;
}
section .inr {
  text-align: left;
  width: 100%;
  max-width: 1420px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0 auto;
  position: relative;
  table-layout: fixed !important;
}
@media (min-width: 0px) and (max-width: 1420px) {
  section .inr {
    padding-left: 5%;
    padding-right: 5%;
  }
}

.ttl_h1 {
  color: #00a6ff;
  font-size: 370%;
  text-align: center;
  line-height: 1;
  margin-bottom: 20px;
  font-weight: normal;
}
.ttl_h1.mb {
  margin-bottom: 5.5555555556%;
}
.ttl_h1_s {
  font-size: 262%;
  line-height: 1.2;
  margin-bottom: 30px;
}
.ttl_h1_02 {
  color: #1d2080;
}
.ttl_h2 {
  font-size: 216%;
  font-weight: normal;
  line-height: 1.05;
}
@media (min-width: 0px) and (max-width: 1140px) {
  .ttl_h2 {
    font-size: 185%;
  }
}
.ttl_h2_01 {
  color: #1d2080 !important;
}
.ttl_h2_01_s {
  font-size: 124% !important;
}
.ttl_h2_02 {
  color: #00a6ff !important;
}
.ttl_h2_02_s {
  font-size: 124% !important;
}
.ttl_h2_bk {
  color: #3e3a39 !important;
}
.ttl_h2_c {
  text-align: center;
}
.ttl_h2_s {
  font-size: 124%;
  color: #3e3a39;
}
.ttl_h2_ss {
  font-size: 116%;
  color: #3e3a39;
}
.ttl_h2_line span:before {
  content: "";
  display: block;
  width: 1em;
  height: 3px;
  background: #ffd600;
  margin-bottom: 0.5em;
}
.ttl_h2_pdf {
  background: url("../images/pdf.png") no-repeat center left;
  background-size: 24px;
  padding-left: 30px;
  line-height: 24px;
}
.ttl_h2_new span {
  display: inline-block !important;
}

.lead {
  margin-bottom: 5.5555555556%;
}
.lead_c {
  text-align: center;
}

ul.list {
  width: 100%;
  margin-bottom: 2.8169014085%;
}
@media (min-width: 0px) and (max-width: 767px) {
  ul.list {
    margin-bottom: 6.25%;
  }
}
ul.list li {
  background: #FFF;
  margin-bottom: 1.4084507042%;
}
@media (min-width: 0px) and (max-width: 767px) {
  ul.list li {
    margin-bottom: 4.6875%;
  }
}
ul.list li:last-child {
  margin-bottom: 0;
}
ul.list li a {
  width: 100%;
  display: block;
}
ul.list li .img {
  width: 50%;
  display: table-cell;
}
@media (min-width: 0px) and (max-width: 767px) {
  ul.list li .img {
    width: 100%;
    display: block;
  }
}
ul.list li .txt {
  width: 50%;
  display: table-cell;
  vertical-align: middle;
  background: #FFF;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0 5.6338028169%;
}
@media (min-width: 0px) and (max-width: 767px) {
  ul.list li .txt {
    width: 100%;
    display: block;
    padding: 9.375%;
  }
}
ul.list li .txt p {
  margin-bottom: 10px;
}

ul.links.links_blu li + li {
  margin-top: 10px;
}
ul.links.links_blu li a {
  background: url("../images/link_blu.png") no-repeat center left;
  background-size: 22px;
  padding-left: 30px;
  display: table;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  height: 100%;
}
ul.links.links_blu li a span {
  display: table-cell;
  vertical-align: middle;
}
ul.links.links_mov li a {
  background: url("../images/link_mov.png") no-repeat center left;
  background-size: 22px;
  padding-left: 30px;
  display: table;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  height: 100%;
}
ul.links.links_mov li a span {
  display: table-cell;
  vertical-align: middle;
}

.btn_more, .btn_more_close {
  border: 2px solid #3e3a39;
  display: table;
  border-radius: 30px;
  padding: 5px 25px;
  font-size: 77%;
  color: #3e3a39;
  font-weight: bold;
  position: relative;
  min-width: 120px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.btn_blu {
  display: table;
  border-radius: 36px;
  padding: 15px 36px;
  background: #0458c4;
  font-size: 124%;
  color: #FFF;
  width: 33.3%;
  max-width: 275px;
  margin: 0 auto;
  position: relative;
}
.btn_blu:after {
  content: "";
  display: inline-block;
  vertical-align: baseline;
  background: url("../images/link_right_w.png") no-repeat center left;
  background-size: contain;
  width: 11px;
  height: 15px;
  position: absolute;
  right: 20px;
  top: 50%;
  margin-top: -8px;
}
.btn_blu.auto {
  width: auto;
  max-width: 100%;
}
.btn_key {
  background: #ff962d;
  display: table;
  border-radius: 30px;
  padding: 7px 25px;
  font-size: 85%;
  font-weight: bold;
  color: #FFF;
  margin: 0 auto;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.btn_key:after {
  content: "";
  display: inline-block;
  vertical-align: baseline;
  background: url("../images/link_right_w.png") no-repeat center left;
  background-size: contain;
  width: 11px;
  height: 15px;
  position: absolute;
  margin-left: 5px;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.btn_key.auto {
  width: auto;
  max-width: 100%;
}
.btn_dl {
  padding: 5px 25px 5px 35px;
  font-size: 93%;
}
.btn_dl:before {
  content: "";
  display: inline-block;
  vertical-align: baseline;
  background: url("../images/dl.png") no-repeat center left;
  background-size: contain;
  width: 25px;
  height: 25px;
  position: absolute;
  left: 10px;
  top: 50%;
  margin-top: -13px;
}
.btn_or {
  display: table;
  border-radius: 36px;
  padding: 15px 36px;
  background: #ffd600;
  color: #3e3a39;
  position: relative;
}
.btn_or:after {
  content: "";
  display: inline-block;
  vertical-align: baseline;
  background: url("../images/link_right.png") no-repeat center right;
  background-size: contain;
  width: 11px;
  height: 15px;
  position: absolute;
  right: 15px;
  top: 50%;
  margin-top: -8px;
}

a:hover .btn_more,
a:hover .btn_more_close {
  border: 2px solid #0458c4;
  background: #0458c4;
  color: #FFF;
}
a:hover.btn_blu {
  background: #00a6ff;
}
a:hover .btn_blu {
  background: #00a6ff;
}
a:hover .btn_dl:before {
  background-image: url("../images/dl_w.png");
}

.btn_more:hover,
.btn_more_close:hover {
  border: 2px solid #0458c4;
  background: #0458c4;
  color: #FFF;
}

.btn_blu:hover {
  background: #00a6ff;
}

.btn_blu:hover {
  background: #00a6ff;
}

.btn_dl:hover:before {
  background-image: url("../images/dl_w.png");
}

.w_80 {
  width: 80%;
  margin-left: auto;
  margin-right: auto;
}

.tab-wrap {
  margin-bottom: 6.862745098%;
}
.tab__hide {
  display: none;
}
.tab__open, .tab__pagelink_open {
  text-align: center;
  margin-top: 1.9607843137%;
}
.tab__open .btn, .tab__pagelink_open .btn {
  background: #ffd600;
  padding: 9px 25px;
  margin: 0 auto;
  cursor: pointer;
  width: 175px;
  position: relative;
  font-size: 93%;
  border: 2px solid #ffd600;
}
.tab__open .btn i, .tab__pagelink_open .btn i {
  width: 16px;
  height: 16px;
  font-size: 16px;
  display: inline-block;
  vertical-align: middle;
  position: absolute;
  right: 10px;
  top: 50%;
  margin-top: -8px;
}
.tab__open .btn i.fa, .tab__pagelink_open .btn i.fa {
  -webkit-font-smoothing: antialiased;
  -webkit-text-stroke: 2px #ffd600;
}
.tab__open .btn-small, .tab__pagelink_open .btn-small {
  background: #00a6ff;
  border: 2px solid #00a6ff;
  color: #fff;
  width: auto;
  min-width: 120px;
  padding: 5px 25px;
  font-size: 85%;
}
.tab__open .btn-small i, .tab__pagelink_open .btn-small i {
  width: 14px;
  height: 14px;
  font-size: 14px;
  display: inline-block;
  vertical-align: middle;
  position: absolute;
  right: 10px;
  top: 50%;
  margin-top: -7px;
}
.tab__open .btn-small i.fa, .tab__pagelink_open .btn-small i.fa {
  -webkit-font-smoothing: antialiased;
  -webkit-text-stroke: 2px #00a6ff;
}

.form-btn {
  text-align: center;
}
.form-btn li {
  width: 235px;
  display: inline-block;
  margin: 4.2253521127% 1.4084507042%;
  vertical-align: top;
}
@media (min-width: 0px) and (max-width: 767px) {
  .form-btn li {
    width: 80%;
    display: block;
    margin: 6.25% auto;
  }
}
.form-btn li.full {
  width: auto;
  display: inline-block;
}
.form-btn li input,
.form-btn li button,
.form-btn li a {
  width: 100%;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 124%;
  border-radius: 50px;
  padding: 1em;
  cursor: pointer;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
  opacity: 1;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  border: none;
}
.form-btn li input:hover,
.form-btn li button:hover,
.form-btn li a:hover {
  filter: alpha(opacity=50);
  opacity: 0.5;
  -moz-opacity: 0.5;
  -webkit-opacity: 0.5;
}
.form-btn li input.btn_reset,
.form-btn li button.btn_reset,
.form-btn li a.btn_reset {
  background: #3e3a39;
  color: #FFF;
}
.form-btn li input.btn_submit,
.form-btn li button.btn_submit,
.form-btn li a.btn_submit {
  background: #0458c4;
  color: #FFF;
}
.form-btn li input.disabled,
.form-btn li button.disabled,
.form-btn li a.disabled {
  pointer-events: none;
  background: #dadada;
}

#pagenav {
  background: #FFF;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 1.2345679012% 1.8518518519%;
  width: 100%;
  overflow: hidden;
  position: relative;
}
@media (min-width: 0px) and (max-width: 767px) {
  #pagenav {
    padding: 0 4.6875%;
    height: auto;
    -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.3);
            box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.3);
    z-index: 350;
  }
}
#pagenav.fixed {
  position: fixed;
  top: 0;
  z-index: 50;
  -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.3);
          box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.3);
}
@media (min-width: 0px) and (max-width: 767px) {
  #pagenav.fixed {
    top: 64px !important;
  }
}
#pagenav dl {
  width: 100%;
  display: table;
}
#pagenav dl dt {
  font-size: 124%;
  color: #0458c4;
  display: none;
}
@media (min-width: 0px) and (max-width: 767px) {
  #pagenav dl dt {
    display: block !important;
    text-align: center;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    line-height: 60px;
  }
  #pagenav dl dt:before {
    content: "";
    background-image: url("../images/forteachers/gakuhan/policy/open.png");
    background-size: 100%;
    background-repeat: no-repeat;
    display: inline-block;
    vertical-align: middle;
    height: 10px;
    margin-right: 0.5em;
    width: 15px;
  }
  #pagenav dl dt.close:before {
    background-image: url("../images/forteachers/gakuhan/policy/close.png");
  }
}
#pagenav dl dd {
  display: table-cell;
  text-align: right;
}
@media (min-width: 0px) and (max-width: 767px) {
  #pagenav dl dd {
    display: none;
    text-align: left;
    padding: 3.125% 0;
    border-top: 1px solid #e6e6e6;
  }
}
#pagenav dl dd ul {
  text-align: right;
}
@media (min-width: 0px) and (max-width: 767px) {
  #pagenav dl dd ul {
    text-align: left;
  }
}
#pagenav dl dd ul li {
  display: inline-block;
  margin-left: 2em;
  font-size: 93%;
}
#pagenav dl dd ul li.on a {
  background: url("../images/link_right_blu.png") no-repeat center left;
  background-size: 6px auto;
  color: #0458c4;
}
#pagenav dl dd ul li a {
  background: url("../images/link_right_gray.png") no-repeat center left;
  background-size: 6px auto;
  padding-left: 15px;
}
#pagenav dl dd ul li a:hover {
  background: url("../images/link_right_blu.png") no-repeat center left;
  background-size: 6px auto;
  color: #0458c4;
}
@media (min-width: 0px) and (max-width: 767px) {
  #pagenav dl dd ul li {
    display: block;
    text-align: left;
    margin: 0;
    font-size: 108%;
    padding: 1.5625% 0;
  }
  #pagenav dl dd ul li a {
    display: block;
  }
}

.heading {
  font-size: 216%;
  color: #1d2080;
}
@media (min-width: 0px) and (max-width: 767px) {
  .heading {
    font-size: 162%;
  }
}
.heading .num {
  display: inline-block;
  vertical-align: middle;
  font-size: 0.7em;
  padding: 0 0.5em;
  color: #FFF !important;
  background: #1d2080;
  text-align: center;
  border-radius: 1.4em;
}

.subheading {
  font-size: 185%;
  color: #1d2080;
}
@media (min-width: 0px) and (max-width: 767px) {
  .subheading {
    font-size: 139%;
  }
}
.subheading.num {
  font-size: 162%;
  display: table;
}
.subheading.num span {
  display: table-cell;
}
.subheading .num {
  display: inline-block;
  vertical-align: top;
  font-size: 0.8em;
  padding: 0 0.5em;
  color: #1d2080 !important;
  background: #ffd600;
  text-align: center;
  margin-right: 0.5em;
}

.heading_s {
  color: #1d2080;
}
.heading_s .num {
  display: inline-block;
  vertical-align: middle;
  font-size: 0.7em;
  padding: 0 0.5em;
  color: #FFF !important;
  background: #1d2080;
  text-align: center;
  border-radius: 1.4em;
}

.update {
  background: #E3E3E3;
  padding: 40px;
  margin: 6.338028169% 0;
}
.update .ttl {
  color: #e60012;
  font-weight: bold;
  margin-bottom: 5px;
}
.update ul li {
  display: table;
  width: 100%;
  margin-bottom: 0.3em;
  font-size: 93%;
}
.update ul li span,
.update ul li a {
  display: table-cell;
  vertical-align: top;
  color: #3e3a39;
}
.update ul li span {
  width: 6em;
}
.update ul li a {
  color: #00a6ff;
}
.update ul li a:hover {
  color: #00a6ff;
  text-decoration: underline;
}

#info section {
  padding-bottom: 0;
}
#contents #info section .inr {
  padding: 0;
}
#info section dl {
  background: #FFF;
  margin: 0 auto;
  text-align: left;
}
#info section dl + dl {
  margin-top: 2.8169014085%;
}
#info section dl#Announcement {
  display: table;
  border: double 6px #F00;
  width: 80%;
}
@media (min-width: 0px) and (max-width: 767px) {
  #info section dl#Announcement {
    width: 100% !important;
  }
}
#info section dl#Announcement dt, #info section dl#Announcement dd {
  display: block;
  vertical-align: top;
  padding: 0.5em 1em;
  margin: 0;
  font-size: 108%;
}
#info section dl#Announcement dt:after, #info section dl#Announcement dd:after {
  display: none;
}
#info section dl#Announcement dt {
  color: #F00;
  font-weight: bold;
  padding-bottom: 0 !important;
  font-size: 124%;
}
#info section dl#Announcement dd a {
  text-decoration: underline;
  color: #808080;
}
#info section dl#Announcement dd a:before {
  content: "";
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 6px solid #1d2080;
  display: inline-block;
  vertical-align: middle;
  margin-right: 3px;
}
#info section dl#Announcement dd a:hover {
  text-decoration: none;
}
#info section dl#news {
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 1.8518518519% 2.4691358025%;
}
@media (min-width: 0px) and (max-width: 767px) {
  #info section dl#news {
    padding: 4.6875% 6.25%;
  }
}
#info section dl#news dt {
  border-bottom: 1px solid #e6e6e6;
  padding-bottom: 1.2345679012%;
  margin-bottom: 1.2345679012%;
}
@media (min-width: 0px) and (max-width: 767px) {
  #info section dl#news dt {
    padding-bottom: 2.34375%;
    margin-bottom: 2.34375%;
  }
}
#info section dl#news dd ul li {
  padding-bottom: 1.0563380282%;
  margin-bottom: 1.0563380282%;
  border-bottom: 1px solid #e6e6e6;
}
@media (min-width: 0px) and (max-width: 767px) {
  #info section dl#news dd ul li {
    padding-bottom: 2.34375%;
    margin-bottom: 2.34375%;
  }
}
#info section dl#news dd ul li:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: none;
}
#info section dl#news dd ul li a {
  width: 100%;
  display: table;
}
#info section dl#news dd ul li a span {
  display: table-cell;
  text-align: left;
}
#info section dl#news dd ul li a span:first-child {
  width: 10em;
  font-weight: bold;
}
@media (min-width: 0px) and (max-width: 767px) {
  #info section dl#news dd ul li a span {
    display: block;
    width: auto;
  }
  #info section dl#news dd ul li a span:first-child {
    margin-bottom: 0.3em;
  }
}

.pagetop {
  margin: 5.0847457627% 0;
}
.pagetop a {
  border: 2px solid #3e3a39;
  display: table;
  color: #3e3a39;
  border-radius: 30px;
  padding: 5px 20px 5px 30px;
  font-size: 77%;
  color: #3e3a39;
  font-weight: bold;
  min-width: 120px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  float: right;
  position: relative;
  text-align: center;
}
.pagetop a:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  background: url("../images/link_up.png") no-repeat;
  background-size: 100%;
  width: 14px;
  height: 9px;
  position: absolute;
  left: 14px;
  top: 50%;
  margin-top: -5px;
}

/*----------------------------------------------------
	header
----------------------------------------------------*/
#header {
  border-bottom: 1px solid #dfdfdf;
  width: 100%;
  min-width: 1020px;
  height: 100px;
  position: relative;
  font-weight: 700;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  #header a {
    color: #3e3a39; }
    @media all and (min-width: 768px) {
      #header a:hover {
        color: #0458c4; }
      #header a:active {
        color: #0458c4; } }
  #header-logo {
    position: absolute;
    top: 20px;
    left: 30px; }
    #header-logo img {
      width: 116px;
      vertical-align: bottom; }
    #header-logo .logo {
      padding-right: 14px;
      margin-right: 14px;
      display: inline-block;
      border-right: 1px solid #eaeaea; }
    #header-logo .note {
      color: #929392;
      display: inline-block;
      font-weight: 600 !important; }
      #header-logo .note br {
        display: none; }
    #header-logo.header-lang {
      top: 40px; }
  #header #open {
    display: none; }
  #header-navi {
    position: absolute;
    width: 100%;
    bottom: 0;
    right: 0;
    height: 54px; }
    #header-navi li a {
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
  #header-list {
    display: table;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-right: 60px; }
    @media (min-width: 0px) and (max-width: 1300px) {
      #header-list {
        padding-right: 20px; } }
    #header-list li {
      display: table-cell;
      vertical-align: bottom;
      position: relative; }
      #header-list li.header-list_02.type02 {
        position: absolute;
        right: 0;
        top: 0;
        -webkit-transform: translateY(calc(-100% + 10px));
        -ms-transform: translateY(calc(-100% + 10px));
        transform: translateY(calc(-100% + 10px)); }
        #header-list li.header-list_02.type02 li.login {
          position: static;
          -webkit-transform: none;
          -ms-transform: none;
          transform: none;
          margin-left: 10px; }
        #header-list li.header-list_02.type02 li.key {
          position: static;
          -webkit-transform: none;
          -ms-transform: none;
          transform: none;
          margin-left: 10px; }
  #header-navi_01 {
    height: 100%;
    padding-left: 10px; }
    #header-navi_01.ja li.home a, #header-navi_01.pulldown li.home a {
      width: auto; }
    #header-navi_01.ja li > .down a, #header-navi_01.pulldown li > .down a {
      border-bottom: none !important; }
      @media (min-width: 0px) and (max-width: 767px) {
        #header-navi_01.ja li > .down a, #header-navi_01.pulldown li > .down a {
          white-space: break-spaces; } }
    #header-navi_01 li {
      display: table-cell;
      vertical-align: middle;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      height: 54px;
      padding: 0 10px;
      white-space: nowrap;
      position: relative; }
      #header-navi_01 li a,
      #header-navi_01 li .down {
        display: table;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        height: 100%;
        border-bottom: 4px solid #FFF;
        cursor: pointer;
        color: #3e3a39; }
        #header-navi_01 li a span,
        #header-navi_01 li .down span {
          display: table-cell;
          vertical-align: middle; }
        #header-navi_01 li a.active, #header-navi_01 li a:hover,
        #header-navi_01 li .down.active,
        #header-navi_01 li .down:hover {
          border-bottom: 4px solid #0c70cc;
          color: #0c70cc; }
      #header-navi_01 li .nolink {
        color: #BBBBBB;
        pointer-events: none;
        cursor: auto; }
      @media (min-width: 768px) {
        #header-navi_01 li span .navi_small {
          display: none;
          position: absolute;
          left: 0;
          bottom: 1px;
          z-index: 100;
          background: #FFF;
          border-radius: 0 0 10px 10px;
          -webkit-transform: translateY(100%);
          -ms-transform: translateY(100%);
          transform: translateY(100%);
          width: auto; }
          #header-navi_01 li span .navi_small li {
            display: block;
            height: auto;
            padding: 0 15px; }
            #header-navi_01 li span .navi_small li a,
            #header-navi_01 li span .navi_small li span {
              border: none !important;
              padding: .7em 0;
              position: relative;
              display: block; }
              #header-navi_01 li span .navi_small li a:before,
              #header-navi_01 li span .navi_small li span:before {
                content: '';
                display: inline-block;
                vertical-align: middle;
                margin-right: 10px;
                width: 6px;
                height: 6px;
                border-top: 2px solid #333;
                border-right: 2px solid #333;
                -webkit-transform: rotate(45deg);
                -ms-transform: rotate(45deg) translateY(-50%);
                transform: rotate(45deg) translateY(-50%); }
            #header-navi_01 li span .navi_small li a:hover:before {
              border-color: #0c70cc; }
            #header-navi_01 li span .navi_small li a span {
              padding: 0 !important;
              display: inline-block !important; }
              #header-navi_01 li span .navi_small li a span::before {
                display: none !important; }
            #header-navi_01 li span .navi_small li span {
              cursor: default; }
              #header-navi_01 li span .navi_small li span:before {
                border-color: #BBBBBB; }
            #header-navi_01 li span .navi_small li + li a {
              border-top: 1px solid #333 !important; }
        #header-navi_01 li span:hover .navi_small {
          display: block; } }
  #header-navi_02 {
    padding: 0 0 12px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: table;
    float: right; }
    @media (min-width: 0px) and (max-width: 767px) {
      #header-navi_02 {
        height: auto; } }
    #header-navi_02 li {
      display: table-cell;
      vertical-align: top;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      padding: 0 0 0 10px;
      white-space: nowrap;
      height: auto; }
      #header-navi_02 li a {
        color: #FFF !important; }
      #header-navi_02 li span {
        display: block;
        border-radius: 30px;
        padding: 5px 15px;
        font-size: 93%;
        text-align: center;
        position: relative; }
      #header-navi_02 li.software {
        padding-left: 20px;
        width: 178px; }
        @media (min-width: 0px) and (max-width: 1300px) {
          #header-navi_02 li.software {
            padding-left: 10px; } }
        #header-navi_02 li.software span {
          background: #f7c000; }
          #header-navi_02 li.software span:before {
            content: '';
            display: inline-block;
            vertical-align: baseline;
            background: url("../images/ic_sw.png") no-repeat center left;
            background-size: contain;
            width: 31px;
            height: 16px;
            margin-right: 5px;
            position: relative;
            top: 2px; }
      #header-navi_02 li.download {
        min-width: 168px; }
        #header-navi_02 li.download span {
          background: #0c70cc; }
          #header-navi_02 li.download span:before {
            content: '';
            display: inline-block;
            vertical-align: baseline;
            background: url("../images/ic_dl.png") no-repeat center left;
            background-size: contain;
            width: 16px;
            height: 16px;
            margin-right: 5px;
            position: relative;
            top: 2px; }
      #header-navi_02 li.key {
        min-width: 230px;
        position: absolute;
        -webkit-transform: translateY(-100%);
        -ms-transform: translateY(-100%);
        transform: translateY(-100%);
        right: 0;
        top: 0;
        background: #ff962d;
        border-radius: 30px;
        padding: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
        @media (min-width: 768px) and (max-width: 1300px) {
          #header-navi_02 li.key {
            right: 230px; } }
        #header-navi_02 li.key a {
          position: relative; }
          #header-navi_02 li.key a:after {
            content: '';
            display: block;
            width: 1px;
            height: 15px;
            background: #ffb66c;
            position: absolute;
            right: 0;
            top: 50%;
            -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
        #header-navi_02 li.key span:before {
          content: '';
          display: inline-block;
          vertical-align: baseline;
          background-size: contain !important;
          width: 11px;
          height: 15px;
          position: relative;
          margin-right: 5px;
          top: 2px; }
        #header-navi_02 li.key .key01 span:before {
          background: url("../images/icon_member.png") no-repeat center left; }
        #header-navi_02 li.key .key02 span:before {
          background: url("../images/icon_signup.png") no-repeat center left; }
        #header-navi_02 li.key .key03 a:after {
          display: none; }
        #header-navi_02 li.key .key03 span:before {
          background: url("../images/icon_signin.png") no-repeat center left;
          top: 2px; }
      #header-navi_02 li.login {
        min-width: 168px; }
        @media (min-width: 0px) and (max-width: 1300px) {
          #header-navi_02 li.login {
            position: absolute;
            top: 0;
            -webkit-transform: translateY(-100%);
            -ms-transform: translateY(-100%);
            transform: translateY(-100%);
            right: 60px; } }
        #header-navi_02 li.login span {
          background: #273292; }
          #header-navi_02 li.login span:before {
            content: '';
            display: inline-block;
            vertical-align: baseline;
            background: url("../images/ic_login.png") no-repeat center left;
            background-size: contain;
            width: 13px;
            height: 16px;
            margin-right: 5px;
            position: relative;
            top: 2px; }
      #header-navi_02 li.lang_select {
        width: 100%;
        padding-left: 20px;
        display: block;
        position: absolute;
        bottom: 5px;
        right: 0; }
        @media (min-width: 0px) and (max-width: 1140px) {
          #header-navi_02 li.lang_select {
            padding-left: 10px; } }
        @media (min-width: 0px) and (max-width: 767px) {
          #header-navi_02 li.lang_select {
            position: relative;
            padding-left: 0;
            padding-top: 0; } }
        #header-navi_02 li.lang_select .form02 {
          display: table;
          width: 100%;
          margin: 0 auto;
          z-index: 5;
          border-radius: 5px;
          -webkit-box-sizing: border-box;
          box-sizing: border-box; }
          #header-navi_02 li.lang_select .form02 dt, #header-navi_02 li.lang_select .form02 dd {
            display: table-cell;
            vertical-align: middle; }
            @media (min-width: 0px) and (max-width: 767px) {
              #header-navi_02 li.lang_select .form02 dt, #header-navi_02 li.lang_select .form02 dd {
                display: block; } }
          #header-navi_02 li.lang_select .form02 dt {
            padding-right: 10px;
            text-align: right;
            color: #273292;
            font-size: 85%; }
            @media (min-width: 0px) and (max-width: 767px) {
              #header-navi_02 li.lang_select .form02 dt {
                padding: 0 0 3.125%;
                text-align: center; } }
          #header-navi_02 li.lang_select .form02 dd {
            width: 47.8%; }
            @media (min-width: 0px) and (max-width: 1140px) {
              #header-navi_02 li.lang_select .form02 dd {
                width: 48.8%; } }
            @media (min-width: 0px) and (max-width: 767px) {
              #header-navi_02 li.lang_select .form02 dd {
                width: 100%; } }
          #header-navi_02 li.lang_select .form02 .select-wrap {
            position: relative;
            display: table;
            width: 90%;
            -webkit-box-sizing: border-box;
            box-sizing: border-box;
            height: 33px;
            text-align: left; }
            @media (min-width: 0px) and (max-width: 767px) {
              #header-navi_02 li.lang_select .form02 .select-wrap {
                width: 100%;
                height: 45px; } }
            @media (min-width: 0px) and (max-width: 1140px) {
              #header-navi_02 li.lang_select .form02 .select-wrap {
                background: #273292;
                border-radius: 30px; } }
            #header-navi_02 li.lang_select .form02 .select-wrap:before {
              content: '';
              display: block;
              vertical-align: middle;
              width: 18px;
              height: 18px;
              background: url("../images/ic_lung.png") no-repeat center right;
              background-size: 100% !important;
              position: absolute;
              left: 15px;
              top: 50%;
              margin-top: -9px;
              position: absolute;
              z-index: 3; }
            #header-navi_02 li.lang_select .form02 .select-wrap:after {
              content: '';
              display: block;
              vertical-align: middle;
              width: 10px;
              height: 6px;
              background: url("../images/link_down_w.png") no-repeat center right;
              background-size: 100% !important;
              position: absolute;
              right: 15px;
              top: 50%;
              margin-top: -4px; }
              @media (min-width: 0px) and (max-width: 767px) {
                #header-navi_02 li.lang_select .form02 .select-wrap:after {
                  right: 15px; } }
            #header-navi_02 li.lang_select .form02 .select-wrap select {
              width: 100%;
              border-radius: 30px;
              height: 33px;
              position: absolute;
              cursor: pointer;
              display: block;
              -webkit-box-sizing: border-box;
              box-sizing: border-box;
              vertical-align: bottom;
              -webkit-appearance: none;
              -moz-appearance: none;
              appearance: none;
              border: none;
              outline: none;
              background: #273292;
              color: #FFF;
              font-size: 93%;
              font-weight: bold;
              padding-left: 40px; }
              @media (min-width: 0px) and (max-width: 767px) {
                #header-navi_02 li.lang_select .form02 .select-wrap select {
                  width: 100%;
                  -webkit-transform: scale(0.8);
                  -ms-transform: scale(0.8);
                  transform: scale(0.8);
                  text-align: left;
                  margin-left: -.5em;
                  font-size: 124% !important;
                  padding-left: 18px;
                  top: 0;
                  height: 45px; } }
            #header-navi_02 li.lang_select .form02 .select-wrap select::-ms-expand {
              display: none;
              border: none; }
            #header-navi_02 li.lang_select .form02 .select-wrap select:-moz-focusring {
              color: transparent;
              text-shadow: 0 0 0 #828c9a;
              border: none; }
  #header-serch {
    display: block;
    position: absolute;
    bottom: 15px;
    right: 20px; }
    @media (min-width: 768px) and (max-width: 1400px) {
      #header-serch {
        top: 0;
        bottom: auto;
        right: 40px;
        -webkit-transform: translateY(-100%);
        -ms-transform: translateY(-100%);
        transform: translateY(-100%); }
        #header-serch.type02 {
          position: absolute;
          top: auto;
          bottom: 15px;
          right: 20px;
          -webkit-transform: none;
          -ms-transform: none;
          transform: none; } }
    #header-serch a {
      position: relative;
      display: block;
      width: 26px;
      height: 26px;
      top: 50%;
      margin-top: -13px;
      background: url("../images/ic_serch.png") no-repeat;
      background-size: contain; }
      #header-serch a span {
        width: 1px;
        height: 1px;
        text-indent: -100%;
        overflow: hidden;
        white-space: nowrap;
        position: absolute;
        text-indent: -100%;
        top: auto;
        left: -1px; }
  #header #modal-serch {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #0559c4;
    background-color: rgba(4, 88, 196, 0.95);
    z-index: 9999;
    text-align: center;
    color: #FFF; }
    #header #modal-serch form {
      width: 100%;
      vertical-align: middle;
      margin-bottom: 1.28205%;
      display: table; }
      #header #modal-serch form input {
        margin: 0;
        padding: 0;
        background: none;
        border: none;
        border-radius: 0;
        outline: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        border-bottom: 1px solid #FFF;
        vertical-align: bottom;
        display: inline-block; }
        #header #modal-serch form input[type="text"]:focus {
          outline: 0;
          border-color: none; }
      #header #modal-serch form #submit_txt {
        display: table-cell;
        padding-right: 1.28205%; }
        #header #modal-serch form #submit_txt input {
          width: 100%;
          font-size: 262%;
          line-height: 86px;
          color: #FFF;
          padding: 0.32051%;
          -webkit-box-sizing: border-box;
          box-sizing: border-box;
          cursor: pointer; }
          #header #modal-serch form #submit_txt input::-webkit-input-placeholder {
            color: #5a83d1; }
          #header #modal-serch form #submit_txt input:-ms-input-placeholder {
            color: #5a83d1; }
          #header #modal-serch form #submit_txt input::-moz-placeholder {
            color: #5a83d1; }
      #header #modal-serch form #submit_button {
        display: table-cell;
        width: 86px;
        height: 86px; }
        #header #modal-serch form #submit_button input {
          width: 86px;
          height: 86px;
          background: url("../images/serch_submit.png") no-repeat center left;
          background-size: contain;
          text-indent: -999px;
          overflow: hidden;
          cursor: pointer;
          border: none;
          outline: none; }
    #header #modal-serch_inr {
      display: table;
      width: 90%;
      max-width: 840px;
      height: 100%;
      margin: 0 auto; }
      #header #modal-serch_inr .serch_inr {
        text-align: left;
        display: table-cell;
        vertical-align: middle;
        color: #FFF; }
    #header #modal-serch #serch_close {
      position: absolute;
      top: 30px;
      right: 30px;
      display: block;
      width: 44px;
      height: 44px; }
      #header #modal-serch #serch_close span {
        width: 44px;
        height: 44px;
        text-indent: -999px;
        overflow: hidden;
        white-space: nowrap;
        position: relative;
        background: url("../images/serch_close.png") no-repeat center left;
        background-size: contain;
        vertical-align: middle;
        display: inline-block; }


/*----------------------------------------------------
	footer
----------------------------------------------------*/
#footer {
  width: 100%;
  min-width: 1020px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #FFF;
  padding: 1.2820512821% 1.9230769231%;
  position: relative;
  line-height: 1;
  font-weight: 700;
}
#footer a {
  color: #3e3a39;
}
@media all and (min-width: 768px) {
  #footer a:hover {
    color: #0458c4;
  }
  #footer a:active {
    color: #0458c4;
  }
}
#footer #pagetop {
  position: absolute;
  right: 1.9230769231%;
  line-height: 24px;
}
#footer #pagetop a:before {
  content: "";
  display: inline-block;
  vertical-align: baseline;
  background: url("../images/link_up.png") no-repeat;
  background-size: contain;
  width: 15px;
  height: 10px;
  margin-right: 10px;
}
#footer #snsare {
  display: table;
  padding-bottom: 1.2820512821%;
}
#footer #snsare dt,
#footer #snsare dd {
  display: table-cell;
  vertical-align: middle;
}
#footer #snsare li {
  display: inline-block;
  text-align: center;
  margin: 0 0 0 10px;
}
#footer #snsare li span {
  display: block;
}
#footer #snsare li span.common_icon {
  height: 20px;
  width: 30px;
  background-size: 30px;
  margin: auto;
  background-position: center center;
}
#footer #snsare li span.tw_icon {
  font-size: 23px;
}
#footer #snsare li span.fb_icon {
  font-size: 19px;
}
#footer #snsare li span.gp_icon {
  font-size: 20px;
}
#footer nav {
  border: solid #dfdfdf;
  border-width: 1px 0;
  padding: 3.8461538462% 0;
  margin-bottom: 1.2820512821%;
}
#footer nav > ul {
  width: 91.0256410256%;
  display: table;
  margin: 0 auto;
}
#footer nav > ul:last-child {
  padding-right: 0;
}
#footer nav > ul > li {
  display: table-cell;
  vertical-align: top;
  width: 16.66%;
  padding-right: 1.2820512821%;
  color: #BFBFBF;
}
#footer nav > ul > li #footer-logo {
  display: inline-block;
  text-align: center;
}
#footer nav > ul > li #footer-logo img {
  width: 50.4166666667%;
  margin: 0 6.25% 6.25%;
}
#footer nav > ul > li .note {
  color: #929392;
  display: block;
  font-weight: 600 !important;
  margin-bottom: 6.25%;
}
#footer nav > ul > li a {
  display: block;
  margin-bottom: 8.3333333333%;
}
#footer nav > ul > li ul > li {
  font-size: 85%;
  margin-bottom: 8.3333333333%;
  font-weight: normal;
}
#footer nav > ul > li ul > li:last-child {
  margin-bottom: 0;
}
#footer nav > ul > li ul > li > a {
  margin-bottom: 0;
}
#footer-lang {
  padding-left: 0.3521126761%;
  float: left;
}
#footer-lang .select-wrap {
  position: relative;
  display: table;
}
#footer-lang .select-wrap:before {
  content: "";
  display: table-cell;
  vertical-align: middle;
  background: url("../images/ic_lung.png") no-repeat;
  background-size: contain;
  width: 22px;
  height: 22px;
}
#footer-lang .select-wrap select {
  cursor: pointer;
  display: table-cell;
  vertical-align: bottom;
  padding-right: 30px;
  padding-left: 2.1126760563%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  background: url("../images/link_up.png") no-repeat center right;
  background-size: 15px, 100%;
  height: 22px;
}
#footer-lang .select-wrap select::-ms-expand {
  display: none;
}
#footer-lang .select-wrap select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #828c9a;
}
#footer-otherlink {
  float: right;
  font-weight: normal;
}
#footer-otherlink li {
  display: inline-block;
  margin-left: 40px;
  font-size: 77%;
}
#footer-otherlink li address {
  font-style: normal;
}
#footer #sublink {
  float: left;
}
@media all and (max-width: 767px) {
  #footer #sublink {
    float: none;
  }
}
#footer #sublink li {
  display: inline-block;
  padding-right: 10px;
  padding-left: 5px;
  position: relative;
}
#footer .copy {
  float: right;
  white-space: nowrap;
}
@media all and (max-width: 767px) {
  #footer .copy {
    float: none;
    padding-top: 1em;
  }
}

/*----------------------------------------------------
	js
----------------------------------------------------*/
.js-tab a {
  background-color: #9ce5f7 !important;
  padding-left: 38px !important;
  padding-right: 38px !important;
}
.js-tab a.select {
  background-color: #00a6ff !important;
}
.js-tab a.select::before {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  position: absolute;
  top: 50%;
  left: 14px;
  background-image: url("../images/forteachers/events/check.png") !important;
  background-size: 12px auto;
  background-position: 0 0;
  background-repeat: no-repeat;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}
.js-tab a.select:hover {
  background-color: #00a6ff !important;
}
.js-tab--target {
  position: absolute;
  top: 0;
  left: -101%;
  opacity: 0;
  z-index: 1;
  -webkit-transition: opacity 0s linear 0s;
  -o-transition: opacity 0s linear 0s;
  transition: opacity 0s linear 0s;
}
.js-tab--target.select {
  position: relative;
  left: 0;
  opacity: 1;
  z-index: 2;
  -webkit-transition: opacity 0.6s linear 0s;
  -o-transition: opacity 0.6s linear 0s;
  transition: opacity 0.6s linear 0s;
}
.js-tab--wrap {
  overflow: hidden;
  position: relative;
}

.js-acc {
  position: relative;
}
.js-acc:not(.js-acc-sp) .js-acc-shortened-txt, .js-acc:not(.js-acc-sp) .js-acc-original-txt {
  top: 0;
}
.js-acc:not(.js-acc-sp) .js-acc-shortened-txt {
  display: block;
  position: relative;
  left: 0;
  opacity: 1;
  -webkit-transition: opacity 0.3s ease-out 0s, left 0s linear 0s;
  -o-transition: opacity 0.3s ease-out 0s, left 0s linear 0s;
  transition: opacity 0.3s ease-out 0s, left 0s linear 0s;
}
.js-acc:not(.js-acc-sp) .js-acc-original-txt {
  position: absolute;
  left: -101%;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease-out 0s, left 0s linear 0.3s;
  -o-transition: opacity 0.3s ease-out 0s, left 0s linear 0.3s;
  transition: opacity 0.3s ease-out 0s, left 0s linear 0.3s;
}
.js-acc:not(.js-acc-sp) .js-acc-btn .is-open {
  display: none;
}
.js-acc:not(.js-acc-sp) .js-acc-btn .is-close {
  display: block;
}
.js-acc:not(.js-acc-sp).is-open .js-acc-shortened-txt {
  position: absolute;
  left: -101%;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease-out 0s, left 0s linear 0.3s;
  -o-transition: opacity 0.3s ease-out 0s, left 0s linear 0.3s;
  transition: opacity 0.3s ease-out 0s, left 0s linear 0.3s;
}
.js-acc:not(.js-acc-sp).is-open .js-acc-original-txt {
  position: relative;
  left: 0;
  opacity: 1;
  -webkit-transition: opacity 0.3s ease-out 0s, left 0s linear 0s;
  -o-transition: opacity 0.3s ease-out 0s, left 0s linear 0s;
  transition: opacity 0.3s ease-out 0s, left 0s linear 0s;
}
.js-acc:not(.js-acc-sp).is-open .js-acc-inr::after {
  opacity: 0;
}
.js-acc:not(.js-acc-sp).is-open .js-acc-btn .is-close {
  display: none;
}
.js-acc:not(.js-acc-sp).is-open .js-acc-btn .is-open {
  display: block;
}
.js-acc:not(.js-acc-sp) .js-acc-btn {
  display: block;
  position: absolute;
  z-index: 11;
  padding: 0 10px;
  bottom: 0;
  left: 0;
  width: 100%;
  text-align: center;
}
.js-acc:not(.js-acc-sp) .js-acc-btn .btn {
  margin: 0 auto;
  cursor: pointer;
}
.js-acc:not(.js-acc-sp) .js-acc-inr {
  position: relative;
  overflow: hidden;
  padding-bottom: 50px;
}
.js-acc:not(.js-acc-sp) .js-acc-inr::after {
  position: absolute;
  z-index: 10;
  display: block;
  content: " ";
  padding-bottom: 100px;
  width: 100%;
  left: 0;
  bottom: 0;
  background: rgb(255, 255, 255);
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(255, 255, 255)), to(rgba(255, 255, 255, 0)));
  background: -o-linear-gradient(bottom, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0) 100%);
  background: linear-gradient(0deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0) 100%);
}
.js-acc:not(.js-acc-sp) .js-acc-inr2 {
  position: relative;
  z-index: 1;
  -webkit-transition: opacity 0.3s ease-out 0s;
  -o-transition: opacity 0.3s ease-out 0s;
  transition: opacity 0.3s ease-out 0s;
}
.js-acc.js-acc-sp .js-acc-shortened-txt {
  display: none;
}
.js-acc.js-acc-sp .js-acc-btn {
  display: none;
}
@media (min-width: 0px) and (max-width: 767px) {
  .js-acc.js-acc-sp .js-acc-shortened-txt, .js-acc.js-acc-sp .js-acc-original-txt {
    top: 0;
  }
  .js-acc.js-acc-sp .js-acc-shortened-txt {
    display: block;
    position: relative;
    left: 0;
    opacity: 1;
    -webkit-transition: opacity 0.3s ease-out 0s, left 0s linear 0s;
    -o-transition: opacity 0.3s ease-out 0s, left 0s linear 0s;
    transition: opacity 0.3s ease-out 0s, left 0s linear 0s;
  }
  .js-acc.js-acc-sp .js-acc-original-txt {
    position: absolute;
    left: -101%;
    opacity: 0;
    -webkit-transition: opacity 0.3s ease-out 0s, left 0s linear 0.3s;
    -o-transition: opacity 0.3s ease-out 0s, left 0s linear 0.3s;
    transition: opacity 0.3s ease-out 0s, left 0s linear 0.3s;
  }
  .js-acc.js-acc-sp .js-acc-btn .is-open {
    display: none;
  }
  .js-acc.js-acc-sp .js-acc-btn .is-close {
    display: block;
  }
  .js-acc.js-acc-sp.is-open .js-acc-shortened-txt {
    position: absolute;
    left: -101%;
    opacity: 0;
    -webkit-transition: opacity 0.3s ease-out 0s, left 0s linear 0.3s;
    -o-transition: opacity 0.3s ease-out 0s, left 0s linear 0.3s;
    transition: opacity 0.3s ease-out 0s, left 0s linear 0.3s;
  }
  .js-acc.js-acc-sp.is-open .js-acc-original-txt {
    position: relative;
    left: 0;
    opacity: 1;
    -webkit-transition: opacity 0.3s ease-out 0s, left 0s linear 0s;
    -o-transition: opacity 0.3s ease-out 0s, left 0s linear 0s;
    transition: opacity 0.3s ease-out 0s, left 0s linear 0s;
  }
  .js-acc.js-acc-sp.is-open .js-acc-inr::after {
    opacity: 0;
  }
  .js-acc.js-acc-sp.is-open .js-acc-btn .is-close {
    display: none;
  }
  .js-acc.js-acc-sp.is-open .js-acc-btn .is-open {
    display: block;
  }
  .js-acc.js-acc-sp .js-acc-btn {
    display: block;
    position: absolute;
    z-index: 11;
    padding: 0 10px;
    bottom: 0;
    left: 0;
    width: 100%;
    text-align: center;
  }
  .js-acc.js-acc-sp .js-acc-btn .btn {
    margin: 0 auto;
    cursor: pointer;
  }
  .js-acc.js-acc-sp .js-acc-inr {
    position: relative;
    overflow: hidden;
    padding-bottom: 50px;
  }
  .js-acc.js-acc-sp .js-acc-inr::after {
    position: absolute;
    z-index: 10;
    display: block;
    content: " ";
    padding-bottom: 100px;
    width: 100%;
    left: 0;
    bottom: 0;
    background: rgb(255, 255, 255);
    background: -webkit-gradient(linear, left bottom, left top, from(rgb(255, 255, 255)), to(rgba(255, 255, 255, 0)));
    background: -o-linear-gradient(bottom, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0) 100%);
    background: linear-gradient(0deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0) 100%);
  }
  .js-acc.js-acc-sp .js-acc-inr2 {
    position: relative;
    z-index: 1;
    -webkit-transition: opacity 0.3s ease-out 0s;
    -o-transition: opacity 0.3s ease-out 0s;
    transition: opacity 0.3s ease-out 0s;
  }
}
.js-acc.js-acc-btn-bg-gry .js-acc-inr::after {
  background: rgb(242, 242, 242);
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(242, 242, 242)), to(rgba(242, 242, 242, 0)));
  background: -o-linear-gradient(bottom, rgb(242, 242, 242) 0%, rgba(242, 242, 242, 0) 100%);
  background: linear-gradient(0deg, rgb(242, 242, 242) 0%, rgba(242, 242, 242, 0) 100%);
}

/*----------------------------------------------------
	印刷用スタイル
----------------------------------------------------*/
@media print {
  * html body {
    zoom: 0.7;
  }
}