/* =========================================================
consol log
========================================================= */
/* =========================================================
body
========================================================= */
.page-cont {
  color: #4B0800;
  -webkit-font-smoothing: antialiased;
  word-break: break-word;
  font-feature-settings: "palt";
  position: relative;
}

@media (min-width: 1025px) {
  .page-cont {
    display: grid;
    grid-template-columns: 1fr 460px 1fr;
  }
}
.page-cont::before {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../images/bg_pat01.png) no-repeat center/cover;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}

.page-cont input, .page-cont button, .page-cont textarea, .page-cont select {
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  box-sizing: border-box;
  outline: none;
}

.page-cont * {
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-weight: 600;
  box-sizing: border-box;
}

.page-cont *:before, .page-cont *:after {
  display: block;
}

.page-cont img {
  width: 100%;
  height: auto;
}

.page-cont a {
  text-decoration: none;
}

.page-cont a[href*="tel:"] {
  text-decoration: underline;
}

@media (hover: hover) {
  .page-cont a[href*="tel:"] {
    text-decoration: none;
    pointer-events: none;
  }
}
@media (max-width: 768px) {
  .page-cont .pc-br {
    display: none;
  }
}
@media (min-width: 769px) {
  .page-cont .sp-br {
    display: none;
  }
}
@container (max-width: 768px) {
  .page-cont .cont-pc-br {
    display: none;
  }
}
@container (min-width: 769px) {
  .page-cont .cont-sp-br {
    display: none;
  }
}
@media (max-width: 768px) {
  .page-cont .pc-disp {
    display: none !important;
  }
}
@media (min-width: 769px) {
  .page-cont .sp-disp {
    display: none !important;
  }
}
@media (hover: hover) {
  .page-cont .opacity-link {
    transition: opacity 0.2s ease;
  }
  .page-cont .opacity-link:hover {
    opacity: 0.6;
  }
}
.page-cont .txt-link {
  text-decoration: underline;
}

@media (hover: hover) {
  .page-cont .txt-link:hover {
    text-decoration: none;
  }
}
.main-block {
  container-type: inline-size;
  background: #FFFAF1;
  border-left: 3px solid #EB6D57;
  border-right: 3px solid #EB6D57;
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.3);
}

@media (min-width: 769px) {
  .main-block {
    width: 460px;
    margin: 0 auto;
  }
}
.right-block,
.left-block {
  display: none;
  height: calc(100vh - 88px);
  position: sticky;
  top: 88px;
}

@media (min-width: 1025px) {
  .right-block,
  .left-block {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.right-block .bnr-list {
  width: clamp(1px, 24vw, 350px);
}

/* =========================================================
common parts
========================================================= */
/*------------------------------------------
text
------------------------------------------*/
.txt-bbb {
  display: inline-block;
  aspect-ratio: 169/65;
  -webkit-mask: url(../images/txt_bbb.svg) no-repeat center/contain;
          mask: url(../images/txt_bbb.svg) no-repeat center/contain;
}

/*------------------------------------------
button
------------------------------------------*/
.c-btn01 a,
.c-btn01 button {
  display: block;
  width: 100%;
  height: 18.47cqw;
  border-radius: 4.34cqw;
  border: 2px solid;
  background: #FFFAF1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-btn01 .txt {
  font-size: 5.21cqw;
  line-height: 1.4;
  text-align: left;
}

.c-btn01 .txt-bbb {
  width: 17.17cqw;
  margin-right: 0.2em;
  background: #fff;
  vertical-align: text-top;
}

/*------------------------------------------
acc
------------------------------------------*/
.acc-block {
  border-radius: 4.34cqw;
  border: 2px solid;
  overflow: hidden;
}

.acc-block__btn button {
  display: block;
  width: 100%;
  height: 18.47cqw;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.acc-block__btn button::before {
  content: "";
  aspect-ratio: 20/12;
  width: 4.34cqw;
  background: url(../images/ico_arrow.svg) no-repeat center/contain;
  position: absolute;
  top: 50%;
  right: 18px;
  transform: translateY(-50%);
}

.acc-block__btn button.is-open::before {
  transform: translateY(-50%) rotate(180deg);
}

.acc-block__btn .txt {
  color: #fff;
  font-size: 4.78cqw;
  line-height: 1.72;
  text-align: left;
}

.acc-block__btn .txt-bbb {
  width: 18.26cqw;
  margin-right: 0.2em;
  background: #fff;
  vertical-align: text-top;
}

.acc-block__btn .small {
  font-size: 0.72em;
  letter-spacing: 0.084em;
}

.acc-block__wrap {
  display: none;
}

.acc-block__wrap .list {
  padding: 0 0 2.17cqw;
}

/*------------------------------------------
card
------------------------------------------*/
.c-card01 + .c-card01 {
  border-top: 3px solid;
  margin: 50px auto 0;
}

.c-card01 > * + * {
  margin: 25px auto 0;
}

.c-card01__ttl {
  padding: 50px 0;
  font-size: 6.08cqw;
  line-height: 1.42;
  text-align: center;
}

.c-card01__img {
  margin: 0;
}

.c-card01__img + * {
  margin: 50px auto 0;
}

.c-card01__item .name {
  font-size: 5.21cqw;
  line-height: 1.45;
  text-align: center;
}

.c-card01__item .price {
  margin: 5px auto 0;
  font-size: 3.91cqw;
  text-align: center;
}

.c-card01__item .tax {
  margin-left: 1em;
  font-size: 0.66em;
}

.c-card01__txt {
  padding: 0 1.73cqw;
  font-size: 3.47cqw;
  line-height: 1.87;
}

.c-card01__box {
  padding: 15px;
  border: 1px solid;
  border-radius: 2.17cqw;
  background: #FFFAF1;
}

.c-card01__box .head {
  display: flex;
  gap: 9px;
  align-items: center;
  justify-content: center;
}

.c-card01__box .img {
  width: 23.91cqw;
}

.c-card01__box .detail {
  flex: 1;
}

.c-card01__box .detail > * + * {
  margin: 5px auto 0;
}

.c-card01__box .txt01 {
  font-size: 3.47cqw;
  line-height: 1.37;
}

.c-card01__box .txt02 {
  font-size: 5.21cqw;
  line-height: 1.37;
  letter-spacing: 0.084em;
}

.c-card01__box .txt03 {
  font-size: 3.04cqw;
  line-height: 1;
  font-weight: 400;
}

.c-card01__box .txt {
  margin: 15px auto 0;
  font-size: 3.47cqw;
  line-height: 1.87;
}

/* =========================================================
contents
========================================================= */
/*------------------------------------------
lead
------------------------------------------*/
.sec-lead {
  padding: 80px 6.52cqw 0;
}

/*------------------------------------------
anchor link
------------------------------------------*/
.anchor-nav {
  padding: 80px 9.13cqw 50px;
}

.anchor-nav__ttl {
  color: #EB6D57;
  font-size: 5.86cqw;
  line-height: 1;
  letter-spacing: 0.1em;
  text-align: center;
}

.anchor-nav__list {
  margin: 30px auto 0;
  display: flex;
  gap: 10px;
}

.anchor-nav__item a {
  display: block;
}

.anchor-nav .bnr-list {
  margin: 50px auto 0;
}

/*------------------------------------------
contents
------------------------------------------*/
[class*=sec-contents--] .c-sec__in {
  padding: 0 4.78cqw 40px;
}

[class*=sec-contents--] .acc-block {
  margin: 42px auto 0;
}

[class*=sec-contents--] .c-btn01 {
  margin: 20px auto 0;
}

[class*=sec-contents--] .c-btn01 .txt-bbb {
  vertical-align: middle;
}

.sec-contents__head {
  aspect-ratio: 460/140;
  color: transparent;
  font-size: 0;
  -webkit-mask: url(../images/head.png) no-repeat center/contain;
          mask: url(../images/head.png) no-repeat center/contain;
  background: #000;
}

.sec-contents__ttl {
  margin: 10px auto 0;
  font-size: 4.78cqw;
  line-height: 1.59;
  letter-spacing: 0.05em;
  font-weight: 600;
  text-align: center;
}

.sec-contents__txt {
  margin: 20px auto 0;
  padding: 0 1.73cqw;
  font-size: 3.47cqw;
  line-height: 1.87;
}

.sec-contents__list {
  padding: 0 2.17cqw 2.17cqw;
}

.sec-contents--01 {
  background: #FFEBE8;
}

.sec-contents--01 .sec-contents__head {
  background: #B32A1A;
}

.sec-contents--01 .sec-contents__ttl {
  color: #B32A1A;
}

.sec-contents--01 .acc-block {
  border-color: #B32A1A;
  background: #FFF5F4;
  box-shadow: 0 4px 0 #B32A1A;
}

.sec-contents--01 .acc-block__btn button {
  background: #B32A1A;
}

.sec-contents--01 .c-card01 {
  border-color: #FFEBE8;
}

.sec-contents--01 .c-card01__ttl {
  color: #B32A1A;
}

.sec-contents--01 .c-card01__item {
  color: #B32A1A;
}

.sec-contents--01 .c-card01__box {
  border-color: #B32A1A;
}

.sec-contents--01 .c-card01__box .txt01 {
  color: #B32A1A;
}

.sec-contents--01 .c-btn01 a {
  border-color: #B32A1A;
  box-shadow: 0 4px 0 #B32A1A;
}

.sec-contents--01 .c-btn01 .txt {
  color: #B32A1A;
}

.sec-contents--01 .c-btn01 .txt-bbb {
  background: #B32A1A;
}

.sec-contents--02 {
  background: #FAEAD9;
}

.sec-contents--02 .sec-contents__head {
  background: #DB7500;
}

.sec-contents--02 .sec-contents__ttl {
  color: #DB7500;
}

.sec-contents--02 .acc-block {
  border-color: #DB7500;
  background: #FFF5EA;
  box-shadow: 0 4px 0 #DB7500;
}

.sec-contents--02 .acc-block__btn button {
  background: #DB7500;
}

.sec-contents--02 .c-card01 {
  border-color: #FAEAD9;
}

.sec-contents--02 .c-card01__ttl {
  color: #DB7500;
}

.sec-contents--02 .c-card01__item {
  color: #DB7500;
}

.sec-contents--02 .c-card01__box {
  border-color: #DB7500;
}

.sec-contents--02 .c-card01__box .txt01 {
  color: #DB7500;
}

.sec-contents--02 .c-btn01 a {
  border-color: #DB7500;
  box-shadow: 0 4px 0 #DB7500;
}

.sec-contents--02 .c-btn01 .txt {
  color: #DB7500;
}

.sec-contents--02 .c-btn01 .txt-bbb {
  background: #DB7500;
}

.sec-contents--03 {
  background: #F5ECDB;
}

.sec-contents--03 .sec-contents__head {
  background: #BA800E;
}

.sec-contents--03 .sec-contents__ttl {
  color: #BA800E;
}

.sec-contents--03 .acc-block {
  border-color: #BA800E;
  background: #FFF9ED;
  box-shadow: 0 4px 0 #BA800E;
}

.sec-contents--03 .acc-block__btn button {
  background: #BA800E;
}

.sec-contents--03 .c-card01 {
  border-color: #F5ECDB;
}

.sec-contents--03 .c-card01__ttl {
  color: #BA800E;
}

.sec-contents--03 .c-card01__item {
  color: #BA800E;
}

.sec-contents--03 .c-card01__box {
  border-color: #BA800E;
}

.sec-contents--03 .c-card01__box .txt01 {
  color: #BA800E;
}

.sec-contents--03 .c-btn01 a {
  border-color: #BA800E;
  box-shadow: 0 4px 0 #BA800E;
}

.sec-contents--03 .c-btn01 .txt {
  color: #BA800E;
}

.sec-contents--03 .c-btn01 .txt-bbb {
  background: #BA800E;
}

.sec-contents--04 {
  background: #D3DAE0;
}

.sec-contents--04 .sec-contents__head {
  background: #2C4F6B;
}

.sec-contents--04 .sec-contents__ttl {
  color: #2C4F6B;
}

.sec-contents--04 .acc-block {
  border-color: #2C4F6B;
  background: #F4F4F4;
  box-shadow: 0 4px 0 #2C4F6B;
}

.sec-contents--04 .acc-block__btn button {
  background: #2C4F6B;
}

.sec-contents--04 .c-card01 {
  border-color: #D3DAE0;
}

.sec-contents--04 .c-card01__ttl {
  color: #2C4F6B;
}

.sec-contents--04 .c-card01__item {
  color: #2C4F6B;
}

.sec-contents--04 .c-card01__box {
  border-color: #2C4F6B;
}

.sec-contents--04 .c-card01__box .txt01 {
  color: #2C4F6B;
}

.sec-contents--04 .c-btn01 a {
  border-color: #2C4F6B;
  box-shadow: 0 4px 0 #2C4F6B;
}

.sec-contents--04 .c-btn01 .txt {
  color: #2C4F6B;
}

.sec-contents--04 .c-btn01 .txt-bbb {
  background: #2C4F6B;
}

.sec-contents--05 {
  background: #E1E7E4;
}

.sec-contents--05 .sec-contents__head {
  background: #375F4B;
}

.sec-contents--05 .sec-contents__ttl {
  color: #375F4B;
}

.sec-contents--05 .acc-block {
  border-color: #375F4B;
  background: #F4F4F4;
  box-shadow: 0 4px 0 #375F4B;
}

.sec-contents--05 .acc-block__btn button {
  background: #375F4B;
}

.sec-contents--05 .c-card01 {
  border-color: #E1E7E4;
}

.sec-contents--05 .c-card01__ttl {
  color: #375F4B;
}

.sec-contents--05 .c-card01__item {
  color: #375F4B;
}

.sec-contents--05 .c-card01__box {
  border-color: #375F4B;
}

.sec-contents--05 .c-card01__box .txt01 {
  color: #375F4B;
}

.sec-contents--05 .c-btn01 a {
  border-color: #375F4B;
  box-shadow: 0 4px 0 #375F4B;
}

.sec-contents--05 .c-btn01 .txt {
  color: #375F4B;
}

.sec-contents--05 .c-btn01 .txt-bbb {
  background: #375F4B;
}

.sec-contents--06 {
  background: #EEEBF1;
}

.sec-contents--06 .sec-contents__head {
  background: #553871;
}

.sec-contents--06 .sec-contents__ttl {
  color: #553871;
}

.sec-contents--06 .acc-block {
  border-color: #553871;
  background: #FFF5F4;
  box-shadow: 0 4px 0 #553871;
}

.sec-contents--06 .acc-block__btn button {
  background: #553871;
}

.sec-contents--06 .c-card01 {
  border-color: #EEEBF1;
}

.sec-contents--06 .c-card01__ttl {
  color: #553871;
}

.sec-contents--06 .c-card01__item {
  color: #553871;
}

.sec-contents--06 .c-card01__box {
  border-color: #553871;
}

.sec-contents--06 .c-card01__box .txt01 {
  color: #553871;
}

.sec-contents--06 .c-btn01 a {
  border-color: #553871;
  box-shadow: 0 4px 0 #553871;
}

.sec-contents--06 .c-btn01 .txt {
  color: #553871;
}

.sec-contents--06 .c-btn01 .txt-bbb {
  background: #553871;
}

.sec-contents--07 {
  background: #DAE0ED;
}

.sec-contents--07 .sec-contents__head {
  background: #153272;
}

.sec-contents--07 .sec-contents__ttl {
  color: #153272;
}

.sec-contents--07 .acc-block {
  border-color: #153272;
  background: #F2F5FC;
  box-shadow: 0 4px 0 #153272;
}

.sec-contents--07 .acc-block__btn button {
  background: #153272;
}

.sec-contents--07 .c-card01 {
  border-color: #DAE0ED;
}

.sec-contents--07 .c-card01__ttl {
  color: #153272;
}

.sec-contents--07 .c-card01__item {
  color: #153272;
}

.sec-contents--07 .c-card01__box {
  border-color: #153272;
}

.sec-contents--07 .c-card01__box .txt01 {
  color: #153272;
}

.sec-contents--07 .c-btn01 a {
  border-color: #153272;
  box-shadow: 0 4px 0 #153272;
}

.sec-contents--07 .c-btn01 .txt {
  color: #153272;
}

.sec-contents--07 .c-btn01 .txt-bbb {
  background: #153272;
}

/*------------------------------------------
banner
------------------------------------------*/
.sec-bnr .c-sec__in {
  padding: 40px 4.78cqw;
}

.sec-bnr .bnr-sugosugi {
  display: block !important;
}

/*------------------------------------------
sticky navigation
------------------------------------------*/
.sticky-nav {
  width: clamp(1px, 24vw, 350px);
  padding: clamp(10px, 4.3vh, 47px) 0;
  background: #EB6D57;
  border-radius: 48px;
}

.sticky-nav__logo {
  width: clamp(10px, 18vh, 220px);
  margin: 0 auto;
}

.sticky-nav__list {
  width: -moz-fit-content;
  width: fit-content;
  margin: clamp(10px, 2.7vh, 30px) auto 0;
  gap: clamp(10px, 2.7vh, 30px);
}

.sticky-nav__item + .sticky-nav__item {
  margin: clamp(1px, 1vh, 20px) auto 0;
}

.sticky-nav__item a {
  color: #fff;
  font-size: clamp(10px, 2.1vh, 24px);
  line-height: 1;
}

.sticky-nav__item a::before {
  content: "> ";
  display: inline;
  font-size: 0.83em;
}

.sticky-nav__sub {
  margin: clamp(1px, 1vh, 20px) 0 0;
  padding: 0 0 0 1em;
}

/*------------------------------------------
banner list
------------------------------------------*/
.bnr-list__item a {
  display: block;
}

.bnr-list__item + .bnr-list__item {
  margin: 20px auto 0;
}

.bnr-list .bnr-sugosugi {
  display: none;
}