
/* --------------------------------------------------------------------------------------
	対面指導
--------------------------------------------------------------------------------------- */

.underline {
	text-decoration: underline;
	text-decoration-color: yellow;
  }
  
  .point {
	  /* background-color: #ecfdee; */
	  /* padding-bottom: 72px; */
	  /* padding-top: 68px; */
  }
  
  .point h2 {
	  font-size: 3.2rem;
	  font-weight: 700;
	  /* letter-spacing: 2px; */
	  line-height: 1.7;
  }
  
  .point h2 strong {
	  font-feature-settings: 'palt';
	  /* font-size: 4rem; */
	  font-weight: 700;
  }
  
  .point h2 strong span {
	  background-color: #fe0;
	  padding: 0 10px;
  }
  
  .point h2 > b,
  .point h2 strong span b { color: #297ACC; }
  
  .point .inner {
	  counter-reset: number 0;
	  margin-top: 40px;
  }
  
  .point .inner section {
	  background-color: #fff;
	  /* border: 0.05em #ddd solid; */
	  border-radius: 10px;
	  /* margin-top: 36px; */
	  min-height: 326px;
	  overflow: hidden;
	  padding: 15px 32px 32px;
	  position: relative;
  }
  
  @media (min-width: 767px) {
	.point .inner section:first-child { 
		padding-right: 500px;
	 }

  }
  
  .point .inner section:nth-child(n+2) { padding-right: 480px; }
  
  .sp_icon {
	background-color: #297ACC;
	border-radius: 10px;
	color: #fff;
	font-size: 2.4rem;
	font-weight: 600;
	left: 0;
	line-height: 1.1;
	padding: 6px 18px;
	text-align: center;
	top: 0;
  }
  
 .sp_icon::after {
	content: '' counter(number);
    counter-increment: number 1;
    font-size: 2.6rem;
  }

  .point .inner section .icon {
	background-color: #297ACC;
	border-radius: 10px;
	color: #fff;
	font-size: 2.4rem;
	font-weight: 600;
	left: 0;
	line-height: 1.1;
	padding: 6px 18px;
	text-align: center;
	top: 0;
}

.point .inner section .icon::after {
    content: '' counter(number);
    counter-increment: number 1;
    font-size: 2.6rem;
}
   
  .point .inner section .ribbon {
	  background-color: #15bbf2;
	  color: #fff;
	  font-size: 2.4rem;
	  font-weight: 500;
	  line-height: 1.2;
	  padding: 14px 24px 50px;
	  position: absolute;
	  right: 32px;
	  top: 0;
  }
  
  .point .inner section .ribbon::after {
	  background-color: #fff;
	  bottom: 0;
	  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
	  content: '';
	  display: block;
	  height: 26px;
	  left: 0;
	  position: absolute;
	  width: 100%;
  }
  
  .point .inner section h3 {
	  color: #297ACC;
	  font-size: 2.4rem;
	  font-weight: 700;
	  letter-spacing: 1px;
	  text-align: center;
	  padding-top: 15px;
  }
  
  .point .inner section h4 {
	  font-weight: 700;
	  letter-spacing: 1px;
	  line-height: 1.8;
	  margin-top: 24px;
	  text-align: center;
  }
  
  .point .inner section .details {
	  display: flex;
	  justify-content: space-between;
	  margin-top: 28px;
  }
  
  .point .inner section .details .column {
	  background-color: #f3f9fc;
	  border-radius: 10px;
	  min-width: 440px;
	  padding: 20px;
	  text-align: center;
  }
  
  .point .inner section .details .column h5 {
	  border-bottom: 1px solid #cdcdcd;
	  font-size: 2rem;
	  font-weight: 700;
	  padding-bottom: 10px;
  }
  
  .point .inner section .details .column h5 span { color: #0062b2; }
  
  .point .inner section .details .column h6 {
	  font-weight: 700;
	  margin-top: 10px;
  }
  
  .point .inner section .details .column dl {
	  align-items: center;
	  display: flex;
	  justify-content: center;
	  margin-top: 8px;
  }
  
  .point .inner section .details .column dt {
	  background: url(../img/icon_balloon.svg) no-repeat;
	  display: flex;
	  flex-direction: column;
	  font-size: 1.2rem;
	  font-weight: 700;
	  height: 91px;
	  justify-content: center;
	  letter-spacing: 0;
	  line-height: 1.3;
	  padding-left: 27px;
	  width: 115px;
  }
  
  .point .inner section .details .column dt span { color: #f24444; }
  
  .point .inner section .details .column dd {
	  font-size: 3.2rem;
	  font-weight: 600;
	  line-height: 1.3;
	  margin-left: 10px;
  }
  
  .point .inner section .details .column dd span {
	  color: #0062b2;
	  font-size: 4rem;
	  font-weight: 600;;
	  line-height: 1;
  }
  
  .point .inner section .details .column dd span b {
	  font-size: 8rem;
	  font-weight: 600;
	  line-height: 1;
  }
  
  .point .inner section .details .column p {
	  font-size: 1.2rem;
	  font-weight: 500;
	  letter-spacing: 0;
	  margin-top: 10px;
  }
  
  .point .inner section .image {
	  position: absolute;
	  right: 34px;
	  top: 32px;
  }
  
  .point .inner section .acc-txt {
	  margin-top: 28px;
	  position: relative;
  }
  
  .point .inner section .acc-content {
	  max-height: 110px;
	  overflow: hidden;
	  position: relative;
	  transition: all .1s ease-in-out;
  }
  
  .point .inner section .acc-txt input[type='checkbox']:checked + label + .acc-content {
	  max-height: 1000px;
	  padding-bottom: 72px;
	  transition: all .2s ease-in-out;
  }
  
  .point .inner section .acc-content::after {
	  background-image: linear-gradient(180deg, rgba(255, 255, 255, .8) 40%, rgba(255, 255, 255, 1) 90%);
	  bottom: 0;
	  content: '';
	  display: block;
	  height: 100%;
	  left: 0;
	  position: absolute;
	  transition: all .4s ease-in-out;
	  width: 100%;
  }
  
  .point .inner section .acc-txt input[type='checkbox']:checked + label + .acc-content::after {
	  opacity: 0;
	  transition: all 1s ease-in-out;
  }
  
  .point .inner section .acc-txt input[type='checkbox'] { display: none; }
  
  .point .inner section .acc-txt label {
	  background-color: #fff;
	  border: 1px solid #297ACC;
	  border-radius: 100vw;
	  bottom: 0;
	  color: #297ACC;
	  cursor: pointer;
	  display: inline-block;
	  font-weight: 700;
	  left: calc(50% - 110px);
	  min-width: 220px;
	  padding: 10px 0;
	  position: absolute;
	  text-align: center;
	  z-index: 1;
  
  }
  
  .point .inner section .acc-txt label::before { content: 'もっと見る'; }
  .point .inner section .acc-txt input[type='checkbox']:checked + label::before { content: '閉じる'; }
  
  .point .inner section .acc-txt label::after {
	  background: url(/course/1k/1l_lp/image/icon_plus.svg) no-repeat;
	  background-size: cover;
	  content: '';
	  display: block;
	  height: 12px;
	  position: absolute;
	  right: 20px;
	  top: calc(50% - 6px);
	  width: 12px;
  }
  
  .point .inner section .acc-txt input[type='checkbox']:checked + label::after {
	  background-image: url(/course/1k/1l_lp/image/icon_minus.svg);
	  height: 2px;
	  top: calc(50% - 1px);
  }

  .arrow {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 50px 150px 0 150px;
	border-color: #009245 transparent transparent transparent;
	margin:20px auto;
	margin-top:0px;
  }

  .courselist_description_calendar_table td:before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: -2px;
	width: 36px;
	height: calc(100% + 4px);
	background: url(/course/1k/1l_lp/image/bg_flowtable.png) no-repeat 0% 0%;
	 background-size: 36px 100%;
	}
	
	.courselist_description_calendar_table td.bgoff {
			background-color: #1262b2;
			color: #fff;
	}

	.detail_title, .detail_title_s, .detail_title_m {
		border-bottom: 1px solid #297ACC;
	}
  
  @media (max-width: 767px) {
  
	  /* .point { padding: 12vw 0vw 8.533vw; } */
  
	  .point h2 { font-size: 4.6vw; }
	  .point h2 strong { font-size: 5.8vw; }
  
	  .point h2 strong span {
		  font-weight: 700;
		  padding: 0 1.333vw;
	  }
  
	  .point .inner { margin-top: 6.4vw; }
  
	  .point .inner section {
		  display: flex;
		  flex-direction: column;
		  padding: 0px 12px 32px;

	  }
  
	  /* .point .inner section .icon {
		  font-size: 3.733vw;
		  font-weight: 700;
		  padding: 2.133vw 2.667vw;
	  }
  
	  .point .inner section .icon::after { font-size: 6.4vw; }
  
	  .point .inner section .ribbon {
		  font-size: 3.733vw;
		  padding: 2.133vw 2.667vw 6.333vw;
		  right: 0;
	  } */
  
	  .point .inner section .ribbon::after { height: 3.467vw; }
  
	  .point .inner section h3 { 
		font-size: 5.333vw;
	 }
  
	  .point .inner section h4 {
		  font-size: 3.733vw;
		  letter-spacing: 0;
		  margin-top: 3.467vw;
	  }
  
	  .point .inner section .details {
		  display: block;
		  margin-top: 5.067vw;
	  }
  
	  .point .inner section .details .column {
		  border-radius: 1.333vw;
		  margin-top: 4.267vw;
		  min-width: inherit;
		  padding: 5.067vw 4.267vw 6.4vw;
		  width: 100%;
	  }
  
	  .point .inner section .details .column:first-child { margin-top: 0; }
  
	  .point .inner section .details .column h5 {
		  font-size: 4.267vw;
		  letter-spacing: 2px;
		  padding-bottom: 2.933vw;
	  }
  
	  .point .inner section .details .column h6 {
		  font-size: 3.733vw;
		  margin-top: 3.2vw;
	  }
  
	  .point .inner section .details .column dl { margin-top: 3.2vw; }
  
	  .point .inner section .details .column dt {
		  background-size: 100% auto;
		  font-size: 2.433vw;
		  font-weight: 700;
		  height: 21.733vw;
		  line-height: 1.4;
		  padding-left: 6.333vw;
		  width: 26.267vw;
	  }
  
	  .point .inner section .details .column dd {
		  font-size: 7.467vw;
		  margin-left: 2.133vw;
	  }
  
	  .point .inner section .details .column dd span {
		  font-size: 8vw;
		  font-weight: 700;
	  }
  
	  .point .inner section .details .column dd span b {
		  font-size: 17.067vw;
		  font-weight: 700;
	  }
  
	  .point .inner section .details .column p {
		  font-size: 2.667vw;
		  font-weight: 500;
		  margin-top: 1.333vw;
	  }
  
	  .point .inner section:nth-child(n+2) {
		  display: flex;
		  flex-direction: column;
		  padding-right: 5.333vw;
	  }
  
	  .point .inner section:nth-child(n+2) h3 { order: 1; }
	  .point .inner section:nth-child(n+2) h4 { order: 2; }
  
	  .point .inner section .image {
		  margin-top: 5.067vw;
		  order: 3;
		  position: relative;
		  right: auto;
		  top: auto;
	  }
  
	  .point .inner section .acc-txt { order: 4; }
  
	  .point .inner section .acc-content { max-height: 26.667vw; }
  
	  .point .inner section .acc-txt label {
		  box-sizing: border-box;
		  font-size: 3.733vw;
		  left: calc(50% - 26.4665vw);
		  min-width: 52.933vw;
		  padding: 3.2vw;
	  }

	  .arrow {
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 30px 60px 0 60px;
		border-color: #009245 transparent transparent transparent;
		margin:20px auto;
		margin-top:0px;
	  }

	  .arrow2 {
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 30px 60px 0 60px;
		border-color: #ffffff transparent transparent transparent;
		margin:20px auto;
		margin-top:-20px;
	  }
  }

/*fadeupアニメーションcss */
.anime_wrap {
opacity: 0;
transform: translateY(20px);
transition: opacity 1.5s ease-out, transform 1s ease-out;
}

.fadeup {
animation-name: fadeUpAnime;
animation-duration: 1s;
animation-fill-mode: forwards;
opacity: 1;
transform: translateY(0);
}

/* カード型CSS */
.card_wrapper {
	margin-top: 100px;
}
.cards {
	display: grid;
	gap: 1rem 4.5rem;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}
.card {
	--image-width: 10rem;
	padding: 3rem;
	margin-inline: auto;
	padding-top: 0;
	margin-bottom: 60px;
	display: flex;
	flex-direction: column;
	align-items: center;
	max-width: 47rem;
	border: 1px solid #ddd;
	border-radius: .5rem;
}
.card img {
	width: var(--image-width);
	margin-top: calc(var(--image-width) / 2 * -1);
	background-color: #ffffff;
	aspect-ratio: 1;
	border-radius: 50%;
	border: 1px solid #ddd;
	object-fit: cover;
}
.img_position {
	object-position: 100% 10%;
}
.text-wrap h2 {
	text-align: center;
	margin: 10px 0;
	font-size: clamp(1.7rem, 3.3vw, 2rem);
	color: #297ACC;
}
.sc_name {
	text-align: center;
	margin-top: 5px;
}

.schedule {
	font-size: 1.8rem;
}
.add_message {
	font-weight: bold;
	font-size: clamp(1.2rem, 4.3vw, 1.75em);
	text-align: center;
	margin-top: 40px;
	margin-bottom: 20px;
}
.section_menu_list3s.add_section_menu_list {
	margin: 0;
}
.add_section_menu_list {
	margin:30px auto 0;
}
@media (max-width: 767px) {
	.card {
		padding: 0 2rem 4rem;
	}
	.add_card_sp_style:not(:last-child) {
		margin-bottom: 0;
	}
	.add_message {
		margin-bottom: 10px;
	}
}

/* お悩みありませんかブロックCSS */
.add_issue {
	padding-bottom: 100px;
}
.issue {
	text-align: center;

}
.issue_title {
	font-size: clamp(1.6rem, 4.4vw, 2.4rem);
	text-align: center;
	padding-top: 30px;
}
.issue_image_wrap {
	margin-top: 30px;
}
.solution_text_wrap {
    text-align: center;
    background-color: #297ACC;
    padding: 60px;
	color: #fff;
}
.solution_sub_text {
	text-align: center;
	font-size: clamp(1.6rem, 4.4vw, 2.4rem);
}
.solution_main_text {
    width: 100%;
    font-size: clamp(1.5rem, 5.4vw, 4rem);
}
.jisseki_image_wrap {
	text-align: center;
}
@media (max-width: 767px) {
	.add_issue {
		padding-bottom: 30px;
	}
	.solution_text_wrap {
		padding: 20px;
	}
}
.summary_contents {
	padding: 30px 60px;
	margin-bottom: 10px;
	border: 1px dotted #333333;
	text-align: left;
	font-size:1.1em;
	line-height: 4rem;
}
/* .summary_item {
	line-height: 2rem;
} */
.p-fir-bottom {
	margin-bottom: 100px;
}
.p-bottom {
	margin-bottom: 100px;
}
.mv_text {
	font-size: clamp(0.75rem, 3.4vw, 1.2rem);
	margin-top: 10px;
	text-align: end;
}

@media (max-width: 767px) {
	.summary_contents {
		padding: 30px 10px;
		line-height: 3rem;
	}
	.p-fir-bottom {
		margin-bottom: 0px;
	 }
	.p-bottom {
		margin-bottom: 10px;
	}
	.mv_text {
		text-align: left;
		margin-left: 10px;
	}
}

/* ===== LP用headerCSS ===== */
header {
	position: static;
}
.header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	min-height: 120px;
	padding: 16px 20px;
	background: #fff;
	/* box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); */
}
.header_nav {
	display: flex;
	gap: 10px;
}
.nav_btn {
	text-align: center;
	color: #fff;
	border-radius: 20px;
	cursor: pointer;
	min-width: 232px;
}
.nav_btn a {
	font-size: clamp(1.4rem, 2.5vw, 2.4rem);
	color: #fff;
	padding: 15px 75px;
}
.material a {
	background:  rgba(255,151,0,1);
	line-height: 42px;
	border: none;
	box-shadow:
	 /* -7px -7px 20px 0px rgba(255,255,255,.9), */
	 /* -4px -4px 5px 0px rgba(255,255,255,.9), */
	 7px 7px 20px 0px rgba(0,0,0,.2),
	 4px 4px 5px 0px rgba(0,0,0,.3);
	border-radius: 50px;
}

.material a:hover{
	background: linear-gradient(0deg, rgba(255,151,0,1) 0%, rgba(251,75,2,1) 100%);
	transition: all 0.3s ease;
}
.discussion a {
	background: rgb(0,172,238);
	line-height: 42px;
	border: none;
	box-shadow:
	/* -7px -7px 20px 0px rgba(255,255,255,.9), */
	/* -4px -4px 5px 0px rgba(255,255,255,.9), */
	7px 7px 20px 0px rgba(0,0,0,.2),
	4px 4px 5px 0px rgba(0,0,0,.3);
	border-radius: 50px;
}


.discussion a:hover{
	background: linear-gradient(0deg, rgba(0,172,238,1) 0%, rgba(2,126,251,1) 100%);
	transition: all 0.3s ease;
 }

 .reservation a {
	background: rgb(31, 203, 46);
	line-height: 42px;
	border: none;
	box-shadow:

	7px 7px 20px 0px rgba(0,0,0,.2),
	4px 4px 5px 0px rgba(0,0,0,.3);
	border-radius: 50px;
}

.reservation a:hover{
	background: linear-gradient(0deg, rgba(31, 203, 46,1) 0%, rgb(30, 179, 42,1) 100%);
	transition: all 0.3s ease;
 }


@media screen and (max-width: 767px) {
	.header {
		min-height: 60px;
		padding: 5px;
	}
	.header_nav {
		gap: 5px;
	}
	.nav_btn {
		min-width: 0px;
	}
	.nav_btn a {
		padding: 10px 17px;
	}
	.logo-wrap img {
		width: 90%;
	}
	.nav_btn {
		width: 90px;
	}
	.material a {
		background:  rgba(255,151,0,1);
		line-height: normal;
		border: none;
		box-shadow:
		 /* 0px 0px 0px 0px rgba(255,255,255,.9), */
		 /* 0px 0px 0px 0px rgba(255,255,255,.9), */
		 7px 7px 20px 0px rgba(0,0,0,.2),
		 4px 4px 5px 0px rgba(0,0,0,.3);
		 border-radius: 50px;
	}

	

	/* .material a:hover{
		background: linear-gradient(0deg, rgba(255,151,0,1) 0%, rgba(251,75,2,1) 100%);
		transition: all 0.3s ease;
	} */

	.discussion a {
		background: rgb(0,172,238);
		line-height: normal;
		border: none;
		box-shadow:
		 /* 0px 0px 0px 0px rgba(255,255,255,.9), */
		 /* 0px 0px 0px 0px rgba(255,255,255,.9), */
		 7px 7px 20px 0px rgba(0,0,0,.2),
		 4px 4px 5px 0px rgba(0,0,0,.3);
		 border-radius: 50px;
	}

	.reservation a {
		background: rgb(31, 203, 46);
		line-height: normal;
		border: none;
		box-shadow:
		 /* 0px 0px 0px 0px rgba(255,255,255,.9), */
		 /* 0px 0px 0px 0px rgba(255,255,255,.9), */
		 7px 7px 20px 0px rgba(0,0,0,.2),
		 4px 4px 5px 0px rgba(0,0,0,.3);
		 border-radius: 50px;
	}

	/* .discussion a:hover{
		background: linear-gradient(0deg, rgba(0,172,238,1) 0%, rgba(2,126,251,1) 100%);
		transition: all 0.3s ease;
	 } */
}

/* ===== MV_CT_CSS ===== */
.mv_cta {
	margin-top: 60px;
}
.mv_cta_nav {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 60px;
}
.mv_cta_nav .nav_btn a {
	font-size: 2.8rem;
	color: #fff;
	padding: 5px 60px 20px;
}

.btn,
 a.btn {
   font-size: 1.6rem;
   font-weight: 700;
   /* line-height: 1.5; */
   position: relative;
   display: inline-block;
   padding: 1rem 4rem;
   cursor: pointer;
   -webkit-user-select: none;
   -moz-user-select: none;
   -ms-user-select: none;
   user-select: none;
   -webkit-transition: all 0.3s;
   transition: all 0.3s;
   text-align: center;
   vertical-align: middle;
   text-decoration: none;
   letter-spacing: 0.1em;
   color: #212529;
   border-radius: 9rem;
 }
 
 a.btn-c {
   font-size: 2.2rem;
 
   position: relative;
 
   padding: 0.25rem 2rem 1.5rem 3.5rem;
 
   color: #fff;
 }
 
 a.btn-c span {
   font-size: 1.5rem;
 
   position: absolute;
   top: -1.25rem;
   left: calc(50% - 150px);
 
   display: block;
 
   width: 300px;
   padding: 0.2rem 0;
 
   color: rgba(255,151,0,1);
   border: 2px solid rgba(255,151,0,1);
   border-radius: 100vh;
   background: #fff;
   -webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
   box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
 }


 a.btn-c span:before,
 a.btn-c span:after,
 a.btn-d span:before,
 a.btn-d span:after {
  position: absolute;
  left: calc(50% - 10px);

  content: "";
 }

 a.btn-c span:before {
	bottom: -10px;
  
	border-width: 10px 10px 0 10px;
	border-style: solid;
	border-color: rgba(255,151,0,1) transparent transparent transparent;
  }
  
  a.btn-c span:after {
	bottom: -7px;
  
	border-width: 10px 10px 0 10px;
	border-style: solid;
	border-color: #fff transparent transparent transparent;
  }

 a.btn-d {
	font-size: 2.2rem;
  
	position: relative;
  
	padding: 0.25rem 2rem 1.5rem 3.5rem;
  
	color: #fff;
  }
  
  a.btn-d span {
	font-size: 1.5rem;
  
	position: absolute;
	top: -1.25rem;
	left: calc(50% - 180px);
  
	display: block;
  
	width: 370px;
	padding: 0.2rem 0;
  
	color: rgb(0,172,238);
	border: 2px solid rgb(0,172,238);
	border-radius: 100vh;
	background: #fff;
	-webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
  }

  a.btn-d span:before {
	bottom: -10px;
  
	border-width: 10px 10px 0 10px;
	border-style: solid;
	border-color: rgb(0,172,238) transparent transparent transparent;
  }
  
  a.btn-d span:after {
	bottom: -7px;
  
	border-width: 10px 10px 0 10px;
	border-style: solid;
	border-color: #fff transparent transparent transparent;
  }

  a.btn-c {
	background: rgba(255,151,0,1); 
	color: #fff;
	border-color: rgba(255,151,0,1);
	transition: color 0.3s, border-color 0.3s; 
  }
  
  a.btn-d {
	background: rgb(0,172,238); 
	color: #fff;
	border-color: rgb(0,172,238);
	transition: color 0.3s, border-color 0.3s; 
  }
  
  a.btn-c:hover {
	background: linear-gradient(0deg, rgba(255,151,0,1) 0%, rgba(251,75,2,1) 100%);
	color: #fff;
	border-color: #FF9800;
  }
  
  a.btn-d:hover {
	background: linear-gradient(0deg, rgba(0,172,238,1) 0%, rgba(2,126,251,1) 100%);
	color: #fff;
	border-color: #027efb; 
  }


  @media screen and (max-width: 767px) {
	.mv_cta_nav {
		flex-direction: column;
		gap: 0px;
		margin-top: 10px;
	}
	.mv_cta {
		margin-top: 40px;
	}
	.mv_btn_sp {
		width: 100%;
	}
	.mv_cta_nav .nav_btn a {
		font-size: 2.0rem;
		padding: 0px 40px 20px;
		margin-top: -10px;
	}
	.mv_cta_nav .discussion {
		margin-top: 60px;
	}
}







  
@media screen and (max-width: 698px) {
	.mv_cta_nav {
		flex-direction: column;
		gap: 0px;
		margin-top: 10px;
	}
	.mv_cta {
		margin-top: 40px;
	}
	.mv_btn_sp {
		width: 100%;
	}
	.mv_cta_nav .nav_btn a {
		font-size: 2.0rem;
		padding: 0px 40px 20px;
		margin-top: -10px;
	}
	.mv_cta_nav .discussion {
		margin-top: 60px;
	}

	a.btn-c span {
		font-size: 1.2rem;
	  
		position: absolute;
		top: -1.25rem;
		left: calc(50% - 125px);
	  
		display: block;
	  
		width: 250px;
		padding: 0.2rem 0;
	  
		color: rgba(255,151,0,1);
		border: 2px solid rgba(255,151,0,1);
		border-radius: 100vh;
		background: #fff;
		-webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
		box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	  }
	  a.btn-d span {
		font-size: 1.2rem;
	  
		position: absolute;
		top: -1.25rem;
		left: calc(50% - 150px);
	  
		display: block;
	  
		width: 300px;
		padding: 0.2rem 0;
	  
		color: rgb(0,172,238);
		border: 2px solid rgb(0,172,238);
		border-radius: 100vh;
		background: #fff;
		-webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
		box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	  }
}

@media screen and (max-width: 355px) {
	.mv_cta_nav .nav_btn a {
		font-size: 1.8rem;
		padding: 25px 50px;
	}
}
/* ===== LP用footerCSS ===== */
footer {
	padding: 40px 0px 40px;
	background-color: #e8e8e8;
}
.copyright {
	padding: 0px;
}
@media screen and (max-width: 767px) {
	.copyright {
	text-align: center;
	padding: 10px 0px 90px;
	}
}

  /* ===== LP用floatingCSS ===== */
  .pc_cv_floating {
	position: fixed;
	bottom: 0;
	right: -90px; /* 画面の右側から出ているようにする */
	background-color: rgba(128, 128, 128, 0.8); /* 背景色を少し薄くする */
	padding: 50px 10px 10px 10px;
	border-radius: 30px 0 0 0;
	z-index: 1000;
	transition: right 0.3s, opacity 0.5s; /* スムーズなアニメーションを追加 */
	opacity: 0;
  }
  
  .pc_cv_floating.show {
	right: 0; /* 完全に表示されるようにする */
	opacity: 1;
  }
  
  .pc_cv_floating .floating_nav_pc {
	list-style-type: none;
	padding: 0;
	margin: 0;
  }
  .floating_nav_pc a {
	box-shadow: 0px 0px 0px 0px rgba(255, 255, 255, .9), 0px 0px 0px 0px rgba(255, 255, 255, .9), 3px 3px 20px 0px rgba(0, 0, 0, .2), 4px 4px 5px 0px rgba(0, 0, 0, .3);
	border-radius: 50px;
}
.floating_nav_pc a:hover {
	border-radius: 50px;
}
  
  .pc_cv_floating .floating_nav_btn {
	margin: 10px 0;
  }
  
  .pc_cv_floating .floating_nav_btn a {
	display: block;
	padding: 25px 100px;
	font-size: 24px;
	color: white;
	text-decoration: none;
	text-align: center;
  }
  
  .sp_cv_floating {
	display: none;
	position: fixed;
	bottom: 0;
	width: 100%;
	background-color: rgb(161 159 159 / 70%);
	z-index: 1000;
	opacity: 0;
	transition: opacity 0.5s;
  }
  
  .sp_cv_floating.show {
	opacity: 1;
	bottom: 30px;
  }
  
  .sp_cv_floating .floating_nav_sp {
	display: flex;
	justify-content: center;
	list-style-type: none;
	margin: 0;
  }
  
  .sp_cv_floating .floating_nav_btn {
	flex: 1;
	text-align: center;
	margin: 0px 2px;
	padding: 10px 0;
  }
  
  .sp_cv_floating .floating_nav_btn a {
	display: block;
	padding: 8px 20px;
	font-size: 18px;
	color: white;
	text-decoration: none;
	text-align: center;
  }
  
  .sp_cv_floating .floating_nav_btn a:hover {
	background-color: #0056b3;
  }
  
  .sp {
	display: none;
  }

  @media (max-width: 768px) {
	.pc {
	  display: none;
	}
	.sp {
	  display: block;
	}
	.pc_cv_floating {
	  display: none;
	}
	.sp_cv_floating {
	  display: block;
	}
  }
  @media (min-width: 768px) {
	a:link {
        text-decoration: none;
    }
  }

.cms_contents:last-child {
	padding-bottom: 0px;
}

body{
	padding:0;
}


/* 選ばれる6つのPOINT */
.point_wrap{
	/* margin-top: 70px; */
  }
  .point_wrap h2{
	position: relative;
	width: 800px;
	margin: 0 auto;
	font-size: 40px;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
	margin-bottom:60px;
	margin-top:30px;
  }
  .point_wrap h2 span{
	font-size: 200%;
	color: #2c73ba;
  }
  .point_wrap h2::before,
  .point_wrap h2::after{
	position: absolute;
	content: '';
	width: 5px;
	height: 65px;
	background-color: #2c73ba;
	/* top: 30%; */
  }
  .point_wrap h2::before{
	left: 0;
	transform: rotate(-30deg);
  }
  .point_wrap h2::after{
	right: 0;
	transform: rotate(30deg);
  }
  .bg_grey{
	background: url(../img/white-cardboard.jpg);
	background-size: cover;
  }
  .point_container{
	margin: 25px 0;
  }
  .point_container ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	/* padding: 50px 30px; */
  }
  .point_container li{
	width: 29%;
	margin-right: 2%;
	margin-bottom: 48px;
  }
  .point_container li.mgb0{
	margin-bottom: 0;
  }

  .point_link{
	display: block;
	text-align: center;
	font-weight: bold;
	padding: 20px 25px;
	color: #2c73ba;
	background-color: #fff;
	border: 5px solid #2c73ba;
	box-shadow: 5px 5px 8px rgba(0, 0, 0, 0.3);
  }
  .point_link:hover{
	color: #2c73ba;
  }
  .aoi .point_link{
	color: #fff;
	background-color: #2c73ba;
	border: 5px solid #fff;
  }
  .point_link h3{
	font-size: 28px;
	line-height: 1;
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 3px solid #2c73ba;
  }
  .aoi .point_link h3{
	border-bottom: 3px solid #fff;
  }
  .point_link h3 span{
	font-size: 200%;
  }
  .point_link p{
	font-size: 19px;
	line-height: 1.25;
  }

  .point_container .wrap ul li.mgb0.sp_white:first-child p span {
	font-size: 230%;
	line-height: 1.25;
  }


  .point_link p span{
	font-size: 150%;
  }



  @media (max-width: 767px) {
	.point_title .wrap{
	  width: 90%;
	  padding: 0;
	  padding-left: 7.5%;
	}
  .point_wrap{
	/* margin-top: 17.56vw; */
  }


  .point_wrap h2{
	width: 75vw;
	font-size: 5.55vw;
	margin-bottom:30px;
	margin-top:10px;
  }




  .point_wrap h2::before,
  .point_wrap h2::after{
	height: 9.4vw;
	width: 0.5vw;
	top: 30%;
  }
  
  .point_container{
	margin: 4vw 0;
  }
  .point_container ul{
	/* padding: 8.72vw 0; */
  }
  .point_container li{
	width: 40.75vw;
	margin-right: 0;
	margin-bottom: 7.69vw;
  }
  .point_container li.mgb0{
	margin-bottom: 0;
  }
  .point_link{
	padding: 2.56vw 3.21vw;
	border: 1.28vw solid #2c73ba;
  }
  .point_link.sp_aoi{
  background-color:#2c73ba;
  color:#fff;
  border: 1.28vw solid #fff;
  }
  
  .aoi .point_link{
	border: 1.28vw solid #fff;
  }
  .point_link h3{
	font-size: 4vw;
	padding-bottom: 2.56vw;
	margin-bottom: 2.56vw;
	border-bottom: 0.77vw solid #2c73ba;
  }
  .point_link.sp_aoi h3{
	border-bottom: 0.77vw solid #fff;
  }
  
  .aoi .point_link h3{
	border-bottom: 0.77vw solid #fff;
  }
  .sp_white.aoi .point_link{
	border: 1.28vw solid #2c73ba;
	background-color:#fff;
	color:#000;
  }
  .sp_white.aoi  .point_link h3{
	border-bottom: 0.77vw solid #2c73ba;
  }
  .point_link p{
	font-size: 3.1vw;
  }

  }

  .point_link p span.fs{
	font-size:0.7em;
	font-weight: bold;
  }

  .point_contents{
	padding-left: 30px;
    padding-right: 30px;
  }

  .solution_wrap{
	background-color: #cee7ff;
    padding: 30px 0;
  }
  @media (max-width: 767px) {
	.solution_wrap{
		/* padding: 15px 0; */
	}
}



  




.siryo {
  margin: 0 auto;
  padding: 0 18%;
}

.container {
  /* margin: 20px; */
  /* padding: 10px;
	border: 1px solid #ccc;
	border-radius: 10px; */
}

.heading {
  font-size: 24px;
  font-weight: bold;
}

.text {
  overflow: hidden;
  /* white-space: nowrap; */
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  filter: blur(2px);
}

.more-button {
	
  /* display: inline-flex; */
  font-weight: 700;
  align-items: center;
  color: #7529cc;
  border: 1px solid #7529cc;
  border-radius: 100vw;
  padding: 10px 0;
  cursor: pointer;
  background-color: white;
  width: 220px;
  margin: 0px auto 30px;
  text-align: center;
  cursor: pointer;
}





.more-button span {
  margin-left: 5px;
}

.more-button.active span {
  content: 'とじる-';
}

.more-button:not(.active) span {
  content: 'もっと見る+';
}

.more-button.active+.text {
  filter: none;
  white-space: normal;
  -webkit-line-clamp: unset;
}

.cms_column_title {
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
}

.triangle-wrap {
  display: flex;
  justify-content: space-around;
  /* margin-top: 60px; */
  margin-bottom: -50px;
}

.triangle {
  width: 100px;
  aspect-ratio: 1 / cos(30deg);
  clip-path: polygon(50% 50%, 100% 0, 0 0);
  background: #1262b2;
  /* background: linear-gradient(45deg, #FA6900, #C02942); */
}







@media screen and (max-width: 767px) {
  .triangle-wrap {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-around;
  }

  .siryo {
	padding: 0 0;
  }
}


.acc-content p a {
	position: relative;
	z-index: 10; /* リンクを前面に出す */
  }


  .acc-content a {
  position: relative;
  z-index: 10; /* リンクを前面に出す */
}


/* .modal-open-button a{
	color: #007BFF;
	text-decoration: underline;

  } */
  
  .modal {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background-color: rgb(0 0 0 / 60%);
	opacity: 0;
	transition: opacity 0.5s, scale 0s 0.5s;
	scale: 0;
  }
  
  .modal:target {
	opacity: 1;
	transition: opacity 0.5s;
	scale: 1;
  }
  
  .close {
	position: absolute;
	top: 20px;
	right: 20px;
	font-size: 24px;
	color: black;
	text-decoration: none;
	cursor: pointer;
	transform: translate(50%, -50%);
  }
  
  .modal-wrapper {
	position: relative;
	width: 80%;
	max-width: 80%;
	max-height: 70%;
	padding: 20px;
	margin: auto;
	overflow: scroll;
	background-color: #FEFEFE;
	border-radius: 5px;
  }
  
  .modal-content h1 {
	margin: 0;
	font-size: 4rem;
	line-height: 1.2em;
	letter-spacing: -0.02em;
  }

  @media screen and (max-width: 767px) {
	.modal-wrapper {
	width: 90%;
	max-width: 90%;
	max-height: 90%;
}
  }

.point_title {
	display: flex;       /* 横並びにする */
	align-items: center; /* 縦位置を揃える */
	gap: 25px;           /* アイコンと文字の間隔 */
  }

  /* .point h2 strong {
  line-height: 0.8em;
} */

  
  .point_icon p {
	color:#297ACC;
	width: 80px;
	height: 80px;
	background-color: #fff;
	border: 3px solid #297ACC;
	text-align: center;
	font-size: clamp(1.2rem, 1.9vw, 2.2rem);
	font-weight: bold;
	flex-shrink: 0; /* アイコンのサイズを固定 */
	box-shadow: 6px 6px 10px 0px rgba(0, 0, 0, 0.4);
  }
  .point_icon p span {
	font-size: 0.7em;
	border-bottom: 2px solid #297ACC;
  }
  @media screen and (max-width: 767px) {



	.point_title {
		gap: 10px;           /* アイコンと文字の間隔 */
	  }
	.point_icon p {
	width: 50px;
	height: 50px;
	}
}
.cms_movie_detail {
	position: relative;
	width: 100%;
	padding-bottom: 56.25%; /* 16:9比率を維持 */
	height: 0;
  }
  
  .cms_movie_detail iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
  }

  a:hover {
    opacity: 0.7;
}