@charset "UTF-8";
@-webkit-keyframes smartphoto {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
@keyframes smartphoto {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@-webkit-keyframes smartphoto-img-wrap {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes smartphoto-img-wrap {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@-webkit-keyframes smartphoto-inner {
  from {
    -webkit-transform: translate(0, 100px);
    transform: translate(0, 100px); }
  to {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0); } }

@keyframes smartphoto-inner {
  from {
    -webkit-transform: translate(0, 100px);
    transform: translate(0, 100px); }
  to {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0); } }

@-webkit-keyframes smartphoto-loader {
  0% {
    opacity: .4;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  50% {
    opacity: 1;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg); }
  100% {
    opacity: .4;
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes smartphoto-loader {
  0% {
    opacity: .4;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  50% {
    opacity: 1;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg); }
  100% {
    opacity: .4;
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

@-webkit-keyframes smartphoto-appear {
  0% {
    display: none;
    opacity: 0; }
  1% {
    display: block;
    opacity: 0; }
  100% {
    display: block;
    opacity: 1; } }

@keyframes smartphoto-appear {
  0% {
    display: none;
    opacity: 0; }
  1% {
    display: block;
    opacity: 0; }
  100% {
    display: block;
    opacity: 1; } }

@-webkit-keyframes smartphoto-hide {
  0% {
    display: block;
    opacity: 1; }
  99% {
    display: block;
    opacity: 0; }
  100% {
    display: none;
    opacity: 0; } }

@keyframes smartphoto-hide {
  0% {
    display: block;
    opacity: 1; }
  99% {
    display: block;
    opacity: 0; }
  100% {
    display: none;
    opacity: 0; } }

.smartphoto {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: black;
  opacity: 1;
  font-family: sans-serif;
  cursor: pointer;
  -webkit-transition: opacity 0.3s ease-out;
  -moz-transition: opacity 0.3s ease-out;
  -ms-transition: opacity 0.3s ease-out;
  -o-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  -webkit-animation-name: smartphoto;
  animation-name: smartphoto;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out; }

.smartphoto[aria-hidden="true"] {
  display: none; }

.smartphoto-close {
  opacity: 0; }

.smartphoto-count {
  display: inline-block;
  color: #FFF;
  font-size: 16px; }

.smartphoto-header {
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: fixed;
  z-index: 102;
  top: 0;
  left: 0;
  width: 100%;
  height: 50px;
  padding: 15px;
  background-color: rgba(0, 0, 0, 0.2); }

.smartphoto-content {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.smartphoto-dismiss {
  display: block;
  position: absolute;
  top: 15px;
  right: 10px;
  width: 20px;
  height: 20px;
  padding: 0;
  border: none;
  background-color: transparent;
  background-image: url(data:image/svg+xml;base64,PHN2ZyBpZD0i44Os44Kk44Ok44O8XzEiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4MzQuNjUgMjgzNC42NSIgZmlsbD0iI0ZGRiI+PHRpdGxlPmljb248L3RpdGxlPjxwYXRoIGQ9Ik0xNTc2LjQyLDE0MDYuNzYsMjc4NCwxOTkuMTlhNTYuODYsNTYuODYsMCwwLDAsMC04MC4xOGwtNzguOTItNzguOTJhNTYuODYsNTYuODYsMCwwLDAtODAuMTgsMEwxNDE3LjMyLDEyNDcuNjYsMjA5Ljc1LDQwLjA5YTU2Ljg2LDU2Ljg2LDAsMCwwLTgwLjE4LDBMNTAuNjUsMTE5YTU2Ljg2LDU2Ljg2LDAsMCwwLDAsODAuMThMMTI1OC4yMywxNDA2Ljc2LDUwLjY1LDI2MTQuMzRhNTYuODYsNTYuODYsMCwwLDAsMCw4MC4xOGw3OC45Miw3OC45MmE1Ni44Niw1Ni44NiwwLDAsMCw4MC4xOCwwTDE0MTcuMzIsMTU2NS44NiwyNjI0LjksMjc3My40NGE1Ni44Niw1Ni44NiwwLDAsMCw4MC4xOCwwbDc4LjkyLTc4LjkyYTU2Ljg2LDU2Ljg2LDAsMCwwLDAtODAuMThaIi8+PC9zdmc+);
  text-shadow: 0 1px 0 #FFF;
  color: #FFF;
  font-size: 30px;
  text-decoration: none;
  cursor: pointer;
  line-height: 1; }

.smartphoto-body {
  position: relative;
  z-index: 102;
  width: 100%;
  height: 100%;
  margin: 0 auto; }

.smartphoto-inner {
  position: relative;
  width: 100%;
  height: 100%;
  vertical-align: top; }

.smartphoto-img {
  display: none;
  max-width: none;
  width: auto;
  height: auto;
  cursor: -webkit-zoom-in;
  cursor: zoom-in;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: -webkit-transform 0.3s ease-out;
  transition: -webkit-transform 0.3s ease-out;
  -o-transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
  -webkit-user-drag: none; }

.smartphoto-img.active {
  display: block; }

.smartphoto-img-onmove {
  cursor: grab;
  cursor: -webkit-grab;
  -webkit-transition: none;
  -o-transition: none;
  transition: none; }

.smartphoto-img-elasticmove {
  -webkit-transition: -webkit-transform 0.3s ease-out;
  transition: -webkit-transform 0.3s ease-out;
  -o-transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out; }

.smartphoto-img-wrap {
  display: inline-block;
  opacity: 1;
  -webkit-transition: opacity 0.3s ease-out;
  -moz-transition: opacity 0.3s ease-out;
  -ms-transition: opacity 0.3s ease-out;
  -o-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
  -webkit-animation-name: smartphoto-img-wrap;
  animation-name: smartphoto-img-wrap;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out; }

.smartphoto-img-left {
  -webkit-transform: translateX(150%) !important;
  -ms-transform: translateX(150%) !important;
  transform: translateX(150%) !important; }

.smartphoto-img-right {
  -webkit-transform: translateX(-150%) !important;
  -ms-transform: translateX(-150%) !important;
  transform: translateX(-150%) !important; }

.smartphoto-arrows {
  list-style-type: none;
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 1002;
  top: 50%;
  left: 0;
  opacity: 1;
  -webkit-animation-name: smartphoto-appear;
  animation-name: smartphoto-appear;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out; }

.smartphoto-arrows[aria-hidden="true"] {
  -webkit-animation-name: smartphoto-hide;
  animation-name: smartphoto-hide;
  display: none; }

.smartphoto-arrows li {
  display: block;
  position: absolute;
  top: 50%;
  width: 30px;
  height: 30px;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
  -webkit-animation-name: smartphoto-appear;
  animation-name: smartphoto-appear; }
  .smartphoto-arrows li:focus {
    outline: none; }

.smartphoto-arrows [aria-hidden="true"] {
  -webkit-animation-name: smartphoto-hide;
  animation-name: smartphoto-hide;
  display: none; }

.smartphoto-arrows a {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none; }

.smartphoto-arrow-right {
  right: 0;
  background-image: url(data:image/svg+xml;base64,PHN2ZyBpZD0i44Os44Kk44Ok44O8XzEiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4MzQuNjUgMjgzNC42NSIgZmlsbD0iI0ZGRiAiPjx0aXRsZT5pY29uPC90aXRsZT48cGF0aCBkPSJNMTgzNy44OCwxNDE3LjMyLDY0My41OSwyMjNhNzIuMjEsNzIuMjEsMCwwLDEsMC0xMDEuODJMNzQzLjgyLDIxYTcyLjIxLDcyLjIxLDAsMCwxLDEwMS44MiwwTDIwOTAuODMsMTI2Ni4xOWwxMDAuMjMsMTAwLjIzYTcyLjIxLDcyLjIxLDAsMCwxLDAsMTAxLjgyTDg0NS42NCwyODEzLjY1YTcyLjIxLDcyLjIxLDAsMCwxLTEwMS44MiwwTDY0My41OSwyNzEzLjQyYTcyLjIxLDcyLjIxLDAsMCwxLDAtMTAxLjgyWiIvPjwvc3ZnPg==); }

.smartphoto-arrow-left {
  left: 0;
  background-image: url(data:image/svg+xml;base64,PHN2ZyBpZD0i44Os44Kk44Ok44O8XzEiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4MzQuNjUgMjgzNC42NSIgZmlsbD0iI0ZGRiI+PHRpdGxlPmljb248L3RpdGxlPjxwYXRoIGQ9Ik05OTYuNzcsMTQxNy4zMiwyMTkxLjA2LDIyM2E3Mi4yMSw3Mi4yMSwwLDAsMCwwLTEwMS44MkwyMDkwLjgzLDIxQTcyLjIxLDcyLjIxLDAsMCwwLDE5ODksMjFMNzQzLjgyLDEyNjYuMTksNjQzLjU5LDEzNjYuNDJhNzIuMjEsNzIuMjEsMCwwLDAsMCwxMDEuODJMMTk4OSwyODEzLjY1YTcyLjIxLDcyLjIxLDAsMCwwLDEwMS44MiwwbDEwMC4yMy0xMDAuMjNhNzIuMjEsNzIuMjEsMCwwLDAsMC0xMDEuODJaIi8+PC9zdmc+); }

.smartphoto-nav {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  opacity: 1;
  -webkit-animation-name: smartphoto-appear;
  animation-name: smartphoto-appear;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out; }

.smartphoto-nav[aria-hidden="true"] {
  -webkit-animation-name: smartphoto-hide;
  animation-name: smartphoto-hide;
  display: none; }

.smartphoto-nav ul {
  display: block;
  overflow-x: scroll;
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: center;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch; }

.smartphoto-nav li {
  display: inline-block;
  overflow: hidden;
  width: 50px;
  height: 50px; }

.smartphoto-nav a {
  display: block;
  width: 100%;
  height: 100%;
  background-color: #FFF;
  background-position: center center;
  background-size: cover;
  opacity: .5; }
  .smartphoto-nav a:focus {
    opacity: .8; }

.smartphoto-nav a.current {
  opacity: 1; }

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

.smartphoto-list {
  list-style-type: none;
  position: absolute;
  z-index: 101;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
  white-space: nowrap; }
  .smartphoto-list li {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out; }
    .smartphoto-list li:focus {
      outline: none; }

.smartphoto-list-onmove {
  -webkit-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out; }

.smartphoto-caption {
  overflow: hidden;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 50px;
  padding: 0 50px;
  color: #FFF;
  font-size: 12px;
  text-align: center;
  line-height: 50px;
  white-space: nowrap;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis; }
  .smartphoto-caption:focus {
    outline: none; }

.smartphoto-loader-wrap {
  display: block;
  position: relative;
  z-index: 103;
  width: 0;
  height: 0;
  -webkit-transform: translate(50vw, 50vh);
  -ms-transform: translate(50vw, 50vh);
  transform: translate(50vw, 50vh); }

.smartphoto-loader {
  position: absolute;
  z-index: 101;
  top: 0;
  left: 0;
  width: 30px;
  height: 30px;
  margin-top: -25px;
  margin-left: -25px;
  border: 8px solid #17CDDD;
  border-right-color: transparent;
  border-radius: 50%;
  -webkit-animation: smartphoto-loader .5s infinite linear;
  animation: smartphoto-loader .5s infinite linear; }

.smartphoto-img-clone {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  -webkit-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out; }

.smartphoto-sr-only {
  overflow: hidden;
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0, 0, 0, 0); }

/*! Yaku Han JP (Gothic - All Include) v2.0.0 SIL by Qrac / Based on Noto Sans CJK JP */
@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: 100;
  src: url("../fonts/YakuHanJP-Thin.eot");
  src: url("../fonts/YakuHanJP-Thin.woff2") format("woff2"), url("../fonts/YakuHanJP-Thin.woff") format("woff"); }

@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: 200;
  src: url("../fonts/YakuHanJP-Light.eot");
  src: url("../fonts/YakuHanJP-Light.woff2") format("woff2"), url("../fonts/YakuHanJP-Light.woff") format("woff"); }

@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: 300;
  src: url("../fonts/YakuHanJP-DemiLight.eot");
  src: url("../fonts/YakuHanJP-DemiLight.woff2") format("woff2"), url("../fonts/YakuHanJP-DemiLight.woff") format("woff"); }

@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/YakuHanJP-Regular.eot");
  src: url("../fonts/YakuHanJP-Regular.woff2") format("woff2"), url("../fonts/YakuHanJP-Regular.woff") format("woff"); }

@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/YakuHanJP-Medium.eot");
  src: url("../fonts/YakuHanJP-Medium.woff2") format("woff2"), url("../fonts/YakuHanJP-Medium.woff") format("woff"); }

@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/YakuHanJP-Bold.eot");
  src: url("../fonts/YakuHanJP-Bold.woff2") format("woff2"), url("../fonts/YakuHanJP-Bold.woff") format("woff"); }

@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: 900;
  src: url("../fonts/YakuHanJP-Black.eot");
  src: url("../fonts/YakuHanJP-Black.woff2") format("woff2"), url("../fonts/YakuHanJP-Black.woff") format("woff"); }

a:hover img {
  filter: alpha(opacity=60);
  opacity: 0.6; }

.err {
  font-size: 12px;
  color: #ff5500; }

.cf:after {
  display: block;
  clear: both;
  content: ''; }

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p,
blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em,
img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b,
u, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table,
caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details,
embed, figure, figcaption, footer, header, hgroup, menu, nav, output,
section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
  font-size: 100%; }

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

em, i {
  font-style: normal; }

figure {
  max-width: 100%;
  text-align: center; }

figcaption {
  text-align: center;
  margin-top: 3px; }

img {
  max-width: 100%;
  vertical-align: bottom; }

ul, ol {
  list-style: none; }

dt {
  font-weight: bold; }

/* table */
table {
  border-collapse: collapse;
  border-spacing: 0;
  empty-cells: show; }

th, td {
  padding: 0;
  text-align: left;
  vertical-align: middle;
  border: none; }

select option {
  padding: 　0 5px; }

/* Google Chrome, Safari, Opera 15+, Android, iOS */
input, button, select {
  cursor: pointer; }

input[type="checkbox"], input[type="radio"] {
  vertical-align: middle; }

input-placeholder {
  color: #A9A9A9; }

input[type="submit"] {
  padding: 0.1em; }

input[type="submit"] {
  line-height: 1;
  cursor: pointer; }

button {
  line-height: 1;
  -webkit-box-shadow: none;
  box-shadow: none;
  border: none;
  background-color: transparent;
  border-radius: 0;
  padding: 0; }

body {
  font-family: "YakuHanJP", 'Open Sans', arial, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Meiryo", "メイリオ", "ＭＳ ゴシック", sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  color: #4c2d18;
  -webkit-text-size-adjust: 100%; }
  body button,
  body select,
  body textarea,
  body input {
    font-family: 'Open Sans', arial, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Meiryo", "メイリオ", "ＭＳ ゴシック", sans-serif;
    font-size: 1rem; }
  @media screen and (max-width: 480px) {
    body {
      font-size: 14px; } }

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.35;
  font-size: 1.25rem; }

a {
  text-decoration: none;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s; }
  a:before, a:after {
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s; }
  a:hover, a:active {
    outline: 0; }
  a:hover {
    text-decoration: underline; }
  a:active {
    color: #444; }

.inner {
  margin: 0 10px; }

.cont01 {
  max-width: 1080px;
  margin: 0 auto; }

.mBox01 {
  margin: 120px 0; }

.mBox02 {
  margin: 5rem 0; }

.mBox01.inner {
  margin: 120px 10px; }

.mBox02.inner {
  margin: 5rem 10px; }

@media screen and (max-width: 768px) {
  .mBox01 {
    margin: 60px 0; }
  .mBox01.inner {
    margin: 60px 10px; }
  .mBox02 {
    margin: 2.5rem 0; }
  .mBox02.inner {
    margin: 2.5rem 10px; } }

#pageMainTitle {
  height: 0;
  position: relative;
  width: 100%;
  height: 240px;
  position: relative; }
  #pageMainTitle:after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3);
    position: absolute; }
  #pageMainTitle h1 {
    z-index: 50;
    position: absolute;
    top: 35%;
    left: 0;
    right: 0;
    margin: auto;
    text-align: center;
    max-width: 1080px;
    color: #fff;
    font-size: 2.5rem; }
    #pageMainTitle h1 em {
      display: block;
      font-weight: normal;
      font-size: 1.25rem; }

.pageTitle01 {
  margin: 0 auto 2rem;
  font-size: 1.5rem;
  color: #444444;
  line-height: 32px;
  text-align: center;
  position: relative; }
  .pageTitle01:after {
    content: '';
    height: 2px;
    width: 80px;
    background-color: #50ac59;
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto; }
  .pageTitle01 span {
    font-size: 1rem;
    color: #828282;
    font-weight: normal;
    display: block;
    padding-bottom: 1.25rem; }

.pageTitle02 {
  font-size: 1.5rem;
  margin-bottom: 2.5rem; }
  .pageTitle02:after {
    content: '';
    display: block;
    width: 80px;
    margin-top: 1.25rem;
    height: 2px;
    background-color: #50ac59; }

a .icon01 {
  display: inline-block;
  width: 30px;
  height: 1px;
  background-color: #50ac59;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
  position: relative; }
  a .icon01:after {
    content: '';
    position: absolute;
    bottom: 5px;
    right: -2px;
    width: 15px;
    height: 1px;
    background-color: inherit;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg); }

a .icon02 {
  display: block;
  width: 120px;
  height: 1px;
  background-color: #fff;
  position: relative;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s; }
  a .icon02:after {
    content: '';
    position: absolute;
    bottom: 8px;
    right: -5px;
    width: 1.5rem;
    height: 1px;
    background-color: inherit;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg); }

@media screen and (max-width: 480px) {
  #pageMainTitle {
    height: 160px; }
    #pageMainTitle h1 img {
      height: 54px; }
  .pageTitle01 {
    font-size: 1.25rem; }
  .pageTitle02 {
    font-size: 1.25rem;
    margin-bottom: 1.25rem; }
    .pageTitle02:after {
      margin-top: 1rem; } }

.pageLinkBox01 p {
  width: 50%;
  font-weight: bold;
  text-align: center;
  border: 1px solid #ccc; }
  .pageLinkBox01 p:nth-of-type(2n) {
    border-left: none; }
  .pageLinkBox01 p a {
    color: #4c2d18;
    text-decoration: none;
    font-size: 1.25rem;
    display: block;
    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%;
    padding: 2.5rem 1rem; }
    .pageLinkBox01 p a:before {
      content: '';
      -ms-flex-negative: 0;
      flex-shrink: 0;
      height: 40px;
      width: 25px;
      display: inline-block;
      margin-right: 1.25rem;
      vertical-align: middle; }
    .pageLinkBox01 p a:hover {
      background-color: #f2f2f2; }
  .pageLinkBox01 p.linkcate01 a:before {
    background: url(../images/aside-logo03.png) no-repeat center center/cover;
    width: 41px; }
  .pageLinkBox01 p.linkcate02 a:before {
    background: url(../images/aside-logo02.png) no-repeat center center/cover;
    width: 39px; }
  .pageLinkBox01 p.linkcate03 a:before {
    background: url(../images/aside-logo04.png) no-repeat center center/cover;
    width: 66px; }
  .pageLinkBox01 p.linkcate04 a:before {
    background: url(../images/aside-logo05.png) no-repeat center center/cover;
    width: 35px; }

@media screen and (max-width: 768px) {
  .pageLinkBox01 .flexBox p a {
    font-size: 1rem; } }

@media screen and (max-width: 480px) {
  .pageLinkBox01 .flexBox {
    display: block; }
    .pageLinkBox01 .flexBox p {
      width: 100%; }
      .pageLinkBox01 .flexBox p:nth-of-type(2n) {
        border-left: 1px solid #ccc;
        border-top: none; }
      .pageLinkBox01 .flexBox p a {
        padding: 1.5rem 1rem; } }

.topicPath {
  background-color: #f4f4f4; }
  .topicPath ol {
    margin: 0 auto 30px;
    padding: 15px; }
    .topicPath ol li {
      display: inline-block;
      font-size: 1rem;
      vertical-align: middle;
      line-height: 1.5; }
      .topicPath ol li a {
        display: inline-block;
        opacity: .6;
        position: relative;
        padding: 0 11px 0 0; }
        .topicPath ol li a:hover {
          opacity: 1; }
      .topicPath ol li:before {
        content: "\f105";
        opacity: .6;
        font-family: FontAwesome;
        margin: 0 11px 0 0;
        display: inline-block;
        vertical-align: middle;
        margin-top: -1px; }
      .topicPath ol li.topicPathHome:before {
        display: none; }
      .topicPath ol li.topicPathHome img {
        height: 18px;
        vertical-align: middle; }

table {
  width: 100%;
  background: #FFF; }
  table td,
  table th {
    padding: 10px;
    border: 1px solid #ccc; }
  table th {
    width: 12em;
    font-weight: normal;
    background: #f1f1f1;
    text-align: left; }
  @media screen and (max-width: 600px) {
    table td,
    table th {
      display: block;
      width: 100%;
      margin-top: -1px; } }

select,
textarea,
input[type="text"] {
  border: none;
  border: 1px solid #ccc; }

textarea {
  resize: vertical;
  width: 99%; }

.flexBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.flexPa {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  .flexPa.reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse; }
  .flexPa.flexWrap {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start; }
    .flexPa.flexWrap.flex02 li {
      width: 48%;
      width: calc(100% / 2 - 5.01px);
      margin: 0 10px 10px 0; }
      .flexPa.flexWrap.flex02 li:nth-child(2n) {
        margin-right: 0; }
    .flexPa.flexWrap.flex03 li {
      width: 31%;
      width: calc(100% / 3 - 8.01px);
      margin: 0 12px 12px 0; }
      .flexPa.flexWrap.flex03 li:nth-child(3n) {
        margin-right: 0; }
    .flexPa.flexWrap.flex04 li {
      width: 23%;
      width: calc(100% / 3 - 9.01px);
      margin: 0 12px 12px 0; }
      .flexPa.flexWrap.flex04 li:nth-child(4n) {
        margin-right: 0; }
  .flexPa .flexCh {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    width: 100%; }

.box02 li {
  float: left;
  width: 48%;
  width: calc(100% / 2 - 5.01px);
  margin: 0 10px 10px 0; }
  .box02 li:nth-child(2n) {
    margin-right: 0; }

.box03 li {
  float: left;
  width: 31%;
  width: calc(100% / 3 - 8.01px);
  margin: 0 12px 12px 0; }
  .box03 li:nth-child(3n) {
    margin-right: 0; }

.box04 li {
  float: left;
  width: 23%;
  width: calc(100% / 3 - 9.01px);
  margin: 0 12px 12px 0; }
  .box04 li:nth-child(4n) {
    margin-right: 0; }

.p25 {
  padding: 0 25px; }

.bg01 {
  background-color: #f2f2f2; }

.c01 {
  background-color: #000; }

.c02 {
  background-color: #222; }

.c03 {
  background-color: #444; }

.c04 {
  background-color: #999; }

.c05 {
  background-color: #ee0000; }

.c06 {
  background-color: #ed6300; }

.c07 {
  background-color: #edc602; }

.c08 {
  background-color: #b2ed02; }

.c09 {
  background-color: #51ed02; }

.c10 {
  background-color: #02ed16; }

.c11 {
  background-color: #02ed78; }

.c12 {
  background-color: #02edda; }

.c13 {
  background-color: #029fed; }

.c14 {
  background-color: #023ded; }

.c15 {
  background-color: #2a02ed; }

.c16 {
  background-color: #8b02ed; }

.c17 {
  background-color: #ed02ed; }

.c18 {
  background-color: #ed028b; }

.c19 {
  background-color: #ed0229; }

.c20 {
  background-color: #ed0202; }

.boxFr {
  float: right; }

.boxFl {
  float: left; }

.ofh {
  overflow: hidden; }

.tar {
  text-align: right; }

.tac {
  text-align: center; }

.mt1em {
  margin-top: 1em; }

.mt2em {
  margin-top: 2em; }

.mb1em {
  margin-bottom: 1em; }

.mb1em {
  margin-bottom: 2em; }

.fa01 {
  color: #e00; }

.bgg01 {
  background-color: #f2f2f2; }

.bgg02 {
  background-color: #e2e2ff; }

input[type="submit"] {
  -webkit-appearance: none;
  border-radius: 0; }

input[type="checkbox"] {
  display: inline-block;
  padding: 10px 8px 8px 8px; }

label.checkbox {
  cursor: pointer;
  position: relative;
  padding-left: 25px;
  margin-right: 25px;
  overflow: hidden;
  position: relative;
  display: inline-block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  label.checkbox:before {
    content: '';
    position: absolute;
    width: 20px;
    height: 20px;
    left: 0px;
    top: 0;
    border: 1px solid #bbb;
    z-index: 50; }
  label.checkbox:after {
    content: '';
    position: absolute;
    top: 40%;
    left: 6px;
    display: block;
    margin-top: -8px;
    width: 8px;
    height: 12px;
    border-right: 3px solid #00e;
    border-bottom: 3px solid #00e;
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    z-index: 1; }
  label.checkbox input[type="checkbox"] {
    -moz-appearance: none;
    -webkit-appearance: none;
    position: absolute;
    left: -40px;
    width: 20px;
    height: 20px;
    display: block;
    -webkit-box-shadow: 41px 0px #FFF;
    box-shadow: 41px 0px #FFF;
    z-index: 2;
    margin: 0px;
    padding: 0px; }
    label.checkbox input[type="checkbox"]:checked {
      -webkit-box-shadow: none;
      box-shadow: none; }
      label.checkbox input[type="checkbox"]:checked:focus {
        -webkit-box-shadow: 40px 0px #666;
        box-shadow: 40px 0px #666;
        opacity: 0.1; }
    label.checkbox input[type="checkbox"]:focus {
      -webkit-box-shadow: 41px 0px #EEE;
      box-shadow: 41px 0px #EEE; }

label.radio {
  cursor: pointer;
  position: relative;
  margin-right: 25px;
  overflow: hidden;
  padding: 1px 0 0 20px;
  display: inline-block; }
  label.radio:before {
    position: absolute;
    width: 15px;
    height: 15px;
    border: 1px solid #bbb;
    border-radius: 50%;
    left: 0px;
    top: 4px;
    content: '';
    z-index: 3; }
  label.radio:after {
    content: '';
    position: absolute;
    width: 11px;
    height: 11px;
    border-radius: 100%;
    left: 3px;
    top: 7px;
    background-color: #00e;
    z-index: 1; }
  label.radio input[type="radio"] {
    -moz-appearance: none;
    -webkit-appearance: none;
    position: absolute;
    z-index: 2;
    width: 20px;
    height: 20px;
    left: -23px;
    top: 1px;
    margin: 0px;
    -webkit-box-shadow: 20px -1px #FFF;
    box-shadow: 20px -1px #FFF; }
    label.radio input[type="radio"]:checked {
      display: none; }
    label.radio input[type="radio"]:focus {
      opacity: 0.2;
      -webkit-box-shadow: 20px -1px #FFF;
      box-shadow: 20px -1px #FFF; }

.spNavFixed {
  position: fixed;
  width: 100%; }

.spNavScroll {
  overflow: auto !important; }

#noFixed #pageHeader {
  position: static; }

#pageHeader {
  background: url(../images/cont-img-bg03.gif) repeat center 0;
  position: relative;
  background-color: #50ac59;
  z-index: 500;
  padding: 1.75rem 1.5rem; }
  #pageHeader .logo span {
    display: inline-block;
    margin-left: .7rem;
    padding-bottom: 0.3em; }
  #pageHeader #pageNav .childNav {
    display: none; }

@media screen and (max-width: 1024px) {
  #pageHeader {
    padding: 1.25rem 1rem; }
    #pageHeader #pageNav i.open {
      padding-left: 10px;
      border-left: 1px solid #fff;
      height: 35px;
      width: 35px;
      position: absolute;
      color: #fff;
      top: 18px;
      right: 20px;
      font-size: 12px;
      letter-spacing: -0.5px;
      z-index: 300;
      text-align: center;
      font-style: normal;
      padding-top: 20px;
      z-index: 600; }
      #pageHeader #pageNav i.open span {
        display: block;
        position: absolute;
        top: 5px;
        left: 13px;
        right: 0;
        width: 80%;
        height: 2px;
        background-color: #fff;
        margin: 5px auto 0px; }
        #pageHeader #pageNav i.open span:before, #pageHeader #pageNav i.open span:after {
          content: '';
          position: absolute;
          top: -8px;
          left: 0;
          height: 2px;
          width: 100%;
          background-color: #fff;
          -webkit-transition: 0.2s;
          -o-transition: 0.2s;
          transition: 0.2s; }
        #pageHeader #pageNav i.open span:after {
          top: 8px; }
      #pageHeader #pageNav i.open.openActive {
        border-left: none; }
      #pageHeader #pageNav i.open.openActive span {
        height: 0; }
        #pageHeader #pageNav i.open.openActive span:before, #pageHeader #pageNav i.open.openActive span:after {
          left: 0px;
          top: 0px; }
        #pageHeader #pageNav i.open.openActive span:before {
          -moz-transform: rotate(-45deg);
          -webkit-transform: rotate(-45deg);
          -o-transform: rotate(-45deg);
          -ms-transform: rotate(-45deg); }
        #pageHeader #pageNav i.open.openActive span:after {
          -moz-transform: rotate(45deg);
          -webkit-transform: rotate(45deg);
          -o-transform: rotate(45deg);
          -ms-transform: rotate(45deg); }
    #pageHeader #pageNav .pageNavInner {
      display: none;
      position: fixed;
      background-color: #50ac59;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%;
      z-index: 500;
      padding: 19vh 0 0; }
      #pageHeader #pageNav .pageNavInner ul {
        letter-spacing: .4rem; }
        #pageHeader #pageNav .pageNavInner ul:after {
          content: '';
          display: table;
          clear: both; }
        #pageHeader #pageNav .pageNavInner ul li {
          letter-spacing: normal; }
          #pageHeader #pageNav .pageNavInner ul li a {
            display: block;
            font-size: 1rem;
            color: inherit;
            margin: 0 auto;
            padding: 10px 2rem;
            color: #fff;
            font-weight: bold;
            position: relative; }
            #pageHeader #pageNav .pageNavInner ul li a:after {
              content: "\f105";
              font-family: "Font Awesome 5 Free";
              position: absolute;
              top: 10px;
              right: 2rem; }
          #pageHeader #pageNav .pageNavInner ul li.parent > a:after {
            content: '\f107'; }
          #pageHeader #pageNav .pageNavInner ul li.parent > a.active:after {
            content: '\f106'; }
          #pageHeader #pageNav .pageNavInner ul li ul li:not(:last-child) a {
            border-bottom: 1px dashed #eee; }
          #pageHeader #pageNav .pageNavInner ul li ul li a {
            display: block;
            padding-left: 3rem;
            color: #50ac59;
            background-color: #fff;
            font-size: 14px;
            font-weight: normal; }
            #pageHeader #pageNav .pageNavInner ul li ul li a:after {
              right: 3rem; }
      #pageHeader #pageNav .pageNavInner i.close {
        background-color: #ccc;
        color: #50ac59;
        display: block;
        padding: 10px 0;
        text-align: center;
        margin: 40px auto 0; } }

@media screen and (max-width: 480px) {
  #pageHeader {
    padding: 1.25rem 1rem; }
    #pageHeader .logo img {
      width: 160px; }
    #pageHeader .logo span {
      margin-left: 5px; }
      #pageHeader .logo span img {
        width: 50px; }
    #pageHeader #pageNav i.open {
      top: 14px; } }

@media screen and (min-width: 1025px) {
  #pageHeader .cont01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
  #pageHeader #pageNav {
    margin-left: auto; }
    #pageHeader #pageNav i {
      display: none; }
    #pageHeader #pageNav li {
      display: inline-block;
      margin-left: 2rem; }
      #pageHeader #pageNav li a {
        text-decoration: none;
        position: relative;
        display: block;
        color: #4c2d18;
        font-weight: bold;
        font-size: 18px; }
        #pageHeader #pageNav li a:hover {
          color: #824d29; } }

.toTop p span {
  position: relative;
  display: block; }
  .toTop p span:before {
    content: '\f30c';
    font-family: "Font Awesome 5 Free";
    display: inline-block; }

@media screen and (min-width: 1025px) {
  .toTop {
    position: fixed;
    bottom: -80px;
    right: 30px;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
    z-index: 50;
    position: fixed; }
    .toTop p span {
      -webkit-transition: .3s;
      -o-transition: .3s;
      transition: .3s;
      font-size: 12px;
      font-weight: bold;
      color: #f2942c;
      border: 2px solid #f2942c;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      width: 65px;
      height: 65px;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      border-radius: 50%;
      padding-top: 1rem;
      cursor: pointer; }
      .toTop p span:hover {
        -webkit-transition: .3s;
        -o-transition: .3s;
        transition: .3s;
        background-color: #f2942c;
        color: #fff;
        -webkit-transform: scale(1.25);
        -ms-transform: scale(1.25);
        transform: scale(1.25); }
      .toTop p span:before {
        display: block;
        position: absolute;
        top: .5rem;
        left: 0;
        font-size: 1rem;
        right: 0;
        text-align: center;
        margin: auto; }
    .toTop.onTotop {
      bottom: 30px; } }

@media screen and (max-width: 1024px) {
  .toTop {
    padding: 15px;
    background-color: #fff;
    text-align: center;
    border-bottom: 1px solid #f2f2f2;
    border-top: 1px solid #f2f2f2; }
    .toTop p span:before {
      margin-right: .5rem; } }

#pageFooter {
  background: url("../images/cont-img-bg03.gif") repeat center 0;
  padding: 60px 10px;
  color: #fff; }
  #pageFooter .footerInner .footerNav {
    text-align: center;
    margin-bottom: 2.5rem; }
    #pageFooter .footerInner .footerNav li {
      display: inline-block;
      margin: 1rem 1.5rem; }
      #pageFooter .footerInner .footerNav li a {
        color: #4c2d18;
        font-weight: bold; }
  #pageFooter .footerInner .footerLogo {
    text-align: center;
    margin-bottom: 2.5rem; }
  #pageFooter .footerInner .corpLink a {
    background-color: #fff;
    display: block;
    width: 240px;
    padding: .8rem 0;
    color: #50ac59;
    margin: 0 auto;
    text-align: center;
    font-weight: bold;
    position: relative; }
    #pageFooter .footerInner .corpLink a i.icon01 {
      position: absolute;
      right: 0;
      top: 50%; }

@media screen and (max-width: 480px) {
  #pageFooter {
    padding: 1.5rem 0; }
    #pageFooter .footerInner .footerNav li {
      display: block; } }

#copyright {
  background-color: #fff; }
  #copyright span {
    display: inline-block;
    margin-right: 8px; }
  #copyright p {
    text-align: center;
    padding: 10px;
    color: #4c2d18;
    font-size: 14px; }

select,
textarea {
  margin: 3px 2px;
  padding: 5px;
  border: 1px solid #ccc; }

input[type="text"],
input[type="tel"],
input[type="password"],
input[type="email"] {
  padding: 7px;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  border: 1px solid #ccc; }

.inputSm {
  width: 3em; }

.inputMd {
  width: 25em; }

.inputLg {
  width: 99%; }

.textareaLg {
  width: 99%;
  height: 10em; }

#postal_btn {
  margin-left: 5px;
  padding: 5px 10px;
  display: inline-block; }

.colr {
  background: #fff1f1; }

@media screen and (max-width: 480px) {
  .inputMd,
  .inputLg {
    width: 94%; } }

.required {
  margin: 0 0 0 3px;
  padding: 3px 5px;
  color: #FFF;
  text-align: center;
  font-size: 11px;
  line-height: 1;
  display: inline-block;
  border-radius: s2px;
  background: #F00; }

.recruitBtn01,
.formmailBtn {
  margin: 30px auto 50px; }
  .recruitBtn01 p,
  .formmailBtn p {
    line-height: 1.5;
    text-align: center;
    vertical-align: top; }
  .recruitBtn01 .btn,
  .formmailBtn .btn {
    display: inline-block;
    width: auto;
    line-height: 1.5;
    padding: 12px 20px;
    background: #DE2629;
    border: 2px solid #DE2629;
    color: #fff;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
    margin: 0 5px 10px; }
    .recruitBtn01 .btn:hover,
    .formmailBtn .btn:hover {
      color: #DE2629;
      background-color: #fff; }
    .recruitBtn01 .btn.back,
    .formmailBtn .btn.back {
      background: #444;
      border: 2px solid #444; }
      .recruitBtn01 .btn.back:hover,
      .formmailBtn .btn.back:hover {
        color: #444;
        background-color: #fff; }
  @media screen and (max-width: 480px) {
    .recruitBtn01,
    .formmailBtn {
      margin: 15px auto 30px; } }

.recruitBtn01 {
  margin-top: 40px; }

.privacyBox {
  max-width: 600px;
  margin: 0 auto 50px;
  padding: 15px;
  border: 1px solid #ccc; }
  .privacyBox h3 {
    margin: 0 0 10px;
    padding: 0;
    padding-bottom: 10px;
    border-bottom: 1px dotted #ccc;
    font-size: 16px; }
  @media screen and (max-width: 600px) {
    .privacyBox {
      width: 94%; } }

.privacyBox
.privacyBox p {
  line-height: 1.5; }

#message #pageMainTitle {
  background: url(../images/message-main-img01.jpg) no-repeat center center/cover; }

.messageBox01 .cont01 {
  position: relative; }

.messageBox01 figure {
  position: absolute;
  right: 0; }

.messageBox01 .text {
  position: relative;
  z-index: 50;
  padding-top: 350px; }
  .messageBox01 .text .textInner {
    border: 1px solid #f2942c;
    padding: 2.5rem;
    display: table;
    background-color: rgba(255, 255, 255, 0.9); }
    .messageBox01 .text .textInner h2 {
      font-size: 2.5rem;
      color: #f2942c;
      margin-bottom: 1.25rem; }
    .messageBox01 .text .textInner p:not(:last-child) {
      margin-bottom: 1rem; }

@media screen and (max-width: 768px) {
  .messageBox01 figure {
    position: static; }
  .messageBox01 .text {
    padding: 0;
    margin-top: 1.25rem; }
    .messageBox01 .text .textInner {
      display: block;
      padding: 1.5rem; }
      .messageBox01 .text .textInner h2 {
        font-size: 2rem; } }

@media screen and (max-width: 480px) {
  .messageBox01 .text .textInner {
    display: block;
    padding: 0;
    border: none; }
    .messageBox01 .text .textInner h2 {
      font-size: 1.5rem; }
    .messageBox01 .text .textInner p br {
      display: none; } }

.messageBox02 figure img {
  width: 100%; }

.messageBox02 h2,
.messageBox02 p {
  padding: 0 1rem; }

.messageBox02 h2 {
  font-size: 2.5rem;
  color: #f2942c;
  text-align: center;
  margin: 2rem; }

.messageBox02 p {
  text-align: center; }

@media screen and (max-width: 768px) {
  .messageBox02 h2 {
    font-size: 2rem; } }

@media screen and (max-width: 480px) {
  .messageBox02 h2 {
    margin: 1.25rem 0;
    font-size: 1.5rem;
    text-align: left; }
  .messageBox02 p {
    text-align: left; }
    .messageBox02 p br {
      display: none; } }

#charm #pageMainTitle {
  background: url(../images/charm-main-img01.jpg) no-repeat center center/cover; }

.charmBox01:not(:last-child) {
  margin-bottom: 5rem; }

.charmBox01 .boxFr {
  margin-left: 2.5rem;
  width: 50%; }

.charmBox01 h2 {
  font-size: 1.75rem;
  color: #f2942c;
  margin-bottom: 1.25rem; }
  .charmBox01 h2 i {
    display: block;
    margin-bottom: 10px; }

@media screen and (max-width: 768px) {
  .charmBox01:not(:last-child) {
    margin-bottom: 2.5rem; }
  .charmBox01 .boxFr {
    float: none;
    margin: 0 0 1rem;
    width: 100%;
    text-align: center; }
    .charmBox01 .boxFr img {
      width: 100%; }
  .charmBox01 .ofh {
    overflow: visible; }
  .charmBox01 h2 {
    font-size: 1.5rem; }
    .charmBox01 h2 i img {
      height: 1.25rem; } }

@media screen and (max-width: 480px) {
  .charmBox01 h2 {
    margin-bottom: .5rem; }
    .charmBox01 h2 i img {
      height: 1rem; } }

#staffMainTitle {
  padding-top: 820px;
  position: relative; }
  #staffMainTitle .textBox {
    position: absolute;
    background-color: #fff; }
    #staffMainTitle .textBox h1 {
      font-size: 2.2rem;
      margin-bottom: 1.25rem; }
    #staffMainTitle .textBox p.staffName {
      display: inline-block;
      margin-right: 1.5rem;
      font-size: 2rem;
      font-weight: bold;
      line-height: 1.25; }
      #staffMainTitle .textBox p.staffName span {
        font-weight: normal;
        font-size: 1rem;
        display: block; }

@media screen and (max-width: 1024px) {
  #staffMainTitle {
    padding-top: 60%;
    background-size: 140% auto !important;
    background-position: center 0 !important; }
    #staffMainTitle .textBox {
      position: static; } }

@media screen and (max-width: 768px) {
  #staffMainTitle .textBox {
    padding: 1rem !important; }
    #staffMainTitle .textBox h1 {
      font-size: 1.75rem; }
    #staffMainTitle .textBox p.staffName {
      font-size: 1.25rem; } }

@media screen and (max-width: 480px) {
  #staffMainTitle .textBox h1 {
    font-size: 1.5rem; }
    #staffMainTitle .textBox h1 br {
      display: none; }
  #staffMainTitle .textBox p.staffName {
    font-size: 1rem; } }

.staffBox01 .boxFr {
  margin-left: 2.5rem; }

.staffBox01 .boxFl {
  margin-right: 2.5rem; }

.staffBox01 .boxFr,
.staffBox01 .boxFl {
  width: 50%; }

.staffBox01 h2 {
  font-size: 2rem;
  color: #f2942c;
  margin-bottom: 2rem; }

.staffBox01 p b {
  display: inline-block;
  margin-right: 1rem; }

@media screen and (max-width: 768px) {
  .staffBox01 .boxFr,
  .staffBox01 .boxFl {
    width: 100%;
    float: none;
    margin: 0; }
    .staffBox01 .boxFr figure img,
    .staffBox01 .boxFl figure img {
      width: 100%; }
    .staffBox01 .boxFr figure figcaption,
    .staffBox01 .boxFl figure figcaption {
      background-color: #444;
      color: #fff;
      padding: 3px 0;
      margin: 0; }
  .staffBox01 h2 {
    text-align: center;
    margin: 1.25rem 0;
    font-size: 1.5rem; } }

.staffMessage .cont01 {
  position: relative; }

.staffMessage .textBox {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.35); }
  .staffMessage .textBox h2 {
    color: #fff;
    font-size: 2rem;
    margin-bottom: 1.5rem; }
  .staffMessage .textBox p {
    color: #fff;
    font-weight: bold; }
    .staffMessage .textBox p b {
      display: inline-block;
      margin-right: 1rem; }

@media screen and (max-width: 1024px) {
  .staffMessage .textBox {
    position: static;
    background-color: #333; } }

@media screen and (max-width: 768px) {
  .staffMessage .textBox {
    padding: 1rem !important; }
    .staffMessage .textBox h2 {
      font-size: 1.5rem;
      margin-bottom: 1rem; } }

.staffBnrBox {
  text-align: center; }
  .staffBnrBox img {
    max-width: 300px; }
    .staffBnrBox img:first-child {
      margin: 0 2em 0 0; }

@media screen and (max-width: 768px) {
  .staffBnrBox img {
    max-width: 85%; }
    .staffBnrBox img:first-child {
      margin: 0 0 2em 0; } }

.staff01 #staffMainTitle {
  background: url(../images/staff01-main-img01.jpg) no-repeat center center/cover; }
  .staff01 #staffMainTitle .textBox {
    padding: 2.5rem;
    left: 2.5rem;
    top: 9rem; }

.staff01 .staffMessage .textBox {
  padding: 2rem; }

@media screen and (max-width: 768px) {
  .staff01 #staffMainTitle .textBox:after {
    content: '';
    display: table;
    clear: both; }
  .staff01 #staffMainTitle .textBox p.staffName {
    margin-right: 0; }
    .staff01 #staffMainTitle .textBox p.staffName span {
      margin-bottom: 5px; }
    .staff01 #staffMainTitle .textBox p.staffName:not(:last-child) {
      margin-right: 5%; } }

.staff02 #staffMainTitle {
  background: url(../images/staff02-main-img01.jpg) no-repeat center center/cover; }
  .staff02 #staffMainTitle .textBox {
    padding: 2.5rem;
    right: 5rem;
    top: 5rem; }
    .staff02 #staffMainTitle .textBox .staffName span {
      margin-bottom: 1rem; }

.staff02 .staffMessage .textBox {
  padding: 2rem; }

.staff03 #staffMainTitle {
  background: url(../images/staff03-main-img01.jpg) no-repeat center center/cover; }
  .staff03 #staffMainTitle .textBox {
    padding: 2.5rem;
    right: 5rem;
    top: 12rem; }
    .staff03 #staffMainTitle .textBox .staffName span {
      margin-bottom: 1rem; }

.staff03 .staffMessage .textBox {
  padding: 2rem; }

#requirements #pageMainTitle {
  background: url(../images/requirements-main-img01.jpg) no-repeat center center/cover; }

.requirementsTitle01 {
  font-size: 1.8rem;
  text-align: center;
  color: #50ac59;
  padding: 0 0 2.5rem;
  font-weight: bold; }

.requirementsBox02 .cateList span {
  padding: 2px 8px;
  display: inline-block;
  background-color: #666;
  font-size: 14px;
  margin: 0 2px 4px 0;
  color: #fff; }

.requirementsBox01 {
  margin-bottom: 100px; }
  .requirementsBox01 li {
    border: 5px solid #f2f2f2;
    margin-bottom: 40px; }
    .requirementsBox01 li h4 {
      background-color: #f2f2f2;
      color: #50ac59;
      padding: .5rem 15px;
      line-height: 1.6;
      font-size: 1.25em; }
  .requirementsBox01 ul.parent li .ibox {
    width: 35%;
    padding: 15px 0 15px 15px; }
  .requirementsBox01 ul.parent li .tbox {
    padding: 15px;
    width: 65%; }
  .requirementsBox01 ul.parent li .cateList span {
    padding: 2px 8px;
    display: inline-block;
    background-color: #666;
    font-size: 14px;
    margin: 0 2px 4px 0;
    color: #fff; }
  .requirementsBox01 ul.parent li .requirementsListDetail {
    margin-top: 5px; }
  .requirementsBox01 ul.parent li dl {
    border-bottom: 1px dashed #ccc;
    padding: 8px 0; }
    .requirementsBox01 ul.parent li dl:after {
      content: '';
      display: table;
      clear: both; }
    .requirementsBox01 ul.parent li dl dt {
      float: left;
      font-weight: normal;
      width: 5rem; }
    .requirementsBox01 ul.parent li dl dd {
      padding-left: 10px;
      border-left: 1px solid #ccc;
      overflow: hidden; }
  .requirementsBox01 .btnBox {
    text-align: right; }
    .requirementsBox01 .btnBox a {
      font-size: 1rem;
      display: inline-block;
      width: 140px;
      text-decoration: none;
      padding: 6px 0px;
      text-align: center;
      margin: 0px 15px 15px 0;
      color: #fff;
      background-color: #50ac59;
      border: 2px solid #50ac59;
      position: relative;
      -webkit-transition: .3s;
      -o-transition: .3s;
      transition: .3s; }
      .requirementsBox01 .btnBox a i {
        display: inline-block;
        margin-right: 10px; }
      .requirementsBox01 .btnBox a:first-child {
        color: #50ac59;
        background-color: #fff; }
  .requirementsBox01 > p {
    padding: 40px 10px;
    text-align: center; }

@media screen and (max-width: 600px) {
  .requirementsBox01 ul li h4 {
    font-size: 1rem;
    padding: 10px 5px; }
  .requirementsBox01 .flexPa {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }
  .requirementsBox01 ul.parent li .ibox, .requirementsBox01 ul.parent li .tbox {
    width: 100%;
    padding: 10px; }
  .requirementsBox01 .btnBox {
    font-size: 0;
    width: 95%;
    margin: 0 auto; }
    .requirementsBox01 .btnBox a {
      width: 48%;
      display: inline-block;
      margin: 20px 1%;
      font-size: 14px; } }

@media screen and (max-width: 1024px) {
  .requirementsBox01 ul {
    padding: 0 10px; } }

@media screen and (min-width: 1025px) {
  .requirementsBox01 .btnBox a:hover {
    content: '';
    background-color: #fff;
    color: #50ac59;
    border-color: #50ac59; } }

.requirementsRefine {
  margin: 0 0 30px; }
  .requirementsRefine ul {
    text-align: center;
    letter-spacing: -0.4rem; }
  .requirementsRefine li {
    display: inline-block;
    border: none;
    margin: 0 15px;
    letter-spacing: normal; }
    .requirementsRefine li a {
      display: block;
      border-radius: 40px;
      padding: 10px 30px;
      color: #4c2d18;
      background-color: #f2f2f2; }
      .requirementsRefine li a:before {
        content: '\f111';
        font-family: "Font Awesome 5 Free";
        display: inline-block;
        margin-right: 10px;
        color: #999; }
      .requirementsRefine li a.active {
        background-color: #50ac59;
        color: #fff; }
        .requirementsRefine li a.active:before {
          content: '\f058';
          color: #fff; }

@media screen and (max-width: 1024px) {
  .requirementsRefine.requirementsRefine li {
    width: -webkit-calc(100% / 3 - 10px);
    width: calc(100% / 3 - 10px);
    margin: 0;
    margin-right: 15px; }
    .requirementsRefine.requirementsRefine li:nth-child(3n) {
      margin-right: 0; }
    .requirementsRefine.requirementsRefine li a {
      padding: 10px 0; } }

@media screen and (max-width: 600px) {
  .requirementsRefine.requirementsRefine.requirementsRefine li {
    width: 14rem;
    display: block;
    margin: 0 auto; }
    .requirementsRefine.requirementsRefine.requirementsRefine li a {
      border-radius: 0;
      padding: 5px 10px;
      text-align: left; } }

.requirementsMovie {
  background-color: #000;
  padding-bottom: 25%;
  position: relative;
  overflow: hidden; }
  .requirementsMovie iframe {
    width: 100%;
    height: 100%;
    max-width: 960px;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    margin: 0 auto; }

.requirementsBox02 h1 {
  background-color: #50ac59;
  color: #fff;
  line-height: 1.6;
  font-size: 1.25rem;
  padding: .5rem 1rem; }

.requirementsBox02 figcaption {
  display: table;
  text-align: left;
  margin: 10px auto 0; }

.requirementsBox02 .cateList {
  padding: 15px;
  background-color: #f2f2f2; }

.requirementsBox02 .data {
  text-align: right;
  font-weight: bold;
  margin: 10px 0; }

.requirementsBox02 .point {
  margin-top: 2rem; }
  .requirementsBox02 .point .tbox {
    width: 50%; }
  .requirementsBox02 .point .ibox {
    width: 50%;
    padding-right: 15px; }

.requirementsBox02 h2 {
  color: #50ac59;
  line-height: 24px;
  padding: 0;
  padding-bottom: 8px;
  margin-bottom: 1rem;
  border-bottom: 1px solid #50ac59; }
  .requirementsBox02 h2:before {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    border: 10px solid transparent;
    border-top: 18px solid #50ac59;
    border-bottom: 0px;
    margin-right: 8px; }
  .requirementsBox02 h2 .svg {
    margin-right: 8px;
    fill: #E8390E;
    width: 24px;
    height: 24px;
    vertical-align: -4px; }

.requirementsBox02 th {
  background-color: #f2f2f2; }

.requirementsBox02 .point .flexWrap {
  margin-top: 40px; }

.requirementsBox02 .workplace .flexWrap li, .requirementsBox02 .point .flexWrap li {
  width: 31%;
  margin: 0 3% 3% 0; }

.requirementsBox02 .workplace .flexWrap li:nth-child(3n), .requirementsBox02 .point .flexWrap li:nth-child(3n) {
  margin-right: 0; }

.requirementsBox02 .workplace {
  margin-top: 40px; }
  .requirementsBox02 .workplace .flexWrap {
    margin-top: 30px; }

.requirementsBox02 .btnBox {
  text-align: center;
  margin: 60px 0;
  background-color: #fff; }
  .requirementsBox02 .btnBox a {
    display: inline-block;
    padding: 1rem 3rem;
    background-color: #50ac59;
    color: #fff;
    text-align: center;
    text-decoration: none;
    font-size: 1.5em;
    border: 2px solid #50ac59; }
    .requirementsBox02 .btnBox a:before {
      content: '\f0e0';
      margin-right: 8px;
      font-family: "Font Awesome 5 Free"; }

.requirementsBox02 .guide table {
  margin-top: 30px; }

.requirementsBox02 .access .flexPa {
  margin-top: 30px; }

.requirementsBox02 .access .mapbox, .requirementsBox02 .access .tbox {
  width: 100%;
  -webkit-flex: 1;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1; }

.requirementsBox02 .access .mapbox {
  width: 100%;
  height: 350px;
  position: relative;
  margin-right: 40px; }
  .requirementsBox02 .access .mapbox iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0; }

.requirementsBox02 .access .tbox th {
  width: 7em; }

.requirementsBox02 .bx-wrapper .bx-pager.bx-default-pager a {
  background: #999;
  width: 12px;
  border-radius: 50%;
  height: 12px; }

.requirementsBox02 .bx-wrapper .bx-viewport {
  height: auto !important; }

.requirementsBox02 .method p {
  margin-top: 30px; }

.entryList {
  margin: 40px 0 100px;
  border: 1px solid #ccc;
  padding: 5px 15px; }
  .entryList li:last-child {
    border-bottom: none; }
  .entryList li dl {
    display: table;
    width: 100%;
    border-bottom: 1px solid #e5e5e5;
    vertical-align: middle; }
    .entryList li dl dt {
      width: 10rem;
      display: table-cell;
      padding: 20px 15px 20px 0;
      vertical-align: middle; }
    .entryList li dl dd {
      display: table-cell;
      padding: 20px 15px 20px 0;
      vertical-align: middle; }
      .entryList li dl dd p {
        margin: 0;
        margin: 10px 0; }
      .entryList li dl dd span {
        display: inline-block;
        margin-right: 5px; }
      .entryList li dl dd p input[type="text"], .entryList li dl dd p input[type="email"], .entryList li dl dd p input[type="tel"] {
        padding: 18px 12px 16px 12px;
        -webkit-box-sizing: content-box;
        box-sizing: content-box;
        border: 1px solid #ccc; }

@media screen and (max-width: 1024px) {
  .requirementsBox02 .data, .requirementsBox02 .access, .requirementsBox02 .guide, .requirementsBox02 .point, .requirementsBox02 .workplace, .requirementsBox02 .otherJob, .requirementsBox02 .method {
    padding: 0 10px; } }

@media screen and (max-width: 768px) {
  .requirementsBox02.requirementsBox02 table th, .requirementsBox02.requirementsBox02 .access .tbox th, .requirementsBox02.requirementsBox02 table td {
    width: 100%;
    display: block;
    margin-top: -1px; }
  .requirementsBox02.requirementsBox02 .workplace .flexWrap li, .requirementsBox02.requirementsBox02 .point .flexWrap li {
    width: auto;
    margin: 0; }
  .entryList {
    padding: 10px; }
    .entryList li dl dt, .entryList li dl dd {
      display: block;
      width: 100%;
      padding: 0; }
    .entryList li dl dt {
      padding-top: 15px; }
    .entryList li dl dd {
      padding-bottom: 15px; }
  #spSlide01 li img, #spSlide02 li img {
    margin: 0 auto; }
  #spSlide01, #spSlide02 {
    -webkit-flex-direction: row;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row; }
  .requirementsMovie {
    padding-bottom: 45%; } }

@media screen and (max-width: 600px) {
  .requirementsBox02 {
    font-size: 14px; }
    .requirementsBox02 h1 {
      font-size: 1rem;
      padding: 5px; }
    .requirementsBox02 h2 {
      margin-bottom: 10px; }
    .requirementsBox02 .btnBox a {
      font-size: 1rem; }
    .requirementsBox02 .point .flexPa.firstBox, .requirementsBox02 .access .flexPa {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; }
    .requirementsBox02 .point .ibox, .requirementsBox02 .point .tbox {
      width: 100%;
      margin-bottom: 20px; }
    .requirementsBox02 .access .mapbox {
      margin: 0 0 30px;
      padding-bottom: 65%; } }

@media screen and (max-width: 480px) {
  .requirementsBox02 .access .mapbox {
    height: 300px; }
  .requirementsBox01 .cateList {
    display: none; }
  .requirementsMovie {
    padding-bottom: 65%; } }

@media screen and (min-width: 1025px) {
  .requirementsBox02 .btnBox a:hover {
    color: #50ac59;
    background-color: transparent; }
  .requirementsBox02 .bx-wrapper .bx-pager.bx-default-pager a:hover, .requirementsBox02 .bx-wrapper .bx-pager.bx-default-pager a.active {
    background: #E8390E; } }

#oherJobSlide .slick-list {
  margin: 0 30px; }

.slick-dots li button:before {
  font-size: 40px; }

.slick-slider.slick-slider {
  margin-bottom: 0; }

.slick-slide {
  margin: 0 10px !important; }

.slick-slider.slick-slider img {
  margin: 0 auto; }

.slick-prev.slick-prev, .slick-next.slick-next {
  background-color: #fff;
  height: 50px;
  width: 25px;
  top: 42%;
  z-index: 2;
  display: block; }

.slick-prev.slick-prev {
  left: 0; }

.slick-next.slick-next {
  right: 0; }

.slick-prev.slick-prev:before, .slick-next.slick-next:before {
  position: absolute;
  content: '';
  top: 38%;
  width: 10px;
  height: 10px;
  border-top: 3px solid #50ac59; }

.slick-prev.slick-prev:before {
  left: 15%;
  border-left: 3px solid #50ac59;
  text-indent: -9999px;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg); }

.slick-next.slick-next:before {
  right: 15%;
  border-right: 3px solid #50ac59;
  text-indent: -9999px;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg); }

.slick-dots.slick-dots {
  position: static;
  margin-top: 10px; }
  .slick-dots.slick-dots li {
    height: 15px;
    width: 15px;
    line-height: 15px; }
  .slick-dots.slick-dots button {
    height: 15px;
    width: 15px;
    line-height: 15px; }
    .slick-dots.slick-dots button:before {
      height: 15px;
      width: 15px;
      line-height: 15px; }
  .slick-dots.slick-dots li button:hover:before, .slick-dots.slick-dots li button:focus:before {
    color: #50ac59; }
  .slick-dots.slick-dots li.slick-active button:before {
    color: #50ac59; }

@media screen and (max-width: 480px) {
  #oherJobSlide .slick-list {
    margin: 0; }
  .slick-prev.slick-prev, .slick-next.slick-next {
    display: none !important; }
  .slick-slide {
    margin: 0 !important; } }

#oherJobSlide .slick-slide {
  padding: 15px;
  border: 1px solid #ccc;
  margin: 0 10px; }

#oherJobSlide li figure {
  margin-bottom: 10px; }

#oherJobSlide li h3 {
  font-size: 1.25rem;
  line-height: 1.35;
  color: #50ac59;
  padding: 0; }

#oherJobSlide li .btnBox, #oherJobSlide li dl {
  display: none; }

@media screen and (max-width: 480px) {
  #oherJobSlide .slick-slide {
    padding: 15px 10px;
    width: 100%; }
  #oherJobSlide li h3 {
    margin-bottom: 10px;
    font-size: 1rem; }
  #oherJobSlide li .btnBox {
    display: block;
    margin: 10px 0 0; }
    #oherJobSlide li .btnBox a {
      width: 48%;
      padding: .3rem 0; }
      #oherJobSlide li .btnBox a:before {
        content: "\f0da";
        font-family: "Font Awesome 5 Free";
        display: inline-block;
        margin-right: 10px; }
  #oherJobSlide li dl {
    display: table;
    width: 100%;
    padding: 5px 0;
    border-top: dotted 1px #ccc; }
    #oherJobSlide li dl:after {
      content: '';
      display: table;
      clear: both; }
    #oherJobSlide li dl dd {
      display: table-cell;
      padding: 0 5px;
      vertical-align: middle; }
    #oherJobSlide li dl dt {
      display: table-cell;
      padding: 0 5px;
      vertical-align: middle;
      width: 5rem; }
  #oherJobSlide li figure {
    display: none; } }

@media screen and (min-width: 1025px) {
  #oherJobSlide li a:hover {
    text-decoration: none; } }

.topImg {
  background: url(../images/top-img01.jpg) no-repeat center center/cover;
  height: 0;
  width: 100%;
  padding-bottom: 80vh;
  position: relative; }
  .topImg .topImgText {
    overflow: hidden;
    text-indent: 120%;
    white-space: nowrap;
    width: 349px;
    height: 234px;
    background: url(../images/top-img-text01.png) no-repeat center center;
    position: absolute;
    right: 0;
    left: 0;
    top: 5rem;
    margin: 0 auto; }

@media screen and (max-width: 1024px) {
  .topImg {
    padding-bottom: 65%; }
    .topImg .topImgText {
      width: 75%;
      height: auto;
      background-size: 100% auto;
      padding-bottom: 8%;
      right: 5vw;
      bottom: 5vh; } }

@media screen and (max-width: 480px) {
  .topImg .topImgText {
    top: 1rem;
    height: 180px; } }

.topImgText02 {
  overflow: hidden;
  text-indent: 120%;
  white-space: nowrap;
  width: 642px;
  height: 87px;
  margin: 4rem auto 0;
  background: url(../images/top-img-text02.png) no-repeat center center/cover; }

@media screen and (max-width: 768px) {
  .topImgText02 {
    width: auto;
    height: auto;
    background: none;
    overflow: visible;
    text-indent: 0;
    white-space: normal;
    text-align: center;
    font-weight: bold;
    font-size: 1.25rem;
    padding: 0 15px; } }

@media screen and (max-width: 480px) {
  .topImgText02 {
    font-size: 14px;
    margin-top: 1.25rem; }
    .topImgText02 p {
      display: inline; } }

.indexBox01 .introductionBox {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  .indexBox01 .introductionBox:after {
    content: '';
    display: table;
    clear: both; }
  .indexBox01 .introductionBox .text,
  .indexBox01 .introductionBox figure {
    width: 50%; }
  .indexBox01 .introductionBox .text {
    padding-left: 2.5rem; }
    .indexBox01 .introductionBox .text h2 {
      font-size: 1.4rem;
      color: #4c2d18; }
      .indexBox01 .introductionBox .text h2 span {
        display: block;
        margin-bottom: 1.25rem; }
      .indexBox01 .introductionBox .text h2 sub {
        font-size: 1rem;
        color: #4c2d18;
        display: inline-block;
        margin-left: 10px; }
    .indexBox01 .introductionBox .text a {
      display: block;
      width: 180px;
      background-color: #f2942c;
      color: #fff;
      text-decoration: none;
      text-align: center;
      padding: .7rem 0;
      margin: 1rem 0;
      float: right;
      position: relative;
      border: 2px solid #f2942c; }
      .indexBox01 .introductionBox .text a i.icon01 {
        position: absolute;
        top: 50%;
        right: 10px;
        background-color: #fff; }
      .indexBox01 .introductionBox .text a:hover {
        background-color: #fff;
        color: #f2942c; }
        .indexBox01 .introductionBox .text a:hover i.icon01 {
          right: 0px;
          background-color: #f2942c; }
  .indexBox01 .introductionBox:nth-of-type(2n) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse; }
    .indexBox01 .introductionBox:nth-of-type(2n) .text {
      padding: 0 2.5rem 0 0; }

@media screen and (max-width: 768px) {
  .indexBox01 .introductionBox {
    display: block; }
    .indexBox01 .introductionBox:not(:last-child) {
      margin-bottom: 1.25rem; }
    .indexBox01 .introductionBox .text,
    .indexBox01 .introductionBox figure {
      width: 100%; }
    .indexBox01 .introductionBox figure img {
      width: 100%; }
    .indexBox01 .introductionBox .text.text {
      padding: 0; }
      .indexBox01 .introductionBox .text.text h2 {
        text-align: center; }
        .indexBox01 .introductionBox .text.text h2 span img {
          height: 1rem; }
        .indexBox01 .introductionBox .text.text h2 br {
          display: none; }
      .indexBox01 .introductionBox .text.text a {
        margin: 2.5rem auto;
        float: none;
        margin-bottom: 0; } }

@media screen and (max-width: 480px) {
  .indexBox01 .introductionBox .text h2 {
    font-size: 1.25rem;
    margin-top: 1.25rem; } }

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