@charset "UTF-8";
@media screen and (min-width: 768px),print {
.p-fv {
	background: url(../images/program/fv_bg.jpg) no-repeat top center/auto;
	margin-block: -48px -52px;
	margin-inline: auto;
	max-width: 1920px;
	position: relative;
	width: 100%;
  height: 684px;
}

.p-fv .l-inner.l-fv {
	padding-block: 62px 115px;
}

.p-fv .p-fv__img01 {
	bottom: 0;
	left: calc(50% - 714px);
	position: absolute;
}

.p-fv .p-fv__img02 {
	position: absolute;
	right: 0;
	top: 0;
}

.p-fv .p-fv__contents {
	background: url(../images/program/fv_con_bg.jpg) no-repeat top center/cover;
	margin-inline: auto;
	max-width: 1658px;
	padding-block: 60px 63px;
	width: 95%;
}

.p-fv .p-fv__contents h2 {
	color: #ffffff;
	display: grid;
	gap: 30px 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-bottom: 51px;
	text-align: center;
}

.p-fv .p-fv__contents h2 span.top {
	font-size: 18px;
  font-size: clamp(1.3rem, 0.966rem + 0.43vw, 1.8rem);
	font-weight: 700;
	letter-spacing: 0.025em;
	line-height: 1.7;
}

.p-fv .p-fv__contents h2 span.bottom {
	font-size: 54px;
  font-size: clamp(2.5rem, 0.566rem + 2.52vw, 5.4rem);
	font-weight: 600;
	letter-spacing: -0.035em;
	line-height: 1.5;
}

.p-fv .p-fv__txt {
	border-bottom: 1px solid #ffffff;
	border-top: 1px solid #ffffff;
	color: #ffffff;
	font-size: 30px;
  font-size: clamp(1.4rem, 0.333rem + 1.39vw, 3rem);
	font-weight: 600;
	letter-spacing: -0.055em;
	line-height: 1.6;
	margin-inline: auto;
	padding-block: 15px;
	text-align: center;
	width: min(95%, 589px);
}

.c-btn {
	margin-inline: auto;
	width: min(95%, 1058px);
}

.c-btn a {
	background: linear-gradient(180deg, #C7A043 0%, #825D33 98.92%);
	border: 1px solid #371C09;
	border-radius: 999px;
	box-shadow: 4px 4px 20px 0 rgba(0, 0, 0, 0.25);
	color: #ffffff;
	display: block;
	font-size: 24px;
	font-weight: 600;
	letter-spacing: 0.025em;
	line-height: 1.67;
	padding-block: 40px;
	position: relative;
	text-align: center;
}

.c-btn a::after {
	background: url(../images/program/btn_arrow.svg) no-repeat center center/contain;
	content: "";
	height: 40px;
	position: absolute;
	right: 64px;
	top: 50%;
	transform: translateY(-50%);
	width: 40px;
}

.p-offer {
	background: linear-gradient(0deg, rgba(255, 255, 255, 0) 17.31%, #FFF 99.05%), #EFECEA;
	padding-block: 39px clamp(9rem, 2.2rem + 8.85vw, 19.2rem);
}

.p-offer .l-inner.l-offer {
	background: url(../images/program/offer_bg.png) no-repeat center center/contain;
	margin-inline: auto;
	max-width: 1338px;
	position: relative;
	width: 95%;
}

.p-offer .p-offer__ttl {
	margin-bottom: 37px;
	text-align: center;
}

.p-offer .p-offer__icon01 {
	left: 6px;
	position: absolute;
	top: 127px;
}

.p-offer .p-offer__icon02 {
	bottom: -10px;
	position: absolute;
	right: -72px;
	z-index: 10;
}

.p-offer .p-offer__contents {
	display: grid;
	grid-template-columns: 512px 675px;
	margin-inline: auto;
	width: min(95%, 1054px);
}

.p-offer .p-offer__contents-right {
	display: grid;
	gap: 16px 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	left: -119px;
	position: relative;
	top: 32px;
}

.p-offer .p-offer__contents-right li {
	background: #ffffff;
	font-size: 16px;
  font-size: clamp(1.4rem, 1.267rem + 0.17vw, 1.6rem);
	font-weight: 400;
	letter-spacing: 0.03em;
	line-height: 1.75;
	margin-inline: auto;
	padding-block: 24px;
	padding-inline: 69px 24px;
	position: relative;
	width: min(95%, 92.270531401vw);
}

.p-offer .p-offer__contents-right li:before {
	background: url(../images/program/check.svg) no-repeat center center/contain;
	content: "";
	height: 28px;
	left: 24px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 29px;
}

.p-offer .p-offer__contents-right li span {
	color: #ED710B;
	font-size: 16px;
  font-size: clamp(1.4rem, 1.267rem + 0.17vw, 1.6rem);
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1.75;
}

.p-program {
	background-image: url(../images/program/offer_arrow.svg), url(../images/program/program_bg.jpg);
	background-position: top -4px center, top center; /* 画像の位置を指定 */
	background-repeat: no-repeat; /* 画像を繰り返さない */
	background-size: auto, auto; /* 画像のサイズ調整（必要に応じて変更） */
}

.p-program .l-inner.l-program {
	padding-block: 114px 140px;
}

.p-program .p-program__icon {
	margin-inline: auto;
	width: min(95%, 1340px);
	margin-bottom: -92px;
}

.p-program .p-program__ttl {
	color: #371C09;
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-bottom: 131px;
	text-align: center;
	gap: 9px 0;
}

.p-program .p-program__ttl span.small {
	font-size: 24px;
  font-size: clamp(1.8rem, 1.4rem + 0.52vw, 2.4rem);
	font-weight: 500;
	letter-spacing: 0.025em;
	line-height: 1.67;
}

.p-program .p-program__ttl span.center {
	font-size: 48px;
  font-size: clamp(4rem, 3.467rem + 0.69vw, 4.8rem);
	font-weight: 500;
	letter-spacing: 0.015em;
	line-height: 1.5;
}

.p-program .p-program__ttl span.bold {
	font-size: 64px;
  font-size: clamp(5.8rem, 5.4rem + 0.52vw, 6.4rem);
	font-weight: 700;
	letter-spacing: 0.015em;
	line-height: 1.5;
}

.p-program .p-program__items {
	display: grid;
	gap: 140px 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-inline: auto;
	width: min(95%, 1536px);
}

.p-program .p-program__item {
	position: relative;
}

.p-program .p-program__item.program02 {
	position: relative;
}

.p-program .p-program__deco {
	margin-bottom: 16px;
	text-align: center;
}

.p-program .p-program__icon01 {
	left: calc(50% + 348px);
	position: absolute;
	top: 29px;
}

.p-program .p-program__icon02 {
	left: calc(50% - 532px);
	position: absolute;
	top: 113px;
}

.p-program .p-program02__icon01 {
	left: calc(50% - 559px);
	position: absolute;
	top: 78px;
}

.p-program .p-program__contents {
	color: #371C09;
}

.p-program .p-program__contents-top {
	background: #AA843D;
	padding-block: 20px;
}

.p-program .p-program__contents-top .en {
	text-align: center;
}

.p-program .p-program__contents-bottom {
	background: #EFECEA;
	padding-block: 80px 100px;
}

.p-program .p-program__contents-bottom h3 {
	font-size: 52px;
  font-size: clamp(4rem, 3.333rem + 0.87vw, 5rem);
	font-weight: 500;
	letter-spacing: 0.015em;
	line-height: 1.6;
	margin-bottom: 81px;
	text-align: center;
}

.p-program .p-program__contents-bottom .box {
	background: #ffffff;
	margin-inline: auto;
	padding-block: 0 90px;
	width: min(95%, 1280px);
}

.p-program .p-program__contents-bottom .box .img {
	position: relative;
	text-align: center;
	top: -40px;
	margin-bottom: 30px;
}

.p-program .p-program__contents-bottom .box .txt {
	font-size: 22px;
  font-size: clamp(1.8rem, 1.533rem + 0.35vw, 2.2rem);
	font-weight: 600;
	letter-spacing: 0.025em;
	line-height: 2;
	margin-bottom: 31px;
	text-align: center;
}

.p-program .p-program__contents-bottom .box .box02 {
	background: #EFECEA;
	border-top: 8px solid #C7B28A;
	margin-bottom: 25px;
	margin-inline: auto;
	padding-block: 38px 13px;
	width: min(95%, 896px);
}

.p-program .p-program__contents-bottom .box .box02 h4 {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1.75;
	margin-bottom: 25px;
	text-align: center;
}

.p-program .p-program__contents-bottom .box .box02 .box02_dl {
	display: grid;
	gap: 15px 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-bottom: 30px;
	margin-inline: auto;
	width: min(95%, 533px);
}

.p-program .p-program__contents-bottom .box .box02 .box02_dl div {
	display: grid;
	gap: 0 49px;
	grid-template-columns: 80px minmax(0, 1fr);
}

.p-program .p-program__contents-bottom .box .box02 .box02_dl dt {
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.03em;
	line-height: 1.75;
	margin: 0;
	padding: 0;
}

.p-program .p-program__contents-bottom .box .box02 .box02_dl dd {
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.03em;
	line-height: 1.75;
	margin: 0;
	padding: 0;
}

.p-program .p-program__contents-bottom .box .box03 {
	margin-inline: auto;
	width: min(95%, 896px);
}

.p-program .p-program__contents-bottom .box .box03 .box03_dl {
	display: grid;
	gap: 0 2px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.p-program .p-program__contents-bottom .box .box03 .box03_dl.program02 {
	display: grid;
	gap: 0 2px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.p-program .p-program__contents-bottom .box .box03 .box03_dl div {
	text-align: center;
}

.p-program .p-program__contents-bottom .box .box03 .box03_dl dt {
	background: #C7B28A;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.03em;
	line-height: 1.75;
	margin: 0;
	padding: 0;
	padding-block: 9px;
}

.p-program .p-program__contents-bottom .box .box03 .box03_dl dd {
	background: #F1EADD;
	display: grid;
	font-size: 16px;
  font-size: clamp(1.4rem, 1.267rem + 0.17vw, 1.6rem);
	font-weight: 500;
	letter-spacing: 0.03em;
	line-height: 1.75;
	margin: 0;
	padding-block: 26px;
	place-items: center;
}

.p-program .p-program__contents-bottom .box .box03 .box03_dl.program02 dd {
  height: 120px;
}

.p-profile {
	margin-bottom: -258px;
}

.p-profile .l-inner.l-profile {
	background: linear-gradient(0deg, rgba(240, 240, 240, 0.1) 49.04%, #FFF 100%);
	margin-inline: auto;
	padding-block: 206px 69px;
	width: min(95%, 1664px);
}

.p-profile .p-profile__contents {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 786px;
	margin-bottom: -70px;
	margin-inline: auto;
	width: min(95%, 1336px);
}

.p-profile .p-profile__contents-left {
	position: relative;
	top: 60px;
}

.p-profile .p-profile__ttl {
	display: flex;
	margin-bottom: -257px;
}

.p-profile .p-profile__ttl h2 {
	color: #371C09;
	font-size: 28px;
  font-size: clamp(2rem, 1.467rem + 0.69vw, 2.8rem);
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.57;
	white-space: nowrap;
}

.p-profile .p-profile__ttl .en {
	left: -168px;
	position: relative;
	top: -205px;
}

.p-profile .p-profile__box {
	background: #ffffff;
	box-shadow: 0 0 30px 0 rgba(177, 144, 52, 0.1);
	margin-inline: auto;
	padding: 40px 32px;
	position: relative;
	right: -131px;
	width: 600px;
}

.p-profile .p-profile__box h3 {
	align-items: center;
	color: #371C09;
	display: flex;
	gap: 0 16px;
	margin-bottom: 24px;
}

.p-profile .p-profile__box h3 span.left {
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1.75;
}

.p-profile .p-profile__box h3 span.right {
	font-size: 34px;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.53;
}

.p-profile .p-profile__box .items {
	display: grid;
	gap: 18px 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-bottom: 26px;
}

.p-profile .p-profile__box .item {
	background: #EFECEA;
	color: #3f3f3f;
	font-size: 16px;
  font-size: clamp(1.4rem, 1.267rem + 0.17vw, 1.6rem);
	font-weight: 500;
	letter-spacing: 0.03em;
	line-height: 1.75;
	padding-block: 16px;
	padding-inline: 36px 0;
	position: relative;
}

.p-profile .p-profile__box .item:before {
	color: #371C09;
	content: "●";
	font-size: 10px;
	font-weight: 400;
	left: 13px;
	letter-spacing: 0.04em;
	line-height: 3;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.p-profile .p-profile__box .txt {
	color: #3f3f3f;
	font-size: 16px;
  font-size: clamp(1.4rem, 1.267rem + 0.17vw, 1.6rem);
	font-weight: 400;
	letter-spacing: 0em;
	line-height: 1.75;
}

.p-profile .p-profile__items {
	background: #ffffff;
	display: grid;
	gap: 0px 80px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-inline: auto;
	padding: 80px;
	position: relative;
	width: min(95%, 1448px);
	z-index: 10;
}

.p-profile .p-profile__item {
	border-bottom: 1px solid #EFECEA;
	border-right: 1px solid #EFECEA;
	padding: 30px 24px 25px;
}

.p-profile .p-profile__item .en {
	margin-bottom: 45px;
	text-align: center;
}

.p-profile .p-profile__item .img {
	margin-bottom: 53px;
	text-align: center;
}

.p-profile .p-profile__item h4 {
	color: #371C09;
	font-size: 20px;
  font-size: clamp(1.4rem, 1rem + 0.52vw, 2rem);
	font-weight: 600;
	letter-spacing: 0.025em;
	line-height: 1.6;
	margin-bottom: 16px;
	text-align: center;
}

.p-profile .p-profile__item .txt {
	color: #3f3f3f;
	font-size: 16px;
  font-size: clamp(1.4rem, 1.267rem + 0.17vw, 1.6rem);
	font-weight: 500;
	letter-spacing: 0.03em;
	line-height: 1.75;
	text-align: center;
}

.p-profile .p-profile__item .txt span {
	color: #ED710B;
}

.p-voice {
	background: url(../images/program/voice_bg.jpg) no-repeat top center/cover;
	margin-inline: auto;
	max-width: 1920px;
	width: 100%;
}

.p-voice .l-inner.l-voice {
	padding-block: 357px 110px;
}

.p-voice .p-voice__ttl {
	color: #371C09;
	font-size: 24px;
  font-size: clamp(2rem, 1.733rem + 0.35vw, 2.4rem);
	font-weight: 500;
	letter-spacing: 0.025em;
	line-height: 1.67;
	margin-bottom: 43px;
	text-align: center;
}

.p-voice .p-voice__deco {
	margin-bottom: 30px;
	text-align: center;
}

.p-voice .p-voice__en {
	margin-bottom: -60px;
	text-align: center;
}

.p-voice .p-voice__box {
	background: #ffffff;
	margin-inline: auto;
	padding-block: 80px 64px;
	width: min(95%, 1400px);
}

.p-voice .p-voice__box-inner {
	background: #EFECEA;
	margin-inline: auto;
	padding-block: 40px;
	width: min(95%, 1272px);
}

.p-voice .p-voice__box-con {
	display: grid;
	gap: 0 32px;
	grid-template-columns: 237px minmax(0, 1fr);
	margin-inline: auto;
	width: min(95%, 1192px);
}

.p-voice .p-voice__box-con-right .name {
	color: #371C09;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1.75;
	margin-bottom: 3px;
}

.p-voice .p-voice__box-con-right h3 {
	color: #ED710B;
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0.025em;
	line-height: 1.6;
	margin-bottom: 16px;
}

.p-voice .p-voice__box-con-right .txt {
	color: #3f3f3f;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0em;
	line-height: 1.75;
}

.p-faq {
	background: url(../images/program/faq_bg.jpg) no-repeat top center/cover;
	margin-inline: auto;
	max-width: 1920px;
	width: 100%;
}

.p-faq .l-inner.l-faq {
	padding-block: 120px 162px;
}

.p-faq .p-faq__ttl {
	display: grid;
	gap: 12px 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-bottom: 40px;
	place-items: center;
}

.p-faq .p-faq__ttl .top {
	color: #371C09;
	font-size: 24px;
	font-weight: 500;
	letter-spacing: 0.025em;
	line-height: 1.67;
}

.p-faq .p-faq__ttl .bottom {
	color: #371C09;
	font-size: 48px;
	font-weight: 500;
	letter-spacing: 0.015em;
	line-height: 1.5;
}

.p-faq .p-faq__items {
	color: #3f3f3f;
	display: grid;
	gap: 30px 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-inline: auto;
	width: min(95%, 1057px);
}

.p-faq .p-faq__item {
	border: 1px solid #3f3f3f;
	display: grid;
	gap: 25px 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	padding: 44px 32px 32px;
}

.p-faq .p-faq__item-qa {
	display: grid;
	gap: 0 15px;
	grid-template-columns: 43px minmax(0, 1fr);
}

.p-faq .p-faq__item-qa .q_txt {
	font-size: 24px;
	font-weight: 500;
	letter-spacing: 0.025em;
	line-height: 1.58;
}

.p-faq .p-faq__item-an {
	align-items: center;
	display: grid;
	gap: 0 11px;
	grid-template-columns: 43px minmax(0, 1fr);
}

.p-faq .p-faq__item-an .a_txt {
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0em;
	line-height: 1.75;
}

.p-bottom {
	margin-bottom: -200px;
}

.p-bottom .p-bottom__img {
  text-align: center;
}

#program .form-Box {
	background: transparent;
	position: relative;
	z-index: 10;
  padding-block: 0 120px;  
}

#program .form-Box .form-box-inner {
	border: 1px solid #A1A1A1;
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1919px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1919px) {
.p-bottom .p-bottom__img img {
  width: 100%;
  height: auto;        
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1780px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1780px) {
.p-fv .p-fv__img01 img {
  width: 23.257vw;
  height: auto;
}

.p-fv .p-fv__img02 {
	position: absolute;
	right: -1vw;
	top: 0;
}

}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1750px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1750px) {
.p-fv {
	background: url(../images/program/fv_bg.jpg) no-repeat top center/auto;
	margin-block: -3vw -2.971vw;
	margin-inline: auto;
	max-width: 109.714vw;
	position: relative;
	width: 100%;
  height: 39.086vw;
}

.p-fv .p-fv__img02 img {
  width: 34.571vw;
  height: 39.029vw;
}

.p-fv .p-fv__contents {
	background: url(../images/program/fv_con_bg.jpg) no-repeat top center/cover;
	margin-inline: auto;
	max-width: 94.743vw;
	padding-block: 3.429vw 3.6vw;
	width: 95%;
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1650px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1650px) {
.p-fv .p-fv__txt {
  width: 31.6vw;
  margin-inline: auto;
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1600px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1600px) {
.p-profile .p-profile__item .img img {
  width: 100%;
  height: auto;        
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1550px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1550px) {
.p-fv {
  height: 42.086vw;
  margin-block: -3.5vw -2.9vw;
}

.p-fv .p-fv__img02 img {
  height: 42.086vw;
  object-fit: cover;
}

}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1500px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1500px) {
.p-offer .p-offer__contents {
	display: grid;
	grid-template-columns: 34.133vw minmax(0, 1fr);
	margin-inline: auto;
	width: min(95%, 1054px);
}

.p-offer .p-offer__contents-left img {
  width: 100%;
  height: auto;        
}

.p-offer .p-offer__contents-right {
	display: grid;
	gap: 1.067vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	left: -7.933vw;
	position: relative;
	top: 2.133vw;
}

.p-offer .p-offer__icon01 {
	left: -1.4vw;
	position: absolute;
	top: 8.467vw;
}

.p-offer .p-offer__icon02 {
	bottom: -0.667vw;
	position: absolute;
	right: 1.2vw;
	z-index: 10;
}

.p-offer .p-offer__icon01 img {
  width: 9vw;
  height: auto;
}

.p-offer .p-offer__icon02 img {
  width: 17.467vw;
  height: auto;
}

}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1450px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1450px) {
.p-fv .p-fv__img01 {
	bottom: 0;
	left: calc(50% - 43.241vw);
	position: absolute;
}

.p-program .p-program__icon01 {
	left: calc(50% + 30.261vw);
	position: absolute;
	top: 2.522vw;
}

.p-program .p-program__icon01 img {
  width: 14.261vw;
  height: auto;
}

.p-program .p-program__icon02 {
	left: calc(50% - 46.261vw);
	position: absolute;
	top: 9.826vw;
}

.p-program .p-program__icon02 img {
  width: 11.913vw;
  height: auto;
}

.p-program .p-program__contents-bottom .box .img img {
  width: 90%;
  height: auto;        
}

.p-program .p-program02__icon01 {
	left: calc(50% - 38.552vw);
	position: absolute;
	top: 5.379vw;
}

.p-program .p-program02__icon01 img {
  width: 15.034vw;
  height: auto;
}

.p-bottom {
	margin-bottom: -22.069vw;
}

.p-profile .p-profile__contents-left {
	position: relative;
	top: 4.138vw;
}

.p-profile .p-profile__ttl {
	display: flex;
	margin-bottom: -17.724vw;
}

.p-profile .p-profile__ttl .en {
	left: -11.586vw;
	position: relative;
	top: -14.138vw;
}

.p-profile .p-profile__ttl .en img {
  width: 42.483vw;
  height: auto;
}

.p-profile .p-profile__contents-right img {
  width: 100%;
  height: auto;        
}

.p-profile .p-profile__box {
	padding: 2.759vw 2.207vw;
	position: relative;
	right: -2.034vw;
  width: 48.379vw;
}

}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1400px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1400px) {
.p-profile .p-profile__contents {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 56.1vw;
	margin-bottom: 7vw;
	margin-inline: auto;
	width: min(95%, 1336px);
}

.p-profile .p-profile__contents-right img {
  width: 100%;
  height: auto;        
}

}



/* ========================================
@media screen and (min-width:768px) and ( max-width:1350px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1350px) {
.p-fv {
  height: 45.086vw;
}

.p-fv .p-fv__img02 img {
  height: 45.086vw;
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1200px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1200px) {
.p-profile .p-profile__items {
	background: #ffffff;
	display: grid;
	gap: 0px 6.667vw;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-inline: auto;
	padding: 6.667vw;
	position: relative;
	width: min(95%, 1448px);
	z-index: 10;
}

.p-profile .p-profile__item {
	border-bottom: 1px solid #EFECEA;
	border-right: 1px solid #EFECEA;
	padding: 2.5vw 2vw 2.083vw;
}

}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1150px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1150px) {
.p-offer .p-offer__ttl img {
  width: 90%;
  height: auto;        
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1100px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1100px) {
.p-program .p-program__icon img {
  width: 21.455vw;
  height: auto;
}

.p-fv {
  margin-block: -5vw -2.9vw;
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1050px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1050px) {
.p-fv {
  height: 50.086vw;
}

.p-fv .p-fv__img02 {
  right: -3vw;
}

.p-fv .p-fv__img02 img {
  height: 50.086vw;
}

.p-offer .p-offer__icon02 {
  right: -2vw;
}

}

/* ========================================
@media screen and (min-width:768px) and ( max-width:950px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:950px) {
.p-fv {
  margin-block: -5.5vw -2.9vw;
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:850px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:850px) {
.p-fv {
  height: 55.086vw;
}

.p-fv .p-fv__img02 img {
  height: 55.086vw;
}

.p-program .p-program02__icon01 {
  top: 14.3vw;
}

}



@media screen and (max-width: 767px) {
.p-fv {
	background: url(../images/program/fv_bg_sp.jpg) no-repeat top center/auto;
	margin-block: -11.014vw -9.831vw;
	margin-inline: auto;
	position: relative;
	width: 100%;
}

.p-fv .l-inner.l-fv {
	padding-block: 11.908vw 15.7vw;
}

.p-fv .p-fv__img01 {
	bottom: 10vw;
	left: 15.662vw;
	position: absolute;
	z-index: 1;
}

.p-fv .p-fv__img01 img {
	height: auto;
	width: 63.324vw;
}

.p-fv .p-fv__img02 {
	left: 0;
	position: absolute;
	top: 99.758vw;
}

.p-fv .p-fv__contents {
	background: url(../images/program/fv_con_bg_sp.jpg) no-repeat top center/cover;
	margin-inline: auto;
	max-width: 86.9565217391vw;
	padding-block: 6.039vw 54.589vw;
	width: 95%;
}

.p-fv .p-fv__contents h2 {
	color: #ffffff;
	display: grid;
	gap: 4.348vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-bottom: 5.797vw;
	text-align: center;
}

.p-fv .p-fv__contents h2 span.top {
	font-size: 3.623vw;
	font-weight: 700;
	letter-spacing: 0.025em;
	line-height: 1.8;
}

.p-fv .p-fv__contents h2 span.bottom {
	font-size: 7.246vw;
	font-weight: 600;
	letter-spacing: -0.035em;
	line-height: 1.5;
}

.p-fv .p-fv__txt {
	border-bottom: 1px solid #ffffff;
	border-top: 1px solid #ffffff;
	color: #ffffff;
	font-size: 4.106vw;
	font-weight: 600;
	letter-spacing: -0.0568235294em;
	line-height: 1;
	margin-inline: auto;
	padding-block: 3.899vw;
	text-align: center;
	width: min(95%, 75.1207729469vw);
}

.c-btn {
	margin-inline: auto;
	width: min(95%, 84.5410628019vw);
}

.c-btn a {
	background: linear-gradient(180deg, #C7A043 0%, #825D33 98.92%);
	border: 1px solid #371C09;
	border-radius: 241.304vw;
	box-shadow: 4px 4px 20px 0 rgba(0, 0, 0, 0.25);
	color: #ffffff;
	display: block;
	font-size: 4.348vw;
	font-weight: 700;
	letter-spacing: 0.025em;
	line-height: 1.6;
	padding-block: 5.797vw;
	position: relative;
	text-align: center;
	z-index: 10;
}

.c-btn a::after {
	background: url(../images/program/btn_arrow.svg) no-repeat center center/contain;
	content: "";
	height: 5.797vw;
	position: absolute;
	right: 3.797vw;
	top: 50%;
	transform: translateY(-50%);
	width: 5.797vw;
}

.p-offer {
	background: linear-gradient(0deg, rgba(255, 255, 255, 0) 17.31%, #FFF 99.05%), #EFECEA;
}

.p-offer .l-inner.l-offer {
	background: url(../images/program/offer_bg_sp.png) no-repeat top 17vw center/contain;
	margin-inline: auto;
	max-width: 323.188vw;
	position: relative;
	width: 100%;
	padding-block: 24.874vw 37.681vw;
}

.p-offer .p-offer__ttl {
	margin-bottom: 7.729vw;
	text-align: center;
}

.p-offer .p-offer__icon01 {
	left: 2vw;
	position: absolute;
	top: 15vw;
}

.p-offer .p-offer__icon01 img {
	height: auto;
	width: 27.734vw;
}

.p-offer .p-offer__icon02 {
	bottom: 5.29vw;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
}

.p-offer .p-offer__icon02 img {
	height: auto;
	width: 35.266vw;
}

.p-offer .p-offer__contents {
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-inline: auto;
	width: 100%;
}

.p-offer .p-offer__contents-left {
	margin-bottom: -7.324vw;
}

.p-offer .p-offer__contents-right {
	display: grid;
	gap: 3.865vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-inline: auto;
	position: relative;
	top: 0;
	width: min(95%, 92.270531401vw);
}

.p-offer .p-offer__contents-right li {
	background: #ffffff;
	font-size: 3.865vw;
	font-weight: 400;
	letter-spacing: 0.03em;
	line-height: 1.75;
	margin-inline: auto;
	padding-block: 3.797vw;
	padding-inline: 14.667vw 5.797vw;
	position: relative;
	width: 100%;
}

.p-offer .p-offer__contents-right li:before {
	background: url(../images/program/check.svg) no-repeat center center/contain;
	content: "";
	height: 6.763vw;
	left: 3.797vw;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 7.005vw;
}

.p-offer .p-offer__contents-right li span {
	color: #ED710B;
	font-size: 3.865vw;
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1.75;
}

.p-program {
	background-image: url(../images/program/offer_arrow.svg), url(../images/program/program_bg_sp.jpg);
	background-position: top center, top center; /* 画像の位置を指定 */
	background-repeat: no-repeat; /* 画像を繰り返さない */
	background-size: 43.4vw, auto; /* 画像のサイズ調整（必要に応じて変更） */
}

.p-program .l-inner.l-program {
	padding-block: 7.816vw 13.324vw;
}

.p-program .p-program__icon {
	margin-bottom: 5.522vw;
	margin-inline: auto;
	width: min(95%, 79.9516908213vw);
}

.p-program .p-program__icon img {
	height: auto;
	width: 25.604vw;
}

.p-program .p-program__ttl {
	color: #371C09;
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-bottom: 9.662vw;
	text-align: center;
	gap: 1vw 0;
}

.p-program .p-program__ttl span.small {
	font-size: 3.382vw;
	font-weight: 400;
	letter-spacing: 0.03em;
	line-height: 1.75;
}

.p-program .p-program__ttl span.center {
	font-size: 5.797vw;
	font-weight: 500;
	line-height: 1.67;
}

.p-program .p-program__ttl span.bold {
	font-size: 6.763vw;
	font-weight: 700;
	letter-spacing: 0.025em;
	line-height: 1.67;
}

.p-program .p-program__items {
	display: grid;
	gap: 18.324vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-inline: auto;
	width: min(95%, 91.7vw);
}

.p-program .p-program__item {
  position: relative;
}

.p-program .p-program__icon01 {
	right: 1vw;
	position: absolute;
	top: 14.005vw;
}

.p-program .p-program__icon01 img {
  width: 20vw;
}

.p-program .p-program__icon02 {
	left: 1vw;
	position: absolute;
	top: 15.295vw;
}

.p-program .p-program__icon02 img {
  width: 19vw;
}

.p-program .p-program02__icon01 {
	left: 0vw;
	position: absolute;
	top: 18.841vw;
}

.p-program .p-program02__icon01 {
  width: 19vw;
}

.p-program .p-program__deco {
	margin-bottom: 1.932vw;
	text-align: center;
}

.p-program .p-program__deco img {
  width: 53vw;
  height: auto;
}

.p-program .p-program__contents {
	color: #371C09;
}

.p-program .p-program__contents-top {
	background: #AA843D;
	padding-block: 4.348vw;
}

.p-program .p-program__contents-top .en {
	text-align: center;
}

.p-program .p-program__contents-top .en img {
	height: auto;
	width: 31.884vw;
}

.p-program .p-program__contents-bottom {
	background: #EFECEA;
	padding-block: 12.077vw 14.077vw;
}

.p-program .p-program__contents-bottom h3 {
	font-size: 7.246vw;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.53;
	margin-bottom: 18.29vw;
	text-align: center;
}

.p-program .p-program__contents-bottom .box {
	background: #ffffff;
	margin-inline: auto;
	padding-block: 0 12.077vw;
	width: min(95%, 86.9vw);
}

.p-program .p-program__contents-bottom .box .img {
	position: relative;
	text-align: center;
	top: -14.493vw;
	margin-bottom: -9vw;
}

.p-program .p-program__contents-bottom .box .img img {
	height: auto;
	width: 80.193vw;
}

.p-program .p-program__contents-bottom .box .txt {
	font-size: 4.348vw;
	font-weight: 600;
	letter-spacing: 0.025em;
	line-height: 1.8;
	margin-bottom: 9.179vw;
	margin-inline: auto;
	text-align: center;
	width: min(95%, 73.9130434783vw);
}

.p-program .p-program__contents-bottom .box .box02 {
	background: #EFECEA;
	border-top: 8px solid #C7B28A;
	margin-bottom: 3.039vw;
	margin-inline: auto;
	padding-block: 7.662vw 7.662vw;
	width: min(95%, 79.7101449275vw);
}

.p-program .p-program__contents-bottom .box .box02 h4 {
	font-size: 4.348vw;
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1.75;
	margin-bottom: 6.039vw;
	text-align: center;
}

.p-program .p-program__contents-bottom .box .box02 .box02_dl {
	display: grid;
	gap: 8.831vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-bottom: 2.415vw;
	margin-inline: auto;
	width: min(95%, 70.7729468599vw);
}

.p-program .p-program__contents-bottom .box .box02 .box02_dl div {
	display: grid;
	gap: 2.415vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

.p-program .p-program__contents-bottom .box .box02 .box02_dl dt {
	font-size: 3.382vw;
	font-weight: 500;
	letter-spacing: 0.03em;
	line-height: 1.75;
	margin: 0;
	padding: 0;
}

.p-program .p-program__contents-bottom .box .box02 .box02_dl dd {
	font-size: 3.382vw;
	font-weight: 500;
	letter-spacing: 0.03em;
	line-height: 1.75;
	margin: 0;
	padding: 0;
}

.p-program .p-program__contents-bottom .box .box03 {
	margin-inline: auto;
	width: min(95%, 79.7101449275vw);
}

.p-program .p-program__contents-bottom .box .box03 .box03_dl {
	display: grid;
	gap: 0.483vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

.p-program .p-program__contents-bottom .box .box03 .box03_dl.program02 {
	display: grid;
	gap: 0.483vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

.p-program .p-program__contents-bottom .box .box03 .box03_dl div {
	display: grid;
	gap: 0 0.483vw;
	grid-template-columns: 101px minmax(0, 1fr);
	text-align: left;
}

.p-program .p-program__contents-bottom .box .box03 .box03_dl dt {
	background: #C7B28A;
	display: grid;
	font-size: 3.623vw;
	font-weight: 500;
	letter-spacing: 0.03em;
	line-height: 1.75;
	margin: 0;
	padding: 0;
	padding-block: 2.28vw;
	place-items: center;
}

.p-program .p-program__contents-bottom .box .box03 .box03_dl dd {
	background: #F1EADD;
	font-size: 3.623vw;
	font-weight: 500;
	height: 100%;
	letter-spacing: 0.03em;
	line-height: 1.75;
	margin: 0;
	padding: 0;
	padding-block: 6.28vw;
	padding-inline: 4.348vw 0;
	text-align: left;
}

.p-profile .l-inner.l-profile {
	background: linear-gradient(0deg, rgba(240, 240, 240, 0.1) 49.04%, #FFF 100%);
	margin-inline: auto;
	padding-block: 6vw 16.667vw;
	width: 100%;
}

.p-profile .p-profile__contents {
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-bottom: -57.971vw;
}

.p-profile .p-profile__contents-left {
	display: contents;
	position: static;
}

.p-profile .p-profile__ttl {
	align-items: center;
	display: flex;
	justify-content: center;
	margin-bottom: -2.754vw;
	order: 1;
}

.p-profile .p-profile__ttl h2 {
	color: #371C09;
	font-size: 3.865vw;
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1.75;
	white-space: nowrap;
}

.p-profile .p-profile__ttl .en {
	position: static;
}

.p-profile .p-profile__ttl .en img {
	height: auto;
	width: 50.725vw;
}

.p-profile .p-profile__box {
	background: #ffffff;
	box-shadow: 0 0 30px 0 rgba(177, 144, 52, 0.1);
	margin-inline: auto;
	order: 3;
	padding: 61.947vw 3.865vw 13.246vw;
	position: relative;
	right: 0;
	top: -64.947vw;
	width: min(95%, 91.3043478261vw);
	z-index: 10;
}

.p-profile .p-profile__box h3 {
	align-items: center;
	color: #371C09;
	display: flex;
	gap: 0 3.865vw;
	margin-block: 10.628vw 5.797vw;
}

.p-profile .p-profile__box h3 span.left {
	font-size: 3.865vw;
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1.75;
}

.p-profile .p-profile__box h3 span.right {
	font-size: 8.213vw;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.53;
}

.p-profile .p-profile__box .items {
	display: grid;
	gap: 2.932vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-bottom: 1.932vw;
}

.p-profile .p-profile__box .item {
	background: #EFECEA;
	color: #3f3f3f;
	font-size: 3.865vw;
	font-weight: 500;
	letter-spacing: 0.03em;
	line-height: 1.75;
	padding-block: 3.865vw;
	padding-inline: 9.179vw 4vw;
	position: relative;
}

.p-profile .p-profile__box .item:before {
	color: #371C09;
	content: "●";
	font-size: 2.415vw;
	font-weight: 400;
	left: 3.797vw;
	letter-spacing: 0.04em;
	line-height: 3;
	position: absolute;
	top: 3.865vw;
}

.p-profile .p-profile__box .txt {
	color: #3f3f3f;
	font-size: 3.865vw;
	font-weight: 400;
	letter-spacing: 0em;
	line-height: 1.75;
}

.p-profile .p-profile__contents-right {
	order: 2;
	position: relative;
	text-align: center;
	z-index: 11;
}

.p-profile .p-profile__contents-right img {
	height: auto;
	width: 83.575vw;
}

.p-profile .p-profile__items {
	background: rgba(255, 255, 255, 0.5);
	box-shadow: 0 20px 30px 0 #EFECEA;
	display: grid;
	gap: 16.729vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-inline: auto;
	padding: 11.729vw 3.865vw;
	position: relative;
	width: min(95%, 91.7vw);
	z-index: 10;
}

.p-profile .p-profile__item {
	border-bottom: 1px solid #EFECEA;
	border-right: 1px solid #EFECEA;
	boder-top: 1px solid #EFECEA;
	padding: 3.865vw 3.865vw 7.729vw;
}

.p-profile .p-profile__item .en {
	margin-bottom: 6.039vw;
	text-align: center;
}

.p-profile .p-profile__item .en img {
	height: auto;
	width: 28.502vw;
}

.p-profile .p-profile__item .img {
	margin-bottom: 9.903vw;
	text-align: center;
}

.p-profile .p-profile__item .img img {
	height: auto;
	width: 72.29vw;
}

.p-profile .p-profile__item h4 {
	color: #371C09;
	font-size: 4.831vw;
	font-weight: 600;
	letter-spacing: 0.025em;
	line-height: 1.6;
	margin-bottom: 1.932vw;
	text-align: center;
}

.p-profile .p-profile__item .txt {
	color: #3f3f3f;
	font-size: 3.865vw;
	font-weight: 500;
	letter-spacing: 0.03em;
	line-height: 1.75;
	padding-inline: 3.865vw;
	text-align: left;
}

.p-profile .p-profile__item .txt span {
	color: #ED710B;
}

.p-voice {
	background: url(../images/program/voice_bg_sp.jpg) no-repeat top center/cover;
	margin-inline: auto;
	width: 100%;
}

.p-voice .l-inner.l-voice {
	padding-block: 15.836vw 15.459vw;
}

.p-voice .p-voice__ttl {
	color: #371C09;
	font-size: 3.865vw;
	font-weight: 400;
	letter-spacing: 0.03em;
	line-height: 1.75;
	margin-bottom: 3.797vw;
	text-align: center;
}

.p-voice .p-voice__deco {
	margin-bottom: 3.899vw;
	text-align: center;
}

.p-voice .p-voice__deco img {
	height: auto;
	width: 92.271vw;
}

.p-voice .p-voice__en {
	margin-bottom: 5.797vw;
	text-align: center;
}

.p-voice .p-voice__en img {
	height: auto;
	width: 32.367vw;
}

.p-voice .p-voice__box {
	background: #ffffff;
	margin-inline: auto;
	padding-block: 8.662vw;
	width: min(95%, 92.270531401vw);
}

.p-voice .p-voice__box-inner {
	background: #EFECEA;
	margin-inline: auto;
	padding-block: 5.797vw;
	width: min(95%, 82.1vw);
}

.p-voice .p-voice__box-con {
	display: grid;
	gap: 3.865vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-inline: auto;
	width: min(95%, 73.9130434783vw);
}

.p-voice .p-voice__box-con-right .name {
	color: #371C09;
	font-size: 3.865vw;
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1.75;
	margin-bottom: 2vw;
}

.p-voice .p-voice__box-con-right h3 {
	color: #ED710B;
	font-size: 3.865vw;
	font-weight: 500;
	letter-spacing: 0.025em;
	line-height: 1.47;
	margin-bottom: 3.797vw;
}

.p-voice .p-voice__box-con-right .txt {
	color: #3f3f3f;
	font-size: 3.382vw;
	font-weight: 400;
	letter-spacing: 0em;
	line-height: 1.72;
}

.p-faq {
	background: url(../images/program/faq_bg_sp.jpg) no-repeat top center/cover;
	margin-inline: auto;
	width: 100%;
}

.p-faq .l-inner.l-faq {
	padding-block: 16.459vw 22.464vw;
}

.p-faq .p-faq__ttl {
	display: grid;
	gap: -0.101vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-bottom: 5.797vw;
	place-items: center;
}

.p-faq .p-faq__ttl .top {
	color: #371C09;
	font-size: 5.797vw;
	font-weight: 500;
	letter-spacing: 0.025em;
	line-height: 1.67;
}

.p-faq .p-faq__ttl .bottom {
	color: #371C09;
	font-size: 8.213vw;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.53;
}

.p-faq .p-faq__items {
	color: #3f3f3f;
	display: grid;
	gap: 1.932vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-inline: auto;
	width: min(95%, 92.270531401vw);
}

.p-faq .p-faq__item {
	border: 1px solid #3f3f3f;
	display: grid;
	gap: 5.865vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	padding: 7.729vw;
}

.p-faq .p-faq__item-qa {
	align-items: start;
	display: grid;
	gap: 0 3.865vw;
	grid-template-columns: 43px minmax(0, 1fr);
	/* align-items: flex-end; */
}

.p-faq .p-faq__item-qa .q_txt {
	font-size: 3.865vw;
	font-weight: 500;
	letter-spacing: 0.025em;
	line-height: 1.6;
}

.p-faq .p-faq__item-an {
	align-items: flex-start;
	display: grid;
	gap: 0 3.865vw;
	grid-template-columns: 43px minmax(0, 1fr);
}

.p-faq .p-faq__item-an .en {
	position: relative;
	top: 2vw;
}

.p-faq .p-faq__item-an .a_txt {
	font-size: 3.865vw;
	font-weight: 400;
	letter-spacing: 0em;
	line-height: 1.75;
}

.p-bottom {
	margin-bottom: -7.155vw;
}

#program .form-Box {
	background: transparent;
	position: relative;
	z-index: 10;
  padding-block: 0 100px;  
}

#program .form-Box .form-box-inner {
	border: 1px solid #A1A1A1;
}


}