@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;700&display=swap");
@font-face {
  font-family: "YuGothic-M";
  font-weight: normal;
  src: local("YuGothic-Medium"), local("Yu Gothic Medium"), local("YuGothic-Regular"); }

@font-face {
  font-family: "YuGothic-M";
  font-weight: bold;
  src: local("YoGothic-Bold"), local("Yu Gothic Bold"), local("Yu Gothic"); }

@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W4);
  font-weight: normal; }

@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W6);
  font-weight: bold; }

@font-face {
  font-family: 'Bauhaus';
  src: url(../font/Bauhaus93Regular.ttf); }

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  outline: 0;
  border: 0;
  word-wrap: break-word;
  word-break: normal;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

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

audio,
canvas,
video {
  display: inline-block; }

img {
  vertical-align: bottom; }

input,
select,
textarea {
  vertical-align: middle;
  font-size: 100%; }

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

h1,
h2,
h3,
h4,
h5,
h6,
strong {
  font-size: 1.6rem;
  font-weight: normal;
  font-feature-settings: "palt"; }

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

html {
  font-size: 10px; }

body {
  color: #000;
  letter-spacing: 0.05em;
  font-size: 1.8rem;
  font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", YuGothic-M, YuGothic, "游ゴシック", sans-serif;
  line-height: 1.7;
  font-feature-settings: "palt" 1;
  -webkit-text-size-adjust: 100%; }
  @media screen and (max-width: 767px) {
    body {
      font-size: 1.5rem; } }
#wrapper {
  position: relative;
  overflow-x: hidden; }

a {
  color: #000;
  text-decoration: none;
  transition: 0.5s; }
  a:hover {
    opacity: 0.7; }

input[type="button"], input[type="submit"] {
  background-color: rgba(255, 255, 255, 0); }

.l-container-lg {
  margin: 0 auto;
  width: 1200px; }
  .l-container-lg > *:last-child {
    margin-bottom: 0; }
  @media screen and (max-width: 767px) {
    .l-container-lg {
      width: 100%;
      padding-left: 15px;
      padding-right: 15px; } }
  @media screen and (max-width: 767px) {
    .l-container-lg.padding-none {
      padding-left: 0;
      padding-right: 0; } }
.l-container-mid {
  margin: 0 auto;
  width: 1080px; }
  .l-container-mid > *:last-child {
    margin-bottom: 0; }
  @media screen and (max-width: 767px) {
    .l-container-mid {
      width: 100%;
      padding-left: 15px;
      padding-right: 15px; } }
  @media screen and (max-width: 767px) {
    .l-container-mid.padding-none {
      padding-left: 0;
      padding-right: 0; } }
.l-container-min {
  margin: 0 auto;
  width: 800px; }
  .l-container-min > *:last-child {
    margin-bottom: 0; }
  @media screen and (max-width: 767px) {
    .l-container-min {
      width: 100%;
      padding-left: 15px;
      padding-right: 15px; } }
  @media screen and (max-width: 767px) {
    .l-container-min.padding-none {
      padding-left: 0;
      padding-right: 0; } }
.l-container-small {
  margin: 0 auto;
  width: 700px; }
  .l-container-small > *:last-child {
    margin-bottom: 0; }
  @media screen and (max-width: 767px) {
    .l-container-small {
      width: 100%;
      padding-left: 15px;
      padding-right: 15px; } }
  @media screen and (max-width: 767px) {
    .l-container-small.padding-none {
      padding-left: 0;
      padding-right: 0; } }
.l-section-lg {
  padding-top: 100px;
  padding-bottom: 100px; }
  @media screen and (max-width: 767px) {
    .l-section-lg {
      padding-top: 50px;
      padding-bottom: 50px; } }
.l-section-mid {
  padding-top: 60px;
  padding-bottom: 100px; }
  @media screen and (max-width: 767px) {
    .l-section-mid {
      padding-top: 30px;
      padding-bottom: 50px; } }
.l-section-min {
  padding-top: 50px;
  padding-bottom: 50px; }
  @media screen and (max-width: 767px) {
    .l-section-min {
      padding-top: 25px;
      padding-bottom: 25px; } }
.l-wrap-0p {
  margin: 0 auto;
  width: 0%; }
  @media screen and (max-width: 767px) {
    .l-wrap-0p {
      width: 100%; } }
.l-wrap-5p {
  margin: 0 auto;
  width: 5%; }
  @media screen and (max-width: 767px) {
    .l-wrap-5p {
      width: 100%; } }
.l-wrap-10p {
  margin: 0 auto;
  width: 10%; }
  @media screen and (max-width: 767px) {
    .l-wrap-10p {
      width: 100%; } }
.l-wrap-15p {
  margin: 0 auto;
  width: 15%; }
  @media screen and (max-width: 767px) {
    .l-wrap-15p {
      width: 100%; } }
.l-wrap-20p {
  margin: 0 auto;
  width: 20%; }
  @media screen and (max-width: 767px) {
    .l-wrap-20p {
      width: 100%; } }
.l-wrap-25p {
  margin: 0 auto;
  width: 25%; }
  @media screen and (max-width: 767px) {
    .l-wrap-25p {
      width: 100%; } }
.l-wrap-30p {
  margin: 0 auto;
  width: 30%; }
  @media screen and (max-width: 767px) {
    .l-wrap-30p {
      width: 100%; } }
.l-wrap-35p {
  margin: 0 auto;
  width: 35%; }
  @media screen and (max-width: 767px) {
    .l-wrap-35p {
      width: 100%; } }
.l-wrap-40p {
  margin: 0 auto;
  width: 40%; }
  @media screen and (max-width: 767px) {
    .l-wrap-40p {
      width: 100%; } }
.l-wrap-45p {
  margin: 0 auto;
  width: 45%; }
  @media screen and (max-width: 767px) {
    .l-wrap-45p {
      width: 100%; } }
.l-wrap-50p {
  margin: 0 auto;
  width: 50%; }
  @media screen and (max-width: 767px) {
    .l-wrap-50p {
      width: 100%; } }
.l-wrap-55p {
  margin: 0 auto;
  width: 55%; }
  @media screen and (max-width: 767px) {
    .l-wrap-55p {
      width: 100%; } }
.l-wrap-60p {
  margin: 0 auto;
  width: 60%; }
  @media screen and (max-width: 767px) {
    .l-wrap-60p {
      width: 100%; } }
.l-wrap-65p {
  margin: 0 auto;
  width: 65%; }
  @media screen and (max-width: 767px) {
    .l-wrap-65p {
      width: 100%; } }
.l-wrap-70p {
  margin: 0 auto;
  width: 70%; }
  @media screen and (max-width: 767px) {
    .l-wrap-70p {
      width: 100%; } }
.l-wrap-75p {
  margin: 0 auto;
  width: 75%; }
  @media screen and (max-width: 767px) {
    .l-wrap-75p {
      width: 100%; } }
.l-wrap-80p {
  margin: 0 auto;
  width: 80%; }
  @media screen and (max-width: 767px) {
    .l-wrap-80p {
      width: 100%; } }
.l-wrap-85p {
  margin: 0 auto;
  width: 85%; }
  @media screen and (max-width: 767px) {
    .l-wrap-85p {
      width: 100%; } }
.l-wrap-90p {
  margin: 0 auto;
  width: 90%; }
  @media screen and (max-width: 767px) {
    .l-wrap-90p {
      width: 100%; } }
.l-wrap-95p {
  margin: 0 auto;
  width: 95%; }
  @media screen and (max-width: 767px) {
    .l-wrap-95p {
      width: 100%; } }
.l-wrap-100p {
  margin: 0 auto;
  width: 100%; }
  @media screen and (max-width: 767px) {
    .l-wrap-100p {
      width: 100%; } }
.l-flex-wrap {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  flex-wrap: wrap; }

.l-flex-jc-fs {
  justify-content: flex-start; }

.l-flex-jc-fe {
  justify-content: flex-end; }

.l-flex-jc-center {
  justify-content: center; }

.l-flex-jc-sa {
  justify-content: space-around; }

.l-flex-jc-sb {
  justify-content: space-between; }

.l-flex-ai-st {
  align-items: stretch; }

.l-flex-ai-fs {
  align-items: flex-start; }

.l-flex-ai-fe {
  align-items: flex-end; }

.l-flex-ai-center {
  align-items: center; }

.l-flex-ai-bl {
  align-items: baseline; }

.l-flex-fd-row {
  flex-direction: row; }

.l-flex-fd-rr {
  flex-direction: row-reverse; }

.l-flex-fd-column {
  flex-direction: column; }

.l-flex-fd-cr {
  flex-direction: column-reverse; }

.l-flex-wrap-w {
  flex-wrap: wrap; }

.l-flex-wrap-wr {
  flex-wrap: wrap-reverse; }

.l-flex-nowrap {
  flex-wrap: nowrap; }

.l-flex-col-2 {
  margin-bottom: 20px;
  width: 48%; }
  @media screen and (max-width: 767px) {
    .l-flex-col-2 {
      width: 100%; } }
.l-flex-parent-3:after {
  display: block;
  width: 30%;
  content: ''; }

.l-flex-col-3 {
  margin-bottom: 20px;
  width: 30%; }
  @media screen and (max-width: 767px) {
    .l-flex-col-3 {
      width: 100%; } }
.l-flex-parent-4:before {
  display: block;
  order: 1;
  width: 23%;
  content: ''; }

.l-flex-parent-4:after {
  display: block;
  width: 23%;
  content: ''; }

.l-flex-col-4 {
  margin-bottom: 20px;
  width: 23%; }
  @media screen and (max-width: 767px) {
    .l-flex-col-4 {
      width: 48%; } }
.m0 {
  margin: 0px !important; }
  @media screen and (max-width: 767px) {
    .m0 {
      margin: calc(0px / 2) !important; } }
.mt0 {
  margin-top: 0px !important; }
  @media screen and (max-width: 767px) {
    .mt0 {
      margin-top: calc(0px / 2) !important; } }
.mb0 {
  margin-bottom: 0px !important; }
  @media screen and (max-width: 767px) {
    .mb0 {
      margin-bottom: calc(0px / 2) !important; } }
.ml0 {
  margin-left: 0px !important; }
  @media screen and (max-width: 767px) {
    .ml0 {
      margin-left: calc(0px / 2) !important; } }
.mr0 {
  margin-right: 0px !important; }
  @media screen and (max-width: 767px) {
    .mr0 {
      margin-right: calc(0px / 2) !important; } }
.p0 {
  padding: 0px !important; }
  @media screen and (max-width: 767px) {
    .p0 {
      padding: calc(0px / 2) !important; } }
.pt0 {
  padding-top: 0px !important; }
  @media screen and (max-width: 767px) {
    .pt0 {
      padding-top: calc(0px / 2) !important; } }
.pb0 {
  padding-bottom: 0px !important; }
  @media screen and (max-width: 767px) {
    .pb0 {
      padding-bottom: calc(0px / 2) !important; } }
.pl0 {
  padding-left: 0px !important; }
  @media screen and (max-width: 767px) {
    .pl0 {
      padding-left: calc(0px / 2) !important; } }
.pr0 {
  padding-right: 0px !important; }
  @media screen and (max-width: 767px) {
    .pr0 {
      padding-right: calc(0px / 2) !important; } }
.m5 {
  margin: 5px !important; }
  @media screen and (max-width: 767px) {
    .m5 {
      margin: calc(5px / 2) !important; } }
.mt5 {
  margin-top: 5px !important; }
  @media screen and (max-width: 767px) {
    .mt5 {
      margin-top: calc(5px / 2) !important; } }
.mb5 {
  margin-bottom: 5px !important; }
  @media screen and (max-width: 767px) {
    .mb5 {
      margin-bottom: calc(5px / 2) !important; } }
.ml5 {
  margin-left: 5px !important; }
  @media screen and (max-width: 767px) {
    .ml5 {
      margin-left: calc(5px / 2) !important; } }
.mr5 {
  margin-right: 5px !important; }
  @media screen and (max-width: 767px) {
    .mr5 {
      margin-right: calc(5px / 2) !important; } }
.p5 {
  padding: 5px !important; }
  @media screen and (max-width: 767px) {
    .p5 {
      padding: calc(5px / 2) !important; } }
.pt5 {
  padding-top: 5px !important; }
  @media screen and (max-width: 767px) {
    .pt5 {
      padding-top: calc(5px / 2) !important; } }
.pb5 {
  padding-bottom: 5px !important; }
  @media screen and (max-width: 767px) {
    .pb5 {
      padding-bottom: calc(5px / 2) !important; } }
.pl5 {
  padding-left: 5px !important; }
  @media screen and (max-width: 767px) {
    .pl5 {
      padding-left: calc(5px / 2) !important; } }
.pr5 {
  padding-right: 5px !important; }
  @media screen and (max-width: 767px) {
    .pr5 {
      padding-right: calc(5px / 2) !important; } }
.m10 {
  margin: 10px !important; }
  @media screen and (max-width: 767px) {
    .m10 {
      margin: calc(10px / 2) !important; } }
.mt10 {
  margin-top: 10px !important; }
  @media screen and (max-width: 767px) {
    .mt10 {
      margin-top: calc(10px / 2) !important; } }
.mb10 {
  margin-bottom: 10px !important; }
  @media screen and (max-width: 767px) {
    .mb10 {
      margin-bottom: calc(10px / 2) !important; } }
.ml10 {
  margin-left: 10px !important; }
  @media screen and (max-width: 767px) {
    .ml10 {
      margin-left: calc(10px / 2) !important; } }
.mr10 {
  margin-right: 10px !important; }
  @media screen and (max-width: 767px) {
    .mr10 {
      margin-right: calc(10px / 2) !important; } }
.p10 {
  padding: 10px !important; }
  @media screen and (max-width: 767px) {
    .p10 {
      padding: calc(10px / 2) !important; } }
.pt10 {
  padding-top: 10px !important; }
  @media screen and (max-width: 767px) {
    .pt10 {
      padding-top: calc(10px / 2) !important; } }
.pb10 {
  padding-bottom: 10px !important; }
  @media screen and (max-width: 767px) {
    .pb10 {
      padding-bottom: calc(10px / 2) !important; } }
.pl10 {
  padding-left: 10px !important; }
  @media screen and (max-width: 767px) {
    .pl10 {
      padding-left: calc(10px / 2) !important; } }
.pr10 {
  padding-right: 10px !important; }
  @media screen and (max-width: 767px) {
    .pr10 {
      padding-right: calc(10px / 2) !important; } }
.m15 {
  margin: 15px !important; }
  @media screen and (max-width: 767px) {
    .m15 {
      margin: calc(15px / 2) !important; } }
.mt15 {
  margin-top: 15px !important; }
  @media screen and (max-width: 767px) {
    .mt15 {
      margin-top: calc(15px / 2) !important; } }
.mb15 {
  margin-bottom: 15px !important; }
  @media screen and (max-width: 767px) {
    .mb15 {
      margin-bottom: calc(15px / 2) !important; } }
.ml15 {
  margin-left: 15px !important; }
  @media screen and (max-width: 767px) {
    .ml15 {
      margin-left: calc(15px / 2) !important; } }
.mr15 {
  margin-right: 15px !important; }
  @media screen and (max-width: 767px) {
    .mr15 {
      margin-right: calc(15px / 2) !important; } }
.p15 {
  padding: 15px !important; }
  @media screen and (max-width: 767px) {
    .p15 {
      padding: calc(15px / 2) !important; } }
.pt15 {
  padding-top: 15px !important; }
  @media screen and (max-width: 767px) {
    .pt15 {
      padding-top: calc(15px / 2) !important; } }
.pb15 {
  padding-bottom: 15px !important; }
  @media screen and (max-width: 767px) {
    .pb15 {
      padding-bottom: calc(15px / 2) !important; } }
.pl15 {
  padding-left: 15px !important; }
  @media screen and (max-width: 767px) {
    .pl15 {
      padding-left: calc(15px / 2) !important; } }
.pr15 {
  padding-right: 15px !important; }
  @media screen and (max-width: 767px) {
    .pr15 {
      padding-right: calc(15px / 2) !important; } }
.m20 {
  margin: 20px !important; }
  @media screen and (max-width: 767px) {
    .m20 {
      margin: calc(20px / 2) !important; } }
.mt20 {
  margin-top: 20px !important; }
  @media screen and (max-width: 767px) {
    .mt20 {
      margin-top: calc(20px / 2) !important; } }
.mb20 {
  margin-bottom: 20px !important; }
  @media screen and (max-width: 767px) {
    .mb20 {
      margin-bottom: calc(20px / 2) !important; } }
.ml20 {
  margin-left: 20px !important; }
  @media screen and (max-width: 767px) {
    .ml20 {
      margin-left: calc(20px / 2) !important; } }
.mr20 {
  margin-right: 20px !important; }
  @media screen and (max-width: 767px) {
    .mr20 {
      margin-right: calc(20px / 2) !important; } }
.p20 {
  padding: 20px !important; }
  @media screen and (max-width: 767px) {
    .p20 {
      padding: calc(20px / 2) !important; } }
.pt20 {
  padding-top: 20px !important; }
  @media screen and (max-width: 767px) {
    .pt20 {
      padding-top: calc(20px / 2) !important; } }
.pb20 {
  padding-bottom: 20px !important; }
  @media screen and (max-width: 767px) {
    .pb20 {
      padding-bottom: calc(20px / 2) !important; } }
.pl20 {
  padding-left: 20px !important; }
  @media screen and (max-width: 767px) {
    .pl20 {
      padding-left: calc(20px / 2) !important; } }
.pr20 {
  padding-right: 20px !important; }
  @media screen and (max-width: 767px) {
    .pr20 {
      padding-right: calc(20px / 2) !important; } }
.m25 {
  margin: 25px !important; }
  @media screen and (max-width: 767px) {
    .m25 {
      margin: calc(25px / 2) !important; } }
.mt25 {
  margin-top: 25px !important; }
  @media screen and (max-width: 767px) {
    .mt25 {
      margin-top: calc(25px / 2) !important; } }
.mb25 {
  margin-bottom: 25px !important; }
  @media screen and (max-width: 767px) {
    .mb25 {
      margin-bottom: calc(25px / 2) !important; } }
.ml25 {
  margin-left: 25px !important; }
  @media screen and (max-width: 767px) {
    .ml25 {
      margin-left: calc(25px / 2) !important; } }
.mr25 {
  margin-right: 25px !important; }
  @media screen and (max-width: 767px) {
    .mr25 {
      margin-right: calc(25px / 2) !important; } }
.p25 {
  padding: 25px !important; }
  @media screen and (max-width: 767px) {
    .p25 {
      padding: calc(25px / 2) !important; } }
.pt25 {
  padding-top: 25px !important; }
  @media screen and (max-width: 767px) {
    .pt25 {
      padding-top: calc(25px / 2) !important; } }
.pb25 {
  padding-bottom: 25px !important; }
  @media screen and (max-width: 767px) {
    .pb25 {
      padding-bottom: calc(25px / 2) !important; } }
.pl25 {
  padding-left: 25px !important; }
  @media screen and (max-width: 767px) {
    .pl25 {
      padding-left: calc(25px / 2) !important; } }
.pr25 {
  padding-right: 25px !important; }
  @media screen and (max-width: 767px) {
    .pr25 {
      padding-right: calc(25px / 2) !important; } }
.m30 {
  margin: 30px !important; }
  @media screen and (max-width: 767px) {
    .m30 {
      margin: calc(30px / 2) !important; } }
.mt30 {
  margin-top: 30px !important; }
  @media screen and (max-width: 767px) {
    .mt30 {
      margin-top: calc(30px / 2) !important; } }
.mb30 {
  margin-bottom: 30px !important; }
  @media screen and (max-width: 767px) {
    .mb30 {
      margin-bottom: calc(30px / 2) !important; } }
.ml30 {
  margin-left: 30px !important; }
  @media screen and (max-width: 767px) {
    .ml30 {
      margin-left: calc(30px / 2) !important; } }
.mr30 {
  margin-right: 30px !important; }
  @media screen and (max-width: 767px) {
    .mr30 {
      margin-right: calc(30px / 2) !important; } }
.p30 {
  padding: 30px !important; }
  @media screen and (max-width: 767px) {
    .p30 {
      padding: calc(30px / 2) !important; } }
.pt30 {
  padding-top: 30px !important; }
  @media screen and (max-width: 767px) {
    .pt30 {
      padding-top: calc(30px / 2) !important; } }
.pb30 {
  padding-bottom: 30px !important; }
  @media screen and (max-width: 767px) {
    .pb30 {
      padding-bottom: calc(30px / 2) !important; } }
.pl30 {
  padding-left: 30px !important; }
  @media screen and (max-width: 767px) {
    .pl30 {
      padding-left: calc(30px / 2) !important; } }
.pr30 {
  padding-right: 30px !important; }
  @media screen and (max-width: 767px) {
    .pr30 {
      padding-right: calc(30px / 2) !important; } }
.m35 {
  margin: 35px !important; }
  @media screen and (max-width: 767px) {
    .m35 {
      margin: calc(35px / 2) !important; } }
.mt35 {
  margin-top: 35px !important; }
  @media screen and (max-width: 767px) {
    .mt35 {
      margin-top: calc(35px / 2) !important; } }
.mb35 {
  margin-bottom: 35px !important; }
  @media screen and (max-width: 767px) {
    .mb35 {
      margin-bottom: calc(35px / 2) !important; } }
.ml35 {
  margin-left: 35px !important; }
  @media screen and (max-width: 767px) {
    .ml35 {
      margin-left: calc(35px / 2) !important; } }
.mr35 {
  margin-right: 35px !important; }
  @media screen and (max-width: 767px) {
    .mr35 {
      margin-right: calc(35px / 2) !important; } }
.p35 {
  padding: 35px !important; }
  @media screen and (max-width: 767px) {
    .p35 {
      padding: calc(35px / 2) !important; } }
.pt35 {
  padding-top: 35px !important; }
  @media screen and (max-width: 767px) {
    .pt35 {
      padding-top: calc(35px / 2) !important; } }
.pb35 {
  padding-bottom: 35px !important; }
  @media screen and (max-width: 767px) {
    .pb35 {
      padding-bottom: calc(35px / 2) !important; } }
.pl35 {
  padding-left: 35px !important; }
  @media screen and (max-width: 767px) {
    .pl35 {
      padding-left: calc(35px / 2) !important; } }
.pr35 {
  padding-right: 35px !important; }
  @media screen and (max-width: 767px) {
    .pr35 {
      padding-right: calc(35px / 2) !important; } }
.m40 {
  margin: 40px !important; }
  @media screen and (max-width: 767px) {
    .m40 {
      margin: calc(40px / 2) !important; } }
.mt40 {
  margin-top: 40px !important; }
  @media screen and (max-width: 767px) {
    .mt40 {
      margin-top: calc(40px / 2) !important; } }
.mb40 {
  margin-bottom: 40px !important; }
  @media screen and (max-width: 767px) {
    .mb40 {
      margin-bottom: calc(40px / 2) !important; } }
.ml40 {
  margin-left: 40px !important; }
  @media screen and (max-width: 767px) {
    .ml40 {
      margin-left: calc(40px / 2) !important; } }
.mr40 {
  margin-right: 40px !important; }
  @media screen and (max-width: 767px) {
    .mr40 {
      margin-right: calc(40px / 2) !important; } }
.p40 {
  padding: 40px !important; }
  @media screen and (max-width: 767px) {
    .p40 {
      padding: calc(40px / 2) !important; } }
.pt40 {
  padding-top: 40px !important; }
  @media screen and (max-width: 767px) {
    .pt40 {
      padding-top: calc(40px / 2) !important; } }
.pb40 {
  padding-bottom: 40px !important; }
  @media screen and (max-width: 767px) {
    .pb40 {
      padding-bottom: calc(40px / 2) !important; } }
.pl40 {
  padding-left: 40px !important; }
  @media screen and (max-width: 767px) {
    .pl40 {
      padding-left: calc(40px / 2) !important; } }
.pr40 {
  padding-right: 40px !important; }
  @media screen and (max-width: 767px) {
    .pr40 {
      padding-right: calc(40px / 2) !important; } }
.m45 {
  margin: 45px !important; }
  @media screen and (max-width: 767px) {
    .m45 {
      margin: calc(45px / 2) !important; } }
.mt45 {
  margin-top: 45px !important; }
  @media screen and (max-width: 767px) {
    .mt45 {
      margin-top: calc(45px / 2) !important; } }
.mb45 {
  margin-bottom: 45px !important; }
  @media screen and (max-width: 767px) {
    .mb45 {
      margin-bottom: calc(45px / 2) !important; } }
.ml45 {
  margin-left: 45px !important; }
  @media screen and (max-width: 767px) {
    .ml45 {
      margin-left: calc(45px / 2) !important; } }
.mr45 {
  margin-right: 45px !important; }
  @media screen and (max-width: 767px) {
    .mr45 {
      margin-right: calc(45px / 2) !important; } }
.p45 {
  padding: 45px !important; }
  @media screen and (max-width: 767px) {
    .p45 {
      padding: calc(45px / 2) !important; } }
.pt45 {
  padding-top: 45px !important; }
  @media screen and (max-width: 767px) {
    .pt45 {
      padding-top: calc(45px / 2) !important; } }
.pb45 {
  padding-bottom: 45px !important; }
  @media screen and (max-width: 767px) {
    .pb45 {
      padding-bottom: calc(45px / 2) !important; } }
.pl45 {
  padding-left: 45px !important; }
  @media screen and (max-width: 767px) {
    .pl45 {
      padding-left: calc(45px / 2) !important; } }
.pr45 {
  padding-right: 45px !important; }
  @media screen and (max-width: 767px) {
    .pr45 {
      padding-right: calc(45px / 2) !important; } }
.m50 {
  margin: 50px !important; }
  @media screen and (max-width: 767px) {
    .m50 {
      margin: calc(50px / 2) !important; } }
.mt50 {
  margin-top: 50px !important; }
  @media screen and (max-width: 767px) {
    .mt50 {
      margin-top: calc(50px / 2) !important; } }
.mb50 {
  margin-bottom: 50px !important; }
  @media screen and (max-width: 767px) {
    .mb50 {
      margin-bottom: calc(50px / 2) !important; } }
.ml50 {
  margin-left: 50px !important; }
  @media screen and (max-width: 767px) {
    .ml50 {
      margin-left: calc(50px / 2) !important; } }
.mr50 {
  margin-right: 50px !important; }
  @media screen and (max-width: 767px) {
    .mr50 {
      margin-right: calc(50px / 2) !important; } }
.p50 {
  padding: 50px !important; }
  @media screen and (max-width: 767px) {
    .p50 {
      padding: calc(50px / 2) !important; } }
.pt50 {
  padding-top: 50px !important; }
  @media screen and (max-width: 767px) {
    .pt50 {
      padding-top: calc(50px / 2) !important; } }
.pb50 {
  padding-bottom: 50px !important; }
  @media screen and (max-width: 767px) {
    .pb50 {
      padding-bottom: calc(50px / 2) !important; } }
.pl50 {
  padding-left: 50px !important; }
  @media screen and (max-width: 767px) {
    .pl50 {
      padding-left: calc(50px / 2) !important; } }
.pr50 {
  padding-right: 50px !important; }
  @media screen and (max-width: 767px) {
    .pr50 {
      padding-right: calc(50px / 2) !important; } }
.m55 {
  margin: 55px !important; }
  @media screen and (max-width: 767px) {
    .m55 {
      margin: calc(55px / 2) !important; } }
.mt55 {
  margin-top: 55px !important; }
  @media screen and (max-width: 767px) {
    .mt55 {
      margin-top: calc(55px / 2) !important; } }
.mb55 {
  margin-bottom: 55px !important; }
  @media screen and (max-width: 767px) {
    .mb55 {
      margin-bottom: calc(55px / 2) !important; } }
.ml55 {
  margin-left: 55px !important; }
  @media screen and (max-width: 767px) {
    .ml55 {
      margin-left: calc(55px / 2) !important; } }
.mr55 {
  margin-right: 55px !important; }
  @media screen and (max-width: 767px) {
    .mr55 {
      margin-right: calc(55px / 2) !important; } }
.p55 {
  padding: 55px !important; }
  @media screen and (max-width: 767px) {
    .p55 {
      padding: calc(55px / 2) !important; } }
.pt55 {
  padding-top: 55px !important; }
  @media screen and (max-width: 767px) {
    .pt55 {
      padding-top: calc(55px / 2) !important; } }
.pb55 {
  padding-bottom: 55px !important; }
  @media screen and (max-width: 767px) {
    .pb55 {
      padding-bottom: calc(55px / 2) !important; } }
.pl55 {
  padding-left: 55px !important; }
  @media screen and (max-width: 767px) {
    .pl55 {
      padding-left: calc(55px / 2) !important; } }
.pr55 {
  padding-right: 55px !important; }
  @media screen and (max-width: 767px) {
    .pr55 {
      padding-right: calc(55px / 2) !important; } }
.m60 {
  margin: 60px !important; }
  @media screen and (max-width: 767px) {
    .m60 {
      margin: calc(60px / 2) !important; } }
.mt60 {
  margin-top: 60px !important; }
  @media screen and (max-width: 767px) {
    .mt60 {
      margin-top: calc(60px / 2) !important; } }
.mb60 {
  margin-bottom: 60px !important; }
  @media screen and (max-width: 767px) {
    .mb60 {
      margin-bottom: calc(60px / 2) !important; } }
.ml60 {
  margin-left: 60px !important; }
  @media screen and (max-width: 767px) {
    .ml60 {
      margin-left: calc(60px / 2) !important; } }
.mr60 {
  margin-right: 60px !important; }
  @media screen and (max-width: 767px) {
    .mr60 {
      margin-right: calc(60px / 2) !important; } }
.p60 {
  padding: 60px !important; }
  @media screen and (max-width: 767px) {
    .p60 {
      padding: calc(60px / 2) !important; } }
.pt60 {
  padding-top: 60px !important; }
  @media screen and (max-width: 767px) {
    .pt60 {
      padding-top: calc(60px / 2) !important; } }
.pb60 {
  padding-bottom: 60px !important; }
  @media screen and (max-width: 767px) {
    .pb60 {
      padding-bottom: calc(60px / 2) !important; } }
.pl60 {
  padding-left: 60px !important; }
  @media screen and (max-width: 767px) {
    .pl60 {
      padding-left: calc(60px / 2) !important; } }
.pr60 {
  padding-right: 60px !important; }
  @media screen and (max-width: 767px) {
    .pr60 {
      padding-right: calc(60px / 2) !important; } }
.m65 {
  margin: 65px !important; }
  @media screen and (max-width: 767px) {
    .m65 {
      margin: calc(65px / 2) !important; } }
.mt65 {
  margin-top: 65px !important; }
  @media screen and (max-width: 767px) {
    .mt65 {
      margin-top: calc(65px / 2) !important; } }
.mb65 {
  margin-bottom: 65px !important; }
  @media screen and (max-width: 767px) {
    .mb65 {
      margin-bottom: calc(65px / 2) !important; } }
.ml65 {
  margin-left: 65px !important; }
  @media screen and (max-width: 767px) {
    .ml65 {
      margin-left: calc(65px / 2) !important; } }
.mr65 {
  margin-right: 65px !important; }
  @media screen and (max-width: 767px) {
    .mr65 {
      margin-right: calc(65px / 2) !important; } }
.p65 {
  padding: 65px !important; }
  @media screen and (max-width: 767px) {
    .p65 {
      padding: calc(65px / 2) !important; } }
.pt65 {
  padding-top: 65px !important; }
  @media screen and (max-width: 767px) {
    .pt65 {
      padding-top: calc(65px / 2) !important; } }
.pb65 {
  padding-bottom: 65px !important; }
  @media screen and (max-width: 767px) {
    .pb65 {
      padding-bottom: calc(65px / 2) !important; } }
.pl65 {
  padding-left: 65px !important; }
  @media screen and (max-width: 767px) {
    .pl65 {
      padding-left: calc(65px / 2) !important; } }
.pr65 {
  padding-right: 65px !important; }
  @media screen and (max-width: 767px) {
    .pr65 {
      padding-right: calc(65px / 2) !important; } }
.m70 {
  margin: 70px !important; }
  @media screen and (max-width: 767px) {
    .m70 {
      margin: calc(70px / 2) !important; } }
.mt70 {
  margin-top: 70px !important; }
  @media screen and (max-width: 767px) {
    .mt70 {
      margin-top: calc(70px / 2) !important; } }
.mb70 {
  margin-bottom: 70px !important; }
  @media screen and (max-width: 767px) {
    .mb70 {
      margin-bottom: calc(70px / 2) !important; } }
.ml70 {
  margin-left: 70px !important; }
  @media screen and (max-width: 767px) {
    .ml70 {
      margin-left: calc(70px / 2) !important; } }
.mr70 {
  margin-right: 70px !important; }
  @media screen and (max-width: 767px) {
    .mr70 {
      margin-right: calc(70px / 2) !important; } }
.p70 {
  padding: 70px !important; }
  @media screen and (max-width: 767px) {
    .p70 {
      padding: calc(70px / 2) !important; } }
.pt70 {
  padding-top: 70px !important; }
  @media screen and (max-width: 767px) {
    .pt70 {
      padding-top: calc(70px / 2) !important; } }
.pb70 {
  padding-bottom: 70px !important; }
  @media screen and (max-width: 767px) {
    .pb70 {
      padding-bottom: calc(70px / 2) !important; } }
.pl70 {
  padding-left: 70px !important; }
  @media screen and (max-width: 767px) {
    .pl70 {
      padding-left: calc(70px / 2) !important; } }
.pr70 {
  padding-right: 70px !important; }
  @media screen and (max-width: 767px) {
    .pr70 {
      padding-right: calc(70px / 2) !important; } }
.m75 {
  margin: 75px !important; }
  @media screen and (max-width: 767px) {
    .m75 {
      margin: calc(75px / 2) !important; } }
.mt75 {
  margin-top: 75px !important; }
  @media screen and (max-width: 767px) {
    .mt75 {
      margin-top: calc(75px / 2) !important; } }
.mb75 {
  margin-bottom: 75px !important; }
  @media screen and (max-width: 767px) {
    .mb75 {
      margin-bottom: calc(75px / 2) !important; } }
.ml75 {
  margin-left: 75px !important; }
  @media screen and (max-width: 767px) {
    .ml75 {
      margin-left: calc(75px / 2) !important; } }
.mr75 {
  margin-right: 75px !important; }
  @media screen and (max-width: 767px) {
    .mr75 {
      margin-right: calc(75px / 2) !important; } }
.p75 {
  padding: 75px !important; }
  @media screen and (max-width: 767px) {
    .p75 {
      padding: calc(75px / 2) !important; } }
.pt75 {
  padding-top: 75px !important; }
  @media screen and (max-width: 767px) {
    .pt75 {
      padding-top: calc(75px / 2) !important; } }
.pb75 {
  padding-bottom: 75px !important; }
  @media screen and (max-width: 767px) {
    .pb75 {
      padding-bottom: calc(75px / 2) !important; } }
.pl75 {
  padding-left: 75px !important; }
  @media screen and (max-width: 767px) {
    .pl75 {
      padding-left: calc(75px / 2) !important; } }
.pr75 {
  padding-right: 75px !important; }
  @media screen and (max-width: 767px) {
    .pr75 {
      padding-right: calc(75px / 2) !important; } }
.m80 {
  margin: 80px !important; }
  @media screen and (max-width: 767px) {
    .m80 {
      margin: calc(80px / 2) !important; } }
.mt80 {
  margin-top: 80px !important; }
  @media screen and (max-width: 767px) {
    .mt80 {
      margin-top: calc(80px / 2) !important; } }
.mb80 {
  margin-bottom: 80px !important; }
  @media screen and (max-width: 767px) {
    .mb80 {
      margin-bottom: calc(80px / 2) !important; } }
.ml80 {
  margin-left: 80px !important; }
  @media screen and (max-width: 767px) {
    .ml80 {
      margin-left: calc(80px / 2) !important; } }
.mr80 {
  margin-right: 80px !important; }
  @media screen and (max-width: 767px) {
    .mr80 {
      margin-right: calc(80px / 2) !important; } }
.p80 {
  padding: 80px !important; }
  @media screen and (max-width: 767px) {
    .p80 {
      padding: calc(80px / 2) !important; } }
.pt80 {
  padding-top: 80px !important; }
  @media screen and (max-width: 767px) {
    .pt80 {
      padding-top: calc(80px / 2) !important; } }
.pb80 {
  padding-bottom: 80px !important; }
  @media screen and (max-width: 767px) {
    .pb80 {
      padding-bottom: calc(80px / 2) !important; } }
.pl80 {
  padding-left: 80px !important; }
  @media screen and (max-width: 767px) {
    .pl80 {
      padding-left: calc(80px / 2) !important; } }
.pr80 {
  padding-right: 80px !important; }
  @media screen and (max-width: 767px) {
    .pr80 {
      padding-right: calc(80px / 2) !important; } }
.m85 {
  margin: 85px !important; }
  @media screen and (max-width: 767px) {
    .m85 {
      margin: calc(85px / 2) !important; } }
.mt85 {
  margin-top: 85px !important; }
  @media screen and (max-width: 767px) {
    .mt85 {
      margin-top: calc(85px / 2) !important; } }
.mb85 {
  margin-bottom: 85px !important; }
  @media screen and (max-width: 767px) {
    .mb85 {
      margin-bottom: calc(85px / 2) !important; } }
.ml85 {
  margin-left: 85px !important; }
  @media screen and (max-width: 767px) {
    .ml85 {
      margin-left: calc(85px / 2) !important; } }
.mr85 {
  margin-right: 85px !important; }
  @media screen and (max-width: 767px) {
    .mr85 {
      margin-right: calc(85px / 2) !important; } }
.p85 {
  padding: 85px !important; }
  @media screen and (max-width: 767px) {
    .p85 {
      padding: calc(85px / 2) !important; } }
.pt85 {
  padding-top: 85px !important; }
  @media screen and (max-width: 767px) {
    .pt85 {
      padding-top: calc(85px / 2) !important; } }
.pb85 {
  padding-bottom: 85px !important; }
  @media screen and (max-width: 767px) {
    .pb85 {
      padding-bottom: calc(85px / 2) !important; } }
.pl85 {
  padding-left: 85px !important; }
  @media screen and (max-width: 767px) {
    .pl85 {
      padding-left: calc(85px / 2) !important; } }
.pr85 {
  padding-right: 85px !important; }
  @media screen and (max-width: 767px) {
    .pr85 {
      padding-right: calc(85px / 2) !important; } }
.m90 {
  margin: 90px !important; }
  @media screen and (max-width: 767px) {
    .m90 {
      margin: calc(90px / 2) !important; } }
.mt90 {
  margin-top: 90px !important; }
  @media screen and (max-width: 767px) {
    .mt90 {
      margin-top: calc(90px / 2) !important; } }
.mb90 {
  margin-bottom: 90px !important; }
  @media screen and (max-width: 767px) {
    .mb90 {
      margin-bottom: calc(90px / 2) !important; } }
.ml90 {
  margin-left: 90px !important; }
  @media screen and (max-width: 767px) {
    .ml90 {
      margin-left: calc(90px / 2) !important; } }
.mr90 {
  margin-right: 90px !important; }
  @media screen and (max-width: 767px) {
    .mr90 {
      margin-right: calc(90px / 2) !important; } }
.p90 {
  padding: 90px !important; }
  @media screen and (max-width: 767px) {
    .p90 {
      padding: calc(90px / 2) !important; } }
.pt90 {
  padding-top: 90px !important; }
  @media screen and (max-width: 767px) {
    .pt90 {
      padding-top: calc(90px / 2) !important; } }
.pb90 {
  padding-bottom: 90px !important; }
  @media screen and (max-width: 767px) {
    .pb90 {
      padding-bottom: calc(90px / 2) !important; } }
.pl90 {
  padding-left: 90px !important; }
  @media screen and (max-width: 767px) {
    .pl90 {
      padding-left: calc(90px / 2) !important; } }
.pr90 {
  padding-right: 90px !important; }
  @media screen and (max-width: 767px) {
    .pr90 {
      padding-right: calc(90px / 2) !important; } }
.m95 {
  margin: 95px !important; }
  @media screen and (max-width: 767px) {
    .m95 {
      margin: calc(95px / 2) !important; } }
.mt95 {
  margin-top: 95px !important; }
  @media screen and (max-width: 767px) {
    .mt95 {
      margin-top: calc(95px / 2) !important; } }
.mb95 {
  margin-bottom: 95px !important; }
  @media screen and (max-width: 767px) {
    .mb95 {
      margin-bottom: calc(95px / 2) !important; } }
.ml95 {
  margin-left: 95px !important; }
  @media screen and (max-width: 767px) {
    .ml95 {
      margin-left: calc(95px / 2) !important; } }
.mr95 {
  margin-right: 95px !important; }
  @media screen and (max-width: 767px) {
    .mr95 {
      margin-right: calc(95px / 2) !important; } }
.p95 {
  padding: 95px !important; }
  @media screen and (max-width: 767px) {
    .p95 {
      padding: calc(95px / 2) !important; } }
.pt95 {
  padding-top: 95px !important; }
  @media screen and (max-width: 767px) {
    .pt95 {
      padding-top: calc(95px / 2) !important; } }
.pb95 {
  padding-bottom: 95px !important; }
  @media screen and (max-width: 767px) {
    .pb95 {
      padding-bottom: calc(95px / 2) !important; } }
.pl95 {
  padding-left: 95px !important; }
  @media screen and (max-width: 767px) {
    .pl95 {
      padding-left: calc(95px / 2) !important; } }
.pr95 {
  padding-right: 95px !important; }
  @media screen and (max-width: 767px) {
    .pr95 {
      padding-right: calc(95px / 2) !important; } }
.m100 {
  margin: 100px !important; }
  @media screen and (max-width: 767px) {
    .m100 {
      margin: calc(100px / 2) !important; } }
.mt100 {
  margin-top: 100px !important; }
  @media screen and (max-width: 767px) {
    .mt100 {
      margin-top: calc(100px / 2) !important; } }
.mb100 {
  margin-bottom: 100px !important; }
  @media screen and (max-width: 767px) {
    .mb100 {
      margin-bottom: calc(100px / 2) !important; } }
.ml100 {
  margin-left: 100px !important; }
  @media screen and (max-width: 767px) {
    .ml100 {
      margin-left: calc(100px / 2) !important; } }
.mr100 {
  margin-right: 100px !important; }
  @media screen and (max-width: 767px) {
    .mr100 {
      margin-right: calc(100px / 2) !important; } }
.p100 {
  padding: 100px !important; }
  @media screen and (max-width: 767px) {
    .p100 {
      padding: calc(100px / 2) !important; } }
.pt100 {
  padding-top: 100px !important; }
  @media screen and (max-width: 767px) {
    .pt100 {
      padding-top: calc(100px / 2) !important; } }
.pb100 {
  padding-bottom: 100px !important; }
  @media screen and (max-width: 767px) {
    .pb100 {
      padding-bottom: calc(100px / 2) !important; } }
.pl100 {
  padding-left: 100px !important; }
  @media screen and (max-width: 767px) {
    .pl100 {
      padding-left: calc(100px / 2) !important; } }
.pr100 {
  padding-right: 100px !important; }
  @media screen and (max-width: 767px) {
    .pr100 {
      padding-right: calc(100px / 2) !important; } }
.fz12 {
  font-size: 1.2rem; }

.fz14 {
  font-size: 1.4rem; }

.fz16 {
  font-size: 1.6rem; }

.fz18 {
  font-size: 1.8rem; }

.fz20 {
  font-size: 2rem; }

.fz22 {
  font-size: 2.2rem; }

.fz24 {
  font-size: 2.4rem; }

.fz26 {
  font-size: 2.6rem; }

.fz28 {
  font-size: 2.8rem; }

.fz30 {
  font-size: 3rem; }

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

@media screen and (min-width: 481px) {
  .sps-only {
    display: none !important; } }

@media screen and (min-width: 768px) {
  .sp-only {
    display: none !important; } }

@media screen and (min-width: 1025px) {
  .tab-only {
    display: none !important; } }

@media screen and (max-width: 767px) {
  .pc-only {
    display: none !important; } }

@media screen and (max-width: 1024px) {
  .pc-big-only {
    display: none !important; } }

.tac {
  text-align: center; }

.tal {
  text-align: left; }

.tar {
  text-align: right; }

.w-white {
  color: #fff; }

.w-black {
  color: #000; }

.w-bold {
  font-weight: bold; }

.bg-white {
  background-color: #fff; }

.bg-black {
  background-color: #000; }

.bg-gray {
  background-color: #999999; }

.fontawesome-pdf::after, .fontawesome-check::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900; }

.fontawesome-check::before {
  content: "\f00c"; }

.fontawesome-pdf::after {
  content: "\f15c"; }

.scroll_box .scroll_box_inner.inner02::before, .scroll_box .scroll_box_inner.inner01::before {
  content: attr(data-title);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 100%;
  color: #fff;
  font-family: "M PLUS Rounded 1c";
  font-weight: bold;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -o-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  border-radius: 30px 0 0 30px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100; }
  @media screen and (max-width: 767px) {
    .scroll_box .scroll_box_inner.inner02::before, .scroll_box .scroll_box_inner.inner01::before {
      box-sizing: border-box;
      display: block;
      width: 100%;
      height: auto;
      padding: 10px;
      text-align: center;
      -webkit-writing-mode: horizontal-tb;
      -ms-writing-mode: lr-tb;
      writing-mode: horizontal-tb;
      border-radius: 30px 30px 0 0;
      position: static; } }
.scroll_box .scroll_box_inner .orange_white, .scroll_box .scroll_box_inner .orange, .scroll_box .scroll_box_inner .blue_white, .scroll_box .scroll_box_inner .blue {
  margin-top: -1px;
  position: relative; }
  @media screen and (max-width: 767px) {
    .scroll_box .scroll_box_inner .orange_white, .scroll_box .scroll_box_inner .orange, .scroll_box .scroll_box_inner .blue_white, .scroll_box .scroll_box_inner .blue {
      display: block;
      border: 1px solid; } }
  .scroll_box .scroll_box_inner .orange_white .scroll_ttl, .scroll_box .scroll_box_inner .orange .scroll_ttl, .scroll_box .scroll_box_inner .blue_white .scroll_ttl, .scroll_box .scroll_box_inner .blue .scroll_ttl {
    display: flex;
    align-items: center;
    width: 220px;
    padding: 15px;
    font-family: "M PLUS Rounded 1c";
    font-size: 20px;
    font-weight: bold;
    border: 1px solid;
    border-right: 0;
    position: sticky;
    top: 0;
    left: 0; }
    @media screen and (max-width: 767px) {
      .scroll_box .scroll_box_inner .orange_white .scroll_ttl, .scroll_box .scroll_box_inner .orange .scroll_ttl, .scroll_box .scroll_box_inner .blue_white .scroll_ttl, .scroll_box .scroll_box_inner .blue .scroll_ttl {
        width: 100%;
        padding: 15px 15px 0;
        font-size: 16px;
        border: none; } }
  .scroll_box .scroll_box_inner .orange_white .scroll_txt, .scroll_box .scroll_box_inner .orange .scroll_txt, .scroll_box .scroll_box_inner .blue_white .scroll_txt, .scroll_box .scroll_box_inner .blue .scroll_txt {
    width: 480px;
    margin-right: 10px;
    padding: 15px;
    line-height: 1.5;
    border: 1px solid;
    border-left: 0; }
    @media screen and (max-width: 767px) {
      .scroll_box .scroll_box_inner .orange_white .scroll_txt, .scroll_box .scroll_box_inner .orange .scroll_txt, .scroll_box .scroll_box_inner .blue_white .scroll_txt, .scroll_box .scroll_box_inner .blue .scroll_txt {
        width: 100%;
        padding: 0 15px;
        border: none; } }
  .scroll_box .scroll_box_inner .orange_white .scroll_content, .scroll_box .scroll_box_inner .orange .scroll_content, .scroll_box .scroll_box_inner .blue_white .scroll_content, .scroll_box .scroll_box_inner .blue .scroll_content {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 130px;
    margin-right: -1px;
    text-align: center;
    border: 1px solid; }
    .scroll_box .scroll_box_inner .orange_white .scroll_content span, .scroll_box .scroll_box_inner .orange .scroll_content span, .scroll_box .scroll_box_inner .blue_white .scroll_content span, .scroll_box .scroll_box_inner .blue .scroll_content span {
      display: none; }
    @media screen and (max-width: 767px) {
      .scroll_box .scroll_box_inner .orange_white .scroll_content, .scroll_box .scroll_box_inner .orange .scroll_content, .scroll_box .scroll_box_inner .blue_white .scroll_content, .scroll_box .scroll_box_inner .blue .scroll_content {
        width: 100%;
        padding: 0 15px;
        justify-content: flex-start;
        border: none; }
        .scroll_box .scroll_box_inner .orange_white .scroll_content:last-child, .scroll_box .scroll_box_inner .orange .scroll_content:last-child, .scroll_box .scroll_box_inner .blue_white .scroll_content:last-child, .scroll_box .scroll_box_inner .blue .scroll_content:last-child {
          padding-bottom: 15px; }
        .scroll_box .scroll_box_inner .orange_white .scroll_content::before, .scroll_box .scroll_box_inner .orange .scroll_content::before, .scroll_box .scroll_box_inner .blue_white .scroll_content::before, .scroll_box .scroll_box_inner .blue .scroll_content::before {
          content: '●';
          padding-right: 5px;
          font-size: 12px;
          vertical-align: middle;
          transform: translateY(1px); }
        .scroll_box .scroll_box_inner .orange_white .scroll_content span, .scroll_box .scroll_box_inner .orange .scroll_content span, .scroll_box .scroll_box_inner .blue_white .scroll_content span, .scroll_box .scroll_box_inner .blue .scroll_content span {
          display: inline; } }
.scroll_box {
  padding-top: 1px;
  width: 100%;
  overflow: scroll; }
  .scroll_box .scroll_box_ttl {
    display: flex;
    width: 1200px;
    margin-left: 50px; }
    @media screen and (max-width: 767px) {
      .scroll_box .scroll_box_ttl {
        width: 100%;
        margin-left: 0; } }
    .scroll_box .scroll_box_ttl .scroll_box_ttl01 {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 700px;
      margin-right: 10px;
      color: #fff;
      font-family: "M PLUS Rounded 1c";
      font-size: 22px;
      font-weight: bold;
      text-align: center;
      background-color: #6c9bd2;
      border-radius: 30px 30px 0 0; }
      @media screen and (max-width: 767px) {
        .scroll_box .scroll_box_ttl .scroll_box_ttl01 {
          width: 100%;
          font-size: 18px;
          color: #6c9bd2;
          background-color: transparent; } }
    .scroll_box .scroll_box_ttl .scroll_box_ttl02 {
      width: 390px;
      color: #fff;
      font-family: "M PLUS Rounded 1c";
      font-weight: bold; }
      @media screen and (max-width: 767px) {
        .scroll_box .scroll_box_ttl .scroll_box_ttl02 {
          display: none; } }
      .scroll_box .scroll_box_ttl .scroll_box_ttl02 p {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 10px;
        background-color: #f5a33b;
        border-bottom: 2px solid #fff;
        border-radius: 30px 30px 0 0; }
      .scroll_box .scroll_box_ttl .scroll_box_ttl02 ul {
        display: flex;
        background-color: #f5a33b; }
        .scroll_box .scroll_box_ttl .scroll_box_ttl02 ul li {
          width: calc(100% / 3);
          padding: 5px 0;
          font-size: 16px;
          text-align: center;
          border-left: 2px solid #fff; }
          .scroll_box .scroll_box_ttl .scroll_box_ttl02 ul li:first-child {
            border-left: none; }
  .scroll_box .scroll_box_inner {
    width: 1200px;
    margin-top: 10px;
    padding-left: 50px;
    position: relative; }
    @media screen and (max-width: 767px) {
      .scroll_box .scroll_box_inner {
        width: 100%;
        margin-top: 30px;
        padding-left: 0; } }
    .scroll_box .scroll_box_inner.inner01::before {
      background-color: #6c9bd2; }
    .scroll_box .scroll_box_inner.inner02::before {
      background-color: #f5a33b; }
    @media screen and (max-width: 767px) {
      .scroll_box .scroll_box_inner .blue {
        border-color: #6c9bd2; } }
    .scroll_box .scroll_box_inner .blue .scroll_ttl {
      color: #005bac;
      background-color: #eaf6fd;
      border-color: #6c9bd2; }
    .scroll_box .scroll_box_inner .blue .scroll_txt {
      background-color: #eaf6fd;
      border-color: #6c9bd2; }
    .scroll_box .scroll_box_inner .blue .scroll_content {
      background-color: #eaf6fd;
      border-color: #6c9bd2; }
      .scroll_box .scroll_box_inner .blue .scroll_content::before {
        color: #005bac; }
    @media screen and (max-width: 767px) {
      .scroll_box .scroll_box_inner .blue_white {
        border-color: #6c9bd2; } }
    .scroll_box .scroll_box_inner .blue_white .scroll_ttl {
      color: #005bac;
      background-color: #fff;
      border-color: #6c9bd2; }
    .scroll_box .scroll_box_inner .blue_white .scroll_txt {
      background-color: #fff;
      border-color: #6c9bd2; }
    .scroll_box .scroll_box_inner .blue_white .scroll_content {
      background-color: #fff;
      border-color: #6c9bd2; }
      .scroll_box .scroll_box_inner .blue_white .scroll_content::before {
        color: #005bac; }
    @media screen and (max-width: 767px) {
      .scroll_box .scroll_box_inner .orange {
        border-color: #f5a33b; } }
    .scroll_box .scroll_box_inner .orange .scroll_ttl {
      color: #954d2a;
      background-color: #fff6e9;
      border-color: #f5a33b; }
    .scroll_box .scroll_box_inner .orange .scroll_txt {
      background-color: #fff6e9;
      border-color: #f5a33b; }
    .scroll_box .scroll_box_inner .orange .scroll_content {
      background-color: #fff6e9;
      border-color: #f5a33b; }
      .scroll_box .scroll_box_inner .orange .scroll_content::before {
        color: #954d2a; }
    @media screen and (max-width: 767px) {
      .scroll_box .scroll_box_inner .orange_white {
        border-color: #f5a33b; } }
    .scroll_box .scroll_box_inner .orange_white .scroll_ttl {
      color: #954d2a;
      background-color: #fff;
      border-color: #f5a33b; }
    .scroll_box .scroll_box_inner .orange_white .scroll_txt {
      background-color: #fff;
      border-color: #f5a33b; }
    .scroll_box .scroll_box_inner .orange_white .scroll_content {
      background-color: #fff;
      border-color: #f5a33b; }
      .scroll_box .scroll_box_inner .orange_white .scroll_content::before {
        color: #954d2a; }

.w-brown {
  color: #954d2a; }

.main_ttl {
  margin-bottom: 80px;
  color: #f5a33b;
  font-family: "Bauhaus";
  font-size: 100px;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.15em; }
  @media screen and (max-width: 767px) {
    .main_ttl {
      margin-bottom: 40px;
      font-size: 50px; } }
  .main_ttl::first-letter {
    color: #000; }
  .main_ttl span {
    display: block;
    color: #000;
    font-size: 18px;
    letter-spacing: 0.05em; }

.list_asta li {
  display: flex; }
  .list_asta li::before {
    content: '※';
    display: block; }

#contact, #access, #company, #officer, #faq, #voice, #service, #news {
  position: relative; }
  #contact::before, #access::before, #company::before, #officer::before, #faq::before, #voice::before, #service::before, #news::before {
    font-family: "Bauhaus";
    font-size: 250px;
    line-height: 1;
    letter-spacing: 0.15em;
    position: absolute;
    top: -50px;
    left: -30px;
    z-index: 1; }
  #contact > *, #access > *, #company > *, #officer > *, #faq > *, #voice > *, #service > *, #news > * {
    position: relative;
    z-index: 2; }
  @media screen and (max-width: 767px) {
    #contact::before, #access::before, #company::before, #officer::before, #faq::before, #voice::before, #service::before, #news::before {
      content: none !important; } }
#voice .btn a, header .gnav ul li a {
  display: block;
  color: #fff;
  font-family: "M PLUS Rounded 1c";
  font-weight: bold;
  text-align: center;
  background-color: #f5a33b;
  border: 2px solid #f5a33b;
  border-radius: 50px; }
  #voice .btn a:hover, header .gnav ul li a:hover {
    color: #f5a33b;
    background-color: #fff;
    opacity: 1; }

#voice .voice_box .box_blue, #voice .voice_box .box_orange {
  margin-top: 145px;
  padding: 50px 100px;
  border: 5px solid;
  border-radius: 30px;
  position: relative; }
  @media screen and (max-width: 767px) {
    #voice .voice_box .box_blue, #voice .voice_box .box_orange {
      margin-top: 100px;
      padding: 100px 20px 40px; } }
  #voice .voice_box .box_blue .ttl, #voice .voice_box .box_orange .ttl {
    color: #fff;
    font-family: "M PLUS Rounded 1c";
    font-size: 28px;
    font-weight: bold;
    text-align: center;
    line-height: 1.3;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%); }
    #voice .voice_box .box_blue .ttl::before, #voice .voice_box .box_orange .ttl::before {
      content: '';
      display: block;
      width: 130px;
      height: 130px;
      border-radius: 100%;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      z-index: -1; }
    @media screen and (max-width: 767px) {
      #voice .voice_box .box_blue .ttl, #voice .voice_box .box_orange .ttl {
        font-size: 26px; } }
  #voice .voice_box .box_blue .img, #voice .voice_box .box_orange .img {
    width: 210px; }
    @media screen and (max-width: 767px) {
      #voice .voice_box .box_blue .img, #voice .voice_box .box_orange .img {
        width: 100%;
        height: 200px;
        margin-bottom: 20px;
        text-align: center;
        overflow: hidden; } }
  #voice .voice_box .box_blue .txt_box, #voice .voice_box .box_orange .txt_box {
    width: calc(100% - 200px - 60px); }
    @media screen and (max-width: 767px) {
      #voice .voice_box .box_blue .txt_box, #voice .voice_box .box_orange .txt_box {
        width: 100%; } }
    #voice .voice_box .box_blue .txt_box .txt, #voice .voice_box .box_orange .txt_box .txt {
      margin-bottom: 40px; }
      @media screen and (max-width: 767px) {
        #voice .voice_box .box_blue .txt_box .txt, #voice .voice_box .box_orange .txt_box .txt {
          margin-bottom: 20px; } }
    #voice .voice_box .box_blue .txt_box .plan, #voice .voice_box .box_orange .txt_box .plan {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 300px;
      margin-right: 30px;
      font-family: "M PLUS Rounded 1c";
      font-size: 22px;
      font-weight: bold;
      text-align: center;
      border: 3px solid; }
      @media screen and (max-width: 767px) {
        #voice .voice_box .box_blue .txt_box .plan, #voice .voice_box .box_orange .txt_box .plan {
          width: 100%;
          margin-right: 0;
          margin-bottom: 20px;
          padding: 10px;
          font-size: 16px; } }
    #voice .voice_box .box_blue .txt_box .list li, #voice .voice_box .box_orange .txt_box .list li {
      display: flex;
      font-size: 20px; }
      @media screen and (max-width: 767px) {
        #voice .voice_box .box_blue .txt_box .list li, #voice .voice_box .box_orange .txt_box .list li {
          font-size: 14px; } }
      #voice .voice_box .box_blue .txt_box .list li::before, #voice .voice_box .box_orange .txt_box .list li::before {
        content: '●';
        display: block;
        margin-right: 5px; }

header {
  background-color: #fbf1e2;
  position: relative;
  z-index: 95; }
  header .inner {
    padding: 20px 0; }
    @media screen and (max-width: 767px) {
      header .inner {
        padding: 10px; } }
    header .inner .logo {
      width: 400px; }
      @media screen and (max-width: 767px) {
        header .inner .logo {
          width: 50%;
          max-width: 170px; } }
      header .inner .logo img {
        width: 100%; }
    header .inner .contact li {
      display: flex;
      align-items: center;
      margin-left: 30px; }
      @media screen and (max-width: 767px) {
        header .inner .contact li {
          margin-left: 0; } }
      header .inner .contact li a {
        display: flex;
        align-items: center;
        color: #6c9bd2;
        font-family: "M PLUS Rounded 1c";
        font-size: 18px;
        font-weight: bold; }
        header .inner .contact li a::before {
          content: '';
          display: block;
          width: 40px;
          height: 40px;
          margin-right: 5px;
          background-size: contain;
          background-repeat: no-repeat; }
    header .inner .contact .mail a::before {
      background-image: url("../img/common/header_mail.png"); }
    header .inner .contact .tel a span {
      font-size: 30px;
      letter-spacing: 0; }
    header .inner .contact .tel a::before {
      background-image: url("../img/common/header_tel.png"); }
    header .inner .contact .tel a:hover {
      opacity: 1; }
    header .inner .contact .nav_btn {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      width: 50px;
      height: 50px;
      background-color: #f5a33b;
      border-radius: 100%;
      z-index: 999;
      position: relative; }
      header .inner .contact .nav_btn span {
        display: block;
        width: 30px;
        height: 4px;
        background-color: #fff;
        position: absolute;
        transition: 0.3s; }
        header .inner .contact .nav_btn span:first-child {
          top: 12px; }
        header .inner .contact .nav_btn span:nth-child(2) {
          top: 50%;
          transform: translateY(-50%); }
        header .inner .contact .nav_btn span:last-child {
          bottom: 12px; }
      header .inner .contact .nav_btn.active span:first-child {
        top: 50%;
        transform: translateY(-50%) rotate(135deg); }
      header .inner .contact .nav_btn.active span:nth-child(2) {
        display: none; }
      header .inner .contact .nav_btn.active span:last-child {
        top: 50%;
        transform: translateY(-50%) rotate(-135deg); }
  header .gnav {
    width: 1200px;
    padding: 20px 0 50px;
    margin: 0 auto; }
    @media screen and (max-width: 767px) {
      header .gnav {
        width: 100%;
        position: absolute;
        top: 50px;
        left: 100%;
        z-index: 100;
        transition: 0.5s; }
        header .gnav.active {
          left: 0; } }
    header .gnav ul {
      display: flex;
      justify-content: space-between;
      width: 100%; }
      @media screen and (max-width: 767px) {
        header .gnav ul {
          display: block;
          background-color: #f5a33b; } }
      header .gnav ul li {
        width: calc(100% / 5 - 32px); }
        @media screen and (max-width: 767px) {
          header .gnav ul li {
            width: 100%; } }
        header .gnav ul li a {
          padding: 5px 10px;
          letter-spacing: 0.15em; }
          @media screen and (max-width: 767px) {
            header .gnav ul li a {
              padding: 20px 10px;
              background-color: transparent;
              border: none;
              border-radius: 0; } }
main {
  position: relative; }
  main .cover {
    display: none;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.3);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 90; }
    main .cover.active {
      display: block; }

.mv {
  background-color: #fbf1e2; }
  @media screen and (max-width: 767px) {
    .mv {
      width: 100%;
      padding-top: 30px; }
      .mv img {
        width: 100%; } }
  .mv figure {
    position: relative; }
    .mv figure::before {
      content: '';
      display: block;
      width: calc(100% + 100px);
      height: calc(100% - 100px);
      border: 5px solid #f5a33b;
      border-radius: 30px;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
    .mv figure::after {
      content: 'ANDPLUS';
      color: #f5a33b;
      font-family: "Bauhaus";
      font-size: 150px;
      line-height: 1;
      letter-spacing: 0.4em;
      position: absolute;
      bottom: 25px;
      left: 50%;
      transform: translateX(-50%); }
    @media screen and (max-width: 767px) {
      .mv figure {
        border: 5px solid #f5a33b;
        border-radius: 30px;
        overflow: hidden; }
        .mv figure::before {
          content: none; }
        .mv figure::after {
          font-size: 14vw;
          bottom: -10px;
          transform: translateX(-47%); } }
#message {
  background-color: #fbf1e2; }
  #message .intro {
    margin-bottom: 80px;
    font-family: "M PLUS Rounded 1c";
    font-size: 34px;
    font-weight: bold;
    text-align: center;
    line-height: 2; }
    @media screen and (max-width: 767px) {
      #message .intro {
        margin-bottom: 40px;
        font-size: 17px; } }
  #message .list {
    text-align: center; }
    @media screen and (max-width: 767px) {
      #message .list {
        text-align: left; } }
    #message .list dt {
      margin-bottom: 10px;
      color: #954d2a;
      font-size: 24px;
      font-weight: bold; }
      @media screen and (max-width: 767px) {
        #message .list dt {
          font-size: 17px;
          margin-bottom: 5px; } }
    #message .list dd {
      margin-bottom: 20px; }
  #message .txt {
    margin-top: 50px;
    text-align: center; }
    @media screen and (max-width: 767px) {
      #message .txt {
        text-align: left; } }
#news::before {
  content: 'NEWS';
  color: #fbf1e2; }

#news .list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 600px;
  margin: 0 auto;
  padding: 10px 0;
  border-bottom: 2px dotted #f5a33b; }
  @media screen and (max-width: 767px) {
    #news .list {
      width: 100%; } }
  #news .list:last-of-type {
    border-bottom: none; }
  #news .list dd {
    width: 120px; }
    @media screen and (max-width: 767px) {
      #news .list dd {
        width: 100%; } }
  #news .list dt {
    width: calc(100% - 120px - 20px); }
    @media screen and (max-width: 767px) {
      #news .list dt {
        width: 100%; } }
#news .news_banner img {
  width: 100%;
  max-width: 600px; }

#service {
  background-color: #fbf1e2; }
  #service::before {
    content: 'SERVICE';
    color: #fff; }
  #service .sub_ttl {
    margin-bottom: 60px;
    color: #6c9bd2;
    font-family: "M PLUS Rounded 1c";
    font-size: 50px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0; }
    @media screen and (max-width: 767px) {
      #service .sub_ttl {
        margin-bottom: 30px;
        font-size: 24px; } }
  #service .txt {
    margin-bottom: 60px;
    font-size: 26px;
    font-weight: bold;
    text-align: center; }
    @media screen and (max-width: 767px) {
      #service .txt {
        font-size: 18px;
        line-height: 2; } }
  #service .list_box {
    padding: 80px 50px;
    background-color: #fff;
    border: 5px solid #f5a33b;
    border-radius: 30px; }
    @media screen and (max-width: 767px) {
      #service .list_box {
        padding: 30px 20px; } }
    #service .list_box .list {
      display: flex;
      flex-wrap: wrap;
      margin-bottom: 60px; }
      @media screen and (max-width: 767px) {
        #service .list_box .list {
          margin-bottom: 0; } }
      #service .list_box .list li {
        width: calc(100% / 3);
        padding: 0 35px;
        border-right: 4px solid #f5a33b; }
        #service .list_box .list li:first-child {
          padding-left: 0; }
        #service .list_box .list li:last-child {
          padding-right: 0;
          border-right: none; }
        @media screen and (max-width: 767px) {
          #service .list_box .list li {
            width: 100%;
            padding: 30px 0 !important;
            border-right: none;
            border-bottom: 2px solid #f5a33b; }
            #service .list_box .list li:first-child {
              padding-top: 0 !important; } }
        #service .list_box .list li .list_ttl {
          margin-bottom: 30px;
          color: #6c9bd2;
          font-family: "M PLUS Rounded 1c";
          font-size: 34px;
          font-weight: bold;
          line-height: 1.3;
          letter-spacing: 0;
          text-align: center; }
          @media screen and (max-width: 767px) {
            #service .list_box .list li .list_ttl {
              font-size: 20px;
              margin-bottom: 15px; } }
    #service .list_box .list_asta {
      width: 775px;
      margin: 0 auto; }
      @media screen and (max-width: 767px) {
        #service .list_box .list_asta {
          width: 100%;
          margin-top: 30px; } }
      #service .list_box .list_asta .asta {
        display: flex; }
        #service .list_box .list_asta .asta::before {
          content: '※';
          display: block; }
  #service .plan_ttl {
    margin: 80px 0 50px;
    color: #954d2a;
    font-family: "M PLUS Rounded 1c";
    font-size: 34px;
    font-weight: bold;
    text-align: center; }
    @media screen and (max-width: 767px) {
      #service .plan_ttl {
        margin: 40px 0 30px;
        font-size: 22px; } }
  #service .plan_list > li {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(100% / 2 - 40px);
    padding: 25px;
    background-color: #fff;
    border: 5px solid #6c9bd2;
    border-radius: 30px; }
    #service .plan_list > li:nth-child(1), #service .plan_list > li:nth-child(2) {
      margin-bottom: 80px; }
    @media screen and (max-width: 767px) {
      #service .plan_list > li {
        width: 100%;
        margin-bottom: 30px;
        padding: 20px; }
        #service .plan_list > li:nth-child(1), #service .plan_list > li:nth-child(2) {
          margin-bottom: 30px; }
        #service .plan_list > li .inner {
          width: 230px; } }
    #service .plan_list > li .ttl {
      margin-bottom: 10px;
      color: #6c9bd2;
      font-family: "M PLUS Rounded 1c";
      font-size: 34px;
      font-weight: bold; }
      @media screen and (max-width: 767px) {
        #service .plan_list > li .ttl {
          margin-bottom: 5px;
          font-size: 24px; } }
    #service .plan_list > li ul {
      margin-left: 25px;
      list-style: disc;
      font-weight: bold; }
      #service .plan_list > li ul li {
        font-size: 22px; }
        @media screen and (max-width: 767px) {
          #service .plan_list > li ul li {
            font-size: 14px; } }
  #service .img01 {
    width: 600px;
    margin: 60px auto 0; }
    @media screen and (max-width: 767px) {
      #service .img01 {
        width: 100%;
        max-width: 600px; } }
    #service .img01 img {
      width: 100%; }

#voice::before {
  content: 'VOICE';
  color: #fbf1e2; }

#voice .voice_box .box_orange {
  border-color: #f5a33b; }
  #voice .voice_box .box_orange .ttl::before {
    content: '';
    background-color: #f5a33b; }
  #voice .voice_box .box_orange .img img {
    width: 80%;
    height: auto; }
    @media screen and (max-width: 767px) {
      #voice .voice_box .box_orange .img img {
        width: auto;
        max-height: 300px; } }
  #voice .voice_box .box_orange .txt_box .plan {
    color: #f5a33b;
    border-color: #f5a33b; }
  #voice .voice_box .box_orange .txt_box .list li::before {
    color: #f5a33b; }

#voice .voice_box .box_blue {
  border-color: #6c9bd2; }
  #voice .voice_box .box_blue .ttl::before {
    content: '';
    background-color: #6c9bd2; }
  #voice .voice_box .box_blue .img {
    width: 220px; }
    @media screen and (max-width: 767px) {
      #voice .voice_box .box_blue .img {
        width: 100%; } }
    #voice .voice_box .box_blue .img img {
      width: 90%;
      height: auto; }
      @media screen and (max-width: 767px) {
        #voice .voice_box .box_blue .img img {
          width: auto;
          max-height: 300px; } }
  #voice .voice_box .box_blue .txt_box .plan {
    color: #6c9bd2;
    border-color: #6c9bd2; }
  #voice .voice_box .box_blue .txt_box .list li::before {
    color: #6c9bd2; }

#voice .btn {
  margin-top: 80px; }
  #voice .btn a {
    width: 500px;
    margin: 0 auto;
    padding: 20px; }
  @media screen and (max-width: 767px) {
    #voice .btn {
      margin-top: 40px; }
      #voice .btn a {
        width: 100%; } }
#faq {
  background-color: #fbf1e2; }
  #faq::before {
    content: 'Q&A';
    color: #fff; }
  #faq .main_ttl em {
    font-size: 80px; }
    @media screen and (max-width: 767px) {
      #faq .main_ttl em {
        font-size: 40px; } }
  #faq .faq_list {
    margin-top: 60px;
    padding: 60px 100px;
    background-color: #fff;
    border: 5px solid #000;
    border-radius: 30px; }
    @media screen and (max-width: 767px) {
      #faq .faq_list {
        margin-top: 30px;
        padding: 20px; } }
    #faq .faq_list > * {
      display: flex; }
      @media screen and (max-width: 767px) {
        #faq .faq_list > * {
          display: block; } }
      #faq .faq_list > * .mark {
        width: 100px;
        margin-right: 30px;
        font-family: "Bauhaus";
        font-size: 60px;
        color: #f5a33b;
        line-height: 1;
        letter-spacing: 0.15em;
        transform: translateY(-10px); }
        #faq .faq_list > * .mark:first-letter {
          color: #000; }
        @media screen and (max-width: 767px) {
          #faq .faq_list > * .mark {
            width: 60px;
            margin-right: 0;
            font-size: 30px;
            transform: translateY(0); } }
      #faq .faq_list > * .detail {
        width: calc(100% - 100px - 35px); }
        @media screen and (max-width: 767px) {
          #faq .faq_list > * .detail {
            width: 100%;
            padding-top: 15px; } }
    #faq .faq_list .question {
      position: relative;
      cursor: pointer; }
      #faq .faq_list .question::after {
        content: '▼';
        display: flex;
        justify-content: center;
        align-items: center;
        width: 50px;
        height: 50px;
        color: #fff;
        font-size: 30px;
        background-color: #6c9bd2;
        border: 3px solid #000;
        border-radius: 100%;
        position: absolute;
        top: 0;
        right: 0;
        transition: 0.5s; }
      @media screen and (max-width: 767px) {
        #faq .faq_list .question::after {
          width: 30px;
          height: 30px;
          font-size: 20px; } }
      #faq .faq_list .question.active::after {
        transform: rotate(180deg); }
      #faq .faq_list .question .detail {
        padding-right: 100px;
        font-family: "M PLUS Rounded 1c";
        font-size: 30px;
        font-weight: bold; }
        @media screen and (max-width: 767px) {
          #faq .faq_list .question .detail {
            padding-right: 0;
            font-size: 18px;
            letter-spacing: 0; } }
    #faq .faq_list .answer {
      margin-top: 60px; }
      @media screen and (max-width: 767px) {
        #faq .faq_list .answer {
          margin-top: 30px; } }
      @media screen and (max-width: 767px) {
        #faq .faq_list .answer .detail {
          font-size: 1em; } }
      #faq .faq_list .answer .detail .list {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin: 60px 0; }
        @media screen and (max-width: 767px) {
          #faq .faq_list .answer .detail .list {
            display: block;
            margin: 30px 0; } }
        #faq .faq_list .answer .detail .list li {
          display: flex;
          justify-content: center;
          align-items: center;
          width: calc(100% / 4 - 40px);
          margin-right: 40px;
          color: #fff;
          font-family: "M PLUS Rounded 1c";
          font-size: 22px;
          font-weight: bold;
          text-align: center;
          line-height: 1.3;
          background-color: #6c9bd2;
          border-radius: 100%;
          position: relative; }
          #faq .faq_list .answer .detail .list li::before {
            content: '';
            display: block;
            padding-top: 100%; }
          #faq .faq_list .answer .detail .list li::after {
            content: '';
            display: block;
            border-right: 10px solid #000;
            border-bottom: 10px solid #000;
            border-left: 10px solid transparent;
            border-top: 10px solid transparent;
            transform: rotate(-45deg);
            position: absolute;
            left: calc(100% + 7%); }
          #faq .faq_list .answer .detail .list li:last-child {
            margin-right: 0; }
            #faq .faq_list .answer .detail .list li:last-child::after {
              content: none; }
          @media screen and (max-width: 767px) {
            #faq .faq_list .answer .detail .list li {
              width: 100%;
              margin: 0 auto 40px;
              padding: 10px;
              font-size: 16px;
              border-radius: 50px; }
              #faq .faq_list .answer .detail .list li::before {
                content: none; }
              #faq .faq_list .answer .detail .list li::after {
                bottom: -35px;
                left: 50%;
                transform: rotate(45deg) translateX(-70%); }
              #faq .faq_list .answer .detail .list li:last-child {
                margin-right: auto; } }
      #faq .faq_list .answer .detail .list_asta {
        font-weight: bold; }

#officer .off_box_blue, #officer .off_box_orange {
  align-items: center;
  margin-top: 80px;
  padding: 40px 60px 0;
  background-color: #fef7f2;
  border: 5px solid;
  border-radius: 30px; }
  @media screen and (max-width: 767px) {
    #officer .off_box_blue, #officer .off_box_orange {
      margin-top: 40px;
      padding: 20px 20px 40px; } }
  #officer .off_box_blue .img, #officer .off_box_orange .img {
    width: 350px; }
    @media screen and (max-width: 767px) {
      #officer .off_box_blue .img, #officer .off_box_orange .img {
        width: 100%;
        height: 250px;
        text-align: center;
        overflow: hidden; } }
    #officer .off_box_blue .img img, #officer .off_box_orange .img img {
      width: 90%; }
      #officer .off_box_blue .img img.img01, #officer .off_box_orange .img img.img01 {
        width: 80%; }
      @media screen and (max-width: 767px) {
        #officer .off_box_blue .img img, #officer .off_box_orange .img img {
          width: auto;
          max-height: 300px; }
          #officer .off_box_blue .img img.img01, #officer .off_box_orange .img img.img01 {
            width: auto;
            max-height: 300px; } }
  #officer .off_box_blue .txt_box, #officer .off_box_orange .txt_box {
    width: calc(100% - 350px);
    margin-top: -40px; }
    @media screen and (max-width: 767px) {
      #officer .off_box_blue .txt_box, #officer .off_box_orange .txt_box {
        width: 100%;
        margin-top: 30px; } }
    #officer .off_box_blue .txt_box .ttl, #officer .off_box_orange .txt_box .ttl {
      font-size: 30px;
      font-weight: bold; }
      #officer .off_box_blue .txt_box .ttl span, #officer .off_box_orange .txt_box .ttl span {
        font-size: 20px; }
      @media screen and (max-width: 767px) {
        #officer .off_box_blue .txt_box .ttl, #officer .off_box_orange .txt_box .ttl {
          font-size: 24px; }
          #officer .off_box_blue .txt_box .ttl span, #officer .off_box_orange .txt_box .ttl span {
            font-size: 14px; } }
#officer::before {
  content: 'OFFICER';
  color: #fbf1e2; }

#officer .off_box_orange {
  border-color: #f5a33b; }

#officer .off_box_blue {
  border-color: #6c9bd2; }

#officer .hobby {
  display: flex; }
  @media screen and (max-width: 767px) {
    #officer .hobby {
      display: block;
      margin: 10px 0; }
      #officer .hobby dt {
        font-weight: bold; } }
#company {
  background-color: #fbf1e2; }
  #company::before {
    content: 'COMPANY';
    color: #fff; }
  #company .company_table {
    width: 520px;
    margin: 0 auto; }
    @media screen and (max-width: 767px) {
      #company .company_table {
        width: 100%; } }
    #company .company_table th {
      width: 100px;
      display: flex;
      justify-content: space-between;
      padding: 0 20px 5px 0;
      text-align: left;
      vertical-align: top;
      position: relative; }
      @media screen and (max-width: 767px) {
        #company .company_table th {
          width: 85px; } }
      #company .company_table th::after {
        content: '：';
        position: absolute;
        right: 0; }
    #company .company_table td {
      width: calc(100% - 85px);
      padding: 0 0 5px 20px; }

#access::before {
  content: 'ACCESS';
  color: #fbf1e2; }

@media screen and (max-width: 767px) {
  #access .access_txt {
    width: 100%;
    margin: 0 auto; } }

#access .gmap {
  margin-top: 30px; }
  #access .gmap iframe {
    width: 100%;
    height: 400px; }

#banner {
  background-color: #fbf1e2; }
  #banner ul li img {
    width: 100%;
    max-width: 360px; }
  @media screen and (max-width: 767px) {
    #banner ul li {
      margin: 0 auto 20px; }
      #banner ul li:last-child {
        margin-bottom: 0; }
      #banner ul li img {
        width: 100%;
        max-width: 360px; } }
footer {
  padding: 40px 0;
  background-color: #f5a33b; }
  footer * {
    color: #fff; }
  footer .footer_nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; }
    footer .footer_nav li {
      line-height: 1;
      border-right: 2px solid #fff; }
      footer .footer_nav li:last-child {
        border-right: 0; }
      @media screen and (max-width: 767px) {
        footer .footer_nav li {
          width: calc(100% / 3);
          height: 20px;
          margin-bottom: 15px; }
          footer .footer_nav li:nth-child(3) {
            border-right: 0; }
          footer .footer_nav li:nth-child(4), footer .footer_nav li:nth-child(5) {
            width: calc(100% / 3 + 20px); } }
      footer .footer_nav li a {
        display: block;
        padding: 0 30px;
        font-family: "M PLUS Rounded 1c";
        font-size: 20px;
        font-weight: bold;
        text-align: center; }
        @media screen and (max-width: 767px) {
          footer .footer_nav li a {
            padding: 0 5px;
            font-size: 1em; } }
  footer .footer_txt {
    margin-top: 30px;
    text-align: center; }
    @media screen and (max-width: 767px) {
      footer .footer_txt {
        text-align: left; } }
    footer .footer_txt .ttl {
      margin-bottom: 10px;
      font-family: "M PLUS Rounded 1c";
      font-size: 24px;
      font-weight: bold; }
    footer .footer_txt .copy {
      margin-top: 30px;
      font-size: 20px; }
      @media screen and (max-width: 767px) {
        footer .footer_txt .copy {
          font-size: 14px;
          text-align: center; } }
#page_top {
  width: 60px;
  height: 60px;
  position: fixed;
  bottom: 10px;
  right: 30px;
  z-index: 80; }
  @media screen and (max-width: 767px) {
    #page_top {
      width: 60px;
      height: 60px;
      bottom: 10px;
      right: 10px; } }
  #page_top img {
    width: 100%;
    height: auto; }

#contact #formTable tr td .text_content, #contact #formTable tr td .text_post02, #contact #formTable tr td .text_post01, #contact #formTable tr td .text_long {
  padding: 20px 10px;
  background-color: #fef7f2;
  border: 1px solid #999999;
  border-radius: 5px; }
  @media screen and (max-width: 767px) {
    #contact #formTable tr td .text_content, #contact #formTable tr td .text_post02, #contact #formTable tr td .text_post01, #contact #formTable tr td .text_long {
      padding: 15px 10px; } }
#contact::before {
  content: 'CONTACT';
  color: #fbf1e2; }

#contact #formTable {
  width: 100%; }
  #contact #formTable tr {
    padding: 25px; }
    #contact #formTable tr th {
      width: 350px;
      padding: 40px 30px 25px 0;
      font-weight: normal;
      text-align: right;
      vertical-align: top; }
      #contact #formTable tr th .must {
        padding-left: 20px;
        color: #d80c18; }
      @media screen and (max-width: 767px) {
        #contact #formTable tr th {
          display: block;
          width: 100%;
          padding: 10px 0 0;
          text-align: left; }
          #contact #formTable tr th .must {
            padding-left: 10px; } }
    #contact #formTable tr td {
      padding: 25px 0; }
      @media screen and (max-width: 767px) {
        #contact #formTable tr td {
          display: block;
          width: 100%;
          padding: 10px 0; } }
      #contact #formTable tr td .text_long {
        width: 100%; }
      #contact #formTable tr td .text_post01 {
        width: 100px; }
      #contact #formTable tr td .text_post02 {
        width: 130px; }
      #contact #formTable tr td .text_content {
        width: 100%;
        height: 250px; }
      #contact #formTable tr td .mark {
        padding-right: 10px; }
        @media screen and (max-width: 767px) {
          #contact #formTable tr td .mark {
            padding-right: 5px; } }
      #contact #formTable tr td .line {
        padding: 0 10px; }
        @media screen and (max-width: 767px) {
          #contact #formTable tr td .line {
            padding: 0 5px; } }
#contact .buttons {
  display: flex;
  justify-content: center;
  margin-top: 40px; }
  @media screen and (max-width: 767px) {
    #contact .buttons {
      flex-direction: column-reverse;
      align-items: center; } }
  #contact .buttons li {
    margin: 0 10px; }
    @media screen and (max-width: 767px) {
      #contact .buttons li {
        margin: 0 0 10px; } }
    #contact .buttons li > * {
      width: 250px;
      padding: 10px 40px;
      font-size: 20px;
      font-weight: bold;
      letter-spacing: 0.2em;
      border: 2px solid;
      border-radius: 50px;
      transition: 0.3s;
      cursor: pointer; }
      #contact .buttons li > *.orange {
        color: #fff;
        background-color: #f5a33b;
        border-color: #f5a33b; }
        #contact .buttons li > *.orange:hover {
          color: #f5a33b;
          background-color: #fff; }



@media screen and (min-width: 767px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}