@charset "UTF-8";
/**** 2025.9.12 ****/
#topReason {
  text-align: center;
  padding-top: 80px;
  /*padding-bottom: 20px;*/
}
#topReason .container {
  max-width: 1300px;
}
.reason_orange {
  background: linear-gradient(transparent 75%, #ff8800 60%);
}
.reasonTitle {
  font-size: 6vw;
  font-weight: 900;
  margin-bottom: 30px;
}
#topReason .container .btnWrapper {
	margin-top: 30px;
}
#topReason .container .reason-green {
  	margin-top: 30px;
}
#topReason .container .reason-blue {
  	margin-top: 30px;
}

@media only screen and (min-width: 576px) {
  .reasonTitle {
    font-size: 3.2rem;
  }
}

@media only screen and (min-width: 768px) {
  .reasonTitle {
    font-size: 3.2rem;
  }
  #topReason .container .btnWrapper {
    margin-top: 40px;
  }
}
@media only screen and (min-width: 992px) {
  #topReason .container .reason-green {
  	margin-top: 0px;
  }
  #topReason .container .reason-blue {
  	margin-top: 30px;
  }
}
@media only screen and (min-width: 1200px) {
  .reasonTitle {
    margin-bottom: 50px;
  }
  #topReason .container .btnWrapper {
    margin-top: 60px;
  }
  #topReason .container .reason-blue {
  	margin-top: 0px;
  }
}

@media only screen and (min-width: 1600px) {
  .reasonTitle {
    font-size: 4rem;
  }
}

.reason-card {
   width: clamp(330px, 65%, 375px) !important;/*iphoneSE 対応 clamp(最小値,推奨値,最大値) */
}

@media (min-width: 768px) {
.reason-card {
    width: clamp(375px, 60%, 375px) !important; /* PCでは広めに */
  }
}

/* 大画面 */
@media (min-width: 1200px) {
.reason-card {
    width: clamp(375px, 60%, 375px) !important;
  }
}
.reason-card {
  border-radius: 30px;
  padding: 30px 0 0 0;
  color: #fff;
  text-align: center;
  height: 100%;
  /*width: 60% !important;*/
  /*width: clamp(350px, 65%, 375px) !important;/*iphoneSE 対応 clamp(最小値,推奨値,最大値) */*/
  max-width: 600px; /* 最大幅制限（オプション） */
  margin: 0 auto;   /* 中央寄せ */
  display: block;   /* 念のため */
  box-sizing: border-box; /* はみ出し防止 */
  flex: 1 1 300px; /* フレックスレイアウトで可変 */
}

/* iPhone 16対応 */
@media only screen and (max-width: 430px) {
  .reason-card {
    width: 90% !important;
    margin: 0 auto !important;
  }
}
.reason-row {
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;     /* 折り返しを有効に */
  gap: 20px; /* ← 間隔を詰める */
}
.reason-subtitle {
  font-weight: 700;
  font-size: 4vw;
  margin-bottom: 0;
}
.reason-subtitle span {
  font-size: 140%;
}

.reason-title {
  font-size: 4vw;
  font-weight: 700;
  line-height: 1.8;
  padding-bottom: 20px;
  color: #fff;
}
.reason-title span {
  font-size: 70%;
}

.reason-text {
  background-color: rgba(255, 255, 255, 0.95);
  border-radius: 0 0 15px 15px;
  padding: 40px 10px;
  color: #000;
  font-size: 4.0vw;
  line-height: 1.8;
  font-weight: 600;
}

.reason-orange {
  color: #ff8800;
}

.reason-green {
  color: #00b31e;
}

.reason-blue {
  color: #0075c8;
}
.reason-bg-orange {
  background-color: #ff8800;
}

.reason-bg-green {
  background-color: #3ba672;
}

.reason-bg-blue {
  background-color: #0075c8;
}

@media (min-width: 576px) {
  .reason-title {
    font-size: 2rem;
  }
  .reason-subtitle {
    font-size: 2rem;
  }
  .reason-text {
    font-size: 1.8rem;
  }
}
@media (min-width: 768px) {
  .reason-title {
    font-size: 2.0rem;
  }
  .reason-text {
    font-size: 2.0rem;
  }
}
@media (min-width: 992px) {
  .reason-text {
    height: 255px;
  }
}
@media (min-width: 1200px) {
  .reason-title {
    font-size: 2.5rem;
  }
  .reason-text {
    font-size: 2.0rem;
    height: 310px;
  }
}
@media (min-width: 1480px) {
  .reason-text {
    height: 310px;
  }
}
@media (min-width: 1600px) {
  .reason-text {
    height: 310px;
  }
}
@media (min-width: 1840px) {
  .reason-text {
    height: 310px;
  }
}
@media (min-width: 1950px) {
  .reason-text {
    height: 310px;
  }
}

/**** 2025.10.9 reason ****/
.reasonWrapper {
  font-size: 1.4rem;
  line-height: 2.6rem;
}
.reasontit {
  text-align: center;
}
.reasontit h3 {
  font-weight: bold;
  font-size: 8vw;
  display: inline-block;
}
.reasontit h3 span {
  color: red;
}
.reasontit p {
  margin-top: 20px;
  font-weight: bold;
}
.reason_blank {
  width: 100%;
  min-height: 0;
}
@media (min-width: 768px) {
  .reasontit h3 {
    margin-top: 0;
    font-size: 6rem;
  }
  .reason_blank {
    min-height: 60px;
  }
}
@media (min-width: 1600px) {
  .reasontit h3 {
    margin-top: 80px;
    font-size: 10rem;
  }
}

.reasonWrappertit h1 {
  position: relative;
  padding: 0.25em 0.5em;
  color: white;
  font-size: 6vw;
  margin-bottom: 40px;
}
.rtorange h1 {
  background: #ff8800;
}
.rtgreen h1 {
  background: #00b31e;
}
.rtblue h1 {
  background: #0075c8;
}
@media (min-width: 768px) {
  .reasonWrappertit h1 {
    font-size: 3.2rem;
  }
}
.reasonWrapper img {
  width: 100%;
  padding: 10px;
}
.reasonWrappertit h1::before {
  position: absolute;
  content: "";
  top: 100%;
  left: 0;
  border: none;
  border-bottom: solid 15px transparent;
}
.rtorange h1::before {
  border-right: solid 20px rgb(164, 133, 108);
}
.rtgreen h1::before {
  border-right: solid 20px rgb(71, 112, 80);
}
.rtblue h1::before {
  border-right: solid 20px rgb(47, 97, 166);
}

.reasonWrapperin h2 {
  font-size: 5vw;
  text-align: center;
  padding: 20px 0;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  margin-bottom: 20px;
}
.reasonWrapperin p {
  font-size: 3vw;
  letter-spacing: 0.1;
  line-height: 2.5rem;
}
@media (min-width: 768px) {
  .reasonWrapperin h2 {
    font-size: 2rem;
    line-height: 4rem;
  }
  .reasonWrapperin p {
    font-size: 1.5rem;
  }
}

.reason_right_wrap {
  position: relative;
}
.reason_right {
  position: relative;
  padding: 60px 10px 10px;
  z-index: 1;
}
.reason_right h3 {
  font-size: 5vw;
  margin-top: 10px;
  padding-bottom: 10px;
  margin-bottom: 10px;
  text-align: center;
}
.reason_right h5 {
  text-align: center;
  font-size: 1.2rem;
  line-height: 2rem;
}
.reason_right h5 span {
  color: #af0b03;
}

.rborange {
  background-color: #fff6eb;
}
.rborange h3 {
  color: #ff8800;
  border-bottom: 1px dotted #ff8800;
}
.rbgreen {
  background-color: #effaf3;
}
.rbgreen h3 {
  color: #00b31e;
  border-bottom: 1px dotted #00b31e;
}
.rbblue {
  background-color: #e7f2ff;
}
.rbblue h3 {
  color: #0075c8;
  border-bottom: 1px dotted #0075c8;
}
.speechBubble_area {
  position: relative;
  margin-top: 30px;
  padding-top: 20px;
}
.speechBubble_wrap {
  position: absolute;
  top: -10px;
  left: 0;
  right: 0;
  z-index: 2;
  text-align: center;
}
.speechBubble {
  position: relative;
  display: inline-block;
  margin-bottom: 16px;
  padding: 10px 30px;
  border-radius: 30px;
  text-align: center;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.5;
  color: #ffffff;
}

.speechBubble::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  border-style: solid;
  border-width: 16px 8px 0 8px;

  translate: -50% 100%;
}
.speech_orange {
  background-color: #ff8800;
}
.speech_orange::after {
  border-color: #ff8800 transparent transparent;
}
.speech_green {
  background-color: #00b31e;
}
.speech_green::after {
  border-color: #00b31e transparent transparent;
}
.speech_blue {
  background-color: #0075c8;
}
.speech_blue::after {
  border-color: #0075c8 transparent transparent;
}

.reason_telmail {
  margin: 5px 0;
  border-top: 2px dotted #fff;
  border-bottom: 2px dotted #fff;
}

.reason_tel {
  margin-top: 10px;
  font-size: 8vw;
  font-weight: bold;
  text-align: left;
  color: #000;
  line-height: 4rem;
}
.reason_telsub {
  text-align: left;
  padding-bottom: 10px;
  margin-bottom: 0;
}
.reason_mailsub {
  text-align: center;
  font-weight: bold;
  color: #0075c8;
}
.reason_mail {
  text-align: left;
  margin-top: 20px;
}
.reason_mail a {
  color: #000;
  font-weight: bold;
  font-size: 4.2vw;
}
.reason_icon {
  text-align: center;
}
.reason_icon img {
  max-width: 80%;
  padding: 10px;
  margin: 0;
}
@media (min-width: 768px) {
  .reason_tel {
    font-size: 3.6rem;
    line-height: 4rem;
    letter-spacing: 0;
  }
  .reason_mail a {
    font-size: 1.6rem;
    line-height: 1rem;
  }
  .reason_icon img {
    max-width: 100%;
    margin: 10px 0;
    padding: 0;
  }
  .reason_right {
    padding: 30px 10px 10px 10px;
  }
  .reason_right h3 {
    font-size: 2rem;
  }
}
/*@media (max-width: 992px) {
	.reason_tel {
		text-align: center;
	}
	.reason_telsub {
		text-align: center;
	}
	.reason_mail {
		text-align: center;
	}
}*/
@media (min-width: 1600px) {
  .reason_tel {
    font-size: 6rem;
    line-height: 6rem;
  }
  .reason_mail a {
    font-size: 3rem;
    line-height: 6rem;
  }
}