@charset "UTF-8";
/* 01 *
===================================================== */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

/* 02 body
===================================================== */
html {
  height: 100%; }
  html body {
    height: 100%;
    word-wrap: break-word;
    text-align: center;
    font-size: 11pt;
    line-height: 160%;
    color: #333333;
    /*font-family: Verdana, メイリオ, Meiryo, 游ゴシック, 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;*/
    /* font-family: Verdana, 游ゴシック, 游ゴシック体, 'Yu Gothic', YuGothic, メイリオ, Meiryo, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif; */
    /* font-family: 'Open Sans', sans-serif; */
    font-family: "Noto Sans JP", sans-serif;
    /*weight 100-900*/ }

@font-face {
  /*chrome*/
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400; }
.mobile {
  display: none; }

/* 03 Reset-base
===================================================== */
article,
aside,
canvas,
details,
figcaption,
figure,
header,
footer,
main,
menu,
nav,
section,
summary {
  display: block; }

img,
a,
area {
  outline: none;
  border: none; }

*:focus {
  /*chromeに現れる青い線 */
  outline: none; }

table {
  word-break: break-all;
  border-collapse: collapse;
  border-spacing: 0; }

table,
th,
td {
  font-weight: normal;
  text-align: left;
  border: none; }

em,
address {
  font-style: normal; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
  text-align: left;
  font-size: 100%; }

li {
  list-style-type: none;
  list-style-position: outside; }

div,
p,
li,
dl,
table,
th,
td {
  word-break: break-all; }

hr {
  margin: 10px auto 10px;
  border: 0;
  height: 1px;
  background-image: -webkit-linear-gradient(left, rgba(204, 204, 204, 0), rgba(204, 204, 204, 0.75), rgba(204, 204, 204, 0));
  background-image: -moz-linear-gradient(left, rgba(204, 204, 204, 0), rgba(204, 204, 204, 0.75), rgba(204, 204, 204, 0));
  background-image: -ms-linear-gradient(left, rgba(204, 204, 204, 0), rgba(204, 204, 204, 0.75), rgba(204, 204, 204, 0));
  background-image: -o-linear-gradient(left, rgba(204, 204, 204, 0), rgba(204, 204, 204, 0.75), rgba(204, 204, 204, 0)); }

.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden; }

.clearfix {
  display: inline-block;
  min-height: 1%;
  /* for IE 7*/ }

.ovfl-hdn {
  overflow: hidden; }

.btn,
.allbtn {
  /*for yuga*/ }

.small {
  font-size: 0.9em;
  line-height: 120%; }

.xsmall {
  font-size: 0.8em;
  line-height: 120%; }

.large {
  font-size: 1.1em; }

.xlarge {
  font-size: 1.2em; }

.red {
  color: #ff0000; }

.green {
  color: #008445; }

.clear {
  clear: both; }

.center {
  text-align: center; }

.middle {
  vertical-align: middle; }

.right {
  text-align: right; }

.left {
  text-align: left; }

/* 05 Reset-image
===================================================== */
.imgR {
  float: right;
  display: inline-block;
  margin: 5px 0px 10px 15px; }

.imgL {
  float: left;
  display: inline-block;
  margin: 5px 15px 10px 0px; }

/* 06 layout - ID
===================================================== */
header {
  margin: 0px auto;
  width: 1060px;
  min-width: 1060px;
  position: relative;
  overflow: hidden;
  height: 135px; }

.drawerBGwrapper {
  display: none; }

nav {
  margin: 0px auto;
  width: 100%;
  min-width: 100%;
  position: relative;
  overflow: hidden;
  height: 50px;
  z-index: 50;
  font-family: "Noto Sans JP", sans-serif;
  text-align: center;
  /*background-color: #e6b422;*/
  /* background-color: #ffd700;*/
  background: linear-gradient(60deg, #ffd700 0%, #d4af37 25%, #b8860b 50%, #d4af37 75%, #ffd700 100%); }

#headerImg {
  margin: 0px auto;
  width: 1160px;
  min-width: 1160px;
  position: relative;
  overflow: hidden;
  height: 150px;
  background-color: #f2f2f2;
  text-align: center;
  z-index: 49; }
  #headerImg.idx {
    height: 480px; }
  #headerImg img {
    vertical-align: bottom; }

#headerImg-M {
  display: none; }

#pankuz {
  margin: 0px auto;
  width: 1060px;
  min-width: 1060px;
  position: relative;
  margin-top: 10px;
  clear: both;
  text-align: left; }

#container {
  margin: 50px auto;
  width: 1060px;
  min-width: 1060px;
  position: relative;
  margin-top: 40px;
  overflow: hidden;
  clear: both; }
  #container.idx {
    margin-top: 50px; }
  #container aside {
    margin: 0px auto;
    width: 280px;
    min-width: 280px;
    position: static;
    margin-bottom: auto;
    overflow: hidden;
    float: right;
    font-size: 0.9em; }
  #container #contents {
    margin: 0px auto;
    width: 750px;
    min-width: 750px;
    position: static;
    margin-bottom: auto;
    overflow: hidden;
    float: left; }
    #container #contents article {
      margin: 0px auto;
      overflow: hidden;
      display: block; }
    #container #contents section {
      margin: 0px auto;
      text-align: left;
      overflow: hidden;
      display: block; }

footer {
  margin: 0px auto;
  width: 100%;
  min-width: 1060px;
  position: relative;
  clear: both;
  overflow: hidden;
  color: #fff;
  background-color: #666;
  font-size: 10pt;
  font-variant: normal;
  border-top: 15px solid #e5e5e5; }

/*header part*/
header {
  background-image: url(../images/_others/idx-image01.png);
  background-repeat: no-repeat;
  background-size: auto 115px;
  background-position: left 645px bottom; }
  header h1 {
    margin: auto auto;
    width: 100%;
    min-width: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    height: 30px;
    font-size: 12px;
    color: #6c6762;
    line-height: 30px;
    text-align: left;
    letter-spacing: 0px;
    -webkit-text-stroke: 2px #fff;
    text-stroke: 2px #fff;
    paint-order: stroke; }
    header h1 span {
      padding-left: 0.25em; }
  header #headerLogo {
    margin: auto auto;
    width: 50%;
    min-width: 50%;
    position: absolute;
    top: 30px;
    left: 0;
    height: 92px;
    background-image: url(../images/_logo/headerlogo03.png);
    background-repeat: no-repeat;
    background-size: auto auto;
    background-position: left center;
    padding: 20px 0 0 100px;
    text-align: left; }
    header #headerLogo li:nth-child(1) {
      font-family: "Noto Serif JP", serif;
      font-weight: 600;
      /*from 200 to 900*/
      font-style: normal;
      font-size: 1.4em;
      color: #444; }
    header #headerLogo li:nth-child(2) {
      font-family: "Noto Serif JP", serif;
      font-weight: 700;
      /*from 200 to 900*/
      font-style: normal;
      font-size: 1.15em;
      letter-spacing: -1px;
      color: #444; }
    header #headerLogo li#headerLogo-M {
      display: none; }
  header #topNav {
    margin: auto auto;
    width: 50%;
    min-width: 50%;
    position: absolute;
    top: 35px;
    right: 0px;
    display: flex;
    justify-content: flex-end; }
    header #topNav li {
      font-size: 10pt;
      line-height: 30px; }
      header #topNav li a {
        overflow: hidden;
        padding: 0px 10px 5px 10px;
        font-size: 1.1em;
        color: #6c6762;
        text-decoration: none;
        background-color: #fff;
        height: 30px;
        text-align: center;
        line-height: 30px;
        display: block;
        transition: all .4s; }
        header #topNav li a:hover {
          background-color: #ffb830;
          color: #fff; }
      header #topNav li#topNav-M {
        display: none; }
  header #headerMail {
    margin: auto auto;
    width: 50%;
    min-width: 50%;
    position: absolute;
    top: 70px;
    right: 0px;
    display: flex;
    justify-content: flex-end; }
    header #headerMail li {
      height: 30px;
      width: auto; }
      header #headerMail li a {
        overflow: hidden;
        padding: 0px 10px 5px 50px;
        text-decoration: none;
        height: 30px;
        text-align: right;
        line-height: 30px;
        display: block;
        transition: all .3s;
        font-family: "Noto Sans JP", sans-serif;
        font-weight: 400;
        font-size: 1.25em;
        letter-spacing: 0px;
        color: #676767;
        background-image: url(../images/_base/32_mail.png);
        background-repeat: no-repeat;
        background-size: auto auto;
        background-position: right 125px center; }
        header #headerMail li a:hover {
          background-image: url(../images/_base/32_mailW.png);
          background-color: #ffb830;
          color: #fff; }

/* headerNav */
nav ul {
  margin: 0px auto;
  width: 1060px;
  min-width: 1060px;
  position: relative;
  overflow: hidden;
  text-align: center;
  display: flex;
  justify-content: space-evenly;
  /* ← 全ての余白が完全均等 */
  background-image: url(../images/_bg/hnav-line01.png);
  background-position: left center;
  background-repeat: no-repeat;
  box-sizing: border-box; }
  nav ul li {
    margin: 0px;
    padding: 2px 3px 2px 2px;
    height: 50px;
    background-image: url(../images/_bg/hnav-line01.png);
    background-position: right center;
    background-repeat: no-repeat; }
    nav ul li:first-child, nav ul li:nth-child(2), nav ul li:nth-child(10), nav ul li:nth-child(11), nav ul li:nth-child(12), nav ul li:nth-child(13), nav ul li:nth-child(14), nav ul li:last-child {
      display: none; }
    nav ul li a {
      color: #fff;
      text-decoration: none;
      width: 100%;
      height: 100%;
      text-align: center;
      transition: all .3s;
      display: block;
      background-image: url(../images/_bg/hnav-on03.png);
      background-position: left top;
      font-size: 15px;
      line-height: 120%;
      font-weight: bold;
      letter-spacing: -1px;
      text-shadow: 1px 1px 0px #b76e79;
      padding: 9px 18px;
      /* テキストに応じて幅が変わる */
      white-space: nowrap; }
      nav ul li a:hover {
        color: #fff;
        background-image: url(../images/_bg/hnav-on03.png);
        background-position: left bottom; }
      nav ul li a.active {
        color: #fff;
        background-image: url(../images/_bg/hnav-on03.png);
        background-position: left bottom; }
      nav ul li a span {
        display: block;
        font-size: 0.65em;
        font-weight: normal;
        line-height: 1.3em;
        font-family: "Noto Sans", sans-serif;
        letter-spacing: -1px; }
    nav ul li:nth-child(4) a, nav ul li:nth-child(5) a, nav ul li:nth-child(6) a, nav ul li:nth-child(7) a, nav ul li:nth-child(9) a {
      /*2行*/ }

/* #headerImg */
.slider {
  margin: 0 0;
  max-width: 100%;
  width: 100%; }

.slick-img img {
  height: auto;
  width: 100%; }

/*一種運の展開防止*/
.slider,
.sliderM {
  display: none; }

.slider.slick-initialized,
.sliderM.slick-initialized {
  display: block; }

/*container part*/
aside .snsicon {
  padding-bottom: 11px;
  display: block; }
  aside .snsicon img {
    max-width: 25%;
    height: auto;
    vertical-align: bottom;
    transition: all .3s; }
    aside .snsicon img:hover {
      filter: alpha(opacity=70);
      opacity: 0.7; }
aside .fbUmekomi .fb-page {
  width: 280px;
  height: 400px;
  margin-bottom: 10px; }
aside #siryouseikyuu {
  margin: 15px auto 0; }
  aside #siryouseikyuu a {
    display: block;
    width: 100%;
    border-radius: 3px;
    /*background-color: #ffd700;*/
    background: linear-gradient(60deg, #ffd700 0%, #d4af37 25%, #d1a426 50%, #d4af37 75%, #ffd700 100%);
    border: 1px solid #ffd700;
    text-decoration: none;
    font-size: 1.1em;
    color: #fff;
    font-weight: bold;
    text-shadow: 1px 1px 0 #b76e79;
    transition: all .3s;
    height: 80px;
    line-height: 80px;
    text-align: left;
    text-indent: 30px;
    position: relative; }
    aside #siryouseikyuu a::before {
      content: '';
      /* 必須、空でも良い */
      position: absolute;
      display: inline-block;
      width: 30px;
      height: 30px;
      background-image: url("../images/_base/company01.png");
      background-size: cover;
      /* 画像サイズを要素サイズに合わせる */
      background-repeat: no-repeat;
      top: 25px;
      left: 205px; }
    aside #siryouseikyuu a:hover {
      background-color: #ffb830;
      background: linear-gradient(0deg, #d4af37 0%, #ffd700 100%);
      border: 1px solid #ffb830;
      color: #fff; }
aside #gakkou {
  border: 1px solid #666666;
  text-align: center;
  padding-bottom: 20px;
  margin: 25px auto 0; }
  aside #gakkou h2 {
    color: #FFFFFF;
    background-color: #666666;
    line-height: 50px;
    font-size: 16px;
    font-weight: bold;
    height: 50px;
    text-align: center;
    margin-bottom: 20px; }
  aside #gakkou h3 {
    font-size: 30px;
    text-align: center;
    font-weight: bold;
    margin-bottom: 5px; }
    aside #gakkou h3 div {
      font-size: 9px; }
  aside #gakkou a.access {
    display: block;
    width: 100%;
    border-radius: 3px;
    /*background-color: #ffd700;*/
    background: linear-gradient(60deg, #ffd700 0%, #d4af37 25%, #d1a426 50%, #d4af37 75%, #ffd700 100%);
    border: 1px solid #ffd700;
    text-decoration: none;
    font-size: 1.1em;
    color: #fff;
    font-weight: bold;
    text-shadow: 1px 1px 0 #b76e79;
    transition: all .3s;
    width: 80%;
    margin: 15px auto 0;
    height: 40px;
    line-height: 40px;
    text-align: center; }
    aside #gakkou a.access:hover {
      background-color: #ffb830;
      background: linear-gradient(0deg, #d4af37 0%, #ffd700 100%);
      border: 1px solid #ffb830;
      color: #fff; }
aside #setumeikai {
  border: 1px solid #666666;
  text-align: center;
  padding: 5px 5px 10px;
  margin: 25px auto 0; }
  aside #setumeikai img {
    margin-bottom: 0px; }
  aside #setumeikai a {
    display: block;
    width: 100%;
    border-radius: 3px;
    /*background-color: #ffd700;*/
    background: linear-gradient(60deg, #ffd700 0%, #d4af37 25%, #d1a426 50%, #d4af37 75%, #ffd700 100%);
    border: 1px solid #ffd700;
    text-decoration: none;
    font-size: 1.1em;
    color: #fff;
    font-weight: bold;
    text-shadow: 1px 1px 0 #b76e79;
    transition: all .3s;
    background-color: #fff;
    border: 1px solid #ffd700;
    width: 85%;
    margin: 0px auto 0;
    height: 40px;
    line-height: 40px;
    position: relative;
    padding-right: 15px; }
    aside #setumeikai a::before {
      content: '';
      /* 必須、空でも良い */
      position: absolute;
      display: inline-block;
      width: 18px;
      height: 18px;
      background-image: url("../images/_base/arrow003.png");
      background-size: cover;
      /* 画像サイズを要素サイズに合わせる */
      background-repeat: no-repeat;
      top: 11px;
      left: 198px; }
    aside #setumeikai a:hover {
      background-color: #ffb830;
      background: linear-gradient(0deg, #d4af37 0%, #ffd700 100%);
      border: 1px solid #ffb830;
      color: #fff; }
aside ul.s-bnr {
  width: 100%;
  min-width: 100%;
  margin: 25px auto auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  aside ul.s-bnr li {
    width: 135px;
    margin: 0px 0px 5px;
    font-size: 10pt;
    vertical-align: bottom; }
    aside ul.s-bnr li:nth-child(even) {
      margin: 0px 0px 5px 10px; }
    aside ul.s-bnr li a {
      transition: all .3s; }
      aside ul.s-bnr li a img {
        border: 1px solid #ccc; }
      aside ul.s-bnr li a:hover img {
        border: 1px solid #f00; }

/*footer part*/
footer ul {
  text-align: center;
  font-size: 0px; }
  footer ul#footerNav1 {
    margin: 20px auto 0; }
  footer ul#footerNav2 {
    margin: 0px auto 20px; }
  footer ul li {
    display: inline-block; }
    footer ul li a {
      padding: 0.125em 0.75em;
      display: block;
      font-size: 10pt; }
      footer ul li a span {
        display: block;
        line-height: 105%;
        font-size: 7pt;
        font-weight: 300; }
        footer ul li a span.form {
          background-image: url(../images/_base/32_mailW.png);
          background-repeat: no-repeat;
          background-position: left center;
          background-size: 20px auto;
          line-height: 160%;
          font-size: 10pt;
          padding-left: 23px; }
        footer ul li a span.home {
          background-image: url(../images/_base/32_homeW.png);
          background-repeat: no-repeat;
          background-position: left center;
          background-size: 15px auto;
          line-height: 160%;
          font-size: 10pt;
          padding-left: 19px; }
footer address {
  margin: 0px auto 20px;
  color: #fff;
  text-align: center;
  font-weight: normal; }

#page-top {
  display: none;
  margin: 0;
  padding: 0; }
  #page-top p {
    margin: 0;
    padding: 0;
    position: fixed;
    right: 16px;
    bottom: 16px; }
    #page-top p a.move-page-top {
      display: block;
      background: #e5e5e5;
      width: 80px;
      height: 50px;
      padding: 16px 0px 0px;
      cursor: pointer;
      border-radius: 5px;
      text-align: center;
      transition: all 0.3s; }
      #page-top p a.move-page-top:hover {
        background: #e5e5e5;
        border-radius: 25px; }

/* 22 Reset A-tag
===================================================== */
a[href*="tel:"] {
  pointer-events: none;
  color: #333;
  text-decoration: none; }

@media only screen and (max-width: 768px) {
  a[href*="tel:"] {
    pointer-events: initial; } }
#pankuz a {
  color: #092e58;
  text-decoration: none;
  transition: all .3s; }
  #pankuz a:hover {
    color: #f00;
    text-decoration: underline; }

#container #contents p a {
  color: #00f;
  text-decoration: none;
  transition: all .2s; }
  #container #contents p a:hover {
    color: #f00;
    text-decoration: underline; }

footer #footerNav1 a,
footer #footerNav2 a,
footer address a {
  color: #fff;
  text-decoration: none;
  transition: all .3s; }
  footer #footerNav1 a:hover,
  footer #footerNav2 a:hover,
  footer address a:hover {
    color: #eee;
    text-decoration: underline; }

/* 03 contents h2-6/p
===================================================== */
#contents p,
#contents dt,
#contents dd,
#contents li {
  text-align: justify;
  text-justify: inter-ideograph; }
#contents p.center {
  text-align: center; }
  #contents p.center img {
    margin: 0 5px 10px; }
#contents h2 {
  margin: 0px 0px 25px;
  width: 100%;
  height: auto;
  clear: both;
  padding: 0.5em 1em;
  font-size: 18px;
  line-height: 120%;
  letter-spacing: 0em;
  /*background-color: #ffd700;*/
  background-color: #f08300;
  text-indent: 20px;
  color: #FFFFFF;
  font-weight: bold;
  text-shadow: 1px 1px 2px #b76e79; }
  #contents h2.kaigyou {
    text-align: center; }
  #contents h2.center {
    text-indent: 0px;
    text-align: center; }
  #contents h2.gold1 {
    background: linear-gradient(60deg, #ffd700 0%, #d4af37 25%, #c3931c 50%, #d4af37 75%, #ffd700 100%); }
  #contents h2.gold2 {
    background-color: #1B2F5B; }
  #contents h2.gold3 {
    background-color: #5C1124; }
  #contents h2.gold4 {
    background-color: #6E1A2B; }
  #contents h2.plain {
    margin: 0px 0px 25px;
    padding: 0.5em 0em 0.125em;
    height: auto;
    font-size: 22px;
    letter-spacing: 0.05em;
    background-color: #fff;
    text-shadow: none;
    line-height: 1.4em;
    text-indent: 0.25em;
    color: #444;
    font-weight: bold;
    text-align: left;
    border-bottom: 1px solid #8C8C8C; }
    #contents h2.plain span {
      letter-spacing: 0em;
      font-size: 16px; }
#contents .mezasu h2 {
  margin: 0px 0px 5px;
  height: auto;
  font-size: 26px;
  line-height: 130%;
  letter-spacing: 0em;
  background-color: #fff;
  text-shadow: none;
  text-indent: 0px;
  color: #444;
  font-weight: bold;
  text-align: center; }
#contents h3 {
  margin: 0px 10px 10px;
  color: #1b2f5b;
  font-size: 16px;
  line-height: 100%;
  letter-spacing: 0em; }
#contents h4 {
  clear: both;
  margin: 0px 0px 10px;
  width: 100%;
  position: relative;
  padding-bottom: 5px;
  border-bottom: 1px solid #ddd;
  font-size: 1.2em;
  font-weight: bold; }
  #contents h4::after {
    position: absolute;
    bottom: -2px;
    left: 0;
    z-index: 2;
    content: '';
    width: 20%;
    height: 2px;
    background-color: #1b2f5b; }
#contents h5 {
  /*受講生の声*/
  color: #6e1a2b;
  margin-bottom: 0.25em;
  font-weight: bold;
  line-height: 130%;
  font-size: 1.05em; }
#contents div.gold1 {
  background: linear-gradient(60deg, #ffd700 0%, #d4af37 25%, #c3931c 50%, #d4af37 75%, #ffd700 100%); }
#contents div.gold2 {
  background-color: #1B2F5B; }
#contents div.gold3 {
  background-color: #5C1124; }
#contents div.gold4 {
  background-color: #6E1A2B; }
#contents p {
  margin: 0px 10px 1.0em; }
#contents img {
  max-width: 100%; }
  #contents img.c-photo {
    margin: 1.5em 0px 0px; }
  #contents img.c-photo2 {
    margin: 0px 0px 1.0em; }

aside p {
  /*不使用*/
  margin: 0px 0px 35px;
  border-bottom: 1px solid #ddd;
  padding: 6px 0px 15px; }

.en-wordbreak {
  /*不使用*/
  word-wrap: normal;
  word-break: normal; }

/* 08 Local Pages
===================================================== */
#contents {
  /*  index */
  /* pca */
  /*pilatice*/
  /*school*/
  /*online*/
  /*eri*/
  /* privacy */
  /* access */
  /* sitemap */
  /* mailform */
  /*//contents*/ }
  #contents dl.teikei {
    margin: 0px 0px 40px;
    padding: 10px 0px 20px;
    background-color: #f1f1f1;
    background-image: url(../images/_others/map-au.png);
    background-repeat: no-repeat;
    background-position: 380px -30px; }
    #contents dl.teikei dt {
      padding: 50px 40px 70px;
      font-size: 24px;
      font-weight: bold;
      line-height: 150%; }
    #contents dl.teikei p {
      padding: 0px 40px 1em;
      font-size: 1.2em;
      line-height: 170%; }
  #contents dl.nintei {
    margin: 4px 0px 40px; }
    #contents dl.nintei dt {
      padding: 40px 40px 40px;
      text-align: left;
      font-size: 24px;
      font-weight: bold;
      line-height: 32px;
      color: #f08300; }
    #contents dl.nintei dd {
      padding: 20px 40px;
      text-align: left;
      border-top: 3px double #aaa;
      border-bottom: 3px double #aaa;
      font-size: 1.1em;
      clear: both;
      line-height: 180%; }
  #contents #news {
    margin: 0px 5px 40px;
    width: calc(100% - 10px);
    overflow: hidden;
    box-shadow: 0 0 8px #ccc; }
    #contents #news iframe {
      margin: 5px 5px;
      height: 300px;
      width: calc(100% - 10px);
      border: none; }
  #contents #news-M {
    display: none; }
  #contents div.center-photo {
    display: flex;
    width: 100%;
    gap: 5px;
    /* 写真同士の間隔 */
    align-items: center;
    /* 組内で高さを揃えて中央揃え */
    margin-bottom: 30px; }
    #contents div.center-photo div {
      /* 画像が多いと自動で縮む */
      flex: 1 1 auto;
      text-align: right;
      font-size: 0.9em;
      line-height: 130%; }
      #contents div.center-photo div img {
        width: 100%;
        /* 各画像が与えられた枠いっぱいに広がる */
        height: auto;
        /* 縦横比を維持して自動調整 */
        object-fit: cover; }
  #contents div.photo-group {
    display: flex;
    gap: 5px;
    align-items: flex-start;
    /* 組内で画像の上端を揃える */
    margin-bottom: 30px;
    width: 100%; }
    #contents div.photo-group figure {
      display: flex;
      flex-direction: column;
      /* 画像の下に文字 */
      align-items: center;
      margin: 0; }
      #contents div.photo-group figure img {
        display: block;
        height: auto;
        /* 高さ指定なし */
        width: auto;
        /* 幅も元画像のまま */
        object-fit: cover; }
      #contents div.photo-group figure figcaption {
        margin-top: 3px;
        text-align: right;
        /* ← 右寄せ */
        width: 100%;
        /* ← 右寄せを効かせるために必要 */
        font-size: 0.9em;
        line-height: 130%; }
  #contents div.center-photo-txt {
    margin: -30px 0 30px;
    text-align: right;
    font-size: 0.9em; }
  #contents dl.teikei2 {
    margin: 0px 0px 40px;
    background-color: #f1f1f1; }
    #contents dl.teikei2 dt {
      padding: 25px 40px 35px;
      text-align: center;
      font-size: 18px;
      font-weight: bold;
      line-height: 26px; }
      #contents dl.teikei2 dt div {
        margin: 20px 0px 0px;
        padding: 5px 0px;
        font-size: 20px;
        font-weight: bold;
        background-color: #df6910;
        background-color: #1b2f5b;
        background-color: #6600cc;
        color: #FFFFFF;
        text-align: center; }
    #contents dl.teikei2 dd {
      padding: 0px 0px 0.5em; }
      #contents dl.teikei2 dd p {
        padding: 0px 40px 0.5em;
        font-size: 1.1em; }
  #contents ul.domybest {
    display: table;
    table-layout: fixed;
    width: 100%;
    margin: 0px 0px 20px; }
    #contents ul.domybest li {
      display: table-cell;
      vertical-align: top;
      padding: 0 10px; }
  #contents ul.domybest2 {
    width: 100%;
    margin: 0px 0px 0px;
    text-align: center; }
    #contents ul.domybest2 li {
      display: inline-block;
      width: 100%;
      text-align: justify;
      text-justify: inter-ideograph;
      background-color: #f9f9f9;
      padding: 20px 40px;
      margin-bottom: 20px; }
  #contents table.kamokuhyou {
    width: 100%;
    margin: 0px 0px 30px;
    border: 1px solid #bbb;
    font-size: 0.75em;
    line-height: 120%; }
    #contents table.kamokuhyou th {
      background-color: #6600cc;
      color: #fff;
      border: 1px solid #bbb;
      text-align: center;
      padding: 2px 0.5em;
      white-space: nowrap;
      font-weight: normal; }
      #contents table.kamokuhyou th.clr01 {
        background-color: rgba(218, 134, 251, 0.15);
        color: #666; }
      #contents table.kamokuhyou th.clr02 {
        background-color: rgba(251, 239, 136, 0.4);
        color: #666;
        font-weight: bold; }
      #contents table.kamokuhyou th.clr03 {
        background-color: rgba(212, 255, 156, 0.4);
        color: #666; }
    #contents table.kamokuhyou td {
      text-align: center;
      padding: 2px 0.5em;
      border: 1px solid #bbb;
      color: #666;
      white-space: nowrap; }
      #contents table.kamokuhyou td.left {
        text-align: left; }
      #contents table.kamokuhyou td.b {
        font-weight: bold; }
      #contents table.kamokuhyou td.leftwrap {
        white-space: normal;
        text-align: left; }
      #contents table.kamokuhyou td.mono {
        letter-spacing: -0.5px; }
        #contents table.kamokuhyou td.mono div {
          letter-spacing: 0px; }
    #contents table.kamokuhyou.kamokuhyouL {
      font-size: 0.95em;
      line-height: 130%; }
      #contents table.kamokuhyou.kamokuhyouL th,
      #contents table.kamokuhyou.kamokuhyouL td {
        padding: 0.5em 0.5em; }
    #contents table.kamokuhyou caption {
      caption-side: bottom;
      /* 表の下に表示 */
      text-align: left;
      /* 右寄せ（必要に応じて変更） */
      font-size: 0.85em;
      padding-top: 5px;
      color: #f55; }
  #contents table.cal {
    width: 100%;
    margin: 0px 0px 30px;
    border: 1px solid #f08300; }
    #contents table.cal colgroup col:first-child {
      width: 30%; }
    #contents table.cal th {
      background-color: #fff;
      border: 1px solid #f08300;
      text-align: center;
      padding: 8px 5px;
      white-space: nowrap;
      font-weight: bold;
      vertical-align: middle; }
      #contents table.cal th.clr01 {
        background-color: rgba(218, 134, 251, 0.15); }
      #contents table.cal th.clr02 {
        background-color: rgba(251, 239, 136, 0.4); }
      #contents table.cal th.clr03 {
        background-color: rgba(212, 255, 156, 0.4); }
      #contents table.cal th b {
        font-size: 1.2em; }
    #contents table.cal td {
      text-align: left;
      padding: 8px 10px;
      border: 1px solid #f08300; }
      #contents table.cal td table {
        margin: 5px 0px 20px; }
        #contents table.cal td table th {
          border-color: #CCCCCC;
          border-right-style: none;
          border-left-style: none;
          text-align: left;
          padding: 2px 10px;
          vertical-align: middle;
          font-weight: normal; }
        #contents table.cal td table td {
          padding: 2px 10px;
          border-color: #CCCCCC;
          border-right-style: none;
          border-left-style: none;
          vertical-align: middle; }
  #contents dl.ninteikou {
    margin: 0 0 3em; }
    #contents dl.ninteikou dt {
      color: #fff;
      background: linear-gradient(60deg, #ffd700 0%, #d4af37 25%, #c3931c 50%, #d4af37 75%, #ffd700 100%);
      text-align: center;
      font-size: 1.1em;
      line-height: 110%;
      font-weight: bold;
      padding: 1em; }
    #contents dl.ninteikou dd {
      border: 1px solid #ffd700;
      line-height: 140%;
      padding: 2em 3em;
      text-align: left;
      word-wrap: normal;
      word-break: normal;
      background-color: rgba(218, 165, 32, 0.05); }
      #contents dl.ninteikou dd div {
        padding: 0.5em 0 0;
        text-align: right; }
  #contents ul.ninteikou-kousi {
    margin: 2em auto 0em;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%; }
    #contents ul.ninteikou-kousi li {
      position: relative;
      width: calc(calc(100% - 40px) / 2);
      margin-bottom: 3em; }
      #contents ul.ninteikou-kousi li dl dt {
        color: #146165;
        font-size: 1.1em;
        line-height: 130%;
        font-weight: bold; }
        #contents ul.ninteikou-kousi li dl dt img {
          float: right;
          margin: 0 0 auto 10px; }
      #contents ul.ninteikou-kousi li dl dd {
        margin-bottom: 0.75em; }
        #contents ul.ninteikou-kousi li dl dd a {
          padding-left: 22px;
          background-image: url(../images/_base/32_linkB.png);
          background-repeat: no-repeat;
          background-position: left center;
          background-size: 18px auto;
          text-decoration: none; }
          #contents ul.ninteikou-kousi li dl dd a.tel {
            background-image: url(../images/_base/32_telB.png); }
          #contents ul.ninteikou-kousi li dl dd a.mail {
            background-image: url(../images/_base/32_mail2B.png); }
          #contents ul.ninteikou-kousi li dl dd a.insta {
            background-image: url(../images/_base/32_instaB.png); }
  #contents dl.or-aisatu {
    margin: -2em 0 3em; }
    #contents dl.or-aisatu dt {
      color: #fff;
      background-color: #f08300;
      text-align: center;
      font-size: 1.1em;
      line-height: 110%;
      font-weight: bold;
      padding: 0.5em; }
    #contents dl.or-aisatu dd {
      border: 1px solid #f08300;
      line-height: 140%;
      padding: 0.5em 190px 0.5em 1em;
      text-align: left;
      word-wrap: normal;
      word-break: normal;
      background-color: rgba(240, 131, 0, 0.05);
      background-image: url(../images/_photo/image0014.png);
      background-repeat: no-repeat;
      background-position: right 0.5em center;
      background-size: 170px auto; }
      #contents dl.or-aisatu dd div {
        padding: 0.5em 0 0;
        text-align: right; }
  #contents dl.or-newwin dt {
    padding-left: 35px;
    background-image: url(../images/_base/ecalic009_044.png);
    background-repeat: no-repeat;
    background-position: left center; }
    #contents dl.or-newwin dt:nth-of-type(2) {
      background-image: url(../images/_base/ecalic009_046.png); }
  #contents dl.or-newwin dd {
    margin: 0 0 0.5em 3em; }
    #contents dl.or-newwin dd a {
      padding-left: 20px;
      background-image: url(../images/_base/ico_opwin6a.gif);
      background-repeat: no-repeat;
      background-position: left center; }
  #contents ul.linklist {
    margin: 0 2em; }
    #contents ul.linklist li {
      position: relative; }
      #contents ul.linklist li a {
        position: relative;
        text-decoration: none;
        transition: .3s;
        display: inline-block;
        padding-left: 18px; }
        #contents ul.linklist li a:before {
          content: "";
          position: absolute;
          top: .2em;
          left: -3px;
          width: 15px;
          height: 15px;
          border-top: 1px solid #fff;
          border-right: 1px solid #fff;
          border-radius: 50%;
          background-color: #33f;
          transition: .3s; }
        #contents ul.linklist li a:after {
          content: "";
          position: absolute;
          top: .6em;
          left: 1px;
          -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
          transform: rotate(45deg);
          width: 4px;
          height: 4px;
          border-top: 1px solid #fff;
          border-right: 1px solid #fff; }
        #contents ul.linklist li a:hover {
          color: #f00; }
          #contents ul.linklist li a:hover:before {
            background-color: #f00; }
  #contents ul.osusumelist {
    margin: 0 1em 20px; }
    #contents ul.osusumelist li {
      position: relative;
      padding-left: 25px; }
    #contents ul.osusumelist li:before {
      content: "";
      position: absolute;
      top: .35em;
      left: 6px;
      -webkit-transform: rotate(50deg);
      -ms-transform: rotate(50deg);
      transform: rotate(50deg);
      width: 3px;
      height: 7px;
      border-right: 2px solid #60c;
      border-bottom: 2px solid #60c; }
    #contents ul.osusumelist li:after {
      content: "";
      position: absolute;
      top: .2em;
      left: 0;
      width: 15px;
      height: 15px;
      border: 1px solid #60c;
      border-radius: 2px; }
  #contents ul.pencil-list {
    margin: 0 1em 20px 1.0em; }
    #contents ul.pencil-list li {
      margin-bottom: 0.5em;
      padding-left: 25px;
      background-image: url(../images/_base/32_commentP.png);
      background-repeat: no-repeat;
      background-position: left top 4px;
      background-size: 18px auto; }
  #contents table.online,
  #contents table.online-center {
    width: 100%;
    margin: 0px 0px 30px;
    border: 1px solid #60c; }
    #contents table.online th,
    #contents table.online-center th {
      background-color: #60c;
      color: #fff;
      border: 1px solid #fff;
      text-align: center;
      padding: 0.5em 2em;
      white-space: nowrap;
      font-weight: bold;
      vertical-align: middle;
      font-size: 0.9em;
      line-height: 120%; }
    #contents table.online td,
    #contents table.online-center td {
      text-align: left;
      padding: 0.5em 1.0em;
      border: 1px solid #60c;
      font-size: 0.9em;
      line-height: 120%; }
      #contents table.online td em,
      #contents table.online-center td em {
        white-space: nowrap; }
    #contents table.online caption,
    #contents table.online-center caption {
      caption-side: bottom;
      text-align: right;
      font-size: 0.85em;
      line-height: 120%;
      padding-top: 0.25em;
      color: #5c1124; }
    #contents table.online tr:first-child th,
    #contents table.online tr:last-child th,
    #contents table.online-center tr:first-child th,
    #contents table.online-center tr:last-child th {
      border-top: none;
      border-bottom: none; }
    #contents table.online.yoko-th tr th:first-child,
    #contents table.online-center.yoko-th tr th:first-child {
      border-left: 1px solid #f08300; }
    #contents table.online.yoko-th tr th:last-child,
    #contents table.online-center.yoko-th tr th:last-child {
      border-right: 1px solid #f08300; }
    #contents table.online.yoko-th.english tr th:nth-child(2),
    #contents table.online-center.yoko-th.english tr th:nth-child(2) {
      width: 17em; }
  #contents table.online-center {
    margin-bottom: 20px; }
    #contents table.online-center td {
      text-align: center; }
  #contents table.biz {
    width: 100%;
    margin: 0px 0px 40px;
    border: 1px solid #f08300; }
    #contents table.biz colgroup col:first-child {
      width: 6em; }
    #contents table.biz th {
      background-color: #f08300;
      color: #fff;
      border: 1px solid #fff;
      text-align: center;
      padding: 0.5em 0.25em;
      white-space: nowrap;
      font-weight: bold;
      vertical-align: middle; }
    #contents table.biz td {
      text-align: left;
      padding: 0.5em 2em;
      border: 1px solid #f08300; }
    #contents table.biz tr:first-child th,
    #contents table.biz tr:last-child th {
      border-top: none;
      border-bottom: none; }
    #contents table.biz caption {
      caption-side: bottom;
      text-align: left;
      font-size: 0.95em;
      line-height: 120%;
      padding-top: 0.5em; }
  #contents ul.anch {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 0 1.0em; }
    #contents ul.anch > li:first-child {
      padding-right: 1.5em;
      width: 53%; }
    #contents ul.anch > li:last-child {
      width: 47%; }
    #contents ul.anch > li ol li {
      list-style: decimal;
      margin-left: 2em; }
  #contents div.box17 {
    margin: 2em 0 30px;
    position: relative;
    padding: 1.5em 3.0em;
    border-top: solid 1px #daa520;
    border-bottom: solid 1px #daa520; }
    #contents div.box17:before, #contents div.box17:after {
      content: '';
      position: absolute;
      top: -10px;
      width: 1px;
      height: -webkit-calc(100% + 20px);
      height: calc(100% + 20px);
      background-color: #daa520; }
    #contents div.box17:before {
      left: 10px; }
    #contents div.box17:after {
      right: 10px; }
    #contents div.box17 p {
      margin: 0;
      padding: 0; }
  #contents table.eri {
    width: 100%;
    margin: 0px 0px 30px;
    border: 1px solid #60c; }
    #contents table.eri th {
      background-color: #60c;
      color: #fff;
      border: 1px solid #fff;
      text-align: center;
      padding: 0.75em 0.5em;
      white-space: normal;
      vertical-align: middle;
      font-size: 1.0em;
      line-height: 120%; }
    #contents table.eri td {
      text-align: left;
      padding: 0.75em 2.0em;
      border: 1px solid #60c;
      font-size: 1.0em;
      line-height: 120%;
      width: 45%;
      vertical-align: top; }
    #contents table.eri tr th:first-child {
      border-left: 1px solid #60c; }
    #contents table.eri tr th:last-child {
      border-right: 1px solid #60c; }
    #contents table.eri tr:last-child th {
      border-bottom: 1px solid #60c; }
    #contents table.eri tr:first-child th:nth-child(2),
    #contents table.eri tr:first-child th:nth-child(3) {
      background-color: rgba(102, 0, 204, 0.6); }
    #contents table.eri.eri2 td {
      width: 90%;
      padding: 0.75em 3.0em; }
  #contents ul.eri-seito {
    margin: 10px 0 30px; }
    #contents ul.eri-seito li {
      position: relative;
      padding: 0.5em 1em;
      margin-bottom: 6px;
      background-color: rgba(255, 236, 175, 0.2);
      border-left: 2em solid #6600cc; }
      #contents ul.eri-seito li::before {
        position: absolute;
        left: -1.5em;
        content: "\002713";
        display: block;
        color: #fff; }
  #contents ul.jukouseinokoe {
    margin: 0em auto 3em;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%; }
    #contents ul.jukouseinokoe li {
      /*width: calc(calc(100% - 40px) / 2);*/
      width: 100%;
      margin-bottom: 3em; }
      #contents ul.jukouseinokoe li img {
        width: 180px;
        float: right;
        margin: 10px 0 0.25em 2em; }
        #contents ul.jukouseinokoe li img.Lsize {
          width: 220px;
          float: right;
          margin: 10px 0 0.25em 2em; }
      #contents ul.jukouseinokoe li h5::first-line {
        font-size: 1.15em;
        line-height: 130%; }
      #contents ul.jukouseinokoe li ol li {
        list-style: decimal;
        margin-left: 2em; }
  #contents dl.interview {
    margin-bottom: 1.5em;
    border-bottom: 1px solid #ccc; }
    #contents dl.interview dt {
      font-size: 1.1em;
      font-weight: bold;
      text-align: center;
      border-top: 1px solid #ccc;
      border-bottom: 1px solid #ccc;
      padding: 0.25em 0; }
    #contents dl.interview dd ul {
      display: flex; }
      #contents dl.interview dd ul li {
        width: 50%;
        box-sizing: border-box; }
        #contents dl.interview dd ul li:first-child {
          padding: 1em 1em 1em 0;
          border-right: 1px solid #ccc; }
        #contents dl.interview dd ul li:last-child {
          padding: 1em 0 1em 1em;
          border-left: 1px solid transparent; }
        #contents dl.interview dd ul li img {
          width: 80px;
          margin: 0.25em 1em 0.25em 0;
          float: left; }
    #contents dl.interview dd:first-of-type ul li img {
      width: 150px;
      margin: 0.25em 0 0.5em 1em;
      float: right; }
  #contents dl.privacy dt {
    color: #6e1a2b; }
    #contents dl.privacy dt:first-letter {
      font-size: 3em;
      float: left;
      color: #6e1a2b;
      margin-right: .25em; }
  #contents dl.privacy dd {
    margin: 0 0 1em 5em; }
    #contents dl.privacy dd ol li {
      margin: 0 0 0 3em;
      list-style-type: decimal; }
    #contents dl.privacy dd div {
      padding: 15px 60px;
      border: 1px solid #CCCCCC;
      border-radius: 5px;
      margin: 0.5em 0px 0px; }
      #contents dl.privacy dd div span {
        padding-left: 20px;
        background-image: url(../images/_base/i-tel.png);
        background-repeat: no-repeat;
        background-position: left center; }
  #contents #map iframe {
    margin: 0px 5px auto;
    width: 740px;
    height: 760px;
    box-shadow: 0px 0px 4px 3px #ddd;
    border-radius: 6px;
    border: 1px solid #cccccc; }
  #contents dl.access-setumei {
    margin: 0px auto 20px 30px; }
    #contents dl.access-setumei dt {
      font-size: 24px;
      text-align: left;
      font-weight: bold;
      margin-bottom: 5px; }
      #contents dl.access-setumei dt div {
        font-size: 13px; }
    #contents dl.access-setumei dd {
      margin-left: 30px;
      line-height: 150%; }
      #contents dl.access-setumei dd ul li {
        padding-left: 30px;
        background-image: url(../images/_base/32_mapB.png);
        background-repeat: no-repeat;
        background-size: 25px auto;
        line-height: 30px; }
        #contents dl.access-setumei dd ul li:nth-child(1) {
          background-position: left 0px top 6px; }
        #contents dl.access-setumei dd ul li:nth-child(3), #contents dl.access-setumei dd ul li:nth-child(4) {
          background-image: url(../images/_base/32_telB.png);
          background-position: left 3px top 7px; }
        #contents dl.access-setumei dd ul li:nth-child(2) {
          background-image: url(../images/_base/32_mailB.png);
          background-position: left 0px center; }
  #contents ul.sitemap {
    width: 100%;
    text-align: left;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    #contents ul.sitemap li {
      margin: 10px 0px 0px 0px;
      padding: 20px 50px;
      width: calc(calc(100% - 10px) / 2);
      border: 1px solid #CCCCCC;
      border-radius: 5px;
      font-size: 10pt; }
      #contents ul.sitemap li:nth-child(even) {
        margin: 10px 0px 0px 10px; }
      #contents ul.sitemap li a {
        font-weight: bold; }
        #contents ul.sitemap li a span {
          display: block; }
  #contents form#mailform {
    padding: 20px 20px 10px;
    margin: 5px 0px;
    text-align: center;
    width: auto;
    border: 1px solid #ccc;
    border-radius: 10px;
    background-color: #fbfbfb; }
    #contents form#mailform ul {
      display: flex;
      justify-content: space-between;
      width: 100%;
      margin: 0 0px 30px; }
      #contents form#mailform ul li {
        width: calc(calc(100% - 30px) / 2); }
        #contents form#mailform ul li dl.form {
          width: 100%;
          margin: 0px;
          overflow: hidden; }
          #contents form#mailform ul li dl.form dt {
            padding: 10px 0px 4px;
            vertical-align: top;
            font-size: 1.0em;
            white-space: nowrap; }
            #contents form#mailform ul li dl.form dt.hissu {
              background-image: url(../images/_base/hissu02.png);
              background-repeat: no-repeat;
              background-position: right 15px; }
            #contents form#mailform ul li dl.form dt span {
              margin: -0.25em 0px 0px;
              font-size: xx-small;
              color: #999999;
              line-height: 120%;
              font-weight: normal;
              padding-left: 6px; }
              #contents form#mailform ul li dl.form dt span.hissu {
                color: #CC0000; }
          #contents form#mailform ul li dl.form dd {
            padding: 0px 0px 5px 0px;
            text-align: left;
            font-weight: normal;
            vertical-align: top; }
            #contents form#mailform ul li dl.form dd label {
              display: block;
              margin-left: 2em;
              padding-left: 5px; }
            #contents form#mailform ul li dl.form dd input,
            #contents form#mailform ul li dl.form dd textarea,
            #contents form#mailform ul li dl.form dd select,
            #contents form#mailform ul li dl.form dd button {
              border: 1px solid #bbb;
              border-radius: 2px;
              font-size: 1.1em;
              color: #444444;
              margin-bottom: 3px;
              background-color: #fff;
              vertical-align: middle;
              font-family: inherit; }
              #contents form#mailform ul li dl.form dd input.width1,
              #contents form#mailform ul li dl.form dd textarea.width1,
              #contents form#mailform ul li dl.form dd select.width1,
              #contents form#mailform ul li dl.form dd button.width1 {
                width: 100%;
                padding: 7px 10px; }
              #contents form#mailform ul li dl.form dd input.width2, #contents form#mailform ul li dl.form dd input.width3,
              #contents form#mailform ul li dl.form dd textarea.width2,
              #contents form#mailform ul li dl.form dd textarea.width3,
              #contents form#mailform ul li dl.form dd select.width2,
              #contents form#mailform ul li dl.form dd select.width3,
              #contents form#mailform ul li dl.form dd button.width2,
              #contents form#mailform ul li dl.form dd button.width3 {
                width: 40%;
                padding: 7px 10px; }
              #contents form#mailform ul li dl.form dd input.width4,
              #contents form#mailform ul li dl.form dd textarea.width4,
              #contents form#mailform ul li dl.form dd select.width4,
              #contents form#mailform ul li dl.form dd button.width4 {
                width: 100%;
                height: 205px;
                resize: vertical;
                padding: 7px 10px; }
              #contents form#mailform ul li dl.form dd input:focus, #contents form#mailform ul li dl.form dd input:focus,
              #contents form#mailform ul li dl.form dd textarea:focus,
              #contents form#mailform ul li dl.form dd textarea:focus,
              #contents form#mailform ul li dl.form dd select:focus,
              #contents form#mailform ul li dl.form dd select:focus,
              #contents form#mailform ul li dl.form dd button:focus,
              #contents form#mailform ul li dl.form dd button:focus {
                background-color: #f08300;
                color: #ffffff;
                border: 1px solid #F08300; }
            #contents form#mailform ul li dl.form dd .cmt {
              font-size: 0.8em;
              line-height: 140%; }
  #contents div#mailform {
    /*confirm,error*/
    padding: 20px 20px 10px;
    margin: 5px 10px;
    text-align: center;
    width: auto;
    border: 1px solid #ccc;
    border-radius: 10px;
    background-color: #fbfbfb; }
    #contents div#mailform dl.confirmform {
      margin: 30px 50px;
      width: auto;
      overflow: hidden; }
      #contents div#mailform dl.confirmform dt {
        padding: 10px 0px 4px;
        vertical-align: top;
        font-size: 1.0em;
        white-space: nowrap; }
        #contents div#mailform dl.confirmform dt span.hissu {
          color: #CC0000; }
      #contents div#mailform dl.confirmform dd {
        padding: 10px 10px;
        text-align: left;
        font-weight: normal;
        vertical-align: top;
        background-color: #fff;
        font-size: 1.1em; }
        #contents div#mailform dl.confirmform dd span.msg {
          /*エラー説明*/
          color: #ff3333; }
    #contents div#mailform input {
      border: 1px solid #bbb;
      border-radius: 2px;
      font-size: 1.1em;
      color: #444444;
      margin-bottom: 3px;
      background-color: #fff;
      vertical-align: middle;
      font-family: inherit; }
    #contents div#mailform .cmt {
      font-size: 0.8em;
      line-height: 140%; }
  #contents .submitbutton {
    padding: 0px 0px 40px;
    text-align: center;
    clear: both; }
    #contents .submitbutton input.submit,
    #contents .submitbutton input.reset {
      padding: 5px 20px;
      font-size: 1.2em;
      margin: 2px 5px; }
      #contents .submitbutton input.submit:hover,
      #contents .submitbutton input.reset:hover {
        background-color: #fafafa; }
  #contents #err_box {
    background-color: #fefefe;
    width: 100%;
    padding: 20px 50px;
    margin: 20px auto 30px 0px;
    border-top: 1px solid #ff0000;
    border-bottom: 1px solid #ff0000;
    color: #FF0000; }
  #contents .inquiry_ng {
    color: #CC0000; }

/* メディアクエリ（@media）
===================================================== */
@media screen and (max-width: 768px) {
  /* 01 base
  ===================================================== */
  img {
    height: auto;
    width: auto;
    max-width: 100%; }

  .mobile {
    display: inline-block; }

  .pc {
    display: none; }

  .imgR,
  .imgL {
    float: none;
    display: block;
    margin: 5px auto 5px;
    max-width: 95%; }

  body {
    line-height: 130%;
    font-size: 90%;
    -webkit-text-size-adjust: 100%;
    /*文字の大きさが自動で調整OFF*/
    left: 0;
    position: relative;
    z-index: 0; }

  header {
    margin: 0px auto;
    width: 100%;
    min-width: 100%;
    position: fixed;
    height: 110px;
    top: 0;
    left: 0;
    background-size: auto 90px;
    background-position: right 55px bottom;
    background-color: #fff;
    box-shadow: 0 0 8px #ccc;
    z-index: 10010;
    /*.drawerBGwrappe z-index: 10011; */
    /*nav z-index: 10012; */ }
    header h1 {
      margin: auto auto;
      width: 100%;
      min-width: 100%;
      position: absolute;
      height: 25px;
      padding: 2px 2%;
      font-size: 9px;
      color: #999;
      line-height: 110%; }
      header h1 span {
        display: block;
        padding-left: 0; }
    header #headerLogo {
      background-image: none;
      padding: 0 0; }
      header #headerLogo li:nth-child(1), header #headerLogo li:nth-child(2) {
        display: none; }
      header #headerLogo li#headerLogo-M {
        display: inline-block;
        margin-left: 5%; }
        header #headerLogo li#headerLogo-M img {
          height: 75px; }
    header #topNav {
      margin: auto auto;
      width: 50px;
      min-width: 50px;
      position: fixed;
      top: 35px;
      right: 3%;
      width: 50px;
      height: 44px;
      /*trigerの外枠*/
      background-color: #fff;
      border: 1px solid #ddd;
      z-index: 10015;
      /*.drawerBGwrapper z-index: 10011; */
      /*header z-index: 10010; */ }
      header #topNav li:nth-child(1), header #topNav li:nth-child(2), header #topNav li:nth-child(3) {
        display: none; }
      header #topNav li#topNav-M {
        display: inline-block;
        margin: 10px 10px; }
    header #headerMail {
      display: none; }

  /*nobile-trigger #topNav-Mにclass指定*/
  .menu-trigger {
    display: inline-block;
    transition: all .4s;
    position: relative;
    width: 30px;
    height: 24px; }
    .menu-trigger span {
      display: inline-block;
      transition: all .4s;
      position: absolute;
      left: 0;
      width: 100%;
      height: 4px;
      background-color: #333;
      border-radius: 4px; }
      .menu-trigger span:nth-of-type(1) {
        top: 0; }
      .menu-trigger span:nth-of-type(2) {
        top: 10px; }
      .menu-trigger span:nth-of-type(3) {
        bottom: 0; }

  /*OPEN時の動き*/
  .menu-trigger.open span:nth-of-type(1) {
    transform: translateY(10px) rotate(-45deg); }
  .menu-trigger.open span:nth-of-type(2) {
    opacity: 0; }
  .menu-trigger.open span:nth-of-type(3) {
    transform: translateY(-10px) rotate(45deg); }

  .drawerBGwrapper.open {
    display: block;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10009;
    background-color: rgba(79, 79, 79, 0.3); }

  /*nav*/
  nav {
    background: #aaa; }

  nav.drawer_nav {
    margin: auto auto;
    width: calc(100% - 50px - 6%);
    min-width: calc(100% - 50px - 6%);
    position: fixed;
    display: block;
    /*header height 110px*/
    top: 0px;
    left: calc(-100% - 50px - 6%);
    /*trigerを画面上に残す*/
    height: 100%;
    background-color: #aaa;
    color: #fff;
    overflow: hidden;
    box-shadow: 10px 0 10px 0px rgba(0, 0, 0, 0.2);
    transition: ease .5s;
    z-index: 10012;
    /*header z-index: 10010; */
    /*.drawerBGwrappe z-index: 10009; */ }
    nav.drawer_nav.open {
      top: 0px;
      left: 0px;
      box-shadow: 0 0 8px #ccc; }
    nav.drawer_nav ul {
      margin: 0 0;
      width: 100%;
      min-width: 100%;
      position: relative;
      height: auto;
      overflow: visible;
      display: block;
      background-image: none; }
      nav.drawer_nav ul li {
        height: 35px;
        overflow: hidden;
        width: 100%;
        margin: 0 auto;
        display: block;
        padding: 0; }
        nav.drawer_nav ul li div,
        nav.drawer_nav ul li a,
        nav.drawer_nav ul li a:hover,
        nav.drawer_nav ul li a.active {
          display: block;
          color: #fff;
          height: 100%;
          width: 100%;
          line-height: 35px;
          text-decoration: none;
          background: #aaa;
          border-top: 1px solid #ccc;
          border-right: none;
          border-bottom: 1px solid #888;
          border-left: none;
          background-image: none;
          font-weight: normal;
          padding: 0px 3px 0;
          text-shadow: 0px 0px 0px #666;
          letter-spacing: 0em; }
          nav.drawer_nav ul li div span,
          nav.drawer_nav ul li a span,
          nav.drawer_nav ul li a:hover span,
          nav.drawer_nav ul li a.active span {
            display: inline-block;
            font-size: 0.8em;
            line-height: 35px;
            padding-left: 0.5em; }
            nav.drawer_nav ul li div span.form,
            nav.drawer_nav ul li a span.form,
            nav.drawer_nav ul li a:hover span.form,
            nav.drawer_nav ul li a.active span.form {
              background-image: url(../images/_base/32_mail2W.png);
              background-repeat: no-repeat;
              background-position: left center;
              background-size: 17px auto;
              font-size: 1.0em;
              padding-left: 24px; }
            nav.drawer_nav ul li div span.home,
            nav.drawer_nav ul li a span.home,
            nav.drawer_nav ul li a:hover span.home,
            nav.drawer_nav ul li a.active span.home {
              background-image: url(../images/_base/32_homeW.png);
              background-repeat: no-repeat;
              background-position: left top 7px;
              background-size: 18px auto;
              font-size: 1.0em;
              padding-left: 26px; }
        nav.drawer_nav ul li:nth-child(1) {
          display: none; }
        nav.drawer_nav ul li:nth-child(2), nav.drawer_nav ul li:nth-child(10), nav.drawer_nav ul li:nth-child(11), nav.drawer_nav ul li:nth-child(12), nav.drawer_nav ul li:nth-child(13), nav.drawer_nav ul li:nth-child(14), nav.drawer_nav ul li:last-child {
          display: block; }
        nav.drawer_nav ul li:nth-child(2), nav.drawer_nav ul li:nth-child(3), nav.drawer_nav ul li:nth-child(10), nav.drawer_nav ul li:nth-child(14) {
          margin-top: 10px; }
        nav.drawer_nav ul li:last-child {
          height: auto;
          padding-top: 1em; }
          nav.drawer_nav ul li:last-child div {
            padding: 0;
            border: none;
            line-height: 150%;
            font-size: 0.8em;
            letter-spacing: 0; }
            nav.drawer_nav ul li:last-child div strong {
              font-size: 1.7em;
              line-height: 150%; }
            nav.drawer_nav ul li:last-child div a.email {
              /*不使用*/
              border: none;
              padding: 0.5em 0 0;
              font-size: 1.0em; }

  body#idx nav.drawer_nav ul li:nth-child(2) a,
  body#pca nav.drawer_nav ul li:nth-child(3) a,
  body#pilates nav.drawer_nav ul li:nth-child(4) a,
  body#school nav.drawer_nav ul li:nth-child(5) a,
  body#online nav.drawer_nav ul li:nth-child(6) a,
  body#eri nav.drawer_nav ul li:nth-child(7) a,
  body#jukousei nav.drawer_nav ul li:nth-child(8) a,
  body#iseal nav.drawer_nav ul li:nth-child(9) a,
  body#privacy nav.drawer_nav ul li:nth-child(10) a,
  body#sitemap nav.drawer_nav ul li:nth-child(11) a,
  body#access nav.drawer_nav ul li:nth-child(13) a,
  body#inquiry nav.drawer_nav ul li:nth-child(14) a {
    background: #bbb;
    pointer-events: none; }

  /*headerImg*/
  #headerImg {
    display: none; }

  #headerImg-M {
    margin: 0px 0;
    width: 100%;
    min-width: 100%;
    position: relative;
    /*headerのfix分*/
    margin: 110px 0 0;
    display: block; }
    #headerImg-M img {
      vertical-align: baseline; }

  /*footer*/
  footer {
    margin: 0px 0;
    width: 100%;
    min-width: 100%;
    position: relative; }
    footer ul#footerNav1,
    footer ul#footerNav2 {
      display: none; }
    footer address {
      margin: 0px 1%;
      width: 98%;
      min-width: 98%;
      position: relative;
      margin-top: 10px;
      line-height: 1.2em;
      padding: 15px 0;
      font-size: 0.8em; }

  #container,
  #container.idx {
    margin: 0px 2%;
    width: 96%;
    min-width: 96%;
    position: relative;
    margin-top: 10px; }
    #container #contents,
    #container.idx #contents {
      margin: 0px 0;
      width: 100%;
      min-width: 100%;
      position: relative;
      float: none; }
    #container aside,
    #container.idx aside {
      margin: 0px 0;
      width: 100%;
      min-width: 100%;
      position: relative;
      float: none; }
      #container aside .snsicon,
      #container.idx aside .snsicon {
        margin-bottom: 15px; }
        #container aside .snsicon img,
        #container.idx aside .snsicon img {
          width: 70px;
          height: auto; }
      #container aside .fbUmekomi,
      #container aside #siryouseikyuu,
      #container aside #gakkou,
      #container aside #setumeikai,
      #container aside ul.s-bnr,
      #container.idx aside .fbUmekomi,
      #container.idx aside #siryouseikyuu,
      #container.idx aside #gakkou,
      #container.idx aside #setumeikai,
      #container.idx aside ul.s-bnr {
        display: none; }

  #page-top p {
    display: none; }
    #page-top p a.move-page-top {
      display: none; }

  /* 22 Reset A-tag
  ===================================================== */
  #contents p {
    margin: 0em 0em 0.5em; }
  #contents img.c-photo,
  #contents img.c-photo2 {
    margin: 0px 0px 1.0em; }
  #contents h2 {
    margin: 0px 0px 10px;
    text-align: center;
    font-size: 16px;
    padding: 0.25em 2%;
    text-indent: 0;
    line-height: 130%; }
    #contents h2.plain {
      font-size: 16px; }
      #contents h2.plain span {
        font-size: 13px; }
  #contents .mezasu h2 {
    font-size: 20px;
    line-height: 130%; }
  #contents h3 {
    position: relative;
    width: calc(100% - 0px);
    height: auto;
    margin: 0 auto 0.5em;
    padding: 1em 0;
    text-indent: 1.5em;
    border: 1px solid #fff;
    font-size: 1.0em;
    background-color: #f9f9f9;
    line-height: 100%; }
    #contents h3::after {
      position: absolute;
      top: .5em;
      left: .5em;
      content: '';
      width: 6px;
      height: calc(100% - 1em);
      background-color: #1b2f5b;
      border-radius: 4px; }
    #contents h3 span {
      display: none; }
  #contents h4 {
    margin: 0em 0 0.5em;
    width: 100%;
    font-size: 1.0em;
    font-weight: bold;
    text-align: left;
    color: #1b2f5b; }
    #contents h4::after {
      display: none; }

  /* local
  ===================================================== */
  #contents {
    /*  index */
    /* pca */
    /*pilatice*/
    /*school*/
    /*online*/
    /*jukousei*/
    /*eri*/
    /* privacy */
    /* sitemap */
    /* access map */
    /* mailform */
    /*//contents*/ }
    #contents dl.teikei {
      margin: 0px 0px 20px;
      background-position: -30px -30px; }
      #contents dl.teikei dt {
        padding: 15px 15px 25px;
        font-size: 16px;
        line-height: 22px; }
      #contents dl.teikei p {
        padding: 0px 1em 0.5em;
        font-size: 1.05em; }
    #contents dl.nintei {
      margin: 4px 0px 20px; }
      #contents dl.nintei dt {
        padding: 15px 15px 15px;
        font-size: 18px;
        line-height: 22px; }
      #contents dl.nintei dd {
        padding: 10px 20px;
        font-size: 1.0em;
        line-height: 140%; }
    #contents #news {
      display: none; }
    #contents #news-M {
      display: block;
      margin: 0px 0px 20px; }
    #contents div.center-photo div {
      font-size: 0.8em; }
    #contents div.photo-group figure figcaption {
      font-size: 0.8em; }
    #contents div.center-photo-txt {
      font-size: 0.8em; }
    #contents dl.teikei2 {
      margin: 0px 0px 20px; }
      #contents dl.teikei2 dt {
        padding: 15px 15px 15px;
        font-size: 14px;
        line-height: 22px;
        text-align: left; }
        #contents dl.teikei2 dt div {
          margin: 15px 0px 0px;
          padding: 10px 10px;
          font-size: 16px; }
          #contents dl.teikei2 dt div.name {
            font-size: 90%; }
      #contents dl.teikei2 dd p {
        padding: 0px 1% 20px;
        font-size: 1.0em; }
    #contents ul.domybest {
      margin: 0px 2% 20px;
      width: 96%; }
      #contents ul.domybest li {
        display: inline;
        padding: 0; }
    #contents ul.domybest2 {
      width: 96%;
      margin: 0px 2% 0em;
      text-align: left; }
      #contents ul.domybest2 li {
        width: auto;
        padding: 2% 4%; }
    #contents div.table-scroll {
      width: 100%;
      overflow-x: auto;
      margin-bottom: 30px; }
      #contents div.table-scroll::-webkit-scrollbar {
        height: 6px; }
      #contents div.table-scroll::-webkit-scrollbar-thumb {
        background: #ccc;
        border-radius: 3px; }
      #contents div.table-scroll > table {
        min-width: 750px;
        margin-bottom: 15px;
        /* 必要なら少しだけ余白を足す */ }
    #contents table.kamokuhyou td {
      white-space: normal; }
    #contents table.kamokuhyou.kamokuhyouL {
      font-size: 0.9em;
      line-height: 120%; }
      #contents table.kamokuhyou.kamokuhyouL th,
      #contents table.kamokuhyou.kamokuhyouL td {
        padding: 0.25em 0.25em; }
    #contents table.cal th {
      display: block;
      white-space: normal;
      border: none;
      border-top: 1px #f08300 solid; }
    #contents table.cal td {
      display: block;
      white-space: normal;
      border: none;
      border-top: 1px #f08300 solid; }
    #contents table.cal thead th {
      border-top: 5px #f08300 double; }
    #contents dl.ninteikou {
      margin: 0 0 1.5em; }
      #contents dl.ninteikou dt,
      #contents dl.ninteikou dd {
        padding: 1em; }
    #contents ul.ninteikou-kousi,
    #contents ul.jukouseinokoe {
      margin: 1em auto 1.5em;
      display: flex;
      flex-direction: column;
      width: 100%; }
      #contents ul.ninteikou-kousi li,
      #contents ul.jukouseinokoe li {
        width: 100%; }
    #contents ul.ac-english {
      display: block;
      margin: 0 2% 2em;
      width: 96%; }
      #contents ul.ac-english li {
        width: 100%; }
        #contents ul.ac-english li:nth-child(3) {
          order: 3; }
        #contents ul.ac-english li:nth-child(4) {
          order: 4; }
        #contents ul.ac-english li.photoL, #contents ul.ac-english li.photoR {
          width: 100%;
          padding: 0em 10%;
          text-align: center; }
    #contents dl.or-aisatu {
      display: block;
      margin: 0 2% 2em;
      width: 96%; }
      #contents dl.or-aisatu dd {
        padding: 170px 0.5em 0.5em 0.5em;
        background-position: center top 10px;
        background-size: 150px auto; }
    #contents dl.or-newwin {
      display: block;
      margin: 0 2% 2em;
      width: 96%; }
      #contents dl.or-newwin dt {
        padding: 5px 0 5px 35px; }
      #contents dl.or-newwin dd {
        margin: 0 0 0.5em 2em; }
    #contents ul.osusumelist,
    #contents ul.pencil-list {
      margin: 0 0 20px; }
    #contents table.online th,
    #contents table.online td,
    #contents table.online-center th,
    #contents table.online-center td {
      padding: 0.25em 0.5em; }
    #contents table.online.yoko-th.english tr th:nth-child(2),
    #contents table.online-center.yoko-th.english tr th:nth-child(2) {
      width: 15em; }
    #contents table.biz colgroup col:first-child {
      width: 3em; }
    #contents ul.anch {
      display: block; }
      #contents ul.anch > li:first-child, #contents ul.anch > li:last-child {
        padding-right: 0;
        width: 100%; }
      #contents ul.anch > li img {
        margin-top: 1em;
        width: 100%; }
    #contents dl.interview dd:first-of-type ul li img {
      width: 150px;
      margin: 0.25em auto 1em;
      float: none;
      display: block; }
    #contents table.eri th {
      padding: 0.25em 0.5em; }
    #contents table.eri td {
      padding: 0.25em 0.5em;
      vertical-align: middle; }
    #contents table.eri.eri2 td {
      padding: 0.75em 1.0em; }
    #contents dl.privacy {
      margin-bottom: 2em; }
      #contents dl.privacy dt:first-letter {
        font-size: 2.5em; }
      #contents dl.privacy dd {
        margin: 0 .5em 1em 3em; }
        #contents dl.privacy dd div {
          padding: 15px 15px;
          border: 1px solid #6e1a2b;
          margin: 0.5em 0px 0px; }
        #contents dl.privacy dd ol li {
          margin: 0 0 0 1.5em; }
    #contents ul.sitemap {
      margin: 0 0 20px; }
      #contents ul.sitemap li {
        flex-direction: column;
        margin: 10px 0 0px;
        padding: 10px 2em;
        width: 100%;
        height: auto;
        background: linear-gradient(#fff, #eee);
        line-height: 140%; }
        #contents ul.sitemap li:nth-child(even) {
          margin: 10px 0 0px; }
    #contents #map {
      width: 100%;
      position: relative;
      padding-bottom: 120%;
      /*これが縦横比*/
      height: 0;
      overflow: hidden;
      margin-bottom: 2em; }
      #contents #map iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100% !important;
        height: 100% !important;
        box-shadow: none; }
    #contents dl.access-setumei {
      margin: 0px 1% 20px; }
      #contents dl.access-setumei dd {
        margin-left: 0; }
        #contents dl.access-setumei dd li:nth-child(3),
        #contents dl.access-setumei dd li:nth-child(4) {
          margin-left: 20px; }
    #contents form#mailform {
      padding: 2% 2%; }
      #contents form#mailform ul {
        margin: 0 0px 30px;
        display: block; }
        #contents form#mailform ul li {
          width: 100%; }
          #contents form#mailform ul li dl.form {
            width: auto;
            margin: 0px auto auto; }
            #contents form#mailform ul li dl.form dt {
              padding: 1% 2%;
              width: auto; }
              #contents form#mailform ul li dl.form dt span {
                margin: 0em 0px 0px;
                font-size: small;
                padding-left: 5px;
                display: inline; }
              #contents form#mailform ul li dl.form dt.hissu {
                background-position: right center; }
            #contents form#mailform ul li dl.form dd {
              padding: 0px 2% 5px;
              min-height: auto; }
              #contents form#mailform ul li dl.form dd input,
              #contents form#mailform ul li dl.form dd textarea,
              #contents form#mailform ul li dl.form dd select {
                font-size: 1.1em;
                padding: 3px 3px; }
                #contents form#mailform ul li dl.form dd input.width1,
                #contents form#mailform ul li dl.form dd textarea.width1,
                #contents form#mailform ul li dl.form dd select.width1 {
                  width: 100%; }
                #contents form#mailform ul li dl.form dd input.width4,
                #contents form#mailform ul li dl.form dd textarea.width4,
                #contents form#mailform ul li dl.form dd select.width4 {
                  width: 100%;
                  height: 10em; }
    #contents div#mailform {
      /*confirm,error*/
      padding: 0;
      margin: 0;
      border: none;
      background-color: #fff; }
      #contents div#mailform dl.confirmform {
        width: auto;
        margin: 0px auto auto; }
        #contents div#mailform dl.confirmform dt {
          margin: 0px 2%;
          padding: 1% 2%;
          width: auto;
          font-size: 0.9em;
          float: none;
          background: #efefef;
          border-radius: 3px;
          color: #444; }
        #contents div#mailform dl.confirmform dd {
          padding: 2% 2%;
          border-bottom: none;
          margin: 0px 2%;
          font-size: 1.0em; }
    #contents submitbutton {
      padding: 10px 0px 30px; }
      #contents submitbutton input.submit,
      #contents submitbutton input.reset {
        padding: 5px 20px; }
    #contents #err_box {
      width: 90%;
      padding: 3%;
      margin: 50px 2% 20px; }

  /* 削除しないこと
  ===================================================== */ }
/* ------------------------------------------------
mediaQueriesの指定を入れておきます。
------------------------------------------------ */
/* ===========================================
タブレット系 480 - 768
=========================================== */
@media screen and (min-width: 480px) and (max-width: 768px) {
  .imgL {
    float: left;
    display: block;
    margin: 0 2em 10px 0;
    max-width: 49%; }

  .imgR {
    float: right;
    display: block;
    margin: 0 0 10px 2em;
    max-width: 49%; }

  header {
    background-position: right 100px bottom; }

  /* 削除しないこと
  =========================================== */ }

/*# sourceMappingURL=contents2026.css.map */
