/* PCではHTML自体を隠す */
.sp-display {display: none;}
/* 横幅768px以下から適用 */
@media screen and (max-width: 768px) {
  .sp-display {display: block;}
  .sp-hide {display: none;}

  .sp-text12 {font-size: 12px!important;}
  .sp-text14 {font-size: 14px!important;}
  .sp-text16 {font-size: 16px!important;}

  .sp-w100 { width: 100%; }

  /* ヘッダ部分 */
  header {
    height: 85px;
    flex-direction: column-reverse;
  }
  header.flex-between {justify-content: start;}
  .logo {
    width: 200px;min-width: 108px;max-width: 200px;
    padding: 0;
    font-size: 26px;
  }
  .logo img {margin-right: 3px; width: 36px;}
  .topSearch {
    height: 38px;
    margin: 0 auto;
    max-width: calc(100% - 40px);
  }
  .modalWindow .topSearch {
    margin: 0 0 20px;
    max-width: 100%;
  }
  .topSearch > input[type="text"] {width: auto;}
  .topSearch > select.mainSearch {
    background-position: right 8px top 16px;
	  width: 90px;min-width: 90px;max-width: 90px;
  }
  .topSearch button {width:43px;}

  .country {width: 65px;min-width: 65px;max-width: 65px;color: #000;}
  .entranceLogin {min-width: 50px;max-width: calc(100vw - 200px);color: #000;}

  /* メインナビゲーション部分 */
  #main-nav {height: 76px;}
  #main-nav > ul {background-color: #1F1F1F;padding: 0 16px;}
  #main-nav > ul a,#main-nav > ul label {
    padding: 0 11px;
    margin: 0 8px;
    font-size: 15px;
  }

  #side-overlay {display: none!important;}
  aside{display: none!important;}

  /* ハンバーガー部分 */
  .hamburgerDisplay {
    display : block;
    position: absolute;
    right : 13px;
    top   : 17px;
    width : 42px;
    height: 42px;
    cursor: pointer;
    text-align: center;
    z-index: 2;
  }
  .hamburgerDisplay.active {
    width : 40px;
    height: 40px;
    top   : 12px;
    animation-name:spanMove;
	  animation-duration:0.4s;
  }
  @keyframes spanMove {
    from {transform: translateY(65px);}
    to {transform: translateY(0);}
  }
  .hamburgerDisplay span {
    display : block;
    position: absolute;
    width   : 30px;
    height  : 2px;
    left    : 6px;
    background : #FFF;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition   : 0.3s ease-in-out;
    transition        : 0.3s ease-in-out;
  }
  .hamburgerDisplay span:nth-child(1) {
    top: 10px;
  }
  .hamburgerDisplay span:nth-child(2) {
    top: 20px;
  }
  .hamburgerDisplay span:nth-child(3) {
    top: 30px;
  }
  .hamburgerDisplay.active span:nth-child(1) {
		top : 16px;
		left: 6px;
		background :#fff;
		-webkit-transform: rotate(-45deg);
		-moz-transform   : rotate(-45deg);
		transform        : rotate(-45deg);
	}
	.hamburgerDisplay.active span:nth-child(2),
	.hamburgerDisplay.active span:nth-child(3) {
		top: 16px;
		background :#fff;
		-webkit-transform: rotate(45deg);
		-moz-transform   : rotate(45deg);
		transform        : rotate(45deg);
	}
  .hamburgerBG.active {
    display: block;
    position: fixed;
    z-index:99;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(255,255,255,0.7);
  }

  .hamburger {
    display: none;
  }
  .hamburger.active{
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 60%;
    background-color: #1F1F1F;
    padding-top: 50px;
    animation-name:menuMove;
	  animation-duration:0.4s;
  }
  @keyframes menuMove {
    from {transform: translateX(50%);}
    to {transform: translateX(0);}
  }
  #main-nav > ul .hamburger.active a,#main-nav > ul .hamburger.active label {
    height: 60px;
    padding: 0 30px;
    font-size: 16px;
  }
  .hamburger.active
  

  /* コンテンツ部分 */
  #main h2 {
    text-align: center;
    font-size: 38px;
    margin-bottom: 68px;
  }
  #main h2 > span {
    display: block;
    font-size: 12px;
  }
  #main h4 {
    font-weight: 400;
    padding-bottom: 20px;
    /*margin-bottom: 39px;*/
    border-bottom: 1px solid #707070;
  }
   #main h4.shopName {
    font-weight: 700;
    padding-bottom: 5px;
    margin-top: 20px;
    border-bottom: 1px solid #e0e0e0;
  }
  /* メッセージ */
  .backMessage {
    position: absolute;
    top: 0;
    left: 0;
    display: inline-block;
    font-size: 29px;
    height: 29px;
    line-height: 29px;
    text-decoration: none;
    color: #1F1F1F;
  }

  /* フッター */
  #toTop{
    background-color: #4A4A4A;
    height: 52px;
  }
  #toTop img {width: 12px; margin-left: 26px;}

  #sitemap{
    display: block;
    height: auto;
  }
	#sitemap a {
    display: block;
    height: 68px;
    line-height: 68px;
    margin: 0;
    font-size: 18px;
    padding-left: 42px;
    background-image: url(./../img/common/chevron-right.svg);
    background-repeat: no-repeat;
    background-size: 6px 10px;
    background-position: left 20px top 30px;
  }
  #copyright {
    height: 85px;
    background-color: #141414;
  }

  /* プラン作成フォーム */
  .plan-edit > div {
    flex-direction: column;
  }
  .plan-edit > div > p {padding-bottom: 12px;}

  /* ソート */
  .sortList {
    flex-direction:column;
    -webkit-align-items: end;align-items: end;
  }
  .sortList input[type="date"],.sortList select,.sortList p {margin-bottom:5px;}
}

/* 700px以下 */
@media screen and (max-width: 700px) {
  /* メインナビゲーション部分 */
  #main-nav > ul {padding: 0 14px;}
  #main-nav > ul a,#main-nav > ul label {
    padding: 0 6px;
    margin: 0 3px;
    font-size: 14px;
  }

  .btn-group {
    flex-direction: column;
    margin-left: 10px;
    margin-right: 10px;
  }
  .btn-group > a {margin-right: 0;}
  .btn-group .btn-gray {margin-bottom: 6px;}
  .btnGroup0 > input[type="button"],
  .btnGroup0 > input[type="submit"],
  .btn-group > input[type="button"],
  .btn-group > input[type="submit"]{margin-right:0; padding:0px 40px;}
}

/* 600px以下 */
@media screen and (max-width: 769px) {
	/* コンテンツ部分 */
	#main h2 {
		text-align: center;
		font-size: 24px;
		margin-bottom: 20px;
	}
	#main {
		width: 100%;
		max-width: calc(100% - 12px);
		margin: 20px auto 0px auto;
	}
	#main .populars{
		padding: 8px 8px 16px;
	}
	.spClmn {
		/*flex-direction: column-reverse;*/
		align-items: start;
	}
	.spClmn .iconsGroup {
		/*width: 100%;*/
		justify-content: end;
	}
	.iconsText {
		margin-top:14px;
	}
	/* メインナビゲーション部分 */
	#main-nav > ul {
		padding: 0 6px;
	}
	#main-nav > ul a,#main-nav > ul label {
		padding: 0 3px;
		margin: 0 2px;
		font-size: 14px;
	}
}

/* 540px以下 */
@media screen and (max-width: 540px) {
  #main h2 {font-size: 20px;}
  /* メインナビゲーション部分 */
  #main-nav {height: 49px;}
  #main-nav > ul a,#main-nav > ul label {
    padding: 0 3px;
    margin: 0 2px;
    font-size: 12px;
  }
  .logo {font-size: 24px;width: 90px;min-width: 90px;}
  .logo > img{width: 30px;}
  /* ハンバーガー部分 */
  .hamburgerDisplay {top   : 3px;}
}
/* 475px以下 */
@media screen and (max-width: 475px) {
  /* メインナビゲーション部分 */
  #main-nav > ul a,#main-nav > ul label {font-size: 10px;}
  .logo {font-size: 20px;width: 78px;min-width: 78px;}
  .logo > img{width: 26px;}
}

/* 410px以下 */
@media screen and (max-width: 410px) {
  /* メインナビゲーション部分 */
  #main-nav > ul {padding: 0 4px;}
  #main-nav > ul a,#main-nav > ul label {
    padding: 0 2px;
    margin: 0 2px;
  }
  #main-nav .mr-10px {margin-right: 6px;}
}

/* 390px以下 */
@media screen and (max-width: 390px) {
  #main h2 {font-size: 18px;}
  /* メインナビゲーション部分 */
  #main-nav > ul {padding: 0 4px;}
  #main-nav > ul a,#main-nav > ul label {
    padding: 0;
    margin: 0 2px;
  }
  #main-nav .mr-10px {margin-right: 4px;}
}
/* 374px以下 */
@media screen and (max-width: 374px) {
  /* メインナビゲーション部分 */
  #main-nav > ul a,#main-nav > ul label {
    line-height: 49px;
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0 4px;
  }
}

/* fudamoto write */
@media (max-width: 768px) {
	.sp-block {
		display: block !important;
	}
	.sp-flex {
		display: flex;
	}
	.sp-flexStart {
		justify-content: space-start;
	}
	.sp-flexBetween {
		justify-content: space-between;
	}
	.sp-bdBottom {
		border-bottom: 1px solid #d4d4d4;
	}
	.sp-ww30 {
		width: 26%;
	}
	.sp-ww70 {
		width: 74%;
	}
	.sp-mb10 {
		margin-bottom: 10px !important;
	}
	.sp-mb30 {
		margin-bottom: 30px !important;
	}
}
