.main_mv {
  background: #000 url(../images/mv.webp) no-repeat bottom center;
  background-size: 100% auto;
  font-family: var(--font-Noto_serif);
}
@media only screen and (min-width: 768px) {
  .main_mv {
    height: 106.7rem;
    padding-top: 23.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .main_mv {
    height: 30rem;
    padding-left: 2rem;
    padding-top: 3.5rem;
  }
}
.main_mv .title {
  font-weight: 600;
  line-height: 1.5473684211;
  letter-spacing: 0.7rem;
  text-shadow: 0.2rem 0 #000, -0.2rem 0 #000, 0 0.2rem #000, 0 -0.2rem #000;
}
@media only screen and (min-width: 768px) {
  .main_mv .title {
    font-size: 9.5rem;
    margin: 0 0 4.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .main_mv .title {
    font-size: 2.4rem;
    margin: 0 0 1rem;
  }
}
.main_mv p {
  margin: 0;
  font-weight: 600;
  text-shadow: 0.2rem 0 #000, -0.2rem 0 #000, 0 0.2rem #000, 0 -0.2rem #000;
}
@media only screen and (min-width: 768px) {
  .main_mv p {
    font-size: 3.5rem;
    letter-spacing: 0.3rem;
  }
}
@media only screen and (max-width: 767px) {
  .main_mv p {
    font-size: 1.4rem;
    letter-spacing: 0.05em;
  }
}

@media only screen and (min-width: 768px) {
  .block01 {
    margin-top: -4.4rem;
    background: url(../images/bg1.webp) no-repeat left top;
    background-size: 100% auto;
  }
}
@media only screen and (min-width: 768px) {
  .block01 .sec01 {
    padding-left: 35rem;
  }
}
.block01 .sec01_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (min-width: 768px) {
  .block01 .sec01_btn {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    margin-top: 4.9rem;
  }
}
@media only screen and (max-width: 767px) {
  .block01 .sec01_btn {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .block01 .sec02 {
    margin-top: 4.3rem;
  }
}
@media only screen and (max-width: 767px) {
  .block01 .sec02 {
    margin-top: 3rem;
  }
}
.block01 .sec02_ttl {
  text-align: center;
  font-family: var(--font-Noto_serif);
  font-weight: 500;
  letter-spacing: 0.5rem;
  margin: 0 0 1rem;
}
@media only screen and (min-width: 768px) {
  .block01 .sec02_ttl {
    font-size: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .block01 .sec02_ttl {
    font-size: 2rem;
  }
}
.block01 .sec02_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (min-width: 768px) {
  .block01 .sec02_list {
    gap: 3rem;
    margin-top: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .block01 .sec02_list {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-top: 2rem;
    gap: 2rem;
  }
}
.block01 .sec02_list .item {
  border: 0.2rem solid #b9a665;
  text-align: center;
  text-decoration: none;
}
@media only screen and (min-width: 768px) {
  .block01 .sec02_list .item {
    width: calc(16.6666666667% - 2.5rem);
    padding: 0.7rem 0 2.5rem;
    -webkit-transition: 0.3s all;
    transition: 0.3s all;
  }
  .block01 .sec02_list .item:hover {
    background: #b9a665;
  }
}
@media only screen and (max-width: 767px) {
  .block01 .sec02_list .item {
    width: calc(50% - 1rem);
    padding: 0 0 2rem;
  }
}
.block01 .sec02_list .item p {
  margin: 0.1rem 0 0;
  font-weight: 700;
  letter-spacing: 0.05em;
}

@media only screen and (min-width: 768px) {
  .block02 {
    margin-top: 10.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .block02 {
    margin-top: 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .block02 .cm-title02 {
    margin: 4.3rem 0 0;
  }
}
.block02 .list {
  max-width: 92.7rem;
}
@media only screen and (min-width: 768px) {
  .block02 .list {
    margin: 7.3rem auto 0;
  }
}
@media only screen and (max-width: 767px) {
  .block02 .list {
    margin: 0 auto 0;
  }
}
.block02 .list dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (min-width: 768px) {
  .block02 .list dl {
    margin: 0 0 8.7rem;
  }
}
.block02 .list dl:last-child {
  margin-bottom: 0;
}
.block02 .list dl dt {
  margin: 0;
  line-height: 1;
  font-family: var(--font-Noto_serif);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .block02 .list dl dt {
    font-size: 12rem;
    width: 28.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .block02 .list dl dt {
    font-size: 3rem;
    width: 8rem;
  }
}
.block02 .list dl dt:before {
  content: "";
  height: 0.1rem;
  background: #fff;
  position: absolute;
}
@media only screen and (min-width: 768px) {
  .block02 .list dl dt:before {
    width: 5.6rem;
    right: 5.4rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
@media only screen and (max-width: 767px) {
  .block02 .list dl dt:before {
    right: 1.4rem;
    top: 1.6rem;
    width: 2rem;
  }
}
.block02 .list dl dd {
  padding: 0;
  margin: 0;
}
.block02 .list dl dd h4 {
  font-weight: 400;
}
@media only screen and (min-width: 768px) {
  .block02 .list dl dd h4 {
    font-size: 2.4rem;
    margin: 1rem 0 1.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .block02 .list dl dd h4 {
    font-size: 1.8rem;
    margin: 0 0 0.5rem;
  }
}
.block02 .list dl dd p {
  margin: 0;
}
.block02_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media only screen and (min-width: 768px) {
  .block02_btn {
    margin-top: 9.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .block02_btn {
    margin-top: 3rem;
  }
}

@media only screen and (min-width: 768px) {
  .block03 {
    margin-top: 13.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .block03 {
    margin-top: 4rem;
  }
}
.block03 img {
  width: 100%;
  height: auto;
  display: block;
}

.block04 {
  background: url(../images/bg2.webp) no-repeat bottom center;
  background-size: 100% auto;
}
@media only screen and (min-width: 768px) {
  .block04 {
    padding: 10.2rem 0 8.9rem;
  }
}
@media only screen and (max-width: 767px) {
  .block04 {
    padding: 4rem 0 10rem;
  }
}
@media only screen and (min-width: 768px) {
  .block04_btn {
    margin-top: 7.3rem;
  }
}
@media only screen and (max-width: 767px) {
  .block04_btn {
    margin-top: 3rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

@media only screen and (min-width: 768px) {
  .block05 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.block05_box {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media only screen and (min-width: 768px) {
  .block05_box {
    width: calc(50% - 47rem);
    height: 73.5rem;
  }
}
.block05_box img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
  display: block;
}
.block05_content {
  width: 100%;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .block05_content {
    padding: 8.1rem 3rem 0;
  }
  .block05_content .cm-title02 {
    margin: 4.2rem 0 3.1rem;
  }
}
@media only screen and (max-width: 767px) {
  .block05_content {
    padding: 4rem 1.2rem;
  }
}
.block05_content p {
  margin: 0;
}
.block05_btn {
  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;
}
@media only screen and (min-width: 768px) {
  .block05_btn {
    margin-top: 7.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .block05_btn {
    margin-top: 3rem;
  }
}

.block06 {
  background: #1b1b1b;
}
@media only screen and (min-width: 768px) {
  .block06 {
    padding-top: 14.7rem;
    padding-bottom: 13.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .block06 {
    padding: 4rem 1.2;
  }
}
.block06 .inner {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .block06 .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media only screen and (max-width: 767px) {
  .block06 .inner {
    padding: 4rem 1.2rem;
  }
}
@media only screen and (min-width: 768px) {
  .block06 .cm-title01 {
    width: 46.5rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-top: -3.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .block06 .cm-title01 {
    margin-bottom: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .block06_btn {
    position: absolute;
    left: 5rem;
    top: 21.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .block06_btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.block06 ul {
  width: 100%;
  margin: 0;
  padding: 0;
  border-top: 1px solid #fff;
}
@media only screen and (max-width: 767px) {
  .block06 ul {
    margin-bottom: 3rem;
  }
}
.block06 ul li {
  list-style-type: none;
  border-bottom: 1px solid #fff;
}
.block06 ul a {
  text-decoration: none;
}
@media only screen and (min-width: 768px) {
  .block06 ul a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 3.3rem 0;
    background: url(../common_img/arrow.webp) no-repeat right 2.5rem center;
    background-size: 2.2rem auto;
  }
  .block06 ul a:hover {
    color: var(--co-accent_color);
    background: url(../common_img/arrow_yl.webp) no-repeat right 2.5rem center;
    background-size: 2.2rem auto;
  }
}
@media only screen and (max-width: 767px) {
  .block06 ul a {
    background: url(../common_img/arrow.webp) no-repeat right 1rem center;
    background-size: 2.2rem auto;
    padding: 1.5rem 4rem 1.5rem 0;
    display: block;
  }
}
.block06 ul a span {
  color: #8a8a8a;
  width: 15rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.block06 ul p {
  margin: 0;
  font-weight: 500;
}