@charset "utf-8";

:root {
  --common: #5d4428;
  --color: #b89466;
  --line: #aea193;
  --bg: #b89466;
  --bg02: #9f7540;
  --bg03: #c8ac88;
}

/* -----------------------------------------------------------
　common
----------------------------------------------------------- */

* {box-sizing: border-box;}
img {max-width: 100%;}
.fcred {color: #FF0000;}
.fwbold {font-weight: bold;}
.fs80 {font-size: 0.8em;}
.fs120 {font-size: 1.2em;}
.left {float: left;}
.right {float: right;}
.center {text-align: center;}
.alignright {text-align: right;}
.alignleft {text-align: left;}
.clear {clear: both;}
.italic {font-style: italic;}
.mt00 {margin-top: 0!important;}
.mt10 {margin-top: 10px!important;}
.mt20 {margin-top: 20px!important;}
.mt30 {margin-top: 30px!important;}
.mt40 {margin-top: 40px!important;}
.mt50 {margin-top: 50px!important;}
.mt60 {margin-top: 60px!important;}
.mt70 {margin-top: 70px!important;}
.mt80 {margin-top: 80px!important;}
.mt90 {margin-top: 90px!important;}
.mt100 {margin-top: 100px!important;}

.mb00 {margin-bottom: 0!important;}
.mb10 {margin-bottom: 10px!important;}
.mb20 {margin-bottom: 20px!important;}
.mb30 {margin-bottom: 30px!important;}
.mb40 {margin-bottom: 40px!important;}
.mb50 {margin-bottom: 50px!important;}
.mb60 {margin-bottom: 60px!important;}
.mb70 {margin-bottom: 70px!important;}
.mb80 {margin-bottom: 80px!important;}
.mb90 {margin-bottom: 90px!important;}
.mb100 {margin-bottom: 100px!important;}

.pt00 {padding-top: 0!important;}
.pt10 {padding-top: 10px!important;}
.pt20 {padding-top: 20px!important;}
.pt30 {padding-top: 30px!important;}
.pt40 {padding-top: 40px!important;}
.pt50 {padding-top: 50px!important;}
.pt60 {padding-top: 60px!important;}
.pt70 {padding-top: 70px!important;}
.pt80 {padding-top: 80px!important;}
.pt90 {padding-top: 90px!important;}
.pt100 {padding-top: 100px!important;}

.pb00 {padding-bottom: 0!important;}
.pb10 {padding-bottom: 10px!important;}
.pb20 {padding-bottom: 20px!important;}
.pb30 {padding-bottom: 30px!important;}
.pb40 {padding-bottom: 40px!important;}
.pb50 {padding-bottom: 50px!important;}
.pb60 {padding-bottom: 60px!important;}
.pb70 {padding-bottom: 70px!important;}
.pb80 {padding-bottom: 80px!important;}
.pb90 {padding-bottom: 90px!important;}
.pb100 {padding-bottom: 100px!important;}
figure img {display: block;}
a {
  color: inherit;
  text-decoration: none;
}
body {
  font-family:"Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 16px;
  line-height: 1.875;
  color: var(--common);
}
body.fixed {overflow: hidden;}

input,button ,select,option,textarea {font-family:"Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;color: inherit;}
button.disabled {
  pointer-events: none;
  opacity: 0.5;
}

@media screen and (min-width: 801px) {
  
  .sp_cont {display: none !important;}
  
}
a:hover {
  text-decoration: underline;
  color: inherit;
}

/* -----------------------------------------------------------
  template
----------------------------------------------------------- */

/* :::::::::: header :::::::::: */

header {
  position: relative;
  z-index: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 200px;
  padding: 0 50px;
  background: #FFFFFF;
}
header::after {
  position: absolute;
  z-index: 1;
  display: block;
  content: "";
  width: 100%;
  height: 6px;
  background: var(--bg);
  margin: auto;
  left: 0;
  right: 0;
  bottom: 0;
}
header.home {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  right: 0;
  background: none;
}
header.home::after {display: none;}
header .logo {width: 800px;}

@media screen and (max-width: 1300px) {
  header .logo {width: 600px;}
}
@media screen and (max-width: 1100px) {
  header {justify-content: flex-start;}
  header .logo {width: 400px;}
}

header .logo img {display: block;}
header .btn_list {
  position: absolute;
  z-index: 1;
  top: 50px;
  right: 40px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  height: 40px;
}
header .btn_list p {margin: 0 0 0 20px;}
header .btn_list p img {display: block;}
header .btn_list .btn_recommend {width: 34px;}
header .btn_list .btn_cart {
  position: relative;
  z-index: 0;
  width: 44px
}
header .btn_list .btn_cart span {
  position: absolute;
  z-index: 1;
  width: 16px;
  height: 16px;
  line-height: 18px;
  font-size: 0.75em;
  color: #FFFFFF;
  font-family: "Questrial", sans-serif;
  font-weight: 400;
  font-style: normal;
  text-align: center;
  background: var(--bg);
  border-radius: 50%;
  top: -4px;
  right: -4px;
}
header .btn_list .menu {
  width: 50px;
  cursor: pointer;
}
header .btn_list p a {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  height: 100%; 
  text-decoration: none;
}
header .btn_list .menu a {width: 100%;}

.header_caution {
  position: fixed;
  z-index: 12;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding: 0 20px;
  height: 50px;
  background: var(--bg02);
  top: 0;
  left: 0;
  right: 0;
}
.header_caution p {
  color: #FFFFFF;
  font-size: 0.875em;
  line-height: 1.2;
}
.header_caution p::before {
  display: inline-block;
  vertical-align: middle;
  content: "";
  width: 1.4em;
  height: 1.3em;
  background: url("../img/common/ico_caution.svg") no-repeat center / 100%;
  margin: 0 0.25em 0.3em 0;
}
.header_caution + header {margin-top: 50px;}

/* :::::::::: nav :::::::::: */

nav {
  position: fixed;
  z-index: 11;
  width: 100%;
  height: 100vh;
  padding: 130px 50px;
  background: rgba(241,234,224,0.9);
  overflow-y: auto;
  top: 0;
  left: 0;
  right: 0;
  opacity: 0;
  visibility: hidden;
  transition: 0.4s;
}
nav.open {
  opacity: 1;
  visibility: visible;
}
nav .menu_box {
  position: relative;
  z-index: 0;
  width: 100%;
  max-width: 500px;
  padding: 60px 0 0;
  margin: 0 auto;
  opacity: 0;
  transition: 0.4s 0.4s;
}
nav.open .menu_box {opacity: 1;}
nav .menu_box .btn_close {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  width: 30px;
  cursor: pointer;
}
nav .menu_box .menu_btn {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  margin: 0 0 30px;
}
nav .menu_box .menu_btn li {width: 48%;}
nav .menu_box .menu_btn li a {
  display: block;
  width: 100%;
  height: 100%;
  color: #FFFFFF;
  padding: 0.65em;
  text-align: center;
  text-decoration: none;
  background: var(--bg);
  border-radius: 99px;
  transition: 0.5s;
}
nav .menu_box .menu_btn li a:hover {opacity: 0.5;}
nav .menu_box .menu_btn li a::before {
  display: inline-block;
  vertical-align: middle;
  content: "";
  width: 1.5em;
  height: 1.5em;
}
nav .menu_box .menu_btn li:nth-child(1) a::before {
  background: url("../img/common/menu_cart.svg") no-repeat center / contain;
  margin: 0 5px 4px 0;
}
nav .menu_box .menu_btn li:nth-child(2) a::before {
  background: url("../img/common/menu_mypage.svg") no-repeat center / auto 100%;
  margin: 0 5px 4px 0;
}

nav .menu_box .menu_product {
  border-bottom: solid 1px var(--line);
  margin: 0 0 150px;
}
nav .menu_box .menu_product p {
  font-size: 1.25em;  
  line-height: 1.5;
  border-top: solid 1px var(--line);
}
nav .menu_box .menu_product p a {
  display: block;
  text-decoration: none;
  padding: 1.25em 0;
}
nav .menu_box .menu_product p.parent {
  position: relative;
  z-index: 0;
  padding: 1.25em 0;
  cursor: pointer;
}
nav .menu_box .menu_product p.parent::after {
  position: absolute;
  display: block;
  content: "";
  width: 1em;
  height: 1em;
  border-right: solid 1px var(--common); 
  border-bottom: solid 1px var(--common); 
  transform: rotate(45deg);
  margin: auto;
  top: 0;
  bottom: 0.6em;
  right: 20px;
}
nav .menu_box .menu_product p.parent.open::after {
  transform: rotate(225deg);
  top: 0.6em;
  bottom: 0;
  right: 20px;
}
nav .menu_box .menu_product ul {
  display: none;
  margin: 0 0 10px;
}
nav .menu_box .menu_product ul li {
  line-height: 1.3;
  margin: 0 0 20px;
}
nav .menu_box .menu_product .search_box {display: none;}
nav .menu_box .menu_product .search_box .search_form {margin: 0 0 30px;}
nav .menu_box .menu_link li {display: inline-block;}
nav .menu_box .menu_link li::after {
  content: "/";
  margin: 0 0.5em;
}
nav .menu_box .menu_link li:nth-child(3)::after {content: none;}
nav .menu_box .menu_product ul li a {
  text-decoration: none;
  transition: 0.5s;
}
nav .menu_box .menu_product ul li a:hover {opacity: 0.5;}
nav .menu_box .btn_logout {
  width: 240px;
  height: 50px;
  line-height: 48px;
  text-align: center;
  margin: 30px auto 0;
}
nav .menu_box .btn_logout a {
  display: block;
  height: 100%;
  border: solid 1px var(--common);
  border-radius: 99px;
  text-decoration: none;
  transition: 0.5s;
}
nav .menu_box .btn_logout a:hover {opacity: 0.5;}

/* :::::::::: main :::::::::: */

main {
  display: block;
  min-height: calc(100vh - 350px);
  margin: 0;
  padding: 70px 0 80px;
}
main article .box {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 50px;
}

/* :::::::::: footer :::::::::: */

.pagetop {
  position: fixed;
  z-index: 5;
  width: 80px;
  height: 80px;
  font-size: 0;
  background: url("../img/common/pagetop.svg") no-repeat center / contain;
  right: 3%;
  bottom: 50px;
  cursor: pointer
}
footer {
  text-align: center;
  padding: 80px 50px;
  background: var(--bg);
}
footer .footer_link {margin: 0 auto 30px;}
footer .footer_link li {
  display: inline-block;
  font-weight: 300;
}
footer .footer_link li::after {
  color: #FFFFFF;
  content: "/";
  margin: 0 0.5em;
}
footer .footer_link li:nth-last-child(1)::after {content: none;}
footer .footer_link li a {
  color: #FFFFFF;
  text-decoration: none;
  transition: 0.5s;
}
footer .footer_link li a:hover {opacity: 0.5;}
footer .f_logo {
  width: 180px;
  margin: 0 auto;
}

/* -----------------------------------------------------------
 parts
----------------------------------------------------------- */

.p_title_common {
  color: var(--color);
  margin: 0 0 30px;
  line-height: 1.3;
}
.p_title_common > span {font-size: 60px;}
.p_title_common > h1 {
  color: var(--common);
  font-size: 2em;
  font-weight: 400;
}
.w_box {padding: 0 5.2%;}
.p_title > span {display: block;}
.p_title > span ,
.p_price ,
.p_count {
  font-family: "Questrial", sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.1em;
}
.p_price {line-height: 1.2;}
.p_price span {font-size: 0.75em;display: inline-block;}
p.btn_common {
  width: 450px;
  border-radius: 4px;
  margin: 70px auto 0;
}
p.btn_common a {
  display: block;
  height: 100%;
  text-align: center;
  line-height: 1.3;
  padding: 0.65em;
  font-size: 1.5em;
  color: #FFFFFF;
  background: var(--color);
  text-decoration: none;
  border-radius: 4px;
  transition: 0.5s;
}
p.btn_common a:hover {opacity: 0.5;}
p.btn_common a[target="_blank"]::after {
  display: inline-block;
  vertical-align: middle;
  content: "";
  width: 1em;
  height: 1em;
  background: url("../img/sub/ico_target_w.svg") no-repeat center / cover;
  margin: 0 0 0.25em 0.25em;
}
button.btn_common {
  width: 450px;
  border-radius: 4px;
  margin: 70px auto 0;
  display: block;
  text-align: center;
  line-height: 1.2;
  padding: 0.65em;
  font-size: 1.5em;
  color: #FFFFFF;
  background: var(--color);
  text-decoration: none;
  transition: 0.5s;
  cursor: pointer;
}
button.btn_common:hover {opacity: 0.5;}
.btn_common.disabled {
  pointer-events: none;
  background: #ccccc4;
  color: #efefed;
  opacity: 1;
}
button.btn_common.btn_narrow { 
  width: 150px;
  margin: 0 auto;
}
.btn_box {
  display: flex;
  justify-content: center;
  align-items: center;
}
.btn_box .btn_common {margin: 0 10px!important;}
.btn_box .btn_common.unselected {background: #DACFC0;pointer-events: none;}
.btn_box .btn_common.selected {background: var(--color);pointer-events: none;}
.btn_box button.disabled {
  background: #ccccc4;
  color: #efefed;
  opacity: 1;
}
.btn_box .confirm {
  width: 320px;
  height: auto;
  font-size: 1.8em;  
}
.pagenation {
  text-align: right;
  margin: 30px 0 0;
}
.pagenation a,
.pagenation span {
  position: relative;
  z-index: 0;
  display: inline-block;
  vertical-align: middle;
  font-family: "Questrial", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 2.75em;
  letter-spacing: 0.1em;
  line-height: 1.2;
  color: var(--color);
  margin: 0 10px;
  padding: 0 0 0 0.1em;
  text-decoration: none;
}
.pagenation span.current::after ,
.pagenation a:hover::after {
  position: absolute;
  z-index: 0;
  display: block;
  content: "";
  width: 100%;
  height: 1px;
  background: var(--color);
  left: 0;
  right: 0;
  bottom: 0;
}
.pagenation a.btn_next,
.pagenation a.btn_prev {
  width: 1.2em;
  height: 1.2em;
}
.pagenation a.btn_next {margin: 0 0 0 20px;}
.pagenation a.btn_prev {margin: 0 20px 0 0;}
.pagenation a.btn_next:hover,
.pagenation a.btn_prev:hover {opacity: 0.5;}
.pagenation a.btn_next {background: url("../img/common/ar_b.svg") no-repeat center / contain;}
.pagenation a.btn_prev {background: url("../img/common/al_b.svg") no-repeat center / contain;}
.pagenation a.btn_next::after ,
.pagenation a.btn_prev::after {display: none;}
.pagenation .elip {letter-spacing: 0;margin: 0;}

/** p_list **/

.p_list ul {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  padding: 0 0 0 20%;
}
.p_list ul::after {
  display: block;
  content: "";
  width: 31%;
  height: 0;
}
.p_list ul li {
  width: 23%;
  margin: 0 0 40px;
}
.p_list ul li a {
  text-decoration: none;
  transition: 0.5s;
}
.p_list ul li a:hover {opacity: 0.5;}
.p_list ul li figure {margin: 0 0 20px;}
.p_list ul li figure img {width: 100%;}
.p_list ul li .p_name {
  margin: 0 0 10px;
  line-height: 1.625;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.p_list ul li .p_price {font-size: 1.25em;}

/** error **/

.error_box {
  position: fixed;
  z-index: 10;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  transition: 0.5s;
  opacity: 1;
  visibility: visible;
}
.error_box::after {
  position: fixed;
  z-index: -1;
  display: block;
  content: "";
  width: 100vw;
  height: 100vh;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0,0,0,0.5);
}
.error_box.hidden {
  opacity: 0;
  visibility: hidden;
}
.error_box > div {
  width: 400px;
  height: auto;
  min-height: 220px;
  background: #FFFFFF;
  border-radius: 8px;
  box-shadow: 0 0 8px 0 rgba(0,0,0,0.2);
  padding: 30px;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
}
.error_box figure {
  width: 40px;
  margin: 0 auto 10px;
}
.error_box > div p {
  font-size: 0.8em;
  text-align: center;
}
.error_box > div .btn_modal {
  text-align: center;
  margin: 10px auto 0;
}

.error_box > div .btn_modal button {
  display: inline-block;
  width: 100px;
  line-height: 1.3em;
  color: #FFFFFF;
  font-size: 0.8em;
  padding: 0.75em;
  text-align: center;
  background: var(--bg02);
  border-radius: 99px;
  margin: 10px 10px 0;
  cursor: pointer;
}

/* -----------------------------------------------------------
 form
----------------------------------------------------------- */

label {
  display: block;
  margin: 0 2em 5px 0;
  cursor: pointer;
}
label.disabled {
  pointer-events: none;
  opacity: 0.5;
}
textarea {
  display: block;
  width: 100%;
  height: 150px;
  padding: 0.5em 1em;
  border: solid 1px var(--line);
  border-radius: 4px;
}
input[type="text"] {
  display: block;
  width: 100%;
  height: 150px;
  padding: 0.5em 1em;
  border: solid 1px var(--common);
  margin: 0 0 20px;
}
input::placeholder {color: var(--line);}
input[type="checkbox"] + span {
  position: relative;
  z-index: 0;
  display: inline-block;
  vertical-align: middle;
  content: "";
  width: 1.25em;
  height: 1.25em;
  text-align: center;
  margin: 0 10px 5px 0;
  border: solid 1px var(--line);
  border-radius: 4px;
}
input[type="checkbox"]:checked + span {
  border: solid 1px var(--color);
  background: var(--color);
}
input[type="checkbox"]:checked + span::after {
  position: absolute;
  z-index: 1;
  display: block;
  content: "";
  width: 0.9em;
  height: 0.8em;
  background: url("../img/common/ico_checked.svg") no-repeat center / cover;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
}
input[type="radio"] + span {
  position: relative;
  z-index: 0;
  display: inline-block;
  vertical-align: middle;
  content: "";
  width: 1.2em;
  height: 1.2em;
  text-align: center;
  margin: 0 10px 3px 0;
  background: #FFFFFF;
  border: solid 1px var(--line);
  border-radius: 50%;
}
input[type="radio"]:checked + span::after {
  position: absolute;
  z-index: 1;
  display: block;
  content: "";
  width: 0.6em;
  height: 0.6em;
  background: var(--color);
  border: none;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  border-radius: 50%;
}
input[type="number"] {
  vertical-align: middle;
  width: 80px;
  height: 50px;
  padding: 0 5px;
  color: inherit;
  background: #FFFFFF;
  border-radius: 6px;
  border: solid 1px var(--line);
  box-shadow: inset 0 0 4px 0 rgba(0,0,0,0.2);
}
input[type="number"] + span {
  vertical-align: middle;
  margin: 0 0 0 5px;
}
input::-webkit-inner-spin-button,
input::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
  -moz-appearance:textfield;
}

.select_outer {
  position: relative;
  z-index: 0;
  height: 50px;
  border: solid 1px var(--common);
}
.select_outer::after {
  position: absolute;
  z-index: 1;
  display: block;
  content: "";
  pointer-events: none;
  width: 0.7em;
  height: 0.7em;
  border-right: solid 1px var(--common); 
  border-bottom: solid 1px var(--common); 
  transform: rotate(45deg);
  margin: auto;
  top: 0;
  bottom: 0.6em;
  right: 20px;
}
.select_outer select {
  width: 100%;
  height: 50px;
  padding: 0 0.5em;
  line-height: 50px;
  color: var(--common)!important;
  cursor: pointer;
}
.select_outer select option {color: var(--common)!important;}
.search_form {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 40px;
  background: #FFFFFF;
  border: solid 1px var(--line);
  box-shadow: inset 0 0 4px 0 rgba(0,0,0,0.3);
  border-radius: 5px;
}
.search_form input {
  display: block;
  width: calc(100% - 40px);
  height: 40px;
  font-size: 0.875em;
  padding: 0 0.75em;
  margin: 0;
  border: none;
}
.search_form button {
  width: 40px;
  height: 40px;
  background: url("../img/common/ico_search.svg") no-repeat center / 50%;
}
.product_num {
  position: relative;
  z-index: 0;
  display: flex;
  justify-content: center;
  width: 250px;
  height: 50px;
  border: solid 1px var(--line);
  border-radius: 4px;
}
.product_num .sub ,
.product_num .add {
  position: relative;
  z-index: 0;
  width: 50px;
  height: 49px;
  cursor:pointer;
}
.product_num .sub {border-right: solid 1px var(--line);}
.product_num .add {border-left: solid 1px var(--line);}

.product_num .sub::before ,
.product_num .add::before ,
.product_num .add::after {
  position: absolute;
  display: block;
  content: "";
  margin: auto;
  inset: 0;
  background: var(--common);
}
.product_num .sub.disabled {
  cursor: auto;
  pointer-events: none;
}
.product_num .sub.disabled::before {
  background: #CCC;
}
.product_num .sub::before ,
.product_num .add::before {
  width: 1em;
  height: 2px;
}
.product_num .add::after {
  width: 2px;
  height: 1em;
}
.product_num input {
  width: 150px;
  line-height: 50px;
  text-align: center;
  font-size: 1.25em;
  background: none;
  box-shadow: none;
  border: none;
}
.error_msg {
  display: block;
  width: 100%;
  clear: both;
  color: #ef857d;
  margin: 0 0 20px;
}
.select_outer.error ,
input.error {
  border-color: #ef857d!important;
  background: #fdeeea!important;
  margin-bottom: 0!important;
}





/* -----------------------------------------------------------
 home
----------------------------------------------------------- */

.home_kv {
  position: relative;
  z-index: 0;
  width: 100%;
  height: 100vh;
}
.home_kv img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home_kv p {
  position: absolute;
  z-index: 1;
  display: inline-block;
  width: auto;
  width: 90vh;
  vertical-align: middle;
  text-align: right;
  line-height: 1;
  font-family: "Questrial", sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  transform: rotate(90deg);
  transform-origin: bottom right;
  bottom: 50px;
  right: calc(3% + 20px);
}
main.home {padding: 0;}
main.home section {
  padding: 90px 0 120px;
  color: #FFFFFF;
}
.home_category {background: var(--bg);}
.home_feature {background: var(--bg03);}
.home_category .box {max-width: 1420px;}
main.home section h2 {
  font-size: 1.875em;
  font-family: "Questrial", sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.1em;
  line-height: 1.3;
  text-align: center;
  margin: 0 auto 20px;
}
main.home section .btn {
  width: 400px;
  height: 60px;
  margin: 0 auto;
}
main.home section .btn a {
  display: block;
  width: 100%;
  height: 100%;
  line-height: 58px;
  text-align: center;
  font-size: 1.5em;
  font-family: "Questrial", sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.1em;
  border: solid 1px #FFFFFF;
  border-radius: 4px;
  text-decoration: none;
  transition: 0.5s;
}
main.home section .btn a:hover {opacity: 0.5;}
.home_category ul {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  margin: 0 auto 50px;
}
.home_category ul li {
  width: 31%;
  height: auto;
  aspect-ratio: 41 / 40;
  margin: 0 0 3.5%;
}
.home_category ul li a {
  position: relative;
  z-index: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  text-decoration: none;
}
.home_category ul li a img {
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.5s;
}
.home_category ul li a:hover img {opacity: 0.5;}
.home_category ul li a p {
  position: relative;
  z-index: 1;
  text-align: center;
  padding: 0 0.5em;
}
.home_category ul li a p span {
  display: block;
  font-size: 1.875em;
  font-family: "Questrial", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1.3;
  letter-spacing: 0.1em;
}
.home_feature .feature_slider {
  width: calc(100% + 30px);
  max-width: 1130px;
  padding: 0 50px;
  margin: 0;
  transform: translateX(-15px);
}
.home_feature .feature_slider .slick-slide {padding: 0 15px;}
.home_feature .feature_slider .slick-slide a {
  text-decoration: none;
  transition: 0.5s;
}
.home_feature .feature_slider .slick-slide a:hover {opacity: 0.5;}
.home_feature .feature_slider .slick-slide figure {margin: 0 auto 20px;}
.home_feature .feature_slider .slick-slide figure img {width: 100%;}
.home_feature .feature_slider .slick-slide p {line-height: 1.625;}

.slick-arrow {z-index: 1;}
.home_feature .feature_slider .slick-arrow {
  width: 40px;
  height: 40px;
  top: 40%;
  bottom: auto;
}
.slick-arrow.slick-prev {background: url("../img/common/al.svg") no-repeat center / contain;left: 0;}
.slick-arrow.slick-next {background: url("../img/common/ar.svg") no-repeat center / contain;right: 0;}
.slick-arrow.slick-prev:hover ,
.slick-arrow.slick-prev:focus {background: url("../img/common/al.svg") no-repeat center / contain;}
.slick-arrow.slick-next:hover ,
.slick-arrow.slick-next:focus {background: url("../img/common/ar.svg") no-repeat center / contain;}
.slick-arrow::before {display: none;}


/* -----------------------------------------------------------
 page
----------------------------------------------------------- */

h2.common {
  font-size: 1.5em;
  font-weight: 400;
  padding: 0 0 0.25em;
  line-height: 1.5;
  margin: 60px 0 0.5em;
  border-bottom: solid 1px var(--common);  
}
h2.common.no_border {
  border-bottom: none;
  margin-bottom: 0;
}
h2.common .tips {
  width: 20px;
  height: 20px;
  font-size: 16px;
  margin: 0 0 10px 10px;
}
h3.common {
  position: relative;
  z-index: 0;
  font-size: 1.25em;
  font-weight: 400;
  line-height: 1.5;
  margin: 40px 0 0.5em;
  padding: 0 0.75em;
}
h3.common::before {
  position: absolute;
  z-index: 0;
  display: block;
  content: "";
  width: 4px;
  height: calc(100% - 0.4em);
  margin: auto;
  top: 0;
  bottom: 0;
  left: 0;
  background: var(--common);
}

span.tips {
  position: relative;
  z-index: 0;
  display: inline-block;
  width: 1.25em;
  height: 1.25em;
  background: url("../img/sub/ico_q.svg") no-repeat center / cover;
  vertical-align: middle;
  margin: 0 0 5px 10px;
  cursor: pointer;
}
span.tips > span {
  position: absolute;
  z-index: 1;
  display: inline-block;
  width: 160px;
  height: auto;
  padding: 0.8em;
  background: var(--common);
  color: #FFFFFF;
  font-size: 0.8em;
  line-height: 1.5;
  text-align: left;
  border-radius: 4px;
  bottom: calc(100% + 10px);
  left: -5px;
  opacity: 0;
  visibility: hidden;
  transition: 0.5s;
}
span.tips.open > span {
  opacity: 1; 
  visibility: visible;
}
span.tips > span::after {
  position: absolute;
  z-index: 0;
  display: block;
  content: "";
  width: 8px;
  height: 8px;
  clip-path: polygon(0 0,100% 0, 50% 100%);
  background: var(--common);
  left: 10px;
  bottom: -7px;
}
.product_list {
  position: relative;
  z-index: 0;
  overflow: hidden;
}
.product_list::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: "";
  width: 100%;
  height: 880px;
  background: var(--bg);
  top: 0;
  left: 0;
  right: 0;
}
.product_list .kv_category {
  position: relative;
  z-index: 0;
  width: calc(80% + 5.2vw);
  height: auto;
  aspect-ratio: 1460 / 400;  
  margin: 0 0 80px 20%;
}
.product_list .kv_category img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.product_list .kv_category > p {
  position: absolute;
  z-index: 1;
  color: #FFFFFF;
  font-size: 1.5em;
  top: 50%;
  left: 5%;
  transform :translateY(-50%);
}
.product_list .kv_category > p span {
  display: block;
  font-size: 1.6em;
  font-family: "Questrial", sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: .1em;
  line-height: 1.3;
}

.product_list .p_title_area {
  position: absolute;
  z-index: 0;
  display: flex;
  min-width: 780px;
  justify-content: space-between;
  align-items: center;
  top: 70px;
  left: calc(3% + 40px);
  transform: rotate(90deg);
  transform-origin: left top;
}
.product_list .p_title_area .p_title {
  position: relative;
  z-index: 0;
  color: #FFFFFF;
  margin: 0 30px 0 0;
  line-height: 1;
  transform: rotate(-90deg);
  transform-origin: left top;
}
.product_list .p_title_area .p_title h1 {
  position: relative;
  width: 1em;
  height: 780px;
  font-size: 1.5em;
  font-weight: 400;
  writing-mode: vertical-rl;
  left: 0.5em;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.product_list .p_title_area .p_title span {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 2.375em;
  font-family: "Questrial", sans-serif;
  font-weight: 400;
  font-style: normal;
  min-width: 500px;
  transform: rotate(90deg);
  transform-origin: left top;
  letter-spacing: 0.1em;
}
.product_list .p_title_area .p_title span.child_category {
  font-family:"Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  display: inline-block;
  font-size: 0.5em;
  min-width: auto;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  width: 1em;
  height: 400px;
  font-weight: 400;
  left: 1.55em;
  top: 200px;
  transform: rotate(0deg);
}
.product_list .p_title_area .p_title span.child_category::before {
  position: absolute;
  z-index: 0;
  display: block;
  content: "";
  width: 1px;
  height: 4em;
  background: #FFFFFF;
  margin: auto;
  left: 0;
  right: 0;
  top: -5em;
}
.product_list .p_title_area .p_title span.child_category {
  padding: 5em 0 0;
  height: 540px;
  top: 250px;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.product_list .p_title_area .p_title span.child_category::before {top: 0;}

.product_list .list_search_box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 0 0 20%;
  color: #FFFFFF;
}
.product_list .list_search_box .search_form {
  max-width: 500px;
  margin: 0 0 50px;
  color: var(--common);
}

.product_list .p_title_area .p_count {
  position: absolute;
  color: #FFFFFF;
  right: 0;
  top: -0.5em;
}
.product_list .p_list ul::after {width: 23%;}
.product_list .p_list ul::before {
  display: block;
  content: "";
  width: 23%;
  height: 0;
  order: 1;
}
.product_list .p_list {min-height: 800px;}
.product_list .p_list > ul {min-height: 750px;}
.product_list .p_list .select_box {
  display: flex;
  justify-content: flex-end;
  margin: 0 0 50px;
}
.product_list .p_list .select_brand {
  position: relative;
  z-index: 0;
  width: 400px;
  height: 40px;
  background: #FFFFFF;
  margin: 0 0 50px;
  border: solid 1px var(--line);
  box-shadow: inset 0 0 4px 0 rgba(0,0,0,0.3);
  border-radius: 5px;
}
.product_list .p_list .select_brand::after {
  position: absolute;
  z-index: 1;
  display: block;
  content: "";
  pointer-events: none;
  width: 0.7em;
  height: 0.7em;
  border-right: solid 1px var(--common);
  border-bottom: solid 1px var(--common);
  transform: rotate(45deg);
  margin: auto;
  top: 0;
  bottom: 0.6em;
  right: 10px;
}
.product_list .p_list .select_brand select {
  display: block;
  width: 100%;
  height: 40px;
  line-height: 40px;
  color: var(--common);
  cursor: pointer;
  padding: 0 1em;
}
.product_list .p_list .select_brand select option {color: var(--common);}

.product_list .p_list .select_sort {
  position: relative;
  z-index: 0;
  width: 200px;
  height: 40px;
  margin: 0 0 0 20px;
  line-height: 40px;
  border-bottom: solid 1px #FFFFFF;
}

@media screen and (max-width: 1000px) {
  .product_list .p_list .select_sort {width: 160px;}
}

.product_list .p_list .select_sort::after {
  position: absolute;
  z-index: 1;
  display: block;
  content: "";
  pointer-events: none;
  width: 0.7em;
  height: 0.7em;
  border-right: solid 1px #FFFFFF;
  border-bottom: solid 1px #FFFFFF; 
  transform: rotate(45deg);
  margin: auto;
  top: 0;
  bottom: 0.6em;
  right: 10px;
}
.product_list .p_list .select_sort select {
  display: block;
  width: 100%;
  height: 40px;
  line-height: 40px;
  color: #FFFFFF;
  cursor: pointer;
}
.product_list .p_list .select_sort select option {color: var(--common);}

/* -----------------------------------------------------------
 product_detail
----------------------------------------------------------- */

.product_detail {padding: 70px 0 0;}
.product_detail .box {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}
.product_detail .box .products_img ,
.product_detail .box .products_info {width: 45%;}
.product_detail .box .products_img > img,
.products_img .slick-slide img {
  display: block;
  width: 100%;
}
.product_slide {margin: 0 0 20px;}
.product_thumb {width: 100%;}
.product_thumb .slick-track {
  width: 100%!important;
  transform:unset!important;
  margin: 0!important;
}
.product_thumb .slick-slide {
  position: relative;
  z-index: 0;
  width: 23.5%!important;
  margin: 0 2% 0 0;
}
.product_thumb .slick-slide:nth-last-of-type(1) {margin: 0!important;}
.product_thumb .slick-slide.slick-current::after {
  position: absolute;
  z-index: 1;
  display: block;
  content: "";
  width: 100%;
  height: 6px;
  background: var(--color);
  bottom: 0;
  left: 0;
  right: 0;
}
.product_detail .box .products_info .p_brand {margin: 20px 0 10px;}
.product_detail .box .products_info h1 {
  font-size: 2em;
  font-weight: 400;
  line-height: 1.4;
  margin: 0 0 20px;
}
.product_detail .box .products_info .p_price {font-size: 1.25em;}
.product_detail .box .products_info .p_price.discount {
  position: relative;
  z-index: 0;
  color: #cec7be;
}
.product_detail .box .products_info .p_price.discount::after {
  position: absolute;
  z-index: 1;
  display: block;
  content: "";
  width: 98%;
  height: 1px;
  background: #cec7be;
  margin: auto;
  inset: 0 auto 0 0;
}
ul.p_tag.discount + .p_price {color: #ef857d;}
.product_detail .box .products_info .recommend {
  display: block;
  width: 26px;
  height: 23px;
  margin: 0 0 15px auto;
  font-size: 0;
  background: url("../img/sub/ico_recommend.svg") no-repeat center / contain;
  cursor: pointer;
}
.product_detail .box .products_info .recommend:hover,
.product_detail .box .products_info .recommend.checked {background: url("../img/sub/ico_recommend_checked.svg") no-repeat center / contain;}
.product_detail .box .products_info .p_catch {
  font-size: 1.5em;
  line-height: 1.5;
  margin: 0 0 20px;
}
.product_detail .box .products_info .p_content {margin: 0 0 20px;}
.product_detail .box .products_info .btn_show {
  display: inline-block;
  margin: 0 0 60px;
}
.product_detail .box .products_info .btn_show a {
  display: block;
  height: 100%;
  color: var(--color);
  letter-spacing: 0.1em;
  border: solid 1px var(--color);
  border-radius: 4px;
  padding: 0.25em 1em;
  text-decoration: none;
}
.product_detail .box .products_info .btn_show a:hover {opacity: 0.5;}
.product_detail .box .products_info .btn_show a::after { 
  display: inline-block;
  vertical-align: middle;
  content: "";
  width: 1em;
  height: 1em;
  background: url("../img/sub/ico_target.svg") no-repeat center / cover;
  margin: 0 0 0.25em 0.5em;
}
.product_detail .box .products_info .p_price {display: inline-block;}
ul.p_tag{
  display: inline-block;
  vertical-align: middle;
  width: auto;
  font-size: 0;
  margin: 0 0 3px;
}
ul.p_tag li {
  display: inline-block;
  width: auto;
  height: 20px;
  min-width: 80px;
  padding: 0 0.5em;
  line-height: 18px;
  text-align: center;
  color: var(--color);
  font-size: 12px;
  border: solid 1px var(--color);
  border-radius: 4px;
  margin: 2px 10px 2px 0;
}
ul.p_tag.discount li {
  background: #ef857d;
  border: solid 1px #ef857d;
  color: #FFFFFF;
}
.product_detail .box .products_info .p_cat {margin: 0 0 20px;}
.product_detail .box .products_info .p_cat li {
  display: inline-block;
  color: var(--color);
  margin: 0 1em 0 0;
}
.product_detail .box .products_info .p_cat li::before {content: "#";}
.product_detail .box .products_info button.btn_common {
  width: 100%;
  margin: 30px 0 70px;
}
.product_detail .box .products_info .error_msg {margin: 0 0 60px;}
.product_detail .box .products_info .error_msg + .product_num {display: none;}
.product_detail .box .products_info .error_msg + .product_num + button.btn_common {display: none;}

.product_detail .box .products_info .product_caution {
  background: #f7f3ed;
  border-radius: 10px;
  padding: 30px;
  text-align: center;
  margin: 30px auto;
}
.product_detail .box .products_info .product_caution h2 {
  color: var(--color);
  font-size: 1.25em;
  font-weight: 400;
  margin: 0 auto 10px;
}
.product_detail .box .products_info .product_caution p {
  font-size: 0.875em;
  margin: 0 auto 10px;
}
.product_detail .box .products_info .product_caution span {
  display: block;
  color: var(--color);
  font-size: 0.875em;
  margin: 0 auto 5px;
}
.product_detail .box .products_info .product_caution input {
  width: 80px;
  height: 40px;
  font-size: 1em;
  text-align: center;
  line-height: 40px;
  background: #ffffff;
  box-shadow: none;
  padding: 0;
}

.product_detail .box .products_info .category_select > dl {margin: 0 0 20px;}
.product_detail .box .products_info .category_select > dl:nth-of-type(2) {margin: 0;}
.product_detail .box .products_info .category_select > dl > dt {margin: 0 0 5px;}
.product_detail .box .products_info .category_select .select_check ,
.product_detail .box .products_info .category_select .select_radio {display: none;}
.product_detail .box .products_info .p_info {margin: 0 0 40px;}
.product_detail .box .products_info .p_info dt {
  font-family: "Questrial", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.25em;
  letter-spacing: 0.1em;
  line-height: 1.3;
  padding: 0 0 10px;
  margin: 0 0 20px;
  border-bottom: solid 1px var(--common);
}
.product_detail .box .products_info .p_info.ac dt {
  position: relative;
  z-index: 0;
  cursor: pointer;
}
.product_detail .box .products_info .p_info.ac dt::before ,
.product_detail .box .products_info .p_info.ac dt::after {
  position: absolute;
  z-index: 0;
  content: "";
  margin: auto;
  top: 0;
  bottom: 10px;
  right: 0;
  background: var(--common);
}
.product_detail .box .products_info .p_info.ac dt::before {
  width: 19px;
  height: 1px;
}
.product_detail .box .products_info .p_info.ac dt::after {
  width: 1px;
  height: 19px;
  right: 9px;
}
.product_detail .box .products_info .p_info.ac dt.open::after {display: none;}
.product_detail .box .products_info .p_info.ac dd {display: none;}
.product_detail .box .products_info .p_info dd p {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin: 0 0 5px;
  color: #DD1B23;
}
.product_detail .box .products_info .p_info.p_spec dd p {color: var(--common);}
.product_detail .box .products_info .p_info dd p span {display: block;}
.product_detail .box .products_info .p_info dd p span:nth-of-type(1) {width: 130px;}
.product_detail .box .products_info .p_info dd p span:nth-of-type(2) {width: calc(100% - 150px);}
.product_detail .box .products_info .select_other {
  padding: 50px 40px;
  margin: 0 auto 60px;
  background: var(--bg);
}
.product_detail .box .products_info .select_other > p {
  font-size: 1.5em;
  line-height: 1.3;
  margin: 0 0 1em;
}
.product_detail .box .products_info .select_other dl {margin: 30px 0 0;}
.product_detail .box .products_info .select_other dl dd {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 5px 0 10px;
  border-bottom: solid 1px var(--line);
}
.product_detail .box .products_info .select_other dl dd input[type="text"] {
  width: calc(100% - 100px);
  height: 30px;
  line-height: 30px;
  color: var(--common);
  padding: 0;
  margin: 0;
  border: none;
  font-size: 1.5em;
  font-weight: 400;
  pointer-events: none;
}
.product_detail .box .products_info .select_other dl dd.setting {border-bottom: solid 1px var(--color);}
.product_detail .box .products_info .select_other dl dd.setting input[type="text"] {pointer-events: auto;color: var(--color);}
.product_detail .box .products_info .select_other dl dd button {
  width: 80px;
  height: 32px;
  line-height: 27px;
  border: solid 1px var(--line);
  text-align: center;
  color: var(--line);
  border-radius: 4px;
  cursor: pointer;
}
.product_detail .box .products_info .select_other dl dd.setting button {
  background: var(--color);
  border: solid 1px var(--color);
  color: #FFFFFF;
}
.product_detail .box .btn_back {
  width: 250px;
  height: 60px;
  line-height: 60px;
  text-align: center;
  margin: 90px auto;
}
.product_detail .box .btn_back a {
  display: block;
  height: 100%;
  color: var(--color);
  font-size: 1.5em;
  background: #efe6db;
  border-radius: 99px;
  text-decoration: none;
  transition: 0.5s;
}
.product_detail .box .btn_back a:hover {opacity: 0.5;}
.product_detail .box .btn_back a::before {
  display: inline-block;
  vertical-align: middle;
  content: "";
  width: 0.5em;
  height: 0.5em;
  border-left: solid 1px var(--color);
  border-bottom: solid 1px var(--color);
  transform: rotate(45deg);
  margin: 0 0.5em 5px 0;
}
.product_detail .detail_select {
  background: #e4d6c4;
  padding: 80px 0 40px;
  margin: 50px 0 0;
}
.product_detail .detail_select .box {display: block;}
.product_detail .detail_select .box h2 {
  font-size: 1.5em;
  font-weight: 400;
  line-height: 1.5;
  margin: 0 0 10px;
}
.product_detail .detail_select .box h2 + p {margin: 0 0 1em;}
.product_detail .detail_select .box > div {
  margin: 0 auto 40px;
  border-radius: 10px 0 0 10px;
  overflow: hidden;
}
.product_detail .detail_select .box > div .slick-track {
  display: flex;
  align-items: stretch;
}
.product_detail .detail_select .box > div .slick-list {
  width: 88%;
  overflow: visible;
}
.product_detail .detail_select .box > div .slick-slide {
  height: auto!important;
  transition: 0.5s;
  background: #FFFFFF;
}
.product_detail .detail_select .box > div .slick-slide:hover {opacity: 0.5;}
.product_detail .detail_select .box > div .slick-list figure img {
  width: 100%;
  display: block;
  cursor: pointer;
}
.product_detail .detail_select .box > div .slick-list p {
  line-height: 1.5;
  padding: 0.625em 1em 0.875em;
}

.product_detail .detail_select .box > div .slick-arrow {
  width: 53px;
  height: 53px;
  z-index: 5;
  transition: 0.5s;
}
.product_detail .detail_select .box > div .slick-arrow.slick-prev {
  background: url("../img/common/al.png"),no-repeat center / contain;
  left: 20px;
}
.product_detail .detail_select .box > div .slick-arrow.slick-next {
  background: url("../img/common/ar.png"),no-repeat center / contain;
  right: 20px;
}
.product_detail .detail_select .box > div .slick-arrow::before {opacity: 0;}

.product_detail .detail_select .modal_contents .modal {
  position: fixed;
  z-index: 10;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100vw;
  height: 100vh;
  background: rgba(0,0,0,0.7);
  margin: auto;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: 0.5s;
}
.product_detail .detail_select .modal_contents .modal.open {
  opacity: 1;
  visibility: visible;
}
.product_detail .detail_select .modal_contents .modal figure {
  width: 900px;
  height: 900px;
  max-width: 90vw;
  max-height: 90vh;
}
.product_detail .detail_select .modal_contents .modal figure img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}

/* -----------------------------------------------------------
 order
----------------------------------------------------------- */

.cart_error {
  position: relative;
  z-index: 0;
  color: #ef857d;
  margin: 0 0 30px;
  padding: 0 0 0 1.5em;
}
.cart_error::before {
  position: absolute;
  z-index: 0;
  display: inline-block;
  vertical-align: middle;
  content: "";
  width: 1.2em;
  height: 1.2em;
  background: url("../img/sub/cart_error.svg") no-repeat center / contain;
  margin: 0;
  left: 0;
  top: 0.35em;
}
.cart_caution {
  text-align: center;
  padding: 30px;
  background: #f7f3ed;
  border-radius: 4px;
}
.cart_caution h2 {
  color: var(--color);
  font-size: 1.25em;
  font-weight: 400;
}
.cart_caution input {
  background: #FFFFFF;
  width: 80px;
  height: 36px;
  font-size: 1em;
  line-height: 34px;
  text-align: center;
  margin: 10px 0 0;
}
.cart_box {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  border-top: solid 1px var(--line);
  border-bottom: solid 1px var(--line);
  padding: 30px 0;
}
.cart_box + .cart_box {border-top: none;}
.cart_box > figure {
  width: 120px;
  margin: 0 30px 0 0;
}
.cart_box > figure img {width: 100%;}
.cart_box > figure.no_stock {
  position: relative;
  z-index: 0;
}
.cart_box > figure.no_stock::before {
  position: absolute;
  z-index: 0;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(62,58,57,0.8);
  inset: 0;
}
.cart_box > figure.no_stock::after {
  position: absolute;
  z-index: 1;
  display: block;
  content: "在庫切れ";
  color: #FFFFFF;
  width: 100%;
  height: 1em;
  text-align: center;
  line-height: 1;
  margin: auto;
  inset: 0;
}
.cart_box > figure + div {
  width: calc(100% - 550px - 2em);
  padding: 0 50px 0 0;
}
.cart_box > figure + div .p_num {
  display: inline-block;
  vertical-align: middle;
  width: auto;
  min-width: 100px;
  line-height: 1.25;
  margin: 0 10px 5px 0;
  color: #aea193;
}
.cart_box > .p_price {
  width: 220px;
  font-size: 1.25em;
}
.cart_box > .product_num {
  width: 130px;
  height: 36px;
  margin: 0 50px 0 0;
}
.cart_box > .product_num .sub ,
.cart_box > .product_num .add {
  width: 36px;
  height: 34px;
}
.cart_box > .product_num .sub::before ,
.cart_box > .product_num .add::before {width: 0.75em;}
.cart_box > .product_num .add::after {height: 0.75em;}
.cart_box > .product_num input {
  width: 58px;
  height: 36px;
  line-height: 20px;
  font-size: 1em;
}
.cart_box > button {
  width: 2em;
  text-decoration: underline;
  cursor: pointer;
}


.confirm .cart_box > figure {width: 60px;}
.confirm .cart_box > figure + div {width: calc(100% - 370px);}
.cart_box > figure + div + div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 280px
}
.cart_box > div .p_price {font-size: 1.25em;}
.cart_box > div .confirm_num {
  font-size: 1.25em;
  padding: 0 1em 0 0;
}

.cart_total {
  width: 400px;
  padding: 30px 0 0;
  margin: 0 0 40px auto;
}
.cart_total dl {
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  margin: 0 0 20px;
  line-height: 1.5;
}
.cart_total dl dt {width: 150px;}
.cart_total dl dt span {font-size: 0.6em;}
.cart_total dl dd {
  width: 250px;
  text-align: right;
}
.cart_total dl.total {
  font-size: 1.5em;
  margin: 0 0 5px;
}
.cart_total dl.total dd .p_price {line-height: 1.5;}
.confirm .cart_total {width: 500px;}
.confirm .cart_total dl {
  width: 280px;
  margin: 0 0 10px auto;
}
.confirm .cart_total dl.total {font-size: 1em;}
.confirm .cart_total dl.g_total {
  width: 100%;
  font-size: 1.5em;
}
.confirm .cart_total dl.g_total dt {width: 180px;}
.confirm .cart_total dl.g_total dd {width: 320px;}
.cart .btn_show ,
.confirm .btn_show {
  width: 230px;
  margin: 30px 0 0 auto;
}
.confirm .btn_show {margin: 10px 0 0;}
.cart .btn_show a,
.confirm .btn_show a {
  display: block;
  height: 100%;
  color: var(--color);
  border: solid 1px var(--color);
  border-radius: 4px;
  padding: 0.25em 1em;
  text-decoration: none;
  text-align: center;
}
.cart .btn_show a:hover,
.confirm .btn_show a:hover {opacity: 0.5;}
.cart .btn_show a::after,
.confirm .btn_show a::after { 
  display: inline-block;
  vertical-align: middle;
  content: "";
  width: 1em;
  height: 1em;
  background: url("../img/sub/ico_target.svg") no-repeat center / cover;
  margin: 0 0 0.25em 0.5em;
}

.btn_box {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 60px auto 0;
}
.btn_box button {
  display: inline-block;
  width: 270px;
  line-height: 1.2;
  color: #FFFFFF;
  font-size: 1.5em;
  text-align: center;
  background: var(--color);
  border-radius: 8px;
  margin: 0 10px;
  padding: 0.65em 0.5em;
  cursor: pointer;
  transition: 0.5s;
}
.btn_box button:hover {opacity: 0.5;}
.btn_box button.back {background: #dbc9b2;}
.btn_box button.cancel {background: #ccccc4;}

.deliv_flow {
  position: relative;
  z-index: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 670px;
  margin: 0 auto 60px;
}
.deliv_flow::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: "";
  width: 90%;
  height: 2px;
  margin: auto;
  inset: 14px 0 auto;
  background: #e1d9cd;
}
.deliv_flow li {
  width: 90px;
  color: #d4bfa3;
  font-size: 0.75em;
  text-align: center;
}
.deliv_flow li.active {color: var(--color);}
.deliv_flow li::before {
  display: block;
  content: "";
  width: 50px;
  height: 30px;
  background: url("../img/sub/deliv_flow.svg") no-repeat bottom center / auto 100%,#FFFFFF;
  margin: 0 auto;
}
.deliv_flow li.active::before {background: url("../img/sub/deliv_flow_active.svg") no-repeat bottom center / auto 100%,#FFFFFF;}

.deliv_box {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  border-top: solid 1px var(--line);
  border-bottom: solid 1px var(--line);
  padding: 30px 0;
  line-height: 1.625;
}
.deliv_box + .deliv_box {border-top: none;}
.deliv_box dt {width: 190px;}
.confirm .deliv_box {border-bottom: solid 1px var(--common);}
.confirm .deliv_box dt p {margin: 1em 0 0;}
.deliv_box dt span {
  display: block;
  width: 80px;
  height: 20px;
  line-height: 20px;
  background: var(--color);
  color: #FFFFFF;
  text-align: center;
  font-size: 0.75em;
  margin: 0 0 5px;
  border-radius: 4px;
}
.deliv_box dd {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: calc(100% - 190px);
}
.deliv_box dd p:nth-of-type(1) {width: 340px;}
.deliv_box dd p:nth-of-type(2) {
  width: calc(100% - 440px);
  padding: 0 20px 0 0;
}
.deliv_box dd div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100px;
}
@media screen and (max-width: 900px) {
  .deliv_box dt {width: 150px;}
  .deliv_box dd {width: calc(100% - 150px);}
  .deliv_box dd p:nth-of-type(1) {width: 300px;}
  .deliv_box dd p:nth-of-type(2) {width: calc(100% - 380px);}
  .deliv_box dd div {width: 80px;}
}
.deliv_box dd div button {
  cursor: pointer;
  text-decoration: underline;
}
button.add {
  display: block;
  width: 220px;
  height: 32px;
  line-height: 30px;
  text-align: center;
  color: var(--color);
  border: solid 1px var(--color);
  border-radius: 4px;
  cursor: pointer;
  margin: 30px 0 0 auto;
}
button.add::before {content: "＋ ";}

.deliv_edit {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  border-top: solid 1px var(--line);
  border-bottom: solid 1px var(--line);
  padding: 30px 0 20px;
  line-height: 1.625;
}
.deliv_edit + .deliv_edit {border-top: none;}
.deliv_edit dt {
  width: 200px;
  padding: 5px 0 0;
}
.deliv_edit dd {width: calc(100% - 200px);}
.deliv_edit dd > div {
  position: relative;
  z-index: 0;
  padding: 0 100px 0 0;
  padding: 0 0 20px;
  border-bottom: solid 1px var(--line);
}
.deliv_edit dd > div + div {padding: 30px 0 20px;}
.deliv_edit dd > div .name_input {
  width: 350px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  margin: 0 0 10px;
}
.deliv_edit dd > div .name_input span {
  display: inline-block;
  width: 2em;
  text-align: right;
  line-height: 1;
}

.deliv_edit dd input {
  display: inline-block;
  width: 100%;
  max-width: 400px;
  height: 36px;
  border: solid 1px var(--line);
  border-radius: 4px;
  padding: 0 0.5em;
  margin: 0 0 10px;
}
.deliv_edit dd input.zip {width: 200px;}
.deliv_edit dd .select_outer {
  display: inline-block;
  width: 200px;
  height: 36px;
  border: solid 1px var(--line);
  border-radius: 4px;
  margin: 0 0 10px;
}
.deliv_edit dd .select_outer::after {
  right: 10px;
  bottom: 0.2em;
}
.deliv_edit dd .select_outer select {
  height: 36px;
  line-height: 36px;
  color: var(--line);
}
.deliv_edit dd input[type="number"] {
  width: 100px;
  height: 36px;
  line-height: 36px;
  text-align: left;
  box-shadow: none;
  margin: 0 0 10px;
}
.deliv_edit dd input[type="number"] + span {display: inline-block;margin: 0 5px 10px;}
.deliv_edit dd .btn_zip {
  display: inline-block;
  width: 110px;
  height: 32px;
  color: var(--color);
  text-align: center;
  border: solid 1px var(--color);
  border-radius: 4px;
  cursor: pointer;
  margin: 0 0 0 10px;
}
.deliv_edit dd .zip_link {
  display: inline-block;
  width: auto;
  margin: 0 1em 1em;
}
.deliv_edit dd .zip_link a::after {
  display: inline-block;
  vertical-align: middle;
  content: "";
  width: 1em;
  height: 1em;
  background: url("../img/sub/ico_target_b.svg") no-repeat center / contain;
  margin: 0 0 5px 5px;
}

.deliv_edit dd > div .name_input input {
  width: 100px;
  margin: 0 0 0 0.75em;
}
.deliv_edit dd > div .name_input input:nth-of-type(1) {margin: 0 60px 0 0.75em;}
.deliv_edit dd > div button {
  position: absolute;
  z-index: 0;
  margin: auto;
  inset: 0 0 0 auto;
  cursor: pointer;
  text-decoration: underline;
}
.deliv_edit button.add {
  width: 170px;
  margin: 20px 0 0 auto;
}
.deliv_setting {margin: 0 0 70px;}
.deliv_setting .setting01 {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  padding: 30px;
  border-radius: 4px;
  background: #f7f3ed;
}
.deliv_setting .setting01 figure {
  width: 90px;
  margin: 0 30px 0 0;
}
.deliv_setting .setting01 div:nth-of-type(1) {
  width: calc(100% - 450px);
  padding: 0 50px 0 0;
}

.deliv_setting .setting01 .p_num {
  display: inline-block;
  vertical-align: middle;
  width: auto;
  min-width: 100px;
  line-height: 1.25;
  margin: 0 10px 5px 0;
  color: #aea193;
}
.deliv_setting .setting01 .p_price {
  font-size: 1em;
  width: 210px;
}
.deliv_setting .setting01 div:nth-last-of-type(1) {width: 120px;}
.deliv_setting .setting01 div:nth-last-of-type(1) p {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.deliv_setting .setting01 div:nth-last-of-type(1) p:nth-of-type(1) {border-bottom: solid 1px var(--common);}
.deliv_setting .setting01 div:nth-last-of-type(1) p:nth-of-type(2) span {color: #ef857d;}
.deliv_setting .setting02 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  width: 600px;
  margin: 0 0 0 auto;
  padding: 25px 0;
  border-bottom: solid 1px var(--line);
}
.deliv_setting .setting02 .select_outer {
  display: inline-block;
  width: 200px;
  height: 36px;
  border: solid 1px var(--line);
  border-radius: 4px;
  margin: 0 0 0 30px;
}
.deliv_setting .setting02 .select_outer::after {
  right: 10px;
  bottom: 0.2em;
}
.deliv_setting .setting02 .select_outer select {
  height: 36px;
  line-height: 36px;
  color: var(--line);
}
.deliv_setting .setting02 .product_num {
  width: 130px;
  height: 36px;
  margin: 0 10px 0 0;
}
.deliv_setting .setting02 .product_num .sub ,
.deliv_setting .setting02 .product_num .add {
  width: 36px;
  height: 36px;
}
.deliv_setting .setting02 .product_num .sub::before ,
.deliv_setting .setting02 .product_num .add::before {width: 0.75em;}
.deliv_setting .setting02 .product_num .add::after {height: 0.75em;}
.deliv_setting .setting02 .product_num input {
  width: 58px;
  height: 36px;
  line-height: 20px;
  font-size: 1em;
}
.deliv_setting .setting02 button {
  text-decoration: underline;
  cursor: pointer;
  margin: 0 0 0 30px;
}
.deliv_setting .setting02 + button.add {margin-top: 25px;}
.deliv_setting .setting02 .error_msg {margin: 5px 0 0;}
.option .option_select {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  margin: 0 auto 80px;
}
.option .option_select button {
  width: 31%;
  height: 50px;
  line-height: 50px;
  color: #FFFFFF;
  font-size: 1.5em;
  text-align: center;
  background: #dbc9b2;
  border-radius: 4px;
  cursor: pointer;
}
.option .option_select button.current {background: var(--color);}
.option .bg_box {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding: 50px;
  background: #f7f3ed;
  border-radius: 4px;
}
.option .bg_box.bg_box01 {max-width: 300px;}
.option .bg_box.bg_box03 {max-width: 820px;}
.option label {display: inline-block;}
.option .bg_box label {
  width: 21%;
  margin: 0;
}
.option .bg_box.bg_box03 label {
  width: 38%;
  margin: 0;
}
.option .bg_box.bg_box03 label:nth-last-of-type(1) {width: 25%;}
.option .bg_box label figure {margin: 0 0 10px;}
.option input.name {
  display: inline-block;
  width: 100px;
  height: 36px;
  line-height: 36px;
  border: solid 1px var(--line);
  border-radius: 4px;
  margin: 0 3em 0 0.5em;
}
.option input.name02 {
  display: inline-block;
  width: 150px;
  height: 36px;
  line-height: 36px;
  border: solid 1px var(--line);
  border-radius: 4px;
  margin: 10px 1em 0 0.5em;
}
.option .name_marriage .name_group {display: none;}
.option .name_marriage .name_group.show {display: inline-block;}
.option .name_marriage .name_group.group03 input {margin: 0 10px 0 0;}
.option .name_marriage .name_group.group03 input + span {margin: 0 20px 0 0;}
button.preview {
  display: block;
  width: 160px;
  height: 32px;
  line-height: 30px;
  color: var(--color);
  border: solid 1px var(--color);
  border-radius: 4px;
  text-align: center;
  margin: 20px 0;
  cursor: pointer;
}
button.preview::after {
  display: inline-block;
  vertical-align: middle;
  content: "";
  width: 1.1em;
  height: 1.1em;
  background: url("../img/common/ico_search.svg") no-repeat center / contain;
  margin: 0 0 3px 5px;
}


.option .bg_box.card_bag {
  align-items: flex-start;
  max-width: 570px;
  margin: 30px 0 40px;
  border-radius: 4px;
}
.option .bg_box.card_bag > figure {
  width: 48%;
  cursor: pointer;
}
.option .bg_box.card_bag > figure img {width: 100%;}
.option .bg_box.card_bag.card_bag03 {max-width: 820px;}
.option .bg_box.card_bag.card_bag03 figure {width: 30%;}


.option .bg_box.card_bag .modal {
  position: fixed;
  z-index: 5;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100vw;
  height: 100vh;
  background: rgba(184,148,102,0.8);
  margin: auto;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: 0.5s;
  top: 0;
  left: 0;
  right: 0;
}
.option .bg_box.card_bag .modal.open {
  opacity: 1;
  visibility: visible;
}
.option .bg_box.card_bag .modal .btn_close {
  width: 100px;
  height: 35px;
  line-height: 35px;
  text-align: center;
  color: var(--color);
  margin: 0 auto;
  background: #efe6db;
  border-radius: 99px;
  cursor: pointer;
}

.option .bg_box.card_bag .modal > div {
  width: 800px;
  max-width: 80vw;
  max-height: 80vh;
}

.option .bg_box.card_bag .modal figure {
  width: 100%;
  height: auto;
  max-height: 70vh;
  aspect-ratio: 1 / 1;
  margin: 0 auto 30px;
}
.option .bg_box.card_bag .modal figure img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}
.option .bg_box.card_bag figure figcaption span {
  display: block;
  font-size: 0.75em;
}

.option .modal.noshi_preview {
  position: fixed;
  z-index: 5;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100vw;
  height: 100vh;
  background: rgba(184,148,102,0.8);
  margin: auto;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: 0.5s;
  top: 0;
  left: 0;
  right: 0;
}
.option .modal.noshi_preview.open {
  opacity: 1;
  visibility: visible;
}
.option .modal.noshi_preview .btn_close {
  width: 100px;
  height: 35px;
  line-height: 35px;
  text-align: center;
  color: var(--color);
  margin: 0 auto;
  background: #efe6db;
  border-radius: 99px;
  cursor: pointer;
}
.option .modal.noshi_preview > div {
  width: 850px;
  max-width: 85vw;
  max-height: 85vh;
  text-align: center;
}
.option .modal.noshi_preview figure {
  position: relative;
  z-index: 0;
  display: inline-block;
  width: auto;
  height: 100%;
  max-height: 70vh;
  aspect-ratio: 798 / 900;
  margin: 0 auto 20px;
}
.option .modal.noshi_preview figure img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}
.option .modal.noshi_preview figure > div {
  position: absolute;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 50%;
  margin: auto;
  inset: auto 0 0;
  padding: 5%;
}
.option .modal.noshi_preview figure > div > div {
  display: flex;
  justify-content: flex-end;
  align-items: stretch;
  flex-flow: row-reverse;
}
.option .modal.noshi_preview figure > div p {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: min(5.5vw, 48px);
  line-height: 1.2;
  margin: 0 0.25em;
  writing-mode: vertical-rl;
  -webkit-text-orientation: upright;
}
.option .modal.noshi_preview figure > div p.ruby {margin: 0 0.35em;}
.option .modal.noshi_preview.type02 figure > div p .hidden {visibility: hidden;
}
.option .modal.noshi_preview figure div p span {
  position: relative;
  display: block;
  line-height: 1.2;
}
.option .modal.noshi_preview figure div p span + span {margin: 0.4em 0 0;}
.option .modal.noshi_preview figure div p span::before {
  box-sizing: border-box;
  display: inline-block; 
  content: attr(data-ruby);
  position: absolute;
  height: 100%;
  top: 0;
  bottom: 0;
  right: -1em;
  font-size: 0.5em;
  padding: 0.35em 0;
  text-align-last: justify;
}
.option .modal.noshi_preview figure + p {
  color: #FFFFFF;
  margin: 0 auto 20px;
}

.setting_box {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 30px 0 20px;
  border-top: solid 1px var(--line);
}
.setting_box dt {width: 200px;}
.setting_box dt span {
  display: block;
  width: 80px;
  height: 20px;
  line-height: 20px;
  background: var(--color);
  color: #FFFFFF;
  text-align: center;
  font-size: 0.75em;
  margin: 0 0 5px;
  border-radius: 4px;
}
.setting_box dd {width: calc(100% - 200px);}
.setting_box dd .option_product01 {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  padding: 0 0 20px;
  border-bottom: solid 1px var(--line);
}
.setting_box dd .option_product01 > div {
  width: 90px;
  margin: 0 20px 0 0;
}
.setting_box dd .option_product01 > div figure {margin: 0 0 10px;}
.setting_box dd .option_product01 > div p:nth-of-type(1) {
  font-size: 0.75em;
  line-height: 1.5;
}
.setting_box dd .option_product01 > div p:nth-of-type(2) {text-align: right;}
.setting_box dd .option_product02 {
  padding: 20px 0 0;
}
.setting_box + .setting_box dd .option_product02 {
  padding: 20px 0 20px;
  border-bottom: solid 1px var(--line);
}

.setting_box dd .option_product02 dl {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}
.setting_box dd .option_product02 dl dt {width: 240px;padding: 5px 0 0;}
.setting_box dd .option_product02 dl dd {margin: 0 0 10px;}
.setting_box dd .option_product02 dl dd input {
  width: 80px;
  height: 36px;
  line-height: 36px;
  text-align: left;
  padding: 0 1em;
}
.setting_box dd .setting_date {padding: 20px 0 0;}
.setting_box dd .setting_date p {
  font-size: 1.25em;
  font-weight: 500;
  margin: 0 0 10px;
}
.setting_box dd .setting_date p.deliv_none {
  font-size: 1em;
  font-weight: 400;
  margin: 0;
}
.setting_box dd .setting_date label {
  display: inline-block;
  width: 120px;
}
.setting_box dd .date_select {
  display: none;
  margin: 20px 0 0;
}
.setting_box dd .date_select label {
  display: inline-block;
  width: 120px;
  margin: 0 20px 0 0;
}  
.setting_box dd .date_select input {
  display: inline-block;
  width: 150px;
  height: 36px;
  border-color: var(--line);
  border-radius: 4px;
  margin: 0 20px 0 0;
}
.setting_box dd .date_select input + span {
  font-size: 0.875em;
  color: var(--color);
}
.deliv_date .setting_box:nth-last-of-type(1) {border-bottom: solid 1px var(--line);}




.confirm .bg_box {
  padding: 30px;
  background: #f7f3ed;
  border-radius: 4px;
}
figure.card {
  width: 200px;
  margin: 20px 0;
}
.confirm .card_input {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  width: 560px;
  padding: 30px;
  background: #f7f3ed;
  border-radius: 4px;
}
.confirm .card_input dt {width: 200px;}
.confirm .card_input dd {width: 300px;}
.confirm .card_input dd input {
  width: 100%;
  height: 36px;
  line-height: 36px;
  background: #FFFFFF;
  border: solid 1px var(--line);
  border-radius: 4px;
  margin: 0 0 10px;
}

.confirm .card_input dd .select_outer {
  display: inline-block;
  width: 100px;
  height: 36px;
  background: #FFFFFF;
  border: solid 1px var(--line);
  border-radius: 4px;
  margin: 0 10px 10px 0;
}
.confirm .card_input dd .select_outer::after {
  right: 10px;
  bottom: 0.2em;
}
.confirm .card_input dd .select_outer select {
  height: 36px;
  line-height: 36px;
  color: var(--line);
}
.mypage h3.common span,
.confirm h3.common span {
  display: inline-block;
  vertical-align: middle;
  width: 80px;
  height: 20px;
  line-height: 20px;
  background: var(--color);
  color: #FFFFFF;
  text-align: center;
  font-size: 0.5em;
  margin: 0 10px 3px 0;
  border-radius: 4px;
}
.mypage h3.common.ac ,
.confirm h3.common.ac {
  position: relative;
  z-index: 0;
  font-size: 1.25em;
  font-weight: 400;
  padding: 0.5em 2em 0.5em 2em;
  background: #f7f3ed;
  border-radius: 4px;
  line-height: 1.5;
  margin: 40px 0 0.5em;
  cursor: pointer;
}
.mypage h3.common.ac .ac_mark,
.confirm h3.common.ac .ac_mark {
  position: absolute;
  background: none;
  width: 19px;
  height: 19px;
  margin: auto;
  inset: 0 20px 0 auto;
}
.mypage h3.common.ac::before ,
.confirm h3.common.ac::before {
  position: absolute;
  z-index: 0;
  display: block;
  content: "";
  width: 4px;
  height: calc(100% - 1.6em);
  margin: auto;
  top: 0;
  bottom: 0;
  left: 1.25em;
  background: var(--common);
}
.mypage h3.common.ac .ac_mark::before ,
.confirm h3.common.ac .ac_mark::before {
  position: absolute;
  z-index: 1;
  display: block;
  content: "";
  width: 100%;
  height: 1px;
  margin: auto;
  inset: 0;
  background: var(--common);
}
.mypage h3.common.ac .ac_mark::after ,
.confirm h3.common.ac .ac_mark::after {
  position: absolute;
  z-index: 1;
  display: block;
  content: "";
  width: 1px;
  height: 100%;
  margin: auto;
  inset: 0;
  background: var(--common);
}
.mypage h3.common.ac.open .ac_mark::after ,
.confirm h3.common.ac.open .ac_mark::after {display: none;}
.mypage h3.common.ac + div ,
.confirm h3.common.ac + div {
  display: none;
  margin: 0 0 60px;
}
.mypage h3.common.ac.open + div ,
.confirm h3.common.ac.open + div {display: block;}
.confirm .deliv_box {border-top: solid 1px var(--common);}

.mypage h3.common.ac + div .deliv_box ,
.confirm h3.common.ac + div .deliv_box {border-top: none;}
.mypage h3.common.ac + div .cart_box ,
.confirm h3.common.ac + div .cart_box {border-top: none!important;}
.mypage h2.no_border + .cart_box ,
.confirm h2.no_border + .cart_box {border-top: solid 1px var(--common);}
.option_box {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 20px 0;
  border-bottom: solid 1px var(--line);
}
.option_box.noshi {border-bottom: solid 1px var(--common);}

.option_box .option_title {width: calc(100% - 280px);}
.option_box.noshi .option_title {width: 100%;}
.option_box div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 280px;
}
.option_box div .p_price {font-size: 1.25em;}
.option_box div .confirm_num {
  font-size: 1.25em;
  padding: 0 1em 0 0;
}
.noshi_block {display: none;}


.complete .box {text-align: center;}
.complete .box h2 + p {font-size: 1.25em;}
.complete .box .btn_common {margin-top: 50px;}




/* -----------------------------------------------------------
 mypage
----------------------------------------------------------- */

.mypage_box .pagenation {margin: 20px 0 0;}
.mypage_box .pagenation a,
.mypage_box .pagenation span {
  font-size: 1.5em;
  margin: 0 5px;
}
.mypage_box .pagenation a.btn_next {margin: 0 0 0 10px;}
.mypage_box .pagenation a.btn_prev {margin: 0 10px 0 0;}




.mypage_box {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}
.mypage_box .mypage_list {width: 200px;}
.mypage_box .mypage_list li {
  list-style-type: disc;
  margin: 0 0 1em 1.2em;
}
.mypage_box .mypage_list li a {text-decoration: none;}
.mypage_box .mypage_list li:hover,
.mypage_box .mypage_list li.current {color: var(--color);}

.mypage_box .mypage_column {
  width: calc(100% - 240px);
  max-width: 700px;
}
.mypage_box .mypage_column .deliv_box dt {width: 180px;}
.mypage_box .mypage_column .deliv_box dd {width: calc(100% - 180px);}
.mypage_box .mypage_column .deliv_box dd > div:nth-of-type(1) {
  display: block;
  width: calc(100% - 120px);
  padding: 0 20px 0 0;
}
.mypage_box .mypage_column .deliv_box dd > div p:nth-of-type(1) {width: 100%;}
.mypage_box .mypage_column .deliv_box dd > div p:nth-of-type(2) {
  width: 100%;
  padding: 0;
}
.mypage_box .mypage_column .p_list ul {padding: 0;}
.mypage_box .mypage_column .p_list ul li {
  position: relative;
  width: 30%;
  z-index: 0;
}
.mypage_box .mypage_column .p_list ul li .p_price span {display: block;}
.mypage_box .mypage_column .p_list ul li div {
  position: absolute;
  z-index: 1;
  width: 2em;
  height: 2em;
  bottom: 0;
  right: 0;
}
.mypage_box .mypage_column .p_list ul li div button {
  width: 1.5em;
  height: 1.5em;
  background: url("../img/sub/ico_recommend.svg") no-repeat center / contain;
  cursor: pointer;
}
.mypage_box .mypage_column .p_list ul li div button:hover,
.mypage_box .mypage_column .p_list ul li div button.checked {background: url("../img/sub/ico_recommend_checked.svg") no-repeat center / contain;}
.mypage_box .mypage_column .mypage_order {
  background: #f7f3ed;
  padding: 40px;
  border-radius: 4px;
  margin: 0 0 40px;
}
.mypage_box .mypage_column .order_info {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.mypage_box .mypage_column .order_info h2 {
  font-size: 1.5em;
  font-weight: 500;
  line-height: 1.5;
  margin: 0 0 10px;
}
.mypage_box .mypage_column .order_info p {
  line-height: 1.5;
  text-align: right;
  margin: 0 0 15px;
}
.mypage_box .mypage_column .order_info + .cart_box {border-top: solid 1px var(--common);}
.mypage_box .mypage_column .cart_box > figure {width: 60px;} 
.mypage_box .mypage_column .cart_box > figure + div {
  width: calc(100% - 320px);
  padding: 0 30px 0 0;
  }
.mypage_box .mypage_column .cart_box > figure + div + div {width: 260px;}
.mypage_box .mypage_column .cart_box > figure + div + div .p_price {font-size: 1.25em;}
.mypage_box .mypage_column .option_box .option_title {width: calc(100% - 250px);}
.mypage_box .mypage_column .option_box div {width: 250px;}
.mypage_box .mypage_column .option_box.noshi .option_title {width: 100%;}


.mypage_box .mypage_column .cart_total {
  width: 500px;
  max-width: 100%;
  margin: 0 0 0 auto;
}
.mypage_box .mypage_column .cart_total dl {
  width: 280px;
  margin: 0 0 10px auto;
}
.mypage_box .mypage_column .cart_total dl.total {font-size: 1em;}
.mypage_box .mypage_column .cart_total dl.g_total {
  width: 100%;
  font-size: 1.5em;
  margin: 20px 0 0;
}
.mypage_box .mypage_column .cart_total dl.g_total dt {width: 180px;}
.mypage_box .mypage_column .cart_total dl.g_total dd {width: 320px;}
.mypage_box .mypage_column .btn_order {
  display: block;
  width: 180px;
  height: 40px;
  line-height: 40px;
  background: var(--color);
  text-align: center;
  color: #FFFFFF;
  margin: 40px 0 0 auto;
  font-size: 1em;
  border-radius: 4px;
  cursor: pointer;
  transition: 0.5s;
}
.mypage_box .mypage_column .btn_order:hover {opacity: 0.5;}
.mypage_box .mypage_column .order_detail {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 0 20px;
}
.mypage_box .mypage_column .order_detail h3.common {margin-top: 0;}
.mypage_box .mypage_column .order_detail .btn_box {
  justify-content: space-between;
  margin: 0 0 10px;
}
.mypage_box .mypage_column .order_detail .btn_box button {
  width: 180px;
  font-size: 1em;
  margin: 0;
}
.mypage_box .mypage_column h2.common + .deliv_box {
  border-top: solid 1px var(--common);
  border-bottom: solid 1px var(--common);
}
.mypage_box .mypage_column .deliv_box dd p:nth-of-type(1) {
  width: calc(100% - 140px);
  padding: 0 20px 0 0;
}
.mypage_box .mypage_column .deliv_box dd p:nth-of-type(2) {
  width: 140px;
  padding: 0;
}
.mypage_box .mypage_column .cancel_caution {
  padding: 40px;
  background: #f7f3ed;
  border-radius: 4px;
  margin: 30px 0 40px;
}
.mypage_box .mypage_column .cancel_caution > *:nth-last-child(1) {margin-bottom: 0;}
.mypage_box .mypage_column .cancel_input {margin: 30px 0;}
.mypage_box .mypage_column .cancel_input label {display: inline-block;}
.mypage_box .mypage_column .cancel_input + .btn_common {
  width: 180px;
  font-size: 1em;
  margin: 0;
}
.mypage_box .mypage_column .receipt {
  position: fixed;
  z-index: 5;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100vw;
  height: 100vh;
  background: rgba(184,148,102,0.8);
  margin: auto;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: 0.5s;
  top: 0;
  left: 0;
  right: 0;
}
.mypage_box .mypage_column .receipt.open {
  opacity: 1;
  visibility: visible;
}
.mypage_box .mypage_column .receipt > div:nth-of-type(1) {
  position: relative;
  z-index: 1;
  width: 600px;
  max-width: 90%;
  height: auto;
  padding: 30px 40px;
  background: #FFFFFF;
  border-radius: 10px;
}
.mypage_box .mypage_column .receipt > div.modal_bg {
  position: absolute;
  z-index: 0;
  display: block;
  content: "";
  inset: 0;
  cursor: pointer;
}
.mypage_box .mypage_column .receipt > div input[type="text"] {
  display: inline-block;
  width: 300px;
  max-width: 100%;
  height: 36px;
  border-radius: 4px;
  margin: 20px 20px 20px 0;
  padding: 0 0.5em; 
  border-color: var(--line);
}
.mypage_box .mypage_column .receipt > div input + div {
  display: inline-block;
  width: auto;
}
.mypage_box .mypage_column .receipt > div input + div label {
  display: inline-block;
  width: auto;
  margin: 0 20px 0 0;
}
.mypage_box .mypage_column .receipt > div button {
  width: 180px;
  font-size: 1em;
  margin: 20px 0 0;
}


@media screen and (max-width: 950px) {
  .mypage_box .mypage_column {width: calc(100% - 200px);}
  .mypage_box .mypage_column .deliv_box dt {width: 120px;}
  .mypage_box .mypage_column .deliv_box dd {width: calc(100% - 120px);}
  .mypage_box .mypage_column .deliv_box dd > div:nth-of-type(1) {width: calc(100% - 100px);}
  .mypage_box .mypage_column .deliv_edit dt {width: 150px;}
  .mypage_box .mypage_column .deliv_edit dt .sp_cont {display: block!important;}
  .mypage_box .mypage_column .deliv_edit dd {width: calc(100% - 150px);}
  .mypage_box .mypage_column .deliv_edit dd > div .name_input {width: 100%;}
  .mypage_box .mypage_column .deliv_edit dd > div .name_input input {width: 70px;}
  .mypage_box .mypage_column .deliv_edit dd > div .name_input input:nth-of-type(1) {margin: 0 10px 0 0.75em;}
  .mypage_box .mypage_column .deliv_edit dd > div {padding: 0 60px 20px 0;}
  .mypage_box .mypage_column .deliv_edit dd > div + div {padding: 30px 60px 20px 0;}
  .mypage_box .mypage_column .p_list ul li {font-size: 0.8em;}
  .mypage_box .mypage_column .order_info h2 {font-size: 1.25em;}
  .mypage_box .mypage_column .order_info p {font-size: 0.75em;}
  .mypage_box .mypage_column .cart_box > figure + div {width: calc(100% - 270px);padding: 0 20px 0 0;}
  .mypage_box .mypage_column .cart_box > figure + div + div {width: 180px;}
  .mypage_box .mypage_column .cart_total dl.g_total {align-items: flex-start;}
  .mypage_box .mypage_column .cart_total dl.g_total dd {width: calc(100% - 180px);padding: 5px 0 0;}
  .mypage_box .mypage_column .option_box .option_title {width: calc(100% - 180px);}
  .mypage_box .mypage_column .option_box div {width: 180px;}
  .mypage_box .mypage_column .order_detail .btn_box button {width: 140px;}

}

/* -----------------------------------------------------------
 static
----------------------------------------------------------- */

.page_static .p_title {margin: 60px 0 60px;}
.page_static .p_title h1 {
  color: var(--common);
  font-size: 2em;
  font-weight: 400;
  letter-spacing: 0.1em;
}
.page_static .box h2 {margin: 60px 0 30px!important;}
.page_static .box h3 {margin: 40px 0 30px!important;}
.page_static .box h4.h2_common {margin: 40px 0 20px!important;}
.page_static .box h4.h3_common {margin: 40px 0 20px!important;}
.page_static .box h2,
.page_static .box .h2_common {
  font-size: 1.5em;
  font-weight: 400;
  padding: 0 0 0.25em;
  line-height: 1.5;
  margin: 60px 0 30px;
  border-bottom: solid 1px var(--common);  
}
.page_static .box h2::before,
.page_static .box .h2_common::before {display: none;}
.page_static .box h2.no_border,
.page_static .box .h2_common.no_border {
  border-bottom: none;
  margin-bottom: 0;
}
.page_static .box h2 .tips ,
.page_static .box .h2_common .tips {
  width: 20px;
  height: 20px;
  font-size: 16px;
  margin: 0 0 10px 10px;
}
.page_static .box h3,
.page_static .box .h3_common {
  position: relative;
  z-index: 0;
  font-size: 1.25em;
  font-weight: 400;
  line-height: 1.5;
  margin: 40px 0 20px;
  padding: 0 0.75em;
  border: none;
}
.page_static .box h3::before,
.page_static .box .h3_common::before {
  position: absolute;
  z-index: 0;
  display: block;
  content: "";
  width: 4px;
  height: calc(100% - 0.4em);
  margin: auto;
  top: 0;
  bottom: 0;
  left: 0;
  background: var(--common);
}
.page_static .box .ac span {
  display: inline-block;
  vertical-align: middle;
  width: 80px;
  height: 20px;
  line-height: 20px;
  background: var(--color);
  color: #FFFFFF;
  text-align: center;
  font-size: 0.5em;
  margin: 0 10px 3px 0;
  border-radius: 4px;
}
.page_static .box .ac {
  position: relative;
  z-index: 0;
  font-size: 1.25em;
  font-weight: 400;
  padding: 0.5em 2em 0.5em 2em;
  background: #f7f3ed;
  border-radius: 4px;
  line-height: 1.5;
  margin: 40px 0 0.5em;
  cursor: pointer;
}
.page_static .box .ac .ac_mark {
  position: absolute;
  background: none;
  width: 19px;
  height: 19px;
  margin: auto;
  inset: 0 20px 0 auto;
}
.page_static .box .ac::before {
  position: absolute;
  z-index: 0;
  display: block;
  content: "";
  width: 4px;
  height: calc(100% - 1.6em);
  margin: auto;
  top: 0;
  bottom: 0;
  left: 1.25em;
  background: var(--common);
}
.page_static .box .ac .ac_mark::before {
  position: absolute;
  z-index: 1;
  display: block;
  content: "";
  width: 100%;
  height: 1px;
  margin: auto;
  inset: 0;
  background: var(--common);
}
.page_static .box .ac .ac_mark::after {
  position: absolute;
  z-index: 1;
  display: block;
  content: "";
  width: 1px;
  height: 100%;
  margin: auto;
  inset: 0;
  background: var(--common);
}
.page_static .box .ac.open .ac_mark::after {display: none;}
.page_static .box .ac + div {
  display: none;
  margin: 0 0 60px;
}
.page_static .box .ac.open + div {display: block;}
.page_static .box .ac + div + .ac {margin-top: 40px!important;}
.page_static .box p {margin: 0 0 20px;}
.page_static .box .btn_sub {
  display: inline-block;
  color: #FFFFFF;
  font-size: 1.5em;
  font-weight: normal;
  line-height: 1.3;
  margin: 20px 10px 20px 0;
  padding: 0.5em 1.5em;
  background: var(--color);
  border-radius: 4px;
  cursor: pointer;
  transition: 0.5s;
}
.page_static .box .btn_sub:hover {opacity: 0.5;}
.page_static .box .btn_sub a {text-decoration: none;}
.page_static ol {
  list-style-type: decimal;
  margin: 0 0 1em 1.2em;
}
.page_static ul {
  list-style-type: disc;
  margin: 0 0 1em 1.2em;
}
.page_static table {
  width: 100%;
  border-top: solid 1px var(--common);
  border-bottom: solid 1px var(--common);
}
.page_static table tr {border-bottom: solid 1px var(--line);}
.page_static table tr:nth-last-of-type(1) {border: none;}
.page_static table th {
  text-align: left;
  font-weight: normal;
  padding: 1em 0;
  vertical-align: top;
  width: 300px;
}
.page_static table td {padding: 1em 0;}
.page_static .faq {border-bottom: solid 1px var(--common);}
.page_static .faq:nth-of-type(1) {border-top: solid 1px var(--common);}
.page_static .faq dt {
  position: relative;
  z-index: 0;
  font-size: 1.25em;
  line-height: 1.5;
  padding: 1em 2em;
  cursor: pointer;
}
.page_static .faq dd {
  display: none;
  position: relative;
  z-index: 0;
  padding: 0 2.5em 2em;
}
.page_static .faq dt::before {
  position: absolute;
  z-index: 0;
  content: "Q.";
  color: var(--color);
  top: 0.9em;
  left: 0;
}
.page_static .faq dd::before {
  position: absolute;
  z-index: 0;
  content: "A.";
  color: var(--color);
  font-size: 1.5em;
  top: -0.35em;
  left: 0;
}
.page_static .faq dt span::before ,
.page_static .faq dt span::after {
  position: absolute;
  z-index: 0;
  content: "";
  background: var(--common);
}
.page_static .faq dt span::before {
  width: 1em;
  height: 1px;
  top: 1.725em;
  right: 0.5em;
}
.page_static .faq dt span::after {
  width: 1px;
  height: 1em;
  top: 1.25em;
  right: 0.95em;
}
.page_static .faq dt.open span::after {display: none;}
.page_static .caution_list {
  list-style-type: none;
  margin: 0 0 0 1em;
}
.page_static ol li .caution_list {margin: 0;}
.page_static .caution_list.indent {margin: 0 0 0 2em;}
.page_static .caution_list li {text-indent: -1em;}
.page_static .caution_list li::before {content: "※";}
.page_static .noshi_caution {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: 0 0 20px;
}
.page_static .noshi_caution .p_tag {width: 150px;}
.page_static .noshi_caution p {
  width: calc(100% - 150px);
  margin: 0 0 0 10px;
}
.page_static .bg_box {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding: 50px;
  background: #f7f3ed;
  border-radius: 4px;
}
.page_static .bg_box.bg_box03 {max-width: 820px;}
.page_static .bg_box.card_bag {
  align-items: flex-start;
  max-width: 570px;
  margin: 30px 0 40px;
  border-radius: 4px;
}
.page_static .bg_box.card_bag > figure {
  width: 48%;
  cursor: pointer;
}
.page_static .bg_box.card_bag > figure img {width: 100%;}

.page_static .bg_box.card_bag.card_bag03 {max-width: 820px;}
.page_static .bg_box.card_bag.card_bag03 > figure {width: 30%;}
.page_static .bg_box.card_bag.card_bag_use {max-width: 100%;}
.page_static .bg_box.card_bag.card_bag_use > figure {width: 17.5%;}


.page_static .bg_box.card_bag .modal {
  position: fixed;
  z-index: 5;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100vw;
  height: 100vh;
  background: rgba(184,148,102,0.8);
  margin: auto;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: 0.5s;
  top: 0;
  left: 0;
  right: 0;
}
.page_static .bg_box.card_bag .modal.open {
  opacity: 1;
  visibility: visible;
}
.page_static .bg_box.card_bag .modal .btn_close {
  width: 100px;
  height: 35px;
  line-height: 35px;
  text-align: center;
  color: var(--color);
  margin: 0 auto;
  background: #efe6db;
  border-radius: 99px;
  cursor: pointer;
}
.page_static .bg_box.card_bag .modal > div {
  width: 800px;
  max-width: 80vw;
  max-height: 80vh;
}
.page_static .bg_box.card_bag .modal figure {
  width: 100%;
  height: auto;
  max-height: 70vh;
  aspect-ratio: 1 / 1;
  margin: 0 auto 30px;
}
.page_static .bg_box.card_bag .modal figure img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}
.page_static .bg_box.card_bag figure figcaption span {
  display: block;
  font-size: 0.75em;
}
.page_static .dl_contact {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  border-top: solid 1px var(--line);
  border-bottom: solid 1px var(--line);
  padding: 30px 0;
  line-height: 1.625;
}
.page_static .dl_contact + .dl_contact {border-top: none;}
.page_static .dl_contact dt {width: 240px;}
.page_static .dl_contact dd {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: calc(100% - 190px);
}
.page_static .dl_contact dd .select_outer {
  display: inline-block;
  width: 200px;
  height: 36px;
  border: solid 1px var(--line);
  border-radius: 4px;
  margin: 0 0 10px;
}
.page_static .dl_contact dd .select_outer::after {
  right: 10px;
  bottom: 0.2em;
}
.page_static .dl_contact dd .select_outer select {
  height: 36px;
  line-height: 36px;
  color: var(--line);
}
.page_static .dl_contact dd input[type="number"] {
  width: 100px;
  height: 36px;
  line-height: 36px;
  text-align: left;
  box-shadow: none;
  margin: 0 0 10px;
}
.page_static .dl_contact dd input[type="number"] + span {display: inline-block;margin: 0 5px 10px;}
.page_static .dl_contact dd > div {width: 100%;}
.page_static .dl_contact dd .name_input {
  width: 370px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  margin: 0 0 10px;
}
.page_static .dl_contact dd .name_input span {
  display: inline-block;
  width: 2em;
  text-align: right;
  line-height: 1;
}
.page_static .dl_contact dd .name_input input {
  display: inline-block;
  margin: 0 40px 0 0.75em;
  width: 100px;
  height: 36px;
  border: solid 1px var(--line);
  border-radius: 4px;
  padding: 0 0.5em;
}
.page_static .dl_contact dd .name_input span {
  display: inline-block;
  width: 2em;
  text-align: right;
  line-height: 1;
}
.page_static .dl_contact dd.email_input {display: block;} 
.page_static .dl_contact dd input[type="email"] {
  display: block;
  width: 340px;
  height: 36px;
  line-height: 36px;
  margin: 0 0 10px;
  border: solid 1px var(--line);
  border-radius: 4px;
  padding: 0 0.5em;
}
.page_static .dl_contact dd input[type="email"] + input {margin: 0;}

.page_static .use_contact {
  padding: 20px 30px;
  border: solid 1px var(--color);
  border-radius: 10px;
}
.page_static .use_contact > *:nth-last-child(1) {margin: 0;}

/* -----------------------------------------------------------
 org
----------------------------------------------------------- */

.page_org {
  padding: 70px 0 0;
  overflow: hidden;
}
.page_org .kv_category {
  position: relative;
  z-index: 0;
  width:  min(calc(100% - 50px),calc(50% + 500px));
  height: auto;
  aspect-ratio: 1460 / 400;  
  margin: 0 0 80px auto;
}
.page_org .kv_category::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: "";
  width: 100vw;
  height: 87.5%;
  background: var(--bg);
  top: -70px;
  right: 0;
}
.page_org .kv_category img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transform: translateY(30px);
  transition: 1s;
}
.page_org .kv_category > h1 {
  position: absolute;
  z-index: 1;
  color: #FFFFFF;
  font-size: 1.5em;
  top: 50%;
  left: 5%;
  font-weight: normal;
  opacity: 0;
  transform: translateY(calc(30px - 50%));
  transition: 1s;
}
.page_org .kv_category.fadein img {
  opacity: 1;
  transform: translateY(0);
}
.page_org .kv_category.fadein  > h1 {
  opacity: 1;
  transform :translateY(-50%);
}
.page_org .kv_category > h1 span {
  display: block;
  font-size: 1.6em;
  font-family: "Questrial", sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: .1em;
  line-height: 1.3;
}

.page_org .manner01, 
.page_org .select01 {
  text-align: center;
  padding: 0 0 80px;
}
.page_org .manner01 h2 ,
.page_org .select01 h2 {
  color: var(--color);
  font-size: 2em;
  font-weight: normal;
  line-height: 1.5;
  margin: 0 auto 1em;
}
.page_org .manner01 p ,
.page_org .select01 p {line-height: 2.2;}

.page_org .select02 h2 {
  color: var(--color);
  font-family: "Questrial", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 2.375em;
  letter-spacing: 0.1em;
  line-height: 1.25;
  text-align: center;
  margin: 0 auto 0.75em;
}
.page_org .select02 section {margin: 0 auto 80px;}
.page_org .select02 section h3 {
  color: var(--color);
  font-size: 1.5em;
  font-weight: 400;
  text-align: center;
  border-bottom: solid 1px var(--color);
  padding: 0 0 0.25em;
  margin: 0 auto 1em;
}
.page_org .select02 section h3 + p {
  text-align: center;
  line-height: 2.2;
  margin: 0 auto 1.5em;
}
.page_org .select02 section > figure {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin: 0 auto 5%;
}
.page_org .select02 section > figure img {
  display: block;
  width: 25%;
}
.page_org .select02 ul {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.page_org .select02 ul li {width: 30%;}
.page_org .select02 ul li a {text-decoration: none;transition: 0.5s;}
.page_org .select02 ul li a figure {margin: 0 auto 10px;}
.page_org .select02 ul li a figure img {width: 100%;}
.page_org .select02 ul li a:hover {opacity: 0.5;}
.page_org .select02 ul li p {
  font-size: 1.25em;
  font-family: "Questrial", sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.1em;
  line-height: 1.2;
}
.page_org .select02 ul li p > span {font-size: 0.75em;display: inline-block;}
.page_org .select02 ul li a > span {
  display: block;
  color: var(--line);
  font-size: 0.875em;
  line-height: 1.5;
}
.page_org .manner02 {
  position: relative;
  z-index: 0;
  padding: 100px 0;
}
.page_org .manner02::after {
  position: absolute;
  z-index: 0;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  inset: 0;
  margin: auto;
  background: #f4eee7;
}
.page_org .manner02 .box {
  position: relative;
  z-index: 1;
  padding-left: 140px;
}
.page_org .manner02 .box h2 {
  position: absolute;
  z-index: 0;
  color: var(--color);
  font-family: "Questrial", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 2.375em;
  letter-spacing: 0.1em;
  writing-mode: vertical-rl;
  line-height: 1.25;
  top: 0;
  left: 40px;
}
.page_org .manner02 .box > div {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.page_org .manner02 .box > div dl {width: 30%;}
.page_org .manner02 .box > div dl dt {
  color: var(--color);
  font-weight: 400;
  font-size: 1.5em;
  line-height: 1.5;
  margin: 0 0 0.75em;
}
.page_org .manner02 .box > div dl dt span {
  display: block;
  font-family: "Questrial", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 0.625em;
  letter-spacing: 0.1em;
  margin: 0 0 0.5em;
}
.page_org .manner03 {
  position: relative;
  z-index: 0;
  padding: 90px 0;
  overflow: hidden;
}
.page_org .manner03::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: "";
  width: 50vw;
  height: 100%;
  background: #f4eee7;
  top: 0;
  bottom: 0;
  right: 0;
}
.page_org .manner03 .box {
  position: relative;
  z-index: 0;
  padding-right: 190px;
}
.page_org .manner03 h2 {
  position: absolute;
  z-index: 0;
  color: var(--color);
  font-family: "Questrial", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 2.375em;
  letter-spacing: 0.1em;
  writing-mode: vertical-rl;
  line-height: 1.25;
  top: 0;
  right: 50px;
}
.page_org .manner03 h2 span {
  font-family:"Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  display: block;
  font-size: 0.42em;
  line-height: 1.5;
  margin: 0 10px;
}
.page_org .manner03 section {margin: 0 0 50px;}
.page_org .manner03 section h3 {
  color: var(--color);
  font-size: 1.5em;
  font-weight: 400;
  line-height: 1.5;
  margin: 0 0 10px;
}
.page_org .manner03 section h3 span {
  display: block;
  font-family: "Questrial", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.5em;
  letter-spacing: 0.1em;
}


/* -----------------------------------------------------------
 login
----------------------------------------------------------- */

.login_form {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  margin: 0 0 10px;
}
.login_form dt {
  width: 8em;
  padding: 0.2em 0 0;
}
.login_form input[type="text"],
.login_form input[type="password"] {
  display: inline-block;
  width: 250px;
  height: 36px;
  line-height: 36px;
  border: solid 1px var(--line);
  border-radius: 4px;
  padding: 0.5em 1em;
  margin: 0;
}




