/* カスタマイズ用CSS */
@charset "UTF-8";

/* カスタマイズ用CSS */
@import url('https://cdn.jsdelivr.net/npm/yakuhanjp@4.1.1/dist/css/yakuhanjp.css');
@import url('https://cdn.jsdelivr.net/npm/yakuhanjp@4.1.1/dist/css/yakuhanmp.css');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');
@import url('https://use.typekit.net/qrr2tua.css');

/* !:root
---------------------------------------------------------- */
:root {
	--color: #584C3E;
	--color2: #FFF9ED;
	--color5: #584C3E;
	--color6: #BCB4AA;
	--color7: #C08676;
	--color8: #D08672;
	--color9: #514941;
	--color10: #D0B692;
	--color11: #F2F0EE;
	--color13: #91897F;

	--box-shadow-sp: 3.5px 3.5px 10px 0 rgba(88, 76, 62, .21);
	--box-shadow-pc: 7px 7px 20px 0 rgba(88, 76, 62, .21);

	--font-en: "contralto-medium",sans-serif;
}

/* !HTML5 elements
---------------------------------------------------------- */
header, 
footer, 
nav, 
section, 
aside, 
article {
    display: block;
}

/* !Reseting
---------------------------------------------------------- */
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

fieldset {
  border: none;
}

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

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

table {
	border-collapse: collapse;
}

button {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
}

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

input[type=radio]::-ms-check,
input[type=checkbox]::-ms-check{
	display: none;
}

select,
input[type=radio],
input[type=checkbox],
input[type=text],
input[type=search],
input[type=password],
input[type=email],
input[type=tel],
input[type=number],
input[type=reset],
input[type=button],
input[type=submit],
textarea {
	appearance: none;
	border-radius: 0;
	font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	outline: none;
}

input[type=text]::-ms-clear,
input[type=tel]::-ms-clear,
input[type=number]::-ms-clear{
	display: none;
}

input[type=reset],
input[type=button],
input[type=submit]  {
	font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	cursor: pointer;
}

a,
button {
	color: var(--color);
	text-decoration: none;
}

input::-webkit-input-placeholder, 
textarea::-webkit-input-placeholder { 
  color: rgba(88, 76, 62, .5); 
} 
input:-moz-placeholder, 
textarea:-moz-placeholder { 
  color: rgba(88, 76, 62, .5); 
} 
input::-moz-placeholder, 
textarea::-moz-placeholder { 
  color: rgba(88, 76, 62, .5); 
} 
input:-ms-input-placeholder, 
textarea:-ms-input-placeholder { 
  color: rgba(88, 76, 62, .5); 
} 

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

body {
    font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 400;
    color: var(--color);
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    counter-reset: section;
    background: #fff;
}

body.have_curtain {
	overflow: hidden;
}

.serif {
	font-family: YakuHanMP, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
}

.has-hover:focus {
  text-decoration: none;
}

@media screen and (min-width: 900px) {
	a {
		transition: all .3s;
	}

    a[href^="tel:"] {
        cursor: default;
        pointer-events:none;
    }

    a:hover {
      color: var(--color);
    }

    .has-hover {
    	transition: opacity .3s;
    	text-decoration: none;
    }

    .has-hover:hover {
    	opacity: .5;
    	transition: opacity .3s;
    	text-decoration: none;
    }
}

@media screen and (max-width: 767px) {
    .has-hover:focus,
    .has-hover:hover {
      color: currentColor;
      text-decoration: none;
    }
}

.is-hide {
	display: none !important;
}

.is-pc,
.no-tab {
    display: block !important;
}

.is-sp,
.only-pc,
.only-tab {
    display: none !important;
}

@media screen and (min-width: 1280px) {
  .only-pc {
    display: block !important;
  }

  .is-ts {
    display: none !important;
  }
}

/*** ミドル 1279~768***/
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .only-tab {
    display: block !important;
  }

  .no-tab {
    display: none !important;
  }
}

@media screen and (max-width: 1279px) {
  .is-ts {
    display: block !important;
  }
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    .is-pc {
        display: none !important;
    }

    .is-sp {
        display: block !important;
    }
}

.slick-slider {
    margin-bottom: 0;
}
.slick-dots {
    position: absolute;
    bottom: 40px;
    display: block;
    width: 100%;
    padding: 0;
    list-style: none;
    text-align: center;
    line-height: 1;
    font-size: 1px;
}
.slick-dots li {
    position: relative;
    display: inline-block;
    width: 18px;
    height: 18px;
    margin: 0 12px;
    padding: 0;
    cursor: pointer;
    border-radius: 100%;
    overflow: hidden;
}
.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 18px;
    height: 18px;
    padding: 0;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: var(--color);
    opacity: .36;
}
.slick-dots li button:hover, .slick-dots li button:focus {
    outline: none;
}

.slick-dots li.slick-active button {
    opacity: 1;
}

@media screen and (max-width: 767px) {
	.slick-dots {
	    bottom: 20px;
	}
	.slick-dots li {
	    width: 9px;
	    height: 9px;
	    margin: 0 6px;
	}
	.slick-dots li button {
	    width: 9px;
	    height: 9px;
	}
}


.ec-role {
    padding: 0 50px;
    font-size: 16px;
    line-height: 1.5;
    color: var(--color);
    max-width: 1280px;
}

@media screen and (max-width: 767px) {
	.ec-role {
	    padding: 0 25px;
	    font-size: 12px;
	}
}

/* !button
---------------------------------------------------------- */
.ec-inlineBtn {
  border: 1.5px solid var(--color);
  font-size: 15px;
  padding: 15px;
  color: var(--color);
  background: url(../img/common/icon_arrow_right_light.svg) right 16px center no-repeat;
  background-size: 5px auto;
  border-radius: 30px;
  width: 100%;
}

.ec-inlineBtn:focus, 
.ec-inlineBtn.focus, 
.ec-inlineBtn:active:focus, 
.ec-inlineBtn:active.focus, 
.ec-inlineBtn.active:focus, 
.ec-inlineBtn.active.focus {
  outline: 0;
  outline-offset: 0;
  color: var(--color);
  background-color: transparent;
  border-color: var(--color);
}

.ec-inlineBtn:hover {
  color: var(--color);
  background-color: #fff;
  border-color: var(--color);
}

.ec-inlineBtn:disabled, 
.ec-inlineBtn.disabled {
  color: #fff;
  background-color: #ddd;
  border-color: #ddd;
}

.ec-inlineBtn--action {
  border: 1.5px solid var(--color);
  font-size: 14px;
  padding: 14px;
  color: var(--color);
  background: url(../img/common/icon_arrow_right.svg) right 16px center no-repeat;
  background-size: 5px auto;
  border-radius: 7.5px;
  width: 100%;
  position: relative;
}

.ec-inlineBtn--action:focus, 
.ec-inlineBtn--action.focus, 
.ec-inlineBtn--action:active:focus, 
.ec-inlineBtn--action:active.focus, 
.ec-inlineBtn--action.active:focus, 
.ec-inlineBtn--action.active.focus {
  outline: 0;
  outline-offset: 0;
  color: var(--color);
  background-color: transparent;
  border-color: var(--color);
}

.ec-inlineBtn--action:hover {
  color: var(--color);
  background-color: #fff;
  border-color: var(--color);
}

.ec-inlineBtn--action:disabled, 
.ec-inlineBtn--action.disabled {
  color: #fff;
  background-color: #ddd;
  border-color: #ddd;
}

.ec-blockBtn--action {
  border: 1px solid var(--color10);
  font-size: 14px;
  font-weight: bold;
  padding: 15px;
  color: #fff;
  background-color: var(--color10);
  height: 50px;
  line-height: 1.5;
  border-radius: 5px;
  position: relative;
  z-index: 2;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all .4s ease;
  box-shadow: none !important;
}

.ec-blockBtn--action:focus, 
.ec-blockBtn--action.focus, 
.ec-blockBtn--action:active:focus, 
.ec-blockBtn--action:active.focus, 
.ec-blockBtn--action:active, 
.ec-blockBtn--action.active,
.ec-blockBtn--action.active:focus, 
.ec-blockBtn--action.active.focus {
  outline: 0;
  outline-offset: 0;
  color: #fff;
  background-color: var(--color10);
  border-color: var(--color10);
}

.ec-blockBtn--action:focus:before {
  background-color: var(--color10);
}

.ec-blockBtn--action:hover {
  color: var(--color10);
  background-color: #fff;
  border-color: var(--color10);
}

.ec-blockBtn--action:disabled, 
.ec-blockBtn--action.disabled {
  color: #fff;
  background-color: #ddd;
  border-color: #ddd;
}

.ec-blockBtn--action:disabled:before, 
.ec-blockBtn--action.disabled:before {
  background-color: #ddd;
}

.ec-blockBtn--cancel {
  border: 1px solid #B3AB9F;
  font-size: 14px;
  font-weight: bold;
  padding: 15px;
  color: #fff;
  background-color: #B3AB9F;
  height: 50px;
  line-height: 1.5;
  border-radius: 5px;
  position: relative;
  z-index: 2;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all .4s ease;
  box-shadow: none !important;
}

.ec-blockBtn--cancel:focus, 
.ec-blockBtn--cancel.focus, 
.ec-blockBtn--cancel:active:focus, 
.ec-blockBtn--cancel:active.focus, 
.ec-blockBtn--cancel:active, 
.ec-blockBtn--cancel.active,
.ec-blockBtn--cancel.active:focus, 
.ec-blockBtn--cancel.active.focus {
  outline: 0;
  outline-offset: 0;
  color: #fff;
  background-color: #B3AB9F;
  border-color: #B3AB9F;
}

.ec-blockBtn--cancel:focus:before {
  background-color: #B3AB9F;
}

.ec-blockBtn--cancel:hover {
  color: #B3AB9F;
  background-color: #fff;
  border-color: #B3AB9F;
}

.ec-blockBtn--cancel:disabled, 
.ec-blockBtn--cancel.disabled {
  color: #fff;
  background-color: #ddd;
  border-color: #ddd;
}

.ec-blockBtn--cancel:disabled:before, 
.ec-blockBtn--cancel.disabled:before {
  background-color: #ddd;
}
@media screen and (min-width: 768px) {
	.ec-inlineBtn {
	  border: 2px solid var(--color);
	  font-size: 20px;
	  line-height: 1.45;
	  padding: 25px;
	  background: url(../img/common/icon_arrow_right_light.svg) right 38px center no-repeat;
	  background-size: 10px auto;
	  border-radius: 50px;
	}

	.ec-inlineBtn--action {
	  border: 3px solid var(--color);
	  font-size: 20px;
	  padding: 34px 0 34px 28px;
	  color: var(--color);
	  background: url(../img/common/icon_arrow_right.svg) right 30px center no-repeat;
	  background-size: 9px auto;
	  border-radius: 15px;
	}

	.ec-blockBtn--action {
	  border: 2px solid var(--color10);
	  font-size: 20px;
	  padding: 25px;
	  height: 80px;
	  border-radius: 10px;
	}

	.ec-blockBtn--cancel {
	  border: 2px solid #B3AB9F;
	  font-size: 20px;
	  padding: 25px;
	  height: 80px;
	  border-radius: 10px;
	}
}

/* !link
---------------------------------------------------------- */

.ec-link {
  color: rgba(88, 76, 62, .5);
  text-decoration: none;
  word-break: break-all;
}

.ec-linkBtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 60px;
	background: var(--color10);
	border-radius: 7.5px;
	font-size: 14px;
	letter-spacing: .11em;
	line-height: 1.5;
	color: #fff;
	font-weight: 800;
	position: relative;
}

.ec-linkBtn:before {
  width: 15px;
  height: 15px;
  content: '';
  background: url(../img/common/icon_arrow_links_maru.svg) center center no-repeat;
  background-size: 100% 100%;
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}

.ec-linkBtn:hover {
	color: #fff;
	text-decoration: none;
	opacity: .7;
}

.ec-linkArrow {
	padding-right: 12px;
	font-size: 11px;
	line-height: 1.5;
	font-weight: 600;
	color: var(--color6);
	letter-spacing: .04em;
	background: url(../img/common/icon_arrow_right_light.svg) right center no-repeat;
	background-size: 3.5px auto;
}

@media screen and (min-width: 768px) {
	.ec-linkBtn {
		height: 100px;
		border-radius: 15px;
		font-size: 20px;
	}

	.ec-linkBtn:before {
	  width: 30px;
	  height: 30px;
	  right: 28px;
	}

	.ec-linkArrow {
		padding-right: 30px;
		font-size: 20px;
		line-height: 1.45;
		background-size: 7px auto;
	}

	.ec-linkArrow:hover {
		text-decoration: none;
		color: var(--color6);
	}
}

/* !heading
---------------------------------------------------------- */
.ec-secHeading {
	text-align: center;
	margin-bottom: 30px;
	color: var(--color);
}

.ec-secHeading .ec-secHeading__en {
	display: block;
	font-size: 32.5px;
	font-weight: 600;
	line-height: 1.23;
	margin-bottom: 5px;
	letter-spacing: .05em;
	font-family: var(--font-en);
	color: var(--color9);
}

.ec-secHeading .ec-secHeading__ja {
	display: block;
	font-size: 13px;
	line-height: 1.46;
	letter-spacing: .15em;
	opacity: .61;
	font-weight: 600;
	vertical-align: 0;
}

@media screen and (min-width: 768px) {
	.ec-secHeading {
		margin-bottom: 75px;
	}

	.ec-secHeading .ec-secHeading__en {
		font-size: 55px;
		margin-bottom: 9px;
	}

	.ec-secHeading .ec-secHeading__ja {
		font-size: 18px;
		line-height: 1.5;
	}
}

.ec-heading-large {
	font-size: 17.5px;
	font-weight: bold;
	color: var(--color);
	line-height: 1.46;
	margin-bottom: 15px;
	letter-spacing: .06em;
	text-align: center;
}

@media screen and (min-width: 768px) {
	.ec-heading-large {
		font-size: 30px;
		line-height: 1.44;
		margin-bottom: 45px;
	}
}

/* !layout
---------------------------------------------------------- */
.ec-layoutRole {
	padding-top: 90px;
	background: #F7F2E8;
	word-break: break-all;
}

@media screen and (max-width: 767px) {
	.ec-layoutRole {
		padding-top: 60px;
	}
}

/* !header
---------------------------------------------------------- */
.ec-layoutRole__header {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 999;
	width: 100%;
	background: #FFFAF0;
	box-shadow: 0 7px 20px 0 rgba(0, 0, 0, .16);
}

.ec-headerNaviRole {
	padding: 0 50px;
	width: 100%;
	max-width: 1280px;
	height: 90px;
    font-size: 16px;
    line-height: 1.5;
    color: var(--color);
    margin: 0 auto;
}

.ec-headerNaviRole:after {
	display: none;
}

.ec-headerNaviRole .ec-headerNaviRole__left,
.ec-headerNaviRole .ec-headerNaviRole__right {
	width: auto;
	display: block;
}

.ec-headerNavSP {
	display: flex !important;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	width: 44px;
	height: 28px;
	border-radius: 0;
    padding: 0;
    font-size: 1px;
    background: none;
    position: static;
}

.ec-headerNavSP .ec-headerNavSP__line {
	width: 100%;
	height: 2px;
	background: var(--color);
}

.ec-cartNavi {
	display: flex;
	justify-content: center;
	border-radius: 100%;
	padding: 0;
	width: 56px;
	min-width: 56px;
	height: 56px;
	background: url(../img/common/icon_cart.svg) center center no-repeat;
	background-size: 22.39px auto;
	border: 1.48px solid #8E8E8E;
}

.ec-headerRole {
    margin: 0;
    padding: 0;
    font-size: 1px;
    line-height: 1;
    color: var(--color);
    width: 138.88px;
    max-width: unset;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    display: block;
    z-index: 2;
}

@media screen and (max-width: 767px) {
	.ec-layoutRole__header {
		box-shadow: 0 3.5px 10px 0 rgba(0, 0, 0, .16);
	}

	.ec-headerNaviRole {
		padding: 0 12px 0 20px;
		height: 60px;
	}

	.ec-headerNavSP {
		width: 28px;
		height: 18px;
	}

	.ec-headerNavSP .ec-headerNavSP__line {
		height: 1px;
	}

	.ec-cartNavi {
		width: 36px;
		min-width: 36px;
		height: 36px;
		background-size: 14.35px auto;
		border: 1px solid #8E8E8E;
	}

	.ec-headerRole {
	    width: 89px;
	}
}


/* !contents
---------------------------------------------------------- */
.ec-layoutRole .ec-layoutRole__contents {
    max-width: 100%;
    padding-bottom: 58px;
}

@media screen and (min-width: 768px) {
	.ec-layoutRole .ec-layoutRole__contents {
    padding-bottom: 252px;
	}
}


.ec-sliderRole {
    margin: 0;
    padding: 0;
    color: var(--color);
    max-width: 100%;
    margin-bottom: 0;
}

/* !footer
---------------------------------------------------------- */
.ec-blockTopBtn {
	display: none !important;
}

.ec-footerRole {
	padding: 0;
	margin: 0;
	background: var(--color9);
	padding-top: 87px;
}

.ec-footerRole .ec-footerRole__inner {
    margin: 0;
    padding: 0;
    font-size: 16px;
    line-height: 1.5;
    color: var(--color);
    max-width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding-bottom: 65px;
}

.ec-footerRole .ec-footerRole__inner:after {
	display: none;
}

.ec-footerTitle {
	width: 182px;
	font-size: 1px;
	line-height: 1;
	margin-bottom: 48px;
	padding: 0;
}

.ec-footerTitle .ec-footerTitle__logo {
	font-size: 1px;
	line-height: 1;
	margin-bottom: 0;
}

.ec-footerLinks {
	display: flex;
	align-items: flex-start;
	gap: 65px;
}

.ec-footerMenu {
	display: none;
}

.ec-footerMenu .ec-footerMenu__link + .ec-footerMenu__link {
	margin-top: 11px;
}

.ec-footerMenu .ec-footerMenu__link a {
	display: flex;
	align-items: center;
	gap: 16px;
	color: var(--color2);
	font-weight: 500;
	letter-spacing: 3.31px;
}

.ec-footerMenu .ec-footerMenu__link .ec-footerMenu__link--en {
	font-size: 28px;
	line-height: 1.7;
}

.ec-footerMenu .ec-footerMenu__link .ec-footerMenu__link--ja {
	font-size: 18px;
	line-height: 1.61;
}

.ec-footerNavi {
	text-align: left;
	padding-top: 8px;
}

.ec-footerNavi .ec-footerNavi__link {
	display: block;
}

.ec-footerNavi .ec-footerNavi__link + .ec-footerNavi__link {
	margin-top: 6px;
}

.ec-footerNavi .ec-footerNavi__link a {
    margin: 0;
    padding: 0;
    text-decoration: none;
    font-size: 16px;
    line-height: 1.625;
    font-weight: 500;
    letter-spacing: 1.86px;
    color: var(--color2);
}

.ec-footerSns {
	display: flex;
	align-items: center;
	gap: 14px;
}

.ec-footerSns li {
	font-size: 1px;
	line-height: 1;
}

.ec-footerSns a {
	width: 58px;
	height: 58px;
	border: 1px solid var(--color2);
	border-radius: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.ec-footerSns a.ec-footerSns__x img {
	width: 30px;
}

.ec-footerSns a.ec-footerSns__instagram img {
	width: 29px;
}

.ec-footerSns a.ec-footerSns__tiktok img {
	width: 25px;
}

.ec-footerRole__copyright {
	border-top: 2px solid rgba(255, 255, 255, .33);
	padding: 32px 50px;
	text-align: center;
	font-size: 12px;
	line-height: 2;
	color: var(--color2);
	letter-spacing: 1.71px;
	font-weight: 500;
}

@media screen and (max-width: 959px) {

	.ec-footerTitle {
		margin: 0 auto 48px;
	}

	.ec-footerRole .ec-footerRole__inner {
		flex-direction: column-reverse;
	}

	.ec-footerRole .ec-footerRole__left,
	.ec-footerRole .ec-footerRole__right {
		width: 100%;
	}

	.ec-footerSns {
		width: 100%;
		justify-content: center;
		margin-bottom: 40px;
	}
}

@media screen and (max-width: 767px) {
	.ec-footerRole {
		padding-top: 44px;
	}

	.ec-footerTitle {
		width: 132px;
		margin: 0 auto;
		margin-bottom: 21px;
	}

	.ec-footerRole .ec-footerRole__inner {
	    font-size: 12px;
	    flex-direction: column-reverse;
	    padding: 0 10px;
	    display: flex;
	}

	.ec-footerRole .ec-footerRole__inner:after {
		display: none;
	}

	.ec-footerLinks {
		display: block;
	}

	.ec-footerMenu {
		margin-bottom: 26px;
	}

	.ec-footerMenu .ec-footerMenu__link + .ec-footerMenu__link {
		margin-top: 3.6px;
	}


	.ec-footerMenu .ec-footerMenu__link a {
		gap: 8px;
		letter-spacing: 2.73px;
	}

	.ec-footerMenu .ec-footerMenu__link .ec-footerMenu__link--en {
		font-size: 14px;
		line-height: 1.4;
	}

	.ec-footerMenu .ec-footerMenu__link .ec-footerMenu__link--ja {
		font-size: 8px;
		line-height: 1.4;
	}

	.ec-footerNavi {
		padding-top: 0;
	}

	.ec-footerNavi .ec-footerNavi__link + .ec-footerNavi__link {
		margin-top: 9px;
	}

	.ec-footerNavi .ec-footerNavi__link a {
	    font-size: 10px;
	    line-height: 1.5;
	    border: 0;
	}

	.ec-footerRole .ec-footerRole__right {
		padding-bottom: 33px;
		position: relative;
		margin-bottom: 26px;
	}

	.ec-footerRole .ec-footerRole__right:before {
		width: 100vw;
		height: 1px;
		background: #fff;
		opacity: .3;
		content: '';
		position: absolute;
		right: -35px;
		bottom: 0;
		z-index: 2;
	}

	.ec-footerSns {
		width: 100%;
		justify-content: center;
		gap: 14px;
		margin-top: 0;
	}

	.ec-footerSns li {
		font-size: 1px;
		line-height: 1;
	}

	.ec-footerSns a {
		width: 45px;
		height: 45px;
	}

	.ec-footerSns a.ec-footerSns__x img {
		width: 23px;
	}

	.ec-footerSns a.ec-footerSns__instagram img {
		width: 22px;
	}

	.ec-footerSns a.ec-footerSns__tiktok img {
		width: 19px;
	}

	.ec-footerRole__copyright {
		border-top: 0;
		padding: 33px 25px 18px;
		font-size: 10px;
	}
}

/* !MENU
---------------------------------------------------------- */
.ec-drawerRole {
	background: var(--color9);
    width: 100%;
	transform: unset;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .3s, visibility .3s;
	display: block;
}

.ec-drawerRole.is_active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition: opacity .3s, visibility .3s;
}

.ec-drawerRole .ec-drawerRole__logo {
	border-bottom: 1.5px solid #fff;
	padding: 23px 25px;
	text-align: center;
}

.ec-drawerRole .ec-drawerRole__logo img {
	width: 103px;
}

.ec-drawerRole .ec-headerLinkArea {
	padding: 45px 25px 60px;
	background: none;
	border-bottom: 1.5px solid #fff;
}

.ec-drawerRole .ec-headerLinkArea .ec-headerLink__list {
	border: 0;
}

.ec-drawerRole .ec-headerLinkArea .ec-headerLink__item {
	padding: 10px 0;
	border: 0;
	font-weight: 600;
	line-height: 2;
}

.ec-drawerRole .ec-headerLinkArea .ec-headerLink__item a {
	color: #fff;
	display: block;
	padding: 0 25px;
}

.ec-drawerRole .ec-footerRole__inner {
	display: flex;
	flex-direction: column-reverse;
	padding: 30px 35px 40px;
}

.ec-drawerRole .ec-footerRole__right {
	width: 100%;
	margin-bottom: 30px;
}

.ec-drawerRoleClose {
    border-radius: 0;
    padding: 0;
    width: 70px;
    height: 70px;
    font-size: 1px;
    background: url(../img/common/icon_close.svg) center center no-repeat;
    background-size: auto 22px;
    top: 0;
    right: 0;
    left: unset;
    z-index: 100001;
}

.ec-drawerRoleClose i {
	display: none;
}

@media only screen and (min-width: 768px) {
    .ec-drawerRole.is_active,
    .ec-drawerRoleClose.is_active {
        display: block;
    }

    .ec-drawerRole .ec-headerLinkArea {
		padding: 60px 0;
	}

	.ec-drawerRole .ec-headerLinkArea .ec-headerLink__list {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 80px;
	}

	.ec-drawerRole .ec-headerLinkArea .ec-headerLink__item a {
		padding: 0;
	}

    .ec-drawerRole .ec-footerRole__inner {
    	width: 100%;
		padding: 40px 0;
	}

	.ec-drawerRole .ec-footerRole__right {
		width: auto;
		margin-bottom: 0;
	}

	.ec-drawerRoleClose {
		right: 20px;
	}
}

@media only screen and (min-width: 960px) {
	.ec-drawerRole .ec-footerRole__inner {
    	flex-direction: row;
    	align-items: flex-end;
    	justify-content: space-between;
		display: flex;
		justify-content: space-between;
	}
}


/* !breadcrumb
---------------------------------------------------------- */
.ec-breadcrumbRole {
  width: 100%;
  max-width: 1280px;
  padding: 50px;
  margin: 0 auto;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.ec-breadcrumbRole ul {
    display: flex;
    flex-wrap: nowrap;
}

.ec-breadcrumbRole ul li {
    word-break: keep-all;
    white-space: nowrap;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 600;
    letter-spacing: .06em;
    color: #968D80;
    position: relative;
}

.ec-breadcrumbRole ul li + li {
  margin-left: 42px;
}

.ec-breadcrumbRole ul li + li:before {
  position: absolute;
  left: -42px;
  top: 0;
  z-index: 2;
  background: url(../img/common/icon_breadcrumb.svg) center center no-repeat;
  background-size: 6px auto;
  content: '';
  width: 42px;
  height: 24px;
  display: block;
}

.ec-breadcrumbRole ul li a {
    color: var(--color6);
}

/*** スマホ 320~767***/
@media screen and (max-width: 767px) {
  .ec-breadcrumbRole {
    padding: 16px 20px;
  }

  .ec-breadcrumbRole ul {
    width: fit-content;
  }

  .ec-breadcrumbRole ul li {
      font-size: 10px;
  }

  .ec-breadcrumbRole ul li + li {
    margin-left: 20px;
  }

  .ec-breadcrumbRole ul li + li:before {
    left: -20px;
    width: 20px;
    background-size: 3px auto;
    height: 15px;
  }
}


/* !page Header
---------------------------------------------------------- */
.ec-pageHeader h1 {
  margin: 0;
  padding: 15px 0 50px;
  border: 0;
  text-align: center;
}

.ec-pageHeader h1 span {
	display: block;
}

.ec-pageHeader h1 .ec-pageHeader__en {
  font-size: 30px;
  font-weight: 600;
  letter-spacing: .05em;
  color: var(--color);
  line-height: 1.23;
  font-family: var(--font-en);
}

.ec-pageHeader h1 .ec-pageHeader__ja {
	margin-top: 5px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .15em;
  color: rgba(88, 76, 62, .61);
}

@media screen and (min-width: 768px) {
	.ec-pageHeader h1 {
    padding: 65px 0 100px;
    border: 0;
	}

	.ec-pageHeader h1 .ec-pageHeader__en {
	  font-size: 55px;
	}

	.ec-pageHeader h1 .ec-pageHeader__ja {
		margin-top: 12px;
    font-size: 25px;
	}
}

/* !マイページメニュー
---------------------------------------------------------- */
.ec-mypageMenuRole {
	padding: 66px 0;
}

.ec-mypageMenuRole .ec-mypageMenuRole__title {
	font-size: 17.5px;
	line-height: 1.457;
	font-weight: bold;
	letter-spacing: .06em;
	text-align: center;
	color: var(--color);
	margin-bottom: 26px;
}

.ec-mypageMenuList {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 9px 12.5px;
}

.ec-mypageMenuList a {
	width: 100%;
	height: 100%;
	background: #fff;
	border-radius: 7.5px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	gap: 5px;
	padding: 15px 10px 11px;
}

.ec-mypageMenuList a img {
	width: 54px;
}

.ec-mypageMenuList a span {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 2.153846em;
	font-size: 13px;
	font-weight: bold;
	letter-spacing: .08em;
	line-height: 1.076923;
	padding: 0 10px;
	background: url(../img/common/icon_arrow_right.svg) right center no-repeat;
	background-size: 4.5px auto;
	text-align: center;
}

@media screen and (min-width: 768px) {
	.ec-mypageMenuRole {
		padding: 200px 0 70px;
	}

	.ec-mypageMenuRole .ec-mypageMenuRole__title {
		font-size: 30px;
		line-height: 1.433;
		margin-bottom: 85px;
	}

	.ec-mypageMenuList {
		width: 100%;
		max-width: 750px;
		margin: 0 auto;
		display: grid;
		gap: 26px;
	}

	.ec-mypageMenuList a {
		border-radius: 15px;
		flex-direction: row;
		gap: 10px;
		padding: 18px 18px 18px 23px;
	}

	.ec-mypageMenuList a img {
		width: 85px;
		min-width: 85px;
	}

	.ec-mypageMenuList a span {
		display: block;
		flex-grow: 1;
		width: auto;
		height: auto;
		font-size: 20px;
		line-height: 1.25;
		padding: 0 19px 0 0;
		text-align: center;
		background-size: 9px auto;
		text-align: center;
	}

	.ec-mypageMenuList a:hover {
		opacity: .7;
		text-decoration: none;
	}
}

/* !お困りの方はこちら
---------------------------------------------------------- */

.ec-faqLinksRole .ec-role {
	padding: 0 15px;
}

.ec-faqLinksRole .ec-faqLinksRole__title {
	font-size: 18px;
	line-height: 1.44;
	font-weight: bold;
	letter-spacing: .11em;
	text-align: center;
	color: var(--color);
	margin-bottom: 15px;
}

.ec-faqLinksRole__link {
	text-align: center;
}

.ec-faqLinksRole__link a {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	font-size: 16px;
	letter-spacing: .11em;
	line-height: 1.5;
	color: #fff;
	font-weight: 700;
	width: 100%;
	height: 75px;
	border-radius: 7.5px;
	background: url(../img/common/icon_arrow_right_white.svg) right 24px center no-repeat var(--color10);
	background-size: 4.5px auto;
}

@media screen and (min-width: 768px) {

	.ec-faqLinksRole .ec-role {
		padding: 0 50px;
	}

	.ec-faqLinksRole .ec-faqLinksRole__title {
		font-size: 25px;
		margin-bottom: 44px;
	}

	.ec-faqLinksRole__link {
		text-align: center;
	}

	.ec-faqLinksRole__link a {
		font-size: 25px;
		line-height: 1.44;
		max-width: 750px;
		height: 100px;
		border-radius: 22px;
		background-position: right 48px center;
		background-size: 9px auto;
	}

	.ec-faqLinksRole__link a:hover {
		opacity: .7;
		text-decoration: none;
	}
}



/* !form
---------------------------------------------------------- */
.ec-contactRole {
	padding: 0;
  font-size: 14px;
  line-height: 1.46;
  color: var(--color);
}

.ec-pageHeader__para {
	background: #F0E7D8;
	border-radius: 5px;
	padding: 14px 17px;
	text-align: center;
	font-size: 10px;
	letter-spacing: .08em;
	line-height: 1.75;
	font-weight: 500;
	margin: 0;
	margin-bottom: 52px;
}

.ec-contactRole + .ec-pageBackRole {
	margin-top: 70px;
}

.ec-borderedDefs {
    border: 0;
    margin-bottom: 25px;
}

.ec-borderedDefs dl {
    display: block;
    border: 0;
    padding: 0;
    margin-bottom: 20px;
}

.ec-required {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 50px;
	height: 24px;
	background: var(--color7);
	border-radius: 13px;
	font-size: 13px;
	line-height: 1.5;
	color: #fff;
	font-weight: 500;
	letter-spacing: .12em;
	margin-left: 5px;
	vertical-align: baseline;
}

.ec-label {
    font-size: 16px;
    font-weight: bold;
    color: var(--color);
    letter-spacing: .05em;
    line-height: 1.46;
    margin-bottom: 10px;
}

.ec-label span {
    font-size: 13px;
    font-weight: 500;
    color: var(--color13);
    letter-spacing: .05em;
}

.ec-radio label {
    display: inline-block;
    position: relative;
}

.ec-radio input {
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    opacity: 0;
}

.ec-radio span {
    display: block;
    padding-left: 30px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.42857;
    letter-spacing: .11em;
}

.ec-radio span:before {
    width: 20px;
    height: 20px;
    border-radius: 100%;
    border: 1px solid var(--color13);
    background: #fff;
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
}

.ec-radio span:after {
    width: 20px;
    height: 20px;
    border-radius: 100%;
    background: var(--color8);
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    transform: scale(.65);
    opacity: 0;
}

.ec-radio input:checked + span:after {
    opacity: 1;
}

.ec-select {
    margin-bottom: 0;
}

.ec-select select,
.ec-birth select {
  display: block;
  background: url(../img/common/icon_select.svg) right 13px center no-repeat #fff;
  background-size: 10px auto;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 100%;
  height: 52px;
  padding: 0 30px 0 20px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.46;
  border: 1px solid var(--color13);
  border-radius: 4.5px;
  color: var(--color);
  margin-bottom: 0;
}

.ec-birth {
	display: flex;
	align-items: flex-start;
	gap: 7.5px;
}

.ec-halfInput {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    width: 100%;
}

.ec-halfInput .ec-halfInput__item {
    position: relative;
    padding-left: 20px;
    width: 100%;
}

.ec-halfInput .ec-halfInput__item .ec-label {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    height: 52px;
}

.ec-halfInput input,
.ec-input input,
.ec-telInput input,
.ec-zipInput input {
    display: block;
  width: 100%;
  height: 52px;
  padding: 0 20px;
  font-size: 16px;
  line-height: 1.46;
  font-weight: 500;
  color: var(--color);
  background: #fff;
  border: 1px solid var(--color13);
  border-radius: 4.5px;
  -webkit-appearance: none;
  box-shadow: none;
  margin-bottom: 0;
}

.ec-halfInput input[type='text'] {
    display: block;
    width: 100%;
    margin-left: 0;
}

.ec-telInput input {
    max-width: 100%;
}

.ec-zipInput input {
    width: 186px;
    max-width: 186px;
}

.ec-zipInputHelp {
  display: inline-flex;
  align-items: center;
  margin-left: 12px;
  margin-bottom: 0;
  vertical-align: middle;
  line-height: 0;
}

.ec-zipInputHelp .ec-zipInputHelp__icon {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin-top: 0;
  width: 16px;
  height: 16px;
  background: var(--color);
  border-radius: 100%;
  font-size: 1px;
  line-height: 1;
  position: relative;
  top: 0;
}

.ec-zipInputHelp .ec-zipInputHelp__icon .ec-icon img {
  left: 0;
  top: 0;
  width: 8px;
  height: auto;
}

.ec-zipInputHelp span {
  margin-left: 5px;
  display: inline-block;
  color: var(--color);
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: .01em;
  font-weight: bold;
  vertical-align: middle;
}

.ec-RegisterRole__actions .ec-off4Grid {
    display: grid;
    grid-template-columns: auto 126px;
    gap: 10px;
}

.ec-registerRole__actions--marginTop {
    margin-top: 20px;
}

.ec-registerRole__confirmMessage {
    margin-bottom: 20px;
}

@media screen and (min-width: 768px) {
	.ec-contactRole {
		padding: 0;
	  font-size: 16px;
	  width: 100%;
	  max-width: 764px;
	  margin: 0 auto;
	}

	.ec-pageHeader__para {
		border-radius: 10px;
		padding: 28px 20px;
		font-size: 18px;
		letter-spacing: .12em;
		line-height: 1.5;
		font-weight: 600;
		margin-bottom: 60px;
	}

	.ec-contactRole + .ec-pageBackRole {
		margin-top: 112px;
		text-align: center;
	}

	.ec-contactRole + .ec-pageBackRole .ec-inlineBtn {
		max-width: 744px;
	}

	.ec-borderedDefs {
		border: 0;
		margin-bottom: 60px;
	}

	.ec-borderedDefs dl {
	    margin-bottom: 36px;
	}

	.ec-borderedDefs dt {
    padding-top: 0;
    width: 100%;
  }

	.ec-borderedDefs dd {
		width: 100%;
		line-height: 1.44;
  }

  .ec-required {
		width: 80px;
		height: 24px;
		border-radius: 26px;
		font-size: 16px;
	}

	.ec-label {
		font-size: 16px;
		line-height: 1.45;
		margin-bottom: 17px;
	}

	.ec-label span {
    font-size: 14px;
    margin-left: 13px;
	}

	.ec-select select,
	.ec-birth select {
	  background: url(../img/common/icon_select.svg) right 26px center no-repeat #fff;
	  background-size: 20px auto;
	  height: 52px;
	  padding: 0 70px 0 20px;
	  border: 1px solid var(--color13);
    border-radius: 9px;
    font-size: 16px;
	}

	.ec-birth select {
		margin: 0;
	}

	.ec-birth {
		gap: 15px;
	}

	.ec-radio label {
		margin-right: 50px;
	}

	.ec-radio span {
		padding-left: 44px;
		font-size: 20px;
		line-height: 1.45;
	}

	.ec-radio span:before {
		width: 27px;
		height: 27px;
		border: 2px solid var(--color13);
		top: 1px;
	}

	.ec-radio span:after {
		width: 27px;
		height: 27px;
		top: 1px;
	}

	.ec-halfInput {
    gap: 24px;
	}

	.ec-halfInput .ec-halfInput__item {
    padding-left: 40px;
	}

	.ec-halfInput .ec-halfInput__item .ec-label {
    height: 52px;
	}

	.ec-halfInput input,
	.ec-input input,
	.ec-telInput input,
	.ec-zipInput input {
    display: block;
	  width: 100%;
	  height: 52px;
	  padding: 0 20px;
	  font-size: 16px;
	  border: 1px solid var(--color13);
	  border-radius: 9px;
	}

	.ec-zipInput input {
    width: 554px;
    max-width: 554px;
	}

	.ec-zipInputHelp {
	  margin-left: 24px;
	}

	.ec-zipInputHelp .ec-zipInputHelp__icon {
	  width: 32px;
	  height: 32px;
	}

	.ec-zipInputHelp .ec-zipInputHelp__icon .ec-icon img {
	  width: 16px;
	}

	.ec-zipInputHelp span {
	  margin-left: 9px;
	  font-size: 16px;
	}

	.ec-RegisterRole__actions .ec-off4Grid {
		grid-template-columns: auto 252px;
		gap: 30px;
	}

	.ec-RegisterRole__actions .ec-off4Grid .ec-off4Grid__cell {
		width: auto;
		margin: 0;
	}

	.ec-registerRole__actions--marginTop {
		margin-top: 36px;
	}

	.ec-registerRole__confirmMessage {
		margin-bottom: 36px;
	}
}

/* !HOME
---------------------------------------------------------- */
.ec-hajimeteRole {
	width: 100%;
	background: #D0B692;
	padding: 65px 0 78px;
}

.ec-hajimeteRole .ec-hajimeteRole__title {
	text-align: center;
	margin-bottom: 54px;
}

.ec-hajimeteRole .ec-hajimeteRole__title .jap {
	display: block;
	font-size: 40px;
	line-height: 1.425;
	font-weight: bold;
	color: var(--color2);
	margin-bottom: 18px;
	letter-spacing: .12em;
}

.ec-hajimeteRole .ec-hajimeteRole__title .eng {
	display: block;
	font-size: 60px;
	line-height: 1.22;
	color: var(--color2);
	font-weight: bold;
	letter-spacing: .05em;
	font-family: var(--font-en);
}

.ec-hajimeteRole .ec-hajimeteRole__links {
	text-align: center;
}

.ec-hajimeteRole .ec-hajimeteRole__links a {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 450px;
	height: 80px;
	border-radius: 40px;
	border: 2px solid var(--color2);
	font-size: 20px;
	line-height: 1.2;
	font-weight: bold;
	color: var(--color2);
	letter-spacing: .12em;
}

@media screen and (max-width: 767px) {
	.ec-hajimeteRole {
		padding: 40px 0 44px;
	}

	.ec-hajimeteRole .ec-hajimeteRole__title {
		margin-bottom: 22.5px;
	}

	.ec-hajimeteRole .ec-hajimeteRole__title .jap {
		font-size: 20px;
		line-height: 1.2;
		margin-bottom: 16px;
	}

	.ec-hajimeteRole .ec-hajimeteRole__title .eng {
		font-size: 30px;
	}

	.ec-hajimeteRole .ec-hajimeteRole__links a {
		width: 225px;
		height: 48px;
		border-radius: 25px;
		border: 1px solid var(--color2);
		font-size: 14px;
	}
}

.ec-keratinRole {
	width: 100%;
	background: url(../img/top/bg_keratin.png) center top no-repeat;
	background-size: 1440px auto;
	padding: 164px 0 154px;
}

.ec-keratinRole .ec-keratinRole__inner {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 10px;
}

.ec-keratinRole .ec-keratinRole__left {
	width: 100%;
	max-width: 630px;
	padding-top: 55px;
}

.ec-keratinRole .ec-keratinRole__right {
	width: 100%;
	max-width: 525px;
}

.ec-keratinRole .ec-keratinRole__right ul li {
	font-size: 1px;
	line-height: 1;
	width: 100%;
}

.ec-keratinRole .ec-keratinRole__right ul li:nth-child(1) img {
	max-width: 57.9%;
}

.ec-keratinRole .ec-keratinRole__right ul li:nth-child(2) {
	display: flex;
	justify-content: flex-end;
	text-align: right;
	margin-top: -49.143%;
}

.ec-keratinRole .ec-keratinRole__right ul li:nth-child(2) img {
	width: 51.238%;
}

.ec-keratinRole .ec-keratinRole__title {
	text-align: center;
}

.ec-keratinRole .ec-keratinRole__title .eng {
	font-size: 1px;
	line-height: 1;
	display: block;
	margin-bottom: 46px;
}

.ec-keratinRole .ec-keratinRole__title .eng img {
	max-width: 277px;
}

.ec-keratinRole .ec-keratinRole__title .jap {
	font-size: 30px;
	font-weight: bold;
	line-height: 1.43;
	letter-spacing: .23em;
}

.ec-keratinRole .ec-keratinRole__title .jap span {
	font-size: 40px;
	line-height: 1.425;
	letter-spacing: .06em;
	display: block;
}

.ec-keratinRole .ec-keratinRole__links {
	text-align: center;
	margin-top: 56px;
}

.ec-keratinRole .ec-keratinRole__links a {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 328px;
	height: 80px;
	border-radius: 10px;
	border: 2px solid var(--color);
	font-size: 20px;
	line-height: 1.2;
	font-weight: bold;
	color: var(--color);
	letter-spacing: .12em;
}

@media screen and (max-width: 767px) {
	.ec-keratinRole {
		background: url(../img/top/bg_keratin_sp.png) center top no-repeat;
		background-size: 100% auto;
		padding: 73px 0 70px;
	}

	.ec-keratinRole .ec-keratinRole__inner {
		display: block;
	}

	.ec-keratinRole .ec-keratinRole__left {
		max-width: 100%;
		padding-top: 0;
		margin-bottom: 46px;
	}

	.ec-keratinRole .ec-keratinRole__right {
		width: 100%;
		max-width: 100%;
	}

	.ec-keratinRole .ec-keratinRole__right ul li:nth-child(1) img {
		max-width: 65.19%;
	}

	.ec-keratinRole .ec-keratinRole__right ul li:nth-child(2) {
		margin-top: -54.77%;
	}

	.ec-keratinRole .ec-keratinRole__right ul li:nth-child(2) img {
		width: 44.7328%;
	}

	.ec-keratinRole .ec-keratinRole__title .eng {
		margin-bottom: 23px;
	}

	.ec-keratinRole .ec-keratinRole__title .eng img {
		max-width: 175px;
	}

	.ec-keratinRole .ec-keratinRole__title .jap {
		font-size: 19px;
		line-height: 1.2;
	}

	.ec-keratinRole .ec-keratinRole__title .jap span {
		font-size: 27.5px;
		line-height: 1.2;
		margin-top: 6px;
	}

	.ec-keratinRole .ec-keratinRole__links {
		margin-top: 35px;
	}

	.ec-keratinRole .ec-keratinRole__links a {
		width: 245px;
		height: 48px;
		border-radius: 5px;
		border: 1px solid var(--color);
		font-size: 16px;
	}
}

.ec-topProductRole {
	width: 100%;
	background: linear-gradient(to bottom, #fff, #D0B692);
	padding: 97px 0 132px;
}

.ec-topProductRole .ec-productLinks {
	width: 100%;
	max-width: 733px;
	margin: 0 auto;
}

.ec-productLinks .ec-productLinks__item {
	display: flex;
	align-items: center;
	gap: 13px;
	padding: 24px 106px 24px 27px;
	border-radius: 27px;
	box-shadow: var(--box-shadow-pc);
	background: url(../img/common/icon_arrow_links.svg) right 24px bottom 24px no-repeat #fff;
	background-size: 70px auto;
	overflow: hidden;
}

.ec-productLinks .ec-productLinks__item .ec-productLinks__item--image {
	width: 216px;
	min-width: 216px;
	aspect-ratio: 1 / 1 ;
	overflow: hidden;
}

.ec-productLinks .ec-productLinks__item .ec-productLinks__item--image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ec-productLinks .ec-productLinks__item .ec-productLinks__item--box {
	flex-grow: 1;
}

.ec-productLinks .ec-productLinks__item .ec-productLinks__name {
	font-size: 32px;
	line-height: 1.09375;
	font-weight: 600;
	margin-bottom: 15px;
	display: block;
}

.ec-productLinks .ec-productLinks__item .ec-productLinks__option {
	font-size: 20px;
	line-height: 1.45;
	letter-spacing: .15em;
	color: rgba(88, 76, 62, .45);
	font-weight: 600;
	margin-bottom: 17px;
	display: block;
}

.ec-productLinks .ec-productLinks__item .ec-productLinks__price {
	display: block;
	width: 100%;
	font-size: 36px;
	letter-spacing: .11em;
	font-weight: 600;
	line-height: 1.44;
}

.ec-productLinks .ec-productLinks__item .ec-productLinks__price .ec-productLinks__price--tax {
	display: block;
	margin-top: 5px;
	font-size: 26px;
	line-height: 1.46;
	color: var(--color6);
}

.js-image-scroll {
	overflow: hidden;
	display: flex;
}
.js-image-scroll ul {
	display: flex;
	align-items: flex-start;
}
.js-image-scroll ul:nth-child(odd) {
	animation-name: image-loop-left1;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}
.js-image-scroll ul:nth-child(even) {
    animation-name: image-loop-left2;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}
@keyframes image-loop-left1 {
	0% {
	    transform: translateX(100%);
	}
	100% {
	    transform: translateX(-100%);
	}
}
@keyframes image-loop-left2 {
	0% {
	    transform: translateX(0);
	}
	100% {
	    transform: translateX(-200%);
	}
}

.ec-topProductRole__slider {
	margin-top: 73px;
}

.ec-topProductRole__slider li {
	width: 280px;
	padding-left: 32px;
}

.ec-topProductRole__slider li img {
	width: 100%;
	border-radius: 25px;
}

@media screen and (max-width: 767px) {
	.ec-topProductRole {
		padding: 56px 0 54px;
	}

	.ec-topProductRole .ec-secHeading .ec-secHeading__en img {
		max-width: 175px;
	}

	.ec-productLinks .ec-productLinks__item {
		gap: 11px;
		padding: 12px 59px 12px 11px;
		border-radius: 13.5px;
		box-shadow: var(--box-shadow-sp);
		background: url(../img/common/icon_arrow_links.svg) right 13px bottom 12px no-repeat #fff;
		background-size: 35px auto;
	}

	.ec-productLinks .ec-productLinks__item .ec-productLinks__item--image {
		width: 108px;
		min-width: 108px;
	}

	.ec-productLinks .ec-productLinks__item .ec-productLinks__name {
		font-size: 16px;
		margin-bottom: 7.5px;
	}

	.ec-productLinks .ec-productLinks__item .ec-productLinks__option {
		font-size: 10px;
		margin-bottom: 13.5px;
	}

	.ec-productLinks .ec-productLinks__item .ec-productLinks__price {
		font-size: 18px;
	}

	.ec-productLinks .ec-productLinks__item .ec-productLinks__price .ec-productLinks__price--tax {
		margin-top: 2.5px;
		font-size: 13px;
	}

	.ec-topProductRole__slider {
		margin-top: 43px;
	}

	.ec-topProductRole__slider li {
		width: 178px;
		padding-left: 20px;
	}

	.ec-topProductRole__slider li img {
		border-radius: 12.5px;
	}
}


.ec-mediaRole {
	background: #fff;
	width: 100%;
	padding: 137px 0 182px;
}

.ec-mediaList__scroll {
	width: 100%;
	overflow: hidden;
}

.ec-mediaList {
	width: fit-content;
}

.ec-mediaList li {
	width: 260px;
	padding-right: 40px;
}

.ec-mediaList .ec-mediaList__item {
	display: block;
	text-align: center;
	color: var(--color9);
}

.ec-mediaList .ec-mediaList__item .ec-mediaList__item--image {
	display: block;
	width: 100%;
	aspect-ratio: 439 / 569;
	margin-bottom: 12px;
}

.ec-mediaList .ec-mediaList__item .ec-mediaList__item--image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ec-mediaList .ec-mediaList__item .ec-mediaList__item--title {
	display: block;
	font-size: 34px;
	font-weight: 500;
	letter-spacing: .1em;
	line-height: 1.5;
}

.ec-mediaList .ec-mediaList__item .ec-mediaList__item--periodical {
	display: block;
	font-size: 24px;
	font-weight: 600;
	letter-spacing: .05em;
	line-height: 1.25;
}

.ec-mediaList__scrollNotes {
	display: none;
	text-align: right;
}


@media screen and (max-width: 959px) {
	.ec-mediaList {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (max-width: 767px) {
	.ec-mediaRole {
		padding: 33px 0 30px;
	}

	.ec-mediaList li {
		width: 132.5px;
		padding-right: 20px;
	}

	.ec-mediaList .ec-mediaList__item .ec-mediaList__item--image {
		margin-bottom: 6px;
	}

	.ec-mediaList .ec-mediaList__item .ec-mediaList__item--title {
		font-size: 17px;
	}

	.ec-mediaList .ec-mediaList__item .ec-mediaList__item--periodical {
		font-size: 12px;
	}

	.ec-mediaList__scroll {
    padding: 0 25px 25px;
	}

	.ec-mediaList__scrollNotes {
		display: block;
		margin-top: 25px;
	}

	.ec-mediaList__scrollNotes img {
		width: 112.5px;
	}
}

.ec-conceptRole {
	width: 100%;
	padding: 145px 0;
	background: url(../img/top/bg_concept.jpg) center right no-repeat;
	background-size: cover;
}

.ec-conceptRole .ec-conceptRole__inner {
	width: 100;
	max-width: 910px;
	margin: 0 auto;
}

.ec-conceptRole .ec-conceptRole__box {
	max-width: 454px;
	width: 100%;
}

.ec-conceptRole .ec-conceptRole__title {
	margin-bottom: 37px;
}

.ec-conceptRole .ec-conceptRole__title .jap {
	font-size: 34px;
	letter-spacing: .23em;
	line-height: 1.44;
	font-weight: bold;
	display: block;
	margin-bottom: 33px;
}

.ec-conceptRole .ec-conceptRole__title .eng {
	width: 234px;
	font-size: 1px;
	line-height: 1;
	display: block;
}

.ec-conceptRole .ec-conceptRole__title .eng img {
	width: 100%;
}

.ec-conceptRole .ec-conceptRole__text {
	font-size: 28px;
	letter-spacing: .23em;
	line-height: 1.357;
}

.ec-conceptRole .ec-conceptRole__links {
	margin-top: 56px;
}

.ec-conceptRole .ec-conceptRole__links a {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 80px;
	border-radius: 7px;
	border: 1px solid var(--color);
	font-size: 20px;
	line-height: 1.2;
	font-weight: bold;
	color: var(--color);
	letter-spacing: .12em;
}

@media screen and (max-width: 767px) {
	.ec-conceptRole {
		padding: 51px 0;
		background: url(../img/top/bg_concept_sp.jpg) center right no-repeat;
		background-size: cover;
	}

	.ec-conceptRole .ec-conceptRole__box {
		max-width: 150px;
	}

	.ec-conceptRole .ec-conceptRole__title {
		margin-bottom: 14px;
	}

	.ec-conceptRole .ec-conceptRole__title .jap {
		font-size: 17px;
		margin-bottom: 18px;
	}

	.ec-conceptRole .ec-conceptRole__title .eng {
		width: 117px;
	}

	.ec-conceptRole .ec-conceptRole__text {
		font-size: 14px;
	}

	.ec-conceptRole .ec-conceptRole__links {
		margin-top: 27px;
	}

	.ec-conceptRole .ec-conceptRole__links a {
		height: 48px;
		border-radius: 3.5px;
		font-size: 12px;
	}
}

.ec-newsRole {
	width: 100%;
	padding: 113px 0 145px;
	background: #fff;
}

.ec-newsRole .ec-secHeading .ec-secHeading__en img {
	max-width: 113px;
}


.ec-newsRole .ec-newsRole__category {
	width: 100%;
	background: rgba(208, 182, 146, .25);
	padding: 28px 0;
	margin-bottom: 60px;
	overflow: hidden;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.ec-newsRole .ec-newsRole__category ul {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 11px 22px;
	padding: 0 50px;
}

.ec-newsRole .ec-newsRole__category ul li {
	font-size: 1px;
	line-height: 1;
}

.ec-newsRole .ec-newsRole__category a {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	font-size: 18px;
	line-height: 1.5;
	font-weight: 600;
	color: #fff;
	letter-spacing: .06em;
	padding: 11.5px 42px;
	border-radius: 25px;
	background: rgba(211, 193, 168, .52);
	text-decoration: none !important;
	transition: all .3s;
	word-break: keep-all;
	white-space: nowrap;
}

.ec-newsRole .ec-newsRole__category a.is-active {
	background: var(--color10);
}



@media screen and (min-width: 900px) {
	.ec-newsRole .ec-newsRole__category a:hover {
		background: var(--color10);
	}
}

@media screen and (max-width: 959px) {
	.ec-newsRole .ec-newsRole__category ul {
		justify-content: flex-start;
		width: fit-content;
	}
}

.ec-newsRole  .ec-newsRole__box {
	width: 100%;
	max-width: 720px;
	margin: 0 auto;
}

.ec-newsRole .ec-newsRole__news {
    border: 0;
    padding: 0;
}

.ec-newsRole .ec-newsRole__news li + li {
	margin-top: 47px;
}

.ec-newsRole .ec-newsRole__news .ec-newsRole__newsItem {
	display: block;
	padding: 0;
}

.ec-newsRole .ec-newsRole__newsHeading {
	align-items: center;
	border-bottom: 1.54px solid var(--color10);
	gap: 33px;
}

.ec-newsRole .ec-newsRole__newsCategory {
	min-width: 145px;
	padding: 13px 32px;
	font-size: 20px;
	line-height: 1.15;
	font-weight: bold;
	letter-spacing: .1em;
	color: #fff;
	border-radius: 0 12px 0 0;
	background: var(--color10);
	text-align: center;
}

.ec-newsRole .ec-newsRole__newsDate {
	min-width: unset;
	font-size: 20px;
	line-height: 2.5;
	letter-spacing: .07em;
	opacity: .4;
	font-weight: 500;
}

.ec-newsRole .ec-newsRole__newsTitle {
	display: block;
	margin-top: 11px;
	font-size: 22px;
	font-weight: 500;
	line-height: 1.5;
	color: var(--color);
	letter-spacing: .11em;
}

@media screen and (max-width: 767px) {
	.ec-newsRole {
		padding: 30px 0 45px;
	}

	.ec-newsRole .ec-secHeading .ec-secHeading__en img {
		max-width: 62px;
	}


	.ec-newsRole .ec-newsRole__category {
		padding: 14px 0;
		margin-bottom: 30px;
	}

	.ec-newsRole .ec-newsRole__category ul {
		gap: 11px;
		padding: 0 30px;
	}

	.ec-newsRole .ec-newsRole__category a {
		font-size: 11px;
		padding: 11.5px 21px;
		border-radius: 30px;
	}

	.ec-newsRole  .ec-newsRole__box {
		padding: 0 8px;
	}

	.ec-newsRole .ec-newsRole__news li + li {
		margin-top: 24px;
	}

	.ec-newsRole .ec-newsRole__newsHeading {
		border-bottom: 1px solid var(--color10);
		gap: 16px;
		display: flex;
	}

	.ec-newsRole .ec-newsRole__newsCategory {
		min-width: 72px;
		padding: 6.5px 16px;
		font-size: 10px;
		border-radius: 0 6px 0 0;
	}

	.ec-newsRole .ec-newsRole__newsDate {
		font-size: 10px;
		line-height: 2.4;
		margin: 0;
	}

	.ec-newsRole .ec-newsRole__newsTitle {
		margin-top: 6px;
		font-size: 11px;
	}
}


/* !商品一覧
---------------------------------------------------------- */

.ec-productLinks__list {
	width: 100%;
	padding: 0 8px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 15px;
}

.ec-productLinks .ec-productLinks__list .ec-productLinks__item {
	flex-direction: column;
	gap: 13.5px;
    padding: 21px 10px 64px;
    background-position: center bottom 20px;
    background-size: 28.5px auto;
}

.ec-productLinks .ec-productLinks__list .ec-productLinks__item .ec-productLinks__name {
	text-align: center;
	font-size: 14px;
	line-height: 1.4642857;
	font-weight: 600;
	letter-spacing: .04em;
	margin-bottom: 0;
}

.ec-productLinks .ec-productLinks__list .ec-productLinks__item .ec-productLinks__option {
	text-align: center;
}

.ec-productLinks .ec-productLinks__list .ec-productLinks__item .ec-productLinks__price {
	text-align: center;
	font-size: 15px;
	font-weight: bold;
}


@media screen and (min-width: 768px) {
	.ec-productLinks__list {
		max-width: 1040px;
		margin: 0 auto;
		padding: 0;
		gap: 30px;
	}

	.ec-productLinks .ec-productLinks__list .ec-productLinks__item {
		flex-direction: row;
		gap: 0;
	    padding: 35px 30px;
	    background-position: right 24px bottom 21px;
	    background-size: 57px auto;
	}

	.ec-productLinks .ec-productLinks__list .ec-productLinks__item .ec-productLinks__name {
		text-align: left;
		font-size: 25px;
		line-height: 1.44;
		letter-spacing: -.01em;
		margin-bottom: 0;
	}

	.ec-productLinks .ec-productLinks__list .ec-productLinks__item .ec-productLinks__option {
		text-align: left;
	}

	.ec-productLinks .ec-productLinks__list .ec-productLinks__item .ec-productLinks__price {
		text-align: left;
		font-size: 30px;
		font-weight: bold;
	}
}


/* !ログイン
---------------------------------------------------------- */

.ec-login {
    margin: 0;
    padding: 0 19px;
    background: none;
}

.ec-login .ec-login__input {
	margin-bottom: 30px;
}

.ec-login .ec-login__input .ec-input + .ec-input {
	margin-top: 26px;
}

.ec-login .ec-login__input .ec-input label {
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: .1em;
	font-weight: 600;
	margin-bottom: 16px;
	display: flex;
	align-items: center;
	color: var(--color5);
}

.ec-login .ec-login__input .ec-input label .ec-required {
	vertical-align: middle;
	margin-left: 10px;
}

.ec-login .ec-login__input .ec-input input {
	width: 100%;
	height: 52px;
	border-radius: 2.5px;
	background: #fff;
	border: 0;
	padding: 0 20px;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: .12em;
	font-weight: 500;
	margin-bottom: 0;
	color: var(--color);
}

.ec-login .ec-login__input .ec-checkbox {
	text-align: center;
	margin-top: 20px;
}

.form-check {
	position: relative;
}

.form-check input {
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	opacity: 0;
}

.form-check .form-check-label {
	position: relative;
	display: inline-flex;
	padding-left: 28px;
	font-size: 12px;
	line-height: 1.167;
	font-weight: 600;
	letter-spacing: .13em;
	color: var(--color);
	cursor: pointer;
}

.form-check .form-check-label:before,
.form-check .form-check-label:after {
	width: 14px;
	height: 14px;
	border-radius: 1px;
	border: 1px solid var(--color);
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
}

.form-check .form-check-label:after {
	background: url(../img/common/icon_checkbox.svg) center center no-repeat;
	background-size: 6px auto;
	opacity: 0;
}

.form-check input:checked + .form-check-label:after {
	opacity: 1;
}


.ec-login__actions .ec-blockBtn--cancel {
  border: 1px solid var(--color10);
  font-size: 13px;
  line-height: 1.45;
  color: #fff;
  background-color: var(--color10);
  height: 50px;
  border-radius: 25px;
  position: relative;
  z-index: 2;
  overflow: hidden;
  font-weight: 600;
  max-width: 100%;
  letter-spacing: .12em;
  transition: all .4s ease;
  box-shadow: none !important;
}

.ec-login__actions .ec-blockBtn--cancel:hover {
  background-color: var(--color10);
  text-decoration: none;
  border-color: var(--color10);
  opacity: .7;
  outline: none;
}

.ec-login .ec-login__link {
	text-align: center;
	margin-top: 25px;
}

.ec-login .ec-login__link .ec-link {
	font-size: 10px;
	letter-spacing: .15em;
	font-weight: 600;
	line-height: 1.95;
	position: relative;
	display: inline-block;
}

.ec-login .ec-login__link .ec-link:before {
	width: 100%;
	height: 1px;
	background: rgba(88, 76, 62, .5);
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 2;
	content: '';
}

.ec-loginEntry {
	background: #fff;
	border-radius: 13.5px;
	width: calc(100% + 20px);
	margin: 0 -10px;
	margin-top: 60px;
	padding: 41px 30px;
	text-align: center;
	font-size: 12px;
	line-height: 1.5;
	letter-spacing: .14em;
	font-weight: 600;
}

.ec-loginEntry .ec-loginEntry__title {
	font-size: 17px;
	letter-spacing: .15em;
	font-weight: bold;
	color: var(--color);
	line-height: 1.44;
	margin-bottom: 16px;
}

.ec-loginEntry .ec-loginEntry__link {
	margin-top: 16px;
}

.ec-loginEntry .ec-loginEntry__link .ec-linkBtn {
	max-width: 218px;
	height: 50px;
	font-size: 13px;
}

.ec-loginEntry .ec-loginEntry__link .ec-linkBtn:before {
	width: 12px;
	height: 12px;
	right: 12.5px;
}

@media screen and (min-width: 768px) {

	.ec-login {
		max-width: 764px;
	    margin: 0 auto;
	    padding: 0;
	}

	.ec-login .ec-login__input {
		margin-bottom: 60px;
	}

	.ec-login .ec-login__input .ec-input + .ec-input {
		margin-top: 50px;
	}

	.ec-login .ec-login__input .ec-input label {
		font-size: 16px;
		line-height: 1.44;
		margin-bottom: 20px;
	}

	.ec-login .ec-login__input .ec-input label .ec-required {
		margin-left: 20px;
		width: 80px;
    height: 24px;
    font-size: 16px;
	}

	.ec-login .ec-login__input .ec-input input {
		height: 52px;
		border-radius: 5px;
		padding: 0 20px;
		font-size: 16px;
	}

	.ec-login .ec-login__input .ec-checkbox {
		margin-top: 40px;
	}

	.form-check .form-check-label {
		padding-left: 46px;
		font-size: 18px;
		line-height: 1.111;
	}

	.form-check .form-check-label:before,
	.form-check .form-check-label:after {
		width: 20px;
		height: 20px;
		border-radius: 2px;
		border: 2px solid var(--color);
	}

	.form-check .form-check-label:after {
		background-size: 10px auto;
	}

	.ec-login__actions .ec-blockBtn--cancel {
	  border: 2px solid var(--color10);
	  font-size: 20px;
	  line-height: 1.5;
	  height: 70px;
	  border-radius: 50px;
	  max-width: 510px;
	  margin: 0 auto;
	}

	.ec-login .ec-login__link {
		margin-top: 16px;
	}

	.ec-login .ec-login__link .ec-link {
		font-size: 18px;
		line-height: 2,16;
	}

	.ec-login .ec-login__link .ec-link:before {
		height: 1.5px;
	}

	.ec-loginEntry {
		border-radius: 27px;
		width: 100%;
		max-width: 872px;
		margin: 0 auto;
		margin-top: 120px;
		padding: 82px 60px;
		font-size: 20px;
	}

	.ec-loginEntry .ec-loginEntry__title {
		font-size: 34px;
		margin-bottom: 32px;
	}

	.ec-loginEntry .ec-loginEntry__link {
		margin-top: 32px;
	}

	.ec-loginEntry .ec-loginEntry__link .ec-linkBtn {
		max-width: 472px;
		height: 84px;
		font-size: 18px;
	}

	.ec-loginEntry .ec-loginEntry__link .ec-linkBtn:before {
		width: 24px;
		height: 24px;
		right: 25px;
	}
}

/* !マイページ
---------------------------------------------------------- */

.ec-mypageRole {
	padding: 0 15px;
    font-size: 14px;
    line-height: 1.5;
    color: var(--color);
}

.ec-welcomeMsg {
	padding: 0;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: .15em;
    line-height: 1.46;
    color: var(--color);
    margin: 0 0 50px;
    border-bottom: 0;
}

.ec-welcomeMsg .ec-welcomeMsg__box {
	margin-top: 10px;
	padding: 10px 30px;
	background: var(--color10);
	border-radius: 20px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	font-size: 13px;
	letter-spacing: .12em;
	font-weight: 600;
	color: #fff;
	line-height: 1.46;
}

.ec-welcomeMsg .ec-welcomeMsg__text {
	font-size: 13px;
	font-weight: 600;
	color: var(--color10);
	letter-spacing: .12em;
	line-height: 1.46;
	margin-top: 10px;
}

.ec-campaignBanner {
	margin-bottom: 50px;
}

.ec-campaignBanner .ec-campaignBanner__list {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 7px;
}

.ec-campaignBanner .ec-campaignBanner__list img {
	width: 100%;
}

.ec-subscriptionRole {
	margin-bottom: 65px;
}


.ec-subscriptionRole .ec-subscriptionRole__number {
	text-align: right;
	font-size: 10px;
	letter-spacing: .04em;
	color: var(--color6);
	line-height: 1.45;
	padding: 0 15px;
	margin-bottom: 5px;
	font-weight: 500;
}

.ec-imageGrid {
    display: flex;
    align-items: center;
    gap: 12.5px;
    border: 0;
    width: 100%;
}

.ec-imageGrid .ec-imageGrid__img {
    display: block;
    padding: 0;
    width: 108px;
    min-width: 108px;
    aspect-ratio: 1 / 1;
}

.ec-imageGrid .ec-imageGrid__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ec-imageGrid .ec-imageGrid__content {
	flex-grow: 1;
    display: block;
}

.ec-subscriptionRole__contents {
	background: #fff;
	border-radius: 13.5px;
	overflow: hidden;
	box-shadow: var(--box-shadow-sp);
}

.ec-subscriptionRole__detail {
	padding: 18px 15px 14px;
}

.ec-subscriptionRole__detail .ec-subscriptionRole__detailNumber {
	font-size: 11px;
	color: var(--color6);
	line-height: 1.5;
	font-weight: 500;
	margin-bottom: 10px !important;
}

.ec-subscriptionRole__detail .ec-subscriptionRole__detailTitle {
	font-size: 16px;
	line-height: 1.4375;
	font-weight: 600;
	color: var(--color);
	margin-bottom: 10px !important;
}

.ec-subscriptionRole__detail .ec-subscriptionRole__detailPrice {
	font-size: 18px;
	line-height: 1.444;
	font-weight: 600;
	color: var(--color);
	letter-spacing: .11em;
}

.ec-subscriptionRole__detail .ec-subscriptionRole__detailPrice .ec-subscriptionRole__detailPrice--tax {
	font-size: 13px;
	line-height: 1.46;
	color: var(--color6);
	margin-left: 6px;
}

.ec-subscriptionRole__middle {
	text-align: center;
	background: rgba(188, 180, 170, .2);
	padding: 15px 15px 19px;
	font-size: 13px;
	letter-spacing: .11em;
	line-height: 1.46;
	font-weight: 600;
	color: var(--color);
}

.ec-subscriptionRole__middle .ec-subscriptionRole__date {
	display: block;
	font-size: 18px;
	line-height: 1.44;
	font-weight: 800;
	color: var(--color);
}

.ec-subscriptionRole__bottom {
	padding: 18px 18px 27px;
}

.ec-subscriptionRole__notes {
	font-size: 10px;
	line-height: 1.45;
	letter-spacing: .08em;
	font-weight: 600;
	color: var(--color);
	margin-top: 15px;
}

.ec-subscriptionRole__notes + * {
	margin-top: 24px;
}


.ec-historyRole .ec-historyRole__contents {
	padding: 24px 15px 17px;
    border: 1px solid var(--color);
    border-radius: 12.5px;
    color: var(--color);
    display: block;
}

.ec-historyRole .ec-historyRole__detail {
	border: 0;
	padding: 25px 0;
}

.ec-historyRole .ec-historyRole__detail + .ec-historyRole__detail {
	border-top: 1.5px solid rgba(88, 76, 62, .2);
}

.ec-historyRole .ec-historyRole__detail .ec-historyRole__detailNumber {
	font-size: 11px;
	color: var(--color6);
	line-height: 1.5;
	font-weight: 500;
	margin-bottom: 10px !important;
}

.ec-historyRole .ec-historyRole__detail .ec-historyRole__detailTitle {
	font-size: 16px;
	line-height: 1.4375;
	font-weight: 600;
	color: var(--color);
	margin-bottom: 10px !important;
}

.ec-historyRole .ec-historyRole__detail .ec-historyRole__detailPrice {
	font-size: 18px;
	line-height: 1.444;
	font-weight: 600;
	color: var(--color);
	letter-spacing: .11em;
}

.ec-historyRole .ec-historyRole__detail .ec-historyRole__detailPrice .ec-historyRole__detailPrice--tax {
	font-size: 13px;
	line-height: 1.46;
	color: var(--color6);
	margin-left: 6px;
}


@media screen and (min-width: 768px) {
	.ec-mypageRole {
		padding: 0 50px;
		width: 100%;
		max-width: 1280px;
	    font-size: 16px;
	    line-height: 1.5;
	    color: var(--color);
	    margin: 0 auto;
	}

	.ec-mypageRole .ec-pageHeader h1 {
		padding: 65px 0 100px;
		margin: 0;
	}

	.ec-welcomeMsg {
	    font-size: 25px;
	    line-height: 1.44;
	    margin: 0 0 55px;
	}

	.ec-welcomeMsg .ec-welcomeMsg__box {
		margin-top: 20px;
		padding: 9.5px 20px;
		min-width: 285px;
		font-size: 18px;
		line-height: 1.44;
	}

	.ec-welcomeMsg .ec-welcomeMsg__text {
		display: none;
	}

	.ec-campaignBanner {
		margin-bottom: 194px;
	}

	.ec-campaignBanner .ec-campaignBanner__list {
		grid-template-columns: repeat(2, 1fr);
		gap: 30px 36px;
	}

	.ec-campaignBanner .ec-campaignBanner__list img {
		width: 100%;
	}

	.ec-subscriptionRole {
		width: 100%;
		max-width: 872px;
		margin: 0 auto;
		margin-bottom: 92px;
	}

	.ec-subscriptionRole .ec-heading-large {
		margin-bottom: 60px;
	}


	.ec-subscriptionRole .ec-subscriptionRole__number {
		font-size: 20px;
		padding: 0 25px;
		margin-bottom: 18px;
	}

	.ec-imageGrid {
	    gap: 25px;
	}

	.ec-imageGrid .ec-imageGrid__img {
	    width: 194px;
	    min-width: 194px;
	}

	.ec-subscriptionRole__contents {
		border-radius: 27px;
		box-shadow: var(--box-shadow-pc);
	}

	.ec-subscriptionRole__detail {
		padding: 52px 52px 46px;
	}

	.ec-subscriptionRole__detail .ec-subscriptionRole__detailNumber {
		font-size: 20px;
		line-height: 1.45;
		margin-bottom: 19px !important;
	}

	.ec-subscriptionRole__detail .ec-subscriptionRole__detailTitle {
		font-size: 28px;
		line-height: 1.46;
		margin-bottom: 19px !important;
	}

	.ec-subscriptionRole__detail .ec-subscriptionRole__detailPrice {
		font-size: 25px;
		line-height: 1.44;
	}

	.ec-subscriptionRole__detail .ec-subscriptionRole__detailPrice .ec-subscriptionRole__detailPrice--tax {
		font-size: 18px;
		margin-left: 30px;
	}

	.ec-subscriptionRole__middle {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 25px;
		padding: 20px 52px 23px;
		font-size: 25px;
		line-height: 1.44;
	}

	.ec-subscriptionRole__middle .ec-subscriptionRole__date {
		padding-left: 26px;
		font-size: 28px;
		line-height: 1.46;
		position: relative;
	}

	.ec-subscriptionRole__middle .ec-subscriptionRole__date:before {
		width: 2px;
		height: 30px;
		background: var(--color);
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
		z-index: 2;
		content: '';
	}

	.ec-subscriptionRole__bottom {
		padding: 30px 52px 45px;
	}

	.ec-subscriptionRole__bottom .ec-subscriptionRole__links {
		text-align: center;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 17px;
	}

	.ec-subscriptionRole__bottom .ec-linkBtn {
		max-width: 662px;
	}

	.ec-subscriptionRole__notes {
		width: 100%;
		max-width: 614px;
		margin: 0 auto;
		font-size: 16px;
		line-height: 1.25;
		font-weight: 400;
		color: var(--color);
		margin-top: 30px;
	}

	.ec-subscriptionRole__notes li + li {
		margin-top: 10px;
	}

	.ec-subscriptionRole__notes + * {
		margin-top: 52px;
	}

	.ec-historyRole .ec-historyRole__contents {
		padding: 60px 52px 31px;
	    border: 2px solid var(--color);
	    border-radius: 25px;
	    width: 100%;
	    max-width: 872px;
	    margin: 0 auto;
	}

	.ec-historyRole .ec-historyRole__detail {
		padding: 25px 20px;
		width: 100%;
	}

	.ec-historyRole .ec-historyRole__detail + .ec-historyRole__detail {
		border-top: 3px solid rgba(88, 76, 62, .2);
	}

	.ec-historyRole .ec-historyRole__detail .ec-historyRole__detailNumber {
		font-size: 18px;
		line-height: 1.46;
		margin-bottom: 19px !important;
	}

	.ec-historyRole .ec-historyRole__detail .ec-historyRole__detailTitle {
		font-size: 25px;
		line-height: 1.44;
		margin-bottom: 19px !important;
	}

	.ec-historyRole .ec-historyRole__detail .ec-historyRole__detailTitle br {
		display: none;
	}

	.ec-historyRole .ec-historyRole__detail .ec-historyRole__detailPrice {
		font-size: 25px;
		line-height: 1.44;
	}

	.ec-historyRole .ec-historyRole__detail .ec-historyRole__detailPrice .ec-historyRole__detailPrice--tax {
		font-size: 18px;
		margin-left: 25px;
	}

	.ec-historyRole__links {
		text-align: right;
		margin-top: 16px;
	}
}

/* !定期コース詳細
---------------------------------------------------------- */

.ec-subscribeRole {
	padding: 0 15px;
    font-size: 14px;
    line-height: 1.5;
    color: var(--color);
}

.ec-subscriptionRole__info {
	width: 100%;
	border-radius: 5px;
	overflow: hidden;
	margin-bottom: 24px;
}

.ec-subscriptionRole__info .ec-subscriptionRole__info--head {
	background: var(--color13);
	text-align: center;
	font-size: 14px;
	font-weight: bold;
	color: #fff;
	letter-spacing: .1em;
	line-height: 1.46;
	padding: 9px;
}

.ec-subscriptionRole__info .ec-subscriptionRole__info--contents {
	background: var(--color11);
	font-size: 15px;
	letter-spacing: .11em;
	font-weight: bold;
	line-height: 1.43;
	color: var(--color);
	text-align: center;
	padding: 15px 18px;
}

.ec-subscriptionRole__date {
	font-size: 17px;
	color: var(--color8);
}

.ec-subscriptionRole__name {
	font-size: 12px;
	line-height: 1.46;
	text-align: left;
}

.ec-subscriptionRole__address {
	font-size: 10px;
	line-height: 1.4;
	text-align: left;
	letter-spacing: .18em;
}

.ec-subscriptionRole__desc {
	background: rgba(226, 148, 127, .16);
	border-radius: 5px;
	padding: 15px 22px;
	text-align: center;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.43;
	letter-spacing: .08em;
	color: var(--color);
	margin-bottom: 24px;
}

.ec-subscriptionRole__desc span {
	color: var(--color8);
	display: inline-block;
	margin: 0 6px;
}

.ec-subscriptionRole__links .ec-linkBtn + .ec-linkBtn {
	margin-top: 10px;
}

.ec-important {
	color: var(--color8);
}

.ec-subscribeRole__cancel {
	padding: 0 20px;
}

.ec-subscribeRole__cancel .ec-subscribeRole__cancelTitle {
	font-size: 12.5px;
	font-weight: bold;
	letter-spacing: .11em;
	line-height: 1.44;
	margin-bottom: 15px;
}

.ec-subscribeRole__cancel .ec-subscribeRole__cancelDetail {
	font-size: 10px;
	font-weight: 500;
	letter-spacing: .11em;
	line-height: 1.3;
}

.ec-subscribeRole__cancel .ec-subscribeRole__cancelDetail p + p {
	margin-top: 15px;
}

.ec-subscribeRole__cancel .ec-subscribeRole__cancelDetail p span {
	font-weight: bold;
}


@media screen and (min-width: 768px) {

	.ec-subscribeRole {
		padding: 0 50px;
		width: 100%;
		max-width: 1280px;
    font-size: 16px;
    line-height: 1.5;
    color: var(--color);
    margin: 0 auto;
	}

	.ec-subscriptionRole__inner {
		width: 100%;
		max-width: 705px;
		margin: 0 auto;
		padding: 40px 0 20px;
	}

	.ec-subscriptionRole__flex {
		display: flex;
		align-items: flex-start;
		gap: 20px;
	}

	.ec-subscriptionRole__info {
		border-radius: 10px;
		margin-bottom: 30px;
	}

	.ec-subscriptionRole__info .ec-subscriptionRole__info--head {
		font-size: 20px;
		line-height: 1.45;
		padding: 12.5px;
	}

	.ec-subscriptionRole__info .ec-subscriptionRole__info--contents {
		font-size: 20px;
		line-height: 1.5;
		padding: 30px 36px;
	}

	.ec-subscriptionRole__date {
		font-size: 25px;
		line-height: 1.2;
	}

	.ec-subscriptionRole__name {
		font-size: 18px;
	}

	.ec-subscriptionRole__address {
		font-size: 18px;
		line-height: 1.46;
	}

	.ec-subscriptionRole__desc {
		border-radius: 10px;
		padding: 22px;
		font-size: 20px;
		line-height: 1.45;
		margin-bottom: 52px;
	}

	.ec-subscriptionRole__desc span {
		margin: 0 5px;
	}

	.ec-subscriptionRole__inner .ec-subscriptionRole__links .ec-linkBtn {
		width: 100%;
		max-width: 100%;
		justify-content: flex-start;
		padding: 0 27px;
		font-size: 18px;
	}

	.ec-subscriptionRole__links .ec-linkBtn + .ec-linkBtn {
		margin-top: 0;
	}

	.ec-subscriptionRole__inner .ec-subscriptionRole__notes {
		max-width: 100%;
	}

	.ec-subscribeRole__cancel {
		padding: 0 32px;
		width: 100%;
		max-width: 872px;
		margin: 0 auto;
	}

	.ec-subscribeRole__cancel .ec-subscribeRole__cancelTitle {
		font-size: 20px;
		line-height: 1.45;
		margin-bottom: 30px;
	}

	.ec-subscribeRole__cancel .ec-subscribeRole__cancelDetail {
		font-size: 16px;
		line-height: 1.625;
	}

	.ec-subscribeRole__cancel .ec-subscribeRole__cancelDetail p + p {
		margin-top: 30px;
	}

}


/* !定期コース情報の変更
---------------------------------------------------------- */

.ec-editSubscribeRole .ec-editSubscribeRole__desc {
	width: 100%;
	font-size: 13px;
	line-height: 1.26923;
	font-weight: 600;
	letter-spacing: .12em;
	background: rgba(208, 182, 146, .19);
	border-radius: 5px;
	text-align: center;
	padding: 15px 35px;
	margin-bottom: 45px;
}

.ec-editCycleRole,
.ec-editPaymentRole {
	margin-bottom: 50px;
}

.ec-editPaymentRole .ec-editPaymentRole__text,
.ec-editCycleRole .ec-editCycleRole__text {
	font-size: 12px;
	font-weight: 500;
	line-height: 1.375;
	letter-spacing: .11em;
	margin-bottom: 28px;
}

.ec-editPaymentRole .ec-subscriptionRole__info .ec-subscriptionRole__info--contents {
	background: #fff;
}

.ec-editCycle {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	line-height: 1.46;
	font-weight: 500;
	letter-spacing: .11em;
}

.ec-editCycle .ec-select {
	width: 156px;
}

.ec-nextScheduleRole {
	background: rgba(208, 182, 146, .25);
	border-radius: 2.5px;
	padding: 9px 10px 13px;
	text-align: center;
	margin-bottom: 25px;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .11em;
	line-height: 1.46;
}

.ec-nextScheduleRole .ec-nextScheduleRole__date {
	font-size: 17.5px;
	font-weight: bold;
}

.ec-editSubscribeRole .ec-label {
  font-size: 16px;
  letter-spacing: .11em;
  line-height: 1.4375;
}


.ec-editSubscribeRole .ec-select select {
  border: 0;
  border-radius: 2.5px;
  font-size: 16px;
}


@media screen and (min-width: 768px) {
	.ec-editSubscribeRole {
		width: 100%;
		max-width: 764px;
		margin: 0 auto;
	}

	.ec-editSubscribeRole .ec-editSubscribeRole__desc {
		font-size: 20px;
		line-height: 1.5;
		border-radius: 10px;
		padding: 30px 50px;
		margin-bottom: 100px;
	}

	.ec-editCycleRole,
	.ec-editPaymentRole {
		margin-bottom: 115px;
		padding: 0 10px;
	}

	.ec-editPaymentRole .ec-editPaymentRole__text,
	.ec-editCycleRole .ec-editCycleRole__text {
		font-size: 18px;
		line-height: 1.833;
		margin-bottom: 60px;
	}

	.ec-editPaymentRole .ec-editPaymentRole__text {
		text-align: center;
	}

	.ec-editPaymentRole .ec-subscriptionRole__info .ec-subscriptionRole__info--contents {
		padding: 22px 36px;
	}

	.ec-editCycle {
		gap: 20px;
		font-size: 20px;
		line-height: 1.45;
	}

	.ec-editCycle .ec-select {
		width: 226px;
	}

	.ec-nextScheduleRole {
		border-radius: 5px;
		padding: 26px 25px 30px;
		margin-bottom: 70px;
		font-size: 25px;
		line-height: 1.44;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 25px;
	}

	.ec-nextScheduleRole .ec-nextScheduleRole__date {
		font-size: 28px;
		line-height: 1.46;
		padding-left: 27px;
		position: relative;
	}

	.ec-nextScheduleRole .ec-nextScheduleRole__date:before {
		width: 2px;
		height: 30px;
		background: var(--color);
		content: '';
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
		z-index: 2;
	}

	.ec-editSubscribeRole .ec-label {
	  font-size: 16px;
    line-height: 1.44;
    margin-bottom: 22px;
	}

	.ec-editSubscribeRole .ec-required {
    width: 100px;
    height: 35px;
    font-size: 16px;
  }

	.ec-editSubscribeRole .ec-select select {
	  border: 0;
	  font-size: 16px;
	  border-radius: 5px;
	  height: 52px;
	}
}


/* !購入履歴
---------------------------------------------------------- */
.ec-orderRole {
	padding: 0 25px;
  font-size: 14px;
  line-height: 1.46;
  color: var(--color);
  display: block;
}

.ec-orderRole .ec-orderRole__detail {
    padding: 0 10px;
}

.ec-orderRole .ec-orderDelivery__item .ec-orderDelivery__itemNumber {
    font-size: 11px;
    color: var(--color6);
    line-height: 1.5;
    font-weight: 500;
    margin-bottom: 10px !important;
}

.ec-orderRole .ec-orderDelivery__item .ec-orderDelivery__itemTitle {
    font-size: 16px;
    line-height: 1.4375;
    font-weight: 600;
    color: var(--color);
    margin-bottom: 10px !important;
}

.ec-orderRole .ec-orderDelivery__item .ec-orderDelivery__itemPrice {
    font-size: 18px;
    line-height: 1.444;
    font-weight: 600;
    color: var(--color);
    letter-spacing: .11em;
}

.ec-orderRole .ec-orderDelivery__item .ec-orderDelivery__itemPrice .ec-orderDelivery__itemPrice--tax {
    font-size: 13px;
    line-height: 1.46;
    color: var(--color6);
    margin-left: 6px;
}

.ec-definitions {
	margin: 0;
	margin-top: 25px;
}

.ec-definitions .ec-definitions--soft {
	border-top: 1.5px solid rgba(88, 76, 62, .2);
	margin: 0;
	padding: 18px 14px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.46;
	color: var(--color);
	letter-spacing: .1em;
}

.ec-definitions .ec-definitions--soft dt,
.ec-definitions .ec-definitions--soft dd {
	font-size: 13px;
	font-weight: 600;
	color: var(--color);
}

.ec-definitions .ec-definitions--soft dt {
	word-break: keep-all;
	white-space: nowrap;
	display: flex;
	align-items: center;
}

.ec-definitions .ec-definitions--soft dt:after {
	font-size: 13px;
	font-weight: 600;
	line-height: 1.46;
	color: var(--color);
	content: '｜';
}

.ec-orderTotal {
	background: rgba(208, 182, 146, .19);
	border-radius: 2.5px;
	width: 100%;
	text-align: center;
	font-size: 14px;
	font-weight: bold;
	letter-spacing: .12em;
	padding: 12px;
	margin-top: 10px;
}

.ec-orderPayment {
	background: #fff;
	border-radius: 2.5px;
	width: 100%;
	text-align: center;
	font-size: 14px;
	font-weight: bold;
	letter-spacing: .12em;
	padding: 12px;
	margin-top: 10px;
}

.ec-orderRole .ec-orderRole__summary {
	margin-top: 32px;
	padding: 0 10px;
}

.ec-totalBox {
  background: #fff;
  padding: 20px 14px;
  margin-bottom: 32px;
}

.ec-totalBox .ec-totalBox__spec {
  margin-bottom: 0;
  font-size: 11px;
  line-height: 1.91;
  letter-spacing: .12em;
  font-weight: 600;
  color: var(--color);
  padding: 0 10px;
}

.ec-totalBox .ec-totalBox__spec dt,
.ec-totalBox .ec-totalBox__spec dd {
  font-size: 11px;
  line-height: 1.91;
  letter-spacing: .12em;
  font-weight: 600;
  color: var(--color);
}

.ec-totalBox .ec-totalBox__total {
	border-top: 1px dotted var(--color);
	margin-top: 25px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: .1em;
	font-weight: bold;
	color: var(--color);
	padding: 16px 10px 0;
}

.ec-orderRole .ec-pageBackRole {
	margin-top: 77px;
}

.ec-orderRole .ec-pageBackRole .ec-inlineBtn {
	font-weight: bold;
}

.ec-historyRole__links {
	text-align: right;
}

.ec-orderRole .ec-orderRole__list {
	padding: 0 10px;
}

.ec-orderRole .ec-orderRole__list .ec-orderRole__detail {
	padding: 30px 0 45px;
}

.ec-orderRole .ec-orderRole__list .ec-orderRole__detail + .ec-orderRole__detail {
	border-top: 1.5px solid var(--color);
}

.ec-orderRole .ec-orderRole__list .ec-orderStatus {
	margin-bottom: 25px;
}

.ec-orderRole .ec-orderRole__list + .ec-pageBackRole {
	margin-top: 20px;
}

.ec-orderRole .ec-orderRole__notes {
	text-align: center;
	margin-bottom: 4px;
}

.ec-orderRole .ec-orderRole__notes p {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	background: #fff;
	border-radius: 19px;
	padding: 14px 10px;
	font-size: 10px;
	letter-spacing: .11em;
	line-height: 1.3;
	font-weight: 500;
	color: var(--color);
}
 
@media screen and (min-width: 768px) {
	.ec-orderRole {
		padding: 0 50px;
	  font-size: 16px;
	  line-height: 1.46;
	  color: var(--color);
	  width: 100%;
	  max-width: 1280px;
	  margin: 0 auto;
	}

	.ec-orderRole .ec-orderRole__detail {
	    padding: 0;
	    width: 100%;
	    max-width: 742px;
	    margin: 0 auto;
	}

  .ec-orderRole .ec-orderDelivery__item .ec-orderDelivery__itemNumber {
      font-size: 18px;
      line-height: 1.46;
      margin-bottom: 19px !important;
  }

  .ec-orderRole .ec-orderDelivery__item .ec-orderDelivery__itemTitle {
      font-size: 25px;
      line-height: 1.44;
      margin-bottom: 19px !important;
  }

  .ec-orderRole .ec-orderDelivery__item .ec-orderDelivery__itemPrice {
      font-size: 25px;
      line-height: 1.44;
  }

  .ec-orderRole .ec-orderDelivery__item .ec-orderDelivery__itemPrice .ec-ordersRole__detailPrice--tax {
      font-size: 18px;
      margin-left: 25px;
  }

  .ec-definitions {
		margin-top: 45px;
	}

	.ec-definitions .ec-definitions--soft {
		border-top: 2px solid rgba(88, 76, 62, .2);
		padding: 23px 30px;
		font-size: 20px;
		line-height: 1.45;
	}

	.ec-definitions .ec-definitions--soft dt,
	.ec-definitions .ec-definitions--soft dd {
		font-size: 20px;
		line-height: 1.45;
	}

	.ec-definitions .ec-definitions--soft dt:after {
		font-size: 20px;
		line-height: 1.45;
	}

	.ec-orderStatus {
		display: flex;
		align-items: center;
		gap: 22px;
		margin-top: 30px;
	}

	.ec-orderTotal,
	.ec-orderPayment {
		border-radius: 5px;
		font-size: 20px;
		padding: 25px;
		margin-top: 0;
	}

	.ec-orderRole .ec-orderRole__summary {
		padding: 0;
		width: 100% !important;
		max-width: 742px;
		margin: 0 auto;
		margin-top: 56px !important;
	}

	.ec-totalBox {
	  padding: 31px 35px 24px;
	  margin-bottom: 56px;
	}

	.ec-totalBox .ec-totalBox__spec {
	  font-size: 20px;
	  line-height: 2.1;
	  padding: 0 22px;
	}

	.ec-totalBox .ec-totalBox__spec dt,
	.ec-totalBox .ec-totalBox__spec dd {
	  font-size: 20px;
	  line-height: 2.1;
	}

	.ec-totalBox .ec-totalBox__total {
		border-top: 2px dotted var(--color);
		margin-top: 30px;
		font-size: 23px;
		line-height: 1.826;
		padding: 17px 22px 0;
	}

	.ec-orderRole .ec-pageBackRole {
		margin-top: 116px;
		text-align: center;
	}

	.ec-orderRole .ec-pageBackRole .ec-inlineBtn {
		font-weight: bold;
		max-width: 742px;
	}

	.ec-orderRole .ec-orderRole__list {
		padding: 0;
		width: 100%;
		max-width: 872px;
		margin: 0 auto;
	}

	.ec-orderRole .ec-orderRole__list .ec-orderRole__detail {
		max-width: 100%;
		padding: 66px 65px 62px;
	}

	.ec-orderRole .ec-orderRole__list .ec-orderRole__detail + .ec-orderRole__detail {
		border-top: 3px solid var(--color);
	}

	.ec-orderRole .ec-orderRole__list .ec-orderStatus {
		margin-bottom: 28px;
	}

	.ec-orderRole .ec-orderRole__list + .ec-pageBackRole {
		margin-top: 40px;
	}

	.ec-orderRole .ec-orderRole__notes {
		margin-bottom: 94px;
	}

	.ec-orderRole .ec-orderRole__notes p {
		border-radius: 40px;
		padding: 17px 20px;
		min-width: 570px;
		font-size: 20px;
	}
}


/* !クレジット情報
---------------------------------------------------------- */
.ec-cardRole {
		padding: 0;
}

.ec-cardLoginRole + .ec-cardAddRole,
.ec-cardAddRole + .ec-cardLoginRole {
	margin-top: 50px;
}

.ec-cardLoginRole .ec-heading-large {
	font-size: 16px;
	margin-bottom: 25px;
}

.ec-cardLoginRole__list .ec-cardLoginRole__listItem {
	width: 100%;
	background: rgba(208, 182, 146, .19);
	border-radius: 5px;
	padding: 18px 13px 30px;
}

.ec-cardLoginRole__list .ec-cardLoginRole__listItem + .ec-cardLoginRole__listItem {
	margin-top: 23px;
}

.ec-cardMain {
	border-radius: 5px;
	background: #fff;
	padding: 10px;
	text-align: center;
	font-size: 13px;
	letter-spacing: .05em;
	line-height: 1.5;
	font-weight: bold;
	margin: 0 9px 11px;
}

.ec-cardInfo {
	padding: 6px 0;
}

.ec-cardInfo .ec-cardInfo__detail {
	padding: 0 15px;
}

.ec-cardInfo .ec-cardInfo__detail .ec-cardInfo__detailNumber {
	font-size: 17px;
	letter-spacing: .05em;
	line-height: 1.44;
	font-weight: bold;
	color: var(--color);
	margin-bottom: 8px;
}

.ec-cardInfo .ec-cardInfo__detail .ec-cardInfo__detailUser {
	font-size: 13px;
	letter-spacing: .05em;
	line-height: 1.2;
	color: var(--color);
	margin-bottom: 12px;
}

.ec-cardInfo .ec-cardInfo__detail .ec-cardInfo__detailExpiration {
	font-size: 10px;
	letter-spacing: .05em;
	line-height: 1.2;
	color: var(--color);
}

.ec-cardInfo .ec-cardInfo__update {
	margin-top: 25px;
	border-top: 1.5px solid rgba(88, 76, 62, .2);
	padding: 18px 15px 0;
	font-size: 13px;
	letter-spacing: .1em;
	line-height: 1.46;
	color: var(--color);
}

.ec-cardCtrl {
	margin-top: 28px;
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 12.5px;
	padding: 0 8px;
}

.ec-cardCtrl .ec-inlineBtn {
	background: none;
	font-size: 13px;
}

.ec-cardAddRole {
	padding: 0 12.5px;
}

.ec-cardAddRole .ec-heading-large {
	font-size: 16px;
	margin-bottom: 36px;
}

.ec-cardAddRole .ec-checkbox {
	text-align: center;
}

.ec-cardAddRole .ec-RegisterRole__actions .ec-off4Grid {
	grid-template-columns: repeat(1, 1fr);
	gap: 16px;
}

.ec-cardAddRole .ec-cardAddRole__notes {
	margin-top: 15px;
	text-align: center;
	font-size: 12px;
	letter-spacing: .12em;
	font-weight: bold;
	line-height: 1.5;
	color: var(--color8);
}

.ec-cardAddRole .ec-cardAddRole__notes a {
	color: var(--color8);
	text-decoration: underline;
}

@media screen and (min-width: 768px) {
	.ec-cardRole {
		max-width: 872px;
	}

	.ec-contactRole.ec-cardRole .ec-pageHeader__para {
		max-width: 764px;
		width: 100%;
		margin: 0 auto;
		margin-bottom: 106px;
	}

	.ec-cardLoginRole + .ec-cardAddRole,
	.ec-cardAddRole + .ec-cardLoginRole {
		margin-top: 105px;
	}

	.ec-cardLoginRole .ec-heading-large {
		font-size: 30px;
		margin-bottom: 68px;
	}

	.ec-cardLoginRole__list .ec-cardLoginRole__listItem {
		border-radius: 10px;
		padding: 41px 56px 53px;
	}

	.ec-cardLoginRole__list .ec-cardLoginRole__listItem + .ec-cardLoginRole__listItem {
		margin-top: 40px;
	}

	.ec-cardMain {
		border-radius: 10px;
		padding: 15px;
		font-size: 25px;
		line-height: 1.44;
		margin: 0 0 20px;
	}

	.ec-cardInfo {
		padding: 8px 0;
		display: flex;
		align-items: center;
	}

	.ec-cardInfo .ec-cardInfo__detail {
		padding: 0 17px;
		width: 410px;
		border-right: 2px solid rgba(88, 76, 62, .2);
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}

	.ec-cardInfo .ec-cardInfo__detail .ec-cardInfo__detailNumber {
		width: 100%;
		font-size: 25px;
		margin-bottom: 10px;
	}

	.ec-cardInfo .ec-cardInfo__detail .ec-cardInfo__detailUser {
		font-size: 20px;
		line-height: 1.45;
		margin: 0 35px 0 0;
	}

	.ec-cardInfo .ec-cardInfo__detail .ec-cardInfo__detailExpiration {
		font-size: 18px;
		line-height: 1.5;
	}

	.ec-cardInfo .ec-cardInfo__update {
		margin-top: 0;
		border-top: 0;
		padding: 0 40px;
		width: calc(100% - 410px);
		font-size: 20px;
		line-height: 1.45;
	}

	.ec-cardCtrl {
		margin-top:30px;
		grid-template-columns: repeat(2, 1fr);
		gap: 18px;
		padding: 0;
	}

	.ec-cardCtrl .ec-inlineBtn {
		font-size: 18px;
	}

	.ec-cardAddRole {
		max-width: 764px;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}

	.ec-cardAddRole .ec-heading-large {
		font-size: 35px;
		margin-bottom: 80px;
	}

	.ec-cardAddRole .ec-birth select {
		max-width: 245px;
	}

	.ec-cardAddRole .ec-checkbox {
		text-align: center;
	}

	.ec-cardAddRole .ec-RegisterRole__actions .ec-off4Grid {
		grid-template-columns: auto 252px;
		gap: 26px;
	}

	.ec-cardAddRole .ec-cardAddRole__notes {
		margin-top: 36px;
		font-size: 18px;
	}
}

/* !お届け先一覧
---------------------------------------------------------- */
.ec-addressRole + .ec-pageBackRole {
	margin-top: 65px;
}

.ec-addressRole .ec-addressRole__block + .ec-addressRole__block {
	margin-top: 35px;
}

.ec-addressRole .ec-heading-large {
	font-size: 16px;
	margin-bottom: 25px;
	line-height: 1.25;
}

.ec-addressRole .ec-pageHeader__para {
	margin-bottom: 20px;
}

.ec-addressRole__list .ec-addressRole__listItem + .ec-addressRole__listItem {
	margin-top: 20px;
}

.ec-addressRole__list .ec-addressRole__listItem {
	background: rgba(208, 182, 146, .19);
	border-radius: 5px;
	padding: 28px 22px 30px;
}

.ec-addressRole__list .ec-addressRole__listItem  .ec-inlineBtn {
	font-size: 13px;
	padding: 13px;
	background-image: none;
	margin-top: 35px;
}

.ec-addressRole__list .ec-addressItem {
	display: flex;
	align-items: flex-start;
	padding: 0 6px;
}

.ec-addressRole__list .ec-addressItem + .ec-addressItem {
	margin-top: 20px;
}

.ec-addressRole__list .ec-addressItem dt {
	font-size: 13px;
	letter-spacing: .05em;
	line-height: 1.46;
	font-weight: bold;
	width: 87px;
	min-width: 87px;
}

.ec-addressRole__list .ec-addressItem dd {
	flex-grow: 1;
	font-size: 12px;
	line-height: 1.583;
	font-weight: 600;
	letter-spacing: .05em;
}


@media screen and (min-width: 768px) {
	.ec-addressRole + .ec-pageBackRole {
		width: 100%;
		max-width: 744px;
		margin: 0 auto;
		margin-top: 161px;
	}

	.ec-addressRole {
		width: 100%;
		max-width: 744px;
		margin: 0 auto;
	}

	.ec-addressRole .ec-addressRole__block + .ec-addressRole__block {
		margin-top: 95px;
	}

	.ec-addressRole .ec-heading-large {
		font-size: 30px;
		margin-bottom: 42px;
		line-height: 1.33;
	}

	.ec-addressRole .ec-pageHeader__para {
		margin-bottom: 40px;
	}

	.ec-addressRole__list .ec-addressRole__listItem + .ec-addressRole__listItem {
		margin-top: 40px;
	}

	.ec-addressRole__list .ec-addressRole__listItem {
		border-radius: 10px;
		padding: 50px 70px;
	}

	.ec-addressRole__list .ec-addressRole__listItem  .ec-inlineBtn {
		font-size: 20px;
		padding: 20px;
		margin-top: 60px;
	}

	.ec-addressRole__list .ec-addressItem {
		padding: 0;
	}

	.ec-addressRole__list .ec-addressItem + .ec-addressItem {
		margin-top: 30px;
	}

	.ec-addressRole__list .ec-addressItem dt {
		font-size: 20px;
		line-height: 1.45;
		width: 175px;
		min-width: 175px;
	}

	.ec-addressRole__list .ec-addressItem dd {
		font-size: 20px;
		line-height: 1.45;
	}
}

/* !ショッピングカート
---------------------------------------------------------- */
.ec-cartRole {
	padding: 0;
	color: var(--color);
	display: block;
}

.ec-cartRole .ec-cartRole__totalText {
  margin-bottom: 20px;
  background: rgba(208, 182, 146, .19);
  border-radius: 5px;
  overflow: hidden;
  padding: 19px 19px 0;
  width: 100%;
  text-align: left;
  font-weight: 600;
}

.ec-cartRole .ec-cartRole__totalText .ec-cartRole__title {
	padding: 0 10px 17px;
	border-bottom: 1.5px solid rgba(88, 76, 62, .2);
	font-size: 15px;
	line-height: 1.43;
	letter-spacing: .05em;
	font-weight: bold;
}

.ec-cartRole .ec-cartRole__totalText .ec-cartRole__contents {
	padding: 24px 10px;
	border-bottom: 1.5px solid rgba(88, 76, 62, .2);
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.ec-cartRole .ec-cartRole__subtotal,
.ec-cartRole .ec-cartRole__tax,
.ec-cartRole .ec-cartRole__total {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 13px;
	letter-spacing: .05em;
	font-weight: bold;
	line-height: 1.46;
}

.ec-cartRole .ec-cartRole__subtotalAmount,
.ec-cartRole .ec-cartRole__taxAmount,
.ec-cartRole .ec-cartRole__totalAmount {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.1875;
	margin-left: 30px;
}

.ec-cartRole .ec-cartRole__total {
	padding: 20px 10px 24px;
}

.ec-cartRole .ec-cartRole__totalAmount {
	color: var(--color);
}

.ec-cartRole .ec-cartRole__notes {
	width: calc(100% + 38px);
	margin: 0 -19px;
	padding: 14px 29px;
	text-align: center;
	background: rgba(208, 182, 146, .19);
	font-size: 13px;
	line-height: 1.46;
	font-weight: 600;
	letter-spacing: .13em;
}

.ec-cartTable {
  display: block;
  border-top: 0;
  padding: 0 10px;
}

.ec-cartRow {
	display: block;
  width: 100%;
  padding: 30px 0;
}

.ec-cartRow + .ec-cartRow {
	border-top: 1.5px solid rgba(88, 76, 62, .2);
}

.ec-cartRow .ec-cartRow__contentColumn {
  display: flex;
  align-items: flex-start;
  gap: 12.5px;
  width: 100%;
  padding: 0;
  border: 0;
}

.ec-cartRow .ec-cartRow__img {
    display: block;
    padding: 0;
    width: 108px;
    min-width: 108px;
    aspect-ratio: 1 / 1;
}

.ec-cartRow .ec-cartRow__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ec-cartRow .ec-cartRow__summary {
	flex-grow: 1;
  display: block;
  margin: 0;
  width: auto;
  font-weight: normal;
}

.ec-cartRow .ec-cartRow__number {
	font-size: 11px;
	color: var(--color6);
	line-height: 1.5;
	font-weight: 500;
	margin-bottom: 10px !important;
}

.ec-cartRow .ec-cartRow__title {
	font-size: 16px;
	line-height: 1.4375;
	font-weight: 600;
	color: var(--color);
	margin-bottom: 10px !important;
}

.ec-cartRow .ec-cartRow__sutbtotal {
	font-size: 18px;
	line-height: 1.444;
	font-weight: 600;
	color: var(--color);
	letter-spacing: .11em;
}

.ec-cartRow .ec-cartRow__amountColumn {
	display: flex;
	align-items: center;
	gap: 10px;
  border-bottom: 0;
  width: 100%;
  margin-bottom: 10px;
  padding: 7px 0;
}

.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountUpDown {
	flex-grow: 1;
	border: 1px solid var(--color6);
	border-radius: 4.5px;
	background: #fff;
	position: relative;
	align-items: center;
	justify-content: space-between;
	height: 48px;
}

.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountDownButton,
.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountDownButtonDisabled,
.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountUpButton,
.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountUpButtonDisabled {
	margin: 0;
  border: 0;
  border-radius: 0;
  width: 46px;
  min-width: 46px;
  max-width: 46px;
  height: 100%;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  background: none;
  z-index: 2;
}

.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountDownButton .ec-cartRow__amountDownButton__icon img,
.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountDownButtonDisabled .ec-cartRow__amountDownButton__icon img,
.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountUpButton .ec-cartRow__amountUpButton__icon img,
.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountUpButtonDisabled .ec-cartRow__amountUpButton__icon img {
	width: 13px;
	position: static;
	height: auto;
	margin: 0;
}

.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amount {
	width: 100%;
	height: 100%;
	padding: 0 46px;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 17.5px;
	color: var(--color5);
	font-weight: 600;
	letter-spacing: .11em;
	margin-bottom: 0;
}

.ec-cartRole .ec-cartRole__cart .ec-blockBtn--action {
	margin-bottom: 0;
	width: 58px;
	min-width: 58px;
	height: 48px;
}

.ec-cartRole .ec-cartRole__links {
	margin-top: 15px;
	display: flex;
	flex-direction: column;
	gap: 	13px;
}

.ec-cartRole .ec-cartRole__actions {
	margin-top: 45px;
	text-align: center;
}

.ec-cartRole .ec-cartRole__actions .ec-blockBtn--action {
	margin-bottom: 0;
	height: 65px;
}

.ec-iconPostage:before {
	content: '';
	width: 23.5px;
	height: 26px;
	background: url(../img/common/icon_postage.svg) center center no-repeat;
	background-size: 100% 100%;
	position: absolute;
	left: 24px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
}

.ec-iconPayment:before {
	content: '';
	width: 27px;
	height: 19px;
	background: url(../img/common/icon_payment.svg) center center no-repeat;
	background-size: 100% 100%;
	position: absolute;
	left: 21px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
}

.ec-iconSchedule:before {
	content: '';
	width: 21px;
	height: 20px;
	background: url(../img/common/icon_schedule.svg) center center no-repeat;
	background-size: 100% 100%;
	position: absolute;
	left: 24.5px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
}

.ec-cartRole__toggle {
	margin-top: 15px;
	display: flex;
	flex-direction: column;
	gap: 13px;
}

.ec-cartRole__toggle dl {
	border-radius: 7.5px;
	border: 1.5px solid var(--color);
	padding: 0 20px;
	width: 100%;
	overflow: hidden;
}

.ec-cartRole__toggle dl dt {
	width: calc(100% + 40px);
	margin: 0 -20px;
	cursor: pointer;
	height: 45px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 14px;
	line-height: 1.5;
	font-weight: bold;
	letter-spacing: 11%;
	color: var(--color);
	position: relative;
	transition: height .3s ease;
}

.ec-cartRole__toggle dl dt:after {
	width: 8px;
	height: 5px;
	background: url(../img/common/icon_arrow_down.svg) center center no-repeat;
  background-size: 100% auto;
  content: '';
	position: absolute;
	right: 18px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	transition: transform .3s ease;
}

.ec-cartRole__toggle dl dt.is-active {
	height: 49px;
}

.ec-cartRole__toggle dl dt.is-active:after {
	transform: translateY(-50%) scaleY(-1);
}

.ec-cartRole__toggle dl dd {
	border-top: 1px solid #000;
	padding: 14px 0 18px;
	font-size: 11.5px;
	line-height: 1.44;
	font-weight: 500;
	letter-spacing: 11%;
	color: var(--color);
	display: none;
}

.ec-cartRole__toggle dl dd p + p {
	margin-top: 1.44em;
}

@media screen and (min-width: 768px) {
	.ec-cartRole {
		max-width: 744px;
	}

	.ec-cartRole .ec-cartRole__totalText {
	  margin-bottom: 22px;
	  border-radius: 10px;
	  padding: 34px 43px 0;
	}

	.ec-cartRole .ec-cartRole__totalText .ec-cartRole__title {
		padding: 0 21px 34px;
		border-bottom: 3px solid rgba(88, 76, 62, .2);
		font-size: 25px;
		line-height: 1.44;
	}

	.ec-cartRole .ec-cartRole__totalText .ec-cartRole__contents {
		padding: 35px 21px;
		border-bottom: 3px solid rgba(88, 76, 62, .2);
	}

	.ec-cartRole .ec-cartRole__subtotal,
	.ec-cartRole .ec-cartRole__tax,
	.ec-cartRole .ec-cartRole__total {
		font-size: 25px;
		line-height: 1.44;
	}

	.ec-cartRole .ec-cartRole__subtotalAmount,
	.ec-cartRole .ec-cartRole__taxAmount,
	.ec-cartRole .ec-cartRole__totalAmount {
		font-size: 25px;
		line-height: 1.44;
	}

	.ec-cartRole .ec-cartRole__total {
		padding: 34px 21px 28px;
	}

	.ec-cartRole .ec-cartRole__notes {
		width: calc(100% + 86px);
		margin: 0 -43px;
		padding: 28px 64px;
		font-size: 26px;
		line-height: 1.46;
	}

	.ec-cartRole .ec-cartRole__cart {
		margin: 0;
	}

	.ec-cartTable {
	  padding: 0;
	}

	.ec-cartRow {
	  padding: 70px 0 80px;
	}

	.ec-cartRow + .ec-cartRow {
		border-top: 3px solid rgba(88, 76, 62, .2);
	}

	.ec-cartRow .ec-cartRow__contentColumn {
	  gap: 20px;
	}

	.ec-cartRow .ec-cartRow__img {
	    width: 262px;
	    min-width: 262px;
	}

	.ec-cartRow .ec-cartRow__number {
		font-size: 20px;
		line-height: 1.45;
		letter-spacing: .04em;
		margin-bottom: 15px !important;
	}

	.ec-cartRow .ec-cartRow__title {
		font-size: 25px;
		line-height: 1.44;
		letter-spacing: .05em;
		margin-bottom: 15px !important;
	}

	.ec-cartRow .ec-cartRow__sutbtotal {
		font-size: 25px;
	}

	.ec-cartRow .ec-cartRow__amountColumn {
		max-width: 385px;
		gap: 20px;
	  margin-bottom: 15px;
	  padding: 0;
	}

	.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountUpDown {
		display: flex;
		border: 1.67px solid var(--color6);
		border-radius: 9px;
		height: 80px;
	}

	.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountDownButton,
	.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountDownButtonDisabled,
	.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountUpButton,
	.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountUpButtonDisabled {
	  width: 80px;
	  min-width: 80px;
	  max-width: 80px;
	}

	.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountDownButton .ec-cartRow__amountDownButton__icon img,
	.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountDownButtonDisabled .ec-cartRow__amountDownButton__icon img,
	.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountUpButton .ec-cartRow__amountUpButton__icon img,
	.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountUpButtonDisabled .ec-cartRow__amountUpButton__icon img {
		width: 26px;
	}

	.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amount {
		padding: 0 80px;
		font-size: 30px;
	}

	.ec-cartRole .ec-cartRole__cart .ec-blockBtn--action {
		width: 115px;
		min-width: 115px;
		height: 80px;
	}

	.ec-cartRole .ec-cartRole__links {
		margin-top: 48px;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 	20px;
	}

	.ec-cartRole .ec-cartRole__actions {
		margin: 0;
		margin-top: 100px;
		height: 100px;
		width: 100%;
	}

	.ec-cartRole .ec-cartRole__actions .ec-blockBtn--action {
		margin-bottom: 0;
		height: 100px;
		font-size: 28px;
	}

	.ec-iconPostage:before {
		width: 41px;
		height: 46px;
		left: 30px;
	}

	.ec-iconPayment:before {
		width: 47px;
		height: 33.56px;
		left: 26px;
	}

	.ec-iconSchedule:before {
		width: 35.84px;
		height: 33.8px;
		left: 32px;
	}

	.ec-cartRole__toggle {
		margin-top: 48px;
		gap: 20px;
	}

	.ec-cartRole__toggle dl {
		border-radius: 15px;
		border: 3px solid var(--color);
		padding: 0 40px;
	}

	.ec-cartRole__toggle dl dt {
		width: calc(100% + 80px);
		margin: 0 -40px;
		height: 90px;
		font-size: 28px;
		transition: background .3s ease;
	}

	.ec-cartRole__toggle dl dt:not(.is-active):hover {
		background: #fff;
	}

	.ec-cartRole__toggle dl dt:after {
		width: 16px;
		height: 9px;
		right: 36px;
	}

	.ec-cartRole__toggle dl dt.is-active {
		height: 98px;
	}

	.ec-cartRole__toggle dl dd {
		border-top: 1px solid #000;
		padding: 28px 0 36px;
		font-size: 23px;
	}
}


/* !ご購入手続き
---------------------------------------------------------- */

.ec-checkoutRole .ec-heading-large {
	font-size: 16px;
	margin-bottom: 30px;
}

.ec-checkoutRole .ec-checkoutRole__block + .ec-checkoutRole__block {
	margin-top: 50px;
}


.ec-checkoutRole .ec-RegisterRole__actions {
	margin-top: 60px;
}

.ec-checkoutCard {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-top: 30px;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.46;
}

.ec-checkoutCard p {
	margin: 0;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.46;
}

.ec-checkoutCard .ec-checkoutCard__title {
	font-size: 14px;
	font-weight: bold;
}


.ec-checkoutCard .ec-checkoutCard__image {
	width: 153px;
	margin-top: 20px;
}

.ec-checkoutCard .ec-checkoutCard__image img {
	width: 100%;
}

@media screen and (min-width: 768px) {
	.ec-checkoutRole .ec-heading-large {
		font-size: 30px;
		line-height: 1.33;
		margin-bottom: 52px;
	}

	.ec-checkoutRole .ec-checkoutRole__block + .ec-checkoutRole__block {
		margin-top: 75px;
	}

	.ec-checkoutRole .ec-birth select {
		max-width: 245px;
	}

	.ec-checkoutRole .ec-RegisterRole__actions {
		margin-top: 133px;
	}

	.ec-checkoutRole .ec-RegisterRole__actions .ec-blockBtn--action {
		height: 100px;
		font-size: 28px;
	}

	.ec-checkoutRole .ec-checkbox {
		text-align: center;
	}

	.ec-checkoutRole .form-check .form-check-label {
		font-size: 17px;
		line-height: 1.588;
		letter-spacing: 3px;
		padding-left: 28px;
		text-align: left;
	}

	.ec-checkoutRole .form-check .form-check-label:before, 
	.ec-checkoutRole .form-check .form-check-label:after {
		top: 4px;
	}

	.ec-checkoutCard {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 38px;
		margin-top: 62px;
		font-size: 16px;
		font-weight: 500;
		line-height: 1.3125;
		text-align: center;
	}

	.ec-checkoutCard .ec-checkoutCard__item {
		background: rgba(255, 255, 255, .75);
		border-radius: 14px;
		padding: 30px;
	}

	.ec-checkoutCard p {
		font-size: 16px;
		font-weight: 500;
		line-height: 1.3125;
	}

	.ec-checkoutCard .ec-checkoutCard__title {
		font-size: 20px;
		line-height: 2;
		margin-bottom: 13px;
	}


	.ec-checkoutCard .ec-checkoutCard__image {
		width: 100%;
		margin-top: 24px;
	}

	.ec-checkoutCard .ec-checkoutCard__image img {
		width: 100%;
	}
}

/* !確認画面
---------------------------------------------------------- */
.confirm-page {
  max-width: 1080px;
  margin: 0 auto;
  padding: 70px 40px 90px;
  color: #5d4f55;
  font-family: inherit;
}

.confirm-page__title {
  margin: 0 0 70px;
  text-align: center;
  font-size: 28px;
  font-weight: 600;
  letter-spacing: 0.12em;
}

.confirm-section {
  margin-bottom: 100px;
}

.confirm-page__note {
  margin-bottom: 100px;
}

.confirm-section__title {
  margin: 0 0 63px;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-align: center;
}

.confirm-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.confirm-table tr {
  border-bottom: 1px solid #e5e1e1;
}

.confirm-table th,
.confirm-table td {
  padding: 22px 0;
  text-align: left;
  vertical-align: top;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.04em;
}

.confirm-table th {
  width: 34%;
  font-weight: 600;
}

.confirm-table td {
  width: 66%;
}

.confirm-note {
  margin-top: 60px;
  font-size: 13px;
  line-height: 1.8;
  letter-spacing: 0.03em;
}

.ec-RegisterRole__actions.confirm-actions {
  margin-top: 100px;
  text-align: center;
}

.confirm-backBtn {
  display: inline-block;
  margin-top: 36px;
  padding: 0;
  border: 0;
  background: none;
  color: #5d4f55;
  font-size: 14px;
  text-decoration: underline;
  cursor: pointer;
}

.confirm-summary {
  /* display: flex;
  align-items: start;
  flex-wrap: wrap;
  gap: 40px; */
  margin: 80px 0 70px;
}

.confirm-summary__conf {
  /* width: calc(100% / 2 - 30px); */
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 100px;
}

.confirm-summary__box {
  flex: 1;
  padding: 36px 32px 0;
  background: rgba(208, 182, 146, 0.1);
}

.confirm-summary__title {
  /* margin: 0 0 28px; */
  padding: 0 20px 20px;
  border-bottom: 3px solid #D2C8B9;
  font-size: 30px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #5d4f55;
}

.confirm-summary__table {
  width: 100%;
  border-collapse: collapse;
}

.confirm-summary__table tr {
  border-bottom: 3px solid #D2C8B9;
}

.confirm-summary__table tr:first-child,
.confirm-summary__table tr:last-child {
  border-bottom: none;
}

.confirm-summary__table th,
.confirm-summary__table td {
  padding: 40px 20px;
  font-size: 24px;
  line-height: 1.6;
  color: #5d4f55;
  font-weight: 700;
}

.confirm-summary__table th.first,
.confirm-summary__table td.first {
  padding: 40px 20px 0;
}

.confirm-summary__table th {
  text-align: left;
  font-weight: 600;
}

.confirm-summary__table td {
  text-align: right;
  font-weight: 700;
}

.confirm-summary__table .is-total th,
.confirm-summary__table .is-total td {
  font-size: 24px;
  font-weight: 700;
}

.confirm-summary__txt {
  background: rgba(234, 222, 203, 1);
  padding: 25px;
}

.confirm-summary__cart {
  display: flex;
  /* width: calc(100% / 2 - 30px); */
  margin-bottom: 100px;
}

.confirm-summary__cart--img {
  width: 40%;
}

.confirm-cartItem {
  width: calc(100% - 40%);
}

.confirm-cartItem__image {
  text-align: center;
}

.confirm-cartItem__image img {
  width: auto;
  height: 80px;
}

.confirm-cartItem__content {
  flex: 1;
}

.confirm-cartItem__num {
  color: rgba(188, 180, 170, 1);
}

.confirm-cartItem__name {
  margin: 0 0 24px;
  font-size: 32px;
  font-weight: 600;
  line-height: 1.7;
  color: #5d4f55;
}

/* .confirm-cartItem__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
} */

/* .confirm-cartItem__price,
.confirm-cartItem__qty {
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
  color: #5d4f55;
} */

.confirm-cartItem__qty {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 35px;
}

.confirm-cartItem__qtyBox {
  display: flex;
  align-items: center;
  justify-content: space-between;
  /* width: 250px;
  height: 96px; */
  border: 1px solid #b8aea1;
  border-radius: 10px;
  padding: 10px;
  background: #fff;
  overflow: hidden;
}

.confirm-cartItem__qtyBtn {
  /* width: 80px;
  height: 100%; */
  border: none;
  background: transparent;
  color: rgba(145, 137, 127, 1);
  font-size: 28px;
  /* font-weight: 300; */
  line-height: 1;
  cursor: pointer;
  padding: 15px;
}

.confirm-cartItem__qtyInput {
  width: 70px;
  border: none;
  background: transparent;
  color: #5f564f;
  font-size: 36px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  appearance: textfield;
}

.confirm-cartItem__qtyInput::-webkit-outer-spin-button,
.confirm-cartItem__qtyInput::-webkit-inner-spin-button {
  margin: 0;
  appearance: none;
}

.confirm-cartItem__qtyInput:focus {
  outline: none;
}

.confirm-cartItem__qtyUpdate {
  /* width: 116px;
  height: 96px; */
  border: none;
  border-radius: 6px;
  background: #d0b692;
  color: #fff;
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
  padding: 24px;
  cursor: pointer;
}

.confirm-cartItem__qtyBtn:hover,
.confirm-cartItem__qtyUpdate:hover {
  opacity: 0.8;
}

.confirm-cartItem__price {
  font-size: 36px;
  font-weight: 700;
}

/* SP */
@media screen and (max-width: 767px) {
  .confirm-page {
    padding: 45px 0 70px;
  }

  .confirm-page__title {
    margin-bottom: 55px;
    font-size: 24px;
  }

  .confirm-section {
    margin-bottom: 48px;
  }

  .confirm-section__title {
    font-size: 20px;
    margin-bottom: 24px;
  }

  .confirm-table,
  .confirm-table tbody,
  .confirm-table tr,
  .confirm-table th,
  .confirm-table td {
    display: block;
    width: 100%;
  }

  .confirm-table tr {
    padding: 0 0 18px;
    margin-bottom: 24px;
  }

  .confirm-table th {
    padding: 0 0 10px;
    font-size: 16px;
  }

  .confirm-table td {
    padding: 0;
    font-size: 16px;
    line-height: 1.8;
  }

  .confirm-note {
    font-size: 12px;
  }

  .ec-blockBtn--action {
    padding: 18px 20px;
    font-size: 16px;
  }
  .confirm-summary {
    display: block;
    margin: 60px 0 50px;
  }

  .confirm-summary__table th,
  .confirm-summary__table td {
    padding: 20px;
    font-size: 18px;
  }

  .confirm-summary__table th.first,
  .confirm-summary__table td.first {
    padding: 20px 20px 0;
  }

  .confirm-summary__txt {
    padding: 20px;
  }

  .confirm-summary__box {
    padding: 28px 20px 0;
  }

  .confirm-summary__box + .confirm-summary__box {
    margin-top: 24px;
  }

  .confirm-summary__title {
    /* margin-bottom: 24px; */
    font-size: 20px;
  }

  .confirm-summary__table .is-total th,
  .confirm-summary__table .is-total td {
    font-size: 18px;
  }

  .confirm-cartItem {
    gap: 16px;
    width: calc(100% - 30%);
  }

  .confirm-summary__cart--img {
    width: 30%;
  }

  .confirm-cartItem__image {
    width: 90px;
  }

  .confirm-cartItem__name {
    margin-bottom: 16px;
    font-size: 20px;
  }

  .confirm-cartItem__bottom {
    display: block;
  }

  .confirm-cartItem__price {
    margin-bottom: 6px;
    font-size: 22px;
  }

  .confirm-cartItem__qty {
    font-size: 14px;
  }
  .confirm-cartItem__qtyUpdate {
    font-size: 20px;
    padding: 15px;
  }
  .confirm-cartItem__qtyInput {
    font-size: 24px;
    width: 40px;
  }
  .confirm-cartItem__qtyBtn {
    font-size: 20px;
    padding: 10px;
  }
  .confirm-cartItem__qtyBox {
    padding: 5px 10px;
    overflow: visible;
  }
}

/* !サンクス画面
---------------------------------------------------------- */

.thanks-page {
  max-width: 1080px;
  margin: 0 auto;
  padding: 90px 40px 120px;
  color: #5d4f55;
  font-family: inherit;
  text-align: center;
}

.thanks-page__ttl {
  margin: 0 0 60px;
  font-size: 28px;
  font-weight: 600;
  letter-spacing: 0.12em;
}

.thanks-page__txt {
  max-width: 760px;
  margin: 0 auto;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.04em;
  text-align: left;
}

.thanks-page__txt p {
  margin: 0 0 28px;
}

.thanks-page__lead {
  text-align: center;
}

.thanks-page__info {
  margin: 44px 0 70px;
  padding: 32px 40px;
  background: #faf7f7;
  border-radius: 12px;
}

.thanks-page__info p {
  margin: 0 0 12px;
}

.thanks-page__info p:last-child {
  margin-bottom: 0;
}

.thanks-page__info span {
  display: inline-block;
  min-width: 120px;
  font-weight: bold;
  font-size: 18px;
}

/* SP */
@media screen and (max-width: 767px) {
  .thanks-page {
    padding: 55px 0 80px;
  }

  .thanks-page__ttl {
    margin-bottom: 45px;
    font-size: 22px;
  }

  .thanks-page__txt {
    font-size: 15px;
    line-height: 1.9;
  }

  .thanks-page__lead {
    text-align: left;
  }

  .thanks-page__info {
    margin: 36px 0 50px;
    padding: 24px 20px;
  }

  .thanks-page__info span {
    display: block;
    min-width: 0;
    margin-bottom: 4px;
    font-size: 13px;
  }
}

.js-payment-np {
  display: none;
}

.payment-note {
  color: #5f564f;
  font-size: 16px;
  line-height: 1.8;
  background: rgba(240, 231, 216, 1);
  padding: 70px;
}

.payment-note__ttl {
  margin-bottom: 20px;
  font-size: 20px;
  font-weight: 700;
}

.payment-note__bnr {
  margin-bottom: 24px;
  display: block;
}

.payment-note__bnr img {
  display: block;
  max-width: 100%;
  height: auto;
}

.payment-note__label {
  display: inline-block;
  margin: 20px 0 12px;
  padding: 6px 18px;
  border-radius: 999px;
  background: #d0b692;
  color: #fff;
  font-weight: 700;
  line-height: 1.4;
}

.payment-note p {
  margin: 0 0 16px;
}

.payment-note strong {
  color: #c98272;
  font-weight: 700;
}

.ec-select.mb60 {
  margin-bottom: 60px;
  width: 70%;
}

.ec-checkoutRole .ec-checkoutRole__block.js-payment-card {
  margin-top: 0;
}

.js-payment-card .ec-checkoutCard .ec-checkoutCard__item {
  background: none;
}

.js-payment-card .ec-checkoutCard {
  text-align: left;
}

.ec-borderedDefs.mb45 {
  margin-bottom: 45px;
}

/* SP */
@media screen and (max-width: 767px) {
  .payment-note {
    padding: 30px;
    margin: 0 calc(50% - 50vw);
    width: 100vw;
  }
}

.ec-cart .ec-cartRole .ec-cartRole__error .ec-alert-warning {
	max-width: 100%;
}

/* ============================================================
   Customize
   ============================================================ */
#page_shopping_shipping_multiple .ec-AddAddress {
	margin: 0;
	padding: 0;
}
#page_shopping_shipping_multiple .ec-AddAddress__select {
	display: flex;
	align-items: flex-end;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 24px;
}
#page_shopping_shipping_multiple .ec-AddAddress__selectAddress {
	flex: 1 1 320px;
	min-width: 0;
	display: block;
}
#page_shopping_shipping_multiple .ec-AddAddress__selectAddress .ec-select {
	width: 100%;
}
#page_shopping_shipping_multiple .ec-AddAddress__selectAddress label {
	display: block;
	margin: 0 0 6px;
}
#page_shopping_shipping_multiple .ec-AddAddress__selectAddress select {
	width: 100%;
	min-width: 0;
}
#page_shopping_shipping_multiple .ec-AddAddress__selectNumber {
	flex: 0 0 auto;
	margin-left: 0;
	display: block;
}
#page_shopping_shipping_multiple .ec-AddAddress__selectNumber .ec-input {
	margin: 0;
}
#page_shopping_shipping_multiple .ec-AddAddress__selectNumber label {
	display: block;
	margin: 0 0 6px;
	white-space: nowrap;
}
#page_shopping_shipping_multiple .ec-AddAddress__selectNumber input {
	width: 80px;
	margin: 0;
}
#page_shopping_shipping_multiple .shipping_item__deleteWrap {
	flex: 1 1 100%;
	text-align: right;
}

.confirm-summary__table tr,
.confirm-summary__table tr:first-child,
.confirm-summary__table tr:last-child {
	border-bottom: none;
}
.confirm-summary__table .is-total {
	border-top: 3px solid #D2C8B9;
}
.confirm-summary__table tr:not(.is-total) th,
.confirm-summary__table tr:not(.is-total) td {
	padding-bottom: 0;
}
.confirm-summary__table tr:nth-last-child(2) th,
.confirm-summary__table tr:nth-last-child(2) td {
	padding-bottom: 40px;
}

#page_forgot_reset .ec-input + .ec-input {
	margin-top: 36px;
}
@media screen and (max-width: 767px) {
	#page_forgot_reset .ec-input + .ec-input {
		margin-top: 20px;
	}
}
