@charset "UTF-8";

/*----------------------------------------
	商品カテゴリ
----------------------------------------*/
.itemCatList {
  margin-top: 10%;
}

.itemCatTtl {
  font-size: 13px;
  color: #F5AE07;
  background: #FFFDF4;
  border: 1px solid #FCCB00;
  border-radius: 3px;
  padding: 5px 10px 4px;
  display: inline-block;
  margin-bottom: 15px;
}

.itemCatList ul {
  display:flex;
  flex-wrap: wrap;
}

.itemCatList > ul > li {
  width: 30%;
  margin-right: 5%;
}

.itemCatList > ul > li:nth-child(3n) {
  margin-right: 0;
}

.itemCatList > ul > li:nth-child(n+4) {
  margin-top: 5%;
}

.itemCatList li a {
  color: #333;
  text-decoration: none;  
}

.itemCatList li img {
  width: 100%;
}

.itemCatList li .itemCatTxt a:hover {
  opacity: 0.7;
}

.itemCatTxt h3 {
  font-weight: bold;
  margin: 15px 0 5px;
  line-height: 140%;
}

.itemCatPrice {
  font-size: 14px;
}

.itemCatPrice span {
  font-size: 18px;
  color: #EE8E00;
  font-weight: bold;
}

.itemCatPrice2 {
  font-size: 14px;
  color: #777;
}




.itemCatTxt ul {
  overflow: hidden;
  padding-top: 5px;
}

.itemCatTxt li {
  float: left;
  color: #777;
  font-size: 11px;
  border: 1px solid #777;
  border-radius: 6px;
  padding: 6px 6px 5px;
  line-height: 120%;
  margin-right: 10px;
  margin-top: 5px;  
}

.itemCatTxt li:last-child {
  margin-right: 0;
}

.itemCatImg {
  transition : unset;
}

.itemCatImg:hover {
  outline: 4px solid #F8DC70;
  outline-offset: -3px;
}

@media screen and (max-width: 950px) {
  .itemCatList > ul > li {
    width: 47.5%;
    margin-right: 5%;
  }

  .itemCatList > ul > li:nth-child(3n) {
    margin-right: initial;
  }

  .itemCatList > ul > li:nth-child(even) {
    margin-right: 0;
  }

  .itemCatList > ul > li:nth-child(n+4) {
    margin-top: initial;
  }

  .itemCatList > ul > li:nth-child(n+3) {
    margin-top: 5%;
  }

  .itemCatTxt h3 {
    font-weight: bold;
    margin: 15px 0 5px;
    line-height: 140%;
    font-size: 16px;
  }

  .itemCatTxt li {
    font-size: 11px;
    border-radius: 4px;  
    padding: 4px 3px 2px;
    margin-right: 2%;
  }

  .itemCatImg {
    transition : unset;
  }

  .itemCatImg:hover {
    outline: 4px solid #F8DC70;
    outline-offset: -3px;
  }
}

@media screen and (max-width: 480px) {
  .itemCatList li a {
    text-decoration: underline;
  }

  .itemCatList li a :hover {
    text-decoration: none;
    opacity: 1;
  }

  .itemCatTxt h3 {
    margin: 10px 0 5px;
    font-size: 15px;
  }
  
}

@media screen and (max-width: 420px) {
  .itemCatPrice2 {
    font-size: 14px;
    font-size: 3.333vw;
  }
}





/*----------------------------------------
	リンクボタン
----------------------------------------*/

.catLinkBtn a {
  color: var(--main-color);
  border: 1px solid var(--main-color);
  text-decoration: none;
  padding: 10px;
  text-align: center;
  border-radius: 6px;
  display: inline-block;
  line-height: 120%;
}

.catLinkBtn a:hover {
  color: #fff;
  background: var(--main-color);
  border: 1px solid var(--main-color);
  opacity: 1;
}














/*----------------------------------------
	商品詳細
----------------------------------------*/
.itemWrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.itemL {
  width: 55%;
}

.itemR {
  width: 40%;
}

.itemImgBox {
  display: flex;
}

.itemImgBox ul {
  display: flex;
  flex-direction: column;
  width: 80px;  
}

.itemImgBox li {
  border: 1px solid #E6E6E6;
  margin-bottom: 10px;
  width: 80px;    
}

.itemImgBox li:last-child {
  margin-bottom: 0;
}

.itemImgWrap {
  border: 1px solid #E6E6E6;
  margin-left: 20px;
}

.itemImgBox img {
  width: 100%;
}

.movie {
  position: relative;
  padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
  height: 0;
  overflow: hidden;
  margin: 5% 0 0 100px;
}

.movie iframe {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
}

.itemR .priceBox {
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
}

.itemR .priceBox dt {
  font-size: 40px;
  font-weight: bold;
  float: left;
  color: #C71B1D;  
}

.itemR .priceBox dt span {
  font-size: 18px;
  margin-left: 5px;
  font-weight: normal;
}

.itemR .priceBox dd  {
  font-size: 13px;
}

.orderBtn {
  margin: 30px auto 0;
  width: 100%;
}

.orderBtn a {
  color: #fff;
  background: var(--main-color);
  font-weight: bold;
  border-radius: 5px;
  padding: 20px 10px 17px;
  display: block;
  text-align: center;
  position: relative;
  line-height: 120%;
}

.orderBtn a::after {
  content: "";
  position: absolute;
  right: 1.5em;
  top: 50%;
  margin-top: -4px;
  transition: all .2s;
  width: 8px;
  height: 8px;
  border-top: solid 3px #fff;
  border-right: solid 3px #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.orderBtn a:hover::after {
  right: 1em;
}

.orderBtmLink {
  display: flex;
  flex-wrap: wrap;
  margin: 30px 0 20px;  
	
}

.orderBtmLink li {
  position: relative;
  margin-bottom: 10px;
  margin-right: 20px;  
}

.orderBtmLink li:last-child {
  margin-right: 0;  
}

.orderBtmLink li a {
  color: var(--main-color);
  text-decoration: underline;
}

.orderBtmLink li a:hover {
  text-decoration: none;
}

/*
.order-info .order-info-link1  a {
  padding: 2px 0 0 10px;
}

.order-info .order-info-link2  a {
  padding: 2px 0 0 10px;
}

.order-info .order-info-link3 a {
  padding: 2px 0 0 10px;
}
*/


.order-info{
	font-size: 13px;
}
.order-info li{
	position: relative;
	margin-bottom: 8px;
	margin-right: 10px;
}
.order-info .order-info-link1::before {
	content: "";
	background-image: url("../images/common/order_icon.png");
	background-size: contain;
	background-repeat: no-repeat;
	display: inline-block;
	width: 20px;
	height: 20px;
	position: absolute;
	left: 1%;
	top: 6%;
}
.order-info .order-info-link1,
.order-info .order-info-link2,
.order-info .order-info-link3{
	padding-left: 30px; 
	
}

.order-info .order-info-link2::before {
	content: "";
	background-image: url("../images/common/souryo_icon.png");
	background-size: contain;
	background-repeat: no-repeat;
	display: inline-block;
	width: 22px;
	height: 22px;
	position: absolute;
	left: 0;
	top: 12%;
}

.order-info .order-info-link3::before {
	content: "";
	background-image: url("../images/common/howto_design_icon.png");
	background-size: contain;
	background-repeat: no-repeat;
	display: inline-block;
	width: 21px;
	height: 21px;
	position: absolute;
	left: 1%;
	top: 10%;
}
.order-info li a {
    color: #5b5b5b;
    text-decoration: underline;
}

.orderBtmLink .orderBtmLink1  a {
  padding: 2px 0 0 40px;
}

.orderBtmLink .orderBtmLink2  a {
  padding: 2px 0 0 40px;
}

.orderBtmLink .orderBtmLink3 a {
  padding: 0 0 0 40px;
}

.orderBtmLink .orderBtmLink4 a {
	padding: 0 0 0 40px;
}


.orderBtmLink1 a::before {
	content: url("../images/common/magnifyingGlassIcon.png");
  
  position: absolute;
  left: 0;
  top: 0;
}



.orderBtmLink2 a::before {
	content: url("../images/common/paletteIcon.png");
  position: absolute;
  left: 0;
  top: 0;
}

.orderBtmLink3 {
	display: none;
}

@media screen and (max-width: 750px) {
	.orderBtmLink3 {
		display: block;
	}
}

.orderBtmLink3 a::before {
	content: "";
	display: block;
	background: url(../images/common/reviewIcon.png);
	-webkit-background-size: contain;
	background-size: contain;
	background-repeat: no-repeat;
    position: absolute;
	width: 35px;
	height: 30px;
    left: 0;
    top: 50%;
	transform: translateY(-50%);
}

@media screen and (max-width: 750px) {
	.orderBtmLink4 {
		display: none;
	}
}

.orderBtmLink4 a::before {
	content: "";
	display: block;
	background: url(../images/common/adobeIcon.png);
	-webkit-background-size: contain;
	background-size: contain;
	background-repeat: no-repeat;
    position: absolute;
	width: 34px;
	height: 34px;
    left: 0;
    top: 50%;
	transform: translateY(-50%);
}


.deliveryList ,
.featuresList {
  display: flex;
  flex-wrap: wrap;
	align-items: center;  
  text-align: center;
}

.deliveryList li ,
.featuresList li  {
  font-size: 11px;
  background: #F6F6F6;
  line-height: 120%;
  padding: 6px 10px 5px;
  border-radius: 100px;
  margin: 5px 10px 5px 0;
}

.deliveryList li:last-child ,
.featuresList li:last-child {
  margin-right: 0;
}

.announcement {
  background: #ffebeb;
  padding: 10px 15px 8px;
  color: #C81C1D;
}

.option5 {
  background: #e9f7ff;
  padding: 10px 15px 8px;
  color: var(--main-color);
}




@media screen and (max-width: 980px) {
  .orderBtmLink li a {
/*
    font-size: 16px;
    font-size: 1.5vw;
*/
  }
}

@media screen and (max-width: 860px) {
  .orderBtmLink {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;  
    margin: 25px 0 15px;  
  }

  
}



@media screen and (max-width: 750px) {
  .itemWrap {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }

  .itemL {
    width: 100%;
  }

  .itemR {
    width: 100%;
    margin-top: 7%;
  }

  .itemImgBox {
    display: flex;
    flex-direction: column-reverse;
    flex-wrap: wrap;
  }

  .itemImgBox ul {
    display: flex;
    flex-direction: row;
    justify-content: center;
    width: 100%;
    margin-top: 10px;
  }

  .itemImgBox li {
    border: 1px solid #E6E6E6;
    margin-bottom: 0;
    margin-right: 10px;
  }

  .itemImgBox li:last-child {
    margin: 0;
  }

  .itemImgWrap {
    margin-left: 0;
    width: 100%;
    display: block;
  }

  .itemImgBox img {
    width: 100%;
  }

  .movie {
    position: relative;
    padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
    height: 0;
    overflow: hidden;
	width: 80%;
    margin: 0 auto;
  }

  .movie iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 85%;
  }
  
  .movie.w750block {
    margin-top: 15%;
  }
  
  
  .itemR .priceBox {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
  }

  .itemR .priceBox dt {
    font-size: 36px;
  }

  .itemR .priceBox dt span {
    font-size: 15px;
    margin-left: 5px;
    font-weight: normal;
  }

  .itemR .priceBox dd  {
    font-size: 11px;
  }

  .orderBtn {
    margin: 20px auto 0;
    width: 100%;
  }

  .orderBtn a {
    color: #fff;
    background: var(--main-color);
    font-weight: bold;
    border-radius: 5px;
    padding: 20px 10px 17px;
    display: block;
    text-align: center;
    position: relative;
    line-height: 120%;
  }

  .orderBtn a::after {
    content: "";
    position: absolute;
    right: 1.5em;
    top: 50%;
    margin-top: -4px;
    transition: all .2s;
    width: 8px;
    height: 8px;
    border-top: solid 3px #fff;
    border-right: solid 3px #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }

  .orderBtn a:hover::after {
    right: 1em;
  }


  .orderBtmLink {
    flex-direction: row;
  }
	
	
	.orderBtmLink li {
		margin-right: 10px;
	}



  .deliveryList ,
  .featuresList {
    display: flex;
    flex-wrap: wrap;
    align-items: center;  
    text-align: center;
  }

  .deliveryList li ,
  .featuresList li  {
    font-size: 11px;
    background: #F6F6F6;
    line-height: 120%;
    padding: 6px 10px 5px;
    border-radius: 100px;
    margin: 5px 10px 5px 0;
  }

  .deliveryList li:last-child ,
  .featuresList li:last-child {
    margin-right: 0;
  }
	
}

@media screen and (max-width: 480px) {
  .orderBtmLink {
    display: flex;
    flex-wrap: wrap;
    margin: 20px 0 10px;  
  }
  
  .orderBtmLink li a {
    font-size: 14px;
  }  
}

@media screen and (max-width: 360px) {
  .orderBtmLink li a {
    font-size: 13px;
    font-size: 3.6vw;
  }
}
/*----------------------------------------
	商品仕様tab
----------------------------------------*/
.specificationTab {
  display: flex;
  cursor: pointer;
}

.specificationTab li {
  transition: all 0.2s ease;
  cursor: pointer;
  line-height: 110%;
  margin-right: 10px;
  color: #6AB8E1;
  font-size: 14px;
  border: 1px solid #6AB8E1;
  border-radius: 5px;
  padding: 10px 10px 8px;
}

.specificationTab li:last-child {
  margin-right: 0;
}

.specificationTab .active {
  font-weight: bold;
  color: #fff;
  background: #6AB8E1;
  position: relative;
}



.specificationTab .active::after {
  content: "";
  position: absolute;
  bottom: -12px;
  left: 50%;
  margin-left: -6px;
  border: 6px solid transparent;
  border-top: 6px solid #6AB8E1;
  z-index: 1;
}


.specificationTabCnt {
  display: none;
}

.specificationTabCnt.show {
  display: block;
  margin-top: 20px;
}


@media screen and (max-width: 950px) {
  .specificationTab li {
    margin-right: 10px;
    font-size: 13px;
    padding: 10px 8px 8px;  
  }
}

@media screen and (max-width: 900px) {
  .specificationTab li {
    margin-right: 5px;
    font-size: 12px;
    padding: 10px 5px 8px;    
  }
}

@media screen and (max-width: 750px) {
  .specificationTab li {
    margin-right: 10px;
    font-size: 13px;
    padding: 10px 10px 8px;
  }
}

@media screen and (max-width: 480px) {
  .specificationTab li {
    margin-right: 10px;
    font-size: 12px;
    padding: 10px 6px 8px;    
  }
}

/*----------------------------------------
	商品セクションtab
----------------------------------------*/
.itemSecTab {
  display: flex;
  cursor: pointer;
}

.itemSecTab li {
  transition: all 0.2s ease;
  cursor: pointer;
  line-height: 140%;
  margin-right: 10px;
  color: #6AB8E1;
  font-size: 16px;
  border: 1px solid #6AB8E1;
  border-radius: 5px;
  padding: 12px 20px 9px;  
}

.itemSecTab li:last-child {
  margin-right: 0;
}

.itemSecTab .active2 {
  font-weight: bold;
  color: #fff;
  position: relative;
  background: #6AB8E1;  
}

.itemSecTab .active2::after {
  content: "";
  position: absolute;
  bottom: -24px;
  left: 50%;
  margin-left: -12px;
  border: 12px solid transparent;
  border-top: 12px solid #6AB8E1;
  z-index: 1;
}


.itemSecTabCnt {
  display: none;
}

.itemSecTabCnt.show2 {
  display: block;
  margin-top: 50px;
}

.itemSecTbl {
  width: 100%;
}

.itemSecTbl th {
  width: 18%;
  min-width: 80px;
}





@media screen and (max-width: 900px) {
  .itemSecTab li {
    margin-right: 10px;
    font-size: 15px;
    padding: 10px 10px 7px;  
  }
}

@media screen and (max-width: 750px) {
  .itemSecTab li {
    margin-right: 10px;
    font-size: 14px;
  }
}

@media screen and (max-width: 480px) {
  .itemSecTab li {
    font-size: 13px;
  }
  
  .itemSecTbl {
    border: none;
  }
  
  .itemSecTbl {
  	border: 1px solid #bcbcbc;
    border-bottom: none;
    width: 100%;    
  }

  .itemSecTbl th ,
  .itemSecTbl td {
    width: 100%;
    display: block;
    border: none;
  }

  .itemSecTbl td  {
  	border-top: 1px solid #bcbcbc;  
  	border-bottom: 1px solid #bcbcbc;  
  }
  
}

/*----------------------------------------
	商品セクション
----------------------------------------*/
.itemSection {
  display:flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.itemSection li {
  width: 47.5%;
}

.itemSection li img {
  width: 100%;
}

.itemSection li:nth-child(n+3) {
  margin-top: 5%;
}










/*----------------------------------------
	ご注文はこちらから
----------------------------------------*/
.orderAreaWrap {
  background: #F4F4F4;
  padding: 20px;
  border: 1px solid #E4E4E4;
}

.orderArea {
  padding: 70px;
  background: #fff;
}

.orderTtl  {
  text-align: center;
  font-size: 30px;
  position: relative;
  overflow: visible;
  margin-bottom: 40px;
}

.orderTtl::after {
  position: absolute;
  left: 0;
  right: 0;
  margin: 5px auto 0;
  content: " ";
  display: block;
  border-bottom: 4px solid var(--main-color);
  border-radius: 100px;
  width: 80px;
}

.orderCheck {
  background: url("../images/common/lightBulb.png") no-repeat left 1px;
  padding-left: 20px;
  min-height: 18px;
  display: inline-block;
  margin: auto;
}

.orderStep {
  display: flex;
  align-items: flex-start;
  margin-bottom: 20px;
  line-height: 140%;
  font-weight: bold;
}

.orderStep dt {
  background: var(--main-color);
  color: #fff;
  padding: 6px 10px 4px;
  border-radius: 4px;
  text-align: center;
}

.orderStep dd {
  margin: 6px 0 0 10px;;
}



.orderChoice  ,
.orderChoice2 {
  display: flex;
  flex-wrap: wrap;
}

.orderChoice input ,
.orderChoice2 input {
  margin: 0;
}

.orderChoice > li {
  width: 23.875%;
  margin-right: 1.5%;
}

.orderChoice li:nth-child(4n) {
  margin-right: 0;
}

.orderChoice li:nth-child(n+5) {
  margin-top: 1.5%;
}

.orderChoice2 > li {
  width: 49.25%;
}

.orderChoice2 > li:nth-child(odd) {
  margin-right: 1.5%;
}

.orderChoice2 > li:nth-child(n+3) {
  margin-top: 1.5%;
}




.orderChoiceBox {
  border: 1px solid #CACACA;
  padding: 15px 15px 13px 10px;
  cursor: pointer;
  display: flex;
  align-items: center;
  border-radius: 5px;
}

.orderChoiceBox p {
  line-height: 120%;
  margin-left: 20px;
  font-weight: bold;
  flex-grow: 2;
  word-break: break-word;
}

.orderChoiceBox br {
  display: none;
}

.orderChoiceBox dl {
  text-align: center;
  line-height: 120%;
  margin-left: 20px;
  flex-grow: 2;
}

.orderChoiceBox dt {
  font-weight: bold;
  border-bottom: 1px solid #333;
  margin-bottom: 8px;
  padding-bottom: 8px;
}

.orderChoiceBox dd {
  font-size: 12px;
}

/*チェックの入ったラベル*/
.orderChoice li .active .orderChoiceBox ,
.orderChoice2 li .active .orderChoiceBox {
  border: 1px solid  var(--main-color);
  background: #eef1fd;
  color: var(--main-color);
}

.orderChoice li .active .orderChoiceBox dt ,
.orderChoice2 li .active .orderChoiceBox dt {
  border-bottom: 1px solid  var(--main-color);
}

.orderSp {
  display: none;
}

@media screen and (max-width: 1080px) {
  .orderChoiceBox br {
    display: block;
  }
}

@media screen and (max-width: 900px) {
  .orderAreaWrap {
    padding: 1.75%;
  }

  .orderArea {
    padding: 50px;
  }

   .orderTtl {
    font-size: 26px;
  }

  .orderTtl::after {
    width: 70px;
  }
  
  .orderChoiceBox dt {
    font-size: 15px
  }

  .orderChoiceBox dd {
    font-size: 11px;
  }  
}


@media screen and (max-width: 750px) {
  .orderAreaWrap {
    background: var(--main-color);
    border: none;
  }
  
  .orderArea {
    padding: 30px;    
  }

   .orderTtl  {
    font-size: 36px;
    font-weight: bold;
    line-height: 140%;
    color: var(--main-color);
  }

  .orderTtl::after {
    width: 140px;
    border-bottom: 6px solid var(--main-color);  
  }
  
  

  
  
  
  
  
  
  
  .orderPc {
    display: none;
  }
  
  .orderSp {
    display: block;
  }
  
  



  .reqList dl {
    display: flex;
    align-items: center;
    margin-top: 20px;
  } 
  
  .reqList dt {
    font-weight: bold;
    text-align: right;
    width: 86px;
  }
  
  .reqList dd {
    flex-grow: 3;
    margin-left: 10px;
  }  

  .reqList select {
    border: 1px solid #CFC5AF;
    width: 100%;
    padding: 10px;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
  }


  
}

@media screen and (max-width: 480px) {
  .orderAreaWrap {

  }

  .orderArea {
    padding: 20px 15px;
  }

   .orderTtl  {
    font-size: 26px;
    margin-bottom: 30px
  }

  .orderTtl::after {
    width: 100px;
    border-bottom: 4px solid var(--main-color);
  }
  
  
  

  
  .reqList dl {
    display: block;
    align-items: center;
    margin-top: 15px;    
  } 
  
  .reqList dt {
    font-weight: bold;
    text-align: left;
    width: 100%;
    padding: 0 10px 5px 0;
  }
  
  .reqList dd {
    margin-left: 0;
  }  

}
/*----------------------------------------
	モーダルウィンドウ
----------------------------------------*/
/*モーダルを開くボタン*/
.modal-open {
  color: var(--main-color);
	cursor: pointer;
  text-decoration: underline;
  display: inline-block;
}

.modal-open:hover {
  text-decoration: none;
}

/*モーダル本体の指定 + モーダル外側の背景の指定*/
.modal-container {
	position: fixed;
	top: 40px;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	background: rgba(0,0,0,50%);
	padding: 76px 30px 30px;
	overflow: auto;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
  box-sizing: border-box;
  z-index: 9;
  font-weight: normal;
}
/*モーダル本体の擬似要素の指定*/
.modal-container:before{
	content: "";
	display: inline-block;
	vertical-align: middle;
	height: 100%;
}
/*モーダル本体に「active」クラス付与した時のスタイル*/
.modal-container.active{
	opacity: 1;
	visibility: visible;
}
/*モーダル枠の指定*/
.modal-body{
	position: relative;
	display: inline-block;
	vertical-align: middle;
	max-width: 1080px;
	width: 90%;
  margin-bottom: 50px;  
}
/*モーダルを閉じるボタンの指定*/
.modal-close{
	position: absolute;
	display: flex;
  align-items: center;
  justify-content: center;
	top: -40px;
	right: 0;
	width: 40px;
	height: 40px;
	font-size: 40px;
	color: #fff;
	cursor: pointer;
}
/*モーダル内のコンテンツの指定*/
.modal-content{
	background: #fff;
	text-align: left;
	padding: 30px;
}


.ppNew {
  position: relative;
  text-align: center;
  color: #ff9000;
  line-height: 140%;
}

.ppNew::before,
.ppNew::after {
	content: "";
	width: 2px;
	height: 20px;
	background-color: #ff9000;
  position: absolute;
}

.ppNew::before {
	transform: rotate(-20deg);
  left: -10px;
}
.ppNew::after {
	transform: rotate(20deg);
  right: -10px;
}

@media screen and (max-width: 750px) {
  .modal-container {
    padding: 0;
    top: 0;
  }

  .modal-close{
    top: -30px;
    right: 0;
    width: 30px;
    height: 30px;
    font-size: 30px;
  }

  .modal-body{
    margin-bottom: 30px;  
  }

  .modal-content{
    padding: 20px;
  }

  .ppNew {
    position: relative;
    text-align: center;
    color: #ff9000;
    line-height: 140%;
  }

  .ppNew::before,
  .ppNew::after {
    content: "";
    width: 2px;
    height: 15px;
    background-color: #ff9000;
    position: absolute;
    margin-top: 2px;
  }

  .ppNew::before {
    transform: rotate(-20deg);
    left: -10px;
  }
  .ppNew::after {
    transform: rotate(20deg);
    right: -10px;
  }
}

@media screen and (max-width: 480px) {
  .modal-container {
    padding: 84px 0 0;
    top: 0;
  }

  .modal-close{
    top: -30px;
    right: 0;
    width: 30px;
    height: 30px;
    font-size: 30px;
  }

  .modal-content{
    padding: 15px;
  }
    

}



/*----------------------------------------
	枚数を選択してください
----------------------------------------*/
.reqSelect select {
  border: 1px solid #CFC5AF;
  padding: 15px 20px;
  background: #fff;
  font-size: 18px;
  max-width: 100%;
}

@media screen and (max-width: 750px) {
  .reqSelect select {
    font-size: 14px;
    padding: 10px 15px;  
  }
}

@media screen and (max-width: 480px) {
  .reqSelect select {
    font-size: 14px;
    padding: 10px; 
  }
}
/*----------------------------------------
	仕様表示
----------------------------------------*/

.reqDl {
  overflow: hidden;
  margin: 20px 0;
}

.reqDl dt {
  width: 100%;
  text-align: left;
  padding: 0 10px 5px 0;
  font-weight: bold;
}

.reqDl dd select {
  border: 1px solid #CFC5AF;
  width: 100%;
  padding: 10px;
}
/*----------------------------------------
	休暇お知らせリンク
----------------------------------------*/

.leadLinkBtn a {
  border: 1px solid #C81C1D;
  border-radius: 4px;
  color: #C81C1D;
  padding: 10px 10px 8px;
  text-decoration: none;
  display: inline-block;
}

.leadLinkBtn a:hover {
  background: #ffeded;
  opacity: 1;
}


/*----------------------------------------
	価格表
----------------------------------------*/
.priceTable {
  overflow: auto;
  white-space: nowrap;
  max-height: 430px;
  border-top: 1px solid #CFC5AF;
  border-bottom: 1px solid #CFC5AF;    
}

.priceTable table , .priceTable td, .priceTable th {
	border: 1px solid #CFC5AF;
	border-collapse: collapse;
}

.priceTable table ,
.priceTable tr:first-child th ,
.priceTable tr:last-child td {
  border-top: 0;
	border-bottom: 0;
}

.priceTable table thead th {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 1;
}

.priceTable table thead th::before {
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    width: 100%;
    height: 100%;
    border: 1px solid #CFC5AF;
}


.priceTable table {
  width: 100%;
  text-align: center;
}

.priceTable table a {
  display: block;
  text-decoration: none;
}

.priceTable th {
  background: #E6E0D5;
  font-size: 14px;
  color: #594C3E;
  padding: 5px;
  line-height: 140%;
  vertical-align: middle;
}

.priceTable th:first-child {
  width: 80px;
  min-width: 80px;
}

.priceTable td {
  color: #594C3E;
  line-height: 140%;
  vertical-align: middle;
}

.priceTable td a {
  color: var(--main-color);
  font-weight: bold;
  padding: 12px 10px 10px;  
}

.priceTable td a span {
  font-size: 12px;
  font-weight: normal;
}

.priceTable tr:nth-child(odd) {
  background: #FAFAF5;
}

.priceTable td a:hover {
    background: #D5F2FD;
    opacity: 1;
}












.unitPrice {
  font-size: 12px;
  color: #333;
  font-weight: normal;
  margin-bottom: 5px;
  line-height: 110%;
}

.discount .unitPrice {
  text-decoration: line-through;
}

.discount span {
  display: none;
}


.onePrice {
  line-height: 110%;
}







.classSelectWrap{
	display:none;
}
.priceTable tr>*{
	display:table-cell;
}


/*仕様未確定の時*/
.priceSelectBox.deactive  p ,
.priceSelectBox.deactive .priceTable ,
.priceSelectBox.deactive .orderSp {
  display: none;
}


@media screen and (max-width: 750px) {
  .priceTable th:first-child {
    width: 60px;
    min-width: 60px;
  }
  .unitPrice {
    font-size: 11px;
  }
}

@media screen and (max-width: 480px) {
	.classSelectWrap{
		display:block;
	}
	.priceTable tr>*{
		display:none;
	}
  .priceTable th:first-child {
    width: 60px;
  }
  
  .priceCell {
    display: flex;
    align-items: flex-end;
    flex-direction: row-reverse;
    justify-content: center;
  }
  
  .discount {
    display: flex;
    align-items: flex-end;
    flex-direction: row;
    justify-content: center;
  }  
  
  .unitPrice {
    font-size: 11px;
    margin-bottom: 0px;
    line-height: 110%;
    margin-left: 5px;
  }
  
  .discount span {
    display: inline;
  }
  
  .discount span:last-child {
    margin-right: 10px;
  }  


  .onePrice {
    line-height: 110%;
  }
  
  
  
}
/*----------------------------------------
	テンプレートボタン
----------------------------------------*/
.tempBtn {
  width: 100%;
  max-width: 500px;
  margin: 50px auto 0;
}

.tempBtn a {
  background: #F7DD64;
  display: block;
  text-align: center;
  color: #391D13;
  font-size: 20px;
  font-weight: bold;
  line-height: 70px;
  height: 70px;
  border-bottom: 1px solid #C8943C;
  position: relative;
}

.tempBtn a::after {
  position: absolute;
  content: url("../images/products/icon03.png");
  right: 30px;
  top: 0;
  margin-top: 4px;
}

@media screen and (max-width: 900px) {
  .tempBtn {
    margin: 40px auto 0;
  }

  .tempBtn a {
    font-size: 18px;
    line-height: 60px;
    height: 60px;
  }

  .tempBtn a::after {
    right: 20px;
    top: 0;
    margin-top: 4px;
  }
}

@media screen and (max-width: 480px) {
  .tempBtn {
    margin: 30px auto 0;
  }

  .tempBtn a {
    font-size: 16px;
    line-height: 50px;
    height: 50px;
  }

  .tempBtn a::after {
    right: 15px;
    top: 0;
    margin-top: 4px;
  }
}

@media screen and (max-width: 400px) {
  .tempBtn {
    margin: 30px auto 0;
  }

  .tempBtn a {
    text-align: left;
    padding-left: 20px;
    font-size: 15px;
  }

  .tempBtn a::after {
    right: 15px;
    top: 0;
    margin-top: 4px;
  }
}
/*----------------------------------------
	チェックエリア
----------------------------------------*/
.checkAreaTtl {
  color: #EA5304;
  font-size: 40px;
  font-weight: bold;
  line-height: 140%;
}

.checkAreaCnt dl {
  overflow: hidden;
}

.checkAreaCnt dt {
  float: left;
  width: 72px;
  margin-right: 40px;
  margin-top: 4px;
}

.checkAreaCnt dt img {
  width: 100%;
}

.checkAreaCnt dd {
  float: left;
  width : calc(100% - 112px);  
}

@media screen and (max-width: 750px) {
  .checkAreaCnt dt {
    width: 50px;
    margin-right: 20px;
  }
  
  .checkAreaCnt dd {
    width : calc(100% - 70px);  
  }  
}

/*----------------------------------------
	物販
----------------------------------------*/
.itemWrap2 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.itemImgWrap2 {
  border: 1px solid #E6E6E6;
}

.itemImgBox2 img {
  width: 100%;
}

.itemImgBox2 ul {
  overflow: hidden;
  margin-top: 2.75%;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-wrap: wrap;
}

.itemImgBox2 li {
/*  float: left;*/
  width:  18.4%;
  margin-right: 2%;
  cursor: pointer;
}

.itemImgBox2 li:nth-child(5n) {
  margin-right: 0;
}

.itemImgBox2 li:nth-child(n+6) {
  margin-top: 2%;
}


.itemWrap2 .priceBox {
  margin-top: 40px;
}

.quantityInput {
  width: 60px;
  padding: 6px 15px;
  text-align: center;
}

.productMemoBox {
  margin-top: 20px;
}

.productMemo {
  background: #e4e4e4;
  color: #333;
  text-align: center;
  padding: 4px 10px 3px;
  font-size: 11px;
}

.productMemoBox input {
  width: 100%;
  border: 1px solid #e4e4e4;
  padding: 10px;
}

.itemSecTbl2 {
  width: 100%;
}

.itemSecTbl2 th {
  width: 18%;
  min-width: 80px;
}

@media screen and (max-width: 900px) {
  .itemSecTbl2 {
    border: none;
  }
  
  .itemSecTbl2 {
  	border: 1px solid #bcbcbc;
    border-bottom: none;
    width: 100%;    
  }

  .itemSecTbl2 th ,
  .itemSecTbl2 td {
    width: 100%;
    display: block;
    border: none;
  }

  .itemSecTbl2 td  {
  	border-top: 1px solid #bcbcbc;  
  	border-bottom: 1px solid #bcbcbc;  
  }
  
}

@media screen and (max-width: 750px) {
  .itemImgWrap2 {
    margin-left: 0;
    width: 100%;
    display: block;
  }
  
  .itemWrap2 .priceBox {
    margin-top: 0;
  }
  
  .itemSecTbl2 {
    width: 100%;
  }
  
  .itemSecTbl2 th ,
  .itemSecTbl2 td {

    display: table-cell;
    border: none;
  }  

  .itemSecTbl2 th {
    width: 15%;
    min-width: 80px;
  	border-bottom: 1px solid #bcbcbc;
    border-right: 1px solid #bcbcbc;   
  }
  
  .itemSecTbl2 td  {
  	border-top: 1px solid #bcbcbc;  
  	border-bottom: 1px solid #bcbcbc;  
  }
  
}

@media screen and (max-width: 480px) {
  .itemSecTbl2 {
    border: none;
  }
  
  .itemSecTbl2 {
  	border: 1px solid #bcbcbc;
    border-bottom: none;
    width: 100%;    
  }

  .itemSecTbl2 th ,
  .itemSecTbl2 td {
    width: 100%;
    display: block;
    border: none;
  }

  .itemSecTbl2 td  {
  	border-top: 1px solid #bcbcbc;  
  	border-bottom: 1px solid #bcbcbc;  
  }
  
}
/*----------------------------------------
	ツイッター
----------------------------------------*/
.twitterBox {
  display: flex;
  justify-content: space-between;
}

.twitterBox li {
  width: 47.5%;
  border: 10px solid #f4f4f4;
  border-radius: 5px;
}

.twitterBox li .twitter-timeline {
  height: 750px!important;
  overflow-y: scroll;
}

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

  .twitterBox li {
    border: 6px solid #f4f4f4;
  }

  .twitterBox li .twitter-timeline {
    height: 550px!important;
  }
  
}

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

  .twitterBox {
    display: block;
  }

  .twitterBox li {
    width: 100%;
    border: 4px solid #f4f4f4;
  }
  
  .twitterBox li:first-child {
    margin-bottom: 5%;
  }  

  .twitterBox li .twitter-timeline {
    height: 450px!important;
  }
  
}


/*----------------------------------------
	スライダー
----------------------------------------*/

.fsSlider {/*横幅94%で左右に余白を持たせて中央寄せ*/
   width:94%;
   margin:0 auto;
}

.fsSlider img {
    width:100%;/*スライダー内の画像を横幅100%に*/
    height:auto;
}

/*slickのJSで書かれるタグ内、スライド左右の余白調整*/

.fsSlider .slick-slide {
    margin:0 10px;
}

/*矢印の設定*/

.fsSlider .slick-prev {/*戻る矢印の位置と形状*/
  position: absolute;
  top: 50%;
  cursor: pointer;
  outline: none;
  left: -1.5%;
  background: rgba(68,162,213,0.7);
  border-radius: 100px;
  width: 40px;
  height: 40px;
  margin-top: -20px;
  z-index: 9;
}

.fsSlider .slick-next {/*次へ矢印の位置と形状*/
  position: absolute;
  top: 50%;
  cursor: pointer;
  outline: none;
  right: -1.5%;
  background: rgba(68,162,213,0.7);
  border-radius: 100px;
  width: 40px;
  height: 40px;
  margin-top: -20px;
}


.fsSlider .slick-prev::after {
  position: absolute;/*絶対配置にする*/
  content: "";    
  border-top: 2px solid #fff;/*矢印の色*/
  border-right: 2px solid #fff;/*矢印の色*/
  height: 10px;
  width: 10px;
  transform: rotate(-135deg);
  top: 50%;
  margin-top: -6px;
  left: 16px;      
}


.fsSlider .slick-next::after {
  position: absolute;
  content: "";    
  border-top: 2px solid #fff;/*矢印の色*/
  border-right: 2px solid #fff;/*矢印の色*/
  height: 10px;
  width: 10px;
  transform: rotate(45deg);
  top: 50%;
  margin-top: -6px;
  right: 16px;    
} 

.fsSlider .slick-prev:hover ,
.fsSlider .slick-next:hover {
  opacity: 0.7;
}


@media screen and (max-width: 640px) {
  /*矢印の設定*/

  .fsSlider .slick-prev {/*戻る矢印の位置と形状*/
    width: 30px;
    height: 30px;
    margin-top: -15px;
  }

  .fsSlider .slick-next {/*次へ矢印の位置と形状*/
    width: 30px;
    height: 30px;
    margin-top: -15px;
  }


  .fsSlider .slick-prev::after {
    height: 8px;
    width: 8px;
    margin-top: -5px;
    left: 12px;
  }


  .fsSlider .slick-next::after {
    height: 8px;
    width: 8px;
    margin-top: -5px;
    right: 12px;    
  } 

}







/*----------------------------------------
	商品ページのフリースペース内のバナー　PC・SP時で切り替え
----------------------------------------*/

.free-space__sp-bnr {
	display: none;
}


@media screen and (max-width: 480px) {
	
	.free-space__pc-bnr {
		display: none;
	}
	
	.free-space__sp-bnr {
		display: block;
	}
}





/*----------------------------------------
	対応アプリケーション（シミュレーター対応）
----------------------------------------*/


.cat-label.cat-label__sim {
    border: 1px solid #c71b1d;
    border-radius: 3px;
    color: #c71b1d;
    display: inline-block;
    font-size: 14px;
    padding: 2px 6px;
    margin-top: 16px;
}

.label_unsupported {
    display: inline-block;
    border: 1px solid #959595;
    border-radius: 3px;
    color: #959595;
    font-size: 14px;
    padding: 2px 6px;
    margin-top: 16px;
    font-weight: bold;
}



/*----------------------------------------
	商品セクションtab リニューアル
----------------------------------------*/
.itemSecTab2 {
  display: flex;
  cursor: pointer;
}

.itemSecTab2 li {
  transition: all 0.1s ease;
    cursor: pointer;
    height: 80px;
    line-height: 140%;
    /* margin-right: 10px; */
    /* color: #BCBCBC; */
    color: #65829b;
    font-size: 18px;
    border: 2px solid #e2e2e2;
    border: 2px solid #65829b;
    border-bottom: 2px solid var(--main-color);
    background: #eef1fd;
    border-radius: 5px 5px 0 0;
    padding: 12px 20px 9px;
    width: calc(100% / 3);
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center;
    justify-content: center;
}

.itemSecTab2 li:last-child {
  margin-right: 0;
}

.itemSecTab2 .active2 {
  font-weight: bold;
    color: var(--main-color);
    position: relative;
    background: #fff;
    border: 2px solid var(--main-color);
    border-top: 8px solid var(--main-color);
    border-bottom: none;
}

/*
.itemSecTab2 .active2::after {
  content: "";
  position: absolute;
  bottom: -24px;
  left: 50%;
  margin-left: -12px;
  border: 12px solid transparent;
  border-top: 12px solid #E60012;
  z-index: 1;
}
*/


.itemSecTbl {
  width: 100%;
}

.itemSecTbl th {
  width: 18%;
  min-width: 80px;
}





@media screen and (max-width: 900px) {
  .itemSecTab2 li {
    margin-right: 0;
    font-size: 15px;
    padding: 10px 10px 7px;  
  }
}

@media screen and (max-width: 750px) {
  .itemSecTab2 li {
    margin-right: 0;
    font-size: 14px;
  }
}

@media screen and (max-width: 480px) {
  .itemSecTab2 li {
    font-size: 13px;
	  height: 48px;
	  margin-right: 0;
  }
	
	.itemSecTab2 .active2 {
        border-top: 3px solid var(--main-color);
    }
	
  
  .itemSecTbl {
    border: none;
  }
  
  .itemSecTbl {
  	border: 1px solid #bcbcbc;
    border-bottom: none;
    width: 100%;    
  }

  .itemSecTbl th ,
  .itemSecTbl td {
    width: 100%;
    display: block;
    border: none;
  }

  .itemSecTbl td  {
  	border-top: 1px solid #bcbcbc;  
  	border-bottom: 1px solid #bcbcbc;  
  }
  
}



/*----------------------------------------
	お試しプランについて
----------------------------------------*/


.about_otameshi {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
	align-items: center;
}
.about_otameshi_txt {
    width: 50%;
}
.about_otameshi_copy {
	font-size: 24px;
	font-weight: bold;
    color: var(--main-color);
}
.about_otameshi_img {
    width: 50%;
}
.about_otameshi_img img {
    width: 100%;
}
.about_otameshi:nth-of-type(2) {
    flex-direction: row-reverse;
}





@media screen and (max-width: 750px) {
	.about_otameshi {
		flex-wrap: wrap;
		flex-direction: column-reverse;
		margin-top: 30px!important;
	}
	.about_otameshi:nth-of-type(2) {
		flex-direction: column-reverse;
	}
	.about_otameshi_img {
		width: 80%;
	}
	.about_otameshi_txt {
		max-width: 564px;
        width: 100%;
        margin-top: 15px;
	}
	
	.about_otameshi_copy {
		font-size: 18px;
	}
}



/*----------------------------------------
	最短出荷日の表示
----------------------------------------*/
.earliest,
.earliest_sp {
    background-color: #F6F6F6;
    padding: 11px 15px;
    border-radius: 3px;
    margin-bottom: 5%;
}
.earliest h5,
.earliest_sp h5 {
    font-weight: bold;
	font-size: 16px;
	padding-left: 35px;
	background-image: url("../images/common/earliest.svg");
	background-repeat: no-repeat;
	background-position: left center;
    margin-bottom: 7px;
}
.earliest h5 span,
.earliest_sp h5 span {
    color: var(--main-color);
    display: inline-block;
    margin: 0 4px;
}

.earliest_sp {display: none;}

@media screen and (max-width: 750px) {
	.earliest {display: none;}
	.earliest_sp {display: block;}
}







