@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);@charset "UTF-8";
/*!
	Site Name: e-hokan
	Description: layout settings
	Version: 1.0.0
	Author: keita mori
*/
@font-face {
  font-family: 'gakujoIcon';
  src: url(../font/gakujoIcon.woff) format("woff"), url(../font/gakujoIcon.woff2) format("woff2"), url(../font/gakujoIcon.ttf) format("truetype");
  font-style: normal;
  font-weight: 400;
}

/* ----------------------------------------------------------------------------
    RESET
---------------------------------------------------------------------------- */
/* HTML5 display definitions */
section, nav, article, aside, hgroup,
header, footer, figure, figcaption, details {
  display: block;
}

video, audio, canvas {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}

audio:not([controls]) {
  display: none;
}

[hidden] {
  display: none;
}

/* The root element */
html {
  font-size: 100%;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

/* Sections */
body {
  margin: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 1em;
  margin: 0;
  font-weight: bold;
}

/* Grouping content */
p, blockquote, dl, dd, figure {
  margin: 0;
}

hr {
  color: inherit;
  height: auto;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}

pre {
  font-family: monospace, sans-serif;
  white-space: pre-wrap;
  word-wrap: break-word;
  margin: 0;
}

ol, ul {
  padding: 0;
  margin: 0;
}

li {
  list-style: none;
}

/* Text-level semantics */
a:focus {
  outline: 0;
}

a:hover, a:active {
  outline: 0;
}

strong, b {
  font-weight: bold;
}

small {
  font-size: 0.83em;
}

q {
  quotes: none;
}

abbr[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

acronym {
  /*indicating to users that more info is available */
  border-bottom: 1px dotted #000;
  cursor: help;
}

code, samp, kbd {
  font-family: monospace, sans-serif;
}

mark {
  color: black;
  background-color: yellow;
}

sub, sup {
  font-size: 0.83em;
  line-height: 0;
  vertical-align: baseline;
  position: relative;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

br {
  *letter-spacing: 0;
}

em {
  /*bringing italics back to the em element*/
  font-style: italic;
}

/* Embedded content */
img {
  border: 0;
  vertical-align: middle;
  line-height: 1;
  -ms-interpolation-mode: bicubic;
}

svg:not(:root) {
  overflow: hidden;
}

/* Tabular data */
table {
  border-collapse: collapse;
  border-spacing: 0;
  margin: 0;
}

caption {
  padding: 0;
  text-align: left;
  /*coordinated marking to match cell's padding*/
  margin-bottom: .5em;
  /*centered so it doesn't blend in to other content*/
  text-align: center;
}

th, td {
  text-align: left;
  vertical-align: baseline;
  padding: 0;
}

th {
  /*distinguishing table headers from data cells*/
  font-weight: bold;
  text-align: center;
}

/* Forms */
form {
  margin: 0;
}

fieldset {
  border: 0;
  padding: 0;
  margin: 0;
}

legend {
  border: 0;
  *margin-left: -7px;
}

button, select, textarea {
  font-family: inherit;
  font-size: 1em;
  color: inherit;
  margin: 0;
  outline: none;
}

input {
  font-family: inherit;
  font-size: 1em;
  color: inherit;
  margin: 0;
}

input, button {
  line-height: normal;
  vertical-align: inherit;
  *vertical-align: middle;
}

input::-moz-focus-inner,
button::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input[type="search"] {
  -webkit-appearance: textfield;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}

input[type="search"]:focus {
  outline-offset: -2px;
}

input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

input[type="submit"], button,
input[type="reset"],
input[type="button"],
button {
  cursor: pointer;
  -webkit-appearance: button;
  *overflow: visible;
}

select {
  background-color: inherit;
  line-height: normal;
}

textarea {
  vertical-align: top;
  overflow: auto;
  *font-family: sans-serif;
}

iframe {
  border: none;
  padding: 0;
  margin: 0;
  background: none;
}

/* ----------------------------------------------------------------------------
    BASE
---------------------------------------------------------------------------- */
html {
  -webkit-font-smoothing: antialiased;
}

body {
  font-size: 14px;
  color: #404040;
  font-family: "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", YuGothic,"\6E38\30B4\30B7\30C3\30AF", "\30E1\30A4\30EA\30AA", "Meiryo", Verdana, "\FF2D\FF33   \FF30\30B4\30B7\30C3\30AF", sans-serif;
  background: #F4F4F4;
  line-height: 1.5;
  min-width: 1100px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* IE footer space */
/* link setting */
a {
  color: #1a5790;
  outline: none;
  text-decoration: none;
  cursor: pointer;
}

a:visited {
  color: #1a5790;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

a:active {
  color: #1a5790;
}

a img, a svg {
  opacity: 1;
  -webkit-transition-property: opacity;
  -ms-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-timing-function: ease;
  -ms-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0;
  -ms-transition-delay: 0;
  transition-delay: 0;
}

a img:hover, a svg:hover {
  opacity: 0.8;
}

img {
  max-width: 100%;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
  color: #000000;
}

h1 {
  font-size: 20px;
  line-height: 26px;
}

h2 {
  font-size: 18px;
  line-height: 24px;
}

h3 {
  font-size: 16px;
  line-height: 22px;
}

h4, h5 {
  color: #404040;
  font-size: 14px;
  line-height: 20px;
}

/* ----------------------------------------------------------------------------
    ASSETS
---------------------------------------------------------------------------- */
/* clearfix */
.clearfix:after {
  /*for modern browser*/
  content: " ";
  display: block;
  height: 0px;
  clear: both;
  visibility: hidden;
  font-size: 0.1em;
  line-height: 0;
}

* html .clearfix {
  display: inline-table;
  /*＼*/
  display: block;
  /**/
}

.clearfix:after {
  content: "";
  clear: both;
  display: block;
}

@keyframes listheader {
  0% {
    transform: translate(0px, -118px);
  }
  100% {
    transform: translate(0px, 0px);
  }
}

@keyframes listsearch {
  0% {
    transform: translate(0px, -118px);
  }
  100% {
    transform: translate(0px, 0px);
  }
}

/* ----------------------------------------------------------------------------
    Common
---------------------------------------------------------------------------- */
/*  arrow --------------------------------------------------------*/
.arrow {
  position: relative;
  padding-right: 18px;
}

.arrow a {
  text-decoration: none;
}

.arrow a:hover {
  text-decoration: underline;
}

.arrow::after {
  font-family: 'gakujoIcon';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  vertical-align: middle;
  position: absolute;
  content: '\E902';
  font-size: 12px;
  color: #E50113;
  top: 50%;
  right: 0px;
  margin-top: -6px;
  line-height: 1;
  text-decoration: none !important;
  pointer-events: none;
}

a.arrow {
  text-decoration: none;
}

a.arrow:hover {
  text-decoration: underline;
}

/*  font icon --------------------------------------------------------*/
[class*="ico_"] {
  position: relative;
  padding-left: 25px;
}

[class*="ico_"]:before {
  font-family: 'gakujoIcon';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  vertical-align: middle;
  position: absolute;
  content: '\E902';
  font-size: 20px;
  top: 50%;
  left: 0;
  margin-top: -10px;
  line-height: 1;
  text-decoration: none !important;
  pointer-events: none;
}

.ico_company:before {
  content: "\E904";
}

.ico_question:before {
  content: "\E905";
}

.ico_window:before {
  content: "\E906";
}

.ico_arw_t:before {
  content: "\E900";
}

.ico_arw_b:before {
  content: "\E901";
}

.ico_arw_r:before {
  content: "\E902";
}

.ico_arw_l:before {
  content: "\E903";
}

.ico_close:before {
  content: "\E907";
}

.ico_menu:before {
  content: "\E908";
}

.ico_doc:before {
  content: "\E909";
}

/*  svg icon --------------------------------------------------------*/
svg.icon .flont {
  fill: #000000;
  -webkit-transition-duration: 250ms;
  -ms-transition-duration: 250ms;
  transition-duration: 250ms;
  -webkit-transition-property: fill;
  -ms-transition-property: fill;
  transition-property: fill;
  -webkit-transition-timing-function: ease;
  -ms-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0;
  -ms-transition-delay: 0;
  transition-delay: 0;
}

svg.icon .flont.stroke {
  stroke: #000000;
  -webkit-transition-duration: 250ms;
  -ms-transition-duration: 250ms;
  transition-duration: 250ms;
  -webkit-transition-property: stroke;
  -ms-transition-property: stroke;
  transition-property: stroke;
  -webkit-transition-timing-function: ease;
  -ms-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0;
  -ms-transition-delay: 0;
  transition-delay: 0;
}

svg.icon .back {
  fill: #404040;
  -webkit-transition-duration: 250ms;
  -ms-transition-duration: 250ms;
  transition-duration: 250ms;
  -webkit-transition-property: fill;
  -ms-transition-property: fill;
  transition-property: fill;
  -webkit-transition-timing-function: ease;
  -ms-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0;
  -ms-transition-delay: 0;
  transition-delay: 0;
}

svg.icon .back.stroke {
  stroke: #404040;
  -webkit-transition-duration: 250ms;
  -ms-transition-duration: 250ms;
  transition-duration: 250ms;
  -webkit-transition-property: stroke;
  -ms-transition-property: stroke;
  transition-property: stroke;
  -webkit-transition-timing-function: ease;
  -ms-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0;
  -ms-transition-delay: 0;
  transition-delay: 0;
}

svg.icon.blue .flont {
  fill: #2494c5;
}

svg.icon.blue .flont.stroke {
  stroke: #2494c5;
}

svg.icon.blue .back {
  fill: #2aabe4;
}

svg.icon.blue .back.stroke {
  stroke: #2aabe4;
}

svg.icon.red .flont {
  fill: #c6000f;
}

svg.icon.red .flont.stroke {
  stroke: #c6000f;
}

svg.icon.red .back {
  fill: #e50113;
}

svg.icon.red .back.stroke {
  stroke: #e50113;
}

/*  table --------------------------------------------------------*/
table tr {
  border: 1px solid #F4F4F4;
}

table th, table td {
  padding: 12px 20px;
  border: 1px solid #F4F4F4;
}

table th {
  background: #F4F4F4;
  border-bottom-color: #fff;
  text-align: left;
}

table td em {
  font-size: 16px;
  font-style: normal;
  font-weight: bold;
}

table tr:last-child th {
  border-bottom-color: #F4F4F4;
}

.table_box .table_title {
  text-align: center;
  padding: 5px;
  border: 1px solid #D4D4D4;
  border-bottom: none;
}

table.type2 th, table.type2 td {
  border-color: #D4D4D4;
}

table.type2 tr:last-child th {
  border-bottom-color: #D4D4D4;
}

/* ----------------------------------------------------------------------------
    input
---------------------------------------------------------------------------- */
input[type="text"], input[type="password"], input[type="email"], input[type="tel"] {
  font-size: 16px;
  line-height: normal;
  border-radius: 3px;
  border: 2px solid #2AABE4;
  padding: 8px 18px;
}

.select_wrap {
  display: inline-block;
  position: relative;
  border-right: 1px solid #2AABE4;
}

.select_wrap::after {
  font-family: 'gakujoIcon';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  vertical-align: middle;
  position: absolute;
  content: '\E901';
  font-size: 16px;
  color: #E50113;
  top: 50%;
  right: 8px;
  margin-top: -8px;
  line-height: 1;
  text-decoration: none !important;
  z-index: 1;
  pointer-events: none;
}

.select_wrap:last-child {
  border-right: none;
}

.select_wrap select {
  width: 100%;
}

select {
  position: relative;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  text-indent: 0.01px;
  text-overflow: '';
  cursor: pointer;
  font-size: 16px;
  line-height: 20px;
  padding: 13px 24px 13px 18px;
  border: none;
  border-radius: 0;
  z-index: 1;
}

select:hover {
  text-decoration: underline;
}

select::-ms-expand {
  display: none;
}

select option {
  line-height: 16px;
  padding: auto;
  min-height: auto;
}

input[type=radio], input[type=checkbox] {
  position: absolute;
  height: 1px;
  width: 1px;
  opacity: 0;
}

input[type=radio].default, input[type=checkbox].default {
  height: 1em;
  width: 1em;
  opacity: 1;
  position: relative;
}

.radio_item, .checkbox_item {
  box-sizing: border-box;
  position: relative;
  display: block;
  background-color: #fff;
  vertical-align: middle;
  cursor: pointer;
  width: 100%;
  font-size: 16px;
  line-height: 24px;
}

.radio_item span, .checkbox_item span {
  padding: 0 0 0 36px;
  display: inline-block;
}

.radio_item::after, .checkbox_item::after {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  margin-top: -12px;
  width: 22px;
  height: 22px;
  border: 1px solid #ADADAD;
  background: #F4F4F4;
  border-radius: 3px;
  content: '';
  z-index: 0;
}

.radio_item::before, .checkbox_item::before {
  -webkit-transition-duration: 250ms;
  -ms-transition-duration: 250ms;
  transition-duration: 250ms;
  -webkit-transition-property: opacity;
  -ms-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-timing-function: ease;
  -ms-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0;
  -ms-transition-delay: 0;
  transition-delay: 0;
  position: absolute;
  top: 50%;
  display: block;
  content: '';
  opacity: 0;
  z-index: 1;
}

.radio_item::before {
  left: 5px;
  margin-top: -7px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background-color: #2AABE4;
}

input[type=radio]:checked + .radio_item::before {
  opacity: 1;
}

.radio_item::after {
  margin-top: -12px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  -ms-border-radius: 50%;
}

.checkbox_item::before {
  left: 7px;
  margin-top: -11px;
  width: 6px;
  height: 15px;
  border-right: 4px solid #2AABE4;
  border-bottom: 4px solid #2AABE4;
  border-radius: 3px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  rotation: 45deg;
}

input[type=checkbox]:checked + .checkbox_item::before {
  opacity: 1;
}

/* ----------------------------------------------------------------------------
    list
---------------------------------------------------------------------------- */
ol.encircled li, ul.encircled li {
  padding-left: 1.4em;
  position: relative;
}

ol.encircled li::before, ul.encircled li::before {
  position: absolute;
  top: 0;
  left: 0;
}

ol.encircled li:nth-child(1)::before, ul.encircled li:nth-child(1)::before {
  content: "\2460";
}

ol.encircled li:nth-child(2)::before, ul.encircled li:nth-child(2)::before {
  content: "\2461";
}

ol.encircled li:nth-child(3)::before, ul.encircled li:nth-child(3)::before {
  content: "\2462";
}

ol.encircled li:nth-child(4)::before, ul.encircled li:nth-child(4)::before {
  content: "\2463";
}

ol.encircled li:nth-child(5)::before, ul.encircled li:nth-child(5)::before {
  content: "\2464";
}

ol.encircled li:nth-child(6)::before, ul.encircled li:nth-child(6)::before {
  content: "\2465";
}

ol.encircled li:nth-child(7)::before, ul.encircled li:nth-child(7)::before {
  content: "\2466";
}

ol.encircled li:nth-child(8)::before, ul.encircled li:nth-child(8)::before {
  content: "\2467";
}

ol.encircled li:nth-child(9)::before, ul.encircled li:nth-child(9)::before {
  content: "\2468";
}

ol.encircled li:nth-child(10)::before, ul.encircled li:nth-child(10)::before {
  content: "\2469";
}

/* ----------------------------------------------------------------------------
    Common LayOut
---------------------------------------------------------------------------- */
#all_wrapper {
  position: relative;
}

#all_wrapper .inner {
  width: 1100px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.contents {
  position: relative;
  animation-duration: 0.9s;
  animation-name: fade-in;
  -moz-animation-duration: 0.9s;
  -moz-animation-name: fade-in;
  -webkit-animation-duration: 0.9s;
  -webkit-animation-name: fade-in;
  -ms-animation-duration: 0.9s;
  -ms-animation-name: fade-in;
}

.col_wrap {
  margin-bottom: 80px;
}

.col_wrap::after {
  content: "";
  clear: both;
  display: block;
}

.main_col {
  width: 785px;
  float: left;
}

.side_col {
  width: 276px;
  float: right;
  margin-bottom: 40px;
}

.side_col .sideitem {
  margin-bottom: 20px;
}

.single_col {
  width: 866px;
  margin-left: auto;
  margin-right: auto;
}

/* ----------------------------------------------------------------------------
    header
---------------------------------------------------------------------------- */
#header {
  background: #fff;
  /*box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.5);*/
  position: relative;
}

#header.form {
  box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.1);
}

#header svg.icon {
  width: 40px;
  height: 40px;
  margin: 0 auto;
  display: block;
}

#header a:hover .flont, #header a.cr .flont {
  fill: #c6000f;
}

#header a:hover .flont.stroke, #header a.cr .flont.stroke {
  stroke: #c6000f;
}

#header a:hover .back, #header a.cr .back {
  fill: #e50113;
}

#header a:hover .back.stroke, #header a.cr .back.stroke {
  stroke: #e50113;
}

#header #header_utility {
  background: #2AABE4;
  color: #fff;
  font-size: 11px;
  line-height: 26px;
}

#header #header_utility h2 {
  float: left;
  font-size: 13px;
  color: #fff;
  padding-left:1%;
}

#header #header_utility a {
  color: #fff;
}

#header #header_utility a::after {
  color: #fff;
}

#header #header_utility .navigation {
  float: right;
  font-weight: bold;
}

#header #header_utility .navigation span {
  margin-left: 24px;
  display:block;
  float:left;
}

#header #header_upper {
  position: relative;
}

#header #header_upper .logo_area {
  float: left;
}

#header #header_upper #logo {
  float: left;
  font-size: 0;
  padding-left:2%;
}

#header #header_upper #logo svg {
  width: 225px;
  height: 60px;
  margin: 11px 10px 0 0;
}

#header #header_upper .area {
  position: absolute;
  top: 22px;
  left: 237px;
  border: 1px solid #D4D4D4;
  background: #fff;
  border-radius: 3px;
  width: 98px;
  padding: 0;
  z-index: 9;
}

#header #header_upper .area::before {
  left: 74px;
  font-size: 16px;
  margin: 0;
  top: 12px;
  color: #E50113;
}

#header #header_upper .area a {
  position: relative;
  font-size: 16px;
  line-height: 40px;
  padding: 0 30px 0 20px;
  max-height: 0;
  -webkit-transition-duration: 250ms;
  -ms-transition-duration: 250ms;
  transition-duration: 250ms;
  -webkit-transition-property: max-height;
  -ms-transition-property: max-height;
  transition-property: max-height;
  -webkit-transition-timing-function: ease;
  -ms-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0;
  -ms-transition-delay: 0;
  transition-delay: 0;
  display: block;
  overflow: hidden;
  font-weight: bold;
  color: #2AABE4;
}

#header #header_upper .area a.cr {
  max-height: 40px;
}

#header #header_upper .area:hover::before {
  content: "\E900";
}

#header #header_upper .area:hover a {
  border-bottom: 1px solid #D4D4D4;
  max-height: 40px;
}

#header #header_upper .area:hover a:last-child {
  border-bottom: none;
}

#header #header_upper .user {
  float: right;
}

#header #header_upper .user .utility {
  float: right;
  text-align: right;
  margin: 0 32px 0 0;
}

#header #header_upper .user .utility a {
  color: #2AABE4;
}

#header #header_upper .user .utility .username {
  font-size: 16px;
  line-height: 52px;
}

#header #header_upper .user .utility .link {
  font-size: 12px;
  line-height: 1;
}

#header #header_upper .user .utility .link a {
  margin-left: 20px;
}

#header #header_upper .user .userpage {
  float: right;
  border-left: 1px solid #D4D4D4;
}

#header #header_upper .login {
  float: right;
  width: 470px;
  margin-top: 10px;
  height: 70px;
  text-align: center;
  margin-bottom:10px;
}

#header #header_upper .login .login_btn {
  float: left;
  width: 220px;
}

#header #header_upper .login .login_btn p {
  font-size: 12px;
}

#header #header_upper .login .login_btn .btn {
  line-height: 16px;
}

#header #header_upper .login .login_btn a {
  color :#2AABE4 ;
}

#header #header_upper .login .regist_btn {
  margin: 4px 0 0 15px;
  float: left;
  width: 235px;
}

#header #header_upper li, #header #sp_global_menu li {
  position: relative;
  border-right: 1px solid #D4D4D4;
  float: left;
}

#header #header_upper li a, #header #sp_global_menu li a {
  padding: 13px 0 14px 0;
  position: relative;
  display: block;
  width: 86px;
  text-align: center;
  font-size: 13px;
  line-height: 1;
  font-weight: bold;
}

#header #header_upper li a .title, #header #sp_global_menu li a .title {
  top: -1px;
  position: relative;
}

#header #header_upper li a .num, #header #sp_global_menu li a .num {
  position: absolute;
  width: 28px;
  line-height: 28px;
  font-size: 12px;
  font-weight: bold;
  color: #fff;
  background: #E50113;
  /*border: 1px solid #fff;*/
  border-radius: 50%;
  top: 9px;
  right: 7px;
  z-index: 1;
}

#header #header_upper li .bln, #header #sp_global_menu li .bln {
  position: absolute;
  z-index: 6;
  padding: 12px;
  width: 198px;
  left: -69px;
  top: 90px;
}

#header #header_upper li .bln h4 svg.icon, #header #sp_global_menu li .bln h4 svg.icon {
  position: absolute;
  width: 20px;
  height: 20px;
  top: 0;
  left: 0;
}

#header #header_upper li .bln h4 a, #header #sp_global_menu li .bln h4 a {
  width: auto;
  padding: 0 0 0 14px;
  font-size: 14px;
  line-height: 21px;
  color: #2AABE4;
}

#header #header_upper li .bln p, #header #sp_global_menu li .bln p {
  font-size: 11px;
}

#header #header_upper li .bln .close, #header #sp_global_menu li .bln .close {
  width: auto;
  padding: 0;
  position: absolute;
  right: -16px;
  top: -9px;
}
#header #header_upper li .bln .HeaderClosePcClass {
  width: auto;
  padding: 0;
  position: absolute;
  right: -16px;
  top: -9px;
}

#header #header_upper li .bln .close svg.icon, #header #sp_global_menu li .bln .close svg.icon {
  width: 28px;
  height: 28px;
}
#header #header_upper li .bln .HeaderClosePcClass svg.icon {
  width: 28px;
  height: 28px;
}

#header #header_bottom {
  border-top: 1px solid #D4D4D4;
  border-bottom: 1px solid #D4D4D4;
}

#header #header_bottom #global_navigation {
  position: relative;
  border-left: 1px solid #D4D4D4;
}

#header #header_bottom #global_navigation li {
  float: left;
  text-align: center;
  border-right: 1px solid #D4D4D4;
}

#header #header_bottom #global_navigation svg.icon {
  display: inline-block;
  position: relative;
  top: 12px;
}

#header #header_bottom #global_navigation span {
  display: inline-block;
  margin-left: -4px;
}

#header #header_bottom #global_navigation a {
  display: block;
  width: 219px;
  line-height: 60px;
  font-size: 15px;
  font-weight: bold;
}

#header #header_bottom #global_navigation a:hover {
  text-decoration: none;
}

#header #header_bottom #global_navigation a.support span {
  padding: 0 12px;
}

#header #header_bottom #global_navigation a.cr {
  color: #000000;
}

#header #header_bottom #global_navigation #global_current {
  background: #E50113;
  position: absolute;
  width: 219px;
  height: 2px;
  bottom: 1px;
  left: 0;
  z-index: 1;
  opacity: 1;
}

/* ----------------------------------------------------------------------------
    footer
---------------------------------------------------------------------------- */
.to_pagetop_wrapper {
  height: 50px;
}

#to_pagetop {
  -webkit-transition-duration: 350ms;
  -ms-transition-duration: 350ms;
  transition-duration: 350ms;
  -webkit-transition-property: all;
  -ms-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: ease;
  -ms-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0;
  -ms-transition-delay: 0;
  transition-delay: 0;
}

#to_pagetop.prepare {
  position: fixed;
  bottom: -60px;
  left: 0;
  width: 100%;
  z-index: 50;
}

#to_pagetop.scroll {
  position: fixed;
  bottom: 0;
  z-index:50;
}

#to_pagetop.input {
  position: fixed;
  bottom: -60px;
  opacity: 0;
}
#to_pagetop.detail_page.scroll {
  bottom: 120px;
  z-index: 8;
}
#to_pagetop .inner {
  position: relative;
}
#to_pagetop.detail_page a {
  height: 50px;
}

#to_pagetop a {
  display: block;
  width: 50px;
  height: 60px;
  position: absolute;
  right: 0;
  bottom: -10px;
  z-index: 7;
  background: #fff;
  box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.1);
}

#to_pagetop a span {
  font-size: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  padding: 0;
}
#to_pagetop.detail_page a span::before {
  top: 30px;
}
#to_pagetop a span::before {
  font-size: 20px;
  width: 100%;
  text-align: center;
  margin-top: -16px;
  color: #E50113;
  opacity: 1;
  -webkit-transition-duration: 250ms;
  -ms-transition-duration: 250ms;
  transition-duration: 250ms;
  -webkit-transition-property: opacity margin-top;
  -ms-transition-property: opacity margin-top;
  transition-property: opacity margin-top;
  -webkit-transition-timing-function: ease;
  -ms-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0;
  -ms-transition-delay: 0;
  transition-delay: 0;
}

#to_pagetop a:hover span::before {
  opacity: 0.8;
  margin-top: -18px;
}

#footer {
  position: relative;
  z-index: 8;
  padding: 3px 0 15px 0;
  box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.1);
  font-size: 12px;
  line-height: 2;
  background: #fff;
}

#footer .navigation {
  display: inline-block;
  margin-right: 40px;
  padding: 12px 0;
}

#footer .navigation.block {
  border-bottom: 1px solid #BFBFBF;
}

#footer .navigation h5 {
  font-size: 12px;
  line-height: 2;
  display: inline-block;
  font-weight: normal;
  color: #404040;
}

#footer .navigation h5::after {
  content: "\FF1A";
}

#footer .navigation a {
  position: relative;
  display: inline-block;
  margin-right: 30px;
}

#footer .navigation a::after {
  content: " ";
  position: absolute;
  height: 14px;
  width: 1px;
  background: #404040;
  top: 5px;
  right: -15px;
}

#footer .navigation a:last-child::after {
  content: none;
}

#footer .recruiter {
  padding: 11px 0;
  background: #F4F4F4;
  margin-bottom: 12px;
}

#footer .recruiter h5 {
  width: 225px;
  text-align: center;
  font-size: 12px;
  line-height: 4;
  display: inline-block;
  color: #404040;
  float: left;
}

#footer .recruiter .link {
  display: inline-block;
  height: 48px;
  float: left;
}

#footer .recruiter a {
  display: block;
}

#footer .bottom {
  line-height: 34px;
}

#footer .bottom .logo {
  display: inline-block;
  margin-right: 10px;
}

#footer .bottom .logo.gakujo {
  margin-right: 15px;
  margin-left:10px
}

#footer .bottom .logo img {
  position: relative;
  top: -1px;
}

#footer .bottom .copyright {
  margin-left: 20px;
}

#footer .bottom .user {
  float: right;
}

/* ----------------------------------------------------------------------------
    breadcrumb
---------------------------------------------------------------------------- */
.breadcrumb {
  margin: 13px 0;
}

.breadcrumb li {
  position: relative;
  display: inline-block;
  margin-right: 16px;
  font-size: 12px;
}

.breadcrumb li::after {
  font-family: 'gakujoIcon';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  vertical-align: middle;
  position: absolute;
  content: '\E902';
  font-size: 10px;
  top: 50%;
  margin-top: -4px;
  right: -13px;
  pointer-events: none;
}

.breadcrumb li.cr {
  color: #000000;
}

.breadcrumb li.cr a {
  color: #000000;
}

.breadcrumb li.cr::after {
  content: none;
}

/* ----------------------------------------------------------------------------
    btn
---------------------------------------------------------------------------- */
.btn {
  position: relative;
  background-color: #fff;
  display: inline-block;
  border: 2px solid #D4D4D4;
  border-radius: 3px;
  text-align: center;
  width: 140px;
  font-size: 16px;
  line-height: 20px;
  padding: 10px 8px;
  color: #2AABE4;
  font-weight: bold;
  cursor: pointer;
  -webkit-transition-duration: 250ms;
  -ms-transition-duration: 250ms;
  transition-duration: 250ms;
  -webkit-transition-property: border-color background-color color;
  -ms-transition-property: border-color background-color color;
  transition-property: border-color background-color color;
  -webkit-transition-timing-function: ease;
  -ms-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0;
  -ms-transition-delay: 0;
  transition-delay: 0;
}

.btn:hover, .btn.active {
  text-decoration: none;
  border-color: #2AABE4;
}

.btn.auto {
  width: auto;
}

.btn.middle {
  width: 215px;
}

.btn.large {
  width: 336px;
}

.btn.arw::after {
  font-family: 'gakujoIcon';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  vertical-align: middle;
  position: absolute;
  content: '\E902';
  font-size: 16px;
  top: 50%;
  margin-top: -8px;
  right: 12px;
  color: #E50113;
  font-weight: normal;
  pointer-events: none;
}

.btn.arw.prev::after {
  content: '\E903';
  right: auto;
  left: 12px;
}

.btn.blue {
  border-color: #2AABE4;
}

.btn.blue:hover, .btn.blue.active {
  background-color: #2AABE4;
  color: #fff !important;
}

.btn.blue:hover::after, .btn.blue.active::after {
  color: #fff !important;
}

.btn.orange {
  position: relative;
  top: 0;
  border-color: #F79145;
  background-color: #F79145;
  color: #fff !important;
  box-shadow: 0px 6px 0px 0px #ca7638;
  -webkit-transition-duration: 100ms;
  -ms-transition-duration: 100ms;
  transition-duration: 100ms;
  -webkit-transition-property: top box-shadow;
  -ms-transition-property: top box-shadow;
  transition-property: top box-shadow;
  -webkit-transition-timing-function: ease;
  -ms-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0;
  -ms-transition-delay: 0;
  transition-delay: 0;
}

.btn.orange::after {
  color: #fff !important;
}

.btn.orange.text_l {
  font-size: 24px;
  line-height: 24px;
  padding-top: 10px;
  padding-bottom: 10px;
}

.btn.orange:hover, .btn.orange.active {
  top: 4px;
  box-shadow: 0px 2px 0px 0px #ca7638;
}

.btn.icon {
  position: relative;
  text-indent: 20px;
}

.btn.icon svg {
  position: absolute;
  width: 40px;
  height: 40px;
  top: 50%;
  left: 52px;
  margin-top: -10px;
  opacity: 1;
  -webkit-transition-duration: 250ms;
  -ms-transition-duration: 250ms;
  transition-duration: 250ms;
  -webkit-transition-property: opacity;
  -ms-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-timing-function: ease;
  -ms-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0;
  -ms-transition-delay: 0;
  transition-delay: 0;
}

.btn.icon.follow svg {
  width: 20px;
  height: 20px;
}

.btn.twitter, .btn.facebook {
  text-align: left;
}

.btn.twitter svg, .btn.facebook svg {
  left: 6px;
  width: 25px;
  height: 25px;
}

.btn.twitter svg .mark, .btn.facebook svg .mark {
  -webkit-transition-duration: 250ms;
  -ms-transition-duration: 250ms;
  transition-duration: 250ms;
  -webkit-transition-property: fill;
  -ms-transition-property: fill;
  transition-property: fill;
  -webkit-transition-timing-function: ease;
  -ms-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0;
  -ms-transition-delay: 0;
  transition-delay: 0;
}

.btn.twitter {
  color: #55acee;
  border-color: #55acee;
}

.btn.twitter svg .mark {
  fill: #55acee;
}

.btn.twitter:hover {
  color: #fff;
  background-color: #55acee;
}

.btn.twitter:hover .mark {
  fill: #fff;
}

.btn.facebook {
  color: #3b5999;
  border-color: #3b5999;
}

.btn.facebook svg .mark {
  fill: #3b5999;
}

.btn.facebook:hover {
  color: #fff;
  background-color: #3b5999;
}

.btn.facebook:hover .mark {
  fill: #fff;
}

.btn.accent {
  box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.1);
  border-radius: 0;
  border-color: #B90000;
  background-color: #B90000;
  border-width: 1px;
  color: #fff;
  font-size: 15px;
  padding-top: 14px;
  padding-bottom: 14px;
  display: block;
}

.btn.accent.arw::after {
  color: #fff;
  right: 3px;
}

.btn.accent:hover {
  background-color: #fff;
  color: #B90000;
}

.btn.accent:hover.arw::after {
  color: #B90000;
}

.btn.follow.cr {
  background: #F4F4F4;
  color: #666;
  font-weight: normal;
}

.btn.follow.cr:hover {
  border-color: #D4D4D4;
}

.btn.follow.cr svg {
  opacity: 0.6;
}

.btn.non_active {
  color: #D4D4D4;
  cursor: default;
}

.btn.non_active:hover {
  border-color: #D4D4D4;
}

.btn.non_active.gray {
  background: #D4D4D4;
  color: #fff;
}

.btn.non_active.gray.text_l {
  font-size: 18px;
  line-height: 24px;
}

a.btn {
  color: #2AABE4;
}

.btns {
  text-align: center;
}

.btns .btn {
  margin: 0 10px;
}

/* ----------------------------------------------------------------------------
    bln
---------------------------------------------------------------------------- */
.bln {
  position: relative;
  padding: 18px 0;
  background: #fffef2;
  border-radius: 3px;
  border: 1px solid #D4D4D4;
  box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.2);
}

.bln .bln_inner {
  position: relative;
  z-index: 1;
}

.bln .close {
  opacity: 1;
  -webkit-transition-duration: 250ms;
  -ms-transition-duration: 250ms;
  transition-duration: 250ms;
  -webkit-transition-property: opacity;
  -ms-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-timing-function: ease;
  -ms-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0;
  -ms-transition-delay: 0;
  transition-delay: 0;
}

.bln .close:hover {
  opacity: 0.8;
}

.bln::after {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 50%;
  box-shadow: -3px 1px 4px -3px rgba(0, 0, 0, 0.2);
  display: block;
  height: 18px;
  -webkit-transform: rotate(-67deg) skew(-45deg);
  -moz-transform: rotate(-67deg) skew(-45deg);
  -ms-transform: rotate(-67deg) skew(-45deg);
  transform: rotate(-67deg) skew(-45deg);
  width: 24px;
  background: #fffef2;
  margin-left: -9px;
  z-index: 0;
  border: 1px solid #D4D4D4;
  border-right: none;
  border-top: none;
}

.bln.top::after {
  box-shadow: 4px 1px 4px -4px rgba(0, 0, 0, 0.2);
  bottom: inherit;
  top: -10px;
  border: 1px solid #D4D4D4;
  border-left: none;
  border-bottom: none;
}

.bln.right::after {
  box-shadow: 2px -1px 2px -1px rgba(0, 0, 0, 0.2);
  top: 50%;
  left: auto;
  right: -9px;
  margin-left: 0;
  margin-top: -9px;
  height: 12px;
  width: 16px;
  -webkit-transform: rotate(23deg) skew(-45deg);
  -moz-transform: rotate(23deg) skew(-45deg);
  -ms-transform: rotate(23deg) skew(-45deg);
  transform: rotate(23deg) skew(-45deg);
  border: 1px solid #D4D4D4;
  border-left: none;
  border-bottom: none;
}

.bln_wrap {
  position: relative;
  cursor: pointer;
  display: inline-block;
}

.bln_wrap .bln {
  -webkit-transition-duration: 250ms;
  -ms-transition-duration: 250ms;
  transition-duration: 250ms;
  -webkit-transition-property: top bottom left right;
  -ms-transition-property: top bottom left right;
  transition-property: top bottom left right;
  -webkit-transition-timing-function: ease;
  -ms-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0;
  -ms-transition-delay: 0;
  transition-delay: 0;
  position: absolute;
  visibility: hidden;
  overflow: hidden;
  height: 0;
  opacity: 0;
}

.bln_wrap:hover .bln {
  display: block;
  opacity: 1;
  visibility: visible;
  overflow: visible;
  height: auto;
}

.btn_menu .bln_wrap .bln {
  /*top: 6px;*/
  text-align: center;
  width: 100%;
  padding: 18px 0;
  background: #fffef2;
  border-radius: 3px;
  box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.1);
}

.btn_menu .bln_wrap .bln a {
  display: inline-block;
  font-size: 16px;
  line-height: 24px;
  margin: 0px 16px;
  color: #2AABE4;
}

.btn_menu .bln_wrap .bln.top {
  /*top: auto;*/
  /*bottom: 6px;*/
}

.btn_menu .bln_wrap:hover {
  padding-top: 67px;
  margin-top: -67px;
}

.btn_menu .bln_wrap:hover .bln {
  /*top: 0;*/
}

.btn_menu .bln_wrap:hover .bln.top {
  /*top: auto;*/
  /*bottom: 0;*/
}

.btn_menu .bln_wrap:hover .btn.blue {
  background-color: #2AABE4;
  color: #fff !important;
}

.btn_menu .bln_wrap:hover .btn.blue::after {
  color: #fff !important;
}

.btn_menu .bln_wrap.top:hover {
  padding-top: 0;
  margin-top: 0;
  padding-bottom: 67px;
  margin-bottom: -67px !important;
}

.btn_menu .bln_wrap.bln_none:hover {
  padding-top: 0;
  margin-top: 0;
}

.bln_wrap.follow .bln {
  position: absolute;
  left: -82%;
  top: -33%;
  text-align: left;
  text-indent: 0;
  padding: 10px;
  font-size: 12px;
  line-height: 1.5;
  height: auto;
  color: #2AABE4 !important;
  font-weight: bold !important;
}

.bln_wrap.follow .bln svg {
  position: relative;
  top: 4px;
  left: 0;
  display: inline-block;
  margin-top: -4px;
  height: 18px;
  width: 18px;
}

.bln_wrap.follow:hover .bln {
  left: -85%;
}

.bln_wrap.follow.cr:hover .bln {
  display: none;
}

/* ----------------------------------------------------------------------------
    sec
---------------------------------------------------------------------------- */
.sec {
  background: #fff;
}

.sec .sec_box {
  border-top: 1px solid #D4D4D4;
  padding: 20px;
}

/* ----------------------------------------------------------------------------
    title
---------------------------------------------------------------------------- */
.sec_title {
  position: relative;
  border-top: 2px solid #2AABE4;
}

.sec_title h2 {
  font-size: 18px;
  line-height: 24px;
  padding: 18px 22px;
  color: #404040;
}

.sec_title h2.twoline {
  padding-top: 6px;
  padding-bottom: 6px;
}

.sec_title h3 {
  font-size: 16px;
  line-height: 20px;
  padding: 14px 22px;
  color: #404040;
}

.sec_title h3.twoline {
  padding-top: 10px;
  padding-bottom: 10px;
}

.sec_title .with_note {
  display: inline-block;
  padding-right: 0;
}

.sec_title .note, .sec_title .update, .sec_title .link {
  display: inline-block;
  padding: 18px 0;
  line-height: 24px;
  vertical-align: bottom;
}

.sec_title .note {
  font-size: 12px;
  margin-left: 9px;
}

.sec_title .update, .sec_title .link {
  color: #BFBFBF;
  float: right;
  padding-right: 22px;
}

.sec_title .link a {
  color: #2AABE4;
}

.icon_title h1, .icon_title h2, .icon_title h3, .icon_title h4, .icon_title h5 {
  padding-left: 52px;
}

.icon_title .icon {
  width: 40px;
  height: 40px;
  display: inline-block;
  position: absolute;
  left: 8px;
  top: 10px;
}

.title {
  color: #000000;
}

.title.large {
  font-size: 20px;
  line-height: 26px;
}

.title.middle {
  font-size: 18px;
  line-height: 24px;
}

.title.small {
  color: #404040;
  font-size: 14px;
  line-height: 20px;
}

/* ----------------------------------------------------------------------------
    text
---------------------------------------------------------------------------- */
.text {
  line-height: 1.5;
}

.text.small {
  font-size: 12px;
}

.text a {
  color: #2AABE4;
}

/* ----------------------------------------------------------------------------
    tag
---------------------------------------------------------------------------- */
.tag {
  font-size: 12px;
  line-height: 1;
  background: #404040;
  padding: 4px 8px;
  color: #fff;
  font-weight: bold;
  display: inline-block;
}

.tag.today {
  background: #FFA500;
}

.tag.new, .tag.required {
  background: #E50113;
}

.tag.white {
  font-weight: normal;
  background: #fff;
  color: #404040;
  border: 1px solid #D4D4D4;
  padding: 3px 7px;
}

a.tag {
  background: transparent;
  border: 1px solid #D4D4D4;
  color: #2AABE4;
  margin-right: 8px;
}

/* ----------------------------------------------------------------------------
    card
---------------------------------------------------------------------------- */
.card {
  position: relative;
  box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.1);
  background: #fff;
  margin-bottom: 30px;
}

.card::after {
  content: "";
  clear: both;
  display: block;
}

.card .limited {
  position: absolute;
  top: -12px;
  left: -12px;
  width: 70px;
  text-align: center;
  padding: 12px 0;
  border-radius: 50%;
  background: #E50113;
  border: 1px solid #fff;
  color: #fff;
  font-weight: bold;
  font-size: 12px;
  line-height: 14px;
  font-weight: bold;
  transform: rotate(-15deg);
  z-index: 1;
}

.card .limited span {
  display: block;
  font-size: 16px;
  line-height: 18px;
}

.card .ph {
  float: left;
  width: 360px;
  padding: 1px 0 1px 1px;
  position: relative;
  z-index: 0;
}

.card .title_area, .card .text, .card .action, .card .table {
  position: relative;
  margin-left: 20px;
  margin-right: 20px;
  width: 380px;
  padding: 0;
  float: right;
}

.card .title_area {
  padding-top: 20px;
}

.card .title_area .inner {
  width: auto !important;
  position: relative;
}

.card .meta {
  font-size: 12px;
  line-height: 18px;
  margin-bottom: 6px;
}

.card .meta.area {
  position: absolute;
  top: 0;
  right: 0;
}

.card .title {
  margin-bottom: 6px;
}

.card .text {
  margin-bottom: 8px;
  min-height: 42px;
}

.card .action {
  padding-bottom: 20px;
}

.card .action::after {
  content: "";
  clear: both;
  display: block;
}

.card .action .btn {
  width: 211px;
  position: relative;
  /*float: left;*/
  margin-right: 20px;
}

.card .action .btn:last-child {
  margin-right: 0;
}

.card.type1 .title_area {
  padding-top: 18px;
}

.card.type1 .action {
  padding-bottom: 19px;
}

.card.type2 {
  padding-top: 0;
}

.card.type2 .title_area {
  padding-top: 10px;
}

.card.type2 .category_area {
  padding-top: 30px;
}

.card.type2 .meta {
  position: absolute;
  top: 0;
  right: 0;
  text-align: right;
}

.card.type2 .text {
  margin-bottom: 11px;
  height: auto;
}

.card.type2 .table {
  margin-bottom: 16px;
}

.card.type2 .action .btn.orange {
  padding: 7px 8px;
}

.card.type2 .action .btn.single {
  display: block;
  /*float: none;*/
  width: auto;
}

/* ----------------------------------------------------------------------------
    box
---------------------------------------------------------------------------- */
.box .ph {
  border: 1px solid #BFBFBF;
}

.box .information {
  padding: 20px 10px;
}

.box .information .meta {
  font-size: 12px;
  line-height: 1;
  margin-bottom: 5px;
}

.box .information .title {
  margin-bottom: 5px;
}

.box a:hover .information .title, .box a:hover .information .text, .box a:hover .information .description {
  color: #2AABE4;
  text-decoration: underline;
}

.box.padding {
  padding-left: 30px;
  padding-right: 30px;
}

.box.padding.pt {
  padding-top: 30px;
}

.box.padding.pb {
  padding-bottom: 30px;
}

.box.type1 {
  padding: 0;
  width: 225px;
  display: inline-block;
}

.box.type2 {
  padding: 10px 20px;
  width: 234px;
  display: inline-block;
  border: 1px solid #BFBFBF;
  border-left: none;
  border-right: none;
}

.box.type2::after {
  content: "";
  clear: both;
  display: block;
}

.box.type2 .ph {
  float: left;
  border: none;
}

.box.type2 .information {
  float: left;
  width: 174px;
  padding: 0 0 0 10px;
  word-wrap: break-word;
}

.box.type2 .information .meta {
  font-size: 12px;
  line-height: 1.2;
}

.box.type2 .information .title {
  font-size: 13px;
  line-height: 1.2;
  color: #404040;
}

.box.type2 .information .text {
  font-size: 11px;
  line-height: 1.2;
}

.box.type3 {
  width: 382px;
}

.box.type3::after {
  content: "";
  clear: both;
  display: block;
}

.box.type3 .ph {
  float: left;
  width: 181px;
  border: none;
}

.box.type3 .information {
  float: left;
  width: 169px;
  padding: 17px 12px 17px 20px;
}

.box.type3 .information .title {
  font-size: 16px;
  margin-bottom: 9px;
}

.box.type3 a .title {
  color: #2AABE4;
}

.box.type4, .box.type5, .box.type6 {
  display: block;
  width: auto;
}

.box.type4.padding, .box.type5.padding, .box.type6.padding {
  padding: 30px;
}

.box.type4::after, .box.type5::after, .box.type6::after {
  content: "";
  clear: both;
  display: block;
}

.box.type4 .ph, .box.type5 .ph, .box.type6 .ph {
  float: left;
  width: 237px;
  border: none;
}

.box.type4 .title_area, .box.type4 .information, .box.type5 .title_area, .box.type5 .information, .box.type6 .title_area, .box.type6 .information {
  padding: 0 30px;
  width: 462px;
  margin-left: 237px;
}

.box.type4 .title_area .title.large, .box.type4 .information .title.large, .box.type5 .title_area .title.large, .box.type5 .information .title.large, .box.type6 .title_area .title.large, .box.type6 .information .title.large {
  margin-bottom: 12px;
}

.box.type4 .information, .box.type5 .information, .box.type6 .information {
  padding: 0 30px;
  width: 462px;
  margin-left: 237px;
}

.box.type4 .information .meta, .box.type5 .information .meta, .box.type6 .information .meta {
  font-size: 12px;
  line-height: 1.2;
}

.box.type4 .information .title.small, .box.type5 .information .title.small, .box.type6 .information .title.small {
  margin-bottom: 6px;
}

.box.type6 .ph {
  float: right;
}

.box.type6 .information {
  float: left;
  padding-left: 0;
  margin-left: 0;
  width: 458px;
}

.box.type5 .information {
  float: none;
  padding: 0;
  margin-left: 0;
  width: auto;
}

/* ----------------------------------------------------------------------------
    .btn_menu
---------------------------------------------------------------------------- */
.btn_menu {
  position: relative;
  z-index: 1;
}

.btn_menu .btn_box {
  padding: 0 10px;
}

.btn_menu .btn_box .btn {
  margin: 0 8px 20px 8px;
}

.btn_menu .btn_box .bln_wrap {
  margin-right: 8px;
  margin-bottom: 20px;
  margin-left: 8px;
}

.btn_menu .btn_box .bln_wrap .btn {
  margin: 0;
}

.modal_select_default_wrap a {
  color: #2AABE4;
}

.modal_select_default {
  opacity: 0;
  display: none !important;
  -webkit-transition-duration: 250ms;
  -ms-transition-duration: 250ms;
  transition-duration: 250ms;
  -webkit-transition-property: opacity;
  -ms-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-timing-function: ease;
  -ms-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0;
  -ms-transition-delay: 0;
  transition-delay: 0;
}

.modal_select_default.active {
  opacity: 1;
  display: inherit !important;
}

/* ----------------------------------------------------------------------------
    list
---------------------------------------------------------------------------- */
.list {
  background: #fff;
}

.list ul {
  border-top: 1px solid #D4D4D4;
}

.list li {
  position: relative;
  border-bottom: 1px solid #D4D4D4;
}

.list li.arw::after {
  font-family: 'gakujoIcon';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  vertical-align: middle;
  display: block;
  position: absolute;
  content: '\E902';
  font-size: 16px;
  top: 50%;
  margin-top: -8px;
  right: 16px;
  color: #E50113;
  font-weight: normal;
  z-index: 0;
  pointer-events: none;
}

.list li.arw.btm::after {
  content: '\E901';
}

.list li.arw.top::after {
  content: '\E900';
}

.list li.tag_wrap p {
  display: inline-block;
}

.list li a {
  position: relative;
  z-index: 1;
  display: block;
  padding: 13px 20px;
  line-height: 20px;
}

.list li a:hover {
  color: #2AABE4;
}

.list li a:hover .title {
  color: #2AABE4;
}

.list li a:hover .tag, .list li a:hover .time, .list li a:hover::after {
  text-decoration: none;
}

.list li a .tag {
  margin-right: 10px;
}

.list li a .time {
  display: inline-block;
  color: #BFBFBF;
  margin-left: 14px;
}

.list li a .title {
  color: #404040;
  line-height: 1.5;
}

.list .action {
  padding: 20px;
  text-align: center;
}

.list.new {
  background: #fffef2;
}

.list.new li a {
  font-size: 16px;
  font-weight: bold;
  color: #2AABE4;
}

.list.ranking li .rank {
  position: absolute;
  width: 40px;
  height: 40px;
  line-height: 40px;
  font-size: 16px;
  font-weight: bold;
  color: #fff;
  text-align: center;
  top: 16px;
  left: 16px;
  z-index: 0;
  letter-spacing: -1px;
}

.list.ranking li .rank span {
  position: relative;
  z-index: 1;
}

.list.ranking li .rank svg {
  width: 40px;
  height: 40px;
  position: absolute;
  top: -5px;
  left: 0;
  z-index: 0;
}

.list.ranking li a {
  padding-left: 65px;
}

.list.ranking.cont li a {
  padding-top: 10px !important;
  padding-bottom: 5px !important;
}

.list.ranking.cont .rank {
  top: 8px;
}

.list.ranking.cont .title {
  line-height: 36px;
  padding: 2px 0;
  font-weight: normal;
}

.list.ranking.cont .title.twoline {
  line-height: 18px;
}

/* ----------------------------------------------------------------------------
    pager
---------------------------------------------------------------------------- */
.pager {
  text-align: center;
}

.pager a, .pager span {
  position: relative;
  display: inline-block;
  vertical-align: top;
  width: 40px;
  height: 40px;
  line-height: 40px;
  border: 2px solid #D4D4D4;
  border-radius: 3px;
  background: #fff;
  margin: 0 5px;
  font-size: 16px;
  font-weight: bold;
  color: #2AABE4;
  -webkit-transition-duration: 250ms;
  -ms-transition-duration: 250ms;
  transition-duration: 250ms;
  -webkit-transition-property: border-color background-color color;
  -ms-transition-property: border-color background-color color;
  transition-property: border-color background-color color;
  -webkit-transition-timing-function: ease;
  -ms-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0;
  -ms-transition-delay: 0;
  transition-delay: 0;
}

.pager a:hover, .pager span:hover {
  text-decoration: none;
  border-color: #2AABE4;
}

.pager a.cr, .pager span.cr {
  border-color: #2AABE4;
  background: #2AABE4;
  color: #fff;
}

.pager a.next, .pager a.prev, .pager span.next, .pager span.prev {
  font-size: 0;
}

.pager a.next::after, .pager a.prev::after, .pager span.next::after, .pager span.prev::after {
  font-family: 'gakujoIcon';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  vertical-align: middle;
  position: absolute;
  content: '\E902';
  font-size: 16px;
  top: 50%;
  margin-top: -8px;
  right: 12px;
  color: #E50113;
  font-weight: normal;
  pointer-events: none;
}

.pager a.prev::after, .pager span.prev::after {
  content: '\E903';
}

/* ----------------------------------------------------------------------------
    side_col
---------------------------------------------------------------------------- */
.side_col {
  /*  list --------------------------------------------------------*/
  /*  sec_box --------------------------------------------------------*/
  /*  app --------------------------------------------------------*/
  /*  usage --------------------------------------------------------*/
}

.side_col .list a:not(.btn) {
  font-size: 12px;
  line-height: 18px;
  padding-top: 10px;
  padding-bottom: 10px;
}

.side_col .list a:not(.btn) .title {
  font-size: 13px;
}

.side_col .list a:not(.btn) .description {
  font-size: 11px;
}

.side_col .list .arw a {
  padding-right: 28px;
}

.side_col .list.single a:not(.btn) {
  padding-top: 14px;
  padding-bottom: 14px;
}

.side_col .list .arw:not(.btn)::after {
  font-size: 13px;
  margin-top: -6px;
  right: 8px;
}

.side_col .list .box.type2 {
  display: block;
  width: auto;
  padding: 0;
  border-top: none;
}

.side_col .list .box.type2.arw a {
  padding-right: 20px;
}

.side_col .list .box.type2:last-child {
  border-bottom: none;
}

.side_col .list .box.type2 .information {
  width: 176px;
  padding-right: 10px;
}

.side_col .sec_box .title {
  font-size: 13px;
  line-height: 18px;
  color: #404040;
}

.side_col .app .box.type2 {
  border: none;
  padding: 0;
  margin-bottom: 10px;
}

.side_col .app .box.type2 .ph {
  width: 50px;
  height: 50px;
}

.side_col .app .box.type2 .information {
  width: 200px;
  padding: 10px 0 0 15px;
}

.side_col .usage .sec_box {
  padding: 0 0 20px 0;
}

.side_col .usage .box.type2 {
  border-top: none;
  padding: 20px 0;
  display: table;
  width: 100%;
}

.side_col .usage .box.type2 .ph {
  display: table-cell;
  width: 60px;
  height: 60px;
  padding: 0 10px 0 20px;
  vertical-align: middle;
  float: none;
}

.side_col .usage .box.type2 .information {
  padding: 0;
  display: table-cell;
  vertical-align: middle;
  width: 165px;
  float: none;
}

/* ----------------------------------------------------------------------------
    #fix_cv_btn
---------------------------------------------------------------------------- */
#fix_cv_btn {
  position: fixed;
  top: 220px;
  right: 0;
}

#fix_cv_btn a {
  display: block;
  position: relative;
  right: -8px;
  width: 64px;
  background-color: #F79145;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
  border: 4px solid #F79145;
  border-radius: 3px 0 0 3px;
  text-align: center;
  padding: 42px 0;
  font-size: 24px;
  font-weight: bold;
  line-height: 24px;
  color: #fff;
  -webkit-transition-duration: 150ms;
  -ms-transition-duration: 150ms;
  transition-duration: 150ms;
  -webkit-transition-property: right background-color color;
  -ms-transition-property: right background-color color;
  transition-property: right background-color color;
  -webkit-transition-timing-function: ease;
  -ms-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0;
  -ms-transition-delay: 0;
  transition-delay: 0;
}

#fix_cv_btn a:hover {
  right: -4px;
  /*background-color: #fff;
			color: $cv_color01;*/
  text-decoration: none;
}
/* ----------------------------------------------------------------------------
    #footer_cv_btn
---------------------------------------------------------------------------- */
#footer_cv_btn {
  width: 100%;
  height: 88px;
  position: fixed;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  z-index: 9999;
  display: flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  justify-content: center;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center; 
}
#footer_cv_btn .cv_btn_link {
  width: 470px;
  height: 28px;
  font-size: 24px;
  display: flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  justify-content: center;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center; 
}
.btn.orange:hover, .btn.orange.active {
  
}
/* ----------------------------------------------------------------------------
    form
---------------------------------------------------------------------------- */
.flow ol {
  display: table;
  width: 100%;
}

.flow li {
  position: relative;
  display: table-cell;
  width: 20%;
  background: #fff;
  z-index: 0;
  font-size: 16px;
  line-height: 1.2;
  text-align: center;
  overflow: hidden;
}

.flow li .step {
  font-size: 14px;
  margin-bottom: 5px;
}

.flow li > div {
  position: relative;
  z-index: 2;
  padding: 20px 15% 20px 0;
}

.flow li::after {
  content: " ";
  position: absolute;
  background-color: #fff;
  top: 50%;
  right: 4px;
  width: 110px;
  height: 80px;
  margin-top: -30px;
  z-index: 1;
  -webkit-transform: rotate(-53deg) skew(-15deg);
  -moz-transform: rotate(-53deg) skew(-15deg);
  -ms-transform: rotate(-53deg) skew(-15deg);
  transform: rotate(-53deg) skew(-15deg);
  border-bottom: 1px solid #D4D4D4;
  border-right: 1px solid #D4D4D4;
}

.flow li.cr {
  background-color: #2AABE4;
  color: #fff;
  font-weight: bold;
}

.flow li.cr::after {
  background-color: #2AABE4;
  border-bottom-color: #2AABE4;
  border-right-color: #2AABE4;
}

.flow li.cr::before, .flow li.prev::before {
  content: " ";
  position: absolute;
  background-color: #fff;
  top: 0;
  right: -6px;
  width: 35px;
  height: 100%;
}

.flow li.prev::before {
  background-color: #2AABE4;
}

.flow li.prev::after {
  border-bottom-color: #fff;
  border-right-color: #fff;
}

.flow li:first-child {
  width: 22%;
}

.flow li:first-child > div {
  padding-right: 9%;
}

.flow li:last-child {
  width: 18%;
}

.flow li:last-child > div {
  padding-right: 9%;
}

.flow li:last-child::after, .flow li:last-child::before {
  content: none;
  display: none;
}

.form_inputs {
  padding-bottom: 80px;
  margin-bottom: 90px;
}

.form_inputs .inputs {
  padding: 30px 40px;
}

.form_inputs .BaseinfoInputID {
  padding: 10px 0px;
}
.form_inputs .BaseinfoMailposition {
  padding: 0px 40px 30px 40px;
}
.form_inputs .inputs .title {
  color: #404040;
  margin-bottom: 5px;
}

.form_inputs .title_wrap .title {
  display: inline-block;
}

.form_inputs .title_wrap a.title_link {
  font-size: 14px;
  float: right;
  color: #2AABE4;
}

.form_inputs .toggle_inputs {
  opacity: 1;
  max-height: 120em;
  height: auto;
  overflow: visible;
  -webkit-transition-duration: 400ms;
  -ms-transition-duration: 400ms;
  transition-duration: 400ms;
  -webkit-transition-property: opacity max-height;
  -ms-transition-property: opacity max-height;
  transition-property: opacity max-height;
  -webkit-transition-timing-function: ease;
  -ms-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0;
  -ms-transition-delay: 0;
  transition-delay: 0;
}

.form_inputs .toggle_inputs.hide {
  opacity: 0;
  max-height: 0;
  height: 0;
  padding-top: 0;
  padding-bottom: 0;
  display: block !important;
  overflow: hidden;
}

.form_inputs .btns {
  position: relative;
  margin: 0 40px;
}

.form_inputs .btns .prev {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
}

.form_inputs .hide {
  display: none !important;
}

.form_inputs .err.form_err {
  font-size: 16px;
  line-height: 22px;
  font-weight: bold;
  color: #E50113;
  text-align: center;
  margin: 30px 0 0;
}

.form_inputs .supplemental {
  margin-top: 30px;
  padding: 15px 0;
  border: 1px solid #D4D4D4;
  display: table;
  width: 100%;
}

.form_inputs .supplemental .title {
  display: table-cell;
  vertical-align: middle;
  width: 255px;
  padding-left: 25px;
}

.form_inputs .supplemental .content {
  display: table-cell;
  font-size: 12px;
  padding-right: 25px;
}

table.input_table {
  width: 100%;
  border-bottom: 2px solid #D4D4D4;
}

table.input_table tr {
  border: none;
  border-top: 2px solid #D4D4D4;
  -webkit-transition-duration: 250ms;
  -ms-transition-duration: 250ms;
  transition-duration: 250ms;
  -webkit-transition-property: opacity;
  -ms-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-timing-function: ease;
  -ms-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0;
  -ms-transition-delay: 0;
  transition-delay: 0;
  opacity: 1;
}

table.input_table th, table.input_table td {
  border: none;
  padding: 20px;
}

table.input_table th {
  width: 220px;
  vertical-align: middle;
  line-height: 20px;
  -webkit-transition-duration: 250ms;
  -ms-transition-duration: 250ms;
  transition-duration: 250ms;
  -webkit-transition-property: background-color;
  -ms-transition-property: background-color;
  transition-property: background-color;
  -webkit-transition-timing-function: ease;
  -ms-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0;
  -ms-transition-delay: 0;
  transition-delay: 0;
}

table.input_table th .tag {
  margin-left: 0.5em;
}

table.input_table th.required.invalid {
  background-color: #fffef2;
}

table.input_table td {
  vertical-align: middle;
  font-size: 16px;
  padding-right: 0;
}

table.input_table td a {
  color: #2AABE4;
}

table.input_table th .note, table.input_table td .note {
  padding-top: 5px;
  font-size: 12px;
  font-weight: normal;
}

table.input_table input[type="text"], table.input_table input[type="password"], table.input_table input[type="email"], table.input_table input[type="tel"] {
  width: 41.5%;
  padding: 11px 3%;
  background-color: #F4F4F4;
  border: 2px solid #D4D4D4;
  -webkit-transition-duration: 250ms;
  -ms-transition-duration: 250ms;
  transition-duration: 250ms;
  -webkit-transition-property: border-color background-color;
  -ms-transition-property: border-color background-color;
  transition-property: border-color background-color;
  -webkit-transition-timing-function: ease;
  -ms-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0;
  -ms-transition-delay: 0;
  transition-delay: 0;
}

.IDAddress {
  width: 87%!important;
}
table.input_table input[type="text"]:focus, table.input_table input[type="password"]:focus, table.input_table input[type="email"]:focus {
  background-color: #fff;
  border-color: #2AABE4;
}

table.input_table input[type="text"].wide, table.input_table input[type="password"].wide, table.input_table input[type="email"].wide {
  width: 94%;
}

table.input_table div.bd_fix {
  padding-right: 4px;
}

table.input_table .btn {
  width: auto;
  margin-left: 15px;
  padding: 13px 18px;
}

table.input_table .btn.wide {
  display: block;
  margin-left: 0;
}

table.input_table .select_wrap {
  border: 2px solid #D4D4D4;
  border-radius: 3px;
  width: 47.5%;
  -webkit-transition-duration: 250ms;
  -ms-transition-duration: 250ms;
  transition-duration: 250ms;
  -webkit-transition-property: border-color;
  -ms-transition-property: border-color;
  transition-property: border-color;
  -webkit-transition-timing-function: ease;
  -ms-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0;
  -ms-transition-delay: 0;
  transition-delay: 0;
}

table.input_table .select_wrap.wide {
  width: 100%;
}

table.input_table .select_wrap.invalid {
  border-color: #E50113;
}

table.input_table .hide {
  display: none;
}

table.input_table tr.hide {
  opacity: 0;
}

table.input_table .validate_block {
  position: relative;
}

table.input_table .validate_block .err {
  color: #E50113;
  font-weight: bold;
  font-size: 12px;
  line-height: 24px;
  clear: both;
}

table.input_table .validate_block input[type="text"], table.input_table .validate_block input[type="password"], table.input_table .validate_block input[type="email"], table.input_table input[type="tel"]  {
  float: left;
}

table.input_table .validate_block input[type="text"].invalid, table.input_table .validate_block input[type="password"].invalid, table.input_table .validate_block input[type="email"].invalid {
  border-color: #E50113 !important;
}

table.input_table .validate_block input[type="text"].wide, table.input_table .validate_block input[type="password"].wide, table.input_table .validate_block input[type="email"].wide {
  width: 87%;
}

table.input_table .validate_block .half {
  width: 46%;
  margin-left: 2%;
  float: left;
}

table.input_table .validate_block .half:first-child {
  margin-left: 0;
}

table.input_table .validate_block .half input[type="text"], table.input_table .validate_block .half input[type="password"], table.input_table .validate_block .half input[type="email"],table.input_table .validate_block .half input[type="tel"] {
  width: 86%;
  padding: 11px 6%;
}

table.input_table .validate_block .select_wrap {
  float: left;
}

table.input_table .validate_block .select_wrap.wide {
  width: 93%;
}

table.input_table .validate_block .block_result {
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -13px;
}

table.input_table .validate_block .block_result.ng {
  margin-top: -25px;
}

table.input_table .validate_block .block_result[rel="zip"] {
  right: 21%;
}

table.input_table .validate_block .block_result.pos_half {
  right: 45%;
}

table.input_table .validate_block .btn.wide {
  width: 86%;
  float: left;
}

table.input_table .validate_block .selected {
  width: 90%;
  float: left;
  margin-right: 4%;
}

table.input_table .validate_block .input_list {
  width: 94%;
  float: left;
}

.input_box {
  padding: 20px;
}

.sub_input_box {
  margin: 15px 0 20px 0;
  padding: 18px;
  border: 1px solid #D4D4D4;
}

.policy_box {
  margin: 30px 40px;
  border: 1px solid #D4D4D4;
}

.policy_box .title {
  color: #404040;
  padding: 0 20px;
  line-height: 40px;
  border-bottom: 1px solid #D4D4D4;
}

.policy_box .wrap {
  height: 155px;
  overflow: scroll;
}

.policy_box .inner {
  padding: 20px;
  width: auto;
  font-size: 12px;
}

.policy_box .inner h5 {
  font-size: 12px;
  font-weight: normal;
}

.policy_box .inner p {
  margin-bottom: 1.2em;
}

.input_list {
  display: inline-block;
  width: 100%;
}

.input_list li {
  width: 45%;
  display: inline-block;
  padding: 5px 4% 5px 0;
}

.input_list li.select {
  padding-right: 0;
  width: 49%;
  vertical-align: top;
}

.input_list li .radio_item, .input_list li .checkbox_item {
  display: block;
}

.input_list li .select_wrap.period {
  width: 86%;
}

.input_list li .unit {
  display: inline-block;
  padding-left: 0.3em;
  line-height: 50px;
}

.input_list.match_wrap li {
  margin-bottom: 30px;
  float: left;
}

.input_list.match_wrap li .radio_item.match::before, .input_list.match_wrap li .radio_item.match::after, .input_list.match_wrap li .checkbox_item.match::before, .input_list.match_wrap li .checkbox_item.match::after {
  top: 12px;
}

.block_result {
  display: block;
  width: 23px;
  height: 23px;
  position: relative;
  background-color: transparent;
  border-radius: 50%;
  -webkit-transition-duration: 250ms;
  -ms-transition-duration: 250ms;
  transition-duration: 250ms;
  -webkit-transition-property: background-color;
  -ms-transition-property: background-color;
  transition-property: background-color;
  -webkit-transition-timing-function: ease;
  -ms-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0;
  -ms-transition-delay: 0;
  transition-delay: 0;
}

.block_result::before, .block_result::after {
  content: " ";
  position: absolute;
  border-radius: 2px;
}

.block_result::before {
  top: 12px;
  left: 4px;
  width: 8px;
  height: 3px;
  transform: rotate(45deg) scale(0);
  -webkit-transition-duration: 200ms;
  -ms-transition-duration: 200ms;
  transition-duration: 200ms;
  -webkit-transition-property: transform;
  -ms-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease;
  -ms-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 200ms;
  -ms-transition-delay: 200ms;
  transition-delay: 200ms;
}

.block_result::after {
  top: 10px;
  left: 8px;
  width: 12px;
  height: 3px;
  transform: rotate(-45deg) scale(0);
  -webkit-transition-duration: 200ms;
  -ms-transition-duration: 200ms;
  transition-duration: 200ms;
  -webkit-transition-property: transform;
  -ms-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease;
  -ms-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 400ms;
  -ms-transition-delay: 400ms;
  transition-delay: 400ms;
}

.block_result.ok {
  background-color: #2AABE4;
}

.block_result.ok::before, .block_result.ok::after {
  background-color: #fff;
}

.block_result.ok::before {
  transform: rotate(45deg) scale(1);
}

.block_result.ok::after {
  transform: rotate(-45deg) scale(1);
}

.block_result.ng {
  background-color: #E50113;
}

.block_result.ng::before, .block_result.ng::after {
  background-color: #fff;
  top: 10px;
  left: 3px;
  width: 17px;
}

.block_result.ng::before {
  transform: rotate(45deg) scale(1);
}

.block_result.ng::after {
  transform: rotate(-45deg) scale(1);
}

/* ----------------------------------------------------------------------------
    modal
---------------------------------------------------------------------------- */
body {
  position: relative;
}

body.no_scroll {
  overflow: hidden;
  height: 100%;
  min-height: 100%;
  overflow-y: scroll;
  position: fixed;
  width: 100%;
}

body.no_scroll #all_wrapper {
  position: fixed;
  height: 100%;
  width: 100%;
  overflow: scroll-y;
}

.modal_layer {
  display: none;
  z-index: 100;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: scroll;
  -webkit-overflow-scrolling: touch;
  text-align: center;
}

.modal_layer .bg {
  z-index: 101;
  position: absolute;
  top: 0;
  left: 0;
  position: fixed !important;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.8;
  /*cursor: pointer;*/
}

.modal_wrapper {
  position: relative;
  margin: 120px 0 0 0;
  display: inline-block;
  z-index: 6;
}

.modal_inner {
  position: relative;
  text-align: left;
  padding: 0;
  margin: 0 auto;
  background: #fff;
  border-radius: 3px;
}

.modal_content {
  position: relative;
  z-index: 105;
}

.modal_close {
  position: absolute;
  top: -10px;
  right: -18px;
  width: 30px;
  height: 30px;
  z-index: 105;
}

.modal_close a {
  display: block;
  width: 30px;
  height: 30px;
}

.modal_close a svg.icon {
  width: 30px;
  height: 30px;
  transform: scale(1.33) translateX(3px) translateY(4px);
}

.modal_title {
  padding: 0 20px;
  border-top: 2px solid #2AABE4;
  border-bottom: 1px solid #D4D4D4;
  font-size: 18px;
  line-height: 48px;
  color: #404040;
  background: #fff;
}

.modal_bg {
  background: #fff;
}

.modal_list_title {
  padding: 0 35px;
  color: #404040;
  line-height: 40px;
  border-bottom: 1px solid #D4D4D4;
}

.modal_list_desc {
  padding: 5px 20px;
  color: #404040;
  border-bottom: 1px solid #D4D4D4;
}

.modal_list.list {
  max-height: 360px;
  overflow: scroll;
}

.modal_list.list li a {
  font-size: 16px;
  line-height: 24px;
  padding: 13px 35px;
}

.modal_list.list li a::after {
  right: 30px;
}

.modal_list.list li.arw.btm::after {
  top: 25px;
}

.modal_list.list li .checkbox_item, .modal_list.list li .radio_item {
  padding: 13px 35px;
  display: block;
}

.modal_list.list li .checkbox_item::before, .modal_list.list li .checkbox_item::after, .modal_list.list li .radio_item::before, .modal_list.list li .radio_item::after {
  margin-left: 35px;
}

.modal_list.list li .checkbox_item.has_sub, .modal_list.list li .radio_item.has_sub {
  padding-right: 0;
  padding-left: 0;
  overflow: hidden;
}

.modal_list.list li .checkbox_item.has_sub::before, .modal_list.list li .checkbox_item.has_sub::after, .modal_list.list li .radio_item.has_sub::before, .modal_list.list li .radio_item.has_sub::after {
  top: 25px;
}

.modal_list.list li .checkbox_item.has_sub .name, .modal_list.list li .radio_item.has_sub .name {
  padding-left: 71px;
}

.modal_list.list li .sub {
  -webkit-transition-duration: 500ms;
  -ms-transition-duration: 500ms;
  transition-duration: 500ms;
  -webkit-transition-property: max-height opacity;
  -ms-transition-property: max-height opacity;
  transition-property: max-height opacity;
  -webkit-transition-timing-function: ease;
  -ms-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0;
  -ms-transition-delay: 0;
  transition-delay: 0;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
}

.modal_list.list li .sub .checkbox_item, .modal_list.list li .sub .radio_item {
  padding-left: 70px;
}

.modal_list.list li .sub .checkbox_item::before, .modal_list.list li .sub .checkbox_item::after, .modal_list.list li .sub .radio_item::before, .modal_list.list li .sub .radio_item::after {
  margin-left: 70px;
}

.modal_list.list li .sub li:last-child {
  border-bottom: none;
}

.modal_list.list li.active .sub {
  max-height: 50em !important;
  opacity: 1 !important;
}

.modal_btns {
  margin-top: 20px;
}

.modal_btns .btn {
  width: auto;
}

.modal_btns .btn.prev {
  float: left;
  padding-left: 35px;
}

.modal_enter {
  text-align: center;
  background: #F4F4F4;
  padding: 10px 0 16px;
}

.modal_enter .btn {
  padding-top: 5px;
  padding-bottom: 5px;
}

/* ----------------------------------------------------------------------------
   top
---------------------------------------------------------------------------- */
#top {
  /*  main_visual --------------------------------------------------------*/
  /*  feature --------------------------------------------------------*/
  /*  btm_bnr --------------------------------------------------------*/
}

#top .col_wrap {
  margin-bottom: 0;
}

#top #main_visual {
  position: relative;
  /*  main_visual_tab --------------------------------------------------------*/
  /*  introduction --------------------------------------------------------*/
}

#top #main_visual .visual {
  position: relative;
  max-width: none;
  width: 100%;
  min-height: 385px;
  z-index: 0;
}

#top #main_visual .visual img {
  max-width: none;
  width: 100%;
}

#top #main_visual .main_shadow {
  position: absolute;
  width: 100%;
  height: 70%;
  left: 0;
  bottom: 0;
  background: url(../img/build/main_shadow.png) repeat-x 0 0;
  background-size: 100% 100%;
  z-index: 1;
}

#top #main_visual .content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#top #main_visual .inner {
  position: absolute;
  top: 0;
  left: 50%;
  height: 100%;
  margin-left: -550px;
}

#top #main_visual .catch {
  position: absolute;
  bottom: 8%;
  left: 725px;
  font-family: 'Noto Sans Japanese';
  color: #fff;
}

#top #main_visual .catch h2 {
  color: #fff;
  font-size: 34px;
  font-weight: bold;
  line-height: 34px;
  margin-bottom: 18px;
}

#top #main_visual .catch p {
  font-size: 18px;
  line-height: 24px;
}

#top #main_visual #main_visual_tab, #top #main_visual .introduction {
  width: 100%;
  height: 360px;
  position: absolute;
  top: 8%;
  left: 0;
}

#top #main_visual #main_visual_tab .tab, #top #main_visual #main_visual_tab .intro_box, #top #main_visual .introduction .tab, #top #main_visual .introduction .intro_box {
  width: 680px;
  background: #fff;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.3);
  position: relative;
  top: -4px;
  left: 4px;
}

#top #main_visual .tab_wrapper .tab_menu {
  height: 50px;
  padding: 4px;
  position: relative;
}

#top #main_visual .tab_wrapper .tab_menu .menu {
  position: relative;
  float: left;
  margin-left: 2px;
}

#top #main_visual .tab_wrapper .tab_menu .menu:first-child {
  margin-left: 0;
}

#top #main_visual .tab_wrapper .tab_menu .menu:first-child a {
  border-radius: 3px 0 0 0;
}

#top #main_visual .tab_wrapper .tab_menu .menu:last-child a {
  border-radius: 0 3px 0 0;
}

#top #main_visual .tab_wrapper .tab_menu .menu .bln {
  display: none;
  position: absolute;
  width: 164px;
  line-height: 35px;
  font-weight: bold;
  color: #E50113;
  text-align: center;
  padding: 0;
  margin-left: -82px;
  top: -26px;
  left: 50%;
  z-index: 1;
}

#top #main_visual .tab_wrapper .tab_menu .menu .bln span {
  position: relative;
  font-size: 12px;
  margin-right: 6px;
  z-index: 1;
}

#top #main_visual .tab_wrapper .tab_menu .menu .bln span em {
  font-size: 16px;
  font-style: normal;
}
#top #main_visual .tab_wrapper .tab_menu .menu .bln span em span {
  font-size: 16px;
  font-style: normal;
}

#top #main_visual .tab_wrapper .tab_menu .menu .bln::after {
  height: 8px;
  width: 12px;
  bottom: -5px;
}

#top #main_visual .tab_wrapper .tab_menu .menu.cr .bln {
  display: block;
}

#top #main_visual .tab_wrapper .tab_menu .menu a {
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.3);
  position: relative;
  background: #2AABE4;
  display: block;
  width: 339px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  text-align: center;
  padding: 11px 0;
  margin: 12px 0 0;
  -webkit-transition-duration: 250ms;
  -ms-transition-duration: 250ms;
  transition-duration: 250ms;
  -webkit-transition-property: padding-top padding-bottom margin-top;
  -ms-transition-property: padding-top padding-bottom margin-top;
  transition-property: padding-top padding-bottom margin-top;
  -webkit-transition-timing-function: ease;
  -ms-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0;
  -ms-transition-delay: 0;
  transition-delay: 0;
}

#top #main_visual .tab_wrapper .tab_menu .menu a:hover {
  margin-top: 7px;
  padding: 11px 0 16px;
  text-decoration: none;
}

#top #main_visual .tab_wrapper .tab_menu .menu.cr a {
  background: #fff;
  font-size: 18px;
  color: #000000;
  padding: 22px 0 10px;
  margin-top: 0;
  top: 0;
}

#top #main_visual .tab_wrapper .tab_menu .menu.cr a:hover {
  padding: 22px 0 10px;
}

#top #main_visual .tab_wrapper .tab {
  display: none;
}

#top #main_visual .tab_wrapper .tab.cr {
  display: block;
}

#top #main_visual .tab_wrapper .tab::before {
  content: " ";
  position: absolute;
  z-index: 2;
  background: #fff;
  width: 100%;
  height: 2px;
  top: -2px;
  left: 0;
}

#top #main_visual .tab_wrapper .tab .search_wrap {
  padding: 20px 32px 0 32px;
  border-bottom: 1px solid #D4D4D4;
}

#top #main_visual .tab_wrapper .tab .search_wrap .title {
  font-size: 14px;
  line-height: 1;
  color: #404040;
  margin-bottom: 8px;
}

#top #main_visual .tab_wrapper .tab .search_wrap .condition {
  border: 2px solid #2AABE4;
  border-radius: 3px;
  float: left;
}

#top #main_visual .tab_wrapper .tab .search_wrap select {
  width: 135px;
}

#top #main_visual .tab_wrapper .tab .search_wrap input[type="text"] {
  width: 400px;
}

#top #main_visual .tab_wrapper .tab .search_wrap .search_btn {
  position: relative;
  float: right;
}

#top #main_visual .tab_wrapper .tab .search_wrap .search_btn.keyword {
  top: -5px;
}

#top #main_visual .tab_wrapper .tab .search_wrap .search_btn .icon {
  position: absolute;
  width: 32px;
  height: 32px;
  top: 6px;
  left: 34px;
  z-index: 1;
  -webkit-transition-duration: 100ms;
  -ms-transition-duration: 100ms;
  transition-duration: 100ms;
  -webkit-transition-property: top;
  -ms-transition-property: top;
  transition-property: top;
  -webkit-transition-timing-function: ease;
  -ms-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0;
  -ms-transition-delay: 0;
  transition-delay: 0;
}

#top #main_visual .tab_wrapper .tab .search_wrap .search_btn .btn {
  width: 160px;
  font-size: 24px;
  line-height: 24px;
  padding: 8px 0;
  text-indent: 30px;
}

#top #main_visual .tab_wrapper .tab .search_wrap .detail {
  margin: 14px 0 20px;
}

#top #main_visual .tab_wrapper .tab .search_wrap .detail a {
  color: #2AABE4;
}

#top #main_visual .tab_wrapper .tab .search_wrap .detail h3 {
  font-size: 14px;
  color: #404040;
  line-height: 20px;
  display: inline-block;
  margin-right: 10px;
}

#top #main_visual .tab_wrapper .tab .search_wrap .detail .tag_wrap {
  display: inline-block;
}

#top #main_visual .introduction .intro_box .regist {
  padding: 30px 0;
  text-align: center;
  background: #fffef2
  ;
}

#top #main_visual .introduction .intro_box .regist h2 {
  display: inline-block;
  position: relative;
  font-size: 18px;
  line-height: 18px;
  margin-bottom: 22px;
}

#top #main_visual .introduction .intro_box .regist h2::before, #top #main_visual .introduction .intro_box .regist h2::after {
  content: " ";
  position: absolute;
  width: 1px;
  height: 30px;
  background: #E50113;
  top: -3px;
}

#top #main_visual .introduction .intro_box .regist h2::before {
  left: -21px;
  -webkit-transform: rotate(-30deg);
  -moz-transform: rotate(-30deg);
  -ms-transform: rotate(-30deg);
  rotation: -30deg;
}

#top #main_visual .introduction .intro_box .regist h2::after {
  right: -21px;
  -webkit-transform: rotate(30deg);
  -moz-transform: rotate(30deg);
  -ms-transform: rotate(30deg);
  rotation: 30deg;
}

#top #main_visual .introduction .intro_box .regist .login {
  margin: 30px 0 0 0;
  line-height: 14px;
  font-size: 12px;
}

#top #main_visual .introduction .intro_box .regist .login a {
  font-size: 14px;
  margin-left: 6px;
  color: #2AABE4;
}

#top #main_visual .introduction .intro_box .description {
  padding: 30px 0;
  border-top: 1px solid #D4D4D4;
  text-align: center;
}

#top #main_visual .introduction .intro_box .description h3 {
  font-size: 16px;
  float: left;
  width: 132px;
  color: #404040;
  margin: 26px 0 0 26px;
}

#top #main_visual .introduction .intro_box .description ul {
  float: left;
}

#top #main_visual .introduction .intro_box .description ul li {
  float: left;
  width: 151px;
  margin: 0 7px;
}

#top #main_visual .introduction .intro_box .description ul li h4 {
  margin-top: 4px;
  font-size: 12px;
  line-height: 32px;
}

#top #main_visual .introduction .intro_box .description ul li h4.twoline {
  line-height: 16px;
}

#top .feature .box {
  float: left;
  margin: 0 20px 20px 0;
  background: #fff;
}

#top .feature .box:nth-child(2n) {
  margin-right: 0;
}

#top .feature .box a:hover {
  opacity: 0.8;
}

#top .feature .box a:hover img {
  opacity: 1;
}

#top .feature .box a:hover .text, #top .feature .box a:hover .title {
  text-decoration: none;
}

#top .feature .slick .slick-arrow {
  visibility: hidden;
}

/*#top .btm_bnr {
  background: url(../img/build/btm_bnr_bg.png) repeat 0 0;
  padding: 40px 0;
}*/

#top .btm_bnr .bnr {
  width: 785px;
  background: #fff;
  padding: 1px;
}

#top .btm_bnr .bnr .ph {
  float: right;
  width: 221px;
  height: 156px;
}

#top .btm_bnr .bnr .information {
  float: left;
  width: 564px;
}

#top .btm_bnr .bnr .information h3 {
  font-size: 16px;
  line-height: 16px;
  color: #404040;
  font-weight: bold;
  padding: 20px 0 16px;
  text-align: center;
  -webkit-transition-duration: 250ms;
  -ms-transition-duration: 250ms;
  transition-duration: 250ms;
  -webkit-transition-property: opacity;
  -ms-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-timing-function: ease;
  -ms-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0;
  -ms-transition-delay: 0;
  transition-delay: 0;
  opacity: 1;
}

#top .btm_bnr .bnr .information h3 em {
  display: block;
  font-size: 24px;
  line-height: 36px;
  color: #2AABE4;
  font-style: normal;
}

#top .btm_bnr .bnr .information .btn_box {
  background: #F2FBFF;
  padding: 14px 0;
  text-align: center;
}

#top .btm_bnr .bnr .information .btn_box .btn {
  width: 265px;
  font-size: 14px;
  padding: 8px;
}

#top .btm_bnr a:hover h3, #top .btm_bnr a:hover img {
  opacity: 0.8 !important;
}

#top .btm_bnr a:hover .btn {
  border-color: #2AABE4;
}

/* ----------------------------------------------------------------------------
   events
---------------------------------------------------------------------------- */
.search_meta {
  margin-bottom: 20px;
  font-size: 12px;
  line-height: 16px;
  vertical-align: baseline;
}

.search_meta .area {
  float: left;
}

.search_meta .num {
  float: right;
}

.search_meta em {
  font-style: normal;
  font-size: 16px;
  font-weight: bold;
  margin: 0 6px;
}

.events.detail {
  background: #fff;
  margin-bottom: 60px;
}

.events.detail .basic .info .date .title {
  margin-bottom: 15px;
}

.events.detail .basic .info li {
  margin-bottom: 6px;
}

.events.detail .basic .info li h5 {
  display: inline-block;
  margin-right: 6px;
}

.events.detail .access .map {
  float: left;
  width: 365px;
  height: 260px;
}

.events.detail .access .info {
  float: right;
  width: 335px;
}

.events.detail .access .access_data {
  margin-bottom: 20px;
}

.events.detail .twitter_box {
  padding: 14px 24px;
  border: 1px solid #D4D4D4;
  background: #F2FBFF;
}

.events.detail .twitter_box .description {
  text-align: center;
  width: 380px;
  float: left;
}

.events.detail .twitter_box .description .title {
  position: relative;
  display: inline-block;
  color: #55ACEE;
  font-size: 16px;
  line-height: 28px;
  padding-left: 28px;
}

.events.detail .twitter_box .description .title svg.icon {
  position: absolute;
  top: 0;
  left: 0;
  fill: #55ACEE;
  width: 30px;
  height: 30px;
}

.events.detail .twitter_box .btn_box {
  float: right;
  margin-top: 8px;
}

.events.detail .participant .company_list {
  border-top: 1px solid #D4D4D4;
}

.events.detail .participant .company_list li {
  border-bottom: 1px solid #D4D4D4;
  border-right: 1px solid #D4D4D4;
  padding-top: 20px;
  padding-left: 18px;
  padding-right: 18px;
  float: left;
}

.events.detail .participant .company_list li.type1.noimg {
  padding-top: 0;
}

.events.detail .participant .company_list li:nth-child(3n) {
  border-right: none;
}

.events.detail .participant .more {
  width: 520px;
  margin: 0 auto;
}

.events.detail .area_info .table_box table th, .events.detail .area_info .table_box table td {
  padding: 20px;
}

.events.detail .area_info .table_box table th {
  width: 130px;
  vertical-align: middle;
}

.events.detail .privilege li {
  margin-bottom: 25px;
}

.events.detail .privilege li:last-child {
  margin-bottom: 30px;
}

.events.detail .privilege li h5.title {
  float: left;
  font-size: 14px;
  line-height: 18px;
  color: #404040;
  padding-left: 10px;
  border-left: 4px solid #2AABE4;
  margin-top: 4px;
}

.events.detail .privilege li .description {
  margin-left: 94px;
}

.events.detail .privilege li .description .catch {
  font-size: 18px;
  line-height: 24px;
  color: #404040;
  margin-bottom: 6px;
}

.events.detail .privilege li .description .catch em {
  font-style: normal;
  color: #E50113;
}

.events.detail .reserve {
  background: #fffef2;
  padding: 20px 20px 30px 20px;
  text-align: center;
}

.events.detail .reserve .title {
  position: relative;
  font-size: 18px;
  line-height: 32px;
  color: #2AABE4;
  display: inline-block;
  padding-left: 38px;
}

.events.detail .reserve .title svg.icon {
  position: absolute;
  width: 40px;
  height: 40px;
  left: 0;
  top: -4px;
}

.events.detail .reserve .text {
  width: 410px;
  margin: 5px auto 20px auto;
}

.events.detail .entrycard .btn_box .check {
  float: left;
}

.events.detail .entrycard .btn_box .print {
  float: right;
}

/* ----------------------------------------------------------------------------
    complete
---------------------------------------------------------------------------- */
#form .message {
  text-align: center;
  margin-bottom: 40px;
}

#form .message .sec_title {
  padding-top: 15px;
  padding-bottom: 5px;
}

.aptitude_bnr {
  text-align: center;
  background: #fff;
  padding: 1px;
}

.aptitude_bnr > a {
  display: block;
}

.aptitude_bnr > a:hover {
  text-decoration: none;
  opacity: 0.8;
}

.aptitude_bnr > a:hover .btn.blue {
  color: #fff;
  background-color: #2AABE4;
}

.aptitude_bnr > a:hover .btn.blue.arw::after {
  color: #fff;
}

.aptitude_bnr .title {
  color: #404040;
}

.aptitude_bnr .catch {
  background: #2AABE4;
  color: #fff;
  padding: 4px;
}

.aptitude_bnr .description {
  float: left;
  width: 494px;
  padding-bottom: 15px;
}

.aptitude_bnr .bnr_title {
  font-size: 40px;
  line-height: 1;
  margin: 20px 0 12px 0;
  letter-spacing: 2px;
  padding-left: 40px;
  display: inline-block;
}

.aptitude_bnr .bnr_title::before {
  font-size: 35px;
  color: #2AABE4;
  margin-top: -17px;
}

.aptitude_bnr .btn_area {
  float: right;
  width: 289px;
  background: #F2FBFF;
  padding: 30px 0 25px 0;
}

.aptitude_bnr .btn_catch {
  display: inline-block;
  position: relative;
  margin-bottom: 10px;
}

.aptitude_bnr .btn_catch::before, .aptitude_bnr .btn_catch::after {
  content: " ";
  position: absolute;
  width: 1px;
  height: 20px;
  background: #404040;
  top: 1px;
}

.aptitude_bnr .btn_catch::before {
  left: -16px;
  -webkit-transform: rotate(-30deg);
  -moz-transform: rotate(-30deg);
  -ms-transform: rotate(-30deg);
  rotation: -30deg;
}

.aptitude_bnr .btn_catch::after {
  right: -16px;
  -webkit-transform: rotate(30deg);
  -moz-transform: rotate(30deg);
  -ms-transform: rotate(30deg);
  rotation: 30deg;
}

/* ----------------------------------------------------------------------------
    modal
---------------------------------------------------------------------------- */
.modal_login {
  border-top: 2px solid #2AABE4;
  width: 520px;
  background: #fff;
  padding: 20px;
  /*height: 435px;
  overflow-y: scroll;*/
}
@media screen and (max-width: 767px) {
    .modal_login {
        height: auto;
    }
}

.modal_login .title {
  color: #404040;
}

.modal_login .login_box {
  padding: 20px 40px 5px 40px;
}

.modal_login .login_box .login_input .title {
  font-weight: bold;
  margin-bottom: 5px;
}

.modal_login .login_box .login_input input[type="text"] {
  width: 400px;
  margin-bottom: 15px;
}

.modal_login .login_box .login_btn {
  text-align: center;
  margin-bottom: 25px;
}

.modal_login .login_box .password {
  text-align: center;
}

.modal_login .login_box .password a {
  color: #2AABE4;
}

.modal_select_box {
  width: 746px;
  background: none;
}

.modal_school .syllabary {
  padding: 15px 25px;
}

.modal_school .syllabary table tr, .modal_school .syllabary table td {
  border: none !important;
}

.modal_school .syllabary table td {
  padding: 5px 10px;
}

.modal_school .syllabary table td .btn {
  width: 48px;
  font-size: 24px;
  line-height: 24px;
  border-width: 1px;
  padding: 13px 0;
  margin: 0;
}

.modal_countrycode .modal_list li a span {
  margin-left: 0.6em;
  font-size: 14px;
  vertical-align: top;
}

/* ----------------------------------------------------------------------------
   IE FIX
---------------------------------------------------------------------------- */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  #top #main_visual .tab_wrapper .tab .search_wrap select:not(:target) {
    padding-top: 12px;
    padding-bottom: 5px;
  }
}

/*  Responsive
/* ----------------------------------------------------------------------------
    Common
---------------------------------------------------------------------------- */
.sp {
  display: none !important;
}

@media screen and (max-width: 767px) {
  #header #header_upper #logo {
    padding-left:0%;
  }
  .sp {
    display: inherit !important;
  }
  .pc {
    display: none !important;
  }
  .fade_in {
    opacity: 1;
  }
  .fade_in.show {
    opacity: 1;
    animation-name: none;
    -moz-animation-name: none;
    -webkit-animation-name: none;
    -ms-animation-name: none;
  }
  body {
    min-width: 0;
    overflow: hidden;
  }
  #all_wrapper .inner {
    width: auto;
  }
  #all_wrapper.modal {
    position: fixed;
    height: 100%;
    width: 100%;
    top: 80px;
  }
  #all_wrapper.modal .modal_content {
    overflow: visible;
  }
  .main_col {
    width: auto;
    float: none;
    margin-bottom: 40px;
  }
  .side_col {
    width: auto;
    float: none;
    margin-bottom: 0;
  }
  .side_col .sideitem {
    margin-bottom: 30px;
  }
  .single_col {
    width: auto;
  }
  .col_wrap {
    margin-bottom: 60px;
  }
  /* ----------------------------------------------------------------------------
    input
---------------------------------------------------------------------------- */
  input[type="text"] {
    padding: 10px 18px;
  }
  .select_wrap {
    border: 2px solid #2AABE4;
    border-radius: 3px;
    width: 46%;
  }
  .select_wrap select {
    font-size: 18px;
    padding-top: 16px;
    padding-bottom: 16px;
    width: 100%;
  }
  .radio_item span, .checkbox_item span {
    padding: 0 0 0 30px;
  }
  .radio_item::after, .radio_item::before, .checkbox_item::after, .checkbox_item::before {
    top: 13px;
  }
  /* ----------------------------------------------------------------------------
    header
---------------------------------------------------------------------------- */
  #header svg.icon {
    transform: scale(1.2);
  }
  #header #header_utility {
    padding: 0 10px;
  }
  #header #header_utility h2 {
    font-size: 12px;
    float: none;
  }
  #header #header_utility .navigation {
    display: none;
  }
  #header #header_upper {
    padding: 0;
  }
  #header #header_upper .logo_area {
    padding: 0 10px;
  }
  #header #header_upper #logo svg {
    width: 145px;
    height: 38px;
    margin-bottom: 6px;
  }
  #header #header_upper .area {
    width: 82px;
    top: 13px;
    left: 158px;
    visibility: visible;
    opacity: 1;
    -webkit-transition-duration: 250ms;
    -ms-transition-duration: 250ms;
    transition-duration: 250ms;
    -webkit-transition-property: opacity;
    -ms-transition-property: opacity;
    transition-property: opacity;
    -webkit-transition-timing-function: ease;
    -ms-transition-timing-function: ease;
    transition-timing-function: ease;
    -webkit-transition-delay: 0;
    -ms-transition-delay: 0;
    transition-delay: 0;
  }
  #header #header_upper .area::before {
    left: 60px;
    font-size: 14px;
    top: 10px;
  }
  #header #header_upper .area a {
    font-size: 14px;
    line-height: 32px;
    padding: 0 20px 0 12px;
  }
  #header #header_upper .area a.cr {
    max-height: 32px;
  }
  #header #header_upper .user {
    float: none;
    border-left: 0;
  }
  #header #header_upper .user .userpage {
    float: none;
    border: none;
  }
  #header #header_upper .user .utility {
    float: none;
    position: absolute;
    top: -25px;
    right: 10px;
    margin: 0 0 0 0;
  }
  #header #header_upper .user .utility .username {
    font-size: 12px;
    line-height: 24px;
    color: #fff;
  }
  #header #header_upper .user .utility .username a {
    color: #fff;
  }
  #header #header_upper .user .utility .link {
    display: none;
  }
  #header #header_upper .login {
    display: none;
  }
  #header #header_bottom {
    display: none;
  }
  #header #sp_global_menu {
    width: 100%;
    position: absolute;
    background: #F4F4F4;
    z-index: 9;
    top: 84px;
    left: 0;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    -webkit-transition-duration: 500ms;
    -ms-transition-duration: 500ms;
    transition-duration: 500ms;
    -webkit-transition-property: max-height opacity;
    -ms-transition-property: max-height opacity;
    transition-property: max-height opacity;
    -webkit-transition-timing-function: ease;
    -ms-transition-timing-function: ease;
    transition-timing-function: ease;
    -webkit-transition-delay: 0;
    -ms-transition-delay: 0;
    transition-delay: 0;
  }
  #header #header_upper .nav_title, #header #sp_global_menu .nav_title {
    font-size: 16px;
    line-height: 30px;
    padding: 0 14px;
    background: #F4F4F4;
    border-top: 1px solid #D4D4D4;
  }
  #header #header_upper ul.double, #header #sp_global_menu ul.double {
    width: 100%;
    display: table;
    border-top: 1px solid #D4D4D4;
    border-bottom: 1px solid #D4D4D4;
    background: #fff;
  }
  #header #header_upper ul.double.nav, #header #sp_global_menu ul.double.nav {
    border: none;
  }
  #header #header_upper ul.double.nav li, #header #sp_global_menu ul.double.nav li {
    border-right-color: #F4F4F4;
  }
  #header #header_upper ul.double.nav li a, #header #sp_global_menu ul.double.nav li a {
    padding: 21px 0 22px 0;
  }
  #header #header_upper ul.double li, #header #sp_global_menu ul.double li {
    width: 50%;
    display: table-cell;
    float: none;
  }
  #header #header_upper ul.double li:last-child, #header #sp_global_menu ul.double li:last-child {
    border-right: none !important;
  }
  #header #header_upper ul.double li a, #header #sp_global_menu ul.double li a {
    width: auto;
    font-size: 16px;
    padding: 6px 0 7px 0;
  }
  #header #header_upper ul.double li a .num, #header #sp_global_menu ul.double li a .num {
    width: 26px;
    line-height: 26px;
    font-size: 11px;
  }
  #header #header_upper ul.double li .bln, #header #sp_global_menu ul.double li .bln {
    display: none;
  }
  #header #header_upper ul.list li, #header #sp_global_menu ul.list li {
    float: none;
    border-right: none;
  }
  #header #header_upper ul.list li a, #header #sp_global_menu ul.list li a {
    width: auto;
    font-size: 16px;
    line-height: 32px;
    display: block;
    text-align: left;
    padding: 14px 16px 14px 56px;
    position: relative;
    color: #000000;
  }
  #header #header_upper ul.list li a svg.icon, #header #sp_global_menu ul.list li a svg.icon {
    transform: scale(0.8);
    position: absolute;
    left: 15px;
    top: 10px;
  }
  #header #header_upper ul.list li a.science svg.icon, #header #sp_global_menu ul.list li a.science svg.icon {
    transform: scale(0.9);
  }
  #header #header_upper ul.list li a.recommend svg.icon, #header #sp_global_menu ul.list li a.recommend svg.icon {
    transform: scale(1);
  }
  #header #header_upper ul.list.gray, #header #sp_global_menu ul.list.gray {
    background: #F4F4F4;
  }
  #header #header_upper ul.list.gray a, #header #sp_global_menu ul.list.gray a {
    padding: 4px 16px;
    font-size: 14px;
    font-weight: normal;
    color: #404040;
  }
  #header #header_upper .other, #header #sp_global_menu .other {
    border-top: 1px solid #D4D4D4;
  }
  #header #header_upper .favorite, #header #sp_global_menu .favorite {
    border-top: 1px solid #F4F4F4;
    font-size: 13px;
    line-height: 36px;
    padding: 0 14px 0 40px;
    position: relative;
    background: #fff;
  }
  #header #header_upper .favorite svg.icon, #header #sp_global_menu .favorite svg.icon {
    position: absolute;
    transform: scale(1);
    top: 7px;
    left: 14px;
    width: 20px;
    height: 20px;
  }
  #header #header_upper .favorite a, #header #sp_global_menu .favorite a {
    color: #2AABE4;
    padding-left: 12px;
  }
  #header #sp_menu_btn_area {
    position: absolute;
    top: 7px;
    right: 0;
  }
  #header #sp_menu_btn_area a {
    width: 45px;
    height: 45px;
    display: inline-block;
    float: left;
    text-align: center;
    position: relative;
    margin-right: 10px;
  }
  #header #sp_menu_btn_area a svg.icon {
    transform: scale(1.1);
    position: absolute;
    top: -7px;
    left: 50%;
    margin-left: -20px;
  }
  #header #sp_menu_btn_area a.top {
    margin-right: 14px;
    visibility: hidden;
    opacity: 0;
    -webkit-transition-duration: 250ms;
    -ms-transition-duration: 250ms;
    transition-duration: 250ms;
    -webkit-transition-property: opacity;
    -ms-transition-property: opacity;
    transition-property: opacity;
    -webkit-transition-timing-function: ease;
    -ms-transition-timing-function: ease;
    transition-timing-function: ease;
    -webkit-transition-delay: 0;
    -ms-transition-delay: 0;
    transition-delay: 0;
  }
  #header #sp_menu_btn_area a.top span {
    padding-top: 28px;
    display: block;
    font-size: 13px;
    font-weight: bold;
  }
  #header #sp_menu_btn_area a.menu {
    border: 1px solid #D4D4D4;
    border-radius: 3px;
    font-size: 0;
    position: relative;
  }
  #header #sp_menu_btn_area a.menu::before {
    font-family: 'gakujoIcon';
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    vertical-align: middle;
    position: absolute;
    content: '\E908';
    font-size: 19px;
    top: 50%;
    right: 9px;
    margin-top: -11px;
    line-height: 1;
    text-decoration: none !important;
  }
  #header.open_menu {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 99;
    width: 100%;
    height: 100%;
    overflow: scroll;
  }
  #header.open_menu #header_upper .area {
    visibility: hidden;
    opacity: 0;
  }
  #header.open_menu #sp_global_menu {
    max-height: 730px;
    height: 730px;
    opacity: 1;
  }
  #header.open_menu #sp_menu_btn_area a.top {
    visibility: visible;
    opacity: 1;
  }
  #header.open_menu #sp_menu_btn_area a.menu::before {
    content: '\E907';
    font-size: 21px;
    right: 12px;
    margin-top: -12px;
  }
  #all.lower #header #header_upper .user {
    display: none;
  }
  /* ----------------------------------------------------------------------------
    footer
---------------------------------------------------------------------------- */
  #to_pagetop.detail_page.prepare.scroll,
  #to_pagetop.index_prepare.prepare.scroll,
  #to_pagetop.events_prepare.prepare.scroll {
    display: none;
  }
  #to_pagetop a {
    position: relative;
    width: auto;
    box-shadow: none;
    border-top: 1px solid #D4D4D4;
  }
  #footer {
    border-top: 1px solid #D4D4D4;
    box-shadow: none;
  }
  #footer .navigation, #footer .recruiter {
    display: none !important;
  }
  #footer .bottom .logo {
    display: none;
  }
  #footer .bottom .logo.gakujo {
    display: block;
    text-align: center;
    margin: 20px 0;
  }
  #footer .bottom .copyright {
    display: block;
    text-align: center;
    font-size: 12px;
    line-height: 18px;
    margin-left: 0px;
  }
  #footer .bottom .user {
    display: none;
  }
  #footer .utility {
    text-align: center;
  }
  #footer .utility .arrow {
    font-size: 14px;
  }
  #footer .utility .arrow a {
    color: #2AABE4;
  }
  /* ----------------------------------------------------------------------------
    breadcrumb
---------------------------------------------------------------------------- */
  .breadcrumb {
    display: none;
    margin-left: 10px;
    margin-right: 10px;
  }
  /* ----------------------------------------------------------------------------
    .btn
---------------------------------------------------------------------------- */
  .btn {
    border-width: 1px;
    padding-top: 14px;
    padding-bottom: 14px;
  }
  .btn.icon svg {
    left: 50%;
    margin-left: -60px;
  }
  .btn.arw::after {
    right: 7%;
  }
  .btn.orange {
    box-shadow: 0px 4px 0px 0px #ca7638;
  }
  .btn.orange.text_l {
    font-size: 22px;
  }
  .btn.wide {
    width: auto;
    display: block;
    margin-left: 20px;
    margin-right: 20px;
  }
  .btn.twitter, .btn.facebook {
    text-align: center;
  }
  .btn.twitter svg, .btn.facebook svg {
    margin-left: -40%;
  }
  .btn.non_active.gray.text_l {
    font-size: 20px;
    line-height: 20px;
  }
  .bnr_btn .btn {
    font-size: 18px;
    line-height: 22px;
    padding-top: 18px;
    padding-bottom: 18px;
  }
  .bnr_btn .btn.icon svg {
    top: 50%;
    margin-top: -20px;
    margin-left: -5em;
  }
  /* ----------------------------------------------------------------------------
    .card
---------------------------------------------------------------------------- */
  .card {
    margin-top: 35px;
  }
  .card .limited {
    position: absolute;
    font-size: 12px;
    line-height: 12px;
    border-radius: 0;
    transform: rotate(0);
    width: auto;
    padding: 2px 8px;
    top: -23px;
    left: 0;
  }
  .card .limited br {
    display: none;
  }
  .card .limited span {
    display: inline;
    font-size: 12px;
    line-height: 18px;
  }
  .card .ph {
    width: 42%;
  }
  .card .title_area {
    width: 57%;
    float: left;
    margin-left: 0;
    margin-right: 0;
    padding: 0;
  }
  .card .title_area .inner {
    padding: 0;
    /*padding: 15px 15px 0 15px;*/
  }
  .card .title_area .meta.area {
    position: relative;
  }
  .card .text, .card .action, .card .table {
    clear: both;
    width: auto;
    height: auto;
    margin-left: 18px;
    margin-right: 18px;
    float: none;
  }
  .card .text {
    padding-top: 15px;
    padding-bottom: 5px;
    min-height: auto;
  }
  .card .action .btn {
    width: 42%;
    margin-right: 3%;
  }
  .card.type1 .title_area {
    padding-top: 0;
  }
  .card.type1 .action {
    padding-bottom: 20px;
  }
  .card.type2 {
    margin-top: 0;
  }
  .card.type2 .title_area {
    padding-top: 20px;
  }
  .card.type2 .table {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .card.type2 .table th {
    width: 3.5em;
  }
  .card.type2 .action .btn.orange {
    padding: 11px 8px;
    letter-spacing: -1px;
  }
  /* ----------------------------------------------------------------------------
    box
---------------------------------------------------------------------------- */
  .box.padding {
    padding-left: 20px;
    padding-right: 20px;
  }
  .box.padding.pt {
    padding-top: 20px;
  }
  .box.padding.pb {
    padding-bottom: 20px;
  }
  .box.padding .btn.wide {
    margin-left: 0;
    margin-right: 0;
  }
  .box.type1 {
    width: auto;
    border-right: none;
    display: block;
  }
  .box.type1::after {
    content: "";
    clear: both;
    display: block;
  }
  .box.type1 .ph {
    width: 140px;
    float: left;
    margin-bottom: 20px;
  }
  .box.type1 .information {
    width: auto;
    padding-top: 0;
    margin-left: 150px;
  }
  .box.type1.noimg .information {
    margin-top: 20px;
    margin-left: 10px;
  }
  .box.type2 .ph img {
    width: 80px;
  }
  .box.type2 .information {
    width: auto;
    margin-left: 80px;
    float: none;
  }
  .box.type2 .information .title {
    font-size: 16px;
  }
  .box.type2 .information .text {
    font-size: 12px;
    line-height: 1.5;
  }
  .box.type3 {
    width: 181px;
    position: relative;
    z-index: 1;
  }
  .box.type3 .ph {
    float: none;
  }
  .box.type3 .information {
    width: 151px;
    padding: 15px;
    float: none;
  }
  .box.type4.padding, .box.type5.padding, .box.type6.padding {
    padding: 20px;
  }
  .box.type4 .ph {
    float: left;
    width: 144px;
  }
  .box.type4 .title_area {
    width: auto;
    margin-left: 164px;
    padding: 0;
  }
  .box.type4 .information {
    clear: both;
    width: auto;
    margin-left: 0;
    padding: 20px 20px 0 0;
  }
  .box.type6 .ph, .box.type6 .information {
    float: none;
    width: auto;
    padding: 0;
  }
  .box.type6 .ph img, .box.type6 .information img {
    width: 100%;
  }
  .box.type6 .ph {
    margin: 10px 0 20px;
    text-align: center;
  }
  /* ----------------------------------------------------------------------------
    sec
---------------------------------------------------------------------------- */
  .sec .sub_title {
    margin: 0 18px;
    color: #404040;
    font-size: 14px;
    line-height: 20px;
  }
  /* ----------------------------------------------------------------------------
    title
---------------------------------------------------------------------------- */
  .sec_title .note, .sec_title .update {
    position: relative;
    display: block;
    font-size: 11px;
    line-height: 14px;
    padding: 0 20px;
    text-align: left;
    float: none;
    margin: 0;
    color: #404040;
  }
  .sec_title .note {
    padding-top: 12px;
    border-top: 1px solid #D4D4D4;
  }
  .sec_title .update {
    padding-bottom: 12px;
  }
  /* ----------------------------------------------------------------------------
    list
---------------------------------------------------------------------------- */
  .list li {
    width: 100%;
    font-size: 14px;
  }
  .list li a {
    padding: 13px 28px 13px 20px;
  }
  .list li a .tag {
    white-space: nowrap;
  }
  .list li a .time {
    margin-left: 0;
  }
  .list li.tag_wrap {
    display: table;
  }
  .list li.tag_wrap p {
    display: table-cell;
    vertical-align: middle;
  }
  .list li.tag_wrap .news {
    width: 80%;
  }
  .list li.arw::after {
    right: 12px;
  }
  .list .action {
    padding-left: 0;
    padding-right: 0;
  }
  .list .action .btn {
    margin-bottom: 20px;
  }
  .list .action .btn:last-child {
    margin-bottom: 0;
  }
  .list .action .text {
    text-align: left;
    margin-left: 20px;
    margin-right: 20px;
  }
  .list.ranking.cont .title {
    line-height: 44px;
  }
  .list.ranking.cont .title.twoline {
    line-height: 22px;
  }
  /* ----------------------------------------------------------------------------
    pager
---------------------------------------------------------------------------- */
  .pager {
    margin-left: 20px;
    margin-right: 20px;
  }
  .pager a, .pager span {
    border-width: 1px;
  }
  .pager .prev {
    float: left;
  }
  .pager .next {
    float: right;
  }
  /* ----------------------------------------------------------------------------
    side_col
---------------------------------------------------------------------------- */
  .side_col .list a:not(.btn) {
    font-size: 14px;
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .side_col .list a:not(.btn) .title {
    font-size: 16px;
  }
  .side_col .list a:not(.btn) .description {
    font-size: 14px;
  }
  .side_col .list .arw:not(.btn)::after {
    font-size: 16px;
    margin-top: -8px;
    right: 12px;
  }
  .side_col .account .sec_box .text {
    margin-left: 20px;
    text-align: left;
  }
  .side_col .app .information {
    padding-top: 6px !important;
  }
  .side_col .app .information .title {
    font-size: 16px;
  }
  .side_col .app .information .text {
    font-size: 14px;
  }
  .side_col .app .app_btns {
    display: table;
    width: 100%;
  }
  .side_col .app .app_btns p {
    display: table-cell;
    width: 50%;
  }
  .side_col .app .app_btns p a {
    display: block;
    margin-right: 8px;
  }
  .side_col .app .app_btns p:last-child a {
    margin-right: 0;
    margin-left: 8px;
  }
  .side_col .list .box.type2 .information {
    width: auto;
  }
  .side_col .usage .box.type2 .ph img {
    width: 60px;
  }
  .side_col .usage .box.type2 .information {
    width: auto;
    margin-left: 0;
  }
  .side_col .recommend .arw::after {
    content: none;
  }
  .side_col .recommend .ph {
    float: left;
    width: 157px;
  }
  .side_col .recommend .description {
    margin-bottom: 5px;
  }
  .side_col .recommend .information {
    width: auto;
    margin-left: 167px;
  }
  .side_col .recommend.list li a {
    padding-bottom: 0px;
  }
  /* ----------------------------------------------------------------------------
    bnr
---------------------------------------------------------------------------- */
  .bln_wrap:not(.follow):hover .bln {
    display: none;
  }
  .bln_wrap:not(.follow):hover {
    padding-top: 0;
    margin-top: 0;
  }
  /* ----------------------------------------------------------------------------
    bnr
---------------------------------------------------------------------------- */
  .bnr {
    margin-right: 10px;
    margin-left: 10px;
  }
  .bnr img {
    max-width: none;
    width: 100%;
  }
  /* ----------------------------------------------------------------------------
    #top
---------------------------------------------------------------------------- */
  #top .main_col {
    margin-bottom: 0;
  }
  #top #main_visual .visual {
    min-height: 0;
  }
  #top #main_visual .main_shadow {
    background: url(../img/build/sp_main_shadow.png) repeat-y 0 0;
    bottom: auto;
    top: 0;
    height: 100%;
    background-size: 80% 100%;
  }
  #top #main_visual .content {
    position: relative;
    height: auto;
    top: -6px;
  }
  #top #main_visual .inner {
    position: relative;
    left: 0;
    height: auto;
    margin-left: 0;
  }
  #top #main_visual #main_visual_tab {
    height: auto;
    position: relative;
    top: 0;
  }
  #top #main_visual #main_visual_tab .tab {
    width: auto;
    left: 0;
    box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.1);
  }
  #top #main_visual .tab_wrapper .tab_menu {
    padding: 0;
  }
  #top #main_visual .tab_wrapper .tab_menu .menu {
    width: 50%;
    margin-left: 0;
  }
  #top #main_visual .tab_wrapper .tab_menu .menu a {
    width: auto;
    font-size: 16px;
    padding: 14px 0 17px 0;
    margin: 6px 0 0 0;
  }
  #top #main_visual .tab_wrapper .tab_menu .menu a:hover {
    padding: 18px 0;
  }
  #top #main_visual .tab_wrapper .tab_menu .menu.cr a {
    font-size: 16px;
    padding: 18px 0;
  }
  #top #main_visual .tab_wrapper .tab_menu .menu.cr a:hover {
    padding: 18px 0;
  }
  #top #main_visual .tab_wrapper .tab_menu .menu .bln {
    display: none !important;
  }
  #top #main_visual .tab_wrapper .tab .search_wrap {
    padding: 18px 10px 0 10px;
  }
  #top #main_visual .tab_wrapper .tab .search_wrap .search_btn {
    float: none;
    top: 0;
  }
  #top #main_visual .tab_wrapper .tab .search_wrap .search_btn .icon {
    top: 4px;
    left: 50%;
    margin-left: -40px;
    transform: scale(0.9);
  }
  #top #main_visual .tab_wrapper .tab .search_wrap .search_btn .btn {
    font-size: 22px;
    line-height: 22px;
    padding: 9px 0;
    text-indent: 24px;
    width: 100%;
  }
  #top #main_visual .tab_wrapper .tab .search_wrap .search_btn.keyword {
    top: 0;
    width: 35%;
    float: right;
  }
  #top #main_visual .tab_wrapper .tab .search_wrap .title {
    float: left;
    line-height: 16px;
  }
  #top #main_visual .tab_wrapper .tab .search_wrap .search_num {
    float: right;
    color: #E50113;
    font-size: 12px;
    line-height: 16px;
    font-weight: bold;
    margin-bottom: 8px;
  }
  #top #main_visual .tab_wrapper .tab .search_wrap .search_num em {
    font-style: normal;
    font-size: 16px;
  }
  #top #main_visual .tab_wrapper .tab .search_wrap .condition {
    border: none;
    float: none;
    margin-bottom: 14px;
  }
  #top #main_visual .tab_wrapper .tab .search_wrap .detail {
    margin: 20px 0 14px;
    text-align: center;
  }
  #top #main_visual .tab_wrapper .tab .search_wrap .detail h3 {
    display: block;
    text-align: left;
    line-height: 24px;
  }
  #top #main_visual .tab_wrapper .tab .search_wrap .detail .tag_wrap {
    display: block;
    text-align: left;
    line-height: 28px;
  }
  #top #main_visual .tab_wrapper .tab .search_wrap input[type="text"] {
    width: 50%;
  }
  #top #main_visual .tab_wrapper .tab .search_wrap .select_wrap {
    width: 46%;
  }
  #top #main_visual .tab_wrapper .tab .search_wrap .select_wrap select {
    width: 100%;
  }
  #top #main_visual .tab_wrapper .tab .search_wrap .select_wrap:nth-child(1) {
    width: auto;
    display: block;
    margin-bottom: 16px;
  }
  #top #main_visual .tab_wrapper .tab .search_wrap .select_wrap:nth-child(2) {
    float: left;
  }
  #top #main_visual .tab_wrapper .tab .search_wrap .select_wrap:nth-child(3) {
    float: right;
    border-right: 2px solid #2AABE4;
  }
  #top #main_visual .catch {
    position: absolute;
    width: 100%;
    height: 64px;
    top: 50%;
    left: 30px;
    margin-top: -32px;
    font-size: 24px;
    line-height: 32px;
    z-index: 2;
  }
  #top #main_visual .introduction {
    position: relative;
    height: auto;
    top: 0;
  }
  #top #main_visual .introduction .intro_box {
    width: auto;
    box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.1);
    top: 0;
    left: 0;
  }
  #top #main_visual .introduction .intro_box .regist {
    padding: 20px 0;
  }
  #top #main_visual .introduction .intro_box .regist h2 {
    line-height: 24px;
  }
  #top #main_visual .introduction .intro_box .regist h2::before, #top #main_visual .introduction .intro_box .regist h2::after {
    height: 33px;
    top: 10px;
  }
  #top #main_visual .introduction .intro_box .regist .login_btn .pass a {
    color: #2AABE4;
  }
  #top #main_visual .introduction .intro_box .description {
    padding: 20px 0;
    border-top: none;
  }
  #top #main_visual .introduction .intro_box .description h3 {
    margin: 0 0 20px 0;
    float: none;
    width: auto;
    font-size: 18px;
    line-height: 1;
  }
  #top #main_visual .introduction .intro_box .description ul {
    float: none;
    margin-bottom: 10px;
  }
  #top #main_visual .introduction .intro_box .description ul li {
    margin: 0;
    width: 50%;
  }
  #top #main_visual .introduction .intro_box .description ul li h4 {
    margin-top: 10px;
    font-size: 13px;
    line-height: 18px;
  }
  #top #main_visual .introduction .intro_box .description ul li:nth-child(1) {
    float: none;
    width: auto;
    margin-bottom: 15px;
  }
  #top .feature .slick-track {
    left: 20px;
    position: relative;
  }
  #top .feature .slick {
    position: relative;
  }
  #top .feature .slick .slick-arrow {
    visibility: visible;
    position: absolute;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 60px;
    height: 60px;
    font-size: 0;
    background: #2AABE4;
    opacity: 0.9;
    border-radius: 50%;
    padding: 0;
    border: 0;
    top: 50%;
    margin-top: -45px;
    right: -30px;
    z-index: 3;
    -webkit-transition-duration: 250ms;
    -ms-transition-duration: 250ms;
    transition-duration: 250ms;
    -webkit-transition-property: opacity;
    -ms-transition-property: opacity;
    transition-property: opacity;
    -webkit-transition-timing-function: ease;
    -ms-transition-timing-function: ease;
    transition-timing-function: ease;
    -webkit-transition-delay: 0;
    -ms-transition-delay: 0;
    transition-delay: 0;
  }
  #top .feature .slick .slick-arrow::after {
    font-family: 'gakujoIcon';
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    vertical-align: middle;
    position: absolute;
    content: '\E902';
    font-size: 16px;
    color: #fff;
    top: 50%;
    left: 9px;
    margin-top: -8px;
    line-height: 1;
    text-decoration: none !important;
    pointer-events: none;
  }
  #top .feature .slick .slick-arrow.slick-prev {
    right: auto;
    left: -30px;
  }
  #top .feature .slick .slick-arrow.slick-prev::after {
    content: '\E903';
    left: auto;
    right: 9px;
  }
  #top .feature .slick .slick-arrow.slick-disabled {
    opacity: 0;
    visibility: hidden;
  }
  #top .feature .box {
    margin: 0 0 20px 20px;
  }
  #top .btm_bnr {
    padding: 30px 0;
    background: none;
    margin: 0 10px;
  }
  #top .btm_bnr .bnr {
    width: auto;
  }
  #top .btm_bnr .bnr .ph {
    float: none;
    width: 100%;
    height: auto;
  }
  #top .btm_bnr .bnr .ph img {
    max-width: none;
    width: 100%;
  }
  #top .btm_bnr .bnr .information {
    float: none;
    width: 100%;
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -60px;
  }
  #top .btm_bnr .bnr .information h3 {
    font-size: 14px;
    line-height: 14px;
    padding: 16px 0 6px;
  }
  #top .btm_bnr .bnr .information h3 em {
    font-size: 20px;
    line-height: 28px;
  }
  #top .btm_bnr .bnr .information .btn_box {
    background: none;
    padding: 0;
  }
  #top .btm_bnr .bnr .information .btn_box .btn {
    width: 80%;
    padding: 8px 0;
  }
  #top .btm_bnr .bnr .information .btn_box .btn::after {
    right: 1%;
  }
  /* ----------------------------------------------------------------------------
    event
---------------------------------------------------------------------------- */
  .btn_menu {
    margin-bottom: 20px !important;
  }
  .btn_menu .sec_title {
    box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.1);
  }
  .btn_menu.shadow {
    box-shadow: none;
  }
  .btn_menu.sec {
    background: none;
  }
  .btn_menu .btn_box .bln_wrap {
    margin: 0;
    width: 31%;
    display: table;
    float: left;
    margin: 0 8px 10px 0;
  }
  .btn_menu .btn_box .bln_wrap:nth-child(3n) {
    margin-right: 0;
  }
  .btn_menu .btn_box .btn {
    width: auto !important;
    display: table-cell;
    padding: 6px;
    height: 46px;
    vertical-align: middle;
  }
  .btn_menu .sub_title {
    margin: 20px 10px 5px 10px;
  }
  .search_meta {
    margin-top: 40px;
    margin-left: 10px;
    margin-right: 10px;
  }
  .modal_select_default_wrap {
    clear: both;
    padding-top: 10px;
    text-align: center;
  }
  .events.detail ul.info li {
    position: relative;
  }
  .events.detail ul.info li.time, .events.detail ul.info li.place {
    padding-left: 3em;
  }
  .events.detail ul.info li.time h5, .events.detail ul.info li.place h5 {
    position: absolute;
    left: 0;
  }
  .events.detail .access .map {
    float: none;
    width: auto;
    margin-bottom: 20px;
  }
  .events.detail .access .info {
    float: none;
    width: auto;
  }
  .events.detail .access .access_data {
    margin-bottom: 0;
  }
  .events.detail .twitter_box .description, .events.detail .twitter_box .btn_box {
    float: none;
    width: auto;
  }
  .events.detail .twitter_box .btn.wide {
    margin-right: 0;
    margin-left: 0;
  }
  .events.detail .participant .company_list li {
    float: none;
    border-right: none;
  }
  .events.detail .participant .more {
    width: auto;
  }
  .events.detail .participant .more .text {
    margin-left: 20px;
    margin-right: 20px;
  }
  .events.detail .reserve .text {
    width: auto;
    margin-left: 0;
    margin-right: 0;
  }
  .events.detail .reserve .btn.wide {
    margin-left: 0;
    margin-right: 0;
  }
  .events.detail .area_info .table_box table {
    border-bottom: 1px solid #D4D4D4;
  }
  .events.detail .area_info .table_box table th, .events.detail .area_info .table_box table td {
    display: block;
    width: auto;
    padding: 10px;
    border-spacing: 0;
    border-bottom: none;
  }
  .events.detail .area_info .table_box table td {
    border-top: none;
  }
  .events.detail .area_info .table_box table tr {
    border: none;
  }
  .events.detail .privilege li h5.title {
    float: none;
    margin-top: 0;
    margin-bottom: 5px;
    width: auto;
  }
  .events.detail .privilege li .description {
    margin-left: 0;
  }
  .events.detail .entrycard .btn_box .check {
    float: none;
    margin-bottom: 20px;
  }
  .events.detail .entrycard .btn_box .print {
    float: none;
  }
  /* ----------------------------------------------------------------------------
    #fix_cv_btn
---------------------------------------------------------------------------- */
  #fix_cv_btn {
    display: none;
  }
    /* ----------------------------------------------------------------------------
      #footer_cv_btn
---------------------------------------------------------------------------- */
  #footer_cv_btn {
    height: 74px;
  }
  #footer_cv_btn .cv_btn_link {
    width: 100%;
    height: 20px;
    font-size: 22px;
    margin: 0 20px;
  }
  /* ----------------------------------------------------------------------------
    form
---------------------------------------------------------------------------- */
  .flow li {
    font-size: 12px;
    line-height: 14px;
  }
  .flow li::after {
    right: -6px;
    width: 60px;
    height: 42px;
    margin-top: -20px;
    -webkit-transform: rotate(-68deg) skew(-45deg);
    -moz-transform: rotate(-68deg) skew(-45deg);
    -ms-transform: rotate(-68deg) skew(-45deg);
    transform: rotate(-68deg) skew(-45deg);
  }
  .flow li > div {
    padding: 10px 18% 10px 0;
  }
  .flow li .title {
    line-height: 28px;
  }
  .flow li .title.twoline {
    line-height: 14px;
  }
  .flow li .title.thin {
    letter-spacing: -2px;
  }
  .flow li .step {
    font-size: 12px;
  }
  .flow li.cr .title {
    color: #fff;
  }
  .form_inputs {
    /*padding-bottom: 50px;
    margin-bottom: 60px;*/
    padding-bottom: 40px;
    margin-bottom: 0;
  }
  .form_inputs .inputs {
    padding: 30px 10px 20px 10px;
  }
  .form_inputs .inputs_title, .form_inputs .input_info {
    font-size: 12px;
    padding: 14px 28px;
    color: #404040;
    border-top: 1px solid #D4D4D4;
    border-bottom: 1px solid #D4D4D4;
  }
  .form_inputs .inputs_title {
    font-size: 16px;
    line-height: 22px;
  }
  .form_inputs .policy_box {
    margin: 0 20px 30px 20px;
  }
  .form_inputs .btn {
    width: auto !important;
    display: block;
    margin: 0;
  }
  .form_inputs .btn.wide {
    margin: 0;
  }
  .form_inputs button.btn {
    width: 100% !important;
  }
  .form_inputs .btns {
    margin: 0 20px;
  }
  .form_inputs .btns .prev {
    position: relative;
  }
  .form_inputs .selected {
    padding: 5px 0 20px;
  }
  .form_inputs .err.form_err {
    margin: 0;
    padding: 14px 28px;
    text-align: left;
    border-bottom: 1px solid #D4D4D4;
    display: none;
  }
  .form_inputs .err.form_err.invalid {
    display: block;
  }
  .form_inputs .supplemental {
    margin-bottom: 20px;
    margin-left: 10px;
    margin-right: 10px;
    padding: 15px;
    border: 1px solid #D4D4D4;
    display: block;
    width: auto;
  }
  .form_inputs .supplemental .title {
    display: block;
    width: auto;
    padding-left: 0;
  }
  .form_inputs .supplemental .content {
    display: block;
    width: auto;
    padding-right: 0;
  }
  .input_list li .select_wrap.period {
    width: 79%;
  }
  .input_list.wide li {
    width: 95%;
    margin: 5px 0;
  }
  table.input_table {
    display: block;
    border: none;
  }
  table.input_table th, table.input_table td, table.input_table tr, table.input_table tbody {
    display: block;
    width: auto;
    border: none;
    background: none;
    padding: 0;
  }
  table.input_table th, table.input_table td {
    padding: 0 10px;
  }
  table.input_table th {
    margin-bottom: 8px;
  }
  table.input_table tr {
    margin-bottom: 35px;
  }
  table.input_table input[type="text"], table.input_table input[type="password"], table.input_table input[type="email"] {
    width: 89%;
    padding: 11px 5%;
    margin-bottom: 10px;
    border: 1px solid #ADADAD;
    float: none;
  }
  table.input_table input[type="text"].wide, table.input_table input[type="password"].wide, table.input_table input[type="email"].wide {
    width: 89%;
  }
  table.input_table .select_wrap {
    border: 1px solid #ADADAD;
    border-radius: 3px;
    width: 99%;
  }
  table.input_table .select_wrap::after {
    right: 16px;
  }
  table.input_table .select_wrap select {
    font-size: 16px;
    line-height: 16px;
    padding-right: 36px;
  }
  table.input_table .zipcode input[type="text"] {
    width: 48%;
    float: left;
  }
  table.input_table .zipcode .btn {
    float: right;
    width: 29% !important;
    padding-left: 4%;
    padding-right: 4%;
    margin-left: 3%;
  }
  table.input_table .btn {
    margin: 0;
  }
  table.input_table .validate_block .input_wrap, table.input_table .validate_block .select_wrap {
    position: relative;
  }
  table.input_table .validate_block .input_wrap input[type="text"], table.input_table .validate_block .input_wrap input[type="password"], table.input_table .validate_block .input_wrap input[type="email"], table.input_table .validate_block .select_wrap input[type="text"], table.input_table .validate_block .select_wrap input[type="password"], table.input_table .validate_block .select_wrap input[type="email"] {
    float: none;
    width: 83%;
    padding: 11px 11% 11px 5%;
  }
  table.input_table .validate_block .input_wrap .block_result, table.input_table .validate_block .select_wrap .block_result {
    right: 8px;
    margin-top: -16px;
  }
  table.input_table .validate_block .input_wrap .block_result.ng, table.input_table .validate_block .select_wrap .block_result.ng {
    margin-top: -16px;
  }
  table.input_table .validate_block .input_wrap .block_result[rel="zip"], table.input_table .validate_block .select_wrap .block_result[rel="zip"] {
    right: 8px;
  }
  table.input_table .validate_block.radio_wrap .block_result {
    right: 8px;
  }
  table.input_table .validate_block .err {
    margin-bottom: 5px;
  }
  table.input_table .validate_block.zipcode .input_wrap {
    width: 59%;
    float: left;
  }
  table.input_table .validate_block.zipcode .input_wrap input[type="text"] {
    width: 72%;
    padding: 11px 18% 11px 8.5%;
  }
  table.input_table .validate_block .select_wrap {
    float: none;
    width: 87%;
    padding-left: 0;
    padding-right: 12%;
  }
  table.input_table .validate_block .select_wrap .block_result {
    margin-top: -12px;
    right: 6px;
  }
  table.input_table .validate_block .select_wrap .block_result.ng {
    margin-top: -12px;
  }
  table.input_table .validate_block .select_wrap::after {
    right: 38px;
  }
  table.input_table .validate_block .btn_wrap {
    position: relative;
  }
  table.input_table .validate_block .btn_wrap .block_result {
    margin-top: -12px;
    right: 8px;
  }
  table.input_table .validate_block .btn_wrap .block_result.ng {
    margin-top: -12px;
  }
  table.input_table .validate_block .btn_wrap .selected {
    width: 85%;
    padding-bottom: 5px;
  }
  table.input_table .validate_block .list_wrap {
    position: relative;
  }
  table.input_table .validate_block .list_wrap .input_list li.select {
    width: 48%;
  }
  table.input_table .validate_block .list_wrap .select_wrap {
    padding-right: 0;
    width: 75%;
  }
  table.input_table .validate_block .list_wrap .select_wrap::after {
    right: 8px;
  }
  table.input_table .validate_block .list_wrap .select_wrap[data-target="gra_month"] {
    width: 65%;
  }
  table.input_table .validate_block .list_wrap .block_result {
    right: 8px;
  }
  /* ----------------------------------------------------------------------------
    complete
---------------------------------------------------------------------------- */
  #form .message {
    padding-bottom: 10px;
  }
  #form .text {
    text-align: left;
  }
  .aptitude_bnr {
    margin: 0 10px;
  }
  .aptitude_bnr .catch {
    background: none;
    color: #404040;
    font-size: 18px;
    padding: 15px 0 0 0;
  }
  .aptitude_bnr .bnr_title {
    margin: 5px 0 10px 0;
  }
  .aptitude_bnr .band {
    background: #F2FBFF;
    color: #2AABE4;
    font-size: 16px;
    font-weight: bold;
    line-height: 36px;
  }
  .aptitude_bnr .band .arrow {
    padding: 0 25px;
  }
  .aptitude_bnr .band .arrow::after {
    font-size: 16px;
    margin-top: -8px;
  }
  /* ----------------------------------------------------------------------------
    modal
---------------------------------------------------------------------------- */
  .modal_wrapper {
    margin-top: 0;
    width: 100%;
    height: 100%;
  }
  .modal_content {
    position: absolute;
    overflow: scroll;
    width: 90%;
    height: 80%;
    padding: 0;
    z-index: 105;
    margin: 0 5%;
  }
  .modal_close {
    position: fixed;
    top: 65px;
    right: 5px;
  }
  .modal_inner {
    overflow: hidden;
  }
  .modal_btns {
    margin-top: 95px;
    position: fixed;
    top: 70%;
    left: 5%;
  }
  .modal_title {
    letter-spacing: -1px;
    padding: 0 16px;
  }
  .modal_load {
    position: fixed;
    z-index: 104;
    width: 100%;
    height: 100%;
    margin: 0;
    top: 80px;
  }
  .modal_login {
    width: 100%;
    padding: 0;
  }
  .modal_login .modal_login_inner {
    padding: 20px;
  }
  .modal_login .login_box {
    padding: 20px 0;
  }
  .modal_login .login_box .login_input input[type="text"] {
    width: 92%;
    padding: 16px 3%;
    margin-bottom: 30px;
  }
  .modal_login .login_box .login_btn {
    margin-bottom: 30px;
  }
  .modal_login .login_box .login_btn .btn.wide {
    margin-left: 0;
    margin-right: 0;
  }
  .modal_login .login_box .password {
    text-align: center;
  }
  .modal_login .login_box .password a {
    color: #2AABE4;
  }
  .modal_area_list {
    box-shadow: none;
    padding: 0;
    overflow: hidden;
    background: none;
    border: none;
    width: 90%;
    margin: 0 5%;
  }
  .modal_area_list .title {
    font-size: 16px;
    line-height: 32px;
    background: #F4F4F4;
    color: #404040;
    border-bottom: 1px solid #D4D4D4;
    border-radius: 3px 3px 0 0;
  }
  .modal_area_list::after {
    content: none;
  }
  .modal_area_list .area_list {
    border-radius: 0 0 3px 3px;
    overflow: hidden;
  }
  .modal_area_list a {
    display: block;
    text-align: center;
    font-size: 16px;
    line-height: 60px;
    position: relative;
    background: #fff;
    border-bottom: 1px solid #D4D4D4;
  }
  .modal_area_list a::after {
    font-family: 'gakujoIcon';
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    vertical-align: middle;
    display: block;
    position: absolute;
    content: '\E902';
    font-size: 16px;
    top: 50%;
    margin-top: -8px;
    right: 16px;
    color: #E50113;
    font-weight: normal;
    z-index: 0;
    pointer-events: none;
  }
  .modal_area_list a.modal_select_default {
    border-radius: 3px;
    margin-top: 20px;
    background: #fff;
    line-height: 40px;
    color: #2AABE4;
    font-weight: bold;
    border: 1px solid #D4D4D4;
  }
  .modal_area_list a.modal_select_default::after {
    content: '\E907';
    color: #fff;
  }
  .modal_select_box {
    width: 100%;
  }
  .modal_school .syllabary {
    padding: 15px 2px;
  }
  .modal_school .syllabary table {
    margin: 0 auto;
  }
  .modal_school .syllabary table td {
    padding: 4px 4px;
  }
  .modal_school .syllabary table td .btn {
    width: 46px;
    padding: 12px 0;
  }
  .modal_list.list {
    max-height: 280px;
  }
  .modal_list.list li .radio_item, .modal_list.list li .checkbox_item {
    padding: 15px 10px;
  }
  .modal_list.list li .radio_item span, .modal_list.list li .checkbox_item span {
    padding: 0 0 0 35px;
  }
  .modal_list.list li .radio_item.has_sub .name, .modal_list.list li .checkbox_item.has_sub .name {
    padding-left: 45px;
  }
  .modal_list.list li .radio_item::after, .modal_list.list li .radio_item::before, .modal_list.list li .checkbox_item::after, .modal_list.list li .checkbox_item::before {
    margin-left: 10px;
    top: 26px !important;
  }
  .modal_list.list li .sub .radio_item, .modal_list.list li .sub .checkbox_item {
    padding-left: 45px;
  }
  .modal_list.list li .sub .radio_item::after, .modal_list.list li .sub .radio_item::before, .modal_list.list li .sub .checkbox_item::after, .modal_list.list li .sub .checkbox_item::before {
    margin-left: 45px;
  }
}

/* ----------------------------------------------------------------------------
    Modules
---------------------------------------------------------------------------- */
.text_color_white {
  color: #fff !important;
}

.text_color_black {
  color: #000 !important;
}

.text_bold {
  font-weight: bold !important;
}

.text_normal {
  font-weight: normal !important;
}

.text_size_xsmall {
  font-size: 10px !important;
}

.text_size_small {
  font-size: 12px !important;
}

.text_size_normal {
  font-size: 14px !important;
}

.text_size_large {
  font-size: 16px !important;
}

.text_size_xlarge {
  font-size: 18px !important;
}

.text_size_xxlarge {
  font-size: 24px !important;
}

.text_size_xxxlarge {
  font-size: 32px !important;
}

.lineheight10 {
  line-height: 1 !important;
}

.lineheight12 {
  line-height: 1.2 !important;
}

.lineheight15 {
  line-height: 1.5 !important;
}

.lineheight17 {
  line-height: 1.7 !important;
}

.lineheight20 {
  line-height: 2 !important;
}

.pos_rel {
  position: relative !important;
}

.pos_abs {
  position: absolute !important;
}

.pos_fix {
  position: fixed !important;
}

.pos_inh {
  position: inherit !important;
}

.v_align_top {
  vertical-align: top !important;
}

.v_align_mdl {
  vertical-align: middle !important;
}

.v_align_btm {
  vertical-align: bottom !important;
}

.v_align_init {
  vertical-align: initial !important;
}

.overflow_visble {
  overflow: visible !important;
}

.overflow_hidden {
  overflow: hidden !important;
}

.overflow_scroll {
  overflow: scroll !important;
}

.hidden {
  visibility: hidden;
}

.inline {
  display: inline !important;
}

.inline_block {
  display: inline-block !important;
}

.block {
  display: block !important;
}

.table {
  display: table !important;
}

.table_cell {
  display: table-cell !important;
}

.none {
  display: none !important;
}

.table_spacing_none {
  border-spacing: 0;
}

.fl_content:after {
  content: "";
  clear: both;
  display: block;
}

.fl_left {
  float: left !important;
}

.fl_right {
  float: right !important;
}

.fl_none {
  float: none !important;
}

.clear {
  clear: both;
}

.text_left {
  text-align: left !important;
}

.text_center {
  text-align: center !important;
}

.text_right {
  text-align: right !important;
}

.m_none {
  margin: 0px !important;
}

.m5 {
  margin: 5px !important;
}

.m10 {
  margin: 10px !important;
}

.m15 {
  margin: 15px !important;
}

.m20 {
  margin: 20px !important;
}

.m25 {
  margin: 25px !important;
}

.m30 {
  margin: 30px !important;
}

.m40 {
  margin: 40px !important;
}

.m45 {
  margin: 45px !important;
}

.m50 {
  margin: 50px !important;
}

.m55 {
  margin: 55px !important;
}

.m60 {
  margin: 60px !important;
}

.mb_none {
  margin-bottom: 0px !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mb55 {
  margin-bottom: 55px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mb120 {
  margin-bottom: 120px !important;
}

.mb300 {
  margin-bottom: 300px !important;
}

.mt_none {
  margin-top: 0px !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt35 {
  margin-top: 35px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt45 {
  margin-top: 45px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mt55 {
  margin-top: 55px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mr_none {
  margin-right: 0px !important;
}

.mr5 {
  margin-right: 5px !important;
}

.mr10 {
  margin-right: 10px !important;
}

.mr15 {
  margin-right: 15px !important;
}

.mr20 {
  margin-right: 20px !important;
}

.mr25 {
  margin-right: 25px !important;
}

.mr30 {
  margin-right: 30px !important;
}

.mr35 {
  margin-right: 35px !important;
}

.mr40 {
  margin-right: 40px !important;
}

.mr45 {
  margin-right: 45px !important;
}

.mr50 {
  margin-right: 50px !important;
}

.mr55 {
  margin-right: 55px !important;
}

.mr60 {
  margin-right: 60px !important;
}

.ml_none {
  margin-left: 0px !important;
}

.ml5 {
  margin-left: 5px !important;
}

.ml10 {
  margin-left: 10px !important;
}

.ml15 {
  margin-left: 15px !important;
}

.ml20 {
  margin-left: 20px !important;
}

.ml25 {
  margin-left: 25px !important;
}

.ml30 {
  margin-left: 30px !important;
}

.ml35 {
  margin-left: 35px !important;
}

.ml40 {
  margin-left: 40px !important;
}

.ml45 {
  margin-left: 45px !important;
}

.ml50 {
  margin-left: 50px !important;
}

.ml55 {
  margin-left: 55px !important;
}

.ml60 {
  margin-left: 60px !important;
}

.m_auto {
  margin-left: auto;
  margin-right: auto;
}

.va_top {
  vertical-align: top;
}

.va_mid {
  vertical-align: middle;
}

.va_btm {
  vertical-align: bottom;
}

.box_bd {
  border: 1px solid #D4D4D4;
}

.bd_dotted {
  border-style: dotted;
}

.bd_dashed {
  border-style: dashed;
}

.bd_double {
  border-style: double;
}

.bd_none {
  border: none !important;
}

.box_bd_top {
  border-top: 1px solid #D4D4D4;
}

.bd_top_dotted {
  border-top-style: dotted;
}

.bd_top_dashed {
  border-top-style: dashed;
}

.bd_top_double {
  border-top-style: double;
}

.bd_top_none {
  border-top: none !important;
}

.box_bd_btm {
  border-bottom: 1px solid #D4D4D4;
}

.bd_btm_dotted {
  border-bottom-style: dotted;
}

.bd_btm_dashed {
  border-bottom-style: dashed;
}

.bd_btm_double {
  border-bottom-style: double;
}

.bd_btm_none {
  border-bottom: none !important;
}

.box_bd_left {
  border-left: 1px solid #D4D4D4;
}

.bd_left_dotted {
  border-left-style: dotted;
}

.bd_left_dashed {
  border-left-style: dashed;
}

.bd_left_double {
  border-left-style: double;
}

.bd_left_none {
  border-left: none !important;
}

.box_bd_right {
  border-right: 1px solid #D4D4D4;
}

.bd_right_dotted {
  border-right-style: dotted;
}

.bd_right_dashed {
  border-right-style: dashed;
}

.bd_right_double {
  border-right-style: double;
}

.bd_right_none {
  border-right: none !important;
}

.bd1 {
  border-width: 1px !important;
}

.bd2 {
  border-width: 2px !important;
}

.bd3 {
  border-width: 3px !important;
}

.bd4 {
  border-width: 4px !important;
}

.bd5 {
  border-width: 5px !important;
}

.p_none {
  padding: 0px !important;
}

.p5 {
  padding: 5px !important;
}

.p10 {
  padding: 10px !important;
}

.p15 {
  padding: 15px !important;
}

.p20 {
  padding: 20px !important;
}

.p25 {
  padding: 25px !important;
}

.p30 {
  padding: 30px !important;
}

.p40 {
  padding: 40px !important;
}

.p45 {
  padding: 45px !important;
}

.p50 {
  padding: 50px !important;
}

.p55 {
  padding: 55px !important;
}

.p60 {
  padding: 60px !important;
}

.pb_none {
  padding-bottom: 0px !important;
}

.pb5 {
  padding-bottom: 5px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pb15 {
  padding-bottom: 15px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pb25 {
  padding-bottom: 25px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.pb45 {
  padding-bottom: 45px !important;
}

.pb50 {
  padding-bottom: 50px !important;
}

.pb55 {
  padding-bottom: 55px !important;
}

.pb60 {
  padding-bottom: 60px !important;
}

.pt_none {
  padding-top: 0px !important;
}

.pt5 {
  padding-top: 5px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pt15 {
  padding-top: 15px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pt25 {
  padding-top: 25px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pt35 {
  padding-top: 35px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pt45 {
  padding-top: 45px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.pt55 {
  padding-top: 55px !important;
}

.pt60 {
  padding-top: 60px !important;
}

.pr_none {
  padding-right: 0px !important;
}

.pr5 {
  padding-right: 5px !important;
}

.pr10 {
  padding-right: 10px !important;
}

.pr15 {
  padding-right: 15px !important;
}

.pr20 {
  padding-right: 20px !important;
}

.pr25 {
  padding-right: 25px !important;
}

.pr30 {
  padding-right: 30px !important;
}

.pr35 {
  padding-right: 35px !important;
}

.pr40 {
  padding-right: 40px !important;
}

.pr45 {
  padding-right: 45px !important;
}

.pr50 {
  padding-right: 50px !important;
}

.pr55 {
  padding-right: 55px !important;
}

.pr60 {
  padding-right: 60px !important;
}

.pl_none {
  padding-left: 0px !important;
}

.pl5 {
  padding-left: 5px !important;
}

.pl10 {
  padding-left: 10px !important;
}

.pl15 {
  padding-left: 15px !important;
}

.pl20 {
  padding-left: 20px !important;
}

.pl25 {
  padding-left: 25px !important;
}

.pl30 {
  padding-left: 30px !important;
}

.pl35 {
  padding-left: 35px !important;
}

.pl40 {
  padding-left: 40px !important;
}

.pl45 {
  padding-left: 45px !important;
}

.pl50 {
  padding-left: 50px !important;
}

.pl55 {
  padding-left: 55px !important;
}

.pl60 {
  padding-left: 60px !important;
}

.w_auto {
  width: auto !important;
}

.w_full {
  width: 100% !important;
}

.w_half {
  width: 50% !important;
}

.w1000 {
  width: 1000px !important;
}

.w950 {
  width: 950px !important;
}

.w900 {
  width: 900px !important;
}

.w850 {
  width: 850px !important;
}

.w800 {
  width: 800px !important;
}

.w750 {
  width: 750px !important;
}

.w700 {
  width: 700px !important;
}

.w650 {
  width: 650px !important;
}

.w600 {
  width: 600px !important;
}

.w550 {
  width: 550px !important;
}

.w500 {
  width: 500px !important;
}

.w450 {
  width: 450px !important;
}

.w400 {
  width: 400px !important;
}

.w350 {
  width: 350px !important;
}

.w300 {
  width: 300px !important;
}

.w250 {
  width: 250px !important;
}

.w200 {
  width: 200px !important;
}

.w150 {
  width: 150px !important;
}

.w140 {
  width: 140px !important;
}

.w130 {
  width: 130px !important;
}

.w120 {
  width: 120px !important;
}

.w110 {
  width: 110px !important;
}

.w100 {
  width: 100px !important;
}

.w90 {
  width: 90px !important;
}

.w80 {
  width: 80px !important;
}

.w70 {
  width: 70px !important;
}

.w60 {
  width: 60px !important;
}

.w50 {
  width: 50px !important;
}

.w40 {
  width: 40px !important;
}

.w30 {
  width: 30px !important;
}

.w20 {
  width: 20px !important;
}

.w10 {
  width: 10px !important;
}

.w10p {
  width: 10% !important;
}

.w15p {
  width: 15% !important;
}

.w20p {
  width: 20% !important;
}

.w25p {
  width: 25% !important;
}

.w30p {
  width: 30% !important;
}

.w35p {
  width: 35% !important;
}

.w40p {
  width: 40% !important;
}

.w45p {
  width: 45% !important;
}

.w50p {
  width: 50% !important;
}

.w55p {
  width: 55% !important;
}

.w60p {
  width: 60% !important;
}

.w65p {
  width: 65% !important;
}

.w70p {
  width: 70% !important;
}

.w75p {
  width: 75% !important;
}

.w80p {
  width: 80% !important;
}

.w85p {
  width: 85% !important;
}

.w90p {
  width: 90% !important;
}

.w95p {
  width: 95% !important;
}

.w100p {
  width: 100% !important;
}

/*@media screen and (max-width: 767px) {
	.w1000,
	.w950 , .w900,
	.w850 , .w800,
	.w750 , .w700,
	.w650 , .w600,
	.w550 , .w500,
	.w450 , .w400,
	.w350 , .w300,
	.w250 , .w200,
	.w150 , .w100,
	.w50  {
		width: auto !important;
	}
}*/
.h200 {
  height: 200px !important;
}

.h150 {
  height: 150px !important;
}

.h100 {
  height: 100px !important;
}

.h50 {
  height: 50px !important;
}

.h40 {
  height: 40px !important;
}

.h30 {
  height: 30px !important;
}

.h20 {
  height: 20px !important;
}

.h10 {
  height: 10px !important;
}

.bg01 {
  background-color: #fff !important;
}

.bg02 {
  background-color: #F4F4F4 !important;
}

.bg03 {
  background-color: #fffef2 !important;
}

.bg04 {
  background-color: #F2FBFF !important;
}

.bg_none {
  background: none  !important;
}

.space_thin {
  letter-spacing: -1px;
}

.space_normal {
  letter-spacing: 0 !important;
}

.space_wide {
  letter-spacing: 1px;
}

.radius {
  border-radius: 3px;
  overflow: hidden;
}

.radius_circle {
  border-radius: 50%;
  overflow: hidden;
}

.radius_none {
  border-radius: 0;
}

.shadow {
  box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.1);
}

/* ----------------------------------------------------------------------------
    modal
---------------------------------------------------------------------------- */
.modal_login .login_box input[type="text"] {
    border: 1px solid #ADADAD;
    height:20px!important;
    padding: 8px 1px;
    width: 100% !important;
}
.modal_login .login_box input[type="password"] {
    border: 1px solid #ADADAD;
    height:20px!important;
	width: 100%;
    padding: 8px 1px;
}
.modal_login .login_box .login_input input[type="password"] {
    width: 100%;
    margin-bottom: 30px;
    padding: 8px 1px;
}

.btnlogin {
    width: 100%!important;
}
.login_mbtn {
    width:316px;
    margin-left: auto;
    margin-right: auto;
}
@media screen and (max-width: 395px) {
    .login_mbtn {
        width: 100%!important;
        margin-left: auto;
        margin-right: auto;
    }
}

@media screen and (max-width: 767px) {
    .modal_select_default.active {
        opacity: 1;
        display: inherit !important;
    }

    .modal_login .login_box .login_input input[type="text"] {
        box-sizing:border-box;
        width: 100%!important;
        padding: 25px 1%;
        margin-bottom: 25px;
    }
    .modal_login .login_box .login_input input[type="password"] {
        box-sizing:border-box;
        width: 100%!important;
        padding: 25px 1%;
        margin-bottom: 25px;
    }
    .modal_login .login_box .login_btn .btn.wide {
        margin-left: 0;
        margin-right: 0;
    }
    .btnlogin {
        width: 100%!important;
    }
    .login_btn input[type="button"]{
        background: #F79145 !important;
    }

}
/* ----------------------------------------------------------------------------
    other
---------------------------------------------------------------------------- */
.interview_img {
    width: 40px;
}

.wordbreak {
    word-break: break-all;
}

@media screen and (max-width: 767px) {
    .interview_img {
        width: 160px!important;
    }
}

.newTopPlbel:hover {
    text-decoration: none !important;
}


.pickup-box_kodawari {
    width:164px!important;
}
@media screen and (max-width: 767px) {
    .pickup-box_kodawari {
        width:144px!important;
    }
}

.side_m_line_btn_img {
  position: absolute;
  width: 40px;
  height: 40px;
  top: 50%;
  left: 52px;
  margin-top: -10px;
  opacity: 1;
  -webkit-transition-duration: 250ms;
  -ms-transition-duration: 250ms;
  transition-duration: 250ms;
  -webkit-transition-property: opacity;
  -ms-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-timing-function: ease;
  -ms-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0;
  -ms-transition-delay: 0;
  transition-delay: 0;

  left: 6px;
  width: 25px;
  height: 25px;

}

@media screen and (max-width: 767px) {
    .side_m_line_btn_img_sp {
        margin-left: 8.6%;
    }
}
.side_m_line_btn {
  color: #00C300!important;
  border-color: #00C300;
}

.side_m_line_btn:hover {
  color: #fff!important;
  background-color: #00C300;
  border-color: #00C300;
}

.i_line_a{
  visibility: visible;
}

.side_m_line a:hover .i_line_a{
  visibility: hidden;
}

.i_line_b{
  visibility: hidden;
}

.side_m_line a:hover .i_line_b{
  visibility: visible
}

.i_line_b:hover{
  opacity: 1;
}

.btn_recom{
  width: 336px;
}
@media screen and (max-width: 767px) {
   .btn_recom{
    border-width: 1px;
    padding-top: 14px;
    padding-bottom: 14px;
   }
}

.evt_sch_modal_area_list{
    /*padding-left: 18px;*/
}
@media screen and (max-width: 767px) {
   .evt_sch_modal_area_list{
    /*padding-left: 0px;*/
    max-height:310px;
    overflow:auto!important;
   }
}
 
.modal_fukidasi1{
    bottom:40px;
}

.modal_no_layer {
  display: none;
  z-index: 999;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: scroll;
  -webkit-overflow-scrolling: touch;
  text-align: center;
}

/* ----------------------------------------------------------------------------
    スマホ版未ログイン時　ログイン・会員登録ボタン　
---------------------------------------------------------------------------- */
.sp_login {
    width:auto;
	border: 1px solid #e5e9ed;
	background: #DFE4E9;
    padding: 8px 0 8px 0;
    box-shadow: 0px 4px 0px 0px #cbc6cb;
    display:block;
    margin:8.5px;
    cursor:pointer;

}

.sp_login_p {
    font-size :20px;
    color:#333333;
        
}

.sp_regist {
    width:auto;
    background-color: #F79145;
	border: 1px solid #F79145;
    padding: 8px 0 8px 0;
    box-shadow: 0px 4px 0px 0px #ca7638;
    display:block;
    margin:8.5px;
}

.sp_regist_p {
    font-size :20px;
    color:white;
    
}

.noLoginHead a{
    text-decoration: none;
   }

@media screen and (max-width: 767px) {
   .modal_login_content{
    overflow-y: auto!important; 
   }
}

/* ----------------------------------------------------------------------------
    ComRecommendCtl.vb
---------------------------------------------------------------------------- */
.reco_img {
    width: 260px;
    height: 195px;
}
@media screen and (max-width: 767px) {
    .reco_img {
    width: 300px;
    height: 225px;
    }
}
@media screen and (max-width: 600px) {
    .reco_img {
    max-width: 220px;
    max-height: 165px;
    }
}
@media screen and (max-width: 500px) {
    .reco_img {
    max-width: 180px;
    max-height: 135px;
    }
}
@media screen and (max-width: 440px) {
    .reco_img {
    max-width: 160px;
    max-height: 120px;
    }
}
@media screen and (max-width: 400px) {
    .reco_img {
    max-width: 150px;
    max-height: 112px;
    }
}

@media screen and (max-width: 320px) {
    .reco_img {
    max-width: 110px;
    max-height: 80px;
    }
}

/*# sourceMappingURL=style.css.map*/

.noticeSP {
    display:none;
}
.noticePC {
    display:block;
}
@media screen and (max-width: 767px) {
    .noticeSP {
        width: 100%;
        display: block;
        padding: 5px 20px;
        word-break: break-all;
        box-sizing: border-box;
    }
    .noticePC {
        display: none;
    }
    #top .col_wrap {
        padding-top: 5px !important;
    }
    #top .top_col_wrap {
        padding-top: 0px !important;
    }
    .sec_title .bln_wrap{
        width:50%;
        float:left;
        margin:0px !important;
    }
    .sec_title .bln_wrap .wrapPickUp{
        
        margin:10px auto !important;
    }
    div .pickup-box {
        margin:0 auto !important;
    }
    .wrapPickUp {
        margin:0 auto !important;
    }
}
.sec_title .bln_wrap {
    margin:10px;
}

@media screen and (-webkit-min-device-pixel-ratio:0) {
  #Footer #modal_login_layer .modal_content {
    overflow:initial;
  }
}

@media screen and (max-width: 320px) {
    .modal_login .login_box .password {
        font-size: 12px;
    }
}
@media screen and (max-width: 320px){
	#header #header_upper .user .utility .username {
	    font-size: 10px !important;
	    line-height: 26px !important;
	}
	#header #header_utility h2{
    	font-size: 11px !important;
	}
}


/* ----------------------------------------------------------------------------
    TOPアプリインストール
---------------------------------------------------------------------------- */
.pnl-install {
    background: #BDD7EE;
    margin: 0;
    padding: 7px 7px 7px 8px;
}
.pnl-install-app {
    display: table;
    width: 100%;
    box-sizing: border-box;
}
.a-install-app {
    display: table-cell;
    vertical-align: middle;
    width: 5%;
    font-weight: bold;
    text-decoration: none!important;
    font-size: 18px;
}
#ctl00_ContentPlaceHolder1_lnkCloseApp span {
    display: inline-block;
    border: none;
    text-align: center;
    vertical-align: middle;
    line-height: 1;
    padding: 2px;
    color: #2f2f2f;
    font-weight: bold;
    font-size: 18px;
}
#lnkInstall {
    display: table;
    width: 100%;
    text-decoration: none;
}
#lnkInstall img {
    width: 60px;
    height: 60px;
    margin: 0 7px 0 5px;
}
#lblAsagaku {
    font-weight: bold;
    font-size: 16px;
    padding: 0 5px 0 2px;
    display: inline-block;
    position: relative;
    bottom: 7px;
    color: #000000;
    font-weight: bold;
}
#lblAsagaku, #lblInstaller {
    display: table-cell;
}
#lblInstaller span {
    background: #00B0F0;
    padding: 8px 10px;
    border-radius: 5px;
    color: #fff;
    font-weight: bold;
    font-size: 12px;
}

  @media screen and (max-width: 767px) {
    .recmd .btn.arw.wide.blue {
        padding-left:2px;
      }

    .recmd .btn.arw.wide.blue::after {
        right: 1%;
      }
  }
/* ----------------------------------------------------------------------------
    TOPバナー　
---------------------------------------------------------------------------- */
    .pnl_top_banner_css {
        margin-bottom: 10px;
        margin-top: 0px;
    }
@media screen and (max-width: 767px) {
    .pnl_top_banner_css {
        margin-bottom: 20px;
        margin-top: 0px;
        margin-left:20px;
        margin-right:20px;
    }
}


/* ----------------------------------------------------------------------------
    LINEログインボタン
---------------------------------------------------------------------------- */
.btn.green {
  position: relative;
  top: 0;
  border-color: #00c300;
  background-color: #00c300;
  color: #fff !important;
  box-shadow: 0px 6px 0px 0px #008400;
  -webkit-transition-duration: 100ms;
  -ms-transition-duration: 100ms;
  transition-duration: 100ms;
  -webkit-transition-property: top box-shadow;
  -ms-transition-property: top box-shadow;
  transition-property: top box-shadow;
  -webkit-transition-timing-function: ease;
  -ms-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0;
  -ms-transition-delay: 0;
  transition-delay: 0;
}

.btn.green::after {
  color: #fff !important;
}

.btn.green.text_l {
  font-size: 24px;
  line-height: 24px;
  padding-top: 10px;
  padding-bottom: 10px;
  font-size: 16px!important;
}

.btn.green:hover, .btn.green.active {
  top: 4px;
  box-shadow: 0px 2px 0px 0px #008400;
}

#header #header_upper .login .sns_login_btn {
  float: left;
  width: 140px;
}

#header #header_upper .login .sns_login_btn p {
  font-size: 12px;
}

#header #header_upper .login .sns_login_btn .btn {
  line-height: 16px;
}
.modal_login .login_box .sns_login_btn {
  text-align: center;
  margin-bottom: 25px;
}
.modal_login .login_box .sns_login_btn {
margin-bottom: 20px;
}
.modal_login .login_box .sns_login_btn .btn.wide {
margin-left: 0;
margin-right: 0;
}

.btn_login_line {
padding: 0px!important;
padding-top: 4px!important;
padding-bottom: 4px!important;
}
.btn.middleline {
  width: 210px;
}


/* QRコード表示サイズ */
.qrcode_size{
	height: 160px;
	width: 160px;
    padding: 60px;
}
  
.modal_qrcode_bg {
    background-color: white;
    width: 90%;
    margin: 0 auto;
    height: 400px;
    position :relative ;
    z-index:104;
}

.QRCode_Comment {
    top: -60px;
    position: relative;
    width:90%;
    margin-left:auto ;
    margin-right:auto;
    text-align:left ;
    padding-bottom:5px;
    font-size:13px;
}

.QRCode_Title {
    top: -250px;
    position: relative;
    font-weight: bolder;
    font-size: medium;
}


/*==================================

 ヘッダーエリア（全国版等）の設定

==================================*/
@media screen and (max-width: 767px) {
    #header_upper_area {
        border-top: 1px solid #F4F4F4;
        background: #fff;
        /*padding-top:5px;*/
        /*padding-left:10px;*/
        padding-bottom: 5px;
    }

    #header #header_upper_area .area {
        position: absolute;
        /*border: 1px solid #D4D4D4;*/
        background: #fff;
        border-radius: 3px;
        width: 98px;
        padding: 0;
        z-index: 9;
    }

        #header #header_upper_area .area::before {
            /*left: 74px;*/
            font-size: 16px;
            margin: 0;
            top: 12px;
            color: #E50113;
            right: 14px;
            text-align: right;
        }

        #header #header_upper_area .area a {
            position: relative;
            font-size: 16px;
            line-height: 40px;
            padding: 0 30px 0 20px;
            max-height: 0;
            -webkit-transition-duration: 250ms;
            -ms-transition-duration: 250ms;
            transition-duration: 250ms;
            -webkit-transition-property: max-height;
            -ms-transition-property: max-height;
            transition-property: max-height;
            -webkit-transition-timing-function: ease;
            -ms-transition-timing-function: ease;
            transition-timing-function: ease;
            -webkit-transition-delay: 0;
            -ms-transition-delay: 0;
            transition-delay: 0;
            display: block;
            overflow: hidden;
            font-weight: bold;
            color: #2AABE4;
        }

            #header #header_upper_area .area a.cr {
                max-height: 40px;
            }

        #header #header_upper_area .area:hover::before {
            content: "\E900";
        }

        #header #header_upper_area .area:hover a {
            border-bottom: 1px solid #D4D4D4;
            max-height: 40px;
        }

            #header #header_upper_area .area:hover a:last-child {
                border-bottom: none;
            }

        #header #header_upper_area .area::before {
            left: 60px;
            font-size: 14px;
            top: 10px;
        }

        #header #header_upper_area .area a {
            font-size: 14px;
            line-height: 32px;
            padding: 0 20px 0 12px;
        }

            #header #header_upper_area .area a.cr {
                max-height: 32px;
            }


    #header.open_menu #header_upper_area .area {
        visibility: visible;
        opacity: 1;
    }
}