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

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

img {
  vertical-align: bottom;
  border: none; }

ul, ol {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

a {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  background: transparent; }

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

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

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

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

caption, th, td {
  text-align: left; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle;
  border: 1px solid #ddd; }

address {
  font-style: normal; }

/* form */
button, fieldset, form, input, label, legend, select, textarea {
  font-family: inherit;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  padding: 0;
  vertical-align: baseline; }

/* ------------------------------
  scroll-hint
------------------------------ */
@keyframes scroll-hint-appear {
  0% {
    transform: translateX(40px);
    opacity: 0; }
  10% {
    opacity: 1; }
  50%,
  100% {
    transform: translateX(-40px);
    opacity: 0; } }
.scroll-hint-icon {
  position: absolute;
  top: calc(50% - 25px);
  left: calc(50% - 60px);
  box-sizing: border-box;
  width: 120px;
  height: auto;
  border-radius: 5px;
  transition: opacity .3s;
  opacity: 0;
  background: rgba(0, 0, 0, 0.7);
  text-align: center;
  padding: 20px 10px 10px 10px; }

.scroll-hint-icon-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 100%;
  pointer-events: none; }

.scroll-hint-text {
  font-size: 10px;
  color: #FFF;
  margin-top: 5px; }

.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
  opacity: .8; }

.scroll-hint-icon:before {
  display: inline-block;
  width: 40px;
  height: 40px;
  color: #FFF;
  vertical-align: middle;
  text-align: center;
  content: "";
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=); }

.scroll-hint-icon:after {
  content: "";
  width: 34px;
  height: 14px;
  display: block;
  position: absolute;
  top: 10px;
  left: 50%;
  margin-left: -20px;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDE8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiIGZpbGw9IiNmZmYiLz48L2c+PC9nPjwvc3ZnPg==);
  opacity: 0;
  transition-delay: 2.4s; }

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
  opacity: 1; }

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
  animation: scroll-hint-appear 1.2s linear;
  animation-iteration-count: 2; }

.scroll-hint-icon-white {
  background-color: #FFF;
  box-shadow: 0 4px 5px rgba(0, 0, 0, 0.4); }

.scroll-hint-icon-white:before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIi8+PC9nPjwvZz48L3N2Zz4=); }

.scroll-hint-icon-white:after {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDI8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiLz48L2c+PC9nPjwvc3ZnPg==); }

.scroll-hint-icon-white .scroll-hint-text {
  color: #000; }

.scroll-hint-shadow-wrap {
  position: relative; }

.scroll-hint-shadow-wrap::after {
  content: "";
  width: 20px;
  height: 100%;
  background: linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
  position: absolute;
  top: 0;
  right: 0;
  pointer-events: none;
  z-index: 1;
  opacity: 0;
  visibility: hidden; }

.scroll-hint-shadow-wrap::before {
  content: "";
  width: 20px;
  height: 100%;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 1;
  opacity: 0;
  visibility: hidden; }

.scroll-hint-shadow-wrap:has(.scroll-hint.is-right-scrollable)::after,
.scroll-hint-shadow-wrap.is-right-scrollable::after {
  opacity: 1;
  visibility: visible; }

.scroll-hint-shadow-wrap:has(.scroll-hint.is-left-scrollable)::before,
.scroll-hint-shadow-wrap.is-left-scrollable::before {
  opacity: 1;
  visibility: visible; }

/* ------------------------------
  magnific-popup
------------------------------ */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.8; }

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden; }

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box; }

.mfp-container:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle; }

.mfp-align-top .mfp-container:before {
  display: none; }

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045; }

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto; }

.mfp-ajax-cur {
  cursor: progress; }

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -moz-zoom-out;
  cursor: -webkit-zoom-out;
  cursor: zoom-out; }

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in; }

.mfp-auto-cursor .mfp-content {
  cursor: auto; }

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none; }

.mfp-loading.mfp-figure {
  display: none; }

.mfp-hide {
  display: none !important; }

.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044; }

.mfp-preloader a {
  color: #CCC; }

.mfp-preloader a:hover {
  color: #FFF; }

.mfp-s-ready .mfp-preloader {
  display: none; }

.mfp-s-error .mfp-content {
  display: none; }

button.mfp-close,
button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  box-shadow: none;
  touch-action: manipulation; }

button::-moz-focus-inner {
  padding: 0;
  border: 0; }

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  padding: 0 0 18px 10px;
  color: #FFF;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace; }

.mfp-close:hover,
.mfp-close:focus {
  opacity: 1; }

.mfp-close:active {
  top: 1px; }

.mfp-close-btn-in .mfp-close {
  color: #333; }

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #FFF;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%; }

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap; }

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: transparent; }

.mfp-arrow:active {
  margin-top: -54px; }

.mfp-arrow:hover,
.mfp-arrow:focus {
  opacity: 1; }

.mfp-arrow:before,
.mfp-arrow:after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 35px;
  margin-left: 35px;
  border: medium inset transparent; }

.mfp-arrow:after {
  border-top-width: 13px;
  border-bottom-width: 13px;
  top: 8px; }

.mfp-arrow:before {
  border-top-width: 21px;
  border-bottom-width: 21px;
  opacity: 0.7; }

.mfp-arrow-left {
  left: 0; }

.mfp-arrow-left:after {
  border-right: 17px solid #FFF;
  margin-left: 31px; }

.mfp-arrow-left:before {
  margin-left: 25px;
  border-right: 27px solid #3F3F3F; }

.mfp-arrow-right {
  right: 0; }

.mfp-arrow-right:after {
  border-left: 17px solid #FFF;
  margin-left: 39px; }

.mfp-arrow-right:before {
  border-left: 27px solid #3F3F3F; }

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px; }

.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px; }

.mfp-iframe-holder .mfp-close {
  top: -40px; }

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%; }

.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000; }

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto; }

/* The shadow behind the image */
.mfp-figure {
  line-height: 0; }

.mfp-figure:after {
  content: '';
  position: absolute;
  left: 0;
  top: 40px;
  bottom: 40px;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #444; }

.mfp-figure small {
  color: #BDBDBD;
  display: block;
  font-size: 12px;
  line-height: 14px; }

.mfp-figure figure {
  margin: 0; }

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto; }

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px; }

.mfp-image-holder .mfp-content {
  max-width: 100%; }

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer; }

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
       * Remove all paddings around the image on small screen
       */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0; }

  .mfp-img-mobile img.mfp-img {
    padding: 0; }

  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0; }

  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px; }

  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box; }

  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0; }

  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px; }

  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0; } }
@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    transform: scale(0.75); }

  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    transform-origin: 0; }

  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    transform-origin: 100%; }

  .mfp-container {
    padding-left: 6px;
    padding-right: 6px; } }
/* ------------------------------------------------------------
フレーム
------------------------------------------------------------ */
.hover {
  transition: .3s; }
  .hover:hover {
    opacity: 0.7;
    text-decoration: none; }

@media only screen and (max-width: 768px), print and (min-width: 2cm) {
  .js-scrollable {
    overflow-x: scroll; }
    .js-scrollable img {
      max-width: none; } }

.clear {
  clear: both; }

.lefty {
  float: left; }

.righty {
  float: right; }

.pos_rel {
  position: relative; }

.block {
  display: block; }

.ds_table {
  display: table; }

.inline_block {
  display: inline-block; }

.inline {
  display: inline; }

.fixed {
  position: fixed;
  top: 0;
  z-index: 99999; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .fixed {
      position: static; } }

.view_block_pc {
  display: block; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .view_block_pc {
      display: none; } }

.view_block_sp {
  display: none; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .view_block_sp {
      display: block; } }

.view_inline_pc {
  display: inline-block; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .view_inline_pc {
      display: none; } }

.view_inline_sp {
  display: none; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .view_inline_sp {
      display: inline-block; } }

.spin_infinite {
  animation: rotate1 4s linear reverse infinite; }

@keyframes rotate1 {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }
/* ------------------------------
テキスト
------------------------------ */
@media only screen and (min-width: 769px), print and (min-width: 2cm) {
  .txt_center_pc {
    text-align: center !important; } }

.txt_center {
  display: block;
  text-align: center !important; }

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

.txt_right {
  display: block;
  text-align: right !important; }

.txt_left {
  display: block;
  text-align: left !important; }

.txt_justify {
  text-align: justify; }

.txt_indent {
  display: block;
  text-indent: -1em;
  margin-left: 1em; }

.txt_block {
  margin-top: 1em; }

.txt_small_l {
  font-size: 85%; }

.txt_small_m {
  font-size: 75%; }

.txt_small_s {
  font-size: 65%; }

.fc_main {
  color: #F40D15; }

.fc_sub {
  color: #F7F5F2; }

.fc_sub2 {
  color: #fff; }

.fc_sub3 {
  color: #fff; }

.fc_sub4 {
  color: #fff; }

.fc_sub5 {
  color: #fff; }

.fc_white {
  color: #fff; }

.txt_link {
  color: #F40D15;
  text-decoration: underline; }

.txt_bold {
  font-weight: bold; }

.txt_center_pc {
  text-align: center; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .txt_center_pc {
      text-align: left; } }

.txt_pb b {
  font-weight: 700;
  color: #fff; }

.fs_11 {
  font-size: 1.1rem; }

.fs_12 {
  font-size: 1.2rem; }

.fs_13 {
  font-size: 1.3rem; }

.fs_14 {
  font-size: 1.4rem; }

.fs_15 {
  font-size: 1.5rem; }

.fs_16 {
  font-size: 1.6rem; }

.fs_17 {
  font-size: 1.7rem; }

.fs_18 {
  font-size: 1.8rem; }

.fs_19 {
  font-size: 1.9rem; }

.fs_20 {
  font-size: 2rem; }

.fs_21 {
  font-size: 2.1rem; }

.fs_22 {
  font-size: 2.2rem; }

.fs_23 {
  font-size: 2.3rem; }

.fs_24 {
  font-size: 2.4rem; }

.fs_25 {
  font-size: 2.5rem; }

.fs_26 {
  font-size: 2.6rem; }

.fs_27 {
  font-size: 2.7rem; }

.fs_28 {
  font-size: 2.8rem; }

.fs_29 {
  font-size: 2.9rem; }

.fs_30 {
  font-size: 3rem; }

.fs_31 {
  font-size: 3.1rem; }

.fs_32 {
  font-size: 3.2rem; }

.fs_33 {
  font-size: 3.3rem; }

.fs_34 {
  font-size: 3.4rem; }

.fs_35 {
  font-size: 3.5rem; }

.fs_36 {
  font-size: 3.6rem; }

.fs_37 {
  font-size: 3.7rem; }

.fs_38 {
  font-size: 3.8rem; }

.fs_39 {
  font-size: 3.9rem; }

.fs_40 {
  font-size: 4rem; }

.fs_41 {
  font-size: 4.1rem; }

.fs_42 {
  font-size: 4.2rem; }

.fs_43 {
  font-size: 4.3rem; }

.fs_44 {
  font-size: 4.4rem; }

.fs_45 {
  font-size: 4.5rem; }

.fs_46 {
  font-size: 4.6rem; }

.fs_47 {
  font-size: 4.7rem; }

.fs_48 {
  font-size: 4.8rem; }

.fs_49 {
  font-size: 4.9rem; }

.fs_50 {
  font-size: 5rem; }

.fs_51 {
  font-size: 5.1rem; }

.fs_52 {
  font-size: 5.2rem; }

.fs_53 {
  font-size: 5.3rem; }

.fs_54 {
  font-size: 5.4rem; }

.fs_55 {
  font-size: 5.5rem; }

.fs_56 {
  font-size: 5.6rem; }

.fs_57 {
  font-size: 5.7rem; }

.fs_58 {
  font-size: 5.8rem; }

.fs_59 {
  font-size: 5.9rem; }

.fs_60 {
  font-size: 6rem; }

.fs_61 {
  font-size: 6.1rem; }

.fs_62 {
  font-size: 6.2rem; }

.fs_63 {
  font-size: 6.3rem; }

.fs_64 {
  font-size: 6.4rem; }

.fs_65 {
  font-size: 6.5rem; }

.fs_66 {
  font-size: 6.6rem; }

.fs_67 {
  font-size: 6.7rem; }

.fs_68 {
  font-size: 6.8rem; }

.fs_69 {
  font-size: 6.9rem; }

.fs_70 {
  font-size: 7rem; }

.fs_71 {
  font-size: 7.1rem; }

.fs_72 {
  font-size: 7.2rem; }

.fs_73 {
  font-size: 7.3rem; }

.fs_74 {
  font-size: 7.4rem; }

.fs_75 {
  font-size: 7.5rem; }

.fs_76 {
  font-size: 7.6rem; }

.fs_77 {
  font-size: 7.7rem; }

.fs_78 {
  font-size: 7.8rem; }

.fs_79 {
  font-size: 7.9rem; }

.fs_80 {
  font-size: 8rem; }

.fs_81 {
  font-size: 8.1rem; }

.fs_82 {
  font-size: 8.2rem; }

.fs_83 {
  font-size: 8.3rem; }

.fs_84 {
  font-size: 8.4rem; }

.fs_85 {
  font-size: 8.5rem; }

.fs_86 {
  font-size: 8.6rem; }

.fs_87 {
  font-size: 8.7rem; }

.fs_88 {
  font-size: 8.8rem; }

.fs_89 {
  font-size: 8.9rem; }

.fs_90 {
  font-size: 9rem; }

.fs_91 {
  font-size: 9.1rem; }

.fs_92 {
  font-size: 9.2rem; }

.fs_93 {
  font-size: 9.3rem; }

.fs_94 {
  font-size: 9.4rem; }

.fs_95 {
  font-size: 9.5rem; }

.fs_96 {
  font-size: 9.6rem; }

.fs_97 {
  font-size: 9.7rem; }

.fs_98 {
  font-size: 9.8rem; }

.fs_99 {
  font-size: 9.9rem; }

.fs_100 {
  font-size: 10rem; }

.fs_101 {
  font-size: 10.1rem; }

.fs_102 {
  font-size: 10.2rem; }

.fs_103 {
  font-size: 10.3rem; }

.fs_104 {
  font-size: 10.4rem; }

.fs_105 {
  font-size: 10.5rem; }

.fs_106 {
  font-size: 10.6rem; }

.fs_107 {
  font-size: 10.7rem; }

.fs_108 {
  font-size: 10.8rem; }

.fs_109 {
  font-size: 10.9rem; }

.fs_110 {
  font-size: 11rem; }

.fs_111 {
  font-size: 11.1rem; }

.fs_112 {
  font-size: 11.2rem; }

.fs_113 {
  font-size: 11.3rem; }

.fs_114 {
  font-size: 11.4rem; }

.fs_115 {
  font-size: 11.5rem; }

.fs_116 {
  font-size: 11.6rem; }

.fs_117 {
  font-size: 11.7rem; }

.fs_118 {
  font-size: 11.8rem; }

.fs_119 {
  font-size: 11.9rem; }

.fs_120 {
  font-size: 12rem; }

.fs_121 {
  font-size: 12.1rem; }

.fs_122 {
  font-size: 12.2rem; }

.fs_123 {
  font-size: 12.3rem; }

.fs_124 {
  font-size: 12.4rem; }

.fs_125 {
  font-size: 12.5rem; }

.fs_126 {
  font-size: 12.6rem; }

.fs_127 {
  font-size: 12.7rem; }

.fs_128 {
  font-size: 12.8rem; }

.fs_129 {
  font-size: 12.9rem; }

.fs_130 {
  font-size: 13rem; }

.fs_131 {
  font-size: 13.1rem; }

.fs_132 {
  font-size: 13.2rem; }

.fs_133 {
  font-size: 13.3rem; }

.fs_134 {
  font-size: 13.4rem; }

.fs_135 {
  font-size: 13.5rem; }

.fs_136 {
  font-size: 13.6rem; }

.fs_137 {
  font-size: 13.7rem; }

.fs_138 {
  font-size: 13.8rem; }

.fs_139 {
  font-size: 13.9rem; }

.fs_140 {
  font-size: 14rem; }

.fs_141 {
  font-size: 14.1rem; }

.fs_142 {
  font-size: 14.2rem; }

.fs_143 {
  font-size: 14.3rem; }

.fs_144 {
  font-size: 14.4rem; }

.fs_145 {
  font-size: 14.5rem; }

.fs_146 {
  font-size: 14.6rem; }

.fs_147 {
  font-size: 14.7rem; }

.fs_148 {
  font-size: 14.8rem; }

.fs_149 {
  font-size: 14.9rem; }

.fs_150 {
  font-size: 15rem; }

.fs_151 {
  font-size: 15.1rem; }

.fs_152 {
  font-size: 15.2rem; }

.fs_153 {
  font-size: 15.3rem; }

.fs_154 {
  font-size: 15.4rem; }

.fs_155 {
  font-size: 15.5rem; }

.fs_156 {
  font-size: 15.6rem; }

.fs_157 {
  font-size: 15.7rem; }

.fs_158 {
  font-size: 15.8rem; }

.fs_159 {
  font-size: 15.9rem; }

.fs_160 {
  font-size: 16rem; }

.fs_161 {
  font-size: 16.1rem; }

.fs_162 {
  font-size: 16.2rem; }

.fs_163 {
  font-size: 16.3rem; }

.fs_164 {
  font-size: 16.4rem; }

.fs_165 {
  font-size: 16.5rem; }

.fs_166 {
  font-size: 16.6rem; }

.fs_167 {
  font-size: 16.7rem; }

.fs_168 {
  font-size: 16.8rem; }

.fs_169 {
  font-size: 16.9rem; }

.fs_170 {
  font-size: 17rem; }

.fs_171 {
  font-size: 17.1rem; }

.fs_172 {
  font-size: 17.2rem; }

.fs_173 {
  font-size: 17.3rem; }

.fs_174 {
  font-size: 17.4rem; }

.fs_175 {
  font-size: 17.5rem; }

.fs_176 {
  font-size: 17.6rem; }

.fs_177 {
  font-size: 17.7rem; }

.fs_178 {
  font-size: 17.8rem; }

.fs_179 {
  font-size: 17.9rem; }

.fs_180 {
  font-size: 18rem; }

.fs_181 {
  font-size: 18.1rem; }

.fs_182 {
  font-size: 18.2rem; }

.fs_183 {
  font-size: 18.3rem; }

.fs_184 {
  font-size: 18.4rem; }

.fs_185 {
  font-size: 18.5rem; }

.fs_186 {
  font-size: 18.6rem; }

.fs_187 {
  font-size: 18.7rem; }

.fs_188 {
  font-size: 18.8rem; }

.fs_189 {
  font-size: 18.9rem; }

.fs_190 {
  font-size: 19rem; }

.fs_191 {
  font-size: 19.1rem; }

.fs_192 {
  font-size: 19.2rem; }

.fs_193 {
  font-size: 19.3rem; }

.fs_194 {
  font-size: 19.4rem; }

.fs_195 {
  font-size: 19.5rem; }

.fs_196 {
  font-size: 19.6rem; }

.fs_197 {
  font-size: 19.7rem; }

.fs_198 {
  font-size: 19.8rem; }

.fs_199 {
  font-size: 19.9rem; }

.fs_200 {
  font-size: 20rem; }

.fs_201 {
  font-size: 20.1rem; }

.fs_202 {
  font-size: 20.2rem; }

.fs_203 {
  font-size: 20.3rem; }

.fs_204 {
  font-size: 20.4rem; }

.fs_205 {
  font-size: 20.5rem; }

.fs_206 {
  font-size: 20.6rem; }

.fs_207 {
  font-size: 20.7rem; }

.fs_208 {
  font-size: 20.8rem; }

.fs_209 {
  font-size: 20.9rem; }

.fs_210 {
  font-size: 21rem; }

.fs_211 {
  font-size: 21.1rem; }

.fs_212 {
  font-size: 21.2rem; }

.fs_213 {
  font-size: 21.3rem; }

.fs_214 {
  font-size: 21.4rem; }

.fs_215 {
  font-size: 21.5rem; }

.fs_216 {
  font-size: 21.6rem; }

.fs_217 {
  font-size: 21.7rem; }

.fs_218 {
  font-size: 21.8rem; }

.fs_219 {
  font-size: 21.9rem; }

.fs_220 {
  font-size: 22rem; }

.fs_221 {
  font-size: 22.1rem; }

.fs_222 {
  font-size: 22.2rem; }

.fs_223 {
  font-size: 22.3rem; }

.fs_224 {
  font-size: 22.4rem; }

.fs_225 {
  font-size: 22.5rem; }

.fs_226 {
  font-size: 22.6rem; }

.fs_227 {
  font-size: 22.7rem; }

.fs_228 {
  font-size: 22.8rem; }

.fs_229 {
  font-size: 22.9rem; }

.fs_230 {
  font-size: 23rem; }

.fs_231 {
  font-size: 23.1rem; }

.fs_232 {
  font-size: 23.2rem; }

.fs_233 {
  font-size: 23.3rem; }

.fs_234 {
  font-size: 23.4rem; }

.fs_235 {
  font-size: 23.5rem; }

.fs_236 {
  font-size: 23.6rem; }

.fs_237 {
  font-size: 23.7rem; }

.fs_238 {
  font-size: 23.8rem; }

.fs_239 {
  font-size: 23.9rem; }

.fs_240 {
  font-size: 24rem; }

@media only screen and (max-width: 768px), print and (min-width: 2cm) {
  .fs_11_sp {
    font-size: 1.1rem; }

  .fs_12_sp {
    font-size: 1.2rem; }

  .fs_13_sp {
    font-size: 1.3rem; }

  .fs_14_sp {
    font-size: 1.4rem; }

  .fs_15_sp {
    font-size: 1.5rem; }

  .fs_16_sp {
    font-size: 1.6rem; }

  .fs_17_sp {
    font-size: 1.7rem; }

  .fs_18_sp {
    font-size: 1.8rem; }

  .fs_19_sp {
    font-size: 1.9rem; }

  .fs_20_sp {
    font-size: 2rem; }

  .fs_21_sp {
    font-size: 2.1rem; }

  .fs_22_sp {
    font-size: 2.2rem; }

  .fs_23_sp {
    font-size: 2.3rem; }

  .fs_24_sp {
    font-size: 2.4rem; }

  .fs_25_sp {
    font-size: 2.5rem; }

  .fs_26_sp {
    font-size: 2.6rem; }

  .fs_27_sp {
    font-size: 2.7rem; }

  .fs_28_sp {
    font-size: 2.8rem; }

  .fs_29_sp {
    font-size: 2.9rem; }

  .fs_30_sp {
    font-size: 3rem; }

  .fs_31_sp {
    font-size: 3.1rem; }

  .fs_32_sp {
    font-size: 3.2rem; }

  .fs_33_sp {
    font-size: 3.3rem; }

  .fs_34_sp {
    font-size: 3.4rem; }

  .fs_35_sp {
    font-size: 3.5rem; }

  .fs_36_sp {
    font-size: 3.6rem; }

  .fs_37_sp {
    font-size: 3.7rem; }

  .fs_38_sp {
    font-size: 3.8rem; }

  .fs_39_sp {
    font-size: 3.9rem; }

  .fs_40_sp {
    font-size: 4rem; }

  .fs_41_sp {
    font-size: 4.1rem; }

  .fs_42_sp {
    font-size: 4.2rem; }

  .fs_43_sp {
    font-size: 4.3rem; }

  .fs_44_sp {
    font-size: 4.4rem; }

  .fs_45_sp {
    font-size: 4.5rem; }

  .fs_46_sp {
    font-size: 4.6rem; }

  .fs_47_sp {
    font-size: 4.7rem; }

  .fs_48_sp {
    font-size: 4.8rem; }

  .fs_49_sp {
    font-size: 4.9rem; }

  .fs_50_sp {
    font-size: 5rem; }

  .fs_51_sp {
    font-size: 5.1rem; }

  .fs_52_sp {
    font-size: 5.2rem; }

  .fs_53_sp {
    font-size: 5.3rem; }

  .fs_54_sp {
    font-size: 5.4rem; }

  .fs_55_sp {
    font-size: 5.5rem; }

  .fs_56_sp {
    font-size: 5.6rem; }

  .fs_57_sp {
    font-size: 5.7rem; }

  .fs_58_sp {
    font-size: 5.8rem; }

  .fs_59_sp {
    font-size: 5.9rem; }

  .fs_60_sp {
    font-size: 6rem; }

  .fs_61_sp {
    font-size: 6.1rem; }

  .fs_62_sp {
    font-size: 6.2rem; }

  .fs_63_sp {
    font-size: 6.3rem; }

  .fs_64_sp {
    font-size: 6.4rem; }

  .fs_65_sp {
    font-size: 6.5rem; }

  .fs_66_sp {
    font-size: 6.6rem; }

  .fs_67_sp {
    font-size: 6.7rem; }

  .fs_68_sp {
    font-size: 6.8rem; }

  .fs_69_sp {
    font-size: 6.9rem; }

  .fs_70_sp {
    font-size: 7rem; }

  .fs_71_sp {
    font-size: 7.1rem; }

  .fs_72_sp {
    font-size: 7.2rem; } }
.fw_200 {
  font-weight: 200; }

.fw_300 {
  font-weight: 300; }

.fw_400 {
  font-weight: 400; }

.fw_500 {
  font-weight: 500; }

.fw_600 {
  font-weight: 600; }

.lh_10 {
  line-height: 1; }

.lh_11 {
  line-height: 1.1; }

.lh_12 {
  line-height: 1.2; }

.lh_13 {
  line-height: 1.3; }

.lh_14 {
  line-height: 1.4; }

.lh_15 {
  line-height: 1.5; }

.lh_16 {
  line-height: 1.6; }

.lh_17 {
  line-height: 1.7; }

.lh_18 {
  line-height: 1.8; }

.lh_19 {
  line-height: 1.9; }

.lh_20 {
  line-height: 2; }

@media only screen and (max-width: 768px), print and (min-width: 2cm) {
  .lh_10_sp {
    line-height: 1; }

  .lh_11_sp {
    line-height: 1.1; }

  .lh_12_sp {
    line-height: 1.2; }

  .lh_13_sp {
    line-height: 1.3; }

  .lh_14_sp {
    line-height: 1.4; }

  .lh_15_sp {
    line-height: 1.5; }

  .lh_16_sp {
    line-height: 1.6; }

  .lh_17_sp {
    line-height: 1.7; }

  .lh_18_sp {
    line-height: 1.8; }

  .lh_19_sp {
    line-height: 1.9; }

  .lh_20_sp {
    line-height: 2; } }
.ls_003 {
  letter-spacing: 0.03em; }

.ls_005 {
  letter-spacing: 0.05em; }

.ls_01 {
  letter-spacing: 0.1em; }

.ff {
  font-family: "Noto Serif JP" , "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }

.ffg {
  font-family: "Noto Sans JP","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,verdana,Osaka,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif; }

.ff_yugo {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif; }

.ff_min {
  font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }

.uppercase {
  text-transform: uppercase; }

.txt_white_space {
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap; }

.img_center {
  text-align: center; }
  .img_center img {
    display: inline-block !important; }

.block_center {
  margin-left: auto;
  margin-right: auto; }

@media only screen and (max-width: 768px), print and (min-width: 2cm) {
  .block_center_sp {
    margin-left: auto;
    margin-right: auto; } }

.opa img,
.opa_group img {
  background-color: #fff; }
.opa a:hover, .opa:hover,
.opa_group a:hover,
.opa_group:hover {
  text-decoration: none; }

.hover,
.hover_group a {
  text-decoration: none; }
  .hover:hover,
  .hover_group a:hover {
    text-decoration: none; }

.w100p {
  width: 100%; }

.w30 {
  width: 30px; }

.w40 {
  width: 40px; }

.w50 {
  width: 50px; }

.w60 {
  width: 60px; }

.w70 {
  width: 70px; }

.w80 {
  width: 80px; }

.w90 {
  width: 90px; }

.w100 {
  width: 100px; }

.w110 {
  width: 110px; }

.w120 {
  width: 120px; }

.w130 {
  width: 130px; }

.w140 {
  width: 140px; }

.w150 {
  width: 150px; }

.w160 {
  width: 160px; }

.w170 {
  width: 170px; }

.w180 {
  width: 180px; }

.w190 {
  width: 190px; }

.w200 {
  width: 200px; }

.w210 {
  width: 210px; }

.w220 {
  width: 220px; }

.w230 {
  width: 230px; }

.w240 {
  width: 240px; }

.w250 {
  width: 250px; }

.w260 {
  width: 260px; }

.w270 {
  width: 270px; }

.w280 {
  width: 280px; }

.w290 {
  width: 290px; }

.w300 {
  width: 300px; }

.w310 {
  width: 310px; }

.w320 {
  width: 320px; }

.w330 {
  width: 330px; }

.w340 {
  width: 340px; }

.w350 {
  width: 350px; }

.w360 {
  width: 360px; }

.w370 {
  width: 370px; }

.w380 {
  width: 380px; }

.w390 {
  width: 390px; }

.w400 {
  width: 400px; }

.w410 {
  width: 410px; }

.w420 {
  width: 420px; }

.w430 {
  width: 430px; }

.w440 {
  width: 440px; }

.w450 {
  width: 450px; }

.w460 {
  width: 460px; }

.w470 {
  width: 470px; }

.w480 {
  width: 480px; }

.w490 {
  width: 490px; }

.w500 {
  width: 500px; }

.w510 {
  width: 510px; }

.w520 {
  width: 520px; }

.w530 {
  width: 530px; }

.w540 {
  width: 540px; }

.w550 {
  width: 550px; }

.w560 {
  width: 560px; }

.w570 {
  width: 570px; }

.w580 {
  width: 580px; }

.w590 {
  width: 590px; }

.w600 {
  width: 600px; }

.w610 {
  width: 610px; }

.w620 {
  width: 620px; }

.w630 {
  width: 630px; }

.w640 {
  width: 640px; }

.w650 {
  width: 650px; }

.w660 {
  width: 660px; }

.w670 {
  width: 670px; }

.w680 {
  width: 680px; }

.w690 {
  width: 690px; }

.w700 {
  width: 700px; }

.w710 {
  width: 710px; }

.w720 {
  width: 720px; }

.w730 {
  width: 730px; }

.w740 {
  width: 740px; }

.w750 {
  width: 750px; }

.w760 {
  width: 760px; }

.w770 {
  width: 770px; }

.w780 {
  width: 780px; }

.w790 {
  width: 790px; }

.w800 {
  width: 800px; }

.w810 {
  width: 810px; }

.w820 {
  width: 820px; }

.w830 {
  width: 830px; }

.w840 {
  width: 840px; }

.w850 {
  width: 850px; }

.w860 {
  width: 860px; }

.w870 {
  width: 870px; }

.w880 {
  width: 880px; }

.w890 {
  width: 890px; }

.w900 {
  width: 900px; }

.w910 {
  width: 910px; }

.w920 {
  width: 920px; }

.w930 {
  width: 930px; }

.w940 {
  width: 940px; }

.w950 {
  width: 950px; }

.w960 {
  width: 960px; }

.w970 {
  width: 970px; }

.w980 {
  width: 980px; }

.w990 {
  width: 990px; }

.w1000 {
  width: 1000px; }

@media only screen and (max-width: 768px), print and (min-width: 2cm) {
  .w100p_sp {
    width: 100% !important; }

  .w30_sp {
    width: 30px !important; }

  .w40_sp {
    width: 40px !important; }

  .w50_sp {
    width: 50px !important; }

  .w60_sp {
    width: 60px !important; }

  .w70_sp {
    width: 70px !important; }

  .w80_sp {
    width: 80px !important; }

  .w90_sp {
    width: 90px !important; }

  .w100_sp {
    width: 100px !important; }

  .w110_sp {
    width: 110px !important; }

  .w120_sp {
    width: 120px !important; }

  .w130_sp {
    width: 130px !important; }

  .w140_sp {
    width: 140px !important; }

  .w150_sp {
    width: 150px !important; }

  .w160_sp {
    width: 160px !important; }

  .w170_sp {
    width: 170px !important; }

  .w180_sp {
    width: 180px !important; }

  .w190_sp {
    width: 190px !important; }

  .w200_sp {
    width: 200px !important; }

  .w210_sp {
    width: 210px !important; }

  .w220_sp {
    width: 220px !important; }

  .w230_sp {
    width: 230px !important; }

  .w240_sp {
    width: 240px !important; }

  .w250_sp {
    width: 250px !important; }

  .w260_sp {
    width: 260px !important; }

  .w270_sp {
    width: 270px !important; }

  .w280_sp {
    width: 280px !important; }

  .w290_sp {
    width: 290px !important; }

  .w300_sp {
    width: 300px !important; }

  .w310_sp {
    width: 310px !important; }

  .w320_sp {
    width: 320px !important; }

  .w330_sp {
    width: 330px !important; }

  .w340_sp {
    width: 340px !important; }

  .w350_sp {
    width: 350px !important; }

  .w360_sp {
    width: 360px !important; }

  .w370_sp {
    width: 370px !important; }

  .w380_sp {
    width: 380px !important; }

  .w390_sp {
    width: 390px !important; }

  .w400_sp {
    width: 400px !important; }

  .w410_sp {
    width: 410px !important; }

  .w420_sp {
    width: 420px !important; }

  .w430_sp {
    width: 430px !important; }

  .w440_sp {
    width: 440px !important; }

  .w450_sp {
    width: 450px !important; }

  .w460_sp {
    width: 460px !important; }

  .w470_sp {
    width: 470px !important; }

  .w480_sp {
    width: 480px !important; }

  .w490_sp {
    width: 490px !important; }

  .w500_sp {
    width: 500px !important; }

  .w510_sp {
    width: 510px !important; }

  .w520_sp {
    width: 520px !important; }

  .w530_sp {
    width: 530px !important; }

  .w540_sp {
    width: 540px !important; }

  .w550_sp {
    width: 550px !important; }

  .w560_sp {
    width: 560px !important; }

  .w570_sp {
    width: 570px !important; }

  .w580_sp {
    width: 580px !important; }

  .w590_sp {
    width: 590px !important; }

  .w600_sp {
    width: 600px !important; }

  .w610_sp {
    width: 610px !important; }

  .w620_sp {
    width: 620px !important; }

  .w630_sp {
    width: 630px !important; }

  .w640_sp {
    width: 640px !important; }

  .w650_sp {
    width: 650px !important; }

  .w660_sp {
    width: 660px !important; }

  .w670_sp {
    width: 670px !important; }

  .w680_sp {
    width: 680px !important; }

  .w690_sp {
    width: 690px !important; }

  .w700_sp {
    width: 700px !important; }

  .w710_sp {
    width: 710px !important; }

  .w720_sp {
    width: 720px !important; }

  .w730_sp {
    width: 730px !important; }

  .w740_sp {
    width: 740px !important; }

  .w750_sp {
    width: 750px !important; }

  .w760_sp {
    width: 760px !important; }

  .w770_sp {
    width: 770px !important; }

  .w780_sp {
    width: 780px !important; }

  .w790_sp {
    width: 790px !important; }

  .w800_sp {
    width: 800px !important; }

  .w810_sp {
    width: 810px !important; }

  .w820_sp {
    width: 820px !important; }

  .w830_sp {
    width: 830px !important; }

  .w840_sp {
    width: 840px !important; }

  .w850_sp {
    width: 850px !important; }

  .w860_sp {
    width: 860px !important; }

  .w870_sp {
    width: 870px !important; }

  .w880_sp {
    width: 880px !important; }

  .w890_sp {
    width: 890px !important; }

  .w900_sp {
    width: 900px !important; }

  .w910_sp {
    width: 910px !important; }

  .w920_sp {
    width: 920px !important; }

  .w930_sp {
    width: 930px !important; }

  .w940_sp {
    width: 940px !important; }

  .w950_sp {
    width: 950px !important; }

  .w960_sp {
    width: 960px !important; }

  .w970_sp {
    width: 970px !important; }

  .w980_sp {
    width: 980px !important; }

  .w990_sp {
    width: 990px !important; }

  .w1000_sp {
    width: 1000px !important; } }
.h60 {
  height: 60px; }

.h80 {
  height: 80px; }

.h100 {
  height: 100px; }

@media only screen and (max-width: 768px), print and (min-width: 2cm) {
  .h40_sp {
    height: 40px; }

  .h60_sp {
    height: 60px; } }
.bc_main {
  background-color: #F40D15 !important; }

.bc_sub {
  background-color: #F7F5F2 !important; }

.bc_white {
  background-color: #fff !important; }

.bc_lglay {
  background-color: #f6f6f6; }

.bc_lblue {
  background-color: #F5F6FA; }

.border_1 {
  border: solid 1px #F40D15; }

.radius_5 {
  overflow: hidden;
  border-radius: 5px; }

.radius_10 {
  overflow: hidden;
  border-radius: 10px; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .radius_10 {
      border-radius: 6px; } }

.radius_15 {
  overflow: hidden;
  border-radius: 15px; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .radius_15 {
      border-radius: 7px; } }

/* ------------------------------
タイトル
------------------------------ */
.ttl_01 {
  width: 100%;
  padding: 0.7em 1em 0.9em 1.7em;
  min-height: 60px;
  position: relative;
  line-height: 1.4;
  margin-bottom: 1em;
  opacity: 0; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .ttl_01 {
      padding: 0.7em 1em 0.9em 1.6em;
      min-height: auto; } }
  .ttl_01::before {
    content: "";
    width: 0;
    height: 2px;
    background-color: #000;
    transition: .8s;
    position: absolute;
    left: 0;
    bottom: 0; }
  .ttl_01::after {
    content: "";
    width: 25px;
    height: 50px;
    background-color: #F40D15;
    clip-path: polygon(0 0, 100% 0, 0 100%);
    transition: .6s;
    position: absolute;
    left: 0;
    top: -50px; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .ttl_01::after {
        width: 23px;
        height: 46px; } }
  .ttl_01.active {
    opacity: 1; }
    .ttl_01.active::before {
      width: 100%; }
    .ttl_01.active::after {
      top: 0; }

.ttl_02 {
  width: 100%;
  padding: 0.6em 1em 0.6em 1.7em;
  min-height: 80px;
  position: relative;
  line-height: 1.4;
  margin-bottom: 1em;
  background-color: #000;
  color: #fff; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .ttl_02 {
      padding: 0.75em 1em 0.75em 1.6em;
      min-height: 70px; } }
  .ttl_02::before {
    content: "";
    width: 28px;
    height: 100%;
    background: url("../img/ttl02_before.svg") repeat-y 0 0/100% auto;
    transition: .3s;
    position: absolute;
    left: 3px;
    top: 0; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .ttl_02::before {
        width: 20px;
        left: 3px; } }
  .ttl_02::after {
    content: "";
    width: 106px;
    height: 100%;
    background: url("../img/ttl02_after.svg") repeat-y right top/100% auto;
    transition: .3s;
    position: absolute;
    right: 0;
    top: 0; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .ttl_02::after {
        width: 92.6px; } }

/* ------------------------------
ボタン
------------------------------ */
@keyframes linkAnime {
  0% {
    transform: translate(-300%, -50%);
    opacity: 0; }
  100% {
    transform: translate(-50%, -50%);
    opacity: 1; } }
.btn_01 {
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  background-color: #fff;
  padding-left: 2em;
  padding-right: 35px;
  padding-bottom: 0.2em;
  font-size: 1.8rem;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  transition: .3s;
  overflow: hidden;
  z-index: 1; }
  .btn_01 i {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    width: 30px;
    height: 9px;
    transition: .3s;
    position: relative;
    left: 0; }
    .btn_01 i::before {
      content: "";
      width: 18px;
      height: 2px;
      background-color: #000;
      transition: .3s; }
    .btn_01 i::after {
      content: "";
      width: 14px;
      height: 9px;
      background-color: #000;
      clip-path: polygon(0 0, 100% 100%, 0 100%);
      transition: .3s;
      position: relative;
      left: -2px; }
  .btn_01:hover i {
    width: 37px;
    left: 7px; }
    .btn_01:hover i::before {
      width: 27px;
      background-color: #fff; }
    .btn_01:hover i::after {
      background-color: #fff; }
  .btn_01::after {
    content: "";
    width: 120px;
    height: 60px;
    background-color: #F40D15;
    clip-path: polygon(25% 0, 100% 0, 100% 100%, 0 100%);
    transition: .3s;
    position: absolute;
    top: 0;
    right: -90px;
    z-index: -1; }
  .btn_01:hover {
    color: #F40D15; }
    .btn_01:hover::after {
      right: -45px; }
  .btn_01.btn_border {
    border: solid 2px #000; }

.btn_02 {
  height: 90px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  background-color: #fff;
  padding-left: 2em;
  padding-right: 35px;
  padding-bottom: 0.2em;
  font-size: 2.4rem;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  transition: .3s;
  overflow: hidden;
  z-index: 1;
  border: solid 2px #000;
  box-shadow: 5px 5px 0px 0px black; }
  .btn_02 i {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    width: 30px;
    height: 9px;
    transition: .3s;
    position: relative;
    left: 0; }
    .btn_02 i::before {
      content: "";
      width: 18px;
      height: 2px;
      background-color: #000;
      transition: .3s; }
    .btn_02 i::after {
      content: "";
      width: 14px;
      height: 9px;
      background-color: #000;
      clip-path: polygon(0 0, 100% 100%, 0 100%);
      transition: .3s;
      position: relative;
      left: -2px; }
  .btn_02:hover i {
    width: 37px;
    left: 7px; }
    .btn_02:hover i::before {
      width: 27px;
      background-color: #F40D15; }
    .btn_02:hover i::after {
      background-color: #F40D15; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .btn_02 {
      font-size: 1.8rem;
      height: 70px;
      padding-left: 1.2em;
      padding-right: 15px; } }
  .btn_02 i {
    top: 0.1em; }
  .btn_02:hover {
    color: #F40D15;
    border-color: #F40D15;
    box-shadow: 1px 1px 0px 0px #f40d15; }
    .btn_02:hover::after {
      right: -45px; }

.btn_03 {
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  position: relative;
  background-color: #EE9B17;
  color: #fff;
  padding-left: 2em;
  padding-right: 35px;
  padding-bottom: 0.2em;
  font-size: 1.8rem;
  font-weight: 500;
  transition: .3s;
  overflow: hidden;
  z-index: 1; }
  .btn_03 i {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    width: 30px;
    height: 9px;
    transition: .3s;
    position: relative;
    left: 0; }
    .btn_03 i::before {
      content: "";
      width: 18px;
      height: 2px;
      background-color: #fff;
      transition: .3s; }
    .btn_03 i::after {
      content: "";
      width: 14px;
      height: 9px;
      background-color: #fff;
      clip-path: polygon(0 0, 100% 100%, 0 100%);
      transition: .3s;
      position: relative;
      left: -2px; }
  .btn_03:hover i {
    width: 37px;
    left: 7px; }
    .btn_03:hover i::before {
      width: 27px;
      background-color: #fff; }
    .btn_03:hover i::after {
      background-color: #fff; }
  .btn_03:hover::after {
    right: -45px; }

.btn_arrow {
  align-items: center; }
  .btn_arrow i {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    width: 24px;
    height: 7.2px;
    transition: .3s;
    position: relative;
    left: 0; }
    .btn_arrow i::before {
      content: "";
      width: 14.8px;
      height: 1.6px;
      background-color: #000;
      transition: .3s; }
    .btn_arrow i::after {
      content: "";
      width: 11.2px;
      height: 7.2px;
      background-color: #000;
      clip-path: polygon(0 0, 100% 100%, 0 100%);
      transition: .3s;
      position: relative;
      left: -2px; }
  .btn_arrow:hover i {
    width: 29.6px;
    left: 5.6px; }
    .btn_arrow:hover i::before {
      width: 22px;
      background-color: #F40D15; }
    .btn_arrow:hover i::after {
      background-color: #F40D15; }

.btn_between {
  display: flex;
  justify-content: space-between; }

.btn_submit {
  display: flex;
  justify-content: space-between;
  background-color: #000; }

.nav_anc {
  display: flex;
  width: 100%;
  gap: 20px;
  flex-wrap: wrap; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .nav_anc {
      gap: 10px; } }
  .nav_anc a {
    width: calc((100% - 40px)/3);
    display: flex;
    height: 60px;
    justify-content: center;
    align-items: center;
    border: solid 1px #999;
    border-radius: 10px;
    font-size: 2rem;
    font-weight: 500;
    position: relative; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .nav_anc a {
        width: 100%;
        height: 50px;
        font-size: 1.6rem;
        width: calc((100% - 10px)/2);
        padding-right: 20px;
        border-radius: 6px; } }
    .nav_anc a::before {
      content: "";
      width: 17px;
      height: 13px;
      background-color: #F40D15;
      clip-path: polygon(0 0, 100% 0, 50% 100%);
      position: absolute;
      right: 20px;
      top: 23px; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .nav_anc a::before {
          width: 15px;
          height: 11px;
          right: 12px;
          top: 18px; } }

/* ------------------------------
リスト
------------------------------ */
.list_square li::before {
  content: "";
  width: 0.8em;
  height: 0.8em;
  background-color: #F40D15;
  display: inline-block;
  margin-right: 0.5em;
  text-indent: -1.3em; }

.list_dot li {
  padding-left: 1em; }
  .list_dot li::before {
    content: "・";
    display: inline-block;
    text-indent: -1em; }
.list_dot__2 li {
  line-height: 1.6;
  margin-top: 0.4em; }

.list_tag {
  display: flex;
  flex-wrap: wrap;
  gap: 10px; }
  .list_tag li {
    height: 30px;
    border-radius: 15px;
    display: flex;
    justify-content: center;
    align-items: center; }

.list_counter {
  counter-reset: listnum;
  /* カウンターをリセット */
  list-style: none;
  /* 標準のスタイルは消す */ }
  .list_counter li {
    line-height: 1.6;
    margin-top: 0.3em;
    text-indent: -1.5em;
    padding-left: 1.5em; }
    .list_counter li::before {
      counter-increment: listnum;
      /* counter-resetと同じ文字列 */
      content: counter(listnum) ".";
      /* カウントした数に応じて番号を表示 */
      padding-right: 0.5em; }

/* ------------------------------
テーブル
------------------------------ */
.table-responsive {
  min-height: .01%;
  overflow-x: auto; }
  .table-responsive > * {
    max-width: none !important; }

.table_01 {
  width: 100%; }
  .table_01 tr th, .table_01 tr td {
    border-bottom: solid 1px #ddd;
    line-height: 1.6;
    padding: 0.6em 0; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .table_01 tr th, .table_01 tr td {
        padding: 0.8em 0.6em; } }
  .table_01 tr th {
    font-weight: 600;
    width: 8.6em; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .table_01 tr th {
        width: 80px; } }

.table_02 {
  width: 100%;
  border-collapse: collapse; }
  .table_02 thead th {
    line-height: 1.6;
    padding: 0.8em 1em;
    border: solid 1px #ccc;
    vertical-align: middle;
    background-color: #000;
    color: #fff;
    text-align: center; }
  .table_02 tbody td {
    line-height: 1.6;
    padding: 0.8em 1em;
    border: solid 1px #ccc;
    vertical-align: middle; }

.table_03 {
  width: 100%;
  border-collapse: collapse; }
  .table_03 tr {
    border-bottom: solid 1px #ccc; }
    .table_03 tr th, .table_03 tr td {
      line-height: 1.6;
      padding: 1em 1em; }
    .table_03 tr th {
      width: 9em;
      background-color: #f6f6f6;
      color: #F7F5F2; }

/* ------------------------------
	フォーム
------------------------------ */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="date"],
select,
textarea {
  padding: 0.7em;
  border: 1px solid #ccc;
  border-radius: 5px;
  transition: border-color 0.3s ease-in-out; }
  input[type="text"]:focus,
  input[type="email"]:focus,
  input[type="tel"]:focus,
  input[type="date"]:focus,
  select:focus,
  textarea:focus {
    border-color: #F40D15;
    outline: none;
    box-shadow: 0 0 5px rgba(244, 13, 21, 0.5); }
  input[type="text"]::placeholder,
  input[type="email"]::placeholder,
  input[type="tel"]::placeholder,
  input[type="date"]::placeholder,
  select::placeholder,
  textarea::placeholder {
    color: #ccc;
    opacity: 1; }

input[type="radio"],
input[type="checkbox"] {
  appearance: none;
  width: 18px;
  height: 18px;
  border: 1px solid #ccc;
  border-radius: 4px;
  display: inline-block;
  position: relative;
  cursor: pointer;
  background-color: #fff;
  transition: background-color 0.3s, border-color 0.3s;
  margin-right: 0.5em;
  top: 0.22em; }

input[type="radio"] {
  border-radius: 50%; }

input[type="radio"]:checked,
input[type="checkbox"]:checked {
  background-color: #F40D15;
  border-color: #F40D15; }

input[type="radio"]:checked::after {
  content: "";
  width: 6px;
  height: 6px;
  background: #fff;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); }

input[type="checkbox"]:checked::after {
  content: "";
  width: 5px;
  height: 9px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  position: absolute;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg); }

button {
  display: block;
  padding: 1em 2em;
  background: #F40D15;
  color: #fff;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  transition: background-color 0.3s;
  align-items: center; }
  button i {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    width: 30px;
    height: 9px;
    transition: .3s;
    position: relative;
    left: 0; }
    button i::before {
      content: "";
      width: 18px;
      height: 2px;
      background-color: #fff;
      transition: .3s; }
    button i::after {
      content: "";
      width: 14px;
      height: 9px;
      background-color: #fff;
      clip-path: polygon(0 0, 100% 100%, 0 100%);
      transition: .3s;
      position: relative;
      left: -2px; }
  button:hover i {
    width: 37px;
    left: 7px; }
    button:hover i::before {
      width: 27px;
      background-color: #F7F5F2; }
    button:hover i::after {
      background-color: #F7F5F2; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    button {
      padding: 1em 1.5em; } }
  button:hover {
    background: #c5090f; }

.set_name {
  display: flex; }
  .set_name > * {
    width: 50%; }

.icon_required {
  background-color: #FF0004;
  font-size: 1.3rem;
  color: #fff;
  display: inline-block;
  border-radius: 3px;
  padding: 4px 8px 6px;
  font-style: normal;
  line-height: 1;
  margin-left: 0.8em;
  position: relative;
  top: -0.1em;
  float: right;
  transform: translateY(1px); }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .icon_required {
      font-size: 1.2rem;
      padding: 3px 8px 5px; } }

@media only screen and (max-width: 768px), print and (min-width: 2cm) {
  .form_01 {
    width: 100vw;
    margin: 0 -15px; } }
.form_01 dl {
  display: flex;
  padding: 1.2em;
  width: 100%; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .form_01 dl {
      flex-direction: column;
      gap: 10px; } }
  .form_01 dl:nth-child(odd) {
    background-color: #f6f6f6; }
  .form_01 dl dt {
    width: 16em;
    font-weight: 600;
    line-height: 1.6;
    padding-top: 0.5em;
    padding-right: 1em; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .form_01 dl dt {
        width: 100%;
        padding-top: 0;
        padding-right: 0; } }
  .form_01 dl dd {
    flex: 1; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .form_01 dl dd {
        width: 100%; } }

/* ------------------------------
	タブ
------------------------------ */
.tab_navi .tab_btn {
  display: table;
  width: 100%; }
  .tab_navi .tab_btn.tab_2 li {
    width: 50%; }
  .tab_navi .tab_btn.tab_3 li {
    width: 33.33%; }
  .tab_navi .tab_btn.tab_4 li {
    width: 25%; }
  .tab_navi .tab_btn.tab_5 li {
    width: 20%; }
  .tab_navi .tab_btn.tab_6 li {
    width: 16.66%; }
  .tab_navi .tab_btn li {
    background-color: #eee;
    cursor: pointer;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    font-weight: 500;
    line-height: 1.4;
    padding: 0.9em;
    border-left: solid 1px #fff;
    transition: .3s; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .tab_navi .tab_btn li {
        padding: .7em 0.2em; } }
    .tab_navi .tab_btn li.active {
      background-color: #F40D15;
      color: #fff;
      cursor: default; }
    .tab_navi .tab_btn li:first-child {
      border-left: none; }
.tab_navi .tab_cont {
  margin-top: 10px; }
  .tab_navi .tab_cont > div {
    display: none;
    opacity: 0;
    animation-duration: 0.5s;
    animation-name: fade-in;
    animation-direction: alternate; }
    .tab_navi .tab_cont > div.active {
      display: block;
      opacity: 1;
      animation-duration: 1s;
      animation-name: fade-in; }

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0; }
  1% {
    display: block;
    opacity: 0; }
  100% {
    display: block;
    opacity: 1; } }
/* ------------------------------
アコーディオン
------------------------------ */
.ac_box dl dt {
  font-weight: 600;
  border-bottom: solid 2px #F40D15;
  padding: 1.2em 2em 1.2em 75px;
  position: relative;
  cursor: pointer; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .ac_box dl dt {
      padding: 0.85em 2em 0.85em 38px; } }
  .ac_box dl dt:before {
    font-size: 200%;
    color: #fff;
    background-color: #F40D15;
    font-weight: 500;
    display: block;
    content: "Q";
    position: absolute;
    top: 0.4em;
    left: 10px;
    line-height: 1;
    width: 44px;
    height: 44px;
    border-radius: 22px;
    padding-bottom: 0.1em;
    display: flex;
    justify-content: center;
    align-items: center; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .ac_box dl dt:before {
        font-size: 130%;
        width: 26px;
        height: 26px;
        border-radius: 14px;
        left: 5px;
        top: 0.6em; } }
  .ac_box dl dt:after {
    font-size: 120%;
    display: block;
    content: "＋";
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -0.5em;
    line-height: 1; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .ac_box dl dt:after {
        right: 5px; } }
.ac_box dl dd {
  padding: 1.2em 2em 1.2em 75px;
  position: relative;
  background-color: #f6f6f6; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .ac_box dl dd {
      padding: 0.85em 2em 0.85em 38px; } }
  .ac_box dl dd:before {
    font-size: 200%;
    color: #F40D15;
    background-color: #fff;
    border: solid 1px #F40D15;
    font-weight: 500;
    display: block;
    content: "A";
    position: absolute;
    top: 0.4em;
    left: 10px;
    line-height: 1;
    width: 44px;
    height: 44px;
    border-radius: 22px;
    padding-bottom: 0.1em;
    display: flex;
    justify-content: center;
    align-items: center; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .ac_box dl dd:before {
        font-size: 130%;
        width: 26px;
        height: 26px;
        border-radius: 14px;
        left: 5px;
        top: 0.6em; } }
.ac_box dl.active dt {
  color: #F40D15; }
  .ac_box dl.active dt:after {
    content: "ー"; }

/* ------------------------------
カラム
------------------------------ */
.flex_box {
  display: flex;
  flex-wrap: wrap; }
  .flex_box__item {
    display: flex;
    flex-direction: column; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .flex_box__item.d1_sp {
        width: 100% !important; }
      .flex_box__item.d2_sp {
        width: 50% !important; }
      .flex_box__item.d3_sp {
        width: 33.33% !important; } }
    .flex_box__item.d2 {
      width: 50%; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .flex_box__item.d2 {
          width: 100%; } }
    .flex_box__item.d3 {
      width: 33.33%; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .flex_box__item.d3 {
          width: 100%; } }
    .flex_box__item.d4 {
      width: 25%; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .flex_box__item.d4 {
          width: 100%; } }
    .flex_box__item.d5 {
      width: 20%; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .flex_box__item.d5 {
          width: 100%; } }
    .flex_box__item.flex_box {
      flex-direction: row; }
  .flex_box.gap_10 {
    gap: 10px; }
    .flex_box.gap_10 .flex_box__item.d2 {
      width: calc((100% - 10px)/2); }
    .flex_box.gap_10 .flex_box__item.d3 {
      width: calc((100% - 10px*2)/3); }
    .flex_box.gap_10 .flex_box__item.d4 {
      width: calc((100% - 10px*3)/4); }
  .flex_box.gap_14 {
    gap: 14px; }
    .flex_box.gap_14 .flex_box__item.d2 {
      width: calc((100% - 14px)/2); }
    .flex_box.gap_14 .flex_box__item.d3 {
      width: calc((100% - 14px*2)/3); }
    .flex_box.gap_14 .flex_box__item.d4 {
      width: calc((100% - 14px*3)/4); }
  .flex_box.gap_20 {
    gap: 20px; }
    .flex_box.gap_20 .flex_box__item.d2 {
      width: calc((100% - 20px)/2); }
    .flex_box.gap_20 .flex_box__item.d3 {
      width: calc((100% - 20px*2)/3); }
    .flex_box.gap_20 .flex_box__item.d4 {
      width: calc((100% - 20px*3)/4); }
    .flex_box.gap_20 .flex_box__item.d5 {
      width: calc((100% - 20px*4)/5); }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .flex_box.gap_20 .flex_box__item.d2_sp {
        width: calc((100% - 20px)/2) !important; }
      .flex_box.gap_20 .flex_box__item.d3_sp {
        width: calc((100% - 20px*2)/3) !important; } }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .flex_box.gap_20 {
        gap: 10px; }
        .flex_box.gap_20 .flex_box__item.d1_sp {
          width: 50%; }
        .flex_box.gap_20 .flex_box__item.d2 {
          width: calc((100% - 10px)/2); }
        .flex_box.gap_20 .flex_box__item.d3 {
          width: calc((100% - 10px*2)/3); }
        .flex_box.gap_20 .flex_box__item.d4 {
          width: calc((100% - 10px*3)/4); }
        .flex_box.gap_20 .flex_box__item.d5 {
          width: calc((100% - 10px*4)/5); } }
  .flex_box.gap_30 {
    gap: 30px; }
    .flex_box.gap_30 .flex_box__item.d2 {
      width: calc((100% - 30px)/2); }
    .flex_box.gap_30 .flex_box__item.d3 {
      width: calc((100% - 30px*2)/3); }
    .flex_box.gap_30 .flex_box__item.d4 {
      width: calc((100% - 30px*3)/4); }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .flex_box.gap_30 .flex_box__item.d2_sp {
        width: calc((100% - 30px)/2) !important; }
      .flex_box.gap_30 .flex_box__item.d3_sp {
        width: calc((100% - 30px*2)/3) !important; } }
  .flex_box.gap_40 {
    gap: 40px; }
    .flex_box.gap_40 .flex_box__item.d2 {
      width: calc((100% - 40px)/2); }
    .flex_box.gap_40 .flex_box__item.d3 {
      width: calc((100% - 40px*2)/3); }
    .flex_box.gap_40 .flex_box__item.d4 {
      width: calc((100% - 40px*3)/4); }
  .flex_box.gap_50 {
    gap: 50px; }
    .flex_box.gap_50 .flex_box__item.d2 {
      width: calc((100% - 50px)/2); }
    .flex_box.gap_50 .flex_box__item.d3 {
      width: calc((100% - 50px*2)/3); }
    .flex_box.gap_50 .flex_box__item.d4 {
      width: calc((100% - 50px*3)/4); }
    .flex_box.gap_50_30 {
      gap: 30px 50px; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .flex_box.gap_50 {
        gap: 20px; }
        .flex_box.gap_50 .flex_box__item.d2 {
          width: calc((100% - 20px)/2); }
        .flex_box.gap_50 .flex_box__item.d3 {
          width: calc((100% - 20px*2)/3); }
        .flex_box.gap_50 .flex_box__item.d4 {
          width: calc((100% - 20px*3)/4); }
        .flex_box.gap_50 .flex_box__item.d2_sp {
          width: calc((100% - 20px)/2) !important; }
        .flex_box.gap_50 .flex_box__item.d3_sp {
          width: calc((100% - 20px*2)/3) !important; } }
  .flex_box.gap_60 {
    gap: 60px; }
    .flex_box.gap_60 .flex_box__item.d2 {
      width: calc((100% - 60px)/2); }
    .flex_box.gap_60 .flex_box__item.d3 {
      width: calc((100% - 60px*2)/3); }
    .flex_box.gap_60 .flex_box__item.d4 {
      width: calc((100% - 60px*3)/4); }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .flex_box.gap_0_sp {
      gap: 0px; }
      .flex_box.gap_0_sp .flex_box__item.d2 {
        width: calc(100%/2); }
      .flex_box.gap_0_sp .flex_box__item.d3 {
        width: calc(100%/3); }
      .flex_box.gap_0_sp .flex_box__item.d4 {
        width: calc(100%/4); }
    .flex_box.gap_10_sp {
      gap: 10px; }
      .flex_box.gap_10_sp .flex_box__item.d2 {
        width: calc((100% - 10px)/2); }
      .flex_box.gap_10_sp .flex_box__item.d3 {
        width: calc((100% - 10px*2)/3); }
      .flex_box.gap_10_sp .flex_box__item.d4 {
        width: calc((100% - 10px*3)/4); }
    .flex_box.gap_20_sp {
      gap: 20px; }
      .flex_box.gap_20_sp .flex_box__item.d2 {
        width: calc((100% - 20px)/2); }
      .flex_box.gap_20_sp .flex_box__item.d3 {
        width: calc((100% - 20px*2)/3); }
      .flex_box.gap_20_sp .flex_box__item.d4 {
        width: calc((100% - 20px*3)/4); }
      .flex_box.gap_20_sp .flex_box__item.d5 {
        width: calc((100% - 20px*4)/5); } }
  @media only screen and (max-width: 768px) and (max-width: 768px), print and (min-width: 2cm) and (min-width: 2cm) {
    .flex_box.gap_20_sp .flex_box__item.d2_sp {
      width: calc((100% - 20px)/2) !important; }
    .flex_box.gap_20_sp .flex_box__item.d3_sp {
      width: calc((100% - 20px*2)/3) !important; } }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .flex_box.gap_25_sp {
      gap: 25px; }
      .flex_box.gap_25_sp .flex_box__item.d2 {
        width: calc((100% - 25px)/2); }
      .flex_box.gap_25_sp .flex_box__item.d3 {
        width: calc((100% - 25px*2)/3); }
      .flex_box.gap_25_sp .flex_box__item.d4 {
        width: calc((100% - 25px*3)/4); }
      .flex_box.gap_25_sp .flex_box__item.d5 {
        width: calc((100% - 25px*4)/5); } }
  @media only screen and (max-width: 768px) and (max-width: 768px), print and (min-width: 2cm) and (min-width: 2cm) {
    .flex_box.gap_25_sp .flex_box__item.d2_sp {
      width: calc((100% - 25px)/2) !important; }
    .flex_box.gap_25_sp .flex_box__item.d3_sp {
      width: calc((100% - 25px*2)/3) !important; } }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .flex_box.gap_30_sp {
      gap: 30px; }
      .flex_box.gap_30_sp .flex_box__item.d2 {
        width: calc((100% - 30px)/2); }
      .flex_box.gap_30_sp .flex_box__item.d3 {
        width: calc((100% - 30px*2)/3); }
      .flex_box.gap_30_sp .flex_box__item.d4 {
        width: calc((100% - 30px*3)/4); } }
  @media only screen and (max-width: 768px) and (max-width: 768px), print and (min-width: 2cm) and (min-width: 2cm) {
    .flex_box.gap_30_sp .flex_box__item.d2_sp {
      width: calc((100% - 30px)/2) !important; }
    .flex_box.gap_30_sp .flex_box__item.d3_sp {
      width: calc((100% - 30px*2)/3) !important; } }

  .flex_box.direction_r {
    flex-direction: row-reverse; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .flex_box.direction_r {
        flex-direction: column; } }
  .flex_box.direction_c {
    flex-direction: column; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .flex_box.col_sp {
      flex-direction: column; } }
  .flex_box .w_auto {
    flex: 1; }

.jc_start {
  justify-content: flex-start; }

.jc_center {
  justify-content: center; }

.jc_between {
  justify-content: space-between; }

.ai_center {
  align-items: center; }

.ai_start {
  align-items: flex-start; }

.ai_end {
  align-items: flex-end; }

/* ------------------------------
ブロック
------------------------------ */
.block_1 {
  border: solid 4px #eee;
  padding: 1em 1.5em;
  position: relative; }

/* ------------------------------
レイアウトセット
------------------------------ */
.layout_1 {
  margin-top: 80px; }
  .layout_1 .link_box {
    padding: 4% 10px 1%;
    background-color: #F40D15; }
    .layout_1 .link_box h4 {
      font-size: 30px;
      font-size: 3rem;
      text-align: center;
      padding: 10px 15px;
      font-family: 'Roboto', sans-serif;
      color: #fff; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .layout_1 .link_box h4 {
          font-size: 24px;
          font-size: 2.4rem; } }
    .layout_1 .link_box p {
      font-size: 15px;
      font-size: 1.5rem;
      color: #fff;
      text-align: center;
      margin-bottom: 35px; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .layout_1 .link_box p {
          font-size: 12px;
          font-size: 1.2rem; } }
  .layout_1 .btn_4 a {
    display: block;
    margin: 0 auto;
    padding: 4px 5px;
    width: 160px; }
  .layout_1 figure {
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .layout_1 figure {
        padding-bottom: 45%; } }

body .mrg__b03 {
  margin-bottom: .3em !important; }
body .mrg__b04 {
  margin-bottom: .4em !important; }
body .mrg__topm1 {
  margin-top: -1em !important; }
body .mrg__topm2 {
  margin-top: -2em !important; }
body .pad__10_20 {
  padding: 10px 20px; }
body .mrg__t0 {
  margin-top: 0em !important; }
body .mrg__t05 {
  margin-top: 0.5em !important; }
body .mrg__b0 {
  margin-bottom: 0em !important; }
body .mrg__b05 {
  margin-bottom: 0.5em !important; }
body .mrg__l0 {
  margin-left: 0em !important; }
body .mrg__r0 {
  margin-right: 0em !important; }
body .pad__t0 {
  padding-top: 0em !important; }
body .pad__b0 {
  padding-bottom: 0em !important; }
body .pad__l0 {
  padding-left: 0em !important; }
body .pad__0 {
  padding: 0em !important; }
body .mrg__t1 {
  margin-top: 1em !important; }
body .mrg__t15 {
  margin-top: 1.5em !important; }
body .mrg__b1 {
  margin-bottom: 1em !important; }
body .mrg__b15 {
  margin-bottom: 1.5em !important; }
body .mrg__l1 {
  margin-left: 1em !important; }
body .mrg__r1 {
  margin-right: 1em !important; }
body .pad__t1 {
  padding-top: 1em !important; }
body .pad__b1 {
  padding-bottom: 1em !important; }
body .pad__l1 {
  padding-left: 1em !important; }
body .pad__1 {
  padding: 1em !important; }
body .mrg__t2 {
  margin-top: 2em !important; }
body .mrg__t25 {
  margin-top: 2.5em !important; }
body .mrg__b2 {
  margin-bottom: 2em !important; }
body .mrg__b25 {
  margin-bottom: 2.5em !important; }
body .mrg__l2 {
  margin-left: 2em !important; }
body .mrg__r2 {
  margin-right: 2em !important; }
body .pad__t2 {
  padding-top: 2em !important; }
body .pad__b2 {
  padding-bottom: 2em !important; }
body .pad__l2 {
  padding-left: 2em !important; }
body .pad__2 {
  padding: 2em !important; }
body .mrg__t3 {
  margin-top: 3em !important; }
body .mrg__t35 {
  margin-top: 3.5em !important; }
body .mrg__b3 {
  margin-bottom: 3em !important; }
body .mrg__b35 {
  margin-bottom: 3.5em !important; }
body .mrg__l3 {
  margin-left: 3em !important; }
body .mrg__r3 {
  margin-right: 3em !important; }
body .pad__t3 {
  padding-top: 3em !important; }
body .pad__b3 {
  padding-bottom: 3em !important; }
body .pad__l3 {
  padding-left: 3em !important; }
body .pad__3 {
  padding: 3em !important; }
body .mrg__t4 {
  margin-top: 4em !important; }
body .mrg__t45 {
  margin-top: 4.5em !important; }
body .mrg__b4 {
  margin-bottom: 4em !important; }
body .mrg__b45 {
  margin-bottom: 4.5em !important; }
body .mrg__l4 {
  margin-left: 4em !important; }
body .mrg__r4 {
  margin-right: 4em !important; }
body .pad__t4 {
  padding-top: 4em !important; }
body .pad__b4 {
  padding-bottom: 4em !important; }
body .pad__l4 {
  padding-left: 4em !important; }
body .pad__4 {
  padding: 4em !important; }
body .mrg__t5 {
  margin-top: 5em !important; }
body .mrg__t55 {
  margin-top: 5.5em !important; }
body .mrg__b5 {
  margin-bottom: 5em !important; }
body .mrg__b55 {
  margin-bottom: 5.5em !important; }
body .mrg__l5 {
  margin-left: 5em !important; }
body .mrg__r5 {
  margin-right: 5em !important; }
body .pad__t5 {
  padding-top: 5em !important; }
body .pad__b5 {
  padding-bottom: 5em !important; }
body .pad__l5 {
  padding-left: 5em !important; }
body .pad__5 {
  padding: 5em !important; }
body .mrg__t6 {
  margin-top: 6em !important; }
body .mrg__t65 {
  margin-top: 6.5em !important; }
body .mrg__b6 {
  margin-bottom: 6em !important; }
body .mrg__b65 {
  margin-bottom: 6.5em !important; }
body .mrg__l6 {
  margin-left: 6em !important; }
body .mrg__r6 {
  margin-right: 6em !important; }
body .pad__t6 {
  padding-top: 6em !important; }
body .pad__b6 {
  padding-bottom: 6em !important; }
body .pad__l6 {
  padding-left: 6em !important; }
body .pad__6 {
  padding: 6em !important; }
body .mrg__t7 {
  margin-top: 7em !important; }
body .mrg__t75 {
  margin-top: 7.5em !important; }
body .mrg__b7 {
  margin-bottom: 7em !important; }
body .mrg__b75 {
  margin-bottom: 7.5em !important; }
body .mrg__l7 {
  margin-left: 7em !important; }
body .mrg__r7 {
  margin-right: 7em !important; }
body .pad__t7 {
  padding-top: 7em !important; }
body .pad__b7 {
  padding-bottom: 7em !important; }
body .pad__l7 {
  padding-left: 7em !important; }
body .pad__7 {
  padding: 7em !important; }
body .mrg__t8 {
  margin-top: 8em !important; }
body .mrg__t85 {
  margin-top: 8.5em !important; }
body .mrg__b8 {
  margin-bottom: 8em !important; }
body .mrg__b85 {
  margin-bottom: 8.5em !important; }
body .mrg__l8 {
  margin-left: 8em !important; }
body .mrg__r8 {
  margin-right: 8em !important; }
body .pad__t8 {
  padding-top: 8em !important; }
body .pad__b8 {
  padding-bottom: 8em !important; }
body .pad__l8 {
  padding-left: 8em !important; }
body .pad__8 {
  padding: 8em !important; }
body .mrg__t10p {
  margin-top: 10px !important; }
body .mrg__b10p {
  margin-bottom: 10px !important; }
body .mrg__l10p {
  margin-left: 10px !important; }
body .mrg__r10p {
  margin-right: 10px !important; }
body .pad__t10p {
  padding-top: 10px !important; }
body .pad__b10p {
  padding-bottom: 10px !important; }
body .pad__l10p {
  padding-left: 10px !important; }
body .pad__10p {
  padding: 10px !important; }
body .mrg__t15p {
  margin-top: 15px !important; }
body .mrg__b15p {
  margin-bottom: 15px !important; }
body .mrg__l15p {
  margin-left: 15px !important; }
body .mrg__r15p {
  margin-right: 15px !important; }
body .pad__t15p {
  padding-top: 15px !important; }
body .pad__b15p {
  padding-bottom: 15px !important; }
body .pad__l15p {
  padding-left: 15px !important; }
body .pad__15p {
  padding: 15px !important; }
body .mrg__t20p {
  margin-top: 20px !important; }
body .mrg__b20p {
  margin-bottom: 20px !important; }
body .mrg__l20p {
  margin-left: 20px !important; }
body .mrg__r20p {
  margin-right: 20px !important; }
body .pad__t20p {
  padding-top: 20px !important; }
body .pad__b20p {
  padding-bottom: 20px !important; }
body .pad__l20p {
  padding-left: 20px !important; }
body .pad__20p {
  padding: 20px !important; }
body .mrg__t25p {
  margin-top: 25px !important; }
body .mrg__b25p {
  margin-bottom: 25px !important; }
body .mrg__l25p {
  margin-left: 25px !important; }
body .mrg__r25p {
  margin-right: 25px !important; }
body .pad__t25p {
  padding-top: 25px !important; }
body .pad__b25p {
  padding-bottom: 25px !important; }
body .pad__l25p {
  padding-left: 25px !important; }
body .pad__25p {
  padding: 25px !important; }
body .mrg__t30p {
  margin-top: 30px !important; }
body .mrg__b30p {
  margin-bottom: 30px !important; }
body .mrg__l30p {
  margin-left: 30px !important; }
body .mrg__r30p {
  margin-right: 30px !important; }
body .pad__t30p {
  padding-top: 30px !important; }
body .pad__b30p {
  padding-bottom: 30px !important; }
body .pad__l30p {
  padding-left: 30px !important; }
body .pad__30p {
  padding: 30px !important; }
body .mrg__t35p {
  margin-top: 35px !important; }
body .mrg__b35p {
  margin-bottom: 35px !important; }
body .mrg__l35p {
  margin-left: 35px !important; }
body .mrg__r35p {
  margin-right: 35px !important; }
body .pad__t35p {
  padding-top: 35px !important; }
body .pad__b35p {
  padding-bottom: 35px !important; }
body .pad__l35p {
  padding-left: 35px !important; }
body .pad__35p {
  padding: 35px !important; }
body .mrg__t40p {
  margin-top: 40px !important; }
body .mrg__b40p {
  margin-bottom: 40px !important; }
body .mrg__l40p {
  margin-left: 40px !important; }
body .mrg__r40p {
  margin-right: 40px !important; }
body .pad__t40p {
  padding-top: 40px !important; }
body .pad__b40p {
  padding-bottom: 40px !important; }
body .pad__l40p {
  padding-left: 40px !important; }
body .pad__40p {
  padding: 40px !important; }
@media only screen and (max-width: 768px), print and (min-width: 2cm) {
  body .mrg__t0_sp {
    margin-top: 0em !important; }
  body .mrg__t05_sp {
    margin-top: 0.5em !important; }
  body .mrg__b0_sp {
    margin-bottom: 0em !important; }
  body .mrg__b05_sp {
    margin-bottom: 0.5em !important; }
  body .mrg__l0_sp {
    margin-left: 0em !important; }
  body .mrg__r0_sp {
    margin-right: 0em !important; }
  body .pad__t0_sp {
    padding-top: 0em !important; }
  body .pad__b0_sp {
    padding-bottom: 0em !important; }
  body .pad__l0_sp {
    padding-left: 0em !important; }
  body .pad__0_sp {
    padding: 0em !important; }
  body .mrg__t1_sp {
    margin-top: 1em !important; }
  body .mrg__t15_sp {
    margin-top: 1.5em !important; }
  body .mrg__b1_sp {
    margin-bottom: 1em !important; }
  body .mrg__b15_sp {
    margin-bottom: 1.5em !important; }
  body .mrg__l1_sp {
    margin-left: 1em !important; }
  body .mrg__r1_sp {
    margin-right: 1em !important; }
  body .pad__t1_sp {
    padding-top: 1em !important; }
  body .pad__b1_sp {
    padding-bottom: 1em !important; }
  body .pad__l1_sp {
    padding-left: 1em !important; }
  body .pad__1_sp {
    padding: 1em !important; }
  body .mrg__t2_sp {
    margin-top: 2em !important; }
  body .mrg__t25_sp {
    margin-top: 2.5em !important; }
  body .mrg__b2_sp {
    margin-bottom: 2em !important; }
  body .mrg__b25_sp {
    margin-bottom: 2.5em !important; }
  body .mrg__l2_sp {
    margin-left: 2em !important; }
  body .mrg__r2_sp {
    margin-right: 2em !important; }
  body .pad__t2_sp {
    padding-top: 2em !important; }
  body .pad__b2_sp {
    padding-bottom: 2em !important; }
  body .pad__l2_sp {
    padding-left: 2em !important; }
  body .pad__2_sp {
    padding: 2em !important; }
  body .mrg__t3_sp {
    margin-top: 3em !important; }
  body .mrg__t35_sp {
    margin-top: 3.5em !important; }
  body .mrg__b3_sp {
    margin-bottom: 3em !important; }
  body .mrg__b35_sp {
    margin-bottom: 3.5em !important; }
  body .mrg__l3_sp {
    margin-left: 3em !important; }
  body .mrg__r3_sp {
    margin-right: 3em !important; }
  body .pad__t3_sp {
    padding-top: 3em !important; }
  body .pad__b3_sp {
    padding-bottom: 3em !important; }
  body .pad__l3_sp {
    padding-left: 3em !important; }
  body .pad__3_sp {
    padding: 3em !important; }
  body .mrg__t4_sp {
    margin-top: 4em !important; }
  body .mrg__t45_sp {
    margin-top: 4.5em !important; }
  body .mrg__b4_sp {
    margin-bottom: 4em !important; }
  body .mrg__b45_sp {
    margin-bottom: 4.5em !important; }
  body .mrg__l4_sp {
    margin-left: 4em !important; }
  body .mrg__r4_sp {
    margin-right: 4em !important; }
  body .pad__t4_sp {
    padding-top: 4em !important; }
  body .pad__b4_sp {
    padding-bottom: 4em !important; }
  body .pad__l4_sp {
    padding-left: 4em !important; }
  body .pad__4_sp {
    padding: 4em !important; }
  body .mrg__t5_sp {
    margin-top: 5em !important; }
  body .mrg__t55_sp {
    margin-top: 5.5em !important; }
  body .mrg__b5_sp {
    margin-bottom: 5em !important; }
  body .mrg__b55_sp {
    margin-bottom: 5.5em !important; }
  body .mrg__l5_sp {
    margin-left: 5em !important; }
  body .mrg__r5_sp {
    margin-right: 5em !important; }
  body .pad__t5_sp {
    padding-top: 5em !important; }
  body .pad__b5_sp {
    padding-bottom: 5em !important; }
  body .pad__l5_sp {
    padding-left: 5em !important; }
  body .pad__5_sp {
    padding: 5em !important; }
  body .mrg__t6_sp {
    margin-top: 6em !important; }
  body .mrg__t65_sp {
    margin-top: 6.5em !important; }
  body .mrg__b6_sp {
    margin-bottom: 6em !important; }
  body .mrg__b65_sp {
    margin-bottom: 6.5em !important; }
  body .mrg__l6_sp {
    margin-left: 6em !important; }
  body .mrg__r6_sp {
    margin-right: 6em !important; }
  body .pad__t6_sp {
    padding-top: 6em !important; }
  body .pad__b6_sp {
    padding-bottom: 6em !important; }
  body .pad__l6_sp {
    padding-left: 6em !important; }
  body .pad__6_sp {
    padding: 6em !important; }
  body .mrg__t7_sp {
    margin-top: 7em !important; }
  body .mrg__t75_sp {
    margin-top: 7.5em !important; }
  body .mrg__b7_sp {
    margin-bottom: 7em !important; }
  body .mrg__b75_sp {
    margin-bottom: 7.5em !important; }
  body .mrg__l7_sp {
    margin-left: 7em !important; }
  body .mrg__r7_sp {
    margin-right: 7em !important; }
  body .pad__t7_sp {
    padding-top: 7em !important; }
  body .pad__b7_sp {
    padding-bottom: 7em !important; }
  body .pad__l7_sp {
    padding-left: 7em !important; }
  body .pad__7_sp {
    padding: 7em !important; }
  body .mrg__t8_sp {
    margin-top: 8em !important; }
  body .mrg__t85_sp {
    margin-top: 8.5em !important; }
  body .mrg__b8_sp {
    margin-bottom: 8em !important; }
  body .mrg__b85_sp {
    margin-bottom: 8.5em !important; }
  body .mrg__l8_sp {
    margin-left: 8em !important; }
  body .mrg__r8_sp {
    margin-right: 8em !important; }
  body .pad__t8_sp {
    padding-top: 8em !important; }
  body .pad__b8_sp {
    padding-bottom: 8em !important; }
  body .pad__l8_sp {
    padding-left: 8em !important; }
  body .pad__8_sp {
    padding: 8em !important; }
  body .mrg__t10p_sp {
    margin-top: 10px !important; }
  body .mrg__b10p_sp {
    margin-bottom: 10px !important; }
  body .mrg__l10p_sp {
    margin-left: 10px !important; }
  body .mrg__r10p_sp {
    margin-right: 10px !important; }
  body .pad__t10p_sp {
    padding-top: 10px !important; }
  body .pad__b10p_sp {
    padding-bottom: 10px !important; }
  body .pad__l10p_sp {
    padding-left: 10px !important; }
  body .pad__10p_sp {
    padding: 10px !important; }
  body .mrg__t15p_sp {
    margin-top: 15px !important; }
  body .mrg__b15p_sp {
    margin-bottom: 15px !important; }
  body .mrg__l15p_sp {
    margin-left: 15px !important; }
  body .mrg__r15p_sp {
    margin-right: 15px !important; }
  body .pad__t15p_sp {
    padding-top: 15px !important; }
  body .pad__b15p_sp {
    padding-bottom: 15px !important; }
  body .pad__l15p_sp {
    padding-left: 15px !important; }
  body .pad__15p_sp {
    padding: 15px !important; }
  body .mrg__t20p_sp {
    margin-top: 20px !important; }
  body .mrg__b20p_sp {
    margin-bottom: 20px !important; }
  body .mrg__l20p_sp {
    margin-left: 20px !important; }
  body .mrg__r20p_sp {
    margin-right: 20px !important; }
  body .pad__t20p_sp {
    padding-top: 20px !important; }
  body .pad__b20p_sp {
    padding-bottom: 20px !important; }
  body .pad__l20p_sp {
    padding-left: 20px !important; }
  body .pad__20p_sp {
    padding: 20px !important; }
  body .mrg__t25p_sp {
    margin-top: 25px !important; }
  body .mrg__b25p_sp {
    margin-bottom: 25px !important; }
  body .mrg__l25p_sp {
    margin-left: 25px !important; }
  body .mrg__r25p_sp {
    margin-right: 25px !important; }
  body .pad__t25p_sp {
    padding-top: 25px !important; }
  body .pad__b25p_sp {
    padding-bottom: 25px !important; }
  body .pad__l25p_sp {
    padding-left: 25px !important; }
  body .pad__25p_sp {
    padding: 25px !important; }
  body .mrg__t30p_sp {
    margin-top: 30px !important; }
  body .mrg__b30p_sp {
    margin-bottom: 30px !important; }
  body .mrg__l30p_sp {
    margin-left: 30px !important; }
  body .mrg__r30p_sp {
    margin-right: 30px !important; }
  body .pad__t30p_sp {
    padding-top: 30px !important; }
  body .pad__b30p_sp {
    padding-bottom: 30px !important; }
  body .pad__l30p_sp {
    padding-left: 30px !important; }
  body .pad__30p_sp {
    padding: 30px !important; }
  body .mrg__t35p_sp {
    margin-top: 35px !important; }
  body .mrg__b35p_sp {
    margin-bottom: 35px !important; }
  body .mrg__l35p_sp {
    margin-left: 35px !important; }
  body .mrg__r35p_sp {
    margin-right: 35px !important; }
  body .pad__t35p_sp {
    padding-top: 35px !important; }
  body .pad__b35p_sp {
    padding-bottom: 35px !important; }
  body .pad__l35p_sp {
    padding-left: 35px !important; }
  body .pad__35p_sp {
    padding: 35px !important; }
  body .mrg__t40p_sp {
    margin-top: 40px !important; }
  body .mrg__b40p_sp {
    margin-bottom: 40px !important; }
  body .mrg__l40p_sp {
    margin-left: 40px !important; }
  body .mrg__r40p_sp {
    margin-right: 40px !important; }
  body .pad__t40p_sp {
    padding-top: 40px !important; }
  body .pad__b40p_sp {
    padding-bottom: 40px !important; }
  body .pad__l40p_sp {
    padding-left: 40px !important; }
  body .pad__40p_sp {
    padding: 40px !important; } }

/* ベース
---------------------------------- */
*, :after, :before {
  box-sizing: border-box; }

html {
  font-size: 62.5%;
  min-height: 100%;
  height: 100%; }

body {
  color: #000;
  font-family: "Noto Sans JP","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,verdana,Osaka,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
  font-size: 1.6rem;
  line-height: 1.8;
  font-feature-settings: "palt";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  min-height: 100%;
  letter-spacing: 0.05em;
  height: 100%; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    body {
      font-size: 1.4rem; } }

a {
  color: #000;
  text-decoration: none; }
  a.comingsoon {
    pointer-events: none;
    cursor: default;
    opacity: 0.3; }

img {
  width: 100%;
  max-width: 100%;
  height: auto; }
  img:focus {
    outline: none; }

p {
  text-align: justify;
  text-justify: inter-ideograph;
  -ms-text-justify: inter-ideograph; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    p {
      font-size: 1.4rem; } }

sub {
  display: inline-block;
  transform: translateY(-12%) scale(90%); }

#loading {
  width: 100%;
  height: 100%;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 900;
  overflow: hidden;
  /* &:after {
       content: "";
       display: block;
       width: 100px;
       height: 63px;
       background: url("../img/mark.svg") no-repeat -100px 0;
       background-size: 100px auto;
       position: absolute;
       right: 50%;
       top: 50%;
       transform: translate(170px,-50%);
       z-index: 903;
       transition: 0.4s;
       transition-timing-function:cubic-bezier(.32,.04,.2,1.03);
       @media only screen and (max-width:768px), print and (min-width: 2cm){
           transform: translate(50%,-50%);
       }
   }*/ }
  #loading:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: #fff;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 902; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      #loading:before {
        right: 0; } }

#container {
  width: 100%;
  overflow: hidden; }

.inner {
  width: 100%;
  max-width: 1000px;
  padding: 0;
  margin: 0 auto; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .inner {
      padding: 0 15px;
      margin: 0 auto; } }

.contents {
  position: relative;
  min-height: calc(100vh - 180px);
  margin-top: 80px; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .contents {
      min-height: calc(100vh - 60px);
      margin-top: 60px; } }

.cont__header {
  width: 100%;
  z-index: -1;
  display: flex;
  background-color: #F7F5F2; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .cont__header {
      flex-direction: column; } }
  .cont__header_img {
    width: 58vw;
    clip-path: inset(0 100% 0 0);
    transition: 1s; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .cont__header_img {
        width: 100%; }
        .cont__header_img img {
          height: 200px;
          object-fit: cover; } }
  .cont__header_ttl {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative;
    z-index: 2;
    padding-top: 50px; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .cont__header_ttl {
        padding-top: 15px;
        height: 140px;
        width: 100%;
        flex: auto; } }
    .cont__header_ttl::before {
      content: "";
      width: 47vw;
      height: 23.2vw;
      background: url("../img/obj_header.svg") no-repeat right bottom/contain;
      position: absolute;
      right: -100px;
      bottom: 0;
      opacity: 0;
      z-index: -1;
      transition: 1.2s; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .cont__header_ttl::before {
          width: 320px;
          height: 160px; } }
    .cont__header_ttl h1 {
      font-size: 4rem;
      font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
      font-weight: 600;
      text-align: center;
      letter-spacing: 0.05em;
      line-height: 1.7;
      transition: 1.6s .4s;
      opacity: 0; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .cont__header_ttl h1 {
          font-size: 2.4rem; } }
    .cont__header_ttl p {
      color: #F40D15;
      font-size: 1.6rem;
      font-weight: 400;
      letter-spacing: 0.1em;
      text-align: center;
      letter-spacing: 0.1em;
      transition: 1.8s 0.6s;
      opacity: 0; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .cont__header_ttl p {
          font-size: 1.2rem; } }
  .cont__header.active .cont__header_img {
    opacity: 1;
    clip-path: inset(0 0 0 0); }
  .cont__header.active .cont__header_ttl::before {
    right: 0;
    opacity: 1; }
  .cont__header.active h1 {
    opacity: 1; }
  .cont__header.active p {
    opacity: 1; }

.pagetop {
  position: fixed;
  bottom: 0px;
  right: 0px;
  width: 60px;
  height: 60px;
  background-color: #000;
  display: none; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .pagetop {
      width: 100%;
      position: static;
      margin-top: 1px;
      display: flex;
      justify-content: center;
      align-items: center;
      background-color: #fff;
      border-top: solid 3px #F7F5F2; } }
  .pagetop::before {
    content: "";
    background: #fff;
    height: calc(tan(60deg) * 17px / 2);
    width: 17px;
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%); }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .pagetop::before {
        background: #F40D15;
        position: static;
        transform: translate(0, 0); } }

/* header
---------------------------------- */
.global__header {
  width: 100%;
  height: 80px;
  transition: .4s ease-in-out;
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  padding-left: 15px;
  z-index: 1999;
  display: flex;
  align-items: center;
  justify-content: space-between; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .global__header {
      padding-left: 10px;
      height: 60px; } }
  .global__header_ttl {
    width: 228px;
    transition: .4s ease-in-out; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .global__header_ttl {
        width: 200px; } }
  .global__header_nav {
    display: flex;
    align-items: center;
    margin-left: auto;
    gap: 5px;
    padding-left: 10px; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .global__header_nav {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        background-color: #fff;
        gap: 0;
        padding-left: 0px;
        border-top: solid 1px #eee; } }
    .global__header_nav .tel {
      display: flex;
      align-items: center;
      line-height: 1.6; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .global__header_nav .tel {
          width: 50%;
          height: 60px;
          justify-content: center; } }
      .global__header_nav .tel::before {
        content: "";
        width: 32px;
        height: 34px;
        background: url("../img/icon_tel.svg") no-repeat center/contain;
        transform: translateY(5px); }
        @media only screen and (max-width: 768px), print and (min-width: 2cm) {
          .global__header_nav .tel::before {
            transform: translateY(2px); } }
      .global__header_nav .tel span:nth-child(1) {
        font-size: 3.8rem;
        font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
        font-weight: 500;
        margin-left: 0.15em; }
        @media only screen and (max-width: 768px), print and (min-width: 2cm) {
          .global__header_nav .tel span:nth-child(1) {
            display: none; } }
      .global__header_nav .tel span:nth-child(2) {
        font-size: 1.4rem;
        margin-left: 1em; }
        @media only screen and (max-width: 768px), print and (min-width: 2cm) {
          .global__header_nav .tel span:nth-child(2) {
            font-size: 1.2rem;
            margin-left: 0.8em; } }
    .global__header_nav .btn_contact {
      color: #fff;
      font-weight: 600;
      width: 204px;
      height: 70px;
      margin-bottom: 10px;
      margin-left: 14px;
      line-height: 1.4;
      font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
      background-color: #F40D15;
      display: flex;
      align-items: center;
      justify-content: space-between;
      transition: .4s;
      padding: 10px 20px 0; }
      .global__header_nav .btn_contact i {
        display: flex;
        justify-content: center;
        align-items: flex-end;
        width: 22px;
        height: 6.6px;
        transition: .3s;
        position: relative;
        left: 0; }
        .global__header_nav .btn_contact i::before {
          content: "";
          width: 13.7333333333px;
          height: 1.4666666667px;
          background-color: #fff;
          transition: .3s; }
        .global__header_nav .btn_contact i::after {
          content: "";
          width: 10.2666666667px;
          height: 6.6px;
          background-color: #fff;
          clip-path: polygon(0 0, 100% 100%, 0 100%);
          transition: .3s;
          position: relative;
          left: -2px; }
      .global__header_nav .btn_contact:hover i {
        width: 27.1333333333px;
        left: 5.1333333333px; }
        .global__header_nav .btn_contact:hover i::before {
          width: 20.3333333333px;
          background-color: #fff; }
        .global__header_nav .btn_contact:hover i::after {
          background-color: #fff; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .global__header_nav .btn_contact {
          width: 50%;
          line-height: 1.4;
          font-size: 1.4rem;
          height: 60px;
          margin-bottom: 0;
          margin-left: 0;
          padding: 0 15px; } }
  .global__header.header_min {
    background-color: #fff; }
  .global__header.menu_open {
    background-color: #fff; }

body:not(.home) .global__header {
  background-color: #fff; }

/* Toggle Button */
.nav__toggle {
  width: 60px;
  height: 60px;
  cursor: pointer;
  transition: .4s ease-in-out;
  position: relative;
  display: none;
  /* #nav-toggle 切り替えアニメーション */ }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .nav__toggle {
      width: 54px;
      height: 40px;
      display: block; } }
  .nav__toggle span {
    display: block;
    height: 3px;
    width: 32px;
    background-color: #000;
    position: absolute;
    left: 50%;
    top: 50%;
    transition: .25s ease-in-out; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .nav__toggle span {
        width: 24px; } }
    .nav__toggle span:nth-child(1) {
      transform: translate(-50%, calc(-50% - 5px)); }
    .nav__toggle span:nth-child(2) {
      transform: translate(-50%, calc(-50% + 5px)); }
  @media only screen and (min-width: 769px), print and (min-width: 2cm) {
    .nav__toggle:hover span:nth-child(1) {
      transform: translate(-50%, calc(-50% - 6px)); }
    .nav__toggle:hover span:nth-child(2) {
      transform: translate(-50%, calc(-50% + 6px)); } }
  .nav__toggle.open span:nth-child(1) {
    transform: translate(-50%, -50%) rotate(45deg); }
  .nav__toggle.open span:nth-child(2) {
    transform: translate(-50%, -50%) rotate(-45deg); }

.global__menu {
  position: fixed;
  right: 0;
  top: 80px;
  z-index: 1900;
  background-color: rgba(0, 0, 0, 0.9);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px); }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .global__menu {
      top: 60px;
      width: 100%;
      height: calc(100% - 60px);
      overflow-y: scroll;
      padding: 0;
      display: none; } }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .global__menu_inner {
      flex-direction: column;
      display: flex;
      width: 100%; } }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .global__menu_nav {
      width: 100%;
      height: calc(100% - 60px);
      display: flex;
      justify-content: center;
      align-items: center;
      padding-bottom: 40px; } }
  .global__menu_nav nav {
    display: flex;
    align-items: center;
    height: 50px;
    padding: 0 1.6em 0.2em 2em; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .global__menu_nav nav {
        height: 100%;
        flex-direction: column; } }
    .global__menu_nav nav a {
      color: #fff;
      font-size: 1.8rem;
      font-weight: 500;
      transition: .3s; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .global__menu_nav nav a {
          font-size: 2.1rem;
          font-weight: 400;
          margin: 1em 0;
          font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
          letter-spacing: 0.05em; } }
      .global__menu_nav nav a i {
        position: relative;
        top: 0.3em; }
        .global__menu_nav nav a i i {
          display: flex;
          justify-content: center;
          align-items: flex-end;
          width: 24px;
          height: 7.2px;
          transition: .3s;
          position: relative;
          left: 0; }
          .global__menu_nav nav a i i::before {
            content: "";
            width: 14.8px;
            height: 1.6px;
            background-color: #000;
            transition: .3s; }
          .global__menu_nav nav a i i::after {
            content: "";
            width: 11.2px;
            height: 7.2px;
            background-color: #000;
            clip-path: polygon(0 0, 100% 100%, 0 100%);
            transition: .3s;
            position: relative;
            left: -2px; }
        .global__menu_nav nav a i:hover i {
          width: 29.6px;
          left: 5.6px; }
          .global__menu_nav nav a i:hover i::before {
            width: 22px;
            background-color: #F40D15; }
          .global__menu_nav nav a i:hover i::after {
            background-color: #F40D15; }
      .global__menu_nav nav a:hover {
        color: rgba(255, 255, 255, 0.7); }
    .global__menu_nav nav span {
      display: inline-block;
      color: #fff;
      font-size: 1.8rem;
      font-weight: 500;
      margin: 0 0.8em; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .global__menu_nav nav span {
          display: none; } }
  .global__menu.open .global__menu_nav {
    animation: menuIn 1.2s ease; }

@keyframes menuIn {
  0% {
    opacity: 0;
    transform: translateX(-40px); }
  30% {
    opacity: 0;
    transform: translateX(-40px); }
  100% {
    opacity: 1;
    transform: translateX(0px); } }
/* header
---------------------------------- */
.global__footer {
  position: relative;
  z-index: 10; }
  .global__footer .copyright {
    white-space: nowrap;
    color: #fff;
    font-size: 1.6rem;
    background-color: #000;
    padding: 2.2em 1em;
    text-align: center; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .global__footer .copyright {
        font-size: 1.2rem;
        padding: 1.6em 0; } }

.waypoint {
  transition-duration: 1s; }
  .waypoint__fadeIn {
    opacity: 0; }
    .waypoint__fadeIn.active {
      opacity: 1; }
  .waypoint__fadeUp {
    opacity: 0;
    transform: translateY(60px); }
    .waypoint__fadeUp.active {
      opacity: 1;
      transform: translateY(0px); }
  .waypoint__slideLeft {
    opacity: 0;
    transform: translateX(-100px); }
    .waypoint__slideLeft.active {
      opacity: 1;
      transform: translateX(0px); }
  .waypoint__slideLeftbig {
    opacity: 0;
    transform: translateX(-400px); }
    .waypoint__slideLeftbig.active {
      opacity: 1;
      transform: translateX(0px); }
  .waypoint__slideLeftsmall {
    opacity: 0;
    transform: translateX(-30px); }
    .waypoint__slideLeftsmall.active {
      opacity: 1;
      transform: translateX(0px); }
  .waypoint__slideRight {
    opacity: 0;
    transform: translateX(100px); }
    .waypoint__slideRight.active {
      opacity: 1;
      transform: translateX(0px); }
  .waypoint__slideRightup {
    opacity: 0;
    transform: translate(100px, -100px); }
    .waypoint__slideRightup.active {
      opacity: 1;
      transform: translateX(0px); }
  .waypoint__slideRightupsmall {
    opacity: 0;
    transform: translate(30px, -30px); }
    .waypoint__slideRightupsmall.active {
      opacity: 1;
      transform: translateX(0px); }
  .waypoint__zoomOutin {
    opacity: 0;
    transform: scale(1.4); }
    .waypoint__zoomOutin.active {
      opacity: 1;
      transform: scale(1); }
  .waypoint__zoomIn {
    opacity: 0;
    transform: scale(0.1); }
    .waypoint__zoomIn.active {
      opacity: 1;
      transform: scale(1); }
  .waypoint__zoomOut {
    opacity: 1;
    transform: scale(1); }
    .waypoint__zoomOut.active {
      opacity: 0;
      transform: scale(3); }
  .waypoint__junpUp {
    opacity: 0;
    transform: scale(0.1) translate(0, 100%); }
    .waypoint__junpUp.active {
      opacity: 1;
      transform: scale(1) translate(0, 0); }
  .waypoint__imgSlidein {
    clip-path: inset(0 100% 0 0); }
    .waypoint__imgSlidein.active {
      clip-path: inset(0 0 0 0); }
  .waypoint__imgSlidein_re {
    clip-path: inset(0 0 0 100%); }
    .waypoint__imgSlidein_re.active {
      clip-path: inset(0 0 0 0); }
  .waypoint.delay_02 {
    transition-delay: .2s; }
  .waypoint.delay_03 {
    transition-delay: .3s; }
  .waypoint.delay_04 {
    transition-delay: .4s; }
  .waypoint.delay_06 {
    transition-delay: .6s; }
  .waypoint.delay_08 {
    transition-delay: .8s; }
  .waypoint.delay_1 {
    transition-delay: 1s; }
  .waypoint.delay_16 {
    transition-delay: 1.6s; }
  .waypoint.delay_2 {
    transition-delay: 2s; }
  .waypoint.delay_24 {
    transition-delay: 2.4s; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .waypoint.sp_nodelay {
      transition-delay: 0s !important; } }
  .waypoint.duration_06 {
    transition-duration: 0.6s; }
  .waypoint.duration_2 {
    transition-duration: 2s; }
  .waypoint.ease_black {
    transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); }
  .waypoint.ease_Out_Quint {
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1); }

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