@charset "utf-8";

/* 追加パーツ
----------------------------------------------------------------*/

.bnr-talent {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	padding-top: 20px;
}

.bnr-talent img {
	width: 100%;
	max-width: 100%;
	height: auto;
}

.covid-19 {
	width: calc(100% - 20px);
	max-width: 846px;
	margin: 0 auto 20px;
	padding: 20px;
	background: #FFF;
	border: 3px solid #00A0E9;
}

.covid-19 .covid-title {
	margin: 0 0 15px;
	padding: 0;
	font-size: 20px;
	font-weight: bold;
	color: #8B0000;
	line-height: 1.5;
	border-bottom: 2px solid #8B0000;
}

.covid-19 ul {
	margin: 0 0 20px;
	padding: 0 15px;
	list-style: none;
}

.covid-19 ul li {
	margin: 0 0 5px;
	padding: 0 0 0 18px;
	text-indent: -18px;
	line-height: 1.5;
}

.covid-19 ul li::before {
	content: "・";
	margin-right: 3px;
}

.covid-19 .covid-subtitle {
	margin: 0 0 10px;
	padding: 0;
	font-size: 18px;
	font-weight: bold;
	color: #8B0000;
}

/* スマテク */
.p-home-media img {
	width: 100%;
	max-width: 100%;
	height: auto;
}

.p-home-media {
	width: 100%;
}

.p-home-media__inner {
	max-width: 1000px;
	margin: 0 auto;
	padding: 50px 20px;
}

.p-home-media__heading {
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 32px;
	max-width: 785px;
}

.p-home-media__text {
	margin-bottom: 30px;
	text-align: center;
	font-weight: 700;
	letter-spacing: 0;
}

.p-home-media__more {
	display: flex;
	justify-content: center;
}

.p-home-media__more a {
	min-width: 250px;
	padding: 16px;
	font-weight: 700;
	text-align: center;
	border: 1px solid #00b7da;
	color: #FFF;
	background: #00A0E9;
}

.p-home-media__more a i {
	color: #FFF;
}

.p-home-media__more a:hover {
	color: #00A0E9;
	background: #FF6;
	border: 1px solid #00b7da;
	opacity: 1;
}

.p-home-media__more a:hover i {
	color: #00A0E9;
}

.media-link {
	margin: 20px 0 5px !important;
}

.media-link a i {
	color: #FFF;
}

/* 料金表ページ */
.item-bloc-link {
	margin-bottom: 50px;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
}

.item-bloc-link li {
	margin: 0 10px 10px;
}

.item-bloc-link li a {
	display: block;
	padding: 20px;
	color: #FFF;
	font-weight: 700;
	background: #00b7da;
	border: 2px solid #00b7da;
	border-radius: 100vh;
}

.item-bloc-link li a:hover {
	color: #00b7da;
	background: #FFF;
	border: 2px solid #00b7da;
	opacity: 1;
}

.item-bloc-link li a i {
	color: #FFF;
}

.item-bloc-link li a:hover i {
	color: #00b7da;
}

.item-bloc-title {
	margin-bottom: 30px;
	padding: 20px 10px;
	font-size: 2.25em;
	color: #FFF;
	font-weight: 700;
	text-align: center;
	line-height: 1.3;
	letter-spacing: 0 !important;
	background: #00b7da;
}

.att-time {
	margin-bottom: 20px;
	text-align: center;
	color: #00b7da;
	font-weight: 700;
	font-size: 20px;
}

.att-txt {
	color: #F00;
}

.att-txt .marker,
.att-bloc ul li .marker {
	color: #F00;
	background: linear-gradient(transparent 80%, #ff6 80%);
}

.att-txt u {
	color: #F00;
	font-weight: 700;
}

.att-txt strong {
	color: #F00;
	font-weight: 700;
}

.att-txt i {
	color: #F00;
	font-weight: 700;
}

.att-bloc {
	width: 100%;
	margin: 0 auto 30px;
	padding: 20px;
	background: #FFF;
	border: 2px solid #000;
}

.att-bloc .att-bloc-title {
	margin: 0 0 15px;
	padding: 0;
	font-size: 20px;
	font-weight: bold;
	color: #000;
	line-height: 1.5;
	border-bottom: 1px dotted #333;
}

.att-bloc ul {
	padding: 0 15px;
	list-style: none;
}

.att-bloc ul li {
	margin: 0 0 5px;
	padding: 0 0 0 18px;
	text-indent: -18px;
	line-height: 1.5;
}

.att-bloc ul li.last {
	margin-bottom: 30px;
}

.att-bloc ul li strong,
.att-bloc ul li u {
	font-weight: 700;
}

.att-bloc ul li::before {
	content: "・";
	margin-right: 3px;
}

.att-bloc-sub {
	padding: 20px;
}

.att-bloc .att-bloc-subtitle {
	display: inline-block;
	margin: 0 0 10px;
	padding: 5px;
	font-weight: bold;
	background: #EEE;
	border-radius: 5px;
}

.att-bloc-subtxt {
	margin-bottom: 10px;
}



/* テーブル内機種リンク */
.item-table-link {
	margin-bottom: 30px;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
}

.item-table-link li {
	margin: 0 10px 10px;
}

.item-table-link li a {
	display: block;
	padding: 10px;
	color: #000;
	font-weight: 700;
	background: #EEE;
	border: 1px solid #DDD;
	border-radius: 100vh;
}

.item-table-link li a i {
	color: #666;
}

.item-table {
	width: 100%;
	border-collapse: collapse;
	background: #FFF;
}

.item-table th {
	width: 50%;
	padding: 15px;
	border: 1px solid #CCC;
	background: #F4F4F4;
	vertical-align: middle;
	font-size: 1.125em;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0;
}

.item-table td {
	padding: 15px;
	border: 1px solid #CCC;
	border-bottom: 2px solid #CCC;
	vertical-align: middle;
	font-size: 1.125em;
	text-align: center;
	letter-spacing: 0;
}

.item-name {
	margin-bottom: 10px;
	display: block;
	line-height: 1.1 !important;
	font-weight: 700;
	letter-spacing: 0;
}

.item-model {
	display: block;
	font-size: 14px;
	color: #333;
	line-height: 1.1 !important;
}

.singlerepair-tbl-android .item-name {
	margin-bottom: 0;
}

.singlerepair-tbl-android .item-model {
	margin-bottom: 5px;
}

.item-price-list dt {
	margin-bottom: 5px;
	padding-top: 5px;
	padding-bottom: 5px;
	background: #F4F4F4;
	font-size: 15px;
	font-weight: 700;
	border-radius: 2px;
}

.item-price-list dd {
	margin-bottom: 10px;
	line-height: 1.1 !important;
	font-weight: 700;
	letter-spacing: 0;
}

.item-price {
	text-align: center;
	line-height: 1.1 !important;
	font-weight: 700;
	letter-spacing: 0;
}

.item-discount {
	font-size: 14px !important;
	color: #F00;
	line-height: 1.1 !important;
	text-align: center;
}

.item-att {
	margin-bottom: 30px;
	font-size: 15px;
}

.android-mv {
	margin: 0 auto 30px;
	max-width: 700px;
}

.android-mv img {
	width: 100%;
	max-width: 100%;
	height: auto;
}

.page-top-btn a {
	display: inline-block;
	padding: 10px;
	color: #00b7da;
	font-weight: 700;
	background: #FFF;
	border: 2px solid #00b7da;
	border-radius: 100vh;
}

.page-top-btn a i {
	color: #00b7da;
}

.page-top-btn a:hover {
	color: #FFF;
	background: #00b7da;
	opacity: 1;
}

.page-top-btn a:hover i {
	color: #FFF;
}

#iphone,
#ipad,
#price-switch,
#price-joycon,
#price-switchlite,
#price-switchel,
#price-xperia,
#price-galaxy,
#price-huawei,
#price-pixel,
#price-aquos,
#price-asus,
#price-xiaomi,
#price-oppo {
	padding-top: 50px;
	margin-top: -50px;
}


/*Switch */
.switch-mv {
	margin: 0 auto 30px;
	max-width: 800px;
}

.switch-mv img {
	width: 100%;
	max-width: 100%;
	height: auto;
}

@media screen and (max-width: 640px) {
	.p-home-media__text {
		font-size: 0.8rem;
	}
	.item-bloc-title {
		font-size: 1.25em;
	}

	.att-time {
		font-size: 1.1em;
	}

	th.item-name-th {
		width: 45%;
	}

	.item-table th,
	.item-table td {
		width: 100%;
		display: block;
		font-size: 0.750rem;
		padding: 10px 5px;
	}

	.item-name {
		line-height: 1.1 !important;
		letter-spacing: 0;
	}

	.item-model {
		font-size: 0.6rem !important;
		line-height: 1.1 !important;
		letter-spacing: 0;
	}

	.item-price-list dt {
		font-size: 0.6rem !important;
		line-height: 1.1 !important;
		letter-spacing: 0;
	}

	.item-price-list dd {
		font-size: 0.8rem !important;
		line-height: 1.1 !important;
		letter-spacing: 0;
	}

	.item-discount {
		font-size: 0.6rem !important;
		line-height: 1.1 !important;
	}

	.item-att,
	.att-txt,
	.att-txt-sub {
		font-size: 0.85rem;
	}

	.item-table-link li a {
		padding: 5px;
		font-size: 0.8rem;
	}

	.item-bloc-link li {
		margin: 0 5px 8px;
	}

	.item-bloc-link li a,
	.page-top-btn a {
		padding: 8px;
		font-size: 0.9rem;
	}

	.att-bloc {
		font-size: 0.75rem;
	}

	.att-bloc .att-bloc-title {
		font-size: 0.9rem;
	}

	.att-bloc-sub {
		padding: 10px;
	}

	.att-bloc .att-bloc-subtitle {
		font-size: 0.8rem;
	}

	#iphone,
	#ipad,
	#price-switch,
	#price-joycon,
	#price-switchlite,
	#price-switchel,
	#price-xperia,
	#price-galaxy,
	#price-huawei,
	#price-pixel,
	#price-aquos,
	#price-asus,
	#price-xiaomi,
	#price-oppo {
		padding-top: 150px;
		margin-top: -150px;
	}
}

/*問い合わせプライバシーポリシー同意*/
.contact-policy {
	width: 70%;
	height: 300px;
	margin: 0 auto 20px;
	padding: 15px;
	overflow: scroll;
	border: 1px solid #CCC;
}

.pp-link {
	max-width: 1000px;
	margin-right: auto;
	margin-left: auto;
	padding: 0 20px;
	padding: 0 2rem;
	margin-bottom: 30px;
	margin-bottom: 3rem;
	text-align: center;
}

@media screen and (max-width: 640px) {
	.contact-policy {
		width: 90%;
	}
}

/* footer-discount-banner.php */
.discount {
  display: none;
  width: 100%;
  border: 3px solid #007bff;
  border-radius: 8px;
  overflow: hidden;
}

.discount-header {
  background-color: #479EE3;
  color: #F9FF3B;
  font-size: 0.9rem;
  font-weight: bold;
  padding: 0.6rem;
  text-align: center;
  cursor: pointer;
  position: relative;
  box-shadow: 1px 1px;
}

/* 光るアニメーション */
@keyframes shinyshiny {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }

  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }

  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }

  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}

.discount-header.shine {
  position: relative;
  overflow: hidden;
  background-color: #479EE3;
  color: #F9FF3B;
  font-size: 0.9rem;
  font-weight: bold;
  padding: 0.6rem;
  text-align: center;
  cursor: pointer;
  box-shadow: 1px 1px;
  transition: background-color 300ms;
}

.discount-header.shine::before {
  content: "";
  position: absolute;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #b5e7ff;
  transition: 300ms;
  animation: shinyshiny 2.5s ease-in-out infinite;
}

.discount-icon {
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.5rem;
  font-weight: bold;
  color: #F9FF3B;
  transition: transform 0.3s ease;
}

.discount-content {
  display: none;
  background-color: #479EE3;
  padding: 0.5rem;
}

.discount-item {
  background-color: #4379d7;
  border-radius: 4px;
  color: #fff;
  margin-bottom: 0.5rem;
  padding: 0.75rem;
  text-align: left;
}

.discount-item-header {
  font-size: 1.1rem;
  font-weight: bold;
  color: #F9FF3B;
  padding-left: 1rem;
}

.discount-item-details {
  font-size: 0.65rem;
  margin-bottom: 0.2rem;
  padding-left: 1rem;
}

.discount-item-details p {
  font-weight: bold;
  color: #fff;
  margin-bottom: 0;
}

.discount-button {
  display: block;
  background-color: #fff;
  color: #666666 !important;
  text-align: center;
  font-size: 0.9rem;
  font-weight: bold;
  padding: 0.2rem;
  border: 3px solid #479EE3;
  border-radius: 20px;
  text-decoration: none;
  line-height: 1.3;
}


@media screen and (max-width: 640px) {
  .discount {
    display: block;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    border-radius: 0;
  }

  .discount-icon {
    font-size: 1.4rem;
  }

  .discount-content {
    max-height: 100vh;
    overflow-y: auto;
  }
}