@charset "UTF-8";
/*
Theme Name: Akros Web & Business Design Academy var2018
Theme URI: http://akros-ac.jp/
Author: A-PLUS
Author URI: https://akros-ac.jp/
*/
/***********************************************************************

                                  ####
                                ########
                              ############
                            ####### ########
                          #######     ########
                        #######         ########
                      #######              #######
                    ########                ########
                  ##########      ####################
                ####### ####      ######################
              #######   ####           #####    ##########
            ########   #######         #####     ###########
          #########################    #####     ####  #######
        ###########################                      #######
      #######           ####         ##################    #######
    ###############################  ##################      #######
  #################################  #####         ####        #######
###################################  ####          ####          #######
#######                 ####         ###################         #######
  #######               #####        ###################       #######
    #######    #####    ##########  ####$===========####     #######
      #####    #####    ##########  ####$===========####   #######
        ###    #####    ####        ####============$###########
          #    #####    #####     #####$=============#########
               #######################===============#######
               ####################$===============#######
                #######==========================#######
                  #######======================#######
                    #######==================#######
                      #######==============#######
                        #######==========#######
                          #######======#######
                            #######$$#######
                              ############
                                ########
                                  ####

************************************************************************/
.mb-none {
  margin-bottom: 0 !important; }

.mb-10-xs {
  margin-bottom: 10px !important; }
  @media only screen and (min-width: 768px) {
    .mb-10-xs {
      margin-bottom: 0 !important; } }
  @media print {
    .mb-10-xs {
      margin-bottom: 0 !important; } }

.mb-20-xs {
  margin-bottom: 20px !important; }
  @media only screen and (min-width: 768px) {
    .mb-20-xs {
      margin-bottom: 0 !important; } }
  @media print {
    .mb-20-xs {
      margin-bottom: 0 !important; } }

.mb-30-xs {
  margin-bottom: 30px !important; }
  @media only screen and (min-width: 768px) {
    .mb-30-xs {
      margin-bottom: 0 !important; } }
  @media print {
    .mb-30-xs {
      margin-bottom: 0 !important; } }

.mb-40-xs {
  margin-bottom: 40px !important; }
  @media only screen and (min-width: 768px) {
    .mb-40-xs {
      margin-bottom: 0 !important; } }
  @media print {
    .mb-40-xs {
      margin-bottom: 0 !important; } }

.mb-5 {
  margin-bottom: 5px !important; }

.mb-10 {
  margin-bottom: 5px !important; }
  @media only screen and (min-width: 768px) {
    .mb-10 {
      margin-bottom: 10px !important; } }
  @media print {
    .mb-10 {
      margin-bottom: 10px !important; } }

.mb-15 {
  margin-bottom: 5px !important; }
  @media only screen and (min-width: 768px) {
    .mb-15 {
      margin-bottom: 15px !important; } }
  @media print {
    .mb-15 {
      margin-bottom: 15px !important; } }

.mb-20 {
  margin-bottom: 10px !important; }
  @media only screen and (min-width: 768px) {
    .mb-20 {
      margin-bottom: 20px !important; } }
  @media print {
    .mb-20 {
      margin-bottom: 20px !important; } }

.mb-30 {
  margin-bottom: 20px !important; }
  @media only screen and (min-width: 768px) {
    .mb-30 {
      margin-bottom: 30px !important; } }
  @media print {
    .mb-30 {
      margin-bottom: 30px !important; } }

.mb-40 {
  margin-bottom: 20px !important; }
  @media only screen and (min-width: 768px) {
    .mb-40 {
      margin-bottom: 40px !important; } }
  @media print {
    .mb-40 {
      margin-bottom: 40px !important; } }

.mb-50 {
  margin-bottom: 30px !important; }
  @media only screen and (min-width: 768px) {
    .mb-50 {
      margin-bottom: 50px !important; } }
  @media print {
    .mb-50 {
      margin-bottom: 50px !important; } }

.mb-60 {
  margin-bottom: 30px !important; }
  @media only screen and (min-width: 768px) {
    .mb-60 {
      margin-bottom: 60px !important; } }
  @media print {
    .mb-60 {
      margin-bottom: 60px !important; } }

.mb-70 {
  margin-bottom: 35px !important; }
  @media only screen and (min-width: 768px) {
    .mb-70 {
      margin-bottom: 70px !important; } }
  @media print {
    .mb-70 {
      margin-bottom: 70px !important; } }

.mb-80 {
  margin-bottom: 40px !important; }
  @media only screen and (min-width: 768px) {
    .mb-80 {
      margin-bottom: 80px !important; } }
  @media print {
    .mb-80 {
      margin-bottom: 80px !important; } }

.mb-100 {
  margin-bottom: 60px !important; }
  @media only screen and (min-width: 768px) {
    .mb-100 {
      margin-bottom: 100px !important; } }
  @media print {
    .mb-100 {
      margin-bottom: 100px !important; } }

.section-xs {
  padding: 10px 0 !important; }
  @media only screen and (min-width: 768px) {
    .section-xs {
      padding: 20px 0 !important; } }
  @media print {
    .section-xs {
      padding: 20px 0 !important; } }

.section-sm {
  padding: 10px 0 !important; }
  @media only screen and (min-width: 768px) {
    .section-sm {
      padding: 30px 0 !important; } }
  @media print {
    .section-sm {
      padding: 30px 0 !important; } }

.section-sm {
  padding: 20px 0 !important; }
  @media only screen and (min-width: 768px) {
    .section-sm {
      padding: 40px 0 !important; } }
  @media print {
    .section-sm {
      padding: 40px 0 !important; } }

.section-md {
  padding: 30px 0 !important; }
  @media only screen and (min-width: 768px) {
    .section-md {
      padding: 50px 0 !important; } }
  @media print {
    .section-md {
      padding: 50px 0 !important; } }

.section-lg {
  padding: 30px 0 !important; }
  @media only screen and (min-width: 768px) {
    .section-lg {
      padding: 60px 0 !important; } }
  @media print {
    .section-lg {
      padding: 60px 0 !important; } }

.section-xl {
  padding: 40px 0 !important; }
  @media only screen and (min-width: 768px) {
    .section-xl {
      padding: 80px 0 !important; } }
  @media print {
    .section-xl {
      padding: 80px 0 !important; } }

@media print {
  /**
   * Bootstrap Print v1.0.0 (https://github.com/onocom/bootstrap-print)
   * Copyright (c) 2017 Ono Takashi
   * Licensed under MIT (https://github.com/onocom/bootstrap-print/blob/master/LICENSE)
   */
  @page {
    margin: 8mm;
    margin: 10mm 8mm 10mm 8mm; }
  * {
    -webkit-print-color-adjust: exact !important;
    background-attachment: initial !important;
    overflow-y: visible !important; }
  html {
    overflow: visible !important;
    zoom: 0.7 !important; }
  body {
    min-width: 1240px !important;
    padding-top: 0px !important;
    padding-bottom: 0px !important; }
  .container-fluid,
  .container {
    min-width: 1170px !important; }
  .row {
    margin-left: -15px !important;
    margin-right: -15px !important; }
  .dl-horizontal dt {
    float: left;
    width: 160px;
    overflow: hidden;
    clear: left;
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap; }
  .dl-horizontal dd {
    margin-left: 180px; }
  .form-inline .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle; }
  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle; }
  .form-inline .form-control-static {
    display: inline-block; }
  .form-inline .input-group {
    display: inline-table;
    vertical-align: middle; }
  .form-inline .input-group .input-group-addon,
  .form-inline .input-group .input-group-btn,
  .form-inline .input-group .form-control {
    width: auto; }
  .form-inline .input-group > .form-control {
    width: 100%; }
  .form-inline .control-label {
    margin-bottom: 0;
    vertical-align: middle; }
  .form-inline .radio,
  .form-inline .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle; }
  .form-inline .radio label,
  .form-inline .checkbox label {
    padding-left: 0; }
  .form-inline .radio input[type="radio"],
  .form-inline .checkbox input[type="checkbox"] {
    position: relative;
    margin-left: 0; }
  .form-inline .has-feedback .form-control-feedback {
    top: 0; }
  .form-horizontal .control-label {
    padding-top: 7px;
    margin-bottom: 0;
    text-align: right; }
  .form-horizontal .form-group-lg .control-label {
    padding-top: 11px;
    font-size: 18px; }
  .form-horizontal .form-group-sm .control-label {
    padding-top: 6px;
    font-size: 12px; }
  .navbar-header {
    float: left; }
  .navbar-right .dropdown-menu {
    right: 0;
    left: auto; }
  .navbar-right .dropdown-menu-left {
    right: auto;
    left: 0; }
  .navbar {
    border-radius: 0; }
  .navbar-collapse {
    width: auto;
    border-top: 0;
    -webkit-box-shadow: none;
    box-shadow: none; }
  .navbar-collapse.collapse {
    display: block;
    height: auto;
    padding-bottom: 0;
    overflow: visible; }
  .navbar-collapse.in {
    overflow-y: visible; }
  .nav-justified {
    width: 100%; }
  .nav-justified > li {
    float: none; }
  .nav-justified > .dropdown .dropdown-menu {
    top: auto;
    left: auto; }
  .nav-justified > li {
    display: table-cell;
    width: 1%; }
  .nav-justified > li > a {
    margin-bottom: 0; }
  .navbar-fixed-top,
  .navbar-fixed-bottom {
    position: static; }
  .navbar-fixed-top .navbar-collapse,
  .navbar-static-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    padding-right: 0;
    padding-left: 0; }
  .container > .navbar-header,
  .container-fluid > .navbar-header,
  .container > .navbar-collapse,
  .container-fluid > .navbar-collapse {
    margin-right: 0;
    margin-left: 0; }
  .navbar-static-top {
    border-radius: 0; }
  .navbar-fixed-top,
  .navbar-fixed-bottom {
    border-radius: 0; }
  .navbar > .container .navbar-brand,
  .navbar > .container-fluid .navbar-brand {
    margin-left: -15px; }
  .navbar-toggle {
    display: none; }
  .navbar-nav {
    float: left;
    margin: 0; }
  .navbar-nav > li {
    float: left; }
  .navbar-nav > li > a {
    padding-top: 15px;
    padding-bottom: 15px; }
  .navbar-form .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle; }
  .navbar-form .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle; }
  .navbar-form .form-control-static {
    display: inline-block; }
  .navbar-form .input-group {
    display: inline-table;
    vertical-align: middle; }
  .navbar-form .input-group .input-group-addon,
  .navbar-form .input-group .input-group-btn,
  .navbar-form .input-group .form-control {
    width: auto; }
  .navbar-form .input-group > .form-control {
    width: 100%; }
  .navbar-form .control-label {
    margin-bottom: 0;
    vertical-align: middle; }
  .navbar-form .radio,
  .navbar-form .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle; }
  .navbar-form .radio label,
  .navbar-form .checkbox label {
    padding-left: 0; }
  .navbar-form .radio input[type="radio"],
  .navbar-form .checkbox input[type="checkbox"] {
    position: relative;
    margin-left: 0; }
  .navbar-form .has-feedback .form-control-feedback {
    top: 0; }
  .navbar-text {
    float: left;
    margin-right: 15px;
    margin-left: 15px; }
  .navbar-left {
    float: left; }
  .navbar-right {
    float: right;
    margin-right: -15px; }
  .navbar-right ~ .navbar-right {
    margin-right: 0; }
  .jumbotron {
    padding-top: 48px;
    padding-bottom: 48px; }
  .container .jumbotron,
  .container-fluid .jumbotron {
    padding-right: 60px;
    padding-left: 60px; }
  .jumbotron h1,
  .jumbotron .h1 {
    font-size: 63px; }
  .modal-dialog {
    width: 600px;
    margin: 30px auto; }
  .modal-content {
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); }
  .modal-sm {
    width: 300px; }
  .modal-lg {
    width: 900px; }
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-prev,
  .carousel-control .icon-next {
    width: 30px;
    height: 30px;
    margin-top: -10px;
    font-size: 30px; }
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .icon-prev {
    margin-left: -10px; }
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-next {
    margin-right: -10px; }
  .carousel-caption {
    right: 20%;
    left: 20%;
    padding-bottom: 30px; }
  .carousel-indicators {
    bottom: 20px; }
  .col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
    float: left; }
  .col-lg-12, .col-md-12, .col-sm-12, .col-xs-12 {
    width: 100%; }
  .col-lg-11, .col-md-11, .col-sm-11, .col-xs-11 {
    width: 91.66666667%; }
  .col-lg-10, .col-md-10, .col-sm-10, .col-xs-10 {
    width: 83.33333333%; }
  .col-lg-9, .col-md-9, .col-sm-9, .col-xs-9 {
    width: 75%; }
  .col-lg-8, .col-md-8, .col-sm-8, .col-xs-8 {
    width: 66.66666667%; }
  .col-lg-7, .col-md-7, .col-sm-7, .col-xs-7 {
    width: 58.33333333%; }
  .col-lg-6, .col-md-6, .col-sm-6, .col-xs-6 {
    width: 50%; }
  .col-lg-5, .col-md-5, .col-sm-5, .col-xs-5 {
    width: 41.66666667%; }
  .col-lg-4, .col-md-4, .col-sm-4, .col-xs-4 {
    width: 33.33333333%; }
  .col-lg-3, .col-md-3, .col-sm-3, .col-xs-3 {
    width: 25%; }
  .col-lg-2, .col-md-2, .col-sm-2, .col-xs-2 {
    width: 16.66666667%; }
  .col-lg-1, .col-md-1, .col-sm-1, .col-xs-1 {
    width: 8.33333333%; }
  .col-lg-pull-12, .col-md-pull-12, .col-sm-pull-12, .col-xs-pull-12 {
    right: 100%; }
  .col-lg-pull-11, .col-md-pull-11, .col-sm-pull-11, .col-xs-pull-11 {
    right: 91.66666667%; }
  .col-lg-pull-10, .col-md-pull-10, .col-sm-pull-10, .col-xs-pull-10 {
    right: 83.33333333%; }
  .col-lg-pull-9, .col-md-pull-9, .col-sm-pull-9, .col-xs-pull-9 {
    right: 75%; }
  .col-lg-pull-8, .col-md-pull-8, .col-sm-pull-8, .col-xs-pull-8 {
    right: 66.66666667%; }
  .col-lg-pull-7, .col-md-pull-7, .col-sm-pull-7, .col-xs-pull-7 {
    right: 58.33333333%; }
  .col-lg-pull-6, .col-md-pull-6, .col-sm-pull-6, .col-xs-pull-6 {
    right: 50%; }
  .col-lg-pull-5, .col-md-pull-5, .col-sm-pull-5, .col-xs-pull-5 {
    right: 41.66666667%; }
  .col-lg-pull-4, .col-md-pull-4, .col-sm-pull-4, .col-xs-pull-4 {
    right: 33.33333333%; }
  .col-lg-pull-3, .col-md-pull-3, .col-sm-pull-3, .col-xs-pull-3 {
    right: 25%; }
  .col-lg-pull-2, .col-md-pull-2, .col-sm-pull-2, .col-xs-pull-2 {
    right: 16.66666667%; }
  .col-lg-pull-1, .col-md-pull-1, .col-sm-pull-1, .col-xs-pull-1 {
    right: 8.33333333%; }
  .col-lg-pull-0, .col-md-pull-0, .col-sm-pull-0, .col-xs-pull-0 {
    right: auto; }
  .col-lg-push-12, .col-md-push-12, .col-sm-push-12, .col-xs-push-12 {
    left: 100%; }
  .col-lg-push-11, .col-md-push-11, .col-sm-push-11, .col-xs-push-11 {
    left: 91.66666667%; }
  .col-lg-push-10, .col-md-push-10, .col-sm-push-10, .col-xs-push-10 {
    left: 83.33333333%; }
  .col-lg-push-9, .col-md-push-9, .col-sm-push-9, .col-xs-push-9 {
    left: 75%; }
  .col-lg-push-8, .col-md-push-8, .col-sm-push-8, .col-xs-push-8 {
    left: 66.66666667%; }
  .col-lg-push-7, .col-md-push-7, .col-sm-push-7, .col-xs-push-7 {
    left: 58.33333333%; }
  .col-lg-push-6, .col-md-push-6, .col-sm-push-6, .col-xs-push-6 {
    left: 50%; }
  .col-lg-push-5, .col-md-push-5, .col-sm-push-5, .col-xs-push-5 {
    left: 41.66666667%; }
  .col-lg-push-4, .col-md-push-4, .col-sm-push-4, .col-xs-push-4 {
    left: 33.33333333%; }
  .col-lg-push-3, .col-md-push-3, .col-sm-push-3, .col-xs-push-3 {
    left: 25%; }
  .col-lg-push-2, .col-md-push-2, .col-sm-push-2, .col-xs-push-2 {
    left: 16.66666667%; }
  .col-lg-push-1, .col-md-push-1, .col-sm-push-1, .col-xs-push-1 {
    left: 8.33333333%; }
  .col-lg-push-0, .col-md-push-0, .col-sm-push-0, .col-xs-push-0 {
    left: auto; }
  .col-lg-offset-12, .col-md-offset-12, .col-sm-offset-12, .col-xs-offset-12 {
    margin-left: 100%; }
  .col-lg-offset-11, .col-md-offset-11, .col-sm-offset-11, .col-xs-offset-11 {
    margin-left: 91.66666667%; }
  .col-lg-offset-10, .col-md-offset-10, .col-sm-offset-10, .col-xs-offset-10 {
    margin-left: 83.33333333%; }
  .col-lg-offset-9, .col-md-offset-9, .col-sm-offset-9, .col-xs-offset-9 {
    margin-left: 75%; }
  .col-lg-offset-8, .col-md-offset-8, .col-sm-offset-8, .col-xs-offset-8 {
    margin-left: 66.66666667%; }
  .col-lg-offset-7, .col-md-offset-7, .col-sm-offset-7, .col-xs-offset-7 {
    margin-left: 58.33333333%; }
  .col-lg-offset-6, .col-md-offset-6, .col-sm-offset-6, .col-xs-offset-6 {
    margin-left: 50%; }
  .col-lg-offset-5, .col-md-offset-5, .col-sm-offset-5, .col-xs-offset-5 {
    margin-left: 41.66666667%; }
  .col-lg-offset-4, .col-md-offset-4, .col-sm-offset-4, .col-xs-offset-4 {
    margin-left: 33.33333333%; }
  .col-lg-offset-3, .col-md-offset-3, .col-sm-offset-3, .col-xs-offset-3 {
    margin-left: 25%; }
  .col-lg-offset-2, .col-md-offset-2, .col-sm-offset-2, .col-xs-offset-2 {
    margin-left: 16.66666667%; }
  .col-lg-offset-1, .col-md-offset-1, .col-sm-offset-1, .col-xs-offset-1 {
    margin-left: 8.33333333%; }
  .col-lg-offset-0, .col-md-offset-0, .col-sm-offset-0, .col-xs-offset-0 {
    margin-left: 0%; }
  .visible-xs,
  .visible-sm,
  .visible-md {
    display: none !important; }
  .visible-lg {
    display: block !important; }
  .visible-xs-block,
  .visible-xs-inline,
  .visible-xs-inline-block,
  .visible-sm-block,
  .visible-sm-inline,
  .visible-sm-inline-block,
  .visible-md-block,
  .visible-md-inline,
  .visible-md-inline-block {
    display: none !important; }
  .visible-lg-block,
  .visible-lg-inline,
  .visible-lg-inline-block {
    display: block !important; }
  .hidden-xs,
  .hidden-sm,
  .hidden-md {
    display: block !important; }
  .hidden-lg {
    display: none !important; }
  .navbar-offcanvas {
    position: relative;
    display: block;
    width: auto;
    max-width: none;
    left: auto;
    top: auto; } }

img.img-harf {
  height: auto;
  max-width: 100%; }
  @media only screen and (min-width: 768px) {
    img.img-harf {
      width: auto; } }
  @media print {
    img.img-harf {
      width: auto; } }

.pie-clearfix {
  *zoom: 1; }
  .pie-clearfix:before, .pie-clearfix:after {
    content: " ";
    display: table; }
  .pie-clearfix:after {
    clear: both; }

.lh-1 {
  line-height: 1; }

.lh-sm {
  line-height: 1.2; }

.lh-md {
  line-height: 1.6; }

.lh-lg {
  line-height: 2; }

.txt-center-pc {
  text-align: left; }
  @media only screen and (min-width: 768px) {
    .txt-center-pc {
      text-align: center; } }
  @media print {
    .txt-center-pc {
      text-align: center; } }

.txt-10 {
  font-size: 9px;
  font-size: 0.9rem; }
  @media only screen and (min-width: 768px) {
    .txt-10 {
      font-size: 10px;
      font-size: 1rem; } }
  @media print {
    .txt-10 {
      font-size: 10px;
      font-size: 1rem; } }

.txt-11 {
  font-size: 10px;
  font-size: 1rem; }
  @media only screen and (min-width: 768px) {
    .txt-11 {
      font-size: 11px;
      font-size: 1.1rem; } }
  @media print {
    .txt-11 {
      font-size: 11px;
      font-size: 1.1rem; } }

.txt-12 {
  font-size: 11px;
  font-size: 1.1rem; }
  @media only screen and (min-width: 768px) {
    .txt-12 {
      font-size: 12px;
      font-size: 1.2rem; } }
  @media print {
    .txt-12 {
      font-size: 12px;
      font-size: 1.2rem; } }

.txt-13 {
  font-size: 12px;
  font-size: 1.2rem; }
  @media only screen and (min-width: 768px) {
    .txt-13 {
      font-size: 13px;
      font-size: 1.3rem; } }
  @media print {
    .txt-13 {
      font-size: 13px;
      font-size: 1.3rem; } }

.txt-14 {
  font-size: 13px;
  font-size: 1.3rem; }
  @media only screen and (min-width: 768px) {
    .txt-14 {
      font-size: 14px;
      font-size: 1.4rem; } }
  @media print {
    .txt-14 {
      font-size: 14px;
      font-size: 1.4rem; } }

.txt-15 {
  font-size: 14px;
  font-size: 1.4rem; }
  @media only screen and (min-width: 768px) {
    .txt-15 {
      font-size: 15px;
      font-size: 1.5rem; } }
  @media print {
    .txt-15 {
      font-size: 15px;
      font-size: 1.5rem; } }

.txt-16 {
  font-size: 14px;
  font-size: 1.4rem; }
  @media only screen and (min-width: 768px) {
    .txt-16 {
      font-size: 16px;
      font-size: 1.6rem; } }
  @media print {
    .txt-16 {
      font-size: 16px;
      font-size: 1.6rem; } }

.txt-17 {
  font-size: 15px;
  font-size: 1.5rem; }
  @media only screen and (min-width: 768px) {
    .txt-17 {
      font-size: 17px;
      font-size: 1.7rem; } }
  @media print {
    .txt-17 {
      font-size: 17px;
      font-size: 1.7rem; } }

.txt-18 {
  font-size: 16px;
  font-size: 1.6rem; }
  @media only screen and (min-width: 768px) {
    .txt-18 {
      font-size: 18px;
      font-size: 1.8rem; } }
  @media print {
    .txt-18 {
      font-size: 18px;
      font-size: 1.8rem; } }

.txt-19 {
  font-size: 17px;
  font-size: 1.7rem; }
  @media only screen and (min-width: 768px) {
    .txt-19 {
      font-size: 19px;
      font-size: 1.9rem; } }
  @media print {
    .txt-19 {
      font-size: 19px;
      font-size: 1.9rem; } }

.txt-20 {
  font-size: 18px;
  font-size: 1.8rem; }
  @media only screen and (min-width: 768px) {
    .txt-20 {
      font-size: 20px;
      font-size: 2rem; } }
  @media print {
    .txt-20 {
      font-size: 20px;
      font-size: 2rem; } }

.txt-22 {
  font-size: 19px;
  font-size: 1.9rem; }
  @media only screen and (min-width: 768px) {
    .txt-22 {
      font-size: 22px;
      font-size: 2.2rem; } }
  @media print {
    .txt-22 {
      font-size: 22px;
      font-size: 2.2rem; } }

.txt-23 {
  font-size: 20px;
  font-size: 2rem; }
  @media only screen and (min-width: 768px) {
    .txt-23 {
      font-size: 23px;
      font-size: 2.3rem; } }
  @media print {
    .txt-23 {
      font-size: 23px;
      font-size: 2.3rem; } }

.txt-24 {
  font-size: 20px;
  font-size: 2rem; }
  @media only screen and (min-width: 768px) {
    .txt-24 {
      font-size: 24px;
      font-size: 2.4rem; } }
  @media print {
    .txt-24 {
      font-size: 24px;
      font-size: 2.4rem; } }

.txt-26 {
  font-size: 22px;
  font-size: 2.2rem; }
  @media only screen and (min-width: 768px) {
    .txt-26 {
      font-size: 26px;
      font-size: 2.6rem; } }
  @media print {
    .txt-26 {
      font-size: 26px;
      font-size: 2.6rem; } }

.txt-28 {
  font-size: 23px;
  font-size: 2.3rem; }
  @media only screen and (min-width: 768px) {
    .txt-28 {
      font-size: 28px;
      font-size: 2.8rem; } }
  @media print {
    .txt-28 {
      font-size: 28px;
      font-size: 2.8rem; } }

.txt-32 {
  font-size: 26px;
  font-size: 2.6rem; }
  @media only screen and (min-width: 768px) {
    .txt-32 {
      font-size: 32px;
      font-size: 3.2rem; } }
  @media print {
    .txt-32 {
      font-size: 32px;
      font-size: 3.2rem; } }

.txt-36 {
  font-size: 28px;
  font-size: 2.8rem; }
  @media only screen and (min-width: 768px) {
    .txt-36 {
      font-size: 36px;
      font-size: 3.6rem; } }
  @media print {
    .txt-36 {
      font-size: 36px;
      font-size: 3.6rem; } }

.txt-38 {
  font-size: 28px;
  font-size: 2.8rem; }
  @media only screen and (min-width: 768px) {
    .txt-38 {
      font-size: 38px;
      font-size: 3.8rem; } }
  @media print {
    .txt-38 {
      font-size: 38px;
      font-size: 3.8rem; } }

.txt-40 {
  font-size: 32px;
  font-size: 3.2rem; }
  @media only screen and (min-width: 768px) {
    .txt-40 {
      font-size: 40px;
      font-size: 4rem; } }
  @media print {
    .txt-40 {
      font-size: 40px;
      font-size: 4rem; } }

.txt-48 {
  font-size: 34px;
  font-size: 3.4rem; }
  @media only screen and (min-width: 768px) {
    .txt-48 {
      font-size: 48px;
      font-size: 4.8rem; } }
  @media print {
    .txt-48 {
      font-size: 48px;
      font-size: 4.8rem; } }

.txt-60 {
  font-size: 40px;
  font-size: 4rem; }
  @media only screen and (min-width: 768px) {
    .txt-60 {
      font-size: 60px;
      font-size: 6rem; } }
  @media print {
    .txt-60 {
      font-size: 60px;
      font-size: 6rem; } }

.ls-xs {
  letter-spacing: -0.05em; }

.ls-0 {
  letter-spacing: 0; }

.ls-sm {
  letter-spacing: 0.05em; }

.ls-md {
  letter-spacing: 0.101em; }

.txt-center {
  text-align: center; }

.txt-center-xs {
  text-align: center; }
  @media only screen and (min-width: 768px) {
    .txt-center-xs {
      text-align: left; } }
  @media print {
    .txt-center-xs {
      text-align: left; } }

.txt-left {
  text-align: left; }

.txt-right {
  text-align: right; }

.txt-bold {
  font-weight: 600; }

.txt-normal {
  font-weight: normal; }

.txt-indent {
  padding-left: 1em;
  text-indent: -1em; }

.inline-block {
  display: inline-block; }

/* =====================
  common setting
===================== */
html, body {
  width: 100%;
  height: 100%;
  font-family: "Noto Sans JP","Arial", Lato, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 10px;
  line-height: 1.66667;
  letter-spacing: 0.05em;
  color: #111;
  -webkit-text-size-adjust: 100%;
  font-weight: 400;
  -webkit-print-color-adjust: exact; }
  @media only screen and (min-width: 768px) {
    html, body {
      line-height: 1.8; } }
  @media print {
    html, body {
      line-height: 1.8; } }

body {
  position: relative;
  color: #111; }

.container-lg {
  max-width: 1170px; }

h1, h2, h3, h4, h5, p, dl, ul {
  margin: 0; }

.header, .wrapper-pages, .main, .footer {
  font-size: 15px;
  font-size: 1.5rem; }
  @media only screen and (min-width: 768px) {
    .header, .wrapper-pages, .main, .footer {
      font-size: 16px;
      font-size: 1.6rem; } }
  @media print {
    .header, .wrapper-pages, .main, .footer {
      font-size: 16px;
      font-size: 1.6rem; } }

a {
  color: #00a0e9; }
  a:hover {
    text-decoration: none; }

.img-btn {
  display: block;
  vertical-align: bottom; }
  .img-btn img {
    transition: opacity 0.25s linear !important;
    opacity: 1; }
  .img-btn:hover img {
    opacity: .7; }

.img-round {
  overflow: hidden;
  display: inline-block;
  max-width: 100%;
  border-radius: 5px; }

.tgt-anker {
  padding-top: 50px;
  margin-top: -50px; }
  @media only screen and (min-width: 768px) {
    .tgt-anker {
      padding-top: 70px;
      margin-top: -70px; } }
  @media print {
    .tgt-anker {
      padding-top: 70px;
      margin-top: -70px; } }

.bb-30 {
  padding-bottom: 20px;
  border-bottom: 1px solid #ddd; }
  @media only screen and (min-width: 768px) {
    .bb-30 {
      padding-bottom: 30px; } }
  @media print {
    .bb-30 {
      padding-bottom: 30px; } }

.wrapper-gray {
  position: relative; }
  .wrapper-gray .bg-gray {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #f6f6f6;
    z-index: -1;
    top: 80px; }
    @media only screen and (min-width: 768px) {
      .wrapper-gray .bg-gray {
        top: 120px; } }
    @media print {
      .wrapper-gray .bg-gray {
        top: 120px; } }

.row-min .col-xs-6:nth-child(odd) {
  padding-right: 5px; }
  @media only screen and (min-width: 768px) {
    .row-min .col-xs-6:nth-child(odd) {
      padding-right: 15px; } }
  @media print {
    .row-min .col-xs-6:nth-child(odd) {
      padding-right: 15px; } }

.row-min .col-xs-6:nth-child(even) {
  padding-left: 5px; }
  @media only screen and (min-width: 768px) {
    .row-min .col-xs-6:nth-child(even) {
      padding-left: 15px; } }
  @media print {
    .row-min .col-xs-6:nth-child(even) {
      padding-left: 15px; } }

.row-min .col-xs-4:nth-child(1n) {
  padding-right: 0px; }
  @media only screen and (min-width: 768px) {
    .row-min .col-xs-4:nth-child(1n) {
      padding-right: 15px; } }
  @media print {
    .row-min .col-xs-4:nth-child(1n) {
      padding-right: 15px; } }

.row-min .col-xs-4:nth-child(2n) {
  padding-right: 5px;
  padding-left: 5px; }
  @media only screen and (min-width: 768px) {
    .row-min .col-xs-4:nth-child(2n) {
      padding-right: 15px;
      padding-left: 15px; } }
  @media print {
    .row-min .col-xs-4:nth-child(2n) {
      padding-right: 15px;
      padding-left: 15px; } }

.row-min .col-xs-4:nth-child(3n) {
  padding-left: 0px;
  padding-right: 15px; }
  @media only screen and (min-width: 768px) {
    .row-min .col-xs-4:nth-child(3n) {
      padding-left: 15px; } }
  @media print {
    .row-min .col-xs-4:nth-child(3n) {
      padding-left: 15px; } }

.table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td {
  vertical-align: middle; }
  @media only screen and (min-width: 768px) {
    .table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td {
      height: 60px; } }
  @media print {
    .table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td {
      height: 60px; } }

.txt-eng {
  font-family: "Asap", sans-serif; }

.txt-italic {
  font-style: italic; }

.txt-gray {
  color: #666; }

.txt-red {
  color: #f0503a; }

.txt-light {
  color: #999; }

.txt-blue {
  color: #00a0e9; }

.txt-orange {
  color: #f59923; }

.txt-green {
  color: #40cd82; }

.txt-red {
  color: red; }

.txt-point .point {
  position: relative;
  display: inline-block; }
  .txt-point .point::after {
    content: "";
    display: block;
    position: absolute;
    top: -1px;
    left: 50%;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background-color: #fff884; }

.ttl-horizontal {
  line-height: 1; }
  .ttl-horizontal .en {
    display: inline-block; }
  .ttl-horizontal .ja {
    position: relative;
    display: inline-block;
    margin-left: 1em;
    padding-left: 1em; }
    .ttl-horizontal .ja::before {
      position: absolute;
      display: block;
      content: " ";
      width: 2px;
      height: 1.2em;
      transform: rotate(45deg);
      background-color: #111;
      left: -0.2em;
      bottom: 0; }
  .ttl-horizontal .btn-border {
    display: block;
    width: 100px;
    padding: 5px 10px;
    margin-top: 5px; }
    @media only screen and (min-width: 768px) {
      .ttl-horizontal .btn-border {
        width: 120px;
        min-width: auto;
        margin-right: 10px; } }
    @media print {
      .ttl-horizontal .btn-border {
        width: 120px;
        min-width: auto;
        margin-right: 10px; } }

.ttl-line-w .inner {
  position: relative;
  display: inline-block; }
  .ttl-line-w .inner::after, .ttl-line-w .inner::before {
    position: absolute;
    display: block;
    content: " ";
    width: 30px;
    height: 2px;
    background-color: #111;
    left: -40px;
    top: 50%;
    margin-top: -1px; }
  .ttl-line-w .inner::before {
    left: auto;
    right: -40px; }

.ttl-box {
  position: relative;
  display: inline-block;
  background-color: #fff;
  line-height: 1.4;
  padding: 8px 20px;
  font-weight: bold;
  font-style: italic;
  font-size: 20px;
  font-size: 2rem;
  left: 10px; }
  @media only screen and (min-width: 768px) {
    .ttl-box {
      padding: 16px 40px;
      font-size: 32px;
      font-size: 3.2rem;
      left: 100px; } }
  @media print {
    .ttl-box {
      padding: 16px 40px;
      font-size: 32px;
      font-size: 3.2rem;
      left: 100px; } }
  .ttl-box.gray {
    background-color: #f6f6f6; }
  .ttl-box::before {
    width: 4px;
    height: 40px;
    background-color: #00a0e9;
    display: block;
    content: " ";
    position: absolute;
    left: 5px;
    top: -12px;
    transform: rotate(45deg); }
    @media only screen and (min-width: 768px) {
      .ttl-box::before {
        width: 6px;
        height: 60px;
        left: 8px;
        top: -20px; } }
    @media print {
      .ttl-box::before {
        width: 6px;
        height: 60px;
        left: 8px;
        top: -20px; } }
  .ttl-box.green::before {
    background-color: #40cd82; }

.wrapper-ttl {
  position: relative;
  height: 60px; }
  @media only screen and (min-width: 768px) {
    .wrapper-ttl {
      height: 100px; } }
  @media print {
    .wrapper-ttl {
      height: 100px; } }
  .wrapper-ttl .container-lg {
    position: relative; }
  .wrapper-ttl .ttl-box {
    position: absolute;
    top: 30px; }
    @media only screen and (min-width: 768px) {
      .wrapper-ttl .ttl-box {
        top: 60px; } }
    @media print {
      .wrapper-ttl .ttl-box {
        top: 60px; } }
  .wrapper-ttl.use-bg {
    background-size: cover;
    background-position: center center;
    background-color: #ddd;
    height: 80px; }
    @media only screen and (min-width: 768px) {
      .wrapper-ttl.use-bg {
        height: 240px; } }
    @media print {
      .wrapper-ttl.use-bg {
        height: 240px; } }
    .wrapper-ttl.use-bg .ttl-box {
      top: 50px; }
      @media only screen and (min-width: 768px) {
        .wrapper-ttl.use-bg .ttl-box {
          top: 200px; } }
      @media print {
        .wrapper-ttl.use-bg .ttl-box {
          top: 200px; } }

.wrapper-txt .txt {
  display: inline-block;
  vertical-align: middle; }

.minttl {
  display: inline-block;
  background-color: #00a0e9;
  color: #fff;
  text-align: center;
  line-height: 1;
  padding: 5px 10px;
  font-weight: bold;
  margin-right: 0.5em; }
  .minttl.orange {
    background-color: #f59923; }

.ttl-icon .icon, .ttl-icon .txt {
  display: inline-block;
  vertical-align: middle; }

.ttl-icon .icon {
  margin-right: 5px; }
  @media only screen and (min-width: 768px) {
    .ttl-icon .icon {
      margin-right: 10px; } }
  @media print {
    .ttl-icon .icon {
      margin-right: 10px; } }

.ttl-icon-tb {
  display: table;
  width: 100%; }
  .ttl-icon-tb .icon, .ttl-icon-tb .txt {
    display: table-cell;
    vertical-align: middle;
    line-height: 1.5; }
  .ttl-icon-tb .icon {
    width: 60px; }

.ttl-bb-w {
  position: relative;
  line-height: 1.4;
  padding-bottom: 0.3em;
  border-bottom: 2px solid #ddd; }
  .ttl-bb-w::before {
    position: absolute;
    content: " ";
    display: block;
    width: 260px;
    height: 2px;
    background-color: #111;
    left: 0;
    bottom: -2px; }
  .ttl-bb-w.green::before {
    background-color: #40cd82; }
  .ttl-bb-w.blue::before {
    background-color: #00a0e9; }

.ttl-min {
  display: inline-block;
  text-align: center;
  background-color: #00a0e9;
  border-radius: 30px;
  color: #fff;
  font-weight: bold;
  line-height: 1.2;
  padding: 0 1.5em; }
  .ttl-min.orange {
    background-color: #f59923; }

.marker {
  background: #ffff66; }

.marker-bottom {
  background: linear-gradient(transparent 60%, #ffff66 60%); }

.marker-stripe {
  position: relative;
  background-image: url("img/common/stripe-orange.png");
  background-repeat: repeat-x;
  background-position: left bottom;
  padding-bottom: 0.3em;
  background-size: 7px auto; }
  @media only screen and (min-width: 768px) {
    .marker-stripe {
      background-size: 14px auto; } }
  @media print {
    .marker-stripe {
      background-size: 14px auto; } }

.bg-white {
  background-color: #fff; }

.bg-blue {
  background-color: #00a0e9;
  color: #fff; }
  .bg-blue .ttl-line-w .inner::after, .bg-blue .ttl-line-w .inner::before {
    background-color: #fff; }

.bg-blue2 {
  background-color: rgba(255, 255, 255, 0.1); }
  .bg-blue2 .list-simple li::after {
    background-color: #fff; }

.bg-bk {
  background-color: #333;
  color: #fff; }

.bg-gray {
  background-color: #f6f6f6; }

.bg-stripe {
  background-image: url("img/common/bg-stripe.jpg");
  background-size: 6px auto; }
  .bg-stripe.blue {
    background-image: url("img/common/bg-stripe-blue.jpg"); }

.bg-note {
  border: 2px solid #f3f3f3;
  background-image: url("img/common/bg-note.jpg");
  background-size: 25px auto; }
  @media only screen and (min-width: 768px) {
    .bg-note {
      background-size: 50px auto; } }
  @media print {
    .bg-note {
      background-size: 50px auto; } }

.row-btns {
  overflow: hidden; }
  .row-btns .wrapper-btn {
    float: left;
    width: 50%; }
    @media only screen and (min-width: 768px) {
      .row-btns .wrapper-btn {
        padding: 0 15px; } }
    @media print {
      .row-btns .wrapper-btn {
        padding: 0 15px; } }

a.button, .button, .btn {
  overflow: hidden;
  display: inline-block;
  position: relative;
  border-radius: 3px;
  cursor: pointer;
  border: 0;
  padding-top: 10px;
  padding-bottom: 12px;
  color: #fff;
  font-family: "NotoSansCJKjpLight", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, "メイリオ", "MS PGothic", "ＭＳ Ｐゴシック", Arial, Helvetica, sans-serif;
  font-size: 14px;
  line-height: 1.2;
  outline: none; }

a.button, .button {
  position: relative;
  display: inline-block;
  text-align: center;
  font-weight: bold;
  width: 90%;
  color: #fff;
  background-color: #00a0e9;
  overflow: hidden;
  padding: 20px 5px;
  line-height: 1.2;
  border-radius: 40px;
  text-decoration: none !important;
  transition: all 0.2s linear; }
  @media only screen and (min-width: 768px) {
    a.button, .button {
      width: auto;
      min-width: 280px;
      padding: 20px 10px; } }
  @media print {
    a.button, .button {
      width: auto;
      min-width: 280px;
      padding: 20px 10px; } }
  a.button:hover, .button:hover {
    color: #fff;
    background-color: #44bef6; }
    a.button:hover .fa, .button:hover .fa {
      color: #fff; }
  a.button:visited, a.button:focus, .button:visited, .button:focus {
    text-decoration: none;
    color: #fff; }
  a.button.btn-orange, .button.btn-orange {
    background-color: #f59923; }
    a.button.btn-orange:hover, .button.btn-orange:hover {
      color: #fff;
      background-color: #fab358; }
  a.button.btn-green, .button.btn-green {
    background-color: #40cd82; }
    a.button.btn-green:hover, .button.btn-green:hover {
      color: #fff;
      background-color: #77eaad; }

.btn-simple {
  position: relative;
  display: inline-block;
  text-align: center;
  font-weight: bold;
  width: 90%;
  color: #fff;
  background-color: #00a0e9;
  overflow: hidden;
  padding: 20px 5px;
  line-height: 1.2;
  border-radius: 40px;
  text-decoration: none !important;
  transition: all 0.2s linear; }
  @media only screen and (min-width: 768px) {
    .btn-simple {
      width: auto;
      min-width: 280px;
      padding: 20px 10px; } }
  @media print {
    .btn-simple {
      width: auto;
      min-width: 280px;
      padding: 20px 10px; } }
  .btn-simple:hover {
    color: #fff;
    background-color: #44bef6; }
    .btn-simple:hover .fa {
      color: #fff; }
  .btn-simple:visited, .btn-simple:focus {
    text-decoration: none;
    color: #fff; }
  .btn-simple.btn-orange {
    background-color: #f59923; }
    .btn-simple.btn-orange:hover {
      color: #fff;
      background-color: #fab358; }
  .btn-simple.btn-green {
    background-color: #40cd82; }
    .btn-simple.btn-green:hover {
      color: #fff;
      background-color: #77eaad; }

.btn-3d {
  position: relative;
  display: inline-block;
  text-align: center;
  font-weight: bold;
  width: 90%;
  color: #fff;
  background-color: #00a0e9;
  overflow: hidden;
  padding: 20px 5px;
  line-height: 1.2;
  border-radius: 40px;
  text-decoration: none !important;
  transition: all 0.2s linear; }
  @media only screen and (min-width: 768px) {
    .btn-3d {
      width: auto;
      min-width: 280px;
      padding: 20px 10px; } }
  @media print {
    .btn-3d {
      width: auto;
      min-width: 280px;
      padding: 20px 10px; } }
  .btn-3d::before {
    position: absolute;
    display: block;
    content: " ";
    background-color: rgba(0, 0, 0, 0.08);
    height: 50%;
    top: 50%;
    width: 100%;
    left: 0; }
  .btn-3d:hover {
    color: #fff;
    background-color: #44bef6; }
    .btn-3d:hover .fa {
      color: #fff; }
  .btn-3d:visited, .btn-3d:focus {
    text-decoration: none;
    color: #fff; }
  .btn-3d .txt, .btn-3d .icon {
    display: inline-block;
    vertical-align: middle;
    position: relative;
    z-index: 2;
    margin: 0 0.2em; }
  .btn-3d.btn-orange {
    background-color: #f59923; }
    .btn-3d.btn-orange:hover {
      color: #fff;
      background-color: #fab358; }
  .btn-3d.btn-green {
    background-color: #40cd82; }
    .btn-3d.btn-green:hover {
      color: #fff;
      background-color: #77eaad; }
  .btn-3d.icon-r .fa {
    position: absolute;
    right: 0.5em;
    top: 50%;
    margin-top: -.5em;
    line-height: 1;
    z-index: 2; }
    @media only screen and (min-width: 768px) {
      .btn-3d.icon-r .fa {
        right: 1em; } }
    @media print {
      .btn-3d.icon-r .fa {
        right: 1em; } }
  .btn-3d.icon-l .fa {
    position: absolute;
    left: 0.5em;
    top: 50%;
    margin-top: -.5em;
    line-height: 1;
    z-index: 2; }
    @media only screen and (min-width: 768px) {
      .btn-3d.icon-l .fa {
        left: 1em; } }
    @media print {
      .btn-3d.icon-l .fa {
        left: 1em; } }
  @media only screen and (min-width: 768px) {
    .btn-3d.lg {
      width: auto;
      min-width: 420px; } }
  @media print {
    .btn-3d.lg {
      width: auto;
      min-width: 420px; } }
  .btn-3d.sm {
    padding: 15px 5px; }
    @media only screen and (min-width: 768px) {
      .btn-3d.sm {
        padding: 15px 10px; } }
    @media print {
      .btn-3d.sm {
        padding: 15px 10px; } }

.btn-border {
  position: relative;
  display: inline-block;
  text-align: center;
  font-weight: bold;
  width: 90%;
  color: #00a0e9;
  border: 2px solid #00a0e9;
  padding: 1em;
  line-height: 1.2;
  border-radius: 30px;
  transition: all 0.2s linear; }
  @media only screen and (min-width: 768px) {
    .btn-border {
      width: auto;
      min-width: 280px; } }
  @media print {
    .btn-border {
      width: auto;
      min-width: 280px; } }
  .btn-border .txt, .btn-border .icon {
    display: inline-block;
    vertical-align: middle; }
  .btn-border.icon-r .fa {
    position: absolute;
    right: 0.5em;
    top: 50%;
    margin-top: -.5em;
    line-height: 1;
    color: #00a0e9; }
    @media only screen and (min-width: 768px) {
      .btn-border.icon-r .fa {
        right: 1em; } }
    @media print {
      .btn-border.icon-r .fa {
        right: 1em; } }
  .btn-border:hover {
    color: #fff;
    background-color: #00a0e9; }
    .btn-border:hover .fa {
      color: #fff; }
  .btn-border:visited {
    text-decoration: none; }

.box-sm {
  padding: 10px;
  border-radius: 3px; }

.box-schedule {
  padding: 10px;
  border-radius: 3px; }
  @media only screen and (min-width: 768px) {
    .box-schedule {
      padding: 20px 30px; } }
  @media print {
    .box-schedule {
      padding: 20px 30px; } }

.box-md {
  padding: 15px;
  border-radius: 5px; }
  @media only screen and (min-width: 768px) {
    .box-md {
      padding: 30px; } }
  @media print {
    .box-md {
      padding: 30px; } }

.box-lg {
  padding: 15px;
  border-radius: 5px; }
  @media only screen and (min-width: 768px) {
    .box-lg {
      padding: 40px; } }
  @media print {
    .box-lg {
      padding: 40px; } }

.border-gray {
  border: 2px solid #ddd; }

.table-simple {
  background-color: #fff;
  width: 100%;
  border-collapse: collapse;
  border-left: 1px solid #dae5ea; }
  .table-simple th, .table-simple td {
    padding: 5px;
    vertical-align: middle;
    border-right: 1px solid #dae5ea; }
    @media only screen and (min-width: 768px) {
      .table-simple th, .table-simple td {
        padding: 15px 20px; } }
    @media print {
      .table-simple th, .table-simple td {
        padding: 15px 20px; } }
  .table-simple tr {
    border-bottom: 1px solid #dae5ea; }
  .table-simple th {
    font-size: 11px;
    font-size: 1.1rem;
    font-weight: normal;
    white-space: nowrap; }
    @media only screen and (min-width: 768px) {
      .table-simple th {
        font-size: 14px;
        font-size: 1.4rem; } }
    @media print {
      .table-simple th {
        font-size: 14px;
        font-size: 1.4rem; } }
  .table-simple thead th {
    text-align: center;
    background-color: #00a0e9;
    color: #fff;
    padding: 5px;
    font-size: 11px;
    font-size: 1.1rem; }
    @media only screen and (min-width: 768px) {
      .table-simple thead th {
        padding: 5px 20px;
        font-size: 15px;
        font-size: 1.5rem; } }
    @media print {
      .table-simple thead th {
        padding: 5px 20px;
        font-size: 15px;
        font-size: 1.5rem; } }
  .table-simple tbody th {
    text-align: center;
    font-weight: bold; }
    @media only screen and (min-width: 768px) {
      .table-simple tbody th {
        width: 240px;
        font-size: 15px;
        font-size: 1.5rem; } }
    @media print {
      .table-simple tbody th {
        width: 240px;
        font-size: 15px;
        font-size: 1.5rem; } }
  .table-simple td {
    font-size: 11px;
    font-size: 1.1rem; }
    @media only screen and (min-width: 768px) {
      .table-simple td {
        font-size: 14px;
        font-size: 1.4rem; } }
    @media print {
      .table-simple td {
        font-size: 14px;
        font-size: 1.4rem; } }
  .table-simple .img-pro {
    width: 35px;
    height: auto; }
    @media only screen and (min-width: 768px) {
      .table-simple .img-pro {
        width: 70px;
        height: auto; } }
    @media print {
      .table-simple .img-pro {
        width: 70px;
        height: auto; } }
  .table-simple.table-min th, .table-simple.table-min td {
    line-height: 1.5;
    padding: 3px 5px; }
    @media only screen and (min-width: 768px) {
      .table-simple.table-min th, .table-simple.table-min td {
        padding: 10px 15px; } }
    @media print {
      .table-simple.table-min th, .table-simple.table-min td {
        padding: 10px 15px; } }
  .table-simple.th-num tbody th {
    width: 2em;
    background-color: #eaf6fc; }
  .table-simple.green thead th {
    background-color: #40cd82; }
  .table-simple.green.th-num tbody th {
    background-color: #f1fbf6; }

.table-company {
  background-color: #fff;
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid #dae5ea; }
  .table-company th, .table-company td {
    padding: 5px;
    vertical-align: middle; }
    @media only screen and (min-width: 768px) {
      .table-company th, .table-company td {
        padding: 18px 20px; } }
    @media print {
      .table-company th, .table-company td {
        padding: 18px 20px; } }
  .table-company tr {
    border-bottom: 1px solid #dae5ea; }
  .table-company tbody th {
    font-size: 11px;
    font-size: 1.1rem;
    font-weight: bold;
    white-space: nowrap; }
    @media only screen and (min-width: 768px) {
      .table-company tbody th {
        width: 180px;
        font-size: 14px;
        font-size: 1.4rem; } }
    @media print {
      .table-company tbody th {
        width: 180px;
        font-size: 14px;
        font-size: 1.4rem; } }
  .table-company tbody td {
    font-size: 11px;
    font-size: 1.1rem; }
    @media only screen and (min-width: 768px) {
      .table-company tbody td {
        font-size: 14px;
        font-size: 1.4rem; } }
    @media print {
      .table-company tbody td {
        font-size: 14px;
        font-size: 1.4rem; } }

.table-flat {
  position: relative;
  z-index: 2;
  background-color: #f6f6f6;
  width: 100%;
  border-collapse: collapse; }
  .table-flat th, .table-flat td {
    padding: 5px;
    vertical-align: middle; }
    @media only screen and (min-width: 768px) {
      .table-flat th, .table-flat td {
        padding: 15px 20px; } }
    @media print {
      .table-flat th, .table-flat td {
        padding: 15px 20px; } }
  .table-flat tr {
    border-bottom: 1px solid #fff; }
  .table-flat th {
    text-align: center;
    background-color: #00a0e9;
    color: #fff;
    padding: 5px;
    white-space: normal;
    font-size: 12px;
    font-size: 1.2rem; }
    @media only screen and (min-width: 768px) {
      .table-flat th {
        padding: 5px 20px;
        font-size: 18px;
        font-size: 1.8rem;
        width: 210px; } }
    @media print {
      .table-flat th {
        padding: 5px 20px;
        font-size: 18px;
        font-size: 1.8rem;
        width: 210px; } }
  .table-flat td {
    font-size: 12px;
    font-size: 1.2rem; }
    @media only screen and (min-width: 768px) {
      .table-flat td {
        font-size: 14px;
        font-size: 1.4rem; } }
    @media print {
      .table-flat td {
        font-size: 14px;
        font-size: 1.4rem; } }
  .table-flat .block-tokuten {
    margin-top: 1em; }
    .table-flat .block-tokuten .ttl {
      background-color: #f52354;
      display: inline-block;
      color: #fff;
      padding: 0 10px;
      line-height: 1.4;
      border-radius: 3px; }
    .table-flat .block-tokuten .txt {
      color: #f52354;
      font-weight: bold;
      line-height: 1.6; }

.list-simple {
  padding: 0;
  margin: 0;
  list-style: none; }
  .list-simple li {
    position: relative;
    padding: 0;
    padding-left: 10px; }
    @media only screen and (min-width: 768px) {
      .list-simple li {
        padding-left: 15px; } }
    @media print {
      .list-simple li {
        padding-left: 15px; } }
    .list-simple li:after {
      position: absolute;
      content: " ";
      display: block;
      width: 4px;
      height: 4px;
      border-radius: 50%;
      background-color: #00a0e9;
      left: 0;
      top: 0.6em; }
      @media only screen and (min-width: 768px) {
        .list-simple li:after {
          width: 5px;
          height: 5px; } }
      @media print {
        .list-simple li:after {
          width: 5px;
          height: 5px; } }
  .list-simple.list-inline li {
    margin-right: 1em; }

.list-checked {
  padding: 0;
  margin: 0;
  list-style: none;
  display: inline-block; }
  .list-checked li {
    text-align: left;
    position: relative;
    padding: 0;
    padding-left: 12px; }
    .list-checked li:after {
      position: absolute;
      font-family: FontAwesome;
      display: block;
      content: '\f058';
      left: -6px;
      top: 0;
      color: #00a0e9;
      font-size: 12px;
      font-size: 1.2rem; }

.dl-simple {
  padding: 0;
  margin: 0; }
  .dl-simple dt {
    margin-bottom: 5px; }
  .dl-simple dd {
    padding-left: 1em;
    margin-bottom: 10px;
    font-size: 14px;
    font-size: 1.4rem; }
    @media only screen and (min-width: 768px) {
      .dl-simple dd {
        padding-left: 3em;
        font-size: 14px;
        font-size: 1.4rem; } }
    @media print {
      .dl-simple dd {
        padding-left: 3em;
        font-size: 14px;
        font-size: 1.4rem; } }

.indeedjobs-area {
  padding-top: 60px;
  background-color: #f4f8f6; }

.indeedjobs-area h2 {
  text-align: center; }

.indeedjobs-widget {
  width: 70%;
  margin: 0 auto; }

@media screen and (max-width: 913px) {
  .indeedjobs-widget {
    width: 90%;
    padding-bottom: 60px; } }

/*
.indeedjobs-widget{
    position:relative;
    width:100%;
    height:0;
    padding-top:75%;
}

.indeedjobs-widget iframe{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
}
*/
/*=====================
  header
===================== */
div#nav-menu.navbar-collapse.navbar-offcanvas.offcanvas-transform.js-offcanvas-done.in {
  height: 100vh !important; }

.navbar.navbar-default.navbar-fixed-top {
  transform: translate3d(0, 0, 0); }

.header .navbar-default {
  background-color: transparent;
  border-color: transparent; }
  .header .navbar-default .navbar-brand {
    color: #111; }
    .header .navbar-default .navbar-brand:hover, .header .navbar-default .navbar-brand:focus {
      color: #111; }
  .header .navbar-default .navbar-text {
    color: #111; }
  .header .navbar-default .navbar-nav > li > a {
    color: #111; }
    .header .navbar-default .navbar-nav > li > a:hover, .header .navbar-default .navbar-nav > li > a:focus {
      color: #111; }
  .header .navbar-default .navbar-nav > .active > a, .header .navbar-default .navbar-nav > .active > a:hover, .header .navbar-default .navbar-nav > .active > a:focus {
    color: #111;
    background-color: transparent; }
  .header .navbar-default .navbar-nav > .open > a, .header .navbar-default .navbar-nav > .open > a:hover, .header .navbar-default .navbar-nav > .open > a:focus {
    color: #111;
    background-color: transparent; }
  .header .navbar-default .navbar-toggle .icon-bar {
    background-color: #111; }
  .header .navbar-default .navbar-collapse,
  .header .navbar-default .navbar-form {
    border-color: #111; }
  .header .navbar-default .navbar-link {
    color: #111; }
    .header .navbar-default .navbar-link:hover {
      color: #111; }

@media (max-width: 767px) {
  .header .navbar-default .navbar-nav .open .dropdown-menu > li > a {
    color: #111; }
    .header .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .header .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
      color: #111; }
  .header .navbar-default .navbar-nav .open .dropdown-menu > .active > a, .header .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, .header .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
    color: #111;
    background-color: transparent; } }

.header .navbar {
  margin: 0;
  border-radius: 0;
  border: none;
  padding: 10px 10px 0; }
  @media only screen and (min-width: 768px) {
    .header .navbar {
      padding: 20px 20px 0; } }
  @media print {
    .header .navbar {
      padding: 20px 20px 0; } }
  .header .navbar.navbar-fixed-top {
    z-index: 98; }
    .header .navbar.navbar-fixed-top .navbar-collapse {
      max-height: none; }
    .header .navbar.navbar-fixed-top.scrolled .navbar-top {
      display: none; }
    @media only screen and (min-width: 1480px) {
      .header .navbar.navbar-fixed-top.scrolled .navbar-brand a {
        width: 218.18182px;
        height: 63.63636px; } }
    @media print {
      .header .navbar.navbar-fixed-top.scrolled .navbar-brand a {
        width: 218.18182px;
        height: 63.63636px; } }
  .header .navbar .inner-header {
    background-color: #fff;
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); }
    @media only screen and (min-width: 768px) {
      .header .navbar .inner-header {
        display: table;
        width: 100%;
        border-radius: 10px;
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.1); } }
    @media print {
      .header .navbar .inner-header {
        display: table;
        width: 100%;
        border-radius: 10px;
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.1); } }

@media only screen and (min-width: 768px) {
  .header .navbar-header {
    float: none;
    display: table-cell;
    vertical-align: middle;
    width: 180px;
    border-right: 1px solid #eee; } }

@media print {
  .header .navbar-header {
    float: none;
    display: table-cell;
    vertical-align: middle;
    width: 180px;
    border-right: 1px solid #eee; } }

@media only screen and (min-width: 1200px) {
  .header .navbar-header {
    width: 220px; } }

@media print {
  .header .navbar-header {
    width: 220px; } }

@media only screen and (min-width: 1480px) {
  .header .navbar-header {
    width: 300px; } }

@media print {
  .header .navbar-header {
    width: 300px; } }

.header .navbar-brand {
  padding: 0;
  height: auto;
  padding-top: 10px;
  padding-bottom: 10px;
  padding-left: 5px; }
  @media only screen and (min-width: 768px) {
    .header .navbar-brand {
      padding: 0;
      float: none; } }
  @media print {
    .header .navbar-brand {
      padding: 0;
      float: none; } }
  .header .navbar-brand a {
    display: block;
    width: 133.33333px;
    height: 38.88889px;
    background-image: url("img/common/logo-header.svg");
    background-repeat: no-repeat;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    background-size: 100% auto;
    transition: all 0.15s ease; }
    @media only screen and (min-width: 768px) {
      .header .navbar-brand a {
        width: 150px;
        height: 43.75px;
        margin: 0 auto; } }
    @media print {
      .header .navbar-brand a {
        width: 150px;
        height: 43.75px;
        margin: 0 auto; } }
    @media only screen and (min-width: 1200px) {
      .header .navbar-brand a {
        width: 184.61538px;
        height: 53.84615px; } }
    @media print {
      .header .navbar-brand a {
        width: 184.61538px;
        height: 53.84615px; } }
    @media only screen and (min-width: 1480px) {
      .header .navbar-brand a {
        width: 240px;
        height: 70px; } }
    @media print {
      .header .navbar-brand a {
        width: 240px;
        height: 70px; } }

.header .navbar-collapse {
  border-top: none; }
  @media only screen and (min-width: 768px) {
    .header .navbar-collapse {
      float: none;
      display: table-cell; } }
  @media print {
    .header .navbar-collapse {
      float: none;
      display: table-cell; } }

.header .navbar-top {
  border-bottom: 1px solid #eee;
  padding-right: 15px;
  padding-top: 5px; }
  @media only screen and (min-width: 1480px) {
    .header .navbar-top {
      padding-right: 30px; } }
  @media print {
    .header .navbar-top {
      padding-right: 30px; } }
  .header .navbar-top .lead-header {
    font-size: 10px;
    font-size: 1rem;
    color: #666;
    padding: 10px 10px 5px 15px;
    vertical-align: middle;
    line-height: 1.4; }
    @media only screen and (min-width: 1200px) {
      .header .navbar-top .lead-header {
        padding-top: 16px; } }
    @media print {
      .header .navbar-top .lead-header {
        padding-top: 16px; } }
    @media only screen and (min-width: 1480px) {
      .header .navbar-top .lead-header {
        font-size: 12px;
        font-size: 1.2rem; } }
    @media print {
      .header .navbar-top .lead-header {
        font-size: 12px;
        font-size: 1.2rem; } }
  .header .navbar-top .tel-header {
    display: inline-block;
    vertical-align: middle;
    text-align: center;
    margin-bottom: 5px;
    margin-left: 10px; }
    @media only screen and (min-width: 1200px) {
      .header .navbar-top .tel-header {
        margin-left: 15px; } }
    @media print {
      .header .navbar-top .tel-header {
        margin-left: 15px; } }
    .header .navbar-top .tel-header .top-tel {
      font-family: "Asap", sans-serif;
      font-weight: 700;
      color: #00a0e9;
      line-height: 1; }
      .header .navbar-top .tel-header .top-tel .icon, .header .navbar-top .tel-header .top-tel .tel-link {
        display: inline-block;
        vertical-align: middle;
        font-size: 25px;
        font-size: 2.5rem; }
    .header .navbar-top .tel-header .under-tel {
      display: block;
      font-size: 11px;
      font-size: 1.1rem; }
  .header .navbar-top .link-header {
    display: inline-block;
    position: relative;
    font-size: 11px;
    font-size: 1.1rem;
    color: #555;
    padding-left: .8em;
    line-height: 1;
    margin-top: 10px;
    margin-left: 6px;
    transition: color 0.15s ease; }
    @media only screen and (min-width: 1200px) {
      .header .navbar-top .link-header {
        margin-left: 15px;
        font-size: 12px;
        font-size: 1.2rem; } }
    @media print {
      .header .navbar-top .link-header {
        margin-left: 15px;
        font-size: 12px;
        font-size: 1.2rem; } }
    .header .navbar-top .link-header::after {
      position: absolute;
      font-family: FontAwesome;
      display: block;
      content: '\f105';
      left: 0;
      top: 50%;
      margin-top: -.55em;
      color: #00a0e9; }
    .header .navbar-top .link-header:hover {
      color: #00a0e9; }
  .header .navbar-top .btn-header {
    font-weight: bold;
    font-size: 13px;
    font-size: 1.3rem;
    padding: 0;
    line-height: 30px;
    width: 120px;
    min-width: auto;
    margin-left: 10px; }
    @media only screen and (min-width: 1200px) {
      .header .navbar-top .btn-header {
        margin-left: 15px;
        width: 160px; } }
    @media print {
      .header .navbar-top .btn-header {
        margin-left: 15px;
        width: 160px; } }

.header .navbar-btns {
  float: right;
  overflow: hidden; }
  @media only screen and (min-width: 768px) {
    .header .navbar-btns {
      padding-top: 8px; } }
  @media print {
    .header .navbar-btns {
      padding-top: 8px; } }
  @media only screen and (min-width: 1200px) {
    .header .navbar-btns {
      padding-top: 12px; } }
  @media print {
    .header .navbar-btns {
      padding-top: 12px; } }
  .header .navbar-btns .btn-nav {
    float: left;
    margin-left: 10px; }
    .header .navbar-btns .btn-nav .btn-3d {
      display: block;
      width: 180px;
      font-size: 15px;
      font-size: 1.5rem; }
      @media only screen and (min-width: 768px) {
        .header .navbar-btns .btn-nav .btn-3d {
          padding: 0;
          line-height: 40px;
          width: 120px;
          min-width: auto; } }
      @media print {
        .header .navbar-btns .btn-nav .btn-3d {
          padding: 0;
          line-height: 40px;
          width: 120px;
          min-width: auto; } }
      @media only screen and (min-width: 1200px) {
        .header .navbar-btns .btn-nav .btn-3d {
          width: 160px; } }
      @media print {
        .header .navbar-btns .btn-nav .btn-3d {
          width: 160px; } }
      @media only screen and (min-width: 1480px) {
        .header .navbar-btns .btn-nav .btn-3d {
          width: 180px; } }
      @media print {
        .header .navbar-btns .btn-nav .btn-3d {
          width: 180px; } }

@media only screen and (min-width: 768px) {
  .header .navbar-bottom {
    padding-right: 15px; } }

@media print {
  .header .navbar-bottom {
    padding-right: 15px; } }

@media only screen and (min-width: 1480px) {
  .header .navbar-bottom {
    padding-right: 30px; } }

@media print {
  .header .navbar-bottom {
    padding-right: 30px; } }

.header .navbar-txt .list-navbar-txt {
  padding: 0;
  margin: 0;
  padding-top: 5px; }
  .header .navbar-txt .list-navbar-txt li {
    display: inline-block;
    padding: 0 1.5em;
    line-height: 1;
    border-left: 1px solid #ddd; }
    .header .navbar-txt .list-navbar-txt li:first-child {
      border-left: none;
      padding-left: 0; }
    .header .navbar-txt .list-navbar-txt li a {
      color: #666; }

.header .navbar-txt .tel-header {
  display: block; }
  .header .navbar-txt .tel-header .top-tel {
    font-family: "Asap", sans-serif;
    font-weight: 700;
    color: #00a0e9;
    line-height: 1; }
    .header .navbar-txt .tel-header .top-tel .icon, .header .navbar-txt .tel-header .top-tel .tel-link {
      display: inline-block;
      vertical-align: middle;
      font-size: 25px;
      font-size: 2.5rem; }
  .header .navbar-txt .tel-header .under-tel {
    display: block;
    font-size: 11px;
    font-size: 1.1rem; }

.header .nav {
  margin-top: 0;
  margin-left: -15px; }
  @media only screen and (min-width: 768px) {
    .header .nav {
      margin-left: 0; } }
  @media print {
    .header .nav {
      margin-left: 0; } }
  .header .nav li {
    border-bottom: 1px solid #ddd; }
    @media only screen and (min-width: 768px) {
      .header .nav li {
        margin-left: 0;
        border-bottom: none; } }
    @media print {
      .header .nav li {
        margin-left: 0;
        border-bottom: none; } }
    .header .nav li .link-gnav {
      position: relative;
      display: block;
      font-weight: 600;
      vertical-align: middle;
      padding: 20px 15px;
      display: block;
      line-height: 1;
      transition: color 0.2s linear; }
      @media only screen and (min-width: 768px) {
        .header .nav li .link-gnav {
          font-size: 11px;
          font-size: 1.1rem;
          padding: 21px 5px 22px; } }
      @media print {
        .header .nav li .link-gnav {
          font-size: 11px;
          font-size: 1.1rem;
          padding: 21px 5px 22px; } }
      @media only screen and (min-width: 992px) {
        .header .nav li .link-gnav {
          font-size: 14px;
          font-size: 1.4rem;
          padding: 21px 7px; } }
      @media print {
        .header .nav li .link-gnav {
          font-size: 14px;
          font-size: 1.4rem;
          padding: 21px 7px; } }
      @media only screen and (min-width: 1200px) {
        .header .nav li .link-gnav {
          padding: 25px 11px;
          font-size: 16px;
          font-size: 1.6rem; } }
      @media print {
        .header .nav li .link-gnav {
          padding: 25px 11px;
          font-size: 16px;
          font-size: 1.6rem; } }
      @media only screen and (min-width: 1480px) {
        .header .nav li .link-gnav {
          padding: 25px 23px;
          font-size: 16px;
          font-size: 1.6rem; } }
      @media print {
        .header .nav li .link-gnav {
          padding: 25px 23px;
          font-size: 16px;
          font-size: 1.6rem; } }
      .header .nav li .link-gnav::after {
        position: absolute;
        display: block;
        content: "";
        width: 0;
        height: 3px;
        background-color: #00a0e9;
        left: 50%;
        bottom: 0;
        transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.1s; }
      .header .nav li .link-gnav.active {
        color: #00a0e9; }
        .header .nav li .link-gnav.active::after {
          width: 100%;
          left: 0; }
      @media only screen and (min-width: 768px) {
        .header .nav li .link-gnav:hover {
          color: #00a0e9 !important; }
          .header .nav li .link-gnav:hover::after {
            width: 100%;
            left: 0; } }
      @media print {
        .header .nav li .link-gnav:hover {
          color: #00a0e9 !important; }
          .header .nav li .link-gnav:hover::after {
            width: 100%;
            left: 0; } }
    .header .nav li.dropdown {
      line-height: 1; }
      .header .nav li.dropdown .link-gnav::before {
        position: absolute;
        right: 5px;
        top: 50%;
        display: block;
        margin-top: -4px;
        line-height: 1;
        content: '\f0d7';
        font-size: 10px;
        font-size: 1rem;
        font-family: FontAwesome;
        color: #00a0e9; }
        @media only screen and (min-width: 768px) {
          .header .nav li.dropdown .link-gnav::before {
            font-size: 12px;
            font-size: 1.2rem;
            left: 50%;
            margin-left: -.5em;
            bottom: 5px;
            top: auto;
            right: auto; } }
        @media print {
          .header .nav li.dropdown .link-gnav::before {
            font-size: 12px;
            font-size: 1.2rem;
            left: 50%;
            margin-left: -.5em;
            bottom: 5px;
            top: auto;
            right: auto; } }
      .header .nav li.dropdown .dropdown-menu {
        border-radius: 0;
        border: none;
        border-top: 1px solid #eee;
        padding: 0;
        left: 0;
        width: 100%;
        float: none;
        background-color: transparent;
        overflow: hidden; }
        @media only screen and (min-width: 768px) {
          .header .nav li.dropdown .dropdown-menu {
            border-radius: 0 0 5px 5px;
            border-top: 2px solid #eee; } }
        @media print {
          .header .nav li.dropdown .dropdown-menu {
            border-radius: 0 0 5px 5px;
            border-top: 2px solid #eee; } }
        .header .nav li.dropdown .dropdown-menu li {
          background-color: #fff; }
          .header .nav li.dropdown .dropdown-menu li:first-child {
            border-top: none !important; }
          @media only screen and (min-width: 768px) {
            .header .nav li.dropdown .dropdown-menu li {
              border-top: 1px solid #eee; } }
          @media print {
            .header .nav li.dropdown .dropdown-menu li {
              border-top: 1px solid #eee; } }
        .header .nav li.dropdown .dropdown-menu a {
          display: block;
          padding: 15px;
          padding-left: 30px;
          padding-right: 0;
          font-weight: 600;
          text-align: left;
          color: #111;
          transition: color 0.25s linear,background-color 0.25s linear;
          white-space: normal;
          font-size: 12px;
          font-size: 1.2rem; }
          @media only screen and (min-width: 768px) {
            .header .nav li.dropdown .dropdown-menu a {
              padding: 20px 15px;
              padding-right: 0;
              width: 100%;
              font-size: 13px;
              font-size: 1.3rem; } }
          @media print {
            .header .nav li.dropdown .dropdown-menu a {
              padding: 20px 15px;
              padding-right: 0;
              width: 100%;
              font-size: 13px;
              font-size: 1.3rem; } }
          @media only screen and (min-width: 992px) {
            .header .nav li.dropdown .dropdown-menu a {
              font-size: 14px;
              font-size: 1.4rem; } }
          @media print {
            .header .nav li.dropdown .dropdown-menu a {
              font-size: 14px;
              font-size: 1.4rem; } }
          .header .nav li.dropdown .dropdown-menu a.active, .header .nav li.dropdown .dropdown-menu a:hover {
            color: #00a0e9;
            background-color: #f8fcff; }
        @media only screen and (min-width: 768px) {
          .header .nav li.dropdown .dropdown-menu.mega {
            bottom: auto;
            top: 100%;
            border-top: none;
            box-shadow: none; } }
        @media print {
          .header .nav li.dropdown .dropdown-menu.mega {
            bottom: auto;
            top: 100%;
            border-top: none;
            box-shadow: none; } }
      .header .nav li.dropdown.mega {
        position: inherit; }
        @media only screen and (min-width: 768px) {
          .header .nav li.dropdown.mega .dropdown-menu {
            border-radius: 0;
            bottom: auto;
            top: 100%;
            border-top: none;
            box-shadow: none;
            overflow: visible; } }
        @media print {
          .header .nav li.dropdown.mega .dropdown-menu {
            border-radius: 0;
            bottom: auto;
            top: 100%;
            border-top: none;
            box-shadow: none;
            overflow: visible; } }
        .header .nav li.dropdown.mega .inner-dropdown {
          background-color: #fff; }
          @media only screen and (min-width: 768px) {
            .header .nav li.dropdown.mega .inner-dropdown {
              border-radius: 0 0 5px 5px;
              display: table;
              width: 100%;
              table-layout: fixed;
              box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1);
              border-top: 2px solid #eee; } }
          @media print {
            .header .nav li.dropdown.mega .inner-dropdown {
              border-radius: 0 0 5px 5px;
              display: table;
              width: 100%;
              table-layout: fixed;
              box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1);
              border-top: 2px solid #eee; } }
          @media only screen and (min-width: 768px) {
            .header .nav li.dropdown.mega .inner-dropdown .td-dropdown {
              display: table-cell;
              padding: 0 15px; } }
          @media print {
            .header .nav li.dropdown.mega .inner-dropdown .td-dropdown {
              display: table-cell;
              padding: 0 15px; } }
          .header .nav li.dropdown.mega .inner-dropdown .td-dropdown.blue .ttl-dropdown a {
            border-color: #00a0e9;
            color: #00a0e9; }
          .header .nav li.dropdown.mega .inner-dropdown .td-dropdown.blue a:hover {
            background-color: #eaf6fc;
            color: #00a0e9; }
          .header .nav li.dropdown.mega .inner-dropdown .td-dropdown.orange .ttl-dropdown a {
            border-color: #f59923;
            color: #f59923; }
          .header .nav li.dropdown.mega .inner-dropdown .td-dropdown.orange a:hover {
            background-color: #fcf6ee;
            color: #f59923; }
          .header .nav li.dropdown.mega .inner-dropdown .td-dropdown.green .ttl-dropdown a {
            border-color: #40cd82;
            color: #40cd82; }
          .header .nav li.dropdown.mega .inner-dropdown .td-dropdown.green a:hover {
            background-color: #f1fbf6;
            color: #40cd82; }
          .header .nav li.dropdown.mega .inner-dropdown .td-dropdown .ttl-dropdown {
            margin-left: -15px;
            margin-right: -15px; }
            @media only screen and (min-width: 992px) {
              .header .nav li.dropdown.mega .inner-dropdown .td-dropdown .ttl-dropdown {
                margin: 0; } }
            @media print {
              .header .nav li.dropdown.mega .inner-dropdown .td-dropdown .ttl-dropdown {
                margin: 0; } }
            .header .nav li.dropdown.mega .inner-dropdown .td-dropdown .ttl-dropdown a {
              font-weight: bold;
              background-color: #fff;
              border-bottom: 2px solid #ddd;
              font-size: 14px;
              font-size: 1.4rem; }
              @media only screen and (min-width: 992px) {
                .header .nav li.dropdown.mega .inner-dropdown .td-dropdown .ttl-dropdown a {
                  border-width: 3px;
                  margin: 0;
                  text-align: center;
                  font-size: 16px;
                  font-size: 1.6rem; } }
              @media print {
                .header .nav li.dropdown.mega .inner-dropdown .td-dropdown .ttl-dropdown a {
                  border-width: 3px;
                  margin: 0;
                  text-align: center;
                  font-size: 16px;
                  font-size: 1.6rem; } }
          .header .nav li.dropdown.mega .inner-dropdown .td-dropdown .nav-second {
            border: none;
            padding: 0;
            margin-left: -15px;
            margin-right: -15px;
            left: 0;
            border-radius: 0;
            border-bottom: 1px solid #eee;
            border-right: none;
            right: auto;
            float: none;
            background-color: #fff;
            list-style: none; }
            @media only screen and (min-width: 768px) {
              .header .nav li.dropdown.mega .inner-dropdown .td-dropdown .nav-second {
                margin-left: 0;
                margin-right: 0; } }
            @media print {
              .header .nav li.dropdown.mega .inner-dropdown .td-dropdown .nav-second {
                margin-left: 0;
                margin-right: 0; } }

.header .btn-contact-header-xs {
  float: right; }
  .header .btn-contact-header-xs a {
    display: block;
    position: relative;
    text-align: center;
    color: #fff;
    background-color: #00a0e9;
    line-height: 60px;
    width: 60px;
    text-decoration: none !important; }
    .header .btn-contact-header-xs a::before {
      position: absolute;
      display: block;
      content: " ";
      background-color: rgba(0, 0, 0, 0.08);
      height: 50%;
      top: 50%;
      width: 100%;
      left: 0; }
    .header .btn-contact-header-xs a img {
      position: relative;
      z-index: 1; }

.header .navbar-toggle {
  position: relative;
  margin: 0;
  padding: 0 8px;
  text-align: center;
  width: 60px;
  height: 60px;
  border-radius: 0 5px 5px 0;
  border: none;
  background-color: #333;
  overflow: hidden; }
  .header .navbar-toggle:hover, .header .navbar-toggle:focus {
    background-color: #333; }
  .header .navbar-toggle::before {
    position: absolute;
    display: block;
    content: " ";
    background-color: #1f1f1f;
    height: 50%;
    bottom: 0;
    width: 100%;
    left: 0; }
  .header .navbar-toggle span {
    position: relative;
    z-index: 2; }
  .header .navbar-toggle .txt {
    display: block;
    vertical-align: middle;
    padding-top: 4px;
    margin-bottom: 4px;
    line-height: 1;
    color: #fff;
    font-size: 9px;
    font-size: 0.9rem;
    font-weight: 700;
    font-family: "Asap", sans-serif; }
  .header .navbar-toggle .icon-bar {
    background-color: #fff !important;
    border-radius: 0;
    width: 25px;
    height: 2px;
    margin: 0 auto;
    margin-bottom: 5px;
    border-radius: 1px; }

.header .offcanvas-toggle.is-open .icon-bar:nth-child(3) {
  opacity: 0; }

.header .offcanvas-toggle.is-open .icon-bar:nth-child(2) {
  opacity: 1;
  transform: rotate(45deg) translate(5px, 5px); }

.header .offcanvas-toggle.is-open .icon-bar:nth-child(4) {
  transform: rotate(-45deg) translate(5px, -5px); }

.lesson-header {
  background-color: #987;
  position: relative;
  z-index: 98; }
  .lesson-header.fixed {
    position: fixed;
    top: 0;
    width: 100%; }
  .lesson-header .navbar-header {
    position: relative;
    z-index: 1; }
  .lesson-header .navbar {
    margin: 0;
    margin-right: -15px;
    margin-left: -15px;
    border-radius: 0;
    border: none;
    background-color: #987; }
  .lesson-header .navbar-collapse {
    border-top: none; }
    @media only screen and (min-width: 768px) {
      .lesson-header .navbar-collapse {
        background-color: #987 !important; } }
    @media print {
      .lesson-header .navbar-collapse {
        background-color: #987 !important; } }
  @media only screen and (min-width: 768px) {
    .lesson-header .navbar-right {
      margin-right: 0; } }
  @media print {
    .lesson-header .navbar-right {
      margin-right: 0; } }
  .lesson-header .navbar-brand {
    padding-top: 15px; }
    @media only screen and (min-width: 768px) {
      .lesson-header .navbar-brand {
        padding-top: 20px; } }
    @media print {
      .lesson-header .navbar-brand {
        padding-top: 20px; } }
    .lesson-header .navbar-brand a {
      color: #fff;
      font-weight: bold;
      text-decoration: none !important;
      font-size: 14px;
      font-size: 1.4rem; }
      @media only screen and (min-width: 768px) {
        .lesson-header .navbar-brand a {
          font-size: 15px;
          font-size: 1.5rem; } }
      @media print {
        .lesson-header .navbar-brand a {
          font-size: 15px;
          font-size: 1.5rem; } }
      @media only screen and (min-width: 992px) {
        .lesson-header .navbar-brand a {
          font-size: 20px;
          font-size: 2rem; } }
      @media print {
        .lesson-header .navbar-brand a {
          font-size: 20px;
          font-size: 2rem; } }
  .lesson-header .nav {
    margin-left: 0;
    margin-left: -15px; }
    @media only screen and (min-width: 768px) {
      .lesson-header .nav {
        margin-left: 0;
        background-color: #987; } }
    @media print {
      .lesson-header .nav {
        margin-left: 0;
        background-color: #987; } }
    .lesson-header .nav li {
      border-bottom: 1px solid #eee; }
      @media only screen and (min-width: 768px) {
        .lesson-header .nav li {
          border: none;
          text-align: center;
          margin-left: 0;
          display: inline-block;
          float: none; } }
      @media print {
        .lesson-header .nav li {
          border: none;
          text-align: center;
          margin-left: 0;
          display: inline-block;
          float: none; } }
      .lesson-header .nav li.last {
        border-bottom: none; }
      .lesson-header .nav li.active a.link-gnav {
        background-color: rgba(0, 0, 0, 0.1); }
        @media only screen and (min-width: 768px) {
          .lesson-header .nav li.active a.link-gnav {
            color: #fff; } }
        @media print {
          .lesson-header .nav li.active a.link-gnav {
            color: #fff; } }
      .lesson-header .nav li a.link-gnav:hover {
        background-color: rgba(0, 0, 0, 0.1); }
        @media only screen and (min-width: 768px) {
          .lesson-header .nav li a.link-gnav:hover {
            color: #fff; } }
        @media print {
          .lesson-header .nav li a.link-gnav:hover {
            color: #fff; } }
      .lesson-header .nav li .link-gnav {
        display: block;
        padding: 20px 15px;
        font-size: 14px;
        font-size: 1.4rem;
        font-weight: bold;
        transition: all 0.25s linear; }
        @media only screen and (min-width: 768px) {
          .lesson-header .nav li .link-gnav {
            padding: 20px 10px;
            font-size: 14px;
            font-size: 1.4rem;
            color: #fff !important;
            font-weight: normal; } }
        @media print {
          .lesson-header .nav li .link-gnav {
            padding: 20px 10px;
            font-size: 14px;
            font-size: 1.4rem;
            color: #fff !important;
            font-weight: normal; } }
        @media only screen and (min-width: 992px) {
          .lesson-header .nav li .link-gnav {
            padding: 20px 15px;
            font-size: 15px;
            font-size: 1.5rem; } }
        @media print {
          .lesson-header .nav li .link-gnav {
            padding: 20px 15px;
            font-size: 15px;
            font-size: 1.5rem; } }
        @media only screen and (min-width: 1200px) {
          .lesson-header .nav li .link-gnav {
            padding: 20px;
            font-size: 16px;
            font-size: 1.6rem; } }
        @media print {
          .lesson-header .nav li .link-gnav {
            padding: 20px;
            font-size: 16px;
            font-size: 1.6rem; } }
  .lesson-header .navbar-toggle {
    position: relative;
    margin: 0;
    padding: 0 8px;
    text-align: center;
    width: 60px;
    height: 60px;
    border-radius: 0;
    border: none;
    background-color: #333;
    overflow: hidden; }
    .lesson-header .navbar-toggle:hover, .lesson-header .navbar-toggle:focus {
      background-color: #333; }
    .lesson-header .navbar-toggle span {
      position: relative;
      z-index: 2; }
    .lesson-header .navbar-toggle .txt {
      display: block;
      vertical-align: middle;
      padding-top: 4px;
      margin-bottom: 4px;
      line-height: 1;
      color: #fff;
      font-size: 9px;
      font-size: 0.9rem;
      font-weight: 700;
      font-family: "Asap", sans-serif; }
    .lesson-header .navbar-toggle .icon-bar {
      background-color: #fff !important;
      border-radius: 0;
      width: 25px;
      height: 2px;
      margin: 0 auto;
      margin-bottom: 5px;
      border-radius: 1px; }
  .lesson-header .offcanvas-toggle.is-open .icon-bar:nth-child(3) {
    opacity: 0; }
  .lesson-header .offcanvas-toggle.is-open .icon-bar:nth-child(2) {
    opacity: 1;
    transform: rotate(45deg) translate(5px, 5px); }
  .lesson-header .offcanvas-toggle.is-open .icon-bar:nth-child(4) {
    transform: rotate(-45deg) translate(5px, -5px); }

/* =====================
  footer
===================== */
.bg-contact-top {
  background-image: url("img/common/bg-contact-top.jpg");
  background-size: cover;
  background-position: center center;
  color: #fff; }
  .bg-contact-top .ttl-line-w .inner::after, .bg-contact-top .ttl-line-w .inner::before {
    background-color: #fff; }
  .bg-contact-top .line-contact-top {
    opacity: .3;
    margin-top: 30px;
    margin-bottom: 30px; }
  .bg-contact-top .dial {
    margin-top: 30px; }
    @media only screen and (min-width: 768px) {
      .bg-contact-top .dial {
        margin-top: 0; } }
    @media print {
      .bg-contact-top .dial {
        margin-top: 0; } }
  .bg-contact-top .wrapper-tel {
    line-height: 1.2;
    font-size: 26px;
    font-size: 2.6rem;
    font-family: "Asap", sans-serif;
    font-weight: bold; }
    @media only screen and (min-width: 768px) {
      .bg-contact-top .wrapper-tel {
        margin-top: 0;
        font-size: 48px;
        font-size: 4.8rem; } }
    @media print {
      .bg-contact-top .wrapper-tel {
        margin-top: 0;
        font-size: 48px;
        font-size: 4.8rem; } }
    .bg-contact-top .wrapper-tel .icon, .bg-contact-top .wrapper-tel .tel-link {
      display: inline-block;
      vertical-align: middle;
      color: #fff;
      line-height: 1; }
    .bg-contact-top .wrapper-tel .icon img {
      width: 30px;
      height: 20px; }
      @media only screen and (min-width: 768px) {
        .bg-contact-top .wrapper-tel .icon img {
          width: 60px;
          height: 40px; } }
      @media print {
        .bg-contact-top .wrapper-tel .icon img {
          width: 60px;
          height: 40px; } }
  .bg-contact-top .row-btns {
    overflow: hidden;
    margin-left: -15px;
    margin-right: -15px; }
    .bg-contact-top .row-btns .wrapper-btn {
      float: left;
      width: 33.33%;
      width: calc(100% / 3); }
      @media only screen and (min-width: 768px) {
        .bg-contact-top .row-btns .wrapper-btn {
          padding: 0 15px; } }
      @media print {
        .bg-contact-top .row-btns .wrapper-btn {
          padding: 0 15px; } }
      .bg-contact-top .row-btns .wrapper-btn a {
        position: relative;
        display: block;
        color: #fff;
        font-weight: bold;
        text-align: center;
        line-height: 1.4;
        padding: 10px 0;
        font-size: 14px;
        font-size: 1.4rem;
        background-color: #00a0e9; }
        @media only screen and (min-width: 768px) {
          .bg-contact-top .row-btns .wrapper-btn a {
            font-size: 18px;
            font-size: 1.8rem;
            width: 100%;
            max-width: 320px;
            padding: 18px 10px;
            margin: 0 auto;
            border-radius: 50px; } }
        @media print {
          .bg-contact-top .row-btns .wrapper-btn a {
            font-size: 18px;
            font-size: 1.8rem;
            width: 100%;
            max-width: 320px;
            padding: 18px 10px;
            margin: 0 auto;
            border-radius: 50px; } }
        @media only screen and (min-width: 992px) {
          .bg-contact-top .row-btns .wrapper-btn a {
            font-size: 20px;
            font-size: 2rem; } }
        @media print {
          .bg-contact-top .row-btns .wrapper-btn a {
            font-size: 20px;
            font-size: 2rem; } }
        .bg-contact-top .row-btns .wrapper-btn a:visited {
          text-decoration: none; }
        .bg-contact-top .row-btns .wrapper-btn a:hover {
          color: #fff;
          background-color: #44bef6; }
        .bg-contact-top .row-btns .wrapper-btn a.btn-01 {
          background-color: #f59923; }
          .bg-contact-top .row-btns .wrapper-btn a.btn-01:hover {
            background-color: #fab358; }
        .bg-contact-top .row-btns .wrapper-btn a.btn-03 {
          background-color: #40cd82; }
          .bg-contact-top .row-btns .wrapper-btn a.btn-03:hover {
            background-color: #77eaad; }
        .bg-contact-top .row-btns .wrapper-btn a .fa {
          position: absolute;
          right: 0.5em;
          top: 50%;
          margin-top: -.5em;
          line-height: 1;
          z-index: 2; }
          @media only screen and (min-width: 768px) {
            .bg-contact-top .row-btns .wrapper-btn a .fa {
              right: 1em; } }
          @media print {
            .bg-contact-top .row-btns .wrapper-btn a .fa {
              right: 1em; } }

.footer {
  background-color: #333;
  color: #fff; }
  .footer .logo-hps {
    width: 221px;
    height: 31px; }
  .footer .txt-hps .txt, .footer .txt-hps .img-btn {
    vertical-align: middle;
    display: inline-block; }
  .footer .txt-hps .txt {
    margin-right: 0.8em; }
  .footer .copy {
    color: #666;
    padding-bottom: 1em; }
  .footer .footer-bottom {
    padding-top: 30px;
    padding-bottom: 30px; }
    @media only screen and (min-width: 768px) {
      .footer .footer-bottom .nav-footer {
        display: table;
        width: 100%;
        table-layout: fixed; } }
    @media print {
      .footer .footer-bottom .nav-footer {
        display: table;
        width: 100%;
        table-layout: fixed; } }
    @media only screen and (min-width: 768px) {
      .footer .footer-bottom .nav-footer .td.access {
        width: 50%;
        padding-right: 0; } }
    @media print {
      .footer .footer-bottom .nav-footer .td.access {
        width: 50%;
        padding-right: 0; } }
    .footer .footer-bottom .nav-footer .td.access .list-footer > li {
      width: 100%; }
      .footer .footer-bottom .nav-footer .td.access .list-footer > li > a .place {
        display: block;
        float: left;
        width: 6em; }
      .footer .footer-bottom .nav-footer .td.access .list-footer > li > a .address {
        display: block;
        margin-left: 6em; }
      .footer .footer-bottom .nav-footer .td.access .list-footer > li > a::before {
        content: '\f041'; }
    @media only screen and (min-width: 768px) {
      .footer .footer-bottom .nav-footer .td {
        display: table-cell;
        padding-right: 15px; } }
    @media print {
      .footer .footer-bottom .nav-footer .td {
        display: table-cell;
        padding-right: 15px; } }
    @media only screen and (min-width: 992px) {
      .footer .footer-bottom .nav-footer .td {
        padding-right: 30px; } }
    @media print {
      .footer .footer-bottom .nav-footer .td {
        padding-right: 30px; } }
    .footer .footer-bottom .nav-footer .td a {
      display: block;
      color: #ddd; }
    .footer .footer-bottom .nav-footer .td .ttl {
      font-weight: bold;
      font-size: 14px;
      font-size: 1.4rem;
      border-bottom: 1px solid #666;
      margin-bottom: 10px;
      padding-bottom: 0.5em; }
      @media only screen and (min-width: 768px) {
        .footer .footer-bottom .nav-footer .td .ttl {
          font-size: 15px;
          font-size: 1.5rem; } }
      @media print {
        .footer .footer-bottom .nav-footer .td .ttl {
          font-size: 15px;
          font-size: 1.5rem; } }
    .footer .footer-bottom .nav-footer .td .list-footer {
      padding: 0;
      margin: 0;
      list-style: none;
      overflow: hidden; }
      .footer .footer-bottom .nav-footer .td .list-footer > li {
        font-size: 13px;
        font-size: 1.3rem;
        width: 50%;
        float: left;
        margin-bottom: 0.4em; }
        @media only screen and (min-width: 768px) {
          .footer .footer-bottom .nav-footer .td .list-footer > li {
            font-size: 14px;
            font-size: 1.4rem;
            font-weight: normal;
            width: 100%; } }
        @media print {
          .footer .footer-bottom .nav-footer .td .list-footer > li {
            font-size: 14px;
            font-size: 1.4rem;
            font-weight: normal;
            width: 100%; } }
        .footer .footer-bottom .nav-footer .td .list-footer > li > a {
          position: relative;
          padding-left: 1.2em; }
          .footer .footer-bottom .nav-footer .td .list-footer > li > a::before {
            position: absolute;
            left: 3px;
            top: 1em;
            margin-top: -0.5em;
            line-height: 1;
            display: block;
            content: '\f105';
            font-family: FontAwesome;
            font-size: 10px;
            font-size: 1rem; }
      .footer .footer-bottom .nav-footer .td .list-footer ul {
        padding: 0;
        margin: 0;
        list-style: none; }
        .footer .footer-bottom .nav-footer .td .list-footer ul > li {
          font-size: 12px;
          font-size: 1.2rem;
          margin-left: 1.2em; }
          @media only screen and (min-width: 768px) {
            .footer .footer-bottom .nav-footer .td .list-footer ul > li {
              font-size: 13px;
              font-size: 1.3rem; } }
          @media print {
            .footer .footer-bottom .nav-footer .td .list-footer ul > li {
              font-size: 13px;
              font-size: 1.3rem; } }
  .footer .footer-top {
    padding-top: 30px;
    padding-bottom: 20px;
    border-bottom: 1px solid #474747; }
    @media only screen and (min-width: 768px) {
      .footer .footer-top {
        padding-top: 30px;
        padding-bottom: 20px; } }
    @media print {
      .footer .footer-top {
        padding-top: 30px;
        padding-bottom: 20px; } }
    .footer .footer-top .left {
      overflow: hidden; }
      @media only screen and (min-width: 992px) {
        .footer .footer-top .left {
          float: left; } }
      @media print {
        .footer .footer-top .left {
          float: left; } }
      @media only screen and (min-width: 768px) {
        .footer .footer-top .left .logo {
          float: left; } }
      @media print {
        .footer .footer-top .left .logo {
          float: left; } }
      .footer .footer-top .left .logo img {
        margin: 0 auto; }
        @media only screen and (min-width: 768px) {
          .footer .footer-top .left .logo img {
            margin-left: 0; } }
        @media print {
          .footer .footer-top .left .logo img {
            margin-left: 0; } }
      .footer .footer-top .left .lead {
        text-align: center;
        color: #aaa;
        margin-top: 10px;
        line-height: 1.5; }
        @media only screen and (min-width: 768px) {
          .footer .footer-top .left .lead {
            margin-left: 30px;
            float: left;
            text-align: left; } }
        @media print {
          .footer .footer-top .left .lead {
            margin-left: 30px;
            float: left;
            text-align: left; } }
    .footer .footer-top .right {
      text-align: center; }
      @media only screen and (min-width: 768px) {
        .footer .footer-top .right {
          padding-top: 10px;
          text-align: left; } }
      @media print {
        .footer .footer-top .right {
          padding-top: 10px;
          text-align: left; } }
      @media only screen and (min-width: 992px) {
        .footer .footer-top .right {
          float: right; } }
      @media print {
        .footer .footer-top .right {
          float: right; } }
      .footer .footer-top .right p {
        display: inline-block;
        margin: 0 7px; }
        .footer .footer-top .right p a {
          display: block;
          width: 40px;
          height: 40px;
          background-color: #727272;
          color: #333;
          font-size: 24px;
          font-size: 2.4rem;
          text-align: center;
          line-height: 40px;
          border-radius: 50%;
          transition: background-color 0.2s linear; }
          .footer .footer-top .right p a:hover {
            background-color: #ccc; }

/* =====================
  top page
===================== */
.wrapper-mv {
  background-color: #f4f2ec; }

.mv {
  position: relative;
  overflow: hidden;
  height: 460px;
  background-image: url("img/common/mv-01-xs.jpg");
  background-size: cover;
  background-position: right center;
  background-repeat: no-repeat; }
  @media only screen and (min-width: 768px) {
    .mv {
      height: 760px;
      background-position: left 40% center;
      background-image: url("img/common/mv-01.jpg"); } }
  @media print {
    .mv {
      height: 760px;
      background-position: left 40% center;
      background-image: url("img/common/mv-01.jpg"); } }
  @media only screen and (min-width: 1200px) {
    .mv {
      background-position: center center; } }
  @media print {
    .mv {
      background-position: center center; } }
  .mv .inner-mv {
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 120px;
    max-width: 1480px;
    margin: 0 auto; }
    @media only screen and (min-width: 768px) {
      .mv .inner-mv {
        padding-top: 200px;
        padding-left: 30px; } }
    @media print {
      .mv .inner-mv {
        padding-top: 200px;
        padding-left: 30px; } }
    .mv .inner-mv .lg {
      margin-left: -15px;
      margin-bottom: 10px; }
      @media only screen and (min-width: 768px) {
        .mv .inner-mv .lg {
          margin-left: -20px; } }
      @media print {
        .mv .inner-mv .lg {
          margin-left: -20px; } }
      .mv .inner-mv .lg img {
        width: 295px; }
        @media only screen and (min-width: 768px) {
          .mv .inner-mv .lg img {
            width: 574px; } }
        @media print {
          .mv .inner-mv .lg img {
            width: 574px; } }
    .mv .inner-mv .md {
      text-shadow: #f0ede2 1px 1px 1px, #f0ede2 -1px 1px 1px, #f0ede2 1px -1px 1px, #f0ede2 -1px -1px 1px, #f0ede2 0 0 15px;
      font-weight: bold;
      font-size: 11px;
      font-size: 1.1rem;
      margin-bottom: 20px; }
      @media only screen and (min-width: 768px) {
        .mv .inner-mv .md {
          text-shadow: 0 0 10px #f0ede2;
          font-weight: normal;
          font-size: 18px;
          font-size: 1.8rem;
          margin-bottom: 30px; } }
      @media print {
        .mv .inner-mv .md {
          text-shadow: 0 0 10px #f0ede2;
          font-weight: normal;
          font-size: 18px;
          font-size: 1.8rem;
          margin-bottom: 30px; } }
    .mv .inner-mv .points {
      margin-bottom: 20px; }
      @media only screen and (min-width: 768px) {
        .mv .inner-mv .points {
          margin-bottom: 30px; } }
      @media print {
        .mv .inner-mv .points {
          margin-bottom: 30px; } }
      .mv .inner-mv .points .point {
        display: inline-block;
        margin-right: 8px; }
        @media only screen and (min-width: 768px) {
          .mv .inner-mv .points .point {
            margin-right: 20px; } }
        @media print {
          .mv .inner-mv .points .point {
            margin-right: 20px; } }
        .mv .inner-mv .points .point img {
          width: 80px; }
          @media only screen and (min-width: 768px) {
            .mv .inner-mv .points .point img {
              width: 125px; } }
          @media print {
            .mv .inner-mv .points .point img {
              width: 125px; } }
    .mv .inner-mv .banners {
      position: relative;
      background-color: #fff;
      background-color: rgba(255, 255, 255, 0.6);
      padding: 6px;
      padding-left: 0;
      border-radius: 3px; }
      @media only screen and (min-width: 768px) {
        .mv .inner-mv .banners {
          padding: 10px;
          padding-left: 0;
          float: left;
          width: 580px; } }
      @media print {
        .mv .inner-mv .banners {
          padding: 10px;
          padding-left: 0;
          float: left;
          width: 580px; } }
      .mv .inner-mv .banners .deco {
        position: absolute;
        left: -2px;
        top: -2px;
        z-index: 3; }
      .mv .inner-mv .banners .banner {
        display: block;
        float: left;
        width: 33%;
        padding-left: 6px; }
        @media only screen and (min-width: 768px) {
          .mv .inner-mv .banners .banner {
            width: 33%;
            padding-left: 10px; } }
        @media print {
          .mv .inner-mv .banners .banner {
            width: 33%;
            padding-left: 10px; } }

.block-links-kouza {
  overflow: hidden;
  padding: 0;
  border-right: 1px solid #fff; }
  @media only screen and (min-width: 768px) {
    .block-links-kouza {
      border-width: 2px; } }
  @media print {
    .block-links-kouza {
      border-width: 2px; } }
  .block-links-kouza .block {
    position: relative;
    float: left;
    width: 33.33%;
    width: calc(100% / 3);
    border-left: 1px solid #fff;
    margin-bottom: 0;
    overflow: hidden;
    background: #0077ae;
    background: -moz-linear-gradient(-30deg, #0077ae 0%, #0088af 100%);
    background: -webkit-linear-gradient(-30deg, #0077ae 0%, #0088af 100%);
    background: linear-gradient(150deg, #0077ae 0%, #0088af 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0077ae', endColorstr='#0088af',GradientType=1 ); }
    @media only screen and (min-width: 768px) {
      .block-links-kouza .block {
        border-width: 2px; } }
    @media print {
      .block-links-kouza .block {
        border-width: 2px; } }
    .block-links-kouza .block:hover .bg {
      opacity: .3;
      transform: scale(1.05); }
    .block-links-kouza .block .bg {
      position: absolute;
      height: 100%;
      width: 100%;
      left: 0;
      top: 0;
      background-size: cover;
      background-position: center center;
      background-repeat: no-repeat;
      opacity: .2;
      transform: scale(1);
      transition: all 0.25s linear;
      z-index: 1; }
      .block-links-kouza .block .bg.bg-01 {
        background-image: url("img/common/bg-top-pro.jpg"); }
      .block-links-kouza .block .bg.bg-02 {
        background-image: url("img/common/bg-top-tanki.jpg"); }
      .block-links-kouza .block .bg.bg-03 {
        background-image: url("img/common/bg-top-hojin.jpg"); }
    .block-links-kouza .block .tb {
      display: table;
      width: 100%;
      position: relative; }
      .block-links-kouza .block .tb .inner {
        position: relative;
        z-index: 2;
        display: table-cell;
        vertical-align: middle;
        height: 100px;
        color: #fff;
        text-align: center; }
        @media only screen and (min-width: 768px) {
          .block-links-kouza .block .tb .inner {
            height: 200px;
            font-size: 13px;
            font-size: 1.3rem;
            padding: 15px; } }
        @media print {
          .block-links-kouza .block .tb .inner {
            height: 200px;
            font-size: 13px;
            font-size: 1.3rem;
            padding: 15px; } }
        @media only screen and (min-width: 992px) {
          .block-links-kouza .block .tb .inner {
            font-size: 14px;
            font-size: 1.4rem; } }
        @media print {
          .block-links-kouza .block .tb .inner {
            font-size: 14px;
            font-size: 1.4rem; } }
        @media only screen and (min-width: 1200px) {
          .block-links-kouza .block .tb .inner {
            font-size: 15px;
            font-size: 1.5rem; } }
        @media print {
          .block-links-kouza .block .tb .inner {
            font-size: 15px;
            font-size: 1.5rem; } }
        .block-links-kouza .block .tb .inner:hover .btn-kouza {
          color: #00a0e9;
          background-color: #fff;
          transform: scale(1.03); }
          .block-links-kouza .block .tb .inner:hover .btn-kouza .fa {
            color: #00a0e9; }
        .block-links-kouza .block .tb .inner:visited {
          text-decoration: none; }
        .block-links-kouza .block .tb .inner .btn-kouza {
          position: relative;
          color: #fff;
          font-weight: bold;
          display: inline-block;
          line-height: 1.2;
          width: 90%; }
          @media only screen and (min-width: 768px) {
            .block-links-kouza .block .tb .inner .btn-kouza {
              width: 230px;
              padding: 0.5em;
              border: 2px solid #fff;
              border-radius: 30px;
              transition: all 0.2s linear; } }
          @media print {
            .block-links-kouza .block .tb .inner .btn-kouza {
              width: 230px;
              padding: 0.5em;
              border: 2px solid #fff;
              border-radius: 30px;
              transition: all 0.2s linear; } }
          .block-links-kouza .block .tb .inner .btn-kouza .fa {
            position: absolute;
            right: 0.5em;
            top: 50%;
            margin-top: -.5em;
            line-height: 1; }
            @media only screen and (min-width: 768px) {
              .block-links-kouza .block .tb .inner .btn-kouza .fa {
                right: 1em; } }
            @media print {
              .block-links-kouza .block .tb .inner .btn-kouza .fa {
                right: 1em; } }

.lead-top-01 {
  font-size: 14px;
  font-size: 3.8vw; }
  @media only screen and (min-width: 480px) {
    .lead-top-01 {
      font-size: 16px;
      font-size: 1.6rem; } }
  @media print {
    .lead-top-01 {
      font-size: 16px;
      font-size: 1.6rem; } }
  @media only screen and (min-width: 768px) {
    .lead-top-01 {
      font-size: 18px;
      font-size: 1.8rem; } }
  @media print {
    .lead-top-01 {
      font-size: 18px;
      font-size: 1.8rem; } }

.block-top-about .thumb {
  position: relative; }
  .block-top-about .thumb img {
    width: 160px;
    height: auto; }
  .block-top-about .thumb .num {
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -100px; }
    .block-top-about .thumb .num img {
      width: 60px;
      height: auto; }

.block-top-about-sub {
  line-height: 1.4; }
  .block-top-about-sub .thumb img {
    border-radius: 50%;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    width: 75px;
    height: 75px; }
    @media only screen and (min-width: 768px) {
      .block-top-about-sub .thumb img {
        width: 100px;
        height: 100px; } }
    @media print {
      .block-top-about-sub .thumb img {
        width: 100px;
        height: 100px; } }

.block-numbers-top {
  text-align: center; }
  .block-numbers-top p {
    font-weight: bold;
    line-height: 1; }
    @media only screen and (min-width: 768px) {
      .block-numbers-top p {
        display: inline-block;
        margin: 0 40px; } }
    @media print {
      .block-numbers-top p {
        display: inline-block;
        margin: 0 40px; } }
    .block-numbers-top p.first {
      padding-right: 5em; }
      @media only screen and (min-width: 768px) {
        .block-numbers-top p.first {
          padding-right: 0; } }
      @media print {
        .block-numbers-top p.first {
          padding-right: 0; } }
    .block-numbers-top p.third {
      padding-left: 5em; }
      @media only screen and (min-width: 768px) {
        .block-numbers-top p.third {
          padding-left: 0; } }
      @media print {
        .block-numbers-top p.third {
          padding-left: 0; } }
    .block-numbers-top p .txt {
      display: inline-block; }
    .block-numbers-top p .num {
      display: inline-block;
      margin-left: 0.3em;
      font-family: "Asap", sans-serif;
      font-weight: bold;
      color: #f52354;
      font-size: 32px;
      font-size: 3.2rem; }
      @media only screen and (min-width: 768px) {
        .block-numbers-top p .num {
          font-size: 42px;
          font-size: 4.2rem; } }
      @media print {
        .block-numbers-top p .num {
          font-size: 42px;
          font-size: 4.2rem; } }
      .block-numbers-top p .num .min {
        font-size: 16px;
        font-size: 1.6rem; }
        @media only screen and (min-width: 768px) {
          .block-numbers-top p .num .min {
            font-size: 20px;
            font-size: 2rem; } }
        @media print {
          .block-numbers-top p .num .min {
            font-size: 20px;
            font-size: 2rem; } }

.row-flow {
  position: relative;
  text-align: center; }
  .row-flow::before {
    display: block;
    content: " ";
    position: absolute;
    background-image: url(img/common/line-flow.png);
    background-repeat: repeat-y;
    background-size: 6px 6px;
    width: 6px;
    height: 94%;
    top: 5%;
    left: 50%;
    margin-left: -3px; }
    @media only screen and (min-width: 768px) {
      .row-flow::before {
        width: 80%;
        height: 12px;
        left: 10%;
        top: 70px;
        background-size: 12px 12px;
        background-repeat: repeat-x; } }
    @media print {
      .row-flow::before {
        width: 80%;
        height: 12px;
        left: 10%;
        top: 70px;
        background-size: 12px 12px;
        background-repeat: repeat-x; } }
  .row-flow .illust .inner {
    background-color: #00a0e9;
    display: inline-block;
    vertical-align: middle;
    max-width: 100%; }
    @media only screen and (min-width: 768px) {
      .row-flow .illust .inner {
        padding: 0 15px; } }
    @media print {
      .row-flow .illust .inner {
        padding: 0 15px; } }
  .row-flow .txt {
    background-color: #00a0e9;
    font-weight: bold;
    line-height: 1;
    padding-bottom: 5px; }
    @media only screen and (min-width: 768px) {
      .row-flow .txt {
        padding-bottom: 0; } }
    @media print {
      .row-flow .txt {
        padding-bottom: 0; } }
    .row-flow .txt .num {
      font-family: "Asap", sans-serif;
      color: #99d9f6;
      font-style: italic; }

.section-corp-top {
  padding-top: 30px;
  padding-bottom: 52%;
  background-color: #f4f8f6;
  background-image: url("img/common/bg-corp-top.png");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 100% auto; }
  @media only screen and (min-width: 992px) {
    .section-corp-top {
      padding-top: 60px;
      padding-bottom: 0;
      background-image: none; } }
  @media print {
    .section-corp-top {
      padding-top: 60px;
      padding-bottom: 0;
      background-image: none; } }
  @media only screen and (min-width: 992px) {
    .section-corp-top .bg-corp-top {
      padding-bottom: 60px;
      background-image: url("img/common/bg-corp-top.png");
      background-repeat: no-repeat;
      background-position: center bottom -20px;
      background-size: 100% auto; } }
  @media print {
    .section-corp-top .bg-corp-top {
      padding-bottom: 60px;
      background-image: url("img/common/bg-corp-top.png");
      background-repeat: no-repeat;
      background-position: center bottom -20px;
      background-size: 100% auto; } }
  .section-corp-top .content {
    text-align: center; }
    @media only screen and (min-width: 992px) {
      .section-corp-top .content {
        text-align: left;
        padding-bottom: 60px; } }
    @media print {
      .section-corp-top .content {
        text-align: left;
        padding-bottom: 60px; } }

/* =====================
  editor(WYSIWYG)
===================== */
.page-content {
  line-height: 1.75;
  font-size: 13px;
  font-size: 1.3rem; }
  .page-content button,
  .page-content input,
  .page-content select,
  .page-content textarea {
    font-size: 16px;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.66; }
  .page-content * {
    font-size: 14px; }
    @media only screen and (min-width: 768px) {
      .page-content * {
        font-size: 16px; } }
    @media print {
      .page-content * {
        font-size: 16px; } }
  .page-content h1,
  .page-content h2,
  .page-content h3,
  .page-content h4,
  .page-content h5,
  .page-content h6 {
    clear: both;
    font-weight: bold;
    line-height: 1.4;
    margin: 30px 0 20px; }
  .page-content h1:first-child,
  .page-content h2:first-child,
  .page-content h3:first-child,
  .page-content h4:first-child,
  .page-content h5:first-child,
  .page-content h6:first-child {
    margin-top: 0; }
  .page-content h1 {
    background-color: #f3f3f3;
    padding: 1em;
    font-size: 18px; }
    @media only screen and (min-width: 768px) {
      .page-content h1 {
        font-size: 22px; } }
    @media print {
      .page-content h1 {
        font-size: 22px; } }
  .page-content h2 {
    background-color: #f3f3f3;
    padding: 1em;
    font-size: 16px; }
    @media only screen and (min-width: 768px) {
      .page-content h2 {
        font-size: 20px; } }
    @media print {
      .page-content h2 {
        font-size: 20px; } }
  .page-content h3 {
    position: relative;
    font-size: 15px;
    border-left: 5px solid #111;
    padding: 0.5em; }
    @media only screen and (min-width: 768px) {
      .page-content h3 {
        font-size: 18px; } }
    @media print {
      .page-content h3 {
        font-size: 18px; } }
  .page-content h4 {
    position: relative;
    font-size: 14px;
    border-left: 4px solid #111;
    padding: 0.3em 0.5em; }
    @media only screen and (min-width: 768px) {
      .page-content h4 {
        font-size: 16px; } }
    @media print {
      .page-content h4 {
        font-size: 16px; } }
  .page-content h5 {
    font-weight: bold; }
  .page-content h6 {
    font-size: 13px;
    font-weight: bold; }
  .page-content p {
    margin: 1em 0;
    padding: 0; }
  .page-content dfn,
  .page-content cite,
  .page-content em,
  .page-content i {
    font-style: italic; }
  .page-content blockquote {
    color: #666;
    font-size: 18px;
    font-style: italic;
    line-height: 1.7;
    margin: 0;
    overflow: hidden;
    padding: 0; }
  .page-content blockquote.alignleft,
  .page-content blockquote.alignright {
    font-size: 14px;
    width: 34%; }
  .page-content address {
    margin: 0 0 1.5em; }
  .page-content pre {
    background: #eee;
    border-radius: 2px;
    line-height: 1.5;
    margin-bottom: 1.6em;
    max-width: 100%;
    overflow: auto;
    padding: 1.6em; }
  .page-content code,
  .page-content kbd,
  .page-content tt,
  .page-content var {
    font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; }
  .page-content abbr,
  .page-content acronym {
    border-bottom: 1px dotted #666;
    cursor: help; }
  .page-content mark,
  .page-content ins {
    background: #eee;
    text-decoration: none; }
  .page-content big {
    font-size: 125%; }
  .page-content blockquote,
  .page-content q {
    quotes: "" ""; }
  .page-content blockquote:before,
  .page-content blockquote:after,
  .page-content q:before,
  .page-content q:after {
    content: ""; }
  .page-content hr {
    background-color: #bbb;
    border: 0;
    height: 1px;
    margin-bottom: 1em; }
  .page-content .toc_list li::after {
    display: none; }
  .page-content ul,
  .page-content ol {
    margin-left: 1.5em;
    margin-top: 1.5em;
    margin-bottom: 1.5em;
    padding: 0; }
  .page-content ul {
    list-style: disc; }
  .page-content ol {
    counter-reset: item; }
  .page-content ol li {
    display: block;
    position: relative;
    margin-bottom: 1em;
    padding-left: 20px; }
  .page-content ol li:before {
    position: absolute;
    display: block;
    left: 0;
    top: 0.2em;
    content: counter(item);
    font-weight: normal;
    counter-increment: item;
    border: 1px solid #111;
    color: #111;
    line-height: 12px;
    text-align: center;
    height: 13px;
    width: 13px;
    border-radius: 50%;
    font-size: 11px; }
  .page-content li > ul,
  .page-content li > ol {
    margin-bottom: 0;
    margin-left: 1.5em; }
  .page-content li ol {
    font-size: 90%; }
    .page-content li ol li {
      margin-bottom: .5em; }
    .page-content li ol li:before {
      content: counter(item);
      counter-increment: item;
      font-weight: 200;
      left: -.5em;
      position: absolute; }
  .page-content ul {
    list-style: none; }
    .page-content ul li {
      position: relative;
      padding: 0;
      margin-bottom: .2em;
      padding-left: 1.2em; }
      .page-content ul li:after {
        position: absolute;
        content: " ";
        display: block;
        width: 6px;
        height: 6px;
        border-radius: 50%;
        border: 1px solid #111;
        left: 2px;
        top: 0.6em; }
        @media only screen and (min-width: 768px) {
          .page-content ul li:after {
            top: 0.7em; } }
        @media print {
          .page-content ul li:after {
            top: 0.7em; } }
  .page-content dt {
    font-weight: 700; }
  .page-content dd {
    margin: 0 1.5em 1.5em; }
  .page-content table {
    border-collapse: collapse;
    margin: 0 0 1.5em;
    width: 100%;
    font-size: 11px; }
    @media only screen and (min-width: 768px) {
      .page-content table {
        font-size: 13px; } }
    @media print {
      .page-content table {
        font-size: 13px; } }
  .page-content thead th {
    border-bottom: 2px solid #ddd;
    padding-bottom: 0.5em; }
  .page-content th {
    padding: 10px;
    text-align: left; }
  .page-content tr {
    border-bottom: 1px solid #ddd; }
  .page-content td {
    padding: 10px; }
  .page-content a img {
    background: #fff;
    -webkit-box-shadow: 0 0 0 6px #fff;
    box-shadow: 0 0 0 6px #fff; }
  .page-content img {
    display: block;
    margin: 0 auto;
    height: auto;
    max-width: 100%; }
  .page-content embed,
  .page-content iframe,
  .page-content object {
    margin-bottom: 1.5em;
    max-width: 100%; }
  .page-content strong {
    font-weight: bold;
    background: #ffff66; }
  .page-content em {
    font-style: italic; }
  .page-content blockquote {
    display: block;
    -webkit-margin-before: 1em;
    -webkit-margin-after: 1em;
    -webkit-margin-start: 40px;
    -webkit-margin-end: 40px; }
  .page-content .aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto; }
  .page-content .alignright {
    float: right; }
  .page-content .alignleft {
    float: left; }
  .page-content img[class*="wp-image-"],
  .page-content img[class*="attachment-"] {
    height: auto;
    max-width: 100%; }
  .page-content img[data-wp-more] {
    border: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    width: 96%;
    height: 16px;
    display: block;
    margin: 15px auto 0;
    outline: 0;
    cursor: default; }
  .page-content .clearfix {
    overflow: hidden;
    zoom: 1; }
  .page-content .clearfix:after {
    content: "";
    display: block;
    clear: both; }
  @media only screen and (min-width: 768px) {
    .page-content {
      font-size: 16px;
      font-size: 1.6rem; } }
  @media print {
    .page-content {
      font-size: 16px;
      font-size: 1.6rem; } }
  .page-content.txt-14 {
    font-size: 12px;
    font-size: 1.2rem; }
    @media only screen and (min-width: 768px) {
      .page-content.txt-14 {
        font-size: 14px;
        font-size: 1.4rem; } }
    @media print {
      .page-content.txt-14 {
        font-size: 14px;
        font-size: 1.4rem; } }

body#tinymce.wp-editor {
  font-family: "Arial", -apple-system, BlinkMacSystemFont, 'Hiragino Kaku Gothic ProN', '游ゴシック  Medium', meiryo, sans-serif;
  font-size: 10px;
  line-height: 1.66667;
  color: #111;
  -webkit-text-size-adjust: 100%;
  font-weight: 400;
  line-height: 1.75; }
  @media only screen and (min-width: 768px) {
    body#tinymce.wp-editor {
      line-height: 1.8; } }
  @media print {
    body#tinymce.wp-editor {
      line-height: 1.8; } }
  body#tinymce.wp-editor button,
  body#tinymce.wp-editor input,
  body#tinymce.wp-editor select,
  body#tinymce.wp-editor textarea {
    font-size: 16px;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.66; }
  body#tinymce.wp-editor * {
    font-size: 14px; }
    @media only screen and (min-width: 768px) {
      body#tinymce.wp-editor * {
        font-size: 16px; } }
    @media print {
      body#tinymce.wp-editor * {
        font-size: 16px; } }
  body#tinymce.wp-editor h1,
  body#tinymce.wp-editor h2,
  body#tinymce.wp-editor h3,
  body#tinymce.wp-editor h4,
  body#tinymce.wp-editor h5,
  body#tinymce.wp-editor h6 {
    clear: both;
    font-weight: bold;
    line-height: 1.4;
    margin: 30px 0 20px; }
  body#tinymce.wp-editor h1:first-child,
  body#tinymce.wp-editor h2:first-child,
  body#tinymce.wp-editor h3:first-child,
  body#tinymce.wp-editor h4:first-child,
  body#tinymce.wp-editor h5:first-child,
  body#tinymce.wp-editor h6:first-child {
    margin-top: 0; }
  body#tinymce.wp-editor h1 {
    background-color: #f3f3f3;
    padding: 1em;
    font-size: 18px; }
    @media only screen and (min-width: 768px) {
      body#tinymce.wp-editor h1 {
        font-size: 22px; } }
    @media print {
      body#tinymce.wp-editor h1 {
        font-size: 22px; } }
  body#tinymce.wp-editor h2 {
    background-color: #f3f3f3;
    padding: 1em;
    font-size: 16px; }
    @media only screen and (min-width: 768px) {
      body#tinymce.wp-editor h2 {
        font-size: 20px; } }
    @media print {
      body#tinymce.wp-editor h2 {
        font-size: 20px; } }
  body#tinymce.wp-editor h3 {
    position: relative;
    font-size: 15px;
    border-left: 5px solid #111;
    padding: 0.5em; }
    @media only screen and (min-width: 768px) {
      body#tinymce.wp-editor h3 {
        font-size: 18px; } }
    @media print {
      body#tinymce.wp-editor h3 {
        font-size: 18px; } }
  body#tinymce.wp-editor h4 {
    position: relative;
    font-size: 14px;
    border-left: 4px solid #111;
    padding: 0.3em 0.5em; }
    @media only screen and (min-width: 768px) {
      body#tinymce.wp-editor h4 {
        font-size: 16px; } }
    @media print {
      body#tinymce.wp-editor h4 {
        font-size: 16px; } }
  body#tinymce.wp-editor h5 {
    font-weight: bold; }
  body#tinymce.wp-editor h6 {
    font-size: 13px;
    font-weight: bold; }
  body#tinymce.wp-editor p {
    margin: 1em 0;
    padding: 0; }
  body#tinymce.wp-editor dfn,
  body#tinymce.wp-editor cite,
  body#tinymce.wp-editor em,
  body#tinymce.wp-editor i {
    font-style: italic; }
  body#tinymce.wp-editor blockquote {
    color: #666;
    font-size: 18px;
    font-style: italic;
    line-height: 1.7;
    margin: 0;
    overflow: hidden;
    padding: 0; }
  body#tinymce.wp-editor blockquote.alignleft,
  body#tinymce.wp-editor blockquote.alignright {
    font-size: 14px;
    width: 34%; }
  body#tinymce.wp-editor address {
    margin: 0 0 1.5em; }
  body#tinymce.wp-editor pre {
    background: #eee;
    border-radius: 2px;
    line-height: 1.5;
    margin-bottom: 1.6em;
    max-width: 100%;
    overflow: auto;
    padding: 1.6em; }
  body#tinymce.wp-editor code,
  body#tinymce.wp-editor kbd,
  body#tinymce.wp-editor tt,
  body#tinymce.wp-editor var {
    font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; }
  body#tinymce.wp-editor abbr,
  body#tinymce.wp-editor acronym {
    border-bottom: 1px dotted #666;
    cursor: help; }
  body#tinymce.wp-editor mark,
  body#tinymce.wp-editor ins {
    background: #eee;
    text-decoration: none; }
  body#tinymce.wp-editor big {
    font-size: 125%; }
  body#tinymce.wp-editor blockquote,
  body#tinymce.wp-editor q {
    quotes: "" ""; }
  body#tinymce.wp-editor blockquote:before,
  body#tinymce.wp-editor blockquote:after,
  body#tinymce.wp-editor q:before,
  body#tinymce.wp-editor q:after {
    content: ""; }
  body#tinymce.wp-editor hr {
    background-color: #bbb;
    border: 0;
    height: 1px;
    margin-bottom: 1em; }
  body#tinymce.wp-editor .toc_list li::after {
    display: none; }
  body#tinymce.wp-editor ul,
  body#tinymce.wp-editor ol {
    margin-left: 1.5em;
    margin-top: 1.5em;
    margin-bottom: 1.5em;
    padding: 0; }
  body#tinymce.wp-editor ul {
    list-style: disc; }
  body#tinymce.wp-editor ol {
    counter-reset: item; }
  body#tinymce.wp-editor ol li {
    display: block;
    position: relative;
    margin-bottom: 1em;
    padding-left: 20px; }
  body#tinymce.wp-editor ol li:before {
    position: absolute;
    display: block;
    left: 0;
    top: 0.2em;
    content: counter(item);
    font-weight: normal;
    counter-increment: item;
    border: 1px solid #111;
    color: #111;
    line-height: 12px;
    text-align: center;
    height: 13px;
    width: 13px;
    border-radius: 50%;
    font-size: 11px; }
  body#tinymce.wp-editor li > ul,
  body#tinymce.wp-editor li > ol {
    margin-bottom: 0;
    margin-left: 1.5em; }
  body#tinymce.wp-editor li ol {
    font-size: 90%; }
    body#tinymce.wp-editor li ol li {
      margin-bottom: .5em; }
    body#tinymce.wp-editor li ol li:before {
      content: counter(item);
      counter-increment: item;
      font-weight: 200;
      left: -.5em;
      position: absolute; }
  body#tinymce.wp-editor ul {
    list-style: none; }
    body#tinymce.wp-editor ul li {
      position: relative;
      padding: 0;
      margin-bottom: .2em;
      padding-left: 1.2em; }
      body#tinymce.wp-editor ul li:after {
        position: absolute;
        content: " ";
        display: block;
        width: 6px;
        height: 6px;
        border-radius: 50%;
        border: 1px solid #111;
        left: 2px;
        top: 0.6em; }
        @media only screen and (min-width: 768px) {
          body#tinymce.wp-editor ul li:after {
            top: 0.7em; } }
        @media print {
          body#tinymce.wp-editor ul li:after {
            top: 0.7em; } }
  body#tinymce.wp-editor dt {
    font-weight: 700; }
  body#tinymce.wp-editor dd {
    margin: 0 1.5em 1.5em; }
  body#tinymce.wp-editor table {
    border-collapse: collapse;
    margin: 0 0 1.5em;
    width: 100%;
    font-size: 11px; }
    @media only screen and (min-width: 768px) {
      body#tinymce.wp-editor table {
        font-size: 13px; } }
    @media print {
      body#tinymce.wp-editor table {
        font-size: 13px; } }
  body#tinymce.wp-editor thead th {
    border-bottom: 2px solid #ddd;
    padding-bottom: 0.5em; }
  body#tinymce.wp-editor th {
    padding: 10px;
    text-align: left; }
  body#tinymce.wp-editor tr {
    border-bottom: 1px solid #ddd; }
  body#tinymce.wp-editor td {
    padding: 10px; }
  body#tinymce.wp-editor a img {
    background: #fff;
    -webkit-box-shadow: 0 0 0 6px #fff;
    box-shadow: 0 0 0 6px #fff; }
  body#tinymce.wp-editor img {
    display: block;
    margin: 0 auto;
    height: auto;
    max-width: 100%; }
  body#tinymce.wp-editor embed,
  body#tinymce.wp-editor iframe,
  body#tinymce.wp-editor object {
    margin-bottom: 1.5em;
    max-width: 100%; }
  body#tinymce.wp-editor strong {
    font-weight: bold;
    background: #ffff66; }
  body#tinymce.wp-editor em {
    font-style: italic; }
  body#tinymce.wp-editor blockquote {
    display: block;
    -webkit-margin-before: 1em;
    -webkit-margin-after: 1em;
    -webkit-margin-start: 40px;
    -webkit-margin-end: 40px; }
  body#tinymce.wp-editor .aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto; }
  body#tinymce.wp-editor .alignright {
    float: right; }
  body#tinymce.wp-editor .alignleft {
    float: left; }
  body#tinymce.wp-editor img[class*="wp-image-"],
  body#tinymce.wp-editor img[class*="attachment-"] {
    height: auto;
    max-width: 100%; }
  body#tinymce.wp-editor img[data-wp-more] {
    border: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    width: 96%;
    height: 16px;
    display: block;
    margin: 15px auto 0;
    outline: 0;
    cursor: default; }
  body#tinymce.wp-editor .clearfix {
    overflow: hidden;
    zoom: 1; }
  body#tinymce.wp-editor .clearfix:after {
    content: "";
    display: block;
    clear: both; }

/* =====================
  form setting
===================== */
.wpcf7 {
  margin: 0 15px; }

div.wpcf7-response-output {
  margin: 1em 0.5em 0.5em; }

form.sent .box-form {
  display: none; }

div.wpcf7 .ajax-loader {
  display: block;
  margin: 5px auto; }

div.wpcf7-response-output {
  margin: 1em 0; }
  div.wpcf7-response-output.wpcf7-mail-sent-ok {
    font-size: 15px;
    font-size: 1.5rem;
    border: none;
    padding: 0.4em 1em; }

.formError {
  z-index: 9; }

#mail-form, .mw_wp_form {
  font-weight: normal; }
  #mail-form div, #mail-form p, .mw_wp_form div, .mw_wp_form p {
    margin-bottom: 0; }
  #mail-form .form-row, #mail-form tr, .mw_wp_form .form-row, .mw_wp_form tr {
    border-bottom: 1px solid #eee;
    background-color: #fff !important; }
    #mail-form .form-row:first-child, #mail-form tr:first-child, .mw_wp_form .form-row:first-child, .mw_wp_form tr:first-child {
      border-top: 1px solid #eee; }
    #mail-form .form-row .horizontal-item input, #mail-form tr .horizontal-item input, .mw_wp_form .form-row .horizontal-item input, .mw_wp_form tr .horizontal-item input {
      margin-top: 0;
      margin-left: 0;
      margin-right: 10px; }
    #mail-form .form-row .horizontal-item + .horizontal-item, #mail-form tr .horizontal-item + .horizontal-item, .mw_wp_form .form-row .horizontal-item + .horizontal-item, .mw_wp_form tr .horizontal-item + .horizontal-item {
      margin-left: 0; }
    #mail-form .form-row .horizontal-item, #mail-form tr .horizontal-item, .mw_wp_form .form-row .horizontal-item, .mw_wp_form tr .horizontal-item {
      display: inline-block;
      margin-left: 0;
      margin-right: 20px;
      margin-top: 10px;
      margin-bottom: 10px; }
    #mail-form .form-row .radio, #mail-form tr .radio, .mw_wp_form .form-row .radio, .mw_wp_form tr .radio {
      vertical-align: baseline;
      display: inline-block !important; }
    #mail-form .form-row .form-head, #mail-form .form-row th, #mail-form tr .form-head, #mail-form tr th, .mw_wp_form .form-row .form-head, .mw_wp_form .form-row th, .mw_wp_form tr .form-head, .mw_wp_form tr th {
      position: relative;
      background-color: #fff;
      padding-top: 5px;
      padding-bottom: 0;
      padding-right: 40px;
      padding-left: 0;
      display: block;
      border: none !important; }
      @media only screen and (min-width: 768px) {
        #mail-form .form-row .form-head, #mail-form .form-row th, #mail-form tr .form-head, #mail-form tr th, .mw_wp_form .form-row .form-head, .mw_wp_form .form-row th, .mw_wp_form tr .form-head, .mw_wp_form tr th {
          display: table-cell;
          min-height: 50px;
          padding-bottom: 15px;
          padding-top: 25px !important; } }
      @media print {
        #mail-form .form-row .form-head, #mail-form .form-row th, #mail-form tr .form-head, #mail-form tr th, .mw_wp_form .form-row .form-head, .mw_wp_form .form-row th, .mw_wp_form tr .form-head, .mw_wp_form tr th {
          display: table-cell;
          min-height: 50px;
          padding-bottom: 15px;
          padding-top: 25px !important; } }
      #mail-form .form-row .form-head label, #mail-form .form-row th label, #mail-form tr .form-head label, #mail-form tr th label, .mw_wp_form .form-row .form-head label, .mw_wp_form .form-row th label, .mw_wp_form tr .form-head label, .mw_wp_form tr th label {
        margin-bottom: 0; }
      #mail-form .form-row .form-head .required, #mail-form .form-row th .required, #mail-form tr .form-head .required, #mail-form tr th .required, .mw_wp_form .form-row .form-head .required, .mw_wp_form .form-row th .required, .mw_wp_form tr .form-head .required, .mw_wp_form tr th .required {
        font-size: 60%;
        color: red;
        display: inline-block;
        margin-left: 5px; }
      #mail-form .form-row .form-head .nini-mark, #mail-form .form-row .form-head .req-mark, #mail-form .form-row th .nini-mark, #mail-form .form-row th .req-mark, #mail-form tr .form-head .nini-mark, #mail-form tr .form-head .req-mark, #mail-form tr th .nini-mark, #mail-form tr th .req-mark, .mw_wp_form .form-row .form-head .nini-mark, .mw_wp_form .form-row .form-head .req-mark, .mw_wp_form .form-row th .nini-mark, .mw_wp_form .form-row th .req-mark, .mw_wp_form tr .form-head .nini-mark, .mw_wp_form tr .form-head .req-mark, .mw_wp_form tr th .nini-mark, .mw_wp_form tr th .req-mark {
        position: absolute;
        top: 8px;
        right: 0; }
        @media only screen and (min-width: 768px) {
          #mail-form .form-row .form-head .nini-mark, #mail-form .form-row .form-head .req-mark, #mail-form .form-row th .nini-mark, #mail-form .form-row th .req-mark, #mail-form tr .form-head .nini-mark, #mail-form tr .form-head .req-mark, #mail-form tr th .nini-mark, #mail-form tr th .req-mark, .mw_wp_form .form-row .form-head .nini-mark, .mw_wp_form .form-row .form-head .req-mark, .mw_wp_form .form-row th .nini-mark, .mw_wp_form .form-row th .req-mark, .mw_wp_form tr .form-head .nini-mark, .mw_wp_form tr .form-head .req-mark, .mw_wp_form tr th .nini-mark, .mw_wp_form tr th .req-mark {
            top: 32px;
            right: 15px; } }
        @media print {
          #mail-form .form-row .form-head .nini-mark, #mail-form .form-row .form-head .req-mark, #mail-form .form-row th .nini-mark, #mail-form .form-row th .req-mark, #mail-form tr .form-head .nini-mark, #mail-form tr .form-head .req-mark, #mail-form tr th .nini-mark, #mail-form tr th .req-mark, .mw_wp_form .form-row .form-head .nini-mark, .mw_wp_form .form-row .form-head .req-mark, .mw_wp_form .form-row th .nini-mark, .mw_wp_form .form-row th .req-mark, .mw_wp_form tr .form-head .nini-mark, .mw_wp_form tr .form-head .req-mark, .mw_wp_form tr th .nini-mark, .mw_wp_form tr th .req-mark {
            top: 32px;
            right: 15px; } }
    #mail-form .form-row .form-content, #mail-form .form-row td, #mail-form tr .form-content, #mail-form tr td, .mw_wp_form .form-row .form-content, .mw_wp_form .form-row td, .mw_wp_form tr .form-content, .mw_wp_form tr td {
      padding-top: 5px;
      padding-bottom: 5px;
      padding-right: 0;
      padding-left: 0;
      display: block;
      border: none !important; }
      @media only screen and (min-width: 768px) {
        #mail-form .form-row .form-content, #mail-form .form-row td, #mail-form tr .form-content, #mail-form tr td, .mw_wp_form .form-row .form-content, .mw_wp_form .form-row td, .mw_wp_form tr .form-content, .mw_wp_form tr td {
          display: table-cell;
          padding-top: 15px;
          padding-bottom: 15px;
          padding-left: 20px; } }
      @media print {
        #mail-form .form-row .form-content, #mail-form .form-row td, #mail-form tr .form-content, #mail-form tr td, .mw_wp_form .form-row .form-content, .mw_wp_form .form-row td, .mw_wp_form tr .form-content, .mw_wp_form tr td {
          display: table-cell;
          padding-top: 15px;
          padding-bottom: 15px;
          padding-left: 20px; } }
    #mail-form .form-row .form-control, #mail-form .form-row input[type=text], #mail-form .form-row input[type=email], #mail-form .form-row input[type=password], #mail-form .form-row select, #mail-form .form-row textarea, #mail-form tr .form-control, #mail-form tr input[type=text], #mail-form tr input[type=email], #mail-form tr input[type=password], #mail-form tr select, #mail-form tr textarea, .mw_wp_form .form-row .form-control, .mw_wp_form .form-row input[type=text], .mw_wp_form .form-row input[type=email], .mw_wp_form .form-row input[type=password], .mw_wp_form .form-row select, .mw_wp_form .form-row textarea, .mw_wp_form tr .form-control, .mw_wp_form tr input[type=text], .mw_wp_form tr input[type=email], .mw_wp_form tr input[type=password], .mw_wp_form tr select, .mw_wp_form tr textarea {
      width: 100%;
      border-radius: 2px;
      font-size: 13px;
      font-size: 1.3rem;
      line-height: 40px;
      height: 40px;
      box-shadow: none;
      border: none;
      background-color: #f6f6f6;
      -webkit-appearance: none;
      border-radius: 2px; }
      @media only screen and (min-width: 768px) {
        #mail-form .form-row .form-control, #mail-form .form-row input[type=text], #mail-form .form-row input[type=email], #mail-form .form-row input[type=password], #mail-form .form-row select, #mail-form .form-row textarea, #mail-form tr .form-control, #mail-form tr input[type=text], #mail-form tr input[type=email], #mail-form tr input[type=password], #mail-form tr select, #mail-form tr textarea, .mw_wp_form .form-row .form-control, .mw_wp_form .form-row input[type=text], .mw_wp_form .form-row input[type=email], .mw_wp_form .form-row input[type=password], .mw_wp_form .form-row select, .mw_wp_form .form-row textarea, .mw_wp_form tr .form-control, .mw_wp_form tr input[type=text], .mw_wp_form tr input[type=email], .mw_wp_form tr input[type=password], .mw_wp_form tr select, .mw_wp_form tr textarea {
          font-size: 14px;
          font-size: 1.4rem;
          line-height: 50px;
          height: 50px; } }
      @media print {
        #mail-form .form-row .form-control, #mail-form .form-row input[type=text], #mail-form .form-row input[type=email], #mail-form .form-row input[type=password], #mail-form .form-row select, #mail-form .form-row textarea, #mail-form tr .form-control, #mail-form tr input[type=text], #mail-form tr input[type=email], #mail-form tr input[type=password], #mail-form tr select, #mail-form tr textarea, .mw_wp_form .form-row .form-control, .mw_wp_form .form-row input[type=text], .mw_wp_form .form-row input[type=email], .mw_wp_form .form-row input[type=password], .mw_wp_form .form-row select, .mw_wp_form .form-row textarea, .mw_wp_form tr .form-control, .mw_wp_form tr input[type=text], .mw_wp_form tr input[type=email], .mw_wp_form tr input[type=password], .mw_wp_form tr select, .mw_wp_form tr textarea {
          font-size: 14px;
          font-size: 1.4rem;
          line-height: 50px;
          height: 50px; } }
      #mail-form .form-row .form-control.input-xs, #mail-form .form-row input[type=text].input-xs, #mail-form .form-row input[type=email].input-xs, #mail-form .form-row input[type=password].input-xs, #mail-form .form-row select.input-xs, #mail-form .form-row textarea.input-xs, #mail-form tr .form-control.input-xs, #mail-form tr input[type=text].input-xs, #mail-form tr input[type=email].input-xs, #mail-form tr input[type=password].input-xs, #mail-form tr select.input-xs, #mail-form tr textarea.input-xs, .mw_wp_form .form-row .form-control.input-xs, .mw_wp_form .form-row input[type=text].input-xs, .mw_wp_form .form-row input[type=email].input-xs, .mw_wp_form .form-row input[type=password].input-xs, .mw_wp_form .form-row select.input-xs, .mw_wp_form .form-row textarea.input-xs, .mw_wp_form tr .form-control.input-xs, .mw_wp_form tr input[type=text].input-xs, .mw_wp_form tr input[type=email].input-xs, .mw_wp_form tr input[type=password].input-xs, .mw_wp_form tr select.input-xs, .mw_wp_form tr textarea.input-xs {
        width: auto;
        display: inline-block; }
    #mail-form .form-row.date_row input, #mail-form .form-row.date_row select, #mail-form .form-row .mwform-tel-field input, #mail-form .form-row .mwform-tel-field select, #mail-form .form-row .mwform-zip-field input, #mail-form .form-row .mwform-zip-field select, #mail-form tr.date_row input, #mail-form tr.date_row select, #mail-form tr .mwform-tel-field input, #mail-form tr .mwform-tel-field select, #mail-form tr .mwform-zip-field input, #mail-form tr .mwform-zip-field select, .mw_wp_form .form-row.date_row input, .mw_wp_form .form-row.date_row select, .mw_wp_form .form-row .mwform-tel-field input, .mw_wp_form .form-row .mwform-tel-field select, .mw_wp_form .form-row .mwform-zip-field input, .mw_wp_form .form-row .mwform-zip-field select, .mw_wp_form tr.date_row input, .mw_wp_form tr.date_row select, .mw_wp_form tr .mwform-tel-field input, .mw_wp_form tr .mwform-tel-field select, .mw_wp_form tr .mwform-zip-field input, .mw_wp_form tr .mwform-zip-field select {
      width: auto;
      min-width: 5em; }
    #mail-form .form-row select, #mail-form tr select, .mw_wp_form .form-row select, .mw_wp_form tr select {
      -webkit-appearance: menulist; }
    #mail-form .form-row textarea, #mail-form tr textarea, .mw_wp_form .form-row textarea, .mw_wp_form tr textarea {
      line-height: 1.48;
      height: auto; }
  #mail-form .privacy-box, .mw_wp_form .privacy-box {
    margin: 10px 0; }
    @media only screen and (min-width: 768px) {
      #mail-form .privacy-box, .mw_wp_form .privacy-box {
        margin: 20px 0; } }
    @media print {
      #mail-form .privacy-box, .mw_wp_form .privacy-box {
        margin: 20px 0; } }
    #mail-form .privacy-box h4, .mw_wp_form .privacy-box h4 {
      font-weight: bold;
      margin: 0;
      margin-bottom: 10px; }
      @media only screen and (min-width: 768px) {
        #mail-form .privacy-box h4, .mw_wp_form .privacy-box h4 {
          margin-bottom: 20px; } }
      @media print {
        #mail-form .privacy-box h4, .mw_wp_form .privacy-box h4 {
          margin-bottom: 20px; } }
    #mail-form .privacy-box .privacy-text, .mw_wp_form .privacy-box .privacy-text {
      height: 160px;
      margin-bottom: 10px;
      overflow-y: scroll;
      color: #888;
      border: 1px solid #eee;
      background-color: #f9f9fc;
      padding: 5px;
      font-size: 10px;
      font-size: 1rem; }
      #mail-form .privacy-box .privacy-text p, #mail-form .privacy-box .privacy-text h5, .mw_wp_form .privacy-box .privacy-text p, .mw_wp_form .privacy-box .privacy-text h5 {
        margin: 0;
        margin-bottom: 5px; }
      #mail-form .privacy-box .privacy-text h5, .mw_wp_form .privacy-box .privacy-text h5 {
        font-size: 110%; }
      @media only screen and (min-width: 768px) {
        #mail-form .privacy-box .privacy-text, .mw_wp_form .privacy-box .privacy-text {
          height: 180px;
          margin-bottom: 20px;
          padding: 10px;
          font-size: 12px;
          font-size: 1.2rem; }
          #mail-form .privacy-box .privacy-text p, #mail-form .privacy-box .privacy-text h5, .mw_wp_form .privacy-box .privacy-text p, .mw_wp_form .privacy-box .privacy-text h5 {
            margin-bottom: 10px; } }
      @media print {
        #mail-form .privacy-box .privacy-text, .mw_wp_form .privacy-box .privacy-text {
          height: 180px;
          margin-bottom: 20px;
          padding: 10px;
          font-size: 12px;
          font-size: 1.2rem; }
          #mail-form .privacy-box .privacy-text p, #mail-form .privacy-box .privacy-text h5, .mw_wp_form .privacy-box .privacy-text p, .mw_wp_form .privacy-box .privacy-text h5 {
            margin-bottom: 10px; } }
    #mail-form .privacy-box .agree-box, .mw_wp_form .privacy-box .agree-box {
      text-align: center; }
      #mail-form .privacy-box .agree-box span, .mw_wp_form .privacy-box .agree-box span {
        font-size: 14px;
        font-size: 1.4rem; }
  #mail-form .inline-label, .mw_wp_form .inline-label {
    display: inline-block;
    margin-right: 20px;
    font-weight: normal; }
  @media only screen and (min-width: 768px) {
    #mail-form span.wpcf7-list-item, .mw_wp_form span.wpcf7-list-item {
      margin-right: 30px; } }
  @media print {
    #mail-form span.wpcf7-list-item, .mw_wp_form span.wpcf7-list-item {
      margin-right: 30px; } }
  #mail-form .wpcf7-list-item-label, .mw_wp_form .wpcf7-list-item-label {
    font-weight: normal; }
  #mail-form .wpcf7-free-text, .mw_wp_form .wpcf7-free-text {
    border: none; }
  #mail-form .wpcf7-free-text[disabled], .mw_wp_form .wpcf7-free-text[disabled] {
    background-color: #ddd;
    border: none; }
  #mail-form #fm_cat > span, .mw_wp_form #fm_cat > span {
    width: 100%;
    margin-right: 10px;
    font-size: 13px;
    font-size: 1.3rem; }
    @media only screen and (min-width: 768px) {
      #mail-form #fm_cat > span, .mw_wp_form #fm_cat > span {
        width: auto; } }
    @media print {
      #mail-form #fm_cat > span, .mw_wp_form #fm_cat > span {
        width: auto; } }
    @media only screen and (min-width: 1200px) {
      #mail-form #fm_cat > span, .mw_wp_form #fm_cat > span {
        margin-right: 0;
        font-size: 13px;
        font-size: 1.3rem;
        width: 30%;
        white-space: nowrap; } }
    @media print {
      #mail-form #fm_cat > span, .mw_wp_form #fm_cat > span {
        margin-right: 0;
        font-size: 13px;
        font-size: 1.3rem;
        width: 30%;
        white-space: nowrap; } }
  #mail-form .form-row, .mw_wp_form .form-row {
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 0; }
  #mail-form ul, .mw_wp_form ul {
    line-height: 1.5; }
  #mail-form .req, .mw_wp_form .req {
    display: inline-block;
    margin-left: 20px; }
  #mail-form .form-inline select, .mw_wp_form .form-inline select {
    padding-top: 0 !important;
    padding-bottom: 0 !important; }
    @media only screen and (min-width: 768px) {
      #mail-form .form-inline select, .mw_wp_form .form-inline select {
        width: 12em; } }
    @media print {
      #mail-form .form-inline select, .mw_wp_form .form-inline select {
        width: 12em; } }

#mail-form .form-row .form-content .form-control.wpcf7c-conf {
  background-color: #fff;
  border-color: #fff; }

.req-mark {
  display: inline-block;
  padding: 3px 8px;
  line-height: 1;
  color: #fff;
  font-size: 12px;
  font-size: 1.2rem;
  background-color: #f0503a;
  border-radius: 2px; }

form.sent .mail-form {
  display: none; }

.formError .formErrorContent {
  min-width: 140px; }

.wpcf7-validation-errors {
  background: #ffb6c1; }

.wpcf7 .wpcf7-not-valid {
  background: #ffb6c1; }

.wpcf7 .wpcf7-response-output {
  margin: 10px 0 0;
  padding: 8px 35px 8px 14px;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px; }

.wpcf7 .wpcf7-validation-errors {
  color: #B94A48;
  background-color: #F2DEDE;
  border: 1px solid #EED3D7; }

.wpcf7-form {
  margin-top: -70px;
  padding-top: 70px; }
  @media only screen and (min-width: 768px) {
    .wpcf7-form {
      margin-top: -80px;
      padding-top: 80px; } }
  @media print {
    .wpcf7-form {
      margin-top: -80px;
      padding-top: 80px; } }

.wpcf7c-conf.form-control {
  background-color: #f6f6f6 !important;
  border: none !important; }

input:-webkit-autofill {
  background-color: #f6f6f6 !important;
  -webkit-box-shadow: 0 0 0px 1000px #f6f6f6 inset; }

input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px white inset; }

#mail-form .submit_btn, .mw_wp_form .submit_btn {
  text-align: center; }
  #mail-form .submit_btn input[name=submitBack], .mw_wp_form .submit_btn input[name=submitBack] {
    background-color: #666 !important; }
    #mail-form .submit_btn input[name=submitBack]:hover, .mw_wp_form .submit_btn input[name=submitBack]:hover {
      color: #fff;
      background-color: #888 !important; }
  #mail-form .submit_btn input[type=submit], .mw_wp_form .submit_btn input[type=submit] {
    position: relative;
    display: inline-block;
    text-align: center;
    font-weight: bold;
    width: 90%;
    margin: 10px;
    color: #fff;
    background-color: #00a0e9;
    overflow: hidden;
    padding: 20px 5px;
    line-height: 1.2;
    border-radius: 40px;
    border: none;
    text-decoration: none !important;
    transition: all 0.2s linear;
    font-size: 13px;
    font-size: 1.3rem; }
    @media only screen and (min-width: 768px) {
      #mail-form .submit_btn input[type=submit], .mw_wp_form .submit_btn input[type=submit] {
        width: auto;
        min-width: 280px;
        padding: 20px 10px;
        font-size: 16px;
        font-size: 1.6rem; } }
    @media print {
      #mail-form .submit_btn input[type=submit], .mw_wp_form .submit_btn input[type=submit] {
        width: auto;
        min-width: 280px;
        padding: 20px 10px;
        font-size: 16px;
        font-size: 1.6rem; } }
    #mail-form .submit_btn input[type=submit]:hover, .mw_wp_form .submit_btn input[type=submit]:hover {
      color: #fff;
      background-color: #44bef6; }
      #mail-form .submit_btn input[type=submit]:hover .fa, .mw_wp_form .submit_btn input[type=submit]:hover .fa {
        color: #fff; }
    #mail-form .submit_btn input[type=submit]:visited, #mail-form .submit_btn input[type=submit]:focus, .mw_wp_form .submit_btn input[type=submit]:visited, .mw_wp_form .submit_btn input[type=submit]:focus {
      text-decoration: none;
      color: #fff; }

#mail-form .btn-simple, .mw_wp_form .btn-simple {
  border: none;
  display: inline-block;
  margin-bottom: 1em;
  width: 80%; }
  @media only screen and (min-width: 768px) {
    #mail-form .btn-simple, .mw_wp_form .btn-simple {
      margin: 0;
      margin-right: 1em;
      margin-left: 1em;
      width: 240px; } }
  @media print {
    #mail-form .btn-simple, .mw_wp_form .btn-simple {
      margin: 0;
      margin-right: 1em;
      margin-left: 1em;
      width: 240px; } }
  #mail-form .btn-simple.btn-back, .mw_wp_form .btn-simple.btn-back {
    background-color: #aaa; }
    #mail-form .btn-simple.btn-back:hover, .mw_wp_form .btn-simple.btn-back:hover {
      background-color: #666; }

#mail-form .btn-simple, .mw_wp_form .btn-simple {
  margin: 10px; }

/* =====================
  subpage setting
===================== */
.pgttl-shortlesson {
  position: relative;
  padding-top: 60px;
  background-color: #111; }
  @media only screen and (min-width: 768px) {
    .pgttl-shortlesson {
      padding-top: 135px; } }
  @media print {
    .pgttl-shortlesson {
      padding-top: 135px; } }
  .pgttl-shortlesson .bg {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    opacity: .4;
    background-size: cover;
    background-position: center center; }
  .pgttl-shortlesson .inner {
    position: relative;
    z-index: 2;
    padding: 20px 0; }
    @media only screen and (min-width: 768px) {
      .pgttl-shortlesson .inner {
        padding: 0;
        display: table;
        width: 100%; } }
    @media print {
      .pgttl-shortlesson .inner {
        padding: 0;
        display: table;
        width: 100%; } }
    @media only screen and (min-width: 768px) {
      .pgttl-shortlesson .inner .left, .pgttl-shortlesson .inner .right {
        display: table-cell;
        vertical-align: middle;
        height: 430px; } }
    @media print {
      .pgttl-shortlesson .inner .left, .pgttl-shortlesson .inner .right {
        display: table-cell;
        vertical-align: middle;
        height: 430px; } }
    .pgttl-shortlesson .inner .right .box-point .ttl {
      background-color: #987;
      color: #fff;
      text-align: center;
      border-radius: 5px 5px 0 0;
      letter-spacing: 0.1em; }
    .pgttl-shortlesson .inner .right .box-point .content {
      background-color: #fff;
      border-radius: 0 0 5px 5px;
      font-weight: bold;
      padding: 10px;
      color: #111;
      line-height: 1.6; }
      @media only screen and (min-width: 768px) {
        .pgttl-shortlesson .inner .right .box-point .content {
          padding: 20px; } }
      @media print {
        .pgttl-shortlesson .inner .right .box-point .content {
          padding: 20px; } }
      .pgttl-shortlesson .inner .right .box-point .content .txt-icon {
        background-image: url("img/common/icon-point.png");
        background-size: 34px auto;
        background-repeat: no-repeat;
        background-position: left center;
        padding-left: 40px; }
      @media only screen and (min-width: 768px) {
        .pgttl-shortlesson .inner .right .box-point .content .btn-3d {
          width: auto; } }
      @media print {
        .pgttl-shortlesson .inner .right .box-point .content .btn-3d {
          width: auto; } }
    .pgttl-shortlesson .inner .left {
      color: #fff;
      margin-bottom: 20px; }
      @media only screen and (min-width: 768px) {
        .pgttl-shortlesson .inner .left {
          margin-bottom: 0;
          width: 65%;
          padding-right: 40px; } }
      @media print {
        .pgttl-shortlesson .inner .left {
          margin-bottom: 0;
          width: 65%;
          padding-right: 40px; } }
      .pgttl-shortlesson .inner .left .parent {
        background-color: #987;
        font-style: normal;
        display: inline-block;
        color: #fff;
        font-weight: bold;
        line-height: 1.2;
        padding: 1px 10px 0;
        text-shadow: none;
        margin-bottom: 10px;
        letter-spacing: 0.1em;
        font-size: 11px;
        font-size: 1.1rem; }
        @media only screen and (min-width: 768px) {
          .pgttl-shortlesson .inner .left .parent {
            padding: 4px 15px 3px;
            font-size: 18px;
            font-size: 1.8rem;
            margin-bottom: 15px; } }
        @media print {
          .pgttl-shortlesson .inner .left .parent {
            padding: 4px 15px 3px;
            font-size: 18px;
            font-size: 1.8rem;
            margin-bottom: 15px; } }
      .pgttl-shortlesson .inner .left .wrapper-ttl {
        display: table;
        width: 100%;
        margin-bottom: 10px; }
        @media only screen and (min-width: 768px) {
          .pgttl-shortlesson .inner .left .wrapper-ttl {
            margin-bottom: 30px; } }
        @media print {
          .pgttl-shortlesson .inner .left .wrapper-ttl {
            margin-bottom: 30px; } }
        .pgttl-shortlesson .inner .left .wrapper-ttl .illust, .pgttl-shortlesson .inner .left .wrapper-ttl .ttl {
          display: table-cell;
          vertical-align: middle; }
        .pgttl-shortlesson .inner .left .wrapper-ttl .illust {
          width: 80px; }
          @media only screen and (min-width: 768px) {
            .pgttl-shortlesson .inner .left .wrapper-ttl .illust {
              width: 120px; } }
          @media print {
            .pgttl-shortlesson .inner .left .wrapper-ttl .illust {
              width: 120px; } }
          .pgttl-shortlesson .inner .left .wrapper-ttl .illust img {
            width: 70px; }
            @media only screen and (min-width: 768px) {
              .pgttl-shortlesson .inner .left .wrapper-ttl .illust img {
                width: 100px; } }
            @media print {
              .pgttl-shortlesson .inner .left .wrapper-ttl .illust img {
                width: 100px; } }
        .pgttl-shortlesson .inner .left .wrapper-ttl .ttl {
          font-weight: bold;
          line-height: 1.4;
          font-style: italic;
          font-size: 20px;
          font-size: 2rem; }
          @media only screen and (min-width: 768px) {
            .pgttl-shortlesson .inner .left .wrapper-ttl .ttl {
              font-size: 40px;
              font-size: 4rem; } }
          @media print {
            .pgttl-shortlesson .inner .left .wrapper-ttl .ttl {
              font-size: 40px;
              font-size: 4rem; } }

.pgttl {
  position: relative;
  background-color: #ddd;
  padding-top: 60px;
  overflow: hidden; }
  @media only screen and (min-width: 768px) {
    .pgttl {
      padding-top: 135px; } }
  @media print {
    .pgttl {
      padding-top: 135px; } }
  .pgttl.basic {
    background-image: url("img/common/bg-pgttl-basic.jpg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover; }
    .pgttl.basic .inner .txt {
      font-style: normal;
      color: #111;
      text-shadow: none; }
      @media only screen and (min-width: 768px) {
        .pgttl.basic .inner .txt {
          height: 150px; } }
      @media print {
        .pgttl.basic .inner .txt {
          height: 150px; } }
      .pgttl.basic .inner .txt .ja {
        font-weight: bold;
        font-size: 16px;
        font-size: 1.6rem; }
        @media only screen and (min-width: 768px) {
          .pgttl.basic .inner .txt .ja {
            font-size: 28px;
            font-size: 2.8rem; } }
        @media print {
          .pgttl.basic .inner .txt .ja {
            font-size: 28px;
            font-size: 2.8rem; } }
      .pgttl.basic .inner .txt .en {
        color: #00a0e9;
        font-size: 12px;
        font-size: 1.2rem; }
        @media only screen and (min-width: 768px) {
          .pgttl.basic .inner .txt .en {
            font-size: 20px;
            font-size: 2rem; } }
        @media print {
          .pgttl.basic .inner .txt .en {
            font-size: 20px;
            font-size: 2rem; } }
  .pgttl .bg {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0; }
    .pgttl .bg .left {
      position: absolute;
      left: -8%;
      top: -50%;
      height: 180%;
      width: 40%;
      z-index: 1;
      transform: rotate(30deg);
      background: #00a0e9;
      background: -moz-linear-gradient(left, #00a0e9 0%, #17d5f1 100%);
      background: -webkit-linear-gradient(left, #00a0e9 0%, #17d5f1 100%);
      background: linear-gradient(to right, #00a0e9 0%, #17d5f1 100%);
      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00a0e9', endColorstr='#17d5f1',GradientType=1 ); }
    .pgttl .bg .right {
      position: absolute;
      width: 78%;
      left: 22%;
      height: 100%;
      background-size: cover;
      background-position: center center; }
  .pgttl .inner {
    position: relative;
    display: table;
    width: 100%;
    z-index: 2; }
    .pgttl .inner .parent {
      background-color: #fff;
      font-style: normal;
      display: inline-block;
      color: #00a0e9;
      font-weight: bold;
      line-height: 1.2;
      padding: 1px 10px 0;
      text-shadow: none;
      margin-bottom: 5px;
      letter-spacing: 0.1em;
      font-size: 11px;
      font-size: 1.1rem; }
      @media only screen and (min-width: 768px) {
        .pgttl .inner .parent {
          padding: 2px 10px 1px;
          font-size: 18px;
          font-size: 1.8rem;
          margin-bottom: 10px; } }
      @media print {
        .pgttl .inner .parent {
          padding: 2px 10px 1px;
          font-size: 18px;
          font-size: 1.8rem;
          margin-bottom: 10px; } }
    .pgttl .inner .txt {
      display: table-cell;
      vertical-align: middle;
      font-style: italic;
      height: 80px;
      color: #fff;
      text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3); }
      @media only screen and (min-width: 768px) {
        .pgttl .inner .txt {
          height: 280px; } }
      @media print {
        .pgttl .inner .txt {
          height: 280px; } }
      .pgttl .inner .txt .ja {
        line-height: 1;
        margin-bottom: 5px;
        font-weight: bold;
        font-size: 20px;
        font-size: 2rem; }
        @media only screen and (min-width: 768px) {
          .pgttl .inner .txt .ja {
            font-size: 48px;
            font-size: 4.8rem;
            margin-bottom: 10px; } }
        @media print {
          .pgttl .inner .txt .ja {
            font-size: 48px;
            font-size: 4.8rem;
            margin-bottom: 10px; } }
      .pgttl .inner .txt .en {
        line-height: 1;
        letter-spacing: 0.1em;
        font-family: "Asap", sans-serif;
        font-weight: bold;
        font-size: 13px;
        font-size: 1.3rem; }
        @media only screen and (min-width: 768px) {
          .pgttl .inner .txt .en {
            font-size: 28px;
            font-size: 2.8rem; } }
        @media print {
          .pgttl .inner .txt .en {
            font-size: 28px;
            font-size: 2.8rem; } }
        .pgttl .inner .txt .en .sm {
          font-weight: normal; }

.breadcrumbs {
  padding-top: 5px;
  padding-bottom: 5px;
  line-height: 1.5; }
  .breadcrumbs ul {
    margin-bottom: 0; }
    .breadcrumbs ul li {
      margin-left: 12px;
      position: relative;
      color: #777; }
      .breadcrumbs ul li img {
        display: inline-block;
        padding-bottom: 4px; }
      .breadcrumbs ul li::after {
        position: absolute;
        font-family: FontAwesome;
        display: block;
        content: '\f105';
        left: -6px;
        top: 0;
        color: #777;
        font-size: 11.5px;
        font-size: 1.15rem; }
      .breadcrumbs ul li:first-child {
        margin-left: 0; }
        .breadcrumbs ul li:first-child::after {
          content: none; }
      .breadcrumbs ul li a {
        color: #00a0e9; }
        .breadcrumbs ul li a:hover {
          color: #00a0e9;
          text-decoration: underline; }

.pagenav {
  background-color: #f6f6f6;
  padding: 5px;
  border-radius: 3px;
  margin-top: 10px;
  margin-bottom: 10px; }
  @media only screen and (min-width: 768px) {
    .pagenav {
      padding: 10px; } }
  @media print {
    .pagenav {
      padding: 10px; } }
  .pagenav ul {
    padding: 0;
    margin: 0;
    list-style: none;
    overflow: hidden; }
    .pagenav ul li {
      float: left; }
      .pagenav ul li.col-access {
        width: 20%; }
      .pagenav ul li.col-4 {
        width: 33.33%;
        width: calc(100% / 3); }
      .pagenav ul li.col-3 {
        width: 25%; }
      .pagenav ul li.col-2 {
        width: 50%; }
      .pagenav ul li .inner {
        display: table;
        width: 98%;
        margin: 0 1%;
        border-radius: 3px;
        box-shadow: 0 0 3px rgba(0, 0, 0, 0.1);
        overflow: hidden; }
        .pagenav ul li .inner a {
          display: table-cell;
          vertical-align: middle;
          background-color: #fff;
          text-align: center;
          font-weight: bold;
          color: #00a0e9;
          transition: all 0.2s ease;
          font-size: 11px;
          font-size: 1.1rem;
          line-height: 1.4;
          height: 40px; }
          @media only screen and (min-width: 768px) {
            .pagenav ul li .inner a {
              font-size: 16px;
              font-size: 1.6rem;
              height: 60px; } }
          @media print {
            .pagenav ul li .inner a {
              font-size: 16px;
              font-size: 1.6rem;
              height: 60px; } }
          .pagenav ul li .inner a.active .txt, .pagenav ul li .inner a:hover .txt {
            display: inline-block;
            padding: 0 0.8em;
            background: linear-gradient(transparent 42%, #ffff66 42%, #ffff66 58%, transparent 58%); }
          .pagenav ul li .inner a:hover {
            background-color: #eaf6fc; }

.txt-lead-01 {
  line-height: 1.5; }
  .txt-lead-01 .inner {
    display: inline-block;
    border-bottom: 3px solid #111;
    font-weight: bold;
    font-size: 18px;
    font-size: 1.8rem;
    font-size: 4.8vw; }
    @media only screen and (min-width: 768px) {
      .txt-lead-01 .inner {
        font-size: 28px;
        font-size: 2.8rem;
        border-width: 4px; } }
    @media print {
      .txt-lead-01 .inner {
        font-size: 28px;
        font-size: 2.8rem;
        border-width: 4px; } }
  .txt-lead-01 .point {
    position: relative;
    display: inline-block; }
    .txt-lead-01 .point::after {
      content: "";
      display: block;
      position: absolute;
      top: -7px;
      margin-left: -3px;
      left: 50%;
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background-color: #00a0e9; }

.section-blockup {
  padding-top: 80px; }
  @media only screen and (min-width: 768px) {
    .section-blockup {
      padding-top: 140px; } }
  @media print {
    .section-blockup {
      padding-top: 140px; } }
  .section-blockup .bg {
    padding-bottom: 80px; }
    @media only screen and (min-width: 768px) {
      .section-blockup .bg {
        padding-bottom: 120px; } }
    @media print {
      .section-blockup .bg {
        padding-bottom: 120px; } }
  .section-blockup .box {
    margin-top: -80px; }
    @media only screen and (min-width: 768px) {
      .section-blockup .box {
        margin-top: -140px; } }
    @media print {
      .section-blockup .box {
        margin-top: -140px; } }
  @media only screen and (min-width: 768px) {
    .section-blockup .content {
      margin-top: -50px;
      padding-top: 80px; } }
  @media print {
    .section-blockup .content {
      margin-top: -50px;
      padding-top: 80px; } }

.ttl-up {
  margin-top: -15px; }
  @media only screen and (min-width: 768px) {
    .ttl-up {
      margin-top: -25px; } }
  @media print {
    .ttl-up {
      margin-top: -25px; } }

.txt-28-02 {
  font-size: 18px;
  font-size: 1.8rem; }
  @media only screen and (min-width: 768px) {
    .txt-28-02 {
      font-size: 28px;
      font-size: 2.8rem; } }
  @media print {
    .txt-28-02 {
      font-size: 28px;
      font-size: 2.8rem; } }

.box-check {
  position: relative; }
  .box-check::after {
    position: absolute;
    left: -5px;
    top: -5px;
    content: " ";
    width: 13px;
    height: 13px;
    display: block;
    background-image: url("img/common/icon-checked.svg");
    background-size: cover; }
    @media only screen and (min-width: 768px) {
      .box-check::after {
        width: 26px;
        height: 26px;
        left: -5px;
        top: -10px; } }
    @media print {
      .box-check::after {
        width: 26px;
        height: 26px;
        left: -5px;
        top: -10px; } }

@media only screen and (min-width: 768px) {
  .row-box {
    display: table;
    width: 100%;
    table-layout: fixed; } }

@media print {
  .row-box {
    display: table;
    width: 100%;
    table-layout: fixed; } }

.row-box .td {
  margin-bottom: 10px; }
  @media only screen and (min-width: 768px) {
    .row-box .td {
      display: table-cell;
      margin-bottom: 0;
      padding: 0 10px;
      vertical-align: middle; } }
  @media print {
    .row-box .td {
      display: table-cell;
      margin-bottom: 0;
      padding: 0 10px;
      vertical-align: middle; } }
  .row-box .td .box {
    background-color: #f6f6f6;
    border: 2px solid #ddd;
    border-radius: 3px;
    line-height: 1.5; }
    @media only screen and (min-width: 768px) {
      .row-box .td .box {
        border-width: 3px;
        display: table; } }
    @media print {
      .row-box .td .box {
        border-width: 3px;
        display: table; } }
    .row-box .td .box .inner {
      display: block;
      padding: 10px; }
      @media only screen and (min-width: 768px) {
        .row-box .td .box .inner {
          display: table-cell;
          vertical-align: middle;
          padding: 20px 15px; } }
      @media print {
        .row-box .td .box .inner {
          display: table-cell;
          vertical-align: middle;
          padding: 20px 15px; } }

.block-archive .inner {
  background-color: #fff;
  border-radius: 5px;
  display: block;
  overflow: hidden;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); }
  @media only screen and (min-width: 768px) {
    .block-archive .inner {
      transition: all 0.2s ease;
      border-width: 5px;
      box-shadow: 0 0 20px rgba(0, 0, 0, 0.1); } }
  @media print {
    .block-archive .inner {
      transition: all 0.2s ease;
      border-width: 5px;
      box-shadow: 0 0 20px rgba(0, 0, 0, 0.1); } }
  .block-archive .inner .thumb {
    display: block;
    position: relative;
    overflow: hidden;
    padding-top: 56%;
    height: 0;
    border-bottom: 1px solid #f3f3f3; }
    .block-archive .inner .thumb .bg {
      position: absolute;
      display: block;
      left: 0;
      top: 0;
      bottom: 0;
      right: 0;
      background-repeat: no-repeat;
      background-position: center center;
      background-size: cover;
      transition: all 0.2s linear; }
    @media only screen and (min-width: 768px) {
      .block-archive .inner .thumb:hover .bg {
        transform: scale(1.05);
        opacity: .8; } }
    @media print {
      .block-archive .inner .thumb:hover .bg {
        transform: scale(1.05);
        opacity: .8; } }
  .block-archive .inner .avator {
    position: relative;
    margin-top: -20px;
    overflow: hidden;
    padding-left: 10px; }
    @media only screen and (min-width: 768px) {
      .block-archive .inner .avator {
        padding-left: 20px; } }
    @media print {
      .block-archive .inner .avator {
        padding-left: 20px; } }
    .block-archive .inner .avator .left {
      float: left; }
      .block-archive .inner .avator .left .user_image {
        height: 66px;
        width: 66px;
        overflow: hidden;
        border-radius: 50%;
        border: 3px solid #fff; }
        .block-archive .inner .avator .left .user_image img {
          width: 100%;
          height: auto; }
    .block-archive .inner .avator .right {
      padding-left: 80px;
      padding-top: 24px;
      line-height: 1; }
      .block-archive .inner .avator .right .user_author {
        font-weight: bold;
        font-style: italic;
        font-family: "Asap", sans-serif;
        line-height: 1.2;
        font-size: 15px;
        font-size: 1.5rem; }
        @media only screen and (min-width: 768px) {
          .block-archive .inner .avator .right .user_author {
            font-size: 18px;
            font-size: 1.8rem; } }
        @media print {
          .block-archive .inner .avator .right .user_author {
            font-size: 18px;
            font-size: 1.8rem; } }
      .block-archive .inner .avator .right .min {
        font-family: "Asap", sans-serif;
        color: #999;
        font-size: 10px;
        font-size: 1rem; }
        @media only screen and (min-width: 768px) {
          .block-archive .inner .avator .right .min {
            font-size: 13px;
            font-size: 1.3rem; } }
        @media print {
          .block-archive .inner .avator .right .min {
            font-size: 13px;
            font-size: 1.3rem; } }
  .block-archive .inner .content {
    padding: 10px;
    min-height: 80px;
    padding-top: 5px; }
    @media only screen and (min-width: 768px) {
      .block-archive .inner .content {
        min-height: 160px;
        padding: 20px;
        padding-top: 5px; } }
    @media print {
      .block-archive .inner .content {
        min-height: 160px;
        padding: 20px;
        padding-top: 5px; } }
    .block-archive .inner .content .date {
      line-height: 1;
      font-family: "Asap", sans-serif;
      font-weight: bold;
      color: #00a0e9;
      font-size: 13px;
      font-size: 1.3rem; }
      @media only screen and (min-width: 768px) {
        .block-archive .inner .content .date {
          font-size: 15px;
          font-size: 1.5rem; } }
      @media print {
        .block-archive .inner .content .date {
          font-size: 15px;
          font-size: 1.5rem; } }
    .block-archive .inner .content .ttl {
      font-weight: bold;
      padding-bottom: 0.4em;
      margin-bottom: 0.5em;
      border-bottom: 1px solid #ddd;
      line-height: 1.5;
      font-size: 17px;
      font-size: 1.7rem; }
      @media only screen and (min-width: 768px) {
        .block-archive .inner .content .ttl {
          font-size: 20px;
          font-size: 2rem; } }
      @media print {
        .block-archive .inner .content .ttl {
          font-size: 20px;
          font-size: 2rem; } }
      .block-archive .inner .content .ttl a {
        color: #111;
        transition: color 0.15s linear; }
        .block-archive .inner .content .ttl a:hover {
          color: #44bef6; }
    .block-archive .inner .content .txt {
      text-decoration: none !important;
      color: #111;
      font-size: 12px;
      font-size: 1.2rem; }
      @media only screen and (min-width: 768px) {
        .block-archive .inner .content .txt {
          font-size: 16px;
          font-size: 1.6rem; } }
      @media print {
        .block-archive .inner .content .txt {
          font-size: 16px;
          font-size: 1.6rem; } }
  .block-archive .inner .block-sns {
    text-align: right; }
    .block-archive .inner .block-sns a {
      display: inline-block;
      transition: opacity 0.2s linear; }
      .block-archive .inner .block-sns a:hover {
        opacity: .8; }
  .block-archive .inner .box-meta {
    padding-bottom: 5px; }
    .block-archive .inner .box-meta .list-cat:after {
      content: '\f01c'; }
    .block-archive .inner .box-meta .list-tag:after {
      content: '\f02b'; }
    .block-archive .inner .box-meta .list-term:after {
      content: '\f187'; }
    .block-archive .inner .box-meta ul {
      padding: 0;
      margin: 0;
      overflow: hidden;
      margin-bottom: 5px;
      padding-left: 20px;
      position: relative; }
      .block-archive .inner .box-meta ul:after {
        position: absolute;
        font-family: FontAwesome;
        display: block;
        content: '\f02b';
        left: 0;
        top: 0;
        line-height: 1.2;
        color: #00a0e9;
        font-size: 12px;
        font-size: 1.2rem; }
      .block-archive .inner .box-meta ul li {
        display: block;
        float: left;
        margin-right: 2px;
        margin-bottom: 2px;
        line-height: 1;
        padding: 0; }
        .block-archive .inner .box-meta ul li a {
          display: block;
          transition: background-color 0.15s linear;
          letter-spacing: 0;
          background-color: #999;
          border-radius: 2px;
          line-height: 1;
          padding: 2px 5px;
          color: #fff;
          font-size: 10px;
          font-size: 1rem; }
          @media only screen and (min-width: 768px) {
            .block-archive .inner .box-meta ul li a {
              font-size: 12px;
              font-size: 1.2rem; } }
          @media print {
            .block-archive .inner .box-meta ul li a {
              font-size: 12px;
              font-size: 1.2rem; } }
          @media only screen and (min-width: 768px) {
            .block-archive .inner .box-meta ul li a:hover {
              background-color: #ccc; } }
          @media print {
            .block-archive .inner .box-meta ul li a:hover {
              background-color: #ccc; } }

.block-school .inner {
  border-top: 3px solid #00a0e9;
  background-color: #fff;
  border-radius: 5px;
  display: block;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); }
  @media only screen and (min-width: 768px) {
    .block-school .inner {
      transition: all 0.2s ease;
      border-width: 5px;
      box-shadow: 0 0 20px rgba(0, 0, 0, 0.1); } }
  @media print {
    .block-school .inner {
      transition: all 0.2s ease;
      border-width: 5px;
      box-shadow: 0 0 20px rgba(0, 0, 0, 0.1); } }
  @media only screen and (min-width: 768px) {
    .block-school .inner:hover {
      box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
      background-color: #f7f7f9; } }
  @media print {
    .block-school .inner:hover {
      box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
      background-color: #f7f7f9; } }
  .block-school .inner .thumb {
    display: block;
    position: relative;
    height: 120px; }
    @media only screen and (min-width: 768px) {
      .block-school .inner .thumb {
        height: 240px; } }
    @media print {
      .block-school .inner .thumb {
        height: 240px; } }
    .block-school .inner .thumb .bg {
      position: absolute;
      display: block;
      left: 0;
      top: 0;
      bottom: 0;
      right: 0;
      background-repeat: no-repeat;
      background-position: center center;
      background-size: cover; }
  .block-school .inner .content {
    padding: 10px;
    min-height: 80px; }
    @media only screen and (min-width: 768px) {
      .block-school .inner .content {
        min-height: 160px;
        padding: 20px; } }
    @media print {
      .block-school .inner .content {
        min-height: 160px;
        padding: 20px; } }
    .block-school .inner .content .ttl {
      font-weight: bold;
      color: #111;
      padding-bottom: 0.2em;
      margin-bottom: 0.5em;
      border-bottom: 1px solid #ddd;
      line-height: 1.5;
      padding-left: 36px;
      background-image: url("img/common/icon-school.png");
      background-repeat: no-repeat;
      background-position: left top;
      background-size: 25px auto;
      font-size: 20px;
      font-size: 2rem; }
      @media only screen and (min-width: 768px) {
        .block-school .inner .content .ttl {
          font-size: 28px;
          font-size: 2.8rem;
          padding-left: 45px;
          padding-top: 5px;
          background-size: 32px auto; } }
      @media print {
        .block-school .inner .content .ttl {
          font-size: 28px;
          font-size: 2.8rem;
          padding-left: 45px;
          padding-top: 5px;
          background-size: 32px auto; } }
    .block-school .inner .content .txt {
      text-decoration: none !important;
      color: #111;
      font-size: 14px;
      font-size: 1.4rem; }
      @media only screen and (min-width: 768px) {
        .block-school .inner .content .txt {
          font-size: 16px;
          font-size: 1.6rem; } }
      @media print {
        .block-school .inner .content .txt {
          font-size: 16px;
          font-size: 1.6rem; } }

.block-staff .inner {
  border-top: 3px solid #00a0e9;
  background-color: #fff;
  border-radius: 5px;
  display: block;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); }
  @media only screen and (min-width: 768px) {
    .block-staff .inner {
      transition: all 0.2s ease;
      border-width: 5px;
      box-shadow: 0 0 20px rgba(0, 0, 0, 0.1); } }
  @media print {
    .block-staff .inner {
      transition: all 0.2s ease;
      border-width: 5px;
      box-shadow: 0 0 20px rgba(0, 0, 0, 0.1); } }
  @media only screen and (min-width: 768px) {
    .block-staff .inner:hover {
      box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
      background-color: #f7f7f9; } }
  @media print {
    .block-staff .inner:hover {
      box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
      background-color: #f7f7f9; } }
  .block-staff .inner .box {
    position: relative; }
  .block-staff .inner .thumb {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    width: 80px;
    height: 100%; }
    @media only screen and (min-width: 768px) {
      .block-staff .inner .thumb {
        width: 160px; } }
    @media print {
      .block-staff .inner .thumb {
        width: 160px; } }
    .block-staff .inner .thumb .bg {
      position: absolute;
      left: 0;
      top: 0;
      bottom: 0;
      right: 0;
      background-repeat: no-repeat;
      background-position: center center;
      background-size: cover; }
  .block-staff .inner .content {
    vertical-align: middle;
    padding: 10px;
    padding-left: 90px;
    min-height: 80px; }
    @media only screen and (min-width: 768px) {
      .block-staff .inner .content {
        min-height: 160px;
        padding: 20px;
        padding-left: 180px; } }
    @media print {
      .block-staff .inner .content {
        min-height: 160px;
        padding: 20px;
        padding-left: 180px; } }
    .block-staff .inner .content .ttl {
      font-weight: bold;
      color: #111;
      padding-bottom: 0.5em;
      margin-bottom: 0.5em;
      border-bottom: 1px solid #ddd;
      line-height: 1.5;
      font-size: 13px;
      font-size: 1.3rem; }
      @media only screen and (min-width: 768px) {
        .block-staff .inner .content .ttl {
          font-size: 18px;
          font-size: 1.8rem; } }
      @media print {
        .block-staff .inner .content .ttl {
          font-size: 18px;
          font-size: 1.8rem; } }
    .block-staff .inner .content .txt {
      color: #111;
      font-size: 12px;
      font-size: 1.2rem; }
      @media only screen and (min-width: 768px) {
        .block-staff .inner .content .txt {
          font-size: 16px;
          font-size: 1.6rem; } }
      @media print {
        .block-staff .inner .content .txt {
          font-size: 16px;
          font-size: 1.6rem; } }

.block-lesson .inner {
  border-top: 3px solid #ddd;
  background-color: #fff;
  border-radius: 5px;
  display: block;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); }
  @media only screen and (min-width: 768px) {
    .block-lesson .inner {
      transition: all 0.2s ease;
      border-width: 5px;
      box-shadow: 0 0 20px rgba(0, 0, 0, 0.1); } }
  @media print {
    .block-lesson .inner {
      transition: all 0.2s ease;
      border-width: 5px;
      box-shadow: 0 0 20px rgba(0, 0, 0, 0.1); } }
  @media only screen and (min-width: 768px) {
    .block-lesson .inner:hover {
      box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
      background-color: #f7f7f9; } }
  @media print {
    .block-lesson .inner:hover {
      box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
      background-color: #f7f7f9; } }
  .block-lesson .inner .box {
    display: table;
    width: 100%; }
  .block-lesson .inner .illust {
    display: table-cell;
    vertical-align: middle;
    width: 80px;
    text-align: center; }
    @media only screen and (min-width: 768px) {
      .block-lesson .inner .illust {
        width: 30%; } }
    @media print {
      .block-lesson .inner .illust {
        width: 30%; } }
    .block-lesson .inner .illust img {
      width: 60px; }
      @media only screen and (min-width: 768px) {
        .block-lesson .inner .illust img {
          width: 100px; } }
      @media print {
        .block-lesson .inner .illust img {
          width: 100px; } }
  .block-lesson .inner .content {
    display: table-cell;
    vertical-align: middle;
    padding: 10px;
    padding-left: 0; }
    @media only screen and (min-width: 768px) {
      .block-lesson .inner .content {
        width: 70%;
        padding: 20px;
        padding-left: 0; } }
    @media print {
      .block-lesson .inner .content {
        width: 70%;
        padding: 20px;
        padding-left: 0; } }
    .block-lesson .inner .content .ttl {
      font-weight: bold;
      color: #111;
      padding-bottom: 0.5em;
      margin-bottom: 0.5em;
      border-bottom: 1px solid #ddd;
      font-size: 14px;
      font-size: 1.4rem; }
      @media only screen and (min-width: 768px) {
        .block-lesson .inner .content .ttl {
          font-size: 18px;
          font-size: 1.8rem; } }
      @media print {
        .block-lesson .inner .content .ttl {
          font-size: 18px;
          font-size: 1.8rem; } }
    .block-lesson .inner .content .txt {
      color: #111;
      font-size: 12px;
      font-size: 1.2rem; }
      @media only screen and (min-width: 768px) {
        .block-lesson .inner .content .txt {
          font-size: 13px;
          font-size: 1.3rem; } }
      @media print {
        .block-lesson .inner .content .txt {
          font-size: 13px;
          font-size: 1.3rem; } }

.block-news {
  position: relative;
  display: block;
  background-color: #fff;
  outline: none;
  border-radius: 3px;
  overflow: hidden;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.25s linear !important; }
  @media only screen and (min-width: 768px) {
    .block-news {
      border-radius: 5px;
      box-shadow: 0 0 20px rgba(0, 0, 0, 0.1); } }
  @media print {
    .block-news {
      border-radius: 5px;
      box-shadow: 0 0 20px rgba(0, 0, 0, 0.1); } }
  .block-news:hover {
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.1); }
    .block-news:hover .thumb .bg-thumb {
      opacity: .8;
      transform: scale(1.05); }
  .block-news .thumb {
    position: relative;
    padding-top: 60%;
    overflow: hidden; }
    .block-news .thumb .bg-thumb {
      position: absolute;
      left: 0;
      top: 0;
      right: 0;
      bottom: 0;
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center center;
      transform: scale(1);
      transition: all 0.25s linear; }
  .block-news .content {
    color: #111;
    padding: 10px; }
    @media only screen and (min-width: 768px) {
      .block-news .content {
        padding: 20px;
        padding-bottom: 30px; } }
    @media print {
      .block-news .content {
        padding: 20px;
        padding-bottom: 30px; } }
    .block-news .content .date {
      color: #00a0e9;
      font-family: "Asap", sans-serif;
      font-weight: bold;
      font-size: 12px;
      font-size: 1.2rem; }
      @media only screen and (min-width: 768px) {
        .block-news .content .date {
          font-size: 13px;
          font-size: 1.3rem; } }
      @media print {
        .block-news .content .date {
          font-size: 13px;
          font-size: 1.3rem; } }
    .block-news .content .ttl {
      font-weight: bold;
      font-size: 16px;
      font-size: 1.6rem;
      margin-bottom: 10px;
      line-height: 1.5; }
      @media only screen and (min-width: 768px) {
        .block-news .content .ttl {
          font-size: 16px;
          font-size: 1.6rem;
          margin-bottom: 15px; } }
      @media print {
        .block-news .content .ttl {
          font-size: 16px;
          font-size: 1.6rem;
          margin-bottom: 15px; } }
    .block-news .content .txt {
      line-height: 1.5;
      font-size: 15px;
      font-size: 1.5rem; }
      @media only screen and (min-width: 768px) {
        .block-news .content .txt {
          font-size: 16px;
          font-size: 1.6rem; } }
      @media print {
        .block-news .content .txt {
          font-size: 16px;
          font-size: 1.6rem; } }

.line-center {
  border-bottom: 1px solid #ddd; }
  @media only screen and (min-width: 768px) {
    .line-center {
      border: none;
      border-right: 1px solid #ddd; } }
  @media print {
    .line-center {
      border: none;
      border-right: 1px solid #ddd; } }

.list-news {
  padding: 0;
  margin: 0;
  list-style: none; }
  .list-news li {
    padding-bottom: 10px; }
    @media only screen and (min-width: 768px) {
      .list-news li {
        padding-bottom: 20px; } }
    @media print {
      .list-news li {
        padding-bottom: 20px; } }
    .list-news li a {
      position: relative;
      display: block;
      overflow: hidden;
      color: #111;
      text-decoration: none !important;
      transition: all 0.25s ease; }
      @media only screen and (min-width: 768px) {
        .list-news li a:hover {
          color: #00a0e9; }
          .list-news li a:hover .bg-thumb {
            transform: scale(1.1);
            opacity: .9; } }
      @media print {
        .list-news li a:hover {
          color: #00a0e9; }
          .list-news li a:hover .bg-thumb {
            transform: scale(1.1);
            opacity: .9; } }
      .list-news li a .thumb {
        position: absolute;
        width: 100px;
        height: 50px;
        border-radius: 5px;
        overflow: hidden;
        left: 0;
        top: 0; }
        @media only screen and (min-width: 768px) {
          .list-news li a .thumb {
            width: 150px;
            height: 75px; } }
        @media print {
          .list-news li a .thumb {
            width: 150px;
            height: 75px; } }
        .list-news li a .thumb .bg-thumb {
          position: absolute;
          width: 100%;
          height: 100%;
          left: 0;
          top: 0;
          background-position: center center;
          background-repeat: no-repeat;
          background-size: cover;
          transition: all 0.2s ease; }
      .list-news li a .content {
        margin-left: 100px;
        min-height: 50px;
        padding-left: 10px; }
        @media only screen and (min-width: 768px) {
          .list-news li a .content {
            margin-left: 150px;
            min-height: 75px;
            padding-left: 20px; } }
        @media print {
          .list-news li a .content {
            margin-left: 150px;
            min-height: 75px;
            padding-left: 20px; } }
        .list-news li a .content .date {
          color: #00a0e9;
          line-height: 1;
          margin-bottom: 5px; }
          @media only screen and (min-width: 768px) {
            .list-news li a .content .date {
              margin-bottom: 10px; } }
          @media print {
            .list-news li a .content .date {
              margin-bottom: 10px; } }
        .list-news li a .content .ttl {
          line-height: 1.5; }

.block-voice {
  position: relative;
  display: block;
  outline: none;
  overflow: hidden; }
  .block-voice:hover .thumb .bg-thumb {
    opacity: .8;
    transform: scale(1.05); }
  .block-voice .circle {
    position: relative;
    float: left;
    width: 90px; }
    @media only screen and (min-width: 768px) {
      .block-voice .circle {
        margin: 0 auto;
        margin-bottom: 30px;
        width: 180px;
        float: none; } }
    @media print {
      .block-voice .circle {
        margin: 0 auto;
        margin-bottom: 30px;
        width: 180px;
        float: none; } }
    .block-voice .circle::after {
      display: block;
      content: " ";
      position: absolute;
      width: 22px;
      height: 11px;
      background-image: url("img/common/illust-comment.svg");
      background-size: cover;
      background-repeat: no-repeat;
      transform: rotate(-45deg);
      right: -1px;
      bottom: 5px;
      margin-left: -54px; }
      @media only screen and (min-width: 768px) {
        .block-voice .circle::after {
          width: 44px;
          height: 22px;
          transform: rotate(20deg);
          left: 50%;
          bottom: -14px;
          margin-left: -54px; } }
      @media print {
        .block-voice .circle::after {
          width: 44px;
          height: 22px;
          transform: rotate(20deg);
          left: 50%;
          bottom: -14px;
          margin-left: -54px; } }
  .block-voice .thumb {
    position: relative;
    overflow: hidden;
    height: 90px;
    border-radius: 50%;
    border: 3px solid #ddd; }
    @media only screen and (min-width: 768px) {
      .block-voice .thumb {
        height: 180px;
        border-width: 5px; } }
    @media print {
      .block-voice .thumb {
        height: 180px;
        border-width: 5px; } }
    .block-voice .thumb .bg-thumb {
      position: absolute;
      left: 0;
      top: 0;
      right: 0;
      bottom: 0;
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center center;
      transform: scale(1);
      transition: all 0.25s linear; }
  .block-voice .content {
    color: #111;
    padding-left: 100px; }
    @media only screen and (min-width: 768px) {
      .block-voice .content {
        padding-left: 0; } }
    @media print {
      .block-voice .content {
        padding-left: 0; } }
    .block-voice .content .txt {
      border-top: 2px dotted #111;
      border-bottom: 2px dotted #111;
      margin-bottom: 5px;
      padding: 1em 0;
      line-height: 1.5;
      font-weight: bold;
      font-size: 13px;
      font-size: 1.3rem; }
      @media only screen and (min-width: 768px) {
        .block-voice .content .txt {
          font-size: 16px;
          font-size: 1.6rem;
          text-align: center;
          margin-bottom: 10px; } }
      @media print {
        .block-voice .content .txt {
          font-size: 16px;
          font-size: 1.6rem;
          text-align: center;
          margin-bottom: 10px; } }
    @media only screen and (min-width: 768px) {
      .block-voice .content .detail {
        text-align: center; } }
    @media print {
      .block-voice .content .detail {
        text-align: center; } }
    .block-voice .content .detail .cat, .block-voice .content .detail .person {
      display: inline-block; }
      @media only screen and (min-width: 768px) {
        .block-voice .content .detail .cat, .block-voice .content .detail .person {
          display: block; } }
      @media print {
        .block-voice .content .detail .cat, .block-voice .content .detail .person {
          display: block; } }
    .block-voice .content .detail .cat {
      display: inline-block;
      border-radius: 30px;
      font-weight: bold;
      color: #fff;
      text-align: center;
      padding: 2px 10px;
      min-width: 80px;
      line-height: 1.4;
      font-size: 11px;
      font-size: 1.1rem; }
      @media only screen and (min-width: 768px) {
        .block-voice .content .detail .cat {
          min-width: 100px;
          margin-bottom: 5px;
          font-size: 13px;
          font-size: 1.3rem; } }
      @media print {
        .block-voice .content .detail .cat {
          min-width: 100px;
          margin-bottom: 5px;
          font-size: 13px;
          font-size: 1.3rem; } }
    .block-voice .content .detail .person {
      margin-left: 1em;
      font-size: 12px;
      font-size: 1.2rem; }
      @media only screen and (min-width: 768px) {
        .block-voice .content .detail .person {
          margin-left: 0;
          font-size: 14px;
          font-size: 1.4rem; } }
      @media print {
        .block-voice .content .detail .person {
          margin-left: 0;
          font-size: 14px;
          font-size: 1.4rem; } }

.cat-voice {
  display: inline-block;
  border-radius: 30px;
  font-weight: bold;
  color: #fff;
  text-align: center;
  padding: 2px 10px;
  min-width: 80px;
  line-height: 1.4;
  font-size: 11px;
  font-size: 1.1rem; }
  @media only screen and (min-width: 768px) {
    .cat-voice {
      min-width: 100px;
      margin-bottom: 5px;
      font-size: 13px;
      font-size: 1.3rem; } }
  @media print {
    .cat-voice {
      min-width: 100px;
      margin-bottom: 5px;
      font-size: 13px;
      font-size: 1.3rem; } }

.ttl-q-2 {
  position: relative;
  font-style: italic;
  font-weight: bold;
  font-size: 14px;
  font-size: 1.4rem;
  padding-left: 30px;
  padding-top: 2px;
  padding-bottom: 2px; }
  @media only screen and (min-width: 768px) {
    .ttl-q-2 {
      font-size: 18px;
      font-size: 1.8rem;
      padding-left: 35px;
      padding-top: 4px;
      padding-bottom: 4px; } }
  @media print {
    .ttl-q-2 {
      font-size: 18px;
      font-size: 1.8rem;
      padding-left: 35px;
      padding-top: 4px;
      padding-bottom: 4px; } }
  .ttl-q-2::before {
    position: absolute;
    left: 0;
    top: 0;
    content: "Q";
    display: block;
    color: #00a0e9;
    font-family: "Asap", sans-serif;
    font-weight: bold;
    font-style: normal;
    border-radius: 50%;
    text-align: center;
    width: 24px;
    height: 24px;
    line-height: 24px;
    font-size: 20px;
    font-size: 2rem; }
    @media only screen and (min-width: 768px) {
      .ttl-q-2::before {
        font-size: 28px;
        font-size: 2.8rem;
        width: 30px;
        height: 30px;
        line-height: 30px; } }
    @media print {
      .ttl-q-2::before {
        font-size: 28px;
        font-size: 2.8rem;
        width: 30px;
        height: 30px;
        line-height: 30px; } }

.ttl-q {
  position: relative;
  font-style: italic;
  font-weight: bold;
  font-size: 14px;
  font-size: 1.4rem;
  padding-left: 30px;
  padding-top: 2px;
  padding-bottom: 2px; }
  @media only screen and (min-width: 768px) {
    .ttl-q {
      font-size: 16px;
      font-size: 1.6rem;
      padding-left: 35px;
      padding-top: 4px;
      padding-bottom: 4px; } }
  @media print {
    .ttl-q {
      font-size: 16px;
      font-size: 1.6rem;
      padding-left: 35px;
      padding-top: 4px;
      padding-bottom: 4px; } }
  .ttl-q::before {
    position: absolute;
    left: 0;
    top: 0;
    content: "?";
    display: block;
    color: #fff;
    font-family: "Asap", sans-serif;
    font-weight: bold;
    font-style: normal;
    background-color: #111;
    border-radius: 50%;
    text-align: center;
    width: 24px;
    height: 24px;
    line-height: 24px;
    font-size: 20px;
    font-size: 2rem; }
    @media only screen and (min-width: 768px) {
      .ttl-q::before {
        font-size: 28px;
        font-size: 2.8rem;
        width: 30px;
        height: 30px;
        line-height: 30px; } }
    @media print {
      .ttl-q::before {
        font-size: 28px;
        font-size: 2.8rem;
        width: 30px;
        height: 30px;
        line-height: 30px; } }

.txt-a {
  position: relative;
  font-size: 13px;
  font-size: 1.3rem;
  padding-left: 30px;
  line-height: 1.7; }
  @media only screen and (min-width: 768px) {
    .txt-a {
      font-size: 14px;
      font-size: 1.4rem;
      padding-left: 35px; } }
  @media print {
    .txt-a {
      font-size: 14px;
      font-size: 1.4rem;
      padding-left: 35px; } }
  .txt-a::before {
    position: absolute;
    left: 8px;
    top: 2px;
    content: "A.";
    display: block;
    color: #00a0e9;
    line-height: 1;
    font-family: "Asap", sans-serif;
    font-weight: bold;
    text-align: center;
    font-size: 16px;
    font-size: 1.6rem; }
    @media only screen and (min-width: 768px) {
      .txt-a::before {
        font-size: 20px;
        font-size: 2rem;
        left: 10px; } }
    @media print {
      .txt-a::before {
        font-size: 20px;
        font-size: 2rem;
        left: 10px; } }

.box-flow {
  position: relative; }
  @media only screen and (min-width: 768px) {
    .box-flow {
      display: table;
      width: 100%; } }
  @media print {
    .box-flow {
      display: table;
      width: 100%; } }
  .box-flow::after, .box-flow::before {
    top: 100%;
    left: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none; }
  .box-flow::after {
    border-color: rgba(255, 255, 255, 0);
    border-top-color: #fff;
    border-width: 20px;
    margin-left: -20px; }
  .box-flow.last::after, .box-flow.last::before {
    content: none; }
  .box-flow .ttl {
    background-color: #111;
    color: #fff;
    padding: 5px 10px;
    font-weight: bold; }
    @media only screen and (min-width: 768px) {
      .box-flow .ttl {
        display: table-cell;
        vertical-align: middle;
        width: 180px;
        padding: 10px 20px; } }
    @media print {
      .box-flow .ttl {
        display: table-cell;
        vertical-align: middle;
        width: 180px;
        padding: 10px 20px; } }
    .box-flow .ttl .num {
      font-weight: 900;
      display: block;
      line-height: 1;
      margin-bottom: 5px;
      font-style: italic;
      letter-spacing: 0.1em; }
    .box-flow .ttl .txt {
      line-height: 1.4; }
  .box-flow .content {
    background-color: #fff;
    padding: 10px; }
    @media only screen and (min-width: 768px) {
      .box-flow .content {
        padding: 20px;
        display: table-cell;
        vertical-align: middle; } }
    @media print {
      .box-flow .content {
        padding: 20px;
        display: table-cell;
        vertical-align: middle; } }

.wrapper-iframe {
  position: relative;
  padding-bottom: 56.3%;
  height: 0;
  overflow: hidden; }
  .wrapper-iframe iframe, .wrapper-iframe object, .wrapper-iframe embed {
    border: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.gmap {
  position: relative;
  padding-bottom: 45%;
  height: 0;
  overflow: hidden; }
  .gmap iframe, .gmap object, .gmap embed {
    border: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.list-access {
  padding: 0;
  margin: 0;
  list-style: none;
  display: inline-block; }
  .list-access li {
    text-align: left;
    position: relative;
    padding: 0;
    padding-left: 12px; }
    .list-access li:after {
      position: absolute;
      font-family: FontAwesome;
      display: block;
      content: '\f238';
      left: -6px;
      top: 0;
      color: #00a0e9;
      font-size: 12px;
      font-size: 1.2rem; }

@media only screen and (min-width: 768px) {
  .row-tb {
    display: table;
    width: 100%;
    table-layout: fixed; } }

@media print {
  .row-tb {
    display: table;
    width: 100%;
    table-layout: fixed; } }

.row-tb .col-td {
  margin-bottom: 20px; }
  @media only screen and (min-width: 768px) {
    .row-tb .col-td {
      display: table-cell;
      margin-bottom: 0;
      padding: 0 10px; } }
  @media print {
    .row-tb .col-td {
      display: table-cell;
      margin-bottom: 0;
      padding: 0 10px; } }

.row-tb.row-skill .col-td {
  padding: 0 10px; }
  .row-tb.row-skill .col-td .inner {
    background-color: #fff;
    background-color: rgba(255, 255, 255, 0.9);
    padding: 15px;
    color: #111;
    border-radius: 10px; }
    @media only screen and (min-width: 768px) {
      .row-tb.row-skill .col-td .inner {
        padding: 30px 15px;
        border-radius: 10px 10px 0 0; } }
    @media print {
      .row-tb.row-skill .col-td .inner {
        padding: 30px 15px;
        border-radius: 10px 10px 0 0; } }

.oh {
  overflow: hidden; }

.block-intro {
  position: relative; }
  @media only screen and (min-width: 992px) {
    .block-intro .block-intro-content {
      min-height: 420px; } }
  @media print {
    .block-intro .block-intro-content {
      min-height: 420px; } }
  @media only screen and (min-width: 992px) {
    .block-intro.even .bg {
      right: 0;
      left: auto; } }
  @media print {
    .block-intro.even .bg {
      right: 0;
      left: auto; } }
  .block-intro.even .bg::before {
    right: auto;
    left: 30px;
    background-image: url("img/common/illust-pc-right.png"); }
    @media only screen and (min-width: 768px) {
      .block-intro.even .bg::before {
        right: auto;
        left: 120px; } }
    @media print {
      .block-intro.even .bg::before {
        right: auto;
        left: 120px; } }
    @media only screen and (min-width: 992px) {
      .block-intro.even .bg::before {
        right: auto;
        left: 30px; } }
    @media print {
      .block-intro.even .bg::before {
        right: auto;
        left: 30px; } }
  .block-intro.even .bg .bg-thumb {
    right: auto;
    left: 40px; }
    @media only screen and (min-width: 768px) {
      .block-intro.even .bg .bg-thumb {
        right: auto;
        left: 138px; } }
    @media print {
      .block-intro.even .bg .bg-thumb {
        right: auto;
        left: 138px; } }
    @media only screen and (min-width: 992px) {
      .block-intro.even .bg .bg-thumb {
        right: auto;
        left: 49px; } }
    @media print {
      .block-intro.even .bg .bg-thumb {
        right: auto;
        left: 49px; } }
    .block-intro.even .bg .bg-thumb .inner {
      transform: skewY(24.5deg); }
  .block-intro .bg {
    position: relative;
    padding-bottom: 340px;
    overflow: hidden; }
    @media only screen and (min-width: 768px) {
      .block-intro .bg {
        padding-bottom: 600px; } }
    @media print {
      .block-intro .bg {
        padding-bottom: 600px; } }
    @media only screen and (min-width: 992px) {
      .block-intro .bg {
        position: absolute;
        width: 50%;
        height: 100%;
        left: 0;
        top: 0; } }
    @media print {
      .block-intro .bg {
        position: absolute;
        width: 50%;
        height: 100%;
        left: 0;
        top: 0; } }
    .block-intro .bg::before {
      display: block;
      content: " ";
      position: absolute;
      width: 420px;
      height: 100%;
      top: 0;
      right: 30px;
      background-image: url("img/common/illust-pc-left.png");
      background-size: 100% auto;
      background-repeat: no-repeat;
      background-position: bottom center; }
      @media only screen and (min-width: 768px) {
        .block-intro .bg::before {
          width: 733px;
          right: 120px; } }
      @media print {
        .block-intro .bg::before {
          width: 733px;
          right: 120px; } }
      @media only screen and (min-width: 992px) {
        .block-intro .bg::before {
          width: 733px;
          right: 30px;
          background-position: center center; } }
      @media print {
        .block-intro .bg::before {
          width: 733px;
          right: 30px;
          background-position: center center; } }
    .block-intro .bg .bg-thumb {
      position: absolute;
      z-index: 2;
      width: 234px;
      height: 100%;
      top: 50%;
      left: auto;
      right: 40px;
      margin-top: -98px; }
      @media only screen and (min-width: 768px) {
        .block-intro .bg .bg-thumb {
          width: 406px;
          right: 138px;
          margin-top: -168px; } }
      @media print {
        .block-intro .bg .bg-thumb {
          width: 406px;
          right: 138px;
          margin-top: -168px; } }
      @media only screen and (min-width: 992px) {
        .block-intro .bg .bg-thumb {
          width: 406px;
          right: 49px;
          margin-top: -175px; } }
      @media print {
        .block-intro .bg .bg-thumb {
          width: 406px;
          right: 49px;
          margin-top: -175px; } }
      .block-intro .bg .bg-thumb .inner {
        position: absolute;
        display: block;
        right: 0;
        top: 0;
        width: 100%;
        height: 0;
        padding-bottom: 73%;
        overflow: hidden;
        transform: skewY(-24.5deg); }
        .block-intro .bg .bg-thumb .inner .thumb {
          position: absolute;
          display: block;
          width: 100%;
          height: 100%;
          left: 0;
          top: 0;
          background-position: center center;
          background-repeat: no-repeat;
          background-size: cover; }

.box-schedule .block {
  display: block;
  margin-bottom: 20px; }
  @media only screen and (min-width: 768px) {
    .box-schedule .block {
      display: inline-block;
      margin: 0;
      margin-right: 40px;
      vertical-align: top; } }
  @media print {
    .box-schedule .block {
      display: inline-block;
      margin: 0;
      margin-right: 40px;
      vertical-align: top; } }
  .box-schedule .block .list-times {
    padding: 0;
    margin: 0;
    list-style: none; }
    .box-schedule .block .list-times li {
      border-top: 1px dashed #ccc;
      padding-top: 5px;
      margin-bottom: 5px;
      line-height: 1.5;
      padding-left: 10px; }
      .box-schedule .block .list-times li .times {
        font-weight: bold; }
      .box-schedule .block .list-times li.deadline {
        color: #ccc;
        position: relative; }
        .box-schedule .block .list-times li.deadline::after {
          position: absolute;
          display: block;
          content: "満 席";
          color: red;
          font-weight: bold;
          top: -0.2em;
          left: 0;
          width: 100%;
          text-align: center;
          font-size: 80%; }
  .box-schedule .block.past {
    color: #ccc; }
  .box-schedule .block.deadline {
    color: #ccc;
    position: relative; }
    .box-schedule .block.deadline::after {
      position: absolute;
      display: block;
      content: "満 席";
      color: red;
      font-weight: bold;
      top: -0.5em;
      left: 0;
      width: 100%;
      text-align: center;
      font-size: 80%; }

.section-skill .ttl {
  margin-top: -20px; }

.block-flow {
  position: relative; }
  .block-flow::after {
    top: 100%;
    left: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: rgba(255, 255, 255, 0);
    border-top-color: #fff;
    border-width: 15px;
    margin-left: -15px; }
    @media only screen and (min-width: 768px) {
      .block-flow::after {
        border-width: 30px;
        margin-left: -30px; } }
    @media print {
      .block-flow::after {
        border-width: 30px;
        margin-left: -30px; } }
  .block-flow.last::after, .block-flow.last::before {
    content: none; }
  .block-flow .num {
    background-color: #00a0e9;
    color: #fff;
    text-align: center;
    position: absolute;
    left: -10px;
    top: -10px;
    width: 50px;
    height: 50px;
    line-height: 1;
    padding-top: 5px;
    font-style: italic; }
    @media only screen and (min-width: 768px) {
      .block-flow .num {
        left: -20px;
        top: -20px;
        width: 80px;
        height: 80px;
        padding-top: 15px; } }
    @media print {
      .block-flow .num {
        left: -20px;
        top: -20px;
        width: 80px;
        height: 80px;
        padding-top: 15px; } }

.tel-block {
  display: inline-block;
  vertical-align: middle;
  text-align: center;
  margin-bottom: 5px;
  margin-left: 10px; }
  @media only screen and (min-width: 1200px) {
    .tel-block {
      margin-left: 15px; } }
  @media print {
    .tel-block {
      margin-left: 15px; } }
  .tel-block .top-tel {
    font-family: "Asap", sans-serif;
    font-weight: 700;
    color: #00a0e9;
    line-height: 1; }
    .tel-block .top-tel .icon, .tel-block .top-tel .tel-link {
      display: inline-block;
      vertical-align: middle;
      font-size: 32px;
      font-size: 3.2rem; }
      @media only screen and (min-width: 768px) {
        .tel-block .top-tel .icon, .tel-block .top-tel .tel-link {
          font-size: 38px;
          font-size: 3.8rem; } }
      @media print {
        .tel-block .top-tel .icon, .tel-block .top-tel .tel-link {
          font-size: 38px;
          font-size: 3.8rem; } }
    .tel-block .top-tel .icon img {
      width: 38px;
      height: 24px; }
      @media only screen and (min-width: 768px) {
        .tel-block .top-tel .icon img {
          width: 44px;
          height: 29px; } }
      @media print {
        .tel-block .top-tel .icon img {
          width: 44px;
          height: 29px; } }
  .tel-block .under-tel {
    display: block;
    font-size: 13px;
    font-size: 1.3rem; }
    @media only screen and (min-width: 768px) {
      .tel-block .under-tel {
        font-size: 16px;
        font-size: 1.6rem; } }
    @media print {
      .tel-block .under-tel {
        font-size: 16px;
        font-size: 1.6rem; } }

.wrapper-icon-course {
  overflow: hidden; }
  .wrapper-icon-course .block {
    display: block;
    margin-bottom: 5px; }
    @media only screen and (min-width: 768px) {
      .wrapper-icon-course .block {
        float: left;
        width: 20%;
        padding-left: 10px;
        padding-right: 10px;
        margin-bottom: 0; } }
    @media print {
      .wrapper-icon-course .block {
        float: left;
        width: 20%;
        padding-left: 10px;
        padding-right: 10px;
        margin-bottom: 0; } }
    .wrapper-icon-course .block .inner {
      display: table;
      width: 100%;
      color: #111;
      text-decoration: none !important; }
      @media only screen and (min-width: 768px) {
        .wrapper-icon-course .block .inner {
          display: block;
          text-align: center; }
          .wrapper-icon-course .block .inner:hover .icon span {
            transform: scale(1.05); } }
      @media print {
        .wrapper-icon-course .block .inner {
          display: block;
          text-align: center; }
          .wrapper-icon-course .block .inner:hover .icon span {
            transform: scale(1.05); } }
      .wrapper-icon-course .block .inner .txt {
        display: table-cell;
        vertical-align: middle;
        line-height: 1.5; }
        @media only screen and (min-width: 768px) {
          .wrapper-icon-course .block .inner .txt {
            display: block; } }
        @media print {
          .wrapper-icon-course .block .inner .txt {
            display: block; } }
      .wrapper-icon-course .block .inner .icon {
        display: table-cell;
        vertical-align: middle;
        width: 80px; }
        @media only screen and (min-width: 768px) {
          .wrapper-icon-course .block .inner .icon {
            display: block;
            width: auto; } }
        @media print {
          .wrapper-icon-course .block .inner .icon {
            display: block;
            width: auto; } }
        .wrapper-icon-course .block .inner .icon span {
          display: inline-block;
          background-color: #fff;
          width: 70px;
          padding: 5px;
          max-width: 100%;
          border-radius: 50%;
          box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); }
          @media only screen and (min-width: 768px) {
            .wrapper-icon-course .block .inner .icon span {
              width: 160px;
              margin-bottom: 5px;
              transform: scale(1);
              transition: transform 0.15s linear; } }
          @media print {
            .wrapper-icon-course .block .inner .icon span {
              width: 160px;
              margin-bottom: 5px;
              transform: scale(1);
              transition: transform 0.15s linear; } }
          .wrapper-icon-course .block .inner .icon span img {
            width: 60px; }
            @media only screen and (min-width: 768px) {
              .wrapper-icon-course .block .inner .icon span img {
                width: 150px; } }
            @media print {
              .wrapper-icon-course .block .inner .icon span img {
                width: 150px; } }

.block-sitemap {
  padding-top: 0.8em;
  padding-bottom: 0.8em;
  border-bottom: 2px solid #00a0e9; }
  .block-sitemap.bt {
    border-top: 2px solid #00a0e9; }
  @media only screen and (min-width: 768px) {
    .block-sitemap.bt-pc {
      border-top: 2px solid #00a0e9; } }
  @media print {
    .block-sitemap.bt-pc {
      border-top: 2px solid #00a0e9; } }
  .block-sitemap a {
    display: block;
    color: #111;
    font-weight: bold;
    padding: 0.5em 0; }
    .block-sitemap a:hover {
      color: #44bef6; }
  .block-sitemap .link-parent {
    font-size: 14px;
    font-size: 1.4rem; }
    @media only screen and (min-width: 768px) {
      .block-sitemap .link-parent {
        font-size: 16px;
        font-size: 1.6rem; } }
    @media print {
      .block-sitemap .link-parent {
        font-size: 16px;
        font-size: 1.6rem; } }
  .block-sitemap .list-sitemap {
    padding: 0;
    padding-left: 1.5em;
    margin: 0;
    list-style: none; }
    .block-sitemap .list-sitemap > li > a {
      position: relative;
      padding-left: 1.2em;
      font-size: 13px;
      font-size: 1.3rem; }
      @media only screen and (min-width: 768px) {
        .block-sitemap .list-sitemap > li > a {
          font-size: 15px;
          font-size: 1.5rem; } }
      @media print {
        .block-sitemap .list-sitemap > li > a {
          font-size: 15px;
          font-size: 1.5rem; } }
      .block-sitemap .list-sitemap > li > a::before {
        position: absolute;
        display: block;
        content: " ";
        width: 0.8em;
        height: 2px;
        margin-top: -1px;
        background-color: #00a0e9;
        left: 0;
        top: 50%; }
    .block-sitemap .list-sitemap > li ul {
      padding: 0;
      padding-left: 1em; }
      .block-sitemap .list-sitemap > li ul li {
        list-style: none;
        padding: 0; }
        .block-sitemap .list-sitemap > li ul li a {
          position: relative;
          font-weight: normal;
          padding-left: 1em;
          font-size: 12px;
          font-size: 1.2rem; }
          @media only screen and (min-width: 768px) {
            .block-sitemap .list-sitemap > li ul li a {
              font-size: 14px;
              font-size: 1.4rem; } }
          @media print {
            .block-sitemap .list-sitemap > li ul li a {
              font-size: 14px;
              font-size: 1.4rem; } }
          .block-sitemap .list-sitemap > li ul li a::before {
            position: absolute;
            display: block;
            content: " ";
            width: 0.5em;
            height: 1px;
            background-color: #00a0e9;
            left: 0;
            top: 50%; }

.pagination {
  margin: 0;
  margin-top: 10px;
  display: block;
  text-align: center; }
  .pagination ul.page-numbers {
    display: inline-block;
    overflow: hidden;
    margin: 0;
    padding: 0;
    margin: 0 auto;
    list-style: none; }
    .pagination ul.page-numbers li {
      padding: 0;
      float: left;
      margin: 5px; }
  .pagination a, .pagination span {
    display: block;
    width: 30px;
    height: 30px;
    line-height: 26px;
    text-align: center;
    border: 2px solid #00a0e9;
    font-family: "Asap", sans-serif;
    border-radius: 2px; }
    @media only screen and (min-width: 768px) {
      .pagination a, .pagination span {
        width: 40px;
        height: 40px;
        line-height: 36px; } }
    @media print {
      .pagination a, .pagination span {
        width: 40px;
        height: 40px;
        line-height: 36px; } }
  .pagination span {
    color: #fff;
    background-color: #00a0e9; }
    .pagination span.current {
      color: #fff; }
  .pagination a {
    color: #00a0e9;
    background-color: #fff;
    transition: color .2s ease, background-color .2s ease; }
    .pagination a:hover, .pagination a:focus {
      color: #fff;
      background-color: #00a0e9; }

.ttl-archive {
  background-color: #fff;
  padding: 10px;
  line-height: 1.4;
  border-radius: 3px; }
  @media only screen and (min-width: 768px) {
    .ttl-archive {
      padding: 10px 15px; } }
  @media print {
    .ttl-archive {
      padding: 10px 15px; } }

.article-single {
  border-radius: 5px; }
  .article-single .article-header {
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 1px solid #ddd; }
    @media only screen and (min-width: 768px) {
      .article-single .article-header {
        padding-bottom: 20px;
        margin-bottom: 20px; } }
    @media print {
      .article-single .article-header {
        padding-bottom: 20px;
        margin-bottom: 20px; } }
    .article-single .article-header h1 {
      margin-bottom: 10px;
      line-height: 1.4;
      font-weight: bold;
      font-size: 20px;
      font-size: 2rem; }
      @media only screen and (min-width: 768px) {
        .article-single .article-header h1 {
          font-size: 28px;
          font-size: 2.8rem; } }
      @media print {
        .article-single .article-header h1 {
          font-size: 28px;
          font-size: 2.8rem; } }
    .article-single .article-header .block-sns {
      text-align: right; }
      .article-single .article-header .block-sns a {
        display: inline-block;
        transition: opacity 0.2s linear; }
        .article-single .article-header .block-sns a:hover {
          opacity: .8; }
    .article-single .article-header .box-meta {
      background-color: #f6f6f6;
      padding: 0 10px 10px; }
      @media only screen and (min-width: 768px) {
        .article-single .article-header .box-meta {
          padding: 0 20px 20px; } }
      @media print {
        .article-single .article-header .box-meta {
          padding: 0 20px 20px; } }
      .article-single .article-header .box-meta .row-btns {
        overflow: hidden; }
        .article-single .article-header .box-meta .row-btns .wrapper-btn {
          float: left;
          width: 50%; }
          @media only screen and (min-width: 768px) {
            .article-single .article-header .box-meta .row-btns .wrapper-btn {
              padding: 0 15px; } }
          @media print {
            .article-single .article-header .box-meta .row-btns .wrapper-btn {
              padding: 0 15px; } }
          .article-single .article-header .box-meta .row-btns .wrapper-btn a {
            position: relative;
            display: block;
            color: #fff;
            font-weight: bold;
            text-align: center;
            line-height: 1.4;
            padding: 10px 0;
            font-size: 12px;
            font-size: 1.2rem;
            background-color: #00a0e9; }
            @media only screen and (min-width: 768px) {
              .article-single .article-header .box-meta .row-btns .wrapper-btn a {
                font-size: 15px;
                font-size: 1.5rem;
                width: 100%;
                padding: 12px 10px;
                margin: 0 auto;
                border-radius: 50px; } }
            @media print {
              .article-single .article-header .box-meta .row-btns .wrapper-btn a {
                font-size: 15px;
                font-size: 1.5rem;
                width: 100%;
                padding: 12px 10px;
                margin: 0 auto;
                border-radius: 50px; } }
            .article-single .article-header .box-meta .row-btns .wrapper-btn a:visited {
              text-decoration: none; }
            .article-single .article-header .box-meta .row-btns .wrapper-btn a:hover {
              color: #fff;
              background-color: #44bef6; }
            .article-single .article-header .box-meta .row-btns .wrapper-btn a.btn-01 {
              background-color: #f59923; }
              .article-single .article-header .box-meta .row-btns .wrapper-btn a.btn-01:hover {
                background-color: #fab358; }
            .article-single .article-header .box-meta .row-btns .wrapper-btn a .fa {
              position: absolute;
              right: 0.5em;
              top: 50%;
              margin-top: -.5em;
              line-height: 1;
              z-index: 2; }
              @media only screen and (min-width: 768px) {
                .article-single .article-header .box-meta .row-btns .wrapper-btn a .fa {
                  right: 1em; } }
              @media print {
                .article-single .article-header .box-meta .row-btns .wrapper-btn a .fa {
                  right: 1em; } }
      .article-single .article-header .box-meta .box-avator .date {
        float: right;
        font-weight: bold;
        font-style: italic;
        font-family: "Asap", sans-serif;
        color: #666;
        padding-top: 0.5em; }
      .article-single .article-header .box-meta .box-avator .avator {
        float: left;
        position: relative;
        margin-top: -20px;
        overflow: hidden;
        z-index: 1; }
        .article-single .article-header .box-meta .box-avator .avator .left {
          float: left; }
          .article-single .article-header .box-meta .box-avator .avator .left .user_image {
            height: 66px;
            width: 66px;
            overflow: hidden;
            border-radius: 50%;
            border: 3px solid #fff; }
            @media only screen and (min-width: 768px) {
              .article-single .article-header .box-meta .box-avator .avator .left .user_image {
                height: 66px;
                width: 66px; } }
            @media print {
              .article-single .article-header .box-meta .box-avator .avator .left .user_image {
                height: 66px;
                width: 66px; } }
            .article-single .article-header .box-meta .box-avator .avator .left .user_image img {
              width: 100%;
              height: auto; }
        .article-single .article-header .box-meta .box-avator .avator .right {
          padding-left: 80px;
          padding-top: 24px;
          line-height: 1; }
          .article-single .article-header .box-meta .box-avator .avator .right .user_author {
            font-weight: bold;
            font-style: italic;
            font-family: "Asap", sans-serif;
            line-height: 1.2;
            font-size: 15px;
            font-size: 1.5rem; }
            @media only screen and (min-width: 768px) {
              .article-single .article-header .box-meta .box-avator .avator .right .user_author {
                font-size: 20px;
                font-size: 2rem; } }
            @media print {
              .article-single .article-header .box-meta .box-avator .avator .right .user_author {
                font-size: 20px;
                font-size: 2rem; } }
          .article-single .article-header .box-meta .box-avator .avator .right .min {
            font-family: "Asap", sans-serif;
            color: #999;
            font-size: 12px;
            font-size: 1.2rem; }
            @media only screen and (min-width: 768px) {
              .article-single .article-header .box-meta .box-avator .avator .right .min {
                font-size: 14px;
                font-size: 1.4rem; } }
            @media print {
              .article-single .article-header .box-meta .box-avator .avator .right .min {
                font-size: 14px;
                font-size: 1.4rem; } }
      .article-single .article-header .box-meta .box-cat {
        padding-bottom: 5px; }
        .article-single .article-header .box-meta .box-cat .list-cat:after {
          content: '\f01c'; }
        .article-single .article-header .box-meta .box-cat .list-tag:after {
          content: '\f02b'; }
        .article-single .article-header .box-meta .box-cat .list-term:after {
          content: '\f187'; }
        .article-single .article-header .box-meta .box-cat ul {
          padding: 0;
          margin: 0;
          overflow: hidden;
          margin-bottom: 5px;
          padding-left: 20px;
          position: relative; }
          .article-single .article-header .box-meta .box-cat ul:after {
            position: absolute;
            font-family: FontAwesome;
            display: block;
            content: '\f02b';
            left: 0;
            top: 0;
            line-height: 1.2;
            color: #00a0e9;
            font-size: 13px;
            font-size: 1.3rem; }
          .article-single .article-header .box-meta .box-cat ul li {
            display: block;
            float: left;
            margin-right: 2px;
            margin-bottom: 2px;
            line-height: 1;
            padding: 0; }
            .article-single .article-header .box-meta .box-cat ul li a {
              display: block;
              transition: background-color 0.15s linear;
              letter-spacing: 0;
              background-color: #999;
              border-radius: 2px;
              line-height: 1;
              padding: 2px 5px;
              color: #fff;
              font-size: 10px;
              font-size: 1rem; }
              @media only screen and (min-width: 768px) {
                .article-single .article-header .box-meta .box-cat ul li a {
                  font-size: 13px;
                  font-size: 1.3rem; } }
              @media print {
                .article-single .article-header .box-meta .box-cat ul li a {
                  font-size: 13px;
                  font-size: 1.3rem; } }
              @media only screen and (min-width: 768px) {
                .article-single .article-header .box-meta .box-cat ul li a:hover {
                  background-color: #ccc; } }
              @media print {
                .article-single .article-header .box-meta .box-cat ul li a:hover {
                  background-color: #ccc; } }

.table-event {
  background-color: #fff;
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid #dae5ea; }
  .table-event tr {
    border-bottom: 1px solid #dae5ea; }
  .table-event tbody th, .table-event tbody td {
    display: block;
    padding: 5px; }
    @media only screen and (min-width: 768px) {
      .table-event tbody th, .table-event tbody td {
        padding: 10px;
        display: table-cell; } }
    @media print {
      .table-event tbody th, .table-event tbody td {
        padding: 10px;
        display: table-cell; } }
  .table-event tbody th {
    background-color: #eaf6fc;
    font-size: 11px;
    font-size: 1.1rem;
    font-weight: bold;
    white-space: nowrap; }
    @media only screen and (min-width: 768px) {
      .table-event tbody th {
        width: 160px;
        font-size: 13px;
        font-size: 1.3rem; } }
    @media print {
      .table-event tbody th {
        width: 160px;
        font-size: 13px;
        font-size: 1.3rem; } }
  .table-event tbody td {
    font-size: 11px;
    font-size: 1.1rem;
    word-break: break-all; }
    @media only screen and (min-width: 768px) {
      .table-event tbody td {
        font-size: 13px;
        font-size: 1.3rem; } }
    @media print {
      .table-event tbody td {
        font-size: 13px;
        font-size: 1.3rem; } }

.post-navigation {
  overflow: hidden; }
  .post-navigation .prev {
    float: left;
    margin-bottom: 10px; }
    .post-navigation .prev a {
      display: block;
      color: #111;
      font-weight: bold;
      transition: all 0.15s linear !important; }
      @media only screen and (min-width: 768px) {
        .post-navigation .prev a:hover {
          color: #44bef6;
          background-position: left center; } }
      @media print {
        .post-navigation .prev a:hover {
          color: #44bef6;
          background-position: left center; } }
  .post-navigation .next {
    float: right;
    text-align: right; }
    .post-navigation .next a {
      display: block;
      color: #111;
      font-weight: bold;
      transition: all 0.15s linear !important; }
      @media only screen and (min-width: 768px) {
        .post-navigation .next a:hover {
          color: #44bef6;
          background-position: right center; } }
      @media print {
        .post-navigation .next a:hover {
          color: #44bef6;
          background-position: right center; } }

@media only screen and (min-width: 992px) {
  #sidebar {
    padding-left: 30px; } }

@media print {
  #sidebar {
    padding-left: 30px; } }

#sidebar h4 {
  background-color: #111;
  color: #fff;
  font-family: "Asap", sans-serif;
  font-style: italic;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.1em;
  padding: 4px 15px;
  font-size: 15px;
  font-size: 1.5rem; }
  @media only screen and (min-width: 768px) {
    #sidebar h4 {
      padding: 8px 15px;
      font-size: 18px;
      font-size: 1.8rem; } }
  @media print {
    #sidebar h4 {
      padding: 8px 15px;
      font-size: 18px;
      font-size: 1.8rem; } }

#sidebar .fb_iframe_widget,
#sidebar .fb_iframe_widget span,
#sidebar .fb_iframe_widget iframe[style] {
  width: 100% !important; }

#sidebar .cat_list {
  padding: 0;
  margin: 0;
  list-style: none; }
  #sidebar .cat_list li a {
    position: relative;
    display: block;
    background-color: #fff;
    padding: 10px;
    padding-left: 15px;
    border-bottom: 1px solid #eee;
    color: #111;
    font-size: 12px;
    font-size: 1.2rem;
    transition: background-color 0.2s ease; }
    #sidebar .cat_list li a:hover {
      background-color: #f6f6f9; }
    @media only screen and (min-width: 768px) {
      #sidebar .cat_list li a {
        font-size: 14px;
        font-size: 1.4rem; } }
    @media print {
      #sidebar .cat_list li a {
        font-size: 14px;
        font-size: 1.4rem; } }
    #sidebar .cat_list li a:after {
      position: absolute;
      font-family: FontAwesome;
      display: block;
      content: '\f054';
      right: 5px;
      top: 50%;
      line-height: 1;
      margin-top: -5px;
      color: #00a0e9;
      font-size: 10px;
      font-size: 1rem; }
  #sidebar .cat_list li ul {
    padding-left: 1em;
    list-style: none; }
    #sidebar .cat_list li ul a {
      font-size: 11px;
      font-size: 1.1rem; }
      @media only screen and (min-width: 768px) {
        #sidebar .cat_list li ul a {
          font-size: 13px;
          font-size: 1.3rem; } }
      @media print {
        #sidebar .cat_list li ul a {
          font-size: 13px;
          font-size: 1.3rem; } }

#sidebar .side_post_list {
  padding: 0;
  margin: 0;
  list-style: none; }
  #sidebar .side_post_list.member_list .post_thumbnail {
    border-radius: 50%; }
  #sidebar .side_post_list.member_list .nickname {
    font-family: "Asap", sans-serif; }
    #sidebar .side_post_list.member_list .nickname .lg {
      display: block;
      font-weight: bold;
      font-size: 11px;
      font-size: 1.1rem; }
      @media only screen and (min-width: 768px) {
        #sidebar .side_post_list.member_list .nickname .lg {
          font-size: 14px;
          font-size: 1.4rem; } }
      @media print {
        #sidebar .side_post_list.member_list .nickname .lg {
          font-size: 14px;
          font-size: 1.4rem; } }
    #sidebar .side_post_list.member_list .nickname .description {
      display: block;
      color: #999;
      font-size: 9px;
      font-size: 0.9rem; }
      @media only screen and (min-width: 768px) {
        #sidebar .side_post_list.member_list .nickname .description {
          font-size: 11px;
          font-size: 1.1rem; } }
      @media print {
        #sidebar .side_post_list.member_list .nickname .description {
          font-size: 11px;
          font-size: 1.1rem; } }
  #sidebar .side_post_list li {
    overflow: hidden;
    border-bottom: 1px solid #eee; }
    #sidebar .side_post_list li a {
      background-color: #fff;
      display: block;
      overflow: hidden;
      color: #111;
      padding: 5px;
      text-decoration: none !important;
      transition: background-color 0.2s ease; }
      #sidebar .side_post_list li a:hover {
        background-color: #f6f6f9; }
      #sidebar .side_post_list li a .post_thumbnail {
        display: block;
        float: left;
        overflow: hidden;
        border-radius: 2px; }
        #sidebar .side_post_list li a .post_thumbnail img {
          width: 60px;
          height: auto; }
      #sidebar .side_post_list li a .nickname {
        padding-left: 70px;
        display: block;
        line-height: 1.4;
        font-size: 11px;
        font-size: 1.1rem; }
        @media only screen and (min-width: 768px) {
          #sidebar .side_post_list li a .nickname {
            font-size: 13px;
            font-size: 1.3rem; } }
        @media print {
          #sidebar .side_post_list li a .nickname {
            font-size: 13px;
            font-size: 1.3rem; } }

#sidebar .block-post .inner {
  display: block;
  overflow: hidden; }
  #sidebar .block-post .inner .thumb {
    display: block;
    position: relative;
    overflow: hidden;
    padding-top: 56%;
    height: 0;
    border-bottom: 1px solid #f3f3f3; }
    #sidebar .block-post .inner .thumb .bg {
      position: absolute;
      display: block;
      left: 0;
      top: 0;
      bottom: 0;
      right: 0;
      background-repeat: no-repeat;
      background-position: center center;
      background-size: cover;
      transition: all 0.2s linear; }
    @media only screen and (min-width: 768px) {
      #sidebar .block-post .inner .thumb:hover .bg {
        transform: scale(1.05);
        opacity: .8; } }
    @media print {
      #sidebar .block-post .inner .thumb:hover .bg {
        transform: scale(1.05);
        opacity: .8; } }
  #sidebar .block-post .inner .avator {
    position: relative;
    margin-top: -10px;
    overflow: hidden;
    padding-left: 5px; }
    @media only screen and (min-width: 768px) {
      #sidebar .block-post .inner .avator {
        padding-left: 10px; } }
    @media print {
      #sidebar .block-post .inner .avator {
        padding-left: 10px; } }
    #sidebar .block-post .inner .avator .left {
      float: left; }
      #sidebar .block-post .inner .avator .left .user_image {
        height: 44px;
        width: 44px;
        overflow: hidden;
        border-radius: 50%;
        border: 2px solid #fff; }
        #sidebar .block-post .inner .avator .left .user_image img {
          width: 100%;
          height: auto; }
    #sidebar .block-post .inner .avator .right {
      padding-left: 50px;
      padding-top: 10px;
      line-height: 1; }
      #sidebar .block-post .inner .avator .right .user_author {
        font-weight: bold;
        font-style: italic;
        font-family: "Asap", sans-serif;
        line-height: 1.2;
        font-size: 13px;
        font-size: 1.3rem; }
        @media only screen and (min-width: 768px) {
          #sidebar .block-post .inner .avator .right .user_author {
            font-size: 15px;
            font-size: 1.5rem; } }
        @media print {
          #sidebar .block-post .inner .avator .right .user_author {
            font-size: 15px;
            font-size: 1.5rem; } }
      #sidebar .block-post .inner .avator .right .min {
        font-family: "Asap", sans-serif;
        color: #999;
        font-size: 10px;
        font-size: 1rem; }
        @media only screen and (min-width: 768px) {
          #sidebar .block-post .inner .avator .right .min {
            font-size: 12px;
            font-size: 1.2rem; } }
        @media print {
          #sidebar .block-post .inner .avator .right .min {
            font-size: 12px;
            font-size: 1.2rem; } }
  #sidebar .block-post .inner .content .date {
    line-height: 1;
    font-family: "Asap", sans-serif;
    font-weight: bold;
    color: #00a0e9;
    font-size: 10px;
    font-size: 1rem; }
    @media only screen and (min-width: 768px) {
      #sidebar .block-post .inner .content .date {
        font-size: 13px;
        font-size: 1.3rem; } }
    @media print {
      #sidebar .block-post .inner .content .date {
        font-size: 13px;
        font-size: 1.3rem; } }
  #sidebar .block-post .inner .content .ttl {
    font-weight: bold;
    line-height: 1.4;
    font-size: 14px;
    font-size: 1.4rem; }
    @media only screen and (min-width: 768px) {
      #sidebar .block-post .inner .content .ttl {
        font-size: 16px;
        font-size: 1.6rem; } }
    @media print {
      #sidebar .block-post .inner .content .ttl {
        font-size: 16px;
        font-size: 1.6rem; } }
    #sidebar .block-post .inner .content .ttl a {
      color: #111;
      transition: color 0.15s linear; }
      #sidebar .block-post .inner .content .ttl a:hover {
        color: #44bef6; }

.searchform {
  position: relative; }
  .searchform .searchfield {
    font-size: 14px;
    width: 100%;
    padding: 15px;
    border: none;
    border-radius: 3px;
    background-color: #fff;
    border: 1px solid #eee; }
  .searchform .searchsubmit {
    font-family: FontAwesome;
    font-size: 20px;
    position: absolute;
    top: 0;
    right: 10px;
    margin-top: 10px;
    padding: 0;
    cursor: pointer;
    color: #111;
    border: none;
    background: transparent; }
    .searchform .searchsubmit:hover {
      opacity: .6; }