@charset "utf-8";
/* CSS Document */

.catch_area{
	/*max-width: 680px;*/
	width: 100%;
	margin: 0 auto;
	
}
.catch_area p{
	line-height: 1.4;
	margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
	.catch_area{
	padding: 20px;
	
}
	
	
}
.reason {
    margin-bottom: 60px
}

.reason__ttl {
    font-size: 21px!important;
    font-weight: 700;
    background-color: #1d2087!important;
    color: #fff;
    -webkit-box-shadow: 0 5px 0 0 #9b9dca!important;
    box-shadow: 0 5px 0 0 #9b9dca;
    text-align: left;
    height: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 10px 0 20px!important;
}

.reason__features {
    padding-top: 65px
}

.reason__features-sec {
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    position: relative;
    margin-top: 40px
}

.reason__features-sec:first-child {
    margin-top: 50px
}

.reason__features-sec::before {
    content: "";
    width: 100%;
    height: 23px;
    background: url(../images/features_sec_shadow.png) no-repeat center top/100% auto;
    position: absolute;
    top: -23px;
    left: 0
}

.reason__features-sec>.ttl {
    position: relative;
    border: 1px solid #1d2087!important;
    min-height: 103px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: #1d2087;
    font-weight: 700;
    font-size: 30px;
    padding-left: 80px;
    padding-top: 15px;
    padding-bottom: 15px;
    cursor: pointer
}

.reason__features-sec>.ttl.is-open {
    border-bottom: 1px solid #d8d1cd!important
}

.reason__features-sec>.ttl.is-open .icon-plus::after {
    -webkit-transform: translate(-50%,-50%) rotate(180deg);
    -ms-transform: translate(-50%,-50%) rotate(180deg);
    transform: translate(-50%,-50%) rotate(180deg)
}

.reason__features-sec>.ttl .numBox {
    width: 45px;
    min-height: 72px;
    background-color: #1d2087;
    position: absolute;
    left: 15px;
    top: -7px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    padding-bottom: 5px
}

.reason__features-sec>.ttl .numBox::before {
    content: "";
    width: 9px;
    height: 6px;
    position: absolute;
    top: 0;
    right: -9px;
    background: url(../images/features_ttl_parts02.png) no-repeat center/100% auto
}

.reason__features-sec>.ttl .numBox::after {
    content: "";
    width: 100%;
    height: 19px;
    background: url(../images/features_ttl_parts01.png) no-repeat center bottom/100% auto;
    position: absolute;
    bottom: -17px;
    left: 0
}

.reason__features-sec>.ttl .shoulder {
    font-size: 16px;
    color: #b99149;
    display: block
}

.reason__features-sec>.ttl .label .sub {
    display: inline-block;
    font-size: 13px;
    -webkit-transform: translateY(2px);
    -ms-transform: translateY(2px);
    transform: translateY(2px);
    margin-left: 3px
}

.reason__features-sec>.ttl .icon-plus {
    position: absolute;
    right: 20px;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background-color: #4876c3
}

.reason__features-sec>.ttl .icon-plus::after,.reason__features-sec>.ttl .icon-plus::before {
    content: "";
    width: 14px;
    height: 2px;
    background-color: #fff;
    position: absolute;
    left: 50%;
    top: 50%
}

.reason__features-sec>.ttl .icon-plus::before {
    -webkit-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%)
}

.reason__features-sec>.ttl .icon-plus::after {
    -webkit-transform: translate(-50%,-50%) rotate(90deg);
    -ms-transform: translate(-50%,-50%) rotate(90deg);
    transform: translate(-50%,-50%) rotate(90deg);
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform,-webkit-transform;
    -webkit-transition-duration: .25s;
    transition-duration: .25s;
    -webkit-transition-timing-function: cubic-bezier(.59,.14,.47,.995);
    transition-timing-function: cubic-bezier(.59,.14,.47,.995);
    -webkit-transition-delay: 0s;
    transition-delay: 0s
}

.reason__features-sec .detail {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    -webkit-transition-property: max-height,opacity;
    transition-property: max-height,opacity;
    -webkit-transition-duration: .25s;
    transition-duration: .25s;
    -webkit-transition-timing-function: cubic-bezier(.59,.14,.47,.995);
    transition-timing-function: cubic-bezier(.59,.14,.47,.995);
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
    background-color: #f4f2f1;
    margin-top: 1px
}

.reason__features-sec .detail-inner {
    padding: 30px 25px
}

.reason__features-sec .detail-inner .ttl {
    font-size: 21px;
    font-weight: 700;
    color: #1d2087;
    line-height: 1.5;
    margin: 10px 0;
	border-left: 8px solid #1d2087;
	border-bottom: solid 1px #1d2087;
	padding-left: 10px;

}
.reason__features-sec .detail-inner .ttl span{
	font-weight: bold;
	
}

.reason__features-sec .detail-inner .ttl .clo_red {
    color: #e71c47
}

.reason__features-sec .detail-inner .descTxt {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.7;
	margin-bottom: 30px
}
.reason__features-sec .detail-inner .fbx .descTxt {
    
    width: 50%;
	margin-right: 30px;
}
.reason__features-sec .detail-inner .descTxt .clo_red {
    color: #e71c47
}
.reason__features-sec .detail-inner .descTxt .clo_blu {
    color: #1d2087;
}
.reason__features-sec.-point01 .prBox {
    margin-top: 20px
}

.reason__features-sec.-point01 .prBox .img {
    margin-right: 30px
}

.reason__features-sec.-point01 .prBox .img img {
    border-radius: 6px
}

.reason__features-sec.-point01 .prBox .pr .note {
    position: relative;
    padding-left: 13px;
    font-size: 12px;
    text-indent: 0;
    color: #474747;
    line-height: 1.4
}

.reason__features-sec.-point01 .prBox .pr .note::before {
    content: "※";
    position: absolute;
    left: 0;
    top: -1px
}

.reason__features-sec.-point02 .descWrap {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.reason__features-sec.-point02 .descBox {
    /*width: calc(100% - 400px)*/
}

.reason__features-sec.-point02 .descBox-sec:first-child {
    margin-bottom: 20px;
    padding-bottom: 20px;
   /* border-bottom: 1px dotted #cec4c0*/
}
.reason__features-sec.-point02 .detail-inner .ttl span{
    font-size: 16px;
    font-weight: normal;

}
.reason__features-sec.-point02 .detail-inner .fbx_no {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: nowrap;
	gap:30px;
}

.reason__features-sec.-point03 .detail-inner {
    padding: 30px
}

.reason__features-sec.-point03 .descSec {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.reason__features-sec.-point03 .descSec:not(:last-child) {
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px dotted #cec4c0
}

.reason__features-sec.-point03 .descSec .descBox {
    width: calc(100% - 215px)
}

.reason__features-sec.-point04 .detail-inner {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}
.reason__features-sec.-point03 .detail-inner .fbx_no {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: nowrap;
	gap:30px;
}
.reason__features-sec.-point03 .detail-inner .ttl span{
    font-size: 16px;
    font-weight: normal;

}
.reason__features-sec.-point04 .labelBox {
    width: calc(100% - 532px)
}

.reason__features-sec.-point04 .labelBox .ttl {
    font-size: 20px
}
.reason__features-sec.-point04 .detail-inner .fbx_no {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: nowrap;
	gap:30px;
}
.reason__features-sec.-point04 .detail-inner .descTxt {
    width: 80%;
	
}
.reason__features-sec.-point04 .labelBox img {
    border-radius: 6px
}

.reason__features-sec.-point04 .supportBox {
    width: 80%;
    padding: 20px 20px 20px 30px;
    background: #fff;
    border-radius: 6px;
    font-size: 16px;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-around;
	margin: 30px auto;
}

.reason__features-sec.-point04 .supportBox .supportList li {
    position: relative;
    padding-left: 16px;
    font-weight: 500
}

.reason__features-sec.-point04 .supportBox .supportList li::before {
    content: "・";
    position: absolute;
    left: 0;
    top: 0;
    color: #b99149
}

.cta-btn_taiken {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #1f2099;          /* 濃い青 */
  color: #fff!important;
  padding: 14px 28px;
  border-radius: 8px;
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
  position: relative;
  box-shadow: 0 4px 0 rgba(0, 0, 0, 0.3); /* 下側の影（画像と同じ雰囲気） */
  transition: transform 0.1s ease, box-shadow 0.1s ease;
}
.center-wrap {
  width: 100%;  
  display: flex;
  justify-content: center; /* 横中央 */
  align-items: center;      /* 縦中央 */
	margin: 30px 0;
}
.cta-btn_taiken:hover {
  transform: translateY(2px);
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.3);
}

.arrow-icon {
  width: 18px!important;
  height: 18px;
  display: block;
	background: transparent !important;
  border: none !important;
  outline: none !important;
}
@media screen and (max-width: 767px) {
	.reason__features-sec.-point02 .detail-inner .fbx_no {    
    flex-wrap: wrap;
	gap:0px;
}
	.reason__features-sec.-point03 .detail-inner .fbx_no {    
    flex-wrap: wrap;
	gap:0px;
}
	.reason__features-sec.-point04 .detail-inner .fbx_no {    
    flex-wrap: wrap;
	gap:0px;
}
	.reason__features-sec.-point04 .detail-inner .descTxt {
    width: 100%;
	
}
	
	
	.reason__features {
        padding-left: 0;
        padding-right: 0
    }

    .reason__features-sec {
        padding-left: 10px;
        padding-right: 10px
    }

    .reason__features-sec::before {
        height: 20px;
        top: -20px;
        background: url(../images/features_sec_shadow_sp.png) no-repeat center top/100% auto
    }

    .reason__features-sec>.ttl {
        font-size: clamp(23px,-15.4615384615px + .1025641026 * 100vw,27px);
        padding-right: 35px;
        line-height: 1.3
    }

    .reason__features-sec>.ttl .shoulder {
        line-height: 1.4;
        margin-bottom: 5px;
		font-size: 14px;	
    }

    .reason__features-sec>.ttl .label .sub {
        font-size: 27px;
        -webkit-transform: translateY(10px);
        -ms-transform: translateY(10px);
        transform: translateY(10px)
    }

    .reason__features-sec>.ttl .icon-plus {
        right: 10px;
        width: 20px;
        height: 20px
    }

    .reason__features-sec>.ttl .icon-plus::after,.reason__features-sec>.ttl .icon-plus::before {
        width: 12px
    }

    .reason__features-sec.-point01 .prBox .img {
        width: 100%;
        margin-right: 0
    }

    .reason__features-sec.-point01 .prBox .img img {
        width: 100%
    }

    .reason__features-sec.-point01 .prBox .pr {
        margin-top: 15px;
        width: 100%
    }

    .reason__features-sec.-point01 .prBox .pr img {
        width: 100%
    }

    .reason__features-sec.-point01 .prBox .pr .note {
        margin-top: 10px
    }

    .reason__features-sec.-point02 .descBox {
        width: 100%
    }
.reason__features-sec .detail-inner .fbx .descTxt {
    
    width: 100%;
	margin-right: 0px;
}
    .reason__features-sec.-point02 .imgBox {
        margin-top: 20px;
        margin-right: auto;
        margin-left: auto
    }

    .reason__features-sec.-point03 .descSec {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .reason__features-sec.-point03 .descSec .img {
        margin-bottom: 10px;
        width: 100%
    }

    .reason__features-sec.-point03 .descSec .img img {
        width: 100%
    }

    .reason__features-sec.-point03 .descSec .descBox {
        width: 100%
    }

    .reason__features-sec.-point04 .labelBox {
        width: 100%
    }

    .reason__features-sec.-point04 .labelBox .img {
        margin-bottom: 15px
    }

    .reason__features-sec.-point04 .supportBox {
        width: 100%;
        padding: 20px
    }
	
}

.course-buttons {
  display: flex;
  gap: 24px;
  justify-content: center;
  flex-wrap: wrap;
}

/* 共通スタイル */
.course-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 14px 30px;
  border-radius: 40px;
  font-size: 0.9rem;
  color: #fff!important;
  text-decoration: none;
  box-shadow: 0 6px 16px rgba(0,0,0,0.22);
  font-weight: bold;
  transition: transform 0.12s ease, box-shadow 0.12s ease;
  user-select: none;
  position: relative;
}

/* 白丸アイコン */
.course-btn::after {
  content: "▶";
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #fff;
  font-weight: bold;
  transition: transform 0.12s ease; /* 必要ならアイコンもわずかに動かせる */
}

/* ---- グラデーション（画像準拠） ---- */
.course-orange {
  background: linear-gradient(to bottom, #f89a50 0%, #f57e32 100%);
}
.course-orange::after {
  color: #F57E32;
}

.course-blue {
  background: linear-gradient(to bottom, #5a8de0 0%, #4473CA 100%);
}
.course-blue::after {
  color: #4473CA;
}

.course-green {
  background: linear-gradient(to bottom, #8ecc57 0%, #71B345 100%);
}
.course-green::after {
  color: #71B345;
}

/* ホバーしたときに「沈む」 */
.course-btn:hover,
.course-btn:focus-visible {
  transform: translateY(2px); /* 下へ2px移動＝沈む */
  box-shadow: 0 3px 8px rgba(0,0,0,0.18); /* 影を小さくして「接地感」を出す */
}

/* クリック（より深く沈む） */
.course-btn:active {
  transform: translateY(4px); /* 押下時はさらに沈める */
  box-shadow: 0 2px 6px rgba(0,0,0,0.16);

}
.link-icon-img {
  display: inline-flex;          /* アイコンと文字を自然に横並び */
  align-items: center;           /* 縦位置を中央に */
  gap: 6px;                      /* アイコンと文字の間 */
  text-decoration: none;         /* 下線なし */
  color: #0066cc;                /* お好みの色に */
  font-size: 1.1rem;     /* 文字サイズ */
  font-weight: 600;   	
}

.link-icon-img::before {
  content: "";
  width: 16px;                   /* アイコンの幅 */
  height: 16px;                  /* アイコンの高さ */
  background: url(../images/search_ico.png) no-repeat center/contain;
  flex-shrink: 0;
}			
	

