@charset "UTF-8";
/* --------------------
 * 【！！注意！！】
 *
 * 当サイトはSassを利用して作られています。
 *
 * cssを編集する際は、sassフォルダ内にある、
 * /assets/sass/*.scssファイルを編集し、対応ソフトでコンパイルしてください。
 *
 * ■基本的に編集してよいファイル
 * 1.「/assets/sass/_custom.scss」
 * 2.「/assets/sass/_color.scss」
 * 3.「/assets/sass/_setting.scss」
 *
 * また、直接この css を編集した場合、
 * 更新等の際にSassによって上書きされ、
 * レイアウトの崩れ、先祖返り等を引き起こす可能性があります。
 *
 * Sassの利用方法などについては、
 * Googleで検索するか、
 * 以下の参考サイトをご利用ください。
 *
 * ■Sassとは
 * https://ferret-plus.com/6211
 *
 * ■Sassコンパイラ「koala」について
 * http://mizukazu.minibird.jp/sass-scss-koala/
 *
 * ご不明点はお問い合わせください。
 -------------------- */
/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;700&display=swap");
@import url("https://use.fontawesome.com/releases/v5.3.1/css/all.css");
@import url("https://cdn.jsdelivr.net/npm/yakuhanjp@3.3.1/dist/css/yakuhanjp.min.css");
@import url("https://cdn.jsdelivr.net/npm/yakuhanjp@3.3.1/dist/css/yakuhanmp.min.css");
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

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

nav ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

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

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

@font-face {
  font-family: "Yu Gothic M";
  src: local("Yu Gothic Medium"); }
@font-face {
  font-family: "Yu Gothic M";
  src: local("Yu Gothic Bold");
  font-weight: bold; }
@font-face {
  font-family: "Yu Mincho M";
  src: local("Yu Mincho Medium"); }
@font-face {
  font-family: "Yu Mincho M";
  src: local("Yu Mincho Bold");
  font-weight: bold; }
.clearfix::after {
  content: "";
  display: block;
  clear: both; }

.mb0 {
  margin-bottom: 0 !important; }

@media screen and (min-width: 768px) {
  .pc-mb0 {
    margin-bottom: 0 !important; } }
@media screen and (max-width: 767px) {
  .sp-mb0 {
    margin-bottom: 0 !important; } }
.text-white {
  color: #fff !important; }

.text-black {
  color: #000 !important; }

.text-gray {
  color: #444 !important; }

.text-red {
  color: #f25151 !important; }

.text-orange {
  color: #ff8d12 !important; }

.text-blue {
  color: #649ee0 !important; }

.text-green {
  color: #85c272 !important; }

@media screen and (min-width: 768px) {
  .text-xsmall {
    font-size: 12px !important;
    font-size: 1.2rem !important; } }
@media screen and (max-width: 767px) {
  .text-xsmall {
    font-size: 12px !important;
    font-size: 1.2rem !important; } }

@media screen and (min-width: 768px) {
  .text-small {
    font-size: 14px !important;
    font-size: 1.4rem !important; } }
@media screen and (max-width: 767px) {
  .text-small {
    font-size: 14px !important;
    font-size: 1.4rem !important; } }

@media screen and (min-width: 768px) {
  .text-large {
    font-size: 18px !important;
    font-size: 1.8rem !important; } }
@media screen and (max-width: 767px) {
  .text-large {
    font-size: 18px !important;
    font-size: 1.8rem !important; } }

@media screen and (min-width: 768px) {
  .text-xlarge {
    font-size: 20px !important;
    font-size: 2rem !important; } }
@media screen and (max-width: 767px) {
  .text-xlarge {
    font-size: 20px !important;
    font-size: 2rem !important; } }

.text-normal {
  font-weight: 400 !important; }

.text-medium {
  font-weight: 500 !important; }

.text-bold {
  font-weight: 700 !important; }

.text-black {
  font-weight: 900 !important; }

.text-left {
  text-align: left !important; }

.text-center {
  text-align: center !important; }

.text-right {
  text-align: right !important; }

@media screen and (min-width: 768px) {
  .pc-text-left {
    text-align: left !important; }

  .pc-text-center {
    text-align: center !important; }

  .pc-text-right {
    text-align: right !important; } }
@media screen and (max-width: 767px) {
  .sp-text-left {
    text-align: left !important; }

  .sp-text-center {
    text-align: center !important; }

  .sp-text-right {
    text-align: right !important; } }
.text-gothic {
  font-family: YakuHanJP, "Yu Gothic UI", "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", "Meiryo", sans-serif !important; }

.text-mincho {
  font-family: YakuHanMP, "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝", "Hiragino Mincho ProN", serif !important; }

.text-web-gothic {
  font-family: YakuHanJP, "Noto Sans JP", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif !important; }

.text-web-mincho {
  font-family: YakuHanMP, "Noto Serif JP", "游明朝体", "YuMincho", "Yu Mincho M", "游明朝 Medium", "Yu Mincho Medium", "游明朝", "Yu Mincho", "HGS明朝E", serif !important; }

.pc, .sp {
  display: none; }

@media screen and (min-width: 768px) {
  .pc {
    display: inherit !important; } }
@media screen and (max-width: 767px) {
  .sp {
    display: inherit !important; } }
*,
::before,
::after {
  -webkit-box-sizing: border-box !important;
          box-sizing: border-box !important; }

html {
  font-size: 62.5%; }

body {
  background: #fff;
  font-family: YakuHanMP, "Noto Serif JP", "游明朝体", "YuMincho", "Yu Mincho M", "游明朝 Medium", "Yu Mincho Medium", "游明朝", "Yu Mincho", "HGS明朝E", serif;
  font-size: 16px !important;
  font-size: 1.6em !important;
  color: #000;
  line-height: 1.75;
  font-weight: 400;
  cursor: default;
  -webkit-text-size-adjust: 100%;
  letter-spacing: 0.08em; }
  @media screen and (max-width: 767px) {
    body {
      font-size: 16px !important;
      font-size: 1.6rem !important; } }
  body.scroll-prevent {
    overflow-y: hidden; }

input, button, textarea, select {
  font-size: 100%; }

h1, h2, h3, h4, h5, h6,
table, th, td,
b, i, em, strong, small,
input, button, textarea, select {
  line-height: 1.75;
  font-weight: 400;
  font-style: normal; }

a,
button,
input[type=submit] {
  color: #000;
  text-decoration: none;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-transition-property: opacity;
  transition-property: opacity; }
  @media screen and (min-width: 768px) {
    a:hover,
    button:hover,
    input[type=submit]:hover {
      opacity: 0.6;
      filter: alpha(opacity=60); } }
  a.text-link,
  button.text-link,
  input[type=submit].text-link {
    text-decoration: underline; }
    a.text-link:hover,
    button.text-link:hover,
    input[type=submit].text-link:hover {
      text-decoration: none; }

ul, ol, dl {
  list-style: none; }

img {
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: top; }
  img.default {
    width: auto; }
  img.ofi {
    width: 100% !important;
    height: 100% !important;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: 50%;
       object-position: 50%;
    font-family: 'object-fit: cover;';
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease; }
    img.ofi.cover {
      -o-object-fit: cover;
         object-fit: cover;
      font-family: 'object-fit: cover;'; }
    img.ofi.contain {
      -o-object-fit: contain;
         object-fit: contain;
      font-family: 'object-fit: contain;'; }
    img.ofi.left {
      -o-object-position: 0 50%;
         object-position: 0 50%; }
    img.ofi.right {
      -o-object-position: 100% 50%;
         object-position: 100% 50%; }
    img.ofi.top {
      -o-object-position: 50% 0;
         object-position: 50% 0; }
      img.ofi.top.left {
        -o-object-position: 0 0;
           object-position: 0 0; }
      img.ofi.top.right {
        -o-object-position: 100% 0;
           object-position: 100% 0; }
    img.ofi.bottom {
      -o-object-position: 50% 100%;
         object-position: 50% 100%; }
      img.ofi.bottom.left {
        -o-object-position: 0 100%;
           object-position: 0 100%; }
      img.ofi.bottom.right {
        -o-object-position: 100% 100%;
           object-position: 100% 100%; }

figure {
  overflow: hidden;
  text-align: center; }
  figure.border {
    border: 5px solid #fff;
    -webkit-box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
            box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3); }
  @media screen and (min-width: 768px) {
    figure.radius {
      border-radius: 5px; } }
  @media screen and (max-width: 767px) {
    figure.radius {
      border-radius: 0.3125em; } }
  figure a {
    display: block; }

.title01,
.title02,
.title03,
.movie-list01 .title,
.title04 {
  font-family: YakuHanMP, "Noto Serif JP", "游明朝体", "YuMincho", "Yu Mincho M", "游明朝 Medium", "Yu Mincho Medium", "游明朝", "Yu Mincho", "HGS明朝E", serif;
  line-height: 1.2; }

.title01 {
  position: relative;
  color: #000;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.08em; }
  .title01 span {
    display: block; }
  .title01::after {
    content: attr(data-eng);
    display: block;
    margin-top: .6em;
    color: #000;
    font-weight: 500;
    letter-spacing: 0.08em; }
  @media screen and (min-width: 768px) {
    .title01 {
      font-size: 30px !important;
      font-size: 3rem !important;
      margin-bottom: 40px !important; }
      .title01::after {
        font-size: 20px !important;
        font-size: 2rem !important; }
      .title01.small {
        font-size: 25px !important;
        font-size: 2.5rem !important;
        margin-bottom: 40px !important; }
        .title01.small::after {
          font-size: 20px !important;
          font-size: 2rem !important; } }
  @media screen and (max-width: 767px) {
    .title01 {
      font-size: 26px !important;
      font-size: 2.6rem !important;
      margin-bottom: 30px !important; }
      .title01::after {
        font-size: 16px !important;
        font-size: 1.6rem !important; } }

.title02 {
  position: relative;
  color: #000;
  font-weight: 500;
  letter-spacing: 0.08em;
  border-bottom: 4px solid #fafafa; }
  .title02 a {
    color: #000; }
  @media screen and (min-width: 768px) {
    .title02 {
      font-size: 30px !important;
      font-size: 3rem !important;
      margin-bottom: 30px; } }
  @media screen and (max-width: 767px) {
    .title02 {
      font-size: 26px !important;
      font-size: 2.6rem !important;
      margin-bottom: 26px; } }
  .title02::after {
    bottom: -4px;
    border-bottom: 4px solid #633790; }

.title03, .movie-list01 .title {
  position: relative;
  color: #000;
  font-weight: 500;
  letter-spacing: 0.08em;
  border-bottom: 1px solid #eee; }
  .title03 a, .movie-list01 .title a {
    color: #000; }
  @media screen and (min-width: 768px) {
    .title03, .movie-list01 .title {
      font-size: 26px !important;
      font-size: 2.6rem !important;
      margin-bottom: 20px; } }
  @media screen and (max-width: 767px) {
    .title03, .movie-list01 .title {
      font-size: 22px !important;
      font-size: 2.2rem !important;
      margin-bottom: 15px; } }
  .title03::after, .movie-list01 .title::after {
    background-color: #76759f; }

.title04 {
  position: relative;
  color: #633790;
  font-weight: 500;
  letter-spacing: 0.08em;
  border-bottom: 1px dashed #633790; }
  .title04 a {
    color: #633790; }
  @media screen and (min-width: 768px) {
    .title04 {
      font-size: 20px !important;
      font-size: 2rem !important;
      margin-bottom: 15px; } }
  @media screen and (max-width: 767px) {
    .title04 {
      font-size: 18px !important;
      font-size: 1.8rem !important;
      margin-bottom: 15px; } }

.title02 {
  padding: 0 .4em .4em; }
  .title02::after {
    content: "";
    position: absolute;
    left: 0;
    height: 0; }
  @media screen and (min-width: 768px) {
    .title02::after {
      width: 15%; } }
  @media screen and (max-width: 767px) {
    .title02::after {
      width: 30%; } }

.title03, .movie-list01 .title {
  padding: 0 .4em .3em 18px; }
  .title03::after, .movie-list01 .title::after {
    content: "";
    position: absolute;
    top: .1em;
    left: 0;
    width: 6px;
    height: 1.1em; }
  @media screen and (min-width: 768px) {
    .title03, .movie-list01 .title {
      padding-left: 18px; }
      .title03::after, .movie-list01 .title::after {
        width: 6px; } }
  @media screen and (max-width: 767px) {
    .title03, .movie-list01 .title {
      padding-left: 14px; }
      .title03::after, .movie-list01 .title::after {
        width: 4px; } }

.title04 {
  padding: 0 .2em .4em; }

a.btn01,
button.btn01,
input[type=submit].btn01,
span.btn01 {
  display: inline-block;
  background-color: #fff;
  border: none;
  border-radius: 0px;
  color: #000 !important;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease; }
  @media screen and (min-width: 768px) {
    a.btn01:not(.small),
    button.btn01:not(.small),
    input[type=submit].btn01:not(.small),
    span.btn01:not(.small) {
      min-width: 260px;
      padding: 17px 30px;
      font-size: 18px !important;
      font-size: 1.8rem !important; }
    a.btn01.small,
    button.btn01.small,
    input[type=submit].btn01.small,
    span.btn01.small {
      min-width: 200px;
      padding: 14px 30px;
      font-size: 16px !important;
      font-size: 1.6rem !important; } }
  @media screen and (max-width: 767px) {
    a.btn01,
    button.btn01,
    input[type=submit].btn01,
    span.btn01 {
      min-width: 200px;
      padding: 14px 30px;
      font-size: 16px !important;
      font-size: 1.6rem !important; } }
  a.btn01.full,
  button.btn01.full,
  input[type=submit].btn01.full,
  span.btn01.full {
    display: block; }
  a.btn01.bgnone,
  button.btn01.bgnone,
  input[type=submit].btn01.bgnone,
  span.btn01.bgnone {
    background-color: transparent; }
  a.btn01.bgcolor,
  button.btn01.bgcolor,
  input[type=submit].btn01.bgcolor,
  span.btn01.bgcolor {
    background-color: #000;
    color: #fff !important; }
    a.btn01.bgcolor.white,
    button.btn01.bgcolor.white,
    input[type=submit].btn01.bgcolor.white,
    span.btn01.bgcolor.white {
      background-color: #fff;
      color: #000 !important; }
  a.btn01.border,
  button.btn01.border,
  input[type=submit].btn01.border,
  span.btn01.border {
    border: 2px solid #000; }
    @media screen and (min-width: 768px) {
      a.btn01.border:not(.small),
      button.btn01.border:not(.small),
      input[type=submit].btn01.border:not(.small),
      span.btn01.border:not(.small) {
        padding: 16px 28px; }
      a.btn01.border.small,
      button.btn01.border.small,
      input[type=submit].btn01.border.small,
      span.btn01.border.small {
        padding: 13px 28px; } }
    @media screen and (max-width: 767px) {
      a.btn01.border,
      button.btn01.border,
      input[type=submit].btn01.border,
      span.btn01.border {
        padding: 13px 28px; } }
    a.btn01.border.white,
    button.btn01.border.white,
    input[type=submit].btn01.border.white,
    span.btn01.border.white {
      border-color: #fff;
      color: #fff !important; }
  a.btn01.arrow,
  button.btn01.arrow,
  input[type=submit].btn01.arrow,
  span.btn01.arrow {
    position: relative; }
    a.btn01.arrow::before, a.btn01.arrow::after,
    button.btn01.arrow::before,
    button.btn01.arrow::after,
    input[type=submit].btn01.arrow::before,
    input[type=submit].btn01.arrow::after,
    span.btn01.arrow::before,
    span.btn01.arrow::after {
      position: absolute;
      top: 50%;
      display: block;
      width: 8px;
      background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%228%22%20height%3D%2213%22%20viewBox%3D%220%200%208%2013%22%3E%20%3Cpath%20d%3D%22M.5%2C13a.52.52%2C0%2C0%2C1-.38-.17.51.51%2C0%2C0%2C1%2C.05-.71L6.73%2C6.5.17.88A.5.5%2C0%2C0%2C1%2C.83.12l7%2C6a.51.51%2C0%2C0%2C1%2C0%2C.76l-7%2C6A.52.52%2C0%2C0%2C1%2C.5%2C13Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
      background-position: 50%;
      background-repeat: no-repeat;
      background-size: contain;
      -webkit-transition: all 0.3s ease;
      transition: all 0.3s ease; }
    a.btn01.arrow.white::before, a.btn01.arrow.white::after,
    button.btn01.arrow.white::before,
    button.btn01.arrow.white::after,
    input[type=submit].btn01.arrow.white::before,
    input[type=submit].btn01.arrow.white::after,
    span.btn01.arrow.white::before,
    span.btn01.arrow.white::after {
      background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%228%22%20height%3D%2213%22%20viewBox%3D%220%200%208%2013%22%3E%20%3Cpath%20d%3D%22M.5%2C13a.52.52%2C0%2C0%2C1-.38-.17.51.51%2C0%2C0%2C1%2C.05-.71L6.73%2C6.5.17.88A.5.5%2C0%2C0%2C1%2C.83.12l7%2C6a.51.51%2C0%2C0%2C1%2C0%2C.76l-7%2C6A.52.52%2C0%2C0%2C1%2C.5%2C13Z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E"); }
    @media screen and (min-width: 768px) {
      a.btn01.arrow:not(.small)::before, a.btn01.arrow:not(.small)::after,
      button.btn01.arrow:not(.small)::before,
      button.btn01.arrow:not(.small)::after,
      input[type=submit].btn01.arrow:not(.small)::before,
      input[type=submit].btn01.arrow:not(.small)::after,
      span.btn01.arrow:not(.small)::before,
      span.btn01.arrow:not(.small)::after {
        height: 25.2px;
        margin-top: -12px; }
      a.btn01.arrow:not(.small)::before,
      button.btn01.arrow:not(.small)::before,
      input[type=submit].btn01.arrow:not(.small)::before,
      span.btn01.arrow:not(.small)::before {
        left: 20px; }
      a.btn01.arrow:not(.small)::after,
      button.btn01.arrow:not(.small)::after,
      input[type=submit].btn01.arrow:not(.small)::after,
      span.btn01.arrow:not(.small)::after {
        right: 20px; }
      a.btn01.arrow:not(.small):hover,
      button.btn01.arrow:not(.small):hover,
      input[type=submit].btn01.arrow:not(.small):hover,
      span.btn01.arrow:not(.small):hover {
        opacity: 1;
        filter: alpha(opacity=100); }
        a.btn01.arrow:not(.small):hover::before, a.btn01.arrow:not(.small):hover::after,
        button.btn01.arrow:not(.small):hover::before,
        button.btn01.arrow:not(.small):hover::after,
        input[type=submit].btn01.arrow:not(.small):hover::before,
        input[type=submit].btn01.arrow:not(.small):hover::after,
        span.btn01.arrow:not(.small):hover::before,
        span.btn01.arrow:not(.small):hover::after {
          -webkit-transform: translateX(0.2em);
                  transform: translateX(0.2em); }
      a.btn01.arrow.small::before, a.btn01.arrow.small::after,
      button.btn01.arrow.small::before,
      button.btn01.arrow.small::after,
      input[type=submit].btn01.arrow.small::before,
      input[type=submit].btn01.arrow.small::after,
      span.btn01.arrow.small::before,
      span.btn01.arrow.small::after {
        height: 22.4px;
        margin-top: -11px; }
      a.btn01.arrow.small::before,
      button.btn01.arrow.small::before,
      input[type=submit].btn01.arrow.small::before,
      span.btn01.arrow.small::before {
        left: 20px; }
      a.btn01.arrow.small::after,
      button.btn01.arrow.small::after,
      input[type=submit].btn01.arrow.small::after,
      span.btn01.arrow.small::after {
        right: 20px; }
      a.btn01.arrow.small:hover,
      button.btn01.arrow.small:hover,
      input[type=submit].btn01.arrow.small:hover,
      span.btn01.arrow.small:hover {
        opacity: 1;
        filter: alpha(opacity=100); }
        a.btn01.arrow.small:hover::before, a.btn01.arrow.small:hover::after,
        button.btn01.arrow.small:hover::before,
        button.btn01.arrow.small:hover::after,
        input[type=submit].btn01.arrow.small:hover::before,
        input[type=submit].btn01.arrow.small:hover::after,
        span.btn01.arrow.small:hover::before,
        span.btn01.arrow.small:hover::after {
          -webkit-transform: translateX(0.2em);
                  transform: translateX(0.2em); } }
    @media screen and (max-width: 767px) {
      a.btn01.arrow::before, a.btn01.arrow::after,
      button.btn01.arrow::before,
      button.btn01.arrow::after,
      input[type=submit].btn01.arrow::before,
      input[type=submit].btn01.arrow::after,
      span.btn01.arrow::before,
      span.btn01.arrow::after {
        height: 22.4px;
        margin-top: -11px; }
      a.btn01.arrow::before,
      button.btn01.arrow::before,
      input[type=submit].btn01.arrow::before,
      span.btn01.arrow::before {
        left: 20px; }
      a.btn01.arrow::after,
      button.btn01.arrow::after,
      input[type=submit].btn01.arrow::after,
      span.btn01.arrow::after {
        right: 20px; } }
    a.btn01.arrow:not(.right)::before, a.btn01.arrow.back::before,
    button.btn01.arrow:not(.right)::before,
    button.btn01.arrow.back::before,
    input[type=submit].btn01.arrow:not(.right)::before,
    input[type=submit].btn01.arrow.back::before,
    span.btn01.arrow:not(.right)::before,
    span.btn01.arrow.back::before {
      content: ""; }
    @media screen and (min-width: 768px) {
      a.btn01.arrow:not(.right):not(.small), a.btn01.arrow.back:not(.small),
      button.btn01.arrow:not(.right):not(.small),
      button.btn01.arrow.back:not(.small),
      input[type=submit].btn01.arrow:not(.right):not(.small),
      input[type=submit].btn01.arrow.back:not(.small),
      span.btn01.arrow:not(.right):not(.small),
      span.btn01.arrow.back:not(.small) {
        padding-left: 38px; }
      a.btn01.arrow:not(.right).small, a.btn01.arrow.back.small,
      button.btn01.arrow:not(.right).small,
      button.btn01.arrow.back.small,
      input[type=submit].btn01.arrow:not(.right).small,
      input[type=submit].btn01.arrow.back.small,
      span.btn01.arrow:not(.right).small,
      span.btn01.arrow.back.small {
        padding-left: 38px; } }
    @media screen and (min-width: 768px) {
      a.btn01.arrow:not(.right), a.btn01.arrow.back,
      button.btn01.arrow:not(.right),
      button.btn01.arrow.back,
      input[type=submit].btn01.arrow:not(.right),
      input[type=submit].btn01.arrow.back,
      span.btn01.arrow:not(.right),
      span.btn01.arrow.back {
        padding-left: 38px; } }
    a.btn01.arrow.back::before,
    button.btn01.arrow.back::before,
    input[type=submit].btn01.arrow.back::before,
    span.btn01.arrow.back::before {
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg);
      -webkit-transform-origin: 50%;
              transform-origin: 50%; }
    @media screen and (min-width: 768px) {
      a.btn01.arrow.back:hover::before,
      button.btn01.arrow.back:hover::before,
      input[type=submit].btn01.arrow.back:hover::before,
      span.btn01.arrow.back:hover::before {
        -webkit-transform: rotate(180deg) translateX(0.2em);
                transform: rotate(180deg) translateX(0.2em); } }
    a.btn01.arrow.bgcolor::before, a.btn01.arrow.bgcolor::after,
    button.btn01.arrow.bgcolor::before,
    button.btn01.arrow.bgcolor::after,
    input[type=submit].btn01.arrow.bgcolor::before,
    input[type=submit].btn01.arrow.bgcolor::after,
    span.btn01.arrow.bgcolor::before,
    span.btn01.arrow.bgcolor::after {
      background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%228%22%20height%3D%2213%22%20viewBox%3D%220%200%208%2013%22%3E%20%3Cpath%20d%3D%22M.5%2C13a.52.52%2C0%2C0%2C1-.38-.17.51.51%2C0%2C0%2C1%2C.05-.71L6.73%2C6.5.17.88A.5.5%2C0%2C0%2C1%2C.83.12l7%2C6a.51.51%2C0%2C0%2C1%2C0%2C.76l-7%2C6A.52.52%2C0%2C0%2C1%2C.5%2C13Z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E"); }
    a.btn01.arrow.bgcolor.white::before, a.btn01.arrow.bgcolor.white::after,
    button.btn01.arrow.bgcolor.white::before,
    button.btn01.arrow.bgcolor.white::after,
    input[type=submit].btn01.arrow.bgcolor.white::before,
    input[type=submit].btn01.arrow.bgcolor.white::after,
    span.btn01.arrow.bgcolor.white::before,
    span.btn01.arrow.bgcolor.white::after {
      background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%228%22%20height%3D%2213%22%20viewBox%3D%220%200%208%2013%22%3E%20%3Cpath%20d%3D%22M.5%2C13a.52.52%2C0%2C0%2C1-.38-.17.51.51%2C0%2C0%2C1%2C.05-.71L6.73%2C6.5.17.88A.5.5%2C0%2C0%2C1%2C.83.12l7%2C6a.51.51%2C0%2C0%2C1%2C0%2C.76l-7%2C6A.52.52%2C0%2C0%2C1%2C.5%2C13Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E"); }
    a.btn01.arrow.right::after,
    button.btn01.arrow.right::after,
    input[type=submit].btn01.arrow.right::after,
    span.btn01.arrow.right::after {
      content: ""; }
    @media screen and (min-width: 768px) {
      a.btn01.arrow.right:not(.small),
      button.btn01.arrow.right:not(.small),
      input[type=submit].btn01.arrow.right:not(.small),
      span.btn01.arrow.right:not(.small) {
        padding-right: 38px; }
      a.btn01.arrow.right.small,
      button.btn01.arrow.right.small,
      input[type=submit].btn01.arrow.right.small,
      span.btn01.arrow.right.small {
        padding-right: 38px; } }
    @media screen and (min-width: 768px) {
      a.btn01.arrow.right,
      button.btn01.arrow.right,
      input[type=submit].btn01.arrow.right,
      span.btn01.arrow.right {
        padding-right: 38px; } }
  a.btn01.tel, a.btn01.fax, a.btn01.mail,
  button.btn01.tel,
  button.btn01.fax,
  button.btn01.mail,
  input[type=submit].btn01.tel,
  input[type=submit].btn01.fax,
  input[type=submit].btn01.mail,
  span.btn01.tel,
  span.btn01.fax,
  span.btn01.mail {
    position: relative;
    min-width: inherit; }
    a.btn01.tel::before, a.btn01.fax::before, a.btn01.mail::before,
    button.btn01.tel::before,
    button.btn01.fax::before,
    button.btn01.mail::before,
    input[type=submit].btn01.tel::before,
    input[type=submit].btn01.fax::before,
    input[type=submit].btn01.mail::before,
    span.btn01.tel::before,
    span.btn01.fax::before,
    span.btn01.mail::before {
      content: "";
      position: absolute;
      top: 0;
      height: 100%;
      background-position: 50%;
      background-repeat: no-repeat;
      background-size: contain; }
    @media screen and (min-width: 768px) {
      a.btn01.tel::before, a.btn01.fax::before, a.btn01.mail::before,
      button.btn01.tel::before,
      button.btn01.fax::before,
      button.btn01.mail::before,
      input[type=submit].btn01.tel::before,
      input[type=submit].btn01.fax::before,
      input[type=submit].btn01.mail::before,
      span.btn01.tel::before,
      span.btn01.fax::before,
      span.btn01.mail::before {
        left: 20px; }
      a.btn01.tel.border::before, a.btn01.fax.border::before, a.btn01.mail.border::before,
      button.btn01.tel.border::before,
      button.btn01.fax.border::before,
      button.btn01.mail.border::before,
      input[type=submit].btn01.tel.border::before,
      input[type=submit].btn01.fax.border::before,
      input[type=submit].btn01.mail.border::before,
      span.btn01.tel.border::before,
      span.btn01.fax.border::before,
      span.btn01.mail.border::before {
        left: 18px; } }
    @media screen and (max-width: 767px) {
      a.btn01.tel::before, a.btn01.fax::before, a.btn01.mail::before,
      button.btn01.tel::before,
      button.btn01.fax::before,
      button.btn01.mail::before,
      input[type=submit].btn01.tel::before,
      input[type=submit].btn01.fax::before,
      input[type=submit].btn01.mail::before,
      span.btn01.tel::before,
      span.btn01.fax::before,
      span.btn01.mail::before {
        left: 20px; }
      a.btn01.tel.border::before, a.btn01.fax.border::before, a.btn01.mail.border::before,
      button.btn01.tel.border::before,
      button.btn01.fax.border::before,
      button.btn01.mail.border::before,
      input[type=submit].btn01.tel.border::before,
      input[type=submit].btn01.fax.border::before,
      input[type=submit].btn01.mail.border::before,
      span.btn01.tel.border::before,
      span.btn01.fax.border::before,
      span.btn01.mail.border::before {
        left: 18px; } }
  a.btn01.tel::before,
  button.btn01.tel::before,
  input[type=submit].btn01.tel::before,
  span.btn01.tel::before {
    width: 16px;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2258%22%20height%3D%2290%22%20viewBox%3D%220%200%2058%2090%22%3E%20%3Cg%3E%20%3Cpath%20d%3D%22M33.63%2C62.56C31.23%2C59%2C27.22%2C51.9%2C24.91%2C47.4s-5.84-12.1-7.32-16.18L21.86%2C29%2C8.13%2C2.26l-3.79%2C2A5.84%2C5.84%2C0%2C0%2C0%2C2.45%2C5.75c-5.1%2C5.28-2.29%2C26.65%2C9%2C48.61%2C12%2C23.36%2C29%2C38.54%2C35.51%2C35.18v-.09a6.09%2C6.09%2C0%2C0%2C0%2C1-.39l3.79-2L37.93%2C60.34Z%22%20fill%3D%22%23000%22%2F%3E%20%3Cpath%20d%3D%22M57.34%2C77.43%2C49.08%2C61.34a6%2C6%2C0%2C0%2C0-8-2.59l-.85.44L53.91%2C85.94l.85-.44A6%2C6%2C0%2C0%2C0%2C57.34%2C77.43Z%22%20fill%3D%22%23000%22%2F%3E%20%3Cpath%20d%3D%22M25%2C27.42a6%2C6%2C0%2C0%2C0%2C2.58-8.07L19.27%2C3.25a6%2C6%2C0%2C0%2C0-8-2.58l-.85.43L24.1%2C27.86Z%22%20fill%3D%22%23000%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E"); }
  a.btn01.tel.bgcolor::before,
  button.btn01.tel.bgcolor::before,
  input[type=submit].btn01.tel.bgcolor::before,
  span.btn01.tel.bgcolor::before {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2258%22%20height%3D%2290%22%20viewBox%3D%220%200%2058%2090%22%3E%20%3Cg%3E%20%3Cpath%20d%3D%22M33.63%2C62.56C31.23%2C59%2C27.22%2C51.9%2C24.91%2C47.4s-5.84-12.1-7.32-16.18L21.86%2C29%2C8.13%2C2.26l-3.79%2C2A5.84%2C5.84%2C0%2C0%2C0%2C2.45%2C5.75c-5.1%2C5.28-2.29%2C26.65%2C9%2C48.61%2C12%2C23.36%2C29%2C38.54%2C35.51%2C35.18v-.09a6.09%2C6.09%2C0%2C0%2C0%2C1-.39l3.79-2L37.93%2C60.34Z%22%20fill%3D%22%23fff%22%2F%3E%20%3Cpath%20d%3D%22M57.34%2C77.43%2C49.08%2C61.34a6%2C6%2C0%2C0%2C0-8-2.59l-.85.44L53.91%2C85.94l.85-.44A6%2C6%2C0%2C0%2C0%2C57.34%2C77.43Z%22%20fill%3D%22%23fff%22%2F%3E%20%3Cpath%20d%3D%22M25%2C27.42a6%2C6%2C0%2C0%2C0%2C2.58-8.07L19.27%2C3.25a6%2C6%2C0%2C0%2C0-8-2.58l-.85.43L24.1%2C27.86Z%22%20fill%3D%22%23fff%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E"); }
  @media screen and (min-width: 768px) {
    a.btn01.tel,
    button.btn01.tel,
    input[type=submit].btn01.tel,
    span.btn01.tel {
      padding-left: 46px; }
      a.btn01.tel.border,
      button.btn01.tel.border,
      input[type=submit].btn01.tel.border,
      span.btn01.tel.border {
        padding-left: 44px; } }
  @media screen and (max-width: 767px) {
    a.btn01.tel,
    button.btn01.tel,
    input[type=submit].btn01.tel,
    span.btn01.tel {
      padding-left: 46px; }
      a.btn01.tel.border,
      button.btn01.tel.border,
      input[type=submit].btn01.tel.border,
      span.btn01.tel.border {
        padding-left: 44px; } }
  a.btn01.fax::before,
  button.btn01.fax::before,
  input[type=submit].btn01.fax::before,
  span.btn01.fax::before {
    width: 20px;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22103%22%20height%3D%2290%22%20viewBox%3D%220%200%20103%2090%22%3E%20%3Cpath%20d%3D%22M97.85%2C61.71V30.86m0%2C30.85V30.86M0%2C61.71V30.86M103%2C61.71V30.86M68.24%2C60.43H34.76a2.57%2C2.57%2C0%2C0%2C0%2C0%2C5.14H68.24a2.57%2C2.57%2C0%2C1%2C0%2C0-5.14Zm0%2C12.86H34.76a2.57%2C2.57%2C0%2C0%2C0%2C0%2C5.14H68.24a2.57%2C2.57%2C0%2C1%2C0%2C0-5.14Zm0-12.86H34.76a2.57%2C2.57%2C0%2C0%2C0%2C0%2C5.14H68.24a2.57%2C2.57%2C0%2C1%2C0%2C0-5.14Zm0%2C12.86H34.76a2.57%2C2.57%2C0%2C0%2C0%2C0%2C5.14H68.24a2.57%2C2.57%2C0%2C1%2C0%2C0-5.14Zm0%2C0H34.76a2.57%2C2.57%2C0%2C0%2C0%2C0%2C5.14H68.24a2.57%2C2.57%2C0%2C1%2C0%2C0-5.14Zm0-12.86H34.76a2.57%2C2.57%2C0%2C0%2C0%2C0%2C5.14H68.24a2.57%2C2.57%2C0%2C1%2C0%2C0-5.14ZM34.76%2C65.57H68.24a2.57%2C2.57%2C0%2C1%2C0%2C0-5.14H34.76a2.57%2C2.57%2C0%2C0%2C0%2C0%2C5.14Zm33.48%2C7.72H34.76a2.57%2C2.57%2C0%2C0%2C0%2C0%2C5.14H68.24a2.57%2C2.57%2C0%2C1%2C0%2C0-5.14ZM92.7%2C20.57h-9v-18A2.58%2C2.58%2C0%2C0%2C0%2C81.11%2C0H21.89a2.58%2C2.58%2C0%2C0%2C0-2.58%2C2.57v18h-9A10.33%2C10.33%2C0%2C0%2C0%2C0%2C30.86V61.71A10.33%2C10.33%2C0%2C0%2C0%2C10.3%2C72h9V87.43A2.58%2C2.58%2C0%2C0%2C0%2C21.89%2C90H81.11a2.58%2C2.58%2C0%2C0%2C0%2C2.58-2.57V72h9A10.32%2C10.32%2C0%2C0%2C0%2C103%2C61.71V30.86A10.32%2C10.32%2C0%2C0%2C0%2C92.7%2C20.57ZM24.46%2C5.14H78.54V20.57H24.46ZM78.54%2C84.86H24.46V54H78.54ZM97.85%2C61.71a5.17%2C5.17%2C0%2C0%2C1-5.15%2C5.15h-9V51.43a2.58%2C2.58%2C0%2C0%2C0-2.58-2.57H21.89a2.58%2C2.58%2C0%2C0%2C0-2.58%2C2.57V66.86h-9a5.17%2C5.17%2C0%2C0%2C1-5.15-5.15V30.86a5.17%2C5.17%2C0%2C0%2C1%2C5.15-5.15H92.7a5.17%2C5.17%2C0%2C0%2C1%2C5.15%2C5.15ZM34.76%2C65.57H68.24a2.57%2C2.57%2C0%2C1%2C0%2C0-5.14H34.76a2.57%2C2.57%2C0%2C0%2C0%2C0%2C5.14Zm0%2C12.86H68.24a2.57%2C2.57%2C0%2C1%2C0%2C0-5.14H34.76a2.57%2C2.57%2C0%2C0%2C0%2C0%2C5.14Zm33.48-5.14H34.76a2.57%2C2.57%2C0%2C0%2C0%2C0%2C5.14H68.24a2.57%2C2.57%2C0%2C1%2C0%2C0-5.14Zm0-12.86H34.76a2.57%2C2.57%2C0%2C0%2C0%2C0%2C5.14H68.24a2.57%2C2.57%2C0%2C1%2C0%2C0-5.14Zm0%2C0H34.76a2.57%2C2.57%2C0%2C0%2C0%2C0%2C5.14H68.24a2.57%2C2.57%2C0%2C1%2C0%2C0-5.14Zm0%2C12.86H34.76a2.57%2C2.57%2C0%2C0%2C0%2C0%2C5.14H68.24a2.57%2C2.57%2C0%2C1%2C0%2C0-5.14Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E"); }
  a.btn01.fax.bgcolor::before,
  button.btn01.fax.bgcolor::before,
  input[type=submit].btn01.fax.bgcolor::before,
  span.btn01.fax.bgcolor::before {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22103%22%20height%3D%2290%22%20viewBox%3D%220%200%20103%2090%22%3E%20%3Cpath%20d%3D%22M97.85%2C61.71V30.86m0%2C30.85V30.86M0%2C61.71V30.86M103%2C61.71V30.86M68.24%2C60.43H34.76a2.57%2C2.57%2C0%2C0%2C0%2C0%2C5.14H68.24a2.57%2C2.57%2C0%2C1%2C0%2C0-5.14Zm0%2C12.86H34.76a2.57%2C2.57%2C0%2C0%2C0%2C0%2C5.14H68.24a2.57%2C2.57%2C0%2C1%2C0%2C0-5.14Zm0-12.86H34.76a2.57%2C2.57%2C0%2C0%2C0%2C0%2C5.14H68.24a2.57%2C2.57%2C0%2C1%2C0%2C0-5.14Zm0%2C12.86H34.76a2.57%2C2.57%2C0%2C0%2C0%2C0%2C5.14H68.24a2.57%2C2.57%2C0%2C1%2C0%2C0-5.14Zm0%2C0H34.76a2.57%2C2.57%2C0%2C0%2C0%2C0%2C5.14H68.24a2.57%2C2.57%2C0%2C1%2C0%2C0-5.14Zm0-12.86H34.76a2.57%2C2.57%2C0%2C0%2C0%2C0%2C5.14H68.24a2.57%2C2.57%2C0%2C1%2C0%2C0-5.14ZM34.76%2C65.57H68.24a2.57%2C2.57%2C0%2C1%2C0%2C0-5.14H34.76a2.57%2C2.57%2C0%2C0%2C0%2C0%2C5.14Zm33.48%2C7.72H34.76a2.57%2C2.57%2C0%2C0%2C0%2C0%2C5.14H68.24a2.57%2C2.57%2C0%2C1%2C0%2C0-5.14ZM92.7%2C20.57h-9v-18A2.58%2C2.58%2C0%2C0%2C0%2C81.11%2C0H21.89a2.58%2C2.58%2C0%2C0%2C0-2.58%2C2.57v18h-9A10.33%2C10.33%2C0%2C0%2C0%2C0%2C30.86V61.71A10.33%2C10.33%2C0%2C0%2C0%2C10.3%2C72h9V87.43A2.58%2C2.58%2C0%2C0%2C0%2C21.89%2C90H81.11a2.58%2C2.58%2C0%2C0%2C0%2C2.58-2.57V72h9A10.32%2C10.32%2C0%2C0%2C0%2C103%2C61.71V30.86A10.32%2C10.32%2C0%2C0%2C0%2C92.7%2C20.57ZM24.46%2C5.14H78.54V20.57H24.46ZM78.54%2C84.86H24.46V54H78.54ZM97.85%2C61.71a5.17%2C5.17%2C0%2C0%2C1-5.15%2C5.15h-9V51.43a2.58%2C2.58%2C0%2C0%2C0-2.58-2.57H21.89a2.58%2C2.58%2C0%2C0%2C0-2.58%2C2.57V66.86h-9a5.17%2C5.17%2C0%2C0%2C1-5.15-5.15V30.86a5.17%2C5.17%2C0%2C0%2C1%2C5.15-5.15H92.7a5.17%2C5.17%2C0%2C0%2C1%2C5.15%2C5.15ZM34.76%2C65.57H68.24a2.57%2C2.57%2C0%2C1%2C0%2C0-5.14H34.76a2.57%2C2.57%2C0%2C0%2C0%2C0%2C5.14Zm0%2C12.86H68.24a2.57%2C2.57%2C0%2C1%2C0%2C0-5.14H34.76a2.57%2C2.57%2C0%2C0%2C0%2C0%2C5.14Zm33.48-5.14H34.76a2.57%2C2.57%2C0%2C0%2C0%2C0%2C5.14H68.24a2.57%2C2.57%2C0%2C1%2C0%2C0-5.14Zm0-12.86H34.76a2.57%2C2.57%2C0%2C0%2C0%2C0%2C5.14H68.24a2.57%2C2.57%2C0%2C1%2C0%2C0-5.14Zm0%2C0H34.76a2.57%2C2.57%2C0%2C0%2C0%2C0%2C5.14H68.24a2.57%2C2.57%2C0%2C1%2C0%2C0-5.14Zm0%2C12.86H34.76a2.57%2C2.57%2C0%2C0%2C0%2C0%2C5.14H68.24a2.57%2C2.57%2C0%2C1%2C0%2C0-5.14Z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E"); }
  @media screen and (min-width: 768px) {
    a.btn01.fax,
    button.btn01.fax,
    input[type=submit].btn01.fax,
    span.btn01.fax {
      padding-left: 50px; }
      a.btn01.fax.border,
      button.btn01.fax.border,
      input[type=submit].btn01.fax.border,
      span.btn01.fax.border {
        padding-left: 48px; } }
  @media screen and (max-width: 767px) {
    a.btn01.fax,
    button.btn01.fax,
    input[type=submit].btn01.fax,
    span.btn01.fax {
      padding-left: 50px; }
      a.btn01.fax.border,
      button.btn01.fax.border,
      input[type=submit].btn01.fax.border,
      span.btn01.fax.border {
        padding-left: 48px; } }
  a.btn01.mail::before,
  button.btn01.mail::before,
  input[type=submit].btn01.mail::before,
  span.btn01.mail::before {
    width: 24px;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22mail-icon%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%2230%22%20viewBox%3D%220%200%2040%2030%22%3E%20%3Cpath%20d%3D%22M37.65%2C0H2.35A2.33%2C2.33%2C0%2C0%2C0%2C0%2C2.32V27.68A2.33%2C2.33%2C0%2C0%2C0%2C2.35%2C30h35.3A2.33%2C2.33%2C0%2C0%2C0%2C40%2C27.68V2.32A2.33%2C2.33%2C0%2C0%2C0%2C37.65%2C0ZM36.43%2C3%2C20%2C19.19%2C3.57%2C3ZM37%2C27H3V6.59L18.34%2C21.74a2.37%2C2.37%2C0%2C0%2C0%2C3.32%2C0L37%2C6.59Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E"); }
  a.btn01.mail.bgcolor::before,
  button.btn01.mail.bgcolor::before,
  input[type=submit].btn01.mail.bgcolor::before,
  span.btn01.mail.bgcolor::before {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22mail-icon%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%2230%22%20viewBox%3D%220%200%2040%2030%22%3E%20%3Cpath%20d%3D%22M37.65%2C0H2.35A2.33%2C2.33%2C0%2C0%2C0%2C0%2C2.32V27.68A2.33%2C2.33%2C0%2C0%2C0%2C2.35%2C30h35.3A2.33%2C2.33%2C0%2C0%2C0%2C40%2C27.68V2.32A2.33%2C2.33%2C0%2C0%2C0%2C37.65%2C0ZM36.43%2C3%2C20%2C19.19%2C3.57%2C3ZM37%2C27H3V6.59L18.34%2C21.74a2.37%2C2.37%2C0%2C0%2C0%2C3.32%2C0L37%2C6.59Z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E"); }
  @media screen and (min-width: 768px) {
    a.btn01.mail,
    button.btn01.mail,
    input[type=submit].btn01.mail,
    span.btn01.mail {
      padding-left: 54px; }
      a.btn01.mail.border,
      button.btn01.mail.border,
      input[type=submit].btn01.mail.border,
      span.btn01.mail.border {
        padding-left: 52px; } }
  @media screen and (max-width: 767px) {
    a.btn01.mail,
    button.btn01.mail,
    input[type=submit].btn01.mail,
    span.btn01.mail {
      padding-left: 54px; }
      a.btn01.mail.border,
      button.btn01.mail.border,
      input[type=submit].btn01.mail.border,
      span.btn01.mail.border {
        padding-left: 52px; } }

.wp-pagenavi {
  font-size: 0px !important;
  font-size: 0rem !important;
  text-align: center; }
  .wp-pagenavi a,
  .wp-pagenavi span {
    display: inline-block;
    margin: 3px 5px;
    background-color: #fff;
    border: 2px solid #000;
    border-radius: 0px;
    color: #000;
    font-weight: 500;
    text-align: center;
    text-decoration: none;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease; }
    @media screen and (min-width: 768px) {
      .wp-pagenavi a,
      .wp-pagenavi span {
        min-width: 44px;
        font-size: 18px !important;
        font-size: 1.8rem !important;
        line-height: 42px; } }
    @media screen and (max-width: 767px) {
      .wp-pagenavi a,
      .wp-pagenavi span {
        min-width: 44px;
        font-size: 16px !important;
        font-size: 1.6rem !important;
        line-height: 42px; } }
  .wp-pagenavi .current,
  .wp-pagenavi a:hover {
    background: #000;
    color: #fff;
    opacity: 1;
    filter: alpha(opacity=100); }
  .wp-pagenavi .extend {
    background: none;
    border: none;
    min-width: auto; }

.page-navi01 {
  font-size: 0px !important;
  font-size: 0rem !important;
  text-align: center; }
  .page-navi01 a {
    margin: 3px 5px; }
    @media screen and (max-width: 767px) {
      .page-navi01 a {
        display: block;
        width: 80%;
        min-width: 200px;
        max-width: 300px;
        margin: 0 auto; }
        .page-navi01 a:not(:first-child) {
          margin-top: 10px; } }

@media screen and (min-width: 768px) {
  .main-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%; }
    .main-nav > li {
      position: relative; }
      .main-nav > li:not(:last-child) {
        margin-right: 21px; }
        .main-nav > li:not(:last-child):after {
          content: '';
          position: absolute;
          top: 50%;
          right: -10px;
          width: 1px;
          height: 16px;
          margin-top: -8px;
          background: #fff; }
      .main-nav > li a,
      .main-nav > li span {
        display: block;
        line-height: 1.4;
        text-align: center;
        text-decoration: none;
        white-space: nowrap; }
      .main-nav > li > a,
      .main-nav > li > span {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        width: 100%;
        height: 50px;
        padding: 0 10px;
        color: #fff;
        font-size: 16px !important;
        font-size: 1.6rem !important;
        font-weight: 500;
        letter-spacing: 0.08em; }
        .main-nav > li > a > span::before, .main-nav > li > a > span::after,
        .main-nav > li > span > span::before,
        .main-nav > li > span > span::after {
          display: block;
          color: #633790;
          font-size: 12px !important;
          font-size: 1.2rem !important;
          font-weight: 400;
          letter-spacing: 0.08em;
          line-height: 1.4;
          text-align: center;
          text-decoration: none;
          white-space: nowrap; }
        .main-nav > li > a > span::after,
        .main-nav > li > span > span::after {
          content: attr(data-eng);
          margin-top: 3px; }
      .main-nav > li > span {
        cursor: default; }
      .main-nav > li .sub-menu {
        visibility: hidden;
        position: absolute;
        top: 100%;
        left: 50%;
        background: #fff;
        border: 1px solid #000;
        opacity: 0;
        filter: alpha(opacity=0);
        -webkit-transform: scaleY(0) translateX(-50%);
                transform: scaleY(0) translateX(-50%);
        -webkit-transform-origin: center top;
                transform-origin: center top;
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease; }
        .main-nav > li .sub-menu > li {
          -webkit-transition: all 0.3s ease;
          transition: all 0.3s ease; }
          .main-nav > li .sub-menu > li:not(:last-child) {
            border-bottom: 1px solid #000; }
          .main-nav > li .sub-menu > li > a {
            padding: 9px 20px;
            color: #000;
            font-size: 16px !important;
            font-size: 1.6rem !important;
            font-weight: 500;
            letter-spacing: 0.08em;
            -webkit-transition: all 0.3s ease;
            transition: all 0.3s ease; }
            .main-nav > li .sub-menu > li > a:hover {
              color: #633790;
              opacity: 0.8;
              filter: alpha(opacity=80); }
      .main-nav > li:hover .sub-menu {
        visibility: visible;
        opacity: 1;
        filter: alpha(opacity=100);
        -webkit-transform: scaleY(1) translateX(-50%);
                transform: scaleY(1) translateX(-50%); } }
@media screen and (max-width: 767px) {
  .main-nav {
    background-color: #fff; }
    .main-nav li {
      border-bottom: 1px solid #ccc; }
      .main-nav li > a,
      .main-nav li > span {
        position: relative;
        display: block;
        padding: 15px 0;
        padding-left: 15px;
        padding-right: 44px;
        background-color: #fff;
        color: #000;
        font-size: 14px !important;
        font-size: 1.4rem !important;
        line-height: 1.4;
        text-decoration: none; }
        .main-nav li > a > span .eng,
        .main-nav li > span > span .eng {
          display: none; }
        .main-nav li > a::after,
        .main-nav li > span::after {
          content: none;
          position: absolute;
          top: 50%;
          right: 15px;
          margin-top: -0.5em;
          width: 1em;
          height: 1em;
          color: #633790;
          line-height: 1;
          text-align: center; }
      .main-nav li > a::after {
        content: "";
        font-family: "Font Awesome 5 Free";
        font-weight: 900; }
      .main-nav li > span {
        cursor: pointer; }
        .main-nav li > span::after {
          content: "";
          font-family: "Font Awesome 5 Free";
          font-weight: 900; }
        .main-nav li > span.active::after {
          content: "";
          font-family: "Font Awesome 5 Free";
          font-weight: 900; }
      .main-nav li .sub-menu {
        display: none; }
        .main-nav li .sub-menu li {
          border-top: 1px solid #eee;
          border-bottom: none; }
          .main-nav li .sub-menu li a {
            background: #fff;
            color: #000; }
            .main-nav li .sub-menu li a::after {
              content: "";
              font-family: "Font Awesome 5 Free";
              font-weight: 900;
              color: #633790; }
      .main-nav li.icon.tel a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        padding-right: 15px;
        background-color: #633790;
        color: #fff;
        text-align: center; }
        .main-nav li.icon.tel a::before {
          content: "";
          display: inline-block;
          width: .75em;
          height: 1.5em;
          margin-right: .5em;
          background: url("../img/icon/tel-white.svg") 50% no-repeat;
          background-size: 100% auto; }
        .main-nav li.icon.tel a::after {
          content: none; } }

.highlight,
.highlight01,
.highlight02,
.highlight03 {
  position: relative; }
  @media screen and (min-width: 768px) {
    .highlight,
    .highlight01,
    .highlight02,
    .highlight03 {
      padding: 80px 0 80px; } }
  @media screen and (max-width: 767px) {
    .highlight,
    .highlight01,
    .highlight02,
    .highlight03 {
      padding: 60px 0 60px; } }

.highlight01 {
  background: #fafafa;
  color: inherit; }
  .highlight01 a {
    color: inherit; }

.highlight02 {
  background: #eee;
  color: inherit; }
  .highlight02 a {
    color: inherit; }

.highlight03 {
  background: #ccc;
  color: inherit; }
  .highlight03 a {
    color: inherit; }

.text-wrap01 {
  background-color: transparent;
  border: 3px solid #eee;
  border-radius: 5px;
  color: inherit; }
  @media screen and (min-width: 768px) {
    .text-wrap01 {
      padding: 20px 30px 25px; } }
  @media screen and (max-width: 767px) {
    .text-wrap01 {
      padding: 10px 15px 10px; } }
  .text-wrap01.full {
    width: 100%;
    height: 100%; }

.text-wrap02 {
  background-color: #444;
  border: 3px solid #444;
  border-radius: 5px;
  color: #fff; }
  @media screen and (min-width: 768px) {
    .text-wrap02 {
      padding: 20px 30px 25px; } }
  @media screen and (max-width: 767px) {
    .text-wrap02 {
      padding: 10px 15px 10px; } }
  .text-wrap02.full {
    width: 100%;
    height: 100%; }

.ti-box01::after {
  content: " ";
  display: block;
  clear: both; }
@media screen and (min-width: 768px) {
  .ti-box01 .text {
    float: left; }
  .ti-box01 .image {
    float: right; }
    .ti-box01 .image figure {
      width: 100%;
      height: 100%; }
  .container .ti-box01 .text {
    width: 48.3333333333%; }
  .container .ti-box01 .image {
    width: 48.3333333333%; }
  .container-min .ti-box01 .text {
    width: 48%; }
  .container-min .ti-box01 .image {
    width: 48%; }
  .ti-box01.reverse .text {
    float: right; }
  .ti-box01.reverse .image {
    float: left; }
  .ti-box01.wrap .text {
    float: none;
    width: auto !important; }
  .ti-box01.wrap:not(.reverse) .image {
    margin-left: 40px;
    margin-bottom: 1em; }
  .ti-box01.wrap .reverse .image {
    margin-right: 40px;
    margin-bottom: 1em; }
  .container .ti-box01.size01 .text {
    width: 60.8333333333%; }
  .container .ti-box01.size01 .image {
    width: 35.8333333333%; }
  .container-min .ti-box01.size01 .text {
    width: 53%; }
  .container-min .ti-box01.size01 .image {
    width: 43%; }
  .container .ti-box01.size02 .text {
    width: 60.8333333333%; }
  .container .ti-box01.size02 .image {
    width: 35.8333333333%; }
  .container-min .ti-box01.size02 .text {
    width: 46%; }
  .container-min .ti-box01.size02 .image {
    width: 50%; } }
@media screen and (max-width: 767px) {
  .ti-box01 .text:not(:last-child),
  .ti-box01 .image:not(:last-child) {
    margin-bottom: 30px; } }

@media screen and (min-width: 768px) {
  .ti-box02 {
    position: relative;
    padding: 60px 0; }
    .ti-box02 .text {
      z-index: 2;
      position: relative;
      padding: 15px 20px 15px;
      background-color: rgba(255, 255, 255, 0.8);
      -webkit-box-shadow: 0px 3px 7px 0px rgba(0, 0, 0, 0.35);
              box-shadow: 0px 3px 7px 0px rgba(0, 0, 0, 0.35);
      color: inherit; }
    .ti-box02 .image {
      z-index: 1;
      position: absolute;
      top: 0;
      right: 0;
      height: 100%; }
      .ti-box02 .image figure {
        width: 100%;
        height: 100%; }
    .container .ti-box02 .text {
      width: 41.6666666667%; }
    .container .ti-box02 .image {
      width: 58.3333333333%; }
    .container-min .ti-box02 .text {
      width: 50%; }
    .container-min .ti-box02 .image {
      width: 70%; }
    .ti-box02.reverse .text {
      margin-left: auto; }
    .ti-box02.reverse .image {
      left: 0;
      right: auto; } }
@media screen and (max-width: 767px) {
  .ti-box02 .text:not(:last-child),
  .ti-box02 .image:not(:last-child) {
    margin-bottom: 30px; } }

@media screen and (min-width: 768px) {
  .flexbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    .flexbox.reverse {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: reverse;
          -ms-flex-direction: row-reverse;
              flex-direction: row-reverse; }
    .flexbox.center {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
    .flexbox.just {
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; }
    .flexbox.end {
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end; }
    .flexbox.count2 .col:not(:nth-child(-n+2)) {
      margin-top: 40px; }
    .container .flexbox.count2 .col {
      width: 48.3333333333%; }
    .container-min .flexbox.count2 .col {
      width: 48%; }
    .flexbox.count2.full .col {
      width: 50%; }
    .flexbox.count3 .col:not(:nth-child(-n+3)) {
      margin-top: 30px; }
    .container .flexbox.count3 .col {
      width: 31.1111111111%; }
    .container-min .flexbox.count3 .col {
      width: 30.6666666667%; }
    .flexbox.count3.full .col {
      width: 33.3333333333%; }
    .flexbox.count4 .col:not(:nth-child(-n+4)) {
      margin-top: 30px; }
    .container .flexbox.count4 .col {
      width: 23.125%; }
    .container-min .flexbox.count4 .col {
      width: 22.75%; }
    .flexbox.count4.full .col {
      width: 25%; }
    .flexbox.count5 .col:not(:nth-child(-n+5)) {
      margin-top: 30px; }
    .container .flexbox.count5 .col {
      width: 18.6666666667%; }
    .container-min .flexbox.count5 .col {
      width: 18.4%; }
    .flexbox.count5.full .col {
      width: 20%; }
    .container .flexbox:not(.just):not(.full).count2:not(.reverse) .col:nth-child(even) {
      margin-left: 3.3333333333%; }
    .container-min .flexbox:not(.just):not(.full).count2:not(.reverse) .col:nth-child(even) {
      margin-left: 4%; }
    .container .flexbox:not(.just):not(.full).count2.reverse .col:nth-child(even) {
      margin-right: 3.3333333333%; }
    .container-min .flexbox:not(.just):not(.full).count2.reverse .col:nth-child(even) {
      margin-right: 4%; }
    .container .flexbox:not(.just):not(.full).count3:not(.reverse) .col:not(:nth-child(3n+1)) {
      margin-left: 3.3333333333%; }
    .container-min .flexbox:not(.just):not(.full).count3:not(.reverse) .col:not(:nth-child(3n+1)) {
      margin-left: 4%; }
    .container .flexbox:not(.just):not(.full).count3.reverse .col:not(:nth-child(3n+1)) {
      margin-right: 3.3333333333%; }
    .container-min .flexbox:not(.just):not(.full).count3.reverse .col:not(:nth-child(3n+1)) {
      margin-right: 4%; }
    .container .flexbox:not(.just):not(.full).count4:not(.reverse) .col:not(:nth-child(4n+1)) {
      margin-left: 2.5%; }
    .container-min .flexbox:not(.just):not(.full).count4:not(.reverse) .col:not(:nth-child(4n+1)) {
      margin-left: 3%; }
    .container .flexbox:not(.just):not(.full).count4.reverse .col:not(:nth-child(4n+1)) {
      margin-right: 2.5%; }
    .container-min .flexbox:not(.just):not(.full).count4.reverse .col:not(:nth-child(4n+1)) {
      margin-right: 3%; }
    .container .flexbox:not(.just):not(.full).count5:not(.reverse) .col:not(:nth-child(5n+1)) {
      margin-left: 1.6666666667%; }
    .container-min .flexbox:not(.just):not(.full).count5:not(.reverse) .col:not(:nth-child(5n+1)) {
      margin-left: 2%; }
    .container .flexbox:not(.just):not(.full).count5.reverse .col:not(:nth-child(5n+1)) {
      margin-right: 1.6666666667%; }
    .container-min .flexbox:not(.just):not(.full).count5.reverse .col:not(:nth-child(5n+1)) {
      margin-right: 2%; } }
@media screen and (max-width: 767px) {
  .flexbox:not(.sp-count2) .col:not(:first-child) {
    margin-top: 30px; }
  .flexbox.sp-count2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .flexbox.sp-count2 .col {
      width: 46.5517241379%; }
      .flexbox.sp-count2 .col:not(:nth-child(-n+2)) {
        margin-top: 30px; } }

@media screen and (max-width: 767px) {
  .table-wrap {
    overflow-x: scroll;
    border: 1px solid #ccc; }
    .table-wrap table {
      width: 767px; } }

.table01 {
  width: 100%;
  background-color: #fff;
  border: 1px solid #ccc;
  border-collapse: separate; }
  @media screen and (max-width: 767px) {
    .table-wrap .table01 {
      border: none; } }
  .table01 th,
  .table01 td {
    line-height: 1.2;
    text-align: left;
    vertical-align: middle; }
    .table01 th:not(:last-child),
    .table01 td:not(:last-child) {
      border-right: 1px solid #ccc; }
  .table01 th {
    background: #eee;
    color: #000;
    font-weight: 500; }
    .table01 th:not(:last-child) {
      border-right: 1px solid #ccc; }
  .table01 tr:not(:last-child) th {
    border-bottom: 1px solid #fff; }
  .table01 tr:not(:last-child) td {
    border-bottom: 1px solid #ccc; }
  .table01 thead th {
    background-color: #666;
    border-bottom: 1px solid #ccc;
    color: #fff;
    font-weight: 700;
    text-align: center; }
  .table-wrap .table01 tbody th {
    white-space: nowrap; }
  @media screen and (min-width: 768px) {
    .table01 th,
    .table01 td {
      padding: 15px 15px; }
    .table01 tbody th {
      padding-right: 30px; } }
  @media screen and (max-width: 767px) {
    .table01 th,
    .table01 td {
      padding: 10px 15px; }
    .table01 tbody th {
      padding-right: 30px; } }
  @media screen and (min-width: 768px) {
    .table01.nowrap th {
      white-space: nowrap; } }
  @media screen and (max-width: 767px) {
    .table01.sp-stack th,
    .table01.sp-stack td {
      display: block !important;
      width: 100%;
      border-right: none; }
    .table01.sp-stack td:not(:last-child) {
      border-bottom: 1px solid #eee; }
    .table01.sp-stack tbody th {
      padding-right: 15px; } }

.table02 {
  width: 100%; }
  .table02 th,
  .table02 td {
    line-height: 1.2;
    text-align: left;
    vertical-align: top; }
  .table02 th {
    font-weight: 500; }
  .table02 tr {
    border-bottom: 1px dashed #ddd; }
  @media screen and (min-width: 768px) {
    .table02 th,
    .table02 td {
      padding: 15px 15px; }
    .table02 th {
      padding-right: 30px; } }
  @media screen and (max-width: 767px) {
    .table02 th,
    .table02 td {
      padding: 10px 15px; }
    .table02 th {
      padding-right: 30px; } }
  @media screen and (min-width: 768px) {
    .table02.nowrap th {
      white-space: nowrap; } }
  @media screen and (max-width: 767px) {
    .table02.sp-stack th,
    .table02.sp-stack td {
      display: block !important;
      width: 100%; }
    .table02.sp-stack th {
      padding-bottom: 0;
      padding-right: 15px; }
    .table02.sp-stack td {
      padding-top: 5px; } }

.list01 li {
  position: relative;
  padding-left: 1em;
  line-height: 1.2; }
  .list01 li:not(:first-child) {
    margin-top: 0.5em; }
  .list01 li::before {
    content: "";
    position: absolute;
    top: .5em;
    left: .35em;
    display: block;
    width: 4px;
    height: 4px;
    background-color: #000;
    border-radius: 50%;
    text-align: center; }
.list01.none li {
  padding-left: 0; }
  .list01.none li::before {
    content: none; }
.list01.check li {
  padding-left: 1.5em; }
  .list01.check li::before {
    content: "";
    font-family: "Font Awesome 5 Free";
    font-weight: 400;
    top: 0;
    left: 0;
    width: 1.5em;
    height: 1.75em;
    background-color: transparent;
    border-radius: 0;
    color: #f25151;
    line-height: 1.75;
    text-align: center; }
.list01.num {
  counter-reset: number 0; }
  .list01.num li {
    padding-left: 1.1em; }
    .list01.num li::before {
      counter-increment: number 1;
      content: counter(number) ".";
      top: 0;
      left: 0;
      width: 1.1em;
      height: 1.2em;
      background-color: transparent;
      border-radius: 0;
      color: #000;
      text-align: left; }
.list01.note li {
  padding-left: 1.1em; }
  .list01.note li::before {
    content: "※";
    top: 0;
    left: 0;
    width: 1.1em;
    height: 1.2em;
    background-color: transparent;
    border-radius: 0;
    color: #000;
    text-align: left; }
@media screen and (min-width: 768px) {
  .list01.count2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .list01.count2 li {
      margin-top: 0; }
      .list01.count2 li:not(:nth-child(-n+2)) {
        margin-top: 0.5em; }
      .container .list01.count2 li {
        width: 48.3333333333%; }
        .container .list01.count2 li:nth-child(even) {
          margin-left: 3.3333333333%; }
      .container-min .list01.count2 li {
        width: 48%; }
        .container-min .list01.count2 li:nth-child(even) {
          margin-left: 4%; } }
@media screen and (min-width: 768px) {
  .list01.count3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .list01.count3 li {
      margin-top: 0; }
      .list01.count3 li:not(:nth-child(-n+3)) {
        margin-top: 0.5em; }
      .container .list01.count3 li {
        width: 31.1111111111%; }
        .container .list01.count3 li:not(:nth-child(3n+1)) {
          margin-left: 3.3333333333%; }
      .container-min .list01.count3 li {
        width: 30.6666666667%; }
        .container-min .list01.count3 li:not(:nth-child(3n+1)) {
          margin-left: 4%; } }
@media screen and (min-width: 768px) {
  .list01.count4 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .list01.count4 li {
      margin-top: 0; }
      .list01.count4 li:not(:nth-child(-n+4)) {
        margin-top: 0.5em; }
      .container .list01.count4 li {
        width: 23.125%; }
        .container .list01.count4 li:not(:nth-child(4n+1)) {
          margin-left: 2.5%; }
      .container-min .list01.count4 li {
        width: 22.75%; }
        .container-min .list01.count4 li:not(:nth-child(4n+1)) {
          margin-left: 3%; } }

.list02::after {
  content: " ";
  display: block;
  clear: both; }
.list02 dt {
  clear: both;
  float: left;
  margin-right: 0.5em;
  font-weight: 700; }
.list02 dd {
  float: left; }

.shaping-contents ul li {
  position: relative;
  padding-left: 1em;
  line-height: 1.2; }
  .shaping-contents ul li:not(:first-child) {
    margin-top: 0.5em; }
  .shaping-contents ul li::before {
    content: "";
    position: absolute;
    top: .5em;
    left: .35em;
    display: block;
    width: 4px;
    height: 4px;
    background-color: #000;
    border-radius: 50%;
    text-align: center; }
.shaping-contents ol {
  counter-reset: number 0; }
  .shaping-contents ol li {
    position: relative;
    padding-left: 1.1em; }
    .shaping-contents ol li::before {
      counter-increment: number 1;
      content: counter(number) ".";
      position: absolute;
      top: 0;
      left: 0;
      width: 1.1em;
      height: 1.2em;
      background-color: transparent;
      border-radius: 0;
      color: #000;
      text-align: left; }

.mail-form01 .input-only,
.mail-form01 .error-only,
.mail-form01 .confirm-only, .mail-form01.input-only, .mail-form01.error-only, .mail-form01.confirm-only {
  display: none; }
.mw_wp_form_input .mail-form01 .input-only, .mw_wp_form_input .mail-form01.input-only {
  display: block; }
.mw_wp_form_error .mail-form01 .error-only, .mw_wp_form_error .mail-form01.error-only {
  display: block; }
.mw_wp_form_confirm .mail-form01 .confirm-only, .mw_wp_form_confirm .mail-form01.confirm-only {
  display: block; }
@media screen and (min-width: 768px) {
  .mail-form01 .contact-tel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 600px;
    margin: 0 auto;
    padding: 10px 0;
    border: 1px solid #eee; }
    .mail-form01 .contact-tel dt, .mail-form01 .contact-tel dd {
      width: 50%;
      text-align: center; }
    .mail-form01 .contact-tel dt {
      padding: 10px 0;
      border-right: 1px solid #eee; } }
@media screen and (max-width: 767px) {
  .mail-form01 .contact-tel {
    padding: 10px 0;
    border: 1px solid #eee; }
    .mail-form01 .contact-tel dt, .mail-form01 .contact-tel dd {
      text-align: center; } }
.mail-form01 input:focus,
.mail-form01 button:focus,
.mail-form01 textarea:focus,
.mail-form01 select:focus {
  outline: 0; }
.mail-form01 button,
.mail-form01 input[type=submit] {
  font-family: YakuHanMP, "Noto Serif JP", "游明朝体", "YuMincho", "Yu Mincho M", "游明朝 Medium", "Yu Mincho Medium", "游明朝", "Yu Mincho", "HGS明朝E", serif; }
.mail-form01 input[type=text],
.mail-form01 input[type=email],
.mail-form01 select,
.mail-form01 textarea {
  font-family: YakuHanMP, "Noto Serif JP", "游明朝体", "YuMincho", "Yu Mincho M", "游明朝 Medium", "Yu Mincho Medium", "游明朝", "Yu Mincho", "HGS明朝E", serif;
  line-height: 1.75;
  vertical-align: top; }
  @media screen and (min-width: 768px) {
    .mail-form01 input[type=text],
    .mail-form01 input[type=email],
    .mail-form01 select,
    .mail-form01 textarea {
      font-size: 16px !important;
      font-size: 1.6rem !important; } }
  @media screen and (max-width: 767px) {
    .mail-form01 input[type=text],
    .mail-form01 input[type=email],
    .mail-form01 select,
    .mail-form01 textarea {
      font-size: 16px !important;
      font-size: 1.6rem !important; } }
.mail-form01 input[type=text],
.mail-form01 input[type=email],
.mail-form01 select,
.mail-form01 textarea {
  border: 1px solid #ccc;
  border-radius: 3px; }
  @media screen and (min-width: 768px) {
    .mail-form01 input[type=text],
    .mail-form01 input[type=email],
    .mail-form01 select,
    .mail-form01 textarea {
      padding: 2px 10px; } }
  @media screen and (max-width: 767px) {
    .mail-form01 input[type=text],
    .mail-form01 input[type=email],
    .mail-form01 select,
    .mail-form01 textarea {
      padding: 2px 10px; } }
@media screen and (min-width: 768px) {
  .mail-form01 select {
    height: 28px;
    line-height: 28px; } }
@media screen and (max-width: 767px) {
  .mail-form01 select {
    height: 28px;
    line-height: 28px; } }
.mail-form01 label {
  cursor: pointer; }
.mail-form01 .input01 {
  width: 100% !important; }
@media screen and (min-width: 768px) {
  .mail-form01 .input02 {
    width: 55% !important; } }
@media screen and (max-width: 767px) {
  .mail-form01 .input02 {
    width: 100% !important; } }
.mail-form01 .input03 {
  width: 4.8em !important; }
.mail-form01 .mwform-tel-field,
.mail-form01 .mwform-zip-field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .mail-form01 .mwform-tel-field input,
  .mail-form01 .mwform-zip-field input {
    margin: 0 .3em; }
    .mail-form01 .mwform-tel-field input:last-child,
    .mail-form01 .mwform-zip-field input:last-child {
      margin-right: 0; }
.mail-form01 .mwform-tel-field input:first-child {
  margin-left: 0; }
.mail-form01 .horizontal-item {
  margin: 0 !important; }
.mail-form01 .vertical-item + .vertical-item {
  margin-top: 10px !important; }
.mail-form01 .error {
  color: #f25151 !important;
  margin-top: 10px !important; }
.mail-form01 .strong {
  display: inline-block;
  margin: 0 10px;
  padding: 5px 8px;
  background: #f25151;
  border-radius: 3px;
  color: #fff;
  line-height: 1;
  font-weight: 700; }
  @media screen and (min-width: 768px) {
    .mail-form01 .strong {
      font-size: 11px !important;
      font-size: 1.1rem !important; } }
  @media screen and (max-width: 767px) {
    .mail-form01 .strong {
      font-size: 11px !important;
      font-size: 1.1rem !important; } }
.mail-form01 .submit-btn {
  font-size: 0px !important;
  font-size: 0rem !important;
  text-align: center; }
  .mail-form01 .submit-btn input {
    margin: 3px 5px; }
    @media screen and (max-width: 767px) {
      .mail-form01 .submit-btn input {
        display: block;
        width: 80%;
        min-width: 200px;
        max-width: 300px;
        margin: 0 auto; }
        .mail-form01 .submit-btn input:not(:first-child) {
          margin-top: 10px; } }

#global-head {
  z-index: 99; }
  @media screen and (min-width: 768px) {
    #global-head {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      min-width: 1260px;
      height: 60px;
      background-color: #633790;
      -webkit-box-shadow: none;
              box-shadow: none;
      -webkit-transform: translateY(0);
              transform: translateY(0);
      -webkit-transition: all 0.3s ease;
      transition: all 0.3s ease;
      -webkit-transition-property: -webkit-transform;
      transition-property: -webkit-transform;
      transition-property: transform;
      transition-property: transform, -webkit-transform; }
      #global-head .head-container {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        width: 100%;
        margin: 0 auto;
        padding: 0 0 0 2.380952381%;
        height: 100%; }
        #global-head .head-container .logo {
          -webkit-box-ordinal-group: 2;
              -ms-flex-order: 1;
                  order: 1;
          -webkit-box-flex: 1;
              -ms-flex: 1;
                  flex: 1;
          width: 100%;
          max-width: 148px;
          margin-right: auto; }
          #global-head .head-container .logo a {
            display: block;
            overflow: hidden;
            width: 100%;
            height: 0;
            background-image: url("../img/main-logo-white.svg");
            background-position: 50%;
            background-repeat: no-repeat;
            background-size: contain;
            padding-top: 27.0114942529%; }
        #global-head .head-container .contact {
          -webkit-box-ordinal-group: 4;
              -ms-flex-order: 3;
                  order: 3;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: end;
              -ms-flex-pack: end;
                  justify-content: flex-end;
          height: 100%;
          margin-left: 20px; }
          #global-head .head-container .contact li {
            width: 60px;
            height: 100%;
            border-top: 1px solid #633790;
            border-bottom: 1px solid #633790;
            border-right: 1px solid #633790; }
            #global-head .head-container .contact li a {
              position: relative;
              display: -webkit-box;
              display: -ms-flexbox;
              display: flex;
              -webkit-box-align: center;
                  -ms-flex-align: center;
                      align-items: center;
              -webkit-box-pack: center;
                  -ms-flex-pack: center;
                      justify-content: center;
              width: 100%;
              height: 100%;
              background: #fff;
              -webkit-transition: all 0.3s ease;
              transition: all 0.3s ease; }
              #global-head .head-container .contact li a::before {
                content: '';
                display: block;
                width: 24px;
                height: 24px;
                background-position: 50%;
                background-repeat: no-repeat;
                background-size: contain;
                -webkit-transition: all 0.3s ease;
                transition: all 0.3s ease; }
              #global-head .head-container .contact li a:hover {
                background: rgba(255, 255, 255, 0.4) !important;
                opacity: 1;
                filter: alpha(opacity=100); }
              #global-head .head-container .contact li a span {
                display: none; }
            #global-head .head-container .contact li.tel a::before {
              background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2258%22%20height%3D%2290%22%20viewBox%3D%220%200%2058%2090%22%3E%20%3Cg%3E%20%3Cpath%20d%3D%22M33.63%2C62.56C31.23%2C59%2C27.22%2C51.9%2C24.91%2C47.4s-5.84-12.1-7.32-16.18L21.86%2C29%2C8.13%2C2.26l-3.79%2C2A5.84%2C5.84%2C0%2C0%2C0%2C2.45%2C5.75c-5.1%2C5.28-2.29%2C26.65%2C9%2C48.61%2C12%2C23.36%2C29%2C38.54%2C35.51%2C35.18v-.09a6.09%2C6.09%2C0%2C0%2C0%2C1-.39l3.79-2L37.93%2C60.34Z%22%20fill%3D%22%23633790%22%2F%3E%20%3Cpath%20d%3D%22M57.34%2C77.43%2C49.08%2C61.34a6%2C6%2C0%2C0%2C0-8-2.59l-.85.44L53.91%2C85.94l.85-.44A6%2C6%2C0%2C0%2C0%2C57.34%2C77.43Z%22%20fill%3D%22%23633790%22%2F%3E%20%3Cpath%20d%3D%22M25%2C27.42a6%2C6%2C0%2C0%2C0%2C2.58-8.07L19.27%2C3.25a6%2C6%2C0%2C0%2C0-8-2.58l-.85.43L24.1%2C27.86Z%22%20fill%3D%22%23633790%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E"); }
            #global-head .head-container .contact li.tel a:hover::before {
              background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2258%22%20height%3D%2290%22%20viewBox%3D%220%200%2058%2090%22%3E%20%3Cg%3E%20%3Cpath%20d%3D%22M33.63%2C62.56C31.23%2C59%2C27.22%2C51.9%2C24.91%2C47.4s-5.84-12.1-7.32-16.18L21.86%2C29%2C8.13%2C2.26l-3.79%2C2A5.84%2C5.84%2C0%2C0%2C0%2C2.45%2C5.75c-5.1%2C5.28-2.29%2C26.65%2C9%2C48.61%2C12%2C23.36%2C29%2C38.54%2C35.51%2C35.18v-.09a6.09%2C6.09%2C0%2C0%2C0%2C1-.39l3.79-2L37.93%2C60.34Z%22%20fill%3D%22%23fff%22%2F%3E%20%3Cpath%20d%3D%22M57.34%2C77.43%2C49.08%2C61.34a6%2C6%2C0%2C0%2C0-8-2.59l-.85.44L53.91%2C85.94l.85-.44A6%2C6%2C0%2C0%2C0%2C57.34%2C77.43Z%22%20fill%3D%22%23fff%22%2F%3E%20%3Cpath%20d%3D%22M25%2C27.42a6%2C6%2C0%2C0%2C0%2C2.58-8.07L19.27%2C3.25a6%2C6%2C0%2C0%2C0-8-2.58l-.85.43L24.1%2C27.86Z%22%20fill%3D%22%23fff%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E"); }
            #global-head .head-container .contact li.mail a::before {
              background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22mail-icon%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%2230%22%20viewBox%3D%220%200%2040%2030%22%3E%20%3Cpath%20d%3D%22M37.65%2C0H2.35A2.33%2C2.33%2C0%2C0%2C0%2C0%2C2.32V27.68A2.33%2C2.33%2C0%2C0%2C0%2C2.35%2C30h35.3A2.33%2C2.33%2C0%2C0%2C0%2C40%2C27.68V2.32A2.33%2C2.33%2C0%2C0%2C0%2C37.65%2C0ZM36.43%2C3%2C20%2C19.19%2C3.57%2C3ZM37%2C27H3V6.59L18.34%2C21.74a2.37%2C2.37%2C0%2C0%2C0%2C3.32%2C0L37%2C6.59Z%22%20fill%3D%22%23633790%22%2F%3E%3C%2Fsvg%3E"); }
            #global-head .head-container .contact li.mail a:hover::before {
              background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22mail-icon%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%2230%22%20viewBox%3D%220%200%2040%2030%22%3E%20%3Cpath%20d%3D%22M37.65%2C0H2.35A2.33%2C2.33%2C0%2C0%2C0%2C0%2C2.32V27.68A2.33%2C2.33%2C0%2C0%2C0%2C2.35%2C30h35.3A2.33%2C2.33%2C0%2C0%2C0%2C40%2C27.68V2.32A2.33%2C2.33%2C0%2C0%2C0%2C37.65%2C0ZM36.43%2C3%2C20%2C19.19%2C3.57%2C3ZM37%2C27H3V6.59L18.34%2C21.74a2.37%2C2.37%2C0%2C0%2C0%2C3.32%2C0L37%2C6.59Z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E"); }
        #global-head .head-container #global-nav {
          -webkit-box-ordinal-group: 3;
              -ms-flex-order: 2;
                  order: 2; }
        #global-head .head-container #menu-btn {
          display: none; }
      .home-page #global-head:not(.header-fix) {
        -webkit-transform: translateY(-101%);
                transform: translateY(-101%); } }
  @media screen and (max-width: 767px) {
    #global-head {
      position: fixed;
      width: 100%;
      min-width: 320px; }
      #global-head .head-container {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        width: 100%;
        height: 64px;
        padding: 0 10px;
        border-top: none;
        background-color: #fff;
        -webkit-box-shadow: 0 0 3px #ccc;
                box-shadow: 0 0 3px #ccc; }
        #global-head .head-container .logo {
          -webkit-box-flex: 1;
              -ms-flex: 1;
                  flex: 1;
          width: 100%;
          max-width: 162px;
          margin-right: auto; }
          #global-head .head-container .logo a {
            display: block;
            overflow: hidden;
            width: 100%;
            height: 0;
            background-image: url("../img/main-logo.svg");
            background-position: 50%;
            background-repeat: no-repeat;
            background-size: contain;
            padding-top: 27.0114942529%; }
        #global-head .head-container .contact {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: end;
              -ms-flex-pack: end;
                  justify-content: flex-end;
          margin-left: 15px; }
          #global-head .head-container .contact li:not(:first-child) {
            margin-left: 5px; }
          #global-head .head-container .contact li a {
            overflow: hidden;
            position: relative;
            display: block;
            width: 40px;
            height: 40px;
            background: rgba(99, 55, 144, 0.8);
            border-radius: 50%;
            text-indent: -9990px; }
            #global-head .head-container .contact li a::before {
              content: '';
              position: absolute;
              top: 0;
              right: 0;
              bottom: 0;
              left: 0;
              width: 24px;
              height: 24px;
              margin: auto;
              background-position: 50%;
              background-repeat: no-repeat;
              background-size: contain; }
          #global-head .head-container .contact li.tel a::before {
            background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2258%22%20height%3D%2290%22%20viewBox%3D%220%200%2058%2090%22%3E%20%3Cg%3E%20%3Cpath%20d%3D%22M33.63%2C62.56C31.23%2C59%2C27.22%2C51.9%2C24.91%2C47.4s-5.84-12.1-7.32-16.18L21.86%2C29%2C8.13%2C2.26l-3.79%2C2A5.84%2C5.84%2C0%2C0%2C0%2C2.45%2C5.75c-5.1%2C5.28-2.29%2C26.65%2C9%2C48.61%2C12%2C23.36%2C29%2C38.54%2C35.51%2C35.18v-.09a6.09%2C6.09%2C0%2C0%2C0%2C1-.39l3.79-2L37.93%2C60.34Z%22%20fill%3D%22%23fff%22%2F%3E%20%3Cpath%20d%3D%22M57.34%2C77.43%2C49.08%2C61.34a6%2C6%2C0%2C0%2C0-8-2.59l-.85.44L53.91%2C85.94l.85-.44A6%2C6%2C0%2C0%2C0%2C57.34%2C77.43Z%22%20fill%3D%22%23fff%22%2F%3E%20%3Cpath%20d%3D%22M25%2C27.42a6%2C6%2C0%2C0%2C0%2C2.58-8.07L19.27%2C3.25a6%2C6%2C0%2C0%2C0-8-2.58l-.85.43L24.1%2C27.86Z%22%20fill%3D%22%23fff%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E"); }
          #global-head .head-container .contact li.mail a::before {
            background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22mail-icon%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%2230%22%20viewBox%3D%220%200%2040%2030%22%3E%20%3Cpath%20d%3D%22M37.65%2C0H2.35A2.33%2C2.33%2C0%2C0%2C0%2C0%2C2.32V27.68A2.33%2C2.33%2C0%2C0%2C0%2C2.35%2C30h35.3A2.33%2C2.33%2C0%2C0%2C0%2C40%2C27.68V2.32A2.33%2C2.33%2C0%2C0%2C0%2C37.65%2C0ZM36.43%2C3%2C20%2C19.19%2C3.57%2C3ZM37%2C27H3V6.59L18.34%2C21.74a2.37%2C2.37%2C0%2C0%2C0%2C3.32%2C0L37%2C6.59Z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E"); }
        #global-head .head-container #menu-btn {
          display: block;
          width: 44px;
          margin-left: 10px;
          background-color: #fff;
          border: 1px solid #633790;
          border-radius: 3px;
          cursor: pointer; }
          #global-head .head-container #menu-btn .btn {
            position: relative;
            width: 100%;
            padding-top: 100%; }
            #global-head .head-container #menu-btn .btn span {
              position: absolute;
              display: block;
              top: 0;
              left: 0;
              width: 100%;
              height: 100%; }
            #global-head .head-container #menu-btn .btn span:nth-of-type(1)::before {
              content: "Menu";
              position: absolute;
              bottom: 3px;
              left: 0;
              display: block;
              width: 100%;
              color: #633790;
              font-size: 10px !important;
              font-size: 1rem !important;
              line-height: 1;
              font-weight: 500;
              text-align: center;
              -webkit-transition: all 0.3s ease;
              transition: all 0.3s ease; }
            #global-head .head-container #menu-btn .btn span:nth-of-type(2)::before,
            #global-head .head-container #menu-btn .btn span:nth-of-type(2)::after, #global-head .head-container #menu-btn .btn::before, #global-head .head-container #menu-btn .btn::after {
              content: "";
              position: absolute;
              left: 50%;
              display: block;
              overflow: hidden;
              width: 20px;
              height: 2px;
              margin-left: -10px;
              background-color: #633790;
              border-radius: 2px;
              -webkit-transform-origin: center center;
                      transform-origin: center center;
              -webkit-transform: scale(1);
                      transform: scale(1);
              -webkit-transition: all 0.3s ease;
              transition: all 0.3s ease; }
            #global-head .head-container #menu-btn .btn span:nth-of-type(2)::before,
            #global-head .head-container #menu-btn .btn span:nth-of-type(2)::after {
              top: 16px; }
            #global-head .head-container #menu-btn .btn::before {
              top: 9px; }
            #global-head .head-container #menu-btn .btn::after {
              top: 23px; }
      #global-head.open .head-container #menu-btn .btn span:nth-of-type(2)::before {
        -webkit-transform: rotate(45deg);
                transform: rotate(45deg); }
      #global-head.open .head-container #menu-btn .btn span:nth-of-type(2)::after {
        -webkit-transform: rotate(-45deg);
                transform: rotate(-45deg); }
      #global-head.open .head-container #menu-btn .btn::before, #global-head.open .head-container #menu-btn .btn::after {
        opacity: 0;
        filter: alpha(opacity=0);
        -webkit-transform: scale(0);
                transform: scale(0);
        top: 16px; } }

#global-nav h3 {
  display: none; }
@media screen and (min-width: 768px) {
  #global-nav {
    position: relative;
    margin-left: 20px; } }
@media screen and (max-width: 767px) {
  #global-nav {
    z-index: -1;
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow-y: auto;
    padding: 64px 0 0;
    background-color: #fafafa; } }

#page-top {
  display: none;
  z-index: 98;
  position: fixed;
  bottom: 0;
  right: 0;
  background-color: #fff; }
  #page-top a {
    position: relative;
    display: block;
    width: 100%;
    padding-top: 100%;
    background-color: #633790;
    text-decoration: none; }
    #page-top a::after {
      position: absolute;
      top: 50%;
      left: 50%;
      width: 1em;
      height: 1em;
      margin-top: -0.5em;
      margin-left: -0.5em;
      content: "";
      font-family: "Font Awesome 5 Free";
      font-weight: 900;
      display: block;
      color: #fff;
      text-align: center;
      font-size: 24px !important;
      font-size: 2.4rem !important;
      line-height: 1; }
  #page-top span {
    display: none; }
  @media screen and (min-width: 768px) {
    #page-top {
      width: 48px; } }
  @media screen and (max-width: 767px) {
    #page-top {
      width: 44px; } }

#global-foot {
  position: relative;
  background: #633790;
  background-size: cover;
  border-top: none;
  color: #fff; }
  #global-foot > * {
    position: relative; }
  #global-foot a {
    color: #fff; }
  #global-foot .company .logo a {
    display: block;
    overflow: hidden;
    width: 100%;
    height: 0;
    background-image: url("../img/main-logo-white.svg");
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    padding-top: 27.0114942529%; }
  @media screen and (min-width: 768px) {
    #global-foot .foot-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      max-width: 1200px;
      margin: 0 auto;
      padding: 40px 0 0; }
      #global-foot .foot-container .company {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        width: 100%;
        font-size: 16px !important;
        font-size: 1.6rem !important;
        line-height: 1.4; }
        #global-foot .foot-container .company .logo {
          max-width: 235px; }
        #global-foot .foot-container .company p {
          margin-top: 1em; }
          #global-foot .foot-container .company p.zip {
            margin-top: 1.5em; }
      #global-foot .foot-container .nav {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        padding: 20px 0 0; }
        #global-foot .foot-container .nav .menu:not(:first-child) {
          margin-left: 100px; }
        #global-foot .foot-container .nav .menu > li {
          display: block;
          text-align: left;
          vertical-align: top; }
          #global-foot .foot-container .nav .menu > li:not(:first-child) {
            margin-top: .2em; }
          #global-foot .foot-container .nav .menu > li > a,
          #global-foot .foot-container .nav .menu > li > span {
            display: inline-block;
            color: #fff;
            font-size: 16px !important;
            font-size: 1.6rem !important;
            line-height: 1.4; }
          #global-foot .foot-container .nav .menu > li .sub-menu {
            display: block;
            padding-left: .5em; }
            #global-foot .foot-container .nav .menu > li .sub-menu > li {
              position: relative;
              white-space: nowrap; }
              #global-foot .foot-container .nav .menu > li .sub-menu > li::before {
                content: "├";
                display: inline-block;
                margin-right: 2px;
                font-size: 16px !important;
                font-size: 1.6rem !important;
                line-height: 1.4; }
              #global-foot .foot-container .nav .menu > li .sub-menu > li:last-child::before {
                content: "└"; }
              #global-foot .foot-container .nav .menu > li .sub-menu > li > a {
                display: inline-block;
                color: #fff;
                font-size: 16px !important;
                font-size: 1.6rem !important;
                line-height: 1.4; }
    #global-foot .copylight {
      display: block;
      max-width: 1200px;
      margin: 0 auto;
      margin-top: 30px;
      background: transparent;
      color: #fff;
      font-size: 16px !important;
      font-size: 1.6rem !important;
      line-height: 48px;
      text-align: right; } }
  @media screen and (max-width: 767px) {
    #global-foot .foot-container {
      padding: 30px 15px 0; }
    #global-foot .company .logo {
      width: 60%;
      max-width: 348px;
      margin: 0 auto; }
    #global-foot .company p {
      text-align: center;
      line-height: 1.4;
      margin-top: 1em; }
      #global-foot .company p.zip {
        margin-top: 1.5em; }
    #global-foot .nav {
      display: none; }
    #global-foot .copylight {
      display: block;
      margin-top: 20px;
      padding: 22px 15px;
      background: transparent;
      color: #fff;
      font-size: 10px !important;
      font-size: 1rem !important;
      text-align: center; } }

.footer-contact .highlight {
  border-top: 3px solid rgba(99, 55, 144, 0.3); }
  .home-page .footer-contact .highlight {
    border-top: none; }
  .footer-contact .highlight .wrap {
    position: relative;
    text-align: center; }
    .footer-contact .highlight .wrap > * {
      position: relative; }
    .footer-contact .highlight .wrap .flexbox .col.tel .btn {
      line-height: 1.2; }
      .footer-contact .highlight .wrap .flexbox .col.tel .btn a {
        display: inline-block; }
      .footer-contact .highlight .wrap .flexbox .col.tel .btn p {
        margin-top: .5em; }
@media screen and (min-width: 768px) {
  .footer-contact .wrap::before {
    content: '';
    position: absolute;
    right: 0;
    bottom: -25px;
    display: block;
    width: 220px;
    height: 340px;
    background: url("../img/footer/img01.png") 0 100% no-repeat;
    background-size: contain; }
  .footer-contact .wrap .flexbox {
    max-width: 800px;
    margin: 0 auto; }
    .footer-contact .wrap .flexbox .col {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      .footer-contact .wrap .flexbox .col.tel .btn a {
        font-size: 40px !important;
        font-size: 4rem !important;
        font-weight: 500; }
      .footer-contact .wrap .flexbox .col.tel .btn p {
        font-size: 20px !important;
        font-size: 2rem !important; }
      .footer-contact .wrap .flexbox .col.mail .btn a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -ms-flex-line-pack: center;
            align-content: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        width: 350px;
        height: 130px;
        background: #633790;
        border-radius: 5px;
        color: #fff;
        font-size: 20px !important;
        font-size: 2rem !important; }
        .footer-contact .wrap .flexbox .col.mail .btn a strong {
          display: block;
          width: 100%;
          font-size: 30px !important;
          font-size: 3rem !important;
          font-weight: 500; }
        .footer-contact .wrap .flexbox .col.mail .btn a br {
          display: none; } }
@media screen and (max-width: 767px) {
  .footer-contact .wrap .flexbox .col.tel .btn a {
    font-size: 30px !important;
    font-size: 3rem !important;
    font-weight: 500; }
  .footer-contact .wrap .flexbox .col.mail .btn a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-line-pack: center;
        align-content: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    max-width: 280px;
    height: 100px;
    margin: 0 auto;
    background: #633790;
    border-radius: 5px;
    color: #fff; }
    .footer-contact .wrap .flexbox .col.mail .btn a strong {
      display: block;
      width: 100%;
      font-size: 24px !important;
      font-size: 2.4rem !important;
      font-weight: 500; }
    .footer-contact .wrap .flexbox .col.mail .btn a br {
      display: none; } }

#main-slider {
  z-index: 1;
  position: relative;
  width: 100%; }
  #main-slider .slide-wrap {
    position: relative;
    height: 100%; }
    #main-slider .slide-wrap .slide-image {
      position: relative;
      height: 100%; }
      #main-slider .slide-wrap .slide-image .slick-list,
      #main-slider .slide-wrap .slide-image .slick-track {
        height: 100%; }
      #main-slider .slide-wrap .slide-image::after {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        display: block;
        background-color: rgba(0, 0, 0, 0.5); }
    #main-slider .slide-wrap .slide-text {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0; }
      #main-slider .slide-wrap .slide-text .text {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        height: 100%; }
        #main-slider .slide-wrap .slide-text .text h2 {
          max-width: 500px; }
          #main-slider .slide-wrap .slide-text .text h2 span {
            display: block;
            overflow: hidden;
            width: 100%;
            height: 0;
            background-image: url("../img/mv/slide-text.png");
            background-position: 50%;
            background-repeat: no-repeat;
            background-size: contain;
            padding-top: 70%; }
  @media screen and (min-width: 768px) {
    #main-slider {
      height: 100vh;
      min-height: 850px;
      margin-bottom: 60px; }
      #main-slider .slide-text {
        max-width: 1200px;
        margin: 0 auto; }
        #main-slider .slide-text .logo {
          z-index: 1;
          position: absolute;
          top: 30px;
          left: 0;
          width: 348px; }
          #main-slider .slide-text .logo a {
            display: block;
            overflow: hidden;
            width: 100%;
            height: 0;
            background-image: url("../img/main-logo-white.svg");
            background-position: 50%;
            background-repeat: no-repeat;
            background-size: contain;
            padding-top: 27.0114942529%; }
        #main-slider .slide-text .contact {
          z-index: 1;
          position: absolute;
          top: 50px;
          right: 0;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center;
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center; }
          #main-slider .slide-text .contact li:not(:last-child) {
            margin-right: 20px; }
          #main-slider .slide-text .contact li a {
            display: block; }
          #main-slider .slide-text .contact li.tel a {
            color: #fff;
            font-size: 25px !important;
            font-size: 2.5rem !important;
            font-weight: 500; }
          #main-slider .slide-text .contact li.mail a {
            position: relative;
            width: 50px;
            height: 50px;
            background: #fff;
            border-radius: 50%; }
            #main-slider .slide-text .contact li.mail a span {
              display: none; }
            #main-slider .slide-text .contact li.mail a::before {
              content: '';
              position: absolute;
              top: 0;
              right: 0;
              bottom: 0;
              left: 0;
              background: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22mail-icon%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%2230%22%20viewBox%3D%220%200%2040%2030%22%3E%20%3Cpath%20d%3D%22M37.65%2C0H2.35A2.33%2C2.33%2C0%2C0%2C0%2C0%2C2.32V27.68A2.33%2C2.33%2C0%2C0%2C0%2C2.35%2C30h35.3A2.33%2C2.33%2C0%2C0%2C0%2C40%2C27.68V2.32A2.33%2C2.33%2C0%2C0%2C0%2C37.65%2C0ZM36.43%2C3%2C20%2C19.19%2C3.57%2C3ZM37%2C27H3V6.59L18.34%2C21.74a2.37%2C2.37%2C0%2C0%2C0%2C3.32%2C0L37%2C6.59Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E") 50% no-repeat;
              background-size: 32px auto; }
        #main-slider .slide-text .text {
          padding: 180px 0 320px; }
          #main-slider .slide-text .text h2 {
            width: 500px; }
      #main-slider .slide-nav {
        z-index: 1;
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;
        background: rgba(99, 55, 144, 0.7); }
        #main-slider .slide-nav .main-nav {
          max-width: 1200px;
          margin: 0 auto;
          padding: 10px 0; } }
  @media screen and (max-width: 767px) {
    #main-slider {
      padding-top: 65.625%;
      margin-bottom: 40px; }
      #main-slider .slide-wrap {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0; }
        #main-slider .slide-wrap .slide-text .logo,
        #main-slider .slide-wrap .slide-text .contact {
          display: none; }
        #main-slider .slide-wrap .slide-text .text {
          margin: 0 15px; }
          #main-slider .slide-wrap .slide-text .text h2 {
            width: 70%; }
        #main-slider .slide-wrap .slide-nav {
          display: none; } }

#main-title {
  position: relative; }
  #main-title h1 {
    z-index: 1;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-family: YakuHanMP, "Noto Serif JP", "游明朝体", "YuMincho", "Yu Mincho M", "游明朝 Medium", "Yu Mincho Medium", "游明朝", "Yu Mincho", "HGS明朝E", serif;
    color: #fff;
    font-weight: 700;
    text-align: center;
    text-shadow: 0px 0px 5px #444; }
  #main-title figure {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
    #main-title figure::after {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      display: block;
      background-color: rgba(0, 0, 0, 0.5); }
  @media screen and (min-width: 768px) {
    #main-title {
      height: 360px; }
      #main-title h1 {
        font-size: 35px !important;
        font-size: 3.5rem !important;
        letter-spacing: 0.2em; } }
  @media screen and (max-width: 767px) {
    #main-title {
      padding-top: 46.875%; }
      #main-title h1 {
        font-size: 5.625vw !important;
        letter-spacing: 0.1em; } }

#body-wrap {
  overflow: hidden;
  position: relative; }
  @media screen and (min-width: 768px) {
    #body-wrap {
      min-width: 1260px; } }
  @media screen and (max-width: 767px) {
    #body-wrap {
      min-width: 320px; } }

@media screen and (min-width: 768px) {
  #main-contents {
    padding-top: 60px; }
    .home-page #main-contents {
      padding-top: 0; } }
@media screen and (max-width: 767px) {
  #main-contents {
    padding-top: 64px; } }
#main-contents #bread-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }
  #main-contents #bread-nav a {
    text-decoration: none; }
    #main-contents #bread-nav a:hover {
      text-decoration: underline; }
  #main-contents #bread-nav > span {
    display: block; }
    #main-contents #bread-nav > span:first-child::before {
      content: "";
      font-family: "Font Awesome 5 Free";
      font-weight: 900;
      color: #000;
      margin-right: 0.2em; }
    #main-contents #bread-nav > span:not(:first-child)::before {
      content: ">";
      margin: 0 0.5em; }
  @media screen and (min-width: 768px) {
    #main-contents #bread-nav {
      max-width: 1060px;
      margin: 15px auto 45px;
      padding: 0 30px;
      font-size: 14px !important;
      font-size: 1.4rem !important; } }
  @media screen and (max-width: 767px) {
    #main-contents #bread-nav {
      margin: 15px auto 45px;
      padding: 0 15px;
      font-size: 12px !important;
      font-size: 1.2rem !important; } }
@media screen and (min-width: 768px) {
  #main-contents .sec {
    margin-bottom: 100px;
    margin-top: -80px;
    padding-top: 80px; } }
@media screen and (max-width: 767px) {
  #main-contents .sec {
    margin-bottom: 80px;
    margin-top: -84px;
    padding-top: 84px; } }
@media screen and (min-width: 768px) {
  #main-contents .sec:last-child .highlight,
  #main-contents .sec:last-child .highlight01,
  #main-contents .sec:last-child .highlight02 {
    padding-bottom: 100px; } }
@media screen and (max-width: 767px) {
  #main-contents .sec:last-child .highlight,
  #main-contents .sec:last-child .highlight01,
  #main-contents .sec:last-child .highlight02 {
    padding-bottom: 80px; } }
@media screen and (min-width: 768px) {
  #main-contents .sec .row:not(:last-child) {
    margin-bottom: 60px; } }
@media screen and (max-width: 767px) {
  #main-contents .sec .row:not(:last-child) {
    margin-bottom: 40px; } }
@media screen and (min-width: 768px) {
  #main-contents .sec .row.high:not(:last-child) {
    margin-bottom: 80px; } }
@media screen and (max-width: 767px) {
  #main-contents .sec .row.high:not(:last-child) {
    margin-bottom: 60px; } }
@media screen and (min-width: 768px) {
  #main-contents .sec .row.low:not(:last-child) {
    margin-bottom: 40px; } }
@media screen and (max-width: 767px) {
  #main-contents .sec .row.low:not(:last-child) {
    margin-bottom: 30px; } }
#main-contents .sec p:not(:last-child), #main-contents .sec ul:not(:last-child), #main-contents .sec dl:not(:last-child), #main-contents .sec ol:not(:last-child), #main-contents .sec table:not(:last-child),
#main-contents .sec pre:not(:last-child), #main-contents .sec blockquote:not(:last-child),
#main-contents .sec .text-wrap01:not(:last-child),
#main-contents .sec .text-wrap02:not(:last-child),
#main-contents .sec .table-wrap:not(:last-child) {
  margin-bottom: 1em; }
@media screen and (min-width: 768px) {
  #main-contents .container-min {
    max-width: 1060px;
    margin: 0 auto;
    padding: 0 30px; } }
@media screen and (max-width: 767px) {
  #main-contents .container-min {
    padding: 0 15px; } }
@media screen and (min-width: 768px) {
  #main-contents .container {
    max-width: 1260px;
    margin: 0 auto;
    padding: 0 30px; } }
@media screen and (max-width: 767px) {
  #main-contents .container {
    padding: 0 15px; } }
@media screen and (min-width: 768px) {
  #main-contents .container .container-min {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0; } }
@media screen and (max-width: 767px) {
  #main-contents .container .container-min {
    padding: 0; } }

@media screen and (min-width: 768px) {
  .shaping-contents h1:not(:last-child), .shaping-contents h2:not(:last-child), .shaping-contents h3:not(:last-child), .shaping-contents h4:not(:last-child), .shaping-contents h5:not(:last-child), .shaping-contents h6:not(:last-child) {
    margin-bottom: 16px; } }
@media screen and (max-width: 767px) {
  .shaping-contents h1:not(:last-child), .shaping-contents h2:not(:last-child), .shaping-contents h3:not(:last-child), .shaping-contents h4:not(:last-child), .shaping-contents h5:not(:last-child), .shaping-contents h6:not(:last-child) {
    margin-bottom: 16px; } }
.shaping-contents h1, .shaping-contents h2, .shaping-contents h3, .shaping-contents h4, .shaping-contents h5, .shaping-contents h6 {
  font-weight: 700; }
@media screen and (min-width: 768px) {
  .shaping-contents h1 {
    font-size: 28px !important;
    font-size: 2.8rem !important; } }
@media screen and (max-width: 767px) {
  .shaping-contents h1 {
    font-size: 26px !important;
    font-size: 2.6rem !important; } }
@media screen and (min-width: 768px) {
  .shaping-contents h2 {
    font-size: 26px !important;
    font-size: 2.6rem !important; } }
@media screen and (max-width: 767px) {
  .shaping-contents h2 {
    font-size: 24px !important;
    font-size: 2.4rem !important; } }
@media screen and (min-width: 768px) {
  .shaping-contents h3 {
    font-size: 24px !important;
    font-size: 2.4rem !important; } }
@media screen and (max-width: 767px) {
  .shaping-contents h3 {
    font-size: 22px !important;
    font-size: 2.2rem !important; } }
@media screen and (min-width: 768px) {
  .shaping-contents h4 {
    font-size: 22px !important;
    font-size: 2.2rem !important; } }
@media screen and (max-width: 767px) {
  .shaping-contents h4 {
    font-size: 20px !important;
    font-size: 2rem !important; } }
@media screen and (min-width: 768px) {
  .shaping-contents h5 {
    font-size: 20px !important;
    font-size: 2rem !important; } }
@media screen and (max-width: 767px) {
  .shaping-contents h5 {
    font-size: 18px !important;
    font-size: 1.8rem !important; } }
@media screen and (min-width: 768px) {
  .shaping-contents h6 {
    font-size: 18px !important;
    font-size: 1.8rem !important; } }
@media screen and (max-width: 767px) {
  .shaping-contents h6 {
    font-size: 16px !important;
    font-size: 1.6rem !important; } }
.shaping-contents p:not(:last-child), .shaping-contents ul:not(:last-child), .shaping-contents dl:not(:last-child), .shaping-contents ol:not(:last-child), .shaping-contents table:not(:last-child),
.shaping-contents pre:not(:last-child), .shaping-contents blockquote:not(:last-child),
.shaping-contents .text-wrap01:not(:last-child),
.shaping-contents .text-wrap02:not(:last-child),
.shaping-contents .table-wrap:not(:last-child) {
  margin-bottom: 1em; }
.shaping-contents img {
  width: auto; }
.shaping-contents blockquote {
  position: relative;
  width: 80%;
  margin-right: auto;
  margin-left: auto;
  background-color: transparent;
  border: 3px solid #eee;
  border-radius: 5;
  font-style: italic; }
  .shaping-contents blockquote * {
    color: inherit; }
  @media screen and (min-width: 768px) {
    .shaping-contents blockquote {
      padding: 21px 31px; } }
  @media screen and (max-width: 767px) {
    .shaping-contents blockquote {
      padding: 21px 31px; } }
  .shaping-contents blockquote::before {
    display: inline-block;
    position: absolute;
    top: 10px;
    left: 15px;
    content: "";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: rgba(0, 0, 0, 0.4);
    font-size: 16px !important;
    font-size: 1.6rem !important;
    line-height: 1; }
  .shaping-contents blockquote .cite {
    display: block;
    text-align: right; }

.ggl-map {
  position: relative;
  width: 100%; }
  @media screen and (min-width: 768px) {
    .ggl-map {
      padding-top: 37.5%; } }
  @media screen and (max-width: 767px) {
    .ggl-map {
      padding-top: 80%; } }
  .ggl-map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%; }
  .youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.sc-gallery .cat,
.gallery-list01 .cat {
  margin-top: 5px;
  position: relative;
  padding-left: 1.5em; }
  .sc-gallery .cat::after,
  .gallery-list01 .cat::after {
    content: " ";
    display: block;
    clear: both; }
  .sc-gallery .cat::before,
  .gallery-list01 .cat::before {
    position: absolute;
    top: 0;
    left: 0;
    color: #aaa;
    content: "";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    line-height: 1.75; }
  .sc-gallery .cat a,
  .gallery-list01 .cat a {
    color: #000;
    line-height: 1.75; }
.sc-gallery .title,
.gallery-list01 .title {
  margin-top: 5px;
  line-height: 1.2; }
.sc-gallery .datetime,
.gallery-list01 .datetime {
  display: block;
  margin-top: 5px;
  margin-right: 1em;
  color: #000;
  line-height: 1.75; }
.sc-gallery .btn,
.gallery-list01 .btn {
  text-align: center; }
@media screen and (min-width: 768px) {
  .sc-gallery .cat,
  .gallery-list01 .cat {
    font-size: 12px !important;
    font-size: 1.2rem !important; }
  .sc-gallery .datetime,
  .gallery-list01 .datetime {
    font-size: 12px !important;
    font-size: 1.2rem !important; }
  .sc-gallery .btn,
  .gallery-list01 .btn {
    margin-top: 40px; } }
@media screen and (max-width: 767px) {
  .sc-gallery .cat,
  .gallery-list01 .cat {
    font-size: 12px !important;
    font-size: 1.2rem !important; }
  .sc-gallery .datetime,
  .gallery-list01 .datetime {
    font-size: 12px !important;
    font-size: 1.2rem !important; }
  .sc-gallery .btn,
  .gallery-list01 .btn {
    margin-top: 30px; } }

.single-gallery .cat,
.single-works .cat {
  position: relative;
  padding-left: 1.5em; }
  .single-gallery .cat::after,
  .single-works .cat::after {
    content: " ";
    display: block;
    clear: both; }
  .single-gallery .cat::before,
  .single-works .cat::before {
    position: absolute;
    top: 0;
    left: 0;
    color: #aaa;
    content: "";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    line-height: 1.75; }
  .single-gallery .cat a,
  .single-works .cat a {
    color: #000;
    line-height: 1.75; }
.single-gallery .datetime,
.single-works .datetime {
  position: relative;
  display: block;
  margin-bottom: 1em;
  padding-left: 1.5em;
  color: #000;
  line-height: 1.75; }
  .single-gallery .datetime::before,
  .single-works .datetime::before {
    position: absolute;
    top: 0;
    left: 0;
    color: #aaa;
    content: "";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    line-height: 1.75; }
@media screen and (min-width: 768px) {
  .single-gallery .cat,
  .single-gallery .datetime,
  .single-works .cat,
  .single-works .datetime {
    font-size: 14px !important;
    font-size: 1.4rem !important; } }
@media screen and (max-width: 767px) {
  .single-gallery .cat,
  .single-gallery .datetime,
  .single-works .cat,
  .single-works .datetime {
    font-size: 14px !important;
    font-size: 1.4rem !important; } }

.single-information .datetime,
.single-info .datetime,
.single-news .datetime,
.single-blog .datetime,
.info-list02 .datetime,
.post-type-archive-information .datetime,
.post-type-archive-info .datetime,
.post-type-archive-news .datetime,
.post-type-archive-blog .datetime {
  display: block;
  margin-bottom: 1em;
  color: #000;
  line-height: 1.75;
  position: relative;
  padding-left: 1.5em; }
  .single-information .datetime::before,
  .single-info .datetime::before,
  .single-news .datetime::before,
  .single-blog .datetime::before,
  .info-list02 .datetime::before,
  .post-type-archive-information .datetime::before,
  .post-type-archive-info .datetime::before,
  .post-type-archive-news .datetime::before,
  .post-type-archive-blog .datetime::before {
    position: absolute;
    top: 0;
    left: 0;
    color: #aaa;
    content: "";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    line-height: 1.75; }
  @media screen and (min-width: 768px) {
    .single-information .datetime,
    .single-info .datetime,
    .single-news .datetime,
    .single-blog .datetime,
    .info-list02 .datetime,
    .post-type-archive-information .datetime,
    .post-type-archive-info .datetime,
    .post-type-archive-news .datetime,
    .post-type-archive-blog .datetime {
      font-size: 14px !important;
      font-size: 1.4rem !important; } }
  @media screen and (max-width: 767px) {
    .single-information .datetime,
    .single-info .datetime,
    .single-news .datetime,
    .single-blog .datetime,
    .info-list02 .datetime,
    .post-type-archive-information .datetime,
    .post-type-archive-info .datetime,
    .post-type-archive-news .datetime,
    .post-type-archive-blog .datetime {
      font-size: 14px !important;
      font-size: 1.4rem !important; } }

@media screen and (min-width: 768px) {
  .info-list01 {
    margin-bottom: 100px;
    padding-bottom: 100px;
    border-bottom: 1px dashed #eee; } }
@media screen and (max-width: 767px) {
  .info-list01 {
    margin-bottom: 80px;
    padding-bottom: 80px;
    border-bottom: 1px dashed #eee; } }

.info-list02 .list li {
  border-bottom: 1px solid #eee; }
  .info-list02 .list li:first-child {
    padding-top: 0 !important; }
  .info-list02 .list li * {
    color: #000;
    line-height: 1.4; }
  .info-list02 .list li a {
    position: relative;
    display: block;
    padding-right: 2em !important; }
    .info-list02 .list li a::before {
      content: "";
      position: absolute;
      top: 50%;
      right: .7em;
      display: block;
      width: 8px;
      height: 1em;
      background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%228%22%20height%3D%2213%22%20viewBox%3D%220%200%208%2013%22%3E%20%3Cpath%20d%3D%22M.5%2C13a.52.52%2C0%2C0%2C1-.38-.17.51.51%2C0%2C0%2C1%2C.05-.71L6.73%2C6.5.17.88A.5.5%2C0%2C0%2C1%2C.83.12l7%2C6a.51.51%2C0%2C0%2C1%2C0%2C.76l-7%2C6A.52.52%2C0%2C0%2C1%2C.5%2C13Z%22%20fill%3D%22%23aaa%22%2F%3E%3C%2Fsvg%3E");
      background-position: 50%;
      background-repeat: no-repeat;
      background-size: contain;
      margin-top: -0.5em;
      line-height: 1;
      -webkit-transition: all 0.3s ease;
      transition: all 0.3s ease; }
    .info-list02 .list li a:hover::before {
      right: .5em; }
  .info-list02 .list li time {
    display: block; }
.info-list02 .btn {
  text-align: center; }
@media screen and (min-width: 768px) {
  .info-list02 .list li {
    padding: 5px 0; }
    .info-list02 .list li a {
      padding: 0.625em 0; }
      .info-list02 .list li a::after {
        content: " ";
        display: block;
        clear: both; }
      .info-list02 .list li a time {
        clear: both;
        float: left;
        width: 160px; }
      .info-list02 .list li a h3 {
        padding-left: 160px; }
  .info-list02 .btn {
    margin-top: 40px; } }
@media screen and (max-width: 767px) {
  .info-list02 .list li {
    padding: 5px 0; }
    .info-list02 .list li a {
      padding: 5px 0; }
  .info-list02 .btn {
    margin-top: 30px; } }

.sc-info .list li {
  border-bottom: 1px solid #eee; }
  .sc-info .list li * {
    color: #000;
    line-height: 1.4; }
  .sc-info .list li a {
    position: relative;
    display: block;
    padding-right: 2em !important; }
    .sc-info .list li a::before {
      content: "";
      position: absolute;
      top: 50%;
      right: .7em;
      display: block;
      width: 8px;
      height: 1em;
      background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%228%22%20height%3D%2213%22%20viewBox%3D%220%200%208%2013%22%3E%20%3Cpath%20d%3D%22M.5%2C13a.52.52%2C0%2C0%2C1-.38-.17.51.51%2C0%2C0%2C1%2C.05-.71L6.73%2C6.5.17.88A.5.5%2C0%2C0%2C1%2C.83.12l7%2C6a.51.51%2C0%2C0%2C1%2C0%2C.76l-7%2C6A.52.52%2C0%2C0%2C1%2C.5%2C13Z%22%20fill%3D%22%23ccc%22%2F%3E%3C%2Fsvg%3E");
      background-position: 50%;
      background-repeat: no-repeat;
      background-size: contain;
      margin-top: -0.5em;
      line-height: 1;
      -webkit-transition: all 0.3s ease;
      transition: all 0.3s ease; }
    .sc-info .list li a:hover::before {
      right: .5em; }
  .sc-info .list li time {
    display: block; }
.sc-info .btn {
  text-align: center; }
@media screen and (min-width: 768px) {
  .sc-info .list {
    margin-bottom: 0 !important; }
    .sc-info .list li {
      padding: 5px 0; }
      .sc-info .list li a {
        padding: 0.625em 15px; }
        .sc-info .list li a::after {
          content: " ";
          display: block;
          clear: both; }
        .sc-info .list li a time {
          clear: both;
          float: left;
          width: 120px; }
        .sc-info .list li a h3 {
          padding-left: 120px; }
  .sc-info .btn {
    margin-top: 40px; } }
@media screen and (max-width: 767px) {
  .sc-info .list li {
    padding: 5px 0; }
    .sc-info .list li a {
      padding: 5px 0; }
  .sc-info .btn {
    margin-top: 30px; } }

.movie-list01 .title {
  margin-bottom: .5em; }
  @media screen and (min-width: 768px) {
    .movie-list01 .title {
      font-size: 20px !important;
      font-size: 2rem !important; } }
  @media screen and (max-width: 767px) {
    .movie-list01 .title {
      font-size: 18px !important;
      font-size: 1.8rem !important; } }
.movie-list01 .text {
  margin-top: .5em; }

.modal-content {
  position: relative;
  display: none;
  width: 100%;
  max-width: 1200px;
  background: #fff;
  text-align: left;
  vertical-align: middle; }
  .modal-content .modal-close {
    position: absolute;
    top: -10px;
    right: -10px;
    width: 30px;
    height: 30px;
    background: #633790;
    border-radius: 50%;
    cursor: pointer; }
    .modal-content .modal-close::before, .modal-content .modal-close::after {
      content: '';
      position: absolute;
      top: 50%;
      left: 20%;
      display: block;
      width: 60%;
      height: 2px;
      margin-top: -1px;
      background: #fff;
      border-radius: 2px; }
    .modal-content .modal-close::before {
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg); }
    .modal-content .modal-close::after {
      -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg); }

.modal-overlay {
  display: none;
  z-index: 99;
  position: fixed;
  top: 0;
  left: 0;
  overflow: auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  text-align: center; }
  .modal-overlay::before {
    content: '';
    display: inline-block;
    height: 100%;
    margin-right: -0.05em;
    vertical-align: middle; }
  @media screen and (min-width: 768px) {
    .modal-overlay {
      padding: 60px 30px; } }
  @media screen and (max-width: 767px) {
    .modal-overlay {
      padding: 30px 15px; } }
  .modal-overlay > .modal-content {
    display: inline-block; }

.home-title01 {
  margin-bottom: 1.8em;
  line-height: 1.4;
  text-align: center; }
  @media screen and (min-width: 768px) {
    .home-title01 {
      font-size: 20px !important;
      font-size: 2rem !important; } }
  @media screen and (max-width: 767px) {
    .home-title01 {
      font-size: 18px !important;
      font-size: 1.8rem !important; } }

@media screen and (min-width: 768px) {
  .home-info .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    min-height: 220px; }
    .home-info .wrap .title,
    .home-info .wrap .sc-info {
      position: relative;
      padding-top: 6px;
      border-top: 2px solid #633790; }
      .home-info .wrap .title::before,
      .home-info .wrap .sc-info::before {
        content: '';
        position: absolute;
        top: 4px;
        width: 100%;
        height: 2px;
        background: #b1b1b1; }
    .home-info .wrap .title {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -ms-flex-line-pack: center;
          align-content: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      width: 26.6666666667%;
      padding-top: 26px; }
      .home-info .wrap .title .title01 {
        margin-bottom: 0 !important; }
      .home-info .wrap .title .btn {
        width: 100%;
        margin-top: 35px;
        text-align: center; }
    .home-info .wrap .sc-info {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      width: 100%;
      margin-left: 40px; }
      .home-info .wrap .sc-info .list {
        width: 100%; }
      .home-info .wrap .sc-info .btn {
        display: none; } }
@media screen and (max-width: 767px) {
  .home-info .wrap .title {
    position: relative;
    padding-top: 26px;
    border-top: 2px solid #633790; }
    .home-info .wrap .title::before {
      content: '';
      position: absolute;
      top: 4px;
      width: 100%;
      height: 2px;
      background: #b1b1b1; }
    .home-info .wrap .title .btn {
      display: none; } }

@media screen and (min-width: 768px) {
  .home-module01 .item a {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    min-height: 380px; }
    .home-module01 .item a .title {
      z-index: 1;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      width: 300px;
      height: 150px;
      background: #633790; }
      .home-module01 .item a .title::before {
        content: '';
        position: absolute;
        top: 10px;
        right: 10px;
        bottom: 10px;
        left: 10px;
        border: 2px solid rgba(255, 255, 255, 0.7); }
      .home-module01 .item a .title .title01 {
        margin: 0 !important;
        color: #fff; }
        .home-module01 .item a .title .title01::after {
          color: #fff; }
    .home-module01 .item a figure {
      overflow: hidden;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0; }
      .home-module01 .item a figure img {
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease; }
    .home-module01 .item a:hover {
      opacity: 1;
      filter: alpha(opacity=100); }
      .home-module01 .item a:hover figure img {
        -webkit-transform: scale(1.05);
                transform: scale(1.05); } }
@media screen and (max-width: 767px) {
  .home-module01 .item a {
    position: relative;
    display: block;
    padding: 17.2413793103% 0; }
    .home-module01 .item a .title {
      z-index: 1;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      width: 62.0689655172%;
      margin: 0 auto;
      padding: 10.3448275862% 0;
      background: #633790; }
      .home-module01 .item a .title::before {
        content: '';
        position: absolute;
        top: 8px;
        right: 8px;
        bottom: 8px;
        left: 8px;
        border: 2px solid rgba(255, 255, 255, 0.7); }
      .home-module01 .item a .title .title01 {
        margin: 0 !important;
        color: #fff;
        font-size: 20px !important;
        font-size: 2rem !important; }
        .home-module01 .item a .title .title01::after {
          color: #fff;
          font-size: 14px !important;
          font-size: 1.4rem !important; }
    .home-module01 .item a figure {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0; } }

@media screen and (min-width: 768px) {
  .home-module02 .item a {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    min-height: 768px; }
    .home-module02 .item a::before {
      content: '';
      z-index: 2;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background: rgba(255, 255, 255, 0.3);
      pointer-events: none;
      opacity: 0;
      filter: alpha(opacity=0);
      -webkit-transition: all 0.3s ease;
      transition: all 0.3s ease; }
    .home-module02 .item a::after {
      content: '';
      z-index: 3;
      position: absolute;
      top: 10px;
      right: 10px;
      bottom: 10px;
      left: 10px;
      border: 2px solid #fff;
      pointer-events: none; }
    .home-module02 .item a .title {
      z-index: 4;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      height: 100%;
      padding: 100px 0 0; }
      .home-module02 .item a .title p,
      .home-module02 .item a .title h2 {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        background: #fff;
        font-weight: 500;
        -ms-writing-mode: tb-rl;
        -webkit-writing-mode: vertical-rl;
                writing-mode: vertical-rl;
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease; }
        .home-module02 .item a .title p .combine,
        .home-module02 .item a .title h2 .combine {
          -webkit-text-combine: horizontal;
          -ms-text-combine-horizontal: all;
          text-combine-upright: all; }
      .home-module02 .item a .title p {
        position: absolute;
        left: 50%;
        width: 50px;
        margin-left: 77px;
        padding: 20px 0;
        font-size: 20px !important;
        font-size: 2rem !important; }
      .home-module02 .item a .title h2 {
        width: 114px;
        padding: 50px 0;
        font-size: 35px !important;
        font-size: 3.5rem !important; }
    .home-module02 .item a .text {
      z-index: 1;
      position: relative;
      min-height: 210px;
      padding: 25px 40px 110px;
      background: rgba(99, 55, 144, 0.9);
      color: #fff; }
      .home-module02 .item a .text p {
        margin: 0 !important; }
      .home-module02 .item a .text .btn {
        position: absolute;
        right: 0;
        bottom: 38px;
        left: 0;
        text-align: center; }
        .home-module02 .item a .text .btn .btn01 {
          border-color: #fff !important;
          color: #fff !important; }
          .home-module02 .item a .text .btn .btn01::after {
            background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%228%22%20height%3D%2213%22%20viewBox%3D%220%200%208%2013%22%3E%20%3Cpath%20d%3D%22M.5%2C13a.52.52%2C0%2C0%2C1-.38-.17.51.51%2C0%2C0%2C1%2C.05-.71L6.73%2C6.5.17.88A.5.5%2C0%2C0%2C1%2C.83.12l7%2C6a.51.51%2C0%2C0%2C1%2C0%2C.76l-7%2C6A.52.52%2C0%2C0%2C1%2C.5%2C13Z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E"); }
    .home-module02 .item a figure {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0; }
    .home-module02 .item a:hover {
      opacity: 1;
      filter: alpha(opacity=100); }
      .home-module02 .item a:hover::before {
        opacity: 1;
        filter: alpha(opacity=100); }
      .home-module02 .item a:hover .title p,
      .home-module02 .item a:hover .title h2 {
        -webkit-box-shadow: 0 5px 5px rgba(0, 0, 0, 0.3);
                box-shadow: 0 5px 5px rgba(0, 0, 0, 0.3);
        -webkit-transform: translateY(-5px);
                transform: translateY(-5px); }
      .home-module02 .item a:hover .text .btn .btn01::before, .home-module02 .item a:hover .text .btn .btn01::after {
        -webkit-transform: translateX(0.2em);
                transform: translateX(0.2em); } }
@media screen and (max-width: 767px) {
  .home-module02 .item a {
    position: relative;
    display: block; }
    .home-module02 .item a::after {
      content: '';
      z-index: 3;
      position: absolute;
      top: 10px;
      right: 10px;
      bottom: 10px;
      left: 10px;
      border: 2px solid #fff;
      pointer-events: none; }
    .home-module02 .item a .title {
      z-index: 4;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      padding: 42px 0 30px; }
      .home-module02 .item a .title p,
      .home-module02 .item a .title h2 {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        background: #fff;
        font-weight: 500;
        -ms-writing-mode: tb-rl;
        -webkit-writing-mode: vertical-rl;
                writing-mode: vertical-rl;
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease; }
        .home-module02 .item a .title p .combine,
        .home-module02 .item a .title h2 .combine {
          -webkit-text-combine: horizontal;
          -ms-text-combine-horizontal: all;
          text-combine-upright: all; }
      .home-module02 .item a .title p {
        position: absolute;
        left: 50%;
        width: 50px;
        margin-left: 55px;
        padding: 20px 0;
        font-size: 16px !important;
        font-size: 1.6rem !important; }
      .home-module02 .item a .title h2 {
        width: 70px;
        padding: 30px 0;
        font-size: 26px !important;
        font-size: 2.6rem !important; }
    .home-module02 .item a .text {
      z-index: 1;
      position: relative;
      padding: 20px 32px 84px;
      background: rgba(99, 55, 144, 0.9);
      color: #fff; }
      .home-module02 .item a .text p {
        margin: 0 !important;
        font-size: 14px !important;
        font-size: 1.4rem !important; }
      .home-module02 .item a .text .btn {
        position: absolute;
        right: 0;
        bottom: 22px;
        left: 0;
        text-align: center; }
        .home-module02 .item a .text .btn .btn01 {
          border-color: #fff !important;
          color: #fff !important; }
          .home-module02 .item a .text .btn .btn01::after {
            background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%228%22%20height%3D%2213%22%20viewBox%3D%220%200%208%2013%22%3E%20%3Cpath%20d%3D%22M.5%2C13a.52.52%2C0%2C0%2C1-.38-.17.51.51%2C0%2C0%2C1%2C.05-.71L6.73%2C6.5.17.88A.5.5%2C0%2C0%2C1%2C.83.12l7%2C6a.51.51%2C0%2C0%2C1%2C0%2C.76l-7%2C6A.52.52%2C0%2C0%2C1%2C.5%2C13Z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E"); }
    .home-module02 .item a figure {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0; } }

.home-module03 .wrapper .title {
  font-size: 40px !important;
  font-size: 4rem !important; }
  .home-module03 .wrapper .title span,
  .home-module03 .wrapper .title strong {
    display: block;
    line-height: 1.4;
    font-weight: 500; }
  .home-module03 .wrapper .title span {
    font-size: 20px !important;
    font-size: 2rem !important; }
.home-module03 .wrapper .image {
  width: 100%; }
  .home-module03 .wrapper .image video {
    width: 100%;
    height: auto; }
@media screen and (min-width: 768px) {
  .home-module03 .wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .home-module03 .wrapper .title {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: reverse;
          -ms-flex-direction: row-reverse;
              flex-direction: row-reverse;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      margin-left: 5%; }
      .home-module03 .wrapper .title span,
      .home-module03 .wrapper .title strong {
        -ms-writing-mode: tb-rl;
        -webkit-writing-mode: vertical-rl;
                writing-mode: vertical-rl; }
        .home-module03 .wrapper .title span .combine,
        .home-module03 .wrapper .title strong .combine {
          -webkit-text-combine: horizontal;
          -ms-text-combine-horizontal: all;
          text-combine-upright: all; }
    .home-module03 .wrapper .image {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      max-width: 860px; } }
@media screen and (max-width: 767px) {
  .home-module03 .wrapper .title {
    margin-bottom: .5em;
    text-align: center; } }

.staff-list a {
  display: block;
  text-align: center; }
  .staff-list a .title {
    margin-top: .5em; }

@media screen and (min-width: 768px) {
  .modal-content.staff .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .modal-content.staff .wrap .col {
      width: 50%; }
      .modal-content.staff .wrap .col.text {
        padding: 30px; }
        .modal-content.staff .wrap .col.text .status th, .modal-content.staff .wrap .col.text .status td {
          padding: 5px 0; }
        .modal-content.staff .wrap .col.text .status th {
          padding-right: 20px; }
        .modal-content.staff .wrap .col.text .comment {
          margin-top: 2em; } }
@media screen and (max-width: 767px) {
  .modal-content.staff .wrap .col.text {
    padding: 15px;
    font-size: 14px !important;
    font-size: 1.4rem !important; }
    .modal-content.staff .wrap .col.text .status th, .modal-content.staff .wrap .col.text .status td {
      padding: 5px 0; }
    .modal-content.staff .wrap .col.text .status th {
      padding-right: 20px; }
    .modal-content.staff .wrap .col.text .comment {
      margin-top: 1.5em; } }

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