.mod-figureBlock {
  overflow: hidden
}

.mod-figureBlock-image {
  float: left;
  width: 222px;
  margin-right: 24px
}

@media (max-width: 599px) {
  .mod-figureBlock-image {
    float: none;
    width: 100%;
    text-align: center
  }
}

.mod-figureBlock-content {
  overflow: hidden
}

.mod-figureBlock-content p {
  margin: 0
}

.mod-figureBlock-content p+p {
  margin-top: 1em
}

.mod-stepIcon {
  text-align: center;
  margin-top: 50px;
  margin-bottom: 50px
}

@media (max-width: 599px) {
  .mod-stepIcon img {
    width: 27px;
    height: auto
  }
}

.mod-securityCodeLayout {
  background-color: #f7f6f5;
  border-radius: 3px;
  padding: 20px
}

@media (max-width: 599px) {
  .mod-securityCodeLayout {
    border-radius: 0;
    margin: 0 -3px;
    padding: 15px 10px
  }
  .mod-securityCodeLayout--second {
    margin-top: 15px
  }
}

.mod-securityCodeLayout-title {
  margin: 0;
  font-size: 18px;
  line-height: 18px
}

.mod-securityCodeLayout-image {
  text-align: center;
  margin-top: 10px;
  margin-left: -20px;
  margin-right: -20px
}

.mod-securityCodeLayout-image img {
  display: inline-block;
  vertical-align: bottom;
  margin: 8px
}

@media (max-width: 599px) {
  .mod-securityCodeLayout {
    font-size: 18px
  }
}

.mod-courseCounter {
  text-align: right
}

.mod-courseCounter-wrap {
  display: inline-block;
  text-align: left;
  background-color: #f3d900;
  background-image: linear-gradient(to top, #f5da31 0%, #ead02e 8%, #e8ce2d 19%, #f6db31 100%);
  border: 1px solid #ccc;
  border-radius: 3px;
  padding: 5px 5px 5px 8px
}

.mod-courseCounter-wrap:hover {
  background-color: #d9c300;
  text-decoration: none;
  background-image: linear-gradient(to top, #dec700 0%, #dcc500 8%, #d2bc00 19%, #dfc800 100%)
}

.mod-courseCounter-label {
  display: inline-block;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 26px;
  font-weight: bold;
  color: #000
}

.mod-courseCounter-count {
  display: inline-block;
  color: #333;
  background-color: #fff;
  border-radius: 3px;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 26px;
  width: 33px;
  text-align: center
}

@media (max-width: 599px) {
  .mod-courseCounter {
    margin-bottom: 15px
  }
}

.mod-tableAnchor {
  margin-top: 20px;
  width: 100%
}

@media (max-width: 599px) {
  .mod-tableAnchor {
    display: none
  }
}

.mod-tableAnchor th {
  border-top: 1px solid #cccccc;
  text-align: left;
  padding: 10px 0
}

.mod-tableAnchor td {
  border-top: 1px solid #cccccc;
  padding: 10px 0
}

.mod-tableAnchor td *:first-child {
  margin-bottom: 0
}

.mod-mapSection {
  margin-top: 30px;
  margin-bottom: 30px;
  border: 1px solid #cdcbc4;
  position: relative
}

@media (max-width: 599px) {
  .mod-mapSection {
    margin-top: 20px;
    margin-bottom: 0;
    border: 0
  }
}

.mod-mapSection-title {
  background: #ededeb;
  padding: 10px;
  margin: 0;
  font-size: 18px;
  font-size: 1.8rem;
  border-bottom: 1px solid #cdcbc4
}

@media (max-width: 599px) {
  .mod-mapSection-title {
    background: none;
    padding: 5px;
    font-size: 16px;
    font-size: 1.6rem;
    border-top: 1px solid #cdcbc4;
    position: relative
  }
}

.mod-mapSection-label {
  background: #f7f6f5;
  display: table-cell;
  padding: 10px;
  width: 130px
}

@media (max-width: 599px) {
  .mod-mapSection-label {
    display: block;
    margin: 7px 5px 0;
    padding: 5px;
    width: auto;
    font-weight: bold;
    font-size: 14px;
    font-size: 1.4rem
  }
}

.mod-mapSection-address {
  display: table-cell;
  padding: 10px;
  width: auto;
  border-left: 1px solid #cdcbc4
}

@media (max-width: 599px) {
  .mod-mapSection-address {
    display: block;
    padding: 5px;
    margin: 0 5px 0;
    width: auto;
    border-left: none;
    font-size: 14px;
    font-size: 1.4rem
  }
}

.mod-mapSection-wrap {
  border-top: 1px solid #cdcbc4
}

.mod-mapSection-image {
  padding: 10px 10px 0 10px
}

.mod-mapSection-image img {
  width: 100%;
  height: auto;
  display: block
}

@media (max-width: 599px) {
  .mod-mapSection-image {
    border-top: none;
    padding: 0;
    margin: 0 5px 0
  }
}

.mod-mapSection-image>.support-srsc-access {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%
}

.mod-mapSection-image>.support-srsc-access>.support-srsc-access-map {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.mod-mapSection-desc {
  padding: 10px
}

.mod-mapSection-desc-link {
  margin: 5px 0 10px 0
}

.mod-mapSection-desc-link a {
  font-size: 14px;
  font-size: 1.4rem
}

.mod-mapSection-desc-title {
  margin: 0 0 0 0;
  font-size: 14px;
  font-size: 1.4rem
}

.mod-mapSection-desc-list {
  margin: 5px 0;
  font-size: 14px;
  font-size: 1.4rem
}

.mod-mapSection-desc-text {
  margin: 10px 0 0 0;
  font-size: 14px;
  font-size: 1.4rem
}

@media (max-width: 599px) {
  .mod-backToTopNav--mobileView {
    display: none
  }
}

.mod-tab .mod-tab-ul.mod-tab-ul--type-teacher .mod-tab-item {
  width: auto
}

.mod-tab .mod-tab-ul.mod-tab-ul--type-teacher .mod-tab-item a {
  padding: 0 20px
}

@media (min-width: 879px) and (max-width: 959px) {
  .mod-tab .mod-tab-ul.mod-tab-ul--type-teacher .mod-tab-item a {
    padding: 0 15px
  }
}

@media (min-width: 768px) and (max-width: 878px) {
  .mod-tab .mod-tab-ul.mod-tab-ul--type-teacher .mod-tab-item a {
    padding: 0 10px
  }
}

@media (min-width: 600px) and (max-width: 767px) {
  .mod-tab .mod-tab-ul.mod-tab-ul--type-teacher .mod-tab-item a {
    padding: 0 5px
  }
}

@media (max-width: 599px) {
  .mod-tab .mod-tab-ul.mod-tab-ul--type-teacher .mod-tab-item {
    width: 50%
  }
}

@media (max-width: 599px) {
  .mod-tab .mod-tab-ul.mod-tab-ul--type-teacher {
    margin-bottom: 50px
  }
}

.mod-teacherList {
  padding: 0;
  margin: 30px -2.6% 30px 0;
  padding-top: 1px;
  overflow: hidden
}

@media (max-width: 599px) {
  .mod-teacherList {
    margin: 20px 0 0 0%
  }
}

.mod-teacherList-item {
  width: 47.4%;
  float: left;
  list-style: none;
  border-top: 1px solid #cccccc;
  border-bottom: 1px solid #cccccc;
  margin-top: -1px;
  margin-right: 2.6%;
  position: relative
}

.mod-teacherList-item:after {
  content: "";
  position: absolute;
  bottom: 15px;
  right: 10px;
  width: 8px;
  height: 14px;
  display: block;
  background: url(../img/icon-arrow-right-1.png) no-repeat 0 0;
  background-size: 8px 14px
}

@media (max-width: 599px) {
  .mod-teacherList-item {
    width: 100%;
    margin: 0
  }
}

.mod-teacherList-image {
  float: left;
  display: block;
  margin-right: 20px
}

.mod-teacherList-image img {
  display: block
}

.mod-teacherList-name {
  font-size: 24px;
  font-size: 2.4rem;
  display: block;
  color: #333333;
  text-decoration: none;
  font-weight: bold
}

.mod-teacherList-hiragana {
  font-size: 14px;
  font-size: 1.4rem;
  display: block;
  color: #333333;
  text-decoration: none;
  font-weight: bold
}

.mod-teacherList-link {
  display: block;
  overflow: hidden;
  padding: 15px 10px
}

.mod-teacherList-link:hover {
  text-decoration: none;
  opacity: 1;
  background: #fafafa
}

.mod-layout9-card:before, .mod-layout9-card:after {
  content: '';
  display: table
}

.mod-layout9-card .mod-layout9-item {
  margin-top: 20px
}

@media (max-width: 599px) {
  .mod-layout9-card .mod-layout9-item {
    width: 50%;
    padding: 0;
    float: left;
    clear: none
  }
  .mod-layout9-card .mod-layout9-item:nth-child(2n) {
    float: right
  }
  .mod-layout9-card .mod-layout9-item:nth-child(2n+1) {
    clear: both
  }
}

.mod-searchButton {
  background-color: #f7f6f5;
  border-radius: 3px;
  text-align: center;
  padding: 17px 0;
  margin-top: 40px;
  margin-bottom: 30px
}

.mod-searchButton button[type="submit"] {
  background-color: #e5e5dd;
  background-image: linear-gradient(to top, #f6f5f4 0%, #f6f5f4 8%, #e8e7e4 19%, #f7f6f5 100%);
  box-shadow: inset 0 1px 0 #fff;
  border: 1px solid #ccc;
  border-radius: 5px;
  color: #333;
  padding: 0 40px;
  height: 48px;
  font-weight: bold;
  display: inline-block;
  margin: 0 20px;
  vertical-align: bottom
}

@media (max-width: 599px) {
  .mod-searchButton button[type="submit"] {
    margin: 0 6px
  }
}

.mod-searchButton button[type="submit"]:hover {
  background-color: #d4d3d2;
  background-image: linear-gradient(to top, #dddddc 0%, #dddddc 8%, #d1d0cd 19%, #dedddd 100%);
  border: 1px solid #ccc
}

.mod-searchCourse {
  margin-top: 30px
}

.mod-searchCourse-group {
  margin-top: 30px;
  border-top: 1px solid #333
}

.mod-searchCourse-group:first-child {
  margin-top: 0
}

@media (max-width: 599px) {
  .mod-searchCourse-group {
    margin-top: 10px;
    margin-left: -15px;
    margin-right: -15px;
    padding-left: 10px;
    padding-right: 10px
  }
}

.mod-searchCourse-subgroup {
  margin-top: 30px;
  border-top: 1px solid #ccc
}

@media (max-width: 599px) {
  .mod-searchCourse-subgroup {
    margin-top: 10px
  }
}

.mod-searchCourse-title {
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1;
  margin: 0;
  padding: 30px 0 0 0;
  position: relative;
  cursor: pointer
}

.mod-searchCourse-title:after {
  content: "";
  width: 28px;
  height: 16px;
  margin-left: 10px;
  display: inline-block;
  background: url(../img/icon-arrow-up-1.png) no-repeat 0 0;
  background-size: 28px 16px
}

@media (max-width: 599px) {
  .mod-searchCourse-title:after {
    display: block;
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -2px
  }
}

.mod-searchCourse-title.is-closed:after {
  background: url(../img/icon-arrow-down-1.png) no-repeat 0 0;
  background-size: 28px 16px
}

@media (max-width: 599px) {
  .mod-searchCourse-title {
    padding: 20px 0 10px 0
  }
}

.mod-searchCourse-subtitle {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1;
  margin: 0;
  padding: 30px 0 5px 0;
  cursor: pointer;
  position: relative
}

.mod-searchCourse-subtitle:after {
  content: "";
  width: 22px;
  height: 13px;
  margin-left: 10px;
  display: inline-block;
  background: url(../img/icon-arrow-up-2.png) no-repeat 0 0;
  background-size: 22px 13px
}

@media (max-width: 599px) {
  .mod-searchCourse-subtitle:after {
    display: block;
    position: absolute;
    top: 50%;
    right: 13px;
    margin-top: -2px
  }
}

.mod-searchCourse-subtitle.is-closed:after {
  background: url(../img/icon-arrow-down-2.png) no-repeat 0 0;
  background-size: 22px 13px
}

@media (max-width: 599px) {
  .mod-searchCourse-subtitle {
    padding: 20px 0 10px 0
  }
}

.mod-searchCourse-checkboxList {
  overflow: hidden
}

.mod-searchCourse-checkbox, .mod-searchCourse-dateTitle {
  float: left;
  margin-top: 13px;
  margin-right: 2.6%;
  width: 23.049999999999997%;
  position: relative;
  display: block;
  transition: all 0.3s ease
}

.mod-searchCourse-checkbox:nth-child(4n), .mod-searchCourse-dateTitle:nth-child(4n) {
  margin-right: 0
}

.mod-searchCourse-checkbox:nth-child(4n+1), .mod-searchCourse-dateTitle:nth-child(4n+1) {
  clear: both
}

.mod-searchCourse-checkbox input, .mod-searchCourse-dateTitle input {
  margin-right: 5px;
  position: absolute;
  top: 1.1em;
  left: 10px
}

.mod-searchCourse-checkbox input:checked+span, .mod-searchCourse-dateTitle input:checked+span {
  background-color: #ccd8ff;
  border-radius: 3px
}

.mod-searchCourse-checkbox span, .mod-searchCourse-dateTitle span {
  padding: 10px 10px 10px 30px;
  display: block;
  transition: all 0.3s ease
}

@media (max-width: 599px) {
  .mod-searchCourse-checkbox, .mod-searchCourse-dateTitle {
    width: 48.699999999999996%;
    margin-top: 10px
  }
  .mod-searchCourse-checkbox:nth-child(2n), .mod-searchCourse-dateTitle:nth-child(2n) {
    margin-right: 0
  }
  .mod-searchCourse-checkbox:nth-child(2n+1), .mod-searchCourse-dateTitle:nth-child(2n+1) {
    clear: both
  }
}

.mod-searchCourse-iconNotice {
  position: absolute;
  top: -10px;
  left: 15px;
  background-color: #c90;
  padding: 3px;
  border-radius: 3px;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1;
  color: #fff;
  font-style: normal
}

.mod-searchCourse-iconNotice:after {
  top: 100%;
  left: 50%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
  border-color: rgba(204, 153, 0, 0);
  border-top-color: #c90;
  border-width: 4px;
  margin-left: -4px
}

@media (max-width: 599px) {
  .mod-searchCourse-iconNotice {
    font-size: 11px;
    top: -7px
  }
}

.mod-searchCourse-iconWoman:before {
  content: " ";
  width: 16px;
  height: 18px;
  margin-left: 5px;
  display: inline-block;
  background: url(../img/icon-woman.png) no-repeat 0 0;
  background-size: 16px 18px
}

.mod-searchCourse-iconNight:before {
  content: " ";
  width: 14px;
  height: 14px;
  margin-left: 5px;
  display: inline-block;
  background: url(../img/icon-night.png) no-repeat 0 0;
  background-size: 14px 14px
}

.mod-searchCourse-inputText {
  width: 550px;
  margin: 30px auto 0
}

.mod-searchCourse-inputText input {
  background-color: #fafafa;
  border: 1px solid #ccc;
  border-radius: 3px;
  padding: 10px;
  display: block;
  width: 100%;
  box-sizing: border-box
}

.mod-searchCourse-inputText p {
  color: #999;
  font-size: 14px;
  font-size: 1.4rem;
  margin: 5px 0 0
}

@media (max-width: 599px) {
  .mod-searchCourse-inputText {
    width: 100%
  }
}

.mod-searchCourse-dateList {
  overflow: hidden
}

.mod-searchCourse-dateList+.mod-searchCourse-dateList {
  margin-top: 10px;
  border-top: dashed 1px #cecece
}

.mod-searchCourse-dateTitle {
  text-align: right;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 47px
}

@media (max-width: 599px) {
  .mod-searchCourse-dateTitle {
    text-align: left;
    width: 20%;
    margin-right: 2.6%
  }
  .mod-searchCourse-dateTitle:nth-child(2n) {
    margin-right: 0
  }
  .mod-searchCourse-dateTitle:nth-child(2n+1) {
    clear: both
  }
}

.mod-searchCourse-dateListWrap {
  overflow: hidden
}

.mod-searchCourse-dateListWrap label {
  width: 43.9%
}

.mod-searchCourse-dateListWrap label:nth-child(2n) {
  margin-right: 0
}

@media (max-width: 599px) {
  .mod-searchCourse-dateListWrap label {
    margin-right: 0;
    width: 100%
  }
}

.mod-searchFigureBlock {
  margin-top: 30px
}

@media (max-width: 599px) {
  .mod-searchFigureBlock {
    margin-top: 20px
  }
}

.mod-searchFigureBlock-wrap {
  padding-bottom: 50px;
  margin-bottom: 50px;
  border-bottom: 1px solid #ccc
}

@media (max-width: 599px) {
  .mod-searchFigureBlock-wrap {
    padding-bottom: 0;
    margin-bottom: 20px;
    border-bottom: none
  }
}

.mod-searchFigureBlock--first .mod-searchFigureBlock-link {
  background: #cdf0f8
}

.mod-searchFigureBlock--first .mod-searchFigureBlock-link:hover, .mod-searchFigureBlock--first .mod-searchFigureBlock-link:focus {
  background: #d7f3f9
}

.mod-searchFigureBlock--second .mod-searchFigureBlock-link {
  background: #f6f1be
}

.mod-searchFigureBlock--second .mod-searchFigureBlock-link:hover, .mod-searchFigureBlock--second .mod-searchFigureBlock-link:focus {
  background: #f8f4cb
}

.mod-searchFigureBlock--third .mod-searchFigureBlock-link {
  background: #e6e6e6
}

.mod-searchFigureBlock--third .mod-searchFigureBlock-link:hover, .mod-searchFigureBlock--third .mod-searchFigureBlock-link:focus {
  background: #ebebeb
}

.mod-searchFigureBlock-link {
  overflow: hidden;
  display: block;
  width: 100%;
  position: relative
}

.mod-searchFigureBlock-link:hover, .mod-searchFigureBlock-link:focus {
  text-decoration: none
}

.mod-searchFigureBlock-link:hover .mod-searchFigureBlock-image, .mod-searchFigureBlock-link:focus .mod-searchFigureBlock-image {
  opacity: 0.8
}

.mod-searchFigureBlock-link:after {
  content: "";
  position: absolute;
  bottom: 10px;
  right: 10px;
  width: 8px;
  height: 14px;
  display: block;
  background: url(../img/icon-arrow-right-1.png) no-repeat 0 0;
  background-size: 8px 14px
}

.mod-searchFigureBlock-image {
  width: 50%
}

.mod-searchFigureBlock-image img {
  width: 100%;
  height: auto;
  display: block
}

@media (max-width: 599px) {
  .mod-searchFigureBlock-image {
    width: 100%
  }
}

.mod-searchFigureBlock-content {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 50%;
  -ms-transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  text-align: center
}

@media (max-width: 599px) {
  .mod-searchFigureBlock-content {
    position: relative;
    left: 0;
    width: 100%;
    padding: 30px 0;
    -ms-transform: none;
    -webkit-transform: none;
    transform: none
  }
}

.mod-searchFigureBlock-content h2 {
  margin: 0;
  font-size: 30px;
  font-size: 3rem;
  line-height: 1.3;
  color: #333333
}

@media (min-width: 879px) and (max-width: 959px) {
  .mod-searchFigureBlock-content h2 {
    font-size: 28px;
    font-size: 2.8rem
  }
}

@media (min-width: 768px) and (max-width: 878px) {
  .mod-searchFigureBlock-content h2 {
    font-size: 26px;
    font-size: 2.6rem
  }
}

@media (min-width: 600px) and (max-width: 767px) {
  .mod-searchFigureBlock-content h2 {
    font-size: 22px;
    font-size: 2.2rem
  }
}

@media (max-width: 599px) {
  .mod-searchFigureBlock-content h2 {
    font-size: 24px;
    font-size: 2.4rem
  }
}

.mod-searchFigureBlock-content p {
  margin: 20px 0 0;
  font-size: 16px;
  font-size: 1.6rem;
  color: #333333
}

@media (min-width: 600px) and (max-width: 767px) {
  .mod-searchFigureBlock-content p {
    font-size: 14px;
    font-size: 1.4rem;
    margin-top: 10px
  }
}

@media (max-width: 599px) {
  .mod-searchFigureBlock-image, .mod-searchFigureBlock-content {
    width: 100%
  }
}

.mod-searchToggle-button {
  background-color: #e5e5dd;
  background-image: linear-gradient(to top, #f6f5f4 0%, #f6f5f4 8%, #e8e7e4 19%, #f7f6f5 100%);
  box-shadow: inset 0 1px 0 #fff;
  border: 1px solid #ccc;
  border-radius: 3px;
  position: relative;
  padding: 5px 42px 5px 10px;
  transition: all 0.3s ease
}

@media (max-width: 599px) {
  .mod-searchToggle-button {
    width: 100%;
    box-sizing: border-box
  }
}

.mod-searchToggle-button:before {
  content: "";
  width: 18px;
  height: 18px;
  margin-right: 10px;
  display: inline-block;
  margin-top: 2px;
  background: url(../img/icon-glass.png) no-repeat 0 0;
  background-size: 18px 18px;
  vertical-align: top
}

.mod-searchToggle-button:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  width: 22px;
  height: 13px;
  margin-top: -6px;
  display: block;
  background: url(../img/icon-arrow-down-3.png) no-repeat 0 0;
  background-size: 22px 13px
}

.mod-searchToggle-button.is-open:after {
  background: url(../img/icon-arrow-up-3.png) no-repeat 0 0;
  background-size: 22px 13px
}

.mod-searchToggle-button:hover {
  background-color: #d4d3d2;
  background-image: linear-gradient(to top, #dddddc 0%, #dddddc 8%, #d1d0cd 19%, #dedddd 100%);
  border: 1px solid #ccc;
  border-radius: 3px
}

.mod-searchToggle-button--icon-q:before {
  background: url(../img/icon-q.png) no-repeat 0 0;
  background-size: 18px 18px
}

.mod-searchToggle-content {
  display: none
}

.mod-courseSearchOptions {
  font-size: 14px;
  font-size: 1.4rem;
  overflow: hidden;
  padding-top: 20px;
  margin-top: 30px;
  border-top: 1px solid #333333
}

.mod-courseSearchOptions-title {
  background-color: #e6e6e6;
  border-radius: 3px;
  float: left;
  padding: 0 3px
}

.mod-courseSearchOptions-list {
  float: left;
  margin: 0 0 0 10px;
  padding: 0
}

.mod-courseSearchOptions-list li {
  float: left;
  list-style: none;
  margin: 0
}

.mod-courseSearchOptions-list li:before {
  content: "　／　"
}

.mod-courseSearchOptions-list li:first-child:before {
  content: ""
}

.mod-courseSearchCount {
  font-size: 14px;
  font-size: 1.4rem;
  overflow: hidden;
  padding-top: 20px;
  margin-top: 20px;
  border-top: 1px dashed #cccccc;
  position: relative;
  min-height: 30px
}

.mod-courseSearchCount-title {
  background-color: #e6e6e6;
  border-radius: 3px;
  float: left;
  padding: 0 3px
}

.mod-courseSearchCount-content {
  float: left;
  margin: 0 0 0 10px;
  padding: 0
}

.mod-courseSearchCount-content span {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1
}

.mod-courseSearchResult {
  position: relative;
  margin-bottom: 30px
}

.mod-courseSearchResult-toggle {
  position: absolute;
  top: 0;
  right: 0
}

.mod-courseSearchResult-toggle button {
  background-color: #e5e5dd;
  background-image: linear-gradient(to top, #f6f5f4 0%, #f6f5f4 8%, #e8e7e4 19%, #f7f6f5 100%);
  box-shadow: inset 0 1px 0 #fff;
  border: 1px solid #ccc;
  border-radius: 3px;
  width: 44px;
  height: 30px;
  float: left;
  margin-left: 10px;
  position: relative
}

.mod-courseSearchResult-toggle button:hover {
  background-color: #d4d3d2;
  background-image: linear-gradient(to top, #dddddc 0%, #dddddc 8%, #d1d0cd 19%, #dedddd 100%);
  border: 1px solid #ccc;
  border-radius: 3px
}

.mod-courseSearchResult-toggle button.is-active {
  background-image: none;
  background-color: #ccc;
  border-radius: 3px;
  cursor: default;
  box-shadow: none
}

.mod-courseSearchResult-toggle-grid:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 22px;
  height: 16px;
  margin-top: -8px;
  margin-left: -11px;
  display: block;
  background: url(../img/icon-blocklist1.png) no-repeat 0 0;
  background-size: 22px 16px
}

.mod-courseSearchResult-toggle-list:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 22px;
  height: 15px;
  margin-top: -7px;
  margin-left: -11px;
  display: block;
  background: url(../img/icon-list.png) no-repeat 0 0;
  background-size: 22px 15px
}

.mod-courseSearchResult-items {
  overflow: hidden;
  padding-top: 30px
}

.mod-courseSearchResult--listView .mod-courseSearchResult-items {
  padding-top: 60px
}

.mod-courseSearchResult-item {
  float: left;
  clear: none;
  width: 31.599999999999994%;
  margin-right: 2.6%;
  margin-top: 30px
}

.mod-courseSearchResult-item:nth-child(3n) {
  margin-right: 0
}

.mod-courseSearchResult-item:nth-child(3n+1) {
  clear: both
}

@media (min-width: 600px) and (max-width: 767px) {
  .mod-courseSearchResult-item {
    width: 48.7%
  }
  .mod-courseSearchResult-item:nth-child(3n) {
    margin-right: 2.6%
  }
  .mod-courseSearchResult-item:nth-child(2n) {
    margin-right: 0
  }
  .mod-courseSearchResult-item:nth-child(3n+1) {
    clear: none
  }
  .mod-courseSearchResult-item:nth-child(2n+1) {
    clear: both
  }
}

@media (max-width: 599px) {
  .mod-courseSearchResult-item {
    width: 100%;
    margin-right: 0;
    margin-top: 15px
  }
}

.mod-courseSearchResult--listView .mod-courseSearchResult-item {
  float: none;
  width: 100%;
  margin-right: 0;
  margin-top: 0;
  border-top: 1px solid #000
}

.mod-courseSearchResult-link {
  color: #333;
  display: block;
  transition: all 0.3s ease
}

.mod-courseSearchResult-link:link, .mod-courseSearchResult-link:visited {
  color: #333
}

.mod-courseSearchResult-link:hover {
  text-decoration: none;
  opacity: 0.8
}

.mod-courseSearchResult--listView .mod-courseSearchResult-link:hover {
  opacity: 1;
  background: #fafafa
}

@media (max-width: 599px) {
  .mod-courseSearchResult-link:hover {
    opacity: 1
  }
  .mod-courseSearchResult-link:hover img {
    opacity: 1
  }
}

.mod-courseSearchResult--listView .mod-courseSearchResult-link {
  opacity: 1;
  background: #fff
}

.mod-courseSearchResult-image img {
  display: block;
  width: 100%;
  height: auto
}

.mod-courseSearchResult--listView .mod-courseSearchResult-image {
  display: none
}

.mod-courseSearchResult-wrap {
  background: #f2f2f2;
  padding: 10px 10px 20px;
  position: relative
}

.mod-courseSearchResult-wrap:after {
  content: "";
  position: absolute;
  bottom: 10px;
  right: 10px;
  width: 8px;
  height: 14px;
  display: block;
  background: url(../img/icon-arrow-right-1.png) no-repeat 0 0;
  background-size: 8px 14px
}

.mod-courseSearchResult--listView .mod-courseSearchResult-wrap:after {
  bottom: 20px
}

.mod-courseSearchResult--listView .mod-courseSearchResult-wrap {
  background: transparent;
  padding: 10px 10px 20px
}

.mod-courseSearchResult-code {
  max-width: 50%;
  line-height: 1
}

.mod-courseSearchResult-code span:first-child {
  font-size: 12px;
  font-size: 1.2rem
}

.mod-courseSearchResult-code span+span {
  white-space: nowrap;
  font-size: 1.4rem;
  font-weight: bold
}

.mod-courseSearchResult--listView .mod-courseSearchResult-code {
  margin: 12px 15px 0 0;
  max-width: none
}

.mod-courseSearchResult-status {
  position: absolute;
  top: 0;
  right: 0;
  width: 128px;
  color: #fff;
  text-align: center;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 30px;
  font-weight: bold
}

@media (min-width: 600px) and (max-width: 767px) {
  .mod-courseSearchResult-status {
    width: 130px
  }
}

@media (min-width: 600px) and (max-width: 767px) {
  .mod-courseSearchResult-status {
    width: 110px
  }
}

.mod-courseSearchResult-status.icon-pre {
  background-color: #fff;
  border: 2px solid #ccc;
  border-bottom-left-radius: 5px;
  border-top: none;
  color: #666
}

.mod-courseSearchResult--listView .mod-courseSearchResult-status.icon-pre {
  border: 2px solid #ccc
}

.mod-courseSearchResult-status.icon-entry {
  background-color: #27a3a3;
  border-bottom-left-radius: 5px
}

.mod-courseSearchResult-status.icon-entry:before {
  content: "";
  width: 20px;
  height: 20px;
  display: inline-block;
  background: url(../img/icon-entry.png) no-repeat 0 0;
  background-size: 20px 20px;
  vertical-align: middle;
  margin-top: -3px;
  margin-right: 6px
}

.mod-courseSearchResult-status.icon-rest {
  background-color: #ad923e;
  border-bottom-left-radius: 5px
}

.mod-courseSearchResult-status.icon-rest:before {
  content: "";
  width: 20px;
  height: 20px;
  display: inline-block;
  background: url(../img/icon-rest.png) no-repeat 0 0;
  background-size: 20px 20px;
  vertical-align: middle;
  margin-top: -3px;
  margin-right: 6px
}

.mod-courseSearchResult-status.icon-cancel {
  background-color: #ad3f3f;
  border-bottom-left-radius: 5px
}

.mod-courseSearchResult-status.icon-cancel:before {
  content: "";
  width: 20px;
  height: 20px;
  display: inline-block;
  background: url(../img/icon-cancel.png) no-repeat 0 2px;
  background-size: 20px 18px;
  vertical-align: middle;
  margin-top: -3px;
  margin-right: 6px
}

@media (min-width: 600px) and (max-width: 767px) {
  .mod-courseSearchResult-status.icon-cancel:before {
    background-size: 18px 16px;
    margin-right: 3px
  }
}

@media (min-width: 600px) and (max-width: 767px) {
  .mod-courseSearchResult-status.icon-cancel {
    font-size: 12px;
    font-size: 1.2rem
  }
}

.mod-courseSearchResult-status.icon-over {
  background-color: #7f7f7f;
  border-bottom-left-radius: 5px
}

.mod-courseSearchResult-status.icon-stop {
  background-color: #7f7f7f;
  border-bottom-left-radius: 5px
}

.mod-courseSearchResult--listView .mod-courseSearchResult-status {
  border-radius: 5px;
  line-height: 24px;
  position: static;
  float: right;
  margin-top: -20px
}

.mod-courseSearchResult--listView .mod-courseSearchResult-status.icon-entry:before, .mod-courseSearchResult--listView .mod-courseSearchResult-status.icon-rest:before {
  width: 15px;
  height: 15px;
  margin-top: -1px;
  background-size: 15px 15px
}

.mod-courseSearchResult--listView .mod-courseSearchResult-status.icon-cancel:before {
  width: 15px;
  height: 15px;
  margin-top: -3px;
  background-size: 15px 13px
}

.mod-courseSearchResult-school {
  overflow: hidden;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 16px;
  margin-top: 5px
}

.mod-courseSearchResult-school-name {
  background-color: #666;
  border-radius: 3px;
  color: #fff;
  float: left;
  padding: 2px 5px;
  margin-right: 10px;
  margin-top: 10px
}

.mod-courseSearchResult--listView .mod-courseSearchResult-school-name {
  margin-right: 10px
}

.mod-courseSearchResult-school-option {
  float: left;
  margin-right: 10px;
  line-height: 16px;
  line-height: 1.6rem;
  padding-top: 3px;
  margin-top: 10px
}

.mod-courseSearchResult--listView .mod-courseSearchResult-school-option {
  margin-left: 0;
  margin-right: 10px
}

.mod-courseSearchResult-school-iconWoman:before {
  content: " ";
  width: 14px;
  height: 14px;
  margin-right: 5px;
  display: inline-block;
  background: url(../img/icon-woman.png) no-repeat 0 0;
  background-size: auto 14px;
  vertical-align: top
}

.mod-courseSearchResult-school-iconNight:before {
  content: " ";
  width: 14px;
  height: 14px;
  margin-right: 5px;
  display: inline-block;
  background: url(../img/icon-night.png) no-repeat 0 0;
  background-size: auto 14px;
  vertical-align: top
}

.mod-courseSearchResult--listView .mod-courseSearchResult-school {
  margin-top: 0
}

.mod-courseSearchResult-title {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 32px;
  line-height: 3.2rem;
  margin: 7px 0 0
}

@media (max-width: 599px) {
  .mod-courseSearchResult-title {
    font-size: 20px;
    font-size: 2rem
  }
}

.mod-courseSearchResult-label {
  margin-top: 10px;
  font-size: 12px;
  font-size: 1.4rem;
  background-color: #e6e6e6;
  border-radius: 3px;
  padding: 5px 5px 5px 10px;
  overflow: hidden;
  width: 100%;
  box-sizing: border-box
}

.mod-courseSearchResult--listView .mod-courseSearchResult-label {
  width: auto
}

.mod-courseSearchResult-label-title {
  font-weight: bold;
  width: 75px;
  float: left;
  margin-right: 10px
}

.mod-courseSearchResult-label-list {
  padding: 0;
  margin: 0;
  list-style: none;
  float: left
}

.mod-courseSearchResult-label-list li {
  float: left;
  font-weight: bold;
  margin-left: 10px;
  color: #999
}

.mod-courseSearchResult-label-list li:first-child {
  margin-left: 0
}

.mod-courseSearchResult-label-list li.is-current span {
  background-color: #fff;
  border-radius: 3px;
  color: #333;
  display: block;
  text-align: center
}

.mod-courseSearchResult-label-list li.is-current~li.is-current {
  position: relative;
  margin-left: -3px
}

.mod-courseSearchResult-label-list li.is-current~li.is-current span {
  padding-left: 18px
}

.mod-courseSearchResult-label-list li span {
  padding: 0 5px
}

@media (min-width: 879px) and (max-width: 959px) {
  .mod-courseSearchResult-label-list li {
    margin-left: 8px
  }
}

@media (min-width: 768px) and (max-width: 878px) {
  .mod-courseSearchResult-label-list li {
    margin-left: 6px
  }
}

@media (min-width: 600px) and (max-width: 767px) {
  .mod-courseSearchResult-label-list li {
    margin-left: 4px
  }
  .mod-courseSearchResult-label-list li span {
    padding: 0 3px
  }
}

.mod-courseSearchResult--listView .mod-courseSearchResult-label {
  display: table
}

.mod-courseSearchResult-teacher {
  margin-top: 10px;
  font-size: 14px;
  font-size: 1.4rem;
  overflow: hidden;
  padding: 15px 0 10px 0
}

.mod-courseSearchResult-teacher-title {
  float: left;
  width: 4.5em;
  font-weight: bold
}

.mod-courseSearchResult-teacher-text {
  overflow: hidden
}

.mod-courseSearchResult--listView .mod-courseSearchResult-teacher {
  display: none
}

.mod-courseSearchResult-date {
  font-size: 14px;
  font-size: 1.4rem;
  overflow: hidden;
  border-top: 1px solid #cccccc;
  padding: 10px 0
}

.mod-courseSearchResult-date-title {
  float: left;
  width: 4.5em;
  font-weight: bold
}

.mod-courseSearchResult-date-text {
  overflow: hidden
}

.mod-courseSearchResult--listView .mod-courseSearchResult-date {
  border-top: none;
  padding-bottom: 0
}

.mod-courseSearchResult-tuition {
  font-size: 14px;
  font-size: 1.4rem;
  overflow: hidden;
  border-top: 1px solid #cccccc;
  padding: 10px 0
}

.mod-courseSearchResult-tuition-title {
  float: left;
  width: 4.5em;
  font-weight: bold
}

.mod-courseSearchResult-tuition-text {
  overflow: hidden
}

.mod-courseSearchResult-tuition-text span {
  font-weight: bold;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1
}

.mod-courseSearchResult--listView .mod-courseSearchResult-tuition {
  display: none
}

.mod-teacherPage-area {
  background-color: #666;
  border-radius: 3px;
  color: #fff;
  font-weight: bold;
  padding: 5px 9px;
  display: table;
  margin: 0
}

.mod-teacherPage-name {
  font-size: 30px;
  font-size: 3.0rem;
  line-height: 1;
  margin: 20px 0 0 0
}

.mod-teacherPage-name span {
  font-size: 16px;
  font-size: 1.6rem
}

.mod-teacherPage-content {
  overflow: hidden;
  margin-top: 50px
}

.mod-teacherPage-content-image {
  width: 14.499999999999998%;
  margin-right: 2.6%;
  float: left
}

.mod-teacherPage-content-image img {
  width: 100%;
  height: auto;
  display: block
}

@media (max-width: 599px) {
  .mod-teacherPage-content-image {
    width: 30%;
    margin-right: 4%
  }
}

.mod-teacherPage-content-text {
  width: 48.699999999999996%;
  margin-right: 2.6%;
  float: left
}

.mod-teacherPage-content-text p:first-child {
  margin-top: 0
}

@media (max-width: 599px) {
  .mod-teacherPage-content-text {
    margin-right: 0;
    width: 66%
  }
}

.mod-teacherPage-content-gallery {
  width: 31.599999999999994%;
  margin-right: 0;
  float: left
}

@media (max-width: 599px) {
  .mod-teacherPage-content-gallery {
    width: 100%;
    margin-top: 20px
  }
}

.mod-teacherPage-content-thumb {
  float: left;
  width: 46.1%;
  position: relative;
  background: #000
}

.mod-teacherPage-content-thumb:first-child {
  margin-right: 7.8%
}

.mod-teacherPage-content-thumb:before {
  content: ' ';
  display: block;
  padding-top: 100%
}

.mod-teacherPage-content-spacer {
  padding-top: 100%
}

.mod-teacherPage-content-img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  text-align: center;
  font: 0/0 a
}

.mod-teacherPage-content-img:before {
  content: ' ';
  display: inline-block;
  vertical-align: middle;
  height: 100%
}

.mod-teacherPage-content-img img {
  vertical-align: middle;
  display: inline-block;
  height: auto;
  width: auto;
  max-height: 100%;
  max-width: 100%
}

.mod-teacherPage-content-site {
  margin-top: 30px;
  border-top: 1px solid #ccc;
  padding-top: 10px;
  float: left;
  width: 100%
}

.mod-applyBlock {
  border: 1px solid #ccc;
  border-radius: 5px;
  margin-top: 30px
}

.mod-applyBlock-title {
  margin: 0;
  font-size: 20px;
  font-size: 2rem;
  line-height: 1;
  padding: 15px 20px
}

.mod-applyBlock--type-1 .mod-applyBlock-title {
  background-color: #cfcfeb
}

.mod-applyBlock--type-2 .mod-applyBlock-title {
  background-color: #ebebcf
}

.mod-applyBlock--type-3 .mod-applyBlock-title {
  background-color: #e6e6e6
}

.mod-applyBlock-content {
  text-align: right;
  padding: 20px;
  border-radius: 0 0 5px 5px
}

@media (max-width: 599px) {
  .mod-applyBlock-content {
    text-align: center
  }
}

.mod-applyBlock--type-1 .mod-applyBlock-content {
  background-color: #f7f7ff
}

.mod-applyBlock--type-2 .mod-applyBlock-content {
  background-color: #fffff7
}

.mod-applyBlock--type-3 .mod-applyBlock-content {
  background-color: #fafafa
}

.mod-applyBlock-button button, .mod-applyBlock-button a {
  display: inline-block;
  width: auto
}

@media (max-width: 599px) {
  .mod-applyBlock-button button span, .mod-applyBlock-button a span {
    max-width: inherit
  }
}

.mod-applyBlock2 {
  border-radius: 3px;
  margin: 50px 8.5%
}

@media (max-width: 599px) {
  .mod-applyBlock2 {
    margin: 20px 0
  }
}

.mod-applyBlock2--type-1 {
  background-color: #fffff7;
  border: 3px solid #ebebcf
}

.mod-applyBlock2--type-2 {
  background-color: #f7f7ff;
  border: 3px solid #cfcfeb
}

.mod-applyBlock2-title {
  margin: 0;
  font-size: 20px;
  font-size: 2rem;
  padding: 15px 10px 0;
  text-align: center;
  font-weight: normal
}

.mod-applyBlock2-title span {
  font-weight: bold
}

.mod-applyBlock2-content {
  text-align: right;
  padding: 15px 30px 25px
}

@media (max-width: 599px) {
  .mod-applyBlock2-content {
    text-align: center
  }
}

.mod-applyBlock2-text {
  margin: 0;
  text-align: left
}

.mod-applyBlock2-text-2 {
  margin: 0;
  padding: 10px;
  text-align: center;
  font-size: 20px;
  font-size: 2rem
}

@media (max-width: 599px) {
  .mod-applyBlock2-text-2 {
    font-size: 16px;
    font-size: 1.6rem;
    text-align: left
  }
}

.mod-applyBlock2-button {
  margin-top: 10px
}

.mod-applyBlock2-button button, .mod-applyBlock2-button a {
  display: inline-block;
  width: auto
}

@media (max-width: 599px) {
  .mod-applyBlock2-button button span, .mod-applyBlock2-button a span {
    max-width: auto
  }
}

@media (max-width: 599px) {
  .sys-btn--type-adjust1 {
    position: relative
  }
  .sys-btn--type-adjust1 span {
    padding-right: 16px
  }
  .sys-btn--type-adjust1::after {
    margin-top: -10px;
    height: auto;
    position: absolute;
    top: 50%;
    right: 4px;
    line-height: 1
  }
}

.mod-selectedCourse-item {
  position: relative;
  border-top: 1px solid #cccccc;
  padding: 15px 10px
}

@media (max-width: 599px) {
  .mod-selectedCourse-item {
    margin-left: -15px;
    margin-right: -15px
  }
}

.mod-selectedCourse-code {
  font-size: 14px;
  font-size: 1.4rem
}

.mod-selectedCourse-code span {
  font-weight: bold;
  font-size: 16px;
  font-size: 1.6rem
}

.mod-selectedCourse-status {
  position: absolute;
  top: 15px;
  right: 10px;
  color: #fff;
  text-align: center;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 30px;
  font-weight: bold;
  padding: 0 5px
}

.mod-selectedCourse-status.icon-pre {
  background-color: #fff;
  border: 2px solid #ccc;
  border-radius: 5px;
  color: #666
}

.mod-selectedCourse-status.icon-entry {
  background-color: #27a3a3;
  border-radius: 5px
}

.mod-selectedCourse-status.icon-entry:before {
  content: "";
  width: 20px;
  height: 20px;
  display: inline-block;
  background: url(../img/icon-entry.png) no-repeat 0 0;
  background-size: 20px 20px;
  vertical-align: middle;
  margin-top: -3px;
  margin-right: 6px
}

.mod-selectedCourse-status.icon-rest {
  background-color: #ad923e;
  border-radius: 5px
}

.mod-selectedCourse-status.icon-rest:before {
  content: "";
  width: 20px;
  height: 20px;
  display: inline-block;
  background: url(../img/icon-rest.png) no-repeat 0 0;
  background-size: 20px 20px;
  vertical-align: middle;
  margin-top: -3px;
  margin-right: 6px
}

.mod-selectedCourse-status.icon-cancel {
  background-color: #ad3f3f;
  border-radius: 5px
}

.mod-selectedCourse-status.icon-cancel:before {
  content: "";
  width: 20px;
  height: 20px;
  display: inline-block;
  background: url(../img/icon-cancel.png) no-repeat 0 2px;
  background-size: 20px 18px;
  vertical-align: middle;
  margin-top: -7px;
  margin-right: 6px
}

.mod-selectedCourse-status.icon-over {
  background-color: #7f7f7f;
  border-radius: 5px
}

.mod-selectedCourse-status.icon-stop {
  background-color: #7f7f7f;
  border-radius: 5px
}

.mod-selectedCourse-title {
  font-size: 18px;
  font-size: 1.8rem;
  margin: 15px 0 0 0
}

.mod-selectedCourse-tuition {
  font-size: 14px;
  font-size: 1.4rem;
  margin-top: 10px
}

.mod-selectedCourse-tuition span {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: bold
}

.mod-selectedCourse-tuition strong {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: bold
}

.mod-selectedCourse-special {
  font-size: 14px;
  font-size: 1.4rem;
  margin-top: 5px
}

.mod-selectedCourse-special-icon {
  background-color: #2765a3;
  border-radius: 5px;
  padding: 0 7px;
  color: #fff;
  display: inline-block;
  margin-right: 10px
}

.mod-selectedCourse-special-icon--grey {
  background-color: #666
}

.mod-selectedCourse-special strong {
  font-size: 16px;
  font-size: 1.6rem
}

.mod-selectedCourse-button {
  position: absolute;
  right: 10px;
  bottom: 30px
}

@media (max-width: 599px) {
  .mod-selectedCourse-button {
    position: static;
    text-align: right
  }
}

@media (min-width: 600px) and (max-width: 767px) {
  .mod-selectedCourse-button {
    position: static;
    text-align: right
  }
}

.mod-selectedCourse-delete {
  font-size: 14px;
  font-size: 1.4rem;
  background-color: #cdaf0a;
  background-image: linear-gradient(to top, #f6f5f4 0%, #f6f5f4 8%, #e8e7e4 19%, #f7f6f5 100%);
  border: 1px solid #ccc;
  border-radius: 5px;
  display: inline-block;
  padding: 5px 10px
}

.mod-selectedCourse-delete:hover {
  background-color: #ccc;
  background-image: linear-gradient(to top, #dddddc 0%, #dddddc 8%, #d1d0cd 19%, #dedddd 100%);
  border: 1px solid #ccc;
  border-radius: 3px
}

.mod-courceTuitionView {
  margin: 0
}

.mod-courceTuitionView-price-1 {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: bold
}

.mod-courceTuitionView-price-2 {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: bold
}

.mod-courceTuitionView-icon {
  background-color: #2765a3;
  border-radius: 5px;
  padding: 0 7px;
  color: #fff;
  display: inline-block;
  margin-right: 10px
}

.mod-courceTuitionView-icon--grey {
  background-color: #666
}

.mod-courceTuitionView-icon--red {
  background-color: #cc6e66
}

.mod-memberVoice {
  overflow: hidden
}

@media (max-width: 599px) {
  .mod-memberVoice {
    margin-bottom: 30px
  }
}

.mod-memberVoice-col {
  float: left;
  width: 48.699999999999996%;
  padding: 20px;
  background: #f2f0da;
  box-sizing: border-box
}

.mod-memberVoice-col:first-child {
  margin-right: 2.6%
}

@media (max-width: 599px) {
  .mod-memberVoice-col {
    width: 100%;
    padding: 10px;
    margin-top: 10px;
    margin-bottom: 10px
  }
  .mod-memberVoice-col:first-child {
    margin: 0
  }
}

.mod-memberVoice-text {
  margin: 0
}

.mod-teacherVoice {
  overflow: hidden
}

@media (max-width: 599px) {
  .mod-teacherVoice {
    margin-bottom: 30px
  }
}

.mod-teacherVoice-comment {
  margin-top: 0;
  width: 48.7%;
  float: left;
  margin-right: 2.5%
}

@media (min-width: 600px) and (max-width: 767px) {
  .mod-teacherVoice-comment {
    float: none;
    width: 100%;
    margin-right: 0
  }
}

@media (max-width: 599px) {
  .mod-teacherVoice-comment {
    float: none;
    width: 100%;
    margin-right: 0
  }
}

.mod-teacherVoice-image {
  float: left;
  margin-right: 24px;
  width: 140px
}

.mod-teacherVoice-image img {
  width: 100%;
  height: auto
}

@media (max-width: 599px) {
  .mod-teacherVoice-image {
    width: 100px
  }
}

.mod-teacherVoice-content {
  overflow: hidden
}

.mod-teacherVoice-content p:first-child {
  margin-top: 0
}

.mod-courseDetail {
  margin-top: 20px
}

.mod-courseDetail-head {
  overflow: hidden;
  border-top: 1px solid #333
}

.mod-courseDetail-code {
  float: left;
  border: 1px solid #333;
  border-radius: 3px;
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  padding: 0 10px
}

.mod-courseDetail-code span {
  font-size: 20px;
  font-size: 2rem;
  font-weight: bold
}

.mod-courseDetail-category {
  float: right;
  padding-top: 5px
}

.mod-courseDetail-school {
  overflow: hidden;
  margin-top: 20px
}

.mod-courseDetail-school-name {
  background-color: #666;
  border-radius: 3px;
  color: #fff;
  float: left;
  padding: 0 5px
}

.mod-courseDetail-school-option {
  float: left;
  margin-left: 15px;
  font-weight: bold
}

.mod-courseDetail-school-iconWoman:before {
  content: " ";
  width: 14px;
  height: 14px;
  margin-right: 5px;
  display: inline-block;
  background: url(../img/icon-woman.png) no-repeat 0 0;
  background-size: auto 14px
}

.mod-courseDetail-school-iconNight:before {
  content: " ";
  width: 14px;
  height: 14px;
  margin-right: 5px;
  display: inline-block;
  background: url(../img/icon-night.png) no-repeat 0 0;
  background-size: auto 14px
}

.mod-courseDetail-title {
  font-size: 30px;
  font-size: 3rem;
  line-height: 36px;
  line-height: 3.6rem;
  margin: 15px 0 0;
  font-weight: bold
}

@media (max-width: 599px) {
  .mod-courseDetail-title {
    font-size: 24px;
    font-size: 2.4rem
  }
}

.mod-courseDetail-label {
  background-color: #e6e6e6;
  border-radius: 3px;
  padding: 5px 10px;
  overflow: hidden;
  width: auto;
  display: table
}

.mod-courseDetail-label-title {
  float: left;
  font-weight: bold;
  margin-right: 10px
}

.mod-courseDetail-label-list {
  float: left;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: hidden
}

.mod-courseDetail-label-list li {
  float: left;
  font-weight: bold;
  margin-left: 10px;
  color: #999
}

.mod-courseDetail-label-list li:first-child {
  margin-left: 0
}

.mod-courseDetail-label-list li span {
  padding: 0 5px;
  display: inline-block
}

.mod-courseDetail-label-list li.is-current span {
  background-color: #fff;
  border-radius: 3px;
  color: #333;
  display: block;
  text-align: center
}

.mod-courseDetail-label-list li.is-current~li.is-current {
  position: relative;
  margin-left: -3px
}

.mod-courseDetail-label-list li.is-current~li.is-current span {
  padding-left: 18px
}

.mod-courseDetail-imageBlock {
  margin-top: 50px;
  overflow: hidden
}

.mod-courseDetail-imageBlock-content {
  width: 65.8%;
  margin-right: 2.6%;
  float: left
}

@media (max-width: 599px) {
  .mod-courseDetail-imageBlock-content {
    float: none;
    margin-right: 0;
    width: 100%
  }
}

.mod-courseDetail-imageBlock-image {
  width: 31.599999999999994%;
  float: left
}

.mod-courseDetail-imageBlock-image img {
  width: 100%;
  height: auto
}

@media (max-width: 599px) {
  .mod-courseDetail-imageBlock-image {
    float: none;
    width: 100%
  }
}

.mod-courseStatus {
  margin: 50px 0 30px;
  margin-left: 8.5%;
  margin-right: 8.5%
}

.mod-courseStatus-title {
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  text-align: center;
  font-size: 18px;
  font-size: 1.8rem;
  color: #fff;
  font-weight: bold;
  padding: 2px 0
}

.mod-courseStatus-title.icon-pre {
  background-color: #fff;
  border: 2px solid #ccc;
  color: #666
}

.mod-courseStatus-title.icon-entry {
  background-color: #27a3a3
}

.mod-courseStatus-title.icon-entry:before {
  content: "";
  width: 20px;
  height: 20px;
  display: inline-block;
  background: url(../img/icon-entry.png) no-repeat 0 0;
  background-size: 20px 20px;
  vertical-align: middle;
  margin-top: -5px;
  margin-right: 6px
}

.mod-courseStatus-title.icon-rest {
  background-color: #ad923e
}

.mod-courseStatus-title.icon-rest:before {
  content: "";
  width: 20px;
  height: 20px;
  display: inline-block;
  background: url(../img/icon-rest.png) no-repeat 0 0;
  background-size: 20px 20px;
  vertical-align: middle;
  margin-top: -5px;
  margin-right: 6px
}

.mod-courseStatus-title.icon-cancel {
  background-color: #ad3f3f
}

.mod-courseStatus-title.icon-cancel:before {
  content: "";
  width: 20px;
  height: 20px;
  display: inline-block;
  background: url(../img/icon-cancel.png) no-repeat 0 2px;
  background-size: 20px 18px;
  vertical-align: middle;
  margin-top: -7px;
  margin-right: 6px
}

.mod-courseStatus-title.icon-over {
  background-color: #7f7f7f
}

.mod-courseStatus-title.icon-stop {
  background-color: #7f7f7f
}

.mod-courseStatus-content {
  padding: 10px 0 20px;
  text-align: center;
  background-color: #f7f6f5;
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px
}

.mod-courseStatus-content-text {
  font-size: 20px;
  font-size: 2rem;
  font-weight: bold;
  margin: 0
}

.mod-courseStatus-content-buttons {
  margin-top: 10px;
  text-align: center
}

.mod-courseStatus-content-buttons button {
  display: inline-block;
  margin: 0 5px;
  border: none;
  background: none;
  padding: 0;
  border: 5px solid #f7f6f5;
  border-radius: 3px
}

.mod-courseStatus-content-buttons button:first-child {
  border: 5px solid #ffe600
}

.mod-courseStatus-content-buttons button span {
  display: inline-block;
  background-color: #e5e5dd;
  background-image: linear-gradient(to top, #f6f5f4 0%, #f6f5f4 8%, #e8e7e4 19%, #f7f6f5 100%);
  box-shadow: inset 0 1px 0 #fff;
  border: 1px solid #ccc;
  border-radius: 3px;
  padding: 15px 25px;
  line-height: 1;
  font-weight: bold
}

.mod-courseStatus-content-buttons button:hover span {
  background-color: #d4d3d2;
  background-image: linear-gradient(to top, #dddddc 0%, #dddddc 8%, #d1d0cd 19%, #dedddd 100%)
}

.mod-courseStatus-content-buttons button:disabled {
  border: 5px solid #f7f6f5;
  opacity: 0.3
}

.mod-courseStatus-content-buttons button:hover:disabled span {
  background-color: #e5e5dd;
  background-image: linear-gradient(to top, #f6f5f4 0%, #f6f5f4 8%, #e8e7e4 19%, #f7f6f5 100%)
}

.mod-pamphletBlock {
  box-sizing: border-box;
  border-radius: 3px;
  padding: 20px 0 20px 20px;
  margin: 50px 0 30px;
  background: #f7f6f5;
  overflow: hidden;
  box-sizing: border-box;
  position: relative
}

@media (max-width: 599px) {
  .mod-pamphletBlock {
    padding: 10px 10px 0 10px
  }
}

.mod-pamphletBlock-title {
  font-size: 18px;
  font-size: 1.8rem;
  margin: 0
}

.mod-pamphletBlock-link {
  border-top: 1px solid #ccc;
  padding-top: 1em
}

.mod-pamphletBlock-content {
  width: 60%
}

@media (max-width: 599px) {
  .mod-pamphletBlock-content {
    width: 100%
  }
}

.mod-pamphletBlock-image {
  width: 31.5%;
  position: absolute;
  right: 0;
  bottom: 0
}

.mod-pamphletBlock-image img {
  display: inline-block;
  width: 100%;
  height: auto;
  vertical-align: bottom
}

@media (max-width: 599px) {
  .mod-pamphletBlock-image {
    position: static;
    width: auto;
    text-align: right;
    margin-right: -10px
  }
  .mod-pamphletBlock-image img {
    display: inline-block;
    width: auto;
    height: auto
  }
}

.mod-pamphletPanel {
  background-color: #fafafa;
  border: 1px solid #ccc;
  border-radius: 3px;
  padding: 20px;
  box-sizing: border-box;
  overflow: hidden;
  margin-top: 10px
}

.mod-pamphletPanel-image {
  float: left;
  width: 31.4%;
  margin-right: 2.6%
}

.mod-pamphletPanel-image img {
  width: 100%;
  height: auto;
  display: block
}

@media (max-width: 599px) {
  .mod-pamphletPanel-image {
    float: none;
    width: 100%
  }
}

.mod-pamphletPanel-text {
  float: left;
  width: 66%;
  font-size: 14px;
  font-size: 1.4rem
}

@media (max-width: 599px) {
  .mod-pamphletPanel-text {
    margin-top: 10px;
    float: none;
    width: 100%
  }
}

.mod-pamphletCode {
  margin-top: 30px;
  margin-bottom: 20px
}

.mod-pamphletCode-input {
  background-color: #fff;
  border: 1px solid #ccc;
  width: 200px;
  box-sizing: border-box;
  padding: 10px
}

@media (max-width: 599px) {
  .mod-pamphletCode-input {
    max-width: 200px;
    width: 50%
  }
}

.mod-pamphletCode-note {
  margin-left: 10px
}

.mod-pamphletTitle {
  font-size: 20px;
  font-size: 2rem;
  margin: 0;
  font-weight: bold
}

.mod-togglable-content--js.mod-togglable-content--is-closed {
  display: block;
  position: absolute;
  overflow: hidden;
  position: absolute !important;
  visibility: hidden !important
}

.mod-togglable-content--js.mod-togglable-content--is-opened {
  display: block;
  overflow: visible;
  position: static !important;
  visibility: visible !important
}

.js-teacherListTab-heading+.mod-togglable-content--js.mod-togglable-content--is-closed {
  height: 0
}

.js-teacherListTab-heading+.mod-togglable-content--js.mod-togglable-content--is-opened {
  height: auto
}

.sys-textbox-text .mod-arrowLink {
  line-height: 27px
}

.mod-thumbMedia4 {
  *zoom: 1;
  margin-left: -1.2%;
  margin-bottom: 50px
}

.mod-thumbMedia4:after {
  content: "";
  display: table;
  clear: both
}

.mod-thumbMedia4-item {
  float: left;
  width: 32.1%;
  padding-left: 1.2%
}

.mod-thumbMedia4-image img {
  width: 100%;
  height: auto;
  vertical-align: top
}

.mod-thumbMedia4-image--type-1>a {
  position: relative;
  z-index: 1;
  display: block
}

.ie8 .mod-thumbMedia4-image--type-1>a>img {
  position: relative;
  z-index: -1
}

.mod-thumbMedia4-image--type-1>a:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
  background: url(/common2/img/misc/icon_banner312.png) no-repeat top left;
  background-size: 100%
}

.mod-thumbMedia4-detail {
  display: none
}

@media screen and (max-width: 599px) {
  .mod-thumbMedia4 {
    margin-left: 0
  }
  .mod-thumbMedia4-item {
    float: none;
    width: auto;
    padding-left: 0
  }
  .mod-thumbMedia4-item+.mod-thumbMedia4-item {
    margin-top: 20px
  }
  .mod-thumbMedia4-image--type-1>a:before {
    background-image: url(/common2/img/misc/icon_banner312_2x.png)
  }
  .mod-thumbMedia4-detail {
    display: table-cell
  }
}

.mod-searchPager-next>a:after, .mod-searchPager-next>span:after, .mod-searchPager-prev>a:before, .mod-searchPager-prev>span:before {
  font-family: FontAwesome;
  font-weight: 400;
  font-style: normal;
  display: inline-block;
  text-decoration: inherit;
  text-indent: 0;
  -webkit-font-smoothing: antialiased;
  *margin-right: .3em;
  color: #a8a8a8;
  font-size: 20px;
  margin-right: 10px
}

.mod-searchPager {
  margin-bottom: 15px
}

.mod-searchPager-ul {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: center
}

.mod-searchPager-item, .mod-searchPager-next, .mod-searchPager-prev {
  display: inline-block;
  height: 27px;
  vertical-align: middle;
  margin-bottom: 10px;
  border-right: 1px solid #cdcbc4;
  padding-right: 5px
}

.mod-searchPager-prev {
  border-left: 0;
  padding-right: 15px
}

.mod-searchPager-prev>a:before, .mod-searchPager-prev>span:before {
  content: "\f104";
  text-decoration: none !important;
  line-height: 1.3;
  height: 0;
  vertical-align: top
}

.mod-searchPager-prev.mod-searchPager-prev--type-hidden {
  visibility: hidden
}

.mod-searchPager-prev--type-hidden+.mod-searchPager-item {
  border-left: 1px solid #cdcbc4;
  padding-left: 5px
}

.mod-searchPager-next {
  padding-left: 10px;
  border-right: 0
}

.mod-searchPager-next>a:after, .mod-searchPager-next>span:after {
  margin-right: 0;
  content: "\f105";
  text-decoration: none !important;
  margin-left: 10px;
  line-height: 1.3;
  height: 0;
  vertical-align: top
}

.mod-searchPager-next.mod-searchPager-next--type-hidden {
  visibility: hidden
}

.mod-searchPager-item {
  text-align: center
}

.mod-searchPager-item:first-child {
  border-left: 0
}

.mod-searchPager-item>a {
  display: block;
  min-width: 27px
}

.mod-searchPager-item>span {
  display: block;
  min-width: 27px;
  border-radius: 3px;
  background-color: #cdcbc4;
  color: #fff
}

@media screen and (max-width: 599px) {
  .mod-searchPager-ul {
    *zoom: 1;
    width: 100%
  }
  .mod-searchPager-ul:after {
    content: "";
    display: table;
    clear: both
  }
  .mod-searchPager-prev {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    float: left;
    width: 50%;
    padding: 0;
    border: 0;
    text-align: left
  }
  .mod-searchPager-prev>a:before, .mod-searchPager-prev>span:before {
    line-height: 1.2
  }
  .mod-searchPager-next {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    float: right;
    width: 50%;
    padding: 0;
    border: 0;
    text-align: right
  }
  .mod-searchPager-next>a:after, .mod-searchPager-next>span:after {
    line-height: 1.2
  }
  .mod-searchPager-item {
    display: none
  }
  .mod-searchItem-body {
    width: auto
  }
}

.mod-togglable-content--is-closed+[class*=mod-table] {
  margin-top: 20px
}

.mod-table, .mod-togglableTable, .mod-verticalTable, .mod-verticalTable2 {
  margin-bottom: 40px;
  word-break: break-all;
  word-wrap: break-word;
  border-color: #cdcbc4;
  border-style: solid;
  border-width: 0 0 1px 1px
}

.mod-table td, .mod-table th, .mod-togglableTable td, .mod-togglableTable th, .mod-verticalTable td, .mod-verticalTable th, .mod-verticalTable2 td, .mod-verticalTable2 th {
  font-size: 14px;
  font-size: 1.4rem;
  border-color: #cdcbc4;
  border-style: solid;
  border-width: 1px 1px 0 0;
  padding: 10px
}

.mod-table th, .mod-togglableTable th, .mod-verticalTable th, .mod-verticalTable2 th {
  font-weight: 400;
  text-align: left;
  background-color: #f7f6f5
}

.mod-table td, .mod-togglableTable td, .mod-verticalTable td, .mod-verticalTable2 td {
  background-color: #fff
}

.mod-table td img, .mod-togglableTable td img, .mod-verticalTable td img, .mod-verticalTable2 td img {
  vertical-align: baseline
}

.mod-table--type-full {
  width: 100%;
  table-layout: fixed
}

.mod-table--type-fullfixed {
  width: 960px;
  min-width: 100%;
  table-layout: fixed
}

.mod-verticalTable--type-full {
  width: 100%;
  table-layout: fixed
}

.mod-verticalTable2 td, .mod-verticalTable2 th {
  padding: 4px 10px
}

.mod-verticalTable2--type-full {
  width: 100%;
  table-layout: fixed
}

.mod-togglableTable+.mod-specialtyCaption {
  margin-top: -20px
}

.mod-togglableTable .mod-togglableTable-heading:before {
  display: none !important;
  position: absolute;
  top: 5px;
  right: 0;
  margin-right: 0 !important;
  line-height: 1;
  font-size: 40px !important;
  content: "\f106"
}

.mod-togglableTable .mod-togglableTable-heading th {
  font-weight: 700;
  background-color: #ededeb
}

.mod-togglableTable .mod-togglableTable-item--is-closed .mod-togglableTable-heading:before {
  content: "\f107"
}

.mod-togglableTable--type-full {
  width: 100%;
  table-layout: fixed
}

.mod-scrollableX {
  margin-bottom: 40px
}

.mod-scrollableX>.mod-table {
  margin-bottom: 0
}

.mod-layout6 .mod-layout6-table .mod-table {
  margin-bottom: 0
}

div#aboutFT1 .mod-table, div#aboutMTF .mod-table {
  margin-bottom: 0
}

.support-linearTableSections .mod-headingV2, .support-linearTableSections .mod-headingV4, .support-linearTableSections .mod-table {
  margin-bottom: 0
}

.support-linearTableSections .mod-headingV2 {
  margin-top: 60px
}

.support-linearTableSections .mod-headingV4 {
  margin-top: 30px
}

.support-linearTableSections .mod-table {
  margin-top: 15px
}

@media screen and (max-width: 599px) {
  .mod-shootingInfoBlock .mod-shootingInfoBlock-detail .mod-table {
    border-width: 0 0 1px
  }
  .mod-shootingInfoBlock .mod-shootingInfoBlock-detail .mod-table td, .mod-shootingInfoBlock .mod-shootingInfoBlock-detail .mod-table th {
    border-width: 1px 0 0
  }
  .mod-table th, .mod-togglableTable th, .mod-verticalTable th, .mod-verticalTable2 th {
    font-weight: 700
  }
  .mod-table {
    width: 100%
  }
  .mod-verticalTable {
    display: block;
    width: 100%;
    border-width: 0;
    margin-bottom: 30px
  }
  .mod-verticalTable tbody, .mod-verticalTable td, .mod-verticalTable tfoot, .mod-verticalTable th, .mod-verticalTable thead, .mod-verticalTable tr {
    display: block;
    text-align: left
  }
  .mod-verticalTable th {
    color: #333;
    border-width: 2px 0 0;
    border-color: #cdcbc4;
    background-color: #f7f6f5
  }
  .mod-verticalTable td {
    border: 0
  }
  .mod-verticalTable2 {
    display: block;
    overflow: hidden;
    border: 0;
    background-color: none;
    border-bottom: 1px solid #cdcbc4
  }
  .mod-verticalTable2 tbody, .mod-verticalTable2 td, .mod-verticalTable2 th, .mod-verticalTable2 tr {
    display: block;
    border: 0;
    background-color: #fff
  }
  .mod-verticalTable2 td, .mod-verticalTable2 th {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    float: left;
    border-color: #cdcbc4;
    border-style: solid;
    border-width: 1px 0 0
  }
  .mod-verticalTable2 td:empty, .mod-verticalTable2 th:empty {
    display: none
  }
  .mod-verticalTable2 th {
    width: 20%
  }
  .mod-verticalTable2 td {
    width: 80%
  }
}

.ui-hideoverlay {
  position: fixed;
  text-align: left;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  display: none
}

.ui-hideoverlay-bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  background: #000
}

.ui-hideoverlay-spinner {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 200px;
  height: 200px;
  margin: -100px 0 0 -100px;
  background: url(/common2/img/misc/spinner128.gif) no-repeat 50% 50%;
  z-index: 10000
}

.ui-domwindowdialog {
  text-align: left;
  position: fixed;
  _position: absolute;
  left: 0;
  top: 0;
  z-index: 10001;
  display: none;
  border: 4px solid #fff;
  background: #fff
}

.mod-withinPageNav .mod-withinPageNav-ul li:before {
  font-family: FontAwesome;
  font-weight: 400;
  font-style: normal;
  display: inline-block;
  text-decoration: inherit;
  text-indent: 0;
  -webkit-font-smoothing: antialiased;
  *margin-right: .3em;
  color: #a8a8a8;
  font-size: 20px;
  margin-right: 10px
}

.mod-withinPageNav {
  overflow: hidden;
  margin-bottom: 15px;
  clear: both
}

.mod-withinPageNav.mod-withinPageNav--type-enclosure {
  background-color: #f7f6f5;
  padding: 10px 20px;
  margin-bottom: 30px
}

.mod-withinPageNav.mod-withinPageNav--type-enclosure li {
  margin-right: 30px
}

.mod-withinPageNav .mod-withinPageNav-ul {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  list-style: none;
  margin: 0;
  padding: 0;
  float: left;
  padding-left: 8px;
  font-size: 0
}

.mod-withinPageNav .mod-withinPageNav-ul li {
  font-size: 16px;
  font-size: 1.6rem;
  display: inline-block;
  margin-right: 24px
}

.mod-withinPageNav .mod-withinPageNav-ul li:before {
  content: "\f107";
  margin-top: -4px
}

.mod-withinPageNav+.mod-headingV2 {
  margin-top: 20px
}

.mod-withinPageNav+.inc-photoGallery .mod-photoGallery {
  margin-top: -20px
}

@media screen and (max-width: 599px) {
  .mod-withinPageNav.mod-withinPageNav--type-enclosure {
    display: none
  }
  .mod-withinPageNav .mod-withinPageNav-ul {
    display: block;
    width: auto;
    float: none
  }
  .mod-withinPageNav .mod-withinPageNav-ul li {
    margin-bottom: 5px
  }
  .mod-logoBlock+.mod-compareSubmitBlock+.mod-withinPageNav {
    clear: none
  }
  .mod-logoBlock+.mod-compareSubmitBlock+.mod-withinPageNav+*, .mod-logoBlock+.mod-withinPageNav+* {
    margin-top: 20px
  }
  .mod-withinPageNav+.mod-headingV2 {
    margin-top: 0
  }
  .mod-headingV6+.mod-compareSubmitBlock+.mod-withinPageNav+.mod-headingV8 {
    margin-top: 30px
  }
  .mod-withinPageNav+.inc-photoGallery .mod-photoGallery {
    margin-top: -50px
  }
  .mod-withinPageNav.mod-withinPageNav--type-enclosure.support-withinPageNav--type-always {
    display: block;
    padding: 15px 3px
  }
  .mod-withinPageNav.mod-withinPageNav--type-enclosure.support-withinPageNav--type-always ul.mod-withinPageNav-ul li {
    position: relative;
    margin-bottom: 10px;
    padding-left: 18px;
    font-size: 14px;
    line-height: 18px
  }
  .mod-withinPageNav.mod-withinPageNav--type-enclosure.support-withinPageNav--type-always ul.mod-withinPageNav-ul li:last-child {
    margin-bottom: 0
  }
  .mod-withinPageNav.mod-withinPageNav--type-enclosure.support-withinPageNav--type-always ul.mod-withinPageNav-ul li:before {
    position: absolute;
    display: inline-block;
    top: .15em;
    left: 0
  }
}

.mod-tab, .mod-tab2, .mod-tab3 {
  border: 1px solid #cdcbc4;
  border-width: 0 0 1px;
  margin-bottom: 20px;
  position: relative
}

.mod-tab2:before, .mod-tab3:before, .mod-tab:before {
  content: '';
  position: absolute;
  bottom: -40px;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 40px;
  background: -webkit-linear-gradient(top, #f8f8f8, #fff);
  background: -moz-linear-gradient(top, #f8f8f8, #fff);
  background: linear-gradient(top, #f8f8f8, #fff)
}

.mod-tab .mod-tab-ul, .mod-tab2 .mod-tab2-ul, .mod-tab3 .mod-tab3-ul {
  list-style: none;
  margin: 0;
  padding: 0;
  margin-bottom: -1px;
  width: 100%;
  font-size: 0;
  vertical-align: middle;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  text-align: left;
  padding-left: 18px
}

.mod-tab .mod-tab-item, .mod-tab2 .mod-tab2-item a, .mod-tab3 .mod-tab3-item {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 16px;
  font-size: 1.6rem;
  -webkit-box-shadow: inset 0 1px #fff;
  -moz-box-shadow: inset 0 1px #fff;
  box-shadow: inset 0 1px #fff;
  background: -webkit-linear-gradient(#f7f6f5 10%, #e8e7e4 85%, #f7f6f5);
  background: -moz-linear-gradient(#f7f6f5 10%, #e8e7e4 85%, #f7f6f5);
  background: linear-gradient(#f7f6f5 10%, #e8e7e4 85%, #f7f6f5);
  display: inline-block;
  width: 15.625%;
  height: 46px;
  overflow: hidden;
  line-height: 46px;
  vertical-align: middle;
  margin: 0 .2125%;
  border-radius: 5px 5px 0 0;
  border: 1px solid #cdcbc4;
  background-color: #e8e7e4
}

.mod-tab .mod-tab-item:hover, .mod-tab2 .mod-tab2-item a:hover, .mod-tab3 .mod-tab3-item:hover {
  background: -webkit-linear-gradient(#e8e7e4 10%, #d4d3d2 85%, #ccccca);
  background: -moz-linear-gradient(#e8e7e4 10%, #d4d3d2 85%, #ccccca);
  background: linear-gradient(#e8e7e4 10%, #d4d3d2 85%, #ccccca);
  background-color: #d4d3d2;
  background-color: #d4d3d2
}

.mod-tab .mod-tab-item a, .mod-tab2 .mod-tab2-item a a, .mod-tab3 .mod-tab3-item a {
  display: block;
  color: #333;
  text-align: center;
  vertical-align: middle
}

.mod-tab .mod-tab-item a:hover, .mod-tab2 .mod-tab2-item a a:hover, .mod-tab3 .mod-tab3-item a:hover {
  text-decoration: none
}

.mod-tab .mod-tab-item--is-current, .mod-tab2 .mod-tab2-item--is-current a, .mod-tab3 .mod-tab3-item--is-current {
  font-weight: 700;
  background-image: none;
  background-color: #f8f8f8;
  border-bottom-color: #f8f8f8
}

.mod-tab .mod-tab-item--is-current:hover, .mod-tab2 .mod-tab2-item--is-current a:hover, .mod-tab3 .mod-tab3-item--is-current:hover {
  background-image: none;
  background-color: #f8f8f8;
  border-bottom-color: #f8f8f8
}

.mod-tab .mod-tab-ul--type-1>.mod-tab-item {
  min-width: 147px;
  width: auto;
  padding-left: 10px;
  padding-right: 10px
}

.mod-tab2 {
  text-align: left;
  height: 36px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box
}

.mod-tab2:before {
  top: 36px;
  bottom: auto;
  height: 36px
}

.mod-tab2 .mod-tab2-ul {
  display: inline-block;
  width: auto;
  height: inherit
}

.mod-tab2 .mod-tab2-item {
  display: table-cell;
  padding: 0 2px;
  vertical-align: middle
}

.mod-tab2 .mod-tab2-item a {
  display: table-cell;
  width: auto;
  height: 36px;
  padding: 0 10px;
  margin: 0;
  line-height: 1;
  text-align: center;
  vertical-align: middle;
  color: inherit;
  font-size: 14px;
  font-size: 1.4rem
}

.mod-tab2 .mod-tab2-item a span {
  display: inline-block;
  text-align: left
}

.mod-tab3 {
  border-width: 0
}

.mod-tab3:before {
  top: 36px;
  bottom: auto;
  height: 36px
}

.mod-tab3 .mod-tab3-ul {
  text-align: left;
  padding-left: 18px
}

.mod-tab3 .mod-tab3-ul>li {
  display: inline-block;
  margin-right: 5px
}

.mod-tab3 .mod-tab3-item {
  font-size: 14px;
  font-size: 1.4rem;
  width: 150px;
  height: 36px;
  line-height: 36px;
  color: inherit;
  text-align: center;
  text-decoration: none
}

.mod-tab3 .mod-tab3-body {
  display: none;
  border-top: 1px solid #cdcbc4;
  padding-top: 35px
}

.mod-tab3 .mod-tab3-body--is-current {
  display: block
}

.mod-tab+.mod-withinPageNav3 {
  margin-top: -10px
}

@media screen and (min-width: 599px) and (max-width: 960px) {
  .mod-tab2 .mod-tab2-item a {
    font-size: 12px;
    font-size: 1.2rem
  }
}

@media screen and (min-width: 600px) and (max-width: 719px) {
  .mod-tab .mod-tab-ul--type-1>.mod-tab-item {
    min-width: 110px;
    font-size: 15px;
    font-size: 1.5rem
  }
}

@media screen and (min-width: 600px) and (max-width: 659px) {
  .mod-tab2 .mod-tab2-item a {
    padding: 0 3px;
    font-size: 10px;
    font-size: 1rem
  }
}

@media screen and (min-width: 960px) {
  .mod-line, .mod-productHeroImage, .mod-tab, .mod-tab2, .mod-tab3 {
    margin-left: 0;
    margin-right: 0
  }
}

@media screen and (max-width: 599px) {
  .mod-tab, .mod-tab2, .mod-tab3 {
    width: auto !important;
    display: block !important;
    margin-left: -15px;
    margin-right: -15px
  }
  .mod-tab, .mod-tab2, .mod-tab3 {
    border-color: #333;
    border-width: 5px 0 0;
    margin-bottom: 0
  }
  .mod-tab2:before, .mod-tab3:before, .mod-tab:before {
    display: none
  }
  .mod-tab .mod-tab-ul, .mod-tab2 .mod-tab2-ul, .mod-tab3 .mod-tab3-ul {
    padding-left: 0;
    margin-bottom: 0;
    overflow: hidden
  }
  .mod-tab .mod-tab-item, .mod-tab2 .mod-tab2-item a, .mod-tab3 .mod-tab3-item {
    float: left;
    width: 50%;
    margin: 0;
    border-radius: 0;
    border-width: 0 1px 1px 0;
    background: -webkit-linear-gradient(#f7f6f5 10%, #e0dfdc 85%, #f7f6f5);
    background: -moz-linear-gradient(#f7f6f5 10%, #e0dfdc 85%, #f7f6f5);
    background: linear-gradient(#f7f6f5 10%, #e0dfdc 85%, #f7f6f5);
    background-color: #e8e7e4
  }
  .mod-tab .mod-tab-item--is-current, .mod-tab2 .mod-tab2-item--is-current a, .mod-tab3 .mod-tab3-item--is-current {
    background-image: none;
    background-color: #fff;
    -webkit-box-shadow: inset 0 0 10px #ddddda;
    -moz-box-shadow: inset 0 0 10px #ddddda;
    box-shadow: inset 0 0 10px #ddddda;
    border-bottom-color: #cdcbc4;
    color: #666
  }
  .mod-tab .mod-tab-item--is-current a, .mod-tab2 .mod-tab2-item--is-current a a, .mod-tab3 .mod-tab3-item--is-current a {
    color: #666
  }
  .mod-tab .mod-tab-item--is-current:hover, .mod-tab2 .mod-tab2-item--is-current a:hover, .mod-tab3 .mod-tab3-item--is-current:hover {
    border-bottom-color: #cdcbc4
  }
  .mod-tab .mod-tab-ul--type-1>.mod-tab-item {
    width: 50%;
    padding-left: 0;
    padding-right: 0
  }
  .mod-tab3 .mod-tab3-ul {
    padding-left: 0
  }
  .mod-tab3 .mod-tab3-ul>li {
    float: left;
    width: 50%;
    margin-right: 0
  }
  .mod-tab3 .mod-tab3-item {
    font-size: 16px;
    font-size: 1.6rem;
    width: 100%;
    height: 46px;
    line-height: 46px
  }
  .mod-tab3 .mod-tab3-body {
    border-top: 0;
    padding: 20px 15px 0
  }
  .mod-tab+.mod-withinPageNav3 {
    margin-top: 15px
  }
}

.mod-linkBlock3 {
  display: block;
  position: relative;
  z-index: 3;
  margin: 0 auto 40px
}

.mod-linkBlock3+.mod-linkBlock3 {
  margin-top: -20px
}

.mod-linkBlock3-button {
  display: inline-block;
  padding: 10px;
  background: -webkit-linear-gradient(#f7f6f5 10%, #e8e7e4 85%, #f7f6f5);
  background: -moz-linear-gradient(#f7f6f5 10%, #e8e7e4 85%, #f7f6f5);
  background: linear-gradient(#f7f6f5 10%, #e8e7e4 85%, #f7f6f5);
  box-shadow: inset 0 1px 0 #fff;
  background-color: #e5e5dd;
  border: 1px solid #ccc;
  border-radius: 5px;
  color: #000
}

.mod-linkBlock3-button:before {
  font-family: FontAwesome;
  font-weight: 400;
  font-style: normal;
  display: inline-block;
  text-decoration: inherit;
  text-indent: 0;
  -webkit-font-smoothing: antialiased;
  *margin-right: .3em;
  color: #a8a8a8;
  font-size: 20px;
  margin-right: 10px
}

.mod-linkBlock3-inner {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: table;
  width: 100%;
  padding: 15px;
  border-radius: 6px;
  border: 2px solid #e6e5de;
  background-color: #f7f6f5;
  margin: 0 0 40px
}

.mod-linkBlock3-heading {
  color: #333;
  font-weight: 700;
  margin-bottom: 5px;
  font-size: 18px;
  font-size: 1.8rem
}

.mod-linkBlock3-body {
  display: table;
  width: 100%;
  table-layout: fixed;
  vertical-align: middle
}

.mod-linkBlock3-text {
  font-size: 14px;
  font-size: 1.4rem;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: table-cell
}

.mod-linkBlock3-buttons:first-child+.mod-linkBlock3-text {
  vertical-align: middle
}

.mod-linkBlock3-buttons {
  display: table-cell;
  width: 140px;
  padding-left: 20px;
  padding-right: 20px
}

.mod-linkBlock3-buttons:first-child {
  padding-left: 0;
  padding-right: 20px
}

.mod-linkBlock3-buttons--type-2 {
  width: 308px;
  padding-left: 20px;
  padding-right: 0
}

.mod-linkBlock3-buttons--type-2:first-child {
  padding-left: 0;
  padding-right: 20px
}

.mod-linkBlock3-button {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 14px;
  font-size: 1.4rem;
  display: inline-block;
  padding: 0 10px;
  min-width: 140px;
  height: 38px;
  line-height: 38px;
  margin-bottom: 0;
  text-align: center;
  color: #000 !important;
  border-color: #cdcbc4;
  vertical-align: top;
  text-decoration: none !important
}

.ie8 .mod-linkBlock3-button {
  min-width: 120px
}

.mod-linkBlock3-button:hover {
  background: -webkit-linear-gradient(#e8e7e4 10%, #d4d3d2 85%, #ccccca);
  background: -moz-linear-gradient(#e8e7e4 10%, #d4d3d2 85%, #ccccca);
  background: linear-gradient(#e8e7e4 10%, #d4d3d2 85%, #ccccca);
  background-color: #d4d3d2
}

.mod-linkBlock3-button:before {
  content: "\f105";
  position: relative;
  top: -1px;
  margin-right: 5px;
  vertical-align: top;
  color: #4e4e4e;
  font-size: 18px;
  font-weight: 700
}

.mod-linkBlock3-button+.mod-linkBlock3-button {
  margin-left: 15px
}

.mod-linkBlock3.support-loginStatusBlock {
  z-index: 1
}

.mod-linkBlock3.support-loginStatusBlock .mod-linkBlock3-inner {
  display: block;
  border-color: #666;
  background: #e8e7e6
}

.mod-linkBlock3.support-loginStatusBlock .mod-linkBlock3-inner .mod-linkBlock3-body .mod-linkBlock3-text {
  overflow: hidden
}

.mod-linkBlock3.support-loginStatusBlock .mod-linkBlock3-inner .mod-linkBlock3-body .mod-linkBlock3-text em, .mod-linkBlock3.support-loginStatusBlock .mod-linkBlock3-inner .mod-linkBlock3-body .mod-linkBlock3-text strong {
  display: inline-block;
  font-style: normal;
  line-height: 38px
}

.mod-linkBlock3.support-loginStatusBlock .mod-linkBlock3-inner .mod-linkBlock3-body .mod-linkBlock3-text strong {
  padding-right: 1em;
  font-size: 1.1em;
  font-weight: 700
}

.mod-linkBlock3.support-loginStatusBlock .mod-linkBlock3-inner .mod-linkBlock3-body .mod-linkBlock3-buttons .mod-linkBlock3-button {
  margin-top: -5px
}

.mod-linkBlock3.support-loginStatusBlock.support-loginStatusBlock--member .mod-linkBlock3-inner, .mod-linkBlock3.support-loginStatusBlock.support-loginStatusBlock--premium .mod-linkBlock3-inner {
  padding-top: 5px;
  padding-bottom: 5px
}

.mod-linkBlock3.support-loginStatusBlock.support-loginStatusBlock--premium .mod-linkBlock3-inner {
  border-color: #f0a800;
  background: #fdf5e3
}

@media screen and (max-width: 599px) {
  .mod-linkBlock3-inner {
    display: block;
    width: auto;
    border-radius: 0;
    border-left-width: 0;
    border-right-width: 0;
    margin-left: -15px;
    margin-right: -15px
  }
  .mod-linkBlock3-body, .mod-linkBlock3-text {
    display: block
  }
  .mod-linkBlock3-buttons {
    display: block;
    margin: 10px auto 0;
    text-align: center;
    padding-left: 0;
    padding-right: 0
  }
  .mod-linkBlock3-buttons:first-child {
    padding-left: 0;
    padding-right: 0;
    margin-top: 0;
    margin-bottom: 10px
  }
  .mod-linkBlock3-buttons--type-2 {
    width: auto;
    padding-left: 0;
    padding-right: 0
  }
  .mod-linkBlock3-buttons--type-2:first-child {
    padding-left: 0;
    padding-right: 0;
    margin-top: 0;
    margin-bottom: 10px
  }
  .mod-linkBlock3-buttons--type-left-ss {
    text-align: left
  }
  .mod-linkBlock3-button+.mod-linkBlock3-button {
    margin-left: 5px
  }
  .mod-linkBlock3.support-loginStatusBlock .mod-linkBlock3-inner .mod-linkBlock3-body .mod-linkBlock3-text em, .mod-linkBlock3.support-loginStatusBlock .mod-linkBlock3-inner .mod-linkBlock3-body .mod-linkBlock3-text strong {
    display: block;
    line-height: 1.7
  }
}

/* nikkor CSS */
.mod-layout2-row {
  position: relative; }
  .mod-layout2-row .mod-loginBlock.ncUserStatus {
    position: absolute;
    right: 0;
    width: auto; }
    .mod-layout2-row .mod-loginBlock.ncUserStatus .hasCookie,
    .mod-layout2-row .mod-loginBlock.ncUserStatus .hasntCookie {
      display: none; }
    .mod-layout2-row .mod-loginBlock.ncUserStatus.ncLogingOut .hasntCookie {
      display: block; }
    .mod-layout2-row .mod-loginBlock.ncUserStatus.ncLogingIn .hasCookie {
      display: block; }
    .mod-layout2-row .mod-loginBlock.ncUserStatus .mod-layout-item {
      padding-left: 20px; }
      .mod-layout2-row .mod-loginBlock.ncUserStatus .mod-layout-item:first-child {
        width: auto;
        padding: 0;
        padding-top: 4px;
        border-left: none;
        text-align: right; }
        .mod-layout2-row .mod-loginBlock.ncUserStatus .mod-layout-item:first-child a {
          padding-right: 12px; }
      .mod-layout2-row .mod-loginBlock.ncUserStatus .mod-layout-item:last-child {
        width: auto; }
      .mod-layout2-row .mod-loginBlock.ncUserStatus .mod-layout-item .state-login {
        display: inline-block;
        position: relative;
        top: 2px;
        margin: 0;
        padding-right: 10px;
        vertical-align: middle;
        line-height: 1;
        font-size: 14px;
        font-weight: bold; }
    .mod-layout2-row .mod-loginBlock.ncUserStatus .mod-linkBlock3-button + .mod-linkBlock3-button {
      margin-left: 0; }

.mod-activityBlock .mod-layout-item .mod-activity-statusList {
  margin-bottom: 10px; }
  .mod-activityBlock .mod-layout-item .mod-activity-statusList span {
    display: inline-block;
    margin-left: 9px;
    padding: 4px 6px;
    font-size: 15px;
    line-height: 1;
    vertical-align: top; }
    .mod-activityBlock .mod-layout-item .mod-activity-statusList span:first-child {
      margin-left: 0; }
  .mod-activityBlock .mod-layout-item .mod-activity-statusList .mod-activity-status1 {
    color: #fff;
    background-color: #808080;
    border-radius: 2px; }
  .mod-activityBlock .mod-layout-item .mod-activity-statusList .mod-activity-status2 {
    color: #333;
    background-color: #ffe600;
    border-radius: 2px; }

.mod-activityBlock .mod-line {
  margin-bottom: 20px; }

.mod-activityBlock .mod-line + p {
  margin-bottom: 15px;
  color: #666;
  font-weight: bold;
  line-height: 1; }

.mod-specialtyMedia-image img {
  width: 100%;
  height: auto; }

.mod-supportBlock-ul small {
  color: #555;
  font-size: 14px; }

.mod-specialtyText .activity-photo-by {
  margin-top: 110px; }

@media screen and (max-width: 830px) {
  .mod-layout2-row {
    padding-top: 50px; }
    .mod-layout2-row.ncLogingIn {
      padding-top: 90px; }
      .mod-layout2-row.ncLogingIn .mod-layout-item {
        clear: both;
        float: right; }
    .mod-layout2-row .mod-loginBlock.ncUserStatus {
      top: 0; }
      .mod-layout2-row .mod-loginBlock.ncUserStatus.ncLogingIn .hasCookie .mod-layout-item:first-child {
        margin-bottom: 6px; }
      .mod-layout2-row .mod-loginBlock.ncUserStatus.ncLogingIn .hasCookie .mod-layout-item:after {
        display: none; }
      .mod-layout2-row .mod-loginBlock.ncUserStatus.ncLogingIn .hasCookie .mod-layout-item a {
        padding-right: 0; }
      .mod-layout2-row .mod-loginBlock.ncUserStatus .mod-layout-item {
        display: inline-block;
        width: auto; }
        .mod-layout2-row .mod-loginBlock.ncUserStatus .mod-layout-item:first-child {
          width: auto; }
        .mod-layout2-row .mod-loginBlock.ncUserStatus .mod-layout-item:last-child {
          width: auto; }
        .mod-layout2-row .mod-loginBlock.ncUserStatus .mod-layout-item .state-login {
          display: inline-block;
          position: relative;
          top: 2px;
          margin: 0;
          padding-right: 10px;
          vertical-align: middle;
          line-height: 1;
          font-size: 14px;
          font-weight: bold; } }

@media screen and (max-width: 599px) {
  .mod-specialtyText .activity-photo-by {
    margin-top: 0; } }
