/*
----------------------------------------
curriculum
----------------------------------------
*/

.curriculum .curriculum-header .img {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

.curriculum .curriculum-header .img.pc {
	/* background: url( ../img/curriculum/2x/ttl-bg-denken3.png ) center center / cover no-repeat; */
}

.curriculum .curriculum-header .img.sp {
	display: none;
}

#curriculum-btn.fix {
	position: fixed;
	right: 30px;
	bottom: 30px;
	z-index: 9999;
}

.curriculum-5step-bnr {
	padding: 0 0 40px;
}

.curriculum-5step-bnr a {
	display: block;
	width: 100%;
	max-width: 600px;
	height: auto;
	margin: 0 auto;
	transition: 0.2s;
}

.solve-box {
	background: #f5f5f5;
	padding: 65px 0 20px;
	margin-bottom: 70px;
}

.solve-box .solve {
	background: #fff;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
	border-radius: 5px;
	margin-bottom: 40px;
}

.solve-box .solve > .flex {
	padding: 40px 50px 45px;
	justify-content: space-between;
}

.solve-box .solve > .flex.co {
	flex-direction: row-reverse;
	padding: 60px 40px 30px;
}

.solve-box .solve .thumb {
	width: 260px;
	padding-top: 30px;
	text-align: center;
}

.solve-box .solve .thumb img {
	line-height: 0.5;
	margin-bottom: 5px;
}

.solve-box .solve .thumb figcaption {
	font-size: 1.5rem;
	line-height: 1.8;
	color: #222;
}

.solve-box .solve .thumb + .txt {
	width: calc(100% - 300px);
}

.solve-box .solve .txt .heading-06 {
	margin: 0 5px 15px;
}

.solve-box .solve .txt .list-01 {
	margin: 0 5px 20px;
}

.solve-box .solve .txt .list-01 li {
	width: calc((100% - 20px) / 2);
	margin-bottom: 8px;
}

.solve-box .solve .txt .list-01 li:nth-child(odd) {
	margin-right: 20px;
}

.solve-box .solve .solve-list {
	text-align: center;
	background: #fff8cc url(../img/curriculum/solve-arrow.png) center top / 693px no-repeat;
	padding: 0 25px 25px;
}

.solve-box .solve .solve-list h3 {
	font-size: 5rem;
	color: #ebebeb;
	line-height: 1;
	white-space: nowrap;
	margin-bottom: 10px;
}

.solve-box .solve .solve-list .check-list {
	min-width: 450px;
	margin-right: 5px;
}

.solve-box .solve .solve-list .check-list li {
	letter-spacing: 1.2px;
	margin-bottom: 5px;
}

.solve-box .solve .thumb-co {
	width: 500px;
	text-align: right;
	line-height: 0.5;
}

.solve-box .solve .thumb-co + .co-info {
	width: calc(100% - 500px);
	padding-right: 35px;
	text-align: center;
}

.solve-box .solve .co-info > .flex {
	align-items: center;
	margin-bottom: 15px;
	padding-right: 40px;
}

.solve-box .solve .co-info h3 {
	font-size: 3rem;
	line-height: 1.6;
	margin-right: auto;
}

.solve-box .solve .co-info .num {
	font-size: 1.8rem;
	transform: translateY(5px);
}

.solve-box .solve .co-info .table-01 {
	margin-bottom: 30px;
}

.solve-box .solve .co-info .table-01 th {
	width: 25%;
	padding: 25px;
}

.solve-box .solve .co-info .table-01 td {
	width: 75%;
	padding: 25px 30px;
	font-size: 1.6rem;
	text-align: left;
}

.solve-box .solve .co-info .table-01 td a {
	color: #1da1f2;
	text-decoration: underline;
}

.solve-box .solve .co-info .table-01 td a:hover {
	opacity: 0.8;
}

.solve-box .solve .co-info .list-01 {
	display: inline-block;
	margin: 6px auto;
	text-align: left;
}

.solve-box .solve .co-info .list-01 li {
	margin: 7px 0;
}

.solve-box .solve > .solve-list {
	background: #fff8cc url(../img/curriculum/solve-arrow-l.png) center top / 1040px no-repeat;
	padding: 25px;
}

.voice-box {
	border-bottom: solid 1px #e5e5e5;
	padding-bottom: 60px;
	margin: 50px 0;
}

.voice-box .heading-05::before {
	margin-right: 20px;
}

.voice-box .heading-05::after {
	margin-left: 20px;
}

.voice-box .voice-list {
	margin: 30px 0;
}

.reason-box .ttl-01 {
	margin-bottom: -30px;
}

.reason-box .ttl-01.ttl-2l {
	margin-bottom: -25px;
}

.reason-box .ttl-01 h2 {
	letter-spacing: 0.8px;
}

.reason-box .ttl-01.ttl-2l h2 {
	line-height: 1.2;
	margin-top: 15px;
}

.reason-box .reason-list {
	background: #fff8cc;
	padding: 80px 0 60px;
	margin-bottom: 50px;
}

.reason-box .ttl-01.ttl-2l + .reason-list {
	padding: 120px 0 60px;
}

.reason-box .reason-list .flex {
	justify-content: center;
}

.reason-box .reason {
	width: calc((100% - 80px) / 3);
	background: #fff;
	margin-right: 40px;
	position: relative;
}

.reason-box .reason:after {
	content: "";
	position: absolute;
	top: -10px;
	left: -10px;
	border-bottom: 12rem solid #ce9b00;
	border-left: 12rem solid transparent;
	z-index: 1;
}

.reason-box .reason:last-child {
	margin-right: 0;
}

.reason-box .reason .reason_str_wrapper {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 20;
}
.reason-box .reason .reason_str_wrapper .reason_str {
	color: #ce9b00;
}
.reason-box .reason .reason_str_wrapper .reason_num {
	color: #ffffff;
	font-size: 3rem;
	line-height: 1.5rem;
	font-weight: bold;
}

.reason-box .reason .num {
	position: absolute;
	top: -10px;
	left: -10px;
	border-left: 12rem solid #ffc000;
	border-bottom: 12rem solid transparent;
	z-index: 15;
}

.reason-box .reason .num div {
	font-size: 1rem;
	text-transform: uppercase;
}

.reason-box .reason figure {
	text-align: center;
	line-height: 0.5;
	background-color: #fff;
	position: inherit;
	z-index: 10;
}

.reason-box .reason .txt {
	padding: 30px;
	z-index: 10;
	position: inherit;
	height: 60%;
	text-align: center;
}

#e-construction2 .reason-box .reason .txt.reason_01 {
	height: 100%;
	background: url(../img/curriculum/reason_item_bg01.png) bottom 10px right 10px no-repeat;
	background-size: 70%;
	background-color: #ffffff;
}
#e-construction2 .reason-box .reason .txt.reason_02 {
	height: 100%;
	background: url(../img/curriculum/reason_item_bg02.png) bottom 10px right 10px no-repeat;
	background-size: 70%;
	background-color: #ffffff;
}
#e-construction2 .reason-box .reason .txt.reason_03 {
	height: 100%;
	background: url(../img/curriculum/reason_item_bg03.png) bottom 10px right 10px no-repeat;
	background-size: 70%;
	background-color: #ffffff;
}

.reason-box .reason h3 {
	font-size: 2.4rem;
	line-height: 1.4;
	text-align: center;
	display: inline-block;
	position: relative;
	margin: 0 auto 45px auto;
	width: 86%;
}

.reason-box .reason .txt h3:before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -30px;
	display: inline-block;
	width: 30px;
	height: 3px;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	background-color: #ffc000;
	border-radius: 2px;
}

.reason-box .reason .read {
	font-size: 1.5rem;
	text-align: left;
	letter-spacing: 2px;
	margin-top: 10px;
}

.teacher-box .info-box {
	margin-bottom: 95px;
}

.teacher-box .info-box figure {
	width: 50%;
	line-height: 0.5;
}

.teacher-box .info-box figure + .txt {
	width: 50%;
	padding: 10px 0 0 70px;
}

.teacher-box .info-box .heading-01 {
	padding-top: 10px;
	padding-bottom: 10px;
	margin-bottom: 30px;
}

.teacher-box .info-box .btn-01 {
	margin-top: 30px;
}

.teacher-box .info-box .btn-01 a {
	width: 280px;
	text-align: center;
}

.plan-box .plan-ttl {
	background: url(../img/curriculum/2x/report-bg.png) center center / cover no-repeat;
	padding: 90px 0;
}

.plan-box .plan-ttl .txt {
	margin-right: 50%;
}

.plan-box .plan-ttl h2 {
	font-size: 3.6rem;
	letter-spacing: 1px;
	line-height: 1.4;
}

.plan-box .plan-ttl p {
	line-height: 2.1;
}

.plan-box .plan-ttl h2 + p {
	margin-top: 22px;
}

.plan-box .plan-rec {
	margin: 63px 0 85px;
}

.plan-box .plan-rec .wrap {
	padding-right: 0;
}

.plan-box .info-box .flex {
	flex-wrap: nowrap;
}

.plan-box .info-box .txt {
	padding: 10px 50px 0 0;
}

.plan-box .info-box .img {
	width: 51.5%;
	line-height: 0.5;
}

.plan-box .info-box figure {
	width: 50.5883vw;
}

.plan-box .info-box figure img {
	width: 100%;
}

.plan-box .info-box .heading-01 {
	margin: 10px 0 40px;
}

.plan-box .info-box .read {
	letter-spacing: 0.08em;
}

.plan-box .plan-rec .btn-01 {
	margin-top: 50px;
	text-align: center;
}

.plan-box .plan-rec .btn-01 a {
	font-size: 36px;
	padding: 11px 75px 11px 50px;
	border-radius: 50px;
	background-size: 28px;
	background-position: right 30px center;
}

.plan-box .plan-list {
	background: #fff8cc;
	padding: 40px 0 30px;
	margin-bottom: 70px;
}

.plan-box .plan {
	background: #fff;
	margin-bottom: 40px;
}

.plan-box .plan .heading-03 .tag {
	display: inline-block;
	background: #006bad;
	padding: 1px 15px 3px;
	line-height: 1.3;
	border-radius: 20px;
}

.plan-box .plan .heading-03 .tag.y {
	background: #ffe100;
	color: #222;
}

.plan-box .plan .txt {
	padding: 30px 50px 60px;
	letter-spacing: 0.8px;
}

.plan-box .plan .ttl-02 {
	margin: 35px 0 15px;
}

.plan-box .plan .check-list {
	display: inline-block;
	margin: 0 auto 5px;
}

.plan-box .plan .check-list li {
	margin-bottom: 5px;
	letter-spacing: 1.2px;
}

.plan-box .plan h4 {
	font-size: 2rem;
	letter-spacing: 1.2px;
	text-align: center;
	font-weight: normal;
	margin-bottom: 10px;
}

.plan-box .plan .bnr-tokkun {
	margin: 30px 0 0;
}

.plan-box .plan .bnr-tokkun a {
	display: block;
	background: url(../img/curriculum/2x/bnr-tokkun-bg.png) center center / cover no-repeat;
	color: #fff;
	line-height: 1;
	padding: 0 2px;
	position: relative;
}

.plan-box .plan .bnr-tokkun a .more {
	position: absolute;
	right: 20px;
	bottom: 20px;
	font-size: 2rem;
	font-weight: bold;
	padding-left: 2.6rem;
	background: url(../img/common/2x/arrow-11.png) left center / 20px no-repeat;
}

.online-box {
	position: relative;
	padding: 35px 0;
	margin-bottom: 80px;
	min-height: 470px;
}

.online-box .img {
	content: "";
	width: calc(50% + 10px);
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	background: url(../img/curriculum/2x/img-online.png) center center / cover no-repeat;
}

.online-box > .wrap {
	margin: auto;
}

.online-box .txt {
	margin-left: calc(50% + 10px);
	padding-left: 60px;
	line-height: 2.2;
}

.online-box .heading-01 {
	letter-spacing: 0.2px;
	margin-bottom: 4.2rem;
}

.online-box p {
	margin-bottom: 25px;
}

.type-box {
	border-top: solid 1px #e5e5e5;
	padding-top: 75px;
	margin-bottom: 85px;
}

.type-box .ttl-01 {
	margin-bottom: 25px;
}

.type-box .info {
	text-align: center;
	margin-bottom: 25px;
}

.type-box .type-list {
	justify-content: center;
	margin: 57px 0 0;
}

.type-box .type-list dl {
	width: calc((100% - 40px) / 2);
	position: relative;
	padding: 60px 40px 40px;
	margin-bottom: 40px;
	background: #ebf7ff;
	text-align: center;
}

.type-box .type-list dl:nth-child(odd) {
	margin-right: 40px;
}

.type-box .type-list dt {
	font-size: 2.8rem;
	font-weight: bold;
	position: absolute;
	top: -27px;
	right: 0;
	left: 0;
	text-align: center;
}

.type-box .type-list dt::after {
	content: "";
	width: 30px;
	height: 2px;
	position: absolute;
	bottom: -8px;
	left: calc(50% - 15px);
	background: #1da1f2;
}

.type-box .table-02 th:first-of-type {
	width: 15%;
}

.type-box .table-02 th:nth-of-type(3) {
	width: 16%;
}

.type-box .table-02 th:nth-of-type(4) {
	width: 17%;
}

.type-box .table-02 tbody td:first-of-type {
	padding: 18px 40px;
	text-align: left;
}

.process-box {
	margin-bottom: 55px;
}

.process-box .info-txt {
	text-align: center;
	margin: 30px 0 55px;
}

.process-box .info {
	justify-content: center;
}

.process-box .info > div {
	width: calc((100% - 80px) / 3);
	margin-right: 40px;
}

.process-box .info div:last-child {
	margin-right: 0;
}

.process-box .info dl {
	background: #ebf7ff;
	text-align: center;
	padding: 0 10px;
	font-size: 2rem;
	position: relative;
}

.process-box .info dt {
	position: absolute;
	top: -25px;
	right: 0;
	left: 0;
	font-size: 2.8rem;
	font-weight: bold;
}

.process-box .info dt::after {
	content: "";
	width: 30px;
	height: 2px;
	background: #1da1f2;
	position: absolute;
	top: 60px;
	left: calc(50% - 15px);
}

.process-box .info dd {
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	flex-direction: column;
	height: 260px;
	padding-top: 15px;
	justify-content: center;
	align-items: center;
	line-height: 1.8;
}

.process-box .info dd .list-01 {
	text-align: left;
	min-width: 78%;
}

.process-box .info dd .list-01 li::before {
	top: 15px;
	width: 7px;
	height: 7px;
}

.process-box .info dd a {
	display: inline-block;
	font-family: "Lato", sans-serif;
	letter-spacing: 0.5px;
	white-space: nowrap;
	line-height: 1.4;
	color: #1da1f2;
	padding-right: 25px;
	background: url(../img/common/2x/arrow-09.png) right 3px top 11px / 13px no-repeat;
	position: relative;
}

.process-box .info dd a::after {
	content: "";
	height: 1px;
	background: #1da1f2;
	position: absolute;
	right: 23px;
	bottom: 2px;
	left: 0;
}

.process-item-list:not(:first-child) {
	margin-top: 8px;
}

.process-item {
	display: flex;
	align-items: center;
}

.process-item__head {
	font-weight: 700;
	border: solid 1px #111;
	line-height: 1;
	font-size: 1.8rem;
	flex: 0 0 50px;
	padding: 5px 0;
}

.process-item__desc {
	font-size: 1.6rem;
	text-align: left;
	margin-left: 10px;
	line-height: 1.4;
}

.process-item + .process-item {
	margin-top: 8px;
}

.process-box .info > div > .note {
	color: #111;
	margin-top: 10px;
}

.exam-box {
	margin-bottom: 95px;
}

.exam-box .heading-03 {
	margin: 60px 0 50px;
}

.exam-box .wrap:first-of-type .heading-03 {
	margin: 0 0 50px;
}

.exam-box .heading-03 .wrap {
	text-align: center;
	position: relative;
}

.exam-box .heading-03 .wrap .time {
	display: inline-block;
	min-width: 180px;
	background: #006bad;
	padding: 4px;
	border-radius: 20px;
	text-align: center;
	font-size: 1.6rem;
	font-weight: normal;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
}

.exam-box .heading-03 .wrap .time::before {
	display: inline-block;
	content: "";
	width: 16px;
	height: 16px;
	background: url(../img/curriculum/2x/icon-time.png) center center / contain no-repeat;
	margin-right: 10px;
	transform: translateY(2px);
}

.exam-box .exam-list {
	margin-bottom: 68px;
}

.exam-box .exam-list.flex {
	margin-bottom: -40px;
}

.exam-box .exam-list .exam {
	margin-bottom: 48px;
}

.exam-box .exam-list.flex .exam {
	width: calc((100% - 40px) / 2);
}

.exam-box .exam-list.flex .exam:nth-child(odd) {
	margin-right: 40px;
}

.exam-box .exam-list figure {
	width: 200px;
	height: 200px;
	background: #ebf7ff;
	border-radius: 50%;
	margin-top: 10px;
}

.exam-box .exam-list.flex figure {
	width: 188px;
	height: 188px;
	margin-top: 0;
}

.exam-box .exam-list .txt {
	letter-spacing: 0.8px;
	width: 100%;
}

.exam-box .exam-list figure + .txt {
	width: calc(100% - 200px);
	padding-left: 35px;
}

.exam-box .exam-list.flex figure + .txt {
	width: calc(100% - 188px);
	padding: 20px 0 0 25px;
	letter-spacing: 0.4px;
}

.exam-box .exam-list h3 {
	font-size: 2.4rem;
	letter-spacing: 0;
	line-height: 1.5;
	padding-left: 32px;
	margin-bottom: 10px;
	position: relative;
}

.exam-box .exam-list.flex h3 {
	font-size: 2.3rem;
}

.exam-box .exam-list h3::before {
	content: "";
	width: 20px;
	height: 4px;
	background: #1da1f2;
	position: absolute;
	top: 17px;
	left: 0;
}

.exam-box .exam-list h3 .time {
	display: inline-block;
	margin-left: 10px;
	padding-left: 23px;
	font-size: 1.6rem;
	font-weight: normal;
	color: #999;
	background: url(../img/curriculum/2x/icon-clock.png) left center / 16px no-repeat;
	transform: translateY(-4px);
}

.exam-box .exam-list .box {
	width: 100%;
	border: solid 2px #f0f0f0;
	border-radius: 4px;
	padding: 15px 15px 20px;
	text-align: center;
	font-size: 1.4rem;
	margin-top: 20px;
}

.exam-box .exam-list .box h4 {
	font-size: 1.8rem;
	margin-bottom: 5px;
}

.exam-box .notice {
	margin-bottom: 70px;
}

.exam-box .notice dd {
	text-align: center;
}

.exam-box .notice dd ul {
	display: inline-block;
	margin: 0 auto;
	text-align: left;
}

.exam-box .notice dd ul.list-01 {
	text-indent: 0;
	padding: 0;
}

.exam-box .notice dd li {
	margin-bottom: 8px;
}

.exam-box .notice dd li:last-child {
	margin-bottom: 0;
}

#contents > .schedule-box {
	padding: 0;
}

.schedule-box + .schedule-box {
	margin-top: 20px;
}

.schedule-box .ttl-01 {
	margin-bottom: -30px;
}

.schedule-box .schedule-wrap {
	padding: 60px 0;
	background: #ebf7ff;
}

.schedule-box__wrap {
	position: relative;
}

.schedule-box__tag {
	position: absolute;
	top: 10px;
	left: 25px;
	color: #1da1f2;
	border: solid 1px #1da1f2;
	line-height: 1;
	font-size: 2rem;
	font-weight: 700;
	padding: 5px;
}

.schedule-box .schedule-wrap .flex {
	background: #fff;
	align-items: center;
	justify-content: center;
	padding: 100px 40px 75px;
}

.schedule-box .schedule-wrap li {
	width: 20%;
	height: 105px;
	font-size: 1.8rem;
	text-align: center;
	position: relative;
}

.schedule-box .schedule-wrap li::before,
.schedule-box .schedule-wrap li::after {
	content: "";
	width: 50%;
	height: 10px;
	background: #f5f5f5;
	position: absolute;
	top: calc(50% - 9px);
}

.schedule-box .schedule-wrap li::before {
	left: 0;
}

.schedule-box .schedule-wrap li::after {
	right: 0;
}

.schedule-box .schedule-wrap li:first-child::before,
.schedule-box .schedule-wrap li:last-child::after {
	display: none;
}

.schedule-box .schedule-wrap .date {
	color: #1da1f2;
	line-height: 1.6;
	position: absolute;
	right: 0;
	bottom: 8rem;
	left: 0;
	z-index: 1;
}

.schedule-box .schedule-wrap .date .tag {
	display: inline-block;
	font-size: 1.4rem;
	line-height: 2rem;
	text-align: center;
	border: solid 1px #1da1f2;
	padding: 0 8px;
	margin-right: 8px;
	transform: translateY(-2px);
}

.schedule-box .schedule-wrap .date .tag + span {
	display: inline-block;
	min-width: 12rem;
	white-space: nowrap;
}

.schedule-box .schedule-wrap .date .note {
	font-size: 1.4rem;
}

.schedule-box .schedule-wrap .txt {
	position: absolute;
	top: 7rem;
	right: 0;
	left: 0;
}

.schedule-box .schedule-wrap .txt::after {
	content: "";
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #1da1f2;
	position: absolute;
	top: -28px;
	left: calc(50% - 7px);
	z-index: 99;
}

.introduction-box {
	padding-top: 75px;
	border-top: solid 1px #e5e5e5;
}

.voice-box + .introduction-box {
	border-top: none;
	padding-top: 20px;
}

.schedule-box + .introduction-box {
	border-top: none;
}
.exam-box + .introduction-box {
	padding-top: 0;
	margin-top: -20px;
	border: none;
}

.introduction-box .course-list > .course {
	margin: 37px 0 49px;
}

.introduction-box .course > .flex {
	margin: 40px;
	flex-direction: row-reverse;
	justify-content: center;
}

.introduction-box .course .txt {
	letter-spacing: 0.8px;
}

.introduction-box .course .txt > .flex {
	flex-direction: column;
	width: 100%;
	min-height: 100%;
}

.introduction-box .course .txt {
	width: 100%;
}

.introduction-box .course figure + .txt {
	width: 50%;
	padding-right: 60px;
}

.introduction-box .course .txt .heading-01 {
	padding-top: 8px;
	padding-bottom: 8px;
	font-size: 3rem;
	margin: 8px 0 15px;
}

.introduction-box .course .txt .read {
	margin: auto 0;
}

.introduction-box .course .table-01 {
	margin-top: 15px;
}

.introduction-box .course .table-01 th {
	text-align: center;
	width: 28%;
	padding: 24px 30px;
}

.introduction-box .course .table-01 td {
	width: 72%;
	padding: 16px 30px;
	letter-spacing: 0;
	line-height: 1.5;
}

.introduction-box .course .table-01 td .ttl {
	display: inline-block;
	min-width: 10rem;
}

.introduction-box .course .table-01 td .ttl.l {
	min-width: 13rem;
}

.introduction-box .course .table-01 td .note {
	font-size: 1.4rem;
	letter-spacing: 1px;
}

.introduction-box .course figure {
	width: 50%;
	line-height: 0.5;
}

.introduction-box .course .btn-schedule {
	display: block;
	position: relative;
	font-weight: bold;
	font-size: 2.5rem;
	text-align: center;
	letter-spacing: 0;
	border: solid 2px #1da1f2;
	border-radius: 50px;
	background-color: #1da1f2;
	padding: 7px 60px;
	color: #fff;
	margin: 2rem auto;
	width: 70%;
	box-shadow: 0px 5px #006bad;
}

.introduction-box .course .btn-schedule:after {
	position: absolute;
	content: "";
	background: #fff url(../img/common/2x/arrow-05.png) center center no-repeat;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	right: 15px;
	top: 0;
	bottom: 0;
	background-size: 25%;
	margin: auto;
}

.teacher-box .course .btn-schedule p {
	width: 280px;
	text-align: center;
}

.introduction-box .schedule-wrap {
	position: relative;
	margin-top: 30px;
}

.introduction-box .schedule-box {
	max-height: 380px;
}

.introduction-box .btn-01 {
	position: absolute;
	top: 13px;
	right: 30px;
}

.introduction-box .btn-01 a {
	padding: 6px 40px;
	background: #fff url(../img/common/2x/arrow-05.png) right 20px center / 9px no-repeat;
}

.introduction-box .schedule-wrap .no-post {
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	padding: 30px 30px 0;
}

.about-box {
	margin: 90px 0 65px;
}

.about-box .ttl-01 {
	padding: 0 15px;
}

.about-box .about-wrap {
	margin: 40px 0;
	padding: 20px 0;
	position: relative;
}

.about-text-link {
	margin-top: 20px;
}
@media screen and (max-width: 768px) {
	.about-text-link.btn-01 a {
		width: 280px;
	}
}

.about-box .about-wrap.img {
	min-height: 470px;
}

.about-box .about-wrap > .wrap {
	margin: auto;
}

.about-box .about-wrap .img {
	content: "";
	width: calc(50% + 10px);
	background: url(../img/curriculum/2x/about-img-denken3.png) center center / cover no-repeat;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
}

.about-box .about-wrap .img > div {
	width: 100%;
	height: 100%;
}

.about-box .about-wrap .txt {
	min-height: 335px;
	flex-direction: column;
	justify-content: center;
}

.about-box .about-wrap .img + .wrap .txt {
	margin-left: calc(50% + 10px);
	padding-left: 60px;
}

.about-box .about-wrap .txt .heading-01 {
	margin-bottom: 42px;
}

.about-box .job-ttl {
	text-align: center;
	font-size: 2.8rem;
	letter-spacing: 1px;
	margin-bottom: -40px;
	padding-bottom: 10px;
	position: relative;
	z-index: 9;
}

.about-box .job-ttl::after {
	content: "";
	width: 30px;
	height: 2px;
	background: #1da1f2;
	position: absolute;
	bottom: 4px;
	left: calc(50% - 15px);
}

.about-box .job-list {
	background: #ebf7ff;
	justify-content: center;
	padding: 70px 20px 30px;
}

.about-box .job-list > div {
	width: 230px;
	max-width: 20%;
	text-align: center;
	line-height: 1.8;
	letter-spacing: 0;
}

.about-box .job-list figure {
	display: inline-block;
	width: 188px;
	height: 188px;
	background: #fff;
	border-radius: 50%;
	line-height: 0.5;
	margin: 0 auto 10px;
}

.about-box .job-list p {
	padding: 0 10px;
}

.bnr-l-faq {
	margin: 65px 0 100px;
}

.voice-box-list .voice-box-dt {
	position: relative;
	margin: 2rem 0 5px 0;
	padding: 1rem 0;
	box-shadow: 0px 5px #ffc300;
	background-color: #fff8cc;
	cursor: pointer;
	border-radius: 15px 15px 0 0;
}

.voice-box-list .voice-box-dt .voice-box-title-icon-wrap {
	position: absolute;
	right: 1rem;
	top: 50%;
	transform: translatey(-50%);
	width: 38px;
	height: 38px;
	background: #ffc300;
	border-radius: 50%;
}

.voice-box-list .voice-box-dt .voice-box-title-icon {
	position: relative;
	display: inline-block;
	width: 100%;
	height: 100%;
}

.voice-box-list .voice-box-dt .voice-box-title-icon:before,
.voice-box-list .voice-box-dt .voice-box-title-icon:after {
	position: absolute;
	content: "";
	display: block;
	transition: all 0.4s;
	background: #fff;
	left: 50%;
	top: 50%;
	width: 50%;
	height: 2px;
	transform: translate(-50%, -50%);
}

.voice-box-list .voice-box-dt .voice-box-title-icon:before {
	transform: translate(-50%, -50%) rotate(90deg);
}
.voice-box-list .voice-box-dt.active .voice-box-title-icon:before {
	transform: translate(-50%, -50%) rotate(0deg);
}

.voice-box-list .voice-box-dt .voice-box-title-wrap {
	font-weight: bold;
	text-align: center;
	width: calc(100% - 40px);
}

.voice-box-list .voice-box-detail {
	position: relative;
	display: inline-block;
	margin-bottom: 1.5rem;
	padding: 3rem;
	min-width: 120px;
	max-width: 100%;
	color: #555;
	font-size: 16px;
	background: #fff8cc;
	box-sizing: border-box;
	border-radius: 0 0 15px 15px;
	width: 100%;
}
.woman-banner {
	margin-top: 50px;
}
.woman-banner a:hover {
	opacity: 0.7;
}

/*
----------------------------------------
1200
----------------------------------------
*/

@media screen and (max-width: 1200px) {
	.solve-box .solve .txt {
		text-align: center;
	}

	.solve-box .solve .txt .list-01 {
		display: inline-block;
		min-width: 440px;
		margin: 0 auto 20px;
	}

	.solve-box .solve .txt .list-01 li {
		width: auto;
		text-align: left;
	}

	.solve-box .solve .txt .list-01 li:nth-child(odd) {
		margin-right: 0;
	}

	.solve-box .solve > .flex.co {
		padding: 30px 15px 20px;
	}

	.solve-box .solve .thumb-co {
		width: 45%;
	}

	.solve-box .solve .thumb-co + .co-info {
		width: 55%;
		padding-right: 15px;
	}

	.solve-box .solve .co-info .table-01 th {
		padding: 15px 5px;
	}

	.solve-box .solve .co-info .table-01 td {
		padding: 15px;
	}

	.solve-box .solve .co-info > .flex {
		padding-right: 0;
	}

	.solve-box .solve .co-info h3 {
		font-size: 2.4rem;
	}

	.solve-box .solve .co-info .num {
		font-size: 1.6rem;
	}

	.solve-box .solve .co-info .table-01 {
		margin-bottom: 20px;
	}

	.solve-box .solve .co-info .list-01 li {
		line-height: 1.6;
		padding-left: 1.5rem;
	}

	.solve-box .solve .co-info .list-01 li::before {
		top: 10px;
	}

	.reason-box .reason h3 {
		font-size: 2rem;
	}

	.reason-box .reason {
		width: calc((100% - 40px) / 3);
		margin-right: 20px;
	}

	.teacher-box .info-box figure + .txt {
		padding: 0 0 0 30px;
	}

	.plan-box .plan-ttl {
		padding: 60px 0;
	}

	.plan-box .info-box .txt {
		padding: 0 30px 0 0;
	}

	.online-box {
		padding: 0;
		min-height: initial;
	}

	.online-box .img {
		width: calc(45% + 10px);
	}

	.online-box .txt {
		padding-left: 30px;
		margin-left: calc(45% + 10px);
	}

	.online-box .heading-01 {
		font-size: 2.4rem;
		margin-bottom: 20px;
	}

	.exam-box .exam-list .box {
		padding: 15px;
		margin-top: 15px;
		line-height: 1.5;
	}

	.type-box .type-list dl {
		text-align: left;
	}

	.exam-box .exam-list.flex figure {
		width: 160px;
		height: 160px;
	}

	.exam-box .exam-list.flex figure + .txt {
		width: calc(100% - 160px);
	}

	.exam-box .exam-list .box .sp {
		display: inline;
	}

	.schedule-box .schedule-wrap .flex {
		padding: 120px 20px 75px;
	}

	.schedule-box .schedule-wrap .txt {
		font-size: 1.6rem;
		line-height: 1.6;
	}

	.introduction-box .course > .flex {
		align-items: center;
	}

	.introduction-box .course .txt {
		line-height: 1.6;
	}

	.introduction-box .course figure + .txt {
		padding-right: 30px;
	}

	.introduction-box .course .txt .heading-01 {
		margin: 0 0 15px;
	}

	.introduction-box .course .table-01 {
		margin-top: 15px;
	}

	.introduction-box .course .btn-schedule {
		font-size: 2rem;
		width: 100%;
	}

	.introduction-box .course .btn-schedule:after {
		right: 15px;
		top: 8px;
	}

	.about-box .about-wrap {
		padding: 0;
	}

	.about-box .about-wrap.img {
		min-height: initial;
	}

	.about-box .about-wrap .img {
		width: calc(45% + 10px);
	}

	.about-box .about-wrap .img + .wrap .txt {
		margin-left: calc(45% + 10px);
		padding-left: 30px;
	}

	.about-box .about-wrap .txt .heading-01 {
		font-size: 2.4rem;
		margin-bottom: 20px;
	}

	.about-box .job-list {
		padding: 70px 10px 30px;
	}

	.about-box .job-list figure {
		width: 160px;
		height: 160px;
	}

	.about-box .job-list .pc {
		display: none;
	}

	.about-box .job-list .sp {
		display: inline;
	}
}

/*
----------------------------------------
1000
----------------------------------------
*/

@media screen and (max-width: 1000px) {
	.solve-box .solve > .flex {
		padding: 30px 20px 20px;
	}

	.solve-box .solve .thumb {
		width: 230px;
	}

	.solve-box .solve .thumb + .txt {
		width: calc(100% - 250px);
	}

	.solve-box .solve .txt .list-01,
	.solve-box .solve .solve-list .check-list {
		min-width: 400px;
	}

	.reason-box .reason .txt {
		padding: 15px;
	}

	.reason-box .reason h3 {
		font-size: 1.6rem;
	}

	.reason-box .reason .read {
		font-size: 1.4rem;
		letter-spacing: 0;
	}

	.teacher-box .info-box > .flex {
		flex-direction: column;
	}

	.teacher-box .info-box .flex > figure {
		display: none;
	}

	.teacher-box .info-box figure + .txt {
		width: 100%;
		padding: 0;
	}

	.teacher-box .info-box .heading-01 {
		margin-bottom: 20px;
	}

	.teacher-box .info-box .txt figure.sp {
		display: block;
		width: 100%;
		text-align: center;
		margin-bottom: 20px;
	}

	.teacher-box .info-box .txt figure.sp img {
		width: 450px;
		max-width: 100%;
	}

	.teacher-box .info-box .btn-01 {
		margin-top: 20px;
		text-align: center;
	}

	.plan-box .plan-ttl {
		padding: 40px 0;
	}

	.plan-box .plan-ttl h2 {
		font-size: 2.8rem;
	}

	.plan-box .plan-ttl h2 + p {
		margin-top: 15px;
	}

	.plan-box .plan-rec {
		margin: 30px 0;
	}

	.plan-box .plan-rec .wrap {
		padding-right: 15px;
	}

	.plan-box .info-box > .flex {
		flex-direction: column;
	}

	.plan-box .info-box .flex .img {
		display: none;
	}

	.plan-box .info-box .txt {
		padding: 0;
	}

	.plan-box .info-box .heading-01 {
		margin: 0 0 20px;
	}

	.plan-box .info-box .txt figure.sp {
		display: block;
		width: 100%;
		text-align: center;
		margin-bottom: 20px;
	}

	.plan-box .info-box .txt figure.sp img {
		width: 450px;
		max-width: 100%;
		vertical-align: bottom;
	}

	.plan-box .plan-rec .btn-01 {
		margin-top: 20px;
	}

	.plan-box .plan-rec .btn-01 a {
		width: 280px;
		font-size: 15px;
		padding: 11px 20px 11px 15px;
		background-size: 14px;
		background-position: right 25px center;
	}

	.plan-box .plan .txt {
		padding: 30px 30px 60px;
	}

	.plan-box .plan .bnr-tokkun a {
		padding: 10px 0;
	}

	.plan-box .plan .bnr-tokkun a img {
		width: 65%;
	}

	.online-box {
		padding-top: 40vw;
	}

	.online-box .img {
		width: 87vw;
		height: 48vw;
	}

	.online-box .txt {
		margin-left: 0;
		padding: 20px;
		background: #fff;
		box-shadow: 0 0 10px rgb(0 0 0 / 0.1);
		position: relative;
		z-index: 1;
	}

	.online-box p {
		margin-bottom: 20px;
	}

	.online-box .btn-01 {
		text-align: center;
	}

	.exam-box {
		margin-bottom: 20px;
	}

	.exam-box .exam-list.flex .exam {
		width: calc((100% - 20px) / 2);
	}

	.exam-box .exam-list.flex .exam:nth-child(odd) {
		margin-right: 20px;
	}

	.exam-box .exam-list.flex .exam .flex {
		align-items: center;
	}

	.process-box .info-txt .sp {
		display: inline;
	}

	.process-box .info > div {
		width: calc((100% - 30px) / 3);
		margin-right: 15px;
	}

	.process-box .info dl {
		font-size: 1.6rem;
	}

	.process-box .info dt {
		top: -22px;
		font-size: 2.2rem;
	}

	.process-box .info dt::after {
		top: 50px;
	}

	.process-box .info dd .list-01 li::before {
		top: 12px;
	}

	.process-box .info dd a {
		padding-right: 16px;
		background: url(../img/common/2x/arrow-09.png) right 8px / 10px no-repeat;
	}

	.process-box .info dd a::after {
		right: 14px;
	}

	.exam-box .exam-list figure {
		width: 160px;
		height: 160px;
	}

	.exam-box .exam-list.flex figure {
		width: 140px;
		height: 140px;
	}

	.exam-box .exam-list figure + .txt {
		width: calc(100% - 160px);
		padding-left: 20px;
	}

	.exam-box .exam-list.flex figure + .txt {
		width: calc(100% - 140px);
		padding: 0 0 0 20px;
	}

	.exam-box .exam-list h3,
	.exam-box .exam-list.flex h3 {
		margin-bottom: 5px;
	}

	.exam-box .exam-list .box {
		padding: 10px;
		margin-top: 10px;
	}

	.introduction-box .course figure + .txt {
		padding-right: 20px;
	}

	.introduction-box .course .txt .heading-01 {
		font-size: 2.4rem;
	}

	.introduction-box .course .txt .read {
		font-size: 1.5rem;
	}

	.introduction-box .course .table-01 th {
		width: 20%;
		padding: 10px 15px;
	}

	.introduction-box .course .table-01 td {
		width: 80%;
		padding: 10px 15px;
	}

	.introduction-box .course .table-01 td .note {
		font-size: 1.4rem;
	}

	.about-box .job-list > div {
		font-size: 1.3rem;
	}

	.about-box .job-list figure {
		width: 120px;
		height: 120px;
	}

	.about-box .about-wrap.img {
		padding-top: 40vw;
	}

	.about-box .about-wrap .img {
		width: 87vw;
		height: 48vw;
	}

	.about-box .about-wrap .txt {
		padding: 20px;
		background: #fff;
		box-shadow: 0 0 10px rgb(0 0 0 / 0.1);
		position: relative;
		z-index: 9;
	}

	.about-box .about-wrap .img + .wrap .txt {
		margin-left: 0;
		padding: 20px;
	}
}

/*
----------------------------------------
768
----------------------------------------
*/

@media screen and (max-width: 768px) {
	.curriculum .curriculum-header {
		padding: 44vw 0 0;
	}

	.curriculum .curriculum-header .img.pc {
		display: none;
	}

	.curriculum .curriculum-header .img.sp {
		display: block;
		/* background: url( ../img/curriculum/2x/ttl-bg-denken3-sp.png ) center top / 100% no-repeat; */
	}

	.curriculum .curriculum-header .wrap {
		padding: 0 13px;
	}

	#sp-fix.on {
		opacity: 1;
		transform: none;
	}

	.solve-box {
		padding: 30px 0 10px;
		margin-bottom: 0;
	}

	.solve-box .heading-03 {
		font-size: 2rem;
	}

	.solve-box .solve {
		margin-bottom: 30px;
	}

	.solve-box .solve > .flex {
		flex-direction: column;
		padding: 20px 15px;
	}

	.solve-box .solve .thumb {
		width: 100%;
		padding-top: 0;
		margin-bottom: 15px;
	}

	.solve-box .solve .thumb img {
		width: 160px;
		margin-bottom: 0;
	}

	.solve-box .solve .thumb br {
		display: none;
	}

	.solve-box .solve .thumb + .txt {
		width: 100%;
	}

	.solve-box .solve .txt .heading-06 {
		margin: 0 0 10px;
	}

	.solve-box .solve .txt .list-01 {
		margin: 0 0 15px;
	}

	.solve-box .solve .solve-list {
		padding: 0 15px 20px;
	}

	.solve-box .solve .txt .list-01,
	.solve-box .solve .solve-list .check-list {
		min-width: initial;
		width: 100%;
	}

	.solve-box .solve .solve-list .check-list {
		margin-right: 0;
	}

	.solve-box .solve .solve-list .check-list li {
		letter-spacing: 0.4px;
	}

	.solve-box .solve > .flex.co {
		flex-direction: column;
		padding: 30px 15px 5px;
	}

	.solve-box .solve .thumb-co {
		width: 100%;
		text-align: center;
		margin-bottom: 15px;
	}

	.solve-box .solve .thumb-co img {
		width: 240px;
		max-width: 100%;
	}

	.solve-box .solve .thumb-co + .co-info {
		width: 100%;
		padding-right: 0;
	}

	.solve-box .solve .co-info .table-01 tr {
		display: table-row;
	}

	.solve-box .solve .co-info .table-01 th {
		border-bottom: solid 1px #1da1f2;
		width: 30%;
	}

	.solve-box .solve .co-info .table-01 td {
		border-bottom: solid 1px #dbdbdb;
		width: 70%;
	}

	.solve-box .solve > .solve-list {
		background: #fff8cc url(../img/curriculum/solve-arrow-l.png) center top / 520px no-repeat;
	}

	.voice-box {
		padding-bottom: 40px;
		margin: 30px 0 40px;
	}

	.voice-box .heading-05 {
		display: inline-block;
		margin: 0 auto;
		line-height: 1.5;
		position: relative;
		padding: 0 30px;
	}

	.voice-box .heading-05::before,
	.voice-box .heading-05::after {
		position: absolute;
		top: 15px;
	}

	.voice-box .heading-05::before {
		left: 0;
	}

	.voice-box .heading-05::after {
		right: 0;
	}

	.reason-box .ttl-01 {
		margin-bottom: -20px;
	}

	.reason-box .ttl-01.ttl-2l {
		margin-bottom: -75px;
	}

	.reason-box .ttl-01.ttl-2l h2 {
		line-height: 1.4;
		margin-top: 0;
	}

	.reason-box .ttl-01 h2 span {
		display: inline-block;
		font-size: 1.8rem;
	}

	.reason-box .reason-list {
		padding: 40px 0 15px;
		margin-bottom: 30px;
	}

	.reason-box .ttl-01.ttl-2l + .reason-list {
		padding: 95px 0 15px;
	}

	.reason-box .reason-list .flex {
		flex-direction: column;
	}

	.reason-box .reason {
		width: 100%;
		margin: 0 0 20px;
	}

	.reason-box .reason .num {
		top: -10px;
		left: -10px;
	}

	.reason-box .reason h3 {
		font-size: 1.9rem;
	}

	#e-construction2 .reason-box .reason .txt.reason_01 {
		background-size: 20%;
	}
	#e-construction2 .reason-box .reason .txt.reason_02 {
		background-size: 20%;
	}
	#e-construction2 .reason-box .reason .txt.reason_03 {
		background-size: 20%;
	}

	.teacher-box .info-box {
		margin-bottom: 40px;
	}

	.teacher-box .info-box .heading-01 {
		margin-bottom: 10px;
	}

	.teacher-box .info-box figure + .txt {
		font-size: 1.4rem;
	}

	.teacher-box .info-box .txt figure.sp {
		margin-bottom: 15px;
	}

	.teacher-box .info-box .btn-01 {
		margin-top: 15px;
	}

	.plan-box .plan-ttl {
		padding: 30px 0;
		background: url(../img/curriculum/2x/report-bg-sp.png) center top / 100% no-repeat;
		position: relative;
	}

	.plan-box .plan-ttl::after {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		background: rgba(255, 255, 255, 0.7);
	}

	.plan-box .plan-ttl .wrap {
		position: relative;
		z-index: 1;
	}

	.plan-box .plan-ttl .txt {
		margin-right: 0;
	}

	.plan-box .plan-ttl h2 {
		font-size: 2.4rem;
		letter-spacing: 0;
		padding-right: 15vw;
	}

	.plan-box .info-box .heading-01 {
		font-size: 18px;
	}

	.plan-box .info-box .txt figure.sp {
		margin-bottom: 15px;
	}

	.plan-box .info-box .read {
		font-size: 14px;
	}

	.plan-box .plan-rec .btn-01 a {
		font-size: 14px;
	}

	.plan-box .plan {
		margin-bottom: 30px;
	}

	.plan-box .plan .heading-03 {
		padding: 2px 7px;
	}

	.plan-box .plan .heading-03 .tag {
		margin: 5px 0;
	}

	.plan-box .plan .txt {
		padding: 20px 15px;
		font-size: 1.4rem;
	}

	.plan-box .plan .ttl-02 {
		margin: 20px 0 15px;
	}

	.plan-box .plan .check-list li {
		margin-bottom: 15px;
	}

	.plan-box .plan .bnr-tokkun a {
		padding: 0 0 30px;
		background: url(../img/curriculum/2x/bnr-tokkun-bg.png) right 30% center / cover no-repeat;
	}

	.plan-box .plan .bnr-tokkun a img {
		width: 100%;
	}

	.plan-box .plan .bnr-tokkun a .more {
		font-size: 1.5rem;
		background: url(../img/common/2x/arrow-11.png) left center / 14px no-repeat;
		padding-left: 2rem;
		right: 10px;
		bottom: 15px;
	}

	.plan-box .plan-list {
		padding: 40px 0 10px;
		margin-bottom: 40px;
	}

	.online-box {
		margin-bottom: 30px;
	}

	.online-box .heading-01 {
		font-size: 1.9rem;
		margin-bottom: 1.2rem;
	}

	.online-box .btn-01 a {
		width: 100%;
	}

	.type-box {
		padding-top: 30px;
		margin-bottom: 40px;
	}

	.type-box .ttl-01 {
		margin-bottom: 20px;
	}

	.type-box .info {
		text-align: left;
	}

	.type-box .table-02 tbody td:first-of-type {
		padding: 10px 15px;
		font-size: 1.3rem;
	}

	.type-box .type-list {
		flex-direction: column;
		margin: 35px 0 0;
	}

	.type-box .type-list dl {
		width: 100%;
		padding: 40px 20px 20px;
		margin: 0 0 35px;
		text-align: left;
	}

	.type-box .type-list dl:nth-child(odd) {
		margin-right: 0;
	}

	.type-box .type-list dt {
		font-size: 2.4rem;
		top: -24px;
	}

	.type-box .type-list dt::after {
		bottom: -6px;
	}

	.type-box .table-02 th:first-of-type {
		width: 16%;
		padding: 10px 5px;
	}

	.type-box .table-02 th:nth-of-type(3),
	.type-box .table-02 th:nth-of-type(4) {
		width: 14%;
		padding: 10px 0;
	}

	.table-02 tbody td {
		padding: 10px;
	}

	.table-02 tbody td:first-of-type {
		padding: 10px;
		text-align: left;
	}

	.table-02 tbody td img {
		width: 18px;
	}

	.process-box {
		margin-bottom: 0;
	}

	.process-box .info-txt {
		font-size: 1.4rem;
		text-align: left;
		margin: 20px 0 35px;
	}

	.process-box .info {
		flex-direction: column;
	}

	.process-box .info > div {
		width: 100%;
		margin: 0 0 35px;
	}

	.process-box .info > div > .note {
		font-size: 1.4rem;
		margin-top: 8px;
	}

	.process-box .info dl {
		padding: 50px 10px 30px;
	}

	.process-box .info dd {
		height: auto;
		padding: 0;
	}

	.exam-box .heading-03 {
		margin: 40px 0 20px;
	}

	.exam-box .heading-03:first-of-type {
		margin: 0 0 20px;
	}

	.exam-box .heading-03 .wrap {
		padding: 0 8px;
		text-align: left;
	}

	.exam-box .heading-03 .wrap .time {
		min-width: 140px;
		right: 8px;
	}

	.exam-box {
		margin-bottom: 40px;
	}

	.exam-box .exam-list .exam {
		margin-bottom: 30px;
		position: relative;
	}

	.exam-box .exam-list.flex {
		flex-direction: column;
	}

	.exam-box .exam-list.flex .exam {
		width: 100%;
	}

	.exam-box .exam-list .exam > .flex {
		align-items: center;
	}

	.exam-box .exam-list figure,
	.exam-box .exam-list.flex figure {
		margin: 0 auto 10px 0;
		width: 90px;
		height: 90px;
	}

	.exam-box .exam-list figure + .txt,
	.exam-box .exam-list.flex figure + .txt {
		width: 100%;
		padding: 0;
		text-align: center;
	}

	.exam-box .exam-list h3,
	.exam-box .exam-list.flex h3 {
		display: inline-block;
		margin: 0 auto 10px;
		position: absolute;
		top: 45px;
		left: 105px;
		text-align: left;
		line-height: 1.3;
		transform: translateY(-50%);
	}

	.exam-box .exam-list h3::before {
		top: 15px;
	}

	.exam-box .exam-list h3 .time {
		margin-left: 5px;
		transform: translateY(-1px);
	}

	.exam-box .exam-list .read {
		text-align: left;
	}

	.exam-box .exam-list .box {
		padding: 15px;
		margin-top: 15px;
	}

	.exam-box .notice {
		margin-bottom: 40px;
	}

	/*
	.exam-box .exam-list .box p {
		text-align: left;
	}
	*/

	.schedule-box {
		margin-right: 0;
	}

	.schedule-box .ttl-01 {
		margin-bottom: -15px;
	}

	.schedule-box .schedule-wrap {
		padding: 40px 0;
	}

	.schedule-box .schedule-wrap > .wrap {
		text-align: center;
	}

	.schedule-box .schedule-wrap .flex {
		display: inline-block;
		min-width: 90%;
		width: 100%;
		margin: 0 auto;
		padding: 20px 20px 15px;
	}

	.schedule-box .schedule-wrap .schedule-box__tag {
		padding: 5px;
		font-size: 1.6rem;
	}

	.schedule-box .schedule-wrap .flex.schedule-wrap__half-list {
		padding-top: 43px;
	}

	.schedule-box .schedule-wrap li {
		width: 100% !important;
		height: auto;
		padding-bottom: 15px;
	}

	.schedule-box .schedule-wrap p {
		text-align: left;
		padding-left: 30px;
	}

	.schedule-box .schedule-wrap .date {
		position: relative;
		bottom: 0;
	}

	.schedule-box .schedule-wrap .txt {
		padding-top: 0;
		position: static;
	}

	.schedule-box .schedule-wrap .txt::after {
		top: 8px;
		left: 0;
	}

	.schedule-box .schedule-wrap li::before,
	.schedule-box .schedule-wrap li::after {
		width: 10px;
		right: auto;
		left: 2px;
	}

	.schedule-box .schedule-wrap li::before {
		top: 0;
		bottom: auto;
		height: 20px;
	}

	.schedule-box .schedule-wrap li::after {
		top: auto;
		bottom: 0;
		height: calc(100% - 20px);
	}

	.introduction-box {
		padding-top: 40px;
	}

	.introduction-box .course > .flex {
		flex-direction: column;
	}

	.introduction-box .course figure + .txt {
		width: 100%;
		padding: 0;
	}

	.introduction-box .course .txt .heading-01 {
		margin: 0 0 10px;
	}

	.introduction-box .course .txt figure {
		display: block;
		width: 100%;
		margin-bottom: 10px;
	}

	.introduction-box .course .info > figure {
		display: none;
	}

	.introduction-box .course .table-01 tr {
		display: table-row;
	}

	.introduction-box .course .table-01 th {
		width: 22%;
		text-align: center;
		border-bottom: solid 1px #1da1f2;
	}

	.introduction-box .course .table-01 td {
		width: 78%;
		border-bottom: solid 1px #dbdbdb;
	}

	.introduction-box .course .btn-schedule {
		padding: 7px;
	}

	.introduction-box .btn-01 {
		position: relative;
		top: 0;
		right: 0;
		margin-top: 30px;
	}

	.introduction-box .course-list > .course {
		margin: 20px 0 35px;
	}

	.introduction-box .schedule-wrap .no-post {
		font-size: 1.5rem;
		padding: 25px 15px 0;
	}

	.introduction-box .course .btn-schedule:after {
		display: none;
	}

	.about-box {
		margin: 50px 0 40px;
	}

	.about-box .about-wrap {
		margin: 30px 0;
		min-height: auto;
	}

	.about-box .about-wrap .txt .heading-01 {
		font-size: 1.9rem;
		margin-bottom: 1.2rem;
	}

	.about-box .about-wrap .img > div::after {
		border-bottom: solid 10px #fff;
		border-left: solid 10px #fff;
	}

	.about-box .job-ttl {
		font-size: 2.2rem;
		line-height: 1.5;
		padding-bottom: 20px;
		margin-bottom: -35px;
	}

	.about-box .job-list {
		flex-direction: column;
		padding: 50px 15px 5px;
	}

	.about-box .job-list > div {
		width: 100%;
		max-width: 100%;
		-js-display: flex;
		display: -ms-flex;
		display: -webkit-flex;
		display: flex;
		align-items: center;
		margin-bottom: 15px;
		font-size: 1.5rem;
	}

	.about-box .job-list figure {
		width: 100px;
		height: 100px;
		margin: 0;
	}

	.about-box .job-list p {
		width: calc(100% - 100px);
		padding: 0 0 0 15px;
		text-align: left;
	}

	.bnr-l-faq {
		margin: 40px 0 45px;
	}

	.woman-banner {
		margin-top: 30px;
	}
}

/*
----------------------------------------
hover
----------------------------------------
*/

@media screen and (min-width: 769px) {
	.introduction-box .btn-01 a:hover {
		background: #f5f5f5 url(../img/common/2x/arrow-05.png) right 17px center / 9px no-repeat;
	}

	.plan-box .plan .bnr-tokkun a:hover {
		opacity: 0.85;
	}

	.process-box .info dd a:hover {
		background: url(../img/common/2x/arrow-09.png) right top 11px / 13px no-repeat;
		opacity: 0.85;
	}

	.curriculum-5step-bnr a:hover {
		opacity: 0.85;
	}
}

/* 2025.02.10 add */
.c-table-area {
	width: 100%;
	margin-top: 35px;
	margin-bottom: 30px;
	position: relative;
}
.c-table-wrapper {
	width: 100%;
	position: relative;
}
.c-table {
	width: 100%;
	position: relative;
}
.c-table thead th {
	font-size: 24px;
	font-weight: bold;
	color: #fff;
	width: 21.1667%;
	max-width: 260px;
	line-height: 1;
	text-align: center;
	padding: 0 1px;
}
.c-table thead th:nth-of-type(3) {
	padding-left: 3px;
}
.c-table thead th:nth-of-type(5) {
	padding-right: 0px;
}
.c-table thead th.is-accent {
	padding: 0;
}
.c-table thead th.is-empty {
	width: 150px;
	background: transparent;
}
.c-table thead th div {
	background: #ffc300;
	padding: 27px 10px;
	border-radius: 10px 10px 0 0;
}
.c-table thead th.is-accent div {
	background: #1da1f2;
	margin: 0 -2px;
	z-index: 10;
	position: relative;
}

.c-table tbody th {
	width: 150px;
	text-align: left;
	padding: 20px;
	vertical-align: top;
	background: #ebf7ff;
	font-size: 1.8rem;
	letter-spacing: 0.2px;
	line-height: 1.6;
	font-weight: bold;
	color: #222;
	border-bottom: solid 1px #1da1f2;
	vertical-align: middle;
}
.c-table tbody tr:first-of-type th {
	border-top: solid 1px #1da1f2;
}

.c-table tbody td {
	font-size: 16px;
	width: 21.1667%;
	max-width: 260px;
	line-height: 1.6;
	text-align: center;
	vertical-align: middle;
	color: #111;
	border-top: 1px solid #f0f0f0;
	border-bottom: 1px solid #f0f0f0;
	border-left: 2px solid #f0f0f0;
	border-right: 2px solid #f0f0f0;
	padding: 20px 10px;
}
.c-table tbody td.is-accent {
	border-left: 4px solid #1a9eed;
	border-right: 4px solid #1a9eed;
}

.c-table tbody tr:first-of-type td.is-accent {
	border-top: solid 4px #1da1f2;
}
.c-table tbody tr:last-of-type td.is-accent {
	border-bottom: solid 4px #1da1f2;
}

.c-table tbody td.is-accent span {
	font-size: 20px;
	font-weight: 500;
	line-height: 1;
}
.c-table tbody td.is-accent span > strong {
	color: #1da1f2;
}
.c-table tbody td.is-accent span > strong > span {
	font-size: 32px;
	line-height: 1;
	padding: 0 2px;
	font-weight: bold;
	font-family: "Lato", sans-serif;
}

.c-table tbody td.is-accent a {
	font-size: 13px;
	transition: all ease 0.33s;
	color: #1da1f2;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.c-table tbody td.is-accent a:hover {
	opacity: 0.6;
}

@media screen and (max-width: 768px) {
	.c-table-wrapper {
		overflow-x: auto;
	}
	.c-table {
		width: 1030px;
	}
	.c-table thead th.is-empty {
		width: 80px;
	}
	.c-table tbody th {
		width: 80px;
		font-size: 1.6rem;
	}
	.c-table tbody td {
		font-size: 14px;
	}
	.c-table thead th {
		font-size: 20px;
	}
	.c-table tbody td.is-accent a {
		font-size: 11px;
	}
}

@keyframes swipe {
	0% {
		transform: translateX(0);
		opacity: 0;
	}
	15% {
		opacity: 1;
	}
	35% {
		opacity: 1;
	}
	50% {
		transform: translateX(-30px);
		opacity: 0;
	}
	100% {
		transform: translateX(-30px);
		opacity: 0;
	}
}

.swipe-hand {
	display: none;
}
@media screen and (max-width: 768px) {
	.swipe-hand {
		display: block;
		width: auto !important;
		position: absolute;
		top: 251px;
		right: 20px;
		animation: swipe 3s linear 1s infinite normal;
		opacity: 0;
		z-index: 50;
	}
}

/* 2025.08.01 add */
.side-fixed-bnr-area {
	position: fixed;
	bottom: 30px;
	right: 30px;
	opacity: 0;
	visibility: hidden;
	z-index: -1;
	pointer-events: none;
	transition: all 0.2s;
	width: 43.823%;
	max-width: 745px;
	min-width: 500px;
}
.side-fixed-bnr {
	width: 100%;
	aspect-ratio: 373 / 131;
	height: auto;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	transition: all 0.2s;
	filter: drop-shadow(0px 9px 16px rgba(0, 0, 0, 0.35));
}
.side-fixed-bnr-area.is-active {
	opacity: 1;
	pointer-events: all;
	visibility: visible;
	z-index: 9998;
}
a.side-fixed-bnr > * {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}
.side-fixed-bnr img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.side-fixed-bnr-close {
	position: absolute;
	top: 15px;
	right: -20px;
	width: 40px;
	z-index: 10;
	height: auto;
	aspect-ratio: 1 / 1;
	background: #fddd02;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 999px;
	overflow: hidden;
	box-shadow: 0px 3px 4px 0px rgba(0, 0, 0, 0.1);
	cursor: pointer;
}
.side-fixed-bnr-close::after {
	content: "";
	background-image: url("../img/common/icon-close.svg");
	background-repeat: no-repeat;
	background-size: contain;
	width: 10px;
	height: auto;
	aspect-ratio: 1 / 1;
	flex-shrink: 0;
}

@media screen and (max-width: 768px) {
	.side-fixed-bnr-area {
		bottom: 0;
		right: 0;
		width: 100%;
		max-width: none;
	}
	.side-fixed-bnr {
		aspect-ratio: 100 / 17;
	}
	.side-fixed-bnr-close {
		display: none;
	}
}

/* 2025.09.10 */
#contents > .info-box {
	padding-top: 70px;
}
@media screen and (max-width: 768px) {
	#contents > .info-box {
		padding-top: 40px;
	}
}

/*
----------------------------------------
supplementary
----------------------------------------
*/

/* 見出し */
.supplementary .ttl-01 h2 span {
	font-size: 48px;
	letter-spacing: .02em;
	line-height: 1;
	color: #1da1f2;
}

@media screen and (max-width: 768px) {
	.supplementary .ttl-01 h2 {
		font-size: 21px;
		letter-spacing: .02em;
	}

	.supplementary .ttl-01 h2 span {
		font-size: 23px;
		letter-spacing: 0;
	}
}

/* お悩み */
.supplementary-rec-box {
	padding: 4px 0 100px;
}

.supplementary-rec-box-about__ttl {
	margin-bottom: -.7em;
	font-weight: bold;
	font-size: 34px;
	line-height: 1.5;
	letter-spacing: 0;
	text-align: center;
	position: relative;
	z-index: 1;
}

.supplementary-rec-box-about__content::after {
	clip-path: polygon(50% 100%, 0 0, 100% 0);
	content: "";
	width: 100%;
	height: 77px;
	display: block;
	background: #ebf7ff;
}

.supplementary-rec-box-about__inner {
	padding: 55px 15px 28px;
	background: #ebf7ff;
}

.supplementary-rec-box-about__list {
	display: flex;
	justify-content: center;
	column-gap: 5px;
}

.supplementary-rec-box-about-item {
	width: 100%;
	max-width: 223px;
}

.supplementary-rec-box-about-item__img {
	aspect-ratio: 1/1;
	width: 100%;
	max-width: 188px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-inline: auto;
	background: #fff;
	border-radius: 50%;
}

.supplementary-rec-box-about-item__img img {
	width: 100%;
}

.supplementary-rec-box-about-item:nth-child(1) .supplementary-rec-box-about-item__img img {
	max-width: 73px;
}

.supplementary-rec-box-about-item:nth-child(2) .supplementary-rec-box-about-item__img img {
	max-width: 64px;
}

.supplementary-rec-box-about-item:nth-child(3) .supplementary-rec-box-about-item__img img {
	max-width: 83px;
}

.supplementary-rec-box-about-item:nth-child(4) .supplementary-rec-box-about-item__img img {
	max-width: 104px;
}

.supplementary-rec-box-about-item__txt {
	margin-top: 11px;
	font-size: 18px;
	font-weight: 500;
	line-height: calc(27/18);
	letter-spacing: .04em;
	text-align: center;
}

.supplementary-rec-box-seminar {
	margin-top: 68px;
}

.supplementary-rec-box-seminar__ttl {
	font-weight: 700;
	font-size: 40px;
	line-height: calc(72/40);
	letter-spacing: 0;
	text-align: center;
}

.supplementary-rec-box-seminar__ttl .em {
	font-size: 52px;
	line-height: 1;
	letter-spacing: 0;
}

.supplementary-rec-box-seminar__ttl .em-dot > span {
	position: relative;
}

.supplementary-rec-box-seminar__ttl .em-dot > span::before {
	content: "";
	aspect-ratio: 1/1;
	display: block;
	width: 100%;
	max-width: 9.72px;
	background: #222;
	border-radius: 50%;
	position: absolute;
	top: -5px;
	left: 50%;
	transform: translateX(-50%);
}

.supplementary-rec-box-seminar__ttl .underline {
	color: #1da1f2;
	text-decoration: underline;
	text-decoration-thickness: 14px;
	text-decoration-color: #ffe100;
	text-underline-offset: -4px;
}

.supplementary-rec-box-seminar__content {
	position: relative;
	padding: 0 15px;
}

.supplementary-rec-box-seminar__inner {
	margin-top: 59px;
	padding: 54px 95px 53px;
	background: #ebf7ff;
	position: relative;
}

.supplementary-rec-box-seminar__inner {
	width: 100%;
	max-width: 1400px;
	margin-inline: auto;
	border-left: 5px solid #1da1f2;
	position: relative;
}

.supplementary-rec-box-seminar__inner::before {
	content: "";
	border-top: solid 8px rgba(0, 0, 0, 0);
	border-left: solid 9px #1da1f2;
	border-bottom: solid 8px rgba(0, 0, 0, 0);
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

.supplementary-rec-box-seminar__txt {
	max-width: 55%;
	font-weight: 500;
	font-size: 26px;
	line-height: calc(54/26);
	letter-spacing: .08em;
	text-align: left;
}

.supplementary-rec-box-seminar__txt span {
	padding: 4px 7px 10px;
	background: #ffe100;
	font-weight: 700;
}

.supplementary-rec-box-seminar__img {
	clip-path: polygon(8% 0%, 100% 0, 100% 85%, 92% 100%, 0 100%, 0 15%);
	width: 42.2%;
	height: 393px;
	position: absolute;
	top: 50%;
	left: auto;
	right: 0;
	transform: translateY(-50%);
}

.supplementary-rec-box-seminar__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media screen and (max-width: 768px) {
	.supplementary-rec-box {
		padding-bottom: 60px;
	}

	.supplementary-rec-box-about__ttl {
		font-size: 22px;
	}

	.supplementary-rec-box-about__content::after {
		height: 40px;
	}

	.supplementary-rec-box-about__list {
		flex-direction: column;
		row-gap: 15px;
	}

	.supplementary-rec-box-about-item {
		max-width: 100%;
		display: flex;
		column-gap: 15px;
		align-items: center;
	}

	.supplementary-rec-box-about-item__img {
		max-width: 100px;
		margin: 0;
	}

	.supplementary-rec-box-about-item:nth-child(1) .supplementary-rec-box-about-item__img img {
		max-width: 50%;
	}
	
	.supplementary-rec-box-about-item:nth-child(2) .supplementary-rec-box-about-item__img img {
		max-width: 50%;
	}
	
	.supplementary-rec-box-about-item:nth-child(3) .supplementary-rec-box-about-item__img img {
		max-width: 50%;
	}
	
	.supplementary-rec-box-about-item:nth-child(4) .supplementary-rec-box-about-item__img img {
		max-width: 50%;
	}

	.supplementary-rec-box-about-item__txt {
		font-size: 15px;
		text-align: left;
	}

	.supplementary-rec-box-seminar {
		margin-top: 40px;
	}

	.supplementary-rec-box-seminar__ttl {
		font-size: 20px;
	}
	
	.supplementary-rec-box-seminar__ttl .em {
		font-size: 26px;
	}
	
	.supplementary-rec-box-seminar__ttl .em-dot > span::before {
		max-width: 5px;
		top: -3px;
	}

	.supplementary-rec-box-seminar__content {
		margin-top: 19px;
		padding: 92px 0 0;
	}
	
	.supplementary-rec-box-seminar__ttl .underline {
		text-decoration-thickness: 7px;
		text-underline-offset: -2px;
	}

	.supplementary-rec-box-seminar__inner {
		margin-top: 0;
		padding: 107px 17px 20px;
		border-left-width: 3px;
	}

	.supplementary-rec-box-seminar__inner::before {
		border-top-width: 4px;
		border-left-width: 5px;
		border-bottom-width: 4px;
	}

	.supplementary-rec-box-seminar__txt {
		max-width: 100%;
		font-size: 15px;
		line-height: calc(52/30);
		letter-spacing: .08em;
	}

	.supplementary-rec-box-seminar__txt span {
		padding: 1px 4px 4px;
	}

	.supplementary-rec-box-seminar__img {
		width: calc(100% - 40px);
		height: 183px;
		position: absolute;
		top: 0;
		left: 50%;
		right: auto;
		transform: translateX(-50%);
	}
}

/* お問い合わせバナー */
.supplementary-contact-bnr {
	padding: 61.5px 20px 56px;
	background: url(../img/supplementary/contact-bg.jpg) center / cover no-repeat;
	position: relative;
	z-index: 0;
}

.supplementary-contact-bnr__ttl {
	display: flex;
	align-items: flex-end;
	width: fit-content;
	column-gap: .5em;
	margin-inline: auto;
	font-weight: 700;
	font-size: 36px;
	line-height: 1;
	text-align: center;
	color: #fff;
}

.supplementary-contact-bnr__ttl::before,
.supplementary-contact-bnr__ttl::after {
	content: "";
	width: 2px;
	height: .8em;
	background: #fff;
	transform: rotate(25deg);
}

.supplementary-contact-bnr__ttl::before {
	transform: rotate(-25deg);
}

.supplementary-contact-bnr__list {
	display: flex;
	column-gap: 51px;
	margin-top: 51px;
}

.supplementary-contact-bnr-item {
	width: 100%;
	max-width: 366px;
	min-height: 206px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	margin-inline: auto;
	padding: 43px 20px 33px;
	background: #fff;
	text-align: center;
	position: relative;
	z-index: 0;
}

.supplementary-contact-bnr-item--mail {
	padding-top: 56px;
}

.supplementary-contact-bnr-item--tel {
	padding-bottom: 32px;
}

.supplementary-contact-bnr-item::before {
	content: "";
	aspect-ratio: 1/1;
	width: 100%;
	max-width: 100px;
	background-color: #fff;
	background-repeat: no-repeat;
	border-radius: 50%;
	position: absolute;
	top: -29px;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}

.supplementary-contact-bnr-item--mail::before {
	background-image: url(../img/supplementary/contact-icon-mail.png);
	background-position: 50% 25%;
	background-size: 40px;
}

.supplementary-contact-bnr-item--tel::before {
	background-image: url(../img/supplementary/contact-icon-tel.png);
	background-position: 47% 23%;
	background-size: 37px;
}

.supplementary-contact-bnr-item--data::before {
	background-image: url(../img/supplementary/contact-icon-data.png);
	background-position: 50% 20%;
	background-size: 40px;
}

.supplementary-contact-bnr-item__ttl {
	font-weight: 500;
	font-size: 20px;
	line-height: calc(28/20);
	letter-spacing: 0;
}

.supplementary-contact-bnr-item__btn {
	width: 100%;
	max-width: 220px;
	display: block;
	margin: 22px auto 0;
	padding: 7px 21px;
	background: #ffc300;
	font-weight: 700;
	font-size: 18px;
	color: #fff;
	border-radius: 100px;
	position: relative;
}

.supplementary-contact-bnr-item__btn::before {
	content: "";
	position: absolute;
	top: 50%;
	left: auto;
	transition: all .2s;
}

.supplementary-contact-bnr-item__btn--mail::before {
	width: 10px;
	height: 10px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	right: 16px;
	transform: translateY(-50%) rotate(45deg);
}

.supplementary-contact-bnr-item__btn--mail:hover::before {
	right: 13px;
}

.supplementary-contact-bnr-item__btn--data::before {
	width: 20px;
	height: 20px;
	background: url(../img/supplementary/contact-icon-dl.png) center / cover no-repeat;
	right: 10px;
	transform: translateY(-50%) ;
}

.supplementary-contact-bnr-item__btn--data:hover::before {
	top: calc(50% + 3px);
}

.supplementary-contact-bnr-item__tel {
	margin-top: 11px;
}

.supplementary-contact-bnr-item__tel a {
	font: 700 40px "Lato";
	line-height: 1;
	letter-spacing: 0;
	text-align: center;
	color: #1da1f2;
}

.supplementary-contact-bnr-item__reception-hours {
	margin-top: 4px;
	font-size: 16px;
	line-height: calc(22/16);
	letter-spacing: 0;
	text-align: center;
}

/*追加したところ*/

/* クリックするボタン */
.supplementary-contact-bnr-item__btn--data {
    width: 100%;
    max-width: 220px;
    display: block;
    margin: 22px auto 0;
    padding: 7px 21px;
    background: #ffc300;
    font-weight: 700;
    font-size: 18px;
    color: #fff;
    border-radius: 100px;
    position: relative;
}

.supplementary-contact-bnr-item__btn--data {
	background: #222;
}

.supplementary-contact-bnr-item__btn--data:hover::before {
    top: calc(50% + 3px);
}

@media screen and (max-width: 1200px) {
    .supplementary-contact-bnr-item__btn--data {
        font-size: 14px;
    }
}

@media screen and (max-width: 768px) {
    .supplementary-contact-bnr-item__btn--data {
        margin-top: 5px;
    }
}


.supplementary-contact-bnr-item__btn--data::before {
	content: "";
    position: absolute;
    top: 50%;
    transition: all .2s;
    width: 20px;
    height: 20px;
    background: url(../img/supplementary/contact-icon-dl.png) center / cover no-repeat;
    right: 10px;
    transform: translateY(-50%);
}

/* 開いた後に見せるフォームエリア */
.supplementary-contact-bnr-item_details-form {
    display: none; /* JSで slideDown するため非表示スタート */
    margin-top: 20px;
    padding: 0px;
    border-radius: 8px;
}
@media screen and (min-width: 768px) {
	.supplementary-contact-bnr-item_details-form {
		padding: 20px;
	}
}

.supplementary-contact-bnr-item_details-form h3 {
    font-size: 20px;
    margin-bottom: 15px;
    font-weight: bold;
}

.supplementary-contact-bnr-item_details-form input,
.supplementary-contact-bnr-item_details-form textarea {
    width: 100%;
    padding: 10px;
    margin-top: 5px;
    margin-bottom: 15px;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
}

.supplementary-contact-bnr-item_details-form button {
    display: inline-block;
    padding: 12px 24px;
    background: #0072ff;
    color: #fff;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: opacity .2s;
}

.supplementary-contact-bnr-item_details-form button:hover {
    opacity: .8;
}

/* オーバーレイ（背景の薄暗いやつ） */

.modal-overlay {
	position: fixed;
	inset: 0; /* top:0 right:0 bottom:0 left:0 の短縮 */
    background: rgba(0, 0, 0, 0.5);
    display: none; /* 初期状態は非表示 */
    justify-content: center;
    align-items: center;
    z-index: 9999;
	padding: 100px;
	padding: 15px;
}

@media screen and (min-width: 768px) {
	.modal-overlay {
		padding: 30px;
	}
}

@media screen and (min-width: 1200px) {
	.modal-overlay {
		padding: 100px;
		
	}
}


/* モーダル本体 */
.modal-content {
	background: #ebf7ff;
    width: 100%;
    height: 85vh;
	max-height: 750px;
    border-radius: 8px;
    position: relative;
    z-index: 10000;
	max-width: 600px;
	padding: 15px 0px 15px;
}
@media screen and (min-width: 767px) {
	.modal-content {
	    padding: 28px 10px 20px;
		max-width: 600px;
		height: 78vh;
	}
}
@media screen and (min-width: 950px) {
	.modal-content {
		max-width: 800px;
		height: 86vh;
	}
}
@media screen and (min-width: 1200px) {
	.modal-content {
		max-width: 900px;
	   	padding: 30px;	
	}
}


/* 閉じるボタン */
.modal-close {
    position: absolute;
    top: 0px;
    right: 4px;
    background: none;
    border: none;
    font-size: 28px;
    cursor: pointer;
}

/* モーダル内フォームのスタイル */
.supplementary-contact-bnr-item_details-form {
    display: block; /* モーダル内のため display: none にしない */
}

.modal-overlay .supplementary-form-box .form-wrap {
	padding: 30px 0 50px;
}
@media screen and (min-width: 768px) {
	.modal-overlay .supplementary-form-box .form-wrap {
		padding: 30px 0 20px;
	}
}

.modal-overlay .form-step>p {
	font-size: 1.2rem;
}
@media screen and (min-width: 768px) {
	.modal-overlay .form-step>p {
		font-size: 1.6rem;
	}
}
@media screen and (min-width: 1200px) {
	.modal-overlay .form-step>p {
		font-size: 1.8rem;
	}
}




/*-----------------------------*/

@media screen and (max-width: 1200px) {
	.supplementary-contact-bnr__list {
		column-gap: 20px;
	}

	.supplementary-contact-bnr-item__ttl {
		font-size: 15px;
	}

	.supplementary-contact-bnr-item__btn {
		font-size: 14px;
	}

	.supplementary-contact-bnr-item__tel a {
		font-size: 26px;
	}

	.supplementary-contact-bnr-item__reception-hours {
		font-size: 14px;
	}
}

@media screen and (min-width: 769px) {
	.supplementary-contact-bnr-item {
		margin-top: 29px;
	}
}

@media screen and (max-width: 768px) {
	.supplementary-contact-bnr {
		padding: 40px 20px;
	}

	.supplementary-contact-bnr__ttl {
		font-size: 20px;
	}

	.supplementary-contact-bnr__list {
		flex-direction: column;
		margin-top: 30px;
	}

	.supplementary-contact-bnr-item {
		min-height: 130px;
		justify-content: center;
		padding: 6px 20px 6px 90px;
	}

	.supplementary-contact-bnr-item:not(:first-child) {
		margin-top: 5px;
	}

	.supplementary-contact-bnr-item::before {
		max-width: 65px;
		top: 50%;
		left: 15px;
		transform: translateY(-50%);
	}

	.supplementary-contact-bnr-item--mail::before {
		background-position: 50% 50%;
	}

	.supplementary-contact-bnr-item--tel::before {
		background-position: 50% 50%;
	}

	.supplementary-contact-bnr-item--data::before {
		background-position: 50% 50%;
	}

	.supplementary-contact-bnr-item__btn {
		margin-top: 5px;
	}

	.supplementary-contact-bnr-item__tel {
		margin-top: 5px;
	}

	.supplementary-contact-bnr-item__reception-hours {
		margin-top: 2px;
	}
}



/* Merit */
.supplementary-merit-box {
    padding-top: 91px;
	position: relative;
	z-index: 0;
}

.supplementary-merit-box::before {
	content: "";
	width: 100%;
	height: 459px;
	display: block;
	background: #fff8cc;
	position: absolute;
	top: auto;
	left: 0;
	bottom: 0;
	z-index: -1;
}

.supplementary-merit-box .ttl-01 h2 {
	margin-top: 5px;
}

.supplementary-merit-box .reason-list {
	margin-bottom: 0;
	background: unset;
}

@media screen and (min-width: 769px) {
	.supplementary-merit-box .ttl-01 .en {
		min-width: 268px;
	}

	.supplementary-merit-box .reason-list {
		padding: 73px 0 80px;
	}

	.supplementary-merit-box .reason .txt {
		padding-top: 23px;
	}

	.supplementary-merit-box .reason .txt h3 {
		line-height: 1.5;
		margin-bottom: 25px;
	}

	.supplementary-merit-box .reason .txt h3:before {
		bottom: -22px;
	}
}

@media screen and (max-width: 768px) {
	.supplementary-merit-box {
		padding-top: 40px;
	}

	.supplementary-merit-box::before {
		height: 82%;
	}
}


/* Instructor */
.supplementary-instructor-box {
	padding: 91px 0 100px;
}

.supplementary-instructor-box .ttl-01 h2 {
	line-height: 1.5;
	margin-top: 10px;
}

.supplementary-instructor-box .teacher-list {
	margin-top: 48px;
}

.supplementary-instructor-box .teacher:not(:first-child) {
	margin-top: 54px;
}

.supplementary-instructor-box .teacher__content {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 31px;
}

.supplementary-instructor-box .teacher__img {
	width: 421px;
	margin-inline: auto;
}

.supplementary-instructor-box .teacher__txt {
	width: calc(100% - 421px);
	padding-left: 45px;
}

.supplementary-instructor-box .teacher__head {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 1.6rem;
	align-items: center;
}

.supplementary-instructor-box .teacher__head .heading-01 {
	padding: 1rem 0 1rem 3rem;
	margin-bottom: 0;
	letter-spacing: 1.2px;
}

.supplementary-instructor-box .teacher__body .read {
	letter-spacing: 1.2px;
}

.supplementary-instructor-box .teacher__career {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.supplementary-instructor-box .teacher__career dl {
	width: 100%;
	background: #ebf7ff;
	padding: 33px 30px 36px;
	position: relative;
	text-align: center;
}

.supplementary-instructor-box .teacher__career dt {
	font-size: 20px;
	font-weight: 700;
	color: #1da1f2;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	transform: translateY(-46%);
}

.supplementary-instructor-box .teacher__career dd {
	color: #222;
}

@media screen and (max-width: 1400px) {
	.supplementary-instructor-box .teacher__txt {
		padding-left: 30px;
	}
}

@media screen and (max-width: 768px) {
	.supplementary-instructor-box {
		padding: 40px 0 60px;
	}

	.supplementary-instructor-box .teacher__content {
		flex-direction: column;
	}

	.supplementary-instructor-box .teacher__img {
		order: 2;
		width: 100%;
		display: block;
		line-height: 0.5;
		margin-bottom: 10px;
	}

	.supplementary-instructor-box .teacher__txt {
		width: 100%;
		display: contents;
		padding: 0 0 6.5rem;
		position: relative;
	}

	.supplementary-instructor-box .teacher__head {
		order: 1;
	}

	.supplementary-instructor-box .teacher__head .heading-01 {
		padding: 0.5rem 0 0.5rem 2rem;
	}

	.supplementary-instructor-box .teacher__body {
		order: 3;
	}

	.supplementary-instructor-box .teacher__body .read {
		letter-spacing: 0.2px;
	}

	.supplementary-instructor-box .teacher__career {
		flex-direction: column;
		margin-bottom: 10px;
	}

	.supplementary-instructor-box .teacher__career dl {
		width: 100%;
		padding: 20px 15px;
	}

	.supplementary-instructor-box .teacher__career dd {
		font-size: 1.4rem;
	}
}

/* Customization */
.supplementary-customization-box {
	padding: 57px 0 100px;
	background: #fff8cc;
}

.supplementary-customization-box .ttl-01 h2 {
	margin-top: 5px;
	letter-spacing: .04em;
	line-height: 1.7;
}

.supplementary-customization-box__info {
	margin-top: 17px;
	font-size: 16px;
	line-height: 2;
	letter-spacing: .08em;
	text-align: center;
}

.supplementary-customization-box-course {
	margin-top: 61px;
}

.supplementary-customization-box-course__tab-list {
	display: flex;
	align-items: flex-end;
	column-gap: 24px;
	height: 110px;
}

.supplementary-customization-box-course__tab {
	cursor: pointer;
	width: 100%;
	height: 90px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px 10px;
	background: #ffc001;
	border-top: 4px solid #ffc001;
	border-radius: 4px 4px 0 0;
	font-weight: 700;
	font-size: 28px;
	letter-spacing: .02em;
	line-height: 1.5;
	text-align: center;
	transition: height .2s;
}

.supplementary-customization-box-course__tab.active {
	pointer-events: none;
	height: 110px;
	background: #fff;
	font-size: 32px;
	letter-spacing: .02em;
}

.supplementary-customization-box-course__content-list {
	background: #fff;
}

.supplementary-customization-box-course__content {
	display: block;
	padding: 45px 64px 61px;
}

.supplementary-customization-box-course__content:not(.active) {
	display: none;
}

.supplementary-customization-box-course__ttl {
	padding-bottom: 25px;
	font-weight: 700;
	font-size: 30px;
	letter-spacing: .02em;
	line-height: 1.5;
	text-align: center;
	position: relative;
}

.supplementary-customization-box-course__ttl::before {
	content: "";
	width: 56px;
	height: 3px;
	background: #ffc001;
	position: absolute;
	top: auto;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
}

.supplementary-customization-box-course__list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 45px 23px;
	margin-top: 55px;
}

.supplementary-customization-box-course-item__img {
	overflow: hidden;
	aspect-ratio: 342/224;
	display: block;
	width: 100%;
	background: #a8a6a4;
	border-radius: 15px;
}

.supplementary-customization-box-course-item__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.supplementary-customization-box-course-item__ttl {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 15px;
	font-weight: 700;
	font-size: 22px;
	letter-spacing: .02em;
	line-height: 1.5;
	text-align: center;
}

.supplementary-customization-box-course-item__txt {
	margin-top: 17px;
	font-size: 16px;
	line-height: 2;
	letter-spacing: .08em;
}

@media screen and (max-width: 768px) {
	.supplementary-customization-box {
		padding: 29px 0 0;
	}

	.supplementary-customization-box .ttl-01 {
		margin: 0 -5px;
	}

	.supplementary-customization-box .ttl-01 h2 {
		margin-top: -3px;
		line-height: 1.4;
	}

	.supplementary-customization-box__info {
		margin-top: 13px;
		font-size: 14px;
		letter-spacing: .08em;
		line-height: calc(42/28);
	}

	.supplementary-customization-box-course {
		margin: 28.5px -15px 0;
	}

	.supplementary-customization-box-course__tab-list {
		height: 55px;
		column-gap: 7px;
	}
	
	.supplementary-customization-box-course__tab {
		height: 45px;
		padding: 10px 10px;
		border-top: 3px solid #ffc001;
		border-radius: 2px 2px 0 0;
		font-size: 14px;
		line-height: calc(38/30);
	}
	
	.supplementary-customization-box-course__tab.active {
		height: 55px;
		font-size: 15px;
	}

	.supplementary-customization-box-course__content {
		padding: 21px 20px 29px;
	}

	.supplementary-customization-box-course__ttl {
		padding-bottom: 14px;
		font-size: 16px;
		letter-spacing: .02em;
	}

	.supplementary-customization-box-course__ttl::before {
		width: 28px;
		height: 2.5px;
	}

	.supplementary-customization-box-course__list {
		grid-template-columns: repeat(2, 1fr);
		gap: 28px 13px;
		margin-top: 20px;
	}

	.supplementary-customization-box-course-item__img {
		aspect-ratio: 322/224;
		border-radius: 7.5px;
	}

	.supplementary-customization-box-course-item__ttl {
		margin-top: 10px;
		font-size: 15px;
		line-height: calc(44/30);
	}
	
	.supplementary-customization-box-course-item__txt {
		margin-top: 7px;
		font-size: 13px;
		line-height: calc(42/26);
	}
}

/* Place */
.supplementary-place-box {
	padding: 72px 0 80px;
	background: #ebf7ff;
}

.supplementary-place-box .ttl-01 h2 {
	margin-top: 5px;
	line-height: 1.68;
}

.supplementary-place-box__list {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: 20px 73px;
	margin-top: 53px;
}

.supplementary-place-box-item {
	width: 100%;
	max-width: 410px;
}

.supplementary-place-box-item__img {
	overflow: hidden;
	aspect-ratio: 410/273;
	width: 100%;
	display: block;
}

.supplementary-place-box-item__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.supplementary-place-box-item__ttl {
	margin-top: 14px;
	font-weight: 700;
	font-size: 28px;
	letter-spacing: .04em;
	line-height: 1.5;
	color: #1da1f2;
	text-align: center;
}

.supplementary-place-box-item__txt {
	margin-top: 23px;
	font-size: 16px;
	letter-spacing: .08em;
	line-height: 2;
}

.supplementary-place-box__info {
	width: 100%;
	max-width: 954px;
	display: block;
	background: #fff;
	margin: 44px auto 0;
	padding: 14px 15px 18px;
	font-weight: 700;
	font-size: 32px;
	letter-spacing: .04em;
	line-height: calc(48/32);
	text-align: center;
	color: #1da1f2;
	border-radius: 9px;
	border: solid 2px #1da1f2;
}

@media screen and (max-width: 768px) {
	.supplementary-place-box {
		padding: 30px 0 40px;
	}

	.supplementary-place-box__list {
		flex-wrap: wrap;
		gap: 20px;
		margin-top: 30px;
	}

	.supplementary-place-box-item__ttl {
		margin-top: .5em;
		font-size: 18px;
	}
	
	.supplementary-place-box-item__txt {
		margin-top: .5em;
		font-size: 14px;
	}

	.supplementary-place-box__info {
		margin-top: 20px;
		padding: 7px 15px 9px;
		font-size: 15px;
	}
}

/* Works */
.supplementary-works-box {
	padding: 87px 0 79px;
}

.supplementary-works-box .ttl-01 h2 {
	margin-top: 4px;
}

.supplementary-works-box__list {
	margin-top: 49px;
}

.supplementary-works-box-item:not(:first-child) {
	margin-top: 64px;
}

.supplementary-works-box-item__body {
	box-shadow: 0 0 10px rgba(0, 0, 0, .1);
}

.supplementary-works-box-item__content {
	display: flex;
	align-items: flex-start;
	gap: 20px 41px;
	padding: 58px 40px 0;
}

.supplementary-works-box-item__table th {
    width: 150px;
    padding: 6px 30px;
	font-weight: 700;
	font-size: 18px;
	letter-spacing: .04em;
	line-height: 1.5;
}

.supplementary-works-box-item__table td {
	width: calc(100% - 150px);
	padding: 6px 28px;
	font-size: 16px;
	line-height: 2;
	letter-spacing: .04em;
}

.supplementary-works-box-item__img {
	aspect-ratio: 500/310;
	width: 100%;
	max-width: 500px;
	margin-inline: auto;
	border: 1px solid #ccc;
}

.supplementary-works-box-item__img img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

.supplementary-works-box-item__comment {
	margin-top: 49px;
}

.supplementary-works-box-item__comment dl {
	padding: 27px 40px 33px;
	background: #fafafa;
	border: dotted 1px rgba(0, 0, 0, 0.25);
	border-radius: 5px;
	position: relative;
}

.supplementary-works-box-item__comment dt {
	width: 150px;
	height: 39px;
	background: url(../img/place/2x/balloon-commen.png) center center / contain no-repeat;
	position: absolute;
	top: -20px;
	left: calc(50% - 75px);
	text-align: center;
	font-weight: bold;
	line-height: 1.9;
	color: #1da1f2;
}

.supplementary-works-box-item__comment dd {
	letter-spacing: 1.2px;
}

.supplementary-works-box .block-list-02 .mask-img {
	background-image: url(../img/supplementary/works-box-img.jpg);
}

.supplementary-works-box .block-list-02 .block {
	margin-bottom: 0;
}

.supplementary-works-box .block-list-02 .block:nth-of-type(odd) .img + .wrap .txt {
	margin: 0 auto;
}

.supplementary-works-box .block-list-02 .block:nth-of-type(odd) .img {
    right: auto;
    left: 0;
}

@media screen and (min-width: 1001px) {
	.supplementary-works-box .block-list-02 .block {
		margin-top: 94px;
		padding: 0;
	}

	.supplementary-works-box .block-list-02 .block .img {
		height: 470px;
		top: 5px;
	}

	.supplementary-works-box .block-list-02 .block .txt .heading-01 {
		margin-bottom: 24px;
		padding-left: 32px;
	}

	.supplementary-works-box .block-list-02 .block:nth-of-type(odd) .img + .wrap .txt {
		margin-left: calc(45% + 10px);
		padding-right: 0;
        padding-left: 30px;
	}
}

@media screen and (min-width: 1201px) {
	.supplementary-works-box .block-list-02 .block:nth-of-type(odd) .img + .wrap .txt {
		margin-left: calc(50% + 10px);
		padding-left: 47px;
	}
}

@media screen and (max-width: 1200px) {
	.supplementary-works-box-item__table {
		margin-top: 15px;
	}
}

@media screen and (max-width: 1000px) {
	.supplementary-works-box-item__content {
		flex-direction: column-reverse;
		padding: 30px 15px 0;
	}

	.supplementary-works-box-item__table th {
		width: 20%;
		padding: 10px 15px;
	}

	.supplementary-works-box-item__table td {
		width: 80%;
		padding: 10px 15px;
	}

	.supplementary-works-box .block-list-02 .block:nth-of-type(odd) .img + .wrap .txt {
		margin-left: auto;
	}
}

@media screen and (min-width: 769px) {
	.supplementary-works-box-item__table th,
	.supplementary-works-box-item__table td {
		height: 77px;
	}	
}

@media screen and (max-width: 768px) {
	.supplementary-works-box {
		padding: 30px 0 40px;
	}

	.supplementary-works-box__list {
		margin-top: 20px;
	}

	.supplementary-works-box-item:not(:first-child) {
		margin-top: 30px;
	}

	.supplementary-works-box-item__table tr {
		display: table-row;
	}

	.supplementary-works-box-item__table th {
		width: 30%;
		font-size: 15px;
		text-align: center;
		border-bottom: solid 1px #1da1f2;
	}

	.supplementary-works-box-item__table td {
		width: 78%;
		font-size: 14px;
		line-height: 1.5;
		border-bottom: solid 1px #dbdbdb;
	}

	.supplementary-works-box-item__comment dl {
		padding: 30px 15px 20px;
	}

	.supplementary-works-box-item__comment dd {
		font-size: 1.4rem;
		letter-spacing: 0.2px;
	}
}

/* form */
.supplementary-form-box {
	margin-top: 0;
	background: #ebf7ff;
}

.supplementary-form-box .form-wrap {
	margin-top: 0;
	padding: 69px 0 100px;
}

.supplementary-form-box .form-ttl {
    display: block;
    width: fit-content;
    column-gap: .5em;
	margin: 0 auto;
	padding: 0 calc((31/52) * 1em);
	font-weight: 700;
	font-size: 52px;
	letter-spacing: 0.8px;
	line-height: 1.4;
	color: #1da1f2;
	text-align: center;
	position: relative;
}

.supplementary-form-box .form-ttl::before,
.supplementary-form-box .form-ttl::after {
    content: "";
    width: 3px;
    height: 1em;
    background: #1da1f2;
    transform: rotate(-15deg);
	position: absolute;
	top: auto;
	left: 0;
	bottom: calc((10/52) * 1em);
}

.supplementary-form-box .form-ttl::after {
    transform: rotate(15deg);
	right: 0;
	left: auto;
}

.supplementary-form-box .form {
	margin-top: 40px;
}


#contact.supplementary-form-box .form-input-grid .mfp_err {
	margin-top: 0;
}

@media screen and (min-width: 769px) {
	#contact.supplementary-form-box .form-input-grid {
		align-items: flex-start;
	}

	#contact.supplementary-form-box .form-input-grid > div {
		flex-wrap: wrap;
	}

	#contact.supplementary-form-box .form-input-grid > * > div {
		flex: 1;
	}

	#contact.supplementary-form-box .form-input-grid div.mfp_err {
		flex: 100%;
		margin-left: 45px;
	}
}

@media screen and (max-width: 1000px) {
	.supplementary-form-box .form-ttl {
		font-size: 38px;
	}
}

@media screen and (max-width: 768px) {
	.supplementary-form-box .form-ttl {
		font-size: 22px;
	}

	.supplementary-form-box .form-ttl::before,
	.supplementary-form-box .form-ttl::after {
		width: 2px;
	}

	.supplementary-form-box .form-wrap {
		padding: 30px 0 50px;
	}

	.supplementary-form-box .form {
		margin-top: 20px;
	}
}

/* 講習会表 */

/* --- テーブル基本枠はそのまま維持 --- */

.workshop_table-wrapper {
	overflow-x: auto;
    -webkit-overflow-scrolling: touch;
	margin-bottom: 90px;
}


.workshop_table {
	margin: 0 auto;
	min-width: 1209px;
}

.workshop_table td {
	border-left: solid 1px #dbdbdb;
	border-right:  solid 1px #dbdbdb;
	vertical-align: middle;
	line-height: 1.5;
}

.workshop_table td.item_features {
	text-align: left;
    padding-left: 15px;
}

.workshop_table td.item_features .details {
	display: inline-block;
}


.workshop_table th {
	border: solid 1px #dbdbdb;
	border-top: solid 1px #1da1f2;
	border-bottom: solid 1px #1da1f2;
	background-color: #ebf7ff;
	vertical-align: middle;
	font-size: 16px;
    line-height: 1.5;
}
@media screen and (max-width:767px) {
	.workshop_table:not(:first-child) {
		margin-top: 15px;
	}
}


.workshop_table th:first-of-type {
	border: none;
	background-color: transparent;
}

.workshop_table th:nth-of-type(2) {
	border: none;
	background-color: transparent;
	border-bottom: none;
}
@media screen and (min-width: 768px) {
	.workshop_table th:nth-of-type(2){
		border-bottom: solid 1px #1da1f2;
	}
}

.workshop_table .blue td:nth-of-type(2) {
    background-color: #ebf7ff;
}
.workshop_table .yellow td:nth-of-type(2)  {
	background-color:  #fff8cc;
}

@media screen and (min-width:768px) {
	.workshop_table .blue td {
		border-top: solid 1px #ffc300;
	}
	.workshop_table .yellow td {
		border-top: solid 1px #1da1f2;
	}
}

.workshop_table .blue + .blue td {
	border-top: solid 1px #dbdbdb;
}

.workshop_table .yellow + .yellow td {
	border-top: solid 1px #dbdbdb;
}

#contents .workshop_table .blue:last-child td {
	border-bottom: solid 1px #1da1f2;
}

#contents .workshop_table .yellow:last-child td {
	border-bottom: solid 1px #ffc300;
}

#contents .workshop_table .yellow:last-child td:first-child {
	border-bottom: none;
}

#contents .workshop_table .blue:last-child td:first-child {
	border-bottom: none;
}

.workshop_table .tabel-item {
	width: 156px;
    padding: 10px;
	line-height: 1.5;
    font-weight: 700;
}

@media screen and (min-width: 768px) {
	.workshop_table .tabel-item {
		width: 181px;
	}
}

.workshop_table .cost {
	width: 220px;
}

.workshop_table .face_to_face,
.workshop_table .youtube,
.workshop_table .zoom {
	width: 100px;
	padding: 10px;
}

.workshop_table .features {
	width: 350px;
}

.workshop_table .details {
	display: block;
	color: #222222;
	font-size: 12px;
	line-height: 1.5;
}

.workshop_table .num {
	font-size: 16px;
}

.workshop_table .cost_item {
	font-size: 11px;
}


/* 吹き出し */
#contents .workshop_table tr .speech_bubble-item {
	border: none;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	max-width: 192px;
	width: 132px;
	transform: translate(154px, -53px);
	height: 65px;
	vertical-align: top;
	padding: 0 10px;
    color: #ffffff;
}

@media screen and (min-width:768px) {
	#contents .workshop_table tr .speech_bubble-item {
		height: 75px;
		width: 192px;
		transform: translate(23px, -15px);
	}
}

.workshop_table .speech_bubble {
	display: inline-block;
    line-height: 1.5;
    font-weight: 700;
	font-size: 13px;
    letter-spacing: 0;
    padding: 7px 0;
}
@media screen and (min-width: 768px) {
	.workshop_table .speech_bubble {
		font-size: 15px;
	}
}

.workshop_table .select_item {
	font-size: 32px;
	font-weight: 100;
}

#contents .workshop_table .blue .speech_bubble-item.on-speech_bubble {
	background-image: url(../img/curriculum/speech-bubble-blue-sp.png);
}
#contents .workshop_table .yellow .speech_bubble-item.on-speech_bubble {
	background-image: url(../img/curriculum/speech-bubble-yellow-sp.png);
}

@media screen and (min-width: 768px) {
	#contents .workshop_table .blue .speech_bubble-item.on-speech_bubble {
		background-image: url(../img/curriculum/speech-bubble-blue.png);
	}
	#contents .workshop_table .yellow .speech_bubble-item.on-speech_bubble {
		background-image: url(../img/curriculum/speech-bubble-yellow.png);
	}
}

.heading-speech-bubble {
	position: relative;
	background: #1da1f2;
    color: #fff;
    padding: 7px 15px;
	border-radius: 12px;
    border-bottom: solid 3px #006bad;
	border-right: solid 3px #006bad;
	margin-bottom: 15px;
	border-radius: 12px;
	background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    font-size: 15px;
	min-width: 154px;
    max-width: 245px;
    text-align: center;
    font-weight: 700;
    line-height: 1.5;
    color: #ffffff;
    padding: 10px 0px;
}
@media screen and (min-width: 768px) {
	.heading-speech-bubble {
		max-width: 145px;
	}
}

.heading-speech-bubble::before {
	content: "";
	position: absolute;
	width: 22px;
    height: 11px;
    bottom: -10px;
	left: 20px;
	background-repeat: no-repeat;
    background-size: cover;
	background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjdweCIgaGVpZ2h0PSIxOHB4Ij48ZGVmcz48ZmlsdGVyIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgaWQ9IkZpbHRlcl8wIiB4PSItNDQ2cHgiIHk9Ii01NzM2cHgiIHdpZHRoPSIyNjE2cHgiIGhlaWdodD0iMTU5ODhweCIgPiA8ZmVPZmZzZXQgaW49IlNvdXJjZUFscGhhIiBkeD0iMi44MjgiIGR5PSIyLjgyOCIgLz4gPGZlR2F1c3NpYW5CbHVyIHJlc3VsdD0iYmx1ck91dCIgc3RkRGV2aWF0aW9uPSIwIiAvPiA8ZmVGbG9vZCBmbG9vZC1jb2xvcj0icmdiKDAsIDEwNywgMTczKSIgcmVzdWx0PSJmbG9vZE91dCIgLz4gPGZlQ29tcG9zaXRlIG9wZXJhdG9yPSJhdG9wIiBpbj0iZmxvb2RPdXQiIGluMj0iYmx1ck91dCIgLz4gPGZlQ29tcG9uZW50VHJhbnNmZXI+PGZlRnVuY0EgdHlwZT0ibGluZWFyIiBzbG9wZT0iMSIvPjwvZmVDb21wb25lbnRUcmFuc2Zlcj4gPGZlTWVyZ2U+IDxmZU1lcmdlTm9kZS8+IDxmZU1lcmdlTm9kZSBpbj0iU291cmNlR3JhcGhpYyIvPiA8L2ZlTWVyZ2U+PC9maWx0ZXI+PGZpbHRlciBpZD0iRmlsdGVyXzEiPiA8ZmVGbG9vZCBmbG9vZC1jb2xvcj0icmdiKDI5LCAxNjEsIDI0MikiIGZsb29kLW9wYWNpdHk9IjEiIHJlc3VsdD0iZmxvb2RPdXQiIC8+IDxmZUNvbXBvc2l0ZSBvcGVyYXRvcj0iYXRvcCIgaW49ImZsb29kT3V0IiBpbjI9IlNvdXJjZUdyYXBoaWMiIHJlc3VsdD0iY29tcE91dCIgLz4gPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iY29tcE91dCIgaW4yPSJTb3VyY2VHcmFwaGljIiAvPjwvZmlsdGVyPjwvZGVmcz48ZyBmaWx0ZXI9InVybCgjRmlsdGVyXzApIj48ZyBmaWx0ZXI9InVybCgjRmlsdGVyXzEpIj48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGZpbGw9InJnYigwLCAwLCAwKSIgZD0iTTE5LjAwMCwxMC4wMDAgQzE3Ljg5NiwxMC44MjYgMTIuNDQwLDkuMjIwIDcuMTAwMCw2LjEwMDAgQzMuNDQyLDQuNzIxIDEuMDAwLDEuMDAwIDEuMDAwLDEuMDAwIEwxMi4xMDAwLDEuMDAwIEMxMi4xMDAwLDEuMDAwIDEyLjU5NCwyLjg5MiAxNC4wMDAsNS4wMDAgQzE1LjU4NCw3LjM3NiAyMC4xMDQsOS4xNzUgMTkuMDAwLDEwLjAwMCBaIi8+PC9nPjwvZz48L3N2Zz4=");
}


/* PC,SP切り替え */
.workshop_table-wrapper.pc {
	display: none
}

.workshop_table-wrapper.sp {
	display: block;
	margin-left: -122px;
}

@media screen and (min-width: 768px) {
	.workshop_table-wrapper.sp {
		display: none;
	}
	.workshop_table-wrapper.pc {
		display: block;
	}
}

/* お役立ち情報 */

.column-box {
    margin: 75px 0 70px;
}
@media screen and (max-width: 768px) {
    .column-box {
        margin: 80px 0 80px;
    }
}

.column-box .ttl-01 {
	text-align: center;
    margin-bottom: 15px;
}
@media screen and (max-width: 768px) {
    .column-box .ttl-01 {
        margin-bottom: 35px;
    }
}
.column-box .read {
	text-align: center;
    letter-spacing: 2.2px;
    margin-bottom: 40px;
}

.column-box .column {
	margin-bottom: 30px;
}

@media screen and (max-width: 768px) {
    .column-box .column {
        margin-bottom: 20px;
    }
}

@media screen and (max-width: 768px) {
    .column-box .read {
        display: none;
    }
}

@media screen and (max-width: 768px) {
    .column-box .column-list {
        margin-bottom: 35px;
    }
}

.column-box .column .flex {
	align-items: center;
}

.column-box .column .txt {
	width: calc(100% - 241px);
    padding: 15px 0 0 40px;
}
@media screen and (max-width: 1000px) {
    .column-box .column .txt {
        padding: 15px 0 0 20px;
    }
}
@media screen and (max-width: 768px) {
    .column-box .column .txt {
        width: calc(100% - 95px);
        padding: 0 0 0 10px;
    }
}
.column-box .column .img {
    width: 241px;
    line-height: .5;
}
@media screen and (max-width: 768px) {
    .column-box .column .img {
        width: 95px;
    }
}
.column-box .column .img figure {
    display: block;
    line-height: .5;
    overflow: hidden;
    transition: all .6s;
}
@media screen and (min-width: 769px) {
    .column-box .column a:hover .img figure {
        background: #000;
    }
}
.column-box .column .img img {
    transition: all .6s;
}
@media screen and (max-width: 768px) {
    .column-box .column .img img {
        width: 100%;
        height: 62px;
    }
}
@media screen and (min-width: 769px) {
    .column-box .column a:hover .img img {
        transform: scale(1.1);
        opacity: .9;
    }
}

@media screen and (min-width: 769px) {
    .column-box .column a:hover .img img {
        transform: scale(1.1);
        opacity: .9;
    }
}

.column-box .date {
    font-size: 1.7rem;.column-box .meta
    color: #666;
}
@media screen and (max-width: 768px) {
    .column-box .date {
        font-size: 1.4rem;
        line-height: 1.3;
    }
}
.column-box .meta {
    align-items: center;
    margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
    .column-box .meta {
        margin-bottom: 0;
    }
}

.column-box .cat-list li {
    margin: 0 10px 0 0;
}

.column-box h3 span {
    display: inline-block;
    max-width: 100%;
    font-size: 2rem;
    font-weight: normal;
    letter-spacing: 1.5px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    border-bottom: solid 1px #666;
    transition: all .6s;
}


@media screen and (min-width: 769px) {
    .column-box .column a:hover h3 span {
        color: #1da1f2;
        border-bottom: solid 1px #1da1f2;
    }
}

.column-box .btn-01 {
	text-align: center;
}

.column-box .btn-01 a {
	width: 240px;
    max-width: 100%;
}

