/*====================================================================================
1. START MAIN VISUAL SECTION.
====================================================================================*/
.main_mv {
  color: #fff;
}
@media only screen and (min-width: 768px) {
  .main_mv {
    background: #eef9ff url(../images/top/bg_mv.svg) no-repeat bottom -18.5rem center;
    background-size: 143.4rem 73rem;
    height: 73.3rem;
    padding-top: 18.9rem;
  }
}
@media only screen and (max-width: 767px) {
  .main_mv {
    background: #eef9ff url(../images/top/bg.png) no-repeat bottom center;
    background-size: 100% auto;
    height: 37.625rem;
    padding: 10.2rem 0.6rem;
    position: relative;
  }
  .main_mv:after {
    content: "";
    background: url(../images/top/bg_mv_sp.svg) no-repeat bottom -4.3rem right;
    background-size: 15.4rem 18.35rem;
    width: 15.4rem;
    height: 18.35rem;
    position: absolute;
    right: 0;
    bottom: 0;
  }
}
.main_mv .title span {
  background: var(--co-privacy);
  font-family: var(--font-zenKaku);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  display: inline-block;
  vertical-align: top;
}
@media only screen and (min-width: 768px) {
  .main_mv .title span {
    font-size: 7rem;
    padding: 1.1rem 2.8rem 0.9rem 2.1rem;
    margin-bottom: 1.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .main_mv .title span {
    font-size: 3.25rem;
    padding: 5px 14px 8px 14px;
    margin-bottom: 7px;
  }
}
.main_mv .title span:last-child {
  margin: 0;
}
.main_mv p {
  font-family: var(--font-zenKaku);
  font-weight: 700;
  color: var(--co-privacy);
}
@media only screen and (min-width: 768px) {
  .main_mv p {
    font-size: 3.8rem;
    margin: 2.1rem 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .main_mv p {
    font-size: 1.9rem;
    margin: 0.3rem 0 0;
  }
}

.sec01 {
  background: #fffcf4;
}
@media only screen and (min-width: 768px) {
  .sec01 {
    padding: 7.2rem 0 3.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec01 {
    padding: 0 0 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .sec01 .block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 2.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec01 .block {
    text-align: center;
  }
}
@media only screen and (min-width: 768px) {
  .sec01 .photo {
    width: 31.85rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  .sec01 .photo img {
    width: 100%;
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  .sec01 .photo {
    margin: auto;
    padding-right: 1.7rem;
  }
  .sec01 .photo img {
    width: 24rem;
    margin-top: -4.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec01 .content {
    text-align: left;
    margin: 2rem 0.7rem 0;
  }
}
@media only screen and (min-width: 768px) {
  .sec01 .title {
    margin: 0 0 2.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec01 .title {
    margin: 0 0 1.6rem;
  }
}
.sec01 .title img {
  display: block;
}
@media only screen and (min-width: 768px) {
  .sec01 .title img {
    width: 16.8rem;
    height: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec01 .title img {
    width: 13rem;
    height: auto;
  }
}
.sec01 p {
  font-weight: 700;
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .sec01 p {
    font-size: 1.8rem;
    line-height: 1.9444444444;
    padding-left: 5px;
  }
}
@media only screen and (max-width: 767px) {
  .sec01 p {
    font-size: 1.4rem;
    line-height: 1.9;
  }
}

.sec02 .clock {
  background: var(--co-privacy);
  text-align: center;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .sec02 .clock {
    padding: 6rem 0 3.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec02 .clock {
    padding: 2rem 0;
  }
}
.sec02 .clock:after {
  content: "";
  width: 0;
  height: 0;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media only screen and (min-width: 768px) {
  .sec02 .clock:after {
    border-left: 3.1rem solid transparent;
    border-right: 3.1rem solid transparent;
    border-top: 3.6rem solid var(--co-privacy);
    bottom: -2.9rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec02 .clock:after {
    border-left: 1.5rem solid transparent;
    border-right: 1.5rem solid transparent;
    border-top: 1.8rem solid var(--co-privacy);
    bottom: -1.5rem;
  }
}
.sec02 .clock .box {
  background: #fff;
  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;
  color: #258887;
  font-weight: 700;
  letter-spacing: 0;
  margin: auto;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .sec02 .clock .box {
    width: 42rem;
    height: 6rem;
    border-radius: 5rem;
    font-size: 2.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec02 .clock .box {
    width: 30rem;
    height: 4rem;
    border-radius: 5rem;
    font-size: 1.6rem;
  }
}
.sec02 .clock .box:after {
  content: "";
  width: 0;
  height: 0;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media only screen and (min-width: 768px) {
  .sec02 .clock .box:after {
    border-left: 1.5rem solid transparent;
    border-right: 1.5rem solid transparent;
    border-top: 2rem solid #fff;
    bottom: -1.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec02 .clock .box:after {
    border-left: 1rem solid transparent;
    border-right: 1rem solid transparent;
    border-top: 1.2rem solid #fff;
    bottom: -1rem;
  }
}
.sec02 .clock .title {
  font-weight: 900;
  color: #fff;
}
@media only screen and (min-width: 768px) {
  .sec02 .clock .title {
    font-size: 5.6rem;
    margin: 2.4rem 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .sec02 .clock .title {
    font-size: 1.8rem;
    margin: 1.5rem 0 0 -1.2rem;
  }
}
.sec02 .clock .title span {
  color: #fae500;
  position: relative;
}
.sec02 .clock .title span:after {
  border-radius: 0.4rem;
  background: #fae500;
  position: absolute;
  z-index: 1;
  content: "";
}
@media only screen and (min-width: 768px) {
  .sec02 .clock .title span:after {
    width: 42rem;
    height: 0.5rem;
    bottom: -0.1rem;
    left: 1.3rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec02 .clock .title span:after {
    width: 100%;
    height: 0.2rem;
    bottom: 0;
    left: 0;
  }
}
.sec02 .clock p {
  color: #fff;
  font-weight: 900;
}
@media only screen and (min-width: 768px) {
  .sec02 .clock p {
    font-size: 3rem;
    margin: 1.5rem 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .sec02 .clock p {
    font-size: 1.6rem;
    margin: 1rem 0 0;
  }
}

.sec03 {
  background: #edf5f7;
}
@media only screen and (min-width: 768px) {
  .sec03 {
    padding-top: 6.1rem;
    padding-bottom: 12rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec03 {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
.sec03 .clock01 .txt {
  text-align: center;
  font-weight: 700;
  line-height: 1.75;
}
@media only screen and (min-width: 768px) {
  .sec03 .clock01 .txt {
    font-size: 2rem;
    margin: 0 0 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec03 .clock01 .txt {
    font-size: 1.6rem;
    padding: 0 1.2rem;
    margin: 0 0 3rem;
  }
}
.sec03 .clock01 .title {
  text-align: center;
  margin: 0 0;
}
.sec03 .clock01 .title span {
  font-weight: 700;
  letter-spacing: 0.1em;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .sec03 .clock01 .title span {
    font-size: 5rem;
    padding: 0 4.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec03 .clock01 .title span {
    font-size: 2.4rem;
    padding: 0 3rem;
  }
}
.sec03 .clock01 .title span:before, .sec03 .clock01 .title span:after {
  border-radius: 0.4rem;
  background: #000;
  position: absolute;
  z-index: 1;
  content: "";
}
@media only screen and (min-width: 768px) {
  .sec03 .clock01 .title span:before, .sec03 .clock01 .title span:after {
    width: 0.6rem;
    height: 6.3rem;
    top: 1.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec03 .clock01 .title span:before, .sec03 .clock01 .title span:after {
    width: 0.3rem;
    height: 2rem;
    top: 1rem;
  }
}
.sec03 .clock01 .title span:before {
  left: 0;
  -webkit-transform: rotate(-20deg);
          transform: rotate(-20deg);
}
.sec03 .clock01 .title span:after {
  right: 0;
  -webkit-transform: rotate(20deg);
          transform: rotate(20deg);
}
.sec03 .clock01 .image {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .sec03 .clock01 .image {
    margin: 5.3rem auto 0;
    max-width: 115.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec03 .clock01 .image {
    margin: 3rem 0 0;
    padding: 0 1.5rem 0 0;
  }
}
.sec03 .clock01 .image a {
  border-radius: 50%;
  position: absolute;
}
@media only screen and (min-width: 768px) {
  .sec03 .clock01 .image a {
    right: 0;
    width: 11.5rem;
    height: 11.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec03 .clock01 .image a {
    width: 3.5rem;
    height: 3.5rem;
    right: 1.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .sec03 .clock01 .image a.link1 {
    top: 1.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec03 .clock01 .image a.link1 {
    top: 0.4rem;
  }
}
@media only screen and (min-width: 768px) {
  .sec03 .clock01 .image a.link2 {
    top: 20.9rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec03 .clock01 .image a.link2 {
    top: 6.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .sec03 .clock01 .image a.link3 {
    top: 38.1rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec03 .clock01 .image a.link3 {
    top: 12rem;
  }
}
@media only screen and (min-width: 768px) {
  .sec03 .clock01 .image a.link4 {
    top: 55.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec03 .clock01 .image a.link4 {
    top: 17.4rem;
  }
}
@media only screen and (min-width: 768px) {
  .sec03 .clock01 .image a.link5 {
    top: 74rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec03 .clock01 .image a.link5 {
    top: 23.1rem;
  }
}
@media only screen and (min-width: 768px) {
  .sec03 .clock01 .image a.link6 {
    bottom: 1.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec03 .clock01 .image a.link6 {
    bottom: 0.4rem;
  }
}
@media only screen and (min-width: 768px) {
  .sec03 .clock02 {
    margin-top: 7.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec03 .clock02 {
    margin-top: 4rem;
  }
}
.sec03 .clock02 .title {
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.05em;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .sec03 .clock02 .title {
    font-size: 4.5rem;
    padding-bottom: 6.2rem;
    margin-bottom: 3.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec03 .clock02 .title {
    font-size: 2.4rem;
    padding-bottom: 2.5rem;
    margin-bottom: 3rem;
  }
}
.sec03 .clock02 .title:after {
  content: "";
  width: 0;
  height: 0;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media only screen and (min-width: 768px) {
  .sec03 .clock02 .title:after {
    border-left: 3.6rem solid transparent;
    border-right: 3.6rem solid transparent;
    border-top: 4.1rem solid #000;
  }
}
@media only screen and (max-width: 767px) {
  .sec03 .clock02 .title:after {
    border-left: 1.5rem solid transparent;
    border-right: 1.5rem solid transparent;
    border-top: 1.8rem solid #000;
  }
}
.sec03 .clock02_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) {
  .sec03 .clock02_btn {
    gap: 6rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec03 .clock02_btn {
    gap: 1rem;
  }
}
.sec03 .clock02_btn .box-type {
  text-decoration: none;
  color: #fff;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .sec03 .clock02_btn .box-type {
    width: 11.5rem;
    padding-bottom: 4.1rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec03 .clock02_btn .box-type {
    width: calc(16.6666666667% - 0.8333333333rem);
    padding-bottom: 3rem;
  }
}
.sec03 .clock02_btn .box-type:before, .sec03 .clock02_btn .box-type:after {
  content: "";
  width: 0;
  height: 0;
  border-left: 0.6rem solid transparent;
  border-right: 0.6rem solid transparent;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media only screen and (min-width: 768px) {
  .sec03 .clock02_btn .box-type:before {
    bottom: 1.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec03 .clock02_btn .box-type:before {
    bottom: 1.3rem;
  }
}
@media only screen and (min-width: 768px) {
  .sec03 .clock02_btn .box-type:after {
    bottom: 0;
  }
}
@media only screen and (max-width: 767px) {
  .sec03 .clock02_btn .box-type:after {
    bottom: 0;
  }
}
.sec03 .clock02_btn .box-type .cicle {
  width: 100%;
  border-radius: 50%;
  text-align: center;
  font-weight: 900;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .sec03 .clock02_btn .box-type .cicle {
    height: 11.5rem;
    font-size: 1.4rem;
    padding-top: 2.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec03 .clock02_btn .box-type .cicle {
    aspect-ratio: 1/1;
    display: block;
    font-size: 1.2rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.sec03 .clock02_btn .box-type .cicle span {
  display: block;
  margin-top: 0.1rem;
}
@media only screen and (min-width: 768px) {
  .sec03 .clock02_btn .box-type .cicle span {
    font-size: 4.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec03 .clock02_btn .box-type .cicle span {
    font-size: 2rem;
  }
}
.sec03 .clock02_btn .type-a .cicle {
  background: var(--co-a);
}
.sec03 .clock02_btn .type-a:before, .sec03 .clock02_btn .type-a:after {
  border-top: 1rem solid var(--co-a);
}
.sec03 .clock02_btn .type-b .cicle {
  background: var(--co-b);
}
.sec03 .clock02_btn .type-b:before, .sec03 .clock02_btn .type-b:after {
  border-top: 1rem solid var(--co-b);
}
.sec03 .clock02_btn .type-c .cicle {
  background: var(--co-c);
}
.sec03 .clock02_btn .type-c:before, .sec03 .clock02_btn .type-c:after {
  border-top: 1rem solid var(--co-c);
}
.sec03 .clock02_btn .type-d .cicle {
  background: var(--co-d);
}
.sec03 .clock02_btn .type-d:before, .sec03 .clock02_btn .type-d:after {
  border-top: 1rem solid var(--co-d);
}
.sec03 .clock02_btn .type-e .cicle {
  background: var(--co-e);
}
.sec03 .clock02_btn .type-e:before, .sec03 .clock02_btn .type-e:after {
  border-top: 1rem solid var(--co-e);
}
.sec03 .clock02_btn .type-f .cicle {
  background: var(--co-f);
}
.sec03 .clock02_btn .type-f:before, .sec03 .clock02_btn .type-f:after {
  border-top: 1rem solid var(--co-f);
}
.sec03 .clock02_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media only screen and (min-width: 768px) {
  .sec03 .clock02_list {
    gap: 5rem;
    margin-top: 4.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec03 .clock02_list {
    margin-top: 3rem;
    gap: 3rem;
  }
}
.sec03 .clock02_list .item {
  background: #fff;
  border-radius: 0.5rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media only screen and (min-width: 768px) {
  .sec03 .clock02_list .item {
    width: calc(50% - 2.5rem);
  }
}
@media only screen and (max-width: 767px) {
  .sec03 .clock02_list .item {
    width: 100%;
  }
}
.sec03 .clock02_list .item-ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #fff;
  font-weight: 700;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media only screen and (min-width: 768px) {
  .sec03 .clock02_list .item-ttl {
    padding: 1.5rem 3.1rem 2.8rem;
    gap: 2.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec03 .clock02_list .item-ttl {
    padding: 0.5rem 1rem 1rem;
    gap: 1.5rem;
  }
}
.sec03 .clock02_list .item-ttl span {
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .sec03 .clock02_list .item-ttl span {
    font-size: 5rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec03 .clock02_list .item-ttl span {
    font-size: 3rem;
  }
}
.sec03 .clock02_list .item-ttl h3 {
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 768px) {
  .sec03 .clock02_list .item-ttl h3 {
    font-size: 2.8rem;
    margin-top: 0.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec03 .clock02_list .item-ttl h3 {
    font-size: 1.8rem;
    margin-top: 0.2rem;
  }
}
@media only screen and (min-width: 768px) {
  .sec03 .clock02_list .item-ct {
    padding: 3.3rem 3.2rem 5.8rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
@media only screen and (max-width: 767px) {
  .sec03 .clock02_list .item-ct {
    padding: 1.2rem 1.2rem 2rem;
  }
}
.sec03 .clock02_list .item-ct p {
  font-weight: 500;
  letter-spacing: 0;
}
@media only screen and (min-width: 768px) {
  .sec03 .clock02_list .item-ct p {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-height: 24rem;
  }
}
.sec03 .clock02_list .item-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
}
@media only screen and (min-width: 768px) {
  .sec03 .clock02_list .item-btn {
    margin-top: 4.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec03 .clock02_list .item-btn {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 1.5rem;
    margin-top: 2rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media only screen and (min-width: 768px) {
  .sec03 .clock02_list .item-btn a:after {
    right: 2.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec03 .clock02_list .item-btn a {
    max-width: 25rem;
  }
}
.sec03 .clock02_list .item-a {
  border: 0.3rem solid var(--co-a);
}
.sec03 .clock02_list .item-a .item-ttl {
  background: var(--co-a);
}
.sec03 .clock02_list .item-b {
  border: 0.3rem solid var(--co-b);
}
.sec03 .clock02_list .item-b .item-ttl {
  background: var(--co-b);
}
.sec03 .clock02_list .item-c {
  border: 0.3rem solid var(--co-c);
}
.sec03 .clock02_list .item-c .item-ttl {
  background: var(--co-c);
}
.sec03 .clock02_list .item-d {
  border: 0.3rem solid var(--co-d);
}
.sec03 .clock02_list .item-d .item-ttl {
  background: var(--co-d);
}
.sec03 .clock02_list .item-e {
  border: 0.3rem solid var(--co-e);
}
.sec03 .clock02_list .item-e .item-ttl {
  background: var(--co-e);
}
.sec03 .clock02_list .item-f {
  border: 0.3rem solid var(--co-f);
}
.sec03 .clock02_list .item-f .item-ttl {
  background: var(--co-f);
}

@media only screen and (min-width: 768px) {
  .sec04 {
    padding: 10.7rem 0 0;
  }
  .sec04 .cm-title01 {
    margin: 0 0 2.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec04 {
    padding: 3rem 0 0;
  }
}
.sec04 p {
  text-align: center;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.875;
}
.sec04-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.sec04-list iframe {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
}
@media only screen and (min-width: 768px) {
  .sec04-list {
    margin-top: 6.2rem;
    gap: 5rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec04-list {
    margin-top: 2rem;
    gap: 2rem;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media only screen and (min-width: 768px) {
  .sec04-list img {
    width: calc(50% - 2.5rem);
  }
}
@media only screen and (max-width: 767px) {
  .sec04-list img {
    width: 100%;
  }
}
.sec04 .img {
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .sec04 .img {
    margin-top: 17.3rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec04 .img {
    margin-top: 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .sec04 .img img {
    width: 38.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec04 .img img {
    width: 19.4rem;
  }
}

.sec05 {
  background: #fafafa;
}
@media only screen and (min-width: 768px) {
  .sec05 {
    padding: 5.4rem 0 0;
  }
  .sec05-list {
    margin-top: 5.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec05 {
    padding: 3rem 0 0;
  }
}
@media only screen and (min-width: 768px) {
  .sec05 .block {
    margin-bottom: 9.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec05 .block {
    margin-bottom: 3rem;
  }
}
.sec05 .block:last-child {
  margin-bottom: 0;
}
.sec05 .block .title {
  border-radius: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #fff;
  font-weight: 700;
}
@media only screen and (min-width: 768px) {
  .sec05 .block .title {
    padding: 2rem 3.4rem 3rem;
    gap: 2.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec05 .block .title {
    padding: 0.5rem 1rem 1rem;
    gap: 1rem;
  }
}
.sec05 .block .title span {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .sec05 .block .title span {
    font-size: 5rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec05 .block .title span {
    font-size: 3rem;
  }
}
.sec05 .block .title h3 {
  line-height: 1.25;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 768px) {
  .sec05 .block .title h3 {
    font-size: 2.8rem;
    margin-top: 1.3rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec05 .block .title h3 {
    font-size: 1.8rem;
    margin-top: 0.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .sec05 .block .cm-listItem {
    margin-top: 4.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec05 .block .cm-listItem {
    margin-top: 3rem;
  }
}
.sec05 .block .buttom {
  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) {
  .sec05 .block .buttom {
    gap: 6rem;
    margin-top: 5.9rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec05 .block .buttom {
    gap: 1.5rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-top: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .sec05 .block .buttom a {
    max-width: 36rem;
    height: 8.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec05 .block .buttom a {
    max-width: 25rem;
  }
}
.sec05 .block-a .title {
  background: var(--co-a);
}
.sec05 .block-b .title {
  background: var(--co-b);
}
.sec05 .block-c .title {
  background: var(--co-c);
}
.sec05 .block-d .title {
  background: var(--co-d);
}
.sec05 .block-e .title {
  background: var(--co-e);
}
.sec05 .block-f .title {
  background: var(--co-f);
}
.sec05 .photo {
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .sec05 .photo {
    margin-top: 25.1rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec05 .photo {
    margin-top: 4rem;
  }
}
.sec05 .photo img {
  display: block;
  margin: auto;
}
@media only screen and (min-width: 768px) {
  .sec05 .photo img {
    width: 39.25rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec05 .photo img {
    width: 19.6rem;
  }
}

.sec06 {
  background: #eefafb;
}
@media only screen and (min-width: 768px) {
  .sec06 {
    padding: 9.4rem 0 13rem;
    margin-top: -17rem;
  }
  .sec06_list {
    margin-top: 8.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec06 {
    padding: 3rem 0;
    margin-top: -8.4rem;
  }
}
.sec06 .item {
  background: #fff;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .sec06 .item {
    border-radius: 0.8rem;
    margin-bottom: 10rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec06 .item {
    border-radius: 0.4rem;
    margin-bottom: 3rem;
  }
}
.sec06 .item:last-child {
  margin-bottom: 0;
}
.sec06 .item .title {
  background: var(--co-privacy) url(../images/top/icon_ttl.svg) no-repeat top left;
  letter-spacing: 0.05em;
  font-weight: 700;
  color: #fff;
}
@media only screen and (min-width: 768px) {
  .sec06 .item .title {
    background-size: 18rem 13.5rem;
    font-size: 3rem;
    padding: 4.2rem 1rem 4.5rem 20.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec06 .item .title {
    background-size: 6rem auto;
    font-size: 1.8rem;
    padding: 1rem 1rem 1rem 7rem;
  }
}
.sec06 .item_ct {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .sec06 .item_ct {
    padding: 6.5rem 4.5rem 8rem 53.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec06 .item_ct {
    padding: 2rem 1.2rem 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .sec06 .item_ct .img {
    position: absolute;
    width: 45.5rem;
    top: 6.5rem;
    left: 4.5rem;
    border-radius: .5rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec06 .item_ct .img {
    width: 100%;
    display: block;
    margin: 2rem 0;
    border-radius: .5rem;
  }
}
.sec06 .item_ct .tit {
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 768px) {
  .sec06 .item_ct .tit {
    font-size: 1.8rem;
    margin-top: -0.8rem;
    margin-bottom: 2.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec06 .item_ct .tit {
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 768px) {
  .sec06 .item_ct .tit div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1.3rem;
  }
}
.sec06 .item_ct .tit div p {
  letter-spacing: 0.05em;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .sec06 .item_ct .tit div p {
    padding-right: 2.2rem;
  }
  .sec06 .item_ct .tit div p:after {
    content: "/";
    position: absolute;
    right: 0;
  }
  .sec06 .item_ct .tit div p:last-child {
    padding-right: 0;
  }
  .sec06 .item_ct .tit div p:last-child::after {
    content: none;
  }
}
.sec06 .item_ct .tit dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (min-width: 768px) {
  .sec06 .item_ct .tit dl {
    margin: 0.5rem 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .sec06 .item_ct .tit dl {
    margin: 0;
  }
}
.sec06 .item_ct .tit dl dt {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media only screen and (min-width: 768px) {
  .sec06 .item_ct .tit dl dd {
    padding-left: 1.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec06 .item_ct .tit dl dd {
    padding-left: 0.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .sec06 .item_ct .buttom {
    margin-top: 7.5rem;
  }
  .sec06 .item_ct .buttom:after {
    content: "";
    clear: both;
    display: block;
  }
  .sec06 .item_ct .buttom a {
    float: right;
    max-width: 36rem;
    height: 8.5rem;
    font-size: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec06 .item_ct .buttom {
    margin-top: 2rem;
    text-align: center;
  }
  .sec06 .item_ct .buttom a {
    max-width: 25rem;
    margin: auto;
  }
}

@media only screen and (min-width: 768px) {
  .sec07 {
    padding: 10.2rem 0 22.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec07 {
    padding: 3rem 0;
  }
}
@media only screen and (min-width: 768px) {
  .sec07 .sec07_img {
    margin-top: 5rem;
  }
}
.sec08 {
  background: #726c65 url(../images/top/bg2.svg) no-repeat bottom center;
}
@media only screen and (min-width: 768px) {
  .sec08 {
    padding: 11.9rem 0 13.1rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec08 {
    padding: 3rem 0 4rem;
    background-size: 100% auto;
  }
}
.sec08 a {
  background: #ffffff;
  color: #726c65;
  letter-spacing: 0.05em;
  margin: auto;
}
@media only screen and (min-width: 768px) {
  .sec08 a {
    width: 72rem;
    height: 15rem;
    border-radius: 9.25rem;
    font-size: 4rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec08 a {
    max-width: 27rem;
  }
}
@media only screen and (min-width: 768px) {
  .sec08 a:after {
    border-top: 0.8rem solid transparent;
    border-bottom: 0.8rem solid transparent;
    border-left: 1.5rem solid #726c65;
    right: 5.9rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec08 a:after {
    border-top: 0.5rem solid transparent;
    border-bottom: 0.5rem solid transparent;
    border-left: 0.8rem solid #726c65;
  }
}

@media only screen and (min-width: 768px) {
  .sec09 {
    padding: 11.7rem 0 15.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec09 {
    padding: 3rem 0 5rem;
  }
}
.sec09 p {
  text-align: center;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 768px) {
  .sec09 p {
    line-height: 2.1875;
    margin: 3.2rem 0 5.6rem;
  }
}
.sec09 table {
  width: 100%;
  border: 0.1rem solid #000;
}
@media only screen and (max-width: 767px) {
  .sec09 table {
    margin-top: 3rem;
  }
}
.sec09 table th {
  border: 0.1rem solid #000;
  background: #e4f3fc;
  text-align: center;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 768px) {
  .sec09 table th {
    font-size: 1.8rem;
    padding: 1.5rem 0.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec09 table th {
    font-size: 1.6rem;
    padding: 0.5rem;
  }
}
.sec09 table th:first-child {
  width: 5.9rem;
}
.sec09 table th:nth-child(2) {
  width: 34.5rem;
}
.sec09 table th:nth-child(3) {
  width: 15rem;
}
.sec09 table th:nth-child(4) {
  width: 32rem;
}
.sec09 table td {
  border: 0.1rem solid #000;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 768px) {
  .sec09 table td {
    padding: 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec09 table td {
    padding: 0.5rem 1rem;
  }
}
.sec09 table td:first-child {
  font-weight: 700;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .sec09 table td:first-child {
    padding: 1.5rem 0.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec09 table td:first-child {
    padding: 0.5rem;
  }
}
.sec09 table td:nth-child(3) {
  text-align: center;
}
.sec09 table td:nth-child(5) {
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .sec09 table td:nth-child(5) {
    padding: 1.5rem 0.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .sec09 table td:nth-child(5) {
    padding: 0.5rem;
  }
}

@media only screen and (max-width: 767px) {
  .js-scrollable {
    overflow-x: auto;
  }
  .js-scrollable table {
    width: 115rem;
  }
}