@charset "utf-8";

:root {
  --color-main: #222222;
  --color-purple: #90427C;
  --font-sans: "Noto Sans JP", sans-serif;
  --font-barlow: "Barlow", sans-serif;
}

* {
  box-sizing: border-box;
  font-feature-settings: "palt";
  line-height: 1;
}

html {
  scroll-behavior: smooth;
  /* scroll-padding-top: min(6rem, 60px); */
  scrollbar-width: none;
  -ms-overflow-style: none;
  font-size: calc(100vw / 124);
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

html::-webkit-scrollbar {
}

body, h1, h2, h3, h4, h5, p {
  margin: 0;
}

body {
  font-family: var(--font-sans);
  color: var(--color-main);
  letter-spacing: .1em;
  font-weight: 400;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body.active {
  height: 100%;
  overflow: hidden;
}

p {
  text-align: justify;
}

img {
  width: 100%;
  height: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  vertical-align: bottom;
}

ul, ol, li {
  margin: 0;
  padding: 0;
  list-style: none;
}

a {
  text-decoration: none;
  transition: opacity .8s;
  color: inherit;
}

@media (hover: hover) {
  a:hover {
    opacity: 0.6;
  }
}

a[href^="#!"] {
  pointer-events: none;
}

span {
  display: inline-block;
}

dl, dt, dd {
  all: unset;
  display: block;
}

button {
  all: unset;
  display: block;
}

table {
  border-collapse: collapse;
}

.sp_obj {
  display: none !important;
}

@media (max-width: 799px) {

  html {
    scroll-padding-top: 5rem;
    font-size: calc(100vw / 37.5);
  }

  .sp_obj {
    display: block !important;
  }
  
  .pc_obj {
    display: none !important;
  }
}

/* ----- common ----- */

.bg {
}

.no_mt {
  margin-top: 0 !important;
}

.container {
  max-width: 1240px;
  margin: 0 auto;
  padding: min(6rem, 60px) 20px;
}

h2.common_h2 {
  font-size: min(3.2rem, 32px);
  font-weight: 700;
  text-align: center;
  line-height: 1.4;
  color: var(--color-purple);
}

h2.common_h2.white {
  color: #fff;
}

p.common_txt {
  font-size: min(1.8rem, 18px);
  line-height: 1.8;
}

@media (max-width: 799px) {
  .container {
    padding: 5rem 2rem;
  }

  h2.common_h2 {
    font-size: 1.9rem;
  }
  
  p.common_txt {
    font-size: 1.4rem;
  }
}

/* ----- header ----- */
header .container {
height:min(8.5rem, 85px);
display: flex;
justify-content: space-between;
align-items: center;
padding:0;
}
header .hd_logo {
width: min(31rem, 310px);
}
header a.hd_join {
	width: min(17.8rem, 178px);
	background-color: #B19662;
	color: #fff;
	text-align: center;
	position: relative;
	border-radius: 6px;
	box-shadow: 0px 4px 0px 0px rgba(0, 0, 0, 0.16);
	display: flex;
justify-content: center;
align-items: center;
font-weight: 700;
padding:min(1.5rem, 15px) 0;
}
header a.hd_join::before {
	content: '';
	width: min(0.8rem, 8px);
	height: min(2rem, 20px);
	position: absolute;
	right: min(1rem, 10px);
	top: 0;
	bottom: 0;
	margin: auto;
	display: block;
	background-image: url("../img/arrow_cta_wh.png");
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
}
@media (max-width: 799px) {
header .container {
height:6rem;
padding:0 2rem;
}
header .hd_logo {
width: 17rem;
}
header a.hd_join {
	width: 13rem;
padding:1.3rem 0;
}
header a.hd_join::before {
	content: '';
	width: min(0.8rem, 8px);
	height: min(2rem, 20px);
	position: absolute;
	right: min(1rem, 10px);
	top: 0;
	bottom: 0;
	margin: auto;
	display: block;
	background-image: url("../img/arrow_cta_wh.png");
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
}
}


/* ----- main ----- */

main {
  overflow: hidden;
  padding-bottom: min(10.5rem, 105px);
}

@media (max-width: 799px) {
  main {
    /* padding-top: 5.288rem; */
  padding-bottom: 13rem;
  }
}

/* ----- メインビジュアル ----- */
section.mv {
	width: 100%;
	height: calc(100vh - 85px - 114px);
	background-image: url(../img/mv_bg.jpg);
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	display: flex;
justify-content: center;
align-items: center;
}
section.mv .mv_ttl_set {
	text-align: center;
	color: #fff;
	font-weight: 700;
}
section.mv .mv_ttl_set .mv_logo {
max-width:min(51rem, 510px);
margin:0 auto;
}
section.mv .mv_ttl_set h1.mv_ttl {
font-size:min(7rem, 70px);
margin-top: min(1.6rem, 16px);
	text-align: center;
}
section.mv .mv_ttl_set .mv_copy {
font-size:min(2rem, 20px);
margin-top: min(2.4rem, 24px);
	text-align: center;
	line-height: 2;
}
@media (max-width: 799px) {
section.mv {
	width: 100%;
	height: calc(100vh - 60px - 114px);
}
section.mv .mv_ttl_set {
}
section.mv .mv_ttl_set .mv_logo {
width: 60%;
}
section.mv .mv_ttl_set h1.mv_ttl {
font-size:3rem;
margin-top: 2rem;
	text-align: center;
}
section.mv .mv_ttl_set .mv_copy {
font-size:1.4rem;
margin-top: 2rem;
	line-height: 1.5;
}
}

/* ----- about ----- */

main.index section.about div.about_wrap {
  margin: min(6.4rem, 64px) auto 0;
  width: min(90rem, 900px);
  display: grid;
  grid-template-columns: min(38rem, 380px) 1fr;
  gap: min(5rem, 50px);
  align-items: center;
}

main.index section.about div.about_wrap div.img_area {
  display: flex;
  flex-direction: column;
  gap: min(8rem, 80px);
}

main.index section.about div.about_wrap div.img_area div.img_item {
  width: 100%;
  height: min(12rem, 120px);
  border-radius: 99px;
  border: min(.3rem, 3px) solid var(--color-purple);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: min(2.6rem, 26px);
  font-weight: 700;
  color: var(--color-purple);
  position: relative;
}

main.index section.about div.about_wrap div.img_area div.img_item:nth-of-type(2) {
  background-color: var(--color-purple);
  color: #fff;
}

main.index section.about div.about_wrap div.img_area div.img_item:nth-of-type(3) {
  background-color: #FCF4F4;
  color: var(--color-purple);
}

main.index section.about div.about_wrap div.img_area div.img_item:not(:last-child)::after {
  content: '';
  display: block;
  position: absolute;
  background-image: url(../img/about_arrow.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: min(5rem, 50px);
  height: min(5rem, 50px);
  left: 0;
  right: 0;
  margin: auto;
  bottom: max(-4rem, -40px);
  transform: translateY(50%);
}

main.index section.about div.about_wrap div.img_area div.img_item:not(:last-child)::before {
  content: '課題';
  display: block;
  position: absolute;
  width: fit-content;
  height: fit-content;
  font-size: min(2.0rem, 20px);
  font-weight: 700;
  color: var(--color-purple);
  left: 0;
  right: 0;
  margin: auto;
  bottom: max(-4rem, -40px);
  transform: translate(150%, 50%);
}

@media (max-width: 799px) {
  main.index section.about div.about_wrap {
    margin: 4rem auto 0;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: 4rem;
  }
  
  main.index section.about div.about_wrap div.img_area {
    gap: 4rem;
  }
  
  main.index section.about div.about_wrap div.img_area div.img_item {
    width: 100%;
    height: 8rem;
    border: .2rem solid var(--color-purple);
    font-size: 1.8rem;
  }
  
  main.index section.about div.about_wrap div.img_area div.img_item:not(:last-child)::after {
    width: 2.5rem;
    height: 2.5rem;
    bottom: -2rem;
  }
  
  main.index section.about div.about_wrap div.img_area div.img_item:not(:last-child)::before {
    font-size: 1.6rem;
    bottom: -2rem;
    transform: translate(150%, 50%);
  }
}

/* ----- points ----- */

main.index section.points {
  background-color: var(--color-purple);
}

main.index section.points div.point_wrap {
  margin: min(6rem, 60px) auto 0;
  width: min(85rem, 850px);
  display: flex;
  flex-direction: column;
  gap: min(2.4rem, 24px);
}

main.index section.points div.point_wrap div.point_item {
  padding: min(3rem, 30px);
  background-color: #fff;
  display: grid;
  grid-template-columns: min(6rem, 60px) 1fr min(27rem, 270px);
  gap: 0;
}

main.index section.points div.point_wrap div.point_item div.num_area {
  width: 100%;
  border-right: min(.1rem, 1px) solid var(--color-purple);
  font-family: var(--font-barlow);
  color: var(--color-purple);
}

main.index section.points div.point_wrap div.point_item div.num_area div.point {
  font-size: min(1.3rem, 13px);
  font-weight: 700;
}

main.index section.points div.point_wrap div.point_item div.num_area div.num {
  margin-top: min(0.5rem, 5px);
  font-size: min(3.4rem, 34px);
  font-weight: 500;
}

main.index section.points div.point_wrap div.point_item div.txt_area {
  padding: 0 min(3rem, 30px);
}

main.index section.points div.point_wrap div.point_item div.txt_area h3.point_ttl {
  font-size: min(2.2rem, 22px);
  font-weight: 700;
  line-height: 1.4;
		color:var(--color-purple);
}

main.index section.points div.point_wrap div.point_item div.txt_area p.common_txt {
  margin-top: min(2rem, 20px);
}

main.index section.points div.point_wrap div.point_item div.txt_area p.point_note {
  margin-top: min(1rem, 10px);
  font-size: min(1.2rem, 12px);
  line-height: 1.4;
}

@media (max-width: 799px) {
  main.index section.points div.point_wrap {
    margin: 4rem auto 0;
    width: 100%;
    gap: 1.2rem;
  }
  
  main.index section.points div.point_wrap div.point_item {
    padding: 1.5rem;
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  
  main.index section.points div.point_wrap div.point_item div.num_area {
    padding-bottom: 1rem;
    border-right: none;
    border-bottom: min(.1rem, 1px) solid var(--color-purple);
  }
  
  main.index section.points div.point_wrap div.point_item div.num_area div.point {
    font-size: 1.2rem;
  }
  
  main.index section.points div.point_wrap div.point_item div.num_area div.num {
    margin-top: 0rem;
    font-size: 2.4rem;
  }
  
  main.index section.points div.point_wrap div.point_item div.txt_area {
    padding: 0;
  }
  
  main.index section.points div.point_wrap div.point_item div.txt_area h3.point_ttl {
    font-size: 1.8rem;
  }
  
  main.index section.points div.point_wrap div.point_item div.txt_area p.common_txt {
    margin-top: 1.5rem;
  }
  
  main.index section.points div.point_wrap div.point_item div.txt_area p.point_note {
    margin-top: 1rem;
    font-size: 1rem;
  }
}

/* ----- cta ----- */

div.cta_area {
  margin: min(4rem, 40px) auto 0;
  width: min(82rem, 820px);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: min(3rem, 30px);
}

div.cta_area a.btn_common {
  width: 100%;
  height: min(8.5rem, 85px);
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: min(.6rem, 6px);
  gap: min(1rem, 10px);
  background-color: #B19662;
  color: #fff;
  position: relative;
  box-shadow: 0  min(.4rem, 4px) 0 rgba(0, 0, 0, .1);
}

div.cta_area a.btn_common:last-child {
  background-color: #fff;
  color: var(--color-purple);
		border:1px solid var(--color-purple);
}

div.cta_area a.btn_common:after {
  content: '›';
  display: block;
  position: absolute;
  font-size: min(2rem, 20px);
  font-weight: 700;
  color: #fff;
  width: fit-content;
  height: fit-content;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
  transform: translateX(-200%);
}

div.cta_area a.btn_common:last-child:after {
  color: var(--color-purple);
}

div.cta_area a.btn_common div.icon {
  width: min(4.5rem, 45px);
}

div.cta_area a.btn_common div.txt_area {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(1rem, 10px);
}

div.cta_area a.btn_common div.txt_area div.sub_txt {
  font-size: min(1.4rem, 14px);
  font-weight: 500;
}

div.cta_area a.btn_common div.txt_area div.main_txt {
  font-size: min(2.3rem, 23px);
  font-weight: 700;
}

div.archive_link {
text-align: center;
margin-top: min(8rem, 80px);
margin-bottom: min(8rem, 80px);
}

div.archive_link a.btn_common {
	background-color: #fff;
	color: var(--color-purple);
	border: 1px solid var(--color-purple);
	max-width: 395px;
	height: min(8.5rem, 85px);
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: min(.6rem, 6px);
	gap: min(1rem, 10px);
	position: relative;
	margin: 0 auto;
	box-shadow: 0  min(.4rem, 4px) 0 rgba(0, 0, 0, .1);
}

div.archive_link a.btn_common div.txt_area {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(1rem, 10px);
}

div.archive_link a.btn_common div.txt_area div.main_txt {
  font-size: min(2.3rem, 23px);
  font-weight: 700;
}

@media (max-width: 799px) {
  div.cta_area {
    margin: 2rem auto 0;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.0rem;
  }
  
  div.cta_area a.btn_common {
    width: 100%;
    height: 6rem;
    border-radius: .6rem;
    gap: 1rem;
    box-shadow: 0 .4rem 0 rgba(0, 0, 0, .1);
  }
  
  div.cta_area a.btn_common:after {
    font-size: 2rem;
    transform: translateX(-200%);
  }
  
  div.cta_area a.btn_common div.icon {
    width: 3rem;
  }
  
  div.cta_area a.btn_common div.txt_area {
    gap: 0.5rem;
  }
  
  div.cta_area a.btn_common div.txt_area div.sub_txt {
    font-size: 1.2rem;
  }
  
  div.cta_area a.btn_common div.txt_area div.main_txt {
    font-size: 1.8rem;
  }
}

/* ----- 開催プログラム ----- */
section.program {}
section.program .container {
max-width:min(81.5rem, 815px);
padding-left:0;
padding-right:0;
}
@media (max-width: 799px) {
section.program .container {
max-width:min(81.5rem, 815px);
padding-left:2rem;
padding-right:2rem;
}
}
section.program .program_year {
	font-size: min(2rem, 20px);
	font-weight: 700;
	text-align: center;
	color: var(--color-purple);
	background-color: #E4E4E4;
	padding:min(1rem, 10px);
	margin-top: min(3rem, 30px);
}
section.program .program_month_wrap {
	margin-top: 3rem;
	margin-top: min(3rem, 30px);
	display: flex;
	gap:min(3rem, 30px);
	padding-bottom: 0;
}
section.program .program_month_wrap:first-of-type {
	margin-top: min(3rem, 30px);

}
section.program .program_month_wrap .program_month {
	font-size: min(2.3rem, 23px);
	color: var(--color-purple);
	font-weight: 700;
	display: flex;
	justify-content: center;
	align-items: center;
	width: min(19rem, 190px);
	flex-shrink: 0;
	background-color: #F0E2E2;
	position: relative;
}

section.program .program_month_wrap .program_month.even {
	background-color: #FAF5F5;
}

section.program .program_month_wrap .program_month::after {
	content: '';
	background-image: url("../img/program_arrow.png");
	width: min(19rem, 190px);
	height: min(5.5rem, 55px);
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
		position: absolute;
	left:0;
	right:0;
	bottom: 0;
	margin: auto;
	transform: translateY(100%);
	z-index:1;
}

section.program .program_month_wrap .program_month.even::after {
	background-image: url(../img/program_arrow_lightPink.png);
}

section.program .program_month_wrap .program_month.end::after {
	content:none;
}


section.program .program_month_wrap .program_month_item_block {
display: flex;
flex-direction: column;
gap:min(5rem, 50px);
width: 100%;
}
section.program .program_month_wrap:nth-child(4) .program_month_item_block {
	padding-top: min(5rem, 50px);
}
section.program .program_month_wrap .program_month_item_block .program_item {
	position: relative;
}
section.program .program_month_wrap .program_month_item_block .program_item .program_item_date {
font-size: min(1.8rem, 18px);
font-weight: 700;
}
section.program .program_month_wrap .program_month_item_block .program_item .program_item_cate {
	font-size: min(1.4rem, 14px);
	text-align: center;
	color: var(--color-purple);
	padding: min(0.5rem, 5px) min(1.5rem, 15px);
	border: 1px solid var(--color-purple);
	width: fit-content;
font-weight: 700;
	margin-top: min(1.5rem, 15px);
}
section.program .program_month_wrap .program_month_item_block .program_item .program_item_ttl_spot {
	font-size: min(1.8rem, 18px);
	font-weight: 700;
	background-color: #F5F2F2;
	padding:min(1.5rem, 15px);
	line-height:1.5;
	margin-top: min(1.5rem, 15px);
}
section.program .program_month_wrap .program_month_item_block .program_item .program_item_ttl {
	font-size: min(2.2rem, 22px);
font-weight: 700;
	margin-top: min(2.5rem, 25px);
	line-height: 1.5;
}
section.program .program_month_wrap .program_month_item_block .program_item .program_item_name {
	background-color: var(--color-purple);
	margin-top: min(2.5rem, 25px);
	font-weight: 700;
	padding: min(1.5rem, 15px);
	position: relative;
	height: min(4.5rem, 45px);
}
section.program .program_month_wrap .program_month_item_block .program_item .program_item_name .program_item_name_wrap {
	color: #fff;
	font-size: min(1.4rem, 14px);
	position: absolute;
	left:min(1.2rem, 12px);
	top:0;
	bottom:0;
	margin: auto;
	z-index: 1;
	line-height: min(4.5rem, 45px);
}
section.program .program_month_wrap .program_month_item_block .program_item .program_item_name .program_item_name_wrap em {
	font-size: min(1.8rem, 18px);
	font-style: normal;
}
section.program .program_month_wrap .program_month_item_block .program_item .program_item_photo {
	position: absolute;
	right: 0;
	bottom: 0;
	width: min(23rem, 230px);
	height: min(18rem, 180px);
}

section.program .program_archive_wrap {
	margin-top: min(10rem, 100px);
	width: 100%;
	border: min(.1rem, 1px) solid var(--color-purple);
	padding:min(5rem, 50px) min(3rem, 30px) min(4.5rem, 45px) min(4.5rem, 45px);
}

section.program .program_archive_ttl {
	margin: 0 auto;
	font-weight: 700;
	color: var(--color-purple);
	font-size: min(3rem, 30px);
	text-align: center;
}

section.program .program_archive_wrap ul.program_archive_tabs {
		display: flex;
		justify-content: center;
		gap: 6rem;
  margin-top: min(3rem, 30px);
}
section.program .program_archive_wrap ul.program_archive_tabs li.program_archive_tab {
	cursor: pointer;
	color: #CEA3C3;
	font-weight: 700;
	font-size: min(2rem, 20px);
	font-family:var(--font-barlow);
	transition: all 0.8s;
}

section.program .program_archive_wrap ul.program_archive_tabs li.program_archive_tab:hover {
	opacity: 0.6;
}


section.program .program_archive_wrap ul.program_archive_tabs li.program_archive_tab.active {
		color: var(--color-purple);
		border-bottom: 2px solid var(--color-purple);
		padding-bottom: min(0.5rem, 5px);
		pointer-events: none;
}

section.program .program_archive_panel {
	margin-top: min(5rem, 50px);
	height: min(37.5rem, 375px);
	overflow-y: scroll;
	padding-right: min(5rem, 50px);
	position: absolute;
	top: -9999999px;
	opacity: 0;
	pointer-events: none;
	transition: all 0.8s;
}

section.program .program_archive_panel.active {
	position: static;
	opacity: 1;
	pointer-events: auto;
}

section.program .program_archive_panel .program_archive_panel_item {
	margin-top: min(3rem, 30px);
	border-bottom:1px solid #F0E2E2;
	padding-bottom:min(3rem, 30px);
}

section.program .program_archive_panel .program_archive_panel_item .program_archive_panel_hd {
display: flex;
}
section.program .program_archive_panel .program_archive_panel_item .program_archive_panel_hd span.date {
	font-size: min(1.6rem, 16px);
	font-weight: 700;
}
section.program .program_archive_panel .program_archive_panel_item .program_archive_panel_hd span.cate {
	font-size: min(1.1rem, 11px);
	border: 1px solid #222;
	padding: min(0.2rem, 2px) min(0.5rem, 5px);
	margin-left: min(0.5rem, 5px);
}
section.program .program_archive_panel .program_archive_panel_item .program_archive_panel_ttl {
	font-size: min(2.2rem, 22px);
	font-weight: 700;
	margin-top: min(1.5rem, 15px);
}
section.program .program_archive_panel .program_archive_panel_item .program_archive_panel_name {
	font-size: min(1.6rem, 16px);
	margin-top: min(1rem, 10px);
}

/* 例: スクロールバーの全体幅は 7px のまま */
section.program .program_archive_panel::-webkit-scrollbar {
  width: 7px;
}

/* トラックを中央1pxの線に見せる */
section.program .program_archive_panel::-webkit-scrollbar-track {
  background: var(--color-purple);
  box-shadow:
    inset 3px 0 0 #fff,
    inset -3px 0 0 #fff;
}

/* サムも見た目を1pxに合わせる（任意。合わせないとサムだけ太く見えます） */
section.program .program_archive_panel::-webkit-scrollbar-thumb {
  background: var(--color-purple);
}

@media (max-width: 799px) {
section.program .program_year {
	font-size: 1.6rem;
	padding:1rem;
	margin-top: 3rem;
}
section.program .program_month_wrap {
	gap:3rem;
	padding-bottom: 0;
}
section.program .program_month_wrap .program_month {
	font-size: 2rem;
	width: 7rem;
}
section.program .program_month_wrap .program_month::after {
	width: 7rem;
	height: 2rem;
}
section.program .program_month_wrap .program_month_item_block {
gap:2.5rem;
}
section.program .program_month_wrap:nth-child(4) .program_month_item_block {
	padding-top: 3rem;
}
section.program .program_month_wrap .program_month_item_block .program_item .program_item_date {
font-size: 1.4rem;
}
section.program .program_month_wrap .program_month_item_block .program_item .program_item_cate {
	font-size: 1.2rem;
	padding: 0.5rem 1.5rem;
	margin-top: 1rem;
}
section.program .program_month_wrap .program_month_item_block .program_item .program_item_ttl_spot {
	font-size: 1.4rem;
	padding:1rem;
	margin-top: 1rem;
}
section.program .program_month_wrap .program_month_item_block .program_item .program_item_ttl {
	font-size: 1.6rem;
	margin-top: 2rem;
}
section.program .program_month_wrap .program_month_item_block .program_item .program_item_name {
	margin-top: 1rem;
	padding: 1rem;
	height: auto;
}
section.program .program_month_wrap .program_month_item_block .program_item .program_item_name .program_item_name_wrap {
	font-size: 1.2rem;
	left:1.2rem;
	line-height: 2rem;
	padding: 0;
	position: static;
}
section.program .program_month_wrap .program_month_item_block .program_item .program_item_name .program_item_name_wrap em {
	font-size: 1.6rem;
}
section.program .program_month_wrap .program_month_item_block .program_item .program_item_photo {
	width: 23rem;
	height: 18rem;
	position: static;
}

section.program .program_archive_wrap {
	margin-top: 3rem;
	border: 0.1rem solid var(--color-purple);
	padding:4rem 2rem;
}

section.program .program_archive_ttl {
	font-size: 2rem;
}

section.program .program_archive_wrap ul.program_archive_tabs {
		gap: 6rem;
  margin-top: 3rem;
}
section.program .program_archive_wrap ul.program_archive_tabs li.program_archive_tab {
	font-size: 2rem;
}
section.program .program_archive_wrap ul.program_archive_tabs li.program_archive_tab.is-active {
		padding-bottom: 0.5rem;
}

section.program .program_archive_panel {
	margin-top: 2rem;
	height: 37.5rem;
	padding-right: 2rem;
}
section.program .program_archive_panel .program_archive_panel_item {
	margin-top: 2rem;
	padding-bottom:2rem;
}

section.program .program_archive_panel .program_archive_panel_item .program_archive_panel_hd {
	display: block;
}

section.program .program_archive_panel .program_archive_panel_item .program_archive_panel_hd span.date {
	font-size: 1.4rem;
}
section.program .program_archive_panel .program_archive_panel_item .program_archive_panel_hd span.cate {
	font-size: 1.2rem;
	padding: 0.2rem 0.5rem;
	margin-left: 0;
	margin-top: 1rem;
}
section.program .program_archive_panel .program_archive_panel_item .program_archive_panel_ttl {
	font-size: 1.8rem;
	margin-top: 1.5rem;
}
section.program .program_archive_panel .program_archive_panel_item .program_archive_panel_name {
	font-size: 1.4rem;
	margin-top: 1rem;
}
}

/* ----- 支援業の方/事業会社の方 ----- */
section.sien_jigyou ul.sien_jigyou_tabs {
	display: flex;
	justify-content: center;
	gap:min(1.2rem, 12px);
}

section.sien_jigyou ul.sien_jigyou_tabs li.sien_jigyou_tab {
	background-color: #CEA3C3;
	color: #fff;
	text-align: center;
	font-weight: 700;
	font-size: min(2rem, 20px);
	padding:min(1.5rem, 15px) 0 min(2rem, 20px) 0;
	line-height: 1.8;
	width: min(38.5rem, 385px);
	cursor:pointer;
}
section.sien_jigyou ul.sien_jigyou_tabs li.sien_jigyou_tab em {
	font-size: min(3rem, 30px);
	display: block;
	font-style: normal;
}
section.sien_jigyou ul.sien_jigyou_tabs li.sien_jigyou_tab.active {
	background-color: var(--color-purple);
	pointer-events: none;
}
		
/*section.sien_jigyou .sien_jigyou_panel { display: none; }*/
section.sien_jigyou .sien_jigyou_panel.is-active { display: block; }

@media (max-width: 799px) {
	section.sien_jigyou ul.sien_jigyou_tabs {
	margin:0 2rem;
	gap:1rem;
	}
	section.sien_jigyou ul.sien_jigyou_tabs li.sien_jigyou_tab {
		font-size: 1.4rem;
		padding:1.5rem 0 1rem 0;
		line-height: 1.4;
		width: 48%;
	}
	section.sien_jigyou ul.sien_jigyou_tabs li.sien_jigyou_tab em {
		font-size: 2rem;
		display: block;
		font-style: normal;
	}
}

section.sien_jigyou .sien_jigyou_panel {
	position: absolute;
	top: -9999999px;
	opacity: 0;
	pointer-events: none;
	transition: all 0.8s;
}

section.sien_jigyou .sien_jigyou_panel.active {
	position: static;
	opacity: 1;
	pointer-events: auto;
}

/*こんな方におすすめ*/
section.sien_jigyou .sien_recommend {
	background-color: var(--color-purple);
	color: var(--color-purple);
	text-align: center;
}
section.sien_jigyou .sien_recommend ul.sien_recommend_job {
display: flex;
justify-content: center;
gap:min(1rem, 10px);
margin-top: min(4.5rem, 45px);
}
section.sien_jigyou .sien_recommend ul.sien_recommend_job li {
	background-color: #fff;
	border-radius: 999px;
	padding:min(0.8rem, 8px) min(2rem, 20px);
	font-weight: 700;
}
section.sien_jigyou .sien_recommend ul.sien_recommend_job li:last-child {
	background-color: transparent;
	color: #fff;
}
section.sien_jigyou .sien_recommend .sien_recommend_img {
	margin: min(6rem, 60px) auto 0;
	max-width: min(98rem, 980px);
}
@media (max-width: 799px) {
section.sien_jigyou .sien_recommend ul.sien_recommend_job {
gap:1rem;
margin-top: 2rem;
flex-wrap: wrap;
}
section.sien_jigyou .sien_recommend ul.sien_recommend_job li {
	background-color: #fff;
	padding:0.8rem 1rem;
	font-size: 1.4rem;
}
section.sien_jigyou .sien_recommend .sien_recommend_img {
	margin: min(6rem, 60px) auto 0;
}
}

/*４つのメリット*/
section.sien_jigyou .sien_jigyou_merit .sien_jigyou_merit_item {
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
	width: min(85rem, 850px);
	align-items: center;
}
section.sien_jigyou .sien_jigyou_merit .sien_jigyou_merit_item:first-of-type {
margin-top: min(3.5rem, 35px);
}
section.sien_jigyou .sien_jigyou_merit .sien_jigyou_merit_item:nth-child(odd) {
	flex-direction: row-reverse;
}
section.sien_jigyou .sien_jigyou_merit .sien_jigyou_merit_item .sien_jigyou_merit_txt_area {
flex-shrink: 0;
}
section.sien_jigyou .sien_jigyou_merit .sien_jigyou_merit_item .sien_jigyou_merit_txt_area .sien_jigyou_merit_en {
	font-size: min(3.6rem, 36px);
	color: var(--color-purple);
	font-weight: 600;
}
section.sien_jigyou .sien_jigyou_merit .sien_jigyou_merit_item .sien_jigyou_merit_txt_area .sien_jigyou_merit_ttl {
font-size: min(3rem, 30px);
	font-weight: 600;
	margin-top: min(1rem, 10px);
}
section.sien_jigyou .sien_jigyou_merit .sien_jigyou_merit_item .sien_jigyou_merit_txt_area .sien_jigyou_merit_txt {
font-size: min(1.6rem, 16px);
	margin-top: min(2rem, 20px);
}
section.sien_jigyou .sien_jigyou_merit .sien_jigyou_merit_item .sien_jigyou_merit_img {
width: min(38rem, 380px);
}
@media (max-width: 799px) {
section.sien_jigyou .sien_jigyou_merit .sien_jigyou_merit_item {
	width: auto;
display: block;
margin-top: 3rem;
}
section.sien_jigyou .sien_jigyou_merit .sien_jigyou_merit_item .sien_jigyou_merit_txt_area .sien_jigyou_merit_en {
	font-size: 3rem;
	color: var(--color-purple);
	font-weight: 600;
}
section.sien_jigyou .sien_jigyou_merit .sien_jigyou_merit_item .sien_jigyou_merit_txt_area .sien_jigyou_merit_ttl {
font-size: 2rem;
	margin-top: 1rem;
	line-height: 1.4;
}
section.sien_jigyou .sien_jigyou_merit .sien_jigyou_merit_item .sien_jigyou_merit_txt_area .sien_jigyou_merit_txt {
font-size: 1.4rem;
	margin-top: 1rem;
	line-height: 1.4;
}
section.sien_jigyou .sien_jigyou_merit .sien_jigyou_merit_item .sien_jigyou_merit_img {
	width: auto;
}
}

/*ブランディング実践サロン メンバーの声*/
section.sien_jigyou .sien_jigyou_member {
	background-color: var(--color-purple);
  padding: min(6rem, 60px) min(2rem, 20px);
}
section.sien_jigyou .sien_jigyou_member .sien_jigyou_member_wrap {
	margin:min(3rem, 30px) auto 0;
	width: 100%;
	position: relative;
	z-index: 0;
}

section.sien_jigyou .sien_jigyou_member .sien_jigyou_member_wrap .slick-arrow {
	position: absolute;
	width: min(5rem, 50px);
	height: min(5rem, 50px);
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	transform: translateX(60%);
	z-index: 1;
}

section.sien_jigyou .sien_jigyou_member .sien_jigyou_member_wrap .slick-arrow.slick-next {
	right: 0;
	left: auto;
	transform: translateX(-60%);
}

@media (max-width: 799px) {
	section.sien_jigyou .sien_jigyou_member .sien_jigyou_member_wrap .slick-arrow {
		width: 2.5rem;
		height: 2.5rem;
		transform: translateX(20%);
	}
	
	section.sien_jigyou .sien_jigyou_member .sien_jigyou_member_wrap .slick-arrow.slick-next {
		transform: translateX(-20%);
	}
}

section.sien_jigyou .sien_jigyou_member .sien_jigyou_member_wrap .sien_jigyou_member_item {
	padding: min(5rem, 50px);
	background-color: #fff;
	display: flex;
	gap:min(3rem, 30px);
	margin:0 min(3rem, 30px);
}
section.sien_jigyou .sien_jigyou_member .sien_jigyou_member_wrap .sien_jigyou_member_item .sien_jigyou_member_img_area {
max-width: min(32rem, 320px);
flex-shrink: 0;
}
section.sien_jigyou .sien_jigyou_member .sien_jigyou_member_wrap .sien_jigyou_member_item .sien_jigyou_member_img_area figure {
margin:0;
}
section.sien_jigyou .sien_jigyou_member .sien_jigyou_member_wrap .sien_jigyou_member_item .sien_jigyou_member_img_area .sien_jigyou_member_name {
	font-size: min(2.4rem, 24px);
	margin-top: min(2rem, 20px);
	font-weight: 700;
}
section.sien_jigyou .sien_jigyou_member .sien_jigyou_member_wrap .sien_jigyou_member_item .sien_jigyou_member_img_area .sien_jigyou_member_position {
	margin-top: min(1rem, 10px);
font-size: min(1.3rem, 13px);
line-height: 1.8;
}
section.sien_jigyou .sien_jigyou_member .sien_jigyou_member_wrap .sien_jigyou_member_item .sien_jigyou_member_txt_area {
font-size: min(1.6rem, 16px);
display: flex;
flex-direction: column;
gap:min(2rem, 20px);
}
section.sien_jigyou .sien_jigyou_member .sien_jigyou_member_wrap .sien_jigyou_member_item .sien_jigyou_member_txt_area .sien_jigyou_member_txt_wrap {
}
section.sien_jigyou .sien_jigyou_member .sien_jigyou_member_wrap .sien_jigyou_member_item .sien_jigyou_member_txt_area .sien_jigyou_member_txt_wrap .sien_jigyou_member_ttl {
color:var(--color-purple);
	font-weight: 700;
line-height: 1.8;
}
section.sien_jigyou .sien_jigyou_member .sien_jigyou_member_wrap .sien_jigyou_member_item .sien_jigyou_member_txt_area .sien_jigyou_member_txt_wrap .sien_jigyou_member_txt {
line-height: 1.8;
}
@media (max-width: 799px) {
section.sien_jigyou .sien_jigyou_member {
	padding: 5rem 0;
}
section.sien_jigyou .sien_jigyou_member .sien_jigyou_member_wrap {
margin-top:2rem;
width: 100%;
}
section.sien_jigyou .sien_jigyou_member .sien_jigyou_member_wrap .sien_jigyou_member_item {
	padding: 3rem;
	display: block;
	margin:0 1rem;
}
section.sien_jigyou .sien_jigyou_member .sien_jigyou_member_wrap .sien_jigyou_member_item .sien_jigyou_member_img_area figure {
margin:0;
}
section.sien_jigyou .sien_jigyou_member .sien_jigyou_member_wrap .sien_jigyou_member_item .sien_jigyou_member_img_area .sien_jigyou_member_name {
	font-size: 2.4rem;
	margin-top: 2rem;
}
section.sien_jigyou .sien_jigyou_member .sien_jigyou_member_wrap .sien_jigyou_member_item .sien_jigyou_member_img_area .sien_jigyou_member_position {
	margin-top: 1rem;
font-size: 1.3rem;
}
section.sien_jigyou .sien_jigyou_member .sien_jigyou_member_wrap .sien_jigyou_member_item .sien_jigyou_member_txt_area {
font-size: 1.4rem;
gap:2rem;
}
}

/*料 金*/
section.sien_jigyou .sien_jigyou_price {}
section.sien_jigyou .sien_jigyou_price .sien_jigyou_price_block {
	border-bottom: 1px solid #000;
	display: flex;
	padding:min(1rem, 10px) 0;
	gap:min(1.5rem, 15px);
	width:min(86rem, 860px);
	margin:0px auto 0;
}

section.sien_jigyou .sien_jigyou_price .sien_jigyou_price_block:first-of-type {
	margin:min(3rem, 30px) auto 0;
	border-top: 1px solid #000;
}

section.sien_jigyou .sien_jigyou_price .sien_jigyou_price_block .sien_jigyou_price_ttl {
	width: min(18rem, 180px);
	background-color: var(--color-purple);
	color: #fff;
	font-size: min(2rem, 20px);
	display: flex;
justify-content: center;
align-items: center;
}
section.sien_jigyou .sien_jigyou_price .sien_jigyou_price_block .sien_jigyou_price_area {
	width:100%;
}
section.sien_jigyou .sien_jigyou_price .sien_jigyou_price_block .sien_jigyou_price_area .sien_jigyou_price_item {
	padding-top: 0;
	padding-right: min(2rem, 20px);
	padding-left: min(2rem, 20px);
	padding-bottom: min(2rem, 20px);
	border-bottom: 1px solid #000;
	text-align: center;
	margin-top: min(2rem, 20px);
}
section.sien_jigyou .sien_jigyou_price .sien_jigyou_price_block .sien_jigyou_price_area .sien_jigyou_price_item:last-of-type {
	border-bottom: none;
}
section.sien_jigyou .sien_jigyou_price .sien_jigyou_price_block .sien_jigyou_price_area .sien_jigyou_price_item .sien_jigyou_price_item_wrap {
display: flex;
	justify-content: space-between;
	align-items: center;
}
section.sien_jigyou .sien_jigyou_price .sien_jigyou_price_block .sien_jigyou_price_area .sien_jigyou_price_item .sien_jigyou_price_item_wrap .sien_jigyou_price_sttl_wrap {
display: flex;
flex-direction: column;
gap:min(1rem, 10px);
}
section.sien_jigyou .sien_jigyou_price .sien_jigyou_price_block .sien_jigyou_price_area .sien_jigyou_price_item .sien_jigyou_price_item_wrap .sien_jigyou_price_sttl {
	background-color: #F0E6E6;
	text-align: center;
	border-radius: 999px;
	font-size: min(2rem, 20px);
	width: 250px;
	padding:min(0.8rem, 8px) min(2rem, 20px);
	font-weight: 600;
	line-height: 1.4;
}
section.sien_jigyou .sien_jigyou_price .sien_jigyou_price_block .sien_jigyou_price_area .sien_jigyou_price_item .price {
	font-size: min(2rem, 20px);
	font-weight: 700;
	margin:0 auto;
}
section.sien_jigyou .sien_jigyou_price .sien_jigyou_price_block .sien_jigyou_price_area .sien_jigyou_price_item .price em {
	font-size: min(3rem, 30px);
	font-style: normal;
	font-weight: 700;
}
section.sien_jigyou .sien_jigyou_price .sien_jigyou_price_block .sien_jigyou_price_area .sien_jigyou_price_item .price .off {
	background-color: var(--color-purple);
	color: #fff;
	font-size: min(1.2rem, 12px);
	border-radius: 3px;
	padding:2px 5px;
	margin-right: min(1rem, 10px);
}
section.sien_jigyou .sien_jigyou_price .sien_jigyou_price_block .sien_jigyou_price_area .sien_jigyou_price_item .price .off em {
	font-size: min(1.8rem, 18px);
}
section.sien_jigyou .sien_jigyou_price .sien_jigyou_price_block .sien_jigyou_price_area .sien_jigyou_price_item .sien_jigyou_price_note {
	font-size: min(1.2rem, 12px);
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: left;
	margin-top: min(1rem, 10px);
}
section.sien_jigyou .sien_jigyou_price .sien_jigyou_price_block .sien_jigyou_price_area .sien_jigyou_price_item .sien_jigyou_price_txt {
	font-size: min(1.6rem, 16px);
	line-height: 1.5;
	font-weight: 700;
}
section.sien_jigyou .sien_jigyou_price .sien_jigyou_price_block .sien_jigyou_price_area .sien_jigyou_price_item .sien_jigyou_price_pu {
	font-size: min(3rem, 30px);
	line-height: 1.8;
	font-weight: 700;
	color: var(--color-purple);
	text-align: center;
}
section.sien_jigyou .sien_jigyou_price .sien_jigyou_price_block .sien_jigyou_price_area .sien_jigyou_price_item .sien_jigyou_price_pu_s {
	font-size: min(1.8rem, 18px);
	line-height: 1.8;
	font-weight: 700;
	color: var(--color-purple);
	text-align: center;
	margin-top: min(1rem, 10px);
}
section.sien_jigyou .sien_jigyou_price .sien_jigyou_price_copy {
	background-color: #F0E6E6;
	color: var(--color-purple);
	font-size: min(2rem, 20px);
	padding: min(2rem, 20px);
	width: min(86rem, 860px);
	margin: 0 auto;
	font-weight: 700;
	margin-top: min(6rem, 60px);
	margin-bottom: min(1.5rem, 15px);
	line-height: 1.4;
	text-align: center;
}
section.sien_jigyou .sien_jigyou_price .sien_jigyou_price_copy p {
	font-size: min(1.6rem, 16px);
	font-weight: 400;
	line-height: 1.4;
	text-align: center;
}

@media (max-width: 799px) {
section.sien_jigyou .sien_jigyou_price .sien_jigyou_price_block {
	border-bottom: 1px solid #000;
	display: flex;
	padding:1rem 0;
	gap:1rem;
	width:auto;
}

section.sien_jigyou .sien_jigyou_price .sien_jigyou_price_block:first-of-type {
	margin:3rem auto 0;
}

section.sien_jigyou .sien_jigyou_price .sien_jigyou_price_block .sien_jigyou_price_ttl {
	width: 8rem;
	font-size: 1.6rem;
	flex-shrink: 0;
}
section.sien_jigyou .sien_jigyou_price .sien_jigyou_price_block .sien_jigyou_price_area {
	width:100%;
}
section.sien_jigyou .sien_jigyou_price .sien_jigyou_price_block .sien_jigyou_price_area .sien_jigyou_price_item {
	padding: 1rem 0;
	width:100%;
	margin:0 auto;
}
section.sien_jigyou .sien_jigyou_price .sien_jigyou_price_block .sien_jigyou_price_area .sien_jigyou_price_item:last-of-type {
	border-bottom: none;
}
section.sien_jigyou .sien_jigyou_price .sien_jigyou_price_block .sien_jigyou_price_area .sien_jigyou_price_item .sien_jigyou_price_item_wrap {
display: block;
}
section.sien_jigyou .sien_jigyou_price .sien_jigyou_price_block .sien_jigyou_price_area .sien_jigyou_price_item .sien_jigyou_price_item_wrap .sien_jigyou_price_sttl {
	font-size: 1.4rem;
	width: 100%;
	margin:0 auto;
	padding:0.8rem 0;
}
section.sien_jigyou .sien_jigyou_price .sien_jigyou_price_block .sien_jigyou_price_area .sien_jigyou_price_item .price {
	font-size: 1.6rem;
	margin:1rem auto 0;
}
section.sien_jigyou .sien_jigyou_price .sien_jigyou_price_block .sien_jigyou_price_area .sien_jigyou_price_item .price em {
	font-size: 2rem;
}
section.sien_jigyou .sien_jigyou_price .sien_jigyou_price_block .sien_jigyou_price_area .sien_jigyou_price_item .sien_jigyou_price_note {
	font-size: 1.2rem;
	text-align: left;
	display: flex;
	justify-content: center;
	align-items: left;
	margin-top: 1rem;
	line-height: 1.5;
}
section.sien_jigyou .sien_jigyou_price .sien_jigyou_price_block .sien_jigyou_price_area .sien_jigyou_price_item .sien_jigyou_price_txt {
	font-size: 1.4rem;
	line-height: 1.5;
	font-weight: 700;
}
section.sien_jigyou .sien_jigyou_price .sien_jigyou_price_block .sien_jigyou_price_area .sien_jigyou_price_item .sien_jigyou_price_pu {
	font-size: 3rem;
	line-height: 1.8;
	font-weight: 700;
	color: var(--color-purple);
	text-align: center;
}
section.sien_jigyou .sien_jigyou_price .sien_jigyou_price_block .sien_jigyou_price_area .sien_jigyou_price_item .sien_jigyou_price_pu_s {
	font-size: 1.8rem;
	line-height: 1.8;
	font-weight: 700;
	color: var(--color-purple);
	text-align: center;
	margin-top: 1rem;
}
section.sien_jigyou .sien_jigyou_price .sien_jigyou_price_copy {
background-color: #F0E6E6;
	color: var(--color-purple);
	font-size: 1.6rem;
	padding:2rem;
	text-align: center;
		width:auto;
	margin:0 auto;
	font-weight: 700;
	margin-top: 3rem;
	margin-bottom: 1.5rem;
	line-height: 1.4;
}
section.sien_jigyou .sien_jigyou_price .sien_jigyou_price_copy p {
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.4;
	margin-top: 1rem;
}
}

/*３つの入会特典*/
section.benefit {
	background-color: var(--color-purple);
}
section.benefit .benefit_item_col {
	display: flex;
	padding: min(5rem, 50px);
	background-color: #fff;
	margin-top: min(5rem, 50px);
	gap:min(8rem, 80px);
}
section.benefit .benefit_item {
background-color: #fff;
	padding: min(5rem, 50px);
	margin-top: min(5rem, 50px);
}
section.benefit .benefit_item:last-of-type {
	padding-bottom: 0px;
}
section.benefit h3.benefit_item_ttl {
	font-size: min(2.6rem, 26px);
	color:var(--color-purple);
	display: flex;
	align-items: center;
	line-height: 1.5;
}
section.benefit h3.benefit_item_ttl span.num {
	font-size: min(2.6rem, 26px);
	border-right: 1px solid var(--color-purple);
	padding-right: min(3rem, 30px);
	margin-right: min(3rem, 30px);
	padding-top:min(1rem, 10px);
	padding-bottom:min(1rem, 10px);
	flex-shrink: 0;
}
section.benefit h3.benefit_item_ttl span.num em {
	font-size: min(3.4rem, 34px);
	font-family: var(--font-barlow);
	font-style: normal;
	margin-left: min(1rem, 10px);
}
section.benefit p.benefit_item_txt {
	margin-top: min(3.5rem, 35px);
	font-size: min(1.6rem, 16px);
	line-height: 1.8;
	font-weight: 400;
	color:#222;
}
section.benefit p.benefit_item_txt.mt_none {
	margin-top: min(1rem, 10px);
}
section.benefit .mov_list  {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	background-image: url(../img/benefits_bg_02_pc.jpg);
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	margin-top: min(3rem, 30px);
	padding:min(3rem, 30px);
}
section.benefit .mov_list .mov_list_item {
}
section.benefit .mov_list .mov_list_item .mov_list_item_img {
}
section.benefit .mov_list .mov_list_item .mov_list_item_name {
	color: var(--color-purple);
	font-size: min(1.1rem, 11px);
	margin-top: min(1rem, 10px);
	line-height: 1.8;
	font-weight: 600;
}
section.benefit .mov_list .mov_list_item .mov_list_item_name em {
font-style: normal;
	font-size: min(1.4rem, 14px);
}
section.benefit .mov_list .mov_list_item .mov_list_item_txt {
	font-size: min(1.1rem, 11px);
	line-height: 1.8;
}

section.benefit .benefit_item_col .benefit_item_img_area {
margin-top: 0px;
}
section.benefit .benefit_item .benefit_item_img_area {
margin-top: min(3rem, 30px);
}

@media (max-width: 799px) {
section.benefit {
	background-color: var(--color-purple);
}
section.benefit .benefit_item_col {
	display: block;
	padding: 2rem;
	background-color: #fff;
	margin-top: 2rem;
	gap:8rem;
}
section.benefit .benefit_item {
	padding:2rem;
	margin-top: 2rem;
}
section.benefit .benefit_item:last-of-type {
	padding-bottom: 0px;
}
section.benefit h3.benefit_item_ttl {
	font-size: 1.8rem;
	color:var(--color-purple);
	display: flex;
	align-items: flex-start;
	line-height: 1.5;
	letter-spacing: 0em;
}
section.benefit h3.benefit_item_ttl span {
	font-size: 1.2rem;
}
section.benefit h3.benefit_item_ttl p,
section.benefit h3.benefit_item_ttl div{
	text-align: left;
	line-height: 1.3;
}
section.benefit h3.benefit_item_ttl span.num {
	font-size: 2rem;
	border-right: 1px solid var(--color-purple);
	padding-right: 1rem;
	margin-right: 0.5em;
	padding-top:1rem;
	padding-bottom:1rem;
	flex-shrink: 0;
}
section.benefit h3.benefit_item_ttl span.num em {
	font-size: 3.4rem;
	font-family: var(--font-barlow);
	font-style: normal;
	margin-left: 1rem;
}
section.benefit p.benefit_item_txt {
	margin-top: 2rem;
	font-size: 1.4rem;
	line-height: 1.8;
	font-weight: 400;
	color:#222;
}
section.benefit p.benefit_item_txt.mt_none {
	margin-top: 1rem;
}
section.benefit .mov_list  {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	background-image: url(../img/benefits_bg_02_sp.jpg);
	background-position: center center;
	background-size: contain;
	background-repeat: repeat-y;
	margin-top: 3rem;
	padding: 3rem;
	gap:2rem;
}
section.benefit .mov_list .mov_list_item {
}
section.benefit .mov_list .mov_list_item .mov_list_item_img {
}
section.benefit .mov_list .mov_list_item .mov_list_item_name {
	color: var(--color-purple);
	font-size: 1.4rem;
	margin-top: 0;
	line-height: 1.8;
	font-weight: 600;
}
section.benefit .mov_list .mov_list_item .mov_list_item_name em {
font-style: normal;
	font-size: 2rem;
}
section.benefit .mov_list .mov_list_item .mov_list_item_txt {
	font-size: 1.4rem;
	line-height: 1.4;
}

section.benefit .benefit_item_col .benefit_item_img_area {
	margin-top: 2rem;
}
section.benefit .benefit_item .benefit_item_img_area {
margin-top: 2rem;
}
}

/* ----- thought ----- */

main.index section.thought div.thought_box {
  margin-top: min(4rem, 40px);
  border: min(.1rem, 1px) solid var(--color-purple);
}

main.index section.thought div.thought_box div.thought_ttl_area {
  padding: min(4rem, 40px) 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(1.6rem, 16px);
  color: var(--color-purple);
  border-bottom: min(.1rem, 1px) solid var(--color-purple);
}

main.index section.thought div.thought_box div.thought_ttl_area div.sub_ttl {
  font-size: min(2.2rem, 22px);
  font-weight: 700;
}

main.index section.thought div.thought_box div.thought_ttl_area h3.thought_ttl {
  font-size: min(3.0rem, 30px);
  font-weight: 700;
}

main.index section.thought div.thought_box div.thought_wrap {
  display: grid;
  grid-template-columns: min(52rem, 520px) 1fr;
  align-items: center;
}

main.index section.thought div.thought_box div.thought_wrap p.thought_txt {
  padding: min(3.5rem, 35px);
  font-size: min(1.6rem, 16px);
  font-weight: 500;
  line-height: 1.8;
}

@media (max-width: 799px) {
  main.index section.thought div.thought_box {
    margin-top: 2rem;
    border: .1rem solid var(--color-purple);
  }
  
  main.index section.thought div.thought_box div.thought_ttl_area {
    padding: 2rem;
    gap: 1rem;
    border-bottom: .1rem solid var(--color-purple);
  }
  
  main.index section.thought div.thought_box div.thought_ttl_area div.sub_ttl {
    font-size: 1.3rem;
  }
  
  main.index section.thought div.thought_box div.thought_ttl_area h3.thought_ttl {
    font-size: 2rem;
    line-height: 1.2;
    text-align: center;
  }
  
  main.index section.thought div.thought_box div.thought_wrap {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  
  main.index section.thought div.thought_box div.thought_wrap p.thought_txt {
    padding: 0 1rem 2rem;
    font-size: 1.4rem;
    line-height: 1.8;
  }
}

/* ----- faq ----- */

main.index section.faq div.faq_wrap {
  margin: min(4rem, 40px) auto 0;
  width: min(100rem, 1000px);
  display: flex;
  flex-direction: column;
  gap: min(3rem, 30px);
}

main.index section.faq div.faq_wrap div.faq_item {
  padding: min(2.5rem, 25px) min(3.5rem, 35px);
  box-shadow: 0 .8rem .8rem rgba(0, 0, 0, .16);
  border-radius: min(.8rem, 8px);
  background-color: #fff;
  border: min(.2rem, 2px) solid #E7E7E8;
}

main.index section.faq div.faq_wrap div.faq_item div.question {
  font-size: min(1.8rem, 18px);
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: min(2rem, 20px);
  position: relative;
  cursor: pointer;
}

main.index section.faq div.faq_wrap div.faq_item div.question::before {
  content: '';
  background-image: url(../img/qa_q.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: min(1.8rem, 18px);
  height: min(4.5rem, 45px);
}

main.index section.faq div.faq_wrap div.faq_item div.question::after {
  content: '+';
  display: block;
  position: absolute;
  font-size: min(2.5rem, 25px);
  font-weight: 700;
  color: var(--color-purple);
  width: fit-content;
  height: fit-content;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
}

main.index section.faq div.faq_wrap div.faq_item.active div.question::after {
  content: '−';
}

main.index section.faq div.faq_wrap div.faq_item div.answer_wrap {
  margin-top: 0;
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  pointer-events: none;
  transition: all .3s;
}

main.index section.faq div.faq_wrap div.faq_item.active div.answer_wrap {
  margin-top: min(3rem, 30px);
  grid-template-rows: 1fr;
  opacity: 1;
  pointer-events: auto;
}

main.index section.faq div.faq_wrap div.faq_item div.answer_wrap div.answer {
  min-height: 0;
  font-size: min(1.6rem, 16px);
  font-weight: 500;
  line-height: 1.8;
  display: flex;
  align-items: start;
  gap: min(2rem, 20px);
}

main.index section.faq div.faq_wrap div.faq_item div.answer_wrap div.answer a {
  text-decoration: underline;
}

main.index section.faq div.faq_wrap div.faq_item div.answer_wrap div.answer:before {
  content: '';
  background-image: url(../img/qa_a.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: min(1.8rem, 18px);
  height: min(4.5rem, 45px);
  transform: translateY(-20%);
}

@media (max-width: 799px) {
  main.index section.faq div.faq_wrap {
    margin: 2rem auto 0;
    width: 100%;
    gap: 1.5rem;
  }
  
  main.index section.faq div.faq_wrap div.faq_item {
    padding: 1.5rem 1rem;
    box-shadow: 0 .8rem .8rem rgba(0, 0, 0, .16);
    border-radius: .8rem;
    border: .2rem solid #E7E7E8;
  }
  
  main.index section.faq div.faq_wrap div.faq_item div.question {
    font-size: 1.4rem;
    line-height: 1.4;
    padding-right: 1rem;
    align-items: start;
    gap: 1rem;
  }
  
  main.index section.faq div.faq_wrap div.faq_item div.question::before {
    width: 1.5rem;
    height: 3.5rem;
    transform: translateY(-20%);
    flex-shrink: 0;
  }
  
  main.index section.faq div.faq_wrap div.faq_item div.question::after {
    font-size: 2rem;
  }
  
  main.index section.faq div.faq_wrap div.faq_item.active div.answer_wrap {
    margin-top: 2.5rem;
  }
  
  main.index section.faq div.faq_wrap div.faq_item div.answer_wrap div.answer {
    font-size: 1.4rem;
    gap: 1rem;
  }
  
  main.index section.faq div.faq_wrap div.faq_item div.answer_wrap div.answer:before {
    width: 1.5rem;
    height: 3.5rem;
    transform: translateY(-20%);
    flex-shrink: 0;
  }
}

.cta_fixed {
  background-color: var(--color-purple);
		padding:min(1rem, 10px);
		position: fixed;
		bottom:0;
		left:0;
		right:0;
		margin:auto;
		z-index:999;
}
.cta_fixed .cta_area {
		margin-top:0;
}

ul.program_bnr_list {
display: flex;
flex-direction: column;
gap:min(3rem, 30px);
margin-top: min(3rem, 30px);
}
@media (max-width: 799px) {
ul.program_bnr_list {
gap:1.5rem;
margin-top: 1.5rem;
}
}