.clm-kv {
  position: relative;
  background: #f1efe9;
}

.clm-kv__in {
  position: relative;
}

@media print, (min-width: 768px) {
  .clm-kv__in {
    container-type: inline-size;
    max-width: 1440px;
    margin: 0 auto;
    aspect-ratio: 1440 / 376;
  }
}

@media print, (min-width: 768px) {
  .clm-kv__in::before {
    content: '';
    display: block;
    position: absolute;
    left: calc(-114 / 1440 * 100cqw);
    top: calc(-147 / 1440 * 100cqw);
    width: calc(381 / 1440 * 100cqw);
    height: calc(362 / 1440 * 100cqw);
    background: url(/madori/common/images/bg_clm_kv01.webp) no-repeat 0 0/contain;
  }
}

@media print, (min-width: 768px) {
  .clm-kv__in::after {
    content: '';
    display: block;
    position: absolute;
    right: 0;
    top: calc(45 / 1440 * 100cqw);
    width: calc(50 / 1440 * 100cqw);
    height: calc(100% - calc(90 / 1440 * 100cqw));
    background: #fff;
  }
}

.clm-kv__bw {
  position: relative;
}

@media print, (min-width: 768px) {
  .clm-kv__bw {
    z-index: 1;
    height: 100%;
    box-sizing: border-box;
    padding: calc(45 / 1440 * 100cqw) calc(60 / 1440 * 100cqw);
  }
}

@media screen and (max-width: 767px) {
  .clm-kv__bw {
    padding: 0 25px 25px;
  }
}

@media print, (min-width: 768px) {
  .clm-kv__bx {
    height: 100%;
    box-sizing: border-box;
    padding-top: calc(47 / 1440 * 100cqw);
    background: #fff;
  }
}

.clm-kv__s {
  position: relative;
  font-weight: 500;
  line-height: 1.4;
}

@media print, (min-width: 768px) {
  .clm-kv__s {
    padding-left: calc(92 / 1440 * 100cqw);
    font-size: calc(12 / 1440 * 100cqw);
  }
}

@media screen and (max-width: 767px) {
  .clm-kv__s {
    margin-bottom: 8px;
    padding: 32px 0 0 10px;
    font-size: 12px;
  }
}

.clm-kv__s::before {
  content: '';
  display: block;
  position: absolute;
  background: #156082;
}

@media print, (min-width: 768px) {
  .clm-kv__s::before {
    left: 0;
    top: calc(8 / 1440 * 100cqw);
    width: calc(72 / 1440 * 100cqw);
    height: calc(2 / 1440 * 100cqw);
  }
}

@media screen and (max-width: 767px) {
  .clm-kv__s::before {
    left: 0;
    top: 0;
    width: 2px;
    height: 48px;
  }
}

.clm-kv__tt {
  font-weight: 500;
  line-height: 1.6;
}

@media print, (min-width: 768px) {
  .clm-kv__tt {
    display: flex;
    align-items: center;
    height: calc(185 / 1440 * 100cqw);
    padding-left: calc(92 / 1440 * 100cqw);
    font-size: calc(28 / 1440 * 100cqw);
    letter-spacing: calc(3 / 1440 * 100cqw);
  }
}

@media screen and (max-width: 767px) {
  .clm-kv__tt {
    font-size: 20px;
    letter-spacing: 1px;
  }
}

@media print, (min-width: 768px) {
  .clm-kv__p {
    position: absolute;
    right: calc(50 / 1440 * 100cqw);
    top: 0;
    z-index: 1;
    width: calc(50% - calc(67 / 1440 * 100cqw));
    height: 100%;
  }
}

@media screen and (max-width: 767px) {
  .clm-kv__p {
    position: relative;
    aspect-ratio: 1306 / 752;
  }
}

.clm-kv__p img {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media print, (min-width: 768px) {
  .clm-content {
    max-width: 880px;
    margin: 0 auto;
    padding-top: 80px;
  }
}

@media screen and (max-width: 767px) {
  .clm-content {
    padding-top: 40px;
  }
}

@media screen and (max-width: 767px) {
  .clm-lead {
    margin: 0 25px;
  }
}

@media print, (min-width: 768px) {
  .clm-lead__t {
    font-size: 16px;
    line-height: 2;
  }
}

@media screen and (max-width: 767px) {
  .clm-lead__t {
    font-size: 15px;
    line-height: 1.8;
  }
}

@media print, (min-width: 768px) {
  .clm-lead__t:nth-child(n+2) {
    margin-top: 30px;
  }
}

@media screen and (max-width: 767px) {
  .clm-lead__t:nth-child(n+2) {
    margin-top: 25px;
  }
}

.clm-toc {
  background: #f9f8f6;
}

@media print, (min-width: 768px) {
  .clm-toc {
    display: flex;
    gap: 48px;
    margin-top: 88px;
    padding: 56px 48px;
  }
}

@media screen and (max-width: 767px) {
  .clm-toc {
    margin-top: 40px;
    padding: 30px 27.5px 40px;
  }
}

.clm-toc__c {
  position: relative;
}

@media print, (min-width: 768px) {
  .clm-toc__c:nth-child(1) {
    flex: 21.05978;
  }
}

@media screen and (max-width: 767px) {
  .clm-toc__c:nth-child(1) {
    padding-bottom: 20px;
  }
}

.clm-toc__c:nth-child(1)::before {
  content: '';
  display: block;
  position: absolute;
  background: #e1e1e1;
}

@media print, (min-width: 768px) {
  .clm-toc__c:nth-child(1)::before {
    right: 0;
    top: 0;
    width: 1px;
    height: 100%;
  }
}

@media screen and (max-width: 767px) {
  .clm-toc__c:nth-child(1)::before {
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
  }
}

@media print, (min-width: 768px) {
  .clm-toc__c:nth-child(2) {
    flex: 78.94022;
  }
}

@media screen and (max-width: 767px) {
  .clm-toc__c:nth-child(2) {
    padding-top: 20px;
  }
}

.clm-toc__tt {
  position: relative;
  padding-left: 28px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .2em;
}

.clm-toc__tt::before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 4.5px;
  width: 12px;
  height: 12px;
  background: #156082;
  mask: url(/madori/common/images/icon_toc01.svg) no-repeat 0 0/contain;
}

.clm-toc__ul {
  display: flex;
  flex-direction: column;
  gap: 30px;
  line-height: 1.4;
}

.clm-toc__ul a {
  display: inline-block;
  position: relative;
  color: inherit;
  text-decoration: none;
  vertical-align: top;
  transition: color 350ms cubic-bezier(.215, .61, .355, 1);
}

@media print, (min-width: 768px) {
  .clm-toc__ul a:hover,
  .clm-toc__ul a:active {
    color: #156082;
  }
}

.clm-toc__ul > li > a {
  font-weight: 500;
}

@media print, (min-width: 768px) {
  .clm-toc__ul > li > a {
    padding-left: 12px;
    font-size: 14px;
  }
}

@media screen and (max-width: 767px) {
  .clm-toc__ul > li > a {
    padding-left: 10px;
    font-size: 13px;
  }
}

.clm-toc__ul > li > a::before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #156082;
}

@media print, (min-width: 768px) {
  .clm-toc__ul > li > a::before {
    top: 8px;
  }
}

@media screen and (max-width: 767px) {
  .clm-toc__ul > li > a::before {
    top: 7.5px;
  }
}

.clm-toc__ul > li > ul {
  display: flex;
  flex-direction: column;
}

@media print, (min-width: 768px) {
  .clm-toc__ul > li > ul {
    gap: 4px;
    margin-top: 8px;
    padding-left: 32px;
  }
}

@media screen and (max-width: 767px) {
  .clm-toc__ul > li > ul {
    gap: 10px;
    margin-top: 12px;
    padding-left: 16px;
  }
}

.clm-toc__ul > li > ul > li > a {
  padding-left: 10px;
  font-size: 13px;
}

.clm-toc__ul > li > ul > li > a::before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 8.5px;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: #444;
}

.clm-toc__ul > li > ul > li > ul {
  display: flex;
  flex-direction: column;
}

@media print, (min-width: 768px) {
  .clm-toc__ul > li > ul > li > ul {
    margin-top: 4px;
    padding-left: 23px;
  }
}

@media screen and (max-width: 767px) {
  .clm-toc__ul > li > ul > li > ul {
    margin-top: 10px;
    padding-left: 10px;
  }
}

.clm-toc__ul > li > ul > li > ul > li > a {
  font-size: 13px;
}

@media print, (min-width: 768px) {
  .clm-body {
    padding: 90px 0 95px;
  }
}

@media screen and (max-width: 767px) {
  .clm-body {
    margin: 0 25px;
    padding: 40px 0 80px;
  }
}

.clm-body .is-mt0 {
  margin-top: 0 !important;
}

@media print, (min-width: 768px) {
  .clm-body .is-mt5 {
    margin-top: 5px !important;
  }
}

@media screen and (max-width: 767px) {
  .clm-body .is-mt5 {
    margin-top: 4px !important;
  }
}

@media print, (min-width: 768px) {
  .clm-body .is-mt10 {
    margin-top: 10px !important;
  }
}

@media screen and (max-width: 767px) {
  .clm-body .is-mt10 {
    margin-top: 8px !important;
  }
}

@media print, (min-width: 768px) {
  .clm-body .is-mt15 {
    margin-top: 15px !important;
  }
}

@media screen and (max-width: 767px) {
  .clm-body .is-mt15 {
    margin-top: 12px !important;
  }
}

@media print, (min-width: 768px) {
  .clm-body .is-mt20 {
    margin-top: 20px !important;
  }
}

@media screen and (max-width: 767px) {
  .clm-body .is-mt20 {
    margin-top: 16px !important;
  }
}

@media print, (min-width: 768px) {
  .clm-body .is-mt25 {
    margin-top: 25px !important;
  }
}

@media screen and (max-width: 767px) {
  .clm-body .is-mt25 {
    margin-top: 20px !important;
  }
}

@media print, (min-width: 768px) {
  .clm-body .is-mt30 {
    margin-top: 30px !important;
  }
}

@media screen and (max-width: 767px) {
  .clm-body .is-mt30 {
    margin-top: 24px !important;
  }
}

@media print, (min-width: 768px) {
  .clm-body .is-mt35 {
    margin-top: 35px !important;
  }
}

@media screen and (max-width: 767px) {
  .clm-body .is-mt35 {
    margin-top: 28px !important;
  }
}

@media print, (min-width: 768px) {
  .clm-body .is-mt40 {
    margin-top: 40px !important;
  }
}

@media screen and (max-width: 767px) {
  .clm-body .is-mt40 {
    margin-top: 32px !important;
  }
}

@media print, (min-width: 768px) {
  .clm-body .is-mt45 {
    margin-top: 45px !important;
  }
}

@media screen and (max-width: 767px) {
  .clm-body .is-mt45 {
    margin-top: 36px !important;
  }
}

@media print, (min-width: 768px) {
  .clm-body .is-mt50 {
    margin-top: 50px !important;
  }
}

@media screen and (max-width: 767px) {
  .clm-body .is-mt50 {
    margin-top: 40px !important;
  }
}

.clm-body__h2 {
  position: relative;
  color: #333;
  font-weight: 700;
  line-height: 1.4;
}

@media print, (min-width: 768px) {
  .clm-body__h2 {
    margin-bottom: 45px;
    padding-bottom: 13px;
    border-bottom: 4px solid #e1e1e1;
    font-size: 28px;
  }
}

@media screen and (max-width: 767px) {
  .clm-body__h2 {
    margin-bottom: 35px;
    padding-bottom: 15px;
    border-bottom: 3px solid #e1e1e1;
    font-size: 20px;
  }
}

.clm-body__h2::before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  background: #156082;
}

@media print, (min-width: 768px) {
  .clm-body__h2::before {
    bottom: -4px;
    width: 125px;
    height: 4px;
  }
}

@media screen and (max-width: 767px) {
  .clm-body__h2::before {
    bottom: -3px;
    width: 97px;
    height: 3px;
  }
}

.clm-body__h3 {
  position: relative;
  color: #156082;
  font-weight: 700;
  line-height: 1.4;
}

@media print, (min-width: 768px) {
  .clm-body__h3 {
    margin-bottom: 30px;
    padding-left: 36px;
    font-size: 24px;
  }
}

@media screen and (max-width: 767px) {
  .clm-body__h3 {
    margin-bottom: 25px;
    padding-left: 28px;
    font-size: 18px;
  }
}

.clm-body__h3::before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  height: 1px;
  background: #156082;
}

@media print, (min-width: 768px) {
  .clm-body__h3::before {
    top: 17.5px;
    width: 20px;
  }
}

@media screen and (max-width: 767px) {
  .clm-body__h3::before {
    top: 13.5px;
    width: 16px;
  }
}

.clm-body__h4 {
  position: relative;
  margin-bottom: 15px;
  color: #333;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}

@media print, (min-width: 768px) {
  .clm-body__t {
    font-size: 16px;
    line-height: 2;
  }
}

@media screen and (max-width: 767px) {
  .clm-body__t {
    font-size: 15px;
    line-height: 1.8;
  }
}

.clm-body__p {
  line-height: 1;
}

.clm-body__p img {
  width: 100%;
  height: auto;
  vertical-align: top;
}

.clm-body__np {
  line-height: 1;
  text-align: center;
}

.clm-body__np img {
  vertical-align: top;
}

@media screen and (max-width: 767px) {
  .clm-body__np img {
    width: 100%;
    max-width: 325px;
    height: auto;
  }
}

.clm-body__ul > li,
.clm-body__ub > li {
  position: relative;
  padding-left: 14px;
}

@media print, (min-width: 768px) {
  .clm-body__ul > li,
  .clm-body__ub > li {
    font-size: 16px;
    line-height: 2;
  }
}

@media screen and (max-width: 767px) {
  .clm-body__ul > li,
  .clm-body__ub > li {
    font-size: 15px;
    line-height: 1.8;
  }
}

.clm-body__ul > li::before,
.clm-body__ub > li::before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #156082;
}

@media print, (min-width: 768px) {
  .clm-body__ul > li::before,
  .clm-body__ub > li::before {
    top: 15px;
  }
}

@media screen and (max-width: 767px) {
  .clm-body__ul > li::before,
  .clm-body__ub > li::before {
    top: 12px;
  }
}

.clm-body__ub > li {
  font-weight: 500;
}

.clm-body__a {
  position: absolute;
  left: 0;
}

@media print, (min-width: 768px) {
  .clm-body__a {
    top: -40px;
  }
}

@media screen and (max-width: 767px) {
  .clm-body__a {
    top: -20px;
  }
}

.clm-body__sc {
  position: relative;
}

@media print, (min-width: 768px) {
  .clm-body__sc:nth-child(n+2) {
    margin-top: 100px;
  }
}

@media screen and (max-width: 767px) {
  .clm-body__sc:nth-child(n+2) {
    margin-top: 80px;
  }
}

.clm-body__sc2 {
  position: relative;
}

@media print, (min-width: 768px) {
  .clm-body__sc2 {
    margin-top: 65px;
  }
}

@media screen and (max-width: 767px) {
  .clm-body__sc2 {
    margin-top: 50px;
  }
}

.clm-body__sc3 {
  position: relative;
}

@media print, (min-width: 768px) {
  .clm-body__sc3 {
    margin-top: 40px;
  }
}

@media screen and (max-width: 767px) {
  .clm-body__sc3 {
    margin-top: 30px;
  }
}

.clm-body__it {
  display: flex;
}

@media print, (min-width: 768px) {
  .clm-body__it {
    gap: 40px;
  }
}

@media screen and (max-width: 767px) {
  .clm-body__it {
    flex-direction: column;
    gap: 20px;
  }
}

@media print, (min-width: 768px) {
  .clm-body__it__c:nth-child(1) {
    flex: 54.7619;
  }
}

@media print, (min-width: 768px) {
  .clm-body__it__c:nth-child(2) {
    flex: 45.2381;
  }
}

.clm-body__it__p {
  line-height: 1;
}

.clm-body__it__p img {
  width: 100%;
  height: auto;
  vertical-align: top;
}

.clm-body__ft {
  display: flex;
}

@media print, (min-width: 768px) {
  .clm-body__ft {
    align-items: center;
    gap: 40px;
  }
}

@media screen and (max-width: 767px) {
  .clm-body__ft {
    flex-direction: column;
    gap: 20px;
  }
}

@media print, (min-width: 768px) {
  .clm-body__ft__c:nth-child(1) {
    flex: 48.80952;
  }
}

@media print, (min-width: 768px) {
  .clm-body__ft__c:nth-child(2) {
    flex: 51.19048;
  }
}

.clm-body__ft__p {
  line-height: 1;
  text-align: center;
}

.clm-body__ft__p img {
  width: 100%;
  height: auto;
  vertical-align: top;
}

@media screen and (max-width: 767px) {
  .clm-body__ft__p img {
    max-width: 325px;
  }
}

.clm-body__cs {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.8;
}

.clm-body__cs__tt {
  position: relative;
  width: fit-content;
  margin-bottom: 4px;
  padding-right: 17px;
}

.clm-body__cs__tt::before {
  content: '';
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
  width: 1px;
  height: 22px;
  background: #9c9c9c;
  transform: translateY(-50%);
}

.clm-body__cs__ln a {
  color: #156082;
  text-decoration: underline !important;
  transition: opacity 350ms cubic-bezier(.215, .61, .355, 1);
}

@media print, (min-width: 768px) {
  .clm-body__cs__ln a:hover,
  .clm-body__cs__ln a:active {
    opacity: .5;
  }
}

.clm-body__md {
  display: flex;
  gap: 3px;
}

@media screen and (max-width: 767px) {
  .clm-body__md {
    flex-direction: column;
  }
}

@media print, (min-width: 768px) {
  .clm-body__md__u {
    flex: 1;
  }
}

.clm-body__md__u__tt {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
}

@media print, (min-width: 768px) {
  .clm-body__md__u__tt {
    height: 42px;
    margin-bottom: 3px;
    font-size: 16px;
  }
}

@media screen and (max-width: 767px) {
  .clm-body__md__u__tt {
    height: 32px;
    margin-bottom: 1px;
    font-size: 14px;
  }
}

.clm-body__md__u__bd {
  box-sizing: border-box;
}

@media print, (min-width: 768px) {
  .clm-body__md__u__bd {
    display: flex;
    align-items: center;
    height: calc(100% - 45px);
    padding: 20px 32px;
  }
}

@media screen and (max-width: 767px) {
  .clm-body__md__u__bd {
    padding: 20px;
  }
}

.clm-body__md__u__ul {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.clm-body__md__u__ul > li {
  position: relative;
  padding-left: 14px;
  font-size: 14px;
}

@media print, (min-width: 768px) {
  .clm-body__md__u__ul > li {
    line-height: 1.6;
  }
}

@media screen and (max-width: 767px) {
  .clm-body__md__u__ul > li {
    line-height: 1.4;
  }
}

.clm-body__md__u__ul > li::before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  width: 4px;
  height: 4px;
  border-radius: 50%;
}

@media print, (min-width: 768px) {
  .clm-body__md__u__ul > li::before {
    top: 9.5px;
  }
}

@media screen and (max-width: 767px) {
  .clm-body__md__u__ul > li::before {
    top: 8px;
  }
}

.clm-body__md__u:nth-child(1) .clm-body__md__u__tt {
  background: #44809b;
}

.clm-body__md__u:nth-child(1) .clm-body__md__u__bd {
  background: #eff4f6;
}

.clm-body__md__u:nth-child(1) .clm-body__md__u__ul > li::before {
  background: #156082;
}

.clm-body__md__u:nth-child(2) .clm-body__md__u__tt {
  background: #9c9c9c;
}

.clm-body__md__u:nth-child(2) .clm-body__md__u__bd {
  background: #f5f4f4;
}

.clm-body__md__u:nth-child(2) .clm-body__md__u__ul > li::before {
  background: #9c9c9c;
}

@media print, (min-width: 768px) {
  .clm-circ {
    padding: 95px 0 110px;
  }
}

@media screen and (max-width: 767px) {
  .clm-circ {
    padding: 80px 0;
  }
}

.clm-content + .clm-circ {
  padding-top: 0;
}
