@charset "UTF-8";
/*** The new CSS reset - version 1.11.1 (last updated 24.10.2023) ***/
*:where(:not(html):not(iframe):not(canvas):not(img):not(svg):not(video):not(audio):not(svg*):not(symbol*)) {
  all: unset;
  display: revert;
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  -ms-text-size-adjust: none;
      text-size-adjust: none;
}

a,
button {
  cursor: revert;
}

ol,
ul,
menu,
summary {
  list-style: none;
}

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

table {
  border-collapse: collapse;
}

input,
textarea {
  -webkit-user-select: auto;
}

textarea {
  white-space: revert;
}

meter {
  -webkit-appearance: revert;
  -moz-appearance: revert;
  appearance: revert;
}

:where(pre) {
  all: revert;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

::-moz-placeholder {
  color: inherit;
}

::-webkit-input-placeholder {
  color: inherit;
}

:-ms-input-placeholder {
  color: inherit;
}

::-ms-input-placeholder {
  color: inherit;
}

::placeholder {
  color: inherit;
}

:where([hidden]) {
  display: none;
}

:where([contenteditable]:not([contenteditable=false])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  word-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}

:where([draggable=true]) {
  -webkit-user-drag: element;
}

:where(dialog:modal) {
  all: revert;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  font-size: 10px;
  position: relative;
}
html:has(.header__menu.is-open), html:has(.is-modal-open) {
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  html:has(#sidemenu.is-open) {
    overflow: hidden;
  }
}

body {
  font-family: "Lato", "IBM Plex Sans JP", sans-serif;
  font-weight: 500;
  color: #413C3A;
  line-height: 1.75;
  background-color: #fff;
  font-size: 1.5rem;
}
@media (min-width: 768px) {
  body {
    font-size: 1.7rem;
  }
}
@media only screen and (max-width: 767px) {
  body {
    width: 100%;
    overflow-x: hidden;
  }
}
@media print, screen and (min-width: 768px) {
  body {
    min-width: 1240px;
  }
}
body {
  position: relative;
}

main {
  overflow: hidden;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  main {
    padding-top: 120px;
  }
}

.container {
  margin: 0 auto;
}

.section {
  padding: 2rem 0;
}

a {
  color: #413C3A;
  text-decoration: none;
}

button {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  font-family: "Lato", "IBM Plex Sans JP", sans-serif;
  color: #413C3A;
  cursor: pointer;
}

small {
  font-size: 0.85em;
}

p {
  margin: 0.5em 0;
}

:disabled,
.is-disabled {
  opacity: 0.5;
  pointer-events: none; /* クリックイベントを無効化 */
  cursor: not-allowed;
}

.cpttl__block.cpin__wide {
  border-bottom: 1px solid #D4D4D4;
}
.cpttl__block.cpin__wide:first-of-type {
  border-top: 1px solid #D4D4D4;
}
.cpttl__block.cpin__wide:last-of-type {
  border-top: 1px solid #D4D4D4;
  margin-bottom: 40px;
}
@media print, screen and (min-width: 768px) {
  .cpttl__block.cpin__wide:last-of-type {
    margin-bottom: 80px;
  }
}
.cpttl__block.cpin__wide .cpin__header {
  position: relative;
  border: none;
  background-color: #F5F4F0;
  border-radius: 0;
  width: 100%;
  height: 92px;
  padding: 0 20px;
  gap: 12px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow: hidden;
}
@media print, screen and (min-width: 768px) {
  .cpttl__block.cpin__wide .cpin__header {
    height: 178px;
    gap: 28px;
    padding-inline: max(20px, (100vw - 1240px) / 2);
    height: 180px;
  }
}
.cpttl__block.cpin__wide .cpin__header h4 {
  position: relative;
  z-index: 10;
  font-size: 1.8rem;
}
@media (min-width: 768px) {
  .cpttl__block.cpin__wide .cpin__header h4 {
    font-size: 2.8rem;
  }
}
.cpttl__block.cpin__wide .cpin__header h4 {
  text-shadow: 0 0 2px #D4D4D4;
  text-align: left;
}
.cpttl__block.cpin__wide .cpin__header__bg {
  position: absolute;
  z-index: 2;
  height: 100%;
  right: 0;
  top: 0;
  -webkit-transition: 0.25s all ease-out;
  transition: 0.25s all ease-out;
}
@media only screen and (max-width: 767px) {
  .cpttl__block.cpin__wide .cpin__header__bg img {
    max-width: initial;
    height: 100%;
  }
}
.cpttl__block.cpin__wide .cpin__header::after {
  content: "";
  position: absolute;
  z-index: 3;
  background: -webkit-gradient(linear, left top, right top, color-stop(40%, rgb(245, 244, 240)), color-stop(60%, rgba(245, 244, 240, 0)));
  background: linear-gradient(to right, rgb(245, 244, 240) 40%, rgba(245, 244, 240, 0) 60%);
  width: 100%;
  height: 100%;
  right: 0;
  top: 0;
}
@media print, screen and (min-width: 768px) {
  .cpttl__block.cpin__wide .cpin__header::after {
    background: -webkit-gradient(linear, left top, right top, color-stop(25%, rgb(245, 244, 240)), to(rgba(245, 244, 240, 0)));
    background: linear-gradient(to right, rgb(245, 244, 240) 25%, rgba(245, 244, 240, 0) 100%);
    width: 600px;
    right: 250px;
  }
}
.cpttl__block.cpin__wide .cpin__content__inner {
  padding: 35px 0;
}

.cp-block .no_btn > a::after {
  background: none;
}
.cp-block .no_btn > a:hover::after {
  background: none;
}
.cp-block .pickup__item > a::after {
  background: none;
}
.cp-block .pickup__item > a:hover::after {
  background: none;
}