.sp_disp {
	display: none;
	@media (max-width: 768px) {
		display: block;
	}
}

.main {
	/*margin-bottom: 20px;*/
}

/* カテゴリ別カラー定義 */
.goukaku_wrapper.elementary {
	--goukaku-main: #289FE3;
	--goukaku-border: #62C1F6;
	--goukaku-icon: #81D3F4;
	--goukaku-dot: #9FD2EF;
	--goukaku-heading-bg: #DDF3FD;
	--goukaku-cta-bg: #EBF8FD;
}

.goukaku_wrapper.junior {
	--goukaku-main: #7fbe26;
	--goukaku-border: #a6d462;
	--goukaku-icon: #b5dd7a;
	--goukaku-dot: #c6e69a;
	--goukaku-heading-bg: #eaf5d6;
	--goukaku-cta-bg: #f3fae9;
}

.goukaku_wrapper.senior {
	--goukaku-main: #eb6d9a;
	--goukaku-border: #f3a0be;
	--goukaku-icon: #f5b3cb;
	--goukaku-dot: #f7c4d6;
	--goukaku-heading-bg: #fde8ef;
	--goukaku-cta-bg: #fef1f5;
}

.goukaku_wrapper.medic {
	--goukaku-main: #036eb8;
	--goukaku-border: #4a9fd6;
	--goukaku-icon: #6bb3e0;
	--goukaku-dot: #8ec5e8;
	--goukaku-heading-bg: #d4e9f7;
	--goukaku-cta-bg: #e5f0f9;
}

.goukaku_wrapper {
	margin-top: 0px;
	margin-bottom: 40px;
}

.goukaku_wrapper .goukaku_header {
	position: relative;
	width: 100%;
	max-width: 723px;
	margin: 0 auto 40px;
	@media (max-width: 768px) {
		min-height: 0;
		margin-bottom: 0;
	}
}

.goukaku_wrapper .goukaku_header .goukaku_header_inner {
	position: relative;
	max-width: 714px;
	margin: 0 auto 40px;

	@media (max-width: 768px) {
		height: auto;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 15px;
		padding: 0 15px;
		margin-bottom: -5px;
	}
}

.goukaku_wrapper .goukaku_header .goukaku_header_inner .goukaku_profile_block {
	position: relative;
	width: 414px;
	margin-top:2em;

	@media (max-width: 768px) {
		margin-top:0;
		width: 100%;
		text-align: center;
		border-top:1px solid  var(--goukaku-main);
	}
}

.goukaku_wrapper .goukaku_header .goukaku_header_inner .goukaku_profile_block .goukaku_year_badge {
	display: inline-block;
	background-color: var(--goukaku-main);
	line-height: 1;
	padding: .3em .4em .1em;
	margin-bottom: 2px;
	font-size: 24px;
	font-family: "Yu Mincho", "游明朝", serif;
	font-weight: 600;
	letter-spacing: 0.05em;
	color: #fff;
	@media (max-width: 768px) {
		font-size: 18px;
		margin-bottom: 5px;
		margin-bottom:15px;
	}
}

.goukaku_wrapper .goukaku_header .goukaku_header_inner .goukaku_profile_block .goukaku_school_name.fz55 { 
	font-size: 55px; 
	@media (max-width: 768px) {
		font-size: 38px; 
		border-bottom:1px solid  var(--goukaku-main);
		margin-bottom:15px;
	}
}
.goukaku_wrapper .goukaku_header .goukaku_header_inner .goukaku_profile_block .goukaku_school_name.fz43 { 
	font-size: 43px; 
	@media (max-width: 768px) {
		font-size: 38px; 
		border-bottom:1px solid  var(--goukaku-main);
		margin-bottom:15px;
	}
}

.goukaku_wrapper .goukaku_header .goukaku_header_inner .goukaku_profile_block .goukaku_school_name {
	font-family: "Yu Mincho", "游明朝", serif;
	font-weight: 600;
	font-size: 55px;
	line-height: 1.3;
	padding: .2em 0;
	letter-spacing: 0.05em;
	color: var(--goukaku-main);
	margin: 0;
	position: relative;
	@media (max-width: 768px) {
		font-size: 32px;
		line-height: 1.4;
		padding: 0;
	}
}

.goukaku_wrapper .goukaku_header .goukaku_header_inner .goukaku_profile_block .goukaku_school_name .sub {
	font-size: 75%;
	display: inline-block;
	position: relative;
	z-index: 2;
	@media (max-width: 768px) {
		top: -10px;
	}
}

.goukaku_wrapper .goukaku_header .goukaku_header_inner .goukaku_profile_block .goukaku_other_schools_badge .goukaku_other_label {
	font-family: "Yu Gothic", "游ゴシック", sans-serif;
	font-weight: 700;
	font-size: 20px;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #fff;
	display: inline-block;
	background-color: var(--goukaku-main);
	padding: 5px 12px;

	@media (max-width: 768px) {
		font-size: 16px;
	}
}

.goukaku_wrapper .goukaku_header .goukaku_header_inner .goukaku_profile_block .goukaku_other_schools_badge .goukaku_other_name {
	font-family: "Yu Gothic", "游ゴシック", sans-serif;
	font-weight: 700;
	font-size: 20px;
	line-height: 1.6;
	letter-spacing: 0.05em;
	color: #333;
	margin-left: 8px;
	display: inline-block;

	@media (max-width: 768px) {
		font-size: 16px;
	}
}

.goukaku_wrapper .goukaku_header .goukaku_header_inner .goukaku_profile_block .goukaku_student_name {
	font-family: "Yu Mincho", "游明朝", serif;
	font-weight: 600;
	font-size: 28px;
	line-height: 1.6;
	letter-spacing: 0.05em;
	color: #333;
	margin: 5px 0 0;

	@media (max-width: 768px) {
		font-size: 22px;
	}
}

.goukaku_wrapper .goukaku_header .goukaku_header_inner .goukaku_profile_block .goukaku_student_origin {
	font-family: "Yu Gothic", "游ゴシック", sans-serif;
	font-weight: 700;
	font-size: 18px;
	line-height: 1.6;
	letter-spacing: 0.05em;
	color: #333;
	margin: 0;

	@media (max-width: 768px) {
		font-size: 15px;
	}
}

.goukaku_wrapper .goukaku_header .goukaku_header_inner .goukaku_profile_block .goukaku_photo_circle {
	position: absolute;
	top: calc( 50% );
	left: calc(100% - 15px);
	transform: translateY(-50%);
	width: 83px;
	height: 84px;
	z-index: -1;

	@media (max-width: 768px) {
		top: calc( 50% - 28px );
		left: calc(100% - 10px);
		transform: none;
		margin-left: 0;
		width: 83px;
		height: 84px;
		margin: 0 auto 5px;
	}
}

.goukaku_wrapper .goukaku_header .goukaku_header_inner .goukaku_profile_block .goukaku_photo_circle img {
	width: 83px;
	height: 84px;
	@media (max-width: 768px) {
		width: 55px;
		height: 55px;
	}
}

.goukaku_wrapper .goukaku_header .goukaku_header_inner .goukaku_illust_block {
	position: absolute;
	right: -8px;
	bottom: 0px;
	width: 326px;
	height: 246px;

	@media (max-width: 768px) {
		position: static;
		width: 100%;
		max-width: 320px;
		height: auto;
		margin: 0 auto;
	}
}

.goukaku_wrapper .goukaku_header .goukaku_header_inner .goukaku_illust_block img {
	width: 327px;
	height: 245px;
	object-fit: cover;

	@media (max-width: 768px) {
		width: 100%;
		height: auto;
	}
}

.goukaku_wrapper .goukaku_toc {
	position: relative;
	border: 1px solid var(--goukaku-border);
	background: #fff;
	width: 100%;
	max-width: 723px;
	margin: 0 auto 60px;
	padding: 20px 55px 40px;
	box-sizing: border-box;

	@media (max-width: 768px) {
		max-width: 100%;
		padding: 20px 20px 40px;
		margin-bottom: 40px;
	}
}

.goukaku_wrapper .goukaku_toc .goukaku_toc_corner {
	position: absolute;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background-color: var(--goukaku-dot);
}

.goukaku_wrapper .goukaku_toc .goukaku_toc_corner__tl {
	top: 15px;
	left: 15px;
}

.goukaku_wrapper .goukaku_toc .goukaku_toc_corner__tr {
	top: 15px;
	right: 15px;
}

.goukaku_wrapper .goukaku_toc .goukaku_toc_corner__bl {
	bottom: 15px;
	left: 15px;
}

.goukaku_wrapper .goukaku_toc .goukaku_toc_corner__br {
	bottom: 15px;
	right: 15px;
}

.goukaku_wrapper .goukaku_toc .goukaku_toc_title {
	font-family: "Yu Mincho", "游明朝", serif;
	font-weight: 600;
	font-size: 21px;
	line-height: 1.6;
	letter-spacing: 0.05em;
	color: #333;
	text-align: center;
	margin: 0 0 10px;
}

.goukaku_wrapper .goukaku_toc .goukaku_toc_list {
	list-style: none;
	padding: 0;
	margin: 0;
	counter-reset: toc-counter;
}

.goukaku_wrapper .goukaku_toc .goukaku_toc_list li {
	font-family: "Yu Gothic", "游ゴシック", sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 1.8;
	padding-block: .5em;
	letter-spacing: 0.05em;
	color: #333;
	border-bottom: 1px dashed #BCBCBC;
	padding-left: calc(1.5em + 10px);
	counter-increment: toc-counter;
	position: relative;
	@media (max-width: 768px) {
		font-size: 14px;
	}
}

.goukaku_wrapper .goukaku_toc .goukaku_toc_list li::before {
	content: counter(toc-counter) "．";
	position: absolute;
	left: 10px;

	@media (max-width: 768px) {
		font-size: 14px;
		line-height: 2.2;
		top: 4px;
	}
}

.goukaku_wrapper .goukaku_toc .goukaku_toc_list li:first-child {
	border-top: 1px dashed #BCBCBC;
}

.goukaku_wrapper .goukaku_toc .goukaku_toc_list li a {
	color: inherit;
	text-decoration: none;
	display: block;
	transition: all 0.3s;
}

.goukaku_wrapper .goukaku_toc .goukaku_toc_list li a:hover {
	opacity: 0.7;
}

.goukaku_wrapper .goukaku_cta .goukaku_cta_block .goukaku_cta_btn:hover,
.goukaku_wrapper .goukaku_cta .goukaku_cta_block .goukaku_cta_btn__simple:hover {
	opacity: 0.7;
}

.goukaku_wrapper .goukaku_toc .goukaku_toc_extra {
	margin-top: 12px;
}

.goukaku_wrapper .goukaku_toc .goukaku_toc_extra p {
	font-family: "Yu Gothic", "游ゴシック", sans-serif;
	font-weight: 500;
	font-size: 15px;
	line-height: 1.87;
	letter-spacing: 0.05em;
	color: #333;
	margin: 0;
	padding-left: 20px;
	position: relative;
}

.goukaku_wrapper .goukaku_toc .goukaku_toc_extra p::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 19px;
	border-bottom: 1px solid #333;
}

.goukaku_wrapper .goukaku_sections {
	display: flex;
	flex-direction: column;
	gap: 60px;
	margin-bottom: 0px;

	@media (max-width: 768px) {
		gap: 40px;
		margin-bottom: 0px;
	}
}

.goukaku_wrapper .goukaku_sections .goukaku_section {
	display: flex;
	flex-direction: column;
	gap: 26px;
	padding-top: 96px;
	margin-top: -96px;

	@media (max-width: 768px) {
		padding-top: 76px;
		margin-top: -76px;
	}
}

.goukaku_wrapper .goukaku_sections .goukaku_section .goukaku_section_heading {
	display: flex;
	align-items: center;
	gap: 10px;
	background-color: var(--goukaku-heading-bg);
	padding: 11px 20px;

	@media (max-width: 768px) {
		padding: 10px 15px;
	}
}

.goukaku_wrapper .goukaku_sections .goukaku_section .goukaku_section_heading::before {
	content: "";
	display: block;
	width: 27px;
	height: 26px;
	flex-shrink: 0;
	background-color: var(--goukaku-icon);
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 26'%3E%3Cpath d='M11.2448 0.13843C12.3114-0.430732 13.3987 0.939442 13.5779 0.933365C13.7568 0.924786 14.6126-0.281561 15.3962 0.0671398C17.3145 0.922044 18.7066 4.52805 17.9227 7.59168C20.4239 5.89408 24.2727 6.38349 25.4238 7.51355C26.2924 8.36787 25.3497 9.82793 25.4101 10.0009C25.4728 10.1712 26.8775 10.63 26.7959 11.4902C26.5981 13.5989 23.6499 16.0341 20.5262 16.209C22.9074 18.1028 23.6595 21.96 22.9589 23.4113C22.431 24.5082 20.7603 24.0423 20.62 24.1535C20.4795 24.2648 20.4902 25.7565 19.6561 25.9396C17.6147 26.3882 14.4001 24.2872 13.2546 21.3321C12.2246 24.2001 8.8411 26.0943 7.25842 25.8605C6.06146 25.6843 5.97383 23.934 5.8248 23.8322C5.6754 23.7314 4.2782 24.1936 3.8443 23.4464C2.78127 21.6158 3.74267 17.8816 6.15782 15.8799C3.14098 15.7591 0.29809 13.0741 0.0190433 11.4765C-0.192119 10.2712 1.42364 9.65578 1.47219 9.48136C1.52007 9.30617 0.646029 8.10101 1.21145 7.45593C2.59609 5.87601 6.40372 5.67045 9.04263 7.38855C8.20767 4.44588 9.83374 0.890932 11.2448 0.13843Z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 26'%3E%3Cpath d='M11.2448 0.13843C12.3114-0.430732 13.3987 0.939442 13.5779 0.933365C13.7568 0.924786 14.6126-0.281561 15.3962 0.0671398C17.3145 0.922044 18.7066 4.52805 17.9227 7.59168C20.4239 5.89408 24.2727 6.38349 25.4238 7.51355C26.2924 8.36787 25.3497 9.82793 25.4101 10.0009C25.4728 10.1712 26.8775 10.63 26.7959 11.4902C26.5981 13.5989 23.6499 16.0341 20.5262 16.209C22.9074 18.1028 23.6595 21.96 22.9589 23.4113C22.431 24.5082 20.7603 24.0423 20.62 24.1535C20.4795 24.2648 20.4902 25.7565 19.6561 25.9396C17.6147 26.3882 14.4001 24.2872 13.2546 21.3321C12.2246 24.2001 8.8411 26.0943 7.25842 25.8605C6.06146 25.6843 5.97383 23.934 5.8248 23.8322C5.6754 23.7314 4.2782 24.1936 3.8443 23.4464C2.78127 21.6158 3.74267 17.8816 6.15782 15.8799C3.14098 15.7591 0.29809 13.0741 0.0190433 11.4765C-0.192119 10.2712 1.42364 9.65578 1.47219 9.48136C1.52007 9.30617 0.646029 8.10101 1.21145 7.45593C2.59609 5.87601 6.40372 5.67045 9.04263 7.38855C8.20767 4.44588 9.83374 0.890932 11.2448 0.13843Z'/%3E%3C/svg%3E");
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;

	@media (max-width: 768px) {
		width: 22px;
		height: 21px;
	}
}

.goukaku_wrapper .goukaku_sections .goukaku_section .goukaku_section_heading .goukaku_section_title {
	font-family: "Yu Mincho", "游明朝", serif;
	font-weight: 600;
	font-size: 24px;
	line-height: 1.6;
	letter-spacing: 0.05em;
	color: var(--goukaku-main);
	margin: 0;

	@media (max-width: 768px) {
		font-size: 18px;
		line-height: 1.4;
	}
}

.goukaku_wrapper .goukaku_sections .goukaku_section .goukaku_section_content {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.goukaku_wrapper .goukaku_sections .goukaku_section .goukaku_section_content .goukaku_qa_block {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.goukaku_wrapper .goukaku_sections .goukaku_section .goukaku_section_content .goukaku_qa_block .goukaku_question {
	display: flex;
	align-items: center;
	gap: 5px;
	margin: 0;
}

.goukaku_wrapper .goukaku_sections .goukaku_section .goukaku_section_content .goukaku_qa_block .goukaku_question .goukaku_q_line {
	width: 31px;
	height: 0;
	border-top: 1px solid #979494;
	flex-shrink: 0;
}

.goukaku_wrapper .goukaku_sections .goukaku_section .goukaku_section_content .goukaku_qa_block .goukaku_question .goukaku_q_text {
	font-family: "Yu Gothic", "游ゴシック", sans-serif;
	font-weight: 700;
	font-size: 19px;
	line-height: 1.6;
	letter-spacing: 0.05em;
	color: #333;
	margin: 0;

	@media (max-width: 768px) {
		font-size: 16px;
	}
}

.goukaku_wrapper .goukaku_sections .goukaku_section .goukaku_section_content .goukaku_qa_block .goukaku_answer {
	font-family: "Yu Gothic", "游ゴシック", sans-serif;
	font-weight: 500;
	font-size: 15px;
	line-height: 2.13;
	letter-spacing: 0.05em;
	color: #000;
	margin: 0;

	@media (max-width: 768px) {
		font-size: 14px;
		line-height: 2;
	}
}

.goukaku_wrapper .goukaku_sections .goukaku_section .goukaku_section_content .goukaku_qa_block .goukaku_answer__intro {
	font-family: "Yu Gothic", "游ゴシック", sans-serif;
	font-weight: 500;
	font-size: 15px;
	line-height: 2.13;
	letter-spacing: 0.05em;
	color: #000;
	margin: 0;

	@media (max-width: 768px) {
		font-size: 14px;
		line-height: 2;
	}
}

.goukaku_wrapper .goukaku_sections .goukaku_section .goukaku_section_content .goukaku_image_box {
	background-color: #F3F3F3;
	padding: 30px 10px;
	text-align: center;

	@media (max-width: 768px) {
		padding: 20px 20px;
	}
}

.goukaku_wrapper .goukaku_sections .goukaku_section .goukaku_section_content .goukaku_image_box img {
	width: 100%;
	max-width: 100%;
	height: auto;
}
.goukaku_wrapper .goukaku_sections .goukaku_section .goukaku_section_content .goukaku_image_box.img_size01 img {
	max-width: 430px;
}
.goukaku_wrapper .goukaku_sections .goukaku_section .goukaku_section_content .goukaku_image_box.img_size02 img {
	max-width: 723px;
}




.goukaku_wrapper .goukaku_sections .goukaku_section .goukaku_section_content .goukaku_image_box .goukaku_image_caption {
	font-family: "Yu Gothic", "游ゴシック", sans-serif;
	font-weight: 500;
	font-size: 14px;
	line-height: 2.29;
	letter-spacing: 0.05em;
	color: #000;
	text-align: center;
	margin: 10px 0 0;

	@media (max-width: 768px) {
		font-size: 12px;
		line-height: 1.8;
	}
}

.goukaku_wrapper .goukaku_cta {
	background-color: var(--goukaku-cta-bg);
	margin-top:60px;
	padding: 30px 0 45px;

	@media (max-width: 768px) {
		padding: 20px 15px;
	}
}

.goukaku_wrapper .goukaku_cta .goukaku_cta_block {
	max-width: 825px;
	margin: 0 auto;
	text-align: center;

	@media (max-width: 768px) {
		max-width: 100%;
	}
}

.goukaku_wrapper .goukaku_cta .goukaku_cta_block .goukaku_cta_title {
	font-family: "Yu Mincho", "游明朝", serif;
	font-weight: 600;
	font-size: 24px;
	line-height: 1.6;
	letter-spacing: 0.05em;
	color: #333;
	text-align: center;
	margin: 0 0 10px;

	@media (max-width: 768px) {
		font-size: min(4.2vw,18px);
		margin: 0 0 15px;
	}
}

.goukaku_wrapper .goukaku_cta .goukaku_cta_block .goukaku_cta_title .red {
	color: #E60012;
}

.goukaku_wrapper .goukaku_cta .goukaku_cta_block .goukaku_cta_btn {
	display: block;
	max-width: 655px;
	margin: 0 auto;
	text-decoration: none;
	border: 1px solid #E60012;
	overflow: hidden;
	position: relative;
	transition: all 0.3s;

	@media (max-width: 768px) {
		max-width: 100%;
	}
}

.goukaku_wrapper .goukaku_cta .goukaku_cta_block .goukaku_cta_btn .goukaku_cta_btn_top {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 17px;
	padding: 17px 0;
	background: #fff;
	position: relative;
}

.goukaku_wrapper .goukaku_cta .goukaku_cta_block .goukaku_cta_btn .goukaku_cta_btn_top .goukaku_cta_logo {
	width: 190px;
	height: 30px;

	@media (max-width: 768px) {
		width: 140px;
		height: auto;
		z-index:2;
	}
}

.goukaku_wrapper .goukaku_cta .goukaku_cta_block .goukaku_cta_btn .goukaku_cta_btn_top .goukaku_cta_year {
	font-family: "Yu Gothic", "游ゴシック", sans-serif;
	font-weight: 700;
	font-size: 23px;
	line-height: 1;
	margin-top: 5px;
	color: #E60012;

	@media (max-width: 768px) {
		font-size: 18px;
		z-index:2;
	}
}

.goukaku_wrapper .goukaku_cta .goukaku_cta_block .goukaku_cta_btn .goukaku_cta_btn_top .goukaku_cta_sakura_r {
	position: absolute;
    right: -21px;
    top: -18px;
    width: 87px;
    height: 89px;

	@media (max-width: 768px) {
		width: 60px;
		height: auto;
		right: 10px;
		top: -15px;
		z-index:1;
	}
}

.goukaku_wrapper .goukaku_cta .goukaku_cta_block .goukaku_cta_btn .goukaku_cta_btn_top .goukaku_cta_sakura_l {
	position: absolute;
	left: -33px;
	top: -25px;
	width: 104px;
	height: 107px;

	@media (max-width: 768px) {
		width: 70px;
		height: auto;
		left: -20px;
		top: -15px;
		z-index:1;
	}
}

.goukaku_wrapper .goukaku_cta .goukaku_cta_block .goukaku_cta_btn .goukaku_cta_btn_bottom {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 8px 20px;
	background: #E60012;
	position: relative;
}

.goukaku_wrapper .goukaku_cta .goukaku_cta_block .goukaku_cta_btn .goukaku_cta_btn_bottom .goukaku_cta_btn_text {
	font-family: "Yu Mincho", "游明朝", serif;
	font-size: 20px;
	line-height: 1.6;
	letter-spacing: 0.05em;
	color: #fff;

	@media (max-width: 768px) {
		font-size: min(4vw,16px);
	}
}

.goukaku_wrapper .goukaku_cta .goukaku_cta_block .goukaku_cta_btn .goukaku_cta_btn_bottom .goukaku_cta_arrow {
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	width: 11px;
	height: 13px;
}

.goukaku_wrapper .goukaku_cta .goukaku_cta_block .goukaku_cta_btn__simple {
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 655px;
	margin: 0 auto;
	transition: all 0.3s;
	text-decoration: none;
	background: #E60012;
	padding: 30px 20px;
	position: relative;

	@media (max-width: 768px) {
		max-width: 100%;
		padding: 20px 15px;
	}
}

.goukaku_wrapper .goukaku_cta .goukaku_cta_block .goukaku_cta_btn__simple .goukaku_cta_soudan_icon {
	position: absolute;
	left: calc( 50% - 200px );
	top: 50%;
	transform: translateY(-50%);
	width: 44px;
	height: 37px;

	@media (max-width: 768px) {
		position: static;
		transform: none;
		width: 30px;
		height: auto;
		margin-right: 10px;
	}
}

.goukaku_wrapper .goukaku_cta .goukaku_cta_block .goukaku_cta_btn__simple .goukaku_cta_btn_text {
	font-family: "Yu Gothic", "游ゴシック", sans-serif;
	font-weight: 700;
	font-size: 23px;
	line-height: 1.6;
	letter-spacing: 0.05em;
	color: #fff;

	@media (max-width: 768px) {
		font-size: 17px;
	}
}

.goukaku_wrapper .goukaku_cta .goukaku_cta_block .goukaku_cta_btn__simple .goukaku_cta_arrow {
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	width: 12px;
	height: 12px;
}






.index_wrapper {
	max-width: 1088px;
	margin: 0 auto 60px;

	@media (max-width: 768px) {
		margin-bottom: 30px;
	}
}

.index_hero {
	position: relative;
	text-align: center;
	padding: 50px 20px 45px;
	background: var(--goukaku-heading-bg);
	margin-bottom: 50px;
	margin-top: 100px;
	@media (max-width: 768px) {
		padding: 30px 15px 25px;
		margin-bottom: 40px;
		margin-top: 40px;
	}
}

.index_hero .index_hero_content {
	position: relative;
	z-index: 1;
}

.index_hero .index_hero_content .index_hero_label {
	position: absolute;
	width: 100%;
	top: -115px;
	@media (max-width: 768px) {
		top: -75px;
	}
}
.index_hero .index_hero_content .index_hero_label img {
	width: 210px;
	@media (max-width: 768px) {
		width: 140px;
	}
}

.index_hero .index_hero_content .index_hero_title {
	font-family: "A-OTF A1 Mincho Std", serif;
	font-size: 55px;
	line-height: 1.4;
	color: var(--goukaku-main);
	margin: 0 0 18px;
	letter-spacing: 0.05em;
	text-align: center;
	position: relative;
	display: inline-block;
	@media (max-width: 768px) {
		font-size: 27px;
		line-height: 1.5;
		margin-bottom: 20px;
	}
	&:after , &:before {
		position: absolute;
	}
	&:before {
		content: "「";
		left: -1.3em;
		top: -.2em;
	}
	&:after {
		content: "」";
		right: -1.3em;
		bottom: -.2em;
	}
}

.index_hero .index_hero_content .index_hero_subtitle {
	font-weight: 900;
	font-size: 21px;
	line-height: 1.8;
	color: #333;
	margin: 0;

	@media (max-width: 768px) {
		font-size: 14px;
		line-height: 1.7;
	}
}

.index_cards {
	display: flex;
	flex-wrap: wrap;
	column-gap: 40px;
	row-gap: 50px;
	padding: 0;

	@media (max-width: 768px) {
		flex-direction: column;
		row-gap: 20px;
		padding: 0;
	}
}

.index_cards .index_card {
	display: block;
	width: calc(50% - 20px);
	border-bottom: 1px solid var(--goukaku-border);
	text-decoration: none;
	color: inherit;
	transition: all 0.3s;
	position: relative;
	padding-bottom: 8px;
	overflow: hidden;
	padding-top: 30px;
	padding-right: 20px;
	background:#f9f9f9;
	z-index:1;
	@media (max-width: 768px) {
		width: 100%;
		min-height: 0;
		padding-bottom: 10px;
		padding-left: 20px;
		padding-right: 10px;
		overflow: visible;
	}
}

.index_cards .index_card:hover {
	opacity: 0.7;
}

.index_cards .index_card .index_card_main {
	position: relative;
	padding: 0 0 0 205px;
	@media (max-width: 768px) {
		padding-left: 115px;
	}
}

.index_cards .index_card .index_card_photo {
	position: absolute;
	left: -5px;
	top: 10px;
	width: 217px;
	height: 158px;
	overflow: hidden;
	z-index: -1;
	@media (max-width: 768px) {
		left: -20px;
		width: 150px;
		height: 107px;
	}
}

.index_cards .index_card .index_card_photo img {
	width: 100%;
	object-fit: contain;
	object-position: left top;
}

.index_cards .index_card .index_card_badge {
	position: absolute;
	left: -42px;
	top: -20px;
	width: 72px;
	height: 70px;
	z-index: -1;
	pointer-events: none;

	@media (max-width: 768px) {
		width: 56px;
		height: 54px;
		left: -25px;
		top: -22px;
	}
}

.index_cards .index_card .index_card_badge img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.index_cards .index_card .index_card_info {
	padding: 8px 0 0 15px;
	position: relative;
}

.index_cards .index_card .index_card_info .index_card_school {
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	font-weight: 900;
	font-size: 28px;
	line-height: 1.2;
	display: flex;
	align-items: center;
	height: 2em;
	color: var(--goukaku-main);
	margin: 0 0 7px;

	@media (max-width: 768px) {
		font-size: 19px;
		margin-bottom: 8px;
		height: auto;
	}
}
.index_cards .index_card .index_card_info .index_card_school span {
	display: block;
}

	@media(max-width:767px){
		.index_cards .index_card .index_card_info .index_card_school span:has(br) {
			margin-top:-1.2em;
		}
	}


.index_cards .index_card .index_card_info .index_card_name {
	font-weight: 700;
	font-size: 20px;
	color: #333;
	margin: 0 0 4px;

	@media (max-width: 768px) {
		font-size: 14px;
	}
}

.index_cards .index_card .index_card_info .index_card_origin {
	font-weight: 500;
	font-size: 16px;
	color: #333;
	margin: 0;
	display: flex;
	align-items: center;
	gap: 6px;
	font-weight: 600;
	@media (max-width: 768px) {
		font-size: 12px;
	}
}

.index_cards .index_card .index_card_info .index_card_origin::before {
	content: "";
	display: inline-block;
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background-color: var(--goukaku-main);
	flex-shrink: 0;
	@media (max-width: 768px) {
		width: 9px;
		height: 9px;
	}
}

.index_cards .index_card .index_card_link {
	margin-top: 6px;
	font-size: 13px;
	color: var(--goukaku-main);
	text-align: right;
	display: block;
	font-weight: 600;
	@media (max-width: 768px) {
		font-size: 12px;
		margin-top: 10px;
	}
}

.index_cards .index_card .index_card_link::after {
	content: "";
	display: inline-block;
	width: 17px;
	height: 17px;
	margin-left: 3px;
	vertical-align: middle;
	background-color: var(--goukaku-main);
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17 17'><path d='M8.5 0C3.8 0 0 3.8 0 8.5C0 13.2 3.8 17 8.5 17C13.2 17 17 13.2 17 8.5C17 3.8 13.2 0 8.5 0ZM8.5 16C4.4 16 1 12.6 1 8.5C1 4.4 4.4 1 8.5 1C12.6 1 16 4.4 16 8.5C16 12.6 12.6 16 8.5 16Z'/><path d='M6.6 5.4L9.8 8.5L6.6 11.6L7.4 12.4L11.2 8.5L7.4 4.6L6.6 5.4Z'/></svg>") center / contain no-repeat;
	mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17 17'><path d='M8.5 0C3.8 0 0 3.8 0 8.5C0 13.2 3.8 17 8.5 17C13.2 17 17 13.2 17 8.5C17 3.8 13.2 0 8.5 0ZM8.5 16C4.4 16 1 12.6 1 8.5C1 4.4 4.4 1 8.5 1C12.6 1 16 4.4 16 8.5C16 12.6 12.6 16 8.5 16Z'/><path d='M6.6 5.4L9.8 8.5L6.6 11.6L7.4 12.4L11.2 8.5L7.4 4.6L6.6 5.4Z'/></svg>") center / contain no-repeat;

	@media (max-width: 768px) {
		width: 14px;
		height: 14px;
	}
}
