@charset "UTF-8";
/*
2026
normalize
structure
page
remodal
remodal default

splide
*/

:root {
	/* color-scheme: light dark; 　ダークモードを一時停止する*/
  color-scheme: light;
	--color-black:#000;
	--color-white:#fff;
	
	--color-light-gray:#f1f1f1; /*#0e0e0e*/
	--color-light-gray-rev:#0e0e0e;
	
	--color-gray:#fef9f9;/*#2a2a2a*/
	--color-gray-rev:#2a2a2a;
	
	--color-dark-gray:#333;/*#ccc*/
	--color-dark-gray-rev:#ccc;
	
	--color-ex-dark-gray:#222;/*#dddddd*/
	--color-ex-dark-gray-rev:#dddddd;
	
	--txt-link-color:#707070;/*#8f8f8f */
	--txt-link-color-rev:#8f8f8f;
	
/*	通常の背景、枠ボタン背景*/
	/* --bg-default: light-dark(var(--color-white), var(--color-ex-dark-gray)); */
  --bg-default:#fff;
/*	枠ボタン線*/
	/* --bg-reverse: light-dark(var(--color-ex-dark-gray), var(--color-dark-gray-rev)); */
  --bg-reverse: var(--color-dark-gray);
/*	薄いグレイ背景*/
	/* --bg-light-gray: light-dark(var(--color-light-gray), var(--color-light-gray-rev)); */
  --bg-light-gray:var(--color-light-gray);
/*	最も薄いグレイ背景*/
	/* --bg-gray: light-dark(var(--color-gray), var(--color-gray-rev)); 
  --txt-default:light-dark(var(--color-black), var(--color-white));
	--txt-reverse:light-dark(var(--color-white),var(--color-black));*/
	--bg-gray:var(--color-gray);
  --txt-default:var(--color-black);
	--txt-reverse:var(--color-white);
	
	--txt-link-color-default:light-dark(var(--txt-link-color), var(--color-white));
	
	--border-default:light-dark(var(--txt-link-color), var(--txt-link-color-rev));
	

  --container-width: 1160px;
  --container-max-width: 1440px; 
  --container-gutter: clamp(1rem, 2.5vw, 1.5rem); /* 画面幅に応じて余白を可変に */

  --main-color: #0087cb;
  --txt-color: #454545;
  --link-color: #454545; /*Not used*/
  --line-color: #d4d4d4;
  --bg-color: #f6f6f6;
  --bg-secondary-color: #f1f1f1;
  --bg-tertiary-color: #ebebeb;
  
  /* Reference block size*/
  --reference-block-size: 120px;
  --size-ex-high: calc(var(--reference-block-size)*1.4); /*168*/
  --size-high: var(--reference-block-size);
  --size-ex-md: calc(var(--reference-block-size)*0.8); /*96*/
  --size-md: calc(var(--reference-block-size)*0.6666); /*80*/
  --size-md-low: calc(var(--reference-block-size)*0.5333); /*64*/
  --size-low: calc(var(--reference-block-size)*0.32); /*42*/
  --size-ex-low: calc(var(--reference-block-size)*0.2); /*24*/
  /* sp 80%	*/
  --size-rate: .8;
  /*BTN*/
  --btn-radius: 24px;
  --btn-color-1: #fff352;
  --btn-color-2: #ffe1d8;
  --btn-color-3: #99d5d8;
  --btn-color-4: #e6e6e6;
  /* setting	*/
  --transition-ease-out: 0.2s ease-out;
  --easing: cubic-bezier(0.2, 1, 0.2, 1);/*splide*/
  --transition: 0.8s var(--easing);/*splide*/
  --leading-trim: calc((1em - 1lh) / 2);

}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%
}
body {
  margin: 0
}
main {
  display: block
}
h1 {
  font-size: 2em;
  margin: .67em 0
}
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible
}
pre {
  font-family: monospace, monospace;
  font-size: 1em
}
a {
  background-color: transparent
}
abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted
}
b, strong {
  font-weight: 480
}
code, kbd, samp {
  font-family: monospace, monospace;
  font-size: 1em
}
small {
  font-size: 80%
}
sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline
}
sub {
  bottom: -.25em
}
sup {
  top: -.5em
}
img {
  border-style: none
}
button, input, optgroup, select, textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0
}
button, input {
  overflow: visible
}
button, select {
  text-transform: none
}
[type=button], [type=reset], [type=submit], button {
  -webkit-appearance: button
}
[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border-style: none;
  padding: 0
}
[type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring {
  outline: 1px dotted ButtonText
}
fieldset {
  padding: .35em .75em .625em
}
legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal
}
progress {
  vertical-align: baseline
}
textarea {
  overflow: auto
}
[type=checkbox], [type=radio] {
  box-sizing: border-box;
  padding: 0
}
[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto
}
[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px
}
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none
}
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit
}
details {
  display: block
}
summary {
  display: list-item
}
template {
  display: none
}
[hidden] {
  display: none
}
.clearfix::after {
  content: "";
  display: block;
  clear: both;
}
ul, ol {
  padding: 0;
  list-style: none;
}
/*structure*/
* {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}
html {
  height: 100%;
  width: 100%;
}
body {
	background-color:var(--bg-default);
  color: var(--txt-default);
  font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "sans-serif";
  width: 100%;
  position: relative;
  font-size: .875rem;
  font-weight: 360;
  line-height: 1.8;
  letter-spacing: .05em;
	font-feature-settings: "palt";
	-webkit-font-smoothing:antialiased;
}
body.design-page {
  background-color: #fff;
}
a:link, a:visited {
 color: var(--txt-link-color-default);
  text-decoration: none;
  opacity: 1;
  transition: all 600ms ease-out;
}
a:hover {
  opacity: .6;
}
a[href^="tel:"] {
  pointer-events: none;
}
p {
  margin-bottom: 1.8em;
}
p:last-child {
  margin-bottom: 0;
}
h1, h2, h3, h4 {
  font-weight: 440;
}
img {
  width: 100%;
	height: auto;
  vertical-align: bottom;
}
.strng {
  font-weight: 440;
}
.flex-wrp {
  display: flex;
  justify-content: space-between;
}

.w100 {
  width: 100%;
}
.l-w-master {
  width: min(100%, var(--container-max-width));
  padding-inline: var(--container-gutter);
  margin-inline: auto;
  position: relative;
}
.w980 {
  margin-inline:auto;
  width: 100%;
  max-width: 980px;
  position: relative;
}
.l-w-narrow  {
  width: min(100%, 832px);
  margin-inline: auto;
  position: relative;
}
a.btn-frm {
  -webkit-appearance: none;
  line-height: 1;
  text-align: center;
  padding: 1.6em 0;
  display: block;
  font-size: .75rem;
  cursor: pointer;
  width: 100%;
  max-width: 768px;
  transition: all 600ms ease-out;
  letter-spacing: .06em;
  border: 1px solid var(--bg-reverse);
	background-color:var(--bg-default) ;
  margin: 72px auto 0;
	color:var(--bg-reverse);
}
.btn-frm:hover {
  border-color: var(--border-default);
  background: var(--bg-reverse);
  color: #fff!important;
  opacity: 1 !important;
}

.cont-wrp-index a.btn-frm{
 padding: .6em 1em;
 margin-top: .5em;
 border-radius: 20px;
 max-width: 7em;
 margin-inline: 0
}
.btn-blk {
  background: var(--bg-reverse);
  color:  var(--txt-reverse);
}
.btn-blk:hover {
  background: #ddd;
  color: #000 !important;
}
.capH2 {
  font-size: 1rem;
  text-align: center;
  letter-spacing: .025em;
  font-weight: 440;
}
.capH3 {
  font-size: .875rem;
  font-weight: 440;
  margin-bottom: 1em;
}
.txt-c {
  text-align: center;
}
.txt-l {
  text-align: left!important;
}
.note {
  font-size: .75rem;
  line-height: 2;
}
.no-pc {
  display: none;
}
.no-sp {
  display: block;
}
.bg-f9 {
  background-color: var(--bg-gray);
}
.widthout-frm {
  margin-left: calc(((100vw - 100%) / 2) * -1);
  margin-right: calc(((100vw - 100%) / 2) * -1);
}
.mgn-side{
	margin-inline: auto
}
.mgn-bottom-2em {
  margin-bottom: 1.8em;
}
.mgn-180b {
  margin-bottom: 180px;
}
.mgn-64b { /*フォームの確認画面*/
  margin-bottom: 64px;
}
.pd-side{
    padding-left: 3%;
    padding-right: 3%;
}
.pd-180 {
  padding-bottom: 180px;
  padding-top: 180px;
}
.pd-180-b {
  padding-bottom: 180px;
}
.no-bot-mgn {
  margin-bottom: 0 !important;
}
.num-list {
  list-style: decimal;
  list-style-position: outside;
  margin-left: 2rem;
  margin-bottom: 2em;
}
.dot-list {
  list-style: disc;
  list-style-position: outside;
  margin-left: 2rem;
}
@media not all and (min-width: 769px) {
  a[href^="tel:"] {
    pointer-events: auto;
  }
  .flex-wrp {
    flex-wrap: wrap;
  }
  .capH2 {
    margin-bottom: 56px;
  }
  .mgn-180b {
    margin-bottom: 108px;
  }
  .pd-180 {
    padding-bottom: 108px;
    padding-top: 108px;
  }
	.pd-180-b {
    padding-bottom: 108px;
  }
  .pd24 {
    padding-left: 24px;
    padding-right: 24px;
  }
  .no-pc {
    display: block;
  }
  .no-sp {
    display: none;
  }
  .btn-frm {
    width: 100%;
    max-width: 100%;
    margin: 24px auto 0;
  }
}
/*****************************************************
MARGIN*/
.mgn-ex-high {
  margin-top: var(--size-ex-high);
  margin-bottom: var(--size-ex-high);
}
.mgn-high {
  margin-top: var(--size-high);
  margin-bottom: var(--size-high);
}
.mgn-ex-md {
  margin-top: var(--size-ex-md);
  margin-bottom: var(--size-ex-md);
}
.mgn-md {
  margin-top: var(--size-md);
  margin-bottom: var(--size-md);
}
.mgn-low {
  margin-top: var(--size-low);
  margin-bottom: var(--size-low);
}
.mgn-ex-low {
  margin-top: var(--size-ex-low);
  margin-bottom: var(--size-ex-low);
}
/*****************************************************
MARGIN BOTTOM*/
.mgn-bottom-ex-higher {
  margin-bottom: var(--size-ex-higher);
}
.mgn-bottom-ex-high {
  margin-bottom: var(--size-ex-high);
}
.mgn-bottom-high {
  margin-bottom: var(--size-high);
}
.mgn-bottom-ex-md {
  margin-bottom: var(--size-ex-md);
}
.mgn-bottom-md {
  margin-bottom: var(--size-md) ;
}
.mgn-bottom-md-low {
  margin-bottom: var(--size-md-low);
}
.mgn-bottom-md-low-to-ex-low{
 margin-bottom: var(--size-md-low);
}
.mgn-bottom-low {
  margin-bottom: var(--size-low);
}
.mgn-bottom-ex-low {
  margin-bottom: var(--size-ex-low) ;
}
.mgn-bottom-3em {
  margin-bottom: 3em;
}
.mgn-bottom-1em {
  margin-bottom: 1.25em;
}
.mgn-bottom-05em {
  margin-bottom: .75em;
}
/*****************************************************
PADDING*/
.pd-ex-high {
  padding-top: var(--size-ex-high);
  padding-bottom: var(--size-ex-high);
}
.pd-high {
  padding-top: var(--size-high);
  padding-bottom: var(--size-high);
}
.pd-ex-md {
  padding-top: var(--size-ex-md);
  padding-bottom: var(--size-ex-md);
}
.pd-md {
  padding-top: var(--size-md);
  padding-bottom: var(--size-md);
}
.pd-low {
  padding-top: var(--size-low);
  padding-bottom: var(--size-low);
}
.pd-ex-low {
  padding-top: var(--size-ex-low);
  padding-bottom: var(--size-ex-low);
}
/*****************************************************
PADDING BOTTOM*/
.pd-bottom-ex-high {
  padding-bottom: var(--size-ex-high);
}
.pd-bottom-high {
  padding-bottom: var(--size-high);
}
.pd-bottom-ex-md {
  padding-bottom: var(--size-ex-md);
}
.pd-bottom-md {
  padding-bottom: var(--size-md);
}
.pd-bottom-md-low {
  padding-bottom: var(--size-md-low);
}
.pd-bottom-low {
  padding-bottom: var(--size-low);
}
.pd-bottom-ex-low {
  padding-bottom: var(--size-ex-low);
}
/*****************************************************
PADDING TOP*/
.pd-top-ex-high {
  padding-top: var(--size-ex-high);
}
.pd-top-high {
  padding-top: var(--size-high);
}
.pd-top-ex-md {
  padding-top: var(--size-ex-md);
}
.pd-top-md {
  padding-top: var(--size-md);
}
.pd-top-low {
  padding-top: var(--size-low);
}
.pd-top-ex-low {
  padding-top: var(--size-ex-low);
}
@media not all and (min-width: 769px) {
  .l-flex-wrp {}
  .l-w-70, .l-w-50 {
    width: 100%;
    max-width: 100%
  }
  /*****************************************************
MARGIN*/
  .mgn-ex-high {
    margin-top: calc(var(--size-ex-high) * var(--size-rate));
    margin-bottom: calc(var(--size-ex-high) * var(--size-rate));
  }
  .mgn-high {
    margin-top: calc(var(--size-high)*var(--size-rate));
    margin-bottom: calc(var(--size-high)*var(--size-rate));
  }
  .mgn-ex-md {
    margin-top: calc(var(--size-ex-md)*var(--size-rate));
    margin-bottom: calc(var(--size-ex-md)*var(--size-rate));
  }
  .mgn-md {
    margin-top: calc(var(--size-md)*var(--size-rate));
    margin-bottom: calc(var(--size-md)*var(--size-rate));
  }
  .mgn-low {
    margin-top: calc(var(--size-low)*var(--size-rate));
    margin-bottom: calc(var(--size-low)*var(--size-rate));
  }
  .mgn-ex-low {
    margin-top: calc(var(--size-ex-low)*var(--size-rate));
    margin-bottom: calc(var(--size-ex-low)*var(--size-rate));
  }
  /*****************************************************
MARGIN BOTTOM*/
  .mgn-bottom-ex-high {
    margin-bottom: calc(var(--size-ex-high) * var(--size-rate));
  }
  .mgn-bottom-high {
    margin-bottom: calc(var(--size-high) * var(--size-rate));
  }
  .mgn-bottom-ex-md {
    margin-bottom: calc(var(--size-ex-md) * var(--size-rate));
  }
  .mgn-bottom-md {
    margin-bottom: calc(var(--size-ex-md) * var(--size-rate));
  }
  .mgn-bottom-low {
    margin-bottom: calc(var(--size-low) * var(--size-rate));
  }
  .mgn-bottom-ex-low,
 .mgn-bottom-md-low-to-ex-low{
    margin-bottom: calc(var(--size-ex-low) * var(--size-rate));
  }
  /*****************************************************
PADDING*/
  .pd-ex-high {
    padding-top: calc(var(--size-ex-high) * var(--size-rate));
    padding-bottom: calc(var(--size-ex-high) * var(--size-rate));
  }
  .pd-high {
    padding-top: calc(var(--size-high) * var(--size-rate));
    padding-bottom: calc(var(--size-high) * var(--size-rate));
  }
  .pd-ex-md {
    padding-top: calc(var(--size-ex-md) * var(--size-rate));
    padding-bottom: calc(var(--size-ex-md) * var(--size-rate));
  }
  .pd-md {
    padding-top: calc(var(--size-md) * var(--size-rate));
    padding-bottom: calc(var(--size-md) * var(--size-rate));
  }
  .pd-low {
    padding-top: calc(var(--size-low) * var(--size-rate));
    padding-bottom: calc(var(--size-low) * var(--size-rate));
  }
  .pd-ex-low {
    padding-top: calc(var(--size-ex-low) * var(--size-rate));
    padding-bottom: calc(var(--size-ex-low) * var(--size-rate));
  }
  /*****************************************************
PADDING BOTTOM*/
  .pd-bottom-ex-high {
    padding-bottom: calc(var(--size-ex-high) * var(--size-rate));
  }
  .pd-bottom-high {
    padding-bottom: v calc(var(--size-high) * var(--size-rate));
  }
  .pd-bottom-ex-md {
    padding-bottom: calc(var(--size-ex-md) * var(--size-rate));
  }
  .pd-bottom-md {
    padding-bottom: calc(var(--size-md) * var(--size-rate));
  }
  .pd-bottom-low {
    padding-bottom: calc(var(--size-low) * var(--size-rate));
  }
  .pd-bottom-ex-low {
    padding-bottom: calc(var(--size-ex-low) * var(--size-rate));
  }
  /*****************************************************
PADDING TOP*/
  .pd-top-ex-high {
    padding-top: calc(var(--size-ex-high) * var(--size-rate));
  }
  .pd-top-high {
    padding-top: calc(var(--size-high) * var(--size-rate));
  }
  .pd-top-ex-md {
    padding-top: calc(var(--size-ex-md) * var(--size-rate));
  }
  .pd-top-md {
    padding-top: calc(var(--size-md) * var(--size-rate));
  }
  .pd-top-low {
    padding-top: calc(var(--size-low) * var(--size-rate));
  }
  .pd-top-ex-low {
    padding-top: calc(var(--size-ex-low) * var(--size-rate));
  }
}
/*****************************************************
HEADER*/
.hdr {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  background: rgba(255, 255, 255, 0);
  position: fixed;
  height: 60px;
  top: 0;
  left: 0;
  z-index: 996;
  transition: transform 400ms ease-out, background 400ms ease-out;
  padding-inline: 24px;
}
.gnavi{
  transition: margin 600ms ease-out;
}
.gnavi ul {
  display: flex;
  justify-content: flex-end;
  list-style: none;
  align-items: center;
}
/* .journal .gnavi ul,
.design-page .gnavi ul {
  margin-top: 30px;
} */
.gnavi-list a{
  display: block;
  color: var(--txt-default);
  padding: 1em;
  text-decoration: none;
  letter-spacing: .075em;
  font-weight: 440;
}
.logo {
  margin-top: 24px;
  width: 100px;
  line-height: 1;
  transition: all 600ms ease-out;
  font-size: 0;
  opacity: 1;
}
.logo.logo-design {
  width: 154px;
}
.logo-cake {
  transition: all 600ms ease-out;
  opacity: 0;
  width: 26px;
  height: 40px;
   position: absolute;
    left: 24px;
    top: 6px;
}
.gnavi-list.gnavi-cart a  {
  width: 40px;
  height: 42px;
  padding: 0 !important; /* または必要な値 */
  color: inherit;
}
.gnavi-cart img {
  margin-bottom: -12px;
}
.gnavi a:link, .gnavi a:visited {
  color: var(--txt-default);
  padding: 1.25em 1em;
}
/****************************************************
スクロールすると高さ減少*/
.hdr.size-s {
  height: 40px;
  background: rgba(255, 255, 255, 0.95);
}
.hdr.size-s .logo {
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
}
.hdr.size-s .logo.logo-design{
	opacity: 1;
	display: block;
	margin-top: 14px;
}
h1.logo-cake{
    font-size: 0;
}
.hdr.size-s .logo-cake {
  display: block;
  opacity: 1;
  visibility: visible;
}
.hdr.size-s .gnavi,
.journal .hdr.size-s .gnavi,
.design-page .hdr.size-s .gnavi{
  margin-top: -8px;
}
@media not all and (min-width: 769px) {
  .hdr {
    height: 40px;
  }
  .logo {
    margin: 0 auto;
    padding-top: 16px;
  }
  .logo-cake {
    /* 最初から水平方向の中央に配置しておく（アニメーションさせない） */
    left: 50%;
    right: auto;
    transform: translate(-50%, -10px); /* 中央に配置しつつ、10px上に浮かせておく */
    opacity: 0;
    visibility: hidden;
    transition: opacity 400ms ease-out, transform 400ms ease-out; /* 必要なプロパティだけに限定 */
  }
  .hdr.size-s .logo-cake {
    left: 50%; /* 親要素の 50% の位置へ */
    right: auto;
    transform: translateX(-50%); /* 自身の幅の半分だけ左に戻すことで完全中央へ */
    top: 6px; /* 位置を微調整 */
  }
  .gnavi {
    display: none;
  }
}
  /****************************************************
PANcontWrp*/
  .panLst {
    line-height: 1;
    font-size: .75rem;
    border-top: 1px solid light-dark(#f4f4f4, #4e4e4e);
    padding-block: .5em;
  }
  .panLst li {
    display: inline;
    margin-right: .5em;
  }
  .panLst li:before {
    content: " - ";
  }
  .panLst li:first-child:before {
    content: "";
  }
  /*****************************************************
CONTENTS*/
  .cont-wrp {
    margin: 0 auto 272px;
    padding-top: 180px /*position: relative;*/
  }
  .cont-wrp-index {
    margin: 120px auto 0;
    padding-top: 0;
    z-index: 2;
  }
  .list-wrp { /*list page*/
    padding-top: 60px;
  }
  .item-wrp { /*item page*/
    padding-top: 60px;
  }
.cont-wrp-index .entry-thumb{
    overflow: revert;
}
  .cont-wrp-index .entry-thumb img {
    aspect-ratio: auto !important;

  }
  @media not all and (min-width: 961px) {
    .panLst {
      line-height: 1.4;
    }
    .cont-wrp {
      margin-bottom: 160px;
      padding: 72px 5% 0;
    }
    .item-wrp { /*item page*/
      padding-top: 16px;
    }
  }

  /*****************************************************
FOOTER
*****************************************************/

.ftr {
  padding: 80px 0;
  font-size: .875rem;
  border-top: 1px solid #f4f4f4;
}

.ftr a {
  color: var(--txt-link-color-default);
  text-decoration: none;
}

/* リスト共通：Flexboxで管理 */
.ftr ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 1.25em 2em; 
  margin-bottom: 1.25em;
}

.ftr-item-list li {
  font-size: .75rem;
}

.ftr-sns {
  display: flex;
  justify-content: space-between;
  align-items: center;
  list-style: none;
  padding: 0;
  width: 100%;
  font-size: .75rem;
}

.ftr-sns li:last-child {
  margin-left: auto;
  font-size: .75rem;
  color: var(--txt-default);
}

@media not all and (min-width: 769px) {
  .ftr {
    padding: 64px 0px;
  }

  .ftr ul {
    flex-direction: column;
    gap: 0;
  }

  .ftr-list li a,
  .ftr-item-list li a{
    display: block;
    padding: 0.4em 0;
    line-height: 1.6;
  }

 .ftr-sns {
    display: block;
    text-align: left;
  }

  .ftr-sns li:not(:last-child) {
    display: block;
    padding: 0.5em 0;
    line-height: 1.6;
  }

  .ftr-sns li:last-child {
    display: inline-block;
    text-align: center;
    margin: 2em auto 0;
    padding-top: 1.5em;
  }
}

  
  .btnFrm-sp {
    padding: 1em !important;
    margin-bottom: 1em;
  }
  /*INDEX*/
  .entry-list .entry-hdr {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
   margin-bottom: 1em;
  }
  .entry-list .entry-hdr.entry-hdr-block {
    display: block
  }
   .hero-wrp {
    width: calc(100% - 48px);
    height: 90vh;
    max-width: 1440px;
    max-height: 810px;
    margin: 60px auto 0;
    position: relative;
/*   background-color: #f5f5f5;*/
   transition: all 600ms ease-out;
    overflow: hidden;
  }
.hero-img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
 transition: all 600ms ease-out;
  transform-origin: center center;
}
.hero-img img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* ウィンドウサイズに合わせてトリミング */
    transition: all 600ms ease-out;
    transform-origin: center center;
}
  .hero-txt-wrp {
    background: light-dark(rgba(255,255,255,.6),rgba(52,52,52,.6));
    position: absolute;
    z-index: 3;
    bottom: 24px;
    right: 24px;
    color: #222;
    width: 100%;
    max-width: 420px;
    padding: 24px;
  }
  .hero-txt-wrp:hover {
    opacity: 1;
    background: light-dark(rgba(255,255,255,1),rgba(52,52,52,1));
  }
  .hero-meta {
    float: left;
    width: 60%;
  }
  .hero-date {
    font-size: .75rem;
    color: var(--txt-default);
    width: 100%;
    display: block;
    padding-bottom: .8em;
    border-bottom: 1px solid var(--border-default);
  }
  .hero-thumb {
    float: right;
    width: 30%;
    margin-left: 24px;
  }
  .hero-cap {
    font-size: .875rem;
    font-weight: 300;
  }

  @media not all and (min-width: 769px) {
    .hero-wrp {
     width: 100%;
      margin: 0 auto 48px;
    min-block-size: 80svb;
    }
    .hero-txt-wrp {
      bottom: 48px;
      right: 5%;
      width: 90%;
      max-width: 420px;
      padding: 20px;
      box-shadow: 0 0 4px #ccc;
    }
  }
  /* BLOG */
  .flex-wrp-blog {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .flex-wrp-blog::after {
    content: "";
    display: block;
    width: 31%;
    height: 0;
  }
  .entry-list {
    width: 30%;
    max-width: 432px;
    margin-bottom: 120px;
  }
  .entry-thumb {
    margin-bottom: 12px;
    position: relative;
    width: 100%;
      aspect-ratio:3/2;
      overflow: hidden;
  }
.index-store-thumb.entry-thumb{
	aspect-ratio:3/4;
	background: var(--bg-gray);
}
  .entry-thumb.blog-thumb, .entry-thumb.info-thumb {
        aspect-ratio: 5 / 4;
    background: var(--bg-gray);
    margin-bottom: 1.5em;
   
  }
  .entry-thumb img {
    cursor: pointer;
    transition: all 600ms ease-out;
   object-fit: cover;
    width: 100%;
    height: 100%;
  }
.entry-meta{
 font-size: .75rem;
}
  .design-page .entry-thumb {
    aspect-ratio: 16/9;
  }
  .entry-thumb:hover img {
    opacity: 1;
    transition: all 600ms ease-out;
    transform: scale(1.02);
  }
  .c {
    width: 100%;
    text-align: center;
    margin: 72px auto 180px;
  }
  .aside-wrp{
	border-top: 1px solid light-dark(#f4f4f4, #4e4e4e);
	  padding-block: 5em;
}
 .aside-wrp .entry-list {
    margin-bottom: 0;
  }
  .blog-aside {
    border-top: 1px solid var(border-default);
	  margin-bottom: 2em;
  }
  .blog-aside .ftr-sns {
    display: inherit !important;
  }
.tag-list-item{
	display: inline;
}
.tag-list-item::after{
	content: ","
}
.tag-list-item:last-child::after{
	content: "";
}
  .select-wrap {
    position: relative;
    width: 100%;
    display: inline-block;
    margin-bottom: 1em;
  }
  .select-wrap::after {
    content: '';
    width: 6px;
    height: 6px;
    border: 0px;
    border-bottom: solid 2px #b4b3b3;
    border-right: solid 2px #b4b3b3;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -4px;
  }
  .select-wrap select {
    width: 100%;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    height: 40px;
    padding: 5px;
    border: 1px solid #CFD8DC;
    background-color:var(--bg-default);
    border-radius: 5px;
  }
  .select-wrap select::-ms-expand {
    display: none;
  }
  .search-form {
    position: relative;
    width: 100%;
  }
  .search-input {
    position: absolute;
    top: 0;
    left: 0;
  }
  .btn-search {
    width: 20%;
    background-color: var(--bg-default);
    color: var(--txt-default);
    position: absolute;
    top: 0;
    right: 0;
    border: 1px solid var(--border-default);
    padding: 1em 0;
		border-top-right-radius: 4px;
		border-bottom-right-radius: 4px;
  }
  .entry {
    /*margin-top: -120px;*/
  }
  .first-img {
    margin-bottom: 48px;
  }
  .entry .entry-hdr {
    text-align: center;
    margin-bottom: 48px;
  }
  .entry .entry-meta {
    text-align: center;
  }
  .entry .capH2 {
    margin-bottom: 1em;
  }
  .l-w-narrow.entry-body {
    padding-left: 0;
    padding-right: 0;
    line-height: 2;
  }
  .l-w-narrow.entry-body a {
    text-decoration: underline;
    text-underline-offset: .25em;
  }
.l-w-narrow.entry-body img {
    margin-inline: auto;
    display: block;
    margin-top: 1em;
  }
  /* 親要素：記事の前後ナビゲーション全体 */
.pager {
  display: flex;
  justify-content: space-between;
  align-items: stretch; /* 子要素の高さを揃える */
  gap: 1rem; /* 前後のアイテム間に少し遊びを作る */
  padding-block: var(--size-md);
}

/* 各アイテム（aタグ） */
.pager-item {
  width: 50%;
  display: flex; /* Flexboxを適用 */
  align-items: center; /* これで上下中央揃えが完了 */
  text-decoration: none;
  /* テキストが溢れた時の処理（Flex配下でも機能するように設定） */
  min-width: 0; 
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pager-prev {
  justify-content: flex-start; /* 左寄せ */
  text-align: left;
  padding-right: 1.5rem;
}

.pager-next {
  justify-content: flex-end; /* 右寄せ */
  text-align: right;
  padding-left: 1.5rem;
}

/* 矢印アイコン */
img.btn-arrow {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
}

.pager-prev img {
  margin-right: 0.5em;
}

.pager-next img {
  margin-left: 0.5em;
}
  .entry-sns {
    margin: 96px auto;
    font-size: 1.4rem;
    text-align: center;
  }
  .entry-sns li {
    display: inline;
    margin: 0 .25em;
  }
  .recent-post-wrp .entry-list {
    width: 23%;
    max-width: 360px;
    margin-bottom: 0;
  }
  .wp-pagenavi {
  clear: both;
  text-align: center;
  font-size: .875rem;
}
.wp-pagenavi a, .wp-pagenavi span {
  margin-inline:1em;
  white-space: nowrap;
  padding: 0;
  border: 0;
}
.wp-pagenavi a:hover {
  color: var(--main-color) !important;
  font-weight: 440;
  text-decoration: none;
}
.wp-pagenavi span.pages {
  margin-right: 1em;
  border: none;
  background: none;
  text-decoration: none;
  display: none;
}
.wp-pagenavi a.last {
  margin-left: 1em;
  border: none;
}
.nextpostslink,
.previouspostslink{
 display: inline-block;
 width: 11px;
 height: 13px;
}
.wp-pagenavi span.current {
    font-weight: normal;
    color: var(--main-color);
}
  @media not all and (min-width: 769px) {
    .entry {
      margin-top: 0;
    }
    .blog-eyecatch {
      margin-left: calc(((100vw - 100%) / 2) * -1);
      margin-right: calc(((100vw - 100%) / 2) * -1);
    }
   
    .entry-list, .design-page .entry-list {
      width: 100% !important;
      max-width: 100% !important;
      margin-bottom: 48px !important;
    }
    .entry-list.blog-aside {
      width: 100%;
    }
    .entry-list.blog-aside:last-child {
      margin-bottom: 106px;
    }
    .blog-aside .ftr-sns {
      display: flex !important
    }
    .pager {
      margin-top: 64px;
      margin-bottom: 64px;
    }
    .pager span {
      width: 48%;
      white-space: nowrap;
      text-overflow: ellipsis;
      overflow: hidden;
    }
    .btn-prev {
      border-right: 0;
    }
    .pager .txt-c {
      display: none;
    }
    .recent-post-wrp .entry-list {
      width: 48%;
    }
    .recent-post-wrp .entry-list:nth-child(1), .recent-post-wrp .entry-list:nth-child(2) {
      margin-bottom: 32px;
    }
  }
  /* ABOUT */
  .cap-about {
    margin-bottom: 108px;
  }
  .about-title {
    font-size: 1.6rem;
    letter-spacing: .05em;
    line-height: 1;
    font-weight: 300;
    margin-bottom: 60px;
    text-align: center;
  }
  .w480 {
    width: 40%;
    max-width: 480px;
    margin: 0 auto;
    line-height: 2;
    text-align: justify;
  }
  /* SHOP */
  .shop-img {
    margin-bottom: 94px;
  }
  .box-3 {
    width: 31.25%;
    line-height: 2;
  }
  .box-3:nth-child(2) {
    margin-left: 4%;
    margin-right: 4%;
  }
  .box-3 dt {
    font-weight: 440;
  }
  .shopcal {
    margin-top: 2em;
  }
  .shopcal h3 {
    font-weight: 440;
  }
  .shopcal table {
    width: 100%;
    border: 1px solid #e3e3e3;
    border-collapse: collapse;
    line-height: 1;
    font-size: .75rem;
    text-align: center;
  }
  .shopcal table th {
    border: solid 1px light-dark(#e3e3e3,#2e2e2e);
    border-width: 0 0 1px 1px;
    background: light-dark(#f4f4f4,#1a1a1a);
    padding: 1em 0;
    width: 14.2%;
    font-weight: 100;
  }
  .shopcal table td {
    border: solid 1px light-dark(#e3e3e3,#2a2c33);
    border-width: 0 0 1px 1px;
    padding: 1em 0;
  }
  .open {
    background: light-dark(#f9fbe7,#1a1a1a);;
  }
  .gmap {
    position: relative;
    padding-top: 100%;
    width: 100%;
    margin-bottom: 24px;
  }
  .gmap iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
  }
  @media not all and (min-width: 769px) {
    .shop-img {
      margin-left: calc(((100vw - 100%) / 2) * -1);
      margin-right: calc(((100vw - 100%) / 2) * -1);
      margin-bottom: 56px;
    }
    .w480 {
      width: 100%;
      max-width: 100%;
    }
    .box-3 {
      width: 100%;
      margin-bottom: 32px;
    }
    .box-3:nth-child(2) {
      margin-left: 0;
      margin-right: 0;
    }
  }
  /* BIRTHDAY CAKE */
  .birthdaycake-price {
    width: 100%;
    border-top: 1px solid light-dark(#e3e3e3,#2a2c33);
  }
  .birthdaycake-price td {
    border-bottom: 1px solid light-dark(#e3e3e3,#2a2c33);
    padding: 1em 0;
  }
  .price {
    text-align: right
  }
  /* FORM */
  .frm-step {
    width: 100%;
    margin-bottom: 88px;
  }
  .frm-step li {
    float: left;
    width: 33.33%;
    text-align: center;
    padding: 1em 0;
    border-right: 1px solid var(--border-default);
    letter-spacing: .05em;
  }
  .frm-step li:last-child {
    border-right: none;
  }
  .frm-step li.step-off {
    background-color: var(--bg-default);
		color: var(--txt-default)
  }
  .frm-step li.step-on {
    background-color: var(--bg-reverse);
		color: var(--txt-reverse);
  }
  .item1 {
    padding: 1em 0;
    float: left;
    clear: left;
    line-height: 1.8;
    width: 24%;
  }
  .answer {
    padding: 1em 0;
    float: left;
    line-height: 1.8;
    width: 76%;
  }
  .hissu {
    color: #f00;
    font-size: .75rem;
    font-weight: 440;
    margin-left: .5em
  }
  input[type="text"], input[type="email"],input[type="tel"], textarea {
    width: 100%;
    border-radius: 4px;
    border: 1px solid var(--border-default);
    padding: 1em;
    background-color:light-dark(#f8f8f8,#2a2c33);
  }
  input[type="checkbox"], input[type="radio"] {
    margin-right: 1em;
  }

.confirm-table .item1:last-of-type,
.confirm-table .answer:last-of-type{
 display: none;
}
  .btns {
    width: 100%;
   max-width: 640px;
    text-align: center;
    margin-top: 40px;
   margin-inline:auto;
  }
  .btns * {
    display: inline-block;
  }
.btns .btn{
 width: 100%;
}
  .btn {
    width: 100%;
    /*  max-width: 320px;*/
    padding: 1.4em 1em;
    text-align: center;
    letter-spacing: .05em;
    border-radius: 5px;
    -webkit-appearance: none;
    transition: all 600ms ease-out;
    opacity: 1;
    cursor: pointer;
    display: inline-block;
  }
  .btn-birthdaycake-submit {
    background: pink;
    color: #444 !important;
    font-weight: 300;
    border: none;
  }
  .btn-back {
    background: #999;
    color: #fff;
    border: 1px solid #777;
  }
  .btn-birthdaycake-submit:hover, .btn-back:hover {
    opacity: .6;
  }
  .confirm-table {
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
  }
  .error_messe {
    text-align: center;
    color: #f00;
  }
  @media not all and (min-width: 769px) {
    .item1, .answer {
      float: none;
      width: 100%;
    }
    .item1 {
      padding-top: 2em;
    }
    .answer {
      border-bottom: 1px dotted #ddd;
      padding-bottom: 2em;
    }
    .btns {
      margin-top: 48px;
    }
    .btn {
      margin-bottom: 12px;
    }
  }

  /**********************************************************************************************************
DESIGN PAGE******************************************************/
/* --- 制作実績 スペックエリア --- */
.spec-wrp {
  display: flex;
  flex-wrap: wrap; /* 折り返しを許可 */
  width: 100%;
  border-top: 1px dotted #ddd; /* dlの最上部 */
  margin: 2rem 0; /* 前後の余白調整 */
}

.spec-title,
.spec-item {
  padding: 1.25em 0;
  border-bottom: 1px dotted #ddd; /* 一行の下（項目の下）に線を引く */
  box-sizing: border-box;
}

/* PCレイアウト */
.spec-title {
  width: 24%;
  font-weight: 440;
  clear: left; /* 回り込み解除 */
}

.spec-item {
  width: 76%; /* 100% - 24% */
  margin-left: 0;
}
.design-imgs img{
  border: 1px solid #b4b3b3;
  margin-top: 2em;
}
.design-imgs-sp-wrp.flex-wrp img{
  width: 48%;

}

/* スマホレイアウト */
@media not all and (min-width: 769px) {
  .spec-title,
  .spec-item {
    width: 100%; /* 縦並びにする */
    border-bottom: none; /* スマホではタイトルと項目の間の線を消す場合 */
  }

  .spec-title {
    padding-bottom: 0; /* タイトルと項目の距離を縮める */
  }

  .spec-item {
    padding-top: 0.5em;
    padding-bottom: 1.25em;
    border-bottom: 1px dotted #ddd; /* 項目が終わった後に線を引く */
  }
}

  /**********************************************************************************************************
DRAWER******************************************************/


.btn-drawer {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  width: 56px;
  height: 52px;
  cursor: pointer;
  text-align: center;
  transition: height 0.4s ease-out, top 0.4s ease-out;
  z-index: 9999;
  background: none;
  padding: 12px 16px;
}
.btn-drawer:hover {
  background: none;
}
.btn-open {
  position: relative;
  cursor: pointer;
  width: 28px;
  height: 28px;
  margin: auto;
}
.btn-open span {
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background: #333;
  transition: transform 0.4s, opacity 0.4s, top 0.4s;
}
.btn-open span:nth-of-type(1) {
  top: 0;
}
.btn-open span:nth-of-type(2) {
  top: 8px;
}
.btn-open span:nth-of-type(3) {
  top: 16px;
}
.btn-open.hum-active span:nth-of-type(1) {
  top: 0;
  left: 0;
  transform: translateY(6px) rotate(-45deg);
  width: 100%;
}
.btn-open.hum-active span:nth-of-type(2) {
  opacity: 0;
}
.btn-open.hum-active span:nth-of-type(3) {
  top: 12px;
  left: 0;
  transform: translateY(-6px) rotate(45deg);
  width: 100%;
}

 


.drawer {
  display: block;
  position: fixed;
  background: #fff;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  transition: opacity .2s ease-out;
  overflow-y: auto;
  z-index: 9997;
}
.drawer.drawer-open {
  opacity: 1;
  visibility: visible;
  height: 100%;
  left: 0;
}
 .drawer-menu {
    height: 100%;
    width: 100%;
    padding: 1.5em;
    list-style: none;
  }
  .drawer-list {
    padding-bottom: 1.25em;
    padding-top: 1.25em;
    display: block;
    font-size: .9375rem;  
    letter-spacing: .05em;
    text-align: left;
    line-height: 1;
    border-bottom: 1px solid #454545;
  }
  .drawer-list.drawer-list-small {
/*    padding: 1.25em;*/
    font-size: .875rem;
		border-bottom: none;
  }
  .drawer-list-wrp {
    border-top: 1px solid #454545;
  }
.drawer-logo {
  width: 32px;
  height: 32px;
  display: block;
  margin: 0 auto 2em;
}
.drawer-cart-icon {
  width: 20px;
  height: 20px;
  display: inline-block;
  margin-right: 0.5em;
  vertical-align: text-top;
}
.drawer a {
  color: #333;
}
.drawer-sub-menu {
  font-size: .8125rem;
  padding-left: 1em;
}
.drawer-sns img {
  margin-right: 1em;
}
.drawer p {
  line-height: 1.75;
}
@media not all and (min-width: 769px) {
  .btn-drawer {
    display: flex; /* 中央揃えのためにflexに変更 */
    align-items: center;
    justify-content: center;
  }
  
  /* スクロールしてヘッダーが縮んだ時 */
  .btn-drawer.size-s {
    height: 40px; /* ヘッダーの高さ減少に合わせる */
  }

  .drawer-menu {
    height: 100%;
    width: 100%;
    list-style: none;
    position: relative;
  }
}

/* slider */
.slide-media, .thumb-media {
  position: relative;
  overflow: hidden;
}
.slide-media img, .thumb-media img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.splide {
  z-index: 0;
}
.splide__arrows {
  position: absolute;
  z-index: 4;
  top: 50%;
  left: 1%;
  width: 98%;
  margin-top: -3.2rem;
  display: flex;
  justify-content: space-between;
  /*
    opacity: 0;
    transition: all .6s ease-out;
*/
}
/*
.splide__arrows:hover{
    opacity: 1;
}
*/
/* 前へ / 次へボタン */
.splide__arrow--prev, .splide__arrow--next {
  display: grid;
  place-content: center;
  width: 4.8rem;
  height: 4.8rem;
  cursor: pointer;
  transition: var(--transition);
  background-color: rgba(234, 234, 234, .86);
  border-radius: 50%;
  border: none;
}
.splide__arrow--prev:hover, .splide__arrow--next:hover {
  background-color: rgba(255, 255, 255, 1);
  transition: all .6s ease-out;
  transform: scale(1.2);
}
.splide__arrow--prev::after, .splide__arrow--next::after {
  width: 1rem;
  height: 1rem;
  content: "";
  border: solid #202020;
  border-width: 1px 1px 0 0;
}
.splide__arrow--prev::after {
  margin-left: 0.4rem;
  transform: rotate(-135deg);
}
.splide__arrow--next::after {
  margin-right: 0.4rem;
  transform: rotate(45deg);
}
.splide__arrow:disabled {
  pointer-events: none;
  opacity: 0;
}
.splide__arrow:focus-visible {
  outline: 3px solid rgba(180, 233, 0, 0.8);
  outline-offset: 3px;
  z-index: 1;
  transition: none;
}
.splide__pagination {
  font-size: 0;
}
.splide__pagination__page:focus-visible {
  outline: 3px solid rgba(180, 233, 0, 0.8);
  outline-offset: 3px;
  z-index: 1;
  transition: none;
}
.splide__slide:focus-visible {
  outline: 3px solid rgba(180, 233, 0, 0.8);
  outline-offset: 3px;
  z-index: 1;
  transition: none;
}
.splide-wrapper {
  position: relative;
}
.splide__arrow > svg {
  display: none;
}
.splide-area {
  position: relative;
}
.splide__pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem 0.8rem;
  justify-content: center;
  margin-top: 3.2rem!important;
  text-align: center;
}
.splide__pagination li{
	border: none!important;
}
.splide__pagination__page {
  width: 1.6rem;
  height: 6px;
  cursor: pointer;
  transition: var(--transition);
  vertical-align: top;
	outline: none;
	border: none;
	border-radius: 4px;
	background: #e72018;
	opacity: .6;
}
.splide__pagination__page.is-active {
  width: 4rem;
}
.splide__arrow--prev {
  right: calc(100% + 2.4rem);
}
.splide__arrow--next {
  left: calc(100% + 2.4rem);
}
.slide-media {
  padding-top: 62.5%;
  border-radius: 4px;
}
.slide-media img {
  height: calc(100% + 16px);
  transform: translateY(-16px);
}
.slide-content {
  padding: 3.2rem 0;
}
.slide-date {
  font-size: .75rem;
  line-height: 1;
  display: block;
  color: var(--color-theme);
}
.slide-title {
  line-height: 1.6;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  height: 3.2em;
  margin-top: 1.6rem;
}
@media not all and (min-width: 1025px) {

  .splide__arrow--prev::before, .splide__arrow--next::before {
    transition: var(--transition);
  }
  .splide__arrow--prev:hover::before, .splide__arrow--next:hover::before {
    transform: scale(1.2);
  }
}

.error-logo{
	width:172px;
	height:137px;
	margin-left: auto;
	margin-right: auto;
}

.youTubeIframe{
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
}
.entry-tag-list-wrp{
	margin-top: 64px;
	margin-bottom: 64px;
}