@charset "utf-8";

/* --------------------------------------------------
 *	下層ページのCSSの宣言
 *
 *	[1] コンテンツ共通
 *	[2] ACCESS
 *	[3] BLOG
 *	[4] VOICE
 *	[5] PRICE
 *	[6] GALLERY
 *	[7] ORDER
 *	[8] CONTACT
 *	[9] SITEMAP
 *	[10] PRIVACY POLICY
 *	[11] ORDER GUIDE
 *	[12] Q & A
 * -------------------------------------------------- */
input[type="text"],
input[type="submit"],
input[type="button"],
button,
textarea,
select {
  -webkit-appearance: none !important;
  font-size: 16px;
}
input[type="checkbox"] {
  -webkit-appearance: auto;
}
/* --------------------------------------------------
 *	[1] コンテンツ共通
 * -------------------------------------------------- */
#underMvArea {
  width: 100%;
  margin: 30px 0;
  float: none;
  overflow: hidden;
}
#underMv {
  width: 960px;
  margin: 0 auto;
  text-align: center;
}

#underErrMv {
  text-align: center;
}

#contents {
  width: 960px;
  margin: 0 auto;
  overflow: hidden;
  box-sizing: border-box;
}
#mainBloc {
  width: 648px;
  margin: 38px 0 0 19px;
  float: left;
}
.not-found {
  width: 100%;
  margin: 50px 0;
  float: left;
  text-align: center;
}

#sideBloc {
  width: 205px;
  margin-top: 12px;
  float: right;
}
.sideTop {
  width: 205px;
  margin-bottom: 13px;
  padding-top: 6px;
  float: left;
  background: url(../img/under/blog_bloc_top.gif) left top no-repeat;
}
.sideBottom {
  width: 205px;
  padding-bottom: 6px;
  float: left;
  background: url(../img/under/blog_bloc_bottom.gif) left bottom no-repeat;
}
.sideBody {
  width: 160px;
  padding: 17px 22px 17px 21px;
  float: left;
  background: url(../img/under/blog_bloc_body.gif) left top repeat-y;
}

#pageBloc {
  width: 945px;
  margin: 0 7px;
  float: left;
}
#pageTitle {
  width: 100%;
  margin: 0;
  float: none;
  text-align: center;
  padding: 20px;
  box-sizing: border-box;
  font-size: 30px;
  color: red;
}

/* --------------------------------------------------
 *	[2] CONCEPT
 * -------------------------------------------------- */
/* #conceptDescBox {
  width: 960px;
  height: 233px;
  margin-top: 53px;
  float: left;
} */
/* #conceptDlBox {
  width: 608px;
  margin: 65px 0 0 18px;
  float: left;
}
.conceptDl {
  width: 608px;
  margin-bottom: 35px;
  float: left;
}
.conceptDl dt {
  width: 117px;
  float: left;
}
.conceptDl dd {
  width: 478px;
  margin: 11px 0 0 13px;
  float: right;
}
.conceptDl:nth-of-type(3) dd {
  margin-top: 0;
}
#conceptGooglemapBox {
  width: 294px;
  height: 270px;
  margin: 61px 13px 0 0;
  float: right;
} */
/* #conceptDescBox {
	width: 100%;
	height: auto;
	margin-top: 30px;
}
#conceptDescBox img{
	width: 100%;
	height: auto;
} */

.message {
  background: #f7fbf5;
  border-radius: 12px;
  padding: clamp(16px, 5vw, 28px);
  margin: clamp(12px, 4vw, 28px) 0;
  position: relative;
  overflow: hidden;
}
.message__inner {
  max-width: 40em;
  margin: 0 auto;
  text-align: center;
}
.message p {
  margin: 0;
  color: #3a6b6b;
  line-height: 2.05;
  /* font-family: "Hiragino Mincho ProN", "Yu Mincho", serif; */
  font-size: clamp(14px, 3.6vw, 18px); /* 文字サイズ可変 */
  letter-spacing: 0.02em;
}

.inb {
  display: inline-block;
}


.access {
  margin-top: 30px;
  padding: 24px 0;
}

/* 2カラム：左情報／右地図 */
.access__inner {
  display: grid;
  grid-template-columns: 1fr minmax(320px, 460px);
  gap: 24px 40px;
  align-items: start;
}

/* dt/dd の見た目 */
.access__list {
  margin: 0;
}
.access__row {
  display: grid;
  grid-template-columns: 140px 1fr; /* ラベル幅／内容 */
  gap: 16px;
  align-items: start;
  margin-bottom: 18px;
}
.access__dt {
  margin: 0;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #3a6b6b;
  background: #e8f1e9;
  border-radius: 6px;
  text-align: center;
  padding: 10px 8px;
  line-height: 1.2;
}
.access__dd {
  margin: 0;
  line-height: 1.9;
  color: #333;
}

/* 地図：アスペクト比維持でレスポンシブ */
.access__map {
  width: 100%;
  aspect-ratio: 4 / 3; /* スクショに近い比率 */
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  overflow: hidden;
}
.access__map iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

/* スマホ：縦並び（情報→地図） */
@media (max-width: 768px) {
  .access__inner {
    grid-template-columns: 1fr; /* 1カラム化 */
    gap: 18px;
  }
  .access__row {
    grid-template-columns: 110px 1fr;
    gap: 10px;
  }
  .access__dt {
    padding: 8px 6px;
    font-size: 14px;
  }
  .access__dd {
    font-size: 15px;
    line-height: 1.9;
  }
  .access__map {
    aspect-ratio: 16 / 9; /* 横幅が狭い端末で見やすい比率に変更 */
    margin-top: 4px;
  }
}

/* --------------------------------------------------
 *	[3] BLOG
 * -------------------------------------------------- */
#blogMainTitle {
  width: 960px;
  height: 129px;
  margin-bottom: 38px;
  float: left;
}
.recentDl,
#categoryUl li {
  margin-top: 11px;
  padding-bottom: 8px;
  background: url(../img/under/blog_cat_border.gif) left bottom no-repeat;
}
.recentDl#last {
  background: none;
}

#archiveUl li {
  margin-top: 11px;
  padding-left: 10px;
  background: url(../img/under/archive_arrow.gif) left center no-repeat;
}

.blogBloc {
  width: 648px;
  margin-bottom: 150px;
  float: left;
}
.entryTitleBox {
  width: 644px;
  padding: 0 0 22px 4px;
  float: left;
  background: url(../img/under/blog_title_border.gif) left bottom repeat-x;
}
.entryTitle {
  width: 520px;
  margin-top: 3px;
  float: left;
}

.entryDate {
  width: 120px;
  float: right;
  text-align: right;
}

.entryContent {
  width: 610px;
  margin: 30px 15px;
  float: left;
}
.entryContent p {
  margin-bottom: 20px;
}
.snsBtnBox {
  float: right;
}
.snsBtnBox li {
  margin-right: 10px;
  float: left;
}

/* --------------------------------------------------
 *	[4] VOICE
 * -------------------------------------------------- */
#mainVoiceBloc {
  width: 670px;
  margin: 70px 0 300px 0;
  float: left;
}
.voiceBloc {
  width: 570px;
  height: 350px;
  margin-bottom: 80px;
  padding: 30px 50px;
  float: left;
  background: url(../img/under/voice_body_back.png) left top no-repeat;
}
.voiceHeaderDate {
  width: 100%;
  float: left;
}
.voiceHeaderTitle {
  width: 500px;
  float: left;
}
.voiceHeaderName {
  width: 70px;
  float: right;
}

.voiceTxt {
  width: 100%;
  height: 260px;
  margin-top: 40px;
  float: left;
  overflow: hidden;
}

.voicePageBox {
  width: 670px;
  float: left;
}
#voiceBack {
  width: 149px;
  margin-right: 20px;
  display: inline-block;
}
#voiceNext {
  width: 149px;
  display: inline-block;
}

#sideVoiceBloc {
  width: 245px;
  margin: 70px 0 300px 0;
  float: right;
}
.sideVoiceBox {
  width: 245px;
  float: left;
  text-align: right;
}

/* --------------------------------------------------
 *	[5] PRICE
 * -------------------------------------------------- */
#newPriceArea {
  margin-bottom: 50px;
}
#priceBloc {
  width: 945px;
  margin: 0 7px;
  float: left;
}
#priceMainTitle {
  width: 100%;
  margin: 32px 0 10px 0;
  text-align: center;
}

.priceSmallBox {
  width: auto;
}
.priceSmallBox h3 {
  width: 100%;
  margin-bottom: 15px;
  text-align: center;
}

.priceSmallBox table {
  width: 450px;
  border: 2px solid #333;
}
.priceSmallBox table tr {
  width: 450px;
}
.priceSmallBox table tr.backBeige,
.priceSmallBox table th.backBeige,
.priceSmallBox table td.backBeige {
  background: #faf6ea;
}

.priceSmallBox table tr.backRed,
.priceSmallBox table th.backRed,
.priceSmallBox table td.backRed {
  background: #faeff1;
}

.priceSmallBox table tr.backBlue,
.priceSmallBox table th.backBlue,
.priceSmallBox table td.backBlue {
  background: #f0f6f3;
}

.priceSmallBox table tr.bottomBorder,
.priceSmallBox table th.bottomBorder,
.priceSmallBox table td.bottomBorder {
  border-bottom: 2px solid #333;
}
.priceSmallBox table th,
.priceSmallBox table td {
  text-align: center;
}

.priceSmallBox table th {
  padding: 3px 0 10px 0;
  vertical-align: middle;
  border-bottom: 2px solid #333;
}

.priceSmallBox table td {
  padding: 15px 0;
  vertical-align: middle;
}

.priceLargeBox {
  width: 945px;
  margin-top: 55px;
  float: left;
}
.priceLargeBox h3 {
  width: 945px;
  margin-bottom: 15px;
  text-align: center;
}
#calenderBox {
  width: 800px;
  height: 600px;
}
.t_block {
  display: flex;
  justify-content: space-between;
}
.t_box {
  width: 48%;
}
.m_bt {
  margin-bottom: 30px;
}
/*--------------------------- 表--------------------------- */
table.type01 {
  width: 100%;
  border-collapse: collapse;
  line-height: 1.5;
  margin: 15px;
  font-size: 14px;
  text-align: center;
  margin: 0 auto;
}
table.type01 th {
  width: 20%;
  padding: 10px 5px;
  font-weight: bold;
  vertical-align: middle;
  border: 1px solid #ccc;
  background-color: #efefee;
  text-align: center;
}
table.type01 td {
  padding: 10px 5px;
  vertical-align: middle;
  border: 1px solid #ccc;
  background-color: #ffffff;
}
table.type01 td.point {
  background-color: #f4f4f2;
}
.example_text {
  width: 100%;
  display: table;
}
.example_text dt {
  width: 4%;
  display: table-cell;
}
.example_text dd {
  width: 90%;
}
.fixed {
  /*表の横幅を均等にする*/
  table-layout: fixed;
}
.box {
  margin-top: 30px;
}
.box h3 {
  margin-bottom: 20px;
  font-weight: bold;
}
p.S {
  font-size: 14px;
}
/* --------------------------------------------------
 *	[6] GALLERY
 * -------------------------------------------------- */
#mainGalleryBloc {
  width: 945px;
  margin: 40px 7px;
  float: left;
}
#mainGalleryTopBox {
  margin-bottom: 36px;
  overflow: hidden;
}
#mainGalleryTitle {
  text-align: center;
}

#mainGalleryNavUl {
  margin-top: 32px;
  float: right;
}
#mainGalleryNavUl li {
  margin-left: 35px;
  float: left;
}

.galleryBloc {
  width: 945px;
  margin-bottom: 30px;
}
.gallerySubTitle {
  width: 945px;
  margin-bottom: 25px;
  float: left;
}

.galleryLargeImg {
  width: 408px;
  height: 474px;
  float: left;
  overflow: hidden;
}

.gallerySmallImgUl {
  width: 960px;
  overflow: hidden;
  margin: 0 auto;
}
.gallerySmallImgUl li {
  width: 110px;
  height: 110px;
  margin: 5px;
  float: left;
  overflow: hidden;
  text-align: center;
  background: #e7e7e7;
}
.gallerySmallImgUl li a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.galleryPageBox {
  width: 100%;
  margin-bottom: 25px;
  float: left;
}

/* --------------------------------------------------
 *	[7] ORDER
 * -------------------------------------------------- */
#orderHeadBloc {
  width: 960px;
  margin-top: 36px;
  float: left;
}
#orderHeadUl {
  width: 960px;
  float: left;
  text-align: center;
}
#orderHeadUl li {
  margin-right: 150px;
  display: inline-block;
}

#orderDescBloc {
  width: 960px;
  margin: 46px 0 27px 0;
  float: left;
}

#orderBloc {
  width: 100%;
  margin-bottom: 40px;
  float: left;
}
.orderFlowBox {
  width: 100%;
  margin-bottom: 70px;
  float: left;
}
.orderFlowTitleBox {
  width: 46px;
  padding-top: 8px;
  float: left;
  background: url(../img/order/order_flow_top_back.png) left top no-repeat;
}
.orderFlowTitleBody {
  width: 46px;
  padding-top: 10px;
  float: left;
  background: url(../img/order/order_flow_body_back.png) left bottom repeat-y;
}
.orderFlowTitle {
  width: 46px;
  padding-bottom: 25px;
  float: left;
  background: url(../img/order/order_flow_bottom_back.png) left bottom no-repeat;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  color: #fff;
}
.orderFlowTitle span {
  display: inline-block;
  padding: 0 12px;
  font-size: 14px;
}
.orderFlowItemBox {
  width: 890px;
  float: left;
}
.orderItemMust {
  margin-right: 10px;
  float: left;
}

#orderFlow01 .orderFlowTitle {
  height: 125px;
}

.orderItemForm {
  float: left;
}
#orderFlow01 .orderFlowTitle {
  height: 125px;
}
#orderFlow01 .orderFlowItemBox {
  margin-top: 40px;
}

#orderFlow02 .orderFlowTitle {
  height: 400px;
}
#orderFlow02 .orderItemMust {
  margin-top: 60px;
}

#orderItemTypeDesc {
  width: 100%;
}

#orderItemTypeUl {
  width: 710px;
  margin-right: -80px;
  float: left;
}
#orderItemBaseUl li {
  width: 190px;
  height: 190px;
  margin-left: 15px;
  float: left;
  text-align: center;
}
#orderItemBaseUl li:nth-child(5) {
  display: none !important;
}
#orderItemBaseUl li label {
  display: block;
  margin-bottom: 15px;
}

#orderFlow03 .orderFlowTitle {
  height: 100px;
}
#orderFlow03 #orderItemSizeBox {
  margin-top: 90px;
}

#orderFlow03 .orderItemMust {
}

#orderItemBaseUl {
  width: 710px;
  margin-right: -80px;
  float: left;
}
#orderItemTypeUl li {
  /* width: 190px; */
  padding: 0 20px;
  float: left;
}
#orderItemTypeUl li:nth-child(5) {
  display: none;
}
#orderItemTypeUl li label {
  margin-bottom: 15px;
  display: block;
}

#orderFlow04 .orderFlowTitle {
  height: 1250px;
}
#orderItemCookieDesc {
  width: 100%;
  margin-bottom: 20px;
  float: left;
}
#orderItemCookieUl {
  width: 100%;
  float: left;
}
#orderItemCookieUl li {
  width: 100%;
  margin-bottom: 30px;
  padding-bottom: 30px;
  float: left;
  background: url(../img/order/order_border.png) left bottom repeat-x;
}
.orderItemCookieSelectBox {
  width: 180px;
  /*margin-right: 20px;*/
  float: left;
  text-align: center;
}
.orderItemCookieSelectBox label {
  margin-bottom: 15px;
  display: block;
}

.orderItemCookieInputBox {
  width: 710px;
  margin-top: 25px;
  float: right;
}
.orderItemCookieInputFile {
  width: auto;
  margin: 0 0 20px 10px;
  float: left;
}

.exampleTxt {
  margin: -20px 0 0 15px;
  color: #979797;
}

#orderItemCookieInsertBtnBox {
  width: 490px;
  margin-top: 25px;
  float: right;
}

.orderItemCookieInputBox input[type="text"] {
  margin-left: 15px;
}
.orderItemCookieInputBox select {
  margin-left: 15px;
}

#orderItemCookieDesc02 {
  width: 100%;
  margin-bottom: 15px;
  float: left;
}

#orderFlow05 .orderFlowTitle {
  height: 470px;
}
#orderItemMessageUl {
  width: 690px;
  margin-right: -80px;
  float: left;
}
#orderItemMessageUl li {
  width: 690px;
  margin-bottom: 30px;
  padding-bottom: 30px;
  float: left;
  background: url(../img/order/order_border.png) left bottom repeat-x;
}
.orderItemMessageSelectBox {
  width: 180px;
  margin-right: 20px;
  float: left;
  text-align: center;
}
.orderItemMessageSelectBox label {
  margin-bottom: 15px;
  display: block;
}

.orderItemMessageInputBox {
  width: 400px;
  margin-top: 65px;
  float: left;
}
#orderItemMessageUl li.orderItemMessageUlFirst .orderItemMessageInputBox {
  margin-top: -7px;
}
.orderItemMessageInputBox input[type="text"] {
  margin-left: 15px;
}

#orderFlow06 .orderFlowTitle {
  height: 140px;
}
#orderItemCandleUl {
  width: 690px;
  float: left;
}
#orderItemCandleUl li {
  width: 690px;
  margin-bottom: 30px;
  padding-bottom: 30px;
  float: left;
  background: url(../img/order/order_border.png) left bottom repeat-x;
}
#orderItemCandleDesc {
  width: 690px;
  margin: 0 0 15px 60px;
  float: left;
}

.orderItemCandleSelectBox {
  width: 180px;
  margin-right: 20px;
  float: left;
  text-align: center;
}

.orderItemCandleInputBox {
  width: 490px;
  margin-bottom: 10px;
  float: right;
}
.orderItemCandleInputBox input[type="text"] {
  margin-left: 15px;
}

#orderFlow07 .orderFlowTitle {
  height: 300px;
}

.orderFlowItemBox {
  margin: 10px;
}
.orderFlowItemBox textarea {
  width: 550px;
  height: 300px;
  border: 1px solid #ccc;
  padding: 10px;
  box-sizing: border-box;
}

#orderFlow08 .orderFlowTitle {
  height: 450px;
}
.orderItemUserTable {
  width: 690px;
  float: left;
}
.orderItemUserTable th {
  width: 50px;
  font-weight: normal;
  vertical-align: top;
}
.orderItemUserTable th#orderItemUserTableAcceptTh {
  /* padding-bottom: 170px; */
}

.orderItemUserTable td {
  width: 440px;
  padding-bottom: 20px;
}
.orderItemUserTable td#orderItemUserTableAcceptTd {
  padding-top: 5px;
  vertical-align: top;
}

.orderItemUserTable td div {
  margin-bottom: 10px;
}
.orderItemUserTable .ui-datepicker-calendar th {
  width: auto;
}
.orderItemUserTable .ui-datepicker-calendar td {
  width: auto;
  padding: 0;
}
#orderAcceptTable {
  width: 440px;
  float: left;
}
#orderAcceptTable th {
  width: 70px;
  padding-right: 10px;
}
#orderAcceptTable td {
  width: 350px;
}
#orderAcceptTable td table th {
  width: 60px;
  padding-left: 10px;
}
#orderAcceptTable td table td {
  width: 350px;
}
#orderBagImg {
  margin: -160px 0 0 100px;
  position: absolute;
  display: block;
}
.orderUserDl {
  margin-bottom: 15px;
  float: left;
}
.orderUserDl dt {
  width: 70px;
  float: left;
}
.orderUserDl dd {
  width: 350px;
  float: left;
}

#orderFlow09 .orderFlowTitle {
  height: 400px;
}
#orderFlow09 .orderItemUserTable {
  /*margin-top: 80px;*/
}

#orderFlow10 .orderFlowItemBox {
  margin-top: 70px;
}

#orderSendTxt {
  width: 100%;
  float: left;
  text-align: center;
  margin-bottom: 20px;
}

#orderSendUl {
  width: 100%;
  float: left;
  text-align: center;
}
#orderSendUl li {
  display: inline-block;
}
#orderSendUl li input[type="image"] {
  vertical-align: bottom;
}
#orderSendBack {
  margin-top: -2px;
  display: block;
}

#orderHelpBloc {
  width: 620px;
  margin: 0 auto;
}
#orderHelpBloc p {
  width: 600px;
  margin: 10px;
  float: left;
}

#orderLeftFixedBloc {
  width: 200px;
  padding: 10px;
  top: 170px;
  left: 170px;
  z-index: 50;
  position: fixed;
  background: #faf7eb;
}

#orderRightFixedBloc {
  width: 200px;
  padding: 10px;
  top: 190px;
  right: 20px;
  z-index: 50;
  position: fixed;
}
#orderLeftFixedBloc p,
#orderRightFixedBloc p {
  width: 100%;
  margin-bottom: 20px;
  float: left;
}

#orderBloc .err {
  width: 880px;
  margin-bottom: 10px;
  float: left;
}
#orderBloc .err p {
  padding: 10px;
  float: left;
  border: 1px solid #e53361;
  background: #ee7796;
}

#orderEndBloc {
  width: 960px;
  margin: 100px 0;
  float: left;
}

.tipped {
  font-size: 1em;
  color: #bbb;
}

/* --------------------------------------------------
 *	[8] CONTACT
 * -------------------------------------------------- */
#contactBloc {
  float: left;
  margin: 0 7px;
  width: 945px;
}
#contactBloc dl dt {
  width: 210px;
  padding-top: 30px;
  float: left;
}
#contactBloc dl dd {
  padding-bottom: 30px;
  padding-left: 220px;
  padding-top: 30px;
  border-bottom: 1px dotted #e0ebbb;
}

#submitBox {
  width: 100%;
  margin: 25px 0;
  text-align: center;
}

#contactBloc input[type="text"],
input[type="email"] {
  /* background: none repeat scroll 0 0 #F4F3F1; */
  border: 1px solid #cccccc;
  font-size: 14px;
  padding: 7px;
}

#contactBloc textarea {
  /* background: none repeat scroll 0 0 #F4F3F1; */
  border: 1px solid #cccccc;
  color: #593b05;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 14px;
  letter-spacing: 0.08em;
  line-height: 1.7em;
  padding: 7px;
}

#contactBloc textarea {
  /* background: none repeat scroll 0 0 #F4F3F1; */
  border: 1px solid #cccccc;
  color: #593b05;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 14px;
  letter-spacing: 0.08em;
  line-height: 1.7em;
  padding: 7px;
}

::placeholder {
  opacity: 0.5;
}

/* --------------------------------------------------
 *	[9] SITEMAP
 * -------------------------------------------------- */
#sitemapUl {
  width: 500px;
  margin: 0 0 50px 330px;
  float: left;
}
#sitemapUl li {
  width: 250px;
  margin-bottom: 15px;
  float: left;
  list-style-type: circle;
}

/* --------------------------------------------------
 *	[10] PRIVACY POLICY
 * -------------------------------------------------- */
.privacyItemTitle {
  width: 100%;
  margin-bottom: 5px;
  float: left;
}
.privacyItemTxt {
  width: 100%;
  margin-bottom: 25px;
  float: left;
}

/* --------------------------------------------------
 *	[11] Order Guide
 * -------------------------------------------------- */
#orderguide_ttl {
  margin: 20px auto 50px;
  width: 99px;
  height: 134px;
}

#orderguide_Box {
  text-align: center;
  margin: 10px auto 70px;
}

#orderguide_Box h4 {
  color: #5c3b2d;
  width: auto;
  font-size: 18px;
  background: #e0e9b9;
  margin: 0 auto 15px auto;
  padding: 5px 10px;
  font-weight: bold;
  display: inline-block;
  text-align: center;
}

#orderguide_Box p {
  color: #5c3b2d;
  font-size: 16px;
  line-height: 200%;
  margin-bottom: 20px;
}

#orderguideFlowTitle {
  width: 960px;
  margin-bottom: 20px;
  float: left;
  text-align: center;
}
.orderFlowBox {
  width: 960px;
  margin-bottom: 26px;
  padding-bottom: 11px;
}
.orderFlowBox.user {
  background: url(../img/under/orderguide_allow_01.png) center bottom no-repeat;
}
.orderFlowBox.shop {
  background: url(../img/under/orderguide_allow_02.png) center bottom no-repeat;
}
.orderFlowTable {
  width: 960px;
}
.orderFlowTable th {
  background: #fff;
}
.orderFlowTable td {
  padding: 20px;
}
.orderFlowTable.user td {
  background: #eaeeeb;
}
.orderFlowTable.shop td {
  background: #fdf0f3;
}
.orderFlowTable th.type {
  width: 100px;
  text-align: center;
  box-sizing: border-box;
}
.orderFlowTable td.step {
  width: 110px;
  text-align: center;
  box-sizing: border-box;
}
.orderFlowTable td.title {
  width: 290px;
  text-align: left;
  box-sizing: border-box;
}
.orderFlowTable td.desc {
  width: 460px;
  text-align: left;
  box-sizing: border-box;
}
.orderFlowTable td p.sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .orderFlowTable {
    width: 100%;
  }
  .orderFlowTable th.type {
    width: 20%;
    text-align: center;
    box-sizing: border-box;
    padding: 10px;
    display: none;
  }
  .orderFlowTable td.step {
    width: 20%;
    text-align: center;
    box-sizing: border-box;
    padding: 10px;
  }
  .orderFlowTable td.title {
    width: 30%;
    text-align: left;
    box-sizing: border-box;
    padding: 10px;
  }
  .orderFlowTable td.desc {
    width: 50%;
    text-align: left;
    box-sizing: border-box;
    padding: 10px;
  }
  .orderFlowTable td.step img {
    width: 100%;
    max-width: 51px;
  }
  #orderguide_Box p {
    color: #5c3b2d;
    font-size: 16px;
    line-height: 200%;
    margin-bottom: 20px;
    text-align: left;
  }
  .orderFlowTable td p.sp {
    font-size: 11px;
    display: block;
    margin-top: 5px;
  }
  .yellowbk {
    display: block;
  }
}

/* --------------------------------------------------
 *	[12] Q & A
 * -------------------------------------------------- */
#qaArea {
  width: 960px;
  padding-top: 54px;
  margin: 0 auto;
}
#qaBloc {
  width: 960px;
  padding-bottom: 54px;
  float: left;
}
#qaBox {
  width: 960px;
  float: left;
}
.qaContents {
  width: 850px;
  margin: 40px 55px;
  float: left;
}
.qaContentsTitle {
  width: 850px;
  margin-bottom: 38px;
  padding-bottom: 67px;
  text-align: center;
  background: url(../img/under/q_a_sub_title_back.png) center bottom no-repeat;
}
.qaContents .list {
  list-style-type: disc;
  list-style-position: inside;
}
.qaContents .list li {
  display: list-item;
  list-style: disc;
  list-style-position: inside;
  text-indent: -1em;
  margin-left: 1em;
  border-bottom: 1px solid #ccc;
  padding: 15px 0;
}
.qaDesc {
  width: 850px;
  margin-bottom: 40px;
  float: left;
}
.qaQ {
  margin-bottom: 15px;
  padding: 12px 17px 10px 53px;
  border: 1px solid #dbdbdb;
  background: url(../img/under/q_a_q.png) 23px center no-repeat;
}
.qaA {
  padding: 0 17px 0 53px;
  background: url(../img/under/q_a_a.png) 23px top no-repeat;
}

#conceptDescBox h2,
#conceptDescBox p {
  display: none;
}
/* --------------------------------------------------
 *	gift
 * -------------------------------------------------- */

.giftBox {
  overflow: hidden;
  width: 100%;
  margin-bottom: 23px;
  padding: 40px 0;
}
.sideBox {
  width: 45%;
  float: left;
}
.sideBox .bx-wrapper {
  box-shadow: none;
  border: none;
  background: #fff;
  margin-bottom: 5px;
}
.giftImgList li img {
  width: 100%;
  height: 400px;
  object-fit: cover;
}
.custom-thumb {
  overflow: hidden;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
.custom-thumb a {
  width: calc((100% - 30px) / 4);
  height: 100px;
  margin: 5px;
  position: relative;
  border: 2px solid transparent;
  box-sizing: border-box;
}
.custom-thumb a.active {
  border: 2px solid;
  box-sizing: border-box;
}
.custom-thumb a:nth-child(4n + 1) {
  margin-left: 0;
}
.custom-thumb a:nth-child(4n) {
  margin-right: 0;
}
.custom-thumb a:not(.active):after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  background: rgba(255, 255, 255, 0.5);
  width: 100%;
  height: 100%;
}
.custom-thumb a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.giftTextBox {
  float: right;
  width: 50%;
  position: relative;
}
.giftListBox .giftTextBox {
  float: none;
  width: 100%;
  position: relative;
  color: #333;
  box-sizing: border-box;
}
.popup .giftListBox .giftTextBox {
  float: none;
  padding: 0 10px;
  width: calc(100% - 100px);
}
.giftTextBox label,
a.btnStyle {
  background: #eee;
  padding: 5px 10px;
  border-radius: 5px;
  cursor: pointer;
  border: 1px solid #ccc;
  transition-property: all;
  transition: 0.2s linear;
  color: #333333 !important;
}
.giftTextBox label {
  background-image: -webkit-linear-gradient(bottom left, #ffc107 0%, #f76a35 100%);
  background-image: -o-linear-gradient(bottom left, #ffc107 0%, #f76a35 100%);
  background-image: linear-gradient(to top right, #ffc107 0%, #f76a35 100%);
  color: #ffffff !important;
  border: none;
}
.giftTextBox label:hover {
  background-image: -webkit-linear-gradient(bottom left, #ffc107 0%, #f76a35 100%);
  background-image: -o-linear-gradient(bottom left, #ffc107 0%, #f76a35 100%);
  background-image: linear-gradient(to top right, #ffc107 0%, #f76a35 100%);
}
a.btnStyle:hover {
  background: #ccc;
}
.giftListBox .number span {
  color: #f2b247;
  font-weight: bold;
  font-size: 16px;
}
.giftListBox p.price {
  color: #333;
  font-weight: bold;
  font-size: 16px;
  text-align: right;
  margin-bottom: 0;
  width: 100%;
}
.giftListBox p.days {
  margin-top: 10px;
  font-size: 12px;
}
.giftTextBox h2 {
  font-size: 32px;
  font-weight: bold;
  line-height: 1.4;
}
.giftTextBox h2 a {
  text-decoration: underline !important;
  color: #333;
}
.giftTextBox .days {
  text-align: right;
}
.giftTextBox .text {
  margin: 20px 0;
}
.giftTextBox .price {
  font-size: 24px;
  font-weight: bold;
  text-align: right;
}
.giftTextBox .submit {
  margin-top: 20px;
}
.giftTextBox .submit a {
  border: 1px solid #000;
  display: inline-block;
  width: 200px;
  padding: 10px;
  text-align: center;
  text-decoration: none;
  font-weight: bold;
  color: #000;
}

.swiper-my-pagination .swiper-pagination-bullet {
  width: auto;
  height: auto;
  border-radius: 0;
}
.swiper-container-horizontal > .swiper-my-pagination.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0;
}
.swiper-my-pagination img {
  box-shadow: none;
  margin: 0;
  vertical-align: bottom;
}
.swiper-my-pagination {
  display: table;
}
.swiper-my-pagination {
  display: table;
  table-layout: fixed;
}
.swiper-my-pagination .swiper-pagination-bullet {
  display: table-cell;
  padding: 2px;
  background: transparent;
  opacity: 1;
}
.swiper-my-pagination .swiper-pagination-bullet-active {
  background: transparent;
  opacity: 0.6;
}

.number span {
  color: #f2b247;
  font-weight: bold;
  font-size: 24px;
}
.giftListBox {
  color: #333;
}
.giftListBox ul {
  display: flex;
  flex-wrap: wrap;
}
.giftListBox ul li {
  width: 295px;
  /* border: 1px solid #ccc; */
  padding: 10px;
  box-sizing: border-box;
  margin: 10px;
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
}
.giftListBox ul li:hover {
  box-shadow: inset 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
}
.popup .giftListBox ul li {
  width: 100%;
  /* border: 1px solid #ccc; */
  padding: 10px;
  box-sizing: border-box;
  margin: 10px;
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
  display: flex;
}
.popup .giftListBox ul li.selected {
  display: none;
}
.giftListBox ul li a {
  text-decoration: none;
}
.giftListBox h2 {
  font-size: 18px;
  color: #333;
  margin-top: 10px;
}
.giftList #mainGalleryTopBox {
  width: 945px;
  text-align: center;
  margin-bottom: 36px;
  float: none;
}
.giftList #mainGalleryTitle {
  float: none;
}
.giftListBox .giftImgBox {
  width: 100%;
  border: 1px solid #ccc;
  box-sizing: border-box;
  overflow: hidden;
}
.popup .giftListBox .giftImgBox {
  width: 100px;
  border: 1px solid #eee;
  overflow: hidden;
}
.giftListBox .giftImgBox img {
  width: 100%;
  height: 278px;
  object-fit: cover;
  -moz-transition: -moz-transform 0.5s linear;
  -webkit-transition: -webkit-transform 0.5s linear;
  -o-transition: -o-transform 0.5s linear;
  -ms-transition: -ms-transform 0.5s linear;
  transition: transform 0.3s linear;
}
.giftListBox .giftImgBox img:hover {
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -o-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
}
.popup .giftListBox .giftImgBox img {
  width: 100%;
  height: 100px;
  object-fit: cover;
  -moz-transition: unset;
  webkit-transition: unset;
  -o-transition: unset;
  -ms-transition: unset;
  transition: unset;
}
.popup .giftListBox .giftImgBox img:hover {
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -o-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

/*パンくず*/
#breadcrumbs {
  margin: 0 auto;
  width: 1000px;
  padding: 10px 0;
}
ul.breadcrumbs {
  display: flex;
  margin-bottom: 0;
}
ul.breadcrumbs li:before {
  content: ">";
  margin: 0 8px;
}
ul.breadcrumbs li:first-child:before {
  content: "";
  margin: 0;
}
.pcBlock {
  display: block;
}
.spBlock {
  display: none;
}
.newsList ul {
  margin-bottom: 50px;
}
.newsList li {
  border-bottom: 1px solid #ddd;
  padding: 10px 0;
}
.newsList li a {
  color: #333;
}
.newsList li a:hover dt,
.newsList li a:hover dd {
  text-decoration: underline;
  color: inherit;
}
.newsList li dl {
  overflow: hidden;
}
.newsList li dl dt {
  float: left;
  margin-right: 20px;
}
.newsList li dl dd {
  float: left;
}

/*ポップアップ*/

.popup {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: 0.6s;
}
.popup.is-show {
  opacity: 1;
  visibility: visible;
}
.popup-inner {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 600px;
  max-width: 80%;
  max-height: 80vh;
  padding: 50px;
  background-color: #fff;
  z-index: 200;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.popup-inner img {
  width: 100%;
}
.js-show-popup {
}
input[readonly="readonly"],
textarea[readonly="readonly"],
select[readonly="readonly"] {
  border: none;
  background: #fff;
  opacity: 1;
}
input#date_val {
  border: 1px solid #ccc;
}
input:-moz-read-only {
  background-color: #fff !important;
}
input:read-only,
textarea:read-only {
  background-color: #fff !important;
}
.fl {
  display: flex;
  margin-top: 10px;
  margin-bottom: 10px;
}
.fl a,
.fl input {
  margin: 0px;
}
.fl a {
  margin-left: 5px;
  border: 1px solid #ccc;
  padding: 0 5px;
  background: #ccc;
  color: #333;
  cursor: pointer;
  text-decoration: none;
}
.fl a:hover {
  text-decoration: none;
  color: #333;
}
.close-btn {
  /*	position: fixed;
	right: 0;
	top: 0;
	width: 50px;
	height: 50px;
	line-height: 50px;
	text-align: center;
	cursor: pointer;*/
  position: fixed;
  left: 50%;
  bottom: 18px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  cursor: pointer;
  width: 700px;
  max-width: 80%;
  max-height: 80vh;
  transform: translate(-50%, -50%);
  z-index: 201;
  background: rgba(235, 140, 52, 0.5);
  font-weight: bold;
}
.close-btn i {
  font-size: 20px;
  color: #333;
}
.black-background {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 10;
  cursor: pointer;
}
.submitBtn {
  clear: both;
  margin-top: 20px;
}
.submitBtn input {
  padding: 10px;
  font-size: 16px;
  color: #0071a1;
  border-color: #0071a1;
  background: #f3f5f6;
  vertical-align: top;
  border-radius: 5px;
  cursor: pointer;
}
.wpcf7c-btn-back {
  margin-right: 10px;
}
.pList input:not(.delBtn) {
  border: none !important;
  outline: none;
}
.pQuantity input.item {
  text-align: right;
  border: 1px solid #ccc !important;
}
#giftOrder {
  overflow: hidden;
  padding: 50px 0;
}
#giftOrder h3 {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 20px;
  border-left: 6px solid #f2b247;
  padding-left: 15px;
}
.user {
  width: 100%;
  /*	margin-bottom: 40px;*/
}
.user ul li.pro {
  display: none;
}
.user dl {
  display: flex;
  border-bottom: 1px solid #ccc;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
}
.user li:first-child dl {
  border-top: 1px solid #ccc;
}
.user dl dt {
  width: 180px;
  padding: 10px;
  background: #eee;
  font-weight: bold;
}
.user dl dd {
  width: calc(100% - 100px);
  padding: 10px;
  border-left: 1px solid #ccc;
}
.gift_List {
  width: 100%;
}
.gift_List table {
  width: 100%;
}
.gift_List table th {
  background: #eee;
  text-align: center;
  font-weight: bold;
}
.gift_List table th,
.gift_List table td {
  padding: 10px;
  border: 1px solid #ccc;
  font-size: 16px;
}
.gift_List table td.hidden {
  display: none;
}
.gift_List table tfoot tr td {
  text-align: center;
}
.gift_List table tfoot tr td:first-child {
  border: none;
}
.gift_List table tfoot tr td:nth-child(2) {
  background: #eee;
  font-weight: bold;
}
.gift_List table tfoot tr td:nth-child(3) input {
  border: none;
  text-align: right;
  width: calc(100% - 20px);
}
.gift_List table th.hidden {
  display: none;
}
.gift_List table th:nth-child(1) {
  width: 10%;
}
.gift_List table th:nth-child(2) {
  width: 0%;
}
.gift_List table th:nth-child(3) {
  width: 40%;
}
.gift_List table th:nth-child(4) {
  width: 12%;
}
.gift_List table th:nth-child(5) {
  width: 8%;
}
.gift_List table th:nth-child(6) {
  width: 12%;
}
.gift_List table th:nth-child(7) {
  width: 10%;
}
.gift_List table input {
  width: 100%;
  font-size: 16px;
}
.user span.wpcf7-list-item {
  display: block;
}

.gift_List table .pTotal input {
  width: calc(100% - 20px);
}
.gift_List table .pPrice input {
  width: calc(100% - 20px);
}
.pImg {
  width: 10%;
}
.pImg img {
  width: 80px;
  height: 80px;
  object-fit: cover;
}
.delBtn {
  border: 1px solid #ccc;
  border-radius: 5px;
  cursor: pointer;
  outline: none;
  padding: 5px 10px;
  background: #eee;
  box-sizing: border-box;
  display: block;
  transition-property: all;
  transition: 0.2s linear;
}
.delBtn:hover {
  background: #333;
  color: #fff;
}
.choice {
  border: none;
  padding: 5px 10px;
  -webkit-appearance: none;
  display: none;
}
.pQuantity {
  text-align: center;
}
.pQuantity select {
  font-size: 16px;
}
.pQuantity .wpcf7c-conf {
  background: #fff;
  border: none;
}
.pPrice input,
.pTotal input {
  text-align: right;
}
.pNum input {
  text-align: center;
}
.btn-gradient-radius {
  display: inline-block;
  padding: 7px 20px;
  border-radius: 25px;
  text-decoration: none;
  color: #fff !important;
  background-image: linear-gradient(45deg, #ffc107 0%, #ff8b5f 100%);
  transition: 0.4s;
  margin-bottom: 20px;
  text-decoration: none !important;
}

.btn-gradient-radius:hover {
  background-image: linear-gradient(45deg, #ffc107 0%, #f76a35 100%);
}
textarea.itemList {
  border: none;
  width: 100%;
  min-height: 150px;
  display: block;
  padding: 5px;
  box-sizing: border-box;
  outline: none;
  resize: none;
  background: #fff;
}
#cookie4Color1,
#cookie4Color2,
#cookie5Color1,
#cookie5Color2 {
  display: none;
}
li[formno="3"] .left {
  float: none;
}
li[formno="3"] .left .orderItemCookieInputFile {
  float: none;
}
li[formno="3"] .left:nth-of-type(2) select {
  margin-bottom: 20px;
}
select#message2Color1 {
  display: none;
}
.mes {
  display: block;
  margin-top: 5px;
}
.btn-default {
  color: #ffffff;
  background-color: #999999;
  border-color: #999999;
}
@media screen and (max-width: 767px) {
  input,
  button,
  textarea {
    -webkit-appearance: none;
  }
  input[type="radio"] {
    -webkit-appearance: radio;
  }
  input[type="checkbox"] {
    -webkit-appearance: checkbox;
  }
  .pcBlock {
    display: none;
  }
  .spBlock {
    display: block;
  }
  .spBlock h2 {
    font-weight: bold;
    font-size: 20px;
  }
  .spBlock p.number {
    text-align: right;
  }
  #contents {
    width: 100%;
    margin: 0 auto;
    padding: 10px;
  }
  #underMvArea {
    float: none;
  }
  /* --------------------------------------------------
 *	[2] CONCEPT
 * -------------------------------------------------- */
  /* #conceptDescBox {
    width: 100%;
    height: auto;
    margin-top: 53px;
    float: none;
  }
  #conceptDescBox img {
    width: 100%;
    height: auto;
  }
  #conceptDescBox h2 {
    color: #5ea291;
    text-align: center;
    line-height: 1.2;
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 20px;
    display: block;
  }
  #conceptDescBox p {
    color: #5ea291;
    text-align: center;
    display: block;
  }
  #conceptDlBox {
    width: 100%;
    margin: 0;
    float: none;
    padding: 20px;
    box-sizing: border-box;
  }
  .conceptDl {
    width: 100%;
    margin-bottom: 10px;
    float: none;
    overflow: hidden;
  }
  .conceptDl dt {
    width: 117px;
    float: none;
    display: table-cell;
  }
  .conceptDl dd {
    width: auto;
    margin: 0;
    float: none;
    padding: 10px;
    display: table-cell;
    vertical-align: top;
  }

  #conceptGooglemapBox {
    width: 100%;
    height: 270px;
    margin: 0;
    float: none;
  } */
  #orderDescBloc {
    width: 100%;
    margin: 0 0 20px;
    float: none;
    padding: 10px 20px;
    box-sizing: border-box;
  }

  #orderBloc {
    width: 100%;
    margin-bottom: 40px;
    float: left;
  }
  .orderFlowBox {
    width: 100%;
    margin-bottom: 0;
    padding-bottom: 11px;
  }
  .orderFlowItemBox {
    width: calc(100% - 20px);
    float: none;
  }
  .orderFlowItemBox iframe {
    width: 100%;
  }

  .orderFlowTitleBox {
    width: 100%;
    padding-top: 0;
    float: none;
    background: none;
    overflow: hidden;
    margin-bottom: 10px;
  }
  .orderFlowTitleBody {
    width: 100%;
    padding-top: 0;
    float: none;
    background: none;
  }

  .orderFlowTitle {
    width: 100%;
    padding-top: 10px;
    padding-bottom: 10px;
    float: left;
    background: #e73360;
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: horizontal-tb;
    writing-mode: vhorizontal-tb;
    color: #fff;
  }
  #orderItemTypeUl,
  #orderItemBaseUl {
    width: 100%;
    margin-right: 0;
    float: none;
    display: flex;
    flex-wrap: wrap;
  }
  #orderItemTypeUl li label img,
  #orderItemBaseUl li label img {
    width: 60%;
  }

  #orderItemTypeUl li,
  #orderItemBaseUl li {
    width: 50%;
    margin-left: 0;
    float: none;
    /* text-align: center; */
    height: auto;
    padding: 0 10px;
    box-sizing: border-box;
  }

  #orderItemTypeUl li label.priceCalculation:first-child,
  #orderItemBaseUl li label.priceCalculation:first-child {
    /*height: 165px;*/
    display: table-cell;
    vertical-align: middle;
    width: inherit;
  }
  #orderBloc .err {
    width: 100%;
    margin-bottom: 10px;
    float: none;
  }
  .orderItemUserTable {
    width: 100%;
    float: none;
    margin-top: 0 !important;
  }

  .orderItemUserTable th {
    width: 100%;
    display: block;
  }
  .orderItemUserTable td {
    width: 100%;
    padding-bottom: 0;
    display: block;
  }

  .orderItemMust {
    margin-right: 0;
    margin-bottom: 10px;
    float: none;
  }
  #orderRightFixedBloc {
    width: 100%;
    padding: 0;
    top: auto;
    bottom: 0;
    right: 0;
    z-index: 50;
    position: fixed;
    box-sizing: border-box;
    background: rgba(255, 255, 255, 0.7);
  }
  #orderLeftFixedBloc p,
  #orderRightFixedBloc p {
    width: 100%;
    margin-bottom: 0;
    float: none;
  }
  #orderRightFixedBloc .clear {
    display: none;
  }
  #orderFlow03 .orderFlowTitle {
    height: auto;
  }

  #orderFlow02 .orderFlowTitle {
    height: auto;
  }

  #orderFlow02 .orderItemMust {
    margin-top: 0;
  }
  #orderFlow04 .orderFlowTitle {
    height: auto;
  }
  #orderFlow01 .orderFlowTitle {
    height: auto;
  }
  #orderFlow05 .orderFlowTitle {
    height: auto;
  }

  .orderItemForm {
    float: none;
  }
  #orderItemCookieDesc {
    width: 100%;
    margin-bottom: 10px;
    float: none;
  }
  #orderItemCookieUl {
    width: 100%;
    float: none;
  }

  #orderItemCookieUl li {
    width: 100%;
    margin-bottom: 10px;
    padding-bottom: 20px;
    float: none;
    background: url(../img/order/order_border.png) left bottom repeat-x;
  }

  .orderItemCookieSelectBox {
    width: 180px;
    margin-right: auto;
    float: none;
    text-align: center;
    margin-left: auto;
  }
  .orderItemCookieInputBox {
    width: 100%;
    margin-top: 10px;
    float: none;
  }
  .orderItemCookieInputBox .left {
    float: none;
  }
  .exampleTxt {
    margin: 0 0 10px;
  }
  .orderItemCookieInputBox select {
    margin-left: 0;
    margin-bottom: 10px;
  }
  .orderItemCookieInputBox input[type="text"] {
    margin-left: 0;
    margin-top: 10px;
  }

  .orderItemCookieInputFile {
    width: 100%;
    margin: 0;
    float: none;
  }
  .orderItemCookieInputFile p {
    margin-bottom: 10px;
  }
  .orderItemCookieInputFile input#illustFile {
    margin-bottom: 10px;
  }
  #underMv {
    width: 100%;
    margin: 0 auto;
    text-align: center;
  }
  #underMv img {
    width: 20%;
    margin: 0 auto;
    text-align: center;
  }
  .orderItemMessageSelectBox {
    width: 100%;
    margin-right: 0;
    float: none;
    text-align: center;
  }

  #orderItemMessageUl {
    width: 100%;
    margin-right: 0;
    float: left;
  }
  #orderItemMessageUl li {
    width: 100%;
    margin-bottom: 20px;
    padding-bottom: 20px;
    float: left;
    background: url(../img/order/order_border.png) left bottom repeat-x;
  }
  .orderItemMessageSelectBox {
    width: 180px;
    margin-right: auto;
    margin-left: auto;
    float: none;
    text-align: center;
  }
  .orderItemMessageSelectBox label {
    margin-bottom: 15px;
    display: block;
  }

  .orderItemMessageInputBox {
    width: 100%;
    margin-top: 0;
    float: none;
  }
  .orderItemMessageInputBox .left {
    float: none;
  }
  #orderItemMessageUl li.orderItemMessageUlFirst .orderItemMessageInputBox {
    margin-top: 0;
    overflow: hidden;
  }
  .orderItemMessageInputBox input[type="text"] {
    margin-left: 0;
  }

  #orderFlow06 .orderFlowTitle {
    height: auto;
  }
  #orderItemCandleUl {
    width: 100%;
    float: none;
  }
  #orderItemCandleUl li {
    width: 100%;
    margin-bottom: 20px;
    padding-bottom: 20px;
    float: left;
    background: url(../img/order/order_border.png) left bottom repeat-x;
  }
  #orderItemCandleDesc {
    width: 100%;
    margin: 0;
    float: none;
  }

  .orderItemCandleSelectBox {
    width: auto;
    margin-right: auto;
    margin-left: auto;
    float: none;
    text-align: left;
    margin: 20px 0;
  }

  .orderItemCandleInputBox {
    width: 100%;
    margin-bottom: 10px;
    float: none;
    overflow: hidden;
  }
  .orderItemCandleInputBox input[type="text"] {
    margin-left: 15px;
  }

  #orderFlow07 .orderFlowTitle {
    height: auto;
  }

  .orderFlowItemBox {
    margin: 10px;
  }
  .orderFlowItemBox textarea {
    width: 100%;
    height: 200px;
    border: 1px solid #ccc;
    padding: 10px;
    box-sizing: border-box;
  }

  #orderFlow08 .orderFlowTitle {
    height: auto;
  }
  .orderItemUserTable {
    width: 100% !important;
    min-width: 320px;
    float: none;
    box-sizing: border-box;
  }
  .orderItemUserTable th {
    width: 100%;
    font-weight: normal;
    vertical-align: top;
  }
  .orderItemUserTable th#orderItemUserTableAcceptTh {
    padding-bottom: 10px;
    display: block;
  }

  .orderItemUserTable td {
    width: 100%;
    padding-bottom: 20px;
  }
  .orderItemUserTable td#orderItemUserTableAcceptTd {
    padding-top: 5px;
    vertical-align: top;
    display: block;
  }

  .orderItemUserTable td div {
    margin-bottom: 10px;
  }

  .orderItemUserTable .ui-datepicker-calendar th {
    width: auto;
    display: table-cell;
  }
  .orderItemUserTable .ui-datepicker-calendar td {
    width: auto;
    padding: 0;
    display: table-cell;
  }
  .ui-datepicker-inline.ui-datepicker.ui-widget.ui-widget-content.ui-helper-clearfix.ui-corner-all {
    width: 100%;
    min-width: 320px;
  }
  #orderAcceptTable {
    width: 440px;
    float: left;
  }
  #orderAcceptTable th {
    width: 70px;
    padding-right: 10px;
  }
  #orderAcceptTable td {
    width: 350px;
  }
  #orderAcceptTable td table th {
    width: 60px;
    padding-left: 10px;
  }
  #orderAcceptTable td table td {
    width: 350px;
  }
  #orderBagImg {
    margin: 0 0 20px;
    position: static;
    display: block;
  }
  .orderUserDl {
    margin-bottom: 15px;
    float: left;
  }
  .orderUserDl dt {
    width: 100%;
    float: none;
    display: block;
    margin-bottom: 5px;
  }
  .orderUserDl dd {
    width: 350px;
    float: left;
  }

  #orderFlow09 .orderFlowTitle {
    height: auto;
  }

  #orderFlow09 .orderItemUserTable {
    margin-top: 80px;
  }

  #orderFlow10 .orderFlowItemBox {
    margin-top: 70px;
  }
  #orderSendTxt {
    width: 100%;
    float: none;
    text-align: left;
    padding: 0 10px;
    box-sizing: border-box;
    overflow: hidden;
    margin-bottom: 20px;
    font-size: 14px;
  }

  #mainBloc {
    width: 100%;
    margin: 0;
    float: none;
    padding: 50px 20px 30px;
    box-sizing: border-box;
  }
  .blogBloc {
    width: 100%;
    margin-bottom: 150px;
    float: none;
  }
  .entryTitleBox {
    width: 100%;
    padding: 0 0 22px 4px;
    float: none;
    background: url(../img/under/blog_title_border.gif) left bottom repeat-x;
  }
  .entryTitle {
    width: auto;
    margin-top: 3px;
    float: none;
  }
  .entryDate {
    width: 120px;
    float: none;
    text-align: right;
  }

  #sideBloc {
    display: none;
  }

  .entryContent {
    width: 100%;
    margin: 20px 0;
    float: none;
    box-sizing: border-box;
  }

  /* --------------------------------------------------
	 *	[6] GALLERY
	 * -------------------------------------------------- */
  #mainGalleryBloc {
    width: 100%;
    margin: 23px 0 0 0;
    float: none;
    overflow: hidden;
    padding: 0 20px;
    box-sizing: border-box;
  }
  #mainGalleryTopBox {
    width: 100%;
    margin-bottom: 36px;
    float: left;
  }
  #mainGalleryTitle {
    float: none;
    text-align: center;
  }

  #mainGalleryNavUl {
    margin-top: 32px;
    float: right;
  }
  #mainGalleryNavUl li {
    margin-left: 35px;
    float: left;
  }

  .galleryBloc {
    width: 100%;
    margin-bottom: 30px;
    float: left;
  }
  .gallerySubTitle {
    width: 100%;
    margin-bottom: 25px;
    float: left;
  }

  .galleryLargeImg {
    width: 408px;
    height: 474px;
    float: left;
    overflow: hidden;
  }

  .gallerySmallImgUl {
    width: 100%;
    margin-left: 0;
    float: none;
  }
  .gallerySmallImgUl li {
    width: calc(50% - 10px);
    height: auto;
    margin: 5px;
    float: left;
    overflow: hidden;
    text-align: center;
    background: #e7e7e7;
  }
  .gallerySmallImgUl li a img {
    width: 100%;
    height: 100%;
  }

  .galleryPageBox {
    width: 100%;
    margin-bottom: 25px;
    float: left;
  }

  /* --------------------------------------------------
	 *	[12] Q & A
	 * -------------------------------------------------- */
  #qaArea {
    width: 100%;
    padding-top: 0;
    margin: 0 auto;
    background: url(../img/under/q_a_head.png) center top no-repeat;
  }
  #qaBloc {
    width: 100%;
    padding-bottom: 0;
    float: none;
    background: url(../img/under/q_a_foot.png) center bottom no-repeat;
  }
  #qaBox {
    width: 100%;
    float: none;
    background: url(../img/under/q_a_body.png) center top repeat-y;
    overflow: hidden;
  }
  .qaContents {
    width: 100%;
    margin: 40px 0;
    float: none;
    overflow: hidden;
    padding: 0 20px;
    box-sizing: border-box;
  }
  .qaContentsTitle {
    width: 100%;
    margin-bottom: 10px;
    padding-bottom: 40px;
    float: none;
    text-align: center;
    background: url(../img/under/q_a_sub_title_back.png) center top 27px no-repeat;
    background-size: 100px;
  }
  .qaDesc {
    width: 100%;
    margin-bottom: 40px;
    float: none;
  }
  .qaQ {
    margin-bottom: 15px;
    padding: 12px 17px 10px 53px;
    float: none;
    border: 1px solid #dbdbdb;
    background: url(../img/under/q_a_q.png) 23px center no-repeat;
  }
  .qaA {
    width: 100%;
    padding: 0 17px 0 53px;
    float: none;
    background: url(../img/under/q_a_a.png) 23px top no-repeat;
    box-sizing: border-box;
  }

  #conceptDescBox h2,
  #conceptDescBox p {
    display: none;
  }

  #pageBloc {
    width: 100%;
    margin: 0;
    float: none;
    padding: 0 20px;
    box-sizing: border-box;
  }

  #sitemapUl {
    width: 100%;
    margin: 0;
    float: none;
    padding: 0 20px;
    box-sizing: border-box;
  }
  input[type="checkbox"],
  input[type="radio"] {
    /* width: 1.4em; */
    /* height: 1.4em; */
    /* padding: 7px; */
  }
  #orderSendUl li {
    width: 30%;
  }
  #orderSendUl li input[type="image"] {
    width: 100%;
  }

  /* --------------------------------------------------
	 *	[5] PRICE
	 * -------------------------------------------------- */
  #priceBloc {
    width: 100%;
    margin: 0;
    float: none;
    box-sizing: border-box;
    overflow: hidden;
    padding: 0 10px;
  }
  #priceBloc h4 img,
  #priceBloc .mrg15x0 img {
    width: 100%;
    height: auto;
  }

  #priceMainTitle {
    width: 100%;
    margin: 0 0 20px;
    text-align: center;
  }

  .priceSmallBox {
    width: 100%;
  }
  .priceSmallBox h3 {
    width: 100%;
    margin-bottom: 15px;
    text-align: center;
  }

  .priceSmallBox table {
    width: 450px;
    border: 2px solid #333;
  }
  .priceSmallBox table tr {
    width: 450px;
  }
  .priceSmallBox table tr.backBeige,
  .priceSmallBox table th.backBeige,
  .priceSmallBox table td.backBeige {
    background: #faf6ea;
  }

  .priceSmallBox table tr.backRed,
  .priceSmallBox table th.backRed,
  .priceSmallBox table td.backRed {
    background: #faeff1;
  }

  .priceSmallBox table tr.backBlue,
  .priceSmallBox table th.backBlue,
  .priceSmallBox table td.backBlue {
    background: #f0f6f3;
  }

  .priceSmallBox table tr.bottomBorder,
  .priceSmallBox table th.bottomBorder,
  .priceSmallBox table td.bottomBorder {
    border-bottom: 2px solid #333;
  }
  .priceSmallBox table th,
  .priceSmallBox table td {
    text-align: center;
  }

  .priceSmallBox table th {
    padding: 3px 0 10px 0;
    vertical-align: middle;
    border-bottom: 2px solid #333;
  }

  .priceSmallBox table td {
    padding: 15px 0;
    vertical-align: middle;
  }

  .priceLargeBox {
    width: 100%;
    margin-top: 55px;
    float: none;
  }
  .priceLargeBox h3 {
    width: 100%;
    margin-bottom: 15px;
    text-align: center;
  }
  #calenderBox {
    width: 800px;
    height: 600px;
  }
  .t_block {
    display: block;
  }
  .t_box {
    width: 100%;
  }
  .m_bt_sp {
    margin-bottom: 20px;
  }
  /* --------------------------------------------------
	 *	[8] CONTACT
	 * -------------------------------------------------- */
  #contactBloc {
    width: 100%;
    float: none;
    margin: 0;
    padding: 0 10px;
    box-sizing: border-box;
  }
  .box250 {
    width: 40%;
    padding: 3px 5px;
    box-sizing: border-box;
  }
  .box450 {
    width: 100%;
    padding: 3px 5px;
  }
  .box700 {
    width: 100%;
    padding: 3px 5px;
    box-sizing: border-box;
  }
  #contactBloc dl dt {
    width: 100%;
    padding-top: 30px;
    float: none;
  }
  #contactBloc dl dd {
    padding-bottom: 30px;
    padding-left: 0;
    padding-top: 30px;
    border-bottom: 1px dotted #e0ebbb;
  }

  #submitBox {
    width: 100%;
    margin: 25px 0;
    text-align: center;
  }

  #contactBloc input[type="text"] {
    /* background: none repeat scroll 0 0 #F4F3F1; */
    border: 1px solid #cccccc;
    font-size: 14px;
    padding: 7px;
  }

  #contactBloc textarea {
    /* background: none repeat scroll 0 0 #F4F3F1; */
    border: 1px solid #cccccc;
    color: #593b05;
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 14px;
    letter-spacing: 0.08em;
    line-height: 1.7em;
    padding: 7px;
  }

  #contactBloc textarea {
    /* background: none repeat scroll 0 0 #F4F3F1; */
    border: 1px solid #cccccc;
    color: #593b05;
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 14px;
    letter-spacing: 0.08em;
    line-height: 1.7em;
    padding: 7px;
  }

  #orderItemCookieInsertBtnBox {
    width: 100%;
    margin-top: 25px;
    float: none;
  }
  #orderItemCookieInsertBtn {
    padding: 5px 10px;
    border-radius: 5px;
    background: #eee;
    font-weight: bold;
    border: 1px solid #ccc;
  }
  #newPriceArea {
    padding: 0 10px;
  }
  /* --------------------------------------------------
	 *	gift
	 * -------------------------------------------------- */
  .sideBox {
    width: 100%;
    float: none;
    margin-bottom: 20px;
  }
  .giftTextBox {
    float: none;
    width: 100%;
  }
  .giftListBox .giftTextBox {
    width: calc(100% - 100px);
  }
  .giftTextBox .price {
    font-size: 20px;
    width: 100%;
    margin-bottom: 20px;
  }
  .giftTextBox .submit {
    position: static;
    width: 100%;
  }
  .giftTextBox .submit a {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }
  .giftTextBox h2 {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.4;
  }
  .giftTextBox .number span {
    color: #f2b247;
    font-weight: bold;
    font-size: 18px;
  }
  .giftList #mainGalleryTopBox {
    width: 100%;
    text-align: center;
    margin-bottom: 36px;
    float: none;
  }
  #breadcrumbs {
    margin: 0 auto;
    width: 100%;
    padding: 0;
    overflow-x: scroll;
    display: inline-block;
    box-sizing: border-box;
    -webkit-overflow-scrolling: touch;
  }
  .giftListBox ul li {
    width: 100%;
    /* border: 1px solid #ccc; */
    padding: 10px;
    box-sizing: border-box;
    margin: 5px;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
  }
  .giftListBox .giftImgBox img {
    width: 100%;
    height: 100px;
    object-fit: cover;
  }

  .giftListBox .giftImgBox {
    width: 30%;
    float: left;
  }

  ul.breadcrumbs {
    width: 100%;
    white-space: nowrap;
    padding: 0 10px;
    box-sizing: border-box;
    font-size: 14px;
  }
  ul.breadcrumbs li {
    padding: 0;
  }
  .giftListBox .giftTextBox h2 {
    font-size: 16px;
    margin: 10px 0;
  }
  .giftListBox .giftTextBox {
    float: left;
    width: 70%;
    padding-left: 10px;
    box-sizing: border-box;
  }
  .giftListBox p.days {
    margin-top: 0;
    font-size: 12px;
  }
  .giftListBox p.number {
    text-align: right;
  }
  .giftBox {
    padding-top: 0;
  }
  /* スクロールバーの装飾 */
  #breadcrumbs::-webkit-scrollbar {
    height: 10px;
  }
  #breadcrumbs::-webkit-scrollbar-track {
    background-color: #fff;
  }
  #breadcrumbs::-webkit-scrollbar-thumb {
    background-color: rgba(238, 238, 238, 0.8);
  }
  .custom-thumb a {
    height: 80px;
  }

  .popup-inner {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 600px;
    max-width: 90%;
    max-height: 80vh;
    padding: 0px;
    background-color: #fff;
    z-index: 200;
    overflow-y: scroll;
    box-sizing: border-box;
  }
  #giftOrder {
    overflow: hidden;
    padding: 20px 10px;
  }
  #giftOrder .box310 {
    width: 100%;
    padding: 3px 5px;
    box-sizing: border-box;
  }
  .user dl dt {
    width: 59px;
  }

  .gift_List .tableWrap {
    width: 100%;
    overflow-x: scroll;
  }
  .gift_List table {
    width: 800px;
  }
  #pageTitle {
    font-size: 24px;
  }

  #orderEndBloc {
    width: 100%;
    margin: 100px 0;
    float: none;
    padding: 0 20px;
    box-sizing: border-box;
  }

  #orderguideFlowTitle {
    width: 100%;
    margin-bottom: 20px;
    float: left;
    text-align: center;
  }
}

/* 追加 20250516 */
#orderItemBaseUl {
  display: block;
  width: 100%;
  margin: 0 auto;
  padding: 0;
}

#orderItemBaseUl li {
  display: block;
  float: none !important; /* floatが原因の横並びを防ぐ */
  width: 100%;
  margin-bottom: 30px;
  text-align: left;
}

#orderItemBaseUl li label.priceCalculation {
  display: block;
  margin: 10px auto;
  font-size: 16px;
}

#orderItemBaseUl li label.priceCalculation img {
  width: 150px;
  height: auto;
  display: block;
}

#orderItemBaseUl li p {
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.6;
  color: #333;
  display: block;
  text-align: left;
}
