@charset "UTF-8";
/* sets the base font to 10px for easier math */
@font-face {
  font-family: 'mplus-1p-regular';
  src: url("/contents/themes/common/fonts/mplus-1p/regular/mplus-1p-regular.eot");
  src: url("/contents/themes/common/fonts/mplus-1p/regular/mplus-1p-regular.eot?#iefix") format("embedded-opentype"), url("/contents/themes/common/fonts/mplus-1p/regular/mplus-1p-regular.woff") format("woff"), url("/contents/themes/common/fonts/mplus-1p/regular/mplus-1p-regular.ttf") format("truetype");
  /* Safari, Android, iOS */
}
@font-face {
  font-family: 'mplus-1p-heavy';
  src: url("/contents/themes/common/fonts/mplus-1p/heavy/mplus-1p-heavy.eot");
  src: url("/contents/themes/common/fonts/mplus-1p/heavy/mplus-1p-heavy.eot?#iefix") format("embedded-opentype"), url("/contents/themes/common/fonts/mplus-1p/heavy/mplus-1p-heavy.woff") format("woff"), url("/contents/themes/common/fonts/mplus-1p/heavy/mplus-1p-heavy.ttf") format("truetype");
  /* Safari, Android, iOS */
}
@font-face {
  font-family: 'mplus-1p-bold';
  src: url("/contents/themes/common/fonts/mplus-1p/bold/mplus-1p-bold.eot");
  src: url("/contents/themes/common/fonts/mplus-1p/bold/mplus-1p-bold.eot?#iefix") format("embedded-opentype"), url("/contents/themes/common/fonts/mplus-1p/bold/mplus-1p-bold.woff") format("woff"), url("/contents/themes/common/fonts/mplus-1p/bold/mplus-1p-bold.ttf") format("truetype");
  /* Safari, Android, iOS */
}
/*----------------------------------------------------
    768px以下
----------------------------------------------------*/
@media screen and (max-width: 768px) {
  html body.Android3 header #header--wrap nav ul li {
    width: 48%;
  }

  html {
    font-size: 62.5%;
  }
  html body {
    min-width: none !important;
    -moz-background-size: 200%;
    -o-background-size: 200%;
    -webkit-background-size: 200%;
    background-size: 200%;
  }
  html body * {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.3;
  }
  html body .no_post_msg {
    font-size: 16px;
    font-size: 1.6rem;
  }
  html body .sp-disp {
    display: block;
  }
  html body .pc-disp {
    display: none;
  }
  html body section {
    width: 100%;
  }

  /*----------------------------------------------------
  	header
  ----------------------------------------------------*/
  header {
    min-height: 0;
  }
  header #header--wrap {
    position: relative;
    padding: 0;
    height: 100px;
  }
  header #header--wrap .inner {
    width: 100%;
    margin: 0;
    padding: 8px 0 6px;
  }
  header #header--wrap .inner p.logo {
    padding: 0 0 0 15px;
    position: static;
    float: left;
  }
  header #header--wrap .inner p.logo img {
    height: 80px;
  }
  header #header--wrap .inner p.menu-btn {
    background: url(../images/sp/header_ico_menu.png) no-repeat;
    margin: 18px 22px 0 0;
    float: right;
    width: 33px;
    height: 45px;
  }
  header #header--wrap nav {
    display: none;
    background-color: #fff;
  }
  header #header--wrap nav ul {
    min-height: 1px;
    width: 100%;
    text-align: left;
    border-bottom: 1px solid #ccdeee;
  }
  header #header--wrap nav ul:after {
    content: " ";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
  }
  header #header--wrap nav ul li {
    width: 50%;
    padding: 0;
    display: block;
    float: left;
    border-bottom: 1px solid #ccdeee;
  }
  header #header--wrap nav ul li:nth-child(odd) {
    border-right: 1px solid #ccdeee;
  }
  header #header--wrap nav ul li:last-child {
    border-bottom: none;
  }
  header #header--wrap nav ul li a {
    width: 100%;
    padding: 16px;
  }
  header #header--wrap ul.social {
    position: absolute;
    top: 26px;
    right: 79px;
    font-size: 0;
  }
  header #header--wrap ul.social li {
    display: inline-block;
    margin: 0 0 0 16px;
  }
  header #header--wrap ul.social li a {
    line-height: 40px;
  }
  header #header--wrap ul.to_teacher {
    display: none;
    width: 100%;
    background-color: #fff;
    text-align: center;
    padding: 10px 5px;
    position: static;
  }
  header #header--wrap ul.to_teacher li {
    width: 50%;
    height: 15vw;
    padding: 0 5px;
    margin: 0;
  }
  header #header--wrap ul.to_teacher li a {
    width: 100%;
    height: 100%;
    line-height: 4.4vw;
    font-size: 3.4vw;
    padding: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  header #header--wrap ul.to_teacher li a.l01 {
    line-height: 8.2vw;
  }
  header #header--wrap ul.shoplink {
    display: none;
    width: 100%;
    background-color: #fff;
    text-align: center;
    padding: 0 5px 10px;
    position: static;
  }
  header #header--wrap ul.shoplink li {
    width: 50%;
    padding: 0 5px;
    margin: 0 0 20px;
    float: left;
  }
    header #header--wrap ul.shoplink li:nth-child(2n) {
    float: right;
  }
  header #header--wrap ul.shoplink li a {
    width: 100%;
    background-position: center 15px;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 4.8vw;
    font-size: 3.8vw;
    background: none;
    background-color: #005bac;
    padding: 10px 5px 8px;
  }
  header #header--wrap ul.shoplink li a:before {
    content: "";
    display: block;
    width: 54px;
    height: 37px;
    margin: 0 auto 10px;
  }
  header #header--wrap ul.shoplink li a {
    background-color: #005bac!important;
  }
  header #header--wrap ul.shoplink li a.l01 {
    padding: 10px 5px 8px!important;
  }
  header #header--wrap ul.shoplink li a.l01:before {
    background: url(../images/sp/common/header_img01.png) no-repeat #005bac;
  }
  header #header--wrap ul.shoplink li a.l02:before {
    background: url(../images/sp/common/header_img02.png) no-repeat #005bac;
  }
  header #header--wrap ul.shoplink li a.l03:before {
    background: url(../images/sp/common/header_img03.png) no-repeat #005bac;
  }
  header #header--wrap ul.shoplink li a.l04:before {
    background: url(../images/sp/common/header_img04-1.png) no-repeat #005bac!important;
  }
  header #header--wrap.header--min ul.shoplink li a {
    padding: 10px 5px 8px!important;
  }

  header #header--wrap.header--min ul.to_teacher {
    padding:10px 5px;
  }

  header #header--wrap.header--min ul.to_teacher li a.l01 {
    padding-bottom: 1rem;
    padding: 11px;
  }
    /* ▼header--min */
  header #header--wrap.header--min ul.shoplink li {
    margin: 0 0 20px;
  }
  header #header--wrap.header--min ul.shoplink li a {
    font-size: 3.8vw;
  }
  header #header--wrap.header--min ul.shoplink li a.l01,
  header #header--wrap.header--min ul.shoplink li a.l02,
  header #header--wrap.header--min ul.shoplink li a.l03,
  header #header--wrap.header--min ul.shoplink li a.l04 {
    background:none;
    width: 100%!important;
    
  }


  header #header--wrap.header--min ul.to_teacher li a.l01,
  header #header--wrap.header--min ul.to_teacher li a.l02,
  header #header--wrap.header--min ul.to_teacher li a.l03,
  header #header--wrap.header--min ul.to_teacher li a.l04 {
    width: 100%;
  }


  /*----------------------------------------------------
  	page.php
  ----------------------------------------------------*/
  .wrap .inner .contents section {
    margin: 0 0 40px;
    padding: 40px 0 0;
  }
  .wrap .inner .contents section:last-child {
    margin: 0;
  }

  .page-parent .titleArea {
    height: auto;
  }
  .page-parent .titleArea p, .page-parent .titleArea h1 {
    padding: 106px 20px 20px;
    letter-spacing: 0;
    width: 100%;
    font-size: 24px;
    font-size: 2.4rem;
  }
  .page-parent .titleArea p em, .page-parent .titleArea h1 em {
    font-size: 24px;
    font-size: 2.4rem;
    padding: 0 10px 0 0;
  }

  .page-child .titleArea {
    height: auto;
  }
  .page-child .titleArea p, .page-child .titleArea h1 {
    padding: 106px 20px 20px;
    letter-spacing: 2px;
    width: 100%;
    font-size: 24px;
    font-size: 2.4rem;
  }

  .page .titleArea + .wrap, .archive .titleArea + .wrap, .single .titleArea + .wrap, .error404 .titleArea + .wrap {
    padding: 40px 0 0;
  }
  .page .wrap, .archive .wrap, .single .wrap, .error404 .wrap {
    padding: 40px 0 0;
  }
  .page .wrap .inner, .archive .wrap .inner, .single .wrap .inner, .error404 .wrap .inner {
    width: 100%;
    padding-bottom: 50px;
  }
  .page .wrap .inner .contents, .archive .wrap .inner .contents, .single .wrap .inner .contents, .error404 .wrap .inner .contents {
    width: 100%;
    padding: 0 20px 40px;
  }
  .page .wrap .inner .contents .campaign_page, .archive .wrap .inner .contents .campaign_page, .single .wrap .inner .contents .campaign_page, .error404 .wrap .inner .contents .campaign_page {
    text-align: center;
    width: 100%;
    margin: auto;
  }
  .page .wrap .inner .contents .campaign_page img, .archive .wrap .inner .contents .campaign_page img, .single .wrap .inner .contents .campaign_page img, .error404 .wrap .inner .contents .campaign_page img {
    width: 100%;
  }
  .page .wrap .inner .contents p.lead, .archive .wrap .inner .contents p.lead, .single .wrap .inner .contents p.lead, .error404 .wrap .inner .contents p.lead {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.6;
    margin: 20px 0 40px;
  }
  .page .wrap .inner .contents p.link, .archive .wrap .inner .contents p.link, .single .wrap .inner .contents p.link, .error404 .wrap .inner .contents p.link {
    text-align: center;
  }
  .page .wrap .inner .contents p, .archive .wrap .inner .contents p, .single .wrap .inner .contents p, .error404 .wrap .inner .contents p {
    line-height: 1.5;
  }
  .page .wrap .inner .contents ul.contentslink, .archive .wrap .inner .contents ul.contentslink, .single .wrap .inner .contents ul.contentslink, .error404 .wrap .inner .contents ul.contentslink {
    font-size: 0px;
    font-size: 0rem;
    width: 100%;
    margin: 0 auto;
  }
  .page .wrap .inner .contents ul.contentslink li, .archive .wrap .inner .contents ul.contentslink li, .single .wrap .inner .contents ul.contentslink li, .error404 .wrap .inner .contents ul.contentslink li {
    width: 50%;
    margin: 0;
    padding: 2%;
  }
  .page .wrap .inner .sidebar, .archive .wrap .inner .sidebar, .single .wrap .inner .sidebar, .error404 .wrap .inner .sidebar {
    padding: 40px 20px 0;
    border-top: 1px solid #ddd;
  }
  .page .wrap .inner .sidebar p.ttl, .archive .wrap .inner .sidebar p.ttl, .single .wrap .inner .sidebar p.ttl, .error404 .wrap .inner .sidebar p.ttl {
    font-size: 16px;
    font-size: 1.6rem;
    padding: 0;
    margin-bottom: 20px;
    text-align: center;
  }
  .page .wrap .inner .sidebar dl, .archive .wrap .inner .sidebar dl, .single .wrap .inner .sidebar dl, .error404 .wrap .inner .sidebar dl {
    margin: 0 0 20px;
    padding: 0;
  }
  .page .wrap .inner .sidebar dl dt, .archive .wrap .inner .sidebar dl dt, .single .wrap .inner .sidebar dl dt, .error404 .wrap .inner .sidebar dl dt {
    font-size: 20px;
    font-size: 2rem;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border-radius: 4px;
    line-height: 2;
    padding-left: 10px;
  }
  .page .wrap .inner .sidebar dl dt:after, .archive .wrap .inner .sidebar dl dt:after, .single .wrap .inner .sidebar dl dt:after, .error404 .wrap .inner .sidebar dl dt:after {
    display: none;
  }
  .page .wrap .inner .sidebar dl dd, .archive .wrap .inner .sidebar dl dd, .single .wrap .inner .sidebar dl dd, .error404 .wrap .inner .sidebar dl dd {
    display: none;
    margin-bottom: 15px;
  }
  .page .wrap .inner .sidebar dl dd:before, .archive .wrap .inner .sidebar dl dd:before, .single .wrap .inner .sidebar dl dd:before, .error404 .wrap .inner .sidebar dl dd:before {
    content: "●";
    color: #005bac;
    font-size: 5vw;
    vertical-align: top;
    float: left;
    width: 6%;
    line-height: 10px;
    padding: 5px 0 0;
  }
  .page .wrap .inner .sidebar dl dd.pref, .archive .wrap .inner .sidebar dl dd.pref, .single .wrap .inner .sidebar dl dd.pref, .error404 .wrap .inner .sidebar dl dd.pref {
    font-weight: normal;
    border-bottom: 2px solid #bbb;
    font-size: 16px;
    font-size: 1.6rem;
    padding: 10px;
    margin-bottom: 20px;
  }
  .page .wrap .inner .sidebar dl dd.pref:before, .archive .wrap .inner .sidebar dl dd.pref:before, .single .wrap .inner .sidebar dl dd.pref:before, .error404 .wrap .inner .sidebar dl dd.pref:before {
    display: none;
  }
  .page .wrap .inner .sidebar dl dd a, .archive .wrap .inner .sidebar dl dd a, .single .wrap .inner .sidebar dl dd a, .error404 .wrap .inner .sidebar dl dd a {
    font-size: 16px;
    font-size: 1.6rem;
    float: left;
    width: 94%;
    line-height: 21px;
  }
  .page .wrap .inner .sidebar dl dd ul, .archive .wrap .inner .sidebar dl dd ul, .single .wrap .inner .sidebar dl dd ul, .error404 .wrap .inner .sidebar dl dd ul {
    display: none;
  }
  .page .wrap .inner .sidebar dl dd a, .archive .wrap .inner .sidebar dl dd a, .single .wrap .inner .sidebar dl dd a, .error404 .wrap .inner .sidebar dl dd a {
    float: none;
    width: auto;
    line-height: 1.4;
  }
  .page .wrap .inner .sidebar ul.banner, .archive .wrap .inner .sidebar ul.banner, .single .wrap .inner .sidebar ul.banner, .error404 .wrap .inner .sidebar ul.banner {
    display: inline;
  }
  .page .wrap .inner .sidebar ul.banner li, .archive .wrap .inner .sidebar ul.banner li, .single .wrap .inner .sidebar ul.banner li, .error404 .wrap .inner .sidebar ul.banner li {
    float: none;
    width: 49%;
    display: inline-block;
    margin: 0 0 1.5%;
  }
  .page .wrap .inner .sidebar ul.banner li img, .archive .wrap .inner .sidebar ul.banner li img, .single .wrap .inner .sidebar ul.banner li img, .error404 .wrap .inner .sidebar ul.banner li img {
    width: 100%;
  }

  /*----------------------------------------------------
  	footer
  ----------------------------------------------------*/
  body #content--pagetop a {
    height: 50px;
    line-height: 50px;
  }
  body footer .footernav-wrap {
    width: 100%;
    padding: 40px 0 10px;
  }
  body footer .footernav-wrap p.logo {
    display: none;
  }
  body footer .footernav-wrap ul.shoplink {
    width: 100%;
    background-color: #fff;
    text-align: center;
    padding: 0 5px 10px;
    position: static;
    margin: 0 0 40px;
  }
  body footer .footernav-wrap ul.shoplink li {
    width: 33%;
    padding: 0 5px;
    margin: 0;
    background-color: #fff;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
  }
  body footer .footernav-wrap ul.shoplink li a {
    width: 100% !important;
    background-position: center 15px;
    font-size: 15px;
    font-size: 1.5rem;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    line-height: 4.8vw;
    font-size: 3.8vw;
    background: none #005bac !important;
    background-color: #005bac;
    padding: 10px 5px 8px !important;
  }
  body footer .footernav-wrap ul.shoplink li a:before {
    content: "";
    display: block;
    width: 54px;
    height: 37px;
    margin: 0 auto 10px;
  }
  body footer .footernav-wrap ul.shoplink li a.l01:before {
    background: url(../images/sp/common/header_img01.png) no-repeat;
  }
  body footer .footernav-wrap ul.shoplink li a.l02:before {
    background: url(../images/sp/common/header_img02.png) no-repeat;
  }
  body footer .footernav-wrap ul.shoplink li a.l03:before {
    background: url(../images/sp/common/header_img03.png) no-repeat;
  }
  body footer .footernav-wrap__inner {
    width: 100%;
    float: none;
    margin: 0;
  }
  body footer .footernav-wrap__inner__list {
    margin: 0;
    padding: 0 20px;
    float: none;
    width: 100%;
  }
  body footer .footernav-wrap__inner__list p {
    border-bottom: 1px solid #ccc;
    text-align: center;
    font-size: 18px;
    font-size: 1.8rem;
    margin: 0 0 24px;
  }
  body footer .footernav-wrap__inner__list dl {
    padding: 0 20px 40px;
    line-height: 1;
  }
  body footer .footernav-wrap__inner__list dl dt {
    font-size: 14px;
    font-size: 1.4rem;
    margin: 15px 0 0 20px;
    text-indent: -28px;
    line-height: 1.4;
  }
  body footer .footernav-wrap__inner__list dl dt:before {
    font-size: 12px;
    font-size: 1.2rem;
  }
  body footer .footernav-wrap__inner__list dl dd {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.4;
    text-indent: -1em;
    margin: 10px 0 0 1em;
  }
  body footer .copyright {
    padding: 0 0 40px;
  }
  body footer .copyright p {
    font-size: 12px;
    font-size: 1.2rem;
  }

  /*----------------------------------------------------
  	404
  ----------------------------------------------------*/
  .error404 .wrap .inner {
    width: 100%;
  }
  .error404 .wrap .inner .contents {
    width: 100%;
  }
  .error404 .wrap .inner .contents h2 {
    font-size: 20px;
    font-size: 2rem;
    margin: 20px 0 0;
  }
  .error404 .wrap .inner .contents h2 span {
    font-size: 100px;
    font-size: 10rem;
  }
  .error404 .wrap .inner .contents p {
    font-size: 14px;
    font-size: 1.4rem;
  }
}
