body {
	position: relative;
}

.pc-header {
	height: 5rem;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    background: #FFF;
}

.l-main {
	margin-top: 4.5rem;
}

header h1 {
	margin-left: 5% !important;
    display: inline-flex;
    align-items: center;
    font-size: 2.5rem;
    font-weight: 800;
    color: #149702;
}

.p-slider {
  overflow: hidden;
  width: 100%;
  padding: 20px 0;
}

.p-slider__track {
  display: flex;
  width: max-content;
  animation: slide-left 30s linear infinite;
}

.p-slider__list {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
}

.p-slider__item {
  flex-shrink: 0;
  padding: 0;
}

.p-slider__item img {
  max-height: 60px;
  width: auto;
  vertical-align: middle;
}

/* アニメーション */
@keyframes slide-left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}

/* レスポンシブで速度を調整（任意） */
@media (max-width: 768px) {
  .p-slider__track {
    animation-duration: 40s;
  }
  
  .p-slider__item img {
  	max-height: 50px;
  }
}

.p-point__professional-item-image {
	height: 240px;
    display: flex;
    align-items: center;
}

.sp-only {
    display: none;
}

.p-header__logo {
	font-size: 1.8rem;
}


.p-ranking__heading {
	font-size: 2.4rem
}

.p-ranking__copy {
	margin: 1rem auto;
}

.c-heading--h2 {
	font-size: 2.1rem;
}

.p-point__subsection-heading {
	font-size: 1.8rem;
    margin: 1.5rem auto;
}

.c-section {
    width: 80%;
    margin: 0 auto;
    padding: 3rem 5rem;
}

.p-point__image,
.p-point__point-image {
    margin: 0 auto;
    margin-bottom: 2rem;
    width: 80%;
}

.p-recommend__heading {
	font-size: 2.4rem;
    text-align: center;
}

.p-home4u__heading {
	font-size: 1.8rem;
}

.p-home4u__copy {
    font-size: 1.5rem;
}

.p-home4u__icon {
	left: 1em;
}

.p-home4u__description p {
	line-height: 2;
}

.p-home4u__description {
    padding: 2.5rem 1.625rem 4rem;
}

.p-summary__point-text {
	font-size: 1.5rem;
    line-height: 1.8;
}

.s-fv {
	display: none;
}

.p-recommend__item-symbol {
	font-size: 5rem;
}

.p-recommend__review-content {
	line-height: 1.7;
}

.p-home4u__button {
	font-size: 1.5rem;
}

.p-home4u__subheading {
	padding-top: 2rem;
}

.p-summary__button {
	font-size: 1.8rem;
}

@media screen and (max-width: 769px) {
	.p-fv {
    	display: none;
    }
    
    .s-fv {
    	display: block;
        width: 100%
    }
    
    .l-main {
    	margin-top: 2.5rem;
    }
    
	.c-section {
	    width: 90%;
    	margin: 0 auto;
    	padding: 1rem 0;
	}

	.sp-only {
    	display: block;
    }
	.pc-header {
    	height: 5rem;
    }
    
    .p-header__logo {
    	font-size: 1.8rem;
    }
    
    .p-slider__item img {
    	height: 60px;
    }
    
    .p-ranking__heading {
    	font-size: 2rem;
    }
    
    .p-ranking__copy {
    	font-size: 1.5rem;
        padding: 0 15px;
    }
    
    .c-heading--h2 {
    	font-size: 1.5rem;
        padding: 0.5em;
    }
    
    .p-point__regret-point-list-heading {
    	width: 18rem;
    }
    
    .p-point__professional-item-heading {
    	font-size: 1.6rem;
    }
    
    .p-point__professional-item-description {
    	line-height: 1.8;
    }
    
    .p-point__regret-point-list {
    	padding: 1rem;
    }
    
    .p-recommend__item-description {
		font-size: 1.1rem;
    }
    
    .p-recommend__item-symbol {
    	font-size: 4rem;
    }
    
    .p-point__regret-point-item {
      display: flex;
      align-items: flex-start; /* ← flex-startにすることで上下のズレを防止 */
      gap: 0.5em;
      line-height: 1.6; /* テキスト行間調整。必要に応じて調整 */
      position: relative;
      padding-left: 38px; /* ← アイコン用のスペース */
      margin-bottom: 1rem;
    }

    .p-point__regret-point-item::before {
      content: "";
      position: absolute;
      top: 0.2em; /* ← 微調整ポイント。ズレたら上下をここで調整 */
      left: 0;
      width: 24px;
      height: 24px;
      background: url(../images/icon_check.svg) no-repeat center / contain;
      flex-shrink: 0;
    }
	.p-point__subsection-heading {
    	line-height: 1.8;
        font-size: 1.4rem;
        margin: 2rem auto;
        padding: 1rem;
    }
    .p-point__professional-list-heading {
    	font-size: 1.4rem;
        background: #f6e260;
        text-align: center;
        padding: 1% 3%;
        margin: 1rem auto;
    }
    .p-point__professional-list {
    	flex-direction: column;
    	padding: 1rem 2rem;
        align-items: center;
    }
    .p-point__professional-item {
    	width: 80%;
        margin-bottom: 2rem;
    }
    .p-point__point-heading {
    font-size: 1.3rem;
    }
    
    .p-recommend__heading {
    	text-align: center;
        line-height: 1;
        padding: 2rem 0;
        margin: 3rem auto;
    }
    .p-recommend__baloon-root {
    	font-size: 1.7rem;
    }
    .p-recommend__baloon {
        top: -11px;
        left: 34%;
        padding: 1.2rem;
        font-size: 1em;
        white-space: nowrap;
    }
    
    .p-recommend__logo {
    	width: 80%;
    }
    
    .p-recommend__item-heading {
    	font-size: 1rem;
    }
    .p-recommend__review-inner {
        flex-direction: column;
        align-items: center;
    }
    
    .p-recommend__review-heading {
        font-size: 1.3rem;
        margin-bottom: 1.3em;
    }
	
    .p-recommend__summary-item {
        font-size: 1.2rem;
        line-height: 1.8;
    }
    .p-recommend__review-left {
        width: 80%;
    }
    .p-recommend__review-image {
    	width: 100%;
    }
    .p-recommend__summary {
    	padding: 3rem 1rem;
    }
    .p-home4u__subheading {
	    padding: 1rem 0;
    }
    .p-recommend__summary-button {
        font-size: 1rem;
    }
    .p-home4u__heading {
    	font-size: 1.6rem;
    }
    .p-home4u__heading em {
    	font-size: 1.8rem;
    }
    .p-home4u__content {
        flex-direction: column;
        padding: 1rem;
    }
    .p-home4u__copy {
    	font-size: 1.5rem;
    }
    .p-home4u__icon {
    	left: 1em;
    }
    .p-home4u__button {
    	font-size: 1.8rem;
 	}
    .p-home4u__point-heading {
    	font-size: 1.8rem;
    }
    .c-description p {
    	font-size: 1.1rem;
        line-height: 1.8;
    }
    .p-home4u__description {
    	padding: 1rem;
    }
    
    .p-summary__point {
    	flex-direction: column;
    }
    .p-summary__point-text {
      font-size: 1.4rem;
    }
    
    .p-point__regret-point-list-container {
    	margin: 3rem auto;
    }
    
    .p-summary__button {
		font-size: 1.5rem;
        line-height: 1.6;
        text-align: center;
        padding: 1rem;
    }
    
    .p-recommend__summary-heading {
    	margin-bottom: 1em;
    }
    .table-scroll-wrapper {
      width: 100%;
      overflow-x: scroll;
    }
    
    .p-ranking__table {
    	width: 140%;
    }
    
    .p-ranking__table thead th {
    	font-size: 1rem;
     }
     
     .p-ranking__table thead tr th:first-child {
     	width: 7rem !important;
     }

     .p-ranking__table tbody tr th {
    	font-size: .8rem;
        width: 7rem !important;
    }
    
    .p-ranking__text-green {
    	font-size: 1.5rem;
    }
    
    .p-ranking__logo {
    	padding: 0;
    }
    
    .p-ranking__star {
        font-size: 1.3rem;
    }
    
    .p-ranking__text {
    	font-size: .8rem;
  	}
    
    .p-ranking__button {
    	font-size: 1rem;
    }
    
    .p-ranking__table tbody tr td {
    	padding: 1rem 5px;
        width: 10rem !important;
        line-height: 1.5;
    }
    .table td:first-child {
    	width: 10rem !important;
    }
}

footer small {
	font-size: .9rem;
   	text-align: center;
    display: block;
}

em {
	font-weight: bold;
    font-size: 1.3em;
}

strong {
	font-weight: bold;
    font-size: 1.2em;
}

.p-recommend__review-image {
	overflow: hidden;
    width: 15rem;
    height: 15rem;
    border-radius: 11rem;
    margin-left: 2rem;
}