@charset "UTF-8";
/* outline
--------------------------------------------------*/
body {
  font-family: Avenir , "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
  line-height: 1.8;
  color: #333;
  min-width: 1020px; }
  body.active {
    overflow: hidden; }

@media screen and (max-width: 767px) {
  body {
    min-width: 1%;
    line-height: 1.5;
    position: relative;
    overflow-x: hidden; } }
.pcOnly {
  display: block; }

.spOnly {
  display: none; }

@media screen and (max-width: 767px) {
  .pcOnly {
    display: none; }

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

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section {
  display: block; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

address, caption, cite, code, dfn, th, var {
  font-style: normal;
  font-weight: normal; }

body {
  line-height: 1;
  font-size: 0.625em;
  -webkit-text-size-adjust: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none; }

del {
  text-decoration: line-through; }

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

mark {
  background-color: #ff0;
  color: #000; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

caption, th {
  text-align: left; }

fieldset, img {
  vertical-align: top;
  max-width: 100%;
  height: auto;
  -webkit-backface-visibility: hidden; }

img {
  -ms-interpolation-mode: bicubic; }

ol, ul {
  list-style: none; }

input, textarea, select {
  font-family: inherit;
  font-weight: inherit;
  border-radius: 0; }

label, select, [type="checkbox"], [type="submit"] {
  cursor: pointer; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #000; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%; }

/* clearfix
--------------------------------------------------*/
.clearfix {
  zoom: 1; }

.clearfix:after {
  content: "";
  display: block;
  clear: both; }

/* mouseover
--------------------------------------------------*/
.over:hover {
  transition: all .5;
  opacity: .7; }

/* link
--------------------------------------------------*/
a {
  color: #000; }
  a:link, a:active, a:visited {
    text-decoration: underline; }
  a:hover, a:focus {
    text-decoration: none; }

/* header
------------------------------*/
header.global {
  text-align: center;
  position: relative;
  padding: 30px 0;
  background: #fff; }
  header.global h1 img {
    width: 225px; }
  header.global a.reserve {
    display: block;
    position: absolute;
    top: 48px;
    right: 30px;
    padding: 35px 0;
    width: 190px;
    background: #c50018;
    border-radius: 5px;
    text-align: center;
    text-decoration: none;
    color: #fff;
    font-size: 20px;
    font-style: italic;
    font-weight: bold;
    line-height: 28px; }
    header.global a.reserve:hover {
      color: #f4d800;
      text-decoration: underline; }
    header.global a.reserve.spOnly {
      display: none; }
  header.global button {
    display: none; }
  header.global ul {
    display: block;
    margin-top: 30px; }
    header.global ul li {
      display: inline-block;
      vertical-align: top; }
      header.global ul li + li:before {
        content: "●";
        color: #c50018;
        margin: 0 10px;
        font-size: 27px;
        line-height: 27px; }
      header.global ul li a {
        background: #fff;
        display: inline-block;
        vertical-align: top; }
        header.global ul li a img {
          height: 27px; }
        header.global ul li a:hover {
          background: #c50018; }
  @media screen and (max-width: 767px) {
    header.global {
      padding: 0;
      height: 70px; }
      header.global h1 img {
        width: 101px;
        margin-top: 9px; }
      header.global a.reserve {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        right: inherit;
        padding: 20px 0;
        width: 70px;
        height: 70px;
        border-radius: 0;
        font-size: 10px;
        line-height: 14px;
        box-sizing: border-box; }
        header.global a.reserve:hover {
          color: #f4d800;
          text-decoration: underline; }
        header.global a.reserve.pcOnly {
          display: none; }
        header.global a.reserve.spOnly {
          display: block; }
      header.global button {
        display: block;
        background: none;
        border: none;
        padding: 12px 0;
        width: 70px;
        height: 70px;
        color: #333;
        letter-spacing: 0.1em;
        cursor: pointer;
        position: absolute;
        top: 0;
        right: 0;
        z-index: 1001;
        text-align: center;
        outline: none;
        background: #f4d800;
        box-sizing: border-box; }
        header.global button span.bar {
          display: block;
          height: 2px;
          background-color: #000;
          margin: 9.5px 20px;
          width: 30px;
          transition: all 0.2s;
          transform-origin: 0 0; }
        header.global button.active span.bar {
          width: 34px;
          margin: 10px 20px 10px 24px; }
        header.global button.active .bar1 {
          transform: rotate(45deg); }
        header.global button.active .bar2 {
          opacity: 0; }
        header.global button.active .bar3 {
          transform: rotate(-45deg); }
      header.global ul {
        opacity: 0;
        pointer-events: none;
        transition: all .5s;
        width: 100%;
        height: calc(100vh - 70px);
        margin: 0;
        position: absolute;
        top: 70px;
        left: 0;
        background: #daeaf6;
        z-index: 10; }
        header.global ul li {
          display: block;
          margin: 0 20px; }
          header.global ul li + li {
            border-top: 1px solid #c0bfbe; }
          header.global ul li + li:before {
            content: "";
            display: none; }
          header.global ul li a {
            background: none;
            display: block;
            padding: calc((100vh - 178px) / 8) 0;
            width: 100%; }
            header.global ul li a img {
              height: 27px; }
            header.global ul li a:hover {
              background: none; }
        header.global ul.active {
          opacity: 1;
          pointer-events: all; } }

/* access
------------------------------*/
.access {
  position: relative;
  margin: 80px 0 0; }
  .access p {
    margin: 25px 0;
    text-align: center;
    font-size: 14px;
    line-height: 24px; }
    .access p span {
      padding: 0 1em; }
  .access #map {
    width: 100%;
    height: 380px; }
  .access .btn-red {
    position: absolute;
    bottom: -33px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%; }
  @media screen and (max-width: 767px) {
    .access {
      margin: 40px 0 0; }
      .access p {
        margin: 10px 0;
        font-size: 12px;
        line-height: 20px; }
        .access p span {
          padding: 0; }
      .access iframe {
        height: 190px; }
      .access .btn-red {
        bottom: -16px; } }

/* footer
------------------------------*/
footer.global {
  padding: 115px 0 0; }
  footer.global .shareLists {
    width: 440px;
    background: #deeaf6;
    margin: 0 auto;
    padding: 20px 0;
    text-align: center; }
    footer.global .shareLists li {
      display: inline-block;
      margin: 0 7px; }
      footer.global .shareLists li img {
        width: 120px; }
  footer.global .menu {
    margin: 50px 0;
    text-align: center; }
    footer.global .menu li {
      display: inline-block;
      margin: 0 2em;
      font-size: 14px; }
  footer.global small {
    display: block;
    background: #000;
    color: #fff;
    text-align: center;
    font-size: 12px;
    padding: 25px 0; }
  @media screen and (max-width: 767px) {
    footer.global {
      padding: 50px 0 0; }
      footer.global .shareLists {
        width: calc(100% - 30px);
        padding: 18px 0;
        text-align: center; }
        footer.global .shareLists li {
          display: inline-block;
          margin: 0 5px; }
          footer.global .shareLists li img {
            width: 72px; }
      footer.global .menu {
        margin: 25px 0 15px;
        text-align: center; }
        footer.global .menu li {
          display: inline-block;
          margin: 0.5em 1em;
          font-size: 10px; }
      footer.global small {
        font-size: 10px;
        padding: 12px 0; } }

.container {
  width: 1020px;
  margin: 50px auto 80px; }
  @media screen and (max-width: 767px) {
    .container {
      width: calc(100% - 30px);
      margin: 35px auto 50px; } }

.block-yellow {
  background: #f4d800;
  padding: 50px 0 80px; }
  .block-yellow .container {
    margin: 0 auto; }
  @media screen and (max-width: 767px) {
    .block-yellow {
      padding: 25px 0 35px; } }
.block-2col {
  display: flex;
  justify-content: space-between; }
  .block-2col > * {
    display: block;
    width: 500px; }
  @media screen and (max-width: 767px) {
    .block-2col {
      display: block; }
      .block-2col > * {
        width: 100%; }
        .block-2col > *:first-child {
          margin-bottom: 20px; } }

.titimg {
  height: 40px;
  text-align: center; }
  .titimg-img {
    height: 40px; }
  @media screen and (max-width: 767px) {
    .titimg {
      height: 20px; }
      .titimg-img {
        height: 20px; } }
  .titimg-black {
    height: 78px;
    text-align: center;
    background: #000;
    line-height: 78px; }
    .titimg-black-img {
      height: 32px;
      vertical-align: middle; }
    @media screen and (max-width: 767px) {
      .titimg-black {
        height: 38px;
        line-height: 38px; }
        .titimg-black-img {
          height: 16px; } }

.tittext-lblue {
  font-size: 40px;
  font-weight: bold;
  text-align: center;
  line-height: 75px;
  background: #daeaf6; }
  @media screen and (max-width: 767px) {
    .tittext-lblue {
      font-size: 20px;
      line-height: 50px; } }
.tittext-yellow {
  font-size: 24px;
  line-height: 40px;
  background: #f4d800;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .tittext-yellow {
      font-size: 12px;
      line-height: 22px; } }
.tittext-black {
  font-size: 24px;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .tittext-black {
      font-size: 12px; } }

.copy {
  text-align: center;
  font-size: 18px;
  font-weight: bold;
  margin: 30px 0; }
  @media screen and (max-width: 767px) {
    .copy {
      font-size: 12px;
      margin: 15px 0; } }

.btn-red {
  text-align: center; }
  .btn-red a {
    display: inline-block;
    font-size: 18px;
    font-weight: bold;
    color: #c50018;
    background: #fff;
    border: 4px solid #c50018;
    border-radius: 34px;
    line-height: 60px;
    padding: 0 50px;
    min-width: 150px;
    text-decoration: none;
    cursor: pointer; }
    .btn-red a:hover {
      color: #fff;
      background: #c50018; }
    @media screen and (max-width: 767px) {
      .btn-red a {
        font-size: 12px;
        border: 2px solid #c50018;
        border-radius: 16px;
        line-height: 32px;
        padding: 0 16px;
        min-width: 110px; } }
  .btn-red_l a {
    font-size: 24px; }
  @media screen and (max-width: 767px) {
    .btn-red_l a {
      font-size: 15px; } }

.article {
  font-size: 14px;
  line-height: 24px; }
  .article-date {
    font-size: 14px; }
  .article-tit {
    font-size: 26px;
    font-weight: normal;
    margin-top: 12px;
    margin-bottom: 40px; }
  .article p {
    margin: 0 0 1.5em;
    padding: 0;
    clear: both; }
  .article h2,
  .article h3 {
    clear: both;
    margin: 0 0 0.75em;
    padding: 1.5em 0 0; }
  .article h2:first-child,
  .article h3:first-child,
  .article h2 + h3 {
    padding-top: 0; }
  .article h2 {
    font-size: 24px;
    line-height: 40px;
    background: #f4d800;
    padding: 0 10px;
    margin-top: 2em; }
  .article h3 {
    font-size: 24px; }
  .article hr {
    background-color: #bbb;
    border: 0;
    height: 1px;
    margin-bottom: 1.5em; }
  .article ul,
  .article ol {
    margin: 0 0 1.5em 1.5em;
    padding: 0; }
  .article ul {
    list-style: disc; }
  .article ol {
    counter-reset: item; }
    .article ol li {
      display: block;
      position: relative; }
      .article ol li:before {
        content: counter(item);
        counter-increment: item;
        font-weight: 800;
        left: -1.5em;
        position: absolute; }
  .article li > ul,
  .article li > ol {
    margin-bottom: 0;
    margin-left: 1.5em; }
  .article table {
    border-collapse: collapse;
    margin: 0 0 1.5em;
    border-color: #fff;
    border: 1px solid #bbb;
    font-size: 20px; }
    .article table.aligncenter {
      display: table; }
    .article table tbody {
      width: 100%;
      border: none; }
    .article table tr {
      border-bottom: 1px solid #bbb;
      width: 100%; }
    .article table tr:last-child {
      border-bottom: none; }
    .article table thead th {
      border-bottom: 2px solid #bbb;
      padding-bottom: 0.5em;
      background: #eee; }
    .article table th {
      padding: 0.8em 1.3em;
      min-width: 7em;
      text-align: left;
      background: #eee; }
    .article table td {
      padding: 0.8em 1.2em;
      border: none; }
  .article .aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto; }
  .article .alignleft {
    float: left;
    margin: 0.5em 1em 0.5em 0; }
  .article .alignright {
    float: right;
    margin: 0.5em 0 0.5em 1em; }
  .article iframe#cr {
    width: 1020px; }
  .article .btn-red {
    margin-top: 50px; }
    .article .btn-red#reserve {
      display: none; }
  .article .faq div {
    width: 660px;
    margin: 0 auto 30px; }
    .article .faq div dt {
      background: #f4d800;
      font-size: 20px;
      font-weight: bold;
      padding: 18px 30px;
      border-radius: 10px;
      position: relative;
      cursor: pointer; }
      .article .faq div dt:after {
        content: "＋";
        position: absolute;
        right: 15px;
        font-size: 30px; }
      .article .faq div dt.open {
        border-radius: 10px 10px 0 0; }
        .article .faq div dt.open:after {
          content: "－"; }
    .article .faq div dd {
      background: #eee;
      font-size: 20px;
      padding: 18px 30px;
      border-radius: 0 0 10px 10px;
      display: none; }
  @media screen and (max-width: 767px) {
    .article .faq div {
      width: 100%;
      margin: 0 auto 20px; }
      .article .faq div dt {
        font-size: 14px;
        padding: 10px 20px;
        border-radius: 5px; }
        .article .faq div dt:after {
          content: "＋";
          position: absolute;
          right: 10px;
          font-size: 20px; }
        .article .faq div dt.open {
          border-radius: 5px 5px 0 0; }
          .article .faq div dt.open:after {
            content: "－"; }
      .article .faq div dd {
        font-size: 14px;
        padding: 10px 20px;
        border-radius: 0 0 5px 5px; } }
  @media screen and (max-width: 767px) {
    .article {
      font-size: 12px;
      line-height: 17px; }
      .article-date {
        font-size: 10px; }
      .article-tit {
        font-size: 16px;
        margin-top: 8px;
        margin-bottom: 20px; }
      .article h2 {
        font-size: 12px;
        line-height: 22px; }
      .article h3 {
        font-size: 12px; }
      .article .alignleft,
      .article .alignright {
        display: block;
        margin-left: auto;
        margin-right: auto;
        float: none; }
      .article iframe#cr {
        display: none; }
      .article .btn-red {
        margin-top: 25px; }
        .article .btn-red#reserve {
          display: block; }
      .article table {
        font-size: 10px;
        width: 100%; }
        .article table tbody {
          width: 100%; }
          .article table tbody th {
            min-width: inherit; } }

.list-article {
  margin-bottom: 80px; }
  .list-article li {
    border-bottom: 1px solid #c2c0c0;
    padding: 18px 0; }
    .list-article li a {
      font-size: 18px;
      line-height: 24px;
      text-decoration: none; }
      .list-article li a date {
        display: inline-block;
        width: 5em;
        margin-right: 2em;
        vertical-align: top; }
      .list-article li a span {
        display: inline-block;
        width: calc(100% - 7em); }
      .list-article li a:hover date, .list-article li a:hover span {
        text-decoration: underline; }
  @media screen and (max-width: 767px) {
    .list-article {
      margin-bottom: 40px; }
      .list-article li a {
        font-size: 12px;
        line-height: 18px; }
        .list-article li a date {
          margin-right: 1em; }
        .list-article li a span {
          width: calc(100% - 6em); } }

.list-thumbnail {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin: 30px auto 20px;
  width: 1100px; }
  .list-thumbnail li {
    width: 275px; }
    .list-thumbnail li a {
      display: block;
      text-decoration: none; }
      .list-thumbnail li a figure {
        background: #fff; }
      .list-thumbnail li a date {
        font-size: 14px;
        display: block;
        padding: 15px 20px 0; }
      .list-thumbnail li a h3 {
        font-size: 14px;
        display: block;
        padding: 10px 20px 15px; }
      .list-thumbnail li a:hover {
        background: #f4d800; }
        .list-thumbnail li a:hover figure img {
          transition: all .5;
          opacity: .7; }
  @media screen and (max-width: 767px) {
    .list-thumbnail {
      justify-content: flex-start;
      flex-wrap: wrap;
      margin: 15px auto 10px;
      width: 100%;
      max-width: 550px; }
      .list-thumbnail li {
        width: 50%;
        max-width: 275px; }
        .list-thumbnail li a date {
          font-size: 10px;
          padding: 10px 10px 0; }
        .list-thumbnail li a h3 {
          font-size: 10px;
          padding: 5px 10px 10px; } }

.no-entry {
  text-align: center;
  margin: 80px 0;
  font-size: 16px; }
  @media screen and (max-width: 767px) {
    .no-entry {
      margin: 40px 0;
      font-size: 14px; } }

.mainvisual h1 {
  width: 100%;
  height: 340px;
  background: url(../img/img_main.png);
  background-size: cover;
  background-position: center;
  display: flex;
  justify-content: center;
  align-items: center; }
  .mainvisual h1 span {
    color: #fff;
    text-align: center;
    font-size: 36px;
    line-height: 50px; }
.mainvisual picture {
  width: 100%; }
  .mainvisual picture img {
    width: 100%; }
@media screen and (max-width: 767px) {
  .mainvisual h1 {
    height: 175px; }
    .mainvisual h1 span {
      font-size: 18px;
      line-height: 25px; } }

#topnews {
  padding: 30px 0;
  background: #daeaf6; }
  #topnews div {
    background: #fff;
    width: 800px;
    border: 4px solid #000;
    margin: 0 auto;
    display: flex;
    justify-content: flex-start; }
    #topnews div h2 {
      font-size: 26px;
      font-weight: bold;
      width: 120px;
      border-right: 2px solid #000;
      display: flex;
      justify-content: center;
      align-items: center; }
    #topnews div ul {
      padding: 15px 30px;
      text-align: left; }
      #topnews div ul li {
        font-size: 14px;
        margin: 10px 0; }
        #topnews div ul li a {
          text-decoration: none; }
          #topnews div ul li a date {
            margin-right: 2em; }
          #topnews div ul li a:hover {
            text-decoration: underline; }
    #topnews div > a {
      font-size: 14px;
      color: #fff;
      background: #000;
      text-decoration: none;
      width: 130px;
      margin-left: auto;
      display: flex;
      justify-content: center;
      align-items: center; }
      #topnews div > a:hover {
        background: #c50018; }
  @media screen and (max-width: 767px) {
    #topnews {
      padding: 20px 0; }
      #topnews div {
        width: calc(100% - 30px);
        border: 2px solid #000;
        display: block; }
        #topnews div h2 {
          font-size: 16px;
          line-height: 24px;
          width: 100%;
          border-bottom: 1px solid #000;
          border-right: none;
          display: block;
          text-align: center; }
        #topnews div ul {
          padding: 15px 15px; }
          #topnews div ul li {
            font-size: 12px;
            margin: 10px 0; }
            #topnews div ul li a date {
              margin-right: 1em; }
        #topnews div > a {
          font-size: 12px;
          line-height: 30px;
          width: 100%;
          display: block;
          text-align: center; } }

#topstudio {
  position: relative; }
  #topstudio .titimg + p {
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    margin: 20px 0 35px; }
  #topstudio .block-2col figure {
    width: 489px; }
    #topstudio .block-2col figure figcaption {
      font-size: 14px;
      line-height: 24px;
      margin-top: 12px; }
  #topstudio .btn-red {
    position: absolute;
    bottom: -33px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%; }
  @media screen and (max-width: 767px) {
    #topstudio .titimg + p {
      font-size: 12px;
      margin: 8px 0 15px; }
    #topstudio .block-2col figure {
      width: 100%;
      text-align: center; }
      #topstudio .block-2col figure figcaption {
        font-size: 12px;
        line-height: 17px;
        margin-top: 8px;
        text-align: left; }
    #topstudio .btn-red {
      bottom: -18px; } }

#topworkshop {
  margin: 90px 0 50px; }
  @media screen and (max-width: 767px) {
    #topworkshop {
      margin: 60px 0 40px; } }

#topevent {
  margin: 50px 0; }
  @media screen and (max-width: 767px) {
    #topevent {
      margin: 40px 0; } }

.studio-image {
  display: block;
  height: 350px;
  background-size: cover;
  background-position: center;
  position: relative;
  margin-bottom: 80px; }
  .studio-image_a {
    background-image: url(../img/img_studio01_a.png); }
  .studio-image_b {
    background-image: url(../img/img_studio01.png); }
  .studio-image .btn-red {
    position: absolute;
    bottom: -33px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%; }
  @media screen and (max-width: 767px) {
    .studio-image {
      height: 340px;
      margin-bottom: 40px; }
      .studio-image_a {
        background-image: url(../img/img_studio01_a_sp.png); }
      .studio-image_b {
        background-image: url(../img/img_studio01_sp.png); }
      .studio-image .btn-red {
        bottom: -18px; } }
.studio .block-2col.time div dl div {
  border-bottom: 1px solid #c0bfbe;
  display: flex;
  justify-content: space-between; }
  .studio .block-2col.time div dl div dt {
    background: #ededed;
    padding: 20px 30px;
    font-size: 20px;
    width: 170px;
    box-sizing: border-box; }
  .studio .block-2col.time div dl div dd {
    padding: 20px 30px;
    font-size: 20px;
    width: calc(100% - 170px);
    box-sizing: border-box; }
    .studio .block-2col.time div dl div dd span {
      display: inline-block;
      width: 4em; }
      .studio .block-2col.time div dl div dd span.discount {
        color: #c50018;
        width: 5.5em; }
        .studio .block-2col.time div dl div dd span.discount:before {
          content: "▲";
          margin-right: 10px;
          display: inline-block;
          transform: rotate(90deg); }
      .studio .block-2col.time div dl div dd span.tax {
        width: 5em;
        font-size: 15px; }
@media screen and (max-width: 767px) {
  .studio .block-2col.time div dl div dt {
    padding: 10px 20px;
    font-size: 12px;
    width: 110px; }
  .studio .block-2col.time div dl div dd {
    padding: 10px 20px;
    font-size: 12px;
    width: calc(100% - 110px); }
    .studio .block-2col.time div dl div dd span {
      display: inline-block; }
      .studio .block-2col.time div dl div dd span.discount:before {
        margin-right: 10px; }
      .studio .block-2col.time div dl div dd span.tax {
        font-size: 12px; } }
.studio .block-2col figure {
  text-align: right;
  position: relative;
  width: 485px; }
  .studio .block-2col figure figcaption {
    font-size: 14px;
    position: absolute;
    left: 0;
    bottom: -1.5em;
    text-align: center;
    display: block;
    width: 485px; }
  @media screen and (max-width: 767px) {
    .studio .block-2col figure {
      width: 100%;
      text-align: center; }
      .studio .block-2col figure figcaption {
        position: relative;
        left: 0;
        bottom: 0;
        font-size: 12px;
        margin-bottom: 5px;
        width: 100%; } }
.studio .block-2col p {
  font-size: 14px;
  line-height: 24px; }
  .studio .block-2col p + p {
    margin-top: 1em; }
  @media screen and (max-width: 767px) {
    .studio .block-2col p {
      font-size: 12px;
      line-height: 17px; } }
.studio .tittext-yellow {
  margin: 70px 0 25px; }
  @media screen and (max-width: 767px) {
    .studio .tittext-yellow {
      margin: 30px 0 0; } }
.studio .tittext-black {
  margin: 20px 0 20px; }
  .studio .tittext-black:first-child {
    margin: 0 0 20px; }
  .studio .tittext-black span {
    font-weight: normal;
    margin-top: 15px;
    display: block; }
  @media screen and (max-width: 767px) {
    .studio .tittext-black {
      margin: 15px 0 10px; }
      .studio .tittext-black:first-child {
        margin: 15px 0 10px; }
      .studio .tittext-black span {
        margin-top: 10px; } }
.studio .longtime {
  font-size: 16px;
  margin: 10px 0 50px; }
  @media screen and (max-width: 767px) {
    .studio .longtime {
      font-size: 12px;
      margin: 5px 0 20px; } }

.sitemap {
  width: 880px;
  display: flex;
  justify-content: space-between;
  margin: 0 auto; }
  .sitemap ul {
    width: 400px;
    list-style: none;
    margin: 0; }
    .sitemap ul li {
      padding: 15px 0;
      border-bottom: 1px solid #c2c0c0; }
      .sitemap ul li a {
        font-size: 20px;
        text-decoration: none; }
        .sitemap ul li a:hover {
          text-decoration: underline; }
  @media screen and (max-width: 767px) {
    .sitemap {
      width: 100%; }
      .sitemap ul {
        width: 48%; }
        .sitemap ul li a {
          font-size: 12px; } }

.pagenation {
  margin: 50px 0 0;
  text-align: center; }
  .pagenation ul li {
    display: inline-block;
    margin-right: 10px; }
    .pagenation ul li a,
    .pagenation ul li span {
      display: inline-block;
      line-height: 40px;
      padding: 0 15px;
      border: 4px solid #c50018;
      color: #c50018;
      font-size: 18px;
      font-weight: bold;
      text-decoration: none; }
      .pagenation ul li a:hover, .pagenation ul li a.current,
      .pagenation ul li span:hover,
      .pagenation ul li span.current {
        background: #c50018;
        color: #fff;
        text-decoration: none; }
      .pagenation ul li a.prev, .pagenation ul li a.next,
      .pagenation ul li span.prev,
      .pagenation ul li span.next {
        border-radius: 24px;
        padding: 0;
        width: 100px;
        text-indent: -9999px;
        background-size: auto 18px;
        background-position: center;
        background-repeat: no-repeat; }
      .pagenation ul li a.prev,
      .pagenation ul li span.prev {
        background-image: url(../img/btn_back.png); }
        .pagenation ul li a.prev:hover,
        .pagenation ul li span.prev:hover {
          background-image: url(../img/btn_back_ov.png); }
      .pagenation ul li a.next,
      .pagenation ul li span.next {
        background-image: url(../img/btn_next.png); }
        .pagenation ul li a.next:hover,
        .pagenation ul li span.next:hover {
          background-image: url(../img/btn_next_ov.png); }
      .pagenation ul li a.dots,
      .pagenation ul li span.dots {
        border: none;
        padding: 0; }
  @media screen and (max-width: 767px) {
    .pagenation {
      margin: 30px 0 0; }
      .pagenation ul li {
        margin-right: 0; }
        .pagenation ul li a,
        .pagenation ul li span {
          line-height: 24px;
          padding: 0 9px;
          font-size: 10px;
          border: 2px solid #c50018; }
          .pagenation ul li a.prev, .pagenation ul li a.next,
          .pagenation ul li span.prev,
          .pagenation ul li span.next {
            border-radius: 14px;
            padding: 0;
            width: 50px;
            text-indent: -9999px;
            background-size: auto 9px;
            background-position: center;
            background-repeat: no-repeat; }
          .pagenation ul li a.prev,
          .pagenation ul li span.prev {
            background-image: url(../img/btn_back.png); }
            .pagenation ul li a.prev:hover,
            .pagenation ul li span.prev:hover {
              background-image: url(../img/btn_back_ov.png); }
          .pagenation ul li a.next,
          .pagenation ul li span.next {
            background-image: url(../img/btn_next.png); }
            .pagenation ul li a.next:hover,
            .pagenation ul li span.next:hover {
              background-image: url(../img/btn_next_ov.png); } }

.content .article form {
  margin: 0 auto;
  width: 780px; }
  .content .article form input[type="text"],
  .content .article form input[type="submit"],
  .content .article form input[type="button"],
  .content .article form textarea {
    -webkit-box-sizing: content-box;
    -webkit-appearance: button;
    appearance: button;
    border: none;
    box-sizing: border-box; }
    .content .article form input[type="text"]::-webkit-search-decoration,
    .content .article form input[type="submit"]::-webkit-search-decoration,
    .content .article form input[type="button"]::-webkit-search-decoration,
    .content .article form textarea::-webkit-search-decoration {
      display: none; }
    .content .article form input[type="text"]::focus,
    .content .article form input[type="submit"]::focus,
    .content .article form input[type="button"]::focus,
    .content .article form textarea::focus {
      outline-offset: -2px; }
  .content .article form h2 {
    background: none;
    text-align: center;
    font-size: 18px; }
  .content .article form dl div {
    display: flex;
    justify-content: space-between;
    margin-bottom: 25px; }
    .content .article form dl div dt {
      position: relative;
      width: 230px;
      font-size: 18px;
      font-weight: bold;
      line-height: 55px; }
      .content .article form dl div dt span.required {
        display: inline-block;
        position: absolute;
        top: 12px;
        right: 0;
        width: 4em;
        color: #fff;
        background: #c50018;
        text-align: center;
        font-size: 14px;
        line-height: 30px; }
    .content .article form dl div dd {
      width: 530px; }
      .content .article form dl div dd input, .content .article form dl div dd textarea {
        width: 100%;
        border-radius: 5px;
        box-sizing: border-box;
        padding: 10px;
        border: 2px solid #000;
        font-size: 18px; }
      .content .article form dl div dd input {
        line-height: 35px; }
      .content .article form dl div dd textarea {
        height: 15em; }
    .content .article form dl div.required dd input, .content .article form dl div.required dd textarea {
      border: 2px solid #c50018; }
  .content .article form p.acceptance {
    font-size: 14px;
    text-align: center; }
    .content .article form p.acceptance .acceptance-192 {
      display: inline-block;
      font-size: 18px;
      font-weight: bold;
      margin-top: 10px; }
      .content .article form p.acceptance .acceptance-192 label {
        vertical-align: middle; }
      .content .article form p.acceptance .acceptance-192 input {
        width: 28px;
        height: 28px;
        border: 2px solid #000;
        background: none;
        vertical-align: middle; }
  .content .article form p.submit {
    text-align: center; }
    .content .article form p.submit input[type="submit"] {
      display: inline-block;
      font-size: 18px;
      font-weight: bold;
      color: #c50018;
      background: #fff;
      border: 4px solid #c50018;
      border-radius: 34px;
      line-height: 60px;
      padding: 0 50px;
      min-width: 250px;
      text-decoration: none; }
      .content .article form p.submit input[type="submit"]:hover {
        color: #fff;
        background: #c50018;
        cursor: pointer; }
      .content .article form p.submit input[type="submit"]:disabled {
        color: #999;
        background: #eee;
        border: 4px solid #999;
        cursor: not-allowed; }
  .content .article form p.urgent {
    text-align: center;
    font-size: 14px;
    margin-top: 50px; }
  @media screen and (max-width: 767px) {
    .content .article form {
      width: 100%; }
      .content .article form h2 {
        font-size: 12px;
        margin-bottom: 25px; }
      .content .article form dl div {
        display: block; }
        .content .article form dl div dt {
          position: relative;
          width: 100%;
          font-size: 12px;
          line-height: 17px;
          margin-bottom: 10px; }
          .content .article form dl div dt span.required {
            position: relative;
            top: 0;
            font-size: 10px;
            line-height: 17px;
            margin-left: 10px; }
        .content .article form dl div dd {
          width: 100%; }
          .content .article form dl div dd input, .content .article form dl div dd textarea {
            width: 100%;
            border-radius: 3px;
            padding: 5px;
            border: 1px solid #000;
            font-size: 12px; }
          .content .article form dl div dd input {
            line-height: 25px; }
          .content .article form dl div dd textarea {
            height: 15em; }
        .content .article form dl div.required dd input, .content .article form dl div.required dd textarea {
          border: 1px solid #c50018; }
      .content .article form p.acceptance {
        font-size: 12px; }
        .content .article form p.acceptance .acceptance-192 {
          font-size: 14px; }
          .content .article form p.acceptance .acceptance-192 input {
            width: 18px;
            height: 18px;
            border: 1px solid #000;
            background: none;
            vertical-align: middle; }
      .content .article form p.submit input[type="submit"] {
        font-size: 12px;
        border: 2px solid #c50018;
        border-radius: 16px;
        line-height: 32px;
        padding: 0 16px;
        min-width: 110px; }
        .content .article form p.submit input[type="submit"]:disabled {
          border: 2px solid #999; }
      .content .article form p.urgent {
        font-size: 12px;
        margin-top: 25px; } }

.wysiwyg {
  font-size: 1.4em;
  margin-bottom: 40px; }
  .wysiwyg h3, .wysiwyg h4, .wysiwyg h5 {
    font-weight: bold;
    color: #814286; }
  .wysiwyg h3 {
    font-size: 18px;
    border-left: 5px solid #814286;
    border-bottom: 1px solid #814286;
    padding: 0 0 5px 10px;
    margin: 0 0 10px; }
  .wysiwyg h4 {
    font-size: 16px;
    border-left: 4px solid #814286;
    border-bottom: 1px solid #814286;
    padding: 0 0 5px 10px;
    margin: 0 0 10px; }
  .wysiwyg h5 {
    font-size: 16px;
    margin: 0 0 8px; }
  .wysiwyg p, .wysiwyg ul, .wysiwyg ol {
    margin: 25px 0; }
  .wysiwyg div {
    margin: 25px 0; }
    .wysiwyg div:after {
      content: "";
      display: block;
      clear: both; }
  .wysiwyg strong {
    font-weight: bold; }
  .wysiwyg table {
    border-collapse: collapse;
    font-size: 100%; }
    .wysiwyg table th, .wysiwyg table td {
      padding: 7px 10px;
      border: 1px solid #ccc;
      font-size: 100%; }
    .wysiwyg table th {
      background: #814286;
      color: #fff;
      font-weight: normal; }
  .wysiwyg ul, .wysiwyg ol {
    list-style-position: outside;
    margin-left: 20px;
    padding: 0; }
  .wysiwyg ul li {
    list-style: disc; }
  .wysiwyg ol li {
    list-style: decimal; }

.mceContentBody {
  font-size: 14px;
  padding: 0 20px; }
