@charset "UTF-8";
/* font-size common rule */
body,
.mv_catch,
.mv_text,
.about,
.about_txtTtl,
.about_txtTxt,
.page.about .about_ttl,
.page.about .about_txtitem,
.product,
.product_list_ttlNo,
.product_list_ttlTtl,
.product .slider_talk_txtKicer,
.product .slider_talk_txtTtl,
.product .slider_btn,
.talkCard_no,
.talkCard_desc,
.footer,
.footer_nav_ja,
.list,
.listItem_txtTxt,
.poemList,
.poemList_noEn,
.poemList_noNo,
.single,
.single .article_title,
.single .article_content,
.single-product,
.single-product .product_purchaseButton,
.contact_content .wpforms-field-label,
.contact_content .wpforms-field-label li,
.contact_confirm_title,
.contact_confirm_dt,
.contact_confirm_dd,
.contact_confirm_btn,
.c-globalNav_ja {
  font-size: calc(var(--base-font-size) * var(--font-scale));
}

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

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  margin: 0;
  --base-font-size: var(--fz-body);
  font-weight: var(--weightRegular);
  font-family: "Shippori Mincho", "しっぽり明朝", "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif;
  color: var(--colorDark1);
  background: var(--colorLight1);
  width: 100%;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  overflow-x: hidden;
  overflow-wrap: anywhere;
  word-break: normal;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
  vertical-align: top;
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  -moz-user-drag: none;
  -o-user-drag: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

a {
  color: inherit;
  text-decoration: none;
}

input,
textarea {
  margin: 0;
  font-size: 100%;
}

.l-rootContainer {
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  margin: 0 auto;
  min-height: 100%;
}

.l-sec {
  margin: 0 auto;
  max-width: 1480px;
}
@media screen and (max-width: 1500px) {
  .l-sec {
    max-width: calc(100% - 5vw);
  }
}
@media screen and (max-width: 768px) {
  .l-sec {
    max-width: calc(100% - (var(--sp-padding)) * 2);
  }
}

.l-main {
  flex: 1;
  background: var(--colorLight2);
}
.l-main > .l-container {
  margin-top: 9.2%;
}
@media screen and (max-width: 768px) {
  .l-main > .l-container {
    margin-top: 60px;
  }
}

.pc,
.pc--inlineBlock {
  display: none;
}

.sp {
  display: block;
}

@media screen and (min-width: 768px) {
  .pc {
    display: block;
  }
  .pc--inlineBlock {
    display: inline-block;
  }
  .sp {
    display: none;
  }
}
.l-container {
  width: 100%;
  margin: 0 auto;
}

/* header */
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 50;
  background: var(--colorLight1);
}

.l-header_inner {
  width: 100%;
  display: flex;
  justify-content: space-between;
  background: var(--colorLight2);
}

.header_sitelogo {
  margin: 10px 45px;
  width: 165px;
  height: auto;
  z-index: 100;
}
@media screen and (max-width: 1920px) {
  .header_sitelogo {
    margin: 0.52vw 2.34vw;
    width: 8vw;
  }
}
@media screen and (max-width: 768px) {
  .header_sitelogo {
    margin: 8.5px 17.5px;
    width: 67px;
  }
}

/* ========== front-page ========== */
.front-page .l-main > .l-container {
  margin-top: 6%;
  padding-bottom: 5%;
}
.front-page .l-sec--index {
  padding-bottom: 4.17vw;
}
@media screen and (max-width: 768px) {
  .front-page .l-sec--index {
    padding-bottom: 7vw;
  }
}
.front-page .sec_link {
  display: block;
  letter-spacing: 0.3em;
  text-align: center;
}

/* mv */
.mv_inner {
  height: 76.5vw;
  background: var(--colorLight2);
}
@media screen and (max-width: 1920px) {
  .mv_inner {
    height: 80vw;
  }
}
@media screen and (max-width: 768px) {
  .mv_inner {
    position: relative;
    height: auto;
    padding-bottom: 24px;
  }
}

.mv_fadeImages,
.mv_body {
  display: contents;
}

.mv_body {
  position: relative;
}

.mv_image_5_sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .mv_fadeImages {
    display: block;
    position: relative;
    width: calc(100% - 50px);
    aspect-ratio: 8/11;
  }
  .mv_body {
    display: block;
    margin-top: 8vw;
  }
  .mv_image_5_sp {
    display: block;
    margin-top: 24px;
  }
  .mv_image_5_sp img {
    display: block;
    width: 100%;
    height: auto;
  }
}
.mv_image {
  position: absolute;
  z-index: 3;
  opacity: 0;
  transition: opacity 1.8s ease-in-out;
}
.mv_image.is-visible {
  opacity: 1;
}
.mv_image_1 {
  top: 3.7%;
  right: -8.5%;
  width: 20.63vw;
}
.mv_image_2 {
  top: 2.6%;
  right: 31.5%;
  width: 32.5vw;
  transition-delay: 0.8s;
}
.mv_image_3 {
  top: 7.4%;
  left: -1.5%;
  width: 16.7vw;
  transition-delay: 1.6s;
}
.mv_image_4 {
  top: 12.3%;
  left: 11.8%;
  width: 12.9vw;
  transition-delay: 2.4s;
}
.mv_image_5 {
  top: 16.1%;
  right: 0;
  width: 41.2vw;
  transition-delay: 3.2s;
}
@media screen and (max-width: 768px) {
  .mv_image {
    transition: opacity 1.5s ease-in-out;
  }
  .mv_image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
  }
  .mv_image_1, .mv_image_2, .mv_image_3, .mv_image_4 {
    inset: 0;
    left: 0;
    right: auto;
    width: 100%;
    height: 100%;
    transition-delay: 0s;
  }
  .mv_image_5 {
    display: none;
  }
}

.mv_catch {
  position: absolute;
  top: 5.4%;
  right: 21.2%;
  --base-font-size: var(--fz-heading);
  letter-spacing: 0.32em;
  writing-mode: vertical-rl;
}
@media screen and (max-width: 768px) {
  .mv_catch {
    top: 10%;
    right: 3%;
    font-size: 1.5rem;
  }
}

.mv_text {
  position: absolute;
  top: 17.3%;
  right: 45.5%;
  --base-font-size: 1.125rem;
  line-height: 2.77;
}
@media screen and (max-width: 768px) {
  .mv_text {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    padding: 0 var(--sp-padding);
    z-index: 2;
    font-size: 1rem;
    letter-spacing: 0.08em;
    line-height: 2.4;
  }
}

.mv_symbol {
  position: absolute;
  top: 11.2%;
  right: 22.1%;
  width: 14.32vw;
  height: 14.32vw;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .mv_symbol {
    top: 0;
    right: 15px;
    margin-top: 0;
    width: 35%;
    aspect-ratio: 1/1;
    height: auto;
  }
}

.mv_symbol-line {
  position: absolute;
  left: 50%;
  bottom: 50%;
  transform-origin: center bottom;
}

.mv_symbol-line-hour {
  bottom: 50.5%;
  width: 2.18%;
  height: 32.73%;
  background: var(--colorDark1);
}

.mv_symbol-line-min {
  bottom: 49%;
  width: 2.18%;
  height: 29.09%;
  background: var(--colorDark1);
}

.mv_symbol-line-sec {
  width: 1.09%;
  height: 41.45%;
  background: var(--colorPoint1);
  z-index: 2;
}

.mv_symbol-dot {
  width: 100%;
  height: 3.27%;
  position: absolute;
  top: 49.27%;
  left: 0;
  transform: rotate(calc((var(--i) - 1) * 30deg));
}

.mv_symbol-dot::after {
  content: "";
  position: absolute;
  width: 3.27%;
  height: 100%;
  border-radius: 50%;
  background: #B7B6B6;
}

/* about */
.about .c-sec-title--indexabout {
  margin-bottom: 5%;
}
.about .about_grid {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .about .about_grid {
    flex-direction: column;
  }
}
.about .about_img {
  margin: 0;
  width: 100%;
}
.about_txt {
  margin-top: 8%;
  padding-left: 6%;
  padding-right: 6%;
  width: 62%;
}
@media screen and (max-width: 768px) {
  .about_txt {
    margin-top: 6%;
    padding-left: 3%;
    padding-right: 3%;
    width: 100%;
  }
}
.about_txtTtl {
  --base-font-size: var(--fz-heading);
  font-weight: var(--weightMiddle);
  line-height: 1.66;
  white-space: nowrap;
}
.about_txtTxt {
  margin-top: 13%;
  margin-bottom: 13%;
  --base-font-size: 1.125rem;
  line-height: 2.77;
}
@media screen and (max-width: 768px) {
  .about_txtTxt {
    margin-top: 4%;
    margin-bottom: 7%;
    font-size: 0.75rem;
    line-height: 2.2;
  }
}

/* product slider */
.product_listWrap {
  margin: 3% auto 0;
  width: 78.5%;
}
@media screen and (max-width: 1200px) {
  .product_listWrap {
    width: 85%;
  }
}
@media screen and (max-width: 768px) {
  .product_listWrap {
    width: calc(100% - (var(--sp-padding)) * 2);
  }
}
.product_list_ttl {
  padding-left: 6%;
  text-align: center;
}
.product_list_ttlNo {
  --base-font-size: var(--fz-heading);
  font-weight: var(--weightMiddle);
  letter-spacing: 0.1em;
  line-height: 1.97;
}
.product_list_ttlTtl {
  --base-font-size: 2.5rem;
  font-weight: var(--weightMiddle);
  letter-spacing: 0.1em;
  line-height: 1.97;
}
.product_list .slider {
  position: relative;
}
.product_list .slider_track:not(.slick-initialized) {
  display: flex;
}
.product_list .slider_track.slick-initialized .slider_slide {
  min-width: 0;
}
.product_list .slider_track .slick-list {
  overflow: hidden;
}
.product_list .slider_track .slick-track {
  display: flex;
}
.product_list .slider_slide {
  flex: 0 0 100%;
  min-width: 100%;
}
.product_list .slider_viewport {
  overflow: hidden;
}
.product_list .slider_product {
  display: grid;
  grid-template-columns: 55.5% 1fr;
  gap: 4.5%;
  align-items: center;
  margin-top: 2.5%;
}
@media screen and (max-width: 768px) {
  .product_list .slider_product {
    display: block;
  }
}
.product_list .slider_product_txtLogo {
  margin-bottom: 8%;
}
@media screen and (max-width: 768px) {
  .product_list .slider_product_txtLogo {
    margin-top: 4%;
    margin-bottom: 4%;
  }
}
.product_list .slider_product_txtTxt {
  margin-bottom: 15%;
  letter-spacing: 0.1em;
  line-height: 2.5;
}
@media screen and (max-width: 768px) {
  .product_list .slider_product_txtTxt {
    margin-bottom: 6%;
    padding: 0 var(--sp-padding);
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    line-height: 2.2;
  }
}
.product_list .slider_product_txt .c-btn {
  margin-bottom: 3%;
  margin-left: 1%;
}
.product_list .slider_talk {
  display: grid;
  grid-template-columns: 33.5% 1fr;
  gap: 5%;
  margin-top: 1%;
}
.product_list .slider_talk_txt {
  margin-top: 6.5%;
}
.product_list .slider_talk_txtKicer {
  --base-font-size: 1rem;
  letter-spacing: 0.1em;
}
.product_list .slider_talk_txtTtl {
  margin-top: 3%;
  --base-font-size: 2.25rem;
  letter-spacing: 0.3em;
}
.product_list .slider_talk_txt .c-btn {
  margin-top: 5.5%;
}
.product .slider_btn {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  width: 44px;
  height: 44px;
  cursor: pointer;
  display: grid;
  place-content: center;
  font-size: 0;
}
.product .slider_btn::before {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  border-top: 3px solid var(--colorDark1);
  border-right: 3px solid var(--colorDark1);
}
@media screen and (max-width: 768px) {
  .product .slider_btn::before {
    width: 10px;
    height: 10px;
    border-top: 1.5px solid var(--colorDark1);
    border-right: 1.5px solid var(--colorDark1);
  }
}
.product .slider_btn--prev {
  left: -12%;
}
@media screen and (max-width: 1200px) {
  .product .slider_btn--prev {
    left: -7%;
  }
}
.product .slider_btn--prev::before {
  transform: rotate(-135deg);
}
.product .slider_btn--next {
  right: -12%;
}
@media screen and (max-width: 1200px) {
  .product .slider_btn--next {
    right: -7%;
  }
}
.product .slider_btn--next::before {
  transform: rotate(45deg);
}
.product .slider_dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 6.5%;
  margin-left: 6%;
}
.product .slider_dotsList {
  display: flex;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.product .slider_dot {
  width: 8px;
  height: 8px;
  padding: 0;
  border-radius: 50%;
  border: 1px solid rgba(44, 42, 39, 0.35);
  background: transparent;
  cursor: pointer;
}
.product .slider_dotsList .slick-active .slider_dot,
.product .slider_dot.is-active {
  background: var(--colorPoint1);
}
.product .sec_link--product {
  margin-top: 4.5%;
  margin-left: 6%;
}

/* talk */
.talk {
  padding: 56px 0 36px;
}
@media screen and (max-width: 1920px) {
  .talk {
    padding: 2.92vw 0 1.88vw;
  }
}

.talk_grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}
@media screen and (max-width: 1920px) {
  .talk_grid {
    gap: 1.15vw;
  }
}

.talkCard {
  padding-top: 16px;
}
@media screen and (max-width: 1920px) {
  .talkCard {
    padding-top: 0.83vw;
  }
}

.talkCard_no {
  margin: 0 0 10px;
  --base-font-size: 0.75rem;
  letter-spacing: 0.18em;
}
@media screen and (max-width: 1920px) {
  .talkCard_no {
    margin: 0 0 0.52vw;
  }
}

.talkCard_img {
  margin: 0;
  border-radius: 18px;
  overflow: hidden;
}
@media screen and (max-width: 1920px) {
  .talkCard_img {
    border-radius: 0.94vw;
  }
}

.talkCard_title {
  margin: 14px 0 6px;
  font-weight: 500;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 1920px) {
  .talkCard_title {
    margin: 0.73vw 0 0.31vw;
  }
}

.talkCard_desc {
  margin: 0 0 10px;
  --base-font-size: 0.8125rem;
  line-height: 2.05;
}
@media screen and (max-width: 1920px) {
  .talkCard_desc {
    margin: 0 0 0.52vw;
  }
}

/* sns */
.sns .l-container {
  background: var(--colorLight2);
}

.sns_wrap {
  display: flex;
  gap: 18px;
  margin: 0 auto;
}
@media screen and (max-width: 1920px) {
  .sns_wrap {
    gap: 1vw;
  }
}
@media screen and (max-width: 768px) {
  .sns_wrap {
    flex-direction: column;
  }
}

.sns_item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* footer */
.l-footer_inner {
  display: flex;
  justify-content: space-between;
  padding-right: 11.3%;
  height: 252px;
}
@media screen and (max-width: 1920px) {
  .l-footer_inner {
    height: 13.1vw;
  }
}
@media screen and (max-width: 768px) {
  .l-footer_inner {
    flex-direction: column;
    padding-left: var(--sp-padding);
    padding-right: var(--sp-padding);
    height: auto;
  }
}

.footer_sitelogo {
  display: block;
  flex-shrink: 0;
  padding: 50px 50px 50px 8%;
}
@media screen and (max-width: 1920px) {
  .footer_sitelogo {
    padding: 2.6vw 2.6vw 2.6vw 8%;
  }
}
@media screen and (max-width: 768px) {
  .footer_sitelogo {
    padding: 5.2vw 5.2vw 5.2vw 0;
  }
}
.footer_sitelogo img {
  width: 100%;
  max-width: 193px;
  height: auto;
}
@media screen and (max-width: 1920px) {
  .footer_sitelogo img {
    max-width: 10vw;
  }
}
@media screen and (max-width: 768px) {
  .footer_sitelogo img {
    max-width: 30vw;
  }
}
.footer_nav {
  display: flex;
  gap: 13.5%;
  padding-top: 100px;
  padding-left: 9.5%;
  flex: 1;
}
@media screen and (max-width: 1920px) {
  .footer_nav {
    padding-top: 5.2vw;
  }
}
@media screen and (max-width: 768px) {
  .footer_nav {
    flex-direction: column;
    padding-top: 2vw;
    padding-left: 0;
    padding-bottom: 10vw;
    gap: 5.5vw;
  }
}
.footer_nav_en {
  display: flex;
  align-items: center;
  font-weight: var(--weightMiddle);
  letter-spacing: 0.1em;
}
.footer_nav_en span {
  display: inline-block;
}
.footer_nav_en span:nth-child(2) {
  margin-bottom: 0.2em;
}
.footer_nav_ja {
  margin-top: 15px;
  --base-font-size: 1rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1920px) {
  .footer_nav_ja {
    margin-top: 0.78vw;
  }
}
@media screen and (max-width: 768px) {
  .footer_nav_ja {
    margin-top: 0.5em;
    font-size: 1rem;
  }
}

/* hamburger */
.c-globalNav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 60;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 10% 23.44vw 12%;
  width: 100%;
  max-height: calc(100vh - 80px);
  overflow-y: auto;
  scrollbar-width: none;
  background: var(--colorLight1);
  opacity: 0;
  clip-path: inset(0 0 100% 0);
  pointer-events: none;
  transition: clip-path 0.35s ease, opacity 0.35s ease;
}
.c-globalNav::-webkit-scrollbar {
  display: none;
}
@media (max-width: 767px) {
  .c-globalNav {
    padding: 20% 20vw;
  }
}
.c-globalNav a {
  display: block;
  padding: 2em 0;
  width: 100%;
  border-bottom: 1px solid var(--colorLight2);
}
.c-globalNav a + a {
  margin-top: 0.3em;
}
.c-globalNav_en {
  display: flex;
  align-items: center;
  font-weight: var(--weightMiddle);
  letter-spacing: 0.1em;
}
.c-globalNav_en span {
  display: inline-block;
}
.c-globalNav_en span:nth-child(2) {
  margin-bottom: 0.5em;
}
.c-globalNav_ja {
  --base-font-size: var(--fz-heading);
  font-weight: var(--weightMiddle);
  letter-spacing: 0.1em;
  line-height: 1.8;
}

.c-globalNav.is-open {
  opacity: 1;
  clip-path: inset(0 0 0 0);
  pointer-events: auto;
}

.c-globalNav[hidden] {
  display: none !important;
}

/* force hide attribute (prevents resets that override [hidden]) */
[hidden] {
  display: none !important;
}

/* ========== poem ========== */
/* poem共通 */
.poem .l-container {
  padding-bottom: 6vw;
}
@media screen and (max-width: 768px) {
  .poem .l-container {
    padding-bottom: 12vw;
  }
}
.poem .c-sec-title {
  margin-bottom: 6.6%;
}
@media screen and (max-width: 768px) {
  .poem .c-sec-title {
    margin-bottom: 9vw;
  }
}
.poem .sec_link--poem {
  margin-top: 0.5%;
}

/*一覧共通*/
.archive {
  /*poem一覧ページ固有設定*/
}
.archive--poem .c-archive-ttl {
  margin-bottom: 3%;
}
.archive--poem .poemList:nth-child(even) .poemList_no {
  top: -25%;
  left: auto;
  right: 15%;
  transform: translateX(50%);
}
.archive--poem .poemList:nth-child(even) .c-btn {
  justify-content: flex-start;
}
.archive--poem .listItem {
  margin-bottom: 11.5%;
}
.archive--poem .listItem_img {
  width: 49%;
}
@media screen and (max-width: 768px) {
  .archive--poem .listItem_img {
    width: 100%;
  }
}
.archive {
  /*product一覧ページ固有設定*/
}
.archive--product .listItem_txtLogo {
  margin-top: 8%;
  margin-bottom: 6%;
}
.archive--product .listItem_txtLogo + .listItem_txtTxt {
  margin-top: 0;
  margin-bottom: 9%;
}

.listItem_txtLogo {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 22px;
}
@media screen and (max-width: 1920px) {
  .listItem_txtLogo {
    gap: 1.146vw;
  }
}
.listItem_txtLogoImage {
  display: block;
  flex-shrink: 0;
  width: auto;
  max-width: 100%;
  max-height: 80px;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 1920px) {
  .listItem_txtLogoImage {
    max-height: 4.167vw;
  }
}
@media screen and (max-width: 768px) {
  .listItem_txtLogoImage {
    max-height: 12vw;
  }
}
.listItem_txtLogoCross {
  display: block;
  position: relative;
  flex: 0 0 var(--logo-cross-size);
  width: var(--logo-cross-size);
  height: var(--logo-cross-size);
}
.listItem_txtLogoCross::before, .listItem_txtLogoCross::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: var(--logo-cross-thickness);
  background: var(--colorDark1);
}
.listItem_txtLogoCross::before {
  transform: translateY(-50%) rotate(45deg);
}
.listItem_txtLogoCross::after {
  transform: translateY(-50%) rotate(-45deg);
}
.listItem_txtLogo--collaboration {
  --logo-cross-size: clamp(34px, 3.2vw, 64px);
  --logo-cross-thickness: 2px;
  flex-wrap: nowrap;
}

.list .archive_container {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.listItemWrap {
  display: flex;
  flex-direction: column;
  gap: 10%;
  padding-top: 6.3%;
}
.listItem {
  display: flex;
  gap: 7%;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 9.5%;
}
@media screen and (max-width: 768px) {
  .listItem {
    display: block;
    margin-bottom: 20%;
  }
}
.listItem.l-sec {
  margin-left: 0;
  margin-right: 0;
}
.listItem:nth-child(even) {
  flex-direction: row;
}
.listItem_img {
  position: relative;
  width: 57.2%;
}
@media screen and (max-width: 768px) {
  .listItem_img {
    width: 100%;
  }
}
.listItem_txt {
  flex: 1;
}
.listItem_txtTxt {
  margin-top: 8%;
  margin-bottom: 19%;
  --base-font-size: 1.875rem;
  letter-spacing: 0.1em;
  line-height: 2.66;
}
@media screen and (max-width: 768px) {
  .listItem_txtTxt {
    margin-top: 5%;
    margin-bottom: 7%;
    line-height: 1.8;
  }
  .listItem_txtTxt br {
    display: none;
  }
}
.list .sec_link--poem {
  margin-top: -1%;
}

@media screen and (max-width: 768px) {
  .archiveListWrap > .listItem:last-child,
  .poemListWrap > .listItem:nth-last-child(2) {
    margin-bottom: 15%;
  }
}
.front-page .poemList {
  max-width: 1235px;
}
@media screen and (max-width: 1300px) {
  .front-page .poemList {
    max-width: calc(100% - 4vw);
  }
}
@media screen and (max-width: 768px) {
  .front-page .poemList {
    max-width: calc(100% - (var(--sp-padding)) * 2);
  }
}
.front-page .poemListWrap {
  margin-left: 6%;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .front-page .poemListWrap {
    margin-left: 0%;
  }
}
.front-page .poemList:nth-child(even) {
  flex-direction: row-reverse;
}
.front-page .poemList:nth-child(even) .poemList_no {
  left: 22%;
  right: auto;
  transform: translate(-50%, -80%);
}
@media screen and (max-width: 1920px) {
  .front-page .poemList:nth-child(even) .poemList_no {
    left: 7vw;
  }
}
@media screen and (max-width: 768px) {
  .front-page .poemList:nth-child(even) .poemList_no {
    left: 10vw;
  }
}
.front-page .poemList:nth-child(even) .c-btn {
  justify-content: flex-end;
}

.poemList_no {
  position: absolute;
  top: 0;
  right: 15%;
  transform: translate(50%, -80%);
}
@media screen and (max-width: 1920px) {
  .poemList_no {
    right: 7vw;
  }
}
@media screen and (max-width: 768px) {
  .poemList_no {
    right: 10vw;
  }
}
.poemList_noEn {
  margin-left: -5%;
  --base-font-size: 2.375rem;
  font-weight: var(--weightMiddle);
}
@media screen and (max-width: 768px) {
  .poemList_noEn {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 420px) {
  .poemList_noEn {
    font-size: 1rem;
  }
}
.poemList_noNo {
  --base-font-size: 5.375rem;
  font-weight: var(--weightMiddle);
}
@media screen and (max-width: 768px) {
  .poemList_noNo {
    font-size: 3rem;
  }
}
@media screen and (max-width: 420px) {
  .poemList_noNo {
    font-size: 2.5rem;
  }
}

/*single*/
.single .wp-block-image img {
  width: 100%;
}
.single .c-sec-title {
  margin-top: 10.5%;
}
.single .article_title {
  margin-top: 1%;
  --base-font-size: 2.875rem;
  font-weight: var(--weightMiddle);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .single .article_title {
    margin-top: 5%;
  }
}
.single .article_content {
  --base-font-size: 2.125rem;
  letter-spacing: 0.05em;
  line-height: 1.76;
}
@media screen and (max-width: 768px) {
  .single .article_content {
    font-size: 0.75rem;
  }
}

/*single ポエム記事ページ*/
.single-poem .article_content {
  padding: 9% 0 22%;
}
@media screen and (max-width: 768px) {
  .single-poem .article_content {
    padding: 5% 0 10%;
  }
}
.single-poem .article_content p {
  padding: 4% 0;
}

/*single product詳細ページ*/
.single-product .article_content {
  padding: 9% 0 14%;
}
.single-product .article_content .article_title {
  margin-top: -7%;
  margin-bottom: 1.5%;
}
.single-product .article_content p {
  padding-top: 4%;
  padding-bottom: 4%;
}
.single-product .article_content p + p {
  padding-top: 0;
}
.single-product .article_content p:has(+ .wp-block-image) {
  padding-bottom: 9%;
}
.single-product .product_purchaseButton {
  display: flex;
  width: 720px;
  aspect-ratio: 4.4/1;
  margin: -9% auto 15%;
  padding: 24px 32px;
  align-items: center;
  justify-content: center;
  background: #333333;
  color: var(--colorLight1);
  --base-font-size: 2.75rem;
  font-weight: var(--weightRegular);
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-align: center;
}
@media screen and (max-width: 1920px) {
  .single-product .product_purchaseButton {
    padding: 0 1.67vw 0.7vw;
    width: 33vw;
    min-width: 250px;
  }
}
@media screen and (max-width: 768px) {
  .single-product .product_purchaseButton {
    font-size: 1rem;
  }
}
.single-product .product_purchaseButton:hover {
  opacity: 0.65;
  transition: opacity 0.7s ease-out;
}

/* ========== page ========== */
/* page共通 */
.page_article .article_headimage {
  margin: 62px auto 80px;
  max-width: 1480px;
}
@media screen and (max-width: 1920px) {
  .page_article .article_headimage {
    margin: 3.23vw auto 4.17vw;
  }
}
.page_article .article_content {
  padding-top: 145px;
  padding-bottom: 15px;
}
@media screen and (max-width: 1920px) {
  .page_article .article_content {
    padding-top: 7.55vw;
    padding-bottom: 0.78vw;
  }
}
@media screen and (max-width: 768px) {
  .page_article .article_content {
    margin: 0 auto;
    max-width: calc(100% - var(--sp-padding) * 2);
  }
}
.page_article :where(.is-layout-flex).wp-block-group {
  gap: 1em;
}

/* ========== page-about ========== */
.page.about .about_ttl {
  --base-font-size: 2.13rem;
  font-weight: var(--weightMiddle);
  letter-spacing: 0.05em;
  line-height: 1.76;
}
.page.about .about_txtitem {
  margin-top: 13%;
  margin-bottom: 13%;
  --base-font-size: 1.5rem;
  line-height: 2.77;
}
@media screen and (max-width: 768px) {
  .page.about .about_txtitem {
    margin-top: 5%;
    margin-bottom: 7%;
    line-height: 2.2;
  }
}
@media screen and (max-width: 768px) {
  .page.about .page_article .article_content > .wp-block-group {
    flex-direction: column;
  }
}
@media screen and (max-width: 768px) {
  .page.about .page_article .article_content > .wp-block-group > .wp-block-group:first-of-type {
    order: 2;
  }
}

/* ========== page-contact ========== */
.contact_content {
  margin: 5% auto;
  max-width: 1100px;
}
.contact_content div.wpforms-container-full .wpforms-field-label,
.contact_content div.wpforms-container-full input[type=radio] + label,
.contact_content div.wpforms-container-full button[type=submit],
.contact_content div.wpforms-container-full input[type=text],
.contact_content div.wpforms-container-full input[type=email],
.contact_content div.wpforms-container-full textarea,
.contact_content div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-field-select-style-modern .choices .choices__inner .choices__list--single .choices__item--selectable,
.contact_content div.wpforms-container .wpforms-form .choices__list--dropdown .choices__item {
  --base-font-size: 1.875rem !important;
  font-size: calc(var(--base-font-size) * var(--font-scale));
}

input:not([type=radio]) {
  height: 65px !important;
}
@media screen and (max-width: 768px) {
  input:not([type=radio]) {
    height: 55px !important;
  }
}

textarea {
  height: 200px !important;
}
@media screen and (max-width: 768px) {
  textarea {
    height: 150px !important;
  }
}

div.wpforms-container-full input[type=radio]:before,
div.wpforms-container-full input[type=radio]::after {
  width: 1.2em;
  height: 1.2em;
}

.wpforms-field {
  width: 100%;
}
.wpforms-field:not(.contact_addressWrap):not(.wpforms-field-radio), .wpforms-field.contact_addressWrap, .wpforms-field.wpforms-field-radio {
  display: grid;
  grid-template-columns: 30% minmax(0, 1fr);
  align-items: center;
}
.wpforms-field:not(.contact_addressWrap):not(.wpforms-field-radio) > .wpforms-field-label {
  margin-bottom: 0;
  width: auto;
}
@media screen and (max-width: 768px) {
  .wpforms-field:not(.contact_addressWrap):not(.wpforms-field-radio) > .wpforms-field-label {
    margin-bottom: 0.5em;
  }
}
.wpforms-field:not(.contact_addressWrap):not(.wpforms-field-radio) > input,
.wpforms-field:not(.contact_addressWrap):not(.wpforms-field-radio) > textarea,
.wpforms-field:not(.contact_addressWrap):not(.wpforms-field-radio) > .choices {
  width: 100%;
}
.wpforms-field.contact_addressWrap .wpforms-field-label, .wpforms-field.wpforms-field-radio .wpforms-field-label {
  margin-bottom: 0;
  width: auto;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .wpforms-field.contact_addressWrap .wpforms-field-label, .wpforms-field.wpforms-field-radio .wpforms-field-label {
    margin-bottom: 0.5em;
  }
}

.wpforms-container .wpforms-form .choices .choices__inner .choices__list--single {
  padding-top: 1.5% !important;
  padding-bottom: 1.5% !important;
}

/* WPForms-modern の `.wpforms-container fieldset { display:block }` を上書きするため詳細度を上げる */
.contact_content .wpforms-container .wpforms-form .wpforms-field.contact_addressWrap > fieldset,
.contact_content .wpforms-container .wpforms-form .wpforms-field.wpforms-field-radio > fieldset {
  display: contents !important;
}

.contact_content .wpforms-container .wpforms-form .wpforms-field.contact_addressWrap > fieldset > .wpforms-field-row {
  display: contents !important;
}

.contact_addressWrap > fieldset > legend.wpforms-field-label {
  grid-column: 1;
  grid-row: 1;
}
.contact_addressWrap .contact_email_confirm_label {
  grid-column: 1;
  grid-row: 2;
  margin: 0;
}
.contact_addressWrap .wpforms-field-row-block.wpforms-first {
  grid-column: 2;
  grid-row: 1;
  padding-bottom: 25px !important;
}
.contact_addressWrap .wpforms-field-row-block:not(.wpforms-first) {
  grid-column: 2;
  grid-row: 2;
}

.wpforms-container .wpforms-form .wpforms-field.contact_addressWrap .wpforms-field-row-block.wpforms-one-half {
  padding-left: 0;
  padding-right: 0;
  margin-left: 0;
  width: 100%;
}
.wpforms-container .wpforms-form .wpforms-field.contact_addressWrap .wpforms-field-row-block.wpforms-one-half input {
  width: 100%;
}

.wpforms-field-radio ul {
  width: 100%;
  min-width: 0;
}

.wpforms-submit-container {
  display: flex;
  justify-content: center;
}

.wpforms-submit {
  margin: 2.5% auto 5% !important;
  width: 80% !important;
  max-width: 550px;
  height: 65px !important;
}
@media screen and (max-width: 768px) {
  .wpforms-submit {
    height: 55px !important;
  }
}

/* 送信完了メッセージ：テーマカラーに上書き */
.contact_content div.wpforms-container-full .wpforms-confirmation-container-full {
  background: var(--colorLight1) !important;
  border: 1px solid var(--colorPoint1) !important;
}

/* ========== page-contact 確認画面 ========== */
.contact_confirm {
  margin: 0 auto;
  max-width: 1100px;
}
.contact_confirm_title {
  --base-font-size: 2.125rem;
  font-weight: var(--weightMiddle);
  text-align: center;
  margin-bottom: 5%;
}
.contact_confirm_list {
  margin: 0 0 6%;
  display: grid;
  grid-template-columns: 30% minmax(0, 1fr);
  row-gap: 24px;
  -moz-column-gap: 24px;
       column-gap: 24px;
}
@media screen and (max-width: 767px) {
  .contact_confirm_list {
    grid-template-columns: 1fr;
    row-gap: 8px;
  }
}
.contact_confirm_dt, .contact_confirm_dd {
  --base-font-size: 1.875rem;
}
.contact_confirm_dt {
  align-self: center;
}
.contact_confirm_dd {
  word-break: break-word;
}
.contact_confirm_empty {
  color: var(--colorDark2);
}
.contact_confirm_actions {
  display: flex;
  justify-content: center;
  gap: 4%;
  margin: 2.5% auto 5%;
}
@media screen and (max-width: 768px) {
  .contact_confirm_actions {
    flex-direction: column-reverse;
    gap: 12px;
  }
}
.contact_confirm_btn {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  border: 0;
  width: 38%;
  max-width: 264px;
  height: 65px;
  cursor: pointer;
  --base-font-size: 1.875rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .contact_confirm_btn {
    width: 80%;
    max-width: 550px;
    height: 55px;
  }
}
.contact_confirm_btn--back {
  background: var(--colorLight1);
  color: var(--colorDark1);
  border: 1px solid var(--colorDark2);
}
.contact_confirm_btn--submit {
  background: var(--colorPoint1);
  color: var(--colorLight1);
}

@media screen and (max-width: 767px) {
  .contact_content .wpforms-field:not(.contact_addressWrap):not(.wpforms-field-radio), .contact_content .wpforms-field.contact_addressWrap, .contact_content .wpforms-field.wpforms-field-radio {
    grid-template-columns: 1fr;
  }
  .contact_content .contact_addressWrap > fieldset > legend.wpforms-field-label,
  .contact_content .contact_addressWrap .contact_email_confirm_label,
  .contact_content .contact_addressWrap .wpforms-field-row-block {
    grid-column: 1;
    grid-row: auto;
  }
}
/* ========== Utility ========== */
/*h1等非表示文字対策*/
.u-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.u-center {
  text-align: center;
}/*# sourceMappingURL=style.css.map */