@charset "utf-8";
@import url("color.css");

* {
	box-sizing: border-box;
}

html {
	overflow-y: scroll;
	scroll-behavior: smooth;
}

body {
	color: var(--shienshi-text);
	background-color: #E3EEF4;
	letter-spacing: 0.1em; /*100*/
	line-height: 1.7;
	font-size: 0.875rem;/*14px*/
	font-feature-settings: "palt";
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
}

.sp_block {
	display: none;
}

a {
	text-decoration: none;
	transition: all 0.3s;
    position: relative;
}
.link {
	position: relative
}
.link a {	
position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  text-align: center;
}

a:hover {
	opacity: 0.5;
}

img {
	height: auto;
	width: 100%;
}

.sp_block {
	display: none;
}
section {
	padding: 150px 0 80px;
	position: relative;
}
section.bg-gradation {
	background: var(--shienshi-gradation);
}

section.bg-skyblue {
	background-color: var(--shienshi-skyblue);
}
section::after {
	content: '';
    display: inline-block;
    width: 100%;
    padding-top: 19%;
	/* -webkit-mask-image: url(../img/top_divider.svg);
	mask-image: url(../img/top_divider.svg); */
    /* background-repeat: no-repeat;
    background-size: cover;
    background-position: center; */
    position: absolute;
    top: -1px;
    left: 0;
}

section.skyblue-devider::after {
	background: url(../img/devider_bl.png) no-repeat center bottom / contain; 
	/*background-color: var(--shienshi-skyblue); */
}
section.lightgray-devider::after {
	background: url(../img/devider_gy.png) no-repeat center bottom / contain; 
	/* background-color: var(--shienshi-lightgray); */
}
section.white-devider::after {
	background: url(../img/devider_wh.png) no-repeat center bottom / contain; 
	/* background-color: var(--shienshi-white); */
}
section.gradation-devider::after {
	background: url(../img/devider_gra.png) no-repeat center bottom / contain; 
	/* background: var(--shienshi-gradation); */
}


#wrap {
    width: min(800px, 100%);
    margin: 0 auto;
    background-color: var(--shienshi-white);
	box-shadow: 0 0 28px rgba(0,0,0,.25);
}

.roboto {
	font-family: "Roboto", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-variation-settings:
	  "wdth" 100;
}

/* =================================================
header〜nav
==================================================*/
header {
	display: flex;
	height: 100px;
	align-items: center;
}
   
.title {
	margin-right: auto;
}
   
.menu-item {
	list-style: none;
	display: inline-block;
	padding: 10px;
}
ul.menu-group {
	display: flex; 
    align-items: center;
}
ul.menu-group li.menu-item1 {
}

ul.menu-group li {
    font-weight: 600;
}
ul.menu-group li.menu-item1 a {
	background: var(--shienshi-gradation);
	border-radius: 50vh;
	text-align: center;
    padding: 0.8em 2em;
    color: var(--shienshi-white);
}

ul.menu-group li.menu-item2 {
	margin-left: 16px;
}
ul.menu-group li.menu-item2 a {
	border: 2px solid var(--shienshi-lightblue);
	text-align: center;
    padding: 0.8em 2em;
	border-radius: 50vh;
	color: var(--shienshi-text);
}


/* =================================================
フローティングCTAボタン
==================================================*/
.flowting-cta {
	position: fixed;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 99;
	width: 100%;
	/*デフォルトで非表示にする*/
	opacity: 0;
	visibility: hidden;

	animation-name: fade_bottom;
	animation-duration: 3s;
	opacity:1;
  }
  
  /*このクラスが付与されると表示する*/
  .active{
	opacity: 1;
	visibility: visible;
  }
  

.flowting-cta > .cta-btn {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: centerss;
}

.flowting-cta > .cta-btn > a {
	background: var(--shienshi-gradation);
	border-radius: 50vh;
	text-align: center;
	padding: 0.8em 2em;
	color: var(--shienshi-white);
	font-size: 20px;
	font-weight: 700;
	border: 3px solid var(--shienshi-white);
    box-shadow: 0px 5px 5px rgba(0, 0, 0, .2);
}

/* =================================================
main
==================================================*/
main {
	background-color: var(--shienshi-white);
	overflow: hidden;
	height: 100%;
}

h2 {
	font-size: clamp(2rem, 1.818rem + 0.91vw, 2.5rem);
	font-weight: 800;
	width: fit-content;
	margin: 0 auto;
	position: relative;
    margin-bottom: 2em;
    margin-top: 3em;
}
h2 span {
	text-transform: uppercase;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-10%,-50%);
	font-size: clamp(4.375rem, 3.352rem + 5.11vw, 7.188rem);
	color: var(--shienshi-white);
    mix-blend-mode: overlay;
	
	font-family: "Roboto", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-variation-settings:
	  "wdth" 100;
}

h2 span.opacity1 {
	opacity: 0.1;
}
h2 span.blue {
	color: var(--shienshi-lightblue);
	mix-blend-mode: unset;
}
h2.white {
	color: var(--shienshi-white);
}

.inner {
	margin: 0 40px;
}

p.accent {
	position: absolute;
}

/*---------------------------------
KV
---------------------------------*/
.kv {
	position: relative;
	padding: 0
}

#kv {
    width: min(800px, 100%);
    aspect-ratio: 1 / 0.85;
}

.kv-img {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: min(500px, 90%);
    aspect-ratio: 1.1 / 1;
	
	background-image: url(../img/sample.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 0 85px 85px 0;
	overflow: hidden;
	background-position: center;
}

.kv-img::before {
	content: "";
	position: absolute;
	background: linear-gradient(
		100deg,
		rgba(255,255,255,0) 0%,
		rgba(63,135,208,.8) 100%
		);;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

#kv::after {
	content: "";
	position: absolute;
	right: 0;
	top: 100px;
	background: var(--shienshi-gradation);
	width: min(600px, 80%);
    aspect-ratio: 1 / 0.8;
	z-index: 0;
	border-radius: 85px 0 0 85px;
}

.kv-text {
	position: absolute;
	top: 150px;
	right: 20px;
	z-index: 3;
	color: var(--shienshi-white);
}
.kv-text h1 {
	font-size:clamp(2rem, 1.818rem + 0.91vw, 2.5rem);
	font-weight: 800;
    line-height: 1.5em;
    text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.25);
}

.kv-text h2 {
	font-size: 20px;
	font-weight: 600;
    margin: 1em 0;
}
.kv-text > p > a {
	background-color: rgba(255,255,255,.8);
	border-radius: 50vh;
	border: 1px solid var(--shienshi-white);
	font-size: 20px;
	padding: 1em 3em;
	box-shadow: 0 4px 9px rgba(0,0,0,.15);
	font-weight: 600;
	color: var(--shienshi-lightblue);
	display: block;
    width: max-content;
}

.kv > p.accent.__line1 {
	top:0;
	right: -40px;
	width: 163px;
	z-index: 3;
}
.kv > p.accent.__line2 {
	bottom: 0;
	left: -20px;
	width: 108px;
	z-index: 3;
}
.kv > p.accent.__dot {
	bottom: 0;
	right: 20px;
	width: 90px;
	z-index: 3;
}

/*---------------------------------
悩み
---------------------------------*/
.nayami {
	padding-top: 0;
}
.nayami > h3 {
	text-align: center;
    width: fit-content;
    font-size: 24px;
    margin: 0 auto;
    border-bottom: 2px solid #000;
    margin-bottom: 80px;
}

ul.nayami-box {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-wrap: wrap;
	gap: 2%;display:
	-webkit-box; /*Android4.3*/
	display: -moz-box;    /*Firefox21*/
	display: -ms-flexbox; /*IE10*/
	display: -webkit-flex; /*PC-Safari,iOS8.4*/
}

ul.nayami-box li ~ li {
	margin-bottom: 56px;
}

ul.nayami-box li {
	position: relative;
	border: 3px solid var(--shienshi-lightblue);
	border-radius: 12px;
	width: 30%;
	padding: 1em 1em;

	font-size: 18px;
	text-align: center;
	font-weight: 600;
    height: 170px;
    display: flex;
    justify-content: center;
    align-items: center;
}

ul.nayami-box li  > p:first-child{
	position: absolute;
	left: 0;
	top: 0;
    transform: translate(20px, -60%);
	font-size: 48px;
	color: rgba(63,135,208,.15);
}

ul.nayami-box li  > p:nth-child(2) {
}

/*---------------------------------
手厚いサポート
---------------------------------*/
.support {
	background: var(--shienshi-gradation);
}
.support::before{
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    border-top: 50px solid var(--shienshi-white);
    border-right: 50px solid transparent;
    border-left: 50px solid transparent;
}

.support > h2 {
	color: var(--shienshi-white);
}
.support > h3 {
	text-align: center;
	font-size: clamp(1.375rem, 1.148rem + 1.14vw, 2rem);
	font-weight: 700;
	color: var(--shienshi-white);
	position: relative;
	width: fit-content;
	margin: 0 auto;
}
.support > h3::after,
.support > h3::before {
	content: "";
	position: absolute;
	width: 3px;
	height: 100%;
	background-color: var(--shienshi-white);
	top: 0;
}
.support > h3::before {
	transform: rotate(25deg);
	right: -30px;
}
.support > h3::after {
	transform: rotate(-25deg);
	left: -30px;
}

ul.support-box li {
	background-color: var(--shienshi-white);
	border-radius: 25px;
	padding: 50px;
	position: relative;
}

ul.support-box li ~ li {
	margin-top: 32px;
}
ul.support-box li > figure {
	position: absolute;
	right: 30px;
	top: 50%;
	transform: translate(0, -50%);
    width: 35%;
}

.support-no {
	display: inline-block;
  	background: var(--shienshi-gradation);
  	-webkit-background-clip: text;
  	-webkit-text-fill-color: transparent;
	font-weight: 600;
	font-size: 20px;
    margin-bottom: 16px;
	position: relative;
}

.support-no::before {
	content: "";
	background-color:  var(--shienshi-blue);
	width: 25px;
	height: 2px;
	position: absolute;
	top: 50%;
	left: -50px;
	transform: translateY(-50%);
}
.support-no::after {
	content: "";
	width: 16px;
	height: 16px;
	border: 2px solid var(--shienshi-blue);
	position:absolute;
	border-radius: 50%;
	left: -26px;
	top: 50%;
	transform: translateY(-50%);
}
ul.support-box > li > .text-area {
	width: 50%;
}
ul.support-box > li > .text-area > p:first-child {
	font-size:clamp(1.438rem, 1.324rem + 0.57vw, 1.75rem);
	font-weight: 700;
	margin-bottom: 8px;
}
ul.support-box > li > .text-area > p:nth-child(2) {
	font-size: clamp(1.125rem, 0.989rem + 0.68vw, 1.5rem);

}

/*---------------------------------
他社比較
---------------------------------*/

.table-scroll {
	overflow-x: auto;
  }
  
  .table-scroll table {
	width: 100%;
	min-width: 1000px;
	table-layout: fixed;
	margin-bottom: 1px;
	border-collapse: collapse;
  }
  
  .table-scroll table tr.company-name > td  {
	font-size: 1.2em;
  }
  .table-scroll th,
  .table-scroll td {
	width: 200px;
	padding: 15px;
	border: 1px #ccc solid;
	text-align: center;
  }
  
  .table-scroll th.sticky{
	position: sticky;
	top:0;
	left:0;
	border-left: none;
	border-right: none;
	background: none;
  }
  
  .table-scroll th.sticky::before{
	content: "";
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	border-left: 1px #ccc solid;
	border-right: 1px #ccc solid;
	background-color: #eee;
	z-index: -1;
	box-sizing: content-box;
  }


  .table-scroll td {
	background-color: var(--shienshi-skyblue);
  }
  .table-scroll td.focus {
	color: var(--shienshi-white);
	background-color: var(--shienshi-blue);
    border: 5px solid var(--shienshi-blue);
  }

  .table-scroll td.focus1 {
	border-left: 5px solid var(--shienshi-blue);
	border-right: 5px solid var(--shienshi-blue);
	background-color: var(--shienshi-white);
  }
  .table-scroll td.focus2 {
	border-bottom: 5px solid var(--shienshi-blue);
  }


.compare > .text-area > p {
	width: 100%;
	text-align: center;
    font-weight: 700;
    line-height: 1.5em;
}
.compare > .text-area > p:first-child {
	font-size: 48px;
    margin: 1em 0;

	display: inline-block;
  background: var(--shienshi-gradation);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.compare > .text-area > p:nth-child(2) {
	font-size: 32px;
}
.compare > .text-area > p:nth-child(2) > span {
	font-size: 1.3em;
	background: linear-gradient(transparent 40%, #f6ff5f 40%);
}

.scroll-hint-shadow-wrap:has(.scroll-hint.is-left-scrollable)::before, .scroll-hint-shadow-wrap.is-left-scrollable::before {
    opacity: 0;
    visibility: unset;
}
.scroll-hint-shadow-wrap:has(.scroll-hint.is-right-scrollable)::after, .scroll-hint-shadow-wrap.is-right-scrollable::after {
    opacity: 0;
    visibility: unset;
}

/*---------------------------------
受講生の声
---------------------------------*/
.voice {
	background-color: var(--shienshi-lightgray);
}
ul.voive-box-area {
	z-index: 1;
}
ul.voive-box-area li {
	margin-right: 15px;
	margin-left: 15px;
}
div.voice-box {
	background-color: var(--shienshi-white);
	border-radius: 25px;
	padding: 40px 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
	gap: 16px;
	box-shadow: 5px 5px 5px rgba(0,0,0,.15);
    margin-bottom: 10px;
}

div.voice-box > p:first-child {
	width: 150px;
	height: 150px;
}

div.voice-box > p:nth-child(2) {
	color: var(--shienshi-green);
	font-size: 13px;
}

div.voice-box > p:nth-child(3) {
	font-size: 1.2em;
	font-weight: 600;
}

.voice > p.accent.__line1 {
	top:350px;
	left: -40px;
	width: 163px;
	z-index: 0;
}

/*---------------------------------
サービス紹介
---------------------------------*/
.searvice > div ~ div {
	margin-top: 80px;
}
.searvice-title {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
	border-radius: 50vh;
	padding: 0.5em 0;
	z-index: 2;
	width: 230px;
	text-align: center;

	background: var(--shienshi-gradation);
	color: var(--shienshi-white);
	font-size: 1.3em;
	font-weight: 600;
}
.searvice-box-wrap {
	position: relative;
	background-color: var(--shienshi-white);
	border-radius: 25px;
	padding: 80px 0 32px 0;
    z-index: 1;
}
ul.searvice-box-area li {
	margin-right: 10px;
	margin-left: 10px;
}

.searvice-box {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.searvice-box > figure {
    width: 100%;
    aspect-ratio: 5 / 3;
    background-color: #ddd;
	border-radius: 25px;
	overflow: hidden;
	margin-bottom: 8px;
}

.searvice-box > figure > img {
    width: 100%;
    aspect-ratio: 1.1 / 1;
	object-fit: cover;
}
.searvice-box > p.center {
	text-align: center;
	font-weight: 700;
	font-size: 1.3em;
}

.searvice-box > p ~ p {
	margin-top: 8px;
}



.slide-arrow {
	background-color: transparent;
	bottom: 0;
	height: 0;
	margin: auto;
	position: absolute;
	top: 0;
	width: 0;
	z-index: 2;
  }
  .prev-arrow {
	position: absolute;
	display: inline-block;
	padding-left: 0;
	border: 0;
	left: 20%;
	width: 50px;
	height: 50px;
	background: url(../img/arrow-left.png) no-repeat center center / cover;
  }


  .next-arrow {
	position: absolute;
	display: inline-block;
	padding-left: 0;
	border: 0;
	right: 20%;
	width: 50px;
	height: 50px;
	background: url(../img/arrow-right.png) no-repeat center center / cover;
  }


.searvice > p.accent.__line1 {
	top:350px;
	right: 10px;
	width: 163px;
	z-index: 0;
}
.searvice > p.accent.__line2 {
	bottom:0;
	left: 10px;
	width: 108px;
	z-index: 0;
}

/*---------------------------------
入会の流れ
---------------------------------*/
.flow {
	background: var(--shienshi-lightgray);
}

.flow-box {
	position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
}
.flow-box::after {
	position: absolute;
	content: "";
	width: 2px;
	height: calc(100% - 80px);
	bottom: 0;
	left: calc(75px / 2);
}

.flow-box:not(:last-child) {
	margin-bottom: 32px;
    z-index: 1;
}
.flow-no > p {
	width: 75px;
	height: 75px;
	border-radius: 50%;
	color: var(--shienshi-white);
	font-size: 36px;
	font-weight: 800;

	display: flex;
	justify-content: center;
	align-items: center;
}


.flow-box.__step1 > .flow-no > p,
.flow-box.__step1::after {
	background-color: var(--shienshi-blue);
}
.flow-box.__step2 > .flow-no > p,
.flow-box.__step2::after {
	background-color: var(--shienshi-lightblue);
}
.flow-box.__step3 > .flow-no > p,
.flow-box.__step3::after {
	background-color: var(--shienshi-greenblue);
}
.flow-box.__step4 > .flow-no > p {
	background-color: var(--shienshi-green);
}
.flow-right-wrap {
	display: flex;
	flex-direction: row;
    gap: 24px;
    width: 100%;
}
.flow-text {
    padding: calc(45px / 2) 0;
}

.flow-text, .form-img {
	width: 45%;
}
.flow-text > p ~ p {
	margin-top: 1em;
}

.flow-text > p:first-child {
	font-size: 1.5em;
	font-weight: 700;
	display: flex;
	word-break: keep-all;
}

.flow-box.__step1 > .flow-right-wrap > .flow-text > p:first-child {
	color: var(--shienshi-blue);
}
.flow-box.__step2 > .flow-right-wrap > .flow-text > p:first-child {
	color: var(--shienshi-lightblue);
}
.flow-box.__step3 > .flow-right-wrap > .flow-text > p:first-child {
	color: var(--shienshi-greenblue);
}
.flow-box.__step4 > .flow-right-wrap > .flow-text > p:first-child {
	color: var(--shienshi-green);
}
.flow-text > .cta-btn > a {
	background: var(--shienshi-gradation);
    padding: 0.4em 2em;
    border-radius: 50vh;
    font-weight: 600;
    color: var(--shienshi-white);
    font-size: 1.3em;
    border: 0;
	margin-top: 16px;
	overflow: hidden;
}
.form-img {
    aspect-ratio: 8 / 5;
	border-radius: 25px;
    background-color: #ddd;
	overflow: hidden;
}

.form-img img { 
	border-radius: 25px;
	object-fit: cover;
    height: 100%;
}


.flow > p.accent.__line1 {
	top:400px;
	left: -40px;
	width: 163px;
	z-index: 0;
}
.flow > p.accent.__dot {
    top: 150px;
    right: -20px;
	width: 90px;
	z-index: 0;
}

/*---------------------------------
よくある質問
---------------------------------*/
.faq-box-wrap {
	font-family: メイリオ;
	font-size: 14px; /*全体のフォントサイズ*/
    position: relative;
    z-index: 3;
}
.faq-box-wrap dt {
	background: var(--shienshi-gradation); /* 「Q」タイトルの背景色 */
	color: #fff; /* 「Q」タイトルの文字色 */
	padding: 8px;
	border-radius: 23px 23px 0 0 ;
    padding: 1em 2em;
	display: flex;
	justify-content: space-between;
	align-items: space-bet;
	font-size: 1.2em;
	font-weight: 600;
}
.faq-box-wrap dt > span {
	display: inline-flex;
	background-color: var(--shienshi-white);
	font-size: 32px;
	font-weight: 800;
	border-radius: 57px;
	width: 57px;
	height: 57px;
    justify-content: center;
    align-items: center;
}

.faq-box-wrap dt > span > img {
    width: 25px;
    height: 33px;
}

.faq-box-wrap dt > p {
	font-weight: bold;
	margin-right: 1em;
	width: calc(100% - 95px);
	
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.faq-box-wrap dd {
    margin: 0px 0px 40px 0px;
    padding: 2em;
	line-height: 140%;
	background-color: var(--shienshi-white);
	border-radius: 0 0 23px 23px;
}

.faq > p.accent.__line1 {
	top:0;
	right: -40px;
	width: 163px;
	z-index: 2;
}
.faq > p.accent.__line2 {
	bottom: 0;
	left: -40px;
	width: 163px;
	z-index: 0;
}
.faq > p.accent.__dot {
    top: 300px;
    left: 60px;
	width: 90px;
	z-index: 0;
}

/*---------------------------------
講師の紹介
---------------------------------*/
.introductio {
	background-color: var(--shienshi-gradation);
}

.introduction-box{
	background-color: var(--shienshi-white);
	width: 100%;
	border-radius: 25px;
	padding: 40px 32px;
    position: relative;
    z-index: 1;
}

.introduction-box > div:not(:last-child){
	margin-bottom: 32px;
}
.introduction-box:not(:last-child){
	margin-bottom: 32px;
}

.img-name-area {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.img-name-area > .img  {
	border-radius: 25px;
    width: 40%;
    aspect-ratio: 1.1 / 1;
	overflow: hidden;

}

.img-name-area > .name {
	width: 55%;
}

.img-name-area > .name > p:first-child {
	font-weight: 700;
	background: var(--shienshi-gradation);
	background: var(--shienshi-gradation);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font-size: 1.7em;
	margin-bottom: 0.8em;
    line-height: 1em;
}

.img-name-area > .name > p:first-child > span {
	font-size: 15px;
	margin-left: 0.3em;
    line-height: 1em;
}

.img-name-area > .name > p:last-child {
    font-size: 1.2em;
    line-height: 1.5em;
}
.history {
}
.history > p.sub-title {
	position: relative;
	color: var(--shienshi-green);
	font-size: 1.3em;
}
.history > p.sub-title::before {
	content: "";
	position: absolute;
	right: 0;
	top: calc(50% - 0.5px);
	width: calc(100% - 3em);
	height: 1px;
	background-color: var(--shienshi-green);
}


.history > p:last-child {
	padding: 16px;
}

.introduction > p.accent.__line1 {
	top:50%;
	right: -0px;
	width: 163px;
	z-index: 0;
}
.introduction > p.accent.__dot {
    top: 140px;
    left: 20%;
	width: 90px;
	z-index: 3;
}
/*---------------------------------
CTA
---------------------------------*/
.cta {
	position: relative;
	background: url(../img/sample.jpg) no-repeat center bottom / cover;
	display: flex;
	align-items: flex-start;
    height: 350px;
	padding: 0
}

.cta::before {
	content: "";
	position: absolute;
	background-color: rgb(0,0,0,.6);
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
.cta > .inner {
    z-index: 1;
    position: absolute;
    display: flex; 
    width: calc(100% - 40px);
    top: 50%;
    transform: translateY(-50%);
}
.cta-price,
.cta-button {	
	width: 50%;
	display: flex;
	justify-content: center;
	flex-direction: column;
	color: var(--shienshi-white);
    text-align: center;
}

.cta-price {
	font-size: 20px;
}
.cta-price p:nth-child(2) {
	font-size: 1.8em;
}
.cta-price p:nth-child(2) > span {
	font-size: 0.5em;
    line-height: 2.3em;
}
.cta-price p:nth-child(2) > span.roboto {
	font-size: 1.8em;
    line-height: 2.3em;
    line-height: 1em;
}
.cta-price p:nth-child(3) {
	font-size: 0.8em;

}
.cta-button {
}
.button-entry {
	margin-bottom: 32px;
}
.button-entry > p,
.button-form > p {
    text-align: center;
    font-size: 12px;
    font-weight: 500;
    color: var(--shienshi-white);
    position: relative;
    width: fit-content;
    margin: 0 auto;
	margin-bottom: 5px;
}

.button-entry > p::after,
.button-entry > p::before,
.button-form > p::after,
.button-form > p::before {
	content: "";
	position: absolute;
	width: 1px;
	height: 100%;
	background-color: var(--shienshi-white);
	top: 0;
}
.button-entry > p::before,
.button-form > p::before {
	transform: rotate(25deg);
	right: -8px;
}
.button-entry > p::after,
.button-form > p::after {
	transform: rotate(-25deg);
	left: -8px;
}

.button-entry > .cta-btn > a,
.button-form > .form-btn > a {
	font-size: 1.3em;
	font-weight: 600;
	padding: 0.8em 0;
	width: 260px;
	text-align: center;
	border-radius: 50vh;
	border: 0;
	display: block;
    margin: 0 auto;
	}
	
.button-entry > .cta-btn > a {
	color: var(--shienshi-white);
	background: var(--shienshi-gradation);
}


.button-form > .form-btn > a {
	color: var(--shienshi-blue);
	background: var(--shienshi-white);
}

/* =================================================
footer
==================================================*/

footer {
	text-align: center;
	padding: 32px 0 170px;
}

small {
	font-size: 10px;
}




/* =================================================

コンテンツ幅767px以下の表示はここからです

==================================================*/
@media screen and (max-width:767px){

	.inner {
		margin: 0 20px;
	}
	.sp_block {
		display: inline-block;
	}

	.sp_none {
		display: none;
	}

	section {
		padding: 20vw 0 80px;
	}
	.flowting-cta > .cta-btn > a {
		padding: 0.5em 2em;
	}




/*---------------------------------
header
---------------------------------*/
header {
	height: 80px;
}
.title {
	width: 100px;
}

ul.menu-group li.menu-item1 a {
	font-size: 10px;
}



ul.menu-group li.menu-item2 {
    margin-left: 5px;
}
ul.menu-group li.menu-item2 a {
    width: 36px;
    height: 31px;
    display: flex;
    justify-content: center;
    align-items: center;
}
ul.menu-group > li.menu-item2 > a > span > img {
	width: 21px;
}




/*---------------------------------
KV
---------------------------------*/
#kv {
	height: 630px;
}
#kv::after {
	height: 450px;
    width: min(600px, 95%);
}

.kv-img {
	height: 450px;
}

.kv > p.accent.__line1 {
    top: -30px;
    width: 140px;
}

.kv > p.accent.__dot {
    bottom: 33px;
    right: 20px;
    width: 70px;
    z-index: 3;
}

.kv > p.accent.__line2 {
    width: 92px;
}

/*---------------------------------
悩み
---------------------------------*/
ul.nayami-box {
	flex-direction: column;
}
ul.nayami-box li {
	width: 100%;
}

ul.nayami-box li ~ li {
    margin-top: 32px;
	margin-bottom: 0;
}

ul.nayami-box li > p:first-child {
	
    line-height: 1em;
    transform: translate(10px, -56%);
}
ul.nayami-box li {
	height: 130px;
}


/*---------------------------------
手厚いサポート
---------------------------------*/
.support > h3::before {
	right: -20px;
}

.support > h3::after {
	left: -20px;
}
ul.support-box li {
	padding: 32px 40px;
	display: flex;
	flex-direction: column;
}
ul.support-box li > * ~ * {
	margin-top: 32px;
}
.support-no {
	order: 0;
}

ul.support-box li > .text-area {
	order: 2;
}
ul.support-box li > figure {
    position: static;
	order: 1;
    width: 90%;
    margin-left: auto;
	margin-right: auto;
    transform: none;
}

ul.support-box > li > .text-area {
	width: 100%;
}





/*---------------------------------
他社比較
---------------------------------*/
.table-scroll th.sticky {
	width: 9em;
}
.compare > .text-area > p:nth-child(2) {
    font-size: clamp(1.438rem, 1.233rem + 1.02vw, 2rem);
}
/*---------------------------------
受講生の声
---------------------------------*/


/*---------------------------------
サービス紹介
---------------------------------*/
.next-arrow {
	right: -3%
}
.prev-arrow {
	left: -3%;
}

.searvice-box-wrap {
	padding-top: 60px;
}




/*---------------------------------
入会の流れ
---------------------------------*/

.flow-right-wrap {
	display: flex;
	flex-direction: column;
	width: 80%;
}
.flow-text > .cta-btn > a {
	font-size: 1.2em;
}
.flow-text, .form-img {
    width: 100%;
}


/*---------------------------------
よくある質問
---------------------------------*/
.faq > p.accent.__dot {
    top: 250px;
    left: -30px;
    width: 90px;
    z-index: 0;
}
.faq-box-wrap dt {
	padding: 1em 1em
}

.faq-box-wrap dd {
    word-break: break-all;
	padding: 2em 1em
}




/*---------------------------------
講師の紹介
---------------------------------*/
.img-name-area {
	flex-direction: column;
    align-items: flex-start;
}
.img-name-area > .img,
.img-name-area > .name {
	width: 100%;
    margin-bottom: 16px;
}
.img-name-area > .name {
	display: contents;
}

.history > p:last-child {
    padding: 16px 0;
}
.introduction-box {
	padding: 24px;
}

.introduction > p.accent.__dot {
	left: -10px;

}
/*---------------------------------
CTA
---------------------------------*/
.cta {
	height: 550px;
}
.cta > .inner{
	flex-direction: column;
}

.cta-price,.cta-price, .cta-button {
	width: 100%;
}
.cta-price {
    margin-bottom: 40px;
}
}