/* ------------------------------------*\
  Color management
\*------------------------------------ */
@media screen and (min-width: 960px) {
  .content .grid {
    margin: 0 auto;
    max-width: 1080px;
  }
}

@media screen and (min-width: 960px) {
  .top-section {
    padding-bottom: 104px;
  }
  .main-visual-padding {
    padding-bottom: 50px !important;
  }
}
@media screen and (max-width: 959px) {
  .top-section {
    padding-bottom: 64px;
  }
  .main-visual-padding {
    padding-bottom: 30px !important;
  }
}

.section__inner {
  margin-top: 46px;
  background-color: #fff;
  box-shadow: rgba(0, 0, 0, 0.15) 0 2px 8px;
  padding: 70px 80px;
  border-radius: 4px;
}
@media screen and (max-width: 959px) {
  .section__inner {
    padding: 25px 24px;
    margin-top: 28px;
  }
  .section__inner.app-area{    
    padding: 56px 24px;
  }
  .app-logo-img{
    max-width: 246px;
  }
}


.horizontal-rule {
  border: none;
  border-top: 1px solid #ddd;
  margin: 56px 0;
}
.main-visual {
  padding-top: 0px;
}
.main-visual__slide {
  width: 100%;
}

@media screen and (min-width: 960px) {
  .main-visual__slide {
    /*height: calc(calc(calc(100vw - 200px) * 0.4435) + 18px);*/
  }
}
@media screen and (max-width: 959px) {
  .main-visual__slide {
    height: calc(calc(calc(100vw - 48px) * 1.1009) + 18px);
  }
}
.main-visual__slide-container {
  width: 100%;
}

@media screen and (min-width: 960px) {
  .main-visual__slide-item {
    width: calc(100% - 200px);
    max-width: 1200px;
  }
}
.main-visual__slide-container {
  padding: 0 0 40px 0;
}
.main-visual__slide-container > .main-visual__slide-pagination-bullets{
  bottom: 0px;
  width: 100%;
}
@media screen and (max-width: 959px) {
  .main-visual__slide-item {
    width: calc(100% - 48px);
  }
}

.main-visual__card {
  overflow: hidden;
  cursor: pointer;
}

.main-visual__card-img {
  width: 100%;
}

@media screen and (min-width: 960px) {
  .heading {
    margin: 0 104px;
  }
}
@media screen and (max-width: 959px) {
  .heading {
    margin: 0 16px;
  }
}
.heading--no-padding {
  padding-bottom: 0;
}

.heading__h2 {
  font-weight: 300;
  color: #333;
  text-align: center;
}
@media screen and (min-width: 960px) {
  .heading__h2 {
    font-size: 38px;
  }
}
@media screen and (max-width: 959px) {
  .heading__h2 {
    font-size: 28px;
  }
}

.heading__sub {
  font-size: 16px;
  text-align: center;
  padding-bottom: 6px;
}

.key-visual {
  background-color: #fff;
  box-shadow: rgba(0, 0, 0, 0.15) 0 2px 8px;
}
@media screen and (min-width: 960px) {
  .key-visual {
    margin-top: 46px;
    border-radius: 4px;
    overflow: hidden;
  }
}
@media screen and (max-width: 959px) {
  .key-visual {
    padding-bottom: 56px;
    margin-top: 28px;
  }
}

.key-visual__article {
  display: flex;
  border-bottom: 1px solid #ddd;
}
@media screen and (max-width: 959px) {
  .key-visual__article {
    flex-wrap: wrap;
    border-bottom: 0;
  }
}

.key-visual__inner {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  flex-basis: 50%;
}
@media screen and (min-width: 960px) {
  .key-visual__inner {
    min-height: 387px;
  }
}
@media screen and (max-width: 959px) {
  .key-visual__inner {
    flex-basis: 100%;
    width: 100%;
    min-height: 274px;
  }
}

.article-wrapper {
  flex-basis: 50%;
  width: 50%;
  padding: 35px 80px 35px 80px;
  align-items: center;
}
@media screen and (min-width: 960px) {
  .article-wrapper {
    display: flex;
    flex-flow: column;
    justify-content: center;
  }
}
@media screen and (max-width: 959px) {
  .article-wrapper {
    padding: 32px 24px 0;
    flex-basis: 100%;
    width: 100%;
  }
}

.article {
  text-align: left;
  margin-top: 24px;
}
.article--text-center {
  text-align: center;
}

.article__visual-text {
  color: #333;
  font-size: 16px;
}
.article__visual-title{
  font-weight: 300;
  text-align: center;
}
.article__title--icon>span{
  position: relative;
  display: inline-block;
}
.article__title--icon>span::before {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  font-weight: normal;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.article__title--wallet>span::before{
  background: url(/-/media/tfc/ts3web/file/common/img/icon-wallet.svg) no-repeat;
  background-size: contain;
}
@media screen and (min-width: 960px) {
  .article__visual-title{
    font-size: 32px;
  }
  .article__title--icon{
    padding: 13px 0 13px 0;
  }
  .article__title--icon>span{
    padding-left: 100px;
  }
  .article__title--icon>span::before {
    width: 80px;
    height: 80px;
  }
  .article__title--wallet{
    background-size: 84px;
  }
  .article-wrapper .button-link-wrap{
    margin-top: 32px;
  }
}
@media screen and (max-width: 959px) {
  .article__visual-title{
    font-size: 26px;
  }
  .article__title--icon{
    padding: 9px 0 9px 0;
  }
  .article__title--icon>span{
    padding-left: 80px;
  }
  .article__title--icon>span::before {
    width: 65px;
    height: 65px;
  }
  .article-wrapper .button-link-wrap{
    margin-top: 40px;
  }
}
.key-visual__item {
  padding: 40px 0 80px;
}
@media screen and (max-width: 959px) {
  .key-visual__item {
    padding: 0;
  }
}

.key-visual__content {
  display: flex;
  flex-wrap: wrap;
  margin-top: 26px;
}

.key-visual__image {
  padding-left: 80px;
  width: 50%;
}

.key-visual__image-inner {
  max-width: 100%;
}

.key-visual__detail {
  width: 50%;
  padding: 0 80px;
}
@media screen and (max-width: 959px) {
  .key-visual__detail {
    padding: 40px 24px 0;
    width: 100%;
  }
}

.button-link-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  flex-flow: column;
}
.button-link-wrap.no-margin-top {
  margin-top: 0;
}
.button-link-wrap:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 959px) {
  .button-link-wrap {
    flex-direction: column;
  }
}
.button-link-wrap--padding-top {
  padding-top: 56px;
}

.button-link__inner {
  width: 320px;
  display: inline-block;
}
@media screen and (min-width: 960px) {
  .button-link__inner + .button-link__inner {
    margin-top: 24px;
  }
}
@media screen and (max-width: 959px) {
  .button-link__inner:not(:last-child) {
    margin-bottom: 16px;
  }
}
@media screen and (max-width: 480px) {
  .button-link__inner {
    width: 100%;
    display: flex;
    justify-content: center;
  }
}

.heading-wrap {
  text-align: center;
}
@media screen and (min-width: 960px) {
  .heading-wrap {
    margin: 0 80px;
  }
}
@media screen and (max-width: 959px) {
  .heading-wrap {
    margin: 0 16px;
  }
}

.card-feature__wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.card-feature__item {
  margin-top: 56px;
  width: 100%;
}
@media screen and (min-width: 960px) {
  .card-feature__item {
    flex-basis: calc(50% - 28px);
    max-width: calc(50% - 28px);
  }
}
@media screen and (max-width: 959px) {
  .card-feature__item {
    margin-top: 49px;
  }
  .card-feature__item:first-child {
    margin-top: 32px;
  }
}

.card-feature__body {
  background-color: #fff;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
  border-radius: 4px;
}

.card-feature__header {
  padding: 0 16px 35px;
  text-align: center;
}
.card-feature__header p{
  line-height: 1.625;
}
@media screen and (max-width: 959px) {
  .card-feature__header {
    padding: 0 0 24px;
  }
  .card-feature__header p{
    margin-top: 12px;
  }
}

.card-feature__title {
  font-size: 32px;
  margin-top: 12px;
  font-weight: 300;
  line-height: 0.8125;
}
@media screen and (max-width: 959px) {
  .card-feature__title {
    font-size: 26px;
    line-height: 1.46;
  }
}

.card-feature__detail {
  padding: 36px 80px 48px;
  min-height: 423px;
}
.card-feature__detail.is-center {
  text-align: center;
}
@media screen and (min-width: 960px) {
  .card-feature__detail {
    border-radius: 8px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
  }
}
@media screen and (max-width: 959px) {
  .card-feature__detail {
    min-height: auto;
    padding: 20px 24px 57px;
  }
}
@media screen and (min-width: 960px) {
  .card-feature__detail .button-link-wrap{
    margin-top: auto;
  }
}
.card-feature__image {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  flex-basis: 50%;
  background-color: #ddd;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}
@media screen and (min-width: 960px) {
  .card-feature__image.is-bigger {
    min-height: 276px;
  }
}
@media screen and (max-width: 959px) {
  .card-feature__image.is-bigger {
    min-height: 200px;
  }
}
@media screen and (min-width: 960px) {
  .card-feature__image.is-smaller {
    min-height: 178px;
  }
}
@media screen and (max-width: 959px) {
  .card-feature__image.is-smaller {
    min-height: 131px;
  }
}
@media screen and (max-width: 959px) {
  h3 {
    line-height: 1.4;
  }
}
.card-feature__detail .button-links .link__a.btn--icon{
  padding: 7px 36px 7px 36px;
  align-items: center;
}
.card-feature__detail .button-links .link__a.btn--icon img{
  width: 67px;
}
.btn--icon--myts {
  width: calc(100% - 4em );
  max-width: 150px;
  padding-right: 10px;
}

.login-icon::after {
  content: "";
  position: absolute;
  background-image: url(/-/media/tfc/ts3web/file/common/img/components/link-login-gray.png);
  background-size: contain;
  height: 14px;
  width: 14px;
  top: 50%;
  right: 1em;
  transform: translateY(-50%);
}
.card-feature__text {
  font-size: 12px;
  margin-bottom: 2px;
}

.heading__h3 {
  font-size: 22px;
  font-weight: 600;
  position: relative;
  margin-top: 56px;
}
.heading__h3 + .sub-heading__h3 {
  margin-top: 32px;
}
.heading__h3--no-margin-top {
  margin-top: 0;
}

.new__title {
  font-size: 32px;
  margin-bottom: 25px;  
  font-weight: 300;
}

.new__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 50px;
}

.new-item {
  display: flex;
  padding: 21px 0;
  flex-basis: 48%;
  border-bottom: 1px solid #ddd;
  position: relative;
}
.new-item:nth-child(1) {
  border-top: 1px solid #ddd;
}
.new-item:nth-child(2) {
  border-top: 1px solid #ddd;
}
@media screen and (max-width: 959px) {
  .new__title {
    font-size: 24px;
  }
  .new-item {
    flex-basis: 100%;
  }
  .new-item:nth-child(2) {
    border-top: 0;
  }
}

.new-item__link-cover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.new-item__information {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  flex-basis: calc(100% - 50px);
}

.new-item__date {
  margin-right: 15px;
  font-size: 14px;
}

.new-item__tag-item {
  display: inline-block;
  padding: 2px 6px;
  border: 1px solid #707070;
  border-radius: 5px;
  margin-right: 5px;
  margin-bottom: 5px;
  font-size: 10px;
}

.new-item__tag {
  width: 100%;
  margin-top: 10px;
}

.new-item__detail {
  margin-top: 10px;
  width: 100%;
  display: flex;
  align-items: center;
}

.new-item__icon {
  margin-left: 20px;
}

.top-detail__link .uip-accordion__link-text{
  font-size: 32px;
  font-weight: 300;
}
@media screen and (max-width: 959px) {
  .top-detail__link .uip-accordion__link-text{
    padding-left: 0;
    font-size: 24px;
  }
}

.new-item__button {
  display: flex;
  flex-basis: 50px;
  padding-left: 15px;
  align-items: center;
  justify-content: flex-end;
}

.new-item__link {
  display: inline-block;
}

.new-item__arrow {
  width: 8px;
  height: 16px;
}

.top-detail__list {
  padding: 0;
}

.top-detail__wrap {
  margin-bottom: 0;
}

.top-detail__body {
  padding-left: 0;
  padding-right: 0;
  font-weight: 300;
}
.top-detail__body.is-show {
  padding-bottom: 0;
  padding-top: 0;
}
.top-detail__body .new__list {
  margin-bottom: 0;
}
@media screen and (max-width: 959px) {
  .top-detail__body .new-item:first-child {
    border-top: 0;
  }
}

.detail-item__information {
  padding-top: 50px;
}

.detail-item__information-label {
  font-size: 32px;
  margin-bottom: 16px;
  font-weight: 300;
}

.detail-item__information-text {
  margin-top: 10px;
}

.car-service {
  margin-top: 45px;
}

@media screen and (max-width: 959px) {
  .detail-item__information-label {
    font-size: 24px;
  }
  .car-service__wrap {
    margin-right: 24px;
    margin-left: 24px;
  }
}

.car-service__list {
  display: flex;
  flex-wrap: wrap;
  list-style-type: none;
  justify-content: flex-start;
}
@media screen and (max-width: 959px) {
  .car-service__list {
    margin-right: -24px;
    margin-left: -24px;
  }
}

.car-service__item {
  margin-bottom: 24px;
  margin-right: 24px;
  border-radius: 5px;
  width: calc((100% / 4) - 18px);
  overflow: hidden;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.16);
  background-color: #fff;
}
.car-service__item:nth-of-type(4n) {
  margin-right: 0;
}
@media screen and (max-width: 959px) {
  .car-service__item {
    width: calc((100% / 2) - 32px);
  }
  .car-service__item:nth-child(odd) {
    margin-right: 8px;
    margin-left: 24px;
  }
  .car-service__item:nth-child(even) {
    margin-left: 8px;
    margin-right: 24px;
  }
}

.car-service__content {
  height: 100%;
}

.car-service__logo {
  background-color: #f6f6f6;
  display: flex;
  align-items: center;
  justify-content: center;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}
@media screen and (min-width: 960px) {
  .car-service__logo {
    height: 154px;
  }
}
@media screen and (max-width: 959px) {
  .car-service__logo {
    height: auto;
    padding: 14px 0;
  }
}

.car-service__image {
  max-width: 80%;
}

@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop,
.car-service__image {
    width: 80%;
  }
}
.car-service__name {
  background-color: #fff;
  font-size: 14px;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
  height: calc(100% - 128px);
  padding: 12px;
}

.car-service__link {
  display: block;
  color: #333;
  height: 100%;
}
@media screen and (min-width: 960px) {
  .car-service__link:hover {
    opacity: 0.8;
  }
}

@media screen and (max-width: 959px) {
  .section--advertise {
    padding-right: 24px;
    padding-left: 24px;
  }
}
.app-area .text-wrap{
  margin-top: 26px;  
}
.app-area .column1_2.button-wrap{
  margin-top: 32px;
}

.app-area .button-links .link__a {
    padding: 16px 36px 15px 36px;
}
@media screen and (min-width: 960px){
  .app-area .button-links .link__a {
    min-width: 370px;
}
}
.advertise-list {
  display: flex;
  flex-wrap: wrap;
  list-style-type: none;
  justify-content: space-between;
}
.app-title{
  text-align: center;
  font-size: 32px;
  font-weight: 300;
}
.app__title--icon>span{
  position: relative;
  display: inline-block;
  padding-left: 60px;
  text-align: left;
}
.app__title--icon>span::before {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  font-weight: normal;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
}
.app__title--contractor>span::before{
  background: url(/-/media/tfc/ts3web/file/common/img/icon-contractor.svg) no-repeat;
  background-size: contain;
}
.app__title--support>span::before{
  background: url(/-/media/tfc/ts3web/file/common/img/icon-support-03.svg) no-repeat;
  background-size: contain;
}
@media screen and (max-width: 959px) {
  .app-title{
    font-size: 26px;
  }
}
@media screen and (max-width: 959px) {
  .advertise-list {
    margin-right: 0;
    margin-left: 0;
  }
}

.advertise-item {
  width: calc(50% - 12px);
  margin-bottom: 24px;
  max-height: 180px;
}
@media screen and (max-width: 959px) {
  .advertise-item {
    width: 100%;
    text-align: center;
    margin-left: 0;
    margin-right: 0;
  }
}

.advertise-item__link {
  display: block;
  position: relative;
  border: 1px solid #ddd;
  background-size: cover;
}
.advertise-item__link.no-border {
  border: 0;
}

.advertise-item__image {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 959px) {
  .advertise-item__image {
    width: auto;
    height: auto;
    max-width: 100%;
  }
}

.advertise-item__wall {
  padding: 12px;
  background-color: #cdd6dd;
  text-align: center;
  height: 100%;
}

.advertise-item__label {
  color: #fff;
}

.advertise-item__description {
  font-size: 17px;
  color: #333;
  margin-top: 10px;
}
.advertise-item__description.no--margin {
  margin-top: 0;
}
@media screen and (max-width: 959px) {
  .advertise-item__description {
    font-size: 13px;
  }
}

.advertise-item__title {
  color: #333;
  font-size: 30px;
  margin-top: 10px;
}
.advertise-item__title.no--margin {
  margin-top: 0;
}
@media screen and (max-width: 959px) {
  .advertise-item__title {
    font-size: 20px;
  }
}

.advertise-item__detail {
  padding: 24px 15px 24px 40%;
}
@media screen and (max-width: 480px) {
  .advertise-item__detail {
    padding: 8px 10px 8px 35%;
  }
}

.top-notification {
  padding: 16px 0;
}

.top-notification__body {
  padding: 0 16px;
  border: 1px solid #d8302d;
  background-color: #fff;
}
@media screen and (max-width: 959px) {
  .top-notification__body {
    margin-left: 16px;
    margin-right: 16px;
  }
}

.top-notification__item {
  padding: 20px 0;
  color: #eb0a1e;
}
.top-notification__item + .top-notification__item {
  border-top: 1px solid #d8302d;
}
@media screen and (max-width: 959px) {
  .top-notification__item {
    padding: 10px 0;
    font-size: 14px;
    line-height: 1.2;
  }
}

.top-notification__link {
  color: #eb0a1e;
}
.top-notification__link::after {
  background: url(/-/media/tfc/ts3web/file/common/img/components/icon-text-link-arrow.png) no-repeat;
  background-size: contain;
  margin-left: 5px;
  content: "";
  width: 6px;
  height: 12px;
  display: inline-block;
}
@media (hover: hover) {
  .top-notification__link {
    text-decoration: none;
  }
}
@media (hover: none) {
  .top-notification__link:hover {
    text-decoration: none;
  }
}
.app__item-wrap{
  display: block;
}
.top-notification__link:hover .text-link__text {
  text-decoration: none;
}
.login-id,.first-login{
	position:relative;
  padding-left: 35px;
}
.login-id:before{
	position:absolute;
	left:0;
  top: calc(50% - 17px);
	content:"";
	display:inline-block;
	width:32px;
	height:32px;
	background:url(/-/media/tfc/ts3web/file/common/img/template/icon-member.png) no-repeat;
	background-size:contain;
}
.first-login:before{
	position:absolute;
	left:0;  
  top: calc(50% - 16px);
	content:"";
	display:inline-block;
	width:32px;
	height:32px;
	background:url(/-/media/tfc/ts3web/file/common/img/template/icon-first.png) no-repeat;
	background-size:contain;
}
@media screen and (min-width: 960px) {
  .mb-pc-62{
    margin-bottom: 62px;
  }
  .pc-taL{
    text-align: left;
  }
  .pc-taC{
    text-align: center;
  }
  .jc-fs{justify-content: flex-start;}
}
@media screen and (max-width: 959px) {
  .w-sp-100{
    width: 100%;
  }
  .sp-taC{
    text-align: center;
  }
  .sp-taL{
    text-align: left;
  }
  .app__item + .app__item {
    border-top: 1px solid #ddd;
}
}
.heading__h5--icon {
  padding-left: 30px;
  font-weight: 300;
  position: relative;
}
.heading__h5--icon::before {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  font-weight: normal;
  width: 26px;
  height: 26px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.heading__h5--card02::before {
  background-image: url(/-/media/tfc/ts3web/file/common/img/icon-card02.svg);
}
.heading__h5--carcredit::before {
  background-image: url(/-/media/tfc/ts3web/file/common/img/icon-carcredit.svg);
}
.text-link-wrap.flex{
  margin-top: 16px;
}
.text-link-wrap.flex .text-link{
  display: flex;
}
@media screen and (min-width: 960px){
.column1_2 .column__child.creditcard {
    flex-basis: 56%;
}
.column1_2 .column__child.carcredit {
  flex-basis: 40%;
}
.text-link-wrap.flex .text-link{
  justify-content: flex-start;
}
.text-link-wrap.flex .text-link .text-link__item + .text-link__item{
  margin-left: 20px;
}
}
@media screen and (max-width: 959px){
.text-link-wrap.flex .text-link{
  justify-content: flex-start;
  flex-flow: wrap;
}
.text-link-wrap.flex .text-link .text-link__item {
  flex-basis: 50%;
}
}