@charset "utf-8";

.egift .main_visual_02{
  margin-bottom: 0.5em;
}

@media (max-width: 1019px) {
 .egift .main_visual_02 {
    padding-top: 30px;
  }
}
.egift .wrap, .collection_items .wrap {
  max-width: 1200px;
  margin: auto;
  /*padding: 0 1rem;*/
}

.egift_guides {
  margin: 30px 0 40px;
}

.egift_guides ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.egift_guides ul li {
  width: calc((100% - 80px) / 4);
  border: solid 10px #f5efe4;
  border-radius: 23px;
  display: flex;
  flex-direction: column;
  text-align: center;
  margin: 5px 10px 5px;
  padding: 20px 0;
}
.egift_guides ul li p {
  font-size: 16px;
  font-weight: 600;
}

.egift_guides ul li img {
  width: 160px;
  margin: auto;
}


@media screen and (max-width: 767px) {
  .egift_guides ul li {
    width: calc((100% - 60px) / 2);
  }
}


.egift h1{
  margin-bottom: 0.5em;
  color: #bd9a47;
}

.egift h2 {
  position: relative;
  display: inline-block;
  padding: 0em 0 0.2em;
  margin: 0 auto 1em;
  text-align: center;
  font-size: 26px;
  line-height: 1.6;
  border-bottom: solid 6px #d5af4a !important;
}

#how_to_use #faq h2.mincho {
  color: #411e1b;
  font-size: 24px;
  line-height: 1.8;
  border-bottom: none;
  font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
}


.how_to_top {
  width: 100%;
  margin: 0 auto 0px;
  padding: 0px 10px 0px;
  text-align: center;
}

.how_to_use {
  width: 100%;
  margin: 0 auto 0px;
  padding: 10px 10px 0px;
  text-align: center;
}

.tab {
max-width: 1200px;
margin: auto;
padding: 0 1rem;
}

.tab-buttons {
  display: flex;
  justify-content: center;
  border-bottom: 10px solid #d5af4a;
}

.tab-buttons button.active {
  color: #fff;
  background: #d5af4a;
  border: 2px solid #d5af4a;
}

.tab-buttons button {
  padding: 10px 20px;
  background: #f5efe4;
  border: none;
  border: 2px solid #f5efe4;
  cursor: pointer;
  font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
  transition: all 0.3s;
  width: 50%;
  color: #d5af4a;
}

input, button, select, textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

.tab-contents {
  max-width: 1280px;
  margin: 0px auto 0px;
  padding: 0px 0;
}

.tab-contents .content.active {
  display: flex;
  flex-direction: column;
}

.tab-contents .content {
  display: none;
  max-width: 1100px;
  margin: 0px auto 0px;
  padding: 20px 0;
  animation: fadeIn 0.3s ease-in-out;
}



/*.tab-contents .content h4 {
  font-size: clamp(1.375rem, 1.284rem + 0.45vw, 1.625rem);
  font-weight: 600;
  background: #d5af4a;
  color: #fff;
  text-align: center;
  padding: 20px 20px;
  margin: 20px 0 10px;
}*/

.tab-contents .content .step_area {
  display: flex;
  justify-content: center;
  align-items: center;
}

.tab-contents .content .step_area .img_guide {
  display: flex;
  justify-content: center;
  justify-content: flex-end;
  width: 50%;
}

#how_to_use .tabcontents label:has(:checked) + div {
  display: block;
}

#how_to_use .tabcontents > div {
  display: none;
  width: 100%;
  padding: 1.5em 1em;
}

#how_to_use .tabcontents ul {
  display: flex !important;
  width: 100% !important;
  column-gap: 5% !important;
}

#how_to_use .tabcontents {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-top: 1rem;
}

#how_to_use .tabcontents ul li {
  width: calc(100% / 3) !important;
  position: relative !important;
}


#how_to_use .tabcontents h4 {
  font-size: 1.1em;
  font-weight: bold;
  margin-bottom: 1em;
}

#how_to_use .tabcontents h4 span {
  font-size: 1.3em;
  vertical-align: middle;
  color: #d5af4a;;
}
#how_to_use .tabcontents ul li img {
  width: 80%;
  margin-bottom: 1em;
}
#how_to_use .tabcontents ul li p {
  text-align: left;
  margin-bottom: 2em;
}

#how_to_use .column4 {
  width: 500px;
  font-size: 1rem;
  margin-top: 3em;
}


#how_to_use ul li:not(:last-child)::after {
  position: absolute;
  right: 0;
  top: 40%;
  width: 15px;
  height: 20px;
  background-color: #d5af4a;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  content: '';
}

@media only screen and (max-width: 767px) {
#how_to_use ul li:not(:last-child)::after {
    right: 50%;
    top: 100%;
    width: 20px;
    height: 15px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    margin-top: 1em;
  }
  #how_to_use h4 {
  margin-top: 0em;
}
#how_to_use .tabcontents ul li p {
  margin-bottom: 3em;
}

}

@media only screen and (max-width: 767px) {
#how_to_use .tabcontents ul {
    display: block  !important;
    width: 100%;
  }
#how_to_use .tabcontents ul li {
    width: calc(100% / 1) !important;
  }
}

.faq {
  max-width: 980px;
  margin: 0px auto 50px;
  padding: 0px 10px 0;
  text-align: center;
}

.faq details {
  font: 16px "Open Sans", Calibri, sans-serif;
  width: 980px;
}




 .faq details > summary {
  padding: 2em 2em 2em 2em;
  width: 960px;
  background-color: #fff;
  border: none;
    border-top-width: medium;
    border-top-style: none;
    border-top-color: currentcolor;
  cursor: pointer;
  border-top: 1px solid #D9DDE5;
  cursor: pointer;
  list-style: none;
  text-align: left;
}
 .faq summary {
  background-image: url(/asset2023/img/guide/q.png);
  background-size: 22px 20px;
  background-repeat: no-repeat;
  background-position: left calc(2em + 4px);
  list-style: none;
  position: relative;
}
 .faq details > summary::after {
  content: "";
  background-image: url(/asset2023/img/ui/arrow_gray_02.png);
  width: 9px;
  height: 15px;
  background-size: 9px 15px;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.5s;
}

 .faq details[open] > summary::after {
  transform: translateY(-50%) rotate(90deg);
  transition: 0.5s;

}
 .faq details > .faq_details {
  background-color: #fff;
  padding: 0 2em 1em;
  margin: 0;
  width: 100%;
    text-align: left;
}
 .faq .faq_details {
  background-image: url(/asset2023/img/guide/a.png);
  background-size: 22px 20px;
  background-repeat: no-repeat;
  background-position: left 4px;
}
 .faq .list_sd {
  width: 100%;
  display: flex;
  margin-bottom: 0.5em;
}

 .faq .link_url_bottom {
  text-decoration: underline;
  color: #4487AC;
  font-size: 90%;
  margin-bottom: 2em;
}

 .faq .link_url_bottom a {
  line-height: 200%;
  color: #4487AC;
}

 .faq  .main_content {
  width: 960px;
  margin: 0 auto;
  padding: 10px 0;
  display: flex;
  flex-wrap: wrap;
 }

  .faq  .last {
  padding: 0em;
  width: 800px;
  border-bottom: 1px solid #D9DDE5;
}

@media (max-width: 799px) {
 .faq  .main_content {
    width: 100%;
    padding-left: 5% !important;
    padding-right: 5% !important;
    width: 100%;
    margin: 0 auto;
    margin-bottom: 0px;
    margin-bottom: 0px;
    padding: 10vw 5%;
    padding-right: 5%;
    padding-left: 5%;
    display: flex;
    flex-wrap: wrap;
  }



  .faq details > summary {
    width: 100%;
  }
}

@media (max-width: 1099px) {
 .egift .flex_list .column4 {
    width: 50%;
    font-size: 1rem;
    margin-top: 1em;
    padding: 6px;
  }
}

.lead_double_frame p{
  text-align: center;
}

.lead_double_frame img{
  max-width: 80%;
  padding-top: 0em;
}

.egift h1 span{
  font-size:80%;
}
.hina {
  background-color: #fcdfd7;
  padding: 3% 0 1%;
  margin: 0px auto 0px;
}

.case {
  background-color: #ffebd2;
  padding: 3% 0 1%;
  margin: 0px auto 0px;
}



.flex_list {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  padding: 1em 0;
}

.flex_list .column4 {
  padding: 10px;
}

.flex_list .item-list-span-img {
    background-color: #fff !important;
}

.flex_list a:hover {
  opacity: 1 !important;
}

.wrap {
  max-width: 1200px;
  margin: auto;
  padding: 0 ;
}

@media (max-width: 640px) {
.wrap {
    padding: 0 .5rem;
  }
  .lead_double_frame img{
  max-width: 100%;
  padding-top: 1em;
}
}

.lead_double_frame {
  background-color: #fff;
  padding: 0px 20px;
  max-width: 830px;
  margin: 0px auto 20px;
  /*border: solid 2px #fabeaf;*/
  /*outline: solid 3px #a18b65;
  outline-offset: 2px;*/
  overflow: hidden;
}



.text-center {
  text-align: center !important;
}

.arrow_gray_03{
  width: 7%;
  margin-top: 3px;
}

.page_link_area ul.page_link {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 20px auto !important;
  max-width: 1200px;
  border-bottom: none !important;
}

.page_link_area ul.page_link li {
  /*border: solid 1px #fabeaf;*/
  padding: 10px 5px;
  border-radius: 0px;
  background: #fdefeb;
  font-size: 14px;
  color: #000000;
  font-weight: bold;
  margin: 0 5px 10px;
  /*display: flex;*/
  align-items: center;
  width: 200px;
}

.page_link {

  /*border-bottom: solid 1px #f5efe4;*/
  margin: 0 0 1rem;
}

.egift .page_link {
  text-align: center;
}

.wrapper_600 {
  max-width: 660px;
  padding: 10px 10px 0;
  margin: 0 auto 1em;
  position: relative;
}

.wrapper_300 {
  max-width: 330px;
  padding: 10px 10px 0;
  margin: 0 auto 1em;
  position: relative;
}

@media (max-width: 1099px) {
/*.flex_list .column4 {
    width: 50%;
    font-size: 1rem;
    margin-top: 1em;
      padding: 6px;
  }*/
.flex_list .item-list-span-img {
  padding: 0%;
}

.wrapper_300 {
  max-width: 660px;
  padding: 10px 10px 0;
  margin: 0 auto 1em;
  position: relative;
}
}

@media (max-width: 799px) {
.wrap {
    padding: 0 .5rem;
  }


.lead_double_frame p{
  text-align: left; !important;
}


  .page_link_area ul.page_link {
    flex-wrap: wrap;
    justify-content: center;
  }
}




/*efffec*/
.efffect img {
  transform: scaleY(1);
  -moz-transform: scaleY(1);
  -webkit-transform: scaleY(1);
  -o-transform: scaleY(1);
  -ms-transform: scaleY(1);  
  transition: all 0.7s ease-in-out 0s;
  -moz-transition: all 0.7s ease-in-out 0s;
  -webkit-transition: all 0.7s ease-in-out 0s;
  -o-transition: all 0.7s ease-in-out 0s;
}

.efffect img {
   -webkit-transform: scaleY(1);
   -moz-transform: scaleY(1);
   -o-transform: scaleY(1);
   -ms-transform: scaleY(1);
   transform: scaleY(1);/**/
   -webkit-transition: all 0.7s ease-in-out;
   -moz-transition: all 0.7s ease-in-out;
   -o-transition: all 0.7s ease-in-out;
   -ms-transition: all 0.7s ease-in-out;
   transition: all 0.7s ease-in-out;
}

.efffect:hover img {
   -webkit-transform: scale(1.1);
   -moz-transform: scale(1.1);
   -o-transform: scale(1.1);
   -ms-transform: scale(1.1);
   transform: scale(1.1);
   -ms-filter: "progid: DXImageTransform.Microsoft.Alpha(Opacity=0)";
}

.red02 {
  color: #cc0000 !important;
  text-align: left;
  font-size: 100%;
  margin-top: 0.5em;
}


/**** ボタン ****/
.flex_list_item_btn {
  margin-top: 8px;
}

.btn_center {
  margin-top: 1em;
  display: flex;
  justify-content: center;
}

.btn_center {
  text-align: center;
}

.btn_center p.flex_list_item_btn {
  width: 47%;
  margin: auto;
}

.btn_center p.flex_list_item_btn02 {
  width: 47%;
  margin: auto;
}


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

.btn_center {
    display: block;
}
.btn_center p.flex_list_item_btn {
  width: 100%;
  margin: 0.5em auto;
}
}

.btn_arrow_light {
  display: block;
  background: #231916;
  color: #fff;
  padding: 1em 2em 1em 1em !important;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  margin: 0px 0 0;
  border-radius: 6px !important;
  position: relative;
}

.btn_arrow_light a, a:hover {
  color: #8a8a8a !important;
  text-decoration: none;
}

.btn_arrow_light::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 5px);
  right: 20px;
  width: 6px;
  height: 6px;
  border: 2px solid;
    border-top-color: currentcolor;
    border-right-color: currentcolor;
    border-bottom-color: currentcolor;
    border-left-color: currentcolor;
  border-color: transparent transparent #FFF #FFF;
  transform: rotate(-135deg);
  transition: .3s;
}

.btn_arrow_light:hover::after {
  right: 10px;
}


.btn_arrow_light02 {
  display: block;
  background: #231916;
  color: #fff;
  padding: 1em 2em 1em 1em !important;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  margin: 0px 0 0;
  border-radius: 6px !important;
  position: relative;
}

.btn_arrow_light02 a, a:hover {
  color: #8a8a8a !important;
  text-decoration: none;
}

.btn_arrow_light02::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 5px);
  right: 20px;
  width: 6px;
  height: 6px;
  border: 2px solid;
    border-top-color: currentcolor;
    border-right-color: currentcolor;
    border-bottom-color: currentcolor;
    border-left-color: currentcolor;
  border-color: transparent transparent #FFF #FFF;
  transform: rotate(-135deg);
  transition: .3s;
}

.btn_arrow_light02:hover::after {
  right: 10px;
}
/*ページ下*/

.hina_point img {
  max-width: 100%;
  vertical-align: top;
}

.hina_link01{
  padding-top: 100px;
  margin-top: -100px;
}

.hina_link02{
  padding-top: 100px;
  margin-top: -100px;
}

.hina_link03{
  padding-top: 100px;
  margin-top: -100px;
}

.hina_link04{
  padding-top: 100px;
  margin-top: -100px;
}

.hina_link05{

  margin-top: 20px;
}

.order1 {
  order: 1;
}

.hina_point {
    background-color: #fff;
    padding: 0 0 3%;
    margin: 0px auto 0px;
  }

  .wrapper_1200 {
  max-width: 1200px;
  padding: 10px 15px 0;
  margin: 0px auto 20px;
  position: relative;
}

@media screen and (max-width: 799px) {
    .wrapper_1200 {
      padding: 10px 10px 0;
    }
}


.point{
  position: relative;
  max-width: 1600px;
  margin: auto;
  padding: 0px 5px 0px;
}

.point .flex_box{
    display: flex;
    align-items: center;
}

.point .kv{
  width: 50%;
  text-align: center;
  position: relative;
}

.point .text{
  width: 50%;
  padding: 10px 50px;
}

.point .text p{
  line-height: 1.6;
  font-size: 15px;
  text-align: center;
  padding: 0px;
  font-weight:400;
}

@media (max-width: 799px){
.point{
  padding: 0px 0px 0px;
}

.point h2.top_contents_recommend{
    margin-top: 20px;
}

.point .flex_box{
    display: block;
}
.point .kv, .point .text{
  width: 100%;
  padding: 0px 0px;
}

.point .text p{

  text-align: left;

}

}

h2.top_contents_recommend{
  text-align: center;
  padding: 0 0 ;
  position: relative;
  font-weight: 600;
  font-size: 22px;
  margin: 10px 0;
}


h2.baked{
    border-bottom: solid 3px #fabeaf;
    color: #000000;
    font-weight: bold;
    margin: 1em 0 1em;
    padding: 0em 0 0.5rem;
    text-align: center;
}

/*h2.mincho {
  color: #634858;
  font-size: 24px;
  line-height: 1.8;
  border-bottom: none;
  font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
}

.mincho {
  color: #634858;

  line-height: 1.8;
  border-bottom: none;
  font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
}*/


/*page-top*/
.block-page-top {
  position: fixed;
  top: auto;
  bottom: 10px;
  right: 26px;
  /*display: none;*/
  z-index: 100;
}
.block-page-top a::after {
  content: "";
  display: block;
  position: absolute;
  width: 16px;
  height: 16px;
  border-right: 2px solid #fff;
  border-top: 2px solid #fff;
  transform: rotate(-45deg);
  left: 50%;
  top: 50%;
  margin-top: -4px;
  margin-left: -8px;
}

.block-page-top a {
  position: relative;
  display: block;
  width: 54px;
  height: 54px;
  background-color: #444;
}

/*details*/


.kv img {
  max-width: 100%;
}



.collection_items img {
  max-width: 100%;
    vertical-align: bottom;
}

.title_collection {
  margin: 0px auto 0;
  background-color: #afa0af;
  padding: 20px 0px;
  color: #421f1b;
  text-align: center;
}

/*▼▼ページ上にお知らせがある場合は「100px」▼▼*/

.title_collection_01 {
  padding-top: 130px;
  margin-top: -130px;
  /*padding-top: 100px;
  margin-top: -100px;*/
}

.title_collection_02 {
  padding-top: 130px;
  margin-top: -130px;
  /*padding-top: 100px;
  margin-top: -100px;*/
}

.title_collection_03 {
  padding-top: 130px;
  margin-top: -130px;
  /*padding-top: 100px;
  margin-top: -100px;*/
}

.title_collection_04 {
  padding-top: 130px;
  margin-top: -130px;
  /*padding-top: 100px;
  margin-top: -100px;*/
}

.title_collection_05 {
  padding-top: 130px;
  margin-top: -130px;
  /*padding-top: 100px;
  margin-top: -100px;*/
}

.title_collection_06 {
  padding-top: 130px;
  margin-top: -130px;
  /*padding-top: 100px;
  margin-top: -100px;*/
}
/*▲▲ページ上にお知らせがある場合は「100px」▲▲*/

.hina_top {
  padding-top: 100px;
  margin-top: -100px;
}

.collection_items {
  background: #f5efe4;
  padding: 20px 0 10px;
}

.list__special {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 1em 0;

}



.hw_2023_layout_same {
  padding: 0 2%;
}

.order1 {
  order: 1;
}

.list__special_img_half {
width: 50%;
  margin: 0 auto 5px;
  /*padding: 0 1.5rem 0 1.5rem;*/
  object-fit: contain;
}

.list__special_img_half .collection_img {

  padding: 0 0;
}

.order0 {
  order: 0;
}

.list__special_text_half {
width: 50%;
  margin: 0 auto 50px;
  padding: 0 2rem 0 2rem;
  text-align: left;

}

.list__special_text_half .mincho {
  font-size: 18px;
}

.list__special_text_half h3 {
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -.01em;
  text-align: center;
  margin: 20px 0 20px;
  color: #231815;
}
.list__special_text_half img {
 width: 40%;

}

.list__special_text_half p {
  font-size: 16px;
}

.collection_items p {
  color: #421f1b;
}


.collection_img {
  border: 1px solid #afa0af;
  /*padding: 0rem;
  padding: .5rem;*/
  background: #fff;
  text-align: center;
  /*align-items: center;
  justify-content: center;*/
  border-radius: 10px;
  overflow: hidden;
  position: relative;
}

.mb20{
  margin-bottom: 20px;
}




.list__special .ichiran_bak::before {
  content: "";
  margin: auto;
  position: absolute;
  top: 20px;
  bottom: 0;
  right: 0em;
  left: -11.5em;
  width: 10px;
  height: 10px;
  border-top: 2px solid #000;
  border-left: 2px solid #000;
  transform: rotate(-45deg);
}
.list__special .ichiran_bak p {
  margin: 1em 0 0 1.5em;
}

@media screen and (max-width: 799px) {
  .list__special, .boulangerie .list__special {
    display: block;
  }

    .list__special_img_half, .list__special_text_half {
    padding: 0 10px;
    width: 100%;
    margin: 0 auto 0px;
  }

    .list__special_img_half, .list__special_text_half {
    padding: 0 10px;
    width: 100%;
    margin: 0 auto 0px;
  }

    .brand_collection h3 {
    padding: 0rem 0.5rem 0rem;
  }
}

.lead_h3{
    text-align: center;
    font-weight: 700;
    font-size: 110%;
    color: #cc0000 !important;
}