@charset "UTF-8";
/*---------------------------------------------------------------------------
PC/SP共通
---------------------------------------------------------------------------*/
.mb_none {
 margin-bottom: 0 !important;
}
#news .news_txt a {
 text-decoration: underline;
}
/*---------------------------------------------------------------------------
device 768px以上
---------------------------------------------------------------------------*/
@media screen and (min-width: 768px) {
 .fs-c-heading--page {
  font-size: 28px;
  font-weight: bold;
  padding: 0 0 20px !important;
  margin-bottom: 60px;
  color: #333;
  border-color: #333;
 }
 .page_wrap {
  border: solid 1px #333;
  padding: 60px;
 }
 .page_wrap:nth-child(n+2) {
  margin-top: 40px;
 }
 .page_wrap h2 {
  font-size: 26px;
  font-weight: bold;
  margin-bottom: 30px;
  padding-bottom: 35px;
  border-bottom: solid 1px #ddd;
  line-height: 1;
 }
 .page_wrap p {
  margin-bottom: 30px;
 }
 .img_left,
 .img_right {
  display: flex;
  flex-wrap: wrap;
 }
 .img_left .img1 {
  order: 1;
  height: 100%;
 }
 .img_left .txt_area {
  order: 2;
 }
 .img_right .img1 {
  order: 2;
  height: 100%;
 }
 .img_right .txt_area {
  order: 1;
 }
 /* 店舗情報 ------------------------------*/
 #shoplist .ttl2 {
  margin-bottom: 60px;
 }
 #shoplist .btn_area {
  display: flex;
  justify-content: center;
  margin-bottom: 40px;
 }
 #shoplist .btn_area .btn1 {
  width: 240px;
  margin: 0 15px;
 }
 #shoplist .btn_area .active {
  background: #333;
  color: #fff;
  pointer-events: none;
 }
 #shoplist .shop_nav dl {
  border-bottom: solid 1px #ddd;
  padding: 20px 0;
 }
 #shoplist .shop_nav dl:first-child {
  border-top: solid 1px #ddd;
 }
 #shoplist .shop_nav dt {
  /* width: 110px; 広島チョコラトリー追加 */
  width: 180px;
  font-size: 15px;
  font-weight: bold;
  float: left;
 }
 #shoplist .shop_nav dd {
  font-size: 15px;
  position: relative;
  margin-left: 110px;
  padding-left: 70px;
 }
 #shoplist .shop_nav dd span {
  width: 70px;
  font-weight: bold;
  position: absolute;
  top: 0;
  left: 0;
 }
 #shoplist .shop_nav dd:nth-child(n+2) {
  margin-top: 10px;
 }
 #shoplist .shop_nav ul {
  display: flex;
  flex-wrap: wrap;
 }
 #shoplist .shop_nav li {
  margin-right: 10px;
 }
 #shoplist .shop_nav li:after {
  content: "｜";
  margin-left: 10px;
 }
 #shoplist .shop_nav li:last-child::after {
  display: none;
  margin-left: 0;
 }
 #shoplist .txt_area {
  margin: 40px 0;
 }
 #shoplist .txt_area p {
  margin-bottom: 0.6em;
 }
 #shoplist .txt_area li:nth-child(n+2) {
  margin-top: 15px;
 }
 #shoplist .shop_list h2 {
  font-size: 16px;
  font-weight: bold;
  color: #999;
  background: #f0f0f0;
  padding: 0 15px;
  height: 40px;
  line-height: 40px;
 }
 #shoplist .shop_list li {
  display: flex;
  justify-content: space-between;
  padding: 25px 0 30px;
 }
 #shoplist .shop_list li:nth-child(n+2) {
  border-top: solid 1px #333;
  padding-top: 30px;
 }
 #shoplist .shop_list .shop_data {
  /*width: 580px;*/
  flex: 1;
 }
 #shoplist .shop_list h3 {
  font-size: 26px;
  font-weight: bold;
  margin-bottom: 25px;
 }
 #shoplist .shop_list h3 span {
  display: block;
  font-size: 18px;
  line-height: 1;
  margin-bottom: 5px;
 }
 #shoplist .shop_list p {
  font-size: 15px;
 }
 #shoplist .shop_list .shop_img {
  width: 240px;
  margin-left: 20px;
 }
 #shoplist .shop_list iframe {
  width: 300px;
  height: 300px;
  margin-left: 20px;
 }
 /* 催事情報 ------------------------------*/
 #other_event h1 {
  margin-bottom: 60px;
 }
 #other_event .btn_area {
  display: flex;
  justify-content: center;
  margin-bottom: 40px;
 }
 #other_event .btn_area .btn1 {
  width: 240px;
  margin: 0 15px;
 }
 #other_event .btn_area .active {
  background: #333;
  color: #fff;
  pointer-events: none;
 }
 #other_event .txt_area {
  margin-bottom: 40px;
 }
 #other_event .txt_area p {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
 }
 #other_event .txt_area p span {
  font-size: 14px;
  font-weight: normal;
 }
 #other_event .area_list {
  background: #f9f9f9;
  padding: 65px 50px;
 }
 #other_event .area_list dt {
  width: 100px;
  text-align: right;
  float: left;
  padding-bottom: 40px;
 }
 #other_event .area_list dt:last-child {
  padding-bottom: 0;
 }
 #other_event .area_list dd {
  margin-left: 140px;
  padding-bottom: 40px;
 }
 #other_event .area_list dd:last-child {
  padding-bottom: 0;
 }
 #other_event .area_list ul {
  display: flex;
  flex-wrap: wrap;
 }
 #other_event .area_list li {
  margin-right: 10px;
 }
 #other_event .area_list li:after {
  content: "｜";
  margin-left: 10px;
 }
 #other_event .area_list li:last-child::after {
  display: none;
  margin-left: 0;
 }
 #other_event .iframe-placeholder {
  background-image: url(../img/page/loading.gif);
  background-position: center center;
  background-repeat: no-repeat;
 }
 /* 特集・コンテンツ ------------------------------*/
 #special .ttl2 {
  margin-bottom: 60px;
 }
 #special .other_list {
  display: flex;
  flex-wrap: wrap;
 }
 #special .other_list li {
  margin-right: 40px;
  width: 450px;
 }
 #special .other_list li:nth-child(2n) {
  margin-right: 0;
 }
 #special .other_list li:nth-child(n+3) {
  margin-top: 40px;
 }
 #special .other_list li a {
  display: flex;
  align-items: center;
  width: 450px;
  background: #fff;
  font-size: 16px;
 }
 #special .other_list li p {
  margin-left: 30px;
 }
 #special .other_list li img {
  width: 150px;
 }
 /* ご利用ガイド ------------------------------*/
 #guide_tab {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  padding: 0 10px;
 }
 #guide_tab::before {
  content: "";
  width: 290px;
  display: block;
  margin: 0 5px;
  order: 1;
 }
 #guide_tab::after {
  content: "";
  width: 290px;
  display: block;
  margin: 0 5px;
 }
 #guide_tab .btn1 {
  width: 290px;
  margin: 0 5px;
 }
 #guide_tab .btn1:nth-child(n+4) {
  margin-top: 10px;
 }
 #guide .guide_box {
  border: solid 1px #333;
  padding: 60px;
 }
 #guide .guide_box:nth-child(n+2) {
  margin-top: 40px;
 }
 #guide .guide_box h2 {
  font-size: 26px;
  font-weight: bold;
  margin-bottom: 35px;
  padding-bottom: 35px;
  line-height: 1.4;
  border-bottom: solid 1px #ddd;
 }
 #guide .guide_box h3 {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 0.2em;
 }
 #guide .guide_box h3:before {
  content: "■";
 }
 #guide .guide_box h3:nth-child(n+2) {
  margin-top: 30px;
 }
 #guide .guide_box p {
  margin-bottom: 30px;
 }
 #guide .guide_box p:last-child {
  margin-bottom: 0;
 }
 #guide .guide_box p a {
  text-decoration: underline;
 }
 #guide .guide_box ul {
  margin-bottom: 30px;
 }
 #guide .guide_box table {
  margin-bottom: 30px;
 }
 #guide .guide_box table th,
 #guide .guide_box table td {
  vertical-align: middle;
  text-align: center;
  font-weight: normal;
  padding: 25px;
  border: solid 1px #ddd;
 }
 #guide .guide_box table th {
  background: #f5f5f5;
 }
 #guide .guide_box table .td_right {
  text-align: right;
 }
 #guide .guide_box .ta_grid {
  display: grid;
  margin-bottom: 30px;
 }
 #guide .guide_box .ta_grid div {
  align-items: center;
  justify-content: center;
  display: flex;
  border: solid 1px #ddd;
 }
 #guide .guide_box .ta_grid .th_grid {
  background: #f5f5f5;
  padding: 20px;
 }
 #guide .guide_box .ta_grid .td_grid {
  padding: 20px;
  border-left: none;
 }
 #guide .guide_box .ta1 {
  grid-template-columns: 150px 270px 284px;
 }
 #guide .guide_box .ta1 .th_grid {
  background: #f5f5f5;
  padding: 20px;
 }
 #guide .guide_box .rhombus li::before {
  content: "◇";
 }
 #guide .guide_box ol {
  margin-bottom: 30px;
  list-style: none;
 }
 #guide .guide_box ol li {
  margin-bottom: 30px;
  line-height: 1;
 }
 #guide .guide_box ol li .btn1 {
  margin-top: 30px;
 }
 #guide .guide_box .letter {
  letter-spacing: 0.05em;
 }
 #guide .guide_box .tel_b {
  font-size: 32px;
 }
 #guide .guide_box .btn1 {
  width: 230px;
  height: 45px;
  line-height: 45px;
  margin: 0 20px 30px 0;
 }
 #guide .guide_box .btn_list {
  display: flex;
  justify-content: flex-start;
 }
 /* ご注文の流れ ------------------------------*/
 #order_flow dl {
  padding-left: 80px;
 }
 #order_flow dl a {
  text-decoration: underline;
 }
 #order_flow dl a:hover {
  text-decoration: none;
 }
 #order_flow dt {
  font-size: 24px;
  font-weight: bold;
  display: flex;
  align-items: center;
  line-height: 1.4;
  min-height: 60px;
  margin-bottom: 20px;
  position: relative;
 }
 #order_flow dt i {
  font-size: 22px;
  font-weight: bold;
  text-align: center;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  font-style: normal;
  color: #fff;
  background: #333;
  border-radius: 30px;
  width: 60px;
  height: 60px;
  padding-left: 2px;
  position: absolute;
  left: -80px;
 }
 #order_flow dt i sub {
  font-size: 12px;
  font-weight: normal;
  display: block;
  line-height: 1;
  position: relative;
  top: 3px;
 }
 #order_flow dd {
  margin-bottom: 60px;
 }
 #order_flow dd:last-child {
  margin-bottom: 0;
 }
 #order_flow dd .btn1 {
  width: 230px;
  height: 45px;
  line-height: 45px;
  margin: 30px 0 0;
 }
 /* よくある質問 ------------------------------*/
 .faq_txt {
  text-align: center;
  margin: 0 0 20px;
 }
 .page_tab {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 60px;
  /*padding: 25px 0;*/
 }
 .page_tab::before {
  content: "";
  width: 290px;
  margin: 0 5px;
  order: 1;
 }
 .page_tab::after {
  content: "";
  width: 290px;
  margin: 0 5px;
 }
 .page_tab .btn1 {
  width: 290px;
  height: 64px;
  line-height: 64px;
  margin: 0 5px;
 }
 .page_tab .btn1:nth-child(n+4) {
  margin-top: 10px;
 }
 .page_tab .active {
  background: #333;
  color: #fff;
  border: none;
  pointer-events: none;
 }
 .faq_area {
  border: solid 1px #333;
  padding: 60px;
 }
 .faq_area:nth-child(n+2) {
  margin-top: 40px;
 }
 .faq_area h2 {
  font-size: 26px;
  font-weight: bold;
  margin-bottom: 35px;
  line-height: 1;
 }
 .faq_area dl {
  border-bottom: solid 1px #ddd;
 }
 .faq_area dt {
  font-weight: bold;
  border-top: solid 1px #ddd;
  padding: 25px 35px 25px 55px;
  position: relative;
  cursor: pointer;
 }
 .faq_area dt::before {
  content: "Q";
  display: flex;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  border-radius: 18px;
  font-weight: bold;
  background: #333;
  color: #fff;
  position: absolute;
  top: 18px;
  left: 0;
 }
 .faq_area dt::after {
  content: "";
  display: block;
  background: url(../img/common/icon_plus.svg) no-repeat;
  background-size: 16px auto;
  width: 16px;
  height: 16px;
  position: absolute;
  top: 29px;
  right: 15px;
 }
 .faq_area .on::after {
  content: "";
  display: block;
  background: url(../img/common/icon_minus.svg) no-repeat;
  background-size: 16px auto;
  width: 16px;
  height: 1px;
  position: absolute;
  top: 36px;
  right: 15px;
 }
 .faq_area dd {
  display: none;
  padding: 0px 35px 25px 55px;
  /* margin-top: -25px; */
  position: relative;
 }
 .faq_area dd::before{
  content:"";
  display:block;
  padding-top:6px;
 }
 .faq_area dd::after {
  content: "A";
  display: flex;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  border-radius: 18px;
  font-weight: bold;
  background: #ddd;
  position: absolute;
  top: 0px;
  left: 0;
 }
 /* ギフトサービスのご案内：手提げ袋・のし・短冊など ------------------------------*/
 #page_gift .page_wrap p a {
  text-decoration: underline;
 }
 #page_gift .page_wrap p a:hover {
  text-decoration: none;
 }
 #page_gift .page_tab {
  /*padding: 0 10px;*/
 }
 #page_gift .gift_nav {
  margin-top: 60px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0 auto;
 }
 #page_gift .gift_nav li {
  margin-bottom: 1em;
 }
 #page_gift .gift_nav li:nth-child(n+2)::before {
  content: "｜";
  margin: 0 20px;
 }
 #page_gift .gift_nav li a:hover {
  text-decoration: underline;
  opacity: 10;
 }
 #page_gift .txt_area h3 {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 0.2em;
 }
 #page_gift .txt_area h3:before {
  content: "■";
 }
 #page_gift .img_left:nth-child(n+2) {
  margin-top: 30px;
 }
 #page_gift .img_left .txt_area {
  width: calc(100% - 30px - 260px);
  margin-left: 30px;
 }
 #page_gift .img_right:nth-child(n+2) {
  margin-top: 30px;
 }
 #page_gift .img_right .txt_area {
  width: calc(100% - 30px - 390px);
  margin-right: 30px;
 }
 #page_gift .page_wrap .btn1 {
  width: 230px;
  height: 45px;
  line-height: 45px;
  margin: 0;
  letter-spacing: 0.05em;
 }
 #page_gift .page_wrap picture {
  display: block;
  text-align: center;
 }
 #page_gift .flex_wrap {
  display: flex;
  align-items: flex-start;
  justify-content: center;
 }
 #page_gift .flex_wrap p {
  flex: 1;
 }
 #page_gift .flex_wrap1 img {
  margin-left: 20px;
 }
 #page_gift #id_6 p {
  margin-top: 40px;
  margin-bottom: 0;
 }
 #page_gift #id_7 .txt_area {
  flex: 1;
 }
 #page_gift #id_7 picture {
  width: 280px
 }
 /* ギフトサービスのご案内：のし・短冊のご指定方法 ------------------------------*/
 #page_noshi dl a {
  text-decoration: underline;
 }
 #page_noshi dl a:hover {
  text-decoration: none;
 }
 #page_noshi dt {
  display: flex;
  align-items: center;
  margin-bottom: 30px;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.4;
 }
 /*#page_noshi dt .red {
    font-size: 15px;
    width: 100%;
  }*/
 #page_noshi dt i {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
  border-radius: 100px;
  margin-right: 15px;
  color: #fff;
  background: #333;
  font-weight: bold;
  font-style: normal;
  text-align: center;
  font-size: 22px;
 }
 #page_noshi dt i sub {
  display: block;
  line-height: 1;
  font-size: 12px;
  font-weight: normal;
 }
 #page_noshi dt p {
  flex: 1;
 }
 #page_noshi dd {
  margin: 30px 0 80px;
 }
 #page_noshi dd:last-child {
  margin-bottom: 0;
 }
 /*#page_noshi dd .btn1 {
  width: 230px;
  height: 45px;
  line-height: 45px;
  margin: 30px 0 0;
 }*/
 /* ギフトサービスのご案内：複数のお届け先のご注文方法 ------------------------------*/
 #page_deliver .deliver_nav {
  margin: 60px 0;
  display: flex;
  justify-content: center;
  align-items: center;
 }
 #page_deliver .deliver_nav li {
  display: flex;
  justify-content: center;
  align-items: center;
 }
 #page_deliver .deliver_nav li:nth-child(n+2)::before {
  content: "";
  height: 3em;
  margin: 0 20px;
  border-left: solid 1px #333;
 }
 #page_deliver .deliver_nav li a:hover {
  text-decoration: underline;
  opacity: 10;
 }
 #page_deliver .cnt {
  margin-top: 60px;
 }
 #page_deliver .cnt a {
  text-decoration: underline;
 }
 #page_deliver .cnt a:hover {
  text-decoration: none;
 }
 #page_deliver h3 {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.4;
  padding: 0.5em;
  margin-bottom: 40px;
  background: #f5f5f5;
 }
 #page_deliver .cnt .txt {
  margin: 30px 0;
 }
 #page_deliver #cnt1 img {
  display: block;
  margin: 0 auto;
 }
 #page_deliver #cnt2 dt {
  display: flex;
  align-items: center;
  margin-bottom: 30px;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.4;
 }
 #page_deliver #cnt2 dt i {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
  border-radius: 100px;
  margin-right: 15px;
  color: #fff;
  background: #333;
  font-weight: bold;
  font-style: normal;
  text-align: center;
  font-size: 22px;
 }
 #page_deliver #cnt2 dt i sub {
  display: block;
  line-height: 1;
  font-size: 12px;
  font-weight: normal;
 }
 #page_deliver #cnt2 dt p {
  flex: 1;
 }
 #page_deliver #cnt2 dt p span {
  display: block;
  font-size: 15px;
 }
 #page_deliver #cnt2 dd {
  margin: 30px 0 80px;
 }
 #page_deliver #cnt2 dd:last-child {
  margin-bottom: 0;
 }
 .page_deliver .faq_area {
  margin-top: 40px;
 }
 /* 共楽堂とは ------------------------------*/
 /* 最新情報 ------------------------------*/
 #news h2 {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.4;
  padding: 0.5em;
  margin-bottom: 40px;
  background: #f5f5f5;
 }
 #news article {
  display: flex;
  border-bottom: solid 1px #ddd;
  margin-bottom: 35px;
  padding-bottom: 60px;
 }
 #news article:last-child {
  margin-bottom: 0;
  border-bottom: none;
 }
 #news .news_status {
  width: 150px;
 }
 #news .news_status span {
  display: block;
  margin-bottom: 10px;
 }
 #news .news_status .news_icon,
 #news .news_status .imp_icon,
 #news .news_status .event_icon,
 #news .news_status .media_icon {
  width: 64px;
  height: 23px;
  line-height: 23px;
  text-align: center;
  font-size: 14px;
  color: #fff;
 }
 #news .news_status .news_icon {
  background: #aaaaaa;
 }
 #news .news_status .imp_icon {
  background: #ab2346;
 }
 #news .news_status .event_icon {
  background: #577f4c;
 }
 #news .news_status .media_icon {
  background: #2364aa;
 }
 #news .news_txt {
  width: calc(100% - 150px);
 }
 #news .news_txt h3 {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 30px;
  color: #333 !important;
 }
 #news .backnumber {
  margin-bottom: 60px;
  padding: 30px;
  background: #f5f5f5;
 }
 #news .backnumber ul {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  padding: 0px;
  margin: 0px;
 }
 #news .backnumber ul li {
  padding: 5px;
 }
 #news .backnumber a {
  font-size: 14px;
  text-decoration: underline;
  padding: 5px;
  line-height: 1;
 }
 #news .backnumber a:hover {
  color: #fff;
  background: #333;
  text-decoration: none;
 }
 #news .backnumber a.current {
  color: #fff;
  background: #333;
  text-decoration: none;
 }
 /* 最新情報 旧レイアウト*/
 .page_news h2 {
  font-size: 18px;
  font-weight: bold;
  height: 1.4;
  padding: 0.5em;
  margin-bottom: 40px;
  background: #f5f5f5;
 }
 .page_news dl {
  display: flex;
  flex-wrap: wrap;
 }
 .page_news dt {
  width: 150px;
  border-bottom: 1px solid #ddd;
  margin-bottom: 35px;
 }
 .page_news dt:nth-last-child(2) {
  border-bottom: none;
  margin-bottom: 0;
 }
 .page_news dt span {
  display: block;
  margin-bottom: 10px;
 }
 .page_news dt .news_icon,
 .page_news dt .imp_icon,
 .page_news dt .event_icon,
 .page_news dt .media_icon {
  width: 64px;
  height: 23px;
  line-height: 23px;
  text-align: center;
  font-size: 14px;
  color: #fff;
 }
 .page_news dt .news_icon {
  background: #aaaaaa;
 }
 .page_news dt .imp_icon {
  background: #ab2346;
 }
 .page_news dt .event_icon {
  background: #577f4c;
 }
 .page_news dt .media_icon {
  background: #2364aa;
 }
 .page_news dd {
  width: calc(100% - 150px);
  margin-bottom: 35px;
  padding-bottom: 60px;
  border-bottom: 1px solid #ddd;
 }
 .page_news dd:last-child {
  border-bottom: none;
  margin-bottom: 0;
 }
 .page_news dd span {
  display: inline-block;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 5px;
 }
 .page_news dd > b {
  font-size: 18px;
  line-height: 1.4;
 }
 /*==================================================お友達＆ID連携==================================================*/
 .page_line strong {
  font-weight: bold;
 }
 .page_line .page_cmn_nav.mv {
  padding: 30px 0;
 }
 .page_line .mv p {
  text-align: center;
 }
 .page_line .mv p:nth-of-type(2) {
  padding-top: 20px;
 }
 .page_line .plink ul {
  display: flex;
  justify-content: space-between;
 }
 .page_line .note {
  margin: 30px 0;
  font-size: 14px;
 }
 .page_line .pl {
  margin: 40px 0 60px;
  padding-top: 20px;
 }
 .page_line .icon_circle {
  margin-bottom: 40px;
  padding: 0 0px 5px 30px;
  background: url(https://kyorakudo.itembox.design/item/kyorakudo/img/pc/page/icon_circle_bk.png) no-repeat left top;
  border-bottom: 4px solid #1b1b1b;
  font-size: 18px;
  font-weight: bold;
 }
 .page_line h4 {
  display: flex;
  align-items: center;
  margin: 60px 0 40px;
 }
 .page_line h4 em {
  flex: 1;
  font-size: 22px;
  font-weight: bold;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  line-height: 1.4;
 }
 .page_line h4 i {
  display: block;
  width: 80px;
  height: 80px;
  margin-right: 15px;
  background-size: contain;
  background-repeat: no-repeat;
 }
 .page_line .method1 h4 i {
  background-image: url(https://kyorakudo.itembox.design/item/kyorakudo/img/pc/page/line/method1_icon.png);
 }
 .page_line .method2 h4 i {
  background-image: url(https://kyorakudo.itembox.design/item/kyorakudo/img/pc/page/line/method2_icon.png);
 }
 .page_line .step1 h4 i {
  background-image: url(https://kyorakudo.itembox.design/item/kyorakudo/img/pc/page/line/step1_icon.png);
 }
 .page_line .step2 h4 i {
  background-image: url(https://kyorakudo.itembox.design/item/kyorakudo/img/pc/page/line/step2_icon.png);
 }
 .page_line .step3 h4 i {
  background-image: url(https://kyorakudo.itembox.design/item/kyorakudo/img/pc/page/line/step3_icon.png);
 }
 .page_line .step4 h4 i {
  background-image: url(https://kyorakudo.itembox.design/item/kyorakudo/img/pc/page/line/step4_icon.png);
 }
 .page_line .step5 h4 i {
  background-image: url(https://kyorakudo.itembox.design/item/kyorakudo/img/pc/page/line/step5_icon.png);
 }
 .page_line .step6 h4 i {
  background-image: url(https://kyorakudo.itembox.design/item/kyorakudo/img/pc/page/line/step6_icon.png);
 }
 .page_line .method dt {
  margin-bottom: 30px;
  font-weight: bold;
  font-size: 18px;
 }
 .page_line .method .capture img {
  margin-bottom: 20px;
 }
 .page_line .qa_img img {
  display: inline-block;
  padding: 20px 0 10px 15px;
 }
 .page_line .flex_imgtxt {
  display: flex;
  margin-bottom: 60px;
  margin-left: 25px;
 }
 .page_line .flex_imgtxt .img {
  width: 180px;
  margin-right: 30px;
 }
 .page_line .flex_imgtxt .txt {
  flex: 1;
 }
 .page_line .page_cmn_nav .questions {
  padding-left: 1em;
 }
 .page_line .bottom_mv {
  margin-bottom: 40px;
 }
 .page_line .bottom_btn .over_border {
  position: relative;
  margin: 60px 0 40px;
  text-align: center;
 }
 .page_line .bottom_btn .over_border span {
  position: relative;
  z-index: 2;
  display: inline-block;
  margin: 0 2.5em;
  padding: 0 0.5em;
  background-color: #fff;
  font-size: 18px;
  font-weight: bold;
 }
 .page_line .bottom_btn .over_border::before {
  position: absolute;
  top: 50%;
  z-index: 1;
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background-color: #404040;
 }
 .page_line .bottom_btn p {
  text-align: center;
 }
 .page_line .bottom_btn .txt {
  margin: 40px 0 20px;
 }
 /* visumo--------------------------------------------------------------*/
 .vsm-gallery .ecbn-selection-page-wrapper {
  margin: 0 !important;
 }
 .visumo-tag {
  /*margin: 40px 0;*/
 }
 .vsm-slider {
  /* margin: 40px 0; */
 }
 /* タイトル */
 .ecbn-selection-wrapper .ecbn-selection-title,
 .ecbn-selection-page-wrapper .ecbn-selection-title {
  margin: 0 !important;
  padding: 1.5em 0 0.5em !important;
  font-size: 24px !important;
  font-family: inherit !important;
 }
 /* 説明文 */
 .ecbn-selection-wrapper .ecbn-selection-description,
 .ecbn-selection-page-wrapper .ecbn-selection-description {
  margin-top: 0 !important;
  padding-bottom: 2em !important;
  font-size: 14px !important;
  letter-spacing: initial !important;
  line-height: initial !important;
 }
 /* キャプション > ユーザー名 */
 .ecbn-selection-item .ecbn-selection-user {
  font-size: 14px !important;
  font-weight: normal !important;
 }
 /* タブ切替タイプ --------------------*/
 /* タグの配置 */
 .ecbn-selection-wrapper .ecbn-selection-page-tabs-area .ecbn-selection-page-tabs,
 .ecbn-selection-page-wrapper .ecbn-selection-page-tabs-area .ecbn-selection-page-tabs {
  text-align: center !important;
  display: flex !important;
  /*justify-content: center !important;*/
  align-items: center !important;
  flex-wrap: wrap !important;
 }
 /* 実際のタグ(余白こみ) */
 .ecbn-selection-wrapper .ecbn-selection-page-tabs-area .ecbn-selection-page-tabs li,
 .ecbn-selection-page-wrapper .ecbn-selection-page-tabs-area .ecbn-selection-page-tabs li {
  font-size: 14px !important;
  padding: 4px !important;
  width: calc(100% / 4) !important;
  vertical-align: middle !important;
 }
 /* 実際のタグ */
 .ecbn-selection-wrapper .ecbn-selection-page-tabs-area .ecbn-selection-page-tabs li a,
 .ecbn-selection-page-wrapper .ecbn-selection-page-tabs-area .ecbn-selection-page-tabs li a {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  height: 3em !important;
  padding: 0 !important;
  background: #fff !important;
  color: #333 !important;
  border: solid 1px #333 !important;
  font-size: 14px !important;
  font-weight: bold !important;
 }
 /* 実際のタグ(選択中) */
 .ecbn-selection-wrapper .ecbn-selection-page-tabs-area .ecbn-selection-page-tabs li.ecbn-selection-page-tabs--active a,
 .ecbn-selection-wrapper .ecbn-selection-page-tabs-area .ecbn-selection-page-tabs li.ecbn-selection-page-tabs--active a,
 .ecbn-selection-page-wrapper .ecbn-selection-page-tabs-area .ecbn-selection-page-tabs li.ecbn-selection-page-tabs--active a {
  background-color: #333 !important;
  border: none !important;
 }
 /* オンマウス時対応 */
 .ecbn-selection-wrapper .ecbn-selection-page-tabs-area .ecbn-selection-page-tabs li a:hover,
 .ecbn-selection-page-wrapper .ecbn-selection-page-tabs-area .ecbn-selection-page-tabs li a:hover {
  background-color: #333 !important;
 }
 /* マイページ ------------------------------*/
 .fs-c-accountService__page--accountDelete {
  text-decoration: underline !important;
  margin-top: 20px !important;
  font-size: 80% !important;
 }
 /* メディア情報 PC ------------------------------*/
 .page_media .backnumber {
  margin-bottom: 60px;
  padding: 30px;
  background: #f5f5f5;
 }
 .page_media h3 {
  margin: 0;
  padding: 0;
  margin-bottom: 0.5em;
 }
 .page_media .backnumber ul {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  padding: 0px;
  margin: 0px;
 }
 .page_media .backnumber ul li {
  padding: 5px;
 }
 .page_media .backnumber a {
  font-size: 14px;
  text-decoration: underline;
  padding: 5px;
  line-height: 1;
 }
 .page_media .backnumber a:hover {
  color: #fff;
  background: #333;
  text-decoration: none;
 }
 .page_media .backnumber a.current {
  color: #fff;
  background: #333;
  text-decoration: none;
 }
 .media_detail {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: nowrap;
  margin-bottom: 40px;
 }
 .page_media h4 {
  margin: 0.5em 0 1.5em;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.4;
 }
 .page_media .media_detail a {
  text-decoration: underline;
 }
 .page_media .media_detail a:hover {
  text-decoration: none;
 }
 .page_media .media_detail .medialeft {}
 .page_media .media_detail .medialeft img {
  width: 250px;
  height: 250px;
  object-fit: contain;
  padding: 10px;
  background: #fff;
  border: solid 1px #333;
 }
 .page_media .media_detail .mediaright {
  width: 660px;
 }
 /* 404 --------------------------------------*/
 .fs-body-notfound .top_recommend{
  width: 100%;
  padding: 0;
  margin: 0 0 60px 0;
  }
  .fs-body-notfound .top_recommend h2{
  font-size: 32px;
  margin-bottom: 20px;
  }
  .fs-body-notfound .top_recommend ul {
  display: flex;
  justify-content: space-between;
  }
  .fs-body-notfound .top_recommend li {
  flex: 1;
  margin-left: 12px;
  }
  .fs-body-notfound .top_recommend li:first-of-type {
  margin-left: 0;
  }
  .fs-body-notfound .top_recommend li h3 {
  margin-top: 0.5em;
  font-size: 20px;
  text-align: center;
  }
  .fs-body-notfound .top_recommend li p{
  display: none;
  }
  .fs-body-notfound .top_recommend .cnt_box dl {
  display: flex;
  }
  .fs-body-notfound .top_recommend .cnt_box dt {
  flex: 1;
  }
  .fs-body-notfound .top_recommend .cnt_box dd {
  width: 350px;
  margin-left: 30px;
  }
  .fs-body-notfound .top_recommend .cnt_box .btn1 {
  display: inline-block;
  width: 250px;
  margin: 40px 10px 0 0;
  }
 /* お問い合わせ ------------------------------*/
}
/* 768以上 end ------------------------------*/
/*---------------------------------------------------------------------------
device 767px以下
---------------------------------------------------------------------------*/
@media screen and (max-width: 767px) {
 .fs-c-heading--page {
  font-size: 22px;
  font-weight: bold;
  padding: 0 0 15px !important;
  margin-bottom: 40px;
  color: #333;
  border-color: #333;
 }
 .page_wrap {
  border-top: solid 1px #333;
  padding: 30px 0 0;
 }
 .page_wrap:nth-child(n+2) {
  margin-top: 40px;
 }
 .page_wrap h2 {
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 35px;
  line-height: 1.4;
 }
 .page_wrap p {
  margin-bottom: 25px;
 }
 /* 店舗情報 ------------------------------*/
 #shoplist .ttl2 {
  margin-bottom: 40px;
 }
 #shoplist .btn_area {
  display: flex;
  justify-content: center;
  margin-bottom: 30px;
 }
 #shoplist .btn_area .btn1 {
  width: 156px;
  margin: 0 7px;
 }
 #shoplist .btn_area .active {
  background: #333;
  color: #fff;
  pointer-events: none;
 }
 #shoplist .shop_nav dl {
  border-bottom: solid 1px #ddd;
  padding: 15px 0;
 }
 #shoplist .shop_nav dl:first-child {
  border-top: solid 1px #ddd;
 }
 #shoplist .shop_nav dt {
  font-size: 14px;
  font-weight: bold;
  position: relative;
 }
 #shoplist .shop_nav dt::after {
  content: "";
  display: block;
  background: url(../img/common/icon_plus.svg) no-repeat;
  background-size: 14px auto;
  width: 14px;
  height: 14px;
  position: absolute;
  top: 4px;
  right: 8px;
 }
 #shoplist .shop_nav .on::after {
  background: url(../img/common/icon_minus.svg) no-repeat;
  top: 9px;
  right: 8px;
 }
 #shoplist .shop_nav dt + div {
  display: none;
  margin-top: 25px;
 }
 #shoplist .shop_nav dd {
  font-size: 13px;
 }
 #shoplist .shop_nav dd span {
  display: block;
  font-weight: bold;
  line-height: 1;
 }
 #shoplist .shop_nav dd:nth-child(n+2) {
  margin-top: 15px;
 }
 #shoplist .shop_nav ul {
  display: flex;
  flex-wrap: wrap;
 }
 #shoplist .shop_nav li {
  margin-top: 10px;
  margin-right: 10px;
  line-height: 1;
  letter-spacing: 0;
 }
 #shoplist .shop_nav li:after {
  content: "｜";
  margin-left: 10px;
 }
 #shoplist .shop_nav li:last-child::after {
  display: none;
  margin-left: 0;
 }
 #shoplist .txt_area {
  margin: 40px 0;
 }
 #shoplist .txt_area p {
  margin-bottom: 0.6em;
 }
 #shoplist .txt_area li:nth-child(n+2) {
  margin-top: 15px;
 }
 #shoplist .shop_list h2 {
  font-size: 14px;
  font-weight: bold;
  color: #999;
  background: #f0f0f0;
  padding: 0 15px;
  height: 40px;
  line-height: 40px;
 }
 #shoplist .shop_list li {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 25px 0;
 }
 #shoplist .shop_list li:nth-child(n+2) {
  border-top: solid 1px #333;
 }
 #shoplist .shop_list .shop_data {
  width: calc(100% - 20px - 130px);
 }
 #shoplist .shop_list h3 {
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 15px;
 }
 #shoplist .shop_list h3 span {
  display: block;
  font-size: 16px;
  line-height: 1;
  margin-bottom: 5px;
 }
 #shoplist .shop_list p {
  font-size: 12px;
 }
 #shoplist .shop_list .shop_img {
  width: 130px;
  margin-left: 20px;
 }
 #shoplist .shop_list iframe {
  margin-top: 20px;
  width: 100%;
  height: 200px;
 }
 /* 催事情報 ------------------------------*/
 #other_event h1 {
  margin-bottom: 40px;
 }
 #other_event .btn_area {
  display: flex;
  justify-content: center;
  margin-bottom: 40px;
 }
 #other_event .btn_area .btn1 {
  width: 156px;
  margin: 0 7px;
 }
 #other_event .btn_area .active {
  background: #333;
  color: #fff;
  pointer-events: none;
 }
 #other_event .txt_area {
  margin-bottom: 40px;
 }
 #other_event .txt_area p {
  font-size: 14px;
  font-weight: bold;
  text-align: center;
 }
 #other_event .txt_area p span {
  display: inline-block;
  font-size: 12px;
  font-weight: normal;
  text-align: left;
 }
 #other_event .area_list {
  background: #f9f9f9;
  padding: 25px 20px;
 }
 #other_event .area_list dt {
  line-height: 1;
 }
 #other_event .area_list dt:nth-child(n+2) {
  padding-top: 15px;
 }
 #other_event .area_list dd {
  padding-bottom: 15px;
  border-bottom: solid 1px #ddd;
 }
 #other_event .area_list dd:last-child {
  padding-bottom: 0;
  border: none;
 }
 #other_event .area_list ul {
  display: flex;
  flex-wrap: wrap;
 }
 #other_event .area_list li {
  margin-right: 10px;
  padding-top: 15px;
  line-height: 1;
 }
 #other_event .area_list li:after {
  content: "｜";
  margin-left: 10px;
 }
 #other_event .area_list li:last-child::after {
  display: none;
  margin-left: 0;
 }
 #other_event .iframe-placeholder {
  background-image: url(../img/page/loading.gif);
  background-position: center center;
  background-repeat: no-repeat;
 }
 /* 特集・コンテンツ ------------------------------*/
 #special .ttl2 {
  margin-bottom: 40px;
 }
 #special .other_list li:nth-child(n+2) {
  margin-top: 20px;
 }
 #special .other_list li a {
  display: flex;
  align-items: center;
  width: 100%;
  background: #fff;
  font-size: 14px;
 }
 #special .other_list li p {
  margin-left: 25px;
 }
 #special .other_list li img {
  width: 100px;
 }
 /* ご利用ガイド ------------------------------*/
 #guide_tab {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  /*padding: 30px 10px 10px;*/
 }
 #guide_tab::after {
  content: "";
  width: calc(50% - 10px);
  display: block;
  margin: 0 5px;
 }
 #guide_tab .btn1 {
  width: calc(50% - 10px);
  max-width: 250px;
  margin: 0 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.2;
 }
 #guide_tab .btn1:nth-child(n+3) {
  margin-top: 10px;
 }
 #guide .guide_box:nth-child(n+2) {
  margin-top: 50px;
 }
 #guide .guide_box h2 {
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 35px;
  padding-top: 30px;
  line-height: 1.4;
  border-top: solid 1px #ddd;
 }
 #guide .guide_box h3 {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 0.2em;
 }
 #guide .guide_box h3:before {
  content: "■";
 }
 #guide .guide_box h3:nth-child(n+2) {
  margin-top: 30px;
 }
 #guide .guide_box p {
  margin-bottom: 30px;
 }
 #guide .guide_box p:last-child {
  margin-bottom: 0;
 }
 #guide .guide_box p a {
  text-decoration: underline;
 }
 #guide .guide_box ul {
  margin-bottom: 30px;
 }
 #guide .guide_box table {
  width: 100%;
  margin-bottom: 30px;
 }
 #guide .guide_box table th,
 #guide .guide_box table td {
  vertical-align: middle;
  text-align: center;
  font-weight: normal;
  padding: 5px;
  border: solid 1px #ddd;
 }
 #guide .guide_box table th {
  background: #f5f5f5;
 }
 #guide .guide_box table .td_right {
  text-align: right;
 }
 #guide .guide_box .ta_grid {
  display: grid;
  margin-bottom: 30px;
 }
 #guide .guide_box .ta_grid div {
  align-items: center;
  justify-content: center;
  display: flex;
  border: solid 1px #ddd;
 }
 #guide .guide_box .ta_grid .th_grid {
  background: #f5f5f5;
 }
 #guide .guide_box .ta_grid .td_grid {
  padding: 10px;
  border-left: none;
 }
 #guide .guide_box .ta1 {
  grid-template-columns: 110px calc(100% - 110px);
 }
 #guide .guide_box .ta1 .th_grid {
  padding: 0;
  grid-area: 1/1/3/2;
 }
 #guide .guide_box .ta1 .td_grid:nth-child(3) {
  border-top: none;
 }
 #guide .guide_box .ta3 tr:nth-child(2) {
  display: none;
 }
 #guide .guide_box .ta3 th,
 #guide .guide_box .ta3 td {
  letter-spacing: 0;
 }
 #guide .guide_box .ta3 th:nth-child(n+2) {
  width: 96px;
 }
 #guide .guide_box .rhombus li::before {
  content: "◇";
 }
 #guide .guide_box ol {
  margin-bottom: 30px;
  list-style: none;
 }
 #guide .guide_box ol li {
  margin-bottom: 30px;
  line-height: 1.4;
 }
 #guide .guide_box ol li .btn1 {
  margin-top: 30px;
 }
 #guide .guide_box .letter {
  letter-spacing: 0.05em;
 }
 #guide .guide_box .tel_b {
  font-size: 18px;
 }
 #guide .guide_box .btn1 {
  width: 250px;
  height: 45px;
  line-height: 45px;
  margin: 0 auto 30px;
 }
 #guide .guide_box .m_none {
  margin-bottom: 0;
 }
 #guide .guide_box .btn_list .btn1 {
  margin-bottom: 15px;
 }
 /* ご注文の流れ ------------------------------*/
 #order_flow dl a {
  text-decoration: underline;
 }
 #order_flow dl a:hover {
  text-decoration: none;
 }
 #order_flow dt {
  font-size: 18px;
  font-weight: bold;
  display: flex;
  align-items: center;
  line-height: 1.4;
  min-height: 45px;
  margin-bottom: 15px;
  padding-left: 60px;
  position: relative;
 }
 #order_flow dt i {
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  font-style: normal;
  color: #fff;
  background: #333;
  border-radius: 30px;
  width: 45px;
  height: 45px;
  padding-left: 1px;
  position: absolute;
  left: 0px;
 }
 #order_flow dt i sub {
  font-size: 10px;
  font-weight: normal;
  display: block;
  line-height: 1;
  margin-bottom: 1px;
  position: relative;
  top: 3px;
 }
 #order_flow dd {
  margin-bottom: 40px;
 }
 #order_flow dd:last-child {
  margin-bottom: 0;
 }
 #order_flow dd .btn1 {
  width: 250px;
  height: 45px;
  line-height: 45px;
  margin-top: 30px;
 }
 /* よくある質問 ------------------------------*/
 .faq_txt {
  text-align: center;
  margin: 0 0 20px;
 }
 .page_tab {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 40px;
  /*padding: 25px 0;*/
 }
 .page_tab::before {
  content: "";
  width: calc(50% - 10px);
  max-width: 290px;
  margin: 0 5px;
  order: 1;
 }
 .page_tab::after {
  content: "";
  width: calc(50% - 10px);
  max-width: 290px;
  margin: 0 5px;
 }
 .page_tab .btn1 {
  width: calc(50% - 10px);
  max-width: 290px;
  height: 40px;
  margin: 0 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.2;
 }
 .page_tab .btn1:nth-child(n+3) {
  margin-top: 10px;
 }
 .page_tab .active {
  background: #333;
  color: #fff;
  border: none;
  pointer-events: none;
 }
 #faq .faq_area {
  padding-left: 0;
  padding-right: 0;
 }
 .faq_area {
  /*padding: 0 20px;*/
 }
 .faq_area:nth-child(n+2) {
  margin-top: 40px;
 }
 .faq_area h2 {
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 30px;
  padding: 0;
  line-height: 1.4;
  text-align: left;
 }
 .faq_area dl {
  border-bottom: solid 1px #ddd;
 }
 .faq_area dt {
  font-weight: bold;
  border-top: solid 1px #ddd;
  padding: 20px 30px 20px 45px;
  position: relative;
 }
 .faq_area dt::before {
  content: "Q";
  display: flex;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  border-radius: 16px;
  font-weight: bold;
  background: #333;
  color: #fff;
  position: absolute;
  top: 14px;
  left: 0;
 }
 .faq_area dt::after {
  content: "";
  display: block;
  background: url(../img/common/icon_plus.svg) no-repeat;
  background-size: 12px auto;
  width: 12px;
  height: 12px;
  position: absolute;
  top: 24px;
  right: 10px;
 }
 .faq_area .on::after {
  content: "";
  display: block;
  background: url(../img/common/icon_minus.svg) no-repeat;
  background-size: 12px auto;
  width: 12px;
  height: 1px;
  position: absolute;
  top: 29px;
  right: 10px;
 }
 .faq_area dd {
  display: none;
  padding: 0px 30px 20px 45px;
  /* margin-top: -20px; */
  position: relative;
 }
 .faq_area dd::before{
  content:"";
  display: block;
  padding-top:6px;
 }
 .faq_area dd::after {
  content: "A";
  display: flex;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  border-radius: 16px;
  font-weight: bold;
  background: #ddd;
  position: absolute;
  top: 0px;
  left: 0;
 }
 .faq_area .btn1 {
  margin-top: 25px;
  width: 250px;
 }
 /* ギフトサービスのご案内：手提げ袋・のし・短冊など ------------------------------*/
 #page_gift .page_wrap p a {
  text-decoration: underline;
 }
 #page_gift .page_wrap p a:hover {
  text-decoration: none;
 }
 #page_gift .page_tab {
  /*padding: 0;*/
 }
 #page_gift .gift_nav {
  margin-top: 35px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 350px;
  margin: 40px auto 0;
 }
 #page_gift .gift_nav li {
  margin-bottom: 0.5em;
 }
 #page_gift .flex_wrap1 img {
  display: block;
  max-width: 80%;
  height: auto;
  margin: 30px auto;
 }
 #page_gift #id_7 .flex_wrap1 img {
  max-width: 70%;
 }
 /* ギフトサービスのご案内：のし・短冊のご指定方法 ------------------------------*/
 /* ギフトサービスのご案内：複数のお届け先のご注文方法 ------------------------------*/
 #page_deliver .deliver_nav {
  margin: 40px 0;
  display: flex;
  justify-content: center;
  align-items: center;
 }
 #page_deliver .deliver_nav li {
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.4;
 }
 #page_deliver .deliver_nav li:nth-child(n+2)::before {
  content: "";
  height: 5em;
  margin: 0 10px;
  border-left: solid 1px #333;
 }
 #page_deliver .deliver_nav li a:hover {
  text-decoration: underline;
  opacity: 10;
 }
 #page_deliver .cnt {
  margin-top: 40px;
 }
 #page_deliver .cnt a {
  text-decoration: underline;
 }
 #page_deliver .cnt a:hover {
  text-decoration: none;
 }
 #page_deliver h3 {
  font-size: 14px;
  font-weight: bold;
  line-height: 1.4;
  padding: 0.5em;
  margin-bottom: 30px;
  background: #f5f5f5;
 }
 #page_deliver .cnt .txt {
  margin: 20px 0;
 }
 #page_deliver #cnt1 img {
  display: block;
  margin: 0 auto;
 }
 #page_deliver #cnt2 dt {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.4;
 }
 #page_deliver #cnt2 dt i {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  border-radius: 100px;
  margin-right: 15px;
  color: #fff;
  background: #333;
  font-weight: bold;
  font-style: normal;
  text-align: center;
  font-size: 18px;
 }
 #page_deliver #cnt2 dt i sub {
  display: block;
  line-height: 1;
  font-size: 10px;
  font-weight: normal;
 }
 #page_deliver #cnt2 dt p {
  flex: 1;
 }
 #page_deliver #cnt2 dt p span {
  display: block;
  font-size: 12px;
 }
 #page_deliver #cnt2 dd {
  margin: 20px 0 40px;
 }
 #page_deliver #cnt2 dd:last-child {
  margin-bottom: 0;
 }
 .page_deliver .faq_area {
  margin-top: 40px;
  padding-left: 0;
  padding-right: 0;
 }
 /* マイページ ------------------------------*/
 .fs-c-accountService li {
  width: 31% !important;
  height: 27.5vw !important;
  flex-basis: auto !important;
 }
 .fs-c-accountService__page--accountDelete {
  display: block !important;
  width: 100% !important;
  text-decoration: underline !important;
  text-align: left !important;
  margin: 5vw 0 0 !important;
  height: initial !important;
  font-size: 90% !important;
 }
 /* お問い合わせ ------------------------------*/
 /* 共楽堂とは ------------------------------*/
 /* 最新情報 ------------------------------*/
 /* 最新情報 旧レイアウト */
}
@media screen and (max-width: 767px) and (max-width: 360px) {
 #page_gift .gift_nav {
  font-size: 3vw;
  line-height: 1.8;
 }
}
@media screen and (max-width: 767px) {
 #page_gift .gift_nav li::after {
  content: "｜";
  margin: 0 15px;
 }
 #page_gift .gift_nav li:nth-child(3)::after {
  display: none;
 }
 #page_gift .gift_nav li:last-child::after {
  display: none;
 }
 #page_gift .gift_nav li a:hover {
  text-decoration: underline;
  opacity: 10;
 }
}
@media screen and (max-width: 767px) {
 #page_gift .txt_area h3 {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 0.2em;
 }
 #page_gift .txt_area h3:before {
  content: "■";
 }
}
@media screen and (max-width: 767px) {
 #page_gift .img_left:nth-child(n+2) {
  margin-top: 30px;
 }
 #page_gift .img_left .img1 {
  display: block;
  max-width: 260px;
  margin: 0 auto 30px;
 }
}
@media screen and (max-width: 767px) {
 #page_gift .img_right:nth-child(n+2) {
  margin-top: 30px;
 }
 #page_gift .img_right .img1 {
  display: block;
  margin: 30px auto;
  max-width: 320px;
 }
}
@media screen and (max-width: 767px) {
 #page_gift .page_wrap {
  margin-top: 60px;
 }
 #page_gift .page_wrap .btn1 {
  width: 250px;
  height: 50px;
  line-height: 50px;
  letter-spacing: 0.05em;
 }
 #page_gift .page_wrap picture {
  display: block;
  text-align: center;
  max-width: 450px;
  margin: 30px auto 0;
 }
 #page_gift #id_6 p {
  margin-top: 35px;
 }
 #page_gift #id_6 .img1 {
  display: block;
  margin: 0 auto;
  max-width: 250px;
 }
}
@media screen and (max-width: 767px) {
 #page_noshi dl a {
  text-decoration: underline;
 }
 #page_noshi dl a:hover {
  text-decoration: none;
 }
 #page_noshi dt {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.4;
 }
 /*#page_noshi dt .red {
    font-size: 15px;
    width: 100%;
  }*/
 #page_noshi dt i {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  border-radius: 100px;
  margin-right: 15px;
  color: #fff;
  background: #333;
  font-weight: bold;
  font-style: normal;
  text-align: center;
  font-size: 18px;
 }
 #page_noshi dt i sub {
  display: block;
  line-height: 1;
  font-size: 10px;
  font-weight: normal;
 }
 #page_noshi dt p {
  flex: 1;
 }
 #page_noshi dd {
  margin: 20px 0 40px;
 }
 #page_noshi dd:last-child {
  margin-bottom: 0;
 }
 /*#page_noshi dd .btn1 {
  width: 250px;
  height: 45px;
  line-height: 45px;
  margin-top: 30px;
 }*/
}
@media screen and (max-width: 767px) {
 #news h2 {
  font-size: 14px;
  font-weight: bold;
  line-height: 1.4;
  padding: 0.5em;
  margin-bottom: 30px;
  background: #f5f5f5;
 }
 #news article {
  border-bottom: solid 1px #ddd;
  margin-bottom: 25px;
  padding-bottom: 30px;
 }
 #news article:last-child {
  margin-bottom: 0;
  border-bottom: none;
 }
 #news .news_status {
  display: flex;
  margin-bottom: 15px;
 }
 #news .news_status span {
  margin-right: 20px;
  font-size: 14px;
 }
 #news .news_status .news_icon,
 #news .news_status .imp_icon,
 #news .news_status .event_icon,
 #news .news_status .media_icon {
  width: 64px;
  height: 20px;
  line-height: 20px;
  font-size: 13px;
  text-align: center;
  color: #fff;
 }
 #news .news_status .news_icon {
  background: #aaaaaa;
 }
 #news .news_status .imp_icon {
  background: #ab2346;
 }
 #news .news_status .event_icon {
  background: #577f4c;
 }
 #news .news_status .media_icon {
  background: #2364aa;
 }
 #news .news_txt h3 {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 0.4em;
  color: #333 !important;
 }
}
@media screen and (max-width: 767px) {
 .page_news h2 {
  font-size: 14px;
  font-weight: bold;
  line-height: 1.4;
  padding: 0.5em;
  margin-bottom: 30px;
  background: #f5f5f5;
 }
 .page_news dt {
  margin-bottom: 15px;
  display: flex;
  flex-wrap: wrap;
 }
 .page_news dt span {
  margin-right: 20px;
 }
 .page_news dt .news_icon,
 .page_news dt .imp_icon,
 .page_news dt .event_icon,
 .page_news dt .media_icon {
  width: 64px;
  height: 20px;
  line-height: 20px;
  text-align: center;
  font-size: 14px;
  color: #fff;
 }
 .page_news dt .news_icon {
  background: #aaaaaa;
 }
 .page_news dt .imp_icon {
  background: #ab2346;
 }
 .page_news dt .event_icon {
  background: #577f4c;
 }
 .page_news dt .media_icon {
  background: #2364aa;
 }
 .page_news dd {
  margin-bottom: 25px;
  padding-bottom: 30px;
  border-bottom: 1px solid #ddd;
 }
 .page_news dd:last-child {
  border-bottom: none;
  margin-bottom: 0;
 }
 .page_news dd span {
  display: inline-block;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 0.4em;
 }
 .page_news dd > b {
  font-size: 16px;
  line-height: 1.4;
 }
 /* メディア情報 SP ------------------------------*/
 .page_media .backnumber {
  margin-bottom: 40px;
  padding: 20px;
  background: #f5f5f5;
 }
 .page_media h3 {
  margin: 0;
  padding: 0;
  margin-bottom: 0.5em;
 }
 .page_media .backnumber ul {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  padding: 0px;
  margin: 0px;
 }
 .page_media .backnumber ul li {
  padding: 5px;
 }
 .page_media .backnumber a {
  font-size: 12px;
  text-decoration: underline;
  padding: 5px;
  line-height: 1;
 }
 .page_media .backnumber a:hover {
  color: #fff;
  background: #333;
  text-decoration: none;
 }
 .page_media .backnumber a.current {
  color: #fff;
  background: #333;
  text-decoration: none;
 }
 .media_detail {
  display: block;
  margin-bottom: 40px;
 }
 .page_media h4 {
  margin: 1em 0 1em;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.4;
 }
 .page_media .media_detail a {
  text-decoration: underline;
 }
 .page_media .media_detail a:hover {
  text-decoration: none;
 }
 .page_media .media_detail .medialeft {}
 .page_media .media_detail .medialeft img {
  display: block;
  margin: 0 auto;
  width: 70%;
  height: 200px;
  object-fit: contain;
  padding: 10px;
  background: #fff;
  border: solid 1px #333;
 }
 .page_media .media_detail .mediaright {
  width: 100%;
 }
 /* visumo--------------------------------------------------------------*/
 .ecbn-selection-page-wrapper {
  margin: 0 !important;
 }
 .ecbn-selection-wrapper .ecbn-selection-title,
 .ecbn-selection-page-wrapper .ecbn-selection-title {
  font-size: 16px !important;
  font-family: inherit;
 }
 .ecbn-selection-wrapper .ecbn-selection-description,
 .ecbn-selection-page-wrapper .ecbn-selection-description {
  font-size: 13px !important;
  letter-spacing: inherit !important;
  line-height: inherit !important;
  margin-top: 0 !important;
  padding-bottom: 1em !important;
 }
 .ecbn-selection-wrapper .ecbn-selection-page-tabs-area .ecbn-selection-page-tabs li,
 .ecbn-selection-page-wrapper .ecbn-selection-page-tabs-area .ecbn-selection-page-tabs li {
  width: calc(100% / 2) !important;
 }
 .ecbn-selection-wrapper .ecbn-selection-page-tabs-area .ecbn-selection-page-tabs,
 .ecbn-selection-page-wrapper .ecbn-selection-page-tabs-area .ecbn-selection-page-tabs {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
 }
 .ecbn-selection-wrapper .ecbn-selection-page-tabs-area .ecbn-selection-page-tabs li a,
 .ecbn-selection-page-wrapper .ecbn-selection-page-tabs-area .ecbn-selection-page-tabs li a {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  height: 3em !important;
  padding: 0 !important;
 }
 /* 404 --------------------------------------*/
 .fs-body-notfound .top_recommend{
  margin: 0 20px 40px;
 }
 .fs-body-notfound .top_recommend ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
 }
 .fs-body-notfound .top_recommend li {
  width: 48%;
  margin: 0 0 15px 10px;
 }
 .fs-body-notfound .top_recommend li:nth-of-type(2n+1) {
  margin-left: 0;
 }
 .fs-body-notfound .top_recommend li h3 {
 margin-top: 0.5em;
 font-size: 14px;
 text-align: center;
 }
 .fs-body-notfound .top_recommend li p {
  display: none;
 }
  .fs-body-notfound .top_recommend .cnt_box dl {
 }
 .fs-body-notfound .top_recommend .cnt_box dd {
 width: 100%;
 margin: 20px auto 40px;
 }
 .fs-body-notfound .top_recommend .cnt_box .btn1 {
 width: 250px;
 margin-top: 15px;
 }
 .fs-body-notfound .top_recommend .cnt_box .btn1:first-of-type {
 margin-top: 25px;
 }


}
/* 767以下 end ------------------------------*/
/*---------------------------------------------------------------------------
device 350px以下
---------------------------------------------------------------------------*/
/* 350以下 end ------------------------------*/