@charset "UTF-8";
/* Box sizing rules */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role=list],
ol[role=list] {
  list-style: none;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/*add reset styles*/
ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  max-height: 100%;
  max-width: 100%;
}

/*Break Point
------------------------------*/
/*font
---------------------------------*/
/*color
---------------------------------*/
@-webkit-keyframes cross_center_top_re {
  0% {
    -webkit-transform: translateY(7px) rotate(20deg);
            transform: translateY(7px) rotate(20deg);
  }
  30% {
    -webkit-transform: translateY(7px) rotate(0);
            transform: translateY(7px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(0) rotate(0);
            transform: translateY(0) rotate(0);
  }
}
@keyframes cross_center_top_re {
  0% {
    -webkit-transform: translateY(7px) rotate(20deg);
            transform: translateY(7px) rotate(20deg);
  }
  30% {
    -webkit-transform: translateY(7px) rotate(0);
            transform: translateY(7px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(0) rotate(0);
            transform: translateY(0) rotate(0);
  }
}
@-webkit-keyframes cross_center_btm_re {
  0% {
    -webkit-transform: translateY(-7px) rotate(-20deg);
            transform: translateY(-7px) rotate(-20deg);
  }
  30% {
    -webkit-transform: translateY(-7px) rotate(0);
            transform: translateY(-7px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(0) rotate(0);
            transform: translateY(0) rotate(0);
  }
}
@keyframes cross_center_btm_re {
  0% {
    -webkit-transform: translateY(-7px) rotate(-20deg);
            transform: translateY(-7px) rotate(-20deg);
  }
  30% {
    -webkit-transform: translateY(-7px) rotate(0);
            transform: translateY(-7px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(0) rotate(0);
            transform: translateY(0) rotate(0);
  }
}
@-webkit-keyframes cross_center_top {
  0% {
    -webkit-transform: translateY(0) rotate(0);
            transform: translateY(0) rotate(0);
  }
  30% {
    -webkit-transform: translateY(7px) rotate(0);
            transform: translateY(7px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(7px) rotate(20deg);
            transform: translateY(7px) rotate(20deg);
  }
}
@keyframes cross_center_top {
  0% {
    -webkit-transform: translateY(0) rotate(0);
            transform: translateY(0) rotate(0);
  }
  30% {
    -webkit-transform: translateY(7px) rotate(0);
            transform: translateY(7px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(7px) rotate(20deg);
            transform: translateY(7px) rotate(20deg);
  }
}
@-webkit-keyframes cross_center_btm {
  0% {
    -webkit-transform: translateY(0) translateX(0) rotate(0);
            transform: translateY(0) translateX(0) rotate(0);
  }
  30% {
    -webkit-transform: translateY(-7px) rotate(0);
            transform: translateY(-7px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(-7px) rotate(-20deg);
            transform: translateY(-7px) rotate(-20deg);
  }
}
@keyframes cross_center_btm {
  0% {
    -webkit-transform: translateY(0) translateX(0) rotate(0);
            transform: translateY(0) translateX(0) rotate(0);
  }
  30% {
    -webkit-transform: translateY(-7px) rotate(0);
            transform: translateY(-7px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(-7px) rotate(-20deg);
            transform: translateY(-7px) rotate(-20deg);
  }
}
@-webkit-keyframes button_hover {
  0% {
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
  50% {
    -webkit-transform: translate(4px, -50%);
            transform: translate(4px, -50%);
  }
  100% {
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
}
@keyframes button_hover {
  0% {
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
  50% {
    -webkit-transform: translate(4px, -50%);
            transform: translate(4px, -50%);
  }
  100% {
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
}
@-webkit-keyframes rollLeft {
  0% {
    left: 0;
    right: 100%;
  }
  50% {
    left: 0;
    right: 0;
  }
  100% {
    left: 100%;
    right: 0;
  }
}
@keyframes rollLeft {
  0% {
    left: 0;
    right: 100%;
  }
  50% {
    left: 0;
    right: 0;
  }
  100% {
    left: 100%;
    right: 0;
  }
}
body {
  font-size: 100%;
}

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

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

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

@media screen and (max-width: 800px) {
  .tar_sp {
    text-align: right !important;
  }
}

.center {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media screen and (max-width: 800px) {
  .center_sp {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

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

@media screen and (max-width: 800px) {
  .tal_sp {
    text-align: left !important;
  }
}

.fl {
  float: left;
}

.fr {
  float: right;
}

.fl_sp {
  float: left;
}
@media screen and (max-width: 800px) {
  .fl_sp {
    float: none;
  }
}

.fr_sp {
  float: right;
}
@media screen and (max-width: 800px) {
  .fr_sp {
    float: none;
  }
}

.clear {
  clear: both;
  *zoom: 1;
}
.clear:before, .clear:after {
  content: "";
  display: table;
}
.clear:after {
  clear: both;
}

.cf {
  *zoom: 1;
}
.cf:before, .cf:after {
  content: "";
  display: table;
}
.cf:after {
  clear: both;
}

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

.mb1 {
  margin-bottom: 10px !important;
}

.mb2 {
  margin-bottom: 20px !important;
}

.mb3 {
  margin-bottom: 30px !important;
}

.mb4 {
  margin-bottom: 40px !important;
}

.mb5 {
  margin-bottom: 50px !important;
}

.mb6 {
  margin-bottom: 60px !important;
}

.mb7 {
  margin-bottom: 70px !important;
}

.mb8 {
  margin-bottom: 80px !important;
}

.mb9 {
  margin-bottom: 90px !important;
}

.mb10 {
  margin-bottom: 100px !important;
}

.mb11 {
  margin-bottom: 110px !important;
}

.mb12 {
  margin-bottom: 120px !important;
}

.mb13 {
  margin-bottom: 130px !important;
}

.mb14 {
  margin-bottom: 140px !important;
}

.mb15 {
  margin-bottom: 150px !important;
}

.mb16 {
  margin-bottom: 160px !important;
}

.mb17 {
  margin-bottom: 170px !important;
}

.mb18 {
  margin-bottom: 180px !important;
}

.mb19 {
  margin-bottom: 190px !important;
}

.mb20 {
  margin-bottom: 200px !important;
}

@media screen and (max-width: 800px) {
  .mb0_sp {
    margin-bottom: 0px !important;
  }
}

@media screen and (max-width: 800px) {
  .mb1_sp {
    margin-bottom: 10px !important;
  }
}

@media screen and (max-width: 800px) {
  .mb2_sp {
    margin-bottom: 20px !important;
  }
}

@media screen and (max-width: 800px) {
  .mb3_sp {
    margin-bottom: 30px !important;
  }
}

@media screen and (max-width: 800px) {
  .mb4_sp {
    margin-bottom: 40px !important;
  }
}

@media screen and (max-width: 800px) {
  .mb5_sp {
    margin-bottom: 50px !important;
  }
}

@media screen and (max-width: 800px) {
  .mb6_sp {
    margin-bottom: 60px !important;
  }
}

@media screen and (max-width: 800px) {
  .mb7_sp {
    margin-bottom: 70px !important;
  }
}

@media screen and (max-width: 800px) {
  .mb8_sp {
    margin-bottom: 80px !important;
  }
}

@media screen and (max-width: 800px) {
  .mb9_sp {
    margin-bottom: 90px !important;
  }
}

@media screen and (max-width: 800px) {
  .mb10_sp {
    margin-bottom: 100px !important;
  }
}

.mt0 {
  margin-top: 0px !important;
}

.mt1 {
  margin-top: 10px !important;
}

.mt2 {
  margin-top: 20px !important;
}

.mt3 {
  margin-top: 30px !important;
}

.mt4 {
  margin-top: 40px !important;
}

.mt5 {
  margin-top: 50px !important;
}

.mt6 {
  margin-top: 60px !important;
}

.mt7 {
  margin-top: 70px !important;
}

.mt8 {
  margin-top: 80px !important;
}

.mt9 {
  margin-top: 90px !important;
}

.mt10 {
  margin-top: 100px !important;
}

@media screen and (max-width: 800px) {
  .mt0_sp {
    margin-top: 0px !important;
  }
}

@media screen and (max-width: 800px) {
  .mt1_sp {
    margin-top: 10px !important;
  }
}

@media screen and (max-width: 800px) {
  .mt2_sp {
    margin-top: 20px !important;
  }
}

@media screen and (max-width: 800px) {
  .mt3_sp {
    margin-top: 30px !important;
  }
}

@media screen and (max-width: 800px) {
  .mt4_sp {
    margin-top: 40px !important;
  }
}

@media screen and (max-width: 800px) {
  .mt5_sp {
    margin-top: 50px !important;
  }
}

@media screen and (max-width: 800px) {
  .mt6_sp {
    margin-top: 60px !important;
  }
}

@media screen and (max-width: 800px) {
  .mt7_sp {
    margin-top: 70px !important;
  }
}

@media screen and (max-width: 800px) {
  .mt8_sp {
    margin-top: 80px !important;
  }
}

@media screen and (max-width: 800px) {
  .mt9_sp {
    margin-top: 90px !important;
  }
}

@media screen and (max-width: 800px) {
  .mt10_sp {
    margin-top: 100px !important;
  }
}

.mr0 {
  margin-right: 0px !important;
}

.mr1 {
  margin-right: 10px !important;
}

.mr2 {
  margin-right: 20px !important;
}

.mr3 {
  margin-right: 30px !important;
}

.mr4 {
  margin-right: 40px !important;
}

.mr5 {
  margin-right: 50px !important;
}

.mr6 {
  margin-right: 60px !important;
}

.mr7 {
  margin-right: 70px !important;
}

.mr8 {
  margin-right: 80px !important;
}

.mr9 {
  margin-right: 90px !important;
}

.mr10 {
  margin-right: 100px !important;
}

@media screen and (max-width: 800px) {
  .mr0_sp {
    margin-right: 0px !important;
  }
}

@media screen and (max-width: 800px) {
  .mr1_sp {
    margin-right: 10px !important;
  }
}

@media screen and (max-width: 800px) {
  .mr2_sp {
    margin-right: 20px !important;
  }
}

@media screen and (max-width: 800px) {
  .mr3_sp {
    margin-right: 30px !important;
  }
}

@media screen and (max-width: 800px) {
  .mr4_sp {
    margin-right: 40px !important;
  }
}

@media screen and (max-width: 800px) {
  .mr5_sp {
    margin-right: 50px !important;
  }
}

@media screen and (max-width: 800px) {
  .mr6_sp {
    margin-right: 60px !important;
  }
}

@media screen and (max-width: 800px) {
  .mr7_sp {
    margin-right: 70px !important;
  }
}

@media screen and (max-width: 800px) {
  .mr8_sp {
    margin-right: 80px !important;
  }
}

@media screen and (max-width: 800px) {
  .mr9_sp {
    margin-right: 90px !important;
  }
}

@media screen and (max-width: 800px) {
  .mr10_sp {
    margin-right: 100px !important;
  }
}

.pt0 {
  padding-top: 0px !important;
}

.pt1 {
  padding-top: 10px !important;
}

.pt2 {
  padding-top: 20px !important;
}

.pt3 {
  padding-top: 30px !important;
}

.pt4 {
  padding-top: 40px !important;
}

.pt5 {
  padding-top: 50px !important;
}

.pt6 {
  padding-top: 60px !important;
}

.pt7 {
  padding-top: 70px !important;
}

.pt8 {
  padding-top: 80px !important;
}

.pt9 {
  padding-top: 90px !important;
}

.pt10 {
  padding-top: 100px !important;
}

@media screen and (max-width: 800px) {
  .pt0_sp {
    padding-top: 0px !important;
  }
}

@media screen and (max-width: 800px) {
  .pt1_sp {
    padding-top: 10px !important;
  }
}

@media screen and (max-width: 800px) {
  .pt2_sp {
    padding-top: 20px !important;
  }
}

@media screen and (max-width: 800px) {
  .pt3_sp {
    padding-top: 30px !important;
  }
}

@media screen and (max-width: 800px) {
  .pt4_sp {
    padding-top: 40px !important;
  }
}

@media screen and (max-width: 800px) {
  .pt5_sp {
    padding-top: 50px !important;
  }
}

@media screen and (max-width: 800px) {
  .pt6_sp {
    padding-top: 60px !important;
  }
}

@media screen and (max-width: 800px) {
  .pt7_sp {
    padding-top: 70px !important;
  }
}

@media screen and (max-width: 800px) {
  .pt8_sp {
    padding-top: 80px !important;
  }
}

@media screen and (max-width: 800px) {
  .pt9_sp {
    padding-top: 90px !important;
  }
}

@media screen and (max-width: 800px) {
  .pt10_sp {
    padding-top: 100px !important;
  }
}

.pb0 {
  padding-bottom: 0px !important;
}

.pb1 {
  padding-bottom: 10px !important;
}

.pb2 {
  padding-bottom: 20px !important;
}

.pb3 {
  padding-bottom: 30px !important;
}

.pb4 {
  padding-bottom: 40px !important;
}

.pb5 {
  padding-bottom: 50px !important;
}

.pb6 {
  padding-bottom: 60px !important;
}

.pb7 {
  padding-bottom: 70px !important;
}

.pb8 {
  padding-bottom: 80px !important;
}

.pb9 {
  padding-bottom: 90px !important;
}

.pb10 {
  padding-bottom: 100px !important;
}

@media screen and (max-width: 800px) {
  .pb0_sp {
    padding-bottom: 0px !important;
  }
}

@media screen and (max-width: 800px) {
  .pb1_sp {
    padding-bottom: 10px !important;
  }
}

@media screen and (max-width: 800px) {
  .pb2_sp {
    padding-bottom: 20px !important;
  }
}

@media screen and (max-width: 800px) {
  .pb3_sp {
    padding-bottom: 30px !important;
  }
}

@media screen and (max-width: 800px) {
  .pb4_sp {
    padding-bottom: 40px !important;
  }
}

@media screen and (max-width: 800px) {
  .pb5_sp {
    padding-bottom: 50px !important;
  }
}

@media screen and (max-width: 800px) {
  .pb6_sp {
    padding-bottom: 60px !important;
  }
}

@media screen and (max-width: 800px) {
  .pb7_sp {
    padding-bottom: 70px !important;
  }
}

@media screen and (max-width: 800px) {
  .pb8_sp {
    padding-bottom: 80px !important;
  }
}

@media screen and (max-width: 800px) {
  .pb9_sp {
    padding-bottom: 90px !important;
  }
}

@media screen and (max-width: 800px) {
  .pb10_sp {
    padding-bottom: 100px !important;
  }
}

.w05 {
  width: 4% !important;
}
@media screen and (max-width: 800px) {
  .w05 {
    width: 100% !important;
  }
}

.w10 {
  width: 9% !important;
}
@media screen and (max-width: 800px) {
  .w10 {
    width: 100% !important;
  }
}

@media screen and (max-width: 800px) {
  .w10_sp {
    width: 9% !important;
  }
}

.w15 {
  width: 14% !important;
}
@media screen and (max-width: 800px) {
  .w15 {
    width: 100% !important;
  }
}

@media screen and (max-width: 800px) {
  .w15_sp {
    width: 14% !important;
  }
}

.w20 {
  width: 19% !important;
}
@media screen and (max-width: 800px) {
  .w20 {
    width: 100% !important;
  }
}

@media screen and (max-width: 800px) {
  .w20_sp {
    width: 19% !important;
  }
}

.w25 {
  width: 24% !important;
}
@media screen and (max-width: 800px) {
  .w25 {
    width: 100% !important;
  }
}

.w30 {
  width: 29% !important;
}
@media screen and (max-width: 800px) {
  .w30 {
    width: 100% !important;
  }
}

@media screen and (max-width: 800px) {
  .w30_sp {
    width: 29% !important;
  }
}

.w33 {
  width: 32% !important;
}
@media screen and (max-width: 800px) {
  .w33 {
    width: 100% !important;
  }
}

@media screen and (max-width: 800px) {
  .w33_sp {
    width: 32% !important;
  }
}

.w35 {
  width: 34% !important;
}
@media screen and (max-width: 800px) {
  .w35 {
    width: 100% !important;
  }
}

@media screen and (max-width: 800px) {
  .w35_sp {
    width: 34% !important;
  }
}

.w40 {
  width: 39% !important;
}
@media screen and (max-width: 800px) {
  .w40 {
    width: 100% !important;
  }
}

@media screen and (max-width: 800px) {
  .w40_sp {
    width: 39% !important;
  }
}

.w45 {
  width: 44% !important;
}
@media screen and (max-width: 800px) {
  .w45 {
    width: 100% !important;
  }
}

@media screen and (max-width: 800px) {
  .w45_sp {
    width: 44% !important;
  }
}

.w49 {
  width: 48% !important;
}
@media screen and (max-width: 800px) {
  .w49 {
    width: 100% !important;
  }
}

.w50 {
  width: 49% !important;
}
@media screen and (max-width: 800px) {
  .w50 {
    width: 100% !important;
  }
}

@media screen and (max-width: 800px) {
  .w50_sp {
    width: 49% !important;
  }
}

.w53 {
  width: 52% !important;
}
@media screen and (max-width: 800px) {
  .w53 {
    width: 100% !important;
  }
}

.w55 {
  width: 54% !important;
}
@media screen and (max-width: 800px) {
  .w55 {
    width: 100% !important;
  }
}

@media screen and (max-width: 800px) {
  .w55_sp {
    width: 54% !important;
  }
}

.w60 {
  width: 59% !important;
}
@media screen and (max-width: 800px) {
  .w60 {
    width: 100% !important;
  }
}

.w65 {
  width: 64% !important;
}
@media screen and (max-width: 800px) {
  .w65 {
    width: 100% !important;
  }
}

@media screen and (max-width: 800px) {
  .w60_sp {
    width: 59% !important;
  }
}

@media screen and (max-width: 800px) {
  .w65_sp {
    width: 64% !important;
  }
}

.w70 {
  width: 69% !important;
}
@media screen and (max-width: 800px) {
  .w70 {
    width: 100% !important;
  }
}

@media screen and (max-width: 800px) {
  .w70_sp {
    width: 69% !important;
  }
}

.w75 {
  width: 74% !important;
}
@media screen and (max-width: 800px) {
  .w75 {
    width: 100% !important;
  }
}

.w80 {
  width: 79% !important;
}
@media screen and (max-width: 800px) {
  .w80 {
    width: 100% !important;
  }
}

@media screen and (max-width: 800px) {
  .w80_sp {
    width: 79% !important;
  }
}

.w83 {
  width: 82% !important;
}
@media screen and (max-width: 800px) {
  .w83 {
    width: 100% !important;
  }
}

.w85 {
  width: 84% !important;
}
@media screen and (max-width: 800px) {
  .w85 {
    width: 100% !important;
  }
}

@media screen and (max-width: 800px) {
  .w85_sp {
    width: 84% !important;
  }
}

.w88 {
  width: 88% !important;
}
@media screen and (max-width: 800px) {
  .w88 {
    width: 100% !important;
  }
}

.w90 {
  width: 89% !important;
}
@media screen and (max-width: 800px) {
  .w90 {
    width: 100% !important;
  }
}

@media screen and (max-width: 800px) {
  .w90_sp {
    width: 89% !important;
  }
}

.w95 {
  width: 94% !important;
}
@media screen and (max-width: 800px) {
  .w95 {
    width: 100% !important;
  }
}

@media screen and (max-width: 800px) {
  .w95_sp {
    width: 94% !important;
  }
}

@media screen and (max-width: 800px) {
  .w25_sp {
    width: 24% !important;
  }
}

.w75 {
  width: 74% !important;
}
@media screen and (max-width: 800px) {
  .w75 {
    width: 100% !important;
  }
}

@media screen and (max-width: 800px) {
  .w75_sp {
    width: 74% !important;
  }
}

.w66 {
  width: 65% !important;
}
@media screen and (max-width: 800px) {
  .w66 {
    width: 100% !important;
  }
}

img.w100 {
  max-width: 100% !important;
}

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.flex img {
  max-width: 100%;
}
@media screen and (max-width: 800px) {
  .flex {
    display: block;
  }
}

@media screen and (max-width: 800px) {
  .sp-flex, .flex_sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.between {
  -ms-flex-pack: justify;
      justify-content: space-between;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
}

.a-center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.bold {
  font-weight: bold;
}

@media screen and (max-width: 800px) {
  img {
    max-width: 100%;
  }
}

a {
  outline: none;
}

a:focus {
  outline: none;
}

a.fade:hover {
  opacity: 0.7;
  -webkit-transition: 0.15s;
  transition: 0.15s;
}

a.scale img {
  -webkit-transition: 0.2s;
  transition: 0.2s;
}

a.scale:hover img {
  -webkit-transition: 0.4s;
  transition: 0.4s;
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

a.scale2 img {
  -webkit-transition: 0.2s;
  transition: 0.2s;
}

a.scale2:hover img {
  -webkit-transition: 0.4s;
  transition: 0.4s;
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

body {
  color: #40220f;
  font-family: "Noto Serif JP", serif;
  line-height: 1.5;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  background-color: #fff;
}
@media only screen and (max-width: 767.9px) {
  .header {
    padding-right: 10px;
    padding-left: 10px;
    -webkit-transition: 0.4s;
    transition: 0.4s;
  }
}
@media print, screen and (min-width: 768px) {
  .header {
    padding-top: 10px;
  }
}

@media only screen and (max-width: 767.9px) {
  .header.-active {
    border-bottom: 1px solid #000;
    background-color: #fff;
  }
}

.header__inner {
  max-width: 1190px;
  margin-right: auto;
  margin-left: auto;
  padding-bottom: 10px;
}
@media only screen and (max-width: 767.9px) {
  .header__inner {
    padding-bottom: 10px;
  }
}

.header-top {
  margin-bottom: 10px;
}

.header-top__nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width: 767.9px) {
  .header-top__nav ul {
    border-top: 1px solid #fff;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 10;
    width: 100vw;
  }
}
@media print, screen and (min-width: 768px) {
  .header-top__nav ul {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
@media only screen and (max-width: 767.9px) {
  .header-top__nav ul li {
    width: 20%;
  }
}

.header-top__link-pt1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
@media only screen and (max-width: 767.9px) {
  .header-top__link-pt1 {
    text-align: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    background-color: #b3b3b3;
    color: #fff;
    font-size: 0.625rem;
  }
}
@media print, screen and (min-width: 768px) {
  .header-top__link-pt1 {
    font-size: 0.8125rem;
  }
}
.header-top__link-pt1::before {
  content: "";
  display: block;
}
@media only screen and (max-width: 767.9px) {
  .header-top__link-pt1::before {
    position: absolute;
    top: 10px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 18px;
    height: 24px;
    background-size: contain;
    background-repeat: no-repeat;
  }
}
@media print, screen and (min-width: 768px) {
  .header-top__link-pt1::before {
    height: 8px;
    margin-right: 4px;
    width: 4px;
    background-image: url(../img/common/arrow.png);
  }
}
@media only screen and (max-width: 767.9px) {
  .header-top__link-pt1 + .header-top__link-pt1 {
    border-left: 1px solid #fff;
  }
}
@media print, screen and (min-width: 768px) {
  .header-top__link-pt1 + .header-top__link-pt1 {
    margin-left: 18px;
  }
}
@media print, screen and (min-width: 768px) {
  .header-top__link-pt1 + .header-top__link-pt2 {
    margin-left: 18px;
  }
}

.header-top__link-pt1 a {
  position: relative;
}
@media only screen and (max-width: 767.9px) {
  .header-top__link-pt1 a {
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
    -webkit-transform-origin: center;
            transform-origin: center;
    display: block;
    padding-top: 37px;
    padding-right: 5px;
    padding-left: 5px;
    padding-bottom: 5px;
    width: 100%;
  }
}
@media (hover: hover) {
  .header-top__link-pt1 a:hover::after {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
.header-top__link-pt1 a::after {
  content: "";
  position: absolute;
  bottom: -3px;
  left: 0;
  display: block;
  height: 1px;
  width: 100%;
  background-color: currentColor;
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

@media only screen and (max-width: 767.9px) {
  .header-top__list li.-sp-n1::before {
    background-image: url(../img/common/icon1.webp);
  }
}
@media only screen and (max-width: 767.9px) {
  .header-top__list li.-sp-n2::before {
    background-image: url(../img/common/icon2.webp);
  }
}
@media only screen and (max-width: 767.9px) {
  .header-top__list li.-sp-n3::before {
    background-image: url(../img/common/icon3.webp);
  }
}
@media only screen and (max-width: 767.9px) {
  .header-top__list li.-sp-n4::before {
    width: 30px;
    top: 13px;
    background-image: url(../img/common/icon4.webp);
  }
}
@media only screen and (max-width: 767.9px) {
  .header-top__list li.-sp-n5::before {
    width: 23px;
    top: 12px;
    background-image: url(../img/common/icon5.webp);
  }
}
@media only screen and (max-width: 767.9px) {
  .header-top__list li.-sp-n6::before {
    background-image: url(../img/common/icon6.webp);
  }
}
@media only screen and (max-width: 767.9px) {
  .header-top__list li.-sp-n7::before {
    background-image: url(../img/common/icon7.png);
  }
}

.header-top__link-pt2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  position: relative;
  z-index: 1;
  color: #fff;
  line-height: 1.4;
}
@media print, screen and (min-width: 768px) {
  .header-top__link-pt2 {
    line-height: 1.2;
  }
  .header-top__link-pt2 a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    height: 100%;
  }
}
.header-top__link-pt2.-res {
  background: -webkit-gradient(linear, left top, right top, from(#ae504e), to(#6d261f));
  background: linear-gradient(to right, #ae504e, #6d261f);
  border: 1px solid #6d261f;
}
@media print, screen and (min-width: 768px) {
  .header-top__link-pt2.-res:hover {
    background: #FFF;
    color: #aa0000;
  }
}
.header-top__link-pt2.-limi {
  background: #444;
  border: 1px solid #444;
}
@media print, screen and (min-width: 768px) {
  .header-top__link-pt2.-limi:hover {
    background: #FFF;
    color: #222;
  }
}
@media only screen and (max-width: 767.9px) {
  .header-top__link-pt2 {
    background-color: #b7b08c;
    border-left: 1px solid #fff;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    word-break: keep-all;
    font-size: 0.625rem;
  }
}
@media print, screen and (min-width: 768px) {
  .header-top__link-pt2 {
    border: 1px solid #848070;
    background-color: #848070;
    font-size: 0.875rem;
    -ms-flex-preferred-size: 150px;
        flex-basis: 150px;
    padding-top: 8px;
    padding-bottom: 8px;
    overflow: hidden;
    -webkit-transition: 0.4s;
    transition: 0.4s;
  }
}
@media (hover: hover) {
  .header-top__link-pt2:hover {
    color: #848070;
    background-color: #fff;
  }
}
.header-top__link-pt2::before {
  content: "";
  display: block;
  position: absolute;
}
@media only screen and (max-width: 767.9px) {
  .header-top__link-pt2::before {
    top: 10px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 18px;
    height: 24px;
    background-size: contain;
    background-repeat: no-repeat;
  }
}
@media print, screen and (min-width: 768px) {
  .header-top__link-pt2.-sp {
    display: none;
  }
}
@media only screen and (max-width: 767.9px) {
  .header-top__link-pt2.-pc {
    display: none;
  }
}
.header-top__link-pt2.-disabled {
  pointer-events: none;
}
.header-top__link-pt2.-disabled::after {
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  background-color: grey;
  opacity: 0.7;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 8;
}
@media print, screen and (min-width: 768px) {
  .header-top__link-pt2 + .header-top__link-pt2 {
    margin-left: 8px;
  }
}

@media only screen and (max-width: 767.9px) {
  .header-top__link-pt2 a {
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
    -webkit-transform-origin: center;
            transform-origin: center;
    display: block;
    padding-top: 37px;
    padding-right: 5px;
    padding-left: 5px;
    padding-bottom: 5px;
    width: 100%;
  }
}

.header-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.header-bottom__logo {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media only screen and (max-width: 767.9px) {
  .header-bottom__logo {
    width: 100px;
  }
}
@media print, screen and (min-width: 768px) {
  .header-bottom__logo {
    width: 204px;
  }
}

@media only screen and (max-width: 767.9px) {
  .header-bottom__nav {
    position: fixed;
    top: 0;
    left: -100%;
    z-index: 9;
    -webkit-transition: left 0.4s, visibility 0.4s;
    transition: left 0.4s, visibility 0.4s;
    background-color: #848070;
    width: 100%;
    height: 100vh;
    padding: 80px 0;
    visibility: hidden;
  }
}
@media print, screen and (min-width: 768px) {
  .header-bottom__nav {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
@media only screen and (max-width: 767.9px) {
  .header-bottom__nav.-active {
    left: 0;
    visibility: visible;
  }
}

@media only screen and (max-width: 767.9px) {
  .header-bottom__nav ul {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
    width: 80%;
    margin: 0 auto;
  }
}
@media print, screen and (min-width: 768px) {
  .header-bottom__nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-right: 20px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media print, screen and (min-width: 1024px) {
  .header-bottom__nav ul {
    padding-right: 0;
  }
}
@media only screen and (max-width: 767.9px) {
  .header-bottom__nav ul li {
    color: #fff;
  }
}
@media print, screen and (min-width: 768px) {
  .header-bottom__nav ul li {
    border-left: 1px solid #c7c7c7;
    width: 14.1%;
    margin-top: 6px;
  }
  .header-bottom__nav ul li.-sp {
    display: none;
  }
}
@media print, screen and (min-width: 768px) {
  .header-bottom__nav ul li:last-of-type {
    border-right: 1px solid #c7c7c7;
  }
}

@media print, screen and (min-width: 768px) {
  .header-bottom__nav ul.-sp-only {
    display: none;
  }
}

.header-bottom__link {
  position: relative;
}
@media only screen and (max-width: 767.9px) {
  .header-bottom__link {
    display: block;
    padding-top: 18px;
    padding-bottom: 20px;
    font-size: 0.75rem;
  }
}
@media print, screen and (min-width: 768px) {
  .header-bottom__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-right: 12px;
    padding-left: 12px;
    font-size: 0.75rem;
  }
}
@media print, screen and (min-width: 1024px) {
  .header-bottom__link {
    font-size: 0.75rem;
  }
}
@media (hover: hover) {
  .header-bottom__link:hover span::after {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@media only screen and (max-width: 767.9px) {
  .header-bottom__link::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 20px;
    background-color: #ffffff;
    height: 2px;
  }
}
.header-bottom__link span {
  padding-bottom: 6px;
  position: relative;
  line-height: 1.1;
  display: block;
  text-align: center;
}
.header-bottom__link span::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  height: 2px;
  width: 100%;
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transition: -webkit-transform 0.4s;
  transition: -webkit-transform 0.4s;
  transition: transform 0.4s;
  transition: transform 0.4s, -webkit-transform 0.4s;
  background-color: #c3bb94;
}
.header-bottom__link small {
  background: #79241d;
  color: #FFF;
  padding: 0px 4px 1px;
  font-size: 9px;
  text-align: center;
  position: absolute;
  top: 0;
  right: 0;
}
.header-bottom__link small.eq {
  right: 29%;
  bottom: -17px;
}
@media only screen and (max-width: 767.9px) {
  .header-bottom__link small.eq {
    top: 0;
    bottom: auto;
    right: auto;
  }
}
.header-bottom__link small.voice {
  right: 39%;
  bottom: -20px;
}
@media only screen and (max-width: 767.9px) {
  .header-bottom__link small.voice {
    top: 0;
    bottom: auto;
    right: auto;
  }
}
@media only screen and (max-width: 767.9px) {
  .header-bottom__link small.meta {
    top: 0;
    bottom: auto;
  }
}
@media only screen and (max-width: 767.9px) {
  .header-bottom__link small {
    right: auto;
    left: 0;
    top: 0;
    bottom: auto;
  }
}

@media print, screen and (min-width: 768px) {
  .header-bottom__link.-active span::after {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@media print, screen and (min-width: 768px) {
  .header-bottom__link.-sp-only {
    display: none;
  }
}

.hamburger {
  position: fixed;
  z-index: 104;
  top: -4px;
  right: 0;
  display: block;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  width: 30px;
  padding: 25px 18px 24px;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  border: 0;
  outline: 0;
  background-color: transparent;
  cursor: pointer;
}
@media print, screen and (min-width: 768px) {
  .hamburger {
    display: none;
  }
}
.hamburger::after {
  content: "MENU";
  color: #000;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: -5px;
  font-size: 0.75rem;
}

.hamburger.-active::after {
  content: "CLOSE";
  color: #fff;
}
.hamburger.-active .hamburger__line {
  background-color: transparent;
}
.hamburger.-active .hamburger__line::before {
  -webkit-animation: cross_center_top 0.6s ease forwards;
          animation: cross_center_top 0.6s ease forwards;
  background-color: #fff;
}
.hamburger.-active .hamburger__line::after {
  -webkit-animation: cross_center_btm 0.6s ease forwards;
          animation: cross_center_btm 0.6s ease forwards;
  background-color: #fff;
}

.hamburger__line {
  position: relative;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  display: block;
  width: 100%;
  height: 1px;
  -webkit-transition: all 0.6s ease;
  transition: all 0.6s ease;
  background-color: #000;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.hamburger__line::before, .hamburger__line::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  -webkit-transition: all 0.6s ease;
  transition: all 0.6s ease;
  background-color: #000;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  position: absolute;
}
.hamburger__line::before {
  top: -7px;
  -webkit-animation: cross_center_top_re 0.6s ease forwards;
          animation: cross_center_top_re 0.6s ease forwards;
}
.hamburger__line::after {
  top: 7px;
  -webkit-animation: cross_center_btm_re 0.6s ease forwards;
          animation: cross_center_btm_re 0.6s ease forwards;
}

.entry-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-right: auto;
  margin-top: 78px;
  margin-left: auto;
  position: relative;
  text-align: center;
  color: #fff;
  width: 310px;
  height: 50px;
  background: #594a3e;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
@media only screen and (max-width: 767.9px) {
  .entry-button {
    font-size: 1.125rem;
  }
}
@media print, screen and (min-width: 768px) {
  .entry-button {
    font-size: 1.375rem;
  }
}
@media (hover: hover) {
  .entry-button:hover {
    background: linear-gradient(-60deg, rgb(163, 147, 62) 4.29%, rgb(238, 232, 197) 38.88%, rgb(174, 157, 70) 72.64%, rgb(207, 194, 134) 94.45%);
  }
}
.entry-button::before {
  content: "";
  height: calc(100% + 6px);
  width: calc(100% + 6px);
  position: absolute;
  top: -3px;
  left: -3px;
  z-index: -1;
  background: linear-gradient(-60deg, rgb(163, 147, 62) 4.29%, rgb(238, 232, 197) 38.88%, rgb(174, 157, 70) 72.64%, rgb(207, 194, 134) 94.45%);
}
.entry-button::after {
  content: "";
  display: block;
  height: 17px;
  width: 13px;
  position: absolute;
  top: 52%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 40px;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../img/common/arrow_white.webp);
}

.entry-text {
  text-align: center;
  line-height: 1.3;
  margin-top: 20px;
}
.entry-text span {
  display: inline-block;
  padding-bottom: 10px;
  border-bottom: solid 1px #000;
}

.page-caption-wrap {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-right: auto;
  margin-left: auto;
}

.page-caption {
  margin-right: auto;
  margin-left: auto;
  font-size: 0.625rem;
  position: relative;
  text-align: left;
}
@media only screen and (max-width: 767.9px) {
  .page-caption {
    margin-top: 38px;
    padding-right: 20px;
    padding-left: 20px;
  }
}
@media print, screen and (min-width: 768px) {
  .page-caption {
    padding-left: 14px;
    margin-top: 60px;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
  }
}
.page-caption + .page-caption {
  margin-top: 0;
}
.page-caption::before {
  content: "※";
  font-size: 0.625rem;
}
@media print, screen and (min-width: 768px) {
  .page-caption::before {
    position: absolute;
    top: 0;
    left: 0;
  }
}

.cta {
  margin-top: 60px;
  background-color: #d0d3c8;
}
@media only screen and (max-width: 767.9px) {
  .cta {
    padding-top: 30px;
    padding-right: 20px;
    padding-bottom: 35px;
    padding-left: 20px;
  }
}
@media print, screen and (min-width: 768px) {
  .cta {
    padding-top: 66px;
    padding-bottom: 80px;
  }
}

.cta__inner {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-right: auto;
  margin-left: auto;
}

.cta__heading {
  padding-top: 10px;
  padding-bottom: 10px;
  text-align: center;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  font-weight: normal;
}
@media only screen and (max-width: 767.9px) {
  .cta__heading {
    font-size: 0.8125rem;
  }
}
@media print, screen and (min-width: 768px) {
  .cta__heading {
    font-size: 0.9375rem;
  }
}

.cta__infoImg {
  max-width: 620px;
  margin: 40px auto 0;
}
@media only screen and (max-width: 767.9px) {
  .cta__infoImg {
    margin-top: 20px;
  }
}

.cta_infoP {
  text-align: center;
  color: #aa0000;
  margin-top: 20px;
  line-height: 1.8;
  border: 2px solid #aa0000;
  padding: 16px 20px 20px;
}
.cta_infoP strong {
  font-size: 110%;
  font-weight: bold;
  display: block;
}
@media only screen and (max-width: 767.9px) {
  .cta_infoP {
    font-size: 13px;
    margin-top: 15px;
    padding: 15px;
  }
}

.cta__tel {
  position: relative;
  line-height: 1;
}
@media only screen and (max-width: 767.9px) {
  .cta__tel {
    padding-left: 48px;
    font-size: 2.4375rem;
    word-break: keep-all;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
}
@media print, screen and (min-width: 768px) {
  .cta__tel {
    padding-left: 60px;
    font-size: 3.125rem;
  }
}
.cta__tel::before {
  content: "";
  display: block;
  position: absolute;
  top: 55%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url(../img/common/tel.webp);
}
@media only screen and (max-width: 767.9px) {
  .cta__tel::before {
    height: 24px;
    width: 38px;
  }
}
@media print, screen and (min-width: 768px) {
  .cta__tel::before {
    height: 31px;
    width: 48px;
  }
}

@media only screen and (max-width: 767.9px) {
  .cta__info {
    margin-top: 12px;
    font-size: 0.75rem;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
}
@media print, screen and (min-width: 768px) {
  .cta__info {
    font-size: 0.8125rem;
  }
}

.cta__row {
  margin-top: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (max-width: 767.9px) {
  .cta__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media print, screen and (min-width: 768px) {
  .cta__row {
    -webkit-column-gap: 20px;
       -moz-column-gap: 20px;
            column-gap: 20px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

@media only screen and (max-width: 767.9px) {
  .owner {
    padding-top: 38px;
    padding-bottom: 32px;
  }
}
@media print, screen and (min-width: 768px) {
  .owner {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}

@media print, screen and (min-width: 768px) {
  .owner__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-column-gap: 60px;
       -moz-column-gap: 60px;
            column-gap: 60px;
  }
}
@media only screen and (max-width: 767.9px) {
  .owner__list li + li {
    margin-top: 18px;
  }
}
@media only screen and (max-width: 767.9px) {
  .owner__list li img {
    margin-right: auto;
    margin-left: auto;
  }
}
@media print, screen and (min-width: 768px) {
  .owner__list li img.-sp {
    display: none;
  }
}
@media only screen and (max-width: 767.9px) {
  .owner__list li img.-pc {
    display: none;
  }
}
.owner__list + .owner__list {
  margin-top: 28px;
}

.footer {
  background-color: #293855;
}
@media only screen and (max-width: 767.9px) {
  .footer {
    padding-top: 23px;
    padding-bottom: 65px;
  }
}
@media print, screen and (min-width: 768px) {
  .footer {
    padding-top: 20px;
    padding-bottom: 10px;
  }
}

.footer__logo {
  margin-right: auto;
  margin-left: auto;
  width: 215px;
  display: block;
  -webkit-transition: all 0.15s;
  transition: all 0.15s;
}
.footer__logo:hover {
  opacity: 0.6;
}

.footer__caption {
  margin-top: 50px;
  text-align: center;
  color: #fff;
  font-size: 0.75rem;
}

a[href^="tel:"] {
  pointer-events: none;
}
@media only screen and (max-width: 767.9px) {
  a[href^="tel:"] {
    pointer-events: inherit;
  }
}

@media only screen and (max-width: 767.9px) {
  main {
    margin-top: 59px;
  }
}
@media print, screen and (min-width: 768px) {
  main {
    margin-top: 150px;
  }
}

.tab-panel {
  display: none;
}
.tab-panel.-active {
  display: block;
}

.more-button {
  margin-top: 30px;
  display: block;
  margin-right: auto;
  margin-left: auto;
  width: 454px;
  text-align: center;
  font-size: 1.125rem;
  padding-top: 12px;
  padding-bottom: 15px;
  background-color: #163259;
  color: #fff;
  -webkit-box-shadow: 10px 10px #c9caca;
          box-shadow: 10px 10px #c9caca;
  position: relative;
  -webkit-transition: all 0.15s;
  transition: all 0.15s;
}
@media only screen and (max-width: 767.9px) {
  .more-button {
    width: 90%;
    font-size: 0.9375rem;
  }
}
.more-button:hover {
  opacity: 0.6;
}
.more-button::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 4%;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6.5px 0 6.5px 11.3px;
  border-color: transparent transparent transparent #fff;
  display: block;
}

.more-button.-blue-gradation {
  background: -webkit-gradient(linear, left top, right top, color-stop(0.04%, rgb(0, 78, 141)), to(rgb(0, 111, 188)));
  background: linear-gradient(90deg, rgb(0, 78, 141) 0.04%, rgb(0, 111, 188) 100%);
}

.more-button.-green {
  background-color: #005438;
}

.button-row {
  margin-top: 50px;
}

@media print, screen and (min-width: 768px) {
  .button-row__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 50px;
       -moz-column-gap: 50px;
            column-gap: 50px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media only screen and (max-width: 767.9px) {
  .button-row__list li + li {
    margin-top: 20px;
  }
}

.button-row__button {
  -webkit-box-shadow: 6px 6px #c9caca;
          box-shadow: 6px 6px #c9caca;
  display: block;
  text-align: center;
  color: #fff;
  padding-top: 12px;
  padding-bottom: 15px;
  border: none;
  cursor: pointer;
  background-color: #8c8c8c;
  font-size: 1.125rem;
  -webkit-transition: all 0.15s;
  transition: all 0.15s;
}
.button-row__button:hover {
  opacity: 0.6;
}
@media only screen and (max-width: 767.9px) {
  .button-row__button {
    width: 92%;
    margin-right: auto;
    margin-left: auto;
  }
}
@media print, screen and (min-width: 768px) {
  .button-row__button {
    width: 247px;
  }
}
.button-row__button.-active {
  background-color: #949060;
}

.result {
  padding-top: 50px;
  padding-bottom: 70px;
}
@media print, screen and (max-width: 1023.9px) {
  .result {
    padding-right: 4%;
    padding-left: 4%;
  }
}
.result.-blue {
  background: -webkit-gradient(linear, left top, right top, color-stop(0.04%, rgba(0, 78, 141, 0.1)), to(rgba(0, 111, 188, 0.1)));
  background: linear-gradient(90deg, rgba(0, 78, 141, 0.1) 0.04%, rgba(0, 111, 188, 0.1) 100%);
}
.result.-gold {
  background-color: #dce8e4;
}
.result.-gold .result__heading {
  color: #005438;
}
.result.-has-mt {
  margin-top: 80px;
}

.result__heading {
  text-align: center;
  color: #163259;
  font-weight: normal;
  font-size: 1.25rem;
}
.result__heading span {
  padding-bottom: 20px;
  display: inline-block;
  border-bottom: 1px solid currentColor;
}

.result__list {
  max-width: 1000px;
  margin-top: 40px;
  margin-right: auto;
  margin-left: auto;
}
@media only screen and (max-width: 767.9px) {
  .result__list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 10px 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 10px;
  }
}
@media print, screen and (min-width: 768px) {
  .result__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 20px;
  }
}

.result__name {
  margin-top: 6px;
  font-size: 0.9375rem;
}

.result__detail {
  font-size: 0.75rem;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

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

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

.loading {
  height: 100vh;
  width: 100vw;
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  -webkit-transition: opacity 0.4s;
  transition: opacity 0.4s;
}
.loading img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 300px;
}

.loading.-active {
  opacity: 0;
  pointer-events: none;
}

.fadeIn {
  opacity: 0;
  -webkit-transition: 2s;
  transition: 2s;
}
.fadeIn.-active {
  opacity: 1;
}

.page-visual {
  position: relative;
  color: #fff;
  height: 257px;
  border-bottom: 15px solid #79241d;
  overflow: hidden;
}
@media only screen and (max-width: 767.9px) {
  .page-visual {
    overflow-x: scroll;
  }
}

.page-visual__img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
}
@media only screen and (max-width: 767.9px) {
  .page-visual__img {
    min-width: 1000px;
    left: -100px;
  }
}
.page-visual__img img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
}

.page-visual__inner {
  max-width: 1000px;
  margin-right: auto;
  margin-left: auto;
  position: relative;
  height: 100%;
  width: 100%;
}

.page-visual__heading {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 20px;
  font-size: 1.5625rem;
}

.page-visual__caption {
  position: absolute;
  bottom: 10px;
  right: 10px;
  font-size: 0.75rem;
}
.page-visual__caption.-black {
  color: #000;
}
.page-visual__caption.-bottom {
  bottom: 4px;
}
.page-visual__caption.-shadow {
  text-shadow: black 0px 0px 2px, black 0px 0px 2px, black 0px 0px 2px, black 0px 0px 2px, black 0px 0px 2px, black 0px 0px 2px, black 0px 0px 2px, black 0px 0px 2px, black 0px 0px 2px;
}

.introduction {
  text-align: center;
  padding-top: 47px;
}
@media only screen and (max-width: 767.9px) {
  .introduction {
    padding-right: 4%;
    padding-left: 4%;
  }
}

.introduction__heading {
  font-weight: 500;
}
@media only screen and (max-width: 767.9px) {
  .introduction__heading {
    font-size: 1.375rem;
  }
}
@media print, screen and (min-width: 768px) {
  .introduction__heading {
    font-size: 1.75rem;
  }
}

.introduction__desc {
  margin-top: 24px;
  line-height: 2;
}
@media only screen and (max-width: 767.9px) {
  .introduction__desc {
    font-size: 0.9375rem;
  }
}

.second-visual {
  padding: 50px 0;
  text-align: center;
  background-color: #163259;
  color: #fff;
}

.second-visual__subcopy {
  font-size: 0.9375rem;
}

.second-visual__maincopy {
  display: inline-block;
  padding-right: 6%;
  padding-left: 6%;
  border-top: 1px solid #fff;
  margin-top: 10px;
  padding-top: 10px;
  font-size: 1.5625rem;
  font-weight: normal;
}

.intro-area {
  margin-top: 60px;
}
@media print, screen and (min-width: 768px) {
  .intro-area.-mt-wide {
    margin-top: 100px;
  }
}

.intro-area__heading {
  text-align: center;
  color: #163259;
  font-weight: 500;
  font-size: 1.5625rem;
}
.intro-area__heading.-brown {
  color: #005438;
}

.intro-area__desc {
  text-align: center;
  font-size: 1rem;
  line-height: 2;
}
@media only screen and (max-width: 767.9px) {
  .intro-area__desc {
    margin-top: 10px;
    font-size: 0.875rem;
  }
}
@media print, screen and (min-width: 768px) {
  .intro-area__desc {
    margin-top: 40px;
  }
}