@charset "UTF-8";
/* アイコン */
main section.iconDetal {
	padding: 0;
}
main section.iconDetal aside {
	border: 2px solid #dfe4e8;
	padding: 6px 8px 2px;
	margin: 0 auto 20px;
}
main section.iconDetal p,
main section.iconDetal li {
	font-size: 12px;
}
main section.iconDetal p {
	margin: 4px 0;
	padding: 0;
	text-align: center;
	font-weight: bold;
}
main section.iconDetal .comment_price{
  text-align: left;
  margin: 0;
  padding: 2px;
  font-size: 12px;
  letter-spacing: 0.1em;
}
main section.iconDetal .comment_price:last-child{
  padding-bottom: 8px;
}
main section.iconDetal .comment_price--red{
  color: #e50012;
  font-weight: bold;
}
main section.iconDetal .comment_price span{
  font-weight: bold;
}
main section.iconDetal li {
	margin: 0 12px 4px 0;
}
main section.iconDetal .bgicon {
	min-width: 5em;
	margin-right: 8px;
}


/* plan & country 料金表記 共用css */
main .btn.yellow {
	height: 42px;
	border: 1px solid #000;
	margin: 4px 8px 4px 4px;
}
main #price ul.plan{
  margin:0;
  width: 100%;
}
main #price table.plane{
  width: 100%;
}
main #price table.plane tr,
main #price table.plane tr.empty {
  height: 63px;
}
main #price table.plane th {
  border-top: none;
}
main #price table.plane th.capacity {
	position: relative;
	padding: 6px 4px 6px 84px;
	letter-spacing: 0.04em
}
main #price table.plane th,
main #price table.plane td {
  height: 60px;
  text-align: right;
  font-weight: normal;
  padding: 6px 4px;
}
main #price table.plane th::after {
	content: '';
	display: inline-block;
	width: 1px;
	height: 100%;
	vertical-align: middle;
}
main #price table.plane td {
  font-size: 18px;
  font-weight: bold;
}
main #price table.plane td:nth-of-type(1) {
  line-height: 1.5;
  text-align: left;
}
main #price table.plane td .normal_price {
	font-size: 12px;
  font-weight: normal;
  color: #000;
  letter-spacing: 0.5px;
  margin-right: 36px;
}
@media screen and (max-width:767px) {
  main #price table.plane td {
    font-size: 16px;
    padding: 6px 0;
  }
  main #price table.plane td .normal_price {
    margin-right: 30px;
  }
}
@media screen and (max-width:395px) {
  main #price table.plane td {
    font-size: 1.0rem;
  }
}
main #price table.plane td .discountRed {
	color: #e50012;
  font-weight: normal;
  font-size: 14px;
}
main #price table.plane td .discountBox {
  background: #e50012;
  color: #fff;
  font-size: 12px;
  padding: 0 3px;
  letter-spacing: 0.5px;
  display: inline-block;
  margin-left: 3px;
}
main #price table td span.fontRed {
  display: block;
  color: #f90466;
}
main #price table.plane td .normal{
  font-weight: normal;
  margin-right: 8px;
}
main #price table.plane td .normal::before{
  background: #0e0e0e;
}
main #price table.plane td .normal::after{
  border-top-color: #0e0e0e;
  border-right-color: #0e0e0e;
}
main #price .plan table.plane tr{
  border-top: none;
  border-bottom: 1px solid #dce5eb;
}
main #price table.plane{
  border-bottom: none;
}
main #price ul.plan table.plane{
  border-left: 1px solid #dce5eb;
}
main #price ul.plan>li:nth-of-type(2n-1)>table.plane{
  border-left: none;
}
main #price table.plane span.bgicon {
	position: absolute;
	left: 6px;
	top: 50%;
	transform: translateY(-50%);
	width:74px;
	margin: 0 4px 0;
}
main #price table.plane span.capaDay,
main #price table.plane span.price {
	position: relative;
	top: 2px;
}
main #price ul.plan>li>h4 {
  background-position: center 12px;
  background-repeat: no-repeat;
  padding: 12px 0 11px;
  text-align: center;
  color: #fff;
}
main #price ul.plan>li{
  width:50%;
  margin:0 auto;
  display: block;
  vertical-align: top;
  text-align: right;
  background: #fff;
}
main #price ul.plan>li.plan4g>h4 {
  background: none;
  background-color: #2b94e4;
}
main #price ul.plan>li.plan3g>h4 {
  background: none;
  background-color: #3d9de8;
}
main #price ul.plan>li>h4{
  font-size: 14px;
  margin-bottom: 0;
  border-left: 1px solid #fff;
}
main #price ul.plan>li:nth-of-type(2n-1)>h4{
  border-left: none;
}
/* HAYAWARI */
main #price a.earlyRese {
  pointer-events: none;
  position: relative;
  display: block;
  width: 100%;
  margin: 28px auto 16px;
  border: 1px solid #1f2ca0;
}
main #price a.earlyRese {
	margin: 42px auto 14px;
}
main #price li.plan3g a.earlyRese,
main #price li.plan3g div.tdetail section h5 {
  border-left: 1px solid #fff;
}
main #price ul.plan>li div.tdetail table.plane {
  border-left: 1px solid #dcdbc0; /* #d8c2cb */
}
main #price ul.plan>li:nth-of-type(2n-1) div.tdetail table.plane {
  border-left: none;
}
main #price a.earlyRese:hover {
  opacity: 1.0;
}
main #price a.earlyRese span.speed,
main #price a.earlyRese span.btn.arrow-u,
main #price a.earlyRese span.btn.arrow-d {
  display: inline-block;
  vertical-align: middle;
  font-weight: bold;
  font-size: 14px;
}
main #price a.earlyRese span.speed {
  width: 47%;
  padding: 8px 4px 8px 10px;
  text-align: center;
  color: #fff;
  background-color: #1f2ca0;
}
main #price a.earlyRese span.btn.arrow-u,
main #price a.earlyRese span.btn.arrow-d {
  position: relative;
  width: 53%;
  margin: 0;
  padding: 8px 10px 8px 4px;
  color: #f90466;
  background-color: #fff;
}
main #price a.earlyRese span.btn::before {
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  display: block;
  border-top: 19px solid transparent;
  border-bottom: 19px solid transparent;
  border-left: 18px solid #1f2ca0;
}
main #price a.earlyRese span.btn.arrow-r::after,
main #price a.earlyRese span.btn.arrow-u::after,
main #price a.earlyRese span.btn.arrow-d::after {
  display: none;
}
main #price div.tdetail {
  display: block;
  margin-bottom: 10px;
}
main #price div.tdetail p {
  margin-bottom: 14px;
  text-align: center;
}
main #price div.tdetail section {
  padding: 0;
}
main #price div.tdetail section:not(:last-of-type) {
  margin-bottom: 16px;
}
main #price div.tdetail section h5 {
  margin: 0;
  padding: 6px 0 4px;
  font-size: 14px;
  color: #fff;
  background-color: #f90466;
}
main #price div.tdetail table.plane {
/*  height: 127px; */
  background-color: #fafbe7; /* #fff7f8 */
  border-left: none;
}
main #price div.tdetail table.plane tr {
  border-color: #dcdbc0; /* #d8c2cb */
}
main #price div.tdetail table.plane tr:last-of-type {
  border-bottom: none;
}
main #price div.tdetail section table.plane tr:last-of-type {
  border-bottom: 1px solid #dcdbc0; /* #d8c2cb */
}
main #price div.tdetail table.plane td {
  color: #d80258;
}


@media screen and (max-width:767px) {
main .btn.yellow {
	height: 40px;
}
/* アイコン */
main section.iconDetal li {
	letter-spacing: 0;
	font-size: 11px;
}
main section.iconDetal .bgicon {
	margin-right: 6px;
}


/* plan & country 料金表記 共用css */
  main #price ul.plan>li{
    width:100%;
  }
  main #price ul.plan>li:last-of-type{
    margin-bottom: 0;
  }
  main #price ul.plan table.plane {
    border-left: none;
  }
	main #price ul.plan>li>h4 {
		text-shadow: 0 0 8px rgba(0,0,0,0.4);
		background-size: auto 87%;
		background-position: top 8px center;
    font-size: 16px;
	}
  main #price table.plane tr.empty {
    display: none;
  }
  main #price table.plane span.bgicon {
    margin: 0;
  }
  main #price table.plane a.btn {
    white-space: nowrap;
    padding-left: 14px;
    padding-right: 25px;
  }
  main #price table.plane th {
    text-align: left;
  }
  main #price #option p,
  main #price #option ul {
    width: auto;
    float: none;
  }
  main #price ul.plan>li:nth-of-type(1) {
    margin-bottom: 6px;
  }
  main #price a.earlyRese {
    pointer-events: auto;
    margin: 20px auto 14px;
  }
  main #price a.earlyRese span.speed,
  main #price a.earlyRese span.btn.arrow-u,
  main #price a.earlyRese span.btn.arrow-d {
    padding: 7px 4px 5px;
  }
  main #price a.earlyRese span.speed {
    padding: 7px 4px 5px 10px;
    text-shadow: 0 0 0 #fff, 0 0 0 #fff;
  }
  main #price a.earlyRese span.btn.arrow-u,
  main #price a.earlyRese span.btn.arrow-d {
    padding: 6px 10px 5px 4px;
    text-shadow: 0 0 0 #f90466, 0 0 0 #f90466;
  }
  main #price a.earlyRese span.btn::before {
    border-top: 17px solid transparent;
    border-bottom: 17px solid transparent;
    border-left: 15px solid #1f2ca0;
  }
  main #price a.earlyRese span.btn.arrow-r::after,
  main #price a.earlyRese span.btn.arrow-u::after,
  main #price a.earlyRese span.btn.arrow-d::after {
    display: block;
    border-top-color: #f90466;
    border-right-color: #f90466;
  }
  main #price div.tdetail {
    display: none;
    margin-bottom: 14px;
  }
  main #price div.tdetail p {
    margin-bottom: 12px;
  }
  main #price table.plane tr,
  main #price table.plane tr.empty,
  main #price div.tdetail table.plane {
    height: auto;
  }
  main #price div.tdetail section:not(:last-of-type) {
    margin-bottom: -1px;
  }
  main #price ul.plan>li.plan3g div.tdetail table.plane {
    border-left: none;
  }
	main #price .plan table.plane tr th:empty,
	main #price .plan table.plane tr td:empty {
		  display: none;
	}
}


@media screen and (max-width:480px) {
	main #price table.plane th.capacity {
		padding: 6px 4px;
	}
	main #price table.plane th::after {
		display: none;
	}
	main #price table.plane th.capacity span {
		display: block;
	}
	main #price table.plane span.bgicon {
		position: static;
		transform: none;
		margin: 0 0 4px -2px;
	}
	main #price table.plane span.capaDay {
		line-height: 1.0;
	}
	main .btn.yellow {
		margin: 4px 4px 4px 4px;
	}
}


/*-----------------------------------------------------------------------
 空港別ページ
*----------------------------------------------------------------------- */
main .tab_m_europe #price li td a {
	visibility: hidden;
}
main .tab_m_europe #price div.euBtnWrap {
	position: relative;
	z-index: 2;
	height: 77px;
	margin-bottom: 42px;
	padding: 12px 0 14px;
	text-align: center;
}
main .tab_m_europe #price div.tdetail div.euBtnWrap {
	margin-bottom: 16px;
	background-color: #fafbe7;
	border-bottom: 1px solid #dcdbc0; /* #d8c2cb */
}
main .tab_m_europe #price div.euBtnWrap a {
	width: 194px;
	padding-right: 30px;
}
main .tab_m_europe #price li.plan3g h4+table {
	margin-bottom: 119px;
}
main .tab_m_europe #price li.plan3g div.tdetail section:not(:last-of-type) {
	margin-bottom: 93px;
}


@media screen and (max-width:767px) {
	main .tab_m_europe #price ul.plan>li:nth-of-type(1) {
		margin-bottom: -1px;
		padding: 0;
}
	main .tab_m_europe #price div.euBtnWrap {
		margin-bottom: 0;
	}
	main .tab_m_europe #price li.plan4g a.earlyRese,
	main .tab_m_europe #price li.plan4g dic.tdetail {
		display: none;
	}
	main .tab_m_europe #price li.plan3g h4+table {
		margin-bottom: 0;
	}
	main .tab_m_europe #price div.euBtnWrap {
		width: 100%;
	}
	main .tab_m_europe #price a.earlyRese {
		margin: 36px auto 14px;
	}
	main .tab_m_europe #price ul.euEarlyRese li {
	width: 100%;
}
	main .tab_m_europe #price table.plane tr td {
		padding-right: 16px;
    font-size: 16px;
	}
	main .tab_m_europe #price div.euBtnWrap {
		padding: 14px 0 12px;
	}
	main .tab_m_europe #price div.tdetail section table.plane tr {
		border-bottom: 1px solid #dcdbc0; /* #d8c2cb */
	}
	main .tab_m_europe #price div.tdetail section table.plane th.earlySpeed {
	  width: 60px;
	}
	main .tab_m_europe #price div.tdetail section table.plane th.earlySpeed> span {
		display: inline-block;
		width: 44px;
		height: 36px;
		padding-top: 6px;
		font-size: 11px;
		line-height: 1;
		letter-spacing: 0;
		text-align: center;
		font-weight: bold;
		color: white;
	}
	main .tab_m_europe #price div.tdetail section table.plane th.earlySpeed> span.es4g {
		background-color: #0b77d0;
	}
	main .tab_m_europe #price div.tdetail section table.plane th.earlySpeed> span.es3g {
		background-color: #2ead5f;
	}
	main .tab_m_europe #price div.tdetail section table.plane th.earlySpeed span span {
		display: block;
		margin-top: 3px;
	}
	main .tab_m_europe #price div.euBtnWrap a {
		width: 168px;
		padding: 13px 26px 11px 20px;
	}
		main .tab_m_europe #price ul.euEarlyRese+ p {
		  margin-top: 10px;
	}
}


/* price top 20190410 */
main #pagelink ul.double li:nth-of-type(1) {
  display: inline-block;
}
main #pagelink ul.double li:nth-of-type(2) {
  display: none;
}

/* 20191010 add plan */
.newcaledonia #price .earlyRese,
.newcaledonia #price .earlyRese+ div.tdetail{
  display: none;
}


/* キャンペーン料金の表示 20191106 */
.plan-campaign {
  margin: 24px auto 42px;
  padding: 0;
}
main #price .plan-campaign-head {
  background: #cc0000;
  color: #fff;
  font-size: 26px;
  margin: 0 auto 20px;
  padding: 12px 10px 11px;
  text-align: center;
}
.plan-campaign-subhead {
  display: block;
  font-size: 18px;
  margin: -2px auto 0;
}
.is-inline_wrap {
  letter-spacing: -0.4em;
}
main #price .plan-campaign-left,
.plan-campaign-detail {
  display: inline-block;
  vertical-align: middle;
}
main #price .plan-campaign-left {
  width: 50%;
}
main #price .plan-campaign .plan {
  margin: 0 auto 10px;
  width: 100%;
}
main #price .plan-campaign .plan>li {
  width: 100%;
}
main #price .plan-campaign .plan table.plane tr {
  border-top: 1px solid #dce5eb;
}
.plan-campaign .price {
  color: #f20000;
  text-shadow: 0 0 0 #f20000, 0 0 0 #f20000;
}
p.plan-campaign-caution {
  color: #f20000;
  font-weight: bold;
  letter-spacing: 0em;
  margin: 0 auto;
}
.plan-campaign-detail {
  margin: 0 0 0 4%;
  width: 46%;
}
@media screen and (max-width:767px) {
  .plan-campaign {
    margin: 0 auto 20px;
  }
  main #price .plan-campaign-head {
    font-size: 17px;
    margin: 0 auto;
  }
  .plan-campaign-subhead {
    font-size: 14px;
    margin: 0 auto;
  }
  main #price .plan-campaign-left,
  .plan-campaign-detail {
    display: block;
    width: 100%;
  }
  main #price .plan-campaign-left {
    margin: 0 auto 14px;
  }
  main #price .plan-campaign .plan {
    margin: 0 auto 12px;
  }
  main #price .plan-campaign .plan>li:nth-of-type(1) {
    margin: 0 auto;
  }
  main #price .plan-campaign .plan table.plane tr {
    border-top: none;
  }
  .plan-campaign-detail {
    border: 3px solid #cc0000;
    margin: 0 auto;
    max-width: 320px;
  }
  p.plan-campaign-caution {
    line-height: 1.4;
  }
}
@media screen and (max-width: 320px) {
  main #price .plan-campaign-head {
    font-size: 16px;
  }
  .plan-campaign-subhead {
    font-size: 13px;
  }
  main #price .plan-campaign-left {
    margin: 0 auto 12px;
  }
}

