@charset "UTF-8";
/* common — 元: module/common/css/common.css, module/sp_menu/css/component.css */

/* ---- module/common/css/style.css ---- */
@media screen and (min-width: 741px), print {
  /* CSS Document */

  /* ============================
		Reset
 ============================ */

  * {
    margin: 0;
    padding: 0;
  }

  html,
  body,
  div,
  span,
  object,
  iframe,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  blockquote,
  pre,
  abbr,
  address,
  cite,
  code,
  del,
  dfn,
  em,
  img,
  ins,
  kbd,
  q,
  samp,
  small,
  strong,
  sub,
  sup,
  var,
  b,
  i,
  dl,
  dt,
  dd,
  ol,
  ul,
  li,
  fieldset,
  form,
  label,
  legend,
  table,
  caption,
  tbody,
  tfoot,
  thead,
  tr,
  th,
  td,
  article,
  aside,
  canvas,
  details,
  figcaption,
  figure,
  footer,
  header,
  hgroup,
  menu,
  nav,
  section,
  summary,
  time,
  mark,
  audio,
  video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
  }

  body {
    font-family:
      "Noto Sans Japanese", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ",
      "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 500;
    background-color: #fff;
    font-size: 14px;
    line-height: 1em;
    text-align: left;
  }

  .container {
    width: 1100px;
    margin-left: auto;
    margin-right: auto;
  }

  a {
    text-decoration: none;
  }
  a:hover {
    opacity: 0.5;
  }

  a img {
    border: 0;
    text-decoration: none;
  }

  a img:hover.link {
    filter: alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
  }

  .allClear {
    clear: both;
  }

  .cf:before,
  .cf:after {
    content: "";
    display: table;
  }
  .cf:after {
    clear: both;
  }
  /*IE6,7対策 （haslayout対策）*/
  .cf {
    *zoom: 1;
  }

  .pcDisplayNone {
    display: none;
  }
  .spDisplayNone {
  }

  li {
    list-style: none;
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  p,
  ul,
  li,
  dl,
  dt,
  dd {
    line-height: 1.5em;
  }

  /*  selectメニューのカスタマイズ例 */

  select {
    -moz-appearance: none;
    -webkit-box-sizing: content-box;
    -webkit-appearance: button;
    appearance: button;
    font-size: 14px;
    color: #fff;
    text-align: center;
    padding: 10px 60px 10px 50px;
    border: none;
    background-color: #c6ad7d;
    border-radius: 0;
    background-repeat: no-repeat;
    background-position: right center;
  }
  select::-ms-expand {
    display: none;
  }

  /* ============================
	header
============================ */

  .headerFixedBlock {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
  }

  article {
    padding-top: 173px;
  }

  header {
    background: #5dbbc9;
  }

  header .container {
    position: relative;
    height: 0;
  }

  header .container .logo {
    position: absolute;
    top: 22px;
    left: 0;
  }

  header .name {
    position: absolute;
    top: 13px;
    left: 163px;
    padding: 5px 0 5px 9px;
    border-left: 1px solid #fff;
  }

  header .name .majorSubject {
    display: block;
    font-size: 13px;
    font-weight: bold;
    color: #fff;
    line-height: 1em;
    margin-bottom: 2px;
  }

  header .name .course {
    display: block;
    font-size: 31px;
    font-weight: bold;
    color: #fff;
    line-height: 1em;
  }

  header .name a {
    display: block;
    color: #fff;
  }

  header .name a:hover {
    filter: alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
  }

  .smartMenu {
    display: none;
  }

  /* ============================
	nav
============================ */

  .smartMenu,
  .drawer-navbar {
    display: none;
  }

  /* ============================
	crumb
============================ */

  .crumb {
    padding: 5px 0;
    background-color: #e8e8e8;
    margin-bottom: 60px;
  }

  .crumb li {
    float: left;
    background-image: url(../images/common/mark_crumb001.png);
    background-repeat: no-repeat;
    background-position: 10px center;
    padding-left: 25px;
  }

  .crumb li.home {
    background-image: none;
    padding-left: 0;
  }

  .crumb li a {
    color: #000;
  }

  /* ============================
	article
============================ */

  article {
  }

  /* ============================
	footer
============================ */

  footer {
    padding-bottom: 20px;
  }

  footer .footerNav {
    border-top: 1px solid #bfbfbf;
    border-bottom: 1px solid #bfbfbf;
    padding: 20px;
    text-align: center;
  }

  footer .footerNav li {
    display: inline-block;
  }

  footer .footerNav li a {
    padding: 0 25px;
    color: #000;
  }

  footer .footerNav li a:after {
    content: ">";
    margin-left: 3px;
  }

  footer .name {
    padding: 20px 0 0 0;
    margin-bottom: 10px;
  }

  footer .name a {
    color: #000;
  }
  footer .name .majorSubject {
    font-size: 13px;
    display: block;
    margin-bottom: 3px;
  }
  footer .name .course {
    font-size: 16px;
    display: block;
  }

  footer .address {
    font-size: 12px;
  }
  footer .address span {
    margin-left: 10px;
  }

  footer .copyFooter {
    position: relative;
    padding-top: 15px;
  }

  footer .footerLogo {
    position: absolute;
    display: block;
    top: 0;
    right: 0;
  }

  footer .copyright {
    font-size: 10px;
  }
}

/* ---- module/common/css/smart.css ---- */
@media screen and (max-width: 740px) {
  /* CSS Document */

  /* ============================
		Reset
 ============================ */

  * {
    margin: 0;
    padding: 0;
  }

  html,
  body,
  div,
  span,
  object,
  iframe,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  blockquote,
  pre,
  abbr,
  address,
  cite,
  code,
  del,
  dfn,
  em,
  img,
  ins,
  kbd,
  q,
  samp,
  small,
  strong,
  sub,
  sup,
  var,
  b,
  i,
  dl,
  dt,
  dd,
  ol,
  ul,
  li,
  fieldset,
  form,
  label,
  legend,
  table,
  caption,
  tbody,
  tfoot,
  thead,
  tr,
  th,
  td,
  article,
  aside,
  canvas,
  details,
  figcaption,
  figure,
  footer,
  header,
  hgroup,
  menu,
  nav,
  section,
  summary,
  time,
  mark,
  audio,
  video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
  }

  body {
    font-family: "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, Verdana, sans-serif;
    background-color: #fff;
    font-size: 12px;
    line-height: 1em;
    text-align: left;
  }

  .container {
    width: 320px;
    margin-left: auto;
    margin-right: auto;
  }

  a {
    text-decoration: none;
  }

  a img {
    border: 0;
    text-decoration: none;
  }

  .allClear {
    clear: both;
  }

  .cf:before,
  .cf:after {
    content: "";
    display: table;
  }
  .cf:after {
    clear: both;
  }
  /*IE6,7対策 （haslayout対策）*/
  .cf {
    *zoom: 1;
  }

  .spDisplayNone {
    display: none;
  }

  .pcDisplayNone {
  }

  li {
    list-style: none;
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  p,
  ul,
  li,
  dl,
  dt,
  dd {
    line-height: 1.5em;
  }

  /*  selectメニューのカスタマイズ例 */

  select {
    -moz-appearance: none;
    -webkit-box-sizing: content-box;
    -webkit-appearance: button;
    appearance: button;
    font-size: 14px;
    color: #fff;
    text-align: center;
    padding: 10px 60px 10px 50px;
    border: none;
    background-color: #c6ad7d;
    border-radius: 0;
    background-repeat: no-repeat;
    background-position: right center;
  }
  select::-ms-expand {
    display: none;
  }

  /* ============================
	header
============================ */

  header {
    background: #5dbbc9;
    height: 51px;
    position: fixed;
    width: 100%;
    z-index: 100;
  }

  header .container {
    position: relative;
    height: 0;
  }

  header .logo {
    position: absolute;
    top: 15px;
    z-index: 50;
  }
  header .logo img {
    width: 77px;
    height: auto;
  }

  header .name {
    position: absolute;
    top: 8px;
    left: 85px;
    border-left: 1px solid #fff;
    padding-left: 6px;
    padding-bottom: 5px;
    z-index: 50;
  }

  header .name a {
    color: #fff;
  }

  header .name .majorSubject {
    display: block;
    font-size: 10px;
    margin-bottom: 5px;
  }

  header .name .course {
    display: block;
    font-size: 18px;
  }

  /* ============================
		header - menu
 ============================ */

  .drawer-navbar .drawer-navbar-header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
  }

  .fixed {
    position: fixed;
    top: 0px;
    z-index: 999;
    background: #5dbbc9;
    height: 51px;
    width: 100%;
  }

  /* ============================
	crumb
============================ */

  .crumb {
    display: none;
  }

  /* ============================
	article
============================ */

  article {
    padding-top: 51px;
  }

  .topPage article {
    padding-top: 0px;
  }

  /* ============================
	footer
============================ */

  footer {
    padding-bottom: 20px;
  }

  .smartWidthAuto {
    width: 100%;
  }

  footer .footerNav {
  }

  footer .footerNav li {
    background-color: #eaeaea;
    border-bottom: 1px solid #fff;
  }

  footer .footerNav li a {
    display: block;
    /*	width:292px;*/
    width: 292px;
    margin: 0 auto;
    /*	padding:14px;*/
    padding: 14px 0;
    font-size: 14px;
    font-weight: bold;
    color: #000;
  }

  footer .footerNav li a:after {
    content: ">";
    margin-left: 3px;
  }

  footer .name {
    padding: 10px 0 0 0;
    margin-bottom: 5px;
  }

  footer .name a {
    color: #000;
  }
  footer .name .majorSubject {
    font-size: 12px;
    font-weight: bold;
    display: block;
    margin-bottom: 3px;
  }
  footer .name .course {
    font-size: 14px;
    font-weight: bold;
    display: block;
  }

  footer .address {
    font-size: 12px;
    font-weight: bold;
  }
  footer .address span {
    display: block;
  }

  footer .copyFooter {
    position: relative;
    padding-top: 10px;
    padding-right: 115px;
  }

  footer .footerLogo {
    position: absolute;
    display: block;
    top: 20px;
    left: 210px;
  }

  footer .copyright {
    font-size: 10px;
  }
}

/* ---- module/common/css/menu.css ---- */
@media screen {
  /* CSS Document */

  /* ============================
		#menu
 ============================ */

  @media screen and (min-width: 741px) {
    /*****グローバルメニュー****/
    #menu {
      width: 100%;
      margin: 0px auto;
      background: #5dbbc9; /*７*/
    }

    #menu-inner {
      width: 630px; /*１*/
      height: 82px; /*２*/
      margin: 0 auto;
      background: #5dbbc9; /*８*/
      padding-left: 470px;
    }
    #menu-btn {
      display: none;
    }
    #menu-content {
      padding-left: 0;
      margin: 0;
      /*    width: 100%;*/
      height: 100%;
      list-style-type: none;
    }
    #menu-content > li {
      position: relative;
      float: left;
      height: 100%;
      text-align: left;
    }
    #menu-content > li > a {
      position: relative;
      display: block;
      height: 100%;
      padding-left: 15px; /*３*/
      padding-right: 15px; /*３*/
      line-height: 82px; /*２*/
      background: #5dbbc9; /*９*/
      color: #fff; /*10*/
      font-size: 15px;
      font-weight: bold;
      text-decoration: none;
      z-index: 2;
    }

    #menu-content > li > a .inner {
      display: inline-block;
      line-height: 1em;
      position: relative;
      top: 10px;
    }

    #menu-content > li > a.current {
      background: #187d83; /*11*/
    }

    #menu-content > li > a:hover {
      background: #187d83; /*11*/
      color: #fff; /*12*/
      opacity: 1;
    }
    #menu-content > li > a > .blogicon-chevron-down {
      margin-right: 5px;
    }
    /*２階層目*/
    #menu-content > li > ul.second-content {
      visibility: hidden;
      position: absolute;
      top: 0;
      margin: 0;
      padding-left: 0;
      list-style-type: none;
      z-index: -1;
    }
    #menu-content > li:hover > ul.second-content {
      visibility: visible;
      top: 70px; /*2*/
      z-index: 1;
      transition: all 0.3s;
    }
    #menu-content > li > ul.second-content > li {
      text-align: left;
      width: 240px; /*４*/
      height: auto; /*５*/
    }
    #menu-content > li > ul.second-content > li > a {
      display: block;
      /*    line-height: 40px;/*５*/
      height: auto; /*５*/
      background: #e3e3e3; /*13*/
      color: #000; /*14*/
      font-size: 12px;
      text-decoration: none;
      padding: 10px;
      padding-left: 20px;
      line-height: 1.2em;
    }

    #menu-content > li > ul.second-content > li:first-child > a {
      padding-top: 30px;
    }
    #menu-content > li > ul.second-content > li:last-child > a {
      padding-bottom: 30px;
    }

    #menu-content > li > ul.second-content > li.thirdMenu > a {
      padding-left: 30px !important;
    }

    #menu-content > li > ul.second-content > li > a:hover {
      background: #e3e3e3; /*15*/
      color: #000; /*16*/
      opacity: 1;
    }
  }

  /*******トグルメニュ*********/
  @media screen and (max-width: 741px) {
    /*19*/

    #menu {
      display: none;
    }
  }
}

/* ---- module/common/css/margin.css ---- */
@media screen {
  /* CSS Document */

  /* ------ margin class ------ */

  .mr00 {
    margin-right: 0px;
  }
  .mr01 {
    margin-right: 1px;
  }
  .mr02 {
    margin-right: 2px;
  }
  .mr03 {
    margin-right: 3px;
  }
  .mr04 {
    margin-right: 4px;
  }
  .mr05 {
    margin-right: 5px;
  }
  .mr06 {
    margin-right: 6px;
  }
  .mr07 {
    margin-right: 7px;
  }
  .mr08 {
    margin-right: 8px;
  }
  .mr09 {
    margin-right: 9px;
  }
  .mr10 {
    margin-right: 10px;
  }
  .mr11 {
    margin-right: 11px;
  }
  .mr12 {
    margin-right: 12px;
  }
  .mr13 {
    margin-right: 13px;
  }
  .mr14 {
    margin-right: 14px;
  }
  .mr15 {
    margin-right: 15px;
  }
  .mr20 {
    margin-right: 20px;
  }
  .mr25 {
    margin-right: 25px;
  }
  .mr30 {
    margin-right: 30px;
  }
  .mr35 {
    margin-right: 35px;
  }
  .mr40 {
    margin-right: 40px;
  }
  .mr45 {
    margin-right: 45px;
  }
  .mr50 {
    margin-right: 50px;
  }

  .ml00 {
    margin-left: 0px;
  }
  .ml01 {
    margin-left: 1px;
  }
  .ml02 {
    margin-left: 2px;
  }
  .ml03 {
    margin-left: 3px;
  }
  .ml04 {
    margin-left: 4px;
  }
  .ml05 {
    margin-left: 5px;
  }
  .ml06 {
    margin-left: 6px;
  }
  .ml07 {
    margin-left: 7px;
  }
  .ml08 {
    margin-left: 8px;
  }
  .ml09 {
    margin-left: 9px;
  }
  .ml10 {
    margin-left: 10px;
  }
  .ml11 {
    margin-left: 11px;
  }
  .ml12 {
    margin-left: 12px;
  }
  .ml13 {
    margin-left: 13px;
  }
  .ml14 {
    margin-left: 14px;
  }
  .ml15 {
    margin-left: 15px;
  }
  .ml20 {
    margin-left: 20px;
  }
  .ml25 {
    margin-left: 25px;
  }
  .ml30 {
    margin-left: 30px;
  }
  .ml35 {
    margin-left: 35px;
  }
  .ml40 {
    margin-left: 40px;
  }
  .ml45 {
    margin-left: 45px;
  }
  .ml50 {
    margin-left: 50px;
  }

  .mt01 {
    margin-top: 1px;
  }
  .mt02 {
    margin-top: 2px;
  }
  .mt03 {
    margin-top: 3px;
  }
  .mt04 {
    margin-top: 4px;
  }
  .mt05 {
    margin-top: 5px;
  }
  .mt06 {
    margin-top: 6px;
  }
  .mt07 {
    margin-top: 7px;
  }
  .mt08 {
    margin-top: 8px;
  }
  .mt09 {
    margin-top: 9px;
  }
  .mt10 {
    margin-top: 10px;
  }
  .mt11 {
    margin-top: 11px;
  }
  .mt12 {
    margin-top: 12px;
  }
  .mt13 {
    margin-top: 13px;
  }
  .mt14 {
    margin-top: 14px;
  }
  .mt15 {
    margin-top: 15px;
  }
  .mt20 {
    margin-top: 20px;
  }
  .mt25 {
    margin-top: 25px;
  }
  .mt30 {
    margin-top: 30px;
  }
  .mt30 {
    margin-top: 35px;
  }
  .mt40 {
    margin-top: 40px;
  }
  .mt45 {
    margin-top: 45px;
  }
  .mt50 {
    margin-top: 50px;
  }

  .mb01 {
    margin-bottom: 1px;
  }
  .mb02 {
    margin-bottom: 2px;
  }
  .mb03 {
    margin-bottom: 3px;
  }
  .mb04 {
    margin-bottom: 4px;
  }
  .mb05 {
    margin-bottom: 5px;
  }
  .mb06 {
    margin-bottom: 6px;
  }
  .mb07 {
    margin-bottom: 7px;
  }
  .mb08 {
    margin-bottom: 8px;
  }
  .mb09 {
    margin-bottom: 9px;
  }
  .mb10 {
    margin-bottom: 10px;
  }
  .mb11 {
    margin-bottom: 11px;
  }
  .mb12 {
    margin-bottom: 12px;
  }
  .mb13 {
    margin-bottom: 13px;
  }
  .mb14 {
    margin-bottom: 14px;
  }
  .mb15 {
    margin-bottom: 15px;
  }
  .mb20 {
    margin-bottom: 20px;
  }
  .mb25 {
    margin-bottom: 25px;
  }
  .mb30 {
    margin-bottom: 30px;
  }
  .mb35 {
    margin-bottom: 35px;
  }
  .mb40 {
    margin-bottom: 40px;
  }
  .mb45 {
    margin-bottom: 45px;
  }
  .mb50 {
    margin-bottom: 50px;
  }

  .pdr01 {
    padding-right: 1px;
  }
  .pdr02 {
    padding-right: 2px;
  }
  .pdr03 {
    padding-right: 3px;
  }
  .pdr04 {
    padding-right: 4px;
  }
  .pdr05 {
    padding-right: 5px;
  }
  .pdr06 {
    padding-right: 6px;
  }
  .pdr07 {
    padding-right: 7px;
  }
  .pdr08 {
    padding-right: 8px;
  }
  .pdr09 {
    padding-right: 9px;
  }
  .pdr10 {
    padding-right: 10px;
  }
  .pdr11 {
    padding-right: 11px;
  }
  .pdr12 {
    padding-right: 12px;
  }
  .pdr13 {
    padding-right: 13px;
  }
  .pdr14 {
    padding-right: 14px;
  }
  .pdr15 {
    padding-right: 15px;
  }
  .pdr20 {
    padding-right: 20px;
  }
  .pdr25 {
    padding-right: 25px;
  }
  .pdr30 {
    padding-right: 30px;
  }

  .pdl01 {
    padding-left: 1px;
  }
  .pdl02 {
    padding-left: 2px;
  }
  .pdl03 {
    padding-left: 3px;
  }
  .pdl04 {
    padding-left: 4px;
  }
  .pdl05 {
    padding-left: 5px;
  }
  .pdl06 {
    padding-left: 6px;
  }
  .pdl07 {
    padding-left: 7px;
  }
  .pdl08 {
    padding-left: 8px;
  }
  .pdl09 {
    padding-left: 9px;
  }
  .pdl10 {
    padding-left: 10px;
  }
  .pdl11 {
    padding-left: 11px;
  }
  .pdl12 {
    padding-left: 12px;
  }
  .pdl13 {
    padding-left: 13px;
  }
  .pdl14 {
    padding-left: 14px;
  }
  .pdl15 {
    padding-left: 15px;
  }
  .pdl20 {
    padding-left: 20px;
  }
  .pdl25 {
    padding-left: 25px;
  }
  .pdl30 {
    padding-left: 30px;
  }

  .pdt01 {
    padding-top: 1px;
  }
  .pdt02 {
    padding-top: 2px;
  }
  .pdt03 {
    padding-top: 3px;
  }
  .pdt04 {
    padding-top: 4px;
  }
  .pdt05 {
    padding-top: 5px;
  }
  .pdt06 {
    padding-top: 6px;
  }
  .pdt07 {
    padding-top: 7px;
  }
  .pdt08 {
    padding-top: 8px;
  }
  .pdt09 {
    padding-top: 9px;
  }
  .pdt10 {
    padding-top: 10px;
  }
  .pdt11 {
    padding-top: 11px;
  }
  .pdt12 {
    padding-top: 12px;
  }
  .pdt13 {
    padding-top: 13px;
  }
  .pdt14 {
    padding-top: 14px;
  }
  .pdt15 {
    padding-top: 15px;
  }
  .pdt20 {
    padding-top: 20px;
  }
  .pdt25 {
    padding-top: 25px;
  }
  .pdt30 {
    padding-top: 30px;
  }

  .pdb01 {
    padding-bottom: 1px;
  }
  .pdb02 {
    padding-bottom: 2px;
  }
  .pdb03 {
    padding-bottom: 3px;
  }
  .pdb04 {
    padding-bottom: 4px;
  }
  .pdb05 {
    padding-bottom: 5px;
  }
  .pdb06 {
    padding-bottom: 6px;
  }
  .pdb07 {
    padding-bottom: 7px;
  }
  .pdb08 {
    padding-bottom: 8px;
  }
  .pdb09 {
    padding-bottom: 9px;
  }
  .pdb10 {
    padding-bottom: 10px;
  }
  .pdb11 {
    padding-bottom: 11px;
  }
  .pdb12 {
    padding-bottom: 12px;
  }
  .pdb13 {
    padding-bottom: 13px;
  }
  .pdb14 {
    padding-bottom: 14px;
  }
  .pdb15 {
    padding-bottom: 15px;
  }
  .pdb20 {
    padding-bottom: 20px;
  }
  .pdb25 {
    padding-bottom: 25px;
  }
  .pdb30 {
    padding-bottom: 30px;
  }

  .pd01 {
    padding: 1px;
  }
  .pd02 {
    padding: 2px;
  }
  .pd03 {
    padding: 3px;
  }
  .pd04 {
    padding: 4px;
  }
  .pd05 {
    padding: 5px;
  }
  .pd06 {
    padding: 6px;
  }
  .pd07 {
    padding: 7px;
  }
  .pd08 {
    padding: 8px;
  }
  .pd09 {
    padding: 9px;
  }
  .pd10 {
    padding: 10px;
  }
  .pd11 {
    padding: 11px;
  }
  .pd12 {
    padding: 12px;
  }
  .pd13 {
    padding: 13px;
  }
  .pd14 {
    padding: 14px;
  }
  .pd15 {
    padding: 15px;
  }
  .pd20 {
    padding: 20px;
  }
  .pd25 {
    padding: 25px;
  }
  .pd30 {
    padding: 30px;
  }
}

/* ---- module/sp_menu/css/component.css ---- */

/* Common styles of menus */

.dl-menuwrapper {
  width: 320px;
  max-width: 320px;
  float: left;
  position: relative;
  -webkit-perspective: 1000px;
  perspective: 1000px;
  -webkit-perspective-origin: 50% 200%;
  perspective-origin: 50% 200%;
  top: 10px;
  left: -30px;
  z-index: 20;
}

.dl-menuwrapper:first-child {
  margin-right: 120px;
}

.dl-menuwrapper button {
  /*	background: #fff;*/
  border: none;
  width: 48px;
  height: 48px;
  /*	text-indent: -900em;*/
  overflow: hidden;
  position: relative;
  cursor: pointer;
  outline: none;
  top: -8px;
}

.dl-menuwrapper button:hover,
.dl-menuwrapper button.dl-active,
.dl-menuwrapper ul {
  /*	background: #fff;*/
}

.dl-menuwrapper button:after {
  content: "";
  position: absolute;
  width: 68%;
  height: 4px;
  background: #fff;
  top: 10px;
  left: 16%;
  box-shadow:
    0 10px 0 #fff,
    0 20px 0 #fff;
}

.dl-menuwrapper ul {
  padding: 0;
  list-style: none;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  left: -230px;
}

.dl-menuwrapper li {
  line-height: 1em;
}

.dl-menuwrapper li a {
  display: block;
  background-color: #187d83;
  outline: none;
  color: #fff;
  padding: 15px 10px;
  border-bottom: 1px solid #fff;
  font-size: 14px;
  font-weight: bold;
}

.dl-menuwrapper li a span {
  font-size: 10px;
  margin-left: 6px;
}

.no-touch .dl-menuwrapper li a:hover {
  /*	background: rgba(255,248,213,0.1);*/
}

.dl-menuwrapper li.dl-back > a {
  padding-left: 30px;
  /*	background: rgba(0,0,0,0.1);*/
}

.dl-menuwrapper .dl-menu {
  margin: 0;
  position: absolute;
  width: 285px;
  opacity: 0;
  pointer-events: none;
  -webkit-transform: translateY(10px);
  transform: translateY(10px);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.dl-menuwrapper .dl-menu.dl-menu-toggle {
  transition: all 0.3s ease;
}

.dl-menuwrapper .dl-menu.dl-menuopen {
  opacity: 1;
  pointer-events: auto;
  -webkit-transform: translateY(0px);
  transform: translateY(0px);
}

/* Hide the inner submenus */
.dl-menuwrapper li .dl-submenu {
  display: none;
}

/* 
When a submenu is openend, we will hide all li siblings.
For that we give a class to the parent menu called "dl-subview".
We also hide the submenu link. 
The opened submenu will get the class "dl-subviewopen".
All this is done for any sub-level being entered.
*/
.dl-menu.dl-subview li,
.dl-menu.dl-subview li.dl-subviewopen > a,
.dl-menu.dl-subview li.dl-subview > a {
  display: none;
}

.dl-menu.dl-subview li.dl-subview,
.dl-menu.dl-subview li.dl-subview .dl-submenu,
.dl-menu.dl-subview li.dl-subviewopen,
.dl-menu.dl-subview li.dl-subviewopen > .dl-submenu,
.dl-menu.dl-subview li.dl-subviewopen > .dl-submenu > li {
  display: block;
}

/* Dynamically added submenu outside of the menu context */
.dl-menuwrapper > .dl-submenu {
  position: absolute;
  width: 100%;
  top: 50px;
  left: 0;
  margin: 0;
}

/* Colors for demos */

/* smartMenu */

.smartMenu {
  /*	width:320px;
	margin:0 auto 0 auto;*/
  margin-top: 0px;
  position: relative;
  z-index: 5;
}

.smartMenu .dl-menuwrapper button {
  /*	background: #fff;*/
  left: 300px;
  position: relative;
  background-color: transparent;
}

.smartMenu .dl-menuwrapper button span {
  /*	position:absolute;
	color:#fff;
	font-size:12px;
	font-weight:bold;
	top:37px;
	left:0;
	width:48px;
	text-align:center;*/
}

.smartMenu .dl-menuwrapper button:hover,
.smartMenu .dl-menuwrapper button.dl-active {
  /*	background: #00378a;*/
  left: 300px;
}

.smartMenu .dl-menuwrapper ul {
  left: 50px;
}

.dl-menu li {
  /*	background-color:rgba(52,78,162,0.8);*/
}
.dl-menu li:nth-child(odd) {
  /*	background-color: rgba(0,55,138,0.8);*/
}

/*	background: rgba(0,0,0,0.1);
*/

.dl-menuwrapper li:last-child a {
  border-bottom: none;
}

/* ================================================================
   スマホ表示の修正（静的化にあたって追加）
   現行サイトで横スクロールが出ていた箇所だけを、はみ出さないように抑える。
   収まっている要素には効かないので、既存の見た目は変わらない。
   ================================================================ */
@media screen and (max-width: 740px) {
  /* .container は幅320px固定。親に余白があると320pxを超えてはみ出す
   （記事ページの .outer が padding:10px を持つケース）。
   画面が広いときは320pxのままなので、表示は変わらない。 */
  .container {
    max-width: 100%;
  }

  /* 記事本文の画像とキャプション。
   WordPressが付けた実寸の width / インラインstyle がそのまま残っており、
   320pxの枠を超える画像がある。今後ユーザーが追加する画像にも効く。 */
  .blogBody img,
  .blogBody .wp-caption {
    max-width: 100%;
    height: auto;
  }

  /* 本文にURLがそのまま書かれている記事がある。
   長い英数字は途中で折り返さないと画面からはみ出す。 */
  .blogBody {
    overflow-wrap: break-word;
    word-break: break-word;
  }

  /* 記事本文に貼り付けられた padding-left（他サイトからのコピペで混入したもの。
   最大160px）。狭い画面では字下げの余地が無いので効かせない。 */
  .blogBody [style*="padding-left"] {
    padding-left: 0 !important;
  }

  /* 学びの1日ページの下部写真。
   005 と 007 だけ元のCSSに幅指定が無く、実寸のまま表示されてはみ出していた。 */
  .studyPage .studyHope figure img {
    max-width: 100%;
    height: auto;
  }
}

/* 交通アクセスの表。セルが「幅320px + padding 20px = 340px」になり、
   画面幅がちょうど320pxの端末でだけ横スクロールが出ていた。
   375px以上の端末では現状のままにしたいので、狭い端末に限って内側に詰める。 */
@media screen and (max-width: 360px) {
  /* 表の中身の最小幅に引っ張られて枠が広がるので、幅を画面に合わせて固定する */
  .accessPage table {
    table-layout: fixed;
    width: 100%;
    max-width: 100%;
  }

  .accessPage th,
  .accessPage td {
    box-sizing: border-box;
  }

  /* お問い合わせ表の中の定義リストが幅320px固定で、
   セルのpaddingぶん（20px）だけ表全体を押し広げていた。 */
  .accessPage table dl,
  .accessPage table dt,
  .accessPage table dd {
    width: auto;
    max-width: 100%;
  }
}
