@charset "UTF-8";
/*@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700|Noto+Serif+JP:400,700|Redressed:400");*/
html {
  height: 101%;
  margin-bottom: 1px; }

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, p, blockquote, img {
  margin: 0;
  padding: 0; }

ol, ul {
  list-style: none; }

body {
  height: 100%;
  font-family: "Noto Sans JP", sans;
  color: #333;
  background: #fff url("../images/bg.jpg"); }

a {
  color: #009ae2;
  text-decoration: underline; }
  a:link, a:visited {
    color: #009ae2;
    text-decoration: underline; }
  a:hover, a:active {
    color: #ff6c00;
    text-decoration: none; }

.sp_only {
  display: none; }

br.clear {
  clear: both; }

section#main {
  padding: 25px 0; }
section#top_cover {
  position: relative;
  padding: 25px 0;
  background: url("../images/top_cover_bg.jpg") no-repeat right top;
  background-size: auto 100%; }
  section#top_cover .top_slider {
    box-shadow: 0 1px 4px #777; }

section.home_sec {
  padding: 50px 0;
  overflow: hidden; }
  section.home_sec.home_sec_tamai, section.home_sec.home_sec_mita {
    color: #fff;
    background-repeat: repeat, no-repeat;
    background-size: auto, cover;
    background-position: center, left;
    font-size: 16px; }
    section.home_sec.home_sec_tamai h2, section.home_sec.home_sec_mita h2 {
      text-align: center;
      font-family: "Noto Serif JP", sans-serif;
      margin-bottom: 40px; }
      section.home_sec.home_sec_tamai h2 img, section.home_sec.home_sec_mita h2 img {
        display: block;
        width: 185px;
        margin: 0 auto 25px; }
    section.home_sec.home_sec_tamai p, section.home_sec.home_sec_mita p {
      margin-bottom: 25px;
      line-height: 2; }
    section.home_sec.home_sec_tamai a.button, section.home_sec.home_sec_mita a.button {
      position: relative;
      display: inline-block;
      background: rgba(255, 255, 255, 0.9);
      border: 1px solid #4665c4;
      color: #4665c4;
      border-radius: 30px;
      text-decoration: none;
      padding: 5px 50px;
      transition: 0.3s; }
      section.home_sec.home_sec_tamai a.button::after, section.home_sec.home_sec_mita a.button::after {
        position: absolute;
        font-family: 'FontAwesome';
        content: '\f105';
        top: 50%;
        right: 1em;
        transform: translateY(-50%); }
      section.home_sec.home_sec_tamai a.button:hover, section.home_sec.home_sec_mita a.button:hover {
        background: #4665c4;
        border-color: #fff;
        color: #fff; }
  section.home_sec.home_sec_tamai {
    background-image: url("../images/overlay_grey.png"), url("../images/home_bg_tamai.jpg"); }
  section.home_sec.home_sec_mita {
    background-image: url("../images/overlay_grey.png"), url("../images/home_bg_mita.jpg"); }
  section.home_sec.home_sec_info h2 {
    font-weight: normal;
    font-size: 40px;
    margin-bottom: 15px;
    letter-spacing: 0em;
    font-family: "Redressed", sans; }
    section.home_sec.home_sec_info h2::first-letter {
      color: #1D2088; }
    section.home_sec.home_sec_info h2 span {
      font-family: "Noto Serif JP", sans-serif;
      font-size: 14px;
      margin-left: 1em;
      color: #777; }
  section.home_sec.home_sec_info dl dt {
    background: #1D2088;
    color: #fff; }
  section.home_sec.home_sec_info dl dd {
    background: #fff; }
    section.home_sec.home_sec_info dl dd p.icons {
      margin-top: 5px;
      position: static;
      text-align: right; }

div.swiper {
  padding-bottom: 40px;
  overflow: visible; }
  div.swiper .swiper-slide {
    height: auto; }
    div.swiper .swiper-slide div {
      overflow: hidden;
      height: 100%;
      position: relative;
      background: #fff;
      border-radius: 8px; }
      div.swiper .swiper-slide div h4 {
        margin: 0 0 20px 15px;
        line-height: 1;
        padding: 15px 15px 5px;
        font-weight: bold;
        font-size: 18px;
        border-left: 5px solid #8250a5;
        color: #333; }
        div.swiper .swiper-slide div h4 span {
          display: block;
          font-weight: normal;
          font-size: 0.6em;
          margin-top: 10px;
          opacity: 0.5; }
      div.swiper .swiper-slide div a {
        font-weight: normal; }
        div.swiper .swiper-slide div a:hover::after {
          color: #8250a5; }
  div.swiper .swiper-button-prev, div.swiper .swiper-button-next {
    width: 40px;
    height: 40px;
    background: url(../images/swiper_arrow.png) center/cover !important;
    color: transparent; }
    div.swiper .swiper-button-prev:focus, div.swiper .swiper-button-next:focus {
      outline: none; }
  div.swiper .swiper-button-prev {
    transform: translate(-50%, -50%) scale(-1, 1); }
  div.swiper .swiper-button-next {
    transform: translate(50%, -50%); }
  div.swiper .swiper-pagination {
    bottom: 0;
    text-align: center;
    transition: 300ms opacity;
    transform: translate3d(0, 0, 0);
    z-index: 10; }
    div.swiper .swiper-pagination span.swiper-pagination-bullet {
      background: #fff; }

/*パディング*/
.padd5 {
  padding: 5px; }

.padd10 {
  padding: 10px; }

.padd15 {
  padding: 15px; }

.padd20 {
  padding: 20px; }

.padd0_5 {
  padding: 0 5px; }

.padd0_10 {
  padding: 0 10px; }

.padd0_20 {
  padding: 0 20px; }

.padd10_20 {
  padding: 10px 20px; }

.padd-top5 {
  padding-top: 5px; }

.padd-top10 {
  padding-top: 10px; }

.padd-top15 {
  padding-top: 15px; }

.padd-top20 {
  padding-top: 20px; }

.padd-bottom5 {
  padding-bottom: 5px; }

.padd-bottom10 {
  padding-bottom: 10px; }

.padd-bottom15 {
  padding-bottom: 15px; }

.padd-bottom20 {
  padding-bottom: 20px; }

/*マージン*/
.marg5 {
  margin: 5px; }

.marg10 {
  margin: 10px; }

.marg20 {
  margin: 20px; }

.marg0_5 {
  margin: 0 5px; }

.marg0_10 {
  margin: 0 10px; }

.marg0_20 {
  margin: 0 20px; }

.marg-top5 {
  margin-top: 5px; }

.marg-top10 {
  margin-top: 10px; }

.marg-top15 {
  margin-top: 15px; }

.marg-top20 {
  margin-top: 20px; }

.marg-bottom5 {
  margin-bottom: 5px; }

.marg-bottom10 {
  margin-bottom: 10px; }

.marg-bottom15 {
  margin-bottom: 15px; }

.marg-bottom20 {
  margin-bottom: 20px; }

/*フォント*/
.st {
  font-weight: bold; }

.reg {
  font-weight: normal; }

.fs150 {
  font-size: 150%;
  letter-spacing: 0.01em; }

.fs120 {
  font-size: 120%; }

.fs110 {
  font-size: 110%; }

.fs90 {
  font-size: 90%; }

.fs80 {
  font-size: 80%;
  line-height: 160%; }

.fs70 {
  font-size: 70%;
  line-height: 160%; }

.fs60 {
  font-size: 60%;
  line-height: 160%; }

.fs50 {
  font-size: 50%;
  line-height: 160%; }

.fstamai {
  color: #8250A5; }

.fsblack {
  color: #333; }

.fsred {
  color: #ff0000; }

.fsgray {
  color: #afafaf; }

.must {
  font-weight: bold;
  margin-left: 5px;
  color: red; }

.alignright {
  text-align: right; }

.aligncenter {
  text-align: center; }

hr {
  height: 1px;
  border: none;
  background: #e2e2e2;
  margin: 10px 0; }

/*Facebook Like BOX レスポンシブ化*/
#fb-root {
  display: none; }

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

h3.common {
  position: relative;
  line-height: 100%;
  padding: 20px 0;
  font-size: 18px;
  border-top: 1px #ccc solid;
  border-bottom: 1px #ccc solid;
  margin: 20px 0;
  color: #000; }
  h3.common span {
    position: absolute;
    color: #999;
    right: 0;
    bottom: 7px;
    font-size: 12px;
    font-weight: normal;
    letter-spacing: 0; }

#tamai h3.common {
  border-color: #8250a5; }

#mita h3.common {
  border-color: #4665c4; }

#tamai h2.common {
  line-height: 120%;
  color: #8B5FAC;
  margin: 25px 0;
  padding: 25px 15px;
  border: solid #8B5FAC;
  font-size: 25px;
  border-width: 1px 0;
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+0,e5e5e5+100;White+3D */
  background: white;
  /* Old browsers */
  background: -moz-linear-gradient(top, white 0%, #e5e5e5 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(top, white 0%, #e5e5e5 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, white 0%, #e5e5e5 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#e5e5e5',GradientType=0 );
  /* IE6-9 */ }

#mita h2.common {
  line-height: 120%;
  color: #4665C4;
  margin: 25px 0;
  padding: 25px 15px;
  border: solid #4665C4;
  font-size: 25px;
  border-width: 1px 0;
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+0,e5e5e5+100;White+3D */
  background: white;
  /* Old browsers */
  background: -moz-linear-gradient(top, white 0%, #e5e5e5 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(top, white 0%, #e5e5e5 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, white 0%, #e5e5e5 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#e5e5e5',GradientType=0 );
  /* IE6-9 */ }

h3.lead {
  font-weight: bold;
  line-height: 1.6;
  border-bottom: 1px solid #8250a5;
  margin-bottom: 20px;
  padding-bottom: 10px; }

h4.common {
  font-size: 15px;
  margin: 15px 0;
  padding: 10px 15px;
  background: #f5f5f5;
  border-radius: 3px; }
  h4.common p {
    margin-top: 8px;
    line-height: 120%;
    font-size: 12px;
    font-weight: normal; }
    
.common2 {
  font-size: 15px;
  margin: 15px 0;
  padding: 10px 15px;
  background: #f5f5f5;
  border-radius: 3px; }
  .common2 p {
    margin-top: 8px;
    line-height: 120%;
    font-size: 12px;
    font-weight: normal; }
    
h4.lead {
  font-size: 14px;
  margin: 15px 0;
  color: #000;
  font-weight: bold;
  border-bottom: 1px dotted #ddd; }

#tamai .common2, #tamai h4.common, #tamai h4.lead, #tamai .leadtext {
  color: #8250a5; }
#tamai dl.flow dt {
  color: #8250a5; }

#mita h4.common, #mita h4.lead {
  color: #4665c4; }
#mita dl.flow dt {
  color: #4665c4; }

ul.gallery li {
  width: 33.3%;
  float: left;
  margin-bottom: 5px; }
  ul.gallery li img {
    width: 98%;
    margin: 0 auto;
    border-radius: 4px; }

/*コンテンツページ*/
.single-post {
  background: #fff;
  position: relative;
  box-shadow: 0 0 2px #aaa;
  border-radius: 3px;
  margin-bottom: 15px;
  padding: 0; }
  .single-post h1.post-title {
    padding: 10px 15px;
    font-size: 22px; }
  .single-post .single-post-content {
    padding: 10px 15px 30px; }

.single-post-content p {
  margin-bottom: 15px; }
.single-post-content h3, .single-post-content h4, .single-post-content h5 {
  margin-bottom: 10px;
  line-height: 120%;
  border-bottom: 1px dotted #C7B2D6;
  padding-bottom: 3px; }
.single-post-content h2 {
  font-size: 20px;
  border-bottom: solid 5px #C7B2D6;
  position: relative;
  margin: 15px auto;
}
.single-post-content h3 {
  font-size: 18px; }
.single-post-content h4 {
  font-size: 16px; }
.single-post-content h5 {
  font-size: 14px; }

/*記事内タイトル*/
/* 前後記事ページング */
ul.paging {
  margin-top: 10px;
  font-size: 12px;
  border-top: 1px dotted #ccc; }
  ul.paging li {
    width: 50%; }
    ul.paging li.prev {
      float: left; }
    ul.paging li.emptynext a {
      border-right: 1px dotted #ccc; }
    ul.paging li.next {
      text-align: right;
      float: right; }
    ul.paging li a {
      display: block;
      position: relative;
      text-decoration: none; }
    ul.paging li.prev a {
      padding: 8px 5px 5px 25px; }
    ul.paging li.next a {
      padding: 8px 30px 5px 25px;
      border-left: 1px dotted #ccc; }
    ul.paging li a i {
      position: absolute;
      font-size: 16px;
      top: 10px; }
    ul.paging li.prev a i {
      left: 7px; }
    ul.paging li.next a i {
      right: 7px; }

/* 新着記事ブロック */
.posts {
  background: #fff;
  position: relative;
  box-shadow: 0 0 3px #aaa;
  border-radius: 3px;
  margin-bottom: 15px;
  padding: 0 0 0 0; }
  .posts img {
    width: 100%;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px; }

.single-post .date {
  font-size: 11px;
  padding: 35px 0 0 10px;
  line-height: 100%; }

.posts .date {
  font-size: 11px;
  padding: 35px 0 0 10px;
  line-height: 100%; }
.posts h3 {
  font-size: 15px;
  margin: 10px 10px 15px;
  line-height: 150%;
  font-weight: normal; }
.posts .excerpt {
  font-size: 12px;
  padding: 0 10px; }

/*※.postsとセットで使う*/
.features {
  text-align: center; }
  .features h3 {
    font-weight: bold; }
  .features .excerpt {
    font-size: 14px;
    text-align: left;
    padding: 0 15px; }

/*-----*/
.icons {
  position: absolute;
  top: 4px;
  right: 5px; }
  .icons span, .icons a {
    display: inline-block;
    background: rgba(0, 0, 0, 0.8);
    color: #fff;
    border-radius: 20px;
    font-size: 11px;
    line-height: 100%;
    padding: 3px 8px 2px;
    margin-right: 0;
    text-decoration: none; }
  .icons span.new {
    background: #ff0000; }

.posts a.more {
  display: block;
  text-align: center;
  text-decoration: none;
  border-top: 1px solid #ddd;
  background: #fafafa;
  font-size: 12px;
  line-height: 100%;
  margin: 20px 0 0;
  padding: 8px 8px 10px;
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px; }

.sub_right_widget a.more {
  display: block;
  text-align: center;
  text-decoration: none;
  border-top: 1px solid #ddd;
  background: #fafafa;
  font-size: 12px;
  line-height: 100%;
  margin: 20px 0 0;
  padding: 8px 8px 10px;
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
  margin-top: 5px; }

/*下層ページメニュー*/
#fixed_end {
  height: 60px; }

header#fixed_header {
  position: fixed;
  width: 100%;
  height: 60px;
  background: rgba(230, 230, 230, 0.9);
  z-index: 9999;
  box-shadow: 0 0 3px #666; }
  header#fixed_header .logo img {
    float: left;
    height: 60px; }
  header#fixed_header a#menu_bars, header#fixed_header a#sp_yoyaku, header#fixed_header a#sp_phone {
    display: none; }
  header#fixed_header ul.header_menu {
    height: 60px;
    float: right; }
    header#fixed_header ul.header_menu li {
      float: left; }
      header#fixed_header ul.header_menu li a {
        font-size: 12px;
        text-decoration: none;
        display: block; }

body.tamai header#fixed_header {
  background: rgba(130, 80, 165, 0.9); }
body.mita header#fixed_header {
  background: rgba(70, 101, 196, 0.9); }
body#sub section#pagetitle {
  background: #124282 url("../images/pagetitle.png") no-repeat right;
  background-size: auto 100%; }
  body#sub section#pagetitle h1 {
    color: #fff;
    line-height: 120%;
    padding: 38px 0 35px;
    font-size: 26px; }
body#sub #tamai section#pagetitle {
  background: #fff url("../images/store_title_tamai.jpg") no-repeat right center;
  background-size: 512px;
  border-bottom: 1px solid #8250a5; }
body#sub #mita section#pagetitle {
  background: #fff url("../images/store_title_mita.jpg") no-repeat right center;
  background-size: 512px;
  border-bottom: 1px solid #4665c4; }
body#sub .store section#pagetitle h1 {
  padding: 21px 0 18px 0;
  font-size: 20px; }
body#sub #tamai section#pagetitle h1 {
  color: #8250a5; }
body#sub #mita section#pagetitle h1 {
  color: #4665c4; }

/*下層ページタイトル*/
/*---ウィジェット---*/
h3.disable {
  display: none; }

/*TOP用*/
/*SUB用*/
.sub_right_widget {
  margin-bottom: 15px;
  border-radius: 3px;
  box-shadow: 0 0 2px #aaa;
  background: #fff; }
  .sub_right_widget h3 {
    font-size: 14px;
    padding: 10px 10px;
    line-height: 100%;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+0,e5e5e5+100;White+3D */
    background: #ffffff;
    /* Old browsers */
    background: -moz-linear-gradient(top, #ffffff 0%, #e5e5e5 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #ffffff 0%, #e5e5e5 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #ffffff 0%, #e5e5e5 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#e5e5e5',GradientType=0 );
    /* IE6-9 */
    box-shadow: 0 1px 2px #aaa; }
  .sub_right_widget ul, .sub_right_widget dl {
    margin-top: 5px;
    font-size: 14px;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px; }
  .sub_right_widget ul li {
    border-bottom: 1px dotted #ddd;
    padding: 7px 10px 7px 28px;
    font-size: 12px;
    background: url("../images/sub_right_arrow.png") no-repeat 10px 11px;
    background-size: 13px; }
    .sub_right_widget ul li:last-child {
      border-bottom: none; }
    .sub_right_widget ul li a {
      font-size: 13px;
      margin-right: 3px; }
  .sub_right_widget dl dt {
    font-size: 11px;
    font-weight: normal;
    padding: 5px 10px 0; }
  .sub_right_widget dl dd {
    border-bottom: 1px dotted #ddd;
    padding: 0 10px 5px; }
    .sub_right_widget dl dd:last-child {
      border-bottom: none;
      padding-bottom: 10px; }

/*Tags*/
div.tags {
  margin: 0 10px;
  text-align: right; }
  div.tags h4 {
    color: #999;
    font-size: 12px;
    margin-bottom: 5px; }
  div.tags a {
    font-size: 12px;
    display: inline-block;
    background: #fff;
    padding: 2px 10px;
    margin: 0 0 5px 5px;
    border: 1px solid #009ae2;
    border-radius: 3px;
    text-decoration: none; }
    div.tags a:hover {
      background: #009ae2;
      color: #fff; }

/*画像リスト*/
ul.gal2, ul.gal3 {
  margin-left: -1%; }
ul.gal2 li, ul.gal3 li {
  float: left;
  margin: 0 0 7px 1%; }
ul.gal2 li img, ul.gal3 li img {
  width: 100%; }
ul.gal2 li {
  width: 49%; }
ul.gal3 li {
  width: 32.3%; }
  ul.gal3 li:nth-child(3n+1) {
    clear: both; }

/*ページネーション*/
.pagenation {
  text-align: center;
  margin: 10px 0 30px; }
  .pagenation a, .pagenation span {
    display: inline-block;
    border: 1px solid #ccc;
    margin: 0 2px;
    padding: 5px 8px;
    border-radius: 3px;
    text-decoration: none; }
  .pagenation .current {
    background: #000;
    border-color: #000;
    color: #fff; }

/*ぱんくずリスト*/
section#breadcrumb {
  margin: 15px 0 -10px;
  font-size: 12px; }
  section#breadcrumb ul li {
    display: inline-block; }
    section#breadcrumb ul li i.fa {
      margin: 0 8px;
      color: #aaa; }

/*---固定ページ----*/
.single-page {
  background: #fff;
  margin-bottom: 15px;
  border-radius: 5px;
  box-shadow: 0 0 2px #aaa; }

.store .single-page h3.title {
  background: #e2e2e2;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  font-size: 17px;
  padding: 40px 15px 20px;
  line-height: 100%;
  color: #fff;
  text-shadow: 0 1px 1px #333; }

#tamai .single-page h3.title {
  background: #8250a5 url("../images/store_title_tamai.jpg") no-repeat right center;
  background-size: 70%; }

#mita .single-page h3.title {
  background: #4665c4 url("../images/store_title_mita.jpg") no-repeat right center;
  background-size: 70%; }

.single-page-content {
  padding: 20px 15px; }

nav#sub_pages ul {
  border: solid #124282;
  border-width: 0 2px 2px;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
  background: #f9f9f9;
  margin-bottom: 15px; }
  nav#sub_pages ul li a {
    border-bottom: 1px dotted #ccc;
    display: block;
    padding: 10px 15px;
    text-decoration: none; }
    nav#sub_pages ul li a:hover {
      background: #124282;
      color: #fff;
      border-bottom: 1px solid #124282; }
  nav#sub_pages ul li.current_page_item > a {
    background: #124282;
    color: #fff;
    border-bottom: 1px solid #124282; }
  nav#sub_pages ul li ul.children a {
    font-size: 12px;
    padding: 5px 10px 5px 25px; }

body.tamai nav#sub_pages ul {
  border-color: #8250a5; }
  body.tamai nav#sub_pages ul li a:hover, body.tamai nav#sub_pages ul li.current_page_item > a {
    background-color: #8250a5;
    border-bottom: 1px solid #8250a5; }
body.mita nav#sub_pages ul {
  border-color: #4665c4; }
  body.mita nav#sub_pages ul li a:hover, body.mita nav#sub_pages ul li.current_page_item > a {
    background-color: #4665c4;
    border-bottom: 1px solid #4665c4; }

nav#sub_pages ul > li:last-child a {
  border-bottom: 0 !important; }
  nav#sub_pages ul > li:last-child a:hover {
    border-bottom: 0 !important; }
nav#sub_pages h3 {
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#2d517f+0,02387f+100 */
  background: #2d517f;
  /* Old browsers */
  background: -moz-linear-gradient(top, #2d517f 0%, #02387f 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #2d517f 0%, #02387f 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #2d517f 0%, #02387f 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2d517f', endColorstr='#02387f',GradientType=0 );
  /* IE6-9 */
  color: #fff;
  font-size: 14px;
  line-height: 100%;
  padding: 12px 15px 10px;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px; }

body.tamai nav#sub_pages h3 {
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#8760a3+0,793fa3+100 */
  background: #8760a3;
  /* Old browsers */
  background: -moz-linear-gradient(top, #8760a3 0%, #793fa3 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #8760a3 0%, #793fa3 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #8760a3 0%, #793fa3 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#8760a3', endColorstr='#793fa3',GradientType=0 );
  /* IE6-9 */ }
body.mita nav#sub_pages h3 {
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#5d76c1+0,3054c1+100 */
  background: #5d76c1;
  /* Old browsers */
  background: -moz-linear-gradient(top, #5d76c1 0%, #3054c1 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #5d76c1 0%, #3054c1 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #5d76c1 0%, #3054c1 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#5d76c1', endColorstr='#3054c1',GradientType=0 );
  /* IE6-9 */ }

dl.table input[type=text], dl.table input[type=email], dl.table input[type=tel] {
  width: 90%; }
dl.table textarea {
  width: 90%; }
dl.table input.small {
  width: 120px; }

ul.arrow li {
  position: relative;
  padding-left: 18px;
  margin-bottom: 1px;
  font-size: 90%; }
  ul.arrow li:before {
    content: "\f0a9";
    font-family: FontAwesome;
    position: absolute;
    top: 2px;
    left: 0;
    color: #0073bd;
    font-weight: normal; }

ul.asterisk {
  background: #f0f0f0;
  font-size: 90%;
  padding: 10px;
  margin-bottom: 25px; }
  ul.asterisk li {
    position: relative;
    padding: 0 0 0 1.5em; }
    ul.asterisk li::before {
      position: absolute;
      left: 0;
      top: 0;
      content: '※';
      color: #8250a5; }

.single-page-content table {
  margin: 0 0 15px 0;
  width: 100%;
  border: solid #ddd;
  border-width: 1px 1px 0 0; }
  .single-page-content table th, .single-page-content table td {
    border: solid #ddd;
    border-width: 0 0 1px 1px;
    padding: 5px; }
  .single-page-content table th {
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+0,e5e5e5+100;White+3D */
    background: #ffffff;
    /* Old browsers */
    background: -moz-linear-gradient(top, #ffffff 0%, #e5e5e5 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #ffffff 0%, #e5e5e5 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #ffffff 0%, #e5e5e5 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#e5e5e5',GradientType=0 );
    /* IE6-9 */
    font-size: 12px; }
  .single-page-content table tr.even th, .single-page-content table tr.even td {
    background: #f6f8ff; }
.single-page-content p {
  margin-bottom: 20px;
  line-height: 1.8; }
.single-page-content strong {
  color: #000;
  background: url("../images/strong.png") repeat-x bottom;
  background-size: auto 30%;
  font-size: 110%;
  letter-spacing: 0.05em;
  margin-right: 2px; }
  
.single-page-content under {
  font-weight:bold;
  color: #000;
  background: url("../images/strong.png") repeat-x bottom;
  background-size: auto 30%;
  font-size: 100%;
  letter-spacing: 0.05em;
  margin-right: 2px; }

h2.blog_headline {
    margin:15px auto;
    line-height: 150%;
    font-size: 22px;
}
h3.blog_subheading {
    padding: 0 10px;
    color: #494949;
    background: transparent;
    border-left: solid 4px #8760a3;
    font-size: 17px;
    margin-bottom: 15px;
}
dl.flow {
  margin: 0 0 0 0; }
  dl.flow dt {
    padding: 10px;
    border: solid #ddd;
    border-width: 1px 1px 0 1px;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+0,e5e5e5+100;White+3D */
    background: #ffffff;
    /* Old browsers */
    background: -moz-linear-gradient(top, #ffffff 0%, #e5e5e5 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #ffffff 0%, #e5e5e5 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #ffffff 0%, #e5e5e5 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#e5e5e5',GradientType=0 );
    /* IE6-9 */ }
  dl.flow dd {
    padding: 10px;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
    border: solid #ddd;
    border-width: 0 1px 1px 1px; }
    dl.flow dd.arrow {
      height: 15px;
      background: url("../images/flow_arrow.png") no-repeat center center;
      background-size: auto 100%;
      border: 0;
      margin-bottom: 5px; }

ol.num {
  margin: 10px 0 20px 28px;
  counter-reset: number;
  list-style: none; }
  ol.num > li {
    position: relative;
    margin-bottom: 7px; }
    ol.num > li:before {
      position: absolute;
      left: -28px;
      counter-increment: number;
      content: counter(number);
      color: #fff;
      background: #009ae2;
      display: inline-block;
      width: 10px;
      height: 11px;
      padding: 5px 8px 6px 4px;
      font-size: 12px;
      border-radius: 50%;
      line-height: 100%;
      text-align: right; }

#tamai ol.num > li:before {
  background: #a16cc6; }

#mita ol.num > li:before {
  background: #6d88db; }

dl.voice {
  background: #e9e9e9;
  border-radius: 5px;
  padding: 15px 10px; }
  dl.voice dt {
    color: #fff;
    background: #ff6fb6;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    padding: 10px; }
    dl.voice dt:before {
      content: "\f182";
      font-family: FontAwesome;
      font-weight: normal;
      margin-right: 10px;
      font-size: 18px; }
    dl.voice dt.male {
      background: #6f91ff; }
    dl.voice dt.etc {
      background: #60ce63; }
    dl.voice dt.male:before {
      content: "\f183"; }
    dl.voice dt.etc:before {
      content: "\f028"; }
  dl.voice dd {
    background: #fff;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
    padding: 10px;
    margin-bottom: 15px; }
    dl.voice dd:last-child {
      margin-bottom: 0; }

a.btn_block {
  display: block;
  margin: 25px auto 0;
  text-align: center;
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+0,e5e5e5+100;White+3D */
  background: #ffffff;
  /* Old browsers */
  background: -moz-linear-gradient(top, #ffffff 0%, #e5e5e5 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #ffffff 0%, #e5e5e5 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #ffffff 0%, #e5e5e5 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#e5e5e5',GradientType=0 );
  /* IE6-9 */
  box-shadow: 0 0 2px #777;
  border-radius: 10px;
  padding: 15px 30px;
  text-decoration: none;
  font-size: 120%;
  font-weight: bold;
  position: relative; }
  a.btn_block:before {
    content: "\f054";
    font-family: FontAwesome;
    font-weight: normal;
    color: #ccc;
    position: absolute;
    left: 15px;
    top: 17px; }

dl.arrow dt {
  position: relative;
  padding-left: 18px;
  margin-bottom: 5px; }
  dl.arrow dt:before {
    content: "\f0a9";
    font-family: FontAwesome;
    position: absolute;
    top: 2px;
    left: 0;
    color: #0073bd;
    font-weight: normal; }
dl.arrow dd {
  padding: 0 0 10px 18px;
  margin-bottom: 10px;
  border-bottom: 1px dotted #ddd; }

footer {
  display: block;
  color: #fff; }
  footer section#footer_widget {
    padding: 25px 0 15px;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#e6dee3+0,f5f5f5+100 */
    background: #e6dee3;
    /* Old browsers */
    background: -moz-linear-gradient(top, #e6dee3 0%, #f5f5f5 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #e6dee3 0%, #f5f5f5 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #e6dee3 0%, #f5f5f5 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e6dee3', endColorstr='#f5f5f5',GradientType=0 );
    /* IE6-9 */ }
    footer section#footer_widget h3 {
      margin: 0 0 10px;
      padding: 0 0 8px;
      color: #333;
      font-size: 15px;
      font-weight: normal;
      border-bottom: 1px solid #23AC38;
      line-height: 100%; }
    footer section#footer_widget a {
      color: #333; }
    footer section#footer_widget ul {
      margin-bottom: 15px; }
      footer section#footer_widget ul li {
        background: url("../images/footer_arrow.png") no-repeat left 3px;
        background-size: 13px;
        padding: 0 0 0 18px;
        margin-bottom: 5px;
        font-size: 13px; }
  footer section#footer_contact {
    padding: 25px 0;
    background: #1D2088; }

body.tamai footer section#footer_contact {
  background: #8250a5; }
body.mita footer section#footer_contact {
  background: #4665c4; }
body.tamai footer section#footer_copyright {
  background: #583075; }
body.mita footer section#footer_copyright {
  background: #253d85; }

footer section#footer_contact hr {
  background: #64aa35; }
footer section#footer_copyright {
  padding: 10px 0 50px;
  font-size: 11px;
  background: #0e104d;
  text-align: center; }
  footer section#footer_copyright a {
    color: #fff;
    text-decoration: underline; }
    footer section#footer_copyright a:hover {
      text-decoration: none; }

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

ul.footer_tel li {
  width: 50%;
  text-align: center;
  padding: 10px 0; }
  ul.footer_tel li:first-child {
    float: left;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#9d66c1+0,783ca3+100 */
    background: #9d66c1;
    /* Old browsers */
    background: -moz-linear-gradient(top, #9d66c1 0%, #783ca3 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #9d66c1 0%, #783ca3 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #9d66c1 0%, #783ca3 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9d66c1', endColorstr='#783ca3',GradientType=0 );
    /* IE6-9 */
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px; }
  ul.footer_tel li:last-child {
    float: right;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#4b6ed1+0,354794+100 */
    background: #4b6ed1;
    /* Old browsers */
    background: -moz-linear-gradient(top, #4b6ed1 0%, #354794 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #4b6ed1 0%, #354794 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #4b6ed1 0%, #354794 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4b6ed1', endColorstr='#354794',GradientType=0 );
    /* IE6-9 */
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px; }

body.tamai ul.footer_tel li, body.mita ul.footer_tel li {
  float: none;
  width: 100%;
  text-align: center;
  padding: 10px 0; }

ul.sub_pages_banners {
  margin-bottom: 15px; }
  ul.sub_pages_banners li {
    margin-bottom: 10px; }

h2.bt {
  padding: 20px 0; }

.hilight {
  background: #FFF8BC;
  padding: 15px;
  border-radius: 5px; }

ul.check {
  margin-bottom: 20px; }
  ul.check li {
    font-size: 16px;
    background: #ffface url("../images/check.png") no-repeat 7px 10px;
    background-size: 25px;
    padding: 12px 10px 12px 40px;
    font-weight: bold;
    color: #333;
    margin-bottom: 15px;
    border: 1px solid #e7db78;
    border-radius: 5px; }

h2.catch {
  font-size: 28px;
  margin-bottom: 15px;
  color: #8D60AD;
  line-height: 150%; }
  h2.catch span {
    color: #333; }

p.catch {
  color: #333;
  font-size: 16px;
  font-weight: bold;
  line-height: 170%;
  margin-bottom: 20px; }

ul.case {
  margin: 0 0 0 -1%; }
  ul.case li {
    float: left;
    width: 49%;
    margin: 0 0 8px 1%; }
    ul.case li:nth-child(2n+1) {
      clear: both; }
    ul.case li a {
      display: block;
      background: #fcfcfc;
      border: 2px solid #8250A5;
      padding: 10px;
      text-align: center; }
      ul.case li a:hover {
        background: #8250A5;
        color: #fff; }

section#headline {
  background: url("../images/headline_bg.png");
  height: 40px;
  margin: 0; }
  section#headline .container {
    position: relative; }

    section#headline .container span#head {
      background: url("../images/headline_title.png") no-repeat;
      background-size: 75px;
      width: 75px;
      position: absolute;
      top: 7px;
      left: 0;
	  padding-bottom:10px;
      text-indent: -9999px; }

ul.marquee {
  /* required styles */
  display: block;
  padding: 0;
  margin: 0 0 0 85px;
  list-style: none;
  line-height: 1;
  position: relative;
  overflow: hidden;
  /* optional styles for appearance */
  width: 100%;
  height: 40px;
  /* height should be included to reserve visual space for the marquee */ }
  ul.marquee li {
    /* required styles */
    position: absolute;
    top: -999em;
    left: 0;
    display: block;
    white-space: nowrap;
    /* keep all text on a single line */
    padding: 9px 5px 0;
    color: #fff;
    font-size: 15px; }
    ul.marquee li a {
      color: #fff;
      text-decoration: none; }
      ul.marquee li a:hover {
        color: #f6ff00;
        text-decoration: none; }
        ul.marquee li a:hover span {
          color: #f6ff00;
          text-decoration: none; }
      ul.marquee li a span {
        font-size: 80%;
        padding-left: 10px;
        color: #bbb; }

footer dl dt {
  font-size: 11px;
  margin-bottom: 3px;
  border-bottom: 1px dotted #fff; }
footer dl dd {
  padding: 0 0 5px;
  margin-bottom: 5px; }

.youtube {
  position: relative;
  padding-bottom: 56.3%;
  height: 0;
  overflow: hidden; }
  .youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important; }

.note {
  margin: 10px 0;
  border: 2px solid #8250a5;
  border-radius: 5px;
  padding: 15px;
  background: #f5f5f5;
  line-height: 1.7; }
  .note h4 {
    color: #8250a5;
    margin-bottom: 10px;
    font-size: 16px;
    padding-bottom: 10px;
    border-bottom: 1px dotted #8250a5; }

.video {
  position: relative;
    width: 100%;
    height: 0;
    padding-top: 412px;
}
.video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

h3.outline {
  font-size: 30px;
  color: #fff;
  text-shadow: 2px 2px 1px #8250a5, -2px 2px 1px #8250a5, 2px -2px 1px #8250a5, -2px -2px 1px #8250a5, 2px 0px 1px #8250a5, 0px 2px 1px #8250a5, -2px 0px 1px #8250a5, 0px -2px 1px #8250a5;
  padding: 25px 0; }
  
h2.outline-2 {
  font-size: 30px;
  color: #fff;
  text-shadow: 2px 2px 1px #8250a5, -2px 2px 1px #8250a5, 2px -2px 1px #8250a5, -2px -2px 1px #8250a5, 2px 0px 1px #8250a5, 0px 2px 1px #8250a5, -2px 0px 1px #8250a5, 0px -2px 1px #8250a5;
  padding: 25px 0; }

h3.cource-outline {
  color:#8250a5;
  font-size:20px;
} 
#tamai .single-page-content div.jump h3 {
  position: relative;
  font-size: 18px;
  border-bottom: 1px solid #8250a5;
  padding: 0;
  margin: 0 0 15px; }
  #tamai .single-page-content div.jump h3 span {
    position: absolute;
    right: 0;
    font-size: 12px;
    font-weight: normal;
    color: #8250a5; }
#tamai .single-page-content div.jump ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 25px 0;
  border: solid #8250a5;
  border-width: 0 1px 1px 0; }
  #tamai .single-page-content div.jump ul li {
    position: relative;
    flex: auto;
    display: grid;
    place-items: center;
    text-align: center;
    box-sizing: border-box;
    width: 25%;
    border: solid #8250a5;
    border-width: 1px 0 0 1px; }
    #tamai .single-page-content div.jump ul li:hover {
      /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,e5e5e5+100;White+3D */
      background: #ffffff;
      /* Old browsers */
      background: -moz-linear-gradient(top, #ffffff 0%, #e5e5e5 100%);
      /* FF3.6-15 */
      background: -webkit-linear-gradient(top, #ffffff 0%, #e5e5e5 100%);
      /* Chrome10-25,Safari5.1-6 */
      background: linear-gradient(to bottom, #ffffff 0%, #e5e5e5 100%);
      /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#e5e5e5',GradientType=0 );
      /* IE6-9 */ }
    #tamai .single-page-content div.jump ul li a {
      font-weight: bold;
      font-size: 1.0em;
      line-height: 1.5;
      display: block;
      padding: 10px 0;
      text-decoration: none;
      outline: none; }
      #tamai .single-page-content div.jump ul li a::before {
        position: absolute;
        font-family: 'FontAwesome';
        content: '\f107';
        font-weight: normal;
        top: 50%;
        left: 10px;
        transform: translateY(-50%); }
#tamai .single-page-content section.sec_menu {
  margin-bottom: 50px; }
  #tamai .single-page-content section.sec_menu h2 {
    background: url(../images/menu/total.jpg) no-repeat right center/auto 100%;
    padding: 25px 0 25px 1em;
    border-top: 1px solid #8250a5;
    border-bottom: 1px dotted #8250a5;
    color: #8250a5;
    font-size: 20px;
    margin-bottom: 15px;
    text-shadow: 0 0 3px #fff; }
  #tamai .single-page-content section.sec_menu#m_total h2 {
    background-image: url(../images/menu/total.jpg); }
  #tamai .single-page-content section.sec_menu#m_shoulder h2 {
    background-image: url(../images/menu/shoulder.jpg); }
  #tamai .single-page-content section.sec_menu#m_waist h2 {
    background-image: url(../images/menu/waist.jpg); }
  #tamai .single-page-content section.sec_menu#m_leg h2 {
    background-image: url(../images/menu/leg.jpg);
    background-color: #F5F5F5; }
  #tamai .single-page-content section.sec_menu#m_arm h2 {
    background-image: url(../images/menu/arm.jpg);
    background-color: #F5F5F5; }
  #tamai .single-page-content section.sec_menu#m_face h2 {
    background-image: url(../images/menu/face.jpg);
    background-color: #e3f7fa; }
  #tamai .single-page-content section.sec_menu#m_head h2 {
    background-image: url(../images/menu/head.jpg);
    background-color: #F9F9F9; }
  #tamai .single-page-content section.sec_menu#m_back h2 {
    background-image: url(../images/menu/back.jpg);
    background-color: #ebeff3; }
  #tamai .single-page-content section.sec_menu#m_nerves h2 {
    background-image: url(../images/menu/nerves.jpg);
    background-color: #fdfcf7; }
  #tamai .single-page-content section.sec_menu#m_maternity h2 {
    background-image: url(../images/menu/maternity.jpg);
    background-color: #F9F5F4; }
  #tamai .single-page-content section.sec_menu#m_mental h2 {
    background-image: url(../images/menu/mental.jpg);
    background-color: #FAF2EF; }
   #tamai .single-page-content section.sec_menu#m_heal h2 {
    background-image: url(../images/menu/heal.jpg);
    }
  #tamai .single-page-content section.sec_menu ul.subject {
    text-align: right;
    font-size: 0;
    margin-bottom: 15px; }
    #tamai .single-page-content section.sec_menu ul.subject li {
      display: inline-block;
      font-size: 13px;
      margin: 0 0 10px 10px;
      background: #db9308;
      border-radius: 5px;
      padding: 3px 10px;
      color: #fff; }
  #tamai .single-page-content section.sec_menu div.summary h4 {
    font-size: 14px;
    border-bottom: 1px dotted #8250a5;
    padding: 0 5em 5px 0;
    margin-bottom: 10px;
    position: relative; }
    #tamai .single-page-content section.sec_menu div.summary h4 span {
      position: absolute;
      right: 0;
      font-weight: normal;
      font-size: 12px;
      color: #8250a5; }
  #tamai .single-page-content section.sec_menu div.summary .price dl {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 15px; }
    #tamai .single-page-content section.sec_menu div.summary .price dl dt, #tamai .single-page-content section.sec_menu div.summary .price dl dd {
      box-sizing: border-box;
      margin-bottom: 10px; }
    #tamai .single-page-content section.sec_menu div.summary .price dl dt {
      width: 25%; }
      #tamai .single-page-content section.sec_menu div.summary .price dl dt span {
        position: relative;
        font-weight: normal;
        display: block;
        text-align: center;
        background: #8250a5;
        color: #fff;
        border-radius: 20px; }
        #tamai .single-page-content section.sec_menu div.summary .price dl dt span.a::after, #tamai .single-page-content section.sec_menu div.summary .price dl dt span.b::after, #tamai .single-page-content section.sec_menu div.summary .price dl dt span.c::after, #tamai .single-page-content section.sec_menu div.summary .price dl dt span.d::after {
          position: absolute;
          content: '';
          width: 20px;
          height: 20px;
          top: 0;
          left: 0;
          background-repeat: no-repeat;
          background-position: center;
          background-size: 100%;
          transform: translate(-50%, -5px); }
        #tamai .single-page-content section.sec_menu div.summary .price dl dt span.a::after {
          background-image: url("../images/course_a.png"); }
        #tamai .single-page-content section.sec_menu div.summary .price dl dt span.b::after {
          background-image: url("../images/course_b.png"); }
        #tamai .single-page-content section.sec_menu div.summary .price dl dt span.c::after {
          background-image: url("../images/course_c.png"); }
        #tamai .single-page-content section.sec_menu div.summary .price dl dt span.d::after {
          background-image: url("../images/course_d.png"); }
    #tamai .single-page-content section.sec_menu div.summary .price dl dd {
      text-align: right;
      width: 75%;
      padding-left: 1.0em;
      font-size: 1.25em;
      font-weight: bold; }
      #tamai .single-page-content section.sec_menu div.summary .price dl dd span {
        font-weight: normal;
        font-size: 0.7em; }
  #tamai .single-page-content section.sec_menu div.summary .method ul {
    position: relative;
    padding-left: 1.5em; }
    #tamai .single-page-content section.sec_menu div.summary .method ul li {
      display: inline-block;
      margin: 0 5px 10px 0; }
      #tamai .single-page-content section.sec_menu div.summary .method ul li a {
        display: block;
        background: rgba(130, 80, 165, 0.1);
        box-sizing: border-box;
        padding: 5px 10px;
        border-radius: 5px;
        text-decoration: none;
        transition: .3s; }
        #tamai .single-page-content section.sec_menu div.summary .method ul li a::after {
          font-family: 'FontAwesome';
          content: '\f105';
          margin-left: 8px; }
        #tamai .single-page-content section.sec_menu div.summary .method ul li a:hover {
          background: #8250a5;
          color: #fff; }
    #tamai .single-page-content section.sec_menu div.summary .method ul::before {
      position: absolute;
      top: 5px;
      left: 0;
      font-family: 'FontAwesome';
      content: '\f002';
      color: #8250a5; }
#tamai .single-page-content .sec_method {
  font-size: 16px; }
  #tamai .single-page-content .sec_method h2 {
    color: #8250a5;
    border: solid #8250a5;
    border-width: 1px 0;
    padding: 20px 0;
    margin-bottom: 25px;
    font-size: 24px; }
  #tamai .single-page-content .sec_method dl.pnf {
    font-weight: bold;
    margin-bottom: 20px;
    display: flex;
    flex-wrap: wrap; }
    #tamai .single-page-content .sec_method dl.pnf dt, #tamai .single-page-content .sec_method dl.pnf dd {
      margin-bottom: 5px; }
    #tamai .single-page-content .sec_method dl.pnf dt {
      width: 25%; }
      #tamai .single-page-content .sec_method dl.pnf dt:first-letter {
        color: #8250a5;
        font-size: 1.5em; }
    #tamai .single-page-content .sec_method dl.pnf dd {
      width: 75%; }
      #tamai .single-page-content .sec_method dl.pnf dd::before {
        font-family: 'FontAwesome';
        content: '\f178';
        color: #8250a5;
        font-weight: normal;
        margin-right: 20px; }

p.buttons {
  text-align: center; }
  p.buttons a {
    position: relative;
    display: inline-block;
    background: #8250a5;
    color: #fff;
    line-height: 1;
    border-radius: 25px;
    padding: 15px 40px;
    text-decoration: none;
    box-sizing: border-box;
    font-size: 0.9em; }
    p.buttons a.back::before {
      position: absolute;
      font-family: 'FontAwesome';
      content: '\f104';
      top: 50%;
      left: 15px;
      transform: translateY(-50%);
      opacity: 0.5; }

/*---------------- 画面サイズ別のCSS ----------------*/
/* 画面サイズが768以上の時のCSS（PCのみ） */
@media (min-width: 768px) {
  img.pc_right {
    float: right;
    width: 40%;
    padding: 0 0 30px 25px; }
  img.pc_left {
    float: left;
    width: 40%;
    padding: 0 25px 30px 0; }

  ul.half_left {
    float: left;
    width: 49%; }
  ul.half_right {
    float: right;
    width: 49%; }

  dl.table {
    overflow: auto;
    border-bottom: 1px dotted #ddd; }
    dl.table dt {
      width: 30%;
      float: left;
      clear: both;
      padding: 15px 0;
      border-top: 1px dotted #ddd;
      font-size: 12px;
      color: #124282;
      text-align: center; }
    dl.table dd {
      width: 70%;
      float: left;
      padding: 15px 0;
      border-top: 1px dotted #ddd; }

  ul.footer_tel {
    display: none; }

  header#fixed_header ul.header_menu li a {
    height: auto;
    padding: 4px 10px 5px;
    margin: 16px 0 0 10px;
    color: #fff;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#2970bc+0,124282+100 */
    background: #2970bc;
    /* Old browsers */
    background: -moz-linear-gradient(top, #2970bc 0%, #124282 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #2970bc 0%, #124282 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #2970bc 0%, #124282 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2970bc', endColorstr='#124282',GradientType=0 );
    /* IE6-9 */
    border: 0;
    border-radius: 3px; }
    header#fixed_header ul.header_menu li a:hover {
      background: #124282; }
  header#fixed_header ul.header_menu li.current_page_item a {
    background: #124282; }

  body.tamai header#fixed_header ul.header_menu li a {
    color: #8250a5;
    background: #fff; }
  body.mita header#fixed_header ul.header_menu li a {
    color: #4665c4;
    background: #fff; }
  body.tamai header#fixed_header ul.header_menu li a:hover, body.tamai header#fixed_header ul.header_menu li.current_page_item a {
    background: #583075;
    color: #fff; }
  body.mita header#fixed_header ul.header_menu li a:hover, body.mita header#fixed_header ul.header_menu li.current_page_item a {
    background: #253D85;
    color: #fff; }
  body#sub .store section#pagetitle span {
    position: absolute;
    top: 26px;
    right: 0;
    font-size: 12px;
    font-weight: normal;
    line-height: 100%;
    color: #fff;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.5); }

  img.fixed_campaign {
    margin-bottom: 15px; }

  div.summary {
    margin-top: 25px;
    display: flex;
    flex-wrap: wrap; }
    div.summary .method {
      margin-left: 5%;
      width: 45%; }
    div.summary .price {
      margin-left: 5%;
      width: 45%; }

  section.home_sec_info dl {
    display: flex;
    flex-wrap: wrap; }
    section.home_sec_info dl dt, section.home_sec_info dl dd {
      box-sizing: border-box;
      margin-bottom: 10px; }
    section.home_sec_info dl dt {
      display: grid;
      place-items: center;
      width: 25%;
      border-right: 8px solid rgba(255, 255, 255, 0.2);
      border-radius: 5px 0 0 5px;
      font-family: "Noto Serif JP", sans-serif; }
    section.home_sec_info dl dd {
      padding: 15px 15px 5px;
      width: 75%;
      font-size: 16px;
      line-height: 1.8;
      border-radius: 0 5px 5px 0; } }
/* 画面サイズが979以下の時のCSS（iPad？） */
@media (max-width: 979px) {
  /*下層ページメニュー*/
  header#fixed_header {
    height: 50px; }
    header#fixed_header .logo {
      text-align: center; }
      header#fixed_header .logo img {
        float: none; }

  #fixed_end {
    height: 50px; }

  header#fixed_header .logo img {
    height: 50px; }
  header#fixed_header a#menu_bars {
    text-decoration: none;
    display: block;
    cursor: pointer;
    height: 50px;
    width: 50px;
    position: absolute;
    top: 0;
    left: 0;
    color: #666;
    text-align: center;
    font-size: 9px;
    line-height: 150%; }
    header#fixed_header a#menu_bars i#menu_close {
      display: none; }
  header#fixed_header a.menu_bars_close i#menu_open {
    display: none; }
  header#fixed_header a.menu_bars_close i#menu_close {
    display: block !important; }
  header#fixed_header a#menu_bars i {
    font-size: 22px;
    margin-top: 10px;
    display: block; }
  header#fixed_header a#sp_yoyaku {
    text-decoration: none;
    display: block;
    cursor: pointer;
    height: 50px;
    width: 40px;
    position: absolute;
    top: 0;
    right: 0;
    color: #fff;
    text-align: center;
    font-size: 9px; }
    header#fixed_header a#sp_yoyaku i {
      font-size: 20px;
      margin: 10px 0 0;
      display: block; }
  header#fixed_header a#sp_phone {
    text-decoration: none;
    display: block;
    cursor: pointer;
    height: 50px;
    width: 35px;
    position: absolute;
    top: 0;
    right: 40px;
    color: #fff;
    text-align: center;
    font-size: 9px; }
    header#fixed_header a#sp_phone i {
      font-size: 20px;
      margin: 10px 0 0;
      display: block; }
  header#fixed_header ul.header_menu {
    display: none;
    height: auto;
    float: none;
    border: none;
    position: fixed;
    top: 50px;
    width: 100%; }
    header#fixed_header ul.header_menu li {
      float: none; }
      header#fixed_header ul.header_menu li a {
        height: auto;
        padding: 10px 0;
        background: rgba(230, 230, 230, 0.9);
        border: solid #ccc;
        border-width: 1px 0 0 0 !important;
        text-align: center; }
      header#fixed_header ul.header_menu li:last-child a {
        border-width: 1px 0 1px 0 !important; }

  body.tamai header#fixed_header a#menu_bars, body.mita header#fixed_header a#menu_bars {
    color: #fff; } }
/* 画面サイズが767以下の時のCSS（カラム落ち） */
@media (max-width: 767px) {
  .sp_only {
    display: inline; }

  /*モバイルのみ表示*/
  .sp_center {
    text-align: center; }

  .pc_only {
    display: none; }

  img.pc_right, img.pc_left {
    float: none;
    width: 100%;
    padding: 0 0 15px; }

  section#main {
    padding: 15px; }
  section#top_cover {
    padding: 10px;
    margin-bottom: 0px; }

  section.home_sec {
    padding: 30px 15px; }
    section.home_sec.home_sec_tamai, section.home_sec.home_sec_mita {
      font-size: 14px; }
      section.home_sec.home_sec_tamai h2, section.home_sec.home_sec_mita h2 {
        font-size: 18px;
        margin-bottom: 15px; }
        section.home_sec.home_sec_tamai h2 img, section.home_sec.home_sec_mita h2 img {
          display: block;
          width: 185px;
          margin: 0 auto 15px; }
      section.home_sec.home_sec_tamai a.button, section.home_sec.home_sec_mita a.button {
        text-align: center;
        display: block; }
      section.home_sec.home_sec_tamai p, section.home_sec.home_sec_mita p {
        margin: 0 15px 25px; }
    section.home_sec.home_sec_info h2 {
      font-size: 30px;
      margin-bottom: 0; }
      section.home_sec.home_sec_info h2 span {
        font-size: 12px; }
    section.home_sec.home_sec_info dl dt, section.home_sec.home_sec_info dl dd {
      box-sizing: border-box; }
    section.home_sec.home_sec_info dl dt {
      z-index: 10;
      display: inline-block;
      font-size: 12px;
      line-height: 1;
      padding: 8px 15px;
      text-align: center;
      font-family: "Noto Serif JP", sans-serif;
      transform: translateY(10px);
      box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.25);
      border-radius: 0 20px 20px 0; }
    section.home_sec.home_sec_info dl dd {
      z-index: 0;
      padding: 25px 15px 5px;
      font-size: 14px;
      line-height: 1.8;
      margin: 0 0 5px 5px; }
      section.home_sec.home_sec_info dl dd p.icons {
        margin-top: 10px; }

  /*Tags*/
  div.tags a {
    font-size: 10px;
    padding: 2px 8px; }

  /*画像リスト*/
  ul.gal2, ul.gal3 {
    margin: 0 0 20px 0; }
  ul.gal2 li, ul.gal3 li {
    float: none;
    width: 100%;
    margin: 0 0 10px 0; }

  /*ぱんくずリスト*/
  section#breadcrumb {
    margin: 12px 15px -5px;
    font-size: 12px; }

@media (max-width: 767px){
  section#breadcrumb {
    margin: 12px 15px 5px;
    font-size: 12px; 
 }
}
  /*下層ページタイトル*/
  body#sub section#pagetitle h1 {
    padding: 25px 0 22px 15px;
    font-size: 18px; }
  body#sub .store section#pagetitle {
    padding: 10px 0; }
  body#sub #tamai section#pagetitle, body#sub #mita section#pagetitle {
    background-size: auto 100px; }
  body#sub .store section#pagetitle h1 {
    padding: 0 0 0 15px;
    font-size: 16px; }
  body#sub .store section#pagetitle span {
    display: block;
    padding-left: 15px;
    font-size: 10px; }

  .store .single-page h3.title {
    font-size: 16px; }

  dl.table dt {
    font-size: 12px;
    color: #124282;
    background-size: 22px;
    margin-bottom: 3px; }
  dl.table dd {
    padding: 0 0 5px;
    border-bottom: 2px dotted #ddd;
    margin-bottom: 10px; }

  footer section#footer_widget, footer section#footer_contact {
    padding: 15px; }
  footer section#footer_copyright {
    padding: 10px 15px 30px;
    line-height: 150%; }

  .gmap {
    margin-bottom: 15px; }

  #tamai h2.common {
    font-size: 18px;
    padding: 15px; }

  ul.check li {
    font-size: 14px;
    background-size: 20px;
    background-position: 7px 12px;
    padding: 12px 10px 12px 35px;
    margin-bottom: 10px;
    border-radius: 3px; }

  h2.catch {
    font-size: 18px; }

  p.catch {
    font-size: 14px;
    line-height: 150%; }

  h3.common {
    font-size: 16px; }

  ul.case {
    margin: 0; }
    ul.case li {
      float: none;
      width: 100%;
      margin: 0 0 5px 0; }

  img.fixed_campaign {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 9999; }

  body.tamai footer section#footer_copyright {
    padding-bottom: 100px; }

  section#headline {
    height: 34px; }
    section#headline .container h2 {
      width: 18%;
      background-size: auto 20px;
      top: 7px;
      left: 7px; }

  ul.marquee {
    /* required styles */
    float: right;
    display: block;
    padding: 0;
    margin: 0 0 0 0;
    list-style: none;
    line-height: 1;
    position: relative;
    overflow: hidden;
    /* optional styles for appearance */
    width: 80%;
    height: 40px;
    /* height should be included to reserve visual space for the marquee */
    margin: 0 0 0 70px;
    height: 34px;
    /* height should be included to reserve visual space for the marquee */ }
    ul.marquee li {
      padding: 7px 5px 0;
      font-size: 14px; }

  h3.outline {
    font-size: 24px;
    padding: 20px 0; }

  #tamai .single-page-content div.jump h3 {
    font-size: 16px; }
  #tamai .single-page-content div.jump ul li {
    min-height: 50px;
    width: 50%; }
    #tamai .single-page-content div.jump ul li a {
      padding: 8px 0;
      font-size: 12px; }
  #tamai .single-page-content section.sec_menu {
    margin-bottom: 30px; }
    #tamai .single-page-content section.sec_menu h3 {
      padding: 10px 0 10px 0.5em;
      font-size: 16px; }
    #tamai .single-page-content section.sec_menu ul.subject {
      text-align: left; }
      #tamai .single-page-content section.sec_menu ul.subject li {
        font-size: 12px;
        margin: 0 8px 8px 0; }
    #tamai .single-page-content section.sec_menu div.summary {
      margin-left: 20%; }
      #tamai .single-page-content section.sec_menu div.summary h4 span {
        font-size: 10px; }
      #tamai .single-page-content section.sec_menu div.summary .price dl dt span {
        font-size: 12px; }
      #tamai .single-page-content section.sec_menu div.summary .price dl dd {
        font-size: 1.1em; }
        #tamai .single-page-content section.sec_menu div.summary .price dl dd span {
          font-size: 0.7em; }
  #tamai .single-page-content .sec_method {
    font-size: 14px; }
    #tamai .single-page-content .sec_method h2 {
      font-size: 18px;
      padding: 15px 0; }
    #tamai .single-page-content .sec_method dl.pnf dt {
      width: 50%; }
    #tamai .single-page-content .sec_method dl.pnf dd {
      width: 50%; } }
/* 画面サイズが320以下の時のCSS */
/* 高精細ディスプレイ（Retina等）対応 */
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  body {
    background-size: 450px; } }
