@charset "UTF-8";
:root {
  --color-primary: #0E2145;
  --color-primary2: 14,33,69;
  --color-sub: #2A4A87;
  --color-text: #1A1A1A;
  --color-text2: 26,26,26;
  --attention: #E20101;
  --color-cart: #DB4D3F;
  --color-cart2: 219,77,63;
  --font-min: "Zen Old Mincho", serif;
  --font-eng: "EB Garamond", serif;
  --font-jp: "Yu Gothic Medium", "Yu Gothic", YuGothic, sans-serif;
  --bg1: #ECEBE8;
  --bg2: #F3F2EE;
  --bg1num: 236,235,232;
}

.min {
  font-family: var(--font-min);
  font-feature-settings: "palt";
}

.eng {
  font-family: var(--font-eng);
  font-weight: 400;
}

.jp {
  font-family: var(--font-jp);
  font-weight: 400;
}

.attention {
  color: var(--attention);
}

body, h1, h2, h3, h4, h5, h6, div, p, ul, ol, li, dl, dt, dd, form, input, textarea, pre {
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
}

header, footer, article, aside, section {
  display: block;
}

ul, li {
  list-style-type: none;
}

table, img {
  border: 0;
}

hr {
  display: none;
  clear: both;
}

em {
  font-style: normal;
}

address {
  font-style: normal;
}

* {
  box-sizing: border-box;
}

*:before, *:after {
  line-height: 1;
  letter-spacing: 0;
  box-sizing: border-box;
}

img {
  vertical-align: top;
  max-width: 100%;
  height: auto;
}

svg {
  fill: currentColor;
}

object {
  pointer-events: none;
}

body {
  -webkit-text-size-adjust: 100%;
}

/* --------------------
		clear
-------------------- */
.clearfix:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
  font-size: 0;
  line-height: 0;
}

.clearfix {
  display: inline-block;
}

* html .clearfix {
  height: 1%;
}

.clearfix {
  display: block;
}

.clear {
  clear: both;
  font-size: 0;
  line-height: 0;
  padding: 0;
  margin: 0;
}

.clearB {
  clear: both;
}

/* --------------------
		float
-------------------- */
.floatR {
  float: right;
}

.floatL {
  float: left;
}

/* --------------------
		link
-------------------- */
a {
  color: inherit;
  text-decoration: underline;
  overflow: hidden;
  /*-webkit-tap-highlight-color: rgba(163,14,8,0.2);
  tap-highlight-color: rgba(163,14,8,0.2);*/
}
a:not(:focus-visible) {
  outline: none;
}
a img {
  transition: opacity 0.3s;
}
@media (any-hover: hover) {
  a:hover {
    text-decoration: none;
  }
  a:hover img {
    opacity: 0.7;
  }
}

a:active {
  text-decoration: none;
}

.fade {
  transition: opacity 0.2s ease-in-out;
  backface-visibility: hidden;
}

.fade:hover {
  opacity: 0.8;
}

.linkNon {
  color: inherit;
  text-decoration: none;
}

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

.btn2 {
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: opacity 0.26s;
}
@media (any-hover: hover) {
  .btn2:hover {
    opacity: 0.7;
  }
}

.btn-check:checked + .ec-blockBtn--action, .btn-check:active + .ec-blockBtn--action, .ec-blockBtn--action:active, .ec-blockBtn--action.active, .show > .ec-blockBtn--action.dropdown-toggle,
.btn-check:focus + .ec-blockBtn--action, .ec-blockBtn--action:focus {
  outline: none !important;
  background: var(--color-primary);
}
.btn-check:checked + .ec-blockBtn--action:focus, .btn-check:active + .ec-blockBtn--action:focus, .ec-blockBtn--action:active:focus, .ec-blockBtn--action.active:focus, .show > .ec-blockBtn--action.dropdown-toggle:focus,
.btn-check:focus + .ec-blockBtn--action:focus, .ec-blockBtn--action:focus:focus {
  box-shadow: 0 0 0 0.2rem rgba(var(--color-primary2), 0.2);
}

.ec-blockBtn--cancel:focus {
  outline: none !important;
}

/* --------------------
		common
-------------------- */
.w100 {
  width: 100%;
}

.nowrap {
  display: inline-block;
  white-space: nowrap;
}

.alignR {
  text-align: right;
}

.alignC {
  text-align: center;
}

.kome {
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.5;
}

.komeList li {
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.5;
  margin-top: 0.4em;
}

.dotList li {
  padding-left: 1em;
  position: relative;
  line-height: 1.5;
  margin-top: 0.4em;
}

.dotList li:before {
  content: "";
  line-height: 0;
  width: 3px;
  height: 3px;
  background: rgba(0, 0, 0, 0.7);
  display: block;
  border-radius: 50%;
  position: absolute;
  left: 0.3em;
  top: 0.7em;
  transform: translate(-50%, -50%);
}

.kome .nowrap, .komeList li .nowrap, .dotList li .nowrap {
  text-indent: 0;
}

.nmlTbl {
  border-spacing: 0;
  border-collapse: separate;
  border-top: rgba(var(--color-text2), 0.3) 1px solid;
}
.nmlTbl th {
  background: #F7F6F4;
  border-bottom: rgba(var(--color-text2), 0.3) 1px solid;
  font-weight: 400;
}
.nmlTbl td {
  border-bottom: rgba(var(--color-text2), 0.3) 1px solid;
}

/* --------------------
		font size
-------------------- */
.fz11 {
  font-size: 1.1rem;
}

.fz12 {
  font-size: 1.2rem;
}

.fz13 {
  font-size: 1.3rem;
}

.fz14 {
  font-size: 1.4rem;
}

.fz15 {
  font-size: 1.5rem;
}

.fz16 {
  font-size: 1.6rem;
}

.fz17 {
  font-size: 1.7rem;
}

.fz18 {
  font-size: 1.8rem;
}

.lh15 {
  line-height: 1.5;
}

.lh16 {
  line-height: 1.6;
}

.lh17 {
  line-height: 1.7;
}

.lh18 {
  line-height: 1.8;
}

.lh19 {
  line-height: 1.9;
}

.lh20 {
  line-height: 2;
}

/* --------------------
		margin
-------------------- */
.mb05 {
  margin-bottom: 5px;
}

.mb10 {
  margin-bottom: 10px;
}

.mb15 {
  margin-bottom: 15px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb25 {
  margin-bottom: 25px;
}

.mb30 {
  margin-bottom: 30px;
}

.mb35 {
  margin-bottom: 35px;
}

.mb40 {
  margin-bottom: 40px;
}

.mb45 {
  margin-bottom: 45px;
}

.mb50 {
  margin-bottom: 50px;
}

.mb55 {
  margin-bottom: 55px;
}

.mb60 {
  margin-bottom: 60px;
}

.mb65 {
  margin-bottom: 65px;
}

.mb70 {
  margin-bottom: 70px;
}

.mb75 {
  margin-bottom: 75px;
}

.mb80 {
  margin-bottom: 80px;
}

.mb85 {
  margin-bottom: 85px;
}

.mb90 {
  margin-bottom: 90px;
}

.mt05 {
  margin-top: 5px;
}

.mt10 {
  margin-top: 10px;
}

.mt15 {
  margin-top: 15px;
}

.mt20 {
  margin-top: 20px;
}

.mt25 {
  margin-top: 25px;
}

.mt30 {
  margin-top: 30px;
}

.mt35 {
  margin-top: 35px;
}

.mt40 {
  margin-top: 40px;
}

.mt45 {
  margin-top: 45px;
}

.mt50 {
  margin-top: 50px;
}

.mt55 {
  margin-top: 55px;
}

.mt60 {
  margin-top: 60px;
}

.mt65 {
  margin-top: 65px;
}

.mt70 {
  margin-top: 70px;
}

.mt75 {
  margin-top: 75px;
}

.mt80 {
  margin-top: 80px;
}

.mt85 {
  margin-top: 85px;
}

.mt90 {
  margin-top: 90px;
}

.mb05em {
  margin-bottom: 0.5em;
}

.mb1em {
  margin-bottom: 1em;
}

.mb15em {
  margin-bottom: 1.5em;
}

.mb2em {
  margin-bottom: 2em;
}

.mb25em {
  margin-bottom: 2.5em;
}

.mb3em {
  margin-bottom: 3em;
}

.mb4em {
  margin-bottom: 4em;
}

.mt1em {
  margin-top: 1em;
}

.mt15em {
  margin-top: 1.5em;
}

.mt2em {
  margin-top: 2em;
}

/* --------------------
		padding
-------------------- */
.pb05 {
  padding-bottom: 5px;
}

.pb10 {
  padding-bottom: 10px;
}

.pb15 {
  padding-bottom: 15px;
}

.pb20 {
  padding-bottom: 20px;
}

.pb25 {
  padding-bottom: 25px;
}

.pb30 {
  padding-bottom: 20px;
}

.pb35 {
  padding-bottom: 35px;
}

.pb40 {
  padding-bottom: 45px;
}

.pb50 {
  padding-bottom: 50px;
}

.pb55 {
  padding-bottom: 55px;
}

.pb60 {
  padding-bottom: 60px;
}

.pb65 {
  padding-bottom: 65px;
}

.pb70 {
  padding-bottom: 70px;
}

.pb75 {
  padding-bottom: 75px;
}

.pb80 {
  padding-bottom: 80px;
}

.pb85 {
  padding-bottom: 85px;
}

.pb90 {
  padding-bottom: 90px;
}

.pt05em {
  padding-top: 0.5em;
}

.pt1em {
  padding-top: 1em;
}

.pt15em {
  padding-top: 1.5em;
}

/* --------------------
		lity
-------------------- */
.lity-wrap {
  padding: 3rem 2rem;
}

.lity-container {
  overflow: auto;
}

#noshiImage {
  max-width: 889px;
  max-height: 100%;
}

/* --------------------
	アニメーション
-------------------- */
.js-fadeIn {
  opacity: 0;
  transform: translateY(2rem);
  transition: opacity 1.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 2s cubic-bezier(0.16, 1, 0.3, 1);
}
.js-fadeIn.scrolled {
  opacity: 1;
  transform: none;
}

input, textarea, select, button {
  font-family: var(--font-jp) !important;
  font-size: 1.6rem;
  color: var(--color-text);
}

input:not(:focus-visible), button:not(:focus-visible) {
  outline: none;
}

label, button {
  cursor: pointer;
}

/* input:focus, select:focus, textarea:focus { box-shadow : 0px 0px 3px rgba(82, 154, 235, 0.4);} */
input:-webkit-autofill {
  box-shadow: 0 0 0px 1000px #fff inset;
  font-family: var(--font-jp);
}

input, textarea, select {
  border: #D1D1D1 1px solid;
  background: #fff;
  padding: 0.5em 0.7em;
}

/* スピンボタン非表示 */
/*input[type="number"]::-webkit-outer-spin-button, 
input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; } 
input[type="number"] { -moz-appearance:textfield; }*/
/*IEとFirefoxでselectの矢印を消すとき*/
select {
  text-indent: 0.01px;
  text-overflow: "";
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

select::-ms-expand {
  display: none;
}

/* Firefox */
input::-moz-focus-inner,
button::-moz-focus-inner {
  border: 0;
}

/* iOSでのデフォルトスタイルをリセット */
input[type=submit],
input[type=button] {
  border-radius: 0;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}

input[type=submit]::focus,
input[type=button]::focus {
  outline-offset: -2px;
}

/*select { border: solid 1px #D6D6D6; padding:0.6em; padding-right: 30px; min-width:60px; position:relative; background:url(../img/common/icon_select.svg) no-repeat right 5px center #fff; background-size:16px 16px; font-size:1.3rem;}*/

::-moz-placeholder {
  color: #8F8F8F;
}

::placeholder {
  color: #8F8F8F;
}

/*ラジオボタン*/
.radio input[type=radio] {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  overflow: hidden;
  padding: 0;
  clip: rect(0, 0, 0, 0);
}

.radio label {
  display: block;
  position: relative;
  padding-left: 24px;
  margin-bottom: 0.4em;
}

.radio label:before,
.radio label:after {
  content: "";
  position: absolute;
  font-size: 0;
  display: inline-block;
  border-radius: 50%;
  transition: transform 0.2s ease;
}

.radio label:before {
  top: 4px;
  left: 0;
  width: 16px;
  height: 16px;
  border: 1px solid #999;
}

.radio label:after {
  top: 8px;
  left: 4px;
  width: 10px;
  height: 10px;
  background-color: transparent;
  transform: scale(0);
}

.radio input[type=radio]:focus + label:before {
  border-color: #529AEB;
  box-shadow: 0px 0px 3px rgba(82, 154, 235, 0.4);
}

.radio input[type=radio]:checked + label:after {
  background-color: #FF9D00;
  transform: scale(1);
}

/*チェックボックス*/
.checkbox input[type=checkbox] {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  overflow: hidden;
  padding: 0;
  clip: rect(0, 0, 0, 0);
}

.checkbox label {
  display: block;
  position: relative;
  padding: 6px 0 6px 25px;
}

.checkbox label:before,
.checkbox label:after {
  content: "";
  position: absolute;
  display: inline-block;
  transition: transform 0.2s ease;
}

.checkbox label:before {
  top: 10px;
  left: 0;
  width: 16px;
  height: 16px;
  border: 1px solid #999;
  border-radius: 3px;
}

.checkbox label:after {
  top: 11px;
  left: 5px;
  width: 6px;
  height: 16px;
  margin-top: -5.5px;
  border-right: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-radius: 1.5px;
  transform: rotate(45deg);
  transition: border-bottom-color, border-right-color 0.2s ease;
}

.checkbox input[type=checkbox]:focus + label:before {
  border-color: #529AEB;
  box-shadow: 0px 0px 3px rgba(82, 154, 235, 0.4);
}

.checkbox input[type=checkbox]:checked + label:after {
  border-color: #FF9D00;
}

.ec-input input, .ec-halfInput input, .ec-numberInput input, .ec-zipInput input, .ec-telInput input, .ec-select input, .ec-birth input, input.form-control,
.ec-input select, .ec-halfInput select, .ec-numberInput select, .ec-zipInput select, .ec-telInput select, .ec-select select, .ec-birth select,
select.form-control {
  background: #fff;
  border-color: #BABABA;
  border-radius: 0;
  font-size: 1.5rem;
  color: var(--color-text);
}

select.form-control {
  -webkit-appearance: menulist;
}

.ec-input textarea, .ec-birth textarea, .ec-select textarea, .ec-halfInput textarea, .ec-numberInput textarea, .ec-zipInput textarea, .ec-telInput textarea {
  font-size: 1.5rem;
  line-height: 1.6;
  border-color: #BABABA;
}

.ec-radio input {
  width: 1.1em;
  height: 1.1em;
  margin-right: 0.5rem;
  margin-bottom: 0;
  vertical-align: -0.25em;
}

.ec-radio label {
  line-height: 1.4;
  margin-right: 1.7rem;
}

@media screen and (min-width: 768px) {
  .ec-input input, .ec-halfInput input, .ec-numberInput input, .ec-zipInput input, .ec-telInput input, .ec-select input, .ec-birth input,
  .ec-input select, .ec-halfInput select, .ec-numberInput select, .ec-zipInput select, .ec-telInput select, .ec-select select, .ec-birth select,
  select.form-control {
    font-size: 1.6rem;
  }
}
.ec-blockBtn--action {
  background-color: var(--color-primary);
  color: #fff;
  border: none;
  transition: opacity 0.26s;
}
.ec-blockBtn--action:hover {
  background-color: var(--color-primary);
  opacity: 0.7;
}

.ec-blockBtn--cancel {
  background-color: #979797;
  border: none;
}
.ec-blockBtn--cancel:hover {
  background-color: #979797;
  opacity: 0.7;
}

.form-check-input {
  border-color: #BABABA;
}

.ec-inlineBtn {
  color: var(--color-text);
}
.ec-inlineBtn:hover {
  color: var(--color-text);
  background-color: rgba(var(--color-primary2), 0.1);
}
.ec-inlineBtn:focus {
  box-shadow: none !important;
  outline-width: 1px !important;
  border-color: rgba(var(--color-text2), 0.4);
}
.ec-inlineBtn:focus:active {
  outline-offset: 0;
  outline: 1px auto rgba(var(--color-text2), 0.4);
}

html {
  width: 100%;
  overflow: auto;
  font-size: 2.67vw;
  scroll-behavior: auto !important;
}

body {
  text-align: center;
  font-family: var(--font-min);
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.8;
  color: var(--color-text);
  width: 100%;
  position: relative;
  /* overflow:hidden; */
  z-index: 0;
  background: none;
}

.wrap {
  text-align: left;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  width: 100%;
}

.wMaxC {
  padding: 0 6%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.pc {
  display: none;
}

@media screen and (min-width: 500px) {
  html {
    font-size: 2.35vw;
  }
}
@media screen and (min-width: 768px) {
  html {
    font-size: 0.80645vw;
  }
  body {
    font-size: 1.6rem;
  }
  .pc {
    display: block !important;
  }
  .sp {
    display: none !important;
  }
  .wMax {
    max-width: 1660px;
    margin-left: auto !important;
    margin-right: auto !important;
    position: relative;
  }
}
@media screen and (min-width: 1240px) {
  html {
    font-size: 62.5%;
  }
  .wMaxC {
    padding: 0 50px;
  }
}
.ec-layoutRole {
  background: none;
  text-align: left;
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 100vh;
}
.ec-layoutRole main {
  width: 100%;
  overflow-x: hidden;
  flex: 1;
}
@media screen and (min-width: 768px) {
  .ec-layoutRole .ec-layoutRole__contents {
    max-width: 1600px;
    padding-left: min(5.63vw, 90px);
    padding-right: min(5.63vw, 90px);
    display: block;
  }
}

.ec-layoutRole__main {
  position: relative;
  padding-bottom: 6rem;
}

.ec-layoutRole__main .ec-layoutRole__main {
  padding: 0;
}

.pankuzuBox {
  position: relative;
  padding: 0 1.7rem 1rem;
  font-size: 1.1rem;
  overflow-x: auto;
}
.pankuzuBox::-webkit-scrollbar {
  display: none; /* Chrome / Safari / Edge */
}
.pankuzuBox + .pankuzuBox {
  margin-top: -0.8rem;
}
.pankuzuBox .pankuzuList {
  display: flex;
  align-items: center;
  white-space: nowrap;
}
.pankuzuBox .pankuzuList li {
  flex-shrink: 0;
}
.pankuzuBox .pankuzuList a {
  text-decoration: none;
  position: relative;
  display: flex;
  align-items: center;
}
.pankuzuBox .pankuzuList a:after {
  content: ">";
  display: inline-block;
  font-size: 0.8rem;
  margin: 0 0.8em;
}

@media screen and (min-width: 768px) {
  .ec-layoutRole__main {
    padding-bottom: 16rem;
  }
  .pankuzuBox {
    max-width: 1600px;
    margin: 0 auto;
    padding-left: min(5.63vw, 90px);
    padding-right: min(5.63vw, 90px);
    padding-bottom: 1.8rem;
    font-size: 1.3rem;
  }
  .pankuzuBox + .pankuzuBox {
    margin-top: -1.6rem;
  }
  .pankuzuBox .pankuzuList a:after {
    font-size: 1rem;
    margin: 0 0.8em;
  }
}
.importantBar {
  color: #fff;
  position: relative;
  font-family: var(--font-jp);
  text-align: center;
  font-size: 1.2rem;
  line-height: 1.4;
  padding: 0.6em 0;
  min-height: 2.9rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.importantBar *, .importantBar a {
  color: #fff !important;
}
.importantBar:before {
  content: "";
  display: block;
  width: 100vw;
  width: calc(100vw - var(--scrollBar));
  height: 100%;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  z-index: -1;
  background: var(--color-primary);
}
.importantBar #importantNews {
  margin: 0 2.4rem;
  width: calc(100% - 4.8rem);
  min-width: 0;
}
.importantBar .slick-track {
  display: flex;
  align-items: center;
}
.importantBar .slick-slide {
  height: auto;
  float: none;
}
.importantBar .slick-slide > p {
  display: flex;
  align-items: center;
  justify-content: center;
}
.importantBar .slick-button {
  position: absolute;
  top: 50%;
  z-index: 10;
  width: 0.9rem;
  height: 0.9rem;
  cursor: pointer;
  background: #fff;
  background-size: contain;
  -webkit-mask-image: url(../img/common/arrow.svg);
          mask-image: url(../img/common/arrow.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.importantBar .slick-button.prev {
  left: 0.8rem;
  transform: translateY(-50%) rotate(90deg);
}
.importantBar .slick-button.next {
  right: 0.8rem;
  transform: translateY(-50%) rotate(-90deg);
}
@media screen and (min-width: 768px) {
  .importantBar {
    font-size: 1.4rem;
    min-height: 4.4rem;
    max-width: 840px;
    margin: 0 auto;
  }
  .importantBar .slick-button {
    width: 1rem;
    height: 1rem;
  }
}

#goTop {
  position: fixed;
  z-index: 1000;
  right: 20px;
  bottom: 20px;
  width: 46px;
  height: 46px;
  cursor: pointer;
}

#goTop img {
  width: 100%;
}

#goTop:hover img {
  opacity: 0.8;
}

.ec-layoutRole__header {
  position: sticky;
  left: 0;
  top: 0;
  width: 100%;
  background: #fff;
  z-index: 1000;
}
@media screen and (min-width: 768px) {
  .ec-layoutRole__header {
    transition: opacity 0.6s;
  }
  .ec-layoutRole__header.is-scroll {
    opacity: 0;
    pointer-events: none;
  }
}

header {
  height: 5.3rem;
  position: relative;
}
header h1 {
  width: 13.9rem;
  position: absolute;
  left: 1rem;
  top: 0.7rem;
}
header a {
  text-decoration: none;
}
header .iconList {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.7rem;
  position: absolute;
  right: 6rem;
  top: 1.4rem;
}
header .iconList img {
  width: 2.8rem;
}
header .iconList p {
  display: none;
}
header .iconList li.cart {
  position: relative;
}
header .iconList li.cart span {
  display: block;
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 50%;
  background: #F95656;
  position: absolute;
  right: -0.2rem;
  top: -0.2rem;
}
@media screen and (min-width: 768px) {
  header {
    height: 9rem;
    padding: 0 2.2rem 0 25.4rem;
    max-width: 1600px;
    margin: 0 auto;
    display: flex;
    align-items: center;
  }
  header h1 {
    width: 20rem;
    left: 1.2rem;
    top: 1.7rem;
  }
  header .otoiawasePC {
    padding: 0 1.6rem;
    position: relative;
    margin-left: auto;
  }
  header .otoiawasePC:before, header .otoiawasePC:after {
    content: "";
    display: block;
    width: 1px;
    height: 80%;
    position: absolute;
    left: 0;
    top: 10%;
    background: var(--color-primary);
    opacity: 0.6;
  }
  header .otoiawasePC:after {
    left: auto;
    right: 0;
  }
  header .otoiawasePC .ttl {
    color: var(--color-primary);
    font-size: 1.3rem;
    line-height: 1.3;
    font-weight: 600;
  }
  header .otoiawasePC .ttl span {
    font-size: 1.1rem;
  }
  header .otoiawasePC .tel {
    font-size: 2.2rem;
    line-height: 1.2;
    font-weight: 500;
  }
  header .otoiawasePC .time {
    font-size: 1.1rem;
    text-align: right;
    margin-right: -1em;
  }
  header .iconList {
    display: flex;
    gap: 1.8rem;
    position: relative;
    right: auto;
    top: auto;
    margin: 1.6rem 0 0 2.6rem;
  }
  header .iconList li {
    text-align: center;
  }
  header .iconList img {
    width: 3rem;
  }
  header .iconList p {
    display: block;
    font-size: 1.1rem;
    line-height: 1.8;
    font-family: var(--font-jp);
    margin-top: 0.2em;
  }
  header .iconList li.cart span {
    width: 0.7rem;
    height: 0.7rem;
    right: 0;
    top: -0.2rem;
  }
  header .iconList button {
    cursor: pointer;
    border: none;
    background: none;
    outline: none;
    transform: 0.3s;
  }
}
@media screen and (min-width: 768px) and (any-hover: hover) {
  header .iconList button:hover {
    color: var(--color-primary);
    opacity: 0.7;
  }
}
@media screen and (min-width: 768px) {
  header .iconList a {
    display: block;
  }
}
@media screen and (min-width: 768px) and (any-hover: hover) {
  header .iconList a:hover {
    color: var(--color-primary);
    opacity: 0.7;
  }
}
@media screen and (min-width: 1300px) {
  header {
    padding: 0 2.4rem 0 28rem;
  }
  header h1 {
    width: 21rem;
    left: 1.7rem;
    top: 1.6rem;
  }
}
@media screen and (min-width: 1360px) {
  header {
    padding: 0 2.4rem 0 30rem;
  }
  header h1 {
    width: 22rem;
    left: 1.7rem;
    top: 1.6rem;
  }
}
@media screen and (min-width: 1400px) {
  header {
    padding: 0 2.8rem 0 33rem;
  }
  header h1 {
    width: 23.2rem;
    left: 2.3rem;
    top: 1.1rem;
  }
  header .otoiawasePC {
    padding: 0 1.6rem;
  }
  header .otoiawasePC .ttl {
    line-height: 1.5;
  }
  header .otoiawasePC .tel {
    font-size: 2.4rem;
    line-height: 1.1;
  }
  header .iconList {
    margin: 1.7rem 0 0 3.5rem;
  }
  header .iconList p {
    font-size: 1.2rem;
    margin-top: 0.2em;
  }
}
@media screen and (min-width: 1500px) {
  header {
    padding: 0 3.4rem 0 33rem;
  }
  header .otoiawasePC {
    padding: 0 2rem;
  }
  header .iconList {
    gap: 2.5rem;
    margin-left: 4rem;
  }
}
header .navWrap {
  opacity: 0;
  pointer-events: none;
  height: calc(100dvh - 5.3rem);
  overflow-y: auto;
  position: absolute;
  left: 0;
  top: 5.3rem;
  background: var(--bg1);
  width: 100%;
  padding-bottom: 8rem;
}
header .navWrap > div {
  opacity: 0;
  transform: translateY(0.6rem);
}
header .navWrap.open {
  pointer-events: all;
  opacity: 1;
  transition: opacity 1s cubic-bezier(0.16, 1, 0.3, 1);
}
header .navWrap.open > div {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.3s, transform 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.3s;
}
@media screen and (min-width: 768px) {
  header .navWrap {
    opacity: 1;
    pointer-events: all;
    transform: none;
    height: auto;
    position: static;
    left: auto;
    top: auto;
    background: none;
    width: auto;
    padding: 0;
  }
  header .navWrap > div {
    opacity: 1;
    transform: none;
  }
}
header .gNav {
  line-height: 1.4;
  font-weight: 500;
}
header .gNav > li {
  border-bottom: rgba(var(--color-text2), 0.2) 1px solid;
  font-size: 1.7rem;
}
header .gNav > li > p, header .gNav > li > a {
  display: flex;
  align-items: center;
  padding: 0.6em 2.2rem;
  min-height: 5.8rem;
  position: relative;
  cursor: pointer;
}
header .gNav > li > p:before, header .gNav > li > p:after {
  content: "";
  display: block;
  width: 1.9rem;
  height: 1px;
  background: var(--color-text);
  position: absolute;
  right: 1.9rem;
  top: 50%;
}
header .gNav > li > p:after {
  transform: rotate(90deg);
  transition: transform 0.3s;
}
header .gNav > li > p.open:after {
  transform: rotate(0deg);
}
header .gNav > li > p.open + div {
  max-height: 110rem;
  transition: max-height 0.4s cubic-bezier(0.65, 0, 0.35, 1);
}
header .gNav > li > div {
  max-height: 0;
  overflow-y: hidden;
}
header .gNav > li > div .inMenuWrap {
  padding: 0.2rem 0 1.6rem 1.8rem;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 0.5rem;
}
@media screen and (min-width: 768px) {
  header .gNav {
    display: flex;
    align-items: center;
    gap: 0 2em;
    margin-top: 3rem;
    font-weight: 600;
    flex: 1;
  }
  header .gNav > li {
    font-size: 1.6rem;
    border: none;
  }
  header .gNav > li > p, header .gNav > li > a {
    padding: 0;
    height: 6rem;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  header .gNav > li > p::before, header .gNav > li > a::before {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background: var(--color-primary);
    position: absolute;
    left: 0;
    top: auto;
    bottom: 0;
    transform: scale(1, 0);
    transform-origin: left bottom;
    transition: transform 0.3s;
  }
}
@media screen and (min-width: 768px) and (any-hover: hover) {
  header .gNav > li > p:hover::before, header .gNav > li > a:hover::before {
    transform: scale(1, 1);
  }
}
@media screen and (min-width: 768px) {
  header .gNav > li > p {
    padding-right: 1.5rem;
  }
  header .gNav > li > p:after {
    width: 0.7rem;
    height: 0.7rem;
    background: url(../img/common/arrow.svg) no-repeat center;
    background-size: contain;
    right: 0;
    top: 51%;
    transform: translateY(-50%);
  }
  header .gNav > li > p.open:before {
    transform: scale(1, 1);
  }
  header .gNav > li > p.open + div {
    max-height: none;
    opacity: 1;
    pointer-events: all;
  }
  header .gNav > li > div {
    width: 100vw;
    width: calc(100vw - var(--scrollBar));
    padding: 0 9rem;
    transition: all 0.4s;
    max-height: none;
    overflow-y: visible;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    left: 50%;
    top: 9rem;
    transform: translateX(-50%);
  }
  header .gNav > li > div:before {
    content: "";
    display: block;
    width: 100vw;
    width: calc(100vw - var(--scrollBar));
    height: 100%;
    position: absolute;
    left: 50%;
    top: 0;
    z-index: -1;
    background: var(--bg1);
    transform: translateX(-50%);
  }
  header .gNav > li > div .inMenuWrap {
    padding: 4.4rem 0;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 0 9rem;
  }
}
@media screen and (min-width: 768px) and (any-hover: hover) {
  header .gNav > li > div a:hover {
    opacity: 0.7;
  }
}
@media screen and (min-width: 1280px) {
  header .gNav {
    gap: 0 2.5em;
  }
  header .gNav > li > p {
    padding-right: 2.2rem;
  }
  header .gNav > li > p:after {
    width: 0.8rem;
    height: 0.8rem;
  }
}
@media screen and (min-width: 1440px) {
  header .gNav {
    gap: 0 3em;
  }
  header .gNav > li > div {
    left: 33rem;
    transform: none;
    width: auto;
    padding: 0;
  }
  header .gNav > li > div:before {
    left: 0;
    transform: translateX(-33rem);
  }
}
@media screen and (min-width: 1600px) {
  header .gNav > li > div:before {
    transform: translateX(calc((-100vw + var(--scrollBar) + 1600px) / 2 - 33rem));
  }
}
header .gNav .inMenu {
  background: #e1e0db;
}
header .gNav .inMenu > p a {
  font-size: 1.6rem;
  display: flex;
  align-items: center;
  padding: 0.6em 2.2rem;
  min-height: 5.8rem;
  position: relative;
}
header .gNav .inMenu > p a:after {
  content: "";
  display: inline-block;
  width: 0.82rem;
  height: 0.82rem;
  margin-left: 0.9em;
  background: url(../img/common/arrow.svg) no-repeat center;
  background-size: contain;
  transform: rotate(-90deg);
}
header .gNav .inMenu > ul {
  margin-left: 3.2rem;
  padding: 0.2em 0 0.6em;
  font-size: 1.4rem;
}
header .gNav .inMenu > ul li {
  margin-bottom: 0.9em;
}
@media screen and (min-width: 768px) {
  header .gNav .inMenu {
    background: none;
  }
  header .gNav .inMenu:first-child {
    margin-left: -8rem;
    margin-right: -2rem;
  }
  header .gNav .inMenu > p a {
    padding: 0;
    min-height: 0;
  }
  header .gNav .inMenu > p a:after {
    content: none;
  }
  header .gNav .inMenu > ul {
    margin: 2.3rem 0 0 1.3rem;
    padding: 0;
    font-size: 1.5rem;
  }
  header .gNav .inMenu > ul li {
    margin-bottom: 0.7em;
  }
  header .gNav .inMenu > ul.line2 {
    -moz-column-count: 2;
         column-count: 2;
    -moz-column-gap: 2.4rem;
         column-gap: 2.4rem;
  }
  header .gNav .inMenu > ul.line2 li {
    -moz-column-break-inside: avoid;
         break-inside: avoid;
  }
  header .gNav .inMenu a.allItems {
    border: rgba(var(--color-text2), 0.5) 1px solid;
    background: rgba(255, 255, 255, 0.5);
    width: 22.4rem;
    height: 4.4rem;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-bottom: 0.1em;
    font-size: 1.5rem;
    transform: translateY(-25%);
    transition: opacity 0.15s;
  }
}
header .otherNav {
  margin: 4rem 2.4rem 4.8rem;
  font-size: 1.2rem;
  font-family: var(--font-jp);
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 1.1em;
}

#hamburger {
  position: absolute;
  right: 1.7rem;
  top: 1.8rem;
}
#hamburger p {
  width: 2rem;
  height: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
#hamburger span {
  display: block;
  position: absolute;
  left: 0;
  top: 0.9rem;
  width: 100%;
  height: 0.2rem;
  background: var(--color-primary);
  transform-origin: center;
}
#hamburger span:nth-child(1) {
  top: 0.2rem;
}
#hamburger span:nth-child(3) {
  top: 1.6rem;
}
#hamburger.active span:nth-child(2) {
  opacity: 0;
  transition: opacity 0.1s ease-in;
}
#hamburger.active span:nth-child(1) {
  top: 0.9rem;
  transform: rotate(45deg) scale(1.12);
  transition: top 0.3s 0.1s, transform 0.2s 0.4s;
}
#hamburger.active span:nth-child(3) {
  top: 0.9rem;
  transform: rotate(-45deg) scale(1.12);
  transition: top 0.3s 0.1s, transform 0.2s 0.4s;
}

#searchBoxWrap {
  border-bottom: rgba(var(--color-text2), 0.2) 1px solid;
}
#searchBoxWrap #searchBox {
  position: relative;
  padding: 2.8rem 3rem;
}
#searchBoxWrap #searchBox input {
  width: 100%;
  height: 4.4rem;
  outline: none;
}
#searchBoxWrap #searchBox button {
  border: none;
  position: absolute;
  right: 3.9rem;
  top: 3.5rem;
  width: 2.8rem;
  height: 2.8rem;
  padding: 0;
  background: none;
}
@media screen and (min-width: 768px) {
  #searchBoxWrap {
    width: 48rem;
    border: none;
    opacity: 0;
    pointer-events: none;
    transition: all 0.4s;
    position: absolute;
    left: auto;
    right: 0;
    top: 9rem;
    background: var(--bg1);
  }
  #searchBoxWrap.open {
    opacity: 1;
    pointer-events: all;
  }
}

.otoiawaseArea {
  border: rgba(var(--color-primary2), 0.6) 1px solid;
  background: #fff;
  width: 32rem;
  margin: 0 auto;
  padding: 2rem 4rem;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.otoiawaseArea:before, .otoiawaseArea:after {
  content: "";
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  position: absolute;
  left: -1px;
  top: -1px;
  background: url(../img/common/kazari.svg) no-repeat left top;
  background-size: contain;
}
.otoiawaseArea:after {
  transform: scale(-1, 1);
  left: auto;
  right: 0;
}
.otoiawaseArea div {
  width: 100%;
}
.otoiawaseArea .ttl {
  font-size: 1.4rem;
  font-weight: 600;
  margin-bottom: 0.4em;
}
.otoiawaseArea .tel {
  text-align: center;
}
.otoiawaseArea .tel strong, .otoiawaseArea .tel a {
  font-size: 3rem;
  line-height: 1;
  font-weight: 600;
  display: block;
}
.otoiawaseArea .tel span {
  font-size: 1.2rem;
  font-weight: 500;
}
.otoiawaseArea .btn2 {
  background: var(--color-primary);
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 3.8rem;
  font-family: var(--font-jp);
  font-size: 1.2rem;
  font-weight: bold;
  margin-top: 0.5em;
}
.otoiawaseArea .btn2 i {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  background: #fff;
  margin: 0 0.9em 0 0.2em;
  -webkit-mask-image: url(../img/common/i-mail.svg);
          mask-image: url(../img/common/i-mail.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}

.newsList a {
  text-decoration: none;
}
.newsList a:after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
}
.newsList li {
  position: relative;
  padding: 1.6rem 0 1.5rem;
  border-bottom: rgba(var(--color-text2), 0.25) 1px solid;
}
.newsList li .topLine {
  font-family: var(--font-jp);
  font-weight: 400;
  display: flex;
  align-items: center;
  margin-bottom: 0.7rem;
}
.newsList li .date {
  font-size: 1.3rem;
}
.newsList li .tagList {
  display: flex;
  flex-wrap: wrap;
  gap: 0.2rem;
  margin-left: 1.4rem;
}
.newsList li .tagList li {
  min-width: 7rem;
  padding: 0 1em;
  height: 1.7rem;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 0.9rem;
  font-weight: bold;
  line-height: 1.1;
  border: rgba(42, 74, 135, 0.6) 1px solid;
  color: var(--color-sub);
}
.newsList li .tagList li.important {
  border: none;
  background: #D77777;
  color: #fff;
  font-weight: 400;
}
.newsList li .title {
  font-size: 1.5rem;
  line-height: 1.5;
  text-align: justify;
}
@media (any-hover: hover) {
  .newsList li:hover .title a {
    text-decoration: underline;
  }
}
@media screen and (min-width: 768px) {
  .newsList li {
    padding: 2.5rem 1.4rem;
    display: flex;
    align-items: center;
    gap: 0 3rem;
    min-height: 8.8rem;
  }
  .newsList li .topLine {
    margin: 0;
  }
  .newsList li .date {
    font-size: 1.5rem;
  }
  .newsList li .tagList {
    gap: 0.2rem;
    margin-left: 2.4rem;
  }
  .newsList li .tagList li {
    min-width: 9.7rem;
    min-height: 0;
    padding: 0.1rem 1em 0;
    height: 2.5rem;
    font-size: 1.1rem;
  }
  .newsList li .title {
    font-size: 1.6rem;
    line-height: 1.6;
    text-align: left;
  }
}

.sidePageWrap {
  padding: 0 2.5rem;
  margin: -4.6rem 0 0;
}
.sidePageWrap .side ul {
  font-family: var(--font-jp);
  font-size: 1.3rem;
  line-height: 1.5;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.6rem;
  width: 31rem;
  margin: 0 auto 6.4rem;
}
.sidePageWrap .side ul a {
  text-decoration: none;
  border: rgba(var(--color-primary2), 0.3) 1px solid;
  display: flex;
  align-items: center;
  padding: 0.5em 1em;
  height: 100%;
  min-height: 4.2rem;
}
@media screen and (min-width: 768px) {
  .sidePageWrap {
    padding: 0;
    margin: 0 auto;
    max-width: 1300px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0 8.4%;
  }
  .sidePageWrap .side {
    width: 20%;
    position: sticky;
    top: 10rem;
  }
  .sidePageWrap .side ul {
    font-size: 1.5rem;
    line-height: 1.6;
    grid-template-columns: repeat(1, 1fr);
    gap: 0;
    width: 100%;
    margin: 0;
    border-top: rgba(var(--color-primary2), 0.3) 1px solid;
  }
  .sidePageWrap .side ul li {
    border-bottom: rgba(var(--color-primary2), 0.3) 1px solid;
    padding: 1px 0;
  }
  .sidePageWrap .side ul a {
    border: none;
    padding: 0.65em 1rem;
    min-height: 5.6rem;
    position: relative;
    transition: background 0.22s;
  }
  .sidePageWrap .side ul a:after {
    content: "";
    display: block;
    width: 0.8rem;
    height: 0.8rem;
    z-index: 10;
    position: absolute;
    right: 1.4rem;
    top: 50%;
    transform: translateY(-50%) rotate(-90deg);
    background: var(--color-primary);
    -webkit-mask-image: url(../img/common/arrow.svg);
            mask-image: url(../img/common/arrow.svg);
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
  }
}
@media screen and (min-width: 768px) and (any-hover: hover) {
  .sidePageWrap .side ul a:hover {
    background: rgba(var(--color-primary2), 0.03);
  }
}
@media screen and (min-width: 768px) {
  .sidePageWrap .side ul a.active {
    background: var(--color-primary);
    color: #fff;
  }
  .sidePageWrap .side ul a.active:after {
    background: #fff;
  }
  .sidePageWrap .contents {
    flex: 1;
  }
}

.ec-modal #ec-modal-header {
  font-weight: 500;
  font-size: 1.6rem;
}
.ec-modal .ec-modal-box .ec-role {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.5rem;
  padding: 0;
}
.ec-modal .ec-modal-box .ec-role:after {
  content: none;
}
.ec-modal .ec-modal-box .ec-role .ec-inlineBtn--action {
  background: #D05447;
  border: none;
}
@media screen and (min-width: 768px) {
  .ec-modal #ec-modal-header {
    font-size: 1.8rem;
  }
  .ec-modal .ec-modal-box .ec-role .ec-inlineBtn--cancel, .ec-modal .ec-modal-box .ec-role .ec-inlineBtn--action {
    width: 13em;
    padding: 1.3rem 2rem 1.4rem;
  }
  .ec-modal .ec-modal-box .ec-role .ec-inlineBtn--cancel:focus, .ec-modal .ec-modal-box .ec-role .ec-inlineBtn--action:focus {
    outline: none;
  }
}

.ec-layoutRole__footer {
  background: url(../img/common/bg.png) center top;
  background-size: 100%;
}

footer {
  padding: 3.4rem 3rem 2.6rem;
}
footer a {
  text-decoration: none;
}
footer .logo {
  width: 23rem;
  margin: 6.4rem auto 3.8rem;
}
footer .snsList {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0 2.3rem;
  margin: 0 0 5.4rem;
}
footer .snsList dt {
  width: 100%;
  text-align: center;
  font-size: 1.4rem;
  font-weight: 600;
  margin-bottom: 0.7em;
}
footer .snsList dd {
  width: 2.8rem;
}
footer .copyRight {
  font-size: 1rem;
  letter-spacing: 0.05em;
  text-align: center;
  opacity: 0.8;
}

@media screen and (min-width: 768px) {
  .ec-layoutRole__footer {
    background-size: 640px;
  }
  footer {
    padding: 5.4rem 8rem 3.5rem;
    margin: 0 auto;
    max-width: 1460px;
  }
  footer .otoiawaseList {
    display: flex;
    justify-content: center;
    gap: 0 3.2rem;
  }
  footer .otoiawaseList .otoiawaseArea {
    height: 100%;
    width: 100%;
    max-width: 542px;
    padding: 2.7rem 3rem 2rem;
    justify-content: flex-start;
  }
  footer .otoiawaseList .otoiawaseArea > div {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 2.5rem;
    padding: 2rem 0 0;
    flex: 1;
  }
  footer .otoiawaseList .otoiawaseArea .ttl {
    font-size: 2rem;
    line-height: 1.3;
    font-weight: 600;
    margin-bottom: 0;
  }
  footer .otoiawaseList .otoiawaseArea .tel {
    text-align: right;
    white-space: nowrap;
  }
  footer .otoiawaseList .otoiawaseArea .tel strong, footer .otoiawaseList .otoiawaseArea .tel a {
    font-size: 3.2rem;
  }
  footer .otoiawaseList .otoiawaseArea .tel span {
    font-size: 1.4rem;
  }
  footer .otoiawaseList .otoiawaseArea .tel span span {
    font-size: 1.3rem;
    display: inline-block;
    margin-right: -0.6em;
  }
  footer .otoiawaseList .otoiawaseArea .btn2 {
    height: 4.2rem;
    width: 24rem;
    font-size: 1.3rem;
    margin-top: 0;
    transition: opacity 0.26s;
  }
  footer .otoiawaseList .otoiawaseArea .btn2 i {
    width: 2.3rem;
    height: 2.3rem;
    margin: 0 0.9em 0 0.2em;
  }
}
@media screen and (min-width: 768px) and (any-hover: hover) {
  footer .otoiawaseList .otoiawaseArea .btn2:hover {
    opacity: 0.7;
  }
}
@media screen and (min-width: 768px) {
  footer .otoiawaseList .otoiawaseArea .fax .tel {
    padding-bottom: 0.2em;
  }
  footer .otoiawaseList .otoiawaseArea .fax .btn2 i {
    -webkit-mask-image: url(../img/common/i-download.svg);
            mask-image: url(../img/common/i-download.svg);
  }
  footer .fNavBox {
    display: flex !important;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0 6%;
    margin: 6rem 0 0;
  }
  footer .fNavBox dl {
    flex: 0.6;
    font-size: 1.4rem;
  }
  footer .fNavBox dl dt a {
    transition: color 0.26s;
  }
}
@media screen and (min-width: 768px) and (any-hover: hover) {
  footer .fNavBox dl dt a:hover {
    color: var(--color-sub);
  }
}
@media screen and (min-width: 768px) and (any-hover: hover) {
  footer .fNavBox dl dd a:hover {
    text-decoration: underline;
  }
}
@media screen and (min-width: 768px) {
  footer .fNavBox dl.flex {
    display: flex;
    flex-wrap: wrap;
    gap: 0 2.2em;
  }
  footer .fNavBox dl.flex dd {
    width: calc(50% - 1.3em);
    padding-left: 1em;
  }
  footer .fNavBox dl.flex:nth-child(1) {
    flex: 1;
  }
  footer .fNavBox dl.flex:nth-child(2) {
    flex: 1.8;
  }
  footer .fNavBox dt {
    font-size: 1.6rem;
    font-weight: bold;
    width: 100%;
    margin-bottom: 0.5em;
  }
  footer .fNavBox dd {
    margin-top: 0.4em;
  }
  footer .fNavBox dl:not(.flex) dt + dt {
    margin-top: 1em;
  }
  footer .fNavBox dl:not(.flex) dt + dd {
    margin-top: 2.6em;
  }
  footer .fNavBox dl:not(.flex) dd.small {
    font-size: 1.3rem;
  }
  footer .shopArea {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin: 8rem 0 6rem;
    gap: 0 7%;
  }
  footer .shopArea .leftArea {
    width: 31.4rem;
    padding-top: 2.5rem;
  }
  footer .shopArea .mapArea {
    flex: 1;
    aspect-ratio: 870/365;
    position: relative;
    border: #4C4C4C 1px solid;
  }
  footer .shopArea .mapArea iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    border: none;
  }
  footer .logo {
    width: 100%;
    margin: 0 0 3rem;
  }
  footer .snsList {
    justify-content: flex-start;
    gap: 0 1.9rem;
    margin: 0;
  }
  footer .snsList dt {
    width: auto;
    text-align: left;
    margin: 0 0.7em 0 0;
  }
  footer .copyRight {
    font-size: 1.2rem;
    letter-spacing: 0.05em;
  }
}
.mainSlideWrap .mainSlide {
  padding-bottom: 1.8rem;
  margin-bottom: 3.2rem;
}
.mainSlideWrap .mainSlide .slide-item {
  aspect-ratio: 760/540;
  position: relative;
  overflow: hidden;
  background: #000;
}
.mainSlideWrap .mainSlide .movie iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  pointer-events: none;
}
.mainSlideWrap .mainSlide .soundBtn {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 2;
  width: 4rem;
  height: 4rem;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.8);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mainSlideWrap .mainSlide .soundBtn .soundBtn__icon::before {
  content: "";
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  -webkit-mask-image: url(../img/top/volume-loud.svg);
          mask-image: url(../img/top/volume-loud.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  background: var(--color-primary);
}
.mainSlideWrap .mainSlide .soundBtn.is-on .soundBtn__icon::before {
  -webkit-mask-image: url(../img/top/mute.svg);
          mask-image: url(../img/top/mute.svg);
}
.mainSlideWrap .mainSlide .slick-dots {
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 0.5rem;
}
.mainSlideWrap .mainSlide .slick-dots li {
  width: 3.6rem;
  height: 0.3rem;
  margin: 0 !important;
}
.mainSlideWrap .mainSlide .slick-dots li button {
  background: #E3E3E3;
  width: 100%;
  height: 100%;
  padding: 0;
}
.mainSlideWrap .mainSlide .slick-dots li button:before {
  content: none;
}
.mainSlideWrap .mainSlide .slick-dots li.slick-active button {
  background: var(--color-sub);
}
@media screen and (min-width: 768px) {
  .mainSlideWrap {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    width: calc(100vw - var(--scrollBar));
  }
  .mainSlideWrap .mainSlide .slide-item {
    aspect-ratio: 1800/1000;
  }
  .mainSlideWrap .mainSlide .soundBtn {
    width: 4.6rem;
    height: 4.6rem;
    top: 1.4rem;
    right: 1.4rem;
  }
  .mainSlideWrap .mainSlide .soundBtn .soundBtn__icon::before {
    width: 3rem;
    height: 3rem;
  }
}
@media screen and (min-width: 960px) {
  .mainSlideWrap .mainSlide {
    padding-bottom: 2.4rem;
    margin-bottom: 7.6rem;
  }
  .mainSlideWrap .mainSlide .slick-dots {
    gap: 0 0.8rem;
  }
  .mainSlideWrap .mainSlide .slick-dots li {
    width: 7rem;
  }
  .mainSlideWrap .mainSlide .slick-slide {
    width: min(82vw, 900px);
    margin: 0 0.6rem;
  }
}

#page_homepage .ec-layoutRole__main {
  padding-bottom: 0 !important;
}
#page_homepage .topImg {
  overflow: hidden;
  width: 100%;
  margin-bottom: 0;
  transform: none;
  opacity: 1;
  transition: opacity 1.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
#page_homepage .topImg img {
  width: 110%;
  max-width: 110%;
  margin: 0 -5%;
}
@media screen and (min-width: 768px) {
  #page_homepage .topImg {
    margin-bottom: 0;
    opacity: 0;
    position: relative;
    width: 100vw;
    width: calc(100vw - var(--scrollBar));
    left: 50%;
    transform: translateX(-50%);
  }
  #page_homepage .topImg.scrolled {
    opacity: 1;
  }
  #page_homepage .topImg img {
    width: 100%;
    max-width: 100%;
    margin: 0;
  }
}
#page_homepage h2 {
  font-size: 2.2rem;
  line-height: 1.4;
  font-weight: 500;
  text-align: center;
  margin-bottom: 1.6em;
}
@media screen and (min-width: 768px) {
  #page_homepage h2 {
    font-size: 3.2rem;
    margin-bottom: 3.13vw;
  }
}
#page_homepage section.category {
  position: relative;
  padding: 6.4rem 2rem 2.5rem;
}
#page_homepage section.category:before {
  content: "";
  display: block;
  width: 100vw;
  height: 16.3rem;
  background: var(--bg1);
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  z-index: -1;
}
#page_homepage section.category ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 0.5rem;
}
#page_homepage section.category ul a {
  text-decoration: none;
  height: 5.5rem;
  position: relative;
}
#page_homepage section.category ul a:before {
  content: "";
  display: block;
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  position: absolute;
  left: 2px;
  top: 2px;
  z-index: 3;
  border: #fff 1px solid;
  opacity: 0.6;
}
#page_homepage section.category ul a:after {
  content: "";
  display: block;
  width: 50%;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 2;
  opacity: 0.13;
  background: url(../img/top/maruho_mark_w.png) no-repeat right top;
  background-size: auto 100%;
}
#page_homepage section.category ul a {
  transition: opacity 0.26s;
}
@media (any-hover: hover) {
  #page_homepage section.category ul a:hover {
    opacity: 0.7;
  }
}
#page_homepage section.category ul h3 {
  font-size: 1.4rem;
  font-weight: 500;
  text-align: center;
  width: 100%;
}
#page_homepage section.category ul li {
  margin-bottom: 0.5rem;
}
#page_homepage section.category ul li a {
  background: var(--color-primary);
  color: #fff;
  text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.35);
  display: flex;
  justify-content: center;
  align-items: center;
}
#page_homepage section.category ul li.img {
  grid-column: 1/-1;
  margin-bottom: 1rem;
}
#page_homepage section.category ul li.img:not(:has(~ li.img)) {
  margin-bottom: 1.8rem;
}
#page_homepage section.category ul li.img .img {
  overflow: hidden;
  backface-visibility: hidden;
  will-change: transform;
  transform: translateZ(0) scale(1);
  position: relative;
  z-index: 1;
}
#page_homepage section.category ul li.img img {
  aspect-ratio: 340/134;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.4s ease;
}
#page_homepage section.category ul li.img a {
  background: none;
  height: auto;
}
#page_homepage section.category ul li.img a:before {
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  left: 4px;
  top: 4px;
}
#page_homepage section.category ul li.img a:after {
  content: none;
}
@media (any-hover: hover) {
  #page_homepage section.category ul li.img a:hover {
    opacity: 1;
  }
  #page_homepage section.category ul li.img a:hover .img img {
    transform: scale(1.05);
    opacity: 0.9;
  }
}
#page_homepage section.category ul li.img h3 {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 10;
  transform: translate(-50%, -50%);
  font-size: 2.8rem;
  line-height: 1.3;
}
#page_homepage section.category ul li.img h3 span {
  font-size: 1.5rem;
  display: block;
  margin: -0.1em 0 0.3em;
}
@media screen and (min-width: 768px) {
  #page_homepage section.category {
    padding: min(8.75vw, 140px) 0 0;
  }
  #page_homepage section.category:before {
    content: none;
  }
  #page_homepage section.category ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
  }
  #page_homepage section.category ul a {
    height: 7.6rem;
  }
  #page_homepage section.category ul a:before {
    width: calc(100% - 8px);
    height: calc(100% - 8px);
    left: 4px;
    top: 4px;
  }
  #page_homepage section.category ul h3 {
    font-size: 1.9rem;
  }
  #page_homepage section.category ul li {
    width: 24%;
    margin-right: 1.33%;
  }
  #page_homepage section.category ul li:last-child {
    margin-right: 0;
  }
  #page_homepage section.category ul li.img {
    width: 31.6%;
    margin-right: 2.6%;
  }
  #page_homepage section.category ul li.img:not(:has(~ li.img)) {
    margin-right: 0;
    margin-bottom: 3.8rem;
  }
  #page_homepage section.category ul li.img img {
    aspect-ratio: 450/220;
  }
  #page_homepage section.category ul li.img a:before {
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    left: 5px;
    top: 5px;
  }
  #page_homepage section.category ul li.img h3 {
    font-size: 3.2rem;
    line-height: 1.3;
  }
  #page_homepage section.category ul li.img h3 span {
    font-size: 1.6rem;
    margin: 0 0 0.4em;
  }
}
#page_homepage section.category .pdf a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 31.4rem;
  height: 11.3rem;
  margin: 5rem auto 0;
  overflow: hidden;
  text-decoration: none;
  text-align: center;
  transition: opacity 0.3s;
  color: var(--color-primary);
  background: #fff;
  box-shadow: 2px 2px 1px 0 rgba(0, 0, 0, 0.1);
}
#page_homepage section.category .pdf a:before, #page_homepage section.category .pdf a:after {
  content: "";
  display: block;
  width: 16.4rem;
  height: 16.4rem;
  opacity: 0.3;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
  transform: translate(-50%, -50%);
  background: var(--color-primary);
  -webkit-mask-image: url(../img/top/koushi.svg);
          mask-image: url(../img/top/koushi.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
#page_homepage section.category .pdf a:after {
  left: auto;
  top: auto;
  right: 0;
  bottom: 0;
  transform: translate(50%, 50%);
}
@media (any-hover: hover) {
  #page_homepage section.category .pdf a:hover {
    opacity: 0.8;
  }
}
#page_homepage section.category .pdf * {
  position: relative;
  z-index: 5;
}
#page_homepage section.category .pdf .txt {
  font-size: 1.3rem;
  font-weight: 600;
  line-height: 1.5;
}
#page_homepage section.category .pdf .btn2 {
  border: rgba(var(--color-primary2), 0.6) 1px solid;
  background: #fff;
  width: 26.4rem;
  height: 3.7rem;
  margin-top: 1.1rem;
  transition: background 0.3s;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 1.2rem;
  font-size: 1.3rem;
  font-weight: 600;
  color: var(--color-primary);
}
#page_homepage section.category .pdf .btn2 i {
  width: 2.1rem;
  height: 2.1rem;
  margin-right: -1.6rem;
  background: var(--color-primary);
  -webkit-mask-image: url(../img/common/i-download.svg);
          mask-image: url(../img/common/i-download.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
@media (any-hover: hover) {
  #page_homepage section.category .pdf .btn2:hover {
    opacity: 1;
  }
}
@media screen and (min-width: 768px) {
  #page_homepage section.category .pdf {
    margin: 6rem auto 0;
    padding: 2.5rem 0;
    width: 95.4rem;
    position: relative;
  }
  #page_homepage section.category .pdf:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: var(--bg1);
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
  }
  #page_homepage section.category .pdf a {
    flex-direction: row;
    gap: 0 3.6rem;
    padding: 1rem 3.5rem;
    width: 84rem;
    height: 9.6rem;
    margin: 0 auto;
  }
  #page_homepage section.category .pdf a:before {
    content: none;
  }
  #page_homepage section.category .pdf a:after {
    width: 19rem;
    height: 19rem;
    right: auto;
    left: 0;
    bottom: 0.4rem;
    transform: translate(-50%, 0);
  }
  #page_homepage section.category .pdf .txt {
    font-size: 1.6rem;
  }
  #page_homepage section.category .pdf .btn2 {
    width: 29rem;
    height: 5.4rem;
    margin: 0;
    font-size: 1.6rem;
  }
  #page_homepage section.category .pdf .btn2 i {
    width: 2.3rem;
    height: 2.3rem;
  }
}
#page_homepage section.gift {
  padding: 6.5rem 2.3rem 1rem;
  position: relative;
}
#page_homepage section.gift:after {
  content: "";
  display: block;
  width: 27.4rem;
  height: 27.4rem;
  position: absolute;
  right: -4.3rem;
  bottom: 15rem;
  z-index: -1; /* opacity: 0.4; */
  background: url(../img/top/koushi2.svg) no-repeat center;
  background-size: contain;
}
#page_homepage section.gift h2 {
  margin-bottom: 3.5rem;
}
#page_homepage section.gift h2 img {
  width: 7.4rem;
  margin: 0 auto 1.5rem;
  display: block;
}
#page_homepage section.gift .txt {
  font-size: 1.4rem;
  line-height: 2.1;
  width: 31.2rem;
  margin: 0 auto 3.2rem;
}
#page_homepage section.gift .btn2 {
  border: rgba(var(--color-text2), 0.6) 1px solid;
  background: #fff;
  width: 27rem;
  height: 5rem;
  margin: 0 auto 4.6rem;
  font-size: 1.5rem;
  transition: opacity 0.26s;
}
@media (any-hover: hover) {
  #page_homepage section.gift .btn2:hover {
    opacity: 0.7;
  }
}
@media screen and (min-width: 768px) {
  #page_homepage section.gift {
    padding: min(10.63vw, 170px) 0 min(8.13vw, 130px);
  }
  #page_homepage section.gift:after {
    width: 21.5vw;
    height: 21.5vw;
    right: -9.56vw;
    top: 0;
    bottom: auto;
  }
  #page_homepage section.gift {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0 6.7%;
  }
  #page_homepage section.gift h2 {
    margin-bottom: 5.6rem;
    text-align: left;
  }
  #page_homepage section.gift h2 span {
    display: inline-block;
  }
  #page_homepage section.gift h2 img {
    margin-bottom: 2rem;
  }
  #page_homepage section.gift .txt {
    font-size: 1.6rem;
    line-height: 2.1;
    width: auto;
    margin: 0 0 5rem;
  }
  #page_homepage section.gift .btn2 {
    width: 29.4rem;
    height: 5.6rem;
    margin: 0;
    font-size: 1.6rem;
  }
  #page_homepage section.gift img {
    width: 54%;
  }
}
#page_homepage section.rankBox {
  padding: 8.5rem 0 7.5rem;
  position: relative;
}
#page_homepage section.rankBox:before {
  content: "";
  display: block;
  width: 100vw;
  width: calc(100vw - var(--scrollBar));
  height: 100%;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  z-index: -1;
  background: url(../img/top/bg_rank.png) center top;
  background-size: 50%;
}
#page_homepage section.rankBox h2 {
  text-align: center;
  font-size: 2.4rem;
}
#page_homepage section.rankBox h2 span {
  position: relative;
  display: inline-block;
}
#page_homepage section.rankBox h2 span:before, #page_homepage section.rankBox h2 span:after {
  content: "";
  display: block;
  width: 8rem;
  height: 0.4rem;
  opacity: 0.5;
  border: var(--color-text) 1px solid;
  border-left: none;
  border-right: none;
  transform: skew(60deg) translate(-100%, -50%);
  position: absolute;
  left: -0.5rem;
  top: 54%;
}
#page_homepage section.rankBox h2 span:after {
  transform: skew(-60deg) translate(100%, -50%);
  position: absolute;
  left: auto;
  right: -0.5rem;
  top: 54%;
}
@media screen and (min-width: 768px) {
  #page_homepage section.rankBox {
    padding: 7.5vw 0 6.25vw;
  }
  #page_homepage section.rankBox:before {
    background-size: 444px;
  }
  #page_homepage section.rankBox h2 {
    font-size: 3.2rem;
  }
  #page_homepage section.rankBox h2 span:before, #page_homepage section.rankBox h2 span:after {
    width: 22rem;
    height: 0.6rem;
    left: -3rem;
    top: 54%;
  }
  #page_homepage section.rankBox h2 span:after {
    left: auto;
    right: -3rem;
    top: 54%;
  }
}
#page_homepage section.rankBox ul {
  display: flex;
  gap: 0 2.5rem;
  overflow-x: auto;
  padding: 1.1rem 0 0.4rem;
}
#page_homepage section.rankBox ul:before, #page_homepage section.rankBox ul:after {
  content: "";
  display: block;
  padding-left: 0.5rem;
}
#page_homepage section.rankBox ul a {
  text-decoration: none;
}
#page_homepage section.rankBox ul li {
  width: 18.4rem;
  flex-shrink: 0;
  position: relative;
}
#page_homepage section.rankBox ul li .rankNum {
  width: 6.6rem;
  height: 2.5rem;
  position: absolute;
  left: -0.6rem;
  top: -1.1rem;
  z-index: 10;
  background: #A39EAC;
  -webkit-mask-image: url(../img/top/rank.svg);
          mask-image: url(../img/top/rank.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  color: #fff;
  font-size: 1.6rem;
  line-height: 1.1;
  display: flex;
  justify-content: center;
  align-items: center;
}
#page_homepage section.rankBox ul li.rank1 .rankNum {
  background: #CFAF70;
}
#page_homepage section.rankBox ul li.rank2 .rankNum {
  background: #9EAAAE;
}
#page_homepage section.rankBox ul li.rank3 .rankNum {
  background: #C29173;
}
#page_homepage section.rankBox ul li img {
  aspect-ratio: 1/1;
  -o-object-fit: contain;
     object-fit: contain;
  background: #fff;
}
#page_homepage section.rankBox ul li .name {
  font-size: 1.5rem;
  line-height: 1.5;
  margin: 0.8em 0 0.5em;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
#page_homepage section.rankBox ul li .price {
  display: flex;
  align-items: flex-end;
  gap: 0 0.9rem;
}
#page_homepage section.rankBox ul li .price strong {
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: 0;
  display: inline-block;
  margin-right: 0.1em;
  white-space: nowrap;
}
#page_homepage section.rankBox ul li .price {
  font-size: 1.3rem;
}
#page_homepage section.rankBox ul li .price span.tax {
  font-size: 1.2rem;
  display: inline-block;
  padding-left: 0.2em;
}
#page_homepage section.rankBox ul li .price .normal {
  font-size: 1rem;
  padding-bottom: 0.2rem;
}
#page_homepage section.rankBox ul li .price .normal span:first-child {
  display: block;
  font-size: 0.9rem;
  line-height: 1.5;
}
#page_homepage section.rankBox ul li .price .normal strong {
  font-size: 1.4rem;
  text-decoration: line-through;
}
#page_homepage section.rankBox ul li .price .normal + p {
  color: var(--attention);
}
@media screen and (min-width: 768px) {
  #page_homepage section.rankBox ul {
    position: relative;
    width: 100vw;
    width: calc(100vw - var(--scrollBar));
    left: 50%;
    transform: translateX(-50%);
    padding: 1.3rem 0 1rem;
    gap: 0 2.5vw;
    scrollbar-width: none;
    cursor: grab;
  }
  #page_homepage section.rankBox ul.is-dragging {
    cursor: grabbing;
  }
  #page_homepage section.rankBox ul::-webkit-scrollbar {
    display: none;
  }
  #page_homepage section.rankBox ul:before, #page_homepage section.rankBox ul:after {
    padding-left: 3.13vw;
  }
  #page_homepage section.rankBox ul img, #page_homepage section.rankBox ul a {
    -webkit-user-drag: none;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
  }
  #page_homepage section.rankBox ul li {
    width: 17.5vw;
    max-width: 320px;
  }
  #page_homepage section.rankBox ul li .rankNum {
    width: 8rem;
    height: 3rem;
    left: -0.7rem;
    top: -1.3rem;
    font-size: 2rem;
  }
  #page_homepage section.rankBox ul li .name {
    font-size: min(1.28vw, 1.7rem);
    line-height: 1.6;
    margin: 1em 0 0.6em;
  }
  #page_homepage section.rankBox ul li .price {
    gap: 0 0.7rem;
    line-height: 1.1;
    flex-wrap: wrap;
  }
  #page_homepage section.rankBox ul li .price strong {
    font-size: min(1.54vw, 2rem);
    margin-right: 0.1em;
  }
  #page_homepage section.rankBox ul li .price {
    font-size: min(1.09vw, 1.4rem);
  }
  #page_homepage section.rankBox ul li .price span.tax {
    font-size: min(1vw, 1.3rem);
  }
  #page_homepage section.rankBox ul li .price .normal {
    font-size: min(0.86vw, 1.1rem);
    padding-bottom: 0.1rem;
    display: flex;
    align-items: center;
  }
  #page_homepage section.rankBox ul li .price .normal span:first-child {
    display: inline-block;
    font-size: min(0.86vw, 1.1rem);
    line-height: 1.5;
    margin-right: 0.4em;
  }
  #page_homepage section.rankBox ul li .price .normal strong {
    font-size: min(1.25vw, 1.6rem);
  }
}
#page_homepage section.noridukuri {
  padding: 9rem 0 25.6rem;
  color: #fff;
  position: relative;
}
#page_homepage section.noridukuri:before {
  content: "";
  display: block;
  width: 100vw;
  width: calc(100vw - var(--scrollBar));
  height: 100%;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  z-index: -1;
  background: url(../img/top/bg_nori_sp.jpg) no-repeat center;
  background-size: cover;
}
#page_homepage section.noridukuri {
  text-align: center;
}
#page_homepage section.noridukuri h2 {
  font-size: 2rem;
  font-weight: 400;
  line-height: 2.2;
}
#page_homepage section.noridukuri p.txt {
  font-size: 1.3rem;
  letter-spacing: 0.06em;
  line-height: 2.2;
  margin: 5.2rem 0 5rem;
}
#page_homepage section.noridukuri .linkbtn {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
  text-decoration: none;
  margin: 0 auto;
  width: 18.8rem;
  height: 5rem;
  border-bottom: rgba(255, 255, 255, 0.6) 1px solid;
  font-size: 1.7rem;
  padding: 0 1.2rem;
}
#page_homepage section.noridukuri .linkbtn:after {
  content: "";
  display: block;
  width: 0.7rem;
  height: 0.7rem;
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%) rotate(-90deg);
  background: #fff;
  -webkit-mask-image: url(../img/common/arrow.svg);
          mask-image: url(../img/common/arrow.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media screen and (min-width: 768px) {
  #page_homepage section.noridukuri {
    padding: min(14.37vw, 230px) 0 min(23.75vw, 380px);
  }
  #page_homepage section.noridukuri:before {
    background-image: url(../img/top/bg_nori_pc.jpg);
  }
  #page_homepage section.noridukuri h2 {
    font-size: 3.3rem;
    line-height: 1.1;
  }
  #page_homepage section.noridukuri p.txt {
    font-size: 1.7rem;
    letter-spacing: 0.06em;
    line-height: 2.2;
    margin: 3.5vw 0 4.38vw;
  }
  #page_homepage section.noridukuri .linkbtn {
    width: 21rem;
    height: 5.4rem;
    font-size: 1.9rem;
    padding: 0 1rem;
    transition: opacity 0.26s;
  }
  #page_homepage section.noridukuri .linkbtn:after {
    right: 1.2rem;
  }
}
@media screen and (min-width: 768px) and (any-hover: hover) {
  #page_homepage section.noridukuri .linkbtn:hover {
    opacity: 0.7;
  }
}
#page_homepage section.noridukuri2 {
  padding: 9rem 3.4rem 8.3rem;
}
#page_homepage section.noridukuri2 h2 {
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.6;
  text-align: center;
  margin-bottom: 1.5em;
}
#page_homepage section.noridukuri2 .txt {
  font-size: 1.4rem;
  line-height: 2.1;
  text-align: justify;
}
#page_homepage section.noridukuri2 img {
  display: block;
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  #page_homepage section.noridukuri2 {
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
    align-items: center;
    gap: 0 10.6rem;
    padding: min(10.63vw, 170px) 0 min(11.25vw, 180px);
  }
  #page_homepage section.noridukuri2 h2 {
    font-size: 3.3rem;
    text-align: left;
    margin-bottom: 1.5em;
  }
  #page_homepage section.noridukuri2 .txt {
    font-size: 1.6rem;
    line-height: 2.3;
    text-align: left;
  }
  #page_homepage section.noridukuri2 img {
    margin: 0;
    width: 42.375vw;
    max-width: 678px;
  }
  #page_homepage section.noridukuri2 .txtBox {
    flex: 1;
  }
}
#page_homepage section.recommended {
  padding: 6.7rem 2rem 6.5rem;
  margin-top: 8.2rem;
  position: relative;
}
#page_homepage section.recommended:before {
  content: "";
  display: block;
  width: 100vw;
  width: calc(100vw - var(--scrollBar));
  height: 100%;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  z-index: -1;
  background: var(--bg2);
}
#page_homepage section.recommended h2 {
  writing-mode: vertical-rl;
  margin: 0 auto 4.5rem;
  padding: 0 2.1rem 3.8rem;
  font-size: 2.5rem;
  line-height: 1.6;
  letter-spacing: 0.07em;
  text-indent: -3em;
  position: relative;
  z-index: 10;
}
#page_homepage section.recommended h2:before, #page_homepage section.recommended h2:after {
  content: "";
  display: block;
  width: 1.1rem;
  height: 15.3rem;
  position: absolute;
  background: url(../img/top/parts.svg) no-repeat;
  background-size: contain;
}
#page_homepage section.recommended h2:before {
  right: 0;
  top: -8.4rem;
}
#page_homepage section.recommended h2:after {
  left: 0;
  bottom: 0;
  transform: scale(-1, -1);
}
#page_homepage section.recommended .itemList {
  padding: 0;
  position: relative;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  #page_homepage section.recommended {
    padding: min(8.13vw, 130px) min(3.75vw, 60px) min(7.5vw, 120px) 0;
    margin-top: min(7.5vw, 120px);
    gap: 0 min(7.5vw, 120px);
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
  }
  #page_homepage section.recommended:after {
    content: "";
    display: block;
    width: 38.4rem;
    height: 39rem;
    position: absolute;
    left: 0;
    top: -7.8rem;
    transform: translateX(-40%);
    z-index: 1;
    opacity: 0.04;
    background: url(../img/top/maruho_mark.png) no-repeat center;
    background-size: contain;
  }
  #page_homepage section.recommended h2 {
    margin: min(13.63vw, 218px) 0 0;
    padding: 0 4rem 5.7rem;
    font-size: 3.7rem;
    line-height: 1.6;
    letter-spacing: 0.08em;
    text-indent: -5.5em;
  }
  #page_homepage section.recommended h2:before, #page_homepage section.recommended h2:after {
    width: 1.6rem;
    height: 22.4rem;
  }
  #page_homepage section.recommended h2:before {
    top: -16rem;
  }
  #page_homepage section.recommended .itemList {
    width: 69%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: min(4.25vw, 68px) min(3.13vw, 50px);
  }
}
#page_homepage section.newsBox {
  padding: 9rem 1.9rem 14.8rem;
  position: relative;
}
#page_homepage section.newsBox:before {
  content: "";
  display: block;
  width: 22rem;
  height: 23.4rem;
  position: absolute;
  left: -4.2rem;
  top: -3.5rem;
  z-index: -10;
  opacity: 0.04;
  background: url(../img/top/maruho_mark.png) no-repeat center;
  background-size: contain;
}
#page_homepage section.newsBox .btn2 {
  position: absolute;
  left: 50%;
  bottom: 7.5rem;
  transform: translateX(-50%);
  font-size: 1.4rem;
  width: 6em;
  height: 3.6rem;
  border-bottom: rgba(var(--color-text2), 0.6) 1px solid;
}
#page_homepage section.newsBox .newsList {
  margin-top: -1rem;
}
@media screen and (min-width: 768px) {
  #page_homepage section.newsBox {
    max-width: 1050px;
    margin: 0 auto;
    padding: min(6.88vw, 110px) 0 min(11.88vw, 190px);
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 0 8.6%;
  }
  #page_homepage section.newsBox:before {
    width: 38.4rem;
    height: 39rem;
    left: 8rem;
    top: -3.4rem;
    transform: translate(-100%, 0);
  }
  #page_homepage section.newsBox h2 {
    margin: -1rem 0 4rem;
  }
  #page_homepage section.newsBox .btn2 {
    position: relative;
    left: auto;
    bottom: auto;
    transform: none;
    margin-left: auto;
  }
  #page_homepage section.newsBox .newsList {
    flex: 1;
  }
  #page_homepage section.newsBox .newsList > li {
    border: none;
    min-height: 0;
    align-items: flex-start;
    padding: 1.1rem 0;
  }
}
#page_homepage section.movie {
  background: var(--bg2);
  padding: 4.8rem 1.6rem 4.6rem;
}
#page_homepage section.movie ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.7rem;
}
#page_homepage section.movie ul li {
  position: relative;
}
#page_homepage section.movie ul li:after {
  content: "";
  display: block;
  width: 3.4rem;
  height: 3.4rem;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: url(../img/top/play.svg) no-repeat center;
  background-size: contain;
}
#page_homepage section.movie ul li img {
  aspect-ratio: 16/9;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
#page_homepage section.movie ul li {
  transition: opacity 0.26s;
}
@media (any-hover: hover) {
  #page_homepage section.movie ul li:hover {
    opacity: 0.8;
  }
}
#page_homepage section.movie .btnP {
  background: var(--color-text);
  width: 26.6rem;
  height: 6rem;
  margin: 4rem auto 0;
  padding: 1px;
}
#page_homepage section.movie .btnP a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 1.2rem;
  height: 100%;
  text-decoration: none;
  background: #fff;
  border-radius: 7px;
  font-size: 1.4rem;
  line-height: 1.4;
  font-weight: 600;
  transition: opacity 0.26s;
}
#page_homepage section.movie .btnP a img {
  width: 3.2rem;
}
@media (any-hover: hover) {
  #page_homepage section.movie .btnP a:hover {
    opacity: 0.95;
  }
}
@media screen and (min-width: 768px) {
  #page_homepage section.movie {
    background: none;
    padding: 0;
    position: relative;
  }
  #page_homepage section.movie:before {
    content: "";
    display: block;
    width: 78vw;
    height: calc(100% - 8.13vw - 2rem);
    position: absolute;
    left: 50%;
    top: 8.13vw;
    z-index: -1;
    transform: translateX(-50%);
    background: var(--bg2);
  }
  #page_homepage section.movie ul {
    margin: 3.75vw auto 0;
    position: relative;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5vw 4.3%;
  }
  #page_homepage section.movie ul li:after {
    width: 3.38vw;
    height: 3.38vw;
  }
  #page_homepage section.movie .btnP {
    width: 36.4rem;
    height: 6.6rem;
    margin: 4.19vw auto 0;
  }
  #page_homepage section.movie .btnP a {
    gap: 0 1rem;
    font-size: 1.6rem;
  }
  #page_homepage section.movie .btnP a img {
    width: 3.4rem;
  }
}
#page_homepage section.shop {
  padding: 8rem 3rem 7rem;
}
#page_homepage section.shop .shopImg {
  width: 34.4rem;
  max-width: none;
  position: relative;
  left: 50%;
  transform: translateX(-50%) translateY(2rem);
}
#page_homepage section.shop .shopImg.scrolled {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
#page_homepage section.shop .jp {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  #page_homepage section.shop {
    padding: min(12.5vw, 200px) 0 min(11.25vw, 180px);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 7.7%;
  }
  #page_homepage section.shop .shopImg {
    width: 50vw;
    width: calc((100vw - var(--scrollBar)) / 2);
    max-width: 800px;
    left: auto;
    transform: translateY(2rem);
    margin-left: max(-5.63vw, -90px);
  }
  #page_homepage section.shop .shopImg.scrolled {
    opacity: 1;
    transform: none;
  }
  #page_homepage section.shop .jp {
    flex: 1;
    margin: 0;
  }
  #page_homepage section.shop h2 {
    text-align: left;
    font-family: var(--font-min);
    margin-bottom: 2vw;
  }
}
#page_homepage section.shop .address a {
  width: 8.4rem;
  height: 2.2rem;
  background: var(--color-primary);
  color: #fff;
  text-decoration: none;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 0 0.4rem;
  font-size: 0.9rem;
  line-height: 1.2;
  margin-left: 1.6rem;
}
#page_homepage section.shop .address a img {
  width: 1.2rem;
}
@media screen and (min-width: 768px) {
  #page_homepage section.shop .address a {
    width: 10.7rem;
    height: 2.6rem;
    font-size: 1.1rem;
    line-height: 1.2;
    margin-left: 1.6rem;
  }
  #page_homepage section.shop .address a img {
    width: 1.5rem;
  }
  #page_homepage section.shop .address a {
    transition: opacity 0.26s;
  }
}
@media screen and (min-width: 768px) and (any-hover: hover) {
  #page_homepage section.shop .address a:hover {
    opacity: 0.7;
  }
}
#page_homepage section.shop .tel {
  display: flex;
  align-items: center;
  font-size: 1.3rem;
  margin-top: 1.4rem;
  margin-right: -1.5em;
  white-space: nowrap;
}
#page_homepage section.shop .tel a {
  text-decoration: none;
}
#page_homepage section.shop .tel .ttl {
  font-size: 1rem;
  line-height: 1.1;
  color: var(--color-primary);
  border: var(--color-sub) 1px solid;
  margin-right: 1rem;
  width: 4.4rem;
  height: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
#page_homepage section.shop .tel .ttl:last-of-type {
  margin-left: 2rem;
}
#page_homepage section.shop .time {
  font-size: 1.3rem;
  margin-top: 2.5rem;
  display: flex;
  align-items: flex-start;
  gap: 1.2em;
}
@media screen and (min-width: 768px) {
  #page_homepage section.shop .tel {
    font-size: 1.7rem;
    line-height: 1.3;
    margin-top: 1.3rem;
  }
  #page_homepage section.shop .tel .ttl {
    font-size: 1.2rem;
    line-height: 1.5;
    margin-right: 1.2rem;
    width: 5rem;
    height: 2.3rem;
    padding-top: 0.1em;
  }
  #page_homepage section.shop .tel .ttl:last-of-type {
    margin-left: 3.7rem;
  }
  #page_homepage section.shop .time {
    font-size: 1.6rem;
    margin-top: 4.5rem;
  }
}
#page_homepage section.shop .carenderArea {
  width: 26.6rem;
  margin: 5.4rem auto 0;
}
#page_homepage section.shop .carenderArea .title {
  display: flex;
  align-items: center;
  gap: 0 1.3rem;
  font-size: 1.6rem;
  line-height: 1.2;
  font-weight: bold;
  margin-bottom: 1.1em;
  counter-reset: var(--color-primary);
}
#page_homepage section.shop .carenderArea .title img {
  width: 2rem;
}
#page_homepage section.shop .carenderArea .ec-calendar {
  font-size: 1.4rem;
  line-height: 1.1;
}
#page_homepage section.shop .carenderArea .ec-calendar > div {
  border: #D1D1D1 1px solid;
  padding: 0.9rem 0.8rem;
}
#page_homepage section.shop .carenderArea .ec-calendar > div:last-child {
  display: none;
}
#page_homepage section.shop .carenderArea .ec-calendar__month td {
  border: none;
}
#page_homepage section.shop .carenderArea .ec-calendar .ec-calendar__sun {
  color: var(--attention);
}
#page_homepage section.shop .carenderArea .ec-calendar .ec-calendar__sat {
  color: var(--color-sub);
}
#page_homepage section.shop .carenderArea .ec-calendar .ec-calendar__day {
  background: #F0F0F0;
  color: var(--color-text);
}
#page_homepage section.shop .carenderArea .ec-calendar .ec-calendar__day:empty {
  background: none;
  border: none;
}
#page_homepage section.shop .carenderArea .ec-calendar .ec-calendar__today {
  background: #D7F2F9;
  color: var(--color-text);
}
#page_homepage section.shop .carenderArea .ec-calendar .ec-calendar__today:before {
  content: none;
}
#page_homepage section.shop .carenderArea .ec-calendar .ec-calendar__holiday {
  background: #FDE1EB;
  color: #E53E7B;
  font-weight: bold;
}
#page_homepage section.shop .carenderArea .ec-calendar table {
  width: 100%;
  border-spacing: 2px;
  border-collapse: separate;
}
#page_homepage section.shop .carenderArea .ec-calendar__month {
  margin: 0;
}
#page_homepage section.shop .carenderArea .ec-calendar__month th {
  background: none;
  border: none;
  font-weight: 400;
  padding: 0.6rem 0;
  opacity: 0.9;
}
#page_homepage section.shop .carenderArea .ec-calendar__month td {
  padding: 0.8rem 0;
}
#page_homepage section.shop .carenderArea .ec-calendar th.ec-calendar__title {
  padding: 0.4rem 0 1.5rem;
  color: var(--color-primary);
  font-size: 2.1rem;
  line-height: 1.1;
}
#page_homepage section.shop .carenderArea .ec-calendar th.ec-calendar__title span {
  font-size: 1.8rem;
  display: inline-block;
  margin-right: 0.2em;
}
#page_homepage section.shop .carenderArea .txtInfo {
  margin-top: 1.6rem;
  display: flex;
  align-items: center;
  font-size: 1.3rem;
}
#page_homepage section.shop .carenderArea .txtInfo:before {
  content: "";
  display: inline-block;
  width: 3.8rem;
  height: 2rem;
  background: #FDE1EB;
  margin-right: 1.2rem;
}
@media screen and (min-width: 768px) {
  #page_homepage section.shop .carenderArea {
    width: 100%;
    margin: 4.4rem auto 0;
  }
  #page_homepage section.shop .carenderArea .title {
    margin-bottom: 1em;
  }
  #page_homepage section.shop .carenderArea .ec-calendar {
    gap: 0 3.6%;
    margin: 0;
    flex-wrap: nowrap;
  }
  #page_homepage section.shop .carenderArea .ec-calendar > div {
    flex: 1;
    max-width: 266px;
  }
  #page_homepage section.shop .carenderArea .ec-calendar > div:last-child {
    display: block;
  }
  #page_homepage section.shop .carenderArea .ec-calendar__month td {
    padding: 0.7rem 0;
  }
  #page_homepage section.shop .carenderArea .ec-calendar th.ec-calendar__title {
    padding: 0rem 0 1.3rem;
  }
}

.ec-searchnavRole .ec-searchnavRole__infos {
  padding: 0 1.7rem 0 2rem;
  margin-bottom: 2.2rem;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-end;
}
.ec-searchnavRole .ec-searchnavRole__counter {
  font-size: 1.6rem;
  line-height: 1.4;
  margin: 0;
  padding-bottom: 0.3em;
}
.ec-searchnavRole .ec-searchnavRole__counter strong {
  font-weight: bold;
  display: inline-block;
  margin: 0 0.3em;
}
.ec-searchnavRole .ec-searchnavRole__actions p {
  font-size: 1.2rem;
  margin-bottom: 0.3em;
}
.ec-searchnavRole .ec-searchnavRole__actions .ec-select {
  margin: 0;
  text-align: left;
}
.ec-searchnavRole .ec-searchnavRole__actions .ec-select select {
  width: 100%;
  height: 4.4rem;
}
@media screen and (min-width: 768px) {
  .ec-searchnavRole {
    padding: 0;
    font-size: 1.6rem;
    color: var(--color-text);
    max-width: none;
  }
  .ec-searchnavRole .ec-searchnavRole__infos {
    padding: 0;
    margin-bottom: 4rem;
    max-width: 100%;
    border: none;
  }
  .ec-searchnavRole .ec-searchnavRole__infos:after {
    content: none;
  }
  .ec-searchnavRole .ec-searchnavRole__counter {
    font-size: 1.7rem;
    padding-bottom: 0.3em;
  }
  .ec-searchnavRole .ec-searchnavRole__actions {
    width: auto;
  }
  .ec-searchnavRole .ec-searchnavRole__actions .ec-select {
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
  .ec-searchnavRole .ec-searchnavRole__actions .ec-select select {
    width: 19rem;
  }
  .ec-searchnavRole .ec-searchnavRole__actions p {
    font-size: 1.3rem;
    margin: 0 1em 0 0;
    white-space: nowrap;
  }
}

.ec-pager {
  margin: 6rem 0 0;
  padding: 0 0 1.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.6rem 1.8rem;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.1;
}
.ec-pager .ec-pager__item, .ec-pager .ec-pager__item--active {
  width: 1.5em;
  height: 2.8em;
  min-width: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background: none;
  border-bottom: #fff 2px solid;
}
.ec-pager .ec-pager__item:hover, .ec-pager .ec-pager__item--active:hover {
  background: none;
}
@media (any-hover: hover) {
  .ec-pager .ec-pager__item:hover, .ec-pager .ec-pager__item--active:hover {
    color: var(--color-sub);
  }
}
.ec-pager .ec-pager__item a, .ec-pager .ec-pager__item--active a {
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}
.ec-pager .ec-pager__item--active {
  border-bottom: var(--color-primary) 2px solid;
}
.ec-pager .prev, .ec-pager .next {
  width: 3.2rem;
  margin-top: 0.2rem;
}
.ec-pager .prev.disabled, .ec-pager .next.disabled {
  opacity: 0.2;
  pointer-events: none;
  cursor: none;
}
.ec-pager .prev a, .ec-pager .next a {
  background: var(--color-primary);
  -webkit-mask-image: url(../img/common/arrow_thin.svg);
          mask-image: url(../img/common/arrow_thin.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 1.4rem 1.4rem;
          mask-size: 1.4rem 1.4rem;
  -webkit-mask-position: center;
          mask-position: center;
}
@media (any-hover: hover) {
  .ec-pager .prev:hover a, .ec-pager .next:hover a {
    background: var(--color-sub);
  }
}
.ec-pager .prev {
  transform: scale(-1, 1);
}
@media screen and (min-width: 768px) {
  .ec-pager {
    margin: 8rem 0 -6rem;
    padding: 0;
    gap: 0.6rem 2.8rem;
    font-size: 1.8rem;
  }
  .ec-pager .ec-pager__item, .ec-pager .ec-pager__item--active {
    width: 1.3em;
    height: 2.8em;
  }
  .ec-pager .prev, .ec-pager .next {
    width: 3rem;
    margin-top: 0.4rem;
  }
}

.itemList {
  padding: 1rem 1.2rem 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.5rem 1.2rem;
}
.itemList a {
  text-decoration: none;
  position: relative;
  display: block;
  overflow: visible;
}
.itemList .tag {
  position: absolute;
  left: 0;
  top: -1rem;
  z-index: 10;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.2rem;
  font-family: var(--font-jp);
}
.itemList .tag li {
  background: var(--color-primary);
  color: #fff;
  font-size: 1rem;
  line-height: 1.2;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  white-space: nowrap;
  min-width: 5rem;
  height: 2rem;
  padding: 0 0.9em;
  flex: 0 0 auto;
  width: auto;
}
.itemList .tag li:before {
  content: "";
  display: block;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  position: absolute;
  left: 1px;
  top: 1px;
  border: rgba(255, 255, 255, 0.6) 1px solid;
}
.itemList > li {
  position: relative;
}
.itemList > li img {
  aspect-ratio: 1/1;
  -o-object-fit: contain;
     object-fit: contain;
  border: #DBDBDB 1px solid;
  margin-bottom: 1rem;
}
.itemList > li .name {
  font-size: 1.4rem;
  line-height: 1.4;
  margin-bottom: 0.5em;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.itemList > li .price {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0 0.9rem;
}
.itemList > li .price strong {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: 0;
  display: inline-block;
  margin-right: 0.1em;
  white-space: nowrap;
}
.itemList > li .price {
  font-size: 1.2rem;
}
.itemList > li .price span.tax {
  font-size: 1rem;
  display: inline-block;
  padding-left: 0.2em;
}
.itemList > li .price .normal {
  font-size: 0.9rem;
}
.itemList > li .price .normal span:first-child {
  display: block;
  font-size: 0.8rem;
  line-height: 1.5;
}
.itemList > li .price .normal strong {
  font-size: 1.2rem;
  text-decoration: line-through;
}
.itemList > li .price .normal + p {
  color: var(--attention);
}
@media screen and (min-width: 768px) {
  .itemList {
    padding: 1rem 0 0;
    grid-template-columns: repeat(4, 1fr);
    gap: 6rem min(2.5vw, 5rem);
  }
  .itemList .tag {
    gap: 0.2rem 0.3rem;
  }
  .itemList .tag li {
    font-size: 1.3rem;
    min-width: 6rem;
    height: 2.4rem;
    padding: 0.1em 0.9em 0;
  }
  .itemList > li img {
    margin-bottom: 1.8rem;
  }
  .itemList > li .name {
    font-size: min(1.21vw, 17px);
    line-height: 1.4;
    margin-bottom: 0.5em;
  }
  .itemList > li .price {
    gap: 0 1.1rem;
  }
  .itemList > li .price strong {
    font-size: min(1.43vw, 20px);
    margin-right: 0.1em;
  }
  .itemList > li .price {
    font-size: min(1vw, 14px);
  }
  .itemList > li .price span.tax {
    font-size: min(0.86vw, 12px);
  }
  .itemList > li .price .normal {
    font-size: min(0.79vw, 11px);
    padding-bottom: 0.1rem;
    display: flex;
    align-items: center;
  }
  .itemList > li .price .normal span:first-child {
    display: inline-block;
    font-size: min(0.79vw, 11px);
    line-height: 1.5;
    margin-right: 0.4em;
    padding-bottom: 0.3em;
  }
  .itemList > li .price .normal strong {
    font-size: min(1.14vw, 16px);
  }
}

#page_product_list .ec-pageHeader {
  margin: 0 0 4rem;
  padding: 0;
}
#page_product_list .ec-pageHeader > div {
  padding: 2.8rem 0;
  min-height: 16.6rem;
  height: auto;
  background: var(--bg1);
  display: flex;
  justify-content: center;
  align-items: center;
}
#page_product_list .ec-pageHeader h1 {
  border: none;
  padding: 0;
  margin: 0;
  line-height: 1.8;
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  writing-mode: vertical-rl;
  color: var(--color-text);
  text-shadow: none;
}
#page_product_list .ec-pageHeader h1 strong {
  font-weight: 500;
}
#page_product_list .ec-pageHeader.category {
  position: relative;
}
#page_product_list .ec-pageHeader.category > div {
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  align-items: flex-start;
}
#page_product_list .ec-pageHeader.category .copy {
  writing-mode: vertical-rl;
  margin: 0 -1.5em 0 0.4em;
  font-size: 1.5rem;
  letter-spacing: 0.1em;
}
#page_product_list .ec-pageHeader.category h1 {
  position: relative;
}
#page_product_list .ec-pageHeader.category h1 > span {
  display: block;
  font-size: 1.4rem;
  margin-right: -1.5em;
}
#page_product_list .ec-pageHeader.category h1 > span span {
  display: inline-block;
  border-right: rgba(var(--color-text2), 0.8) 1px solid;
  padding: 0 0.3em 0 0;
}
#page_product_list .ec-pageHeader.category h1 strong {
  padding-top: 0.6em;
}
#page_product_list .ec-pageHeader.category h1.price {
  padding-bottom: 2rem;
}
#page_product_list .ec-pageHeader.category h1 span.price {
  writing-mode: horizontal-tb;
  letter-spacing: 0;
  position: absolute;
  bottom: -1em;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  margin: 0;
}
#page_product_list .ec-pageHeader.category .bg {
  aspect-ratio: 380/102;
  -o-object-fit: cover;
     object-fit: cover;
}
#page_product_list .ec-pageHeader.search h1 {
  writing-mode: horizontal-tb;
  text-align: center;
  line-height: 1.6;
}
#page_product_list .ec-pageHeader.search h1 strong span {
  display: block;
  margin: 0;
  font-size: 1.4rem;
}
#page_product_list .noItem {
  text-align: center;
  margin: 5em 0 1em;
}
@media screen and (min-width: 768px) {
  #page_product_list .ec-pageHeader {
    margin: 0 0 8rem;
    position: relative;
  }
  #page_product_list .ec-pageHeader > div {
    padding: 6.4rem 0;
    min-height: 29rem;
    height: auto;
    background: none;
  }
  #page_product_list .ec-pageHeader:before {
    content: "";
    display: block;
    width: 100vw;
    width: calc(100vw - var(--scrollBar));
    height: 29rem;
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    z-index: -1;
    background: var(--bg1);
  }
  #page_product_list .ec-pageHeader h1 {
    margin: 0;
    font-size: 3.4rem;
    letter-spacing: 0.18em;
  }
  #page_product_list .ec-pageHeader.category > div {
    width: 30%;
    padding: 5rem 0 3rem;
    min-height: 33rem;
  }
  #page_product_list .ec-pageHeader.category .copy {
    font-size: 2.2rem;
    margin: 0 -1.5em 0 0.4em;
  }
  #page_product_list .ec-pageHeader.category h1 > span {
    font-size: 2.1rem;
    margin-right: -1.8em;
    margin-left: 0.5em;
  }
  #page_product_list .ec-pageHeader.category h1 strong {
    padding-top: 1em;
  }
  #page_product_list .ec-pageHeader.category h1.price {
    padding: 0 0 2.8rem;
    margin: 0;
  }
  #page_product_list .ec-pageHeader.category .bg {
    width: 64.75vw;
    height: 29rem;
    position: absolute;
    right: max(-5.63vw, -90px);
    top: 3.7rem;
  }
  #page_product_list .ec-pageHeader.search h1 {
    line-height: 1.6;
  }
  #page_product_list .ec-pageHeader.search h1 strong span {
    display: inline-block;
    vertical-align: 0.2em;
    font-size: 2rem;
    margin-left: -2em;
  }
  #page_product_list .noItem {
    font-size: 1.7rem;
    margin: 4em 0 0;
  }
}
@media screen and (min-width: 1600px) {
  #page_product_list .ec-pageHeader.category .bg {
    right: calc((-100vw + var(--scrollBar) + 1600px) / 2 - 90px);
  }
}

@media screen and (min-width: 768px) {
  #page_product_detail main {
    overflow-x: initial;
  }
  #page_product_detail .ec-layoutRole__main {
    max-width: 1300px;
    margin: 0 auto;
  }
}
.ec-productRole {
  padding: 0;
  color: var(--color-text);
  font-size: 1.5rem;
  line-height: 1.7;
  max-width: none;
}
.ec-productRole .slideWrap {
  padding: 0.8rem 1rem 0;
  margin-bottom: 2.7rem;
}
.ec-productRole .ec-sliderItemRole {
  padding: 0;
  margin-bottom: 0;
}
.ec-productRole .slick-slider {
  border: #DBDBDB 1px solid;
  margin-bottom: 0.9rem;
}
.ec-productRole .slick-slider img {
  aspect-ratio: 1/1;
  -o-object-fit: contain;
     object-fit: contain;
}
.ec-productRole .item_nav {
  display: block;
  border: none;
  margin-bottom: 0;
}
.ec-productRole .item_nav .slick-list {
  display: flex;
  justify-content: center;
  width: 100%;
}
.ec-productRole .item_nav .slick-slide {
  border: #DBDBDB 1px solid;
  margin: 0 0.3rem;
  cursor: pointer;
}
.ec-productRole .item_nav .slick-current {
  border-color: var(--color-primary);
}
.ec-productRole .rightBox {
  padding: 0 2.6rem;
}
@media screen and (min-width: 768px) {
  .ec-productRole {
    padding-top: 8rem;
    font-size: 1.6rem;
    line-height: 1.8;
  }
  .ec-productRole .ec-grid2 {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0 7%;
    position: relative;
  }
  .ec-productRole .slideWrap {
    padding: 0;
    margin-bottom: 0;
    width: 48%;
    max-width: 540px;
    position: sticky;
    top: 10rem;
  }
  .ec-productRole .ec-productRole__profile {
    margin-left: 0;
  }
  .ec-productRole .rightBox {
    padding: 0;
    flex: 1;
  }
}
@media screen and (min-width: 1300px) {
  .ec-productRole .ec-grid2 {
    gap: 0 5.7%;
  }
  .ec-productRole .slideWrap {
    max-width: 636px;
  }
  .ec-productRole .ec-sliderItemRole {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 0 1.1rem;
  }
  .ec-productRole .ec-sliderItemRole .item_visual {
    width: calc(89.6% - 1.1rem);
  }
  .ec-productRole .ec-sliderItemRole .item_nav {
    width: 10.4%;
  }
  .ec-productRole .ec-sliderItemRole .item_nav .slick-slide {
    margin: 0 0 0.4rem 0;
  }
}
.ec-productRole .ec-productRole__tags {
  display: flex;
  gap: 0 0.3rem;
  margin: 0 -0.2rem 1rem;
  padding: 0;
  font-size: 1.2rem;
  line-height: 1.1;
  font-family: var(--font-jp);
  border: none;
}
.ec-productRole .ec-productRole__tags li {
  position: relative;
  padding: 0 1em;
  min-width: 5.7rem;
  height: 2.2rem;
  color: #fff;
  background: var(--color-primary);
  display: flex;
  justify-content: center;
  align-items: center;
}
.ec-productRole .ec-productRole__tags li:before {
  content: "";
  display: block;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  position: absolute;
  left: 1px;
  top: 1px;
  border: rgba(255, 255, 255, 0.5) 1px solid;
}
@media screen and (min-width: 768px) {
  .ec-productRole .ec-productRole__tags {
    margin: 0 0 1.4rem;
    font-size: 1.3rem;
  }
  .ec-productRole .ec-productRole__tags li {
    min-width: 6rem;
    height: 2.4rem;
    padding-top: 0.1em;
  }
}
.ec-productRole .ec-headingTitle {
  border: none;
  color: var(--color-text);
  font-size: 2.3rem;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 1.1rem;
}
.ec-productRole .ec-productRole__code {
  padding: 0;
  font-size: 1.2rem;
  line-height: 1.1;
  font-weight: 500;
  border: none;
}
.ec-productRole .ec-productRole__code p {
  border: rgba(var(--color-primary2), 0.6) 1px solid;
  display: inline-flex;
  align-items: center;
  height: 2.7rem;
  padding: 0 0.8em;
}
.ec-productRole .cartBox {
  margin: 1.5rem 0 3.4rem;
  padding: 0 0.9rem;
}
.ec-productRole .priceBox {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0 1.5rem;
  font-size: 1.5rem;
  margin-bottom: 1.6rem;
}
.ec-productRole .priceBox strong {
  letter-spacing: -0.02em;
  display: inline-block;
  margin-right: 0.1em;
  font-size: 3.1rem;
  line-height: 1;
}
.ec-productRole .priceBox span.tax {
  font-size: 1.3rem;
}
.ec-productRole .priceBox .normal {
  font-size: 1.3rem;
  display: flex;
  align-items: flex-end;
  padding-bottom: 0.4rem;
}
.ec-productRole .priceBox .normal span {
  font-size: 1.2rem;
  display: inline-block;
  padding: 0 0.4em 0.1em 0;
}
.ec-productRole .priceBox .normal strong {
  font-size: 1.9rem;
  line-height: 1.2;
  text-decoration: line-through;
}
.ec-productRole .priceBox .normal + p {
  color: var(--attention);
}
.ec-productRole .ec-productRole__actions {
  padding: 0;
  margin-top: 1.3rem;
}
.ec-productRole .ec-select label {
  font-size: 1.3rem;
  line-height: 1.4;
  margin: 0 1em 0.4em 0;
  display: inline-block;
}
.ec-productRole .ec-numberInput span {
  font-size: 1.3rem;
  display: inline-block;
  margin-right: 1.4rem;
}
.ec-productRole .ec-numberInput input[type=number] {
  font-size: 1.8rem;
  text-align: center;
  margin: 0;
}
@media screen and (min-width: 768px) {
  .ec-productRole .ec-headingTitle {
    font-size: 3rem;
    font-weight: 400;
    line-height: 1.4;
    margin-bottom: 1.6rem;
  }
  .ec-productRole .ec-productRole__code {
    font-size: 1.4rem;
  }
  .ec-productRole .ec-productRole__code p {
    height: 2.9rem;
    padding: 0 0.8em;
  }
  .ec-productRole .cartBox {
    margin: 1.3rem 0 2.2rem;
    padding: 0;
  }
  .ec-productRole .priceBox {
    gap: 0 1.8rem;
    font-size: 1.9rem;
    margin-bottom: 1.6rem;
  }
  .ec-productRole .priceBox strong {
    font-size: 3.5rem;
  }
  .ec-productRole .priceBox span.tax {
    font-size: 1.6rem;
  }
  .ec-productRole .priceBox .normal {
    font-size: 1.3rem;
    padding-bottom: 0.7rem;
  }
  .ec-productRole .priceBox .normal strong {
    line-height: 1.4;
  }
  .ec-productRole .priceBox .normal span {
    font-size: 1.3rem;
    padding: 0 0.5em 0 0;
  }
  .ec-productRole .ec-productRole__actions {
    margin-top: 1.4rem;
  }
}
.ec-productRole .btnWrap {
  position: relative;
  margin-top: 1.7rem;
}
.ec-productRole .btnWrap .ec-blockBtn--action {
  width: 100%;
  height: 5.6rem;
  font-size: 1.7rem;
  transition: background 0.26s;
  font-family: var(--font-min) !important;
  background-color: #D05447;
  transition: opacity 0.26s;
}
.ec-productRole .btnWrap .ec-blockBtn--action:disabled {
  background: #E6E6E6;
  color: #808080;
}
@media (any-hover: hover) {
  .ec-productRole .btnWrap .ec-blockBtn--action:not(:disabled):hover {
    background: #D05447;
    opacity: 0.7;
  }
}
.ec-productRole .btnWrap #favorite {
  border: none;
  padding: 0;
  background: none;
  position: absolute;
  right: 0;
  top: -2.2rem;
  transform: translateY(-100%);
}
.ec-productRole .btnWrap #favorite i {
  display: block;
  background: var(--color-primary);
  width: 3rem;
  height: 3rem;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-image: url(../img/common/i-heart.svg);
          mask-image: url(../img/common/i-heart.svg);
}
@media (any-hover: hover) {
  .ec-productRole .btnWrap #favorite:hover i {
    background: var(--color-sub);
  }
}
.ec-productRole .btnWrap a#favorite i {
  -webkit-mask-image: url(../img/common/i-heart2.svg);
          mask-image: url(../img/common/i-heart2.svg);
}
@media screen and (min-width: 768px) {
  .ec-productRole .numBtnWrap {
    display: flex;
    align-items: center;
    gap: 0 2rem;
    margin-top: 1.8rem;
  }
  .ec-productRole .btnWrap {
    margin-top: 0;
    display: flex;
    align-items: center;
    gap: 0 3rem;
  }
  .ec-productRole .btnWrap .ec-blockBtn--action {
    width: 31rem;
    font-size: 1.9rem;
    font-weight: 600;
  }
  .ec-productRole .btnWrap #favorite {
    position: relative;
    right: auto;
    top: auto;
    transform: none;
  }
}
.ec-productRole .giftBag {
  background: #F3F2EE;
  border: #DEDEDE 1px solid;
  overflow: visible;
  position: relative;
  border-radius: 0.5rem;
  width: 28.6rem;
  height: 5.8rem;
  margin: 3.4rem auto 3.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.5;
  text-decoration: none;
}
.ec-productRole .giftBag img {
  width: 5rem;
  margin-right: 2rem;
  transform: translateY(-0.5rem);
}
.ec-productRole .giftBag:after {
  content: "";
  display: inline-block;
  width: 0.8rem;
  height: 0.8rem;
  background: url(../img/common/arrow.svg) no-repeat center;
  background-size: contain;
  transform: rotate(-90deg);
  margin-left: 1.9rem;
}
.ec-productRole .giftBag {
  transition: background 0.26s;
}
@media (any-hover: hover) {
  .ec-productRole .giftBag:hover {
    background: var(--bg1);
  }
  .ec-productRole .giftBag:hover img {
    opacity: 1;
  }
}
@media screen and (min-width: 768px) {
  .ec-productRole .giftBag {
    width: 100%;
    height: 5.2rem;
    margin: 0 auto 5.4rem;
    font-size: 1.6rem;
  }
  .ec-productRole .giftBag img {
    width: 5rem;
    margin-right: 1.4rem;
    transform: translateY(-0.5rem);
  }
}
.ec-productRole .ec-productRole__description {
  margin: 3.3rem 0 0;
  text-align: justify;
}
.ec-productRole .infoBoxTtl {
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.1;
  margin: 4rem -2.6rem 0;
  padding: 1.2rem 2.6rem;
  border: rgba(var(--color-primary2), 0.6) 1px solid;
  border-left: none;
  border-right: none;
}
.ec-productRole .infoBox {
  padding: 2.3rem 0 0;
}
@media screen and (min-width: 768px) {
  .ec-productRole .ec-productRole__description {
    margin: 5.4rem 0 0;
  }
  .ec-productRole .infoBoxTtl {
    font-size: 1.7rem;
    margin: 5.6rem 0 0;
    padding: 1.2rem 1rem;
  }
  .ec-productRole .infoBox {
    padding: 3rem 1rem 0;
  }
}

#RelatedProduct-product_area {
  margin: 7rem 0 0;
  padding: 4.4rem 1.8rem 4.6rem;
  position: relative;
}
#RelatedProduct-product_area:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 50%;
  top: 0;
  z-index: -1;
  transform: translateX(-50%);
  background: var(--bg2);
}
#RelatedProduct-product_area:after {
  content: "";
  display: block;
  width: 13.4rem;
  height: 13.4rem;
  opacity: 0.5;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
  transform: translate(-55%, -15%);
  background: url(../img/common/koushi.svg) no-repeat center;
  background-size: contain;
}
#RelatedProduct-product_area * {
  position: relative;
  z-index: 10;
}
#RelatedProduct-product_area .itemList .tag {
  position: absolute;
  z-index: 12;
}
#RelatedProduct-product_area h2 {
  text-align: center;
  font-size: 1.9rem;
  font-weight: 600;
  line-height: 1.1;
  margin: 0 0.8rem 3rem;
  position: relative;
}
#RelatedProduct-product_area h2:before {
  content: "";
  display: block;
  width: 100%;
  height: 0.6rem;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: -1;
  border-top: rgba(var(--color-text2), 0.7) 1px solid;
  border-bottom: rgba(var(--color-text2), 0.7) 2px solid;
}
#RelatedProduct-product_area h2 span {
  display: inline-block;
  padding: 0 0.5em;
  background: var(--bg2);
}
#RelatedProduct-product_area .itemList {
  padding-left: 0;
  padding-right: 0;
}
@media screen and (min-width: 768px) {
  #RelatedProduct-product_area {
    margin: min(10vw, 140px) 0 0;
    padding: 6rem 0 0;
  }
  #RelatedProduct-product_area:before {
    width: 112%;
    height: 18rem;
  }
  #RelatedProduct-product_area:after {
    width: 27rem;
    height: 27rem;
    transform: translate(-90%, -35%);
  }
  #RelatedProduct-product_area h2 {
    text-align: left;
    font-size: 2.2rem;
    margin: 0 0 4.4rem;
    padding: 0 0 0 4.4rem;
  }
  #RelatedProduct-product_area h2 span {
    padding: 0 0.6em;
  }
  #RelatedProduct-product_area .itemList {
    grid-template-columns: repeat(5, 1fr);
    gap: 0 2.3%;
  }
  #RelatedProduct-product_area .itemList > li .tag li {
    font-size: 1.2rem;
    min-width: 5.6rem;
    height: 2.2rem;
  }
  #RelatedProduct-product_area .itemList > li > li img {
    margin-bottom: 1.8rem;
  }
  #RelatedProduct-product_area .itemList > li > li .name {
    font-size: min(1.07vw, 15px);
    line-height: 1.5;
    margin-bottom: 0.7em;
  }
  #RelatedProduct-product_area .itemList > li > li .price {
    gap: 0 1.1rem;
  }
  #RelatedProduct-product_area .itemList > li > li .price strong {
    font-size: min(1.21vw, 17px);
    margin-right: 0.1em;
  }
  #RelatedProduct-product_area .itemList > li > li .price {
    font-size: min(0.93vw, 13px);
  }
  #RelatedProduct-product_area .itemList > li > li .price span.tax {
    font-size: min(0.79vw, 11px);
  }
  #RelatedProduct-product_area .itemList > li > li .price .normal {
    font-size: min(0.71vw, 10px);
  }
  #RelatedProduct-product_area .itemList > li > li .price .normal strong {
    font-size: min(1.07vw, 15px);
  }
}

.ec-pageHeader {
  color: var(--color-text);
  padding: 3rem 0 0;
  margin-bottom: 1rem;
  font-family: var(--font-min);
}
.ec-pageHeader h1 {
  font-size: 1.7rem;
  padding: 1.2rem 0 1.1rem;
}
@media screen and (min-width: 768px) {
  .ec-pageHeader {
    padding: 5rem 0 0;
  }
  .ec-pageHeader h1 {
    font-size: 2.8rem;
    padding: 1.4rem 0 2.2rem;
  }
}

.ec-role {
  color: var(--color-text);
  font-size: 1.4rem;
}

.ec-borderedDefs {
  margin-bottom: 3rem;
}
.ec-borderedDefs dl {
  padding: 1.4rem 0 1rem;
}
.ec-borderedDefs dd .ec-select {
  margin-bottom: 10px;
}

@media screen and (min-width: 768px) {
  .ec-role {
    font-size: 1.6rem;
  }
  .ec-borderedDefs {
    margin-bottom: 5rem;
  }
  .ec-borderedDefs dl {
    padding: 20px 0 10px;
  }
  .ec-borderedDefs dt {
    padding-top: 9px;
  }
  .ec-borderedDefs dd {
    line-height: 1.8;
  }
  .ec-borderedDefs dd input {
    margin-bottom: 10px;
  }
  .ec-borderedDefs dd .ec-select {
    margin-bottom: 10px;
    line-height: 1;
  }
  .ec-borderedDefs dd .ec-radio {
    padding-top: 8px;
    margin-bottom: 10px;
  }
}
.ec-contactRole {
  color: var(--color-text);
  padding: 0 2rem;
  font-size: 1.5rem;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .ec-contactRole {
    padding: 0;
    font-size: 1.6rem;
    line-height: 1.6;
  }
}

#page_help_tradelaw .ec-borderedDefs {
  border-top: none;
}
#page_help_tradelaw .ec-borderedDefs dl {
  padding: 2rem 0 1.7rem;
}
#page_help_tradelaw .ec-borderedDefs dt {
  font-size: 1.3rem;
}
#page_help_tradelaw .ec-borderedDefs label {
  margin: 0;
  display: inline;
}
#page_help_tradelaw .ec-borderedDefs dd {
  font-size: 1.4rem;
  line-height: 1.6;
  padding: 0.4em 0 0 0.5em;
  white-space: pre-line;
}
@media screen and (min-width: 768px) {
  #page_help_tradelaw .ec-borderedDefs dl {
    padding: 3rem 0 2.8rem;
  }
  #page_help_tradelaw .ec-borderedDefs dt {
    font-size: 1.6rem;
    padding: 0;
  }
  #page_help_tradelaw .ec-borderedDefs dd {
    font-size: 1.6rem;
    line-height: 1.7;
    padding: 0;
  }
}

#undercolumn_privacy {
  margin: 2rem 1.5rem 0;
  font-size: 1.3rem;
}
#undercolumn_privacy h3 {
  font-size: 1.4rem;
  font-weight: 600;
  margin: 2.3em 0 0.6em;
  line-height: 1;
}
#undercolumn_privacy p {
  line-height: 1.7;
}
#undercolumn_privacy ul {
  margin-top: 1.2rem;
  margin-bottom: 1.2rem;
}
#undercolumn_privacy .shop_information {
  margin-top: 2.2rem;
  padding: 1.5rem;
  border: solid 2px #ddd;
}
#undercolumn_privacy .shop_information h3 {
  margin-top: 0;
  font-size: 1.2rem;
}
#undercolumn_privacy .shop_information .name {
  margin-top: 20px;
  margin-bottom: 10px;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1;
}
#undercolumn_privacy ul.p_number li {
  text-indent: -2.5em;
  padding-left: 2.5em;
  margin-bottom: 0.6rem;
}
@media screen and (min-width: 768px) {
  #undercolumn_privacy {
    margin: 2rem 16px -3rem;
    padding: 0 3rem;
    font-size: 1.5rem;
  }
  #undercolumn_privacy h3 {
    font-size: 1.8rem;
    margin: 3em 0 0.9em;
  }
  #undercolumn_privacy p {
    line-height: 1.9;
  }
  #undercolumn_privacy ul {
    margin-top: 2rem;
    margin-bottom: 2.5rem;
  }
  #undercolumn_privacy .shop_information {
    margin: 5rem 0 0;
    padding: 2rem;
    display: inline-block;
  }
  #undercolumn_privacy .shop_information h3 {
    font-size: 1.4rem;
  }
  #undercolumn_privacy .shop_information .name {
    font-size: 1.8rem;
  }
  #undercolumn_privacy ul.p_number li {
    margin-bottom: 1rem;
  }
}

.ec-login {
  font-family: var(--font-jp);
}
.ec-login .ec-login__input {
  margin-bottom: 1.2rem;
}
.ec-login .ec-login__link:first-child {
  margin-top: 1.2rem;
}
.ec-login .form-check {
  font-size: 1.3rem;
  display: flex;
  align-items: center;
  gap: 0 1rem;
  padding: 0;
}
.ec-login .form-check .form-check-input {
  margin: 0;
  float: none;
}
.ec-login .form-check label {
  margin-bottom: 0;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .ec-login .ec-login__link:first-child {
    margin-top: 0;
  }
  .ec-login .form-check {
    font-size: 1.4rem;
  }
}

.ec-registerRole {
  font-size: 1.4rem;
  line-height: 1.5;
  font-family: var(--font-jp);
  color: var(--color-text);
}
.ec-registerRole p + .ec-borderedDefs {
  margin-top: 1.5rem;
}
.ec-registerRole .ec-borderedDefs {
  border-top: none;
}
.ec-registerRole .ec-registerRole__actions {
  padding-top: 0;
}
.ec-registerRole .ec-registerRole__actions .ec-checkbox {
  margin-bottom: 1.3em;
}
@media screen and (min-width: 768px) {
  .ec-registerRole {
    font-size: 1.6rem;
    line-height: 1.7;
  }
}

.ec-registerCompleteRole {
  color: var(--color-text);
  font-size: 1.4rem;
  line-height: 1.6;
}
.ec-registerCompleteRole .ec-reportHeading {
  border-top: none;
}
.ec-registerCompleteRole .ec-reportHeading h2 {
  font-size: 2rem;
  line-height: 1.6;
}
.ec-registerCompleteRole .ec-reportDescription {
  font-size: 1.5rem;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .ec-registerCompleteRole {
    font-size: 1.6rem;
    line-height: 1.7;
  }
  .ec-registerCompleteRole .ec-reportHeading h2 {
    font-size: 2.8rem;
  }
  .ec-registerCompleteRole .ec-reportDescription {
    font-size: 1.6rem;
    line-height: 1.7;
  }
  .ec-registerCompleteRole .ec-off3Grid .ec-off3Grid__cell {
    width: 60%;
    margin: 0 auto;
  }
}

.ec-forgotRole {
  color: var(--color-text);
  font-size: 1.4rem;
  line-height: 1.6;
}
.ec-forgotRole .ec-forgotRole__intro {
  font-size: 1.4rem;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .ec-forgotRole {
    font-size: 1.6rem;
    line-height: 1.7;
  }
  .ec-forgotRole .ec-forgotRole__intro {
    font-size: 1.6rem;
    line-height: 1.7;
  }
}

.ec-forgetCompleteRole {
  color: var(--color-text);
  font-size: 1.4rem;
  line-height: 1.6;
  padding: 0 16px;
}
.ec-forgetCompleteRole .ec-reportHeading {
  border-top: none;
}
.ec-forgetCompleteRole .ec-reportHeading h2 {
  font-size: 2rem;
  line-height: 1.5;
}
.ec-forgetCompleteRole .ec-reportDescription {
  font-size: 1.4rem;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .ec-forgetCompleteRole {
    font-size: 1.6rem;
    line-height: 1.7;
  }
  .ec-forgetCompleteRole .ec-reportHeading h2 {
    font-size: 2.8rem;
    line-height: 1.5;
  }
  .ec-forgetCompleteRole .ec-reportDescription {
    font-size: 1.6rem;
    line-height: 1.7;
  }
}

.ec-contactRole, .ec-contactConfirmRole {
  color: var(--color-text);
  font-size: 1.4rem;
  line-height: 1.6;
}
.ec-contactRole p + .ec-borderedDefs, .ec-contactConfirmRole p + .ec-borderedDefs {
  margin-top: 2rem;
}
.ec-contactRole .ec-borderedDefs, .ec-contactConfirmRole .ec-borderedDefs {
  font-family: var(--font-jp);
  font-size: 1.4rem;
  line-height: 1.6;
  margin-bottom: 2rem;
}
.ec-contactRole .ec-borderedDefs dl, .ec-contactConfirmRole .ec-borderedDefs dl {
  padding-top: 1.2rem;
}
.ec-contactRole .ec-borderedDefs dd, .ec-contactConfirmRole .ec-borderedDefs dd {
  line-height: 1.6;
  padding-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  .ec-contactRole, .ec-contactConfirmRole {
    font-size: 1.6rem;
    line-height: 1.8;
  }
  .ec-contactRole p + .ec-borderedDefs, .ec-contactConfirmRole p + .ec-borderedDefs {
    margin-top: 3rem;
  }
  .ec-contactRole .ec-borderedDefs, .ec-contactConfirmRole .ec-borderedDefs {
    font-size: 1.6rem;
    line-height: 1.7;
    margin-bottom: 3rem;
  }
  .ec-contactRole .ec-borderedDefs dl, .ec-contactConfirmRole .ec-borderedDefs dl {
    padding: 1.8rem 0 1.2rem;
  }
  .ec-contactRole .ec-borderedDefs dt, .ec-contactConfirmRole .ec-borderedDefs dt {
    padding: 0;
  }
  .ec-contactRole .ec-borderedDefs dd, .ec-contactConfirmRole .ec-borderedDefs dd {
    line-height: 1.6;
    padding: 0;
  }
}

.ec-contactCompleteRole {
  color: var(--color-text);
  font-size: 1.4rem;
  line-height: 1.6;
}
.ec-contactCompleteRole .ec-reportHeading {
  border-top: none;
}
.ec-contactCompleteRole .ec-reportHeading h2 {
  font-size: 2rem;
  line-height: 1.5;
}
.ec-contactCompleteRole .ec-reportDescription {
  font-size: 1.4rem;
  line-height: 1.7;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .ec-contactCompleteRole {
    font-size: 1.6rem;
    line-height: 1.8;
  }
  .ec-contactCompleteRole .ec-reportHeading {
    border-top: none;
  }
  .ec-contactCompleteRole .ec-reportHeading h2 {
    font-size: 2.8rem;
    line-height: 1.5;
  }
  .ec-contactCompleteRole .ec-reportDescription {
    font-size: 1.6rem;
    line-height: 1.8;
  }
}

.ec-withdrawCompleteRole {
  font-family: var(--font-min);
  color: var(--color-text);
  font-size: 1.4rem;
  line-height: 1.6;
}
.ec-withdrawCompleteRole .ec-reportHeading {
  border-top: none;
}
.ec-withdrawCompleteRole .ec-reportDescription {
  font-size: 1.4rem;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .ec-withdrawCompleteRole {
    font-size: 1.6rem;
    line-height: 1.8;
  }
  .ec-withdrawCompleteRole .ec-reportDescription {
    font-size: 1.6rem;
    line-height: 1.8;
  }
}

.ec-progress {
  padding: 1.4rem 0 1.6rem;
  margin: 0 auto;
}
.ec-progress .ec-progress__label {
  font-size: 1.1rem;
}
.ec-progress .is-complete .ec-progress__number {
  background: var(--color-cart);
}
.ec-progress .is-complete .ec-progress__label {
  color: var(--color-cart);
}
@media screen and (min-width: 768px) {
  .ec-progress {
    padding: 0 0 2rem;
  }
  .ec-progress .ec-progress__label {
    font-size: 1.3rem;
  }
}

.ec-cartRole {
  font-family: var(--font-jp);
  font-size: 1.4rem;
  line-height: 1.5;
}
.ec-cartRole form.ec-cartRole {
  padding: 0;
}
.ec-cartRole .ec-cartRole__totalText {
  padding: 1.3rem 0 1.8rem;
}
.ec-cartRole .ec-cartRole__totalText strong {
  font-size: 110%;
}
.ec-cartRole .ec-cartRole__total {
  font-size: 1.6rem;
}
.ec-cartRole .ec-cartRole__totalAmount {
  color: var(--color-cart);
}
.ec-cartRole .ec-cartRow__delColumn {
  width: 11%;
}
.ec-cartRole .ec-cartRow__img {
  width: 28%;
  padding-right: 1rem;
}
.ec-cartRole .ec-cartRow__name {
  font-size: 1.3rem;
}
.ec-cartRole .ec-cartRow__unitPrice, .ec-cartRole .ec-cartRow__sutbtotalSP {
  font-size: 1.3rem;
  line-height: 1.4;
}
.ec-cartRole .ec-cartRole__actions .ec-blockBtn--action {
  background: var(--color-cart);
}
.ec-cartRole .ec-cartRole__actions .ec-blockBtn--action:focus {
  box-shadow: 0 0 0 0.2rem rgba(var(--color-cart2), 0.2);
}
@media screen and (min-width: 768px) {
  .ec-cartRole {
    font-size: 1.6rem;
    line-height: 1.7;
  }
  .ec-cartRole .ec-cartRole__totalText {
    padding: 2.8rem 0 3rem;
    margin-bottom: 0;
    font-size: 1.7rem;
  }
  .ec-cartRole .ec-cartRole__total {
    font-size: 1.8rem;
  }
  .ec-cartRole .ec-cartRow__delColumn {
    width: 9%;
  }
  .ec-cartRole .ec-cartRow__img {
    width: 28%;
    padding-right: 1.6rem;
  }
  .ec-cartRole .ec-cartRow__name {
    font-size: 1.5rem;
  }
  .ec-cartRole .ec-cartRow__unitPrice, .ec-cartRole .ec-cartRow__sutbtotalSP {
    font-size: 1.5rem;
    line-height: 1.4;
  }
  .ec-cartRole .ec-cartHeader .ec-cartHeader__label {
    font-size: 1.5rem;
    padding: 1rem 1.5rem;
  }
}

.ec-alert-warning {
  background: var(--color-cart);
  margin-top: 3rem;
}
.ec-alert-warning .ec-alert-warning__inner__item {
  display: flex;
  justify-content: center;
  align-items: center;
}
.ec-alert-warning .ec-alert-warning__text {
  font-size: 1.4rem;
  line-height: 1.2;
}

@media screen and (min-width: 768px) {
  #page_shopping main, #page_shopping_confirm main {
    overflow-x: initial;
  }
  .ec-orderAccount .ec-rectHeading h2 {
    margin-top: 0;
  }
  .ec-alert-warning {
    margin-top: 4rem;
    padding: 1.5rem 1rem 1.4rem;
  }
  .ec-alert-warning .ec-alert-warning__text {
    font-size: 1.5rem;
    line-height: 1.7;
  }
}
.ec-addressList {
  margin-bottom: 3rem;
}
.ec-addressList .ec-addressList__remove {
  padding: 18px 0 16px;
  width: 3em;
}
.ec-addressList .ec-addressList__remove input {
  width: 1.2em;
  height: 1.2em;
}
.ec-addressList .ec-addressList__remove .ec-icon {
  width: 2em;
  padding-right: 0.4em;
  margin-top: 1em;
}
.ec-addressList .ec-addressList__remove .ec-icon img {
  width: 100%;
}
.ec-addressList .ec-addressList__address {
  padding: 16px 1em 16px 0;
  margin-right: auto;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .ec-addressList .ec-addressList__remove {
    padding: 20px 0 16px;
  }
  .ec-addressList .ec-addressList__remove .ec-icon {
    width: 3em;
    padding: 1.3em 0.4em 0 0;
    margin: 0;
  }
}

.ec-noshi__heading {
  margin-bottom: 1rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.ec-noshi__heading a {
  font-size: 1.2rem;
  font-weight: 400;
}

@media screen and (min-width: 768px) {
  .ec-addressRole .ec-addressRole__actions {
    padding-bottom: 3rem;
  }
  .ec-noshi__heading a {
    font-size: 1.3rem;
    font-weight: 400;
  }
}
.ec-AddAddress {
  padding: 0 16px;
  margin: 2rem auto 0;
  max-width: 940px;
  font-family: var(--font-jp);
  font-size: 1.4rem;
  line-height: 1.6;
  color: var(--color-text);
}
.ec-AddAddress .ec-AddAddress__item {
  padding: 1.2rem;
}
.ec-AddAddress .ec-AddAddress__itemThumb {
  min-width: 100px;
}
.ec-AddAddress .ec-AddAddress__itemtContent {
  padding-left: 1rem;
  font-size: 1.4rem;
}
.ec-AddAddress .ec-AddAddress__noshiNotice {
  font-size: 1.2rem;
  line-height: 1.5;
  padding-left: 1em;
  text-indent: -1em;
}
.ec-AddAddress .ec-AddAddress__selectAddress {
  margin-top: 1.5rem;
}
.ec-AddAddress .ec-AddAddress__selectNumber {
  position: relative;
}
.ec-AddAddress .ec-AddAddress__selectNumber .addAdress2 {
  font-size: 1.2rem;
  line-height: 1.5;
  width: 15em;
  text-align: right;
  position: absolute;
  right: 0;
  top: 0;
}
.ec-AddAddress .ec-AddAddress__btn {
  background: var(--bg2);
  padding: 1em;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.ec-AddAddress .ec-AddAddress__btn .txt {
  font-size: 1.3rem;
  font-weight: bold;
  line-height: 1.6;
  margin-bottom: 0.7em;
  text-align: center;
  margin: 0.9em 0 0;
}
.ec-AddAddress .ec-AddAddress__btn button {
  border-color: var(--color-primary);
  color: var(--color-primary);
  background: #fff;
  font-size: 1.4rem;
  font-weight: bold;
  padding: 1rem 1.4em;
}
@media screen and (min-width: 768px) {
  .ec-AddAddress {
    font-size: 1.6rem;
    line-height: 1.8;
  }
  .ec-AddAddress .ec-AddAddress__item {
    padding: 1.5rem;
  }
  .ec-AddAddress .ec-AddAddress__itemThumb {
    min-width: 100px;
    width: 16%;
  }
  .ec-AddAddress .ec-AddAddress__itemtContent {
    padding-left: 2rem;
    font-size: 1.6rem;
  }
  .ec-AddAddress .ec-AddAddress__noshiNotice {
    font-size: 1.3rem;
    line-height: 1.5;
  }
  .ec-AddAddress .selectWrap {
    position: relative;
    padding-bottom: 2.5em;
  }
  .ec-AddAddress .ec-AddAddress__selectAddress {
    margin-top: 1.5rem;
  }
  .ec-AddAddress .ec-AddAddress__selectNumber {
    position: static;
  }
  .ec-AddAddress .ec-AddAddress__selectNumber .addAdress2 {
    font-size: 1.4rem;
    line-height: 1.5;
    width: 33em;
    text-align: left;
    right: auto;
    left: 5.5em;
    top: 4.9em;
  }
  .ec-AddAddress .ec-AddAddress__btn {
    padding: 1.6rem;
  }
  .ec-AddAddress .ec-AddAddress__btn .txt {
    font-size: 1.5rem;
    line-height: 1.6;
    margin-bottom: 0.7em;
    text-align: center;
    margin: 0.9em 0 0;
  }
  .ec-AddAddress .ec-AddAddress__btn button {
    font-size: 1.5rem;
    padding: 1rem 3em;
  }
}

#page_shopping_complete {
  color: var(--color-text);
}
#page_shopping_complete .ec-reportHeading {
  border-top: none;
  margin: 3rem 0 3rem;
}
#page_shopping_complete .ec-reportHeading h2 {
  font-size: 2rem;
}
#page_shopping_complete .ec-reportDescription {
  text-align: left;
  font-size: 1.5rem;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  #page_shopping_complete .ec-reportHeading {
    margin: 5rem 0 4rem;
  }
  #page_shopping_complete .ec-reportHeading h2 {
    font-size: 2.8rem;
  }
  #page_shopping_complete .ec-reportDescription {
    font-size: 1.6rem;
    line-height: 1.7;
    margin-bottom: 4rem;
  }
  #page_shopping_complete .ec-off3Grid .ec-off3Grid__cell {
    width: 60%;
    margin: 0 auto;
  }
}

.ec-welcomeMsg {
  font-size: 1.4rem;
  color: var(--color-text);
  margin: 2.2rem 0 0;
  padding: 0 1.6rem 2.5rem;
  border: none;
}
.ec-welcomeMsg strong {
  font-size: 1.6rem;
  font-weight: 500;
}
.ec-welcomeMsg .logout {
  display: block;
  text-align: center;
  font-size: 1.4rem;
  margin: 0.4em 0 0;
}

.ec-navlistRole .ec-navlistRole__navlist {
  margin-bottom: 4rem;
}
.ec-navlistRole .ec-navlistRole__item {
  font-weight: bold;
}
.ec-navlistRole .ec-navlistRole__item a {
  padding: 1.4rem 1rem;
}

@media screen and (min-width: 768px) {
  .ec-welcomeMsg {
    font-size: 1.5rem;
    margin: 2rem 0 0;
    padding: 0 1.6rem 3.5rem;
  }
  .ec-welcomeMsg strong {
    font-size: 1.7rem;
  }
  .ec-welcomeMsg .logout {
    display: inline-block;
    font-size: 1.5rem;
    margin: 0 0 0 1.5em;
    vertical-align: text-bottom;
  }
  .ec-navlistRole .ec-navlistRole__navlist {
    margin-bottom: 6rem;
  }
  .ec-navlistRole .ec-navlistRole__item {
    font-weight: bold;
  }
}
.ec-mypageRole {
  color: var(--color-text);
  padding: 0 1.6rem;
  font-size: 1.4rem;
  line-height: 1.5;
  font-family: var(--font-jp);
  max-width: 1200px;
}
.ec-mypageRole .ec-pager {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .ec-mypageRole {
    font-size: 1.6rem;
    line-height: 1.6;
  }
  .ec-mypageRole .ec-pager {
    margin-top: 8rem;
  }
}

.ec-imageGrid .ec-imageGrid__img {
  padding: 1rem;
  width: 9.6rem;
}
.ec-imageGrid .ec-imageGrid__content {
  padding: 1.3rem 0 1.3rem 0.8rem;
}
.ec-imageGrid .ec-noshiSummary {
  font-size: 1.3rem;
}

.ec-historyListHeader {
  position: relative;
  margin-bottom: 1.6rem;
}
.ec-historyListHeader .ec-historyListHeader__date {
  font-size: 1.4rem;
}
.ec-historyListHeader .ec-historyListHeader__action {
  position: absolute;
  right: 0.4rem;
  top: 0.3rem;
  margin: 0;
}
.ec-historyListHeader .ec-historyListHeader__action a {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: #fff;
}

.ec-historyRole .ec-historyRole__contents {
  padding: 1.8rem 0 2.4rem;
}
.ec-historyRole .ec-historyRole__detail .ec-historyRole__detailTitle {
  margin-bottom: 0.3em;
  font-size: 1.3rem;
}
.ec-historyRole .ec-historyRole__detail .ec-historyRole__detailPrice {
  margin-bottom: 0.4em;
  font-size: 1.2rem;
}

@media screen and (min-width: 768px) {
  .ec-imageGrid .ec-imageGrid__img {
    padding: 1.2rem 1rem;
    width: 11rem;
  }
  .ec-imageGrid .ec-imageGrid__content {
    padding: 1.3rem 0 1.3rem 1.5rem;
    line-height: 1.7;
  }
  .ec-historyListHeader {
    margin-bottom: 1.6rem;
  }
  .ec-historyListHeader .ec-historyListHeader__date {
    font-size: 1.6rem;
  }
  .ec-historyListHeader .ec-historyListHeader__action {
    position: relative;
    right: auto;
    top: auto;
    margin: 2rem 0 0;
  }
  .ec-historyListHeader .ec-historyListHeader__action a {
    min-width: 15em;
  }
  .ec-historyRole .ec-historyRole__contents {
    padding: 3rem 2rem;
  }
  .ec-historyRole .ec-historyRole__detail .ec-historyRole__detailTitle {
    margin-bottom: 0.3em;
    font-size: 1.6rem;
  }
  .ec-historyRole .ec-historyRole__detail .ec-historyRole__detailPrice {
    margin-bottom: 0.4em;
    font-size: 1.4rem;
  }
}
.ec-rectHeading h1, .ec-rectHeading .h1, .ec-rectHeading h2, .ec-rectHeading .h2, .ec-rectHeading h3, .ec-rectHeading .h3, .ec-rectHeading h4, .ec-rectHeading .h4, .ec-rectHeading h5, .ec-rectHeading .h5, .ec-rectHeading h6, .ec-rectHeading .h6 {
  padding: 1rem 1.2rem;
  margin: 2.4rem 0 1.4rem;
  font-size: 1.7rem;
}
@media screen and (min-width: 768px) {
  .ec-rectHeading h1, .ec-rectHeading .h1, .ec-rectHeading h2, .ec-rectHeading .h2, .ec-rectHeading h3, .ec-rectHeading .h3, .ec-rectHeading h4, .ec-rectHeading .h4, .ec-rectHeading h5, .ec-rectHeading .h5, .ec-rectHeading h6, .ec-rectHeading .h6 {
    font-size: 1.7rem;
    padding: 1.3rem 1.4rem;
    margin: 3rem 0 1.5rem;
  }
}

.ec-orderRole {
  padding: 0 2rem;
  font-size: 1.4rem;
  font-family: var(--font-jp);
  line-height: 1.5;
  color: var(--color-text);
}
.ec-orderRole .ec-orderRole__summary .ec-blockBtn--action {
  font-size: 1.6rem;
  margin-top: 1.4rem;
  background: var(--color-cart);
}
.ec-orderRole .ec-orderRole__summary .ec-blockBtn--action:focus {
  box-shadow: 0 0 0 0.2rem rgba(var(--color-cart2), 0.2);
}
.ec-orderRole .keigen {
  font-size: 1.1rem;
  margin-top: -0.8em;
}

.ec-orderDelivery .ec-orderDelivery__title {
  padding: 0 0 1rem;
  margin-top: 4rem;
  font-size: 1.6rem;
}
.ec-orderDelivery .ec-orderDelivery__title .ec-inlineBtn {
  padding: 0.6rem 2rem;
  font-size: 1.4rem;
}
.ec-orderDelivery .ec-orderDelivery__title .ec-orderDelivery__change {
  top: -0.5rem;
}
.ec-orderDelivery .ec-orderDelivery__address {
  margin: 3rem 0 2rem;
  line-height: 1.6;
  position: relative;
  padding-right: 8.2rem;
}
.ec-orderDelivery select.form-control {
  font-size: 1.5rem;
  -webkit-appearance: menulist;
}
.ec-orderDelivery__edit.addAdress {
  background: var(--bg2);
  padding: 1em;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.ec-orderDelivery__edit.addAdress .txt {
  font-size: 1.3rem;
  line-height: 1.6;
  margin-bottom: 0.7em;
}
.ec-orderDelivery__edit.addAdress button {
  border-color: var(--color-primary);
  color: var(--color-primary);
  background: #fff;
  font-size: 1.4rem;
  font-weight: bold;
  padding: 1rem 1.4em;
  transition: opacity 0.26s;
}
@media (any-hover: hover) {
  .ec-orderDelivery__edit.addAdress button:hover {
    opacity: 0.7;
  }
}

.ec-orderPayment .ec-radio div {
  margin-top: 0.6rem;
}
.ec-orderPayment .ec-noshi__note {
  margin: 4px 0 1em;
}

.ec-orderMail {
  padding-bottom: 0.5rem;
  margin-bottom: 2rem;
}
.ec-orderMail .ec-orderMail__link {
  margin-bottom: 1rem;
}
.ec-orderMail .ec-orderMail__body {
  padding-top: 0.5em;
}
.ec-orderMail .ec-orderMail__close {
  margin-top: 2em;
  padding-bottom: 0.5em;
}

.ec-definitions, .ec-definitions--soft {
  margin: 0.4rem 0;
}

@media screen and (min-width: 768px) {
  #page_mypage_history main {
    overflow-x: visible;
  }
  .ec-orderRole {
    padding: 0 2rem;
    position: relative;
    align-items: flex-start;
    font-size: 1.6rem;
    line-height: 1.6;
  }
  .ec-orderRole .ec-orderRole__summary {
    position: sticky;
    right: 0;
    top: 11rem;
    margin: 0 !important;
  }
  .ec-orderRole .keigen {
    font-size: 1.3rem;
    margin-top: -0.8em;
  }
  .ec-orderDelivery .ec-orderDelivery__title {
    padding: 0 0 1rem;
    margin-top: 5rem;
    font-size: 1.7rem;
  }
  .ec-orderDelivery__edit.addAdress {
    padding: 1.6rem;
  }
  .ec-orderDelivery__edit.addAdress .txt {
    font-size: 1.5rem;
    line-height: 1.6;
    margin-bottom: 0.8em;
    text-align: center;
  }
  .ec-orderDelivery__edit.addAdress button {
    font-size: 1.5rem;
    padding: 1rem 3em;
  }
  .ec-orderMail {
    font-size: 1.5rem;
    padding: 0.5rem 0 0;
    margin-bottom: 1.6rem;
  }
  .ec-orderMail .ec-orderMail__link {
    margin-bottom: 1.4rem;
  }
  .ec-orderMail .ec-orderMail__body {
    padding-top: 0.5em;
  }
  .ec-orderMail .ec-orderMail__close {
    margin-top: 1.6em;
    padding-bottom: 1em;
  }
}
.ec-zipInputHelp {
  display: inline-flex;
  align-items: center;
}
.ec-zipInputHelp .ec-zipInputHelp__icon {
  width: 2rem;
  height: 2rem;
  margin: 0;
  top: auto;
}
.ec-zipInputHelp .ec-zipInputHelp__icon .ec-icon {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.ec-zipInputHelp .ec-zipInputHelp__icon .ec-icon img {
  left: auto;
  top: auto;
}
.ec-zipInputHelp a {
  overflow: visible;
}
.ec-zipInputHelp span {
  vertical-align: middle;
  margin-left: 0.5rem;
}

#entry_sex {
  white-space: nowrap;
}

#page_mypage_history .ec-orderRole__detail .ec-inlineBtn {
  width: 6em;
}

.ec-mypageRole .ec-addressList .ec-addressList__action {
  padding-right: 0;
}
@media screen and (min-width: 768px) {
  .ec-mypageRole .ec-addressList .ec-addressList__action {
    padding-right: 1rem;
    display: table-cell;
    top: auto;
  }
  .ec-mypageRole .ec-addressList .ec-addressList__action .ec-inlineBtn {
    width: 6em;
  }
}

.ec-withdrawRole, .ec-withdrawConfirmRole {
  font-size: 1.5rem;
  line-height: 1.5;
  font-family: var(--font-min);
  padding: 0 1.6rem 2rem;
  color: var(--color-text);
}
.ec-withdrawRole .ec-withdrawRole__title, .ec-withdrawRole .ec-withdrawConfirmRole__title, .ec-withdrawConfirmRole .ec-withdrawRole__title, .ec-withdrawConfirmRole .ec-withdrawConfirmRole__title {
  font-size: 2rem;
  margin-top: 1em;
}
.ec-withdrawRole .ec-withdrawRole__description, .ec-withdrawRole .ec-withdrawConfirmRole__description, .ec-withdrawConfirmRole .ec-withdrawRole__description, .ec-withdrawConfirmRole .ec-withdrawConfirmRole__description {
  font-size: 1.5rem;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .ec-withdrawRole, .ec-withdrawConfirmRole {
    font-size: 1.6rem;
    line-height: 1.7;
    padding: 0 1.6rem 0;
  }
  .ec-withdrawRole .ec-withdrawRole__title, .ec-withdrawRole .ec-withdrawConfirmRole__title, .ec-withdrawConfirmRole .ec-withdrawRole__title, .ec-withdrawConfirmRole .ec-withdrawConfirmRole__title {
    font-size: 2.6rem;
    margin: 1.2em 0 1.7em;
  }
  .ec-withdrawRole .ec-withdrawRole__description, .ec-withdrawRole .ec-withdrawConfirmRole__description, .ec-withdrawConfirmRole .ec-withdrawRole__description, .ec-withdrawConfirmRole .ec-withdrawConfirmRole__description {
    font-size: 1.6rem;
    line-height: 1.8;
    margin-bottom: 4rem;
  }
}

.ec-pageHeader.image {
  margin: 0 0 8rem;
  padding: 0;
}
.ec-pageHeader.image > div {
  padding: 0;
  height: 16.6rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.ec-pageHeader.image h1 {
  border: none;
  padding: 0;
  margin: 0;
  font-size: 2.3rem;
  letter-spacing: 0.1em;
  text-shadow: 0px 1px 4px rgba(0, 0, 0, 0.5);
  color: #fff;
}
.ec-pageHeader.image h1 strong {
  font-weight: 500;
}
.ec-pageHeader.image.only > div {
  background-color: var(--bg1);
}
.ec-pageHeader.image.only h1 {
  text-shadow: none;
  color: var(--color-text);
}
.ec-pageHeader.image.only h1 strong {
  font-weight: 400;
}

@media screen and (min-width: 768px) {
  .ec-pageHeader.image {
    margin: 0 0 min(7.14vw, 100px);
    position: relative;
  }
  .ec-pageHeader.image > div {
    height: 23rem;
    background: none !important;
  }
  .ec-pageHeader.image:before {
    content: "";
    display: block;
    width: 100vw;
    width: calc(100vw - var(--scrollBar));
    height: 23rem;
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    z-index: -1;
    background-repeat: no-repeat;
    background-size: cover;
  }
  .ec-pageHeader.image h1 {
    font-size: 3.2rem;
    letter-spacing: 0.15em;
  }
  .ec-pageHeader.image.only:before {
    background-color: var(--bg1);
  }
}
#pageNewsList .ec-pageHeader {
  margin-bottom: 6rem;
}
#pageNewsList .ec-pageHeader > div {
  background-image: url(../img/news/bg_sp.jpg);
}
#pageNewsList .newsList {
  margin: 0 1.9rem;
}
@media screen and (min-width: 768px) {
  #pageNewsList .ec-pageHeader {
    margin-bottom: min(7.14vw, 100px);
  }
  #pageNewsList .ec-pageHeader:before {
    background-image: url(../img/news/bg_pc.jpg);
  }
  #pageNewsList .newsList {
    max-width: 900px;
    margin: 0 auto;
  }
}

#pageNewsDetail {
  position: relative;
  padding: 2rem 1.6rem 0;
}
#pageNewsDetail:before {
  content: "";
  display: block;
  width: 100vw;
  width: calc(100vw - var(--scrollBar));
  height: 16.6rem;
  position: absolute;
  left: 50%;
  top: 0;
  z-index: -1;
  transform: translateX(-50%);
  background: var(--bg1);
}
#pageNewsDetail .detailAreaWrap {
  border: rgba(var(--color-text2), 0.3) 1px solid;
  background: #fff;
  padding: 2.6rem 2.4rem 4rem;
}
#pageNewsDetail .back {
  margin: 4.2rem 0 0;
  text-align: center;
}
#pageNewsDetail .back a {
  padding: 0 0.4rem 1.2rem;
  font-size: 1.4rem;
  line-height: 1.4;
  font-weight: 500;
  text-decoration: none;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-bottom: rgba(var(--color-text2), 0.6) 1px solid;
  transition: opacity 0.26s;
}
@media (any-hover: hover) {
  #pageNewsDetail .back a:hover {
    opacity: 0.7;
  }
}
@media screen and (min-width: 768px) {
  #pageNewsDetail {
    padding: 5rem 0 0;
    max-width: 1060px;
    margin: 0 auto -6rem;
  }
  #pageNewsDetail:before {
    height: 23rem;
  }
  #pageNewsDetail .detailAreaWrap {
    padding: 5.4rem 8rem 9rem;
  }
  #pageNewsDetail .back {
    margin: 7.8rem 0 0;
  }
  #pageNewsDetail .back a {
    padding: 0 0.7rem 1.5rem;
    font-size: 1.7rem;
  }
}
#pageNewsDetail .topLine {
  display: flex;
  align-items: flex-start;
  gap: 0 1.4rem;
  margin-bottom: 1.8rem;
  font-family: var(--font-jp);
  font-weight: 400;
}
#pageNewsDetail .date {
  font-size: 1.3rem;
  line-height: 1.3;
  padding-top: 0.25em;
}
#pageNewsDetail .tagList {
  display: flex;
  flex-wrap: wrap;
  gap: 0.2rem;
}
#pageNewsDetail .tagList li {
  min-width: 7rem;
  padding: 0 1em;
  height: 2.1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.1;
  border: rgba(42, 74, 135, 0.6) 1px solid;
  color: var(--color-sub);
}
#pageNewsDetail .tagList li a {
  text-decoration: none;
}
#pageNewsDetail .tagList li.important {
  border: none;
  background: #D77777;
  color: #fff;
  font-weight: 400;
}
#pageNewsDetail h1.title {
  font-size: 1.7rem;
  line-height: 1.8;
  font-weight: 500;
}
#pageNewsDetail .detailArea {
  border-top: rgba(var(--color-text2), 0.25) 1px solid;
  padding: 3.8rem 0 0;
  margin-top: 2rem;
  text-align: justify;
}
#pageNewsDetail .detailArea img {
  display: block;
  margin: 3rem auto 0;
}
#pageNewsDetail .detailArea img + p {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  #pageNewsDetail .topLine {
    padding: 0 1rem;
    margin-bottom: 2.6rem;
    gap: 0 2.2rem;
  }
  #pageNewsDetail .date {
    font-size: 1.5rem;
  }
  #pageNewsDetail .tagList {
    gap: 0.3rem;
  }
  #pageNewsDetail .tagList li {
    min-width: 9.7rem;
    min-height: 0;
    padding: 0.1rem 1em 0;
    height: 2.5rem;
    font-size: 1.1rem;
  }
  #pageNewsDetail h1.title {
    font-size: 2.5rem;
    line-height: 1.6;
    padding: 0 1rem;
  }
  #pageNewsDetail .detailArea {
    padding: 4.8rem 1rem 0;
    margin-top: 3rem;
  }
  #pageNewsDetail .detailArea img {
    margin: 6rem auto 0;
  }
  #pageNewsDetail .detailArea img + p {
    margin-top: 6rem;
  }
}

.guidePage main {
  overflow-x: initial;
}
.guidePage main .ec-pageHeader > div {
  background-image: url(../img/guide/bg_sp.jpg);
}
@media screen and (min-width: 768px) {
  .guidePage main .ec-pageHeader:before {
    background-image: url(../img/guide/bg_pc.jpg);
  }
}
.guidePage main section {
  line-height: 1.9;
  text-align: justify;
}
.guidePage main section + section {
  margin-top: 5rem;
  padding-top: 5rem;
  border-top: rgba(var(--color-primary2), 0.3) 1px solid;
}
.guidePage main section h2 {
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1.6;
  text-align: center;
  margin: 0 0 1.2em;
}
.guidePage main section h3 {
  font-size: 1.7rem;
  font-weight: 600;
  line-height: 1.6;
  padding-left: 1.6rem;
  position: relative;
  margin: 4rem 0 1.6rem;
}
.guidePage main section h3 span {
  font-size: 1.4rem;
}
.guidePage main section h3:before {
  content: "";
  display: block;
  width: 0.7rem;
  height: 100%;
  position: absolute;
  left: 0;
  top: 54%;
  transform: translateY(-50%);
  border-left: 0.4rem solid var(--color-primary);
  border-right: 0.1rem solid var(--color-primary);
}
.guidePage main section .bgBox {
  background: var(--bg2);
  border: #DEDEDE 1px solid;
}
.guidePage main section .bgBox.flex {
  padding: 1.3rem 2.1rem;
  min-height: 6rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 1.5rem;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.6;
}
.guidePage main section .bgBox.flex .telLink {
  font-size: 2.4rem;
  line-height: 1.1;
  letter-spacing: 0;
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  .guidePage main section {
    padding-left: 2rem;
    line-height: 2;
  }
  .guidePage main section + section {
    margin-top: 7rem;
    padding-top: 8rem;
  }
  .guidePage main section h2 {
    font-size: 2.7rem;
    text-align: left;
    margin: 0 0 1em -2rem;
  }
  .guidePage main section h3 {
    font-size: 1.8rem;
    padding-left: 1.9rem;
    margin: 4.8rem 0 1.6rem;
  }
  .guidePage main section h3 span {
    font-size: 1.5rem;
  }
  .guidePage main section h3:before {
    height: 95%;
    top: 54%;
  }
  .guidePage main section .bgBox.flex {
    display: inline-flex;
    padding: 1.6rem 2.5rem;
    min-height: 7.2rem;
    gap: 0.4rem 1.9rem;
    font-size: 1.6rem;
  }
  .guidePage main section .bgBox.flex .telLink {
    font-size: 2.9rem;
  }
}
.guidePage main section .telList {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
.guidePage main section .credit {
  max-width: 409px;
  width: 90%;
}
.guidePage main section .dsk {
  margin-top: 1.6rem;
}
.guidePage main section .kome {
  font-size: 85%;
  font-weight: 500;
  margin-top: 1em;
}
.guidePage main section h4.tblTtl {
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.6;
  margin: 2em 0 0.6em;
}
.guidePage main section h4.tblTtl span {
  font-size: 1.1rem;
}
.guidePage main section .nmlTbl {
  font-family: var(--font-jp);
  font-size: 1.3rem;
  line-height: 1.6;
}
.guidePage main section .nmlTbl .tax {
  font-size: 80%;
}
.guidePage main section .nmlTbl th {
  padding: 0.8rem 1.3rem 0.7rem;
}
.guidePage main section .nmlTbl td {
  padding: 0.8rem 1.3rem 0.7rem;
  padding-left: 2rem;
}
.guidePage main section .shippingTbl th {
  width: 5em;
}
.guidePage main section .shippingTbl td:first-of-type {
  font-size: 1.2rem;
  padding-right: 0;
}
.guidePage main section .shippingTbl td:nth-of-type(2) {
  width: 6em;
  text-align: right;
  padding-right: 0.5em;
}
@media screen and (min-width: 768px) {
  .guidePage main section .telList {
    flex-direction: row;
    gap: 1rem;
  }
  .guidePage main section .dsk {
    margin-top: 2.4rem;
    max-width: 410px;
  }
  .guidePage main section .kome {
    font-size: 90%;
    margin-top: 0.5em;
  }
  .guidePage main section h4.tblTtl {
    font-size: 1.6rem;
    margin: 2em 0 0.8em;
  }
  .guidePage main section h4.tblTtl span {
    font-size: 1.4rem;
  }
  .guidePage main section .nmlTbl {
    font-size: 1.5rem;
  }
  .guidePage main section .nmlTbl th {
    padding: 1.3rem 2rem 1.2rem;
  }
  .guidePage main section .nmlTbl td {
    padding: 1.3rem 2rem 1.2rem;
    padding-left: 2.8rem;
  }
  .guidePage main section .shippingTbl th {
    width: 8em;
  }
  .guidePage main section .shippingTbl td:first-of-type {
    font-size: 1.5rem;
    padding-right: 2.8;
  }
  .guidePage main section .shippingTbl td:nth-of-type(2) {
    width: 9em;
    padding-right: 2.4rem;
  }
  .guidePage main section .fax .btn2 {
    background: var(--color-primary);
    color: #fff;
    font-family: var(--font-jp);
    font-size: 1.3rem;
    line-height: 1.8;
    display: flex !important;
    gap: 0 1rem;
    width: 24rem;
    height: 4.2rem;
    margin-left: 1.4rem;
  }
  .guidePage main section .fax .btn2 i {
    width: 2.3rem;
    height: 2.3rem;
    background: #fff;
    -webkit-mask-image: url(../img/common/i-download.svg);
            mask-image: url(../img/common/i-download.svg);
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
  }
}
.guidePage main section .deliveryTbl {
  width: 100%;
  margin-bottom: 2rem;
  border-left: rgba(var(--color-text2), 0.3) 1px solid;
  border-right: rgba(var(--color-text2), 0.3) 1px solid;
}
@media screen and (max-width: 767px) {
  .guidePage main section .deliveryTbl tr {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
  }
  .guidePage main section .deliveryTbl tr th {
    display: block;
    text-align: center;
  }
  .guidePage main section .deliveryTbl tr > th:nth-child(-n+3) {
    grid-column: span 2;
  }
  .guidePage main section .deliveryTbl tr > th:nth-child(n+4) {
    grid-column: span 3;
  }
  .guidePage main section .deliveryTbl tr > th:nth-child(2) {
    border-left: rgba(var(--color-text2), 0.3) 1px solid;
    border-right: rgba(var(--color-text2), 0.3) 1px solid;
  }
  .guidePage main section .deliveryTbl tr > th:nth-child(5) {
    border-left: rgba(var(--color-text2), 0.3) 1px solid;
  }
}
@media screen and (min-width: 768px) {
  .guidePage main section .deliveryTbl {
    width: auto;
    margin-bottom: 3.8rem;
  }
  .guidePage main section .deliveryTbl th {
    padding: 1.7rem 4rem;
    border-right: rgba(var(--color-text2), 0.3) 1px solid;
  }
  .guidePage main section .deliveryTbl th:last-child {
    border-right: none;
  }
}
.guidePage main section .noshiBox {
  padding: 2rem 1.5rem 2.2rem;
  margin-bottom: 5rem;
}
.guidePage main section .noshiBox ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.2rem 1.4rem;
}
.guidePage main section .noshiBox ul li:first-child {
  grid-column: 1/-1;
}
.guidePage main section .noshiBox ul .noshiItemWrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 1.4rem;
}
.guidePage main section .noshiBox ul .num {
  margin: 0 0 0.4em -0.6em;
  font-size: 1.3rem;
  font-weight: 600;
  line-height: 1.5;
}
.guidePage main section .noshiBox ul .num span {
  font-size: 1rem;
  display: inline-block;
  margin: 0 -0.2em 0 -0.4em;
}
.guidePage main section .noshiBox ul .txt {
  margin: 0.7em 0 0;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.guidePage main section .noshiBox ul .txt span {
  font-size: 1.1rem;
  line-height: 1.4;
  display: block;
  margin-top: 0.4em;
}
@media screen and (min-width: 768px) {
  .guidePage main section .noshiBox {
    padding: 4rem 3.8rem 4.6rem;
    margin-bottom: 5.5rem;
  }
  .guidePage main section .noshiBox ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6rem 5.4rem;
  }
  .guidePage main section .noshiBox ul li:first-child {
    grid-column: span 2;
  }
  .guidePage main section .noshiBox ul .noshiItemWrap {
    gap: 0 5rem;
  }
  .guidePage main section .noshiBox ul .num {
    margin: 0 0 0.5em -0.6em;
    font-size: 1.7rem;
    line-height: 1.5;
  }
  .guidePage main section .noshiBox ul .num span {
    font-size: 1.4rem;
    margin: 0 0 0 -0.3em;
  }
  .guidePage main section .noshiBox ul .txt {
    margin: 0.9em 0 0;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.6;
  }
  .guidePage main section .noshiBox ul .txt span {
    font-size: 1.3rem;
    margin-top: 0.2em;
  }
}
.guidePage main section .bagList {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem 1.5rem;
}
.guidePage main section .bagList p {
  text-align: center;
  margin-top: 0.6em;
  line-height: 1.5;
}
.guidePage main section .bagList p span {
  font-size: 1.2rem;
  display: block;
}
@media screen and (min-width: 768px) {
  .guidePage main section .bagList {
    grid-template-columns: repeat(4, 1fr);
    gap: 0 2.2rem;
  }
  .guidePage main section .bagList p {
    margin-top: 0.8em;
    line-height: 1.5;
    font-size: 1.5rem;
    font-weight: 600;
  }
  .guidePage main section .bagList p span {
    font-size: 1.3rem;
    margin-top: 0.2em;
  }
}
.guidePage main section#business > div {
  display: flex;
  flex-direction: column;
}
.guidePage main section .businessImg {
  width: 80%;
  margin: 3rem auto 5rem;
  display: block;
  order: 1;
}
.guidePage main section .businessFlow {
  margin: 2.5rem 0 4rem;
  display: block;
}
.guidePage main section#business .bgBox {
  padding: 2rem 1.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.guidePage main section#business .bgBox h4 {
  font-size: 1.6rem;
  font-weight: 600;
  margin-bottom: 2.5rem;
}
.guidePage main section#business .bgBox h4:after {
  content: "";
  display: block;
  height: 0.6rem;
  margin-top: 1rem;
  border-bottom: var(--color-primary) 3px solid;
  border-top: var(--color-primary) 1px solid;
}
.guidePage main section#business .bgBox ul {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 2.2rem 0;
}
.guidePage main section#business .bgBox ul li {
  text-align: center;
  width: 100%;
}
.guidePage main section#business .bgBox ul .telLink {
  font-size: 3rem;
  line-height: 1.2;
  font-weight: 600;
  text-decoration: none;
}
.guidePage main section#business .bgBox ul .time {
  font-size: 1.2rem;
  line-height: 1.4;
  font-weight: 500;
  margin-top: 0.3em;
}
.guidePage main section#business .bgBox ul .btn2 {
  background: var(--color-primary);
  color: #fff;
  font-family: var(--font-jp);
  font-size: 1.4rem;
  height: 4.4rem;
  gap: 0 1rem;
}
.guidePage main section#business .bgBox ul .btn2 i {
  width: 1.6em;
  height: 1.6em;
  background: #fff;
  -webkit-mask-image: url(../img/common/i-mail.svg);
          mask-image: url(../img/common/i-mail.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.guidePage main section#business .bgBox ul .address {
  margin-top: 0.4em;
  font-size: 1.6rem;
}
@media screen and (min-width: 768px) {
  .guidePage main section#business > div {
    display: block;
  }
  .guidePage main section .businessImg {
    width: 35%;
    margin: -1.5rem 0 0 7rem;
    float: right;
    order: 0;
  }
  .guidePage main section h3 {
    clear: both;
  }
  .guidePage main section .businessFlow {
    margin: 3.5rem 0 5rem;
    width: 100%;
  }
  .guidePage main section#business .bgBox {
    padding: 2.7rem 3rem;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 0 3.2vw;
  }
  .guidePage main section#business .bgBox h4 {
    font-size: 1.8rem;
    line-height: 1.5;
    margin-bottom: 0;
    padding: 2.5rem 1.7rem;
    text-align: center;
    position: relative;
    white-space: nowrap;
  }
  .guidePage main section#business .bgBox h4:before {
    content: "";
    display: block;
    width: 100%;
    height: 0.7rem;
    margin: 0;
    position: absolute;
    left: 0;
    top: 0;
    border-top: var(--color-primary) 4px solid;
    border-bottom: var(--color-primary) 1px solid;
  }
  .guidePage main section#business .bgBox h4:after {
    content: "";
    display: block;
    width: 100%;
    height: 0.7rem;
    margin: 0;
    position: absolute;
    left: 0;
    bottom: 0;
    border-bottom: var(--color-primary) 4px solid;
    border-top: var(--color-primary) 1px solid;
  }
  .guidePage main section#business .bgBox ul {
    gap: 2.2rem 0;
  }
  .guidePage main section#business .bgBox ul li {
    text-align: left;
    display: flex;
    align-items: center;
  }
  .guidePage main section#business .bgBox ul .telLink {
    font-size: 3.5rem;
    white-space: nowrap;
  }
  .guidePage main section#business .bgBox ul .time {
    font-size: 1.4rem;
    line-height: 1.4;
    font-weight: 600;
    margin: 0 0 0 1.5em;
    padding-top: 0.2em;
  }
  .guidePage main section#business .bgBox ul .time span {
    font-size: 1.3rem;
    display: inline-block;
    margin: 0.2em -0.6em 0;
  }
  .guidePage main section#business .bgBox ul .btn2 {
    font-size: 1.3rem;
    gap: 0 1rem;
    font-weight: bold;
    width: 24rem;
    height: 4.2rem;
  }
  .guidePage main section#business .bgBox ul .address {
    margin: 0 0 0 2em;
    font-size: 1.7rem;
    font-weight: 600;
  }
}

.companyPage .ec-layoutRole__main .ec-pageHeader > div {
  background-image: url(../img/company/bg_sp.jpg);
}
@media screen and (min-width: 768px) {
  .companyPage .ec-layoutRole__main .ec-pageHeader:before {
    background-image: url(../img/company/bg_pc.jpg);
  }
}
.companyPage .ec-layoutRole__main section {
  padding-top: 2rem;
  margin-top: 8rem;
  position: relative;
}
.companyPage .ec-layoutRole__main section h2 {
  font-size: 2.2rem;
  line-height: 1.6;
  text-align: center;
  margin-bottom: 1.3em;
}
@media screen and (min-width: 768px) {
  .companyPage .ec-layoutRole__main section {
    padding-top: 2rem;
    margin-top: 15rem;
  }
  .companyPage .ec-layoutRole__main section h2 {
    font-size: 2.8rem;
    margin-bottom: 1.6em;
  }
}
.companyPage .ec-layoutRole__main .topCatch {
  font-size: 1.8rem;
  line-height: 1.9;
  text-align: center;
  margin: 8rem 0 0;
}
.companyPage .ec-layoutRole__main .philosophy {
  margin-top: 6.6rem;
  padding: 7rem 2.6rem;
  color: #fff;
  font-weight: 300;
}
.companyPage .ec-layoutRole__main .philosophy:before {
  content: "";
  display: block;
  width: 100vw;
  width: calc(100vw - var(--scrollBar));
  height: 100%;
  position: absolute;
  left: 50%;
  top: 0;
  z-index: -1;
  transform: translateX(-50%);
  background: url(../img/company/bg_philosophy.jpg) no-repeat center center;
  background-size: cover;
}
.companyPage .ec-layoutRole__main .philosophy h2 {
  text-align: left;
  font-size: 2.2rem;
  margin-bottom: 1.8em;
  font-weight: 300;
}
.companyPage .ec-layoutRole__main .philosophy h2 span {
  font-size: 1.1rem;
  letter-spacing: 0.09em;
  font-weight: 400;
  display: block;
  margin-bottom: 0.7em;
  padding-left: 0.2em;
}
.companyPage .ec-layoutRole__main .philosophy .txt {
  font-size: 1.4rem;
  line-height: 1.9;
  text-align: justify;
  margin-bottom: 5.4rem;
}
.companyPage .ec-layoutRole__main .philosophy .eng {
  font-size: 1.3rem;
  line-height: 1.7;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .companyPage .ec-layoutRole__main .topCatch {
    font-size: 2.7rem;
    margin: min(9.38vw, 150px) 0 0;
  }
  .companyPage .ec-layoutRole__main .philosophy {
    margin: min(8.13vw, 130px) auto 0;
    padding: min(8.13vw, 130px) 3rem min(8.75vw, 140px);
    max-width: 1020px;
  }
  .companyPage .ec-layoutRole__main .philosophy h2 {
    font-size: 2.7rem;
    margin-bottom: 2.3em;
  }
  .companyPage .ec-layoutRole__main .philosophy h2 span {
    font-size: 1.6rem;
    letter-spacing: 0.09em;
    margin-bottom: 0.8em;
    padding-left: 0.2em;
  }
  .companyPage .ec-layoutRole__main .philosophy .txt {
    font-size: 1.6rem;
    line-height: 2.2;
    margin-bottom: 8rem;
  }
  .companyPage .ec-layoutRole__main .philosophy .eng {
    font-size: 1.4rem;
    line-height: 1.6;
  }
}
.companyPage .ec-layoutRole__main .outline {
  padding-bottom: 1rem;
}
.companyPage .ec-layoutRole__main .outline table {
  width: 100%;
  font-size: 1.3rem;
}
.companyPage .ec-layoutRole__main .outline th {
  width: 10.2rem;
  text-align: center;
}
.companyPage .ec-layoutRole__main .outline td {
  padding: 1.2rem 2.3rem;
}
@media screen and (min-width: 768px) {
  .companyPage .ec-layoutRole__main .outline {
    padding: 0 3rem 0;
    margin-left: auto;
    margin-right: auto;
    max-width: 1060px;
  }
  .companyPage .ec-layoutRole__main .outline table {
    font-size: 1.6rem;
  }
  .companyPage .ec-layoutRole__main .outline th {
    width: 31.4rem;
  }
  .companyPage .ec-layoutRole__main .outline td {
    padding: 2rem 4.6rem;
  }
}
.companyPage .ec-layoutRole__main .access .accessList {
  margin: 3.8rem 3.6rem 0;
  display: flex;
  flex-direction: column;
  gap: 7rem 0;
}
.companyPage .ec-layoutRole__main .access .accessList h3 {
  font-size: 2.1rem;
  line-height: 1.5;
  font-weight: 500;
  margin: 1.8rem 0 1.3rem;
}
.companyPage .ec-layoutRole__main .access .accessList p {
  font-size: 1.4rem;
  line-height: 1.7;
}
.companyPage .ec-layoutRole__main .access .accessList .time {
  display: flex;
  align-items: flex-start;
  gap: 0 0.3rem;
  margin-top: 1.4rem;
}
.companyPage .ec-layoutRole__main .access .accessList .time p {
  line-height: 1.5;
}
.companyPage .ec-layoutRole__main .access .map {
  margin: 6.4rem 0 0;
}
.companyPage .ec-layoutRole__main .access .map iframe {
  border: none;
  width: 100%;
  height: 28rem;
}
@media screen and (min-width: 768px) {
  .companyPage .ec-layoutRole__main .access .accessList {
    flex-direction: row;
    gap: 0 3.6%;
    margin: 5rem auto 0;
    max-width: 1160px;
  }
  .companyPage .ec-layoutRole__main .access .accessList h3 {
    margin: 1.9rem 0 1.6rem;
  }
  .companyPage .ec-layoutRole__main .access .accessList p {
    font-size: 1.5rem;
    line-height: 1.7;
  }
  .companyPage .ec-layoutRole__main .access .map {
    margin: 6.6rem auto 0;
    max-width: 1200px;
  }
  .companyPage .ec-layoutRole__main .access .map iframe {
    height: 48rem;
  }
}

.about_usPage .ec-layoutRole__main .ec-pageHeader {
  margin-bottom: 0;
}
.about_usPage .ec-layoutRole__main .ec-pageHeader h1 {
  writing-mode: vertical-rl;
  font-size: 2rem;
  text-shadow: none;
  letter-spacing: 0.3em;
}
.about_usPage .ec-layoutRole__main .ec-pageHeader > div {
  background-image: url(../img/about-us/bg_sp.jpg);
  height: 35rem;
  align-items: flex-start;
  padding: 4.5rem 0 0;
}
@media screen and (min-width: 768px) {
  .about_usPage .ec-layoutRole__main .ec-pageHeader h1 {
    font-size: 3rem;
    letter-spacing: 0.4em;
  }
  .about_usPage .ec-layoutRole__main .ec-pageHeader h1 strong {
    font-weight: 400;
  }
  .about_usPage .ec-layoutRole__main .ec-pageHeader > div {
    height: 69rem;
    padding: 10.6rem 0 0;
  }
  .about_usPage .ec-layoutRole__main .ec-pageHeader:before {
    background-image: url(../img/about-us/bg_pc.jpg);
    background-position: center bottom;
    height: 100%;
  }
}
.about_usPage .ec-layoutRole__main .topArea {
  padding: 7.5rem 2.5rem 2.4rem;
}
.about_usPage .ec-layoutRole__main .topArea h2 {
  text-align: center;
  font-size: 2.2rem;
  line-height: 1.5;
  margin-bottom: 2em;
}
.about_usPage .ec-layoutRole__main .topArea h2 span {
  display: block;
  font-size: 1.1rem;
  letter-spacing: 0.05em;
  font-weight: 500;
  margin-bottom: 1.3em;
}
.about_usPage .ec-layoutRole__main .topArea .txt {
  font-size: 1.4rem;
  line-height: 2;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .about_usPage .ec-layoutRole__main .topArea {
    padding: 15rem 0 23rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .about_usPage .ec-layoutRole__main .topArea h2 {
    font-size: 3.1rem;
    margin-bottom: 2.7em;
  }
  .about_usPage .ec-layoutRole__main .topArea h2 span {
    font-size: 1.6rem;
    margin-bottom: 1.3em;
  }
  .about_usPage .ec-layoutRole__main .topArea .txt {
    font-size: 1.6rem;
    line-height: 2.2;
    text-align: left;
  }
}
.about_usPage .ec-layoutRole__main .imageSec {
  padding: 8rem 2.5rem 0;
  position: relative;
}
.about_usPage .ec-layoutRole__main .imageSec .txtArea img {
  display: block;
  max-width: none;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  width: calc(100vw - var(--scrollBar));
}
.about_usPage .ec-layoutRole__main .imageSec h3 {
  writing-mode: vertical-rl;
  position: relative;
  margin: 0 1.4rem 3.6rem auto;
  display: flex;
  align-items: flex-start;
  font-size: 2.8rem;
  line-height: 1.7;
}
.about_usPage .ec-layoutRole__main .imageSec h3 strong {
  font-weight: 400;
  letter-spacing: 0.5em;
}
.about_usPage .ec-layoutRole__main .imageSec h3 span {
  writing-mode: horizontal-tb;
  font-size: 1.5rem;
  letter-spacing: 0;
  line-height: 1.6;
  margin: 1.6rem 1rem 0 0;
}
.about_usPage .ec-layoutRole__main .imageSec .underTxt {
  margin-top: 3.4rem;
  font-size: 1.5rem;
  line-height: 2;
  text-align: justify;
}
.about_usPage .ec-layoutRole__main .imageSec .underTxt .eng {
  font-size: 1.3rem;
  line-height: 1.7;
  margin-top: 3rem;
}
.about_usPage .ec-layoutRole__main .imageSec.left h3 {
  margin: 0 auto 3.6rem 1.4rem;
  display: flex;
  align-items: flex-end;
}
.about_usPage .ec-layoutRole__main .imageSec.left h3 span {
  margin: 1.6rem 0 0 1rem;
}
@media screen and (min-width: 768px) {
  .about_usPage .ec-layoutRole__main .imageSec {
    padding: 0;
    margin: min(20.63vw, 330px) 0 0;
    width: 100vw;
    width: calc(100vw - var(--scrollBar));
    max-width: 1600px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
    align-items: flex-start;
  }
  .about_usPage .ec-layoutRole__main .imageSec .txtArea {
    width: 50%;
    padding: min(2.88vw, 46px) min(6.88vw, 110px) 0 min(5.63vw, 90px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-end;
  }
  .about_usPage .ec-layoutRole__main .imageSec .pc.img {
    width: 50%;
  }
  .about_usPage .ec-layoutRole__main .imageSec h3 {
    margin: 0 0 0 auto;
    font-size: 3.2rem;
    line-height: 1.9;
  }
  .about_usPage .ec-layoutRole__main .imageSec h3 strong {
    font-weight: 400;
    letter-spacing: 0.5em;
  }
  .about_usPage .ec-layoutRole__main .imageSec h3 span {
    font-size: 1.6rem;
    line-height: 1.6;
    margin: 2rem 1.5rem 0 0;
  }
  .about_usPage .ec-layoutRole__main .imageSec .underTxt {
    margin: min(11.25vw, 180px) 0 0;
    max-width: 480px;
    font-size: 1.6rem;
    letter-spacing: 0.04em;
    line-height: 2;
    text-align: left;
  }
  .about_usPage .ec-layoutRole__main .imageSec .underTxt .eng {
    font-size: 1.3rem;
    letter-spacing: 0.01em;
    line-height: 1.7;
    margin-top: 2.6rem;
  }
  .about_usPage .ec-layoutRole__main .imageSec.left {
    flex-direction: row-reverse;
  }
  .about_usPage .ec-layoutRole__main .imageSec.left .txtArea {
    padding: min(2.88vw, 46px) min(5.63vw, 90px) 0 min(6.88vw, 110px);
    align-items: flex-start;
  }
  .about_usPage .ec-layoutRole__main .imageSec.left h3 {
    margin: 0 auto 0 0;
  }
  .about_usPage .ec-layoutRole__main .imageSec.left h3 span {
    margin: 2rem 0 0 1.5rem;
  }
}
.about_usPage .ec-layoutRole__main #sec01 {
  margin-bottom: -11rem;
}
.about_usPage .ec-layoutRole__main #sec01 h3 span {
  position: absolute;
  left: -3rem;
  bottom: -0.3rem;
  white-space: nowrap;
  transform: translate(-100%, 0);
}
.about_usPage .ec-layoutRole__main #sec01 .img02 {
  display: block;
  width: 17.2rem;
  margin: 4.6rem -2.5rem 0 auto;
}
.about_usPage .ec-layoutRole__main #sec03 h3 span {
  position: absolute;
  left: -3rem;
  bottom: -0.3rem;
  white-space: nowrap;
  transform: translate(-100%, 0);
}
.about_usPage .ec-layoutRole__main #sec03 .img02 {
  display: block;
  width: 15.2rem;
  margin: 3rem -2.5rem 0 auto;
  position: relative;
  z-index: 10;
}
.about_usPage .ec-layoutRole__main #sec03 .img03 {
  display: block;
  width: 27rem;
  margin: -4.8rem 0 0 -2.5rem;
}
.about_usPage .ec-layoutRole__main #sec04 h3 span {
  position: absolute;
  right: -3rem;
  bottom: -0.3rem;
  white-space: nowrap;
  transform: translate(100%, 0);
}
.about_usPage .ec-layoutRole__main #sec04 .img02 {
  display: block;
  width: 25rem;
  margin: 4.6rem 0 0;
}
.about_usPage .ec-layoutRole__main #sec04 .img03 {
  display: block;
  width: 20rem;
  margin: 3.6rem -2.5rem 0 auto;
}
@media screen and (min-width: 768px) {
  .about_usPage .ec-layoutRole__main #sec01 {
    margin: 0;
  }
  .about_usPage .ec-layoutRole__main #sec01 h3 span {
    position: relative;
    left: auto;
    bottom: auto;
    transform: none;
  }
  .about_usPage .ec-layoutRole__main #sec01 .img02 {
    position: absolute;
    right: min(6.88vw, 110px);
    bottom: max(-7.38vw, -118px);
    transform: translateY(calc(100% + 3rem));
    width: min(16.25vw, 260px);
    margin: 0;
  }
  .about_usPage .ec-layoutRole__main #sec01 .img02.scrolled {
    transform: translateY(100%);
  }
  .about_usPage .ec-layoutRole__main #sec01 .underTxt p:not(.eng) {
    white-space: nowrap;
  }
  .about_usPage .ec-layoutRole__main #sec03 {
    flex-wrap: wrap;
  }
  .about_usPage .ec-layoutRole__main #sec03 .txtArea {
    width: 37.5%;
  }
  .about_usPage .ec-layoutRole__main #sec03 .pc.img {
    width: 62.5%;
  }
  .about_usPage .ec-layoutRole__main #sec03 h3 span {
    position: absolute;
    left: -4rem;
    bottom: -0.6rem;
  }
  .about_usPage .ec-layoutRole__main #sec03 .underTxt {
    width: 100%;
    max-width: none;
    padding-right: 50%;
    position: relative;
    margin: 0;
    padding-top: min(7vw, 112px);
    padding-bottom: min(1.88vw, 30px);
  }
  .about_usPage .ec-layoutRole__main #sec03 .underTxt p:not(.eng) {
    white-space: nowrap;
  }
  .about_usPage .ec-layoutRole__main #sec03 .underTxt p {
    max-width: 680px;
    margin-left: auto;
    padding-right: min(6.88vw, 110px);
    padding-left: min(5.63vw, 90px);
  }
  .about_usPage .ec-layoutRole__main #sec03 .img02 {
    position: absolute;
    width: min(13.38vw, 214px);
    right: min(5.25vw, 84px);
    top: max(-2.19vw, -35px);
    margin: 0;
    z-index: 10;
  }
  .about_usPage .ec-layoutRole__main #sec03 .img03 {
    position: absolute;
    width: min(22vw, 352px);
    right: min(22.81vw, 365px);
    bottom: max(-1.5vw, -24px);
    margin: 0;
  }
  .about_usPage .ec-layoutRole__main #sec04 h3 span {
    position: absolute;
    right: -4rem;
    bottom: -0.6rem;
  }
  .about_usPage .ec-layoutRole__main #sec04 .pc.img {
    width: 34.68%;
    margin-left: 15.32%;
  }
  .about_usPage .ec-layoutRole__main #sec04 .img02 {
    position: absolute;
    width: min(24.38vw, 390px);
    margin: 0;
    left: 0;
    top: min(26.75vw, 428px);
  }
  .about_usPage .ec-layoutRole__main #sec04 .img03 {
    position: absolute;
    width: min(19.25vw, 308px);
    margin: 0;
    left: min(27.5vw, 440px);
    top: min(35.63vw, 570px);
  }
}
.about_usPage .ec-layoutRole__main .koadawari {
  padding: 6.4rem 0 7.4rem;
  margin: 10.8rem 0 0;
  position: relative;
}
.about_usPage .ec-layoutRole__main .koadawari:before {
  content: "";
  display: block;
  width: 100vw;
  width: calc(100vw - var(--scrollBar));
  height: 100%;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  z-index: -1;
  background: var(--bg2);
}
.about_usPage .ec-layoutRole__main .koadawari h2 {
  text-align: center;
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.6;
  margin-bottom: 2em;
}
@media screen and (min-width: 768px) {
  .about_usPage .ec-layoutRole__main .koadawari {
    padding: min(8.75vw, 140px) 0 min(8.13vw, 130px);
    margin: min(19.38vw, 310px) 0 0;
  }
  .about_usPage .ec-layoutRole__main .koadawari h2 {
    font-size: 2.8rem;
    margin-bottom: min(4.81vw, 77px);
  }
}
.about_usPage .ec-layoutRole__main .koadawari .bdBox {
  margin: 2.8rem 1.5rem 0;
  background: rgba(255, 255, 255, 0.7);
  border: rgba(var(--color-text2), 0.7) 1px solid;
  position: relative;
  padding: 4.2rem 2.5rem 4.5rem;
}
.about_usPage .ec-layoutRole__main .koadawari .bdBox:first-of-type {
  margin-top: 0;
}
.about_usPage .ec-layoutRole__main .koadawari .bdBox:before {
  content: "";
  display: block;
  width: calc(100% - 10px);
  height: calc(100% - 10px);
  position: absolute;
  left: 4px;
  top: 4px;
  z-index: 0;
  border: rgba(var(--color-text2), 0.4) 1px solid;
}
.about_usPage .ec-layoutRole__main .koadawari .bdBox * {
  position: relative;
  z-index: 10;
}
.about_usPage .ec-layoutRole__main .koadawari .bdBox h3 {
  text-align: center;
  font-size: 1.9rem;
  font-weight: 500;
  line-height: 1.6;
  margin-bottom: 1.2em;
}
.about_usPage .ec-layoutRole__main .koadawari .bdBox .txt {
  font-size: 1.3rem;
  line-height: 1.9;
  text-align: justify;
}
.about_usPage .ec-layoutRole__main .koadawari .bdBox ol li {
  font-size: 1.3rem;
  line-height: 1.7;
  text-align: justify;
  padding-left: 1.7em;
  position: relative;
  counter-increment: num;
}
.about_usPage .ec-layoutRole__main .koadawari .bdBox ol li:not(:first-child) {
  margin-top: 1em;
}
.about_usPage .ec-layoutRole__main .koadawari .bdBox ol li:before {
  content: counter(num) ".";
  position: absolute;
  left: 0;
  top: 0.3em;
}
.about_usPage .ec-layoutRole__main .koadawari .bdBox p + ol {
  margin-top: 2.8rem;
}
@media screen and (min-width: 768px) {
  .about_usPage .ec-layoutRole__main .koadawari .bdBox {
    max-width: 1020px;
    margin: 3.8rem auto 0;
    padding: 3.9rem 5.8rem 4.2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .about_usPage .ec-layoutRole__main .koadawari .bdBox h3 {
    font-size: 2.2rem;
    margin-bottom: 1.6em;
  }
  .about_usPage .ec-layoutRole__main .koadawari .bdBox .txt {
    font-size: 1.6rem;
    line-height: 2;
  }
  .about_usPage .ec-layoutRole__main .koadawari .bdBox ol li {
    font-size: 1.6rem;
    line-height: 1.6;
    padding-left: 2.6em;
  }
  .about_usPage .ec-layoutRole__main .koadawari .bdBox ol li:not(:first-child) {
    margin-top: 1em;
  }
  .about_usPage .ec-layoutRole__main .koadawari .bdBox ol li:before {
    top: 0.25em;
  }
  .about_usPage .ec-layoutRole__main .koadawari .bdBox p + ol {
    margin-top: 3.8rem;
  }
}
.about_usPage .ec-layoutRole__main .koadawari .imgList {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 2.5rem;
  margin: 7.4rem 3.2rem 0;
}
@media screen and (min-width: 768px) {
  .about_usPage .ec-layoutRole__main .koadawari .imgList {
    grid-template-columns: repeat(2, 1fr);
    gap: 3.6rem;
    margin: min(6.88vw, 110px) auto 0;
    max-width: 90rem;
  }
}
.about_usPage .ec-layoutRole__main .ariakesodachi {
  padding: 10rem 2.5rem 0;
  position: relative;
}
.about_usPage .ec-layoutRole__main .ariakesodachi h2 {
  text-align: center;
  font-size: 2.3rem;
  line-height: 1.6;
  margin-bottom: 1.4em;
}
.about_usPage .ec-layoutRole__main .ariakesodachi .txt {
  font-size: 1.5rem;
  letter-spacing: -0.03em;
  text-align: justify;
  line-height: 2;
}
.about_usPage .ec-layoutRole__main .ariakesodachi .btn2 {
  gap: 0 1rem;
  width: 27.4rem;
  height: 5rem;
  margin: 0 auto;
  background: var(--color-primary);
  color: #fff;
  font-size: 1.45rem;
  font-weight: 400;
}
.about_usPage .ec-layoutRole__main .ariakesodachi .btn2:after {
  content: "";
  display: block;
  width: 0.6em;
  height: 0.6em;
  margin-right: -0.4em;
  background: #fff;
  transform: rotate(-90deg);
  -webkit-mask-image: url(../img/common/arrow.svg);
          mask-image: url(../img/common/arrow.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media screen and (min-width: 768px) {
  .about_usPage .ec-layoutRole__main .ariakesodachi {
    max-width: 1600px;
    margin: 25rem -11rem 8rem 0;
    padding: 2rem 0;
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
    align-items: center;
    gap: 0 8.45%;
  }
  .about_usPage .ec-layoutRole__main .ariakesodachi .txtBox {
    background: var(--bg2);
    padding: min(4.88vw, 78px) min(4.38vw, 70px);
    position: relative;
    width: 51.8%;
  }
  .about_usPage .ec-layoutRole__main .ariakesodachi .txtBox * {
    position: relative;
    z-index: 10;
  }
  .about_usPage .ec-layoutRole__main .ariakesodachi .txtBox .kyushu {
    width: 29rem;
    position: absolute;
    right: 2.3rem;
    top: -11.8rem;
    z-index: 0;
  }
  .about_usPage .ec-layoutRole__main .ariakesodachi .txtBox .btn2 {
    display: flex !important;
    gap: 0 1.6rem;
    position: absolute;
    right: 7rem;
    bottom: 0;
    transform: translateY(50%);
    width: 31.6rem;
    height: 5.3rem;
    font-size: 1.6rem;
  }
  .about_usPage .ec-layoutRole__main .ariakesodachi .txtBox .btn2:after {
    width: 0.5em;
    height: 0.5em;
    margin-right: -0.7em;
  }
  .about_usPage .ec-layoutRole__main .ariakesodachi h2 {
    text-align: left;
    font-size: 2.7rem;
    margin-bottom: 1.4em;
  }
  .about_usPage .ec-layoutRole__main .ariakesodachi .txt {
    font-size: 1.6rem;
    letter-spacing: -0.03em;
    text-align: left;
  }
}
@media screen and (min-width: 1615px) {
  .about_usPage .ec-layoutRole__main .ariakesodachi {
    margin: 25rem auto 8rem;
  }
}
.about_usPage .ec-layoutRole__main .ariakesodachi .imgBox {
  position: relative;
  margin-top: 2rem;
  padding: 15.5rem 0 20.5rem;
}
.about_usPage .ec-layoutRole__main .ariakesodachi .imgBox .kyushu {
  width: 22.4rem;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
}
.about_usPage .ec-layoutRole__main .ariakesodachi .imgBox .item {
  width: 20.8rem;
  margin: 0 auto 3.5rem;
  display: block;
}
.about_usPage .ec-layoutRole__main .ariakesodachi .imgBox .bg {
  width: 100vw;
  width: calc(100vw - var(--scrollBar));
  max-width: none;
  aspect-ratio: 380/224;
  -o-object-position: center bottom;
     object-position: center bottom;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  left: 50%;
  bottom: 0;
  z-index: -1;
  transform: translateX(-50%);
}
@media screen and (min-width: 768px) {
  .about_usPage .ec-layoutRole__main .ariakesodachi .imgBox {
    position: initial;
    padding: 0 0 0 1rem;
    margin: 0;
  }
  .about_usPage .ec-layoutRole__main .ariakesodachi .imgBox .bg {
    position: absolute;
    left: max(-5.63vw, -90px);
    top: 50%;
    transform: translateY(-50%);
    width: 62.4%;
    aspect-ratio: auto;
  }
  .about_usPage .ec-layoutRole__main .ariakesodachi .imgBox .item {
    width: min(25.31vw, 405px);
    margin: 0;
  }
}/*# sourceMappingURL=customize.css.map */