:root {
    --white: #fff;
    --black: #0A0A0A;
    --brown: #6D3D18;
    --darkblue: #0064B2;
	--pink: #E94E72;
	--green: #01ABAB;
	--orange: #F0863D;
	--yellow: #FCFCBE;
    --font-normal: "Noto Sans JP", sans-serif;
	--font-point: "M PLUS Rounded 1c", sans-serif;
}

main {
	font-family: var(--font-normal);
	background: url(../img/subject/mathmatics-bg.png) repeat;
	font-weight: 500;
}

/* -- MV -- */
.c-mv {
	width: auto;
    max-width: 1000px;
    flex-direction: column;
	margin-bottom: 80px;
}
.c-mv__logo {
	width: auto;
    font-family: var(--font-point);
    color: var(--brown);
	margin: auto;
	padding-top: 50px;
	font-weight: 700;
}
.c-mv__logo h2 {
	background: none;
	position: relative;
	font-size: 35px;
	display: flex;
	justify-content: center;
    align-items: center;
	padding: 0 0 0 30px;
}
.c-mv__logo h2::before {
	width: 35px;
	height: 35px;
	background: url(../img/interview/icon-microphone.svg) left center / cover no-repeat;
	position: absolute;
	content: '';
	left: 0;
}

.c-mv__list ul {
	width: 100%;
	margin: auto;
	display: flex;
	justify-content: space-between;
	gap: 0 20px;
}
.c-mv__list li {
	width: calc(100% / 3);
	height: 30vh;
	min-height: 370px;
	max-width: 297px;
	display: flex!important;
	flex-direction: column;
    align-items: center;
	border: solid 1px #EAEAEA;
	border-radius: 20px;
	padding: 25px;
	box-shadow: rgba(0, 0, 0, 0.15) 0 0 8px;
	justify-content: space-between;
	margin: 0 15px;
	letter-spacing: 0.05em;
}
.c-mv__list dt {
	text-align: center;
	font-weight: 700;
	position: relative;
	padding: 5px 0 10px;
}
.c-mv__list dt::after {
	width: 40px;
	height: 3px;
	background-color: var(--brown);
	position: absolute;
	content: '';
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.c-mv__list dd {
	padding: 10px 0;
	font-size: 14px;
}
.c-mv__list img {
	width: 100%;
	max-width: 122px;
}
.c-mv__list a {
	width: 100%;
}
.c-mv__list a button {
	width: 100%;
	text-align: center;
	color: var(--white);
	font-family: var(--font-point);
	background: var(--brown);
	font-weight: 700;
	font-size: 18px;
	padding: 3px 0;
	border-radius: 13px;
}

.c-interview-title {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.c-interview-title img {
	width: 100%;
	max-width: 122px;
}
.c-interview-title p {
	width: 100%;
	display: flex;
	text-align: left;
	margin-left: 30px;
	background: var(--yellow);
	align-items: center;
	border-radius: 20px;
	padding: 15px 30px;
	position: relative;
	font-family: var(--font-point);
	color: var(--brown);
	font-weight: 700;
	font-size: 18px;
}
.c-interview-title p::before {
	content: '';
	position: absolute;
	left: -20px;
	bottom: 2rem;
	display: inline-block;
	width: 25px;
	height: 25px;
	background: var(--yellow);
	clip-path: polygon(100% 0, 0 70%, 100% 70%);
}

.c-interview-name dt {
	display: flex;
    font-weight: 700;
    position: relative;
    padding: 5px 0 10px;
}
.c-interview-name dt::after {
	width: 40px;
    height: 3px;
    background-color: var(--brown);
    position: absolute;
    content: '';
    bottom: 0;
    left: 0;
    margin: auto;
}
.c-interview-name dd {
	margin-top: 5px;
	display: flex;
	text-align: left;
}
.c-interview-point {
	background: #F7F7F4;
	position: relative;
	text-align: left;
	padding: 25px 20px 10px;
}
.c-interview-point::before {
	width: 90px;
    height: 25px;
	background: url(../img/interview/point-bg.svg) top center / cover no-repeat;
    position: absolute;
	content: 'POINT';
	text-align: center;
	color: var(--white);
    top: -5px;
    left: -5px;
	text-indent: -10px;
}
.c-interview-point ul li {
	list-style: disc;
	margin-left: 1.5rem;
}

.c-interview-detail dt {
	color: var(--white);
	font-family: var(--font-point);
	background: var(--brown);
	font-weight: 700;
	font-size: 18px;
	padding: 10px 10px 10px 40px;
	border-radius: 17px;
	position: relative;
	display: flex;
	justify-content: flex-start;
    align-items: center;
	text-align: left;
}
.c-interview-detail dt::before {
	width: 20px;
	height: 20px;
	background: url(../img/interview/icon-microphone-white.svg) left center / cover no-repeat;
	position: absolute;
	content: '';
	left: 10px;
}
.c-interview-detail dd {
	text-align: left;
	padding: 15px 10px 25px;
}
.c-interview-detail dd img {
	width: 50%;
	margin: auto;
	margin-bottom: 20px;
}

/* 全文を読む　*/
.cp_box1 {
	position: relative;
  }
  .cp_box1 input {
	display: none;
  }
  /*開くためのボタンとテキストを隠すグラデーションの設定*/
  .cp_box1 label {
	position: absolute;
	display: flex;
	flex-direction: column;
	align-items: center;
	z-index: 1;
	bottom: 0;
    width: 90vw;
    max-width: 900px;
    margin: auto;
    right: 0;
    left: 0;
	height: 160px; /* グラデーションの高さ */
	cursor: pointer;
	text-align: center;
	/* 以下グラデーションは背景を自身のサイトに合わせて設定してください */
	background: linear-gradient(to bottom, rgba(250, 252, 252, 0) 0%, rgba(250, 252, 252, 0.95) 75%);
  }
  /* 開いた時にグラデーションを消す */
  .cp_box1 input:checked + label {
	background: transparent;
  }
  .cp_box1 input:checked + label {
	/* display: none ; 閉じるボタンを消す場合コメントアウトを外す */
  }
  .cp_box1 .cp_container {
	overflow: hidden;
	height: 500px; /* 開く前に見えている部分の高さ */
	transition: all 0.5s;
  }
@media screen and (max-width: 750px) {
	.cp_box1 .cp_container {
		height: 670px; /* 開く前に見えている部分の高さ */
	}
}
  /*続きをよむボタン*/
  .cp_box1 label:after,
  .cp_box1 label::before {
	content: '';
	position: absolute;
	line-height: 2.5rem;
  }
  .cp_box1 label:after {
	z-index: 2;
	bottom: 20px;
	width: 13em;
	content: '全文を読む';
	font-family: var(--font-point);
	font-weight: 700;
	color: var(--brown);
  }
  .cp_box1 label::before {
	position: absolute;
	bottom: 35px;
	right: calc(50% - 3.7em);
	z-index: 3;
	width: 15px;
	height: 8px;
	background: var(--brown);
	clip-path: polygon(50% 100%, 0 0, 100% 0)
  }
  /*閉じるボタン*/
  .cp_box1 input:checked + label:after {
	content: '閉じる';
  }
  .cp_box1 input:checked + label:before {
	right: calc(50% - 2.8em);
	transform: scale(1, -1);
  }
  .cp_box1 input:checked ~ .cp_container {
	height: auto;
	padding-bottom: 82px; /* 閉じるボタンのbottomからの位置 */
	transition: all 0.5s;
  }



/* --
intro.html 共通
-- */
.l-content {
	max-width: 1000px;
    width: 90vw;
	border-radius: 30px;
	padding: 50px 15px;
	position: relative;
}
.c-interview {
	background: #F5F3EF;
	padding-bottom: 100px;
	letter-spacing: 0.05em;
	line-height: 1.6;
}
.c-interview .l-content {
	display: flex;
	flex-direction: column;
	background: #fff;
	padding: 30px 70px;
	gap: 20px;
}
.contents07 .l-content {
	border: 3px solid var(--brown);
	padding: 20px;
	background: #fff url(../img/search-img.svg) top right / contain no-repeat;
}
.contents08 .l-content {
	background: none;
	padding-top: 0;
}
.contents09 .l-content {
	border-radius: 0;
    background: #EDEAE1;
    gap: 40px;
    position: relative;
    box-shadow: rgba(165, 124, 76, 0.35) 7px 7px 0;
}
.contents09 .l-content::before {
    position: absolute;
    content: '';
    width: 50px;
    height: 70px;
    top: -18px;
    left: 0;
    right: 0;
    margin: auto;
    background: url(../img/column-icon.png) top center / contain no-repeat;
}
.l-content h3 {
	font-size: 24px;
	padding-bottom: 14px;
	display: inline-block;
}
.contents08 .l-content h3 {
	margin-bottom: 30px;
	background: url(../img/contents05-title-line.svg) bottom center / auto no-repeat;
}
.l-content-bg {
	padding: 80px 0 0;
	position: relative;
	background: none;
}
.l-content-bg.contents07 {
	padding: 110px 0 80px;
}
.l-content-bg.contents08 {
	padding: 0;
}
.l-content-bg.contents09 {
	padding-bottom: 80px;
}
.contents07 p {
	font-size: 24px;
	color: var(--brown);
	font-family: var(--font-point);
	font-weight: 700;
}
.contents07 .l-content-purchase__buttons ul {
	padding: 10px 0;
}

.contents08 ul {
	display: flex;
	gap: 15px;
	padding-top: 0;
	flex-wrap: wrap;
}
.contents08 ul li {
	width: calc(100% / 6 - 18px);
}
.contents08 ul li img {
	margin-bottom: 16px;
}
.contents08 .l-content-purchase__buttons {
	width: 100%;
	padding: 0 0 10px;
}
.contents08 .l-content-purchase__buttons a {
	width: 100%;
	padding: 8px 0;
}

.prepare-column-box {
    display: flex;
    gap: 20px;
	justify-content: center;
	padding-top: 15px;
}
.prepare-column-box img {
    max-width: 220px;
}
.prepare-column {
    display: flex;
    flex-direction: column;
    gap: 5px;
    font-size: 16px;
	text-align: left;
	font-family: var(--font-point);
    font-weight: 700;
}
.prepare-column h4 {
    font-size: 24px;
}
.prepare-column a button {
	width: 100%;
    background: var(--black);
    border-radius: 30px;
    padding: 12px 0;
    color: var(--white);
}

@media screen and (max-width: 750px) {
	.contents08 .l-content {
		padding: 0;
	}
	.contents08 ul {
		width: 100%;
		gap: 30px 0;
	}
	.contents07 .l-content-purchase__buttons ul {
		max-width: 290px;
		margin: auto;
	}
	.contents07 .l-content-purchase__buttons {
		width: 100%;
	}
	.contents07 .l-content-purchase__buttons ul li {
        width: 100%;
    }
	.contents08 ul li {
		width: calc(100% / 3 - 10px);
	}
	.contents08 .l-content-purchase__buttons img {
        width: 100%;
    }
	.prepare-column-box {
		flex-direction: column;
		align-items: center;
	}
	.l-content-bg {
		padding-top: 50px;
	}
	.c-mv {
		height: inherit;
		margin-bottom: 40px;
	}
	.c-mv__logo {
		padding-top: 20px;
	}
	.c-mv__logo h2 {
		margin-bottom: 10px;
	}
	.c-interview {
		letter-spacing: 0.04em;
	}
	.c-interview-title {
		flex-direction: column-reverse;
	}
	.c-interview .l-content {
		padding: 20px;
		gap: 20px;
	}
	.c-interview-title p {
		margin: 0 0 25px 0;
		font-size: 16px;
		padding: 15px;
	}
	.c-interview-title p::before {
		transform: rotate(270deg);
		left: 0;
		right: 0;
		margin: auto;
		bottom: -20px;
	}
	.cp_box1 label {
		border-radius: 28px;
		height: 140px;
	}
	.cp_box1 label a {
		position: absolute;
		bottom: 16px;
		z-index: 100;
	}
	.cp_box1 label::before {
		bottom: 26px;
	}
	.cp_box1 label:after {
		bottom: 10px;
	}
	.c-interview-name dt {
		justify-content: center;
	}
	.c-interview-name dt::after {
		left: 0;
		right: 0;
	}
	.c-interview-name dd {
		font-size: 14px;
	}
	.c-interview-point {
		padding: 25px 10px 10px;
	}
	.c-interview-detail dt {
		font-size: 16px;
		padding-left: 35px;
	}
	.cp_box1 input:checked ~ .cp_container {
		padding-bottom: 40px;
	}
	.c-interview-detail dd img {
		width: 100%;
	}
}

.slick-prev:before, .slick-next:before {
    color: #713A0D !important;
    font-size: 40px !important;
	opacity: 1!important;
}
.slick-track {
	padding: 10px 0;
	min-height: 370px;
}
.slick-prev {
    left: 0!important;
	z-index: 10;
	width: 40px!important;
    height: 40px!important;
}
.slick-next {
    right: 0px!important;
	z-index: 10;
	width: 40px!important;
    height: 40px!important;
}

/*
.slick-slide {
	opacity: 0.6;
}
.slick-current {
	opacity: 1;
}*/