/***********************************************
original_common
***********************************************/
html {
 scroll-behavior: smooth;
}
*:target {
  scroll-margin-top: 80px;
}
body {
 -webkit-text-size-adjust: 100%;
 font-family: "Roboto", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
 color: #444;
 background: #fff;
}

body.no-scroll {
  overflow: hidden;
  height: 100%;
}

main {
 padding-top: 11rem;
 font-size: 16px;
}

h1, h2, h3, h4{
  font-family: "Roboto","Noto Sans JP","Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif!important;
}

li.btn.elm_btn {
    padding: 0;
    box-shadow: none;
    width: 100%;
}



/***********************************************
original_common

html {
 font-size: 62.5%;
 scroll-behavior: smooth;
}
*:target {
  scroll-margin-top: 80px;
}
body {
 -webkit-text-size-adjust: 100%;
 font-family: "Roboto", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
 color: #444;
 background: #fff;
}

body.no-scroll {
  overflow: hidden;
  height: 100%;
}

main {
 padding-top: 11rem;
 font-size: 16px;
}

h1, h2, h3, h4{
  font-family: "Roboto","Noto Sans JP","Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif!important;
}


@media only screen and (max-width:768px) {
 main {
  padding-top: 13rem;
 }
}

a,
a:visited {
 color: #4e3227;
}

sub,
sup {
 font-size: 70%;
}

sub {
 vertical-align: baseline;
}

sup {
 vertical-align: revert;
}

.dummy {
 cursor: pointer;
}

.link_none {
 pointer-events: none;
}
***********************************************/


/*------------------------------
  layout


.outer_1200 {
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}

.outer_1200.inner_1080 {
  max-width: 1200px;
  padding-right: 60px;
  padding-left: 60px;
}

.inner_1080 {
  max-width: 1080px;
  margin-right: auto;
  margin-left: auto;
}

.inner_1080.inner_1000 {
  width: 100%;
  padding-right: 40px;
  padding-left: 40px;
  margin: 0;
}

.inner_1080.inner_800 {
  width: 100%;
  padding-right: 140px;
  padding-left: 140px;
  margin: 0;
}

.inner_1000 {
  max-width: 1000px;
  margin-right: auto;
  margin-left: auto;
}

.inner_1000.inner_680 {
  width: 100%;
  padding-right: 160px;
  padding-left: 160px;
  margin: 0;
}

.inner_800 {
  max-width: 800px;
  margin-right: auto;
  margin-left: auto;
}

.inner_750 {
  max-width: 750px;
  margin-right: auto;
  margin-left: auto;
}

.inner_680 {
  max-width: 680px;
  margin-right: auto;
  margin-left: auto;
}

.inner_520 {
  max-width: 520px;
  margin-right: auto;
  margin-left: auto;
}

.inner_indent {
  padding-right: 40px;
  padding-left: 40px;
}

------------------------------*/


/*------------------------------
  link

.link_default {
 color: inherit;
 text-decoration: underline;
}

.txt .link_default {
 color: inherit;
 text-decoration: underline;
}
 ------------------------------*/

/*------------------------------
  img

img {
 line-height: 1;
 vertical-align: top;
 width: 100%;
 height: auto;
}
 ------------------------------*/

/*------------------------------
  txt

.txt {
 word-break: break-all;
}

.txt_color_red {
 color: #bb2525;
}

.txt_color_orange {
 color: #e09635;
}

.txt_color_green {
 color: #44964b;
}

.txt_align_c {
 text-align: center;
}

.txt_align_r {
 text-align: right;
}

.txt_align_l {
 text-align: left;
}

.placeholder_color_gray::placeholder {
 color: #8a8a8a;
}




.sp_only {
 display: none;
}

@media only screen and (max-width:768px) {
 .pc_only {
  display: nonet;
 }
}
------------------------------*/



/***********************************************
header
***********************************************/
.header_standard {
 min-width: 1200px;
 width: 100%;
 position: fixed;
 top: 0;
 left: 0;
 z-index: 99999;
 background: #FFF;
}

.header_standard .block_01 {
 width: 100%;
}

.header_standard .block_01 .block_inner {
 display: flex;
 justify-content: right;
 color: #4e3227;
 width: 100%;
 height: 80px;
}

.header_standard .block_01 .box {
 margin: 0;
}

.header_standard .block_01 .box_logo {
 flex-grow: 1;
}

.header_standard .block_01 .box_logo .box_inner {
 margin-left: 27px;
 height: 100%;
}

.header_standard .block_01 .box_logo .box_inner>a {
 display: flex;
 justify-content: left;
 align-items: center;
 width: 100%;
 height: 100%;
 padding: 0 2px;
}

.header_standard .block_01 .box_logo .box_inner>a .img_logo {
 display: block;
 /* width: 35px; */
 height: 50px;
 aspect-ratio: 72 / 100;
 /* overflow: hidden; */
 position: relative;
}

.header_standard .block_01 .box_logo .box_inner>a .img_logo svg {
 /* @include centered_xy */
 display: block;
 width: auto;
 height: 100%;
 position: absolute;
}

.header_standard .block_01 .box_logo .box_inner>a .img_logo_sub {
 width: 55px;
 margin-left: 20px;
}

.header_standard .block_01 .box_navi {
 width: 720px;
}

.header_standard .block_01 .box_navi .box_inner {
 display: flex;
 width: 100%;
 height: 100%;
}

.header_standard .block_01 .box_navi .part {
 width: calc(100% / 4);
 margin: 0;
}

.header_standard .block_01 .box_navi .part+.part {
 position: relative;
}

.header_standard .block_01 .box_navi .part+.part::before {
 /* @include centered_y */
 position: absolute;
 content: " ";
 display: block;
 height: 25px;
 border-right: 2px solid #e6e6e6;
 left: 0;
}

.header_standard .block_01 .box_navi .part>a {
 display: flex;
 justify-content: center;
 align-content: center;
 flex-wrap: wrap;
 text-align: center;
 width: 100%;
 height: 100%;
}

.header_standard .block_01 .box_navi .part .txt_main {
 font-size: 1.8rem;
 line-height: 1.4;
 width: 100%;
}

.header_standard .block_01 .box_navi .part .txt_sub {
 color: #e6e6e6;
 font-size: 1.4rem;
 line-height: 1.4;
 letter-spacing: 0.1em;
 width: 100%;
}

.header_standard .block_01 .box_menu {
 width: 430px;
 overflow: hidden;
 background-color: #fcf3e9;
 border-radius: 0 0 10px 0;
}

.header_standard .block_01 .box_menu .box_inner {
 display: flex;
 width: 100%;
 height: 100%;
}

.header_standard .block_01 .box_menu .part {
 font-size: 1.4rem;
 margin: 0;
}

.header_standard .block_01 .box_menu .part>a,
.header_standard .block_01 .box_menu .part>span {
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
 align-content: center;
 width: 100%;
 height: 100%;
 padding-top: 10px;
 cursor: pointer;
}

.header_standard .block_01 .box_menu .part .icn {
 height: 30px;
}

.header_standard .block_01 .box_menu .part .icn svg {
 display: block;
 width: auto;
 height: 100%;
 fill: #4e3227;
}

.header_standard .block_01 .box_menu .part .txt {
 text-align: center;
 width: 100%;
 margin-top: 5px;
}

.header_standard .block_01 .box_menu .part:not(.part_menu) {
 width: calc((100% - 110px) / 3);
}

.header_standard .block_01 .box_menu .part_cart .icn {
 position: relative;
}

.header_standard .block_01 .box_menu .part_cart .icn>span {
 display: flex;
 justify-content: center;
 align-items: center;
 color: #ffffff;
 font-size: 1.2rem;
 width: 20px;
 aspect-ratio: 1 / 1;
 background-color: #e88135;
 border-radius: 50%;
 position: absolute;
 bottom: calc(100% - 15px);
 left: 100%;
}

.header_standard .block_01 .box_menu .part_menu {
 color: #ffffff;
 width: 110px;
 background-color: #f8c29d;
}

.header_standard .block_01 .box_menu .part_menu>span .icn {
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
 align-content: center;
 width: 56px;
 position: relative;
}

.header_standard .block_01 .box_menu .part_menu>span .icn::before,
.header_standard .block_01 .box_menu .part_menu>span .icn::after {
 content: " ";
 display: block;
 position: absolute;
 top: 50%;
 width: 90%;
 height: 2px;
 background-color: #ffffff;
 transition: 0.1s;
 transform-origin: center;
}

.header_standard .block_01 .box_menu .part_menu>span .icn::after {
 margin-top: 8px;
}

.header_standard .block_01 .box_menu .part_menu.close>span .icn::before {
 transform: rotate(45deg);
}

.header_standard .block_01 .box_menu .part_menu.close>span .icn::after {
 margin-top: 0;
 transform: rotate(-45deg);
}

/* -------------------------------------------- */

.header_basic {
 width: 100%;
 background: #ffffff;
}

.header_basic::after {
 content: " ";
 display: block;
 width: 100%;
 height: 1px;
 background-color: #4e3227;
}

.header_basic .block_01 {
 padding-bottom: 1px;
}

.header_basic .block_01 .block_inner {
 display: flex;
 justify-content: space-between;
 align-items: center;
 min-height: 100px;
 position: relative;
}

.header_basic .block_01 .box {
 margin: 0;
}

.header_basic .box_logo {
 width: 40px;
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
}



@media only screen and (min-width: 769px) {
 .header_standard .block_01 .box_navi .part+.part::before {
  top: 50%;
  right: auto;
  bottom: auto;
  left: auto;
  transform: translateY(-50%);
  content: " ";
  display: block;
  height: 25px;
  border-right: 2px solid #e6e6e6;
  left: 0;
 }
}



@media (max-width: 768px) {
 header.header_standard._float_header {
  width: 100%;
  min-width: auto;
  padding: 0;
  background-color: #fff;
 }

 .header_inner .block_inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
 }

 .box_logo {
  width: 100%;
  text-align: center;
 }

 .header_standard .block_01 .box_logo .box_inner {
  margin-left: 0;
  height: 100%;
  width: 32vw;
 }

 .header_standard .block_01 .box_logo .box_inner>a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 0 5vw;
 }

 .header_standard .block_01 .box_logo .box_inner>a .img_logo {
  display: block;
  width: 8vw;
  aspect-ratio: 72 / 100;
  overflow: visible;
  position: relative;
  height: auto;
 }
 
 .box_navi {
  display: none;
 }

 .box_menu {
  width: 100%;
  display: flex;
  justify-content: space-between;
 }

 .box_menu .box_inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
 }

 .header_standard .block_01 {
  width: 100%;
 }

 .header_standard .block_01 .block_inner {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  color: #602a1c;
  width: 100%;
  height: 16vw;
 }
 .header_standard .block_01 .box_menu {
  overflow: hidden;
  background-color: #fcf3e9;
  border-radius: 0 0 0 10px;
  padding: 0;
 }

 .header_standard .block_01 .box_menu .box_inner {
  display: flex;
  width: 100%;
  height: 16vw;
  flex-wrap: nowrap;
  gap: 0;
 }
	.header_standard .block_01 .box_menu .part_menu>span .icn {
					display: flex;
					flex-wrap: wrap;
					justify-content: center;
					align-content: center;
					width: 8.5333333333vw;
					position: relative;
	}


 .header_standard .block_01 .box_menu .part {
  padding-top: 0;
  flex: 1 0 22%;
  min-width: 50px;
  text-align: center;
  font-size: 100%;
 }

 .header_standard .block_01 .box_menu .part .icn {
  height: 5.3333333333vw;
 }


 .header_standard .block_01 .box_menu .part_cart .icn>span {
  bottom: auto;
  left: auto;
  top: -1rem;
  right: -1rem;
 }

  .header_standard .block_01 .box_menu .part>a,
  .header_standard .block_01 .box_menu .part>span {
    padding-top: 0;
    font-size: 1rem;
  }

 .header_standard .block_01 .box {
  margin: 0;
 }

 .header_standard .block_01 .box_logo {
  width: calc(250 / 375 * 100vw);
 }

 .header_standard .block_01 .box_logo .img_logo {
  display: block;
  width: calc(55 / 375 * 100vw);
  aspect-ratio: 72 / 100;
  overflow: hidden;
  position: relative;
 }

 .header_standard .block_01 .box_logo .img_logo svg {
  position: absolute;
  display: block;
  width: auto;
  height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
 }

 .header_standard .block_01 .box_logo .img_logo_sub {
  display: block;
  width: 12vw;
 }


 .header_standard .block_01 .box_logo .box_inner>a .img_logo_sub {
  width: 50px;
  margin-left: 1.25rem;
 }

 .bar__inner {
  background-color: #f5f5f5;
  padding: 8px;
  text-align: center;
 }

 .bar__inner .icon__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
 }

 #side_navi .navi_inner {
  padding-bottom: 40px;
 }

 #side_navi .block_side_line,
 #side_navi .block_side_announce {
  margin: 10px 5px;
 }

 #side_navi .block_side_acd .acd_head,
 #side_navi .block_side_link .link_head {
  padding: 0;
  border-top: 1px solid #f2f2f2;
  border-bottom: 1px solid #f2f2f2;
 }

 #side_navi .block_side_acd .acd_head .txt_heading,
 #side_navi .block_side_link .link_head .txt_heading {
  display: flex;
  align-items: center;
  gap: 10px;
 }

 #side_navi .block_side_acd .acd_body .list li a {
  padding: 15px 20px;
  background-color: #f8f8f8;
  font-size: 0.95rem;
 }

 #side_navi .block_side_sns {
  padding: 20px 15px;
 }

 #side_navi .block_side_sns .list {
  display: flex;
  justify-content: space-around;
  gap: 10px;
  flex-wrap: wrap;
 }

 #side_navi .block_side_sns .list .part svg {
  width: 35px;
  height: auto;
 }

 .img img {
  max-width: 100%;
  height: auto;
 }
}




@media only screen and (min-width:769px) {
 .bar__inner {
  background-color: #f0f0f0;
  margin-top: 0;
  margin-left: auto;
  margin-right: auto;
  padding: 7px;
  position: relative;
  min-width: 1200px;
 }

 .bar__inner:hover {
  opacity: 0.5;
 }

 .bar__inner a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
 }

 .bar__inner .icon-img {
  width: 20px;
  padding-right: 4px;
 }

 .bar__inner p {
  font-size: 1.4rem;
  line-height: 1.2;
  margin: auto 0;
  letter-spacing: 0.2px;
 }

 .bar__inner span {
  color: #06C755;
  font-weight: 600;
  line-height: 1.2;
 }

 .bar__inner div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
 }

 .bar__inner::after {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 2px solid #333;
  border-right: 2px solid #333;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  right: 15px;
  top: 0;
  bottom: 0;
  margin: auto;
 }

 .bar__inner .logo_txt {
  padding-right: 20px;
 }
}

@media only screen and (max-width:768px) {
 .bar__inner {
  background-color: #f0f0f0;
  margin-top: 0;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 15px;
  padding: 7px;
  position: relative;
 }

 .bar__inner:hover {
  opacity: 0.5;
 }

 .bar__inner a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
 }

 .bar__inner .icon-img {
  width: 20px;
  padding-right: 4px;
 }

 .bar__inner p {
  font-size: 1.4rem;
  line-height: 1.2;
  margin: auto 0;
  letter-spacing: 0.2px;
 }

 .bar__inner span {
  color: #06C755;
  font-weight: 600;
  line-height: 1.2;
 }

 .bar__inner div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
 }

 .bar__inner::after {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 2px solid #333;
  border-right: 2px solid #333;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  right: 15px;
  top: 0;
  bottom: 0;
  margin: auto;
 }
}

/* ヘッダーメニュー */
#side_navi {
	margin-top:0;
 padding-top: 11rem;
 position: fixed;
 top: 0;
 right: -120%;
 width: 80%;
 max-width: 430px;
 height: 100%;
 background: #fff;
 z-index: 9999;
 transition: right 0.4s ease;
 overflow-y: auto;
}

#side_navi.open {
 right: 0;
}

.hidden {
 display: block;
 /* 初期非表示にしたい場合 display: none; を指定しても良い */
}

#side_navi.c {
 opacity: 1;
 visibility: visible;
 transform: translateX(0);
}

#side_navi .navi_inner {
 height: 100%;
 padding: 0 0 60px 0;
 overflow: auto;
 background: #ffffff;
}

#side_navi .block {
 margin-top: 0;
}

#side_navi .block .acd_body {
 padding-right: 0;
 padding-left: 0;
}

#side_navi .block_side_line {
 margin-block: 30px 15px;
}

#side_navi .block_side_annouce {
 margin-inline: 10px;
 margin-bottom: 15px;
}

#side_navi .block_side_acd {
 border-top: solid 1px #f2f2f2;
 border-bottom: solid 1px #f2f2f2;
}

/* ._acd_conts {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease;	
}

.block_side_acd.open ._acd_conts {
  max-height: 1000px;
} */

#side_navi .block_side_acd+.block_side_acd,
#side_navi .block_side_acd+.block_side_link {
 border-top: none;
}

#side_navi .block_side_acd .acd_head {
 position: relative;
	min-height: 70px;
	display: flex;
	align-items: center;
	color: #4e3227;
	font-size: 1.8rem;
	line-height: 1.4;
	padding: 5px 3.7037037037%;
}

#side_navi .block_side_acd .acd_head::before,
#side_navi .block_side_acd .acd_head::after {
 background-color: #cecece;
}

#side_navi .block_side_acd .acd_head::before {
 right: 35px;
}

#side_navi .block_side_acd .acd_head::after {
 right: 40px;
}

#side_navi .block_side_acd .acd_head .txt_heading {
 display: flex;
}

#side_navi .block_side_acd .acd_head .txt_heading .icn {
 width: 40px;
 margin-inline: 15px;
}

#side_navi .block_side_acd .acd_head .txt_heading .txt {
 display: flex;
 align-items: center;
}




#side_navi .block_side_acd .acd_head .toggle_icon {
    position: absolute;
    width: 16px;
    height: 16px;
    margin-left: auto;
    margin-right: 8px;
    cursor: pointer;
    right: 25px;
    top: 50%;
    transform: translateY(-50%);
}

/* 横棒 */
#side_navi .block_side_acd .acd_head .toggle_icon::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  background: #cecece;
  transform: translateY(-50%);
}

/* 縦棒（＋の縦ライン） */
#side_navi .block_side_acd .acd_head .toggle_icon::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 0;
  width: 2px;
  height: 100%;
  background: #cecece;
  transform: translateX(-50%);
  transition: all 0.3s ease;
}

/* 開いてるときは縦棒を消す（＝−になる） */
.block_side_acd.open .toggle_icon::after {
  opacity: 0;
}


#side_navi .block_side_acd .acd_body {
 border-top: none;
 padding: 0;
}

#side_navi .block_side_acd .acd_body .box .list li {
 position: relative;
 margin: 0;
 border-bottom: solid 1px #f2f2f2;
}

#side_navi .block_side_acd .acd_body .box .list li a {
 display: flex;
 flex-direction: column;
 justify-content: center;
 min-height: 60px;
 padding-left: 80px;
 background-color: #f8f8f8;
	font-size: 1.6rem;
}

#side_navi .block_side_acd .acd_body .box .list li a span {
 font-size: 1rem;
}

#side_navi .block_side_acd .acd_body .box .list li:last-child {
 border-bottom: none;
}

#side_navi .block_side_acd .acd_body .box .list li::after {
 content: " ";
 display: block;
 width: 10px;
 height: 10px;
 border: 0px;
 border-top: 2px solid #cecece;
 border-right: 2px solid #cecece;
 position: absolute;
 top: 50%;
 right: 36px;
 transform: translateY(-50%) rotate(45deg);
}

#side_navi .block_side_link {
 border-top: solid 1px #f2f2f2;
 border-bottom: solid 1px #f2f2f2;
}

#side_navi .block_side_link+.block_side_link,
#side_navi .block_side_link+.block_side_acd {
 border-top: none;
}

#side_navi .block_side_link .link_head {
 position: relative;
}

#side_navi .block_side_link .link_head::after {
 content: " ";
 display: block;
 width: 10px;
 height: 10px;
 border: 0px;
 border-top: 2px solid #cecece;
 border-right: 2px solid #cecece;
 position: absolute;
 top: 50%;
 right: 36px;
 transform: translateY(-50%) rotate(45deg);
}

#side_navi .block_side_link .link_head .txt_heading a {
 min-height: 70px;
 display: flex;
 align-items: center;
 color: #4e3227;
 font-size: 1.8rem;
 line-height: 1.4;
 padding: 5px 3.7037037037%;
}

#side_navi .block_side_link .link_head .txt_heading a .icn {
 width: 40px;
 margin-inline: 15px;
}

#side_navi .block_side_link .link_head .txt_heading a .txt {
 display: flex;
 align-items: center;
}

#side_navi .block_side_sns {
 padding: 45px 25px 0;
}

#side_navi .block_side_sns .sns_head .txt_heading {
 font-size: 2.0rem;
 font-weight: normal;
 line-height: 1.4;
 text-align: center;
 letter-spacing: 0.15em;
 text-indent: 0.15em;
 color: #4e3227;
}

#side_navi .block_side_sns .sns_body {
 margin-top: 30px;
}

#side_navi .block_side_sns .sns_body .box_01 .list {
 display: flex;
 justify-content: space-between;
 align-items: center;
 padding-inline: 10px;
}

#side_navi .block_side_sns .sns_body .box_01 .list .part {
 margin: 0;
 border: 1px solid #e6e6e6;
 border-radius: 50%;
 box-shadow: 0 0 6px #e6e6e6;
}

#side_navi .block_side_sns .sns_body .box_01 .list .part a {
 display: flex;
 justify-content: center;
 align-items: center;
 width: 95px;
 aspect-ratio: 1/1;
}

#side_navi .block_side_sns .sns_body .box_01 .list .part a svg {
 display: block;
 width: 45px;
 height: auto;
}

#side_navi .block_side_sns .sns_body .box_01 .list .part_twitter a svg {
 width: 78px;
}

#side_navi .block_side_sns .sns_body .box_01 .btn {
 margin-top: 50px;
}

#side_navi .block_side_sns .sns_body .box_01 .btn a {
 background-color: #969696;
}

#side_navi .block_side_sns .sns_body .box_01 .btn a::after {
 border-color: #969696;
}

#side_navi .block_01 {
 margin-top: 20px;
}

#side_navi .block_01+.block {
 margin-top: 20px;
}

#side_navi .block_02 {
 margin-top: 20px;
}


@media (max-width: 768px) {
 #side_navi {
		margin-top: 0;
  padding-top: 12rem;
  transition: all 0.6s ease;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
 }

 #side_navi.js_sn_active {
  opacity: 1;
  visibility: visible;
 }

 #side_navi .navi_inner {
  height: 100%;
  padding: 0 0 40px 0;
  overflow: auto;
  background: #ffffff;
 }

 #side_navi .block {
  margin-top: 0;
 }

 #side_navi .block .acd_body {
  padding-right: 0;
  padding-left: 0;
  /* border-top: 1px dotted #b5b5b5; */
 }

 #side_navi .block_side_line {
  margin-block: min(7.3333333333vw, 55px) min(3.0666666667vw, 23px);
 }

 #side_navi .block_side_announce {
  margin-inline: 10px;
  margin-bottom: 46px;
 }

 #side_navi .block_side_acd .acd_head {
  min-height: min(16vw, 120px);
 }

 #side_navi .block_side_acd .acd_head .txt_heading .txt {
  font-size: 1.8rem;
 }

 #side_navi .block_side_acd .acd_body .box .list li a {
  min-height: auto;
 }

 #side_navi .block_side_acd .acd_body .box .list li a span {
  font-size: 0.9rem;
 }

 #side_navi .block_side_link .link_head .txt_heading a {
  min-height: min(16vw, 120px);
 }
	

	#side_navi .block_side_sns .sns_body .box_01 .list .part a {
		width: 85px;
	}

 #side_navi .block_side_sns .sns_body .box_01 .list .part_twitter a svg {
  width: 244px;
 }

 #side_navi .block_side_sns .sns_body .box_01 .btn {
  margin-top: 200px;
 }
}

#overlay {
 position: fixed;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 background-color: rgba(0, 0, 0, 0.4);
 /* 半透明黒 */
 z-index: 9990;
 /* ナビの直下になるように */
 transition: opacity 0.3s ease;
 opacity: 0;
 pointer-events: none;
}

#overlay.visible {
 opacity: 1;
 pointer-events: auto;
}

@media (max-width: 768px) {
 #overlay {
  top: 13rem;
 }
}


/***********************************************
footer
***********************************************/
.footer_standard {
 background-color: #f0f0f0;
 padding: 80px 20px 40px;
 color: #4e3227;
}

.footer_inner .outer_1200 {
 max-width: 780px;
 margin: 0 auto;
}

.footer_standard .block_01 {
 margin-bottom: 40px;
}

.footer_standard .box_01 .box_inner {
 display: flex;
 flex-wrap: wrap;
 gap: 40px;
}

.footer_standard .box_l,
.footer_standard .box_r {
 flex: 1 1 300px;
 min-width: 260px;
}

.footer_standard .block_heading h3 {
 margin-bottom: 16px;
 font-size: 2rem;
 font-family: "Roboto", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
 color: #4e3227;
}

.footer_standard .block_heading {
 margin-bottom: 30px;
}

.footer_standard .part ul.list {
 list-style: none;
 padding: 0;
 margin: 0;
}

.footer_standard .part ul.list li {
 border-bottom: 1px solid #e5e5e5;
}

.footer_standard .part ul.list li:nth-child(1) {
 border-top: 1px solid #e6e6e6;
}

.footer_standard .part ul.list li a {
 position: relative;
 display: flex;
 justify-content: space-between;
 align-items: center;
 padding: 10px 40px 10px 30px;
 font-size: 1.6rem;
 color: #444;
 text-decoration: none;
 width: 100%;
 min-height: 80px;
}

.footer_standard .part ul.list li a::after {
 content: " ";
 display: block;
 width: 10px;
 height: 10px;
 border: 0px;
 border-top: 2px solid #4e3227;
 border-right: 2px solid #4e3227;
 border-color: #b5b5b5;
 position: absolute;
 top: 50%;
 right: 20px;
 transform: translateY(-50%) rotate(45deg);
}

.footer_standard .block_copyright {
 padding-top: 20px;
 text-align: center;
}

.footer_standard .txt_copyright {
 font-size: 1.2rem;
 color: #999;
 text-align: center;
}


@media (max-width: 768px) {
 .footer_standard .box_01 .box_inner {
  flex-direction: column;
  gap: 30px;
 }

 .footer_standard .part ul.list li a {
  font-size: min(4, 3.2rem);
  padding-right: 15px;
  position: relative;
  display: flex;
  align-items: center;
  color: #444;
  width: 100%;
  padding: 2.6666666667vw 6.6666666667vw 2.6666666667vw 2.6666666667vw;
 }

}


/***********************************************
ログインページ / カートページ チェックボックス調整
***********************************************/
.c-form_table input[type=radio], input[type=checkbox] {
    display: block;
    margin-right: 10px;
}

/***********************************************
カード情報登録 / 編集
***********************************************/
.cards_edit .box_inner {
  display: flex
;
  margin: 3rem 0;
}